From fcdd7ac5e9350cd94dd85d8caa67f1bb4eb0dda1 Mon Sep 17 00:00:00 2001 From: Mark de Bruijn Date: Mon, 12 Feb 2024 21:33:18 +0100 Subject: [PATCH] Add architecture detection for loading the correct version of the librdsparser shared library --- datahandler.js | 17 ++++++++++++++--- librdsparser.dll => libraries/librdsparser.dll | Bin libraries/librdsparser_arm.so | Bin 0 -> 28632 bytes libraries/librdsparser_arm64.so | Bin 0 -> 61584 bytes .../librdsparser_x64.so | Bin 5 files changed, 14 insertions(+), 3 deletions(-) rename librdsparser.dll => libraries/librdsparser.dll (100%) create mode 100644 libraries/librdsparser_arm.so create mode 100644 libraries/librdsparser_arm64.so rename librdsparser.so => libraries/librdsparser_x64.so (100%) diff --git a/datahandler.js b/datahandler.js index 9c86162..2fd553c 100644 --- a/datahandler.js +++ b/datahandler.js @@ -4,9 +4,20 @@ const https = require('https'); const koffi = require('koffi'); const path = require('path'); const os = require('os'); -const win32 = (os.platform() == "win32"); -const unicode_type = (win32 ? 'int16_t' : 'int32_t'); -const lib = koffi.load(path.join(__dirname, "librdsparser." + (win32 ? "dll" : "so"))); +const platform = os.platform(); +const cpuArchitecture = os.arch(); +let unicode_type; +let shared_Library; + +if (platform === 'win32') { + unicode_type = 'int16_t'; + shared_Library=path.join(__dirname, "libraries", "librdsparser.dll"); +} else if (platform === 'linux') { + unicode_type = 'int32_t'; + shared_Library=path.join(__dirname, "libraries", "librdsparser_" + cpuArchitecture + ".so"); +} + +const lib = koffi.load(shared_Library); const { fetchTx } = require('./tx_search.js'); koffi.proto('void callback_pi(void *rds, void *user_data)'); diff --git a/librdsparser.dll b/libraries/librdsparser.dll similarity index 100% rename from librdsparser.dll rename to libraries/librdsparser.dll diff --git a/libraries/librdsparser_arm.so b/libraries/librdsparser_arm.so new file mode 100644 index 0000000000000000000000000000000000000000..8ac7bff704666d5d74c7b669af1bb94de1593025 GIT binary patch literal 28632 zcmb<-^>JflWMqH=W(Exg7|(=(fk7gNfq{XAfz^aTfq{)dgF%8p94-&jb0Um^0fbpW z0s;(Rd4YHa27!DCe!|Vb@PeCxfek9p1Tr_Cfk7f4f?qH&Fn};fo&{_j1H%^v1Xf{S zU;ts5T;S7^6p&Hq7^Gi-fq^0DX-NvQ{T~<@7(f`LALKU>EyBRSz|6qF;O-a7U?nDR zU3cc$>%9j#>qJj(**g2vf%ZfO1_oXR1_lKN1_myWMN9@w%!~|73=#|sOe_jaA%cDd zAa)}ICrB2I8I>Cum>3wH7?c=18d*3dFf{ZW5@KLrTfoA>AjG1wiG@YeNli$QtAUS! zV*;b800RrF$VD?pmPR+{11ut3kDLk^6&RdYI2d?XnFJUZKwe=maAH$rVQ>Jm!InS? zklR2^eg>#Q5Ql+*L5P8Y0pvGP1_lN(1_lOk1_lNxs2qrrW?*2DgZc}^2Vo@;!N97nFU|=v~U|=wZ@-3jW6$1l< zHI!`&r5zX;7#tZG7@VMd80Esiz~BnyxPjt^fq}u3fq}uBfq}t?fq}t~fq}uFfq@}_ zfq@~Afq@~Ifq@|esvbs#F)%QMGcYhjFfcGg!2}r?7-AS07-AV17~&Wh7~&Zi7!nv5 z7(j6hQj)~Lz>vzoz>vnkz>vonFWME*(W?*0dCI4Io28KLP*ruyW9zC8|bnw9U z{r{Lk?^Uj_o3_f}0^jzheZBUpzTUogXjPQp|5EFgV(X0#LHZMqpNVJbE$B7%S+izo z+|$0^`Ha8!Y&!IP|I?LUZ)dHtn|APNU$0`z|BaRkwJ!o$H6ot*uF;P;^nJhXLX{Oq zUcTQayvlCco1^j`eZ41EeZ9^2@5QpIhaSE?yQwzZ^pMCTo5SDtKmNQbs?8Unsphhz^+)fTO|`6C z*@qv#6?xLvdtK_oKE>IOA5T`2TIHE{U+3UFdw0=Karxgr$8lzzmPo6bmu=7btgrX7 zbwS5|&-Op9DewA-A~~-!$!58y4(M6Jo>n=SM1w{T#!L@fb!D|4hS1Wg7~#)@}M#WBnQGE z{Vr(c2cfA)&PyQmYgri>L@hwYEGYkSGvu=}F#I%!V$;!ZR)EZ&FF)IT@qd5bE0aSh=0|Uce14uapGEak(f#It) zq}&AYw=*y>oHan$zlEKF;U|)N*jN}CHd;aQD@c7K3j@PKr0_6fVPFtMa-S3<1H)ef zgnNWI7#Jk25axsOai9Stu0iHaVqsv2MAE;Xg@J+522#d>pia85k`LBqHfkD)Wfx!kUKaZV(;UiLb zCNMKF$eJL+N0o(v;Vn{ppJHcVU_>%+5fcMLs1XCGI%5FY|DJ<^;UrRg%P=u8JVo+f z1v3MKq6q^757d5Vb_RxvNcL}LV_@J#@;?tKeVa2dfXZ2r`CAzo7&?*6`_I6@aMu7* z*Mj7yure@MS}`z`LCrtM!N8D;l-`5b7#IpI5aHRu&cN^z$^LuH3=Aic{JWHyf#ISF z0|Tfo0-1l7k%3{NAp?UN)O=HB1_n{2@M>XYU=Tz~e~Z`{7+xar&oDDEEJZRul!<{s z5GnsPF)}bjBKfa{gMoq98WFy7%nS^INcMFxFfeo)FfbTF-DAMcz;F`DKPy-m7|xn9 zFx-O5doeRGNFwRK$;80Wh!lUjnHU&yjUep+kbiG8Ffd$2%6~kZ3=C(j5$XRP3j>3u z4Fkg*sQIQ$3=D6P(&slO28NkN3=AcVko=Lu!N73ThJk?z%Adu^z>tU(o?#pe42DSQ zYXTbs!%?L06Jujw2($p11;X46MvM#$j7a+JI2af-k@Rzb$|EHIeq~``SZT(q>l;A3=Fy^3=B)4=AU9^ zV30&|e>x)rgCUZ8{TLY-G?C(aCIC1GOJPWKDDAGH7_MKB|bSLH8~s8z;q(iloq5UmZZiPWMbEj zO&q4Bq!Nc7Y!XmSB?Z{^U=xRFNyMQAi#SwEZZUQ(*u%l4k)s&oHnpaYU zBN%W>CZ?psC#GSy4MiMkLVQkses(Exz@bXS=OyMMr$IE?%;J0`yOK-d(Gpa0NjxZ_ zRHCLysAz6}UP%V3c97zfL}X7x)n??EBByGoXl`a+X$gw+Aok^_rJ?4O)Z}DLpQab( zmlni>GZ&I8K#3nEWr77zk{w6{B~gJ*GQcnjY;;jPG(w9@iZb)k(QGO~PG}%=QIZix zY=SK^#IOjY5j8D=0usX)(8xn_0@yqwO!L4_1xHN-X57*RC}|k10Xg4;1&~uCNB|`@f&?&A8J0wq zT7p^zfixB%hd4+8C1gMX1tpcp!2$AcDX7{@NkqvcusRd9T0w}S_!2IRl3fv^$o_?k zqIeoEit2N?FsAq6QYhsuToffB;G!s@0T)FJ61aFWN~(fnR!Av>l%5JoDlyAEgdlp! zjwDl@k&ogYB&nSIymW@#)ZF9(s`E6!(d_wjUcjyKW+jeUap^Gu)-Jq8fT z!~h!p1Cfjj!vh9!GC&3yL1TuQnY;`PObj{Du?x`HEokgeBp)({2pUfT^9vz-2`DWC zr4^vG3Y6A>(mGJu07{!cX$vTA1En3HvfYLrtIsi(CKT0F*ugrB6WVGf?^hl)eI`Z$RlgQ2GIsegdUmKaX#*&20;MgWv<;MYfYL5d+5<}aKt&u2$VhnrO!a=3sCwBl)eF_??CAXQ2Gg!egUQ5 zKg z(l$`q0ZO|-X%8sv1Em9?bO@A=fYLEgIsr#a90;MycbPkj* zfYK#Ux&lhqKrN2PwA5i)alx8S}#y^zi zfYLlrS^!FmKxqjmEd!+$ptK5<)_~GFP}%@Wn?Pv`C~X6!9iX%el=gtqK2SOUN{2w{ z2q+x`r4yiZ3Y5-((m7DN07{oY=?W-a1Em|FbPJU3fYLosdIFT50;Oj_={Zn(0hC?> zrB^`dHBfp3l->fRcR=YqQ2GFrJ_4mrKP#xe?aL!P#QGY4r<@AltIz~2bAW4(gILg1WHRlX&ET30Hsx+v<8&cfzk$0+5}2l zKxrE&?Es}+ptJ{+_JPs?P&x!kM?mQqD4hVMQ=oJPl+J@PX8YtZWrCXqM z2bAuC(i5Qc6ev9dO3#7P3!wB8D7^wouYuAVp!60fy#q?`fzk({^bsh10!p8O(ifog z6)1fJO5cIf51{lDDE$ITzk$*pp!63g{R2w>fzk}+ka%Z-(i~8l2TBV-X%Q$b0i|W2 zv;ve?fzldKS_euSKxq>wZ2_fiptJ*&c7f6!P}&Dd2SDi%C>;T%W1w^blum)t8BjV0 zN*6%s5-42(rE8#c1C(xo(j8E`2TD(X(o>-H3@AMZN-u!YOQ7@$D7^+sZ-CNUp!5zX zy$4DkfYL{x^a&_^21;Lm(pRAL4JdsFN72(GobVwD7^qm zFM-l4p!6Cjy#Y#Zfzmsm^d2aE07@T$(kGzw87O@LN?(D}H=y(#DE$CRKY`LOp!6Fk z{Q*jUfzm&q^dBhAPzjBHD9r(-d7!ialoo-~5>Q$ON-IEV6)3F%rFEdR0hBg@(iTwK z21+|XX%{H%0i}JQbO4kNfzlCBItEH7K2D18M= z-+l$C^G{C3y5ZAVBi4J zoD2*+Aex7Pfv13hLCltcK>$Q&FffRKXjKLV2@uW9z#s#nSr`};Ks0Dg28dQ>V9)^3 zHVh0pAUceJ!2m?FF))~bXe9;)3lPoDz+eNSjTsmmK(rJCgA0fjXJGIE(V7elJ|H@n zfgu1y>o72cfap{Ph6oTX$G{K+q7xVx5n+L zlz`}128Id{oyovZ1EM(?7#cvdGy_8mh~{Kq=m60|3=BOWI-7xE0*E$eV3-1;RTvm% zfM|aPhB+Xbi-BPQh?ZnvSOTKW7#LQ7Xaxp_H6S{TfnfuP=4N2n0-}8x7P2`Tn7@n0f}9K#4bQ$XP}uCgT@a)QtN>xXM-eX zf+nYd#+O0k3n1y`K$H9P2@#%Okl1fNp@!`PB)J=Ca%Yg_jv%r3psCw{#$SS@b`F}{ z1SGi*Bz6N5y8=y54w7675<3Qo9fGFE1C4Kkq}BvYP6J6!0f{Yv#1=r)!-6FD=Ob#E ze)xz8`xi*;2T1H2NbCz}`i~&V?LlI1K~uNl#k3^JZX>04>aBWMGhT zWMFvb#lUdnIm3Q$x!apgYct+tP$+O`a`S(6k%wU`;|F%e24$fiJP#NZxE-Be@i8;~ z;4z5(!SWkb{V9$HWsusY7;Z-?Cz1V(3LsM$_A@9mCpafGCmc>-PIOLWZU*`H$5s|M z{}2C78PvE9j=W?D_5b$2T(xmo(f{u!-X3|$725K{D1qgpF@t*B-WNX{{(s-Smtnua zRu;Ga-%q_`P;U7VU?8x!;YWY~$gBxJ0vJFvQwFnJmlNxS2|of9v^F+nbvZFzU{IKu zRN&62Aem6$&X7^yKH(>e0!S4bSe4br2|sldx}2CVFeo(t&=CNuECiV~;U^2&%n3hP z(bVh0)$4-QM?%%JLe;aOsn>(6*8{7c302PqRnLy5ULUSrAFTc+R6RRb{f3_$Na~F? zZun`S0P&|}8`$-Y1@0Sua)8w~RiXIwhY{RlBe2OciwfKustVi-wlaL=W@B+PaN~9R z|J~v3gq>4<1Q=*IXp zX^aYtznMNQ`np4C(bsQ9OMf#3d3=%&J^Jaj=p}CXUrqm*KIIg#{pS0(^fzCe-=_%C z^PfaZ{a?k&Equ+#mSef_H6NqXCxJS?-)y0--z5D`f0~!K?l)`R(${>fe6K_KyuJmR z9{9wLKb*SN#{rMlbSs7H< zx%huzV9oo?&YJj{Up4u&xa*Yt%x(~iLHvW$%~^KTg*P{q} zs4Q@Is08H?HU>~gJ1`WuANb5{yy4@2dx`xF+K}8Ve1XxrYty2S3m9&1V$VwcKrW-?oDz9gZ7V$nH>gh2S2+A{{Q~x4Tud&!3RG#DE|Mxb`Qh;4_oEk z#N2`_S~sw`@wy$}n9;$k%%H^bF@%xf12e&o6+?x%B4cCIvUv4SQdFaQOfIM{QvI1n_<81%Mbpu-8TMUIuKIPx?#f4 z7GplQGoKkG#obul;(vAisM+o9%6Wm&*ySRFO6!l7=IROtZNH1#elQ*I|FWc*=L0_v z^KZ^b|5rZDoF7}bc7J5xm%niKC1Y`*8?!Q_l7<_@wEy25-mo}7+0?S}>W>QJ?2T7{ z1SmVYX+V77FX7IhvKgE{yj?F}0Q;)n|5XnslQN@Hpqqx<*_Vu!AT#3LC^&O|WMV$D z>HKs5FH5SpesgkheQeiB%+IV44QAuRJJQW8iHN+dpdb;I=b;TGs8sYF9!^n);hil z04>@0Ai!|wbE~k!D;K9vKU$0h_6ltE|B_V1;>Mu(|GNh`Eog!Dawz`)-tr2h z+d=XF_qtag{UBD=E075w*^*bFv?Ac}|NFvSpt{rlOH#rA@8@2zxPjc#_FBPBU@yb| z|KB5a|Nnks*Z=QXyFP4f-Qc;AaXr&IRyQj*4mU$kZTpJFO=2g53Mkcn*sI}Y1r~L9 z4dFBFXL#+%z@#nUqOqSzx#5SqF({9M!~|R>{BUP3aOZGo_~D`qq9^=tVTSqt#7l>b zSAK*TYePe8?+XD333rHlj_rbkQPwMvnh30FlAvllE0o6s&5lLDf70+m(S;jSJMSDPT1@Sk-*lS+EsU&iw!W<7LIhD?bX1lQ*U)x_&wn zbl?*slY$%LZ&pQ6x&)O`67B`yxH+>c#Gt^P!4i~TCH6BaGXG{|XaR}rXZY$`01E2^ zKLUgybO@A=fYLEgIsr{;p3VEF$#$IcTr3=9Ws7#K7+vUygzFn(<){Qv#$ z4v;#=uLlbMfB(LNVgDK%28IPlY8VRte}4^Cqfq$&`_ml^`#WqH7;0=77f;l#zZ-1xqx4d9~mEXJF#96{=ulvrSOWO?1ntl`q)WU+si6VD}Oc}6Ri*NrR+3S5fLKUnyg zelW@}cKUg-VDCB(Wj6sg1x1$EY-0W&xNIa71dN@3@W?p-;E-|t!6LKS$>9gf>CYEg zKm1`{!T#(*gbbIO%MWFN1Dmdev^w3p$z<&ELqR|+;=_(%&(nU zSzkM`c5ayC_I6XF8{^0S7IT027%)%HmYe&-!{PQOrpa@E1Q@VSW>99CboM2K@Yx?C z2Rz&kxk>zB-2eZ3-wSp(54V5c@4RPo>)psan?c+80%I)G?3qp)`z75tFEPw!GzoTn zvgzqX#u=QTvbWRv?39fn}nz8?$%`!C*je)lDdQSd7!2KL#_9~c=V_B(uF zWMI&^bpdAI+Kb1YGtE2+S9caJv*6;+=f<(!P8V-%cn+@nok68Z>jp8m|KFuv2xur> z5YhnkW5D%rGvj)ej{+P5N|tU8ZvVb(y=R;)UBRIJ{^FrcOdpsTCvYZwW@kS1nNi@- z=SHT4&-}_spT(UMKg%aGKVVRX=rvAYvgQ5A!O5VeoB=Y&!;NV&i%IVfo`iqjncg$b zR{g=m4>I%U#RaZ!FET1X>;;W8fyS6Xdw(4m7#O%27#Kh_XwM~x2JOKD(V+dqAR4qM z8$^Tla)W5lUS<%@2h|7K_YC5L_9%mB(0)u14ce~^qCtDhL9_%^J!m;2h!5Js4WdD7 zIzc!zFFP;4JdeTNo`J#9hk?P>m4U$}ih;p3gn_})g@M7*pMk;6lYzm}mw~}8h=C#4 zgMq=_k%7T6gn_}`mw~}Cih;o$q{o$k!3iYi!NA}Y$-v<5$-v;`%D~_r#K7R>1=?TE zz~JP_z~COvz~B_lz~B+ez~JQ0z~C9oz~JP@z~C9kz~JP`z~Jf1z@V$kz~Je_z~Jo5 zz~C9ez~JT2z~CIlz~CLlz~Jo0z~Jr5z!2iXz!2fhz~Jr6z~CLuz~Jn{z~Jr9z~Jo8 zz~B?cz~Jo3z~JM=z~B+Yz~B?iz~CIoz~B?az~CIkz~B?fzyKN}@bP3|aPeYb@CjjH za0TfLWngd*WMJ_1W?*m)VqoxfXJ80+W?=9QXJ82SVPNp}VPFXMW?=9QVPFXMWMJ?G zg@-=_gKsDULzE)}gRct%LvSzygRe6KgDZ&kV_*n&VPNoeWnc)7VqoxfWMBw(Wnl0H z`NM;O!4JfbWMJ^~VPFXHVqowC`74Tn!Oxw6A;g`5!Ox$8A;gb?!QYpGAtZ=_At0E6 zA;gz~A;5=$A=I6LAs~c-A=Ht9ArKTFt_%!8{tOK6P7Dk|p$rV6Q49=0;S3C6AUk{+ z7+gIV7=l9>7$QM#ab#eK@?~HM_G4g(3TI#l3T9w%^kiUgk7QtQbZ21j0L6U}1A~Vj z1A}8Y1A~_@1A`ODKcF~rVqox%U|?_p`3Dqt{tOI$ptuIP&yj(_*^z-EAd-Q>JCcDR zz?Ff)85EEH3=H0W3=GboxNv4*a1Lc)2=HZKaPehe2y%$f$gD)r!A{iKb!x$KRJs23= zd>I&geHj@1f*2V50vH&aTo@Sqq8J#QLKqkVycrmr{1_Ml+!+|WJs21QJQx_9{TLX+ zgBcitLGcZ;ACx9Q<44{M3?bnR44!@r3?Uv244y6w3?cpu44y#@3}K-R3|=5N`7tnf zdonP12QV-=<|HNNWhOGX7MJ9MXvduN)FKeSBqKAwAQQaJ-Z3vFzo;mY!7(pAKPQoa z!7Vc{CowOD!LcYe6{N?lC^0WNm4U&rI5{=1I5R&_!Lt~w0CWyOVp2Y6|Gi@=XkB+A zgL`6b63A4?s??&S#LTS3JO&2$)cm6K%tQwF)S}$Pyh;YA#EhcU%sdA7jKn;U1DsNG z5{pWU8Qe3IiV|~55{p3R52WU#XO`wNxEH0Sg6wum&C3MY<6fGXmzv1H;FMpSmzk*G zky=!hnx0>l2{H&Gr|XniT%1@6G9$mFxEx{ygGXszdSX!}gHvfvdLk$QK<5`Er-HrV zR9cjsnU|>GmROt*Dt|nS62Uvvol1*J^HMSyJc}UeoD-8W^HLHSJd2AGQ*#&?oD*|X zi}JzVXYedZ1Wji$c;y$Rfc)&7Sdgj^mRgjO%D~{ASe2NaQCtERPt7YSO3YDkOe@Mv zPRvsXN-Zc&%E?Ry+3TH}R|yIa=Zr+~85-XC#rb9V3=Gcsx%ox;#SGr1<%yXk3=A$o z3eNd?>0q~dR~DsLRzb{$nWd1Q23O#dSW*Ux59j=nRD~3E&$9f?BG7pXKB-BGdHHz^ z&PDl&C7Fo~KB>j|B^mh)&XonAs9^BPOaiA9=c?4?43K4HMcE8KnW@Pc zC8>GEC7_sOU~tLGOv*0>nZ&^0lUb5c3Qlzl46f;wpyhoGKBX0@xk>q@Md=I-u7#zE zCHX~}i8%_8C}Ut?@J&okO#!D+1_sxn%#xziLQ2u`g`&PdJ4Ni7Dc z%}FfJWMBx+Of4!(RPag7&jWdh!8b7{6BLfYIr(LY*&tto)s}$56eI>t%wW4pi!w_f z4h+uEP0Yyz*##2IEG-6|U6Ef}k^zk&ka@oOIVt&Ni44JD@!(QW1pDUaB_`)HFa#GQ zg43lhC_+F6f%Jn_FfjOn_eG?p7lG83Cst*GQyWOUC_gzlpCPzBH6=9<#IFM7n!?gl z28Q7B%#y0qBCtxo#N13!W(ux^Bv`-Hk_?DcF+)gVR%Ui4B;Nfp(^EltCL}Sh3gRmU z2C!IWB11?%B%S!>7nLVgGBAXc=4BRVCNlWvf>I-hUzD9%$-oehn3Gyuk_isTkkX=T zP|k;#&cG0m4|WbiXnG=YpLEmG{ofOHawqWnc&@Ee1J=)i6x*s!VsL8 zr{J4dl$n>$z!07a+E$yV5S*BiSd_@X5S*B=5R#vps*sqMq7YD&nU|bd07?vzskxw_ zWe83zP00j12a+D5Kp_p%mztLf@gJV%?5-9C? zCFUk(CMSZ*y~NzaVg}#DqLR$KOmKXI%t}nj2dno@t;htWDW_EME?{u_DF!9+5(WmR zB2fC#cSI)s%uLQNR>%ZbRp9V-OU%gzrDSOJ1r`I)4a11l^wFSV*P z6`T;JyxZtW4{PK%H#aSLw05C8x_@x$r3l^uu zy!4#Jl+@x3kXX4wRB9q9>KL3dO2PGLKq9QP0OgI+ywpqu7f>UjI58&?bS6+hVnJ!5 z0x108RSc-UPRdUKCr^fejLe+Of`ZJv)M8M22Q?oUf)jJ|L3t-QGcP@{ARk;$2IuGG z=fYb&#SCtlS)eS>5L}e0;FFk_4N~uspO>!S4caBgzz~v{Sq>^$J@X(Ig=B#C(&mBd zbI-gKSTHh#^m-P7R5LJyCFYeTmXtDhB^H1M!ZK4!@)C0yyfce3lM=zj3sdlE3w#RVf3*Oax$X|lYUdyDu{xuyFX0>-ROr6Lu zdBLI?tClscYi(obT{?a7%Gq<5G_PI@)yTlW(7mv`yBom;vF0-{FsN$Txq7lWaZ3cq z8>NW5$65;cR%+DpDsoBdC9x!X)J5k+X!|AVNEw(g)VMG(R4A94Gq^GMGl0&20+|8E zph5+7J{B{pikfI~CL@oGw*Z5Km_>PvI=iE+jfg^#bs=Y@Rd$(ITpEL|T(Et8NNTuJ z2Iz38cwHDu8K6~u^#SItq^G}?>2&@ceEJD^^L`dbZrTv33=AHb1-c&j1q`8iptO<>HVqzLpnA5ns3#(jsX5CugRDI%#2vMVYB73dIGfsmY+T(gN}e6mr2a z4r+rXXTvzIiN%!)IiNF2@<1mPF!*GqXOt);LsD?D0;mWDwTHkd1||v$Gk;JFLk)q( zw}P5NZfZ#pxZeowD1zD#DMhJy>c!wN1m~CF{A5sjALcDs`U7?87y>f#^HLSS&1i;@ zqQtV)90fInl6+9D4?6OV!6!AdxU?u$K}{heKPjmaoF|}8U~q;UnE~T6_<;i{F$X39 z$y+cU1A|+B4m=E8@{>z*Q}aqd{X)l_#G+h<5=eRlvvn09Vu}oo(6|8Qc~BU*g5x3; z7XA#7FbB1h3lw}oXB_4yXM-5vF!lxYhd^QL3roM?@PLG)FR1Rx0fiOFTu2x(K*N9m z=5MHpSi7*;VbFl=OIU|7k(z+j-j!0?QbfkB#)fx&~3fgzBQf#Co% z1H&2x28PAZ^DHMQGB8Y3WMG)2$iOgJk%3_s0|U6m-NeAauo+|)$Q(un1{X#KhC)UL zhOGzcVl}Y+ztu*aJG>j)8$;9|Hr!as~#5gA5D|2N)O_PBJhsoM2#JILpAm zaE5__;W7gQ!zBjDIbAnFXHYUi)?pVt3`ZCk7)~)TFq~#! zU^vIXz;K>{f#C`R1H&~21_sc1U3VB57$O-N7&U|{&cz`*bilx`Ur7(y8t7}yyZ7@`>&7^)Z< z7(nM~UgXIN`*=aKVXz;f50f!viM&9FgQ3fF!(q#FoZZWFeErLFl0D0FjP1*Ff=$bFmyOGFidb}V3^^|z_7rX zfnkj^1H%?)28KP(3=Ain85piOGcbH`W?=XM?SOK)Ffa(XFfd5CFfgdNFfbUnFfh2d zFfjPIFfhcpFfgRJFfin}Fff$3Fn|Y4TU;0zdR!P7rnoRL%yD60SmVOLu)~Fc;fM+*43=*yk3<|Cc3MI}FFvje3=ysj3@NS*3^}e0 z3>B^n3>~fv3=>=#80NS#Ff4IpU|8eIz_7!Wf#HBF1H&0t28J813=9uk85mx;GBA7r z9r*9Yz`)_gz#!npz#!wsz@XvAz+m9Uz+mIXz~JJ>z~JM?z!2ibz!2lcz>wm`z>wp{ zz)<1Fz|i5wz%ap$fnkOl1H%$G28K0m3=CV`7#PmDF)&i-DoT zi-BQ^7X!lvF9wDkUJMLpycig+crh@1@nT^3CM1U;LX5L;myF%;?2M?#hZa)jyD6t3U3C6E#3?ad%PJKj(9ULT<~UKxZ};h z@Wh*e;f*%~!xwJ`hCkj63@knj3<5q33^G0p3@r8x3>@|h3_SJ>3x+f3_A7<3Nkb3^w)*3=Z}T3@-Kz3?B9j3_kV@ z3<35G3?cRm3=#GW3^Dc$3<>rO3@P>u3>o$e3_11;3Eea3^n!)3=Q@S z3@!Ey3?23i3_bP?3=`}b7^c`WFwC%LV3=diz_7rcfnkX~1H%e?28K2E3=A9W85p+M zGcfG1XJFW4&%kiNo`K=_uY*fTKPuxDVnW6!|wz@CBOi9G|u z3ws8JH}(t+AM6QP;g*i zP;p>j&~RX2&~ad3FmPaCFmYgDuy9~tuyJ5uaByH?aB+a_`SNjKU*z%a#ufdRBfZH@y2!vY5eh9wRR3@aQM7}hv2Fl=yOVA$foz_7!CfnkpW1H%Ca z28JUJ3=Ah67#PktFfd$jU|_i7z`$_Bfq~(U0|UbY2L^^G4h#%092gkhI504LaA08g z;=sW0!-0X}4`>j|r3@dyY820!xFzoPUVA$Zxz;M8qf#HlV1H%np28IW| z3=A)P85lnJGBEt`Wnf_OV_@L%V_=Z*V_=x$&%j{e$H3s@$G{Nd$H0)|$G}kG$H36w z$H1_~pMl|sKLf)Re+Gs-P`ts9fnkRq1H%h{1_py5i2Ywc`>8?Z1~4%21TZj21TZix z2xMT;31DDY5y-&c62QO^0K!2G3>iTT3>6@K0SpWvvo-`UF!Tg5Fq{csV7L>&!0;k~ zf#C<}QkWnH28loh29-bt1{07OfeZ{GfeZ`@feZ{efeZ{wf*2Tjd?EJV@I&?g13w0a zH+~EZKm0KL&*Bg9zkojjgN#1|gNi=`gM%LfgMmK-gN;7}gNHxD|Dd&U3H}TWEBqK3 zbo?P0rKPdiBK*d1*#}@wz0g(7N2|&buOaKEzP5=W#LjVKA6i^xgrGWqjh8+Q@@&6@& zfq?@Qj(Fm~B9MW>-PzenLBl0ADKjxo!O%$0NY6mm&_ol;WN-w{4NUG#hE1-B^jldWEhng8T5)Xic5-05|bG8^72bk_0sc7 z^^!_6b5e9OQy9R!jKty$2ECNZyyD7S2whSHkts_p0xfq$;lvj)=oO{rfYd`61vw=Q zdf>yU^*~2CGw7vd=4CSI73G5uG1g1Xh)*j5EnWeuiBBvlO00yafw5C6^AdA2lNt2V z^Gg`?Ai9!@iy8Ei^K)}SYhv^qgM9T8OG=6|lS-k>sbEcFyfkPGn4JOAe}UcE1-h#X zrU}#+0k0XdxiOK#~lQ@Byg> z&Go?4Md&jyfG`K>k}xE7ASP%nA50ynKMTSjcZ1|W7-SZRu3&)lg+cz!uw!5V;TX{3 zdXOa4UJ$bZN!^h!1_ls@nE{fAu|ap8fcn%Rr-RNI2Hn#JlY^-P@ux8`Fo2v5QU~f+ zi^N0x2vP&WAT=Pohyil%4oDrSFDnrbxl0Zt2U7>~*J`NyKzU{K9Ct8b-SVVg3>F94^k%& vVn8uS9SDQwgP0k>E(6O5XQM7P0jU8=fM}4NAT|iQWJBhSKx_~O$%AMB#uA)z literal 0 HcmV?d00001 diff --git a/libraries/librdsparser_arm64.so b/libraries/librdsparser_arm64.so new file mode 100644 index 0000000000000000000000000000000000000000..3a948df9db27183ecaee2c74c922b33016d1f392 GIT binary patch literal 61584 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