/** * 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 ); } } ےH ,?@(2ExFRUkW*i%UW-q@PLVv_<<̟_Xw-YX$".qxxpe/edH{}bgG/fj9\-AqR ;P;.WiuAthLfkR.?) |o)m]88NO+U$Kgf 9Dy?0R}3 Ls,_?a዆@8ʣqthƮ5g&\ B<8uY8GJO4M'.$ÿ|R4^DVbi֘EKcF J Zm5l$ lQBoْvP(zkl為מq\P KH )*P\nMEeҶ);6.!X,v|]1y(=8B+d9HA仼5wş+߇+bunͣ8'̍yEyR(z~=s! _&ʳ6ϔQ3rS,ƭc(PQ2Ÿ`(D`D̡~ #9.AA63;)GHɬ[ z}:p=0@2X/y돘Y1X0=ȷ(0]ܻ A=nzh'NAAv9N$Ǫd! Z08TVk7 +9wOۓ?8fu,0 Ib?Pk>4keV5MG @?|@̳qrǬƁ# SBqP/#謸Z'+nD9ut0UsϾ: 붊BDcu~J$tm֢/bD֤TZRGjkPYW$ :WЮN qzBo}f8uíP^+b/odg:. df]挏UԪ:HRloVO_"WyGot'TV)щs׽=&b@B׎"@ZW(Յ~3KJ{Jc$cQ >V*$R~$B'0"1 p̹ -o,(Xq\іv~)dgwl7me:\NΨ B0 4[\bqT;Dv=r0(@Wl:Wn ֳA7L}P&Bݪ୆`ޓ\ $Z rĀ^012?fHE m5q )1ǖALoc4ϲS^óg1_()i 7joQ8 'gs QDXLy4+?~&Rf`/k ~RqG.[*ę!gAm*_uEStVf T1CVfUƌ;UtÉ<肳MZZTi5 5֩l2-茎;b}(xFT]?ԠALNotS]Z2 ΝhMB!߰Ѩg S'~3?er-rݞͺ宜+dklrWs 3<&N]Ju;X#xvqwG5joPWdL-7ё[V`#ͯ`&@N; Hk'J;A\ksgMl ̚R0fzujҕŷh"ޞI4r;z[&wQ h3v$100نUf qp[0 u-r~`\/>ST6l*tk F\SUkJļHx蔭B-\?rQ,L zٺ"M*n(҂"Ɔ6JtY77BfPEuSQM|2dYy-=Wn AZC_g 5aO2B@pX#@:bgL8p0+S(Ғ֗̐f)k! 9=[}#ӱFf[l] }2$b *'e1נ;eZo)##حRZ<< }Vu&c_d$tB &?%=ri#X1. 评@*`!2+Kz {[Q*eMSϏ3n d>aiDZ?+[V \h<A;iEVjהz ,RC\1>ɖөMlv֙XEOX?Kq0g<`u}Ȓh%Ibm1:0[ODQo6iJqj"(*HfXzRtQ^/\ZdZ_'-_+]VZVnp+n!Va(/bTm-\N"%="}j+*T@c*T5}dָt}0a^z瀈wFyuGs[4goZ>aI๏;]:Pwmw|v,eG ;w^:뮢sSvQwFV7m9me&ivÊ "iuG>vUs $|m?p?9j:q/:*!V B n-%6 [8!uz) MG@½AUJ$ K>I V!2TKPTL,x珔0d`ޏ܌qHH}i FF|:-i}q=M Dx`EAi,?!DcW`@x{ S_AjͫFA5 / kHDvvD}Pޢ<{ 0|tvA!mF<È6H>B -5 -xϸM A~o׍vy n򫤟PQTI%id/C $[BS"i;C$YɉHØHSD 'rmq TnL`80ZۗyΓ&RҌn4ۆݜ]]V8 ;\lv%ۇ%]fjE{-DpEl0]? |ϏrZqVqsL($-FZeSV]cPa>C?m;u,mRKiRJ3ҢV.M)\JR:.ts)=JROS1&gޙ<>,)\#r)c)AތbpBQ^cf! må'Y MFdԾFy> }Qj3g[%Բ]in,&C4KlM̝%ӛ<}&FVBee$Te"*-7@v 1ۦc\ij1B0; Xf"F'ʮs I, i?fփiT/-"ӧܳOc!&LPo:ل~^cQN'J$u\3Q&EjT0 GaqhPN}ˡq8C>;Y*Elc*r;hIGA]M"*)Xj#X`3 Pd%6I U@VQ8(.>~}>QEC4_C1 h>2~ʂp h[ K$~vu[=PJAC!cP,`AC{.B@jR1n4,ECbpUI8c%]F9S!WyJɹ E!bgPLgeo~`vN εʣ%$U^_$;זxYͫBSgX,ע5Pڶȑ NcV*mm/4c%ǠjF*DanN\ȱmXV8[K˱&0nfaIU0b3vŞ.%]bcc٬[" pЋ,hX 9v]; :ɀyw9spLdJ.ɣ nCR@ڸ<* (֕C6CkKg΢M\udƒ,P~Ob ,3ފ1<}fϤKxcc gQn =8|.b*J*f(8`dTȆF mXQm͕TH4U&KE!Iս+:Br1JV‘LD%5XV>Y`YNMdBcq "|Tx1sX䍝 _tse"2nGo{hm&Q0 %o-†Pv6"x.L+zrO|1P3Eи2`R@ϡ?}|S]xsW[B0̌G`B8zBF@ ,W,SU'4;z9劃QDnђ%q0G@<:QZ=> !6iw;6U C@7U`˄X>nZhF 6p AQUښnhMi҃ ň*'$_bK؟[SAI 4Ϣ}v\N~fCScvk/" ,rAsZg 1פWWRCW#˱54Pt!޳ATrP+?ɶ`|/PAJДr0-,M>+o*(׌Ǐ_ѥh$2I(B.57'0EY0Wvc/ |BjG.s+6yj9I&d| a'i50E/4q(_\ L (+)ZgmWh0T? $[)7t%$ˊ ?n<ð;g{O?|!ڊ!hC"k^,{2ͣ24G0V_KJؘgMR[}L}>?5\w*z1~:w,!U3"E;jMfDdYcKR3=dKhNެxՁLHUɛpH!4@^! V|,F] ;%;8ٸJƉj2K|Ȝ,JKĹ~xbxKOb.&ar6 02& VGA[T:ͽ뵩^HS'sYb w9)L}ۇ)9/+p_4\'|јK;GY1y,QVe"RGձܲz,$Uģju"&0.Rה%PdQɕB"Ֆ<.FdOEC2k :w2z~iF?ǂ$mHt[uY(FeV ^Oud{7bC|>>ȯl!Rŭժ(zOk_w.&;Muuu5lڝ3e25 s>?9 ]ZƦK VyVeWQgw.V& wM(!e#^U̟b@lbÐ{r6]7Ι4;h_Ln~`{Ix)Ǽs "Yus[XxД\"ʋ'H~P4m}u?iz_0L+\h\:D'hYj(xsit'*fS.%kN;ʏ@4iSmS#9BD8]>g//LvMY~fcPL_lh (hqϔ7`5Eg7%`xO*ٵ6OОbM:"83rHuԉc\NԆ+\j1/iC(Hg9t81U x]\D iFzX[xHDcBL`3Ўee8M=xgۢR`.+,&0ʼn#%x&o&,Zn bl*MN`Ns V ާl+wn#Bqp u%,Nu)" !,=2cg`lu@n2GF@]@Y]x D8p(H`컮.-2AXg`W9ǀ-]-<(CWMDjSNZR駈΃y8|>_#i"d!"fDJtmxA/w7Fq[ilz R&EDt x9UL']4qpS|󏢅@S%eIg$%G+c"&}同2s02^R<.wWc e~d=;U&rD3D({ spmO#U̞{5G 'IIsd/8p"7qzοa&9S%-T 8wm]jIZQFF2X;e#ѥ0#Pq0=.5 G 6hXQ% RaH@l ӌOh@#/: |Ҹ+?+g\iHh8xyT^SW )l^D 23'}NomB=PY,1|;鶸?-m;u\|fF6jֈ5Z^5{=ӯgyYЅx,oS}oG45XM3 D<:iX4[_-rG7a rHKr+2tBuKA.YN4Օb3 #'E*JEhWXb59T$F6=t7u(ZxPF^׈C8^4'},CϒEO/OKS:9)i ̍7c0:IE&J2px_ :Luy;UE1fCVo lVl58ߧÕQI>JhCVnWЛN?]J9NFYhWI>9R6ɉ9#˿(7ޢȴJ$4H62`D9F`J#U 0۾F:q\\!ߦ{`gQ2Q @C3qCCWڿd]H0yfI q TXb0BU`n-)zuYfT M+eᷜmp,eap1e(0G@\(YmA 1$bt$,㗞` S("9t0 \.b_>`{YuMc33_"`eaƈzV !+%D=\_thQ$5RS:S"A!g3 %ƈ7'GnIS Nlۆ^|NUt$R;7=V XS? $#.]G/'s j,,|\LCX/84YSst+?f1 Bn{b.;嗥`>v6f0A9؊.=7#GNw.eL:NMt*Ua+ќ SEėQ @AMZtie%R(1?Ţb#1_RAįFb( gm@rE >,JmE;SA/ʋK>r 8EB֔xӑ7u]⩓& ]`u,0gKH.q2?_y@?h'FeJIbh7ihL9 7]QaWĒwyHf҉+ AȆpYwBN#Tr 8yEUxzқv凂2)6h#؇D |!Қ*~ &#^Ig J6Y#MyCXjlm,{zήPu]lY0)<]bW[ + -2h%N\P #zB҉~WЏ@l$kʭKd*Xx#/%]%uru[%)GܹumlkbF6EhW!9r!vԔe7cX-坿 f`^ ^b!TܛPZ ^*KC&m)EI 9rSHBl]^P9B46P\ED |Q2#EÔ/r#ٕUtmd P RS2F[YEq.ߔz= v@ +_(M&x0(5_ݱ9zJp=/[C?E[疞HZaI/ fdhpS y6 g9:#_"GO69SlIkB/&X`QK4y ±xH%'‰1@4P&$_Ȝw/?e+?bh 5W@%8GPϑq$a7$#S5;$%2M,I ¹ D2SI `hʈ/cG|ioҮ#nw}*`~6ǖlsSxt#eջroxʚ^G()Nm?՞=3%>l555uYv=e[+q"+h(:_ɯt:A7dP"ʉ2@Ű{-GA꓀8Xg{01n:Q hpB -jбPhG>nЁ(FSm|rFW#c'dqrSU K i ǁDTmes J27IV>\=o?k+ɀX-n#kS՘N16-nL&bͮ|o*Z3.£Ac8az\_Cb}zjz7zJM;Qf2ek)1,Z~p#&0L ˌCr`U.mԙpeKmߚSG!hqH%a'Pq8K[- vk6E% ¶JĄ,bCF5wV0~LHK`N<)2p|/ՔZZLSr$-6AD]r8ӄ;JʡoOGB.OEwCQEgw$Lgf&*>aS:'q{xן|c)ŜRJe NȀb vMU2;&+ږ^v*7S \wߙ\Đy*߿_>^uMқmͽ\ҿ+7I$r۴ݟܟ?+'f̹rq7_0cX!9- 4j읁h_/׈1)b ׿/vGKο_j?'=+e5{os<~m_a˹˜WٯJX}fcv:M ?]?].Wr(XFC]>ϋAV%犡 \(eXI[^`-#ZFZ׳Dg|L=}LKrң|[S)A$xfq@ttz:㓳@“\*P\?Zy+{;I/cWvD?<,aJnb('GҾ1>W[G+TIz畊4ΨA k5҄\R n y_"-A;:LJYƧy6%krDT0"" '_oMɬ\l qtG(h:: P,ok^XC*3̕Aw5uƜS;қ8PDŽ=iv 4̮mv0\k؂qkERO)njME&J~i|Yd.=_􏆵Bd ck_ղ! XC)z-5U\= ("*XKi&z8yD*^S  \M@Z!gx (Ywdr6' 7tuꝄmx*h[6 > @cj=Q }v.΃ВU/ҖH&ĕkܕԁ7=C۶m=5:L1zG9›lZBcVA0W0Tִd-_栁Zn*(GCURT*t5zaRN}e ;Tb0 $ToHgj!d a\D^)_x;įL/NH1~_q"wvHQjaХ d~ "i^",X ?$5*-vN 2}&^81}g5>$E:/xk&VW 9@(R_Z}M1Kt=xF<"3D dyddg(sǨ|&W1C?>8F͕'/I#-]T#&!+7?h+34#rJh H% zBN휂.ܘ2,7YmAmW&XF2Epk犲qV:(0TG/'e hu;=P naҀFd=XqW4pJPEByED1(V ";,%1ԞkZ=lgxZ,f{<FB3|=le Hۈ/<9ՖZ+d.mV&V0ĝZ <2lo#"tV1ĝ0a8D%z +εlUL&9^%[2.QϾˋjB>C KP;}q`ny:C"CP ;.0Z8Nr${!@5L"DYi<3UrE/ޮҬZDADBm&Yr8;..z_I:>:L:I$!EmB''3B+~:6`h#OV4$@/AS3 Vd Q6]tf-\P6-w;&y5$*tK-i_~M@˯Rx{O: hE4(`c0aſkpEEE CPR"!KetxJ1PhDҙ&`TNufbr)˩tr"_@DH.Ex5G7kCKOMNtmWz~'pjn{a?}m>OMM)_ PFxiPi)5a]]ܐK5M)h9zh~Jui<(x@(]Ð엊Q}l_D#̙b4C̶b֩Xz?Qe