From 4552b935060ca6035e71a9b59751511e5d9c8f5b Mon Sep 17 00:00:00 2001 From: Anthony Shoumikhin Date: Mon, 20 Oct 2025 21:08:50 -0700 Subject: [PATCH 1/4] Revise ExecuTorch documentation for Apple runtime Updated ExecuTorch version references and added note on linker flags. --- docs/source/using-executorch-ios.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/source/using-executorch-ios.md b/docs/source/using-executorch-ios.md index b77d5d1b252..ac738579310 100644 --- a/docs/source/using-executorch-ios.md +++ b/docs/source/using-executorch-ios.md @@ -18,7 +18,9 @@ The ExecuTorch Runtime for iOS and macOS (ARM64) is distributed as a collection Link your binary with the ExecuTorch runtime and any backends or kernels used by the exported ML model. It is recommended to link the core runtime to the components that use ExecuTorch directly, and link kernels and backends against the main app target. -**Note:** To access logs, link against the Debug build of the ExecuTorch runtime, i.e., the `executorch_debug` framework. For optimal performance, always link against the Release version of the deliverables (those without the `_debug` suffix), which have all logging overhead removed. +**Note:** You may need to add some extra linker flags for the build settings of the components that links against ExecuTorch backends or kernels to let them register properly at the app startup. See the [Linkage](#Linkage) section for more details + +**Note:** To access logs, link against the Debug build of the ExecuTorch runtime, i.e., the `executorch_debug` framework. For optimal performance, always link against the Release version of the deliverables (those without the `_debug` suffix), which have all logging overhead removed. See the [Logging](#Logging) section for more details ### Swift Package Manager @@ -26,7 +28,7 @@ The prebuilt ExecuTorch runtime, backend, and kernels are available as a [Swift #### Xcode -In Xcode, go to `File > Add Package Dependencies`. Paste the URL of the [ExecuTorch repo](https://github.com/pytorch/executorch) into the search bar and select it. Make sure to change the branch name to the desired ExecuTorch version in format "swiftpm-", (e.g. "swiftpm-0.7.0"), or a branch name in format "swiftpm-." (e.g. "swiftpm-0.8.0-20250801") for a [nightly build](https://ossci-ios.s3.amazonaws.com/list.html) on a specific date. +In Xcode, go to `File > Add Package Dependencies`. Paste the URL of the [ExecuTorch repo](https://github.com/pytorch/executorch) into the search bar and select it. Make sure to change the branch name to the desired ExecuTorch version in format "swiftpm-", (e.g. "swiftpm-1.0.0"), or a branch name in format "swiftpm-." (e.g. "swiftpm-1.1.0-20251101") for a [nightly build](https://ossci-ios.s3.amazonaws.com/list.html) on a specific date. ![](_static/img/swiftpm_xcode1.png) @@ -59,7 +61,7 @@ let package = Package( ], dependencies: [ // Use "swiftpm-." branch name for a nightly build. - .package(url: "https://github.com/pytorch/executorch.git", branch: "swiftpm-0.7.0") + .package(url: "https://github.com/pytorch/executorch.git", branch: "swiftpm-1.0.0") ], targets: [ .target( From 50383c5ee639943af05c32fa84ea03b54a842479 Mon Sep 17 00:00:00 2001 From: Anthony Shoumikhin Date: Mon, 20 Oct 2025 21:41:28 -0700 Subject: [PATCH 2/4] Update using-executorch-ios.md --- docs/source/using-executorch-ios.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/using-executorch-ios.md b/docs/source/using-executorch-ios.md index ac738579310..7513d65cfbb 100644 --- a/docs/source/using-executorch-ios.md +++ b/docs/source/using-executorch-ios.md @@ -18,9 +18,9 @@ The ExecuTorch Runtime for iOS and macOS (ARM64) is distributed as a collection Link your binary with the ExecuTorch runtime and any backends or kernels used by the exported ML model. It is recommended to link the core runtime to the components that use ExecuTorch directly, and link kernels and backends against the main app target. -**Note:** You may need to add some extra linker flags for the build settings of the components that links against ExecuTorch backends or kernels to let them register properly at the app startup. See the [Linkage](#Linkage) section for more details +**Note:** You may need to add some extra linker flags for the build settings of the components that links against ExecuTorch backends or kernels to let them register properly at the app startup. See the [Linkage](#Linkage) section for more details. -**Note:** To access logs, link against the Debug build of the ExecuTorch runtime, i.e., the `executorch_debug` framework. For optimal performance, always link against the Release version of the deliverables (those without the `_debug` suffix), which have all logging overhead removed. See the [Logging](#Logging) section for more details +**Note:** To access logs, link against the Debug build of the ExecuTorch runtime, i.e., the `executorch_debug` framework. For optimal performance, always link against the Release version of the deliverables (those without the `_debug` suffix), which have all logging overhead removed. See the [Logging](#Logging) section for more details. ### Swift Package Manager From 9aefc590c41948de3d762bff7ab78f001846d051 Mon Sep 17 00:00:00 2001 From: Anthony Shoumikhin Date: Mon, 20 Oct 2025 21:42:14 -0700 Subject: [PATCH 3/4] Add files via upload --- docs/source/_static/img/swiftpm_xcode1.png | Bin 29231 -> 29037 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/source/_static/img/swiftpm_xcode1.png b/docs/source/_static/img/swiftpm_xcode1.png index 4e624ed43dfaac23555a9aa3b81bde95ee221b5c..b9acb23847b0b942badca248038b2d21deb3450a 100644 GIT binary patch literal 29037 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 Nmy=d_RU)bH|39bW$x;9S literal 29231 zcmbrlcT`i|w=RqY5fM-k0Vz=s5a}Sj1XQ{dr3nZD=`~94u_4ksNDUn+(u;r)kfu^X z?+|+Lgb)&v{e{=}ch0$I-22y;F|zl{TC+TJ&S$Oc?7b4AqoqQ9<@OaaGBRp4)hEx% z$S4S;HgNd@>3EM(Oqq1LXsf8HNJdr>MRjUHPWpV#?YYV$veG`5buzN^GxmBf++S!u zm9~UB3s_h|Us(%yJHIALk&(%IOOu+;*6tQ}yq%p~+@!tb*#D7`CbiGH1=;WXBjWBT z$NoZ7=gwoOtMwgm0U-e)cKIuJ?%a`ewX%_Z{zUm-bcznhPXyM;HuiyOyZBmc4U#M;f$)&8}+J=EpSnO%!lP!D%G zcJ?zz|MmKd)7snqzdgCQ{Tmi3K*6&SL16(Q!T+0@yS>f-L+xzjui8Ix{dFgMW=vY& z&D!-b)Y;kE#a&+4($(79#mx@tF8hzC|6}mKasE}*vG=xidhx`br0GVANnTW3Sma-| z|2_17RWJkFA+?_%#RPg488b^mXz7yqp$FZ}SK zpzyzH|Fi#p>lpn%bpB`m|JKoVwI}7#;tZbre|-GUzJKLq15D}N!{K zW=N7#Gh16*L?ZF++qW~*Q&ZD3ZEbBNZ4_$mSbMsi7GRfd~u@4bRNX9v>f*y#D(2`}Fkm;NW0taDom!_(W__xbbZ($dnYnVF`hCLbT4 z!otFUfPk8s+DDHb9by5Er%xjzBMS-&^78T+gMpl!-0MNW`@;PfFJ4@6oDvce`u_bp zS2VyH2AG+dL7`BCG+<_Gran|#PEPJ_B=F(G2MQPUTg=Qj(jSTToCCm*=dbqhm)$XT!jeed^ls@^VH-M)NRc>wsWlVsZ;Q{UgTI zB55@}J>AaEZm6^N;lqdeQOnxe+U4EopP6pYo;{1G#^<#itgfzxGy=OAAo<6h%IC$* zmObPm@TqK@_05cs-`w~TZnURG5;pHsu+fs@G%?&aFpur7O6n+hrx~_%-hNX4!$MuK z+Pjji2hl)4;pWsTo`sb)u5LH1a_8q5W^!!UDP#Tdr-h$cUVmnBMO}x#O2S@O177(X zWBpxfSwQ_Du^&+!RkQPZ8r%CF{yJ;DV-h>qTF!L)cHkK+X8UH3WmACR#gp`(M2GY> zyFy@W`J}HQM?3<^`MK}@x!~)MsmSbBh+C|hslUEM$U@L`?KB`z_|uS#%yC}riK3qO z#IvK7`CPsMo(`mXMS0c5R!zKd!NWK&wJJkNSVM!jh<4e~OtTL~xqy6#VXV;NL1o4m6u2M-oFEMA*{# z73y4nTP#f0+@tt#fQlog_7(^xC4v0?bNo)>iAhN^kt_kqo=S+mip@je8d=*sV@964 zcCGQfC4X?ICD(J8=_Jkv23Fi{qruB=2PJIXM3>Ri=WFpkl<`mWH7%-Ii`aQ`-~G3n z%9Cflk<7*_&pwH6uH<$$t;22C7<`RZBz7t_4i;z`R}qU|H$7KNGnzU|VWf(#nYEkLyEH-Y$>`yYtc(EP>amA9|8RU&O0doS5@u)bx*NKJ{73*wR( zwWo}6;Q{Hr4x@j!JUYE(Y48l9n!LvKjJt$G!z^Hz`w1Zq90mN|M^z;&z%Juf zYK-=~mF;Tbo>l`MErK?-)+koCbaI(3w;Dt7rZtGo9?AmcqqM%WCzEAt7Il8Sdl@@P zun;JPaXF~S>fWC~CSRMSymZVmba-{(wi~W)oI^?C;d9&jNmH@vCpl@VH|dpn6OS6lzU^{kO=5gkQqC$P#|{d0jgFBOt$tMsy`zCw?{W`Iy-e z&GtGE`O{^OdZM;73lax0GUH zC{wc6u-%f%#&CEvnYz@P-~%r!wk#Or*(J`=;akwoSyDPDhsvh%gwdd(?|KqfJ{Dxd zV(gj(OAS$Ja5(Hc4FSHc6ll_sNvRm72v8%0*`ZkL#t$n)3^pVLvzQTjL7br!#+TvE zb%U-`jLpgCY_j)@YY@XB&MQrhiHEO@;a7&^G;C{^y^YiA$}UQ74r9&8LT7eWpZ^%O zYAMxsPLL6a>W3-lQhE&V*a~iihy*cT-0jPZL< zM4Cl|0BlDXiktxN4C)ii0uMbV`n*-7dw=T#Q3ReWR(Fa&IpKSyN5eQ(Ny6BS2@u4k z3Ij*YU+!~r%j>U>dki2L=#f-2EZw^I9JM}De>D2}nkXn~!Y{RHMdlLxow@8|NsCOC ztE~+;;rK=VjTz=}%+DBeB$@5A{cF!%hhR?^`D|rcQ)n(N>J9)LkB{K)6@d@p#n!;L zk8H=D;80BoP2N%~@6Nx^Of3w!opNC%nlFs-;!{}u?%*d@%*kZax*#XAVZ{j>q)_bM z&T7j*aPv*OgQN@XYSUBT5#@Om1Y;qjdpMk5d%r}3Tb)i$M?);5?%(j)cvv&H7Q`_y z%D|R#6SS5MeCh0{4bB;?76x{CR-y#VHqF7Ll7V(B(d5hH?O!PssT2V+7;uHQ$p+>h zPs7+%9;$fTb9~hq{+@VKpzI*Co~47#p#jnNb~hXLB8qN!OYy_XY#_lP+H_ZP@rtvD z14~=%u*U#+t8Xh8eDrL{4infrL)F_H6eB2`_Dn+n7iB;FnT(N7O&3oDBg2V6Vg&PN zd~hcDJ|UnJ>m+IAZ`W5k#KeCyUTjwDJu8N3q97Y_&+}Ax*VHTWM9^UW?)y(D z@G!0c0CqiVEU6#y+f8>1ay^GMu`dyh6eln{BU=-P5X*`d8p2s!K~#=pu0@ z&vDyV$JwyzvCWW?9j+K*B=^|KAMbSJsbfCK<^1F?y0VcQ@pch<_S;yEh{B-{#J(OH zTyeWC*8)1Ln86_Xw*-y)v(X67*<-ni01FWU&*$>VwJ#Aq{cv_Hc;HggPaIB~|H4DA z0a(fxKti@lTk@FV{jE>L&RcxVEZy?rOPwFSl*WB{)Z$$CM5DI6Eij<5U>9PG<=Rx66Yy0xmV_d6GHx{HdMn_=tkstVUYbxLbc`1mni`!R5* z{v0ho4s2{_eTxbL2xNpLs&DQm5*GpyllzbaE&tHkS193?b ztb+lI>otD>56{sdga_dAeI|~0v)0flcfCe7z5J%N)i&B!^STdwHTB%dzN9#=z&k^E zfUn=>W&ax~F2du5Tu4!n_eP1^#g-EDI{n%QUN*Huh(D%*0XH(4JkUR5GR=YP(Tz}5 zg^l*NARtG}A+46|p#y`n=<9*a67Zwb0$Ee~$n{^S_i@DS5OhHt8L9&6Jdq8kh0I8r zGaOSfiruwST!S{hP4KhWeN_>K+u1z&5L^MSvW-EIf%Dh}%EUI-Y*ffth-_o;@XOX;l zDRnH^;F0}G&W^;X_{i7dzEAQn)b-8%0oP~iH(3*=M3S56;bZzrRg26?KaEq7uJ`f-x=oh+bitLO;SG6je&s-o*S%HNmqf+bk&V#{E{ zCSt-9iaYe0=3|{S>u9uX+ErF>_v*Yg!7Fv;-pk#SVgc&MgIH;moQt~843`Ji%?2d~ zsd!@^OxzYs;6l*v0b8afVa&hj+16Yf^4gPJT@L4T7 zVbqE{Oyb(DM`oVpkf-G@Mq}>y?zh>PQ}ae!fX;JW>j(AJ>*;$%$<yB-f zPkJyx7%7z2cTNLjQGLgiu+xRA@YCI57Cc-wkO5x+TuVnR7ZKU)bjzmYhC<>ZeiM2t zc)Pr{iPl)}Z*UXGwbv`YqIZ`H5fi4)s^F2{Tg5FdvO?0qE`9V)S zt7HWbjI|a0Y-pg07&*qOU;xVP?)g|eRo@m!Xo8Lnz994wErti~;ejbE#V*$E09pjDGUI*uQ@wK06iU*2?=^w(z0> z;znM+!smS}wyHouP2Nd)WWh0RpBcle2HrTq_<#2+8r0_3s&-ze!f=?$a{FJ>Wd`Fy z5BI~ELbNYkzn2t$ni}o4y{g(FuWW3GU^p(80!Dmdqu_qojG$HGZSe9mDq8N3RJHF{ zWZSz}K=H!vBJ}>wIIvibcs??)3M=_Gi?L&q9$fUT`F*mm;T499DaN`jSh zI$)O(hk5GVwBD7TjGvOE(lQ47yg{F7?3u>kw8>9+BZSGqndt|#yT3fEQ+KQcT_~w- zBy-eTL)v8#{ChDmy7=W=EfddL1FfNI#q;T(w`t9pv>k+MB!_AvwfD@@Z%XU;RT%YM zwuR^<29S4#JHyMt9b*?HJG{iLS~YV^__xXig~K_t^)dOwqgs48_7@M3GXJ%o-MY6~-s;uM>hUEF)Q z^Gh*P+Z@Is?)H7U<$76lringIkv|;1aivzbb1Xm8IqC+bm5p!IkCYVSR=S1GTkf3) zZxZSt5*@E8C%{3b3-g5?A+^r_AERVk0~mDU@(h$@2b(=PLbQ9vF%?W9Fa{gNTLcXwbUaz1+DoXk0Zu`4wQ=X zeWKzfQHupH^JZZQA#td!Z5oF^Xnqb45=|}G2LZ+9X>Avp>^6C<2G<{8{BscGubU$? zlFrrINtsiA%c+LFoo3@LQ&&S1(v|c%Rr|QN(PX--cMS=On?ez_d%I>fh;#kZk)E%w z>Vyu+$JqOb!A)LjPiXkRkD64&Up1w85YlJCq!jX8*k&o>gyoy2@FnZsFPQ!F=ewfR z@TPPknlk;%T+bhhJgI9Z;#G;=dcS;Y>EybEyU334{B~lu)^A0~)auarWjpz@Z-T5~ zQ?S~NvXXsDg^%0ZnB!73Z2y>2{H9ku!V<=Mz{&Rvi_-ha?Sir)W;_uzZVdC@i3(_a;iDb}->#;3+?DzQNXpIei_ zMRS!mzs~96h314i&TT6tsUC+ALQZ`gXESB9$@^y+)xSo4cq?|KZM+ymdwfxj=bbP6 z-cw+(2eFQLXL`(VdRgXq;mf-Uqk!4pptg3$Q6#EK^blt&{tQ-tep2{y*EVZIK9=zo zMVB(kGSzqo`pITCG_bBf)q3#B@-`z8mKi4ugc}1a>$J=iJw#Is=q}V4FO#1Os@kUs z43sw{0sZ~sXJ@m- z>ui$5rCI|mi_F5Tb4c5Ymyt^M9=Zu9(_v?Vf9Yul-$l_ojmqpjx~f^UJxj(41}mIv+JY zM;_-;Ym|s>Vwkh;z}jCEPS>*cfz=6OJbqEr>*NjxLXNemxHR6jZyXPH^!YyJGt1kY z0Nzi4+Ca6M+Ajj+4h3=I$8{gRuwvlb*eb#<0}ND?_1zNIMbt`@tlv+DX(v~`Agmc- z8)c`jv>CA>*}C&Norj~te3mD#q+e!(ZydYAu^jlG?~}wQsw~U$ z{H?nBkO5e&epJVT$8&T~AP^|PKG_$QM8Am4zo!23YBX*AwZg8&o3Sr8X}kFY?1LmB zo|G4bD-d2a-0pyb$djvs~|xrpRX`+Z8Tz5I|?7Q7($+SWSvr*dY|ibAHm_Ejq!|94K}zKA1e z0rXWGzLYFTGNVzMl@GaI@|s<9 z3yEvGmETs23BwG`+yZ0|%Z@<8tGsL!Pkmt1-`7wp#O7IW!J9vX3pOwe`Cj1)OC)?8 z9EQ5eF7on`c=0usLijodzU$W}cWzW-64h-A|36ZvH@Fsn8*YHY@e=|03P`?zJ)p}} zc5MRx^4oW2x2HeIg;3xVY#0Gy@n1|Z!q9rFjjsBKi$gfUALpTFVnt0ykY*aSK>hXr z(V0?)*7`_rp2|v(n>S_R(|1%>u&Bh&s3!%a@$s4z*nB+fgLC5G5(&wEYAQ7Z_I>IZDqjWc)CO{&85HVmcH-cEVIZu2}; z1s4t6kbq~k5swa=Aaj1jEK@R-7Gpl3DVTLG~EIZ9f@PSa$?`nvW!a#qmf1+(fXF zmuIi_7zb&RPCUe{x`%t3Zf}-F1`9Ud+kjy@RFzVQRFVkxpoCA)1e>PGC0loQ4(-9~ ziqsCmW1A7TM#R5`gBJ)ym28MoC<|XUJv{5NEn$WpXeW*~r(uTVId30H+9Pg&TDTqg z)o98z>hCyjK~?@}3o$_XV#RIN{JLsoTiTIozNx%}xrF*?X6ZpXx z7~(IZwjRztxnE$=&{-znb{q(&`cs+e;??`bwl_9a zP`=QUfS&4;OY>tHN5^|s50ev+sl9_h&coEz`$ezb`=IuTi1`zcL#F1O9W{^n3%yfgUI={>5G zUR5X|tf|V;-tuJeyZKM?+0(4(TJuZo{i^&~x3U(6V_$kds(tW#p{na6w!KqF^8Q+f zg}v+xv9$;W|-!rIRr@_kmGx&gj^yC>UOYu(c8`?vGh~b?!FRvSQ*77oNYs>9gKbiHxczbkO6bk;mJ0)NOoFP`x+&tF?F9(i!3`v)su3XU&Y0d{xXt@2k( zHtxyCv}K|U5?DPbt|8_4P-z?90E^Am>#H7hm zFn0mX5rW5*vNmQR-Ex8_`$7;wg)3E3Z!YXw&qmXP>c9dKzkV$Gc61-tLqd_ON%Y;v zKO`zo%X2cWkLK0|1{MSnEpH*BC@44h-J5Da7R#VLX59fWXTdC8qK^ncwdLQt{gG6}0VI$JU14@98<3-8!Vn2o;!!FJ!1L&t#1FiwDl@qIr0-9#RQ(cR_TZol^hvB1#ud1J$X+I6bsdt`fjB(UC2j?e9r zR6}{Y4BnG(U(aE1?o7*rgW1p{MC+Fn7U< zi2^4IkU%y3X3v2|Zo^}>o#Lw985FLe+Z|??*Qp_(CUw*TqYS@m`_0QJzYf@N0)8n7f!Fsom6?h zBvFxZH*yq;n$4Z7YhdDNgl-GJR_YJ$w4d9OfM`tpI1 z-zS2PfJo`}GRDQdf};U2?@naMPM|5l0B0NW%b3-A>>bI@Pie`y6GQK{8e;I+pq3kx z!85hCV3ZYLj{HPCT;8MA8xedDoJg<3@5uP$3%LkBT}>*YzQmK;CKjVQDW1!O3|PsMNalUmHep<-Z_vNmn66iyP>MG^@UN5LMt#v3E0d9 zWapdE1a(u2vCOtDI3j@0%XHtPES$5GT^&9_vu?j@#<} zv932vAEZhQ{Wfk&1qu`;$k%fb%FbW+yRUrSFcXn3YoCs%46@=!gV}?Jyw=Msfrt0E zJD%bk1?2`c(>@TE=ZkvGm<}3p;Ogpw$;ydMv0lk`wxngGrgpNKk-qZr>4@e2cyx)B z(i!p-$mBf|^eVw?UzIx^Xyv18uNg^e4XaElJrV)45I0S?yHahaa3#h$M9(8S_3vp! zUzv<0H{;Q@6J-84DE1YU(w?Y%ZCFrsy#O257EbidTwCr_J#*(h2K;c+YtQ!Rq$_6* zt9p^*NFqab(kg*EAI2pn_UyYUrIqbT)}wWGrYS)Ib?60VhW$Sxbv)a?t_|8dA8)I} z(x*NwS`L;g!V)TQqjQ2gFSDoT4s(^dHDM-0>ENnz>rFo?2yV@(=Drk$%q$fp>9dKFCLLYa; z=IQ?ag3KU>h&iZg8n1(ZTB~O2_D}}YUn&s>Z8)3< zckQC$a>^_#ZK9HO1(T6h#Z?U%+P+sb{@C8V-C4c`NHCB;6-g{W@uV+A zLLWm3CTXBAL?6~uR3+6|QNwU~2B7pv^(CN|SxBQ8{Y{<*Sy?k0C~9abXl?bTved}U z=oWU5d0VFW`={gF;32p$gpT{+q1>DR!NawT33|B-(2>S@fT;AwD-}je}(qP!F6QaxH+`l5+I;X8ioWZFUO^4Fem$UA)nHsi~sDZPylc?r>xH$?B%qDzSNNsl9H5O&*zhVf}RCM z!UwH^_wW-?xjyBO?dRU1B|aU40d6@USxR4yK@=Ef?FW&>&J#9Yt{;aElDh#PpZBT* zAr5GG4wU>81dw; z*LlA`2@@p_YD+Cb=f-~>xLyBuI|yRuDnhz-J*cudj-ZQr#&<}F;%SQ99v=iNuNwd#ciBXCd@6*3 zL6CHLpxu1fw?5`uQU=FbLmHdC4mwKlWpHW2%H~82Ad8_Odz&@^{9H)Rz=6GO_J2mc zd`mb-W`3{@`_UbcbPMmw1HynK&$<@2!9)BA4F-YZ=fE5vT+dp0?Azq zsqYLPri*wMbU7G9L5k=tN#`t;TTz5__zPs_ur1nuRnNj52kIwb_SQQaCo83fafUUY zU&N%?3GUZ^-LufcUWGKp|E^1Ah)ePmLqgI`jDDUu1AoAP>$;S!M|6{U7(Q}Q(={2C ze)iT4dBg#foMgEDW8AivsNtr>T?wB2!>Utx>!v}819O6b<|`lGrJQ9qjlVM8M7L}u z=88X4Po(y>+%+Y_b@RM+Ov0n1QjivBfZ;rN_+f}w*7Jmv(EQlv!n5`z_B_mmI}CS0 za^T>z2w|VL5Y=5B7siTW;vdgHpvv~p;M^Cg<%?f{Ka%%twxv7^7}y$zDOC%Ggd7!B zn1#NnHx|5aN`0O;NG8;u<>bmgd7G#J4AUyaAcM*^)nA`9-Vx&754!>1vEu+emjCO> za|@ z^OE@F&2O9_l|Z)t07+8)s>O_tA9n9hXBWG^+TNXVmCjctuK_TpMUcv`hGQcZgk}YJvM9qr+hM)DAtW{p+OE(rd60MGyaM3oX!H!w?R z`eh{pk^Zt$|6pV?J{II@x|7hr2+=$Zq!To>ebqR5r~0eF!T!?U(svQ9r82{R&`W$R z)H62AOC4QESWhUVI`MY>hp|S!m3^}~1tmMW@!V>H;(cWzI;-1d|}IMyxDcIDN*3JKTzWwiF7_&(8^(+ThMQ7q4689I_z>D zgy=VzIemR1WqP3HvD_^&THsgZbBGh~T$TJ!l?6lhvkdsVN~@c#G=B(~^18fmgk+Zf z5JNNz&%lqEyW2WfrT!!9m1RypFdBBl_Wk#G#)?S?>s-crqY0=cIR#*d`S?==^37ie zpB!M!WsjKUt5Hd2(WBnZ?Oozxo$J}Yd)^JWi zp}sT+)WxA1s-(P6NZZ}oR*;JSLg~XE=HCdSkJs0>&U-2A(G=rZ!r$dM`US&8O!ac{ zIM{rg2!NQuPQ;i0l5+C__-x7A)`ltkHr9DjQRJ*=AQoba1@j$AjDf19eWDV*}?OTPAdf~l;~x7%t`H%lw;7}x1FItP>`65pI4;*QsGc)Jr=R=hZ3 z7Yxfd=$U|7+vJCk$bnz=L?SSp!WCv>qZ+~jhMVMh#e}8idSXjnee7WQG9Y9GoU~zC zmXoW1kckP1IqYr0@)+opu$I`k8;IR6!-0KX!qPl-dXs=T+KcIm)0YxG;Nk!p$hirn}KMm|AKrG3nA(T^L8_ZMJ60p>8r3k&>~zzu4u*wyQ9RB#Snmh}n10tyc}HxE9yGQR zk%L5oKV}6H_9fJbMQS5SN{N7w+?QUNy7+;7yY0DUAfi!jb*y9jPJx^}=tOc0M(h}Z zmI~AWI})i7DA>DnB25FjmEp5Xx~WsA1$4wgns9p<^{V>86WgKFRw_XjmkdgFsCX(| z8|1gVRXD_*D06{UqTuJ_Lt8EP%Ez`|P?9ayU;{|&`RF%+?i-HCSCa?=KB_{Ts5?(s zbpf=gf?!uolJ4Im%Em(L_HR$wE_r<*!1D-A|LY3_g<{MGNRRJcnaVbN!wCRgo5Z7J z$Y{KK=jvV146!Rvn%QSDcmNIU=`*uyJi%90p{_!b0x_OX5&JXseM1aG1qj07@KBPC zEznK6H}=HC>D;uFnTVm6h3DXXC8mmzFXI=B*98Sf6&^oUa{kHAuHAtpzt72Ks^(BM zVK)=paG(8dASEqMr=31eJ>tpT^Lf;}=Wa`U9mi(>j{Adu$2i0QeDLb?H}Vv0w+DZsrY(R+ zHI7hfrOuag=1sUXZSs|{Yrv76@hXE$x=Vz2OHdPWr|8+YqbveOo zcOp78+TfA{^94G0@u=#E^sCOM{mA&t*^SAV8+vqKS@{QO(=CZFIRkWLxLgnWe4EtM zHjh?Te4#>~pa*pB3r*7l;)0{1ez%#MvVKq-mvvohQkhaN9(kJ5k^a<_GW4^WDRwKz zgkxpyn{&8*gc9IA2zm02jwM9nUVhraYuxfD(Yu}Rh^}~47U}*3?M9ib1H>YsbO~hre17Ail4=;WybhVCUquu^&(yl95T^cLRVaa-VkO`d#CqA4s@S=)K6~ zeEH<*#!p+&$nCVpwCLwBw@#}M~T#VWU<%BYP>gbgu z;srv`s!RycOI6+!cflo0_$$0JX^^nzT#NNn-=sV@_T$n{X=dmSxdL9~`}+@pYgcEn zRp{MbH0^I(>f=0`SQ_52$6@pY#H~sWz3@k>;=hOw)**bZRI;x67WBpKF~svz6H@-E z4fHGR+7;K;f%y2ZQJT+-8adlfqZq?f0hc-_xe!%Ak#n1$GU5$H-wK@rq)wHY1jI&c z#W>LxzA^s%2pe!$KZ=%2otODV(o5#6BFCD&Q(9G8YY#|&4nSmXSr}??y(sItV_Oqo zsCaTMT#}Z^+VCQ2?4C$r*i)cSRdmbxJu%M2asb?i26|M>vvQ;%TShXi5W+UfTRDPm zQ`i+yGC=HrDh)`R6{ROoLV?7iEF+lfBOSzb`_tt6a4tgB>cEeC&$`bu1aO=ON4fAw zlHcztt9{gJ!#CAp7%bSw?_jCmjS-6*1W5)O2htj_WV$!z!sG@j!w!l?DX;#zfljg* zCy!?=>7@xz#WX`}hYNKDZG-w%>4IR9WF#7d7V8#xkZa z@Iq{OhKyYU2syt_OZb4kKJ>{8J!k(`fB2p zbd~{vN~oBYYmzwjg}@IL6wfCEHkCMDHqNa#9?)NG$4I$WUO7FS(%0wimA+uNJkuFt zGe|)d%1zsu;SrYi_P4LxB_A59=q|Y^iw&ej(175nS3h=~Po$6v9-!yg&LSCciUZfy~2fJYxfBr~(-mLpjwp)i76Yt$VkzgVv$hSQ0 zl@^Wkp}Bi>f8VMF_E9AHiB2N_&6l4xT04$hbuBIkhO=GvCM#FMvbVlR({|(NbnexW z?{M@34=&X-nT8*cdo-K>j4*f-Wbk2JnPL`|;Kb6&`6zh9FRFs-KAX)>+@lTP@lg}E zD;iSN0+5Sj*xC+KqP@B^{lZv2pzDpi@+W-dlxg|2UibAXSoc3)wly7z5V>e^BdA!k zS3X5dl7dOAT#C4 zf@M5C?Ru`fPOk<_u%WKB&T@$DWVkza|6BRxGX?`9vlqLKL8$sWeg-@!{<&VSx`H%B zPk`fm{Ufu{j6t(bDnqJgK3Am7+PdipA7TLZ9iCr*9_;P07iNBylS_AsOTDt$(R<%o zwIV70drm*Z0M~+ycmkYD<~jaS!K|1radTPqkbut_j}6fBtO)$wDeN?BcSrW?)}y7PbF^{AT(4I2id%qtWBTC(ph& z*rB6@+6D?=kT_V1)>f~bFl3@iVx+Nkh&>dgAihiwG@%^`Iw(MBTHql^Fl?E@Q!hGh zRM7`AlU`iS%S{-=(hzAvQ}Y*eG>NvX^!~IqV&=+o6OxY>Rl+6;4+fvwEj}N(%LHue9}A3l|8k`HOw$r&B_QK=bG5 zoPJ7hJ+n>n8hm@+#M-GPF5-&SgI4u##9y?DF4^Eew@gSkP^YpH55D88=_Y9MK9xQ4MkX-7I=!iGWhsDC zQ&qo#4cGz*}f77Jnhz%G`qx}%(n@K_}$e_J8|EHsy z!qVg3ig-Y8yQ})Vh@#bVh6v(-4P)EwFycNj0mR%~;BrsWI@I_1qgT&=?V`tPP7z73 zTmTBZ%vNE@U2d}4l%pKdzw#`!#jpD1?%QVj<6;2Qe3LIn+UsVlS+tM$tq+BpHCxSF zRIalFlMR*!X3<0|+B{x9oXN8D0HQj-v+G1eExG+SD+(|gm8~vKc$~sZoaaHdZxzp`RPXX0C@7MVH1#_EWdJ11=!F3c6k@5@FIer-7_K^Bj!;x`q|um&!?KjHq2Ic>1aXl z)6rgK=i65{3I;~>99Kd=T2aJ`Nr?{7YhOf=-L;CK`ds??3TYd`rH5BPFYs(#a{a=& zzd&0ufNymQCtbc5m&u9BL82`c+&rx%JbO2fiykno=$37a@Fphu(klA$yAOuOU849i zCB8CGsj%%#N3gsDCpP?Yd8Y_im*3|uCeKLV*uhst?8qNC4glO0{C#WSUp-g%^L&gu zJqQt7kW``3gXMBGXn1#z{`2Z9@r7lJbK7+6j0$_BRzsOE)YmVOAD8%{i}Dd`hY5mf z@0w8WmAKsU2ZA>vgnu&mS`NU@xf0$<_Hv!$Pq)c`_Lj$}EL!F1nsyp23x3P{5K=c0 zc)Mk%;@-qtE}pDO02YsoA(~v-YP1};>`fL8S_($GfIV+>oQ|R-_*W!>fb&F0+^Mf4Ua_mq*PD+IBx zAWFM#9wMiW=qk)Ys4;IiHg?k#PITLB%HDb$VX=Hra36Ms|=y}fp}0p`$wE6@HV_e^w_L=fB2?bl&!*r4-NQZ^Jke-Lu+kE zos1SsvoA<160TT0=u^?e4d(|sV)UvlPmb&#vx#Q`3vd7fznKLMES_=#jVD^#O7Zk1 zetoaAjcoi;QR0&|1?M0vb9^~Wb`LoGIKw8`%_Q@63e_3ABk6UR{!Z^#?T+vwm0k2u z;Awfp&fL^G)G8r;2!8J*Yuk2b<@fno^SC^zb7-KX#buWr6tiN?heAD|(gu2!9zKGC zN;1*S2NbuDR@qU1N|e3RwvJKv64Fww0I(%BVME{@e;}G$>U^cFQjX)b_d3h;NK;g4MURq5=v&EjokZ?$%k6ied`VQyT^s8 zms4c8v8S)@@Dcn@ZePqtq)GxyH|3RTPM;prggFOs`xm!b4XFTQr$O8~xbf$1yGqQD zPhU1q?|NFU2K@RKwQSjKd7_xD@Rxp3#Or<}`em%c^J8-#@0ie)#qtv37wAA5^%@63)gksjrm_?)ND3*Pyv1g4_MLcOzMX<&)BQ54X}@`Ia_tmG&clOj*g=wR++X zb_nF=xUthcH?m=2x?7L?0beSnp9tJRAJbG-I=Gi|F~T@Gy zy-L{Y0|yzl+(xrzp}Z*h0uDBzu%|0eb7;qyK?Dv=XEyLdgIG>Yh^Z&K=ol#A+UAtI76c7a!=^!8o2q++(C>=qffb^oGg7l8mQ9+Oi? z_uiWXq}R|p1f;I?7fhmWPBV_&C3zC%VWgxc`Z^9YphEK7vx=u5TJC6i{tO?qn&{ zW&vzvzu-xS3W8lNS9qCUbun=E%9v2dX*~kygbnJ?Lcuj0f-S=o`qpH`W#WJuH%pP` z(`sn1giyOM}ANp!yJHf#^jk7wS;t9=>k?|Qio>s`bP zZKj{P9VuFzm>%s@`8WRjQ|orl4!;H;-W=S=D?BCf=bSX)UOn7!ZYlF}@s8gcy13pr z74{+tdA#Ztspj>}LY|}VUQwHm9puT4;~2b(FEZn#b>3m05ydJB(YPjTYrOD$JhRVD zKB4DNGFKzNOPu4j*n7nEDNv?!RTJ=}$rwM3(VI6fUednWf+!DF#U!P999*jizDcyZ zTfNrT@JeI&L@GD-fy0%H-uJt^M&-ohtPh0TWgI!Z-C_YIWL|ObmKAf7jn8dont|9K zh5=>Wr!h3QrfFCF&eFVZ4iFAi&)NkK1EZ4=y8F7x?Q?71L$7Y! zH|Ga$CMLsH&xH5M7|u7{8tgTCE9aaGXzf(gYdW0N7T2#E;<7zlJp{s+EmN!=%S##$ z?`Sslqo>wyNk4kg6%WlSm6b1ypP4}iU)P#3mp5?;yQ=aJ_2?t`Aoqom+z_tM^BPef;@PBg9Ht^K*lw94 z9$;Gn$VueqkEm9?TMtPKum;AQ6`;wr;TVXo3c9>sJIoH15Z|dUtWzR?BpeFvqx9n| zt-6e$>Aq-D8%>E!#B9lMc0%0Mu^qb51HBWn$NdjLR-U5zXD{iH4&aYBSrxww6HYD| zSDj}zJ=+t_C472xShgk2K!M98>uPR1jbx&6=qERO=I!`O&1A29q-Ha_$SY^+=u#04 zYuHHm?W=aG#Fe^W3BRZ#;V=ub3d9A%+mgv6f|6hBgPgdH)L^Pq!YexRc+qeWz>o~> zBnz2!hKHOx>kLg!2!AHGRW#l0GEB3a5ImG{9`Z3*Gkmm z545{t`v>+5W8;OTe2LQ)4(Xx>h|Y_|&yAw>+qgDYNH%ST3CK z<9(|EG{0VH2uqD4Y&`neCh(IZ1C1Gzxd<}%qkj6i%lFi%$;=yzGb}Ig$z(J9dLV!L z>XF|bA&u~Zh=CsXF6TKTwl`SC_sQkp96ioC^=GTyY%OBquiZ)W-E2S5G4`-Tu9jYXErTqkm@6V+1=pGQ?Uz?AD)nNn-?>2rea`K zucQX9Jz+c+XDRU@CUtAgWruD71qrsVZt{t^3f!{Q{%BFCAQgn0_-OWuGd z>RlJ(($&Hp-TI!t;uK6ZjroJ(Ei09!NVUm`zHklZHq*#zn*VyV?CIjsCi|BkGik`@ z1$2e`iWc8N*Bi}0CWb|SjU0WtkVOM;Kyn_1?|-P_z<-mhKX_(O0@|@auvxlcbc*FSB_zMXKn5$Ok(Mr4qu zWqQauLaEuS$_^FNC2Nq=G5AyGa@R}aT%M0&WPezU0%CwhBK-H1$Po91r{V=L#mh}? zvu_E3e$=UA_Q;ZJg+>YI%LE1ox0$bQ{NBGw;aC{>h5N#a6gPg)9m}Q0i_PAq$6NT; zVIsCIxm;~&OM&z73m*d39bn2Gsw3(IUDgbXjSf0rS_N;#Ftk`>PA93NZ2N1^$`I{( z11wVaB1B7B7_Ii!$S%+a3}p{5I2HD`Jh(L)_t|O1v@;kJB&_EZVr&)j8F!gnf%COK zXQ}#4F1Z0N>2Q@Wv{ldtKE68)chi+V2{82EVtjk!+|ckUnLT+1@LCDH)6Pb3jT=jH&6l4H91iLe2!0!-$z{yVlN_Pww8-^a? z{pi>>T_g!IzrzgxI3=&>9FpL3O?YSe8vEZaowG!$ibYgH9$9GA=$8_0t?)FYCe%T1 zC-5Ba>9my1ez=-F!FJ$KuUI1kxcm8mj+C*jP*86h!0A`9qF=~G_>D_GmfRP{Ej9o# z+IWfA^N?0N!_eaW$0LB&f=J{{?0OIF96Vp@Pww0Mr$cD~X;6Loon_Ef z76GQD>7=WG_4Ux*(Lnfd@emS*;%OdCq_mRe+a26PN zrW(N03sgiynv~PqPA3um4TylFG4xgY4!n34&`$6`6zkod;{IPDLtT5|CS`9s`5k(? zqdYvCpZl$6{WyHTKPH?6}h$ z!Z#I&haL>Wg0Znj-*)HlnvenFC&-9F`^qy8p#O8s2!T-MF_WupdYE^WhbJKvjOPzD zTTTN2KSo9v&)!TbyP-bJeuD7m)Ww!D?@2bQ8ZfV!qX%F`Q;T@>d&J3zUogV`eZ&fq z?x1DHxG``W|aD0%Z2smXi*WMNsS2oBDBB#>qmTu!73hljW0)GVS;-y zia#Sx7W0tqkAdLTUH1ai!dAA&sZ+xMuuH5*RqH_>gnwF?*32`+p()Z z2ZQF%qFt6q>arIw{dSz-)WJTEKsqf7#nBc8)H3dDvX`*m1xp?mZgM7mJI zzu*!KVKHTkDBe}YRX+vaXWsh9*& zjjJdy<^Ywf;h)8goY^nO`{gf`g29fr3x&BL66FUzWA@Rcmg6huKZ0$kNZvm?6(>@54U|fio3-psf7)6 z4RIZV|B)W{)yQ~}=}uNd*vr*~quAMPsdaQLLO0YWjQ87ffW`NpRza-r$U7Lg`JVPk zQt%r!ffxrQav|`+sviWNmO)9c8d97~KuP@n+A%jC{_Xitj^3Zd%IrighzH@_VGe+; z-Hej*J70S8U|;{m`ECiBB`ziP?Q4#T8G-cV>m;FNQ(Uz?@;;9t7i!O$0(?Pq!v1eW zd-w~<0;i|V(^&FjO5?B9V#DiKl%2Sr%I%;qIXidSZDRim?PX$5@Q_{JgU(~4NjP(D zk^Mb%Jg`V&7`cOTSdyH%iQ&utzkpfr`fDlov6X^Pb*>tj)n+!xfX+BjIG%X2+~XYP z@Ko>rqEM?o<(tgb8q3xg=^2YbET;lJYd+PdvW%S$u6?;T;nM&0+KlJG`prr`m7ekE zJ7(sqsepg9KbF6P7frpiYOX8QKJN2hFMeT3eAXqcT*U~_8XS3_><>P!HQ^-+^;56# z+DBM448`F(2L4xPX9v-etg(5ut&I1_I*)NZgPWjqowjq=+8orj70UtEN~b53na#W;acwbECz<-+@UIA<0-PHgoEc5qD(>usSdR`Z zE^GtYdV^xG9OnO^?oNpSVF;FgGol#Ayt4b7=#)OWxlz=+_=%P}^BX~5Pi3ZAyjmPq zC&R|P)cn5w=kZWQz(!sF&bvsS^zghNg+t-mIx#WBq9|#_u~V6(V@@mpe)r7|Tt@sS zODIBgjHqAM%37JYU~y+*Q;i!1ZB!e{@@OkOlC*YV9a?hoYBqiI9_;#8TuH3QObOk) zP4y^IY9Zyof+{0M{(G%#!geEsP~^wjV+{#ET~Phsr%7fQV{CO2bjaRD^^VjU+`yt^ zktmcK-IokTRG+>^5j>LnuOCogDTCSb4(h z(!ow(lmX3Tfhh(UKcsa0Zzdpu8DW1A+!c9i*vNS4>auI_+;Fg`c@|1qqdf#QB1HeF zE+feP<@EolGOCIs7K1CV*OuSL7spblfNkbXKX=g_BpFJN{(r?mSc&!%<41ahnx@dg zE2sfR*i;2&9NtQNWsd=R|9byinf+Y|FOU7Y)?ps&@DVij{qKCALCWxnk6#aX^%WN- zfEXoY^%1Z)+>^SOz8_IdigW|Uqr5%SRm2(^Fa1_XuLtn~G@kzNOkValDLz~5IrV6k zH*tF&G^uF91GrGLsnuv?u!)0FJF=<8o6C)%r95fnAF;` z=}jCj_EG^S&5aUvQP*L$e`$Acn_w65z2HWLMGyTyN!87Go#~w5f&-p7`uC_FBx z{dRaB3241LtF-Id;xBKA+Ai*JhxikU_Sj}R?t!?BAdhD~DUe?B;bK@JL5X>ED5HDo zUQ^Fuj~`dK;$8 zp}~=(?WStNz=K;bDdhS}t7@C-$a#iN>DnLeaqh>RkIrdv_fmZ#=Zkrm5@Mo6`+bRA zn2=VS<~_;qj9666uY|4u9)DpeQN5xTm!V6@@o`CG zHiKI)X=$Zs9nH@rPpTj!=t1*ynwQxcoUfdf8JdWBJ;bz(?-*a8^6pzlsN(f6o;S)n zxbms+UGQL@wDmPNAl$lIAgA$CE~Be75mL>Anr@#0Mki?_Qbeg!qT5Tjr?DwHl0oXC z5M?`aa1-aoK4Gd`ZlR9)82Ua0toFppeCr2<3-5{gZ<43!;DPSHr%XSK(@A9>p4bl1 z7SEY742;x1%RIqn9W0j)qJXAO*dTB`Y2FA#>?`NE;2C62iGFC?l&|P7CZ&jZvyhJT zK`V{#6kjy%I*;&-lfU)#1C-z5H6A4J=tRF3eUeu8J)a{FR?>>vwIDGHJTmblkX@a3?w%>TjE-P_N$n(~gQF?w(gWO)9)GOGV&*75v zC5hFqs@b`lRBLEiqs%;c=9cAYm#^0Nu)2K&cGaBcLECAV!xX*Fcah z=p7l#HVGz5j7zF5k`|G%d&t(M$AQn6;NmK#s_{J;uiZuf_~Bs;2u9H*h{HYTX>{&n+_-QwLUr(u{S zHujHzLv$~@7zJ6_vk%Rs5&}*P_rU3fby4WXw0T-V)RPUhYf7$5am&{~B&Pu{tArux zY)CKcRA1ndb5pV_<#Vp=v-Z~37mrJ1zSB*lC;ty}pLw*)H*{cPGps5xtr2(e!{=p# zr_Qt30%p9#8UiaBD|kDn(@dLAo!t~Zh!puBHmGcYiR3_gUHwZ)xc}4ZH3j2M@KGxF z=T85q5$d3vo9i*RYg-jF-N8BB-$gF<3|j&&o^>^iBUWO^A!UBlW)>=8jpdyi`7cJ4 z?cb~5L+7=Hw7Z|u>uC1NO)I?((Vm6rcm`}p!0G`f=k!Ly6B@725~Pj_vpi-jsu8ry zcEPVAz#Z*JQXzR8Q5yyBG7-7EE^hp``Whc7*8X_elZ@6Q@X$qUCO!_kS~g`EX6dZp zG1lPXA)nBfgJ`O8qQ}Fg-oMB zJKyP4%e%1;>(&H%63c^=FKxKK6+KbJmEVMs6CEYm-~0T9=Q``XenPfWL~Vc#TGd`C zFr0(;4|jQ%wXPxTh||wju_zevIrei(nnUxWCn*EYmqy;v_{Et$-F(J4?vh$BMMN_e zy%cpt>0Vkj)U=xDhZOr@@$}l_a4Q|NVX0-xzE=WM=ZTx365zeSAkDqzPxTrYcF4 zNQIgP2A%@dTHwju0IDcb(U*`A)O2NQAIU(ZeVqaQ{;hCutr>bqpAA%DBQEGu4Ap+ErZ7r}oqqcQ3qas=<%8fxxW4Y}by^YmNpFvv zi@^`I0TIi9)tlAK%imU?kPqpd+UY@6q?mdDhm2a=bFM#n{-V(9dQG7|XR~Ru0? z&QO*!U>S9>()qLVu=|JHH#|n)WClSyXO`U7Gyj94?uD(eEZ8m z)uEk5(l89dBD1BhZRD-+x#g%;=8O1k=iF|$H4IMIC9jX!WG_N5Vo}lH!y$5}^+f;N zLC%fAok5(&6Gd(*$DWkrYSy<}*+N50HS!zv@*hj(P5MXjd4nbKG7;(!&TU&hlb+bH zhphKK%W|2m>0DC@+x;IaZkyTn2avDGR{WRAXRR=a@~=|?qx7M5jNb*~vJTVDA2IJo zhGkR26_h75{*BADh8ilLX~RV zgNl0&fxOK*Tm70qH|yDiE*;LHgcYXOrHbRIbD_7@kz~7(*yn=`L+qiVB3D1V5z92Q zGhB(E&YSjmzlzGh1Hw$E#ZEsn;A{-ED8=l$mJPVpi_m@Y)5O{uxt5xiQy(47@4AGf z+h)VbqPtNCpp7BMp@H#6c|$6=o%>HL)8My#th4MIn=1k4GQYJ`5HVqwm7tuTzi>YR1w*;i~?e@nY+Uv7D`SbWKjPt!iwQ5mf zm*4M;^daIc)!p4x8E9~+h#|l)gvUGdGg!^INVpXRT`?(m#L`aY1=cytuBE9rkr3InuaCA@I7q`yu`igfL<)zL3a#WoMd4JmUR7yT=Hb9S@r+&&R-BY(egVp<2sA+M2-L#I`)s zEni=eE!rqG^EB0HdS8_qR_~x~Nb2R~llXexU*2B#{P??CmO^>QR>b!O=QD|z&r0hK zHm9S81$``5lp5aFggq<8mT0v)CQr)aC1@)N4Zmi1qeESPbjGXrT&IN2zYCo^!PM%qob0>tTQb*U@ITth&S81c>q zZS28fr@F(OjNI&}Sq17#5**geN2~>YH`s1^Q8AdRIb?YPtoJIvd=n)Y2Caz+=SMz2 z3&9iO#>jHE1}}Gcy+oyWpd;%?*Zba=7eC+nz;{utn=pNt{_Nh*5gv+!-MY(Vyz}g8 zfFZg{v<~ni-mj|1LdRIzO1#{e@~KrC78M^)xhzaggqUq5R5QLQPFsISTU{M!g2%*z zXDb)Olx^`vsW%y3gsY2O@|}hEl)mv`qo{ev5_=J&$9JC)-?wrh8dSDZ_XL>dFI7Io zzCIF-lY7<5p?c{^kT?if{U?W9%PcA8w>d&kDIr=gehe65lG!y z*5<>!y1Zk%b->h=xrA*!Q8^LUGXaKbKoMGiI~vROfR;^^n1$LrU@5|RH*{Ek^|qE9 zo%8=_9f8J7!Dh^)JL)x{Xe@(6Gx->0iC@6uOG8Rq85Mq71}YGlA!)@#Q_kJ0SdKOW z_%+_A*DJ}1q0`-J5i(CssY+Kg=k?jsOPhJrDwYP(Lg}tf>Uaj(5&Jbj{rgf~B*sDs zYJE`bHFZdhPFilDLQSK;4p%QqBo!K%6h&@Dhky5tQ{09z>H~lFx@G_;S;g!XcF2<# z1#A0m6CpUSLobf&ZR%RJNkiUL@5KI=7A;at)3CVPgrrxBo?_3}q$j%VSx`>Vr`+JY z&Aq|bz+HdbXFNF9rHmP!`jp>1zhUj@*7-u8tiLDR)`02LK1k;{W%wN|^L1hkx^3Ft zkUej%20T*olFxeZ`+$l+r6ff2z0>%m>^; z4ceaFU&2Q$zhS+CMOKxS(Uo`5WUiao$?Or@PfxxxP5jC{9(X zNcoQ1p8LvEi{tsWEz0sPZ1|B2m!mkQ_|9Fy&3x;>lmQ7L;Ze{_yn+OT7M7lFc{| z0WoIiuj7~MK;fs<4;LDsi&WZjGQ)rU2M*}cfDtzkE4_AA-}FB(A#sU zI|!&4jj>{d-{%~qz!H{iE_c(acv{oW0R`uY%y;LWu1~@2W0Ajn?I0X(x^RZ?p%uhx z0ov7eO~l#XGYgfcV{QGkaOV8pO~I1^|Kex8$bRQZzx@?rL^nS4O1g#A`|nuGUZrgZ zj0v3E;vV+4NTI)*i{y3v=}18nbgy1nD-lT8zR zYzp-8JNFi~;0nFB%tmpzsu@qoBV7ny=P zqwdyH6yQ(FJ~%ck!@lF>qm!5YZ=%y;=&+Vo<+%tW+d+%h)gY-1;6d{BpQyJIZdEav z{t^kj@9DFL_qJqYA&Q>NpW`|H)S)O2*#w0yzpF#^vSIEr8xd#E#$_!E!ahA_Ugqai zf*UnWU6}%YZ2fB511t-_wZv>6-mxLxQbN57OSpPw&1D8UyL+{^)pUfxz2Wlktc2vkF%IeNZz^li-Fff}{0JL5XLDE##d=>xP zGOLU=*QVM*mT?n9r<{k7mpOi={-H_!#$EBy>U2sQtEzgYZ;fikycP9pJ_Tr2+)f5l zpY5-#@}UdIu-m~u(g6QU7#sLg;^TB!LcKJC=TGQ9uTw)z%&z5BvElQ%sBP8Tah_M= zvYyRECN6kVmRez>+7-&Lw10V)li`usco-3B(7(&8}230cmY#MFfbPgCm4hiRVF9QSocA8@oD$KArS`(7Np zU|#8KX-T+4(mSAZ)O#HJgyx0!L9B?@hnNgN!)Q%ZN{3~7d>nSeZRoGxKLX}vXMHXB z=vQXEqA(|jUk!s$`E%%i8*b(zbH;zmwwBIuL)a#Z`A76*m_j8I=AE(g5wYVi29i8 zV;K&6ZsK^m)kE+)_w4Sc+UbWWW@UqFOyhL-O=m3BzPT81-LFpS;?zTh35D@rAJ1%! zT#5-fiS1bkYrq~Cq!9Nj>aiZ{m?5OX8bUzST6o5VpIP`kbMOS$4_THdSyOGjP0!L* zgm|tdGFCSW{kv*^4bg*2sN-OMM+YFy;=vl0s|@D@bzd!vgna`~Xk*~eVKlay>Ncah z5^?ssW#Onc)-o$;-9t<_I2m$agK$6iCyjGXB+#0TbiEUF9fr~gZ8^w8Z7j4P`YLQt zlsxf1(TM7N;!V4`3=Bj1+58KSlmtNP+Bt+?HliIZ9+n(iaT?>9HvGbQj(t0ah$Dub z3?39)y+yr4cwhYaSj~Pp^oU7$Sgbk|wqxrSRJ8a)dA&}*-_*~wP07|=9`GZ)dG}Xh zbS9wu-A%o3GA{F=Rx&tr_`45qcD#xT2Lo6LDdFyI#^U%$$>M{BAxZc7$UH#xL;6n@aX zkd7fVdLadSP>1_Mm^)Va0?m5#bOvzZ{mu85hJIB*we!ZE=|4u^-N^brW3uS#-e%&i zoYC9OsUK=GF6JR=Gq|j&HFmcYn0c>x1Fq#`T%Tp5=TWmp{F0^1{)fWDVcGt5;S7Lt zC#hp4oQAe=tI1;pVG^DUC;*>4Z>+68Ib|R0M3~b2%sV8FraG}JhQm*mG~$n5hVtrW z^vDl!uD*-Xy2{yTdzsCbum9j)ViN<5n)=drbe^E?FR?B}p#<%fXv*M@*#ua|MO~KEl zKd!P>b~SPx9`|j?sIiK9rGmDvK+A(b>@EgRCn?N#WH@;1efs#}X4OjWlEiZkI8ddB z1P~Ztr?dTqi%o@}e3w7MUd9G_eFg)-?7PRSqGEX7T~x*8B&NI~6fO-CggLfsxUZ1* zoN&pFp&e*Y4aO%fc-1Ouq<;>YK>BNg_Xh_uhXC7?adGcY>>g{yN*b5?(=?iaNsa=P z$c&{V7;)eeWET_dNZvuFT^G5%VsJBAoy~I4Fkn21CFl4-Y{ZQnsaXQIR`$6-<2lpQ= zi*8%rY#Y%{yDifWf_m<8A3k$7cX%hLe=I-60N&22`>WUprrMbTa=cK&QD#q*u+r7He{&!O8}%76mjZmtm4h+|+G6ncL`q?!32AWY;u zl~Rm_^K?YFQ9d!RW@M?VBH)>|7>Inkh5D`GVmSE$ZREZ}k>J~&o!oNtDZ&l>t170? z^RPP@!4$@s-@s$>!_DyF)ubiBZz>1FoF_y{B~vC!?2{}{S736-Pu#4aZB+GXC4pR{ z4gd5#{LVhsm;dXdm$TIFSB- zlI%c{>m&49td!%O73KJEsLV*{#%S6T>t~~GrUMzDl{&Ox8ALdrMiI=^*?{)OMOPd7eb(E@$-9#$d4JWiMoUwFO?gc3*3eS>P$&*Z%Q0Tr2)=q}p&e3S zRW{@nEdKmvP#~Oq;IECPE<}JaB?a3>BcGZdQ!{C-M*myOJe+rJFk}?)8{(cJqzj`S7N#jD*Ef8+J#5pb3uX1yf_5} ckU{!j<4qpWppLou_bNwqWi6#5g%_Xx5A3N8ZU6uP From 1147cf41626f6a2d684ad3667a6970d5d772e46c Mon Sep 17 00:00:00 2001 From: Anthony Shoumikhin Date: Mon, 20 Oct 2025 21:51:51 -0700 Subject: [PATCH 4/4] Update using-executorch-ios.md with linker settings Add linker settings to force load all symbols from static libraries. --- docs/source/using-executorch-ios.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/source/using-executorch-ios.md b/docs/source/using-executorch-ios.md index 7513d65cfbb..78d22080d8d 100644 --- a/docs/source/using-executorch-ios.md +++ b/docs/source/using-executorch-ios.md @@ -72,6 +72,10 @@ let package = Package( .product(name: "kernels_optimized", package: "executorch"), // Add other backends and kernels as needed. ]), + linkerSettings: [ + // Force load all symbols from static libraries to trigger backends and kernels registration + .unsafeFlags(["-Wl,-all_load"]) + ] ] ) ```