From af80f72753262eeecbbf56895e0e89322d2132e6 Mon Sep 17 00:00:00 2001 From: szymonrybczak Date: Sat, 20 Jul 2024 20:08:12 +0200 Subject: [PATCH 1/5] feat: add increased memory limit --- example/ios/AiExample.xcodeproj/project.pbxproj | 14 ++++++-------- example/ios/AiExample/AiExample.entitlements | 8 ++++++++ 2 files changed, 14 insertions(+), 8 deletions(-) create mode 100644 example/ios/AiExample/AiExample.entitlements diff --git a/example/ios/AiExample.xcodeproj/project.pbxproj b/example/ios/AiExample.xcodeproj/project.pbxproj index 4288423..28794e5 100644 --- a/example/ios/AiExample.xcodeproj/project.pbxproj +++ b/example/ios/AiExample.xcodeproj/project.pbxproj @@ -46,6 +46,7 @@ 5DCACB8F33CDC322A6C60F78 /* libPods-AiExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-AiExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = AiExample/LaunchScreen.storyboard; sourceTree = ""; }; 89C6BE57DB24E9ADA2F236DE /* Pods-AiExample-AiExampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AiExample-AiExampleTests.release.xcconfig"; path = "Target Support Files/Pods-AiExample-AiExampleTests/Pods-AiExample-AiExampleTests.release.xcconfig"; sourceTree = ""; }; + AC9150592C4C347200E4348A /* AiExample.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = AiExample.entitlements; path = AiExample/AiExample.entitlements; sourceTree = ""; }; ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; /* End PBXFileReference section */ @@ -89,6 +90,7 @@ 13B07FAE1A68108700A75B9A /* AiExample */ = { isa = PBXGroup; children = ( + AC9150592C4C347200E4348A /* AiExample.entitlements */, 13B07FAF1A68108700A75B9A /* AppDelegate.h */, 13B07FB01A68108700A75B9A /* AppDelegate.mm */, 13B07FB51A68108700A75B9A /* Images.xcassets */, @@ -471,6 +473,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = AiExample/AiExample.entitlements; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = ZK8L4ATDPD; ENABLE_BITCODE = NO; @@ -557,6 +560,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = AiExample/AiExample.entitlements; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = ZK8L4ATDPD; INFOPLIST_FILE = AiExample/Info.plist; @@ -708,10 +712,7 @@ "-DFOLLY_CFG_NO_COROUTINES=1", "-DFOLLY_HAVE_CLOCK_GETTIME=1", ); - OTHER_LDFLAGS = ( - "$(inherited)", - " ", - ); + OTHER_LDFLAGS = "$(inherited) "; REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; USE_HERMES = true; @@ -783,10 +784,7 @@ "-DFOLLY_CFG_NO_COROUTINES=1", "-DFOLLY_HAVE_CLOCK_GETTIME=1", ); - OTHER_LDFLAGS = ( - "$(inherited)", - " ", - ); + OTHER_LDFLAGS = "$(inherited) "; REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; USE_HERMES = true; diff --git a/example/ios/AiExample/AiExample.entitlements b/example/ios/AiExample/AiExample.entitlements new file mode 100644 index 0000000..99f4716 --- /dev/null +++ b/example/ios/AiExample/AiExample.entitlements @@ -0,0 +1,8 @@ + + + + + com.apple.developer.kernel.increased-memory-limit + + + From 57a6eb9f06ff315e0e22258d9660ecc89d04d3c7 Mon Sep 17 00:00:00 2001 From: szymonrybczak Date: Sat, 20 Jul 2024 20:27:43 +0200 Subject: [PATCH 2/5] fix: include `bundle/` dir --- example/ios/AiExample.xcodeproj/project.pbxproj | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/example/ios/AiExample.xcodeproj/project.pbxproj b/example/ios/AiExample.xcodeproj/project.pbxproj index 28794e5..7a47304 100644 --- a/example/ios/AiExample.xcodeproj/project.pbxproj +++ b/example/ios/AiExample.xcodeproj/project.pbxproj @@ -14,6 +14,7 @@ 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; 7699B88040F8A987B510C191 /* libPods-AiExample-AiExampleTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 19F6CBCC0A4E27FBF8BF4A61 /* libPods-AiExample-AiExampleTests.a */; }; 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; + AC91505B2C4C37D100E4348A /* bundle in Resources */ = {isa = PBXBuildFile; fileRef = AC91505A2C4C37D100E4348A /* bundle */; }; FA9143FAE05E547962661C6F /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 1158F81499343192EE2DB0E3 /* PrivacyInfo.xcprivacy */; }; /* End PBXBuildFile section */ @@ -47,6 +48,7 @@ 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = AiExample/LaunchScreen.storyboard; sourceTree = ""; }; 89C6BE57DB24E9ADA2F236DE /* Pods-AiExample-AiExampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AiExample-AiExampleTests.release.xcconfig"; path = "Target Support Files/Pods-AiExample-AiExampleTests/Pods-AiExample-AiExampleTests.release.xcconfig"; sourceTree = ""; }; AC9150592C4C347200E4348A /* AiExample.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = AiExample.entitlements; path = AiExample/AiExample.entitlements; sourceTree = ""; }; + AC91505A2C4C37D100E4348A /* bundle */ = {isa = PBXFileReference; lastKnownFileType = folder; name = bundle; path = dist/bundle; sourceTree = ""; }; ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; /* End PBXFileReference section */ @@ -123,6 +125,7 @@ 83CBB9F61A601CBA00E9B192 = { isa = PBXGroup; children = ( + AC91505A2C4C37D100E4348A /* bundle */, 13B07FAE1A68108700A75B9A /* AiExample */, 832341AE1AAA6A7D00B99B32 /* Libraries */, 00E356EF1AD99517003FC87E /* AiExampleTests */, @@ -248,6 +251,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + AC91505B2C4C37D100E4348A /* bundle in Resources */, 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */, 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, FA9143FAE05E547962661C6F /* PrivacyInfo.xcprivacy in Resources */, From 200408d6486e0f9e03b3b049be2e848074936756 Mon Sep 17 00:00:00 2001 From: szymonrybczak Date: Sun, 21 Jul 2024 13:53:09 +0200 Subject: [PATCH 3/5] fix: disable new arch --- example/ios/AiExample.xcodeproj/project.pbxproj | 10 ++++++++-- example/ios/Podfile | 2 +- example/ios/Podfile.lock | 8 ++++---- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/example/ios/AiExample.xcodeproj/project.pbxproj b/example/ios/AiExample.xcodeproj/project.pbxproj index 7a47304..74f150a 100644 --- a/example/ios/AiExample.xcodeproj/project.pbxproj +++ b/example/ios/AiExample.xcodeproj/project.pbxproj @@ -716,7 +716,10 @@ "-DFOLLY_CFG_NO_COROUTINES=1", "-DFOLLY_HAVE_CLOCK_GETTIME=1", ); - OTHER_LDFLAGS = "$(inherited) "; + OTHER_LDFLAGS = ( + "$(inherited)", + " ", + ); REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; USE_HERMES = true; @@ -788,7 +791,10 @@ "-DFOLLY_CFG_NO_COROUTINES=1", "-DFOLLY_HAVE_CLOCK_GETTIME=1", ); - OTHER_LDFLAGS = "$(inherited) "; + OTHER_LDFLAGS = ( + "$(inherited)", + " ", + ); REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; USE_HERMES = true; diff --git a/example/ios/Podfile b/example/ios/Podfile index c451c3f..8878ba7 100644 --- a/example/ios/Podfile +++ b/example/ios/Podfile @@ -1,4 +1,4 @@ -ENV['RCT_NEW_ARCH_ENABLED'] = '1' +ENV['RCT_NEW_ARCH_ENABLED'] = '0' # Resolve react_native_pods.rb with node to allow for hoisting require Pod::Executable.execute_command('node', ['-p', diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index ad15db3..8eb4cb6 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -1417,15 +1417,15 @@ SPEC CHECKSUMS: React-jsitracing: 0fa7f78d8fdda794667cb2e6f19c874c1cf31d7e React-logger: 29fa3e048f5f67fe396bc08af7606426d9bd7b5d React-Mapbuffer: bf56147c9775491e53122a94c423ac201417e326 - react-native-ai: 4c526ef3a4ab811772b4ef0a3300f7d6b26cd0b4 + react-native-ai: e1592baf0559a8b64e5f38dd2c0f2758ccea2d25 React-nativeconfig: 9f223cd321823afdecf59ed00861ab2d69ee0fc1 React-NativeModulesApple: ff7efaff7098639db5631236cfd91d60abff04c0 React-perflogger: 32ed45d9cee02cf6639acae34251590dccd30994 React-RCTActionSheet: 19f967ddaea258182b56ef11437133b056ba2adf React-RCTAnimation: d7f4137fc44a08bba465267ea7cb1dbdb7c4ec87 - React-RCTAppDelegate: dca95e1a6194f7ae06c2b5f1d5f891c61af00ec8 + React-RCTAppDelegate: 2b3f4d8009796af209a0d496e73276b743acee08 React-RCTBlob: c6c3e1e0251700b7bea036b893913f22e2b9cb47 - React-RCTFabric: a7874c54aea18f64677446efc5f839ec4fa5e931 + React-RCTFabric: 93a3ea55169d19294f07092013c1c9ea7a015c9b React-RCTImage: 40528ab74a4fef0f0e2ee797a074b26d120b6cc6 React-RCTLinking: 385b5beb96749aae9ae1606746e883e1c9f8a6a7 React-RCTNetwork: ffc9f05bd8fa5b3bce562199ba41235ad0af645c @@ -1444,6 +1444,6 @@ SPEC CHECKSUMS: SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d Yoga: 2f71ecf38d934aecb366e686278102a51679c308 -PODFILE CHECKSUM: bbc2c796a007c2b3b597f12669100724c622d914 +PODFILE CHECKSUM: c1ce3fcc38763d2aab0f2e5c56e464d324db8386 COCOAPODS: 1.15.2 From 5d8bc696a42dd5a02c49ec78529289e17581cf80 Mon Sep 17 00:00:00 2001 From: szymonrybczak Date: Wed, 24 Jul 2024 12:07:11 +0200 Subject: [PATCH 4/5] feat: add chat ui --- example/assets/avatar.png | Bin 0 -> 202680 bytes example/ios/Podfile.lock | 6 ++ example/package.json | 4 + example/polyfills.js | 2 + example/src/App.tsx | 77 +++++++++++---- ios/Ai.h | 5 +- ios/Ai.mm | 147 ++++++++++++++++++++------- src/NativeAi.ts | 2 +- src/index.tsx | 202 +++++++++++++++++++++++++++++++------- src/polyfills.ts | 4 + yarn.lock | 179 ++++++++++++++++++++++++++++++++- 11 files changed, 530 insertions(+), 98 deletions(-) create mode 100644 example/assets/avatar.png diff --git a/example/assets/avatar.png b/example/assets/avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..b8847837f498ba93e348601be7372c5b67a9a0b2 GIT binary patch literal 202680 zcmeEtj!uPeEXkhBH*wJ_-zFNP+*GJv0L{LT!z<4*&rMm5E+aA=w{m1P58ncQ4gMwXi>K+B55W%MrjhH#CJ-G>5xKb*gCS_IzO+q;I+nIXGItOr*8`{ps9s*%3=V31oAF*Gkxx%@u6 zj90hwX>mJO`mm>UB=vJe#;``1p)(zWkjKg;+qa&i!>fRXiR95) zWrYud`O|uTF6-6~4ayh3Hub-4+YwO<#$vUVtJ_nn9>R4DBoTe@U=?Jb>*|%?aCLVc z(LN_8s$F@HlKT21e|Al`Yl=qV4F`u}`ZbD8)!d_cSkTy&Q1+8@VY^!YmeI`hOWUBN zu0iu}*>sxWFFe9ky`uF)5>1jy5x$86&RNc>Wm|_Qlw!Ve-y8Ui6I2o9uaf&s(tD%6 z=MGJ+)wK<06gE1C{k^iS`Tk%7G%jz{Gy!Jm4=6^|BNXaY{Zjmz{YuZ~RB&tjL_tej z{HkdO05AZrUP^0u%l zTFYIQ!t5|J{>#NK)1J!<2ZMy?M@~vQvZL8-SkqJ^G z61Ri60@!p?2qY8a{`{lWT(cXjNJ68D@FxKYn2CwWKL%L%ip0eh z)=-Mxu*?SAqkere+>-kAsmukd65GmZ&Tma&CvJqIzlMe67gKJ`mbDdLJHD#Hl@QpglJjH^DouHikneA6O&H{gk0-mQ=fT^h$V`p2SFIomHDstZ} zWmr~J#5Mh#!-LMH1944Fiu#X^Mm7X9{~hLG1yOWj5+UV5E@bjkj9g&w<=);|A)L&q z0pdtk&LRbM`KTegnrzWhdiS&7@>-^?e!<9{Yv7e+jX&UdH@b=CEg6CuSjKPlnf~z_ zLK(5garTup!Q?$ulw?T`lA*yxbQavmxWlyc6FC9kM>upJD_pRIUNxHl9Ou2*Jg;wd zUf#sUq{hb5+iq=43jW&HUc*d<%o3a0Xf^}(1E$~UH9Tc+w3DQeqK_)33ny)~Bmduv zO5*On9U3=YiM=}mUCuYz?+vinN0#VTSp4)l+mR32HLJ^qj#GT8a69LAz?$l!HQ#B$49lOWL~Y4Yfv* zOi6<&M@Sy|EPkf8?eE`PC0i_&p*hGkLT#-jXLj}@hn?kTUIJPgZl$?pRH(NM{7=3> zNZiuAd6H990>Q0@?4-j_(ld_FOIw8Y|K9lMv{EPrLcc}>U(cQ_(jhz zE42uJT?^rAd13&nlsAKro#Umuq-WCA8vDzDZeM^+U7j*HS-sqef=u`HC@W2Tjm+_x zx{j9TPb3I_<2K7p21+3xAHH&~SQHSalQ{@Hq{DWUgAXsxhd08k3wNokztuI%Q*A55 zVb@W`O_jF=(TD5n>yC1E>wmsGVjb475(7KhM;uDhwGwlSu;N^!pz?K3{~x1YVq6>? zM7Uzh&9#FBw+OCE-#aF`LHYPlg{kPXGd>+O!^NpNsAX$eHUVai5_vT0{gQ&7`TB<{ zw_j~$6HFgLWvl3v?(HdT$gR{>kpWU*#AhTvN zg`SG4XBjh2=W8^6u#b-5*GOdi18C6Bvr!OFU%o_z0Iajx-QI1ilkmirk#C!pD06|9 zlwLypK$lyL#a}1vN=1#0{xCja@EWK!o9=pXf#_T)MJ=jl+ew%>#zR|MmnoD8SBinl z)70ssEj!I457{=UKaqY&H^_rTyL-moZK(-^8%@BPEpT`$Rj4bHV#3=aA9oRM;RP4mST~cC> zi>YN501!wyI5m1z!cTVhK3Q#|AI}{a19h&s?<*#teq&rNprTw`sqOM_@m`NhbqFdQ($3l{AXQ+8LjaP`ln>3sOi6XOq_MG)!P;qslb`?=Y`j zf41%FQvT1v=6F0j;Doz1xoyd*DJflp0x#OL&m=ujqgRtSvxJRUr^bu4_V$mfe3l(0 zN7Ak&kwpenJ|>btKT68S1bLy0r-&saEcL1l70;tWSB=!yh;uK;GGWlA3VV6tc?2Bc z*X@$v41*tG{eAlRUmOp!NdUYu{Fq>lk*Wf z40{%+$ybN4>md$^IIeyfY%yuPQGat}%&oW!f9R6xu%!#| zwe&WM>0CbO-T{hAFsb7tzcs&t4@c(RqCWdEO9ox#Or?n-sb%rL-DB}l5=bdieFp9e z^r)%xPp(6GqXs@;`#*oP{blWMkAlZb8D}`YA}tPv7sy{Dp6KM_!yC6`R?_j7^3UDi z7)eSrP4zeNRb{NvX$=9@XwvgzMVK0piMb>set_Bpp%Q_@MSu}lN9SE&Z7-JWwQL=P zQ%gvR>HX3Z%h!?`PP+vULv(NmfGNb$#i`mfHUSaRqxt!3?aAHGg5%GJ=aLD6M;SoU z@j$-uOSse}u9a24GOER7)j@rhcR@oW`5YV=p!;))rMJV^$^w1{ICiSj5sYz2-w4KH zNo^yJP(5Ucq^$^drdo7A;)SxB>0Ll`I6T?4p~4Tr%CQ?*Nt2%Odh6DF0`U}b6uY`7cRJ*H z5gG$kMuvi0A*|Abz*JOl%M0LK2cXP3fl>F4Ef&k)R%#5uC-0InfzsR8(!SY1_UmF2 zgSzq$0i`7ZYn20MXHrj*aRgtVlALE>`}`aJJ#SA4mCa!A{Shq) z*^v*#sDxTskzJuKw&(nQT441aT5c{fV1T5Cu<_3oZWrg6*pcnx zdq9xjSxClP$9=f&r)6-Vfi5n!26a_*Ghenu3X-45#uRbnacpcXzm2@YVuUDr@((@z1%AR{_u3a&RC3+;q1DGp)F0VXbGcb2m1yxwS`FK`2YTqIayVibP0 zCI8xX7PD^O^Wl&|IZP-TNl`?9R4ce=n@#5uA!#4o(?pJsu z{e5~~RXzVZ!}%F9I@PJVFI38qrnA1Kz-brX=+B=^QA9W1O@1XZq5flbS>%pJMjL4C zdf+F<%a8_&t;MOi7c4j5WRdJM5sWA&07(fcC4uqp>?8Rtt) zHe;rvq$Eh9gkEFPiZT4=N$u%e`YW!30d=s*vh?v8$%G6}=T@>IC?M*JYlSm>)fR%1LLhn%(|-I>LgC>^)hl9PXLaF9FpWZ%ipt6o$^kNv z)GR{ug|L9-PUP9;v^o$fN*7h~=R%f9yw{BA4B$ z+n?v6q7A**;|E*8CIQH_sz2ChX=%Os)CMgK0z~7V)i4uQ290a$F{y;z^QwUeS0VE4 z-p?*W9+?@V&%}^BI8?;*D!fH(tCbHp_ALVZ-H8&KsLO=N#XdsZpXWmZ+i3jFK%_gz+@ z`!&#;M9c{I2*D#MRdQ{s%{V~Rk~%lDPIW&Ywl4HinAEqx8o;1BDgz#sW&@eossF%B zX!&6|a1*h9u% z0EF1m@921PkB@?z^Rb3t^N{8=b$C}kan--FnfGIVd*lP8*#M%cC6?2SsbC+!S}c;% zvq;f1s*K|fCsYjT!Wv<3Yir9c%8$XwJ+kQV3Tn3Wf}erG$=@SG%Y;r1^9yMJf24*u zLlkDQ0-WKiE|3Sro3&yJGnD$6qMl=D=yp2(Q;sU}J}{=vy!O#1Qw9&d4x~&!37<@x ze(hfnlMbj%KD*$rBA6@(BS}jI1?EINa3)E6N3o7G@?U?3XpoUk@7SE;U`{rlzk(#`J?L*j^SAR0X<+=iIS|6!!( zy%p^XQGZQ~J($xyRFioN3$MZjS=mwRIjpYBz3%UY9DR_HIK%Xb(?yT3WetUsq(eXv zFrs^BIyyTexDI+cuZ%lg{09OXQ;V64?2i{4ULv{vyEDw3k(rZ#1y>*{%ulcV+x zDG&}=fVs$iYuE#dQVpK+QY(nMvs*b#$7f^4C(TXbUwH#ALUxt^w)mW+$kHHgW>{7~ z{2luK{d}hZpbYY(9WO@dfGT&uE6R zoB)|Opdf;&{ojCQoMzm%EwlM#N&xkuP5LRqmU+{GrehqY2oR-CNq)CJz3sU(C&NHu zzHizBy_YHHLK=QxVv@RupR?D)`NoVzn;{(FXc|o~EXbfv^wL$jaza~j=y-DUO)Y!q z+3mCQzkiS@nyo`m#}z?srRy=Ev*&G%YvdRg*;oeb27X7mR$26%lE0 zE^*(iJg3@t5zudVX?@=I`g!skNChl&mxhVa+ZsQR#cTbOwKI|lHiD&SDVy}Q_`&z3 z_Mil4qJLgRCBuG46%`FEGT$MTpi6JNwP;?xlCA(lW1P|#R5iC zgg*?(3fpza9wlIF;A>@k-9WLeb_FJ)1_sJIOUuk;)pbu(&uu2%4yG#o?&HsG1ns7w zmlN(-GSfyTTtk>5G`Rhh+V2EF*9A5O1(%s5LK2?7Sj8WZpCrG7vn$rHkq&XymV0Cv zD$>dQ7QFRRI;*!TXd0cf$%)TvmRGaLTSq|f2=65>@Rk80_#1x<@c87yrCJoXz5>A5 z0RhLNd23-stCwnI3yL<-Fg6)#&rj+qxUBd@&x76$yCCj;RCChOWOl!t@tt4?TGZ~_ z+0y4dFHruzUR`Y5VmG4jR7#=Xu) zy9@jo@POu9m3MrO7(5q`q7Y=KpV#)-yvsQ8N3V=VB`4zt*jEV&5Hz0%NNbF?e|n$+$E7DC0KGqJ$ZW#hZADbi~S)KDw37STPe1{M~&SflAVF z`yz|LM)e)kxVmtmMN4sTOtjPS#RB_vEb{HX%h*=`QJnnAggxT&AVpvBaHguMfr)0% z?o{ojB9872(As!;;CKIQC}{_F*dzmzI;m;#a&j(F_rRvTqu~TpecOMfaZMzhKZKJ4 zpitMe^zO?L)ZFo8w{;7fmOopjBwp(j)JUZJ>HRdR31e^XIN*wJBE+BseGjAV0)4}0 zz)ueaG{N5}pKjE9HkrtzkU_Y^qcLdrS7jiyihL`^W6yzrCjX^ZmwedLM{B{loojn9 zqHFNoo6IRX=h95(o9x=oZQ#CK2Ksp1QZ||=;c4RcUd*f;px&TT(ZCx)T?p5O!faF; zA%CkRKL&jF@Mwex3Bf^R4(scUd3uq$Qwt8yVZQYBLD;imoxe}j9y znbAL9wrcVGBp?IcwsMHz?l>ldhh{wqZ8EYx3%gmdh~0)gTA>Y&tBAwA?P;|cQoFV$ zk>!qMT$`W2p0Oz@F}%I$&Yh(9vfqDe9KFaEV5Kg~V3CRU9+$A~!&OR{&ls#=KYq8~L|;+Gl;GbO zin=k38hCiMs;U07^95FiZpkmi^}V&ez53|nbZG1Lc;LQ}>t54^e?3i3J@tljR%SuK zfnj{U&Tln?MX(u@q!jg0WNoNCX{c3`YyPdJ2soCp;HaP}0J=O|kJGkrpTBTZ56+>py!!i_#oQF|KHj$ho-tR3ztzc5C z4K#P^tBEkRyRyk4=2Q;JW4{1$la?~si0UwjZ=iMJBLZ72h1jRe&`Br8L|UM|&& zOES6N$eLk$Vl90#){_M8w;pptQ87xU1QowZO5h2*r#Fo+Xzu=y{ZRp3_VA3q-|qOP z1vD$1G7ZP=cZrauAE#tV{yA)ok6$Rv}(pnod?uHSs}M9Q_rOc{k5dt zZ#A(c-j{6;B{eI{)}4cYBJem8W*(p4wMcpX*9Y_HDH z6Sdk^OYF{kC6lZXfa4R?7_j9-z&D_5UZr9jN3RN9ri+>FIt`>3$Ud(s!!KOq>dWjkc9ex>@$xys4hYT$x!Da^*M znFpeBAcy{ID^NnQN3Zj@?18NK_mFlv$z87QbhirpRc+&~?z^4sl)c4E<8Uv*+i+9H zTy1W>&D?)X(OBVqdF!DX;a}6BzVx}FVNnt#VVge?5{6U1#4O3{hht{EF4?md>?Iup ztu(cEnN6f-?fXEA`e~Qs2Igzl-$3-4%|_7biGf9St-h1%Us5<#>GM?TPwB1Jwi$~l z4N0}rvrIf8ChoD$O%~uqR!c3Awl0ynG;R8pvCz=^n>TD*426laKvf!!T;`T`?k}%P zx;Pws(iWjjR2h&{(-tSa{x+xr71>J{%2$}UG^}Gt2-6o=_XmYzF5O%5jDJ$kMo||2 zs^Abt7#iW7xbb>+iuYx$ei>Zx5QIfzdI`?H2gxZsua*@pi@V&mxK;ZYA5mguDJt$| zwu@6$;wWQ#R~}sYdoakB^vSz)R%vXQJTECv`LrZU%`oE$&K{PA376a__ad;9T8x89Hf%}-dVMV8A&-qTP-!9lLDoxJ9 z9Tw#h24>y&XN;x_Sv9~N6hyctify-e>m*!6V9)404d+;5QWiVApD&Znc1KMj4wX)# za&D4;w5M_vUiMVZ3OFs`W8Gi*yl06#^fRXPJedu~^ONyf^HxjrasK4NVsBNb>gJu> zb~%s<$~K*C^j)sDIo&W!aNp0wGa9K*;XJt#V{d)K)dJ^&30)(NyJ`6oh3xSOax{RK zBCR%K5AfX|^!tj68VD*U9Y0rJZzMuh+^Tz4uf8*0l<}o{o$M(IM;@>Yzpmj*=^ack zeBU5=SPsTI(k0mAqEGi;X^usLf1B@7^)rFrU@aIcVz?!Xr>u@b*n1h36p*|j?GPzT zh6)`~5Oodrb>BTawJ+$x;qM!)Yv@1Jr>Aq`X#%~#9i#;$>M+Wu%)-hJ}F6awc@QY{aLD8>(;Y$*Te z7_g}C!50iXS+S@%uC43K#U|g#VtM~u1ynF&Q%%HbhbCfaZo z|6o=81g%P#51354W#cwf!@rWAkY+ZfOx2ObC7qI!(QaBT`EEl>q0yM{zl6I|KCEIL zS~=X#uMN?0RdJrSx&)tk<=|!Y+2-y#1_49xwi@tw5zuvv3RqO~ZYj+K_aDF!{fQxXZcK#5v-Zu;PsBa!`mmwh()#f7YJ&miE z1p%25h-_3Dr?#JuFhD}$|JMR6`Z*Wa5>+@GE!aP?oi5KleOGEj@Nd&|kfU{m#pGs+ zMP)LfEB8A__r^Cy0=aZO%duAQ24ZlLo16dNM2_VgmBL~1i9{3H5_1XW2jmw=r# z`LvnuyuWT_J6nA{BvYC9~G4ya3 zCO1b{SlD^;#A>&~wvePBF%4TlG)8U1`V-UeIZ)V?S^N*f_`4-A+n_K>Z>H5TP^u|K zhC}(ReG9xM!rbkV=qNw*0L+Fgw58Rkm_CSZh1T z{bW@Xu2*&u#mb8?@czWH1?4+N!~f)TF3lAGZQwL+_IduqF@S}Z>vU0skje|7qw{i! z?zW3T!4DpjYA24NdsJN!E~07Ig2eNsC=6>cvs<}1&7po7<3*u*xglX!2Q_ zoEqR0#X*Prr5CF2?do4>tm>^4;1X?qF}jbVx~p7Q!x8aD=QBy@o=0ieAi~WjU0!fC<)z0oyxfe1FH4;}`on1%d zM5&CD;UTqdX=CPhjZcS}H7*>|fqlBnY-sYFQq9X;C-)^4c zIjGTVu#Y&|xQwzvY(Jn4B!inkx-p$yubk9~U9kK8pxp#dvB4{hU~e_V{1<35iaxJ5e3*kkI;Mj=+` zn>O_`v|w`C+fS1#SAR`>a*u0$P!>NlgF+ZOsyz#+qZ&yW(wg69k%)Zw#?Y8Jv?-H? zuY;=+gG?NV#>CP6>+krQ3{BYuLH$&NTKRb29bVx5ddY^o7b~i^9*iPwa6epd28S=W zmrpCesdO32PydvL+h3>&+xAd4SN!GE8Cu#`b@EPzLj;T$${-Hz2KD2fIF9?H@k8l` zb7u>3|DY!BV_i1-rEO!JG*h3fdp>yZlMtxTD-Lj5!LK3(uhq2?h!%aR9vxl zBci+6p)y!*whQ&nL-uzo7ke4p0rL|{@}8MQ*G1m`i;l- z-C=n5lXTuvP4e@ONRPm~Ba3H`Ke9fFdOOpG7-EVR6^+Qs)CefjA;0o#)9M&sSJDiA zBcHDR9NAsdi4L3Q{&8kBc&k3TAmr$C4~R2_sB&PG zF+Hktsja0EE_rn@FWRNhlHZI>DSUoKynOmv%dx!|r2ArMBMOLsZ5lw zafp;&{!_f8OVojMpel0H?$~tBdZsfWi~dK1IDjSW8FoO&{;wTizSv|A&Tt9yG^wiX zS(2qqF*A>BGCKI`skzx|YaYTj@OL*>KO?4|cPdpq@F<-M_<*ns9l zlq$|Gq2=Yle85d@B!w!5(xhX+X{Ld%ugi)hGxQOU2Zqg$*sn$e!{8CC!cPE-^54tRkUz)3%3^GkFJ}s3)JW{x0=JUN8-RqQhhHD(Wt}8<^6igZTzA*|E|>`@yj{& zG@ldeN3;?RF59Cl4}B89)TG_n>g6x*dBN4RgGoNVl7lIj_0tigEU-n%5q~`?_F+}+ zSw*%Q*I$oqv4p368*gj5)e{Y}rw#{R+&cVcJi51s1Ec-tPW~!K_wEnefUM9hG#hS} z?T|{7I5C+e2R?eLKr&Z4Z5uY0J49+fS9`pkkN`Jsz!soyyf#L~s_e_U_%7l--y%RJ z5)9sdQBaLH+LOE?%eb_ zQoX(%z8YH2Q#eHIp~$0(ffU_Ou;vlVN%7YTY+D=jnbQMdEKyA=pQ-s>pZkjT~ zKo^Jef{;-(2ZON5vd5Umk2W7C$q8|c*dyjj@)f$k*g}iNWp0-j!%+-Tt1Ob9pns1l zaE9o-yjE>&CLQX0&OdYT^6E z#*w9M{Zqx&3VT8ftrU6o*Kiv>TmgndY^{<^yAuJ=)M7X7Ml$ ze)FZ}u}4s57;OHuw~25r++)c<4KVUpCXZ3L>RLn@qp#2?#ALDW^?C%&7U?kgV1bx` zDJKx*K%!0l>$@yRcw7bWo)NoLnk=1MYBl)?oj`VL`Ok}-8AIa~)E21wkP9E6ZMa#_ zR<)7DVnT--BV({K8LqYGYRt}~LK&ifzufdKXn(AOrp;9E&`bGvdMhjL{wRs3W*{eE zqA%2-djl@^oPxLOdp7V~d~Ut7{mQtr{xZ&}`0|8L@*2q}e93Zygmn+9@~r=fRa z(E|_O*cxy)?3-oo;MD5RiG}xgolXPn2Q3Czdm&%{UCuS!_=V~!3K)4{`@r_Bgw943 z65zi`rpD%HMP?l3$PM0Md`KVqcDE`4&?BFb`Y&h2V3 zr2(67eFpQ+b4JbRg&u;m9%+k2wxONIAWQMAU#q;83?1?bHdz3I+-CEd4%yCY~2 zpMxc0r_y{crdxo}DY*FE32~BLTHm^pfP6PWqWqLETLYmU`}dP;6P7i+;GDeR0Ew51 zZ5B(I&2uqKEhzBukuv%s1aZAraVdfJSm)vq(4EJLcQ`B;r_|15IPnyr+%6fsI{TwoCq^79hm$}M6;CG1;ie$Q)Y9C_d zLwbRrw#-dkTi;#BQ9RyF5S{Sz+oIzNxs0ho_uUf~HedQ-U$o5{a?~#llecWrJAw}6 z>{}dRbvrL`3t)92QBNNJc)w9-pR?;64t-8L%s0-POa1-$o!mIH+79ko{aKBUsvCD_(Ume_twAqNqFUU-Wy~ty;@FJsa2oG0|CXp6=}UtQ@D= z`y9p^%TiYhm~ZjAUXd3XOY^*t*fB%*HCf>x zphhUB^0Y{q+kaN{(qu+iJU>E=V(8oPF2&FOx)VIOdUvZ{^wF~!oy>ZU)k|}AU4rGI z>)fRMes?G_EqzDwIG>ZKsp(B+@I_wzL!C^jmlO`Tcy~8>HyOmDp1LQkiu`q@A}S6; z_4W3K&aF>A2fQ8&Tw4IbUg~aXle_1)Be%c@rlbj;7x6B?%ZUo^*q>~6g+I43Bf?d#l>Ypr20U($ReFvfZF)ieT(z7 z3+K0W(nufVD`Wl3L5>p1`@8zw-XCF=lTlpzpS{&bgztNenQlii5T^qa^tBZGcX)(N zH#>0DMGLxP6Vd3gf0D4Zu}~YC4eE(ZYP8p9ek#&`|7d-9mTJr*T>T72M+c)bx1jqdKXKe9u-JGCHNuFqKKCZJ&HO>v7 z`~G_E>1x4nC_1XR78XbM{J{IT>)&OO_ua2cPQzxeb1!4qhF+5rXe+!v;};N75{Gsx z5loglA+@;Y6&1AeIk?WH*BserlHZ_ddv;DV6wuf40^M{O;Eo>5h$;r{##~I6xL2BH z5XE;a1#{fE*y|;_Z6L6(-*?E*sZ#=Kqx-DUcS~(IHxMj>M~s-5nIl%Js`y8ATk}sn zji&$neoRxj^Da0iC+FSsD?({@TH@%S3_^mhUl1ak_Rp^O-D*2T^Tri%8!on+;&x*z z`ovxi4!xCph^qaYtU=%4@6a~6?N?l)HWfk^uCtX`n{Rds#-)#-6EV0U3~hm>`Z98X5E%@v}PPiyyX52=R~8=8v~_D zLDP8(Z@wafHmT3M4?#@k4w^1e|DI2Xqt3h!4Mmvu1j|53r+}YZ$kQpjHj&)@)@=A2 z&T4R}-O*IDZ);^okUJ>N?`FHTHHp_U7MtaV>zb&vlU|t!vw$s0$MBJLFm*cWHx7)K z{xg;ak-@8uS3-_UOKpK$bdL^x3HIb8(@L?c9}Iiu?#bC>BBOYymRO14T2~{OC_$X& z=DA~Vu~C!P{!Dy0#iSqVdR3_Q)eSboBZMm5*C?@oXRmfs5qG&ucrHl9%eK~UlW8MO z{?x`a=mgH>?t_*WMOxyb{2Ta&>!fGXxvk>9j|)!I+FxGnU>z8P>?Pc+nob7M_YFg+ z^~L5|=~VIBzq2IEW&isw5ut-OT5h23@ z`W2kXbhXT7gUxD|Z_Wp#0*YzcPkEMTS{Ycdn*AqtEf?F|_PS%36q-G*;*<~XceZ7R zOg>}qKW?#eES{jd@%fuD`JEIPl$!|0O&@v}QR0tgTSKprJ>*&w(Kl5sT^XNBqW^xu z;ArvKytYjBKCx`^a`@W;hY35Wyxb9p$x6Psxv!|GKt)C-CC&3ur~mFvr7Sr#p8j5v z2iDUTs3IUF6f6tpR4x9#j^S>D$Ec%z>z(oMi{<{aI}e9_Z8HZu6;`kk20!o7_ocU; z=(28HRpuJVLPjlK`%-45?1yY#WAX@rNBF*uXIl-2^zypVl|$T@*EzqKLOum-we|al zEcMW`Vkr=j7%o0I1Ve3B!MS5t%GXyfzKQei$4%E+GyTT8btthZ)~ULitK`%jEW9%Hq$t z%p&Vsu`jjd@9Qp)&i%Ps=e()*{XArMSNZWXt|B2`b53IujZr|0G@F!5SQv+1huQgl zXFVK!wP@^no}z7Z-7vUI1`QqUua4fIG82~z?M|a|U-*79r1s+`?VfJlyV|~+`r_2G zV;Q&eGd_#@MQUL|fisP`h1}Q9Ou1!EclTG#`uNNiD^s6JjHU!=#A%B+a?m~mGW%kOeyLkQPEkBf>CHIPG%=T2{%J%6 zlO?*}kkPMtThCtXl|lQBY8^9bC>l7E6{N7-3XK=*a!ZN=v9MNN_!EgvNrBGT3XUy1 z>69O1HO9qFp;g$2C$Y+GSchjDLBQq{18N%o8y1j`8HAP1dVxs7b!SeP=Zw>IOHM;V z&?@(xI9&Q!4Eg>#cSjB$2@Q3ryT5+dTiY^y#=SW~J<%c9Hp%0B@t!p{x$`HyD)`duzBnz5%3>Ey{`h|5v9T~pe$4?FlrwjtJ! zwwA-LB~m*-=dRDGvB$?ZT;=o)Tf;pL|FN;OkYROe5?q6EpDu$VRI#acK_OpwE1PMh7kMi zV?x@OU8+wp_jQhiBCGxqd0aO#Fu&x8LIQ40B&e<>g3OvNA9%`i|%w#qiy#UI#`g z(csUD!E_2JjN&Blusvk@ox~>U8LjFciV8(uUm<28}{3Rj+X9= zD7&ieePW$UJl-DO&&lW9oN3zP3q^v?{;Jy-`dY~AQ_r%*?e+JpGS{dQHJQ$>Bv?n9 z@pAjqjxeIG)}nZVHp+0huN~iYirCayNpEW&?LDz0AB>H;4eu+d0VZ%?vSE!od*u7Y zu(q&Lzo#{_^?>MM^5Oo58~O%b1%?Gh;EvJzT`7(%Wd<%gk0(S~QYHJorgRw4Nvdph zil_bnFDeq;lr9RBtjP!dRmpSvXAd$k)4FayBcopOeBaqS!k8WL8spC2>`7wSTfEKI zP))O7VcGTAIVIfms(OBJHoUi`lC&PW|flICT&` z48GHt+dpG0fi2k1N%MUfnhiCZ@60t@MhkYRPvp%lL{=dQlILobhcSdaHT!y z2ef9SLR8?Eq2|`X9Yr<$`JJaRmGyE=XQzhLd&dInEFxXhOx;;I0S5`L23_2I{ME{e z`iD7_zU#&MV+a24*pGb>g&(Uh=gqrw!^l~S6e&Wb`;UIri9xXBhX|W}*05_K7tn5} zKQzPaM}f?ePKdC|tMFRtrmbZr-oWto-1-wrE%4>Bty7(2A;(b4$a@LMa?qmphmzO7 z94Nh}^~^J;y0;d2%355dF}QTHR*tV#e*ex$PP1tze0`2__9EsWK@*ht(}M~Yt=839 z2s+*Rk*{ar$G@!l!% zj0O@Y7nYfMkd%~Z-Jpc8p_tCUgtc`RIL~qb+X%BKv0@+z-{~-DR`>>cXZ2>?IzP}@ z2^dD>+OExij`(8-|SHLy~yG3w8M@ukjbl+Yq*xwAtP>aRuMEYw}Z z@Sghat-Xq2?hIx&7ckWXQ{Fq?!Z#2e9^2_|ML4O5Z%8@54zN#(LDcJ^VIQYv@L%l2{Bf`r)K;~J~KBQCvY348S+^*G>pDe ziOBv+_cXGR#rU6`kZZp02!ooMR5K6)5uv`49yTsD?su`KDRN*fITm^@-s|IXX4t{` zl_72qtnp6xFyA(FEU$FDB#&#nWP|ToY@(l9bCE~d>`Ans>+GbSfE)W!-5eotg`Uk@ zt;LUuQgMB;0{jEo%~n5%6=`37ETbe7TK^Y&pF<^|Z!S0qplq`e9#bG;u`6$}m&2*P zw{Nvai{K05({NJX>3w%hcd8vF2R(9rs*tWRxE|V5Aa>LtF;yCBVZ3Z5B?^|rUPVln zcZpSf$j{w7D5j3;Sw8l7LePI676+9BhNz~Cptws<9AXLbDr}8bC>Jj7L>zZ@%P8e` zc;?+sB@=t{NtHcr)KhnyO_nrUu}+u9z(0kVHmIDrwU%XVq!A&BD!sH;oiF(eIMRwFufux8rdBho-Cki>mv&cV-y6yF2!>$=3-CpyuIIHqJCq&2*Xd@= zc6t1AqEizbDWNPfBiGVRUmaz6kPFkX=R2qS7dO+v$;TrqP9E#iQCc--_hPF()A#!K zZW-pdvDujEd?N@I>w#C_)8(oPzHx(OTLisQbIp4VT?J~^{nwo0^pR`fNpOnap(3ag zoVZ3t=XFPUy_nD15`fw*HJ#dH-)T$Te${?eoN_V7a>yNTEc!0Bt7Y}%ZMtZ?K&yYCiQ?&`dj{_h_&d=S#_AfG%S1{9)0r?BkmesI zDYxBTmD!fQFjgZLFt7X%)b&tj$IA}q8{&%o&r;AGF%;Y8RgL_+=?{=(0G3{4DBztFXHAQpsH{RL+^CP=}iv9*WS88qCyDxKX&#@)bYi>(@%y59nyvIAOZOyW7?ET2xui(Ygy!s6j?OjrL=eJgz zGC1$&H|@`FUYpXGqT>>5N9bUz*OvYIRR%rdT-TtO4m&a7jY3`+o)+Vd9CoU4sJ2?z zfJpE48iHboe+;P-voeHw=&)!z0Xwyo^gFka zXbivsF9lVOSZ86yc{8=Ur)Pl4B*Wf3?e-ad@a6e(!Ijtb$y!T5WkipH0_6IOzylDUoGTXV9WqI^(C#p9 zP=}QUs)rqm+$jAfpct2kIy~M#LtL7}rCN0D9%x%}GgWZ!`c7K!$Z z4%whjANHGgc4aoqn>1&_h~QU;)}E;Z%v9qYBkZ>UPT|MB$>&}c{@!5x+y^ego48Fk zZVFoHRtxUtFSnhZPSjoJG}%&>!pFN`jx@>j-d(=G2XS&@-H5<@atXtSAbN(a=qrx} z!Qh{3=Q|`j;{@U7d6bbGCr2kO-j_?o$3={axk6jx&chEO^67gf4c@4)JR8T+_`vB3 z=gqM@s~R|=gn&`|ZJ``4a0=@;anh)t!Jm- z85Mmz;QH}_gs zTGF(KD=bW=VY+>~WZoppk0(ugOR>F?oFEA<=IF_gso&d?dC=psFj@}$9-oW<;T)jmz-F^&x(|zE8T?{S_f19 z>n+B^P{!b-B!u>uK{}X6pDSPU@JZ_1)wzK_8XPBMgucS?i`_U*mO-#TlR~fXkAcIVo3mH0b5K#1b|KZa6B43FAI= z*_acTjAm3ziDlFRuh-|lK_z@0;q$HEF~wK~GK0tps*ABuL`RrHnNtEo!uRAb`O<6A z^dEu^CA{;09N8a5(-K}sAi$el9YApu!XFY;s4Z4I^^edEGV0?>n z-&Ky_@%*Y2m9lc!`N*w|E7Zj#OB{%qN(MLh@z3AKbGUVs3^hmkM*8#vKVyS7_G15qrTXYVFnn@!HoItMC>`dneK8v`IYh!{3z~YAND1m zh@cwo1~esNC7$5YjTq&8n{hoPIC)KOX&{u6$Bd1)S+!YQyn)v4#_&YIXWj;0i%3}p zVs{H8FvHkzNa#OB7{m+-mtf`Ifno^SAcYd=`03Of)hSX6_^@_1YF=oK3l@VpT0a`a za~^cO3A)G@Zd4|3f7Caxrrl-#kcBfZyORwgi{9Xpju`~kX+%1Xs$3Wc8tIP4S%Nzc z9qfJ(If0?V`R4I*b?toJj)qo>Uq@HwMtL$|tCb9w{O{K`_~pq$k9olP)wkbVyd!jctFoCHh{%Z0EN7neE25txKy#s_XIRXzp`5K{p1Rlg@=U6FzPIw>;7! zbHaijxY;EL0le?(5oYTl$?!ax$eI6{Kq zP$M=a&BWMdw&*>DppXCcl|$W%m26n$%4`%Jc+yFVzHhmxYU->_XO`bg1oN3LF1364 zYtL0*Ta@MfR-Oj=AEzVf!;@;$Z?s<}5L{|-Qpj~!n=+rn(2pKV+?=OsD4IpFS}``d5NomTeg3;!OsWQNNo0 z&XfHk*gQj=^DsCWqD{>}zVu7>*pUm$HrHTP$h!H%{^ zriT=D-#G`h#mif(pobwP-x{)+5&Wgl?auk=k+HIU?ROlnmW{|tE%~V`pZ)#Z%^m-@ ziUWM2IysP-D}M-;ckiEH>$<1E&f2*;`V;fL3eCO}$Zb>4Eq5W``l`)9PPggS`RzFI zdF+YR-gy4Q>U66)S3$x0c+=q}*uZN|5yECm5XtWQ3!5mbZM58+X4N*IkJdjhiekUD z@k+-BjQ#pL-oCGpJ1F(qBm-=C%xmg9!)5K|z}u1mGZ~>$*rxle>7%brXw5SX-&o7+ z;zuxs5wpjPCpD5YNOL^neK8V|XAZrbxZVjoxL+$)5Y2CwH|mHdVrOC`f*DmjqX6*a z+ck0pEasnMh5{UjnDKJe*-8T%eWliuEMM?Dh693ojB_`Qe{>VpXXln=yu!t(k-ovx!<$gdk3$_^Utr;{zE=8G#)g^+J zz>TfUt0M&_LY@Ij&JU`EnDf_|d!T-F-IFiF6TF#=B#sO^#Appqxm_9KRB1+rk4C_CwBj`+sQv#N2dLq;j1Rs zvl^FwW9%&1!X8*ZMT)kM-{iTSt#@D926je&VzM;Ae>9?p`HY^)+HSkWs{k~jolkS@ zb&mat?EP;B+R&gCn$FM-yxiO8OdOwA-^OAcZj#O$@Ze#!S+J4di_93tfvjoC3osDh zZ0G~}VF2OI&u)LbH;N`&iM9m}0oW8=pPLU9k*?1GjpLlZySsmy3#+Ry040}6ea%Os z28Myk*BCiL;yIZ=q$$rLIxT0XI{Ht@;;ww_AA)`8&DPz)IEEO4l~?GBg(|X?u~rf( zQc&(K4#PQjYr&jcZTBo{tr9Yl2s14bv|b*s%arOUa_;} zgceQ_i&cr7A(8KznyVTDXTN+Yt8AZn)xMD7(4Si>_#WBIGo9IN{Art7$l)0+xo~Kf z3d+a~84~()5E<6v_Het!tdd0gXW%Eo9j%0L-gUYFayfJD?`$rWLupC!7fuL{sLE-N z34(HX;N~F6<-JL*>R{$kctids3*OJU5U$zAh(CZI4{!cua-u8FhY!ldyX7DBcU%Jk zB<$TLSWg(|D$f{5&2g`xnVqDqvV)glb!&#!mwyB=b#zOqbM@Q`J_T5DVE>f2FYOsp z(6qnFrsXi?G)vD(>yE`x1+dwd-U^Kc{`v2u=4x1Yhx4k0$%J{on!-u&T$oq*?$aXJ zcB&yD-}PUwZNFXNc4smcLE&uH{6G;iP7wL8>;#)H+nl&sUqSfQ4xA670yWs6Juz&_ zlm4F10KJUoX#X}nbJ(*_beV+T)->HWI6V?&y;EJ?^@2<~%K9;(t5R_<1j0xuiqX~s zPN3^q!o4yPIUg>mP&0=$od^DO-$4K76Git>47z8E4~=!*KerVk>^?y1td8L z`JZaS<_mVX&&VN0n*lDl^IGIs9Hz#0a@HxrPQwE`GD@ERiC#JaW37(aRN@X#nU$qV zI3KA+zs-YP^M}+vx$n!0{{3&LX--7S1n3=QSnNv<3t`23JmQi~nZG*I_}q?*9g6!5 zMSP#?x{Iz^%$%Y=D=PL`>U-ghoep*~yP5Iw5-TGycvoCrWC$O?fEeo1*L`nep9As1 ztp0Oa(EkFg_}M;e4YIz+}!4?VDZbFK3 zQJ6hYVfRnlTdrnKVk>1?a^vB$^zZVH|KaY~hRJpde*4n1pMwgTmimg$FWz-BHevTY ztDNVZzVOH4WUXSpJ&mp76yC@BxJN$vO4k01bsaVb-}NX38hlzhsmrq-{;p%`*iczB zcn*@gf`n z*SS2~ZZS_uEK14pw1^P%-Ca;>VD5X_F}E@9{)Vc8ouC|9|MyA=zJTNHK1 z5=SRiLSsJlw)=k3>Oo&2gJ>4={qSTOG}eEoX`x}gw&#&DqxEG!>{GE?`>y*z{Q`*L zoxXh8q2QmLo7ZzvRrN+cKci>cuDi?h!Rw9>k-Ka}6VXivD1e)(bu^!On6)(VJLc+c8qs+>&)Qh-2M4WDLuJZ{p- zIpcSImT4sAVO7T62Ysp%0e3IF^X>J~qH3TgN-K)8%q&`!tBX$G=jWGl9e5@U@&#xH$u5y6*>( zyW?zOebSSGh%6a(8LPY90&@|=iO;JzGY#DCYu(T*?{{S!M!vNuLyFskEHSWOL0K8s zPr70J9Obf=4hB*yUr(Wur-Kl_x5Sml@9c4Tbv0UrF7k*cDntOtE-zIZf6G|&JQe$- zde}pt^R0W@w{7%RE?7KJU{QbgJHxdCDPh5jv1?jvkTajQy%iq21Y{Q{wqn)49^JgY- zqj-><)(3YGt;eC>zL{{k0)>^QP*$r3H?m~_#aIs?K0eOpe7T&$Kv~7b-?s>VvuC*! za&^||j_OGM6KbTI}KeZ;H1FJs)$3n6OL9W&T6BkAH1){2!N zJsgzv)GCHB3#Urgi!Bd~BO$Leb^b`1ihAV^?X>a67q^%ZF)JBligS%_0>BhWJOf z?sv6b6TSwx!d_%my3lgH}n=pKL~9tMLZ;tFRz;&lNd(L_}Hfb65I}O`nRPecn2i z?P(?9kM$}{IoYPF?Di_@Y{OMICnpaDuh(k)@nxKf=$8B>G@FF8#*e$K>rpz2y;(6q zuPflpC@&_|*kf2A?6t%!hOT9y=|vBdV@UFd1ggGSmP@IiurPQlf}l3?E4m|iV91t3 zEcYWZf(yY3`po}9UDTw;EEInrZbmVH_NA1WrN{>K>F;9hzXg)t7}v(v1hU2gt3Hlx zf51LjtzX1n4m9aN!C{Qx%hT}UNCQUfED&E~-Jb01R4Cvgt9XaJ^DG2L;atyzG=O|@ z`o7TQ993hg?Wd$n6DVnkQz6CXpXd42zXzOocFOgdqB%% z{}JgGVJ>w}eZWH);H}+?ViAMH%lrHLGnf$_u)O3zJbhNO>YqMa9#W~opO4M*bM`RN z6~ffqL5IFakl^Wi%Vu$C=ah@UJo%uD#?`M6v(_GS-W;SNgfQrd%^(4RHTuLyj!L&< z*?+4MTX;tbksxmXy*?aM8khmrfK?w8JmpYxHPs&IhDe;hq9$`zllUR|UmB(#NfHJBJ2%zz_tX_9;U8`<6*3yYm$?dBtbn|2w0Gu=C2MI7bfV|l$F!c>18 zLie{RGqk`^VAU66Vmqc?ZVl}IqkPPF^kc=b<+n4#xrm1~_n?3`66)}t3Bpp)umonT z?K7a2UmCaoIj@WBXS@%aFTYTgMW&X-d)PO<5uOgmWYP-iy~ym($Vh7KQP4?qSsjoj z@_F}4!6{vXPVc?>DP2s@sgcZW?)=hA_XhvN)H)k;&>e2f3pI*+-HWa?`h)V)q<}8J z4XD%XyVq@hge@^oXNxw8R@yJd(H`DZ7sah2?oTxOHHtUy1|$}X2MOT*;uz@E=&OoO z2(O}$F>xP~El(DJ1C-A7EbGITLZ#9MtIyx`g@;galrGQ&4yL(R2^Q~rndeZ(vAt1k$Ow@KO!^BFb=hiSe=`DF{)LT253Sb9hPY-A(Px*7s5m93!h+z~t z8pxiWI4QMu|Lq0Za2%<10h_hXn3sh)5d@N(k=`Ds!I$=9YGA4TdjDzdRI@BuUR`&O zvuV10dV`VR!U61S>X)$>+mz9f_|zeix4OHy;{KC)61s)pp2FHqmFD(P79Ds7MJD+B zKaRLHx`y94Vr%!zSEn%vul8goV0)J05F~+1K?!mqtT1}2_EFRq8|oR#2^tLf&Vbv9 zi*S6(I<4VVbl3&|&hE8&g25~(2q@{iyxh?jBPim>-&G#T2WIBos~)jD;!#1x0)89F7exO6Bp00c*8GKP!y(@q zu-%b_1CzG&eScM@;{4LQ!w&2gMab-Xvnn!#@fH1sNHi7w*S)B=O7PJsjwScpa?3On zmnD^iAAkOyIkzYpke?ELIYFma0KHe1zW+O;a+=kqO^(pzwUMyk{O(1q95f*RUf% zn)RU&F^qHex8{X-0O%YZ+LzDU@L9WD0w;_3 zBYc9sc9);~?Vifz20;kmi+JSa-QxAe!=A8G1es$asSy;O3~Oj-unlccj#~Urp9`PV zJ&*BrLY-oEmf3AVy>469*dEgo)5#Sk?O=kuxqx|1G+)yk&N=$*PKh0n_5TcBZ+GPH zw&-5$j7EFjauyOb)HH0wQ8FOvDx+oSpT7V;`k7z1K)*vV(q#!~94%?Rf)TCmW#T3p z7j;6Ck0sm#J-x+S`alWp>PtDkRp17kMd|G1#ILp%_u*4Mc_@&&I3tG;5(wz}gR#sO zg#LH$RIwrd*(S{f9NPkjy>fJf1O@+)@r#{)WCTFNplc@%e;d8KVPDX7o*I~v7jFx1 zG?=YZ4e%E!gvy0$RdQkOA8dbGNc@oFD{yMoBON7)U)U2+pDPnsr=z!$$6N zaX(3OA`1VL+VH<3<=-+U!rMo(pI;zv1NqE&0^XtL2MIBk$vkJpY@+#YAFJBGSWF~n ze_oM(uo@WHn+f1)>N zdF1^Vltw`Icy+AszlZPj2wr#>+#o=uCo1zFEp7dj3q7VA+x64oQWG7O6te=#63 z{Jn0|mD~BZ0=xdL`D5@lCO{z?tpblV@PAqW+=6=*JboB9aP}GtBxG5VrVCUk6OKf& z-tDBV1nP*Nns)AZu+Wivl{-UmTwQu+f=qUQyt;!b?tS6OE|j$9S@V*>VS!b`6lDk- ze$B=H7goZ-pg!Cfjxt*t4?pzFBHP?v!bQJpQ_PWl#=>Z`e`LaxX$Aj~;=;65I((mb zZYbD&Jx!L2wY9%U*?o={gh3Gb=Z-rkNWXILO*&eF#}#7(s(UlaMdcOw(a*!0Ah8cz zlQPKXwy33dq=28mZuIew;_;(%jIRAVq<*QZIyvZFq3oF9CfnP^ zQKLE{p8@L-YT@On-jxaUXw8sJgXRCWBhecb=gfn4RO4S2&;NQU&bC%o8gfy_*`-Sr zhR0o$hqE6yopUElx3(*rT&pC5-!^Z#J2*1>c@`yKmmrN0Zv$qk-*-Ax?q75B^O{_+ zZ)a8u%cB9-83^~*jt&`fy(hGpO$=TVmgxL{cglmZ{%ZH;ydwD`yxnA{|26v;z!HAX zfLqo&$WGbn-bJ_gYa2hh{v7^W2f9>w`V^Ok_mB1DAgYH8B%ml;Jp^(h>h`rKU>GkWFE zQD2QE$H2=!|82*goPRS&xNO z7k{8VrT2aTuG6dE&wj8-+o%l>Tg;_4c3iI#T-RC@_s`P*h|%WH zVEt0d6^@^-`Cp|i^ZOEH4eXAdGVn0;TH_L+-S#9ghT7Zbze~t|QA36*V>VWi|A^j0 z=74=>?hE5exf;wstbt+|g6#1bwL7i$P~*#O{mnl4dqv^~f8~Vp9DYv^9p>wi_H%pp zxl?{3-%}6g3*vdDZ>vC&U{P;S)-3OtE0$4a`w`Q3=YF0RQ#vED%LV3+z$R=isS0=D z_GQsvjco`+((PWWP$SDZtXxcMCpCqXq8oYVPfBlmI2+xe;{EWy)B330oFIJ zKi=6R{$Km<%zl8$H2r@LFn}BralMhQvuQ*LC`8x+P87%jInb*9TMS?r-hF|$6${!V zCntAsa7dGw=Yv6d9n`m#RWv^M!PO2NW$zXU;Fo{g9!`!?Pln$S_&uS(s$1w?OE=#` zzh8bOGm=63kz4*s;a6V^{Ejyz(BpUKzvnBxIA@xiq*aFC(@h?}b}P>A%9(`0`US4# zwcpfk;4Y*BpB%pTF&tYs7)k#KRT=i?mVS$NLQV9=!M>xnf#`768b$wb7rflnP2tBH z(Iy3`B1Jp0jgd`V06H0z5lxr0prAxn2@M$!Y*XmF2u?i$W3mvOW|A-BfoP#vaq_6s zClyO3O3D4C$1)VBD(*67dR^*2*B?6$cVY1bDsL+EB)jNRoHbNO3cZ8-$h&27Wbz!nrol2zBM|*I~ z_o;`wtL4>7>)e`{&U>CV?vBq{ewE9%GlFwFM=IKdsxtWDgU?+;di@Sorj5?||LVg@ zpM%cCu1>#-)J|5SS^en$5M6e?;e%;Q3R7_%0vEg&S3PrU1xi4SSb%su%!qN#5@{Qq zWak+j*@+fv-_Roe!Ea@YbH<5O_dg{6q{g-1O06RlWxa_S&&M%bezDEniwA;!45k$l`Em{nVju(^ zU)>w+Q&R(9n3?~R(&5r=YrtD-Aq^!Uy~fI5DtE1Adu3eBtMlR^wb_7q(ab;?UtxLA zR?D2_sD6=jG50)U$8^5s(~1VQ^q1`y#H<4KtJErJwTbntFtt=RAm$X31g@CD zvxhkC)Q$l{!)SwEV8U7`76^=%_MOW3(aNwWDH{(B+@?}^fEJE~*S|c`n9p3fZL>rL zcI1=YFVFz+%S9Jp_yLt4*m8e+9GdugPJ!`JjTAL&nrk57?Sz_ijwV7*|{l?dZx z9wmiqgBa0uC*lxC7cfqC(_05Yphit}{gO82JeKUL<3Nad^}A@tRRt8}Dw0|7{u8jy zJw9ptwkZ0q(@zM#lq~lhh3~iQc6o;KUB5fk&f5_Jx3ISflK0z-zgC9Lb(e6IIZSl@ zbnDak>#uciI&A<+9Ap773J6KwvQxqMl8Xphs7{#Ky%GQpR5gV$6$I^Br2LcbR_6RI z8)(sFHyP#s_&u<0b=?19$gBEvs?cxc;g3R0$7!M)?Nji@i*@{N%gV@gO<=t`95Tw+ zr}r?soauElYVNcB9^D%%ER=DAr3jD@k*_$Yn~eE_jZh zqimk+*J}HdAhy!T&wnK(JIgw7{Oudn*w|JE_+I-_&tJIu*zeQ+UL9z)o*&|5;5suj zGqF5n{PoUq8uJCn2!}NZqOCz%fWsm!K21BI7l(u@pxA}bAqD1oP@vsmcc>3A&NQAJ z%T2(rdM3e$JlWl?pHE?Ol7jH8CZn!9Lr-<~ZSJUQWrMWqzbM3@EgNgUCu=k|r@iLM zhUxQ`0cCUusxT5|512d?Fb`D9TmSTi5JFZtthCSzZmsb2h%87xY}p9qh5@dxiN~nV zGgxlS?3}fRQlu|l4$n{$vyr&Q_kTWP2FkDXL=Q75-A&;=oYXBo@vTuMsGP2*J$T7j zAoHV%ds^}p!9X_0w;JH)lUbr_n9KXxGopqw7%{L4Fi(-tlm(Ca?xE*?jDtxMP{ORV z$-rvpDT0hJ3D6#2sihoDN-gNUFO|DaLl5i(ijNQj^9-`appI4^c}eSHz%m8|t6tUL zQ|hmxx-r_LSW6iMOl#A`<*@zsceW`#|LSmqX&5xE?S+VAb<30(}|kR$irW2({j8$JkwZP{k(F>DpHMBQpe;K-O1 zG1AOx{YjYw$$>UARaXqGgM7hn&>es@2n#QIil*}t@i^;7{Z$GCHkf^79sDLvIl1=N z67bm?3rWF0kY1=zY7JY`9ZCyq>cPdF01$Jo%G=;g7J%^gr&@%fIy+i-$WMHz6MI1w zI*aAk>{vc5gb-+u2q_U-R=z~aeVUe0Ci>z;uV}^B6q|+`#Byt){^e^^1n}0Rhcn2b za_YB>Ag!?>Ea>jPCdcC(qRw}Z*iSpSeGIhmuxW?q7v?|reJclq8T4`*1^6`S z15S2qFD^KE7$3sR{o_3{tuar^wS5{6U@van*D)M$M85685s9EX_#~uL`z0#w%+^0Q zLWUj`Y{{)KJV;U`!nB0?{3jL$bI36RYkIASWn)CnrI>VcfmL5hz(^X66T|^-TwgE? z9y+6Rm}l6(H|@B68|_$7^3h+3i1AU#HEo}Hn#Y^-Al6P|f+$TBMiOA%T{vJGFm;as zzY%t#U5#%Lc$eQ5j*IE3d?NA>>m%i=!2y0W++Z#?5181e#&S@{-#a&W*X)9w5{Kcs z-=Ouz$awatZQT4Fb6b3!^S|sDu3XJ_|0IYo-fS61;g&Ic)o5cNc$KmpVfFDqUP5Z= zC74T2-AFl03$I>a5DdJz8xdHYD0qhfpuxb1joHU3v=kb!MOcOuKA`|J6(S5Mi8ZGL zRHE?N&~2WhgMFA+zp8_-r(qnC>e8f=b~Z4iJV1q`DNk$lQ5vDf0t8?ms6Qv@3r_e8 z%hr^)N3(7Ar{sO+F;p*wV0*QND2J}kGCZvuYcl~!{ez- zm4FMUCDPhb7@7BOv1*5A6@dMXsiBS&gi@{>!_4k+azLx!G+T!e#GITck}2MVN|Yoz zCZQD(!iamFl%N-a2^xg#(pMpkA69JO9WS9jwEwr~CQ7{h%18i7 zNRt+_J?tYdl?Y$YaX5gaJ4)1%_Xup|Lvrr{pa1rq5XLCU!GnG$%~5@1AVhKshZjC7O-I{dB0UQ+RW zNE^nong__*LFhbhFo1dhA1nmPO8pMw3_fG``VOqKUR&yF$1T+ZLzW`Jy1F?^fshIf@fM8iZF^y&6zkEsNqV;|OX)^K}4hNX~=DA#(%}Bc#R{s+DYkdQeVhVgw zMtt+S=v;Dv;LjyNJ6Bt=K~Jw&S~JtXitU3j||CLoej^drP>kn)r@BK!-F(nQ^>e<&nZTk|jW3bdM3@wu&k zi+>*5j8V!~#v=mn*!z!^US3wd*^N~nbnE%lk{U(>aW+EZJiWT#%eb9(=$^n-((7_> z{FA2NPeyHF71-s9Nr(D)uyP0nyCUSS=|s```v9R7%qI+pPldREjHckgf`AF4JiBv- zC7|Xy^>Krp;0KO20%f6YtX}B2PJ%M|Avb^g36iDpQ9bMSm>H#rj)*q;m<3_UOglu& zkO6+~>ump+CP!`yno#T^aXZ?1=Gt$A~-m zf0D$zX(+MkB%~s@+gJUi6H{mAVdFaC&G3$@GI0bB7_**@putX-%gr1$ORrR$m4sTX|m!Eg65 zau}*Ny;~oeLrq8x=YNA@lID-h3(WwJ3cs@7PbNpzmjPJM0OiO52Y|{5H)RgjN^Tas z-L$Vl082B11BVYUS#RPYk@#|hft)YnZC?j++?X%noZM|aErY$ZUb{&!Y1f0rgAHRr zJl4;UTz`NJ%t1bjnloi?ez)P!WzQ%6&JGyGfT0%*KuvLiAb5?axPE9wZGl1~RfW#o zv00#@u*;Tr-50+^kZkDZ3=g$AZ+E}1MdfB+UOmWKkkfLq_{Suft?-po2R_!k)zZJ> zK9Xe#31udYZ`kVO*!)axE|vpfQ~(0VUZf-qucF&QK+{x=A;?z|ty zY&r)KL%A7{E+kxkMpR8mzG2Yh@=cLC=hN35fTIs@mbHdi1blKYzrJN`RsM`d*vfWi z?cZis8Mem4CbbkZaNimoD;3?Eyz9{^_3$=!=W+M-gF=U_6E&9Bmu0rkS`Kq=oz2~I zPG_JGdbfDYWu5PF5NQASwQVInO6^2!voNN>t3bH6ul?o+L1$MWN;U-315T4q#_qVT zAhKo@=$^1do`8(ktN4tzAvi~d1Zem9O2FoWM$VxuGF}!Y1G539Fn~9(RkSQ7a7qRm zA_8=iE#(NVClGMkh5!&`n$#R=1YXvr* zw{dG5Z!fIqv^?8053>WbZfPZe0K9U{*EDZJr0iww@GlFSlxfG_`U^)VOs@8iTi9L% zXr8S)qn4`5nP0|=Zl2v9Ofuw`@(N`<+V~43KQE46$P(Ye{=>8i102dgfaFpH^vZ+c5nN~et2lKZN6ml*0t6-!9N+mD z4-?OdVl+UG7&60_N^7P46>x_}m$D-g0W07?y;wZZe?|qOTtHMtbnvg7no_oah^h9n z-)j{w(!$@49_gVsyp>^Lo@O4W+Fb6P%OLnNfUT2`neF4hsPRS_W<(p;(H)mq_#vI%RIJ%i^%n^_?fZ(x!{ zNK;`4Vj%iz0z#OA1}g*7PfS{gF{P$QRS!s4udqO{8#o936%HV;R?mfFEc3LlA|HxY zAoMdkcN6cXk3^L|#T7t}VG)=dxEbVz^uU;R{xnfs?jeyvoRG&Nu6{%mKz z?HeYpk%7XcZFl#e-4;Dw*Ch4EfjnwRg!IlRF^Xw=N2T1{{QbHvWgonrarHX~jPY5L zX#TbH4bYBj^{f;N7S9PpfhgwD1cCt}990LGV~E5KO!}0k zn|=WSQI>=;NePww8ZBVD#Mz}P&~gq0urPK{*f<~OcI6%zMY=%BHNUOhZC%vg8+ca! z**ZBE4&K$0*$|P6NOZ=P3>j5I#pDnl5?dCB+@@RzU#~_b7HrdKew|{Nx#*OZBE_GE zViiLO#bJs*fHwvBRsfMP4DJ>|nlJxEo00*%L8HT@1&AVm%!nMObU=u`dSr@qzejN( zhBROYC54ugwg9kl6eUCBy@|Id(s_ymI=JN}Nd&77wIJm%ewJR(7DeiBMkpiEDAfvZ z2sk<9PU2c8DW<=st`e20vA`qm6Zp7uz_FwFyWxRO{aiF-m#xm-oaQ!x{6TH;$o!Y2 z&Ov8gh|?g&pWolfyYFR^XR37~qFCPXngu7I@+p zkr|8JtGD$9?>w(Xyb1Eif9;4g7rQ)fsXV4m`=Gd=!qCzp8#nrz<~P_9H#aphtjf{( zQBUEhtZ8Vc@RI%2Eyc7e;hlHo^22hcK|U60#Xi{CY~gX!i)cn89&Q>1bVnFI?qH5E z(Cc1H;1HhB@w-O{frj5%F`|gkJZFe_KA(31&Jyp@0Ci9-ngBRU4lt0T!-npsBFk9; zobT2{fIREQBDz!@Fq0tH2KaE*GeA^1(XBMG6$yYEL;2?z1=(xz>AIOI?yZDkcToJm zpy<@MDF;(asseU#owpMikUHE0esVni*8BL+y_A-zmO-8aSKjDdtN`2Z#KGi+ z_3gD!3P;g{__O^I*B$keCxz%%x&fkMmxAv&4tIApN^p*zqLyoXy~5LLQ3DQqhM>(s zc}CA;JK{LQes56h2O%m1DXKmB+JF%D3q0)1Sow)7dedZc<2gR>>k0!zISYUj5DW4I zML&OFM>4@!?4n5sJ;NOEXppgBo-Et$GtLD@T>}K}Z}4_5B9bjN7HBjQ(C7$5_YDQa zDlQajHr=~a1R|N93vqlgd$qcRU|flydcc&{Tf0}CJQrXQarUTi3N`Crz+)XvC)(;P zV7NeuD;6aM${v!#1GGyN-(T@0k#7AEPaKF1WwT@$yh)M#?tGm|b?*pcBSCVC$AT4? z385L+>4ll8oCuDGr`=an(sEkZ2&l~0G+>Z+6{ac(s6n{+6#h-v{E(QR?gzZuGzv@J zwQn8(jBboE;1DWA2@pVg(T@C!GJF?CiO9wp{IV`w#ZzImjKrRJ0AuugyeG(c6CRB? z$#>1XFIeJY@eenO{G=_;5r4%Y(|A!&yG7;f{Jrh6)US-;2uvy4dY0L8ztk5YQzE;^_;8*rfsfM5GN8#UkS*)*%Df0ADw+GXnr2_9YQiqIBTyL|adoB-Fo((n{z#wqp(@kPVQ% zpi)hQ#tvix|3}kx2SWY-|JVDLv(H}PWM^bXGERhKXA@UsB_lG*cq5}kKBR0{W-23O zg`6bG6Osu4l)=@o8eGqWC|{& z(jm5tgDIOaCdne|g2fXZ~Y) z{q7()_)ipEataxJhUm|X9DHMH4J<$!L^LJYX<-Oa0*gq47e<68?fO0%g9afI!QnwF z>g=excXzAmtK(-uQ4eGkWkbyB^vj<&A4V3AAG7_Gx#60!eRrrsRwTPl5*(^-gdWlG z#x5N>|GyR>@`dE5E&Kb;mV5YP9ds(>UJWfTJDt4Z=|gWLWs4j^1Os6mjH!tXWa*xcUo%;m7&hXuF_d>P^b5u+GR@(sn*)*k%Q zl@nUj(kMLSCODacG^EH^1Gw-ch+`(`Azla)$8M1FkU*6R?9?yt5N?GiH8d{uKx@xz z%TA7LQI#T@WFu&!Q6}Xf`j)r>AA)dnxwPAdwG2;=B7wivm0ssQ{fNG=Ei8eHcwBl< z(woD&!csKbK4a{;?=L@`jjAm}9N&klVfiNJ=dU{1hA97prBr6R3M=2C~ zuKwsTrE=bR#7olm6iy;!SSUQ#S=7YQXz(AaHd6tl(ft6erbgcHJY33MQSg?F ze9CWR_s2N=AO}MjD5NCq5kq$nyxasAM27fJZLon%MdRjtpt67vZo_zp596O@P)|--sbP_C;y#xyCsTl-AV9DdMQ5DT!NgIM*9J2@d9v(I^XE+dW&I?ZdO8#Ow=hDsVNU-+(&}G zkk0_Ar-45JDR)Dk12JSqln78{=Jsk)LK^(I+0K^1OmauFZv`Plg_!~&)eIj*==^YC z^e0HO@Ty_B=cjWKCW#iR>K>BE3ELjaei6v^i<)#>4<{WT$D;(eHos-%Gw?EY%2RCpirO=H1+nmNuPN^t1mDP9#WBq6M*zXesfp^Iai z*)mc%lK)2&a3&|(r3o1AsVqlk&=BRpD2nU^&ISSdP|ydJN*Mf!Oy?-&`$h*0;!a(9 zxot4T)__50Bhm$y ziPoOcpm~4ci;mfe6VgnLTF+2|!VD|E!wfNBmhHBRKAntwbgMn8ZxgA>cCAe3u-2?Z z=d0S9AZLdu=em}=X<7Yijx|osN8V$-6W;fu%eGw*DcI!S~f-nzy%?0R55=^p=JFAtY42)_0x)3L7@$cCMaucdCrZ;w9RI1y)rGJtWKYpg^ zTmCI&>^Sz#*dVTxYr;y&mjLlj@g*{bFyGZ>%Z2vc7i~C;s;d$z?7n@JH=jKqZJWdt z#xW{kvs?AUEz0gh{8H7PA#+4IhzPBioYyW0gKT^Ls;}|fx|8s&!1`%tOX`j8uT0TT znFUXDT^K1`bJ=Hp6RE+@5Dzu*fPS>%7jUa30MdC(%Z;BGR4$&SIVbApNnQH^fHkW_ z2$&vG1S2<|PPOE-0JBp+G~ovwNQ4?=1~=G7X4ED|b<@-noCxE*RODBElph>S`)TAg zq;U9vKCUAo01L4y{5ruBr7-Ay>|ALT(k2El#^8vFM*4YAGSBa8<`;24I=Z3{^+baO z>bZ5_!>bYp7xqOaX&LYBrlQS7!nhv`W=Q?|_jGipIeQ~*tk+?XrA#Y|MqQOfr$Z5H z*UOuhj0!7DnNoa0EbB;Nnfvbdvmj98`Sglvc~9i^otN)3u(RvXta>fstmu&%Gq6-M z2brW(ccWj{5MA8Dugl|XABa=J_gjyzYjEyn98ykGUMOX;9crCDzs_q>$7kgZ3I}^|5aKwy`7G(yiCQ1f0 zixg!w)~y^l8D8}db|{XPxS;gjxZqchE{?2Q=$aoEglMpK{x;-^&XiwgOkvbEAlS^Hx0K_OF^>BXI(v)$&wCbpc-7s=Q&cq*{Lb2I&P!n~tb zso2!!u+%G=A)`QPe8Y{uDU&3~O-u8mf6 zK?|4Dd_2YsJ>8Db=2|z+%+vBjz>u8wugIs>1$-+=S0PNV%@)Kfi`K#_R0m;m^S) zF3${$0{6erIKRFOcb!7)FXbjpCOt^Il8PaWwKCXtK+=N10=6m;&FDdXP@l??mv9tC zN`UUm7jSb>#+CM?9K)Tt8Mzu4_xz8i4Q6W32&M?0`}uJ|HX{2rO~)$fu9^BhVQ-&! zVSzT6G*b5j;&yNY+hHp?U*b*<*W4=ht_+hPCWWxh{Jc0wfhk{sszuDrEnzuB)pRHL zz55z4L4V98oH62cHQZe+EoE8oJ4(|}2>ylWTh(Jt8Mw)T&bTlt_ys~tNLrOk5G0(= zE2(PS+5hsWb>k})Oft|r+8W-K}D!r}&J$R#AF__oDhY^rL{tic6sA#(77+h1ij#*H;%JnW=OpvaKkfhkEN+ zgFeh`wI#c2YV5tN7#4;eLBM$&2mI97r~P3gX!_YtnW!;yxUe5(v{Y!4$MBqoj8ctC zXHK~S7EX4`M_DSny-hJx=VcCTC+Wc?SD-zUl7P>Q+NwCaQpvL!t^*Ym#>@Pw6KcB$ zzrKR#SYwm%wbhb9PvRw>pl9%C?3-KxtKWN9^-l_SZN{M6&1y(FA1+rs4zIP{SEQW_ z>;qVo#TWw>{cfJ1-MWwXU}ZX`DhK+pOkXpsUxWkyWkxl<8jrm88S6T%BB6gQF zt|G{I_*ZJ-6(M>E@s_Ld+C0SF0p7@$N@LtG#0h#@w^242~^!xC{rN_S!JUa zxL(}LcVbl_vH|ve(oH&5SNG8z`^N7^DD0i5@9QcV+G3B+HcB2|P%Pe6onEDZ&Y%g; z=J9%{Xl`971tg^Vk0{;RN_!KP6aDHJMcP{X6KH$c?RG^^9$=umC?ghg^ZI zAYjvCKca1P7eSIj{M*&MIB7>S-Dq!+>vfLL*IzK_Fto<$vS8oDo1MiXq_8Rd2y|=yo3s;Qcnr)=Scnih z=6RD^uWvdMxKtn%+wjfgmwf4wFcxm{&e**a;v)~d(7My7UEs4s5c-mR@B^@-#|?%8 z46?NQJ14Rf4<0^=Sg$rz#la`Ki91L$ zCqf6Lh0KlV>PY1LrxmU9lERI2+Zb+I=LQE50C92 zsDx}1g}Q*Ain@XjSv727WL%Cz>kwq}e9l2H%2ROUZ$~?iJ`28{7~SXZ8N;d2P;4uq zd!jfe`b%_#>3shace1lSjMM!Z@-)fJPkVjTVKZ!VSaCX2^ zDat$vVL+YxUORY8OE4n4f)g}3u!A0gp!cThq1)q);>$+1->Vlc>kJw77(>r@f0r8B zUCk%8{E_BOpKu?cTs8bBzW3-Jzw^N)7sgQx{`*pq;jZYhnUl8yT)8D=umj8NykD7& zLxI%wi^nmfLpIC5F++woBn1hBd~Z+JhejF(t(kjWiA<@au2JT5PIL8Yxd&bsL09qs zHmby>Danz{8wyUb5scAAxjYqrkysY6ta{XRSNvQ{i(?%mP<7nPwG(zE&c_!VA+Pp8 z78ccr>|j55@HIk%{Q=))ZB;Ib%we|nbn51q(gz%06D&-kwZSIz?yTsms|sk>s-Wj^ zp3;98XZ^d)9`Kq)X+W7V=CU^Ke|^ob<}#3OVerz}JSAMIoVgbnJl!xw8L#;KoJWB+ zzY)`oqJPXiiJ9w2M97-3#~twAXYgXZHr9fNo{@A+Z-9LGkRYz(Pu5pmEyM-1b}|^> zkhCS;2sv0(`eSHvJJ;e?ADfd|z4fg_CTCoPpc)WoWKNTCO}w5uIeb0)dzyzd$KxxP0()_;Gu2oJtg&hW<)B_oRZnVDW|` z1vULbQvJxlptT3pKOcCO(7!;NWhv8keillwIq%^5f)&8Da_WbR@6&Ah-!7jur=H!b zP+(xb?eThN=lh|dq1|QgetwjnJWN-2jfkiesW4Z_4EzCP>Exb02keO9GNdw`#a-fp zl$9ymzaJ3F^E*euT5gZ|(lPT!KD1X?_BC4lErM+_11!i=T|(SU*&W(b&cO$h()p3? zud~>GZdLq35!d6dO&eqYIFvBlw>7jny&tZex${u)Yw*)sCj(~wzyok;Sk&8V;2t8#fhfpDfU_Y461y8$ER6v`jtZd80dSjd z%3PLwI#_UTedFJmGb=bCG83T*f~vF1t*uI%QM3+?r|WI@12B}Q3`B$^I0>Z&`Ejun z1b0{In`mBt`LcM^8c8=sT;myuzR%#J^ZEE%8iaz`)MqRruFB$5J2VQ9tqS;FF)HB#p0+Y8hA1ID}q{%r79+lCzE(-SxJXOMJ|R2!Nz7vV8M!Rr~0m+kT(uEV{j-G zz`$1wqID5wPreS&)ODi*OHK+~#(s2J)HR|@Nzg22CfwLHa>Md+GG1vq z!&1E7fqh0N`*nkg5K8t^2JF<(Tms@TMNW<8KZLHJaN46+dtqW@5wDxM^X#(j1>}FS zch|~wn(wIi+}Zvz>igA*hzN7XgoiNw+)W;4WaS138ZBr`ZE*bD0X(!Y)6fdWOj!AA zdrZgJis`B|1QtSmcR81zgS^<_0ga}x*$@Aica97JSq?$CP=e^VAqQT4NIvaaw4{DWpU$4)pcxThTZIW4PBc>M`UYm&M7S7ASlSM&9%m(AzShga0=deCb%>)*z% ze@I>qDiZx9e+PMQ9EE3nu^3j(Lm0%J5o8+`vDk}rh}E#lC4IFp9d6*GTh54a`0B`%;CxC;o)jzF_PwQ=V7$j22_@$CcK=V+#~*vp($+e~Bvq^f-sYcV-Hp?o))<4om*=fNn>K#?bjdZk#_`7s(Lf|@8uxqR zhx~uN7kR-smpaKK#o`^)GNa2uhF@QqsW=WNUR>vnRVPb{59Bp(q~#AIspSj6B(P?A zae?~pw{_;;|MLDLfq*0!V{r4ja7r}zi>%~^Zy~4MJKpQM8CPz4=&Y+S-uSqezMcKY z{_CaMmEs)Cc8%}imd?8d9G)*GNu~8?#OrPQyL3T&Cm1X5yH0)AXQu|nOPEP??@Z1z zZP7Me$TL~n9?;puKiK_6gjNsq2a$sdNE%Jz^j_`Ti!dNri=FxqNkbN3GKUa&&BSh% zx=K0mexq|gx9R6m^l5j--8E{QCOZ$*G49^@{51UP$;U z)XntF{|bGj>o-JSh#KOz>aXk*TMe$oBe;*V$b9j#7b;_S{^pAN{;8xFET7T;W54s? z(@u}~9ey*{ubwXH5+9HOScYFl*}8Ny7B_BSkl0%?a)}X90a4KrtcK&%l}oR%0n0zE z?aH)=>-TqIbY;34&khsu6j#biU82vNwuPYfm6dk5^rr3ZOd^f%Ni{ZZ9MPBu>ZU02 zkfYC56_;fH{P}^$@O6I$Tp9gqz`$$l+G4!HvEb*#cv*vxg=m`FlD@CgM#bo#s-4Tf z_o~oRGd*Gcs^BcYYH||2)+{>2$UpVr%M}fY?M!Y)7_HibhL6e|)jtTXA_sfCq6^ZFD|7`fR z1wq33GwkZLgUZ5Ca`h8~zGqtlNrAPs{F-BDGy;51#0m~L^c7$BUfARyaaD~@znbh! zlg(4M$o_7+kDHQ}RZe}g)nkEquJm1@y1E^2^k$>Ph>!+_G(sY`dEl3JH#-Eb#MGxa zKD04xiVU8gS&_2AfgN>+V8n0@m{^*+?LE_fI_^>mEl~m3G}kgB^h^o$){3%w1M`7G zMAj3~3j>kX5P2z&))AJ)ZSRK$@R*yE`xnkjo)TmbW+nRTsZW{hnOqt7FI6Au>CtWe zXv`Whk^K(pTcusZU@79(EPX}V>Cd?TSSJ?TX_S^Kl<%~l4-;@pH}FW%9`Oq!pve7U zmwz78jiz?dEc^nGGVgoK!5$~08Kch9;mwGQ(ZbWcsvLTv!MwU(0TDBUfS57ZtSHL6E|Ayy}khK>G*mX=1KPZcN{sVp^PE>Fb zrUNrjfTRd?Kh8)@MUc%p^2raeDG+-wl5NB%J-4w~bU%phY(?jmMYhFFgW9tl4o`*R zI#7X!eX+6H376>|h_Yzw(`xTM9OGQx(xi`5u4kWqaZOnJ@*%%7X3!%svfvI6RbJ+S z8Km+6V;zb3ue=6qBzcb!#2F^_C>va2=7}K4t@~&mK8>?B?51r0n~c;qXicH~_ebzy zQ}k=GnbeXI)xTEtiTYFSR_ZC?R%Z=*ZKJhx#L(*xxD_-4=?beiU$j}ua&YGO)eTab z0<5w4`7CCiCg7)o5m0_3X2}~qcZ}(6m4l9-t)NP+uv^QIhNyeZl7sZ5qYcN&nVx`CnN1Zw0+irO)6Lv%J6mFpBLvHkheeI=>xeqBZ_$IH?^yPlUuNOt^` zo@|#{{%iN%%UqmubYFCI{(kuqa1Y4Y5xhda!VYc-wMVX?oSm%q{qpeEfFeMBq=6a8 z9(c@c^=bMf!##af;Zk$O#CuIM3I6{e5oNuPLpo{&=BdZ%!Q<6}9j!6t@S_bL|I|0H z%Dy~671lP+-+&M%%ppruPk>cY$L^=E8H|GoEAoGFmUbtiXVz2Aif9&!K2u$+_ z@$%(NFFyNyj^x|t_SRpWFvWB6>3M6BI>2+~Yta3ycVsUbT!%TG2<3(ZCE&^x(ovJ% zoNRt(&-pN zn~RAR(0Iet15Uj!pd7Bv_-ui|oSSFYJFB<7iIMbE^ja$+MLOM)y&Lz1|D9RM5s>*k zopsj^*?y|rfL<3m?}Q=vfOmz&-4cbpA9nNh*EIhc@?X9$vY0W@=&MfmxAmhmJ~8{| zbrhg2d}C5%?myCD)_dxa zqYXUIVg+&XJ?1UhI!bteG)x^T4WsvIC<$uSR!$es@bi-4ef|VmoUC%8G0-Zbl)s~ z2mZaHSNABi_LJ;Krrey*BNXB+r-6XunL1!J~Pd&9qfKXDmk zB_m+g+|7Dl0fL0jC$zy*IXN_L?Va4Qd%%lp2Ys$tIpIDk&VBC>8UIT+wL6NcJ;OK@ z>5*pfZv|OL-p$PX`Zad3_?y^Oy6&@eQ&?d7t`BX<-S97&11-{!yvzGrdc(RBu!o~sZ4Ukk8D!!$_Hh(DR^@K?W3i}c^*`=fK_D=)USR4C6S?|a#wG=~0rVbY(> zZvZ$^z$lpicqO=X^qZ1K@ZMPFM}-_N(TpX_#q4PJx3e!dEG&(;#%oM!2li<4+it#l zSJ%PP#MpqGj@jPo2yyY(R~L5Gn3;W&LU9lyzel3{eE z``(8~e?;4qqhSgF)L-kclkcvH`p7OnBSwgg?8RX1-{k}&GOk3u_9ATU&6^#vy%=-l z>~OxmXE^jvb=}d>K^O>3zkR{2{mp$q4N^oXU%m+6#2?=jK7Wv(?fCJOhw;HB-=7C|A7;v?kGCFF;4a4m_VuFsdS8V# z|KL_d1thW2ifc7J?#&1V?>&(BrsT$8B?f8Yg=6)1YhJ#J zaNZeUEx(@cGd(gp;I1rQD-)gZ0GqWUu^Y7>@RCcGS{Ta6sLW_=io~!hZPyim#&xZq z3yeNhf%DT@>rHw(fx=l3z@|tMcA%ttYzrul!MWIV&7@Sc$EXw2aZz#W`NP-*ngWXj zHVi=J${DY4#1r6JBkhsno9B-NBj%4{d%5~^v+X}Ve_CF=)f5GP$S#GAk8i#wbkg;i z7Tc(u8cT09=)c7A1(T8^MSn_3lG(5bU~vOIjR`0jY-MWX)-_YWXf*$1 zUi&T`od)4uwS3maPqcqcqgoqc>F4{6lAi9})3n%Mw6r!39mrxJWyNOSoB0`+;b|-J z{WLmSEOy8F!Td)QcYmfiU`DQ8Jfg2pf-O9^S}9+;WC#F-zye#JJ*RQnsd+?5&>jZ^ zf)4CP=yz2;T2)uHpAK-o6^yPrhlpMN0Trqmgtw?yr3llL!*Lpkk?i82^s2|4hO|~L zOdA#OW%b1IpVs4*U;mwjU@py!Q|{LbKPVvHx&p&d_g_<1>0Ah(uNlYW$qU(MVi=_4 zP1tQsEBf5Trc3d7(h%pfsJXWfwMZ6o0GE{SYFYe!e@%X7DVzkryf8wm12 zw=pP_K1_vNZ{`za+z}Ol)`Ju2dtd3PCFWElSX^FQ{A@>i3(dM2O#QS;ZCHKeVHjX} zvBFn`H0@$2L{F(M(>+ujZj2!U1&B|2$+y*RF!w3h36@}iNgA6UxRbeE>C7Z*RBFTj zRZ#XTOq)-4Qw|RsUc7mbR$R9;DarFBRaU4zD_xcFy|4_WCFO##OFkh%GP&y~nw=g> z^CR&R4$aLG-vI(oRl0)XZHgF@TR`CG9e||(&>uwEPJA)XXIYp>?9xEM_jK^8-Aaf{ zD9=)qz!SXyJ$E7-^?n^SM9XbqLbm&jG`O~`m7bA1d*jl5tvBDka~{_$u3YYSI}MSW zt+#RboF3_daskF=kz>hHGhDKc^$czVo0qyEi*|X?)zqdld~opKKi>2x zmgd!TJ0&=P(!ey&P9yJA1_PurC$~q+$7D)Nf8HO6TIR*lD)_E&xR=0Cb>dP z%!nt5(icHKiPK-Du+379?*O?lve{F0M-28Aoyybj&9^PK2T(d6A9E^O1KnUnh@{=L z9C0j{#_XyVDQ~22Mt5V+u6_Ws(J@?jE<1Ak)NW!??eWKJ*7!ex4u5QF*KB@aF4-cp zv+Y!;tYc~HC_0kjIbW}xtza)rK)aD+zc&1@S5^*LOhfbDR^;C2grxHZy{RE*&Zt@1 zBl%U#AB=aX;(7}F1oXE;mDjFXFZJBHB8^K>A~~DYB5%pel&mGFZH4N8Q%FlYZTP9b z{i^aFvqEl%slMWUzpG3mt+tal?^4>&R?T%)jeedJ%P~wW{?c&S(~{Koaw*#~UaTI! zc5(ZQRYd_Nl6X1%9vTzDE_}0#=FR3_shJj=lAv76RBY^Yl&N^;RXqrvmsLOV(2@k);~ zQF-TEmo8N+R#!JTR@Jk!%{r$il==t+71^D6nP&F&+sCr4s#~F9VPRfN58bactKH_X zZg_Y9z*dTF|6<^t)T=YVb@wVy=B@sjppWA2G?pGg}B7Tz!qFxq$=l)@$X|4;Q$h zcl^b)d`OI{MLKUqe_l% z;(}S)P`vLx))*DK{$wOx=f@r_^FUC#t1OqZz2O`LrmJ827hIBY%iq^S7>RHT)B@7= zf&Vo4E5fJ`DQmNk*65J`b2OIFyI~4}a&PajEXNa~7~H?>;LOj?n;4wwoZC~koEwSq zeLG6kTHkNdk#|ZS>ioA6Wl9=MWVC7y|MTs&sb*u~@xla>CiL&jZQ?39sft>VRd`-U3P^*s}&uVvry-rWk zGpTQe?_^s-@ljG1q}y%0b`MLE$9qk_1C_4`Y{AcW>rM$wq9^h_T<&f_-YukJW*N zqyGflV>B2gBkE+Mrrsm2M^2HQY!TF+dFyJf!iBjNS9SapMo`5(TkANl#CI zBXg)gI9(1IQpOzw1=t5i$0RFn3+B6jri^}=SIfSS+L~^!_^g5x#^nRDs+?TVBAYfX z%xvjmrL?tG5tDc;GW_}#cV5F1oMhaxq3nxJqbfJa4i02#B?~bKS(!mlP zErqpD^7G|4-r3&Kr`gYT_A1_N@)f)lE;L*r$o2AH$fm#JQI~Uk$9L^P06f9;1d@PB z5nM)onOZ0^Et}r3uG&jnQIPeKvN(S2B<$LHza)KcR#(=Ct4I=qtFU7r5lJ;OEhtzD z3#NY=P=P4*2*&T4(;&!IOn!*jN@4CM5XM8epz$(MkuN_t_exJuYTBO>fH_Z*S_zt{ z+CEi;W})fM%RFV{dxaP1YV|>3ammmvLk z@xnpn9{c-D_C}|iuQx}7S>HY1?|S;FblJbT#yD)$!FT7E&D|e_1$RZrE~lQA{QHh( zSsv8dUu<-sYt`D1BU;h)sNUOcnu}G=v^>D2eKx{OjnbLvLpn{XV`tqIz!q|O@7DPL z0-z@EI2asB^#TY1p}^tna!k@e(a=u@G8WwPQzIHc1O?6P>`eW2C-K()#-R(xXI>t@ z@j82YcD0yzM3PJv;0HtE^uQbri>OZ=w!jdyG7A^7t}z)lRaV#xUS2nM4sfR=J@T1+ z{k(<`S~Q*o+1bm%u#+|yNzc{~wx)*?pi2KqgXvXW)}ar)29AZ=Jb-a(JMB}jy2hOX zqo0CbXhx>g!k&W#nwnD)iplYiQn~ih>bcb%wcGVKTwR&ADeRvd+9LUp!T6ZRLk_P^ zavQ>R76Q~mr=Nvp+cqQI_m&%t<=8{C5rYi4rMwsR&XHQ{wVHmTCkQ$wat$#w{gD<_ zB$x%kYcC%YN?Ggq72DgRA#5@s4_v*EK-ek$*xnxtBj=m*G?Lj zj}}Pbh`ZYg19guhX+L~6m|^}cdcICZwlQ_u-*=$MA$#Wf-+(@gFP%#NqFIIqz34>C zzjgGWet-;b>kS3qizP*?opOqfBa1(Z;;Q810hUd<8dL&)w;l}Yym`pH7DCOb*^*;- z>6B!zzaRi7L(+3poW~aGy_fctU(-eU_?w4h{ao6Q?Mp8D{{+?yTF=8VE8UZtT!<5^ z7Yb^sc?9lcKT33Pk1RpKCY3mp5biB`Trt@9a+kw~UPY;{u))b|ic@O!h^EG@tZoj2 zbSUK&{l@8D3(9W1I z(v+uBl$d|{IM5#ORcZf<3$D0fzwN8(#GlD+Wpx+L4POYR$L=$Lg*17n-je2@=N?yl zeLoE8-}Nc#ox$<88bvsI@w52|yr2k9NPfbwGm0)2$hzmi|5>$i; zGzdZ$-*z5&f?jKIKW9&JHl$I6nWzlwAkSlNn65E{fi%6sz@U!jvCT5ZR4(PKh1qLp z_-4;Mue>;4bm@R*hiU5}^iL2}Ou`ocQ%J|;Z|uVMmE2VBz#su}i^0jJzeRj?<$2~s zzW76_nN-NKjRA)7s)z{)MPN!vNjsmr#@lTt7Tun7tQ9YeV0nD|4w?A{@^n0t02|=V ze+-c>K-`a`Oq^L!!y{i9OilVlF!5Q9KTY`Ejs~WgWeMw%HZFC&*ZUfBvKkLQCQVGl zv=_5tBHV8xruN?r?|z;uDGBc?>UshZdRn(u9$X4Pb_>c`O2IStW$e_i$S@4JaiujF zie_G(KFvdr`O|vdt4!$*B{D2*V?w?Zr2vr%oS0`#kmo@NG87aea}Ga#OiDUdKXcl2cfwL&Rx=zZ$$)^CjH ze?1jdQ=;b79L{$wqE1U~~!^t2rHW8wt2=5v;6ot zM$l^D;Y^EtnR(OEevbwZj0r5DIwr?P>u!ASzqz2c zjt08lW~Mx}*R>)Xe*jicvwr$=v=UhUJ;J1Uf}iclvzSIWbWFGF7G@aZe3ek`Hp&;kUEv`+e$BCJoMB1dJTf1K34B`694g@rYu9WN!13 zHz3VKK-k4HOqIxt>*GL#O=?!Fn;1SD*fKmeGI<4W`i5U&j?w<{=;CI66ZDGy^`JQ<;+`HY!r8_L+^G4|sCnz8RcW696) zZ4~NAFRpNI3A0=z;$j;R0fB75anUFAEfXkau0->|2>ACC;qfW-yUj|= z=j?dHwi++!R1gMZ>+#W1y128aQ;97_wXz?1_cSe{zE$6jvcb^+-H?M@TE5>zt)+x- z;+12s5@emU&kQ!aOmhmJsMokX=M{Qc4>CLGk`pFiJ5Cj&RWhleDKHaaDU2*(%K5-A z#|(qW$AY{*OoEwx)ZtB@_$I{VUFJM`Gm7H9@#HyKXWM!?<%sp^4h}|;v3mF4Qhe^G zgRJ1Fm#Bd!m5BYjKTsnWPr`oKnSe51_xTnR&PYMJH4R-jJdW0na2`PCU^0xqyQMx@ zEjUc(jzjc45gGGV`V<7qN!eUmObk^nYnjbt@!Cebo~m!0T{(ybj%Py|nql7p#=*}? zjpa^E#72;J^O+`4;NI=L)g=Hujz;9jTIr=F8Z;Yd#ef0A6VYvxhJw-$Qv)-gQylL}s$c;a3}nmv6t zJCq|(BS#ZKpoP$WD8jX*YCRX_=VA4HYhR{F2KR)7_6@XyYN60DHqw7RkoG#?Ca4z- z5xb0K<}8lS(rdJjJo{#XTkrWq+fUb5HE5-`nzPAiQ)`o z&x;OriC3IRGXYgiXZc7?D`+K0;JmOPwl0pL+JgD{$88#iXw5FhAwJS!5FbMS0ofdX zh_T2_LFL>dxlGv2gcL z(JlYF3ckA#-%G!c8fi)4M&TC)RSmKDAi}_26!HKzxg?0~5V~&W-AC~7|91fbg7k<%V;LxR_wogT{=fUJrAYV|6o!U~c4v@F zAufB2{tp_PVj0&wUs$q;vl+n_W8%NdP6GT{M^xpd^u0}Wz^n|OzgnCdTr`Wx#nf}JDX-6!wbsPxV(+J^EcUDKw# zoE4TbeND$CH%yld?<^u9Sl&grASSv6;AS8H>H=Vyc^QJc))9X4W}Uncy9p}yArWu` zkH22wk-s+DPsLHJJG+XG;}u9tzrCDS%jZfQn{&I?Cw$YOOf>caA?{d9;x`3|Lk1W* zzb%Xq*(rf;%hB+W&W7r6O5tsB_g=-6TvIWr^r4hxEl<@VKNEQBIHjJ|o?n?s#M5NOaIAC9)>R^|!AnB@^WK74#$G=3hmt z>s&Ug)+*J@G#To3avCb}zX;QSn@&W?0Xby)YVXsOMN(8w*EPVhfH_nGxTH#2>csb9 zUN%DzZm=y-&{ru>h4yG10-(ey{(j)>jv%0^ z!*dEa+ld~zBF4Zuzg7T8>iECSn*)>ecdT}*q$Zmko@iWrGxIVaV2a-R=FR9vd=HvxL^?n9O;xe}3^GA8 zkG2wnTVrP+WP#5|129_$j28h$^v4Ps;vo#X6l>XQSX?TMrwQ3y`T9pCh<{=ARokP! z>YCaMWLa>XhTy;UC)~Gj14z>1WZ-{0Eh?ak%vgUvCI`%;X-1eY3O)VyEGA}>UFd9x zM7aD@2UJPmElE!W&_`D$hol;g5Q*nb<)DEHS$GyvfBsZ?fdED>4DS88(RGIi1OG;o zXs$J`0wE0b46NE0Js|@W!0zW?aw?p4s(yYhNx9W8rf_nk=;*+FMQA_ru?9G}8$l;R zu7OmUNC91?ojH$towpsbC`E3f$EHTm{>1X?*mnC)KJ|Sl1C zdKkkq(ZgpTfi&pVh4vdQ4EQCruvtMIp6&X-R_d>(PC9W-GWM;lmW>Sf)P|B8(l6{3_D-qd+?7hdm-}}q=AGnYEIQO3Md_9-o z1tq1Qs6%Ub_@Wr;9Re?i$nftw{+D*AZi0oT(O+l5DK(f4tu#^W8o8tveeVBSfY+CZ z83?FVc|S#|{yhE%S#h5M1t^(*HfGzI0z8~`XLt3vB+$iw#L7l_!6N%yjl6jwo0%H0 zpeO?0limiX>{@iVW@vtmzEAaD&s?mmDZLv31W+@6mO&(12QKXE zM5HzR)Ztv8yB&j|oGKpLfdGb%x5XmJ^mHiNTLBae6Y*eK==vo;8ZlYa{Oa@AtfP2UvLvh(DQaIK#9N7k48!Q-f%xSpnimBo5@j=Cj-M_H@GrA2IzClcz z>O)sJ2`LCVu>*DNimGz;wb!CvVfRKqt&A?;%$QngOjgULTA)}V9~@Jba(Abx-~Uk~m#47OG-qW8`;Sh2Pj(_mcyJUJJ_OK?{6o-=i`bbC+H+3qW)gTJ$zKe-Iw%uq|R zWk!9J=bWRiP&iF;MH}x7rLrxeL9^iFj0-+Q%wy-P-vWegNl-JfhV$gQLH`l2^_Rei zhai@0V019q7QZD;d)JcJ*om~2drzuSBqe)VNQwBVm%EEC=niaqrW}Ttg)FRfVI%Y?XF~Cz#xcB^5?=QP0FNBcNroq&8kmUKV z{*wN;<@FK)qBqszm~0IL+87I+HL&=7LO zupDBrUKdG~v%;zkC3Z?m7n0ihFVSJ8%NfQIZ*N?PPBE!ac6PYHQS?Hq28;H$djt~} zbuqGe zFfN~KYF@TuKG-zS)#1px5)l4)ySW_aea_N;24Z-e$ronGKOp!c5Id$~SY`c@805mU z_SWp$Y*QTVRjbCpdl_Vx)v@~{bUCa%82Nbrpq0U2*26)0nR;dwNg*j898vV2aWl?O zZXjqMVXLvoX=@~iQ9TRfjzu;zFsk#WGiW-Hcf$F+ac=YqTY9+mki80%XnJ`%;`Q+r zl;_Ohm$7Y!)Z_TgFfW-)@?0viS^VnW4Q2jEeb($KLPj>Z?1KVC9Qd>%%<<133HWF* zKdarA#;KkFzb(R=B1`CN@+maulFb1J){`2e)EV1rA;AEWVntpO)~)|L0z!zV7PVql zdciILUpP+dEWW&}L9z}VZ1~hr z^s%XL^Ll+5V}G2NMg^j zx@qsn7O~)y5cmiPt_NW|4!>^rWfFWwAIYyzz;4tso>l(}p3zFq3NTijPe>>&`?gR% zlIoh5WX|#Tq73vDlEzFGE8T$G0_J)ngD#WG0=S44He38hH!g8;{`%KgKQ`|5NJKP} zV~YMd1_zWLc>I0x^w>WQ5<^j}yDFEJEM!Vs$e9&r5n|`@;Q{1zt^*A){P%$;IpOY} zfJyXfZbX%%P@+`RvEa2jGm>>k!joT;+Hl1gm277XF)tozctxuI*Vu7xU3D1^D^5hx zfhANLB_h>#M^u||LkW9n{72D|8gE)#b&!Hej+<9Ty#=;+{B{-Blvj7N=Z!1x@TzQh z)wN^h$5x+(9xb~0BZ=|05KVp6y`y+38t(Gq2a`dH?w%GDY0M=If(i5Z)f$&d6M2qi zS6p|?@>vo0JbPDMd{ydCy9Mz|CwXR2fHK#0Tpc@&$cY4<I~$z{p%N1&XzAP&ek<}#D<0a>hrHX$^Uvcva38v zeQbddj8-3YHK~KC2->=n*?-pi-{1F6gixWd_#ad+!^a3H!hxu4j??lF($>!lk{NnS z)NL+G8=b-D&888)u_(D>en9Y|n7+a{AwlH)5CCT(b;@;M!jFRhC42x~RmIE9x$f7+ zY=aE0RgvQrpMG5axe^jjWiXFR4CNmWQGM{Q@mWoBuYTp8b-~e=9SbDQ1RB7@?L_LW zwXZ>IJMwFR(`|RAwt}Y7H#XvyexcxBVru&{bYSqeg5KTcjP)DdTfK_@e3J(s%jCnv z+~AG-Zk3M}i2DJiF!AS?F^Wz-oB#3|Tz9VjqhnhB^=*LHfIogo=atin4R&l7_fFV&UyN~~3JEg|pdsTGnx~iEG9e$_y_3{+aR=DxudDza3@(-f}tD=imc*@N0NI^?m#pDu` zK1SsS1o}hPCK{sauH;UkB_GI!w~E>>Nw96_X1pL*_LFCI?7keXjW9BHVus1c9^eii zHy!-&!^Nst2lLmHKF5}v+p(u3PIQd2B`3F2-fha$Pt#V{t)w8Zy%Vys?*(Znu3D9* zJfbd_d4h#$w!3E+_VSx)oTUgxhUOoqLfHT+B%a)Ai;XEU(uQKB2%GD{;v4w4!U#-&jcz3@JWoJUHSF)y-kuAma-p=j>r z5K6&Tu#z8jiDB%ztqkcPf&LyPya{i@T6OFea#bu3qRu5_eNiva%>i-ikA1W2sm>t2 zgBjnGDZZYeQmuoQq?jMa>C4wuT}9PN`{4k#k2%{UhsZ(V zh0|^e0qGwfYnr_Mih{2he&*LX-aCUh20G!bT|7ZY)v{i}gLbmFq}RpUkyb&zNBR<7 z_D98|`)H|Ojv+rj^0}bOOxp*Pl&%hMfjV8L(TGa zvaxHQbHuU2CM%ST?`Z1UmsG$$?zAX5w&`@zw1_Z82Ip>XfAzSq5baD>SG#!8Y9cee z{xi#Mu59iw^3-{Qxd~$cXD`z(Vjl3MJY+@G@2j5MD7-T#KmO@tmZN&F@qm38QVe{u z`p$&#nq$}aMGR7t@(u|4`olq&N)Y?>!z*U+mE&33eST@5(q^ukIvdv)(tfO}@U;I& zN-WIE89#Rwytk~m@7K3Sd30<;jpN@N@--oRygeBIF9QXFGg}#GPul`ZMssocXm;%+ zQ&{UO*=D#q;P6JDk=)51&kyxaWV3&LiSp*ZI1QHjakFFEhX$vtE>j zo4*gK(t~AH(nr!<@y+wuQi-&H>4uz|{1vQpf+jQ_lhx8<_qm1PBR#G5{L`-*Z`r}s zdw@9dCP9M{6##I8RE+kdu-ysuyi(aa91XGq`f>wlmyUe$j(SHd?o@aUxzH`2PqDcw z8k;Y!*W*W%JpXd;( zY%5ANU%bjX&YCf#cRoeuy?#bsLWWOu-En`&UNT5;=X=NDG)=VP`-I&vDYw4u*H>+^{wg z(^0)-krU2IZ_j6&fSa0jl4Mx#o*7I%MPH=~P~o&x6UX$KS6h%ucPu($@h!KHev=ni zwLp5hE(ZKd&qK<9eed(QyAJ1s;5h-;RwScrvW0a~ChEH-pBH&?(b z-TfC3wDYkLC%Rx!eB?`p2d9Uyx#V!0bk2*3V#h*LXTBq;bGG1}s}~YO}#4HIqk&O8f3|a38{LQ%yt*}TlhE|ZGUK* z96%TB#qE5o{%3wvaux~7Wjx=wQtp#pTHBTCqJXRAot~6@DB_OwjoQ+<_F2WUNRSC$ z{H7+({TRdR6!*Z<}|d*LeYQDumH)aG{nbmFwBviHWspPtZK@>qv%*`V)A%e z?_mTR6?~nQDs;D@smYxMs33FRQ;PpaDa&F5B+;rLJ{+E<1xggnd2E9l0OTJNo+-;s zKWu^1-mCG$eNMsq-!JixJ@_~+q82FIh3pM}e@0V`UsGFeEsi$G}r0Qh1 zwAqe>r3-M;WsaN|XF)WnnFBQ`#!jZwUvAJ?QHMn!-iWI$`B`@D4#yNpT z{BN?!(oggKukYfk2OlmLo?410H|$l0C2^fPFR|`nN!p8{DiQQ$VCO`MPx%e19m&}e zWzpS}+aTstxxPlloT&;0H5GnXxgB=pPVuL7`p7iV_5EMjmWtFAQ(d~B0vBCQUg3&V z*rpTM?`XMKwzm>o6g5gtb5TL(taoq}ASxG^a_be9&ce4xC)10Z@3fGnN!d1I0zBYC zi(+Z^Q@+eFQBL(ctNs_l>Q6K;gJzoz5SyH~|4zOoeAf{=2BVW})Zp~RnP&jO?&*h( z&yBWF8;_li{r;U#r9d7e&^x60n+k+RLQJ#;Z=O$&6rEd=g@0UTUN_Q0n!2KcdsCZ_ zOZjJJg+H7-cTSZ(7D4PE9Y#3Y9-=taE`2%SfT6MUx`5Gz`+HaN

