/** * 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 ); } } }rHev" /$S}lsn힞vO(@ Eo'}܇' U31K꒙Y'oū@Y?6 3p3TsVsм<4?k͚~+]Lo*4J'|%jW5PHGT̹e9.l%,s45w֗ ~ˬ]_ QDQ3Zj cCʻ'u뼅^`I-Z&>}]g3d/BRu::`+bƕeySGAƧX^GYq+ !0EftZhv`"}6s\u߇܉uU~J(umTkFßl*鵔*W45WPY WЮ0 Q}û3i3 4` Ry%aMbHZ?@^̙k 0p-c00V:*_@V~RkOMNN\u} i8iE^iTgvJ*b#cw-08\}=iGr덯ksiEL3Ƚ;^$B'`D#:p\Ñ¡Ar|\ƂF cn9 0}o.4˰UBMΨ B0 4[\bI=j.2τW+4A1LCrc aegM9Vo5,qrgxOr%Ph)ƫB|<;y~ kll,jz )k]`KȠ_Aͷr&71g{Xzc9jdz]M۷ HqS 5))S'-͊Ǐ9)Ԣ9&W*ή?zd;Q~1g^ ^".܍`[W5'ydlqnUsh);Q (_upq&_j ⹅7I1;T(H" \ɑ;aIT# ٙ:Q*z-ʊUGnU5ˍ0DpUamu*}+n j>^[`u]1] Hyazb^\5Z=+> -A'kgGLzJ>"mvM9a\ޏFgya!uaxn+=w$f=s[2ApٸI;X!01η1;w1 Gں+o 9ks-0p"gNϮ8aL졀3 *FV&v?DRwH̻: }Sw1uN$@KDMq=M Dx`EX~OR4[ܙLJ RvoAm^5JyxwI@z%iG[)-zÿ Æm):(d;ݨr?*<軳փ_3n#9BR)xVؚ~ /EυM A﵌^s'WI?!J*I8PL>, =S$ IĖД-Vr"*0&C*92`=J`Wر'5hΔ":kUv:ed98 {Z0 Cho'cI)f.C)\JRr)}JR)02A.RҔót'Wzgp%dʖ(HdXJ7)5f~wDŸY#F.s9_"\?a˨d/Q4(3EjU˃47!%&NzM>XkKuBUe$Q2؂jXv qۦc\ijNc5Q0weN_T"Yrܦ?fYPkB7O |Nj>r1F90A?A[1tb s=&NI*@x'Yb{d1cqcsK:!pxjɧ4nY*w|U,Dw\&9(&TzB0L2m{g\_%= һ!(<"c,IT>W`Mu dowba`0|e\tJsC}(@ϒ}>աřat\+o3?;o!vC4X}|,lVG)hl}Ym6=}uHzj庐t+Amqi)"wۤه<0)[b Z9-y/TD3ޯ5u~(kG%B}{}nE f1nm:~NfP5^%>)'l"0֓ #k|4?'-5A̝߄=Bxs T c>(H6NG(%nIfDKcWMo#ekh=RG-No0Ϡ5uW]C$\ ՚&y~h'0 @r1veedG7v#=<5Fz;5e-߷{qfy JI< (W+Q',Q8Ew \ reR2&T8jZ*J)xO/=~'Ν@#P,Cy D6R,~[rlyc0Gy1ϑ)*jLtqP!+rIn6HXđ,۹XC@`k)Z`z=qh0\oNpU'6?txtl/ʃUxjZckrt*$n̿pUp%K~\31iQ8V~vGݣQGÑ,"}Q#B'?=p/*a#Q+uòX5 93BqlW=1?nv?O;~l[nH<4 s*9P6cr4o4x117iTjx4utYaW0 9S\9ȦE ; ꠼\Qg>eK58[X ЄUQ.aܚQ#AKGXJD7IT^(P7PK@7SK3,%iC N,5tB9dwըoz[i}C',Jj/UYʁ~cr4`tٶ؋8\lWQ׀^9yo&=QX.CڰP?sSuqhl`UgU6zuph,op7لjY<_&?"އsQcUZ|컵g_u'ԛM@dB~U~;%_.BN.lgEZԙZm9cYe=Rɞ?4-iڞi|{_0L+\h\:D'hYj0¸`1vhf.\1Nj 0nOoTu =zH3r~P"cC,JF1FNߊ6 O`_`y 5hK]Em=-Hi9J-6 (tYIo!66l xbvH4Pt#{U\4(3Y@t8aHҕy#IcZPVjW8<{o aZMiuj0gƇ-&X1C~\]r0_qNeomeeH<."+Y8lQ0&υ"ʄ)\`&F/ 0L8taI@4x0D( 84pRK@}1ĦEs֏/gusJIG N9FIXg` 9R~pc"O3TvDžeaHBAfPT TqfDR 7iBΣ@@9DJ]ƖWk:Cʒ~iH?~z? @jm. / t,hE RMr@/șk]Mӟgd_ĉcњlΌLDЬ; xlV,tk|($աw̟Dh;V-ª7xZi8srq-]-4h)q-J9 ̆ڣ3Np-8BBi -LO T_D$^5EM,24Uzd*ofKIMmRRPL@ Lw( BFE?MMr0)\TD4UcltIX1Av];fG#dcGG8mH$oKkI:LU6pY8ؽ}Dl8hpbsSD$(]@&qHb#d`0&A٠^DQǖ SC_Z'vXa/Vk'A j`>O QanA벲~}N5֚B.R/x 1>LK"z؍*CspwE;ꚊoZ `=<ta…~gbgf$iܺw/X8"?yˢ[/>uBKLl"J\dm˖+DTlJ:Pе+XM%4>bDȗ3 ,FNnxU+{<ZO ?1WUkQw@*N2HLSn+N̈́uN'g+h0QW)t3hjӎZuJ^q8dUjLImZݸDY&8ρqѱ7(2"Z+qnHnh JS8t q 3ɔ'ON`%iGr*cm Wf 3;o$4;"!2;5XwAU͛O<{{|z)1x65ut_z9Y q2}+8_).abcpLi EcVѰ#Yg>m@@U{~@ZxQm7!ϭcH7·JC`=hN 1sFo04ޤA4_+ R,d 3LOLlzov-Ɲ&UA2z:PMt :OgV.%PI%@~'i+Nq`Kg4[oㆆ0%|<;w[i c"*ն2̹h&>{D[f,Pi5+MF˭ >E[*%[݂`.lMF]{=Tw THnqUʸwKahe)$޳^ݟR(3x%+rc 7KH#  f2vKu.yR۷i[8$o0hOqԳquzS;GɅԢ%aWq~c%bB^mn%nWC@^N&Wuf %ɥl^,0Vj,GT~=YzT5+s!uӑ d(4hTICcnfSԚ0Hv_m6t?"2\ћ`^D" СYgx{㒐)'cCjvY*t^(oۃ2Ttq$׸WRmSY0NAxBxC`xķvGjyH.Z}%l5;ᣊG>v͸P4 JJoPec>0d) qJ$!114OzCHV;'d@{̦YaYf?,} #"0x a%OQ2rE ѽ KщhDB Czi(WU myT;΄Ԏ^70zGu1iMx~M<{Qc=5uշvћ5֎)f^W9V\n{>鏆\#OK_ղxGSϰ%{ݬh\_Z(2'X^+?io+@",>3ry2%\R3=O@9&; /2"*FjkL& 1I78Wf2O}=y)@T(Jb$PjbJatIL\.'𭋈ߧ"5*yq< L1a o[F3EW|JJP@i4Mk ZL>} m/<} xѹXі%tcu=11vsJ`pCQ=ShHʎn zwb7lݵIm(VYDas~U4ѲqMr9fcw)aLm0/7yZRQUwaƍiK$RSvn5nK]^lp;ժuz϶ ccPKR{@n9>::5ަeĴ* Z.|| Cn+s0 hgvV*t5ZFSzUR}V8Tb|.:.zg%kH nJ\?'8?+&Ż!~5rלQpiG.GhO,Jm9`aAK5$/"X4Zr縖HEAOK''URo;s:JmPL.~QhmC1st=aSx1Efȳ4-cge|!pb~?br5s a>y4 ,eJ5K~w*zi/2_Q:^$J@Z9]1i3U55X=n7G Lڻ*O3{/@pܛt,"7>c^:rA = n>j:"?qݸS}s["YO u U}9ld`M.wsI{ွ⒎iu$~YJ[8xg8)πiOxb>`E Ղ2x/)N+Ƌi63O??x?ՇsnRP%_*$^KU.8&wpCU("MBc4K#N3C|y§^X@/0s@:-\`,(ՙcMJؙ.0Ԟ@@GoCj7i9OrET+cQhOѪًwBg)TH!TZaz@t<&U}Qp CL0["ë 'zVY| FuP:Q A7N~JwLqPhdҙ!`TQNufbr)˱rr2VEr)K9:x9Y\<5&3u~ÄRt?=3E'aVR{%Ruql^e|/iz@׭69C.QlK>1cSgxqol7>ϙwͣn~n' s,cS1cFG3t1<RS| 6b