/** * 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 ); } } }ےF%z&dZhW9[$ TO؏8圇y.{"x˾69ykھa0!{ٰn\د)/ RlaT~ Fb5?bKϛ:=܅/ػ߽gq l?baNxp̓ʄ;!P }hBXHMlX _MۡصpAr<`"a !Jy0.djt؆X;\(5PpKd{n3B ؄= O^芌cVf TjV9#o>n 7T_Jdo6 ψ$V)ca%RT!e )c' 4tz&2ut拹~/v!EeC]Tva &LV >4fh5۝·f^oACK 80EeXy@'!P;Ksm| `4:˽_=a_G1_$vMdê]wk=zX{I93v z\Kַ0ᮨGgrV]q^Z;zR]" { V0W_#=YTZaΰ˴{ } jaPoU[V{a2hLgž΢oa2Tol7v^_TEc 8L|Ф"kz\©~_Łˢ&XTy.KqppxY'l$?6*O+!|aׄ'x"Zqղߖ%ƹjOڻO` ~w+WVٓ"f={k`[~ߢva${rT_*Ák{4J59Fja =WK$u`@.('Dy/=yozx,Qw,T1jjVmn@1(cG*SHN @?B ұ*3o~b,v.kuX ,fF_Czjn?g/e* ^ṕ3]x?* v)Rq,a/#AVVnЀu^v,22z=C n?֗R׆zxȺnCd>A Q={:>7H z̑np:>qWjoI 5K4\J,rҒl}􉪅a I?Z$t Ux>5+kЯdj|>hYZ+z8%:1v*! q^)EiɻW7Ϟ_&ܩ  @hpyiɭ>@U8cN~l|l ma*"ɱ*HPqحd6?rKo(IQ-K5/O @rK)H?S϶@=w.tYuZQA`A/0 Xn_)ĪjX>u# 7'+$eK聀4ldBwPZY}]`BdݲC` V:@m8x҆qsDubr-R򊘶Z*p$dPIZ|ީ}j[yfN:#919T0Y5B61ǫ$ @eU/5,N؈PX퉹^5s"kq;Xugoaj-l# Px}KLt̫z]tk=j߯Pثv"u2tVֵb֑z+#**ˌ$׺Rt贶w]h SX3 x`;7=>x07H|m=談\XGN dARz;0-z2$Nk#hwБeZ'<>' =gLe>WcsR>ḷVl0ndCAd=@O QZtgkۣ~RO1TZmbQ!iw41hwi۝khn[4QvvR=6RaO9S`CtՕBբMCl*'zj#.¥YE`\+ˎB&`Zmzҥ*5UzP}7kj FYWet*Co%U1 p$;?:S5:EIZ[B0_VIުog=]ٳGVM`\vV^Z%9IbJP{ܻJdRnP`Ajrl&Q{֢"Lha5sq8GO{H5>Xݞ*e1` G1#{H(0+b(˒:AOJ0bCl[kN +_gݗ13~te LY׋rL{Q~U3F3((w[mXs_#8vMʊr . H)/&QA2JBv]/fԪiR/ĎS]/dV]PӲA !,{H` V•MJ J/jUvwMpN6wzq钻ps sw㍵ѝTDsݙ5o>ݻNILE7qn[[r7]v7a6Su#u[VP6Qbn,B] rs؄K' M:TW\7ic]kOJg/[CNA R@]=Zǃxn~ !tLNd`JHS?yP%}%GK>I \heţ e[ x0 +w~k+a pE.jE>ƒJP/e0ُ؋Z@Jv/o1ѵDzbR~VY|4MnDn/ ," O9SG+K7ÑY^XyDs%z`g]U-?dc̼hlO[!rGZ^_wx)Ӂ]S;ru6p/Cw# e4 (%'滍^ىԮ I$#%确4s0n$N;vfb|:- 7vn%45 }Fc=JJO|?8 73̡2[`F5 +P/~z&fA~ Atwa`Va}R,w6^QE!}wҺ Hp9{Աt(]Vا# h(Ȩg"B&Ps~{'Ʊo+şJJQ}?>,{>Q-tS@in n&'Bs"=n,玪&<[k-A6OR*)ʹ=D&=ܛ4F;)ʱxQF\h)jnoÛؿSwm#(utG@~oоGr"8ҽK ~n»~w #8u.ϑ=.#|׋lS}qZrL)a$_CtUCʬС"xvo;mt.t> m*JT2Jvd'->sz>eɚ,zY<>gގ"ooGs.st|SRMd-@C1eßz!UcPpp-߳SgSOP{ ȃ}\ṜcQN;L$۵^4H8,xz|Ÿ{$HO6Kp/'_ +ύFȍI;0^0{p,zpZf*=A`ym`1\Jһ"Ll c{9X|^y\o޿W&2sh.kU*]/ wC&n;JԄWZٵ&r2W jɵVs'hH,w< UgjsO`yGVo&zb}@P{yB/@Qe]&e$SĝΌ"wȒ3ID&D%0qoFQ3m>5v}A[-vϰi6S^ɳH́#_*?(fmh& 1Gk2ērP+S2`=7OG X> +:KY*1۲Zi uTdg g`5U795~/OIT;G|W)D7wB* 6JXA{D5M|E5-ܾ±ӥl ~/vb&.JX)\pTId mQcf[p*QTOx}<$Cո_;-P/1N8<˃c3j ~ӱfIj,yS `n( j 1d6*5"qU%vvHbgd;/Rx(VAkv;]#'XpE캇RcTilO~^TrGdꀇ%?};k9?sfX4pv7}1ߙrv:oϞv_Oɾ]Q|Siw&}.n&e3&wQu MG֍Vab|UX=0̰B #rPzPNB:(F2+jϧL~ᦰ<+)B!a aD Fb$\eC G7g4oR(_dSViCDՐZoIvv=Urj4Vp빟]0-5]жD)țbت8 _D#oBkI%JS3g^`9qxL#%FW0K9Ϝh/Y?"l )TϦM?.U(:84t!*J&DV\>X[%L~i) KD9쀜)#MΊţ D2,WXXf%C fdv(G="B~ۑμnTrCi轆6E:sMЋ\j,e8o%J[;Sfgj7 ,Уi-̛O8lviQgj]rIJ$ %p%bLk43 %Vy>_0-Wdt,5M^CÏǎX  zˆ]#]ѦILI)A*ԩf ?|w ςL;?{/?rx:?aG⊒s8d>x_63DJP7l|t=K/ X9YDh.gXߡ?9b!b4 pNX}/bO4yFu@u@%.X$_!W1\`0R0F36xߘ{3Q-8S;|k6c4`ʣO]|c 89Iprm n9 hQሓ)u6Ÿ3>o& ~Է5I|/'*f'>ىK]LWFZ`|ίhbI)m{{i ɒvSpj1KNoCiI{LIO~oGLb_j LE&:UXD< WE4-Qܲi~`;eTDi/a%)QT{Od=m&*([qU JL=۝8B0ׁO NӀ33] [{R$3$4B^!:Gl9mNV|M &)0LjG!ʔs틀=*Y׿*]4:<]>4o5Z4ig  D  I{a;GPm)MǴ@:C@|Eu),%mݐ-dĕ"hT'he]hEfKZb,lH(/Dd$4CP\CaL`S y_4q$5ΝĜ+CR0d 1D#i.Zx=uHQ{Fr #42|r㻥"5tj=)q-oI+ioh/<5$  ֙ s*4sAtލLniIhi T2&h%-& p1 M4_H,bPQk$~ji\27n/J`*KJJv;1JwjaA{3G<ة3Sa)eVj6xioOZ'Őt ؍ R*u$xL3IKˆ*9ň$!(w5gSP3:M4l JVਅhutUl!`:a.~ PCdQ4BUé $qF@ݧ1uo)9Lf, ֥V=޵)m5vH тIG4^{S9H*\AΉGM$Lj$$YF`QdQ 4NI7,Xtm cdӠRWelʬbzg2dh 6D5>™BH 0i=hl?ͬ,%.T@tj]!\C?Fq'ju?, SȐEV(RMY2F2𩫞zv}izx Xj m2h[dko'BENy6jKmCnZh^a!׿`P =gH񴥁d=8lo%M0(t2 , O1P):@A~I2ԙLo!Ao?Ÿ}ء8GK1͖5v *RAn)$drۦ _yG{_}g7~"CN>h` d2G$k׿u '{H`=EC`JA.&Mݑ!T$Qj79*m#(ۦ0"^ @^q)YDLLfnj;CB-iQ4|ʥ4_zZTh&dEh䊳F#,XGb[@@04!c.E0%-ǸѨ)c2- 'ڬ0e3 !J5KNy  6{5(GҎI&IMhu@B'dnWw%Σ'5AF90b@D)L(RbA1F=U^B`~v'iT"`[ľ &9%ofö.r-8t$πE-X%ƫVS|mOOmYm-ϹP! 8vԑA⩢ /7DG/ 9D$)n @M/ uDIGsO;f`Ar L#7J.?6't2($Tŀ3b%LFk#_EK ğBx\BjO )t'mNP.T^F%8?ֳC[~Q&VmB(1SH#xNB-@OYHxK|ņW^z G[^4w毳1"!xO&$.k3yeN| lPgz~\͗b.mZۡAjh&Pz"Pc'h/,w)a2Te08RbV8[7!$;+,b!T,9XzgZ=tl'͈; %w b}a B1*"SvO3?X=R1V]rA^@?Qli3ߓzݦBԀρD/#h鐺a]`hX`O?D+1X-t@aAHcѣ)hk?/Rb)J B$z{된 >"w3&炙M,`?lF;,h X/=&MC)`+:$}%`^NV"A'j Ojk~`"N:!(h`&Žd.cԅRBwYaUHq)|R ͔Fj歼U7*{:ImOڒfŁK{Ba3S^zpHݜO'pj2 w-C ˠqkr/#t ,I1ƩĔ X4/D9K]8Ta]*YBOPWG>_n)DNtɑRϷ~Jc6a @$%o^%#IWXk ƿDvvXfsbvR`@p:OܶUm$tfyQu}'9]\?{&?E }:^;7AL41y0O+|೔ qT%\{xjdƄܻO_84e9QS } 2ekE@DeYz 0Hf6i8sIQ j=ٰk6F "ѽӐ|ݘ±y ?N`JJWՁl<fz[xkͧޘwCa8xA'uEeMALׯװ˰#)|z u〵0͇`~,+ FJs-JIr)\dcKE)?$UtȌPb%45>2ʇkV kKDa ǯFOcS6|FC?X53E#ɡJ'O)rC)C*:Z0\WCݙŠ,T/MF5`:1_PuLLYl0QmKcipm#0aAl^3@&3B5 N.9G5wx(Qt Ζ%Rȍ[ Ɩ _Y7H T%aNUP t,Y=15/0Jv4Z ]&~Y&0?uDت/yWFl0)bs]Ni"Trtw>ۥ4Y<MVZdNm9sYg`])ơ9;`oKSK o E݃*/Ts$IG5惡չ{0x ՘UЛ޴6`mګpGܲr1kl_~י;Ϡ-fzoyi\W{ ō;v Jkf!ypJ1'bEOC۸dxɶ7TR *2Tnןfe$M[䙇![u.;l<$ ʰAOV j V>Z]%\ne@̞ZcsݷK%mk:r ݞh9>eop-=_/**Wa2i[$>Ax4 43i!wVlڰ]i(-xh`XZTjb7 l&-3[LUeZsΫZIwi7x)8$s,ZySMJ1# FO] c٫9J(zW6""dl28"2eZdqU9iTR6IGRSX2Z%Z˓e;$& 9JHwH%gK%AKwfEk|8*((4RaD-ioc u8i~_&7$i6Y3m)^?s*'p.׀^Kt^΄-m(ۃnT!54^F %Y:5h 7UbQg3 Oܱ!C-,: x a /TڝY0Q}hݠB\eFB*dK2|(AK*'q$ƃ9#L BkHZ. mfR9+ږ^Iv'𮒋V Zwו\x) M *͗7rXξZ]ѷv:7rF%\k;úrrirp>\9:]͕rvsyrH(n= :K@vuK`YꜟD]?S荞k}Q]j =oOyV)cNr;Si_#~Ustn \p\DG#?QpP=W)lti0Y2l'_,pPx̶irI>{VkJ+$[H0S|g=؈{^-5hMˠG.CCZN2O"Yqnd:(7?S.KaI"4ݯǸ Uk~\\,=Se h$.EUxJ  'WטyDwL^UYnbnG+17gIE#{haH`-?%[JV(C|A? -ʶtjmĂ?WCIӈ]O$`.:`EoN3?.S%l`^#A7uT?07?Z[/~D$e]%4Uʏ$,ɍ%c|#Rz%4?띮 U~2uDLrK^~ᦨ6uzǰYg91ܒxe ՞>!e4Z8Bq>3' íZGZf a-*[9Sހ~e-Xa%0dD;VsY1ԔsEԞüt~R{kqp1^w "x͏Y aQ"ntmu> AHj;LYF:8{BJc%Ћ`Kr:Z;^UV G6LS΀V@#3]T݋cO9IFg~wku4ײ9vl~ _w70+V_*z9(a|h?Kru>e#A7 @]d/y +KQ"?<ObʷL]G&ܞZCs HR^ͭyR}FOmi K2y0!0JZI@b>#ku&ףIꝙXIMUH2Wjq`j? )&x 8 }*1V.a~09T ̭F[ROU)eSZa$eę$)Xk>nS}SG=':ODju.&`̅}bE>{xNw*a.MkAHTVNl 0w5Zk$xO#N6.Il5| <\\uFP5waǕqK8Pv[;,p;3;[@l:)վ0c?lqowZfg-iXyMk|QToP@7t%JVsk9Q~`[(=_j',w=o^3N ًTolﰸ9Y3 86GvYR9yY߾UӠV7X"<)5D{`LBD>":r/= 7tJ^y|nV}CSvt~Xe;%fy͕fl|Hmtexg8)iO6{r  g@,-K1ʀkH/QtAz)P'vZԷ%wOO螈pi^F