1&n9b+(Hn0H2!?;8SRSo87q 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 N@O1TaS?83{1OUS1f9L=J literal 0 HcmV?d00001 diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index 8eb4cb6..5ffbe60 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -978,6 +978,8 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga + - react-native-get-random-values (1.11.0): + - React-Core - React-nativeconfig (0.74.2) - React-NativeModulesApple (0.74.2): - glog @@ -1244,6 +1246,7 @@ DEPENDENCIES: - React-logger (from `../node_modules/react-native/ReactCommon/logger`) - React-Mapbuffer (from `../node_modules/react-native/ReactCommon`) - react-native-ai (from `../..`) + - react-native-get-random-values (from `../node_modules/react-native-get-random-values`) - React-nativeconfig (from `../node_modules/react-native/ReactCommon`) - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) @@ -1337,6 +1340,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon" react-native-ai: :path: "../.." + react-native-get-random-values: + :path: "../node_modules/react-native-get-random-values" React-nativeconfig: :path: "../node_modules/react-native/ReactCommon" React-NativeModulesApple: @@ -1418,6 +1423,7 @@ SPEC CHECKSUMS: React-logger: 29fa3e048f5f67fe396bc08af7606426d9bd7b5d React-Mapbuffer: bf56147c9775491e53122a94c423ac201417e326 react-native-ai: e1592baf0559a8b64e5f38dd2c0f2758ccea2d25 + react-native-get-random-values: 21325b2244dfa6b58878f51f9aa42821e7ba3d06 React-nativeconfig: 9f223cd321823afdecf59ed00861ab2d69ee0fc1 React-NativeModulesApple: ff7efaff7098639db5631236cfd91d60abff04c0 React-perflogger: 32ed45d9cee02cf6639acae34251590dccd30994 diff --git a/example/package.json b/example/package.json index 20b3534..91c3311 100644 --- a/example/package.json +++ b/example/package.json @@ -11,10 +11,14 @@ "start": "react-native start" }, "dependencies": { + "@types/uuid": "^10.0.0", "ai": "^3.2.15", "react": "18.2.0", "react-native": "0.74.2", + "react-native-get-random-values": "^1.11.0", + "react-native-gifted-chat": "^2.4.0", "text-encoding": "^0.7.0", + "uuid": "^10.0.0", "zod": "^3.23.8" }, "devDependencies": { diff --git a/example/polyfills.js b/example/polyfills.js index 012b04d..e112f52 100644 --- a/example/polyfills.js +++ b/example/polyfills.js @@ -1,3 +1,5 @@ +import 'react-native-get-random-values'; + // @ts-ignore import { polyfillGlobal } from 'react-native/Libraries/Utilities/PolyfillFunctions'; diff --git a/example/src/App.tsx b/example/src/App.tsx index 2e4a548..1046446 100644 --- a/example/src/App.tsx +++ b/example/src/App.tsx @@ -1,32 +1,67 @@ -import React from 'react'; -import { StyleSheet, View, Text, TouchableOpacity } from 'react-native'; -import { doGenerate } from 'react-native-ai'; - -export default function App() { - const askQuestion = async () => { - try { - const data = await doGenerate('ai', 'whats react native'); - console.log(data); - } catch (e) { - console.error(e); - } +import React, { useState } from 'react'; +import { SafeAreaView, StyleSheet } from 'react-native'; +import { GiftedChat, type IMessage } from 'react-native-gifted-chat'; +import { getModel } from 'react-native-ai'; +import { generateText } from 'ai'; +import { v4 as uuid } from 'uuid'; + +const modelId = 'Phi-3-mini-4k-instruct-q4f16_1-MLC'; + +const aiBot = { + _id: 2, + name: 'AI Chat Bot', + avatar: require('./../assets/avatar.png'), +}; + +export default function Example() { + const [messages, setMessages] = useState([ + { + _id: uuid(), + text: 'Hello! How can I help you today?', + createdAt: new Date(), + user: aiBot, + }, + ]); + + const onSendMessage = async (prompt: string) => { + const { text } = await generateText({ + model: getModel(modelId), + prompt, + }); + + setMessages((previousMessages) => + GiftedChat.append(previousMessages, { + // @ts-ignore + _id: uuid(), + text, + createdAt: new Date(), + user: aiBot, + }) + ); }; return ( - - - Ask a question - - + + { + setMessages((previousMessages) => + GiftedChat.append(previousMessages, newMessage) + ); + + onSendMessage(newMessage[0]!.text); + }} + user={{ + _id: 1, + }} + /> + ); } const styles = StyleSheet.create({ container: { flex: 1, - alignItems: 'center', - justifyContent: 'center', - backgroundColor: 'darkblue', + backgroundColor: '#fff', }, - button: { width: 200, height: 200, backgroundColor: 'red' }, }); diff --git a/ios/Ai.h b/ios/Ai.h index aca6864..c0a92f6 100644 --- a/ios/Ai.h +++ b/ios/Ai.h @@ -1,12 +1,13 @@ +#import #ifdef RCT_NEW_ARCH_ENABLED #import "RNAiSpec.h" -@interface Ai : NSObject +@interface Ai : RCTEventEmitter #else #import -@interface Ai : NSObject +@interface Ai : RCTEventEmitter #endif @end diff --git a/ios/Ai.mm b/ios/Ai.mm index cd0f2a4..047d9a7 100644 --- a/ios/Ai.mm +++ b/ios/Ai.mm @@ -13,26 +13,76 @@ @interface Ai () @implementation Ai +{ + bool hasListeners; +} + RCT_EXPORT_MODULE() +- (NSArray *)supportedEvents { + return @[@"onChatUpdate", @"onChatComplete"]; +} + +-(void)startObserving { + hasListeners = YES; + +} + +-(void)stopObserving { + hasListeners = NO; +} + + - (instancetype)init { self = [super init]; if (self) { _engine = [[MLCEngine alloc] init]; _bundleURL = [[[NSBundle mainBundle] bundleURL] URLByAppendingPathComponent:@"bundle"]; - _modelPath = @"Llama-3-8B-Instruct-q3f16_1-MLC"; - _modelLib = @"llama_q3f16_1"; - _displayText = @""; + _modelPath = @"Phi-3-mini-4k-instruct-q4f16_1-MLC"; + _modelLib = @"phi3_q4f16_1_5c8034316e4d4f818718cf6bf5bf5e89"; } return self; } +- (NSDictionary *)parseResponseString:(NSString *)responseString { + NSData *jsonData = [responseString dataUsingEncoding:NSUTF8StringEncoding]; + NSError *error; + NSArray *jsonArray = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&error]; + + if (error) { + NSLog(@"Error parsing JSON: %@", error); + return nil; + } + + if (jsonArray.count > 0) { + NSDictionary *responseDict = jsonArray[0]; + NSArray *choices = responseDict[@"choices"]; + if (choices.count > 0) { + NSDictionary *choice = choices[0]; + NSDictionary *delta = choice[@"delta"]; + NSString *content = delta[@"content"]; + NSString *finishReason = choice[@"finish_reason"]; + + BOOL isFinished = (finishReason != nil && ![finishReason isEqual:[NSNull null]]); + + return @{ + @"content": content ?: @"", + @"isFinished": @(isFinished) + }; + } + } + + return nil; +} + RCT_EXPORT_METHOD(doGenerate:(NSString *)instanceId text:(NSString *)text resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject) { NSLog(@"Generating for instance ID: %@, with text: %@", instanceId, text); + _displayText = @""; + __block BOOL hasResolved = NO; dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ NSURL *modelLocalURL = [self.bundleURL URLByAppendingPathComponent:self.modelPath]; @@ -46,20 +96,32 @@ - (instancetype)init { }; [self.engine chatCompletionWithMessages:@[message] completion:^(id response) { - if ([response isKindOfClass:[NSDictionary class]]) { - NSDictionary *responseDictionary = (NSDictionary *)response; - if (responseDictionary[@"usage"]) { - NSString *usageText = [self getUsageTextFromExtra:responseDictionary[@"usage"][@"extra"]]; - self.displayText = [self.displayText stringByAppendingFormat:@"\n%@", usageText]; - resolve(self.displayText); - } else { - NSString *content = responseDictionary[@"choices"][0][@"delta"][@"content"]; + if ([response isKindOfClass:[NSString class]]) { + NSDictionary *parsedResponse = [self parseResponseString:response]; + if (parsedResponse) { + NSString *content = parsedResponse[@"content"]; + BOOL isFinished = [parsedResponse[@"isFinished"] boolValue]; + if (content) { self.displayText = [self.displayText stringByAppendingString:content]; } + + if (isFinished && !hasResolved) { + hasResolved = YES; + resolve(self.displayText); + } + + } else { + if (!hasResolved) { + hasResolved = YES; + reject(@"PARSE_ERROR", @"Failed to parse response", nil); + } + } + } else { + if (!hasResolved) { + hasResolved = YES; + reject(@"INVALID_RESPONSE", @"Received an invalid response type", nil); } - } else if ([response isKindOfClass:[NSString class]]) { - self.displayText = [self.displayText stringByAppendingString:(NSString *)response]; } }]; }); @@ -70,9 +132,12 @@ - (instancetype)init { resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject) { + NSLog(@"Streaming for instance ID: %@, with text: %@", instanceId, text); dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + __block BOOL hasResolved = NO; + NSURL *modelLocalURL = [self.bundleURL URLByAppendingPathComponent:self.modelPath]; NSString *modelLocalPath = [modelLocalURL path]; @@ -84,23 +149,40 @@ - (instancetype)init { }; [self.engine chatCompletionWithMessages:@[message] completion:^(id response) { - if ([response isKindOfClass:[NSDictionary class]]) { - NSDictionary *responseDictionary = (NSDictionary *)response; - if (responseDictionary[@"usage"]) { - NSString *usageText = [self getUsageTextFromExtra:responseDictionary[@"usage"][@"extra"]]; - self.displayText = [self.displayText stringByAppendingFormat:@"\n%@", usageText]; - resolve(self.displayText); - } else { - NSString *content = responseDictionary[@"choices"][0][@"delta"][@"content"]; + if ([response isKindOfClass:[NSString class]]) { + NSDictionary *parsedResponse = [self parseResponseString:response]; + if (parsedResponse) { + NSString *content = parsedResponse[@"content"]; + BOOL isFinished = [parsedResponse[@"isFinished"] boolValue]; + if (content) { self.displayText = [self.displayText stringByAppendingString:content]; -// [self sendEventWithName:@"onStreamProgress" body:@{@"text": content}]; + if (self->hasListeners) { + [self sendEventWithName:@"onChatUpdate" body:@{@"content": content}]; + } + } + + if (isFinished && !hasResolved) { + hasResolved = YES; + if (self->hasListeners) { + [self sendEventWithName:@"onChatComplete" body:nil]; + } + + resolve(@""); + + return; } + } else { + if (!hasResolved) { + hasResolved = YES; + reject(@"PARSE_ERROR", @"Failed to parse response", nil); + } + } + } else { + if (!hasResolved) { + hasResolved = YES; + reject(@"INVALID_RESPONSE", @"Received an invalid response type", nil); } - } else if ([response isKindOfClass:[NSString class]]) { - NSString *content = (NSString *)response; - self.displayText = [self.displayText stringByAppendingString:content]; -// [self sendEventWithName:@"onStreamProgress" body:@{@"text": content}]; } }]; }); @@ -112,8 +194,7 @@ - (instancetype)init { reject:(RCTPromiseRejectBlock)reject) { NSLog(@"Getting model: %@", name); - - // For now, we're just returning the model path and lib + // TODO: add a logic for fetching models if they're not presented in the `bundle/` directory. NSDictionary *modelInfo = @{ @"path": self.modelPath, @"lib": self.modelLib @@ -122,16 +203,6 @@ - (instancetype)init { resolve(modelInfo); } -- (NSString *)getUsageTextFromExtra:(NSDictionary *)extra { - // Implement this method to convert the extra dictionary to a string - // This is a placeholder implementation - return [extra description]; -} - -- (NSArray *)supportedEvents { - return @[@"onStreamProgress"]; -} - // Don't compile this code when we build for the old architecture. #ifdef RCT_NEW_ARCH_ENABLED - (std::shared_ptr)getTurboModule: diff --git a/src/NativeAi.ts b/src/NativeAi.ts index 1bdab73..5dbf958 100644 --- a/src/NativeAi.ts +++ b/src/NativeAi.ts @@ -4,7 +4,7 @@ import { TurboModuleRegistry } from 'react-native'; export interface Spec extends TurboModule { getModel(name: string): Promise; // Returns JSON string of ModelInstance doGenerate(instanceId: string, text: string): Promise; - doStream(instanceId: string, text: string): Promise; + doStream(instanceId: string, text: string): Promise; } export default TurboModuleRegistry.getEnforcing('Ai'); diff --git a/src/index.tsx b/src/index.tsx index 64bf84c..8303998 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -1,11 +1,20 @@ -import { NativeModules, Platform } from 'react-native'; -import type { - LanguageModelV1, - LanguageModelV1CallOptions, - LanguageModelV1FinishReason, - LanguageModelV1FunctionToolCall, +import { NativeEventEmitter, NativeModules, Platform } from 'react-native'; +import { + UnsupportedFunctionalityError, + type LanguageModelV1, + type LanguageModelV1CallOptions, + type LanguageModelV1CallWarning, + type LanguageModelV1FinishReason, + type LanguageModelV1FunctionToolCall, + type LanguageModelV1ImagePart, + type LanguageModelV1Prompt, + type LanguageModelV1StreamPart, + type LanguageModelV1TextPart, + type LanguageModelV1ToolCallPart, + type LanguageModelV1ToolResultPart, } from '@ai-sdk/provider'; import './polyfills'; +import { ReadableStream } from 'web-streams-polyfill/ponyfill'; const LINKING_ERROR = `The package 'react-native-ai' doesn't seem to be linked. Make sure: \n\n` + @@ -31,29 +40,54 @@ const Ai = AiModule } ); -export async function getModel(name: string): Promise { - // const instanceDataJson = await Ai.getModel(name); - // console.log(instanceDataJson); - // const instanceData: ModelInstance = JSON.parse(instanceDataJson); - // return new AiModel(instanceData); -} +export default Ai; + +export interface AiModelSettings extends Record {} -export interface ModelInstance { - instanceId: string; +export interface Model { modelId: string; modelLib: string; - // Add other properties here as needed +} + +function getStringContent( + content: + | string + | (LanguageModelV1TextPart | LanguageModelV1ImagePart)[] + | (LanguageModelV1TextPart | LanguageModelV1ToolCallPart)[] + | LanguageModelV1ToolResultPart[] +): string { + if (typeof content === 'string') { + return content.trim(); + } else if (Array.isArray(content) && content.length > 0) { + const [first] = content; + if (first.type !== 'text') { + throw new UnsupportedFunctionalityError({ functionality: 'toolCall' }); + } + return first.text.trim(); + } else { + return ''; + } } class AiModel implements LanguageModelV1 { - private instanceId: string; + readonly specificationVersion = 'v1'; + readonly defaultObjectGenerationMode = 'json'; + readonly provider = 'gemini-nano'; public modelId: string; - public modelLib: string; + private options: AiModelSettings; + + constructor(modelId: string, options: AiModelSettings = {}) { + this.modelId = modelId; + this.options = options; + + console.debug('init:', this.modelId); + } + + private model!: Model; + async getModel() { + this.model = await Ai.getModel(this.modelId); - constructor(instanceData: ModelInstance) { - this.instanceId = instanceData.instanceId; - this.modelId = instanceData.modelId; - this.modelLib = instanceData.modelLib; + return this.model; } async doGenerate(options: LanguageModelV1CallOptions): Promise<{ @@ -69,18 +103,15 @@ class AiModel implements LanguageModelV1 { rawSettings: Record; }; }> { - console.log({ - role: options.prompt[0]?.role, - message: options.prompt[0]?.content[0]?.text, - }); + const model = await this.getModel(); + console.log({ model }); - // fix role issue, and implement streaming function and we'll be fine! - const text = await Ai.doGenerate( - this.instanceId, - options.prompt[0]?.content[0]?.text - ); + // TODO: poprawna obsluga tego zeby typescript nie narzekal + const message = + options.prompt[options.prompt.length - 1]!.content[0]!.text!; + console.log({ message }); - console.log(JSON.stringify(text)); + const text = await Ai.doGenerate(model, message); return { text, @@ -96,10 +127,113 @@ class AiModel implements LanguageModelV1 { }; } - async doStream(text: string): Promise { - return Ai.doStream(this.instanceId, text); - } + stream = null; + controller = null; + streamId = null; + + public doStream = async ( + options: LanguageModelV1CallOptions + ): Promise<{ + stream: ReadableStream; + rawCall: { rawPrompt: unknown; rawSettings: Record }; + rawResponse?: { headers?: Record }; + warnings?: LanguageModelV1CallWarning[]; + }> => { + console.debug('stream options:', options); + + const model = await this.getModel(); + const message = + options.prompt[options.prompt.length - 1]!.content[0]!.text!; + + const eventEmitter = new NativeEventEmitter(NativeModules.Ai); + eventEmitter.addListener('onChatUpdate', (data) => { + console.log({ data }); + }); + + eventEmitter.addListener('onChatComplete', () => { + console.log('onChatComplete'); + }); + + // const stream = new ReadableStream({ + // start: async (controller) => { + // this.controller = controller; + + // try { + // this.streamId = + // await StreamingChatModule.streamChatCompletion(message); + + // this.updateListener = eventEmitter.addListener( + // 'chatUpdate', + // this.handleChatUpdate + // ); + // this.completeListener = eventEmitter.addListener( + // 'chatComplete', + // this.handleChatComplete + // ); + // this.errorListener = eventEmitter.addListener( + // 'chatError', + // this.handleChatError + // ); + // } catch (error) { + // controller.error(error); + // } + // }, + // cancel: () => { + // this.cleanup(); + // }, + // }); + + Ai.doStream(model.modelId, message); + + // const stream = new ReadableStream({ + // start: (controller) => { + // this.controller = controller; + + // this.chatCompleteListener = eventEmitter.addListener( + // 'chatComplete', + // (data) => { + // console.log(data); + // } + // ); + // this.chatErrorListener = eventEmitter.addListener( + // 'chatError', + // (data) => { + // console.log(data); + // } + // ); + + // Ai.doStream(model, message); // this should be called via model.doStream() + // }, + // cancel: () => { + // console.log('cancel'); + // console.log('cleanup?'); + // this.chatUpdateListener.remove(); + // this.chatCompleteListener.remove(); + // this.chatErrorListener.remove(); + // }, + // }); + + // const promptStream = session.promptStreaming(message); + // const transformStream = new StreamAI(options.abortSignal); + // const stream = promptStream.pipeThrough(transformStream); + + // TODO: how to convert event emitter to stream + + return { + stream: [], + rawCall: { rawPrompt: options.prompt, rawSettings: this.options }, + }; + }; + + // Add other methods here as needed } + +type ModelOptions = {}; + +export function getModel(modelId: string, options: ModelOptions = {}): AiModel { + return new AiModel(modelId, options); +} + const { doGenerate, doStream } = Ai; export { doGenerate, doStream }; diff --git a/src/polyfills.ts b/src/polyfills.ts index 012b04d..f9b6591 100644 --- a/src/polyfills.ts +++ b/src/polyfills.ts @@ -1,5 +1,9 @@ // @ts-ignore import { polyfillGlobal } from 'react-native/Libraries/Utilities/PolyfillFunctions'; +const webStreamPolyfills = require('web-streams-polyfill/ponyfill/es6'); + polyfillGlobal('TextEncoder', () => require('text-encoding').TextEncoder); polyfillGlobal('TextDecoder', () => require('text-encoding').TextDecoder); +polyfillGlobal('ReadableStream', () => webStreamPolyfills.ReadableStream); +polyfillGlobal('TransformStream', () => webStreamPolyfills.TransformStream); diff --git a/yarn.lock b/yarn.lock index 4b2a077..b32fa1f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2064,6 +2064,18 @@ __metadata: languageName: node linkType: hard +"@expo/react-native-action-sheet@npm:4.0.1": + version: 4.0.1 + resolution: "@expo/react-native-action-sheet@npm:4.0.1" + dependencies: + "@types/hoist-non-react-statics": ^3.3.1 + hoist-non-react-statics: ^3.3.0 + peerDependencies: + react: ">=16.3.0" + checksum: f33b8a3b7c6ca77a6e05e5b2284c0961cf1e27b954e87b76747afc990a9581b852326e1ab739ac84a2c1afce05a133627c85465418cad5292d162fbcb305d86e + languageName: node + linkType: hard + "@hapi/hoek@npm:^9.0.0, @hapi/hoek@npm:^9.3.0": version: 9.3.0 resolution: "@hapi/hoek@npm:9.3.0" @@ -3412,6 +3424,16 @@ __metadata: languageName: node linkType: hard +"@types/hoist-non-react-statics@npm:^3.3.1": + version: 3.3.5 + resolution: "@types/hoist-non-react-statics@npm:3.3.5" + dependencies: + "@types/react": "*" + hoist-non-react-statics: ^3.3.0 + checksum: b645b062a20cce6ab1245ada8274051d8e2e0b2ee5c6bd58215281d0ec6dae2f26631af4e2e7c8abe238cdcee73fcaededc429eef569e70908f82d0cc0ea31d7 + languageName: node + linkType: hard + "@types/http-cache-semantics@npm:^4.0.2": version: 4.0.4 resolution: "@types/http-cache-semantics@npm:4.0.4" @@ -3547,6 +3569,13 @@ __metadata: languageName: node linkType: hard +"@types/uuid@npm:^10.0.0": + version: 10.0.0 + resolution: "@types/uuid@npm:10.0.0" + checksum: e3958f8b0fe551c86c14431f5940c3470127293280830684154b91dc7eb3514aeb79fe3216968833cf79d4d1c67f580f054b5be2cd562bebf4f728913e73e944 + languageName: node + linkType: hard + "@types/yargs-parser@npm:*": version: 21.0.3 resolution: "@types/yargs-parser@npm:21.0.3" @@ -5449,6 +5478,13 @@ __metadata: languageName: node linkType: hard +"dayjs@npm:1.8.26": + version: 1.8.26 + resolution: "dayjs@npm:1.8.26" + checksum: d0f124aca89be97cb7ae00c336bf2e96de05dc541e74ba0e56c746cd6fa8b2eb07edd48ac3b034c63544143374eb3238ecdc8815912d2fbbef2e853d3ccfec4d + languageName: node + linkType: hard + "dayjs@npm:^1.8.15": version: 1.11.11 resolution: "dayjs@npm:1.11.11" @@ -6540,6 +6576,13 @@ __metadata: languageName: node linkType: hard +"fast-base64-decode@npm:^1.0.0": + version: 1.0.0 + resolution: "fast-base64-decode@npm:1.0.0" + checksum: 4c59eb1775a7f132333f296c5082476fdcc8f58d023c42ed6d378d2e2da4c328c7a71562f271181a725dd17cdaa8f2805346cc330cdbad3b8e4b9751508bd0a3 + languageName: node + linkType: hard + "fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": version: 3.1.3 resolution: "fast-deep-equal@npm:3.1.3" @@ -7392,6 +7435,15 @@ __metadata: languageName: node linkType: hard +"hoist-non-react-statics@npm:^3.3.0": + version: 3.3.2 + resolution: "hoist-non-react-statics@npm:3.3.2" + dependencies: + react-is: ^16.7.0 + checksum: b1538270429b13901ee586aa44f4cc3ecd8831c061d06cb8322e50ea17b3f5ce4d0e2e66394761e6c8e152cd8c34fb3b4b690116c6ce2bd45b18c746516cb9e8 + languageName: node + linkType: hard + "hosted-git-info@npm:^2.1.4": version: 2.8.9 resolution: "hosted-git-info@npm:2.8.9" @@ -10969,7 +11021,18 @@ __metadata: languageName: node linkType: hard -"prop-types@npm:^15.8.1": +"prop-types@npm:15.7.2": + version: 15.7.2 + resolution: "prop-types@npm:15.7.2" + dependencies: + loose-envify: ^1.4.0 + object-assign: ^4.1.1 + react-is: ^16.8.1 + checksum: 5eef82fdda64252c7e75aa5c8cc28a24bbdece0f540adb60ce67c205cf978a5bd56b83e4f269f91c6e4dcfd80b36f2a2dec24d362e278913db2086ca9c6f9430 + languageName: node + linkType: hard + +"prop-types@npm:^15.7.x, prop-types@npm:^15.8.1": version: 15.8.1 resolution: "prop-types@npm:15.8.1" dependencies: @@ -11132,7 +11195,7 @@ __metadata: languageName: node linkType: hard -"react-is@npm:^16.13.1": +"react-is@npm:^16.13.1, react-is@npm:^16.7.0, react-is@npm:^16.8.1": version: 16.13.1 resolution: "react-is@npm:16.13.1" checksum: f7a19ac3496de32ca9ae12aa030f00f14a3d45374f1ceca0af707c831b2a6098ef0d6bdae51bd437b0a306d7f01d4677fcc8de7c0d331eb47ad0f46130e53c5f @@ -11156,11 +11219,15 @@ __metadata: "@react-native/babel-preset": 0.74.85 "@react-native/metro-config": 0.74.85 "@react-native/typescript-config": 0.74.85 + "@types/uuid": ^10.0.0 ai: ^3.2.15 babel-plugin-module-resolver: ^5.0.0 react: 18.2.0 react-native: 0.74.2 + react-native-get-random-values: ^1.11.0 + react-native-gifted-chat: ^2.4.0 text-encoding: ^0.7.0 + uuid: ^10.0.0 zod: ^3.23.8 languageName: unknown linkType: soft @@ -11224,6 +11291,87 @@ __metadata: languageName: node linkType: hard +"react-native-communications@npm:2.2.1": + version: 2.2.1 + resolution: "react-native-communications@npm:2.2.1" + checksum: 0b1a63a116a34866d06790b0dd1153ff622aba148a8ad7d87e18e0ba6c2cfa545210be0d04f3428341a72fbcbd09ac95ea38b92197856cb0fda67bca2321e07b + languageName: node + linkType: hard + +"react-native-get-random-values@npm:^1.11.0": + version: 1.11.0 + resolution: "react-native-get-random-values@npm:1.11.0" + dependencies: + fast-base64-decode: ^1.0.0 + peerDependencies: + react-native: ">=0.56" + checksum: 07729f70a007f7a3b8f98ebf687c1298ba288b87dd71d8ba385be6b5a377718b27b97547bbe1db6b225b83ee109dfce0b01721e6ed535d53892f3ac81e6bf975 + languageName: node + linkType: hard + +"react-native-gifted-chat@npm:^2.4.0": + version: 2.4.0 + resolution: "react-native-gifted-chat@npm:2.4.0" + dependencies: + "@expo/react-native-action-sheet": 4.0.1 + dayjs: 1.8.26 + prop-types: 15.7.2 + react-native-communications: 2.2.1 + react-native-iphone-x-helper: 1.3.1 + react-native-lightbox-v2: 0.9.0 + react-native-parsed-text: 0.0.22 + react-native-typing-animation: 0.1.7 + use-memo-one: 1.1.3 + uuid: 3.4.0 + peerDependencies: + react: "*" + react-native: "*" + checksum: 6573584ac5f010e86b8e4b4253e6fb0a133578eda5856e7d247511642091af123728f76526b11ec5f5f47287f94e653dd9b7582a2e3f8ce5817d52aa7c9d5689 + languageName: node + linkType: hard + +"react-native-iphone-x-helper@npm:1.3.1": + version: 1.3.1 + resolution: "react-native-iphone-x-helper@npm:1.3.1" + peerDependencies: + react-native: ">=0.42.0" + checksum: 024376646009a966e33e12fc2358751830818b0fb73b1c601a64eb5e490d2dc43eec23668991b985a8c412a84d087f20eb45bb9b593567c08b66e741b7bddda5 + languageName: node + linkType: hard + +"react-native-lightbox-v2@npm:0.9.0": + version: 0.9.0 + resolution: "react-native-lightbox-v2@npm:0.9.0" + peerDependencies: + react: ">=16.8.0" + react-native: ">=0.61.0" + checksum: ffedc7e58348ca28ea3a20baa7fa7d4b6cb493473e5f36a701aca22dc59c47606d64d667bb64ac7a1c2c1af686fcd99cd2883bd713797664517f0ed98ad03929 + languageName: node + linkType: hard + +"react-native-parsed-text@npm:0.0.22": + version: 0.0.22 + resolution: "react-native-parsed-text@npm:0.0.22" + dependencies: + prop-types: ^15.7.x + peerDependencies: + react: "*" + react-native: "*" + checksum: a8672a50bbc60c9d925b8935b484cda2ed976483fce156f31b497d799eb349b24b79934aa683576e606e3fd3d8d97877d0048eba95f702f15ae21263c2658fd5 + languageName: node + linkType: hard + +"react-native-typing-animation@npm:0.1.7": + version: 0.1.7 + resolution: "react-native-typing-animation@npm:0.1.7" + peerDependencies: + prop-types: "*" + react: "*" + react-native: "*" + checksum: e3d0d93313dccbee963d2a123f0901ac10c3c0f91258f419eab3c85969bb7872b0d93f43c5e59b7efb79d917259a1828f45389724c17ba9a50a14c29ed4b30d8 + languageName: node + linkType: hard + "react-native@npm:0.74.2": version: 0.74.2 resolution: "react-native@npm:0.74.2" @@ -13236,6 +13384,15 @@ __metadata: languageName: node linkType: hard +"use-memo-one@npm:1.1.3": + version: 1.1.3 + resolution: "use-memo-one@npm:1.1.3" + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + checksum: 8f08eba26d69406b61bb4b8dacdd5a92bd6aef5b53d346dfe87954f7330ee10ecabc937cc7854635155d46053828e85c10b5a5aff7a04720e6a97b9f42999bac + languageName: node + linkType: hard + "use-sync-external-store@npm:^1.2.0": version: 1.2.2 resolution: "use-sync-external-store@npm:1.2.2" @@ -13259,6 +13416,24 @@ __metadata: languageName: node linkType: hard +"uuid@npm:3.4.0": + version: 3.4.0 + resolution: "uuid@npm:3.4.0" + bin: + uuid: ./bin/uuid + checksum: 58de2feed61c59060b40f8203c0e4ed7fd6f99d42534a499f1741218a1dd0c129f4aa1de797bcf822c8ea5da7e4137aa3673431a96dae729047f7aca7b27866f + languageName: node + linkType: hard + +"uuid@npm:^10.0.0": + version: 10.0.0 + resolution: "uuid@npm:10.0.0" + bin: + uuid: dist/bin/uuid + checksum: 4b81611ade2885d2313ddd8dc865d93d8dccc13ddf901745edca8f86d99bc46d7a330d678e7532e7ebf93ce616679fb19b2e3568873ac0c14c999032acb25869 + languageName: node + linkType: hard + "v8-compile-cache-lib@npm:^3.0.1": version: 3.0.1 resolution: "v8-compile-cache-lib@npm:3.0.1" From fdad1913f3db4c4861ed9729df28adb9d1b8f51e Mon Sep 17 00:00:00 2001 From: szymonrybczak Date: Wed, 24 Jul 2024 12:17:07 +0200 Subject: [PATCH 5/5] feat: add network state information --- example/ios/Podfile.lock | 6 ++++ example/package.json | 1 + example/polyfills.js | 5 ++++ example/src/App.tsx | 2 ++ example/src/NetworkInfo.tsx | 56 +++++++++++++++++++++++++++++++++++++ src/index.tsx | 6 +++- yarn.lock | 10 +++++++ 7 files changed, 85 insertions(+), 1 deletion(-) create mode 100644 example/src/NetworkInfo.tsx diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index 5ffbe60..5dd0a21 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -980,6 +980,8 @@ PODS: - Yoga - react-native-get-random-values (1.11.0): - React-Core + - react-native-netinfo (11.3.2): + - React-Core - React-nativeconfig (0.74.2) - React-NativeModulesApple (0.74.2): - glog @@ -1247,6 +1249,7 @@ DEPENDENCIES: - React-Mapbuffer (from `../node_modules/react-native/ReactCommon`) - react-native-ai (from `../..`) - react-native-get-random-values (from `../node_modules/react-native-get-random-values`) + - "react-native-netinfo (from `../node_modules/@react-native-community/netinfo`)" - React-nativeconfig (from `../node_modules/react-native/ReactCommon`) - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) @@ -1342,6 +1345,8 @@ EXTERNAL SOURCES: :path: "../.." react-native-get-random-values: :path: "../node_modules/react-native-get-random-values" + react-native-netinfo: + :path: "../node_modules/@react-native-community/netinfo" React-nativeconfig: :path: "../node_modules/react-native/ReactCommon" React-NativeModulesApple: @@ -1424,6 +1429,7 @@ SPEC CHECKSUMS: React-Mapbuffer: bf56147c9775491e53122a94c423ac201417e326 react-native-ai: e1592baf0559a8b64e5f38dd2c0f2758ccea2d25 react-native-get-random-values: 21325b2244dfa6b58878f51f9aa42821e7ba3d06 + react-native-netinfo: 076df4f9b07f6670acf4ce9a75aac8d34c2e2ccc React-nativeconfig: 9f223cd321823afdecf59ed00861ab2d69ee0fc1 React-NativeModulesApple: ff7efaff7098639db5631236cfd91d60abff04c0 React-perflogger: 32ed45d9cee02cf6639acae34251590dccd30994 diff --git a/example/package.json b/example/package.json index 91c3311..925ee63 100644 --- a/example/package.json +++ b/example/package.json @@ -11,6 +11,7 @@ "start": "react-native start" }, "dependencies": { + "@react-native-community/netinfo": "^11.3.2", "@types/uuid": "^10.0.0", "ai": "^3.2.15", "react": "18.2.0", diff --git a/example/polyfills.js b/example/polyfills.js index e112f52..d57f830 100644 --- a/example/polyfills.js +++ b/example/polyfills.js @@ -2,6 +2,11 @@ import 'react-native-get-random-values'; // @ts-ignore import { polyfillGlobal } from 'react-native/Libraries/Utilities/PolyfillFunctions'; +const webStreamPolyfills = require('web-streams-polyfill/ponyfill/es6'); polyfillGlobal('TextEncoder', () => require('text-encoding').TextEncoder); polyfillGlobal('TextDecoder', () => require('text-encoding').TextDecoder); +polyfillGlobal('ReadableStream', () => webStreamPolyfills.ReadableStream); +polyfillGlobal('TransformStream', () => webStreamPolyfills.TransformStream); +polyfillGlobal('WritableStream', () => webStreamPolyfills.WritableStream); +polyfillGlobal('TextEncoderStream', () => webStreamPolyfills.TextEncoderStream); diff --git a/example/src/App.tsx b/example/src/App.tsx index 1046446..94225fb 100644 --- a/example/src/App.tsx +++ b/example/src/App.tsx @@ -4,6 +4,7 @@ import { GiftedChat, type IMessage } from 'react-native-gifted-chat'; import { getModel } from 'react-native-ai'; import { generateText } from 'ai'; import { v4 as uuid } from 'uuid'; +import NetworkInfo from './NetworkInfo'; const modelId = 'Phi-3-mini-4k-instruct-q4f16_1-MLC'; @@ -42,6 +43,7 @@ export default function Example() { return ( + { diff --git a/example/src/NetworkInfo.tsx b/example/src/NetworkInfo.tsx new file mode 100644 index 0000000..f868009 --- /dev/null +++ b/example/src/NetworkInfo.tsx @@ -0,0 +1,56 @@ +import React from 'react'; +import { View, Text, StyleSheet } from 'react-native'; +import { useNetInfo } from '@react-native-community/netinfo'; + +const NetworkInfo = () => { + const netInfo = useNetInfo(); + + const getStatusColor = () => { + if (netInfo.isConnected) return styles.connected; + return styles.disconnected; + }; + + return ( + + + + {netInfo.isConnected ? 'Connected ✅' : 'Disconnected ❌'} + + + ); +}; + +const styles = StyleSheet.create({ + container: { + flexDirection: 'row', + alignItems: 'center', + padding: 10, + backgroundColor: '#f0f0f0', + borderRadius: 8, + }, + statusIndicator: { + width: 12, + height: 12, + borderRadius: 6, + marginRight: 10, + }, + connected: { + backgroundColor: '#4CAF50', + }, + disconnected: { + backgroundColor: '#F44336', + }, + textContainer: { + flex: 1, + }, + statusText: { + fontSize: 16, + fontWeight: 'bold', + }, + detailText: { + fontSize: 14, + color: '#666', + }, +}); + +export default NetworkInfo; diff --git a/src/index.tsx b/src/index.tsx index 8303998..d552e04 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -111,7 +111,11 @@ class AiModel implements LanguageModelV1 { options.prompt[options.prompt.length - 1]!.content[0]!.text!; console.log({ message }); - const text = await Ai.doGenerate(model, message); + let text = ''; + + if (message.trim().length > 0) { + text = await Ai.doGenerate(model, message); + } return { text, diff --git a/yarn.lock b/yarn.lock index b32fa1f..a784999 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2911,6 +2911,15 @@ __metadata: languageName: node linkType: hard +"@react-native-community/netinfo@npm:^11.3.2": + version: 11.3.2 + resolution: "@react-native-community/netinfo@npm:11.3.2" + peerDependencies: + react-native: ">=0.59" + checksum: 6ec29c1305655f66267a026d3af970a71aa77193b6ed6e6538613334c0470f75ae9d6e3fd7ad40f75d618d6a59d9e14d4986625666d6227f7273f756809f39d3 + languageName: node + linkType: hard + "@react-native/assets-registry@npm:0.74.84": version: 0.74.84 resolution: "@react-native/assets-registry@npm:0.74.84" @@ -11216,6 +11225,7 @@ __metadata: "@babel/core": ^7.20.0 "@babel/preset-env": ^7.20.0 "@babel/runtime": ^7.20.0 + "@react-native-community/netinfo": ^11.3.2 "@react-native/babel-preset": 0.74.85 "@react-native/metro-config": 0.74.85 "@react-native/typescript-config": 0.74.85