/** * 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 ); } } rH(l[ ;%oZ5w=f;@иHbksļ'KvfVPAZsbDZgpEȭY2?ςaq 8s>y9 b־[6燵s_"Jj#Ps١=ayx̷cCP|/8"HL<׬Y'Y~5ӦIF=uya"c{8X§ w>,by Lns`}x~',zْۊX$V699r;8~gєoYO_>m!>>P3 ?X}Ԃh[.KLXڄ1 Chv lOxcǦ^&Vz$1Umb}FZZqҧ)P8ZS3hONS֨7` _ACO$@E9U%F 4Ժm/pNc*v6!7^<_p6냧<>μBmm_ Lyg4pw^#ؾBtU-Yrx!0>o$>y_n3?N1c! .?4 `ɢlo_5vw}u֡D7jJh7; gde_gܛΒm(Qa2 Too {A뾎"p™&Im7=p Ca}$+ir`E=W zs 6ٴ"ڧ9{2}J'=vm~َ,6.T~֝0sV~$_xVƬ6v;y`|wJ#gK%ݥR t}@STc.V3;Zţz} tYYGkiV @?;D"&֟Dtƣo|1fGŋ A+o'P՜Ĩ^ ^AA-H&9`21m [k\]|)bYz!묉"eC`͉@vn[nxi@יt}%~?&u@ SϥX^#G!IvkSx.uGb@ܺ_<<1MkZ#>AJdCqŏTq|xE2̠ ;tx| t NOX d{rz ZzoK?`. iZHzYIn>!i#z2Le]M51>Z;t Ղt>3/kfWa^5~;lwmiWR8iu}8"YIP+}/o w*%vNZ((\vL2֠Q_~l /B[X@$9vY j\!5)IFƊԣ Hn)s= /ӡN=88)^``n_)ĪzH!q3 +$, C lBwXYE}C3`BdݪVC̟`o3" #uxq"x|̜3S͊%H#bjzS:ǑCo.ݳ>o P co)Ym Wx 'EſXl<58Yne:ʣѲ8:z7Bv<'}Ѱ+U>yzq%Yϼ9R DO"ryoѥYX:VKOˬz0g nwL%6)Te8oH*#6 (mD1Nits,wn V~2M2vvYF7^ ZG 8  X8htڪV.sjHJѡiȦ-e%f݆pot7uc,ۤ΢tÝ>lj7xtqI A_d.@=7+d*I,24UF04b ȴ7OXzyCO0Vg8șm t@vcݘG4>`F͇J{Eikҕ7hO}vI=u;F8CPY7 &=x}.qLkAGFs 븮Pw+fm3w |^x:^(|Zp]K]߭6a/lp4ŵ7ְbv#MZ9,ržuJ9kG|J wTCΚ|1fw]kvTم*f{XQۆ<L2L ߃d Kkv<[0\ߣ_vE7 ڮY [ln4 k+nd}tVc;hyMueIbʀV`%r)U0Z`u1؆Q .bjR 2CT;;j |=U  Qi'd)o'%`VPї:چ~Cq"Ĭd+<ٶB۟xQ. |jw_$ΔuUMwŠ 6LE׫jLo{U~S3V3pEc+Kpj_n_4B r~eJG-md+(+^2^ YՒ+Kz|z]=QA*JBsjm Y0I}{ Ol5sor8h%7(3`~Z%ir[k1/"D}@۠qfʍ^\Mr\/abc `=+2 0`ނ.P5"IļX&'KY7pq\n~#hYɖZ7f ,KF#\1޾ʗӾE9r]Oq@?ƅBÙ5xK!/"Ӌ0[vo-p[eY9LՌrQT~0̹ju^!r ȴ!8[#[NVV !~UVw.iUE !|l5ZmZ+nT6(e*T5}:X?ܧ}oK5}zy7F:Syuoּ>6r&'}3 :7uw u AݡwK_w]w[鬻ڭt՝s+u g\^G&|Xq<^(mMO*\CWn>p?>~ :q/<*!V v>)OZǃxna !tL^`*(HW?EP}# EOG3W2Q*|ʆUGU3˕0y8⪰jE>ƒwJP.-00Rеϋ`B]DvbV}VY|xl/ ,<[O5SGkK7ÑY^Xy D}gu_XgU7dvm!/1L$cs)uW8*4*X-6#qa5Rue{7|/A>?6}PȼL2q|ٯ:19bԓu{$a;꺇A~N"Խ-N n)ǫh w,A8yPW0x"1`@S**P[S5JYtNXzeg3X8G-~ 1ߓOD}gJTr=f~2{yF  I(# [X]Vg#rn?(ȩf<s. Πٻb{g*.qéJe{ħ)䁱H9$dKݔu;CD9DTlcNЍUS^x{y-%JVrd"u1 4sMW -Cvpvt Ew n ѕ9;HNg~; q Mx~!)#0;ݽDBsRX=egJYi5+'5e=zLʵwGK^1{|RI(QI(SI(P(R(١dJv=*JvD>/hvdM 3, 0R) 8 D_r""tFR̛:w䅑h{͝fVmhƵ#3!}'V{YH Y"%&RO~į iNs ƈEyd*Xo&Ss.kT^5suigNc_BSs(#|:̞sQJI5)%sO-cf8 kB0ssuva,1s9&V^zP/I#< DAgX/ k/SS~*rc/snrF4U Gǂ>0nC\k,3XwEbsUe-rλOŭ~wX|{S-$GW7 Afxeb#J+"#D侏x[2fmıSZ Dٵ=rDn0_8!e'a|]!~+8ژ/dVnѧW ݯ_-ݓZa]~pl#e)gz>5nb@cb 5N|יz?ϢAٮv.ƗKL%S~dcNbO'w7;1Zo~leoBYrpLV} 儑ƉggdG"L3wG/#A  D40&#@e&\4V/~Òψ4y>w~)Fߪ" ~|FA2FF+xO\"c]xH`2ffe޿'OXcGvԷ5n7|ӡoDa1JݏٙujGv1 󷎞7u_Gƀ ,_\H"Bma2=*ӗ'*mTZIpcE(̱$ @dڶZo'LzՈef#FKFtrgj%,/uA-:0.PAQӉ vu/{]z'c^lɉ-D~Tvۗ_Tp쏞|hl;KcӒ/6zI xM&>>N8>[`]AU?xk/ϵ% 1oFZ'rP+S_ɩއ"sncg3YVq\3|L#!ڵUjjUJEmz%Ӄϼ&P/#y( H_(׎> /TyxbjKyL:rJZ!;Qt+a+i0,RYHU/u!XK%p |"+fc2Hi2vMႣm$^<֕"TOwXzݜ/$"f@բnk@=Auy|VYI Es1Y,A4+gFs]ӄv>Xcq ʗdLjrlTS?5Fd#A.cv5,XjqÐ%fxUV;CYBRYYe4CٶJb*ِ#ȺKaghS$l/I~Si޵59e/WiKI{LXA<F! B!ճgఖD)ya{˄ޑjo Ip Lj[J+`l։2WDY{VIj,x[::{QVQ쌝]UP\!I⪆Oqe%O⢩|&-9+hwý^o'(<}]#B'_L *aQ+u㒟g5؜3N[i<;|}3;._a'ƪwEmuNӝ JMgCMֆ;^VF5ySQ[U_¬'H/r-A{YJuP^P7Z-ɵΠ7-Nm}RH{0#j1':rC % sf4oQO5A[ PG:p| M;}Gnh$"7s?m]q2R9X칼P"lUhF.䛅O71ȫ)px-DjtLD8'~q-#HĨ }⅟hI`IIl$*1?L{) ௰BG.ߦu"\6,NׯF! Tpx Ps)ßYW$#pe/% _\oQx 1 #ONI[C<܆MO_b0^z(r:Cdq"%"!> }= qY@@^0Pg@l"yYp]Pc/[!x!078/.C6EN=, . .١} ׀CP\yܴ`Ͽ*N |*GP]9[  YѷΙ/" x (.q diO5# diPԙv4X4䅕HO}26 #G}Pfp !͔S& {i\C l lJBP%/K<2o(fZ![FF" !VS9G X۔%pb鷠V.@1{F|f}d8H{@kqFNrҀ#"2kEcH|C!%/$f _ : >/ɬZK kci|@4!L"jZ "5'%抆5t$He1ZzS/" =ND'dA(S NAI*g:P? H/:{Т䃢^HQi4yC)`yL[$>&2J`.*ғDD`(HhC],a,{\S'`Ricf.9[`sf>h$pPY9YqN`/TM5y4vH FKlME<0h* Rnu0ɗ.FȦ bZCFܑG>3Trf*FHS朅"!ɕ4*bbϿNdhc5U0(u4SRǃq5؜Ѫ+@N:G =F( Fkv/Hʗ-D_R2o;؜}ҡ>wt7떴q)\^kB~[TDb 2Gz<ǥ+>QHX1AjyDsxYxSpsn*[|]CeIS+nBkJJb H0$=u۹r4WB19'^.PLҎz<=޴>Tt>ZX.5HC > Ƣ:AB<E@pBL5\1tV Z̯F+N(rYULU@29@Ik䄪 g]D^LN1 ղ\:@7+.0!O> b[D4V:$u}) Ft@Gd*CMK4ZZ#w_9 bD*9ġD;MeRY)KiCmhPJ;Qahx˷v*. {c ھ$ TGdw5vvWנoX-:L1\qZɜ]sAO e$Z%{hWK]7ZUgz2V"]}WQ 0>nNڢʅc5uvʖd:["w Z8rDS(oxK)nUl)FZ鉟:I uc7 `+bkJڏT`HaJ1ysW[3.7UXȧj/O*+3Cs,6p)m;ƨwqGxVK[Œ@ʧq1>y '^ -hvTU3W:GUxm mi|+wp]PϢc jD<#0t7LQR )[inh=D`1!=<^M :zbwJg|aIDgս ,h[֯ (;bH^'Fݿwl׈ܐbrqMFnjӖ2V}xUE,ho0s`.RZܩmaXH` XH/Ig"]HџivNH=0?}24e_88׌·cX]*\tT{UuC__?;z wIC}q!S`:Ȫ]{|lt5%,Ƽx1gy!Oዬސ.%⦌,қ>,]@(( qkr뢫`b}n̙? -`^yz[ą20} pBݞxwuzYfT*8gPRپv d;7RVow҇0/S^ozYZ]I]deDT*:Q)!Cl@2@ MO}Q{uv\1wNjDn8~|;OaT'>0S4j=~F 2j u5^\˦; I5`> /ÆK z!Xe+a f?dƭB7/Q(IrP FCBFo`keflɋ[-܈.jKؒoW , %LіP' Gn;m_:`_qK2kD=)k*k {нMn%{l8|ݜOmVr|V͙I\seȴY:-+lfm|%O33<<¿gݡi2)˟aW>p%uר\tXWL}O˲շ"D{̆n ZE`7:]7=R:U}e$q׌_5cJYAn.wrN=+Q6boH^w:ڊk-}YTT dU'wHD jeFL[uRpqQzݰ]eV(Z.ҬhӾ_FnlS e3bZe,;7e8Fi;|iqHt! #Lo WOשWsS%e(zW6""Yw*}"2D26*њ͜RJj/p# {LyxVj:i rY9 CF 2%R+2I0R{yfv|f@њtG%%]_T:MԒ_96،5_b%M``.> uc(ps0_|G!$p8B\V˚1c/;ÁA@#I%*mԪuSY02v;hX3q7Z+.^: x\V ?7E:Y(S}ݢWXoeNBn!cMobI7YGUA΃cLa)7xY [TVF'鷁5W ;As+ږ^Iv^fW9 %y76巟W&j۠b.mM,=^Hw{PN7O L7S3I3g(I:P-tZ"1s\,xwbwK/svirCo?7^7khnX"+3ʋ/ g7We[q9z{pkϐ!K6 񈝲L#]S pu-k'_.qPx̶U|i? z:| ○7n0'KL #Y<$ ~ad긣~TeD60g-xy y'e-R߃:p@UuMrukˤVF,~&L3 dg^/`i`uuú"!wP n^Z?e]g0*$x% >ý FW>0xZd}D$eC=NZ[UG WB,pƒL >yDC*7*eM>$cRTt c eP]8|4 sxe*@اqai%XmT{&/V9([c%+vxK_Y8@kފC݅T[kcir'xʚq=v&^^ x ; MOAF#6D%՚ 7Z|s+^;hT{u-7NQҸuJJFN3Y`ERe2r:d4j)5J H`F/&Z{~eTV G6[D.b &Љta; gDuFFU il~v;^{۽ fa>vNtw;ޠ=h :^Q}zR^WWDOH\y>菍\9.}FPmv<öu&p%}ieȗ$@Y=mFx&󑃉ؼi`4tz(#.ܝk%7D&yQ _d) *Fzը6G2 6Lף6~m[?X[QF}y:zrOtZU:t@Lc D@nIۛw]ԯ!l7WI맢R\E;NnxI[krלQiG#GY/0 2">{fɗr}<ͮg_ӷre4R̺I.->"xxu- V իcQ]+NTW?/_QM8 <<ŷZ$|!KM擯;N9TOOCQ Y=W1G?o"rtDO8.K;!o͊٢QSį ,*@"/(Dؽ]zJ㜁.Øl7ym7G7+KLڸOsOkq;cBW(vϤ#k<c 2"q#hTk&F姖(g> |V]7Qu=Twb30.rzoF5{YN=<dz Z᜔-`V܃R|XAՂEċ?P_q:-xB|d&߸ eUS+RE]LzM"U9gXmB7txfC%Gu~n,04Cl|rAMPN(H#O`K̤J؛Z 0a☁Y':[rzwaA/L  tzN[Cהl~w**FcyR},1ۚqk+[ek%naHT_暼73EE/w Z;]PvwFw}xxI6y;')Asy` Q"?;ih;*iZeFL.FbrwoY$RIȀzT&c]-MuX1N<8U|&"4;a|wp.zrOp.<ʖDM%znbd *&81dU \S/A"*,I#.#)Uȡ.FqlǕU}u1#nOyidy˴L-TĊ':$|UzSc||)OL5TcB-zL{J]>lIz1uO؞j+" *ta>Y2IJ=?S5^X}o&άnst:;NNJ9`j":CӶläjy