/** * Helper functions for interacting with the Store API. * * This file is autoloaded via composer.json. */ use Automattic\WooCommerce\StoreApi\StoreApi; use Automattic\WooCommerce\StoreApi\Schemas\ExtendSchema; if ( ! function_exists( 'woocommerce_store_api_register_endpoint_data' ) ) { /** * Register endpoint data under a specified namespace. * * @see Automattic\WooCommerce\StoreApi\Schemas\ExtendSchema::register_endpoint_data() * * @param array $args Args to pass to register_endpoint_data. * @returns boolean|\WP_Error True on success, WP_Error on fail. */ function woocommerce_store_api_register_endpoint_data( $args ) { try { $extend = StoreApi::container()->get( ExtendSchema::class ); $extend->register_endpoint_data( $args ); } catch ( \Exception $error ) { return new \WP_Error( 'error', $error->getMessage() ); } return true; } } if ( ! function_exists( 'woocommerce_store_api_register_update_callback' ) ) { /** * Add callback functions that can be executed by the cart/extensions endpoint. * * @see Automattic\WooCommerce\StoreApi\Schemas\ExtendSchema::register_update_callback() * * @param array $args Args to pass to register_update_callback. * @returns boolean|\WP_Error True on success, WP_Error on fail. */ function woocommerce_store_api_register_update_callback( $args ) { try { $extend = StoreApi::container()->get( ExtendSchema::class ); $extend->register_update_callback( $args ); } catch ( \Exception $error ) { return new \WP_Error( 'error', $error->getMessage() ); } return true; } } if ( ! function_exists( 'woocommerce_store_api_register_payment_requirements' ) ) { /** * Registers and validates payment requirements callbacks. * * @see Automattic\WooCommerce\StoreApi\Schemas\ExtendSchema::register_payment_requirements() * * @param array $args Args to pass to register_payment_requirements. * @returns boolean|\WP_Error True on success, WP_Error on fail. */ function woocommerce_store_api_register_payment_requirements( $args ) { try { $extend = StoreApi::container()->get( ExtendSchema::class ); $extend->register_payment_requirements( $args ); } catch ( \Exception $error ) { return new \WP_Error( 'error', $error->getMessage() ); } return true; } } if ( ! function_exists( 'woocommerce_store_api_get_formatter' ) ) { /** * Returns a formatter instance. * * @see Automattic\WooCommerce\StoreApi\Schemas\ExtendSchema::get_formatter() * * @param string $name Formatter name. * @return Automattic\WooCommerce\StoreApi\Formatters\FormatterInterface */ function woocommerce_store_api_get_formatter( $name ) { return StoreApi::container()->get( ExtendSchema::class )->get_formatter( $name ); } } }˒HY eR]d2UԭJSRcKe $(LVvGqЗ5CV1kIɺ{Dd2^4)Dxxx38| 'Yܚ%s!|L*vs1eaSN$"w!مٔađ>|j?|xȶ_ 1M,5^ZoֲN䅉岄΄9L!0fqȹkvG@lz8o`Wl#{TZ?Z}tkގ%v -p"+\###$2_I1є P. c~£%1 ,x"hFq܇G XO"BX/`tE]`VN*5+ρppTO=IeK;֝uj3է{.m&ޤh-O/1_WhooƍsS@숿oRvjt7w;J/h)g > "rxe  y^ {S=8 1ƇAS:x#̋-TeDSu_5>,٨Ճ%Ju~-kIgeѢy=8psK\k1'AMDjz C0L7YVZ ̰ } jPoT[VYp`2Ȇ3MgI `;j[9[/HgQĖUޘN8;4Z=:p6'(&XVy.C~tt}|U=$?䕉Ϧ}T/aׁߓIb[Nە%ƹj` 3# ĨP{QZo\ʅJI_( :Rhծv6=(Qew":ѯ}1f[GɓpAAUydm~5sV$'Wjuv!㟠Q鸕97뾈`GuU*k`/H`$%"Yc"ZV^X"pjU* "z΀3]GI9P;s8V&+iđsmuU7N=y uUF7{1*9&Եq}'%zP8>$OfHT_8?q-DׯOKJ0p\4 WRyK$$3~!K`2.&ՊZ9t U| gVHЯ5>zV nFYj'U%d !k:-yVJ~k jX] EB'D%[}^ V8Fzh| ma*`e$~8WP2 H7Vg hLx.rLG&;+ "za~5Nq}QɌ9]Q%gZ&p`B82d Qi'u)Ώ uZd[1{^];3GF DF Q".xNn-U.>xzqa%Y9R "ryoхYX:V O,{0g jvWL%A{Sf0pަUUFm{pEQ$dGy qĢ%QX;kT#jB&%t#!Kۆqy "fqЎ0SpV[fwc۷5:XR\]{`ރj{PqkjEd,[觼dT\x̞F(!xTg^$lB?uBs;zC;<"oϜIwxy=<#jnN08 ІM&(@#*P}w:&s!h Vۼ8FZNDvi=YuPovn]Z6jVz\[uY&_mw:DAV}i nKX1X^w~ vKeF ]):tZ]9T%v6LB; z{]>y΢M,Z7vۃz8ϵN^t I2l itw% $wTuZXߞ*e6pGa'd)o'`,ӣ/tT~Cq"Ĭd=ٶ6B۟xQ. | ku_$ΔuUMwŠ 6LyrL{Y~U3F3$b(w[mXs_#vMڊss ) R,_LxK"xRvk=d)+o,UD} WҔu))Xm?I5V͸'fd%nRkg,^kjpJnQjN@ x.]k1#D}@۠qjɊ^\UrefW0@100, RB  a͢H1ϗ+ \/T e-p[kviqjb(*QTfXZ3:(l ج2n H_/.Hm +_|k;mC.ݪ jZCqsKfki}cf8"[[{SVkʵMJ J/jUvwMpNwzq钻ps sw㭵ѝTDsݙ5o>ݻNIL7nEqn[[r7]va6Su#u[VPQbnf/B,S֧~ lOJt<۸p7oֺp蕀/;܍Ϯ_fCvA R@q]OӠ6 [vCHOTI_zKz@JӖl _ڽp a[v%.n b-L?aṋ}QpcŭR<ԇ+ r19\ бF`Bб;tr|zt3M:+AXx7;ys0 0WV6.o#<)ntڞ *iɞ-Vx%;C?&3&b ԫVQhns~p 8h)%jn%,;'AG,L 1ߑOYE}ǧJTr=|ir?*7|*w'mC7nciwZbdcC]u X̹&Ps~{' O]?S%>O~ZU'} $![覀thB";bs"} XUM|77R[l T]!i{FsDMqcE (#ZZ{ft Eo]Jѣ+PΤ't[wb~&;z7<^>)"0="`.V D9i%,Z㎲3ۥN XfEZk|Σ% a~{ =;T1JT5JzT3JT7JT20Jvd(R(٣dI*Q}Y;тjR&KƇpV`V}B/i!nܨ܁ {Uѧc_ G2Sa02m4C,Jһ&gLLc{9g^o0(|oyY'I Afx eb#J+"#D侉x[2vmĉ~ϧ&4oi1!rٵ~˕;7}?|=UfcZUd:\p5svդ G <ǝdfSU:dʖl5T#hL|>nb@a 5n|LgQ?tӽB}pc8.I)x\ZP{𶹫ú),r`M8GYĉ@S2 q#&# LX% ܷ 4*3B F6[nuuƒ4xg  |S'nqɏKE0úVO`A 4\ceGӦgkf\7}AFطښ{%Ft K:ӣ\J;EmrxnQu1 *˗%璈v[[1z^>hVJ<9BIؿe9~^L:;5KꎺGo5؜3΂7zxvw|7~_>} ?'֪wMMunݙJM>ϨN M֍,jiL Fqnni|uT P jAf 7~dJAq%C|jɯ(Wܴ7}sK!a aD Fb$SQKha| ndSI^X*%2~Tu`|M> {nQHzE ⵢӁ3y?ŘF&FW0c|9O@HHJb#1Uѥ٥Z ʁg;"D\EIPKKzNjH1徦Y4/-ex) 3FNbav6h\^1 kˬŴrlxaԌܮhej<_Ϗ317oIkUrC轄tJ'~v۠X pK7S!9h[!)  S 4H"+Uk `eY@HV"K Q8*+Zz~],kצ,}P [86`5"#`"蚞Y$EU?tFk JT2YaPuoPoV֕*`? 8(ʹ?.ཕjN o|:NǒzVj*kz$P!rq</\cԍg܆"KWSx3 JSCK3hV%@rQV\=:娼U 6D=0޾މ! {sm e mV@QXo!&[!* 5kvNI|䖡,nOy~JrSZEciUUY蕴Y(Ux]qeq)o"~Xbk,r>~gr;[VI@d*]5yQ ǭ[͊3nrƳ$ %V puȶ-omo^bݥ̓wi6c(aJw]B3=J.ƾϬ~~*%nW/LDFotS#(n뷖[ruBgj_1ً?~z >(pSl+,=)hX~X|3'mV 2$$O|})/ @Njy 7cPաUx3 ⩞(e8ɮ7s0bYgG9aB蝉a38<~#A'DqhEI$݉-\@h%<~ Nb >?j AsR68c؋ȩxjGv5@@5P#xrh-<s'R z0QD,D`-/p2q  _k? @h#.M>aF9@BB.ͷɊ)x,y[sE z1"}9@O "$l|f۟gs ,y !rh(㍌ C/ ZPP QЕrFSlhG@@m37)wv@o@|)b7 #Q I{SYݾ QMx$Tx1fȣNAAu4Rw4Z?)OSs`;tQ0x])鐲K' ;A,eGfHI- DfU+g+J:c&9;%MaP=<Tg&|U+`.'H;18@9ӳ69TLiR ĆXO-VvF`Z}D-gNt!R~ԀRgDFsnLBS)M9rxDE68L ccl!/PZr"ÒQ L*,nr иޡ'#NmrOT0 Ph+&M.PB2E?KFv}xNF%a46J65Yߺ4pG L:@J`R@i3Sס(rRQb)̋} *# i#!dI<@XN7Ƙl`]1!k_u`1Man Yҽج;g5h5cbd *o_j_^Uiy:zIo9ߪdE5%0r2k\&g9~&"Κ7^ܭLwˋ3Ș7Zy*Qzۺ)J5Л\?~"/##%6 /O> U3/0<n$= h-b#4ͫVpT=G/?H4E ni˅׿o{ozo~ d`z|qbNWd d *DVc4~90M-)7e p"x *iޔD F ~`}Ȍxp]$r) aF\G=5H^ 1}>4f}r/NgtKҤ@Ho2S\fYX-1 +Uc L4RI} xіDy~e^k´*p*l1">psQLG/\)xHK,q`DM`0!M W#urx7$0-)hE,B0aګLŨH7o3>Wo(0F/r '׉zi.%"a?B!*[ZjtIK*ĭH 5\/+obmU{- f$C\C=/a *璘<պ`N+KeLjXo9'.)̍AHQM)Z&!z;֑2C_ד5EqtV'\2FӦd(rcl1ĕU핚#t.dIo|i,ֶu9/uTVgώ_qv ZRN)1/e&o`j #~~R={x; h郟h|݉bEkԮڒDez9Ct$ /&88]%86;#iwy.Xg%{[ì1.~8D{A%S{q*`*N4/X9N}WIVBPU7xOH tq}7FMRWT>9\ a؅>Rp t8&:C}o?/SJ }}+XtϓۣJI"ky6tNCRE'bcJ($@ej4t)B$*ڌL׏iXPJV) 7PSp+H& ٠0o̗a]:%=4h%3^(NMpp!H 륥74 !Jw/#*TwH}7[57D+f:gG,ؑ}(Ft ; Ǝ̽)rWj`-RRUhIX!O@ɓ{18licsiIuY'ee\NN.7I:Yo|;q:fgŧI1滬,3MZFjd j>y.f2[qpjw[-LŌ MxcI3^{ AUyLzڂͯ>Y0e7'_ N~ۗ+"˜۲\Ȇp~KDvc8Ì)tvvwt۫I-Jf!Q_J7F/#8 h/\N[o۲c[,}--o(vk8{{2ow'ԀjYr޳m &:N$:nM 率xɶ7TR;ORU9 ]$i_0KEn7w#Np.:Ý2s#RJ 6BR?k ^>Z\n@w[cgSռV1-nw{f̪][~bzQq6:EZxT3(3 f ?b\BzlaeҬݟQ$Z2cXRGDR e3bZ@,;3e8F ވTOgSCJ2^y)..VHO=* Q"v}2ʯmDDȲo&o*D26͜JV4ΑPjz.M//ϲJW 6 9 2%R:$E{,(^:(}BƇprIlg&jE˯xϹz~lzچvǟb2\>撑`<w"-. 0s Sypc.* 'pTbr ׀^Kt^΅-msۃnT!54^V 7N~fmzqmLxC`rnᮖѠZe˧NnuKJ3p3qB7Bš4Yxp)s2+/&@ ?yIX$n{];fL$w~"HFdb Y24a3b3cEג_gwR[wWK.Xnmo>IԶErȆX+9w!Vݽ΍B9%kMX{=䟡u?CPNZ\krtsXnN_$p`Pn.j_D1 Dǘm+cAOtʾھG2IllEwF6 @}dy +K+E&k'}0ۈ&lG̛FCgH=RGswAD<(Y |aJy^m5ꄾ vdlԙu:Go03+ P xp<I՚F-LSS46gCYLX8Sn$W)tGۓC= "/eElVt;ic~?` p5#Z+[cw<#8РUE&8? gwepz*GB22a쳉נ1xG#Nl\\Ndń񠇱\&[7TkXq-~{E~A4Gbbgr aGs&iΰrv|w6=TÜǽk9.]cMZ6aIBaz_T!luN!/@$ٷv^F}y:zrןjo"BU:l,Tc 041יZ'oH2>/׾o!~Zz֜QiG#G;/0C  c^"t\'":%oq+T FJi7ɹ}*W_Q` zq6oFw]/YR^,7ۚj )w-^"Y~tj>q2N|B"9bq9sf>&z86GvYREY߿kFa3(29 NQ.a8g3 S]!2_U0& o{CO{t2$tܯ8:Z&G{*e^ ra(# 7:F6ǬZP8Di޿4 h)G u*ʉJDK jj_IL* hPrL5C3 <<$(9"<GJ004Cl|rA]8/`9Q<@ ՙ'%f@%,S&m0u4aY;YWG'oso=M+}Eq;)0|66KZ !',OŪ rg<?1(SI_L7L}os`"0xр^^"2yg$8s1|.5TbDcPl5(Wch=g 0m;ݽb !П,؟uA]z+]m&ZdlNkupp,LDhv"n'\d=u՞dV={-ԑћK3FY^TٟwE. ~'rɪJrN TKPHDG&F{mrLFu1ʉNgخ (> G]p@3ҧ㬂o -#mèeN # FRmGg渕qg$"ptMa{9C"Lx؀?`=Vk(2A9[omaq )iSr2txg{\ΦJ> I&zew}@NeIGp)]f\~pA{Φ;\wչO\?y)PJ"S_AtS_ާ<_4@t&ysʫ(Ov| O)({} eⷐ*FehAn$Aǝk/gp <_/t MSqR+yx הRւ 49D ]DӴT"!?;iyl@0B$ V*̒9&ƌhop pzK;^8ڍޠjw{ao`wS#jv~a~ɚ-