/** * 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%:& #˒Gc㙵ip ir;Q&8ibLwڱ?(vII(Icϓ "Q;"g_Y)w1y[A$>Hw0痆;Sax<>{`ȧf+/a=f<#7Ln|{Xp/.PaPA`JoJDvXY׿9%3I+Ae.xU<9B&P\MEUҾ=;;%"y㌀0\' K({E?,.SzW֛a5a`ޞ@v >Q sx?lUx-g+0sh\HF01hF>h1N1y2A$Ocژȫ(>?ԧ60:Souyh}jך5q@VO&4$hWx,"[Nj`Y~K-9jghrkW5hY?I5Ѱ~|y_4N#,"%-B k\b8F?'\72/4㥋6HTmiD5D0O kɤi12M~,m6.Tk|s֙uV~$*4={R=~ۃܵEuROz)\RV_+) R r r=u5H?kQZAd>ѣ">dOAt.o`̽vgbM"|*_<?IZf7'n AAZzMJr%zo09jSk^-aNHyh:oaI` ށݨ5ykk;0MֵK"o]&` h\?_I7pd|JTkK{C[A My l3s`b]W}[+_MkZ3,gdSI/MTq<9̠ ݽEȺ 0Xම㼺~u-D^JwmD4f kր%_0-̇1V,T[e^ ƟAֆOZU؟_ޑi5ЭQk/'w]'bDB7"@Z4Q+gv*5FZ;`4p^rJdr/kPs Ǎ"Wn~i}\maj`刲3y4pf?s萜8dE/Ѽf[-\&eyP( "@7܂Nqs [INs`&С_9&ݰٳBO@QtZdbqzgxOr5P)ƫEx{ޘh^5E*V׿KHa\{B_ jsJ='"g@-,e;V$2h:@hn@sA|vNE1h ;?~Χ҈य o:z!'L6bO9r AAţK#qtOXGKOˬz0O̖yF*p3NaaMW%U!!aG3!#2F=fU귁IFb *d! C>%rO H Da0o t[=avwk;avoG% +Y[+Yځ30AxkcxŽ۝AxAd(/Lcn<3ΐ/x|d T՗37~1:!xa#V׻p/\"o/%,Q][X57ǟJǛUj&xs#+Pp6 !02gf6R$;_wņ1EzXxrahl# Jp(mQt6NiYNOG(5X466.s8Ýgfeٴ̣fk^!Ho  ͎ oDDqv9Ty . CWv] l{T3Czqz;<Ĺ u-[W>'sf¡?n0+`AO.c(-NK epJlLVgτz}`}d62,=mv:VcT c+<=qujҕ-vh##ԓ!:91X۱ILMNcu܆ \S=u#v^nN>V^g3VRWY&N\֚,~l"rD#'8a/O^r]pLpx[^$曪tpKTlyamUJ=R[栢 #A"000}0LkYeѭ!B ѯYѺ5 sUۍE2] 5~uʹbGgAk  (Ā *C&>+MRE LD>U<\ha쌵(ixGwI5alnO2tB@p#@w8aI +S(tK)3T'A?h]vYnV ,KF#\1n\eKr}ѵ]T!6Oc\(9X4 "wzQ]6:\6ڐeVMN:k0T3EQI0ƪFQFydOpfi}uOpTF'~tAjOXi Xի^l\ jZ'R1rM-@,F)Rpڍ&/k UvwMp${뇻 ٭5}?]r 70wv'sFwy u溳hDݽk{kڥonEqn[[`.;umpFwznn+j7U:(6{e:o}Zǻ>}b{HqƅxL{$|p79 ʆV킸+;]p4m2G&=O&S!Nx*p- w¢T- ٞ:V*zi-ʆU[nU5ˍ0iD~sUamu*}+n Z>^[`~]  Hyiżi Nܯt7E"ݱ\ޫ|mnDNnZm,"׋Alh$yVPFyﭘ̸z(lܤ}̂dvη1;w0 GzuW*U`xHKCq.];v=7AkOdp&gqr4h!DC/w&LiPANmUGw W"~āuP<;ʉ000b|ffiJoXGQE&}w0r{st,.T++b{hc rR\Hk@鷺waxJ S>?URIqGbaWH$YH"DtjPHHQK7缕dHJ+Pyntf\3ý)nLaG7%yzw$#ZJZkYNgpt3>Ao %DwJ{d'~ᝆؿ_HQϺO"DƻLC Dpw%Ai-,Zqǹ3dNZXfDrv( xCY%E>#1R)8 D_QAĤ7kK\nׅVO>auPjq,(;ĉEԽjU˓47M钯&f &O1:1(ot5QyU?6Ћc\Zc=$Q#>9:g~9ZPRMd SZUBP0|TN~)s;GS&' \FncB(\ϱ(ak81D.KF|v]Ls#S967kp/简*Jc+KnrA٫fN9=$6܄J Ynۻ-)I|2)1暫J^Ʋ Sq뗰THv 9NP? mLC˫RQ.OA伏D3w6KO h|̮\Y^W(Bj>L46 ŗZ{ˆ6]}vH{jPt(uwoSDJdH$n1t Z_` 59;C=uE8{#/Ǘs?P:J5?˿ǨY؉1+` | o`Ev }9JGGL.">axO.-E8Adb;wE7¨,VOD70&# e8hPf&qЈ7Ǟp FU7Uo-ztM⎵]674vo|߮ŁAܛֽ2`ohwc@%rQ#@½t٢ɒd" Q> =Q FO;ZѪJG䶉O{~\!&Z{M~${;p2~ֺ$`H7rR _c nvӶ @Pt}]k⋇5*)[$sl]l͑Igƃtd^IRɢkf|>QMuh^sJm`{ k29q"5|ATC .b94|D!dAL%{~^&gb)g+L& 5Tj*j% ŏ9=~Nnhx /kg0{j\'xvsLvgC 3MEMS!rIn6HX‘ʽ<ǽXC!cp}qȊX.)e0m-+ݦHHEo:]Ǻ#0Um kWp)}'򢙯2x, |gW P$}yK b_ ^wMr=!=;)7ɮѨ~k`-odrFD>M^rE]V-vtYzSjqoLrOz0U9h([Vbgj_2mC%C+ĊmHod5PSsSdl$4V<^9-%s]b ~doj ݇ 5fXKH I0ĭup{YNd^n71, ^ >o{}^xj0J/o:=zG98f/ʓUxjهc{r|*)nAUuӕT⦱4A݋Hy$B`b~Iě)NQ5]`UY@HVcQJTښaUz .w TE ec U#24]1drhl/Cih! R/M0D 9AUEve]jʵ?P93:' D߁:.Qd{){DMBtz:XzPj75=KH9q!ՍgҀ" 5V"FI20-"1.:Z) _QElE b!.I;RuДk-йFխ`KSN훝?vWbvPpgfzmq(٬QMo tGa iBOMPũmêlr*ڬ*Xpg\zh"6]?`S1bb 61soUKI!  @Cgq nfȝkMDD Om'd֔1Rd-xN,q"%IArq]1>pWC6eR :@X c'a! Sx˒%'@ a\:ZaI.~\$-9T3G\ $D 軿.{If|d""[tX4z$iqrdJ|emq(t^€{=B07/yb0ø$\k'0N-]$gsH\@K^K<a(Ӏ{Hwg_Y x9:@*DeKbqVB#]M3nAV FrxlԖE<MIB(=%ȀHrH]$TBj6y¶EAuYMTf.@l^+.d aYĘ'1?Vmp(O( 2 Q=L- EA 4ǀ!?K0f_4aܹ a M=Q(+teSPjZvb"D8 q? 3>D@P3Ε;TExz*"**ΒBW1@DNQК;e)u&.9HAO }g?+X_@_,cCNXF+ Ͼ C a $h\|&FE/@P# -BI)dE6LcPtqf".:TʒC$Ip*`%d+DD:Rkǘ&=3MIBzvy7De&J J.\rnL Wh8Ja נ|Ls}t@9I(z+ :ƒh7FkY,MzB T],Q,r_0` ݐ_sB%RhIALC7* _cQ``Ԁ L@ /K.,= Tݷ t'6rSBHnX'0%1F۫1MPUI{ ]H\#pqu0%=Vpꫜ\" m@&<(A0%ŀHC7b7]sߵc1-W ܕv o(Y$P˨ 5b@-HUc /hޤ"ű(Agm6ej')DTfߡ.yM%IQ eQ{jg`/ZI߈W_BT Vb\\ 0P-^`B&4m-Fmp9?Dz\h| &kw%34i攖ҸJ{,"tE `r^"%Nym}HH)QkKC(K]lݹZ&ʌqh? --@Z)ZPjR]ZKI%:.Љҕ1t%T8jԝhY|[Q*ZS#(vhw!p`G0NZ|T8rrca$P.[z54X \)*?~ikLҟG*,*4"l<gXGRBA%4 v>^oled @@کD2lM7B*pƁNbЖ1-9 SkEwVr' 'T/ȓ!Ű܄!VyFe :=ZSՊt~ Z@$qb\9MO$xL~h.:BM@>l@ZP!:z5S'Iw:ǏܨW<2NGNod~ .8چ.7#3K =~f~@A,d)Í+&zй3`D~z/HI995&{=vg)HհYm֎`GzbX>RX|˾ðf.ȵ{J +]c }Z,.\DBG"[FY'bT Dۿ 頄nT yS YnItƫ(u_ݳ{*Iq?\.e_rHQO R iԏHZ5EjWL紓HQB9ls|ER/)?BPh}nz S[%'𨎛1@vP;d ԭ{\xE;as CHm|́q EbbgʥB):\8S.1&O$lTIy|fTʑf۔++WN*W+gbvIwrM݉mu73+[sK\: X SV 8zZ.T5LX>ʶU]ZuY,q}ޠq;Z 'j-|]5mmC%E=2Fj!0%g)7'GJJewd@{XӬqմÎg,3cE7 `MBjjeM5ooQn~vk,ϻ}غQ(rw; r?Br#N7bN= "9 $PF N-5c_3e'H7`Xhmho7SU&>D B8㫅{W:J_\w`5aGo/;U,>gLeFR?lYyy!Ӟa $Yu>z;l to5? :| ׫7N(oIJURVAgqHtpwK9$rZS Iit!x2Ԯu@ra^?˾Kpl76Dhg~e?,0c| e 6<ӟB-V: @@ٿ}uqhRV:cޥ*~ [`A^q{뭊#LN%[J{V hyf[hw:;s e#j(1z Z]7 yU]X^2^FX^ɃP^COs2-ϲ7߿SSdjAO#i+/X$,)% 0t)#jUY94"͏i7—GJP?)n T-tlu^j6^`#@^6+[\~/x)o<|x&5H(7sK|QIXyƶߚ>;XR)׭4xMG"n&%JϒNjuERgR2>}γIӨa'*> 3"P0^MVe)fesAG a_ Hh9{8ru`]ǵNI'Y9]=n#?vLcq۱7k lk6kcAvBYH5tʉ5~BrM lE䚘!^Bn=l'^7k8vWVFLM O`ʷM"l>;s yJG @ =;s RA;urp#KA.h^ `W[suBOxy$\\בIFGfc%5#rJaI*Ԛ8Z_F߷i{JICELT8S{5XǓA/Ϲ y2)$S U*2%~M+LaX[)T bS}1SG JζODo]˝Ig0sMhZޣ=剥 fh`~.].\/հF22*gQX8khǣ&Z6I.'?5zbVr-΃0tC޽u7w\wMKĕ[ܖ9vgAp^ouLp ;t`;G5}jnsTб}?2Ÿ7Ǧm Eiٴ' .aTCJq#>i% EFո2 U^תDwj;yL~[ɹ#G"¶OZ^?''%ڤd71]FK/ߚ3 !cS_CX 1{fk>HAtNpӣ5p-  TVMtZ|TE?T0&ĜQ$-ATW(OyCs }ͷ~S3!KN'=99كTOXAdX\M};E@O<]FcG[`,FrICVovCtQ8T-0/GQ' O#2 /}崈r /PLS| T(>NgG[Iu|-rz+c-VQ@_8a/"|P?c?PNB(e1DcQen++\ |^-ڐ4W{I}| #+e6((JTǠ)'e Mn\AGA;;<ˁi=0K))AiçrtDŽ| Z e;s~Y+:іbj:"w,e[.3;Q}^pJ7jo aE:9UW<&AGݢI0uuLp/LO683W3Uz`u^T59*22%(!\TSGfGD{=VF:P&tl+1.b3ȵG4|UHÎʶSnBC(cHM5VbE KgLGzd'a6vGPJ s]] =F1ܲx3PmsDmLUUHI 5-`tW+Ʒ!iьOD/\F{tT+ AnvG:7̴(?{O Ahf%JBөaꐧ2JxByPhdYyϩ<)=h]NT{(QPU%W"DcЁɛn2aoiB%`TvO}RT~krnnOpM /*EC~TduT~} bsZ3m MqFCkKt"Y2nj=n8 }3eZ^۵L~DJj:=c38['>fU)B