From 7a1d62dddf2ac1fb6ac013cbbabfb6b8a0c30c6d Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Wed, 2 Jun 2021 12:43:43 -0400 Subject: [PATCH] implemented drag & drop for image processing --- .gitignore | 2 +- .npmignore | 5 +- README.md | 40 +- assets/human-sample-body.jpg | Bin 32320 -> 0 bytes assets/human-sample-face.jpg | Bin 8596 -> 0 bytes assets/human-sample-upper.jpg | Bin 41937 -> 0 bytes assets/sample-me.jpg | Bin 155876 -> 0 bytes assets/sample1.jpg | Bin 144516 -> 0 bytes assets/sample2.jpg | Bin 181758 -> 0 bytes assets/sample3.jpg | Bin 221049 -> 0 bytes assets/sample4.jpg | Bin 210824 -> 0 bytes assets/sample5.jpg | Bin 166400 -> 0 bytes assets/sample6.jpg | Bin 302445 -> 0 bytes assets/screenshot-angle.jpg | Bin 0 -> 60573 bytes assets/screenshot-face.jpg | Bin 0 -> 86696 bytes assets/screenshot-group.jpg | Bin 0 -> 377964 bytes assets/screenshot-images.jpg | Bin 444150 -> 0 bytes assets/screenshot-kiara.jpg | Bin 50781 -> 0 bytes assets/screenshot-person.jpg | Bin 0 -> 173925 bytes assets/screenshot-pose.jpg | Bin 0 -> 75751 bytes assets/screenshot-sample.png | Bin 115491 -> 0 bytes assets/screenshot-webcam.jpg | Bin 180974 -> 0 bytes demo/index.js | 104 +- dist/human.esm-nobundle.js | 10913 ++++- dist/human.esm-nobundle.js.map | 4 +- dist/human.esm.js | 67546 +++++++++++++++++++++++++++++- dist/human.esm.js.map | 4 +- dist/human.js | 67572 ++++++++++++++++++++++++++++++- dist/human.node-gpu.js | 6 +- dist/human.node-wasm.js | 6 +- dist/human.node.js | 6 +- dist/tfjs.esm.js | 59265 ++++++++++++++++++++++++++- dist/tfjs.esm.js.map | 2 +- src/config.ts | 4 +- src/draw/draw.ts | 2 +- 35 files changed, 200969 insertions(+), 4512 deletions(-) delete mode 100644 assets/human-sample-body.jpg delete mode 100644 assets/human-sample-face.jpg delete mode 100644 assets/human-sample-upper.jpg delete mode 100644 assets/sample-me.jpg delete mode 100644 assets/sample1.jpg delete mode 100644 assets/sample2.jpg delete mode 100644 assets/sample3.jpg delete mode 100644 assets/sample4.jpg delete mode 100644 assets/sample5.jpg delete mode 100644 assets/sample6.jpg create mode 100644 assets/screenshot-angle.jpg create mode 100644 assets/screenshot-face.jpg create mode 100644 assets/screenshot-group.jpg delete mode 100644 assets/screenshot-images.jpg delete mode 100755 assets/screenshot-kiara.jpg create mode 100644 assets/screenshot-person.jpg create mode 100644 assets/screenshot-pose.jpg delete mode 100644 assets/screenshot-sample.png delete mode 100644 assets/screenshot-webcam.jpg diff --git a/.gitignore b/.gitignore index 1d2e013f..2839e22d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ node_modules -private pnpm-lock.yaml +samples diff --git a/.npmignore b/.npmignore index 1d2e013f..e0b54f43 100644 --- a/.npmignore +++ b/.npmignore @@ -1,3 +1,6 @@ node_modules -private pnpm-lock.yaml +samples +typedoc +test +wiki diff --git a/README.md b/README.md index e4ba408a..89544fd8 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,13 @@ JavaScript module using TensorFlow/JS Machine Learning library Compatible with both software *tfjs-node* and GPU accelerated backends *tfjs-node-gpu* using CUDA libraries -Check out [**Live Demo**](https://vladmandic.github.io/human/demo/index.html) for processing of live WebCam video or static images +
+ +Check out [**Live Demo**](https://vladmandic.github.io/human/demo/index.html) app for processing of live WebCam video or static images + +- To start video detection, simply press *Play* +- To process images, simply drag & drop in your Browser window +- Note: For optimal performance, select only models you'd like to use
@@ -89,20 +95,30 @@ All options as presented in the demo application...
-**Validation image:** -> [demo/index.html](demo/index.html?image=%22../assets/human-sample-upper.jpg%22) +**Face Close-up:** +![Face](assets/screenshot-face.jpg) -![Example Training Image](assets/screenshot-sample.png) +
-**Using static images:** -> [demo/index.html](demo/index.html?images=true) +**Face under a high angle:** +![Angle](assets/screenshot-angle.jpg) -![Example Using Image](assets/screenshot-images.jpg) +
-**Live WebCam view:** -> [demo/index.html](demo/index.html) +**Full Person Details:** +![Pose](assets/screenshot-person.jpg) -![Example Using WebCam](assets/screenshot-webcam.jpg) +
+ +**Pose Detection:** +![Pose](assets/screenshot-pose.jpg) + +
+ +**Large Group:** +![Group](assets/screenshot-group.jpg) + +
**Face Similarity Matching:** Extracts all faces from provided input images, @@ -112,11 +128,15 @@ and optionally matches detected face with database of known people to guess thei ![Face Matching](assets/screenshot-facematch.jpg) +
+ **Face3D OpenGL Rendering:** > [demo/face3d.html](demo/face3d.html) ![Face Matching](assets/screenshot-face3d.jpg) +
+ **468-Point Face Mesh Defails:** (view in full resolution to see keypoints) diff --git a/assets/human-sample-body.jpg b/assets/human-sample-body.jpg deleted file mode 100644 index c1fc2580c3d4ae4d42a1391d9f82e052bd8f50e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32320 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 diff --git a/assets/human-sample-face.jpg b/assets/human-sample-face.jpg deleted file mode 100644 index 9612234fdc7e50d6ede8a86a5967d4cc0f0e3d0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8596 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 diff --git a/assets/sample-me.jpg b/assets/sample-me.jpg deleted file mode 100644 index c953c38545b8834106f51155df19760e198b7617..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 155876 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 I#m7_s*>}bqQUCw| diff --git a/assets/sample1.jpg b/assets/sample1.jpg deleted file mode 100644 index 82997d3ce77f12b2f369e7e0fbd94b6ca461e145..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144516 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 z�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 Wn@XYq&{psWDnEHWpIgYU@BSA;GF)>2 diff --git a/assets/sample3.jpg b/assets/sample3.jpg deleted file mode 100644 index 6cfacc59a8fd4f8d44699c5e402f0dfc263ea453..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 221049 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%0DN&1>8Q$MtVi5SPz#OXu(DMjXG} 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�bW#Qno&a!HuwEq19R>W5Z2|MzBfY-@0k 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�Pe$a`vv_+xCo5iD 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

tJMNyaEIvB-r% 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

$i-6s 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

9C9WcyElhDUHDIdDKmL9_yn!5kiZ6 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

9$7X10A1Dy*yMReoCJg?U}l4^X06f*}P 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 F{|C4|h`;~< diff --git a/assets/screenshot-angle.jpg b/assets/screenshot-angle.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ecc926fd152d032c4b94e5ca7e7294b45ae8f552 GIT binary patch literal 60573 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

@dg~wumuyI#>}U||H+otCkw{TdyO!@j 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

    n4d7kjlEoTA6mGf^DAyf))#4Q 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

    BgLE!@U3rY*aJl*l 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≈e# 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

    v!|mu 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�|4L%;ZZPKmZN=%qmd|eZm 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

    ENxmtGRK#8=Dfx0s-(l{ty(7 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 GUH4 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

    lcw+xguP8SjOO${h7b%-dhP3_&(S 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 z zzB3suW@X>xtgx1*bPWeq#F zh$zN_TH3oIjG9CqRX1(w3Q)9~aL!@@qrq0imKl9+hX%Pusu0($5RRVVYT`Jod?4>h z-w_MDoRm1>*`XZ`+&Jaqs>Qz>LjOgwOD9oyHv~s?4`i+?0mYbg)w+P9Ia%wOvyGIx z&pEeejXobW13X13W*04J2a9@mdGvJ0CA_JMM`?iM?CTEyBrPlsKE*DKS@{4RA?k#@Zqx^TsASoV9t> z=J|*hL6PpYv@!i7G0_YjvGE-f{|&PoAGoEQnOY>hTF zA?y~4B2vQoWfV)TR5w+=F>R*^j>qQOouuhsnq$Oaa{GfyUY$xo+O)u+TyL0XN&=W& z=%NP~nFxcZP}9|&g1r9jwlGE+&exdw-eGUx_b0W%J03?0_;$AOMzxOZNX(ljEN~~@ zLMgjk799OI3BF5Cd+e133q^g|!NPPL5mQtm_7sXuY%pBQ48E+`4G~m(|0~I^2RFl# zKTR$}v}8FU0U00?;**U{6{pK8NMz$PIy^7_9+x@40-?K-385?{1RZb~!q-HJ{u3M# zCuPniV7Anas`kgz5sYKUXq~&V8$wAK$$d&1DXPHfjqAqpaBmbl>}??3_WBFH+f|~Z zSNgm$fkU3$ialQBf9!qMmc((k)dcur!_VS|TI%$xG1-go3I4@cJORulP{gDeB)h0m zfQ|jY%ln@61Ck2FmngWhU2&}R69!;I)t3^-iu(VNYDZ@sT`W6Xmm?~ZUG!6w6`kEr z#A^id#@GT+G#q|;ICpdW4QAPhy+rgwk80Q8YR-jKAJl=iwf_e8uEKP%w}f-l%g3ICFl9J(k`Bb zK#69aA2-Gh`Ud~%ih1mkex`e6giP?tI@ToZtqguw9;5Cv}x zT}*pWT0JvL+t!GJ8^@_qSTB`k$(&#IQZLK5m+RnUxopNq{Bn9OHoq|C#8(-eu6H~& z$;kuE_!{9KKIEPG4*hWDq-MmGNM3HXw`);%vNiMo0oDED%wNk_19B6eA|H9C?bvA^~=@#!S5UjHe` zBTtL%Ly85=yoHeL{pekF@apeLUY!{(7lZ&@yX&$VdXRc1`#czZ=#V=adIacY$fh;l zT*Qw?`c~7O-Xd7QA+j~Bm%Xx0iz_RR7{-O&Rm1M$#v+o+`*+_g&a_ z*1N9gc2fY+ zIED3tn)Wb-htKXSHaR)2ZeDDqGOEHqn(gI7$r4_hTS?y*TL}>V0+#t1OpTx$o;S~( zUjGBoGHBDtI^ekZ47nFjV{zx_x@V)(yX(k$7Yy@I+v=Yxd7ilw%1ZYb#Md`S?-)!R zG@u5LXN+jDud9&K5(HU@=2tJN{AA#73uV4^TKQ;SLM+8sx2AC(eVYa z7sBqZekeI`Qu7Z`y%Bf9{!(hari5%dLbRb`eZN3FNHI8Rc z3L=hgv)?Jc%9*wx_y_23IfqH&q$k*L;EMQFR`UfBEpaE_3LJERy~U_CiN$E=I&-Yw z<{1~4@pL~%tfathY+xp#1lk&{_HxTx4QaKt4#noczR&F43RTAX1^~55TEF{J94mt_ zbFKv}RJ;i&K){TG?mZv0tTtSScDws zbLeDUYeNon+t0?C2kismjToXBF?-`Z%RPMN;&bJko!nyKY1{KJ ziZ9H?1p4^H|E;*-|50%%|KE!H;$RMsZj7whT(4=6JrT8nuabDSuMGl%J-lj7hB=4{ zHkXq)ZIL3s+=G=WBkCWs9C-@ucG~MoAWHcYWUw!%~22ag&Tpv)A++b zWoVV>s`5*2&c%uQOopb6352LJ0=9Bw_vc}x{WbXLE?W7^|2-`_aI3)GJrS! z+E#L<06uCkhIU7GmK-{+9{l~N@?n6lakbD+xQA;#CvYnw&@%4OL_mZ?oS38MT7u~N z@H>G*5EQ-6vHqdr?|dYY=?p?6KEr$~O$a60SoLgz48TBQD?4hWV?$Dgi*I9l66X2E~L)x;&%9{{xh#g|s9NpC&NJ64ev|`@#ZdFU8d~ z-+tKL@c0dtpvdY`y)pHIVs$WPpt(qWA&ML|K z3olG&_Qot7U7@gWYrsIpMPN0<@*p9I>(NTNqH7->BN8GsNjm7IpZtjSnPdFJC@ex8 z>tJlJ89>#R!gPML|6fmhZGaIasYb) zj&Ahtsf2;%?cIWBL;gf3eCUA9tB7^EYH5W&OHH7&Ub@Y1tD5#VaTYgFOe6HaAKWMm ztEkaeYNzZhT0^ZjC^o-w9g7p^^hSDY!Y>zbtELx?e5e+BNar14jyZ4Hm&sRVP+6}e z4_I$O&9aYKUk28?bcx{_0L>nLOwCYChB&`dSqPWV+9)(SJf- z<29aF4fA=v<>3G~uyC0&x*|G)@nY^DdWf$$8CdDCGaZ zG#pF<*o=B&d0n5HXIOhtR`xAFZbcE1BDYzvY&S3^K{%d=R?-7gc8&6?NZt`=JHtkZzJdOq_Zq~Ue=`R1;EWQ$bHps{m8CV5tiLvKb*NW4=Aj+r4VEW48s2E00V3tY@-A@Ly z(^Q063=8oNJ7~Pd%@h}g+P`lv$9f9H4@Z*K6HJb@27dw9ktJG)e`xmlQ3 zFo4CXH+iYm^&MB(O|HhOHNSh%+;o>hfG|H*0Hy@V&W^Ta1n{OpPHK4u3mI#Yn|6~r zCXvSSBfXR-a;vKuI)|$wa!GgZ8j77cweeC$8qcX*+%;{7#vkQ-bU0Nmu+b)BW{+hA zTRz|VC3R`6FSX7N)>lrs?$^g^HH78@RW?MNo+7Wb zt&71cpP&h1D(L|nt^tsrX6Xh+BqK^dm*Xe?&qmj^Wa;fcRMGkMhaCUP2W2`5W$bOL zZZdq@EuS*d*Yt=8!sI{EIF<&sl!bZ*^*X=^R`OTcl4<%R*KXG}RBvQQ=r{mb7n^IW zIz5es+#w?&Nr1AvIB6X^?r6YzQsFk1*t8=d6dH5T3ZqnDnnb{Y-`D(-{Cu4AVkMVHGM z#~uNSx+DAGb5+dU;dK@6vfPASO^ia>MVz^SNMNj=x^k|kL4C-U^OVUypgn0%tG5j; zQJeu)1=JY?wvR1$Oc&KJGQ;{c93dfz3PqpShIf~4OZblpN~xNQ+f!Q~@18SrTuav_ z=nFK4xt=CHG>_EAoY~bGYQECP0110<-^ANQJtIlCzHcK^gZ3R8;`iJAVsdmSnj&-`4`{T0S2MgsyycIeOH%#aVrz@&SUrLr zUwE~dAj|9}wzrE#y6Es6XS~@ajN78gtk=gvi$Jd~LG-6UH4~BzT!#;~`4b4Qr>EpH zwu=3bHhcay&i>V${CfMs?D`T6P&(QY>?O+lbYFL4EjD4y^{|h!2w?D0Q;~5s80VwQ zuKDd!uQ%cEDKhfbO%Iw=q?fwaTi)wn3-{kP7T#zgCd=k)uJ^IaT&Bo`!wG5Z%RYij5VcU&C_6(rWD{t|81w z$?1BESrvmA@=3I5zp-4F+~twlrsd7E)lem{f6JjUmIhnIMv+qeO+i>#_8I;&zF?M! zJmiC^3a+)@wLNG}l4)YHR%=3Fc?fpgw~$~w+a)42#dG|&V`xhh=#!5n_iR}--FtaK zm^(FO>+|JoKnqUBY!xRne1QNEoX$2+$R+teyF?=JM5)(2qp#@O0UpI4UgEDKF?h+* zk(g>A89Ve(Vu6Bx)R1&Bo7s^OwIc`-1oJogs_I9EKq7fahy|7$ix7ed!kb5I9SA$e zMEQxr5+^|DwW_aR%qg32XZu9AXWd>)lf>egdDxZsXvJU!5e!1n|E71CIxNqRc4XWW zNhaePf}2$jK$49v0oVO-6v<$1*vW%cM<71Ao&$ZXLOpu8z{&b7iagUd^-FrgT=N$4 zHMAn-Za<(kYL)gM5C_+gXJm*k{tgx3YMK;frWb!&`9_-Uc^b2n z;lT^~y0zF1-%?{wGl{DRmUZ3B z9+(t^cXPfc`XEyQ>7tB!>_52-hb!VxQN-_+ez38O2}1(?qd{R#tpf)IkFvE|qTv-r zCa9(f*XsZi>4hrS%#0+KAUGEa1$jF)%}0au#C8wf-H%+?MEozlM9IxVJn4xhy@IuXaIVGI zyYh%l)Fc9LYpG%+e7WDQ2Y9Vu&H@i2rOyp^R0oO6&7}i-t07;muk22xNO_VHQ2ySV zmRN|3u2lk)N1AJppdg{6maau*wRy~yt+a7WiB*s1Uec}JU+F*hus8e~s&*O+k%R9t zi&NrLCBV~0?Y=7+SIUlv4D!yTto$ds2Yvn6(JT$>7%^=`pR!xH`l>5Mux!sn z&l}$Ur8hdV^WdqUH%Ht68VI8DE{xqQ_^-$dJLwwRHwsu{o>G*3%{sZCqUCw#;G{9m zN{zV1r>M0}~e&_gN zytjuAW7$h@BJ1d6?4M{7qVO1G;^Ixc1&Pu}X~ntNn>h*^rpi3!Qig@(WCvkGT<9&VSi%o0gmYab)bV>Z1Awer>IyUcLbEAlE#(;9YL|jKm%Uj>w_Y zzN2?LMR8XdPd;*P0RFPV7;jeP%C=cGXjR`Ah1hnbcNzh?9Ze3>DqSwAdZ(tuC9W&S@o|HB22u zxKGS*_1j)qPF=b@U`R|j;-Z4n+}rrF{`)bCCGR~rtcBd%lYx`oi+{%NtSPF;T{EZWn=y4`$*E7j25$<=ze)jh!g** zTIT*W+N3PFWF?)IUGnP9^zLE{$4VQ(2G{2)%qEID%#fwhTQtqJwxXdx(r4T(ZE2Vd zv6;ZczO|cPAMU!ZN@=QR6pknI_w`b@32@=eMToHJ;YI339lcSZ zVxTV|nmanpkamb?mEJaT21eQ4)wP$Uzp2F^xN`@4NPzXW{=XsJts@G{g9gk9P2muF z5w>?a(*6M-1TaCA5Bb={>T}W?CzFQbFRR@a!z; zd}zD++#0STK{S!?%Rrmu4Uhp>nz#mfozP%fKU)nzK%k5dz244urgK1CJoR4InVSd` z@Vw_^1Gc@P{XS_BIyM{K(W?Xqe?CUe@m*@AkuC9$jWy8~TtI=kWf&kEwqWq-V(eLO zk3hRwEYeK+<-0G5$Jh>pb@f@?ZQzt|?@uatR{x<_slCrOgkS~GBC(z551VI_i-uQ+ z>--z|gig!4Y33m!E&mF67G-%BBPE;D29aZhx3e6C$W<7T|^o&*C zWH~)zxINrf))|yEe|3%Tjss*^aNE1y&-0=I??}Om4<;7rsu;w2=_041fUA-fF_9)FCi&i5wT?&0ieng@5bvBMp( zvY7$&Lt>o$8cbZ?!h(mZPr@Xt&_)n8lwp4$w?&Bp(oGf4N)I00j6j8IKuEOW76@Uj zAVBCv{Ef5tn@U)yrTXJx$!FU?4f3pr%Rq9%?l7_Xgmp>1aE6QBUG&awpLac=?gz+L zQzb`DOJ<`&rZIn(3VsQmcEf&mXiegACNvPtLO}}`X;ozd?(Uyi%P}6tDBb5ezO6k} z(Dn8;=P}&}AS{gIK$9zYcuq#U zerdI;F{8$^h3WPE(mEL^stjMcJO4veBr#Q*ADbE!TH1=#`2_RNTO;Fi>=igI9o{bnGJ#6+e z!TiCLtghIeQ0;ofvp$PfT3+!6LMaWf7xPi!)+HcKxY+Ijun-sg^$$peVh6$#Pgt}H zp`2zZ#sGOxUtZ$=19Auw`~_CMwSqAJ>OC>2^JIhQ*WVCv^M?M&{CE(&7@`toEuMCA zP}HuW5WhWQSL;-I{GxSLbYM3HrO!7)h)&{ahm=bf_Q2d|n!RS2_6?M&)(5O8Bc^EA zZAC&WihF&m^H22emy8s-PJY;a_atYmj~Hu`7W0Y8gAq44K!V|L*g(NISEh6fMr@-q zF@=Hj`*bFx3Yb|lj}^2$R?15vSzAYwQ!n@CPxxScLc9AjU9mj>G|ISZy ze_U-3tv_GYBG#v9nXPnLdL^#do*^UUraDh+&MxIKOc#$-f6Hwa#Pwgqmu6HTCv++& zS@auP;C#4B*^W1ugLWduXpCU&C2+x^)9@~(dU|QQ@5RDSzu6j6i3NN~7Rw6=Qf<3N zti0YvjWHHSjSF^UgY(Bc7xXYc$ z&4pmrC>w_+;g!A9$vBPC9@&-g6h*Z%H8!IR zBit3f){{Khv(Qq{>ymM^FHkwVdmsB+W_@}si_CIbThr_^+j9rDw$TdRwW~S9=26l1 zXpYje^lukCTCdpo2|!C-+FsWFHjg#mRE3OJfB(ipU+N#o=0`+LCvd#I%hC|jdd=?2 zjIpWdWEA%$RrPc^cK1oxpCm-aF!b?hNz3ZD8@zu=zUlPEsBAOst6hIO;c{#q#`nXA zaJYGxQ2e$@aHWysc&LdN%hRu$_un?SCZ3xWsLc=*=^OwG(5TcDwldRWLE`+Uu~W5{VlCn`;e9w zzWJUxViP9yER2kvx>p|Gv2#qLyOTSecI4~j9;l{Yg2z6J+4urw z!$bMF)@KXfZ7g+VEwn9H6+93t6o%q{+`@L;MWP!8WJu1{#W-;)s(x9*J6|0%{d6#E zKhEL3V}ug0UMm>}erv)wY=?d2dp;=R!Eor42$eHkico`wWL}t&(E)J(zAvJr0b&19$c%x)3^feNL(R24p zIa1ydm^|y0O2`e_Rd%g+*XSkeo8;u&ySLuV`LEqf4P)tSjK#C5M20@Etb!+>kj!Zk z0$-SsYU^+q((ufMB)DcQBxqFvohpXvg)O{y-o!~u~@&-C|9C`EP@L1J4`@vi(ljax{9}k!lJ+3IlyTV7wOm_!isUY%+I`)*<~G z4{3Z92M}JTgEV!NjiLl21V)?^kJb+z)g5@mtS9Xc)TC{HV_hj+qfz&XaK1v|9&TxMLghkDH~8@PHGg6thn}SDi56@akUp zyJA*9-k#}$bIkS@$>KI2EpkesjsQqj5RMCEbCE-hnTf zI%Bs}XSF}FQ(dwgFacYPQe109gMc;^M?nGPC}V?Ia{uhtI@eV+D0cZ!Ham-I(BfNx zrecGj+NxkX1(HYm^YH)UpQzf&qlCxgZz}v#DI;x$m66yDE3Uoo)RT>|QxW3UM+XiQ z4lk$@Z*z?RJT4 zpr+q}V-R0is=K&~24~tG_nfg5QPyi&V0`=-Chr9CB*OnLGsJG+GhA(u)QT-G!YUO+ zoZc(O>6%Tp=R+Jg)zb#6CtQlI=Sha3s@SJ@bUaB#(YdFa@x(!NmIKI~-RySOHEc<* z4aw_!Pw{;fu(xl@b!DUCw&_zpy}G3~xG7TL(vd~J#82*|4SX*{{IdT&!aA5jD>sx|%OmtDS zj3x^-Pfj6Y8+z|+@c%BavF_c%%Afh(=M7qpX%(AhffopJ^T*jfnz8P>%qY~&B662q zm(rJAfGdd8KREEm^2Jxc43Cu3WpjB5I1eWFq9wEkvDouMD;2avY)Ns&VLem@lQW@0_PeO%w$wAbaH1hb&@X0E!ce+KYZAXXp>*ZdkHpBn zSa}K&vd%YY&ix$~wVs(fc|D0o21p0Xm^a|XquA@jQ=K>#vY$(|yXOygt^a^LfjfgO z)}-~tf6DEDi4gxOw=PH0Ans(6eB^3Jr=x<^I?PE~K-tQl<28QZN;xsAKl?L`va%p# zp99KYKucnoeJPGFyM08h0KL01qKhf?gA10#FT*(AK~TA#%BV7dVJHa>vmlNoyBf5P zjw5(mQiz|yzJeuAITK>S7Ins{XTgkD6DTwvVC+WIrube$E#epfIOByRv%Y7gLnq;% z0`XYV#_UFeBna+E|7b?zEyz7HBa|Vgkb!)L?Npc%yh2s*W|8`{HCxnB*w$URw0gumiuX>sfyH$$shX@zm>GGA??qi>ir^ye& zS?F2}tpP3c;hBl z)@$BPMd`Lji<=n*(5IN>DTPYV6o|irW^70&T|=5g0t%|Vt1xctq)Kfq^ocuH$aERn zVS0ns?Xdq%)xuX!yqR_j|(D zb1ftMMBLuyAJdCJ2CE{zod~q2my=?FUXF0L5Q~Pyh5AEP)^O{8v(c`XCys16r+z7g zE~nWJkc1=0c&JC0a4wg5f0FwgCwRrBD=X_RSb03`l55>{RU|K5qDj_3<>r4qWV5y! z7{~JF*Hw%u_80TSA)5o3Isd$OyNY3+;LlV1E}zxD-8lCl@oSEbiKJ!MFyw1ESrlA3 zT_sCl(CeP#z0DrhUOjSxFSSBfx;-YXK;ZFBc#31qx2>bZ6%bz{?lA7q?UoTb!J&FJD!tTBk(ay5QJEpg0nYv%oU z5s6d7&vP+Ok=5-vnatfMLNwHbQsDh#f ziCyT@flOubgrmZafxvC1`*7w2jwwT#>*`!F?Hckytf)CLi78vT;UK)PFRY!>zoNeW zKsT|mU_}@~ZRWCZR3(fcw@XBG-5z@4`+D}}CeDuTY0v7umbIpt^h8akG%EO~md|5U z1uui{CpI?I?6*+aT;nPOg=-n`M*g%5-m+G-VGG;5Y?}NvAfO5Ktwgj)7I`G%Zsi^4 zJyqEs@UHqn`?;PQ*AskT##C|q+4h6gm?RH1Cs!Cy%t`_&GjL_NmnX;$O52P5NWu$L zrBDUD(Yyq#1$ZNzys1)GeWp?^T}YA_tB3`r90}dWj#=D;r}QB?{ZYU9ogAfceOeN~ z6DD?k45$$KqG`mjCDl$=M}<&DS(S5U6ApKj_^86heSMB(pt(+eNiVt&ROlaF(NHO1&SRp_5%F>#U}j&`tNBp<}ZHG|KJ^VOB_B4 z0$`icStNUW<=E=+w?^ACKg98kl%wU#S^C(Du`oSfx4-Tt{|MWS3Y-G%oIusj~Agx#>4*2 zMN!UQ9`JSiq2+tD65+0w%O1k=t{~Im>GI6{6sXH%>xhQ=Oc<=V=;W~=A=_eBKfqOC zisbV}MA^z$oFRcQcVSK{-(dP)eatDku4M`^txzyUS97r6zGK}GNAMkixf{Ng12{-& z5oQOex|jLrse#h+tq>c8Csbxu5FpU`&>Ns_0P;c1BRdm?BUoSt6v3R1{658?AAYx@ zW(9@@)l$6)Z`O~Qc!wNECb4F3Rtcj(2xxX7WxGLpGJo;)_xm^n)hBFkFM6U}U0mkt zjz#>{(1_TYCr{bGHr9_ZLNCq?Kzq&hrj46#kTBNaYNJ}A$>L-!OYH~@&nN!U@W0>P zn|thi0f*PQIAs9Y;HrL%;p7)5iH+47Q=iJ6hY@Gt5t0c2P(1Z4Ri*f*1Z(2+k}E5Y z>uR${ltbCPq2?8#{MaY75|Ej(&w)&vR!a=~=XS=9ZgqP2jR3AWu$fft;m^lm4hKA} zfr-N-XvjMq8$$B!O_2d*xlIUXqErp-ofm_W=8JTtU1!GJLIS1N79_It0B~7z5V{c@ z4AWMW6Fs726H=}>eBqaq(02!ZI_G28Z{2(&Dw_LJpvS1QKzqXh>J(&8JeICm1h!8OE45GflC_|g`2gk5-UVcAIt9n0J5@^z{$fWY?nd3lxpITP0SUG|H7# z`Jf2*Z`1I)e%8|nBZQ(NE+jYFeG0@jL1CVRqLHPho{*OVvK|voqG%+un?*j+99|ZN zg4X7m(Qj7Ld?@18bFutd!eA2B`cd@!i9ViZ%t)40NjBcG6H_2f+s*a8Ln4lzTBMe_ zU0#IZhN_r~DGm@{ksYYYhsO?xgt`*L=LA#b{6hM0SwUO^;>U}##b!phpjiK}O6vdS z==3}-0qw8lN4?~L9R73NM47WZ))=TXy{tU#9#m4)A=qFcrj^4%6|`L}@}{BL7ITKO zk~%Za;H&2Hd~=L6e&LOJ^lX#(Jfa`-SUC%+-|0XKZh_FD!xtjEO##I z)!;z8k`CY2NSuurCoxU!S!3l7p9u35ih_CY*C8bxyZN`3g*B5^LiE(rSEt39+7kG< zXgTvSmnS+5U)Q(Tn&N(hkvI5m#HF^BTaeU*5zoWF6(A4PBu?H>l%}fk^4pP zO7u>UA~-r+%cbueL7qO2EBdWf6D1$Kdi6ydj6Sd)A1X7kr0=`(w>21SW?j-NZ# zk$>#hDNy|JU*h6~R*_e+$%;X>wOS-Vev2s@&5>0CM)m`a_(tJjnT0e+y_7*1g>3rz zc&M8@bMQANK@XSI3I#&KEypEMc-iG;wBousWc+uSj>jU$RXsDx##|2l4ud?cx|^Vf+%2aSMr_Iot!jy$<4Is}9sz1Kg8u#%{db>PoZ9dsADu`ZTz z(m?)jl`!z1nf!2)5}lu2db`6;Y2vAwP)2xkCM{hNIgo3|-CmP2?Tg3#b77_-v+2N+ zq6}=b$i3g5uAT}$Ah${b!3`$fm|Of zK#Gs#xLWq86Vk6bM$#Ww+7%slWj*^NI!5jAYMX>;=maNg>0Wr@^Iv)j>x=QUaTDp$ zek#D!wYu5g@h4Z~L21OvPIzze*Y`8j8iT7oEmgCMXIXW-wivR2mLt|w8uvfC*&EG5 zKQQU+tycFMyukTMRoKn=XSR4Nl$CrHq?kEuoVRss3jQJMqixO!^EdMmXq%n87ul(K zJ>G(tUyYgChP-t+q7t6qg$&LWJMGj|!2Y)P-~Fwg(`T`-Sp%m3RR-%ycC(oyNCW=7 zRgff`=pFpA%9Z3Xy><>ledpsuw@GnxYEaJlR1oIb9dAneB*K-5h_{~6O#H-VFRuRc@O0#u<{%xaI{6zvNstlW0@Hfw^ z;Tqil*JreCe!m4O_w9VyH4!*!-co`&*^9@i-(!ZJ8<}Ahhki#RM6e{m3)RW*;Cim+ z?j45+lKaQE*nanZp3O^n(s0Tkh#;j$o<$XHc4S!mffu5-TWfA$LaC$7w}Z%ajTa1< zBL$Xk1~_)b6KiHw^g@$OMoMkaol6a>_Z1Y;*FsdC(3(MR1x-)HiG-ZqiFpol6SW2- zAcPe2Zjfh(Y#f6l89&FK@y}F?5s5gqiQ5;Qn_~{bq@3K(4Cd#Uv#1_-uRVFK!%Pkr zJFw^&b!R9^+6GLqI_+L3fssdA4dt$`SOEqhzyxCt#}dk{<5|CE886vP}5Tm z{8{4ZoSdhU8pQ&HSniE>NofKBFZQHkJa5pFfJhm(KpDN?`%UgWq{OKr@i1!?o9S1) z2!b&%5iKNfyfIe_{l{L6GLCD0A>i)qGRemXsLF_3PC5~UY3;nY04h8jEvZiv? z!)CDU-j$rVB)C$rvufwYY+60cD^GfIv{iP45MR%G{Se$HH7?ac~ zXjLVyxvCw-KKOlYRpLjB7R1U*Tud<^uNQ%8#`otJyN~ui8Q4Z}4fHS8i8ie;S`I`x z0RjY!7+~v}{Z)Lf^!b89ETXw$YX20_G$A0Iy~yQU(NsiOqu0>f zk!LU9BxrF{4kl-7qn^|?LzO!$F{nH@7qfu*6Mll1wX&9E*<}akrq1iHmlilt;!Jmo zgTXc3d)i>)B3?SVP5d?idgL>K$`6awHV``ew^HrsOfYMVq@Mlp6vz7UsY8YahLYCg z>%;c)KDy3Y_oT&Hmy%+XLtwLkcT)*gQlm+fq++GN53XRVaAVpj#nO|fd~Xq4d6!md zSQpx@@FSh6V9WN8AH%1*F>q;JWnAiz$VwMgWTKi?u9jIHm@cSO%V`f!@=O&(pu+ka zlTu(+d5-I81YAYUVIZ&f8tdMk`;T%WS7lKnSH&fLTw<%j2zJU=UwQ*=`Sj=CE` z^vj+zSD7^C-p|M4{Gv^IP*%IE0_`p?>qo@}yL$v%dt* zO~kUF4GRumihi->cER3EPqO=#dYaJ;VDROab2`z7@zuV5J{cETuKHzew1t$d%jIVv zpBcfhB#m|EzDu-i_6quOc_Mj6bb(_nTq*9wzW&VjwLR&iZ)x=GcgTrub?+kVYk?>Ufn17Pu+|e32bItar*Ld%K}^2ToNL>ppMA>XG6_(8RhSfu9~*%{8QewUw11m zbG*_S$BLY#j9;qUVEV8jov%dO>BYD{q({s4oaTA5*Am?9;WQV@hU62+nxsnO$mH1b8w&Q<3eO zcWR+Kq8X(6l1|!z*)+f1q?BlJSw}le>-~`cIL-otpoZ&n{ z$(RPgpO|WBh*vzl?ce~MhPD0rY&8_=1f<;3VodaWw0F%0Y6>CDh}y9oaDp>R@f`@a z_1lbWEnWoHThc1h{@Z*k7{}XKqXP?DJDwQR2J)MXwT493ZRe)!^HQt0T^uR{Fl?hbtIrTo(4MvznH3$D*?GQzNGMN*VzDGR-@~Zp|FO z@oHM8ufcUJrz6Ts(sTE+foM6eJgnyrhsSQ@kK<19wC<3Fh)c#zW?@MbXyPkmHosXE z79yJ{dE_ASmO-W15VVYcMDYocN=HQvmprd7Hry8o|GxDoOJgwJ~EtuHzf zeY0-+qT!h1Ak7Fn&~jYABk)O9>1e~163gUgay5}XG+I5j5<=f*N(ZuIOWYTs^p9=% z=z|o(!-3a9c-6+AMb5js#C^S+Z zZ9q|9-K?4k(~?NV|I$W-?oJ%CY}W79p$*ja`N$4d>8?nm`4|SVu`MNbv&J$t)m$@n z*S1S)7ow$Mosv|qq4gLs#Fdo_iiXS+B(v9D%oH}Q-Y_@!hgJ4`vBJ& z|MN%3*)45|(&TWwdAaO9DQ~W9{`BvRO{DCkj6w2ppfb77WFxzI6@_-U*Sd+6H31?s@TP6GX@**#V<&mEBv1b0KISQPT_x5guD0=B2bC_1@ zu%gId`umYC(A2VKu@4+;?tTo>lT9!WRaaUy{$|5hBsi=7iK=;!k z49QVG`GW=3XWD8UGwZ`@415z`N@S-+@4G)ai#D&xZ!*2rw#EKSIZ);Y2xZd&XjOiE ziTV_ulEPK9bZ2zZ*p6QvSz{94H!5nx4jin3%$TyJ=wUxHnEJ0bW%rWRPDCTRUe2o9 zQpqrpc%o?_ttLhXC$jX)y$1HyMnmF;cez~r<)LT zF8W@{`m!i}2Fzd${q-8EQ%14)rNZ;T4x>B4T~gO#Z24{1waoJFD=b0g*EMz~VIyiu zlV+9jj-hik?9fCyL!-8vDMx8fl$6gD*}KhJH8)%etC`S+{q8+h`srK18v5F~#8Dnh z&XZfz71#S+0Nn$JBF3uY_54@<8nXH?3pqDI;W7EX2PGOJwr)Hs9t;gAQSmPPHTc@8 z2LRs4OjY4zK%%O}b*C6Ak8P;GZb3WJOT?--I*7zz{ujkKiYKy;x1xRkmHIa{><10M zhm(kH^XH-<@gL^!rBnRjA8Qprknc-X{j0>``r%-D^)U6-u1Rgh9xZ=8x>hH#=*x%)fC>szl_~nQap5M1oGGMG%lR7edkN*piV=9(Nr$NHf8N6)iSTA z<4_R8zf<@n1pztrTY2`U#hWh-id_3Ga> zXfFvw2fTMr!w}~0rJzajeT}tD|2&u;)NJ5)3&e>6UyuXDI&^1m%KCQNum1d8Z+>&A zaCwT{ou{5vwEGuQ6jX|Riaj>B+TF-GWqw0Ab{!}qk^L~4$NX0mmW3`c4v@-9ovc>NAhn^L9YR58!bIRkdktwuL_!3FyIS!% z2kDZHbpRFGY4%q7X2t-tb`|8FQ$6)REhzMyL z%l0p}E>YVC9x*>X{AC4|?NGiUD3VzmCI0>5A{c$OAvy0kOk9Ibh!8D-2KC8D9+?Ck z+k0*8LFE1c`4b{2s$+RNjiUyl7|j1{yx4CrHm1G_;U)yWeCRN>ZLc*HF4xu%;+B^G zj5WJBT{F&6#B^YEONdb6z4MA8Qc6!aC>0_DU9CCVYeZ1Bow4}U*e*Hwot4^-)WoR+K`KnyYfjf9JEe;2NOF9cxS6uCMwwH@;Nv)ycvzRVs6 zS!yHTK}f-G3O-YeW9}Ebukj-AMQlImEfo8tdz)rhb&w>HyMOJQAt3}ErtJ4)V!CP! zp}g!tKDvpYisR1MR#c*HiVIs4jh!rdUw1O3YX~z0jF*Ab(9k?f6ic^c_6SIY!3^nY zv_kQsDG2(tx?*&P!Wi?7VJ&D0pK?RzARMP8G;sg}GuJRNjv2AVKic*HLLy%J(+Yys zUYeSZp7_4~L}g7Jn_7Xqj2AShHdlU_Y*HA&<;)ps&LD+P&%(3_5&GyLSuO}d;cevw zJzvWAKXQOvtJ59^+ol!bu}cW ze?VHm$?hKzkt<+L@q-BT`BWg}qha2ayZ~%Hpd}pC|Bo^Ae~Oz}*+2_p%B@qLf>N6k zTWjiTuH$FGnaQ=j2Tz%TVO|2oZHrc0RtKO3jhGWAm)r9Tk5FGxvUzxw&=x5w#$#V6 z_G61Sf7@YEJ}7Z4D>%9qTTCKf{-KQ#EZ&Diq;pvxRwxuay`^H=vGUA?Rdk~MvB#pa zsJ-$SHA{{Ns^s!*2&`V(+$YARJR+vFSSLe7SuM_C#2C~?jC}Lhq2qCPR&mfy!mee$ z8u13B&}pEcWrIw>)A+Zx`-$osjl*n2!g|UF{)#;oxZKCDgq$SV6fSH!l!7v9!h8m;&|Xhtj|?u%_NQqxUo!nATyNo68|CoQRk zIUU*a$&QT9tCI~pc;O}bZl`z*zp8gI+fNKnWw?>Wa~|zL=zxZ^1+Y<=NUD4`-L5wy?|P}QoFPx z>1gPNHhm!NfpH-Q>+g(0UvFz?ePAo-=gsHYB`>OmtfqT`<9S!zDA~y=-idSLW9B`_ z7%QeCEo@SMB$YAzH4D!1lPG#*ZLvCWi_HeXcm-smXddGAfarGX67b6v!61F6w6%^= zox@^`z(JvBW&HsD2>#btR3ceB^KKvIjrBi*t_}6Zt5tH(WN99BF>9)u;5_bu6K(Q! z4P9o1Xwjp}B&-3Fnl_%0E&}E;QVpMS-`f(ij)KovS(|poONb}q zS~yc}b>mVGdD^krqGO_`Qe^t`{ls;XOU#agJOb?t;|F8*>%Xy_>N*HU-%yPZJWMC6 z@~5hHd*2z!pfy`WXU?rA?p55?SpQE+n6xg=z;uu)K zA`)27a5b(L;r%>wQU*yeVD4>Sl$BE|v%AP*I7)-mkQmnDi5|hLVBJk}L z?ejalwHbx*dAVG9LN6xLeC(xx4(*r^g92~i0WjldZo`p4yQc>S;EwwbXfYp4qmS`N zba@vr8f0=Cl&ViNBO0Qk)WDi@DqPy`*4aD=6D$OKfC)$bx5h_H;I4-2ryKW>uJm{8 z5^;ovj&23*CCLUU4$jdtJ4 ztZr@x5-CU2q#Y&_Q;>rdXFIWs=D%jK9udcfWg*?4bX|l)KiB(aTph;5 z!4W#{AR&CTnsCQj!At9~5aX;h%?7=zk3j=;_k;)sxok<(9F+IwoMK)=2VGrPaD>)U zJ=8UJ$R{@x`+5MJ?qn~frtxYwMh!K{&Nd(Qw)AilLV;#y+{?#|=<>de5Yw6$R8~ef zAdb@%w%-}6X4$~DEG*!`*|gN+p02_Lfa!g*n?6ykYqqL^NalF1m=S7xDr=VWF-`Go zZL5!F@cJ@Qe`U?Wzo0E{`s*~d^XD%Ab_qlQdAV&Dm2&z>#TjL5Xx+?{c&!av{YN_;k1@M0a+E*FpQf2CK57P79xwVSFe22ZYcFFZaDj zIS>iG$N64GUO34R0(D?*+*=iS}y0^d3kR z=QOh&wQ5QuyQrSW#0|I5(YjJShrI8*18b9eYxt$&&=rr)wgb=3aZ8~OX0)i~A<>L- z+xVm>y~mGfLT2BR(IM|_>3gwXNJm<>4Q5=!(z^6$gwc3kZWYLq$t-3A=9%wn29)?Q z*wT8X8X`0+8UxIl5)Rr<0%V%L;D3@UO-|Npv;fBg@v^YqK)ar5yI;?eiK1Dgcs2HV zE=`ARv?=CPk{8`$ox)YPMx$tn2hQ7afGS6Z45 z}yA;RldmxC6}7!$m@AWEp1E4MCe7sY}VfQ6#)tD6tYFK2o!e3Q>}^^62lyoH<~UUWoS> zDjbowT8YF{J?!xY2FFY|psbul#0&!0ta9rbh05;}j8Q=A-{4ZcLsC>G!Oc61D?}b= zFhYMgl(RTtpbCJ+sN#Ug%ZguB9FmA?$bJr>0&jYg#`Nc7XP$c(*TGmj9664k$(y#<*fta&jqQX zO0j|eYIO<+E2p?3C<8~y3D~t9kZUd_aNLb;K0}pB!OtdX>Xuw;MBh#s$y{boLUn}k zGm)w0Nh(BVkndxJz||J7THNiHKULqtYvWq(G;ac?msd;!Py32-Ccmu`UC0PTpPm{J zwP&LOT{=fx^y=sUv0|h@ZV~1xIFx9wf(`mfQoLzI8nN*fq4cD>{g37X6`eA%nJMOu zcS~vsCy(l&z_4!)cdKdcw4t)J83rF$taX|4sqB}vP#pIO?O#EAs~5ljc5i@#)IRAb zd2qYd+q^~nmF4uN9Asm3{6;)|DAD-yVQ$FGbIv5avaP5XaLD`BfMM=@Pwr*i{-Ni) zO;LF;OIF2S>w#6(QRS4heKE5}>6diykIgBP(vUe>m#WH2su}KO4`m`S!&?6*pJwpi zdEFCn+s26>WFytZ*qu+7<->kMIe3rA!c<}W7u4y4vv=O0r%|Np`h}wJ$E8M`(1cI`g>8u7%_41>(BIsGWVsz%tMO> z4XeUk8ec7G+0g*+HS4ABfV@Uqw6g4KfpiQ!&^4oUeG+x99RLQYRxv^V)^0`q43byS zg6XfvK$$OcRYAB;!Omj!`xpd!z#Ht7;4jUVZ$+XL zR`6pkp9_+8lcoozhg7Jz-SfgkeSjoPYaX<*m#dgY1VUSPVjo5U={WM6MV(R;4!w55 zxa#xrQ@Jh1Q)=xbFufg5F{6#6-<+1ZhERRvmv3E&V1TlL`(ikDrcUjM{HBiDLZ>$BcJy(iS3WQ=uLGWbE19D8 zm@%`N@YbQK7xcY06F>0Yp)8~{^PhowF4LQ#pqR8uvQp9D=w;B$nc z!cBq=6xCKAt58GGWN^5&xzpgUOpai+ro?!Xd!~297FpFqNviTXu|!yi&+%sUxeY>r z@&=sIC(7!EKFoi7X3}IjOctwUJ%*~lC^L|(w5x%&$(yr6QW{0q0ae&1xoUUQr#p0S z&_HnU2YL>0Dwd5U`v?8h5nuZPd`R?c&c5ANhpjL@a(P96Vxp?|(45PijYRI?92SXB z>97}0T1da0bK8FmlsoEnWz8Y79Y41vr(1Bux3vFkV-YWksUrQfBrNJxvC^wFxs&of zR1rU$L=61yHSm$#tXWrWmoQKoC!(s_>E=e8vd)zps~G3t&b(vA9q%QQnbeTUa75F2 zHTk*~MoE79*I*hyb#Cbirq7f^^jpP_Gebv-L+L+IeRbHmQJjk;_7#8k8g(tKoK4Yy zGq-Zvd#MpS6?O3hFdNkIc^abmun$l6{0F++md;S7;Z(H6FPm3i5`s~x;?RHDNS^HP z>XnRu?GE;8OiGVvIw&r{l{K6*>yK75C!530FNd7nbl`(6d==ZMAYb zi0ZKv_p3$eC^;A8Gz!g(cTV6Pt6z0qS7Ls?^OYts`M|}Oxn=l5*bPv)cf=~ zh_Vk!BAYF7z1t~C8Lh!LJ{$>(s1H2Vw@jgI2+~A6&X5qE72br_{hI;b4V)^iNgXxT zDRK9Ykt>0!PjEcD5IL>sJt2ddGz%+H)f1flVogLBlsScdiV}1FhwvanQFOE9fJ!B= z@$WV;mDsttdd7}<`pEdyg_YKff%uG7rG_k}4VTYlRWz#G_BF9ICUqCNX>ue^QJ;l9 znUjTryXUYS#22fx5$g##O0wEnOcwg3Vvdc`8`*Att5PRliJ4I(0Md>54SzM3(=-rW zb4hsK#sM(1y_3;0s`dR5DSTB_I!I+7n|$4G#qQxpPs*QvTM%Z#v3U63N4ANQ4!Ro` zD)|5NK1amN z(%>zY>v+yWku)6Hz-G2M{?asm@(n5c@8GA&pFh^HAr;(=r>4AK1@FWjUfWzJyJnGD zKA(V^0&s@nR8d8)VUsNrseY-R5NhtIk6#x%vK0$+;J;TwGkzt^?*m`peq3Yr_R@-~ z77LMM>DQ}JuIfX$W{2A;gy5-;e|e!mTJy%8`|}3YZ<_6!Vk{%wH{5+^X7}-~aREUW zZnz8UrGQE#|5Rj2&|zjn}t;YdiB&g$xC#p@R<-Oq-zgDndmULW0~7g!O4I zqA(r2cx2Faw`#uzrWFB_?UZ_RXFKyu^E^yQs9JjA0RT!)Lf!ax2m?=Dmh;%X@(G&e zsoA=Cwku$lv$J!gvay3oAsPQ_jZBFGc{%6hnRL%HJGAbPQrk$OfDFX_bFNRsOAkA6 zBDAr>apl4T-()L!sTAXEVB+9DH6daN3cL`V#E3e7XR;`WG0UAchZyOZyHNj1AE zMk4>}La6)WUIAn~sq8ekbQZQ&t_rnNpqx8lLssisZCGpVxTh^Z9YOta8QS@gP?TIw zh7m&JW+QPGJYOpvAO!jk#CKQRS&Y)gdgf{Wc=~i&_kRpjz&A5I=-`$-B5gwcs&eA* zec43fa47j6Cd3g(rJy9qDt6};N0P3=O>BJ2n9r6%Rc372REep$nJIT!7OhZ>(=#Wb z!?`y_dZq5A_+Za~d&GmmOihZEa)l&*?(`hmD$ijTW5gBfY!Sq+nhw{Q;lw@H`13C` z+SwY=WYv6~wUj0ceA?4W^N|6eC~#zjVRJ2C+i3Zn?pk?z9jZCCREWrP`N}8%X7n+Sz%+~!^oo&LO;#`*0 zjtU_}ufM%tkZ4A;OHh*14BGQrK=e*Mki?bb--SCA?62c%N@#-Sqn*_pz8-Or(n)x! zY+t@lq$m0^|yKF2U&l0bUDYn3u*4KcUY6WC$3DJ@zyR(hfyj3>?q9(=jtX&*xn#x3trRgDs8esZ|AP?grSYI=8ny| zCd7%*h!Vfs!hoxuY2FC$7qJJ@@-K%eezHxv5Xaw2aL-@0U$HincfZ!1_lT=5LrQ16 zmUkt*&C(3rM(p2`9}=_e84AM~J@r|L9k7o(>K>Tr7I26Qt<|rS;K+Cqn`vh>H^0G$ zkF%6XK@M_(FSkUG_McN4Wr@|~OuEFJ*X-KT@81vCeCAxJly+FZs*%q$AnLHx7PvOB za|{T7k>@LdglG71v)}~&ZHT>V{txu)Y1Bkks}(W$L;bbjK`FQFTNfu5VTa7OlTMO? zz-7nomZq(f+&e-&umoxe`T;jtg80F@*{38%op6H}$BcIJ^K*_&j5jLRQvRn{^XxI< zrM#@i!{PRdd$xA$9cHruPd&d&7y`lj8DA#yP$sbz9xxO{uzbB+D{_X%&^<-pVoTaM zWI4ZRN_mI#nUfVjFI=9Y{ZDAmBpg3MGjd;;f1LKtxu}CID^buKji0+@XwZJM*ILnK zm3I~@j3N!iWCOEDL&=;N0Wj6!2=<7fo=(`mqS?lJO4qXbP`MW$kP;oXv<@k;hJSxm zF{am7O{7}o>EM}HX15iMx5XeEs(-py4oH#~MQ~9q)NW95slqjn+~%| zY68*RfUUVEOUgu95Olel%fCpygVG?>G#P>2N>MA`kBi!W^>4Gh3FEa;Vz-3t1UrwA zCe2=ag#x4hB0&i2H-p@$*^vIW#ac`&dwA<1)?`@{0>JBEb!kVn(DKTv14|!Vw()7! zX>Jd%>PKvDguo4D4y1zXLtH=8BlGv}YsBI0Db??}!u>?10nd`qWPjQZ;05gHmb2pL zIhQpPDt*ka#kN-GUP1FY#^!kq9(ppfd^;#_@9o!^yI_o6|A=92$o++``I=!j0fM)$sSIwdEPqH3zntx3~j`>{Px~b{%o*NOPJ! z9UjoJgGN^1KQHtzBUxWi;_=$XPh}!&w!7gAvxba=|=?J-CfkD|< zqT3MJ?Fw`!yq|kk>-aCOLZEXO2`XT`(M4Z{?bWUz1VXoEJ*Qw!NTuRq6as5E!D0d4 zl_F}XBn8Oh1jY1G@~dH9<8L%LNP1_}C|!^qbKsNq5aswd3|FNX_kJLkF2*IbVN$`5 zJ#rftRE#0Mh!$VMUCITt(YVSCpB<2`NJuHL-Nfi+s|d`hicvF9&-CxF0*le#J~9)3 zY3LN6LE(&8${o*XMwdwdSp*oIwf+Zsy|G->b=E1{pxB8>(w-~(sGU6V2|}gz_lRXhNB1a|?|DD0xtO;sp41hZEEtB==(e1_oAh|r z@r*mlfjZviaShYTC3ECBSUXE3j_Ds`T}^l9sb(h=SgDrMH-XK;f3^YMOyR z#RBQC_#N(4e#Nn2(WldZxBWl(&LOp(ao!IGttC_X4fMSX0@HUYdjUUJL|j8iUOm1D zJKtw1{}kt>qMo(>R=Jp0QLqbEG&eRf6|iF)-l1x83CD4he-&S7Ntc=ryIu|1JlNWE zTWu?~Y1Jk-)Czd;+l37mX||_q8drFnecbg&D=H64U#C}RCsXCol%wp7_Y^3Lf{@eM zb1BOd7|b0wkgW>3CF)NriB4&-v^X8jrna!QI}%{fvqoCR`&VejB(e4e+~)P@p8abn z{~iC3Q%p`Rs9&zv`5|jRjatg7q@sd=)0|$73qO&Q?WTSpfqM{V7zZ^)-l0rjD(l~+ zxqghcSx3V3q{xVZ<2{P2X{`&+rzDeuTsMy4l+^f*75;TpWl>=)gm>$lh>nioyILVA zd!3pwaeYNfHg-GJ!hnU#3@+Ip*(b*=0rc1h}bOMJ9pzZ}~hZI~47z_4tRK9hbu@t0??M^2poDx*ox&CIO zbt>fq-cx>zk-ZhlO-@>)cp+iFi=%(*sdN@-zM4G`$1%P>G6z$J3%^9gWA|^Vx9tCnP^ z2Jtps1z(|$HyxVALoSBInz54!LxxVt^iB~+NOjqD31-N)taHL}-p}Ooe~l;UA8J+C z5J6tc+ZC=RclAs1AuClkES-x7&C5r>e_Wv0{#|;JqWeD$WnkL#SO3Xxs|eIAw|F0V zTmLEBRQK_Q=Ju3=Ovc*mpB8GzP5}f9;Qdqx18_%?Vm#qX`HM?r`wY+^pwo7dOZ|2q86qUjoP-o>H0hkC(dr83t4)(3a?*sz4%EhS${nhYO zYKe)}X|ZCQJVX3R8_US}Fof6Lv73uE{_|+x(-g@2XT{x*USAWGm{p!HNwjQx06?UE z@wdWa_Rp%mcw6W3Ntt7se85X|HkgVs&FQu{y~vv-ZT+Z)dXPuiSDqa&?_Ox^y(Y|O z*#o%i86O9Tt$6TEK;2kgV%4`;N_(4myaa(-wk_<_ld%lCQ!tqy~R zCq&H``_r?7@5oo6OA|BDPW~Ur0H`oWdhN=1L0Q}WJWuM@x{9LZjxOE=wz}#w$4MJo zj1N3$p&rHxv%xDq8pf)4%~ZcjMCO}3K5 zlQl<;VO$TumG$6{q&ETte|VAz*ujB22cIdx%{_hlr!(s95>}?_L+-KJXa&*7SZ>LHNHl~ue%nG-w_ak%sR z!331MDI*dv6HW+z4=+2)Y&q`VR3Nh*Q3b($OO=?D+iWR!m<56H5nySVFOe7%KZEwJ ziUDj0={HS4da>`{PhQnzV!^_kMB zW>7x75wMp!eZSHC1xo2tl0_|O_LS)5B}V-}9r}9dksamw*C{ipoQpye4I+!I(_Ua9 za3y9*dMP-1UtRsq;h7Em&0g~y_JLleiw&GM_{}~oXh&CKK*AJKBILw%McK z2SP9HrO&*1^yJ>TH&T)@IYP01Q|-xPM0fo(@DtUUb#Td5DD#d@!|2@o_^o#7U$w={ zSWD%RKk@p>9u*Oc6uZy7MzGfcO$k$`)J>`oSk?+xbrIZZ^u=|(;feFA;g`vfF-8JQ z*}TSvC{K7Kp+Wrq%)mCYl5r;6%TW!^<_Zc}GfU{C%=Z(IDj0L#o$hGG6l)?%fxwRT2m$i`5~UEANqS z7UWuy#OqM7AVl*G^($|PCt@Y|9;vCb$B^ml7u(?jTvYkzWOu|c&D6cc)VutK(Omm} zK4dBJLWEIswh~sp&A;18j-_i~zce}{m3|*!8K5Ip&RJqkgiB?a6@Ti||r_qBvEGZ@E;+H{tO4}ymbOXbsrWF1p{jp9A*_5Lngh%hHQZz%n+{} z2TOfM;y-*(FZYHAd=(DD`s%eakkcq`!eU##?NxU&L9%2cz9td^Dmg{$*LIaqB-V80|B?0lBjXzQX?KSKB zKscidRd|e*u1wPp8!QhGOi?xNAU3NA%I(P3Q*UYbGx4eN4DGy$c;>ENyoiwBMu4Jj zI2DPs%4`;?^<#^$Y@S&72Hf#~5u?-E;)@C2oNo3!AS(zd&ZZekzQ!BjAM-1}ecCE< zD>qx79RJ_l-~U{tbbpDN>(+&OWc0mFoh6-_M%^kFEokqTT5i_H|(0ASg=Z7z~&Xe+f7d$3!sLb*qr zaB^+z1G${GR;*sev$xqaTEQ{)nC*;<-7=Upah;^JBGYWh67?v&K)RyH*bZBn%4*Z zFPU^p$j;R!<^lDT9ij>AZXe_vkQZfIb{R#1NpR;A_7O_tc=-=+yt9GAA=UgiCA7fn zZK*$11cYiUuCfvH!V?aJO|!BSw`I8?BGpL*WC_%!Ahh47iR4sK?+{u1KmBP}WXq^VWo; zik^L7UM=6ViWQ^AfN@DB7p52s47PxE=}Cy@e;_(Bw2lTb>-b9uHE+aW_?eiMorH-b zR9$7~RmUSq@!CC?A>El&`V1=BFbe%hIY^{uZA9lG_v?>yIwJ6}utMSuXt8Pv^x-Gz zO=G2Y4*OmJC4>-~({VWGd^JzY z_i=MTj#*4Ro!UO6GAs^wqwQQEOg#NAoEzlFnF*P=&q^`j7tN&`Xb1wCX~RH?+u@~Z zFTY;&54!%Z#P;j$U}0;Ha^a%X)m~CYU@gxYanWq@L@vgpciNH%yu@h2TRB%tK;Gqz zXHiZP@MsqAOYP=dv9I;?Z8mqg+DGx~wwl>D5$U%FXsj&S=4gA=zB>#%;p&-FPec=~ z9H(NiO_0~Ve~j0IPa2UA)8UgSMAR(5i*_`?PkYeW7`JQPR1_$MmDzItOg+e3)*}&< zzI8E$H$|^3H+g4R&XFDdTWsz0J$OMV^s#!~6{VVwj0+Aq$}%Lw^oYlp?u920&Zl+~ zswBS@TIl27^i}qBqL;vUJe2Rh2(+AqkGh%@+jiL6DPU!M$i63&nMQCkDL$6xc!?KH z!@5^;xc#`l;evm#Qr!{farfH{4_2d*$&`yd&d)vIW)1$#tIjV)BWEA-euKpF$&-so z_ug|pXr47tn9;6xt<<3Z%%&B*#7a&snaEM+jpA7toe{{2UOxLDsKno_sv*En0#AF$ zc1)00l;)#KQ3g z(Gm;Y?|}m9#%+UEu8^;Y30~-$rh|xFs1u15n#mM}G1c@pp95uhsf%EK+S$9dxiNhf zjnF8!RBgpjb>+GOv6!? z%Kn?A;oIt4MWR|~M@CI0M{LW_qt-*d|AGnuRQ`OLe+3T6jrgy@a(|+-y{oTbFw{ zcxETMd_6oT7i)gG_H$QWt{=EHr`QmC)~+C0iG%C&C*w58&!!vrv0BMkY-M=Br{4FC z9T?g9e*$SuX20~jYi!x8$tmr~IIJo+Jm}yGMe+wZdY>wnsO4KaB2|f5cKoAw%}+kz z@xkdIH^T$uscJIRQ@@(xgN~e0(k%ztqhj6xL+Ee9qc3s9!A^RGN2tTIGMJx!=q|tL zw_27A>C|-21(<9L>C)}urZG<8E1iKPiM z=Z8&X%Kc1G($y;zf1{}$i6uZAhed~Y^9uynz{d>jp!wn%q@TGUSD_hX2|ar_C@`~q zxL5Qd?dg>M#lcQf8-hP_&CqmHRo|Hi6e;n_s#O>fC#9wY@Aq3(heM#luMn3UEHe^M| zkAtx>=a|tu+XW&JjKlxwth@)7FLvFu*!GX=P0s@mYL*JQu>>iWVVycl#PK@knfRmw(V6;`YphX;@s72+c^Ga(HK>h`rat9zmpf^uab7C)0@tS zFNq=(HogE{963S}SdBJ=M&+?TL1+YbsqIuQDq7`Zcax!LO?7HhxCj0Hn^$449#+{v zvkbunI-7hLED+93gcLu+pN;NuX)i-0sNh+c4LT`PGUrc*KhKfLiYCNkT0vT<G-8TiGhP2Uf`i2Xo-od5dDJH;v=;i=wI^PX?t0)5<>^UuuZm1sv! zqPRdtlAx3Nalxx|KfrPp%CeF1LtcGdneM(Ay9i^fIk@Uuw;05B^W?05~#HV0=BP}^Pn{^xz>X7d2Ks}gb!XXsO*6)YHz zY5bQpE;t6b(DHJt8`d90-W$mX#W<7@S&j&$3=^A0QAfaC`MTw~CI=7q$%WGO&tDlD z=N@o|ZG~3zsLDkaenh-&q5345w^r%Y=>=-}{&G~KsB>iVh8w24Slsk8v7)u^=lfZm zNiZ;ct`}=a+g(? zNw!9z*JmRx=4P>7VWPUdhOG~BH4X)F>Ne9QwOx-zv#=oFm=juu*}kaAnGYt90un z2M52}WJ7bzCeB!qQ@bKis5;h>1Qt3cZ_iF0r%`CyvpPQt#U($0m81D2hSdt!0m`7 zVpU9a7VoaPNLwMm0oUregv8#ky4S=OHzyTl#c|_hNu42b#@WuD^2u~MRV4^hv|3EY zG>j!qeZQ=DSmQgNymiAbl>>#ls+PP#J|6JEFy=wG)!7;nW>3 zWLg<&%?fdy@tNYTj8f*NPoHI{HD}vG+DyV&JPVYh{sZAj5FBM$&@wTi=mPw)C09#! zE29_VdWwwDed~p2+6~v+ZyNihED)OXuWnv^fnuj-=kPqCfZ+1_fyq)ax|`dYE2={x zjW0QRj^d&3%$=6ajg_+x$%zk#_y+m*eBo8SSed(iF#be>o$~Lq?rDHGpcEv7qwySu0hq53g0A;WTUonCXWDg)lk1TwoOy<1(2JZL-oGK&t5ynU=uVpsioV0{W&Q^_k`_9D&FV&Ftczd2@84g@0Np% z6{Su*TWEzr@A8a2fJD&2wm+tT1K6BtT_ZqfryO4P0bm|6W7hKjc5eDp7ucElK>?_e zo(iBKQiArKe=t4HgWLcwKxC(Y7Mgr{R|47fHJUJy{e3i)yR17Xx7}S78*djvNwRdQ z5bfb<3OL5HLD(@@#W+k0H#z8gn4MI)E(7~HGUA|&)=|5-d!0{zmq=@jrkukpeD@P& zY0|-x22I1Idz4LM3`P4K`85%LwUBi1A=nHxTjQ>Etl3DaC3Lt4P)WIaja<^ym%px? zdo_h+OO89D#S4-cD0>0Vv$eeKR)DGGmwycNf}||<*t-F=NtJWwWl1Y^lFV^F(o{C& zJQWI36um^}lDHxN5)$FJ%n+&>G<#RBX5+F%X)gg!14|^mX%7XE-hx|h|JVUl#<3CB z&OO-%YG`0FHfMKvt|K!t<(jbnfOS|i{CUP3Lixg%=9U<`Y?$9u#7`3qebYlHyRF4|uEQht`QVVXgeu$ZHOGFZP80(buM zVb!u;<__{J=&vruG1i@K3wUh4)UyQKmm^d&uizgu@V93`nncj;YY15`)1wJeFGoK9)2SmwALK)&O%I=V&5M%cw13(>CVv{?VhjEqU^YsLxKVCRfPgWwk ztA3vQ*L-+9qAtp89>aG0 z(h(b_U*4#W4t~?lv`eFu#Y78t8cJ1Upd)gH1o{655`$ZZYo)lY=LHAuhM;cm-5w$g z-ESiz{>={7vNiC|e~m@(q0-;f`|SwuP~qY_bMWd?bdyrPNJ6ADirAkwrB18!n@;ql zoaRNMvbcvG+`g;d(VsZ>4|&edy42#5!1CiSO@pjGICH;NoeUiLlJx8#wA$9A4?0V= z`*IgcDdKeAWI`~{Me8;c&$inFk?~vYuWA>MOUe2vsu@4G@%+il=m`D3{V|&=KUvDz zjs7dn&&gR-QM!6@%oBL9u^=oBma!gm|Bz++gAbK823hj$e=5LIe<8xm~0$5&z3ieGKNvAhqU@_mS67#@t@M&1&h z{B!-aVuDst<*Iva>>o@ovwv@Q36_vDHY^@I|HwMCV8!Sj9NtsyiQJqLG4kGdT3Cx4 z!Crbit>CVTD-nZ;e4&Y=71d&bKNxxAUbD-?GNZH4`e6nfzmy%Y5?IoN`gedu0L7yvv!Y`5Q zwoHFq;3cJ6=?^XXXVCaJF{lV*=yWfxL%`$f2blu9hm=BbL)l5*@gQNkA3z+MC_WWQ zg5t&<*NH*R2YaImx$IhZF>PATGX;WsUp({5zFg4(8G6}cC#AvOGyr}f9@_v;6Nr?M zew7pczw@c|TmjP#$RY}>d-$+e7$`PLRpSQC%Dq~*wkE>^2bd3Y5`str2MiT)X%JGv z&ANn+Z6FG9*^X3a!eijbU-*3nNsJY)LbglO3WTb-WXbeT7FGkSxHEyM*`^T4S%)`$ zceTS&i3Q3qEx?g6ERU^)I-ODUdo8{&9=#kdX&TDBDZUWF$_WFlw$hDUgTfH*kK*i# zhWk=Y5aRN=a|TwrjN1w}+udN`Ymmp(iL|Yf->icsaxq;zVYremIG-fe;x%x)hXIzG zSvGK_r?E7HK*eW|KVwZP{x*+VXt{q=$%SdrR-7=0Hcan}5|o73+rshSt{)^SlmCPY z=7Mg*BbOM~G}2!07HV+3e5-r-_c%PV4*^KJ^ah4>yYbf-2Ch3WwIltYEF$pn%_{q0?32Kzgzm#h+c4xk)@!~;Qh^)Y>0z4Oc=p$kOd;1Pn~bEWTY zgRbvW^ffevz%zfTBXigIUWg75hz8Msu36X0v9~h9AnVDsGP_%*c|EY9cDCv9^>}y` zMgvh#nos=JrdTni%{9zX2#jTM4LOET<3)iVT{>U(gB0`mYJaGLmNYtR2rDMCwCBWV z6F@AX?Bxj{zO+L2wU+yiVr(oljGf?esk;>Ou@3_4xIJ2E?A3C5V=rTMitoOvgVe}4 z)(tlDv$cRD;tVK7TMdm|v>4aktPRHOob16&Nd?|QcrA8u&$nZK#>$)yBrC@K_U;c? zmJZj_RX5u)O#t!6@jnH4q%3`cAl-J>FFV*Z&Pdgx=Q&tH-$T zvY)JDzNX+?hQ1U@Xp4Zgf7F0bN6lW*6*RIo`&YpqQ znY)RD_XJp`q~1>)MoWw+WpkzG0{O~=2T_fi`x97@d&h2I8wUGUt+}_VI&kr3^qa0; z%*;e5%ZO$opVy?g0XtKhrmlhA7@F!#n9H|qhDfy|yEojBQymA5Pr^=AwMZDRXwa+N z)<~(RN?b#3%=3MCYJTP_X)t>9vtyGm;54@Ng5q9I9Qwf zaE8wK$z=(N?}Hezq+upS;$F19AF@Q72U@wSVkS-Lo{MgJT9=~KYU%D&&R2s~zFrjT z$=HyC08sFhP3ut%5Ui#6&vyhy0h}d>_LnYnm*^R5%I_D?U-df1%$@_xCTc{0%v#?|Hvw_<_XRut&yhzmvb zg1NRp-&lwMJ5MDOy=LYVD89sO!3Yt1*1z*cRIbd8Y>c&NvCGovu==B)Bk;1c{U0bN zc%Ume&9@FVQm__r&^_VY@zhFbiis*#=d>9AzG_ueY%CaVa`wEJ;72(L4!Z-Duzc5$ zKA!T@X!h#;R=a*u{>kH0T=)`q42JA0k-(CD6u)H8)e2!^gir=raAn)K6oVZ%%Ea1; z_u)ISXlo?u%goLu-UrDGJjzlU!Hz_Eqo?M6{2jk|luQCr(-hbV&?=*=9A*WGgn69Q zDAieVU#I6BRLLFW8d1C&-9W~5uA4hs@j0??U85kLP!7(8UERC*SXlIyrctxxxRT*; z4kvs}#qq>i=DQ|9?}Q@)qi-x3tqj9#wcHY*PBgBaJU@}$N}O2@}9 ztdCQA8STWQ%u)YB%Yq}#<~b`LDkF2{Z-$)7O>N$$ZobR@>sk5kcfgOw`M6&stOs3m zp&W}0t3rXddX)FZrS89K+4!b^Fyij*w3?uM#v2Ic<#h|vzkVCT$aq=N95FKsj-10N zL-DKI(2P@&&Vb8&CZBq&Hv+{D{c!JMGC{z3nArMzmN8P{~2|R$@ja zPX83GOn??L&)L&=@&Kt*spw5MBm&V2D=5q7!B9nYRX0_yph6fM(xB-c{niETEW8>E z$VF%Bt*PBbAp>?3BRBJ{2`#?hCCw_wPbxoM_64Gy<5No!Ae)Ohr zR7?9Qgwo*ZY-F~bYflFaSRm?u_Xnt)#9(=9^c9 z@=1R1y>ms?&L^c;2*jRLn|WpQ?1&Cr*236H;UJ$EVzNTJJL02EYDIB;2*r^ov6_w? zbHYe?`phfx2PcxWd`yr+nxqcDRnR4b3_SRr$MX4TCha=uA6J)j$Q!6GFl*WXX=|gPk*t<6It(-WMrPX9eY| zfpS3D!1G$K3}yZYI2rR`nE8J>4dIJY_5x-2C{!HWEM~ZVj*=@m-#FY^k`ty-rJ6=n zXvId!Zz`Ra(8iUC_VaIurPN7=6QVlWS`z8!v5Vm5k+!FAYPlI@2K`xoAG^dHWHco? zbvuJT&WbkO>tVWEobaZn>@Rqz+ic+bRt>mG{|@hQKQ_b{WYsMw{3p92t!+HGK;Apj zfMuc)zVo5zP61u#$S%?GM6624G_Cv{r5j$@0`^Y|1HmMw{@sr%y2r|UpBGp^bVjnS zw#PT1+*52G_2Mo+EkifGui65r7NaueGtZdv^obLI0z^hV{0?dm=;QwH^zu7Z&O+GnlMx#O%J`kKGq6pVs4Kl` zuq}GW1N!cDB}w(rnpY>!`DE}4SrZP~tAv^j{tKg{VvWbGAjQh_>olX;o`TINVK^*H zm%Q9i^a%95dccZ5cfaPL+@p6TXrpJskGij>eLFUyuH-WED?xYB4S>jV+7gj+MwG(1 zELnxz=w``UfK=iQI`e@G;T+eF(69m%DqRA-hK3rFnbf{CSVmA zw71yddr?a9W5dQoxZl)-#I3U2QJ&LWME1vQO^ts?^*3LJC#`yng#Z2o-?;?t*Th<&efjWL-$-U3|sYPVH3>}oS zmr94@oFiy%(F(ZplT{n#*uA=~HZYkg4H!+9cJyEL6V@ROxGnYgGGx}|YVYay%OYyM zNY4aj#gn)%K(p}V>Bw|Dr; z=&oA@azc3uVpmt8DpNdmGOp5l{fo?Gn4r62Q~CUKv{QvKUz>l4{Da~QNyTN`J{5WN zZTA#rnDJv8{fq*3rMy#oWG1ED?@$S~TeL0ct*7ix;uZ3XR2Pc|<17Em+3){%;H<7R!$Kidl1AQ^0E#FaAQ2IWorG}h^Z=DL+SlP7;RV)iqC-AZ z{Wv4#YBc9JU<;p0@DPX*IWYrsd`zJ62P#yGbHJpya6>;YWyt4o{=OJB%j~vlqM@o7 zJL&azp4Oav+@)2$B88lsxrB{|Yr5vdQ=@kF=twyS!#cB=$BYsDz1} zmi?dvQ+B|&7?lPWJXRhHdd%LhLfX#XO=N#tR;Ug#PJEYQ$Vm533uVm~@+%H|VXgb~ zA%09sf$sUoAWTq{%0_OXw2>CFd%eN-kJ0=J*fpl6LNOhSvCpjj13gNpb#x&!lhOq*5!RTlIW4xe zwcB8Qp6O~jQ3rX8_`$JjOUCdY?5}BLpSR@SulzEVceQv=wxG95WJiq^b401QAv(qmUlhcu(UjPkKy( zKq#ab+f`1@9p`V@F}&#`F6dT@6KjA(z;sy{c$hk^rwk4g0=F&@YN6p@BAvRB+-=`Z zP+S}Cw?I&sL2}QIC?H>HBHjJT-Fd^}<3o;4A#h#3p5bxVa^p!6UorOj<&U6Bt~^SB z8kBx0%$7_8IOBf27uh0~lRX8zNTx_QU8zAZP($@_6vl|^LH#fD9qpeZrx5IDW&_p+ z;!=0F+3nYmyJ8$sp>`%qza(9g#+8xRFPA{o?E4N3^#0}_;KD-UEc$z!_dNWfzaR8} zatj}B8;o+xHqF~+!t8<8(c}O%`v7IMBl<=p7dHkryvJT@m;=2fye?YCOIls6H%=Vi zz~VzX!p0#U`K4%wVe4ud{BQBknLa&z78ky$Bns6cOFs6;o!f5-iP9hIC2+D02?Enb zH_LMCr0t)a;y-6wdYTY~kIK9tvD2%STVTk&0c3!wO^sC?^@8tSTD%Vw3KaY+27>S7~4|D(9tBF=`9r2)h3xnJM8tX zbtjZvC;pXQuw^aKL8iIj!d(_SL^xEezI4OH1(s9gy-rLmr1E!*%rG;IgiNW<&dKiY z>MEIo1#ayWi$g~F}>K-s?Oh#*8RY>U9J;j-&zA~O$ zyHD&q)m33Wmh zHKV~qaQdxu#vFtQcVXWkFRk-fCyArUPg1`m-T<|fhHUGCp{W0hNE7h)yAfaRZz-ra z%q50g83dr72!x7Oqo`Fg$UsYWB-2VfEGH~p(`!h3+Xl}GSEi;GjcC0-3keG;QRK!a zoX&CixM3OO3!lZv(N>%F;GI3SJdv7p<4l|6&El^eEmLmI7yqn1WD!uMlBWD!%&*}% z;4zyXQ7itd7|j0i(^mkM@!7;1c53xebeK3?{Q7kMFf+!M?P_?ku~u`Mv!K-U^S8}} zmzz3d6|~J-O-EO+Zo77v?91#YLz12I$jQzS-qJ~2S0us>TuzbQ?~4R@>r+DZ>(TYu zR(6FI0_7yu>rav$VBX`b6tPS|Jd1QDAeKaR~khU83-yfpEcn^HV2109wN zSB;V$RTV^5D1x&~u)!()AA_*-4Hf1TIgXcqm;WI?8S0`OHHSV{GRmkCf`zJ`>Rl5V6yQW{2- z?uG$W8ir6h6d0sOx*2Nd9F-VS1eJzSq$QPZrIhx6eee5z)^Dxn4KJ8k)7N?KbMNE$ z9QP>QeNruOlF9}iMFIJtEE;!UC<&VZ(ip8NV6TksPtP0Q*jLK#iMzW--yZQj&_7n* zwsHt5&A`!F5lE)Mp5+S865P{YPCnVgXEqE??55Ygl~h#fE;vh+Cm6Fu-_KCFk=x%; zJyb$CxYT%R@eg=tzvBUaLL*uH$#2(^bJy-jZhE7l+ZguFg38aasljXdFzx!Aad5$= z{(l))-4&pKTvORDZ`dPy#l6(QC;A2(>&3fPy+9ngCI8w2j5`bQun<)ShG0Pcp7!;e zVS{FIClu0{_z$4a@Zb9SdyKG7d0IbnrG==S)7A)&&D%r{_b4C%2k`%?-xCjIFKthP zk3lxL5ma(?kkN%OA#fb^G%YPkkTdzT-Mw0LGTb)qZ&Wu1kng8>zAGQhI@X)SjR)9NUuSKkIJo$iC4WgDodZ5PP5s1LGDw-rp*gtC@S2x!MJY zc!o~38FHe4eB)T*OIlLuKk?6@zmQv3oP2hWs~-=Eg}{z>B|L@6!V+%$UI8n)C#e-D}m$K^qGyIo9T>@C;v~ zUO&OMd)a8%IDbtoc}=CJ4!~{ZG-UGZezOPOBH71B2T=2{C-r>+_@?kq`D2~2I_XfVxEtOGp;hiCGF~g1qFw;6 zY5rH{hdo!U^!Iy#Xd)#+nu0d&Qsm7vo#4jX$9ZVdWX=v3|ECL^$c445+V(HZHuZ@S=skm8AM4(3mN?xAwTXR!^XdoOS(n<3c84s zA~Fx@^8*MhOWc#$zlZEY@2s`Bk0H9kJeYU2+9mUS?wDN-uU3sC#H`LjQt_oM7VaB? zK3=9%Gzk?9bVi9Xq6zyHK(pO{+sn!S|Mp^AStVDrw|`mJQ$B1%FKFf*!}+KuE3CIb z0Mm7cExX@>Lpn}1=Fw6N2Iss{-kHDGV#w!%g;SSgl&D!O9&r2`{(dFw%Ske{C-5TL zBGv+{sOdJ?9s2NHxD0HKMVV)W^>!PE=Uqp^w{3$2#S3$$s8bA+>KX_~hR~%JKU5}y ze?rE3f&tSAW%qCVyCz1vap$B{W-c1!RRpX^H;t^UT_!6j0apTV`vDbfD8n**i;Y7> zGI#9-a?3C;Y(1Tzms%kIIg?j(*hDdGjJk4il!AlJZ)V%t@X_?;%hw4(ZWbC=!%lc) zeyEq};$hz{S9$Owtrsiz|B`QF=La3!xhdLbT_ewC?#oIYIA%;^tEcu7E83s2l)-W$ zMqlsS9;rXVdL7|V;|?Gx&QWy4hUuc-MzoQbzyj=FVS@OB%aGHarrGw%l^sd623BUe z+&8~Z{?vO6e{1MsT(VSf(_*Ce1$D3?7`ClW+80x8^T^Rsn1`oVrUjVL+hz?By>l_6VcnlgOPh1l0iYB4;~#@UVtW&O~cSbwf6 zD^4MTFS1&TH(4?73W+Bm%o}p|9!q3nIGo zrBW5X*^|qvoJ<7l>h$o>#bG$$?9F>1Ei=@;oxRzLNakyo_=4YbZmjgp$!FQFJCF|% zU0nG~2o~^_D*fCw=;2Dw-(YqJ#=q}cqd-Ns#z4(~;^yH9G6`S<^KrV| z6lXl+uAl$t&r1G^RG|vj7R!Z2^9`@PrHgM7XWNlebm-gD@^Q?%XFIF-N{4|XoaMFz zs$s1fO?bOTzT(INK|4qnOAVzEPc+rz9K(N^wyO!wNsbWorY2xK^K5b{Le8Vjj^xKm z(_IlN9U$^`s0ok4{dHcje4S>Xc)^ja;baWvZj0EnmbrrAM&tUzMGRh2l!l=|5v#^L zO8IOL{&VWhr~McjanQJLDYay);#AnJ(CtN7Oa4_#9*iicpoz}f?jHRYFTI%@-e z!K~X>mX~dH)xmU-ycZ&4J8D)#tdv<>7rd2*ln;cTe@%D8=Qs7-{k<3sx?*4uQVOrUH#DB)0@XA@Li%K7BKHXDjRCjeCD)?w;5$r?G-Nny_{mQ z!npr7H6(Yw?L->*z&TbL;IXLmmd8(n>gbLBvp}{O12CuHP1~OVU#-J;+fhp$WE}A( zYQ|#FfP>FqPsk|v%Y<=j{$T3O-pi#d#zT!_whzbt1)(wkRLRc)*CEs$|Z5ggm z*m?_0m(|7rPZ!T>{{((s5dR9T#JIuqzr6Kt{4)A(lOGIUTF!p=%~M;fwpJm-wsfhb zJ$MEZIIpoRsM-f*Ff?%o4auRCzN~nLaNyAJw(a=^cA?OZ3;%ch<7NnVimfRUdI}B9?$ziWVy#2JZVtYgAx+n zMso3Oy@s?3MJw>ye^YCr4C|YHO4};4jdCs>aAz7YCql^3%T>%N3jlpwKa2>>nt}g~ z$n{eP)c>PMWkj?s55Ir=|MTA5H0&lQHSpJz_rI!0FkC7(;XRtO(6X$LD+skTrn$9h z_82KHET2O&YTH)defx{k?KzE*wDt>=*mdnKw~vg-{|W7D?iSjd&M_{d@%gjp%P5r@ z{p=YA1O)1uJ^3Z$#^3NoDBII)jZlx2dgv|JZeT;YUEU5rW6 zu^G|(TSATzc7kY?N%t~t)IU&4!=wA{X7FXJ8l`sbq}7^INTlFTkM=GxPing2IcvJG z$nZgVq154ebBVe%;x4>vtXR|TnX=^Xj<0i=_O0vq##up=>tpTm_QHy+*NW`=N|Zu* zxEI+OXT(_LxL*@Z?IyGB^(;g;PB1V+^PuzPWYMi zkmuDc<()Cq*x{nVq%~aj&T6SV{%nhBw={_IwQ_L1ULps$b)%jQZ!E3vXWnvZs~ zOAFiscuFUu7y$G!DgCJ~FEnq7N{1hCTYU#aHc)@vG;X^ty-w~GkvQ&j zx-g^Q;>WLGiGSt(yp3MX291cEM&U*0h~b7RSz?uODkg7a_wVf*9M2{258 z|I+D^-6$V10(4Eu(xA4_P+{(s56z;b2gBTGIADSF{drUv{#^HR;e-v;6Itm!23Fn* z3U!3tX;#fpTdfPWylYh6Ts!d_Wbaq{aa~o!H`dUWQw5;_)MVW#>p3*aCR`vuV z=$#1P`@+(9bRL?NZ9w$7_)CYf&=IXWhe6i3FKWn-nqEBE$`uJj9JmjsF#}J8gdUQ+ zAZYg**iVWbL9G;FX2=(}OXg4zFO#a;3uk%F^~e2r$ebH~WQSqi2W*yfcqYVny5v~} z;1T>hrps?D3loe_qYpUg09zml$EGL~z%vYetPjYWp|b2#|Ds7&np~gd{;(*g7I{iY z2k})A+6$}3>sp{u>Psbe=v-7{e5vRb7qyP34miMxeKX8G8}8N#>|mf&&Z`w>0dt{7 z_<=~Q!a;%fmXQ&G)p>_$3Z*_Ez={k#8NdK;*4u9tiFn9%?aX6y2!Q*LXQog#I!0>x z0r=qJ5E?#_p3ttz-i+{etvUSztzmRO5i;RDgt=t#H?|?~<3|TmP8PQvN&kwaHLOgUFP6xp-&cBkc78A?9zjgx_(mUHw?Mzqqj{_BItwVlU zQ0)t_|9)Rmmr1CtHqe6IZa~S1P&CL8wQ=yB)9xSe-sIL>{ieiLX6K>x` zdw9_0CJdU1y8g#S@#2KfEKC;0c@M=O@g{rF++nyl9!W{3?z`oCf56r(hepKb&KBBF zo6czq`mU|ZyRm!Zgq}E_acG_VH;GIc&Fo;3xLk#R)#kezYP*Z6bK)yqaG`v|=ev0O zlej#3z5K%Bo}Ys=i`kU5ZJxxeG26#9i3PaXWBBZ&%#xGJJsAdRETVw2dEJHQmD{_q z^gCojGWtVGQ|e5(=rAc$%zZTx^!1O`3cWJ_;jmpn=HBLD?)tijGS_bnR)dpmn_$5iYh!JgxZFzn_YP?;co)61 z=&r6g^KM;R+KNMzcRj!TwI7O&C1yIwc@p0JFUHr&$#r@6Qn|t_dd{LU(2fNcYz$)GXxN~G=onz}k-)_7bK@XR zCFfwwi>PUYq>GFd5-@;P-O~Yz#7XD_RWc#Ya`Y}L0(j#{EK?7f{PObirnHdHE0AJ2 zeSY()iQ}X%A`9@l$aut;Z+fe?UWd zi8-x*oU)-kl+_R!5Ii@m$P$9zB%7y5xo3|VCg_Utj5^+5K6FvC-*}*T7oakP+nz=3$+jsZ}Qh*yz~`0 zJxh}1hw-d)QmOxzdY9krC-s5ELDG;VH?(HuJQaKwBbfjm(MfWzznMR#_TTjROxX+x z9np-5T)J$OtD!Z(wu)IoVgSo7u?B(|GO1A04E1z>pk*{!A8_BkP`d91u*?R@)YpM7 z@$e9nPh-QE!7S!JcAjx( zulq~+q?5o0t6y5!1{Fj^5J;DwelBIL>${>JidHuMo6f7iTOPA|{}Jo;DhUK)>u z=?C|S7EFhCO5H6{-{tzQw%}=AC@Qk@O0_U6WI%7)d_r5%`KwB1!JA=hnssLN8d4*Z zV2*fIpJsT}59cOn^jQ+7|NJ{s*8UGukCTbCM34f6Vp5Ki7Sq$rb*itOvMv9*RR17 zY_EQprO|lZW!m~)ztoqL^$++KH(vW*XU8mYBf)L3s)^^(?U!9bpR|od4dS!QikF(b zT!-qJ?`yoLLVb&$mSpmwqFbSq0=tCeJ$)vHjTA8ak(Z{7cA}a?!QIn@&=GqxsJn*Py|$DsE>rOd|Au5okW?tRJnCLp91 zC!oAtPT(9_ZG*8Q|5_n-WqSLks2<-+?i~jo=8)vzJz+(o$p=HcKIZg+x87FFtCZyD z7iZ6MWWDJA2f&)e-q2gZe;PdpDyIrl`F*?!LLU2E3H3@P*oYcQj1RST8KJyGC$zFH z+~HY$LynDNFf5X*vAQwaV&QzKrn|`|col0c`>6Q42|Hq<|1}S3K3N{gKj790W^yV& zg7mz+W>5vIoxb=7%qfU=xglYqv3N>FH!~g}*Nu?j%WyPti!AGWeeKmmRiXJOhM1hm zu&vr>&#f}|r=;vd9i7%t3!yb{#H6~98CSWfp-wrU6jSAojlzUB`=-D8R@j!J4SPCj zrF4#;#yIIWe0zrV?yU+iwH!cLC%D; zsZxGE1tArcOZw2|Pz0}$E^-Q+2v)I8o{~~?%??j;kigW$n%9|3mQ+N!meiF7f~9j? zhXhUNxi7byEc{ibm~4Ti#+$rzq`?sd^e~HSs|L4o*JIv2K!95GdG(td#=mctHJcb{ z@IJ58L8d=f_3&K2%4(kXRr!G?wS<{!bWWsAH%=oBV%lkA`c^yVXHy3GB zPUZtJpnuAfAWfEa72}gJC#jzp)CUB?!ZJj&I)3~#^Rv6#{O;*Po)`y-bT_<;^?5g3 zel`UeM^<(=6}9_*T&VuW@V%1{zRTRK$%`hU|b z>2?5^BQuaVN%Pzd5BQYx9F70H@<1ARhE@i|F4RsS^q>C$|K|}#{XdWJxTD5?R(A%x zvrR;nd9Wh`S2*7iTqDw5a(^;^N9f8jU1yZE+Q`Rfx?;dl(W1>A?{iw>+IVHv^R!xF zq1r@BK`i=-sj1<6Kk5*h5dL+*v~u>>hV5-FrF#{Qvfo(L1B4cAH=`kzr?tFI?C(QS z+>vRLcnc^E^Z8`qM-MC>3qPVdp-wqKjw>>b_?t7W{jJg*vC#WYOEecc>6fbgx4f0f zg#2#LSH0=Az}i*0(y~UO^mg&qS<=&L-o({ND?Wc2^q?2hyj)#`J^x!B);*mB@@b*E zHe_F$&|RS}LN6WLei?^UsH}>z&-e$VzEqpoO~Y9-7=yqGaX1BGdxCn3I>;S{#!J%wUZ0~979c~vga1QTSY zxAV6TKiJ|0|I(wTI4CW#awS!;uq)6sdC%^{y=VZ=G3lLsMjFQSeXAoa|I;~)H)V`Y zdcSOzOE9pz7P`}sz$_~zq`_lAuR*BpF09;|t3cZ)OhM%ll?*R$73$KLtJG`ZB9r;n zLuk?L)x7>-0yX94$oC`}rwM=80?kr%YbP8$InrG0v(i`AG(9(d-rz3EZTOQ8R7gX5 z`h*kV)x;{zE2RkT^f`VGNx>_j#5wimvRqJgocR5{?6Y(Wi8FJi_p&T0Y1WKEM3IY` z%WBSyG&0Z&y{NL{;X>hm4p z7ayyMDwMkW*3vGf9z_9KqlJ5JLh13i924(jf$5$mbvjjaeIkjAtDW|@ ztCLS+Q3(DXNL)Kr=y#(uFg7)Q7GL)}4;KBEwx59&W5$q9rL!%sb#U+QkxiA(&u1<{ zZD9jlfFx7ii|J@t*J*?(=6j#&z9X9(aA`FFbMIi>g;M8tgNb*EL_7hq9plWAcxMq@tSim_XMy8BcWa1 zYP|d~3BkB?y0u}1{rW-s@AsC*8UB!(_*0UxR!wPO>s0IOAt{#aNPb5EZ^5LlNWOki zzn?`KGPHnjmaFY^gG?W;1gM-YZ^7>n4y;1iM8YIYyudK@b|)cC`p6f=S^l$(L5seEP%OBW;79T!q@UrNPF^;Q@RzHR*bc$zJy2Bxobxq>j%ah2~w<--Zs zhuuP+SLbWiEaQ_p=|lS5>bb(8yf^HBR=pFS7r4P1@&L%3@v3vCoU zQfIs+zi)(-%^7+5rx)(moc$A zr>B@*#So=;B&b~#$%Nb`z8QOHL+4oQi1+CQ~;r6Z_r-?O}FY2;)1aOq;-{y?a zZ-5$fbMQ~ctj%OBCHY&o`0x>7-GaAIVEMzTbcxihyhZLW?yJIIr&sP8J{O16DVEJ! zPcGEHpqE#rZZlTxnL= z7-WgxP0Fco`XY{l5olVs9zg%r9fEnbi7&=&qFW?nzLLzsk>eq1BwsZX9aUjN#xN=n+#}7vc8%WtMH8?pXc06BAvoQ&D z8gVQ}{;{(0U{`m4P~+t5QCXo<{e|{J;`^Kjv3@2Y?Z2#GeUb22)>h<#m8pELI_%ae zem(oJmcw|FSUH!C<`-7?f_!7vClgH=Z;lH~ThQhW%~odX9iZ1y|L*M%l>wt~gZ#4_ z3K*1%A1t*j4A2SFJ@FwTq=9j2h#sKd4Rf=0vii)`+rXF@rH?rD97@>VE zSL4ul8Ioe3y%ytsS_DSUSK#xr$yG%zrS`4lNcTP((W&BDFkxhNryF8~Rxe5_fV}Ng zL2r0-%e;n9n))djUC{z23*D_zCG%%-0gXpoogV6q52!2b#oe{ zQt#}Q(2vKVMuaY)O9M4V*zpj02Sw4B)g7H?+)T>o1EmqM;+(9xv-&j@_|}{PPeXQ6 za|NHG$^Pu83y;XWXkqRfJ4qcQbnbi}Iu(D)Wc2$4GI8d8pj)1|e1Pr`+wLe|mOzse z$ve152ce1Qk0ob(%2+i%oIoa_5b!AJhNo^++He{i`zQ*W+rgzwB9TC7GTazSx*XVa zK(tLCrVm&>&TIzEyr9$#jPm=BIaWH~wgks+XCByHYW{?>F~sbtj8vT`i;w$_W1~DB z_o3v0V&A1j9u*OR4HgZxWAnG7(Q#vc(Uhva#<$9ojMj><@%XMw2+?`i*XQ#lGy@HN zfsYw}ulF*%4tSpLGiF3w2F-`!z3G=jlZ*w`#OVM*I$&$q(O3d~%cde^xtGGh!z16r zBajneeF$ZJ=+O~-c-$g%r6SmwB>pWu417z6`t!*=br%|)B7gH;J;8xxaqmo{kRaBx zLAeg%GUdb(7VC!h2s>GRIU%EmQlBgix4hcI>xJQy+|gJFOoiK-UR$F{6=at~d%r#H zH8IfSk0~FCv@y>Q=t&Hl=UHf%RR5G5()TcdFGID$n7493WXLtJGbtX`7e#CmUo)4Bb^Y~%&!M=^<$(mgr{&HH6savIk{GF`<=t=l?# zFRS0>NYT!mU|uNJkO4Lzj*B@x@P5@TRD)Ju$Dg`edz!Gd0ABw~fpn);%tNKV+vz?? zx;6GM{CC5`l#V4#kD>6^6e^2iWY}WJjgx)L^8%7oH322yM7j z%zo8ru0rM>ko);!vqG|Xkz>XSu_WTJFub$Bpx>X`dE1q5G`fE5Op6P3>LX*?D6e+D zrO#CD$dggwvVazPP#2&4(6Z@hVK^%JG@q`V^yKL|+E;fmEmS!B@u{z3{oi_5d~@N_ zPhZofUj?yF2a4#Ijdzy+v83u<}Qb*Td+q z28y=(4Fca{-E8ebZZ|btkn(lyQh521Jk%G=YUkbPR3ulT{-97@`@(8iYa%h!{LGOQ zqU<55s}o#h!ZuKH4u`q{i`yFR$Q5Q+NRyVswV=d~8yQKeV05Cd8y<n(@qd4FtR5_$P%FHX6F_8$o*fomi&!uBV#1Ar-8V zazg*$Yo; z>U9>;VaeMR>OZyjF-jV5{fYYJhCuGh>q~ZL3o@p`Iy^R>%LFJsUn=oJa<%P;bo5oj z7%|U^m#&U3i7`DHbr1cTCyNi40STJuXBP#Fjr^P&0Qm=WxX(WUa{_Ff4F5>;CQs%0 zO(KEPjS}xnNYl@o9O7BCoVX26BO==_xDa4GRI_SJK1P@uD>Qe4CP~Nek0V6Tcm1?q zCf!A=AAtT#VQqXWOlb2zK&;rC>gxCjSi3G>#0|=Pv3*JlWmaL##H_t*)n?$?5iad# zM)0`x|5n#*K3Hu)QwVCzm|mX}mCf@w5%QyeH2Z?IquW9Q*$X~nV}$e11I^nq3GllB zn^rE{@T|3tq2;Kun4-{^dRD9h^x+c~La82SagPC;>$SvrptjhGP0$Uf1g$e?uTK5< znKyps6L688zP&Sn$v2tiG0i5QMr8#cTn@JJOM1e+j{6O?4}cH2IQJiTXt2p>;nP9F*(Aj!)opBU#o0qC)0cQb zpVfq|O3h9E7$FE^WPMF7rn<@%5uvxdSEKrTM9nB zs-%1{gyC-H)|2YvgAdXm0X@=Sp7GQPQ5zL2au+Noi#HEXj1114O}Z#{)N1HsozI&w z;iN)K-YsEai>&C!uzvsp-D+E&+Ny!oentbnh=+o9x>2)@7Me%0g$MPnL`EO{m%HprVs+o#x7kuiPnRjc1a^j7s-lS@my} zQ?qvw!sXv87a@rSnMz@TjdvTyp!X9|ElJx(qeEG3HL^wkCYHP0R10JRO5akcOkMRB zV2nH)s1P6g&|cw_rnGccO+KJx-1g>CZ&79GQwb>fpGxtS+;}VVAQ;Hkg4K!tm?~lZ zyW{d({2$;*d?d4Zbc*5TrZwrCG|ww^L7q3yUr(6Wy%B5L5psSvA;YjS&ZW8-s_&Z5 zb+cUyLb>2C?}ju7pNclB{w6nz`28BHdL1zC8+XMcPTBn>AMEdTz4_5gjs&_XQDbi= z3wtgmyIl+X+n#+v;Cm=idb1qY9=S{EgnPt-Ky&j5iU(ZhUw+k8e~sC1`h)>Eekagqk! zA9a;qv3v+A4vZ$0hI143t`16DT_;>5faf-Vv!n(EFAHJff?}*(WcyHRO-?c5u27lf ztKbLwjQ>@KPZ|j8D8}S?#|Q$0RGlVEG75+`x9ujX2kpm>p`?S1=9YGq2oY`B3uzIB zHxDYsN))sL(emI*_O*Fr|;i4J?=m~;0_pwkTVy@Lr#m;>(IZ;Q~k#)oy z1|8%twRG*rpDa@osd6d+yC|!vUvGJ0M49O4nS_Gh>R`u3$8UXpg==;~0gWADjsA&d zBLvz#N$P;A+a4j`H|Q-hbM1pWJUGAwmO8Gbsn$DPV1*`23pLLKxmcj3y=P1x(CE(% zL6go<@+9P*;Jw>;A4Au`4SxD|ktF9c$8~|B&9rZV1kq$(H8$1jF}|q6QA>qS=fS+B zK;8jiiQO4fl~^ktrIYd57_h|GVtDR}eQd~JLzzx{f+oeSVAH1PB$fh^asQ_@O1Qz+ z-Lq{w`az99QczsMXB#NL;;uMOS^3Jgj}>{lu-qwXc2b~k-JQx$JNvb9(tz|vy>)XS zmuJ)Qm`SInfdYzPFbGe+#ARp|UDv=Mq_)By{W~P-A#% z@RW$WbAprg(E1B&|GVlHFPmKp*VsjlNsDsXmhrbk&y!BztA$LDc9X0cy+D%V$14x9 z{n-UBVFb%tI8Ipdz)*+;La@f%^8t&LC!qnr6R+sPa0SMbOgK8ra@%THltn{3%gNkzM8_(*XUZ}~@~XhGV2X=DG*e`FaUNsa z<(2kIVcK^pGdi;Ob?1DVv3_nrGEV!ML#$0A^DK7X+6-Llu`LTv>#zs?;&jP1cukOt2aYv6G^`jM*p_|?tSYc5tX+R8iXJs3zlO3VT zgvRq7Y6CSgBuS;Cj(E-fc~=;9x*`swC7%tOFLNF&LxNwUCRRd=Ktz(NLW`Hpjd4}r zlDn)*BNDAPVc5M!KFfxrR>NX9g?GF_#4$W^^$C^q<7!$afDk0tcb z=GkG})< z3PT2#q>H`1JCgto?}%T_Dog)^kLdP}fD!Jl)}V>uuOk7ua`?$Y{&Wxp_V6rU zzH@Z|mhwiZ1>NUFgb;qn|BHCKOXruWeRT2phH4hz+q!#{VRh61j1kK72n7}QSbCKi z{#oQ^A{n_iyc`4ADVa%W7P&#_>E?#3s##(bBqPlctf1oCTM(K^d0t2TGy^=ix)DhV zsk4B@2nTwysK?6HddwGo#piCzUl4-IgT~W2dJ$N7%kR@gkh8k|7ZaKC0J(W!IO>L1 zBseU97d)|n^Jfm}rwRpj_H5Q*(`w)lSZIPTWi$~9d@SNlen1a^@9l81uo{oV5Y+c7 zfUYZE3PU0UD}^W^U9H??EK`5)Z<*OT9O>7(H) zdv1i_w%b+(M>bK51DebS)y#qfg5f5!Xh2rFd<>ri45ZwAZyorjLn&7EG!aU_-ipeu z5uyho_n}ODWYhABU&3~*cqcK*JYs}^^`%ASKOk%l<8DdCcIKYIzl4wun7DiP;12Xp zeeQ|1?aR^SLIC#q^XdovCvl$-t1t7=WZ&Ep*cmnCHY-g3cY<9SfdM&0Hc>tiTwjN) z@G`^{>D=%|1c{AxuFmTuQZmg3+YW3K?G;WdwH7Rt^*iW4-^rw$G~_c-7Rp|eYz#y!kAh#1~$r2P7Qv#&{x?Azzt1I1rNX{mDtkfO4h!ca-g+)0uP$=Hnc7P!!MD} zg3^lnIhKGbOux)H1&dA=2CI@aEBIpb!ly7!KU#*A zS+3yA85vW+pEvGyic-OIy~wl@N*k^h8>KH|+FTyY`usA<@Lpfgm8Ul!fKnI+m#kWR z<&GV2l*@$k^f`F=PP){WnMLtYn7>Ij8$+!B>gWF=ROw-6ETXx= zhzb5Wq8%v!50;_06 zWqEu#dyd0A9(ib|jP;#dN(ltXQFP3_9_@ zfQt5CP+Gwn(DrT*cTxh80#H9oo_#0-CzI!tzTQhTDBLk_J+DgA45Z&>xPtY6Nc(Tr zP;suPwQublya0-{%Y1!>{XVuT!d_@R>prdqhZa-x8>P>6#t0sBULRm< z+7Ew#0~OoNG-A+=hV@pr{0e{@>2ui(v2cNqC=)tsh9}Mv1b`D2?stPS;?lrxcd+F7 z1|`!)0x$_E8BzzF1!zUafrW=lw5D%4C8K#XICw!7unRyw#+L<21MMJ=iKHVV08Gw_ zrS?zjn`ND*`lH5PD*)UKq+DkH+S9t&M-vs^Q9ZC!eNh=N<2LzU;DWiR9Mef1H4G1I z4W4;gzVfl8nU>iFr@E_2Ps24AWj_Dkz@U3t*+(-2rB|I`%1y7|``n#QN*><80AgzM zJk5ec4t_w446f^Vu`=zXx6#G0q}&V`&waH`zHFXJ^V>2VV7GCXrFe@VxqGyTI9yYLc#{pd#~g+(u2}W>J=9 zM2^bdDlt)GL&eDJn|JS2h2QR4cvD?)Q(Jf8EP8Jjse67usfYLXPvWfLd#=cj`FD(K zdtFi41oLgRP2F^y@{7g|QPz*$PcbHA&iU?sLdb=bgYl1UJ=k4HHeU8wrDUeSma-EQ_8x40<)#w9qtaDN!kusyEPu*ssg~6ujvdB0XT%>V zC#n6$LCz;5cVU86=yp#9`H;1#^5<|TP6_h|jtt)gXef2@SLDxUjzo2Q1cxyeZ4okw+5} zWg|d=73kOnK}@6u0(e~q`mL+BlmCF1V}z!OC*^&ByW4v^)ef_nE`7kI6{Z(DMv!2N zMw1E2Re_r^oNtvLt^(4C(E1Hj;c$@Y;%Qg`IB!3~)y!+ii*o-16i&OeegY?;9r^Lz zD@NwQ!Vk8fo11^SVnR$m8}tlrVWL2(>sIe8e9CAiQ!PRR0elrrrV6PTsQfDK{3-5_E%1qK&|-oA5q@QC}tru!mnvVG6IY<&A{t zk2S)CP9*E9xgtS~#_+qEM^SV@to^Pg3XFMNdd{|8`SS$|6vC+aw3)@UfjZ(==Ii`j zTI2jU?<_T+gCVBTyooU2C+Y_C>Uyg2F zw|IUa=bE;yCuisKFch{AZ8v&{;k_>9PNNIv^7+Wyd0%!0{=N*IX3_E}C4+hveKL7Q z9p+IJeTAj9u)m{kU}`NHhkPzWPNWrF+h~fHc}?N4xKFy4Dv@Y0`Io!0_Z{1xk70sJ zXhWTEdDQRWRotl0JZY&fm@Ne=e5z{hmY&;8U`+{sdcBcAE=g`^cu9{?<4}!nQ3*Vc z4z$F<7>Li-jj3N^i{kiEMEZ0e^lDcRF`3VYZ*9R#U1cUS0w9NagAph}FwNP5@q>%N zv9cf{q&Xz>mePb~9uA*2Lat(2i*Ql5%>)=M<3^BAkbv}tesrjV=+?bf6XEZvGxBfy z);(k&HoQbmv)mqyEjPeAG1$xT(2qZq&o^*b)TAeO%h$`S826h&c3~22I7+H?SNN(v zjp80&J4GB!sZ34#fpJW9MtCmZ#V-JWK{k`)*8+Gf-DiK{8{WiUK#5cUPC5h1%&f@K zvf5y3aqq(^;3|POB6w{&03NXsleyq9#k|ezJ+iDFP4P+`V5?0o!8e3&6$dASWYSLx z&ZCccTVzQCpS{(eve^K$Qdu#pKTyLtybcIXf%_-bPPPEBqYeb2*uHm-o9F-H5{Mw} zDw2TGd0X+gvbm=(O0*>9B+^tOc#xV(P2lb-M*22f0PnPOpO`*?_xYk5-r6JW#F?)h zZ&Fvy-@80ak?$@9%#+9Xf6tVhG0zN-AGiu99ngW&_!9qf2VwbG7=qriz&svw{x)mll)5@FsI~*_wLQN!o=Ls%q9N)d~Z5t?POc>fNE*=YX#mISx__4BmKQ%QSb!kFtzTd z{%*{-XBwCP5?g4Ow9Wjkp{}7wxG+DX&TMN+#PRzFSeevmselGi{Xd``zByVjqc2lJ z6PkUp^enw&D}1Yd=fEtGzfX?b;%7E?@w^NgTBX|Mc@DJW8Lc} zz88!~J=x5OEp>eBrv0Hv|Dvf*3H6{KC%eW4s}&_0*1LOO=quyH%RO$c+kM*#bbaG+?)25(|oTs=UkbHWJ6ganh)#;*$n$xA%qAP|Ygm^bh+a z_NSS;-y^2q&3>^dxJ1HF!K#g9qh)XTn$r9)QAyGruVs(AQ0CbganGqZ4ZSIo$A>a1 zcZ}OwJziB!0(W%>Bo?{aXup!S#J@X+hL^~{Jc z{~r0`+!wa0RvyM5#lLI3mE`^IEf!Iq@?U{Rjo*cvS64PSUN>}9B#&KH-CD2a!GEj& z#*F;~vVVuWUI{t&25)QDD~hc{O~`j zNgfeyeOr?dy4Ex;1sP4YUNwGgh`c=GK9p3Z%xTO_?a(=CqmnwD z>Y_a~l3aNN+*L=$@(hdQ-_zr z5gD7PXkdd+dapkpLU=@B@H;&T4_J1XXBqgJR`kL{a3CT3L=>NsB3*I9>zCtemPk;5 zI;QXaJ+!xMAcRd|on%vqqdkpX!=wKZZZ4o}r$BBmEzc1n7bu*y-Yb zfRb1Q$W3HUx_VaC_~U`k`Mt9-LcT-uG~W2itGKgC$zarE%{*QE024ka*G0B9qc%3Q zmmZ1iw;jP%_x}FRucd#&S(!KGSVkr(GrQ@T`|T9ZF=B0^I#wNgBDs?~_Z6~$o%HaB zU=?M*qH7N-|JK0=o`_4pXkInt9C55dDcJ?UfnSly&BOnXy|)gktN9iMPXY-90t9ym z?j*>;;outF-QC?G1b4TCySqEV-CctRcbB}w_uX6f_j@yMs&2iRs+p@~`#ZKr)a}OMhn|Ay3%JbyL*y8%*g8PZct z3Zzq6LS(g!d*d&V*Z$7drZ%=EH%s1psgK;wQi2)7*##IfD82nefnOh9648e zt-_WU-WI=ff&;pnF^ZZ-!raA@I6}5rNCSlf2aqyc_p<*~!g467S}rHLsHm{*%Zn*T zD#H{OlKc_k^%O(Dv0i?tVVinreeugvP3$WQku2rLhYgVjV_@-+&dcQ$YkJS$tuiAd zq#;_Xj(77Vd+ z8~?i@uLhFeNypybJ?6Y1(^T9)*1c{fl^URpSC_PZ_Yrv~c;fvZwem4BUywOp>-{w> zDiMDxk*Bu5hFgjW@z4NU*Z=ga4w+1N1uqDL6^4>PspCEcXE&+ zQT;unR~%u$hyI1L|9I`3t_DcW*L_e{r?KNK^gnv>?n-QQ7lHMQ3{s1nnEg@8wr+Z0s?qauriQs7E zjrxMNwXq2Q)=Fm!f)Rgd5}Gu)2ZWgz81od}2*5}0uJi}!Fon>hH&E%)cXBrtUbC>w zAAF6EzrJp;*X^n2034SHZisaR+?WGibSVRJ#LjjY#Z#U1SSf8#&a>W&W8$pg%KV|t zkvKguVIS4z3G$O(!9nZ^p?aWh-vtWKwNi}edT!|bw2JC2=G@l8aC?<`VX~Zy4^Qr# z%GuTPiRB*v(+hen}zfd!F)T^4Qe+_h`34LSEJxP}B z6{2DOMiJzVmG}5fdmTM-W^WbqdcaBdCaI&H^0f%9y@2O8PZQ#Zz9g>qFyH+QU0ugc zwwHsal;?z}9ey%Y7nY6$;hx-n&qA{LnB?e$uQDF#yaGk2@9&XObqUsm1o)t>#xV&7 zHeh-)OKA?_63copXhV}ael~fWdhL3mKzJ5O{ZRfc0EnIN_h;DW0BQH=R65dckN74S^_6={tE9S7(@zK)pLZ{bc>8-xnfJ*V1DdmC=a} zL9Qe(ZvFR@+mZJN8EFJve8-z#;y`=FUJmJ^klnQCe)5QvV2$`*;Ki+APwf9#%k?jS zNM)3}O9%g_g9?&$Zf%%#06xjC_MeXK|!+qbngxM z*KkPEhWwKJ{d^)t&;_I)eLW5i1HkGBo{+YlOywf;y5~E@m4$%0t zTh0s?Y%c7#e6J5d$t$r^z4w90jT2M6U-ua08iPl{Z{XKx)_>uPdYeTWC3>&d_XM&% zO<9-~(~{!44HNDuUE>a{ONrhh4CJC7N};W2_EHCzU`rH*ITm=EA*rqGHohjHI+(II zBZN!7bCJh)fGy^XrS8WW#Es`tP@Bk2<;(ROo0mDlwVX#4 zhybS1+Z^ds_7%jd0jdkUEqn!K(i6Tmc?HQ}A|2~KAN&P^4}5L?7wBF0YwO5Y(A)p5 zj?K+}ecX-G2z<18?XK$i01oN(3aanFEd;zQzYfy^GR%Jp|F02J%nB}yh8+dyw&##a zi8G+BAE#8@|Atsdg6ge0_OhOSzbryNBdnNW{Lhc9k~W0C*V_y-^V(8vE`HSAZE ztTg{>dio6|F=nmCwR>Is74z?#Ox-=!G6H+Ii8ud|Ld%V;;LT{cyG<|?xVug6HIzXi zakrUVE<+Bi|IekSWt;>|5JjHk$$`QA=e%b#NhpZ#5RoNq$Wv=O$_P!p)c`zGFSVX| zujgcmhsm47>&*XOS7|6?9)s8}Nm}az*C{`gXfG&huP_6=bv3;KB&-?KKQ;b8 zj*r4s6)}?q+YrD(D+$T~ukMVGwy1Yk(b?W@h4<;fAHX>?pyRCAgY)@t{qdpWNs{ni zGXVLHJN?Y%J{%_Jy8+N0xCE)Y3{haP`H7TpL-SJ}wm?$C>XC`iSwr_2yZQLz9i+V^ z~C>g>$QD;B`6}jEMyj1)Fpo;u^Rut+5T{_Ua&HWF+Tlo(l zIOpH95E}dk{100GlREw(hyT~F5{R(IUw&i!6ymUHefAGv(*zQ-?B5C?e0YUB=g0Yu z+iUMTFyyQAFS&oq`~&(|)ciX(ezlXiNJyT|VCeOa@wg3WkLq}xtmp&Wz<^D93Kw)} z7eabzbg??I^S<@RZKV+Ec|65|jyfxdySI$n&b*hI7Mj$8=QAo*gj{B`2EQ#k$Yi}O z6)Dt+PN0D(|AgeB4H|Sk$Ti{GzZ}26v1uBDz=?~dgE5W1J?vaLAAWLJke2*WmvEu~ z4C!AMmZEWYNxTbp@HdPf> zk2^z2*#GT^F`-KXQUMxcKaQ@ax#&O+bCU84UJ>+_9S&hG@GGa@!fXt24s z^SbmSxtw=ZUSE(*-{aNQVEh4;2UMNbKEk_tNq8qt+m?e>z%eVqvLT-(Xhhg9K<8V^ zza}j-?Is{knN&xWqY>tC(4{D1o2c!ynP_;vGVSM`<`nckt$t!UqJdx$*imyr7 zf!fU~o=Ct_w%ZNQH|Aq1PXdQ`IO2Y&1noFeNGj?tkHD{I^$i)!=Xd_|XP8y_ z-_lVh#?>KlK05-+`F@=uRNf!wQY;C`UE=YtzPxjX1!l(HiF7k$^_Ko@A^bYi?Cs~l z;KWkrm(?#vZlNrNOQ>XDTW`#*rqP12zVQbT$fH+Z4S;#NHZyGSX=NgUCri!HW-lpk zCs!!IJ^DsZ3SA=wu`$1o^E8SWDAdmz)&*@cLhlWKl2j&5rZq&53tKBfRP+iL= zCBarj>ks-ee%}8F;MFVYxP0^$A9T7<-lZVZy$S!z>&hFlaCttrk0TI(R?t55!V|Q4 zXusQnknKASNwwpSV9=?LLX3f!O0px(5BBBPRcu*aU{B?_^A!kYBvdbww8(KA+tDv2P>DEEVDsLVaXgIXj8{tk0xv*s`j!Fqrot6s2 zX%V`exYEmLsZ3&R0T+6Jj9WsTpq{rh(CzWW@3enu6w3b&KzKiq>Wc76((zpECemN= zyj#uVcatEd3EyeC=qh*5c9Qn3)^8_^nM`2IE`Iu4mlYYQ6r6)PrI84_db9Xfm?4@2 zX&#)GYpD0r35Fr+piXW-&JPp;IiQ2={w)b4zmdSC4z(%lcz5@4ZGJ66O_<@0_d=vX z53?9&j}-3-=W1Uj%4UN%`nxx-o!?|{9jaBiDE0WXLl$s*xV|!D57|jar){@0U4d`y z9N~d9WMYHP-xV*I3Bw!0eZN2g=0gz%mB|)IO7j-+GpON5_-w$#ACu#TCc%py#t1~q zue%6{H-uF-=tka*8qzuemFni{9x)2#ci11(aE5?n`hDC7KNfhUX)?^N*2oL&(6KNO z<1H$glE!%1c3b;<%`jwrG_lO83o{tv&CD>W?0jfJWRr zr3@t6(B`X^ezNJFJ@@Nfpi0Ep8_Nec_AuH=mbnn!Z^GUQu$x^<_hYoxaKf^tnogId$WUS0o5P- zon*|Mm>rGERZC-lpZ*MMt3xWj*bSBD3Vkas6Lv#ZWK1D!kAhkAy?WTorLjeH!xuPt_3hit?eI1j@dA5bQDjr@n;j!#D>3GlyIzB_fg?7CJ{WN+D0?|oX1oEU zHs=l`V)rsHl~`<(BxN3wI}2N{3vNX&ZjvvwP;kjytR#`?l64#IABNQMgDI>25!v|DtvX`57`4{?XHdZw9{K|Q7-4Dq`Api0>IbA!NAb78rhVO3J~%RPU{ z8n&o>glJLE5r-h>N(YcC%4ezxBdve}WDXSnUW(O&avyPo|XU1XbFxS5VKe&(OEA;@sHa;?1%` zj1aDh6wYYcg5P(#=5OK2@#{zF7C(uE%#q8{^^Rlra;!od36Y}U)|rGYh`Ruz?T4=) zl)?5SUAw=L#nlijX%FAA}y1|e$Sof+Hd6k zwu8$6{kx;fbk`7yt=#EkBn1~EGv!RkRKSxE>wU5H;t3f|LT-!n7qSnfMHR%xB)aH? zDq*!iuaoV{q@is%ReERvA9;572CC(RZTOO)F<9VF^Go<}#cljiC&Q3S>w)d!lSsj{ zn@pmK<9Y0^hp7X%;z49-+U?s>5fD&IoAKCWW#?p@3>RH^A)ryl8|TWf3ikKX47Xna zRM6lvO}B^oORZ9q!F}9FRZ8}{uh+w~kf&zRp&CJ=w-q>kwG~tDN3?4z$_H$~i{e3! ze{BP~m_ve6FhUcCv8`<6YO3S2dE~5z*spU-J7RZiw2srt_pI)7GrFU6PULc8I9hn~ zS8e=1=>lUa>7n(*3(^_xW{>qwMW^YH)gCsn43q1-cO5AT(92ZZsas2QsVHz0%C@Jr z8lsRs3t26%yy-$6^Hw9_KzS|~#K^IlZzOVahMwn&ZBiBpUkmBgWn3m)M}RPNB#}tY zi^9~5Z_2mu2(46ZjjhKU=JH3Jh3UqFxNzN>6ERuq8HWwLoNN<9GxE*YfTvKs9QT-D zw?Vt1&ces-boPFY=^6?!d3{m2iJRn3!%f;wD<%rmHa16;3mcFbe3FPp!?e~zVrUG* z&3_H@r(w7xmSj?%zE07uGi|Wd_?gzS#SXD%sSWu{b@@Lpql%3)mUO~KX{ZM#IFd)Q z)+nZj5WPOW!tvmvY8DpzwY*UhLw;!+0`fXl7SXSs#aB3O@qKTZN8> z%l`d2%onUS(Lsi-5kH?M zT0JUyT`HlqGc+n0gjk7q7**Y*h37~*(sgf!^Gz@@ZgmV%PrI~jHmnR|Tf3QM?uZeu z#cw`x^Y2@d60GP6jspOZV^+z&*D@IlS|mhv2{OM@oaf^W-H>%g zAd^%_aEp{v525ww;Kh8v!lzCM3nU$U+owm{`xa4x0U*O)t3FdCX9LSEsZRWmbX%WS zF})k<rSBDq7*W`F2=tRyP z5@75!i~$?I)fnFuzbJb-K$jW%iyRqxsPIrW4(xJ2ani!-T<#1Qllm}H3u3+D=y(G{ z<4UoAOkgYb;D26z*USxiLFxZ;(FL=m)E_D}M)wn>cER02!f|g%47w9Him$(ileRL2 z3EqV+;V&S#X6z9c-`a_pAUPKtkH463gDbJ$G>=gQ$iU=@%we+_D$eFd*#LkPH{m^S zq@BBga&j|fEKuc|)!XP$`?4Lur#f%=YMLoA7=ZpfV))Wqoipe`%q2XrldxE4SAZ^47ToZ zr`yC>GuMDiEnT<8w#Hj~tvMKdY%2wBs$tE}KqNPT=@5Rs3XNI6s3Mp;Qw#y2f%P3y zXS90ui*?XiS#&6dce6R820-JC0?b+Ei_-QX@GqK+0B-Wq`dOxG4WA zzm{$>B4*~3OR-&6xF|4Ab6a1IWhU<<0_o!5p&F+et-Io8ofDIvTOvss{?~r=47(xn zdmD3q8eGK&%Da53t8CZqkFwP1$3eTd7BW$9Kb&fW|6VO5EOTp;pA%t@UfMr6G(;)4 zd58Hf>4Jt@{Ccsp9hLklKFmk)h=frh;(A|l5gC81D92!$Z0|+2;iBT*x%I=OG=;Og zm&rJ8tArQgx5^m7C@LbT!paoX&Rb8n6-p5}vZ2%V$?g6r?upYe z?~$pZMTcx)w1=8kz4~tZSeh-@GH^IM@kH~!e~#`~a}6iY!AV%Kac-4x0%O!zTe_Rv zhvjh}9nfLFq*jhNnZ_qq~J|RfC zWJfCxy=7br{o$24*O#SVD74vl&1ueO3$K=h_2F$i=^od0o^4^R-OUU9Y)4J`QEmXU zDLqs$4?oK(MZ`0b+kQsZhP8w9MP@P`t82t0B?UJkAgfZ=q-Zk(Y5jnJY|0T=MNY*s zI!5T;j?vv}3mt#mcQ^f3wNX)q;(J-C!Bg?k*Zw8HpMAR>e$0<$U-&|%PTrtZo!K^| zgBHskViJA|LH+f`cx%IGPJP;=W|?K^{(YoPk-ZlKM>6?%i}MS`h{`(jFXNCr+b!K% ztnB_KW=*OlI;1LE7I6`8N0mRjfH#%-}mI#;@9zxD0-3Be+55fn4i>7MV<@s5P z^^$8WTyrx8lc}@&rX%5IH1<*djn5AxJVQh$9Gwl-{m+U?m^>{bxV)rah}R6^QF!HL zTUd1TOLL!9J9kPFTIR`{zfeUTkE5e{B7$Y=OZTkm?1IU)ce&Ed@-uk!Oc$=XJk2>( z>aXcn4)xf2OkDfK%Jo&x(TZ^TNVikZ6|q9>CIWe9t#)VIXAG%x-nMn~pF7yW9+xMf z*q~oN9V#4WMbd3L0e(Q-`ORYg&!?Y%JM(O-g`$Bm@N>9uMlZL+VFpndbX2N;0k{FZ za`92CJO(D^QO3b!f(Skhr#E9FmqqJ>>8ha|`D+W*lx=fA#PZ8YexuY_Mt6pigui4w zd&~q1%Cy|lh~N-Fg>8d1=JaJIhQ+Y;O!_7kp;GZa&O{in0fc20!lIl}p91-o8rlOG z!xyz^n1Dx@{n&bin$>PbWqd6bzP?QWyeqa|A$AJ#C@K1Z2#wq~G8D->{-lpy=u!fY zrKpoN8J&@b>cGtGAe`UHia#ob8liL!8}Qv{?M?#`OPZ=Cd7;kGV}W6`tl_N=qeOi! zo4Hfl(c6r-yDiet`0b<*J>6I3Zhrt!)F2d2JO2zCd0N_%Sgm)OV+)L;tNPqL`f{bN zoZ;WnGDAaJsMiW3cjfqsqZ|9g27#aENJrI_=-&UrQ-}m56U=Re%yGW?$j`d~MQz%^ za@vYtfIj&yD>Wf^lAL6(&Ug(fRVnTkt)5yannG>yhiuI|b1tdw{BKc-?11U*TFW+? zA53Bk>+!Y1Ri&1rk~fW8TQ(K^0pQeY5>Ht28IqH(65KetF`B#?Mj7ICml2eAT*tsc zm0xDa37~#3QL$0N!j+3LA6&bTIFM8c3b-q^rx)C0`Z*f%bsHeI*ljHa(y4w;Wv0cQ zY=A@^J9ceA)q2vdjWH%Gwfy+*P~)YJ_%fhEs^V;n%AC|LR+MQj3k7PewLVguHhrC3 z=y0yN1o#eyJR5xL&zN6fR1=USej8gg_Plt@sdPR@T3vn!`&G@eU}gp_ewqt^V`eyC;IBU+t*&(aFmfczHKy zHg-TGXbB64C`?stajMP9#_YfyGUb0{Iyv;F*G3_C`-(|g&TcY#E*T>C9_{e+M=w(MYHdx9_m7!|!Ic|)8^F={SJj&9? zIm&H9wY|&^H%-Npd;^UlE78rEUeOjA81z*|_tHMjG=mUOjnVkih4qd$k4wX|Ne=0f zHwl;XBHbP5>6aPhDFULIGKXic@o$f4f*M5jBw{sKpLN{Q&3{uV#NltcPOD+nn1R(L zi!%{_^h#tMkU^F61k{{P%T`YxpPU@UKsOp9CnV{^%ulsp>905oBeKroGPp1lOmDPp zni9ecD`7!3jSDDRdWacsAgB+tMTMGvkl9K_o(^f+;;9lhEejkTm}WkDA*IjpEa0;= z$mXoG(^6&mRT9T`y&tVietv}f2Vn88o~)FFQ6ynghhwufU0%vwLg4)4gWu%xx@xHE zj-ND^@(Q-}bur3apSyYJpp}K9!?IXwGKDISj;GV4?j<9QH|~n0MZ=yXeEuj^z?wBv zqQx&m_mAh|UPSwAHj!2!8_nu-@RdeBCV%A?%^qQo%2>M5@Vc##;+SxB2SO*? zMzlIWilh6@*JvdMUwVxhBJey;+SK_F%ZV zseHOB5MfUc^eJnyfh2lDjrAu_liVweLfsx+HMWNCD)H0G4WILW^}3K}TG|oP#(T#( z7aZk^%n_}G12b{0UXXZAW6a)2pJV`TjwKcu9$o4(?|>o*mv|v7b*=XaqADd3eDb4) zY|HYZLk|SL8|$CS9_U(+AJ5o85QgvJyolzfL}n{ng-F^`G{t29e__VGfgGyT%l8cw z2zF}>&&g9Tjz&}6m*y*10IfsMkNUkV9Q(VxCpAosy@>izs8wg zF~;$RawRi+K-2?mygBq4`4vqot}kbivI?04j(TQlCF-HnE4dqDUQiwa$ zRotB2-YCa6>I-W^G%cS(KldMMvOba5XP6jZ#3o@#(~iL%ukOzSJsKF|rVK!5>5D;O z)v6k~7Fa#%)~8?HKhE5&0c)DmK1-OkZi+e#J$-lPnjH9I5-xq5F%w z-weMKs^RcUed`W;?;84}6c%9Iv|0K#$k$11K{YV{z3p`wM$eFv!5pS+XCk7k512Sh zY+TB_Ob9Q!NVYCQ|I5!_A-0Rb_6>HHQb9FrCGu!LFB4KK(u@fu_lAV-@5AW<4R#YU zZAToG69*_v?-pv%KSVK&!Vc_YQ!@R)g=1sCE)ChW2r%(-1QcE(y>WNS{E18-+RAMF zE*OhzGumT`27_n(t;W4JkFqO?3#tG96(j~bJa`TCNnMP{;1d1|H=y5ptf~yRH}_NF zN%FxGA{bm&*vzI#KkPFu5H`=x1+?HD#yKzWkITL0)aOQpM9;oS8nD1AW@Z*>@DifZ z#V@lLRWyx~-uP{>kvc1|G3)@bc#MZfvZQCFH@1_{;|;y_=X;Jv?LYuqr8UQonDAvr zu|j=ooZKOe+*imU4YDJ_K`TNgHEK#zTj`As`((Di$}JYF#Hh`uopJr)}M#$5ePexR*jkeHvM9AS#S=EHvCy` z0s5LEkKzZy;Me0Lq!+K4~g{g-IKcYsOWR& zzLx&XsoB8#wDAZpxQcFEenB}IM^XWIA%tedH{Gmu~YR0OU@;kvr3f+rqo8gj(6g^Y54NY9S2(I5CdR6E2pmy{1&Jx~B8gmwrWw6Uu zsZt+I0BhyRcA1;hbCzm7=F)?;FDn8RAouS6DBYr3ddoJhiT3E6#0wd zWn`%LT*x$KAg%EQW4|@Zyl?y2L&!tCLw=%Cs9X|8I-45u_&XKf`*W=$c8e3&qYCR^ zo;c{5m7;{SnxWeRxWyR|3u15Re!3Dq@|q%!K%@`G{JJFh>xuWfdG+*y^z98w9MDcx zT2iM3Om;mmY}{uI56Tp|{ift)*6y~H&)q00mHi|zzysYZ!V-xVrj*-=bkJMVz^i$}_T`o#p^=OWAyK=cgYE}D`Hi0Oaxpx002 znfkBJZudf)lMTO>h0*=~PC4bL5-Uz=VvMFHGYTk~EPZ3U#w|MRrB*XC9&Qb;%2Jrq z*WU3)W&2XD=j(-HO{!1W^c`cnpfO{A62G zcZ>6eL?<*hn3G>R$op#bPDO@>?{W>|0)XKXj-Nlu+U7?0-IcFNl;95NhHpFRUSyJ{ zdzRqJPHAmPrCHFPDh-nQD{!!gtzJeIr0S!aF7);tgRAb;`ZT2_V%Q8_M&w*0tD>xA zSkBy(EX)1820F{exSr>2X%S2HR>yGfI^fuSW99h|yVW$;Z|oPAH17Ei4N@j&{QEoD z%8)*pFeFwn&x ztGsTsKKg9Uou{5m#7FF8otWw#(%4d|aB}sPZZkr?&qxoOMAkQT4}EOJAYz9lk+zL@ z%wExMm6LcR5drsoQZ!X3x9euHSh3iJ5795=tD?z38g*p4xw$2kdS!}TZnF`!5dTi{ ztRqbzfgVf?v7wCc$R5^y>TSMf)ks(vpW+GT)ou3n1yL{)R9l37C$zoNlw~(_N((hZ zt>Y(6X6qvwwPCr%0D<*raF=Z}2MG;RZvBk-QL|4FwVmx;n?(0Rm)YE#3$B@sz=}2@ zOk=&0a+6D(D`mcc|6=E&rfzl06o6tZGBR>JY_C|Ec=2ij**kNqpHv<*fRWGU(f5f>)PsysM`urDf`StES zecekt=++!ubJkZtEMiVp*D8}YtbrSTZw!;|vsA`OLV;V&i3DpVw$UanorawsOCT1b zXn5dt0_fiY10z4KHUzg%!wuBO@K;p^&j4)rNReab>#2&&@W9x&Uq=f}%XG<7#Zidc zT|5%Erty?f9f>fyR>f1xK{(A|Qgd<4wt*=sf^mX(Gs-`IPO zIXET5X3LW>?DD0}^LWiT1C&lg2DxF!)>F&XCIC*m{uiSo#gqGJF-=hDJ`BrkM+j@NPNT@>vx(pmI)$tH}3BRP!k)tI<_lw+hxej}=FBkH!{h>AEOQW-9SA&Cqo4 z;KU-tRMzn+i)jDPf0__vqDisF8KQfQcofn3bTFewWlhQJfTflr=S55-joA0<*yOb+ zL!u{7Ju&=Y>>rU9`*&c(#v*m4D8^(9yf8FF2a$4A1fTl>l zrCPyMXebOM>D}wCq_@{qFN}$4NQnBhSzd5@1mdO?Ox0c^aNttNVn>}u#vI407J*Fl zRxrs%nvnID_^hLyBHWcU#?#RV%dAP*%Eb3Q0eqAp(fzF9%?4~d{#c!1P`bQ-3Q?9v7?VG zwhPOJG;^;DPWB}N>KmX1v7(!*UCYMFAVO7rY|eUfhxnlM4_JEH>QE~a8{|B?>x&0& zGbsC^GW*Ox#+-d>cW}uKup!Npnhc%>5~gy2#Z@50>QjgKbT(0_jjS$6{4(RyCnNn+ zac>mF0HtIcu_D2Ouyi3e|M*l1xHArAuKl8MxefBzD*P3OidFPz8^mrcNi#E`C2DhA zN<;x!=~sSUZu7K@%zeMobKZ98V-}qn`&URW5n4L(5Lr44PX1U;+BZx#K?UsOYe8_DvQ*moO=oyG<1x`{u*_Ht}$yrqetzW!jnN)$+5Al;@l z${j&vrJ=CW)GO19D`a)UsGfAPU?Gpgn?pL!6%mvKPR}FN@v|}oTNTg{uCY#Kd}%h? zUJ0*pZfA;Js;pSJ$tD}tqtwoGbmKJ&m(&fq6VE&*$;LR*9q1SD>F{eg?zQO`c9dL2 zs-JF`Zc#>A5au}+%w0xPjG*WhFx-cj6}Wy|87KM!Fqxmwd4U=&JFjM%OXP{4Ga?su zJ(dKi=`dk4XWEAtBxJEEJt!VByo7Ndx?q1Z$SISJ(~Dc!k3x|IR&yURTLkEbU6HVUle zJ@Oadlqm{QNJh0?MC2-1I^&fL7COpL#uWjJ(#V=?VmRl#@;<3Rj=9C~Nx!WH;#j-L zX`*}W)%+*HJ1J$()Bb5=rb7okpBNCvz2aS!ow3VQDXZR6S_z5E3T!JGUg5X;e|}J; zL36!U>D;#3SF7+(?g%DG)5nsqN-F`+jU8sbvzfdb17~~)<#?}wvv{`KW3ffvOno$B z`XqW-zAc}>;yq9PBHV8B%H!8$ckU+nX!X0{*J*o)thSI#!K0Km_I~}1Imyo(=LA7a zI=H9OCU&iY^!WXp0Aae0AP@cvGx=Orc!Y!IMQoTMeD^Qq!rs(YHAO#R0<#jjRl%DE z$r!gIO(tFS?9h=dcZv%`Crc?051Q*9oDq^hq3&9pP4=*s0N3u@a%su4{34`)(+rvK zQHo(^xODMY`#vjPz%rcrTa`VG)v?Wup0K->LY!CB%jO)vr**1k44UhRH;fvS`|#8o&TUfxW|sPj z5D^`&;7mD1Ez5h+TolZE-|te=dE6i7y05uKdVlu#wfo0KMJRKiZY1Y~*uO)`lb;PWU zgy#(u9_p#4>p9-ri=~MrP0#F2CgT2D14=g1%TobmJVQ&^_17EC!sv5s7+CSGuN`^cdRNz(LixzhS;uVFl|C0DJswE=r8kpS^aB&U!)WQlCI~0Q*>RGudnA(wJ_*%n~2bY%q@g0Ff68tQ@cNZjzN&%O>WUIcBTKoE@xhQ zcGJi_d{-bm+Uf^`y{`f^)z}Z+4Ug3PVUP};zzD}SK%84P#+&`OA2B$}w+RJB%lk@} zwwwSMzI3q)iaE!7M~V6bWwzhN9B*V^58B3#QA{axW-^Xlppj`j(; zu7*0<$^RlgheR~!or^q$=utW~B|X^}hQjanrj;)nBlmp_k8#%D-SSb2pG=8Q&avJS zmUxuVLe-hnY;B&zMS|=;8@V@|mn=;#d%qb%1 z%cno&FBZz@sRByh!%|Er(v28a)pN*-X8tD)TzH3TA2^KP8vOw*QbG;XVJf7rreucA zX~+@xC&)JQzlSp3IdLrs<&W`1z!eD-&fAm4(ky<{r%pj$zNooeo;l3f|HEBW0;zCc zR(`_?kB1DRn|`u4Gr%fZN%N6Ge<;F}`v5n;?qvaFV8nnGIU>wCk-N;lBcaWdo*)^u8)SxyzI)b@i%bTaHhHL2{WUF+rb)waA*6a5&9 zE)8>Aiqq^%T#l6yg**BQ8S)@Jb73)*m7FUm(5(V(VwW90yALyIj1_g<>e|{?HH?ve zGSi9o@*`XSO8?!t?EP7-mb&F4Y3^H?&w#IHRw3eo@{G^Ln*OS+I_SSmc?*rs7g0oJ zj3BoD(BFv84PyzCU*gB*Hw??h-D~H|T#=}YVA|AP)@v!=Dn1>CD^)Yww4g}3O$vV- zzMqB(qP-k}q&HnV62jkrE&NTF)0f50JVXspup901jOC>YRO@=t^AP`5=&~8I&Z&$) z6r4-bqzo(v^|sxXXmzZ1la`*u7gkI;nm=@k)!8!}8@VY{6(vLuk{2`DIUCd&$kvl{ z#ycJ$INhk_zK8;F#&T+!95zN&m?RnQTV^mN>%Vk07T^x;S?I-7vuWyC&a>_LDwZLg zR=-D@YMG0!>bf;p3S-ppr)I}Dr)I<6g+;sG1-rq>^Q(Mgnfhp3U*!;;CQh{OsKA4v zeiywqBpUkNO;G|%%e-3rT!Th%3>>I#ZIVr&R-Cp|`LnZ>gwT}{n-973vEZU;OL+xx zS}UG4Yn*hrupeFgT=nw1qytN-zOg;Aglg~xf--n)ClMaI+?mYY5mO&$Pp~6?@KdUs zx(VyR`oZ}%P-}{XaXbD7m_1cquj5asR643QCZPlGGoCdnNSeZIx=`>ofto>cHyj04 z0neeZr|fOQp3n|aWP|uXb1?LJxQ)twlh+d4Q?qK!*MRt_lX0f=SpN=3d}zlV6z@_C zi0=PO*iu)Vo-r(s zy)5i#sI7x|H_3h4e`I$;bh(ANU;4ljpXylz;wW(4L|}9FIlR8;*2>uLBcgk^h70e^CK`IE+Y?QtQZJn76)3Qebkee z6|4AN=shcLa)YkIQ9G%2*rR3<9Hbk?aAK=S3nZ&+lL#}0VJp)Y7pG?=8fA5GJimKb zC0VeH+*6&`qOVTAeNLo1F-P~0ac(LpP5)i)A#LQn)9cLvCd3p%dMIJm?n~)zXhA7# zCWd%Tq@8TlBg376gzUS>fM{r!q0jr}9Zj>_GTE6l{91qg%ThFZA)jKlC5U$i2J z8D2)VVq}`m+}8{waiR!So-&NtMFZn4>gLJ;F76IhF7Il(&ebJpqkRdJ(EAtdTW`2| z%$)Rgg=@@lJSzhG3INMSBx@m6$6M3*CBz^cbxjjzjyR=pMqXiA7;Z*;N&3tkePi)i z+G|`+>>R}ivEu}jO_F$i7;)p9_Jm=VKEdABADm$o!duwSl%mcw-J6yumkN#3-58A_ zOuJTo$4l%a&eB~e_M0H2{RaiivYqD`rRj_n$E4QmLa3`)x=o9Wr(o?laMdR(O97v$_&god~7b&*$#cHnK+n$GQJESsk z;OhG^?Cl6qeRWf=WUg8$Q|`uB>Co8vaDmH@m41XNQs?R;F^1VksC%XKtPL@#f&$I` zu1Wp6u)ayDQocbL5||2f$+|2CakY5EGZOJ!+`2a-r3Y`8Miv)DZw5=?f8G0fmagqS zut<|NEuixPkk{Mjb#4q8?~K(_#5vqoOpia>-%soiW@I?wrYBvMhtNn=9FdreLo1UL z`((lBr9*r;OUC8s)1P*WJd$_eni5@>DsNxL+A;KfAZ{8}@7lG*fybs-yx|lhLEnxY z!<;Y*q`{dia2h9>rKNWm?h7!WEQ#_%gdH<$W#V!2m;QnmVP|e0-nE4Gg)G+Iw@$zq z3*W2mQ`-5b&LQIrjWC6kF4>kD8zV)nH{Aw%`ym$Aq$X%OpK?DsJWSf`H2SPlO7UoH zBi{GEH_}`Fj+`gZw93?o-*|p4M%;Z>%reV@fb6|7gfq^3oGB{dLA!0 zp-Wgyy*vo`%!A+At9Lg@-mJ$5L)A%?j#Z0a@Yo@V(-qPEwrddl3S#(qtZLVjd6olo zBHqz~<5Ae+iLc2$JT)fHEx!<%Mv!G&SwrDm<@hbe%;E3XuGnKhm>3o*aI7_&b;xi~ zPenvz2!+^wjh5b;Q-Rx`G?!h^4&l`Q2ZI8d94yKFp1$UlNn}PbaW!ydR72TCML1@` zI@(g9UB)gE5BGI9KEhh5W;)+V`O;9IFitgt0(<V>fb=7?-W%Z3pIyLax#QjTL`I`zJWX_Vx2H4ryDgf~{JgZcqY~DG!GuujbHeZqpgN}L@5~2ul$n!|Tn^M4q0WM(nx;cHVWZ|iUatZxr zJgk~XkWwNfEKx)+c7?+wk|*37kOVrdks@FTUR*2r>Kzr-f51gGd|Rmwl7M}bRQ+C`Vf$J4Bpxx`mDj*6;Jp+`sqHrk!T@c7E3{{q|_~aqK&>r&+!~^7AMC^l67xyeIxXAO89@ zy_|am*n;}yzvZ+40N+NfLo2@w#QjZ7l1o9OPT7v&GhLRG=7e6g$%yz(Y3^_Dlt<9? ztc#YF=D^4quRc5KZp|BSGt2KyxH5%28dgPWd9R9`o7uN@*<3E4;r&BZk=h8qb{m&& z1$$H~Mx8!paJV_n$mlJ63nu(rvV|Ux%{os9+WG2`+zt=T#_G@Ot;UW>AK}I+{c-je)x5}$f@dn;TdbV$N2ODf!n%Y=!C^v2P#9#^ z)bVh8nM#C~#yrqHzVvh|!>BcG+aG6K`d6g~eU3S;N>>MKkUQ0WO+>dUI{*fe*A*5m z5U|ffO8_2f{b`K#{V?Xv-FpQU+i64O72x7GJt{jBUZ0o@RqHW`tCZ8JhvOLvX`OM+ zd2zaJ=MF|I(ZVm?oYlS|vffH?3larF*H8W9T_$${aNdTIrhIicpiPZ3$VUOF{quhV z9D7!Yq5#J^AL^X`6&IIt+8IA8Igp7KE0TDEPs*D5eeA9B+sXM+&lS`x*!0o$0Kom4 zPs+6|bPZbIe(KSP_c*MoSEiNjR3h84boe`7BX`+9@!?Q^!X>Y6Kj>}xR!bR3rwJ{_ zH-&Yy+6k-Yx$CS}U&)H6-j|Sv6wc zgMRw`MSV4{_+IB%@kN%Pms3Fvybd!An;5=9P<=;Q=}yNxS2_EChuX5e%=a3Im9+rr za~M#&0pvDw^AUmh)$MOW*R@>|8zr-j7PFCjqXocIB7uy9{54$2jz?=7SGpa>tKk^* z>0U@KgkWx#P2>^kM_P|h@W1wVhHrG(nFQA-KGNG!@~x82(A!3#gP9IS3CClOl&&`xU7y1mp0P7a zevsRF7RCq?C)^nJZ>JSb*T7d|;=)^pPnnF@p<9NOXKQ==(abJKdzcdFw_X|3?Wf+J zWu?KEL`=S6vT^Z!fJZ;(}OGca_q4f)W>K&&s{Y1XVSCNsHyshF=xke`#sf z(A`NaQ*RPTmPEGYY+$Z_QSV($juS|@eMaFtwG3WZ&M?2@Qq_x#x;VM!zHJubO+6%r z%IxzgDY zE}>Otbd{Z7Bd$+>YGvid@_DT4MV**=E>iffN0G%rj(Hr?9mj*lD$EBe zeML37GT4qsP}v89Y6p{hoOK?(=wm~RWqmVR5V*Lu4nF#ItmJD4sn+;oS(3`~+UGo@ z1#hK$?YzrzZyd;eS5QSvH?gH%lO>|8z$l;siU2E+@!qTUZ8+K^?J_B6Z$+kyg1nL8 zb6&Lbuv7A9k9utPW(Wue9fd({m2B6*&ZOY4y@@1sR|MiU25}0*U}bO(VIc z2RpCbByu4KqMG2FUDV|JRN0kdx(p%oTy)3a4MS<}QjDVRj(+P@iWRtlWtrPxZ!pQ6 z@-y@`ay?a7Ly?TG(v>(&k};EA6c)D&>Us8|B(vQpXh=fAn1R>Ys>-phKvnZuk6%i1 zcV;)%x#mcRK1=|%W&*ZsjXAGF_P5!6X8|# zOW|0ecLB0V&3Y2BVU;-*ms=9hv{MjKKm~a}#;^4{XZy2%?34lI8j&kKvjc(<;&@Dq>B*VHNIJ48_&w8cR`*%oj?0U)^?Fq^55Q*Bk&!m-$8pf zayHZ_Y0I(sbDU2A-Kt_mX5;QwlW?t0ME4%+$9&vK_eA|8$Wrl zChXOC?xnZFu72<*o}hN2?pGz%hZzPx)&A(F!nx-e%|zF1L!@d@61?u`12m-UH33BA zw9HqT20GA~6_lB*BVpb6ux=rEMJ}V+njmeWzQyLOAVLjic?ZbqkyG9FK~i@{%L! zO>+{i6dzjJ8v!l6Zg~;6CyMPidl>1_^`sKGn_H3fw z3%Ub7a{g4$_(QHU{Y4f7|@2?cqd@BF@qdJu5G*rtF8y6t8m(+L&Z3)C1P9*+f{A zU2=r1W9?#S!vhBgjAyQEveRziw?$b6RGm65F~@J{zOmsPZqG9z&K>$e87 zroMpOU^gR@JJ&12&h|D{;Po^u^-E7HJMsrp#YcClT7)@lah_>=3GHJ2v^O~$`Lx-t z8dpV-?_x!7Z@bZKBUy7+9=O%;1^;zs;V(gMMd0r z+nQsr&lLp_us8;$(_>k67$akaX#hW+H?c?2dS{011+*u3@Q(G<+35DsAPRq4@*M>? zcFu)XQP7@U9^JV=&X_G>g>Vf^!$LcaR+DEH@dTpjV`=YRRbq=Z^g;Pj<3CE;j8cP0 ziOIQYdjuLTk0rch+eA*$PC5pa+R{JDxLbGJ-9-ugho=sfk^WT_x@MT8X@VvED1&X; zuyII-?0QrzHzY&wt8xDTWTp-w$Iw-^sXpmr&C$yBhw>Fdcha+k^8WxTe5e~jM7nDq z;H&9xVYhOHs!3Z?eFM$1M#0-!R&P`ct?wW){5`J zt8*h9PeR{=e)|1IeI??L6Y6?Ti1htB$LvBm*K?ba!=VEJfPHJZ9CCI=c)lXUZgq&- zBxSQg@cC_@Fb)svP->ng@m7_j$9ZuUl%Hvle1o~p6pZ}C9e$ar<PC&QrJc$Q5>*2Sr~va21YSL*rxS5e+%4d z@>pAo_=$~`h>}*sfM?~%_Z5nsGSo+kbvsGEz_u1ev$>c`a54`}exih~4Ygq{ejr@x z8ay9kwutIe-F=xAo8(e{>1=kXZ~R%VXwlCOqitqxqP6q$0~S;B0o)H-IaTZ~X4TN^ zzaL3$d-icyuMkSm;)Y*71vVUR6_nBrqQR>Ykegkyc9$KTA!vk;M{> z?!nJK=CW?2T>Q+So`W?qPE8#Y++zZamoNm~=O#0Z?&7FisF4`2=TjIvT$+^?`BBH} zvBP+dLEK|FBv&yy#AZ}fXyoa}Pv=`&%Eu~|-O9HQDkx?_BzfDMcly&KyoeApk7L@Q zqeRn0&mbI*L8usp$rUUB1B}$r95JT16t*h65i_aiPZZY~!5u{mq&O1MlgAv?+I0JF znlgS?6%5iFn)+=1UDHO#d}oB$0ZqBiD@O*TY|7xMWT!N=08-%d6$ESwyC?TW5cWzQmm2zD0ZjDEEo%L*eL zr^?%YX2)uFK&2u%ZQw@8!5HV*;-g5d+Ua6m8+Hll%_fngXD)_>Q(MlzW|*#X@;bIa zKU&wZ)TXeP9%}<00Z=;DE--G!+|@Z#Jr_yV^_gUf)*Gv*xSw*WvX3o59Bnx3R#RWr zEp;)c+|70t7T+W74%h&2cJv+3{{UXKk1JXn(&tZ8v$4FMOUTvbB}wV{R_|JtX&0bT zNT8yC3PN!}2+kB_)^*+BRXpOesViu0N*8AruHWyNVDuHwUTgN|EG(TeI(Hpv6kL)u zoka%G$6enWyQA|Bqn@>`CG;`rgtjslfO=-TsAyv;rkTOXHRZ+gd5m_Gg&EFs(-ps^ zXi?6-ea1oq)C`K5r_jmHCu65+);7|^7fECUsAa+8wS~o?i*S%&N#%6@EaMf;%HHOj z(N@%n?=47>hswvD%oN~buQfvDp|}BK$YvQ(%0_COT32L7X||VB0`A$G;bRf7$m@s;KSnq%g+NjM;LT18nQ#ofD= zt~|AG+-@ibJH2Wc-x6~}we&PzX7!V-pDEsO+wDI)-Q4y6007;{ zx;mi;0QIjyu<;t%KG`=qp48kfv?Uu5_^!r7^KM_LttfRnImS|S`V(2WwYaQV62{#f zPvcI=q#V;p4tYLd80ZYX4q z(W=u(q%LuGYXKtMO(1Dx}p{UN!X2E?e>#E?Fk>g>#t)$+@PDNZi(6cdME&xe;O{54F@uV*V_e9lFsg(A`8jTDHnlWT zc2*?Y3A=c}kL2ILV}XvDHLc;vVUJg^l0c!%rv@@gfIh!knZHa<;(a?PC-E5QsB^!mLB!i&538 zCtiI5H!TkbS%v%5i{VQ&ZXUDelia>$i;?(#(MR6>X_DwRE!F=3S|XkICDoHfR`BMT zoUu}W3ewZ9?5tO8Y`FT?t+%e`ITyP%skCXw{h#(*B{tr|SKjbC5P)}1ANR)xJcOBT@1e#_;vNZ3BBo+}jT&E-iC*<}}RyEFR! zHJot`%1yq%fvclvrD8X>F%ukC@N}+F#bCNp#t_Y>qRuA;t%Kh}cLsD!|Jcj2*)pkGHj4F$vkW6T-CGNEX@D;ZUdp zfscBu_KsByp}1eVJ#$sg_wVprQ?*Ig2gRr)rVlk;djdJ7Tk)SI(XEDijwZ zR@7pnL6%f5#c%-is|u2=O&CnHjHfu@dghv}t-th%bRG8om}+`6-Yk;X#ekUk4?DeU zmPMFM&`O04NWmQ|uMLP(jhodR^=LRs_Ryt#j~%ma9jhe+KLCIAtD&-Bg>?u(2PE}1 z8+EBHVb4mQ#2>f8kMD|7*bi;8)b1AEB@#A31Fdyhee~@Z%#HcigHo)P$D;~SYf?$| zJB4tfLssK+Bzv8StYuP7YRZi`r=mDt9Ut^ypq@$ZTqc_n8?^rbcvqu_f4Vs;uihTD zr=~o${{UoG^2VD+K(97#@;jom6vr4}x+|FR0|bba;M1o4;Y}`6i<;))&I_DVqiG8A z#=CkP$r3K`F}jbRJxQSji%`RG_$nI}s~x@1m(lAf%`T>}gMA89iB>=uu;#k$2?@7c zlhU%P^hHxzvr_p$fbm=v(BE+;J!+_K#aCov%&X_&vz*qH5NwY%(%FPjtsD&%l+H7Q z8U9t`el7n1S}UUj@661xD%_~I;NQN#QD0n7rP)uY$9*hd+$2pBu|L9bpXFW0A)9aD z&kx$anFgB-a%7iv7-!E=$GGRcES?n7<%i36xn&F)GjPXY9X9jDJFrGr8x|%vgoq&!T%PX0uQiWCC zW_*Hs+HvO};Y`X(eVQNzO7)sHwXSR8KdDbgP^8y^_^hc7(#so~m*B@HwMR&@}xn z@@uPqF|H;+j`B)el^q8s-ixrZA-M3qmvHj=f>9jAmx*Rzjh??Qam_-W3h?wT5ra;O z1&x)$Me;7-atQ;1XuA$na@xm)tlm4QG|NC|azF~)kVq%_Ra;*I+{3M1U9>J^61a#L z1=twy2`7>>k&3&Sa`r4~J`1<8xYM1qhc{9L7gN69lLM;0cLTuUw!BehKed+fT{rD< zi*G6>z&j)@)Muw1>Zxl{E1E?+*vxGn?&8*UzP6Td(Zp1!4VGN>QgBB+)!4Kamg>^} z>q)j*QU+#?BVUo18wWl3IP|S2%NEkq&Bfg2=CRgnV7eNlNWX3U=2mQwcW04-gN``# zs#i%p%&!8E1kd$ftty=hDg~*#3 zx#>ziQr}t@;(HXO!xBf{Q%(dJ^VimfQWg)JjMPQMcLCJ&sb-Nh%!AHHAH)H#Pxx)C z2sPA;f9~#+X$16PSpB4QZx(ws6{*S;Pytw4vMjgWTa2p!2==D8CR-W0wu7ZTc=563~`l2|OJ2HJ7O8 z%qmX==BrabcII)omOS(-+;X7wsG8x`8F(R%PT&crc0N=_ZY4X&Z0-OWU$oDZZZ|2& zJ4SyxPE6V`iE`RxxNVY!M<=p@TQRE=s`)Y}IsW?BG~3+XFCR2tmn!rRDRdN8W(8N~n zV+fNDl!V~ovnUGz)}r%(?@cR!^?lrql-VT;I@HPXjw?^E zz7bK0$!eFIpE>PZRr9#YoDf})%6l5SJ8sq2aPu<3A(d?{lq|$C9VH&iAY+c-S z^{A~Rl0th2FfGP-!1XjqrApDov4@%_-rygVmwtaSS;hBT5ja~^ z_au8;w6vPZBZ;77Y%y#xC)fOHwUk%!Mu~9*NCtC>i;?MqMGdY{QI{~6cJCz6vVpZ& zmgm~BZ|rUz)=-FK$s0>>2d~zYTW^?dDK1kseI1ci0;URuX$kp`J7Ti0v_;tAZTB+| zyhkFnSA!-#_NOg%r`&0+y`x>H?&Sf^W62XMbl}xW=~?7$4K-fvS?bod_X`WO?E z>;SI1YW7A_(DzLq#yvX1J8-xmMr!FrHP=#~E3pw9<$!5$;C!yb=xYXx0X5Woq|y)g z6sikq3Z-~XKqIARsd2Tn51Ewk#e32=;&(7P?V2veqY(@b_x7Hd$)~zF`TWIW zo_4lKHEA*=;@KLK6KDqm6+A@l$Wl)yKU%nvB(77`_bRN3xG*>eJu20(Z?UVeA=qG( zO>QeI2opO<1Oylab`;R6p_(;5B%J;|Yj?wiVb|;$MGUJaAp7;Go!nXziaq|)^3zX&ZLKYQxWUL( z>62P;-@Y=?oPBGHo!;!*mDsq>rqc)_Ot81#wFbuGP zpL(84+l*vJx%$>V(9uEea9%r_Sz&<4e~91?)x_J#(cB}iP{4|7R9aTh^q95lw6#*+ zSi<_#Bk^6~mtZON#bTpjIKJkZc!KmM;_?1foq6KjK>^yz2e7J*Nj(JVb-9{6QF$bQ z89JKWv$~#j1?KBm)QU`~qQuVXnG;tpscUyO^KD6wH86^k)Fl*07O8tM&z#?#T1(r{ z`R?DHXHhHI>8D9FNV8qHTZjDWKqn(UbN+RXh}}_%R&jVv7I{B9ul8HU`_sSYTSiL9 zJn3tp9JaR#Ki4;U$n3-^D*g)w_zeifwvv4fH<#CRPK%#)we@Z8`#CmA8FJtH+UHFwvAw^o>}=a=BJyeBNJtQ|Mq zLY39-bxyA@99p8Lco5t4%N)NW91(zj>5f`&n_fF6KFNl8% z&RYp?&Kt%|U6FI^T*jQZyo`UeE7HTi-5j+(Gt+F3?-w4GxU6t1&6mV>Er!b`)H$w8 zTae2jKx;~05j8#&C;J+9Uo&n&sRoxIOl%<5&Y_%OHMIF+`@*+0%_QoHowX|=R1^QKA-9+2oWvxN+3HnzH zKQlQVwY3e|ja`wL$Xaas*2H-7Mr(PP(>2ve(x%U7+xb_6c(?s%u8hC!8RLG*Z^7Sr zexkmP@eY}JedB#KqYf?7+1!%M7jm-y0Ce@|jMt=(K1${c7d|L?HAz+rnB&wpBpdo8 zj+pcW1Ien_$4vgjiFD~N_d_y$x6N6I2f4>n&!t`0LpwILM_a7gO{@3@G}8-C%!*K9 zfnlHauzxz|Y;1456XC0g?xT6$=1`a_&*cuAiu3w<(oahi(sW3r7cJ&poVPop<$*)(idRCjH~bA9>_z_o zwI1W`GA1HdCvL?!{J}NOoikTY6l#|{?xKnArHumQ@635s^Z=gzqKm7r<#t6Ysc$T_ zdprGYZ*DFG3HEq_kY^uw62Haut9Q}(s^-g4y0e-{Y(v8+wqz!5KsgQV-ix5+WU<=M zqxh3uytYZy+rS>&WU}Oj&mH+4D>4mgGp^k|<>TC4+(s7NRw*McX}_7%mj-=WlK^UG|x+#jE&A35?3|tivHm+=vbabIof-e)2Xn zqkeLGKNKg;Avs7GMJgVw3BY0g6!h_5@9!C`%G%q$!u!D|4UPxnn%1o~88pXHw9H=~ z-z>+=iaDBVbXQ~BY4)yW-s;}jpISFw>b{L2*MDI-Rpi8hb{CmlNRSURMQb#BB<45l;l z$bjP%xo@!wO?sSupkbOLBysFz>fL`z$a_Y3gR2)U$N*66-iDEG+Ku}mSwcwrPSQ^u zG1OM>nc=%D=vGfPnTX^L3ZGnhR#HtG(`rt|eL}`fHg75N%0BB=b#3TclywS<+7zR0 z(=wjq(_(Tac#j^GFdnDNkZ0DRkdHZ+xaOp&lE*n{*C&-Yu9w65lf!cqh}&Kn1F0Wc z%4bXuqpY>4E^MKkpT2>q@2%RW@rtC(9Bj(X;%hWNG2_%$rLEi-u!&%hIv(Pvl6vPn zL7npL&hISaA4+lDne2I%rE5G|6`C_j43jI%^EN=|JG1>O&-J_Hp8Tkg5P)sxt~*ym z?4pw;CYFGbe(6INF308|e>#!mVH)l4#^G4m0&Q+%U1eu%mpK0OWY8raYVy=6!tKXE zayg{88`UIeTFbkDaIvQt8NnIp`P3IYC(YE50rtoAs?ddW%F=G~K}N)2eE2;6H5}}q zv33R$F&G}S2U0(@LhEqlm1G!FJx1Zkspgef-8x9@6c7U(vjynW^jarjnp*tn+Jv9AK3-YN4JX&XWkKDF;&8kt*3h9Jzs zH3|zHnwUK-X(;K;(OxJ20EzJ*^w8F|#JekWuFN9Ip^&sdnvh`gP}P}aGq?@3b*9A$ z8E5I~ReMAQl4V7};<4{_5P%ewXx3L-iFUL zS4GoKxva%*?h-x3lb%}xrFBt)m6JHCPnJgRyR1o|SV^XZn$-zHsL#2!jO2sw#d+4X zto^xU-5@Lh&HK@O2e0#>$xs%EejHB zhA3^CL_qSASQCsWILNCoUJIG-lL{6l0Z2VT8K&WAwnS=PNf=trt}X7PRg@}5!JG#9 zo1R8JD;f2roImS<8T;;`)dokx^6=oUZum1pEh~Jj?G?ewwR?;H05g##w zJ~;Z1@v9|Il_W==G5CtcX%3v*W{!kS#+dMJ-0`u%^{rzXX?8y<1-Ny{U+&g1_>JZ8 zoL;3PJnYf}N#vh;-tY#RFFZpVk@CVfSAG>KFn}}RPx6-*^82~M!!0g}Bvzqro>~Wf`f;ny2=Y%~fgcB%S z$kLW_Gmd^=eAWr2xh^fO2F)^UU*5`{OUn=v&6zTciiCe4g&r(?j;wy7}pCMLJY2| zyNN{yo}Qdgml2~x<=iMAqB%RHTuO1k$4~R^QLV^y^4~sOk`s)5 z(SQX@V^CvU2`(gM$x_@BDd;iC6%Ab8J0Rq+HM64NYL>?t{otr;Ml;=^kqnE|pskdd zHg@S=YG+$lG4**+#N5{y&W7~>>$;AFHL2g}e89N$tL(WIG1#+(@!A0uzI{z`NT3|m z$6;GjegOVZJduj7UPZXb9r{*m4OnEDrdvBrRlH>>ic#Di#!E`eD8cDlx^?8c0LxRT zv>_T2T)xgpu2)lbdx6h6si(P8*wC`w<&G+6mRQYUHL1}WmO}=l=y|E))k_b&DjX4U zs@ZXGRE*;_4Emu#^2Em;)RyC$D88#CoEXaeYhOi^dje}od?sn!>*D_aRw=Va84YF7 z4p&>ZA~xIBxGThVxw= zvqV)=`}wQWf5(FpNqk7B@Uw)vk-pl;aoRWnuj%%z@Trnr!A^R0uTE7OM-*u$Teh1?B8h$tKYg5*OCET}LVNTcO!bl2NnnLluOpdMA?SdLSVXCOZ0_ z^&4nmw@4=c07!C6$Wu87u=L`!g=;+#v%~X7&6nn}5=Re~`z43{Talb`j%lY#xo_Sj z;-$l`$s`ed;m$bE9crOdqd`)WZt2_lu&d$NRb){s5YVh(k;o&z>q2NzN0P;4VHiM4 z{n9&%+uKR27_2-KzxC9~xbWP$Jv3DNK=pj=8N> zZz3KUcOp7pl42_V0C8|eI{VZ~0EJmeCnTDQ$;nxXQ&4wAPT@}#rKL>a!u3|;2D#+4 zG`QRSD$e5N)#F@~(z)yJ3tE;wTxdTG*72<*(z(p3$5RU9LGqY|WCPP}P?JR%B;2U_ z@m-LfhAt*dw$73=k^+u|oMxxdSAMf>pY2u6`>d3;N3Yu`Qly^M&_{i5ZwBckRT%DT zz?yBIq->Fed*X`-rzAf7dQ%t2u!O*czdG0I@{-ig+9b?3CI;_rL`1=d$YjCb1t*SC9Y|XJA zG--+d0G>_!tLM)a{{XEOzFV}+ald4@;P1S@QD0YIYxb5JlsbFIJeM;mby%Y(of#Zo^l^x>HMiAKE}`A(_GBZB}m>X{&7=$CY$aRtpv&KfKTPeQDTS$hoO&aOv7B zYEs7{s9cEIaNj~ZRz8{H$#vZ_Yn?V2i^S>~W@4ZM22OpmO)V}CTG+p$c!mvL2>wGH z&%caiTWP@{{{Wt}=J6JoKG&JRYgq(Rf;j~GdiAD|b9WtQ;yW9O?jnsR+inSxQyB;` z?@0bE($>P>@fum9o?j&vD9bkg08CW1sBC;X1KbG%MGw7RRfF<&zj@)D@%1M%`e?RgCnLp*BuzjPh*lw zJiDCqzC*~(Z*e5^I|BQC{j09h;CQW78dAV62N=aVk(5_7iHu_1q5{H0btLa_%UuLKN+BpZjCK5LoR-~@O2nZ6IV~rIJI_2axE0IC z_ZS+O8dpYgI9s!xVnv}?x*7f z^lsI+E{8j3s8$BED1z_JZioS?j^dWbool+}S2lOI3n1JHQ~u3)8bT+(l2Yi)oPryU zPZhQ!R+2SRRx~Cn5c0+|RV82}`7^wopdSA9%#ftYmoW&$YOS1(Pi)m&i+!=PCj6se zw-4o7a+!0I*vljzc$1!(=~9`?Zrt5PAREV)PXN_floD410Aw0qigF?s0|SH2KHA_$ z%p7h)K;UB(nXE2cWEOIn7am)l4mygpZr@e5HR;7_d8oN}t&Vr8 zTS~B-SGm9hMi0!@>QKXUJ>!&%-|Ja^&)rM=@dxna)? z&A9dBt$ES9nPX^-hs$Hgtg2}@V}3-Uk=b|-@eSmbjM)yEP)|}T)8ep#Q4?j<#xT2E z6{MH$l)Hals5mBzt7mGrA7}uF2RljNA6!t@_JlYI!%60ze~Z`ju4}Z@T@2h4O+KV8 zZEOpo9C^{!OP*3*M<+oN-wb=&^{*Q{XVuXA}uJD|PQt?p%x-rQ$s<)}w0 zs?2h8$u$j;6=K$bsQrfO@8sOTWq!4K;^gWvHOigR1BL>kE8aDi!gKRZBOY9UGq*-P ztI+-!*tBq5UC6jBa1DAm6?xpss`pN^^X8PArpE%krml`;^cm+7-j~lc%Tk%7WGSEC zm(TaC9Wv7w?H={c_^tQa$Lt&WS2cKA4UN4HKUhN~w#Yh^svcQDORxYaW1gcuD~8w9 zYH4UI$A#Qj5rBU)iVQ85<#4@7Jq9zHIavLoD`aiSY66Dixc^U z2rG=`h`{2ejyAzOWE>HmYh<)Ab47d0b3P+i3zucd=r;0c_At6ygmM(_BR{PPY8>js zG7PxdcW1sTc;Fsmr&dvukEUoJHIT-Q_6Z8M(!_M>kN*H&DZFeMcNj>BgQ@dJphzNWZj>OQq`*b&%Tgj+?=rDsSB-Vc|I z^{HD8?rWI9fMoO)hkSPA`cy%RTNI!u@@2;ry=S+mUMQ`x5iCwfLxEhq>2I|uKD4P0 zTN^eF`>+VBtr&iyv7Y532eJ-G#WFn{d7$z$)MBNw;&fJeL};UMt8b;jwEUv8)Y|7i zt7-AZgp339q|lV307yL6m%IqJr)vQH*rz!84M#vQwLrdE$ge)TfE`US({*&vdJ$1v z?)1b0)pO}nTmTn=T^G>B?ql4H=Cfpsp4Ee9sSt=c=~CS$-94!%?;@nV#&9#BYlh%w zInHZB)tMJ=?h9Z5J6E#cta*x~FX)c)&aU958<609-%9E(t|5|Wt)N9)$54FdI1w&- z{eG3_R!vsA=ygG-PhO^;pvw-i6sse%OA`hRJM%~}rK{{TZ)-d1R1E%&yJ{c74cKZR%PT5Wbc6*Xi|tT?L?oYksrZcL<$ z0C7QF*71ppksCr7bgcR94oOj3a$KH$Oxfewc@<7b6oO4F3Qt2O?hu@g{pw9FOh~(q zIjknMWTsiycP8mjk?t#>k6B{EJAzJl5-;_wsZ-}j<&^nbBD~D+7~h@Q+Q9H@GI?W$ z98RkFBmx^1-AzK)IORFtLp|*5C6E;ljAZU0cJ--rYkPC6L$D3yj?Y1ldb#rQwkW!e zNgb8d@w0Y9%FG99!oAdt@@foHY`yjz zpL|qu(u++Gnyiz#6ncfss^vb?Eu&$Qs&^5Nl;*#@7V+H!God?F=Y!9GQ(E%Ty|gmD zYhO}(Th}oUFv?_an*<*Ip4EOcbXO@Hxb_vxQ`yE%GoqWRC3HnS^tR^`i5EV#&}j)B z^{1K1&#hrzE0s8%6eQf7WM*m>3l-wyxvq}F$}s=g?e(eXT6?I;ynkz&Z~D<)IcLKo40iD? z_&e_})K}BG$Au%-d`D-f&iRVo7eIm8NOD0_@{yi~y<~aqT*Z&!+=~-5m+d6iJJRoQ z`ARoUyk{ehzV!W9!u}!E^lz}-OQyHkxCh1r5IJ(;;Rk9FW_Y%~Y4&?iWyl2G#b@;=EFXM@)qdUd3kPB%8R3r$|i)(9`t zPeeo@t*C5gJQ0!k)*au&`+L1ZQ@)v%?q`{0wteh8urZKFPPwW=YWtOB@FuM$rKr8V z#iBuZ9@8O`PcUbw+xLGSwQ}RY`i+zk$D>|E%LLKS2)rkU0|z@travl|Ek(#}>0TR> z&qvg4t}X-I>MZh1>ONIwTztOVRvw+;eMVb5dwpW++hwE%3w5^17~=)92Ru@^+)F?3 ziE4V3^3APW+Lw+7g4kOr01m|Gy+v#A{Kr0>H1o#o9$xPm{p6hOaqd0n<_=D#ewpCu ztgm$FBe;(?*Ct7LAUF(2KU^C0swD0ZRzXEcXCdP2V+G}{^k4GO`BEr2&lv~stSe=2 z?HeVT{KR%3hUbs+E8oLOJUV@B{{Rb}6KmL~)akWLyL*dPMB36X%0l-401D!6^r)s% z7%?L!1&PIQQIn@9%yUi;l%;2+Lu$ulYB}WA%AKQb;YC^V^fQckbQgXA8NkLdQ8OGI z*DS1DQ%t2YiE;?8OH#8)ZkZN5mKgx_G?kNSjosO!lGOLc+ezVg105<)3>J@7M^lVv zKT1+}+`4Ma+3`itk4A|zk+zf0wu(>hC^g7<+F24ONQe?T;Yp~b zz3_UY%C+lLXJ*ltEUh2!0XYICEiUTo!ddK95$a|Y_`sm)>C z-Df#9q!6kzp1!>UJk=dLO}W>#1%eejGxIlKD`-K^N+u2RtDc0KbUHLq+r+pVd2dr% zmy>L;BsV26E8C1x(Ht>OQan%M2>$>}jxpby{VRc)00av2XYn(#dy?rll38jnPN(iT zJXf*Ft6!UVn@@y3^am%UZAQ|BqWwuvMlwA^Uu=1hLNnhzKD9l){;VYeXd>EM1cvET z^=8$MXHlbkC)#b84&u3l(yeSRnWK!eGi9BQNT{b6x|U$?YnBb{Ffk6U{D3>v3#-Mt ze=aLVJdkpD$o`eup-M95dYN8NLf((1&k1Q|a-o|dG0|&Q=L;FGD(>yGvXVJ{R#IYR zIR3TBT|m&Olz`Ezayy*XP?M82lCg(p{{SIYz`)5E^sRa1*%2OwqFazlrsMlYL;d*r zRgF4Eg6Wk(D$GL+Q60@1_fak9hVL$}Jm}MGKz-v~c9*TLgQSa4p`7!PT{v7sY00

    ^K~)wANmIdR=lRyL!&K~JQx{71xZms>@#Ya7ynbQ%h;x(9dzz;x zp5FIln?oVw4s*c&0171uLvW`kRM@3?Gse4y(s#(;_tzCQjIuqPK$T$`BazANS>ID% zW~?OgNbZ>mp)wU$Ki0G(jwfR5$(a)b1#I-kJkfQ1Ly_2YT6Lb-R$-Jv#Hs=YPCZYx zS~k`TBeScJakOWk0;S0n7}!vnUO&`1{{VqiYvr?Beb7cxv(8RxZdsGRE$dnuV*#jJ z9^PR7b)2>-9?5oNPz!Y+R(mQqJaJxm)KX|sXUdM%95_paC$XWc5_fubsS-fHFzHuL zwFv$y$vZ0-p~(2w@h;NNR*{*vQf%?qiHp-g#N}g~-oZSF#SKkY;GQ zRxYGCKDC`a$1RF*VPgj!PBUFDoQO~oY1Y_?limdK$XdZ|D&lwCtB`tBLP{%AoNjGc z>1`4X{cA*NtlTI$HI(J4Y8n=y(!9J9yPB+v5)MEB`ubFsqhe^_Wa|9XjPU`6e4lEI z_cTfLGp}@{xkAe4Z}O@(x@y_Yo%|kZxwNq@Yjbuhn2~T;QptS=-@Yn2v=xjkQtAg& zhZV(LIt%n{@w=Moqp=b@Ek63$ZP#>waqCZ;QnJS~r{`9urHtCtq}TQg+{&Mw2JcM9 zOtJoT&ov`N;zV^FB|6I({A!-3s_D{MG;qj;h~Nrzp*J)s&OEI1iBV0=rGNmOl53*T zpH7A|CBmngMgtMfE7z|X@_VN(DMISzm95T+2hDFBN(s(Tcd4X(D^fpbFh@Hl8}Xc1 zpD5K{@zAA9V&mW2EUV|q8oXm4GYp_L0ZTWLWKkK}!ndces;5q@Va%3{>Wrzq%aOW_ z@;K|yN|fE(#LBNcYR~sUVa;nAb5B%MszbRvSC-OA<*f0uuT=~(DocysvTXgtvIfZ| z210?{*6^n8lQErG*~&VTOQ}U|X%xfEn9Ok+AjxCxNc!!pcG1qk@b9p$-cje;~Nr8Gzi1EfZ$(n$Ac zMmLNcAf+HRx<*OYHo8l?yHmPDNfG3G@BcgQsT?V^8&SzC5m-=MPJ>v}Al zgKArh-pdKJeH$97t)bEAkgo)wFP4_k?W^z_`Ub?R9@i(PY**Vzhr}FN1ww2bcPFP$ z)eqb)@U3+PU(SdD0B5R+URdJnkV@|Lqho3$dn+KU~*k zVtld09(Fi@DayV-gmqWpDwD#UUuP4T&$Q8AXbmwHe4S=M4H3hm>&eFU^f{QFX+BYL z2MN?>b4+@9lFHxu8ZIQ`X*;cLy;AIrLpGe>k|Q%>3qULb_iL#^DdmJ{Z>4(f0}5HsCH#@*(2NdOlXnG|1mT5t~CCy zn07w;nJN%w@;_+i{{^%k{3iRwawDsZx~(_+rt0GvlFUEjo=Y7bAfYu9_d;pmtNoxX z`7+10@2Y6-Bc;%}L&UQo$u1D8lWU&w4K$^RMA_yxH4LEj=HiWyl=DHh-AqN_m4K7n zg14HYS?+*MoOZX5DX)3^!THWCEMNgS-oMwG87vXO^c%-MQ#^#9U(&&wL)aLjkHVBz3b2`&1B%f6Fc%WR(6eXz9GCFcxtW?cLrbu`G~ z?F_KFt!2p*tpZ?XUL#ST4h$$;TL;B7Ykf}|FG<~@yc|mSE^>`N`=@rRB`yD{GMeX_ zPV#eJc=xGJ-ST~2cIel0UeRmhxLcoq(VyT?bI!%lZuM&)se($KDziy(9Mc*&l$VAV zB$O+1(Dx?xINQTLq% zISHtVMMc%-^8(|eo!ni!z{J67;jQH8BjINo#i=AEx^zb+-gHOgkWTiL5iUKEzJJhL zV3f1OxXbQ~Y`NkPw{$0lPX@?Hc-+h6$MM}WWm5Dy#ND%8-df%RTF5`gDDhT{-2>+6 zon(jOYx08Y&K-B5F3AU2ibd@&#W{VKRWG%wIx02{stVLDeB#c>YOmHAR^z=CqIAv+ zp@GDI)Em7J9PXI0zgjo*PEflH`M4u_tnreNC7oqU6D)PTSFQz01+FWeHGQk_OeA~> z^-dpm;kfQ+Q8R$N*Sb%TUO+DMreXbu;S0y5W_ULHP=W@Vc0|Za4w4g5J~XNm`%@rG zi0&+)a~j~1+yk5MCI!PDHt$3dl~KO>Uy*Lq0wXv2Hx#Mt7XqM)-*j|`H9-jl0#zG6 zrpu2nDQZfNt+uz+`jqE9qu(&3Q_R5F;!Ele3}#(&G)BPM(wsXIPCTxQ4io+3VyZvc z{?e-(S;ih`jwi7aR3V1_^;X4zfL9S-Qkt7T=MT*z){8y}^o?Xmw9V-fRgl{AQ zo1eT^Q$hv*+zOd9bG<3WPVx7)oy?NcH%&O2A$^wYfkBQVwS04-B?AuP2eVkzTab%m z{Fs!0H8>8h4naEtN80-myWmBldzwMh7dm3)$#-(65@Al9QHCd>b?B2{El-dl(pOBf zJ8pg|L5u>$aqjiw?7A|Z|A;cz)5+H%^H+QFO2>%$FKvkyfO4S~*6W10C4PpP%1Q6o z-Nodna(}vdj*L6sFJS_P=>{U`$t$x}U$2JedJ+siB zWVW#C2>&o;IaR+GB_lwR?xthftaQ8!HeKN$oDaJ&iQlR)=v0ws=;RkLOYyN4)PYE3 z4Q>h*V*lJykVd+@y+*$wGlee%3QGIrZ}nrTa78GN%!uX`@(Xa~Le!qEP8K^vChJjr z#agZDxXoZpA8k$t!{!F(^7$+J_%)cU=e#MkLF1kP%)^`>S@Rq#{^g*-@;}V(7 z)3$nvl@~$Moe6|w+#n_!#c1p`>aL}(8uVt{jR_BoAISc$Uv z2Lh0Iq0=jl!(NJ&``5p!FLyBhE~qW%cH)zGWy6oTnzWT^6uaVO4e$8heNdiwA!qFT zSK*B8y&~lOx3ikbakCtOO;4v|{=J97?Ybzl+IMQKI!PwJsMeT|BcH-2L{HS;u=t`x z#RcRB32IJsZ~P@jKTgUx<&j^=r!uE5fH?vA&Fr`cJGavD~Cy*rPP zA_ZsE+h`Ux8dg~z2IwtcoRirroXqXlhdWs@bW~Eho~xo%T>!ZqY9C+R^ub=+SnR>b zJq85S8f}xvN0~}&lAXUA{^J$fF7zBY7GR2p>zY?={)h2Z*|+gq#4&DhlQQlK>=;K< z?6-V|km2 zx4*u6z#V;jk|^u+chz|p<4B(JAoFYqa|owVnln#>(RB6d(W<5l5qC6lCs`qD?~}=5 zx~d3$txD3JC@psBIkn7ae70-3#=`P0+Jyqr z9vKbizo>PY2o2>$S}`@&7E$%PVs@fHm2UgDs`_ z{)K@s{F_O~S=i;c)<>0QS`U-DQsG)Lur`5@k*S8-7duf&{}SP7u5g#Q0Vio2?G>hf zMdD$9qL(f&J#NYezi}&4(OzR+sS7%KfAr?KW2GLid^Xg5Q)aGJJIvRN@cjGUa zz&RbSb^8}Vwf(95BzkiGJ;E*GW_u2zO; zVDZ^P?4Lu35&wn2gfcT;cyeyGems%>Ulz-=qg0!QrZm&)ab`Z#f4^RUO+N(Q#IqxH z!S5bwIe@HQ&Y;6E`%qhncu-=y=o?Rs9hFm29+|&b7Qcc)s1;iOV@H!wT^$MuX@a0F zxc7eC3uLlN#WV7Jy_SMf`FBF@S2g}cE6+BG6&V76`A&GLiK(jZ*7F8B;K?fNnfNYk z@P*eK9(;l-MPcONOH|M5$JW;BRf+csCjL4O!-}3S9mA zdMJVKe$--jySj=ob!G;4g>reEZ8WR)PO^FNGy&e%dA!2Aif(dSa0Im&`4eMnqpP!h6$ zG7qXyTA&iDQkN#;^Di@0caoi%JkHKt%(n`{pPhjYK@I)%>nK&TXscV@>TxA5_V_;^OxK1K0xQ|xCHnzGyJ0~-ZT#a7sbsExO9>Ewj<&J zp43)Zs-&5Ze7fgugjZsCVEbNL7g5Q8MTsPr)uE%f`DD`}kRe!HqR%qHNUw!0hjpg5 zzwYffi;otY)JP_TogG`oViHrq!>_KMQp<<6&C zbY0@YsK?QKF(0X-9liQ@&T0(-;a34;v5D_8?17-B+eL9$Fe57dOlhA~xt8E6W|7k1 zld)?x&dUHvDVFH36Ry9P=m{*_|II%?rth{KcvD2#0_ zl|svLfj#%Me*x+G)|)g5VoYrdOE#<|8K!7Z24y>gX#x~Ig@5&CHUTW`fb$NwNJ7ri zYLu_A5XvzpnWc56e}%%z-6?(EE50V1@C@j&AAa*jS|}ni(o4kl%gAWjxR>-&!tYCB zjt4y5zya4Lwr{Ta=;Nq?iPzW3L#I84|E*LUTO2(IPJnJiSN`90dk#JkRd}2%FI5sT}FsXKDN^=(sEjp%DOge5{`r^VCA^cQ7fcf;_5w#W#x(BSTcZj? zdn#d`Xm53ElD#jr1XOP_kuF1P?|Zr}#-Z+hsb)PiB(`jW zU$KGhT|%7phUtLlj(b;t6J|8n5ihR08z&z-(Q!bit}HTCsFTXvU0P+ZIxBEy#5%C% zS<8UaT(4mDjBS&Cbi*Bc>W(iDq}hwDlIE*XD&$Y}ZtCB-#u>C2o!Ib7eIo#_wn+%p z=byFYHY?)ilRSP)RkYEH#|@->w5@4K$I-}Rd6{y9Mi$Ja&4B2^!7R3OPruyks0N{i ztRAHq%?;-exS24a@#w{Bw`>2%2f;)Np?7OM|HP$W4seq^UX72k%*AdzkFoA^ zLq-42U#h1Nv$;&I3V>^nbo_2S`)txGnWtVlYe!ZPmvTj684dQO>GFbcfN>j!@(9C6 zlc~?YXIZ_hG8Pn94CUS1#aaeFr*;%A4Li$SRb*R~ZSdVlEQ0K46gwQCUrq{FIV_(L zV2a6;+Dx8dNMaNG%sp0bOdoM|_JKe&Czf!81pg{AG<(7N_bM{q#)n{$N+OAG++F=~ zqJIM$4}Jcv;8U$opki={d4Wn3>@>AIxUX1{(v z0cf3dcF~_x@EcxJ_aEn&NgQXZ7o?sU`xbl@{|<5%-PbX@sh6_|y|@PdxV=WCilr;P zrxEgm=jQ73H=eO%dt0gL#H%-d6Kg&j9H0FUqe{12?QCjZorau!X4k;5b7sKG*BM`F zav}FNNunI9Qe-772Xi+d+vgfd!PY)FmfI`U4{S@100P*+@>Y2LGOsP&-}*(odNJ}$ zN1s%yA#RJcrOw4w7SnQlH5Yxwb$Yloj0J^X9rtL>=Lqg*uGqhkS!27!#7WXnIYWB8 z@T{u3$hz+Mb#q$Np*!n8spB-2X_LZk;i)#iCBs?V4n#_;p3Vm(Gu!?__&5aqb?Lr(Cp3B7HQA2Y z@o)UE2}Gj-sk%tUt5-V1c#Yvgo(XP}-A6%cnkm>{BO+ky4{x21U?j!oR% zb3{9dE)R+-l|KkD>n%8S;D}ryK(X!bf(*5AbsJ?^8p`2(m zgcv~jJBsoc@Orn?_E$}!gb2;I34e--<1Kg~hDZIL%phgO7m&|2&z)#P?CLNhGf}qo zr-!;cmB_*xA<_jf(Jnvn_r)Nhk+mPSg?7w&jw8k;P(!gO*}gDkp`;&IhOI>~k{k^z zuku1fyr*}t&w!u!-O3-xBL@6hHPdt5>E!b8X^-Je#w5I4!AOBKw)V=DLaYDv$NiTe zuJ zxhLN-8Vl!Y_SlE{duBpk`jFp$^=7+t#9#m`Y<$fT>w8^mqQQGTLtmO@soz%E{E&OS zPZ@&CqTkx8d-)`2v-67i4cFGbY8LYS__G6pSuL}UK1_0sgDkZkWNcH`xoD1}A-2A9_>l*_3K zip3sJnpZvOnu)>dQx1USOWA2gx3~Uh#%wR4{mu?9#EOF?&b43ApPM|}3mJqqi@yby zuQ*J_pYAcw)Uso3)P^WChj1RMZrJKAwwkFbqqwLIxy~(>&V~}iEQbDtn3dGHYL4Sq zM{90aU{xd64M0Bn%RO*uI=*Bxts(7>8kkr{6`K+B3`pz49rv;VS|kpy zXp!k|DQ~4Uik(-GD?g3z6P0{R@C;Q$CqD!PIog?t9qYPZs1b>)37xr|VFDhn_}n2W zyPN;`^yz0ruCrqF>RTSHJ#31W6AqX~B%jc`No?@o`R=V^@>%ow!~oS0N+#dNW_`}j zwqN>xmT)Q~noiQxYeeF$Lx0lYnejWN=@nDMp6ov4Q|ah)Hb#1su?V@Z4ikVBo~+|~ zhLjjzNd9xYxV7wZs!XqM`}+0^i{oblJE{rEjuT%~VBu5dP?`90)e)7xnA&>B%xZn4fsR~f2L$AzY(i|AdLohh-C4Sw0p zgbrL9-r(-|bQ9uP@%2MFohpmF9j_p?D6-FfR2ODuY;ni(ish>xs+!kYY4?k(>Ss)N zSyM)1VLL0;=V_uvrftm<&Cai!*8jGtPn$1a<&O%ku z;VC}GkGqrT4Z*Xy14!40k$d@?0i_ag7cM$-*bILzTw(3zgL-s=18XAMD)_Y|i#XLMPB zVP@-cO3?vHfUo?F*_9i^duZf&WmY$&jcz_ZvLH@@oX~r_adQTYSpo>tX_FMu*^}R^ zlgao|^fdA1Qj?)4sg=9vPT=BEz$J*PPllIH2F3p%+cvYuFSnZLzXE-t=n#c)qrJ*| zzKUgjq)&8ivdT2rhU$YjRSiBQD<5#y8B*QFl+{XXIQTuVEP|##Dr7tqw2Cq%rVF(6 z|LFm))6egt?AyM=pNr$~Ba8H+hmw(-6<{gUez?q1i{iQH;IY5#{|G6T#}AZVE}KA}8ouW{Dh zvqeWt!61(>$j>2nH7Y}DELv+$`n5mb=|2d5D)34@LeZ6;kyB zF1Ouj_*sfFMK2ZkK(;H(jq_dkX`s1>i`}l&rXn+U+b^Uj&%4ss3LD)1uFOW}xW@bY z^(b#Z8_ShTf-;$>u_R!&r(29v*=!}PWCxJci^ycKS!s2{bY&2I1X!^UAA359YI(Fb zDrFi#?zDnxi=N%d6uLf=Y_#v*>S2M8H2MwC%l`Z%{VcbB!<{{?ENs3li`_pF^^rgeibxN6Iye z_vr+lZ^<@XbTiIRU|^j|D*I<%LzwjDWF}GTZF_e@6GWpiI7hO=rlwt3Jo0NvU9=uX zST@O0bi`jW4;#7}QWn{o8WSxaJ1~fH5xKJ3{c1nLT1_uYx=n- zKhK=8Jqti?Lwg!eL6tp=Gi_rdF+hW5x<5wb86em`VeRihnYV~|Xxk$W7 zgdLWrvK2Jg87WSl*f6Gk>c4|=S<=AV6*Hu?u59svmY#1CIImEk1x{hvvKo^;$B34Q zD~y6n1aTfZRa&y2FAeOlR7qB%~&{Xc9L%=J&JvV&eJM`blhi$)z`LE8u~5Lc|NT0mNfI7RJ z?hY$6|G7`Z@wSqcU7E~iaIR#X5yIL@H)4yJqMNbN6aAn;x=biT%w2F-c6Ob^D)Ukp zR7MSn&Q8uW^)yK(p>w7}qjk#S6ihHDI#<1fc<#kLd|sSCzNnvavyHV?f0xkxQ`%?o zAb66oKogE=kBTOdO2F4Ss`dhIE7NFS!hlVEx&efxeEc|TYA;yg2G!-*qBX3OqnCUo zfXWq3weeYdxKtJunS_oQ#0vUjD994FlzS?2rDS!4{rxFqD%vWH1tA&%YIY zQ;zBiV0A6c!=CAwQ25YgZ$aiGdt|`XH26jW@}p>HR86R>lA6OzjZK;Bd#t|K4?gtX zcNbu3L2~RNudP04$0TR8eevbn^*fbtI7bU;KL(Q5=2?5`FV#RmH;{T!mb>fh^VRJf zepFxCO9*&xn6cGSVOElm&f$4(qS!$!i^fto4fyTG!5})ajsX;$4<+fLvu}J!{}LL2 zxz?RdJ#QYq1UB+L-K4-xlE-yZ?~#tD5V^>px6rF&W;r?YXdj4!^i(kDszw?U2-}l1 zIfJjq%TghB;R2*Y%{DT^u+m(4cecdJa38BEupR5{SZ|FybAp2Jx*h%`AM8DZjCMZj$A(P_$Gsj6i$j`zuxQaPf?6*nb#8jx-URy7M<~t~kl?@e2 ze;oR&myN;>q^koKfv_cz&@$eUG$Kr z)tvj4Qlwi!fv2{(z!_@rA{@<41Ip3ImY@5!a%F@FYOP1)H~=_ zwmfy*W^Y+LDhjrHH~4Eo0>wNRo_OaE)CD?6pHF`}MC%FP)*A!tSi3&2QUruw7+$V} zCjH&1ZV|LKgXWeOYMSui#Q@AIoPYi%`DK6NcD{TBQ^B~rOsxMYqs+D1{9A|mH8yNT zD!#IMe=crKi$zXN)^s+1Q`?pLne|M$yI&2v$wwsdFAUdJW6RWB?+eTvF-`;bspHk- zAI%lrZ>4e3p9#E?KmFG3u8izbwXScbnG>-xc&72WL7=zI z6ejXDfW?c%juNd&4q+tfl`vq6QAoCxm(?b1g%ir|Pz;Z~}Is!zfq7Y3)Z zKEp5N55?^kI-touHTyku>d6W-maS`JW2nBp0f9+M)PM`m>zbym_+=$8j2lJ|_?4r6 zaz)~*O00j7hV=Z~g!MX<&pA7a7pkwHkF#ubH8}AjmQ+J$qq8mddc9SEP>uDBHbyMq zUol%sUv&S(Hg+)R=M3e&3ctG;^C?x(uE@5p?`wWSH~ z_u?i|Tu2cE$d9Ae`qP~NaO;NEp;&pzQO7K4ihi1~WiEg8;Kcz-lzcJ$^QJM*9CdNP zdd4tdnW{C6fu#ww4HStH4O$x1I#Dljqe-l=lk^o%=^c*UrC0L;(a&PVA}~@#=_A@d z*$%pp8_f3hmr>?bB*#M!8kAVxoIg*F7%G;1y4qEff9T58raKWU!>i>_J6%aQaDW+~NBg9U3Y%>H3g142wps6NpncbAJpj2K zT78OHkJ@7&OKvLDYq3@L=kvuPJH;M7Ip8=zQvS~$l!(@oX= z6^%*p9H`YfuGU~W$-jlH;csIXN;2|Yroh#RiqmM=>6E5`4i6_&YTxi;F+_^-zW6z+ z7!j$lEhHhrSNa_}a?u-1L_7akNN4`#ql%mKN%(&lhisiP|6AQo`J1Wq|MmqM zq$P9&#x?0Zb~Z0fGEHp2l$rqsIYHHUqNeS?hPx?Fn%`T}`0%D6#?OS!?R}z()?N~@ zs|V3MIu*q9rHzH(eP>X)bd)X4pT=Wrp#OXQ@d*^JXZ@Q{#%`=k)42mb$*+L*NqV8~ zT*9Jqx+0ZNlnFot)>^#KpXm|uk<^eu6Xkv$tw@06q-@4IgBC>D3;uCBHc*Vjm7!dW z;P9xY8H>pXeU^Yl<=cJZXFQik7_n1QVa=?{8&Ed--6<8i4Qx)=Y+QAxIe;^VIZfWY zj95%M`K+GkRkz$EWgY3DVFdsg7CR|LH!DMg>0kv6VXxzCkr1R(9mOt-MMyB2NkqOw zz}7<)7fb8p@{pbdHkCM9kX;_q_xYx`m9JDaQ*aDYrE&X>DswrpT2||d@IMR*1E=qQ zqJQdTbh{#EFbu=^LZlk}T3VyWzIk>7ooHs#_11>E6}gmtPzZWrW0X_$Y^N1nq2(=* zX77H|#yt_l4YVfHSJ9F7rb^^D(X0jpP3=|qv0v`yMaKnEq2CYcOC$I(S?oOdGSN09 z)-GAOtye+^eq?eAbcPFiKlJ^1M{*Bx9_^jQW=ze^!c4e4$PGr~hQ|Cy@ zgCM-k;Y9hh;+ArjBBblr&4>wzz=0T(kmDL?56W0^^4&6z&qv`D!Tub>K0I-7p>Fv^ zbru&|iRhmNkWzZIjcbphE#VK_ZRKr+(FJvOvmh^(R>@j$C^Z`Hy%ngL540ngwMUY< z9_|}wd#`NLi!JCQN*@H{9lHz7O6i=iPY^Y4eTg0a)swQ0_t|+EyaxO43Q@;Z@Wrm_Ty590TeU<0I&Bhi;46 z#>->{&lM#HJYeep9tQ&Drnvxs}6yFu&Fth|9*YTFbm3BgL{2?mCz2S z!)%s|{fo`gxuiXbuhtCwoUS(tV{?J7W1*w4CQeww=%J-x_?%Vvjb99;@;JTMIWYxe zL1x3wE-|CiNfq>NG_yr$w5IcL2%Y`vsXYE+?jjF8H)}^DieSws16P|h95nWae)nt!uFqF|)uj;Sdfx-2LCeA!_f#m)EnPZ%uS!cdt<6h}W2Uy2#>Rtt z*+C^WUPLosJ~M(m_vXuyxIZ=XOYJ-dJ)JaHT#5)x)-rvJo85;QjYNm4>o~HSQAZx? z3w#LddY+1^Ush5M(2djKcsPUAn8bk%7R6afSgnz)5A`)_vr*)0DnpbT2+Lt82*BaS zIgg7`!M%4qBmVsENK=w|W{-r;C*aKz-qRj)&w%s>Kbaq44s_N!OOnV|H4KeTNYWRoQxC;;irq0{`%n_)(<{{&^Rn zAg>LInwzTeBqOBzw(?AbO5ztrNzWIGXC~m1o0VYBOm3A}ltvA~DUbgSqh0oP*_r~Y z4X%0yjc9L#N?@e-90dlK5(es4hf?AQ^pQ%IczEu8T>!{2$}5gxiv2ac~D%?efSdU5wV z$cwbqQP*n6#Z~6vad%X$du~^=xx~Kx{ok= zeh_~7+9Y0`WX%S)jx!C{;eOJAqqBw|51 zETy*OST|>6w)caZ-DS>nHvU)u!AutB!bk+8NrF^JzFOM{(s+5W$0GZ-3>}OOy52tZ&-mY3Q zDl}o~UiJLJgb}ZPld95r7E`J)nK32MPBe4`N^8}}4)9Rn7Id7C{<5DHx;A4Y2mM-h z^C{R4NZ$4Be}S<9(Zk)}h2jXQN%(ci1m!8LR3#s~{=$5F{N^5T%%71n;A^usR6 z>D!!5AFAa-M`+EpC!mnikTq?o9?aGL3I|kIjm81wptN85>U}3(}h`% zR3o@QY7)64zFX|l8URHej_zOYo%3hr*!g*e?|b6i4mk1LfD^{wVln|4%SHBT`h7hM z6V(lBw6`f@3l-3ETn?<=e~=A?;H!36r~Z$O?&14Zk8y1!+VzAtks>D-X-%#=eZ33VaNh6asIbzT|74+UxgF2 z_c!|QaVw+D?>k2!iTSs=0o#9y;6{q9L4YwJu0%SE&zad-a&KW$KH42aqssm$a-*7 z2Y*tVRsG&}B_?aDUzf)B5~@zdy*3X{D>>uybKkz}epe{}2%tTm z9)8#4?Xnb@MDq*D{r*GK3=jOAN>!~1y*rHeNEF2Lc7R_WBu?)FQY-ZwtMc~eHE6br z8=xX`P<)e2t$^1PKhnZSTJk*!lwBPj)AYg16_1MQt~7F)>g2+N)XlI?w>9%lqg6<1 ze!sQy+&>{iRrJ2&g{rF~}`NWL*UXdmhJsx%c#1?Lw$CJw3o+GZ^C4k<2UM6;&X z7jnTQmcKlhbRWok(XonTp`X{Nm=eSYtly)nFsc=E!4?1_LK#REd^yIw z8q>j=AIV1>_oXOF?jp-j)OjSU8di;^R_O`#2AIT!?>4;=aa3^)yRQmq+p{36W&K`L zzWRKq);!&%rbm@Cw5U-cBA9bCP`md*QS^Wk)yzHdqE$3tBl8AP`MXWSRX|5%nYv>F zw2YH2yNL;3ZfsnApPBt;H;9vCUB|^&SYy2=$m{T6hzh5x!>n<7Ln2SKg)w_kPwY%w zKKq6#cfS~!;{LCD;?xdU6cUA>MmZ=_tR1+{<0*LV0nNbFvy~u;g?mvbs&{)+qcSni>R)K1=kEJ{e5ULeZ#SOLP=L15l};)(D+l(ikaN7mI2QFuZ6Lt= zLgl=~_uqCNyf#m`PWeu-t5u1Hjx1DvI&t=yyHjSA0Qi$9eu%pas&U~Us0l&Qt;*5A4i(e*7ho1S zuU+aM^VH}(P+2&8f-Uy*hU*}0HGayURPoXx$iul?h&HZjnt}ML>L0ha`Y`#o5q^T{ zLdhzbs!`bDm}ZsTt$CPBt<`(JpcI>0tW&tH#pk0*#<{eGDV|B5=c^j5k&J)mbc*rS zFBg9P+E*Jcv?TwEiGfblFG`iB&Rq&yP@m*AoWw^ja4VTp;eqO|)>dU*?td4AiYqhg z=xRgh*XUmY!|%W&Bb{ji#98i*KOMXo`8KW6utv^+S-A0+cp`%;3p0se{mC(!aAmCA z(12pq2D^H~O-SgR?rp2w$}ZvUa7+rN$I^nM3F<&4E#fKpSC*mQ=(-?2t+izovP_D& zjrVp!m!NqW^P?0?vEoW(PS71)cn=Q^2q(mTGZ~&K&nYv$i8- zVRAO|d((TX@_e~6alHkZjDmb?xCb6L8n+@FXZ257lhOvp3mJocTTp|&RpsM~(XyH@955Bce z+V-cmv*=}c(M?6Gd#eWExectAp!F)+EBgmmO6GseOwB;~yF$p9<*oArAKhS ziSfd!tXDX#Sg%&25a)Oi#)34g4iSy*6ya^aK}Se zv|QBAns&w9QoEr~K}29jIg?Z?V~L4F9V``eC6d$=9@Hxp0`YrH&#qf*0BUR!Sv_{M&8ZJlf8z? z4wVeLF4QGum*15ocNVn%F?5)H*~Dwvja~I~H7b9YieSi1Wd&7A0UQ~dA$~I4Ia#Q^ z!Fxp(3o*b#=w^Ky<-y&~=x@{af?;kz*9-QQDD z05a1Y>a>01{3SC;>xEL({IJN#RPMSN-Smr6Lm`TrxjD-4o1$4*m9j*fJxFPa(bW${ zUGG+@aD8xosCxx&v0j1(7|?$PdEc-EnN7DlOAlnlZe$Pbsw9NMQ7n(hJ`n)=oS92-kHi0PUk zlN%tgytO56x|s26H~W+ius|E+%g}1?XJhRmgNG>=zwI$darC zVV1<@ucg>owy{3$QkZh3bezANA`Iv0ft(%B=s3&gJRPz|V#!Thnh#Hr2^Js1MbAza zvRi}TeZP_Imewv~d~<&nlJ*65Bdr2d{amar^W(IhZOI@B{GJi^=4qLvRse(f^Rbdl zW8*%v;*pW%%n)_uc>C1eHx7;X^}BBy?`jLCB2-j&koxJL#o$+VeD+q3DuGLvkbWmn zSWVTGPVyZ|>c4#xeaVVGX9xMVQ1Bn8)Oj>D4pk*PyLNc36(jgpA0<+yNW`#S2(RkX z`~R5<&kFy)nQ*_=;v+*YC$_}=chQ$5L%HAtoDP4521WrXz*^gto%2SYF(_FP5j%7$W97V9QCK^4w?6;H@i9uKy)NGQCP2b zIB?lAyEdYdh9H=^^x1BvT4~}f__zL7bdU(X_M4DoO)}eFFPv`dWCK}QP%bXOuGws7 z6KYNan?40-&zhwDR0+Vw#FzR202Tt_t)io%rFC;4JKZGZmj6PBoHgwFn9iif$kD(B> z)~_J_rW3kgk#UIfN%0QvJ+|ohZdFrp5;}h>{j!q00#EX6di*Q5xV9k`f5M#@QB7;A!L6Xldo!=^m04Q-T zQ8<0)=o}K(=8yX8q%--&6zvwvnYvoqF8dUU%+^n3a^RjYk*__CrKOGD_$qX7M0GEN z0y(WEwwpzyc49tu2!NiOmLChu6ifS;WvGs&i7F?b|A!H0Z(P0mt^4mn8^COkt092a ztf}p+mj5d=qsvX%nXwmP5tuPo4IqSa!ESsfbmAa&IBBwzt#4K`rQyaT*hZU|LVpvN zl2hbZY?GgCNq9TTDLwMV`&5z>{v{!&bRP!?c2lf(E>Em;r{${=*M5Mtiy=ed`txnL zj|7QHtxS=l!alYUj{42CkqP1Nsn}@l@=ki=#I+iur`s2TChv|RTCCvWq~f9S1xxK% zBgO<0ZRSuAGY9E?2r;Kn7E5#`m5^?W#rK0|#GPEydSnCX(sNmsoy*vU}+42Wu@AD))fsF6U0~nD|f8wMH*sl|q@koXW8b8NpwD z;RfHfTVvlagGm}9-KvVAOJd`_$rX=rTRirjw_=oMn_2seBn!v_d4^{)6sZQj`N{H5 zEek9X*A#un@Io`bXtJ+Qw^F|mOsLy6!lnAv)uj*^4&Om0!QJgGGQga;-+5b^uE^ux z`9MpB`f0?uX?v|Qvb`f5bEPFKhuF{h=kqkGBcl?LHk@Tw7L7l*?mMvhDDuW1II)#{ zo6vbhkKscXzu>-7g=QTt4i>u$mKe}qo4w+$n6%6O4@M>ox%`Twxm`%hcN?cG2UYfW zB;&3_h-L*w$ZCW6dsyZp0F$kOB`(H`CCI@{ajl|IaQ4+=21*u#M6+WhJT~;Bg{{VC z?B7(wtoiL~o>70QIWh^0ZIv z{113*LOq!`uA2S>%YPUyaU-w3L*O&o3R*EdBun#v^JoAE4flvJ!|&sbxf5)OgZKoi z6ki&exA&94($cfnkALTG7(U#kJNKqD{^Jy`uk-G>{a$jMt~G2w zl(AnI03TT3owK9x8MD&+abYxkC~zD^R9CRV@Yh;8)jnKDV@ts~`h*SpuRbxXQ*W*F zOiO1chI;9+P6?_%mYnh%-8GBCBwPOKABgo@=fcc8cw3-0z9&Hb+eAFhKM2LJ=|Bw1 z_LK8w%vVZi76F^@V1e*31LD#?L>Dx(D1;&-HdkE<}yvvk~bVAuAAJkN0WEHIz+Ls2y@ z4J}$P@0x1d#67BK-$7yt;(xQxAk3UwU+L{kku~w@J=Q_7uKT4=b@8{b`P#luNoDVT zgbDQPsFnrSKQ<3vy}9tvJKaro%IB|qW3!f}*%mw5pmnDhG6UYDI@3FCcxRjCc&4G0#ShA9<4^yYysZPeDzwQGEU>iD^e(2UqBB#?lr zsXWW7_iTIux-iqssY^2H=v|){L1K2K5MV{ac#ZOT>d(#|hB-3p$Yk@N zro?{97J2f95F`;BR!mE^q<6tN_p~w*g|vBoX%4hQt`uLlg7zon8}Zx++_C3U9<*XNL3X=h=*<}WVz^n3I5J*L+d$w#D=-}saUj!Z=w2q-gS`GgX031Q%zOq9N+zQN*;!^Dkb0$ttq3kQO zLzO3S$#ajDn>iV5jy;7o*@J2aX8?xUJ9IQHT19fbOIFtr0~%Z~3WSn~I@O~rE@pc~ za-;?-TWKFt-nLe1-AvqF&3_LxR}C6v{O+uJE;G{=*6H%3GR$TE1GYXthO?<2ZM_bR zI&szaH6qn5_v3LNTGNK+8JFagQAUeRHjcWLQ%zjA)kk^|kUngEYky_#*vH#mN%SjE zs3o~2nnb2^GiJ;7vBMLAEIq>6@y?u|T=+k|!LTBhXo71K_;jCpKjI9^3P zN_h^Kc0cKh{{ZMFzD)6N`q5sF4pNerF@;o>tXlAQ-e0J%t;w%O1`Kw1s`4Bf(jaj@ zCU6ADrFmwf^E(>%V87YUN}HMSf~T!VsC>}p+Ptcpl>-(*mgcLutd5ADk?_~TD{|l4 znuLG2i2mgp_}ka$E7RtcnexXKjc4xI>8GN(1d`-nb5*2)A0dr#8z$S}V{{T)!`!a6t zyV8>W!(00>YZD6}<1TO)-n50UsWX#N(DG~TV^O%cZ#wCY*66%16{z!#M@|!&0c-@6 zxZw|MSFwd@Mo?W&2PZ4s+3-fGFusn(?ij>D3WRa^8uXPLdF1D>wP7`RdXTmi$m%&Y z1g-%0u6a$Z5mqzqB-<0Q^sL)^5j2+U2hGd1VkT@gnGuhdktXekm#`8cWh zJW^(nFI#3fmSp?UFem9#vXm_|B&|mM%qDM| zME0nVZntm5R`pSow>imU+k4j;U~2kYq;AaTf_94Gq08+Wk-aND8LMhlmm}7%!UG%{ z%dLo#FGP!uzc8x;MUEy4*lgDIV$`085^K53>nXXIBzu_Snxv43Q9;~{#PCl+Nk^J3 zwQu-ySZLBt8&EZT1UdE z>Z@40ib-4sDkHUOiIVY0Lz=T4*!8TeXClhngV5CJ zaqn6q84~&9BAW7TCkCj^m8X|?2CBTiTuqbOoR)@5c5-)fZjF!oSgPuux<>A6BXYzt z6*%>$%8NW~jrmZ7&USd3)?%lpYSYr+Hu5fdn$-|zOqrF(y+dJm_ENUfxfo%To}#v; zHwh^qjJaLT^TYa-?=~&23tO^-wa!W(O6yS1A z1%2pCL!vD0{5z*!uAAqkt$lAO9U48z)!2ALP}VN(?gpR(nA;J#UAZ4h!f7XfVa>s->8W8r+ISUFb_pws{jDK585GCV^4 z7>#6EC|j1}y%YG58zZF#te&Sa<8=+7NuN<(PahJ1Is;yPb?>vXkHULaoO7dF{{Yu9 zT+XWtNq-_B%d%h(d{)qUBbsYMwxOY2v@0{I0yv-sFh|d~IT@}t{uv;PD{s1GEsjP2 zE#8W?VC0p}C{mr9vCnGK31mRMO9mWgrC7Igw}&&5V|=j(sr0VAHT{aSG@M^EZE61i z3`-647coKzjdsjFQ-Si~xXDIJ*Du37HsdnJBf{fz5tHr3XFdE9>jG#= zc>Jxo1HNlNV%qgJbuDc+EnZs5cPu+2l@Zt(PVuuI$1@ffEYYO(}CX@GUS#7SIj%%COZ6+VSh~;~(aakp( zo%w8YH!U9FMJZD95Tf-#0>)(_Wy-xRd_+t9F+!HH3lOu>-wt z2*otfoUg6UUQhMRJ?o;>^P~yf4nb8`5kmVD-=b*iD{{F z;f#c3M{4hlPh(L&&+r{ue$p;1y=QS0tGXuI$EuUatqAWVjN!gvp2oh0jT&>Ocx=y@ zt6HQga!G1};%`5M`qgBSvdG;{abu|{#V*>Oo(6KA+v;dQp?2ip5sJIzy9GQbUqjZp zaPYOI+~}R)o}yJ*oiO)Rz2%l&DzN3 zR+VeLkjZ0Q}m>dk6xNDay5&r-!m-DPu22*H({99n3 z^3yd<{A*$f+mnxK)-)!BrjY3TYsTnpWO3>RNS-vkar?UlKT}D?uA_H*B8H*kJxQRJ zCbS5yg-_xu#5`O6v{$EqR*QEzYo?mHYr)@nexkm%uTBR$7d%yY4>hcJ1A_5DV=IC8 zb6#(#j4`iyTi7F#dzot7(RcG(w;hPDCa&QV3G!4QYTWRLg=g_Lsu6V}L)# zu{xot?c_maZxyAo1cDXXiYlwjeR|g&N!_!nWH--MUV76OU`Z#fVl>J_=ex(LH0fGY zf#BYJw*DHopy{=0S; z86@>4xX%{&+DP>F(=7>Ckbd#HU{^&b-I&#qomH#9+&S0S1#MOG9shop`Qa#P;m5tekBs%lXlA5z6?6 z)l4vy{{Wt1xyV6LCVN(}CVLGNx0RAf0f;qSu(K5(b%jtPI^+a?J!ylQ1}8&TAe1_k zBjz0`GNSc0>|?>fQ?fyf*LC4b3u_%j>DTgkkx3t!1N0fkD_YQ|r7calnpzzn+2PWB zMW@`Ns*8wONcHsob?DZNVbbG>a6se=?VJ);UCvsPZq1mNvJ}2W9qXCYE=1a#?Vf}I zR->)Xhx{aDGyedjztGd5;( z?9n!xtG%Vjf?`ZeNJ%?=E31u~Mcj>!;EL8z_nQ8!Ijb=~-*FRUfa5sa1_=7lb%-P< zG5}O^Gh0)fCmvb7wq_H~eUIPF0r9XaVjt_>krva$sn zS1+c^_RkaF-2VU!WJagyT0n^yo;}w7*L<3EEtuiu@Orgx_#eZBTgQKVxz901!-4K< z=kCDPp0YgbH#Hrs>zy>>S90@fKyU4hUr*ISjJJYM)F{*w;Y;_ zaaB>=)_qLMcQazRPZ~}phA-2Mj*7l#55wejA@YAF@C6%vQLR)^L96GZ{3^u!^T^ z{<}2wY(~K8PU5#D=KOA;_b_7$XdNXAT8?1)Fg1ytcBwZhIL%$(vM{a zE5GYv<5FriM>Q__wHTRDc?9Db&N!{8S~$T32X!11UY#0EQ&Eoh{{SN0OTkI?8zS2> zeb~{T0ON|5%g(cA0ojmn26z?IJS$PN)aF&)?-O1vR4i)FqnzWPO0h1Y9LABW29X1E z)pOG|%TAnISJc*3-L|vS@i9O?XPt2=`^0srE$=PimtbWeu?Gv#S7L^imWD2CNh0i8 zt;-~=tO63dJDs`Y{1~@~vJ-wug>Og-bHC1UlnMuwMjaX2%>8pkAxN(MZ8W}>$71mi<#u2@NW zXLw>&7|92Zz*j9wN>aC5uehaA#ys9n^dfC{QiD#kzLm>FWBIlwL%!}q9>W!_rC$wV z%0`k!cVb)00~;5x=dVgtsm3toi4>~I%F;Q@tK18QXjVAk-H^@maqaI}FLk*ib&QSY z7$>2tR95%?t#Tb#(SKJn?`27#Vx2+39)_Z@7}MrH)FsO75_eZQ$864iwbALP_aJ*# zl?#T(&8Xy6%dx)5j_Pw*;omMI56s?+_tA|103pjCm+Mwg28TRtBei*YBF;~dq|bGaA>Ju!;7Q?k^?wOg_|E(=0YpXLLcRd;i@ha7s=(6VPc zmG>itP0h5C@*EnH=TL&u+2)c!s=Wc~Y0dRHp)P4Qk2%-8Pd24-vMi;to)`PyTA`)f z5Ff5Ec{SnJpFG@;RvJYj-j(~PZl!K95w2c&{OjZ+psXUld2zSy5MT1?>xzvR%Maeu%vZ5 zTB0kpxn}bhKPLbh(|bd6W##N>r0QF#{Oh`mqwhr-$`02ybgOu+EZQbb=R9O^D#UQI zZXjS9?QYjFr%z9KyK6Sb1JS9XKhMNLg>SnP7*N^k1-hM1XPjP z1Q?IyQgeapUY9b}oa;uNj)EnMTQr5#799>cnstt!6!!aYI3!odW}MNcmGr;)p6nMj zJx71SKOW*oA46HXmxe!d&XY*3?A79`jTyREIV)(d8u{&-;qbg$ULlvRu=)4ZL_iQ$VdGE|f9Yad$Ct*xWpgKj-5o}Ec^q-!c^M(F0RU`XQxcdUhQ zvS4>L-z0OR&^$j3Z>KKh8LfCCh&fONc~u|0&q52`MQvKvKeI@{4iNtUD)4U>{{XEO z>gA5{k;9GM7Q7wzm+C9)JlC;I;A4T}t4r3lj^a4)5=WB$_2zo2?JbJ-;rs)dr^I3B z=KN{%R?=wwMr z1=RKStHyXDhZ!7JM@ns+cZj@GWoC^VNxnnTRP$a{dv@2Cl1|-N^z^Q(5NqCMb!UAF zpfTt(TH0@g^}Shuv(smkAL0qe=UYljD(uN7-iK?Z{1fpV;s?2VYe0KQ`9GydaaTaC=9J=hT0#KK0Q9Dw`Ex8=7eS@+z#^+z;_BP$IP4^Hu!7t?fX|20iJy z1xCCOXk$jspL*(izbMKNBX3b%=8kQ(jXTL{f?Z^68QSQ>p{?+?=4qDRhTYZt_X5f* z$b@=@gvumN%)Oa?je1?Qh1Ef>>1!L9O&D6tn{L^`#=uQ-QLvV0ecv|(igI>I7wumq zt+k48<{9KT92|9}ft)(zV?5_I$5Kw=I@I+^>{Hfl3!y4HbgU6;D_Tnn>>FDgu;RS= z#kmlx!5~;!Exyc>F}PE}=nv4=wu7k47TZgfC!L_4$Izbj=u)WDQhKk{)mKu7G_*QX z3lq6;Pq#x<QZ6Ukl)uQujZGVX1pK*t>WQ>?5m$@2=~4_x=E1Y9<(sCF-Il~t`| z2O$VFN$OQSi`s10Hq&6n+fP%DwYM@O!Xw6WJ6j&kDGLv*9cV1)hPJ5z47 z$s@Y*;Z`aJb5khX)+?Jr1P+G<8;@$S6wVx}?OE6*28ojBgN)ScakzD@VvHveDPMkZ z+OThBC0G+$OJfBed63!t{GNbjrcS|c`!ibu@D(z2XpL-nmtk4^BVnYPL^x2Vl__VDaLq*pwh*>PH2ouk0T0za1& zfs3&~sH7lMM6$bNo(5?}ysUa->r9bnfWc`jvNi%KHO**SEj&GOs6XD3o?QO`D%J?j zY~u7AH`hEyrct?B%#wX8+M#ISMO=jdU=Eb3y;3%%+^`}OIFLwo`U8q-pXjlxAxte)H0niGx&UThPO<^Ue$1Tiz>!75J^IT_%vSHkN zgIm$~j%V>1+Mqx1i0&P(KlWPV2j4Z*)txZdQ~aq^44O=~IQ05cX#yXNid+v$Lm4pr z+kGm;01Y6opx4Ol~DLlvTC6p-7LZN|Eym561~c%|J&!m-Zy(TVW%*cm)mldL{ufs23% z&JSAQukoF9eiPSp=`o|*dnIuC%dPgQHNC<8&qiNSMcPW;g%qCVZ}v^Sl&)=;$X8ve z$Op+uHkkrgv`aH)LJPlk{{RZkHDunWPqB(xe^)uH%TpcdlzsyO6c5&`%?-piuPJa* zxBxFAz04I^D5+0tlR698XgcE5`7QQinRo$6=ii#t)9vNj=5R(%K+pJBs_o9>(DR); zJq=qOJWC@718C0}t8(dah(LK6*>rsh<*OBavFwsueMd_{`?hOS8yLEQ^k0*bA)bs z5}^sJvB_f4ywU#vt`d{Em<_{>R;{*=Z*``9kZx3H{I+a--&*ILR)rcdv7=xFR{?Xv zji8!u{3G@Y2bFUQ+(u<-RJhL4-Emxanv#UQ(x}sn<7pE?qS!;H!DSg?1acW!2LeOy z{(DuOH%Yg$x{_p-n{e8SdPb*`2jg7N5h-0hq4jkeKE@uk;pm0ST+eqrfr#3m3;~{= z;<)Wr&C=Mqzo~~ zQN>FXo<*??etCL(3i8`MWQ|cLm!MoZ9aJrHQ4(&GKD1NTO_0@*E$Gat^r6U5tB%<< z(2V1;A5sQ!o@wz&Rz{0xB0@8osJk+j=8=*$yezPys*&%SiQVR$s8N7V7~od!T@of+ zo%e<9)I_RBRn2vx)j$~-%~cwfm66cldUqvQanVWQobiCX^~XxSGE{`s`B9 zB?quIu!qcth3(e7N>b&T*5B9s1G2KZy|4X$!6QUg=ssc8RKI5#+maaa4mht`btSVo zslqKLTDFZ5$RjLpexy~6HC09v10{j_=DvS3l$|%~zf;tu@L1Gb)m!!=-H)|+cF?7{ z=ax!l)@E-;uKFZzDSm>sucAoClyz)=8#u*tz9m)>u6ky(qx?i&MeZ|^)OPt`Rs@83 zgC4c&Gl3qP;m8YVv7Gf4td`h(0(w>Mba+pq^D`d0_8_>xOC?<07q!5(;;slL_Z^B4dDc^!^IsQ&;su73MadzqS92n(Ju>0Xp$ zZ4L)Jl=Q22)%-yeYs5?QKd`S((BfDF5PF_ymc~upoiYH)kx*Vjk83E~$wEI$%?$G$ zXfg#x;DSJ`6he1nxvrXf9Q8_;#C^5F?r~M`zjb-jD^?^`lx;qvwNZXrf{Qlu`9}wp zJ!<5Zt1@|zFelQ1kRg%@LFHH)+OfXhdknK>f(~$SYE!ehqCIQ-Hs4;fwQWB5w8%3K z?p`zKbIBgZHP`4Ggj$w?BA?xAHh@PwMEt;x{{TZ>^Qe+eCNoanhcT>ACM3(TEyr5I zhH>VyDIkm%;)=7htU`rOMAo~01!*rfOCn>d9G^;zUIPk)oD6gBD~?qVrAA!NUozzP zOC&rlGC{6p?n1X07*q4OKT5`K`a zfyGsoBaQ9bXgFb!upickS!{`x9&&ene~teD%v-3l7?Bs|0~qa9L;^yt4%r8K;>Aww zMRYpjA7=#)#eim2!zO*jG2>?$U=&v}6Bz}H%H^D42Xo%E(@paL$ij|-n|38`Iz2f| z+X(Mk5$RB;R3DW^N2$FVSdQYx9lt8=Be)ffJ;b)GRzz7;bmJMP33NKv#2?zWGq;rG zpnrOqlx^m3F-Y#U)dX)s&O|G30VRmeI`K|TItg5WzUH4IXS*CVIn(!%Q8YB3Sw`kk zt;f=#mraTpOi3|j$3E3if#g@hDC|~ic8QsHWO~*W+(o2e+cZ>1nRZLL~;%ojU( ztq47*!?x0Iw~NNhc#$fkL84ToHiOkuzgK)+Qa_hx|Lz{JS|XSbWl)FVI(OJ(RP$ z;HQ_|5y-5j{o{CSXvG+cFp2;J(uOA$n>ULn+_?g==D9n%;-KF87A!SW49c$GAviwO zv2}H^K32{}XEkPWRngqZ!${2U)by@*#MlsloRFtAr5}kLi{dL^N4voCx&9lG{{W!Z z3H)cC)zG(RR5k*3@;lRaeAF{WI1!Gt{15{WdFfIlNIFxp2&6JOm-lBN^ryhz@hi0$ z=_870mN0>nnvJ^qRS69&F~u>QfrCnk8C843H7TI#pY)nPaSJ2Z9+~>Sc|zUCv!enIqBA`{gqEp58+)t-s)mm)zFf#w$X05k$$yiHrU1&{cDpH`J@f6JrF-JD+PN4k zgCjkSaGH!QESuP2z~l~<*N2hIS|&}>ViTWAr4ZX?FCA;Xo4YwCv@jfI;MY&5j6lCi zs)a{nbh>m3`*U3!HZgg5!0BFfSw3TB6w%7-7K##wFWT6IX3pX%Q{YMexuYR~gO+TJ2#~Dgpd!3;WiI=u=<2)PGP% zOmHf!(jWzi;0o(h{nq;!N~WoGW@&xzkf#~zTUJ;x0CUe30394kCFJFk;7_TJbYp zZ(@?}zf;zsG~=l|c%sCA%VhlPGf?q$nT3^P1fNRz_|u%7tZ3&5>TTcawM}Vt0H~_No^mT1G~YV8bt*1b zV*^rQv<~%%zck=`*P$blDD3q8PWHmlLR&nGjtHv*Ue#njyRmBElp^HYXJltItdU|# z^{MS;F9M=$InSmm#XMX7v{$2-@>*P{9y6Njn6=>VyuVRjTL{TLE7gOs!pTG}=|QyJ z)YIp%SmnG^XXU6ph_5Nup~E+=d$?J1P&ukCObdHCuWpjw-ZJvLU?>&ro*VGBzlE$m z(Qp<`LP5#?=di8{`a2g!H+LOzIhI1i)@|I_2b%Jx?(TLOGEJQGSohMFZK`_uRE{fC zh4D7C^BW6y;D4=PdY?+<^Xpxd<7k6sfl}5$07<~ApJ$i;d785*w25u>>$|B$aNE1N z=m4)n@aMwyn`Oqaa3W5=N*;d`T=naFIO)03Mhb6Nq3U{0pQGrIELJeZ7z6KPllax? zH5j`}wdC^7ZtU;pgjR)SzKrMhqM>Wp{{ZKptra$8>#pT#ZsQ=G;<$esUhLDhMa#%> z$E965Z=Df3%aQ7NymH+|y%k&cnB0A;OVyic0ZuRguS1mMQ%6_fD*r>CUH{1aU?C2JbF+wPCKZj z081X=e=%0Ap@+=|IWQ0KwM>m8xz%a+Q`$)zTPfTJQQEy1MoXKEX1=@f?e1_kxckli z_qAmT&M%bOQRa(fZDP`CQ+!OV?b9{R#|*ae6CxF6>zdZ3RVjrf`@0#pjft4|CZJ|3 z67%m|ZcgUYie5$#xDS7N*+@n@R88ts5duex zuf)~18%0dj%cmr?WgCt&o-3Txk6M(Pb~@oDC3UfbaT3j$9EIbpThs3VK^lW5(T;o9 zbT!b{l+-26_BErolHyIEDz-UV)UvYJb}=5TMQs@BeI+`J*rTGXVB7MKoY!nH@RTnt&zi)|Mzo?}$)^OH zrvseUafPLo%Bja{^XpTyvCgK6VYX$E7F_HZ{AsswNX9e^%N&~IabV{X3#)kxC=2&R zNp}>V*$j4^}sieMCJA!2bZyYtIfm-1}DRc6CExg|d3od#Ef>)hU^o6-mfm zlrThy{c}za-loBDo&I0Kn`t7ogfZulD}O3!5g}NO)e|*P(GxeXN?~sF3~qVOY3k&2 zNsSj^eB!MK!zuKxY3^+ukALufvu|(VTOlI=cGlSOC6+jGSwd%y~EzsmZryRG^}+WnN5e*9-TE>s0L^E#_QG zP6uLXY;-f7)NUE|Xw?ty`OoED2A`HtdskzGo*gya{zkOlx@xCNL!H4?WRuU*x5HT{ zE{T38HYw<%)w7_}&@HbF2emPYRn7-figYa9tz!w@b-2J%V4(FK=|liI;1!~#@9;Vy zvKrw)+mEGZPCzHtl@%vD7bdN97WFrL)sUtx+^n$k`g@)Xh)r;UmnJ} znY8vQT}QGvXvRSwFs?r8Cw4effm%^%GYYz+6H`W5xda-b(Xwf!i0UiRr1eK6){Mk! zSp=xW03!HV8Hm;dy zFU^j6eiYebR*=jxcKVz1fUmS2*cJa5Qhs znUt|rp?KJohm?k%P6tKws`HnGorLf|I<+Xb%9W7R9AkF%BlF9ugkk{gR)>Y)xVSP& zmL+*4*NLB0bm>AXtAE$xdpI)!Xt)&KXI>Kyl0nZhc0-rrky?QO^aHV6{w2N4z)8gEK{G+vMC6p`DG5J@K%XWHB zR@h6}<6S!E3;zHtoB0~~lf}R5MSD47N;0wLV_R)px8U!-zfoUeV0u@kaSKHNV|b3( zO{bT~DPBjcSjj!dml76sH~n&pQX8sW0xD zc}dR|=GUpsd3QIZ8zVATz^q&8`&SD!>SWDvwMor$J|flzonlImZYBgE^d7ZT;^icb zHjU3XXD&-IC5h)We}#G$F}Ysrxwk)24|CoC^p zc{>Lcb!Io7QUC)p1+JTzsGgZ`YY9lgKM0$6_N(7uRvA_yha--@)y*j#5vEBT8U7O>x%iTGu!6_LsWO;4t%}*&c{dN43G3-u zcONVudsb1GGP$itxUp>C5VF)a@%fg_M^)yuPeYyVV~Dr1xbIu~WC3tZNiAq}P_Gqb zQ#H{}tf6Ze-J(^8)KmPW^b|^@rMVALJcT`}tpfJVD9M@12yfZ{0E<06Y72NDP?+ui z0FQJ$pYNaWt+})@aCgwzOL>ugUW3roiqogB;wu*7%@UFzigWhQpN@Sh^sm6BJwD+> z-jcf6{)HQd&!OX-)-B;tEUb70ag0?*SzMQO4prOrMl9DW_CGChWGqi0diSZV<_ZGH zV|OS&b_OzQt`g{tX;NPl*L{m|U0Xz22A2~%kK*K3>;vqOHXnIooRiwRsWq*Sb`GTB z7d4~b@cm5NffH?T$~MWCC(^P10OTd9+JqTEaqKyz9c5&8E_lP5chNigwJ-PwQEM1t z09;2I!ejWo=^i1rM`Ou28LwI}O&=49rrhOkF8$6oS(EIrzW_0;O+IFl266{pYsti` zNbgWqCs~=cfsdK7L6x56n*#vgSDPt2mg%CE#mlw8MF8Z|>bGVaM1*5=cA_$5I%uCj zv6}j2V!tRpmFTf)$sL&S>K*9y*$Q z>~5MOYa|`bC)m@})v1{{Ap076nnPxo>T0=++)>49QlasCp+CB_x8BFx*Ds+K);wMg zL&g}$PCIt36tuXMRnKIBaTv#?KDk-Y6%5P*(i$=D-#Hb5de}7`O_MREf10`-Hu~Z{ zA~j5H$>+Tj*v7WR6WobO&VL%q)W|k$2ViQcd`BdHBSoc;{uTD22mG`$h968bv2i$+@rouJ5^!+D~`Nu zk(YZL0vw#F6iN^Fb`yc#oVO`#ayK^T%?wUHVa;?pe1#xTc&^w+QlQ$|Kg_5rBWl@! z>qM-9@En3pIIm9y8gh%LCu``w{{Z+WpN{9UoK@^ww!GUO1FLr6_ov5uBW_lV0sJ^M z-wZ4xA9t zO-UMas~OWAqY95nxoD(fe&*_$@NUV8I~|q0>ouup$Sgf6kX#F>%8!-Q@+;4(ts9jW zsFrTgv0YdMUN(B@dZkF;!0x%$^D;(MZOBmnIvfNL6)_at`F zhrbkgr1sA2&ab;1;MJKWce1r+#^Jbd2d#LmSu@ynl%wST076O2%Op(59GFJ#I(}6$ zS_t(Ef?#ceGGhQ9PCI(i<>q@Cy1vROCv6|*gu7Vc(iPb;DJLM0f2}ga`FE(WTaq3n z++#e9irFhQV=K8q^Gi)jdcC{}7+Ix#+rZogPfmxLt0kOqqZlCbiIW6#@{9`6#Tml1 z?7Bz(7-_PFsb{uv6YPG$ZneC-WNsPD7!>8WI@}eM-wEqCDP0?*` zUOztHU=QVm1cK{N((Ir!vpi*gdIAPgFgfF`bg0JWbFDi&KSQ+9VlhRG5zcX2OvO~> z@m*A-(CwVB6oig+?&75TL?eyhd*+Ii>MfDAB^{W8TYdQ6GJWW4xZ^ls#atCjSk9#+ zPvt==^BXr^0eN&;{#0%~hCj&TF~saxKqV(!N_L{*|O3it{b0-6e7h z=l=kSeb4=JZ{%y{Ul#uWtrhF#yGZk~s?8Ss8~4}hE9_eIju4`N87xaQO&g4>3=vos zo*uQ+E@Zoryv7Ijc^`CFMH(MBBw7lBN(Mq{cI5n_Vd!a+aY`KU#J(aw^?0NL|lG z1e)+ITIcOLjm^e>`;sf7g4MG+k3&DTYWQ~CUHF2^*@@XCm~W;lcd?p1Ha#l#2lDM@ zRs<8aLyQd8<%|~%5}Sg#$3;06$s?{WLe!8I`H*Dy9<^1U19wB{Y7GuQ#jE6{P$4s>M!u=qM=)I2~!gb3sG)@lwaZ z9E?(9M`PifiVb>RKdFFYa0MMXNu>Bhh1$|$`L-s&T8ra;Hl`swMP>(g|UiujP^WzD|b(b<25}* z&B$Zot|WX8D`aF$5YSeE2yg{Nt{uvban`OVhG*SQZ!W&UZpQ=tYmVO4&{{y2@GNKm zRT!lZxD(;A(vu16>aBH5_P94$%P*UoOD$_s%QD#QaQXngl8uX8sX{`qWJzRL53sE6JPG z(!*l4+dEGG0C9R$cDj7p-lOIbh=IWRP>keyR*|H~X$qI(S|cWpEWEp4H^f)Zh75eA{3^%8T{HJH z>MXc2Hq`nGsXIiNtxro+g~b`H4M3WyIiZ1*ao(_R&NEQAHbxZALE^eiC6MV6mN>?E z#W@*P_)3=;X-?6BR4>LYAL&k?#BsyoG~YIPC6zj?v9!}L$rLRq!yqaf1OQ=u@%j{FCN2C>`0Rfzyg(yigB_r@2*N5 zFM7yw(!SH4Yo>~^mLcegh(1Y;xnL?dW%7whc}D#zTv%Mj*X*{!WPs%lCls1=nSwK% zgU?=uyYPzel72-knXeq>0)gJ8apma zYgYz;vOzG76Yl}ltDd`(X%#lqPRqj0b8Td-U5Xxgt;Dz@^D1$;^ITPa9ZIHYY165> zIcy$s4QWk{rIQuKR@|nPu2m9}$^pSAn!M46O@={?de@mf8Pd#){Wv==(94eC^{m67 zCURKw*w;llXmd_Fn7Y1+3_EsY5^FZ%YfEGh#5cA%^sf9fa%UZMqZV`bx6EZ_;15B? zXZ`X>6{}WkQGV(e#|LnBTzWC5#i(ANk~_K8M^ok;QOcg^e9dfIj!V5xXsoS_vb!Fv zNhjXDH%HKIbR8h8{`%@shj!;4!m+D9OGO*egO|L>eBm7B0QyzLxqNZ_tKZA#8j;l; zxZY^30GF5VH3A{&Uc$0kA3ISwO6-tCG0;@Vi=Kj|vJ$Yfg%R`>=iWFjEh0$xFDEt4 zUrJ2d4zE=?)i*`8?DPw<)D# zKwLZRh0bue1HEk72DZ2n?j#T!uLioH+g!oQncwNs0U8n9b6Ta8uRP>eR4ZFV4vqCO zH46{kiILqKvuBF8X3#uNw+un!2R&-NqvpDMovxE~?-i;wV9_mZWl|@=3!H|j{{XY> ztfOfrpL+wqEt=b&R_Mw&LX zyHgdvnEhOF#c8BU1}oun3clMFIj-lZqspv1$`yy=EG3iuE0#YJ6Zlz;psp=Y4cd{$r`3Kzp0M{n|M!snAZ~D<*wq5YZ^Ksjv--CYo{Y8C?UXj2QPy!Qy zlUQ1{?^OqZT2s^B>@=>RtVC^-3j>fD+ifb=F<#hh0+1CXopocs0_x~Sl+v?9{0K3JAu)y#2})AZ|m zBtP6ynu*M_zWL;5Z*yKvYSODOBh;fpG?n^`(wNPPh{o(ED#<=m&bZ68y`cs#ATO6s7rGoIphuAjh=3A{)pVn>pN$JVu$ z!dsrch#KW&{#2c1Sd$O@?ompRmQDqv21t$W?uO9_qZ>w!22r|mjP4qa9-*LgcZ1Rm zA|;`}v;Y6RIp^*3Zr7gc`PO}ZZnE6J5QDx%3WgLkLf6qk&Ah@06~iEHld)Rf5_FL; z*=ry(U=`#G@%sZ(l1fGgEVB07+Xu69zV|AWiHU~p&I&Q>@W*IwzfQiKkLgojPud^)~Qhf3~h&~ zFZDzRoYDxh*srKb;K8txYVB3OsCtVj{?)2Y#3Ja8L>Hw{0>A4E_8bqB!u>YgON%Rq z5wf7d8|?8Sw$1%gaioT#ek;=v*5g9ngVDk|Oa?E{OPLU2mSLZy7$B~f{p!`=vDk$v z=#xW@5VtJuz5;B6cGllk{-0*w_v~9>GsW0v5Kkf_woBosCHppSp`Gp^bN@4BqcvK( z6wK3KRr{^TFSrO|zP0qlIk_@RWY>2w)_7Bh=>%=KA5t=0VBHX;|94C=C3R`7-iErr z0bMjtzDuyMc<(c-7721R)cRZ{fisi5-%YQu(DYM@e~tPB*lRCIVDZO9#zc6BDC5oE z7(_q2y>95>rJ`q!s6WM_G|gOzxoDvz-)s8#E>mi)6L4cPNkVUNBJH>_YumlWgE8DO zUUQbUtb!k%uOk3cp>Ud1w8O6o=7?G})lt%SRkWR=`jXoi6Za30|IxD%c(h60L`h3n zFWN^M6;4~5Pf9ou$Br*Mq5dgx5hn^+3xQ7ya_#;?_bS9}6&@~$oY2La=%Ul*dEb3_ zVqFMpp%spn!!i3`N}UQLsY%f%<&AXQU&fWh7MJ&+?2-Ox3a>xq{*5uuBn=(eMH}#$ zcP`7N_*F|f_Vc3`qfCyGwtaddC*4LQL+iq7x7Ct6iKH+$#kZ)V#Z*M7GXa?1w~U>- zd`wk0lxy6F56kZ7yc#*w@neXNaKTnbX)NcP6g^PIX)+Ya`pmK|AI#J8e#)Emim@UE^GMJ5 z2Z44x`C7;nSi=EFOSda6;(Ec5moUk&ji8j9v$y*c|;X3}Xf< zyU*<(p)T~)M2%K^zM8oQe^0p6d$I9m_fr42@&dKq!?fPvCfO`Vvzf}L@j&5Q<)!LA07@KZx0;<+5&gXP9x$e)+@&6`UI4!CP9bu)+>*mk#ru_fsu!F-!=X}OW%!aUxg_2e3pZ@dLw;5zo`Uc}_{WZ%6q0f{8Myl}J8_CC=PER9EX7IG{B7gQzhKF-MM zk*m1u{8;R?1ZZmne&-u2EMF9jPkO9AsiK}UR-TQ)jMN@RXzQZ}f$|IWwvhR>m$Zo^ z@eA}#sWrk{X37($BJ|(mV~$>IeR;dyZN-%QR#Jn5@DIdFzPnA!Z{`od0qXSwDB#!j zxX=0Z8Tp3+iaVzXi<1u?;U9%YBf!La_Oj8q*sEb=jt#2Zbl?4eYQ%Ar^FB zP9pmKDCTsw_-jz5XvXrj*?0tn!^RrW!JnBh-MK(Vh@6A5WotT-XE9|;C-b2Vjut45cWxWNGFv&n`i^$8ct1y;&$oH2>jo!NfE^M| z^#&%DMepj`W~3FPFROQLZ_|Wd_c2X&67m8wJwqDlnC4xPji{Raji~v6Ow!=8=4?R97ngyFh@kt?)c?UJ2#=o7VHClm8^Z$c`8k@>X z;wX60Nam3WMj|}>s>wjjd>hApBh0?8TP{$3cEj*n|Y2*`aHo-muv!S@UE`? zHb(lb`oscX#J(Mz#X7+vcJ4YW&EUGmM(h6Fj?tF&UsiWnAiUuiI$CJ}#43A^O41#s zI~Z_L8m>+&H?D}_G!?A@BA-!Lub>*3ZJ60ydM~y5KFM}_c`4c%*Fk6)Rk#x*VOkMl z_;Q{#z|)z|?`~zH-?nRO_yob7BD96QVMa8-&LV%*Om)2%7kodLg>A0`IAukTEKed$ zk}roJ)xbv(ny0ha?b4JZF@O5Ob~{(A*csWo+^SueHFflbNwu-O z&?IMUYPh3Pn zm+MA{9tL9=1P``d&MmF{8J$Rh%G=FeVwbm4FAg~}^VbW+DOL@PDnf3`TR^8Wf;kK2 zSL|7R_eQD|6Mr1~bsFmPBm0Iab{DeXdB)voCkAB=k;`FjwkRieUY?8Ydy>L1HxWIH zu$f7Ag`_-`qZf10>m6W?JBA~#&Nvjr$b1CT{i9X)-u@GqK>YfSq6E8M-+UK67UNr8 z)^DVl1yh5QVtsUMtYj`RO$A-R+A4qNF$JD&^Z=&61YqRs^3GEOOtCC6BnPDGt$k4x7-+U%Xkxyqvu>+lQvIv$vM?) zu_8>&VhXf~%qm1j-#it-BnYf{^$V~*Ry78h8W=omOS&+q0$#|641F@AFT2!NnJ{o< z0nwr1l!ZNYFZJhQ{wB_dZq3K<^iL@?66$QK{ucS1qm6>C>U}icSvLX*ju#d$<%cfP+^<)YZm%~5Ec20P?(ZfOtBac5&c3BweN|LpjRxcdMQqD0UjtudBv&tH z?{(?%wA5k@<5o4enYe5v|9ml|tMxu>)*rQj<4XyP(n_RXY$2)_gsl-9Z0ea&F6{U` z3|2^cPFDV2@Or-cu+&xyQ9j5#S~Ye6#lFLC;dCXHaq4(q_BU;_v*7u-x$|YCyzE5C zZGcfVhjsYy^{+UNHn-Z@Gm0xm1zQq8=B3R`_Zy*|%h#S8;8R(1QJD=y){Eauhg=80 zN|}3Z36$q7jB8isO^DU&Wd_B+J{xh#Xc|`zo+%S^S0__ZMxfj#oz7D%+Fzq<09-1l z`rN586m8Tw4?oEWXR#IvZ2#-jXwCywz4HEl*U^(C)#ct~*+R2jpXt9;_**XTf8NcI zoU7|eG9GxDCkp%&EinKtThULFWY>zzEo6w)-vRp%1RnQ0IiJ`d>ofi~)Qk(- z)~Q8dE+d@Dl{xg@vN+xYqQ1qrw)HD;i|V`bTTX^k#Fp zKU%6k_!?*Hrf88PH6G(F8D@DR-tTn9jd>Q8y>;?_C!}-PbGTKYI_{MrmRL}ekNmKa ziG1b602aQO3_$NW*St0RINorrfrAHJ%ZWFuj6STD#pZ$YA;VI)ORNej7KSAg2#aah zVZdWba!Yn32W1P?`ltRdd*wb+SGg{JJ3+QgZZz5`5Zey*tG~^ifV?pHF8WkARmYaM z@hK_RSaXUFBDXgZN6I8F7zLUzx^;`;A}_z$MO6xsX9!<@H0!T`@i#!MehNd4ZlqO zs5t{@K>BzUTxEC8y_G^pE*y^^exa^?2v5wsc_0nK117bm7l>g5sN!@ZVKhUP#=>J+ zG%>i&5-*$s$S>0wMF{xM%+?feLP<+D5f$ZqzMtMqGYu9%Hc@8634*hh&HsR1m|jvR zG<4s6wv%tza8|QWWl)L=YM|O0Y=wT--n7ajtsoa0lNE*r7E%A1l$g)aZjvaI;ZBD> z;xEEI#>*#}S9i^=^|<=%w%uEOxPsgsDPIbwGm??<;-0 z$F{PdJdU_9+C;y20M>@g;pD$AbT+_cVSRv=u*L^H&nIJ zjxSRj>qU-`ax)PwRcIk1 zwwULs0ybyK_;r$+%oMf(Vbf(nWXz<=u0^Q(6ixio!a>sYkDEHp=iI9Da*Ts*XS>*Z zLp2Sh>ouE?v~@tRx~O5|Z?3)8reu{9OQGW*8{yvYvWl@_fBFTry=R?EN-g&!@lEQ* z4%HT#;}xL9yBc^WCZ8WGr`x}6ROl=Hf0GN*pIHH*JTnn@s$iihht@)|hFMvKf!9+M z*ozsckTp{r=o#3;aOb>05SqtI7a;u}FyX5kGE>HRW|8|fwp-?#i=5#7`?I6Xs^ptH zuqZA9Fm>#4%MqAhoT57G(B(fC`N7)2T57{`Bs5&|H+@U8X$q>*`rW6_-Js>1S~>jl z0@*V&Uj_FMNRy8RArDWCV1gw41gt1^a!Q|%e_&pn9jX&YG^U@L7NCW8u{pC>Id&Np#) z32%Lts!Oj&B-iq1oqK)ZZjGKy+Qnz}5ZmtP$X?_$)t(ODM1+c|dsv)iW3>i>=%5dC zK&EEZqwY%Ce>duS`gM%UV`p5#f zTiPl`tLyIMsZwDr9{sy6)JcbMGiRMX`V_iE&YzahdM!ao>CbC+2+R8Xj`Ypt^femZ z3A{o5y(UbA#2+P=NSl+Dh@;bmpxJwekVBV&f31W`U+zRh$jAc*g2^2jwY0gA9#Hz^ zoN(!`ZSwVA8E^Pya*iYRrBTkQ@)Y8H_KTn%ic-jq!?-VQx?fu}^87zQ|uk9Ox{Tv_a$_0ot{VQqih^pkG+#A#}B$Q=7@wt=I!0t|dD^euR16vX%KTN$sE z6Ova^KphuaCbe2D#tc)|$`d%Q>%!QtUv?48v{yB2C&a37@Wtb^AFkBlOJ+~|a$E!c zW6Z91wb%|_&2EJF_ZI<2nAEGK06k90jvbfNOU;42q&P92gD>$X>!xRM?Jm!8H%mU; zBz^h)uN39s!JYPz{^q8>D~?UBC87^9T*)%h4dR47K<02UK&(Y4(7T2$q`>;Z;4Wis z{UgFOMSH<6Yay^Way8%VI?m<0q#CHaJm`E}@H=T58=iNPK-Y z9IxwDNW9=`9FZ~?jnhOYgDcrykWh}HVM{ZW+WQ<$VsG=cOoWO|gX8>$oBS`kJy7&& z{vP%H*=CELKn8o$R{R6)><$gZg63{@zo;bCC_t2^A#HNBsgU3Fay^$<+vH5TB{vQG zG?LXVbcm)}QjBihdQ^4Xn z&d#Ec5WF5xt5gaQ9dE`E$4n2!b_lG%J}va?AoxXGfNKF=GLnj62fx%QaWZebXLOa-qw(SLiIKnr9%0Ud)5J#sYD++hhQYiJKpx0^e zg7dN(BqGpkgj86ytO}Z^GR|+tY6m^|&Y&}nEbLp`k3H8b9PE18yolOw=Oq|QLkj$L zEk%wM1IJhpIO#j&$v^R(37cXz*7bPNasqUQ@!m~1)sdO6=HMQy_tOg>EzcKi5N&5h z>un~QAFfKJvAH~7JBZm&EGD5Di=E8r(}Q;`sk>K}Innkx`dMz}w%|k$vFqx(Us()O zpq39RwAIuYMxDDVas&;gOT>#G0W?%Ri%0}&g4Im$?RF<27w*5Yq~6E=?fm7@_HW`E zL4s)LgCap>Ri}lIlN5`*j;OK1-rCo7ZZlgA5|+4 zd`Pau$M&0vEKqwUTHCA#Xaa_Dy0 z=2><0!3C4-6&zDHXJS(JTgGg+i3Ut7e?F-c;lzFUv&MpP!ODLf#SZiZI~Z<$)H=qq z;l`12E$G0Uczu}+K$J~?lSs2Nw_TO(K6_p~=dl5@i^;`IRXfry(AK(jNCP>lxcds; zp{Kn}5o$@;HD}Al#e5!*FdOVFLPvY@dx7Q?MWS{d4}LOU>05~_OQFr` zL01LzO_IWy9@K`$IbPYT|r%+<`;set>- zC)9nJBw^=lT%Ti!4e)|$Y zWnJiR&ZHDmGDg=kfz_sTX1w)*F#>;k{*@qm#%uN`(27kl zlDHC(wfMw|KFhkR-c`KPi4$lj>c*7{Yd!i8!&z;nwN(o3TSeVeG*ei6RW z(D5I}LgTcN&QJMIgM*{8$`2r_K!_h_-M1(C{t$M~FkJW#v#(p_lNC&@zVm-fCkSVb z`QHt5X@cNw66Z!=sprtMYd#tn(Dgr3bLfi4tmOLtS4V@)e%lZbKqdhR^SpP%y|gE# z4Y+R_#s^&*B#Sr^oE}c&FYmuaPe4jJTP40S)9=U#LJj%L8fLFe>TO>nOhMKculcbt z<5efM_tGNeytq!4hF5KpTP>^Zih1SlUI)}RZAOUCAw>jv{kSosO|I5QBto~b^^IR* zX^;_4ek<%7n*v1j&=B=($FRl;8RhruEw4bn6w7$!d?<%c+_*(NNjv1$6y6F z(l$(9Xi^q@9UJ6xu-PKA&wtb43~!|#bek8TU7>EuL`TM0`>hl4D=bs)hmH?w2wOaT zFF|B{yH#G&l>ZMS^y7i_&5*@WG%$q~hNNDhT7r#2-x#2;v{|(uh8i4vS$Mabc>mzQ z){!*=tIK4ngzO4u7DcP)R%hqTZ;4K$Hl(xG2ooJ{-mR@1bw=kcZoTgux?r~M99o+# z*DyKTrOTR=?m6L_LY}<0OhY*gBO^?9HjC%q@<%sc)&H7nRfI0bStX`DKPglM2XIrp zEF7$v3g45ToW+4z?fg*+B}dZFNOP6mB|ef^mZwdHarLZMs;M%dTbcqX6|$D0k;wc% zNK>!2eePh`2hD_7*_ue|p9`f#RlS{6D{>oUn^I@LheG% zt=`b4%aTC)orwPE*(A+Kecs!2hcQMeKn?w_`=FE-&C{Vhvw+-*Rm`u+`7}Qt6@7AJ zqcE~9)GP`xP`9Abh3#Z@N&_5RCh_ z2iu`Gc!|q!E-C59=?vgoDz7Bm9q6hTadeyDMU&9%ZljTxF`A}uhGU1VcF^GJeEN;J zrnml5(dJfsj3%T5gGHAhikRmiITz!fNc?^}XkPxKLV`7H| zK1RA8={F&FtWLXZi#@<@#6h$O^*{D zDn8S|%0p>Fmn<}CcpgcPuB%H#k2!B%0LqlfgD@~c0m$hVk_a8Iul&2{OdtL%l#P9t z6#ZL9=Z$OeL-z$k?>|P7uuGcLQYD%?Jzi`)qP^kTZwO@2l6khP$!w!1ERE7ll!1~ZK1WIhy5R;U)=t$Aj!NXMUbIeBaHCz zL)8XyxK;B*M=dR>fT+53$nMNzO%^#^oYS>xd}89rQO zoNxC!_A2UT*11ztnB;>J;{mFES)`=07(XcWnY^H#yR^hY0P3#c1=8~T?{P~`RHQ(8 zd*Mw1a77GbffbKtZexi0?b;PE#~YzS-ERS#<#%(C8Z7hn@v(aoifu4x&T2ejqByO6 zd&P=Gf)rAfEH0%xR@+w$3z-u=n9dkm1(G&~LWx|dixcs&tY%*ex(FX7KCLu{&Xtln zBN4dx{1&b4Dq3$#{6%(?W$@Klw?7LbwJl`K8o1n({`uetxTNtg@;8X4o8|^Uo=%El zL(qsA^ZrTYCVq1??u8#E#TEBfp^38hL^qVPm|?Br%`PKnL;@@;%!5B#EwZQFin{I1 zp*EnS8Kb}Qv+E|$SKoPhjsd~~6h($Osg)Ic(R~niN8fCI3{Iv%R0eDI^baHmstZoT ztw?e;FAM~Rv5&*=8uSHfm_f#SDbY6tP{0j|?i)y{I7gTFo6d7d7De1eT))!F~@{A&as-q+vUQ*Tg0d}UX0d+1_6zl+=!KH$s7yH`fCQ0 z*Fp?rzE6s zG573C^mjHV8+j>kh*cMUJ9bRlKQ{jU*~?`pzT28I+U3nB;(*uppvSWLC4ryN8na zhy}1A8-C>wPM(PyB>AuuS9s4hJ6tGW3WG-|^1PNOUN|V`W!uXwBm?SgqgX#OKQHcM z%S?2Y!uMfLRyb#CzIl@XdN7*%lWg*&V)OIj{`p3V@xQFSFy?1y#BQ%dvw_Z^S&1LN zwjI*(9an3Il?i>9Gv$gbXfYv%9|_hEgcd!dTSll~u;WyH`jqcH%n!>JXlC@`>~VU9 z;RVrv&tbVc)6zdAeBv^eyt!#qp1FSE&Z3KqyokT@_WLp_@%g&(La?^I^+j3ybevRO z6xTs%i&D9IfpOQ7?0)sot4O2$9H&P4Ol@aDuI;eyg|`w#Jj2%wE~BI98X`owufRAR zIN&hMnyyF9?k%~Lp^pzxC?#`;5xYeZ7kx%}oP-3tPw5D30BgO4h)wk18Ge=t2EJR} zAX=b7vyq6#7u63KGL&hG&>juKe?rfequDqL{vLl&bCu((&HFnaEP9T|i6gVR zidETtK7{4tL58Bf^E&GdvdkUq>H5sbI`?kE&egx+ZS-Y9Ic+eDaI*1=Nl3w+@vb#@ zY;B<2J#32P{8X7~OFZB6&mA@$1Pu3Yl=_oWLm_;tzQUTvbWeO@@_q+8%+EW&vhSI} zOl)90?``!cS#BNu(nHI*P39|wW$ZbXh0YCy^|(P{Y00^vztpSm!ap2m%UIu|)?G{E zyJ5+{-R_*~!f56dc`CQ##~m0jD~E1fJ~LAm=R39qR!OQ&7?e2dhB+2YQzK@;d=&7s{= zx8utC-|P#*JM(C>0QbFK$Y|5;4I*ghhdA@!IUG|W|7d+P&PRC>wiaEkMBnbXr?y{_$K~h{(g{mf4IohxX$ZV2b8fCBI`rC3Ljf_- zL4{sRG}S8>>nD6IUR_*;s`U7s?(8)MAp4r>bvb607d9z5J=U@%R0143i?vXB5oRFE z)az{O^2C&uchWa0>@kTYs}dCwT?Q4rpb`r9Nl4BY-0n?v^^XEpS4H&sUa-MU-t0v@z;@M|8(I=4z1i~pVD?p>T! ze_uB1y9_kq((_4ge@UwDzVuWazv~{2lT{Jc=5T z)CjNQf7Enk#+;lRM%0Y7f;C!_0OXEvqx4xd}A5P{rLb zE*){OoQiv65M%p8eY|6-GUFWMSwop70XhmWcW?cl9}{D1Mg8lk9$se*j{&3H-Ha2p zNDGKIrc|x$VK;;GZIUlH(!Ir@JUdpim@77<1oRrU=+ zjXm0-JVL>!<`Ii`JBG38l2Jc%;^L0g>eu|RV|-cIoVB~SBWbWxC~~E5gjAmj${mW= zrf{k?1Jq?`Z3%+s;}$cXpOtOzJv&`Eg!*=!Ep!>{n`KR}$h^E268YWd7tV7h~v?*aq|{j zV+}BnU&q-Eb(KEye?5ieZPm@Nos!u|r&Z$HAw44&ASxRK4A$+mpx)lXJuw_l`{X6? zp|G-6(aT#4UDR6DiKMfXZFd=oToJ$S;u#kxR~<%)@@mpMDUxetNX&*fP>#>Q`a`g* z9tEQe!+D3UtT^8OWGK}Jla|H$#;3SC@nLsoDEGlir+$a)V5!QL}v zyO#dC_*5~^iU+sjMNB99)z(z7pXYr%{QU7j8!K7hUq_l?2{(ei}& z()z)Uh7tz#jOnJRBC9M8c)Feb7iE+l?0%3`%Z07~iT zPtVbN?#ksy?TpuZKJ;Kb=isFb9vyKM+`$jDhC1XCk5(~YJBDiM3zfgGn*gtmzkE+y zn<8I^vhZ;^C86p&vuO4ge~oZr71bp-O#No1NBua|`hEqqxV#byTLEM4OJ;yR7LJQB z5{XJ@miS)_=4el7$rXFJg{3w9;q8)PV`9w@_EHdQ5Z($W@-TRT8L828PI z!81l1d3wfi{;v1jKkYwiN)WkDKABu?SjX-C+sC#d;xt4Ra-HJ>$vpDC|B)IT6atnU zb1lJbQ;Z8{Yk#2&QZp|d)O=+^q_fER?lVfC-R0uPby;)(mTz7flCJibMUWf)(RtqO zFa;H-l&dH=@h=PGjIF9ZZtJvTGtZNMcn7f{YS>E*)`AFtHq%YmN^0934zHo^0 z9qBL%jLHza=LgI1pS#34cxL)Gsue2wcT9^gB+Q{|qRyx>8vvOWEh&38C)$)v+`Oh< z^*=bJPE0lj$y@}Qk8NGr^n1rR@r^o0;q&tQYClbq)vTi6CF|8%Kwsg_S&h7JF|UcL z7yznkuYw3GIs^7nXtvuvgwApqs)m(4`!uGF$C6&fT#1ZKb@bGW9BKfYtAN`vFH~}` zE!pPH%~Tl0Fk#C|+udT8ZBs5hZ*2y%vu2>i;HrdiT_6@g6=$c z4*X6AlLn!Lvyt>xPsw7CQ4ndzTdSU8hO$R!g@_E1BnwWbEuzCpj8=xYCY5*`ZtXcc z4HAu6R}ba>A(N$!=jpdzq1SPl)&m4|dtrq)R8MSFnCGJ^ZLUsRX$?c~l05X9W?$U^ zo9!=&-oz9Z=bLbKbs|47nixdyj_Zi1;6vtP`sfrzmTq&~rme-xRRbb{5 z5J43#Y~K&iD5f1W;l?QeZ~0lCKcCwBOK!l^sSsG$mrb`XpfoMxeNzo5PgPnz-M+N{ zfc$8lxf|f}F`ROFP^`nccM(4`a)gC9oPH%rK9BCOvbplI6Mh<{a8qk&DtTD;E{T0; z1b5#hag+ON#(C|#*%rgumzj18elMeQI^Ij+Qs4#A@0EjZfTe2BxX8G4Z&Vf9?Pm8s zKBpuvzFaJ~f&UV#Z3;csR8SH%jQkNIh`d5Lba-w7Pw2cl5crcOZjQ#$^hwtm9uHHjPhUC?%LM8(DYU-?5I>Nzl8aSh?e&ju&#I|S^i7neKfoV z!aq$P?mR}5r?+843RqZ0ty*&+SI>hDn`W}SfByy)qI~Qea7!ATUFyN+YHUu z(a9ZX4NGDL7$kL4%Qw9b!{fzUWRZ%uZKOIf8UdWzv-bTEWn6gKPN7a1rg>}qs~K(sCOiSbweFn-W|kd)gf{+A7-Z;8*a>vn>z4Us9z_yP6Q@=|Ltr*DLa8D z!+A|HgFD7+Y{O$TDjw2hk5MgsGiRpbHi@U1cA;lval_}jfvRIHAseQo&I+9{-JA;< zUqPt6T13-0mTdVao079Kdt;Qr_#~XTT2N|l!JXRV><4+7Xh}j1|q5x5fi%vIrfXTG4(euxZ)3bCi*IC$K0DQSbtiEQF5Ss=>;L3Q` zA=KNt_2>uTKARM!K(ajVFldRN)G^4e+;cBu0_rY2Pf%W)!)d9yq~Vzy>%*nBM3buA z!nuB1Q@yq(wYJ#J4@@U2j3ou{(J->m!0{0Ye_MlcaOVW02l&Ijv%J)@`>9y z_Fe;w@ob7U3$C?r)qHj{6*v5A=Q5Z*U7RbMzcUflVy9K?ej2y&N*~Zo8DqPn@j*zM~v~9)ZJbfdePLRH5YZbj%Z9&!PW#S$eb~t4AcEslUDv1^q?D@0bjc$gE z(?WWM=%~wr9fqaTS`gHzbXG zQuwMqJuP(auwb)Z#I=XI-9|Rh__Vpp_elHZOA*M+9*WlJQ!;c0FQwP06|VKqsh|C0 zEZWyLaEYE&y)J(i*Ly5Jm&G2;Y!jalo!RoFw7Qv<)ZnU7IXFUl-~KiL3m1KzGyHW0 zPp8my=TPb@bgbUAvbMlGhaYhTXY!Jz zIro0WXD<%xdO%>!Kn-Xv$hxd#On}FVIVorcVND~7c0T&?8~FB7sBc!SbPRhfLRPe) zK;pDdW-bn1tJ#sh zPP`?PrP;i`bB=zPsV~MZmi!8BsPz432ppLC_v&8XTRG%6r_0rbaEf<~nBltU^**XW z#7ZRFd@Ez$`U|cRu+J*dK8V4vRtrGo-mM0~m@4R%Iu1^uFg|GD16#%L zRta*B03FuVO*<$)C$8KB3w(;BI3p?GYOGr(KOH)APv58xE=)0I(u~Jz7&2fy)#mqh z&%PCCNsZuo#mK>f*G}G18P8B8r?YXPY15erd`@`nQI4Je_KG3JUSG>F#6!l6u~#_J z7%XMIr5|0n{xw{XsRBycDBUuSWaZ&#Zr z?G~2E_$kzp{+P1S=q?E$7ff$3%nFXu2DrSe6GIZ)S+}@);b#AA^paRo@D%+mi?!cn z5U<4oGiXbU-_~c3mwVzC30_QJ2Vg)}TYM65MUnpkJYAf{E>?5I+4D$uQq?YwG`%Ri zq&RM2L0MBJ6(xO7iavv#&XdzfqIkf^aFVjm2Y#v%*Azv7=t4Ssf6T=X-%8>wvcD~&Y78HzGh8yLa$H~led2R@!9ozb<*U?sym9EB}8#yZ; z-*W8xaC>}>5?YrO3iF$r#iSH8XdOOJH?AK`XDWuEng}%(EN;ELTQn}mGUg~ywvS~4 zkO{_UuH#=pX=hSe5O2hyQ`~;1(^ud7C!fDRGoCYwg6jN$-en~HIAVj?o{$fN-CGg0 z#COfcaoOL?Y$X;VwDj_+E-MbmUs!7zbm~4ofC&y@yb<~^E%Y(Fa`!=3Fuc!yd#7JF zV@6=%Y_Wqhe!l@#{xaT0jP5xS$f4~+Xg?lQ>|oiqyGXGHi3f}Sef1qQd*rRgIADr% zu4NTY_=BLDG+pAn@<{F2MpSrs?mMV_FJh_~7`+Xksc%3E1&d&&gxJD4M|n?2`l=x1 zzf95JAh-W8E>iZaKs#y815}u})KgdW&f(pvr{R5ZlUJ+J(@TDds%y!mc}1g9sUQA2 z^J!r|C$2C-4tMK#sT`@DGIvKrr$9|?g7#Hs0tD%wDV@eit$i1#7dFm5qnFd3={m9W zYRC7%rP!YDE|^kIjuNG=mY7#!aLVE`LUcNfx`mw@l8yB3_u#uK6e_#Tdbl}WRw=kg zXG|EWnNqKww!FfuAmID3M4wl$`ZLAJnXcwYAN>xU=n;|}TvEK-s9-c}w^p|^2GEpM4$CT6w~Mx;PvSCfkkHwTun z*k>zLhot~w0yEIf`QZQ&d~w(hVx-m90B_7Vufw(jHb`QNsCmLlV*=hB5v;PC?B!P zit6+xwn9=#{0$!fkrCI#kb-48XueOvNwbO6LG~Zpepy7=-_Rt@YbE^!*zkQ8ZmVAy zeTr|z<&0}o*PXc(TmZQ+&{vmc52wFOR`O!?%O2VoV4E`=WTkRHegaoOh001|RBUH6 zj`V9LJi+O1IgwgmJywTyDtz0}(HC4kQm#YYdKK$`3{3wm&P56f7Hz&hL>&V@<#Da2 zud1FTS~u@o;#6+P&s&;`IWb*uNS0g!wa;nZyx{X0M79>h!M;=&cjsAxZT+KruNwes zJFFylO{Rf_#~j|E*HuB>lL^_}5$_#ps6~>-zBj&!vG7%F^~N6Y$KzXLcVM8cxRUK1 zFpA{=jtkQ&jZ90sBEuFP`u*3Lp9(vHb>^qNEEcTyf9jpNE>y7a%OP^>U5BgM-h}_` zF{G(GS@pz-Rk{`V)>PZ&!v-NHKyi(Y$?Vkk9_w~g?o2LAZcbUYmh4SQ-auAC;C`{) zO}R_#igUTH8C`~oXz32Yv`)oyf?3L)XxRxm?zbPNit>_I%Qv*d+|)^QT?JCq{un^x z-tLvrQ+|&;Ik75&{j6;e4$u$V2593=0w@EP>yyLmx0@YCj(xtU6gE8KOiYH3UR@U{~g`b{u$8lsTvlq2h9MjHSelLtfj_8}Y>OjJ5qNe>8bd z8~^7S=TL)70A$Dmlj&PRDLWkXE6P#4SNZhs>PHksJck5gRwDzT z=M~gj!{y+4q^Jawk4n-JGOJ$AD|h@0o=2S+WMbJI0y(K(-Jw$3vY-qfTE1N_W$o`S zTWkG)!TW}+hrLX%nw=TZW{Ecpb5Xt+g&j>68fQ_Yz_F@=KpSz*Xd-!&vF-0%&E8Jt z$$PpH&Nw4Jm6vk(Q?%9+ifcorl-hpxk)JMj8-`6~+zs2YBJeVEnqJS$zizuS7qnEi z^BCkh`qnO!tvpjScTA?;hVFX|;d(R@UY1ZWcr* zcB!xw{A(~(q+*&ttPF~tHC7&M^ziU3|S#U@PvG}05^fuS?` zQwjVi8Q6S0i*~CtpWQ$!*e(9(u3EnlqzgN$85@eo)S)vTd92x+lbQ-LuU`PxEOE8f z^iZ!?aHI34htT$mJX>1D5aCrqf%K^az{$_8bt5q0n2_8rHN*J#EoW^ZIo;-dn`ym> zmc`En{{YB3Z}-RYuQT|Dfjmng^;+}k{{Xzm-Twdu9J-8*(0k^+0|F^H_o%y47H zT1=trKuTK?o7l%SFJW~p{{Ur8EWC}Y>s>E~^axi`hDQXloPcX8l|9=P80vdQpBf8b z0N`}1u5h4xSDkC4vISW_wOFxJPB1z-hlxfh;&3ajoDAhFh}Rvew33rukyb_%V^$BF zCy;v8$Wv(%o`>$5%B+b zPScii?_H3Dfq}(oR-%*BV;nsv1@CUj78B`D5fR$5xzI0_fm2&ry~LpueNAV(vKw|+ zW~jCRZ69$zQ(6{l`@P4#bzq}<-iIb8U%N8(sUs>`@=`v7)X}2EBe6%v%_q!w!KuZ| znzJ1h%S{@L!FcaPZIjbAjlJs?eJ)v2Xd@!Mh{xH+-A)NRyOpK^RP?Vs@rIc_@eo2W z58r=!;;SxMsT;vw7Cf>@gj2dH;Z7<`VVOzv725}UGtQ}^V=fNqo7;*aOuFN-ruP!~ zNpAYBcU~K|`#zZ;9Fdyk#=myQUIAWLHq`T06pUA#dcy7ll5jn1i}5FmM0@P)92V&E z59wRbr_VnlpAlEt!_4AZQs;9Vu{@e%0&CVsjP);D#vz2r-AJm3GD=wYs(px#?TfX` zF38IOeK;r5t(J|ht&%|zaB(IF%hswpYGGC0UhCCd){jetwMmutc}l|@M+6$vTPS?_ zzC{XvZ4P+kX0}w9;(61>&y{*FUW6w}NhFN3#-Z`TpKS3?k3~@(z|4D=KnCU=KN@kO zuW~A866Lj@Ps~5CE&Rn$?X}#17Z@CNst@64rFB53K63_Rjz%;2S8Ar3vB@mTX6%^5Y7Tj;ed+v#Bn1 z8nN_de4MGl^f=c|+>y>|%x* zpYIO-wW8RUxn?Fmbkv!m!?>eh1D;Ji2xn1Ap0}kYN<)sE76P7 z`sw~fnC>O=!flTL<$giO(zNYv?ilAP2+6=u0nKk2vx-=FU$5S3!+iVEkI2d}FgUFR z^JRo8oys`^ubGml!8`u|U)H2en2*e)defsRC){D5N|RCLSPGWHGd0)*aJuHhd+_k>|566bl0VEz~h0< zbGn|Z_Bdpa^3FDjwKpb^dleOP8t25bJ*;Db$}xjjgHxRs50Z-07gmYH4KA_)I=EOtVVDuk((z6-j_Y7Br%@!ZJ-8`-jjAH z0i^RtO#?$sF#6LO-+VSq{i*TX3iTKp<*q8P-!-O*i_}iuwUy0E6FzG?aw&|%zn86B z@Lhvm>t<#jyMap*eS1~KU4zjck0MLM2J6sfki{q3_jT8Rp<%a48G1 zCcOg`h{@)Upr8Y}qdajzMz)!tUh1qoxX6#Yo|V@@;d?DU07QaYj^`W-=bY~OVj?La zSWb46j`co~J~bsJzY4}~$l3_?Jtkn#gPt*0CU8w*2%B84#-eVuvWRmG=8?GMR`5b> zYAI%^ysw*@*~-Rcq=@aO6dQKuk;pa6Cv!vwcpGxS$u3l-J^*!q%uAvhoaa*qG z2*&fCN$zWM5FvyU(M58@-l=wNH)xTDGRc~|7z!(=2_9;WMm61|WIuN_^U}LHuFh*& z73EBVSmLp@IqYq1WRm2MEGgVirEy|oC-9vVnoCo|bvuhYoB8CkLa;L(fYer_2+VzJ zx{_%m&o--0_A6&|lj>?zJ6%BapgI>)-EJ?Tjfuf-!o42W0SpR*pct-vR5|4oj?4?? zgJZzvo@7{~XLbspWRu#sl^L{}Jr8LVaeg524EKp8y^$*ljI*ix)yw^b%5KQrjGf07 z>rlhEM%_;z5ntL){RRs+CL%$@_XDL*4xcOB;DN9c$v&03rtWjOq>DFk4in}a;{(4P zs;gS;+qdOr87jx6IYU+`JqR{j$2^53+vWV+9R8Irn=Qq>erpZe$yW={(~4>>D;dh1 zWhFkRLkz{5P-c_N5$^#pl0ffPZM6sa?(QQYw&09{4hJ8NbwxeTF0K{HJ87az<_UUZ zjieHn`Nq?I#jos zgWEvltAn@zbDiMz#dK5nPCP{zxh4I7TA4rEQ(DZid8Ef~jKQ!8VbkB2@kCn#)w!ASX?;Ug3HRaZA#z~)5 zfr3k!bvk_1v9<^m=dI64mZNWaw+YR4Qrw5JX$LiCHpP0B(Z^Ai74cGru8SN}dXp;; zN^7?~)>DZI>Q}gZw(^nL5Av=LPQBZCB9royn&zobnw*bQ1ublKwimEWhTh~XkvAA_ z)sv}sFxX8c?urA%{LN^3IQI9i1xeDIi`kvEW3A3VP}97$Gs3K3Cj>C%5238WMRvvA z9(73avNmdroYkaeCBplb-dp#EQ>VpX*4Z zRFrqCdTq~>I{HwFnz}n%c?8iZ9+edFb>ghz*_pDT2c=bY;-K0Ltibb8wIgIlO(b`q zV{?va37}(3b4||_t_8Ty?$?@9Xkr>jG{S!hkP~+~&37IO@tM+?Sl>A|tbSJh=l=j& zrg7$0DiY;)J#HJAuC2teICNo@e94bm zw6rEqQ(Y7)(@0I1F0Wqkz|JE< zz^u8t6O-49q$05!r~__W(x?bYC5iQ^BRR;=S^%+W^4%}gR`uF3mJPq&8L47=G}2>WYulkVEWe+_zuYYW-aWz8p64kgPO?eMorY< z0!gkLSkw*O*$RJlhX7Xe73Fg(&dSDXH@!wluEUj$G?X$67SfpCgVwjS!Fh8iOIT!) zk7ZoeGkPAz0gt>G)+L7mXIsHRJ*Yx<98)kIJR5`A7 zq>)jQRAp}Y71ai$v^i%N7pY%%SBi=HeJfKkzj~D$2AKqb{psQ8xS0LImm|G9h)yv~ zCo}-sZ+ZrV&%HFBC>iNL4qz##O)2Q_$KhUw7fvhBtnW5-Q(6-C=Ao4J6$rZ&Wo|1n z=1vV#1Dd~^EO-I9L)eR&z6c-jEu8-Vwm+45@5Oc7u0nCaO7mg<^v=Ke za*hYD7_Os0@E)tKpqLe1wMAhbP!s}LqeE)K$dYdhv8tF|88_X%;cibv4R#6Uo_! zypvl*=O?#8ThLad-*b}??@=zrJDikoIovUdfLfv=CBn!rB!C))4f>5P)b5y*iVNm6=Y32JU$*Z88(|ri5 z?z<4kn}^Iv_7#t)MQ0+gy9)7v_d4hBtT8U@-7b~7o*Ao{Keeufv_=@jq$*<==9mwc zXXr?-s#oRI^Xl$V9cpAbWdp8g8#;{+DCWOYvkaqy*P84$vZq?gy?8=vL!%8wa;J34 zw>L3aK-0}2RUZ9okJNljF67!3#3LZDtzH_WWUpp?wCtBc9wjFO2W;DQ)- zKT3wvQ<+&&6%jxn06J#4@h!!jm^?ftx6rk5JI^x6_|F51+wlDUP2z%hCcN1@rhOd< zsHGLq?01@)B1o<}al1NX$-LmF2DB|(b#=xzkr&X?T9rmC(x!1#B~!&pq!C>y95W}6 zflZK#&TB$rxk~l1VQ}7&xALztibf7tWMZ>|(Vm7G*wBjM#v5_x-n!ib#2Z;{?w{p6 zD<0M7WAN&5y4@a}UE^kG>v}3&M)%f{t4LS((GHTY_}7s?VtG@hhS zbG<}hRhYm<$F(^|=%`CkBY*UW{{Y?R`yrRBU*y zM2Hyns2`;TBD|QvsAF=k#UN){qhAI zTGWChiXA(-&QIq>iEN+6ax9vaxER`z4t;BgyOVv>w`}oDMyxS`XjuAW=CftYgpv1X zuqH%tjyqIN-t@{C26zUhiq_=*@;F_PbznHBX7(mhj8){#YkfWTi;|}q8T73SnQ(1@ z8D@|QnP`Ourt~`9ERr#r(Q$!Xa@_BVvMMv-u~jY=u*U}g;Gas1GWnvkZ07Z*{{Tc` zSP`cj*7Wu{>uz0!He3`xg>2e5YzG@pt!|D<8&Hy+hb?EQ+Dhm!5Y~>7pppd~PxV@zwlvYL zOsmfVXtzpnZV;a6aa`@+!pP)eZSL7U0}P7NHRT=kGMxy^V;m3n%-nTC7w$m^?K48B_RwR<&}H*-EGV)6G?TOPE`1kVviQR<~1&*_`eTJ23KR z2mMT+ikdde4=CS=s=5~|3`_q2Jly{Pz-j(e#DA)P`{snutj3FbrZ^Vz6aML^E}eSa zEu{YdzG%7{OdCtSQIl&g{qsz1HuYC=wwE5eO&rL4to08Bkp_trL}Btt2D@uzhlHR=e73{k|nJ5&G_dRI*} zMBhPtw%BtVgr8H2jnR+;<^KTV)v<($VQ|qC<>MU&>cH{1BFfi2Nu=!zE z<;NA4Gn%bSEs-&jO5M%{FP`dRjM)VDt&1HkCtPPOOGcahl$*%R9yOP^YnYr9)WUFDe+lg>>zE3rtxzSjlmXl=9Qw*|dL zI@U0$LsnKciY%U$PGin0N+T4Tg&-duSnw+BR?K-kQf#9yRtXL5u#jYv$LCs(m>KPg zs*l}?H2x-S>9F}0LBEb)py~zrXEXl`34ZvOMawla=Ji<$_3vRv08_@TQIhU93!Gnz|hvdyYx4$jJ4_bnY zuN1X~!1axX>0V-|=4JF?Dk-hcLW3t$g~obSh~^;F&Nn>>Gq&)~x?~G!aDHGgtb6-a zJ$Fxn9YRf7m6nUAGiE~GJ~sg0V{L@iJ`plGiA zimG^eLuRgVZAFzoK=wPn70GRTEw_Qr2A5l6xl(Ctyge!ii4>U9x12t zpt3T1Q*%j-LTRMZ88i-awx%bF1Tde{nVJMQc4>L^paV6dVEK*Eo&e2EiircS%tk6s zRz3Kv%^2^sX4URHH_7SiFUOojo632_#Z=&-heb0`yjVR9J{?!0$!i_9GQO?o& z)Hg8sL5LW|FigpkLy{G0BbFI77E5CvpKv2A6cg0e@Y!PtWg**;svD=hRC}ED-TmI> z%W0#ykARyNF|>x~ccv=rZ5!N269~&L<}0*y;~dc@j(Em)OI^;Q!(d&>w>TN#dRCDU zg;2l~yQt#1-zm_&u9m(2eTq^Q+E)wr@z8XtmwOE8!G^&905X&M)Lk`WS4vTmlD}X0 z2S2JCa|CbleDkhUx(@*1f!7 zuSz0xJ&VzKk$v7*(ADUrj!qBC)wu;}P*0yn0 zxz8Ha9Yq`e0AJE)QQ<2+G4#-GEmC=;Cnd*9@3h2@%0DjBD4ltj6?D|pBOu1dwnJckHA;UDL1wEfMe_z3&(1$H&2>f|<@}Ck zE6kkO+aLL4pZCb9j+trR-Xs4202RvHJp`9w%coio`FDtazy%Mc+e*7yB*(C+P4^2% z+Z1Kdf~$Edp4?>9VbK;*iDCo&petoJW0}%dCSMO*Z3`j-LF-fh0A)gnwPRd;D06J6 z!Z9komlC$+U93Bbzi7okM?Z}OG?8XT096U!ila7U-AjOLn$&JOf!?)&lP~yQ)NXsW zI6W65HQ3wSJIV7I7yyt`WwbG9+Wb$MXa z#k5VfC=&<=PCAj2DvW~P(T2><3oIRw!zW^L_*1D@bL&yqAIaIr`P@G4Fg1re!U9}R96?M5aFvSBS^EEzSP7;vej2ZZ|#k0IPsK2xxRwAW~`i! zl_c7U=);!(0A+epCYNH6M*38XX?&{Vpi^CE3R=N1}>#Mm8le;rFT$<_T zQI3LyT$#0Lrg<@E^{c8(V;SI99PP8Cl@n(xnxQcP@@n415j3N&Lg^c4^|zAwRX|Nx`|2b zj!Ko38%uN0cn!x2qX1IHADH`(-5o1gN1n2YgkLN!PWTEvYKh`TUfW6jb?DVz;yJ1O zOv1NNt$ipTF(GqPhuXmh0Y@gh+gh9v+kbhIB!T{R;x*~-Qz>aqPs*O1%~UUccXlZy zZFWS#&kCFmT9p(JbL(9`vs#4HqX>Oo^M|$W~{rizt zUg?YCNLZ>m4DC6q`W*gb3C}pLX=z@=rSP3R2P;<)SE)^CbJb*kb5e97x3R-9`>B$1 zS<7QJxmIvInFp$oURL=R7d^1`6uO=C36;5Se~5mx;ymcj{&Em{0dcf*BbcC)agDk$JcNOR7gNn|E);Mvo<(>PE zkD5nrNFA%9#{`)Kjq=uft%F)bi89TUt&*VNH&g9fmgprLW9S8X*hs38;TdKC}%G zHCK>e(iw8Wz;&*+!SbU9t|ujRp{Khkip#r;l4;1o8<|q2RCO3Ubga(EkT5k9P-upl zXX8>ar}U=h)`5x+(hXQv+$bfAYBF$W0kpZG1HE3eI4zF2sbfU0p`J2FUJWI};@qJ6 z)D~wum5rCw(*xq)Xr>0PmU9bd(y7kaOn2bW5FDd>bf%L5B zv8^@lGqkdY2rAq0T+Hc3Nt-p9bi)Rrn;fpR-!y7ZQcY8aGT6m*!Dw*R+|q&~FWZw} zr!DSHWNI@o4Td77a(6VNP7ic(nuWo6ak%kWa$ZQYY)3gic!N$CxwPXJtkG`XNdNoKHap-U1MpeLnia~Bl4 z8hS>zKAS3p`H-Ge*QsgK-CV+s0A0g9YdIrGyQ>=MV|DVpvf&tHV0En3*FnB|{$H7D9II@T<-ME9h3 zsJ`BM4yK~T-0dxF5iBB=>*1Kb68ywu%mCTE4 z@iZ#g?N&tK*CUDPMxtnVlzP+FZfSCr&WS{W)}OwegxD9R7ox!W63qmqjyH> zG^|%HPg+Kl1?1I%M&|2iJ55nD?*x)h(zS$4=OZfePI5V=vsRiWA&(W)2%PeE8TQGo zu6(A?wQMEq&`TQfL-ehq3!^zyvqpq^vqdJ-NcF3$tZz(){c9$*HB!1OORKVE@BM0= z+Wtlh;C*UbZa!n5)HR_q5E%Y-=-&>s=8H#b*+wL}ZeqJz8&@i)u&+7`T~9(!LoH+%_bo0#P;d=sK@4ly8gqKs+M3X^RY=8A zx=@Y9W@4Zh2akmFNUmUSs1+YHd*o8(zjA^Z%qz%xw@SYVElHgv14z`(z2khHq9#O8w{PW zR8qwz_X6^8X(25!T$ z)vq(KIrTK7QB%CSgNHSdJb42rfl~vK>0KCjK3;isF{vefR3m4%0<*60xno)4SGvlj zqdf1%Ftpc^+(-VgVOzCf+l|EauG}nbNgp?uRp+eL?XA9A z5Jzbh#mlLT;!LwLJ~|FXbTBkpR+wxpViCwf@06VK+~e}9sYywr7-DA><9nu;PdgJP zgK73m%Mc4FV$58Y3`bAWxkiH6M*@cP1dL!Tr)laarFVBBRF}MM88cF{E!;?X6l!3%W8e_ti>#=Y@I${NB zZv((kDGE?G4glyXqa9X)a=Uhx-=nqv00Ta0F=!!BLWbNw!l+1a1}jRN9*q@mnCX|z z*hi=}PWPD@=cfX>{>i#xA@c2d@@k7VNi`DLBH|$FS9J9G^Vc*%d&niRwxa@`E7C`v zL2~$r)jv0UxCfE5(d` z%=7uGoWW ze*xLR+zfZC@$|1^n$YB`$%cDViQ=?57k>3}-@ryg!{~__zINtg-I(E?yEUH0+7|C;qLzl|-87 zrPSzR=e7L-cTFLY{a>p6u%(TrDe_=VwYOP2RF@n}b>PH8|~RV%LhJveh`QWJASu!Dx;OkKSgL zwxcftZEafLPC)q=@fD;_c^WBsKX}mo6*^u?-WB{SQ!;eCLOy7S`c$bR&myXVIjEBw zH{--{Dh{=!1MP=*wRy64k?2KQC1C#mc>7ikt2Pw#M7Ju6(Bm$oCPGJAg4Ww~yX54P zTEPU_y>AMj2Li2bIO4kPq0N0rXM#)XN$s2dS|LzPd2Xeq-07Ds4a{X&9uH&mp%X2N zYr|xAuSf9Th`5SnJ}uzq;FiN+`nTwN2*U#QciPQdV{+ zNvZyaFVO42uQrvkH-jcL=qtYq3Inxk*o zl>45wi*@1KHe%5RM)o{cG^Fl#dl)ox+Jsj+V&tiK{{XzBr`EFv7AANP%RMCF-bai8JMPQ6Akf$djgE0*GKloOxIxxX6oZ3*X){eKFIp9xUh-0%^` zn{odDT?g{4UyAG(PJo{6it&HuB=n>FBg?!j#OslP{6yEF_=Zsql?++s$s|_Qzlw;7 z&e|Mc=M~fGmuU>3kA5eH#6kv@Bg4)Yqqnl7wu}HoRQrbZP$pW=}qcZE3Li z>9{xpx7M9&;XB2)Q8qXj<*T}Qx^b26anr)oacj+zY1&Kaej>As;kn(B&MVTRCCJ=( z9`(m6%1+Cv)Tub{(6yMAd0|wJqN#L{!b7t+KGoG8RFR8}n=VS(f1s+MA3xj61Nqlg zO_DLE)tvsDF*f>wlk+T@s&>*cyrB+DIj<_C(kG!E*{2ZL0x#Y_c-81oD9e5Vrj0*q zJ$6M@mn3xDvbiRu9<}K?Uqo@GWFwv{Ht>VN85Pfn(ibiY?#G{a^^LBZ6wzcBVx@t> z8UFzFR{+|xx-rA~g#t5gJw3fC;cB-}Q_jWUn6Q;5){<&YL3Hfs>E&DO1T~K4QU#WsT0A)+S*&l zbehDbbQM@0D-&cqb6Wa*SY5}ZX-QsWRd$J_KD4Yr z9`)!Wfx9Aw(*YYC)mwj>LPcj$UZO=o{^_#dY7Zk7+HjP%?03(8m2%&K_yb-%qiM8# zULJR*nWGy0_3!tESOvC+&#|t`YeJ>DR`&L5fAwy_eR!>p3SK?TjL-LjV!XUkUe@N6 z-j+Qc*!-fj;pj77r9F;1uTo_k@k)BuhcFJb8p=#-atQ`=UTdx=ldR6e`~3Y4V?+3i z?S{n`0XN|N;ZH0-dF!-SQ%2Eb`T3aoVARpJ!aa>dqH3gFmO%SK?l&6bd`?4N#N(?+ z&*xlHjfIJo=@^U1r-8WEXO=-MM6syS)#d24`K*cMyRmU}$*n@mEM=lSNbOotSlW;z zjfg!(B~{+>G*p$XB5@$|BL^HXte+PD0Ie0RdX9E%=8P0HME(>109M~h&dBRiOQ_gp znrmSZHAdXhDG@Qp6<$NviUu|Y+aRuwOPB&ZsiO+3L#2&_AgFFvBc)lwv}Rnu1JbBS zxvbgOO_iN^s2E_>n(-3%ngN!OW-w`|=|Li9l7I}<_VRgi zBl;SaG;YYjuELBR!-~qdPcG~pfVK@uNTsN*Bpg*W$E^cqji@**IssJfB;6?jfsqW8 zir%y!Sg9RH27w~1pX+ye)D!ZYb~F?vx6Mf;ra8k7pwbK<^aQ-1(UYLPG)>U4m z(OMhGeo;+h*05~pMH$Ux-8Wxaj;6g1BT;`c{zK?-QKsH2wQPCS9<0%{3%i=#w(|I^ ziG+;=VN<9TXw9-^0{zRE*i-rcGlKwhTK$z6@GN`Ey&Ncd6&G8Q!h_XsPr|`K7$-o=?QMU3h1%Ta@1-Q z85sho>WN`?JiD7{+IvCTg!`rJHc{yKiYTfX?k%G~tVS+|$8qU!> za5V2xvwqja>kNVxBp#T>bWvQ*aTs+AgX(KI%S#zor^xO#?xj#vj8**`Pd8Etrx=JH zhpSSXvNNR)d06eOh7keDHO}DgVorX-{ZU3+l5%Ti8|7d=YFxH8i!G(v zo{d%(=iZ%%azS!&)|6bIT6QI|-)KF}A-csY3gd;qZuEJ)QDLT6nr=GQW!&V93TX+m zDmdEi?PF8a@=bLxB0`Fx003j>mEL*rIZ`aexBcnu6*T zbl`w%Sfe>J9o}1MvJMF7Y8mA7Tu!_k^NOTFX{Yn;SZ6$QRc&TynUA$q#bK`7-B&+% z`PSWpaZMMLJ6GvR)j9JbeYAOSkCP~E`h zyQH=9WZcBNo~652n~Rm(N27*TiYzBBiu1pTmt@5ZAn;`5eJd;)y<}b?+LJgdYln%0 z#>H41gXvw~hvR6bWg;l)Q zbofy3yNf=7vtB>3sNJl3?zJ?pa|&M@Sz9Z4F}%`t>?@trd|jzulB*|^5&jtX&*NT} z9|Owysvc$|8_n+1E%-8LeMV*FizRo~z=#!R8vyCePA5sS@Y=%VlxWd%kNMP%dYgWB z1XmolJL3{HkqoIS?fJORwQAe4xHymu4usJcVM;8FB-f@!g~V~7<(SoNGVDWqUT>df zLX{jEwOf`~>`SJkoO+wzXqs%eLaJ&-$oY?4V!9!SsZw`)9J8ZNoNSI=Gi9vZTRM%m z2+XaYPSs0FkhT5Vo_w|&e-TqtdldtqfCTxQ?^W3HdBt>5lwlhYHFj8B`c#9ZZ3lK^ zEr!3{tjo{3O)N+7*i!h88^>;bkmpe{tp9ifnF@G7`cq9v0+Tf3xSwv_~ zI(0R#02+G8Zx|)T-0bXI2P!&NPg=~qsH>a?uW=l@&CHPn5t$AG^y^iFf-AZz$sBTe z=qMRAA`aE85fWmu?v+=!da>v$wv2k5m0v-x(x8~;I?{U?!*b4=aSJbe)*R9mxsiJY zBDtrsHmC71uG@t|IIK>B%n9a5pjPx)NWzZQ(Lrl-3eQUuAsDEg_Ywz6?t(n(lCmjZ zac*(k(_kARX7m*;e)Oon+}q5Z56B7cO%ImEbX>;Ukz9;2Kj&7U=L5G&;Hw)|XT5=) z=%V~h{;jj@YRU`-UfpY=D?_2PGW_N~dseT6SP9&Fit;gE9nI=4<^GlK3)-yDT6ITP`xO}}_F&`|c`qmUQs&&U>4Myn5KY1xZ z;!K?90=wENGG%UG=qhjG{Azhk6DQm}oag4o1#+7E@4JkDbq5v6Sy>ZaU%N8btxX;` zS1ULPC69ndek()lL2SgTdI6JIRF#dX#I*(P*xK4q4o80VQLX%-+YiZ{ii%n?=cy7f zGsph${&h>mzw1SHOQFdv$^0k&t-h6(4>eS}kihh$IUVa@AuMxDW5pqnwmm8r6pA4j z4fxj9pDq{>X`>mf4x-h!D64WNQnWn&rbW_Vn$D1RtmJglWoO1}yNuMG2!*OMK|>8N z&@rS^XN*t`xd$;)vSiRm!oBF(Nr0Pa!>2Tci$7{AV{&<3Gg95mv#xqE=xRzuYxFN~ z9D|-Ys&LygxGXT4>p@11)x>bw?1*5R#m-44filIe*N`h5WY(|(1!N~VplE>f&%IZa z_U}PMt<<0{dR1r3O^;JZ4zEu60x9eojGmD)?5)hM9r|XvOL*`U0n)pvuBR1A7u7-x;-`&x+`#(^*uY0g zAB6!&sWlL>LU&5wnoOk2EpG(2`xXe?XOiQJrE{j3U~>wmBY-%pYD1YGh7z);Eqb1N zcXHOZ?z6^K)vH$9#v1R+Jb6JOf(5#$~j}QcvJ2(gTkC*0(v?I)k2Z`PVb!Kn1)w zBks3P!lI|Z%_;mw?}20qrCb7k<)Hpm%=}xJJ*~25u|KVNss8}A9;APSd7KwdrrLQ> zv5rYbU55u9g-Dk!yLYi|!#vkymr`P0f?&fUv?7-(4?|hlvURv&z%;DvvYF^a=uUC&7PQjD=*1JQ`b;r{^ZuIlpwL+f64CHu_u zD10b{e(ol7*jJMLLXfrfn9o#ZKb<@Z{qhV`{n^I?an_u&bA}b}o=_J%xMTUzh9{|{ zA^QpHX+XzHVmfaE+z32J7W@TawC25r>c$CU^A~CEF7%V}m zS2hR}i9ZVF=VyFS$RTkWg3GiV3eZazn;uyw=}kM1O(RYXC--4zk+z@V&1k`GZ4Ls) zqa8S|syJsic5qg&ZHrFPs`jdK&a8IEa%W=(kdWTE4|aNzzH7{7@gkEL71r|5PvvJ)&|$`^J9 zO+n)L?k2eth}gu7$sFydqb2R`{K~Hv>}N~PIdR1-N;*`ZrT(M;)*I}Nbv9HG4**j$Bx$10mL*f{%mFAj0 z^mJ{FaQTN-voJ8UD-VAyxzO52&qU zvE41q%k%O#9qQ+Vt>wtzXWM-QwK$B5jtnIe>qYgTe6 zsNs^dhPmcz7pR@9kMW(p_+pq2RMs@~s*b3=4o`P0An(Ick;wKxrFwQI<*o!?e-nhL&jixJq0($ONgVb-if-ks}`NartGfaGqiwlV(z zWh4XdyKX1>R~=P$j+$E;*HMW8QNyo8Q6$Vz#^VgVMK~a3SkL-gWBsxG>K_*W0Ie0# zBa%e^6aN5K-%82OD(Q73bw?v{TLE7rnsMn!Xo-pDqGORsjD@&4tqT_!T=q0A%%`!} zShy%LSIco*Ess80Gd}5a+OlR}nAUPOrd4`@xv4r+Az@LPMItl!3S(mw6f@e8o@fSI zwQdU3$BGFXL8Qbb0)dJmY1FEzH4-^!b{?z6ODz{I%1va^H{J%bS(-Dje(En;m|Ir>cP1 z&mqKP3+q;9NFa7Rl6~qyYCnwU*z}-d%naBi zh*8_1q?D%3g^%GV2>JqT8T1`XkGJ&uUdY9#Sa>t7ETCwVK*oN9`cGMCVY(`%OyIC%* zZ7o8<<&1iFuTKF+5{s0NFC99Z@r-t6RQjV#_(bpgBBE(^NB;m*00Y&{dJ?Tp3eZFk< z9ux4Z_UVubuBs~R=dA33j`_&!w81txMLN{w93IPCR$DVnx>j;VjC{Ydp?Ym&|KWCh??Jfn7P8CeiCj9VqT(Cxbo{{SrqL+e6?gycsT?=E914tI=? zPHGPp{{XEOaxsxVg+JA|(y|9ix_wCuk6MYyCba>W=9SMB46b>mH`0?C19hu5ZHJ+5 zM3L2Lvv2{ewHaLZtx@OHT9s}=0kR&h|yltA5cQMauk$j{QFV?fZ; z)|;9JO>dtw8LMn4Bu}jr2yG?~aY>A|6ZtVSDd!z)FnOd+ZgTK(kQO##qz_iN=J2ta5-c8P%@h_ zW0O}j#U}J0K|no?%k4H<;9Ho$$RG?JYi~!Cc|KdZnUjW4az$e_?kLqwS$|eH;mJ{f z#Xa|J;8!}OH?lnl$}L?pGUsvQ2RO}g+Uzr2ZG~4E1-b8v(u`Y?g?h1!TWrBiHh(7G zTn)1})#u)xEhQQG7=hmv*y7RWs?d|S_1L>_1>|{n!+^bbt!OW&haP$y9+bIS2POBK zQ0j2E1QA^xm22m1mmewVnwdKyp&PTbut5YteR|aMNC4|zWVL6n9U_sHb#s7uu5$9> zS=g~S_N^(cbug~ov@q{cUF2N3zytt5Jl0LEt2?s~bA~*OS6nIfIDWF-`Mkd)a?;ei zO5msj_dM35aTQ}6Wg0=(o|V@aXmZaGlX^e+VrA2ein82FLXMyswveo0LI8Jks&O-h zA#2V3SeIeK?qyJWXPSiEsgq<2<{wegrK=l4s*|!rav2Ey(qFWlpp0{FffL7JH;8z1$o$-1X(xnEi z1;k4429mcp zz|bfFG?W0e;Y|$-#TcdxJJRjXdH`z=W$qGCvDcL^l#}(ufWGe{_!1e!`V_jD(823 zNAj+F;<*oVr#R`gmb@m{)@*xGPuV7UexDDW;^jg!`^G<(O&ZP@P+^MeZ{GP65~MCe zf-9=iE}0@_7&#a;GOk^=K=KR@^|f^xM{OFPyhcc`TL!(x&!5cZ-Fk6d%$tQCS?9H5 zNybm5V^toN9Z{8aE^;e9&mC)#oqY(Ko`bD3V|VRMGFmTbvcm+QzmIyFH3=e~b}**c z`wFgQ%WkGzvgf_@D1_#Kxja^Fo28+rr=c<^9<{N0M$j>g3g(vPky;*u@Z=Bd<@aW; zs#V{9!o1pw^M0qJPvH3wYQHjU9RU^O{{RvYuB~YOj6{C5-$`1s^f{`#(PtVnjMCSn zdE$;uI}`w9(Vi$6_@8X(eHd4AlkTzKj-Bg+8n$P%ls|e%vtxg%JH#6UTU$Em=LZ z@h9-8s}kNIUI?zpVYE1E;yvQ8+m|>jDIW8A3m-MpN{UA%dhS~g&E^&PvsI&oa?S_L z-F@pUZ8bV=BU~Lv8EQ>}I2EL$_bK$R4vy^gYHV0UNf!iEFC3QV0DKvs~xy?dPvZVr6s@1GpX(fuIa1A zGaMYbYcy!YbLE_Kj8w`$b_b(WrJ?N++@@K*#bjH_`K;^%NY_3t-~0sEsMTL?@h9ZnYnsr%ags16-2P zqqdpmh{T0%5a9cox3Z;{p6ca(Kt^%$ zxb&|%y<;xvJ@N*7SCLm)YDMnKVB_$o#0xMzt2E}!?C4&&a=DJ85a22XJD{eO6XEl#H@_3~oQz}Tj5mlUGp`CFn zIH-*x$eWss_X2{3oYQCmNLvqAa(mDq%_Ra5^rp+0(>>2YQp!kK9~NsGkC>d3>rwri z%Y`4ib);R0Tww5drEKj7G=@i>bBtB^FH#UV&L|OOZsfdRpDHC-xS1e~BxiOiSj_2V z+PPzy4?*cvn6n;FCYZrco&d?NgGAF#OtRz#905x92`6n1qRJJH-)R|b;kr|G8&_BR zO|+jeeatrW7&#S(wOa|{=HE5Htqp4#%iEzm94>gPCP>(P?Tlyft>Y-)aHR>uZT|qT z$fGUPO2iUA<^jhw%HHZ0&#GDOkd{E-Pi)ss2L_k*)Y?=%-+7LX^4(r>yh#{PB3zHX zj^CbXV$>q?(MA*ZT(RxXO6Yb+6T;0|_0#?dWL#T3a)U8&#E=wpC*GIKR}iZ@pD8d& zJ?bqN)VdT}w>LvWP16?QR9t+j0b`HSyK6X=RX{_vI`LffVy~k+snS2b~(d3PjK>Jl}7bE zn$fij=I@Yv(u0sa>!y?vM=e@%mtP}VDN$|wy~+_Al1>F%ThZp0i8pcAw>8tsbA4TE z-=E?*T|UKEjpPTasN?geMSXG~9zsJNG0DlPljSAhQ@*>Ctc0pz1dP2mw-sJg)h1)L zp^ZHjvU0jKr-$T~(2J+tXEFfaLr*Bt4p5K6q}t68wZo1A=CRU4apD|wR8B=i%^-F5 zPI&aKt9Im96Iz|o*wcvowJ0?}BOWS@@796b#=L&Dg>nHVm4f#%?xNbP!nn^8AR;+O zV}n}K+|H-MU|=^C#*fmvPDV$x(qM`S4rt8)DB_$kiV)Daq`~b>7=9GsMrZ^nAoQdw zk=BBRjBJ@4;DEr_p;}zWJ+yKxoDtfSGm&UIWD&U3@!SPGC?Aao!ex)`M2LLSs?;sw zizvSRz&}dbGDyqWN?RKGexnWiB3K+U)n5>jZC5^r`cta!0%<0yq|UFvw#`17a95y^ ze=5%SpQvPAlJ`IEn=HJ*vt1R9&e@Eyk0P3!vP~_Cmk}s{d&pOB;R`> z&wA}n^7$D@V!Cw|v1dNeGgZ`P^_2K3efh1M+t!{CTLgszHS1wyl{SwHA3@H%CD_Hd zVA1tIg=E~gSi05~UZrWRRk7%w4oCb-mB&RbU3^1*#F8GuxLUny zd7ZI;yE3(Vfo~ivf90gXe>&lQCF$<^Y0NTKVitcRjHi4V~zyq4&$41ak%=I#t`^V@*2izDLuBS`4 z@e*2p#J>@vayOnUpAXKeUI)30bbXDhY-mSm;;|2zbhho2g2Oa5uDHvABuk%TUavhy zv_5{+7kd|MEHxO3Hxn$G=m5qldF`b?enLHm6{HnLz2lRIkbIGwe%>}OBDxR*cZk~01VxvghX{?pUo2!#sdnlQBAHOR$O(IX6G zBa*F?fCqY#HBhHLIXU&OT9kD>%964Xm3M*Dng#*+h5-kqbR(8di;fo@eJjzR z{lm`0OWq)R&$C)2U^iK_3`Id2<_O7nohX%I6dtKB3!X$CurQ`@Aa#jw#$<(mV8TedoOZ5ri>2*0VWtSujDEqWZdy8g;HTe7V3?tG4w2#|wVREoLR z31~P}4rw^8Mk92n z+Z-AIX~r{5B9j6q0+_roq)RufWX{qLQC%&Y@sDcKCl!6mPlC0Ra0c^DnbRpq20B$o z9<`e~6o$44rV&8LMa+V)P$nl7vjqIPB3f*??LXO4SU7bJ2?{*VBWi41DX zp8V$(+e<`eJY-Tz+81MiB8F4v#x^)tTpZ_->E9K7?O_3;M0DEffV*ThbaN|M=Xlq3 zrI+Wo`H~1F5hJbucH5ObF~>E2+Rl5202Tf3$`3t3tfwdP31ed?WVh4vJIft8Y;6`U z3!H9mTGfs(E;H)Gn&X{Do4-@kp;1rXTNS2|t}uF5Y|}Ap_o;-rrF0mHCu1(==WF#C z11B}e-)iRK^JGhw895%qfm_p;JKL#~T#*vXi$f&H13P1A&2HOUi6>NGLW}?b=kczj z)wS|Dq}w(vbo6Cn>7B>;`Ne3*YlQ$3xb#}JEfGAf<(RFu^^woktoca84yxZ#N=-cr zOF|d0i>l>nBWhElS372$qGgbBX-t_M(1?;M&jL5hqX*i#dC9f$6f92?sZ;f(J%t_4 zrp{fgJ?nniv$WS7mZw}^hNMmM)VrymY>D5Bp>X|alXD{FvPi7Slb&d0MU^Il%t8(; zfbleD7@j81L-AEl;tHP$%|pnm1aVy`<+&R~4>-j{P~`DURt=uig=nw|vx+)WLa?LK zq{UJgg+Zh-ruWx7J~ePF%OJtm~f;I|8sN z2h`HBDh6zqb4oJuG0(k2$sKBvF4j9=2Fy~~m0O+J#%rS1W%F!-?g64t+-T-;{q4@% zz!yRdD&=w3Kz~Ya#8)@o6r2U-CRsD-gI*0yQ7Kd zFG_Gcb5&su3aN;Y>DVxJfVL8NG> zU%eo$;V9VSsTXpgLiZRgkShE@1;#3>>==C=$$M3pNRmI7s{P?!MkW_`JxWutY9qx= zYAI}OGB*L26`ee78*|Xtp-J>OsxGIVc=!QjILF>x{Yu!3W2i+AfBXp*A?O&C~1*IsWQ6APTX|@mJPJ|Us7>tJy$~l zj(b=(h_pr0tIN zQJmwwa?R>>!Dv{qk9>wh(Rx&OlKGSE&&s@1J%{#&LY(HWTdw2Mgs#eFtP8YLT<(;f z!o6xyv{B>MmFCR(+|54Tz}3i?3MoTbHWf62MQPjpFbwvkkml+&^ckj}uhe$YdJt+y zKY*yM&&ytZA^!EAh8y@u)wlbj=}(aDnlD0Y)}{O;dH(?O5%Vu6-EU^8!1<5Tr5^Iw z4=A;js7HolT==DU8d7#=L*Vg+A1-rJt6JM)Vwy7AVC0qdD}e%c9=>k?z_eks!`n zjMUPjI+x|>dG%|;mASf*K%1Nl){NI>AQ3B&gRnK%LGr<~3`BY6lPMS7>q)!Tu#weF zP~3`ZH$7_!8zI*0KG^^t^U;5uXn42%XsjeAPvJlHZS<^TS5K%RhX$L+O4MTs=dCc( z0W(ZA0TWbx4I*S}>C$0&=nZui5AurACmnQXo>sH&Py&5wnT$6xWgOK>Gn&braVt2; zs2EZ;BO}tIVTuYPJ!!mWtpGkCcZ^lOoKPkMr5{Qdi6hB;Vx>0iaT9GBWvFJ6C`SbI zKbI72&UnI(Ypc_K9qU)AN&|g zge$m`dBswvWwz%nOjDGt&9nRe0ILwlt+7`FjyOH)h1*LU47rU)31ltK4Qa^Zv6r`m z?3-_1#zwIW$zw4rcE*ZWkXIhy{x#3fYbnZ0_qH355syH;XFp2ngj!ZOr&~uPOHwT=%mgMd{S4nAQaUlhrhx@!$O0BnIjXRr`+F8KdSdXn}rktRC=NSJ0Xx0w9 z=xrJcsV~`NQS!)sgl3~-ENAD8F!frv)_uX#LZq?3%B_a}>u_nVM0J#cjhG*mkJASm7 z4c>9dq}*u$O7B1N0TbU+R}y zwc9ZyfzWmWy*f(m$m49S?bj6|G2^vtQF7iwG4-uD?l`N9B1nIoxMHH3LHKm4Y=nwV z+3DVh?Tp->x9Fa;%yMk#XTh;ZuJBKK-F5R1OE0Py4Wh1IL?jNZ1sH08B zHf2qAlW_{YNv)J@WZlns@YR>tJS%4oFic>dsjXMx<4;QEq4BnL z)Y1tY=DUfmHg&?*j*$EG)Kl1Ew5a-#1I)fDXksbg)#6?p`Evbx8sH-7>zed1^1Knr zSz2Vfas?qn+PaKb-hC1GEudMO7YKF6XUEbG^=2P1dg3^t_g8TsYgcao@dqZN9aC za}%Q3vZ8=XkJ?ljW6}?1dM?^oTTA^op&8Xa> z@`H-=u^Yu5vG^Rj8}{wGFlx>-#dAYOc0FQ*W=Myrsy9T+GuzU;DJ^-K%~9!OdAG!6 zVWe*zLtxhj;jfZw*-!9Vzw2B$h3`n#8uFSJ78h224%H;Nf=K+vjG=MVX0vrW*>6_d zOOKER7^jCyQ|4XF@eQPtGh|GPrGpV+`B$Mm4?a5REKiw6YQ@w+8r>l?2Q%qVTqG z@AEa5%h0KOcQL4-JuAnCc)&6C;@M3?hTK+SS z?$oW%elOh=50QSgTJ8|a+-HiKvAkJPc4S^0nA>V?8Q?W~Wu%`d?_BsT8%8+agwRq* z)-p7RFck!t3Po~MI_Vx+dcW!S8UFyDgj8{iy?aaHMk#y8 zOQ8?5N+%0L$KsjTU8+Do*gi;jC5`25{Bi1wY2cMor8$atOYoSHtS(U|tUPr=P} z8inMSJ`wZf7-wy~cdvT|H|(UA%^xS2(oU=!-7|^=k-?{cH+;m_F*_tbs<0SOp@3iwnL78c)!lHyj%XXRx=!l{3-sezLkfO-m0HbAq_B$)}tCtG}2-i zeQBnU##CpD1k08V1MNKKx{W?e?NDmsa@SfLOZR%!JC&9aR!r=HQR)`! zNZBGLIPXkjK}2WTlRmToBw&x5y-czO`p^S`^rhT0&lECAA|SXG&}jNa)%EmCW%F+T z09l@jJ!?71MO~WGi<7cFd&8a&)AZQG`D)W2yyS9gr7%Q;0Y??*O7eWn_2XzRSe2#n z$3a6gtPx zP)_`ej@ZR!+-i&a^RO0h6fyLp+uiJ3a@QSO{;rvisOtsp84ot^fXWA;s>f80;P0A0 zE&Qj1?F8_8cdnRK(^HzZ0jqNKU)ShM2DUAb#!$$Ga5A_6fq-hA=B_5V4-_Cs$g0dq z$;WE9QtHNZ@D4ROn>()yXp+q9sa@NMq;6Gme>&@=9$M`f=diCnrCxbh_2}WfjCrrE ztO2%1?rM$2&O6sTcV}!>k}@vtfXOF;TyC|kf(l07#MZHm>|@Pl*^6gkai~f1p$dAM z>@>d(1jbV)w4GHIV5d#V-0N(#G62E>^{vZ&H6jBzCb*?i=X7Z#UJ)o53I#EMQ%Nvr zVR4Fyh$gjCv6G2b;wa=8WzW4)c_xFVWRKAGAB|}l*vZ6d+($6|+kC^So}!|5{OhU` zx-gO|NWr-1YP&NS+BWVnR@sX)d^vDh39Xp?(8yQtuE$E7jh=?Enl3EVp5hy58foNM z<57~#coo3wpAd;=x6*(Er<~m9=qRTiVrMHHW%i?edUxF1NclW&ZYwd#J@Z{wFmB^^ z@zR&I0uwaT??WjKKDef5oX}9<-n5{O)Bt`I(s-Z-=bA%~y{G}a6F}md0pl3!P3Yc~ zfLcAOfLvyybmD*_K9rs6M8(e(P%=nmcx6{YLn+8L-&kr#Qqkmg70 zv8PY|`2JPDfAi`03y!g$19g6S5J z+r~b2K+fICBD+?O$igNMzG>=v6I+^=QcPm4B&P$KS0$2(X^#06Ttt?3&2uuK>T95v zPZsKs#zyRAo6@(0IiT6iQnxKd51E-79Y;`REtnu5c=WA{eId0NWSA+~y$w1PIo*u$ zSj9p-&&Ysimk%LWl&~I^1L-q@Mh-_ftsVxW)fg<_44s?Q=PyG=bjaO7sDEWI=U*KDfPUiV+EtkxL?>RjXdgi$CGE#%) zH^bdcSoRq7))0nA1%bv*RJ^d%B%3O#!yJn86dQ@^s;NkkblH(Iwy3S|T61d9E}FK0 zzuMF9ZQ*E~c@@cWby`U0?jaMz>cb?{G|7xsl0?}p8RO|(%128orNN%wMkl%cbtR+a zap_*JTP|9t^6^pTrzB~?)Ed^0l@;`JJV|qSC&A-8NsZf2h8quzkv;Ck6yJ}Os;Y(wh~O_lCi`1+T2g1 z-9|_Jvn)Rf^8F;V8h)oR{utB`#Mc%h;%3o$CUsxhmRgsFU1xa&ZtK7OlgCQt{6%X8 zoX~xolN*i0Cb7dQLVUdiiE2vbIdM?Q9^sz#>Ca=%hUGjIlC)K~#t*ek7rH8}Z)Rs) zr_E7BY@-5|vvQ@A^e8cS|SuRf!^+38bW;x?e@Dt8~d`d7C@;75yF_`fnpA0k0lN8TRdr>XB# ze(D|n04)B7hXKluYNm_6rbLWwbqJ+Xfx9NX7fZPk+s5j1kzABL+N~3b_n>XW`-Upq zc>HU!N1JOCCr~QPKn&JQq)11lSCM+;S0z)biRIVh{XT#9+LF}^G5Xi9dsAM5ryI=Q zw)r4mero-t$%**rdm8ziY%OH zJ&5F*tOg~lJBsu;G5A=^5S#TYJ(ka&B0t?Vdd}+66vumJNdE8@>fowHKYd*uUOt@M zeaB`~y;~NSHsGqB#;6^j@#|5D-4T{L-%ZUVHdpR*z98)7X!66 zM>wu-Q?}(9-vgS*yKMBSlCiR70l}x{uxQya8TjU-J7gFjQU+C8~tlE0U00$?y#dZ5OmZvj|wb;{S zau;DF^cd@1XNEi*94<8tML~S#IM49=pL)uwl2%JnsM3_Bw#RY;qGWUxOt+gUC#7*E zYuw(Z>LeF4;1Qa{yu4HdmID=^Q%9n?$Ll(@vageGl33%4Zj<4O?_?6(1CF>g(ZDhTU4HeQFn;0S)~>Q$>Kc5f z3T^~|dXU5)(3;rzi4ccV+N0&#G4!st{6s`f8>q!E7_EyOt?p{%KQR=T7PuYg#(sjN zMVlMdwU>T56uO47Bcnwb!%Nk>fm+6+QROg|BPq! zky}u#;O=9J!$!0@S*vHR{hjwIQVm#5Y5=YKmGci9kEMFFu`#x%%wlrNoXx=V?S5$G z)uw317t*o`^{*bYPNbUdeSQ`)jR+}jk{I0etC}<8S+fj!O25vsdmF9KqxTaUoacd2 z&f6i|pL1MWBd>C`rKj$9=OvC!EYTQbR~3|{a^j0}ZJrDfox=vccGc|$pRL{6o&<8R z8T8K;*@AxaM>ZvBnO!7Ib*V$49YuO)7}sS3gOl2!KQ}qeOr_8XtTegxOX#g2UD8O~ zK(BT1?}lysGo~fHN(`(sESTkw_*b8cZLU+V4I4gVb_|3g-lt!@YZ!be)_)Mm9x1W3 zvU-a3FnuI>Sef$6m7BKLYsWRHm#eqr1)H!H^fRp$3-vsB#`Ca4WcL#NqUC@9&x~X!A;^Dp09ETJlKnz8Af5)=7~DJ-Mz-LihgS;jB?+ z-9Yd}gq&t!kIu4hWqBGc&RZM|o|Nh6WmlmFHyU5Yx?9laiqx+>VDdXsTS%6x3t`Pk(v=Q>}5VlB=Sv58f{VUNV3d87Oi_#uBa^aRKtOq(k2o!pc%Pl9nCX1nq%)=@%V4%b-#<` zilpw{PPO~h=gZR6wkQ{>5B7k zRU9QMUG+7^(^65X*v?qhCQ&a4-5Rf-vDtzh0VHwU8v85^Ax;g=YLAP|r#h7vvwAa| zzDSx@WWWUUtnx5x&BR-s*!1wJ@+*z?6bzm#idvnB($Z}jd$l|OgfY!O#lP!CWh6Gq z{3rgczLkb~?^jQ#A*Az7HKQ2Z(lsHBClu3~0AcG*Y5|N+7;{|>jG5c+DWeLDLw3{a zR-9!BtvVimQ!eE;_o@ zUTP$b6DhdCs7sMpG;Wy-&F@i*fm6y?F*J7>?^7MJElF1>T-ZY>`H*MUvaW0-h#x7q z^sb6Cj9#WSDW=mo+v%mWi}!@Dsln&*ta&xX*|Q{)PtA^%+eejabDnchWf`?EJ1ShL zA$iB3=Bt~SzyW#0ySW{!rA|AXlB}Mi?XKa9;K=K}e9hRd=H7U36iE{+0y++&lc{23 zG<7;2hOvdYnRhVd0qtEO$p?&QwQ$a~T({Wtsl`Spit0_Nx7MjVqBJKwn&)oOFtz9C zVd^@9#EiwT1#%Ky&8psPi#}LA2YM+hyNau{Y;>AOg+n^cI__c6S8HdbBw&1?0ot;y zQOZY79*-s4Az9<^xAjWT=G zPT8s;uOZD)xr{zR8LEpSNTM!ev^Z?MKApu*&ke+WVjaNu71v5#4qA~pe-LKc>fZ4) zlsL_F&|EI1q%x}w(npH6V9!00GYqVa)lLmZo@-MP>e!}{%}@+%8f5@G6o(n0Xk!YD ziV8$;NEm~P20wi!c%THOrZj*aeW`uuLSp9>hniqFr7Zw1MtaibfsNxl)N&7+kTIR9 z%fT3=BK@BYgI!*kkFZ@4(+mA*p2BCRcr4>foBp~FYl>teJ28C5S}=y*VtIt_dE*o zo6zk`QudsK?CN`Bi^zD-YQZy7tXwHy%DhkF9iWHC6F%H|$gllBrFGz+?+$!Y_YQtI z*NlNuY>yvsSFG8VtXI?aWTSolxj#7LypC0w%|k!QE5uS>dw6wjq{ zR98+%R5Y?HMHk9GwBoqtvx@gilhmVd+m0!qU{uRPND#C*Vn<4Kv?Ahdz=Da#)Yq3& zOP%r689J_s4d$D3ZpsUiN)y=ju1iWyPR3Jjac;&WUaWF|1740@Q+V|_F|;|X+0aKc zM+B)KgX>P36>Z8f3bR>RH>-RMvDiKHJh@#rc@jd$|eHaY3Pc($jCy<&F< zjPkh7E6=SRZhG|P?zB1o0C4{RE>s@Of`?oCa-PItt1avd7#GxJ8# zpTOga@xEj5yhz9WWz!$XVz9;Xxh9FDbed+4(7q6fK>O2sde#-{0P*`)5YY~Lv@ijR zZhm8))w5<+BXdxnWxHt`@uSYpLgBo{1THoP@T~QNhM4iu2dzzM_rDtR-shyYHsk&pw7o0c!~7`laXL+q+y4Nr z$EwxX*kUv7S1r$D4*kSGBg;SUQsXRhLPqS4;w|Zndz#AAZViU4ha?6#uRj|bNi$kZ z^*uh|JSu%fYrxyEE25LUPAclmv$tvYt1xqlY{?f;aC1y`u6nx~()f-e#rj*Mt9u&d z2*cyGbFhF2_v>9adGk_UM{13ybD^{$pLizz#)`mFGE$HXJ3_@BeAcf`pl-&^0D)uRg6ym&;<9SGz@30G|&u8(+~5YLpmDO)8zR_Jq-xTdmTNiDFUx!<>IzD8q}e72VY9b zo2_RfdSy8edaB<_%;-cU(-`qgvLbk;P*{K|0daRC?IZE0d5cscSkTPjBSv;^08x`& zc8T!&R@A1C&V)k~b>7%GsFac_FmF@5(L6n%X&0#lly7l(gXXzo$IuGxVon8e)cB6N zKLKMHTB|VTgH+7hg$AfdxD^sciIgTdtofzIV$rf?7n`278Jj&R4&&pP`qkLy=~Ed_`rte~mt2(C+2@U%`EOJCi%{vO7+r#BXJ)ug13O6JaMSqe&p zNUGiIy)@O)IRQueRjlDHj!Jc5cjoMI&Gx?#-uX7_-bgqtUAB$kxU|^SLS@fZ z#R=K+qh3yLd7Wjox+*svJu2`4Vh1=Scog{@-m9t6D$s-FzxDkhMjtwbBmz0cDY;^f zcQD3r(yB0wVy?e2bEzw$tcpu6PVPI@4D7l2x*P#UjobR%FW80UJ#*isKx8>NH8N3A zdIiewCVSO(Zfg{0CPrSGSmvmbHutLXifBa{lwgBcbI&H9Kbsfb&&<7zZB6Q9QaTB$ z$sVnx<`L7VJ&i-*SuR}~A1$zl89ghdy$)MyRM+gyuB86}-G7)?F&{ClBJUfR&00+g z4h<Dcr7<*7cY)hQT(fL63BS%UOprEjOwNEo(HKSj~hykK3}zS`PWbJIhC~=aJby5 zw2!5AJM+WPQ9S)eH1-^G+P5ff%nah66on7VK+B0Uk&ukX*i+f>B^zS3ko^#vdM(Gw z`W4$u)n+&r7j2(NTl^_kLDfLX)2{yj@5_IMN3@4=`#JU)+GXrdnQZP94_J*_T!jN` zkEo?|_9ezkbU!BtiiUIY(h*6y>C&KVDfg>GA!f;~KMh-(uMyb9JIbf^s(M9|w@1;p`+Z)DYcrsi{gY^d_`{L{p)f3 z&2?bk?@Tc(_h%Tbj)Iqd1$ynCauB%4phyYpNN3UB35g@{ww$N{1|Uv7O>|PIE00>| zdcfc971;ueimy9iNEJ|r?(Qi{^Rb_|GH244W^0P0I_Z?Jq0Sqcm`7WdQL1>`73j-j%!0Eltd)Mjo6ckWJ8O=tPU>^_S$W9s$f^^@6kr?<$2}@w ztszOdLqi_=?q-ThS(|b)kA=NP5XfDyyc3SKuOqUs+(^ta6OFyI zlj%@N3*ek&XB<{;ENKy>GO1&Z7q2}k^mayTaVAeafTXFm^(`*txHOq<@_&q;2o*|e zYqNH$QGo{qj~T9&Mrt|)X}ww&C|>Sh<~+vC03`OLip{*acSd)q^zBR8Ics9M8`RLZ zvr#MoP>|qfgT-k@7>!x}RT4{cNngYTSW6JLftx*ZPyW>rDMo`_IsM+ zt)vmrLs_wl_YGLG8IrvIr=!r=L!4FAuX76T1H;9uOs^lya=%kn<2*01#c3_iPYnIU zNyp7nD-5oEGfi%EN$3aWQZe_d2ULuto?`KXfn3%n3A28>nS&2sOZK zS|jPRd65EOW5@e7%ZID%>TZQ#K_7>7WPyl*XoF}-cs&c{VTn7}lF$7LB>bLtc~~hnFR0SAI=1rBh~LImx91nnsAx zvW3j?6$b&vPvcVfxBY0WYAZ1}a(@bct8b-Y5<6y!eMb?8-kN&WgA$P9fEaqxA8G-N zG};6()!PRfvFk!2Na<{dZMY;>x*jpswMPWjrAwiZYZiavsgb2Ji{sX-Iqg}qsw6CV zsL9PDgyS`05HZr276v_QUqJBX-o1FSLmnds=ah~VQk0Zc*y9%|SsulpcuP*u;ZY1K z(_`k9##q+n&g*?5_DGbM*c4-~3Fj5X2{}&e?5dP$@}mnw3~ulPh?IPR&T(CAVzjC8 z6Gz}C?Nui@sWn@f)BWnDKMPRJ5s`HG<292zpIXhDB7+~AlQf5M%GG5g>CH&fCRu&z zP2h@FEiyJB)oD}^O)zFQqo+f3g=9c|4{=;Jp{G5J#YoB@x@)G4{>jCNr}m4!9Pr)F zzkacxD*~V1Nsfd3YumJ)CfiD~j@H=%q7THMQ(5AwYs!nk(z0`9{{Sn}sojQH$mmac z=7zFJ>8o`H(V08EHZr@n703}by>!q<$U?B%>-y%p6xO%sdCr`)vUNlbabkbL6C*w^#{gEydWX5oQ zmB608E2@L{4h%}QK{^_DQCpY{3r@fk0F+~jU?Imf2^5M$M-A^zxr>F64j6v47E~h? zf|!Ty#XMlpG$|CE4wL}wcck~l0vKs(kO~DTT+jruq+yi5PW94REw;rW6#JS?W|qrr zf2&{0owC;)#=n(G4SUSIf1E|x|+ati$ju9)v1LSl|(Hx5Nh8a&c0 zajAD>fB?=-Y~71Tqj+!ObhmLW#<3$q8*(CFyhp#Kca}Z`@a>WSx_ojG{8IeJyxQ2A zN!mLd)aa^wvA0p}7^^E~ZohWkCHf$)d$+l%D!_xHsQf8>k?1L?g~m0U zFZZHD^-)ksq}a+Z_HZApVyew-CdxB-S4EdQ^xJcv_A4&u;pd0$KjqJ7`;Cffbr#G{ z5PPF0Z-m+`hxc<_Mm+%rvu-{PS~oFjQv>MAD_G*Dw=;Ai_A_PpFLTe8sYHL?Lsoo0 z@Vipcwa9NInh9f%Jq`|QNn-h+<6>inN=e-B+Sc+oiipW4xHU~Jt^^KbM+{p$it|0> zcdk}y+DOWPdR3o1=aEV^TF_F0Wl5NC`qz*ASGZQ!tzl8~EC7@BCcAJh^^ROpwKIl5 z&CnX1Em^+tz^`ob(JIA&X}1OvNCE6K>14ZUVEx(vtH_tsVOCq#=-0>OgrUwBD8LjHWiApmKY>+S7U1W zY_@jL^6{{|Zd{L=oL8{V7Q~A9F}N;s&!u5KWRbP)O|sj+6<%jd4g9Gb z)bi>mPUz=#>{+0bB&T9)$~~QK^`=dXFa#CqZ?Cz)WptiVGg(3mAlx&X2uUd&3IO8}&g2$=nr)uep)}Pm7Z5u^( zk{mYmW=}10GtXLC9V16E{^S`K?(@bfTZ&ie2`d%mc)!w#i*Y1#yWX}I`UptGSW_Mb z2el~93GMw|iSpedGkk<7+W3({A3r0G^+J2-jISh!`BE{lvs(LTTE^FmV`N1Y{1L#B zr=B*DM+4rF#_a#&-nbIP)IQMrVwEi7r;%s_}`hTnd*a$AKEVYhHe$7=K_ zO4Ri{n$@pYmHz-+7*pKF^GI0ARsF{t(nRE*3w7frxw(^;hgE4O8>2!ud;ycky*^S* zE=eTfyAyUinKs!Jd0S22?A8p2BkNq4og$9BD)*$tAL{DOkmT2%dM2zq)#%Sk_Ha({ zJZy6J%90W;0Q79t#6KzaYU!5eW)=I0oBQ8NSjPkDiWcWwwj~61?ZB-4Mh`MR2Tp4| zM0udl;Oxo#DS6~h*3NKA$gfATlW)K2uBrC=Gkr|WOWRrV1r(6BAdR4tB0CvQ;fdTB-3tkfS8!^?N)7@AY!RL zXx*7gJd?41t|~_1N7A@43dem0d2ftuKFh1Li;%K>+*dUt9l`$qI_#wH1kMV|(`0Vr zwKI1Wp@8M&^HMG|$21P*%X^0t#S)w;k#qUf{w@CiS}Q8AP(=O|{{U9sO29d#Ot^{K zn~Kn(4KS061jOr1B;tV$G~UzzgjBYyRzdZl63(K~GcI9lFzs4UTuY6z#ezGI^`uT3 zpAcN&sWpXj)Y6f3$`Tr@A*|Wdh*_zb=8(V~8n+UBnf0azS>b;L-RpBK(t{P4Jh>dV z(!HBW(k*n$RJXQ?V~s~ZI{j;oyzeelc2I{bd7o2As2!=Lysw$pd@Ksco}#mZv$<6l zG;C3WOoGnjPit_pK>ZUxGS<{XBQ>=3k)1d0lAZ-qm}aEXFH($&>sj|bDjBRyJHNbZ zGG#b5nV~_!2BXa&94X<*qy&oisZvS`OmS{1COM>8QfkScOnqMAZ6jQ>p1z*-P?syY zoa4-_dRBws_;igrJ9t!ZGRGfy`qt9GK<2WNlXqs2oDxw_$aj@huOJN=9rHvMp;h~g zr>bZ&UFgn(E4_GNdR8}w^jP%EaGQU5{72TNtYna=&JId9*2hl_d{vc7$|&fQCPRu= zdes>=K=R_M$v+30q=>mjS@YhhNj53ihRSl>d(~q$detOmXnicHD7m>@NOK=AL|BwO3H%5_9N{mlg>bGU-lPyhfJsU(d;o+wDCBbwLk1=gE! z5FC{_uOX32u>@d)UATRkJnUb@nGvI{bR2+sQWHwU6Fq3(MSx-H)|yYX1tK;zcHKqA zn<45BK%`nTr9zBB9V#Q%m@pLZ*fhjFPHFhapln^Zq`@=@ZVq}<rfGsPepTpl^C zO(@Cc0IYHELj$OZTWIN;n;7b&6(ljFsN?`C=-aIBK7;zyy@4LB@YZ;u(JsV{24x+7 zm9=vfwq%#>12`lBUQQ*aGp3WWK6~+9!ME|8w<-=+MSse#c((H2R#-3MTp1G`E2S@j zLtRnI#2wf~ptCW+0==)mo(YFawvSM~h&|+kDj0vOALCJqpDb*;oj7=2S3AwMBCUC; z9gUKzQ>#d#7*U$EfN7xgp`aVymja6b-L!2Kg5k3?;FzMpaN9<~=|Wcvj4&zeDkis6 z+LWn9jZLDg)>-5eTt|sMA3?5aCiY9IW0Po50^|TGQoR}TA7H3Gk8CWn1g8 zR^B)HR~)(j01DQwA}XIWUCimxmp!D9aah8}ss;cYR9AP4Wo0DK{0sWl($N`3UD(F9 zneQPpNZ4b}Dpeym?^sl;&aQ77e6GW`JDe!`nvo+^;Mbj1op3_A9V!_3EnKYK7&^`I zSw6=K=4pHS3UXIyw<RL8-6K`}g>d7NPAkaj!b(lb`&_-Lx0R!4-la=^ zwMy;VU|`46xKnnzI_}hwPB|G)GC)15S&J3>#*SuP*_>o$en|(VNF*e3N#=(p&?dxv z#2!yQYRN3tS;@#;RK>ARqbkKal>>3(r6h&7ADHvjnv*M;*pJ$zkCG{^$Y#B&@F~}g zwi8~oRjD2`_p6vK^GSnN;7~EoHOB|08}AzqBs`%=;~KPJU|R z#r>1B2lj~<{ZYkQv>00Rndu`^4wZF#SFwQj4<8@#l`c4)zYphD(Z2VlGhK4r=)!y` znOiKQ`^!=x3Jy8P0+e?oOH_l{L?Oo$V*uMpv<}8h-4YS?E`9dJbsltSoAd|7H!pq)H_rDS`NQjv*O?N zqOzz_KZQTlx6--#RLY2yhwEAtHK~j{&><z_-Rh$W!B~5rt!GwzsMeJ}XQ}D-_Q?!tk)TykfB@iC#Q{Zeqp`4JI@Mc?g;9*t zA+nvRR=UW>eQSOWf~^wCUmI$i^-OWxqan$~XI=4G$krw#;Fcz;$b%WIjZu|!xUBIn zJ$up_GPok2ngl2`^?XnWcK-l+W6AGG(K4LVV!Iy*=?ffY>T&zYKS4`(VM+3?W2|OG zV2C=@#S|$gu&udT_f7>k&8e>M<)IC{fur6tB{l(YNQSk1_%B)rlmCz^I8vdSe)t4_is=~1^{ zDOhA~YNgDeDWb(DXK9wlR@MY(n4|fgy(-=njwMwX08o)>mk?l7GxVxRmdvS;IbeI& zk$8^F>^j8pZNihebLeZLj^`dDRE%OdqrbIuoPfksMDsw#6G&T*C>?|bl%6`!G(vjS z-7)svVDw>%Ot_NjR%h?1tdCkrl+cvFg*%WaJk)`)-kKU8xKiiP&>-X1kdQjl7{dPa z!o<=MBrrUUfHuW+5mw_^C%e2B3V{Rfyt?@A9bDAwm+>B*b%0DRdJv~ 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 diff --git a/assets/screenshot-person.jpg b/assets/screenshot-person.jpg new file mode 100644 index 0000000000000000000000000000000000000000..df469110aeef6d4b293fb0c69787df3cf8e72632 GIT binary patch literal 173925 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 _% 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 bqdlrkT1hm$HW#*b3}q@y{Mj6y^nm}_4m6+w literal 0 HcmV?d00001 diff --git a/assets/screenshot-pose.jpg b/assets/screenshot-pose.jpg new file mode 100644 index 0000000000000000000000000000000000000000..067469cc3639b884bc314bf4143b145211471a22 GIT binary patch literal 75751 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 B)KLHc literal 0 HcmV?d00001 diff --git a/assets/screenshot-sample.png b/assets/screenshot-sample.png deleted file mode 100644 index 3627c2932fd8f5423c592e20149317382ab15a65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 115491 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⁡qm$T5n>{ zmJE!n)!jvW50)FCbSxGrC5WMaRU!(Qop78qCaAG%YGh*4IA|D7tR!*yB$eM8Zy^wMI*3hm#y*04zYk7 zKGpv-vpF`{I}8DeT*mClO~f)m-ExQ51GXJ_j06M>DMWIphJC`|g$WCz1o(Y^B$k)5}keZ}7zYKMV@?Z5QZkqb^Mg0xN2@MiW zbaoguMr}X8x&WJj*;k1Y|Ma}i<+;

    T}w=%SDB$XIF#w5i>FJu5mHN!w%KW!caA# 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

    U^wt51|H{^WxFX-?y>M(RYTs*L(p&9&Thed4 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

    =rrcA7!no4U;_>JO!Rzx-%bipB&8S< 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 ARR910 diff --git a/demo/index.js b/demo/index.js index 2ee43fc8..d9d124e1 100644 --- a/demo/index.js +++ b/demo/index.js @@ -77,6 +77,7 @@ const ui = { modelsPreload: true, // preload human models on startup modelsWarmup: true, // warmup human models on startup buffered: true, // should output be buffered between frames + interpolated: true, // should output be interpolated for smoothness between frames iconSize: '48px', // ui icon sizes // internal variables @@ -228,8 +229,12 @@ async function drawResults(input) { } // draw all results using interpolated results - const interpolated = human.next(result); - human.draw.all(canvas, interpolated, drawOptions); + if (ui.interpolated) { + const interpolated = human.next(result); + human.draw.all(canvas, interpolated, drawOptions); + } else { + human.draw.all(canvas, result, drawOptions); + } /* alternatively use individual functions human.draw.face(canvas, result.face); human.draw.body(canvas, result.body); @@ -246,20 +251,21 @@ async function drawResults(input) { const gpu = engine.backendInstance ? `gpu: ${(engine.backendInstance.numBytesInGPU ? engine.backendInstance.numBytesInGPU : 0).toLocaleString()} bytes` : ''; const memory = `system: ${engine.state.numBytes.toLocaleString()} bytes ${gpu} | tensors: ${engine.state.numTensors.toLocaleString()}`; const processing = result.canvas ? `processing: ${result.canvas.width} x ${result.canvas.height}` : ''; - const avgDetect = Math.trunc(10 * ui.detectFPS.reduce((a, b) => a + b, 0) / ui.detectFPS.length) / 10; - const avgDraw = Math.trunc(10 * ui.drawFPS.reduce((a, b) => a + b, 0) / ui.drawFPS.length) / 10; + const avgDetect = ui.detectFPS.length > 0 ? Math.trunc(10 * ui.detectFPS.reduce((a, b) => a + b, 0) / ui.detectFPS.length) / 10 : 0; + const avgDraw = ui.drawFPS.length > 0 ? Math.trunc(10 * ui.drawFPS.reduce((a, b) => a + b, 0) / ui.drawFPS.length) / 10 : 0; const warning = (ui.detectFPS.length > 5) && (avgDetect < 5) ? 'warning: your performance is low: try switching to higher performance backend, lowering resolution or disabling some models' : ''; + const fps = avgDetect > 0 ? `FPS process:${avgDetect} refresh:${avgDraw}` : ''; document.getElementById('log').innerHTML = ` video: ${ui.camera.name} | facing: ${ui.camera.facing} | screen: ${window.innerWidth} x ${window.innerHeight} camera: ${ui.camera.width} x ${ui.camera.height} ${processing}
    backend: ${human.tf.getBackend()} | ${memory}
    - performance: ${str(lastDetectedResult.performance)}ms FPS process:${avgDetect} refresh:${avgDraw}
    + performance: ${str(lastDetectedResult.performance)}ms ${fps}
    ${warning}
    `; ui.framesDraw++; ui.lastFrame = performance.now(); // if buffered, immediate loop but limit frame rate although it's going to run slower as JS is singlethreaded if (ui.buffered) { - ui.drawThread = requestAnimationFrame(() => drawResults(input, canvas)); + ui.drawThread = requestAnimationFrame(() => drawResults(input)); } else { log('stopping buffered refresh'); if (ui.drawThread) cancelAnimationFrame(ui.drawThread); @@ -431,7 +437,7 @@ function runHumanDetect(input, canvas, timestamp) { ctx.drawImage(input, 0, 0, canvas.width, canvas.height); const data = ctx.getImageData(0, 0, canvas.width, canvas.height); // perform detection in worker - webWorker(input, data, canvas, userConfig, timestamp); + webWorker(input, data, canvas, timestamp); status(); } else { human.detect(input, userConfig).then((result) => { @@ -457,32 +463,66 @@ function runHumanDetect(input, canvas, timestamp) { } // main processing function when input is image, can use direct invocation or web worker -async function processImage(input) { +async function processImage(input, title) { return new Promise((resolve) => { const image = new Image(); + image.onerror = async () => status('image loading error'); image.onload = async () => { - log('processing image:', encodeURI(image.src)); + ui.interpolated = false; // stop interpolating results if input is image + status(`processing image: ${title}`); const canvas = document.getElementById('canvas'); image.width = image.naturalWidth; image.height = image.naturalHeight; canvas.width = human.config.filter.width && human.config.filter.width > 0 ? human.config.filter.width : image.naturalWidth; canvas.height = human.config.filter.height && human.config.filter.height > 0 ? human.config.filter.height : image.naturalHeight; + const origCacheSensitiry = userConfig.cacheSensitivity; + userConfig.cacheSensitivity = 0; const result = await human.detect(image, userConfig); + userConfig.cacheSensitivity = origCacheSensitiry; lastDetectedResult = result; await drawResults(image); const thumb = document.createElement('canvas'); thumb.className = 'thumbnail'; - thumb.width = window.innerWidth / (ui.columns + 0.1); + thumb.width = ui.columns > 1 ? window.innerWidth / (ui.columns + 0.1) : window.innerWidth - 14; thumb.height = thumb.width * canvas.height / canvas.width; if (result.face && result.face.length > 0) { thumb.title = result.face.map((a, i) => `#${i} face: ${Math.trunc(100 * a.faceScore)}% box: ${Math.trunc(100 * a.boxScore)}% age: ${Math.trunc(a.age)} gender: ${Math.trunc(100 * a.genderScore)}% ${a.gender}`).join(' | '); } else { thumb.title = 'no face detected'; } + thumb.addEventListener('click', (evt) => { + const stdWidth = ui.columns > 1 ? window.innerWidth / (ui.columns + 0.1) : window.innerWidth - 14; + // zoom in/out on click + if (evt.target.style.width === `${stdWidth}px`) { + evt.target.style.width = ''; + evt.target.style.height = `${document.getElementById('log').offsetTop - document.getElementById('media').offsetTop}px`; + } else { + evt.target.style.width = `${stdWidth}px`; + evt.target.style.height = ''; + } + // copy to clipboard on click + if (typeof ClipboardItem !== 'undefined' && navigator.clipboard) { + evt.target.toBlob((blob) => { + // eslint-disable-next-line no-undef + const item = new ClipboardItem({ 'image/png': blob }); + navigator.clipboard.write([item]); + log('copied image to clipboard'); + }); + } + }); const ctx = thumb.getContext('2d'); ctx.drawImage(canvas, 0, 0, canvas.width, canvas.height, 0, 0, thumb.width, thumb.height); - document.getElementById('samples-container').appendChild(thumb); - image.src = ''; + const prev = document.getElementsByClassName('thumbnail'); + if (prev && prev.length > 0) document.getElementById('samples-container').insertBefore(thumb, prev[0]); + else document.getElementById('samples-container').appendChild(thumb); + + // finish up + status(); + document.getElementById('play').style.display = 'none'; + document.getElementById('loader').style.display = 'none'; + if (ui.detectThread) cancelAnimationFrame(ui.detectThread); + if (ui.drawThread) cancelAnimationFrame(ui.drawThread); + resolve(true); }; image.src = input; @@ -522,11 +562,7 @@ async function detectSampleImages() { status('processing images'); document.getElementById('samples-container').innerHTML = ''; for (const m of Object.values(menu)) m.hide(); - for (const image of ui.samples) await processImage(image); - status(); - document.getElementById('play').style.display = 'none'; - document.getElementById('loader').style.display = 'none'; - if (ui.detectThread) cancelAnimationFrame(ui.detectThread); + for (const image of ui.samples) await processImage(image, image); } function setupMenu() { @@ -604,8 +640,8 @@ function setupMenu() { human.config.hand.rotation = val; }); menu.process.addHTML('


    '); - menu.process.addButton('process sample images', 'process images', () => detectSampleImages()); - menu.process.addHTML('
    '); + // menu.process.addButton('process sample images', 'process images', () => detectSampleImages()); + // menu.process.addHTML('
    '); menu.process.addChart('FPS', 'FPS'); menu.models = new Menu(document.body, '', { top, left: x[3] }); @@ -676,6 +712,31 @@ async function drawWarmup(res) { await human.draw.all(canvas, res, drawOptions); } +async function processDataURL(f) { + return new Promise((resolve) => { + const reader = new FileReader(); + reader.onload = async (e) => { + const dataURL = e.target.result; + await processImage(dataURL, f.name); + document.getElementById('canvas').style.display = 'none'; + resolve(true); + }; + reader.readAsDataURL(f); + }); +} + +async function dragAndDrop() { + document.body.addEventListener('dragenter', (evt) => evt.preventDefault()); + document.body.addEventListener('dragleave', (evt) => evt.preventDefault()); + document.body.addEventListener('dragover', (evt) => evt.preventDefault()); + document.body.addEventListener('drop', async (evt) => { + evt.preventDefault(); + evt.dataTransfer.dropEffect = 'copy'; + if (evt.dataTransfer.files.length < 2) ui.columns = 1; + for (const f of evt.dataTransfer.files) await processDataURL(f); + }); +} + async function pwaRegister() { if (!pwa.enabled) return; if ('serviceWorker' in navigator) { @@ -790,11 +851,16 @@ async function main() { document.getElementById('play').style.display = 'block'; for (const m of Object.values(menu)) m.hide(); + // init drag & drop + + await dragAndDrop(); + if (params.has('image')) { try { const image = JSON.parse(params.get('image')); log('overriding image:', image); ui.samples = [image]; + ui.columns = 1; } catch { status('cannot parse input image'); log('cannot parse input image', params.get('image')); diff --git a/dist/human.esm-nobundle.js b/dist/human.esm-nobundle.js index a720ecf9..78909c60 100644 --- a/dist/human.esm-nobundle.js +++ b/dist/human.esm-nobundle.js @@ -5,14 +5,10416 @@ author: ' */ -var dA=Object.defineProperty;var Me=Object.getOwnPropertyDescriptor;var Te=Object.getOwnPropertyNames;var Pe=Object.prototype.hasOwnProperty;var e0=(A,e)=>{for(var t in e)dA(A,t,{get:e[t],enumerable:!0})},u=(A,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Te(e))!Pe.call(A,o)&&o!=="default"&&dA(A,o,{get:()=>e[o],enumerable:!(t=Me(e,o))||t.enumerable});return A};var fA=(A,e,t)=>{if(!e.has(A))throw TypeError("Cannot "+t)};var q=(A,e,t)=>(fA(A,e,"read from private field"),t?t.call(A):e.get(A)),D=(A,e,t)=>{if(e.has(A))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(A):e.set(A,t)},Q=(A,e,t,o)=>(fA(A,e,"write to private field"),o?o.call(A,t):e.set(A,t),t);function H(A,e){let t=A.endsWith("/")?"":"/",n=e.startsWith(".")||e.startsWith("/")||e.startsWith("http:")||e.startsWith("https:")||e.startsWith("file:")?`${e}`:`${A}${t}${e}`;if(!n.toLocaleLowerCase().includes(".json"))throw new Error(`Human: ModelPath Error: ${n} Expecting JSON file`);return n}function g(...A){let e=new Date,t=`${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}.${e.getMilliseconds().toString().padStart(3,"0")}`;A&&console.log(t,"Human:",...A)}var I=()=>typeof performance!="undefined"?performance.now():parseInt((Number(process.hrtime.bigint())/1e3/1e3).toString());function U(...A){let e=t=>t&&typeof t=="object";return A.reduce((t,o)=>(Object.keys(o||{}).forEach(n=>{let x=t[n],i=o[n];Array.isArray(x)&&Array.isArray(i)?t[n]=x.concat(...i):e(x)&&e(i)?t[n]=U(x,i):t[n]=i}),t),{})}var mA={backend:"webgl",modelBasePath:"../models/",wasmPath:"../node_modules/@tensorflow/tfjs-backend-wasm/dist/",debug:!0,async:!0,warmup:"full",cacheSensitivity:.75,filter:{enabled:!0,width:0,height:0,flip:!1,return:!0,brightness:0,contrast:0,sharpness:0,blur:0,saturation:0,hue:0,negative:!1,sepia:!1,vintage:!1,kodachrome:!1,technicolor:!1,polaroid:!1,pixelate:0},gesture:{enabled:!0},face:{enabled:!0,detector:{modelPath:"blazeface.json",rotation:!1,maxDetected:10,skipFrames:15,minConfidence:.2,iouThreshold:.1,return:!1},mesh:{enabled:!0,modelPath:"facemesh.json"},iris:{enabled:!0,modelPath:"iris.json"},description:{enabled:!0,modelPath:"faceres.json",skipFrames:16,minConfidence:.1},emotion:{enabled:!0,minConfidence:.1,skipFrames:17,modelPath:"emotion.json"}},body:{enabled:!0,modelPath:"movenet-lightning.json",maxDetected:1,minConfidence:.2},hand:{enabled:!0,rotation:!0,skipFrames:18,minConfidence:.1,iouThreshold:.1,maxDetected:2,landmarks:!0,detector:{modelPath:"handdetect.json"},skeleton:{modelPath:"handskeleton.json"}},object:{enabled:!1,modelPath:"mb3-centernet.json",minConfidence:.2,iouThreshold:.4,maxDetected:10,skipFrames:19}};function hA(){let A,e;if(typeof navigator!="undefined"){let t=navigator.userAgent.match(/\(([^()]+)\)/g);if(t&&t[0]){let o=t[0].match(/\(([^()]+)\)/g);A=o?o[0].replace(/\(|\)/g,""):"",e=navigator.userAgent.replace(t[0],""),A[1]&&(e=e.replace(t[1],"")),e=e.replace(/ /g," ")}}else typeof process!="undefined"&&(A=`${process.platform} ${process.arch}`,e=`NodeJS ${process.version}`);return{platform:A,agent:e}}var a={};e0(a,{data:()=>Re,version:()=>je});u(a,m2);u(a,h2);u(a,u2);u(a,p2);u(a,b2);u(a,g2);import*as uA from"@tensorflow/tfjs/package.json";import*as pA from"@tensorflow/tfjs-core/package.json";import*as bA from"@tensorflow/tfjs-data/package.json";import*as gA from"@tensorflow/tfjs-layers/package.json";import*as MA from"@tensorflow/tfjs-converter/package.json";import{version_cpu as ze}from"@tensorflow/tfjs-backend-cpu/dist/index.js";import{version_webgl as ve}from"@tensorflow/tfjs-backend-webgl/dist/index.js";import{version_wasm as Ee}from"@tensorflow/tfjs-backend-wasm/dist/index.js";import*as m2 from"@tensorflow/tfjs-core/dist/index.js";import*as h2 from"@tensorflow/tfjs-layers/dist/index.js";import*as u2 from"@tensorflow/tfjs-converter/dist/index.js";import*as Re from"@tensorflow/tfjs-data/dist/index.js";import*as p2 from"@tensorflow/tfjs-backend-cpu/dist/index.js";import*as b2 from"@tensorflow/tfjs-backend-webgl/dist/index.js";import*as g2 from"@tensorflow/tfjs-backend-wasm/dist/index.js";var je={tfjs:(uA==null?void 0:uA.version)||void 0,"tfjs-core":(pA==null?void 0:pA.version)||void 0,"tfjs-data":(bA==null?void 0:bA.version)||void 0,"tfjs-layers":(gA==null?void 0:gA.version)||void 0,"tfjs-converter":(MA==null?void 0:MA.version)||void 0,"tfjs-backend-cpu":ze||void 0,"tfjs-backend-webgl":ve||void 0,"tfjs-backend-wasm":Ee||void 0};var J={name:"humangl",priority:99,canvas:null,gl:null,width:1024,height:1024,webGLattr:{alpha:!1,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!1,desynchronized:!0}};function TA(){if(!a.findBackend(J.name)){g("backend registration:",J.name);try{J.canvas=typeof OffscreenCanvas!="undefined"?new OffscreenCanvas(J.width,J.height):document.createElement("canvas")}catch(A){g("error: cannot create canvas:",A);return}try{J.gl=J.canvas.getContext("webgl2",J.webGLattr)}catch(A){g("error: cannot get WebGL2 context:",A);return}try{a.setWebGLContext(2,J.gl)}catch(A){g("error: cannot set WebGL2 context:",A);return}try{let A=new a.GPGPUContext(J.gl);a.registerBackend(J.name,()=>new a.MathBackendWebGL(A),J.priority)}catch(A){g("error: cannot register WebGL backend:",A);return}try{a.getKernelsForBackend("webgl").forEach(e=>{let t={...e,backendName:J.name};a.registerKernel(t)})}catch(A){g("error: cannot update WebGL backend registration:",A);return}try{a.ENV.set("WEBGL_VERSION",2)}catch(A){g("error: cannot set WebGL backend flags:",A);return}g("backend registered:",J.name)}}var h5={};e0(h5,{load:()=>m5,predict:()=>f5,triangulation:()=>IA,uvmap:()=>OA});function PA(A,e){let t=[A.startPoint[0]*e[0],A.startPoint[1]*e[1]],o=[A.endPoint[0]*e[0],A.endPoint[1]*e[1]];return{startPoint:t,endPoint:o}}function z0(A){return[Math.abs(A.endPoint[0]-A.startPoint[0]),Math.abs(A.endPoint[1]-A.startPoint[1])]}function f0(A){return[A.startPoint[0]+(A.endPoint[0]-A.startPoint[0])/2,A.startPoint[1]+(A.endPoint[1]-A.startPoint[1])/2]}function m0(A,e,t){let o=e.shape[1],n=e.shape[2],x=[[A.startPoint[1]/o,A.startPoint[0]/n,A.endPoint[1]/o,A.endPoint[0]/n]];return a.image.cropAndResize(e,x,[0],t)}function I0(A,e=1.5){let t=f0(A),o=z0(A),n=[e*o[0]/2,e*o[1]/2],x=[t[0]-n[0],t[1]-n[1]],i=[t[0]+n[0],t[1]+n[1]];return{startPoint:x,endPoint:i,landmarks:A.landmarks}}function O0(A){let e=f0(A),t=z0(A),n=Math.max(...t)/2,x=[Math.round(e[0]-n),Math.round(e[1]-n)],i=[Math.round(e[0]+n),Math.round(e[1]+n)];return{startPoint:x,endPoint:i,landmarks:A.landmarks}}function i5(A){let e=A.map(x=>x[0]),t=A.map(x=>x[1]),o=[Math.min(...e),Math.min(...t)],n=[Math.max(...e),Math.max(...t)];return{startPoint:o,endPoint:n,landmarks:A}}var zA=A=>({startPoint:a.slice(A,[0,0],[-1,2]),endPoint:a.slice(A,[0,2],[-1,2])});var L0=[[1,0,0],[0,1,0],[0,0,1]];function Se(A){return A-2*Math.PI*Math.floor((A+Math.PI)/(2*Math.PI))}function a5(A,e){let t=Math.PI/2-Math.atan2(-(e[1]-A[1]),e[0]-A[0]);return Se(t)}function vA(A,e){return[[1,0,A],[0,1,e],[0,0,1]]}function s0(A,e){let t=0;for(let o=0;o{let r=e.resizeBilinear([this.inputSize,this.inputSize]).div(127.5).sub(.5),c=this.model.execute(r),l;if(Array.isArray(c)){let d=c.sort((R,k)=>R.size-k.size),h=a.concat([d[0],d[2]],2),P=a.concat([d[1],d[3]],2);l=a.concat([P,h],1).squeeze(0)}else l=c.squeeze();let f=We(l,this.anchors,[this.inputSize,this.inputSize]),b=a.slice(l,[0,0],[-1,1]),v=a.sigmoid(b).squeeze().dataSync();return[l,f,v]}),x=await a.image.nonMaxSuppressionAsync(o,n,this.config.face.detector.maxDetected,this.config.face.detector.iouThreshold,this.config.face.detector.minConfidence),i=x.arraySync();x.dispose();let s=[];for(let y=0;ythis.config.face.detector.minConfidence){let c=a.slice(o,[i[y],0],[1,-1]),l=zA(c);c.dispose();let f=this.anchorsData[i[y]],b=a.tidy(()=>a.slice(t,[i[y],wA-1],[1,-1]).squeeze().reshape([wA,-1]));s.push({box:l,landmarks:b,anchor:f,confidence:r})}}return t.dispose(),o.dispose(),{boxes:s,scaleFactor:[e.shape[2]/this.inputSize,e.shape[1]/this.inputSize]}}};async function kA(A){let e=await a.loadGraphModel(H(A.modelBasePath,A.face.detector.modelPath),{fromTFHub:A.face.detector.modelPath.includes("tfhub.dev")}),t=new WA(e,A);return!e||!e.modelUrl?g("load model failed:",A.face.detector.modelPath):A.debug&&g("load model:",e.modelUrl),t}var t0={silhouette:[10,338,297,332,284,251,389,356,454,323,361,288,397,365,379,378,400,377,152,148,176,149,150,136,172,58,132,93,234,127,162,21,54,103,67,109],lipsUpperOuter:[61,185,40,39,37,0,267,269,270,409,291],lipsLowerOuter:[146,91,181,84,17,314,405,321,375,291],lipsUpperInner:[78,191,80,81,82,13,312,311,310,415,308],lipsLowerInner:[78,95,88,178,87,14,317,402,318,324,308],rightEyeUpper0:[246,161,160,159,158,157,173],rightEyeLower0:[33,7,163,144,145,153,154,155,133],rightEyeUpper1:[247,30,29,27,28,56,190],rightEyeLower1:[130,25,110,24,23,22,26,112,243],rightEyeUpper2:[113,225,224,223,222,221,189],rightEyeLower2:[226,31,228,229,230,231,232,233,244],rightEyeLower3:[143,111,117,118,119,120,121,128,245],rightEyebrowUpper:[156,70,63,105,66,107,55,193],rightEyebrowLower:[35,124,46,53,52,65],rightEyeIris:[473,474,475,476,477],leftEyeUpper0:[466,388,387,386,385,384,398],leftEyeLower0:[263,249,390,373,374,380,381,382,362],leftEyeUpper1:[467,260,259,257,258,286,414],leftEyeLower1:[359,255,339,254,253,252,256,341,463],leftEyeUpper2:[342,445,444,443,442,441,413],leftEyeLower2:[446,261,448,449,450,451,452,453,464],leftEyeLower3:[372,340,346,347,348,349,350,357,465],leftEyebrowUpper:[383,300,293,334,296,336,285,417],leftEyebrowLower:[265,353,276,283,282,295],leftEyeIris:[468,469,470,471,472],midwayBetweenEyes:[168],noseTip:[1],noseBottom:[2],noseRightCorner:[98],noseLeftCorner:[327],rightCheek:[205],leftCheek:[425]},x5=[{key:"EyeUpper0",indices:[9,10,11,12,13,14,15]},{key:"EyeUpper1",indices:[25,26,27,28,29,30,31]},{key:"EyeUpper2",indices:[41,42,43,44,45,46,47]},{key:"EyeLower0",indices:[0,1,2,3,4,5,6,7,8]},{key:"EyeLower1",indices:[16,17,18,19,20,21,22,23,24]},{key:"EyeLower2",indices:[32,33,34,35,36,37,38,39,40]},{key:"EyeLower3",indices:[54,55,56,57,58,59,60,61,62]}],v0=[[.499976992607117,.652534008026123],[.500025987625122,.547487020492554],[.499974012374878,.602371990680695],[.482113003730774,.471979022026062],[.500150978565216,.527155995368958],[.499909996986389,.498252987861633],[.499523013830185,.40106201171875],[.289712011814117,.380764007568359],[.499954998493195,.312398016452789],[.499987006187439,.269918978214264],[.500023007392883,.107050001621246],[.500023007392883,.666234016418457],[.5000159740448,.679224014282227],[.500023007392883,.692348003387451],[.499976992607117,.695277988910675],[.499976992607117,.70593398809433],[.499976992607117,.719385027885437],[.499976992607117,.737019002437592],[.499967992305756,.781370997428894],[.499816000461578,.562981009483337],[.473773002624512,.573909997940063],[.104906998574734,.254140973091125],[.365929991006851,.409575998783112],[.338757991790771,.41302502155304],[.311120003461838,.409460008144379],[.274657994508743,.389131009578705],[.393361985683441,.403706014156342],[.345234006643295,.344011008739471],[.370094001293182,.346076011657715],[.319321990013123,.347265005111694],[.297903001308441,.353591024875641],[.24779200553894,.410809993743896],[.396889001131058,.842755019664764],[.280097991228104,.375599980354309],[.106310002505779,.399955987930298],[.2099249958992,.391353011131287],[.355807989835739,.534406006336212],[.471751004457474,.65040397644043],[.474155008792877,.680191993713379],[.439785003662109,.657229006290436],[.414617002010345,.66654098033905],[.450374007225037,.680860996246338],[.428770989179611,.682690978050232],[.374971002340317,.727805018424988],[.486716985702515,.547628998756409],[.485300987958908,.527395009994507],[.257764995098114,.314490020275116],[.401223003864288,.455172002315521],[.429818987846375,.548614978790283],[.421351999044418,.533740997314453],[.276895999908447,.532056987285614],[.483370006084442,.499586999416351],[.33721199631691,.282882988452911],[.296391993761063,.293242990970612],[.169294998049736,.193813979625702],[.447580009698868,.302609980106354],[.392390012741089,.353887975215912],[.354490011930466,.696784019470215],[.067304998636246,.730105042457581],[.442739009857178,.572826027870178],[.457098007202148,.584792017936707],[.381974011659622,.694710969924927],[.392388999462128,.694203019142151],[.277076005935669,.271932005882263],[.422551989555359,.563233017921448],[.385919004678726,.281364023685455],[.383103013038635,.255840003490448],[.331431001424789,.119714021682739],[.229923993349075,.232002973556519],[.364500999450684,.189113974571228],[.229622006416321,.299540996551514],[.173287004232407,.278747975826263],[.472878992557526,.666198015213013],[.446828007698059,.668527007102966],[.422762006521225,.673889994621277],[.445307999849319,.580065965652466],[.388103008270264,.693961024284363],[.403039008378983,.706539988517761],[.403629004955292,.693953037261963],[.460041999816895,.557139039039612],[.431158006191254,.692366003990173],[.452181994915009,.692366003990173],[.475387006998062,.692366003990173],[.465828001499176,.779190003871918],[.472328990697861,.736225962638855],[.473087012767792,.717857003211975],[.473122000694275,.704625964164734],[.473033010959625,.695277988910675],[.427942007780075,.695277988910675],[.426479011774063,.703539967536926],[.423162013292313,.711845993995667],[.4183090031147,.720062971115112],[.390094995498657,.639572978019714],[.013953999616206,.560034036636353],[.499913990497589,.58014702796936],[.413199990987778,.69539999961853],[.409626007080078,.701822996139526],[.468080013990402,.601534962654114],[.422728985548019,.585985004901886],[.463079988956451,.593783974647522],[.37211999297142,.47341400384903],[.334562003612518,.496073007583618],[.411671012639999,.546965003013611],[.242175996303558,.14767599105835],[.290776997804642,.201445996761322],[.327338010072708,.256527006626129],[.399509996175766,.748921036720276],[.441727995872498,.261676013469696],[.429764986038208,.187834024429321],[.412198007106781,.108901023864746],[.288955003023148,.398952007293701],[.218936994671822,.435410976409912],[.41278201341629,.398970007896423],[.257135003805161,.355440020561218],[.427684992551804,.437960982322693],[.448339998722076,.536936044692993],[.178560003638268,.45755398273468],[.247308000922203,.457193970680237],[.286267012357712,.467674970626831],[.332827985286713,.460712015628815],[.368755996227264,.447206974029541],[.398963987827301,.432654976844788],[.476410001516342,.405806005001068],[.189241006970406,.523923993110657],[.228962004184723,.348950982093811],[.490725994110107,.562400996685028],[.404670000076294,.485132992267609],[.019469000399113,.401564002037048],[.426243007183075,.420431017875671],[.396993011236191,.548797011375427],[.266469985246658,.376977026462555],[.439121007919312,.51895797252655],[.032313998788595,.644356966018677],[.419054001569748,.387154996395111],[.462783008813858,.505746960639954],[.238978996872902,.779744982719421],[.198220998048782,.831938028335571],[.107550002634525,.540755033493042],[.183610007166862,.740257024765015],[.134409993886948,.333683013916016],[.385764002799988,.883153975009918],[.490967005491257,.579378008842468],[.382384985685349,.508572995662689],[.174399003386497,.397670984268188],[.318785011768341,.39623498916626],[.343364000320435,.400596976280212],[.396100014448166,.710216999053955],[.187885001301765,.588537991046906],[.430987000465393,.944064974784851],[.318993002176285,.898285031318665],[.266247987747192,.869701027870178],[.500023007392883,.190576016902924],[.499976992607117,.954452991485596],[.366169989109039,.398822009563446],[.393207013607025,.39553701877594],[.410373002290726,.391080021858215],[.194993004202843,.342101991176605],[.388664990663528,.362284004688263],[.365961998701096,.355970978736877],[.343364000320435,.355356991291046],[.318785011768341,.35834002494812],[.301414996385574,.363156020641327],[.058132998645306,.319076001644135],[.301414996385574,.387449026107788],[.499987989664078,.618434011936188],[.415838003158569,.624195992946625],[.445681989192963,.566076993942261],[.465844005346298,.620640993118286],[.49992299079895,.351523995399475],[.288718998432159,.819945991039276],[.335278987884521,.852819979190826],[.440512001514435,.902418971061707],[.128294005990028,.791940987110138],[.408771991729736,.373893976211548],[.455606997013092,.451801002025604],[.499877005815506,.908990025520325],[.375436991453171,.924192011356354],[.11421000212431,.615022003650665],[.448662012815475,.695277988910675],[.4480200111866,.704632043838501],[.447111994028091,.715808033943176],[.444831997156143,.730794012546539],[.430011987686157,.766808986663818],[.406787008047104,.685672998428345],[.400738000869751,.681069016456604],[.392399996519089,.677703022956848],[.367855995893478,.663918972015381],[.247923001646996,.601333022117615],[.452769994735718,.420849978923798],[.43639200925827,.359887003898621],[.416164010763168,.368713974952698],[.413385987281799,.692366003990173],[.228018000721931,.683571994304657],[.468268007040024,.352671027183533],[.411361992359161,.804327011108398],[.499989002943039,.469825029373169],[.479153990745544,.442654013633728],[.499974012374878,.439637005329132],[.432112008333206,.493588984012604],[.499886006116867,.866917014122009],[.49991300702095,.821729004383087],[.456548988819122,.819200992584229],[.344549000263214,.745438992977142],[.37890899181366,.574010014533997],[.374292999505997,.780184984207153],[.319687992334366,.570737957954407],[.357154995203018,.604269981384277],[.295284003019333,.621580958366394],[.447750002145767,.862477004528046],[.410986006259918,.508723020553589],[.31395098567009,.775308012962341],[.354128003120422,.812552988529205],[.324548006057739,.703992962837219],[.189096003770828,.646299958229065],[.279776990413666,.71465802192688],[.1338230073452,.682700991630554],[.336768001317978,.644733011722565],[.429883986711502,.466521978378296],[.455527991056442,.548622965812683],[.437114000320435,.558896005153656],[.467287987470627,.529924988746643],[.414712011814117,.335219979286194],[.37704598903656,.322777986526489],[.344107985496521,.320150971412659],[.312875986099243,.32233202457428],[.283526003360748,.333190023899078],[.241245999932289,.382785975933075],[.102986000478268,.468762993812561],[.267612010240555,.424560010433197],[.297879010438919,.433175981044769],[.333433985710144,.433878004550934],[.366427004337311,.426115989685059],[.396012008190155,.416696012020111],[.420121014118195,.41022801399231],[.007561000064015,.480777025222778],[.432949006557465,.569517970085144],[.458638995885849,.479089021682739],[.473466008901596,.545744001865387],[.476087987422943,.563830018043518],[.468472003936768,.555056989192963],[.433990985155106,.582361996173859],[.483518004417419,.562983989715576],[.482482999563217,.57784903049469],[.42645001411438,.389798998832703],[.438998997211456,.39649498462677],[.450067013502121,.400434017181396],[.289712011814117,.368252992630005],[.276670008897781,.363372981548309],[.517862021923065,.471948027610779],[.710287988185883,.380764007568359],[.526226997375488,.573909997940063],[.895093023777008,.254140973091125],[.634069979190826,.409575998783112],[.661242008209229,.41302502155304],[.688880026340485,.409460008144379],[.725341975688934,.389131009578705],[.606630027294159,.40370500087738],[.654766023159027,.344011008739471],[.629905998706818,.346076011657715],[.680678009986877,.347265005111694],[.702096998691559,.353591024875641],[.75221198797226,.410804986953735],[.602918028831482,.842862963676453],[.719901978969574,.375599980354309],[.893692970275879,.399959981441498],[.790081977844238,.391354024410248],[.643998026847839,.534487962722778],[.528249025344849,.65040397644043],[.525849997997284,.680191040039062],[.560214996337891,.657229006290436],[.585384011268616,.66654098033905],[.549625992774963,.680860996246338],[.57122802734375,.682691991329193],[.624852001667023,.72809898853302],[.513050019741058,.547281980514526],[.51509702205658,.527251958847046],[.742246985435486,.314507007598877],[.598631024360657,.454979002475739],[.570338010787964,.548575043678284],[.578631997108459,.533622980117798],[.723087012767792,.532054007053375],[.516445994377136,.499638974666595],[.662801027297974,.282917976379395],[.70362401008606,.293271005153656],[.830704987049103,.193813979625702],[.552385985851288,.302568018436432],[.607609987258911,.353887975215912],[.645429015159607,.696707010269165],[.932694971561432,.730105042457581],[.557260990142822,.572826027870178],[.542901992797852,.584792017936707],[.6180260181427,.694710969924927],[.607590973377228,.694203019142151],[.722943007946014,.271963000297546],[.577413976192474,.563166975975037],[.614082992076874,.281386971473694],[.616907000541687,.255886018276215],[.668509006500244,.119913995265961],[.770092010498047,.232020974159241],[.635536015033722,.189248979091644],[.77039098739624,.299556016921997],[.826722025871277,.278755009174347],[.527121007442474,.666198015213013],[.553171992301941,.668527007102966],[.577238023281097,.673889994621277],[.554691970348358,.580065965652466],[.611896991729736,.693961024284363],[.59696102142334,.706539988517761],[.596370995044708,.693953037261963],[.539958000183105,.557139039039612],[.568841993808746,.692366003990173],[.547818005084991,.692366003990173],[.52461302280426,.692366003990173],[.534089982509613,.779141008853912],[.527670979499817,.736225962638855],[.526912987232208,.717857003211975],[.526877999305725,.704625964164734],[.526966989040375,.695277988910675],[.572058022022247,.695277988910675],[.573521018028259,.703539967536926],[.57683801651001,.711845993995667],[.581691026687622,.720062971115112],[.609944999217987,.639909982681274],[.986046016216278,.560034036636353],[.5867999792099,.69539999961853],[.590372025966644,.701822996139526],[.531915009021759,.601536989212036],[.577268004417419,.585934996604919],[.536915004253387,.593786001205444],[.627542972564697,.473352015018463],[.665585994720459,.495950996875763],[.588353991508484,.546862006187439],[.757824003696442,.14767599105835],[.709249973297119,.201507985591888],[.672684013843536,.256581008434296],[.600408971309662,.74900496006012],[.55826598405838,.261672019958496],[.570303976535797,.187870979309082],[.588165998458862,.109044015407562],[.711045026779175,.398952007293701],[.781069993972778,.435405015945435],[.587247014045715,.398931980133057],[.742869973182678,.355445981025696],[.572156012058258,.437651991844177],[.55186802148819,.536570012569427],[.821442008018494,.457556009292603],[.752701997756958,.457181990146637],[.71375697851181,.467626988887787],[.66711300611496,.460672974586487],[.631101012229919,.447153985500336],[.6008620262146,.432473003864288],[.523481011390686,.405627012252808],[.810747981071472,.523926019668579],[.771045982837677,.348959028720856],[.509127020835876,.562718033790588],[.595292985439301,.485023975372314],[.980530977249146,.401564002037048],[.573499977588654,.420000016689301],[.602994978427887,.548687994480133],[.733529984951019,.376977026462555],[.560611009597778,.519016981124878],[.967685997486115,.644356966018677],[.580985009670258,.387160003185272],[.537728011608124,.505385041236877],[.760966002941132,.779752969741821],[.801778972148895,.831938028335571],[.892440974712372,.54076099395752],[.816350996494293,.740260004997253],[.865594983100891,.333687007427216],[.614073991775513,.883246004581451],[.508952975273132,.579437971115112],[.617941975593567,.508316040039062],[.825608015060425,.397674977779388],[.681214988231659,.39623498916626],[.656635999679565,.400596976280212],[.603900015354156,.710216999053955],[.81208598613739,.588539004325867],[.56801301240921,.944564998149872],[.681007981300354,.898285031318665],[.733752012252808,.869701027870178],[.633830010890961,.398822009563446],[.606792986392975,.39553701877594],[.589659988880157,.391062021255493],[.805015981197357,.342108011245728],[.611334979534149,.362284004688263],[.634037971496582,.355970978736877],[.656635999679565,.355356991291046],[.681214988231659,.35834002494812],[.698584973812103,.363156020641327],[.941866993904114,.319076001644135],[.698584973812103,.387449026107788],[.584177017211914,.624107003211975],[.554318010807037,.566076993942261],[.534153997898102,.62064003944397],[.711217999458313,.819975018501282],[.664629995822906,.852871000766754],[.559099972248077,.902631998062134],[.871706008911133,.791940987110138],[.591234028339386,.373893976211548],[.544341027736664,.451583981513977],[.624562978744507,.924192011356354],[.88577002286911,.615028977394104],[.551338016986847,.695277988910675],[.551980018615723,.704632043838501],[.552887976169586,.715808033943176],[.555167973041534,.730794012546539],[.569944024085999,.767035007476807],[.593203008174896,.685675978660583],[.599261999130249,.681069016456604],[.607599973678589,.677703022956848],[.631937980651855,.663500010967255],[.752032995223999,.601315021514893],[.547226011753082,.420395016670227],[.563543975353241,.359827995300293],[.583841025829315,.368713974952698],[.586614012718201,.692366003990173],[.771915018558502,.683578014373779],[.531597018241882,.352482974529266],[.588370978832245,.804440975189209],[.52079701423645,.442565023899078],[.567984998226166,.493479013442993],[.543282985687256,.819254994392395],[.655317008495331,.745514988899231],[.621008992195129,.574018001556396],[.625559985637665,.78031200170517],[.680198013782501,.570719003677368],[.64276397228241,.604337990283966],[.704662978649139,.621529996395111],[.552012026309967,.862591981887817],[.589071989059448,.508637011051178],[.685944974422455,.775357007980347],[.645735025405884,.812640011310577],[.675342977046967,.703978002071381],[.810858011245728,.646304965019226],[.72012197971344,.714666962623596],[.866151988506317,.682704985141754],[.663187026977539,.644596993923187],[.570082008838654,.466325998306274],[.544561982154846,.548375964164734],[.562758982181549,.558784961700439],[.531987011432648,.530140042304993],[.585271000862122,.335177004337311],[.622952997684479,.32277899980545],[.655896008014679,.320163011550903],[.687132000923157,.322345972061157],[.716481983661652,.333200991153717],[.758756995201111,.382786989212036],[.897013008594513,.468769013881683],[.732392013072968,.424547016620636],[.70211398601532,.433162987232208],[.66652500629425,.433866024017334],[.633504986763,.426087975502014],[.603875994682312,.416586995124817],[.579657971858978,.409945011138916],[.992439985275269,.480777025222778],[.567192018032074,.569419980049133],[.54136598110199,.478899002075195],[.526564002037048,.546118021011353],[.523913025856018,.563830018043518],[.531529009342194,.555056989192963],[.566035985946655,.582329034805298],[.51631098985672,.563053965568542],[.5174720287323,.577877044677734],[.573594987392426,.389806985855103],[.560697972774506,.395331978797913],[.549755990505219,.399751007556915],[.710287988185883,.368252992630005],[.723330020904541,.363372981548309]],y0=[127,34,139,11,0,37,232,231,120,72,37,39,128,121,47,232,121,128,104,69,67,175,171,148,157,154,155,118,50,101,73,39,40,9,151,108,48,115,131,194,204,211,74,40,185,80,42,183,40,92,186,230,229,118,202,212,214,83,18,17,76,61,146,160,29,30,56,157,173,106,204,194,135,214,192,203,165,98,21,71,68,51,45,4,144,24,23,77,146,91,205,50,187,201,200,18,91,106,182,90,91,181,85,84,17,206,203,36,148,171,140,92,40,39,193,189,244,159,158,28,247,246,161,236,3,196,54,68,104,193,168,8,117,228,31,189,193,55,98,97,99,126,47,100,166,79,218,155,154,26,209,49,131,135,136,150,47,126,217,223,52,53,45,51,134,211,170,140,67,69,108,43,106,91,230,119,120,226,130,247,63,53,52,238,20,242,46,70,156,78,62,96,46,53,63,143,34,227,173,155,133,123,117,111,44,125,19,236,134,51,216,206,205,154,153,22,39,37,167,200,201,208,36,142,100,57,212,202,20,60,99,28,158,157,35,226,113,160,159,27,204,202,210,113,225,46,43,202,204,62,76,77,137,123,116,41,38,72,203,129,142,64,98,240,49,102,64,41,73,74,212,216,207,42,74,184,169,170,211,170,149,176,105,66,69,122,6,168,123,147,187,96,77,90,65,55,107,89,90,180,101,100,120,63,105,104,93,137,227,15,86,85,129,102,49,14,87,86,55,8,9,100,47,121,145,23,22,88,89,179,6,122,196,88,95,96,138,172,136,215,58,172,115,48,219,42,80,81,195,3,51,43,146,61,171,175,199,81,82,38,53,46,225,144,163,110,246,33,7,52,65,66,229,228,117,34,127,234,107,108,69,109,108,151,48,64,235,62,78,191,129,209,126,111,35,143,163,161,246,117,123,50,222,65,52,19,125,141,221,55,65,3,195,197,25,7,33,220,237,44,70,71,139,122,193,245,247,130,33,71,21,162,153,158,159,170,169,150,188,174,196,216,186,92,144,160,161,2,97,167,141,125,241,164,167,37,72,38,12,145,159,160,38,82,13,63,68,71,226,35,111,158,153,154,101,50,205,206,92,165,209,198,217,165,167,97,220,115,218,133,112,243,239,238,241,214,135,169,190,173,133,171,208,32,125,44,237,86,87,178,85,86,179,84,85,180,83,84,181,201,83,182,137,93,132,76,62,183,61,76,184,57,61,185,212,57,186,214,207,187,34,143,156,79,239,237,123,137,177,44,1,4,201,194,32,64,102,129,213,215,138,59,166,219,242,99,97,2,94,141,75,59,235,24,110,228,25,130,226,23,24,229,22,23,230,26,22,231,112,26,232,189,190,243,221,56,190,28,56,221,27,28,222,29,27,223,30,29,224,247,30,225,238,79,20,166,59,75,60,75,240,147,177,215,20,79,166,187,147,213,112,233,244,233,128,245,128,114,188,114,217,174,131,115,220,217,198,236,198,131,134,177,132,58,143,35,124,110,163,7,228,110,25,356,389,368,11,302,267,452,350,349,302,303,269,357,343,277,452,453,357,333,332,297,175,152,377,384,398,382,347,348,330,303,304,270,9,336,337,278,279,360,418,262,431,304,408,409,310,415,407,270,409,410,450,348,347,422,430,434,313,314,17,306,307,375,387,388,260,286,414,398,335,406,418,364,367,416,423,358,327,251,284,298,281,5,4,373,374,253,307,320,321,425,427,411,421,313,18,321,405,406,320,404,405,315,16,17,426,425,266,377,400,369,322,391,269,417,465,464,386,257,258,466,260,388,456,399,419,284,332,333,417,285,8,346,340,261,413,441,285,327,460,328,355,371,329,392,439,438,382,341,256,429,420,360,364,394,379,277,343,437,443,444,283,275,440,363,431,262,369,297,338,337,273,375,321,450,451,349,446,342,467,293,334,282,458,461,462,276,353,383,308,324,325,276,300,293,372,345,447,382,398,362,352,345,340,274,1,19,456,248,281,436,427,425,381,256,252,269,391,393,200,199,428,266,330,329,287,273,422,250,462,328,258,286,384,265,353,342,387,259,257,424,431,430,342,353,276,273,335,424,292,325,307,366,447,345,271,303,302,423,266,371,294,455,460,279,278,294,271,272,304,432,434,427,272,407,408,394,430,431,395,369,400,334,333,299,351,417,168,352,280,411,325,319,320,295,296,336,319,403,404,330,348,349,293,298,333,323,454,447,15,16,315,358,429,279,14,15,316,285,336,9,329,349,350,374,380,252,318,402,403,6,197,419,318,319,325,367,364,365,435,367,397,344,438,439,272,271,311,195,5,281,273,287,291,396,428,199,311,271,268,283,444,445,373,254,339,263,466,249,282,334,296,449,347,346,264,447,454,336,296,299,338,10,151,278,439,455,292,407,415,358,371,355,340,345,372,390,249,466,346,347,280,442,443,282,19,94,370,441,442,295,248,419,197,263,255,359,440,275,274,300,383,368,351,412,465,263,467,466,301,368,389,380,374,386,395,378,379,412,351,419,436,426,322,373,390,388,2,164,393,370,462,461,164,0,267,302,11,12,374,373,387,268,12,13,293,300,301,446,261,340,385,384,381,330,266,425,426,423,391,429,355,437,391,327,326,440,457,438,341,382,362,459,457,461,434,430,394,414,463,362,396,369,262,354,461,457,316,403,402,315,404,403,314,405,404,313,406,405,421,418,406,366,401,361,306,408,407,291,409,408,287,410,409,432,436,410,434,416,411,264,368,383,309,438,457,352,376,401,274,275,4,421,428,262,294,327,358,433,416,367,289,455,439,462,370,326,2,326,370,305,460,455,254,449,448,255,261,446,253,450,449,252,451,450,256,452,451,341,453,452,413,464,463,441,413,414,258,442,441,257,443,442,259,444,443,260,445,444,467,342,445,459,458,250,289,392,290,290,328,460,376,433,435,250,290,392,411,416,433,341,463,464,453,464,465,357,465,412,343,412,399,360,363,440,437,399,456,420,456,363,401,435,288,372,383,353,339,255,249,448,261,255,133,243,190,133,155,112,33,246,247,33,130,25,398,384,286,362,398,414,362,463,341,263,359,467,263,249,255,466,467,260,75,60,166,238,239,79,162,127,139,72,11,37,121,232,120,73,72,39,114,128,47,233,232,128,103,104,67,152,175,148,173,157,155,119,118,101,74,73,40,107,9,108,49,48,131,32,194,211,184,74,185,191,80,183,185,40,186,119,230,118,210,202,214,84,83,17,77,76,146,161,160,30,190,56,173,182,106,194,138,135,192,129,203,98,54,21,68,5,51,4,145,144,23,90,77,91,207,205,187,83,201,18,181,91,182,180,90,181,16,85,17,205,206,36,176,148,140,165,92,39,245,193,244,27,159,28,30,247,161,174,236,196,103,54,104,55,193,8,111,117,31,221,189,55,240,98,99,142,126,100,219,166,218,112,155,26,198,209,131,169,135,150,114,47,217,224,223,53,220,45,134,32,211,140,109,67,108,146,43,91,231,230,120,113,226,247,105,63,52,241,238,242,124,46,156,95,78,96,70,46,63,116,143,227,116,123,111,1,44,19,3,236,51,207,216,205,26,154,22,165,39,167,199,200,208,101,36,100,43,57,202,242,20,99,56,28,157,124,35,113,29,160,27,211,204,210,124,113,46,106,43,204,96,62,77,227,137,116,73,41,72,36,203,142,235,64,240,48,49,64,42,41,74,214,212,207,183,42,184,210,169,211,140,170,176,104,105,69,193,122,168,50,123,187,89,96,90,66,65,107,179,89,180,119,101,120,68,63,104,234,93,227,16,15,85,209,129,49,15,14,86,107,55,9,120,100,121,153,145,22,178,88,179,197,6,196,89,88,96,135,138,136,138,215,172,218,115,219,41,42,81,5,195,51,57,43,61,208,171,199,41,81,38,224,53,225,24,144,110,105,52,66,118,229,117,227,34,234,66,107,69,10,109,151,219,48,235,183,62,191,142,129,126,116,111,143,7,163,246,118,117,50,223,222,52,94,19,141,222,221,65,196,3,197,45,220,44,156,70,139,188,122,245,139,71,162,145,153,159,149,170,150,122,188,196,206,216,92,163,144,161,164,2,167,242,141,241,0,164,37,11,72,12,144,145,160,12,38,13,70,63,71,31,226,111,157,158,154,36,101,205,203,206,165,126,209,217,98,165,97,237,220,218,237,239,241,210,214,169,140,171,32,241,125,237,179,86,178,180,85,179,181,84,180,182,83,181,194,201,182,177,137,132,184,76,183,185,61,184,186,57,185,216,212,186,192,214,187,139,34,156,218,79,237,147,123,177,45,44,4,208,201,32,98,64,129,192,213,138,235,59,219,141,242,97,97,2,141,240,75,235,229,24,228,31,25,226,230,23,229,231,22,230,232,26,231,233,112,232,244,189,243,189,221,190,222,28,221,223,27,222,224,29,223,225,30,224,113,247,225,99,60,240,213,147,215,60,20,166,192,187,213,243,112,244,244,233,245,245,128,188,188,114,174,134,131,220,174,217,236,236,198,134,215,177,58,156,143,124,25,110,7,31,228,25,264,356,368,0,11,267,451,452,349,267,302,269,350,357,277,350,452,357,299,333,297,396,175,377,381,384,382,280,347,330,269,303,270,151,9,337,344,278,360,424,418,431,270,304,409,272,310,407,322,270,410,449,450,347,432,422,434,18,313,17,291,306,375,259,387,260,424,335,418,434,364,416,391,423,327,301,251,298,275,281,4,254,373,253,375,307,321,280,425,411,200,421,18,335,321,406,321,320,405,314,315,17,423,426,266,396,377,369,270,322,269,413,417,464,385,386,258,248,456,419,298,284,333,168,417,8,448,346,261,417,413,285,326,327,328,277,355,329,309,392,438,381,382,256,279,429,360,365,364,379,355,277,437,282,443,283,281,275,363,395,431,369,299,297,337,335,273,321,348,450,349,359,446,467,283,293,282,250,458,462,300,276,383,292,308,325,283,276,293,264,372,447,346,352,340,354,274,19,363,456,281,426,436,425,380,381,252,267,269,393,421,200,428,371,266,329,432,287,422,290,250,328,385,258,384,446,265,342,386,387,257,422,424,430,445,342,276,422,273,424,306,292,307,352,366,345,268,271,302,358,423,371,327,294,460,331,279,294,303,271,304,436,432,427,304,272,408,395,394,431,378,395,400,296,334,299,6,351,168,376,352,411,307,325,320,285,295,336,320,319,404,329,330,349,334,293,333,366,323,447,316,15,315,331,358,279,317,14,316,8,285,9,277,329,350,253,374,252,319,318,403,351,6,419,324,318,325,397,367,365,288,435,397,278,344,439,310,272,311,248,195,281,375,273,291,175,396,199,312,311,268,276,283,445,390,373,339,295,282,296,448,449,346,356,264,454,337,336,299,337,338,151,294,278,455,308,292,415,429,358,355,265,340,372,388,390,466,352,346,280,295,442,282,354,19,370,285,441,295,195,248,197,457,440,274,301,300,368,417,351,465,251,301,389,385,380,386,394,395,379,399,412,419,410,436,322,387,373,388,326,2,393,354,370,461,393,164,267,268,302,12,386,374,387,312,268,13,298,293,301,265,446,340,380,385,381,280,330,425,322,426,391,420,429,437,393,391,326,344,440,438,458,459,461,364,434,394,428,396,262,274,354,457,317,316,402,316,315,403,315,314,404,314,313,405,313,421,406,323,366,361,292,306,407,306,291,408,291,287,409,287,432,410,427,434,411,372,264,383,459,309,457,366,352,401,1,274,4,418,421,262,331,294,358,435,433,367,392,289,439,328,462,326,94,2,370,289,305,455,339,254,448,359,255,446,254,253,449,253,252,450,252,256,451,256,341,452,414,413,463,286,441,414,286,258,441,258,257,442,257,259,443,259,260,444,260,467,445,309,459,250,305,289,290,305,290,460,401,376,435,309,250,392,376,411,433,453,341,464,357,453,465,343,357,412,437,343,399,344,360,440,420,437,456,360,420,363,361,401,288,265,372,353,390,339,249,339,448,255];var ke=[127,234,132,58,172,150,149,148,152,377,378,379,397,288,361,454,356,70,63,105,66,107,336,296,334,293,300,168,6,195,4,98,97,2,326,327,33,160,158,133,153,144,362,385,387,263,373,380,57,40,37,0,267,270,287,321,314,17,84,91,78,81,13,311,308,402,14,178],Ne=[33,133,362,263,1,62,308,159,145,386,374,6,102,331,2,13,14,70,105,107,336,334,300,54,10,284,50,280,234,454,58,288,152],Ie=[33,133,362,263,1,78,308],k2=ke.map(A=>v0[A]),N2=Ne.map(A=>v0[A]),I2=Ie.map(A=>v0[A]);var y5=t0.leftEyeLower0,l5=t0.rightEyeLower0,h0={leftBounds:[y5[0],y5[y5.length-1]],rightBounds:[l5[0],l5[l5.length-1]]},H0={count:468,mouth:13,symmetryLine:[13,t0.midwayBetweenEyes[0]]},NA={leftEye:0,rightEye:1,nose:2,mouth:3,leftEar:4,rightEar:5,symmetryLine:[3,2]},u0={upperCenter:3,lowerCenter:4,index:71,numCoordinates:76};function V0(A,e,t,o){for(let n=0;n[x[0]/this.meshSize*(l[0]-this.meshSize/2),x[1]/this.meshSize*(l[1]-this.meshSize/2),l[2]]),s=o!==0?Z0(o,[0,0]):L0,y=o!==0?i.map(l=>[...jA(l,s),l[2]]):i,r=o!==0?RA(n):L0,c=[...f0({startPoint:t.startPoint,endPoint:t.endPoint}),1];return y.map(l=>[Math.round(l[0]+s0(c,r[0])),Math.round(l[1]+s0(c,r[1])),Math.round(l[2])])}getLeftToRightEyeDepthDifference(e){let t=e[h0.leftBounds[0]][2],o=e[h0.rightBounds[0]][2];return t-o}getEyeBox(e,t,o,n,x=!1){let i=O0(I0(i5([e[o],e[n]]),this.irisEnlarge)),s=z0(i),y=a.image.cropAndResize(t,[[i.startPoint[1]/this.meshSize,i.startPoint[0]/this.meshSize,i.endPoint[1]/this.meshSize,i.endPoint[0]/this.meshSize]],[0],[this.irisSize,this.irisSize]);return x&&a.ENV.flags.IS_BROWSER&&(y=a.image.flipLeftRight(y)),{box:i,boxSize:s,crop:y}}getEyeCoords(e,t,o,n=!1){let x=[];for(let i=0;i{let r=i;return y===2?r=n:y===4&&(r=x),[s[0],s[1],r]})}async predict(e,t){let o=!1,n;if((this.skipped===0||this.skipped>t.face.detector.skipFrames||!t.face.mesh.enabled||!t.skipFrame)&&(n=await this.boundingBoxDetector.getBoundingBoxes(e),this.skipped=0),t.skipFrame&&this.skipped++,!t.skipFrame||n&&n.boxes&&(!t.face.mesh.enabled||n.boxes.length!==this.detectedFaces&&this.detectedFaces!==t.face.detector.maxDetected)){this.storedBoxes=[],this.detectedFaces=0;for(let i of n.boxes)this.storedBoxes.push({startPoint:i.box.startPoint.dataSync(),endPoint:i.box.endPoint.dataSync(),landmarks:i.landmarks.arraySync(),confidence:i.confidence});this.storedBoxes.length>0&&(o=!0)}if(o){if(!n||!n.boxes||n.boxes.length===0)return this.storedBoxes=[],this.detectedFaces=0,null;for(let i=0;i{i.box.startPoint.dispose(),i.box.endPoint.dispose(),i.landmarks.dispose()});let x=a.tidy(()=>this.storedBoxes.map((i,s)=>{let y,r=0,c;if(t.face.detector.rotation&&t.face.mesh.enabled&&a.ENV.flags.IS_BROWSER){let[R,k]=i.landmarks.length>=H0.count?H0.symmetryLine:NA.symmetryLine;r=a5(i.landmarks[R],i.landmarks[k]);let T=f0({startPoint:i.startPoint,endPoint:i.endPoint}),p=[T[0]/e.shape[2],T[1]/e.shape[1]],M=a.image.rotateWithOffset(e,r,0,p);c=Z0(-r,T),t.face.mesh.enabled?y=m0({startPoint:i.startPoint,endPoint:i.endPoint},M,[this.meshSize,this.meshSize]).div(255):y=m0({startPoint:i.startPoint,endPoint:i.endPoint},M,[this.boxSize,this.boxSize]).div(255)}else{c=L0;let R=e.clone();t.face.mesh.enabled?y=m0({startPoint:i.startPoint,endPoint:i.endPoint},R,[this.meshSize,this.meshSize]).div(255):y=m0({startPoint:i.startPoint,endPoint:i.endPoint},R,[this.boxSize,this.boxSize]).div(255)}if(!t.face.mesh.enabled)return{mesh:[],box:i,faceConfidence:null,boxConfidence:i.confidence,confidence:i.confidence,image:y};let[,l,f]=this.meshDetector.execute(y),b=l.dataSync()[0];if(b=H0.count?H0.symmetryLine:NA.symmetryLine;r=a5(i.landmarks[R],i.landmarks[k]);let T=f0({startPoint:i.startPoint,endPoint:i.endPoint}),p=[T[0]/e.shape[2],T[1]/e.shape[1]],M=a.image.rotateWithOffset(e.toFloat(),r,0,p);c=Z0(-r,T),y=m0({startPoint:i.startPoint,endPoint:i.endPoint},M,[this.meshSize,this.meshSize]).div(255)}let j={mesh:h,box:i,faceConfidence:b,boxConfidence:i.confidence,image:y};return this.storedBoxes[s]={...O0(i),confidence:i.confidence,faceConfidence:b},j}));return t.face.mesh.enabled&&(this.storedBoxes=this.storedBoxes.filter(i=>i.confidence>t.face.detector.minConfidence)),this.detectedFaces=x.length,x}};var V=[null,null,null],d5;async function f5(A,e){let t=await d5.predict(A,e),o=[],n=0;for(let x of t||[]){if(!x||x.isDisposedInternal)continue;let i=x.mesh.map(c=>[c[0]/A.shape[2],c[1]/A.shape[1],c[2]/d5.meshSize]),s={};if(x.mesh&&x.mesh.length>0)for(let c of Object.keys(t0))s[c]=t0[c].map(l=>x.mesh[l]);let y=x.box?[Math.trunc(Math.max(0,x.box.startPoint[0])),Math.trunc(Math.max(0,x.box.startPoint[1])),Math.trunc(Math.min(A.shape[2],x.box.endPoint[0])-Math.max(0,x.box.startPoint[0])),Math.trunc(Math.min(A.shape[1],x.box.endPoint[1])-Math.max(0,x.box.startPoint[1]))]:[0,0,0,0],r=x.box?[x.box.startPoint[0]/A.shape[2],x.box.startPoint[1]/A.shape[1],(x.box.endPoint[0]-x.box.startPoint[0])/A.shape[2],(x.box.endPoint[1]-x.box.startPoint[1])/A.shape[1]]:[0,0,0,0];o.push({id:n++,score:Math.round(100*x.faceConfidence||100*x.boxConfidence||0)/100,boxScore:Math.round(100*x.boxConfidence)/100,faceScore:Math.round(100*x.faceConfidence)/100,box:y,boxRaw:r,mesh:x.mesh,meshRaw:i,annotations:s,image:x.image,tensor:x.image}),x.coords&&x.coords.dispose()}return o}async function m5(A){return!V[0]&&A.face.enabled||!V[1]&&A.face.mesh.enabled||!V[2]&&A.face.iris.enabled?(V=await Promise.all([!V[0]&&A.face.enabled?kA(A):null,!V[1]&&A.face.mesh.enabled?a.loadGraphModel(H(A.modelBasePath,A.face.mesh.modelPath),{fromTFHub:A.face.mesh.modelPath.includes("tfhub.dev")}):null,!V[2]&&A.face.iris.enabled?a.loadGraphModel(H(A.modelBasePath,A.face.iris.modelPath),{fromTFHub:A.face.iris.modelPath.includes("tfhub.dev")}):null]),A.face.mesh.enabled&&(!V[1]||!V[1].modelUrl?g("load model failed:",A.face.mesh.modelPath):A.debug&&g("load model:",V[1].modelUrl)),A.face.iris.enabled&&(!V[2]||!V[2].modelUrl?g("load model failed:",A.face.iris.modelPath):A.debug&&g("load model:",V[2].modelUrl))):A.debug&&(V[0]&&g("cached model:",V[0].model.modelUrl),V[1]&&g("cached model:",V[1].modelUrl),V[2]&&g("cached model:",V[2].modelUrl)),d5=new c5(V[0],V[1],V[2]),V}var IA=y0,OA=v0;var g5={};e0(g5,{load:()=>b5,predict:()=>F0});var Oe=["angry","disgust","fear","happy","sad","surprise","neutral"],_,X0=[],LA=0,u5=Number.MAX_SAFE_INTEGER,p5=[.2989,.587,.114];async function b5(A){return _?A.debug&&g("cached model:",_.modelUrl):(_=await a.loadGraphModel(H(A.modelBasePath,A.face.emotion.modelPath)),!_||!_.modelUrl?g("load model failed:",A.face.emotion.modelPath):A.debug&&g("load model:",_.modelUrl)),_}async function F0(A,e,t,o){return _?u50?(u5++,X0[t]):(u5=0,new Promise(async n=>{let x=a.image.resizeBilinear(A,[_.inputs[0].shape[2],_.inputs[0].shape[1]],!1),[i,s,y]=a.split(x,3,3);x.dispose();let r=a.mul(i,p5[0]),c=a.mul(s,p5[1]),l=a.mul(y,p5[2]);i.dispose(),s.dispose(),y.dispose();let f=a.addN([r,c,l]);r.dispose(),c.dispose(),l.dispose();let b=a.tidy(()=>f.sub(.5).mul(2));f.dispose();let v=[];if(e.face.emotion.enabled){let d=await _.predict(b),h=d.dataSync();a.dispose(d);for(let P=0;Pe.face.emotion.minConfidence&&v.push({score:Math.min(.99,Math.trunc(100*h[P])/100),emotion:Oe[P]});v.sort((P,j)=>j.score-P.score)}b.dispose(),X0[t]=v,LA=o,n(v)})):null}var v5={};e0(v5,{enhance:()=>z5,load:()=>T5,match:()=>HA,predict:()=>B0,similarity:()=>P5});var $,q0=[],ZA=0,M5=Number.MAX_SAFE_INTEGER;async function T5(A){let e=H(A.modelBasePath,A.face.description.modelPath);return $?A.debug&&g("cached model:",e):($=await a.loadGraphModel(e),$?A.debug&&g("load model:",e):g("load model failed:",A.face.description.modelPath)),$}function P5(A,e,t=2){if(!A||!e||(A==null?void 0:A.length)===0||(e==null?void 0:e.length)===0||(A==null?void 0:A.length)!==(e==null?void 0:e.length))return 0;let o=5*A.map((x,i)=>Math.abs(A[i]-e[i])**t).reduce((x,i)=>x+i,0)**(1/t);return Math.max(0,100-o)/100}function HA(A,e,t=0){let o={similarity:0,name:"",source:"",embedding:[]};if(!A||!e||!Array.isArray(A)||!Array.isArray(e))return o;for(let n of e)if(n.embedding&&n.name){let x=P5(A,n.embedding);x>t&&x>o.similarity&&(o={...n,similarity:x})}return o}function z5(A){return a.tidy(()=>{let t=A.image||A.tensor||A;if(!(t instanceof a.Tensor))return null;let o=[[.05,.15,.85,.85]];return $.inputs[0].shape?(t.shape.length===3?a.image.cropAndResize(a.expandDims(t,0),o,[0],[$.inputs[0].shape[2],$.inputs[0].shape[1]]):a.image.cropAndResize(t,o,[0],[$.inputs[0].shape[2],$.inputs[0].shape[1]])).mul(255):null})}async function B0(A,e,t,o){var n,x;return $?M50?(M5++,q0[t]):(M5=0,new Promise(async i=>{let s=z5(A),y,r={age:0,gender:"unknown",genderScore:0,descriptor:[]};e.face.description.enabled&&(y=await $.predict(s)),a.dispose(s),y&&(a.tidy(()=>{let c=y.find(d=>d.shape[1]===1).dataSync(),l=Math.trunc(200*Math.abs(c[0]-.5))/100;l>e.face.description.minConfidence&&(r.gender=c[0]<=.5?"female":"male",r.genderScore=Math.min(.99,l));let f=y.find(d=>d.shape[1]===100).argMax(1).dataSync()[0],b=y.find(d=>d.shape[1]===100).dataSync();r.age=Math.round(b[f-1]>b[f+1]?10*f-100*b[f-1]:10*f+100*b[f+1])/10;let v=y.find(d=>d.shape[1]===1024);r.descriptor=[...v.dataSync()]}),y.forEach(c=>a.dispose(c))),q0[t]=r,ZA=o,i(r)})):null}var Le=(A,e)=>{let t=(f,b)=>Math.atan2(f[1]-b[1],f[0]-b[0]),o=[0,-.1],n=1,x=A[33][2]>A[263][2],i=x?A[473]:A[468],s=x?[(A[133][0]+A[33][0])/2,(A[133][1]+A[33][1])/2]:[(A[263][0]+A[362][0])/2,(A[263][1]+A[362][1])/2],y=x?[A[133][0]-A[33][0],A[23][1]-A[27][1]]:[A[263][0]-A[362][0],A[253][1]-A[257][1]],r=[(s[0]-i[0])/y[0]-o[0],n*(i[1]-s[1])/y[1]-o[1]],c=Math.sqrt(r[0]**2+r[1]**2);return c=Math.min(c,e[2]/2,e[3]/2),{bearing:(t([0,0],r)+Math.PI/2)%Math.PI,strength:c}},Ze=(A,e)=>{let t=h=>{let P=Math.sqrt(h[0]*h[0]+h[1]*h[1]+h[2]*h[2]);return h[0]/=P,h[1]/=P,h[2]/=P,h},o=(h,P)=>{let j=h[0]-P[0],R=h[1]-P[1],k=h[2]-P[2];return[j,R,k]},n=(h,P)=>{let j=h[1]*P[2]-h[2]*P[1],R=h[2]*P[0]-h[0]*P[2],k=h[0]*P[1]-h[1]*P[0];return[j,R,k]},x=h=>{let[P,j,R,k,T,p,M,m,W]=h,N,O,w;return k<1?k>-1?(w=Math.asin(k),O=Math.atan2(-M,P),N=Math.atan2(-p,T)):(w=-Math.PI/2,O=-Math.atan2(m,W),N=0):(w=Math.PI/2,O=Math.atan2(m,W),N=0),{pitch:2*-N,yaw:2*-O,roll:2*-w}},i=h=>{let P=(R,k,T,p)=>Math.atan2(p-k,T-R);return{pitch:P(h[10][1],h[10][2],h[152][1],h[152][2]),yaw:P(h[33][0],h[33][2],h[263][0],h[263][2]),roll:P(h[33][0],h[33][1],h[263][0],h[263][1])}},s=A.meshRaw;if(!s||s.length<300)return{angle:{pitch:0,yaw:0,roll:0},matrix:[1,0,0,0,1,0,0,0,1],gaze:{bearing:0,strength:0}};let y=Math.max(A.boxRaw[2]*e[0],A.boxRaw[3]*e[1])/1.5,r=[s[10],s[152],s[234],s[454]].map(h=>[h[0]*e[0]/y,h[1]*e[1]/y,h[2]]),c=t(o(r[1],r[0])),l=t(o(r[3],r[2])),f=t(n(l,c));l=n(c,f);let b=[l[0],l[1],l[2],c[0],c[1],c[2],f[0],f[1],f[2]],v=x(b),d=s.length===478?Le(s,A.box):{bearing:0,strength:0};return{angle:v,matrix:b,gaze:d}},E5=async(A,e)=>{var c,l,f,b,v,d;let t,o,n,x,i,s,y=[];A.state="run:face",t=I();let r=await f5(e,A.config);if(A.performance.face=Math.trunc(I()-t),!e.shape||e.shape.length!==4)return[];if(!r)return[];for(let h=0;hN5,predict:()=>k5});var E0=["nose","leftEye","rightEye","leftEar","rightEar","leftShoulder","rightShoulder","leftElbow","rightElbow","leftWrist","rightWrist","leftHip","rightHip","leftKnee","rightKnee","leftAnkle","rightAnkle"],VA=E0.length,R0=E0.reduce((A,e,t)=>(A[e]=t,A),{}),He=[["leftHip","leftShoulder"],["leftElbow","leftShoulder"],["leftElbow","leftWrist"],["leftHip","leftKnee"],["leftKnee","leftAnkle"],["rightHip","rightShoulder"],["rightElbow","rightShoulder"],["rightElbow","rightWrist"],["rightHip","rightKnee"],["rightKnee","rightAnkle"],["leftShoulder","rightShoulder"],["leftHip","rightHip"]],Ve=He.map(([A,e])=>[R0[A],R0[e]]),XA=[["nose","leftEye"],["leftEye","leftEar"],["nose","rightEye"],["rightEye","rightEar"],["nose","leftShoulder"],["leftShoulder","leftElbow"],["leftElbow","leftWrist"],["leftShoulder","leftHip"],["leftHip","leftKnee"],["leftKnee","leftAnkle"],["nose","rightShoulder"],["rightShoulder","rightElbow"],["rightElbow","rightWrist"],["rightShoulder","rightHip"],["rightHip","rightKnee"],["rightKnee","rightAnkle"]];function FA(A){let e=A.reduce(({maxX:t,maxY:o,minX:n,minY:x},{position:{x:i,y:s}})=>({maxX:Math.max(t,i),maxY:Math.max(o,s),minX:Math.min(n,i),minY:Math.min(x,s)}),{maxX:Number.NEGATIVE_INFINITY,maxY:Number.NEGATIVE_INFINITY,minX:Number.POSITIVE_INFINITY,minY:Number.POSITIVE_INFINITY});return[e.minX,e.minY,e.maxX-e.minX,e.maxY-e.minY]}function qA(A,[e,t],[o,n]){let x=e/o,i=t/n,s=(r,c)=>({id:c,score:r.score,boxRaw:[r.box[0]/n,r.box[1]/o,r.box[2]/n,r.box[3]/o],box:[Math.trunc(r.box[0]*i),Math.trunc(r.box[1]*x),Math.trunc(r.box[2]*i),Math.trunc(r.box[3]*x)],keypoints:r.keypoints.map(({score:l,part:f,position:b})=>({score:l,part:f,position:[Math.trunc(b.x*i),Math.trunc(b.y*x)],positionRaw:[b.x/o,b.y/o]}))});return A.map((r,c)=>s(r,c))}var R5=class{constructor(e,t){this.priorityQueue=new Array(e),this.numberOfElements=-1,this.getElementValue=t}enqueue(e){this.priorityQueue[++this.numberOfElements]=e,this.swim(this.numberOfElements)}dequeue(){let e=this.priorityQueue[0];return this.exchange(0,this.numberOfElements--),this.sink(0),this.priorityQueue[this.numberOfElements+1]=null,e}empty(){return this.numberOfElements===-1}size(){return this.numberOfElements+1}all(){return this.priorityQueue.slice(0,this.numberOfElements+1)}max(){return this.priorityQueue[0]}swim(e){for(;e>0&&this.less(Math.floor(e/2),e);)this.exchange(e,Math.floor(e/2)),e=Math.floor(e/2)}sink(e){for(;2*e<=this.numberOfElements;){let t=2*e;if(tt?t:A}function BA(A,e,t,o){let n=t-A,x=o-e;return n*n+x*x}function W5(A,e){return{x:A.x+e.x,y:A.y+e.y}}var C0=1,p0=16,Xe=50**2;function CA(A,e,t,o,n,x,i=2){let s=P=>({y:x.get(P.y,P.x,A),x:x.get(P.y,P.x,x.shape[2]/2+A)}),y=(P,j,R)=>({y:w5(Math.round(P.y/p0),0,j-1),x:w5(Math.round(P.x/p0),0,R-1)}),[r,c]=o.shape,l=y(e.position,r,c),f=s(l),v=W5(e.position,f);for(let P=0;P[R0[f],R0[b]]),i=x.map(([,f])=>f),s=x.map(([f])=>f),y=e.shape[2],r=i.length,c=new Array(y),l=S5(A.part,p0,t);c[A.part.id]={score:A.score,part:E0[A.part.id],position:l};for(let f=r-1;f>=0;--f){let b=i[f],v=s[f];c[b]&&!c[v]&&(c[v]=CA(f,c[b],v,e,t,n))}for(let f=0;fe){s=!1;break}if(!s)break}return s}function Be(A,e){let[t,o,n]=e.shape,x=new R5(t*o*n,({score:i})=>i);for(let i=0;i{var i;let x=(i=n[o])==null?void 0:i.position;return x?BA(t,e,x.y,x.x)<=Xe:!1})}function Ce(A,e){return e.reduce((o,{position:n,score:x},i)=>(UA(A,n,i)||(o+=x),o),0)/e.length}function JA(A,e,t,o,n,x){let i=[],s=Be(x,e);for(;i.lengthb.score>x);let l=Ce(i,c),f=FA(c);l>x&&i.push({keypoints:c,box:f,score:Math.round(100*l)/100})}return i}var Y,Ue=["MobilenetV1/offset_2/BiasAdd","MobilenetV1/heatmap_2/BiasAdd","MobilenetV1/displacement_fwd_2/BiasAdd","MobilenetV1/displacement_bwd_2/BiasAdd"];async function k5(A,e){let t=a.tidy(()=>{if(!Y.inputs[0].shape)return[];let s=A.resizeBilinear([Y.inputs[0].shape[2],Y.inputs[0].shape[1]]).toFloat().div(127.5).sub(1),r=Y.execute(s,Ue).map(c=>c.squeeze([0]));return r[1]=r[1].sigmoid(),r}),o=await Promise.all(t.map(i=>i.buffer()));for(let i of t)i.dispose();let n=await JA(o[0],o[1],o[2],o[3],e.body.maxDetected,e.body.minConfidence);return Y.inputs[0].shape?qA(n,[A.shape[1],A.shape[2]],[Y.inputs[0].shape[2],Y.inputs[0].shape[1]]):[]}async function N5(A){return Y?A.debug&&g("cached model:",Y.modelUrl):(Y=await a.loadGraphModel(H(A.modelBasePath,A.body.modelPath)),!Y||!Y.modelUrl?g("load model failed:",A.body.modelPath):A.debug&&g("load model:",Y.modelUrl)),Y}var F5={};e0(F5,{load:()=>X5,predict:()=>V5});function U0(A){return[Math.abs(A.endPoint[0]-A.startPoint[0]),Math.abs(A.endPoint[1]-A.startPoint[1])]}function j0(A){return[A.startPoint[0]+(A.endPoint[0]-A.startPoint[0])/2,A.startPoint[1]+(A.endPoint[1]-A.startPoint[1])/2]}function YA(A,e,t){let o=e.shape[1],n=e.shape[2],x=[[A.startPoint[1]/o,A.startPoint[0]/n,A.endPoint[1]/o,A.endPoint[0]/n]];return a.image.cropAndResize(e,x,[0],t)}function GA(A,e){let t=[A.startPoint[0]*e[0],A.startPoint[1]*e[1]],o=[A.endPoint[0]*e[0],A.endPoint[1]*e[1]],n=A.palmLandmarks.map(x=>[x[0]*e[0],x[1]*e[1]]);return{startPoint:t,endPoint:o,palmLandmarks:n,confidence:A.confidence}}function J0(A,e=1.5){let t=j0(A),o=U0(A),n=[e*o[0]/2,e*o[1]/2],x=[t[0]-n[0],t[1]-n[1]],i=[t[0]+n[0],t[1]+n[1]];return{startPoint:x,endPoint:i,palmLandmarks:A.palmLandmarks}}function Y0(A){let e=j0(A),t=U0(A),n=Math.max(...t)/2,x=[e[0]-n,e[1]-n],i=[e[0]+n,e[1]+n];return{startPoint:x,endPoint:i,palmLandmarks:A.palmLandmarks}}var KA=[{x:.015625,y:.015625},{x:.015625,y:.015625},{x:.046875,y:.015625},{x:.046875,y:.015625},{x:.078125,y:.015625},{x:.078125,y:.015625},{x:.109375,y:.015625},{x:.109375,y:.015625},{x:.140625,y:.015625},{x:.140625,y:.015625},{x:.171875,y:.015625},{x:.171875,y:.015625},{x:.203125,y:.015625},{x:.203125,y:.015625},{x:.234375,y:.015625},{x:.234375,y:.015625},{x:.265625,y:.015625},{x:.265625,y:.015625},{x:.296875,y:.015625},{x:.296875,y:.015625},{x:.328125,y:.015625},{x:.328125,y:.015625},{x:.359375,y:.015625},{x:.359375,y:.015625},{x:.390625,y:.015625},{x:.390625,y:.015625},{x:.421875,y:.015625},{x:.421875,y:.015625},{x:.453125,y:.015625},{x:.453125,y:.015625},{x:.484375,y:.015625},{x:.484375,y:.015625},{x:.515625,y:.015625},{x:.515625,y:.015625},{x:.546875,y:.015625},{x:.546875,y:.015625},{x:.578125,y:.015625},{x:.578125,y:.015625},{x:.609375,y:.015625},{x:.609375,y:.015625},{x:.640625,y:.015625},{x:.640625,y:.015625},{x:.671875,y:.015625},{x:.671875,y:.015625},{x:.703125,y:.015625},{x:.703125,y:.015625},{x:.734375,y:.015625},{x:.734375,y:.015625},{x:.765625,y:.015625},{x:.765625,y:.015625},{x:.796875,y:.015625},{x:.796875,y:.015625},{x:.828125,y:.015625},{x:.828125,y:.015625},{x:.859375,y:.015625},{x:.859375,y:.015625},{x:.890625,y:.015625},{x:.890625,y:.015625},{x:.921875,y:.015625},{x:.921875,y:.015625},{x:.953125,y:.015625},{x:.953125,y:.015625},{x:.984375,y:.015625},{x:.984375,y:.015625},{x:.015625,y:.046875},{x:.015625,y:.046875},{x:.046875,y:.046875},{x:.046875,y:.046875},{x:.078125,y:.046875},{x:.078125,y:.046875},{x:.109375,y:.046875},{x:.109375,y:.046875},{x:.140625,y:.046875},{x:.140625,y:.046875},{x:.171875,y:.046875},{x:.171875,y:.046875},{x:.203125,y:.046875},{x:.203125,y:.046875},{x:.234375,y:.046875},{x:.234375,y:.046875},{x:.265625,y:.046875},{x:.265625,y:.046875},{x:.296875,y:.046875},{x:.296875,y:.046875},{x:.328125,y:.046875},{x:.328125,y:.046875},{x:.359375,y:.046875},{x:.359375,y:.046875},{x:.390625,y:.046875},{x:.390625,y:.046875},{x:.421875,y:.046875},{x:.421875,y:.046875},{x:.453125,y:.046875},{x:.453125,y:.046875},{x:.484375,y:.046875},{x:.484375,y:.046875},{x:.515625,y:.046875},{x:.515625,y:.046875},{x:.546875,y:.046875},{x:.546875,y:.046875},{x:.578125,y:.046875},{x:.578125,y:.046875},{x:.609375,y:.046875},{x:.609375,y:.046875},{x:.640625,y:.046875},{x:.640625,y:.046875},{x:.671875,y:.046875},{x:.671875,y:.046875},{x:.703125,y:.046875},{x:.703125,y:.046875},{x:.734375,y:.046875},{x:.734375,y:.046875},{x:.765625,y:.046875},{x:.765625,y:.046875},{x:.796875,y:.046875},{x:.796875,y:.046875},{x:.828125,y:.046875},{x:.828125,y:.046875},{x:.859375,y:.046875},{x:.859375,y:.046875},{x:.890625,y:.046875},{x:.890625,y:.046875},{x:.921875,y:.046875},{x:.921875,y:.046875},{x:.953125,y:.046875},{x:.953125,y:.046875},{x:.984375,y:.046875},{x:.984375,y:.046875},{x:.015625,y:.078125},{x:.015625,y:.078125},{x:.046875,y:.078125},{x:.046875,y:.078125},{x:.078125,y:.078125},{x:.078125,y:.078125},{x:.109375,y:.078125},{x:.109375,y:.078125},{x:.140625,y:.078125},{x:.140625,y:.078125},{x:.171875,y:.078125},{x:.171875,y:.078125},{x:.203125,y:.078125},{x:.203125,y:.078125},{x:.234375,y:.078125},{x:.234375,y:.078125},{x:.265625,y:.078125},{x:.265625,y:.078125},{x:.296875,y:.078125},{x:.296875,y:.078125},{x:.328125,y:.078125},{x:.328125,y:.078125},{x:.359375,y:.078125},{x:.359375,y:.078125},{x:.390625,y:.078125},{x:.390625,y:.078125},{x:.421875,y:.078125},{x:.421875,y:.078125},{x:.453125,y:.078125},{x:.453125,y:.078125},{x:.484375,y:.078125},{x:.484375,y:.078125},{x:.515625,y:.078125},{x:.515625,y:.078125},{x:.546875,y:.078125},{x:.546875,y:.078125},{x:.578125,y:.078125},{x:.578125,y:.078125},{x:.609375,y:.078125},{x:.609375,y:.078125},{x:.640625,y:.078125},{x:.640625,y:.078125},{x:.671875,y:.078125},{x:.671875,y:.078125},{x:.703125,y:.078125},{x:.703125,y:.078125},{x:.734375,y:.078125},{x:.734375,y:.078125},{x:.765625,y:.078125},{x:.765625,y:.078125},{x:.796875,y:.078125},{x:.796875,y:.078125},{x:.828125,y:.078125},{x:.828125,y:.078125},{x:.859375,y:.078125},{x:.859375,y:.078125},{x:.890625,y:.078125},{x:.890625,y:.078125},{x:.921875,y:.078125},{x:.921875,y:.078125},{x:.953125,y:.078125},{x:.953125,y:.078125},{x:.984375,y:.078125},{x:.984375,y:.078125},{x:.015625,y:.109375},{x:.015625,y:.109375},{x:.046875,y:.109375},{x:.046875,y:.109375},{x:.078125,y:.109375},{x:.078125,y:.109375},{x:.109375,y:.109375},{x:.109375,y:.109375},{x:.140625,y:.109375},{x:.140625,y:.109375},{x:.171875,y:.109375},{x:.171875,y:.109375},{x:.203125,y:.109375},{x:.203125,y:.109375},{x:.234375,y:.109375},{x:.234375,y:.109375},{x:.265625,y:.109375},{x:.265625,y:.109375},{x:.296875,y:.109375},{x:.296875,y:.109375},{x:.328125,y:.109375},{x:.328125,y:.109375},{x:.359375,y:.109375},{x:.359375,y:.109375},{x:.390625,y:.109375},{x:.390625,y:.109375},{x:.421875,y:.109375},{x:.421875,y:.109375},{x:.453125,y:.109375},{x:.453125,y:.109375},{x:.484375,y:.109375},{x:.484375,y:.109375},{x:.515625,y:.109375},{x:.515625,y:.109375},{x:.546875,y:.109375},{x:.546875,y:.109375},{x:.578125,y:.109375},{x:.578125,y:.109375},{x:.609375,y:.109375},{x:.609375,y:.109375},{x:.640625,y:.109375},{x:.640625,y:.109375},{x:.671875,y:.109375},{x:.671875,y:.109375},{x:.703125,y:.109375},{x:.703125,y:.109375},{x:.734375,y:.109375},{x:.734375,y:.109375},{x:.765625,y:.109375},{x:.765625,y:.109375},{x:.796875,y:.109375},{x:.796875,y:.109375},{x:.828125,y:.109375},{x:.828125,y:.109375},{x:.859375,y:.109375},{x:.859375,y:.109375},{x:.890625,y:.109375},{x:.890625,y:.109375},{x:.921875,y:.109375},{x:.921875,y:.109375},{x:.953125,y:.109375},{x:.953125,y:.109375},{x:.984375,y:.109375},{x:.984375,y:.109375},{x:.015625,y:.140625},{x:.015625,y:.140625},{x:.046875,y:.140625},{x:.046875,y:.140625},{x:.078125,y:.140625},{x:.078125,y:.140625},{x:.109375,y:.140625},{x:.109375,y:.140625},{x:.140625,y:.140625},{x:.140625,y:.140625},{x:.171875,y:.140625},{x:.171875,y:.140625},{x:.203125,y:.140625},{x:.203125,y:.140625},{x:.234375,y:.140625},{x:.234375,y:.140625},{x:.265625,y:.140625},{x:.265625,y:.140625},{x:.296875,y:.140625},{x:.296875,y:.140625},{x:.328125,y:.140625},{x:.328125,y:.140625},{x:.359375,y:.140625},{x:.359375,y:.140625},{x:.390625,y:.140625},{x:.390625,y:.140625},{x:.421875,y:.140625},{x:.421875,y:.140625},{x:.453125,y:.140625},{x:.453125,y:.140625},{x:.484375,y:.140625},{x:.484375,y:.140625},{x:.515625,y:.140625},{x:.515625,y:.140625},{x:.546875,y:.140625},{x:.546875,y:.140625},{x:.578125,y:.140625},{x:.578125,y:.140625},{x:.609375,y:.140625},{x:.609375,y:.140625},{x:.640625,y:.140625},{x:.640625,y:.140625},{x:.671875,y:.140625},{x:.671875,y:.140625},{x:.703125,y:.140625},{x:.703125,y:.140625},{x:.734375,y:.140625},{x:.734375,y:.140625},{x:.765625,y:.140625},{x:.765625,y:.140625},{x:.796875,y:.140625},{x:.796875,y:.140625},{x:.828125,y:.140625},{x:.828125,y:.140625},{x:.859375,y:.140625},{x:.859375,y:.140625},{x:.890625,y:.140625},{x:.890625,y:.140625},{x:.921875,y:.140625},{x:.921875,y:.140625},{x:.953125,y:.140625},{x:.953125,y:.140625},{x:.984375,y:.140625},{x:.984375,y:.140625},{x:.015625,y:.171875},{x:.015625,y:.171875},{x:.046875,y:.171875},{x:.046875,y:.171875},{x:.078125,y:.171875},{x:.078125,y:.171875},{x:.109375,y:.171875},{x:.109375,y:.171875},{x:.140625,y:.171875},{x:.140625,y:.171875},{x:.171875,y:.171875},{x:.171875,y:.171875},{x:.203125,y:.171875},{x:.203125,y:.171875},{x:.234375,y:.171875},{x:.234375,y:.171875},{x:.265625,y:.171875},{x:.265625,y:.171875},{x:.296875,y:.171875},{x:.296875,y:.171875},{x:.328125,y:.171875},{x:.328125,y:.171875},{x:.359375,y:.171875},{x:.359375,y:.171875},{x:.390625,y:.171875},{x:.390625,y:.171875},{x:.421875,y:.171875},{x:.421875,y:.171875},{x:.453125,y:.171875},{x:.453125,y:.171875},{x:.484375,y:.171875},{x:.484375,y:.171875},{x:.515625,y:.171875},{x:.515625,y:.171875},{x:.546875,y:.171875},{x:.546875,y:.171875},{x:.578125,y:.171875},{x:.578125,y:.171875},{x:.609375,y:.171875},{x:.609375,y:.171875},{x:.640625,y:.171875},{x:.640625,y:.171875},{x:.671875,y:.171875},{x:.671875,y:.171875},{x:.703125,y:.171875},{x:.703125,y:.171875},{x:.734375,y:.171875},{x:.734375,y:.171875},{x:.765625,y:.171875},{x:.765625,y:.171875},{x:.796875,y:.171875},{x:.796875,y:.171875},{x:.828125,y:.171875},{x:.828125,y:.171875},{x:.859375,y:.171875},{x:.859375,y:.171875},{x:.890625,y:.171875},{x:.890625,y:.171875},{x:.921875,y:.171875},{x:.921875,y:.171875},{x:.953125,y:.171875},{x:.953125,y:.171875},{x:.984375,y:.171875},{x:.984375,y:.171875},{x:.015625,y:.203125},{x:.015625,y:.203125},{x:.046875,y:.203125},{x:.046875,y:.203125},{x:.078125,y:.203125},{x:.078125,y:.203125},{x:.109375,y:.203125},{x:.109375,y:.203125},{x:.140625,y:.203125},{x:.140625,y:.203125},{x:.171875,y:.203125},{x:.171875,y:.203125},{x:.203125,y:.203125},{x:.203125,y:.203125},{x:.234375,y:.203125},{x:.234375,y:.203125},{x:.265625,y:.203125},{x:.265625,y:.203125},{x:.296875,y:.203125},{x:.296875,y:.203125},{x:.328125,y:.203125},{x:.328125,y:.203125},{x:.359375,y:.203125},{x:.359375,y:.203125},{x:.390625,y:.203125},{x:.390625,y:.203125},{x:.421875,y:.203125},{x:.421875,y:.203125},{x:.453125,y:.203125},{x:.453125,y:.203125},{x:.484375,y:.203125},{x:.484375,y:.203125},{x:.515625,y:.203125},{x:.515625,y:.203125},{x:.546875,y:.203125},{x:.546875,y:.203125},{x:.578125,y:.203125},{x:.578125,y:.203125},{x:.609375,y:.203125},{x:.609375,y:.203125},{x:.640625,y:.203125},{x:.640625,y:.203125},{x:.671875,y:.203125},{x:.671875,y:.203125},{x:.703125,y:.203125},{x:.703125,y:.203125},{x:.734375,y:.203125},{x:.734375,y:.203125},{x:.765625,y:.203125},{x:.765625,y:.203125},{x:.796875,y:.203125},{x:.796875,y:.203125},{x:.828125,y:.203125},{x:.828125,y:.203125},{x:.859375,y:.203125},{x:.859375,y:.203125},{x:.890625,y:.203125},{x:.890625,y:.203125},{x:.921875,y:.203125},{x:.921875,y:.203125},{x:.953125,y:.203125},{x:.953125,y:.203125},{x:.984375,y:.203125},{x:.984375,y:.203125},{x:.015625,y:.234375},{x:.015625,y:.234375},{x:.046875,y:.234375},{x:.046875,y:.234375},{x:.078125,y:.234375},{x:.078125,y:.234375},{x:.109375,y:.234375},{x:.109375,y:.234375},{x:.140625,y:.234375},{x:.140625,y:.234375},{x:.171875,y:.234375},{x:.171875,y:.234375},{x:.203125,y:.234375},{x:.203125,y:.234375},{x:.234375,y:.234375},{x:.234375,y:.234375},{x:.265625,y:.234375},{x:.265625,y:.234375},{x:.296875,y:.234375},{x:.296875,y:.234375},{x:.328125,y:.234375},{x:.328125,y:.234375},{x:.359375,y:.234375},{x:.359375,y:.234375},{x:.390625,y:.234375},{x:.390625,y:.234375},{x:.421875,y:.234375},{x:.421875,y:.234375},{x:.453125,y:.234375},{x:.453125,y:.234375},{x:.484375,y:.234375},{x:.484375,y:.234375},{x:.515625,y:.234375},{x:.515625,y:.234375},{x:.546875,y:.234375},{x:.546875,y:.234375},{x:.578125,y:.234375},{x:.578125,y:.234375},{x:.609375,y:.234375},{x:.609375,y:.234375},{x:.640625,y:.234375},{x:.640625,y:.234375},{x:.671875,y:.234375},{x:.671875,y:.234375},{x:.703125,y:.234375},{x:.703125,y:.234375},{x:.734375,y:.234375},{x:.734375,y:.234375},{x:.765625,y:.234375},{x:.765625,y:.234375},{x:.796875,y:.234375},{x:.796875,y:.234375},{x:.828125,y:.234375},{x:.828125,y:.234375},{x:.859375,y:.234375},{x:.859375,y:.234375},{x:.890625,y:.234375},{x:.890625,y:.234375},{x:.921875,y:.234375},{x:.921875,y:.234375},{x:.953125,y:.234375},{x:.953125,y:.234375},{x:.984375,y:.234375},{x:.984375,y:.234375},{x:.015625,y:.265625},{x:.015625,y:.265625},{x:.046875,y:.265625},{x:.046875,y:.265625},{x:.078125,y:.265625},{x:.078125,y:.265625},{x:.109375,y:.265625},{x:.109375,y:.265625},{x:.140625,y:.265625},{x:.140625,y:.265625},{x:.171875,y:.265625},{x:.171875,y:.265625},{x:.203125,y:.265625},{x:.203125,y:.265625},{x:.234375,y:.265625},{x:.234375,y:.265625},{x:.265625,y:.265625},{x:.265625,y:.265625},{x:.296875,y:.265625},{x:.296875,y:.265625},{x:.328125,y:.265625},{x:.328125,y:.265625},{x:.359375,y:.265625},{x:.359375,y:.265625},{x:.390625,y:.265625},{x:.390625,y:.265625},{x:.421875,y:.265625},{x:.421875,y:.265625},{x:.453125,y:.265625},{x:.453125,y:.265625},{x:.484375,y:.265625},{x:.484375,y:.265625},{x:.515625,y:.265625},{x:.515625,y:.265625},{x:.546875,y:.265625},{x:.546875,y:.265625},{x:.578125,y:.265625},{x:.578125,y:.265625},{x:.609375,y:.265625},{x:.609375,y:.265625},{x:.640625,y:.265625},{x:.640625,y:.265625},{x:.671875,y:.265625},{x:.671875,y:.265625},{x:.703125,y:.265625},{x:.703125,y:.265625},{x:.734375,y:.265625},{x:.734375,y:.265625},{x:.765625,y:.265625},{x:.765625,y:.265625},{x:.796875,y:.265625},{x:.796875,y:.265625},{x:.828125,y:.265625},{x:.828125,y:.265625},{x:.859375,y:.265625},{x:.859375,y:.265625},{x:.890625,y:.265625},{x:.890625,y:.265625},{x:.921875,y:.265625},{x:.921875,y:.265625},{x:.953125,y:.265625},{x:.953125,y:.265625},{x:.984375,y:.265625},{x:.984375,y:.265625},{x:.015625,y:.296875},{x:.015625,y:.296875},{x:.046875,y:.296875},{x:.046875,y:.296875},{x:.078125,y:.296875},{x:.078125,y:.296875},{x:.109375,y:.296875},{x:.109375,y:.296875},{x:.140625,y:.296875},{x:.140625,y:.296875},{x:.171875,y:.296875},{x:.171875,y:.296875},{x:.203125,y:.296875},{x:.203125,y:.296875},{x:.234375,y:.296875},{x:.234375,y:.296875},{x:.265625,y:.296875},{x:.265625,y:.296875},{x:.296875,y:.296875},{x:.296875,y:.296875},{x:.328125,y:.296875},{x:.328125,y:.296875},{x:.359375,y:.296875},{x:.359375,y:.296875},{x:.390625,y:.296875},{x:.390625,y:.296875},{x:.421875,y:.296875},{x:.421875,y:.296875},{x:.453125,y:.296875},{x:.453125,y:.296875},{x:.484375,y:.296875},{x:.484375,y:.296875},{x:.515625,y:.296875},{x:.515625,y:.296875},{x:.546875,y:.296875},{x:.546875,y:.296875},{x:.578125,y:.296875},{x:.578125,y:.296875},{x:.609375,y:.296875},{x:.609375,y:.296875},{x:.640625,y:.296875},{x:.640625,y:.296875},{x:.671875,y:.296875},{x:.671875,y:.296875},{x:.703125,y:.296875},{x:.703125,y:.296875},{x:.734375,y:.296875},{x:.734375,y:.296875},{x:.765625,y:.296875},{x:.765625,y:.296875},{x:.796875,y:.296875},{x:.796875,y:.296875},{x:.828125,y:.296875},{x:.828125,y:.296875},{x:.859375,y:.296875},{x:.859375,y:.296875},{x:.890625,y:.296875},{x:.890625,y:.296875},{x:.921875,y:.296875},{x:.921875,y:.296875},{x:.953125,y:.296875},{x:.953125,y:.296875},{x:.984375,y:.296875},{x:.984375,y:.296875},{x:.015625,y:.328125},{x:.015625,y:.328125},{x:.046875,y:.328125},{x:.046875,y:.328125},{x:.078125,y:.328125},{x:.078125,y:.328125},{x:.109375,y:.328125},{x:.109375,y:.328125},{x:.140625,y:.328125},{x:.140625,y:.328125},{x:.171875,y:.328125},{x:.171875,y:.328125},{x:.203125,y:.328125},{x:.203125,y:.328125},{x:.234375,y:.328125},{x:.234375,y:.328125},{x:.265625,y:.328125},{x:.265625,y:.328125},{x:.296875,y:.328125},{x:.296875,y:.328125},{x:.328125,y:.328125},{x:.328125,y:.328125},{x:.359375,y:.328125},{x:.359375,y:.328125},{x:.390625,y:.328125},{x:.390625,y:.328125},{x:.421875,y:.328125},{x:.421875,y:.328125},{x:.453125,y:.328125},{x:.453125,y:.328125},{x:.484375,y:.328125},{x:.484375,y:.328125},{x:.515625,y:.328125},{x:.515625,y:.328125},{x:.546875,y:.328125},{x:.546875,y:.328125},{x:.578125,y:.328125},{x:.578125,y:.328125},{x:.609375,y:.328125},{x:.609375,y:.328125},{x:.640625,y:.328125},{x:.640625,y:.328125},{x:.671875,y:.328125},{x:.671875,y:.328125},{x:.703125,y:.328125},{x:.703125,y:.328125},{x:.734375,y:.328125},{x:.734375,y:.328125},{x:.765625,y:.328125},{x:.765625,y:.328125},{x:.796875,y:.328125},{x:.796875,y:.328125},{x:.828125,y:.328125},{x:.828125,y:.328125},{x:.859375,y:.328125},{x:.859375,y:.328125},{x:.890625,y:.328125},{x:.890625,y:.328125},{x:.921875,y:.328125},{x:.921875,y:.328125},{x:.953125,y:.328125},{x:.953125,y:.328125},{x:.984375,y:.328125},{x:.984375,y:.328125},{x:.015625,y:.359375},{x:.015625,y:.359375},{x:.046875,y:.359375},{x:.046875,y:.359375},{x:.078125,y:.359375},{x:.078125,y:.359375},{x:.109375,y:.359375},{x:.109375,y:.359375},{x:.140625,y:.359375},{x:.140625,y:.359375},{x:.171875,y:.359375},{x:.171875,y:.359375},{x:.203125,y:.359375},{x:.203125,y:.359375},{x:.234375,y:.359375},{x:.234375,y:.359375},{x:.265625,y:.359375},{x:.265625,y:.359375},{x:.296875,y:.359375},{x:.296875,y:.359375},{x:.328125,y:.359375},{x:.328125,y:.359375},{x:.359375,y:.359375},{x:.359375,y:.359375},{x:.390625,y:.359375},{x:.390625,y:.359375},{x:.421875,y:.359375},{x:.421875,y:.359375},{x:.453125,y:.359375},{x:.453125,y:.359375},{x:.484375,y:.359375},{x:.484375,y:.359375},{x:.515625,y:.359375},{x:.515625,y:.359375},{x:.546875,y:.359375},{x:.546875,y:.359375},{x:.578125,y:.359375},{x:.578125,y:.359375},{x:.609375,y:.359375},{x:.609375,y:.359375},{x:.640625,y:.359375},{x:.640625,y:.359375},{x:.671875,y:.359375},{x:.671875,y:.359375},{x:.703125,y:.359375},{x:.703125,y:.359375},{x:.734375,y:.359375},{x:.734375,y:.359375},{x:.765625,y:.359375},{x:.765625,y:.359375},{x:.796875,y:.359375},{x:.796875,y:.359375},{x:.828125,y:.359375},{x:.828125,y:.359375},{x:.859375,y:.359375},{x:.859375,y:.359375},{x:.890625,y:.359375},{x:.890625,y:.359375},{x:.921875,y:.359375},{x:.921875,y:.359375},{x:.953125,y:.359375},{x:.953125,y:.359375},{x:.984375,y:.359375},{x:.984375,y:.359375},{x:.015625,y:.390625},{x:.015625,y:.390625},{x:.046875,y:.390625},{x:.046875,y:.390625},{x:.078125,y:.390625},{x:.078125,y:.390625},{x:.109375,y:.390625},{x:.109375,y:.390625},{x:.140625,y:.390625},{x:.140625,y:.390625},{x:.171875,y:.390625},{x:.171875,y:.390625},{x:.203125,y:.390625},{x:.203125,y:.390625},{x:.234375,y:.390625},{x:.234375,y:.390625},{x:.265625,y:.390625},{x:.265625,y:.390625},{x:.296875,y:.390625},{x:.296875,y:.390625},{x:.328125,y:.390625},{x:.328125,y:.390625},{x:.359375,y:.390625},{x:.359375,y:.390625},{x:.390625,y:.390625},{x:.390625,y:.390625},{x:.421875,y:.390625},{x:.421875,y:.390625},{x:.453125,y:.390625},{x:.453125,y:.390625},{x:.484375,y:.390625},{x:.484375,y:.390625},{x:.515625,y:.390625},{x:.515625,y:.390625},{x:.546875,y:.390625},{x:.546875,y:.390625},{x:.578125,y:.390625},{x:.578125,y:.390625},{x:.609375,y:.390625},{x:.609375,y:.390625},{x:.640625,y:.390625},{x:.640625,y:.390625},{x:.671875,y:.390625},{x:.671875,y:.390625},{x:.703125,y:.390625},{x:.703125,y:.390625},{x:.734375,y:.390625},{x:.734375,y:.390625},{x:.765625,y:.390625},{x:.765625,y:.390625},{x:.796875,y:.390625},{x:.796875,y:.390625},{x:.828125,y:.390625},{x:.828125,y:.390625},{x:.859375,y:.390625},{x:.859375,y:.390625},{x:.890625,y:.390625},{x:.890625,y:.390625},{x:.921875,y:.390625},{x:.921875,y:.390625},{x:.953125,y:.390625},{x:.953125,y:.390625},{x:.984375,y:.390625},{x:.984375,y:.390625},{x:.015625,y:.421875},{x:.015625,y:.421875},{x:.046875,y:.421875},{x:.046875,y:.421875},{x:.078125,y:.421875},{x:.078125,y:.421875},{x:.109375,y:.421875},{x:.109375,y:.421875},{x:.140625,y:.421875},{x:.140625,y:.421875},{x:.171875,y:.421875},{x:.171875,y:.421875},{x:.203125,y:.421875},{x:.203125,y:.421875},{x:.234375,y:.421875},{x:.234375,y:.421875},{x:.265625,y:.421875},{x:.265625,y:.421875},{x:.296875,y:.421875},{x:.296875,y:.421875},{x:.328125,y:.421875},{x:.328125,y:.421875},{x:.359375,y:.421875},{x:.359375,y:.421875},{x:.390625,y:.421875},{x:.390625,y:.421875},{x:.421875,y:.421875},{x:.421875,y:.421875},{x:.453125,y:.421875},{x:.453125,y:.421875},{x:.484375,y:.421875},{x:.484375,y:.421875},{x:.515625,y:.421875},{x:.515625,y:.421875},{x:.546875,y:.421875},{x:.546875,y:.421875},{x:.578125,y:.421875},{x:.578125,y:.421875},{x:.609375,y:.421875},{x:.609375,y:.421875},{x:.640625,y:.421875},{x:.640625,y:.421875},{x:.671875,y:.421875},{x:.671875,y:.421875},{x:.703125,y:.421875},{x:.703125,y:.421875},{x:.734375,y:.421875},{x:.734375,y:.421875},{x:.765625,y:.421875},{x:.765625,y:.421875},{x:.796875,y:.421875},{x:.796875,y:.421875},{x:.828125,y:.421875},{x:.828125,y:.421875},{x:.859375,y:.421875},{x:.859375,y:.421875},{x:.890625,y:.421875},{x:.890625,y:.421875},{x:.921875,y:.421875},{x:.921875,y:.421875},{x:.953125,y:.421875},{x:.953125,y:.421875},{x:.984375,y:.421875},{x:.984375,y:.421875},{x:.015625,y:.453125},{x:.015625,y:.453125},{x:.046875,y:.453125},{x:.046875,y:.453125},{x:.078125,y:.453125},{x:.078125,y:.453125},{x:.109375,y:.453125},{x:.109375,y:.453125},{x:.140625,y:.453125},{x:.140625,y:.453125},{x:.171875,y:.453125},{x:.171875,y:.453125},{x:.203125,y:.453125},{x:.203125,y:.453125},{x:.234375,y:.453125},{x:.234375,y:.453125},{x:.265625,y:.453125},{x:.265625,y:.453125},{x:.296875,y:.453125},{x:.296875,y:.453125},{x:.328125,y:.453125},{x:.328125,y:.453125},{x:.359375,y:.453125},{x:.359375,y:.453125},{x:.390625,y:.453125},{x:.390625,y:.453125},{x:.421875,y:.453125},{x:.421875,y:.453125},{x:.453125,y:.453125},{x:.453125,y:.453125},{x:.484375,y:.453125},{x:.484375,y:.453125},{x:.515625,y:.453125},{x:.515625,y:.453125},{x:.546875,y:.453125},{x:.546875,y:.453125},{x:.578125,y:.453125},{x:.578125,y:.453125},{x:.609375,y:.453125},{x:.609375,y:.453125},{x:.640625,y:.453125},{x:.640625,y:.453125},{x:.671875,y:.453125},{x:.671875,y:.453125},{x:.703125,y:.453125},{x:.703125,y:.453125},{x:.734375,y:.453125},{x:.734375,y:.453125},{x:.765625,y:.453125},{x:.765625,y:.453125},{x:.796875,y:.453125},{x:.796875,y:.453125},{x:.828125,y:.453125},{x:.828125,y:.453125},{x:.859375,y:.453125},{x:.859375,y:.453125},{x:.890625,y:.453125},{x:.890625,y:.453125},{x:.921875,y:.453125},{x:.921875,y:.453125},{x:.953125,y:.453125},{x:.953125,y:.453125},{x:.984375,y:.453125},{x:.984375,y:.453125},{x:.015625,y:.484375},{x:.015625,y:.484375},{x:.046875,y:.484375},{x:.046875,y:.484375},{x:.078125,y:.484375},{x:.078125,y:.484375},{x:.109375,y:.484375},{x:.109375,y:.484375},{x:.140625,y:.484375},{x:.140625,y:.484375},{x:.171875,y:.484375},{x:.171875,y:.484375},{x:.203125,y:.484375},{x:.203125,y:.484375},{x:.234375,y:.484375},{x:.234375,y:.484375},{x:.265625,y:.484375},{x:.265625,y:.484375},{x:.296875,y:.484375},{x:.296875,y:.484375},{x:.328125,y:.484375},{x:.328125,y:.484375},{x:.359375,y:.484375},{x:.359375,y:.484375},{x:.390625,y:.484375},{x:.390625,y:.484375},{x:.421875,y:.484375},{x:.421875,y:.484375},{x:.453125,y:.484375},{x:.453125,y:.484375},{x:.484375,y:.484375},{x:.484375,y:.484375},{x:.515625,y:.484375},{x:.515625,y:.484375},{x:.546875,y:.484375},{x:.546875,y:.484375},{x:.578125,y:.484375},{x:.578125,y:.484375},{x:.609375,y:.484375},{x:.609375,y:.484375},{x:.640625,y:.484375},{x:.640625,y:.484375},{x:.671875,y:.484375},{x:.671875,y:.484375},{x:.703125,y:.484375},{x:.703125,y:.484375},{x:.734375,y:.484375},{x:.734375,y:.484375},{x:.765625,y:.484375},{x:.765625,y:.484375},{x:.796875,y:.484375},{x:.796875,y:.484375},{x:.828125,y:.484375},{x:.828125,y:.484375},{x:.859375,y:.484375},{x:.859375,y:.484375},{x:.890625,y:.484375},{x:.890625,y:.484375},{x:.921875,y:.484375},{x:.921875,y:.484375},{x:.953125,y:.484375},{x:.953125,y:.484375},{x:.984375,y:.484375},{x:.984375,y:.484375},{x:.015625,y:.515625},{x:.015625,y:.515625},{x:.046875,y:.515625},{x:.046875,y:.515625},{x:.078125,y:.515625},{x:.078125,y:.515625},{x:.109375,y:.515625},{x:.109375,y:.515625},{x:.140625,y:.515625},{x:.140625,y:.515625},{x:.171875,y:.515625},{x:.171875,y:.515625},{x:.203125,y:.515625},{x:.203125,y:.515625},{x:.234375,y:.515625},{x:.234375,y:.515625},{x:.265625,y:.515625},{x:.265625,y:.515625},{x:.296875,y:.515625},{x:.296875,y:.515625},{x:.328125,y:.515625},{x:.328125,y:.515625},{x:.359375,y:.515625},{x:.359375,y:.515625},{x:.390625,y:.515625},{x:.390625,y:.515625},{x:.421875,y:.515625},{x:.421875,y:.515625},{x:.453125,y:.515625},{x:.453125,y:.515625},{x:.484375,y:.515625},{x:.484375,y:.515625},{x:.515625,y:.515625},{x:.515625,y:.515625},{x:.546875,y:.515625},{x:.546875,y:.515625},{x:.578125,y:.515625},{x:.578125,y:.515625},{x:.609375,y:.515625},{x:.609375,y:.515625},{x:.640625,y:.515625},{x:.640625,y:.515625},{x:.671875,y:.515625},{x:.671875,y:.515625},{x:.703125,y:.515625},{x:.703125,y:.515625},{x:.734375,y:.515625},{x:.734375,y:.515625},{x:.765625,y:.515625},{x:.765625,y:.515625},{x:.796875,y:.515625},{x:.796875,y:.515625},{x:.828125,y:.515625},{x:.828125,y:.515625},{x:.859375,y:.515625},{x:.859375,y:.515625},{x:.890625,y:.515625},{x:.890625,y:.515625},{x:.921875,y:.515625},{x:.921875,y:.515625},{x:.953125,y:.515625},{x:.953125,y:.515625},{x:.984375,y:.515625},{x:.984375,y:.515625},{x:.015625,y:.546875},{x:.015625,y:.546875},{x:.046875,y:.546875},{x:.046875,y:.546875},{x:.078125,y:.546875},{x:.078125,y:.546875},{x:.109375,y:.546875},{x:.109375,y:.546875},{x:.140625,y:.546875},{x:.140625,y:.546875},{x:.171875,y:.546875},{x:.171875,y:.546875},{x:.203125,y:.546875},{x:.203125,y:.546875},{x:.234375,y:.546875},{x:.234375,y:.546875},{x:.265625,y:.546875},{x:.265625,y:.546875},{x:.296875,y:.546875},{x:.296875,y:.546875},{x:.328125,y:.546875},{x:.328125,y:.546875},{x:.359375,y:.546875},{x:.359375,y:.546875},{x:.390625,y:.546875},{x:.390625,y:.546875},{x:.421875,y:.546875},{x:.421875,y:.546875},{x:.453125,y:.546875},{x:.453125,y:.546875},{x:.484375,y:.546875},{x:.484375,y:.546875},{x:.515625,y:.546875},{x:.515625,y:.546875},{x:.546875,y:.546875},{x:.546875,y:.546875},{x:.578125,y:.546875},{x:.578125,y:.546875},{x:.609375,y:.546875},{x:.609375,y:.546875},{x:.640625,y:.546875},{x:.640625,y:.546875},{x:.671875,y:.546875},{x:.671875,y:.546875},{x:.703125,y:.546875},{x:.703125,y:.546875},{x:.734375,y:.546875},{x:.734375,y:.546875},{x:.765625,y:.546875},{x:.765625,y:.546875},{x:.796875,y:.546875},{x:.796875,y:.546875},{x:.828125,y:.546875},{x:.828125,y:.546875},{x:.859375,y:.546875},{x:.859375,y:.546875},{x:.890625,y:.546875},{x:.890625,y:.546875},{x:.921875,y:.546875},{x:.921875,y:.546875},{x:.953125,y:.546875},{x:.953125,y:.546875},{x:.984375,y:.546875},{x:.984375,y:.546875},{x:.015625,y:.578125},{x:.015625,y:.578125},{x:.046875,y:.578125},{x:.046875,y:.578125},{x:.078125,y:.578125},{x:.078125,y:.578125},{x:.109375,y:.578125},{x:.109375,y:.578125},{x:.140625,y:.578125},{x:.140625,y:.578125},{x:.171875,y:.578125},{x:.171875,y:.578125},{x:.203125,y:.578125},{x:.203125,y:.578125},{x:.234375,y:.578125},{x:.234375,y:.578125},{x:.265625,y:.578125},{x:.265625,y:.578125},{x:.296875,y:.578125},{x:.296875,y:.578125},{x:.328125,y:.578125},{x:.328125,y:.578125},{x:.359375,y:.578125},{x:.359375,y:.578125},{x:.390625,y:.578125},{x:.390625,y:.578125},{x:.421875,y:.578125},{x:.421875,y:.578125},{x:.453125,y:.578125},{x:.453125,y:.578125},{x:.484375,y:.578125},{x:.484375,y:.578125},{x:.515625,y:.578125},{x:.515625,y:.578125},{x:.546875,y:.578125},{x:.546875,y:.578125},{x:.578125,y:.578125},{x:.578125,y:.578125},{x:.609375,y:.578125},{x:.609375,y:.578125},{x:.640625,y:.578125},{x:.640625,y:.578125},{x:.671875,y:.578125},{x:.671875,y:.578125},{x:.703125,y:.578125},{x:.703125,y:.578125},{x:.734375,y:.578125},{x:.734375,y:.578125},{x:.765625,y:.578125},{x:.765625,y:.578125},{x:.796875,y:.578125},{x:.796875,y:.578125},{x:.828125,y:.578125},{x:.828125,y:.578125},{x:.859375,y:.578125},{x:.859375,y:.578125},{x:.890625,y:.578125},{x:.890625,y:.578125},{x:.921875,y:.578125},{x:.921875,y:.578125},{x:.953125,y:.578125},{x:.953125,y:.578125},{x:.984375,y:.578125},{x:.984375,y:.578125},{x:.015625,y:.609375},{x:.015625,y:.609375},{x:.046875,y:.609375},{x:.046875,y:.609375},{x:.078125,y:.609375},{x:.078125,y:.609375},{x:.109375,y:.609375},{x:.109375,y:.609375},{x:.140625,y:.609375},{x:.140625,y:.609375},{x:.171875,y:.609375},{x:.171875,y:.609375},{x:.203125,y:.609375},{x:.203125,y:.609375},{x:.234375,y:.609375},{x:.234375,y:.609375},{x:.265625,y:.609375},{x:.265625,y:.609375},{x:.296875,y:.609375},{x:.296875,y:.609375},{x:.328125,y:.609375},{x:.328125,y:.609375},{x:.359375,y:.609375},{x:.359375,y:.609375},{x:.390625,y:.609375},{x:.390625,y:.609375},{x:.421875,y:.609375},{x:.421875,y:.609375},{x:.453125,y:.609375},{x:.453125,y:.609375},{x:.484375,y:.609375},{x:.484375,y:.609375},{x:.515625,y:.609375},{x:.515625,y:.609375},{x:.546875,y:.609375},{x:.546875,y:.609375},{x:.578125,y:.609375},{x:.578125,y:.609375},{x:.609375,y:.609375},{x:.609375,y:.609375},{x:.640625,y:.609375},{x:.640625,y:.609375},{x:.671875,y:.609375},{x:.671875,y:.609375},{x:.703125,y:.609375},{x:.703125,y:.609375},{x:.734375,y:.609375},{x:.734375,y:.609375},{x:.765625,y:.609375},{x:.765625,y:.609375},{x:.796875,y:.609375},{x:.796875,y:.609375},{x:.828125,y:.609375},{x:.828125,y:.609375},{x:.859375,y:.609375},{x:.859375,y:.609375},{x:.890625,y:.609375},{x:.890625,y:.609375},{x:.921875,y:.609375},{x:.921875,y:.609375},{x:.953125,y:.609375},{x:.953125,y:.609375},{x:.984375,y:.609375},{x:.984375,y:.609375},{x:.015625,y:.640625},{x:.015625,y:.640625},{x:.046875,y:.640625},{x:.046875,y:.640625},{x:.078125,y:.640625},{x:.078125,y:.640625},{x:.109375,y:.640625},{x:.109375,y:.640625},{x:.140625,y:.640625},{x:.140625,y:.640625},{x:.171875,y:.640625},{x:.171875,y:.640625},{x:.203125,y:.640625},{x:.203125,y:.640625},{x:.234375,y:.640625},{x:.234375,y:.640625},{x:.265625,y:.640625},{x:.265625,y:.640625},{x:.296875,y:.640625},{x:.296875,y:.640625},{x:.328125,y:.640625},{x:.328125,y:.640625},{x:.359375,y:.640625},{x:.359375,y:.640625},{x:.390625,y:.640625},{x:.390625,y:.640625},{x:.421875,y:.640625},{x:.421875,y:.640625},{x:.453125,y:.640625},{x:.453125,y:.640625},{x:.484375,y:.640625},{x:.484375,y:.640625},{x:.515625,y:.640625},{x:.515625,y:.640625},{x:.546875,y:.640625},{x:.546875,y:.640625},{x:.578125,y:.640625},{x:.578125,y:.640625},{x:.609375,y:.640625},{x:.609375,y:.640625},{x:.640625,y:.640625},{x:.640625,y:.640625},{x:.671875,y:.640625},{x:.671875,y:.640625},{x:.703125,y:.640625},{x:.703125,y:.640625},{x:.734375,y:.640625},{x:.734375,y:.640625},{x:.765625,y:.640625},{x:.765625,y:.640625},{x:.796875,y:.640625},{x:.796875,y:.640625},{x:.828125,y:.640625},{x:.828125,y:.640625},{x:.859375,y:.640625},{x:.859375,y:.640625},{x:.890625,y:.640625},{x:.890625,y:.640625},{x:.921875,y:.640625},{x:.921875,y:.640625},{x:.953125,y:.640625},{x:.953125,y:.640625},{x:.984375,y:.640625},{x:.984375,y:.640625},{x:.015625,y:.671875},{x:.015625,y:.671875},{x:.046875,y:.671875},{x:.046875,y:.671875},{x:.078125,y:.671875},{x:.078125,y:.671875},{x:.109375,y:.671875},{x:.109375,y:.671875},{x:.140625,y:.671875},{x:.140625,y:.671875},{x:.171875,y:.671875},{x:.171875,y:.671875},{x:.203125,y:.671875},{x:.203125,y:.671875},{x:.234375,y:.671875},{x:.234375,y:.671875},{x:.265625,y:.671875},{x:.265625,y:.671875},{x:.296875,y:.671875},{x:.296875,y:.671875},{x:.328125,y:.671875},{x:.328125,y:.671875},{x:.359375,y:.671875},{x:.359375,y:.671875},{x:.390625,y:.671875},{x:.390625,y:.671875},{x:.421875,y:.671875},{x:.421875,y:.671875},{x:.453125,y:.671875},{x:.453125,y:.671875},{x:.484375,y:.671875},{x:.484375,y:.671875},{x:.515625,y:.671875},{x:.515625,y:.671875},{x:.546875,y:.671875},{x:.546875,y:.671875},{x:.578125,y:.671875},{x:.578125,y:.671875},{x:.609375,y:.671875},{x:.609375,y:.671875},{x:.640625,y:.671875},{x:.640625,y:.671875},{x:.671875,y:.671875},{x:.671875,y:.671875},{x:.703125,y:.671875},{x:.703125,y:.671875},{x:.734375,y:.671875},{x:.734375,y:.671875},{x:.765625,y:.671875},{x:.765625,y:.671875},{x:.796875,y:.671875},{x:.796875,y:.671875},{x:.828125,y:.671875},{x:.828125,y:.671875},{x:.859375,y:.671875},{x:.859375,y:.671875},{x:.890625,y:.671875},{x:.890625,y:.671875},{x:.921875,y:.671875},{x:.921875,y:.671875},{x:.953125,y:.671875},{x:.953125,y:.671875},{x:.984375,y:.671875},{x:.984375,y:.671875},{x:.015625,y:.703125},{x:.015625,y:.703125},{x:.046875,y:.703125},{x:.046875,y:.703125},{x:.078125,y:.703125},{x:.078125,y:.703125},{x:.109375,y:.703125},{x:.109375,y:.703125},{x:.140625,y:.703125},{x:.140625,y:.703125},{x:.171875,y:.703125},{x:.171875,y:.703125},{x:.203125,y:.703125},{x:.203125,y:.703125},{x:.234375,y:.703125},{x:.234375,y:.703125},{x:.265625,y:.703125},{x:.265625,y:.703125},{x:.296875,y:.703125},{x:.296875,y:.703125},{x:.328125,y:.703125},{x:.328125,y:.703125},{x:.359375,y:.703125},{x:.359375,y:.703125},{x:.390625,y:.703125},{x:.390625,y:.703125},{x:.421875,y:.703125},{x:.421875,y:.703125},{x:.453125,y:.703125},{x:.453125,y:.703125},{x:.484375,y:.703125},{x:.484375,y:.703125},{x:.515625,y:.703125},{x:.515625,y:.703125},{x:.546875,y:.703125},{x:.546875,y:.703125},{x:.578125,y:.703125},{x:.578125,y:.703125},{x:.609375,y:.703125},{x:.609375,y:.703125},{x:.640625,y:.703125},{x:.640625,y:.703125},{x:.671875,y:.703125},{x:.671875,y:.703125},{x:.703125,y:.703125},{x:.703125,y:.703125},{x:.734375,y:.703125},{x:.734375,y:.703125},{x:.765625,y:.703125},{x:.765625,y:.703125},{x:.796875,y:.703125},{x:.796875,y:.703125},{x:.828125,y:.703125},{x:.828125,y:.703125},{x:.859375,y:.703125},{x:.859375,y:.703125},{x:.890625,y:.703125},{x:.890625,y:.703125},{x:.921875,y:.703125},{x:.921875,y:.703125},{x:.953125,y:.703125},{x:.953125,y:.703125},{x:.984375,y:.703125},{x:.984375,y:.703125},{x:.015625,y:.734375},{x:.015625,y:.734375},{x:.046875,y:.734375},{x:.046875,y:.734375},{x:.078125,y:.734375},{x:.078125,y:.734375},{x:.109375,y:.734375},{x:.109375,y:.734375},{x:.140625,y:.734375},{x:.140625,y:.734375},{x:.171875,y:.734375},{x:.171875,y:.734375},{x:.203125,y:.734375},{x:.203125,y:.734375},{x:.234375,y:.734375},{x:.234375,y:.734375},{x:.265625,y:.734375},{x:.265625,y:.734375},{x:.296875,y:.734375},{x:.296875,y:.734375},{x:.328125,y:.734375},{x:.328125,y:.734375},{x:.359375,y:.734375},{x:.359375,y:.734375},{x:.390625,y:.734375},{x:.390625,y:.734375},{x:.421875,y:.734375},{x:.421875,y:.734375},{x:.453125,y:.734375},{x:.453125,y:.734375},{x:.484375,y:.734375},{x:.484375,y:.734375},{x:.515625,y:.734375},{x:.515625,y:.734375},{x:.546875,y:.734375},{x:.546875,y:.734375},{x:.578125,y:.734375},{x:.578125,y:.734375},{x:.609375,y:.734375},{x:.609375,y:.734375},{x:.640625,y:.734375},{x:.640625,y:.734375},{x:.671875,y:.734375},{x:.671875,y:.734375},{x:.703125,y:.734375},{x:.703125,y:.734375},{x:.734375,y:.734375},{x:.734375,y:.734375},{x:.765625,y:.734375},{x:.765625,y:.734375},{x:.796875,y:.734375},{x:.796875,y:.734375},{x:.828125,y:.734375},{x:.828125,y:.734375},{x:.859375,y:.734375},{x:.859375,y:.734375},{x:.890625,y:.734375},{x:.890625,y:.734375},{x:.921875,y:.734375},{x:.921875,y:.734375},{x:.953125,y:.734375},{x:.953125,y:.734375},{x:.984375,y:.734375},{x:.984375,y:.734375},{x:.015625,y:.765625},{x:.015625,y:.765625},{x:.046875,y:.765625},{x:.046875,y:.765625},{x:.078125,y:.765625},{x:.078125,y:.765625},{x:.109375,y:.765625},{x:.109375,y:.765625},{x:.140625,y:.765625},{x:.140625,y:.765625},{x:.171875,y:.765625},{x:.171875,y:.765625},{x:.203125,y:.765625},{x:.203125,y:.765625},{x:.234375,y:.765625},{x:.234375,y:.765625},{x:.265625,y:.765625},{x:.265625,y:.765625},{x:.296875,y:.765625},{x:.296875,y:.765625},{x:.328125,y:.765625},{x:.328125,y:.765625},{x:.359375,y:.765625},{x:.359375,y:.765625},{x:.390625,y:.765625},{x:.390625,y:.765625},{x:.421875,y:.765625},{x:.421875,y:.765625},{x:.453125,y:.765625},{x:.453125,y:.765625},{x:.484375,y:.765625},{x:.484375,y:.765625},{x:.515625,y:.765625},{x:.515625,y:.765625},{x:.546875,y:.765625},{x:.546875,y:.765625},{x:.578125,y:.765625},{x:.578125,y:.765625},{x:.609375,y:.765625},{x:.609375,y:.765625},{x:.640625,y:.765625},{x:.640625,y:.765625},{x:.671875,y:.765625},{x:.671875,y:.765625},{x:.703125,y:.765625},{x:.703125,y:.765625},{x:.734375,y:.765625},{x:.734375,y:.765625},{x:.765625,y:.765625},{x:.765625,y:.765625},{x:.796875,y:.765625},{x:.796875,y:.765625},{x:.828125,y:.765625},{x:.828125,y:.765625},{x:.859375,y:.765625},{x:.859375,y:.765625},{x:.890625,y:.765625},{x:.890625,y:.765625},{x:.921875,y:.765625},{x:.921875,y:.765625},{x:.953125,y:.765625},{x:.953125,y:.765625},{x:.984375,y:.765625},{x:.984375,y:.765625},{x:.015625,y:.796875},{x:.015625,y:.796875},{x:.046875,y:.796875},{x:.046875,y:.796875},{x:.078125,y:.796875},{x:.078125,y:.796875},{x:.109375,y:.796875},{x:.109375,y:.796875},{x:.140625,y:.796875},{x:.140625,y:.796875},{x:.171875,y:.796875},{x:.171875,y:.796875},{x:.203125,y:.796875},{x:.203125,y:.796875},{x:.234375,y:.796875},{x:.234375,y:.796875},{x:.265625,y:.796875},{x:.265625,y:.796875},{x:.296875,y:.796875},{x:.296875,y:.796875},{x:.328125,y:.796875},{x:.328125,y:.796875},{x:.359375,y:.796875},{x:.359375,y:.796875},{x:.390625,y:.796875},{x:.390625,y:.796875},{x:.421875,y:.796875},{x:.421875,y:.796875},{x:.453125,y:.796875},{x:.453125,y:.796875},{x:.484375,y:.796875},{x:.484375,y:.796875},{x:.515625,y:.796875},{x:.515625,y:.796875},{x:.546875,y:.796875},{x:.546875,y:.796875},{x:.578125,y:.796875},{x:.578125,y:.796875},{x:.609375,y:.796875},{x:.609375,y:.796875},{x:.640625,y:.796875},{x:.640625,y:.796875},{x:.671875,y:.796875},{x:.671875,y:.796875},{x:.703125,y:.796875},{x:.703125,y:.796875},{x:.734375,y:.796875},{x:.734375,y:.796875},{x:.765625,y:.796875},{x:.765625,y:.796875},{x:.796875,y:.796875},{x:.796875,y:.796875},{x:.828125,y:.796875},{x:.828125,y:.796875},{x:.859375,y:.796875},{x:.859375,y:.796875},{x:.890625,y:.796875},{x:.890625,y:.796875},{x:.921875,y:.796875},{x:.921875,y:.796875},{x:.953125,y:.796875},{x:.953125,y:.796875},{x:.984375,y:.796875},{x:.984375,y:.796875},{x:.015625,y:.828125},{x:.015625,y:.828125},{x:.046875,y:.828125},{x:.046875,y:.828125},{x:.078125,y:.828125},{x:.078125,y:.828125},{x:.109375,y:.828125},{x:.109375,y:.828125},{x:.140625,y:.828125},{x:.140625,y:.828125},{x:.171875,y:.828125},{x:.171875,y:.828125},{x:.203125,y:.828125},{x:.203125,y:.828125},{x:.234375,y:.828125},{x:.234375,y:.828125},{x:.265625,y:.828125},{x:.265625,y:.828125},{x:.296875,y:.828125},{x:.296875,y:.828125},{x:.328125,y:.828125},{x:.328125,y:.828125},{x:.359375,y:.828125},{x:.359375,y:.828125},{x:.390625,y:.828125},{x:.390625,y:.828125},{x:.421875,y:.828125},{x:.421875,y:.828125},{x:.453125,y:.828125},{x:.453125,y:.828125},{x:.484375,y:.828125},{x:.484375,y:.828125},{x:.515625,y:.828125},{x:.515625,y:.828125},{x:.546875,y:.828125},{x:.546875,y:.828125},{x:.578125,y:.828125},{x:.578125,y:.828125},{x:.609375,y:.828125},{x:.609375,y:.828125},{x:.640625,y:.828125},{x:.640625,y:.828125},{x:.671875,y:.828125},{x:.671875,y:.828125},{x:.703125,y:.828125},{x:.703125,y:.828125},{x:.734375,y:.828125},{x:.734375,y:.828125},{x:.765625,y:.828125},{x:.765625,y:.828125},{x:.796875,y:.828125},{x:.796875,y:.828125},{x:.828125,y:.828125},{x:.828125,y:.828125},{x:.859375,y:.828125},{x:.859375,y:.828125},{x:.890625,y:.828125},{x:.890625,y:.828125},{x:.921875,y:.828125},{x:.921875,y:.828125},{x:.953125,y:.828125},{x:.953125,y:.828125},{x:.984375,y:.828125},{x:.984375,y:.828125},{x:.015625,y:.859375},{x:.015625,y:.859375},{x:.046875,y:.859375},{x:.046875,y:.859375},{x:.078125,y:.859375},{x:.078125,y:.859375},{x:.109375,y:.859375},{x:.109375,y:.859375},{x:.140625,y:.859375},{x:.140625,y:.859375},{x:.171875,y:.859375},{x:.171875,y:.859375},{x:.203125,y:.859375},{x:.203125,y:.859375},{x:.234375,y:.859375},{x:.234375,y:.859375},{x:.265625,y:.859375},{x:.265625,y:.859375},{x:.296875,y:.859375},{x:.296875,y:.859375},{x:.328125,y:.859375},{x:.328125,y:.859375},{x:.359375,y:.859375},{x:.359375,y:.859375},{x:.390625,y:.859375},{x:.390625,y:.859375},{x:.421875,y:.859375},{x:.421875,y:.859375},{x:.453125,y:.859375},{x:.453125,y:.859375},{x:.484375,y:.859375},{x:.484375,y:.859375},{x:.515625,y:.859375},{x:.515625,y:.859375},{x:.546875,y:.859375},{x:.546875,y:.859375},{x:.578125,y:.859375},{x:.578125,y:.859375},{x:.609375,y:.859375},{x:.609375,y:.859375},{x:.640625,y:.859375},{x:.640625,y:.859375},{x:.671875,y:.859375},{x:.671875,y:.859375},{x:.703125,y:.859375},{x:.703125,y:.859375},{x:.734375,y:.859375},{x:.734375,y:.859375},{x:.765625,y:.859375},{x:.765625,y:.859375},{x:.796875,y:.859375},{x:.796875,y:.859375},{x:.828125,y:.859375},{x:.828125,y:.859375},{x:.859375,y:.859375},{x:.859375,y:.859375},{x:.890625,y:.859375},{x:.890625,y:.859375},{x:.921875,y:.859375},{x:.921875,y:.859375},{x:.953125,y:.859375},{x:.953125,y:.859375},{x:.984375,y:.859375},{x:.984375,y:.859375},{x:.015625,y:.890625},{x:.015625,y:.890625},{x:.046875,y:.890625},{x:.046875,y:.890625},{x:.078125,y:.890625},{x:.078125,y:.890625},{x:.109375,y:.890625},{x:.109375,y:.890625},{x:.140625,y:.890625},{x:.140625,y:.890625},{x:.171875,y:.890625},{x:.171875,y:.890625},{x:.203125,y:.890625},{x:.203125,y:.890625},{x:.234375,y:.890625},{x:.234375,y:.890625},{x:.265625,y:.890625},{x:.265625,y:.890625},{x:.296875,y:.890625},{x:.296875,y:.890625},{x:.328125,y:.890625},{x:.328125,y:.890625},{x:.359375,y:.890625},{x:.359375,y:.890625},{x:.390625,y:.890625},{x:.390625,y:.890625},{x:.421875,y:.890625},{x:.421875,y:.890625},{x:.453125,y:.890625},{x:.453125,y:.890625},{x:.484375,y:.890625},{x:.484375,y:.890625},{x:.515625,y:.890625},{x:.515625,y:.890625},{x:.546875,y:.890625},{x:.546875,y:.890625},{x:.578125,y:.890625},{x:.578125,y:.890625},{x:.609375,y:.890625},{x:.609375,y:.890625},{x:.640625,y:.890625},{x:.640625,y:.890625},{x:.671875,y:.890625},{x:.671875,y:.890625},{x:.703125,y:.890625},{x:.703125,y:.890625},{x:.734375,y:.890625},{x:.734375,y:.890625},{x:.765625,y:.890625},{x:.765625,y:.890625},{x:.796875,y:.890625},{x:.796875,y:.890625},{x:.828125,y:.890625},{x:.828125,y:.890625},{x:.859375,y:.890625},{x:.859375,y:.890625},{x:.890625,y:.890625},{x:.890625,y:.890625},{x:.921875,y:.890625},{x:.921875,y:.890625},{x:.953125,y:.890625},{x:.953125,y:.890625},{x:.984375,y:.890625},{x:.984375,y:.890625},{x:.015625,y:.921875},{x:.015625,y:.921875},{x:.046875,y:.921875},{x:.046875,y:.921875},{x:.078125,y:.921875},{x:.078125,y:.921875},{x:.109375,y:.921875},{x:.109375,y:.921875},{x:.140625,y:.921875},{x:.140625,y:.921875},{x:.171875,y:.921875},{x:.171875,y:.921875},{x:.203125,y:.921875},{x:.203125,y:.921875},{x:.234375,y:.921875},{x:.234375,y:.921875},{x:.265625,y:.921875},{x:.265625,y:.921875},{x:.296875,y:.921875},{x:.296875,y:.921875},{x:.328125,y:.921875},{x:.328125,y:.921875},{x:.359375,y:.921875},{x:.359375,y:.921875},{x:.390625,y:.921875},{x:.390625,y:.921875},{x:.421875,y:.921875},{x:.421875,y:.921875},{x:.453125,y:.921875},{x:.453125,y:.921875},{x:.484375,y:.921875},{x:.484375,y:.921875},{x:.515625,y:.921875},{x:.515625,y:.921875},{x:.546875,y:.921875},{x:.546875,y:.921875},{x:.578125,y:.921875},{x:.578125,y:.921875},{x:.609375,y:.921875},{x:.609375,y:.921875},{x:.640625,y:.921875},{x:.640625,y:.921875},{x:.671875,y:.921875},{x:.671875,y:.921875},{x:.703125,y:.921875},{x:.703125,y:.921875},{x:.734375,y:.921875},{x:.734375,y:.921875},{x:.765625,y:.921875},{x:.765625,y:.921875},{x:.796875,y:.921875},{x:.796875,y:.921875},{x:.828125,y:.921875},{x:.828125,y:.921875},{x:.859375,y:.921875},{x:.859375,y:.921875},{x:.890625,y:.921875},{x:.890625,y:.921875},{x:.921875,y:.921875},{x:.921875,y:.921875},{x:.953125,y:.921875},{x:.953125,y:.921875},{x:.984375,y:.921875},{x:.984375,y:.921875},{x:.015625,y:.953125},{x:.015625,y:.953125},{x:.046875,y:.953125},{x:.046875,y:.953125},{x:.078125,y:.953125},{x:.078125,y:.953125},{x:.109375,y:.953125},{x:.109375,y:.953125},{x:.140625,y:.953125},{x:.140625,y:.953125},{x:.171875,y:.953125},{x:.171875,y:.953125},{x:.203125,y:.953125},{x:.203125,y:.953125},{x:.234375,y:.953125},{x:.234375,y:.953125},{x:.265625,y:.953125},{x:.265625,y:.953125},{x:.296875,y:.953125},{x:.296875,y:.953125},{x:.328125,y:.953125},{x:.328125,y:.953125},{x:.359375,y:.953125},{x:.359375,y:.953125},{x:.390625,y:.953125},{x:.390625,y:.953125},{x:.421875,y:.953125},{x:.421875,y:.953125},{x:.453125,y:.953125},{x:.453125,y:.953125},{x:.484375,y:.953125},{x:.484375,y:.953125},{x:.515625,y:.953125},{x:.515625,y:.953125},{x:.546875,y:.953125},{x:.546875,y:.953125},{x:.578125,y:.953125},{x:.578125,y:.953125},{x:.609375,y:.953125},{x:.609375,y:.953125},{x:.640625,y:.953125},{x:.640625,y:.953125},{x:.671875,y:.953125},{x:.671875,y:.953125},{x:.703125,y:.953125},{x:.703125,y:.953125},{x:.734375,y:.953125},{x:.734375,y:.953125},{x:.765625,y:.953125},{x:.765625,y:.953125},{x:.796875,y:.953125},{x:.796875,y:.953125},{x:.828125,y:.953125},{x:.828125,y:.953125},{x:.859375,y:.953125},{x:.859375,y:.953125},{x:.890625,y:.953125},{x:.890625,y:.953125},{x:.921875,y:.953125},{x:.921875,y:.953125},{x:.953125,y:.953125},{x:.953125,y:.953125},{x:.984375,y:.953125},{x:.984375,y:.953125},{x:.015625,y:.984375},{x:.015625,y:.984375},{x:.046875,y:.984375},{x:.046875,y:.984375},{x:.078125,y:.984375},{x:.078125,y:.984375},{x:.109375,y:.984375},{x:.109375,y:.984375},{x:.140625,y:.984375},{x:.140625,y:.984375},{x:.171875,y:.984375},{x:.171875,y:.984375},{x:.203125,y:.984375},{x:.203125,y:.984375},{x:.234375,y:.984375},{x:.234375,y:.984375},{x:.265625,y:.984375},{x:.265625,y:.984375},{x:.296875,y:.984375},{x:.296875,y:.984375},{x:.328125,y:.984375},{x:.328125,y:.984375},{x:.359375,y:.984375},{x:.359375,y:.984375},{x:.390625,y:.984375},{x:.390625,y:.984375},{x:.421875,y:.984375},{x:.421875,y:.984375},{x:.453125,y:.984375},{x:.453125,y:.984375},{x:.484375,y:.984375},{x:.484375,y:.984375},{x:.515625,y:.984375},{x:.515625,y:.984375},{x:.546875,y:.984375},{x:.546875,y:.984375},{x:.578125,y:.984375},{x:.578125,y:.984375},{x:.609375,y:.984375},{x:.609375,y:.984375},{x:.640625,y:.984375},{x:.640625,y:.984375},{x:.671875,y:.984375},{x:.671875,y:.984375},{x:.703125,y:.984375},{x:.703125,y:.984375},{x:.734375,y:.984375},{x:.734375,y:.984375},{x:.765625,y:.984375},{x:.765625,y:.984375},{x:.796875,y:.984375},{x:.796875,y:.984375},{x:.828125,y:.984375},{x:.828125,y:.984375},{x:.859375,y:.984375},{x:.859375,y:.984375},{x:.890625,y:.984375},{x:.890625,y:.984375},{x:.921875,y:.984375},{x:.921875,y:.984375},{x:.953125,y:.984375},{x:.953125,y:.984375},{x:.984375,y:.984375},{x:.984375,y:.984375},{x:.03125,y:.03125},{x:.03125,y:.03125},{x:.09375,y:.03125},{x:.09375,y:.03125},{x:.15625,y:.03125},{x:.15625,y:.03125},{x:.21875,y:.03125},{x:.21875,y:.03125},{x:.28125,y:.03125},{x:.28125,y:.03125},{x:.34375,y:.03125},{x:.34375,y:.03125},{x:.40625,y:.03125},{x:.40625,y:.03125},{x:.46875,y:.03125},{x:.46875,y:.03125},{x:.53125,y:.03125},{x:.53125,y:.03125},{x:.59375,y:.03125},{x:.59375,y:.03125},{x:.65625,y:.03125},{x:.65625,y:.03125},{x:.71875,y:.03125},{x:.71875,y:.03125},{x:.78125,y:.03125},{x:.78125,y:.03125},{x:.84375,y:.03125},{x:.84375,y:.03125},{x:.90625,y:.03125},{x:.90625,y:.03125},{x:.96875,y:.03125},{x:.96875,y:.03125},{x:.03125,y:.09375},{x:.03125,y:.09375},{x:.09375,y:.09375},{x:.09375,y:.09375},{x:.15625,y:.09375},{x:.15625,y:.09375},{x:.21875,y:.09375},{x:.21875,y:.09375},{x:.28125,y:.09375},{x:.28125,y:.09375},{x:.34375,y:.09375},{x:.34375,y:.09375},{x:.40625,y:.09375},{x:.40625,y:.09375},{x:.46875,y:.09375},{x:.46875,y:.09375},{x:.53125,y:.09375},{x:.53125,y:.09375},{x:.59375,y:.09375},{x:.59375,y:.09375},{x:.65625,y:.09375},{x:.65625,y:.09375},{x:.71875,y:.09375},{x:.71875,y:.09375},{x:.78125,y:.09375},{x:.78125,y:.09375},{x:.84375,y:.09375},{x:.84375,y:.09375},{x:.90625,y:.09375},{x:.90625,y:.09375},{x:.96875,y:.09375},{x:.96875,y:.09375},{x:.03125,y:.15625},{x:.03125,y:.15625},{x:.09375,y:.15625},{x:.09375,y:.15625},{x:.15625,y:.15625},{x:.15625,y:.15625},{x:.21875,y:.15625},{x:.21875,y:.15625},{x:.28125,y:.15625},{x:.28125,y:.15625},{x:.34375,y:.15625},{x:.34375,y:.15625},{x:.40625,y:.15625},{x:.40625,y:.15625},{x:.46875,y:.15625},{x:.46875,y:.15625},{x:.53125,y:.15625},{x:.53125,y:.15625},{x:.59375,y:.15625},{x:.59375,y:.15625},{x:.65625,y:.15625},{x:.65625,y:.15625},{x:.71875,y:.15625},{x:.71875,y:.15625},{x:.78125,y:.15625},{x:.78125,y:.15625},{x:.84375,y:.15625},{x:.84375,y:.15625},{x:.90625,y:.15625},{x:.90625,y:.15625},{x:.96875,y:.15625},{x:.96875,y:.15625},{x:.03125,y:.21875},{x:.03125,y:.21875},{x:.09375,y:.21875},{x:.09375,y:.21875},{x:.15625,y:.21875},{x:.15625,y:.21875},{x:.21875,y:.21875},{x:.21875,y:.21875},{x:.28125,y:.21875},{x:.28125,y:.21875},{x:.34375,y:.21875},{x:.34375,y:.21875},{x:.40625,y:.21875},{x:.40625,y:.21875},{x:.46875,y:.21875},{x:.46875,y:.21875},{x:.53125,y:.21875},{x:.53125,y:.21875},{x:.59375,y:.21875},{x:.59375,y:.21875},{x:.65625,y:.21875},{x:.65625,y:.21875},{x:.71875,y:.21875},{x:.71875,y:.21875},{x:.78125,y:.21875},{x:.78125,y:.21875},{x:.84375,y:.21875},{x:.84375,y:.21875},{x:.90625,y:.21875},{x:.90625,y:.21875},{x:.96875,y:.21875},{x:.96875,y:.21875},{x:.03125,y:.28125},{x:.03125,y:.28125},{x:.09375,y:.28125},{x:.09375,y:.28125},{x:.15625,y:.28125},{x:.15625,y:.28125},{x:.21875,y:.28125},{x:.21875,y:.28125},{x:.28125,y:.28125},{x:.28125,y:.28125},{x:.34375,y:.28125},{x:.34375,y:.28125},{x:.40625,y:.28125},{x:.40625,y:.28125},{x:.46875,y:.28125},{x:.46875,y:.28125},{x:.53125,y:.28125},{x:.53125,y:.28125},{x:.59375,y:.28125},{x:.59375,y:.28125},{x:.65625,y:.28125},{x:.65625,y:.28125},{x:.71875,y:.28125},{x:.71875,y:.28125},{x:.78125,y:.28125},{x:.78125,y:.28125},{x:.84375,y:.28125},{x:.84375,y:.28125},{x:.90625,y:.28125},{x:.90625,y:.28125},{x:.96875,y:.28125},{x:.96875,y:.28125},{x:.03125,y:.34375},{x:.03125,y:.34375},{x:.09375,y:.34375},{x:.09375,y:.34375},{x:.15625,y:.34375},{x:.15625,y:.34375},{x:.21875,y:.34375},{x:.21875,y:.34375},{x:.28125,y:.34375},{x:.28125,y:.34375},{x:.34375,y:.34375},{x:.34375,y:.34375},{x:.40625,y:.34375},{x:.40625,y:.34375},{x:.46875,y:.34375},{x:.46875,y:.34375},{x:.53125,y:.34375},{x:.53125,y:.34375},{x:.59375,y:.34375},{x:.59375,y:.34375},{x:.65625,y:.34375},{x:.65625,y:.34375},{x:.71875,y:.34375},{x:.71875,y:.34375},{x:.78125,y:.34375},{x:.78125,y:.34375},{x:.84375,y:.34375},{x:.84375,y:.34375},{x:.90625,y:.34375},{x:.90625,y:.34375},{x:.96875,y:.34375},{x:.96875,y:.34375},{x:.03125,y:.40625},{x:.03125,y:.40625},{x:.09375,y:.40625},{x:.09375,y:.40625},{x:.15625,y:.40625},{x:.15625,y:.40625},{x:.21875,y:.40625},{x:.21875,y:.40625},{x:.28125,y:.40625},{x:.28125,y:.40625},{x:.34375,y:.40625},{x:.34375,y:.40625},{x:.40625,y:.40625},{x:.40625,y:.40625},{x:.46875,y:.40625},{x:.46875,y:.40625},{x:.53125,y:.40625},{x:.53125,y:.40625},{x:.59375,y:.40625},{x:.59375,y:.40625},{x:.65625,y:.40625},{x:.65625,y:.40625},{x:.71875,y:.40625},{x:.71875,y:.40625},{x:.78125,y:.40625},{x:.78125,y:.40625},{x:.84375,y:.40625},{x:.84375,y:.40625},{x:.90625,y:.40625},{x:.90625,y:.40625},{x:.96875,y:.40625},{x:.96875,y:.40625},{x:.03125,y:.46875},{x:.03125,y:.46875},{x:.09375,y:.46875},{x:.09375,y:.46875},{x:.15625,y:.46875},{x:.15625,y:.46875},{x:.21875,y:.46875},{x:.21875,y:.46875},{x:.28125,y:.46875},{x:.28125,y:.46875},{x:.34375,y:.46875},{x:.34375,y:.46875},{x:.40625,y:.46875},{x:.40625,y:.46875},{x:.46875,y:.46875},{x:.46875,y:.46875},{x:.53125,y:.46875},{x:.53125,y:.46875},{x:.59375,y:.46875},{x:.59375,y:.46875},{x:.65625,y:.46875},{x:.65625,y:.46875},{x:.71875,y:.46875},{x:.71875,y:.46875},{x:.78125,y:.46875},{x:.78125,y:.46875},{x:.84375,y:.46875},{x:.84375,y:.46875},{x:.90625,y:.46875},{x:.90625,y:.46875},{x:.96875,y:.46875},{x:.96875,y:.46875},{x:.03125,y:.53125},{x:.03125,y:.53125},{x:.09375,y:.53125},{x:.09375,y:.53125},{x:.15625,y:.53125},{x:.15625,y:.53125},{x:.21875,y:.53125},{x:.21875,y:.53125},{x:.28125,y:.53125},{x:.28125,y:.53125},{x:.34375,y:.53125},{x:.34375,y:.53125},{x:.40625,y:.53125},{x:.40625,y:.53125},{x:.46875,y:.53125},{x:.46875,y:.53125},{x:.53125,y:.53125},{x:.53125,y:.53125},{x:.59375,y:.53125},{x:.59375,y:.53125},{x:.65625,y:.53125},{x:.65625,y:.53125},{x:.71875,y:.53125},{x:.71875,y:.53125},{x:.78125,y:.53125},{x:.78125,y:.53125},{x:.84375,y:.53125},{x:.84375,y:.53125},{x:.90625,y:.53125},{x:.90625,y:.53125},{x:.96875,y:.53125},{x:.96875,y:.53125},{x:.03125,y:.59375},{x:.03125,y:.59375},{x:.09375,y:.59375},{x:.09375,y:.59375},{x:.15625,y:.59375},{x:.15625,y:.59375},{x:.21875,y:.59375},{x:.21875,y:.59375},{x:.28125,y:.59375},{x:.28125,y:.59375},{x:.34375,y:.59375},{x:.34375,y:.59375},{x:.40625,y:.59375},{x:.40625,y:.59375},{x:.46875,y:.59375},{x:.46875,y:.59375},{x:.53125,y:.59375},{x:.53125,y:.59375},{x:.59375,y:.59375},{x:.59375,y:.59375},{x:.65625,y:.59375},{x:.65625,y:.59375},{x:.71875,y:.59375},{x:.71875,y:.59375},{x:.78125,y:.59375},{x:.78125,y:.59375},{x:.84375,y:.59375},{x:.84375,y:.59375},{x:.90625,y:.59375},{x:.90625,y:.59375},{x:.96875,y:.59375},{x:.96875,y:.59375},{x:.03125,y:.65625},{x:.03125,y:.65625},{x:.09375,y:.65625},{x:.09375,y:.65625},{x:.15625,y:.65625},{x:.15625,y:.65625},{x:.21875,y:.65625},{x:.21875,y:.65625},{x:.28125,y:.65625},{x:.28125,y:.65625},{x:.34375,y:.65625},{x:.34375,y:.65625},{x:.40625,y:.65625},{x:.40625,y:.65625},{x:.46875,y:.65625},{x:.46875,y:.65625},{x:.53125,y:.65625},{x:.53125,y:.65625},{x:.59375,y:.65625},{x:.59375,y:.65625},{x:.65625,y:.65625},{x:.65625,y:.65625},{x:.71875,y:.65625},{x:.71875,y:.65625},{x:.78125,y:.65625},{x:.78125,y:.65625},{x:.84375,y:.65625},{x:.84375,y:.65625},{x:.90625,y:.65625},{x:.90625,y:.65625},{x:.96875,y:.65625},{x:.96875,y:.65625},{x:.03125,y:.71875},{x:.03125,y:.71875},{x:.09375,y:.71875},{x:.09375,y:.71875},{x:.15625,y:.71875},{x:.15625,y:.71875},{x:.21875,y:.71875},{x:.21875,y:.71875},{x:.28125,y:.71875},{x:.28125,y:.71875},{x:.34375,y:.71875},{x:.34375,y:.71875},{x:.40625,y:.71875},{x:.40625,y:.71875},{x:.46875,y:.71875},{x:.46875,y:.71875},{x:.53125,y:.71875},{x:.53125,y:.71875},{x:.59375,y:.71875},{x:.59375,y:.71875},{x:.65625,y:.71875},{x:.65625,y:.71875},{x:.71875,y:.71875},{x:.71875,y:.71875},{x:.78125,y:.71875},{x:.78125,y:.71875},{x:.84375,y:.71875},{x:.84375,y:.71875},{x:.90625,y:.71875},{x:.90625,y:.71875},{x:.96875,y:.71875},{x:.96875,y:.71875},{x:.03125,y:.78125},{x:.03125,y:.78125},{x:.09375,y:.78125},{x:.09375,y:.78125},{x:.15625,y:.78125},{x:.15625,y:.78125},{x:.21875,y:.78125},{x:.21875,y:.78125},{x:.28125,y:.78125},{x:.28125,y:.78125},{x:.34375,y:.78125},{x:.34375,y:.78125},{x:.40625,y:.78125},{x:.40625,y:.78125},{x:.46875,y:.78125},{x:.46875,y:.78125},{x:.53125,y:.78125},{x:.53125,y:.78125},{x:.59375,y:.78125},{x:.59375,y:.78125},{x:.65625,y:.78125},{x:.65625,y:.78125},{x:.71875,y:.78125},{x:.71875,y:.78125},{x:.78125,y:.78125},{x:.78125,y:.78125},{x:.84375,y:.78125},{x:.84375,y:.78125},{x:.90625,y:.78125},{x:.90625,y:.78125},{x:.96875,y:.78125},{x:.96875,y:.78125},{x:.03125,y:.84375},{x:.03125,y:.84375},{x:.09375,y:.84375},{x:.09375,y:.84375},{x:.15625,y:.84375},{x:.15625,y:.84375},{x:.21875,y:.84375},{x:.21875,y:.84375},{x:.28125,y:.84375},{x:.28125,y:.84375},{x:.34375,y:.84375},{x:.34375,y:.84375},{x:.40625,y:.84375},{x:.40625,y:.84375},{x:.46875,y:.84375},{x:.46875,y:.84375},{x:.53125,y:.84375},{x:.53125,y:.84375},{x:.59375,y:.84375},{x:.59375,y:.84375},{x:.65625,y:.84375},{x:.65625,y:.84375},{x:.71875,y:.84375},{x:.71875,y:.84375},{x:.78125,y:.84375},{x:.78125,y:.84375},{x:.84375,y:.84375},{x:.84375,y:.84375},{x:.90625,y:.84375},{x:.90625,y:.84375},{x:.96875,y:.84375},{x:.96875,y:.84375},{x:.03125,y:.90625},{x:.03125,y:.90625},{x:.09375,y:.90625},{x:.09375,y:.90625},{x:.15625,y:.90625},{x:.15625,y:.90625},{x:.21875,y:.90625},{x:.21875,y:.90625},{x:.28125,y:.90625},{x:.28125,y:.90625},{x:.34375,y:.90625},{x:.34375,y:.90625},{x:.40625,y:.90625},{x:.40625,y:.90625},{x:.46875,y:.90625},{x:.46875,y:.90625},{x:.53125,y:.90625},{x:.53125,y:.90625},{x:.59375,y:.90625},{x:.59375,y:.90625},{x:.65625,y:.90625},{x:.65625,y:.90625},{x:.71875,y:.90625},{x:.71875,y:.90625},{x:.78125,y:.90625},{x:.78125,y:.90625},{x:.84375,y:.90625},{x:.84375,y:.90625},{x:.90625,y:.90625},{x:.90625,y:.90625},{x:.96875,y:.90625},{x:.96875,y:.90625},{x:.03125,y:.96875},{x:.03125,y:.96875},{x:.09375,y:.96875},{x:.09375,y:.96875},{x:.15625,y:.96875},{x:.15625,y:.96875},{x:.21875,y:.96875},{x:.21875,y:.96875},{x:.28125,y:.96875},{x:.28125,y:.96875},{x:.34375,y:.96875},{x:.34375,y:.96875},{x:.40625,y:.96875},{x:.40625,y:.96875},{x:.46875,y:.96875},{x:.46875,y:.96875},{x:.53125,y:.96875},{x:.53125,y:.96875},{x:.59375,y:.96875},{x:.59375,y:.96875},{x:.65625,y:.96875},{x:.65625,y:.96875},{x:.71875,y:.96875},{x:.71875,y:.96875},{x:.78125,y:.96875},{x:.78125,y:.96875},{x:.84375,y:.96875},{x:.84375,y:.96875},{x:.90625,y:.96875},{x:.90625,y:.96875},{x:.96875,y:.96875},{x:.96875,y:.96875},{x:.0625,y:.0625},{x:.0625,y:.0625},{x:.0625,y:.0625},{x:.0625,y:.0625},{x:.0625,y:.0625},{x:.0625,y:.0625},{x:.1875,y:.0625},{x:.1875,y:.0625},{x:.1875,y:.0625},{x:.1875,y:.0625},{x:.1875,y:.0625},{x:.1875,y:.0625},{x:.3125,y:.0625},{x:.3125,y:.0625},{x:.3125,y:.0625},{x:.3125,y:.0625},{x:.3125,y:.0625},{x:.3125,y:.0625},{x:.4375,y:.0625},{x:.4375,y:.0625},{x:.4375,y:.0625},{x:.4375,y:.0625},{x:.4375,y:.0625},{x:.4375,y:.0625},{x:.5625,y:.0625},{x:.5625,y:.0625},{x:.5625,y:.0625},{x:.5625,y:.0625},{x:.5625,y:.0625},{x:.5625,y:.0625},{x:.6875,y:.0625},{x:.6875,y:.0625},{x:.6875,y:.0625},{x:.6875,y:.0625},{x:.6875,y:.0625},{x:.6875,y:.0625},{x:.8125,y:.0625},{x:.8125,y:.0625},{x:.8125,y:.0625},{x:.8125,y:.0625},{x:.8125,y:.0625},{x:.8125,y:.0625},{x:.9375,y:.0625},{x:.9375,y:.0625},{x:.9375,y:.0625},{x:.9375,y:.0625},{x:.9375,y:.0625},{x:.9375,y:.0625},{x:.0625,y:.1875},{x:.0625,y:.1875},{x:.0625,y:.1875},{x:.0625,y:.1875},{x:.0625,y:.1875},{x:.0625,y:.1875},{x:.1875,y:.1875},{x:.1875,y:.1875},{x:.1875,y:.1875},{x:.1875,y:.1875},{x:.1875,y:.1875},{x:.1875,y:.1875},{x:.3125,y:.1875},{x:.3125,y:.1875},{x:.3125,y:.1875},{x:.3125,y:.1875},{x:.3125,y:.1875},{x:.3125,y:.1875},{x:.4375,y:.1875},{x:.4375,y:.1875},{x:.4375,y:.1875},{x:.4375,y:.1875},{x:.4375,y:.1875},{x:.4375,y:.1875},{x:.5625,y:.1875},{x:.5625,y:.1875},{x:.5625,y:.1875},{x:.5625,y:.1875},{x:.5625,y:.1875},{x:.5625,y:.1875},{x:.6875,y:.1875},{x:.6875,y:.1875},{x:.6875,y:.1875},{x:.6875,y:.1875},{x:.6875,y:.1875},{x:.6875,y:.1875},{x:.8125,y:.1875},{x:.8125,y:.1875},{x:.8125,y:.1875},{x:.8125,y:.1875},{x:.8125,y:.1875},{x:.8125,y:.1875},{x:.9375,y:.1875},{x:.9375,y:.1875},{x:.9375,y:.1875},{x:.9375,y:.1875},{x:.9375,y:.1875},{x:.9375,y:.1875},{x:.0625,y:.3125},{x:.0625,y:.3125},{x:.0625,y:.3125},{x:.0625,y:.3125},{x:.0625,y:.3125},{x:.0625,y:.3125},{x:.1875,y:.3125},{x:.1875,y:.3125},{x:.1875,y:.3125},{x:.1875,y:.3125},{x:.1875,y:.3125},{x:.1875,y:.3125},{x:.3125,y:.3125},{x:.3125,y:.3125},{x:.3125,y:.3125},{x:.3125,y:.3125},{x:.3125,y:.3125},{x:.3125,y:.3125},{x:.4375,y:.3125},{x:.4375,y:.3125},{x:.4375,y:.3125},{x:.4375,y:.3125},{x:.4375,y:.3125},{x:.4375,y:.3125},{x:.5625,y:.3125},{x:.5625,y:.3125},{x:.5625,y:.3125},{x:.5625,y:.3125},{x:.5625,y:.3125},{x:.5625,y:.3125},{x:.6875,y:.3125},{x:.6875,y:.3125},{x:.6875,y:.3125},{x:.6875,y:.3125},{x:.6875,y:.3125},{x:.6875,y:.3125},{x:.8125,y:.3125},{x:.8125,y:.3125},{x:.8125,y:.3125},{x:.8125,y:.3125},{x:.8125,y:.3125},{x:.8125,y:.3125},{x:.9375,y:.3125},{x:.9375,y:.3125},{x:.9375,y:.3125},{x:.9375,y:.3125},{x:.9375,y:.3125},{x:.9375,y:.3125},{x:.0625,y:.4375},{x:.0625,y:.4375},{x:.0625,y:.4375},{x:.0625,y:.4375},{x:.0625,y:.4375},{x:.0625,y:.4375},{x:.1875,y:.4375},{x:.1875,y:.4375},{x:.1875,y:.4375},{x:.1875,y:.4375},{x:.1875,y:.4375},{x:.1875,y:.4375},{x:.3125,y:.4375},{x:.3125,y:.4375},{x:.3125,y:.4375},{x:.3125,y:.4375},{x:.3125,y:.4375},{x:.3125,y:.4375},{x:.4375,y:.4375},{x:.4375,y:.4375},{x:.4375,y:.4375},{x:.4375,y:.4375},{x:.4375,y:.4375},{x:.4375,y:.4375},{x:.5625,y:.4375},{x:.5625,y:.4375},{x:.5625,y:.4375},{x:.5625,y:.4375},{x:.5625,y:.4375},{x:.5625,y:.4375},{x:.6875,y:.4375},{x:.6875,y:.4375},{x:.6875,y:.4375},{x:.6875,y:.4375},{x:.6875,y:.4375},{x:.6875,y:.4375},{x:.8125,y:.4375},{x:.8125,y:.4375},{x:.8125,y:.4375},{x:.8125,y:.4375},{x:.8125,y:.4375},{x:.8125,y:.4375},{x:.9375,y:.4375},{x:.9375,y:.4375},{x:.9375,y:.4375},{x:.9375,y:.4375},{x:.9375,y:.4375},{x:.9375,y:.4375},{x:.0625,y:.5625},{x:.0625,y:.5625},{x:.0625,y:.5625},{x:.0625,y:.5625},{x:.0625,y:.5625},{x:.0625,y:.5625},{x:.1875,y:.5625},{x:.1875,y:.5625},{x:.1875,y:.5625},{x:.1875,y:.5625},{x:.1875,y:.5625},{x:.1875,y:.5625},{x:.3125,y:.5625},{x:.3125,y:.5625},{x:.3125,y:.5625},{x:.3125,y:.5625},{x:.3125,y:.5625},{x:.3125,y:.5625},{x:.4375,y:.5625},{x:.4375,y:.5625},{x:.4375,y:.5625},{x:.4375,y:.5625},{x:.4375,y:.5625},{x:.4375,y:.5625},{x:.5625,y:.5625},{x:.5625,y:.5625},{x:.5625,y:.5625},{x:.5625,y:.5625},{x:.5625,y:.5625},{x:.5625,y:.5625},{x:.6875,y:.5625},{x:.6875,y:.5625},{x:.6875,y:.5625},{x:.6875,y:.5625},{x:.6875,y:.5625},{x:.6875,y:.5625},{x:.8125,y:.5625},{x:.8125,y:.5625},{x:.8125,y:.5625},{x:.8125,y:.5625},{x:.8125,y:.5625},{x:.8125,y:.5625},{x:.9375,y:.5625},{x:.9375,y:.5625},{x:.9375,y:.5625},{x:.9375,y:.5625},{x:.9375,y:.5625},{x:.9375,y:.5625},{x:.0625,y:.6875},{x:.0625,y:.6875},{x:.0625,y:.6875},{x:.0625,y:.6875},{x:.0625,y:.6875},{x:.0625,y:.6875},{x:.1875,y:.6875},{x:.1875,y:.6875},{x:.1875,y:.6875},{x:.1875,y:.6875},{x:.1875,y:.6875},{x:.1875,y:.6875},{x:.3125,y:.6875},{x:.3125,y:.6875},{x:.3125,y:.6875},{x:.3125,y:.6875},{x:.3125,y:.6875},{x:.3125,y:.6875},{x:.4375,y:.6875},{x:.4375,y:.6875},{x:.4375,y:.6875},{x:.4375,y:.6875},{x:.4375,y:.6875},{x:.4375,y:.6875},{x:.5625,y:.6875},{x:.5625,y:.6875},{x:.5625,y:.6875},{x:.5625,y:.6875},{x:.5625,y:.6875},{x:.5625,y:.6875},{x:.6875,y:.6875},{x:.6875,y:.6875},{x:.6875,y:.6875},{x:.6875,y:.6875},{x:.6875,y:.6875},{x:.6875,y:.6875},{x:.8125,y:.6875},{x:.8125,y:.6875},{x:.8125,y:.6875},{x:.8125,y:.6875},{x:.8125,y:.6875},{x:.8125,y:.6875},{x:.9375,y:.6875},{x:.9375,y:.6875},{x:.9375,y:.6875},{x:.9375,y:.6875},{x:.9375,y:.6875},{x:.9375,y:.6875},{x:.0625,y:.8125},{x:.0625,y:.8125},{x:.0625,y:.8125},{x:.0625,y:.8125},{x:.0625,y:.8125},{x:.0625,y:.8125},{x:.1875,y:.8125},{x:.1875,y:.8125},{x:.1875,y:.8125},{x:.1875,y:.8125},{x:.1875,y:.8125},{x:.1875,y:.8125},{x:.3125,y:.8125},{x:.3125,y:.8125},{x:.3125,y:.8125},{x:.3125,y:.8125},{x:.3125,y:.8125},{x:.3125,y:.8125},{x:.4375,y:.8125},{x:.4375,y:.8125},{x:.4375,y:.8125},{x:.4375,y:.8125},{x:.4375,y:.8125},{x:.4375,y:.8125},{x:.5625,y:.8125},{x:.5625,y:.8125},{x:.5625,y:.8125},{x:.5625,y:.8125},{x:.5625,y:.8125},{x:.5625,y:.8125},{x:.6875,y:.8125},{x:.6875,y:.8125},{x:.6875,y:.8125},{x:.6875,y:.8125},{x:.6875,y:.8125},{x:.6875,y:.8125},{x:.8125,y:.8125},{x:.8125,y:.8125},{x:.8125,y:.8125},{x:.8125,y:.8125},{x:.8125,y:.8125},{x:.8125,y:.8125},{x:.9375,y:.8125},{x:.9375,y:.8125},{x:.9375,y:.8125},{x:.9375,y:.8125},{x:.9375,y:.8125},{x:.9375,y:.8125},{x:.0625,y:.9375},{x:.0625,y:.9375},{x:.0625,y:.9375},{x:.0625,y:.9375},{x:.0625,y:.9375},{x:.0625,y:.9375},{x:.1875,y:.9375},{x:.1875,y:.9375},{x:.1875,y:.9375},{x:.1875,y:.9375},{x:.1875,y:.9375},{x:.1875,y:.9375},{x:.3125,y:.9375},{x:.3125,y:.9375},{x:.3125,y:.9375},{x:.3125,y:.9375},{x:.3125,y:.9375},{x:.3125,y:.9375},{x:.4375,y:.9375},{x:.4375,y:.9375},{x:.4375,y:.9375},{x:.4375,y:.9375},{x:.4375,y:.9375},{x:.4375,y:.9375},{x:.5625,y:.9375},{x:.5625,y:.9375},{x:.5625,y:.9375},{x:.5625,y:.9375},{x:.5625,y:.9375},{x:.5625,y:.9375},{x:.6875,y:.9375},{x:.6875,y:.9375},{x:.6875,y:.9375},{x:.6875,y:.9375},{x:.6875,y:.9375},{x:.6875,y:.9375},{x:.8125,y:.9375},{x:.8125,y:.9375},{x:.8125,y:.9375},{x:.8125,y:.9375},{x:.8125,y:.9375},{x:.8125,y:.9375},{x:.9375,y:.9375},{x:.9375,y:.9375},{x:.9375,y:.9375},{x:.9375,y:.9375},{x:.9375,y:.9375},{x:.9375,y:.9375}];var O5=class{constructor(e){var t;this.model=e,this.anchors=KA.map(o=>[o.x,o.y]),this.anchorsTensor=a.tensor2d(this.anchors),this.inputSize=(t=this.model)==null?void 0:t.inputs[0].shape[2],this.inputSizeTensor=a.tensor1d([this.inputSize,this.inputSize]),this.doubleInputSizeTensor=a.tensor1d([this.inputSize*2,this.inputSize*2])}normalizeBoxes(e){return a.tidy(()=>{let t=a.slice(e,[0,0],[-1,2]),o=a.slice(e,[0,2],[-1,2]),n=a.add(a.div(t,this.inputSizeTensor),this.anchorsTensor),x=a.div(o,this.doubleInputSizeTensor),i=a.mul(a.sub(n,x),this.inputSizeTensor),s=a.mul(a.add(n,x),this.inputSizeTensor);return a.concat2d([i,s],1)})}normalizeLandmarks(e,t){return a.tidy(()=>{let o=a.add(a.div(e.reshape([-1,7,2]),this.inputSizeTensor),this.anchors[t]);return a.mul(o,this.inputSizeTensor)})}async getBoxes(e,t){let o=this.model.predict(e),n=o.squeeze();o.dispose();let x=a.tidy(()=>a.sigmoid(a.slice(n,[0,0],[-1,1])).squeeze()),i=x.dataSync(),s=a.slice(n,[0,1],[-1,4]),y=this.normalizeBoxes(s);s.dispose();let r=await a.image.nonMaxSuppressionAsync(y,i,t.hand.maxDetected,t.hand.iouThreshold,t.hand.minConfidence),c=r.arraySync();x.dispose(),r.dispose();let l=[];for(let f of c)if(i[f]>=t.hand.minConfidence){let b=a.slice(y,[f,0],[1,-1]),v=a.slice(n,[f,5],[1,14]),d=a.tidy(()=>this.normalizeLandmarks(v,f).reshape([-1,2]));v.dispose(),l.push({box:b,palmLandmarks:d,confidence:i[f]})}return n.dispose(),y.dispose(),l}async estimateHandBounds(e,t){let o=e.shape[1],n=e.shape[2],x=a.tidy(()=>e.resizeBilinear([this.inputSize,this.inputSize]).div(127.5).sub(1)),i=await this.getBoxes(x,t);x.dispose();let s=[];if(!i||i.length===0)return s;for(let y of i){let r=y.box.dataSync(),c=r.slice(0,2),l=r.slice(2,4),f=y.palmLandmarks.arraySync();y.box.dispose(),y.palmLandmarks.dispose(),s.push(GA({startPoint:c,endPoint:l,palmLandmarks:f,confidence:y.confidence},[n/this.inputSize,o/this.inputSize]))}return s}};function Je(A){return A-2*Math.PI*Math.floor((A+Math.PI)/(2*Math.PI))}function DA(A,e){let t=Math.PI/2-Math.atan2(-(e[1]-A[1]),e[0]-A[0]);return Je(t)}var QA=(A,e)=>[[1,0,A],[0,1,e],[0,0,1]];function r0(A,e){let t=0;for(let o=0;oi[0]),o=e.map(i=>i[1]),n=[Math.min(...t),Math.min(...o)],x=[Math.max(...t),Math.max(...o)];return{startPoint:n,endPoint:x}}getBoxForPalmLandmarks(e,t){let o=e.map(x=>Z5([...x,1],t)),n=this.calculateLandmarksBoundingBox(o);return J0(Y0(n),Ge)}getBoxForHandLandmarks(e){let t=this.calculateLandmarksBoundingBox(e),o=J0(Y0(t),Ae);o.palmLandmarks=[];for(let n=0;n[i[0]*(b[0]-this.inputSize/2),i[1]*(b[1]-this.inputSize/2),i[2]*b[2]]),y=L5(o,[0,0]),r=s.map(b=>[...Z5(b,y),b[2]]),c=$A(n),l=[...j0(t),1],f=[r0(l,c[0]),r0(l,c[1])];return r.map(b=>[Math.trunc(b[0]+f[0]),Math.trunc(b[1]+f[1]),Math.trunc(b[2])])}async estimateHands(e,t){let o=!1,n;(this.skipped===0||this.skipped>t.hand.skipFrames||!t.hand.landmarks||!t.skipFrame)&&(n=await this.handDetector.estimateHandBounds(e,t),this.skipped=0),t.skipFrame&&this.skipped++,n&&n.length>0&&(n.length!==this.detectedHands&&this.detectedHands!==t.hand.maxDetected||!t.hand.landmarks)&&(this.detectedHands=0,this.storedBoxes=[...n],this.storedBoxes.length>0&&(o=!0));let x=[];for(let i=0;i=t.hand.minConfidence){let R=a.reshape(P,[-1,3]),k=R.arraySync();P.dispose(),R.dispose();let T=this.transformRawCoords(k,b,y,f),p=this.getBoxForHandLandmarks(T);this.storedBoxes[i]={...p,confidence:j};let M={landmarks:T,confidence:j,box:{topLeft:p.startPoint,bottomRight:p.endPoint}};x.push(M)}else this.storedBoxes[i]=null;P.dispose()}else{let y=J0(Y0(s),Ae),r={confidence:s.confidence,box:{topLeft:y.startPoint,bottomRight:y.endPoint}};x.push(r)}}return this.storedBoxes=this.storedBoxes.filter(i=>i!==null),this.detectedHands=x.length,x}};var te={thumb:[1,2,3,4],indexFinger:[5,6,7,8],middleFinger:[9,10,11,12],ringFinger:[13,14,15,16],pinky:[17,18,19,20],palmBase:[0]},i0,a0,ne;async function V5(A,e){let t=await ne.estimateHands(A,e);if(!t)return[];let o=[];for(let n=0;nt[n].landmarks[c]);let i=t[n].landmarks,s=[Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER,0,0],y=[0,0,0,0];if(i&&i.length>0){for(let r of i)r[0]s[2]&&(s[2]=r[0]),r[1]>s[3]&&(s[3]=r[1]);s[2]-=s[0],s[3]-=s[1],y=[s[0]/A.shape[2],s[1]/A.shape[1],s[2]/A.shape[2],s[3]/A.shape[1]]}else s=t[n].box?[Math.trunc(Math.max(0,t[n].box.topLeft[0])),Math.trunc(Math.max(0,t[n].box.topLeft[1])),Math.trunc(Math.min(A.shape[2],t[n].box.bottomRight[0])-Math.max(0,t[n].box.topLeft[0])),Math.trunc(Math.min(A.shape[1],t[n].box.bottomRight[1])-Math.max(0,t[n].box.topLeft[1]))]:[0,0,0,0],y=[t[n].box.topLeft[0]/A.shape[2],t[n].box.topLeft[1]/A.shape[1],(t[n].box.bottomRight[0]-t[n].box.topLeft[0])/A.shape[2],(t[n].box.bottomRight[1]-t[n].box.topLeft[1])/A.shape[1]];o.push({id:n,score:Math.round(100*t[n].confidence)/100,box:s,boxRaw:y,keypoints:i,annotations:x})}return o}async function X5(A){!i0||!a0?([i0,a0]=await Promise.all([A.hand.enabled?a.loadGraphModel(H(A.modelBasePath,A.hand.detector.modelPath),{fromTFHub:A.hand.detector.modelPath.includes("tfhub.dev")}):null,A.hand.landmarks?a.loadGraphModel(H(A.modelBasePath,A.hand.skeleton.modelPath),{fromTFHub:A.hand.skeleton.modelPath.includes("tfhub.dev")}):null]),A.hand.enabled&&(!i0||!i0.modelUrl?g("load model failed:",A.hand.detector.modelPath):A.debug&&g("load model:",i0.modelUrl),!a0||!a0.modelUrl?g("load model failed:",A.hand.skeleton.modelPath):A.debug&&g("load model:",a0.modelUrl))):(A.debug&&g("cached model:",i0.modelUrl),A.debug&&g("cached model:",a0.modelUrl));let e=new O5(i0);return ne=new H5(e,a0),[i0,a0]}var B5={};e0(B5,{load:()=>G0,predict:()=>q5});var oe=["nose","leftEyeInside","leftEye","leftEyeOutside","rightEyeInside","rightEye","rightEyeOutside","leftEar","rightEar","leftMouth","rightMouth","leftShoulder","rightShoulder","leftElbow","rightElbow","leftWrist","rightWrist","leftPalm","rightPalm","leftIndex","rightIndex","leftPinky","rightPinky","leftHip","rightHip","leftKnee","rightKnee","leftAnkle","rightAnkle","leftHeel","rightHeel","leftFoot","rightFoot","midHip","forehead","leftThumb","leftHand","rightThumb","rightHand"],se=["nose","leftEyeInside","leftEye","leftEyeOutside","rightEyeInside","rightEye","rightEyeOutside","leftEar","rightEar","leftMouth","rightMouth","leftShoulder","rightShoulder","leftElbow","rightElbow","left:15","right:16","left:17","right:18","left:19","right:20","left:21","right:22","leftChest","rightChest","neck","forehead","left:27","right:28","left:29","right:30"];var B;async function G0(A){return B?A.debug&&g("cached model:",B.modelUrl):(B=await a.loadGraphModel(H(A.modelBasePath,A.body.modelPath)),B.width=parseInt(B.signature.inputs["input_1:0"].tensorShape.dim[2].size),B.height=parseInt(B.signature.inputs["input_1:0"].tensorShape.dim[1].size),!B||!B.modelUrl?g("load model failed:",A.body.modelPath):A.debug&&g("load model:",B.modelUrl)),B}async function q5(A,e){var d;if(!B)return[];if(!e.body.enabled)return[];let t={width:A.shape[2],height:A.shape[1]},o=a.image.resizeBilinear(A,[B.width,B.height],!1),n=a.div(o,[255]);o.dispose();let x=await B.predict(n),i=((d=x.find(h=>h.size===195||h.size===155))==null?void 0:d.dataSync())||[];x.forEach(h=>h.dispose()),n.dispose();let s=[],y=(i==null?void 0:i.length)===195?oe:se,r=5;for(let h=0;hh.position[0]),l=s.map(h=>h.position[1]),f=[Math.min(...c),Math.min(...l),Math.max(...c)-Math.min(...c),Math.max(...l)-Math.min(...c)],b=[0,0,0,0],v=s.reduce((h,P)=>P.score>h?P.score:h,0);return[{id:0,score:v,box:f,boxRaw:b,keypoints:s}]}var C,n0=[],C5=[0,0,0,0],U5=[0,0,0,0],K0=0,J5=Number.MAX_SAFE_INTEGER,Qe=["head","neck","rightShoulder","rightElbow","rightWrist","chest","leftShoulder","leftElbow","leftWrist","pelvis","rightHip","rightKnee","rightAnkle","leftHip","leftKnee","leftAnkle"];async function re(A){return C?A.debug&&g("cached model:",C.modelUrl):(C=await a.loadGraphModel(H(A.modelBasePath,A.body.modelPath)),!C||!C.modelUrl?g("load model failed:",A.body.modelPath):A.debug&&g("load model:",C.modelUrl)),C}function _e(A,e){let[t,o]=A.shape;return a.tidy(()=>{let n=(s,y)=>a.sub(s,a.mul(a.div(s,a.scalar(y,"int32")),a.scalar(y,"int32"))),x=a.reshape(A,[o*t]),i=a.max(x,0).dataSync()[0];if(i>e){let s=a.argMax(x,0),y=n(s,t).dataSync()[0],r=a.div(s,a.scalar(t,"int32")).dataSync()[0];return[y,r,i]}return[0,0,i]})}async function Y5(A,e){return J50?(J5++,[{id:0,score:K0,box:C5,boxRaw:U5,keypoints:n0}]):(J5=0,new Promise(async t=>{let o=a.tidy(()=>{if(!C.inputs[0].shape)return null;let r=a.image.resizeBilinear(A,[C.inputs[0].shape[2],C.inputs[0].shape[1]],!1);return a.mul(r,2).sub(1)}),n;if(e.body.enabled&&(n=await C.predict(o)),o.dispose(),n){n0.length=0;let r=n.squeeze();a.dispose(n);let c=r.unstack(2);a.dispose(r);for(let l=0;le.body.minConfidence&&n0.push({score:Math.round(100*v)/100,part:Qe[l],positionRaw:[f/C.inputs[0].shape[2],b/C.inputs[0].shape[1]],position:[Math.round(A.shape[2]*f/C.inputs[0].shape[2]),Math.round(A.shape[1]*b/C.inputs[0].shape[1])]})}c.forEach(l=>a.dispose(l))}K0=n0.reduce((r,c)=>c.score>r?c.score:r,0);let x=n0.map(r=>r.position[0]),i=n0.map(r=>r.position[1]);C5=[Math.min(...x),Math.min(...i),Math.max(...x)-Math.min(...x),Math.max(...i)-Math.min(...i)];let s=n0.map(r=>r.positionRaw[0]),y=n0.map(r=>r.positionRaw[1]);U5=[Math.min(...s),Math.min(...y),Math.max(...s)-Math.min(...s),Math.max(...y)-Math.min(...y)],t([{id:0,score:K0,box:C5,boxRaw:U5,keypoints:n0}])}))}var A0,o0=[],G5=[0,0,0,0],K5=[0,0,0,0],b0=0,D5=Number.MAX_SAFE_INTEGER,$e=["nose","leftEye","rightEye","leftEar","rightEar","leftShoulder","rightShoulder","leftElbow","rightElbow","leftWrist","rightWrist","leftHip","rightHip","leftKnee","rightKnee","leftAnkle","rightAnkle"];async function Q5(A){return A0?A.debug&&g("cached model:",A0.modelUrl):(A0=await a.loadGraphModel(H(A.modelBasePath,A.body.modelPath)),!A0||!A0.modelUrl?g("load model failed:",A.body.modelPath):A.debug&&g("load model:",A0.modelUrl)),A0}async function _5(A,e){return D50?(D5++,[{id:0,score:b0,box:G5,boxRaw:K5,keypoints:o0}]):(D5=0,new Promise(async t=>{let o=a.tidy(()=>{if(!A0.inputs[0].shape)return null;let r=a.image.resizeBilinear(A,[A0.inputs[0].shape[2],A0.inputs[0].shape[1]],!1);return a.cast(r,"int32")}),n;if(e.body.enabled&&(n=await A0.predict(o)),o.dispose(),n){o0.length=0;let r=n.arraySync();a.dispose(n);let c=r[0][0];for(let l=0;le.body.minConfidence&&o0.push({score:Math.round(100*b0)/100,part:$e[l],positionRaw:[c[l][1],c[l][0]],position:[Math.round(A.shape[2]*c[l][1]),Math.round(A.shape[1]*c[l][0])]})}b0=o0.reduce((r,c)=>c.score>r?c.score:r,0);let x=o0.map(r=>r.position[0]),i=o0.map(r=>r.position[1]);G5=[Math.min(...x),Math.min(...i),Math.max(...x)-Math.min(...x),Math.max(...i)-Math.min(...i)];let s=o0.map(r=>r.positionRaw[0]),y=o0.map(r=>r.positionRaw[1]);K5=[Math.min(...s),Math.min(...y),Math.max(...s)-Math.min(...s),Math.max(...y)-Math.min(...y)],t([{id:0,score:b0,box:G5,boxRaw:K5,keypoints:o0}])}))}var nA={};e0(nA,{load:()=>eA,predict:()=>tA});var g0=[{class:1,label:"person"},{class:2,label:"bicycle"},{class:3,label:"car"},{class:4,label:"motorcycle"},{class:5,label:"airplane"},{class:6,label:"bus"},{class:7,label:"train"},{class:8,label:"truck"},{class:9,label:"boat"},{class:10,label:"traffic light"},{class:11,label:"fire hydrant"},{class:12,label:"stop sign"},{class:13,label:"parking meter"},{class:14,label:"bench"},{class:15,label:"bird"},{class:16,label:"cat"},{class:17,label:"dog"},{class:18,label:"horse"},{class:19,label:"sheep"},{class:20,label:"cow"},{class:21,label:"elephant"},{class:22,label:"bear"},{class:23,label:"zebra"},{class:24,label:"giraffe"},{class:25,label:"backpack"},{class:26,label:"umbrella"},{class:27,label:"handbag"},{class:28,label:"tie"},{class:29,label:"suitcase"},{class:30,label:"frisbee"},{class:31,label:"skis"},{class:32,label:"snowboard"},{class:33,label:"sports ball"},{class:34,label:"kite"},{class:35,label:"baseball bat"},{class:36,label:"baseball glove"},{class:37,label:"skateboard"},{class:38,label:"surfboard"},{class:39,label:"tennis racket"},{class:40,label:"bottle"},{class:41,label:"wine glass"},{class:42,label:"cup"},{class:43,label:"fork"},{class:44,label:"knife"},{class:45,label:"spoon"},{class:46,label:"bowl"},{class:47,label:"banana"},{class:48,label:"apple"},{class:49,label:"sandwich"},{class:50,label:"orange"},{class:51,label:"broccoli"},{class:52,label:"carrot"},{class:53,label:"hot dog"},{class:54,label:"pizza"},{class:55,label:"donut"},{class:56,label:"cake"},{class:57,label:"chair"},{class:58,label:"couch"},{class:59,label:"potted plant"},{class:60,label:"bed"},{class:61,label:"dining table"},{class:62,label:"toilet"},{class:63,label:"tv"},{class:64,label:"laptop"},{class:65,label:"mouse"},{class:66,label:"remote"},{class:67,label:"keyboard"},{class:68,label:"cell phone"},{class:69,label:"microwave"},{class:70,label:"oven"},{class:71,label:"toaster"},{class:72,label:"sink"},{class:73,label:"refrigerator"},{class:74,label:"book"},{class:75,label:"clock"},{class:76,label:"vase"},{class:77,label:"scissors"},{class:78,label:"teddy bear"},{class:79,label:"hair drier"},{class:80,label:"toothbrush"}];var G,$5=[],AA=Number.MAX_SAFE_INTEGER,D0=2.5;async function eA(A){if(G)A.debug&&g("cached model:",G.modelUrl);else{G=await a.loadGraphModel(H(A.modelBasePath,A.object.modelPath));let e=Object.values(G.modelSignature.inputs);if(G.inputSize=Array.isArray(e)?parseInt(e[0].tensorShape.dim[2].size):null,!G.inputSize)throw new Error(`Human: Cannot determine model inputSize: ${A.object.modelPath}`);!G||!G.modelUrl?g("load model failed:",A.object.modelPath):A.debug&&g("load model:",G.modelUrl)}return G}async function A2(A,e,t,o){let n=0,x=[];for(let r of[1,2,4])a.tidy(()=>{var h,P;let c=r*13,l=(h=A.find(j=>j.shape[1]===c**2&&j.shape[2]===g0.length))==null?void 0:h.squeeze(),f=(P=A.find(j=>j.shape[1]===c**2&&j.shape[2]o.object.minConfidence&&R!==61){let T=(.5+Math.trunc(j%c))/c,p=(.5+Math.trunc(j/c))/c,M=v[j].map(F=>F*(c/r/e)),[m,W]=[T-D0/r*M[0],p-D0/r*M[1]],[N,O]=[T+D0/r*M[2]-m,p+D0/r*M[3]-W],w=[m,W,N,O];w=w.map(F=>Math.max(0,Math.min(F,1)));let L=[w[0]*t[0],w[1]*t[1],w[2]*t[0],w[3]*t[1]],z={id:n++,score:Math.round(100*k)/100,class:R+1,label:g0[R].label,box:L.map(F=>Math.trunc(F)),boxRaw:w};x.push(z)}}});A.forEach(r=>a.dispose(r));let i=x.map(r=>[r.boxRaw[1],r.boxRaw[0],r.boxRaw[3],r.boxRaw[2]]),s=x.map(r=>r.score),y=[];if(i&&i.length>0){let r=await a.image.nonMaxSuppressionAsync(i,s,o.object.maxDetected,o.object.iouThreshold,o.object.minConfidence);y=r.dataSync(),a.dispose(r)}return x=x.filter((r,c)=>y.includes(c)).sort((r,c)=>c.score-r.score),x}async function tA(A,e){return AA0?(AA++,$5):(AA=0,new Promise(async t=>{let o=[A.shape[2],A.shape[1]],n=a.image.resizeBilinear(A,[G.inputSize,G.inputSize],!1),x=n.div(255),i=x.transpose([0,3,1,2]);x.dispose(),n.dispose();let s;e.object.enabled&&(s=await G.predict(i)),i.dispose();let y=await A2(s,G.inputSize,o,e);$5=y,t(y)}))}var aA={};e0(aA,{load:()=>rA,predict:()=>iA});var K,oA=[],sA=Number.MAX_SAFE_INTEGER;async function rA(A){if(K)A.debug&&g("cached model:",K.modelUrl);else{K=await a.loadGraphModel(H(A.modelBasePath,A.object.modelPath));let e=Object.values(K.modelSignature.inputs);if(K.inputSize=Array.isArray(e)?parseInt(e[0].tensorShape.dim[2].size):null,!K.inputSize)throw new Error(`Human: Cannot determine model inputSize: ${A.object.modelPath}`);!K||!K.modelUrl?g("load model failed:",A.object.modelPath):A.debug&&g("load model:",K.modelUrl)}return K}async function e2(A,e,t,o){if(!A)return[];let n=[],x=A.arraySync(),i=a.squeeze(A);A.dispose();let s=a.split(i,6,1);i.dispose();let r=a.stack([s[1],s[0],s[3],s[2]],1).squeeze(),c=s[4].squeeze(),l=s[5].squeeze();s.forEach(d=>d.dispose());let f=await a.image.nonMaxSuppressionAsync(r,c,o.object.maxDetected,o.object.iouThreshold,o.object.minConfidence);r.dispose(),c.dispose(),l.dispose();let b=f.dataSync();f.dispose();let v=0;for(let d of b){let h=Math.trunc(100*x[0][d][4])/100,P=x[0][d][5],j=g0[P].label,R=[x[0][d][0]/e,x[0][d][1]/e,x[0][d][2]/e,x[0][d][3]/e],k=[Math.trunc(R[0]*t[0]),Math.trunc(R[1]*t[1]),Math.trunc(R[2]*t[0]),Math.trunc(R[3]*t[1])];n.push({id:v++,score:h,class:P,label:j,box:k,boxRaw:R})}return n}async function iA(A,e){return sA0?(sA++,oA):(sA=0,new Promise(async t=>{let o=[A.shape[2],A.shape[1]],n=a.image.resizeBilinear(A,[K.inputSize,K.inputSize]),x=e.object.enabled?K.execute(n,["tower_0/detections"]):null;n.dispose();let i=await e2(x,K.inputSize,o,e);oA=i,t(i)}))}var ie=A=>{if(!A)return[];let e=[];for(let t=0;ty.part==="leftWrist"),n=A[t].keypoints.find(y=>y.part==="rightWrist"),x=A[t].keypoints.find(y=>y.part==="nose");x&&o&&n&&o.position.yy.part==="leftShoulder"),s=A[t].keypoints.find(y=>y.part==="rightShoulder");i&&s&&e.push({body:t,gesture:`leaning ${i.position.y>s.position.y?"left":"right"}`})}return e},ae=A=>{if(!A)return[];let e=[];for(let t=0;t0){let o=A[t].mesh[33][2]-A[t].mesh[263][2];Math.abs(o)<10?e.push({face:t,gesture:"facing center"}):e.push({face:t,gesture:`facing ${o<0?"left":"right"}`}),Math.abs(A[t].mesh[374][1]-A[t].mesh[386][1])/Math.abs(A[t].mesh[443][1]-A[t].mesh[450][1])<.2&&e.push({face:t,gesture:"blink left eye"}),Math.abs(A[t].mesh[145][1]-A[t].mesh[159][1])/Math.abs(A[t].mesh[223][1]-A[t].mesh[230][1])<.2&&e.push({face:t,gesture:"blink right eye"});let i=Math.min(100,500*Math.abs(A[t].mesh[13][1]-A[t].mesh[14][1])/Math.abs(A[t].mesh[10][1]-A[t].mesh[152][1]));i>10&&e.push({face:t,gesture:`mouth ${Math.trunc(i)}% open`});let s=A[t].mesh[152][2];Math.abs(s)>10&&e.push({face:t,gesture:`head ${s<0?"up":"down"}`})}return e},xe=A=>{if(!A)return[];let e=[];for(let t=0;t.06||l>.06)&&(r=!1),f>.06&&e.push({iris:t,gesture:"looking right"}),l>.06&&e.push({iris:t,gesture:"looking left"});let b=Math.abs(A[t].mesh[145][1]-A[t].annotations.rightEyeIris[0][1])/A[t].box[3],v=Math.abs(A[t].mesh[374][1]-A[t].annotations.leftEyeIris[0][1])/A[t].box[3];(v<.01||b<.01||v>.022||b>.022)&&(r=!1),(v<.01||b<.01)&&e.push({iris:t,gesture:"looking down"}),(v>.022||b>.022)&&e.push({iris:t,gesture:"looking up"}),r&&e.push({iris:t,gesture:"looking center"})}return e},ye=A=>{if(!A)return[];let e=[];for(let t=0;t0){let n=o.reduce((i,s)=>i.position[2]i.position[1](r[f]=0,l))},n=function(s,y){let r=A.createShader(y);if(A.shaderSource(r,s),A.compileShader(r),!A.getShaderParameter(r,A.COMPILE_STATUS))throw new Error("Filter: GL compile failed",A.getShaderInfoLog(r));return r};this.uniform={},this.attribute={};let x=n(e,A.VERTEX_SHADER),i=n(t,A.FRAGMENT_SHADER);if(this.id=A.createProgram(),A.attachShader(this.id,x),A.attachShader(this.id,i),A.linkProgram(this.id),!A.getProgramParameter(this.id,A.LINK_STATUS))throw new Error("Filter: GL link failed",A.getProgramInfoLog(this.id));A.useProgram(this.id),o(e,"attribute",this.attribute);for(let s in this.attribute)this.attribute[s]=A.getAttribLocation(this.id,s);o(e,"uniform",this.uniform),o(t,"uniform",this.uniform);for(let s in this.uniform)this.uniform[s]=A.getUniformLocation(this.id,s)}function le(A){A||(A={});let e=0,t=null,o=!1,n=-1,x=[null,null],i=[],s=-1,y=-1,r=null,c=null,l={},f=A.canvas||document.createElement("canvas"),b={},v={INTERMEDIATE:1},d=f.getContext("webgl");if(!d)throw new Error("Filter: getContext() failed");this.addFilter=function(T){let p=Array.prototype.slice.call(arguments,1),M=l[T];i.push({func:M,args:p})},this.reset=function(){i=[]};let h=function(T,p){if(!(T===s&&p===y)){if(f.width=T,s=T,f.height=p,y=p,!r){let M=new Float32Array([-1,-1,0,1,1,-1,1,1,-1,1,0,0,-1,1,0,0,1,-1,1,1,1,1,1,0]);r=d.createBuffer(),d.bindBuffer(d.ARRAY_BUFFER,r),d.bufferData(d.ARRAY_BUFFER,M,d.STATIC_DRAW),d.pixelStorei(d.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0)}d.viewport(0,0,s,y),x=[null,null]}},P=function(T,p){let M=d.createFramebuffer();d.bindFramebuffer(d.FRAMEBUFFER,M);let m=d.createRenderbuffer();d.bindRenderbuffer(d.RENDERBUFFER,m);let W=d.createTexture();return d.bindTexture(d.TEXTURE_2D,W),d.texImage2D(d.TEXTURE_2D,0,d.RGBA,T,p,0,d.RGBA,d.UNSIGNED_BYTE,null),d.texParameteri(d.TEXTURE_2D,d.TEXTURE_MAG_FILTER,d.LINEAR),d.texParameteri(d.TEXTURE_2D,d.TEXTURE_MIN_FILTER,d.LINEAR),d.texParameteri(d.TEXTURE_2D,d.TEXTURE_WRAP_S,d.CLAMP_TO_EDGE),d.texParameteri(d.TEXTURE_2D,d.TEXTURE_WRAP_T,d.CLAMP_TO_EDGE),d.framebufferTexture2D(d.FRAMEBUFFER,d.COLOR_ATTACHMENT0,d.TEXTURE_2D,W,0),d.bindTexture(d.TEXTURE_2D,null),d.bindFramebuffer(d.FRAMEBUFFER,null),{fbo:M,texture:W}},j=function(T){return x[T]=x[T]||P(s,y),x[T]},R=function(T=null){var W,N;let p=null,M=null,m=!1;e===0?p=t:p=(W=j(n))==null?void 0:W.texture,e++,o&&!(T&v.INTERMEDIATE)?(M=null,m=e%2==0):(n=(n+1)%2,M=(N=j(n))==null?void 0:N.fbo),d.bindTexture(d.TEXTURE_2D,p),d.bindFramebuffer(d.FRAMEBUFFER,M),d.uniform1f(c.uniform.flipY,m?-1:1),d.drawArrays(d.TRIANGLES,0,6)};this.apply=function(T){if(h(T.width,T.height),e=0,t||(t=d.createTexture()),d.bindTexture(d.TEXTURE_2D,t),d.texParameteri(d.TEXTURE_2D,d.TEXTURE_WRAP_S,d.CLAMP_TO_EDGE),d.texParameteri(d.TEXTURE_2D,d.TEXTURE_WRAP_T,d.CLAMP_TO_EDGE),d.texParameteri(d.TEXTURE_2D,d.TEXTURE_MIN_FILTER,d.NEAREST),d.texParameteri(d.TEXTURE_2D,d.TEXTURE_MAG_FILTER,d.NEAREST),d.texImage2D(d.TEXTURE_2D,0,d.RGBA,d.RGBA,d.UNSIGNED_BYTE,T),i.length===0)return R(),f;for(let p=0;p0,x=A.naturalHeight||A.videoHeight||A.height||A.shape&&A.shape[2]>0;if(!n||!x)return{tensor:null,canvas:E};let i=n,s=x;if(i>Q0&&(i=Q0,s=i*x/n),s>Q0&&(s=Q0,i=s*n/x),e.filter.width>0?i=e.filter.width:e.filter.height>0&&(i=n*(e.filter.height/x)),e.filter.height>0?s=e.filter.height:e.filter.width>0&&(s=x*(e.filter.width/n)),!i||!s)throw new Error("Human: Input cannot determine dimension");(!E||(E==null?void 0:E.width)!==i||(E==null?void 0:E.height)!==s)&&(E=typeof OffscreenCanvas!="undefined"?new OffscreenCanvas(i,s):document.createElement("canvas"),(E==null?void 0:E.width)!==i&&(E.width=i),(E==null?void 0:E.height)!==s&&(E.height=s));let y=E.getContext("2d");if(A instanceof ImageData?y.putImageData(A,0,0):e.filter.flip&&typeof y.translate!="undefined"?(y.translate(n,0),y.scale(-1,1),y.drawImage(A,0,0,n,x,0,0,E==null?void 0:E.width,E==null?void 0:E.height),y.setTransform(1,0,0,1,0,0)):y.drawImage(A,0,0,n,x,0,0,E==null?void 0:E.width,E==null?void 0:E.height),e.filter.enabled){if((!X||!Z||E.width!==Z.width||(E==null?void 0:E.height)!==(Z==null?void 0:Z.height))&&(Z=typeof OffscreenCanvas!="undefined"?new OffscreenCanvas(E==null?void 0:E.width,E==null?void 0:E.height):document.createElement("canvas"),(Z==null?void 0:Z.width)!==(E==null?void 0:E.width)&&(Z.width=E==null?void 0:E.width),(Z==null?void 0:Z.height)!==(E==null?void 0:E.height)&&(Z.height=E==null?void 0:E.height),X=a.ENV.flags.IS_BROWSER?new le({canvas:Z}):null),!X)return{tensor:null,canvas:E};X.reset(),X.addFilter("brightness",e.filter.brightness),e.filter.contrast!==0&&X.addFilter("contrast",e.filter.contrast),e.filter.sharpness!==0&&X.addFilter("sharpen",e.filter.sharpness),e.filter.blur!==0&&X.addFilter("blur",e.filter.blur),e.filter.saturation!==0&&X.addFilter("saturation",e.filter.saturation),e.filter.hue!==0&&X.addFilter("hue",e.filter.hue),e.filter.negative&&X.addFilter("negative"),e.filter.sepia&&X.addFilter("sepia"),e.filter.vintage&&X.addFilter("brownie"),e.filter.sepia&&X.addFilter("sepia"),e.filter.kodachrome&&X.addFilter("kodachrome"),e.filter.technicolor&&X.addFilter("technicolor"),e.filter.polaroid&&X.addFilter("polaroid"),e.filter.pixelate!==0&&X.addFilter("pixelate",e.filter.pixelate),X.apply(E)}else Z=E,X&&(X=null);let r;if(Z.data){let l=[Z.height,Z.width,3];r=a.tensor3d(Z.data,l,"int32")}else if(Z instanceof ImageData)r=a.browser.fromPixels(Z);else if(e.backend==="webgl"||e.backend==="humangl"){let l=typeof OffscreenCanvas!="undefined"?new OffscreenCanvas(i,s):document.createElement("canvas");l.width=i,l.height=s;let f=l.getContext("2d");f==null||f.drawImage(Z,0,0),r=a.browser.fromPixels(l)}else{let l=typeof OffscreenCanvas!="undefined"?new OffscreenCanvas(i,s):document.createElement("canvas");l.width=i,l.height=s;let f=l.getContext("2d");f==null||f.drawImage(Z,0,0);let b=f==null?void 0:f.getImageData(0,0,i,s);r=a.browser.fromPixels(b)}let c=r.toFloat();t=c.expandDims(0),r.dispose(),c.dispose()}let o=e.filter.return?Z:null;return{tensor:t,canvas:o}}var cA={};e0(cA,{all:()=>s2,body:()=>fe,canvas:()=>o2,face:()=>de,gesture:()=>ce,hand:()=>me,object:()=>he,options:()=>x0,person:()=>n2});var x0={color:"rgba(173, 216, 230, 0.3)",labelColor:"rgba(173, 216, 230, 1)",shadowColor:"black",font:'small-caps 14px "Segoe UI"',lineHeight:24,lineWidth:6,pointSize:2,roundRect:28,drawPoints:!1,drawLabels:!0,drawBoxes:!0,drawPolygons:!0,drawGaze:!0,fillPolygons:!1,useDepth:!0,useCurves:!1,bufferedOutput:!0},_0=A=>Math.round(A*180/Math.PI);function yA(A,e,t,o=0,n){A.fillStyle=n.useDepth&&o?`rgba(${127.5+2*o}, ${127.5-2*o}, 255, 0.3)`:n.color,A.beginPath(),A.arc(e,t,n.pointSize,0,2*Math.PI),A.fill()}function S0(A,e,t,o,n,x){if(A.beginPath(),x.useCurves){let i=(e+e+o)/2,s=(t+t+n)/2;A.ellipse(i,s,o/2,n/2,0,0,2*Math.PI)}else A.lineWidth=x.lineWidth,A.moveTo(e+x.roundRect,t),A.lineTo(e+o-x.roundRect,t),A.quadraticCurveTo(e+o,t,e+o,t+x.roundRect),A.lineTo(e+o,t+n-x.roundRect),A.quadraticCurveTo(e+o,t+n,e+o-x.roundRect,t+n),A.lineTo(e+x.roundRect,t+n),A.quadraticCurveTo(e,t+n,e,t+n-x.roundRect),A.lineTo(e,t+x.roundRect),A.quadraticCurveTo(e,t,e+x.roundRect,t),A.closePath();A.stroke()}function lA(A,e=[],t){if(!(e===void 0||e.length===0)){A.beginPath(),A.moveTo(e[0][0],e[0][1]);for(let o of e){let n=o[2]||0;A.strokeStyle=t.useDepth&&n?`rgba(${127.5+2*n}, ${127.5-2*n}, 255, 0.3)`:t.color,A.fillStyle=t.useDepth&&n?`rgba(${127.5+2*n}, ${127.5-2*n}, 255, 0.3)`:t.color,A.lineTo(o[0],Math.round(o[1]))}A.stroke(),t.fillPolygons&&(A.closePath(),A.fill())}}function w0(A,e=[],t){if(!(e===void 0||e.length===0)){if(!t.useCurves||e.length<=2){lA(A,e,t);return}A.moveTo(e[0][0],e[0][1]);for(let o=0;o1&&y[1].length>0){let r=s[1]>0?`#${s[1]}`:"",c=`${s[0]} ${r}: ${y[1]}`;o.shadowColor&&o.shadowColor!==""&&(n.fillStyle=o.shadowColor,n.fillText(c,8,2+x*o.lineHeight)),n.fillStyle=o.labelColor,n.fillText(c,6,0+x*o.lineHeight),x+=1}}}async function de(A,e,t){var x,i,s,y;let o=U(x0,t);if(!e||!A||!(A instanceof HTMLCanvasElement))return;let n=A.getContext("2d");if(!!n)for(let r of e){n.font=o.font,n.strokeStyle=o.color,n.fillStyle=o.color,o.drawBoxes&&S0(n,r.box[0],r.box[1],r.box[2],r.box[3],o);let c=[];if(c.push(`face: ${Math.trunc(100*r.score)}%`),r.genderScore&&c.push(`${r.gender||""} ${Math.trunc(100*r.genderScore)}%`),r.age&&c.push(`age: ${r.age||""}`),r.iris&&c.push(`distance: ${r.iris}`),r.emotion&&r.emotion.length>0){let l=r.emotion.map(f=>`${Math.trunc(100*f.score)}% ${f.emotion}`);l.length>3&&(l.length=3),c.push(l.join(" "))}r.rotation&&r.rotation.angle&&r.rotation.gaze&&(r.rotation.angle.roll&&c.push(`roll: ${_0(r.rotation.angle.roll)}\xB0 yaw:${_0(r.rotation.angle.yaw)}\xB0 pitch:${_0(r.rotation.angle.pitch)}\xB0`),r.rotation.gaze.bearing&&c.push(`gaze: ${_0(r.rotation.gaze.bearing)}\xB0`)),c.length===0&&c.push("face"),n.fillStyle=o.color;for(let l=c.length-1;l>=0;l--){let f=Math.max(r.box[0],0),b=l*o.lineHeight+r.box[1];o.shadowColor&&o.shadowColor!==""&&(n.fillStyle=o.shadowColor,n.fillText(c[l],f+5,b+16)),n.fillStyle=o.labelColor,n.fillText(c[l],f+4,b+15)}if(n.lineWidth=1,r.mesh&&r.mesh.length>0){if(o.drawPoints)for(let l of r.mesh)yA(n,l[0],l[1],l[2],o);if(o.drawPolygons){n.lineWidth=1;for(let l=0;lr.mesh[b]);lA(n,f,o)}if(r.annotations&&r.annotations.leftEyeIris){n.strokeStyle=o.useDepth?"rgba(255, 200, 255, 0.3)":o.color,n.beginPath();let l=Math.abs(r.annotations.leftEyeIris[3][0]-r.annotations.leftEyeIris[1][0])/2,f=Math.abs(r.annotations.leftEyeIris[4][1]-r.annotations.leftEyeIris[2][1])/2;n.ellipse(r.annotations.leftEyeIris[0][0],r.annotations.leftEyeIris[0][1],l,f,0,0,2*Math.PI),n.stroke(),o.fillPolygons&&(n.fillStyle=o.useDepth?"rgba(255, 255, 200, 0.3)":o.color,n.fill())}if(r.annotations&&r.annotations.rightEyeIris){n.strokeStyle=o.useDepth?"rgba(255, 200, 255, 0.3)":o.color,n.beginPath();let l=Math.abs(r.annotations.rightEyeIris[3][0]-r.annotations.rightEyeIris[1][0])/2,f=Math.abs(r.annotations.rightEyeIris[4][1]-r.annotations.rightEyeIris[2][1])/2;n.ellipse(r.annotations.rightEyeIris[0][0],r.annotations.rightEyeIris[0][1],l,f,0,0,2*Math.PI),n.stroke(),o.fillPolygons&&(n.fillStyle=o.useDepth?"rgba(255, 255, 200, 0.3)":o.color,n.fill())}if(o.drawGaze&&((i=(x=r.rotation)==null?void 0:x.gaze)==null?void 0:i.strength)&&((y=(s=r.rotation)==null?void 0:s.gaze)==null?void 0:y.bearing)){n.strokeStyle="pink",n.beginPath();let l=[r.annotations.leftEyeIris[0][0]+Math.sin(r.rotation.gaze.bearing)*r.rotation.gaze.strength*r.box[3],r.annotations.leftEyeIris[0][1]+Math.cos(r.rotation.gaze.bearing)*r.rotation.gaze.strength*r.box[2]];n.moveTo(r.annotations.leftEyeIris[0][0],r.annotations.leftEyeIris[0][1]),n.lineTo(l[0],l[1]);let f=[r.annotations.rightEyeIris[0][0]+Math.sin(r.rotation.gaze.bearing)*r.rotation.gaze.strength*r.box[3],r.annotations.rightEyeIris[0][1]+Math.cos(r.rotation.gaze.bearing)*r.rotation.gaze.strength*r.box[2]];n.moveTo(r.annotations.rightEyeIris[0][0],r.annotations.rightEyeIris[0][1]),n.lineTo(f[0],f[1]),n.stroke()}}}}}async function fe(A,e,t){var x;let o=U(x0,t);if(!e||!A||!(A instanceof HTMLCanvasElement))return;let n=A.getContext("2d");if(!!n){n.lineJoin="round";for(let i=0;ir.part==="leftShoulder"),s&&y.push([s.position[0],s.position[1]]),s=e[i].keypoints.find(r=>r.part==="rightShoulder"),s&&y.push([s.position[0],s.position[1]]),w0(n,y,o),y.length=0,s=e[i].keypoints.find(r=>r.part==="rightShoulder"),s&&y.push([s.position[0],s.position[1]]),s=e[i].keypoints.find(r=>r.part==="rightHip"),s&&y.push([s.position[0],s.position[1]]),s=e[i].keypoints.find(r=>r.part==="leftHip"),s&&y.push([s.position[0],s.position[1]]),s=e[i].keypoints.find(r=>r.part==="leftShoulder"),s&&y.push([s.position[0],s.position[1]]),y.length===4&&lA(n,y,o),y.length=0,s=e[i].keypoints.find(r=>r.part==="leftHip"),s&&y.push([s.position[0],s.position[1]]),s=e[i].keypoints.find(r=>r.part==="leftKnee"),s&&y.push([s.position[0],s.position[1]]),s=e[i].keypoints.find(r=>r.part==="leftAnkle"),s&&y.push([s.position[0],s.position[1]]),s=e[i].keypoints.find(r=>r.part==="leftHeel"),s&&y.push([s.position[0],s.position[1]]),s=e[i].keypoints.find(r=>r.part==="leftFoot"),s&&y.push([s.position[0],s.position[1]]),w0(n,y,o),y.length=0,s=e[i].keypoints.find(r=>r.part==="rightHip"),s&&y.push([s.position[0],s.position[1]]),s=e[i].keypoints.find(r=>r.part==="rightKnee"),s&&y.push([s.position[0],s.position[1]]),s=e[i].keypoints.find(r=>r.part==="rightAnkle"),s&&y.push([s.position[0],s.position[1]]),s=e[i].keypoints.find(r=>r.part==="rightHeel"),s&&y.push([s.position[0],s.position[1]]),s=e[i].keypoints.find(r=>r.part==="rightFoot"),s&&y.push([s.position[0],s.position[1]]),w0(n,y,o),y.length=0,s=e[i].keypoints.find(r=>r.part==="leftShoulder"),s&&y.push([s.position[0],s.position[1]]),s=e[i].keypoints.find(r=>r.part==="leftElbow"),s&&y.push([s.position[0],s.position[1]]),s=e[i].keypoints.find(r=>r.part==="leftWrist"),s&&y.push([s.position[0],s.position[1]]),s=e[i].keypoints.find(r=>r.part==="leftPalm"),s&&y.push([s.position[0],s.position[1]]),w0(n,y,o),y.length=0,s=e[i].keypoints.find(r=>r.part==="rightShoulder"),s&&y.push([s.position[0],s.position[1]]),s=e[i].keypoints.find(r=>r.part==="rightElbow"),s&&y.push([s.position[0],s.position[1]]),s=e[i].keypoints.find(r=>r.part==="rightWrist"),s&&y.push([s.position[0],s.position[1]]),s=e[i].keypoints.find(r=>r.part==="rightPalm"),s&&y.push([s.position[0],s.position[1]]),w0(n,y,o)}}}}async function me(A,e,t){let o=U(x0,t);if(!e||!A||!(A instanceof HTMLCanvasElement))return;let n=A.getContext("2d");if(!!n){n.lineJoin="round",n.font=o.font;for(let x of e){if(o.drawBoxes&&(n.strokeStyle=o.color,n.fillStyle=o.color,S0(n,x.box[0],x.box[1],x.box[2],x.box[3],o),o.drawLabels&&(o.shadowColor&&o.shadowColor!==""&&(n.fillStyle=o.shadowColor,n.fillText("hand",x.box[0]+3,1+x.box[1]+o.lineHeight,x.box[2])),n.fillStyle=o.labelColor,n.fillText("hand",x.box[0]+2,0+x.box[1]+o.lineHeight,x.box[2])),n.stroke()),o.drawPoints&&x.keypoints&&x.keypoints.length>0)for(let i of x.keypoints)n.fillStyle=o.useDepth?`rgba(${127.5+2*i[2]}, ${127.5-2*i[2]}, 255, 0.5)`:o.color,yA(n,i[0],i[1],0,o);if(o.drawLabels){let i=(s,y)=>{n.fillStyle=o.useDepth?`rgba(${127.5+2*s[s.length-1][2]}, ${127.5-2*s[s.length-1][2]}, 255, 0.5)`:o.color,n.fillText(y,s[s.length-1][0]+4,s[s.length-1][1]+4)};n.font=o.font,i(x.annotations.indexFinger,"index"),i(x.annotations.middleFinger,"middle"),i(x.annotations.ringFinger,"ring"),i(x.annotations.pinky,"pinky"),i(x.annotations.thumb,"thumb"),i(x.annotations.palmBase,"palm")}if(o.drawPolygons){let i=s=>{if(!!s)for(let y=0;y0?y-1:0][0],s[y>0?y-1:0][1]),n.lineTo(s[y][0],s[y][1]),n.stroke()};n.lineWidth=o.lineWidth,i(x.annotations.indexFinger),i(x.annotations.middleFinger),i(x.annotations.ringFinger),i(x.annotations.pinky),i(x.annotations.thumb)}}}}async function he(A,e,t){let o=U(x0,t);if(!e||!A||!(A instanceof HTMLCanvasElement))return;let n=A.getContext("2d");if(!!n){n.lineJoin="round",n.font=o.font;for(let x of e)if(o.drawBoxes){if(n.strokeStyle=o.color,n.fillStyle=o.color,S0(n,x.box[0],x.box[1],x.box[2],x.box[3],o),o.drawLabels){let i=`${Math.round(100*x.score)}% ${x.label}`;o.shadowColor&&o.shadowColor!==""&&(n.fillStyle=o.shadowColor,n.fillText(i,x.box[0]+3,1+x.box[1]+o.lineHeight,x.box[2])),n.fillStyle=o.labelColor,n.fillText(i,x.box[0]+2,0+x.box[1]+o.lineHeight,x.box[2])}n.stroke()}}}async function n2(A,e,t){let o=U(x0,t);if(!e||!A||!(A instanceof HTMLCanvasElement))return;let n=A.getContext("2d");if(!!n){n.lineJoin="round",n.font=o.font;for(let x=0;xz.box[0]&&M.box[0]z.box[1]&&M.box[1]+M.box[3]m.body.box[0]&&z.box[0]+z.box[2]m.body.box[1]&&z.box[1]+z.box[3]m.body.box[0]&&z.box[1]+z.box[3]>m.body.box[1]&&z.box[1]+z.box[3]{z&&z.length===4&&(W.push(z[0],z[0]+z[2]),N.push(z[1],z[1]+z[3]))};O((P=m.face)==null?void 0:P.box),O((j=m.body)==null?void 0:j.box),O((k=(R=m.hands)==null?void 0:R.left)==null?void 0:k.box),O((p=(T=m.hands)==null?void 0:T.right)==null?void 0:p.box);let w=Math.min(...W),L=Math.min(...N);m.box=[w,L,Math.max(...W)-w,Math.max(...N)-L],n&&n.length===4&&(m.boxRaw=[m.box[0]/n[2],m.box[1]/n[1],m.box[2]/n[2],m.box[3]/n[1]]),i.push(m)}return i}var S={face:[],body:[],hand:[],gesture:[],object:[],persons:[],performance:{},timestamp:0};function pe(A){var o,n,x,i,s,y,r,c,l,f,b,v,d,h,P,j,R,k,T,p,M;let e=1e3/(Date.now()-A.timestamp)/4;if(!S.body||A.body.length!==S.body.length)S.body=JSON.parse(JSON.stringify(A.body));else for(let m=0;m((e-1)*S.body[m].box[L]+w)/e),N=A.body[m].boxRaw.map((w,L)=>((e-1)*S.body[m].boxRaw[L]+w)/e),O=A.body[m].keypoints.map((w,L)=>({score:w.score,part:w.part,position:[S.body[m].keypoints[L]?((e-1)*S.body[m].keypoints[L].position[0]+w.position[0])/e:w.position[0],S.body[m].keypoints[L]?((e-1)*S.body[m].keypoints[L].position[1]+w.position[1])/e:w.position[1]],positionRaw:[S.body[m].keypoints[L]?((e-1)*S.body[m].keypoints[L].positionRaw[0]+w.positionRaw[0])/e:w.position[0],S.body[m].keypoints[L]?((e-1)*S.body[m].keypoints[L].positionRaw[1]+w.positionRaw[1])/e:w.position[1]]}));S.body[m]={...A.body[m],box:W,boxRaw:N,keypoints:O}}if(!S.hand||A.hand.length!==S.hand.length)S.hand=JSON.parse(JSON.stringify(A.hand));else for(let m=0;m((e-1)*S.hand[m].box[F]+z)/e),N=A.hand[m].boxRaw.map((z,F)=>((e-1)*S.hand[m].boxRaw[F]+z)/e),O=A.hand[m].keypoints.map((z,F)=>z.map((P0,d0)=>((e-1)*S.hand[m].keypoints[F][d0]+P0)/e)),w=Object.keys(A.hand[m].annotations),L={};for(let z of w)L[z]=A.hand[m].annotations[z].map((F,P0)=>F.map((d0,r5)=>((e-1)*S.hand[m].annotations[z][P0][r5]+d0)/e));S.hand[m]={...A.hand[m],box:W,boxRaw:N,keypoints:O,annotations:L}}if(!S.face||A.face.length!==S.face.length)S.face=JSON.parse(JSON.stringify(A.face));else for(let m=0;m((e-1)*S.face[m].box[L]+w)/e),N=A.face[m].boxRaw.map((w,L)=>((e-1)*S.face[m].boxRaw[L]+w)/e),O={matrix:[0,0,0,0,0,0,0,0,0],angle:{roll:0,yaw:0,pitch:0},gaze:{bearing:0,strength:0}};O.matrix=(o=A.face[m].rotation)==null?void 0:o.matrix,O.angle={roll:((e-1)*(((x=(n=S.face[m].rotation)==null?void 0:n.angle)==null?void 0:x.roll)||0)+(((s=(i=A.face[m].rotation)==null?void 0:i.angle)==null?void 0:s.roll)||0))/e,yaw:((e-1)*(((r=(y=S.face[m].rotation)==null?void 0:y.angle)==null?void 0:r.yaw)||0)+(((l=(c=A.face[m].rotation)==null?void 0:c.angle)==null?void 0:l.yaw)||0))/e,pitch:((e-1)*(((b=(f=S.face[m].rotation)==null?void 0:f.angle)==null?void 0:b.pitch)||0)+(((d=(v=A.face[m].rotation)==null?void 0:v.angle)==null?void 0:d.pitch)||0))/e},O.gaze={bearing:((e-1)*(((P=(h=S.face[m].rotation)==null?void 0:h.gaze)==null?void 0:P.bearing)||0)+(((R=(j=A.face[m].rotation)==null?void 0:j.gaze)==null?void 0:R.bearing)||0))/e,strength:((e-1)*(((T=(k=S.face[m].rotation)==null?void 0:k.gaze)==null?void 0:T.strength)||0)+(((M=(p=A.face[m].rotation)==null?void 0:p.gaze)==null?void 0:M.strength)||0))/e},S.face[m]={...A.face[m],rotation:O,box:W,boxRaw:N}}if(!S.object||A.object.length!==S.object.length)S.object=JSON.parse(JSON.stringify(A.object));else for(let m=0;m((e-1)*S.object[m].box[w]+O)/e),N=A.object[m].boxRaw.map((O,w)=>((e-1)*S.object[m].boxRaw[w]+O)/e);S.object[m]={...A.object[m],box:W,boxRaw:N}}let t=A.persons;if(!S.persons||t.length!==S.persons.length)S.persons=JSON.parse(JSON.stringify(t));else for(let m=0;m((e-1)*S.persons[m].box[N]+W)/e);return S.gesture=A.gesture,S.performance=A.performance,S}var $0=` +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all2) => { + for (var name in all2) + __defProp(target, name, { get: all2[name], enumerable: true }); +}; +var __reExport = (target, module, desc) => { + if (module && typeof module === "object" || typeof module === "function") { + for (let key of __getOwnPropNames(module)) + if (!__hasOwnProp.call(target, key) && key !== "default") + __defProp(target, key, { get: () => module[key], enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable }); + } + return target; +}; +var __accessCheck = (obj, member, msg) => { + if (!member.has(obj)) + throw TypeError("Cannot " + msg); +}; +var __privateGet = (obj, member, getter) => { + __accessCheck(obj, member, "read from private field"); + return getter ? getter.call(obj) : member.get(obj); +}; +var __privateAdd = (obj, member, value) => { + if (member.has(obj)) + throw TypeError("Cannot add the same private member more than once"); + member instanceof WeakSet ? member.add(obj) : member.set(obj, value); +}; +var __privateSet = (obj, member, value, setter) => { + __accessCheck(obj, member, "write to private field"); + setter ? setter.call(obj, value) : member.set(obj, value); + return value; +}; + +// src/helpers.ts +function join(folder, file) { + const separator = folder.endsWith("/") ? "" : "/"; + const skipJoin = file.startsWith(".") || file.startsWith("/") || file.startsWith("http:") || file.startsWith("https:") || file.startsWith("file:"); + const path = skipJoin ? `${file}` : `${folder}${separator}${file}`; + if (!path.toLocaleLowerCase().includes(".json")) + throw new Error(`Human: ModelPath Error: ${path} Expecting JSON file`); + return path; +} +function log(...msg) { + const dt = new Date(); + const ts = `${dt.getHours().toString().padStart(2, "0")}:${dt.getMinutes().toString().padStart(2, "0")}:${dt.getSeconds().toString().padStart(2, "0")}.${dt.getMilliseconds().toString().padStart(3, "0")}`; + if (msg) + console.log(ts, "Human:", ...msg); +} +var now = () => { + if (typeof performance !== "undefined") + return performance.now(); + return parseInt((Number(process.hrtime.bigint()) / 1e3 / 1e3).toString()); +}; +function mergeDeep(...objects) { + const isObject = (obj) => obj && typeof obj === "object"; + return objects.reduce((prev, obj) => { + Object.keys(obj || {}).forEach((key) => { + const pVal = prev[key]; + const oVal = obj[key]; + if (Array.isArray(pVal) && Array.isArray(oVal)) + prev[key] = pVal.concat(...oVal); + else if (isObject(pVal) && isObject(oVal)) + prev[key] = mergeDeep(pVal, oVal); + else + prev[key] = oVal; + }); + return prev; + }, {}); +} + +// src/config.ts +var config = { + backend: "webgl", + modelBasePath: "../models/", + wasmPath: "../node_modules/@tensorflow/tfjs-backend-wasm/dist/", + debug: true, + async: true, + warmup: "full", + cacheSensitivity: 0.75, + filter: { + enabled: true, + width: 0, + height: 0, + flip: false, + return: true, + brightness: 0, + contrast: 0, + sharpness: 0, + blur: 0, + saturation: 0, + hue: 0, + negative: false, + sepia: false, + vintage: false, + kodachrome: false, + technicolor: false, + polaroid: false, + pixelate: 0 + }, + gesture: { + enabled: true + }, + face: { + enabled: true, + detector: { + modelPath: "blazeface.json", + rotation: true, + maxDetected: 5, + skipFrames: 15, + minConfidence: 0.2, + iouThreshold: 0.1, + return: false + }, + mesh: { + enabled: true, + modelPath: "facemesh.json" + }, + iris: { + enabled: true, + modelPath: "iris.json" + }, + description: { + enabled: true, + modelPath: "faceres.json", + skipFrames: 16, + minConfidence: 0.1 + }, + emotion: { + enabled: true, + minConfidence: 0.1, + skipFrames: 17, + modelPath: "emotion.json" + } + }, + body: { + enabled: true, + modelPath: "movenet-lightning.json", + maxDetected: 1, + minConfidence: 0.2 + }, + hand: { + enabled: true, + rotation: true, + skipFrames: 18, + minConfidence: 0.1, + iouThreshold: 0.1, + maxDetected: 2, + landmarks: true, + detector: { + modelPath: "handdetect.json" + }, + skeleton: { + modelPath: "handskeleton.json" + } + }, + object: { + enabled: false, + modelPath: "mb3-centernet.json", + minConfidence: 0.2, + iouThreshold: 0.4, + maxDetected: 10, + skipFrames: 19 + } +}; + +// src/sysinfo.ts +function info() { + let platform; + let agent; + if (typeof navigator !== "undefined") { + const raw = navigator.userAgent.match(/\(([^()]+)\)/g); + if (raw && raw[0]) { + const platformMatch = raw[0].match(/\(([^()]+)\)/g); + platform = platformMatch ? platformMatch[0].replace(/\(|\)/g, "") : ""; + agent = navigator.userAgent.replace(raw[0], ""); + if (platform[1]) + agent = agent.replace(raw[1], ""); + agent = agent.replace(/ /g, " "); + } + } else if (typeof process !== "undefined") { + platform = `${process.platform} ${process.arch}`; + agent = `NodeJS ${process.version}`; + } + return { platform, agent }; +} + +// dist/tfjs.esm.js +var tfjs_esm_exports = {}; +__export(tfjs_esm_exports, { + data: () => data, + version: () => version +}); +__reExport(tfjs_esm_exports, dist_star); +__reExport(tfjs_esm_exports, dist_star2); +__reExport(tfjs_esm_exports, dist_star3); +__reExport(tfjs_esm_exports, dist_star4); +__reExport(tfjs_esm_exports, dist_star5); +__reExport(tfjs_esm_exports, dist_star6); +import * as packageBundle from "@tensorflow/tfjs/package.json"; +import * as packageCore from "@tensorflow/tfjs-core/package.json"; +import * as packageData from "@tensorflow/tfjs-data/package.json"; +import * as packageLayers from "@tensorflow/tfjs-layers/package.json"; +import * as packageConverter from "@tensorflow/tfjs-converter/package.json"; +import { version_cpu } from "@tensorflow/tfjs-backend-cpu/dist/index.js"; +import { version_webgl } from "@tensorflow/tfjs-backend-webgl/dist/index.js"; +import { version_wasm } from "@tensorflow/tfjs-backend-wasm/dist/index.js"; +import * as dist_star from "@tensorflow/tfjs-core/dist/index.js"; +import * as dist_star2 from "@tensorflow/tfjs-layers/dist/index.js"; +import * as dist_star3 from "@tensorflow/tfjs-converter/dist/index.js"; +import * as data from "@tensorflow/tfjs-data/dist/index.js"; +import * as dist_star4 from "@tensorflow/tfjs-backend-cpu/dist/index.js"; +import * as dist_star5 from "@tensorflow/tfjs-backend-webgl/dist/index.js"; +import * as dist_star6 from "@tensorflow/tfjs-backend-wasm/dist/index.js"; +var version = { + tfjs: (packageBundle == null ? void 0 : packageBundle.version) || void 0, + "tfjs-core": (packageCore == null ? void 0 : packageCore.version) || void 0, + "tfjs-data": (packageData == null ? void 0 : packageData.version) || void 0, + "tfjs-layers": (packageLayers == null ? void 0 : packageLayers.version) || void 0, + "tfjs-converter": (packageConverter == null ? void 0 : packageConverter.version) || void 0, + "tfjs-backend-cpu": version_cpu || void 0, + "tfjs-backend-webgl": version_webgl || void 0, + "tfjs-backend-wasm": version_wasm || void 0 +}; + +// src/tfjs/backend.ts +var config2 = { + name: "humangl", + priority: 99, + canvas: null, + gl: null, + width: 1024, + height: 1024, + webGLattr: { + alpha: false, + antialias: false, + premultipliedAlpha: false, + preserveDrawingBuffer: false, + depth: false, + stencil: false, + failIfMajorPerformanceCaveat: false, + desynchronized: true + } +}; +function register() { + if (!tfjs_esm_exports.findBackend(config2.name)) { + log("backend registration:", config2.name); + try { + config2.canvas = typeof OffscreenCanvas !== "undefined" ? new OffscreenCanvas(config2.width, config2.height) : document.createElement("canvas"); + } catch (err) { + log("error: cannot create canvas:", err); + return; + } + try { + config2.gl = config2.canvas.getContext("webgl2", config2.webGLattr); + } catch (err) { + log("error: cannot get WebGL2 context:", err); + return; + } + try { + tfjs_esm_exports.setWebGLContext(2, config2.gl); + } catch (err) { + log("error: cannot set WebGL2 context:", err); + return; + } + try { + const ctx = new tfjs_esm_exports.GPGPUContext(config2.gl); + tfjs_esm_exports.registerBackend(config2.name, () => new tfjs_esm_exports.MathBackendWebGL(ctx), config2.priority); + } catch (err) { + log("error: cannot register WebGL backend:", err); + return; + } + try { + const kernels = tfjs_esm_exports.getKernelsForBackend("webgl"); + kernels.forEach((kernelConfig) => { + const newKernelConfig = { ...kernelConfig, backendName: config2.name }; + tfjs_esm_exports.registerKernel(newKernelConfig); + }); + } catch (err) { + log("error: cannot update WebGL backend registration:", err); + return; + } + try { + tfjs_esm_exports.ENV.set("WEBGL_VERSION", 2); + } catch (err) { + log("error: cannot set WebGL backend flags:", err); + return; + } + log("backend registered:", config2.name); + } +} + +// src/blazeface/facemesh.ts +var facemesh_exports = {}; +__export(facemesh_exports, { + load: () => load2, + predict: () => predict, + triangulation: () => triangulation, + uvmap: () => uvmap +}); + +// src/blazeface/box.ts +function scaleBoxCoordinates(box6, factor) { + const startPoint = [box6.startPoint[0] * factor[0], box6.startPoint[1] * factor[1]]; + const endPoint = [box6.endPoint[0] * factor[0], box6.endPoint[1] * factor[1]]; + return { startPoint, endPoint }; +} +function getBoxSize(box6) { + return [ + Math.abs(box6.endPoint[0] - box6.startPoint[0]), + Math.abs(box6.endPoint[1] - box6.startPoint[1]) + ]; +} +function getBoxCenter(box6) { + return [ + box6.startPoint[0] + (box6.endPoint[0] - box6.startPoint[0]) / 2, + box6.startPoint[1] + (box6.endPoint[1] - box6.startPoint[1]) / 2 + ]; +} +function cutBoxFromImageAndResize(box6, image15, cropSize) { + const h = image15.shape[1]; + const w = image15.shape[2]; + const boxes = [[ + box6.startPoint[1] / h, + box6.startPoint[0] / w, + box6.endPoint[1] / h, + box6.endPoint[0] / w + ]]; + return tfjs_esm_exports.image.cropAndResize(image15, boxes, [0], cropSize); +} +function enlargeBox(box6, factor = 1.5) { + const center = getBoxCenter(box6); + const size = getBoxSize(box6); + const newHalfSize = [factor * size[0] / 2, factor * size[1] / 2]; + const startPoint = [center[0] - newHalfSize[0], center[1] - newHalfSize[1]]; + const endPoint = [center[0] + newHalfSize[0], center[1] + newHalfSize[1]]; + return { startPoint, endPoint, landmarks: box6.landmarks }; +} +function squarifyBox(box6) { + const centers = getBoxCenter(box6); + const size = getBoxSize(box6); + const maxEdge = Math.max(...size); + const halfSize = maxEdge / 2; + const startPoint = [Math.round(centers[0] - halfSize), Math.round(centers[1] - halfSize)]; + const endPoint = [Math.round(centers[0] + halfSize), Math.round(centers[1] + halfSize)]; + return { startPoint, endPoint, landmarks: box6.landmarks }; +} +function calculateLandmarksBoundingBox(landmarks) { + const xs = landmarks.map((d) => d[0]); + const ys = landmarks.map((d) => d[1]); + const startPoint = [Math.min(...xs), Math.min(...ys)]; + const endPoint = [Math.max(...xs), Math.max(...ys)]; + return { startPoint, endPoint, landmarks }; +} +var createBox = (startEndTensor) => ({ + startPoint: tfjs_esm_exports.slice(startEndTensor, [0, 0], [-1, 2]), + endPoint: tfjs_esm_exports.slice(startEndTensor, [0, 2], [-1, 2]) +}); + +// src/blazeface/util.ts +var IDENTITY_MATRIX = [[1, 0, 0], [0, 1, 0], [0, 0, 1]]; +function normalizeRadians(angle) { + return angle - 2 * Math.PI * Math.floor((angle + Math.PI) / (2 * Math.PI)); +} +function computeRotation(point1, point2) { + const radians = Math.PI / 2 - Math.atan2(-(point2[1] - point1[1]), point2[0] - point1[0]); + return normalizeRadians(radians); +} +function buildTranslationMatrix(x, y) { + return [[1, 0, x], [0, 1, y], [0, 0, 1]]; +} +function dot(v1, v2) { + let product = 0; + for (let i = 0; i < v1.length; i++) { + product += v1[i] * v2[i]; + } + return product; +} +function getColumnFrom2DArr(arr, columnIndex) { + const column = []; + for (let i = 0; i < arr.length; i++) { + column.push(arr[i][columnIndex]); + } + return column; +} +function multiplyTransformMatrices(mat1, mat2) { + const product = []; + const size = mat1.length; + for (let row = 0; row < size; row++) { + product.push([]); + for (let col = 0; col < size; col++) { + product[row].push(dot(mat1[row], getColumnFrom2DArr(mat2, col))); + } + } + return product; +} +function buildRotationMatrix(rotation, center) { + const cosA = Math.cos(rotation); + const sinA = Math.sin(rotation); + const rotationMatrix = [[cosA, -sinA, 0], [sinA, cosA, 0], [0, 0, 1]]; + const translationMatrix = buildTranslationMatrix(center[0], center[1]); + const translationTimesRotation = multiplyTransformMatrices(translationMatrix, rotationMatrix); + const negativeTranslationMatrix = buildTranslationMatrix(-center[0], -center[1]); + return multiplyTransformMatrices(translationTimesRotation, negativeTranslationMatrix); +} +function invertTransformMatrix(matrix) { + const rotationComponent = [[matrix[0][0], matrix[1][0]], [matrix[0][1], matrix[1][1]]]; + const translationComponent = [matrix[0][2], matrix[1][2]]; + const invertedTranslation = [ + -dot(rotationComponent[0], translationComponent), + -dot(rotationComponent[1], translationComponent) + ]; + return [ + rotationComponent[0].concat(invertedTranslation[0]), + rotationComponent[1].concat(invertedTranslation[1]), + [0, 0, 1] + ]; +} +function rotatePoint(homogeneousCoordinate, rotationMatrix) { + return [ + dot(homogeneousCoordinate, rotationMatrix[0]), + dot(homogeneousCoordinate, rotationMatrix[1]) + ]; +} +function generateAnchors(inputSize) { + const spec = { strides: [inputSize / 16, inputSize / 8], anchors: [2, 6] }; + const anchors3 = []; + for (let i = 0; i < spec.strides.length; i++) { + const stride = spec.strides[i]; + const gridRows = Math.floor((inputSize + stride - 1) / stride); + const gridCols = Math.floor((inputSize + stride - 1) / stride); + const anchorsNum = spec.anchors[i]; + for (let gridY = 0; gridY < gridRows; gridY++) { + const anchorY = stride * (gridY + 0.5); + for (let gridX = 0; gridX < gridCols; gridX++) { + const anchorX = stride * (gridX + 0.5); + for (let n = 0; n < anchorsNum; n++) { + anchors3.push([anchorX, anchorY]); + } + } + } + } + return anchors3; +} + +// src/blazeface/blazeface.ts +var keypointsCount = 6; +function decodeBounds(boxOutputs, anchors3, inputSize) { + const boxStarts = tfjs_esm_exports.slice(boxOutputs, [0, 1], [-1, 2]); + const centers = tfjs_esm_exports.add(boxStarts, anchors3); + const boxSizes = tfjs_esm_exports.slice(boxOutputs, [0, 3], [-1, 2]); + const boxSizesNormalized = tfjs_esm_exports.div(boxSizes, inputSize); + const centersNormalized = tfjs_esm_exports.div(centers, inputSize); + const halfBoxSize = tfjs_esm_exports.div(boxSizesNormalized, 2); + const starts = tfjs_esm_exports.sub(centersNormalized, halfBoxSize); + const ends = tfjs_esm_exports.add(centersNormalized, halfBoxSize); + const startNormalized = tfjs_esm_exports.mul(starts, inputSize); + const endNormalized = tfjs_esm_exports.mul(ends, inputSize); + const concatAxis = 1; + return tfjs_esm_exports.concat2d([startNormalized, endNormalized], concatAxis); +} +var BlazeFaceModel = class { + constructor(model9, config3) { + this.model = model9; + this.anchorsData = generateAnchors(model9.inputs[0].shape[1]); + this.anchors = tfjs_esm_exports.tensor2d(this.anchorsData); + this.inputSize = model9.inputs[0].shape[2]; + this.config = config3; + } + async getBoundingBoxes(inputImage) { + if (!inputImage || inputImage.isDisposedInternal || inputImage.shape.length !== 4 || inputImage.shape[1] < 1 || inputImage.shape[2] < 1) + return null; + const [batch, boxes, scores] = tfjs_esm_exports.tidy(() => { + const resizedImage = inputImage.resizeBilinear([this.inputSize, this.inputSize]); + const normalizedImage = resizedImage.div(127.5).sub(0.5); + const res = this.model.execute(normalizedImage); + let batchOut; + if (Array.isArray(res)) { + const sorted = res.sort((a, b) => a.size - b.size); + const concat384 = tfjs_esm_exports.concat([sorted[0], sorted[2]], 2); + const concat512 = tfjs_esm_exports.concat([sorted[1], sorted[3]], 2); + const concat3 = tfjs_esm_exports.concat([concat512, concat384], 1); + batchOut = concat3.squeeze(0); + } else { + batchOut = res.squeeze(); + } + const boxesOut = decodeBounds(batchOut, this.anchors, [this.inputSize, this.inputSize]); + const logits = tfjs_esm_exports.slice(batchOut, [0, 0], [-1, 1]); + const scoresOut = tfjs_esm_exports.sigmoid(logits).squeeze().dataSync(); + return [batchOut, boxesOut, scoresOut]; + }); + const nmsTensor = await tfjs_esm_exports.image.nonMaxSuppressionAsync(boxes, scores, this.config.face.detector.maxDetected, this.config.face.detector.iouThreshold, this.config.face.detector.minConfidence); + const nms = nmsTensor.arraySync(); + nmsTensor.dispose(); + const annotatedBoxes = []; + for (let i = 0; i < nms.length; i++) { + const confidence = scores[nms[i]]; + if (confidence > this.config.face.detector.minConfidence) { + const boundingBox = tfjs_esm_exports.slice(boxes, [nms[i], 0], [1, -1]); + const localBox = createBox(boundingBox); + boundingBox.dispose(); + const anchor = this.anchorsData[nms[i]]; + const landmarks = tfjs_esm_exports.tidy(() => tfjs_esm_exports.slice(batch, [nms[i], keypointsCount - 1], [1, -1]).squeeze().reshape([keypointsCount, -1])); + annotatedBoxes.push({ box: localBox, landmarks, anchor, confidence }); + } + } + batch.dispose(); + boxes.dispose(); + return { + boxes: annotatedBoxes, + scaleFactor: [inputImage.shape[2] / this.inputSize, inputImage.shape[1] / this.inputSize] + }; + } +}; +async function load(config3) { + const model9 = await tfjs_esm_exports.loadGraphModel(join(config3.modelBasePath, config3.face.detector.modelPath), { fromTFHub: config3.face.detector.modelPath.includes("tfhub.dev") }); + const blazeFace = new BlazeFaceModel(model9, config3); + if (!model9 || !model9.modelUrl) + log("load model failed:", config3.face.detector.modelPath); + else if (config3.debug) + log("load model:", model9.modelUrl); + return blazeFace; +} + +// src/blazeface/coords.ts +var MESH_ANNOTATIONS = { + silhouette: [ + 10, + 338, + 297, + 332, + 284, + 251, + 389, + 356, + 454, + 323, + 361, + 288, + 397, + 365, + 379, + 378, + 400, + 377, + 152, + 148, + 176, + 149, + 150, + 136, + 172, + 58, + 132, + 93, + 234, + 127, + 162, + 21, + 54, + 103, + 67, + 109 + ], + lipsUpperOuter: [61, 185, 40, 39, 37, 0, 267, 269, 270, 409, 291], + lipsLowerOuter: [146, 91, 181, 84, 17, 314, 405, 321, 375, 291], + lipsUpperInner: [78, 191, 80, 81, 82, 13, 312, 311, 310, 415, 308], + lipsLowerInner: [78, 95, 88, 178, 87, 14, 317, 402, 318, 324, 308], + rightEyeUpper0: [246, 161, 160, 159, 158, 157, 173], + rightEyeLower0: [33, 7, 163, 144, 145, 153, 154, 155, 133], + rightEyeUpper1: [247, 30, 29, 27, 28, 56, 190], + rightEyeLower1: [130, 25, 110, 24, 23, 22, 26, 112, 243], + rightEyeUpper2: [113, 225, 224, 223, 222, 221, 189], + rightEyeLower2: [226, 31, 228, 229, 230, 231, 232, 233, 244], + rightEyeLower3: [143, 111, 117, 118, 119, 120, 121, 128, 245], + rightEyebrowUpper: [156, 70, 63, 105, 66, 107, 55, 193], + rightEyebrowLower: [35, 124, 46, 53, 52, 65], + rightEyeIris: [473, 474, 475, 476, 477], + leftEyeUpper0: [466, 388, 387, 386, 385, 384, 398], + leftEyeLower0: [263, 249, 390, 373, 374, 380, 381, 382, 362], + leftEyeUpper1: [467, 260, 259, 257, 258, 286, 414], + leftEyeLower1: [359, 255, 339, 254, 253, 252, 256, 341, 463], + leftEyeUpper2: [342, 445, 444, 443, 442, 441, 413], + leftEyeLower2: [446, 261, 448, 449, 450, 451, 452, 453, 464], + leftEyeLower3: [372, 340, 346, 347, 348, 349, 350, 357, 465], + leftEyebrowUpper: [383, 300, 293, 334, 296, 336, 285, 417], + leftEyebrowLower: [265, 353, 276, 283, 282, 295], + leftEyeIris: [468, 469, 470, 471, 472], + midwayBetweenEyes: [168], + noseTip: [1], + noseBottom: [2], + noseRightCorner: [98], + noseLeftCorner: [327], + rightCheek: [205], + leftCheek: [425] +}; +var MESH_TO_IRIS_INDICES_MAP = [ + { key: "EyeUpper0", indices: [9, 10, 11, 12, 13, 14, 15] }, + { key: "EyeUpper1", indices: [25, 26, 27, 28, 29, 30, 31] }, + { key: "EyeUpper2", indices: [41, 42, 43, 44, 45, 46, 47] }, + { key: "EyeLower0", indices: [0, 1, 2, 3, 4, 5, 6, 7, 8] }, + { key: "EyeLower1", indices: [16, 17, 18, 19, 20, 21, 22, 23, 24] }, + { key: "EyeLower2", indices: [32, 33, 34, 35, 36, 37, 38, 39, 40] }, + { key: "EyeLower3", indices: [54, 55, 56, 57, 58, 59, 60, 61, 62] } +]; +var UV468 = [ + [0.499976992607117, 0.652534008026123], + [0.500025987625122, 0.547487020492554], + [0.499974012374878, 0.602371990680695], + [0.482113003730774, 0.471979022026062], + [0.500150978565216, 0.527155995368958], + [0.499909996986389, 0.498252987861633], + [0.499523013830185, 0.40106201171875], + [0.289712011814117, 0.380764007568359], + [0.499954998493195, 0.312398016452789], + [0.499987006187439, 0.269918978214264], + [0.500023007392883, 0.107050001621246], + [0.500023007392883, 0.666234016418457], + [0.5000159740448, 0.679224014282227], + [0.500023007392883, 0.692348003387451], + [0.499976992607117, 0.695277988910675], + [0.499976992607117, 0.70593398809433], + [0.499976992607117, 0.719385027885437], + [0.499976992607117, 0.737019002437592], + [0.499967992305756, 0.781370997428894], + [0.499816000461578, 0.562981009483337], + [0.473773002624512, 0.573909997940063], + [0.104906998574734, 0.254140973091125], + [0.365929991006851, 0.409575998783112], + [0.338757991790771, 0.41302502155304], + [0.311120003461838, 0.409460008144379], + [0.274657994508743, 0.389131009578705], + [0.393361985683441, 0.403706014156342], + [0.345234006643295, 0.344011008739471], + [0.370094001293182, 0.346076011657715], + [0.319321990013123, 0.347265005111694], + [0.297903001308441, 0.353591024875641], + [0.24779200553894, 0.410809993743896], + [0.396889001131058, 0.842755019664764], + [0.280097991228104, 0.375599980354309], + [0.106310002505779, 0.399955987930298], + [0.2099249958992, 0.391353011131287], + [0.355807989835739, 0.534406006336212], + [0.471751004457474, 0.65040397644043], + [0.474155008792877, 0.680191993713379], + [0.439785003662109, 0.657229006290436], + [0.414617002010345, 0.66654098033905], + [0.450374007225037, 0.680860996246338], + [0.428770989179611, 0.682690978050232], + [0.374971002340317, 0.727805018424988], + [0.486716985702515, 0.547628998756409], + [0.485300987958908, 0.527395009994507], + [0.257764995098114, 0.314490020275116], + [0.401223003864288, 0.455172002315521], + [0.429818987846375, 0.548614978790283], + [0.421351999044418, 0.533740997314453], + [0.276895999908447, 0.532056987285614], + [0.483370006084442, 0.499586999416351], + [0.33721199631691, 0.282882988452911], + [0.296391993761063, 0.293242990970612], + [0.169294998049736, 0.193813979625702], + [0.447580009698868, 0.302609980106354], + [0.392390012741089, 0.353887975215912], + [0.354490011930466, 0.696784019470215], + [0.067304998636246, 0.730105042457581], + [0.442739009857178, 0.572826027870178], + [0.457098007202148, 0.584792017936707], + [0.381974011659622, 0.694710969924927], + [0.392388999462128, 0.694203019142151], + [0.277076005935669, 0.271932005882263], + [0.422551989555359, 0.563233017921448], + [0.385919004678726, 0.281364023685455], + [0.383103013038635, 0.255840003490448], + [0.331431001424789, 0.119714021682739], + [0.229923993349075, 0.232002973556519], + [0.364500999450684, 0.189113974571228], + [0.229622006416321, 0.299540996551514], + [0.173287004232407, 0.278747975826263], + [0.472878992557526, 0.666198015213013], + [0.446828007698059, 0.668527007102966], + [0.422762006521225, 0.673889994621277], + [0.445307999849319, 0.580065965652466], + [0.388103008270264, 0.693961024284363], + [0.403039008378983, 0.706539988517761], + [0.403629004955292, 0.693953037261963], + [0.460041999816895, 0.557139039039612], + [0.431158006191254, 0.692366003990173], + [0.452181994915009, 0.692366003990173], + [0.475387006998062, 0.692366003990173], + [0.465828001499176, 0.779190003871918], + [0.472328990697861, 0.736225962638855], + [0.473087012767792, 0.717857003211975], + [0.473122000694275, 0.704625964164734], + [0.473033010959625, 0.695277988910675], + [0.427942007780075, 0.695277988910675], + [0.426479011774063, 0.703539967536926], + [0.423162013292313, 0.711845993995667], + [0.4183090031147, 0.720062971115112], + [0.390094995498657, 0.639572978019714], + [0.013953999616206, 0.560034036636353], + [0.499913990497589, 0.58014702796936], + [0.413199990987778, 0.69539999961853], + [0.409626007080078, 0.701822996139526], + [0.468080013990402, 0.601534962654114], + [0.422728985548019, 0.585985004901886], + [0.463079988956451, 0.593783974647522], + [0.37211999297142, 0.47341400384903], + [0.334562003612518, 0.496073007583618], + [0.411671012639999, 0.546965003013611], + [0.242175996303558, 0.14767599105835], + [0.290776997804642, 0.201445996761322], + [0.327338010072708, 0.256527006626129], + [0.399509996175766, 0.748921036720276], + [0.441727995872498, 0.261676013469696], + [0.429764986038208, 0.187834024429321], + [0.412198007106781, 0.108901023864746], + [0.288955003023148, 0.398952007293701], + [0.218936994671822, 0.435410976409912], + [0.41278201341629, 0.398970007896423], + [0.257135003805161, 0.355440020561218], + [0.427684992551804, 0.437960982322693], + [0.448339998722076, 0.536936044692993], + [0.178560003638268, 0.45755398273468], + [0.247308000922203, 0.457193970680237], + [0.286267012357712, 0.467674970626831], + [0.332827985286713, 0.460712015628815], + [0.368755996227264, 0.447206974029541], + [0.398963987827301, 0.432654976844788], + [0.476410001516342, 0.405806005001068], + [0.189241006970406, 0.523923993110657], + [0.228962004184723, 0.348950982093811], + [0.490725994110107, 0.562400996685028], + [0.404670000076294, 0.485132992267609], + [0.019469000399113, 0.401564002037048], + [0.426243007183075, 0.420431017875671], + [0.396993011236191, 0.548797011375427], + [0.266469985246658, 0.376977026462555], + [0.439121007919312, 0.51895797252655], + [0.032313998788595, 0.644356966018677], + [0.419054001569748, 0.387154996395111], + [0.462783008813858, 0.505746960639954], + [0.238978996872902, 0.779744982719421], + [0.198220998048782, 0.831938028335571], + [0.107550002634525, 0.540755033493042], + [0.183610007166862, 0.740257024765015], + [0.134409993886948, 0.333683013916016], + [0.385764002799988, 0.883153975009918], + [0.490967005491257, 0.579378008842468], + [0.382384985685349, 0.508572995662689], + [0.174399003386497, 0.397670984268188], + [0.318785011768341, 0.39623498916626], + [0.343364000320435, 0.400596976280212], + [0.396100014448166, 0.710216999053955], + [0.187885001301765, 0.588537991046906], + [0.430987000465393, 0.944064974784851], + [0.318993002176285, 0.898285031318665], + [0.266247987747192, 0.869701027870178], + [0.500023007392883, 0.190576016902924], + [0.499976992607117, 0.954452991485596], + [0.366169989109039, 0.398822009563446], + [0.393207013607025, 0.39553701877594], + [0.410373002290726, 0.391080021858215], + [0.194993004202843, 0.342101991176605], + [0.388664990663528, 0.362284004688263], + [0.365961998701096, 0.355970978736877], + [0.343364000320435, 0.355356991291046], + [0.318785011768341, 0.35834002494812], + [0.301414996385574, 0.363156020641327], + [0.058132998645306, 0.319076001644135], + [0.301414996385574, 0.387449026107788], + [0.499987989664078, 0.618434011936188], + [0.415838003158569, 0.624195992946625], + [0.445681989192963, 0.566076993942261], + [0.465844005346298, 0.620640993118286], + [0.49992299079895, 0.351523995399475], + [0.288718998432159, 0.819945991039276], + [0.335278987884521, 0.852819979190826], + [0.440512001514435, 0.902418971061707], + [0.128294005990028, 0.791940987110138], + [0.408771991729736, 0.373893976211548], + [0.455606997013092, 0.451801002025604], + [0.499877005815506, 0.908990025520325], + [0.375436991453171, 0.924192011356354], + [0.11421000212431, 0.615022003650665], + [0.448662012815475, 0.695277988910675], + [0.4480200111866, 0.704632043838501], + [0.447111994028091, 0.715808033943176], + [0.444831997156143, 0.730794012546539], + [0.430011987686157, 0.766808986663818], + [0.406787008047104, 0.685672998428345], + [0.400738000869751, 0.681069016456604], + [0.392399996519089, 0.677703022956848], + [0.367855995893478, 0.663918972015381], + [0.247923001646996, 0.601333022117615], + [0.452769994735718, 0.420849978923798], + [0.43639200925827, 0.359887003898621], + [0.416164010763168, 0.368713974952698], + [0.413385987281799, 0.692366003990173], + [0.228018000721931, 0.683571994304657], + [0.468268007040024, 0.352671027183533], + [0.411361992359161, 0.804327011108398], + [0.499989002943039, 0.469825029373169], + [0.479153990745544, 0.442654013633728], + [0.499974012374878, 0.439637005329132], + [0.432112008333206, 0.493588984012604], + [0.499886006116867, 0.866917014122009], + [0.49991300702095, 0.821729004383087], + [0.456548988819122, 0.819200992584229], + [0.344549000263214, 0.745438992977142], + [0.37890899181366, 0.574010014533997], + [0.374292999505997, 0.780184984207153], + [0.319687992334366, 0.570737957954407], + [0.357154995203018, 0.604269981384277], + [0.295284003019333, 0.621580958366394], + [0.447750002145767, 0.862477004528046], + [0.410986006259918, 0.508723020553589], + [0.31395098567009, 0.775308012962341], + [0.354128003120422, 0.812552988529205], + [0.324548006057739, 0.703992962837219], + [0.189096003770828, 0.646299958229065], + [0.279776990413666, 0.71465802192688], + [0.1338230073452, 0.682700991630554], + [0.336768001317978, 0.644733011722565], + [0.429883986711502, 0.466521978378296], + [0.455527991056442, 0.548622965812683], + [0.437114000320435, 0.558896005153656], + [0.467287987470627, 0.529924988746643], + [0.414712011814117, 0.335219979286194], + [0.37704598903656, 0.322777986526489], + [0.344107985496521, 0.320150971412659], + [0.312875986099243, 0.32233202457428], + [0.283526003360748, 0.333190023899078], + [0.241245999932289, 0.382785975933075], + [0.102986000478268, 0.468762993812561], + [0.267612010240555, 0.424560010433197], + [0.297879010438919, 0.433175981044769], + [0.333433985710144, 0.433878004550934], + [0.366427004337311, 0.426115989685059], + [0.396012008190155, 0.416696012020111], + [0.420121014118195, 0.41022801399231], + [0.007561000064015, 0.480777025222778], + [0.432949006557465, 0.569517970085144], + [0.458638995885849, 0.479089021682739], + [0.473466008901596, 0.545744001865387], + [0.476087987422943, 0.563830018043518], + [0.468472003936768, 0.555056989192963], + [0.433990985155106, 0.582361996173859], + [0.483518004417419, 0.562983989715576], + [0.482482999563217, 0.57784903049469], + [0.42645001411438, 0.389798998832703], + [0.438998997211456, 0.39649498462677], + [0.450067013502121, 0.400434017181396], + [0.289712011814117, 0.368252992630005], + [0.276670008897781, 0.363372981548309], + [0.517862021923065, 0.471948027610779], + [0.710287988185883, 0.380764007568359], + [0.526226997375488, 0.573909997940063], + [0.895093023777008, 0.254140973091125], + [0.634069979190826, 0.409575998783112], + [0.661242008209229, 0.41302502155304], + [0.688880026340485, 0.409460008144379], + [0.725341975688934, 0.389131009578705], + [0.606630027294159, 0.40370500087738], + [0.654766023159027, 0.344011008739471], + [0.629905998706818, 0.346076011657715], + [0.680678009986877, 0.347265005111694], + [0.702096998691559, 0.353591024875641], + [0.75221198797226, 0.410804986953735], + [0.602918028831482, 0.842862963676453], + [0.719901978969574, 0.375599980354309], + [0.893692970275879, 0.399959981441498], + [0.790081977844238, 0.391354024410248], + [0.643998026847839, 0.534487962722778], + [0.528249025344849, 0.65040397644043], + [0.525849997997284, 0.680191040039062], + [0.560214996337891, 0.657229006290436], + [0.585384011268616, 0.66654098033905], + [0.549625992774963, 0.680860996246338], + [0.57122802734375, 0.682691991329193], + [0.624852001667023, 0.72809898853302], + [0.513050019741058, 0.547281980514526], + [0.51509702205658, 0.527251958847046], + [0.742246985435486, 0.314507007598877], + [0.598631024360657, 0.454979002475739], + [0.570338010787964, 0.548575043678284], + [0.578631997108459, 0.533622980117798], + [0.723087012767792, 0.532054007053375], + [0.516445994377136, 0.499638974666595], + [0.662801027297974, 0.282917976379395], + [0.70362401008606, 0.293271005153656], + [0.830704987049103, 0.193813979625702], + [0.552385985851288, 0.302568018436432], + [0.607609987258911, 0.353887975215912], + [0.645429015159607, 0.696707010269165], + [0.932694971561432, 0.730105042457581], + [0.557260990142822, 0.572826027870178], + [0.542901992797852, 0.584792017936707], + [0.6180260181427, 0.694710969924927], + [0.607590973377228, 0.694203019142151], + [0.722943007946014, 0.271963000297546], + [0.577413976192474, 0.563166975975037], + [0.614082992076874, 0.281386971473694], + [0.616907000541687, 0.255886018276215], + [0.668509006500244, 0.119913995265961], + [0.770092010498047, 0.232020974159241], + [0.635536015033722, 0.189248979091644], + [0.77039098739624, 0.299556016921997], + [0.826722025871277, 0.278755009174347], + [0.527121007442474, 0.666198015213013], + [0.553171992301941, 0.668527007102966], + [0.577238023281097, 0.673889994621277], + [0.554691970348358, 0.580065965652466], + [0.611896991729736, 0.693961024284363], + [0.59696102142334, 0.706539988517761], + [0.596370995044708, 0.693953037261963], + [0.539958000183105, 0.557139039039612], + [0.568841993808746, 0.692366003990173], + [0.547818005084991, 0.692366003990173], + [0.52461302280426, 0.692366003990173], + [0.534089982509613, 0.779141008853912], + [0.527670979499817, 0.736225962638855], + [0.526912987232208, 0.717857003211975], + [0.526877999305725, 0.704625964164734], + [0.526966989040375, 0.695277988910675], + [0.572058022022247, 0.695277988910675], + [0.573521018028259, 0.703539967536926], + [0.57683801651001, 0.711845993995667], + [0.581691026687622, 0.720062971115112], + [0.609944999217987, 0.639909982681274], + [0.986046016216278, 0.560034036636353], + [0.5867999792099, 0.69539999961853], + [0.590372025966644, 0.701822996139526], + [0.531915009021759, 0.601536989212036], + [0.577268004417419, 0.585934996604919], + [0.536915004253387, 0.593786001205444], + [0.627542972564697, 0.473352015018463], + [0.665585994720459, 0.495950996875763], + [0.588353991508484, 0.546862006187439], + [0.757824003696442, 0.14767599105835], + [0.709249973297119, 0.201507985591888], + [0.672684013843536, 0.256581008434296], + [0.600408971309662, 0.74900496006012], + [0.55826598405838, 0.261672019958496], + [0.570303976535797, 0.187870979309082], + [0.588165998458862, 0.109044015407562], + [0.711045026779175, 0.398952007293701], + [0.781069993972778, 0.435405015945435], + [0.587247014045715, 0.398931980133057], + [0.742869973182678, 0.355445981025696], + [0.572156012058258, 0.437651991844177], + [0.55186802148819, 0.536570012569427], + [0.821442008018494, 0.457556009292603], + [0.752701997756958, 0.457181990146637], + [0.71375697851181, 0.467626988887787], + [0.66711300611496, 0.460672974586487], + [0.631101012229919, 0.447153985500336], + [0.6008620262146, 0.432473003864288], + [0.523481011390686, 0.405627012252808], + [0.810747981071472, 0.523926019668579], + [0.771045982837677, 0.348959028720856], + [0.509127020835876, 0.562718033790588], + [0.595292985439301, 0.485023975372314], + [0.980530977249146, 0.401564002037048], + [0.573499977588654, 0.420000016689301], + [0.602994978427887, 0.548687994480133], + [0.733529984951019, 0.376977026462555], + [0.560611009597778, 0.519016981124878], + [0.967685997486115, 0.644356966018677], + [0.580985009670258, 0.387160003185272], + [0.537728011608124, 0.505385041236877], + [0.760966002941132, 0.779752969741821], + [0.801778972148895, 0.831938028335571], + [0.892440974712372, 0.54076099395752], + [0.816350996494293, 0.740260004997253], + [0.865594983100891, 0.333687007427216], + [0.614073991775513, 0.883246004581451], + [0.508952975273132, 0.579437971115112], + [0.617941975593567, 0.508316040039062], + [0.825608015060425, 0.397674977779388], + [0.681214988231659, 0.39623498916626], + [0.656635999679565, 0.400596976280212], + [0.603900015354156, 0.710216999053955], + [0.81208598613739, 0.588539004325867], + [0.56801301240921, 0.944564998149872], + [0.681007981300354, 0.898285031318665], + [0.733752012252808, 0.869701027870178], + [0.633830010890961, 0.398822009563446], + [0.606792986392975, 0.39553701877594], + [0.589659988880157, 0.391062021255493], + [0.805015981197357, 0.342108011245728], + [0.611334979534149, 0.362284004688263], + [0.634037971496582, 0.355970978736877], + [0.656635999679565, 0.355356991291046], + [0.681214988231659, 0.35834002494812], + [0.698584973812103, 0.363156020641327], + [0.941866993904114, 0.319076001644135], + [0.698584973812103, 0.387449026107788], + [0.584177017211914, 0.624107003211975], + [0.554318010807037, 0.566076993942261], + [0.534153997898102, 0.62064003944397], + [0.711217999458313, 0.819975018501282], + [0.664629995822906, 0.852871000766754], + [0.559099972248077, 0.902631998062134], + [0.871706008911133, 0.791940987110138], + [0.591234028339386, 0.373893976211548], + [0.544341027736664, 0.451583981513977], + [0.624562978744507, 0.924192011356354], + [0.88577002286911, 0.615028977394104], + [0.551338016986847, 0.695277988910675], + [0.551980018615723, 0.704632043838501], + [0.552887976169586, 0.715808033943176], + [0.555167973041534, 0.730794012546539], + [0.569944024085999, 0.767035007476807], + [0.593203008174896, 0.685675978660583], + [0.599261999130249, 0.681069016456604], + [0.607599973678589, 0.677703022956848], + [0.631937980651855, 0.663500010967255], + [0.752032995223999, 0.601315021514893], + [0.547226011753082, 0.420395016670227], + [0.563543975353241, 0.359827995300293], + [0.583841025829315, 0.368713974952698], + [0.586614012718201, 0.692366003990173], + [0.771915018558502, 0.683578014373779], + [0.531597018241882, 0.352482974529266], + [0.588370978832245, 0.804440975189209], + [0.52079701423645, 0.442565023899078], + [0.567984998226166, 0.493479013442993], + [0.543282985687256, 0.819254994392395], + [0.655317008495331, 0.745514988899231], + [0.621008992195129, 0.574018001556396], + [0.625559985637665, 0.78031200170517], + [0.680198013782501, 0.570719003677368], + [0.64276397228241, 0.604337990283966], + [0.704662978649139, 0.621529996395111], + [0.552012026309967, 0.862591981887817], + [0.589071989059448, 0.508637011051178], + [0.685944974422455, 0.775357007980347], + [0.645735025405884, 0.812640011310577], + [0.675342977046967, 0.703978002071381], + [0.810858011245728, 0.646304965019226], + [0.72012197971344, 0.714666962623596], + [0.866151988506317, 0.682704985141754], + [0.663187026977539, 0.644596993923187], + [0.570082008838654, 0.466325998306274], + [0.544561982154846, 0.548375964164734], + [0.562758982181549, 0.558784961700439], + [0.531987011432648, 0.530140042304993], + [0.585271000862122, 0.335177004337311], + [0.622952997684479, 0.32277899980545], + [0.655896008014679, 0.320163011550903], + [0.687132000923157, 0.322345972061157], + [0.716481983661652, 0.333200991153717], + [0.758756995201111, 0.382786989212036], + [0.897013008594513, 0.468769013881683], + [0.732392013072968, 0.424547016620636], + [0.70211398601532, 0.433162987232208], + [0.66652500629425, 0.433866024017334], + [0.633504986763, 0.426087975502014], + [0.603875994682312, 0.416586995124817], + [0.579657971858978, 0.409945011138916], + [0.992439985275269, 0.480777025222778], + [0.567192018032074, 0.569419980049133], + [0.54136598110199, 0.478899002075195], + [0.526564002037048, 0.546118021011353], + [0.523913025856018, 0.563830018043518], + [0.531529009342194, 0.555056989192963], + [0.566035985946655, 0.582329034805298], + [0.51631098985672, 0.563053965568542], + [0.5174720287323, 0.577877044677734], + [0.573594987392426, 0.389806985855103], + [0.560697972774506, 0.395331978797913], + [0.549755990505219, 0.399751007556915], + [0.710287988185883, 0.368252992630005], + [0.723330020904541, 0.363372981548309] +]; +var TRI468 = [ + 127, + 34, + 139, + 11, + 0, + 37, + 232, + 231, + 120, + 72, + 37, + 39, + 128, + 121, + 47, + 232, + 121, + 128, + 104, + 69, + 67, + 175, + 171, + 148, + 157, + 154, + 155, + 118, + 50, + 101, + 73, + 39, + 40, + 9, + 151, + 108, + 48, + 115, + 131, + 194, + 204, + 211, + 74, + 40, + 185, + 80, + 42, + 183, + 40, + 92, + 186, + 230, + 229, + 118, + 202, + 212, + 214, + 83, + 18, + 17, + 76, + 61, + 146, + 160, + 29, + 30, + 56, + 157, + 173, + 106, + 204, + 194, + 135, + 214, + 192, + 203, + 165, + 98, + 21, + 71, + 68, + 51, + 45, + 4, + 144, + 24, + 23, + 77, + 146, + 91, + 205, + 50, + 187, + 201, + 200, + 18, + 91, + 106, + 182, + 90, + 91, + 181, + 85, + 84, + 17, + 206, + 203, + 36, + 148, + 171, + 140, + 92, + 40, + 39, + 193, + 189, + 244, + 159, + 158, + 28, + 247, + 246, + 161, + 236, + 3, + 196, + 54, + 68, + 104, + 193, + 168, + 8, + 117, + 228, + 31, + 189, + 193, + 55, + 98, + 97, + 99, + 126, + 47, + 100, + 166, + 79, + 218, + 155, + 154, + 26, + 209, + 49, + 131, + 135, + 136, + 150, + 47, + 126, + 217, + 223, + 52, + 53, + 45, + 51, + 134, + 211, + 170, + 140, + 67, + 69, + 108, + 43, + 106, + 91, + 230, + 119, + 120, + 226, + 130, + 247, + 63, + 53, + 52, + 238, + 20, + 242, + 46, + 70, + 156, + 78, + 62, + 96, + 46, + 53, + 63, + 143, + 34, + 227, + 173, + 155, + 133, + 123, + 117, + 111, + 44, + 125, + 19, + 236, + 134, + 51, + 216, + 206, + 205, + 154, + 153, + 22, + 39, + 37, + 167, + 200, + 201, + 208, + 36, + 142, + 100, + 57, + 212, + 202, + 20, + 60, + 99, + 28, + 158, + 157, + 35, + 226, + 113, + 160, + 159, + 27, + 204, + 202, + 210, + 113, + 225, + 46, + 43, + 202, + 204, + 62, + 76, + 77, + 137, + 123, + 116, + 41, + 38, + 72, + 203, + 129, + 142, + 64, + 98, + 240, + 49, + 102, + 64, + 41, + 73, + 74, + 212, + 216, + 207, + 42, + 74, + 184, + 169, + 170, + 211, + 170, + 149, + 176, + 105, + 66, + 69, + 122, + 6, + 168, + 123, + 147, + 187, + 96, + 77, + 90, + 65, + 55, + 107, + 89, + 90, + 180, + 101, + 100, + 120, + 63, + 105, + 104, + 93, + 137, + 227, + 15, + 86, + 85, + 129, + 102, + 49, + 14, + 87, + 86, + 55, + 8, + 9, + 100, + 47, + 121, + 145, + 23, + 22, + 88, + 89, + 179, + 6, + 122, + 196, + 88, + 95, + 96, + 138, + 172, + 136, + 215, + 58, + 172, + 115, + 48, + 219, + 42, + 80, + 81, + 195, + 3, + 51, + 43, + 146, + 61, + 171, + 175, + 199, + 81, + 82, + 38, + 53, + 46, + 225, + 144, + 163, + 110, + 246, + 33, + 7, + 52, + 65, + 66, + 229, + 228, + 117, + 34, + 127, + 234, + 107, + 108, + 69, + 109, + 108, + 151, + 48, + 64, + 235, + 62, + 78, + 191, + 129, + 209, + 126, + 111, + 35, + 143, + 163, + 161, + 246, + 117, + 123, + 50, + 222, + 65, + 52, + 19, + 125, + 141, + 221, + 55, + 65, + 3, + 195, + 197, + 25, + 7, + 33, + 220, + 237, + 44, + 70, + 71, + 139, + 122, + 193, + 245, + 247, + 130, + 33, + 71, + 21, + 162, + 153, + 158, + 159, + 170, + 169, + 150, + 188, + 174, + 196, + 216, + 186, + 92, + 144, + 160, + 161, + 2, + 97, + 167, + 141, + 125, + 241, + 164, + 167, + 37, + 72, + 38, + 12, + 145, + 159, + 160, + 38, + 82, + 13, + 63, + 68, + 71, + 226, + 35, + 111, + 158, + 153, + 154, + 101, + 50, + 205, + 206, + 92, + 165, + 209, + 198, + 217, + 165, + 167, + 97, + 220, + 115, + 218, + 133, + 112, + 243, + 239, + 238, + 241, + 214, + 135, + 169, + 190, + 173, + 133, + 171, + 208, + 32, + 125, + 44, + 237, + 86, + 87, + 178, + 85, + 86, + 179, + 84, + 85, + 180, + 83, + 84, + 181, + 201, + 83, + 182, + 137, + 93, + 132, + 76, + 62, + 183, + 61, + 76, + 184, + 57, + 61, + 185, + 212, + 57, + 186, + 214, + 207, + 187, + 34, + 143, + 156, + 79, + 239, + 237, + 123, + 137, + 177, + 44, + 1, + 4, + 201, + 194, + 32, + 64, + 102, + 129, + 213, + 215, + 138, + 59, + 166, + 219, + 242, + 99, + 97, + 2, + 94, + 141, + 75, + 59, + 235, + 24, + 110, + 228, + 25, + 130, + 226, + 23, + 24, + 229, + 22, + 23, + 230, + 26, + 22, + 231, + 112, + 26, + 232, + 189, + 190, + 243, + 221, + 56, + 190, + 28, + 56, + 221, + 27, + 28, + 222, + 29, + 27, + 223, + 30, + 29, + 224, + 247, + 30, + 225, + 238, + 79, + 20, + 166, + 59, + 75, + 60, + 75, + 240, + 147, + 177, + 215, + 20, + 79, + 166, + 187, + 147, + 213, + 112, + 233, + 244, + 233, + 128, + 245, + 128, + 114, + 188, + 114, + 217, + 174, + 131, + 115, + 220, + 217, + 198, + 236, + 198, + 131, + 134, + 177, + 132, + 58, + 143, + 35, + 124, + 110, + 163, + 7, + 228, + 110, + 25, + 356, + 389, + 368, + 11, + 302, + 267, + 452, + 350, + 349, + 302, + 303, + 269, + 357, + 343, + 277, + 452, + 453, + 357, + 333, + 332, + 297, + 175, + 152, + 377, + 384, + 398, + 382, + 347, + 348, + 330, + 303, + 304, + 270, + 9, + 336, + 337, + 278, + 279, + 360, + 418, + 262, + 431, + 304, + 408, + 409, + 310, + 415, + 407, + 270, + 409, + 410, + 450, + 348, + 347, + 422, + 430, + 434, + 313, + 314, + 17, + 306, + 307, + 375, + 387, + 388, + 260, + 286, + 414, + 398, + 335, + 406, + 418, + 364, + 367, + 416, + 423, + 358, + 327, + 251, + 284, + 298, + 281, + 5, + 4, + 373, + 374, + 253, + 307, + 320, + 321, + 425, + 427, + 411, + 421, + 313, + 18, + 321, + 405, + 406, + 320, + 404, + 405, + 315, + 16, + 17, + 426, + 425, + 266, + 377, + 400, + 369, + 322, + 391, + 269, + 417, + 465, + 464, + 386, + 257, + 258, + 466, + 260, + 388, + 456, + 399, + 419, + 284, + 332, + 333, + 417, + 285, + 8, + 346, + 340, + 261, + 413, + 441, + 285, + 327, + 460, + 328, + 355, + 371, + 329, + 392, + 439, + 438, + 382, + 341, + 256, + 429, + 420, + 360, + 364, + 394, + 379, + 277, + 343, + 437, + 443, + 444, + 283, + 275, + 440, + 363, + 431, + 262, + 369, + 297, + 338, + 337, + 273, + 375, + 321, + 450, + 451, + 349, + 446, + 342, + 467, + 293, + 334, + 282, + 458, + 461, + 462, + 276, + 353, + 383, + 308, + 324, + 325, + 276, + 300, + 293, + 372, + 345, + 447, + 382, + 398, + 362, + 352, + 345, + 340, + 274, + 1, + 19, + 456, + 248, + 281, + 436, + 427, + 425, + 381, + 256, + 252, + 269, + 391, + 393, + 200, + 199, + 428, + 266, + 330, + 329, + 287, + 273, + 422, + 250, + 462, + 328, + 258, + 286, + 384, + 265, + 353, + 342, + 387, + 259, + 257, + 424, + 431, + 430, + 342, + 353, + 276, + 273, + 335, + 424, + 292, + 325, + 307, + 366, + 447, + 345, + 271, + 303, + 302, + 423, + 266, + 371, + 294, + 455, + 460, + 279, + 278, + 294, + 271, + 272, + 304, + 432, + 434, + 427, + 272, + 407, + 408, + 394, + 430, + 431, + 395, + 369, + 400, + 334, + 333, + 299, + 351, + 417, + 168, + 352, + 280, + 411, + 325, + 319, + 320, + 295, + 296, + 336, + 319, + 403, + 404, + 330, + 348, + 349, + 293, + 298, + 333, + 323, + 454, + 447, + 15, + 16, + 315, + 358, + 429, + 279, + 14, + 15, + 316, + 285, + 336, + 9, + 329, + 349, + 350, + 374, + 380, + 252, + 318, + 402, + 403, + 6, + 197, + 419, + 318, + 319, + 325, + 367, + 364, + 365, + 435, + 367, + 397, + 344, + 438, + 439, + 272, + 271, + 311, + 195, + 5, + 281, + 273, + 287, + 291, + 396, + 428, + 199, + 311, + 271, + 268, + 283, + 444, + 445, + 373, + 254, + 339, + 263, + 466, + 249, + 282, + 334, + 296, + 449, + 347, + 346, + 264, + 447, + 454, + 336, + 296, + 299, + 338, + 10, + 151, + 278, + 439, + 455, + 292, + 407, + 415, + 358, + 371, + 355, + 340, + 345, + 372, + 390, + 249, + 466, + 346, + 347, + 280, + 442, + 443, + 282, + 19, + 94, + 370, + 441, + 442, + 295, + 248, + 419, + 197, + 263, + 255, + 359, + 440, + 275, + 274, + 300, + 383, + 368, + 351, + 412, + 465, + 263, + 467, + 466, + 301, + 368, + 389, + 380, + 374, + 386, + 395, + 378, + 379, + 412, + 351, + 419, + 436, + 426, + 322, + 373, + 390, + 388, + 2, + 164, + 393, + 370, + 462, + 461, + 164, + 0, + 267, + 302, + 11, + 12, + 374, + 373, + 387, + 268, + 12, + 13, + 293, + 300, + 301, + 446, + 261, + 340, + 385, + 384, + 381, + 330, + 266, + 425, + 426, + 423, + 391, + 429, + 355, + 437, + 391, + 327, + 326, + 440, + 457, + 438, + 341, + 382, + 362, + 459, + 457, + 461, + 434, + 430, + 394, + 414, + 463, + 362, + 396, + 369, + 262, + 354, + 461, + 457, + 316, + 403, + 402, + 315, + 404, + 403, + 314, + 405, + 404, + 313, + 406, + 405, + 421, + 418, + 406, + 366, + 401, + 361, + 306, + 408, + 407, + 291, + 409, + 408, + 287, + 410, + 409, + 432, + 436, + 410, + 434, + 416, + 411, + 264, + 368, + 383, + 309, + 438, + 457, + 352, + 376, + 401, + 274, + 275, + 4, + 421, + 428, + 262, + 294, + 327, + 358, + 433, + 416, + 367, + 289, + 455, + 439, + 462, + 370, + 326, + 2, + 326, + 370, + 305, + 460, + 455, + 254, + 449, + 448, + 255, + 261, + 446, + 253, + 450, + 449, + 252, + 451, + 450, + 256, + 452, + 451, + 341, + 453, + 452, + 413, + 464, + 463, + 441, + 413, + 414, + 258, + 442, + 441, + 257, + 443, + 442, + 259, + 444, + 443, + 260, + 445, + 444, + 467, + 342, + 445, + 459, + 458, + 250, + 289, + 392, + 290, + 290, + 328, + 460, + 376, + 433, + 435, + 250, + 290, + 392, + 411, + 416, + 433, + 341, + 463, + 464, + 453, + 464, + 465, + 357, + 465, + 412, + 343, + 412, + 399, + 360, + 363, + 440, + 437, + 399, + 456, + 420, + 456, + 363, + 401, + 435, + 288, + 372, + 383, + 353, + 339, + 255, + 249, + 448, + 261, + 255, + 133, + 243, + 190, + 133, + 155, + 112, + 33, + 246, + 247, + 33, + 130, + 25, + 398, + 384, + 286, + 362, + 398, + 414, + 362, + 463, + 341, + 263, + 359, + 467, + 263, + 249, + 255, + 466, + 467, + 260, + 75, + 60, + 166, + 238, + 239, + 79, + 162, + 127, + 139, + 72, + 11, + 37, + 121, + 232, + 120, + 73, + 72, + 39, + 114, + 128, + 47, + 233, + 232, + 128, + 103, + 104, + 67, + 152, + 175, + 148, + 173, + 157, + 155, + 119, + 118, + 101, + 74, + 73, + 40, + 107, + 9, + 108, + 49, + 48, + 131, + 32, + 194, + 211, + 184, + 74, + 185, + 191, + 80, + 183, + 185, + 40, + 186, + 119, + 230, + 118, + 210, + 202, + 214, + 84, + 83, + 17, + 77, + 76, + 146, + 161, + 160, + 30, + 190, + 56, + 173, + 182, + 106, + 194, + 138, + 135, + 192, + 129, + 203, + 98, + 54, + 21, + 68, + 5, + 51, + 4, + 145, + 144, + 23, + 90, + 77, + 91, + 207, + 205, + 187, + 83, + 201, + 18, + 181, + 91, + 182, + 180, + 90, + 181, + 16, + 85, + 17, + 205, + 206, + 36, + 176, + 148, + 140, + 165, + 92, + 39, + 245, + 193, + 244, + 27, + 159, + 28, + 30, + 247, + 161, + 174, + 236, + 196, + 103, + 54, + 104, + 55, + 193, + 8, + 111, + 117, + 31, + 221, + 189, + 55, + 240, + 98, + 99, + 142, + 126, + 100, + 219, + 166, + 218, + 112, + 155, + 26, + 198, + 209, + 131, + 169, + 135, + 150, + 114, + 47, + 217, + 224, + 223, + 53, + 220, + 45, + 134, + 32, + 211, + 140, + 109, + 67, + 108, + 146, + 43, + 91, + 231, + 230, + 120, + 113, + 226, + 247, + 105, + 63, + 52, + 241, + 238, + 242, + 124, + 46, + 156, + 95, + 78, + 96, + 70, + 46, + 63, + 116, + 143, + 227, + 116, + 123, + 111, + 1, + 44, + 19, + 3, + 236, + 51, + 207, + 216, + 205, + 26, + 154, + 22, + 165, + 39, + 167, + 199, + 200, + 208, + 101, + 36, + 100, + 43, + 57, + 202, + 242, + 20, + 99, + 56, + 28, + 157, + 124, + 35, + 113, + 29, + 160, + 27, + 211, + 204, + 210, + 124, + 113, + 46, + 106, + 43, + 204, + 96, + 62, + 77, + 227, + 137, + 116, + 73, + 41, + 72, + 36, + 203, + 142, + 235, + 64, + 240, + 48, + 49, + 64, + 42, + 41, + 74, + 214, + 212, + 207, + 183, + 42, + 184, + 210, + 169, + 211, + 140, + 170, + 176, + 104, + 105, + 69, + 193, + 122, + 168, + 50, + 123, + 187, + 89, + 96, + 90, + 66, + 65, + 107, + 179, + 89, + 180, + 119, + 101, + 120, + 68, + 63, + 104, + 234, + 93, + 227, + 16, + 15, + 85, + 209, + 129, + 49, + 15, + 14, + 86, + 107, + 55, + 9, + 120, + 100, + 121, + 153, + 145, + 22, + 178, + 88, + 179, + 197, + 6, + 196, + 89, + 88, + 96, + 135, + 138, + 136, + 138, + 215, + 172, + 218, + 115, + 219, + 41, + 42, + 81, + 5, + 195, + 51, + 57, + 43, + 61, + 208, + 171, + 199, + 41, + 81, + 38, + 224, + 53, + 225, + 24, + 144, + 110, + 105, + 52, + 66, + 118, + 229, + 117, + 227, + 34, + 234, + 66, + 107, + 69, + 10, + 109, + 151, + 219, + 48, + 235, + 183, + 62, + 191, + 142, + 129, + 126, + 116, + 111, + 143, + 7, + 163, + 246, + 118, + 117, + 50, + 223, + 222, + 52, + 94, + 19, + 141, + 222, + 221, + 65, + 196, + 3, + 197, + 45, + 220, + 44, + 156, + 70, + 139, + 188, + 122, + 245, + 139, + 71, + 162, + 145, + 153, + 159, + 149, + 170, + 150, + 122, + 188, + 196, + 206, + 216, + 92, + 163, + 144, + 161, + 164, + 2, + 167, + 242, + 141, + 241, + 0, + 164, + 37, + 11, + 72, + 12, + 144, + 145, + 160, + 12, + 38, + 13, + 70, + 63, + 71, + 31, + 226, + 111, + 157, + 158, + 154, + 36, + 101, + 205, + 203, + 206, + 165, + 126, + 209, + 217, + 98, + 165, + 97, + 237, + 220, + 218, + 237, + 239, + 241, + 210, + 214, + 169, + 140, + 171, + 32, + 241, + 125, + 237, + 179, + 86, + 178, + 180, + 85, + 179, + 181, + 84, + 180, + 182, + 83, + 181, + 194, + 201, + 182, + 177, + 137, + 132, + 184, + 76, + 183, + 185, + 61, + 184, + 186, + 57, + 185, + 216, + 212, + 186, + 192, + 214, + 187, + 139, + 34, + 156, + 218, + 79, + 237, + 147, + 123, + 177, + 45, + 44, + 4, + 208, + 201, + 32, + 98, + 64, + 129, + 192, + 213, + 138, + 235, + 59, + 219, + 141, + 242, + 97, + 97, + 2, + 141, + 240, + 75, + 235, + 229, + 24, + 228, + 31, + 25, + 226, + 230, + 23, + 229, + 231, + 22, + 230, + 232, + 26, + 231, + 233, + 112, + 232, + 244, + 189, + 243, + 189, + 221, + 190, + 222, + 28, + 221, + 223, + 27, + 222, + 224, + 29, + 223, + 225, + 30, + 224, + 113, + 247, + 225, + 99, + 60, + 240, + 213, + 147, + 215, + 60, + 20, + 166, + 192, + 187, + 213, + 243, + 112, + 244, + 244, + 233, + 245, + 245, + 128, + 188, + 188, + 114, + 174, + 134, + 131, + 220, + 174, + 217, + 236, + 236, + 198, + 134, + 215, + 177, + 58, + 156, + 143, + 124, + 25, + 110, + 7, + 31, + 228, + 25, + 264, + 356, + 368, + 0, + 11, + 267, + 451, + 452, + 349, + 267, + 302, + 269, + 350, + 357, + 277, + 350, + 452, + 357, + 299, + 333, + 297, + 396, + 175, + 377, + 381, + 384, + 382, + 280, + 347, + 330, + 269, + 303, + 270, + 151, + 9, + 337, + 344, + 278, + 360, + 424, + 418, + 431, + 270, + 304, + 409, + 272, + 310, + 407, + 322, + 270, + 410, + 449, + 450, + 347, + 432, + 422, + 434, + 18, + 313, + 17, + 291, + 306, + 375, + 259, + 387, + 260, + 424, + 335, + 418, + 434, + 364, + 416, + 391, + 423, + 327, + 301, + 251, + 298, + 275, + 281, + 4, + 254, + 373, + 253, + 375, + 307, + 321, + 280, + 425, + 411, + 200, + 421, + 18, + 335, + 321, + 406, + 321, + 320, + 405, + 314, + 315, + 17, + 423, + 426, + 266, + 396, + 377, + 369, + 270, + 322, + 269, + 413, + 417, + 464, + 385, + 386, + 258, + 248, + 456, + 419, + 298, + 284, + 333, + 168, + 417, + 8, + 448, + 346, + 261, + 417, + 413, + 285, + 326, + 327, + 328, + 277, + 355, + 329, + 309, + 392, + 438, + 381, + 382, + 256, + 279, + 429, + 360, + 365, + 364, + 379, + 355, + 277, + 437, + 282, + 443, + 283, + 281, + 275, + 363, + 395, + 431, + 369, + 299, + 297, + 337, + 335, + 273, + 321, + 348, + 450, + 349, + 359, + 446, + 467, + 283, + 293, + 282, + 250, + 458, + 462, + 300, + 276, + 383, + 292, + 308, + 325, + 283, + 276, + 293, + 264, + 372, + 447, + 346, + 352, + 340, + 354, + 274, + 19, + 363, + 456, + 281, + 426, + 436, + 425, + 380, + 381, + 252, + 267, + 269, + 393, + 421, + 200, + 428, + 371, + 266, + 329, + 432, + 287, + 422, + 290, + 250, + 328, + 385, + 258, + 384, + 446, + 265, + 342, + 386, + 387, + 257, + 422, + 424, + 430, + 445, + 342, + 276, + 422, + 273, + 424, + 306, + 292, + 307, + 352, + 366, + 345, + 268, + 271, + 302, + 358, + 423, + 371, + 327, + 294, + 460, + 331, + 279, + 294, + 303, + 271, + 304, + 436, + 432, + 427, + 304, + 272, + 408, + 395, + 394, + 431, + 378, + 395, + 400, + 296, + 334, + 299, + 6, + 351, + 168, + 376, + 352, + 411, + 307, + 325, + 320, + 285, + 295, + 336, + 320, + 319, + 404, + 329, + 330, + 349, + 334, + 293, + 333, + 366, + 323, + 447, + 316, + 15, + 315, + 331, + 358, + 279, + 317, + 14, + 316, + 8, + 285, + 9, + 277, + 329, + 350, + 253, + 374, + 252, + 319, + 318, + 403, + 351, + 6, + 419, + 324, + 318, + 325, + 397, + 367, + 365, + 288, + 435, + 397, + 278, + 344, + 439, + 310, + 272, + 311, + 248, + 195, + 281, + 375, + 273, + 291, + 175, + 396, + 199, + 312, + 311, + 268, + 276, + 283, + 445, + 390, + 373, + 339, + 295, + 282, + 296, + 448, + 449, + 346, + 356, + 264, + 454, + 337, + 336, + 299, + 337, + 338, + 151, + 294, + 278, + 455, + 308, + 292, + 415, + 429, + 358, + 355, + 265, + 340, + 372, + 388, + 390, + 466, + 352, + 346, + 280, + 295, + 442, + 282, + 354, + 19, + 370, + 285, + 441, + 295, + 195, + 248, + 197, + 457, + 440, + 274, + 301, + 300, + 368, + 417, + 351, + 465, + 251, + 301, + 389, + 385, + 380, + 386, + 394, + 395, + 379, + 399, + 412, + 419, + 410, + 436, + 322, + 387, + 373, + 388, + 326, + 2, + 393, + 354, + 370, + 461, + 393, + 164, + 267, + 268, + 302, + 12, + 386, + 374, + 387, + 312, + 268, + 13, + 298, + 293, + 301, + 265, + 446, + 340, + 380, + 385, + 381, + 280, + 330, + 425, + 322, + 426, + 391, + 420, + 429, + 437, + 393, + 391, + 326, + 344, + 440, + 438, + 458, + 459, + 461, + 364, + 434, + 394, + 428, + 396, + 262, + 274, + 354, + 457, + 317, + 316, + 402, + 316, + 315, + 403, + 315, + 314, + 404, + 314, + 313, + 405, + 313, + 421, + 406, + 323, + 366, + 361, + 292, + 306, + 407, + 306, + 291, + 408, + 291, + 287, + 409, + 287, + 432, + 410, + 427, + 434, + 411, + 372, + 264, + 383, + 459, + 309, + 457, + 366, + 352, + 401, + 1, + 274, + 4, + 418, + 421, + 262, + 331, + 294, + 358, + 435, + 433, + 367, + 392, + 289, + 439, + 328, + 462, + 326, + 94, + 2, + 370, + 289, + 305, + 455, + 339, + 254, + 448, + 359, + 255, + 446, + 254, + 253, + 449, + 253, + 252, + 450, + 252, + 256, + 451, + 256, + 341, + 452, + 414, + 413, + 463, + 286, + 441, + 414, + 286, + 258, + 441, + 258, + 257, + 442, + 257, + 259, + 443, + 259, + 260, + 444, + 260, + 467, + 445, + 309, + 459, + 250, + 305, + 289, + 290, + 305, + 290, + 460, + 401, + 376, + 435, + 309, + 250, + 392, + 376, + 411, + 433, + 453, + 341, + 464, + 357, + 453, + 465, + 343, + 357, + 412, + 437, + 343, + 399, + 344, + 360, + 440, + 420, + 437, + 456, + 360, + 420, + 363, + 361, + 401, + 288, + 265, + 372, + 353, + 390, + 339, + 249, + 339, + 448, + 255 +]; +var VTX68 = [ + 127, + 234, + 132, + 58, + 172, + 150, + 149, + 148, + 152, + 377, + 378, + 379, + 397, + 288, + 361, + 454, + 356, + 70, + 63, + 105, + 66, + 107, + 336, + 296, + 334, + 293, + 300, + 168, + 6, + 195, + 4, + 98, + 97, + 2, + 326, + 327, + 33, + 160, + 158, + 133, + 153, + 144, + 362, + 385, + 387, + 263, + 373, + 380, + 57, + 40, + 37, + 0, + 267, + 270, + 287, + 321, + 314, + 17, + 84, + 91, + 78, + 81, + 13, + 311, + 308, + 402, + 14, + 178 +]; +var VTX33 = [33, 133, 362, 263, 1, 62, 308, 159, 145, 386, 374, 6, 102, 331, 2, 13, 14, 70, 105, 107, 336, 334, 300, 54, 10, 284, 50, 280, 234, 454, 58, 288, 152]; +var VTX7 = [33, 133, 362, 263, 1, 78, 308]; +var UV68 = VTX68.map((x) => UV468[x]); +var UV33 = VTX33.map((x) => UV468[x]); +var UV7 = VTX7.map((x) => UV468[x]); + +// src/blazeface/facepipeline.ts +var leftOutline = MESH_ANNOTATIONS["leftEyeLower0"]; +var rightOutline = MESH_ANNOTATIONS["rightEyeLower0"]; +var eyeLandmarks = { + leftBounds: [leftOutline[0], leftOutline[leftOutline.length - 1]], + rightBounds: [rightOutline[0], rightOutline[rightOutline.length - 1]] +}; +var meshLandmarks = { + count: 468, + mouth: 13, + symmetryLine: [13, MESH_ANNOTATIONS["midwayBetweenEyes"][0]] +}; +var blazeFaceLandmarks = { + leftEye: 0, + rightEye: 1, + nose: 2, + mouth: 3, + leftEar: 4, + rightEar: 5, + symmetryLine: [3, 2] +}; +var irisLandmarks = { + upperCenter: 3, + lowerCenter: 4, + index: 71, + numCoordinates: 76 +}; +function replaceRawCoordinates(rawCoords, newCoords, prefix, keys) { + for (let i = 0; i < MESH_TO_IRIS_INDICES_MAP.length; i++) { + const { key, indices } = MESH_TO_IRIS_INDICES_MAP[i]; + const originalIndices = MESH_ANNOTATIONS[`${prefix}${key}`]; + if (!keys || keys.includes(key)) { + for (let j = 0; j < indices.length; j++) { + const index = indices[j]; + rawCoords[originalIndices[j]] = [ + newCoords[index][0], + newCoords[index][1], + (newCoords[index][2] + rawCoords[originalIndices[j]][2]) / 2 + ]; + } + } + } +} +var Pipeline = class { + constructor(boundingBoxDetector, meshDetector, irisModel) { + var _a, _b; + this.storedBoxes = []; + this.boundingBoxDetector = boundingBoxDetector; + this.meshDetector = meshDetector; + this.irisModel = irisModel; + this.boxSize = ((_a = boundingBoxDetector == null ? void 0 : boundingBoxDetector.model) == null ? void 0 : _a.inputs[0].shape[2]) || 0; + this.meshSize = (meshDetector == null ? void 0 : meshDetector.inputs[0].shape[2]) || ((_b = boundingBoxDetector == null ? void 0 : boundingBoxDetector.model) == null ? void 0 : _b.inputs[0].shape[2]); + this.irisSize = (irisModel == null ? void 0 : irisModel.inputs[0].shape[1]) || 0; + this.irisEnlarge = 2.3; + this.skipped = 0; + this.detectedFaces = 0; + } + transformRawCoords(rawCoords, box6, angle, rotationMatrix) { + const boxSize = getBoxSize({ startPoint: box6.startPoint, endPoint: box6.endPoint }); + const coordsScaled = rawCoords.map((coord) => [ + boxSize[0] / this.meshSize * (coord[0] - this.meshSize / 2), + boxSize[1] / this.meshSize * (coord[1] - this.meshSize / 2), + coord[2] + ]); + const coordsRotationMatrix = angle !== 0 ? buildRotationMatrix(angle, [0, 0]) : IDENTITY_MATRIX; + const coordsRotated = angle !== 0 ? coordsScaled.map((coord) => [...rotatePoint(coord, coordsRotationMatrix), coord[2]]) : coordsScaled; + const inverseRotationMatrix = angle !== 0 ? invertTransformMatrix(rotationMatrix) : IDENTITY_MATRIX; + const boxCenter = [...getBoxCenter({ startPoint: box6.startPoint, endPoint: box6.endPoint }), 1]; + return coordsRotated.map((coord) => [ + Math.round(coord[0] + dot(boxCenter, inverseRotationMatrix[0])), + Math.round(coord[1] + dot(boxCenter, inverseRotationMatrix[1])), + Math.round(coord[2]) + ]); + } + getLeftToRightEyeDepthDifference(rawCoords) { + const leftEyeZ = rawCoords[eyeLandmarks.leftBounds[0]][2]; + const rightEyeZ = rawCoords[eyeLandmarks.rightBounds[0]][2]; + return leftEyeZ - rightEyeZ; + } + getEyeBox(rawCoords, face5, eyeInnerCornerIndex, eyeOuterCornerIndex, flip = false) { + const box6 = squarifyBox(enlargeBox(calculateLandmarksBoundingBox([rawCoords[eyeInnerCornerIndex], rawCoords[eyeOuterCornerIndex]]), this.irisEnlarge)); + const boxSize = getBoxSize(box6); + let crop = tfjs_esm_exports.image.cropAndResize(face5, [[ + box6.startPoint[1] / this.meshSize, + box6.startPoint[0] / this.meshSize, + box6.endPoint[1] / this.meshSize, + box6.endPoint[0] / this.meshSize + ]], [0], [this.irisSize, this.irisSize]); + if (flip && tfjs_esm_exports.ENV.flags.IS_BROWSER) { + crop = tfjs_esm_exports.image.flipLeftRight(crop); + } + return { box: box6, boxSize, crop }; + } + getEyeCoords(eyeData, eyeBox, eyeBoxSize, flip = false) { + const eyeRawCoords = []; + for (let i = 0; i < irisLandmarks.numCoordinates; i++) { + const x = eyeData[i * 3]; + const y = eyeData[i * 3 + 1]; + const z = eyeData[i * 3 + 2]; + eyeRawCoords.push([ + (flip ? 1 - x / this.irisSize : x / this.irisSize) * eyeBoxSize[0] + eyeBox.startPoint[0], + y / this.irisSize * eyeBoxSize[1] + eyeBox.startPoint[1], + z + ]); + } + return { rawCoords: eyeRawCoords, iris: eyeRawCoords.slice(irisLandmarks.index) }; + } + getAdjustedIrisCoords(rawCoords, irisCoords, direction) { + const upperCenterZ = rawCoords[MESH_ANNOTATIONS[`${direction}EyeUpper0`][irisLandmarks.upperCenter]][2]; + const lowerCenterZ = rawCoords[MESH_ANNOTATIONS[`${direction}EyeLower0`][irisLandmarks.lowerCenter]][2]; + const averageZ = (upperCenterZ + lowerCenterZ) / 2; + return irisCoords.map((coord, i) => { + let z = averageZ; + if (i === 2) { + z = upperCenterZ; + } else if (i === 4) { + z = lowerCenterZ; + } + return [coord[0], coord[1], z]; + }); + } + async predict(input, config3) { + let useFreshBox = false; + let detector; + if (this.skipped === 0 || this.skipped > config3.face.detector.skipFrames || !config3.face.mesh.enabled || !config3.skipFrame) { + detector = await this.boundingBoxDetector.getBoundingBoxes(input); + this.skipped = 0; + } + if (config3.skipFrame) + this.skipped++; + if (!config3.skipFrame || detector && detector.boxes && (!config3.face.mesh.enabled || detector.boxes.length !== this.detectedFaces && this.detectedFaces !== config3.face.detector.maxDetected)) { + this.storedBoxes = []; + this.detectedFaces = 0; + for (const possible of detector.boxes) { + this.storedBoxes.push({ startPoint: possible.box.startPoint.dataSync(), endPoint: possible.box.endPoint.dataSync(), landmarks: possible.landmarks.arraySync(), confidence: possible.confidence }); + } + if (this.storedBoxes.length > 0) + useFreshBox = true; + } + if (useFreshBox) { + if (!detector || !detector.boxes || detector.boxes.length === 0) { + this.storedBoxes = []; + this.detectedFaces = 0; + return null; + } + for (let i = 0; i < this.storedBoxes.length; i++) { + const scaledBox = scaleBoxCoordinates({ startPoint: this.storedBoxes[i].startPoint, endPoint: this.storedBoxes[i].endPoint }, detector.scaleFactor); + const enlargedBox = enlargeBox(scaledBox); + const squarifiedBox = squarifyBox(enlargedBox); + const landmarks = this.storedBoxes[i].landmarks; + const confidence = this.storedBoxes[i].confidence; + this.storedBoxes[i] = { ...squarifiedBox, confidence, landmarks }; + } + } + if (detector && detector.boxes) { + detector.boxes.forEach((prediction) => { + prediction.box.startPoint.dispose(); + prediction.box.endPoint.dispose(); + prediction.landmarks.dispose(); + }); + } + const results = tfjs_esm_exports.tidy(() => this.storedBoxes.map((box6, i) => { + let face5; + let angle = 0; + let rotationMatrix; + if (config3.face.detector.rotation && config3.face.mesh.enabled && tfjs_esm_exports.ENV.flags.IS_BROWSER) { + const [indexOfMouth, indexOfForehead] = box6.landmarks.length >= meshLandmarks.count ? meshLandmarks.symmetryLine : blazeFaceLandmarks.symmetryLine; + angle = computeRotation(box6.landmarks[indexOfMouth], box6.landmarks[indexOfForehead]); + const faceCenter = getBoxCenter({ startPoint: box6.startPoint, endPoint: box6.endPoint }); + const faceCenterNormalized = [faceCenter[0] / input.shape[2], faceCenter[1] / input.shape[1]]; + const rotatedImage = tfjs_esm_exports.image.rotateWithOffset(input, angle, 0, faceCenterNormalized); + rotationMatrix = buildRotationMatrix(-angle, faceCenter); + if (config3.face.mesh.enabled) + face5 = cutBoxFromImageAndResize({ startPoint: box6.startPoint, endPoint: box6.endPoint }, rotatedImage, [this.meshSize, this.meshSize]).div(255); + else + face5 = cutBoxFromImageAndResize({ startPoint: box6.startPoint, endPoint: box6.endPoint }, rotatedImage, [this.boxSize, this.boxSize]).div(255); + } else { + rotationMatrix = IDENTITY_MATRIX; + const clonedImage = input.clone(); + if (config3.face.mesh.enabled) + face5 = cutBoxFromImageAndResize({ startPoint: box6.startPoint, endPoint: box6.endPoint }, clonedImage, [this.meshSize, this.meshSize]).div(255); + else + face5 = cutBoxFromImageAndResize({ startPoint: box6.startPoint, endPoint: box6.endPoint }, clonedImage, [this.boxSize, this.boxSize]).div(255); + } + if (!config3.face.mesh.enabled) { + const prediction2 = { + mesh: [], + box: box6, + faceConfidence: null, + boxConfidence: box6.confidence, + confidence: box6.confidence, + image: face5 + }; + return prediction2; + } + const [, confidence, contourCoords] = this.meshDetector.execute(face5); + const faceConfidence = confidence.dataSync()[0]; + if (faceConfidence < config3.face.detector.minConfidence) { + this.storedBoxes[i].confidence = faceConfidence; + return null; + } + const coordsReshaped = tfjs_esm_exports.reshape(contourCoords, [-1, 3]); + let rawCoords = coordsReshaped.arraySync(); + if (config3.face.iris.enabled) { + const { box: leftEyeBox, boxSize: leftEyeBoxSize, crop: leftEyeCrop } = this.getEyeBox(rawCoords, face5, eyeLandmarks.leftBounds[0], eyeLandmarks.leftBounds[1], true); + const { box: rightEyeBox, boxSize: rightEyeBoxSize, crop: rightEyeCrop } = this.getEyeBox(rawCoords, face5, eyeLandmarks.rightBounds[0], eyeLandmarks.rightBounds[1]); + const eyePredictions = this.irisModel.predict(tfjs_esm_exports.concat([leftEyeCrop, rightEyeCrop])); + const eyePredictionsData = eyePredictions.dataSync(); + const leftEyeData = eyePredictionsData.slice(0, irisLandmarks.numCoordinates * 3); + const { rawCoords: leftEyeRawCoords, iris: leftIrisRawCoords } = this.getEyeCoords(leftEyeData, leftEyeBox, leftEyeBoxSize, true); + const rightEyeData = eyePredictionsData.slice(irisLandmarks.numCoordinates * 3); + const { rawCoords: rightEyeRawCoords, iris: rightIrisRawCoords } = this.getEyeCoords(rightEyeData, rightEyeBox, rightEyeBoxSize); + const leftToRightEyeDepthDifference = this.getLeftToRightEyeDepthDifference(rawCoords); + if (Math.abs(leftToRightEyeDepthDifference) < 30) { + replaceRawCoordinates(rawCoords, leftEyeRawCoords, "left", null); + replaceRawCoordinates(rawCoords, rightEyeRawCoords, "right", null); + } else if (leftToRightEyeDepthDifference < 1) { + replaceRawCoordinates(rawCoords, leftEyeRawCoords, "left", ["EyeUpper0", "EyeLower0"]); + } else { + replaceRawCoordinates(rawCoords, rightEyeRawCoords, "right", ["EyeUpper0", "EyeLower0"]); + } + const adjustedLeftIrisCoords = this.getAdjustedIrisCoords(rawCoords, leftIrisRawCoords, "left"); + const adjustedRightIrisCoords = this.getAdjustedIrisCoords(rawCoords, rightIrisRawCoords, "right"); + rawCoords = rawCoords.concat(adjustedLeftIrisCoords).concat(adjustedRightIrisCoords); + } + const mesh = this.transformRawCoords(rawCoords, box6, angle, rotationMatrix); + const storeConfidence = box6.confidence; + box6 = enlargeBox(calculateLandmarksBoundingBox(mesh), 1.5); + box6.confidence = storeConfidence; + if (config3.face.detector.rotation && config3.face.mesh.enabled && config3.face.description.enabled && tfjs_esm_exports.ENV.flags.IS_BROWSER) { + const [indexOfMouth, indexOfForehead] = box6.landmarks.length >= meshLandmarks.count ? meshLandmarks.symmetryLine : blazeFaceLandmarks.symmetryLine; + angle = computeRotation(box6.landmarks[indexOfMouth], box6.landmarks[indexOfForehead]); + const faceCenter = getBoxCenter({ startPoint: box6.startPoint, endPoint: box6.endPoint }); + const faceCenterNormalized = [faceCenter[0] / input.shape[2], faceCenter[1] / input.shape[1]]; + const rotatedImage = tfjs_esm_exports.image.rotateWithOffset(input.toFloat(), angle, 0, faceCenterNormalized); + rotationMatrix = buildRotationMatrix(-angle, faceCenter); + face5 = cutBoxFromImageAndResize({ startPoint: box6.startPoint, endPoint: box6.endPoint }, rotatedImage, [this.meshSize, this.meshSize]).div(255); + } + const prediction = { + mesh, + box: box6, + faceConfidence, + boxConfidence: box6.confidence, + image: face5 + }; + this.storedBoxes[i] = { ...squarifyBox(box6), confidence: box6.confidence, faceConfidence }; + return prediction; + })); + if (config3.face.mesh.enabled) + this.storedBoxes = this.storedBoxes.filter((a) => a.confidence > config3.face.detector.minConfidence); + this.detectedFaces = results.length; + return results; + } +}; + +// src/blazeface/facemesh.ts +var faceModels = [null, null, null]; +var facePipeline; +async function predict(input, config3) { + const predictions = await facePipeline.predict(input, config3); + const results = []; + let id = 0; + for (const prediction of predictions || []) { + if (!prediction || prediction.isDisposedInternal) + continue; + const meshRaw = prediction.mesh.map((pt) => [ + pt[0] / input.shape[2], + pt[1] / input.shape[1], + pt[2] / facePipeline.meshSize + ]); + const annotations3 = {}; + if (prediction.mesh && prediction.mesh.length > 0) { + for (const key of Object.keys(MESH_ANNOTATIONS)) + annotations3[key] = MESH_ANNOTATIONS[key].map((index) => prediction.mesh[index]); + } + const clampedBox = prediction.box ? [ + Math.trunc(Math.max(0, prediction.box.startPoint[0])), + Math.trunc(Math.max(0, prediction.box.startPoint[1])), + Math.trunc(Math.min(input.shape[2], prediction.box.endPoint[0]) - Math.max(0, prediction.box.startPoint[0])), + Math.trunc(Math.min(input.shape[1], prediction.box.endPoint[1]) - Math.max(0, prediction.box.startPoint[1])) + ] : [0, 0, 0, 0]; + const boxRaw3 = prediction.box ? [ + prediction.box.startPoint[0] / input.shape[2], + prediction.box.startPoint[1] / input.shape[1], + (prediction.box.endPoint[0] - prediction.box.startPoint[0]) / input.shape[2], + (prediction.box.endPoint[1] - prediction.box.startPoint[1]) / input.shape[1] + ] : [0, 0, 0, 0]; + results.push({ + id: id++, + score: Math.round(100 * prediction.faceConfidence || 100 * prediction.boxConfidence || 0) / 100, + boxScore: Math.round(100 * prediction.boxConfidence) / 100, + faceScore: Math.round(100 * prediction.faceConfidence) / 100, + box: clampedBox, + boxRaw: boxRaw3, + mesh: prediction.mesh, + meshRaw, + annotations: annotations3, + image: prediction.image, + tensor: prediction.image + }); + if (prediction.coords) + prediction.coords.dispose(); + } + return results; +} +async function load2(config3) { + if (!faceModels[0] && config3.face.enabled || !faceModels[1] && config3.face.mesh.enabled || !faceModels[2] && config3.face.iris.enabled) { + faceModels = await Promise.all([ + !faceModels[0] && config3.face.enabled ? load(config3) : null, + !faceModels[1] && config3.face.mesh.enabled ? tfjs_esm_exports.loadGraphModel(join(config3.modelBasePath, config3.face.mesh.modelPath), { fromTFHub: config3.face.mesh.modelPath.includes("tfhub.dev") }) : null, + !faceModels[2] && config3.face.iris.enabled ? tfjs_esm_exports.loadGraphModel(join(config3.modelBasePath, config3.face.iris.modelPath), { fromTFHub: config3.face.iris.modelPath.includes("tfhub.dev") }) : null + ]); + if (config3.face.mesh.enabled) { + if (!faceModels[1] || !faceModels[1]["modelUrl"]) + log("load model failed:", config3.face.mesh.modelPath); + else if (config3.debug) + log("load model:", faceModels[1]["modelUrl"]); + } + if (config3.face.iris.enabled) { + if (!faceModels[2] || !faceModels[2]["modelUrl"]) + log("load model failed:", config3.face.iris.modelPath); + else if (config3.debug) + log("load model:", faceModels[2]["modelUrl"]); + } + } else if (config3.debug) { + if (faceModels[0]) + log("cached model:", faceModels[0].model["modelUrl"]); + if (faceModels[1]) + log("cached model:", faceModels[1]["modelUrl"]); + if (faceModels[2]) + log("cached model:", faceModels[2]["modelUrl"]); + } + facePipeline = new Pipeline(faceModels[0], faceModels[1], faceModels[2]); + return faceModels; +} +var triangulation = TRI468; +var uvmap = UV468; + +// src/emotion/emotion.ts +var emotion_exports = {}; +__export(emotion_exports, { + load: () => load3, + predict: () => predict2 +}); +var annotations = ["angry", "disgust", "fear", "happy", "sad", "surprise", "neutral"]; +var model; +var last = []; +var lastCount = 0; +var skipped = Number.MAX_SAFE_INTEGER; +var rgb = [0.2989, 0.587, 0.114]; +async function load3(config3) { + if (!model) { + model = await tfjs_esm_exports.loadGraphModel(join(config3.modelBasePath, config3.face.emotion.modelPath)); + if (!model || !model.modelUrl) + log("load model failed:", config3.face.emotion.modelPath); + else if (config3.debug) + log("load model:", model.modelUrl); + } else if (config3.debug) + log("cached model:", model.modelUrl); + return model; +} +async function predict2(image15, config3, idx, count2) { + if (!model) + return null; + if (skipped < config3.face.emotion.skipFrames && config3.skipFrame && lastCount === count2 && last[idx] && last[idx].length > 0) { + skipped++; + return last[idx]; + } + skipped = 0; + return new Promise(async (resolve) => { + const resize = tfjs_esm_exports.image.resizeBilinear(image15, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false); + const [red, green, blue] = tfjs_esm_exports.split(resize, 3, 3); + resize.dispose(); + const redNorm = tfjs_esm_exports.mul(red, rgb[0]); + const greenNorm = tfjs_esm_exports.mul(green, rgb[1]); + const blueNorm = tfjs_esm_exports.mul(blue, rgb[2]); + red.dispose(); + green.dispose(); + blue.dispose(); + const grayscale = tfjs_esm_exports.addN([redNorm, greenNorm, blueNorm]); + redNorm.dispose(); + greenNorm.dispose(); + blueNorm.dispose(); + const normalize = tfjs_esm_exports.tidy(() => grayscale.sub(0.5).mul(2)); + grayscale.dispose(); + const obj = []; + if (config3.face.emotion.enabled) { + const emotionT = await model.predict(normalize); + const data2 = emotionT.dataSync(); + tfjs_esm_exports.dispose(emotionT); + for (let i = 0; i < data2.length; i++) { + if (data2[i] > config3.face.emotion.minConfidence) + obj.push({ score: Math.min(0.99, Math.trunc(100 * data2[i]) / 100), emotion: annotations[i] }); + } + obj.sort((a, b) => b.score - a.score); + } + normalize.dispose(); + last[idx] = obj; + lastCount = count2; + resolve(obj); + }); +} + +// src/faceres/faceres.ts +var faceres_exports = {}; +__export(faceres_exports, { + enhance: () => enhance, + load: () => load4, + match: () => match, + predict: () => predict3, + similarity: () => similarity +}); +var model2; +var last2 = []; +var lastCount2 = 0; +var skipped2 = Number.MAX_SAFE_INTEGER; +async function load4(config3) { + const modelUrl = join(config3.modelBasePath, config3.face.description.modelPath); + if (!model2) { + model2 = await tfjs_esm_exports.loadGraphModel(modelUrl); + if (!model2) + log("load model failed:", config3.face.description.modelPath); + else if (config3.debug) + log("load model:", modelUrl); + } else if (config3.debug) + log("cached model:", modelUrl); + return model2; +} +function similarity(embedding1, embedding2, order = 2) { + if (!embedding1 || !embedding2) + return 0; + if ((embedding1 == null ? void 0 : embedding1.length) === 0 || (embedding2 == null ? void 0 : embedding2.length) === 0) + return 0; + if ((embedding1 == null ? void 0 : embedding1.length) !== (embedding2 == null ? void 0 : embedding2.length)) + return 0; + const distance = 5 * embedding1.map((val, i) => Math.abs(embedding1[i] - embedding2[i]) ** order).reduce((sum, now2) => sum + now2, 0) ** (1 / order); + const res = Math.max(0, 100 - distance) / 100; + return res; +} +function match(embedding, db, threshold = 0) { + let best = { similarity: 0, name: "", source: "", embedding: [] }; + if (!embedding || !db || !Array.isArray(embedding) || !Array.isArray(db)) + return best; + for (const f of db) { + if (f.embedding && f.name) { + const perc = similarity(embedding, f.embedding); + if (perc > threshold && perc > best.similarity) + best = { ...f, similarity: perc }; + } + } + return best; +} +function enhance(input) { + const image15 = tfjs_esm_exports.tidy(() => { + const tensor = input.image || input.tensor || input; + if (!(tensor instanceof tfjs_esm_exports.Tensor)) + return null; + const box6 = [[0.05, 0.15, 0.85, 0.85]]; + if (!model2.inputs[0].shape) + return null; + const crop = tensor.shape.length === 3 ? tfjs_esm_exports.image.cropAndResize(tfjs_esm_exports.expandDims(tensor, 0), box6, [0], [model2.inputs[0].shape[2], model2.inputs[0].shape[1]]) : tfjs_esm_exports.image.cropAndResize(tensor, box6, [0], [model2.inputs[0].shape[2], model2.inputs[0].shape[1]]); + const norm = crop.mul(255); + return norm; + }); + return image15; +} +async function predict3(image15, config3, idx, count2) { + var _a, _b; + if (!model2) + return null; + if (skipped2 < config3.face.description.skipFrames && config3.skipFrame && lastCount2 === count2 && ((_a = last2[idx]) == null ? void 0 : _a.age) && ((_b = last2[idx]) == null ? void 0 : _b.age) > 0) { + skipped2++; + return last2[idx]; + } + skipped2 = 0; + return new Promise(async (resolve) => { + const enhanced = enhance(image15); + let resT; + const obj = { + age: 0, + gender: "unknown", + genderScore: 0, + descriptor: [] + }; + if (config3.face.description.enabled) + resT = await model2.predict(enhanced); + tfjs_esm_exports.dispose(enhanced); + if (resT) { + tfjs_esm_exports.tidy(() => { + const gender = resT.find((t) => t.shape[1] === 1).dataSync(); + const confidence = Math.trunc(200 * Math.abs(gender[0] - 0.5)) / 100; + if (confidence > config3.face.description.minConfidence) { + obj.gender = gender[0] <= 0.5 ? "female" : "male"; + obj.genderScore = Math.min(0.99, confidence); + } + const age = resT.find((t) => t.shape[1] === 100).argMax(1).dataSync()[0]; + const all2 = resT.find((t) => t.shape[1] === 100).dataSync(); + obj.age = Math.round(all2[age - 1] > all2[age + 1] ? 10 * age - 100 * all2[age - 1] : 10 * age + 100 * all2[age + 1]) / 10; + const desc = resT.find((t) => t.shape[1] === 1024); + obj.descriptor = [...desc.dataSync()]; + }); + resT.forEach((t) => tfjs_esm_exports.dispose(t)); + } + last2[idx] = obj; + lastCount2 = count2; + resolve(obj); + }); +} + +// src/face.ts +var calculateGaze = (mesh, box6) => { + const radians = (pt1, pt2) => Math.atan2(pt1[1] - pt2[1], pt1[0] - pt2[0]); + const offsetIris = [0, -0.1]; + const eyeRatio = 1; + const left = mesh[33][2] > mesh[263][2]; + const irisCenter = left ? mesh[473] : mesh[468]; + const eyeCenter = left ? [(mesh[133][0] + mesh[33][0]) / 2, (mesh[133][1] + mesh[33][1]) / 2] : [(mesh[263][0] + mesh[362][0]) / 2, (mesh[263][1] + mesh[362][1]) / 2]; + const eyeSize = left ? [mesh[133][0] - mesh[33][0], mesh[23][1] - mesh[27][1]] : [mesh[263][0] - mesh[362][0], mesh[253][1] - mesh[257][1]]; + const eyeDiff = [ + (eyeCenter[0] - irisCenter[0]) / eyeSize[0] - offsetIris[0], + eyeRatio * (irisCenter[1] - eyeCenter[1]) / eyeSize[1] - offsetIris[1] + ]; + let strength = Math.sqrt(eyeDiff[0] ** 2 + eyeDiff[1] ** 2); + strength = Math.min(strength, box6[2] / 2, box6[3] / 2); + const bearing = (radians([0, 0], eyeDiff) + Math.PI / 2) % Math.PI; + return { bearing, strength }; +}; +var calculateFaceAngle = (face5, imageSize) => { + const normalize = (v) => { + const length = Math.sqrt(v[0] * v[0] + v[1] * v[1] + v[2] * v[2]); + v[0] /= length; + v[1] /= length; + v[2] /= length; + return v; + }; + const subVectors = (a, b) => { + const x = a[0] - b[0]; + const y = a[1] - b[1]; + const z = a[2] - b[2]; + return [x, y, z]; + }; + const crossVectors = (a, b) => { + const x = a[1] * b[2] - a[2] * b[1]; + const y = a[2] * b[0] - a[0] * b[2]; + const z = a[0] * b[1] - a[1] * b[0]; + return [x, y, z]; + }; + const rotationMatrixToEulerAngle = (r) => { + const [r00, r01, r02, r10, r11, r12, r20, r21, r22] = r; + let thetaX; + let thetaY; + let thetaZ; + if (r10 < 1) { + if (r10 > -1) { + thetaZ = Math.asin(r10); + thetaY = Math.atan2(-r20, r00); + thetaX = Math.atan2(-r12, r11); + } else { + thetaZ = -Math.PI / 2; + thetaY = -Math.atan2(r21, r22); + thetaX = 0; + } + } else { + thetaZ = Math.PI / 2; + thetaY = Math.atan2(r21, r22); + thetaX = 0; + } + return { pitch: 2 * -thetaX, yaw: 2 * -thetaY, roll: 2 * -thetaZ }; + }; + const meshToEulerAngle = (mesh2) => { + const radians = (a1, a2, b1, b2) => Math.atan2(b2 - a2, b1 - a1); + const angle2 = { + pitch: radians(mesh2[10][1], mesh2[10][2], mesh2[152][1], mesh2[152][2]), + yaw: radians(mesh2[33][0], mesh2[33][2], mesh2[263][0], mesh2[263][2]), + roll: radians(mesh2[33][0], mesh2[33][1], mesh2[263][0], mesh2[263][1]) + }; + return angle2; + }; + const mesh = face5.meshRaw; + if (!mesh || mesh.length < 300) + return { angle: { pitch: 0, yaw: 0, roll: 0 }, matrix: [1, 0, 0, 0, 1, 0, 0, 0, 1], gaze: { bearing: 0, strength: 0 } }; + const size = Math.max(face5.boxRaw[2] * imageSize[0], face5.boxRaw[3] * imageSize[1]) / 1.5; + const pts = [mesh[10], mesh[152], mesh[234], mesh[454]].map((pt) => [ + pt[0] * imageSize[0] / size, + pt[1] * imageSize[1] / size, + pt[2] + ]); + const y_axis = normalize(subVectors(pts[1], pts[0])); + let x_axis = normalize(subVectors(pts[3], pts[2])); + const z_axis = normalize(crossVectors(x_axis, y_axis)); + x_axis = crossVectors(y_axis, z_axis); + const matrix = [ + x_axis[0], + x_axis[1], + x_axis[2], + y_axis[0], + y_axis[1], + y_axis[2], + z_axis[0], + z_axis[1], + z_axis[2] + ]; + const angle = rotationMatrixToEulerAngle(matrix); + const gaze = mesh.length === 478 ? calculateGaze(mesh, face5.box) : { bearing: 0, strength: 0 }; + return { angle, matrix, gaze }; +}; +var detectFace = async (parent, input) => { + var _a, _b, _c, _d, _e, _f; + let timeStamp; + let ageRes; + let genderRes; + let emotionRes; + let embeddingRes; + let descRes; + const faceRes = []; + parent.state = "run:face"; + timeStamp = now(); + const faces = await predict(input, parent.config); + parent.performance.face = Math.trunc(now() - timeStamp); + if (!input.shape || input.shape.length !== 4) + return []; + if (!faces) + return []; + for (let i = 0; i < faces.length; i++) { + parent.analyze("Get Face"); + if (!faces[i].image || faces[i].image["isDisposedInternal"]) { + log("Face object is disposed:", faces[i].image); + continue; + } + const rotation = calculateFaceAngle(faces[i], [input.shape[2], input.shape[1]]); + parent.analyze("Start Emotion:"); + if (parent.config.async) { + emotionRes = parent.config.face.emotion.enabled ? predict2(faces[i].image, parent.config, i, faces.length) : {}; + } else { + parent.state = "run:emotion"; + timeStamp = now(); + emotionRes = parent.config.face.emotion.enabled ? await predict2(faces[i].image, parent.config, i, faces.length) : {}; + parent.performance.emotion = Math.trunc(now() - timeStamp); + } + parent.analyze("End Emotion:"); + parent.analyze("Start Description:"); + if (parent.config.async) { + descRes = parent.config.face.description.enabled ? predict3(faces[i], parent.config, i, faces.length) : []; + } else { + parent.state = "run:description"; + timeStamp = now(); + descRes = parent.config.face.description.enabled ? await predict3(faces[i].image, parent.config, i, faces.length) : []; + parent.performance.embedding = Math.trunc(now() - timeStamp); + } + parent.analyze("End Description:"); + if (parent.config.async) { + [ageRes, genderRes, emotionRes, embeddingRes, descRes] = await Promise.all([ageRes, genderRes, emotionRes, embeddingRes, descRes]); + } + parent.analyze("Finish Face:"); + if (!parent.config.face.iris.enabled && ((_b = (_a = faces[i]) == null ? void 0 : _a.annotations) == null ? void 0 : _b.leftEyeIris) && ((_d = (_c = faces[i]) == null ? void 0 : _c.annotations) == null ? void 0 : _d.rightEyeIris)) { + delete faces[i].annotations.leftEyeIris; + delete faces[i].annotations.rightEyeIris; + } + const irisSize = ((_e = faces[i].annotations) == null ? void 0 : _e.leftEyeIris) && ((_f = faces[i].annotations) == null ? void 0 : _f.rightEyeIris) ? Math.max(Math.abs(faces[i].annotations.leftEyeIris[3][0] - faces[i].annotations.leftEyeIris[1][0]), Math.abs(faces[i].annotations.rightEyeIris[4][1] - faces[i].annotations.rightEyeIris[2][1])) / input.shape[2] : 0; + if (faces[i].image) + delete faces[i].image; + faceRes.push({ + ...faces[i], + id: i, + age: descRes.age, + gender: descRes.gender, + genderScore: descRes.genderScore, + embedding: descRes.descriptor, + emotion: emotionRes, + iris: irisSize !== 0 ? Math.trunc(500 / irisSize / 11.7) / 100 : 0, + rotation, + tensor: parent.config.face.detector.return ? tfjs_esm_exports.squeeze(faces[i].image) : null + }); + tfjs_esm_exports.dispose(faces[i].image); + parent.analyze("End Face"); + } + parent.analyze("End FaceMesh:"); + if (parent.config.async) { + if (parent.performance.face) + delete parent.performance.face; + if (parent.performance.age) + delete parent.performance.age; + if (parent.performance.gender) + delete parent.performance.gender; + if (parent.performance.emotion) + delete parent.performance.emotion; + } + return faceRes; +}; + +// src/posenet/posenet.ts +var posenet_exports = {}; +__export(posenet_exports, { + load: () => load5, + predict: () => predict4 +}); + +// src/posenet/keypoints.ts +var partNames = [ + "nose", + "leftEye", + "rightEye", + "leftEar", + "rightEar", + "leftShoulder", + "rightShoulder", + "leftElbow", + "rightElbow", + "leftWrist", + "rightWrist", + "leftHip", + "rightHip", + "leftKnee", + "rightKnee", + "leftAnkle", + "rightAnkle" +]; +var count = partNames.length; +var partIds = partNames.reduce((result, jointName, i) => { + result[jointName] = i; + return result; +}, {}); +var connectedPartNames = [ + ["leftHip", "leftShoulder"], + ["leftElbow", "leftShoulder"], + ["leftElbow", "leftWrist"], + ["leftHip", "leftKnee"], + ["leftKnee", "leftAnkle"], + ["rightHip", "rightShoulder"], + ["rightElbow", "rightShoulder"], + ["rightElbow", "rightWrist"], + ["rightHip", "rightKnee"], + ["rightKnee", "rightAnkle"], + ["leftShoulder", "rightShoulder"], + ["leftHip", "rightHip"] +]; +var connectedPartIndices = connectedPartNames.map(([jointNameA, jointNameB]) => [partIds[jointNameA], partIds[jointNameB]]); +var poseChain = [ + ["nose", "leftEye"], + ["leftEye", "leftEar"], + ["nose", "rightEye"], + ["rightEye", "rightEar"], + ["nose", "leftShoulder"], + ["leftShoulder", "leftElbow"], + ["leftElbow", "leftWrist"], + ["leftShoulder", "leftHip"], + ["leftHip", "leftKnee"], + ["leftKnee", "leftAnkle"], + ["nose", "rightShoulder"], + ["rightShoulder", "rightElbow"], + ["rightElbow", "rightWrist"], + ["rightShoulder", "rightHip"], + ["rightHip", "rightKnee"], + ["rightKnee", "rightAnkle"] +]; + +// src/posenet/utils.ts +function getBoundingBox(keypoints3) { + const coord = keypoints3.reduce(({ maxX, maxY, minX, minY }, { position: { x, y } }) => ({ + maxX: Math.max(maxX, x), + maxY: Math.max(maxY, y), + minX: Math.min(minX, x), + minY: Math.min(minY, y) + }), { + maxX: Number.NEGATIVE_INFINITY, + maxY: Number.NEGATIVE_INFINITY, + minX: Number.POSITIVE_INFINITY, + minY: Number.POSITIVE_INFINITY + }); + return [coord.minX, coord.minY, coord.maxX - coord.minX, coord.maxY - coord.minY]; +} +function scalePoses(poses2, [height, width], [inputResolutionHeight, inputResolutionWidth]) { + const scaleY = height / inputResolutionHeight; + const scaleX = width / inputResolutionWidth; + const scalePose = (pose, i) => ({ + id: i, + score: pose.score, + boxRaw: [pose.box[0] / inputResolutionWidth, pose.box[1] / inputResolutionHeight, pose.box[2] / inputResolutionWidth, pose.box[3] / inputResolutionHeight], + box: [Math.trunc(pose.box[0] * scaleX), Math.trunc(pose.box[1] * scaleY), Math.trunc(pose.box[2] * scaleX), Math.trunc(pose.box[3] * scaleY)], + keypoints: pose.keypoints.map(({ score: score3, part, position }) => ({ + score: score3, + part, + position: [Math.trunc(position.x * scaleX), Math.trunc(position.y * scaleY)], + positionRaw: [position.x / inputResolutionHeight, position.y / inputResolutionHeight] + })) + }); + const scaledPoses = poses2.map((pose, i) => scalePose(pose, i)); + return scaledPoses; +} +var MaxHeap = class { + constructor(maxSize2, getElementValue) { + this.priorityQueue = new Array(maxSize2); + this.numberOfElements = -1; + this.getElementValue = getElementValue; + } + enqueue(x) { + this.priorityQueue[++this.numberOfElements] = x; + this.swim(this.numberOfElements); + } + dequeue() { + const max2 = this.priorityQueue[0]; + this.exchange(0, this.numberOfElements--); + this.sink(0); + this.priorityQueue[this.numberOfElements + 1] = null; + return max2; + } + empty() { + return this.numberOfElements === -1; + } + size() { + return this.numberOfElements + 1; + } + all() { + return this.priorityQueue.slice(0, this.numberOfElements + 1); + } + max() { + return this.priorityQueue[0]; + } + swim(k) { + while (k > 0 && this.less(Math.floor(k / 2), k)) { + this.exchange(k, Math.floor(k / 2)); + k = Math.floor(k / 2); + } + } + sink(k) { + while (2 * k <= this.numberOfElements) { + let j = 2 * k; + if (j < this.numberOfElements && this.less(j, j + 1)) + j++; + if (!this.less(k, j)) + break; + this.exchange(k, j); + k = j; + } + } + getValueAt(i) { + return this.getElementValue(this.priorityQueue[i]); + } + less(i, j) { + return this.getValueAt(i) < this.getValueAt(j); + } + exchange(i, j) { + const t = this.priorityQueue[i]; + this.priorityQueue[i] = this.priorityQueue[j]; + this.priorityQueue[j] = t; + } +}; +function getOffsetPoint(y, x, keypoint, offsets) { + return { + y: offsets.get(y, x, keypoint), + x: offsets.get(y, x, keypoint + count) + }; +} +function getImageCoords(part, outputStride2, offsets) { + const { heatmapY, heatmapX, id: keypoint } = part; + const { y, x } = getOffsetPoint(heatmapY, heatmapX, keypoint, offsets); + return { + x: part.heatmapX * outputStride2 + x, + y: part.heatmapY * outputStride2 + y + }; +} +function clamp(a, min, max2) { + if (a < min) + return min; + if (a > max2) + return max2; + return a; +} +function squaredDistance(y1, x1, y2, x2) { + const dy = y2 - y1; + const dx = x2 - x1; + return dy * dy + dx * dx; +} +function addVectors(a, b) { + return { x: a.x + b.x, y: a.y + b.y }; +} + +// src/posenet/poses.ts +var localMaximumRadius = 1; +var outputStride = 16; +var squaredNmsRadius = 50 ** 2; +function traverse(edgeId, sourceKeypoint, targetId, scores, offsets, displacements, offsetRefineStep = 2) { + const getDisplacement = (point2) => ({ + y: displacements.get(point2.y, point2.x, edgeId), + x: displacements.get(point2.y, point2.x, displacements.shape[2] / 2 + edgeId) + }); + const getStridedIndexNearPoint = (point2, height2, width2) => ({ + y: clamp(Math.round(point2.y / outputStride), 0, height2 - 1), + x: clamp(Math.round(point2.x / outputStride), 0, width2 - 1) + }); + const [height, width] = scores.shape; + const sourceKeypointIndices = getStridedIndexNearPoint(sourceKeypoint.position, height, width); + const displacement = getDisplacement(sourceKeypointIndices); + const displacedPoint = addVectors(sourceKeypoint.position, displacement); + let targetKeypoint = displacedPoint; + for (let i = 0; i < offsetRefineStep; i++) { + const targetKeypointIndices = getStridedIndexNearPoint(targetKeypoint, height, width); + const offsetPoint = getOffsetPoint(targetKeypointIndices.y, targetKeypointIndices.x, targetId, offsets); + targetKeypoint = addVectors({ x: targetKeypointIndices.x * outputStride, y: targetKeypointIndices.y * outputStride }, { x: offsetPoint.x, y: offsetPoint.y }); + } + const targetKeyPointIndices = getStridedIndexNearPoint(targetKeypoint, height, width); + const score3 = scores.get(targetKeyPointIndices.y, targetKeyPointIndices.x, targetId); + return { position: targetKeypoint, part: partNames[targetId], score: score3 }; +} +function decodePose(root, scores, offsets, displacementsFwd, displacementsBwd) { + const tuples = poseChain.map(([parentJoinName, childJoinName]) => [partIds[parentJoinName], partIds[childJoinName]]); + const edgesFwd = tuples.map(([, childJointId]) => childJointId); + const edgesBwd = tuples.map(([parentJointId]) => parentJointId); + const numParts = scores.shape[2]; + const numEdges = edgesFwd.length; + const keypoints3 = new Array(numParts); + const rootPoint = getImageCoords(root.part, outputStride, offsets); + keypoints3[root.part.id] = { + score: root.score, + part: partNames[root.part.id], + position: rootPoint + }; + for (let edge = numEdges - 1; edge >= 0; --edge) { + const sourceId = edgesFwd[edge]; + const targetId = edgesBwd[edge]; + if (keypoints3[sourceId] && !keypoints3[targetId]) { + keypoints3[targetId] = traverse(edge, keypoints3[sourceId], targetId, scores, offsets, displacementsBwd); + } + } + for (let edge = 0; edge < numEdges; ++edge) { + const sourceId = edgesBwd[edge]; + const targetId = edgesFwd[edge]; + if (keypoints3[sourceId] && !keypoints3[targetId]) { + keypoints3[targetId] = traverse(edge, keypoints3[sourceId], targetId, scores, offsets, displacementsFwd); + } + } + return keypoints3; +} +function scoreIsMaximumInLocalWindow(keypointId, score3, heatmapY, heatmapX, scores) { + const [height, width] = scores.shape; + let localMaximum = true; + const yStart = Math.max(heatmapY - localMaximumRadius, 0); + const yEnd = Math.min(heatmapY + localMaximumRadius + 1, height); + for (let yCurrent = yStart; yCurrent < yEnd; ++yCurrent) { + const xStart = Math.max(heatmapX - localMaximumRadius, 0); + const xEnd = Math.min(heatmapX + localMaximumRadius + 1, width); + for (let xCurrent = xStart; xCurrent < xEnd; ++xCurrent) { + if (scores.get(yCurrent, xCurrent, keypointId) > score3) { + localMaximum = false; + break; + } + } + if (!localMaximum) + break; + } + return localMaximum; +} +function buildPartWithScoreQueue(minConfidence, scores) { + const [height, width, numKeypoints] = scores.shape; + const queue = new MaxHeap(height * width * numKeypoints, ({ score: score3 }) => score3); + for (let heatmapY = 0; heatmapY < height; ++heatmapY) { + for (let heatmapX = 0; heatmapX < width; ++heatmapX) { + for (let keypointId = 0; keypointId < numKeypoints; ++keypointId) { + const score3 = scores.get(heatmapY, heatmapX, keypointId); + if (score3 < minConfidence) + continue; + if (scoreIsMaximumInLocalWindow(keypointId, score3, heatmapY, heatmapX, scores)) + queue.enqueue({ score: score3, part: { heatmapY, heatmapX, id: keypointId } }); + } + } + } + return queue; +} +function withinRadius(poses2, { x, y }, keypointId) { + return poses2.some(({ keypoints: keypoints3 }) => { + var _a; + const correspondingKeypoint = (_a = keypoints3[keypointId]) == null ? void 0 : _a.position; + if (!correspondingKeypoint) + return false; + return squaredDistance(y, x, correspondingKeypoint.y, correspondingKeypoint.x) <= squaredNmsRadius; + }); +} +function getInstanceScore(existingPoses, keypoints3) { + const notOverlappedKeypointScores = keypoints3.reduce((result, { position, score: score3 }, keypointId) => { + if (!withinRadius(existingPoses, position, keypointId)) + result += score3; + return result; + }, 0); + return notOverlappedKeypointScores / keypoints3.length; +} +function decode(offsets, scores, displacementsFwd, displacementsBwd, maxDetected, minConfidence) { + const poses2 = []; + const queue = buildPartWithScoreQueue(minConfidence, scores); + while (poses2.length < maxDetected && !queue.empty()) { + const root = queue.dequeue(); + const rootImageCoords = getImageCoords(root.part, outputStride, offsets); + if (withinRadius(poses2, rootImageCoords, root.part.id)) + continue; + let keypoints3 = decodePose(root, scores, offsets, displacementsFwd, displacementsBwd); + keypoints3 = keypoints3.filter((a) => a.score > minConfidence); + const score3 = getInstanceScore(poses2, keypoints3); + const box6 = getBoundingBox(keypoints3); + if (score3 > minConfidence) + poses2.push({ keypoints: keypoints3, box: box6, score: Math.round(100 * score3) / 100 }); + } + return poses2; +} + +// src/posenet/posenet.ts +var model3; +var poseNetOutputs = ["MobilenetV1/offset_2/BiasAdd", "MobilenetV1/heatmap_2/BiasAdd", "MobilenetV1/displacement_fwd_2/BiasAdd", "MobilenetV1/displacement_bwd_2/BiasAdd"]; +async function predict4(input, config3) { + const res = tfjs_esm_exports.tidy(() => { + if (!model3.inputs[0].shape) + return []; + const resized = input.resizeBilinear([model3.inputs[0].shape[2], model3.inputs[0].shape[1]]); + const normalized = resized.toFloat().div(127.5).sub(1); + const results = model3.execute(normalized, poseNetOutputs); + const results3d = results.map((y) => y.squeeze([0])); + results3d[1] = results3d[1].sigmoid(); + return results3d; + }); + const buffers = await Promise.all(res.map((tensor) => tensor.buffer())); + for (const t of res) + t.dispose(); + const decoded = await decode(buffers[0], buffers[1], buffers[2], buffers[3], config3.body.maxDetected, config3.body.minConfidence); + if (!model3.inputs[0].shape) + return []; + const scaled = scalePoses(decoded, [input.shape[1], input.shape[2]], [model3.inputs[0].shape[2], model3.inputs[0].shape[1]]); + return scaled; +} +async function load5(config3) { + if (!model3) { + model3 = await tfjs_esm_exports.loadGraphModel(join(config3.modelBasePath, config3.body.modelPath)); + if (!model3 || !model3["modelUrl"]) + log("load model failed:", config3.body.modelPath); + else if (config3.debug) + log("load model:", model3["modelUrl"]); + } else if (config3.debug) + log("cached model:", model3["modelUrl"]); + return model3; +} + +// src/handpose/handpose.ts +var handpose_exports = {}; +__export(handpose_exports, { + load: () => load6, + predict: () => predict5 +}); + +// src/handpose/box.ts +function getBoxSize2(box6) { + return [ + Math.abs(box6.endPoint[0] - box6.startPoint[0]), + Math.abs(box6.endPoint[1] - box6.startPoint[1]) + ]; +} +function getBoxCenter2(box6) { + return [ + box6.startPoint[0] + (box6.endPoint[0] - box6.startPoint[0]) / 2, + box6.startPoint[1] + (box6.endPoint[1] - box6.startPoint[1]) / 2 + ]; +} +function cutBoxFromImageAndResize2(box6, image15, cropSize) { + const h = image15.shape[1]; + const w = image15.shape[2]; + const boxes = [[ + box6.startPoint[1] / h, + box6.startPoint[0] / w, + box6.endPoint[1] / h, + box6.endPoint[0] / w + ]]; + return tfjs_esm_exports.image.cropAndResize(image15, boxes, [0], cropSize); +} +function scaleBoxCoordinates2(box6, factor) { + const startPoint = [box6.startPoint[0] * factor[0], box6.startPoint[1] * factor[1]]; + const endPoint = [box6.endPoint[0] * factor[0], box6.endPoint[1] * factor[1]]; + const palmLandmarks = box6.palmLandmarks.map((coord) => { + const scaledCoord = [coord[0] * factor[0], coord[1] * factor[1]]; + return scaledCoord; + }); + return { startPoint, endPoint, palmLandmarks, confidence: box6.confidence }; +} +function enlargeBox2(box6, factor = 1.5) { + const center = getBoxCenter2(box6); + const size = getBoxSize2(box6); + const newHalfSize = [factor * size[0] / 2, factor * size[1] / 2]; + const startPoint = [center[0] - newHalfSize[0], center[1] - newHalfSize[1]]; + const endPoint = [center[0] + newHalfSize[0], center[1] + newHalfSize[1]]; + return { startPoint, endPoint, palmLandmarks: box6.palmLandmarks }; +} +function squarifyBox2(box6) { + const centers = getBoxCenter2(box6); + const size = getBoxSize2(box6); + const maxEdge = Math.max(...size); + const halfSize = maxEdge / 2; + const startPoint = [centers[0] - halfSize, centers[1] - halfSize]; + const endPoint = [centers[0] + halfSize, centers[1] + halfSize]; + return { startPoint, endPoint, palmLandmarks: box6.palmLandmarks }; +} + +// src/handpose/anchors.ts +var anchors = [ + { x: 0.015625, y: 0.015625 }, + { x: 0.015625, y: 0.015625 }, + { x: 0.046875, y: 0.015625 }, + { x: 0.046875, y: 0.015625 }, + { x: 0.078125, y: 0.015625 }, + { x: 0.078125, y: 0.015625 }, + { x: 0.109375, y: 0.015625 }, + { x: 0.109375, y: 0.015625 }, + { x: 0.140625, y: 0.015625 }, + { x: 0.140625, y: 0.015625 }, + { x: 0.171875, y: 0.015625 }, + { x: 0.171875, y: 0.015625 }, + { x: 0.203125, y: 0.015625 }, + { x: 0.203125, y: 0.015625 }, + { x: 0.234375, y: 0.015625 }, + { x: 0.234375, y: 0.015625 }, + { x: 0.265625, y: 0.015625 }, + { x: 0.265625, y: 0.015625 }, + { x: 0.296875, y: 0.015625 }, + { x: 0.296875, y: 0.015625 }, + { x: 0.328125, y: 0.015625 }, + { x: 0.328125, y: 0.015625 }, + { x: 0.359375, y: 0.015625 }, + { x: 0.359375, y: 0.015625 }, + { x: 0.390625, y: 0.015625 }, + { x: 0.390625, y: 0.015625 }, + { x: 0.421875, y: 0.015625 }, + { x: 0.421875, y: 0.015625 }, + { x: 0.453125, y: 0.015625 }, + { x: 0.453125, y: 0.015625 }, + { x: 0.484375, y: 0.015625 }, + { x: 0.484375, y: 0.015625 }, + { x: 0.515625, y: 0.015625 }, + { x: 0.515625, y: 0.015625 }, + { x: 0.546875, y: 0.015625 }, + { x: 0.546875, y: 0.015625 }, + { x: 0.578125, y: 0.015625 }, + { x: 0.578125, y: 0.015625 }, + { x: 0.609375, y: 0.015625 }, + { x: 0.609375, y: 0.015625 }, + { x: 0.640625, y: 0.015625 }, + { x: 0.640625, y: 0.015625 }, + { x: 0.671875, y: 0.015625 }, + { x: 0.671875, y: 0.015625 }, + { x: 0.703125, y: 0.015625 }, + { x: 0.703125, y: 0.015625 }, + { x: 0.734375, y: 0.015625 }, + { x: 0.734375, y: 0.015625 }, + { x: 0.765625, y: 0.015625 }, + { x: 0.765625, y: 0.015625 }, + { x: 0.796875, y: 0.015625 }, + { x: 0.796875, y: 0.015625 }, + { x: 0.828125, y: 0.015625 }, + { x: 0.828125, y: 0.015625 }, + { x: 0.859375, y: 0.015625 }, + { x: 0.859375, y: 0.015625 }, + { x: 0.890625, y: 0.015625 }, + { x: 0.890625, y: 0.015625 }, + { x: 0.921875, y: 0.015625 }, + { x: 0.921875, y: 0.015625 }, + { x: 0.953125, y: 0.015625 }, + { x: 0.953125, y: 0.015625 }, + { x: 0.984375, y: 0.015625 }, + { x: 0.984375, y: 0.015625 }, + { x: 0.015625, y: 0.046875 }, + { x: 0.015625, y: 0.046875 }, + { x: 0.046875, y: 0.046875 }, + { x: 0.046875, y: 0.046875 }, + { x: 0.078125, y: 0.046875 }, + { x: 0.078125, y: 0.046875 }, + { x: 0.109375, y: 0.046875 }, + { x: 0.109375, y: 0.046875 }, + { x: 0.140625, y: 0.046875 }, + { x: 0.140625, y: 0.046875 }, + { x: 0.171875, y: 0.046875 }, + { x: 0.171875, y: 0.046875 }, + { x: 0.203125, y: 0.046875 }, + { x: 0.203125, y: 0.046875 }, + { x: 0.234375, y: 0.046875 }, + { x: 0.234375, y: 0.046875 }, + { x: 0.265625, y: 0.046875 }, + { x: 0.265625, y: 0.046875 }, + { x: 0.296875, y: 0.046875 }, + { x: 0.296875, y: 0.046875 }, + { x: 0.328125, y: 0.046875 }, + { x: 0.328125, y: 0.046875 }, + { x: 0.359375, y: 0.046875 }, + { x: 0.359375, y: 0.046875 }, + { x: 0.390625, y: 0.046875 }, + { x: 0.390625, y: 0.046875 }, + { x: 0.421875, y: 0.046875 }, + { x: 0.421875, y: 0.046875 }, + { x: 0.453125, y: 0.046875 }, + { x: 0.453125, y: 0.046875 }, + { x: 0.484375, y: 0.046875 }, + { x: 0.484375, y: 0.046875 }, + { x: 0.515625, y: 0.046875 }, + { x: 0.515625, y: 0.046875 }, + { x: 0.546875, y: 0.046875 }, + { x: 0.546875, y: 0.046875 }, + { x: 0.578125, y: 0.046875 }, + { x: 0.578125, y: 0.046875 }, + { x: 0.609375, y: 0.046875 }, + { x: 0.609375, y: 0.046875 }, + { x: 0.640625, y: 0.046875 }, + { x: 0.640625, y: 0.046875 }, + { x: 0.671875, y: 0.046875 }, + { x: 0.671875, y: 0.046875 }, + { x: 0.703125, y: 0.046875 }, + { x: 0.703125, y: 0.046875 }, + { x: 0.734375, y: 0.046875 }, + { x: 0.734375, y: 0.046875 }, + { x: 0.765625, y: 0.046875 }, + { x: 0.765625, y: 0.046875 }, + { x: 0.796875, y: 0.046875 }, + { x: 0.796875, y: 0.046875 }, + { x: 0.828125, y: 0.046875 }, + { x: 0.828125, y: 0.046875 }, + { x: 0.859375, y: 0.046875 }, + { x: 0.859375, y: 0.046875 }, + { x: 0.890625, y: 0.046875 }, + { x: 0.890625, y: 0.046875 }, + { x: 0.921875, y: 0.046875 }, + { x: 0.921875, y: 0.046875 }, + { x: 0.953125, y: 0.046875 }, + { x: 0.953125, y: 0.046875 }, + { x: 0.984375, y: 0.046875 }, + { x: 0.984375, y: 0.046875 }, + { x: 0.015625, y: 0.078125 }, + { x: 0.015625, y: 0.078125 }, + { x: 0.046875, y: 0.078125 }, + { x: 0.046875, y: 0.078125 }, + { x: 0.078125, y: 0.078125 }, + { x: 0.078125, y: 0.078125 }, + { x: 0.109375, y: 0.078125 }, + { x: 0.109375, y: 0.078125 }, + { x: 0.140625, y: 0.078125 }, + { x: 0.140625, y: 0.078125 }, + { x: 0.171875, y: 0.078125 }, + { x: 0.171875, y: 0.078125 }, + { x: 0.203125, y: 0.078125 }, + { x: 0.203125, y: 0.078125 }, + { x: 0.234375, y: 0.078125 }, + { x: 0.234375, y: 0.078125 }, + { x: 0.265625, y: 0.078125 }, + { x: 0.265625, y: 0.078125 }, + { x: 0.296875, y: 0.078125 }, + { x: 0.296875, y: 0.078125 }, + { x: 0.328125, y: 0.078125 }, + { x: 0.328125, y: 0.078125 }, + { x: 0.359375, y: 0.078125 }, + { x: 0.359375, y: 0.078125 }, + { x: 0.390625, y: 0.078125 }, + { x: 0.390625, y: 0.078125 }, + { x: 0.421875, y: 0.078125 }, + { x: 0.421875, y: 0.078125 }, + { x: 0.453125, y: 0.078125 }, + { x: 0.453125, y: 0.078125 }, + { x: 0.484375, y: 0.078125 }, + { x: 0.484375, y: 0.078125 }, + { x: 0.515625, y: 0.078125 }, + { x: 0.515625, y: 0.078125 }, + { x: 0.546875, y: 0.078125 }, + { x: 0.546875, y: 0.078125 }, + { x: 0.578125, y: 0.078125 }, + { x: 0.578125, y: 0.078125 }, + { x: 0.609375, y: 0.078125 }, + { x: 0.609375, y: 0.078125 }, + { x: 0.640625, y: 0.078125 }, + { x: 0.640625, y: 0.078125 }, + { x: 0.671875, y: 0.078125 }, + { x: 0.671875, y: 0.078125 }, + { x: 0.703125, y: 0.078125 }, + { x: 0.703125, y: 0.078125 }, + { x: 0.734375, y: 0.078125 }, + { x: 0.734375, y: 0.078125 }, + { x: 0.765625, y: 0.078125 }, + { x: 0.765625, y: 0.078125 }, + { x: 0.796875, y: 0.078125 }, + { x: 0.796875, y: 0.078125 }, + { x: 0.828125, y: 0.078125 }, + { x: 0.828125, y: 0.078125 }, + { x: 0.859375, y: 0.078125 }, + { x: 0.859375, y: 0.078125 }, + { x: 0.890625, y: 0.078125 }, + { x: 0.890625, y: 0.078125 }, + { x: 0.921875, y: 0.078125 }, + { x: 0.921875, y: 0.078125 }, + { x: 0.953125, y: 0.078125 }, + { x: 0.953125, y: 0.078125 }, + { x: 0.984375, y: 0.078125 }, + { x: 0.984375, y: 0.078125 }, + { x: 0.015625, y: 0.109375 }, + { x: 0.015625, y: 0.109375 }, + { x: 0.046875, y: 0.109375 }, + { x: 0.046875, y: 0.109375 }, + { x: 0.078125, y: 0.109375 }, + { x: 0.078125, y: 0.109375 }, + { x: 0.109375, y: 0.109375 }, + { x: 0.109375, y: 0.109375 }, + { x: 0.140625, y: 0.109375 }, + { x: 0.140625, y: 0.109375 }, + { x: 0.171875, y: 0.109375 }, + { x: 0.171875, y: 0.109375 }, + { x: 0.203125, y: 0.109375 }, + { x: 0.203125, y: 0.109375 }, + { x: 0.234375, y: 0.109375 }, + { x: 0.234375, y: 0.109375 }, + { x: 0.265625, y: 0.109375 }, + { x: 0.265625, y: 0.109375 }, + { x: 0.296875, y: 0.109375 }, + { x: 0.296875, y: 0.109375 }, + { x: 0.328125, y: 0.109375 }, + { x: 0.328125, y: 0.109375 }, + { x: 0.359375, y: 0.109375 }, + { x: 0.359375, y: 0.109375 }, + { x: 0.390625, y: 0.109375 }, + { x: 0.390625, y: 0.109375 }, + { x: 0.421875, y: 0.109375 }, + { x: 0.421875, y: 0.109375 }, + { x: 0.453125, y: 0.109375 }, + { x: 0.453125, y: 0.109375 }, + { x: 0.484375, y: 0.109375 }, + { x: 0.484375, y: 0.109375 }, + { x: 0.515625, y: 0.109375 }, + { x: 0.515625, y: 0.109375 }, + { x: 0.546875, y: 0.109375 }, + { x: 0.546875, y: 0.109375 }, + { x: 0.578125, y: 0.109375 }, + { x: 0.578125, y: 0.109375 }, + { x: 0.609375, y: 0.109375 }, + { x: 0.609375, y: 0.109375 }, + { x: 0.640625, y: 0.109375 }, + { x: 0.640625, y: 0.109375 }, + { x: 0.671875, y: 0.109375 }, + { x: 0.671875, y: 0.109375 }, + { x: 0.703125, y: 0.109375 }, + { x: 0.703125, y: 0.109375 }, + { x: 0.734375, y: 0.109375 }, + { x: 0.734375, y: 0.109375 }, + { x: 0.765625, y: 0.109375 }, + { x: 0.765625, y: 0.109375 }, + { x: 0.796875, y: 0.109375 }, + { x: 0.796875, y: 0.109375 }, + { x: 0.828125, y: 0.109375 }, + { x: 0.828125, y: 0.109375 }, + { x: 0.859375, y: 0.109375 }, + { x: 0.859375, y: 0.109375 }, + { x: 0.890625, y: 0.109375 }, + { x: 0.890625, y: 0.109375 }, + { x: 0.921875, y: 0.109375 }, + { x: 0.921875, y: 0.109375 }, + { x: 0.953125, y: 0.109375 }, + { x: 0.953125, y: 0.109375 }, + { x: 0.984375, y: 0.109375 }, + { x: 0.984375, y: 0.109375 }, + { x: 0.015625, y: 0.140625 }, + { x: 0.015625, y: 0.140625 }, + { x: 0.046875, y: 0.140625 }, + { x: 0.046875, y: 0.140625 }, + { x: 0.078125, y: 0.140625 }, + { x: 0.078125, y: 0.140625 }, + { x: 0.109375, y: 0.140625 }, + { x: 0.109375, y: 0.140625 }, + { x: 0.140625, y: 0.140625 }, + { x: 0.140625, y: 0.140625 }, + { x: 0.171875, y: 0.140625 }, + { x: 0.171875, y: 0.140625 }, + { x: 0.203125, y: 0.140625 }, + { x: 0.203125, y: 0.140625 }, + { x: 0.234375, y: 0.140625 }, + { x: 0.234375, y: 0.140625 }, + { x: 0.265625, y: 0.140625 }, + { x: 0.265625, y: 0.140625 }, + { x: 0.296875, y: 0.140625 }, + { x: 0.296875, y: 0.140625 }, + { x: 0.328125, y: 0.140625 }, + { x: 0.328125, y: 0.140625 }, + { x: 0.359375, y: 0.140625 }, + { x: 0.359375, y: 0.140625 }, + { x: 0.390625, y: 0.140625 }, + { x: 0.390625, y: 0.140625 }, + { x: 0.421875, y: 0.140625 }, + { x: 0.421875, y: 0.140625 }, + { x: 0.453125, y: 0.140625 }, + { x: 0.453125, y: 0.140625 }, + { x: 0.484375, y: 0.140625 }, + { x: 0.484375, y: 0.140625 }, + { x: 0.515625, y: 0.140625 }, + { x: 0.515625, y: 0.140625 }, + { x: 0.546875, y: 0.140625 }, + { x: 0.546875, y: 0.140625 }, + { x: 0.578125, y: 0.140625 }, + { x: 0.578125, y: 0.140625 }, + { x: 0.609375, y: 0.140625 }, + { x: 0.609375, y: 0.140625 }, + { x: 0.640625, y: 0.140625 }, + { x: 0.640625, y: 0.140625 }, + { x: 0.671875, y: 0.140625 }, + { x: 0.671875, y: 0.140625 }, + { x: 0.703125, y: 0.140625 }, + { x: 0.703125, y: 0.140625 }, + { x: 0.734375, y: 0.140625 }, + { x: 0.734375, y: 0.140625 }, + { x: 0.765625, y: 0.140625 }, + { x: 0.765625, y: 0.140625 }, + { x: 0.796875, y: 0.140625 }, + { x: 0.796875, y: 0.140625 }, + { x: 0.828125, y: 0.140625 }, + { x: 0.828125, y: 0.140625 }, + { x: 0.859375, y: 0.140625 }, + { x: 0.859375, y: 0.140625 }, + { x: 0.890625, y: 0.140625 }, + { x: 0.890625, y: 0.140625 }, + { x: 0.921875, y: 0.140625 }, + { x: 0.921875, y: 0.140625 }, + { x: 0.953125, y: 0.140625 }, + { x: 0.953125, y: 0.140625 }, + { x: 0.984375, y: 0.140625 }, + { x: 0.984375, y: 0.140625 }, + { x: 0.015625, y: 0.171875 }, + { x: 0.015625, y: 0.171875 }, + { x: 0.046875, y: 0.171875 }, + { x: 0.046875, y: 0.171875 }, + { x: 0.078125, y: 0.171875 }, + { x: 0.078125, y: 0.171875 }, + { x: 0.109375, y: 0.171875 }, + { x: 0.109375, y: 0.171875 }, + { x: 0.140625, y: 0.171875 }, + { x: 0.140625, y: 0.171875 }, + { x: 0.171875, y: 0.171875 }, + { x: 0.171875, y: 0.171875 }, + { x: 0.203125, y: 0.171875 }, + { x: 0.203125, y: 0.171875 }, + { x: 0.234375, y: 0.171875 }, + { x: 0.234375, y: 0.171875 }, + { x: 0.265625, y: 0.171875 }, + { x: 0.265625, y: 0.171875 }, + { x: 0.296875, y: 0.171875 }, + { x: 0.296875, y: 0.171875 }, + { x: 0.328125, y: 0.171875 }, + { x: 0.328125, y: 0.171875 }, + { x: 0.359375, y: 0.171875 }, + { x: 0.359375, y: 0.171875 }, + { x: 0.390625, y: 0.171875 }, + { x: 0.390625, y: 0.171875 }, + { x: 0.421875, y: 0.171875 }, + { x: 0.421875, y: 0.171875 }, + { x: 0.453125, y: 0.171875 }, + { x: 0.453125, y: 0.171875 }, + { x: 0.484375, y: 0.171875 }, + { x: 0.484375, y: 0.171875 }, + { x: 0.515625, y: 0.171875 }, + { x: 0.515625, y: 0.171875 }, + { x: 0.546875, y: 0.171875 }, + { x: 0.546875, y: 0.171875 }, + { x: 0.578125, y: 0.171875 }, + { x: 0.578125, y: 0.171875 }, + { x: 0.609375, y: 0.171875 }, + { x: 0.609375, y: 0.171875 }, + { x: 0.640625, y: 0.171875 }, + { x: 0.640625, y: 0.171875 }, + { x: 0.671875, y: 0.171875 }, + { x: 0.671875, y: 0.171875 }, + { x: 0.703125, y: 0.171875 }, + { x: 0.703125, y: 0.171875 }, + { x: 0.734375, y: 0.171875 }, + { x: 0.734375, y: 0.171875 }, + { x: 0.765625, y: 0.171875 }, + { x: 0.765625, y: 0.171875 }, + { x: 0.796875, y: 0.171875 }, + { x: 0.796875, y: 0.171875 }, + { x: 0.828125, y: 0.171875 }, + { x: 0.828125, y: 0.171875 }, + { x: 0.859375, y: 0.171875 }, + { x: 0.859375, y: 0.171875 }, + { x: 0.890625, y: 0.171875 }, + { x: 0.890625, y: 0.171875 }, + { x: 0.921875, y: 0.171875 }, + { x: 0.921875, y: 0.171875 }, + { x: 0.953125, y: 0.171875 }, + { x: 0.953125, y: 0.171875 }, + { x: 0.984375, y: 0.171875 }, + { x: 0.984375, y: 0.171875 }, + { x: 0.015625, y: 0.203125 }, + { x: 0.015625, y: 0.203125 }, + { x: 0.046875, y: 0.203125 }, + { x: 0.046875, y: 0.203125 }, + { x: 0.078125, y: 0.203125 }, + { x: 0.078125, y: 0.203125 }, + { x: 0.109375, y: 0.203125 }, + { x: 0.109375, y: 0.203125 }, + { x: 0.140625, y: 0.203125 }, + { x: 0.140625, y: 0.203125 }, + { x: 0.171875, y: 0.203125 }, + { x: 0.171875, y: 0.203125 }, + { x: 0.203125, y: 0.203125 }, + { x: 0.203125, y: 0.203125 }, + { x: 0.234375, y: 0.203125 }, + { x: 0.234375, y: 0.203125 }, + { x: 0.265625, y: 0.203125 }, + { x: 0.265625, y: 0.203125 }, + { x: 0.296875, y: 0.203125 }, + { x: 0.296875, y: 0.203125 }, + { x: 0.328125, y: 0.203125 }, + { x: 0.328125, y: 0.203125 }, + { x: 0.359375, y: 0.203125 }, + { x: 0.359375, y: 0.203125 }, + { x: 0.390625, y: 0.203125 }, + { x: 0.390625, y: 0.203125 }, + { x: 0.421875, y: 0.203125 }, + { x: 0.421875, y: 0.203125 }, + { x: 0.453125, y: 0.203125 }, + { x: 0.453125, y: 0.203125 }, + { x: 0.484375, y: 0.203125 }, + { x: 0.484375, y: 0.203125 }, + { x: 0.515625, y: 0.203125 }, + { x: 0.515625, y: 0.203125 }, + { x: 0.546875, y: 0.203125 }, + { x: 0.546875, y: 0.203125 }, + { x: 0.578125, y: 0.203125 }, + { x: 0.578125, y: 0.203125 }, + { x: 0.609375, y: 0.203125 }, + { x: 0.609375, y: 0.203125 }, + { x: 0.640625, y: 0.203125 }, + { x: 0.640625, y: 0.203125 }, + { x: 0.671875, y: 0.203125 }, + { x: 0.671875, y: 0.203125 }, + { x: 0.703125, y: 0.203125 }, + { x: 0.703125, y: 0.203125 }, + { x: 0.734375, y: 0.203125 }, + { x: 0.734375, y: 0.203125 }, + { x: 0.765625, y: 0.203125 }, + { x: 0.765625, y: 0.203125 }, + { x: 0.796875, y: 0.203125 }, + { x: 0.796875, y: 0.203125 }, + { x: 0.828125, y: 0.203125 }, + { x: 0.828125, y: 0.203125 }, + { x: 0.859375, y: 0.203125 }, + { x: 0.859375, y: 0.203125 }, + { x: 0.890625, y: 0.203125 }, + { x: 0.890625, y: 0.203125 }, + { x: 0.921875, y: 0.203125 }, + { x: 0.921875, y: 0.203125 }, + { x: 0.953125, y: 0.203125 }, + { x: 0.953125, y: 0.203125 }, + { x: 0.984375, y: 0.203125 }, + { x: 0.984375, y: 0.203125 }, + { x: 0.015625, y: 0.234375 }, + { x: 0.015625, y: 0.234375 }, + { x: 0.046875, y: 0.234375 }, + { x: 0.046875, y: 0.234375 }, + { x: 0.078125, y: 0.234375 }, + { x: 0.078125, y: 0.234375 }, + { x: 0.109375, y: 0.234375 }, + { x: 0.109375, y: 0.234375 }, + { x: 0.140625, y: 0.234375 }, + { x: 0.140625, y: 0.234375 }, + { x: 0.171875, y: 0.234375 }, + { x: 0.171875, y: 0.234375 }, + { x: 0.203125, y: 0.234375 }, + { x: 0.203125, y: 0.234375 }, + { x: 0.234375, y: 0.234375 }, + { x: 0.234375, y: 0.234375 }, + { x: 0.265625, y: 0.234375 }, + { x: 0.265625, y: 0.234375 }, + { x: 0.296875, y: 0.234375 }, + { x: 0.296875, y: 0.234375 }, + { x: 0.328125, y: 0.234375 }, + { x: 0.328125, y: 0.234375 }, + { x: 0.359375, y: 0.234375 }, + { x: 0.359375, y: 0.234375 }, + { x: 0.390625, y: 0.234375 }, + { x: 0.390625, y: 0.234375 }, + { x: 0.421875, y: 0.234375 }, + { x: 0.421875, y: 0.234375 }, + { x: 0.453125, y: 0.234375 }, + { x: 0.453125, y: 0.234375 }, + { x: 0.484375, y: 0.234375 }, + { x: 0.484375, y: 0.234375 }, + { x: 0.515625, y: 0.234375 }, + { x: 0.515625, y: 0.234375 }, + { x: 0.546875, y: 0.234375 }, + { x: 0.546875, y: 0.234375 }, + { x: 0.578125, y: 0.234375 }, + { x: 0.578125, y: 0.234375 }, + { x: 0.609375, y: 0.234375 }, + { x: 0.609375, y: 0.234375 }, + { x: 0.640625, y: 0.234375 }, + { x: 0.640625, y: 0.234375 }, + { x: 0.671875, y: 0.234375 }, + { x: 0.671875, y: 0.234375 }, + { x: 0.703125, y: 0.234375 }, + { x: 0.703125, y: 0.234375 }, + { x: 0.734375, y: 0.234375 }, + { x: 0.734375, y: 0.234375 }, + { x: 0.765625, y: 0.234375 }, + { x: 0.765625, y: 0.234375 }, + { x: 0.796875, y: 0.234375 }, + { x: 0.796875, y: 0.234375 }, + { x: 0.828125, y: 0.234375 }, + { x: 0.828125, y: 0.234375 }, + { x: 0.859375, y: 0.234375 }, + { x: 0.859375, y: 0.234375 }, + { x: 0.890625, y: 0.234375 }, + { x: 0.890625, y: 0.234375 }, + { x: 0.921875, y: 0.234375 }, + { x: 0.921875, y: 0.234375 }, + { x: 0.953125, y: 0.234375 }, + { x: 0.953125, y: 0.234375 }, + { x: 0.984375, y: 0.234375 }, + { x: 0.984375, y: 0.234375 }, + { x: 0.015625, y: 0.265625 }, + { x: 0.015625, y: 0.265625 }, + { x: 0.046875, y: 0.265625 }, + { x: 0.046875, y: 0.265625 }, + { x: 0.078125, y: 0.265625 }, + { x: 0.078125, y: 0.265625 }, + { x: 0.109375, y: 0.265625 }, + { x: 0.109375, y: 0.265625 }, + { x: 0.140625, y: 0.265625 }, + { x: 0.140625, y: 0.265625 }, + { x: 0.171875, y: 0.265625 }, + { x: 0.171875, y: 0.265625 }, + { x: 0.203125, y: 0.265625 }, + { x: 0.203125, y: 0.265625 }, + { x: 0.234375, y: 0.265625 }, + { x: 0.234375, y: 0.265625 }, + { x: 0.265625, y: 0.265625 }, + { x: 0.265625, y: 0.265625 }, + { x: 0.296875, y: 0.265625 }, + { x: 0.296875, y: 0.265625 }, + { x: 0.328125, y: 0.265625 }, + { x: 0.328125, y: 0.265625 }, + { x: 0.359375, y: 0.265625 }, + { x: 0.359375, y: 0.265625 }, + { x: 0.390625, y: 0.265625 }, + { x: 0.390625, y: 0.265625 }, + { x: 0.421875, y: 0.265625 }, + { x: 0.421875, y: 0.265625 }, + { x: 0.453125, y: 0.265625 }, + { x: 0.453125, y: 0.265625 }, + { x: 0.484375, y: 0.265625 }, + { x: 0.484375, y: 0.265625 }, + { x: 0.515625, y: 0.265625 }, + { x: 0.515625, y: 0.265625 }, + { x: 0.546875, y: 0.265625 }, + { x: 0.546875, y: 0.265625 }, + { x: 0.578125, y: 0.265625 }, + { x: 0.578125, y: 0.265625 }, + { x: 0.609375, y: 0.265625 }, + { x: 0.609375, y: 0.265625 }, + { x: 0.640625, y: 0.265625 }, + { x: 0.640625, y: 0.265625 }, + { x: 0.671875, y: 0.265625 }, + { x: 0.671875, y: 0.265625 }, + { x: 0.703125, y: 0.265625 }, + { x: 0.703125, y: 0.265625 }, + { x: 0.734375, y: 0.265625 }, + { x: 0.734375, y: 0.265625 }, + { x: 0.765625, y: 0.265625 }, + { x: 0.765625, y: 0.265625 }, + { x: 0.796875, y: 0.265625 }, + { x: 0.796875, y: 0.265625 }, + { x: 0.828125, y: 0.265625 }, + { x: 0.828125, y: 0.265625 }, + { x: 0.859375, y: 0.265625 }, + { x: 0.859375, y: 0.265625 }, + { x: 0.890625, y: 0.265625 }, + { x: 0.890625, y: 0.265625 }, + { x: 0.921875, y: 0.265625 }, + { x: 0.921875, y: 0.265625 }, + { x: 0.953125, y: 0.265625 }, + { x: 0.953125, y: 0.265625 }, + { x: 0.984375, y: 0.265625 }, + { x: 0.984375, y: 0.265625 }, + { x: 0.015625, y: 0.296875 }, + { x: 0.015625, y: 0.296875 }, + { x: 0.046875, y: 0.296875 }, + { x: 0.046875, y: 0.296875 }, + { x: 0.078125, y: 0.296875 }, + { x: 0.078125, y: 0.296875 }, + { x: 0.109375, y: 0.296875 }, + { x: 0.109375, y: 0.296875 }, + { x: 0.140625, y: 0.296875 }, + { x: 0.140625, y: 0.296875 }, + { x: 0.171875, y: 0.296875 }, + { x: 0.171875, y: 0.296875 }, + { x: 0.203125, y: 0.296875 }, + { x: 0.203125, y: 0.296875 }, + { x: 0.234375, y: 0.296875 }, + { x: 0.234375, y: 0.296875 }, + { x: 0.265625, y: 0.296875 }, + { x: 0.265625, y: 0.296875 }, + { x: 0.296875, y: 0.296875 }, + { x: 0.296875, y: 0.296875 }, + { x: 0.328125, y: 0.296875 }, + { x: 0.328125, y: 0.296875 }, + { x: 0.359375, y: 0.296875 }, + { x: 0.359375, y: 0.296875 }, + { x: 0.390625, y: 0.296875 }, + { x: 0.390625, y: 0.296875 }, + { x: 0.421875, y: 0.296875 }, + { x: 0.421875, y: 0.296875 }, + { x: 0.453125, y: 0.296875 }, + { x: 0.453125, y: 0.296875 }, + { x: 0.484375, y: 0.296875 }, + { x: 0.484375, y: 0.296875 }, + { x: 0.515625, y: 0.296875 }, + { x: 0.515625, y: 0.296875 }, + { x: 0.546875, y: 0.296875 }, + { x: 0.546875, y: 0.296875 }, + { x: 0.578125, y: 0.296875 }, + { x: 0.578125, y: 0.296875 }, + { x: 0.609375, y: 0.296875 }, + { x: 0.609375, y: 0.296875 }, + { x: 0.640625, y: 0.296875 }, + { x: 0.640625, y: 0.296875 }, + { x: 0.671875, y: 0.296875 }, + { x: 0.671875, y: 0.296875 }, + { x: 0.703125, y: 0.296875 }, + { x: 0.703125, y: 0.296875 }, + { x: 0.734375, y: 0.296875 }, + { x: 0.734375, y: 0.296875 }, + { x: 0.765625, y: 0.296875 }, + { x: 0.765625, y: 0.296875 }, + { x: 0.796875, y: 0.296875 }, + { x: 0.796875, y: 0.296875 }, + { x: 0.828125, y: 0.296875 }, + { x: 0.828125, y: 0.296875 }, + { x: 0.859375, y: 0.296875 }, + { x: 0.859375, y: 0.296875 }, + { x: 0.890625, y: 0.296875 }, + { x: 0.890625, y: 0.296875 }, + { x: 0.921875, y: 0.296875 }, + { x: 0.921875, y: 0.296875 }, + { x: 0.953125, y: 0.296875 }, + { x: 0.953125, y: 0.296875 }, + { x: 0.984375, y: 0.296875 }, + { x: 0.984375, y: 0.296875 }, + { x: 0.015625, y: 0.328125 }, + { x: 0.015625, y: 0.328125 }, + { x: 0.046875, y: 0.328125 }, + { x: 0.046875, y: 0.328125 }, + { x: 0.078125, y: 0.328125 }, + { x: 0.078125, y: 0.328125 }, + { x: 0.109375, y: 0.328125 }, + { x: 0.109375, y: 0.328125 }, + { x: 0.140625, y: 0.328125 }, + { x: 0.140625, y: 0.328125 }, + { x: 0.171875, y: 0.328125 }, + { x: 0.171875, y: 0.328125 }, + { x: 0.203125, y: 0.328125 }, + { x: 0.203125, y: 0.328125 }, + { x: 0.234375, y: 0.328125 }, + { x: 0.234375, y: 0.328125 }, + { x: 0.265625, y: 0.328125 }, + { x: 0.265625, y: 0.328125 }, + { x: 0.296875, y: 0.328125 }, + { x: 0.296875, y: 0.328125 }, + { x: 0.328125, y: 0.328125 }, + { x: 0.328125, y: 0.328125 }, + { x: 0.359375, y: 0.328125 }, + { x: 0.359375, y: 0.328125 }, + { x: 0.390625, y: 0.328125 }, + { x: 0.390625, y: 0.328125 }, + { x: 0.421875, y: 0.328125 }, + { x: 0.421875, y: 0.328125 }, + { x: 0.453125, y: 0.328125 }, + { x: 0.453125, y: 0.328125 }, + { x: 0.484375, y: 0.328125 }, + { x: 0.484375, y: 0.328125 }, + { x: 0.515625, y: 0.328125 }, + { x: 0.515625, y: 0.328125 }, + { x: 0.546875, y: 0.328125 }, + { x: 0.546875, y: 0.328125 }, + { x: 0.578125, y: 0.328125 }, + { x: 0.578125, y: 0.328125 }, + { x: 0.609375, y: 0.328125 }, + { x: 0.609375, y: 0.328125 }, + { x: 0.640625, y: 0.328125 }, + { x: 0.640625, y: 0.328125 }, + { x: 0.671875, y: 0.328125 }, + { x: 0.671875, y: 0.328125 }, + { x: 0.703125, y: 0.328125 }, + { x: 0.703125, y: 0.328125 }, + { x: 0.734375, y: 0.328125 }, + { x: 0.734375, y: 0.328125 }, + { x: 0.765625, y: 0.328125 }, + { x: 0.765625, y: 0.328125 }, + { x: 0.796875, y: 0.328125 }, + { x: 0.796875, y: 0.328125 }, + { x: 0.828125, y: 0.328125 }, + { x: 0.828125, y: 0.328125 }, + { x: 0.859375, y: 0.328125 }, + { x: 0.859375, y: 0.328125 }, + { x: 0.890625, y: 0.328125 }, + { x: 0.890625, y: 0.328125 }, + { x: 0.921875, y: 0.328125 }, + { x: 0.921875, y: 0.328125 }, + { x: 0.953125, y: 0.328125 }, + { x: 0.953125, y: 0.328125 }, + { x: 0.984375, y: 0.328125 }, + { x: 0.984375, y: 0.328125 }, + { x: 0.015625, y: 0.359375 }, + { x: 0.015625, y: 0.359375 }, + { x: 0.046875, y: 0.359375 }, + { x: 0.046875, y: 0.359375 }, + { x: 0.078125, y: 0.359375 }, + { x: 0.078125, y: 0.359375 }, + { x: 0.109375, y: 0.359375 }, + { x: 0.109375, y: 0.359375 }, + { x: 0.140625, y: 0.359375 }, + { x: 0.140625, y: 0.359375 }, + { x: 0.171875, y: 0.359375 }, + { x: 0.171875, y: 0.359375 }, + { x: 0.203125, y: 0.359375 }, + { x: 0.203125, y: 0.359375 }, + { x: 0.234375, y: 0.359375 }, + { x: 0.234375, y: 0.359375 }, + { x: 0.265625, y: 0.359375 }, + { x: 0.265625, y: 0.359375 }, + { x: 0.296875, y: 0.359375 }, + { x: 0.296875, y: 0.359375 }, + { x: 0.328125, y: 0.359375 }, + { x: 0.328125, y: 0.359375 }, + { x: 0.359375, y: 0.359375 }, + { x: 0.359375, y: 0.359375 }, + { x: 0.390625, y: 0.359375 }, + { x: 0.390625, y: 0.359375 }, + { x: 0.421875, y: 0.359375 }, + { x: 0.421875, y: 0.359375 }, + { x: 0.453125, y: 0.359375 }, + { x: 0.453125, y: 0.359375 }, + { x: 0.484375, y: 0.359375 }, + { x: 0.484375, y: 0.359375 }, + { x: 0.515625, y: 0.359375 }, + { x: 0.515625, y: 0.359375 }, + { x: 0.546875, y: 0.359375 }, + { x: 0.546875, y: 0.359375 }, + { x: 0.578125, y: 0.359375 }, + { x: 0.578125, y: 0.359375 }, + { x: 0.609375, y: 0.359375 }, + { x: 0.609375, y: 0.359375 }, + { x: 0.640625, y: 0.359375 }, + { x: 0.640625, y: 0.359375 }, + { x: 0.671875, y: 0.359375 }, + { x: 0.671875, y: 0.359375 }, + { x: 0.703125, y: 0.359375 }, + { x: 0.703125, y: 0.359375 }, + { x: 0.734375, y: 0.359375 }, + { x: 0.734375, y: 0.359375 }, + { x: 0.765625, y: 0.359375 }, + { x: 0.765625, y: 0.359375 }, + { x: 0.796875, y: 0.359375 }, + { x: 0.796875, y: 0.359375 }, + { x: 0.828125, y: 0.359375 }, + { x: 0.828125, y: 0.359375 }, + { x: 0.859375, y: 0.359375 }, + { x: 0.859375, y: 0.359375 }, + { x: 0.890625, y: 0.359375 }, + { x: 0.890625, y: 0.359375 }, + { x: 0.921875, y: 0.359375 }, + { x: 0.921875, y: 0.359375 }, + { x: 0.953125, y: 0.359375 }, + { x: 0.953125, y: 0.359375 }, + { x: 0.984375, y: 0.359375 }, + { x: 0.984375, y: 0.359375 }, + { x: 0.015625, y: 0.390625 }, + { x: 0.015625, y: 0.390625 }, + { x: 0.046875, y: 0.390625 }, + { x: 0.046875, y: 0.390625 }, + { x: 0.078125, y: 0.390625 }, + { x: 0.078125, y: 0.390625 }, + { x: 0.109375, y: 0.390625 }, + { x: 0.109375, y: 0.390625 }, + { x: 0.140625, y: 0.390625 }, + { x: 0.140625, y: 0.390625 }, + { x: 0.171875, y: 0.390625 }, + { x: 0.171875, y: 0.390625 }, + { x: 0.203125, y: 0.390625 }, + { x: 0.203125, y: 0.390625 }, + { x: 0.234375, y: 0.390625 }, + { x: 0.234375, y: 0.390625 }, + { x: 0.265625, y: 0.390625 }, + { x: 0.265625, y: 0.390625 }, + { x: 0.296875, y: 0.390625 }, + { x: 0.296875, y: 0.390625 }, + { x: 0.328125, y: 0.390625 }, + { x: 0.328125, y: 0.390625 }, + { x: 0.359375, y: 0.390625 }, + { x: 0.359375, y: 0.390625 }, + { x: 0.390625, y: 0.390625 }, + { x: 0.390625, y: 0.390625 }, + { x: 0.421875, y: 0.390625 }, + { x: 0.421875, y: 0.390625 }, + { x: 0.453125, y: 0.390625 }, + { x: 0.453125, y: 0.390625 }, + { x: 0.484375, y: 0.390625 }, + { x: 0.484375, y: 0.390625 }, + { x: 0.515625, y: 0.390625 }, + { x: 0.515625, y: 0.390625 }, + { x: 0.546875, y: 0.390625 }, + { x: 0.546875, y: 0.390625 }, + { x: 0.578125, y: 0.390625 }, + { x: 0.578125, y: 0.390625 }, + { x: 0.609375, y: 0.390625 }, + { x: 0.609375, y: 0.390625 }, + { x: 0.640625, y: 0.390625 }, + { x: 0.640625, y: 0.390625 }, + { x: 0.671875, y: 0.390625 }, + { x: 0.671875, y: 0.390625 }, + { x: 0.703125, y: 0.390625 }, + { x: 0.703125, y: 0.390625 }, + { x: 0.734375, y: 0.390625 }, + { x: 0.734375, y: 0.390625 }, + { x: 0.765625, y: 0.390625 }, + { x: 0.765625, y: 0.390625 }, + { x: 0.796875, y: 0.390625 }, + { x: 0.796875, y: 0.390625 }, + { x: 0.828125, y: 0.390625 }, + { x: 0.828125, y: 0.390625 }, + { x: 0.859375, y: 0.390625 }, + { x: 0.859375, y: 0.390625 }, + { x: 0.890625, y: 0.390625 }, + { x: 0.890625, y: 0.390625 }, + { x: 0.921875, y: 0.390625 }, + { x: 0.921875, y: 0.390625 }, + { x: 0.953125, y: 0.390625 }, + { x: 0.953125, y: 0.390625 }, + { x: 0.984375, y: 0.390625 }, + { x: 0.984375, y: 0.390625 }, + { x: 0.015625, y: 0.421875 }, + { x: 0.015625, y: 0.421875 }, + { x: 0.046875, y: 0.421875 }, + { x: 0.046875, y: 0.421875 }, + { x: 0.078125, y: 0.421875 }, + { x: 0.078125, y: 0.421875 }, + { x: 0.109375, y: 0.421875 }, + { x: 0.109375, y: 0.421875 }, + { x: 0.140625, y: 0.421875 }, + { x: 0.140625, y: 0.421875 }, + { x: 0.171875, y: 0.421875 }, + { x: 0.171875, y: 0.421875 }, + { x: 0.203125, y: 0.421875 }, + { x: 0.203125, y: 0.421875 }, + { x: 0.234375, y: 0.421875 }, + { x: 0.234375, y: 0.421875 }, + { x: 0.265625, y: 0.421875 }, + { x: 0.265625, y: 0.421875 }, + { x: 0.296875, y: 0.421875 }, + { x: 0.296875, y: 0.421875 }, + { x: 0.328125, y: 0.421875 }, + { x: 0.328125, y: 0.421875 }, + { x: 0.359375, y: 0.421875 }, + { x: 0.359375, y: 0.421875 }, + { x: 0.390625, y: 0.421875 }, + { x: 0.390625, y: 0.421875 }, + { x: 0.421875, y: 0.421875 }, + { x: 0.421875, y: 0.421875 }, + { x: 0.453125, y: 0.421875 }, + { x: 0.453125, y: 0.421875 }, + { x: 0.484375, y: 0.421875 }, + { x: 0.484375, y: 0.421875 }, + { x: 0.515625, y: 0.421875 }, + { x: 0.515625, y: 0.421875 }, + { x: 0.546875, y: 0.421875 }, + { x: 0.546875, y: 0.421875 }, + { x: 0.578125, y: 0.421875 }, + { x: 0.578125, y: 0.421875 }, + { x: 0.609375, y: 0.421875 }, + { x: 0.609375, y: 0.421875 }, + { x: 0.640625, y: 0.421875 }, + { x: 0.640625, y: 0.421875 }, + { x: 0.671875, y: 0.421875 }, + { x: 0.671875, y: 0.421875 }, + { x: 0.703125, y: 0.421875 }, + { x: 0.703125, y: 0.421875 }, + { x: 0.734375, y: 0.421875 }, + { x: 0.734375, y: 0.421875 }, + { x: 0.765625, y: 0.421875 }, + { x: 0.765625, y: 0.421875 }, + { x: 0.796875, y: 0.421875 }, + { x: 0.796875, y: 0.421875 }, + { x: 0.828125, y: 0.421875 }, + { x: 0.828125, y: 0.421875 }, + { x: 0.859375, y: 0.421875 }, + { x: 0.859375, y: 0.421875 }, + { x: 0.890625, y: 0.421875 }, + { x: 0.890625, y: 0.421875 }, + { x: 0.921875, y: 0.421875 }, + { x: 0.921875, y: 0.421875 }, + { x: 0.953125, y: 0.421875 }, + { x: 0.953125, y: 0.421875 }, + { x: 0.984375, y: 0.421875 }, + { x: 0.984375, y: 0.421875 }, + { x: 0.015625, y: 0.453125 }, + { x: 0.015625, y: 0.453125 }, + { x: 0.046875, y: 0.453125 }, + { x: 0.046875, y: 0.453125 }, + { x: 0.078125, y: 0.453125 }, + { x: 0.078125, y: 0.453125 }, + { x: 0.109375, y: 0.453125 }, + { x: 0.109375, y: 0.453125 }, + { x: 0.140625, y: 0.453125 }, + { x: 0.140625, y: 0.453125 }, + { x: 0.171875, y: 0.453125 }, + { x: 0.171875, y: 0.453125 }, + { x: 0.203125, y: 0.453125 }, + { x: 0.203125, y: 0.453125 }, + { x: 0.234375, y: 0.453125 }, + { x: 0.234375, y: 0.453125 }, + { x: 0.265625, y: 0.453125 }, + { x: 0.265625, y: 0.453125 }, + { x: 0.296875, y: 0.453125 }, + { x: 0.296875, y: 0.453125 }, + { x: 0.328125, y: 0.453125 }, + { x: 0.328125, y: 0.453125 }, + { x: 0.359375, y: 0.453125 }, + { x: 0.359375, y: 0.453125 }, + { x: 0.390625, y: 0.453125 }, + { x: 0.390625, y: 0.453125 }, + { x: 0.421875, y: 0.453125 }, + { x: 0.421875, y: 0.453125 }, + { x: 0.453125, y: 0.453125 }, + { x: 0.453125, y: 0.453125 }, + { x: 0.484375, y: 0.453125 }, + { x: 0.484375, y: 0.453125 }, + { x: 0.515625, y: 0.453125 }, + { x: 0.515625, y: 0.453125 }, + { x: 0.546875, y: 0.453125 }, + { x: 0.546875, y: 0.453125 }, + { x: 0.578125, y: 0.453125 }, + { x: 0.578125, y: 0.453125 }, + { x: 0.609375, y: 0.453125 }, + { x: 0.609375, y: 0.453125 }, + { x: 0.640625, y: 0.453125 }, + { x: 0.640625, y: 0.453125 }, + { x: 0.671875, y: 0.453125 }, + { x: 0.671875, y: 0.453125 }, + { x: 0.703125, y: 0.453125 }, + { x: 0.703125, y: 0.453125 }, + { x: 0.734375, y: 0.453125 }, + { x: 0.734375, y: 0.453125 }, + { x: 0.765625, y: 0.453125 }, + { x: 0.765625, y: 0.453125 }, + { x: 0.796875, y: 0.453125 }, + { x: 0.796875, y: 0.453125 }, + { x: 0.828125, y: 0.453125 }, + { x: 0.828125, y: 0.453125 }, + { x: 0.859375, y: 0.453125 }, + { x: 0.859375, y: 0.453125 }, + { x: 0.890625, y: 0.453125 }, + { x: 0.890625, y: 0.453125 }, + { x: 0.921875, y: 0.453125 }, + { x: 0.921875, y: 0.453125 }, + { x: 0.953125, y: 0.453125 }, + { x: 0.953125, y: 0.453125 }, + { x: 0.984375, y: 0.453125 }, + { x: 0.984375, y: 0.453125 }, + { x: 0.015625, y: 0.484375 }, + { x: 0.015625, y: 0.484375 }, + { x: 0.046875, y: 0.484375 }, + { x: 0.046875, y: 0.484375 }, + { x: 0.078125, y: 0.484375 }, + { x: 0.078125, y: 0.484375 }, + { x: 0.109375, y: 0.484375 }, + { x: 0.109375, y: 0.484375 }, + { x: 0.140625, y: 0.484375 }, + { x: 0.140625, y: 0.484375 }, + { x: 0.171875, y: 0.484375 }, + { x: 0.171875, y: 0.484375 }, + { x: 0.203125, y: 0.484375 }, + { x: 0.203125, y: 0.484375 }, + { x: 0.234375, y: 0.484375 }, + { x: 0.234375, y: 0.484375 }, + { x: 0.265625, y: 0.484375 }, + { x: 0.265625, y: 0.484375 }, + { x: 0.296875, y: 0.484375 }, + { x: 0.296875, y: 0.484375 }, + { x: 0.328125, y: 0.484375 }, + { x: 0.328125, y: 0.484375 }, + { x: 0.359375, y: 0.484375 }, + { x: 0.359375, y: 0.484375 }, + { x: 0.390625, y: 0.484375 }, + { x: 0.390625, y: 0.484375 }, + { x: 0.421875, y: 0.484375 }, + { x: 0.421875, y: 0.484375 }, + { x: 0.453125, y: 0.484375 }, + { x: 0.453125, y: 0.484375 }, + { x: 0.484375, y: 0.484375 }, + { x: 0.484375, y: 0.484375 }, + { x: 0.515625, y: 0.484375 }, + { x: 0.515625, y: 0.484375 }, + { x: 0.546875, y: 0.484375 }, + { x: 0.546875, y: 0.484375 }, + { x: 0.578125, y: 0.484375 }, + { x: 0.578125, y: 0.484375 }, + { x: 0.609375, y: 0.484375 }, + { x: 0.609375, y: 0.484375 }, + { x: 0.640625, y: 0.484375 }, + { x: 0.640625, y: 0.484375 }, + { x: 0.671875, y: 0.484375 }, + { x: 0.671875, y: 0.484375 }, + { x: 0.703125, y: 0.484375 }, + { x: 0.703125, y: 0.484375 }, + { x: 0.734375, y: 0.484375 }, + { x: 0.734375, y: 0.484375 }, + { x: 0.765625, y: 0.484375 }, + { x: 0.765625, y: 0.484375 }, + { x: 0.796875, y: 0.484375 }, + { x: 0.796875, y: 0.484375 }, + { x: 0.828125, y: 0.484375 }, + { x: 0.828125, y: 0.484375 }, + { x: 0.859375, y: 0.484375 }, + { x: 0.859375, y: 0.484375 }, + { x: 0.890625, y: 0.484375 }, + { x: 0.890625, y: 0.484375 }, + { x: 0.921875, y: 0.484375 }, + { x: 0.921875, y: 0.484375 }, + { x: 0.953125, y: 0.484375 }, + { x: 0.953125, y: 0.484375 }, + { x: 0.984375, y: 0.484375 }, + { x: 0.984375, y: 0.484375 }, + { x: 0.015625, y: 0.515625 }, + { x: 0.015625, y: 0.515625 }, + { x: 0.046875, y: 0.515625 }, + { x: 0.046875, y: 0.515625 }, + { x: 0.078125, y: 0.515625 }, + { x: 0.078125, y: 0.515625 }, + { x: 0.109375, y: 0.515625 }, + { x: 0.109375, y: 0.515625 }, + { x: 0.140625, y: 0.515625 }, + { x: 0.140625, y: 0.515625 }, + { x: 0.171875, y: 0.515625 }, + { x: 0.171875, y: 0.515625 }, + { x: 0.203125, y: 0.515625 }, + { x: 0.203125, y: 0.515625 }, + { x: 0.234375, y: 0.515625 }, + { x: 0.234375, y: 0.515625 }, + { x: 0.265625, y: 0.515625 }, + { x: 0.265625, y: 0.515625 }, + { x: 0.296875, y: 0.515625 }, + { x: 0.296875, y: 0.515625 }, + { x: 0.328125, y: 0.515625 }, + { x: 0.328125, y: 0.515625 }, + { x: 0.359375, y: 0.515625 }, + { x: 0.359375, y: 0.515625 }, + { x: 0.390625, y: 0.515625 }, + { x: 0.390625, y: 0.515625 }, + { x: 0.421875, y: 0.515625 }, + { x: 0.421875, y: 0.515625 }, + { x: 0.453125, y: 0.515625 }, + { x: 0.453125, y: 0.515625 }, + { x: 0.484375, y: 0.515625 }, + { x: 0.484375, y: 0.515625 }, + { x: 0.515625, y: 0.515625 }, + { x: 0.515625, y: 0.515625 }, + { x: 0.546875, y: 0.515625 }, + { x: 0.546875, y: 0.515625 }, + { x: 0.578125, y: 0.515625 }, + { x: 0.578125, y: 0.515625 }, + { x: 0.609375, y: 0.515625 }, + { x: 0.609375, y: 0.515625 }, + { x: 0.640625, y: 0.515625 }, + { x: 0.640625, y: 0.515625 }, + { x: 0.671875, y: 0.515625 }, + { x: 0.671875, y: 0.515625 }, + { x: 0.703125, y: 0.515625 }, + { x: 0.703125, y: 0.515625 }, + { x: 0.734375, y: 0.515625 }, + { x: 0.734375, y: 0.515625 }, + { x: 0.765625, y: 0.515625 }, + { x: 0.765625, y: 0.515625 }, + { x: 0.796875, y: 0.515625 }, + { x: 0.796875, y: 0.515625 }, + { x: 0.828125, y: 0.515625 }, + { x: 0.828125, y: 0.515625 }, + { x: 0.859375, y: 0.515625 }, + { x: 0.859375, y: 0.515625 }, + { x: 0.890625, y: 0.515625 }, + { x: 0.890625, y: 0.515625 }, + { x: 0.921875, y: 0.515625 }, + { x: 0.921875, y: 0.515625 }, + { x: 0.953125, y: 0.515625 }, + { x: 0.953125, y: 0.515625 }, + { x: 0.984375, y: 0.515625 }, + { x: 0.984375, y: 0.515625 }, + { x: 0.015625, y: 0.546875 }, + { x: 0.015625, y: 0.546875 }, + { x: 0.046875, y: 0.546875 }, + { x: 0.046875, y: 0.546875 }, + { x: 0.078125, y: 0.546875 }, + { x: 0.078125, y: 0.546875 }, + { x: 0.109375, y: 0.546875 }, + { x: 0.109375, y: 0.546875 }, + { x: 0.140625, y: 0.546875 }, + { x: 0.140625, y: 0.546875 }, + { x: 0.171875, y: 0.546875 }, + { x: 0.171875, y: 0.546875 }, + { x: 0.203125, y: 0.546875 }, + { x: 0.203125, y: 0.546875 }, + { x: 0.234375, y: 0.546875 }, + { x: 0.234375, y: 0.546875 }, + { x: 0.265625, y: 0.546875 }, + { x: 0.265625, y: 0.546875 }, + { x: 0.296875, y: 0.546875 }, + { x: 0.296875, y: 0.546875 }, + { x: 0.328125, y: 0.546875 }, + { x: 0.328125, y: 0.546875 }, + { x: 0.359375, y: 0.546875 }, + { x: 0.359375, y: 0.546875 }, + { x: 0.390625, y: 0.546875 }, + { x: 0.390625, y: 0.546875 }, + { x: 0.421875, y: 0.546875 }, + { x: 0.421875, y: 0.546875 }, + { x: 0.453125, y: 0.546875 }, + { x: 0.453125, y: 0.546875 }, + { x: 0.484375, y: 0.546875 }, + { x: 0.484375, y: 0.546875 }, + { x: 0.515625, y: 0.546875 }, + { x: 0.515625, y: 0.546875 }, + { x: 0.546875, y: 0.546875 }, + { x: 0.546875, y: 0.546875 }, + { x: 0.578125, y: 0.546875 }, + { x: 0.578125, y: 0.546875 }, + { x: 0.609375, y: 0.546875 }, + { x: 0.609375, y: 0.546875 }, + { x: 0.640625, y: 0.546875 }, + { x: 0.640625, y: 0.546875 }, + { x: 0.671875, y: 0.546875 }, + { x: 0.671875, y: 0.546875 }, + { x: 0.703125, y: 0.546875 }, + { x: 0.703125, y: 0.546875 }, + { x: 0.734375, y: 0.546875 }, + { x: 0.734375, y: 0.546875 }, + { x: 0.765625, y: 0.546875 }, + { x: 0.765625, y: 0.546875 }, + { x: 0.796875, y: 0.546875 }, + { x: 0.796875, y: 0.546875 }, + { x: 0.828125, y: 0.546875 }, + { x: 0.828125, y: 0.546875 }, + { x: 0.859375, y: 0.546875 }, + { x: 0.859375, y: 0.546875 }, + { x: 0.890625, y: 0.546875 }, + { x: 0.890625, y: 0.546875 }, + { x: 0.921875, y: 0.546875 }, + { x: 0.921875, y: 0.546875 }, + { x: 0.953125, y: 0.546875 }, + { x: 0.953125, y: 0.546875 }, + { x: 0.984375, y: 0.546875 }, + { x: 0.984375, y: 0.546875 }, + { x: 0.015625, y: 0.578125 }, + { x: 0.015625, y: 0.578125 }, + { x: 0.046875, y: 0.578125 }, + { x: 0.046875, y: 0.578125 }, + { x: 0.078125, y: 0.578125 }, + { x: 0.078125, y: 0.578125 }, + { x: 0.109375, y: 0.578125 }, + { x: 0.109375, y: 0.578125 }, + { x: 0.140625, y: 0.578125 }, + { x: 0.140625, y: 0.578125 }, + { x: 0.171875, y: 0.578125 }, + { x: 0.171875, y: 0.578125 }, + { x: 0.203125, y: 0.578125 }, + { x: 0.203125, y: 0.578125 }, + { x: 0.234375, y: 0.578125 }, + { x: 0.234375, y: 0.578125 }, + { x: 0.265625, y: 0.578125 }, + { x: 0.265625, y: 0.578125 }, + { x: 0.296875, y: 0.578125 }, + { x: 0.296875, y: 0.578125 }, + { x: 0.328125, y: 0.578125 }, + { x: 0.328125, y: 0.578125 }, + { x: 0.359375, y: 0.578125 }, + { x: 0.359375, y: 0.578125 }, + { x: 0.390625, y: 0.578125 }, + { x: 0.390625, y: 0.578125 }, + { x: 0.421875, y: 0.578125 }, + { x: 0.421875, y: 0.578125 }, + { x: 0.453125, y: 0.578125 }, + { x: 0.453125, y: 0.578125 }, + { x: 0.484375, y: 0.578125 }, + { x: 0.484375, y: 0.578125 }, + { x: 0.515625, y: 0.578125 }, + { x: 0.515625, y: 0.578125 }, + { x: 0.546875, y: 0.578125 }, + { x: 0.546875, y: 0.578125 }, + { x: 0.578125, y: 0.578125 }, + { x: 0.578125, y: 0.578125 }, + { x: 0.609375, y: 0.578125 }, + { x: 0.609375, y: 0.578125 }, + { x: 0.640625, y: 0.578125 }, + { x: 0.640625, y: 0.578125 }, + { x: 0.671875, y: 0.578125 }, + { x: 0.671875, y: 0.578125 }, + { x: 0.703125, y: 0.578125 }, + { x: 0.703125, y: 0.578125 }, + { x: 0.734375, y: 0.578125 }, + { x: 0.734375, y: 0.578125 }, + { x: 0.765625, y: 0.578125 }, + { x: 0.765625, y: 0.578125 }, + { x: 0.796875, y: 0.578125 }, + { x: 0.796875, y: 0.578125 }, + { x: 0.828125, y: 0.578125 }, + { x: 0.828125, y: 0.578125 }, + { x: 0.859375, y: 0.578125 }, + { x: 0.859375, y: 0.578125 }, + { x: 0.890625, y: 0.578125 }, + { x: 0.890625, y: 0.578125 }, + { x: 0.921875, y: 0.578125 }, + { x: 0.921875, y: 0.578125 }, + { x: 0.953125, y: 0.578125 }, + { x: 0.953125, y: 0.578125 }, + { x: 0.984375, y: 0.578125 }, + { x: 0.984375, y: 0.578125 }, + { x: 0.015625, y: 0.609375 }, + { x: 0.015625, y: 0.609375 }, + { x: 0.046875, y: 0.609375 }, + { x: 0.046875, y: 0.609375 }, + { x: 0.078125, y: 0.609375 }, + { x: 0.078125, y: 0.609375 }, + { x: 0.109375, y: 0.609375 }, + { x: 0.109375, y: 0.609375 }, + { x: 0.140625, y: 0.609375 }, + { x: 0.140625, y: 0.609375 }, + { x: 0.171875, y: 0.609375 }, + { x: 0.171875, y: 0.609375 }, + { x: 0.203125, y: 0.609375 }, + { x: 0.203125, y: 0.609375 }, + { x: 0.234375, y: 0.609375 }, + { x: 0.234375, y: 0.609375 }, + { x: 0.265625, y: 0.609375 }, + { x: 0.265625, y: 0.609375 }, + { x: 0.296875, y: 0.609375 }, + { x: 0.296875, y: 0.609375 }, + { x: 0.328125, y: 0.609375 }, + { x: 0.328125, y: 0.609375 }, + { x: 0.359375, y: 0.609375 }, + { x: 0.359375, y: 0.609375 }, + { x: 0.390625, y: 0.609375 }, + { x: 0.390625, y: 0.609375 }, + { x: 0.421875, y: 0.609375 }, + { x: 0.421875, y: 0.609375 }, + { x: 0.453125, y: 0.609375 }, + { x: 0.453125, y: 0.609375 }, + { x: 0.484375, y: 0.609375 }, + { x: 0.484375, y: 0.609375 }, + { x: 0.515625, y: 0.609375 }, + { x: 0.515625, y: 0.609375 }, + { x: 0.546875, y: 0.609375 }, + { x: 0.546875, y: 0.609375 }, + { x: 0.578125, y: 0.609375 }, + { x: 0.578125, y: 0.609375 }, + { x: 0.609375, y: 0.609375 }, + { x: 0.609375, y: 0.609375 }, + { x: 0.640625, y: 0.609375 }, + { x: 0.640625, y: 0.609375 }, + { x: 0.671875, y: 0.609375 }, + { x: 0.671875, y: 0.609375 }, + { x: 0.703125, y: 0.609375 }, + { x: 0.703125, y: 0.609375 }, + { x: 0.734375, y: 0.609375 }, + { x: 0.734375, y: 0.609375 }, + { x: 0.765625, y: 0.609375 }, + { x: 0.765625, y: 0.609375 }, + { x: 0.796875, y: 0.609375 }, + { x: 0.796875, y: 0.609375 }, + { x: 0.828125, y: 0.609375 }, + { x: 0.828125, y: 0.609375 }, + { x: 0.859375, y: 0.609375 }, + { x: 0.859375, y: 0.609375 }, + { x: 0.890625, y: 0.609375 }, + { x: 0.890625, y: 0.609375 }, + { x: 0.921875, y: 0.609375 }, + { x: 0.921875, y: 0.609375 }, + { x: 0.953125, y: 0.609375 }, + { x: 0.953125, y: 0.609375 }, + { x: 0.984375, y: 0.609375 }, + { x: 0.984375, y: 0.609375 }, + { x: 0.015625, y: 0.640625 }, + { x: 0.015625, y: 0.640625 }, + { x: 0.046875, y: 0.640625 }, + { x: 0.046875, y: 0.640625 }, + { x: 0.078125, y: 0.640625 }, + { x: 0.078125, y: 0.640625 }, + { x: 0.109375, y: 0.640625 }, + { x: 0.109375, y: 0.640625 }, + { x: 0.140625, y: 0.640625 }, + { x: 0.140625, y: 0.640625 }, + { x: 0.171875, y: 0.640625 }, + { x: 0.171875, y: 0.640625 }, + { x: 0.203125, y: 0.640625 }, + { x: 0.203125, y: 0.640625 }, + { x: 0.234375, y: 0.640625 }, + { x: 0.234375, y: 0.640625 }, + { x: 0.265625, y: 0.640625 }, + { x: 0.265625, y: 0.640625 }, + { x: 0.296875, y: 0.640625 }, + { x: 0.296875, y: 0.640625 }, + { x: 0.328125, y: 0.640625 }, + { x: 0.328125, y: 0.640625 }, + { x: 0.359375, y: 0.640625 }, + { x: 0.359375, y: 0.640625 }, + { x: 0.390625, y: 0.640625 }, + { x: 0.390625, y: 0.640625 }, + { x: 0.421875, y: 0.640625 }, + { x: 0.421875, y: 0.640625 }, + { x: 0.453125, y: 0.640625 }, + { x: 0.453125, y: 0.640625 }, + { x: 0.484375, y: 0.640625 }, + { x: 0.484375, y: 0.640625 }, + { x: 0.515625, y: 0.640625 }, + { x: 0.515625, y: 0.640625 }, + { x: 0.546875, y: 0.640625 }, + { x: 0.546875, y: 0.640625 }, + { x: 0.578125, y: 0.640625 }, + { x: 0.578125, y: 0.640625 }, + { x: 0.609375, y: 0.640625 }, + { x: 0.609375, y: 0.640625 }, + { x: 0.640625, y: 0.640625 }, + { x: 0.640625, y: 0.640625 }, + { x: 0.671875, y: 0.640625 }, + { x: 0.671875, y: 0.640625 }, + { x: 0.703125, y: 0.640625 }, + { x: 0.703125, y: 0.640625 }, + { x: 0.734375, y: 0.640625 }, + { x: 0.734375, y: 0.640625 }, + { x: 0.765625, y: 0.640625 }, + { x: 0.765625, y: 0.640625 }, + { x: 0.796875, y: 0.640625 }, + { x: 0.796875, y: 0.640625 }, + { x: 0.828125, y: 0.640625 }, + { x: 0.828125, y: 0.640625 }, + { x: 0.859375, y: 0.640625 }, + { x: 0.859375, y: 0.640625 }, + { x: 0.890625, y: 0.640625 }, + { x: 0.890625, y: 0.640625 }, + { x: 0.921875, y: 0.640625 }, + { x: 0.921875, y: 0.640625 }, + { x: 0.953125, y: 0.640625 }, + { x: 0.953125, y: 0.640625 }, + { x: 0.984375, y: 0.640625 }, + { x: 0.984375, y: 0.640625 }, + { x: 0.015625, y: 0.671875 }, + { x: 0.015625, y: 0.671875 }, + { x: 0.046875, y: 0.671875 }, + { x: 0.046875, y: 0.671875 }, + { x: 0.078125, y: 0.671875 }, + { x: 0.078125, y: 0.671875 }, + { x: 0.109375, y: 0.671875 }, + { x: 0.109375, y: 0.671875 }, + { x: 0.140625, y: 0.671875 }, + { x: 0.140625, y: 0.671875 }, + { x: 0.171875, y: 0.671875 }, + { x: 0.171875, y: 0.671875 }, + { x: 0.203125, y: 0.671875 }, + { x: 0.203125, y: 0.671875 }, + { x: 0.234375, y: 0.671875 }, + { x: 0.234375, y: 0.671875 }, + { x: 0.265625, y: 0.671875 }, + { x: 0.265625, y: 0.671875 }, + { x: 0.296875, y: 0.671875 }, + { x: 0.296875, y: 0.671875 }, + { x: 0.328125, y: 0.671875 }, + { x: 0.328125, y: 0.671875 }, + { x: 0.359375, y: 0.671875 }, + { x: 0.359375, y: 0.671875 }, + { x: 0.390625, y: 0.671875 }, + { x: 0.390625, y: 0.671875 }, + { x: 0.421875, y: 0.671875 }, + { x: 0.421875, y: 0.671875 }, + { x: 0.453125, y: 0.671875 }, + { x: 0.453125, y: 0.671875 }, + { x: 0.484375, y: 0.671875 }, + { x: 0.484375, y: 0.671875 }, + { x: 0.515625, y: 0.671875 }, + { x: 0.515625, y: 0.671875 }, + { x: 0.546875, y: 0.671875 }, + { x: 0.546875, y: 0.671875 }, + { x: 0.578125, y: 0.671875 }, + { x: 0.578125, y: 0.671875 }, + { x: 0.609375, y: 0.671875 }, + { x: 0.609375, y: 0.671875 }, + { x: 0.640625, y: 0.671875 }, + { x: 0.640625, y: 0.671875 }, + { x: 0.671875, y: 0.671875 }, + { x: 0.671875, y: 0.671875 }, + { x: 0.703125, y: 0.671875 }, + { x: 0.703125, y: 0.671875 }, + { x: 0.734375, y: 0.671875 }, + { x: 0.734375, y: 0.671875 }, + { x: 0.765625, y: 0.671875 }, + { x: 0.765625, y: 0.671875 }, + { x: 0.796875, y: 0.671875 }, + { x: 0.796875, y: 0.671875 }, + { x: 0.828125, y: 0.671875 }, + { x: 0.828125, y: 0.671875 }, + { x: 0.859375, y: 0.671875 }, + { x: 0.859375, y: 0.671875 }, + { x: 0.890625, y: 0.671875 }, + { x: 0.890625, y: 0.671875 }, + { x: 0.921875, y: 0.671875 }, + { x: 0.921875, y: 0.671875 }, + { x: 0.953125, y: 0.671875 }, + { x: 0.953125, y: 0.671875 }, + { x: 0.984375, y: 0.671875 }, + { x: 0.984375, y: 0.671875 }, + { x: 0.015625, y: 0.703125 }, + { x: 0.015625, y: 0.703125 }, + { x: 0.046875, y: 0.703125 }, + { x: 0.046875, y: 0.703125 }, + { x: 0.078125, y: 0.703125 }, + { x: 0.078125, y: 0.703125 }, + { x: 0.109375, y: 0.703125 }, + { x: 0.109375, y: 0.703125 }, + { x: 0.140625, y: 0.703125 }, + { x: 0.140625, y: 0.703125 }, + { x: 0.171875, y: 0.703125 }, + { x: 0.171875, y: 0.703125 }, + { x: 0.203125, y: 0.703125 }, + { x: 0.203125, y: 0.703125 }, + { x: 0.234375, y: 0.703125 }, + { x: 0.234375, y: 0.703125 }, + { x: 0.265625, y: 0.703125 }, + { x: 0.265625, y: 0.703125 }, + { x: 0.296875, y: 0.703125 }, + { x: 0.296875, y: 0.703125 }, + { x: 0.328125, y: 0.703125 }, + { x: 0.328125, y: 0.703125 }, + { x: 0.359375, y: 0.703125 }, + { x: 0.359375, y: 0.703125 }, + { x: 0.390625, y: 0.703125 }, + { x: 0.390625, y: 0.703125 }, + { x: 0.421875, y: 0.703125 }, + { x: 0.421875, y: 0.703125 }, + { x: 0.453125, y: 0.703125 }, + { x: 0.453125, y: 0.703125 }, + { x: 0.484375, y: 0.703125 }, + { x: 0.484375, y: 0.703125 }, + { x: 0.515625, y: 0.703125 }, + { x: 0.515625, y: 0.703125 }, + { x: 0.546875, y: 0.703125 }, + { x: 0.546875, y: 0.703125 }, + { x: 0.578125, y: 0.703125 }, + { x: 0.578125, y: 0.703125 }, + { x: 0.609375, y: 0.703125 }, + { x: 0.609375, y: 0.703125 }, + { x: 0.640625, y: 0.703125 }, + { x: 0.640625, y: 0.703125 }, + { x: 0.671875, y: 0.703125 }, + { x: 0.671875, y: 0.703125 }, + { x: 0.703125, y: 0.703125 }, + { x: 0.703125, y: 0.703125 }, + { x: 0.734375, y: 0.703125 }, + { x: 0.734375, y: 0.703125 }, + { x: 0.765625, y: 0.703125 }, + { x: 0.765625, y: 0.703125 }, + { x: 0.796875, y: 0.703125 }, + { x: 0.796875, y: 0.703125 }, + { x: 0.828125, y: 0.703125 }, + { x: 0.828125, y: 0.703125 }, + { x: 0.859375, y: 0.703125 }, + { x: 0.859375, y: 0.703125 }, + { x: 0.890625, y: 0.703125 }, + { x: 0.890625, y: 0.703125 }, + { x: 0.921875, y: 0.703125 }, + { x: 0.921875, y: 0.703125 }, + { x: 0.953125, y: 0.703125 }, + { x: 0.953125, y: 0.703125 }, + { x: 0.984375, y: 0.703125 }, + { x: 0.984375, y: 0.703125 }, + { x: 0.015625, y: 0.734375 }, + { x: 0.015625, y: 0.734375 }, + { x: 0.046875, y: 0.734375 }, + { x: 0.046875, y: 0.734375 }, + { x: 0.078125, y: 0.734375 }, + { x: 0.078125, y: 0.734375 }, + { x: 0.109375, y: 0.734375 }, + { x: 0.109375, y: 0.734375 }, + { x: 0.140625, y: 0.734375 }, + { x: 0.140625, y: 0.734375 }, + { x: 0.171875, y: 0.734375 }, + { x: 0.171875, y: 0.734375 }, + { x: 0.203125, y: 0.734375 }, + { x: 0.203125, y: 0.734375 }, + { x: 0.234375, y: 0.734375 }, + { x: 0.234375, y: 0.734375 }, + { x: 0.265625, y: 0.734375 }, + { x: 0.265625, y: 0.734375 }, + { x: 0.296875, y: 0.734375 }, + { x: 0.296875, y: 0.734375 }, + { x: 0.328125, y: 0.734375 }, + { x: 0.328125, y: 0.734375 }, + { x: 0.359375, y: 0.734375 }, + { x: 0.359375, y: 0.734375 }, + { x: 0.390625, y: 0.734375 }, + { x: 0.390625, y: 0.734375 }, + { x: 0.421875, y: 0.734375 }, + { x: 0.421875, y: 0.734375 }, + { x: 0.453125, y: 0.734375 }, + { x: 0.453125, y: 0.734375 }, + { x: 0.484375, y: 0.734375 }, + { x: 0.484375, y: 0.734375 }, + { x: 0.515625, y: 0.734375 }, + { x: 0.515625, y: 0.734375 }, + { x: 0.546875, y: 0.734375 }, + { x: 0.546875, y: 0.734375 }, + { x: 0.578125, y: 0.734375 }, + { x: 0.578125, y: 0.734375 }, + { x: 0.609375, y: 0.734375 }, + { x: 0.609375, y: 0.734375 }, + { x: 0.640625, y: 0.734375 }, + { x: 0.640625, y: 0.734375 }, + { x: 0.671875, y: 0.734375 }, + { x: 0.671875, y: 0.734375 }, + { x: 0.703125, y: 0.734375 }, + { x: 0.703125, y: 0.734375 }, + { x: 0.734375, y: 0.734375 }, + { x: 0.734375, y: 0.734375 }, + { x: 0.765625, y: 0.734375 }, + { x: 0.765625, y: 0.734375 }, + { x: 0.796875, y: 0.734375 }, + { x: 0.796875, y: 0.734375 }, + { x: 0.828125, y: 0.734375 }, + { x: 0.828125, y: 0.734375 }, + { x: 0.859375, y: 0.734375 }, + { x: 0.859375, y: 0.734375 }, + { x: 0.890625, y: 0.734375 }, + { x: 0.890625, y: 0.734375 }, + { x: 0.921875, y: 0.734375 }, + { x: 0.921875, y: 0.734375 }, + { x: 0.953125, y: 0.734375 }, + { x: 0.953125, y: 0.734375 }, + { x: 0.984375, y: 0.734375 }, + { x: 0.984375, y: 0.734375 }, + { x: 0.015625, y: 0.765625 }, + { x: 0.015625, y: 0.765625 }, + { x: 0.046875, y: 0.765625 }, + { x: 0.046875, y: 0.765625 }, + { x: 0.078125, y: 0.765625 }, + { x: 0.078125, y: 0.765625 }, + { x: 0.109375, y: 0.765625 }, + { x: 0.109375, y: 0.765625 }, + { x: 0.140625, y: 0.765625 }, + { x: 0.140625, y: 0.765625 }, + { x: 0.171875, y: 0.765625 }, + { x: 0.171875, y: 0.765625 }, + { x: 0.203125, y: 0.765625 }, + { x: 0.203125, y: 0.765625 }, + { x: 0.234375, y: 0.765625 }, + { x: 0.234375, y: 0.765625 }, + { x: 0.265625, y: 0.765625 }, + { x: 0.265625, y: 0.765625 }, + { x: 0.296875, y: 0.765625 }, + { x: 0.296875, y: 0.765625 }, + { x: 0.328125, y: 0.765625 }, + { x: 0.328125, y: 0.765625 }, + { x: 0.359375, y: 0.765625 }, + { x: 0.359375, y: 0.765625 }, + { x: 0.390625, y: 0.765625 }, + { x: 0.390625, y: 0.765625 }, + { x: 0.421875, y: 0.765625 }, + { x: 0.421875, y: 0.765625 }, + { x: 0.453125, y: 0.765625 }, + { x: 0.453125, y: 0.765625 }, + { x: 0.484375, y: 0.765625 }, + { x: 0.484375, y: 0.765625 }, + { x: 0.515625, y: 0.765625 }, + { x: 0.515625, y: 0.765625 }, + { x: 0.546875, y: 0.765625 }, + { x: 0.546875, y: 0.765625 }, + { x: 0.578125, y: 0.765625 }, + { x: 0.578125, y: 0.765625 }, + { x: 0.609375, y: 0.765625 }, + { x: 0.609375, y: 0.765625 }, + { x: 0.640625, y: 0.765625 }, + { x: 0.640625, y: 0.765625 }, + { x: 0.671875, y: 0.765625 }, + { x: 0.671875, y: 0.765625 }, + { x: 0.703125, y: 0.765625 }, + { x: 0.703125, y: 0.765625 }, + { x: 0.734375, y: 0.765625 }, + { x: 0.734375, y: 0.765625 }, + { x: 0.765625, y: 0.765625 }, + { x: 0.765625, y: 0.765625 }, + { x: 0.796875, y: 0.765625 }, + { x: 0.796875, y: 0.765625 }, + { x: 0.828125, y: 0.765625 }, + { x: 0.828125, y: 0.765625 }, + { x: 0.859375, y: 0.765625 }, + { x: 0.859375, y: 0.765625 }, + { x: 0.890625, y: 0.765625 }, + { x: 0.890625, y: 0.765625 }, + { x: 0.921875, y: 0.765625 }, + { x: 0.921875, y: 0.765625 }, + { x: 0.953125, y: 0.765625 }, + { x: 0.953125, y: 0.765625 }, + { x: 0.984375, y: 0.765625 }, + { x: 0.984375, y: 0.765625 }, + { x: 0.015625, y: 0.796875 }, + { x: 0.015625, y: 0.796875 }, + { x: 0.046875, y: 0.796875 }, + { x: 0.046875, y: 0.796875 }, + { x: 0.078125, y: 0.796875 }, + { x: 0.078125, y: 0.796875 }, + { x: 0.109375, y: 0.796875 }, + { x: 0.109375, y: 0.796875 }, + { x: 0.140625, y: 0.796875 }, + { x: 0.140625, y: 0.796875 }, + { x: 0.171875, y: 0.796875 }, + { x: 0.171875, y: 0.796875 }, + { x: 0.203125, y: 0.796875 }, + { x: 0.203125, y: 0.796875 }, + { x: 0.234375, y: 0.796875 }, + { x: 0.234375, y: 0.796875 }, + { x: 0.265625, y: 0.796875 }, + { x: 0.265625, y: 0.796875 }, + { x: 0.296875, y: 0.796875 }, + { x: 0.296875, y: 0.796875 }, + { x: 0.328125, y: 0.796875 }, + { x: 0.328125, y: 0.796875 }, + { x: 0.359375, y: 0.796875 }, + { x: 0.359375, y: 0.796875 }, + { x: 0.390625, y: 0.796875 }, + { x: 0.390625, y: 0.796875 }, + { x: 0.421875, y: 0.796875 }, + { x: 0.421875, y: 0.796875 }, + { x: 0.453125, y: 0.796875 }, + { x: 0.453125, y: 0.796875 }, + { x: 0.484375, y: 0.796875 }, + { x: 0.484375, y: 0.796875 }, + { x: 0.515625, y: 0.796875 }, + { x: 0.515625, y: 0.796875 }, + { x: 0.546875, y: 0.796875 }, + { x: 0.546875, y: 0.796875 }, + { x: 0.578125, y: 0.796875 }, + { x: 0.578125, y: 0.796875 }, + { x: 0.609375, y: 0.796875 }, + { x: 0.609375, y: 0.796875 }, + { x: 0.640625, y: 0.796875 }, + { x: 0.640625, y: 0.796875 }, + { x: 0.671875, y: 0.796875 }, + { x: 0.671875, y: 0.796875 }, + { x: 0.703125, y: 0.796875 }, + { x: 0.703125, y: 0.796875 }, + { x: 0.734375, y: 0.796875 }, + { x: 0.734375, y: 0.796875 }, + { x: 0.765625, y: 0.796875 }, + { x: 0.765625, y: 0.796875 }, + { x: 0.796875, y: 0.796875 }, + { x: 0.796875, y: 0.796875 }, + { x: 0.828125, y: 0.796875 }, + { x: 0.828125, y: 0.796875 }, + { x: 0.859375, y: 0.796875 }, + { x: 0.859375, y: 0.796875 }, + { x: 0.890625, y: 0.796875 }, + { x: 0.890625, y: 0.796875 }, + { x: 0.921875, y: 0.796875 }, + { x: 0.921875, y: 0.796875 }, + { x: 0.953125, y: 0.796875 }, + { x: 0.953125, y: 0.796875 }, + { x: 0.984375, y: 0.796875 }, + { x: 0.984375, y: 0.796875 }, + { x: 0.015625, y: 0.828125 }, + { x: 0.015625, y: 0.828125 }, + { x: 0.046875, y: 0.828125 }, + { x: 0.046875, y: 0.828125 }, + { x: 0.078125, y: 0.828125 }, + { x: 0.078125, y: 0.828125 }, + { x: 0.109375, y: 0.828125 }, + { x: 0.109375, y: 0.828125 }, + { x: 0.140625, y: 0.828125 }, + { x: 0.140625, y: 0.828125 }, + { x: 0.171875, y: 0.828125 }, + { x: 0.171875, y: 0.828125 }, + { x: 0.203125, y: 0.828125 }, + { x: 0.203125, y: 0.828125 }, + { x: 0.234375, y: 0.828125 }, + { x: 0.234375, y: 0.828125 }, + { x: 0.265625, y: 0.828125 }, + { x: 0.265625, y: 0.828125 }, + { x: 0.296875, y: 0.828125 }, + { x: 0.296875, y: 0.828125 }, + { x: 0.328125, y: 0.828125 }, + { x: 0.328125, y: 0.828125 }, + { x: 0.359375, y: 0.828125 }, + { x: 0.359375, y: 0.828125 }, + { x: 0.390625, y: 0.828125 }, + { x: 0.390625, y: 0.828125 }, + { x: 0.421875, y: 0.828125 }, + { x: 0.421875, y: 0.828125 }, + { x: 0.453125, y: 0.828125 }, + { x: 0.453125, y: 0.828125 }, + { x: 0.484375, y: 0.828125 }, + { x: 0.484375, y: 0.828125 }, + { x: 0.515625, y: 0.828125 }, + { x: 0.515625, y: 0.828125 }, + { x: 0.546875, y: 0.828125 }, + { x: 0.546875, y: 0.828125 }, + { x: 0.578125, y: 0.828125 }, + { x: 0.578125, y: 0.828125 }, + { x: 0.609375, y: 0.828125 }, + { x: 0.609375, y: 0.828125 }, + { x: 0.640625, y: 0.828125 }, + { x: 0.640625, y: 0.828125 }, + { x: 0.671875, y: 0.828125 }, + { x: 0.671875, y: 0.828125 }, + { x: 0.703125, y: 0.828125 }, + { x: 0.703125, y: 0.828125 }, + { x: 0.734375, y: 0.828125 }, + { x: 0.734375, y: 0.828125 }, + { x: 0.765625, y: 0.828125 }, + { x: 0.765625, y: 0.828125 }, + { x: 0.796875, y: 0.828125 }, + { x: 0.796875, y: 0.828125 }, + { x: 0.828125, y: 0.828125 }, + { x: 0.828125, y: 0.828125 }, + { x: 0.859375, y: 0.828125 }, + { x: 0.859375, y: 0.828125 }, + { x: 0.890625, y: 0.828125 }, + { x: 0.890625, y: 0.828125 }, + { x: 0.921875, y: 0.828125 }, + { x: 0.921875, y: 0.828125 }, + { x: 0.953125, y: 0.828125 }, + { x: 0.953125, y: 0.828125 }, + { x: 0.984375, y: 0.828125 }, + { x: 0.984375, y: 0.828125 }, + { x: 0.015625, y: 0.859375 }, + { x: 0.015625, y: 0.859375 }, + { x: 0.046875, y: 0.859375 }, + { x: 0.046875, y: 0.859375 }, + { x: 0.078125, y: 0.859375 }, + { x: 0.078125, y: 0.859375 }, + { x: 0.109375, y: 0.859375 }, + { x: 0.109375, y: 0.859375 }, + { x: 0.140625, y: 0.859375 }, + { x: 0.140625, y: 0.859375 }, + { x: 0.171875, y: 0.859375 }, + { x: 0.171875, y: 0.859375 }, + { x: 0.203125, y: 0.859375 }, + { x: 0.203125, y: 0.859375 }, + { x: 0.234375, y: 0.859375 }, + { x: 0.234375, y: 0.859375 }, + { x: 0.265625, y: 0.859375 }, + { x: 0.265625, y: 0.859375 }, + { x: 0.296875, y: 0.859375 }, + { x: 0.296875, y: 0.859375 }, + { x: 0.328125, y: 0.859375 }, + { x: 0.328125, y: 0.859375 }, + { x: 0.359375, y: 0.859375 }, + { x: 0.359375, y: 0.859375 }, + { x: 0.390625, y: 0.859375 }, + { x: 0.390625, y: 0.859375 }, + { x: 0.421875, y: 0.859375 }, + { x: 0.421875, y: 0.859375 }, + { x: 0.453125, y: 0.859375 }, + { x: 0.453125, y: 0.859375 }, + { x: 0.484375, y: 0.859375 }, + { x: 0.484375, y: 0.859375 }, + { x: 0.515625, y: 0.859375 }, + { x: 0.515625, y: 0.859375 }, + { x: 0.546875, y: 0.859375 }, + { x: 0.546875, y: 0.859375 }, + { x: 0.578125, y: 0.859375 }, + { x: 0.578125, y: 0.859375 }, + { x: 0.609375, y: 0.859375 }, + { x: 0.609375, y: 0.859375 }, + { x: 0.640625, y: 0.859375 }, + { x: 0.640625, y: 0.859375 }, + { x: 0.671875, y: 0.859375 }, + { x: 0.671875, y: 0.859375 }, + { x: 0.703125, y: 0.859375 }, + { x: 0.703125, y: 0.859375 }, + { x: 0.734375, y: 0.859375 }, + { x: 0.734375, y: 0.859375 }, + { x: 0.765625, y: 0.859375 }, + { x: 0.765625, y: 0.859375 }, + { x: 0.796875, y: 0.859375 }, + { x: 0.796875, y: 0.859375 }, + { x: 0.828125, y: 0.859375 }, + { x: 0.828125, y: 0.859375 }, + { x: 0.859375, y: 0.859375 }, + { x: 0.859375, y: 0.859375 }, + { x: 0.890625, y: 0.859375 }, + { x: 0.890625, y: 0.859375 }, + { x: 0.921875, y: 0.859375 }, + { x: 0.921875, y: 0.859375 }, + { x: 0.953125, y: 0.859375 }, + { x: 0.953125, y: 0.859375 }, + { x: 0.984375, y: 0.859375 }, + { x: 0.984375, y: 0.859375 }, + { x: 0.015625, y: 0.890625 }, + { x: 0.015625, y: 0.890625 }, + { x: 0.046875, y: 0.890625 }, + { x: 0.046875, y: 0.890625 }, + { x: 0.078125, y: 0.890625 }, + { x: 0.078125, y: 0.890625 }, + { x: 0.109375, y: 0.890625 }, + { x: 0.109375, y: 0.890625 }, + { x: 0.140625, y: 0.890625 }, + { x: 0.140625, y: 0.890625 }, + { x: 0.171875, y: 0.890625 }, + { x: 0.171875, y: 0.890625 }, + { x: 0.203125, y: 0.890625 }, + { x: 0.203125, y: 0.890625 }, + { x: 0.234375, y: 0.890625 }, + { x: 0.234375, y: 0.890625 }, + { x: 0.265625, y: 0.890625 }, + { x: 0.265625, y: 0.890625 }, + { x: 0.296875, y: 0.890625 }, + { x: 0.296875, y: 0.890625 }, + { x: 0.328125, y: 0.890625 }, + { x: 0.328125, y: 0.890625 }, + { x: 0.359375, y: 0.890625 }, + { x: 0.359375, y: 0.890625 }, + { x: 0.390625, y: 0.890625 }, + { x: 0.390625, y: 0.890625 }, + { x: 0.421875, y: 0.890625 }, + { x: 0.421875, y: 0.890625 }, + { x: 0.453125, y: 0.890625 }, + { x: 0.453125, y: 0.890625 }, + { x: 0.484375, y: 0.890625 }, + { x: 0.484375, y: 0.890625 }, + { x: 0.515625, y: 0.890625 }, + { x: 0.515625, y: 0.890625 }, + { x: 0.546875, y: 0.890625 }, + { x: 0.546875, y: 0.890625 }, + { x: 0.578125, y: 0.890625 }, + { x: 0.578125, y: 0.890625 }, + { x: 0.609375, y: 0.890625 }, + { x: 0.609375, y: 0.890625 }, + { x: 0.640625, y: 0.890625 }, + { x: 0.640625, y: 0.890625 }, + { x: 0.671875, y: 0.890625 }, + { x: 0.671875, y: 0.890625 }, + { x: 0.703125, y: 0.890625 }, + { x: 0.703125, y: 0.890625 }, + { x: 0.734375, y: 0.890625 }, + { x: 0.734375, y: 0.890625 }, + { x: 0.765625, y: 0.890625 }, + { x: 0.765625, y: 0.890625 }, + { x: 0.796875, y: 0.890625 }, + { x: 0.796875, y: 0.890625 }, + { x: 0.828125, y: 0.890625 }, + { x: 0.828125, y: 0.890625 }, + { x: 0.859375, y: 0.890625 }, + { x: 0.859375, y: 0.890625 }, + { x: 0.890625, y: 0.890625 }, + { x: 0.890625, y: 0.890625 }, + { x: 0.921875, y: 0.890625 }, + { x: 0.921875, y: 0.890625 }, + { x: 0.953125, y: 0.890625 }, + { x: 0.953125, y: 0.890625 }, + { x: 0.984375, y: 0.890625 }, + { x: 0.984375, y: 0.890625 }, + { x: 0.015625, y: 0.921875 }, + { x: 0.015625, y: 0.921875 }, + { x: 0.046875, y: 0.921875 }, + { x: 0.046875, y: 0.921875 }, + { x: 0.078125, y: 0.921875 }, + { x: 0.078125, y: 0.921875 }, + { x: 0.109375, y: 0.921875 }, + { x: 0.109375, y: 0.921875 }, + { x: 0.140625, y: 0.921875 }, + { x: 0.140625, y: 0.921875 }, + { x: 0.171875, y: 0.921875 }, + { x: 0.171875, y: 0.921875 }, + { x: 0.203125, y: 0.921875 }, + { x: 0.203125, y: 0.921875 }, + { x: 0.234375, y: 0.921875 }, + { x: 0.234375, y: 0.921875 }, + { x: 0.265625, y: 0.921875 }, + { x: 0.265625, y: 0.921875 }, + { x: 0.296875, y: 0.921875 }, + { x: 0.296875, y: 0.921875 }, + { x: 0.328125, y: 0.921875 }, + { x: 0.328125, y: 0.921875 }, + { x: 0.359375, y: 0.921875 }, + { x: 0.359375, y: 0.921875 }, + { x: 0.390625, y: 0.921875 }, + { x: 0.390625, y: 0.921875 }, + { x: 0.421875, y: 0.921875 }, + { x: 0.421875, y: 0.921875 }, + { x: 0.453125, y: 0.921875 }, + { x: 0.453125, y: 0.921875 }, + { x: 0.484375, y: 0.921875 }, + { x: 0.484375, y: 0.921875 }, + { x: 0.515625, y: 0.921875 }, + { x: 0.515625, y: 0.921875 }, + { x: 0.546875, y: 0.921875 }, + { x: 0.546875, y: 0.921875 }, + { x: 0.578125, y: 0.921875 }, + { x: 0.578125, y: 0.921875 }, + { x: 0.609375, y: 0.921875 }, + { x: 0.609375, y: 0.921875 }, + { x: 0.640625, y: 0.921875 }, + { x: 0.640625, y: 0.921875 }, + { x: 0.671875, y: 0.921875 }, + { x: 0.671875, y: 0.921875 }, + { x: 0.703125, y: 0.921875 }, + { x: 0.703125, y: 0.921875 }, + { x: 0.734375, y: 0.921875 }, + { x: 0.734375, y: 0.921875 }, + { x: 0.765625, y: 0.921875 }, + { x: 0.765625, y: 0.921875 }, + { x: 0.796875, y: 0.921875 }, + { x: 0.796875, y: 0.921875 }, + { x: 0.828125, y: 0.921875 }, + { x: 0.828125, y: 0.921875 }, + { x: 0.859375, y: 0.921875 }, + { x: 0.859375, y: 0.921875 }, + { x: 0.890625, y: 0.921875 }, + { x: 0.890625, y: 0.921875 }, + { x: 0.921875, y: 0.921875 }, + { x: 0.921875, y: 0.921875 }, + { x: 0.953125, y: 0.921875 }, + { x: 0.953125, y: 0.921875 }, + { x: 0.984375, y: 0.921875 }, + { x: 0.984375, y: 0.921875 }, + { x: 0.015625, y: 0.953125 }, + { x: 0.015625, y: 0.953125 }, + { x: 0.046875, y: 0.953125 }, + { x: 0.046875, y: 0.953125 }, + { x: 0.078125, y: 0.953125 }, + { x: 0.078125, y: 0.953125 }, + { x: 0.109375, y: 0.953125 }, + { x: 0.109375, y: 0.953125 }, + { x: 0.140625, y: 0.953125 }, + { x: 0.140625, y: 0.953125 }, + { x: 0.171875, y: 0.953125 }, + { x: 0.171875, y: 0.953125 }, + { x: 0.203125, y: 0.953125 }, + { x: 0.203125, y: 0.953125 }, + { x: 0.234375, y: 0.953125 }, + { x: 0.234375, y: 0.953125 }, + { x: 0.265625, y: 0.953125 }, + { x: 0.265625, y: 0.953125 }, + { x: 0.296875, y: 0.953125 }, + { x: 0.296875, y: 0.953125 }, + { x: 0.328125, y: 0.953125 }, + { x: 0.328125, y: 0.953125 }, + { x: 0.359375, y: 0.953125 }, + { x: 0.359375, y: 0.953125 }, + { x: 0.390625, y: 0.953125 }, + { x: 0.390625, y: 0.953125 }, + { x: 0.421875, y: 0.953125 }, + { x: 0.421875, y: 0.953125 }, + { x: 0.453125, y: 0.953125 }, + { x: 0.453125, y: 0.953125 }, + { x: 0.484375, y: 0.953125 }, + { x: 0.484375, y: 0.953125 }, + { x: 0.515625, y: 0.953125 }, + { x: 0.515625, y: 0.953125 }, + { x: 0.546875, y: 0.953125 }, + { x: 0.546875, y: 0.953125 }, + { x: 0.578125, y: 0.953125 }, + { x: 0.578125, y: 0.953125 }, + { x: 0.609375, y: 0.953125 }, + { x: 0.609375, y: 0.953125 }, + { x: 0.640625, y: 0.953125 }, + { x: 0.640625, y: 0.953125 }, + { x: 0.671875, y: 0.953125 }, + { x: 0.671875, y: 0.953125 }, + { x: 0.703125, y: 0.953125 }, + { x: 0.703125, y: 0.953125 }, + { x: 0.734375, y: 0.953125 }, + { x: 0.734375, y: 0.953125 }, + { x: 0.765625, y: 0.953125 }, + { x: 0.765625, y: 0.953125 }, + { x: 0.796875, y: 0.953125 }, + { x: 0.796875, y: 0.953125 }, + { x: 0.828125, y: 0.953125 }, + { x: 0.828125, y: 0.953125 }, + { x: 0.859375, y: 0.953125 }, + { x: 0.859375, y: 0.953125 }, + { x: 0.890625, y: 0.953125 }, + { x: 0.890625, y: 0.953125 }, + { x: 0.921875, y: 0.953125 }, + { x: 0.921875, y: 0.953125 }, + { x: 0.953125, y: 0.953125 }, + { x: 0.953125, y: 0.953125 }, + { x: 0.984375, y: 0.953125 }, + { x: 0.984375, y: 0.953125 }, + { x: 0.015625, y: 0.984375 }, + { x: 0.015625, y: 0.984375 }, + { x: 0.046875, y: 0.984375 }, + { x: 0.046875, y: 0.984375 }, + { x: 0.078125, y: 0.984375 }, + { x: 0.078125, y: 0.984375 }, + { x: 0.109375, y: 0.984375 }, + { x: 0.109375, y: 0.984375 }, + { x: 0.140625, y: 0.984375 }, + { x: 0.140625, y: 0.984375 }, + { x: 0.171875, y: 0.984375 }, + { x: 0.171875, y: 0.984375 }, + { x: 0.203125, y: 0.984375 }, + { x: 0.203125, y: 0.984375 }, + { x: 0.234375, y: 0.984375 }, + { x: 0.234375, y: 0.984375 }, + { x: 0.265625, y: 0.984375 }, + { x: 0.265625, y: 0.984375 }, + { x: 0.296875, y: 0.984375 }, + { x: 0.296875, y: 0.984375 }, + { x: 0.328125, y: 0.984375 }, + { x: 0.328125, y: 0.984375 }, + { x: 0.359375, y: 0.984375 }, + { x: 0.359375, y: 0.984375 }, + { x: 0.390625, y: 0.984375 }, + { x: 0.390625, y: 0.984375 }, + { x: 0.421875, y: 0.984375 }, + { x: 0.421875, y: 0.984375 }, + { x: 0.453125, y: 0.984375 }, + { x: 0.453125, y: 0.984375 }, + { x: 0.484375, y: 0.984375 }, + { x: 0.484375, y: 0.984375 }, + { x: 0.515625, y: 0.984375 }, + { x: 0.515625, y: 0.984375 }, + { x: 0.546875, y: 0.984375 }, + { x: 0.546875, y: 0.984375 }, + { x: 0.578125, y: 0.984375 }, + { x: 0.578125, y: 0.984375 }, + { x: 0.609375, y: 0.984375 }, + { x: 0.609375, y: 0.984375 }, + { x: 0.640625, y: 0.984375 }, + { x: 0.640625, y: 0.984375 }, + { x: 0.671875, y: 0.984375 }, + { x: 0.671875, y: 0.984375 }, + { x: 0.703125, y: 0.984375 }, + { x: 0.703125, y: 0.984375 }, + { x: 0.734375, y: 0.984375 }, + { x: 0.734375, y: 0.984375 }, + { x: 0.765625, y: 0.984375 }, + { x: 0.765625, y: 0.984375 }, + { x: 0.796875, y: 0.984375 }, + { x: 0.796875, y: 0.984375 }, + { x: 0.828125, y: 0.984375 }, + { x: 0.828125, y: 0.984375 }, + { x: 0.859375, y: 0.984375 }, + { x: 0.859375, y: 0.984375 }, + { x: 0.890625, y: 0.984375 }, + { x: 0.890625, y: 0.984375 }, + { x: 0.921875, y: 0.984375 }, + { x: 0.921875, y: 0.984375 }, + { x: 0.953125, y: 0.984375 }, + { x: 0.953125, y: 0.984375 }, + { x: 0.984375, y: 0.984375 }, + { x: 0.984375, y: 0.984375 }, + { x: 0.03125, y: 0.03125 }, + { x: 0.03125, y: 0.03125 }, + { x: 0.09375, y: 0.03125 }, + { x: 0.09375, y: 0.03125 }, + { x: 0.15625, y: 0.03125 }, + { x: 0.15625, y: 0.03125 }, + { x: 0.21875, y: 0.03125 }, + { x: 0.21875, y: 0.03125 }, + { x: 0.28125, y: 0.03125 }, + { x: 0.28125, y: 0.03125 }, + { x: 0.34375, y: 0.03125 }, + { x: 0.34375, y: 0.03125 }, + { x: 0.40625, y: 0.03125 }, + { x: 0.40625, y: 0.03125 }, + { x: 0.46875, y: 0.03125 }, + { x: 0.46875, y: 0.03125 }, + { x: 0.53125, y: 0.03125 }, + { x: 0.53125, y: 0.03125 }, + { x: 0.59375, y: 0.03125 }, + { x: 0.59375, y: 0.03125 }, + { x: 0.65625, y: 0.03125 }, + { x: 0.65625, y: 0.03125 }, + { x: 0.71875, y: 0.03125 }, + { x: 0.71875, y: 0.03125 }, + { x: 0.78125, y: 0.03125 }, + { x: 0.78125, y: 0.03125 }, + { x: 0.84375, y: 0.03125 }, + { x: 0.84375, y: 0.03125 }, + { x: 0.90625, y: 0.03125 }, + { x: 0.90625, y: 0.03125 }, + { x: 0.96875, y: 0.03125 }, + { x: 0.96875, y: 0.03125 }, + { x: 0.03125, y: 0.09375 }, + { x: 0.03125, y: 0.09375 }, + { x: 0.09375, y: 0.09375 }, + { x: 0.09375, y: 0.09375 }, + { x: 0.15625, y: 0.09375 }, + { x: 0.15625, y: 0.09375 }, + { x: 0.21875, y: 0.09375 }, + { x: 0.21875, y: 0.09375 }, + { x: 0.28125, y: 0.09375 }, + { x: 0.28125, y: 0.09375 }, + { x: 0.34375, y: 0.09375 }, + { x: 0.34375, y: 0.09375 }, + { x: 0.40625, y: 0.09375 }, + { x: 0.40625, y: 0.09375 }, + { x: 0.46875, y: 0.09375 }, + { x: 0.46875, y: 0.09375 }, + { x: 0.53125, y: 0.09375 }, + { x: 0.53125, y: 0.09375 }, + { x: 0.59375, y: 0.09375 }, + { x: 0.59375, y: 0.09375 }, + { x: 0.65625, y: 0.09375 }, + { x: 0.65625, y: 0.09375 }, + { x: 0.71875, y: 0.09375 }, + { x: 0.71875, y: 0.09375 }, + { x: 0.78125, y: 0.09375 }, + { x: 0.78125, y: 0.09375 }, + { x: 0.84375, y: 0.09375 }, + { x: 0.84375, y: 0.09375 }, + { x: 0.90625, y: 0.09375 }, + { x: 0.90625, y: 0.09375 }, + { x: 0.96875, y: 0.09375 }, + { x: 0.96875, y: 0.09375 }, + { x: 0.03125, y: 0.15625 }, + { x: 0.03125, y: 0.15625 }, + { x: 0.09375, y: 0.15625 }, + { x: 0.09375, y: 0.15625 }, + { x: 0.15625, y: 0.15625 }, + { x: 0.15625, y: 0.15625 }, + { x: 0.21875, y: 0.15625 }, + { x: 0.21875, y: 0.15625 }, + { x: 0.28125, y: 0.15625 }, + { x: 0.28125, y: 0.15625 }, + { x: 0.34375, y: 0.15625 }, + { x: 0.34375, y: 0.15625 }, + { x: 0.40625, y: 0.15625 }, + { x: 0.40625, y: 0.15625 }, + { x: 0.46875, y: 0.15625 }, + { x: 0.46875, y: 0.15625 }, + { x: 0.53125, y: 0.15625 }, + { x: 0.53125, y: 0.15625 }, + { x: 0.59375, y: 0.15625 }, + { x: 0.59375, y: 0.15625 }, + { x: 0.65625, y: 0.15625 }, + { x: 0.65625, y: 0.15625 }, + { x: 0.71875, y: 0.15625 }, + { x: 0.71875, y: 0.15625 }, + { x: 0.78125, y: 0.15625 }, + { x: 0.78125, y: 0.15625 }, + { x: 0.84375, y: 0.15625 }, + { x: 0.84375, y: 0.15625 }, + { x: 0.90625, y: 0.15625 }, + { x: 0.90625, y: 0.15625 }, + { x: 0.96875, y: 0.15625 }, + { x: 0.96875, y: 0.15625 }, + { x: 0.03125, y: 0.21875 }, + { x: 0.03125, y: 0.21875 }, + { x: 0.09375, y: 0.21875 }, + { x: 0.09375, y: 0.21875 }, + { x: 0.15625, y: 0.21875 }, + { x: 0.15625, y: 0.21875 }, + { x: 0.21875, y: 0.21875 }, + { x: 0.21875, y: 0.21875 }, + { x: 0.28125, y: 0.21875 }, + { x: 0.28125, y: 0.21875 }, + { x: 0.34375, y: 0.21875 }, + { x: 0.34375, y: 0.21875 }, + { x: 0.40625, y: 0.21875 }, + { x: 0.40625, y: 0.21875 }, + { x: 0.46875, y: 0.21875 }, + { x: 0.46875, y: 0.21875 }, + { x: 0.53125, y: 0.21875 }, + { x: 0.53125, y: 0.21875 }, + { x: 0.59375, y: 0.21875 }, + { x: 0.59375, y: 0.21875 }, + { x: 0.65625, y: 0.21875 }, + { x: 0.65625, y: 0.21875 }, + { x: 0.71875, y: 0.21875 }, + { x: 0.71875, y: 0.21875 }, + { x: 0.78125, y: 0.21875 }, + { x: 0.78125, y: 0.21875 }, + { x: 0.84375, y: 0.21875 }, + { x: 0.84375, y: 0.21875 }, + { x: 0.90625, y: 0.21875 }, + { x: 0.90625, y: 0.21875 }, + { x: 0.96875, y: 0.21875 }, + { x: 0.96875, y: 0.21875 }, + { x: 0.03125, y: 0.28125 }, + { x: 0.03125, y: 0.28125 }, + { x: 0.09375, y: 0.28125 }, + { x: 0.09375, y: 0.28125 }, + { x: 0.15625, y: 0.28125 }, + { x: 0.15625, y: 0.28125 }, + { x: 0.21875, y: 0.28125 }, + { x: 0.21875, y: 0.28125 }, + { x: 0.28125, y: 0.28125 }, + { x: 0.28125, y: 0.28125 }, + { x: 0.34375, y: 0.28125 }, + { x: 0.34375, y: 0.28125 }, + { x: 0.40625, y: 0.28125 }, + { x: 0.40625, y: 0.28125 }, + { x: 0.46875, y: 0.28125 }, + { x: 0.46875, y: 0.28125 }, + { x: 0.53125, y: 0.28125 }, + { x: 0.53125, y: 0.28125 }, + { x: 0.59375, y: 0.28125 }, + { x: 0.59375, y: 0.28125 }, + { x: 0.65625, y: 0.28125 }, + { x: 0.65625, y: 0.28125 }, + { x: 0.71875, y: 0.28125 }, + { x: 0.71875, y: 0.28125 }, + { x: 0.78125, y: 0.28125 }, + { x: 0.78125, y: 0.28125 }, + { x: 0.84375, y: 0.28125 }, + { x: 0.84375, y: 0.28125 }, + { x: 0.90625, y: 0.28125 }, + { x: 0.90625, y: 0.28125 }, + { x: 0.96875, y: 0.28125 }, + { x: 0.96875, y: 0.28125 }, + { x: 0.03125, y: 0.34375 }, + { x: 0.03125, y: 0.34375 }, + { x: 0.09375, y: 0.34375 }, + { x: 0.09375, y: 0.34375 }, + { x: 0.15625, y: 0.34375 }, + { x: 0.15625, y: 0.34375 }, + { x: 0.21875, y: 0.34375 }, + { x: 0.21875, y: 0.34375 }, + { x: 0.28125, y: 0.34375 }, + { x: 0.28125, y: 0.34375 }, + { x: 0.34375, y: 0.34375 }, + { x: 0.34375, y: 0.34375 }, + { x: 0.40625, y: 0.34375 }, + { x: 0.40625, y: 0.34375 }, + { x: 0.46875, y: 0.34375 }, + { x: 0.46875, y: 0.34375 }, + { x: 0.53125, y: 0.34375 }, + { x: 0.53125, y: 0.34375 }, + { x: 0.59375, y: 0.34375 }, + { x: 0.59375, y: 0.34375 }, + { x: 0.65625, y: 0.34375 }, + { x: 0.65625, y: 0.34375 }, + { x: 0.71875, y: 0.34375 }, + { x: 0.71875, y: 0.34375 }, + { x: 0.78125, y: 0.34375 }, + { x: 0.78125, y: 0.34375 }, + { x: 0.84375, y: 0.34375 }, + { x: 0.84375, y: 0.34375 }, + { x: 0.90625, y: 0.34375 }, + { x: 0.90625, y: 0.34375 }, + { x: 0.96875, y: 0.34375 }, + { x: 0.96875, y: 0.34375 }, + { x: 0.03125, y: 0.40625 }, + { x: 0.03125, y: 0.40625 }, + { x: 0.09375, y: 0.40625 }, + { x: 0.09375, y: 0.40625 }, + { x: 0.15625, y: 0.40625 }, + { x: 0.15625, y: 0.40625 }, + { x: 0.21875, y: 0.40625 }, + { x: 0.21875, y: 0.40625 }, + { x: 0.28125, y: 0.40625 }, + { x: 0.28125, y: 0.40625 }, + { x: 0.34375, y: 0.40625 }, + { x: 0.34375, y: 0.40625 }, + { x: 0.40625, y: 0.40625 }, + { x: 0.40625, y: 0.40625 }, + { x: 0.46875, y: 0.40625 }, + { x: 0.46875, y: 0.40625 }, + { x: 0.53125, y: 0.40625 }, + { x: 0.53125, y: 0.40625 }, + { x: 0.59375, y: 0.40625 }, + { x: 0.59375, y: 0.40625 }, + { x: 0.65625, y: 0.40625 }, + { x: 0.65625, y: 0.40625 }, + { x: 0.71875, y: 0.40625 }, + { x: 0.71875, y: 0.40625 }, + { x: 0.78125, y: 0.40625 }, + { x: 0.78125, y: 0.40625 }, + { x: 0.84375, y: 0.40625 }, + { x: 0.84375, y: 0.40625 }, + { x: 0.90625, y: 0.40625 }, + { x: 0.90625, y: 0.40625 }, + { x: 0.96875, y: 0.40625 }, + { x: 0.96875, y: 0.40625 }, + { x: 0.03125, y: 0.46875 }, + { x: 0.03125, y: 0.46875 }, + { x: 0.09375, y: 0.46875 }, + { x: 0.09375, y: 0.46875 }, + { x: 0.15625, y: 0.46875 }, + { x: 0.15625, y: 0.46875 }, + { x: 0.21875, y: 0.46875 }, + { x: 0.21875, y: 0.46875 }, + { x: 0.28125, y: 0.46875 }, + { x: 0.28125, y: 0.46875 }, + { x: 0.34375, y: 0.46875 }, + { x: 0.34375, y: 0.46875 }, + { x: 0.40625, y: 0.46875 }, + { x: 0.40625, y: 0.46875 }, + { x: 0.46875, y: 0.46875 }, + { x: 0.46875, y: 0.46875 }, + { x: 0.53125, y: 0.46875 }, + { x: 0.53125, y: 0.46875 }, + { x: 0.59375, y: 0.46875 }, + { x: 0.59375, y: 0.46875 }, + { x: 0.65625, y: 0.46875 }, + { x: 0.65625, y: 0.46875 }, + { x: 0.71875, y: 0.46875 }, + { x: 0.71875, y: 0.46875 }, + { x: 0.78125, y: 0.46875 }, + { x: 0.78125, y: 0.46875 }, + { x: 0.84375, y: 0.46875 }, + { x: 0.84375, y: 0.46875 }, + { x: 0.90625, y: 0.46875 }, + { x: 0.90625, y: 0.46875 }, + { x: 0.96875, y: 0.46875 }, + { x: 0.96875, y: 0.46875 }, + { x: 0.03125, y: 0.53125 }, + { x: 0.03125, y: 0.53125 }, + { x: 0.09375, y: 0.53125 }, + { x: 0.09375, y: 0.53125 }, + { x: 0.15625, y: 0.53125 }, + { x: 0.15625, y: 0.53125 }, + { x: 0.21875, y: 0.53125 }, + { x: 0.21875, y: 0.53125 }, + { x: 0.28125, y: 0.53125 }, + { x: 0.28125, y: 0.53125 }, + { x: 0.34375, y: 0.53125 }, + { x: 0.34375, y: 0.53125 }, + { x: 0.40625, y: 0.53125 }, + { x: 0.40625, y: 0.53125 }, + { x: 0.46875, y: 0.53125 }, + { x: 0.46875, y: 0.53125 }, + { x: 0.53125, y: 0.53125 }, + { x: 0.53125, y: 0.53125 }, + { x: 0.59375, y: 0.53125 }, + { x: 0.59375, y: 0.53125 }, + { x: 0.65625, y: 0.53125 }, + { x: 0.65625, y: 0.53125 }, + { x: 0.71875, y: 0.53125 }, + { x: 0.71875, y: 0.53125 }, + { x: 0.78125, y: 0.53125 }, + { x: 0.78125, y: 0.53125 }, + { x: 0.84375, y: 0.53125 }, + { x: 0.84375, y: 0.53125 }, + { x: 0.90625, y: 0.53125 }, + { x: 0.90625, y: 0.53125 }, + { x: 0.96875, y: 0.53125 }, + { x: 0.96875, y: 0.53125 }, + { x: 0.03125, y: 0.59375 }, + { x: 0.03125, y: 0.59375 }, + { x: 0.09375, y: 0.59375 }, + { x: 0.09375, y: 0.59375 }, + { x: 0.15625, y: 0.59375 }, + { x: 0.15625, y: 0.59375 }, + { x: 0.21875, y: 0.59375 }, + { x: 0.21875, y: 0.59375 }, + { x: 0.28125, y: 0.59375 }, + { x: 0.28125, y: 0.59375 }, + { x: 0.34375, y: 0.59375 }, + { x: 0.34375, y: 0.59375 }, + { x: 0.40625, y: 0.59375 }, + { x: 0.40625, y: 0.59375 }, + { x: 0.46875, y: 0.59375 }, + { x: 0.46875, y: 0.59375 }, + { x: 0.53125, y: 0.59375 }, + { x: 0.53125, y: 0.59375 }, + { x: 0.59375, y: 0.59375 }, + { x: 0.59375, y: 0.59375 }, + { x: 0.65625, y: 0.59375 }, + { x: 0.65625, y: 0.59375 }, + { x: 0.71875, y: 0.59375 }, + { x: 0.71875, y: 0.59375 }, + { x: 0.78125, y: 0.59375 }, + { x: 0.78125, y: 0.59375 }, + { x: 0.84375, y: 0.59375 }, + { x: 0.84375, y: 0.59375 }, + { x: 0.90625, y: 0.59375 }, + { x: 0.90625, y: 0.59375 }, + { x: 0.96875, y: 0.59375 }, + { x: 0.96875, y: 0.59375 }, + { x: 0.03125, y: 0.65625 }, + { x: 0.03125, y: 0.65625 }, + { x: 0.09375, y: 0.65625 }, + { x: 0.09375, y: 0.65625 }, + { x: 0.15625, y: 0.65625 }, + { x: 0.15625, y: 0.65625 }, + { x: 0.21875, y: 0.65625 }, + { x: 0.21875, y: 0.65625 }, + { x: 0.28125, y: 0.65625 }, + { x: 0.28125, y: 0.65625 }, + { x: 0.34375, y: 0.65625 }, + { x: 0.34375, y: 0.65625 }, + { x: 0.40625, y: 0.65625 }, + { x: 0.40625, y: 0.65625 }, + { x: 0.46875, y: 0.65625 }, + { x: 0.46875, y: 0.65625 }, + { x: 0.53125, y: 0.65625 }, + { x: 0.53125, y: 0.65625 }, + { x: 0.59375, y: 0.65625 }, + { x: 0.59375, y: 0.65625 }, + { x: 0.65625, y: 0.65625 }, + { x: 0.65625, y: 0.65625 }, + { x: 0.71875, y: 0.65625 }, + { x: 0.71875, y: 0.65625 }, + { x: 0.78125, y: 0.65625 }, + { x: 0.78125, y: 0.65625 }, + { x: 0.84375, y: 0.65625 }, + { x: 0.84375, y: 0.65625 }, + { x: 0.90625, y: 0.65625 }, + { x: 0.90625, y: 0.65625 }, + { x: 0.96875, y: 0.65625 }, + { x: 0.96875, y: 0.65625 }, + { x: 0.03125, y: 0.71875 }, + { x: 0.03125, y: 0.71875 }, + { x: 0.09375, y: 0.71875 }, + { x: 0.09375, y: 0.71875 }, + { x: 0.15625, y: 0.71875 }, + { x: 0.15625, y: 0.71875 }, + { x: 0.21875, y: 0.71875 }, + { x: 0.21875, y: 0.71875 }, + { x: 0.28125, y: 0.71875 }, + { x: 0.28125, y: 0.71875 }, + { x: 0.34375, y: 0.71875 }, + { x: 0.34375, y: 0.71875 }, + { x: 0.40625, y: 0.71875 }, + { x: 0.40625, y: 0.71875 }, + { x: 0.46875, y: 0.71875 }, + { x: 0.46875, y: 0.71875 }, + { x: 0.53125, y: 0.71875 }, + { x: 0.53125, y: 0.71875 }, + { x: 0.59375, y: 0.71875 }, + { x: 0.59375, y: 0.71875 }, + { x: 0.65625, y: 0.71875 }, + { x: 0.65625, y: 0.71875 }, + { x: 0.71875, y: 0.71875 }, + { x: 0.71875, y: 0.71875 }, + { x: 0.78125, y: 0.71875 }, + { x: 0.78125, y: 0.71875 }, + { x: 0.84375, y: 0.71875 }, + { x: 0.84375, y: 0.71875 }, + { x: 0.90625, y: 0.71875 }, + { x: 0.90625, y: 0.71875 }, + { x: 0.96875, y: 0.71875 }, + { x: 0.96875, y: 0.71875 }, + { x: 0.03125, y: 0.78125 }, + { x: 0.03125, y: 0.78125 }, + { x: 0.09375, y: 0.78125 }, + { x: 0.09375, y: 0.78125 }, + { x: 0.15625, y: 0.78125 }, + { x: 0.15625, y: 0.78125 }, + { x: 0.21875, y: 0.78125 }, + { x: 0.21875, y: 0.78125 }, + { x: 0.28125, y: 0.78125 }, + { x: 0.28125, y: 0.78125 }, + { x: 0.34375, y: 0.78125 }, + { x: 0.34375, y: 0.78125 }, + { x: 0.40625, y: 0.78125 }, + { x: 0.40625, y: 0.78125 }, + { x: 0.46875, y: 0.78125 }, + { x: 0.46875, y: 0.78125 }, + { x: 0.53125, y: 0.78125 }, + { x: 0.53125, y: 0.78125 }, + { x: 0.59375, y: 0.78125 }, + { x: 0.59375, y: 0.78125 }, + { x: 0.65625, y: 0.78125 }, + { x: 0.65625, y: 0.78125 }, + { x: 0.71875, y: 0.78125 }, + { x: 0.71875, y: 0.78125 }, + { x: 0.78125, y: 0.78125 }, + { x: 0.78125, y: 0.78125 }, + { x: 0.84375, y: 0.78125 }, + { x: 0.84375, y: 0.78125 }, + { x: 0.90625, y: 0.78125 }, + { x: 0.90625, y: 0.78125 }, + { x: 0.96875, y: 0.78125 }, + { x: 0.96875, y: 0.78125 }, + { x: 0.03125, y: 0.84375 }, + { x: 0.03125, y: 0.84375 }, + { x: 0.09375, y: 0.84375 }, + { x: 0.09375, y: 0.84375 }, + { x: 0.15625, y: 0.84375 }, + { x: 0.15625, y: 0.84375 }, + { x: 0.21875, y: 0.84375 }, + { x: 0.21875, y: 0.84375 }, + { x: 0.28125, y: 0.84375 }, + { x: 0.28125, y: 0.84375 }, + { x: 0.34375, y: 0.84375 }, + { x: 0.34375, y: 0.84375 }, + { x: 0.40625, y: 0.84375 }, + { x: 0.40625, y: 0.84375 }, + { x: 0.46875, y: 0.84375 }, + { x: 0.46875, y: 0.84375 }, + { x: 0.53125, y: 0.84375 }, + { x: 0.53125, y: 0.84375 }, + { x: 0.59375, y: 0.84375 }, + { x: 0.59375, y: 0.84375 }, + { x: 0.65625, y: 0.84375 }, + { x: 0.65625, y: 0.84375 }, + { x: 0.71875, y: 0.84375 }, + { x: 0.71875, y: 0.84375 }, + { x: 0.78125, y: 0.84375 }, + { x: 0.78125, y: 0.84375 }, + { x: 0.84375, y: 0.84375 }, + { x: 0.84375, y: 0.84375 }, + { x: 0.90625, y: 0.84375 }, + { x: 0.90625, y: 0.84375 }, + { x: 0.96875, y: 0.84375 }, + { x: 0.96875, y: 0.84375 }, + { x: 0.03125, y: 0.90625 }, + { x: 0.03125, y: 0.90625 }, + { x: 0.09375, y: 0.90625 }, + { x: 0.09375, y: 0.90625 }, + { x: 0.15625, y: 0.90625 }, + { x: 0.15625, y: 0.90625 }, + { x: 0.21875, y: 0.90625 }, + { x: 0.21875, y: 0.90625 }, + { x: 0.28125, y: 0.90625 }, + { x: 0.28125, y: 0.90625 }, + { x: 0.34375, y: 0.90625 }, + { x: 0.34375, y: 0.90625 }, + { x: 0.40625, y: 0.90625 }, + { x: 0.40625, y: 0.90625 }, + { x: 0.46875, y: 0.90625 }, + { x: 0.46875, y: 0.90625 }, + { x: 0.53125, y: 0.90625 }, + { x: 0.53125, y: 0.90625 }, + { x: 0.59375, y: 0.90625 }, + { x: 0.59375, y: 0.90625 }, + { x: 0.65625, y: 0.90625 }, + { x: 0.65625, y: 0.90625 }, + { x: 0.71875, y: 0.90625 }, + { x: 0.71875, y: 0.90625 }, + { x: 0.78125, y: 0.90625 }, + { x: 0.78125, y: 0.90625 }, + { x: 0.84375, y: 0.90625 }, + { x: 0.84375, y: 0.90625 }, + { x: 0.90625, y: 0.90625 }, + { x: 0.90625, y: 0.90625 }, + { x: 0.96875, y: 0.90625 }, + { x: 0.96875, y: 0.90625 }, + { x: 0.03125, y: 0.96875 }, + { x: 0.03125, y: 0.96875 }, + { x: 0.09375, y: 0.96875 }, + { x: 0.09375, y: 0.96875 }, + { x: 0.15625, y: 0.96875 }, + { x: 0.15625, y: 0.96875 }, + { x: 0.21875, y: 0.96875 }, + { x: 0.21875, y: 0.96875 }, + { x: 0.28125, y: 0.96875 }, + { x: 0.28125, y: 0.96875 }, + { x: 0.34375, y: 0.96875 }, + { x: 0.34375, y: 0.96875 }, + { x: 0.40625, y: 0.96875 }, + { x: 0.40625, y: 0.96875 }, + { x: 0.46875, y: 0.96875 }, + { x: 0.46875, y: 0.96875 }, + { x: 0.53125, y: 0.96875 }, + { x: 0.53125, y: 0.96875 }, + { x: 0.59375, y: 0.96875 }, + { x: 0.59375, y: 0.96875 }, + { x: 0.65625, y: 0.96875 }, + { x: 0.65625, y: 0.96875 }, + { x: 0.71875, y: 0.96875 }, + { x: 0.71875, y: 0.96875 }, + { x: 0.78125, y: 0.96875 }, + { x: 0.78125, y: 0.96875 }, + { x: 0.84375, y: 0.96875 }, + { x: 0.84375, y: 0.96875 }, + { x: 0.90625, y: 0.96875 }, + { x: 0.90625, y: 0.96875 }, + { x: 0.96875, y: 0.96875 }, + { x: 0.96875, y: 0.96875 }, + { x: 0.0625, y: 0.0625 }, + { x: 0.0625, y: 0.0625 }, + { x: 0.0625, y: 0.0625 }, + { x: 0.0625, y: 0.0625 }, + { x: 0.0625, y: 0.0625 }, + { x: 0.0625, y: 0.0625 }, + { x: 0.1875, y: 0.0625 }, + { x: 0.1875, y: 0.0625 }, + { x: 0.1875, y: 0.0625 }, + { x: 0.1875, y: 0.0625 }, + { x: 0.1875, y: 0.0625 }, + { x: 0.1875, y: 0.0625 }, + { x: 0.3125, y: 0.0625 }, + { x: 0.3125, y: 0.0625 }, + { x: 0.3125, y: 0.0625 }, + { x: 0.3125, y: 0.0625 }, + { x: 0.3125, y: 0.0625 }, + { x: 0.3125, y: 0.0625 }, + { x: 0.4375, y: 0.0625 }, + { x: 0.4375, y: 0.0625 }, + { x: 0.4375, y: 0.0625 }, + { x: 0.4375, y: 0.0625 }, + { x: 0.4375, y: 0.0625 }, + { x: 0.4375, y: 0.0625 }, + { x: 0.5625, y: 0.0625 }, + { x: 0.5625, y: 0.0625 }, + { x: 0.5625, y: 0.0625 }, + { x: 0.5625, y: 0.0625 }, + { x: 0.5625, y: 0.0625 }, + { x: 0.5625, y: 0.0625 }, + { x: 0.6875, y: 0.0625 }, + { x: 0.6875, y: 0.0625 }, + { x: 0.6875, y: 0.0625 }, + { x: 0.6875, y: 0.0625 }, + { x: 0.6875, y: 0.0625 }, + { x: 0.6875, y: 0.0625 }, + { x: 0.8125, y: 0.0625 }, + { x: 0.8125, y: 0.0625 }, + { x: 0.8125, y: 0.0625 }, + { x: 0.8125, y: 0.0625 }, + { x: 0.8125, y: 0.0625 }, + { x: 0.8125, y: 0.0625 }, + { x: 0.9375, y: 0.0625 }, + { x: 0.9375, y: 0.0625 }, + { x: 0.9375, y: 0.0625 }, + { x: 0.9375, y: 0.0625 }, + { x: 0.9375, y: 0.0625 }, + { x: 0.9375, y: 0.0625 }, + { x: 0.0625, y: 0.1875 }, + { x: 0.0625, y: 0.1875 }, + { x: 0.0625, y: 0.1875 }, + { x: 0.0625, y: 0.1875 }, + { x: 0.0625, y: 0.1875 }, + { x: 0.0625, y: 0.1875 }, + { x: 0.1875, y: 0.1875 }, + { x: 0.1875, y: 0.1875 }, + { x: 0.1875, y: 0.1875 }, + { x: 0.1875, y: 0.1875 }, + { x: 0.1875, y: 0.1875 }, + { x: 0.1875, y: 0.1875 }, + { x: 0.3125, y: 0.1875 }, + { x: 0.3125, y: 0.1875 }, + { x: 0.3125, y: 0.1875 }, + { x: 0.3125, y: 0.1875 }, + { x: 0.3125, y: 0.1875 }, + { x: 0.3125, y: 0.1875 }, + { x: 0.4375, y: 0.1875 }, + { x: 0.4375, y: 0.1875 }, + { x: 0.4375, y: 0.1875 }, + { x: 0.4375, y: 0.1875 }, + { x: 0.4375, y: 0.1875 }, + { x: 0.4375, y: 0.1875 }, + { x: 0.5625, y: 0.1875 }, + { x: 0.5625, y: 0.1875 }, + { x: 0.5625, y: 0.1875 }, + { x: 0.5625, y: 0.1875 }, + { x: 0.5625, y: 0.1875 }, + { x: 0.5625, y: 0.1875 }, + { x: 0.6875, y: 0.1875 }, + { x: 0.6875, y: 0.1875 }, + { x: 0.6875, y: 0.1875 }, + { x: 0.6875, y: 0.1875 }, + { x: 0.6875, y: 0.1875 }, + { x: 0.6875, y: 0.1875 }, + { x: 0.8125, y: 0.1875 }, + { x: 0.8125, y: 0.1875 }, + { x: 0.8125, y: 0.1875 }, + { x: 0.8125, y: 0.1875 }, + { x: 0.8125, y: 0.1875 }, + { x: 0.8125, y: 0.1875 }, + { x: 0.9375, y: 0.1875 }, + { x: 0.9375, y: 0.1875 }, + { x: 0.9375, y: 0.1875 }, + { x: 0.9375, y: 0.1875 }, + { x: 0.9375, y: 0.1875 }, + { x: 0.9375, y: 0.1875 }, + { x: 0.0625, y: 0.3125 }, + { x: 0.0625, y: 0.3125 }, + { x: 0.0625, y: 0.3125 }, + { x: 0.0625, y: 0.3125 }, + { x: 0.0625, y: 0.3125 }, + { x: 0.0625, y: 0.3125 }, + { x: 0.1875, y: 0.3125 }, + { x: 0.1875, y: 0.3125 }, + { x: 0.1875, y: 0.3125 }, + { x: 0.1875, y: 0.3125 }, + { x: 0.1875, y: 0.3125 }, + { x: 0.1875, y: 0.3125 }, + { x: 0.3125, y: 0.3125 }, + { x: 0.3125, y: 0.3125 }, + { x: 0.3125, y: 0.3125 }, + { x: 0.3125, y: 0.3125 }, + { x: 0.3125, y: 0.3125 }, + { x: 0.3125, y: 0.3125 }, + { x: 0.4375, y: 0.3125 }, + { x: 0.4375, y: 0.3125 }, + { x: 0.4375, y: 0.3125 }, + { x: 0.4375, y: 0.3125 }, + { x: 0.4375, y: 0.3125 }, + { x: 0.4375, y: 0.3125 }, + { x: 0.5625, y: 0.3125 }, + { x: 0.5625, y: 0.3125 }, + { x: 0.5625, y: 0.3125 }, + { x: 0.5625, y: 0.3125 }, + { x: 0.5625, y: 0.3125 }, + { x: 0.5625, y: 0.3125 }, + { x: 0.6875, y: 0.3125 }, + { x: 0.6875, y: 0.3125 }, + { x: 0.6875, y: 0.3125 }, + { x: 0.6875, y: 0.3125 }, + { x: 0.6875, y: 0.3125 }, + { x: 0.6875, y: 0.3125 }, + { x: 0.8125, y: 0.3125 }, + { x: 0.8125, y: 0.3125 }, + { x: 0.8125, y: 0.3125 }, + { x: 0.8125, y: 0.3125 }, + { x: 0.8125, y: 0.3125 }, + { x: 0.8125, y: 0.3125 }, + { x: 0.9375, y: 0.3125 }, + { x: 0.9375, y: 0.3125 }, + { x: 0.9375, y: 0.3125 }, + { x: 0.9375, y: 0.3125 }, + { x: 0.9375, y: 0.3125 }, + { x: 0.9375, y: 0.3125 }, + { x: 0.0625, y: 0.4375 }, + { x: 0.0625, y: 0.4375 }, + { x: 0.0625, y: 0.4375 }, + { x: 0.0625, y: 0.4375 }, + { x: 0.0625, y: 0.4375 }, + { x: 0.0625, y: 0.4375 }, + { x: 0.1875, y: 0.4375 }, + { x: 0.1875, y: 0.4375 }, + { x: 0.1875, y: 0.4375 }, + { x: 0.1875, y: 0.4375 }, + { x: 0.1875, y: 0.4375 }, + { x: 0.1875, y: 0.4375 }, + { x: 0.3125, y: 0.4375 }, + { x: 0.3125, y: 0.4375 }, + { x: 0.3125, y: 0.4375 }, + { x: 0.3125, y: 0.4375 }, + { x: 0.3125, y: 0.4375 }, + { x: 0.3125, y: 0.4375 }, + { x: 0.4375, y: 0.4375 }, + { x: 0.4375, y: 0.4375 }, + { x: 0.4375, y: 0.4375 }, + { x: 0.4375, y: 0.4375 }, + { x: 0.4375, y: 0.4375 }, + { x: 0.4375, y: 0.4375 }, + { x: 0.5625, y: 0.4375 }, + { x: 0.5625, y: 0.4375 }, + { x: 0.5625, y: 0.4375 }, + { x: 0.5625, y: 0.4375 }, + { x: 0.5625, y: 0.4375 }, + { x: 0.5625, y: 0.4375 }, + { x: 0.6875, y: 0.4375 }, + { x: 0.6875, y: 0.4375 }, + { x: 0.6875, y: 0.4375 }, + { x: 0.6875, y: 0.4375 }, + { x: 0.6875, y: 0.4375 }, + { x: 0.6875, y: 0.4375 }, + { x: 0.8125, y: 0.4375 }, + { x: 0.8125, y: 0.4375 }, + { x: 0.8125, y: 0.4375 }, + { x: 0.8125, y: 0.4375 }, + { x: 0.8125, y: 0.4375 }, + { x: 0.8125, y: 0.4375 }, + { x: 0.9375, y: 0.4375 }, + { x: 0.9375, y: 0.4375 }, + { x: 0.9375, y: 0.4375 }, + { x: 0.9375, y: 0.4375 }, + { x: 0.9375, y: 0.4375 }, + { x: 0.9375, y: 0.4375 }, + { x: 0.0625, y: 0.5625 }, + { x: 0.0625, y: 0.5625 }, + { x: 0.0625, y: 0.5625 }, + { x: 0.0625, y: 0.5625 }, + { x: 0.0625, y: 0.5625 }, + { x: 0.0625, y: 0.5625 }, + { x: 0.1875, y: 0.5625 }, + { x: 0.1875, y: 0.5625 }, + { x: 0.1875, y: 0.5625 }, + { x: 0.1875, y: 0.5625 }, + { x: 0.1875, y: 0.5625 }, + { x: 0.1875, y: 0.5625 }, + { x: 0.3125, y: 0.5625 }, + { x: 0.3125, y: 0.5625 }, + { x: 0.3125, y: 0.5625 }, + { x: 0.3125, y: 0.5625 }, + { x: 0.3125, y: 0.5625 }, + { x: 0.3125, y: 0.5625 }, + { x: 0.4375, y: 0.5625 }, + { x: 0.4375, y: 0.5625 }, + { x: 0.4375, y: 0.5625 }, + { x: 0.4375, y: 0.5625 }, + { x: 0.4375, y: 0.5625 }, + { x: 0.4375, y: 0.5625 }, + { x: 0.5625, y: 0.5625 }, + { x: 0.5625, y: 0.5625 }, + { x: 0.5625, y: 0.5625 }, + { x: 0.5625, y: 0.5625 }, + { x: 0.5625, y: 0.5625 }, + { x: 0.5625, y: 0.5625 }, + { x: 0.6875, y: 0.5625 }, + { x: 0.6875, y: 0.5625 }, + { x: 0.6875, y: 0.5625 }, + { x: 0.6875, y: 0.5625 }, + { x: 0.6875, y: 0.5625 }, + { x: 0.6875, y: 0.5625 }, + { x: 0.8125, y: 0.5625 }, + { x: 0.8125, y: 0.5625 }, + { x: 0.8125, y: 0.5625 }, + { x: 0.8125, y: 0.5625 }, + { x: 0.8125, y: 0.5625 }, + { x: 0.8125, y: 0.5625 }, + { x: 0.9375, y: 0.5625 }, + { x: 0.9375, y: 0.5625 }, + { x: 0.9375, y: 0.5625 }, + { x: 0.9375, y: 0.5625 }, + { x: 0.9375, y: 0.5625 }, + { x: 0.9375, y: 0.5625 }, + { x: 0.0625, y: 0.6875 }, + { x: 0.0625, y: 0.6875 }, + { x: 0.0625, y: 0.6875 }, + { x: 0.0625, y: 0.6875 }, + { x: 0.0625, y: 0.6875 }, + { x: 0.0625, y: 0.6875 }, + { x: 0.1875, y: 0.6875 }, + { x: 0.1875, y: 0.6875 }, + { x: 0.1875, y: 0.6875 }, + { x: 0.1875, y: 0.6875 }, + { x: 0.1875, y: 0.6875 }, + { x: 0.1875, y: 0.6875 }, + { x: 0.3125, y: 0.6875 }, + { x: 0.3125, y: 0.6875 }, + { x: 0.3125, y: 0.6875 }, + { x: 0.3125, y: 0.6875 }, + { x: 0.3125, y: 0.6875 }, + { x: 0.3125, y: 0.6875 }, + { x: 0.4375, y: 0.6875 }, + { x: 0.4375, y: 0.6875 }, + { x: 0.4375, y: 0.6875 }, + { x: 0.4375, y: 0.6875 }, + { x: 0.4375, y: 0.6875 }, + { x: 0.4375, y: 0.6875 }, + { x: 0.5625, y: 0.6875 }, + { x: 0.5625, y: 0.6875 }, + { x: 0.5625, y: 0.6875 }, + { x: 0.5625, y: 0.6875 }, + { x: 0.5625, y: 0.6875 }, + { x: 0.5625, y: 0.6875 }, + { x: 0.6875, y: 0.6875 }, + { x: 0.6875, y: 0.6875 }, + { x: 0.6875, y: 0.6875 }, + { x: 0.6875, y: 0.6875 }, + { x: 0.6875, y: 0.6875 }, + { x: 0.6875, y: 0.6875 }, + { x: 0.8125, y: 0.6875 }, + { x: 0.8125, y: 0.6875 }, + { x: 0.8125, y: 0.6875 }, + { x: 0.8125, y: 0.6875 }, + { x: 0.8125, y: 0.6875 }, + { x: 0.8125, y: 0.6875 }, + { x: 0.9375, y: 0.6875 }, + { x: 0.9375, y: 0.6875 }, + { x: 0.9375, y: 0.6875 }, + { x: 0.9375, y: 0.6875 }, + { x: 0.9375, y: 0.6875 }, + { x: 0.9375, y: 0.6875 }, + { x: 0.0625, y: 0.8125 }, + { x: 0.0625, y: 0.8125 }, + { x: 0.0625, y: 0.8125 }, + { x: 0.0625, y: 0.8125 }, + { x: 0.0625, y: 0.8125 }, + { x: 0.0625, y: 0.8125 }, + { x: 0.1875, y: 0.8125 }, + { x: 0.1875, y: 0.8125 }, + { x: 0.1875, y: 0.8125 }, + { x: 0.1875, y: 0.8125 }, + { x: 0.1875, y: 0.8125 }, + { x: 0.1875, y: 0.8125 }, + { x: 0.3125, y: 0.8125 }, + { x: 0.3125, y: 0.8125 }, + { x: 0.3125, y: 0.8125 }, + { x: 0.3125, y: 0.8125 }, + { x: 0.3125, y: 0.8125 }, + { x: 0.3125, y: 0.8125 }, + { x: 0.4375, y: 0.8125 }, + { x: 0.4375, y: 0.8125 }, + { x: 0.4375, y: 0.8125 }, + { x: 0.4375, y: 0.8125 }, + { x: 0.4375, y: 0.8125 }, + { x: 0.4375, y: 0.8125 }, + { x: 0.5625, y: 0.8125 }, + { x: 0.5625, y: 0.8125 }, + { x: 0.5625, y: 0.8125 }, + { x: 0.5625, y: 0.8125 }, + { x: 0.5625, y: 0.8125 }, + { x: 0.5625, y: 0.8125 }, + { x: 0.6875, y: 0.8125 }, + { x: 0.6875, y: 0.8125 }, + { x: 0.6875, y: 0.8125 }, + { x: 0.6875, y: 0.8125 }, + { x: 0.6875, y: 0.8125 }, + { x: 0.6875, y: 0.8125 }, + { x: 0.8125, y: 0.8125 }, + { x: 0.8125, y: 0.8125 }, + { x: 0.8125, y: 0.8125 }, + { x: 0.8125, y: 0.8125 }, + { x: 0.8125, y: 0.8125 }, + { x: 0.8125, y: 0.8125 }, + { x: 0.9375, y: 0.8125 }, + { x: 0.9375, y: 0.8125 }, + { x: 0.9375, y: 0.8125 }, + { x: 0.9375, y: 0.8125 }, + { x: 0.9375, y: 0.8125 }, + { x: 0.9375, y: 0.8125 }, + { x: 0.0625, y: 0.9375 }, + { x: 0.0625, y: 0.9375 }, + { x: 0.0625, y: 0.9375 }, + { x: 0.0625, y: 0.9375 }, + { x: 0.0625, y: 0.9375 }, + { x: 0.0625, y: 0.9375 }, + { x: 0.1875, y: 0.9375 }, + { x: 0.1875, y: 0.9375 }, + { x: 0.1875, y: 0.9375 }, + { x: 0.1875, y: 0.9375 }, + { x: 0.1875, y: 0.9375 }, + { x: 0.1875, y: 0.9375 }, + { x: 0.3125, y: 0.9375 }, + { x: 0.3125, y: 0.9375 }, + { x: 0.3125, y: 0.9375 }, + { x: 0.3125, y: 0.9375 }, + { x: 0.3125, y: 0.9375 }, + { x: 0.3125, y: 0.9375 }, + { x: 0.4375, y: 0.9375 }, + { x: 0.4375, y: 0.9375 }, + { x: 0.4375, y: 0.9375 }, + { x: 0.4375, y: 0.9375 }, + { x: 0.4375, y: 0.9375 }, + { x: 0.4375, y: 0.9375 }, + { x: 0.5625, y: 0.9375 }, + { x: 0.5625, y: 0.9375 }, + { x: 0.5625, y: 0.9375 }, + { x: 0.5625, y: 0.9375 }, + { x: 0.5625, y: 0.9375 }, + { x: 0.5625, y: 0.9375 }, + { x: 0.6875, y: 0.9375 }, + { x: 0.6875, y: 0.9375 }, + { x: 0.6875, y: 0.9375 }, + { x: 0.6875, y: 0.9375 }, + { x: 0.6875, y: 0.9375 }, + { x: 0.6875, y: 0.9375 }, + { x: 0.8125, y: 0.9375 }, + { x: 0.8125, y: 0.9375 }, + { x: 0.8125, y: 0.9375 }, + { x: 0.8125, y: 0.9375 }, + { x: 0.8125, y: 0.9375 }, + { x: 0.8125, y: 0.9375 }, + { x: 0.9375, y: 0.9375 }, + { x: 0.9375, y: 0.9375 }, + { x: 0.9375, y: 0.9375 }, + { x: 0.9375, y: 0.9375 }, + { x: 0.9375, y: 0.9375 }, + { x: 0.9375, y: 0.9375 } +]; + +// src/handpose/handdetector.ts +var HandDetector = class { + constructor(model9) { + var _a; + this.model = model9; + this.anchors = anchors.map((anchor) => [anchor.x, anchor.y]); + this.anchorsTensor = tfjs_esm_exports.tensor2d(this.anchors); + this.inputSize = (_a = this.model) == null ? void 0 : _a.inputs[0].shape[2]; + this.inputSizeTensor = tfjs_esm_exports.tensor1d([this.inputSize, this.inputSize]); + this.doubleInputSizeTensor = tfjs_esm_exports.tensor1d([this.inputSize * 2, this.inputSize * 2]); + } + normalizeBoxes(boxes) { + return tfjs_esm_exports.tidy(() => { + const boxOffsets = tfjs_esm_exports.slice(boxes, [0, 0], [-1, 2]); + const boxSizes = tfjs_esm_exports.slice(boxes, [0, 2], [-1, 2]); + const boxCenterPoints = tfjs_esm_exports.add(tfjs_esm_exports.div(boxOffsets, this.inputSizeTensor), this.anchorsTensor); + const halfBoxSizes = tfjs_esm_exports.div(boxSizes, this.doubleInputSizeTensor); + const startPoints = tfjs_esm_exports.mul(tfjs_esm_exports.sub(boxCenterPoints, halfBoxSizes), this.inputSizeTensor); + const endPoints = tfjs_esm_exports.mul(tfjs_esm_exports.add(boxCenterPoints, halfBoxSizes), this.inputSizeTensor); + return tfjs_esm_exports.concat2d([startPoints, endPoints], 1); + }); + } + normalizeLandmarks(rawPalmLandmarks, index) { + return tfjs_esm_exports.tidy(() => { + const landmarks = tfjs_esm_exports.add(tfjs_esm_exports.div(rawPalmLandmarks.reshape([-1, 7, 2]), this.inputSizeTensor), this.anchors[index]); + return tfjs_esm_exports.mul(landmarks, this.inputSizeTensor); + }); + } + async getBoxes(input, config3) { + const batched = this.model.predict(input); + const predictions = batched.squeeze(); + batched.dispose(); + const scoresT = tfjs_esm_exports.tidy(() => tfjs_esm_exports.sigmoid(tfjs_esm_exports.slice(predictions, [0, 0], [-1, 1])).squeeze()); + const scores = scoresT.dataSync(); + const rawBoxes = tfjs_esm_exports.slice(predictions, [0, 1], [-1, 4]); + const boxes = this.normalizeBoxes(rawBoxes); + rawBoxes.dispose(); + const filteredT = await tfjs_esm_exports.image.nonMaxSuppressionAsync(boxes, scores, config3.hand.maxDetected, config3.hand.iouThreshold, config3.hand.minConfidence); + const filtered = filteredT.arraySync(); + scoresT.dispose(); + filteredT.dispose(); + const hands = []; + for (const index of filtered) { + if (scores[index] >= config3.hand.minConfidence) { + const matchingBox = tfjs_esm_exports.slice(boxes, [index, 0], [1, -1]); + const rawPalmLandmarks = tfjs_esm_exports.slice(predictions, [index, 5], [1, 14]); + const palmLandmarks = tfjs_esm_exports.tidy(() => this.normalizeLandmarks(rawPalmLandmarks, index).reshape([-1, 2])); + rawPalmLandmarks.dispose(); + hands.push({ box: matchingBox, palmLandmarks, confidence: scores[index] }); + } + } + predictions.dispose(); + boxes.dispose(); + return hands; + } + async estimateHandBounds(input, config3) { + const inputHeight = input.shape[1]; + const inputWidth = input.shape[2]; + const image15 = tfjs_esm_exports.tidy(() => input.resizeBilinear([this.inputSize, this.inputSize]).div(127.5).sub(1)); + const predictions = await this.getBoxes(image15, config3); + image15.dispose(); + const hands = []; + if (!predictions || predictions.length === 0) + return hands; + for (const prediction of predictions) { + const boxes = prediction.box.dataSync(); + const startPoint = boxes.slice(0, 2); + const endPoint = boxes.slice(2, 4); + const palmLandmarks = prediction.palmLandmarks.arraySync(); + prediction.box.dispose(); + prediction.palmLandmarks.dispose(); + hands.push(scaleBoxCoordinates2({ startPoint, endPoint, palmLandmarks, confidence: prediction.confidence }, [inputWidth / this.inputSize, inputHeight / this.inputSize])); + } + return hands; + } +}; + +// src/handpose/util.ts +function normalizeRadians2(angle) { + return angle - 2 * Math.PI * Math.floor((angle + Math.PI) / (2 * Math.PI)); +} +function computeRotation2(point1, point2) { + const radians = Math.PI / 2 - Math.atan2(-(point2[1] - point1[1]), point2[0] - point1[0]); + return normalizeRadians2(radians); +} +var buildTranslationMatrix2 = (x, y) => [[1, 0, x], [0, 1, y], [0, 0, 1]]; +function dot2(v1, v2) { + let product = 0; + for (let i = 0; i < v1.length; i++) { + product += v1[i] * v2[i]; + } + return product; +} +function getColumnFrom2DArr2(arr, columnIndex) { + const column = []; + for (let i = 0; i < arr.length; i++) { + column.push(arr[i][columnIndex]); + } + return column; +} +function multiplyTransformMatrices2(mat1, mat2) { + const product = []; + const size = mat1.length; + for (let row = 0; row < size; row++) { + product.push([]); + for (let col = 0; col < size; col++) { + product[row].push(dot2(mat1[row], getColumnFrom2DArr2(mat2, col))); + } + } + return product; +} +function buildRotationMatrix2(rotation, center) { + const cosA = Math.cos(rotation); + const sinA = Math.sin(rotation); + const rotationMatrix = [[cosA, -sinA, 0], [sinA, cosA, 0], [0, 0, 1]]; + const translationMatrix = buildTranslationMatrix2(center[0], center[1]); + const translationTimesRotation = multiplyTransformMatrices2(translationMatrix, rotationMatrix); + const negativeTranslationMatrix = buildTranslationMatrix2(-center[0], -center[1]); + return multiplyTransformMatrices2(translationTimesRotation, negativeTranslationMatrix); +} +function invertTransformMatrix2(matrix) { + const rotationComponent = [[matrix[0][0], matrix[1][0]], [matrix[0][1], matrix[1][1]]]; + const translationComponent = [matrix[0][2], matrix[1][2]]; + const invertedTranslation = [ + -dot2(rotationComponent[0], translationComponent), + -dot2(rotationComponent[1], translationComponent) + ]; + return [ + rotationComponent[0].concat(invertedTranslation[0]), + rotationComponent[1].concat(invertedTranslation[1]), + [0, 0, 1] + ]; +} +function rotatePoint2(homogeneousCoordinate, rotationMatrix) { + return [ + dot2(homogeneousCoordinate, rotationMatrix[0]), + dot2(homogeneousCoordinate, rotationMatrix[1]) + ]; +} + +// src/handpose/handpipeline.ts +var palmBoxEnlargeFactor = 5; +var handBoxEnlargeFactor = 1.65; +var palmLandmarkIds = [0, 5, 9, 13, 17, 1, 2]; +var palmLandmarksPalmBase = 0; +var palmLandmarksMiddleFingerBase = 2; +var HandPipeline = class { + constructor(handDetector, handPoseModel2) { + var _a; + this.handDetector = handDetector; + this.handPoseModel = handPoseModel2; + this.inputSize = (_a = this.handPoseModel) == null ? void 0 : _a.inputs[0].shape[2]; + this.storedBoxes = []; + this.skipped = 0; + this.detectedHands = 0; + } + calculateLandmarksBoundingBox(landmarks) { + const xs = landmarks.map((d) => d[0]); + const ys = landmarks.map((d) => d[1]); + const startPoint = [Math.min(...xs), Math.min(...ys)]; + const endPoint = [Math.max(...xs), Math.max(...ys)]; + return { startPoint, endPoint }; + } + getBoxForPalmLandmarks(palmLandmarks, rotationMatrix) { + const rotatedPalmLandmarks = palmLandmarks.map((coord) => rotatePoint2([...coord, 1], rotationMatrix)); + const boxAroundPalm = this.calculateLandmarksBoundingBox(rotatedPalmLandmarks); + return enlargeBox2(squarifyBox2(boxAroundPalm), palmBoxEnlargeFactor); + } + getBoxForHandLandmarks(landmarks) { + const boundingBox = this.calculateLandmarksBoundingBox(landmarks); + const boxAroundHand = enlargeBox2(squarifyBox2(boundingBox), handBoxEnlargeFactor); + boxAroundHand.palmLandmarks = []; + for (let i = 0; i < palmLandmarkIds.length; i++) { + boxAroundHand.palmLandmarks.push(landmarks[palmLandmarkIds[i]].slice(0, 2)); + } + return boxAroundHand; + } + transformRawCoords(rawCoords, box22, angle, rotationMatrix) { + const boxSize = getBoxSize2(box22); + const scaleFactor = [boxSize[0] / this.inputSize, boxSize[1] / this.inputSize, (boxSize[0] + boxSize[1]) / this.inputSize / 2]; + const coordsScaled = rawCoords.map((coord) => [ + scaleFactor[0] * (coord[0] - this.inputSize / 2), + scaleFactor[1] * (coord[1] - this.inputSize / 2), + scaleFactor[2] * coord[2] + ]); + const coordsRotationMatrix = buildRotationMatrix2(angle, [0, 0]); + const coordsRotated = coordsScaled.map((coord) => { + const rotated = rotatePoint2(coord, coordsRotationMatrix); + return [...rotated, coord[2]]; + }); + const inverseRotationMatrix = invertTransformMatrix2(rotationMatrix); + const boxCenter = [...getBoxCenter2(box22), 1]; + const originalBoxCenter = [ + dot2(boxCenter, inverseRotationMatrix[0]), + dot2(boxCenter, inverseRotationMatrix[1]) + ]; + return coordsRotated.map((coord) => [ + Math.trunc(coord[0] + originalBoxCenter[0]), + Math.trunc(coord[1] + originalBoxCenter[1]), + Math.trunc(coord[2]) + ]); + } + async estimateHands(image15, config3) { + let useFreshBox = false; + let boxes; + if (this.skipped === 0 || this.skipped > config3.hand.skipFrames || !config3.hand.landmarks || !config3.skipFrame) { + boxes = await this.handDetector.estimateHandBounds(image15, config3); + this.skipped = 0; + } + if (config3.skipFrame) + this.skipped++; + if (boxes && boxes.length > 0 && (boxes.length !== this.detectedHands && this.detectedHands !== config3.hand.maxDetected || !config3.hand.landmarks)) { + this.detectedHands = 0; + this.storedBoxes = [...boxes]; + if (this.storedBoxes.length > 0) + useFreshBox = true; + } + const hands = []; + for (let i = 0; i < this.storedBoxes.length; i++) { + const currentBox = this.storedBoxes[i]; + if (!currentBox) + continue; + if (config3.hand.landmarks) { + const angle = config3.hand.rotation ? computeRotation2(currentBox.palmLandmarks[palmLandmarksPalmBase], currentBox.palmLandmarks[palmLandmarksMiddleFingerBase]) : 0; + const palmCenter = getBoxCenter2(currentBox); + const palmCenterNormalized = [palmCenter[0] / image15.shape[2], palmCenter[1] / image15.shape[1]]; + const rotatedImage = config3.hand.rotation && tfjs_esm_exports.ENV.flags.IS_BROWSER ? tfjs_esm_exports.image.rotateWithOffset(image15, angle, 0, palmCenterNormalized) : image15.clone(); + const rotationMatrix = buildRotationMatrix2(-angle, palmCenter); + const newBox = useFreshBox ? this.getBoxForPalmLandmarks(currentBox.palmLandmarks, rotationMatrix) : currentBox; + const croppedInput = cutBoxFromImageAndResize2(newBox, rotatedImage, [this.inputSize, this.inputSize]); + const handImage = croppedInput.div(255); + croppedInput.dispose(); + rotatedImage.dispose(); + const [confidenceT, keypoints3] = await this.handPoseModel.predict(handImage); + handImage.dispose(); + const confidence = confidenceT.dataSync()[0]; + confidenceT.dispose(); + if (confidence >= config3.hand.minConfidence) { + const keypointsReshaped = tfjs_esm_exports.reshape(keypoints3, [-1, 3]); + const rawCoords = keypointsReshaped.arraySync(); + keypoints3.dispose(); + keypointsReshaped.dispose(); + const coords3 = this.transformRawCoords(rawCoords, newBox, angle, rotationMatrix); + const nextBoundingBox = this.getBoxForHandLandmarks(coords3); + this.storedBoxes[i] = { ...nextBoundingBox, confidence }; + const result = { + landmarks: coords3, + confidence, + box: { topLeft: nextBoundingBox.startPoint, bottomRight: nextBoundingBox.endPoint } + }; + hands.push(result); + } else { + this.storedBoxes[i] = null; + } + keypoints3.dispose(); + } else { + const enlarged = enlargeBox2(squarifyBox2(currentBox), handBoxEnlargeFactor); + const result = { + confidence: currentBox.confidence, + box: { topLeft: enlarged.startPoint, bottomRight: enlarged.endPoint } + }; + hands.push(result); + } + } + this.storedBoxes = this.storedBoxes.filter((a) => a !== null); + this.detectedHands = hands.length; + return hands; + } +}; + +// src/handpose/handpose.ts +var meshAnnotations = { + thumb: [1, 2, 3, 4], + indexFinger: [5, 6, 7, 8], + middleFinger: [9, 10, 11, 12], + ringFinger: [13, 14, 15, 16], + pinky: [17, 18, 19, 20], + palmBase: [0] +}; +var handDetectorModel; +var handPoseModel; +var handPipeline; +async function predict5(input, config3) { + const predictions = await handPipeline.estimateHands(input, config3); + if (!predictions) + return []; + const hands = []; + for (let i = 0; i < predictions.length; i++) { + const annotations3 = {}; + if (predictions[i].landmarks) { + for (const key of Object.keys(meshAnnotations)) { + annotations3[key] = meshAnnotations[key].map((index) => predictions[i].landmarks[index]); + } + } + const keypoints3 = predictions[i].landmarks; + let box6 = [Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER, 0, 0]; + let boxRaw3 = [0, 0, 0, 0]; + if (keypoints3 && keypoints3.length > 0) { + for (const pt of keypoints3) { + if (pt[0] < box6[0]) + box6[0] = pt[0]; + if (pt[1] < box6[1]) + box6[1] = pt[1]; + if (pt[0] > box6[2]) + box6[2] = pt[0]; + if (pt[1] > box6[3]) + box6[3] = pt[1]; + } + box6[2] -= box6[0]; + box6[3] -= box6[1]; + boxRaw3 = [box6[0] / input.shape[2], box6[1] / input.shape[1], box6[2] / input.shape[2], box6[3] / input.shape[1]]; + } else { + box6 = predictions[i].box ? [ + Math.trunc(Math.max(0, predictions[i].box.topLeft[0])), + Math.trunc(Math.max(0, predictions[i].box.topLeft[1])), + Math.trunc(Math.min(input.shape[2], predictions[i].box.bottomRight[0]) - Math.max(0, predictions[i].box.topLeft[0])), + Math.trunc(Math.min(input.shape[1], predictions[i].box.bottomRight[1]) - Math.max(0, predictions[i].box.topLeft[1])) + ] : [0, 0, 0, 0]; + boxRaw3 = [ + predictions[i].box.topLeft[0] / input.shape[2], + predictions[i].box.topLeft[1] / input.shape[1], + (predictions[i].box.bottomRight[0] - predictions[i].box.topLeft[0]) / input.shape[2], + (predictions[i].box.bottomRight[1] - predictions[i].box.topLeft[1]) / input.shape[1] + ]; + } + hands.push({ id: i, score: Math.round(100 * predictions[i].confidence) / 100, box: box6, boxRaw: boxRaw3, keypoints: keypoints3, annotations: annotations3 }); + } + return hands; +} +async function load6(config3) { + if (!handDetectorModel || !handPoseModel) { + [handDetectorModel, handPoseModel] = await Promise.all([ + config3.hand.enabled ? tfjs_esm_exports.loadGraphModel(join(config3.modelBasePath, config3.hand.detector.modelPath), { fromTFHub: config3.hand.detector.modelPath.includes("tfhub.dev") }) : null, + config3.hand.landmarks ? tfjs_esm_exports.loadGraphModel(join(config3.modelBasePath, config3.hand.skeleton.modelPath), { fromTFHub: config3.hand.skeleton.modelPath.includes("tfhub.dev") }) : null + ]); + if (config3.hand.enabled) { + if (!handDetectorModel || !handDetectorModel["modelUrl"]) + log("load model failed:", config3.hand.detector.modelPath); + else if (config3.debug) + log("load model:", handDetectorModel["modelUrl"]); + if (!handPoseModel || !handPoseModel["modelUrl"]) + log("load model failed:", config3.hand.skeleton.modelPath); + else if (config3.debug) + log("load model:", handPoseModel["modelUrl"]); + } + } else { + if (config3.debug) + log("cached model:", handDetectorModel["modelUrl"]); + if (config3.debug) + log("cached model:", handPoseModel["modelUrl"]); + } + const handDetector = new HandDetector(handDetectorModel); + handPipeline = new HandPipeline(handDetector, handPoseModel); + return [handDetectorModel, handPoseModel]; +} + +// src/blazepose/blazepose.ts +var blazepose_exports = {}; +__export(blazepose_exports, { + load: () => load7, + predict: () => predict6 +}); + +// src/blazepose/annotations.ts +var full = [ + "nose", + "leftEyeInside", + "leftEye", + "leftEyeOutside", + "rightEyeInside", + "rightEye", + "rightEyeOutside", + "leftEar", + "rightEar", + "leftMouth", + "rightMouth", + "leftShoulder", + "rightShoulder", + "leftElbow", + "rightElbow", + "leftWrist", + "rightWrist", + "leftPalm", + "rightPalm", + "leftIndex", + "rightIndex", + "leftPinky", + "rightPinky", + "leftHip", + "rightHip", + "leftKnee", + "rightKnee", + "leftAnkle", + "rightAnkle", + "leftHeel", + "rightHeel", + "leftFoot", + "rightFoot", + "midHip", + "forehead", + "leftThumb", + "leftHand", + "rightThumb", + "rightHand" +]; +var upper = [ + "nose", + "leftEyeInside", + "leftEye", + "leftEyeOutside", + "rightEyeInside", + "rightEye", + "rightEyeOutside", + "leftEar", + "rightEar", + "leftMouth", + "rightMouth", + "leftShoulder", + "rightShoulder", + "leftElbow", + "rightElbow", + "left:15", + "right:16", + "left:17", + "right:18", + "left:19", + "right:20", + "left:21", + "right:22", + "leftChest", + "rightChest", + "neck", + "forehead", + "left:27", + "right:28", + "left:29", + "right:30" +]; + +// src/blazepose/blazepose.ts +var model4; +async function load7(config3) { + if (!model4) { + model4 = await tfjs_esm_exports.loadGraphModel(join(config3.modelBasePath, config3.body.modelPath)); + model4["width"] = parseInt(model4["signature"].inputs["input_1:0"].tensorShape.dim[2].size); + model4["height"] = parseInt(model4["signature"].inputs["input_1:0"].tensorShape.dim[1].size); + if (!model4 || !model4["modelUrl"]) + log("load model failed:", config3.body.modelPath); + else if (config3.debug) + log("load model:", model4["modelUrl"]); + } else if (config3.debug) + log("cached model:", model4["modelUrl"]); + return model4; +} +async function predict6(image15, config3) { + var _a; + if (!model4) + return []; + if (!config3.body.enabled) + return []; + const imgSize = { width: image15.shape[2], height: image15.shape[1] }; + const resize = tfjs_esm_exports.image.resizeBilinear(image15, [model4["width"], model4["height"]], false); + const normalize = tfjs_esm_exports.div(resize, [255]); + resize.dispose(); + const resT = await model4.predict(normalize); + const points = ((_a = resT.find((t) => t.size === 195 || t.size === 155)) == null ? void 0 : _a.dataSync()) || []; + resT.forEach((t) => t.dispose()); + normalize.dispose(); + const keypoints3 = []; + const labels2 = (points == null ? void 0 : points.length) === 195 ? full : upper; + const depth = 5; + for (let i = 0; i < points.length / depth; i++) { + keypoints3.push({ + id: i, + part: labels2[i], + position: [ + Math.trunc(imgSize.width * points[depth * i + 0] / 255), + Math.trunc(imgSize.height * points[depth * i + 1] / 255), + Math.trunc(points[depth * i + 2]) + 0 + ], + positionRaw: [ + points[depth * i + 0] / 255, + points[depth * i + 1] / 255, + points[depth * i + 2] + 0 + ], + score: (100 - Math.trunc(100 / (1 + Math.exp(points[depth * i + 3])))) / 100, + presence: (100 - Math.trunc(100 / (1 + Math.exp(points[depth * i + 4])))) / 100 + }); + } + const x = keypoints3.map((a) => a.position[0]); + const y = keypoints3.map((a) => a.position[1]); + const box6 = [ + Math.min(...x), + Math.min(...y), + Math.max(...x) - Math.min(...x), + Math.max(...y) - Math.min(...x) + ]; + const boxRaw3 = [0, 0, 0, 0]; + const score3 = keypoints3.reduce((prev, curr) => curr.score > prev ? curr.score : prev, 0); + return [{ id: 0, score: score3, box: box6, boxRaw: boxRaw3, keypoints: keypoints3 }]; +} + +// src/efficientpose/efficientpose.ts +var model5; +var keypoints = []; +var box4 = [0, 0, 0, 0]; +var boxRaw = [0, 0, 0, 0]; +var score = 0; +var skipped3 = Number.MAX_SAFE_INTEGER; +var bodyParts = ["head", "neck", "rightShoulder", "rightElbow", "rightWrist", "chest", "leftShoulder", "leftElbow", "leftWrist", "pelvis", "rightHip", "rightKnee", "rightAnkle", "leftHip", "leftKnee", "leftAnkle"]; +async function load8(config3) { + if (!model5) { + model5 = await tfjs_esm_exports.loadGraphModel(join(config3.modelBasePath, config3.body.modelPath)); + if (!model5 || !model5["modelUrl"]) + log("load model failed:", config3.body.modelPath); + else if (config3.debug) + log("load model:", model5["modelUrl"]); + } else if (config3.debug) + log("cached model:", model5["modelUrl"]); + return model5; +} +function max2d(inputs, minScore) { + const [width, height] = inputs.shape; + return tfjs_esm_exports.tidy(() => { + const mod = (a, b) => tfjs_esm_exports.sub(a, tfjs_esm_exports.mul(tfjs_esm_exports.div(a, tfjs_esm_exports.scalar(b, "int32")), tfjs_esm_exports.scalar(b, "int32"))); + const reshaped = tfjs_esm_exports.reshape(inputs, [height * width]); + const newScore = tfjs_esm_exports.max(reshaped, 0).dataSync()[0]; + if (newScore > minScore) { + const coords3 = tfjs_esm_exports.argMax(reshaped, 0); + const x = mod(coords3, width).dataSync()[0]; + const y = tfjs_esm_exports.div(coords3, tfjs_esm_exports.scalar(width, "int32")).dataSync()[0]; + return [x, y, newScore]; + } + return [0, 0, newScore]; + }); +} +async function predict7(image15, config3) { + if (skipped3 < config3.body.skipFrames && config3.skipFrame && Object.keys(keypoints).length > 0) { + skipped3++; + return [{ id: 0, score, box: box4, boxRaw, keypoints }]; + } + skipped3 = 0; + return new Promise(async (resolve) => { + const tensor = tfjs_esm_exports.tidy(() => { + if (!model5.inputs[0].shape) + return null; + const resize = tfjs_esm_exports.image.resizeBilinear(image15, [model5.inputs[0].shape[2], model5.inputs[0].shape[1]], false); + const enhance2 = tfjs_esm_exports.mul(resize, 2); + const norm = enhance2.sub(1); + return norm; + }); + let resT; + if (config3.body.enabled) + resT = await model5.predict(tensor); + tensor.dispose(); + if (resT) { + keypoints.length = 0; + const squeeze3 = resT.squeeze(); + tfjs_esm_exports.dispose(resT); + const stack2 = squeeze3.unstack(2); + tfjs_esm_exports.dispose(squeeze3); + for (let id = 0; id < stack2.length; id++) { + const [x2, y2, partScore] = max2d(stack2[id], config3.body.minConfidence); + if (score > config3.body.minConfidence) { + keypoints.push({ + score: Math.round(100 * partScore) / 100, + part: bodyParts[id], + positionRaw: [ + x2 / model5.inputs[0].shape[2], + y2 / model5.inputs[0].shape[1] + ], + position: [ + Math.round(image15.shape[2] * x2 / model5.inputs[0].shape[2]), + Math.round(image15.shape[1] * y2 / model5.inputs[0].shape[1]) + ] + }); + } + } + stack2.forEach((s) => tfjs_esm_exports.dispose(s)); + } + score = keypoints.reduce((prev, curr) => curr.score > prev ? curr.score : prev, 0); + const x = keypoints.map((a) => a.position[0]); + const y = keypoints.map((a) => a.position[1]); + box4 = [ + Math.min(...x), + Math.min(...y), + Math.max(...x) - Math.min(...x), + Math.max(...y) - Math.min(...y) + ]; + const xRaw = keypoints.map((a) => a.positionRaw[0]); + const yRaw = keypoints.map((a) => a.positionRaw[1]); + boxRaw = [ + Math.min(...xRaw), + Math.min(...yRaw), + Math.max(...xRaw) - Math.min(...xRaw), + Math.max(...yRaw) - Math.min(...yRaw) + ]; + resolve([{ id: 0, score, box: box4, boxRaw, keypoints }]); + }); +} + +// src/movenet/movenet.ts +var model6; +var keypoints2 = []; +var box5 = [0, 0, 0, 0]; +var boxRaw2 = [0, 0, 0, 0]; +var score2 = 0; +var skipped4 = Number.MAX_SAFE_INTEGER; +var bodyParts2 = ["nose", "leftEye", "rightEye", "leftEar", "rightEar", "leftShoulder", "rightShoulder", "leftElbow", "rightElbow", "leftWrist", "rightWrist", "leftHip", "rightHip", "leftKnee", "rightKnee", "leftAnkle", "rightAnkle"]; +async function load9(config3) { + if (!model6) { + model6 = await tfjs_esm_exports.loadGraphModel(join(config3.modelBasePath, config3.body.modelPath)); + if (!model6 || !model6["modelUrl"]) + log("load model failed:", config3.body.modelPath); + else if (config3.debug) + log("load model:", model6["modelUrl"]); + } else if (config3.debug) + log("cached model:", model6["modelUrl"]); + return model6; +} +async function predict8(image15, config3) { + if (skipped4 < config3.body.skipFrames && config3.skipFrame && Object.keys(keypoints2).length > 0) { + skipped4++; + return [{ id: 0, score: score2, box: box5, boxRaw: boxRaw2, keypoints: keypoints2 }]; + } + skipped4 = 0; + return new Promise(async (resolve) => { + const tensor = tfjs_esm_exports.tidy(() => { + if (!model6.inputs[0].shape) + return null; + const resize = tfjs_esm_exports.image.resizeBilinear(image15, [model6.inputs[0].shape[2], model6.inputs[0].shape[1]], false); + const cast2 = tfjs_esm_exports.cast(resize, "int32"); + return cast2; + }); + let resT; + if (config3.body.enabled) + resT = await model6.predict(tensor); + tensor.dispose(); + if (resT) { + keypoints2.length = 0; + const res = resT.arraySync(); + tfjs_esm_exports.dispose(resT); + const kpt3 = res[0][0]; + for (let id = 0; id < kpt3.length; id++) { + score2 = kpt3[id][2]; + if (score2 > config3.body.minConfidence) { + keypoints2.push({ + score: Math.round(100 * score2) / 100, + part: bodyParts2[id], + positionRaw: [ + kpt3[id][1], + kpt3[id][0] + ], + position: [ + Math.round(image15.shape[2] * kpt3[id][1]), + Math.round(image15.shape[1] * kpt3[id][0]) + ] + }); + } + } + } + score2 = keypoints2.reduce((prev, curr) => curr.score > prev ? curr.score : prev, 0); + const x = keypoints2.map((a) => a.position[0]); + const y = keypoints2.map((a) => a.position[1]); + box5 = [ + Math.min(...x), + Math.min(...y), + Math.max(...x) - Math.min(...x), + Math.max(...y) - Math.min(...y) + ]; + const xRaw = keypoints2.map((a) => a.positionRaw[0]); + const yRaw = keypoints2.map((a) => a.positionRaw[1]); + boxRaw2 = [ + Math.min(...xRaw), + Math.min(...yRaw), + Math.max(...xRaw) - Math.min(...xRaw), + Math.max(...yRaw) - Math.min(...yRaw) + ]; + resolve([{ id: 0, score: score2, box: box5, boxRaw: boxRaw2, keypoints: keypoints2 }]); + }); +} + +// src/object/nanodet.ts +var nanodet_exports = {}; +__export(nanodet_exports, { + load: () => load10, + predict: () => predict9 +}); + +// src/object/labels.ts +var labels = [ + { class: 1, label: "person" }, + { class: 2, label: "bicycle" }, + { class: 3, label: "car" }, + { class: 4, label: "motorcycle" }, + { class: 5, label: "airplane" }, + { class: 6, label: "bus" }, + { class: 7, label: "train" }, + { class: 8, label: "truck" }, + { class: 9, label: "boat" }, + { class: 10, label: "traffic light" }, + { class: 11, label: "fire hydrant" }, + { class: 12, label: "stop sign" }, + { class: 13, label: "parking meter" }, + { class: 14, label: "bench" }, + { class: 15, label: "bird" }, + { class: 16, label: "cat" }, + { class: 17, label: "dog" }, + { class: 18, label: "horse" }, + { class: 19, label: "sheep" }, + { class: 20, label: "cow" }, + { class: 21, label: "elephant" }, + { class: 22, label: "bear" }, + { class: 23, label: "zebra" }, + { class: 24, label: "giraffe" }, + { class: 25, label: "backpack" }, + { class: 26, label: "umbrella" }, + { class: 27, label: "handbag" }, + { class: 28, label: "tie" }, + { class: 29, label: "suitcase" }, + { class: 30, label: "frisbee" }, + { class: 31, label: "skis" }, + { class: 32, label: "snowboard" }, + { class: 33, label: "sports ball" }, + { class: 34, label: "kite" }, + { class: 35, label: "baseball bat" }, + { class: 36, label: "baseball glove" }, + { class: 37, label: "skateboard" }, + { class: 38, label: "surfboard" }, + { class: 39, label: "tennis racket" }, + { class: 40, label: "bottle" }, + { class: 41, label: "wine glass" }, + { class: 42, label: "cup" }, + { class: 43, label: "fork" }, + { class: 44, label: "knife" }, + { class: 45, label: "spoon" }, + { class: 46, label: "bowl" }, + { class: 47, label: "banana" }, + { class: 48, label: "apple" }, + { class: 49, label: "sandwich" }, + { class: 50, label: "orange" }, + { class: 51, label: "broccoli" }, + { class: 52, label: "carrot" }, + { class: 53, label: "hot dog" }, + { class: 54, label: "pizza" }, + { class: 55, label: "donut" }, + { class: 56, label: "cake" }, + { class: 57, label: "chair" }, + { class: 58, label: "couch" }, + { class: 59, label: "potted plant" }, + { class: 60, label: "bed" }, + { class: 61, label: "dining table" }, + { class: 62, label: "toilet" }, + { class: 63, label: "tv" }, + { class: 64, label: "laptop" }, + { class: 65, label: "mouse" }, + { class: 66, label: "remote" }, + { class: 67, label: "keyboard" }, + { class: 68, label: "cell phone" }, + { class: 69, label: "microwave" }, + { class: 70, label: "oven" }, + { class: 71, label: "toaster" }, + { class: 72, label: "sink" }, + { class: 73, label: "refrigerator" }, + { class: 74, label: "book" }, + { class: 75, label: "clock" }, + { class: 76, label: "vase" }, + { class: 77, label: "scissors" }, + { class: 78, label: "teddy bear" }, + { class: 79, label: "hair drier" }, + { class: 80, label: "toothbrush" } +]; + +// src/object/nanodet.ts +var model7; +var last3 = []; +var skipped5 = Number.MAX_SAFE_INTEGER; +var scaleBox = 2.5; +async function load10(config3) { + if (!model7) { + model7 = await tfjs_esm_exports.loadGraphModel(join(config3.modelBasePath, config3.object.modelPath)); + const inputs = Object.values(model7.modelSignature["inputs"]); + model7.inputSize = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : null; + if (!model7.inputSize) + throw new Error(`Human: Cannot determine model inputSize: ${config3.object.modelPath}`); + if (!model7 || !model7.modelUrl) + log("load model failed:", config3.object.modelPath); + else if (config3.debug) + log("load model:", model7.modelUrl); + } else if (config3.debug) + log("cached model:", model7.modelUrl); + return model7; +} +async function process2(res, inputSize, outputShape, config3) { + let id = 0; + let results = []; + for (const strideSize of [1, 2, 4]) { + tfjs_esm_exports.tidy(() => { + var _a, _b; + const baseSize = strideSize * 13; + const scoresT = (_a = res.find((a) => a.shape[1] === baseSize ** 2 && a.shape[2] === labels.length)) == null ? void 0 : _a.squeeze(); + const featuresT = (_b = res.find((a) => a.shape[1] === baseSize ** 2 && a.shape[2] < labels.length)) == null ? void 0 : _b.squeeze(); + const boxesMax = featuresT.reshape([-1, 4, featuresT.shape[1] / 4]); + const boxIdx = boxesMax.argMax(2).arraySync(); + const scores = scoresT.arraySync(); + for (let i = 0; i < scoresT.shape[0]; i++) { + for (let j = 0; j < scoresT.shape[1]; j++) { + const score3 = scores[i][j]; + if (score3 > config3.object.minConfidence && j !== 61) { + const cx = (0.5 + Math.trunc(i % baseSize)) / baseSize; + const cy = (0.5 + Math.trunc(i / baseSize)) / baseSize; + const boxOffset = boxIdx[i].map((a) => a * (baseSize / strideSize / inputSize)); + const [x, y] = [ + cx - scaleBox / strideSize * boxOffset[0], + cy - scaleBox / strideSize * boxOffset[1] + ]; + const [w, h] = [ + cx + scaleBox / strideSize * boxOffset[2] - x, + cy + scaleBox / strideSize * boxOffset[3] - y + ]; + let boxRaw3 = [x, y, w, h]; + boxRaw3 = boxRaw3.map((a) => Math.max(0, Math.min(a, 1))); + const box6 = [ + boxRaw3[0] * outputShape[0], + boxRaw3[1] * outputShape[1], + boxRaw3[2] * outputShape[0], + boxRaw3[3] * outputShape[1] + ]; + const result = { + id: id++, + score: Math.round(100 * score3) / 100, + class: j + 1, + label: labels[j].label, + box: box6.map((a) => Math.trunc(a)), + boxRaw: boxRaw3 + }; + results.push(result); + } + } + } + }); + } + res.forEach((t) => tfjs_esm_exports.dispose(t)); + const nmsBoxes = results.map((a) => [a.boxRaw[1], a.boxRaw[0], a.boxRaw[3], a.boxRaw[2]]); + const nmsScores = results.map((a) => a.score); + let nmsIdx = []; + if (nmsBoxes && nmsBoxes.length > 0) { + const nms = await tfjs_esm_exports.image.nonMaxSuppressionAsync(nmsBoxes, nmsScores, config3.object.maxDetected, config3.object.iouThreshold, config3.object.minConfidence); + nmsIdx = nms.dataSync(); + tfjs_esm_exports.dispose(nms); + } + results = results.filter((a, idx) => nmsIdx.includes(idx)).sort((a, b) => b.score - a.score); + return results; +} +async function predict9(image15, config3) { + if (skipped5 < config3.object.skipFrames && config3.skipFrame && last3.length > 0) { + skipped5++; + return last3; + } + skipped5 = 0; + return new Promise(async (resolve) => { + const outputSize = [image15.shape[2], image15.shape[1]]; + const resize = tfjs_esm_exports.image.resizeBilinear(image15, [model7.inputSize, model7.inputSize], false); + const norm = resize.div(255); + const transpose = norm.transpose([0, 3, 1, 2]); + norm.dispose(); + resize.dispose(); + let objectT; + if (config3.object.enabled) + objectT = await model7.predict(transpose); + transpose.dispose(); + const obj = await process2(objectT, model7.inputSize, outputSize, config3); + last3 = obj; + resolve(obj); + }); +} + +// src/object/centernet.ts +var centernet_exports = {}; +__export(centernet_exports, { + load: () => load11, + predict: () => predict10 +}); +var model8; +var last4 = []; +var skipped6 = Number.MAX_SAFE_INTEGER; +async function load11(config3) { + if (!model8) { + model8 = await tfjs_esm_exports.loadGraphModel(join(config3.modelBasePath, config3.object.modelPath)); + const inputs = Object.values(model8.modelSignature["inputs"]); + model8.inputSize = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : null; + if (!model8.inputSize) + throw new Error(`Human: Cannot determine model inputSize: ${config3.object.modelPath}`); + if (!model8 || !model8.modelUrl) + log("load model failed:", config3.object.modelPath); + else if (config3.debug) + log("load model:", model8.modelUrl); + } else if (config3.debug) + log("cached model:", model8.modelUrl); + return model8; +} +async function process3(res, inputSize, outputShape, config3) { + if (!res) + return []; + const results = []; + const detections = res.arraySync(); + const squeezeT = tfjs_esm_exports.squeeze(res); + res.dispose(); + const arr = tfjs_esm_exports.split(squeezeT, 6, 1); + squeezeT.dispose(); + const stackT = tfjs_esm_exports.stack([arr[1], arr[0], arr[3], arr[2]], 1); + const boxesT = stackT.squeeze(); + const scoresT = arr[4].squeeze(); + const classesT = arr[5].squeeze(); + arr.forEach((t) => t.dispose()); + const nmsT = await tfjs_esm_exports.image.nonMaxSuppressionAsync(boxesT, scoresT, config3.object.maxDetected, config3.object.iouThreshold, config3.object.minConfidence); + boxesT.dispose(); + scoresT.dispose(); + classesT.dispose(); + const nms = nmsT.dataSync(); + nmsT.dispose(); + let i = 0; + for (const id of nms) { + const score3 = Math.trunc(100 * detections[0][id][4]) / 100; + const classVal = detections[0][id][5]; + const label = labels[classVal].label; + const boxRaw3 = [ + detections[0][id][0] / inputSize, + detections[0][id][1] / inputSize, + detections[0][id][2] / inputSize, + detections[0][id][3] / inputSize + ]; + const box6 = [ + Math.trunc(boxRaw3[0] * outputShape[0]), + Math.trunc(boxRaw3[1] * outputShape[1]), + Math.trunc(boxRaw3[2] * outputShape[0]), + Math.trunc(boxRaw3[3] * outputShape[1]) + ]; + results.push({ id: i++, score: score3, class: classVal, label, box: box6, boxRaw: boxRaw3 }); + } + return results; +} +async function predict10(input, config3) { + if (skipped6 < config3.object.skipFrames && config3.skipFrame && last4.length > 0) { + skipped6++; + return last4; + } + skipped6 = 0; + return new Promise(async (resolve) => { + const outputSize = [input.shape[2], input.shape[1]]; + const resize = tfjs_esm_exports.image.resizeBilinear(input, [model8.inputSize, model8.inputSize]); + const objectT = config3.object.enabled ? model8.execute(resize, ["tower_0/detections"]) : null; + resize.dispose(); + const obj = await process3(objectT, model8.inputSize, outputSize, config3); + last4 = obj; + resolve(obj); + }); +} + +// src/gesture/gesture.ts +var body = (res) => { + if (!res) + return []; + const gestures = []; + for (let i = 0; i < res.length; i++) { + const leftWrist = res[i].keypoints.find((a) => a.part === "leftWrist"); + const rightWrist = res[i].keypoints.find((a) => a.part === "rightWrist"); + const nose = res[i].keypoints.find((a) => a.part === "nose"); + if (nose && leftWrist && rightWrist && leftWrist.position.y < nose.position.y && rightWrist.position.y < nose.position.y) + gestures.push({ body: i, gesture: "i give up" }); + else if (nose && leftWrist && leftWrist.position.y < nose.position.y) + gestures.push({ body: i, gesture: "raise left hand" }); + else if (nose && rightWrist && rightWrist.position.y < nose.position.y) + gestures.push({ body: i, gesture: "raise right hand" }); + const leftShoulder = res[i].keypoints.find((a) => a.part === "leftShoulder"); + const rightShoulder = res[i].keypoints.find((a) => a.part === "rightShoulder"); + if (leftShoulder && rightShoulder) + gestures.push({ body: i, gesture: `leaning ${leftShoulder.position.y > rightShoulder.position.y ? "left" : "right"}` }); + } + return gestures; +}; +var face = (res) => { + if (!res) + return []; + const gestures = []; + for (let i = 0; i < res.length; i++) { + if (res[i].mesh && res[i].mesh.length > 0) { + const eyeFacing = res[i].mesh[33][2] - res[i].mesh[263][2]; + if (Math.abs(eyeFacing) < 10) + gestures.push({ face: i, gesture: "facing center" }); + else + gestures.push({ face: i, gesture: `facing ${eyeFacing < 0 ? "left" : "right"}` }); + const openLeft = Math.abs(res[i].mesh[374][1] - res[i].mesh[386][1]) / Math.abs(res[i].mesh[443][1] - res[i].mesh[450][1]); + if (openLeft < 0.2) + gestures.push({ face: i, gesture: "blink left eye" }); + const openRight = Math.abs(res[i].mesh[145][1] - res[i].mesh[159][1]) / Math.abs(res[i].mesh[223][1] - res[i].mesh[230][1]); + if (openRight < 0.2) + gestures.push({ face: i, gesture: "blink right eye" }); + const mouthOpen = Math.min(100, 500 * Math.abs(res[i].mesh[13][1] - res[i].mesh[14][1]) / Math.abs(res[i].mesh[10][1] - res[i].mesh[152][1])); + if (mouthOpen > 10) + gestures.push({ face: i, gesture: `mouth ${Math.trunc(mouthOpen)}% open` }); + const chinDepth = res[i].mesh[152][2]; + if (Math.abs(chinDepth) > 10) + gestures.push({ face: i, gesture: `head ${chinDepth < 0 ? "up" : "down"}` }); + } + } + return gestures; +}; +var iris = (res) => { + if (!res) + return []; + const gestures = []; + for (let i = 0; i < res.length; i++) { + if (!res[i].annotations || !res[i].annotations.leftEyeIris || !res[i].annotations.rightEyeIris) + continue; + const sizeXLeft = res[i].annotations.leftEyeIris[3][0] - res[i].annotations.leftEyeIris[1][0]; + const sizeYLeft = res[i].annotations.leftEyeIris[4][1] - res[i].annotations.leftEyeIris[2][1]; + const areaLeft = Math.abs(sizeXLeft * sizeYLeft); + const sizeXRight = res[i].annotations.rightEyeIris[3][0] - res[i].annotations.rightEyeIris[1][0]; + const sizeYRight = res[i].annotations.rightEyeIris[4][1] - res[i].annotations.rightEyeIris[2][1]; + const areaRight = Math.abs(sizeXRight * sizeYRight); + let center = false; + const difference = Math.abs(areaLeft - areaRight) / Math.max(areaLeft, areaRight); + if (difference < 0.25) { + center = true; + gestures.push({ iris: i, gesture: "facing center" }); + } + const rightIrisCenterX = Math.abs(res[i].mesh[33][0] - res[i].annotations.rightEyeIris[0][0]) / res[i].box[2]; + const leftIrisCenterX = Math.abs(res[i].mesh[263][0] - res[i].annotations.leftEyeIris[0][0]) / res[i].box[2]; + if (leftIrisCenterX > 0.06 || rightIrisCenterX > 0.06) + center = false; + if (leftIrisCenterX > 0.06) + gestures.push({ iris: i, gesture: "looking right" }); + if (rightIrisCenterX > 0.06) + gestures.push({ iris: i, gesture: "looking left" }); + const rightIrisCenterY = Math.abs(res[i].mesh[145][1] - res[i].annotations.rightEyeIris[0][1]) / res[i].box[3]; + const leftIrisCenterY = Math.abs(res[i].mesh[374][1] - res[i].annotations.leftEyeIris[0][1]) / res[i].box[3]; + if (leftIrisCenterY < 0.01 || rightIrisCenterY < 0.01 || leftIrisCenterY > 0.022 || rightIrisCenterY > 0.022) + center = false; + if (leftIrisCenterY < 0.01 || rightIrisCenterY < 0.01) + gestures.push({ iris: i, gesture: "looking down" }); + if (leftIrisCenterY > 0.022 || rightIrisCenterY > 0.022) + gestures.push({ iris: i, gesture: "looking up" }); + if (center) + gestures.push({ iris: i, gesture: "looking center" }); + } + return gestures; +}; +var hand = (res) => { + if (!res) + return []; + const gestures = []; + for (let i = 0; i < res.length; i++) { + const fingers = []; + for (const [finger, pos] of Object.entries(res[i]["annotations"])) { + if (finger !== "palmBase" && Array.isArray(pos)) + fingers.push({ name: finger.toLowerCase(), position: pos[0] }); + } + if (fingers && fingers.length > 0) { + const closest = fingers.reduce((best, a) => best.position[2] < a.position[2] ? best : a); + const highest = fingers.reduce((best, a) => best.position[1] < a.position[1] ? best : a); + gestures.push({ hand: i, gesture: `${closest.name} forward ${highest.name} up` }); + } + } + return gestures; +}; + +// src/image/imagefx.js +function GLProgram(gl, vertexSource, fragmentSource) { + const _collect = function(source, prefix, collection) { + const r = new RegExp("\\b" + prefix + " \\w+ (\\w+)", "ig"); + source.replace(r, (match2, name) => { + collection[name] = 0; + return match2; + }); + }; + const _compile = function(source, type) { + const shader = gl.createShader(type); + gl.shaderSource(shader, source); + gl.compileShader(shader); + if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) + throw new Error("Filter: GL compile failed", gl.getShaderInfoLog(shader)); + return shader; + }; + this.uniform = {}; + this.attribute = {}; + const _vsh = _compile(vertexSource, gl.VERTEX_SHADER); + const _fsh = _compile(fragmentSource, gl.FRAGMENT_SHADER); + this.id = gl.createProgram(); + gl.attachShader(this.id, _vsh); + gl.attachShader(this.id, _fsh); + gl.linkProgram(this.id); + if (!gl.getProgramParameter(this.id, gl.LINK_STATUS)) + throw new Error("Filter: GL link failed", gl.getProgramInfoLog(this.id)); + gl.useProgram(this.id); + _collect(vertexSource, "attribute", this.attribute); + for (const a in this.attribute) + this.attribute[a] = gl.getAttribLocation(this.id, a); + _collect(vertexSource, "uniform", this.uniform); + _collect(fragmentSource, "uniform", this.uniform); + for (const u in this.uniform) + this.uniform[u] = gl.getUniformLocation(this.id, u); +} +function GLImageFilter(params) { + if (!params) + params = {}; + let _drawCount = 0; + let _sourceTexture = null; + let _lastInChain = false; + let _currentFramebufferIndex = -1; + let _tempFramebuffers = [null, null]; + let _filterChain = []; + let _width = -1; + let _height = -1; + let _vertexBuffer = null; + let _currentProgram = null; + const _filter = {}; + const _canvas = params.canvas || document.createElement("canvas"); + const _shaderProgramCache = {}; + const DRAW = { INTERMEDIATE: 1 }; + const gl = _canvas.getContext("webgl"); + if (!gl) + throw new Error("Filter: getContext() failed"); + this.addFilter = function(name) { + const args = Array.prototype.slice.call(arguments, 1); + const filter = _filter[name]; + _filterChain.push({ func: filter, args }); + }; + this.reset = function() { + _filterChain = []; + }; + const _resize = function(width, height) { + if (width === _width && height === _height) { + return; + } + _canvas.width = width; + _width = width; + _canvas.height = height; + _height = height; + if (!_vertexBuffer) { + const vertices = new Float32Array([ + -1, + -1, + 0, + 1, + 1, + -1, + 1, + 1, + -1, + 1, + 0, + 0, + -1, + 1, + 0, + 0, + 1, + -1, + 1, + 1, + 1, + 1, + 1, + 0 + ]); + _vertexBuffer = gl.createBuffer(), gl.bindBuffer(gl.ARRAY_BUFFER, _vertexBuffer); + gl.bufferData(gl.ARRAY_BUFFER, vertices, gl.STATIC_DRAW); + gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, true); + } + gl.viewport(0, 0, _width, _height); + _tempFramebuffers = [null, null]; + }; + const _createFramebufferTexture = function(width, height) { + const fbo = gl.createFramebuffer(); + gl.bindFramebuffer(gl.FRAMEBUFFER, fbo); + const renderbuffer = gl.createRenderbuffer(); + gl.bindRenderbuffer(gl.RENDERBUFFER, renderbuffer); + const texture = gl.createTexture(); + gl.bindTexture(gl.TEXTURE_2D, texture); + gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, width, height, 0, gl.RGBA, gl.UNSIGNED_BYTE, null); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE); + gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, texture, 0); + gl.bindTexture(gl.TEXTURE_2D, null); + gl.bindFramebuffer(gl.FRAMEBUFFER, null); + return { fbo, texture }; + }; + const _getTempFramebuffer = function(index) { + _tempFramebuffers[index] = _tempFramebuffers[index] || _createFramebufferTexture(_width, _height); + return _tempFramebuffers[index]; + }; + const _draw = function(flags = null) { + var _a, _b; + let source = null; + let target = null; + let flipY = false; + if (_drawCount === 0) { + source = _sourceTexture; + } else { + source = (_a = _getTempFramebuffer(_currentFramebufferIndex)) == null ? void 0 : _a.texture; + } + _drawCount++; + if (_lastInChain && !(flags & DRAW.INTERMEDIATE)) { + target = null; + flipY = _drawCount % 2 === 0; + } else { + _currentFramebufferIndex = (_currentFramebufferIndex + 1) % 2; + target = (_b = _getTempFramebuffer(_currentFramebufferIndex)) == null ? void 0 : _b.fbo; + } + gl.bindTexture(gl.TEXTURE_2D, source); + gl.bindFramebuffer(gl.FRAMEBUFFER, target); + gl.uniform1f(_currentProgram.uniform.flipY, flipY ? -1 : 1); + gl.drawArrays(gl.TRIANGLES, 0, 6); + }; + this.apply = function(image15) { + _resize(image15.width, image15.height); + _drawCount = 0; + if (!_sourceTexture) + _sourceTexture = gl.createTexture(); + gl.bindTexture(gl.TEXTURE_2D, _sourceTexture); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST); + gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image15); + if (_filterChain.length === 0) { + _draw(); + return _canvas; + } + for (let i = 0; i < _filterChain.length; i++) { + _lastInChain = i === _filterChain.length - 1; + const f = _filterChain[i]; + f.func.apply(this, f.args || []); + } + return _canvas; + }; + const _compileShader = function(fragmentSource) { + if (_shaderProgramCache[fragmentSource]) { + _currentProgram = _shaderProgramCache[fragmentSource]; + gl.useProgram(_currentProgram.id); + return _currentProgram; + } + const SHADER = {}; + SHADER.VERTEX_IDENTITY = [ + "precision highp float;", + "attribute vec2 pos;", + "attribute vec2 uv;", + "varying vec2 vUv;", + "uniform float flipY;", + "void main(void) {", + "vUv = uv;", + "gl_Position = vec4(pos.x, pos.y*flipY, 0.0, 1.);", + "}" + ].join("\n"); + SHADER.FRAGMENT_IDENTITY = [ + "precision highp float;", + "varying vec2 vUv;", + "uniform sampler2D texture;", + "void main(void) {", + "gl_FragColor = texture2D(texture, vUv);", + "}" + ].join("\n"); + _currentProgram = new GLProgram(gl, SHADER.VERTEX_IDENTITY, fragmentSource); + const floatSize = Float32Array.BYTES_PER_ELEMENT; + const vertSize = 4 * floatSize; + gl.enableVertexAttribArray(_currentProgram.attribute.pos); + gl.vertexAttribPointer(_currentProgram.attribute.pos, 2, gl.FLOAT, false, vertSize, 0 * floatSize); + gl.enableVertexAttribArray(_currentProgram.attribute.uv); + gl.vertexAttribPointer(_currentProgram.attribute.uv, 2, gl.FLOAT, false, vertSize, 2 * floatSize); + _shaderProgramCache[fragmentSource] = _currentProgram; + return _currentProgram; + }; + _filter.colorMatrix = function(matrix) { + const m = new Float32Array(matrix); + m[4] /= 255; + m[9] /= 255; + m[14] /= 255; + m[19] /= 255; + const shader = m[18] === 1 && m[3] === 0 && m[8] === 0 && m[13] === 0 && m[15] === 0 && m[16] === 0 && m[17] === 0 && m[19] === 0 ? _filter.colorMatrix.SHADER.WITHOUT_ALPHA : _filter.colorMatrix.SHADER.WITH_ALPHA; + const program = _compileShader(shader); + gl.uniform1fv(program.uniform.m, m); + _draw(); + }; + _filter.colorMatrix.SHADER = {}; + _filter.colorMatrix.SHADER.WITH_ALPHA = [ + "precision highp float;", + "varying vec2 vUv;", + "uniform sampler2D texture;", + "uniform float m[20];", + "void main(void) {", + "vec4 c = texture2D(texture, vUv);", + "gl_FragColor.r = m[0] * c.r + m[1] * c.g + m[2] * c.b + m[3] * c.a + m[4];", + "gl_FragColor.g = m[5] * c.r + m[6] * c.g + m[7] * c.b + m[8] * c.a + m[9];", + "gl_FragColor.b = m[10] * c.r + m[11] * c.g + m[12] * c.b + m[13] * c.a + m[14];", + "gl_FragColor.a = m[15] * c.r + m[16] * c.g + m[17] * c.b + m[18] * c.a + m[19];", + "}" + ].join("\n"); + _filter.colorMatrix.SHADER.WITHOUT_ALPHA = [ + "precision highp float;", + "varying vec2 vUv;", + "uniform sampler2D texture;", + "uniform float m[20];", + "void main(void) {", + "vec4 c = texture2D(texture, vUv);", + "gl_FragColor.r = m[0] * c.r + m[1] * c.g + m[2] * c.b + m[4];", + "gl_FragColor.g = m[5] * c.r + m[6] * c.g + m[7] * c.b + m[9];", + "gl_FragColor.b = m[10] * c.r + m[11] * c.g + m[12] * c.b + m[14];", + "gl_FragColor.a = c.a;", + "}" + ].join("\n"); + _filter.brightness = function(brightness) { + const b = (brightness || 0) + 1; + _filter.colorMatrix([ + b, + 0, + 0, + 0, + 0, + 0, + b, + 0, + 0, + 0, + 0, + 0, + b, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ]); + }; + _filter.saturation = function(amount) { + const x = (amount || 0) * 2 / 3 + 1; + const y = (x - 1) * -0.5; + _filter.colorMatrix([ + x, + y, + y, + 0, + 0, + y, + x, + y, + 0, + 0, + y, + y, + x, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ]); + }; + _filter.desaturate = function() { + _filter.saturation(-1); + }; + _filter.contrast = function(amount) { + const v = (amount || 0) + 1; + const o = -128 * (v - 1); + _filter.colorMatrix([ + v, + 0, + 0, + 0, + o, + 0, + v, + 0, + 0, + o, + 0, + 0, + v, + 0, + o, + 0, + 0, + 0, + 1, + 0 + ]); + }; + _filter.negative = function() { + _filter.contrast(-2); + }; + _filter.hue = function(rotation) { + rotation = (rotation || 0) / 180 * Math.PI; + const cos = Math.cos(rotation); + const sin = Math.sin(rotation); + const lumR = 0.213; + const lumG = 0.715; + const lumB = 0.072; + _filter.colorMatrix([ + lumR + cos * (1 - lumR) + sin * -lumR, + lumG + cos * -lumG + sin * -lumG, + lumB + cos * -lumB + sin * (1 - lumB), + 0, + 0, + lumR + cos * -lumR + sin * 0.143, + lumG + cos * (1 - lumG) + sin * 0.14, + lumB + cos * -lumB + sin * -0.283, + 0, + 0, + lumR + cos * -lumR + sin * -(1 - lumR), + lumG + cos * -lumG + sin * lumG, + lumB + cos * (1 - lumB) + sin * lumB, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ]); + }; + _filter.desaturateLuminance = function() { + _filter.colorMatrix([ + 0.2764723, + 0.929708, + 0.0938197, + 0, + -37.1, + 0.2764723, + 0.929708, + 0.0938197, + 0, + -37.1, + 0.2764723, + 0.929708, + 0.0938197, + 0, + -37.1, + 0, + 0, + 0, + 1, + 0 + ]); + }; + _filter.sepia = function() { + _filter.colorMatrix([ + 0.393, + 0.7689999, + 0.18899999, + 0, + 0, + 0.349, + 0.6859999, + 0.16799999, + 0, + 0, + 0.272, + 0.5339999, + 0.13099999, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ]); + }; + _filter.brownie = function() { + _filter.colorMatrix([ + 0.5997023498159715, + 0.34553243048391263, + -0.2708298674538042, + 0, + 47.43192855600873, + -0.037703249837783157, + 0.8609577587992641, + 0.15059552388459913, + 0, + -36.96841498319127, + 0.24113635128153335, + -0.07441037908422492, + 0.44972182064877153, + 0, + -7.562075277591283, + 0, + 0, + 0, + 1, + 0 + ]); + }; + _filter.vintagePinhole = function() { + _filter.colorMatrix([ + 0.6279345635605994, + 0.3202183420819367, + -0.03965408211312453, + 0, + 9.651285835294123, + 0.02578397704808868, + 0.6441188644374771, + 0.03259127616149294, + 0, + 7.462829176470591, + 0.0466055556782719, + -0.0851232987247891, + 0.5241648018700465, + 0, + 5.159190588235296, + 0, + 0, + 0, + 1, + 0 + ]); + }; + _filter.kodachrome = function() { + _filter.colorMatrix([ + 1.1285582396593525, + -0.3967382283601348, + -0.03992559172921793, + 0, + 63.72958762196502, + -0.16404339962244616, + 1.0835251566291304, + -0.05498805115633132, + 0, + 24.732407896706203, + -0.16786010706155763, + -0.5603416277695248, + 1.6014850761964943, + 0, + 35.62982807460946, + 0, + 0, + 0, + 1, + 0 + ]); + }; + _filter.technicolor = function() { + _filter.colorMatrix([ + 1.9125277891456083, + -0.8545344976951645, + -0.09155508482755585, + 0, + 11.793603434377337, + -0.3087833385928097, + 1.7658908555458428, + -0.10601743074722245, + 0, + -70.35205161461398, + -0.231103377548616, + -0.7501899197440212, + 1.847597816108189, + 0, + 30.950940869491138, + 0, + 0, + 0, + 1, + 0 + ]); + }; + _filter.polaroid = function() { + _filter.colorMatrix([ + 1.438, + -0.062, + -0.062, + 0, + 0, + -0.122, + 1.378, + -0.122, + 0, + 0, + -0.016, + -0.016, + 1.483, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ]); + }; + _filter.shiftToBGR = function() { + _filter.colorMatrix([ + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ]); + }; + _filter.convolution = function(matrix) { + const m = new Float32Array(matrix); + const pixelSizeX = 1 / _width; + const pixelSizeY = 1 / _height; + const program = _compileShader(_filter.convolution.SHADER); + gl.uniform1fv(program.uniform.m, m); + gl.uniform2f(program.uniform.px, pixelSizeX, pixelSizeY); + _draw(); + }; + _filter.convolution.SHADER = [ + "precision highp float;", + "varying vec2 vUv;", + "uniform sampler2D texture;", + "uniform vec2 px;", + "uniform float m[9];", + "void main(void) {", + "vec4 c11 = texture2D(texture, vUv - px);", + "vec4 c12 = texture2D(texture, vec2(vUv.x, vUv.y - px.y));", + "vec4 c13 = texture2D(texture, vec2(vUv.x + px.x, vUv.y - px.y));", + "vec4 c21 = texture2D(texture, vec2(vUv.x - px.x, vUv.y) );", + "vec4 c22 = texture2D(texture, vUv);", + "vec4 c23 = texture2D(texture, vec2(vUv.x + px.x, vUv.y) );", + "vec4 c31 = texture2D(texture, vec2(vUv.x - px.x, vUv.y + px.y) );", + "vec4 c32 = texture2D(texture, vec2(vUv.x, vUv.y + px.y) );", + "vec4 c33 = texture2D(texture, vUv + px );", + "gl_FragColor = ", + "c11 * m[0] + c12 * m[1] + c22 * m[2] +", + "c21 * m[3] + c22 * m[4] + c23 * m[5] +", + "c31 * m[6] + c32 * m[7] + c33 * m[8];", + "gl_FragColor.a = c22.a;", + "}" + ].join("\n"); + _filter.detectEdges = function() { + _filter.convolution.call(this, [ + 0, + 1, + 0, + 1, + -4, + 1, + 0, + 1, + 0 + ]); + }; + _filter.sobelX = function() { + _filter.convolution.call(this, [ + -1, + 0, + 1, + -2, + 0, + 2, + -1, + 0, + 1 + ]); + }; + _filter.sobelY = function() { + _filter.convolution.call(this, [ + -1, + -2, + -1, + 0, + 0, + 0, + 1, + 2, + 1 + ]); + }; + _filter.sharpen = function(amount) { + const a = amount || 1; + _filter.convolution.call(this, [ + 0, + -1 * a, + 0, + -1 * a, + 1 + 4 * a, + -1 * a, + 0, + -1 * a, + 0 + ]); + }; + _filter.emboss = function(size) { + const s = size || 1; + _filter.convolution.call(this, [ + -2 * s, + -1 * s, + 0, + -1 * s, + 1, + 1 * s, + 0, + 1 * s, + 2 * s + ]); + }; + _filter.blur = function(size) { + const blurSizeX = size / 7 / _width; + const blurSizeY = size / 7 / _height; + const program = _compileShader(_filter.blur.SHADER); + gl.uniform2f(program.uniform.px, 0, blurSizeY); + _draw(DRAW.INTERMEDIATE); + gl.uniform2f(program.uniform.px, blurSizeX, 0); + _draw(); + }; + _filter.blur.SHADER = [ + "precision highp float;", + "varying vec2 vUv;", + "uniform sampler2D texture;", + "uniform vec2 px;", + "void main(void) {", + "gl_FragColor = vec4(0.0);", + "gl_FragColor += texture2D(texture, vUv + vec2(-7.0*px.x, -7.0*px.y))*0.0044299121055113265;", + "gl_FragColor += texture2D(texture, vUv + vec2(-6.0*px.x, -6.0*px.y))*0.00895781211794;", + "gl_FragColor += texture2D(texture, vUv + vec2(-5.0*px.x, -5.0*px.y))*0.0215963866053;", + "gl_FragColor += texture2D(texture, vUv + vec2(-4.0*px.x, -4.0*px.y))*0.0443683338718;", + "gl_FragColor += texture2D(texture, vUv + vec2(-3.0*px.x, -3.0*px.y))*0.0776744219933;", + "gl_FragColor += texture2D(texture, vUv + vec2(-2.0*px.x, -2.0*px.y))*0.115876621105;", + "gl_FragColor += texture2D(texture, vUv + vec2(-1.0*px.x, -1.0*px.y))*0.147308056121;", + "gl_FragColor += texture2D(texture, vUv )*0.159576912161;", + "gl_FragColor += texture2D(texture, vUv + vec2( 1.0*px.x, 1.0*px.y))*0.147308056121;", + "gl_FragColor += texture2D(texture, vUv + vec2( 2.0*px.x, 2.0*px.y))*0.115876621105;", + "gl_FragColor += texture2D(texture, vUv + vec2( 3.0*px.x, 3.0*px.y))*0.0776744219933;", + "gl_FragColor += texture2D(texture, vUv + vec2( 4.0*px.x, 4.0*px.y))*0.0443683338718;", + "gl_FragColor += texture2D(texture, vUv + vec2( 5.0*px.x, 5.0*px.y))*0.0215963866053;", + "gl_FragColor += texture2D(texture, vUv + vec2( 6.0*px.x, 6.0*px.y))*0.00895781211794;", + "gl_FragColor += texture2D(texture, vUv + vec2( 7.0*px.x, 7.0*px.y))*0.0044299121055113265;", + "}" + ].join("\n"); + _filter.pixelate = function(size) { + const blurSizeX = size / _width; + const blurSizeY = size / _height; + const program = _compileShader(_filter.pixelate.SHADER); + gl.uniform2f(program.uniform.size, blurSizeX, blurSizeY); + _draw(); + }; + _filter.pixelate.SHADER = [ + "precision highp float;", + "varying vec2 vUv;", + "uniform vec2 size;", + "uniform sampler2D texture;", + "vec2 pixelate(vec2 coord, vec2 size) {", + "return floor( coord / size ) * size;", + "}", + "void main(void) {", + "gl_FragColor = vec4(0.0);", + "vec2 coord = pixelate(vUv, size);", + "gl_FragColor += texture2D(texture, coord);", + "}" + ].join("\n"); +} + +// src/image/image.ts +var maxSize = 2048; +var inCanvas; +var outCanvas; +var fx; +function process4(input, config3) { + let tensor; + if (!input) + throw new Error("Human: Input is missing"); + if (!(input instanceof tfjs_esm_exports.Tensor) && !(typeof Image !== "undefined" && input instanceof Image) && !(typeof ImageData !== "undefined" && input instanceof ImageData) && !(typeof ImageBitmap !== "undefined" && input instanceof ImageBitmap) && !(typeof HTMLImageElement !== "undefined" && input instanceof HTMLImageElement) && !(typeof HTMLMediaElement !== "undefined" && input instanceof HTMLMediaElement) && !(typeof HTMLVideoElement !== "undefined" && input instanceof HTMLVideoElement) && !(typeof HTMLCanvasElement !== "undefined" && input instanceof HTMLCanvasElement) && !(typeof OffscreenCanvas !== "undefined" && input instanceof OffscreenCanvas)) { + throw new Error("Human: Input type is not recognized"); + } + if (input instanceof tfjs_esm_exports.Tensor) { + if (input.shape && input.shape.length === 4 && input.shape[0] === 1 && input.shape[3] === 3) + tensor = tfjs_esm_exports.clone(input); + else + throw new Error(`Human: Input tensor shape must be [1, height, width, 3] and instead was ${input.shape}`); + } else { + const originalWidth = input["naturalWidth"] || input["videoWidth"] || input["width"] || input["shape"] && input["shape"][1] > 0; + const originalHeight = input["naturalHeight"] || input["videoHeight"] || input["height"] || input["shape"] && input["shape"][2] > 0; + if (!originalWidth || !originalHeight) + return { tensor: null, canvas: inCanvas }; + let targetWidth = originalWidth; + let targetHeight = originalHeight; + if (targetWidth > maxSize) { + targetWidth = maxSize; + targetHeight = targetWidth * originalHeight / originalWidth; + } + if (targetHeight > maxSize) { + targetHeight = maxSize; + targetWidth = targetHeight * originalWidth / originalHeight; + } + if (config3.filter.width > 0) + targetWidth = config3.filter.width; + else if (config3.filter.height > 0) + targetWidth = originalWidth * (config3.filter.height / originalHeight); + if (config3.filter.height > 0) + targetHeight = config3.filter.height; + else if (config3.filter.width > 0) + targetHeight = originalHeight * (config3.filter.width / originalWidth); + if (!targetWidth || !targetHeight) + throw new Error("Human: Input cannot determine dimension"); + if (!inCanvas || (inCanvas == null ? void 0 : inCanvas.width) !== targetWidth || (inCanvas == null ? void 0 : inCanvas.height) !== targetHeight) { + inCanvas = typeof OffscreenCanvas !== "undefined" ? new OffscreenCanvas(targetWidth, targetHeight) : document.createElement("canvas"); + if ((inCanvas == null ? void 0 : inCanvas.width) !== targetWidth) + inCanvas.width = targetWidth; + if ((inCanvas == null ? void 0 : inCanvas.height) !== targetHeight) + inCanvas.height = targetHeight; + } + const ctx = inCanvas.getContext("2d"); + if (input instanceof ImageData) { + ctx.putImageData(input, 0, 0); + } else { + if (config3.filter.flip && typeof ctx.translate !== "undefined") { + ctx.translate(originalWidth, 0); + ctx.scale(-1, 1); + ctx.drawImage(input, 0, 0, originalWidth, originalHeight, 0, 0, inCanvas == null ? void 0 : inCanvas.width, inCanvas == null ? void 0 : inCanvas.height); + ctx.setTransform(1, 0, 0, 1, 0, 0); + } else { + ctx.drawImage(input, 0, 0, originalWidth, originalHeight, 0, 0, inCanvas == null ? void 0 : inCanvas.width, inCanvas == null ? void 0 : inCanvas.height); + } + } + if (config3.filter.enabled) { + if (!fx || !outCanvas || inCanvas.width !== outCanvas.width || (inCanvas == null ? void 0 : inCanvas.height) !== (outCanvas == null ? void 0 : outCanvas.height)) { + outCanvas = typeof OffscreenCanvas !== "undefined" ? new OffscreenCanvas(inCanvas == null ? void 0 : inCanvas.width, inCanvas == null ? void 0 : inCanvas.height) : document.createElement("canvas"); + if ((outCanvas == null ? void 0 : outCanvas.width) !== (inCanvas == null ? void 0 : inCanvas.width)) + outCanvas.width = inCanvas == null ? void 0 : inCanvas.width; + if ((outCanvas == null ? void 0 : outCanvas.height) !== (inCanvas == null ? void 0 : inCanvas.height)) + outCanvas.height = inCanvas == null ? void 0 : inCanvas.height; + fx = tfjs_esm_exports.ENV.flags.IS_BROWSER ? new GLImageFilter({ canvas: outCanvas }) : null; + } + if (!fx) + return { tensor: null, canvas: inCanvas }; + fx.reset(); + fx.addFilter("brightness", config3.filter.brightness); + if (config3.filter.contrast !== 0) + fx.addFilter("contrast", config3.filter.contrast); + if (config3.filter.sharpness !== 0) + fx.addFilter("sharpen", config3.filter.sharpness); + if (config3.filter.blur !== 0) + fx.addFilter("blur", config3.filter.blur); + if (config3.filter.saturation !== 0) + fx.addFilter("saturation", config3.filter.saturation); + if (config3.filter.hue !== 0) + fx.addFilter("hue", config3.filter.hue); + if (config3.filter.negative) + fx.addFilter("negative"); + if (config3.filter.sepia) + fx.addFilter("sepia"); + if (config3.filter.vintage) + fx.addFilter("brownie"); + if (config3.filter.sepia) + fx.addFilter("sepia"); + if (config3.filter.kodachrome) + fx.addFilter("kodachrome"); + if (config3.filter.technicolor) + fx.addFilter("technicolor"); + if (config3.filter.polaroid) + fx.addFilter("polaroid"); + if (config3.filter.pixelate !== 0) + fx.addFilter("pixelate", config3.filter.pixelate); + fx.apply(inCanvas); + } else { + outCanvas = inCanvas; + if (fx) + fx = null; + } + let pixels; + if (outCanvas.data) { + const shape = [outCanvas.height, outCanvas.width, 3]; + pixels = tfjs_esm_exports.tensor3d(outCanvas.data, shape, "int32"); + } else if (outCanvas instanceof ImageData) { + pixels = tfjs_esm_exports.browser.fromPixels(outCanvas); + } else if (config3.backend === "webgl" || config3.backend === "humangl") { + const tempCanvas = typeof OffscreenCanvas !== "undefined" ? new OffscreenCanvas(targetWidth, targetHeight) : document.createElement("canvas"); + tempCanvas.width = targetWidth; + tempCanvas.height = targetHeight; + const tempCtx = tempCanvas.getContext("2d"); + tempCtx == null ? void 0 : tempCtx.drawImage(outCanvas, 0, 0); + pixels = tfjs_esm_exports.browser.fromPixels(tempCanvas); + } else { + const tempCanvas = typeof OffscreenCanvas !== "undefined" ? new OffscreenCanvas(targetWidth, targetHeight) : document.createElement("canvas"); + tempCanvas.width = targetWidth; + tempCanvas.height = targetHeight; + const tempCtx = tempCanvas.getContext("2d"); + tempCtx == null ? void 0 : tempCtx.drawImage(outCanvas, 0, 0); + const data2 = tempCtx == null ? void 0 : tempCtx.getImageData(0, 0, targetWidth, targetHeight); + pixels = tfjs_esm_exports.browser.fromPixels(data2); + } + const casted = pixels.toFloat(); + tensor = casted.expandDims(0); + pixels.dispose(); + casted.dispose(); + } + const canvas2 = config3.filter.return ? outCanvas : null; + return { tensor, canvas: canvas2 }; +} + +// src/draw/draw.ts +var draw_exports = {}; +__export(draw_exports, { + all: () => all, + body: () => body2, + canvas: () => canvas, + face: () => face2, + gesture: () => gesture, + hand: () => hand2, + object: () => object, + options: () => options, + person: () => person +}); +var options = { + color: "rgba(173, 216, 230, 0.6)", + labelColor: "rgba(173, 216, 230, 1)", + shadowColor: "black", + font: 'small-caps 14px "Segoe UI"', + lineHeight: 24, + lineWidth: 6, + pointSize: 2, + roundRect: 28, + drawPoints: false, + drawLabels: true, + drawBoxes: true, + drawPolygons: true, + drawGaze: true, + fillPolygons: false, + useDepth: true, + useCurves: false, + bufferedOutput: true +}; +var rad2deg = (theta) => Math.round(theta * 180 / Math.PI); +function point(ctx, x, y, z = 0, localOptions) { + ctx.fillStyle = localOptions.useDepth && z ? `rgba(${127.5 + 2 * z}, ${127.5 - 2 * z}, 255, 0.3)` : localOptions.color; + ctx.beginPath(); + ctx.arc(x, y, localOptions.pointSize, 0, 2 * Math.PI); + ctx.fill(); +} +function rect(ctx, x, y, width, height, localOptions) { + ctx.beginPath(); + if (localOptions.useCurves) { + const cx = (x + x + width) / 2; + const cy = (y + y + height) / 2; + ctx.ellipse(cx, cy, width / 2, height / 2, 0, 0, 2 * Math.PI); + } else { + ctx.lineWidth = localOptions.lineWidth; + ctx.moveTo(x + localOptions.roundRect, y); + ctx.lineTo(x + width - localOptions.roundRect, y); + ctx.quadraticCurveTo(x + width, y, x + width, y + localOptions.roundRect); + ctx.lineTo(x + width, y + height - localOptions.roundRect); + ctx.quadraticCurveTo(x + width, y + height, x + width - localOptions.roundRect, y + height); + ctx.lineTo(x + localOptions.roundRect, y + height); + ctx.quadraticCurveTo(x, y + height, x, y + height - localOptions.roundRect); + ctx.lineTo(x, y + localOptions.roundRect); + ctx.quadraticCurveTo(x, y, x + localOptions.roundRect, y); + ctx.closePath(); + } + ctx.stroke(); +} +function lines(ctx, points = [], localOptions) { + if (points === void 0 || points.length === 0) + return; + ctx.beginPath(); + ctx.moveTo(points[0][0], points[0][1]); + for (const pt of points) { + const z = pt[2] || 0; + ctx.strokeStyle = localOptions.useDepth && z ? `rgba(${127.5 + 2 * z}, ${127.5 - 2 * z}, 255, 0.3)` : localOptions.color; + ctx.fillStyle = localOptions.useDepth && z ? `rgba(${127.5 + 2 * z}, ${127.5 - 2 * z}, 255, 0.3)` : localOptions.color; + ctx.lineTo(pt[0], Math.round(pt[1])); + } + ctx.stroke(); + if (localOptions.fillPolygons) { + ctx.closePath(); + ctx.fill(); + } +} +function curves(ctx, points = [], localOptions) { + if (points === void 0 || points.length === 0) + return; + if (!localOptions.useCurves || points.length <= 2) { + lines(ctx, points, localOptions); + return; + } + ctx.moveTo(points[0][0], points[0][1]); + for (let i = 0; i < points.length - 2; i++) { + const xc = (points[i][0] + points[i + 1][0]) / 2; + const yc = (points[i][1] + points[i + 1][1]) / 2; + ctx.quadraticCurveTo(points[i][0], points[i][1], xc, yc); + } + ctx.quadraticCurveTo(points[points.length - 2][0], points[points.length - 2][1], points[points.length - 1][0], points[points.length - 1][1]); + ctx.stroke(); + if (localOptions.fillPolygons) { + ctx.closePath(); + ctx.fill(); + } +} +async function gesture(inCanvas2, result, drawOptions) { + const localOptions = mergeDeep(options, drawOptions); + if (!result || !inCanvas2) + return; + if (!(inCanvas2 instanceof HTMLCanvasElement)) + return; + const ctx = inCanvas2.getContext("2d"); + if (!ctx) + return; + ctx.font = localOptions.font; + ctx.fillStyle = localOptions.color; + let i = 1; + for (let j = 0; j < result.length; j++) { + let where = []; + let what = []; + [where, what] = Object.entries(result[j]); + if (what.length > 1 && what[1].length > 0) { + const who = where[1] > 0 ? `#${where[1]}` : ""; + const label = `${where[0]} ${who}: ${what[1]}`; + if (localOptions.shadowColor && localOptions.shadowColor !== "") { + ctx.fillStyle = localOptions.shadowColor; + ctx.fillText(label, 8, 2 + i * localOptions.lineHeight); + } + ctx.fillStyle = localOptions.labelColor; + ctx.fillText(label, 6, 0 + i * localOptions.lineHeight); + i += 1; + } + } +} +async function face2(inCanvas2, result, drawOptions) { + var _a, _b, _c, _d; + const localOptions = mergeDeep(options, drawOptions); + if (!result || !inCanvas2) + return; + if (!(inCanvas2 instanceof HTMLCanvasElement)) + return; + const ctx = inCanvas2.getContext("2d"); + if (!ctx) + return; + for (const f of result) { + ctx.font = localOptions.font; + ctx.strokeStyle = localOptions.color; + ctx.fillStyle = localOptions.color; + if (localOptions.drawBoxes) + rect(ctx, f.box[0], f.box[1], f.box[2], f.box[3], localOptions); + const labels2 = []; + labels2.push(`face: ${Math.trunc(100 * f.score)}%`); + if (f.genderScore) + labels2.push(`${f.gender || ""} ${Math.trunc(100 * f.genderScore)}%`); + if (f.age) + labels2.push(`age: ${f.age || ""}`); + if (f.iris) + labels2.push(`distance: ${f.iris}`); + if (f.emotion && f.emotion.length > 0) { + const emotion2 = f.emotion.map((a) => `${Math.trunc(100 * a.score)}% ${a.emotion}`); + if (emotion2.length > 3) + emotion2.length = 3; + labels2.push(emotion2.join(" ")); + } + if (f.rotation && f.rotation.angle && f.rotation.gaze) { + if (f.rotation.angle.roll) + labels2.push(`roll: ${rad2deg(f.rotation.angle.roll)}\xB0 yaw:${rad2deg(f.rotation.angle.yaw)}\xB0 pitch:${rad2deg(f.rotation.angle.pitch)}\xB0`); + if (f.rotation.gaze.bearing) + labels2.push(`gaze: ${rad2deg(f.rotation.gaze.bearing)}\xB0`); + } + if (labels2.length === 0) + labels2.push("face"); + ctx.fillStyle = localOptions.color; + for (let i = labels2.length - 1; i >= 0; i--) { + const x = Math.max(f.box[0], 0); + const y = i * localOptions.lineHeight + f.box[1]; + if (localOptions.shadowColor && localOptions.shadowColor !== "") { + ctx.fillStyle = localOptions.shadowColor; + ctx.fillText(labels2[i], x + 5, y + 16); + } + ctx.fillStyle = localOptions.labelColor; + ctx.fillText(labels2[i], x + 4, y + 15); + } + ctx.lineWidth = 1; + if (f.mesh && f.mesh.length > 0) { + if (localOptions.drawPoints) { + for (const pt of f.mesh) + point(ctx, pt[0], pt[1], pt[2], localOptions); + } + if (localOptions.drawPolygons) { + ctx.lineWidth = 1; + for (let i = 0; i < TRI468.length / 3; i++) { + const points = [ + TRI468[i * 3 + 0], + TRI468[i * 3 + 1], + TRI468[i * 3 + 2] + ].map((index) => f.mesh[index]); + lines(ctx, points, localOptions); + } + if (f.annotations && f.annotations["leftEyeIris"]) { + ctx.strokeStyle = localOptions.useDepth ? "rgba(255, 200, 255, 0.3)" : localOptions.color; + ctx.beginPath(); + const sizeX = Math.abs(f.annotations["leftEyeIris"][3][0] - f.annotations["leftEyeIris"][1][0]) / 2; + const sizeY = Math.abs(f.annotations["leftEyeIris"][4][1] - f.annotations["leftEyeIris"][2][1]) / 2; + ctx.ellipse(f.annotations["leftEyeIris"][0][0], f.annotations["leftEyeIris"][0][1], sizeX, sizeY, 0, 0, 2 * Math.PI); + ctx.stroke(); + if (localOptions.fillPolygons) { + ctx.fillStyle = localOptions.useDepth ? "rgba(255, 255, 200, 0.3)" : localOptions.color; + ctx.fill(); + } + } + if (f.annotations && f.annotations["rightEyeIris"]) { + ctx.strokeStyle = localOptions.useDepth ? "rgba(255, 200, 255, 0.3)" : localOptions.color; + ctx.beginPath(); + const sizeX = Math.abs(f.annotations["rightEyeIris"][3][0] - f.annotations["rightEyeIris"][1][0]) / 2; + const sizeY = Math.abs(f.annotations["rightEyeIris"][4][1] - f.annotations["rightEyeIris"][2][1]) / 2; + ctx.ellipse(f.annotations["rightEyeIris"][0][0], f.annotations["rightEyeIris"][0][1], sizeX, sizeY, 0, 0, 2 * Math.PI); + ctx.stroke(); + if (localOptions.fillPolygons) { + ctx.fillStyle = localOptions.useDepth ? "rgba(255, 255, 200, 0.3)" : localOptions.color; + ctx.fill(); + } + } + if (localOptions.drawGaze && ((_b = (_a = f.rotation) == null ? void 0 : _a.gaze) == null ? void 0 : _b.strength) && ((_d = (_c = f.rotation) == null ? void 0 : _c.gaze) == null ? void 0 : _d.bearing)) { + ctx.strokeStyle = "pink"; + ctx.beginPath(); + const leftGaze = [ + f.annotations["leftEyeIris"][0][0] + Math.sin(f.rotation.gaze.bearing) * f.rotation.gaze.strength * f.box[3], + f.annotations["leftEyeIris"][0][1] + Math.cos(f.rotation.gaze.bearing) * f.rotation.gaze.strength * f.box[2] + ]; + ctx.moveTo(f.annotations["leftEyeIris"][0][0], f.annotations["leftEyeIris"][0][1]); + ctx.lineTo(leftGaze[0], leftGaze[1]); + const rightGaze = [ + f.annotations["rightEyeIris"][0][0] + Math.sin(f.rotation.gaze.bearing) * f.rotation.gaze.strength * f.box[3], + f.annotations["rightEyeIris"][0][1] + Math.cos(f.rotation.gaze.bearing) * f.rotation.gaze.strength * f.box[2] + ]; + ctx.moveTo(f.annotations["rightEyeIris"][0][0], f.annotations["rightEyeIris"][0][1]); + ctx.lineTo(rightGaze[0], rightGaze[1]); + ctx.stroke(); + } + } + } + } +} +async function body2(inCanvas2, result, drawOptions) { + var _a; + const localOptions = mergeDeep(options, drawOptions); + if (!result || !inCanvas2) + return; + if (!(inCanvas2 instanceof HTMLCanvasElement)) + return; + const ctx = inCanvas2.getContext("2d"); + if (!ctx) + return; + ctx.lineJoin = "round"; + for (let i = 0; i < result.length; i++) { + ctx.strokeStyle = localOptions.color; + ctx.fillStyle = localOptions.color; + ctx.lineWidth = localOptions.lineWidth; + ctx.font = localOptions.font; + if (localOptions.drawBoxes && result[i].box && ((_a = result[i].box) == null ? void 0 : _a.length) === 4) { + rect(ctx, result[i].box[0], result[i].box[1], result[i].box[2], result[i].box[3], localOptions); + if (localOptions.drawLabels) { + if (localOptions.shadowColor && localOptions.shadowColor !== "") { + ctx.fillStyle = localOptions.shadowColor; + ctx.fillText(`body ${100 * result[i].score}%`, result[i].box[0] + 3, 1 + result[i].box[1] + localOptions.lineHeight, result[i].box[2]); + } + ctx.fillStyle = localOptions.labelColor; + ctx.fillText(`body ${100 * result[i].score}%`, result[i].box[0] + 2, 0 + result[i].box[1] + localOptions.lineHeight, result[i].box[2]); + } + } + if (localOptions.drawPoints) { + for (let pt = 0; pt < result[i].keypoints.length; pt++) { + ctx.fillStyle = localOptions.useDepth && result[i].keypoints[pt].position[2] ? `rgba(${127.5 + 2 * (result[i].keypoints[pt].position[2] || 0)}, ${127.5 - 2 * (result[i].keypoints[pt].position[2] || 0)}, 255, 0.5)` : localOptions.color; + point(ctx, result[i].keypoints[pt].position[0], result[i].keypoints[pt].position[1], 0, localOptions); + } + } + if (localOptions.drawLabels) { + ctx.font = localOptions.font; + if (result[i].keypoints) { + for (const pt of result[i].keypoints) { + ctx.fillStyle = localOptions.useDepth && pt.position[2] ? `rgba(${127.5 + 2 * pt.position[2]}, ${127.5 - 2 * pt.position[2]}, 255, 0.5)` : localOptions.color; + ctx.fillText(`${pt.part} ${Math.trunc(100 * pt.score)}%`, pt.position[0] + 4, pt.position[1] + 4); + } + } + } + if (localOptions.drawPolygons && result[i].keypoints) { + let part; + const points = []; + points.length = 0; + part = result[i].keypoints.find((a) => a.part === "leftShoulder"); + if (part) + points.push([part.position[0], part.position[1]]); + part = result[i].keypoints.find((a) => a.part === "rightShoulder"); + if (part) + points.push([part.position[0], part.position[1]]); + curves(ctx, points, localOptions); + points.length = 0; + part = result[i].keypoints.find((a) => a.part === "rightShoulder"); + if (part) + points.push([part.position[0], part.position[1]]); + part = result[i].keypoints.find((a) => a.part === "rightHip"); + if (part) + points.push([part.position[0], part.position[1]]); + part = result[i].keypoints.find((a) => a.part === "leftHip"); + if (part) + points.push([part.position[0], part.position[1]]); + part = result[i].keypoints.find((a) => a.part === "leftShoulder"); + if (part) + points.push([part.position[0], part.position[1]]); + if (points.length === 4) + lines(ctx, points, localOptions); + points.length = 0; + part = result[i].keypoints.find((a) => a.part === "leftHip"); + if (part) + points.push([part.position[0], part.position[1]]); + part = result[i].keypoints.find((a) => a.part === "leftKnee"); + if (part) + points.push([part.position[0], part.position[1]]); + part = result[i].keypoints.find((a) => a.part === "leftAnkle"); + if (part) + points.push([part.position[0], part.position[1]]); + part = result[i].keypoints.find((a) => a.part === "leftHeel"); + if (part) + points.push([part.position[0], part.position[1]]); + part = result[i].keypoints.find((a) => a.part === "leftFoot"); + if (part) + points.push([part.position[0], part.position[1]]); + curves(ctx, points, localOptions); + points.length = 0; + part = result[i].keypoints.find((a) => a.part === "rightHip"); + if (part) + points.push([part.position[0], part.position[1]]); + part = result[i].keypoints.find((a) => a.part === "rightKnee"); + if (part) + points.push([part.position[0], part.position[1]]); + part = result[i].keypoints.find((a) => a.part === "rightAnkle"); + if (part) + points.push([part.position[0], part.position[1]]); + part = result[i].keypoints.find((a) => a.part === "rightHeel"); + if (part) + points.push([part.position[0], part.position[1]]); + part = result[i].keypoints.find((a) => a.part === "rightFoot"); + if (part) + points.push([part.position[0], part.position[1]]); + curves(ctx, points, localOptions); + points.length = 0; + part = result[i].keypoints.find((a) => a.part === "leftShoulder"); + if (part) + points.push([part.position[0], part.position[1]]); + part = result[i].keypoints.find((a) => a.part === "leftElbow"); + if (part) + points.push([part.position[0], part.position[1]]); + part = result[i].keypoints.find((a) => a.part === "leftWrist"); + if (part) + points.push([part.position[0], part.position[1]]); + part = result[i].keypoints.find((a) => a.part === "leftPalm"); + if (part) + points.push([part.position[0], part.position[1]]); + curves(ctx, points, localOptions); + points.length = 0; + part = result[i].keypoints.find((a) => a.part === "rightShoulder"); + if (part) + points.push([part.position[0], part.position[1]]); + part = result[i].keypoints.find((a) => a.part === "rightElbow"); + if (part) + points.push([part.position[0], part.position[1]]); + part = result[i].keypoints.find((a) => a.part === "rightWrist"); + if (part) + points.push([part.position[0], part.position[1]]); + part = result[i].keypoints.find((a) => a.part === "rightPalm"); + if (part) + points.push([part.position[0], part.position[1]]); + curves(ctx, points, localOptions); + } + } +} +async function hand2(inCanvas2, result, drawOptions) { + const localOptions = mergeDeep(options, drawOptions); + if (!result || !inCanvas2) + return; + if (!(inCanvas2 instanceof HTMLCanvasElement)) + return; + const ctx = inCanvas2.getContext("2d"); + if (!ctx) + return; + ctx.lineJoin = "round"; + ctx.font = localOptions.font; + for (const h of result) { + if (localOptions.drawBoxes) { + ctx.strokeStyle = localOptions.color; + ctx.fillStyle = localOptions.color; + rect(ctx, h.box[0], h.box[1], h.box[2], h.box[3], localOptions); + if (localOptions.drawLabels) { + if (localOptions.shadowColor && localOptions.shadowColor !== "") { + ctx.fillStyle = localOptions.shadowColor; + ctx.fillText("hand", h.box[0] + 3, 1 + h.box[1] + localOptions.lineHeight, h.box[2]); + } + ctx.fillStyle = localOptions.labelColor; + ctx.fillText("hand", h.box[0] + 2, 0 + h.box[1] + localOptions.lineHeight, h.box[2]); + } + ctx.stroke(); + } + if (localOptions.drawPoints) { + if (h.keypoints && h.keypoints.length > 0) { + for (const pt of h.keypoints) { + ctx.fillStyle = localOptions.useDepth ? `rgba(${127.5 + 2 * pt[2]}, ${127.5 - 2 * pt[2]}, 255, 0.5)` : localOptions.color; + point(ctx, pt[0], pt[1], 0, localOptions); + } + } + } + if (localOptions.drawLabels) { + const addHandLabel = (part, title) => { + ctx.fillStyle = localOptions.useDepth ? `rgba(${127.5 + 2 * part[part.length - 1][2]}, ${127.5 - 2 * part[part.length - 1][2]}, 255, 0.5)` : localOptions.color; + ctx.fillText(title, part[part.length - 1][0] + 4, part[part.length - 1][1] + 4); + }; + ctx.font = localOptions.font; + addHandLabel(h.annotations["indexFinger"], "index"); + addHandLabel(h.annotations["middleFinger"], "middle"); + addHandLabel(h.annotations["ringFinger"], "ring"); + addHandLabel(h.annotations["pinky"], "pinky"); + addHandLabel(h.annotations["thumb"], "thumb"); + addHandLabel(h.annotations["palmBase"], "palm"); + } + if (localOptions.drawPolygons) { + const addHandLine = (part) => { + if (!part) + return; + for (let i = 0; i < part.length; i++) { + ctx.beginPath(); + ctx.strokeStyle = localOptions.useDepth ? `rgba(${127.5 + 2 * part[i][2]}, ${127.5 - 2 * part[i][2]}, 255, 0.5)` : localOptions.color; + ctx.moveTo(part[i > 0 ? i - 1 : 0][0], part[i > 0 ? i - 1 : 0][1]); + ctx.lineTo(part[i][0], part[i][1]); + ctx.stroke(); + } + }; + ctx.lineWidth = localOptions.lineWidth; + addHandLine(h.annotations["indexFinger"]); + addHandLine(h.annotations["middleFinger"]); + addHandLine(h.annotations["ringFinger"]); + addHandLine(h.annotations["pinky"]); + addHandLine(h.annotations["thumb"]); + } + } +} +async function object(inCanvas2, result, drawOptions) { + const localOptions = mergeDeep(options, drawOptions); + if (!result || !inCanvas2) + return; + if (!(inCanvas2 instanceof HTMLCanvasElement)) + return; + const ctx = inCanvas2.getContext("2d"); + if (!ctx) + return; + ctx.lineJoin = "round"; + ctx.font = localOptions.font; + for (const h of result) { + if (localOptions.drawBoxes) { + ctx.strokeStyle = localOptions.color; + ctx.fillStyle = localOptions.color; + rect(ctx, h.box[0], h.box[1], h.box[2], h.box[3], localOptions); + if (localOptions.drawLabels) { + const label = `${Math.round(100 * h.score)}% ${h.label}`; + if (localOptions.shadowColor && localOptions.shadowColor !== "") { + ctx.fillStyle = localOptions.shadowColor; + ctx.fillText(label, h.box[0] + 3, 1 + h.box[1] + localOptions.lineHeight, h.box[2]); + } + ctx.fillStyle = localOptions.labelColor; + ctx.fillText(label, h.box[0] + 2, 0 + h.box[1] + localOptions.lineHeight, h.box[2]); + } + ctx.stroke(); + } + } +} +async function person(inCanvas2, result, drawOptions) { + const localOptions = mergeDeep(options, drawOptions); + if (!result || !inCanvas2) + return; + if (!(inCanvas2 instanceof HTMLCanvasElement)) + return; + const ctx = inCanvas2.getContext("2d"); + if (!ctx) + return; + ctx.lineJoin = "round"; + ctx.font = localOptions.font; + for (let i = 0; i < result.length; i++) { + if (localOptions.drawBoxes) { + ctx.strokeStyle = localOptions.color; + ctx.fillStyle = localOptions.color; + rect(ctx, result[i].box[0], result[i].box[1], result[i].box[2], result[i].box[3], localOptions); + if (localOptions.drawLabels) { + const label = `person #${i}`; + if (localOptions.shadowColor && localOptions.shadowColor !== "") { + ctx.fillStyle = localOptions.shadowColor; + ctx.fillText(label, result[i].box[0] + 3, 1 + result[i].box[1] + localOptions.lineHeight, result[i].box[2]); + } + ctx.fillStyle = localOptions.labelColor; + ctx.fillText(label, result[i].box[0] + 2, 0 + result[i].box[1] + localOptions.lineHeight, result[i].box[2]); + } + ctx.stroke(); + } + } +} +async function canvas(inCanvas2, outCanvas2) { + if (!inCanvas2 || !outCanvas2) + return; + if (!(inCanvas2 instanceof HTMLCanvasElement) || !(outCanvas2 instanceof HTMLCanvasElement)) + return; + const outCtx = inCanvas2.getContext("2d"); + outCtx == null ? void 0 : outCtx.drawImage(inCanvas2, 0, 0); +} +async function all(inCanvas2, result, drawOptions) { + const timestamp = now(); + const localOptions = mergeDeep(options, drawOptions); + if (!result || !inCanvas2) + return; + if (!(inCanvas2 instanceof HTMLCanvasElement)) + return; + face2(inCanvas2, result.face, localOptions); + body2(inCanvas2, result.body, localOptions); + hand2(inCanvas2, result.hand, localOptions); + object(inCanvas2, result.object, localOptions); + gesture(inCanvas2, result.gesture, localOptions); + result.performance.draw = Math.trunc(now() - timestamp); +} + +// src/persons.ts +function join2(faces, bodies, hands, gestures, shape) { + var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p; + let id = 0; + const persons2 = []; + for (const face5 of faces) { + const person2 = { id: id++, face: face5, body: null, hands: { left: null, right: null }, gestures: [], box: [0, 0, 0, 0] }; + for (const body4 of bodies) { + if (face5.box[0] > body4.box[0] && face5.box[0] < body4.box[0] + body4.box[2] && face5.box[1] + face5.box[3] > body4.box[1] && face5.box[1] + face5.box[3] < body4.box[1] + body4.box[3]) { + person2.body = body4; + } + } + if (person2.body) { + for (const hand3 of hands) { + if (hand3.box[0] + hand3.box[2] > person2.body.box[0] && hand3.box[0] + hand3.box[2] < person2.body.box[0] + person2.body.box[2] && hand3.box[1] + hand3.box[3] > person2.body.box[1] && hand3.box[1] + hand3.box[3] < person2.body.box[1] + person2.body.box[3]) { + if (person2.hands) + person2.hands.left = hand3; + } + if (hand3.box[0] < person2.body.box[0] + person2.body.box[2] && hand3.box[0] > person2.body.box[0] && hand3.box[1] + hand3.box[3] > person2.body.box[1] && hand3.box[1] + hand3.box[3] < person2.body.box[1] + person2.body.box[3]) { + if (person2.hands) + person2.hands.right = hand3; + } + } + } + for (const gesture3 of gestures) { + if (gesture3["face"] !== void 0 && gesture3["face"] === face5.id) + (_a = person2.gestures) == null ? void 0 : _a.push(gesture3); + else if (gesture3["iris"] !== void 0 && gesture3["iris"] === face5.id) + (_b = person2.gestures) == null ? void 0 : _b.push(gesture3); + else if (gesture3["body"] !== void 0 && gesture3["body"] === ((_c = person2.body) == null ? void 0 : _c.id)) + (_d = person2.gestures) == null ? void 0 : _d.push(gesture3); + else if (gesture3["hand"] !== void 0 && gesture3["hand"] === ((_f = (_e = person2.hands) == null ? void 0 : _e.left) == null ? void 0 : _f.id)) + (_g = person2.gestures) == null ? void 0 : _g.push(gesture3); + else if (gesture3["hand"] !== void 0 && gesture3["hand"] === ((_i = (_h = person2.hands) == null ? void 0 : _h.right) == null ? void 0 : _i.id)) + (_j = person2.gestures) == null ? void 0 : _j.push(gesture3); + } + const x = []; + const y = []; + const extractXY = (box6) => { + if (box6 && box6.length === 4) { + x.push(box6[0], box6[0] + box6[2]); + y.push(box6[1], box6[1] + box6[3]); + } + }; + extractXY((_k = person2.face) == null ? void 0 : _k.box); + extractXY((_l = person2.body) == null ? void 0 : _l.box); + extractXY((_n = (_m = person2.hands) == null ? void 0 : _m.left) == null ? void 0 : _n.box); + extractXY((_p = (_o = person2.hands) == null ? void 0 : _o.right) == null ? void 0 : _p.box); + const minX = Math.min(...x); + const minY = Math.min(...y); + person2.box = [minX, minY, Math.max(...x) - minX, Math.max(...y) - minY]; + if (shape && shape.length === 4) + person2.boxRaw = [person2.box[0] / shape[2], person2.box[1] / shape[1], person2.box[2] / shape[2], person2.box[3] / shape[1]]; + persons2.push(person2); + } + return persons2; +} + +// src/interpolate.ts +var bufferedResult = { face: [], body: [], hand: [], gesture: [], object: [], persons: [], performance: {}, timestamp: 0 }; +function calc(newResult) { + var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u; + const bufferedFactor = 1e3 / (Date.now() - newResult.timestamp) / 4; + if (!bufferedResult.body || newResult.body.length !== bufferedResult.body.length) { + bufferedResult.body = JSON.parse(JSON.stringify(newResult.body)); + } else { + for (let i = 0; i < newResult.body.length; i++) { + const box6 = newResult.body[i].box.map((b, j) => ((bufferedFactor - 1) * bufferedResult.body[i].box[j] + b) / bufferedFactor); + const boxRaw3 = newResult.body[i].boxRaw.map((b, j) => ((bufferedFactor - 1) * bufferedResult.body[i].boxRaw[j] + b) / bufferedFactor); + const keypoints3 = newResult.body[i].keypoints.map((keypoint, j) => ({ + score: keypoint.score, + part: keypoint.part, + position: [ + bufferedResult.body[i].keypoints[j] ? ((bufferedFactor - 1) * bufferedResult.body[i].keypoints[j].position[0] + keypoint.position[0]) / bufferedFactor : keypoint.position[0], + bufferedResult.body[i].keypoints[j] ? ((bufferedFactor - 1) * bufferedResult.body[i].keypoints[j].position[1] + keypoint.position[1]) / bufferedFactor : keypoint.position[1] + ], + positionRaw: [ + bufferedResult.body[i].keypoints[j] ? ((bufferedFactor - 1) * bufferedResult.body[i].keypoints[j].positionRaw[0] + keypoint.positionRaw[0]) / bufferedFactor : keypoint.position[0], + bufferedResult.body[i].keypoints[j] ? ((bufferedFactor - 1) * bufferedResult.body[i].keypoints[j].positionRaw[1] + keypoint.positionRaw[1]) / bufferedFactor : keypoint.position[1] + ] + })); + bufferedResult.body[i] = { ...newResult.body[i], box: box6, boxRaw: boxRaw3, keypoints: keypoints3 }; + } + } + if (!bufferedResult.hand || newResult.hand.length !== bufferedResult.hand.length) { + bufferedResult.hand = JSON.parse(JSON.stringify(newResult.hand)); + } else { + for (let i = 0; i < newResult.hand.length; i++) { + const box6 = newResult.hand[i].box.map((b, j) => ((bufferedFactor - 1) * bufferedResult.hand[i].box[j] + b) / bufferedFactor); + const boxRaw3 = newResult.hand[i].boxRaw.map((b, j) => ((bufferedFactor - 1) * bufferedResult.hand[i].boxRaw[j] + b) / bufferedFactor); + const keypoints3 = newResult.hand[i].keypoints.map((landmark, j) => landmark.map((coord, k) => ((bufferedFactor - 1) * bufferedResult.hand[i].keypoints[j][k] + coord) / bufferedFactor)); + const keys = Object.keys(newResult.hand[i].annotations); + const annotations3 = {}; + for (const key of keys) { + annotations3[key] = newResult.hand[i].annotations[key].map((val, j) => val.map((coord, k) => ((bufferedFactor - 1) * bufferedResult.hand[i].annotations[key][j][k] + coord) / bufferedFactor)); + } + bufferedResult.hand[i] = { ...newResult.hand[i], box: box6, boxRaw: boxRaw3, keypoints: keypoints3, annotations: annotations3 }; + } + } + if (!bufferedResult.face || newResult.face.length !== bufferedResult.face.length) { + bufferedResult.face = JSON.parse(JSON.stringify(newResult.face)); + } else { + for (let i = 0; i < newResult.face.length; i++) { + const box6 = newResult.face[i].box.map((b, j) => ((bufferedFactor - 1) * bufferedResult.face[i].box[j] + b) / bufferedFactor); + const boxRaw3 = newResult.face[i].boxRaw.map((b, j) => ((bufferedFactor - 1) * bufferedResult.face[i].boxRaw[j] + b) / bufferedFactor); + const rotation = { matrix: [0, 0, 0, 0, 0, 0, 0, 0, 0], angle: { roll: 0, yaw: 0, pitch: 0 }, gaze: { bearing: 0, strength: 0 } }; + rotation.matrix = (_a = newResult.face[i].rotation) == null ? void 0 : _a.matrix; + rotation.angle = { + roll: ((bufferedFactor - 1) * (((_c = (_b = bufferedResult.face[i].rotation) == null ? void 0 : _b.angle) == null ? void 0 : _c.roll) || 0) + (((_e = (_d = newResult.face[i].rotation) == null ? void 0 : _d.angle) == null ? void 0 : _e.roll) || 0)) / bufferedFactor, + yaw: ((bufferedFactor - 1) * (((_g = (_f = bufferedResult.face[i].rotation) == null ? void 0 : _f.angle) == null ? void 0 : _g.yaw) || 0) + (((_i = (_h = newResult.face[i].rotation) == null ? void 0 : _h.angle) == null ? void 0 : _i.yaw) || 0)) / bufferedFactor, + pitch: ((bufferedFactor - 1) * (((_k = (_j = bufferedResult.face[i].rotation) == null ? void 0 : _j.angle) == null ? void 0 : _k.pitch) || 0) + (((_m = (_l = newResult.face[i].rotation) == null ? void 0 : _l.angle) == null ? void 0 : _m.pitch) || 0)) / bufferedFactor + }; + rotation.gaze = { + bearing: ((bufferedFactor - 1) * (((_o = (_n = bufferedResult.face[i].rotation) == null ? void 0 : _n.gaze) == null ? void 0 : _o.bearing) || 0) + (((_q = (_p = newResult.face[i].rotation) == null ? void 0 : _p.gaze) == null ? void 0 : _q.bearing) || 0)) / bufferedFactor, + strength: ((bufferedFactor - 1) * (((_s = (_r = bufferedResult.face[i].rotation) == null ? void 0 : _r.gaze) == null ? void 0 : _s.strength) || 0) + (((_u = (_t = newResult.face[i].rotation) == null ? void 0 : _t.gaze) == null ? void 0 : _u.strength) || 0)) / bufferedFactor + }; + bufferedResult.face[i] = { ...newResult.face[i], rotation, box: box6, boxRaw: boxRaw3 }; + } + } + if (!bufferedResult.object || newResult.object.length !== bufferedResult.object.length) { + bufferedResult.object = JSON.parse(JSON.stringify(newResult.object)); + } else { + for (let i = 0; i < newResult.object.length; i++) { + const box6 = newResult.object[i].box.map((b, j) => ((bufferedFactor - 1) * bufferedResult.object[i].box[j] + b) / bufferedFactor); + const boxRaw3 = newResult.object[i].boxRaw.map((b, j) => ((bufferedFactor - 1) * bufferedResult.object[i].boxRaw[j] + b) / bufferedFactor); + bufferedResult.object[i] = { ...newResult.object[i], box: box6, boxRaw: boxRaw3 }; + } + } + const newPersons = newResult.persons; + if (!bufferedResult.persons || newPersons.length !== bufferedResult.persons.length) { + bufferedResult.persons = JSON.parse(JSON.stringify(newPersons)); + } else { + for (let i = 0; i < newPersons.length; i++) { + bufferedResult.persons[i].box = newPersons[i].box.map((box6, j) => ((bufferedFactor - 1) * bufferedResult.persons[i].box[j] + box6) / bufferedFactor); + } + } + bufferedResult.gesture = newResult.gesture; + bufferedResult.performance = newResult.performance; + return bufferedResult; +} + +// src/sample.ts +var face3 = ` /9j/4AAQSkZJRgABAQEAYABgAAD/4QBoRXhpZgAATU0AKgAAAAgABAEaAAUAAAABAAAAPgEbAAUA AAABAAAARgEoAAMAAAABAAIAAAExAAIAAAARAAAATgAAAAAAAABgAAAAAQAAAGAAAAABcGFpbnQu bmV0IDQuMi4xMwAA/9sAQwAGBAUGBQQGBgUGBwcGCAoQCgoJCQoUDg8MEBcUGBgXFBYWGh0lHxob @@ -163,7 +10565,8 @@ PQ4GJ+ashuK0MhWaoWcA0AaOmASMK7jRNPWYBmHyiuepO2x10qfcv6vYxCzYqoGK4HVYVTJrmb5l c6oaM5TUJ8EgGsG4kLNUHT0M64OaqMMikSRsuKbnFMRLG3zVehOaGNE445NNlnVFpDMu6uie9Vo1 8z5mOAOST2pDK91cNN+5tsrH3PrW54a06KxT7fdrlh/q1Pc+tJ6IUdZGvHPLezMcnBOWbsPap5r3 ylFtbdT1xUWNWzU0/Zbwlgfmx8zGsHWtRHmMqE59aAMyNifvHPc1f0gtPdqkY5JosJHeNci2tktY -euPnNY+oXWZEVJNrZ9aun8SIq/CzodHuriIokhDIR1ronbKZr0o6o8ipoz//2Q==`,A5=` +euPnNY+oXWZEVJNrZ9aun8SIq/CzodHuriIokhDIR1ronbKZr0o6o8ipoz//2Q==`; +var body3 = ` /9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAsICAoIBwsKCQoNDAsNERwSEQ8PESIZGhQcKSQrKigk JyctMkA3LTA9MCcnOEw5PUNFSElIKzZPVU5GVEBHSEX/2wBDAQwNDREPESESEiFFLicuRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUX/wAARCASwBLADASIA @@ -731,5 +11134,495 @@ AAAAAAJAAAAAAAAAAAAAABAJEAAAAAAAAAAAAAAAIEoBKAAAAAAAAAAAAAAABAlAAAAAAAIAAAAA BAkBAkBAkBAlACEgMZjdjbFW8bWrEx8YWANb6Fp+bfwab+vLDKMFK9qxH5L0bAr8OPRPKz2AY7J2 SbAjYZAI2E7AIEgIEgIEgMdkSy2NgY7MdlmyNoBXsxmFuyNgVTVjNV3KjlBRNTlXTVHKCrlIqt5T lBhEMohlFerLlBjEMohMVTEARDKCITsAk2AEgAAAkAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAD/ -2Q==`;var be="2.0.0";var M0,W0,k0,l0,c0,T0,e5,N0,t5,n5,o5,s5,i2=class{constructor(e){D(this,M0,void 0);D(this,W0,void 0);D(this,k0,void 0);D(this,l0,void 0);D(this,c0,void 0);D(this,T0,void 0);this.analyze=(...e)=>{if(!q(this,W0))return;let t=this.tf.engine().state.numTensors,o=q(this,M0);Q(this,M0,t);let n=t-o;n!==0&&g(...e,n)};D(this,e5,e=>{if(!q(this,k0))return null;if(!e)return"input is not defined";if(this.tf.ENV.flags.IS_NODE&&!(e instanceof a.Tensor))return"input must be a tensor";try{this.tf.getBackend()}catch(t){return"backend not loaded"}return null});D(this,N0,async(e=!1)=>{var t;if(this.config.backend&&this.config.backend.length>0&&e||this.tf.getBackend()!==this.config.backend){let o=I();if(this.state="backend",this.config.backend&&this.config.backend.length>0){if(typeof window=="undefined"&&typeof WorkerGlobalScope!="undefined"&&this.config.debug&&g("running inside web worker"),this.tf.ENV.flags.IS_BROWSER&&this.config.backend==="tensorflow"&&(this.config.backend="webgl"),this.tf.ENV.flags.IS_NODE&&(this.config.backend==="webgl"||this.config.backend==="humangl")&&(this.config.backend="tensorflow"),this.config.debug&&g("setting backend:",this.config.backend),this.config.backend==="wasm"){if(this.config.debug&&g("wasm path:",this.config.wasmPath),typeof((t=this.tf)==null?void 0:t.setWasmPaths)!="undefined")this.tf.setWasmPaths(this.config.wasmPath);else throw new Error("Human: WASM backend is not loaded");let n=await this.tf.env().getAsync("WASM_HAS_SIMD_SUPPORT"),x=await this.tf.env().getAsync("WASM_HAS_MULTITHREAD_SUPPORT");this.config.debug&&g(`wasm execution: ${n?"SIMD":"no SIMD"} ${x?"multithreaded":"singlethreaded"}`),this.config.debug&&!n&&g("warning: wasm simd support is not enabled")}this.config.backend==="humangl"&&TA();try{await this.tf.setBackend(this.config.backend)}catch(n){g("error: cannot set backend:",this.config.backend,n)}}if(this.tf.enableProdMode(),this.tf.getBackend()==="webgl"||this.tf.getBackend()==="humangl"){this.tf.ENV.set("CHECK_COMPUTATION_FOR_ERRORS",!1),this.tf.ENV.set("WEBGL_CPU_FORWARD",!0),this.tf.ENV.set("WEBGL_PACK_DEPTHWISECONV",!0),this.config.object.enabled||this.tf.ENV.set("WEBGL_FORCE_F16_TEXTURES",!0),typeof this.config.deallocate!="undefined"&&this.config.deallocate&&(g("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:",!0),this.tf.ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD",0));let n=await this.tf.backend().getGPGPUContext().gl;this.config.debug&&g(`gl version:${n.getParameter(n.VERSION)} renderer:${n.getParameter(n.RENDERER)}`)}await this.tf.ready(),this.performance.backend=Math.trunc(I()-o)}});this.next=e=>pe(e||this.result);D(this,t5,async e=>{if(this.config.cacheSensitivity===0)return!1;let t=32,o=e.resizeBilinear([Math.trunc(e.shape[1]/t),Math.trunc(e.shape[2]/t)]),n=o.dataSync(),x=0;for(let y=0;y10*this.config.cacheSensitivity?0:i),s});D(this,n5,async()=>{let e=(n,x="application/octet-stream")=>fetch(`data:${x};base64,${n}`).then(i=>i.blob()),t,o;switch(this.config.warmup){case"face":t=await e($0);break;case"full":t=await e(A5);break;default:t=null}if(t){let n=await createImageBitmap(t);o=await this.detect(n,this.config),n.close()}return o});D(this,o5,async()=>new Promise(e=>{let t,o=0;switch(this.config.warmup){case"face":o=256,t="data:image/jpeg;base64,"+$0;break;case"full":case"body":o=1200,t="data:image/jpeg;base64,"+A5;break;default:t=null}let n=new Image;n.onload=async()=>{let x=typeof OffscreenCanvas!="undefined"?new OffscreenCanvas(o,o):document.createElement("canvas");x.width=n.naturalWidth,x.height=n.naturalHeight;let i=x.getContext("2d");i==null||i.drawImage(n,0,0);let s=await this.detect(x,this.config);e(s)},t?n.src=t:e(null)}));D(this,s5,async()=>{let e=n=>Buffer.from(n,"base64"),t;if(this.config.warmup==="face"&&(t=e($0)),(this.config.warmup==="body"||this.config.warmup==="full")&&(t=e(A5)),!t)return null;let o;if(typeof a.node!="undefined"){let n=a.node.decodeJpeg(t),x=n.expandDims(0);this.tf.dispose(n),o=await this.detect(x,this.config),this.tf.dispose(x)}else this.config.debug&&g("Warmup tfjs-node not loaded");return o});this.config=U(mA,e||{}),this.tf=a,this.draw=cA,this.version=be,this.state="idle",Q(this,M0,0),Q(this,W0,!1),Q(this,k0,!1),Q(this,l0,!0),Q(this,T0,0),this.performance={backend:0,load:0,image:0,frames:0,cached:0,changed:0,total:0,draw:0},this.models={face:null,posenet:null,blazepose:null,efficientpose:null,movenet:null,handpose:null,age:null,gender:null,emotion:null,embedding:null,nanodet:null,centernet:null,faceres:null},this.image=t=>xA(t,this.config),this.classes={facemesh:h5,emotion:g5,faceres:v5,body:this.config.body.modelPath.includes("posenet")?I5:B5,hand:F5,nanodet:nA,centernet:aA},this.faceTriangulation=IA,this.faceUVMap=OA,this.sysinfo=hA(),Q(this,c0,1)}similarity(e,t){return P5(e,t)}enhance(e){return z5(e)}match(e,t,o=0){return HA(e,t,o)}async load(e){this.state="load";let t=I();e&&(this.config=U(this.config,e)),q(this,l0)&&(this.config.debug&&g(`version: ${this.version}`),this.config.debug&&g(`tfjs version: ${this.tf.version_core}`),this.config.debug&&g("platform:",this.sysinfo.platform),this.config.debug&&g("agent:",this.sysinfo.agent),await q(this,N0).call(this,!0),this.tf.ENV.flags.IS_BROWSER&&(this.config.debug&&g("configuration:",this.config),this.config.debug&&g("tf flags:",this.tf.ENV.flags))),this.config.async?[this.models.face,this.models.emotion,this.models.handpose,this.models.posenet,this.models.blazepose,this.models.efficientpose,this.models.movenet,this.models.nanodet,this.models.centernet,this.models.faceres]=await Promise.all([this.models.face||(this.config.face.enabled?m5(this.config):null),this.models.emotion||(this.config.face.enabled&&this.config.face.emotion.enabled?b5(this.config):null),this.models.handpose||(this.config.hand.enabled?X5(this.config):null),this.models.posenet||(this.config.body.enabled&&this.config.body.modelPath.includes("posenet")?N5(this.config):null),this.models.blazepose||(this.config.body.enabled&&this.config.body.modelPath.includes("blazepose")?G0(this.config):null),this.models.efficientpose||(this.config.body.enabled&&this.config.body.modelPath.includes("efficientpose")?re(this.config):null),this.models.movenet||(this.config.body.enabled&&this.config.body.modelPath.includes("movenet")?Q5(this.config):null),this.models.nanodet||(this.config.object.enabled&&this.config.object.modelPath.includes("nanodet")?eA(this.config):null),this.models.centernet||(this.config.object.enabled&&this.config.object.modelPath.includes("centernet")?rA(this.config):null),this.models.faceres||(this.config.face.enabled&&this.config.face.description.enabled?T5(this.config):null)]):(this.config.face.enabled&&!this.models.face&&(this.models.face=await m5(this.config)),this.config.face.enabled&&this.config.face.emotion.enabled&&!this.models.emotion&&(this.models.emotion=await b5(this.config)),this.config.hand.enabled&&!this.models.handpose&&(this.models.handpose=await X5(this.config)),this.config.body.enabled&&!this.models.posenet&&this.config.body.modelPath.includes("posenet")&&(this.models.posenet=await N5(this.config)),this.config.body.enabled&&!this.models.blazepose&&this.config.body.modelPath.includes("blazepose")&&(this.models.blazepose=await G0(this.config)),this.config.body.enabled&&!this.models.efficientpose&&this.config.body.modelPath.includes("efficientpose")&&(this.models.efficientpose=await G0(this.config)),this.config.body.enabled&&!this.models.movenet&&this.config.body.modelPath.includes("movenet")&&(this.models.movenet=await Q5(this.config)),this.config.object.enabled&&!this.models.nanodet&&this.config.object.modelPath.includes("nanodet")&&(this.models.nanodet=await eA(this.config)),this.config.object.enabled&&!this.models.centernet&&this.config.object.modelPath.includes("centernet")&&(this.models.centernet=await rA(this.config)),this.config.face.enabled&&this.config.face.description.enabled&&!this.models.faceres&&(this.models.faceres=await T5(this.config))),q(this,l0)&&(this.config.debug&&g("tf engine state:",this.tf.engine().state.numBytes,"bytes",this.tf.engine().state.numTensors,"tensors"),Q(this,l0,!1));let o=Math.trunc(I()-t);o>(this.performance.load||0)&&(this.performance.load=o)}async detect(e,t){return new Promise(async o=>{this.state="config";let n;this.config=U(this.config,t),this.state="check";let x=q(this,e5).call(this,e);x&&(g(x,e),o({error:x}));let i=I();await q(this,N0).call(this),await this.load(),n=I();let s=xA(e,this.config);if(!s||!s.tensor){g("could not convert input to tensor"),o({error:"could not convert input to tensor"});return}this.performance.image=Math.trunc(I()-n),this.analyze("Get Image:"),n=I(),this.config.skipFrame=await q(this,t5).call(this,s.tensor),this.performance.frames||(this.performance.frames=0),this.performance.cached||(this.performance.cached=0),this.performance.frames++,this.config.skipFrame&&this.performance.cached++,this.performance.changed=Math.trunc(I()-n),this.analyze("Check Changed:");let y,r,c,l,f;this.config.async?(y=this.config.face.enabled?E5(this,s.tensor):[],this.performance.face&&delete this.performance.face):(this.state="run:face",n=I(),y=this.config.face.enabled?await E5(this,s.tensor):[],f=Math.trunc(I()-n),f>0&&(this.performance.face=f)),this.analyze("Start Body:"),this.config.async?(this.config.body.modelPath.includes("posenet")?r=this.config.body.enabled?k5(s.tensor,this.config):[]:this.config.body.modelPath.includes("blazepose")?r=this.config.body.enabled?q5(s.tensor,this.config):[]:this.config.body.modelPath.includes("efficientpose")?r=this.config.body.enabled?Y5(s.tensor,this.config):[]:this.config.body.modelPath.includes("movenet")&&(r=this.config.body.enabled?_5(s.tensor,this.config):[]),this.performance.body&&delete this.performance.body):(this.state="run:body",n=I(),this.config.body.modelPath.includes("posenet")?r=this.config.body.enabled?await k5(s.tensor,this.config):[]:this.config.body.modelPath.includes("blazepose")?r=this.config.body.enabled?await q5(s.tensor,this.config):[]:this.config.body.modelPath.includes("efficientpose")?r=this.config.body.enabled?await Y5(s.tensor,this.config):[]:this.config.body.modelPath.includes("movenet")&&(r=this.config.body.enabled?await _5(s.tensor,this.config):[]),f=Math.trunc(I()-n),f>0&&(this.performance.body=f)),this.analyze("End Body:"),this.analyze("Start Hand:"),this.config.async?(c=this.config.hand.enabled?V5(s.tensor,this.config):[],this.performance.hand&&delete this.performance.hand):(this.state="run:hand",n=I(),c=this.config.hand.enabled?await V5(s.tensor,this.config):[],f=Math.trunc(I()-n),f>0&&(this.performance.hand=f)),this.analyze("End Hand:"),this.analyze("Start Object:"),this.config.async?(this.config.object.modelPath.includes("nanodet")?l=this.config.object.enabled?tA(s.tensor,this.config):[]:this.config.object.modelPath.includes("centernet")&&(l=this.config.object.enabled?iA(s.tensor,this.config):[]),this.performance.object&&delete this.performance.object):(this.state="run:object",n=I(),this.config.object.modelPath.includes("nanodet")?l=this.config.object.enabled?await tA(s.tensor,this.config):[]:this.config.object.modelPath.includes("centernet")&&(l=this.config.object.enabled?await iA(s.tensor,this.config):[]),f=Math.trunc(I()-n),f>0&&(this.performance.object=f)),this.analyze("End Object:"),this.config.async&&([y,r,c,l]=await Promise.all([y,r,c,l]));let b=[];this.config.gesture.enabled&&(n=I(),b=[...ae(y),...ie(r),...ye(c),...xe(y)],this.config.async?this.performance.gesture&&delete this.performance.gesture:this.performance.gesture=Math.trunc(I()-n)),this.performance.total=Math.trunc(I()-i),this.state="idle",this.result={face:y,body:r,hand:c,gesture:b,object:l,performance:this.performance,canvas:s.canvas,timestamp:Date.now(),get persons(){var v;return ue(y,r,c,b,(v=s==null?void 0:s.tensor)==null?void 0:v.shape)}},a.dispose(s.tensor),o(this.result)})}async warmup(e){let t=I();if(e&&(this.config=U(this.config,e)),!this.config.warmup||this.config.warmup==="none")return{error:"null"};let o;typeof createImageBitmap=="function"?o=await q(this,n5).call(this):typeof Image!="undefined"?o=await q(this,o5).call(this):o=await q(this,s5).call(this);let n=I();return this.config.debug&&g("Warmup",this.config.warmup,Math.round(n-t),"ms",o),o}};M0=new WeakMap,W0=new WeakMap,k0=new WeakMap,l0=new WeakMap,c0=new WeakMap,T0=new WeakMap,e5=new WeakMap,N0=new WeakMap,t5=new WeakMap,n5=new WeakMap,o5=new WeakMap,s5=new WeakMap;export{i2 as Human,i2 as default}; +2Q==`; + +// package.json +var version2 = "2.0.0"; + +// src/human.ts +var _numTensors, _analyzeMemoryLeaks, _checkSanity, _firstRun, _lastInputSum, _lastCacheDiff, _sanity, _checkBackend, _skipFrame, _warmupBitmap, _warmupCanvas, _warmupNode; +var Human = class { + constructor(userConfig) { + __privateAdd(this, _numTensors, void 0); + __privateAdd(this, _analyzeMemoryLeaks, void 0); + __privateAdd(this, _checkSanity, void 0); + __privateAdd(this, _firstRun, void 0); + __privateAdd(this, _lastInputSum, void 0); + __privateAdd(this, _lastCacheDiff, void 0); + this.analyze = (...msg) => { + if (!__privateGet(this, _analyzeMemoryLeaks)) + return; + const currentTensors = this.tf.engine().state.numTensors; + const previousTensors = __privateGet(this, _numTensors); + __privateSet(this, _numTensors, currentTensors); + const leaked = currentTensors - previousTensors; + if (leaked !== 0) + log(...msg, leaked); + }; + __privateAdd(this, _sanity, (input) => { + if (!__privateGet(this, _checkSanity)) + return null; + if (!input) + return "input is not defined"; + if (this.tf.ENV.flags.IS_NODE && !(input instanceof tfjs_esm_exports.Tensor)) + return "input must be a tensor"; + try { + this.tf.getBackend(); + } catch (e) { + return "backend not loaded"; + } + return null; + }); + __privateAdd(this, _checkBackend, async (force = false) => { + var _a; + if (this.config.backend && this.config.backend.length > 0 && force || this.tf.getBackend() !== this.config.backend) { + const timeStamp = now(); + this.state = "backend"; + if (this.config.backend && this.config.backend.length > 0) { + if (typeof window === "undefined" && typeof WorkerGlobalScope !== "undefined" && this.config.debug) + log("running inside web worker"); + if (this.tf.ENV.flags.IS_BROWSER && this.config.backend === "tensorflow") + this.config.backend = "webgl"; + if (this.tf.ENV.flags.IS_NODE && (this.config.backend === "webgl" || this.config.backend === "humangl")) + this.config.backend = "tensorflow"; + if (this.config.debug) + log("setting backend:", this.config.backend); + if (this.config.backend === "wasm") { + if (this.config.debug) + log("wasm path:", this.config.wasmPath); + if (typeof ((_a = this.tf) == null ? void 0 : _a.setWasmPaths) !== "undefined") + this.tf.setWasmPaths(this.config.wasmPath); + else + throw new Error("Human: WASM backend is not loaded"); + const simd = await this.tf.env().getAsync("WASM_HAS_SIMD_SUPPORT"); + const mt = await this.tf.env().getAsync("WASM_HAS_MULTITHREAD_SUPPORT"); + if (this.config.debug) + log(`wasm execution: ${simd ? "SIMD" : "no SIMD"} ${mt ? "multithreaded" : "singlethreaded"}`); + if (this.config.debug && !simd) + log("warning: wasm simd support is not enabled"); + } + if (this.config.backend === "humangl") + register(); + try { + await this.tf.setBackend(this.config.backend); + } catch (err) { + log("error: cannot set backend:", this.config.backend, err); + } + } + this.tf.enableProdMode(); + if (this.tf.getBackend() === "webgl" || this.tf.getBackend() === "humangl") { + this.tf.ENV.set("CHECK_COMPUTATION_FOR_ERRORS", false); + this.tf.ENV.set("WEBGL_CPU_FORWARD", true); + this.tf.ENV.set("WEBGL_PACK_DEPTHWISECONV", true); + if (!this.config.object.enabled) + this.tf.ENV.set("WEBGL_FORCE_F16_TEXTURES", true); + if (typeof this.config["deallocate"] !== "undefined" && this.config["deallocate"]) { + log("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:", true); + this.tf.ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD", 0); + } + const gl = await this.tf.backend().getGPGPUContext().gl; + if (this.config.debug) + log(`gl version:${gl.getParameter(gl.VERSION)} renderer:${gl.getParameter(gl.RENDERER)}`); + } + await this.tf.ready(); + this.performance.backend = Math.trunc(now() - timeStamp); + } + }); + this.next = (result) => calc(result || this.result); + __privateAdd(this, _skipFrame, async (input) => { + if (this.config.cacheSensitivity === 0) + return false; + const resizeFact = 32; + const reduced = input.resizeBilinear([Math.trunc(input.shape[1] / resizeFact), Math.trunc(input.shape[2] / resizeFact)]); + const reducedData = reduced.dataSync(); + let sum = 0; + for (let i = 0; i < reducedData.length / 3; i++) + sum += reducedData[3 * i + 2]; + reduced.dispose(); + const diff = 100 * (Math.max(sum, __privateGet(this, _lastInputSum)) / Math.min(sum, __privateGet(this, _lastInputSum)) - 1); + __privateSet(this, _lastInputSum, sum); + const skipFrame = diff < Math.max(this.config.cacheSensitivity, __privateGet(this, _lastCacheDiff)); + __privateSet(this, _lastCacheDiff, diff > 10 * this.config.cacheSensitivity ? 0 : diff); + return skipFrame; + }); + __privateAdd(this, _warmupBitmap, async () => { + const b64toBlob = (base64, type = "application/octet-stream") => fetch(`data:${type};base64,${base64}`).then((res2) => res2.blob()); + let blob; + let res; + switch (this.config.warmup) { + case "face": + blob = await b64toBlob(face3); + break; + case "full": + blob = await b64toBlob(body3); + break; + default: + blob = null; + } + if (blob) { + const bitmap = await createImageBitmap(blob); + res = await this.detect(bitmap, this.config); + bitmap.close(); + } + return res; + }); + __privateAdd(this, _warmupCanvas, async () => new Promise((resolve) => { + let src; + let size = 0; + switch (this.config.warmup) { + case "face": + size = 256; + src = "data:image/jpeg;base64," + face3; + break; + case "full": + case "body": + size = 1200; + src = "data:image/jpeg;base64," + body3; + break; + default: + src = null; + } + const img = new Image(); + img.onload = async () => { + const canvas2 = typeof OffscreenCanvas !== "undefined" ? new OffscreenCanvas(size, size) : document.createElement("canvas"); + canvas2.width = img.naturalWidth; + canvas2.height = img.naturalHeight; + const ctx = canvas2.getContext("2d"); + ctx == null ? void 0 : ctx.drawImage(img, 0, 0); + const res = await this.detect(canvas2, this.config); + resolve(res); + }; + if (src) + img.src = src; + else + resolve(null); + })); + __privateAdd(this, _warmupNode, async () => { + const atob = (str) => Buffer.from(str, "base64"); + let img; + if (this.config.warmup === "face") + img = atob(face3); + if (this.config.warmup === "body" || this.config.warmup === "full") + img = atob(body3); + if (!img) + return null; + let res; + if (typeof tfjs_esm_exports["node"] !== "undefined") { + const data2 = tfjs_esm_exports["node"].decodeJpeg(img); + const expanded = data2.expandDims(0); + this.tf.dispose(data2); + res = await this.detect(expanded, this.config); + this.tf.dispose(expanded); + } else { + if (this.config.debug) + log("Warmup tfjs-node not loaded"); + } + return res; + }); + this.config = mergeDeep(config, userConfig || {}); + this.tf = tfjs_esm_exports; + this.draw = draw_exports; + this.version = version2; + this.state = "idle"; + __privateSet(this, _numTensors, 0); + __privateSet(this, _analyzeMemoryLeaks, false); + __privateSet(this, _checkSanity, false); + __privateSet(this, _firstRun, true); + __privateSet(this, _lastCacheDiff, 0); + this.performance = { backend: 0, load: 0, image: 0, frames: 0, cached: 0, changed: 0, total: 0, draw: 0 }; + this.models = { + face: null, + posenet: null, + blazepose: null, + efficientpose: null, + movenet: null, + handpose: null, + age: null, + gender: null, + emotion: null, + embedding: null, + nanodet: null, + centernet: null, + faceres: null + }; + this.image = (input) => process4(input, this.config); + this.classes = { + facemesh: facemesh_exports, + emotion: emotion_exports, + faceres: faceres_exports, + body: this.config.body.modelPath.includes("posenet") ? posenet_exports : blazepose_exports, + hand: handpose_exports, + nanodet: nanodet_exports, + centernet: centernet_exports + }; + this.faceTriangulation = triangulation; + this.faceUVMap = uvmap; + this.sysinfo = info(); + __privateSet(this, _lastInputSum, 1); + } + similarity(embedding1, embedding2) { + return similarity(embedding1, embedding2); + } + enhance(input) { + return enhance(input); + } + match(faceEmbedding, db, threshold = 0) { + return match(faceEmbedding, db, threshold); + } + async load(userConfig) { + this.state = "load"; + const timeStamp = now(); + if (userConfig) + this.config = mergeDeep(this.config, userConfig); + if (__privateGet(this, _firstRun)) { + if (this.config.debug) + log(`version: ${this.version}`); + if (this.config.debug) + log(`tfjs version: ${this.tf.version_core}`); + if (this.config.debug) + log("platform:", this.sysinfo.platform); + if (this.config.debug) + log("agent:", this.sysinfo.agent); + await __privateGet(this, _checkBackend).call(this, true); + if (this.tf.ENV.flags.IS_BROWSER) { + if (this.config.debug) + log("configuration:", this.config); + if (this.config.debug) + log("tf flags:", this.tf.ENV.flags); + } + } + if (this.config.async) { + [ + this.models.face, + this.models.emotion, + this.models.handpose, + this.models.posenet, + this.models.blazepose, + this.models.efficientpose, + this.models.movenet, + this.models.nanodet, + this.models.centernet, + this.models.faceres + ] = await Promise.all([ + this.models.face || (this.config.face.enabled ? load2(this.config) : null), + this.models.emotion || (this.config.face.enabled && this.config.face.emotion.enabled ? load3(this.config) : null), + this.models.handpose || (this.config.hand.enabled ? load6(this.config) : null), + this.models.posenet || (this.config.body.enabled && this.config.body.modelPath.includes("posenet") ? load5(this.config) : null), + this.models.blazepose || (this.config.body.enabled && this.config.body.modelPath.includes("blazepose") ? load7(this.config) : null), + this.models.efficientpose || (this.config.body.enabled && this.config.body.modelPath.includes("efficientpose") ? load8(this.config) : null), + this.models.movenet || (this.config.body.enabled && this.config.body.modelPath.includes("movenet") ? load9(this.config) : null), + this.models.nanodet || (this.config.object.enabled && this.config.object.modelPath.includes("nanodet") ? load10(this.config) : null), + this.models.centernet || (this.config.object.enabled && this.config.object.modelPath.includes("centernet") ? load11(this.config) : null), + this.models.faceres || (this.config.face.enabled && this.config.face.description.enabled ? load4(this.config) : null) + ]); + } else { + if (this.config.face.enabled && !this.models.face) + this.models.face = await load2(this.config); + if (this.config.face.enabled && this.config.face.emotion.enabled && !this.models.emotion) + this.models.emotion = await load3(this.config); + if (this.config.hand.enabled && !this.models.handpose) + this.models.handpose = await load6(this.config); + if (this.config.body.enabled && !this.models.posenet && this.config.body.modelPath.includes("posenet")) + this.models.posenet = await load5(this.config); + if (this.config.body.enabled && !this.models.blazepose && this.config.body.modelPath.includes("blazepose")) + this.models.blazepose = await load7(this.config); + if (this.config.body.enabled && !this.models.efficientpose && this.config.body.modelPath.includes("efficientpose")) + this.models.efficientpose = await load7(this.config); + if (this.config.body.enabled && !this.models.movenet && this.config.body.modelPath.includes("movenet")) + this.models.movenet = await load9(this.config); + if (this.config.object.enabled && !this.models.nanodet && this.config.object.modelPath.includes("nanodet")) + this.models.nanodet = await load10(this.config); + if (this.config.object.enabled && !this.models.centernet && this.config.object.modelPath.includes("centernet")) + this.models.centernet = await load11(this.config); + if (this.config.face.enabled && this.config.face.description.enabled && !this.models.faceres) + this.models.faceres = await load4(this.config); + } + if (__privateGet(this, _firstRun)) { + if (this.config.debug) + log("tf engine state:", this.tf.engine().state.numBytes, "bytes", this.tf.engine().state.numTensors, "tensors"); + __privateSet(this, _firstRun, false); + } + const current = Math.trunc(now() - timeStamp); + if (current > (this.performance.load || 0)) + this.performance.load = current; + } + async detect(input, userConfig) { + return new Promise(async (resolve) => { + this.state = "config"; + let timeStamp; + this.config = mergeDeep(this.config, userConfig); + this.state = "check"; + const error = __privateGet(this, _sanity).call(this, input); + if (error) { + log(error, input); + resolve({ error }); + } + const timeStart = now(); + await __privateGet(this, _checkBackend).call(this); + await this.load(); + timeStamp = now(); + const process5 = process4(input, this.config); + if (!process5 || !process5.tensor) { + log("could not convert input to tensor"); + resolve({ error: "could not convert input to tensor" }); + return; + } + this.performance.image = Math.trunc(now() - timeStamp); + this.analyze("Get Image:"); + timeStamp = now(); + this.config.skipFrame = await __privateGet(this, _skipFrame).call(this, process5.tensor); + if (!this.performance.frames) + this.performance.frames = 0; + if (!this.performance.cached) + this.performance.cached = 0; + this.performance.frames++; + if (this.config.skipFrame) + this.performance.cached++; + this.performance.changed = Math.trunc(now() - timeStamp); + this.analyze("Check Changed:"); + let faceRes; + let bodyRes; + let handRes; + let objectRes; + let elapsedTime; + if (this.config.async) { + faceRes = this.config.face.enabled ? detectFace(this, process5.tensor) : []; + if (this.performance.face) + delete this.performance.face; + } else { + this.state = "run:face"; + timeStamp = now(); + faceRes = this.config.face.enabled ? await detectFace(this, process5.tensor) : []; + elapsedTime = Math.trunc(now() - timeStamp); + if (elapsedTime > 0) + this.performance.face = elapsedTime; + } + this.analyze("Start Body:"); + if (this.config.async) { + if (this.config.body.modelPath.includes("posenet")) + bodyRes = this.config.body.enabled ? predict4(process5.tensor, this.config) : []; + else if (this.config.body.modelPath.includes("blazepose")) + bodyRes = this.config.body.enabled ? predict6(process5.tensor, this.config) : []; + else if (this.config.body.modelPath.includes("efficientpose")) + bodyRes = this.config.body.enabled ? predict7(process5.tensor, this.config) : []; + else if (this.config.body.modelPath.includes("movenet")) + bodyRes = this.config.body.enabled ? predict8(process5.tensor, this.config) : []; + if (this.performance.body) + delete this.performance.body; + } else { + this.state = "run:body"; + timeStamp = now(); + if (this.config.body.modelPath.includes("posenet")) + bodyRes = this.config.body.enabled ? await predict4(process5.tensor, this.config) : []; + else if (this.config.body.modelPath.includes("blazepose")) + bodyRes = this.config.body.enabled ? await predict6(process5.tensor, this.config) : []; + else if (this.config.body.modelPath.includes("efficientpose")) + bodyRes = this.config.body.enabled ? await predict7(process5.tensor, this.config) : []; + else if (this.config.body.modelPath.includes("movenet")) + bodyRes = this.config.body.enabled ? await predict8(process5.tensor, this.config) : []; + elapsedTime = Math.trunc(now() - timeStamp); + if (elapsedTime > 0) + this.performance.body = elapsedTime; + } + this.analyze("End Body:"); + this.analyze("Start Hand:"); + if (this.config.async) { + handRes = this.config.hand.enabled ? predict5(process5.tensor, this.config) : []; + if (this.performance.hand) + delete this.performance.hand; + } else { + this.state = "run:hand"; + timeStamp = now(); + handRes = this.config.hand.enabled ? await predict5(process5.tensor, this.config) : []; + elapsedTime = Math.trunc(now() - timeStamp); + if (elapsedTime > 0) + this.performance.hand = elapsedTime; + } + this.analyze("End Hand:"); + this.analyze("Start Object:"); + if (this.config.async) { + if (this.config.object.modelPath.includes("nanodet")) + objectRes = this.config.object.enabled ? predict9(process5.tensor, this.config) : []; + else if (this.config.object.modelPath.includes("centernet")) + objectRes = this.config.object.enabled ? predict10(process5.tensor, this.config) : []; + if (this.performance.object) + delete this.performance.object; + } else { + this.state = "run:object"; + timeStamp = now(); + if (this.config.object.modelPath.includes("nanodet")) + objectRes = this.config.object.enabled ? await predict9(process5.tensor, this.config) : []; + else if (this.config.object.modelPath.includes("centernet")) + objectRes = this.config.object.enabled ? await predict10(process5.tensor, this.config) : []; + elapsedTime = Math.trunc(now() - timeStamp); + if (elapsedTime > 0) + this.performance.object = elapsedTime; + } + this.analyze("End Object:"); + if (this.config.async) + [faceRes, bodyRes, handRes, objectRes] = await Promise.all([faceRes, bodyRes, handRes, objectRes]); + let gestureRes = []; + if (this.config.gesture.enabled) { + timeStamp = now(); + gestureRes = [...face(faceRes), ...body(bodyRes), ...hand(handRes), ...iris(faceRes)]; + if (!this.config.async) + this.performance.gesture = Math.trunc(now() - timeStamp); + else if (this.performance.gesture) + delete this.performance.gesture; + } + this.performance.total = Math.trunc(now() - timeStart); + this.state = "idle"; + this.result = { + face: faceRes, + body: bodyRes, + hand: handRes, + gesture: gestureRes, + object: objectRes, + performance: this.performance, + canvas: process5.canvas, + timestamp: Date.now(), + get persons() { + var _a; + return join2(faceRes, bodyRes, handRes, gestureRes, (_a = process5 == null ? void 0 : process5.tensor) == null ? void 0 : _a.shape); + } + }; + tfjs_esm_exports.dispose(process5.tensor); + resolve(this.result); + }); + } + async warmup(userConfig) { + const t0 = now(); + if (userConfig) + this.config = mergeDeep(this.config, userConfig); + if (!this.config.warmup || this.config.warmup === "none") + return { error: "null" }; + let res; + if (typeof createImageBitmap === "function") + res = await __privateGet(this, _warmupBitmap).call(this); + else if (typeof Image !== "undefined") + res = await __privateGet(this, _warmupCanvas).call(this); + else + res = await __privateGet(this, _warmupNode).call(this); + const t1 = now(); + if (this.config.debug) + log("Warmup", this.config.warmup, Math.round(t1 - t0), "ms", res); + return res; + } +}; +_numTensors = new WeakMap(); +_analyzeMemoryLeaks = new WeakMap(); +_checkSanity = new WeakMap(); +_firstRun = new WeakMap(); +_lastInputSum = new WeakMap(); +_lastCacheDiff = new WeakMap(); +_sanity = new WeakMap(); +_checkBackend = new WeakMap(); +_skipFrame = new WeakMap(); +_warmupBitmap = new WeakMap(); +_warmupCanvas = new WeakMap(); +_warmupNode = new WeakMap(); +export { + Human, + Human as default +}; //# sourceMappingURL=human.esm-nobundle.js.map diff --git a/dist/human.esm-nobundle.js.map b/dist/human.esm-nobundle.js.map index ba077758..b4b7f99f 100644 --- a/dist/human.esm-nobundle.js.map +++ b/dist/human.esm-nobundle.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": ["../src/helpers.ts", "../src/config.ts", "../src/sysinfo.ts", "../src/tfjs/tf-browser.ts", "../src/tfjs/backend.ts", "../src/blazeface/facemesh.ts", "../src/blazeface/box.ts", "../src/blazeface/util.ts", "../src/blazeface/blazeface.ts", "../src/blazeface/coords.ts", "../src/blazeface/facepipeline.ts", "../src/emotion/emotion.ts", "../src/faceres/faceres.ts", "../src/face.ts", "../src/posenet/posenet.ts", "../src/posenet/keypoints.ts", "../src/posenet/utils.ts", "../src/posenet/poses.ts", "../src/handpose/handpose.ts", "../src/handpose/box.ts", "../src/handpose/anchors.ts", "../src/handpose/handdetector.ts", "../src/handpose/util.ts", "../src/handpose/handpipeline.ts", "../src/blazepose/blazepose.ts", "../src/blazepose/annotations.ts", "../src/efficientpose/efficientpose.ts", "../src/movenet/movenet.ts", "../src/object/nanodet.ts", "../src/object/labels.ts", "../src/object/centernet.ts", "../src/gesture/gesture.ts", "../src/image/imagefx.js", "../src/image/image.ts", "../src/draw/draw.ts", "../src/persons.ts", "../src/interpolate.ts", "../src/sample.ts", "../src/human.ts"], - "sourcesContent": ["/**\n * Simple helper functions used accross codebase\n */\n\n// helper function: join two paths\nexport function join(folder: string, file: string): string {\n const separator = folder.endsWith('/') ? '' : '/';\n const skipJoin = file.startsWith('.') || file.startsWith('/') || file.startsWith('http:') || file.startsWith('https:') || file.startsWith('file:');\n const path = skipJoin ? `${file}` : `${folder}${separator}${file}`;\n if (!path.toLocaleLowerCase().includes('.json')) throw new Error(`Human: ModelPath Error: ${path} Expecting JSON file`);\n return path;\n}\n\n// helper function: wrapper around console output\nexport function log(...msg) {\n const dt = new Date();\n const ts = `${dt.getHours().toString().padStart(2, '0')}:${dt.getMinutes().toString().padStart(2, '0')}:${dt.getSeconds().toString().padStart(2, '0')}.${dt.getMilliseconds().toString().padStart(3, '0')}`;\n // eslint-disable-next-line no-console\n if (msg) console.log(ts, 'Human:', ...msg);\n}\n\n// helper function: gets elapsed time on both browser and nodejs\nexport const now = () => {\n if (typeof performance !== 'undefined') return performance.now();\n return parseInt((Number(process.hrtime.bigint()) / 1000 / 1000).toString());\n};\n\n// helper function: perform deep merge of multiple objects so it allows full inheriance with overrides\nexport function mergeDeep(...objects) {\n const isObject = (obj) => obj && typeof obj === 'object';\n return objects.reduce((prev, obj) => {\n Object.keys(obj || {}).forEach((key) => {\n const pVal = prev[key];\n const oVal = obj[key];\n if (Array.isArray(pVal) && Array.isArray(oVal)) prev[key] = pVal.concat(...oVal);\n else if (isObject(pVal) && isObject(oVal)) prev[key] = mergeDeep(pVal, oVal);\n else prev[key] = oVal;\n });\n return prev;\n }, {});\n}\n", "/* eslint-disable indent */\n/* eslint-disable no-multi-spaces */\n\n/**\n * Configuration interface definition for **Human** library\n *\n * Contains all configurable parameters\n * @typedef Config\n */\nexport interface Config {\n /** Backend used for TFJS operations */\n backend: null | '' | 'cpu' | 'wasm' | 'webgl' | 'humangl' | 'tensorflow',\n\n /** Path to *.wasm files if backend is set to `wasm` */\n wasmPath: string,\n\n /** Print debug statements to console */\n debug: boolean,\n\n /** Perform model loading and inference concurrently or sequentially */\n async: boolean,\n\n /** What to use for `human.warmup()`\n * - warmup pre-initializes all models for faster inference but can take significant time on startup\n * - only used for `webgl` and `humangl` backends\n */\n warmup: 'none' | 'face' | 'full' | 'body',\n\n /** Base model path (typically starting with file://, http:// or https://) for all models\n * - individual modelPath values are relative to this path\n */\n modelBasePath: string,\n\n /** Cache sensitivity\n * - values 0..1 where 0.01 means reset cache if input changed more than 1%\n * - set to 0 to disable caching\n */\n cacheSensitivity: number;\n\n /** Run input through image filters before inference\n * - image filters run with near-zero latency as they are executed on the GPU\n */\n filter: {\n enabled: boolean,\n /** Resize input width\n * - if both width and height are set to 0, there is no resizing\n * - if just one is set, second one is scaled automatically\n * - if both are set, values are used as-is\n */\n width: number,\n /** Resize input height\n * - if both width and height are set to 0, there is no resizing\n * - if just one is set, second one is scaled automatically\n * - if both are set, values are used as-is\n */\n height: number,\n /** Return processed canvas imagedata in result */\n return: boolean,\n /** Flip input as mirror image */\n flip: boolean,\n /** Range: -1 (darken) to 1 (lighten) */\n brightness: number,\n /** Range: -1 (reduce contrast) to 1 (increase contrast) */\n contrast: number,\n /** Range: 0 (no sharpening) to 1 (maximum sharpening) */\n sharpness: number,\n /** Range: 0 (no blur) to N (blur radius in pixels) */\n blur: number\n /** Range: -1 (reduce saturation) to 1 (increase saturation) */\n saturation: number,\n /** Range: 0 (no change) to 360 (hue rotation in degrees) */\n hue: number,\n /** Image negative */\n negative: boolean,\n /** Image sepia colors */\n sepia: boolean,\n /** Image vintage colors */\n vintage: boolean,\n /** Image kodachrome colors */\n kodachrome: boolean,\n /** Image technicolor colors */\n technicolor: boolean,\n /** Image polaroid camera effect */\n polaroid: boolean,\n /** Range: 0 (no pixelate) to N (number of pixels to pixelate) */\n pixelate: number,\n },\n // type definition end\n\n /** Controlls gesture detection */\n gesture: {\n enabled: boolean,\n },\n\n /** Controlls and configures all face-specific options:\n * - face detection, face mesh detection, age, gender, emotion detection and face description\n * Parameters:\n * - enabled: true/false\n * - modelPath: path for each of face models\n * - minConfidence: threshold for discarding a prediction\n * - iouThreshold: ammount of overlap between two detected objects before one object is removed\n * - maxDetected: maximum number of faces detected in the input, should be set to the minimum number for performance\n * - rotation: use calculated rotated face image or just box with rotation as-is, false means higher performance, but incorrect mesh mapping on higher face angles\n * - return: return extracted face as tensor for futher user processing\n */\n face: {\n enabled: boolean,\n detector: {\n modelPath: string,\n rotation: boolean,\n maxDetected: number,\n skipFrames: number,\n minConfidence: number,\n iouThreshold: number,\n return: boolean,\n },\n mesh: {\n enabled: boolean,\n modelPath: string,\n },\n iris: {\n enabled: boolean,\n modelPath: string,\n },\n description: {\n enabled: boolean,\n modelPath: string,\n skipFrames: number,\n minConfidence: number,\n },\n emotion: {\n enabled: boolean,\n minConfidence: number,\n skipFrames: number,\n modelPath: string,\n },\n },\n\n /** Controlls and configures all body detection specific options\n * - enabled: true/false\n * - modelPath: body pose model, can be absolute path or relative to modelBasePath\n * - minConfidence: threshold for discarding a prediction\n * - maxDetected: maximum number of people detected in the input, should be set to the minimum number for performance\n */\n body: {\n enabled: boolean,\n modelPath: string,\n maxDetected: number,\n minConfidence: number,\n },\n\n /** Controlls and configures all hand detection specific options\n * - enabled: true/false\n * - landmarks: detect hand landmarks or just hand boundary box\n * - modelPath: paths for hand detector and hand skeleton models, can be absolute path or relative to modelBasePath\n * - minConfidence: threshold for discarding a prediction\n * - iouThreshold: ammount of overlap between two detected objects before one object is removed\n * - maxDetected: maximum number of hands detected in the input, should be set to the minimum number for performance\n * - rotation: use best-guess rotated hand image or just box with rotation as-is, false means higher performance, but incorrect finger mapping if hand is inverted\n */\n hand: {\n enabled: boolean,\n rotation: boolean,\n skipFrames: number,\n minConfidence: number,\n iouThreshold: number,\n maxDetected: number,\n landmarks: boolean,\n detector: {\n modelPath: string,\n },\n skeleton: {\n modelPath: string,\n },\n },\n\n /** Controlls and configures all object detection specific options\n * - enabled: true/false\n * - modelPath: object detection model, can be absolute path or relative to modelBasePath\n * - minConfidence: minimum score that detection must have to return as valid object\n * - iouThreshold: ammount of overlap between two detected objects before one object is removed\n * - maxDetected: maximum number of detections to return\n */\n object: {\n enabled: boolean,\n modelPath: string,\n minConfidence: number,\n iouThreshold: number,\n maxDetected: number,\n skipFrames: number,\n },\n}\n\nconst config: Config = {\n backend: 'webgl', // select tfjs backend to use, leave empty to use default backend\n // can be 'webgl', 'wasm', 'cpu', or 'humangl' which is a custom version of webgl\n modelBasePath: '../models/', // base path for all models\n wasmPath: '../node_modules/@tensorflow/tfjs-backend-wasm/dist/', // path for wasm binaries, only used for backend: wasm\n debug: true, // print additional status messages to console\n async: true, // execute enabled models in parallel\n warmup: 'full', // what to use for human.warmup(), can be 'none', 'face', 'full'\n // warmup pre-initializes all models for faster inference but can take\n // significant time on startup\n // only used for `webgl` and `humangl` backends\n cacheSensitivity: 0.75, // cache sensitivity\n // values 0..1 where 0.01 means reset cache if input changed more than 1%\n // set to 0 to disable caching\n filter: { // run input through image filters before inference\n // image filters run with near-zero latency as they are executed on the GPU\n enabled: true, // enable image pre-processing filters\n width: 0, // resize input width\n height: 0, // resize input height\n // if both width and height are set to 0, there is no resizing\n // if just one is set, second one is scaled automatically\n // if both are set, values are used as-is\n flip: false, // flip input as mirror image\n return: true, // return processed canvas imagedata in result\n brightness: 0, // range: -1 (darken) to 1 (lighten)\n contrast: 0, // range: -1 (reduce contrast) to 1 (increase contrast)\n sharpness: 0, // range: 0 (no sharpening) to 1 (maximum sharpening)\n blur: 0, // range: 0 (no blur) to N (blur radius in pixels)\n saturation: 0, // range: -1 (reduce saturation) to 1 (increase saturation)\n hue: 0, // range: 0 (no change) to 360 (hue rotation in degrees)\n negative: false, // image negative\n sepia: false, // image sepia colors\n vintage: false, // image vintage colors\n kodachrome: false, // image kodachrome colors\n technicolor: false, // image technicolor colors\n polaroid: false, // image polaroid camera effect\n pixelate: 0, // range: 0 (no pixelate) to N (number of pixels to pixelate)\n },\n\n gesture: {\n enabled: true, // enable gesture recognition based on model results\n },\n\n face: {\n enabled: true, // controls if specified modul is enabled\n // face.enabled is required for all face models:\n // detector, mesh, iris, age, gender, emotion\n // (note: module is not loaded until it is required)\n detector: {\n modelPath: 'blazeface.json', // detector model, can be absolute path or relative to modelBasePath\n rotation: false, // use best-guess rotated face image or just box with rotation as-is\n // false means higher performance, but incorrect mesh mapping if face angle is above 20 degrees\n // this parameter is not valid in nodejs\n maxDetected: 10, // maximum number of faces detected in the input\n // should be set to the minimum number for performance\n skipFrames: 15, // how many max frames to go without re-running the face bounding box detector\n // only used when cacheSensitivity is not zero\n // e.g., if model is running st 25 FPS, we can re-use existing bounding\n // box for updated face analysis as the head probably hasn't moved much\n // in short time (10 * 1/25 = 0.25 sec)\n minConfidence: 0.2, // threshold for discarding a prediction\n iouThreshold: 0.1, // ammount of overlap between two detected objects before one object is removed\n return: false, // return extracted face as tensor\n },\n\n mesh: {\n enabled: true,\n modelPath: 'facemesh.json', // facemesh model, can be absolute path or relative to modelBasePath\n },\n\n iris: {\n enabled: true,\n modelPath: 'iris.json', // face iris model\n // can be either absolute path or relative to modelBasePath\n },\n\n description: {\n enabled: true, // to improve accuracy of face description extraction it is\n // recommended to enable detector.rotation and mesh.enabled\n modelPath: 'faceres.json', // face description model\n // can be either absolute path or relative to modelBasePath\n skipFrames: 16, // how many max frames to go without re-running the detector\n // only used when cacheSensitivity is not zero\n minConfidence: 0.1, // threshold for discarding a prediction\n },\n\n emotion: {\n enabled: true,\n minConfidence: 0.1, // threshold for discarding a prediction\n skipFrames: 17, // how max many frames to go without re-running the detector\n // only used when cacheSensitivity is not zero\n modelPath: 'emotion.json', // face emotion model, can be absolute path or relative to modelBasePath\n },\n },\n\n body: {\n enabled: true,\n modelPath: 'movenet-lightning.json', // body model, can be absolute path or relative to modelBasePath\n // can be 'posenet', 'blazepose', 'efficientpose', 'movenet-lightning', 'movenet-thunder'\n maxDetected: 1, // maximum number of people detected in the input\n // should be set to the minimum number for performance\n // only valid for posenet as other models detects single pose\n minConfidence: 0.2, // threshold for discarding a prediction\n },\n\n hand: {\n enabled: true,\n rotation: true, // use best-guess rotated hand image or just box with rotation as-is\n // false means higher performance, but incorrect finger mapping if hand is inverted\n skipFrames: 18, // how many max frames to go without re-running the hand bounding box detector\n // only used when cacheSensitivity is not zero\n // e.g., if model is running st 25 FPS, we can re-use existing bounding\n // box for updated hand skeleton analysis as the hand probably\n // hasn't moved much in short time (10 * 1/25 = 0.25 sec)\n minConfidence: 0.1, // threshold for discarding a prediction\n iouThreshold: 0.1, // ammount of overlap between two detected objects before one object is removed\n maxDetected: 2, // maximum number of hands detected in the input\n // should be set to the minimum number for performance\n landmarks: true, // detect hand landmarks or just hand boundary box\n detector: {\n modelPath: 'handdetect.json', // hand detector model, can be absolute path or relative to modelBasePath\n },\n skeleton: {\n modelPath: 'handskeleton.json', // hand skeleton model, can be absolute path or relative to modelBasePath\n },\n },\n\n object: {\n enabled: false,\n modelPath: 'mb3-centernet.json', // experimental: object detection model, can be absolute path or relative to modelBasePath\n // can be 'mb3-centernet' or 'nanodet'\n minConfidence: 0.2, // threshold for discarding a prediction\n iouThreshold: 0.4, // ammount of overlap between two detected objects before one object is removed\n maxDetected: 10, // maximum number of objects detected in the input\n skipFrames: 19, // how many max frames to go without re-running the detector\n // only used when cacheSensitivity is not zero\n },\n};\nexport { config as defaults };\n", "/**\n * Helper function that returns basic system info\n */\nexport function info(): { platform: string, agent: string } {\n let platform;\n let agent;\n if (typeof navigator !== 'undefined') {\n const raw = navigator.userAgent.match(/\\(([^()]+)\\)/g);\n if (raw && raw[0]) {\n const platformMatch = raw[0].match(/\\(([^()]+)\\)/g);\n platform = platformMatch ? platformMatch[0].replace(/\\(|\\)/g, '') : '';\n agent = navigator.userAgent.replace(raw[0], '');\n if (platform[1]) agent = agent.replace(raw[1], '');\n agent = agent.replace(/ /g, ' ');\n }\n } else if (typeof process !== 'undefined') {\n platform = `${process.platform} ${process.arch}`;\n agent = `NodeJS ${process.version}`;\n }\n return { platform, agent };\n}\n", "/**\n * Creates tfjs bundle used by Human browser build target\n */\n\n// simplified\n// { modules: 1250, moduleBytes: 4013323, imports: 7, importBytes: 2255, outputBytes: 2991826, outputFiles: 'dist/tfjs.esm.js' }\n// export * from '@tensorflow/tfjs/dist/index.js';\n// export * from '@tensorflow/tfjs-backend-wasm';\n\n// modular\n// { modules: 1253, moduleBytes: 4029357, imports: 7, importBytes: 2285, outputBytes: 2998298, outputFiles: 'dist/tfjs.esm.js' }\n\n// get versions of all packages.\nimport * as packageBundle from '@tensorflow/tfjs/package.json';\nimport * as packageCore from '@tensorflow/tfjs-core/package.json';\nimport * as packageData from '@tensorflow/tfjs-data/package.json';\nimport * as packageLayers from '@tensorflow/tfjs-layers/package.json';\nimport * as packageConverter from '@tensorflow/tfjs-converter/package.json';\n// for backends, get version from source so it can register backend during import\nimport { version_cpu } from '@tensorflow/tfjs-backend-cpu/dist/index.js';\nimport { version_webgl } from '@tensorflow/tfjs-backend-webgl/dist/index.js';\nimport { version_wasm } from '@tensorflow/tfjs-backend-wasm/dist/index.js';\n\n// export all - compiled\nexport * from '@tensorflow/tfjs-core/dist/index.js';\nexport * from '@tensorflow/tfjs-layers/dist/index.js';\nexport * from '@tensorflow/tfjs-converter/dist/index.js';\nexport * as data from '@tensorflow/tfjs-data/dist/index.js';\nexport * from '@tensorflow/tfjs-backend-cpu/dist/index.js';\nexport * from '@tensorflow/tfjs-backend-webgl/dist/index.js';\nexport * from '@tensorflow/tfjs-backend-wasm/dist/index.js';\n\n// export all - sources\n/*\nexport * from '@tensorflow/tfjs-core/src/index';\nexport * from '@tensorflow/tfjs-layers/src/index';\nexport * from '@tensorflow/tfjs-converter/src/index';\nexport * as data from '@tensorflow/tfjs-data/src/index';\nexport * from '@tensorflow/tfjs-backend-cpu/src/index';\nexport * from '@tensorflow/tfjs-backend-webgl/src/index';\nexport * from '@tensorflow/tfjs-backend-wasm/src/index';\n*/\n\n// export versions\nexport const version = {\n tfjs: packageBundle?.version || undefined,\n 'tfjs-core': packageCore?.version || undefined,\n 'tfjs-data': packageData?.version || undefined,\n 'tfjs-layers': packageLayers?.version || undefined,\n 'tfjs-converter': packageConverter?.version || undefined,\n 'tfjs-backend-cpu': version_cpu || undefined,\n 'tfjs-backend-webgl': version_webgl || undefined,\n 'tfjs-backend-wasm': version_wasm || undefined,\n};\n// export const version = {};\n", "/**\n * Custom TFJS backend for Human based on WebGL\n * Not used by default\n */\n\nimport { log } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\n\nexport const config = {\n name: 'humangl',\n priority: 99,\n canvas: null,\n gl: null,\n width: 1024,\n height: 1024,\n webGLattr: { // https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.2\n alpha: false,\n antialias: false,\n premultipliedAlpha: false,\n preserveDrawingBuffer: false,\n depth: false,\n stencil: false,\n failIfMajorPerformanceCaveat: false,\n desynchronized: true,\n },\n};\n\nexport function register(): void {\n if (!tf.findBackend(config.name)) {\n log('backend registration:', config.name);\n try {\n config.canvas = (typeof OffscreenCanvas !== 'undefined') ? new OffscreenCanvas(config.width, config.height) : document.createElement('canvas');\n } catch (err) {\n log('error: cannot create canvas:', err);\n return;\n }\n try {\n config.gl = config.canvas.getContext('webgl2', config.webGLattr);\n } catch (err) {\n log('error: cannot get WebGL2 context:', err);\n return;\n }\n try {\n tf.setWebGLContext(2, config.gl);\n } catch (err) {\n log('error: cannot set WebGL2 context:', err);\n return;\n }\n try {\n const ctx = new tf.GPGPUContext(config.gl);\n tf.registerBackend(config.name, () => new tf.MathBackendWebGL(ctx), config.priority);\n } catch (err) {\n log('error: cannot register WebGL backend:', err);\n return;\n }\n try {\n const kernels = tf.getKernelsForBackend('webgl');\n kernels.forEach((kernelConfig) => {\n const newKernelConfig = { ...kernelConfig, backendName: config.name };\n tf.registerKernel(newKernelConfig);\n });\n } catch (err) {\n log('error: cannot update WebGL backend registration:', err);\n return;\n }\n try {\n tf.ENV.set('WEBGL_VERSION', 2);\n // tf.ENV.set('WEBGL_MAX_TEXTURE_SIZE', config.gl.getParameter(config.gl.MAX_TEXTURE_SIZE));\n // tf.ENV.set('WEBGL_FORCE_F16_TEXTURES', true);\n // tf.ENV.set('WEBGL_PACK_DEPTHWISECONV', true);\n } catch (err) {\n log('error: cannot set WebGL backend flags:', err);\n return;\n }\n log('backend registered:', config.name);\n }\n}\n", "/**\n * FaceMesh & BlazeFace Module entry point\n */\n\nimport { log, join } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\nimport * as blazeface from './blazeface';\nimport * as facepipeline from './facepipeline';\nimport * as coords from './coords';\nimport { GraphModel } from '../tfjs/types';\nimport { Face } from '../result';\n\nlet faceModels: [blazeface.BlazeFaceModel | null, GraphModel | null, GraphModel | null] = [null, null, null];\nlet facePipeline;\n\nexport async function predict(input, config): Promise {\n const predictions = await facePipeline.predict(input, config);\n const results: Array = [];\n let id = 0;\n for (const prediction of (predictions || [])) {\n if (!prediction || prediction.isDisposedInternal) continue; // guard against disposed tensors on long running operations such as pause in middle of processing\n const meshRaw = prediction.mesh.map((pt) => [\n pt[0] / input.shape[2],\n pt[1] / input.shape[1],\n pt[2] / facePipeline.meshSize,\n ]);\n const annotations = {};\n if (prediction.mesh && prediction.mesh.length > 0) {\n for (const key of Object.keys(coords.MESH_ANNOTATIONS)) annotations[key] = coords.MESH_ANNOTATIONS[key].map((index) => prediction.mesh[index]);\n }\n const clampedBox: [number, number, number, number] = prediction.box ? [\n Math.trunc(Math.max(0, prediction.box.startPoint[0])),\n Math.trunc(Math.max(0, prediction.box.startPoint[1])),\n Math.trunc(Math.min(input.shape[2], prediction.box.endPoint[0]) - Math.max(0, prediction.box.startPoint[0])),\n Math.trunc(Math.min(input.shape[1], prediction.box.endPoint[1]) - Math.max(0, prediction.box.startPoint[1])),\n ] : [0, 0, 0, 0];\n const boxRaw: [number, number, number, number] = prediction.box ? [\n prediction.box.startPoint[0] / input.shape[2],\n prediction.box.startPoint[1] / input.shape[1],\n (prediction.box.endPoint[0] - prediction.box.startPoint[0]) / input.shape[2],\n (prediction.box.endPoint[1] - prediction.box.startPoint[1]) / input.shape[1],\n ] : [0, 0, 0, 0];\n results.push({\n id: id++,\n score: Math.round(100 * prediction.faceConfidence || 100 * prediction.boxConfidence || 0) / 100,\n boxScore: Math.round(100 * prediction.boxConfidence) / 100,\n faceScore: Math.round(100 * prediction.faceConfidence) / 100,\n box: clampedBox,\n boxRaw,\n mesh: prediction.mesh,\n meshRaw,\n annotations,\n image: prediction.image,\n tensor: prediction.image,\n });\n if (prediction.coords) prediction.coords.dispose();\n }\n return results;\n}\n\nexport async function load(config): Promise<[unknown, unknown, unknown]> {\n if ((!faceModels[0] && config.face.enabled) || (!faceModels[1] && config.face.mesh.enabled) || (!faceModels[2] && config.face.iris.enabled)) {\n // @ts-ignore type mismatch for GraphModel\n faceModels = await Promise.all([\n (!faceModels[0] && config.face.enabled) ? blazeface.load(config) : null,\n (!faceModels[1] && config.face.mesh.enabled) ? tf.loadGraphModel(join(config.modelBasePath, config.face.mesh.modelPath), { fromTFHub: config.face.mesh.modelPath.includes('tfhub.dev') }) : null,\n (!faceModels[2] && config.face.iris.enabled) ? tf.loadGraphModel(join(config.modelBasePath, config.face.iris.modelPath), { fromTFHub: config.face.iris.modelPath.includes('tfhub.dev') }) : null,\n ]);\n if (config.face.mesh.enabled) {\n if (!faceModels[1] || !faceModels[1]['modelUrl']) log('load model failed:', config.face.mesh.modelPath);\n else if (config.debug) log('load model:', faceModels[1]['modelUrl']);\n }\n if (config.face.iris.enabled) {\n if (!faceModels[2] || !faceModels[2]['modelUrl']) log('load model failed:', config.face.iris.modelPath);\n else if (config.debug) log('load model:', faceModels[2]['modelUrl']);\n }\n } else if (config.debug) {\n if (faceModels[0]) log('cached model:', faceModels[0].model['modelUrl']);\n if (faceModels[1]) log('cached model:', faceModels[1]['modelUrl']);\n if (faceModels[2]) log('cached model:', faceModels[2]['modelUrl']);\n }\n facePipeline = new facepipeline.Pipeline(faceModels[0], faceModels[1], faceModels[2]);\n return faceModels;\n}\n\nexport const triangulation = coords.TRI468;\nexport const uvmap = coords.UV468;\n", "import * as tf from '../../dist/tfjs.esm.js';\n\nexport function scaleBoxCoordinates(box, factor) {\n const startPoint = [box.startPoint[0] * factor[0], box.startPoint[1] * factor[1]];\n const endPoint = [box.endPoint[0] * factor[0], box.endPoint[1] * factor[1]];\n return { startPoint, endPoint };\n}\n\nexport function getBoxSize(box) {\n return [\n Math.abs(box.endPoint[0] - box.startPoint[0]),\n Math.abs(box.endPoint[1] - box.startPoint[1]),\n ];\n}\n\nexport function getBoxCenter(box) {\n return [\n box.startPoint[0] + (box.endPoint[0] - box.startPoint[0]) / 2,\n box.startPoint[1] + (box.endPoint[1] - box.startPoint[1]) / 2,\n ];\n}\n\nexport function cutBoxFromImageAndResize(box, image, cropSize) {\n const h = image.shape[1];\n const w = image.shape[2];\n const boxes = [[\n box.startPoint[1] / h,\n box.startPoint[0] / w,\n box.endPoint[1] / h,\n box.endPoint[0] / w,\n ]];\n return tf.image.cropAndResize(image, boxes, [0], cropSize);\n}\n\nexport function enlargeBox(box, factor = 1.5) {\n const center = getBoxCenter(box);\n const size = getBoxSize(box);\n const newHalfSize = [factor * size[0] / 2, factor * size[1] / 2];\n const startPoint = [center[0] - newHalfSize[0], center[1] - newHalfSize[1]];\n const endPoint = [center[0] + newHalfSize[0], center[1] + newHalfSize[1]];\n return { startPoint, endPoint, landmarks: box.landmarks };\n}\n\nexport function squarifyBox(box) {\n const centers = getBoxCenter(box);\n const size = getBoxSize(box);\n const maxEdge = Math.max(...size);\n const halfSize = maxEdge / 2;\n const startPoint = [Math.round(centers[0] - halfSize), Math.round(centers[1] - halfSize)];\n const endPoint = [Math.round(centers[0] + halfSize), Math.round(centers[1] + halfSize)];\n return { startPoint, endPoint, landmarks: box.landmarks };\n}\n\nexport function calculateLandmarksBoundingBox(landmarks) {\n const xs = landmarks.map((d) => d[0]);\n const ys = landmarks.map((d) => d[1]);\n const startPoint = [Math.min(...xs), Math.min(...ys)];\n const endPoint = [Math.max(...xs), Math.max(...ys)];\n return { startPoint, endPoint, landmarks };\n}\n\nexport const disposeBox = (t) => {\n t.startPoint.dispose();\n t.endPoint.dispose();\n};\n\nexport const createBox = (startEndTensor) => ({\n startPoint: tf.slice(startEndTensor, [0, 0], [-1, 2]),\n endPoint: tf.slice(startEndTensor, [0, 2], [-1, 2]),\n});\n", "export const IDENTITY_MATRIX = [[1, 0, 0], [0, 1, 0], [0, 0, 1]];\n/**\n * Normalizes the provided angle to the range -pi to pi.\n * @param angle The angle in radians to be normalized.\n */\nexport function normalizeRadians(angle) {\n return angle - 2 * Math.PI * Math.floor((angle + Math.PI) / (2 * Math.PI));\n}\n\n/**\n * Computes the angle of rotation between two anchor points.\n * @param point1 First anchor point\n * @param point2 Second anchor point\n */\nexport function computeRotation(point1, point2) {\n const radians = Math.PI / 2 - Math.atan2(-(point2[1] - point1[1]), point2[0] - point1[0]);\n return normalizeRadians(radians);\n}\n\nexport function radToDegrees(rad) {\n return rad * 180 / Math.PI;\n}\n\nexport function buildTranslationMatrix(x, y) {\n return [[1, 0, x], [0, 1, y], [0, 0, 1]];\n}\n\nexport function dot(v1, v2) {\n let product = 0;\n for (let i = 0; i < v1.length; i++) {\n product += v1[i] * v2[i];\n }\n return product;\n}\n\nexport function getColumnFrom2DArr(arr, columnIndex) {\n const column: Array = [];\n for (let i = 0; i < arr.length; i++) {\n column.push(arr[i][columnIndex]);\n }\n return column;\n}\n\nexport function multiplyTransformMatrices(mat1, mat2) {\n const product: Array = [];\n const size = mat1.length;\n for (let row = 0; row < size; row++) {\n product.push([]);\n for (let col = 0; col < size; col++) {\n product[row].push(dot(mat1[row], getColumnFrom2DArr(mat2, col)));\n }\n }\n return product;\n}\n\nexport function buildRotationMatrix(rotation, center) {\n const cosA = Math.cos(rotation);\n const sinA = Math.sin(rotation);\n const rotationMatrix = [[cosA, -sinA, 0], [sinA, cosA, 0], [0, 0, 1]];\n const translationMatrix = buildTranslationMatrix(center[0], center[1]);\n const translationTimesRotation = multiplyTransformMatrices(translationMatrix, rotationMatrix);\n const negativeTranslationMatrix = buildTranslationMatrix(-center[0], -center[1]);\n return multiplyTransformMatrices(translationTimesRotation, negativeTranslationMatrix);\n}\n\nexport function invertTransformMatrix(matrix) {\n const rotationComponent = [[matrix[0][0], matrix[1][0]], [matrix[0][1], matrix[1][1]]];\n const translationComponent = [matrix[0][2], matrix[1][2]];\n const invertedTranslation = [\n -dot(rotationComponent[0], translationComponent),\n -dot(rotationComponent[1], translationComponent),\n ];\n return [\n rotationComponent[0].concat(invertedTranslation[0]),\n rotationComponent[1].concat(invertedTranslation[1]),\n [0, 0, 1],\n ];\n}\n\nexport function rotatePoint(homogeneousCoordinate, rotationMatrix) {\n return [\n dot(homogeneousCoordinate, rotationMatrix[0]),\n dot(homogeneousCoordinate, rotationMatrix[1]),\n ];\n}\n\nexport function xyDistanceBetweenPoints(a, b) {\n return Math.sqrt(((a[0] - b[0]) ** 2) + ((a[1] - b[1]) ** 2));\n}\n\nexport function generateAnchors(inputSize) {\n const spec = { strides: [inputSize / 16, inputSize / 8], anchors: [2, 6] };\n const anchors: Array<[number, number]> = [];\n for (let i = 0; i < spec.strides.length; i++) {\n const stride = spec.strides[i];\n const gridRows = Math.floor((inputSize + stride - 1) / stride);\n const gridCols = Math.floor((inputSize + stride - 1) / stride);\n const anchorsNum = spec.anchors[i];\n for (let gridY = 0; gridY < gridRows; gridY++) {\n const anchorY = stride * (gridY + 0.5);\n for (let gridX = 0; gridX < gridCols; gridX++) {\n const anchorX = stride * (gridX + 0.5);\n for (let n = 0; n < anchorsNum; n++) {\n anchors.push([anchorX, anchorY]);\n }\n }\n }\n }\n return anchors;\n}\n", "import { log, join } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\nimport * as box from './box';\nimport * as util from './util';\nimport { Config } from '../config';\nimport { Tensor, GraphModel } from '../tfjs/types';\n\nconst keypointsCount = 6;\n\nfunction decodeBounds(boxOutputs, anchors, inputSize) {\n const boxStarts = tf.slice(boxOutputs, [0, 1], [-1, 2]);\n const centers = tf.add(boxStarts, anchors);\n const boxSizes = tf.slice(boxOutputs, [0, 3], [-1, 2]);\n const boxSizesNormalized = tf.div(boxSizes, inputSize);\n const centersNormalized = tf.div(centers, inputSize);\n const halfBoxSize = tf.div(boxSizesNormalized, 2);\n const starts = tf.sub(centersNormalized, halfBoxSize);\n const ends = tf.add(centersNormalized, halfBoxSize);\n const startNormalized = tf.mul(starts, inputSize);\n const endNormalized = tf.mul(ends, inputSize);\n const concatAxis = 1;\n return tf.concat2d([startNormalized, endNormalized], concatAxis);\n}\n\nexport class BlazeFaceModel {\n model: GraphModel;\n anchorsData: [number, number][];\n anchors: Tensor;\n inputSize: number;\n config: Config;\n\n constructor(model, config) {\n this.model = model;\n this.anchorsData = util.generateAnchors(model.inputs[0].shape[1]);\n this.anchors = tf.tensor2d(this.anchorsData);\n this.inputSize = model.inputs[0].shape[2];\n this.config = config;\n }\n\n async getBoundingBoxes(inputImage) {\n // sanity check on input\n if ((!inputImage) || (inputImage.isDisposedInternal) || (inputImage.shape.length !== 4) || (inputImage.shape[1] < 1) || (inputImage.shape[2] < 1)) return null;\n const [batch, boxes, scores] = tf.tidy(() => {\n const resizedImage = inputImage.resizeBilinear([this.inputSize, this.inputSize]);\n const normalizedImage = resizedImage.div(127.5).sub(0.5);\n const res = this.model.execute(normalizedImage);\n let batchOut;\n if (Array.isArray(res)) { // are we using tfhub or pinto converted model?\n const sorted = res.sort((a, b) => a.size - b.size);\n const concat384 = tf.concat([sorted[0], sorted[2]], 2); // dim: 384, 1 + 16\n const concat512 = tf.concat([sorted[1], sorted[3]], 2); // dim: 512, 1 + 16\n const concat = tf.concat([concat512, concat384], 1);\n batchOut = concat.squeeze(0);\n } else {\n batchOut = res.squeeze(); // when using tfhub model\n }\n const boxesOut = decodeBounds(batchOut, this.anchors, [this.inputSize, this.inputSize]);\n const logits = tf.slice(batchOut, [0, 0], [-1, 1]);\n const scoresOut = tf.sigmoid(logits).squeeze().dataSync();\n return [batchOut, boxesOut, scoresOut];\n });\n const nmsTensor = await tf.image.nonMaxSuppressionAsync(boxes, scores, this.config.face.detector.maxDetected, this.config.face.detector.iouThreshold, this.config.face.detector.minConfidence);\n const nms = nmsTensor.arraySync();\n nmsTensor.dispose();\n const annotatedBoxes: Array<{ box: { startPoint: Tensor, endPoint: Tensor }, landmarks: Tensor, anchor: number[], confidence: number }> = [];\n for (let i = 0; i < nms.length; i++) {\n const confidence = scores[nms[i]];\n if (confidence > this.config.face.detector.minConfidence) {\n const boundingBox = tf.slice(boxes, [nms[i], 0], [1, -1]);\n const localBox = box.createBox(boundingBox);\n boundingBox.dispose();\n const anchor = this.anchorsData[nms[i]];\n const landmarks = tf.tidy(() => tf.slice(batch, [nms[i], keypointsCount - 1], [1, -1]).squeeze().reshape([keypointsCount, -1]));\n annotatedBoxes.push({ box: localBox, landmarks, anchor, confidence });\n }\n }\n // boundingBoxes.forEach((t) => t.dispose());\n batch.dispose();\n boxes.dispose();\n // scores.dispose();\n return {\n boxes: annotatedBoxes,\n scaleFactor: [inputImage.shape[2] / this.inputSize, inputImage.shape[1] / this.inputSize],\n };\n }\n}\n\nexport async function load(config) {\n const model = await tf.loadGraphModel(join(config.modelBasePath, config.face.detector.modelPath), { fromTFHub: config.face.detector.modelPath.includes('tfhub.dev') });\n const blazeFace = new BlazeFaceModel(model, config);\n if (!model || !model.modelUrl) log('load model failed:', config.face.detector.modelPath);\n else if (config.debug) log('load model:', model.modelUrl);\n return blazeFace;\n}\n", "export const MESH_ANNOTATIONS = {\n silhouette: [\n 10, 338, 297, 332, 284, 251, 389, 356, 454, 323, 361, 288,\n 397, 365, 379, 378, 400, 377, 152, 148, 176, 149, 150, 136,\n 172, 58, 132, 93, 234, 127, 162, 21, 54, 103, 67, 109,\n ],\n lipsUpperOuter: [61, 185, 40, 39, 37, 0, 267, 269, 270, 409, 291],\n lipsLowerOuter: [146, 91, 181, 84, 17, 314, 405, 321, 375, 291],\n lipsUpperInner: [78, 191, 80, 81, 82, 13, 312, 311, 310, 415, 308],\n lipsLowerInner: [78, 95, 88, 178, 87, 14, 317, 402, 318, 324, 308],\n rightEyeUpper0: [246, 161, 160, 159, 158, 157, 173],\n rightEyeLower0: [33, 7, 163, 144, 145, 153, 154, 155, 133],\n rightEyeUpper1: [247, 30, 29, 27, 28, 56, 190],\n rightEyeLower1: [130, 25, 110, 24, 23, 22, 26, 112, 243],\n rightEyeUpper2: [113, 225, 224, 223, 222, 221, 189],\n rightEyeLower2: [226, 31, 228, 229, 230, 231, 232, 233, 244],\n rightEyeLower3: [143, 111, 117, 118, 119, 120, 121, 128, 245],\n rightEyebrowUpper: [156, 70, 63, 105, 66, 107, 55, 193],\n rightEyebrowLower: [35, 124, 46, 53, 52, 65],\n rightEyeIris: [473, 474, 475, 476, 477],\n leftEyeUpper0: [466, 388, 387, 386, 385, 384, 398],\n leftEyeLower0: [263, 249, 390, 373, 374, 380, 381, 382, 362],\n leftEyeUpper1: [467, 260, 259, 257, 258, 286, 414],\n leftEyeLower1: [359, 255, 339, 254, 253, 252, 256, 341, 463],\n leftEyeUpper2: [342, 445, 444, 443, 442, 441, 413],\n leftEyeLower2: [446, 261, 448, 449, 450, 451, 452, 453, 464],\n leftEyeLower3: [372, 340, 346, 347, 348, 349, 350, 357, 465],\n leftEyebrowUpper: [383, 300, 293, 334, 296, 336, 285, 417],\n leftEyebrowLower: [265, 353, 276, 283, 282, 295],\n leftEyeIris: [468, 469, 470, 471, 472],\n midwayBetweenEyes: [168],\n noseTip: [1],\n noseBottom: [2],\n noseRightCorner: [98],\n noseLeftCorner: [327],\n rightCheek: [205],\n leftCheek: [425],\n};\n\nexport const MESH_TO_IRIS_INDICES_MAP = [ // A mapping from facemesh model keypoints to iris model keypoints.\n { key: 'EyeUpper0', indices: [9, 10, 11, 12, 13, 14, 15] },\n { key: 'EyeUpper1', indices: [25, 26, 27, 28, 29, 30, 31] },\n { key: 'EyeUpper2', indices: [41, 42, 43, 44, 45, 46, 47] },\n { key: 'EyeLower0', indices: [0, 1, 2, 3, 4, 5, 6, 7, 8] },\n { key: 'EyeLower1', indices: [16, 17, 18, 19, 20, 21, 22, 23, 24] },\n { key: 'EyeLower2', indices: [32, 33, 34, 35, 36, 37, 38, 39, 40] },\n { key: 'EyeLower3', indices: [54, 55, 56, 57, 58, 59, 60, 61, 62] },\n // { key: 'EyebrowUpper', indices: [63, 64, 65, 66, 67, 68, 69, 70] },\n // { key: 'EyebrowLower', indices: [48, 49, 50, 51, 52, 53] },\n];\n\nexport const UV468 = [\n [0.499976992607117, 0.652534008026123],\n [0.500025987625122, 0.547487020492554],\n [0.499974012374878, 0.602371990680695],\n [0.482113003730774, 0.471979022026062],\n [0.500150978565216, 0.527155995368958],\n [0.499909996986389, 0.498252987861633],\n [0.499523013830185, 0.40106201171875],\n [0.289712011814117, 0.380764007568359],\n [0.499954998493195, 0.312398016452789],\n [0.499987006187439, 0.269918978214264],\n [0.500023007392883, 0.107050001621246],\n [0.500023007392883, 0.666234016418457],\n [0.5000159740448, 0.679224014282227],\n [0.500023007392883, 0.692348003387451],\n [0.499976992607117, 0.695277988910675],\n [0.499976992607117, 0.70593398809433],\n [0.499976992607117, 0.719385027885437],\n [0.499976992607117, 0.737019002437592],\n [0.499967992305756, 0.781370997428894],\n [0.499816000461578, 0.562981009483337],\n [0.473773002624512, 0.573909997940063],\n [0.104906998574734, 0.254140973091125],\n [0.365929991006851, 0.409575998783112],\n [0.338757991790771, 0.41302502155304],\n [0.311120003461838, 0.409460008144379],\n [0.274657994508743, 0.389131009578705],\n [0.393361985683441, 0.403706014156342],\n [0.345234006643295, 0.344011008739471],\n [0.370094001293182, 0.346076011657715],\n [0.319321990013123, 0.347265005111694],\n [0.297903001308441, 0.353591024875641],\n [0.24779200553894, 0.410809993743896],\n [0.396889001131058, 0.842755019664764],\n [0.280097991228104, 0.375599980354309],\n [0.106310002505779, 0.399955987930298],\n [0.2099249958992, 0.391353011131287],\n [0.355807989835739, 0.534406006336212],\n [0.471751004457474, 0.65040397644043],\n [0.474155008792877, 0.680191993713379],\n [0.439785003662109, 0.657229006290436],\n [0.414617002010345, 0.66654098033905],\n [0.450374007225037, 0.680860996246338],\n [0.428770989179611, 0.682690978050232],\n [0.374971002340317, 0.727805018424988],\n [0.486716985702515, 0.547628998756409],\n [0.485300987958908, 0.527395009994507],\n [0.257764995098114, 0.314490020275116],\n [0.401223003864288, 0.455172002315521],\n [0.429818987846375, 0.548614978790283],\n [0.421351999044418, 0.533740997314453],\n [0.276895999908447, 0.532056987285614],\n [0.483370006084442, 0.499586999416351],\n [0.33721199631691, 0.282882988452911],\n [0.296391993761063, 0.293242990970612],\n [0.169294998049736, 0.193813979625702],\n [0.447580009698868, 0.302609980106354],\n [0.392390012741089, 0.353887975215912],\n [0.354490011930466, 0.696784019470215],\n [0.067304998636246, 0.730105042457581],\n [0.442739009857178, 0.572826027870178],\n [0.457098007202148, 0.584792017936707],\n [0.381974011659622, 0.694710969924927],\n [0.392388999462128, 0.694203019142151],\n [0.277076005935669, 0.271932005882263],\n [0.422551989555359, 0.563233017921448],\n [0.385919004678726, 0.281364023685455],\n [0.383103013038635, 0.255840003490448],\n [0.331431001424789, 0.119714021682739],\n [0.229923993349075, 0.232002973556519],\n [0.364500999450684, 0.189113974571228],\n [0.229622006416321, 0.299540996551514],\n [0.173287004232407, 0.278747975826263],\n [0.472878992557526, 0.666198015213013],\n [0.446828007698059, 0.668527007102966],\n [0.422762006521225, 0.673889994621277],\n [0.445307999849319, 0.580065965652466],\n [0.388103008270264, 0.693961024284363],\n [0.403039008378983, 0.706539988517761],\n [0.403629004955292, 0.693953037261963],\n [0.460041999816895, 0.557139039039612],\n [0.431158006191254, 0.692366003990173],\n [0.452181994915009, 0.692366003990173],\n [0.475387006998062, 0.692366003990173],\n [0.465828001499176, 0.779190003871918],\n [0.472328990697861, 0.736225962638855],\n [0.473087012767792, 0.717857003211975],\n [0.473122000694275, 0.704625964164734],\n [0.473033010959625, 0.695277988910675],\n [0.427942007780075, 0.695277988910675],\n [0.426479011774063, 0.703539967536926],\n [0.423162013292313, 0.711845993995667],\n [0.4183090031147, 0.720062971115112],\n [0.390094995498657, 0.639572978019714],\n [0.013953999616206, 0.560034036636353],\n [0.499913990497589, 0.58014702796936],\n [0.413199990987778, 0.69539999961853],\n [0.409626007080078, 0.701822996139526],\n [0.468080013990402, 0.601534962654114],\n [0.422728985548019, 0.585985004901886],\n [0.463079988956451, 0.593783974647522],\n [0.37211999297142, 0.47341400384903],\n [0.334562003612518, 0.496073007583618],\n [0.411671012639999, 0.546965003013611],\n [0.242175996303558, 0.14767599105835],\n [0.290776997804642, 0.201445996761322],\n [0.327338010072708, 0.256527006626129],\n [0.399509996175766, 0.748921036720276],\n [0.441727995872498, 0.261676013469696],\n [0.429764986038208, 0.187834024429321],\n [0.412198007106781, 0.108901023864746],\n [0.288955003023148, 0.398952007293701],\n [0.218936994671822, 0.435410976409912],\n [0.41278201341629, 0.398970007896423],\n [0.257135003805161, 0.355440020561218],\n [0.427684992551804, 0.437960982322693],\n [0.448339998722076, 0.536936044692993],\n [0.178560003638268, 0.45755398273468],\n [0.247308000922203, 0.457193970680237],\n [0.286267012357712, 0.467674970626831],\n [0.332827985286713, 0.460712015628815],\n [0.368755996227264, 0.447206974029541],\n [0.398963987827301, 0.432654976844788],\n [0.476410001516342, 0.405806005001068],\n [0.189241006970406, 0.523923993110657],\n [0.228962004184723, 0.348950982093811],\n [0.490725994110107, 0.562400996685028],\n [0.404670000076294, 0.485132992267609],\n [0.019469000399113, 0.401564002037048],\n [0.426243007183075, 0.420431017875671],\n [0.396993011236191, 0.548797011375427],\n [0.266469985246658, 0.376977026462555],\n [0.439121007919312, 0.51895797252655],\n [0.032313998788595, 0.644356966018677],\n [0.419054001569748, 0.387154996395111],\n [0.462783008813858, 0.505746960639954],\n [0.238978996872902, 0.779744982719421],\n [0.198220998048782, 0.831938028335571],\n [0.107550002634525, 0.540755033493042],\n [0.183610007166862, 0.740257024765015],\n [0.134409993886948, 0.333683013916016],\n [0.385764002799988, 0.883153975009918],\n [0.490967005491257, 0.579378008842468],\n [0.382384985685349, 0.508572995662689],\n [0.174399003386497, 0.397670984268188],\n [0.318785011768341, 0.39623498916626],\n [0.343364000320435, 0.400596976280212],\n [0.396100014448166, 0.710216999053955],\n [0.187885001301765, 0.588537991046906],\n [0.430987000465393, 0.944064974784851],\n [0.318993002176285, 0.898285031318665],\n [0.266247987747192, 0.869701027870178],\n [0.500023007392883, 0.190576016902924],\n [0.499976992607117, 0.954452991485596],\n [0.366169989109039, 0.398822009563446],\n [0.393207013607025, 0.39553701877594],\n [0.410373002290726, 0.391080021858215],\n [0.194993004202843, 0.342101991176605],\n [0.388664990663528, 0.362284004688263],\n [0.365961998701096, 0.355970978736877],\n [0.343364000320435, 0.355356991291046],\n [0.318785011768341, 0.35834002494812],\n [0.301414996385574, 0.363156020641327],\n [0.058132998645306, 0.319076001644135],\n [0.301414996385574, 0.387449026107788],\n [0.499987989664078, 0.618434011936188],\n [0.415838003158569, 0.624195992946625],\n [0.445681989192963, 0.566076993942261],\n [0.465844005346298, 0.620640993118286],\n [0.49992299079895, 0.351523995399475],\n [0.288718998432159, 0.819945991039276],\n [0.335278987884521, 0.852819979190826],\n [0.440512001514435, 0.902418971061707],\n [0.128294005990028, 0.791940987110138],\n [0.408771991729736, 0.373893976211548],\n [0.455606997013092, 0.451801002025604],\n [0.499877005815506, 0.908990025520325],\n [0.375436991453171, 0.924192011356354],\n [0.11421000212431, 0.615022003650665],\n [0.448662012815475, 0.695277988910675],\n [0.4480200111866, 0.704632043838501],\n [0.447111994028091, 0.715808033943176],\n [0.444831997156143, 0.730794012546539],\n [0.430011987686157, 0.766808986663818],\n [0.406787008047104, 0.685672998428345],\n [0.400738000869751, 0.681069016456604],\n [0.392399996519089, 0.677703022956848],\n [0.367855995893478, 0.663918972015381],\n [0.247923001646996, 0.601333022117615],\n [0.452769994735718, 0.420849978923798],\n [0.43639200925827, 0.359887003898621],\n [0.416164010763168, 0.368713974952698],\n [0.413385987281799, 0.692366003990173],\n [0.228018000721931, 0.683571994304657],\n [0.468268007040024, 0.352671027183533],\n [0.411361992359161, 0.804327011108398],\n [0.499989002943039, 0.469825029373169],\n [0.479153990745544, 0.442654013633728],\n [0.499974012374878, 0.439637005329132],\n [0.432112008333206, 0.493588984012604],\n [0.499886006116867, 0.866917014122009],\n [0.49991300702095, 0.821729004383087],\n [0.456548988819122, 0.819200992584229],\n [0.344549000263214, 0.745438992977142],\n [0.37890899181366, 0.574010014533997],\n [0.374292999505997, 0.780184984207153],\n [0.319687992334366, 0.570737957954407],\n [0.357154995203018, 0.604269981384277],\n [0.295284003019333, 0.621580958366394],\n [0.447750002145767, 0.862477004528046],\n [0.410986006259918, 0.508723020553589],\n [0.31395098567009, 0.775308012962341],\n [0.354128003120422, 0.812552988529205],\n [0.324548006057739, 0.703992962837219],\n [0.189096003770828, 0.646299958229065],\n [0.279776990413666, 0.71465802192688],\n [0.1338230073452, 0.682700991630554],\n [0.336768001317978, 0.644733011722565],\n [0.429883986711502, 0.466521978378296],\n [0.455527991056442, 0.548622965812683],\n [0.437114000320435, 0.558896005153656],\n [0.467287987470627, 0.529924988746643],\n [0.414712011814117, 0.335219979286194],\n [0.37704598903656, 0.322777986526489],\n [0.344107985496521, 0.320150971412659],\n [0.312875986099243, 0.32233202457428],\n [0.283526003360748, 0.333190023899078],\n [0.241245999932289, 0.382785975933075],\n [0.102986000478268, 0.468762993812561],\n [0.267612010240555, 0.424560010433197],\n [0.297879010438919, 0.433175981044769],\n [0.333433985710144, 0.433878004550934],\n [0.366427004337311, 0.426115989685059],\n [0.396012008190155, 0.416696012020111],\n [0.420121014118195, 0.41022801399231],\n [0.007561000064015, 0.480777025222778],\n [0.432949006557465, 0.569517970085144],\n [0.458638995885849, 0.479089021682739],\n [0.473466008901596, 0.545744001865387],\n [0.476087987422943, 0.563830018043518],\n [0.468472003936768, 0.555056989192963],\n [0.433990985155106, 0.582361996173859],\n [0.483518004417419, 0.562983989715576],\n [0.482482999563217, 0.57784903049469],\n [0.42645001411438, 0.389798998832703],\n [0.438998997211456, 0.39649498462677],\n [0.450067013502121, 0.400434017181396],\n [0.289712011814117, 0.368252992630005],\n [0.276670008897781, 0.363372981548309],\n [0.517862021923065, 0.471948027610779],\n [0.710287988185883, 0.380764007568359],\n [0.526226997375488, 0.573909997940063],\n [0.895093023777008, 0.254140973091125],\n [0.634069979190826, 0.409575998783112],\n [0.661242008209229, 0.41302502155304],\n [0.688880026340485, 0.409460008144379],\n [0.725341975688934, 0.389131009578705],\n [0.606630027294159, 0.40370500087738],\n [0.654766023159027, 0.344011008739471],\n [0.629905998706818, 0.346076011657715],\n [0.680678009986877, 0.347265005111694],\n [0.702096998691559, 0.353591024875641],\n [0.75221198797226, 0.410804986953735],\n [0.602918028831482, 0.842862963676453],\n [0.719901978969574, 0.375599980354309],\n [0.893692970275879, 0.399959981441498],\n [0.790081977844238, 0.391354024410248],\n [0.643998026847839, 0.534487962722778],\n [0.528249025344849, 0.65040397644043],\n [0.525849997997284, 0.680191040039062],\n [0.560214996337891, 0.657229006290436],\n [0.585384011268616, 0.66654098033905],\n [0.549625992774963, 0.680860996246338],\n [0.57122802734375, 0.682691991329193],\n [0.624852001667023, 0.72809898853302],\n [0.513050019741058, 0.547281980514526],\n [0.51509702205658, 0.527251958847046],\n [0.742246985435486, 0.314507007598877],\n [0.598631024360657, 0.454979002475739],\n [0.570338010787964, 0.548575043678284],\n [0.578631997108459, 0.533622980117798],\n [0.723087012767792, 0.532054007053375],\n [0.516445994377136, 0.499638974666595],\n [0.662801027297974, 0.282917976379395],\n [0.70362401008606, 0.293271005153656],\n [0.830704987049103, 0.193813979625702],\n [0.552385985851288, 0.302568018436432],\n [0.607609987258911, 0.353887975215912],\n [0.645429015159607, 0.696707010269165],\n [0.932694971561432, 0.730105042457581],\n [0.557260990142822, 0.572826027870178],\n [0.542901992797852, 0.584792017936707],\n [0.6180260181427, 0.694710969924927],\n [0.607590973377228, 0.694203019142151],\n [0.722943007946014, 0.271963000297546],\n [0.577413976192474, 0.563166975975037],\n [0.614082992076874, 0.281386971473694],\n [0.616907000541687, 0.255886018276215],\n [0.668509006500244, 0.119913995265961],\n [0.770092010498047, 0.232020974159241],\n [0.635536015033722, 0.189248979091644],\n [0.77039098739624, 0.299556016921997],\n [0.826722025871277, 0.278755009174347],\n [0.527121007442474, 0.666198015213013],\n [0.553171992301941, 0.668527007102966],\n [0.577238023281097, 0.673889994621277],\n [0.554691970348358, 0.580065965652466],\n [0.611896991729736, 0.693961024284363],\n [0.59696102142334, 0.706539988517761],\n [0.596370995044708, 0.693953037261963],\n [0.539958000183105, 0.557139039039612],\n [0.568841993808746, 0.692366003990173],\n [0.547818005084991, 0.692366003990173],\n [0.52461302280426, 0.692366003990173],\n [0.534089982509613, 0.779141008853912],\n [0.527670979499817, 0.736225962638855],\n [0.526912987232208, 0.717857003211975],\n [0.526877999305725, 0.704625964164734],\n [0.526966989040375, 0.695277988910675],\n [0.572058022022247, 0.695277988910675],\n [0.573521018028259, 0.703539967536926],\n [0.57683801651001, 0.711845993995667],\n [0.581691026687622, 0.720062971115112],\n [0.609944999217987, 0.639909982681274],\n [0.986046016216278, 0.560034036636353],\n [0.5867999792099, 0.69539999961853],\n [0.590372025966644, 0.701822996139526],\n [0.531915009021759, 0.601536989212036],\n [0.577268004417419, 0.585934996604919],\n [0.536915004253387, 0.593786001205444],\n [0.627542972564697, 0.473352015018463],\n [0.665585994720459, 0.495950996875763],\n [0.588353991508484, 0.546862006187439],\n [0.757824003696442, 0.14767599105835],\n [0.709249973297119, 0.201507985591888],\n [0.672684013843536, 0.256581008434296],\n [0.600408971309662, 0.74900496006012],\n [0.55826598405838, 0.261672019958496],\n [0.570303976535797, 0.187870979309082],\n [0.588165998458862, 0.109044015407562],\n [0.711045026779175, 0.398952007293701],\n [0.781069993972778, 0.435405015945435],\n [0.587247014045715, 0.398931980133057],\n [0.742869973182678, 0.355445981025696],\n [0.572156012058258, 0.437651991844177],\n [0.55186802148819, 0.536570012569427],\n [0.821442008018494, 0.457556009292603],\n [0.752701997756958, 0.457181990146637],\n [0.71375697851181, 0.467626988887787],\n [0.66711300611496, 0.460672974586487],\n [0.631101012229919, 0.447153985500336],\n [0.6008620262146, 0.432473003864288],\n [0.523481011390686, 0.405627012252808],\n [0.810747981071472, 0.523926019668579],\n [0.771045982837677, 0.348959028720856],\n [0.509127020835876, 0.562718033790588],\n [0.595292985439301, 0.485023975372314],\n [0.980530977249146, 0.401564002037048],\n [0.573499977588654, 0.420000016689301],\n [0.602994978427887, 0.548687994480133],\n [0.733529984951019, 0.376977026462555],\n [0.560611009597778, 0.519016981124878],\n [0.967685997486115, 0.644356966018677],\n [0.580985009670258, 0.387160003185272],\n [0.537728011608124, 0.505385041236877],\n [0.760966002941132, 0.779752969741821],\n [0.801778972148895, 0.831938028335571],\n [0.892440974712372, 0.54076099395752],\n [0.816350996494293, 0.740260004997253],\n [0.865594983100891, 0.333687007427216],\n [0.614073991775513, 0.883246004581451],\n [0.508952975273132, 0.579437971115112],\n [0.617941975593567, 0.508316040039062],\n [0.825608015060425, 0.397674977779388],\n [0.681214988231659, 0.39623498916626],\n [0.656635999679565, 0.400596976280212],\n [0.603900015354156, 0.710216999053955],\n [0.81208598613739, 0.588539004325867],\n [0.56801301240921, 0.944564998149872],\n [0.681007981300354, 0.898285031318665],\n [0.733752012252808, 0.869701027870178],\n [0.633830010890961, 0.398822009563446],\n [0.606792986392975, 0.39553701877594],\n [0.589659988880157, 0.391062021255493],\n [0.805015981197357, 0.342108011245728],\n [0.611334979534149, 0.362284004688263],\n [0.634037971496582, 0.355970978736877],\n [0.656635999679565, 0.355356991291046],\n [0.681214988231659, 0.35834002494812],\n [0.698584973812103, 0.363156020641327],\n [0.941866993904114, 0.319076001644135],\n [0.698584973812103, 0.387449026107788],\n [0.584177017211914, 0.624107003211975],\n [0.554318010807037, 0.566076993942261],\n [0.534153997898102, 0.62064003944397],\n [0.711217999458313, 0.819975018501282],\n [0.664629995822906, 0.852871000766754],\n [0.559099972248077, 0.902631998062134],\n [0.871706008911133, 0.791940987110138],\n [0.591234028339386, 0.373893976211548],\n [0.544341027736664, 0.451583981513977],\n [0.624562978744507, 0.924192011356354],\n [0.88577002286911, 0.615028977394104],\n [0.551338016986847, 0.695277988910675],\n [0.551980018615723, 0.704632043838501],\n [0.552887976169586, 0.715808033943176],\n [0.555167973041534, 0.730794012546539],\n [0.569944024085999, 0.767035007476807],\n [0.593203008174896, 0.685675978660583],\n [0.599261999130249, 0.681069016456604],\n [0.607599973678589, 0.677703022956848],\n [0.631937980651855, 0.663500010967255],\n [0.752032995223999, 0.601315021514893],\n [0.547226011753082, 0.420395016670227],\n [0.563543975353241, 0.359827995300293],\n [0.583841025829315, 0.368713974952698],\n [0.586614012718201, 0.692366003990173],\n [0.771915018558502, 0.683578014373779],\n [0.531597018241882, 0.352482974529266],\n [0.588370978832245, 0.804440975189209],\n [0.52079701423645, 0.442565023899078],\n [0.567984998226166, 0.493479013442993],\n [0.543282985687256, 0.819254994392395],\n [0.655317008495331, 0.745514988899231],\n [0.621008992195129, 0.574018001556396],\n [0.625559985637665, 0.78031200170517],\n [0.680198013782501, 0.570719003677368],\n [0.64276397228241, 0.604337990283966],\n [0.704662978649139, 0.621529996395111],\n [0.552012026309967, 0.862591981887817],\n [0.589071989059448, 0.508637011051178],\n [0.685944974422455, 0.775357007980347],\n [0.645735025405884, 0.812640011310577],\n [0.675342977046967, 0.703978002071381],\n [0.810858011245728, 0.646304965019226],\n [0.72012197971344, 0.714666962623596],\n [0.866151988506317, 0.682704985141754],\n [0.663187026977539, 0.644596993923187],\n [0.570082008838654, 0.466325998306274],\n [0.544561982154846, 0.548375964164734],\n [0.562758982181549, 0.558784961700439],\n [0.531987011432648, 0.530140042304993],\n [0.585271000862122, 0.335177004337311],\n [0.622952997684479, 0.32277899980545],\n [0.655896008014679, 0.320163011550903],\n [0.687132000923157, 0.322345972061157],\n [0.716481983661652, 0.333200991153717],\n [0.758756995201111, 0.382786989212036],\n [0.897013008594513, 0.468769013881683],\n [0.732392013072968, 0.424547016620636],\n [0.70211398601532, 0.433162987232208],\n [0.66652500629425, 0.433866024017334],\n [0.633504986763, 0.426087975502014],\n [0.603875994682312, 0.416586995124817],\n [0.579657971858978, 0.409945011138916],\n [0.992439985275269, 0.480777025222778],\n [0.567192018032074, 0.569419980049133],\n [0.54136598110199, 0.478899002075195],\n [0.526564002037048, 0.546118021011353],\n [0.523913025856018, 0.563830018043518],\n [0.531529009342194, 0.555056989192963],\n [0.566035985946655, 0.582329034805298],\n [0.51631098985672, 0.563053965568542],\n [0.5174720287323, 0.577877044677734],\n [0.573594987392426, 0.389806985855103],\n [0.560697972774506, 0.395331978797913],\n [0.549755990505219, 0.399751007556915],\n [0.710287988185883, 0.368252992630005],\n [0.723330020904541, 0.363372981548309],\n];\n\nexport const TRI468 = [\n 127, 34, 139, 11, 0, 37, 232, 231, 120, 72, 37, 39, 128, 121, 47, 232, 121, 128, 104, 69, 67, 175, 171, 148, 157, 154, 155, 118, 50, 101, 73, 39, 40, 9,\n 151, 108, 48, 115, 131, 194, 204, 211, 74, 40, 185, 80, 42, 183, 40, 92, 186, 230, 229, 118, 202, 212, 214, 83, 18, 17, 76, 61, 146, 160, 29, 30, 56,\n 157, 173, 106, 204, 194, 135, 214, 192, 203, 165, 98, 21, 71, 68, 51, 45, 4, 144, 24, 23, 77, 146, 91, 205, 50, 187, 201, 200, 18, 91, 106, 182, 90, 91,\n 181, 85, 84, 17, 206, 203, 36, 148, 171, 140, 92, 40, 39, 193, 189, 244, 159, 158, 28, 247, 246, 161, 236, 3, 196, 54, 68, 104, 193, 168, 8, 117,\n 228, 31, 189, 193, 55, 98, 97, 99, 126, 47, 100, 166, 79, 218, 155, 154, 26, 209, 49, 131, 135, 136, 150, 47, 126, 217, 223, 52, 53, 45, 51, 134, 211,\n 170, 140, 67, 69, 108, 43, 106, 91, 230, 119, 120, 226, 130, 247, 63, 53, 52, 238, 20, 242, 46, 70, 156, 78, 62, 96, 46, 53, 63, 143, 34, 227, 173,\n 155, 133, 123, 117, 111, 44, 125, 19, 236, 134, 51, 216, 206, 205, 154, 153, 22, 39, 37, 167, 200, 201, 208, 36, 142, 100, 57, 212, 202, 20, 60, 99, 28,\n 158, 157, 35, 226, 113, 160, 159, 27, 204, 202, 210, 113, 225, 46, 43, 202, 204, 62, 76, 77, 137, 123, 116, 41, 38, 72, 203, 129, 142, 64, 98, 240, 49,\n 102, 64, 41, 73, 74, 212, 216, 207, 42, 74, 184, 169, 170, 211, 170, 149, 176, 105, 66, 69, 122, 6, 168, 123, 147, 187, 96, 77, 90, 65, 55, 107, 89,\n 90, 180, 101, 100, 120, 63, 105, 104, 93, 137, 227, 15, 86, 85, 129, 102, 49, 14, 87, 86, 55, 8, 9, 100, 47, 121, 145, 23, 22, 88, 89, 179, 6, 122,\n 196, 88, 95, 96, 138, 172, 136, 215, 58, 172, 115, 48, 219, 42, 80, 81, 195, 3, 51, 43, 146, 61, 171, 175, 199, 81, 82, 38, 53, 46, 225, 144, 163, 110,\n 246, 33, 7, 52, 65, 66, 229, 228, 117, 34, 127, 234, 107, 108, 69, 109, 108, 151, 48, 64, 235, 62, 78, 191, 129, 209, 126, 111, 35, 143, 163, 161, 246,\n 117, 123, 50, 222, 65, 52, 19, 125, 141, 221, 55, 65, 3, 195, 197, 25, 7, 33, 220, 237, 44, 70, 71, 139, 122, 193, 245, 247, 130, 33, 71, 21, 162,\n 153, 158, 159, 170, 169, 150, 188, 174, 196, 216, 186, 92, 144, 160, 161, 2, 97, 167, 141, 125, 241, 164, 167, 37, 72, 38, 12, 145, 159, 160, 38, 82, 13,\n 63, 68, 71, 226, 35, 111, 158, 153, 154, 101, 50, 205, 206, 92, 165, 209, 198, 217, 165, 167, 97, 220, 115, 218, 133, 112, 243, 239, 238, 241, 214,\n 135, 169, 190, 173, 133, 171, 208, 32, 125, 44, 237, 86, 87, 178, 85, 86, 179, 84, 85, 180, 83, 84, 181, 201, 83, 182, 137, 93, 132, 76, 62, 183, 61,\n 76, 184, 57, 61, 185, 212, 57, 186, 214, 207, 187, 34, 143, 156, 79, 239, 237, 123, 137, 177, 44, 1, 4, 201, 194, 32, 64, 102, 129, 213, 215, 138, 59,\n 166, 219, 242, 99, 97, 2, 94, 141, 75, 59, 235, 24, 110, 228, 25, 130, 226, 23, 24, 229, 22, 23, 230, 26, 22, 231, 112, 26, 232, 189, 190, 243, 221, 56,\n 190, 28, 56, 221, 27, 28, 222, 29, 27, 223, 30, 29, 224, 247, 30, 225, 238, 79, 20, 166, 59, 75, 60, 75, 240, 147, 177, 215, 20, 79, 166, 187, 147, 213,\n 112, 233, 244, 233, 128, 245, 128, 114, 188, 114, 217, 174, 131, 115, 220, 217, 198, 236, 198, 131, 134, 177, 132, 58, 143, 35, 124, 110, 163, 7, 228,\n 110, 25, 356, 389, 368, 11, 302, 267, 452, 350, 349, 302, 303, 269, 357, 343, 277, 452, 453, 357, 333, 332, 297, 175, 152, 377, 384, 398, 382, 347,\n 348, 330, 303, 304, 270, 9, 336, 337, 278, 279, 360, 418, 262, 431, 304, 408, 409, 310, 415, 407, 270, 409, 410, 450, 348, 347, 422, 430, 434, 313,\n 314, 17, 306, 307, 375, 387, 388, 260, 286, 414, 398, 335, 406, 418, 364, 367, 416, 423, 358, 327, 251, 284, 298, 281, 5, 4, 373, 374, 253, 307, 320,\n 321, 425, 427, 411, 421, 313, 18, 321, 405, 406, 320, 404, 405, 315, 16, 17, 426, 425, 266, 377, 400, 369, 322, 391, 269, 417, 465, 464, 386, 257, 258,\n 466, 260, 388, 456, 399, 419, 284, 332, 333, 417, 285, 8, 346, 340, 261, 413, 441, 285, 327, 460, 328, 355, 371, 329, 392, 439, 438, 382, 341, 256,\n 429, 420, 360, 364, 394, 379, 277, 343, 437, 443, 444, 283, 275, 440, 363, 431, 262, 369, 297, 338, 337, 273, 375, 321, 450, 451, 349, 446, 342, 467,\n 293, 334, 282, 458, 461, 462, 276, 353, 383, 308, 324, 325, 276, 300, 293, 372, 345, 447, 382, 398, 362, 352, 345, 340, 274, 1, 19, 456, 248, 281, 436,\n 427, 425, 381, 256, 252, 269, 391, 393, 200, 199, 428, 266, 330, 329, 287, 273, 422, 250, 462, 328, 258, 286, 384, 265, 353, 342, 387, 259, 257, 424,\n 431, 430, 342, 353, 276, 273, 335, 424, 292, 325, 307, 366, 447, 345, 271, 303, 302, 423, 266, 371, 294, 455, 460, 279, 278, 294, 271, 272, 304, 432,\n 434, 427, 272, 407, 408, 394, 430, 431, 395, 369, 400, 334, 333, 299, 351, 417, 168, 352, 280, 411, 325, 319, 320, 295, 296, 336, 319, 403, 404, 330,\n 348, 349, 293, 298, 333, 323, 454, 447, 15, 16, 315, 358, 429, 279, 14, 15, 316, 285, 336, 9, 329, 349, 350, 374, 380, 252, 318, 402, 403, 6, 197, 419,\n 318, 319, 325, 367, 364, 365, 435, 367, 397, 344, 438, 439, 272, 271, 311, 195, 5, 281, 273, 287, 291, 396, 428, 199, 311, 271, 268, 283, 444, 445,\n 373, 254, 339, 263, 466, 249, 282, 334, 296, 449, 347, 346, 264, 447, 454, 336, 296, 299, 338, 10, 151, 278, 439, 455, 292, 407, 415, 358, 371, 355,\n 340, 345, 372, 390, 249, 466, 346, 347, 280, 442, 443, 282, 19, 94, 370, 441, 442, 295, 248, 419, 197, 263, 255, 359, 440, 275, 274, 300, 383, 368,\n 351, 412, 465, 263, 467, 466, 301, 368, 389, 380, 374, 386, 395, 378, 379, 412, 351, 419, 436, 426, 322, 373, 390, 388, 2, 164, 393, 370, 462, 461,\n 164, 0, 267, 302, 11, 12, 374, 373, 387, 268, 12, 13, 293, 300, 301, 446, 261, 340, 385, 384, 381, 330, 266, 425, 426, 423, 391, 429, 355, 437, 391,\n 327, 326, 440, 457, 438, 341, 382, 362, 459, 457, 461, 434, 430, 394, 414, 463, 362, 396, 369, 262, 354, 461, 457, 316, 403, 402, 315, 404, 403, 314,\n 405, 404, 313, 406, 405, 421, 418, 406, 366, 401, 361, 306, 408, 407, 291, 409, 408, 287, 410, 409, 432, 436, 410, 434, 416, 411, 264, 368, 383, 309,\n 438, 457, 352, 376, 401, 274, 275, 4, 421, 428, 262, 294, 327, 358, 433, 416, 367, 289, 455, 439, 462, 370, 326, 2, 326, 370, 305, 460, 455, 254,\n 449, 448, 255, 261, 446, 253, 450, 449, 252, 451, 450, 256, 452, 451, 341, 453, 452, 413, 464, 463, 441, 413, 414, 258, 442, 441, 257, 443, 442, 259,\n 444, 443, 260, 445, 444, 467, 342, 445, 459, 458, 250, 289, 392, 290, 290, 328, 460, 376, 433, 435, 250, 290, 392, 411, 416, 433, 341, 463, 464, 453,\n 464, 465, 357, 465, 412, 343, 412, 399, 360, 363, 440, 437, 399, 456, 420, 456, 363, 401, 435, 288, 372, 383, 353, 339, 255, 249, 448, 261, 255, 133,\n 243, 190, 133, 155, 112, 33, 246, 247, 33, 130, 25, 398, 384, 286, 362, 398, 414, 362, 463, 341, 263, 359, 467, 263, 249, 255, 466, 467, 260, 75, 60,\n 166, 238, 239, 79, 162, 127, 139, 72, 11, 37, 121, 232, 120, 73, 72, 39, 114, 128, 47, 233, 232, 128, 103, 104, 67, 152, 175, 148, 173, 157, 155,\n 119, 118, 101, 74, 73, 40, 107, 9, 108, 49, 48, 131, 32, 194, 211, 184, 74, 185, 191, 80, 183, 185, 40, 186, 119, 230, 118, 210, 202, 214, 84, 83, 17,\n 77, 76, 146, 161, 160, 30, 190, 56, 173, 182, 106, 194, 138, 135, 192, 129, 203, 98, 54, 21, 68, 5, 51, 4, 145, 144, 23, 90, 77, 91, 207, 205, 187, 83,\n 201, 18, 181, 91, 182, 180, 90, 181, 16, 85, 17, 205, 206, 36, 176, 148, 140, 165, 92, 39, 245, 193, 244, 27, 159, 28, 30, 247, 161, 174, 236, 196,\n 103, 54, 104, 55, 193, 8, 111, 117, 31, 221, 189, 55, 240, 98, 99, 142, 126, 100, 219, 166, 218, 112, 155, 26, 198, 209, 131, 169, 135, 150, 114, 47,\n 217, 224, 223, 53, 220, 45, 134, 32, 211, 140, 109, 67, 108, 146, 43, 91, 231, 230, 120, 113, 226, 247, 105, 63, 52, 241, 238, 242, 124, 46, 156, 95,\n 78, 96, 70, 46, 63, 116, 143, 227, 116, 123, 111, 1, 44, 19, 3, 236, 51, 207, 216, 205, 26, 154, 22, 165, 39, 167, 199, 200, 208, 101, 36, 100, 43,\n 57, 202, 242, 20, 99, 56, 28, 157, 124, 35, 113, 29, 160, 27, 211, 204, 210, 124, 113, 46, 106, 43, 204, 96, 62, 77, 227, 137, 116, 73, 41, 72, 36, 203,\n 142, 235, 64, 240, 48, 49, 64, 42, 41, 74, 214, 212, 207, 183, 42, 184, 210, 169, 211, 140, 170, 176, 104, 105, 69, 193, 122, 168, 50, 123, 187, 89, 96,\n 90, 66, 65, 107, 179, 89, 180, 119, 101, 120, 68, 63, 104, 234, 93, 227, 16, 15, 85, 209, 129, 49, 15, 14, 86, 107, 55, 9, 120, 100, 121, 153, 145, 22,\n 178, 88, 179, 197, 6, 196, 89, 88, 96, 135, 138, 136, 138, 215, 172, 218, 115, 219, 41, 42, 81, 5, 195, 51, 57, 43, 61, 208, 171, 199, 41, 81, 38,\n 224, 53, 225, 24, 144, 110, 105, 52, 66, 118, 229, 117, 227, 34, 234, 66, 107, 69, 10, 109, 151, 219, 48, 235, 183, 62, 191, 142, 129, 126, 116, 111,\n 143, 7, 163, 246, 118, 117, 50, 223, 222, 52, 94, 19, 141, 222, 221, 65, 196, 3, 197, 45, 220, 44, 156, 70, 139, 188, 122, 245, 139, 71, 162, 145,\n 153, 159, 149, 170, 150, 122, 188, 196, 206, 216, 92, 163, 144, 161, 164, 2, 167, 242, 141, 241, 0, 164, 37, 11, 72, 12, 144, 145, 160, 12, 38, 13, 70,\n 63, 71, 31, 226, 111, 157, 158, 154, 36, 101, 205, 203, 206, 165, 126, 209, 217, 98, 165, 97, 237, 220, 218, 237, 239, 241, 210, 214, 169, 140, 171, 32,\n 241, 125, 237, 179, 86, 178, 180, 85, 179, 181, 84, 180, 182, 83, 181, 194, 201, 182, 177, 137, 132, 184, 76, 183, 185, 61, 184, 186, 57, 185, 216, 212,\n 186, 192, 214, 187, 139, 34, 156, 218, 79, 237, 147, 123, 177, 45, 44, 4, 208, 201, 32, 98, 64, 129, 192, 213, 138, 235, 59, 219, 141, 242, 97, 97, 2,\n 141, 240, 75, 235, 229, 24, 228, 31, 25, 226, 230, 23, 229, 231, 22, 230, 232, 26, 231, 233, 112, 232, 244, 189, 243, 189, 221, 190, 222, 28, 221,\n 223, 27, 222, 224, 29, 223, 225, 30, 224, 113, 247, 225, 99, 60, 240, 213, 147, 215, 60, 20, 166, 192, 187, 213, 243, 112, 244, 244, 233, 245, 245,\n 128, 188, 188, 114, 174, 134, 131, 220, 174, 217, 236, 236, 198, 134, 215, 177, 58, 156, 143, 124, 25, 110, 7, 31, 228, 25, 264, 356, 368, 0, 11, 267,\n 451, 452, 349, 267, 302, 269, 350, 357, 277, 350, 452, 357, 299, 333, 297, 396, 175, 377, 381, 384, 382, 280, 347, 330, 269, 303, 270, 151, 9, 337,\n 344, 278, 360, 424, 418, 431, 270, 304, 409, 272, 310, 407, 322, 270, 410, 449, 450, 347, 432, 422, 434, 18, 313, 17, 291, 306, 375, 259, 387, 260,\n 424, 335, 418, 434, 364, 416, 391, 423, 327, 301, 251, 298, 275, 281, 4, 254, 373, 253, 375, 307, 321, 280, 425, 411, 200, 421, 18, 335, 321, 406,\n 321, 320, 405, 314, 315, 17, 423, 426, 266, 396, 377, 369, 270, 322, 269, 413, 417, 464, 385, 386, 258, 248, 456, 419, 298, 284, 333, 168, 417, 8,\n 448, 346, 261, 417, 413, 285, 326, 327, 328, 277, 355, 329, 309, 392, 438, 381, 382, 256, 279, 429, 360, 365, 364, 379, 355, 277, 437, 282, 443, 283,\n 281, 275, 363, 395, 431, 369, 299, 297, 337, 335, 273, 321, 348, 450, 349, 359, 446, 467, 283, 293, 282, 250, 458, 462, 300, 276, 383, 292, 308, 325,\n 283, 276, 293, 264, 372, 447, 346, 352, 340, 354, 274, 19, 363, 456, 281, 426, 436, 425, 380, 381, 252, 267, 269, 393, 421, 200, 428, 371, 266, 329,\n 432, 287, 422, 290, 250, 328, 385, 258, 384, 446, 265, 342, 386, 387, 257, 422, 424, 430, 445, 342, 276, 422, 273, 424, 306, 292, 307, 352, 366, 345,\n 268, 271, 302, 358, 423, 371, 327, 294, 460, 331, 279, 294, 303, 271, 304, 436, 432, 427, 304, 272, 408, 395, 394, 431, 378, 395, 400, 296, 334, 299,\n 6, 351, 168, 376, 352, 411, 307, 325, 320, 285, 295, 336, 320, 319, 404, 329, 330, 349, 334, 293, 333, 366, 323, 447, 316, 15, 315, 331, 358, 279,\n 317, 14, 316, 8, 285, 9, 277, 329, 350, 253, 374, 252, 319, 318, 403, 351, 6, 419, 324, 318, 325, 397, 367, 365, 288, 435, 397, 278, 344, 439, 310,\n 272, 311, 248, 195, 281, 375, 273, 291, 175, 396, 199, 312, 311, 268, 276, 283, 445, 390, 373, 339, 295, 282, 296, 448, 449, 346, 356, 264, 454, 337,\n 336, 299, 337, 338, 151, 294, 278, 455, 308, 292, 415, 429, 358, 355, 265, 340, 372, 388, 390, 466, 352, 346, 280, 295, 442, 282, 354, 19, 370, 285,\n 441, 295, 195, 248, 197, 457, 440, 274, 301, 300, 368, 417, 351, 465, 251, 301, 389, 385, 380, 386, 394, 395, 379, 399, 412, 419, 410, 436, 322, 387,\n 373, 388, 326, 2, 393, 354, 370, 461, 393, 164, 267, 268, 302, 12, 386, 374, 387, 312, 268, 13, 298, 293, 301, 265, 446, 340, 380, 385, 381, 280, 330,\n 425, 322, 426, 391, 420, 429, 437, 393, 391, 326, 344, 440, 438, 458, 459, 461, 364, 434, 394, 428, 396, 262, 274, 354, 457, 317, 316, 402, 316, 315,\n 403, 315, 314, 404, 314, 313, 405, 313, 421, 406, 323, 366, 361, 292, 306, 407, 306, 291, 408, 291, 287, 409, 287, 432, 410, 427, 434, 411, 372, 264,\n 383, 459, 309, 457, 366, 352, 401, 1, 274, 4, 418, 421, 262, 331, 294, 358, 435, 433, 367, 392, 289, 439, 328, 462, 326, 94, 2, 370, 289, 305, 455, 339,\n 254, 448, 359, 255, 446, 254, 253, 449, 253, 252, 450, 252, 256, 451, 256, 341, 452, 414, 413, 463, 286, 441, 414, 286, 258, 441, 258, 257, 442, 257,\n 259, 443, 259, 260, 444, 260, 467, 445, 309, 459, 250, 305, 289, 290, 305, 290, 460, 401, 376, 435, 309, 250, 392, 376, 411, 433, 453, 341, 464, 357,\n 453, 465, 343, 357, 412, 437, 343, 399, 344, 360, 440, 420, 437, 456, 360, 420, 363, 361, 401, 288, 265, 372, 353, 390, 339, 249, 339, 448, 255];\n\nexport const TRI68 = [0, 1, 36, 0, 36, 17, 1, 2, 41, 1, 41, 36, 2, 3, 31, 2, 31, 41, 3, 4, 48, 3, 48, 31, 4, 5, 48, 5, 6, 48, 6, 7, 59, 6, 59, 48, 7, 8, 58, 7, 58, 59,\n 8, 9, 56, 8, 56, 57, 8, 57, 58, 9, 10, 55, 9, 55, 56, 10, 11, 54, 10, 54, 55, 11, 12, 54, 12, 13, 54, 13, 14, 35, 13, 35, 54, 14, 15, 46, 14, 46, 35, 15, 16,\n 45, 15, 45, 46, 16, 26, 45, 17, 36, 18, 18, 37, 19, 18, 36, 37, 19, 38, 20, 19, 37, 38, 20, 39, 21, 20, 38, 39, 21, 39, 27, 22, 42, 23, 22, 27, 42, 23, 43, 24,\n 23, 42, 43, 24, 44, 25, 24, 43, 44, 25, 45, 26, 25, 44, 45, 27, 39, 28, 27, 28, 42, 28, 39, 29, 28, 29, 42, 29, 31, 30, 29, 30, 35, 29, 40, 31, 29, 35, 47, 29,\n 39, 40, 29, 47, 42, 30, 31, 32, 30, 32, 33, 30, 33, 34, 30, 34, 35, 31, 50, 32, 31, 40, 41, 31, 48, 49, 31, 49, 50, 32, 51, 33, 32, 50, 51, 33, 51, 34, 34, 52,\n 35, 34, 51, 52, 35, 46, 47, 35, 52, 53, 35, 53, 54, 36, 41, 37, 37, 40, 38, 37, 41, 40, 38, 40, 39, 42, 47, 43, 43, 47, 44, 44, 46, 45, 44, 47, 46, 48, 60, 49,\n 48, 59, 60, 49, 61, 50, 49, 60, 61, 50, 62, 51, 50, 61, 62, 51, 62, 52, 52, 63, 53, 52, 62, 63, 53, 64, 54, 53, 63, 64, 54, 64, 55, 55, 65, 56, 55, 64, 65, 56,\n 66, 57, 56, 65, 66, 57, 66, 58, 58, 67, 59, 58, 66, 67, 59, 67, 60, 60, 67, 61, 61, 66, 62, 61, 67, 66, 62, 66, 63, 63, 65, 64, 63, 66, 65, 21, 27, 22];\n\nexport const TRI33 = [\n /* eyes */ 0, 8, 7, 7, 8, 1, 2, 10, 9, 9, 10, 3,\n /* brows */ 17, 0, 18, 18, 0, 7, 18, 7, 19, 19, 7, 1, 19, 1, 11, 19, 11, 20, 21, 3, 22, 21, 9, 3, 20, 9, 21, 20, 2, 9, 20, 11, 2,\n /* 4head */ 23, 17, 18, 25, 21, 22, 24, 19, 20, 24, 18, 19, 24, 20, 21, 24, 23, 18, 24, 21, 25,\n /* nose */ 11, 12, 4, 11, 4, 13, 1, 12, 11, 11, 13, 2, 12, 14, 4, 4, 14, 13,\n /* up-lip */ 14, 5, 15, 14, 15, 6, 12, 5, 14, 14, 6, 13,\n /* cheeks */ 8, 12, 1, 2, 13, 10, 8, 26, 12, 10, 13, 27, 26, 5, 12, 13, 6, 27, 0, 26, 8, 10, 27, 3,\n /* chin */ 5, 32, 16, 16, 32, 6, 5, 30, 32, 6, 32, 31,\n /* cont */ 26, 30, 5, 27, 6, 31, 0, 28, 26, 3, 27, 29, 17, 28, 0, 3, 29, 22, 23, 28, 17, 22, 29, 25, 28, 30, 26, 27, 31, 29,\n];\n\nexport const TRI7 = [0, 4, 1, 2, 4, 3, 4, 5, 6];\n\nexport const VTX68 = [\n /* cont */ 127, 234, 132, 58, 172, 150, 149, 148, 152, 377, 378, 379, 397, 288, 361, 454, 356,\n /* brows */ 70, 63, 105, 66, 107, 336, 296, 334, 293, 300,\n /* nose */ 168, 6, 195, 4, 98, 97, 2, 326, 327,\n /* eyes */ 33, 160, 158, 133, 153, 144, 362, 385, 387, 263, 373, 380,\n /* lip */ 57, 40, 37, 0, 267, 270, 287, 321, 314, 17, 84, 91,\n /* mouth */ 78, 81, 13, 311, 308, 402, 14, 178,\n];\n\nexport const VTX33 = [33, 133, 362, 263, 1, 62, 308, 159, 145, 386, 374, 6, 102, 331, 2, 13, 14, 70, 105, 107, 336, 334, 300, 54, 10, 284, 50, 280, 234, 454, 58, 288, 152];\n\nexport const VTX7 = [33, 133, 362, 263, 1, 78, 308];\n\nexport const UV68 = VTX68.map((x) => UV468[x]);\n\nexport const UV33 = VTX33.map((x) => UV468[x]);\n\nexport const UV7 = VTX7.map((x) => UV468[x]);\n", "import * as tf from '../../dist/tfjs.esm.js';\nimport * as bounding from './box';\nimport * as util from './util';\nimport * as coords from './coords';\nimport { Tensor, GraphModel } from '../tfjs/types';\nimport { BlazeFaceModel } from './blazeface';\n\nconst leftOutline = coords.MESH_ANNOTATIONS['leftEyeLower0'];\nconst rightOutline = coords.MESH_ANNOTATIONS['rightEyeLower0'];\n\nconst eyeLandmarks = {\n leftBounds: [leftOutline[0], leftOutline[leftOutline.length - 1]],\n rightBounds: [rightOutline[0], rightOutline[rightOutline.length - 1]],\n};\n\nconst meshLandmarks = {\n count: 468,\n mouth: 13,\n symmetryLine: [13, coords.MESH_ANNOTATIONS['midwayBetweenEyes'][0]],\n};\n\nconst blazeFaceLandmarks = {\n leftEye: 0,\n rightEye: 1,\n nose: 2,\n mouth: 3,\n leftEar: 4,\n rightEar: 5,\n symmetryLine: [3, 2],\n};\n\nconst irisLandmarks = {\n upperCenter: 3,\n lowerCenter: 4,\n index: 71,\n numCoordinates: 76,\n};\n\n// Replace the raw coordinates returned by facemesh with refined iris model coordinates\n// Update the z coordinate to be an average of the original and the new.\nfunction replaceRawCoordinates(rawCoords, newCoords, prefix, keys) {\n for (let i = 0; i < coords.MESH_TO_IRIS_INDICES_MAP.length; i++) {\n const { key, indices } = coords.MESH_TO_IRIS_INDICES_MAP[i];\n const originalIndices = coords.MESH_ANNOTATIONS[`${prefix}${key}`];\n if (!keys || keys.includes(key)) {\n for (let j = 0; j < indices.length; j++) {\n const index = indices[j];\n rawCoords[originalIndices[j]] = [\n newCoords[index][0], newCoords[index][1],\n (newCoords[index][2] + rawCoords[originalIndices[j]][2]) / 2,\n ];\n }\n }\n }\n}\n// The Pipeline coordinates between the bounding box and skeleton models.\nexport class Pipeline {\n storedBoxes: Array<{ startPoint: number[], endPoint: number[], landmarks: Array, confidence: number, faceConfidence?: number }>;\n boundingBoxDetector: BlazeFaceModel; // tf.GraphModel\n meshDetector: GraphModel; // tf.GraphModel\n irisModel: GraphModel; // tf.GraphModel\n boxSize: number;\n meshSize: number;\n irisSize: number;\n irisEnlarge: number;\n skipped: number;\n detectedFaces: number;\n\n constructor(boundingBoxDetector, meshDetector, irisModel) {\n // An array of facial bounding boxes.\n this.storedBoxes = [];\n this.boundingBoxDetector = boundingBoxDetector;\n this.meshDetector = meshDetector;\n this.irisModel = irisModel;\n this.boxSize = boundingBoxDetector?.model?.inputs[0].shape[2] || 0;\n this.meshSize = meshDetector?.inputs[0].shape[2] || boundingBoxDetector?.model?.inputs[0].shape[2];\n this.irisSize = irisModel?.inputs[0].shape[1] || 0;\n this.irisEnlarge = 2.3;\n this.skipped = 0;\n this.detectedFaces = 0;\n }\n\n transformRawCoords(rawCoords, box, angle, rotationMatrix) {\n const boxSize = bounding.getBoxSize({ startPoint: box.startPoint, endPoint: box.endPoint });\n const coordsScaled = rawCoords.map((coord) => ([\n boxSize[0] / this.meshSize * (coord[0] - this.meshSize / 2),\n boxSize[1] / this.meshSize * (coord[1] - this.meshSize / 2),\n coord[2],\n ]));\n const coordsRotationMatrix = (angle !== 0) ? util.buildRotationMatrix(angle, [0, 0]) : util.IDENTITY_MATRIX;\n const coordsRotated = (angle !== 0) ? coordsScaled.map((coord) => ([...util.rotatePoint(coord, coordsRotationMatrix), coord[2]])) : coordsScaled;\n const inverseRotationMatrix = (angle !== 0) ? util.invertTransformMatrix(rotationMatrix) : util.IDENTITY_MATRIX;\n const boxCenter = [...bounding.getBoxCenter({ startPoint: box.startPoint, endPoint: box.endPoint }), 1];\n return coordsRotated.map((coord) => ([\n Math.round(coord[0] + util.dot(boxCenter, inverseRotationMatrix[0])),\n Math.round(coord[1] + util.dot(boxCenter, inverseRotationMatrix[1])),\n Math.round(coord[2]),\n ]));\n }\n\n // eslint-disable-next-line class-methods-use-this\n getLeftToRightEyeDepthDifference(rawCoords) {\n const leftEyeZ = rawCoords[eyeLandmarks.leftBounds[0]][2];\n const rightEyeZ = rawCoords[eyeLandmarks.rightBounds[0]][2];\n return leftEyeZ - rightEyeZ;\n }\n\n // Returns a box describing a cropped region around the eye fit for passing to the iris model.\n getEyeBox(rawCoords, face, eyeInnerCornerIndex, eyeOuterCornerIndex, flip = false) {\n const box = bounding.squarifyBox(bounding.enlargeBox(bounding.calculateLandmarksBoundingBox([rawCoords[eyeInnerCornerIndex], rawCoords[eyeOuterCornerIndex]]), this.irisEnlarge));\n const boxSize = bounding.getBoxSize(box);\n let crop = tf.image.cropAndResize(face, [[\n box.startPoint[1] / this.meshSize,\n box.startPoint[0] / this.meshSize, box.endPoint[1] / this.meshSize,\n box.endPoint[0] / this.meshSize,\n ]], [0], [this.irisSize, this.irisSize]);\n if (flip && tf.ENV.flags.IS_BROWSER) {\n crop = tf.image.flipLeftRight(crop); // flipLeftRight is not defined for tfjs-node\n }\n return { box, boxSize, crop };\n }\n\n // Given a cropped image of an eye, returns the coordinates of the contours surrounding the eye and the iris.\n getEyeCoords(eyeData, eyeBox, eyeBoxSize, flip = false) {\n const eyeRawCoords: Array<[number, number, number]> = [];\n for (let i = 0; i < irisLandmarks.numCoordinates; i++) {\n const x = eyeData[i * 3];\n const y = eyeData[i * 3 + 1];\n const z = eyeData[i * 3 + 2];\n eyeRawCoords.push([\n (flip ? (1 - (x / this.irisSize)) : (x / this.irisSize)) * eyeBoxSize[0] + eyeBox.startPoint[0],\n (y / this.irisSize) * eyeBoxSize[1] + eyeBox.startPoint[1], z,\n ]);\n }\n return { rawCoords: eyeRawCoords, iris: eyeRawCoords.slice(irisLandmarks.index) };\n }\n\n // The z-coordinates returned for the iris are unreliable, so we take the z values from the surrounding keypoints.\n // eslint-disable-next-line class-methods-use-this\n getAdjustedIrisCoords(rawCoords, irisCoords, direction) {\n const upperCenterZ = rawCoords[coords.MESH_ANNOTATIONS[`${direction}EyeUpper0`][irisLandmarks.upperCenter]][2];\n const lowerCenterZ = rawCoords[coords.MESH_ANNOTATIONS[`${direction}EyeLower0`][irisLandmarks.lowerCenter]][2];\n const averageZ = (upperCenterZ + lowerCenterZ) / 2;\n // Iris indices: 0: center | 1: right | 2: above | 3: left | 4: below\n return irisCoords.map((coord, i) => {\n let z = averageZ;\n if (i === 2) {\n z = upperCenterZ;\n } else if (i === 4) {\n z = lowerCenterZ;\n }\n return [coord[0], coord[1], z];\n });\n }\n\n async predict(input, config) {\n let useFreshBox = false;\n // run new detector every skipFrames unless we only want box to start with\n let detector;\n if ((this.skipped === 0) || (this.skipped > config.face.detector.skipFrames) || !config.face.mesh.enabled || !config.skipFrame) {\n detector = await this.boundingBoxDetector.getBoundingBoxes(input);\n this.skipped = 0;\n }\n if (config.skipFrame) this.skipped++;\n\n // if detector result count doesn't match current working set, use it to reset current working set\n if (!config.skipFrame || (detector && detector.boxes && (!config.face.mesh.enabled || (detector.boxes.length !== this.detectedFaces) && (this.detectedFaces !== config.face.detector.maxDetected)))) {\n this.storedBoxes = [];\n this.detectedFaces = 0;\n for (const possible of detector.boxes) {\n this.storedBoxes.push({ startPoint: possible.box.startPoint.dataSync(), endPoint: possible.box.endPoint.dataSync(), landmarks: possible.landmarks.arraySync(), confidence: possible.confidence });\n }\n if (this.storedBoxes.length > 0) useFreshBox = true;\n }\n\n if (useFreshBox) {\n if (!detector || !detector.boxes || (detector.boxes.length === 0)) {\n this.storedBoxes = [];\n this.detectedFaces = 0;\n return null;\n }\n for (let i = 0; i < this.storedBoxes.length; i++) {\n const scaledBox = bounding.scaleBoxCoordinates({ startPoint: this.storedBoxes[i].startPoint, endPoint: this.storedBoxes[i].endPoint }, detector.scaleFactor);\n const enlargedBox = bounding.enlargeBox(scaledBox);\n const squarifiedBox = bounding.squarifyBox(enlargedBox);\n const landmarks = this.storedBoxes[i].landmarks;\n const confidence = this.storedBoxes[i].confidence;\n this.storedBoxes[i] = { ...squarifiedBox, confidence, landmarks };\n }\n }\n if (detector && detector.boxes) {\n detector.boxes.forEach((prediction) => {\n prediction.box.startPoint.dispose();\n prediction.box.endPoint.dispose();\n prediction.landmarks.dispose();\n });\n }\n const results = tf.tidy(() => this.storedBoxes.map((box, i) => {\n // The facial bounding box landmarks could come either from blazeface (if we are using a fresh box), or from the mesh model (if we are reusing an old box).\n let face;\n let angle = 0;\n let rotationMatrix;\n\n if (config.face.detector.rotation && config.face.mesh.enabled && tf.ENV.flags.IS_BROWSER) {\n const [indexOfMouth, indexOfForehead] = (box.landmarks.length >= meshLandmarks.count) ? meshLandmarks.symmetryLine : blazeFaceLandmarks.symmetryLine;\n angle = util.computeRotation(box.landmarks[indexOfMouth], box.landmarks[indexOfForehead]);\n const faceCenter = bounding.getBoxCenter({ startPoint: box.startPoint, endPoint: box.endPoint });\n const faceCenterNormalized = [faceCenter[0] / input.shape[2], faceCenter[1] / input.shape[1]];\n const rotatedImage = tf.image.rotateWithOffset(input, angle, 0, faceCenterNormalized); // rotateWithOffset is not defined for tfjs-node\n rotationMatrix = util.buildRotationMatrix(-angle, faceCenter);\n if (config.face.mesh.enabled) face = bounding.cutBoxFromImageAndResize({ startPoint: box.startPoint, endPoint: box.endPoint }, rotatedImage, [this.meshSize, this.meshSize]).div(255);\n else face = bounding.cutBoxFromImageAndResize({ startPoint: box.startPoint, endPoint: box.endPoint }, rotatedImage, [this.boxSize, this.boxSize]).div(255);\n } else {\n rotationMatrix = util.IDENTITY_MATRIX;\n const clonedImage = input.clone();\n if (config.face.mesh.enabled) face = bounding.cutBoxFromImageAndResize({ startPoint: box.startPoint, endPoint: box.endPoint }, clonedImage, [this.meshSize, this.meshSize]).div(255);\n else face = bounding.cutBoxFromImageAndResize({ startPoint: box.startPoint, endPoint: box.endPoint }, clonedImage, [this.boxSize, this.boxSize]).div(255);\n }\n\n // if we're not going to produce mesh, don't spend time with further processing\n if (!config.face.mesh.enabled) {\n const prediction = {\n mesh: [],\n box,\n faceConfidence: null,\n boxConfidence: box.confidence,\n confidence: box.confidence,\n image: face,\n };\n return prediction;\n }\n\n const [, confidence, contourCoords] = this.meshDetector.execute(face) as Array; // The first returned tensor represents facial contours which are already included in the coordinates.\n const faceConfidence = confidence.dataSync()[0] as number;\n if (faceConfidence < config.face.detector.minConfidence) {\n this.storedBoxes[i].confidence = faceConfidence; // reset confidence of cached box\n return null; // if below confidence just exit\n }\n const coordsReshaped = tf.reshape(contourCoords, [-1, 3]);\n let rawCoords = coordsReshaped.arraySync();\n\n if (config.face.iris.enabled) {\n const { box: leftEyeBox, boxSize: leftEyeBoxSize, crop: leftEyeCrop } = this.getEyeBox(rawCoords, face, eyeLandmarks.leftBounds[0], eyeLandmarks.leftBounds[1], true);\n const { box: rightEyeBox, boxSize: rightEyeBoxSize, crop: rightEyeCrop } = this.getEyeBox(rawCoords, face, eyeLandmarks.rightBounds[0], eyeLandmarks.rightBounds[1]);\n const eyePredictions = this.irisModel.predict(tf.concat([leftEyeCrop, rightEyeCrop])) as Tensor;\n const eyePredictionsData = eyePredictions.dataSync();\n const leftEyeData = eyePredictionsData.slice(0, irisLandmarks.numCoordinates * 3);\n const { rawCoords: leftEyeRawCoords, iris: leftIrisRawCoords } = this.getEyeCoords(leftEyeData, leftEyeBox, leftEyeBoxSize, true);\n const rightEyeData = eyePredictionsData.slice(irisLandmarks.numCoordinates * 3);\n const { rawCoords: rightEyeRawCoords, iris: rightIrisRawCoords } = this.getEyeCoords(rightEyeData, rightEyeBox, rightEyeBoxSize);\n const leftToRightEyeDepthDifference = this.getLeftToRightEyeDepthDifference(rawCoords);\n if (Math.abs(leftToRightEyeDepthDifference) < 30) { // User is looking straight ahead.\n replaceRawCoordinates(rawCoords, leftEyeRawCoords, 'left', null);\n replaceRawCoordinates(rawCoords, rightEyeRawCoords, 'right', null);\n // If the user is looking to the left or to the right, the iris coordinates tend to diverge too much from the mesh coordinates for them to be merged\n // So we only update a single contour line above and below the eye.\n } else if (leftToRightEyeDepthDifference < 1) { // User is looking towards the right.\n replaceRawCoordinates(rawCoords, leftEyeRawCoords, 'left', ['EyeUpper0', 'EyeLower0']);\n } else { // User is looking towards the left.\n replaceRawCoordinates(rawCoords, rightEyeRawCoords, 'right', ['EyeUpper0', 'EyeLower0']);\n }\n const adjustedLeftIrisCoords = this.getAdjustedIrisCoords(rawCoords, leftIrisRawCoords, 'left');\n const adjustedRightIrisCoords = this.getAdjustedIrisCoords(rawCoords, rightIrisRawCoords, 'right');\n rawCoords = rawCoords.concat(adjustedLeftIrisCoords).concat(adjustedRightIrisCoords);\n }\n\n // override box from detection with one calculated from mesh\n const mesh = this.transformRawCoords(rawCoords, box, angle, rotationMatrix);\n const storeConfidence = box.confidence;\n // @ts-ignore enlargeBox does not include confidence so we append it manually\n box = bounding.enlargeBox(bounding.calculateLandmarksBoundingBox(mesh), 1.5); // redefine box with mesh calculated one\n box.confidence = storeConfidence;\n\n // do rotation one more time with mesh keypoints if we want to return perfect image\n if (config.face.detector.rotation && config.face.mesh.enabled && config.face.description.enabled && tf.ENV.flags.IS_BROWSER) {\n const [indexOfMouth, indexOfForehead] = (box.landmarks.length >= meshLandmarks.count) ? meshLandmarks.symmetryLine : blazeFaceLandmarks.symmetryLine;\n angle = util.computeRotation(box.landmarks[indexOfMouth], box.landmarks[indexOfForehead]);\n const faceCenter = bounding.getBoxCenter({ startPoint: box.startPoint, endPoint: box.endPoint });\n const faceCenterNormalized = [faceCenter[0] / input.shape[2], faceCenter[1] / input.shape[1]];\n const rotatedImage = tf.image.rotateWithOffset(input.toFloat(), angle, 0, faceCenterNormalized); // rotateWithOffset is not defined for tfjs-node\n rotationMatrix = util.buildRotationMatrix(-angle, faceCenter);\n face = bounding.cutBoxFromImageAndResize({ startPoint: box.startPoint, endPoint: box.endPoint }, rotatedImage, [this.meshSize, this.meshSize]).div(255);\n }\n\n const prediction = {\n mesh,\n box,\n faceConfidence,\n boxConfidence: box.confidence,\n image: face,\n };\n\n // updated stored cache values\n this.storedBoxes[i] = { ...bounding.squarifyBox(box), confidence: box.confidence, faceConfidence };\n\n return prediction;\n }));\n\n // results = results.filter((a) => a !== null);\n // remove cache entries for detected boxes on low confidence\n if (config.face.mesh.enabled) this.storedBoxes = this.storedBoxes.filter((a) => a.confidence > config.face.detector.minConfidence);\n this.detectedFaces = results.length;\n\n return results;\n }\n}\n", "/**\n * Emotion Module\n */\n\nimport { log, join } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\n\nconst annotations = ['angry', 'disgust', 'fear', 'happy', 'sad', 'surprise', 'neutral'];\nlet model;\n// let last: Array<{ score: number, emotion: string }> = [];\nconst last: Array> = [];\nlet lastCount = 0;\nlet skipped = Number.MAX_SAFE_INTEGER;\n\n// tuning values\nconst rgb = [0.2989, 0.5870, 0.1140]; // factors for red/green/blue colors when converting to grayscale\n\nexport async function load(config) {\n if (!model) {\n model = await tf.loadGraphModel(join(config.modelBasePath, config.face.emotion.modelPath));\n if (!model || !model.modelUrl) log('load model failed:', config.face.emotion.modelPath);\n else if (config.debug) log('load model:', model.modelUrl);\n } else if (config.debug) log('cached model:', model.modelUrl);\n return model;\n}\n\nexport async function predict(image, config, idx, count) {\n if (!model) return null;\n if ((skipped < config.face.emotion.skipFrames) && config.skipFrame && (lastCount === count) && last[idx] && (last[idx].length > 0)) {\n skipped++;\n return last[idx];\n }\n skipped = 0;\n return new Promise(async (resolve) => {\n const resize = tf.image.resizeBilinear(image, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false);\n const [red, green, blue] = tf.split(resize, 3, 3);\n resize.dispose();\n // weighted rgb to grayscale: https://www.mathworks.com/help/matlab/ref/rgb2gray.html\n const redNorm = tf.mul(red, rgb[0]);\n const greenNorm = tf.mul(green, rgb[1]);\n const blueNorm = tf.mul(blue, rgb[2]);\n red.dispose();\n green.dispose();\n blue.dispose();\n const grayscale = tf.addN([redNorm, greenNorm, blueNorm]);\n redNorm.dispose();\n greenNorm.dispose();\n blueNorm.dispose();\n const normalize = tf.tidy(() => grayscale.sub(0.5).mul(2));\n grayscale.dispose();\n const obj: Array<{ score: number, emotion: string }> = [];\n if (config.face.emotion.enabled) {\n const emotionT = await model.predict(normalize); // result is already in range 0..1, no need for additional activation\n const data = emotionT.dataSync();\n tf.dispose(emotionT);\n for (let i = 0; i < data.length; i++) {\n if (data[i] > config.face.emotion.minConfidence) obj.push({ score: Math.min(0.99, Math.trunc(100 * data[i]) / 100), emotion: annotations[i] });\n }\n obj.sort((a, b) => b.score - a.score);\n }\n normalize.dispose();\n last[idx] = obj;\n lastCount = count;\n resolve(obj);\n });\n}\n", "/**\n * HSE-FaceRes Module\n * Returns Age, Gender, Descriptor\n * Implements Face simmilarity function\n */\n\nimport { log, join } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\nimport { Tensor, GraphModel } from '../tfjs/types';\n\nlet model: GraphModel;\nconst last: Array<{\n age: number,\n gender: string,\n genderScore: number,\n descriptor: number[],\n}> = [];\n\nlet lastCount = 0;\nlet skipped = Number.MAX_SAFE_INTEGER;\n\ntype DB = Array<{ name: string, source: string, embedding: number[] }>;\n\nexport async function load(config) {\n const modelUrl = join(config.modelBasePath, config.face.description.modelPath);\n if (!model) {\n // @ts-ignore type mismatch for GraphModel\n model = await tf.loadGraphModel(modelUrl);\n if (!model) log('load model failed:', config.face.description.modelPath);\n else if (config.debug) log('load model:', modelUrl);\n } else if (config.debug) log('cached model:', modelUrl);\n return model;\n}\n\nexport function similarity(embedding1, embedding2, order = 2): number {\n if (!embedding1 || !embedding2) return 0;\n if (embedding1?.length === 0 || embedding2?.length === 0) return 0;\n if (embedding1?.length !== embedding2?.length) return 0;\n // general minkowski distance, euclidean distance is limited case where order is 2\n const distance = 5.0 * embedding1\n .map((val, i) => (Math.abs(embedding1[i] - embedding2[i]) ** order)) // distance squared\n .reduce((sum, now) => (sum + now), 0) // sum all distances\n ** (1 / order); // get root of\n const res = Math.max(0, 100 - distance) / 100.0;\n return res;\n}\n\nexport function match(embedding: Array, db: DB, threshold = 0) {\n let best = { similarity: 0, name: '', source: '', embedding: [] as number[] };\n if (!embedding || !db || !Array.isArray(embedding) || !Array.isArray(db)) return best;\n for (const f of db) {\n if (f.embedding && f.name) {\n const perc = similarity(embedding, f.embedding);\n if (perc > threshold && perc > best.similarity) best = { ...f, similarity: perc };\n }\n }\n return best;\n}\n\nexport function enhance(input): Tensor {\n const image = tf.tidy(() => {\n // input received from detector is already normalized to 0..1\n // input is also assumed to be straightened\n const tensor = input.image || input.tensor || input;\n if (!(tensor instanceof tf.Tensor)) return null;\n // do a tight crop of image and resize it to fit the model\n const box = [[0.05, 0.15, 0.85, 0.85]]; // empyrical values for top, left, bottom, right\n // const box = [[0.0, 0.0, 1.0, 1.0]]; // basically no crop for test\n if (!model.inputs[0].shape) return null; // model has no shape so no point continuing\n const crop = (tensor.shape.length === 3)\n ? tf.image.cropAndResize(tf.expandDims(tensor, 0), box, [0], [model.inputs[0].shape[2], model.inputs[0].shape[1]]) // add batch dimension if missing\n : tf.image.cropAndResize(tensor, box, [0], [model.inputs[0].shape[2], model.inputs[0].shape[1]]);\n\n /*\n // just resize to fit the embedding model instead of cropping\n const crop = tf.image.resizeBilinear(tensor, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false);\n */\n\n /*\n // convert to black&white to avoid colorization impact\n const rgb = [0.2989, 0.5870, 0.1140]; // factors for red/green/blue colors when converting to grayscale: https://www.mathworks.com/help/matlab/ref/rgb2gray.html\n const [red, green, blue] = tf.split(crop, 3, 3);\n const redNorm = tf.mul(red, rgb[0]);\n const greenNorm = tf.mul(green, rgb[1]);\n const blueNorm = tf.mul(blue, rgb[2]);\n const grayscale = tf.addN([redNorm, greenNorm, blueNorm]);\n const merge = tf.stack([grayscale, grayscale, grayscale], 3).squeeze(4);\n */\n\n /*\n // increase image pseudo-contrast 100%\n // (or do it per-channel so mean is done on each channel)\n // (or calculate histogram and do it based on histogram)\n const mean = merge.mean();\n const factor = 2;\n const contrast = merge.sub(mean).mul(factor).add(mean);\n */\n\n /*\n // normalize brightness from 0..1\n // silly way of creating pseudo-hdr of image\n const darken = crop.sub(crop.min());\n const lighten = darken.div(darken.max());\n */\n\n const norm = crop.mul(255);\n\n return norm;\n });\n return image;\n}\n\nexport async function predict(image, config, idx, count) {\n if (!model) return null;\n if ((skipped < config.face.description.skipFrames) && config.skipFrame && (lastCount === count) && last[idx]?.age && (last[idx]?.age > 0)) {\n skipped++;\n return last[idx];\n }\n skipped = 0;\n return new Promise(async (resolve) => {\n const enhanced = enhance(image);\n\n let resT;\n const obj = {\n age: 0,\n gender: 'unknown',\n genderScore: 0,\n descriptor: [],\n };\n\n if (config.face.description.enabled) resT = await model.predict(enhanced);\n tf.dispose(enhanced);\n\n if (resT) {\n tf.tidy(() => {\n const gender = resT.find((t) => t.shape[1] === 1).dataSync();\n const confidence = Math.trunc(200 * Math.abs((gender[0] - 0.5))) / 100;\n if (confidence > config.face.description.minConfidence) {\n obj.gender = gender[0] <= 0.5 ? 'female' : 'male';\n obj.genderScore = Math.min(0.99, confidence);\n }\n const age = resT.find((t) => t.shape[1] === 100).argMax(1).dataSync()[0];\n const all = resT.find((t) => t.shape[1] === 100).dataSync();\n obj.age = Math.round(all[age - 1] > all[age + 1] ? 10 * age - 100 * all[age - 1] : 10 * age + 100 * all[age + 1]) / 10;\n\n const desc = resT.find((t) => t.shape[1] === 1024);\n // const reshape = desc.reshape([128, 8]); // reshape large 1024-element descriptor to 128 x 8\n // const reduce = reshape.logSumExp(1); // reduce 2nd dimension by calculating logSumExp on it which leaves us with 128-element descriptor\n\n obj.descriptor = [...desc.dataSync()];\n });\n resT.forEach((t) => tf.dispose(t));\n }\n\n last[idx] = obj;\n lastCount = count;\n resolve(obj);\n });\n}\n", "/**\n * Module that analyzes person age\n * Obsolete\n */\n\nimport { log, now } from './helpers';\nimport * as tf from '../dist/tfjs.esm.js';\nimport * as facemesh from './blazeface/facemesh';\nimport * as emotion from './emotion/emotion';\nimport * as faceres from './faceres/faceres';\nimport { Face } from './result';\nimport { Tensor } from './tfjs/types';\n\n// eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars\nconst rad2deg = (theta) => Math.round((theta * 180) / Math.PI);\n\nconst calculateGaze = (mesh, box): { bearing: number, strength: number } => {\n const radians = (pt1, pt2) => Math.atan2(pt1[1] - pt2[1], pt1[0] - pt2[0]); // function to calculate angle between any two points\n\n const offsetIris = [0, -0.1]; // iris center may not align with average of eye extremes\n const eyeRatio = 1; // factor to normalize changes x vs y\n\n const left = mesh[33][2] > mesh[263][2]; // pick left or right eye depending which one is closer bazed on outsize point z axis\n const irisCenter = left ? mesh[473] : mesh[468];\n const eyeCenter = left // eye center is average of extreme points on x axis for both x and y, ignoring y extreme points as eyelids naturally open/close more when gazing up/down so relative point is less precise\n ? [(mesh[133][0] + mesh[33][0]) / 2, (mesh[133][1] + mesh[33][1]) / 2]\n : [(mesh[263][0] + mesh[362][0]) / 2, (mesh[263][1] + mesh[362][1]) / 2];\n const eyeSize = left // eye size is difference between extreme points for both x and y, used to normalize & squarify eye dimensions\n ? [mesh[133][0] - mesh[33][0], mesh[23][1] - mesh[27][1]]\n : [mesh[263][0] - mesh[362][0], mesh[253][1] - mesh[257][1]];\n\n const eyeDiff = [ // x distance between extreme point and center point normalized with eye size\n (eyeCenter[0] - irisCenter[0]) / eyeSize[0] - offsetIris[0],\n eyeRatio * (irisCenter[1] - eyeCenter[1]) / eyeSize[1] - offsetIris[1],\n ];\n let strength = Math.sqrt((eyeDiff[0] ** 2) + (eyeDiff[1] ** 2)); // vector length is a diagonal between two differences\n strength = Math.min(strength, box[2] / 2, box[3] / 2); // limit strength to half of box size to avoid clipping due to low precision\n const bearing = (radians([0, 0], eyeDiff) + (Math.PI / 2)) % Math.PI; // using eyeDiff instead eyeCenter/irisCenter combo due to manual adjustments and rotate clockwise 90degrees\n\n return { bearing, strength };\n};\n\nconst calculateFaceAngle = (face, imageSize): {\n angle: { pitch: number, yaw: number, roll: number },\n matrix: [number, number, number, number, number, number, number, number, number],\n gaze: { bearing: number, strength: number },\n} => {\n // const degrees = (theta) => Math.abs(((theta * 180) / Math.PI) % 360);\n const normalize = (v) => { // normalize vector\n const length = Math.sqrt(v[0] * v[0] + v[1] * v[1] + v[2] * v[2]);\n v[0] /= length;\n v[1] /= length;\n v[2] /= length;\n return v;\n };\n const subVectors = (a, b) => { // vector subtraction (a - b)\n const x = a[0] - b[0];\n const y = a[1] - b[1];\n const z = a[2] - b[2];\n return [x, y, z];\n };\n const crossVectors = (a, b) => { // vector cross product (a x b)\n const x = a[1] * b[2] - a[2] * b[1];\n const y = a[2] * b[0] - a[0] * b[2];\n const z = a[0] * b[1] - a[1] * b[0];\n return [x, y, z];\n };\n // 3x3 rotation matrix to Euler angles based on https://www.geometrictools.com/Documentation/EulerAngles.pdf\n const rotationMatrixToEulerAngle = (r) => {\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars\n const [r00, r01, r02, r10, r11, r12, r20, r21, r22] = r;\n let thetaX; let thetaY; let thetaZ;\n if (r10 < 1) { // YZX calculation\n if (r10 > -1) {\n thetaZ = Math.asin(r10);\n thetaY = Math.atan2(-r20, r00);\n thetaX = Math.atan2(-r12, r11);\n } else {\n thetaZ = -Math.PI / 2;\n thetaY = -Math.atan2(r21, r22);\n thetaX = 0;\n }\n } else {\n thetaZ = Math.PI / 2;\n thetaY = Math.atan2(r21, r22);\n thetaX = 0;\n }\n return { pitch: 2 * -thetaX, yaw: 2 * -thetaY, roll: 2 * -thetaZ };\n };\n // simple Euler angle calculation based existing 3D mesh\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars\n const meshToEulerAngle = (mesh) => {\n const radians = (a1, a2, b1, b2) => Math.atan2(b2 - a2, b1 - a1);\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars\n const angle = {\n // values are in radians in range of -pi/2 to pi/2 which is -90 to +90 degrees, value of 0 means center\n // pitch is face move up/down\n pitch: radians(mesh[10][1], mesh[10][2], mesh[152][1], mesh[152][2]), // looking at y,z of top and bottom points of the face\n // yaw is face turn left/right\n yaw: radians(mesh[33][0], mesh[33][2], mesh[263][0], mesh[263][2]), // looking at x,z of outside corners of leftEye and rightEye\n // roll is face lean left/right\n roll: radians(mesh[33][0], mesh[33][1], mesh[263][0], mesh[263][1]), // looking at x,y of outside corners of leftEye and rightEye\n };\n return angle;\n };\n\n // initialize gaze and mesh\n const mesh = face.meshRaw;\n if (!mesh || mesh.length < 300) return { angle: { pitch: 0, yaw: 0, roll: 0 }, matrix: [1, 0, 0, 0, 1, 0, 0, 0, 1], gaze: { bearing: 0, strength: 0 } };\n\n const size = Math.max(face.boxRaw[2] * imageSize[0], face.boxRaw[3] * imageSize[1]) / 1.5;\n // top, bottom, left, right\n const pts = [mesh[10], mesh[152], mesh[234], mesh[454]].map((pt) => [\n // make the xyz coordinates proportional, independent of the image/box size\n pt[0] * imageSize[0] / size,\n pt[1] * imageSize[1] / size,\n pt[2],\n ]);\n\n const y_axis = normalize(subVectors(pts[1], pts[0]));\n let x_axis = normalize(subVectors(pts[3], pts[2]));\n const z_axis = normalize(crossVectors(x_axis, y_axis));\n // adjust x_axis to make sure that all axes are perpendicular to each other\n x_axis = crossVectors(y_axis, z_axis);\n\n // Rotation Matrix from Axis Vectors - http://renderdan.blogspot.com/2006/05/rotation-matrix-from-axis-vectors.html\n // 3x3 rotation matrix is flatten to array in row-major order. Note that the rotation represented by this matrix is inverted.\n const matrix: [number, number, number, number, number, number, number, number, number] = [\n x_axis[0], x_axis[1], x_axis[2],\n y_axis[0], y_axis[1], y_axis[2],\n z_axis[0], z_axis[1], z_axis[2],\n ];\n const angle = rotationMatrixToEulerAngle(matrix);\n // const angle = meshToEulerAngle(mesh);\n\n // we have iris keypoints so we can calculate gaze direction\n const gaze = mesh.length === 478 ? calculateGaze(mesh, face.box) : { bearing: 0, strength: 0 };\n\n return { angle, matrix, gaze };\n};\n\nexport const detectFace = async (parent /* instance of human */, input: Tensor): Promise => {\n // run facemesh, includes blazeface and iris\n // eslint-disable-next-line no-async-promise-executor\n let timeStamp;\n let ageRes;\n let genderRes;\n let emotionRes;\n let embeddingRes;\n let descRes;\n const faceRes: Array = [];\n parent.state = 'run:face';\n timeStamp = now();\n const faces = await facemesh.predict(input, parent.config);\n parent.performance.face = Math.trunc(now() - timeStamp);\n if (!input.shape || input.shape.length !== 4) return [];\n if (!faces) return [];\n // for (const face of faces) {\n for (let i = 0; i < faces.length; i++) {\n parent.analyze('Get Face');\n\n // is something went wrong, skip the face\n // @ts-ignore possibly undefined\n if (!faces[i].image || faces[i].image['isDisposedInternal']) {\n log('Face object is disposed:', faces[i].image);\n continue;\n }\n\n const rotation = calculateFaceAngle(faces[i], [input.shape[2], input.shape[1]]);\n\n // run emotion, inherits face from blazeface\n parent.analyze('Start Emotion:');\n if (parent.config.async) {\n emotionRes = parent.config.face.emotion.enabled ? emotion.predict(faces[i].image, parent.config, i, faces.length) : {};\n } else {\n parent.state = 'run:emotion';\n timeStamp = now();\n emotionRes = parent.config.face.emotion.enabled ? await emotion.predict(faces[i].image, parent.config, i, faces.length) : {};\n parent.performance.emotion = Math.trunc(now() - timeStamp);\n }\n parent.analyze('End Emotion:');\n\n // run emotion, inherits face from blazeface\n parent.analyze('Start Description:');\n if (parent.config.async) {\n descRes = parent.config.face.description.enabled ? faceres.predict(faces[i], parent.config, i, faces.length) : [];\n } else {\n parent.state = 'run:description';\n timeStamp = now();\n descRes = parent.config.face.description.enabled ? await faceres.predict(faces[i].image, parent.config, i, faces.length) : [];\n parent.performance.embedding = Math.trunc(now() - timeStamp);\n }\n parent.analyze('End Description:');\n\n // if async wait for results\n if (parent.config.async) {\n [ageRes, genderRes, emotionRes, embeddingRes, descRes] = await Promise.all([ageRes, genderRes, emotionRes, embeddingRes, descRes]);\n }\n\n parent.analyze('Finish Face:');\n\n // calculate iris distance\n // iris: array[ center, left, top, right, bottom]\n if (!parent.config.face.iris.enabled && faces[i]?.annotations?.leftEyeIris && faces[i]?.annotations?.rightEyeIris) {\n delete faces[i].annotations.leftEyeIris;\n delete faces[i].annotations.rightEyeIris;\n }\n const irisSize = (faces[i].annotations?.leftEyeIris && faces[i].annotations?.rightEyeIris)\n /* note: average human iris size is 11.7mm */\n ? Math.max(Math.abs(faces[i].annotations.leftEyeIris[3][0] - faces[i].annotations.leftEyeIris[1][0]), Math.abs(faces[i].annotations.rightEyeIris[4][1] - faces[i].annotations.rightEyeIris[2][1])) / input.shape[2]\n : 0;\n\n // combine results\n if (faces[i].image) delete faces[i].image;\n faceRes.push({\n ...faces[i],\n id: i,\n age: descRes.age,\n gender: descRes.gender,\n genderScore: descRes.genderScore,\n embedding: descRes.descriptor,\n emotion: emotionRes,\n iris: irisSize !== 0 ? Math.trunc(500 / irisSize / 11.7) / 100 : 0,\n rotation,\n tensor: parent.config.face.detector.return ? tf.squeeze(faces[i].image) : null,\n });\n // dispose original face tensor\n tf.dispose(faces[i].image);\n\n parent.analyze('End Face');\n }\n parent.analyze('End FaceMesh:');\n if (parent.config.async) {\n if (parent.performance.face) delete parent.performance.face;\n if (parent.performance.age) delete parent.performance.age;\n if (parent.performance.gender) delete parent.performance.gender;\n if (parent.performance.emotion) delete parent.performance.emotion;\n }\n return faceRes;\n};\n", "/**\n * PoseNet module entry point\n */\n\nimport { log, join } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\nimport * as poses from './poses';\nimport * as util from './utils';\nimport { Body } from '../result';\nimport { Tensor, GraphModel } from '../tfjs/types';\n\nlet model: GraphModel;\nconst poseNetOutputs = ['MobilenetV1/offset_2/BiasAdd'/* offsets */, 'MobilenetV1/heatmap_2/BiasAdd'/* heatmapScores */, 'MobilenetV1/displacement_fwd_2/BiasAdd'/* displacementFwd */, 'MobilenetV1/displacement_bwd_2/BiasAdd'/* displacementBwd */];\n\nexport async function predict(input, config): Promise {\n const res = tf.tidy(() => {\n if (!model.inputs[0].shape) return [];\n const resized = input.resizeBilinear([model.inputs[0].shape[2], model.inputs[0].shape[1]]);\n const normalized = resized.toFloat().div(127.5).sub(1.0);\n const results: Array = model.execute(normalized, poseNetOutputs) as Array;\n const results3d = results.map((y) => y.squeeze([0]));\n results3d[1] = results3d[1].sigmoid(); // apply sigmoid on scores\n return results3d;\n });\n\n const buffers = await Promise.all(res.map((tensor) => tensor.buffer()));\n for (const t of res) t.dispose();\n\n const decoded = await poses.decode(buffers[0], buffers[1], buffers[2], buffers[3], config.body.maxDetected, config.body.minConfidence);\n if (!model.inputs[0].shape) return [];\n const scaled = util.scalePoses(decoded, [input.shape[1], input.shape[2]], [model.inputs[0].shape[2], model.inputs[0].shape[1]]) as Body[];\n return scaled;\n}\n\nexport async function load(config) {\n if (!model) {\n // @ts-ignore type mismatch for GraphModel\n model = await tf.loadGraphModel(join(config.modelBasePath, config.body.modelPath));\n if (!model || !model['modelUrl']) log('load model failed:', config.body.modelPath);\n else if (config.debug) log('load model:', model['modelUrl']);\n } else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n", "export const partNames = [\n 'nose', 'leftEye', 'rightEye', 'leftEar', 'rightEar', 'leftShoulder',\n 'rightShoulder', 'leftElbow', 'rightElbow', 'leftWrist', 'rightWrist',\n 'leftHip', 'rightHip', 'leftKnee', 'rightKnee', 'leftAnkle', 'rightAnkle',\n];\n\nexport const count = partNames.length; // 17 keypoints\n\nexport const partIds = partNames.reduce((result, jointName, i) => {\n result[jointName] = i;\n return result;\n}, {});\n\nconst connectedPartNames = [\n ['leftHip', 'leftShoulder'], ['leftElbow', 'leftShoulder'],\n ['leftElbow', 'leftWrist'], ['leftHip', 'leftKnee'],\n ['leftKnee', 'leftAnkle'], ['rightHip', 'rightShoulder'],\n ['rightElbow', 'rightShoulder'], ['rightElbow', 'rightWrist'],\n ['rightHip', 'rightKnee'], ['rightKnee', 'rightAnkle'],\n ['leftShoulder', 'rightShoulder'], ['leftHip', 'rightHip'],\n];\nexport const connectedPartIndices = connectedPartNames.map(([jointNameA, jointNameB]) => ([partIds[jointNameA], partIds[jointNameB]]));\n\nexport const poseChain = [\n ['nose', 'leftEye'], ['leftEye', 'leftEar'], ['nose', 'rightEye'],\n ['rightEye', 'rightEar'], ['nose', 'leftShoulder'],\n ['leftShoulder', 'leftElbow'], ['leftElbow', 'leftWrist'],\n ['leftShoulder', 'leftHip'], ['leftHip', 'leftKnee'],\n ['leftKnee', 'leftAnkle'], ['nose', 'rightShoulder'],\n ['rightShoulder', 'rightElbow'], ['rightElbow', 'rightWrist'],\n ['rightShoulder', 'rightHip'], ['rightHip', 'rightKnee'],\n ['rightKnee', 'rightAnkle'],\n];\n", "import * as kpt from './keypoints';\nimport { Body } from '../result';\n\nexport function eitherPointDoesntMeetConfidence(a, b, minConfidence) {\n return (a < minConfidence || b < minConfidence);\n}\n\nexport function getAdjacentKeyPoints(keypoints, minConfidence) {\n return kpt.connectedPartIndices.reduce((result, [leftJoint, rightJoint]) => {\n if (eitherPointDoesntMeetConfidence(keypoints[leftJoint].score, keypoints[rightJoint].score, minConfidence)) {\n return result;\n }\n result.push([keypoints[leftJoint], keypoints[rightJoint]]);\n return result;\n }, []);\n}\n\nexport function getBoundingBox(keypoints): [number, number, number, number] {\n const coord = keypoints.reduce(({ maxX, maxY, minX, minY }, { position: { x, y } }) => ({\n maxX: Math.max(maxX, x),\n maxY: Math.max(maxY, y),\n minX: Math.min(minX, x),\n minY: Math.min(minY, y),\n }), {\n maxX: Number.NEGATIVE_INFINITY,\n maxY: Number.NEGATIVE_INFINITY,\n minX: Number.POSITIVE_INFINITY,\n minY: Number.POSITIVE_INFINITY,\n });\n return [coord.minX, coord.minY, coord.maxX - coord.minX, coord.maxY - coord.minY];\n}\n\nexport function scalePoses(poses, [height, width], [inputResolutionHeight, inputResolutionWidth]): Array {\n const scaleY = height / inputResolutionHeight;\n const scaleX = width / inputResolutionWidth;\n const scalePose = (pose, i) => ({\n id: i,\n score: pose.score,\n boxRaw: [pose.box[0] / inputResolutionWidth, pose.box[1] / inputResolutionHeight, pose.box[2] / inputResolutionWidth, pose.box[3] / inputResolutionHeight],\n box: [Math.trunc(pose.box[0] * scaleX), Math.trunc(pose.box[1] * scaleY), Math.trunc(pose.box[2] * scaleX), Math.trunc(pose.box[3] * scaleY)],\n keypoints: pose.keypoints.map(({ score, part, position }) => ({\n score,\n part,\n position: [Math.trunc(position.x * scaleX), Math.trunc(position.y * scaleY)],\n positionRaw: [position.x / inputResolutionHeight, position.y / inputResolutionHeight],\n })),\n });\n const scaledPoses = poses.map((pose, i) => scalePose(pose, i));\n return scaledPoses;\n}\n\n// algorithm based on Coursera Lecture from Algorithms, Part 1: https://www.coursera.org/learn/algorithms-part1/lecture/ZjoSM/heapsort\nexport class MaxHeap {\n priorityQueue: Array; // don't touch\n numberOfElements: number;\n getElementValue: unknown; // function call\n\n constructor(maxSize, getElementValue) {\n this.priorityQueue = new Array(maxSize);\n this.numberOfElements = -1;\n this.getElementValue = getElementValue;\n }\n\n enqueue(x) {\n this.priorityQueue[++this.numberOfElements] = x;\n this.swim(this.numberOfElements);\n }\n\n dequeue() {\n const max = this.priorityQueue[0];\n this.exchange(0, this.numberOfElements--);\n this.sink(0);\n this.priorityQueue[this.numberOfElements + 1] = null;\n return max;\n }\n\n empty() { return this.numberOfElements === -1; }\n\n size() { return this.numberOfElements + 1; }\n\n all() { return this.priorityQueue.slice(0, this.numberOfElements + 1); }\n\n max() { return this.priorityQueue[0]; }\n\n swim(k) {\n while (k > 0 && this.less(Math.floor(k / 2), k)) {\n this.exchange(k, Math.floor(k / 2));\n k = Math.floor(k / 2);\n }\n }\n\n sink(k) {\n while (2 * k <= this.numberOfElements) {\n let j = 2 * k;\n if (j < this.numberOfElements && this.less(j, j + 1)) j++;\n if (!this.less(k, j)) break;\n this.exchange(k, j);\n k = j;\n }\n }\n\n getValueAt(i) {\n // @ts-ignore getter is of unknown type\n return this.getElementValue(this.priorityQueue[i]);\n }\n\n less(i, j) {\n return this.getValueAt(i) < this.getValueAt(j);\n }\n\n exchange(i, j) {\n const t = this.priorityQueue[i];\n this.priorityQueue[i] = this.priorityQueue[j];\n this.priorityQueue[j] = t;\n }\n}\n\nexport function getOffsetPoint(y, x, keypoint, offsets) {\n return {\n y: offsets.get(y, x, keypoint),\n x: offsets.get(y, x, keypoint + kpt.count),\n };\n}\n\nexport function getImageCoords(part, outputStride, offsets) {\n const { heatmapY, heatmapX, id: keypoint } = part;\n const { y, x } = getOffsetPoint(heatmapY, heatmapX, keypoint, offsets);\n return {\n x: part.heatmapX * outputStride + x,\n y: part.heatmapY * outputStride + y,\n };\n}\n\nexport function fillArray(element, size) {\n const result = new Array(size);\n for (let i = 0; i < size; i++) {\n result[i] = element;\n }\n return result;\n}\n\nexport function clamp(a, min, max) {\n if (a < min) return min;\n if (a > max) return max;\n return a;\n}\n\nexport function squaredDistance(y1, x1, y2, x2) {\n const dy = y2 - y1;\n const dx = x2 - x1;\n return dy * dy + dx * dx;\n}\n\nexport function addVectors(a, b) {\n return { x: a.x + b.x, y: a.y + b.y };\n}\n\nexport function clampVector(a, min, max) {\n return { y: clamp(a.y, min, max), x: clamp(a.x, min, max) };\n}\n", "import * as utils from './utils';\nimport * as kpt from './keypoints';\n\nconst localMaximumRadius = 1;\nconst outputStride = 16;\nconst squaredNmsRadius = 50 ** 2;\n\nfunction traverse(edgeId, sourceKeypoint, targetId, scores, offsets, displacements, offsetRefineStep = 2) {\n const getDisplacement = (point) => ({\n y: displacements.get(point.y, point.x, edgeId),\n x: displacements.get(point.y, point.x, (displacements.shape[2] / 2) + edgeId),\n });\n const getStridedIndexNearPoint = (point, height, width) => ({\n y: utils.clamp(Math.round(point.y / outputStride), 0, height - 1),\n x: utils.clamp(Math.round(point.x / outputStride), 0, width - 1),\n });\n\n const [height, width] = scores.shape;\n // Nearest neighbor interpolation for the source->target displacements.\n const sourceKeypointIndices = getStridedIndexNearPoint(sourceKeypoint.position, height, width);\n const displacement = getDisplacement(sourceKeypointIndices);\n const displacedPoint = utils.addVectors(sourceKeypoint.position, displacement);\n let targetKeypoint = displacedPoint;\n for (let i = 0; i < offsetRefineStep; i++) {\n const targetKeypointIndices = getStridedIndexNearPoint(targetKeypoint, height, width);\n const offsetPoint = utils.getOffsetPoint(targetKeypointIndices.y, targetKeypointIndices.x, targetId, offsets);\n targetKeypoint = utils.addVectors(\n { x: targetKeypointIndices.x * outputStride, y: targetKeypointIndices.y * outputStride },\n { x: offsetPoint.x, y: offsetPoint.y },\n );\n }\n const targetKeyPointIndices = getStridedIndexNearPoint(targetKeypoint, height, width);\n const score = scores.get(targetKeyPointIndices.y, targetKeyPointIndices.x, targetId);\n return { position: targetKeypoint, part: kpt.partNames[targetId], score };\n}\n\nexport function decodePose(root, scores, offsets, displacementsFwd, displacementsBwd) {\n const tuples = kpt.poseChain.map(([parentJoinName, childJoinName]) => ([kpt.partIds[parentJoinName], kpt.partIds[childJoinName]]));\n const edgesFwd = tuples.map(([, childJointId]) => childJointId);\n const edgesBwd = tuples.map(([parentJointId]) => parentJointId);\n const numParts = scores.shape[2]; // [21,21,17]\n const numEdges = edgesFwd.length;\n const keypoints = new Array(numParts);\n // Start a new detection instance at the position of the root.\n const rootPoint = utils.getImageCoords(root.part, outputStride, offsets);\n keypoints[root.part.id] = {\n score: root.score,\n part: kpt.partNames[root.part.id],\n position: rootPoint,\n };\n // Decode the part positions upwards in the tree, following the backward displacements.\n for (let edge = numEdges - 1; edge >= 0; --edge) {\n const sourceId = edgesFwd[edge];\n const targetId = edgesBwd[edge];\n if (keypoints[sourceId] && !keypoints[targetId]) {\n keypoints[targetId] = traverse(edge, keypoints[sourceId], targetId, scores, offsets, displacementsBwd);\n }\n }\n // Decode the part positions downwards in the tree, following the forward displacements.\n for (let edge = 0; edge < numEdges; ++edge) {\n const sourceId = edgesBwd[edge];\n const targetId = edgesFwd[edge];\n if (keypoints[sourceId] && !keypoints[targetId]) {\n keypoints[targetId] = traverse(edge, keypoints[sourceId], targetId, scores, offsets, displacementsFwd);\n }\n }\n return keypoints;\n}\n\nfunction scoreIsMaximumInLocalWindow(keypointId, score, heatmapY, heatmapX, scores) {\n const [height, width] = scores.shape;\n let localMaximum = true;\n const yStart = Math.max(heatmapY - localMaximumRadius, 0);\n const yEnd = Math.min(heatmapY + localMaximumRadius + 1, height);\n for (let yCurrent = yStart; yCurrent < yEnd; ++yCurrent) {\n const xStart = Math.max(heatmapX - localMaximumRadius, 0);\n const xEnd = Math.min(heatmapX + localMaximumRadius + 1, width);\n for (let xCurrent = xStart; xCurrent < xEnd; ++xCurrent) {\n if (scores.get(yCurrent, xCurrent, keypointId) > score) {\n localMaximum = false;\n break;\n }\n }\n if (!localMaximum) break;\n }\n return localMaximum;\n}\n\nexport function buildPartWithScoreQueue(minConfidence, scores) {\n const [height, width, numKeypoints] = scores.shape;\n const queue = new utils.MaxHeap(height * width * numKeypoints, ({ score }) => score);\n for (let heatmapY = 0; heatmapY < height; ++heatmapY) {\n for (let heatmapX = 0; heatmapX < width; ++heatmapX) {\n for (let keypointId = 0; keypointId < numKeypoints; ++keypointId) {\n const score = scores.get(heatmapY, heatmapX, keypointId);\n // Only consider parts with score greater or equal to threshold as root candidates.\n if (score < minConfidence) continue;\n // Only consider keypoints whose score is maximum in a local window.\n if (scoreIsMaximumInLocalWindow(keypointId, score, heatmapY, heatmapX, scores)) queue.enqueue({ score, part: { heatmapY, heatmapX, id: keypointId } });\n }\n }\n }\n return queue;\n}\n\nfunction withinRadius(poses, { x, y }, keypointId) {\n return poses.some(({ keypoints }) => {\n const correspondingKeypoint = keypoints[keypointId]?.position;\n if (!correspondingKeypoint) return false;\n return utils.squaredDistance(y, x, correspondingKeypoint.y, correspondingKeypoint.x) <= squaredNmsRadius;\n });\n}\n\nfunction getInstanceScore(existingPoses, keypoints) {\n const notOverlappedKeypointScores = keypoints.reduce((result, { position, score }, keypointId) => {\n if (!withinRadius(existingPoses, position, keypointId)) result += score;\n return result;\n }, 0.0);\n return notOverlappedKeypointScores / keypoints.length;\n}\n\nexport function decode(offsets, scores, displacementsFwd, displacementsBwd, maxDetected, minConfidence) {\n const poses: Array<{ keypoints, box: [number, number, number, number], score: number }> = [];\n const queue = buildPartWithScoreQueue(minConfidence, scores);\n // Generate at most maxDetected object instances per image in decreasing root part score order.\n while (poses.length < maxDetected && !queue.empty()) {\n // The top element in the queue is the next root candidate.\n const root = queue.dequeue();\n // Part-based non-maximum suppression: We reject a root candidate if it is within a disk of `nmsRadius` pixels from the corresponding part of a previously detected instance.\n // @ts-ignore this one is tree walk\n const rootImageCoords = utils.getImageCoords(root.part, outputStride, offsets);\n // @ts-ignore this one is tree walk\n if (withinRadius(poses, rootImageCoords, root.part.id)) continue;\n // Else start a new detection instance at the position of the root.\n let keypoints = decodePose(root, scores, offsets, displacementsFwd, displacementsBwd);\n keypoints = keypoints.filter((a) => a.score > minConfidence);\n const score = getInstanceScore(poses, keypoints);\n const box = utils.getBoundingBox(keypoints);\n if (score > minConfidence) poses.push({ keypoints, box, score: Math.round(100 * score) / 100 });\n }\n return poses;\n}\n", "/**\n * HandPose module entry point\n */\n\nimport { log, join } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\nimport * as handdetector from './handdetector';\nimport * as handpipeline from './handpipeline';\nimport { Hand } from '../result';\nimport { GraphModel } from '../tfjs/types';\n\nconst meshAnnotations = {\n thumb: [1, 2, 3, 4],\n indexFinger: [5, 6, 7, 8],\n middleFinger: [9, 10, 11, 12],\n ringFinger: [13, 14, 15, 16],\n pinky: [17, 18, 19, 20],\n palmBase: [0],\n};\n\nlet handDetectorModel: GraphModel | null;\nlet handPoseModel: GraphModel | null;\nlet handPipeline: handpipeline.HandPipeline;\n\nexport async function predict(input, config): Promise {\n const predictions = await handPipeline.estimateHands(input, config);\n if (!predictions) return [];\n const hands: Array = [];\n for (let i = 0; i < predictions.length; i++) {\n const annotations = {};\n if (predictions[i].landmarks) {\n for (const key of Object.keys(meshAnnotations)) {\n // @ts-ignore landmarks are not undefined\n annotations[key] = meshAnnotations[key].map((index) => predictions[i].landmarks[index]);\n }\n }\n\n const keypoints = predictions[i].landmarks as unknown as Array<[number, number, number]>;\n\n let box: [number, number, number, number] = [Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER, 0, 0]; // maximums so conditionals work\n let boxRaw: [number, number, number, number] = [0, 0, 0, 0];\n if (keypoints && keypoints.length > 0) { // if we have landmarks, calculate box based on landmarks\n for (const pt of keypoints) {\n if (pt[0] < box[0]) box[0] = pt[0];\n if (pt[1] < box[1]) box[1] = pt[1];\n if (pt[0] > box[2]) box[2] = pt[0];\n if (pt[1] > box[3]) box[3] = pt[1];\n }\n box[2] -= box[0];\n box[3] -= box[1];\n boxRaw = [box[0] / input.shape[2], box[1] / input.shape[1], box[2] / input.shape[2], box[3] / input.shape[1]];\n } else { // otherwise use box from prediction\n box = predictions[i].box ? [\n Math.trunc(Math.max(0, predictions[i].box.topLeft[0])),\n Math.trunc(Math.max(0, predictions[i].box.topLeft[1])),\n Math.trunc(Math.min(input.shape[2], predictions[i].box.bottomRight[0]) - Math.max(0, predictions[i].box.topLeft[0])),\n Math.trunc(Math.min(input.shape[1], predictions[i].box.bottomRight[1]) - Math.max(0, predictions[i].box.topLeft[1])),\n ] : [0, 0, 0, 0];\n boxRaw = [\n (predictions[i].box.topLeft[0]) / input.shape[2],\n (predictions[i].box.topLeft[1]) / input.shape[1],\n (predictions[i].box.bottomRight[0] - predictions[i].box.topLeft[0]) / input.shape[2],\n (predictions[i].box.bottomRight[1] - predictions[i].box.topLeft[1]) / input.shape[1],\n ];\n }\n hands.push({ id: i, score: Math.round(100 * predictions[i].confidence) / 100, box, boxRaw, keypoints, annotations });\n }\n return hands;\n}\n\nexport async function load(config): Promise<[unknown, unknown]> {\n if (!handDetectorModel || !handPoseModel) {\n // @ts-ignore type mismatch on GraphModel\n [handDetectorModel, handPoseModel] = await Promise.all([\n config.hand.enabled ? tf.loadGraphModel(join(config.modelBasePath, config.hand.detector.modelPath), { fromTFHub: config.hand.detector.modelPath.includes('tfhub.dev') }) : null,\n config.hand.landmarks ? tf.loadGraphModel(join(config.modelBasePath, config.hand.skeleton.modelPath), { fromTFHub: config.hand.skeleton.modelPath.includes('tfhub.dev') }) : null,\n ]);\n if (config.hand.enabled) {\n if (!handDetectorModel || !handDetectorModel['modelUrl']) log('load model failed:', config.hand.detector.modelPath);\n else if (config.debug) log('load model:', handDetectorModel['modelUrl']);\n if (!handPoseModel || !handPoseModel['modelUrl']) log('load model failed:', config.hand.skeleton.modelPath);\n else if (config.debug) log('load model:', handPoseModel['modelUrl']);\n }\n } else {\n if (config.debug) log('cached model:', handDetectorModel['modelUrl']);\n if (config.debug) log('cached model:', handPoseModel['modelUrl']);\n }\n const handDetector = new handdetector.HandDetector(handDetectorModel);\n handPipeline = new handpipeline.HandPipeline(handDetector, handPoseModel);\n return [handDetectorModel, handPoseModel];\n}\n", "import * as tf from '../../dist/tfjs.esm.js';\n\nexport function getBoxSize(box) {\n return [\n Math.abs(box.endPoint[0] - box.startPoint[0]),\n Math.abs(box.endPoint[1] - box.startPoint[1]),\n ];\n}\n\nexport function getBoxCenter(box) {\n return [\n box.startPoint[0] + (box.endPoint[0] - box.startPoint[0]) / 2,\n box.startPoint[1] + (box.endPoint[1] - box.startPoint[1]) / 2,\n ];\n}\n\nexport function cutBoxFromImageAndResize(box, image, cropSize) {\n const h = image.shape[1];\n const w = image.shape[2];\n const boxes = [[\n box.startPoint[1] / h,\n box.startPoint[0] / w,\n box.endPoint[1] / h,\n box.endPoint[0] / w,\n ]];\n return tf.image.cropAndResize(image, boxes, [0], cropSize);\n}\n\nexport function scaleBoxCoordinates(box, factor) {\n const startPoint = [box.startPoint[0] * factor[0], box.startPoint[1] * factor[1]];\n const endPoint = [box.endPoint[0] * factor[0], box.endPoint[1] * factor[1]];\n const palmLandmarks = box.palmLandmarks.map((coord) => {\n const scaledCoord = [coord[0] * factor[0], coord[1] * factor[1]];\n return scaledCoord;\n });\n return { startPoint, endPoint, palmLandmarks, confidence: box.confidence };\n}\n\nexport function enlargeBox(box, factor = 1.5) {\n const center = getBoxCenter(box);\n const size = getBoxSize(box);\n const newHalfSize = [factor * size[0] / 2, factor * size[1] / 2];\n const startPoint = [center[0] - newHalfSize[0], center[1] - newHalfSize[1]];\n const endPoint = [center[0] + newHalfSize[0], center[1] + newHalfSize[1]];\n return { startPoint, endPoint, palmLandmarks: box.palmLandmarks };\n}\n\nexport function squarifyBox(box) {\n const centers = getBoxCenter(box);\n const size = getBoxSize(box);\n const maxEdge = Math.max(...size);\n const halfSize = maxEdge / 2;\n const startPoint = [centers[0] - halfSize, centers[1] - halfSize];\n const endPoint = [centers[0] + halfSize, centers[1] + halfSize];\n return { startPoint, endPoint, palmLandmarks: box.palmLandmarks };\n}\n\nexport function shiftBox(box, shiftFactor) {\n const boxSize = [\n box.endPoint[0] - box.startPoint[0],\n box.endPoint[1] - box.startPoint[1],\n ];\n const shiftVector = [boxSize[0] * shiftFactor[0], boxSize[1] * shiftFactor[1]];\n const startPoint = [box.startPoint[0] + shiftVector[0], box.startPoint[1] + shiftVector[1]];\n const endPoint = [box.endPoint[0] + shiftVector[0], box.endPoint[1] + shiftVector[1]];\n return { startPoint, endPoint, palmLandmarks: box.palmLandmarks };\n}\n", "export const anchors = [\n { x: 0.015625, y: 0.015625 },\n { x: 0.015625, y: 0.015625 },\n { x: 0.046875, y: 0.015625 },\n { x: 0.046875, y: 0.015625 },\n { x: 0.078125, y: 0.015625 },\n { x: 0.078125, y: 0.015625 },\n { x: 0.109375, y: 0.015625 },\n { x: 0.109375, y: 0.015625 },\n { x: 0.140625, y: 0.015625 },\n { x: 0.140625, y: 0.015625 },\n { x: 0.171875, y: 0.015625 },\n { x: 0.171875, y: 0.015625 },\n { x: 0.203125, y: 0.015625 },\n { x: 0.203125, y: 0.015625 },\n { x: 0.234375, y: 0.015625 },\n { x: 0.234375, y: 0.015625 },\n { x: 0.265625, y: 0.015625 },\n { x: 0.265625, y: 0.015625 },\n { x: 0.296875, y: 0.015625 },\n { x: 0.296875, y: 0.015625 },\n { x: 0.328125, y: 0.015625 },\n { x: 0.328125, y: 0.015625 },\n { x: 0.359375, y: 0.015625 },\n { x: 0.359375, y: 0.015625 },\n { x: 0.390625, y: 0.015625 },\n { x: 0.390625, y: 0.015625 },\n { x: 0.421875, y: 0.015625 },\n { x: 0.421875, y: 0.015625 },\n { x: 0.453125, y: 0.015625 },\n { x: 0.453125, y: 0.015625 },\n { x: 0.484375, y: 0.015625 },\n { x: 0.484375, y: 0.015625 },\n { x: 0.515625, y: 0.015625 },\n { x: 0.515625, y: 0.015625 },\n { x: 0.546875, y: 0.015625 },\n { x: 0.546875, y: 0.015625 },\n { x: 0.578125, y: 0.015625 },\n { x: 0.578125, y: 0.015625 },\n { x: 0.609375, y: 0.015625 },\n { x: 0.609375, y: 0.015625 },\n { x: 0.640625, y: 0.015625 },\n { x: 0.640625, y: 0.015625 },\n { x: 0.671875, y: 0.015625 },\n { x: 0.671875, y: 0.015625 },\n { x: 0.703125, y: 0.015625 },\n { x: 0.703125, y: 0.015625 },\n { x: 0.734375, y: 0.015625 },\n { x: 0.734375, y: 0.015625 },\n { x: 0.765625, y: 0.015625 },\n { x: 0.765625, y: 0.015625 },\n { x: 0.796875, y: 0.015625 },\n { x: 0.796875, y: 0.015625 },\n { x: 0.828125, y: 0.015625 },\n { x: 0.828125, y: 0.015625 },\n { x: 0.859375, y: 0.015625 },\n { x: 0.859375, y: 0.015625 },\n { x: 0.890625, y: 0.015625 },\n { x: 0.890625, y: 0.015625 },\n { x: 0.921875, y: 0.015625 },\n { x: 0.921875, y: 0.015625 },\n { x: 0.953125, y: 0.015625 },\n { x: 0.953125, y: 0.015625 },\n { x: 0.984375, y: 0.015625 },\n { x: 0.984375, y: 0.015625 },\n { x: 0.015625, y: 0.046875 },\n { x: 0.015625, y: 0.046875 },\n { x: 0.046875, y: 0.046875 },\n { x: 0.046875, y: 0.046875 },\n { x: 0.078125, y: 0.046875 },\n { x: 0.078125, y: 0.046875 },\n { x: 0.109375, y: 0.046875 },\n { x: 0.109375, y: 0.046875 },\n { x: 0.140625, y: 0.046875 },\n { x: 0.140625, y: 0.046875 },\n { x: 0.171875, y: 0.046875 },\n { x: 0.171875, y: 0.046875 },\n { x: 0.203125, y: 0.046875 },\n { x: 0.203125, y: 0.046875 },\n { x: 0.234375, y: 0.046875 },\n { x: 0.234375, y: 0.046875 },\n { x: 0.265625, y: 0.046875 },\n { x: 0.265625, y: 0.046875 },\n { x: 0.296875, y: 0.046875 },\n { x: 0.296875, y: 0.046875 },\n { x: 0.328125, y: 0.046875 },\n { x: 0.328125, y: 0.046875 },\n { x: 0.359375, y: 0.046875 },\n { x: 0.359375, y: 0.046875 },\n { x: 0.390625, y: 0.046875 },\n { x: 0.390625, y: 0.046875 },\n { x: 0.421875, y: 0.046875 },\n { x: 0.421875, y: 0.046875 },\n { x: 0.453125, y: 0.046875 },\n { x: 0.453125, y: 0.046875 },\n { x: 0.484375, y: 0.046875 },\n { x: 0.484375, y: 0.046875 },\n { x: 0.515625, y: 0.046875 },\n { x: 0.515625, y: 0.046875 },\n { x: 0.546875, y: 0.046875 },\n { x: 0.546875, y: 0.046875 },\n { x: 0.578125, y: 0.046875 },\n { x: 0.578125, y: 0.046875 },\n { x: 0.609375, y: 0.046875 },\n { x: 0.609375, y: 0.046875 },\n { x: 0.640625, y: 0.046875 },\n { x: 0.640625, y: 0.046875 },\n { x: 0.671875, y: 0.046875 },\n { x: 0.671875, y: 0.046875 },\n { x: 0.703125, y: 0.046875 },\n { x: 0.703125, y: 0.046875 },\n { x: 0.734375, y: 0.046875 },\n { x: 0.734375, y: 0.046875 },\n { x: 0.765625, y: 0.046875 },\n { x: 0.765625, y: 0.046875 },\n { x: 0.796875, y: 0.046875 },\n { x: 0.796875, y: 0.046875 },\n { x: 0.828125, y: 0.046875 },\n { x: 0.828125, y: 0.046875 },\n { x: 0.859375, y: 0.046875 },\n { x: 0.859375, y: 0.046875 },\n { x: 0.890625, y: 0.046875 },\n { x: 0.890625, y: 0.046875 },\n { x: 0.921875, y: 0.046875 },\n { x: 0.921875, y: 0.046875 },\n { x: 0.953125, y: 0.046875 },\n { x: 0.953125, y: 0.046875 },\n { x: 0.984375, y: 0.046875 },\n { x: 0.984375, y: 0.046875 },\n { x: 0.015625, y: 0.078125 },\n { x: 0.015625, y: 0.078125 },\n { x: 0.046875, y: 0.078125 },\n { x: 0.046875, y: 0.078125 },\n { x: 0.078125, y: 0.078125 },\n { x: 0.078125, y: 0.078125 },\n { x: 0.109375, y: 0.078125 },\n { x: 0.109375, y: 0.078125 },\n { x: 0.140625, y: 0.078125 },\n { x: 0.140625, y: 0.078125 },\n { x: 0.171875, y: 0.078125 },\n { x: 0.171875, y: 0.078125 },\n { x: 0.203125, y: 0.078125 },\n { x: 0.203125, y: 0.078125 },\n { x: 0.234375, y: 0.078125 },\n { x: 0.234375, y: 0.078125 },\n { x: 0.265625, y: 0.078125 },\n { x: 0.265625, y: 0.078125 },\n { x: 0.296875, y: 0.078125 },\n { x: 0.296875, y: 0.078125 },\n { x: 0.328125, y: 0.078125 },\n { x: 0.328125, y: 0.078125 },\n { x: 0.359375, y: 0.078125 },\n { x: 0.359375, y: 0.078125 },\n { x: 0.390625, y: 0.078125 },\n { x: 0.390625, y: 0.078125 },\n { x: 0.421875, y: 0.078125 },\n { x: 0.421875, y: 0.078125 },\n { x: 0.453125, y: 0.078125 },\n { x: 0.453125, y: 0.078125 },\n { x: 0.484375, y: 0.078125 },\n { x: 0.484375, y: 0.078125 },\n { x: 0.515625, y: 0.078125 },\n { x: 0.515625, y: 0.078125 },\n { x: 0.546875, y: 0.078125 },\n { x: 0.546875, y: 0.078125 },\n { x: 0.578125, y: 0.078125 },\n { x: 0.578125, y: 0.078125 },\n { x: 0.609375, y: 0.078125 },\n { x: 0.609375, y: 0.078125 },\n { x: 0.640625, y: 0.078125 },\n { x: 0.640625, y: 0.078125 },\n { x: 0.671875, y: 0.078125 },\n { x: 0.671875, y: 0.078125 },\n { x: 0.703125, y: 0.078125 },\n { x: 0.703125, y: 0.078125 },\n { x: 0.734375, y: 0.078125 },\n { x: 0.734375, y: 0.078125 },\n { x: 0.765625, y: 0.078125 },\n { x: 0.765625, y: 0.078125 },\n { x: 0.796875, y: 0.078125 },\n { x: 0.796875, y: 0.078125 },\n { x: 0.828125, y: 0.078125 },\n { x: 0.828125, y: 0.078125 },\n { x: 0.859375, y: 0.078125 },\n { x: 0.859375, y: 0.078125 },\n { x: 0.890625, y: 0.078125 },\n { x: 0.890625, y: 0.078125 },\n { x: 0.921875, y: 0.078125 },\n { x: 0.921875, y: 0.078125 },\n { x: 0.953125, y: 0.078125 },\n { x: 0.953125, y: 0.078125 },\n { x: 0.984375, y: 0.078125 },\n { x: 0.984375, y: 0.078125 },\n { x: 0.015625, y: 0.109375 },\n { x: 0.015625, y: 0.109375 },\n { x: 0.046875, y: 0.109375 },\n { x: 0.046875, y: 0.109375 },\n { x: 0.078125, y: 0.109375 },\n { x: 0.078125, y: 0.109375 },\n { x: 0.109375, y: 0.109375 },\n { x: 0.109375, y: 0.109375 },\n { x: 0.140625, y: 0.109375 },\n { x: 0.140625, y: 0.109375 },\n { x: 0.171875, y: 0.109375 },\n { x: 0.171875, y: 0.109375 },\n { x: 0.203125, y: 0.109375 },\n { x: 0.203125, y: 0.109375 },\n { x: 0.234375, y: 0.109375 },\n { x: 0.234375, y: 0.109375 },\n { x: 0.265625, y: 0.109375 },\n { x: 0.265625, y: 0.109375 },\n { x: 0.296875, y: 0.109375 },\n { x: 0.296875, y: 0.109375 },\n { x: 0.328125, y: 0.109375 },\n { x: 0.328125, y: 0.109375 },\n { x: 0.359375, y: 0.109375 },\n { x: 0.359375, y: 0.109375 },\n { x: 0.390625, y: 0.109375 },\n { x: 0.390625, y: 0.109375 },\n { x: 0.421875, y: 0.109375 },\n { x: 0.421875, y: 0.109375 },\n { x: 0.453125, y: 0.109375 },\n { x: 0.453125, y: 0.109375 },\n { x: 0.484375, y: 0.109375 },\n { x: 0.484375, y: 0.109375 },\n { x: 0.515625, y: 0.109375 },\n { x: 0.515625, y: 0.109375 },\n { x: 0.546875, y: 0.109375 },\n { x: 0.546875, y: 0.109375 },\n { x: 0.578125, y: 0.109375 },\n { x: 0.578125, y: 0.109375 },\n { x: 0.609375, y: 0.109375 },\n { x: 0.609375, y: 0.109375 },\n { x: 0.640625, y: 0.109375 },\n { x: 0.640625, y: 0.109375 },\n { x: 0.671875, y: 0.109375 },\n { x: 0.671875, y: 0.109375 },\n { x: 0.703125, y: 0.109375 },\n { x: 0.703125, y: 0.109375 },\n { x: 0.734375, y: 0.109375 },\n { x: 0.734375, y: 0.109375 },\n { x: 0.765625, y: 0.109375 },\n { x: 0.765625, y: 0.109375 },\n { x: 0.796875, y: 0.109375 },\n { x: 0.796875, y: 0.109375 },\n { x: 0.828125, y: 0.109375 },\n { x: 0.828125, y: 0.109375 },\n { x: 0.859375, y: 0.109375 },\n { x: 0.859375, y: 0.109375 },\n { x: 0.890625, y: 0.109375 },\n { x: 0.890625, y: 0.109375 },\n { x: 0.921875, y: 0.109375 },\n { x: 0.921875, y: 0.109375 },\n { x: 0.953125, y: 0.109375 },\n { x: 0.953125, y: 0.109375 },\n { x: 0.984375, y: 0.109375 },\n { x: 0.984375, y: 0.109375 },\n { x: 0.015625, y: 0.140625 },\n { x: 0.015625, y: 0.140625 },\n { x: 0.046875, y: 0.140625 },\n { x: 0.046875, y: 0.140625 },\n { x: 0.078125, y: 0.140625 },\n { x: 0.078125, y: 0.140625 },\n { x: 0.109375, y: 0.140625 },\n { x: 0.109375, y: 0.140625 },\n { x: 0.140625, y: 0.140625 },\n { x: 0.140625, y: 0.140625 },\n { x: 0.171875, y: 0.140625 },\n { x: 0.171875, y: 0.140625 },\n { x: 0.203125, y: 0.140625 },\n { x: 0.203125, y: 0.140625 },\n { x: 0.234375, y: 0.140625 },\n { x: 0.234375, y: 0.140625 },\n { x: 0.265625, y: 0.140625 },\n { x: 0.265625, y: 0.140625 },\n { x: 0.296875, y: 0.140625 },\n { x: 0.296875, y: 0.140625 },\n { x: 0.328125, y: 0.140625 },\n { x: 0.328125, y: 0.140625 },\n { x: 0.359375, y: 0.140625 },\n { x: 0.359375, y: 0.140625 },\n { x: 0.390625, y: 0.140625 },\n { x: 0.390625, y: 0.140625 },\n { x: 0.421875, y: 0.140625 },\n { x: 0.421875, y: 0.140625 },\n { x: 0.453125, y: 0.140625 },\n { x: 0.453125, y: 0.140625 },\n { x: 0.484375, y: 0.140625 },\n { x: 0.484375, y: 0.140625 },\n { x: 0.515625, y: 0.140625 },\n { x: 0.515625, y: 0.140625 },\n { x: 0.546875, y: 0.140625 },\n { x: 0.546875, y: 0.140625 },\n { x: 0.578125, y: 0.140625 },\n { x: 0.578125, y: 0.140625 },\n { x: 0.609375, y: 0.140625 },\n { x: 0.609375, y: 0.140625 },\n { x: 0.640625, y: 0.140625 },\n { x: 0.640625, y: 0.140625 },\n { x: 0.671875, y: 0.140625 },\n { x: 0.671875, y: 0.140625 },\n { x: 0.703125, y: 0.140625 },\n { x: 0.703125, y: 0.140625 },\n { x: 0.734375, y: 0.140625 },\n { x: 0.734375, y: 0.140625 },\n { x: 0.765625, y: 0.140625 },\n { x: 0.765625, y: 0.140625 },\n { x: 0.796875, y: 0.140625 },\n { x: 0.796875, y: 0.140625 },\n { x: 0.828125, y: 0.140625 },\n { x: 0.828125, y: 0.140625 },\n { x: 0.859375, y: 0.140625 },\n { x: 0.859375, y: 0.140625 },\n { x: 0.890625, y: 0.140625 },\n { x: 0.890625, y: 0.140625 },\n { x: 0.921875, y: 0.140625 },\n { x: 0.921875, y: 0.140625 },\n { x: 0.953125, y: 0.140625 },\n { x: 0.953125, y: 0.140625 },\n { x: 0.984375, y: 0.140625 },\n { x: 0.984375, y: 0.140625 },\n { x: 0.015625, y: 0.171875 },\n { x: 0.015625, y: 0.171875 },\n { x: 0.046875, y: 0.171875 },\n { x: 0.046875, y: 0.171875 },\n { x: 0.078125, y: 0.171875 },\n { x: 0.078125, y: 0.171875 },\n { x: 0.109375, y: 0.171875 },\n { x: 0.109375, y: 0.171875 },\n { x: 0.140625, y: 0.171875 },\n { x: 0.140625, y: 0.171875 },\n { x: 0.171875, y: 0.171875 },\n { x: 0.171875, y: 0.171875 },\n { x: 0.203125, y: 0.171875 },\n { x: 0.203125, y: 0.171875 },\n { x: 0.234375, y: 0.171875 },\n { x: 0.234375, y: 0.171875 },\n { x: 0.265625, y: 0.171875 },\n { x: 0.265625, y: 0.171875 },\n { x: 0.296875, y: 0.171875 },\n { x: 0.296875, y: 0.171875 },\n { x: 0.328125, y: 0.171875 },\n { x: 0.328125, y: 0.171875 },\n { x: 0.359375, y: 0.171875 },\n { x: 0.359375, y: 0.171875 },\n { x: 0.390625, y: 0.171875 },\n { x: 0.390625, y: 0.171875 },\n { x: 0.421875, y: 0.171875 },\n { x: 0.421875, y: 0.171875 },\n { x: 0.453125, y: 0.171875 },\n { x: 0.453125, y: 0.171875 },\n { x: 0.484375, y: 0.171875 },\n { x: 0.484375, y: 0.171875 },\n { x: 0.515625, y: 0.171875 },\n { x: 0.515625, y: 0.171875 },\n { x: 0.546875, y: 0.171875 },\n { x: 0.546875, y: 0.171875 },\n { x: 0.578125, y: 0.171875 },\n { x: 0.578125, y: 0.171875 },\n { x: 0.609375, y: 0.171875 },\n { x: 0.609375, y: 0.171875 },\n { x: 0.640625, y: 0.171875 },\n { x: 0.640625, y: 0.171875 },\n { x: 0.671875, y: 0.171875 },\n { x: 0.671875, y: 0.171875 },\n { x: 0.703125, y: 0.171875 },\n { x: 0.703125, y: 0.171875 },\n { x: 0.734375, y: 0.171875 },\n { x: 0.734375, y: 0.171875 },\n { x: 0.765625, y: 0.171875 },\n { x: 0.765625, y: 0.171875 },\n { x: 0.796875, y: 0.171875 },\n { x: 0.796875, y: 0.171875 },\n { x: 0.828125, y: 0.171875 },\n { x: 0.828125, y: 0.171875 },\n { x: 0.859375, y: 0.171875 },\n { x: 0.859375, y: 0.171875 },\n { x: 0.890625, y: 0.171875 },\n { x: 0.890625, y: 0.171875 },\n { x: 0.921875, y: 0.171875 },\n { x: 0.921875, y: 0.171875 },\n { x: 0.953125, y: 0.171875 },\n { x: 0.953125, y: 0.171875 },\n { x: 0.984375, y: 0.171875 },\n { x: 0.984375, y: 0.171875 },\n { x: 0.015625, y: 0.203125 },\n { x: 0.015625, y: 0.203125 },\n { x: 0.046875, y: 0.203125 },\n { x: 0.046875, y: 0.203125 },\n { x: 0.078125, y: 0.203125 },\n { x: 0.078125, y: 0.203125 },\n { x: 0.109375, y: 0.203125 },\n { x: 0.109375, y: 0.203125 },\n { x: 0.140625, y: 0.203125 },\n { x: 0.140625, y: 0.203125 },\n { x: 0.171875, y: 0.203125 },\n { x: 0.171875, y: 0.203125 },\n { x: 0.203125, y: 0.203125 },\n { x: 0.203125, y: 0.203125 },\n { x: 0.234375, y: 0.203125 },\n { x: 0.234375, y: 0.203125 },\n { x: 0.265625, y: 0.203125 },\n { x: 0.265625, y: 0.203125 },\n { x: 0.296875, y: 0.203125 },\n { x: 0.296875, y: 0.203125 },\n { x: 0.328125, y: 0.203125 },\n { x: 0.328125, y: 0.203125 },\n { x: 0.359375, y: 0.203125 },\n { x: 0.359375, y: 0.203125 },\n { x: 0.390625, y: 0.203125 },\n { x: 0.390625, y: 0.203125 },\n { x: 0.421875, y: 0.203125 },\n { x: 0.421875, y: 0.203125 },\n { x: 0.453125, y: 0.203125 },\n { x: 0.453125, y: 0.203125 },\n { x: 0.484375, y: 0.203125 },\n { x: 0.484375, y: 0.203125 },\n { x: 0.515625, y: 0.203125 },\n { x: 0.515625, y: 0.203125 },\n { x: 0.546875, y: 0.203125 },\n { x: 0.546875, y: 0.203125 },\n { x: 0.578125, y: 0.203125 },\n { x: 0.578125, y: 0.203125 },\n { x: 0.609375, y: 0.203125 },\n { x: 0.609375, y: 0.203125 },\n { x: 0.640625, y: 0.203125 },\n { x: 0.640625, y: 0.203125 },\n { x: 0.671875, y: 0.203125 },\n { x: 0.671875, y: 0.203125 },\n { x: 0.703125, y: 0.203125 },\n { x: 0.703125, y: 0.203125 },\n { x: 0.734375, y: 0.203125 },\n { x: 0.734375, y: 0.203125 },\n { x: 0.765625, y: 0.203125 },\n { x: 0.765625, y: 0.203125 },\n { x: 0.796875, y: 0.203125 },\n { x: 0.796875, y: 0.203125 },\n { x: 0.828125, y: 0.203125 },\n { x: 0.828125, y: 0.203125 },\n { x: 0.859375, y: 0.203125 },\n { x: 0.859375, y: 0.203125 },\n { x: 0.890625, y: 0.203125 },\n { x: 0.890625, y: 0.203125 },\n { x: 0.921875, y: 0.203125 },\n { x: 0.921875, y: 0.203125 },\n { x: 0.953125, y: 0.203125 },\n { x: 0.953125, y: 0.203125 },\n { x: 0.984375, y: 0.203125 },\n { x: 0.984375, y: 0.203125 },\n { x: 0.015625, y: 0.234375 },\n { x: 0.015625, y: 0.234375 },\n { x: 0.046875, y: 0.234375 },\n { x: 0.046875, y: 0.234375 },\n { x: 0.078125, y: 0.234375 },\n { x: 0.078125, y: 0.234375 },\n { x: 0.109375, y: 0.234375 },\n { x: 0.109375, y: 0.234375 },\n { x: 0.140625, y: 0.234375 },\n { x: 0.140625, y: 0.234375 },\n { x: 0.171875, y: 0.234375 },\n { x: 0.171875, y: 0.234375 },\n { x: 0.203125, y: 0.234375 },\n { x: 0.203125, y: 0.234375 },\n { x: 0.234375, y: 0.234375 },\n { x: 0.234375, y: 0.234375 },\n { x: 0.265625, y: 0.234375 },\n { x: 0.265625, y: 0.234375 },\n { x: 0.296875, y: 0.234375 },\n { x: 0.296875, y: 0.234375 },\n { x: 0.328125, y: 0.234375 },\n { x: 0.328125, y: 0.234375 },\n { x: 0.359375, y: 0.234375 },\n { x: 0.359375, y: 0.234375 },\n { x: 0.390625, y: 0.234375 },\n { x: 0.390625, y: 0.234375 },\n { x: 0.421875, y: 0.234375 },\n { x: 0.421875, y: 0.234375 },\n { x: 0.453125, y: 0.234375 },\n { x: 0.453125, y: 0.234375 },\n { x: 0.484375, y: 0.234375 },\n { x: 0.484375, y: 0.234375 },\n { x: 0.515625, y: 0.234375 },\n { x: 0.515625, y: 0.234375 },\n { x: 0.546875, y: 0.234375 },\n { x: 0.546875, y: 0.234375 },\n { x: 0.578125, y: 0.234375 },\n { x: 0.578125, y: 0.234375 },\n { x: 0.609375, y: 0.234375 },\n { x: 0.609375, y: 0.234375 },\n { x: 0.640625, y: 0.234375 },\n { x: 0.640625, y: 0.234375 },\n { x: 0.671875, y: 0.234375 },\n { x: 0.671875, y: 0.234375 },\n { x: 0.703125, y: 0.234375 },\n { x: 0.703125, y: 0.234375 },\n { x: 0.734375, y: 0.234375 },\n { x: 0.734375, y: 0.234375 },\n { x: 0.765625, y: 0.234375 },\n { x: 0.765625, y: 0.234375 },\n { x: 0.796875, y: 0.234375 },\n { x: 0.796875, y: 0.234375 },\n { x: 0.828125, y: 0.234375 },\n { x: 0.828125, y: 0.234375 },\n { x: 0.859375, y: 0.234375 },\n { x: 0.859375, y: 0.234375 },\n { x: 0.890625, y: 0.234375 },\n { x: 0.890625, y: 0.234375 },\n { x: 0.921875, y: 0.234375 },\n { x: 0.921875, y: 0.234375 },\n { x: 0.953125, y: 0.234375 },\n { x: 0.953125, y: 0.234375 },\n { x: 0.984375, y: 0.234375 },\n { x: 0.984375, y: 0.234375 },\n { x: 0.015625, y: 0.265625 },\n { x: 0.015625, y: 0.265625 },\n { x: 0.046875, y: 0.265625 },\n { x: 0.046875, y: 0.265625 },\n { x: 0.078125, y: 0.265625 },\n { x: 0.078125, y: 0.265625 },\n { x: 0.109375, y: 0.265625 },\n { x: 0.109375, y: 0.265625 },\n { x: 0.140625, y: 0.265625 },\n { x: 0.140625, y: 0.265625 },\n { x: 0.171875, y: 0.265625 },\n { x: 0.171875, y: 0.265625 },\n { x: 0.203125, y: 0.265625 },\n { x: 0.203125, y: 0.265625 },\n { x: 0.234375, y: 0.265625 },\n { x: 0.234375, y: 0.265625 },\n { x: 0.265625, y: 0.265625 },\n { x: 0.265625, y: 0.265625 },\n { x: 0.296875, y: 0.265625 },\n { x: 0.296875, y: 0.265625 },\n { x: 0.328125, y: 0.265625 },\n { x: 0.328125, y: 0.265625 },\n { x: 0.359375, y: 0.265625 },\n { x: 0.359375, y: 0.265625 },\n { x: 0.390625, y: 0.265625 },\n { x: 0.390625, y: 0.265625 },\n { x: 0.421875, y: 0.265625 },\n { x: 0.421875, y: 0.265625 },\n { x: 0.453125, y: 0.265625 },\n { x: 0.453125, y: 0.265625 },\n { x: 0.484375, y: 0.265625 },\n { x: 0.484375, y: 0.265625 },\n { x: 0.515625, y: 0.265625 },\n { x: 0.515625, y: 0.265625 },\n { x: 0.546875, y: 0.265625 },\n { x: 0.546875, y: 0.265625 },\n { x: 0.578125, y: 0.265625 },\n { x: 0.578125, y: 0.265625 },\n { x: 0.609375, y: 0.265625 },\n { x: 0.609375, y: 0.265625 },\n { x: 0.640625, y: 0.265625 },\n { x: 0.640625, y: 0.265625 },\n { x: 0.671875, y: 0.265625 },\n { x: 0.671875, y: 0.265625 },\n { x: 0.703125, y: 0.265625 },\n { x: 0.703125, y: 0.265625 },\n { x: 0.734375, y: 0.265625 },\n { x: 0.734375, y: 0.265625 },\n { x: 0.765625, y: 0.265625 },\n { x: 0.765625, y: 0.265625 },\n { x: 0.796875, y: 0.265625 },\n { x: 0.796875, y: 0.265625 },\n { x: 0.828125, y: 0.265625 },\n { x: 0.828125, y: 0.265625 },\n { x: 0.859375, y: 0.265625 },\n { x: 0.859375, y: 0.265625 },\n { x: 0.890625, y: 0.265625 },\n { x: 0.890625, y: 0.265625 },\n { x: 0.921875, y: 0.265625 },\n { x: 0.921875, y: 0.265625 },\n { x: 0.953125, y: 0.265625 },\n { x: 0.953125, y: 0.265625 },\n { x: 0.984375, y: 0.265625 },\n { x: 0.984375, y: 0.265625 },\n { x: 0.015625, y: 0.296875 },\n { x: 0.015625, y: 0.296875 },\n { x: 0.046875, y: 0.296875 },\n { x: 0.046875, y: 0.296875 },\n { x: 0.078125, y: 0.296875 },\n { x: 0.078125, y: 0.296875 },\n { x: 0.109375, y: 0.296875 },\n { x: 0.109375, y: 0.296875 },\n { x: 0.140625, y: 0.296875 },\n { x: 0.140625, y: 0.296875 },\n { x: 0.171875, y: 0.296875 },\n { x: 0.171875, y: 0.296875 },\n { x: 0.203125, y: 0.296875 },\n { x: 0.203125, y: 0.296875 },\n { x: 0.234375, y: 0.296875 },\n { x: 0.234375, y: 0.296875 },\n { x: 0.265625, y: 0.296875 },\n { x: 0.265625, y: 0.296875 },\n { x: 0.296875, y: 0.296875 },\n { x: 0.296875, y: 0.296875 },\n { x: 0.328125, y: 0.296875 },\n { x: 0.328125, y: 0.296875 },\n { x: 0.359375, y: 0.296875 },\n { x: 0.359375, y: 0.296875 },\n { x: 0.390625, y: 0.296875 },\n { x: 0.390625, y: 0.296875 },\n { x: 0.421875, y: 0.296875 },\n { x: 0.421875, y: 0.296875 },\n { x: 0.453125, y: 0.296875 },\n { x: 0.453125, y: 0.296875 },\n { x: 0.484375, y: 0.296875 },\n { x: 0.484375, y: 0.296875 },\n { x: 0.515625, y: 0.296875 },\n { x: 0.515625, y: 0.296875 },\n { x: 0.546875, y: 0.296875 },\n { x: 0.546875, y: 0.296875 },\n { x: 0.578125, y: 0.296875 },\n { x: 0.578125, y: 0.296875 },\n { x: 0.609375, y: 0.296875 },\n { x: 0.609375, y: 0.296875 },\n { x: 0.640625, y: 0.296875 },\n { x: 0.640625, y: 0.296875 },\n { x: 0.671875, y: 0.296875 },\n { x: 0.671875, y: 0.296875 },\n { x: 0.703125, y: 0.296875 },\n { x: 0.703125, y: 0.296875 },\n { x: 0.734375, y: 0.296875 },\n { x: 0.734375, y: 0.296875 },\n { x: 0.765625, y: 0.296875 },\n { x: 0.765625, y: 0.296875 },\n { x: 0.796875, y: 0.296875 },\n { x: 0.796875, y: 0.296875 },\n { x: 0.828125, y: 0.296875 },\n { x: 0.828125, y: 0.296875 },\n { x: 0.859375, y: 0.296875 },\n { x: 0.859375, y: 0.296875 },\n { x: 0.890625, y: 0.296875 },\n { x: 0.890625, y: 0.296875 },\n { x: 0.921875, y: 0.296875 },\n { x: 0.921875, y: 0.296875 },\n { x: 0.953125, y: 0.296875 },\n { x: 0.953125, y: 0.296875 },\n { x: 0.984375, y: 0.296875 },\n { x: 0.984375, y: 0.296875 },\n { x: 0.015625, y: 0.328125 },\n { x: 0.015625, y: 0.328125 },\n { x: 0.046875, y: 0.328125 },\n { x: 0.046875, y: 0.328125 },\n { x: 0.078125, y: 0.328125 },\n { x: 0.078125, y: 0.328125 },\n { x: 0.109375, y: 0.328125 },\n { x: 0.109375, y: 0.328125 },\n { x: 0.140625, y: 0.328125 },\n { x: 0.140625, y: 0.328125 },\n { x: 0.171875, y: 0.328125 },\n { x: 0.171875, y: 0.328125 },\n { x: 0.203125, y: 0.328125 },\n { x: 0.203125, y: 0.328125 },\n { x: 0.234375, y: 0.328125 },\n { x: 0.234375, y: 0.328125 },\n { x: 0.265625, y: 0.328125 },\n { x: 0.265625, y: 0.328125 },\n { x: 0.296875, y: 0.328125 },\n { x: 0.296875, y: 0.328125 },\n { x: 0.328125, y: 0.328125 },\n { x: 0.328125, y: 0.328125 },\n { x: 0.359375, y: 0.328125 },\n { x: 0.359375, y: 0.328125 },\n { x: 0.390625, y: 0.328125 },\n { x: 0.390625, y: 0.328125 },\n { x: 0.421875, y: 0.328125 },\n { x: 0.421875, y: 0.328125 },\n { x: 0.453125, y: 0.328125 },\n { x: 0.453125, y: 0.328125 },\n { x: 0.484375, y: 0.328125 },\n { x: 0.484375, y: 0.328125 },\n { x: 0.515625, y: 0.328125 },\n { x: 0.515625, y: 0.328125 },\n { x: 0.546875, y: 0.328125 },\n { x: 0.546875, y: 0.328125 },\n { x: 0.578125, y: 0.328125 },\n { x: 0.578125, y: 0.328125 },\n { x: 0.609375, y: 0.328125 },\n { x: 0.609375, y: 0.328125 },\n { x: 0.640625, y: 0.328125 },\n { x: 0.640625, y: 0.328125 },\n { x: 0.671875, y: 0.328125 },\n { x: 0.671875, y: 0.328125 },\n { x: 0.703125, y: 0.328125 },\n { x: 0.703125, y: 0.328125 },\n { x: 0.734375, y: 0.328125 },\n { x: 0.734375, y: 0.328125 },\n { x: 0.765625, y: 0.328125 },\n { x: 0.765625, y: 0.328125 },\n { x: 0.796875, y: 0.328125 },\n { x: 0.796875, y: 0.328125 },\n { x: 0.828125, y: 0.328125 },\n { x: 0.828125, y: 0.328125 },\n { x: 0.859375, y: 0.328125 },\n { x: 0.859375, y: 0.328125 },\n { x: 0.890625, y: 0.328125 },\n { x: 0.890625, y: 0.328125 },\n { x: 0.921875, y: 0.328125 },\n { x: 0.921875, y: 0.328125 },\n { x: 0.953125, y: 0.328125 },\n { x: 0.953125, y: 0.328125 },\n { x: 0.984375, y: 0.328125 },\n { x: 0.984375, y: 0.328125 },\n { x: 0.015625, y: 0.359375 },\n { x: 0.015625, y: 0.359375 },\n { x: 0.046875, y: 0.359375 },\n { x: 0.046875, y: 0.359375 },\n { x: 0.078125, y: 0.359375 },\n { x: 0.078125, y: 0.359375 },\n { x: 0.109375, y: 0.359375 },\n { x: 0.109375, y: 0.359375 },\n { x: 0.140625, y: 0.359375 },\n { x: 0.140625, y: 0.359375 },\n { x: 0.171875, y: 0.359375 },\n { x: 0.171875, y: 0.359375 },\n { x: 0.203125, y: 0.359375 },\n { x: 0.203125, y: 0.359375 },\n { x: 0.234375, y: 0.359375 },\n { x: 0.234375, y: 0.359375 },\n { x: 0.265625, y: 0.359375 },\n { x: 0.265625, y: 0.359375 },\n { x: 0.296875, y: 0.359375 },\n { x: 0.296875, y: 0.359375 },\n { x: 0.328125, y: 0.359375 },\n { x: 0.328125, y: 0.359375 },\n { x: 0.359375, y: 0.359375 },\n { x: 0.359375, y: 0.359375 },\n { x: 0.390625, y: 0.359375 },\n { x: 0.390625, y: 0.359375 },\n { x: 0.421875, y: 0.359375 },\n { x: 0.421875, y: 0.359375 },\n { x: 0.453125, y: 0.359375 },\n { x: 0.453125, y: 0.359375 },\n { x: 0.484375, y: 0.359375 },\n { x: 0.484375, y: 0.359375 },\n { x: 0.515625, y: 0.359375 },\n { x: 0.515625, y: 0.359375 },\n { x: 0.546875, y: 0.359375 },\n { x: 0.546875, y: 0.359375 },\n { x: 0.578125, y: 0.359375 },\n { x: 0.578125, y: 0.359375 },\n { x: 0.609375, y: 0.359375 },\n { x: 0.609375, y: 0.359375 },\n { x: 0.640625, y: 0.359375 },\n { x: 0.640625, y: 0.359375 },\n { x: 0.671875, y: 0.359375 },\n { x: 0.671875, y: 0.359375 },\n { x: 0.703125, y: 0.359375 },\n { x: 0.703125, y: 0.359375 },\n { x: 0.734375, y: 0.359375 },\n { x: 0.734375, y: 0.359375 },\n { x: 0.765625, y: 0.359375 },\n { x: 0.765625, y: 0.359375 },\n { x: 0.796875, y: 0.359375 },\n { x: 0.796875, y: 0.359375 },\n { x: 0.828125, y: 0.359375 },\n { x: 0.828125, y: 0.359375 },\n { x: 0.859375, y: 0.359375 },\n { x: 0.859375, y: 0.359375 },\n { x: 0.890625, y: 0.359375 },\n { x: 0.890625, y: 0.359375 },\n { x: 0.921875, y: 0.359375 },\n { x: 0.921875, y: 0.359375 },\n { x: 0.953125, y: 0.359375 },\n { x: 0.953125, y: 0.359375 },\n { x: 0.984375, y: 0.359375 },\n { x: 0.984375, y: 0.359375 },\n { x: 0.015625, y: 0.390625 },\n { x: 0.015625, y: 0.390625 },\n { x: 0.046875, y: 0.390625 },\n { x: 0.046875, y: 0.390625 },\n { x: 0.078125, y: 0.390625 },\n { x: 0.078125, y: 0.390625 },\n { x: 0.109375, y: 0.390625 },\n { x: 0.109375, y: 0.390625 },\n { x: 0.140625, y: 0.390625 },\n { x: 0.140625, y: 0.390625 },\n { x: 0.171875, y: 0.390625 },\n { x: 0.171875, y: 0.390625 },\n { x: 0.203125, y: 0.390625 },\n { x: 0.203125, y: 0.390625 },\n { x: 0.234375, y: 0.390625 },\n { x: 0.234375, y: 0.390625 },\n { x: 0.265625, y: 0.390625 },\n { x: 0.265625, y: 0.390625 },\n { x: 0.296875, y: 0.390625 },\n { x: 0.296875, y: 0.390625 },\n { x: 0.328125, y: 0.390625 },\n { x: 0.328125, y: 0.390625 },\n { x: 0.359375, y: 0.390625 },\n { x: 0.359375, y: 0.390625 },\n { x: 0.390625, y: 0.390625 },\n { x: 0.390625, y: 0.390625 },\n { x: 0.421875, y: 0.390625 },\n { x: 0.421875, y: 0.390625 },\n { x: 0.453125, y: 0.390625 },\n { x: 0.453125, y: 0.390625 },\n { x: 0.484375, y: 0.390625 },\n { x: 0.484375, y: 0.390625 },\n { x: 0.515625, y: 0.390625 },\n { x: 0.515625, y: 0.390625 },\n { x: 0.546875, y: 0.390625 },\n { x: 0.546875, y: 0.390625 },\n { x: 0.578125, y: 0.390625 },\n { x: 0.578125, y: 0.390625 },\n { x: 0.609375, y: 0.390625 },\n { x: 0.609375, y: 0.390625 },\n { x: 0.640625, y: 0.390625 },\n { x: 0.640625, y: 0.390625 },\n { x: 0.671875, y: 0.390625 },\n { x: 0.671875, y: 0.390625 },\n { x: 0.703125, y: 0.390625 },\n { x: 0.703125, y: 0.390625 },\n { x: 0.734375, y: 0.390625 },\n { x: 0.734375, y: 0.390625 },\n { x: 0.765625, y: 0.390625 },\n { x: 0.765625, y: 0.390625 },\n { x: 0.796875, y: 0.390625 },\n { x: 0.796875, y: 0.390625 },\n { x: 0.828125, y: 0.390625 },\n { x: 0.828125, y: 0.390625 },\n { x: 0.859375, y: 0.390625 },\n { x: 0.859375, y: 0.390625 },\n { x: 0.890625, y: 0.390625 },\n { x: 0.890625, y: 0.390625 },\n { x: 0.921875, y: 0.390625 },\n { x: 0.921875, y: 0.390625 },\n { x: 0.953125, y: 0.390625 },\n { x: 0.953125, y: 0.390625 },\n { x: 0.984375, y: 0.390625 },\n { x: 0.984375, y: 0.390625 },\n { x: 0.015625, y: 0.421875 },\n { x: 0.015625, y: 0.421875 },\n { x: 0.046875, y: 0.421875 },\n { x: 0.046875, y: 0.421875 },\n { x: 0.078125, y: 0.421875 },\n { x: 0.078125, y: 0.421875 },\n { x: 0.109375, y: 0.421875 },\n { x: 0.109375, y: 0.421875 },\n { x: 0.140625, y: 0.421875 },\n { x: 0.140625, y: 0.421875 },\n { x: 0.171875, y: 0.421875 },\n { x: 0.171875, y: 0.421875 },\n { x: 0.203125, y: 0.421875 },\n { x: 0.203125, y: 0.421875 },\n { x: 0.234375, y: 0.421875 },\n { x: 0.234375, y: 0.421875 },\n { x: 0.265625, y: 0.421875 },\n { x: 0.265625, y: 0.421875 },\n { x: 0.296875, y: 0.421875 },\n { x: 0.296875, y: 0.421875 },\n { x: 0.328125, y: 0.421875 },\n { x: 0.328125, y: 0.421875 },\n { x: 0.359375, y: 0.421875 },\n { x: 0.359375, y: 0.421875 },\n { x: 0.390625, y: 0.421875 },\n { x: 0.390625, y: 0.421875 },\n { x: 0.421875, y: 0.421875 },\n { x: 0.421875, y: 0.421875 },\n { x: 0.453125, y: 0.421875 },\n { x: 0.453125, y: 0.421875 },\n { x: 0.484375, y: 0.421875 },\n { x: 0.484375, y: 0.421875 },\n { x: 0.515625, y: 0.421875 },\n { x: 0.515625, y: 0.421875 },\n { x: 0.546875, y: 0.421875 },\n { x: 0.546875, y: 0.421875 },\n { x: 0.578125, y: 0.421875 },\n { x: 0.578125, y: 0.421875 },\n { x: 0.609375, y: 0.421875 },\n { x: 0.609375, y: 0.421875 },\n { x: 0.640625, y: 0.421875 },\n { x: 0.640625, y: 0.421875 },\n { x: 0.671875, y: 0.421875 },\n { x: 0.671875, y: 0.421875 },\n { x: 0.703125, y: 0.421875 },\n { x: 0.703125, y: 0.421875 },\n { x: 0.734375, y: 0.421875 },\n { x: 0.734375, y: 0.421875 },\n { x: 0.765625, y: 0.421875 },\n { x: 0.765625, y: 0.421875 },\n { x: 0.796875, y: 0.421875 },\n { x: 0.796875, y: 0.421875 },\n { x: 0.828125, y: 0.421875 },\n { x: 0.828125, y: 0.421875 },\n { x: 0.859375, y: 0.421875 },\n { x: 0.859375, y: 0.421875 },\n { x: 0.890625, y: 0.421875 },\n { x: 0.890625, y: 0.421875 },\n { x: 0.921875, y: 0.421875 },\n { x: 0.921875, y: 0.421875 },\n { x: 0.953125, y: 0.421875 },\n { x: 0.953125, y: 0.421875 },\n { x: 0.984375, y: 0.421875 },\n { x: 0.984375, y: 0.421875 },\n { x: 0.015625, y: 0.453125 },\n { x: 0.015625, y: 0.453125 },\n { x: 0.046875, y: 0.453125 },\n { x: 0.046875, y: 0.453125 },\n { x: 0.078125, y: 0.453125 },\n { x: 0.078125, y: 0.453125 },\n { x: 0.109375, y: 0.453125 },\n { x: 0.109375, y: 0.453125 },\n { x: 0.140625, y: 0.453125 },\n { x: 0.140625, y: 0.453125 },\n { x: 0.171875, y: 0.453125 },\n { x: 0.171875, y: 0.453125 },\n { x: 0.203125, y: 0.453125 },\n { x: 0.203125, y: 0.453125 },\n { x: 0.234375, y: 0.453125 },\n { x: 0.234375, y: 0.453125 },\n { x: 0.265625, y: 0.453125 },\n { x: 0.265625, y: 0.453125 },\n { x: 0.296875, y: 0.453125 },\n { x: 0.296875, y: 0.453125 },\n { x: 0.328125, y: 0.453125 },\n { x: 0.328125, y: 0.453125 },\n { x: 0.359375, y: 0.453125 },\n { x: 0.359375, y: 0.453125 },\n { x: 0.390625, y: 0.453125 },\n { x: 0.390625, y: 0.453125 },\n { x: 0.421875, y: 0.453125 },\n { x: 0.421875, y: 0.453125 },\n { x: 0.453125, y: 0.453125 },\n { x: 0.453125, y: 0.453125 },\n { x: 0.484375, y: 0.453125 },\n { x: 0.484375, y: 0.453125 },\n { x: 0.515625, y: 0.453125 },\n { x: 0.515625, y: 0.453125 },\n { x: 0.546875, y: 0.453125 },\n { x: 0.546875, y: 0.453125 },\n { x: 0.578125, y: 0.453125 },\n { x: 0.578125, y: 0.453125 },\n { x: 0.609375, y: 0.453125 },\n { x: 0.609375, y: 0.453125 },\n { x: 0.640625, y: 0.453125 },\n { x: 0.640625, y: 0.453125 },\n { x: 0.671875, y: 0.453125 },\n { x: 0.671875, y: 0.453125 },\n { x: 0.703125, y: 0.453125 },\n { x: 0.703125, y: 0.453125 },\n { x: 0.734375, y: 0.453125 },\n { x: 0.734375, y: 0.453125 },\n { x: 0.765625, y: 0.453125 },\n { x: 0.765625, y: 0.453125 },\n { x: 0.796875, y: 0.453125 },\n { x: 0.796875, y: 0.453125 },\n { x: 0.828125, y: 0.453125 },\n { x: 0.828125, y: 0.453125 },\n { x: 0.859375, y: 0.453125 },\n { x: 0.859375, y: 0.453125 },\n { x: 0.890625, y: 0.453125 },\n { x: 0.890625, y: 0.453125 },\n { x: 0.921875, y: 0.453125 },\n { x: 0.921875, y: 0.453125 },\n { x: 0.953125, y: 0.453125 },\n { x: 0.953125, y: 0.453125 },\n { x: 0.984375, y: 0.453125 },\n { x: 0.984375, y: 0.453125 },\n { x: 0.015625, y: 0.484375 },\n { x: 0.015625, y: 0.484375 },\n { x: 0.046875, y: 0.484375 },\n { x: 0.046875, y: 0.484375 },\n { x: 0.078125, y: 0.484375 },\n { x: 0.078125, y: 0.484375 },\n { x: 0.109375, y: 0.484375 },\n { x: 0.109375, y: 0.484375 },\n { x: 0.140625, y: 0.484375 },\n { x: 0.140625, y: 0.484375 },\n { x: 0.171875, y: 0.484375 },\n { x: 0.171875, y: 0.484375 },\n { x: 0.203125, y: 0.484375 },\n { x: 0.203125, y: 0.484375 },\n { x: 0.234375, y: 0.484375 },\n { x: 0.234375, y: 0.484375 },\n { x: 0.265625, y: 0.484375 },\n { x: 0.265625, y: 0.484375 },\n { x: 0.296875, y: 0.484375 },\n { x: 0.296875, y: 0.484375 },\n { x: 0.328125, y: 0.484375 },\n { x: 0.328125, y: 0.484375 },\n { x: 0.359375, y: 0.484375 },\n { x: 0.359375, y: 0.484375 },\n { x: 0.390625, y: 0.484375 },\n { x: 0.390625, y: 0.484375 },\n { x: 0.421875, y: 0.484375 },\n { x: 0.421875, y: 0.484375 },\n { x: 0.453125, y: 0.484375 },\n { x: 0.453125, y: 0.484375 },\n { x: 0.484375, y: 0.484375 },\n { x: 0.484375, y: 0.484375 },\n { x: 0.515625, y: 0.484375 },\n { x: 0.515625, y: 0.484375 },\n { x: 0.546875, y: 0.484375 },\n { x: 0.546875, y: 0.484375 },\n { x: 0.578125, y: 0.484375 },\n { x: 0.578125, y: 0.484375 },\n { x: 0.609375, y: 0.484375 },\n { x: 0.609375, y: 0.484375 },\n { x: 0.640625, y: 0.484375 },\n { x: 0.640625, y: 0.484375 },\n { x: 0.671875, y: 0.484375 },\n { x: 0.671875, y: 0.484375 },\n { x: 0.703125, y: 0.484375 },\n { x: 0.703125, y: 0.484375 },\n { x: 0.734375, y: 0.484375 },\n { x: 0.734375, y: 0.484375 },\n { x: 0.765625, y: 0.484375 },\n { x: 0.765625, y: 0.484375 },\n { x: 0.796875, y: 0.484375 },\n { x: 0.796875, y: 0.484375 },\n { x: 0.828125, y: 0.484375 },\n { x: 0.828125, y: 0.484375 },\n { x: 0.859375, y: 0.484375 },\n { x: 0.859375, y: 0.484375 },\n { x: 0.890625, y: 0.484375 },\n { x: 0.890625, y: 0.484375 },\n { x: 0.921875, y: 0.484375 },\n { x: 0.921875, y: 0.484375 },\n { x: 0.953125, y: 0.484375 },\n { x: 0.953125, y: 0.484375 },\n { x: 0.984375, y: 0.484375 },\n { x: 0.984375, y: 0.484375 },\n { x: 0.015625, y: 0.515625 },\n { x: 0.015625, y: 0.515625 },\n { x: 0.046875, y: 0.515625 },\n { x: 0.046875, y: 0.515625 },\n { x: 0.078125, y: 0.515625 },\n { x: 0.078125, y: 0.515625 },\n { x: 0.109375, y: 0.515625 },\n { x: 0.109375, y: 0.515625 },\n { x: 0.140625, y: 0.515625 },\n { x: 0.140625, y: 0.515625 },\n { x: 0.171875, y: 0.515625 },\n { x: 0.171875, y: 0.515625 },\n { x: 0.203125, y: 0.515625 },\n { x: 0.203125, y: 0.515625 },\n { x: 0.234375, y: 0.515625 },\n { x: 0.234375, y: 0.515625 },\n { x: 0.265625, y: 0.515625 },\n { x: 0.265625, y: 0.515625 },\n { x: 0.296875, y: 0.515625 },\n { x: 0.296875, y: 0.515625 },\n { x: 0.328125, y: 0.515625 },\n { x: 0.328125, y: 0.515625 },\n { x: 0.359375, y: 0.515625 },\n { x: 0.359375, y: 0.515625 },\n { x: 0.390625, y: 0.515625 },\n { x: 0.390625, y: 0.515625 },\n { x: 0.421875, y: 0.515625 },\n { x: 0.421875, y: 0.515625 },\n { x: 0.453125, y: 0.515625 },\n { x: 0.453125, y: 0.515625 },\n { x: 0.484375, y: 0.515625 },\n { x: 0.484375, y: 0.515625 },\n { x: 0.515625, y: 0.515625 },\n { x: 0.515625, y: 0.515625 },\n { x: 0.546875, y: 0.515625 },\n { x: 0.546875, y: 0.515625 },\n { x: 0.578125, y: 0.515625 },\n { x: 0.578125, y: 0.515625 },\n { x: 0.609375, y: 0.515625 },\n { x: 0.609375, y: 0.515625 },\n { x: 0.640625, y: 0.515625 },\n { x: 0.640625, y: 0.515625 },\n { x: 0.671875, y: 0.515625 },\n { x: 0.671875, y: 0.515625 },\n { x: 0.703125, y: 0.515625 },\n { x: 0.703125, y: 0.515625 },\n { x: 0.734375, y: 0.515625 },\n { x: 0.734375, y: 0.515625 },\n { x: 0.765625, y: 0.515625 },\n { x: 0.765625, y: 0.515625 },\n { x: 0.796875, y: 0.515625 },\n { x: 0.796875, y: 0.515625 },\n { x: 0.828125, y: 0.515625 },\n { x: 0.828125, y: 0.515625 },\n { x: 0.859375, y: 0.515625 },\n { x: 0.859375, y: 0.515625 },\n { x: 0.890625, y: 0.515625 },\n { x: 0.890625, y: 0.515625 },\n { x: 0.921875, y: 0.515625 },\n { x: 0.921875, y: 0.515625 },\n { x: 0.953125, y: 0.515625 },\n { x: 0.953125, y: 0.515625 },\n { x: 0.984375, y: 0.515625 },\n { x: 0.984375, y: 0.515625 },\n { x: 0.015625, y: 0.546875 },\n { x: 0.015625, y: 0.546875 },\n { x: 0.046875, y: 0.546875 },\n { x: 0.046875, y: 0.546875 },\n { x: 0.078125, y: 0.546875 },\n { x: 0.078125, y: 0.546875 },\n { x: 0.109375, y: 0.546875 },\n { x: 0.109375, y: 0.546875 },\n { x: 0.140625, y: 0.546875 },\n { x: 0.140625, y: 0.546875 },\n { x: 0.171875, y: 0.546875 },\n { x: 0.171875, y: 0.546875 },\n { x: 0.203125, y: 0.546875 },\n { x: 0.203125, y: 0.546875 },\n { x: 0.234375, y: 0.546875 },\n { x: 0.234375, y: 0.546875 },\n { x: 0.265625, y: 0.546875 },\n { x: 0.265625, y: 0.546875 },\n { x: 0.296875, y: 0.546875 },\n { x: 0.296875, y: 0.546875 },\n { x: 0.328125, y: 0.546875 },\n { x: 0.328125, y: 0.546875 },\n { x: 0.359375, y: 0.546875 },\n { x: 0.359375, y: 0.546875 },\n { x: 0.390625, y: 0.546875 },\n { x: 0.390625, y: 0.546875 },\n { x: 0.421875, y: 0.546875 },\n { x: 0.421875, y: 0.546875 },\n { x: 0.453125, y: 0.546875 },\n { x: 0.453125, y: 0.546875 },\n { x: 0.484375, y: 0.546875 },\n { x: 0.484375, y: 0.546875 },\n { x: 0.515625, y: 0.546875 },\n { x: 0.515625, y: 0.546875 },\n { x: 0.546875, y: 0.546875 },\n { x: 0.546875, y: 0.546875 },\n { x: 0.578125, y: 0.546875 },\n { x: 0.578125, y: 0.546875 },\n { x: 0.609375, y: 0.546875 },\n { x: 0.609375, y: 0.546875 },\n { x: 0.640625, y: 0.546875 },\n { x: 0.640625, y: 0.546875 },\n { x: 0.671875, y: 0.546875 },\n { x: 0.671875, y: 0.546875 },\n { x: 0.703125, y: 0.546875 },\n { x: 0.703125, y: 0.546875 },\n { x: 0.734375, y: 0.546875 },\n { x: 0.734375, y: 0.546875 },\n { x: 0.765625, y: 0.546875 },\n { x: 0.765625, y: 0.546875 },\n { x: 0.796875, y: 0.546875 },\n { x: 0.796875, y: 0.546875 },\n { x: 0.828125, y: 0.546875 },\n { x: 0.828125, y: 0.546875 },\n { x: 0.859375, y: 0.546875 },\n { x: 0.859375, y: 0.546875 },\n { x: 0.890625, y: 0.546875 },\n { x: 0.890625, y: 0.546875 },\n { x: 0.921875, y: 0.546875 },\n { x: 0.921875, y: 0.546875 },\n { x: 0.953125, y: 0.546875 },\n { x: 0.953125, y: 0.546875 },\n { x: 0.984375, y: 0.546875 },\n { x: 0.984375, y: 0.546875 },\n { x: 0.015625, y: 0.578125 },\n { x: 0.015625, y: 0.578125 },\n { x: 0.046875, y: 0.578125 },\n { x: 0.046875, y: 0.578125 },\n { x: 0.078125, y: 0.578125 },\n { x: 0.078125, y: 0.578125 },\n { x: 0.109375, y: 0.578125 },\n { x: 0.109375, y: 0.578125 },\n { x: 0.140625, y: 0.578125 },\n { x: 0.140625, y: 0.578125 },\n { x: 0.171875, y: 0.578125 },\n { x: 0.171875, y: 0.578125 },\n { x: 0.203125, y: 0.578125 },\n { x: 0.203125, y: 0.578125 },\n { x: 0.234375, y: 0.578125 },\n { x: 0.234375, y: 0.578125 },\n { x: 0.265625, y: 0.578125 },\n { x: 0.265625, y: 0.578125 },\n { x: 0.296875, y: 0.578125 },\n { x: 0.296875, y: 0.578125 },\n { x: 0.328125, y: 0.578125 },\n { x: 0.328125, y: 0.578125 },\n { x: 0.359375, y: 0.578125 },\n { x: 0.359375, y: 0.578125 },\n { x: 0.390625, y: 0.578125 },\n { x: 0.390625, y: 0.578125 },\n { x: 0.421875, y: 0.578125 },\n { x: 0.421875, y: 0.578125 },\n { x: 0.453125, y: 0.578125 },\n { x: 0.453125, y: 0.578125 },\n { x: 0.484375, y: 0.578125 },\n { x: 0.484375, y: 0.578125 },\n { x: 0.515625, y: 0.578125 },\n { x: 0.515625, y: 0.578125 },\n { x: 0.546875, y: 0.578125 },\n { x: 0.546875, y: 0.578125 },\n { x: 0.578125, y: 0.578125 },\n { x: 0.578125, y: 0.578125 },\n { x: 0.609375, y: 0.578125 },\n { x: 0.609375, y: 0.578125 },\n { x: 0.640625, y: 0.578125 },\n { x: 0.640625, y: 0.578125 },\n { x: 0.671875, y: 0.578125 },\n { x: 0.671875, y: 0.578125 },\n { x: 0.703125, y: 0.578125 },\n { x: 0.703125, y: 0.578125 },\n { x: 0.734375, y: 0.578125 },\n { x: 0.734375, y: 0.578125 },\n { x: 0.765625, y: 0.578125 },\n { x: 0.765625, y: 0.578125 },\n { x: 0.796875, y: 0.578125 },\n { x: 0.796875, y: 0.578125 },\n { x: 0.828125, y: 0.578125 },\n { x: 0.828125, y: 0.578125 },\n { x: 0.859375, y: 0.578125 },\n { x: 0.859375, y: 0.578125 },\n { x: 0.890625, y: 0.578125 },\n { x: 0.890625, y: 0.578125 },\n { x: 0.921875, y: 0.578125 },\n { x: 0.921875, y: 0.578125 },\n { x: 0.953125, y: 0.578125 },\n { x: 0.953125, y: 0.578125 },\n { x: 0.984375, y: 0.578125 },\n { x: 0.984375, y: 0.578125 },\n { x: 0.015625, y: 0.609375 },\n { x: 0.015625, y: 0.609375 },\n { x: 0.046875, y: 0.609375 },\n { x: 0.046875, y: 0.609375 },\n { x: 0.078125, y: 0.609375 },\n { x: 0.078125, y: 0.609375 },\n { x: 0.109375, y: 0.609375 },\n { x: 0.109375, y: 0.609375 },\n { x: 0.140625, y: 0.609375 },\n { x: 0.140625, y: 0.609375 },\n { x: 0.171875, y: 0.609375 },\n { x: 0.171875, y: 0.609375 },\n { x: 0.203125, y: 0.609375 },\n { x: 0.203125, y: 0.609375 },\n { x: 0.234375, y: 0.609375 },\n { x: 0.234375, y: 0.609375 },\n { x: 0.265625, y: 0.609375 },\n { x: 0.265625, y: 0.609375 },\n { x: 0.296875, y: 0.609375 },\n { x: 0.296875, y: 0.609375 },\n { x: 0.328125, y: 0.609375 },\n { x: 0.328125, y: 0.609375 },\n { x: 0.359375, y: 0.609375 },\n { x: 0.359375, y: 0.609375 },\n { x: 0.390625, y: 0.609375 },\n { x: 0.390625, y: 0.609375 },\n { x: 0.421875, y: 0.609375 },\n { x: 0.421875, y: 0.609375 },\n { x: 0.453125, y: 0.609375 },\n { x: 0.453125, y: 0.609375 },\n { x: 0.484375, y: 0.609375 },\n { x: 0.484375, y: 0.609375 },\n { x: 0.515625, y: 0.609375 },\n { x: 0.515625, y: 0.609375 },\n { x: 0.546875, y: 0.609375 },\n { x: 0.546875, y: 0.609375 },\n { x: 0.578125, y: 0.609375 },\n { x: 0.578125, y: 0.609375 },\n { x: 0.609375, y: 0.609375 },\n { x: 0.609375, y: 0.609375 },\n { x: 0.640625, y: 0.609375 },\n { x: 0.640625, y: 0.609375 },\n { x: 0.671875, y: 0.609375 },\n { x: 0.671875, y: 0.609375 },\n { x: 0.703125, y: 0.609375 },\n { x: 0.703125, y: 0.609375 },\n { x: 0.734375, y: 0.609375 },\n { x: 0.734375, y: 0.609375 },\n { x: 0.765625, y: 0.609375 },\n { x: 0.765625, y: 0.609375 },\n { x: 0.796875, y: 0.609375 },\n { x: 0.796875, y: 0.609375 },\n { x: 0.828125, y: 0.609375 },\n { x: 0.828125, y: 0.609375 },\n { x: 0.859375, y: 0.609375 },\n { x: 0.859375, y: 0.609375 },\n { x: 0.890625, y: 0.609375 },\n { x: 0.890625, y: 0.609375 },\n { x: 0.921875, y: 0.609375 },\n { x: 0.921875, y: 0.609375 },\n { x: 0.953125, y: 0.609375 },\n { x: 0.953125, y: 0.609375 },\n { x: 0.984375, y: 0.609375 },\n { x: 0.984375, y: 0.609375 },\n { x: 0.015625, y: 0.640625 },\n { x: 0.015625, y: 0.640625 },\n { x: 0.046875, y: 0.640625 },\n { x: 0.046875, y: 0.640625 },\n { x: 0.078125, y: 0.640625 },\n { x: 0.078125, y: 0.640625 },\n { x: 0.109375, y: 0.640625 },\n { x: 0.109375, y: 0.640625 },\n { x: 0.140625, y: 0.640625 },\n { x: 0.140625, y: 0.640625 },\n { x: 0.171875, y: 0.640625 },\n { x: 0.171875, y: 0.640625 },\n { x: 0.203125, y: 0.640625 },\n { x: 0.203125, y: 0.640625 },\n { x: 0.234375, y: 0.640625 },\n { x: 0.234375, y: 0.640625 },\n { x: 0.265625, y: 0.640625 },\n { x: 0.265625, y: 0.640625 },\n { x: 0.296875, y: 0.640625 },\n { x: 0.296875, y: 0.640625 },\n { x: 0.328125, y: 0.640625 },\n { x: 0.328125, y: 0.640625 },\n { x: 0.359375, y: 0.640625 },\n { x: 0.359375, y: 0.640625 },\n { x: 0.390625, y: 0.640625 },\n { x: 0.390625, y: 0.640625 },\n { x: 0.421875, y: 0.640625 },\n { x: 0.421875, y: 0.640625 },\n { x: 0.453125, y: 0.640625 },\n { x: 0.453125, y: 0.640625 },\n { x: 0.484375, y: 0.640625 },\n { x: 0.484375, y: 0.640625 },\n { x: 0.515625, y: 0.640625 },\n { x: 0.515625, y: 0.640625 },\n { x: 0.546875, y: 0.640625 },\n { x: 0.546875, y: 0.640625 },\n { x: 0.578125, y: 0.640625 },\n { x: 0.578125, y: 0.640625 },\n { x: 0.609375, y: 0.640625 },\n { x: 0.609375, y: 0.640625 },\n { x: 0.640625, y: 0.640625 },\n { x: 0.640625, y: 0.640625 },\n { x: 0.671875, y: 0.640625 },\n { x: 0.671875, y: 0.640625 },\n { x: 0.703125, y: 0.640625 },\n { x: 0.703125, y: 0.640625 },\n { x: 0.734375, y: 0.640625 },\n { x: 0.734375, y: 0.640625 },\n { x: 0.765625, y: 0.640625 },\n { x: 0.765625, y: 0.640625 },\n { x: 0.796875, y: 0.640625 },\n { x: 0.796875, y: 0.640625 },\n { x: 0.828125, y: 0.640625 },\n { x: 0.828125, y: 0.640625 },\n { x: 0.859375, y: 0.640625 },\n { x: 0.859375, y: 0.640625 },\n { x: 0.890625, y: 0.640625 },\n { x: 0.890625, y: 0.640625 },\n { x: 0.921875, y: 0.640625 },\n { x: 0.921875, y: 0.640625 },\n { x: 0.953125, y: 0.640625 },\n { x: 0.953125, y: 0.640625 },\n { x: 0.984375, y: 0.640625 },\n { x: 0.984375, y: 0.640625 },\n { x: 0.015625, y: 0.671875 },\n { x: 0.015625, y: 0.671875 },\n { x: 0.046875, y: 0.671875 },\n { x: 0.046875, y: 0.671875 },\n { x: 0.078125, y: 0.671875 },\n { x: 0.078125, y: 0.671875 },\n { x: 0.109375, y: 0.671875 },\n { x: 0.109375, y: 0.671875 },\n { x: 0.140625, y: 0.671875 },\n { x: 0.140625, y: 0.671875 },\n { x: 0.171875, y: 0.671875 },\n { x: 0.171875, y: 0.671875 },\n { x: 0.203125, y: 0.671875 },\n { x: 0.203125, y: 0.671875 },\n { x: 0.234375, y: 0.671875 },\n { x: 0.234375, y: 0.671875 },\n { x: 0.265625, y: 0.671875 },\n { x: 0.265625, y: 0.671875 },\n { x: 0.296875, y: 0.671875 },\n { x: 0.296875, y: 0.671875 },\n { x: 0.328125, y: 0.671875 },\n { x: 0.328125, y: 0.671875 },\n { x: 0.359375, y: 0.671875 },\n { x: 0.359375, y: 0.671875 },\n { x: 0.390625, y: 0.671875 },\n { x: 0.390625, y: 0.671875 },\n { x: 0.421875, y: 0.671875 },\n { x: 0.421875, y: 0.671875 },\n { x: 0.453125, y: 0.671875 },\n { x: 0.453125, y: 0.671875 },\n { x: 0.484375, y: 0.671875 },\n { x: 0.484375, y: 0.671875 },\n { x: 0.515625, y: 0.671875 },\n { x: 0.515625, y: 0.671875 },\n { x: 0.546875, y: 0.671875 },\n { x: 0.546875, y: 0.671875 },\n { x: 0.578125, y: 0.671875 },\n { x: 0.578125, y: 0.671875 },\n { x: 0.609375, y: 0.671875 },\n { x: 0.609375, y: 0.671875 },\n { x: 0.640625, y: 0.671875 },\n { x: 0.640625, y: 0.671875 },\n { x: 0.671875, y: 0.671875 },\n { x: 0.671875, y: 0.671875 },\n { x: 0.703125, y: 0.671875 },\n { x: 0.703125, y: 0.671875 },\n { x: 0.734375, y: 0.671875 },\n { x: 0.734375, y: 0.671875 },\n { x: 0.765625, y: 0.671875 },\n { x: 0.765625, y: 0.671875 },\n { x: 0.796875, y: 0.671875 },\n { x: 0.796875, y: 0.671875 },\n { x: 0.828125, y: 0.671875 },\n { x: 0.828125, y: 0.671875 },\n { x: 0.859375, y: 0.671875 },\n { x: 0.859375, y: 0.671875 },\n { x: 0.890625, y: 0.671875 },\n { x: 0.890625, y: 0.671875 },\n { x: 0.921875, y: 0.671875 },\n { x: 0.921875, y: 0.671875 },\n { x: 0.953125, y: 0.671875 },\n { x: 0.953125, y: 0.671875 },\n { x: 0.984375, y: 0.671875 },\n { x: 0.984375, y: 0.671875 },\n { x: 0.015625, y: 0.703125 },\n { x: 0.015625, y: 0.703125 },\n { x: 0.046875, y: 0.703125 },\n { x: 0.046875, y: 0.703125 },\n { x: 0.078125, y: 0.703125 },\n { x: 0.078125, y: 0.703125 },\n { x: 0.109375, y: 0.703125 },\n { x: 0.109375, y: 0.703125 },\n { x: 0.140625, y: 0.703125 },\n { x: 0.140625, y: 0.703125 },\n { x: 0.171875, y: 0.703125 },\n { x: 0.171875, y: 0.703125 },\n { x: 0.203125, y: 0.703125 },\n { x: 0.203125, y: 0.703125 },\n { x: 0.234375, y: 0.703125 },\n { x: 0.234375, y: 0.703125 },\n { x: 0.265625, y: 0.703125 },\n { x: 0.265625, y: 0.703125 },\n { x: 0.296875, y: 0.703125 },\n { x: 0.296875, y: 0.703125 },\n { x: 0.328125, y: 0.703125 },\n { x: 0.328125, y: 0.703125 },\n { x: 0.359375, y: 0.703125 },\n { x: 0.359375, y: 0.703125 },\n { x: 0.390625, y: 0.703125 },\n { x: 0.390625, y: 0.703125 },\n { x: 0.421875, y: 0.703125 },\n { x: 0.421875, y: 0.703125 },\n { x: 0.453125, y: 0.703125 },\n { x: 0.453125, y: 0.703125 },\n { x: 0.484375, y: 0.703125 },\n { x: 0.484375, y: 0.703125 },\n { x: 0.515625, y: 0.703125 },\n { x: 0.515625, y: 0.703125 },\n { x: 0.546875, y: 0.703125 },\n { x: 0.546875, y: 0.703125 },\n { x: 0.578125, y: 0.703125 },\n { x: 0.578125, y: 0.703125 },\n { x: 0.609375, y: 0.703125 },\n { x: 0.609375, y: 0.703125 },\n { x: 0.640625, y: 0.703125 },\n { x: 0.640625, y: 0.703125 },\n { x: 0.671875, y: 0.703125 },\n { x: 0.671875, y: 0.703125 },\n { x: 0.703125, y: 0.703125 },\n { x: 0.703125, y: 0.703125 },\n { x: 0.734375, y: 0.703125 },\n { x: 0.734375, y: 0.703125 },\n { x: 0.765625, y: 0.703125 },\n { x: 0.765625, y: 0.703125 },\n { x: 0.796875, y: 0.703125 },\n { x: 0.796875, y: 0.703125 },\n { x: 0.828125, y: 0.703125 },\n { x: 0.828125, y: 0.703125 },\n { x: 0.859375, y: 0.703125 },\n { x: 0.859375, y: 0.703125 },\n { x: 0.890625, y: 0.703125 },\n { x: 0.890625, y: 0.703125 },\n { x: 0.921875, y: 0.703125 },\n { x: 0.921875, y: 0.703125 },\n { x: 0.953125, y: 0.703125 },\n { x: 0.953125, y: 0.703125 },\n { x: 0.984375, y: 0.703125 },\n { x: 0.984375, y: 0.703125 },\n { x: 0.015625, y: 0.734375 },\n { x: 0.015625, y: 0.734375 },\n { x: 0.046875, y: 0.734375 },\n { x: 0.046875, y: 0.734375 },\n { x: 0.078125, y: 0.734375 },\n { x: 0.078125, y: 0.734375 },\n { x: 0.109375, y: 0.734375 },\n { x: 0.109375, y: 0.734375 },\n { x: 0.140625, y: 0.734375 },\n { x: 0.140625, y: 0.734375 },\n { x: 0.171875, y: 0.734375 },\n { x: 0.171875, y: 0.734375 },\n { x: 0.203125, y: 0.734375 },\n { x: 0.203125, y: 0.734375 },\n { x: 0.234375, y: 0.734375 },\n { x: 0.234375, y: 0.734375 },\n { x: 0.265625, y: 0.734375 },\n { x: 0.265625, y: 0.734375 },\n { x: 0.296875, y: 0.734375 },\n { x: 0.296875, y: 0.734375 },\n { x: 0.328125, y: 0.734375 },\n { x: 0.328125, y: 0.734375 },\n { x: 0.359375, y: 0.734375 },\n { x: 0.359375, y: 0.734375 },\n { x: 0.390625, y: 0.734375 },\n { x: 0.390625, y: 0.734375 },\n { x: 0.421875, y: 0.734375 },\n { x: 0.421875, y: 0.734375 },\n { x: 0.453125, y: 0.734375 },\n { x: 0.453125, y: 0.734375 },\n { x: 0.484375, y: 0.734375 },\n { x: 0.484375, y: 0.734375 },\n { x: 0.515625, y: 0.734375 },\n { x: 0.515625, y: 0.734375 },\n { x: 0.546875, y: 0.734375 },\n { x: 0.546875, y: 0.734375 },\n { x: 0.578125, y: 0.734375 },\n { x: 0.578125, y: 0.734375 },\n { x: 0.609375, y: 0.734375 },\n { x: 0.609375, y: 0.734375 },\n { x: 0.640625, y: 0.734375 },\n { x: 0.640625, y: 0.734375 },\n { x: 0.671875, y: 0.734375 },\n { x: 0.671875, y: 0.734375 },\n { x: 0.703125, y: 0.734375 },\n { x: 0.703125, y: 0.734375 },\n { x: 0.734375, y: 0.734375 },\n { x: 0.734375, y: 0.734375 },\n { x: 0.765625, y: 0.734375 },\n { x: 0.765625, y: 0.734375 },\n { x: 0.796875, y: 0.734375 },\n { x: 0.796875, y: 0.734375 },\n { x: 0.828125, y: 0.734375 },\n { x: 0.828125, y: 0.734375 },\n { x: 0.859375, y: 0.734375 },\n { x: 0.859375, y: 0.734375 },\n { x: 0.890625, y: 0.734375 },\n { x: 0.890625, y: 0.734375 },\n { x: 0.921875, y: 0.734375 },\n { x: 0.921875, y: 0.734375 },\n { x: 0.953125, y: 0.734375 },\n { x: 0.953125, y: 0.734375 },\n { x: 0.984375, y: 0.734375 },\n { x: 0.984375, y: 0.734375 },\n { x: 0.015625, y: 0.765625 },\n { x: 0.015625, y: 0.765625 },\n { x: 0.046875, y: 0.765625 },\n { x: 0.046875, y: 0.765625 },\n { x: 0.078125, y: 0.765625 },\n { x: 0.078125, y: 0.765625 },\n { x: 0.109375, y: 0.765625 },\n { x: 0.109375, y: 0.765625 },\n { x: 0.140625, y: 0.765625 },\n { x: 0.140625, y: 0.765625 },\n { x: 0.171875, y: 0.765625 },\n { x: 0.171875, y: 0.765625 },\n { x: 0.203125, y: 0.765625 },\n { x: 0.203125, y: 0.765625 },\n { x: 0.234375, y: 0.765625 },\n { x: 0.234375, y: 0.765625 },\n { x: 0.265625, y: 0.765625 },\n { x: 0.265625, y: 0.765625 },\n { x: 0.296875, y: 0.765625 },\n { x: 0.296875, y: 0.765625 },\n { x: 0.328125, y: 0.765625 },\n { x: 0.328125, y: 0.765625 },\n { x: 0.359375, y: 0.765625 },\n { x: 0.359375, y: 0.765625 },\n { x: 0.390625, y: 0.765625 },\n { x: 0.390625, y: 0.765625 },\n { x: 0.421875, y: 0.765625 },\n { x: 0.421875, y: 0.765625 },\n { x: 0.453125, y: 0.765625 },\n { x: 0.453125, y: 0.765625 },\n { x: 0.484375, y: 0.765625 },\n { x: 0.484375, y: 0.765625 },\n { x: 0.515625, y: 0.765625 },\n { x: 0.515625, y: 0.765625 },\n { x: 0.546875, y: 0.765625 },\n { x: 0.546875, y: 0.765625 },\n { x: 0.578125, y: 0.765625 },\n { x: 0.578125, y: 0.765625 },\n { x: 0.609375, y: 0.765625 },\n { x: 0.609375, y: 0.765625 },\n { x: 0.640625, y: 0.765625 },\n { x: 0.640625, y: 0.765625 },\n { x: 0.671875, y: 0.765625 },\n { x: 0.671875, y: 0.765625 },\n { x: 0.703125, y: 0.765625 },\n { x: 0.703125, y: 0.765625 },\n { x: 0.734375, y: 0.765625 },\n { x: 0.734375, y: 0.765625 },\n { x: 0.765625, y: 0.765625 },\n { x: 0.765625, y: 0.765625 },\n { x: 0.796875, y: 0.765625 },\n { x: 0.796875, y: 0.765625 },\n { x: 0.828125, y: 0.765625 },\n { x: 0.828125, y: 0.765625 },\n { x: 0.859375, y: 0.765625 },\n { x: 0.859375, y: 0.765625 },\n { x: 0.890625, y: 0.765625 },\n { x: 0.890625, y: 0.765625 },\n { x: 0.921875, y: 0.765625 },\n { x: 0.921875, y: 0.765625 },\n { x: 0.953125, y: 0.765625 },\n { x: 0.953125, y: 0.765625 },\n { x: 0.984375, y: 0.765625 },\n { x: 0.984375, y: 0.765625 },\n { x: 0.015625, y: 0.796875 },\n { x: 0.015625, y: 0.796875 },\n { x: 0.046875, y: 0.796875 },\n { x: 0.046875, y: 0.796875 },\n { x: 0.078125, y: 0.796875 },\n { x: 0.078125, y: 0.796875 },\n { x: 0.109375, y: 0.796875 },\n { x: 0.109375, y: 0.796875 },\n { x: 0.140625, y: 0.796875 },\n { x: 0.140625, y: 0.796875 },\n { x: 0.171875, y: 0.796875 },\n { x: 0.171875, y: 0.796875 },\n { x: 0.203125, y: 0.796875 },\n { x: 0.203125, y: 0.796875 },\n { x: 0.234375, y: 0.796875 },\n { x: 0.234375, y: 0.796875 },\n { x: 0.265625, y: 0.796875 },\n { x: 0.265625, y: 0.796875 },\n { x: 0.296875, y: 0.796875 },\n { x: 0.296875, y: 0.796875 },\n { x: 0.328125, y: 0.796875 },\n { x: 0.328125, y: 0.796875 },\n { x: 0.359375, y: 0.796875 },\n { x: 0.359375, y: 0.796875 },\n { x: 0.390625, y: 0.796875 },\n { x: 0.390625, y: 0.796875 },\n { x: 0.421875, y: 0.796875 },\n { x: 0.421875, y: 0.796875 },\n { x: 0.453125, y: 0.796875 },\n { x: 0.453125, y: 0.796875 },\n { x: 0.484375, y: 0.796875 },\n { x: 0.484375, y: 0.796875 },\n { x: 0.515625, y: 0.796875 },\n { x: 0.515625, y: 0.796875 },\n { x: 0.546875, y: 0.796875 },\n { x: 0.546875, y: 0.796875 },\n { x: 0.578125, y: 0.796875 },\n { x: 0.578125, y: 0.796875 },\n { x: 0.609375, y: 0.796875 },\n { x: 0.609375, y: 0.796875 },\n { x: 0.640625, y: 0.796875 },\n { x: 0.640625, y: 0.796875 },\n { x: 0.671875, y: 0.796875 },\n { x: 0.671875, y: 0.796875 },\n { x: 0.703125, y: 0.796875 },\n { x: 0.703125, y: 0.796875 },\n { x: 0.734375, y: 0.796875 },\n { x: 0.734375, y: 0.796875 },\n { x: 0.765625, y: 0.796875 },\n { x: 0.765625, y: 0.796875 },\n { x: 0.796875, y: 0.796875 },\n { x: 0.796875, y: 0.796875 },\n { x: 0.828125, y: 0.796875 },\n { x: 0.828125, y: 0.796875 },\n { x: 0.859375, y: 0.796875 },\n { x: 0.859375, y: 0.796875 },\n { x: 0.890625, y: 0.796875 },\n { x: 0.890625, y: 0.796875 },\n { x: 0.921875, y: 0.796875 },\n { x: 0.921875, y: 0.796875 },\n { x: 0.953125, y: 0.796875 },\n { x: 0.953125, y: 0.796875 },\n { x: 0.984375, y: 0.796875 },\n { x: 0.984375, y: 0.796875 },\n { x: 0.015625, y: 0.828125 },\n { x: 0.015625, y: 0.828125 },\n { x: 0.046875, y: 0.828125 },\n { x: 0.046875, y: 0.828125 },\n { x: 0.078125, y: 0.828125 },\n { x: 0.078125, y: 0.828125 },\n { x: 0.109375, y: 0.828125 },\n { x: 0.109375, y: 0.828125 },\n { x: 0.140625, y: 0.828125 },\n { x: 0.140625, y: 0.828125 },\n { x: 0.171875, y: 0.828125 },\n { x: 0.171875, y: 0.828125 },\n { x: 0.203125, y: 0.828125 },\n { x: 0.203125, y: 0.828125 },\n { x: 0.234375, y: 0.828125 },\n { x: 0.234375, y: 0.828125 },\n { x: 0.265625, y: 0.828125 },\n { x: 0.265625, y: 0.828125 },\n { x: 0.296875, y: 0.828125 },\n { x: 0.296875, y: 0.828125 },\n { x: 0.328125, y: 0.828125 },\n { x: 0.328125, y: 0.828125 },\n { x: 0.359375, y: 0.828125 },\n { x: 0.359375, y: 0.828125 },\n { x: 0.390625, y: 0.828125 },\n { x: 0.390625, y: 0.828125 },\n { x: 0.421875, y: 0.828125 },\n { x: 0.421875, y: 0.828125 },\n { x: 0.453125, y: 0.828125 },\n { x: 0.453125, y: 0.828125 },\n { x: 0.484375, y: 0.828125 },\n { x: 0.484375, y: 0.828125 },\n { x: 0.515625, y: 0.828125 },\n { x: 0.515625, y: 0.828125 },\n { x: 0.546875, y: 0.828125 },\n { x: 0.546875, y: 0.828125 },\n { x: 0.578125, y: 0.828125 },\n { x: 0.578125, y: 0.828125 },\n { x: 0.609375, y: 0.828125 },\n { x: 0.609375, y: 0.828125 },\n { x: 0.640625, y: 0.828125 },\n { x: 0.640625, y: 0.828125 },\n { x: 0.671875, y: 0.828125 },\n { x: 0.671875, y: 0.828125 },\n { x: 0.703125, y: 0.828125 },\n { x: 0.703125, y: 0.828125 },\n { x: 0.734375, y: 0.828125 },\n { x: 0.734375, y: 0.828125 },\n { x: 0.765625, y: 0.828125 },\n { x: 0.765625, y: 0.828125 },\n { x: 0.796875, y: 0.828125 },\n { x: 0.796875, y: 0.828125 },\n { x: 0.828125, y: 0.828125 },\n { x: 0.828125, y: 0.828125 },\n { x: 0.859375, y: 0.828125 },\n { x: 0.859375, y: 0.828125 },\n { x: 0.890625, y: 0.828125 },\n { x: 0.890625, y: 0.828125 },\n { x: 0.921875, y: 0.828125 },\n { x: 0.921875, y: 0.828125 },\n { x: 0.953125, y: 0.828125 },\n { x: 0.953125, y: 0.828125 },\n { x: 0.984375, y: 0.828125 },\n { x: 0.984375, y: 0.828125 },\n { x: 0.015625, y: 0.859375 },\n { x: 0.015625, y: 0.859375 },\n { x: 0.046875, y: 0.859375 },\n { x: 0.046875, y: 0.859375 },\n { x: 0.078125, y: 0.859375 },\n { x: 0.078125, y: 0.859375 },\n { x: 0.109375, y: 0.859375 },\n { x: 0.109375, y: 0.859375 },\n { x: 0.140625, y: 0.859375 },\n { x: 0.140625, y: 0.859375 },\n { x: 0.171875, y: 0.859375 },\n { x: 0.171875, y: 0.859375 },\n { x: 0.203125, y: 0.859375 },\n { x: 0.203125, y: 0.859375 },\n { x: 0.234375, y: 0.859375 },\n { x: 0.234375, y: 0.859375 },\n { x: 0.265625, y: 0.859375 },\n { x: 0.265625, y: 0.859375 },\n { x: 0.296875, y: 0.859375 },\n { x: 0.296875, y: 0.859375 },\n { x: 0.328125, y: 0.859375 },\n { x: 0.328125, y: 0.859375 },\n { x: 0.359375, y: 0.859375 },\n { x: 0.359375, y: 0.859375 },\n { x: 0.390625, y: 0.859375 },\n { x: 0.390625, y: 0.859375 },\n { x: 0.421875, y: 0.859375 },\n { x: 0.421875, y: 0.859375 },\n { x: 0.453125, y: 0.859375 },\n { x: 0.453125, y: 0.859375 },\n { x: 0.484375, y: 0.859375 },\n { x: 0.484375, y: 0.859375 },\n { x: 0.515625, y: 0.859375 },\n { x: 0.515625, y: 0.859375 },\n { x: 0.546875, y: 0.859375 },\n { x: 0.546875, y: 0.859375 },\n { x: 0.578125, y: 0.859375 },\n { x: 0.578125, y: 0.859375 },\n { x: 0.609375, y: 0.859375 },\n { x: 0.609375, y: 0.859375 },\n { x: 0.640625, y: 0.859375 },\n { x: 0.640625, y: 0.859375 },\n { x: 0.671875, y: 0.859375 },\n { x: 0.671875, y: 0.859375 },\n { x: 0.703125, y: 0.859375 },\n { x: 0.703125, y: 0.859375 },\n { x: 0.734375, y: 0.859375 },\n { x: 0.734375, y: 0.859375 },\n { x: 0.765625, y: 0.859375 },\n { x: 0.765625, y: 0.859375 },\n { x: 0.796875, y: 0.859375 },\n { x: 0.796875, y: 0.859375 },\n { x: 0.828125, y: 0.859375 },\n { x: 0.828125, y: 0.859375 },\n { x: 0.859375, y: 0.859375 },\n { x: 0.859375, y: 0.859375 },\n { x: 0.890625, y: 0.859375 },\n { x: 0.890625, y: 0.859375 },\n { x: 0.921875, y: 0.859375 },\n { x: 0.921875, y: 0.859375 },\n { x: 0.953125, y: 0.859375 },\n { x: 0.953125, y: 0.859375 },\n { x: 0.984375, y: 0.859375 },\n { x: 0.984375, y: 0.859375 },\n { x: 0.015625, y: 0.890625 },\n { x: 0.015625, y: 0.890625 },\n { x: 0.046875, y: 0.890625 },\n { x: 0.046875, y: 0.890625 },\n { x: 0.078125, y: 0.890625 },\n { x: 0.078125, y: 0.890625 },\n { x: 0.109375, y: 0.890625 },\n { x: 0.109375, y: 0.890625 },\n { x: 0.140625, y: 0.890625 },\n { x: 0.140625, y: 0.890625 },\n { x: 0.171875, y: 0.890625 },\n { x: 0.171875, y: 0.890625 },\n { x: 0.203125, y: 0.890625 },\n { x: 0.203125, y: 0.890625 },\n { x: 0.234375, y: 0.890625 },\n { x: 0.234375, y: 0.890625 },\n { x: 0.265625, y: 0.890625 },\n { x: 0.265625, y: 0.890625 },\n { x: 0.296875, y: 0.890625 },\n { x: 0.296875, y: 0.890625 },\n { x: 0.328125, y: 0.890625 },\n { x: 0.328125, y: 0.890625 },\n { x: 0.359375, y: 0.890625 },\n { x: 0.359375, y: 0.890625 },\n { x: 0.390625, y: 0.890625 },\n { x: 0.390625, y: 0.890625 },\n { x: 0.421875, y: 0.890625 },\n { x: 0.421875, y: 0.890625 },\n { x: 0.453125, y: 0.890625 },\n { x: 0.453125, y: 0.890625 },\n { x: 0.484375, y: 0.890625 },\n { x: 0.484375, y: 0.890625 },\n { x: 0.515625, y: 0.890625 },\n { x: 0.515625, y: 0.890625 },\n { x: 0.546875, y: 0.890625 },\n { x: 0.546875, y: 0.890625 },\n { x: 0.578125, y: 0.890625 },\n { x: 0.578125, y: 0.890625 },\n { x: 0.609375, y: 0.890625 },\n { x: 0.609375, y: 0.890625 },\n { x: 0.640625, y: 0.890625 },\n { x: 0.640625, y: 0.890625 },\n { x: 0.671875, y: 0.890625 },\n { x: 0.671875, y: 0.890625 },\n { x: 0.703125, y: 0.890625 },\n { x: 0.703125, y: 0.890625 },\n { x: 0.734375, y: 0.890625 },\n { x: 0.734375, y: 0.890625 },\n { x: 0.765625, y: 0.890625 },\n { x: 0.765625, y: 0.890625 },\n { x: 0.796875, y: 0.890625 },\n { x: 0.796875, y: 0.890625 },\n { x: 0.828125, y: 0.890625 },\n { x: 0.828125, y: 0.890625 },\n { x: 0.859375, y: 0.890625 },\n { x: 0.859375, y: 0.890625 },\n { x: 0.890625, y: 0.890625 },\n { x: 0.890625, y: 0.890625 },\n { x: 0.921875, y: 0.890625 },\n { x: 0.921875, y: 0.890625 },\n { x: 0.953125, y: 0.890625 },\n { x: 0.953125, y: 0.890625 },\n { x: 0.984375, y: 0.890625 },\n { x: 0.984375, y: 0.890625 },\n { x: 0.015625, y: 0.921875 },\n { x: 0.015625, y: 0.921875 },\n { x: 0.046875, y: 0.921875 },\n { x: 0.046875, y: 0.921875 },\n { x: 0.078125, y: 0.921875 },\n { x: 0.078125, y: 0.921875 },\n { x: 0.109375, y: 0.921875 },\n { x: 0.109375, y: 0.921875 },\n { x: 0.140625, y: 0.921875 },\n { x: 0.140625, y: 0.921875 },\n { x: 0.171875, y: 0.921875 },\n { x: 0.171875, y: 0.921875 },\n { x: 0.203125, y: 0.921875 },\n { x: 0.203125, y: 0.921875 },\n { x: 0.234375, y: 0.921875 },\n { x: 0.234375, y: 0.921875 },\n { x: 0.265625, y: 0.921875 },\n { x: 0.265625, y: 0.921875 },\n { x: 0.296875, y: 0.921875 },\n { x: 0.296875, y: 0.921875 },\n { x: 0.328125, y: 0.921875 },\n { x: 0.328125, y: 0.921875 },\n { x: 0.359375, y: 0.921875 },\n { x: 0.359375, y: 0.921875 },\n { x: 0.390625, y: 0.921875 },\n { x: 0.390625, y: 0.921875 },\n { x: 0.421875, y: 0.921875 },\n { x: 0.421875, y: 0.921875 },\n { x: 0.453125, y: 0.921875 },\n { x: 0.453125, y: 0.921875 },\n { x: 0.484375, y: 0.921875 },\n { x: 0.484375, y: 0.921875 },\n { x: 0.515625, y: 0.921875 },\n { x: 0.515625, y: 0.921875 },\n { x: 0.546875, y: 0.921875 },\n { x: 0.546875, y: 0.921875 },\n { x: 0.578125, y: 0.921875 },\n { x: 0.578125, y: 0.921875 },\n { x: 0.609375, y: 0.921875 },\n { x: 0.609375, y: 0.921875 },\n { x: 0.640625, y: 0.921875 },\n { x: 0.640625, y: 0.921875 },\n { x: 0.671875, y: 0.921875 },\n { x: 0.671875, y: 0.921875 },\n { x: 0.703125, y: 0.921875 },\n { x: 0.703125, y: 0.921875 },\n { x: 0.734375, y: 0.921875 },\n { x: 0.734375, y: 0.921875 },\n { x: 0.765625, y: 0.921875 },\n { x: 0.765625, y: 0.921875 },\n { x: 0.796875, y: 0.921875 },\n { x: 0.796875, y: 0.921875 },\n { x: 0.828125, y: 0.921875 },\n { x: 0.828125, y: 0.921875 },\n { x: 0.859375, y: 0.921875 },\n { x: 0.859375, y: 0.921875 },\n { x: 0.890625, y: 0.921875 },\n { x: 0.890625, y: 0.921875 },\n { x: 0.921875, y: 0.921875 },\n { x: 0.921875, y: 0.921875 },\n { x: 0.953125, y: 0.921875 },\n { x: 0.953125, y: 0.921875 },\n { x: 0.984375, y: 0.921875 },\n { x: 0.984375, y: 0.921875 },\n { x: 0.015625, y: 0.953125 },\n { x: 0.015625, y: 0.953125 },\n { x: 0.046875, y: 0.953125 },\n { x: 0.046875, y: 0.953125 },\n { x: 0.078125, y: 0.953125 },\n { x: 0.078125, y: 0.953125 },\n { x: 0.109375, y: 0.953125 },\n { x: 0.109375, y: 0.953125 },\n { x: 0.140625, y: 0.953125 },\n { x: 0.140625, y: 0.953125 },\n { x: 0.171875, y: 0.953125 },\n { x: 0.171875, y: 0.953125 },\n { x: 0.203125, y: 0.953125 },\n { x: 0.203125, y: 0.953125 },\n { x: 0.234375, y: 0.953125 },\n { x: 0.234375, y: 0.953125 },\n { x: 0.265625, y: 0.953125 },\n { x: 0.265625, y: 0.953125 },\n { x: 0.296875, y: 0.953125 },\n { x: 0.296875, y: 0.953125 },\n { x: 0.328125, y: 0.953125 },\n { x: 0.328125, y: 0.953125 },\n { x: 0.359375, y: 0.953125 },\n { x: 0.359375, y: 0.953125 },\n { x: 0.390625, y: 0.953125 },\n { x: 0.390625, y: 0.953125 },\n { x: 0.421875, y: 0.953125 },\n { x: 0.421875, y: 0.953125 },\n { x: 0.453125, y: 0.953125 },\n { x: 0.453125, y: 0.953125 },\n { x: 0.484375, y: 0.953125 },\n { x: 0.484375, y: 0.953125 },\n { x: 0.515625, y: 0.953125 },\n { x: 0.515625, y: 0.953125 },\n { x: 0.546875, y: 0.953125 },\n { x: 0.546875, y: 0.953125 },\n { x: 0.578125, y: 0.953125 },\n { x: 0.578125, y: 0.953125 },\n { x: 0.609375, y: 0.953125 },\n { x: 0.609375, y: 0.953125 },\n { x: 0.640625, y: 0.953125 },\n { x: 0.640625, y: 0.953125 },\n { x: 0.671875, y: 0.953125 },\n { x: 0.671875, y: 0.953125 },\n { x: 0.703125, y: 0.953125 },\n { x: 0.703125, y: 0.953125 },\n { x: 0.734375, y: 0.953125 },\n { x: 0.734375, y: 0.953125 },\n { x: 0.765625, y: 0.953125 },\n { x: 0.765625, y: 0.953125 },\n { x: 0.796875, y: 0.953125 },\n { x: 0.796875, y: 0.953125 },\n { x: 0.828125, y: 0.953125 },\n { x: 0.828125, y: 0.953125 },\n { x: 0.859375, y: 0.953125 },\n { x: 0.859375, y: 0.953125 },\n { x: 0.890625, y: 0.953125 },\n { x: 0.890625, y: 0.953125 },\n { x: 0.921875, y: 0.953125 },\n { x: 0.921875, y: 0.953125 },\n { x: 0.953125, y: 0.953125 },\n { x: 0.953125, y: 0.953125 },\n { x: 0.984375, y: 0.953125 },\n { x: 0.984375, y: 0.953125 },\n { x: 0.015625, y: 0.984375 },\n { x: 0.015625, y: 0.984375 },\n { x: 0.046875, y: 0.984375 },\n { x: 0.046875, y: 0.984375 },\n { x: 0.078125, y: 0.984375 },\n { x: 0.078125, y: 0.984375 },\n { x: 0.109375, y: 0.984375 },\n { x: 0.109375, y: 0.984375 },\n { x: 0.140625, y: 0.984375 },\n { x: 0.140625, y: 0.984375 },\n { x: 0.171875, y: 0.984375 },\n { x: 0.171875, y: 0.984375 },\n { x: 0.203125, y: 0.984375 },\n { x: 0.203125, y: 0.984375 },\n { x: 0.234375, y: 0.984375 },\n { x: 0.234375, y: 0.984375 },\n { x: 0.265625, y: 0.984375 },\n { x: 0.265625, y: 0.984375 },\n { x: 0.296875, y: 0.984375 },\n { x: 0.296875, y: 0.984375 },\n { x: 0.328125, y: 0.984375 },\n { x: 0.328125, y: 0.984375 },\n { x: 0.359375, y: 0.984375 },\n { x: 0.359375, y: 0.984375 },\n { x: 0.390625, y: 0.984375 },\n { x: 0.390625, y: 0.984375 },\n { x: 0.421875, y: 0.984375 },\n { x: 0.421875, y: 0.984375 },\n { x: 0.453125, y: 0.984375 },\n { x: 0.453125, y: 0.984375 },\n { x: 0.484375, y: 0.984375 },\n { x: 0.484375, y: 0.984375 },\n { x: 0.515625, y: 0.984375 },\n { x: 0.515625, y: 0.984375 },\n { x: 0.546875, y: 0.984375 },\n { x: 0.546875, y: 0.984375 },\n { x: 0.578125, y: 0.984375 },\n { x: 0.578125, y: 0.984375 },\n { x: 0.609375, y: 0.984375 },\n { x: 0.609375, y: 0.984375 },\n { x: 0.640625, y: 0.984375 },\n { x: 0.640625, y: 0.984375 },\n { x: 0.671875, y: 0.984375 },\n { x: 0.671875, y: 0.984375 },\n { x: 0.703125, y: 0.984375 },\n { x: 0.703125, y: 0.984375 },\n { x: 0.734375, y: 0.984375 },\n { x: 0.734375, y: 0.984375 },\n { x: 0.765625, y: 0.984375 },\n { x: 0.765625, y: 0.984375 },\n { x: 0.796875, y: 0.984375 },\n { x: 0.796875, y: 0.984375 },\n { x: 0.828125, y: 0.984375 },\n { x: 0.828125, y: 0.984375 },\n { x: 0.859375, y: 0.984375 },\n { x: 0.859375, y: 0.984375 },\n { x: 0.890625, y: 0.984375 },\n { x: 0.890625, y: 0.984375 },\n { x: 0.921875, y: 0.984375 },\n { x: 0.921875, y: 0.984375 },\n { x: 0.953125, y: 0.984375 },\n { x: 0.953125, y: 0.984375 },\n { x: 0.984375, y: 0.984375 },\n { x: 0.984375, y: 0.984375 },\n { x: 0.03125, y: 0.03125 },\n { x: 0.03125, y: 0.03125 },\n { x: 0.09375, y: 0.03125 },\n { x: 0.09375, y: 0.03125 },\n { x: 0.15625, y: 0.03125 },\n { x: 0.15625, y: 0.03125 },\n { x: 0.21875, y: 0.03125 },\n { x: 0.21875, y: 0.03125 },\n { x: 0.28125, y: 0.03125 },\n { x: 0.28125, y: 0.03125 },\n { x: 0.34375, y: 0.03125 },\n { x: 0.34375, y: 0.03125 },\n { x: 0.40625, y: 0.03125 },\n { x: 0.40625, y: 0.03125 },\n { x: 0.46875, y: 0.03125 },\n { x: 0.46875, y: 0.03125 },\n { x: 0.53125, y: 0.03125 },\n { x: 0.53125, y: 0.03125 },\n { x: 0.59375, y: 0.03125 },\n { x: 0.59375, y: 0.03125 },\n { x: 0.65625, y: 0.03125 },\n { x: 0.65625, y: 0.03125 },\n { x: 0.71875, y: 0.03125 },\n { x: 0.71875, y: 0.03125 },\n { x: 0.78125, y: 0.03125 },\n { x: 0.78125, y: 0.03125 },\n { x: 0.84375, y: 0.03125 },\n { x: 0.84375, y: 0.03125 },\n { x: 0.90625, y: 0.03125 },\n { x: 0.90625, y: 0.03125 },\n { x: 0.96875, y: 0.03125 },\n { x: 0.96875, y: 0.03125 },\n { x: 0.03125, y: 0.09375 },\n { x: 0.03125, y: 0.09375 },\n { x: 0.09375, y: 0.09375 },\n { x: 0.09375, y: 0.09375 },\n { x: 0.15625, y: 0.09375 },\n { x: 0.15625, y: 0.09375 },\n { x: 0.21875, y: 0.09375 },\n { x: 0.21875, y: 0.09375 },\n { x: 0.28125, y: 0.09375 },\n { x: 0.28125, y: 0.09375 },\n { x: 0.34375, y: 0.09375 },\n { x: 0.34375, y: 0.09375 },\n { x: 0.40625, y: 0.09375 },\n { x: 0.40625, y: 0.09375 },\n { x: 0.46875, y: 0.09375 },\n { x: 0.46875, y: 0.09375 },\n { x: 0.53125, y: 0.09375 },\n { x: 0.53125, y: 0.09375 },\n { x: 0.59375, y: 0.09375 },\n { x: 0.59375, y: 0.09375 },\n { x: 0.65625, y: 0.09375 },\n { x: 0.65625, y: 0.09375 },\n { x: 0.71875, y: 0.09375 },\n { x: 0.71875, y: 0.09375 },\n { x: 0.78125, y: 0.09375 },\n { x: 0.78125, y: 0.09375 },\n { x: 0.84375, y: 0.09375 },\n { x: 0.84375, y: 0.09375 },\n { x: 0.90625, y: 0.09375 },\n { x: 0.90625, y: 0.09375 },\n { x: 0.96875, y: 0.09375 },\n { x: 0.96875, y: 0.09375 },\n { x: 0.03125, y: 0.15625 },\n { x: 0.03125, y: 0.15625 },\n { x: 0.09375, y: 0.15625 },\n { x: 0.09375, y: 0.15625 },\n { x: 0.15625, y: 0.15625 },\n { x: 0.15625, y: 0.15625 },\n { x: 0.21875, y: 0.15625 },\n { x: 0.21875, y: 0.15625 },\n { x: 0.28125, y: 0.15625 },\n { x: 0.28125, y: 0.15625 },\n { x: 0.34375, y: 0.15625 },\n { x: 0.34375, y: 0.15625 },\n { x: 0.40625, y: 0.15625 },\n { x: 0.40625, y: 0.15625 },\n { x: 0.46875, y: 0.15625 },\n { x: 0.46875, y: 0.15625 },\n { x: 0.53125, y: 0.15625 },\n { x: 0.53125, y: 0.15625 },\n { x: 0.59375, y: 0.15625 },\n { x: 0.59375, y: 0.15625 },\n { x: 0.65625, y: 0.15625 },\n { x: 0.65625, y: 0.15625 },\n { x: 0.71875, y: 0.15625 },\n { x: 0.71875, y: 0.15625 },\n { x: 0.78125, y: 0.15625 },\n { x: 0.78125, y: 0.15625 },\n { x: 0.84375, y: 0.15625 },\n { x: 0.84375, y: 0.15625 },\n { x: 0.90625, y: 0.15625 },\n { x: 0.90625, y: 0.15625 },\n { x: 0.96875, y: 0.15625 },\n { x: 0.96875, y: 0.15625 },\n { x: 0.03125, y: 0.21875 },\n { x: 0.03125, y: 0.21875 },\n { x: 0.09375, y: 0.21875 },\n { x: 0.09375, y: 0.21875 },\n { x: 0.15625, y: 0.21875 },\n { x: 0.15625, y: 0.21875 },\n { x: 0.21875, y: 0.21875 },\n { x: 0.21875, y: 0.21875 },\n { x: 0.28125, y: 0.21875 },\n { x: 0.28125, y: 0.21875 },\n { x: 0.34375, y: 0.21875 },\n { x: 0.34375, y: 0.21875 },\n { x: 0.40625, y: 0.21875 },\n { x: 0.40625, y: 0.21875 },\n { x: 0.46875, y: 0.21875 },\n { x: 0.46875, y: 0.21875 },\n { x: 0.53125, y: 0.21875 },\n { x: 0.53125, y: 0.21875 },\n { x: 0.59375, y: 0.21875 },\n { x: 0.59375, y: 0.21875 },\n { x: 0.65625, y: 0.21875 },\n { x: 0.65625, y: 0.21875 },\n { x: 0.71875, y: 0.21875 },\n { x: 0.71875, y: 0.21875 },\n { x: 0.78125, y: 0.21875 },\n { x: 0.78125, y: 0.21875 },\n { x: 0.84375, y: 0.21875 },\n { x: 0.84375, y: 0.21875 },\n { x: 0.90625, y: 0.21875 },\n { x: 0.90625, y: 0.21875 },\n { x: 0.96875, y: 0.21875 },\n { x: 0.96875, y: 0.21875 },\n { x: 0.03125, y: 0.28125 },\n { x: 0.03125, y: 0.28125 },\n { x: 0.09375, y: 0.28125 },\n { x: 0.09375, y: 0.28125 },\n { x: 0.15625, y: 0.28125 },\n { x: 0.15625, y: 0.28125 },\n { x: 0.21875, y: 0.28125 },\n { x: 0.21875, y: 0.28125 },\n { x: 0.28125, y: 0.28125 },\n { x: 0.28125, y: 0.28125 },\n { x: 0.34375, y: 0.28125 },\n { x: 0.34375, y: 0.28125 },\n { x: 0.40625, y: 0.28125 },\n { x: 0.40625, y: 0.28125 },\n { x: 0.46875, y: 0.28125 },\n { x: 0.46875, y: 0.28125 },\n { x: 0.53125, y: 0.28125 },\n { x: 0.53125, y: 0.28125 },\n { x: 0.59375, y: 0.28125 },\n { x: 0.59375, y: 0.28125 },\n { x: 0.65625, y: 0.28125 },\n { x: 0.65625, y: 0.28125 },\n { x: 0.71875, y: 0.28125 },\n { x: 0.71875, y: 0.28125 },\n { x: 0.78125, y: 0.28125 },\n { x: 0.78125, y: 0.28125 },\n { x: 0.84375, y: 0.28125 },\n { x: 0.84375, y: 0.28125 },\n { x: 0.90625, y: 0.28125 },\n { x: 0.90625, y: 0.28125 },\n { x: 0.96875, y: 0.28125 },\n { x: 0.96875, y: 0.28125 },\n { x: 0.03125, y: 0.34375 },\n { x: 0.03125, y: 0.34375 },\n { x: 0.09375, y: 0.34375 },\n { x: 0.09375, y: 0.34375 },\n { x: 0.15625, y: 0.34375 },\n { x: 0.15625, y: 0.34375 },\n { x: 0.21875, y: 0.34375 },\n { x: 0.21875, y: 0.34375 },\n { x: 0.28125, y: 0.34375 },\n { x: 0.28125, y: 0.34375 },\n { x: 0.34375, y: 0.34375 },\n { x: 0.34375, y: 0.34375 },\n { x: 0.40625, y: 0.34375 },\n { x: 0.40625, y: 0.34375 },\n { x: 0.46875, y: 0.34375 },\n { x: 0.46875, y: 0.34375 },\n { x: 0.53125, y: 0.34375 },\n { x: 0.53125, y: 0.34375 },\n { x: 0.59375, y: 0.34375 },\n { x: 0.59375, y: 0.34375 },\n { x: 0.65625, y: 0.34375 },\n { x: 0.65625, y: 0.34375 },\n { x: 0.71875, y: 0.34375 },\n { x: 0.71875, y: 0.34375 },\n { x: 0.78125, y: 0.34375 },\n { x: 0.78125, y: 0.34375 },\n { x: 0.84375, y: 0.34375 },\n { x: 0.84375, y: 0.34375 },\n { x: 0.90625, y: 0.34375 },\n { x: 0.90625, y: 0.34375 },\n { x: 0.96875, y: 0.34375 },\n { x: 0.96875, y: 0.34375 },\n { x: 0.03125, y: 0.40625 },\n { x: 0.03125, y: 0.40625 },\n { x: 0.09375, y: 0.40625 },\n { x: 0.09375, y: 0.40625 },\n { x: 0.15625, y: 0.40625 },\n { x: 0.15625, y: 0.40625 },\n { x: 0.21875, y: 0.40625 },\n { x: 0.21875, y: 0.40625 },\n { x: 0.28125, y: 0.40625 },\n { x: 0.28125, y: 0.40625 },\n { x: 0.34375, y: 0.40625 },\n { x: 0.34375, y: 0.40625 },\n { x: 0.40625, y: 0.40625 },\n { x: 0.40625, y: 0.40625 },\n { x: 0.46875, y: 0.40625 },\n { x: 0.46875, y: 0.40625 },\n { x: 0.53125, y: 0.40625 },\n { x: 0.53125, y: 0.40625 },\n { x: 0.59375, y: 0.40625 },\n { x: 0.59375, y: 0.40625 },\n { x: 0.65625, y: 0.40625 },\n { x: 0.65625, y: 0.40625 },\n { x: 0.71875, y: 0.40625 },\n { x: 0.71875, y: 0.40625 },\n { x: 0.78125, y: 0.40625 },\n { x: 0.78125, y: 0.40625 },\n { x: 0.84375, y: 0.40625 },\n { x: 0.84375, y: 0.40625 },\n { x: 0.90625, y: 0.40625 },\n { x: 0.90625, y: 0.40625 },\n { x: 0.96875, y: 0.40625 },\n { x: 0.96875, y: 0.40625 },\n { x: 0.03125, y: 0.46875 },\n { x: 0.03125, y: 0.46875 },\n { x: 0.09375, y: 0.46875 },\n { x: 0.09375, y: 0.46875 },\n { x: 0.15625, y: 0.46875 },\n { x: 0.15625, y: 0.46875 },\n { x: 0.21875, y: 0.46875 },\n { x: 0.21875, y: 0.46875 },\n { x: 0.28125, y: 0.46875 },\n { x: 0.28125, y: 0.46875 },\n { x: 0.34375, y: 0.46875 },\n { x: 0.34375, y: 0.46875 },\n { x: 0.40625, y: 0.46875 },\n { x: 0.40625, y: 0.46875 },\n { x: 0.46875, y: 0.46875 },\n { x: 0.46875, y: 0.46875 },\n { x: 0.53125, y: 0.46875 },\n { x: 0.53125, y: 0.46875 },\n { x: 0.59375, y: 0.46875 },\n { x: 0.59375, y: 0.46875 },\n { x: 0.65625, y: 0.46875 },\n { x: 0.65625, y: 0.46875 },\n { x: 0.71875, y: 0.46875 },\n { x: 0.71875, y: 0.46875 },\n { x: 0.78125, y: 0.46875 },\n { x: 0.78125, y: 0.46875 },\n { x: 0.84375, y: 0.46875 },\n { x: 0.84375, y: 0.46875 },\n { x: 0.90625, y: 0.46875 },\n { x: 0.90625, y: 0.46875 },\n { x: 0.96875, y: 0.46875 },\n { x: 0.96875, y: 0.46875 },\n { x: 0.03125, y: 0.53125 },\n { x: 0.03125, y: 0.53125 },\n { x: 0.09375, y: 0.53125 },\n { x: 0.09375, y: 0.53125 },\n { x: 0.15625, y: 0.53125 },\n { x: 0.15625, y: 0.53125 },\n { x: 0.21875, y: 0.53125 },\n { x: 0.21875, y: 0.53125 },\n { x: 0.28125, y: 0.53125 },\n { x: 0.28125, y: 0.53125 },\n { x: 0.34375, y: 0.53125 },\n { x: 0.34375, y: 0.53125 },\n { x: 0.40625, y: 0.53125 },\n { x: 0.40625, y: 0.53125 },\n { x: 0.46875, y: 0.53125 },\n { x: 0.46875, y: 0.53125 },\n { x: 0.53125, y: 0.53125 },\n { x: 0.53125, y: 0.53125 },\n { x: 0.59375, y: 0.53125 },\n { x: 0.59375, y: 0.53125 },\n { x: 0.65625, y: 0.53125 },\n { x: 0.65625, y: 0.53125 },\n { x: 0.71875, y: 0.53125 },\n { x: 0.71875, y: 0.53125 },\n { x: 0.78125, y: 0.53125 },\n { x: 0.78125, y: 0.53125 },\n { x: 0.84375, y: 0.53125 },\n { x: 0.84375, y: 0.53125 },\n { x: 0.90625, y: 0.53125 },\n { x: 0.90625, y: 0.53125 },\n { x: 0.96875, y: 0.53125 },\n { x: 0.96875, y: 0.53125 },\n { x: 0.03125, y: 0.59375 },\n { x: 0.03125, y: 0.59375 },\n { x: 0.09375, y: 0.59375 },\n { x: 0.09375, y: 0.59375 },\n { x: 0.15625, y: 0.59375 },\n { x: 0.15625, y: 0.59375 },\n { x: 0.21875, y: 0.59375 },\n { x: 0.21875, y: 0.59375 },\n { x: 0.28125, y: 0.59375 },\n { x: 0.28125, y: 0.59375 },\n { x: 0.34375, y: 0.59375 },\n { x: 0.34375, y: 0.59375 },\n { x: 0.40625, y: 0.59375 },\n { x: 0.40625, y: 0.59375 },\n { x: 0.46875, y: 0.59375 },\n { x: 0.46875, y: 0.59375 },\n { x: 0.53125, y: 0.59375 },\n { x: 0.53125, y: 0.59375 },\n { x: 0.59375, y: 0.59375 },\n { x: 0.59375, y: 0.59375 },\n { x: 0.65625, y: 0.59375 },\n { x: 0.65625, y: 0.59375 },\n { x: 0.71875, y: 0.59375 },\n { x: 0.71875, y: 0.59375 },\n { x: 0.78125, y: 0.59375 },\n { x: 0.78125, y: 0.59375 },\n { x: 0.84375, y: 0.59375 },\n { x: 0.84375, y: 0.59375 },\n { x: 0.90625, y: 0.59375 },\n { x: 0.90625, y: 0.59375 },\n { x: 0.96875, y: 0.59375 },\n { x: 0.96875, y: 0.59375 },\n { x: 0.03125, y: 0.65625 },\n { x: 0.03125, y: 0.65625 },\n { x: 0.09375, y: 0.65625 },\n { x: 0.09375, y: 0.65625 },\n { x: 0.15625, y: 0.65625 },\n { x: 0.15625, y: 0.65625 },\n { x: 0.21875, y: 0.65625 },\n { x: 0.21875, y: 0.65625 },\n { x: 0.28125, y: 0.65625 },\n { x: 0.28125, y: 0.65625 },\n { x: 0.34375, y: 0.65625 },\n { x: 0.34375, y: 0.65625 },\n { x: 0.40625, y: 0.65625 },\n { x: 0.40625, y: 0.65625 },\n { x: 0.46875, y: 0.65625 },\n { x: 0.46875, y: 0.65625 },\n { x: 0.53125, y: 0.65625 },\n { x: 0.53125, y: 0.65625 },\n { x: 0.59375, y: 0.65625 },\n { x: 0.59375, y: 0.65625 },\n { x: 0.65625, y: 0.65625 },\n { x: 0.65625, y: 0.65625 },\n { x: 0.71875, y: 0.65625 },\n { x: 0.71875, y: 0.65625 },\n { x: 0.78125, y: 0.65625 },\n { x: 0.78125, y: 0.65625 },\n { x: 0.84375, y: 0.65625 },\n { x: 0.84375, y: 0.65625 },\n { x: 0.90625, y: 0.65625 },\n { x: 0.90625, y: 0.65625 },\n { x: 0.96875, y: 0.65625 },\n { x: 0.96875, y: 0.65625 },\n { x: 0.03125, y: 0.71875 },\n { x: 0.03125, y: 0.71875 },\n { x: 0.09375, y: 0.71875 },\n { x: 0.09375, y: 0.71875 },\n { x: 0.15625, y: 0.71875 },\n { x: 0.15625, y: 0.71875 },\n { x: 0.21875, y: 0.71875 },\n { x: 0.21875, y: 0.71875 },\n { x: 0.28125, y: 0.71875 },\n { x: 0.28125, y: 0.71875 },\n { x: 0.34375, y: 0.71875 },\n { x: 0.34375, y: 0.71875 },\n { x: 0.40625, y: 0.71875 },\n { x: 0.40625, y: 0.71875 },\n { x: 0.46875, y: 0.71875 },\n { x: 0.46875, y: 0.71875 },\n { x: 0.53125, y: 0.71875 },\n { x: 0.53125, y: 0.71875 },\n { x: 0.59375, y: 0.71875 },\n { x: 0.59375, y: 0.71875 },\n { x: 0.65625, y: 0.71875 },\n { x: 0.65625, y: 0.71875 },\n { x: 0.71875, y: 0.71875 },\n { x: 0.71875, y: 0.71875 },\n { x: 0.78125, y: 0.71875 },\n { x: 0.78125, y: 0.71875 },\n { x: 0.84375, y: 0.71875 },\n { x: 0.84375, y: 0.71875 },\n { x: 0.90625, y: 0.71875 },\n { x: 0.90625, y: 0.71875 },\n { x: 0.96875, y: 0.71875 },\n { x: 0.96875, y: 0.71875 },\n { x: 0.03125, y: 0.78125 },\n { x: 0.03125, y: 0.78125 },\n { x: 0.09375, y: 0.78125 },\n { x: 0.09375, y: 0.78125 },\n { x: 0.15625, y: 0.78125 },\n { x: 0.15625, y: 0.78125 },\n { x: 0.21875, y: 0.78125 },\n { x: 0.21875, y: 0.78125 },\n { x: 0.28125, y: 0.78125 },\n { x: 0.28125, y: 0.78125 },\n { x: 0.34375, y: 0.78125 },\n { x: 0.34375, y: 0.78125 },\n { x: 0.40625, y: 0.78125 },\n { x: 0.40625, y: 0.78125 },\n { x: 0.46875, y: 0.78125 },\n { x: 0.46875, y: 0.78125 },\n { x: 0.53125, y: 0.78125 },\n { x: 0.53125, y: 0.78125 },\n { x: 0.59375, y: 0.78125 },\n { x: 0.59375, y: 0.78125 },\n { x: 0.65625, y: 0.78125 },\n { x: 0.65625, y: 0.78125 },\n { x: 0.71875, y: 0.78125 },\n { x: 0.71875, y: 0.78125 },\n { x: 0.78125, y: 0.78125 },\n { x: 0.78125, y: 0.78125 },\n { x: 0.84375, y: 0.78125 },\n { x: 0.84375, y: 0.78125 },\n { x: 0.90625, y: 0.78125 },\n { x: 0.90625, y: 0.78125 },\n { x: 0.96875, y: 0.78125 },\n { x: 0.96875, y: 0.78125 },\n { x: 0.03125, y: 0.84375 },\n { x: 0.03125, y: 0.84375 },\n { x: 0.09375, y: 0.84375 },\n { x: 0.09375, y: 0.84375 },\n { x: 0.15625, y: 0.84375 },\n { x: 0.15625, y: 0.84375 },\n { x: 0.21875, y: 0.84375 },\n { x: 0.21875, y: 0.84375 },\n { x: 0.28125, y: 0.84375 },\n { x: 0.28125, y: 0.84375 },\n { x: 0.34375, y: 0.84375 },\n { x: 0.34375, y: 0.84375 },\n { x: 0.40625, y: 0.84375 },\n { x: 0.40625, y: 0.84375 },\n { x: 0.46875, y: 0.84375 },\n { x: 0.46875, y: 0.84375 },\n { x: 0.53125, y: 0.84375 },\n { x: 0.53125, y: 0.84375 },\n { x: 0.59375, y: 0.84375 },\n { x: 0.59375, y: 0.84375 },\n { x: 0.65625, y: 0.84375 },\n { x: 0.65625, y: 0.84375 },\n { x: 0.71875, y: 0.84375 },\n { x: 0.71875, y: 0.84375 },\n { x: 0.78125, y: 0.84375 },\n { x: 0.78125, y: 0.84375 },\n { x: 0.84375, y: 0.84375 },\n { x: 0.84375, y: 0.84375 },\n { x: 0.90625, y: 0.84375 },\n { x: 0.90625, y: 0.84375 },\n { x: 0.96875, y: 0.84375 },\n { x: 0.96875, y: 0.84375 },\n { x: 0.03125, y: 0.90625 },\n { x: 0.03125, y: 0.90625 },\n { x: 0.09375, y: 0.90625 },\n { x: 0.09375, y: 0.90625 },\n { x: 0.15625, y: 0.90625 },\n { x: 0.15625, y: 0.90625 },\n { x: 0.21875, y: 0.90625 },\n { x: 0.21875, y: 0.90625 },\n { x: 0.28125, y: 0.90625 },\n { x: 0.28125, y: 0.90625 },\n { x: 0.34375, y: 0.90625 },\n { x: 0.34375, y: 0.90625 },\n { x: 0.40625, y: 0.90625 },\n { x: 0.40625, y: 0.90625 },\n { x: 0.46875, y: 0.90625 },\n { x: 0.46875, y: 0.90625 },\n { x: 0.53125, y: 0.90625 },\n { x: 0.53125, y: 0.90625 },\n { x: 0.59375, y: 0.90625 },\n { x: 0.59375, y: 0.90625 },\n { x: 0.65625, y: 0.90625 },\n { x: 0.65625, y: 0.90625 },\n { x: 0.71875, y: 0.90625 },\n { x: 0.71875, y: 0.90625 },\n { x: 0.78125, y: 0.90625 },\n { x: 0.78125, y: 0.90625 },\n { x: 0.84375, y: 0.90625 },\n { x: 0.84375, y: 0.90625 },\n { x: 0.90625, y: 0.90625 },\n { x: 0.90625, y: 0.90625 },\n { x: 0.96875, y: 0.90625 },\n { x: 0.96875, y: 0.90625 },\n { x: 0.03125, y: 0.96875 },\n { x: 0.03125, y: 0.96875 },\n { x: 0.09375, y: 0.96875 },\n { x: 0.09375, y: 0.96875 },\n { x: 0.15625, y: 0.96875 },\n { x: 0.15625, y: 0.96875 },\n { x: 0.21875, y: 0.96875 },\n { x: 0.21875, y: 0.96875 },\n { x: 0.28125, y: 0.96875 },\n { x: 0.28125, y: 0.96875 },\n { x: 0.34375, y: 0.96875 },\n { x: 0.34375, y: 0.96875 },\n { x: 0.40625, y: 0.96875 },\n { x: 0.40625, y: 0.96875 },\n { x: 0.46875, y: 0.96875 },\n { x: 0.46875, y: 0.96875 },\n { x: 0.53125, y: 0.96875 },\n { x: 0.53125, y: 0.96875 },\n { x: 0.59375, y: 0.96875 },\n { x: 0.59375, y: 0.96875 },\n { x: 0.65625, y: 0.96875 },\n { x: 0.65625, y: 0.96875 },\n { x: 0.71875, y: 0.96875 },\n { x: 0.71875, y: 0.96875 },\n { x: 0.78125, y: 0.96875 },\n { x: 0.78125, y: 0.96875 },\n { x: 0.84375, y: 0.96875 },\n { x: 0.84375, y: 0.96875 },\n { x: 0.90625, y: 0.96875 },\n { x: 0.90625, y: 0.96875 },\n { x: 0.96875, y: 0.96875 },\n { x: 0.96875, y: 0.96875 },\n { x: 0.0625, y: 0.0625 },\n { x: 0.0625, y: 0.0625 },\n { x: 0.0625, y: 0.0625 },\n { x: 0.0625, y: 0.0625 },\n { x: 0.0625, y: 0.0625 },\n { x: 0.0625, y: 0.0625 },\n { x: 0.1875, y: 0.0625 },\n { x: 0.1875, y: 0.0625 },\n { x: 0.1875, y: 0.0625 },\n { x: 0.1875, y: 0.0625 },\n { x: 0.1875, y: 0.0625 },\n { x: 0.1875, y: 0.0625 },\n { x: 0.3125, y: 0.0625 },\n { x: 0.3125, y: 0.0625 },\n { x: 0.3125, y: 0.0625 },\n { x: 0.3125, y: 0.0625 },\n { x: 0.3125, y: 0.0625 },\n { x: 0.3125, y: 0.0625 },\n { x: 0.4375, y: 0.0625 },\n { x: 0.4375, y: 0.0625 },\n { x: 0.4375, y: 0.0625 },\n { x: 0.4375, y: 0.0625 },\n { x: 0.4375, y: 0.0625 },\n { x: 0.4375, y: 0.0625 },\n { x: 0.5625, y: 0.0625 },\n { x: 0.5625, y: 0.0625 },\n { x: 0.5625, y: 0.0625 },\n { x: 0.5625, y: 0.0625 },\n { x: 0.5625, y: 0.0625 },\n { x: 0.5625, y: 0.0625 },\n { x: 0.6875, y: 0.0625 },\n { x: 0.6875, y: 0.0625 },\n { x: 0.6875, y: 0.0625 },\n { x: 0.6875, y: 0.0625 },\n { x: 0.6875, y: 0.0625 },\n { x: 0.6875, y: 0.0625 },\n { x: 0.8125, y: 0.0625 },\n { x: 0.8125, y: 0.0625 },\n { x: 0.8125, y: 0.0625 },\n { x: 0.8125, y: 0.0625 },\n { x: 0.8125, y: 0.0625 },\n { x: 0.8125, y: 0.0625 },\n { x: 0.9375, y: 0.0625 },\n { x: 0.9375, y: 0.0625 },\n { x: 0.9375, y: 0.0625 },\n { x: 0.9375, y: 0.0625 },\n { x: 0.9375, y: 0.0625 },\n { x: 0.9375, y: 0.0625 },\n { x: 0.0625, y: 0.1875 },\n { x: 0.0625, y: 0.1875 },\n { x: 0.0625, y: 0.1875 },\n { x: 0.0625, y: 0.1875 },\n { x: 0.0625, y: 0.1875 },\n { x: 0.0625, y: 0.1875 },\n { x: 0.1875, y: 0.1875 },\n { x: 0.1875, y: 0.1875 },\n { x: 0.1875, y: 0.1875 },\n { x: 0.1875, y: 0.1875 },\n { x: 0.1875, y: 0.1875 },\n { x: 0.1875, y: 0.1875 },\n { x: 0.3125, y: 0.1875 },\n { x: 0.3125, y: 0.1875 },\n { x: 0.3125, y: 0.1875 },\n { x: 0.3125, y: 0.1875 },\n { x: 0.3125, y: 0.1875 },\n { x: 0.3125, y: 0.1875 },\n { x: 0.4375, y: 0.1875 },\n { x: 0.4375, y: 0.1875 },\n { x: 0.4375, y: 0.1875 },\n { x: 0.4375, y: 0.1875 },\n { x: 0.4375, y: 0.1875 },\n { x: 0.4375, y: 0.1875 },\n { x: 0.5625, y: 0.1875 },\n { x: 0.5625, y: 0.1875 },\n { x: 0.5625, y: 0.1875 },\n { x: 0.5625, y: 0.1875 },\n { x: 0.5625, y: 0.1875 },\n { x: 0.5625, y: 0.1875 },\n { x: 0.6875, y: 0.1875 },\n { x: 0.6875, y: 0.1875 },\n { x: 0.6875, y: 0.1875 },\n { x: 0.6875, y: 0.1875 },\n { x: 0.6875, y: 0.1875 },\n { x: 0.6875, y: 0.1875 },\n { x: 0.8125, y: 0.1875 },\n { x: 0.8125, y: 0.1875 },\n { x: 0.8125, y: 0.1875 },\n { x: 0.8125, y: 0.1875 },\n { x: 0.8125, y: 0.1875 },\n { x: 0.8125, y: 0.1875 },\n { x: 0.9375, y: 0.1875 },\n { x: 0.9375, y: 0.1875 },\n { x: 0.9375, y: 0.1875 },\n { x: 0.9375, y: 0.1875 },\n { x: 0.9375, y: 0.1875 },\n { x: 0.9375, y: 0.1875 },\n { x: 0.0625, y: 0.3125 },\n { x: 0.0625, y: 0.3125 },\n { x: 0.0625, y: 0.3125 },\n { x: 0.0625, y: 0.3125 },\n { x: 0.0625, y: 0.3125 },\n { x: 0.0625, y: 0.3125 },\n { x: 0.1875, y: 0.3125 },\n { x: 0.1875, y: 0.3125 },\n { x: 0.1875, y: 0.3125 },\n { x: 0.1875, y: 0.3125 },\n { x: 0.1875, y: 0.3125 },\n { x: 0.1875, y: 0.3125 },\n { x: 0.3125, y: 0.3125 },\n { x: 0.3125, y: 0.3125 },\n { x: 0.3125, y: 0.3125 },\n { x: 0.3125, y: 0.3125 },\n { x: 0.3125, y: 0.3125 },\n { x: 0.3125, y: 0.3125 },\n { x: 0.4375, y: 0.3125 },\n { x: 0.4375, y: 0.3125 },\n { x: 0.4375, y: 0.3125 },\n { x: 0.4375, y: 0.3125 },\n { x: 0.4375, y: 0.3125 },\n { x: 0.4375, y: 0.3125 },\n { x: 0.5625, y: 0.3125 },\n { x: 0.5625, y: 0.3125 },\n { x: 0.5625, y: 0.3125 },\n { x: 0.5625, y: 0.3125 },\n { x: 0.5625, y: 0.3125 },\n { x: 0.5625, y: 0.3125 },\n { x: 0.6875, y: 0.3125 },\n { x: 0.6875, y: 0.3125 },\n { x: 0.6875, y: 0.3125 },\n { x: 0.6875, y: 0.3125 },\n { x: 0.6875, y: 0.3125 },\n { x: 0.6875, y: 0.3125 },\n { x: 0.8125, y: 0.3125 },\n { x: 0.8125, y: 0.3125 },\n { x: 0.8125, y: 0.3125 },\n { x: 0.8125, y: 0.3125 },\n { x: 0.8125, y: 0.3125 },\n { x: 0.8125, y: 0.3125 },\n { x: 0.9375, y: 0.3125 },\n { x: 0.9375, y: 0.3125 },\n { x: 0.9375, y: 0.3125 },\n { x: 0.9375, y: 0.3125 },\n { x: 0.9375, y: 0.3125 },\n { x: 0.9375, y: 0.3125 },\n { x: 0.0625, y: 0.4375 },\n { x: 0.0625, y: 0.4375 },\n { x: 0.0625, y: 0.4375 },\n { x: 0.0625, y: 0.4375 },\n { x: 0.0625, y: 0.4375 },\n { x: 0.0625, y: 0.4375 },\n { x: 0.1875, y: 0.4375 },\n { x: 0.1875, y: 0.4375 },\n { x: 0.1875, y: 0.4375 },\n { x: 0.1875, y: 0.4375 },\n { x: 0.1875, y: 0.4375 },\n { x: 0.1875, y: 0.4375 },\n { x: 0.3125, y: 0.4375 },\n { x: 0.3125, y: 0.4375 },\n { x: 0.3125, y: 0.4375 },\n { x: 0.3125, y: 0.4375 },\n { x: 0.3125, y: 0.4375 },\n { x: 0.3125, y: 0.4375 },\n { x: 0.4375, y: 0.4375 },\n { x: 0.4375, y: 0.4375 },\n { x: 0.4375, y: 0.4375 },\n { x: 0.4375, y: 0.4375 },\n { x: 0.4375, y: 0.4375 },\n { x: 0.4375, y: 0.4375 },\n { x: 0.5625, y: 0.4375 },\n { x: 0.5625, y: 0.4375 },\n { x: 0.5625, y: 0.4375 },\n { x: 0.5625, y: 0.4375 },\n { x: 0.5625, y: 0.4375 },\n { x: 0.5625, y: 0.4375 },\n { x: 0.6875, y: 0.4375 },\n { x: 0.6875, y: 0.4375 },\n { x: 0.6875, y: 0.4375 },\n { x: 0.6875, y: 0.4375 },\n { x: 0.6875, y: 0.4375 },\n { x: 0.6875, y: 0.4375 },\n { x: 0.8125, y: 0.4375 },\n { x: 0.8125, y: 0.4375 },\n { x: 0.8125, y: 0.4375 },\n { x: 0.8125, y: 0.4375 },\n { x: 0.8125, y: 0.4375 },\n { x: 0.8125, y: 0.4375 },\n { x: 0.9375, y: 0.4375 },\n { x: 0.9375, y: 0.4375 },\n { x: 0.9375, y: 0.4375 },\n { x: 0.9375, y: 0.4375 },\n { x: 0.9375, y: 0.4375 },\n { x: 0.9375, y: 0.4375 },\n { x: 0.0625, y: 0.5625 },\n { x: 0.0625, y: 0.5625 },\n { x: 0.0625, y: 0.5625 },\n { x: 0.0625, y: 0.5625 },\n { x: 0.0625, y: 0.5625 },\n { x: 0.0625, y: 0.5625 },\n { x: 0.1875, y: 0.5625 },\n { x: 0.1875, y: 0.5625 },\n { x: 0.1875, y: 0.5625 },\n { x: 0.1875, y: 0.5625 },\n { x: 0.1875, y: 0.5625 },\n { x: 0.1875, y: 0.5625 },\n { x: 0.3125, y: 0.5625 },\n { x: 0.3125, y: 0.5625 },\n { x: 0.3125, y: 0.5625 },\n { x: 0.3125, y: 0.5625 },\n { x: 0.3125, y: 0.5625 },\n { x: 0.3125, y: 0.5625 },\n { x: 0.4375, y: 0.5625 },\n { x: 0.4375, y: 0.5625 },\n { x: 0.4375, y: 0.5625 },\n { x: 0.4375, y: 0.5625 },\n { x: 0.4375, y: 0.5625 },\n { x: 0.4375, y: 0.5625 },\n { x: 0.5625, y: 0.5625 },\n { x: 0.5625, y: 0.5625 },\n { x: 0.5625, y: 0.5625 },\n { x: 0.5625, y: 0.5625 },\n { x: 0.5625, y: 0.5625 },\n { x: 0.5625, y: 0.5625 },\n { x: 0.6875, y: 0.5625 },\n { x: 0.6875, y: 0.5625 },\n { x: 0.6875, y: 0.5625 },\n { x: 0.6875, y: 0.5625 },\n { x: 0.6875, y: 0.5625 },\n { x: 0.6875, y: 0.5625 },\n { x: 0.8125, y: 0.5625 },\n { x: 0.8125, y: 0.5625 },\n { x: 0.8125, y: 0.5625 },\n { x: 0.8125, y: 0.5625 },\n { x: 0.8125, y: 0.5625 },\n { x: 0.8125, y: 0.5625 },\n { x: 0.9375, y: 0.5625 },\n { x: 0.9375, y: 0.5625 },\n { x: 0.9375, y: 0.5625 },\n { x: 0.9375, y: 0.5625 },\n { x: 0.9375, y: 0.5625 },\n { x: 0.9375, y: 0.5625 },\n { x: 0.0625, y: 0.6875 },\n { x: 0.0625, y: 0.6875 },\n { x: 0.0625, y: 0.6875 },\n { x: 0.0625, y: 0.6875 },\n { x: 0.0625, y: 0.6875 },\n { x: 0.0625, y: 0.6875 },\n { x: 0.1875, y: 0.6875 },\n { x: 0.1875, y: 0.6875 },\n { x: 0.1875, y: 0.6875 },\n { x: 0.1875, y: 0.6875 },\n { x: 0.1875, y: 0.6875 },\n { x: 0.1875, y: 0.6875 },\n { x: 0.3125, y: 0.6875 },\n { x: 0.3125, y: 0.6875 },\n { x: 0.3125, y: 0.6875 },\n { x: 0.3125, y: 0.6875 },\n { x: 0.3125, y: 0.6875 },\n { x: 0.3125, y: 0.6875 },\n { x: 0.4375, y: 0.6875 },\n { x: 0.4375, y: 0.6875 },\n { x: 0.4375, y: 0.6875 },\n { x: 0.4375, y: 0.6875 },\n { x: 0.4375, y: 0.6875 },\n { x: 0.4375, y: 0.6875 },\n { x: 0.5625, y: 0.6875 },\n { x: 0.5625, y: 0.6875 },\n { x: 0.5625, y: 0.6875 },\n { x: 0.5625, y: 0.6875 },\n { x: 0.5625, y: 0.6875 },\n { x: 0.5625, y: 0.6875 },\n { x: 0.6875, y: 0.6875 },\n { x: 0.6875, y: 0.6875 },\n { x: 0.6875, y: 0.6875 },\n { x: 0.6875, y: 0.6875 },\n { x: 0.6875, y: 0.6875 },\n { x: 0.6875, y: 0.6875 },\n { x: 0.8125, y: 0.6875 },\n { x: 0.8125, y: 0.6875 },\n { x: 0.8125, y: 0.6875 },\n { x: 0.8125, y: 0.6875 },\n { x: 0.8125, y: 0.6875 },\n { x: 0.8125, y: 0.6875 },\n { x: 0.9375, y: 0.6875 },\n { x: 0.9375, y: 0.6875 },\n { x: 0.9375, y: 0.6875 },\n { x: 0.9375, y: 0.6875 },\n { x: 0.9375, y: 0.6875 },\n { x: 0.9375, y: 0.6875 },\n { x: 0.0625, y: 0.8125 },\n { x: 0.0625, y: 0.8125 },\n { x: 0.0625, y: 0.8125 },\n { x: 0.0625, y: 0.8125 },\n { x: 0.0625, y: 0.8125 },\n { x: 0.0625, y: 0.8125 },\n { x: 0.1875, y: 0.8125 },\n { x: 0.1875, y: 0.8125 },\n { x: 0.1875, y: 0.8125 },\n { x: 0.1875, y: 0.8125 },\n { x: 0.1875, y: 0.8125 },\n { x: 0.1875, y: 0.8125 },\n { x: 0.3125, y: 0.8125 },\n { x: 0.3125, y: 0.8125 },\n { x: 0.3125, y: 0.8125 },\n { x: 0.3125, y: 0.8125 },\n { x: 0.3125, y: 0.8125 },\n { x: 0.3125, y: 0.8125 },\n { x: 0.4375, y: 0.8125 },\n { x: 0.4375, y: 0.8125 },\n { x: 0.4375, y: 0.8125 },\n { x: 0.4375, y: 0.8125 },\n { x: 0.4375, y: 0.8125 },\n { x: 0.4375, y: 0.8125 },\n { x: 0.5625, y: 0.8125 },\n { x: 0.5625, y: 0.8125 },\n { x: 0.5625, y: 0.8125 },\n { x: 0.5625, y: 0.8125 },\n { x: 0.5625, y: 0.8125 },\n { x: 0.5625, y: 0.8125 },\n { x: 0.6875, y: 0.8125 },\n { x: 0.6875, y: 0.8125 },\n { x: 0.6875, y: 0.8125 },\n { x: 0.6875, y: 0.8125 },\n { x: 0.6875, y: 0.8125 },\n { x: 0.6875, y: 0.8125 },\n { x: 0.8125, y: 0.8125 },\n { x: 0.8125, y: 0.8125 },\n { x: 0.8125, y: 0.8125 },\n { x: 0.8125, y: 0.8125 },\n { x: 0.8125, y: 0.8125 },\n { x: 0.8125, y: 0.8125 },\n { x: 0.9375, y: 0.8125 },\n { x: 0.9375, y: 0.8125 },\n { x: 0.9375, y: 0.8125 },\n { x: 0.9375, y: 0.8125 },\n { x: 0.9375, y: 0.8125 },\n { x: 0.9375, y: 0.8125 },\n { x: 0.0625, y: 0.9375 },\n { x: 0.0625, y: 0.9375 },\n { x: 0.0625, y: 0.9375 },\n { x: 0.0625, y: 0.9375 },\n { x: 0.0625, y: 0.9375 },\n { x: 0.0625, y: 0.9375 },\n { x: 0.1875, y: 0.9375 },\n { x: 0.1875, y: 0.9375 },\n { x: 0.1875, y: 0.9375 },\n { x: 0.1875, y: 0.9375 },\n { x: 0.1875, y: 0.9375 },\n { x: 0.1875, y: 0.9375 },\n { x: 0.3125, y: 0.9375 },\n { x: 0.3125, y: 0.9375 },\n { x: 0.3125, y: 0.9375 },\n { x: 0.3125, y: 0.9375 },\n { x: 0.3125, y: 0.9375 },\n { x: 0.3125, y: 0.9375 },\n { x: 0.4375, y: 0.9375 },\n { x: 0.4375, y: 0.9375 },\n { x: 0.4375, y: 0.9375 },\n { x: 0.4375, y: 0.9375 },\n { x: 0.4375, y: 0.9375 },\n { x: 0.4375, y: 0.9375 },\n { x: 0.5625, y: 0.9375 },\n { x: 0.5625, y: 0.9375 },\n { x: 0.5625, y: 0.9375 },\n { x: 0.5625, y: 0.9375 },\n { x: 0.5625, y: 0.9375 },\n { x: 0.5625, y: 0.9375 },\n { x: 0.6875, y: 0.9375 },\n { x: 0.6875, y: 0.9375 },\n { x: 0.6875, y: 0.9375 },\n { x: 0.6875, y: 0.9375 },\n { x: 0.6875, y: 0.9375 },\n { x: 0.6875, y: 0.9375 },\n { x: 0.8125, y: 0.9375 },\n { x: 0.8125, y: 0.9375 },\n { x: 0.8125, y: 0.9375 },\n { x: 0.8125, y: 0.9375 },\n { x: 0.8125, y: 0.9375 },\n { x: 0.8125, y: 0.9375 },\n { x: 0.9375, y: 0.9375 },\n { x: 0.9375, y: 0.9375 },\n { x: 0.9375, y: 0.9375 },\n { x: 0.9375, y: 0.9375 },\n { x: 0.9375, y: 0.9375 },\n { x: 0.9375, y: 0.9375 },\n];\n", "import * as tf from '../../dist/tfjs.esm.js';\nimport * as box from './box';\nimport * as anchors from './anchors';\nimport { Tensor, GraphModel } from '../tfjs/types';\n\nexport class HandDetector {\n model: GraphModel;\n anchors: number[][];\n anchorsTensor: Tensor;\n inputSize: number;\n inputSizeTensor: Tensor;\n doubleInputSizeTensor: Tensor;\n\n constructor(model) {\n this.model = model;\n this.anchors = anchors.anchors.map((anchor) => [anchor.x, anchor.y]);\n this.anchorsTensor = tf.tensor2d(this.anchors);\n // @ts-ignore model is not undefined here\n this.inputSize = this.model?.inputs[0].shape[2];\n this.inputSizeTensor = tf.tensor1d([this.inputSize, this.inputSize]);\n this.doubleInputSizeTensor = tf.tensor1d([this.inputSize * 2, this.inputSize * 2]);\n }\n\n normalizeBoxes(boxes) {\n return tf.tidy(() => {\n const boxOffsets = tf.slice(boxes, [0, 0], [-1, 2]);\n const boxSizes = tf.slice(boxes, [0, 2], [-1, 2]);\n const boxCenterPoints = tf.add(tf.div(boxOffsets, this.inputSizeTensor), this.anchorsTensor);\n const halfBoxSizes = tf.div(boxSizes, this.doubleInputSizeTensor);\n const startPoints = tf.mul(tf.sub(boxCenterPoints, halfBoxSizes), this.inputSizeTensor);\n const endPoints = tf.mul(tf.add(boxCenterPoints, halfBoxSizes), this.inputSizeTensor);\n return tf.concat2d([startPoints, endPoints], 1);\n });\n }\n\n normalizeLandmarks(rawPalmLandmarks, index) {\n return tf.tidy(() => {\n const landmarks = tf.add(tf.div(rawPalmLandmarks.reshape([-1, 7, 2]), this.inputSizeTensor), this.anchors[index]);\n return tf.mul(landmarks, this.inputSizeTensor);\n });\n }\n\n async getBoxes(input, config) {\n const batched = this.model.predict(input) as Tensor;\n const predictions = batched.squeeze();\n batched.dispose();\n const scoresT = tf.tidy(() => tf.sigmoid(tf.slice(predictions, [0, 0], [-1, 1])).squeeze());\n const scores = scoresT.dataSync();\n const rawBoxes = tf.slice(predictions, [0, 1], [-1, 4]);\n const boxes = this.normalizeBoxes(rawBoxes);\n rawBoxes.dispose();\n const filteredT = await tf.image.nonMaxSuppressionAsync(boxes, scores, config.hand.maxDetected, config.hand.iouThreshold, config.hand.minConfidence);\n const filtered = filteredT.arraySync();\n\n scoresT.dispose();\n filteredT.dispose();\n const hands: Array<{ box: Tensor, palmLandmarks: Tensor, confidence: number }> = [];\n for (const index of filtered) {\n if (scores[index] >= config.hand.minConfidence) {\n const matchingBox = tf.slice(boxes, [index, 0], [1, -1]);\n const rawPalmLandmarks = tf.slice(predictions, [index, 5], [1, 14]);\n const palmLandmarks = tf.tidy(() => this.normalizeLandmarks(rawPalmLandmarks, index).reshape([-1, 2]));\n rawPalmLandmarks.dispose();\n hands.push({ box: matchingBox, palmLandmarks, confidence: scores[index] });\n }\n }\n predictions.dispose();\n boxes.dispose();\n return hands;\n }\n\n async estimateHandBounds(input, config): Promise<{ startPoint: number[]; endPoint: number[]; palmLandmarks: number[]; confidence: number }[]> {\n const inputHeight = input.shape[1];\n const inputWidth = input.shape[2];\n const image = tf.tidy(() => input.resizeBilinear([this.inputSize, this.inputSize]).div(127.5).sub(1));\n const predictions = await this.getBoxes(image, config);\n image.dispose();\n const hands: Array<{ startPoint: number[]; endPoint: number[]; palmLandmarks: number[]; confidence: number }> = [];\n if (!predictions || predictions.length === 0) return hands;\n for (const prediction of predictions) {\n const boxes = prediction.box.dataSync();\n const startPoint = boxes.slice(0, 2);\n const endPoint = boxes.slice(2, 4);\n const palmLandmarks = prediction.palmLandmarks.arraySync();\n prediction.box.dispose();\n prediction.palmLandmarks.dispose();\n hands.push(box.scaleBoxCoordinates({ startPoint, endPoint, palmLandmarks, confidence: prediction.confidence }, [inputWidth / this.inputSize, inputHeight / this.inputSize]));\n }\n return hands;\n }\n}\n", "export function normalizeRadians(angle) {\n return angle - 2 * Math.PI * Math.floor((angle + Math.PI) / (2 * Math.PI));\n}\n\nexport function computeRotation(point1, point2) {\n const radians = Math.PI / 2 - Math.atan2(-(point2[1] - point1[1]), point2[0] - point1[0]);\n return normalizeRadians(radians);\n}\n\nexport const buildTranslationMatrix = (x, y) => [[1, 0, x], [0, 1, y], [0, 0, 1]];\n\nexport function dot(v1, v2) {\n let product = 0;\n for (let i = 0; i < v1.length; i++) {\n product += v1[i] * v2[i];\n }\n return product;\n}\n\nexport function getColumnFrom2DArr(arr, columnIndex) {\n const column: Array = [];\n for (let i = 0; i < arr.length; i++) {\n column.push(arr[i][columnIndex]);\n }\n return column;\n}\n\nexport function multiplyTransformMatrices(mat1, mat2) {\n const product: Array = [];\n const size = mat1.length;\n for (let row = 0; row < size; row++) {\n product.push([]);\n for (let col = 0; col < size; col++) {\n product[row].push(dot(mat1[row], getColumnFrom2DArr(mat2, col)));\n }\n }\n return product;\n}\n\nexport function buildRotationMatrix(rotation, center) {\n const cosA = Math.cos(rotation);\n const sinA = Math.sin(rotation);\n const rotationMatrix = [[cosA, -sinA, 0], [sinA, cosA, 0], [0, 0, 1]];\n const translationMatrix = buildTranslationMatrix(center[0], center[1]);\n const translationTimesRotation = multiplyTransformMatrices(translationMatrix, rotationMatrix);\n const negativeTranslationMatrix = buildTranslationMatrix(-center[0], -center[1]);\n return multiplyTransformMatrices(translationTimesRotation, negativeTranslationMatrix);\n}\n\nexport function invertTransformMatrix(matrix) {\n const rotationComponent = [[matrix[0][0], matrix[1][0]], [matrix[0][1], matrix[1][1]]];\n const translationComponent = [matrix[0][2], matrix[1][2]];\n const invertedTranslation = [\n -dot(rotationComponent[0], translationComponent),\n -dot(rotationComponent[1], translationComponent),\n ];\n return [\n rotationComponent[0].concat(invertedTranslation[0]),\n rotationComponent[1].concat(invertedTranslation[1]),\n [0, 0, 1],\n ];\n}\n\nexport function rotatePoint(homogeneousCoordinate, rotationMatrix) {\n return [\n dot(homogeneousCoordinate, rotationMatrix[0]),\n dot(homogeneousCoordinate, rotationMatrix[1]),\n ];\n}\n", "import * as tf from '../../dist/tfjs.esm.js';\nimport * as box from './box';\nimport * as util from './util';\nimport * as detector from './handdetector';\nimport { Tensor, GraphModel } from '../tfjs/types';\n\nconst palmBoxEnlargeFactor = 5; // default 3\nconst handBoxEnlargeFactor = 1.65; // default 1.65\nconst palmLandmarkIds = [0, 5, 9, 13, 17, 1, 2];\nconst palmLandmarksPalmBase = 0;\nconst palmLandmarksMiddleFingerBase = 2;\n\nexport class HandPipeline {\n handDetector: detector.HandDetector;\n handPoseModel: GraphModel;\n inputSize: number;\n storedBoxes: Array<{ startPoint: number[]; endPoint: number[]; palmLandmarks: number[]; confidence: number } | null>;\n skipped: number;\n detectedHands: number;\n\n constructor(handDetector, handPoseModel) {\n this.handDetector = handDetector;\n this.handPoseModel = handPoseModel;\n // @ts-ignore model is not undefined here\n this.inputSize = this.handPoseModel?.inputs[0].shape[2];\n this.storedBoxes = [];\n this.skipped = 0;\n this.detectedHands = 0;\n }\n\n // eslint-disable-next-line class-methods-use-this\n calculateLandmarksBoundingBox(landmarks) {\n const xs = landmarks.map((d) => d[0]);\n const ys = landmarks.map((d) => d[1]);\n const startPoint = [Math.min(...xs), Math.min(...ys)];\n const endPoint = [Math.max(...xs), Math.max(...ys)];\n return { startPoint, endPoint };\n }\n\n getBoxForPalmLandmarks(palmLandmarks, rotationMatrix) {\n const rotatedPalmLandmarks = palmLandmarks.map((coord) => util.rotatePoint([...coord, 1], rotationMatrix));\n const boxAroundPalm = this.calculateLandmarksBoundingBox(rotatedPalmLandmarks);\n return box.enlargeBox(box.squarifyBox(boxAroundPalm), palmBoxEnlargeFactor);\n }\n\n getBoxForHandLandmarks(landmarks) {\n const boundingBox = this.calculateLandmarksBoundingBox(landmarks);\n const boxAroundHand = box.enlargeBox(box.squarifyBox(boundingBox), handBoxEnlargeFactor);\n boxAroundHand.palmLandmarks = [];\n for (let i = 0; i < palmLandmarkIds.length; i++) {\n boxAroundHand.palmLandmarks.push(landmarks[palmLandmarkIds[i]].slice(0, 2));\n }\n return boxAroundHand;\n }\n\n transformRawCoords(rawCoords, box2, angle, rotationMatrix) {\n const boxSize = box.getBoxSize(box2);\n const scaleFactor = [boxSize[0] / this.inputSize, boxSize[1] / this.inputSize, (boxSize[0] + boxSize[1]) / this.inputSize / 2];\n const coordsScaled = rawCoords.map((coord) => [\n scaleFactor[0] * (coord[0] - this.inputSize / 2),\n scaleFactor[1] * (coord[1] - this.inputSize / 2),\n scaleFactor[2] * coord[2],\n ]);\n const coordsRotationMatrix = util.buildRotationMatrix(angle, [0, 0]);\n const coordsRotated = coordsScaled.map((coord) => {\n const rotated = util.rotatePoint(coord, coordsRotationMatrix);\n return [...rotated, coord[2]];\n });\n const inverseRotationMatrix = util.invertTransformMatrix(rotationMatrix);\n const boxCenter = [...box.getBoxCenter(box2), 1];\n const originalBoxCenter = [\n util.dot(boxCenter, inverseRotationMatrix[0]),\n util.dot(boxCenter, inverseRotationMatrix[1]),\n ];\n return coordsRotated.map((coord) => [\n Math.trunc(coord[0] + originalBoxCenter[0]),\n Math.trunc(coord[1] + originalBoxCenter[1]),\n Math.trunc(coord[2]),\n ]);\n }\n\n async estimateHands(image, config) {\n let useFreshBox = false;\n\n // run new detector every skipFrames unless we only want box to start with\n let boxes;\n\n // console.log(this.skipped, config.hand.skipFrames, !config.hand.landmarks, !config.skipFrame);\n if ((this.skipped === 0) || (this.skipped > config.hand.skipFrames) || !config.hand.landmarks || !config.skipFrame) {\n boxes = await this.handDetector.estimateHandBounds(image, config);\n this.skipped = 0;\n }\n if (config.skipFrame) this.skipped++;\n\n // if detector result count doesn't match current working set, use it to reset current working set\n if (boxes && (boxes.length > 0) && ((boxes.length !== this.detectedHands) && (this.detectedHands !== config.hand.maxDetected) || !config.hand.landmarks)) {\n this.detectedHands = 0;\n this.storedBoxes = [...boxes];\n // for (const possible of boxes) this.storedBoxes.push(possible);\n if (this.storedBoxes.length > 0) useFreshBox = true;\n }\n const hands: Array<{ landmarks?: number[], confidence: number, box: { topLeft: number[], bottomRight: number[] } }> = [];\n\n // go through working set of boxes\n for (let i = 0; i < this.storedBoxes.length; i++) {\n const currentBox = this.storedBoxes[i];\n if (!currentBox) continue;\n if (config.hand.landmarks) {\n const angle = config.hand.rotation ? util.computeRotation(currentBox.palmLandmarks[palmLandmarksPalmBase], currentBox.palmLandmarks[palmLandmarksMiddleFingerBase]) : 0;\n const palmCenter = box.getBoxCenter(currentBox);\n const palmCenterNormalized = [palmCenter[0] / image.shape[2], palmCenter[1] / image.shape[1]];\n const rotatedImage = config.hand.rotation && tf.ENV.flags.IS_BROWSER ? tf.image.rotateWithOffset(image, angle, 0, palmCenterNormalized) : image.clone();\n const rotationMatrix = util.buildRotationMatrix(-angle, palmCenter);\n const newBox = useFreshBox ? this.getBoxForPalmLandmarks(currentBox.palmLandmarks, rotationMatrix) : currentBox;\n const croppedInput = box.cutBoxFromImageAndResize(newBox, rotatedImage, [this.inputSize, this.inputSize]);\n const handImage = croppedInput.div(255);\n croppedInput.dispose();\n rotatedImage.dispose();\n const [confidenceT, keypoints] = await this.handPoseModel.predict(handImage) as Array;\n handImage.dispose();\n const confidence = confidenceT.dataSync()[0];\n confidenceT.dispose();\n if (confidence >= config.hand.minConfidence) {\n const keypointsReshaped = tf.reshape(keypoints, [-1, 3]);\n const rawCoords = keypointsReshaped.arraySync();\n keypoints.dispose();\n keypointsReshaped.dispose();\n const coords = this.transformRawCoords(rawCoords, newBox, angle, rotationMatrix);\n const nextBoundingBox = this.getBoxForHandLandmarks(coords);\n this.storedBoxes[i] = { ...nextBoundingBox, confidence };\n const result = {\n landmarks: coords,\n confidence,\n box: { topLeft: nextBoundingBox.startPoint, bottomRight: nextBoundingBox.endPoint },\n };\n hands.push(result);\n } else {\n this.storedBoxes[i] = null;\n }\n keypoints.dispose();\n } else {\n // const enlarged = box.enlargeBox(box.squarifyBox(box.shiftBox(currentBox, HAND_BOX_SHIFT_VECTOR)), handBoxEnlargeFactor);\n const enlarged = box.enlargeBox(box.squarifyBox(currentBox), handBoxEnlargeFactor);\n const result = {\n confidence: currentBox.confidence,\n box: { topLeft: enlarged.startPoint, bottomRight: enlarged.endPoint },\n };\n hands.push(result);\n }\n }\n this.storedBoxes = this.storedBoxes.filter((a) => a !== null);\n this.detectedHands = hands.length;\n return hands;\n }\n}\n", "/**\n * BlazePose Module\n */\n\n// paper: https://ai.googleblog.com/2020/08/on-device-real-time-body-pose-tracking.html\n\nimport { log, join } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\nimport * as annotations from './annotations';\nimport { Tensor, GraphModel } from '../tfjs/types';\nimport { Body } from '../result';\n\nlet model: GraphModel;\n\nexport async function load(config) {\n if (!model) {\n // @ts-ignore type mismatch for Graphmodel\n model = await tf.loadGraphModel(join(config.modelBasePath, config.body.modelPath));\n model['width'] = parseInt(model['signature'].inputs['input_1:0'].tensorShape.dim[2].size);\n model['height'] = parseInt(model['signature'].inputs['input_1:0'].tensorShape.dim[1].size);\n if (!model || !model['modelUrl']) log('load model failed:', config.body.modelPath);\n else if (config.debug) log('load model:', model['modelUrl']);\n } else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\nexport async function predict(image, config): Promise {\n if (!model) return [];\n if (!config.body.enabled) return [];\n const imgSize = { width: image.shape[2], height: image.shape[1] };\n const resize = tf.image.resizeBilinear(image, [model['width'], model['height']], false);\n const normalize = tf.div(resize, [255.0]);\n resize.dispose();\n const resT = await model.predict(normalize) as Array;\n const points = resT.find((t) => (t.size === 195 || t.size === 155))?.dataSync() || []; // order of output tensors may change between models, full has 195 and upper has 155 items\n resT.forEach((t) => t.dispose());\n normalize.dispose();\n const keypoints: Array<{ id, part, position: [number, number, number], positionRaw: [number, number, number], score, presence }> = [];\n const labels = points?.length === 195 ? annotations.full : annotations.upper; // full model has 39 keypoints, upper has 31 keypoints\n const depth = 5; // each points has x,y,z,visibility,presence\n for (let i = 0; i < points.length / depth; i++) {\n keypoints.push({\n id: i,\n part: labels[i],\n position: [\n Math.trunc(imgSize.width * points[depth * i + 0] / 255), // return normalized x value istead of 0..255\n Math.trunc(imgSize.height * points[depth * i + 1] / 255), // return normalized y value istead of 0..255\n Math.trunc(points[depth * i + 2]) + 0, // fix negative zero\n ],\n positionRaw: [\n points[depth * i + 0] / 255, // return x value normalized to 0..1\n points[depth * i + 1] / 255, // return y value normalized to 0..1\n points[depth * i + 2] + 0, // fix negative zero\n ],\n score: (100 - Math.trunc(100 / (1 + Math.exp(points[depth * i + 3])))) / 100, // reverse sigmoid value\n presence: (100 - Math.trunc(100 / (1 + Math.exp(points[depth * i + 4])))) / 100, // reverse sigmoid value\n });\n }\n const x = keypoints.map((a) => a.position[0]);\n const y = keypoints.map((a) => a.position[1]);\n const box: [number, number, number, number] = [\n Math.min(...x),\n Math.min(...y),\n Math.max(...x) - Math.min(...x),\n Math.max(...y) - Math.min(...x),\n ];\n const boxRaw: [number, number, number, number] = [0, 0, 0, 0]; // not yet implemented\n const score = keypoints.reduce((prev, curr) => (curr.score > prev ? curr.score : prev), 0);\n return [{ id: 0, score, box, boxRaw, keypoints }];\n}\n", "export const full = [\n 'nose',\n 'leftEyeInside',\n 'leftEye',\n 'leftEyeOutside',\n 'rightEyeInside',\n 'rightEye',\n 'rightEyeOutside',\n 'leftEar',\n 'rightEar',\n 'leftMouth',\n 'rightMouth',\n 'leftShoulder',\n 'rightShoulder',\n 'leftElbow',\n 'rightElbow',\n 'leftWrist',\n 'rightWrist',\n 'leftPalm',\n 'rightPalm',\n 'leftIndex',\n 'rightIndex',\n 'leftPinky',\n 'rightPinky',\n 'leftHip',\n 'rightHip',\n 'leftKnee',\n 'rightKnee',\n 'leftAnkle',\n 'rightAnkle',\n 'leftHeel',\n 'rightHeel',\n 'leftFoot',\n 'rightFoot',\n 'midHip',\n 'forehead',\n 'leftThumb',\n 'leftHand',\n 'rightThumb',\n 'rightHand',\n];\n\nexport const upper = [\n 'nose',\n 'leftEyeInside',\n 'leftEye',\n 'leftEyeOutside',\n 'rightEyeInside',\n 'rightEye',\n 'rightEyeOutside',\n 'leftEar',\n 'rightEar',\n 'leftMouth',\n 'rightMouth',\n 'leftShoulder',\n 'rightShoulder',\n 'leftElbow',\n 'rightElbow',\n 'left:15',\n 'right:16',\n 'left:17',\n 'right:18',\n 'left:19',\n 'right:20',\n 'left:21',\n 'right:22',\n 'leftChest',\n 'rightChest',\n 'neck',\n 'forehead',\n 'left:27',\n 'right:28',\n 'left:29',\n 'right:30',\n];\n", "/**\n * EfficientPose Module\n */\n\nimport { log, join } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\nimport { Body } from '../result';\nimport { GraphModel } from '../tfjs/types';\n\nlet model: GraphModel;\n\ntype Keypoints = { score: number, part: string, position: [number, number], positionRaw: [number, number] };\n\nconst keypoints: Array = [];\nlet box: [number, number, number, number] = [0, 0, 0, 0];\nlet boxRaw: [number, number, number, number] = [0, 0, 0, 0];\nlet score = 0;\nlet skipped = Number.MAX_SAFE_INTEGER;\n\nconst bodyParts = ['head', 'neck', 'rightShoulder', 'rightElbow', 'rightWrist', 'chest', 'leftShoulder', 'leftElbow', 'leftWrist', 'pelvis', 'rightHip', 'rightKnee', 'rightAnkle', 'leftHip', 'leftKnee', 'leftAnkle'];\n\nexport async function load(config) {\n if (!model) {\n // @ts-ignore type mismatch on GraphModel\n model = await tf.loadGraphModel(join(config.modelBasePath, config.body.modelPath));\n if (!model || !model['modelUrl']) log('load model failed:', config.body.modelPath);\n else if (config.debug) log('load model:', model['modelUrl']);\n } else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\n// performs argmax and max functions on a 2d tensor\nfunction max2d(inputs, minScore) {\n const [width, height] = inputs.shape;\n return tf.tidy(() => {\n // modulus op implemented in tf\n const mod = (a, b) => tf.sub(a, tf.mul(tf.div(a, tf.scalar(b, 'int32')), tf.scalar(b, 'int32')));\n // combine all data\n const reshaped = tf.reshape(inputs, [height * width]);\n // get highest score\n const newScore = tf.max(reshaped, 0).dataSync()[0];\n if (newScore > minScore) {\n // skip coordinate calculation is score is too low\n const coords = tf.argMax(reshaped, 0);\n const x = mod(coords, width).dataSync()[0];\n const y = tf.div(coords, tf.scalar(width, 'int32')).dataSync()[0];\n return [x, y, newScore];\n }\n return [0, 0, newScore];\n });\n}\n\nexport async function predict(image, config): Promise {\n if ((skipped < config.body.skipFrames) && config.skipFrame && Object.keys(keypoints).length > 0) {\n skipped++;\n return [{ id: 0, score, box, boxRaw, keypoints }];\n }\n skipped = 0;\n return new Promise(async (resolve) => {\n const tensor = tf.tidy(() => {\n if (!model.inputs[0].shape) return null;\n const resize = tf.image.resizeBilinear(image, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false);\n const enhance = tf.mul(resize, 2);\n const norm = enhance.sub(1);\n return norm;\n });\n\n let resT;\n if (config.body.enabled) resT = await model.predict(tensor);\n tensor.dispose();\n\n if (resT) {\n keypoints.length = 0;\n const squeeze = resT.squeeze();\n tf.dispose(resT);\n // body parts are basically just a stack of 2d tensors\n const stack = squeeze.unstack(2);\n tf.dispose(squeeze);\n // process each unstacked tensor as a separate body part\n for (let id = 0; id < stack.length; id++) {\n // actual processing to get coordinates and score\n const [x, y, partScore] = max2d(stack[id], config.body.minConfidence);\n if (score > config.body.minConfidence) {\n keypoints.push({\n score: Math.round(100 * partScore) / 100,\n part: bodyParts[id],\n positionRaw: [ // normalized to 0..1\n // @ts-ignore model is not undefined here\n x / model.inputs[0].shape[2], y / model.inputs[0].shape[1],\n ],\n position: [ // normalized to input image size\n // @ts-ignore model is not undefined here\n Math.round(image.shape[2] * x / model.inputs[0].shape[2]), Math.round(image.shape[1] * y / model.inputs[0].shape[1]),\n ],\n });\n }\n }\n stack.forEach((s) => tf.dispose(s));\n }\n score = keypoints.reduce((prev, curr) => (curr.score > prev ? curr.score : prev), 0);\n const x = keypoints.map((a) => a.position[0]);\n const y = keypoints.map((a) => a.position[1]);\n box = [\n Math.min(...x),\n Math.min(...y),\n Math.max(...x) - Math.min(...x),\n Math.max(...y) - Math.min(...y),\n ];\n const xRaw = keypoints.map((a) => a.positionRaw[0]);\n const yRaw = keypoints.map((a) => a.positionRaw[1]);\n boxRaw = [\n Math.min(...xRaw),\n Math.min(...yRaw),\n Math.max(...xRaw) - Math.min(...xRaw),\n Math.max(...yRaw) - Math.min(...yRaw),\n ];\n resolve([{ id: 0, score, box, boxRaw, keypoints }]);\n });\n}\n", "/**\n * EfficientPose Module\n */\n\nimport { log, join } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\nimport { Body } from '../result';\nimport { GraphModel } from '../tfjs/types';\n\nlet model: GraphModel;\n\ntype Keypoints = { score: number, part: string, position: [number, number], positionRaw: [number, number] };\n\nconst keypoints: Array = [];\nlet box: [number, number, number, number] = [0, 0, 0, 0];\nlet boxRaw: [number, number, number, number] = [0, 0, 0, 0];\nlet score = 0;\nlet skipped = Number.MAX_SAFE_INTEGER;\n\nconst bodyParts = ['nose', 'leftEye', 'rightEye', 'leftEar', 'rightEar', 'leftShoulder', 'rightShoulder', 'leftElbow', 'rightElbow', 'leftWrist', 'rightWrist', 'leftHip', 'rightHip', 'leftKnee', 'rightKnee', 'leftAnkle', 'rightAnkle'];\n\nexport async function load(config) {\n if (!model) {\n // @ts-ignore type mismatch on GraphModel\n model = await tf.loadGraphModel(join(config.modelBasePath, config.body.modelPath));\n if (!model || !model['modelUrl']) log('load model failed:', config.body.modelPath);\n else if (config.debug) log('load model:', model['modelUrl']);\n } else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\nexport async function predict(image, config): Promise {\n if ((skipped < config.body.skipFrames) && config.skipFrame && Object.keys(keypoints).length > 0) {\n skipped++;\n return [{ id: 0, score, box, boxRaw, keypoints }];\n }\n skipped = 0;\n return new Promise(async (resolve) => {\n const tensor = tf.tidy(() => {\n if (!model.inputs[0].shape) return null;\n const resize = tf.image.resizeBilinear(image, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false);\n const cast = tf.cast(resize, 'int32');\n return cast;\n });\n\n let resT;\n if (config.body.enabled) resT = await model.predict(tensor);\n tensor.dispose();\n\n if (resT) {\n keypoints.length = 0;\n const res = resT.arraySync();\n tf.dispose(resT);\n const kpt = res[0][0];\n for (let id = 0; id < kpt.length; id++) {\n score = kpt[id][2];\n if (score > config.body.minConfidence) {\n keypoints.push({\n score: Math.round(100 * score) / 100,\n part: bodyParts[id],\n positionRaw: [ // normalized to 0..1\n kpt[id][1],\n kpt[id][0],\n ],\n position: [ // normalized to input image size\n Math.round(image.shape[2] * kpt[id][1]),\n Math.round(image.shape[1] * kpt[id][0]),\n ],\n });\n }\n }\n }\n score = keypoints.reduce((prev, curr) => (curr.score > prev ? curr.score : prev), 0);\n const x = keypoints.map((a) => a.position[0]);\n const y = keypoints.map((a) => a.position[1]);\n box = [\n Math.min(...x),\n Math.min(...y),\n Math.max(...x) - Math.min(...x),\n Math.max(...y) - Math.min(...y),\n ];\n const xRaw = keypoints.map((a) => a.positionRaw[0]);\n const yRaw = keypoints.map((a) => a.positionRaw[1]);\n boxRaw = [\n Math.min(...xRaw),\n Math.min(...yRaw),\n Math.max(...xRaw) - Math.min(...xRaw),\n Math.max(...yRaw) - Math.min(...yRaw),\n ];\n resolve([{ id: 0, score, box, boxRaw, keypoints }]);\n });\n}\n", "/**\n * NanoDet object detection module\n */\n\nimport { log, join } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\nimport { labels } from './labels';\nimport { Item } from '../result';\n\nlet model;\nlet last: Array = [];\nlet skipped = Number.MAX_SAFE_INTEGER;\n\nconst scaleBox = 2.5; // increase box size\n\nexport async function load(config) {\n if (!model) {\n model = await tf.loadGraphModel(join(config.modelBasePath, config.object.modelPath));\n const inputs = Object.values(model.modelSignature['inputs']);\n model.inputSize = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : null;\n if (!model.inputSize) throw new Error(`Human: Cannot determine model inputSize: ${config.object.modelPath}`);\n if (!model || !model.modelUrl) log('load model failed:', config.object.modelPath);\n else if (config.debug) log('load model:', model.modelUrl);\n } else if (config.debug) log('cached model:', model.modelUrl);\n return model;\n}\n\nasync function process(res, inputSize, outputShape, config) {\n let id = 0;\n let results: Array = [];\n for (const strideSize of [1, 2, 4]) { // try each stride size as it detects large/medium/small objects\n // find scores, boxes, classes\n tf.tidy(() => { // wrap in tidy to automatically deallocate temp tensors\n const baseSize = strideSize * 13; // 13x13=169, 26x26=676, 52x52=2704\n // find boxes and scores output depending on stride\n const scoresT = res.find((a) => (a.shape[1] === (baseSize ** 2) && a.shape[2] === labels.length))?.squeeze();\n const featuresT = res.find((a) => (a.shape[1] === (baseSize ** 2) && a.shape[2] < labels.length))?.squeeze();\n const boxesMax = featuresT.reshape([-1, 4, featuresT.shape[1] / 4]); // reshape [output] to [4, output / 4] where number is number of different features inside each stride\n const boxIdx = boxesMax.argMax(2).arraySync(); // what we need is indexes of features with highest scores, not values itself\n const scores = scoresT.arraySync(); // optionally use exponential scores or just as-is\n for (let i = 0; i < scoresT.shape[0]; i++) { // total strides (x * y matrix)\n for (let j = 0; j < scoresT.shape[1]; j++) { // one score for each class\n const score = scores[i][j]; // get score for current position\n if (score > config.object.minConfidence && j !== 61) {\n const cx = (0.5 + Math.trunc(i % baseSize)) / baseSize; // center.x normalized to range 0..1\n const cy = (0.5 + Math.trunc(i / baseSize)) / baseSize; // center.y normalized to range 0..1\n const boxOffset = boxIdx[i].map((a) => a * (baseSize / strideSize / inputSize)); // just grab indexes of features with highest scores\n const [x, y] = [\n cx - (scaleBox / strideSize * boxOffset[0]),\n cy - (scaleBox / strideSize * boxOffset[1]),\n ];\n const [w, h] = [\n cx + (scaleBox / strideSize * boxOffset[2]) - x,\n cy + (scaleBox / strideSize * boxOffset[3]) - y,\n ];\n let boxRaw = [x, y, w, h]; // results normalized to range 0..1\n boxRaw = boxRaw.map((a) => Math.max(0, Math.min(a, 1))); // fix out-of-bounds coords\n const box = [ // results normalized to input image pixels\n boxRaw[0] * outputShape[0],\n boxRaw[1] * outputShape[1],\n boxRaw[2] * outputShape[0],\n boxRaw[3] * outputShape[1],\n ];\n const result = {\n id: id++,\n // strideSize,\n score: Math.round(100 * score) / 100,\n class: j + 1,\n label: labels[j].label,\n // center: [Math.trunc(outputShape[0] * cx), Math.trunc(outputShape[1] * cy)],\n // centerRaw: [cx, cy],\n box: (box.map((a) => Math.trunc(a))) as [number, number, number, number],\n boxRaw: boxRaw as [number, number, number, number],\n };\n results.push(result);\n }\n }\n }\n });\n }\n // deallocate tensors\n res.forEach((t) => tf.dispose(t));\n\n // normally nms is run on raw results, but since boxes need to be calculated this way we skip calulcation of\n // unnecessary boxes and run nms only on good candidates (basically it just does IOU analysis as scores are already filtered)\n const nmsBoxes = results.map((a) => [a.boxRaw[1], a.boxRaw[0], a.boxRaw[3], a.boxRaw[2]]); // switches coordinates from x,y to y,x as expected by tf.nms\n const nmsScores = results.map((a) => a.score);\n let nmsIdx: Array = [];\n if (nmsBoxes && nmsBoxes.length > 0) {\n const nms = await tf.image.nonMaxSuppressionAsync(nmsBoxes, nmsScores, config.object.maxDetected, config.object.iouThreshold, config.object.minConfidence);\n nmsIdx = nms.dataSync();\n tf.dispose(nms);\n }\n\n // filter & sort results\n results = results\n .filter((a, idx) => nmsIdx.includes(idx))\n .sort((a, b) => (b.score - a.score));\n\n return results;\n}\n\nexport async function predict(image, config): Promise {\n if ((skipped < config.object.skipFrames) && config.skipFrame && (last.length > 0)) {\n skipped++;\n return last;\n }\n skipped = 0;\n return new Promise(async (resolve) => {\n const outputSize = [image.shape[2], image.shape[1]];\n const resize = tf.image.resizeBilinear(image, [model.inputSize, model.inputSize], false);\n const norm = resize.div(255);\n const transpose = norm.transpose([0, 3, 1, 2]);\n norm.dispose();\n resize.dispose();\n\n let objectT;\n if (config.object.enabled) objectT = await model.predict(transpose);\n transpose.dispose();\n\n const obj = await process(objectT, model.inputSize, outputSize, config);\n last = obj;\n resolve(obj);\n });\n}\n", "/**\n * CoCo Labels used by object detection modules\n */\nexport const labels = [\n { class: 1, label: 'person' },\n { class: 2, label: 'bicycle' },\n { class: 3, label: 'car' },\n { class: 4, label: 'motorcycle' },\n { class: 5, label: 'airplane' },\n { class: 6, label: 'bus' },\n { class: 7, label: 'train' },\n { class: 8, label: 'truck' },\n { class: 9, label: 'boat' },\n { class: 10, label: 'traffic light' },\n { class: 11, label: 'fire hydrant' },\n { class: 12, label: 'stop sign' },\n { class: 13, label: 'parking meter' },\n { class: 14, label: 'bench' },\n { class: 15, label: 'bird' },\n { class: 16, label: 'cat' },\n { class: 17, label: 'dog' },\n { class: 18, label: 'horse' },\n { class: 19, label: 'sheep' },\n { class: 20, label: 'cow' },\n { class: 21, label: 'elephant' },\n { class: 22, label: 'bear' },\n { class: 23, label: 'zebra' },\n { class: 24, label: 'giraffe' },\n { class: 25, label: 'backpack' },\n { class: 26, label: 'umbrella' },\n { class: 27, label: 'handbag' },\n { class: 28, label: 'tie' },\n { class: 29, label: 'suitcase' },\n { class: 30, label: 'frisbee' },\n { class: 31, label: 'skis' },\n { class: 32, label: 'snowboard' },\n { class: 33, label: 'sports ball' },\n { class: 34, label: 'kite' },\n { class: 35, label: 'baseball bat' },\n { class: 36, label: 'baseball glove' },\n { class: 37, label: 'skateboard' },\n { class: 38, label: 'surfboard' },\n { class: 39, label: 'tennis racket' },\n { class: 40, label: 'bottle' },\n { class: 41, label: 'wine glass' },\n { class: 42, label: 'cup' },\n { class: 43, label: 'fork' },\n { class: 44, label: 'knife' },\n { class: 45, label: 'spoon' },\n { class: 46, label: 'bowl' },\n { class: 47, label: 'banana' },\n { class: 48, label: 'apple' },\n { class: 49, label: 'sandwich' },\n { class: 50, label: 'orange' },\n { class: 51, label: 'broccoli' },\n { class: 52, label: 'carrot' },\n { class: 53, label: 'hot dog' },\n { class: 54, label: 'pizza' },\n { class: 55, label: 'donut' },\n { class: 56, label: 'cake' },\n { class: 57, label: 'chair' },\n { class: 58, label: 'couch' },\n { class: 59, label: 'potted plant' },\n { class: 60, label: 'bed' },\n { class: 61, label: 'dining table' },\n { class: 62, label: 'toilet' },\n { class: 63, label: 'tv' },\n { class: 64, label: 'laptop' },\n { class: 65, label: 'mouse' },\n { class: 66, label: 'remote' },\n { class: 67, label: 'keyboard' },\n { class: 68, label: 'cell phone' },\n { class: 69, label: 'microwave' },\n { class: 70, label: 'oven' },\n { class: 71, label: 'toaster' },\n { class: 72, label: 'sink' },\n { class: 73, label: 'refrigerator' },\n { class: 74, label: 'book' },\n { class: 75, label: 'clock' },\n { class: 76, label: 'vase' },\n { class: 77, label: 'scissors' },\n { class: 78, label: 'teddy bear' },\n { class: 79, label: 'hair drier' },\n { class: 80, label: 'toothbrush' },\n];\n", "/**\n * CenterNet object detection module\n */\n\nimport { log, join } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\nimport { labels } from './labels';\nimport { Item } from '../result';\n\nlet model;\nlet last: Item[] = [];\nlet skipped = Number.MAX_SAFE_INTEGER;\n\nexport async function load(config) {\n if (!model) {\n model = await tf.loadGraphModel(join(config.modelBasePath, config.object.modelPath));\n const inputs = Object.values(model.modelSignature['inputs']);\n model.inputSize = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : null;\n if (!model.inputSize) throw new Error(`Human: Cannot determine model inputSize: ${config.object.modelPath}`);\n if (!model || !model.modelUrl) log('load model failed:', config.object.modelPath);\n else if (config.debug) log('load model:', model.modelUrl);\n } else if (config.debug) log('cached model:', model.modelUrl);\n return model;\n}\n\nasync function process(res, inputSize, outputShape, config) {\n if (!res) return [];\n const results: Array = [];\n const detections = res.arraySync();\n const squeezeT = tf.squeeze(res);\n res.dispose();\n const arr = tf.split(squeezeT, 6, 1); // x1, y1, x2, y2, score, class\n squeezeT.dispose();\n const stackT = tf.stack([arr[1], arr[0], arr[3], arr[2]], 1); // reorder dims as tf.nms expects y, x\n const boxesT = stackT.squeeze();\n const scoresT = arr[4].squeeze();\n const classesT = arr[5].squeeze();\n arr.forEach((t) => t.dispose());\n const nmsT = await tf.image.nonMaxSuppressionAsync(boxesT, scoresT, config.object.maxDetected, config.object.iouThreshold, config.object.minConfidence);\n boxesT.dispose();\n scoresT.dispose();\n classesT.dispose();\n const nms = nmsT.dataSync();\n nmsT.dispose();\n let i = 0;\n for (const id of nms) {\n const score = Math.trunc(100 * detections[0][id][4]) / 100;\n const classVal = detections[0][id][5];\n const label = labels[classVal].label;\n const boxRaw = [\n detections[0][id][0] / inputSize,\n detections[0][id][1] / inputSize,\n detections[0][id][2] / inputSize,\n detections[0][id][3] / inputSize,\n ] as [number, number, number, number];\n const box = [\n Math.trunc(boxRaw[0] * outputShape[0]),\n Math.trunc(boxRaw[1] * outputShape[1]),\n Math.trunc(boxRaw[2] * outputShape[0]),\n Math.trunc(boxRaw[3] * outputShape[1]),\n ] as [number, number, number, number];\n results.push({ id: i++, score, class: classVal, label, box, boxRaw });\n }\n return results;\n}\n\nexport async function predict(input, config): Promise {\n if ((skipped < config.object.skipFrames) && config.skipFrame && (last.length > 0)) {\n skipped++;\n return last;\n }\n skipped = 0;\n return new Promise(async (resolve) => {\n const outputSize = [input.shape[2], input.shape[1]];\n const resize = tf.image.resizeBilinear(input, [model.inputSize, model.inputSize]);\n const objectT = config.object.enabled ? model.execute(resize, ['tower_0/detections']) : null;\n resize.dispose();\n\n const obj = await process(objectT, model.inputSize, outputSize, config);\n last = obj;\n resolve(obj);\n });\n}\n", "/**\n * Gesture detection module\n */\n\nimport { Gesture } from '../result';\n\nexport const body = (res): Gesture[] => {\n if (!res) return [];\n const gestures: Array<{ body: number, gesture: string }> = [];\n for (let i = 0; i < res.length; i++) {\n // raising hands\n const leftWrist = res[i].keypoints.find((a) => (a.part === 'leftWrist'));\n const rightWrist = res[i].keypoints.find((a) => (a.part === 'rightWrist'));\n const nose = res[i].keypoints.find((a) => (a.part === 'nose'));\n if (nose && leftWrist && rightWrist && (leftWrist.position.y < nose.position.y) && (rightWrist.position.y < nose.position.y)) gestures.push({ body: i, gesture: 'i give up' });\n else if (nose && leftWrist && (leftWrist.position.y < nose.position.y)) gestures.push({ body: i, gesture: 'raise left hand' });\n else if (nose && rightWrist && (rightWrist.position.y < nose.position.y)) gestures.push({ body: i, gesture: 'raise right hand' });\n\n // leaning\n const leftShoulder = res[i].keypoints.find((a) => (a.part === 'leftShoulder'));\n const rightShoulder = res[i].keypoints.find((a) => (a.part === 'rightShoulder'));\n if (leftShoulder && rightShoulder) gestures.push({ body: i, gesture: `leaning ${(leftShoulder.position.y > rightShoulder.position.y) ? 'left' : 'right'}` });\n }\n return gestures;\n};\n\nexport const face = (res): Gesture[] => {\n if (!res) return [];\n const gestures: Array<{ face: number, gesture: string }> = [];\n for (let i = 0; i < res.length; i++) {\n if (res[i].mesh && res[i].mesh.length > 0) {\n const eyeFacing = res[i].mesh[33][2] - res[i].mesh[263][2];\n if (Math.abs(eyeFacing) < 10) gestures.push({ face: i, gesture: 'facing center' });\n else gestures.push({ face: i, gesture: `facing ${eyeFacing < 0 ? 'left' : 'right'}` });\n const openLeft = Math.abs(res[i].mesh[374][1] - res[i].mesh[386][1]) / Math.abs(res[i].mesh[443][1] - res[i].mesh[450][1]); // center of eye inner lid y coord div center of wider eye border y coord\n if (openLeft < 0.2) gestures.push({ face: i, gesture: 'blink left eye' });\n const openRight = Math.abs(res[i].mesh[145][1] - res[i].mesh[159][1]) / Math.abs(res[i].mesh[223][1] - res[i].mesh[230][1]); // center of eye inner lid y coord div center of wider eye border y coord\n if (openRight < 0.2) gestures.push({ face: i, gesture: 'blink right eye' });\n const mouthOpen = Math.min(100, 500 * Math.abs(res[i].mesh[13][1] - res[i].mesh[14][1]) / Math.abs(res[i].mesh[10][1] - res[i].mesh[152][1]));\n if (mouthOpen > 10) gestures.push({ face: i, gesture: `mouth ${Math.trunc(mouthOpen)}% open` });\n const chinDepth = res[i].mesh[152][2];\n if (Math.abs(chinDepth) > 10) gestures.push({ face: i, gesture: `head ${chinDepth < 0 ? 'up' : 'down'}` });\n }\n }\n return gestures;\n};\n\nexport const iris = (res): Gesture[] => {\n if (!res) return [];\n const gestures: Array<{ iris: number, gesture: string }> = [];\n for (let i = 0; i < res.length; i++) {\n if (!res[i].annotations || !res[i].annotations.leftEyeIris || !res[i].annotations.rightEyeIris) continue;\n const sizeXLeft = res[i].annotations.leftEyeIris[3][0] - res[i].annotations.leftEyeIris[1][0];\n const sizeYLeft = res[i].annotations.leftEyeIris[4][1] - res[i].annotations.leftEyeIris[2][1];\n const areaLeft = Math.abs(sizeXLeft * sizeYLeft);\n\n const sizeXRight = res[i].annotations.rightEyeIris[3][0] - res[i].annotations.rightEyeIris[1][0];\n const sizeYRight = res[i].annotations.rightEyeIris[4][1] - res[i].annotations.rightEyeIris[2][1];\n const areaRight = Math.abs(sizeXRight * sizeYRight);\n\n let center = false;\n const difference = Math.abs(areaLeft - areaRight) / Math.max(areaLeft, areaRight);\n if (difference < 0.25) {\n center = true;\n gestures.push({ iris: i, gesture: 'facing center' });\n }\n\n const rightIrisCenterX = Math.abs(res[i].mesh[33][0] - res[i].annotations.rightEyeIris[0][0]) / res[i].box[2];\n const leftIrisCenterX = Math.abs(res[i].mesh[263][0] - res[i].annotations.leftEyeIris[0][0]) / res[i].box[2];\n if (leftIrisCenterX > 0.06 || rightIrisCenterX > 0.06) center = false;\n if (leftIrisCenterX > 0.06) gestures.push({ iris: i, gesture: 'looking right' });\n if (rightIrisCenterX > 0.06) gestures.push({ iris: i, gesture: 'looking left' });\n\n const rightIrisCenterY = Math.abs(res[i].mesh[145][1] - res[i].annotations.rightEyeIris[0][1]) / res[i].box[3];\n const leftIrisCenterY = Math.abs(res[i].mesh[374][1] - res[i].annotations.leftEyeIris[0][1]) / res[i].box[3];\n if (leftIrisCenterY < 0.01 || rightIrisCenterY < 0.01 || leftIrisCenterY > 0.022 || rightIrisCenterY > 0.022) center = false;\n if (leftIrisCenterY < 0.01 || rightIrisCenterY < 0.01) gestures.push({ iris: i, gesture: 'looking down' });\n if (leftIrisCenterY > 0.022 || rightIrisCenterY > 0.022) gestures.push({ iris: i, gesture: 'looking up' });\n\n // still center;\n if (center) gestures.push({ iris: i, gesture: 'looking center' });\n }\n return gestures;\n};\n\nexport const hand = (res): Gesture[] => {\n if (!res) return [];\n const gestures: Array<{ hand: number, gesture: string }> = [];\n for (let i = 0; i < res.length; i++) {\n const fingers: Array<{ name: string, position: number }> = [];\n for (const [finger, pos] of Object.entries(res[i]['annotations'])) {\n if (finger !== 'palmBase' && Array.isArray(pos)) fingers.push({ name: finger.toLowerCase(), position: pos[0] }); // get tip of each finger\n }\n if (fingers && fingers.length > 0) {\n const closest = fingers.reduce((best, a) => (best.position[2] < a.position[2] ? best : a));\n const highest = fingers.reduce((best, a) => (best.position[1] < a.position[1] ? best : a));\n gestures.push({ hand: i, gesture: `${closest.name} forward ${highest.name} up` });\n }\n }\n return gestures;\n};\n", "/*\nWebGLImageFilter by Dominic Szablewski: \n*/\n\nfunction GLProgram(gl, vertexSource, fragmentSource) {\n const _collect = function (source, prefix, collection) {\n const r = new RegExp('\\\\b' + prefix + ' \\\\w+ (\\\\w+)', 'ig');\n source.replace(r, (match, name) => {\n collection[name] = 0;\n return match;\n });\n };\n\n const _compile = function (source, type) {\n const shader = gl.createShader(type);\n gl.shaderSource(shader, source);\n gl.compileShader(shader);\n if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) throw new Error('Filter: GL compile failed', gl.getShaderInfoLog(shader));\n return shader;\n };\n\n this.uniform = {};\n this.attribute = {};\n const _vsh = _compile(vertexSource, gl.VERTEX_SHADER);\n const _fsh = _compile(fragmentSource, gl.FRAGMENT_SHADER);\n this.id = gl.createProgram();\n gl.attachShader(this.id, _vsh);\n gl.attachShader(this.id, _fsh);\n gl.linkProgram(this.id);\n\n if (!gl.getProgramParameter(this.id, gl.LINK_STATUS)) throw new Error('Filter: GL link failed', gl.getProgramInfoLog(this.id));\n\n gl.useProgram(this.id);\n // Collect attributes\n _collect(vertexSource, 'attribute', this.attribute);\n for (const a in this.attribute) this.attribute[a] = gl.getAttribLocation(this.id, a);\n // Collect uniforms\n _collect(vertexSource, 'uniform', this.uniform);\n _collect(fragmentSource, 'uniform', this.uniform);\n for (const u in this.uniform) this.uniform[u] = gl.getUniformLocation(this.id, u);\n}\n\n// export const GLImageFilter = function (params) {\nexport function GLImageFilter(params) {\n if (!params) params = { };\n let _drawCount = 0;\n let _sourceTexture = null;\n let _lastInChain = false;\n let _currentFramebufferIndex = -1;\n let _tempFramebuffers = [null, null];\n let _filterChain = [];\n let _width = -1;\n let _height = -1;\n let _vertexBuffer = null;\n let _currentProgram = null;\n const _filter = {};\n const _canvas = params.canvas || document.createElement('canvas');\n // key is the shader program source, value is the compiled program\n const _shaderProgramCache = { };\n const DRAW = { INTERMEDIATE: 1 };\n const gl = _canvas.getContext('webgl');\n if (!gl) throw new Error('Filter: getContext() failed');\n\n this.addFilter = function (name) {\n // eslint-disable-next-line prefer-rest-params\n const args = Array.prototype.slice.call(arguments, 1);\n const filter = _filter[name];\n _filterChain.push({ func: filter, args });\n };\n\n this.reset = function () {\n _filterChain = [];\n };\n\n const _resize = function (width, height) {\n // Same width/height? Nothing to do here\n if (width === _width && height === _height) { return; }\n _canvas.width = width;\n _width = width;\n _canvas.height = height;\n _height = height;\n // Create the context if we don't have it yet\n if (!_vertexBuffer) {\n // Create the vertex buffer for the two triangles [x, y, u, v] * 6\n const vertices = new Float32Array([\n -1, -1, 0, 1, 1, -1, 1, 1, -1, 1, 0, 0,\n -1, 1, 0, 0, 1, -1, 1, 1, 1, 1, 1, 0,\n ]);\n // eslint-disable-next-line no-unused-expressions\n (_vertexBuffer = gl.createBuffer(), gl.bindBuffer(gl.ARRAY_BUFFER, _vertexBuffer));\n gl.bufferData(gl.ARRAY_BUFFER, vertices, gl.STATIC_DRAW);\n gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, true);\n }\n gl.viewport(0, 0, _width, _height);\n // Delete old temp framebuffers\n _tempFramebuffers = [null, null];\n };\n\n const _createFramebufferTexture = function (width, height) {\n const fbo = gl.createFramebuffer();\n gl.bindFramebuffer(gl.FRAMEBUFFER, fbo);\n const renderbuffer = gl.createRenderbuffer();\n gl.bindRenderbuffer(gl.RENDERBUFFER, renderbuffer);\n const texture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, width, height, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, texture, 0);\n gl.bindTexture(gl.TEXTURE_2D, null);\n gl.bindFramebuffer(gl.FRAMEBUFFER, null);\n return { fbo, texture };\n };\n\n const _getTempFramebuffer = function (index) {\n _tempFramebuffers[index] = _tempFramebuffers[index] || _createFramebufferTexture(_width, _height);\n return _tempFramebuffers[index];\n };\n\n const _draw = function (flags = null) {\n let source = null;\n let target = null;\n let flipY = false;\n // Set up the source\n if (_drawCount === 0) {\n // First draw call - use the source texture\n source = _sourceTexture;\n } else {\n // All following draw calls use the temp buffer last drawn to\n source = _getTempFramebuffer(_currentFramebufferIndex)?.texture;\n }\n _drawCount++;\n // Set up the target\n if (_lastInChain && !(flags & DRAW.INTERMEDIATE)) {\n // Last filter in our chain - draw directly to the WebGL Canvas. We may\n // also have to flip the image vertically now\n target = null;\n flipY = _drawCount % 2 === 0;\n } else {\n // Intermediate draw call - get a temp buffer to draw to\n _currentFramebufferIndex = (_currentFramebufferIndex + 1) % 2;\n target = _getTempFramebuffer(_currentFramebufferIndex)?.fbo;\n }\n // Bind the source and target and draw the two triangles\n gl.bindTexture(gl.TEXTURE_2D, source);\n gl.bindFramebuffer(gl.FRAMEBUFFER, target);\n gl.uniform1f(_currentProgram.uniform.flipY, (flipY ? -1 : 1));\n gl.drawArrays(gl.TRIANGLES, 0, 6);\n };\n\n this.apply = function (image) {\n _resize(image.width, image.height);\n _drawCount = 0;\n // Create the texture for the input image if we haven't yet\n if (!_sourceTexture) _sourceTexture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, _sourceTexture);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);\n // No filters? Just draw\n if (_filterChain.length === 0) {\n // const program = _compileShader(SHADER.FRAGMENT_IDENTITY);\n _draw();\n return _canvas;\n }\n for (let i = 0; i < _filterChain.length; i++) {\n _lastInChain = (i === _filterChain.length - 1);\n const f = _filterChain[i];\n f.func.apply(this, f.args || []);\n }\n return _canvas;\n };\n\n const _compileShader = function (fragmentSource) {\n if (_shaderProgramCache[fragmentSource]) {\n _currentProgram = _shaderProgramCache[fragmentSource];\n gl.useProgram(_currentProgram.id);\n return _currentProgram;\n }\n // Compile shaders\n const SHADER = {};\n SHADER.VERTEX_IDENTITY = [\n 'precision highp float;',\n 'attribute vec2 pos;',\n 'attribute vec2 uv;',\n 'varying vec2 vUv;',\n 'uniform float flipY;',\n 'void main(void) {',\n 'vUv = uv;',\n 'gl_Position = vec4(pos.x, pos.y*flipY, 0.0, 1.);',\n '}',\n ].join('\\n');\n SHADER.FRAGMENT_IDENTITY = [\n 'precision highp float;',\n 'varying vec2 vUv;',\n 'uniform sampler2D texture;',\n 'void main(void) {',\n 'gl_FragColor = texture2D(texture, vUv);',\n '}',\n ].join('\\n');\n _currentProgram = new GLProgram(gl, SHADER.VERTEX_IDENTITY, fragmentSource);\n const floatSize = Float32Array.BYTES_PER_ELEMENT;\n const vertSize = 4 * floatSize;\n gl.enableVertexAttribArray(_currentProgram.attribute.pos);\n gl.vertexAttribPointer(_currentProgram.attribute.pos, 2, gl.FLOAT, false, vertSize, 0 * floatSize);\n gl.enableVertexAttribArray(_currentProgram.attribute.uv);\n gl.vertexAttribPointer(_currentProgram.attribute.uv, 2, gl.FLOAT, false, vertSize, 2 * floatSize);\n _shaderProgramCache[fragmentSource] = _currentProgram;\n return _currentProgram;\n };\n\n // -------------------------------------------------------------------------\n // Color Matrix Filter\n _filter.colorMatrix = function (matrix) {\n // Create a Float32 Array and normalize the offset component to 0-1\n const m = new Float32Array(matrix);\n m[4] /= 255;\n m[9] /= 255;\n m[14] /= 255;\n m[19] /= 255;\n // Can we ignore the alpha value? Makes things a bit faster.\n const shader = (m[18] === 1 && m[3] === 0 && m[8] === 0 && m[13] === 0 && m[15] === 0 && m[16] === 0 && m[17] === 0 && m[19] === 0)\n ? _filter.colorMatrix.SHADER.WITHOUT_ALPHA\n : _filter.colorMatrix.SHADER.WITH_ALPHA;\n const program = _compileShader(shader);\n gl.uniform1fv(program.uniform.m, m);\n _draw();\n };\n _filter.colorMatrix.SHADER = {};\n _filter.colorMatrix.SHADER.WITH_ALPHA = [\n 'precision highp float;',\n 'varying vec2 vUv;',\n 'uniform sampler2D texture;',\n 'uniform float m[20];',\n 'void main(void) {',\n 'vec4 c = texture2D(texture, vUv);',\n 'gl_FragColor.r = m[0] * c.r + m[1] * c.g + m[2] * c.b + m[3] * c.a + m[4];',\n 'gl_FragColor.g = m[5] * c.r + m[6] * c.g + m[7] * c.b + m[8] * c.a + m[9];',\n 'gl_FragColor.b = m[10] * c.r + m[11] * c.g + m[12] * c.b + m[13] * c.a + m[14];',\n 'gl_FragColor.a = m[15] * c.r + m[16] * c.g + m[17] * c.b + m[18] * c.a + m[19];',\n '}',\n ].join('\\n');\n _filter.colorMatrix.SHADER.WITHOUT_ALPHA = [\n 'precision highp float;',\n 'varying vec2 vUv;',\n 'uniform sampler2D texture;',\n 'uniform float m[20];',\n 'void main(void) {',\n 'vec4 c = texture2D(texture, vUv);',\n 'gl_FragColor.r = m[0] * c.r + m[1] * c.g + m[2] * c.b + m[4];',\n 'gl_FragColor.g = m[5] * c.r + m[6] * c.g + m[7] * c.b + m[9];',\n 'gl_FragColor.b = m[10] * c.r + m[11] * c.g + m[12] * c.b + m[14];',\n 'gl_FragColor.a = c.a;',\n '}',\n ].join('\\n');\n\n _filter.brightness = function (brightness) {\n const b = (brightness || 0) + 1;\n _filter.colorMatrix([\n b, 0, 0, 0, 0,\n 0, b, 0, 0, 0,\n 0, 0, b, 0, 0,\n 0, 0, 0, 1, 0,\n ]);\n };\n\n _filter.saturation = function (amount) {\n const x = (amount || 0) * 2 / 3 + 1;\n const y = ((x - 1) * -0.5);\n _filter.colorMatrix([\n x, y, y, 0, 0,\n y, x, y, 0, 0,\n y, y, x, 0, 0,\n 0, 0, 0, 1, 0,\n ]);\n };\n\n _filter.desaturate = function () {\n _filter.saturation(-1);\n };\n\n _filter.contrast = function (amount) {\n const v = (amount || 0) + 1;\n const o = -128 * (v - 1);\n\n _filter.colorMatrix([\n v, 0, 0, 0, o,\n 0, v, 0, 0, o,\n 0, 0, v, 0, o,\n 0, 0, 0, 1, 0,\n ]);\n };\n\n _filter.negative = function () {\n _filter.contrast(-2);\n };\n\n _filter.hue = function (rotation) {\n rotation = (rotation || 0) / 180 * Math.PI;\n const cos = Math.cos(rotation);\n const sin = Math.sin(rotation);\n const lumR = 0.213;\n const lumG = 0.715;\n const lumB = 0.072;\n\n _filter.colorMatrix([\n lumR + cos * (1 - lumR) + sin * (-lumR), lumG + cos * (-lumG) + sin * (-lumG), lumB + cos * (-lumB) + sin * (1 - lumB), 0, 0,\n lumR + cos * (-lumR) + sin * (0.143), lumG + cos * (1 - lumG) + sin * (0.140), lumB + cos * (-lumB) + sin * (-0.283), 0, 0,\n lumR + cos * (-lumR) + sin * (-(1 - lumR)), lumG + cos * (-lumG) + sin * (lumG), lumB + cos * (1 - lumB) + sin * (lumB), 0, 0,\n 0, 0, 0, 1, 0,\n ]);\n };\n\n _filter.desaturateLuminance = function () {\n _filter.colorMatrix([\n 0.2764723, 0.9297080, 0.0938197, 0, -37.1,\n 0.2764723, 0.9297080, 0.0938197, 0, -37.1,\n 0.2764723, 0.9297080, 0.0938197, 0, -37.1,\n 0, 0, 0, 1, 0,\n ]);\n };\n\n _filter.sepia = function () {\n _filter.colorMatrix([\n 0.393, 0.7689999, 0.18899999, 0, 0,\n 0.349, 0.6859999, 0.16799999, 0, 0,\n 0.272, 0.5339999, 0.13099999, 0, 0,\n 0, 0, 0, 1, 0,\n ]);\n };\n\n _filter.brownie = function () {\n _filter.colorMatrix([\n 0.5997023498159715, 0.34553243048391263, -0.2708298674538042, 0, 47.43192855600873,\n -0.037703249837783157, 0.8609577587992641, 0.15059552388459913, 0, -36.96841498319127,\n 0.24113635128153335, -0.07441037908422492, 0.44972182064877153, 0, -7.562075277591283,\n 0, 0, 0, 1, 0,\n ]);\n };\n\n _filter.vintagePinhole = function () {\n _filter.colorMatrix([\n 0.6279345635605994, 0.3202183420819367, -0.03965408211312453, 0, 9.651285835294123,\n 0.02578397704808868, 0.6441188644374771, 0.03259127616149294, 0, 7.462829176470591,\n 0.0466055556782719, -0.0851232987247891, 0.5241648018700465, 0, 5.159190588235296,\n 0, 0, 0, 1, 0,\n ]);\n };\n\n _filter.kodachrome = function () {\n _filter.colorMatrix([\n 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502,\n -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203,\n -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946,\n 0, 0, 0, 1, 0,\n ]);\n };\n\n _filter.technicolor = function () {\n _filter.colorMatrix([\n 1.9125277891456083, -0.8545344976951645, -0.09155508482755585, 0, 11.793603434377337,\n -0.3087833385928097, 1.7658908555458428, -0.10601743074722245, 0, -70.35205161461398,\n -0.231103377548616, -0.7501899197440212, 1.847597816108189, 0, 30.950940869491138,\n 0, 0, 0, 1, 0,\n ]);\n };\n\n _filter.polaroid = function () {\n _filter.colorMatrix([\n 1.438, -0.062, -0.062, 0, 0,\n -0.122, 1.378, -0.122, 0, 0,\n -0.016, -0.016, 1.483, 0, 0,\n 0, 0, 0, 1, 0,\n ]);\n };\n\n _filter.shiftToBGR = function () {\n _filter.colorMatrix([\n 0, 0, 1, 0, 0,\n 0, 1, 0, 0, 0,\n 1, 0, 0, 0, 0,\n 0, 0, 0, 1, 0,\n ]);\n };\n\n // -------------------------------------------------------------------------\n // Convolution Filter\n _filter.convolution = function (matrix) {\n const m = new Float32Array(matrix);\n const pixelSizeX = 1 / _width;\n const pixelSizeY = 1 / _height;\n const program = _compileShader(_filter.convolution.SHADER);\n gl.uniform1fv(program.uniform.m, m);\n gl.uniform2f(program.uniform.px, pixelSizeX, pixelSizeY);\n _draw();\n };\n\n _filter.convolution.SHADER = [\n 'precision highp float;',\n 'varying vec2 vUv;',\n 'uniform sampler2D texture;',\n 'uniform vec2 px;',\n 'uniform float m[9];',\n 'void main(void) {',\n 'vec4 c11 = texture2D(texture, vUv - px);', // top left\n 'vec4 c12 = texture2D(texture, vec2(vUv.x, vUv.y - px.y));', // top center\n 'vec4 c13 = texture2D(texture, vec2(vUv.x + px.x, vUv.y - px.y));', // top right\n 'vec4 c21 = texture2D(texture, vec2(vUv.x - px.x, vUv.y) );', // mid left\n 'vec4 c22 = texture2D(texture, vUv);', // mid center\n 'vec4 c23 = texture2D(texture, vec2(vUv.x + px.x, vUv.y) );', // mid right\n 'vec4 c31 = texture2D(texture, vec2(vUv.x - px.x, vUv.y + px.y) );', // bottom left\n 'vec4 c32 = texture2D(texture, vec2(vUv.x, vUv.y + px.y) );', // bottom center\n 'vec4 c33 = texture2D(texture, vUv + px );', // bottom right\n 'gl_FragColor = ',\n 'c11 * m[0] + c12 * m[1] + c22 * m[2] +',\n 'c21 * m[3] + c22 * m[4] + c23 * m[5] +',\n 'c31 * m[6] + c32 * m[7] + c33 * m[8];',\n 'gl_FragColor.a = c22.a;',\n '}',\n ].join('\\n');\n\n _filter.detectEdges = function () {\n _filter.convolution.call(this, [\n 0, 1, 0,\n 1, -4, 1,\n 0, 1, 0,\n ]);\n };\n\n _filter.sobelX = function () {\n _filter.convolution.call(this, [\n -1, 0, 1,\n -2, 0, 2,\n -1, 0, 1,\n ]);\n };\n\n _filter.sobelY = function () {\n _filter.convolution.call(this, [\n -1, -2, -1,\n 0, 0, 0,\n 1, 2, 1,\n ]);\n };\n\n _filter.sharpen = function (amount) {\n const a = amount || 1;\n _filter.convolution.call(this, [\n 0, -1 * a, 0,\n -1 * a, 1 + 4 * a, -1 * a,\n 0, -1 * a, 0,\n ]);\n };\n\n _filter.emboss = function (size) {\n const s = size || 1;\n _filter.convolution.call(this, [\n -2 * s, -1 * s, 0,\n -1 * s, 1, 1 * s,\n 0, 1 * s, 2 * s,\n ]);\n };\n\n // -------------------------------------------------------------------------\n // Blur Filter\n _filter.blur = function (size) {\n const blurSizeX = (size / 7) / _width;\n const blurSizeY = (size / 7) / _height;\n const program = _compileShader(_filter.blur.SHADER);\n // Vertical\n gl.uniform2f(program.uniform.px, 0, blurSizeY);\n _draw(DRAW.INTERMEDIATE);\n // Horizontal\n gl.uniform2f(program.uniform.px, blurSizeX, 0);\n _draw();\n };\n\n _filter.blur.SHADER = [\n 'precision highp float;',\n 'varying vec2 vUv;',\n 'uniform sampler2D texture;',\n 'uniform vec2 px;',\n 'void main(void) {',\n 'gl_FragColor = vec4(0.0);',\n 'gl_FragColor += texture2D(texture, vUv + vec2(-7.0*px.x, -7.0*px.y))*0.0044299121055113265;',\n 'gl_FragColor += texture2D(texture, vUv + vec2(-6.0*px.x, -6.0*px.y))*0.00895781211794;',\n 'gl_FragColor += texture2D(texture, vUv + vec2(-5.0*px.x, -5.0*px.y))*0.0215963866053;',\n 'gl_FragColor += texture2D(texture, vUv + vec2(-4.0*px.x, -4.0*px.y))*0.0443683338718;',\n 'gl_FragColor += texture2D(texture, vUv + vec2(-3.0*px.x, -3.0*px.y))*0.0776744219933;',\n 'gl_FragColor += texture2D(texture, vUv + vec2(-2.0*px.x, -2.0*px.y))*0.115876621105;',\n 'gl_FragColor += texture2D(texture, vUv + vec2(-1.0*px.x, -1.0*px.y))*0.147308056121;',\n 'gl_FragColor += texture2D(texture, vUv )*0.159576912161;',\n 'gl_FragColor += texture2D(texture, vUv + vec2( 1.0*px.x, 1.0*px.y))*0.147308056121;',\n 'gl_FragColor += texture2D(texture, vUv + vec2( 2.0*px.x, 2.0*px.y))*0.115876621105;',\n 'gl_FragColor += texture2D(texture, vUv + vec2( 3.0*px.x, 3.0*px.y))*0.0776744219933;',\n 'gl_FragColor += texture2D(texture, vUv + vec2( 4.0*px.x, 4.0*px.y))*0.0443683338718;',\n 'gl_FragColor += texture2D(texture, vUv + vec2( 5.0*px.x, 5.0*px.y))*0.0215963866053;',\n 'gl_FragColor += texture2D(texture, vUv + vec2( 6.0*px.x, 6.0*px.y))*0.00895781211794;',\n 'gl_FragColor += texture2D(texture, vUv + vec2( 7.0*px.x, 7.0*px.y))*0.0044299121055113265;',\n '}',\n ].join('\\n');\n\n // -------------------------------------------------------------------------\n // Pixelate Filter\n _filter.pixelate = function (size) {\n const blurSizeX = (size) / _width;\n const blurSizeY = (size) / _height;\n const program = _compileShader(_filter.pixelate.SHADER);\n // Horizontal\n gl.uniform2f(program.uniform.size, blurSizeX, blurSizeY);\n _draw();\n };\n\n _filter.pixelate.SHADER = [\n 'precision highp float;',\n 'varying vec2 vUv;',\n 'uniform vec2 size;',\n 'uniform sampler2D texture;',\n 'vec2 pixelate(vec2 coord, vec2 size) {',\n 'return floor( coord / size ) * size;',\n '}',\n 'void main(void) {',\n 'gl_FragColor = vec4(0.0);',\n 'vec2 coord = pixelate(vUv, size);',\n 'gl_FragColor += texture2D(texture, coord);',\n '}',\n ].join('\\n');\n}\n", "/**\n * Image Processing module used by Human\n */\n\nimport * as tf from '../../dist/tfjs.esm.js';\nimport * as fxImage from './imagefx';\nimport { Tensor } from '../tfjs/types';\n\nconst maxSize = 2048;\n// internal temp canvases\nlet inCanvas;\nlet outCanvas;\n// instance of fximage\nlet fx;\n\n// process input image and return tensor\n// input can be tensor, imagedata, htmlimageelement, htmlvideoelement\n// input is resized and run through imagefx filter\nexport function process(input, config): { tensor: Tensor | null, canvas: OffscreenCanvas | HTMLCanvasElement } {\n let tensor;\n if (!input) throw new Error('Human: Input is missing');\n // sanity checks since different browsers do not implement all dom elements\n if (\n !(input instanceof tf.Tensor)\n && !(typeof Image !== 'undefined' && input instanceof Image)\n && !(typeof ImageData !== 'undefined' && input instanceof ImageData)\n && !(typeof ImageBitmap !== 'undefined' && input instanceof ImageBitmap)\n && !(typeof HTMLImageElement !== 'undefined' && input instanceof HTMLImageElement)\n && !(typeof HTMLMediaElement !== 'undefined' && input instanceof HTMLMediaElement)\n && !(typeof HTMLVideoElement !== 'undefined' && input instanceof HTMLVideoElement)\n && !(typeof HTMLCanvasElement !== 'undefined' && input instanceof HTMLCanvasElement)\n && !(typeof OffscreenCanvas !== 'undefined' && input instanceof OffscreenCanvas)\n ) {\n throw new Error('Human: Input type is not recognized');\n }\n if (input instanceof tf.Tensor) {\n // if input is tensor, use as-is\n if (input.shape && input.shape.length === 4 && input.shape[0] === 1 && input.shape[3] === 3) tensor = tf.clone(input);\n else throw new Error(`Human: Input tensor shape must be [1, height, width, 3] and instead was ${input.shape}`);\n } else {\n // check if resizing will be needed\n const originalWidth = input['naturalWidth'] || input['videoWidth'] || input['width'] || (input['shape'] && (input['shape'][1] > 0));\n const originalHeight = input['naturalHeight'] || input['videoHeight'] || input['height'] || (input['shape'] && (input['shape'][2] > 0));\n if (!originalWidth || !originalHeight) return { tensor: null, canvas: inCanvas }; // video may become temporarily unavailable due to onresize\n let targetWidth = originalWidth;\n let targetHeight = originalHeight;\n if (targetWidth > maxSize) {\n targetWidth = maxSize;\n targetHeight = targetWidth * originalHeight / originalWidth;\n }\n if (targetHeight > maxSize) {\n targetHeight = maxSize;\n targetWidth = targetHeight * originalWidth / originalHeight;\n }\n\n // create our canvas and resize it if needed\n if (config.filter.width > 0) targetWidth = config.filter.width;\n else if (config.filter.height > 0) targetWidth = originalWidth * (config.filter.height / originalHeight);\n if (config.filter.height > 0) targetHeight = config.filter.height;\n else if (config.filter.width > 0) targetHeight = originalHeight * (config.filter.width / originalWidth);\n if (!targetWidth || !targetHeight) throw new Error('Human: Input cannot determine dimension');\n if (!inCanvas || (inCanvas?.width !== targetWidth) || (inCanvas?.height !== targetHeight)) {\n inCanvas = (typeof OffscreenCanvas !== 'undefined') ? new OffscreenCanvas(targetWidth, targetHeight) : document.createElement('canvas');\n if (inCanvas?.width !== targetWidth) inCanvas.width = targetWidth;\n if (inCanvas?.height !== targetHeight) inCanvas.height = targetHeight;\n }\n\n // draw input to our canvas\n const ctx = inCanvas.getContext('2d');\n if (input instanceof ImageData) {\n ctx.putImageData(input, 0, 0);\n } else {\n if (config.filter.flip && typeof ctx.translate !== 'undefined') {\n ctx.translate(originalWidth, 0);\n ctx.scale(-1, 1);\n ctx.drawImage(input, 0, 0, originalWidth, originalHeight, 0, 0, inCanvas?.width, inCanvas?.height);\n ctx.setTransform(1, 0, 0, 1, 0, 0); // resets transforms to defaults\n } else {\n ctx.drawImage(input, 0, 0, originalWidth, originalHeight, 0, 0, inCanvas?.width, inCanvas?.height);\n }\n }\n\n // imagefx transforms using gl\n if (config.filter.enabled) {\n if (!fx || !outCanvas || (inCanvas.width !== outCanvas.width) || (inCanvas?.height !== outCanvas?.height)) {\n outCanvas = (typeof OffscreenCanvas !== 'undefined') ? new OffscreenCanvas(inCanvas?.width, inCanvas?.height) : document.createElement('canvas');\n if (outCanvas?.width !== inCanvas?.width) outCanvas.width = inCanvas?.width;\n if (outCanvas?.height !== inCanvas?.height) outCanvas.height = inCanvas?.height;\n // log('created FX filter');\n fx = tf.ENV.flags.IS_BROWSER ? new fxImage.GLImageFilter({ canvas: outCanvas }) : null; // && (typeof document !== 'undefined')\n }\n if (!fx) return { tensor: null, canvas: inCanvas };\n fx.reset();\n fx.addFilter('brightness', config.filter.brightness); // must have at least one filter enabled\n if (config.filter.contrast !== 0) fx.addFilter('contrast', config.filter.contrast);\n if (config.filter.sharpness !== 0) fx.addFilter('sharpen', config.filter.sharpness);\n if (config.filter.blur !== 0) fx.addFilter('blur', config.filter.blur);\n if (config.filter.saturation !== 0) fx.addFilter('saturation', config.filter.saturation);\n if (config.filter.hue !== 0) fx.addFilter('hue', config.filter.hue);\n if (config.filter.negative) fx.addFilter('negative');\n if (config.filter.sepia) fx.addFilter('sepia');\n if (config.filter.vintage) fx.addFilter('brownie');\n if (config.filter.sepia) fx.addFilter('sepia');\n if (config.filter.kodachrome) fx.addFilter('kodachrome');\n if (config.filter.technicolor) fx.addFilter('technicolor');\n if (config.filter.polaroid) fx.addFilter('polaroid');\n if (config.filter.pixelate !== 0) fx.addFilter('pixelate', config.filter.pixelate);\n fx.apply(inCanvas);\n // read pixel data\n /*\n const gl = outCanvas.getContext('webgl');\n if (gl) {\n const glBuffer = new Uint8Array(outCanvas.width * outCanvas.height * 4);\n const pixBuffer = new Uint8Array(outCanvas.width * outCanvas.height * 3);\n gl.readPixels(0, 0, outCanvas.width, outCanvas.height, gl.RGBA, gl.UNSIGNED_BYTE, glBuffer);\n // gl returns rbga while we only need rgb, so discarding alpha channel\n // gl returns starting point as lower left, so need to invert vertical\n let i = 0;\n for (let y = outCanvas.height - 1; y >= 0; y--) {\n for (let x = 0; x < outCanvas.width; x++) {\n const index = (x + y * outCanvas.width) * 4;\n pixBuffer[i++] = glBuffer[index + 0];\n pixBuffer[i++] = glBuffer[index + 1];\n pixBuffer[i++] = glBuffer[index + 2];\n }\n }\n outCanvas.data = pixBuffer;\n }\n */\n } else {\n outCanvas = inCanvas;\n if (fx) fx = null;\n }\n\n // create tensor from image\n let pixels;\n if (outCanvas.data) { // if we have data, just convert to tensor\n const shape = [outCanvas.height, outCanvas.width, 3];\n pixels = tf.tensor3d(outCanvas.data, shape, 'int32');\n } else if (outCanvas instanceof ImageData) { // if input is imagedata, just use it\n pixels = tf.browser.fromPixels(outCanvas);\n } else if (config.backend === 'webgl' || config.backend === 'humangl') { // tf kernel-optimized method to get imagedata\n // we can use canvas as-is as it already has a context, so we do a silly one more canvas\n const tempCanvas = (typeof OffscreenCanvas !== 'undefined') ? new OffscreenCanvas(targetWidth, targetHeight) : document.createElement('canvas');\n tempCanvas.width = targetWidth;\n tempCanvas.height = targetHeight;\n const tempCtx = tempCanvas.getContext('2d');\n tempCtx?.drawImage(outCanvas, 0, 0);\n pixels = tf.browser.fromPixels(tempCanvas);\n } else { // cpu and wasm kernel does not implement efficient fromPixels method\n // we can use canvas as-is as it already has a context, so we do a silly one more canvas\n const tempCanvas = (typeof OffscreenCanvas !== 'undefined') ? new OffscreenCanvas(targetWidth, targetHeight) : document.createElement('canvas');\n tempCanvas.width = targetWidth;\n tempCanvas.height = targetHeight;\n const tempCtx = tempCanvas.getContext('2d');\n tempCtx?.drawImage(outCanvas, 0, 0);\n const data = tempCtx?.getImageData(0, 0, targetWidth, targetHeight);\n pixels = tf.browser.fromPixels(data);\n }\n const casted = pixels.toFloat();\n tensor = casted.expandDims(0);\n pixels.dispose();\n casted.dispose();\n }\n const canvas = config.filter.return ? outCanvas : null;\n return { tensor, canvas };\n}\n", "/**\n * Module that implements helper draw functions, exposed as human.draw\n */\n\nimport { TRI468 as triangulation } from '../blazeface/coords';\nimport { mergeDeep, now } from '../helpers';\nimport type { Result, Face, Body, Hand, Item, Gesture, Person } from '../result';\n\n/**\n * Draw Options\n * Accessed via `human.draw.options` or provided per each draw method as the drawOptions optional parameter\n * -color: draw color\n * -labelColor: color for labels\n * -shadowColor: optional shadow color for labels\n * -font: font for labels\n * -lineHeight: line height for labels, used for multi-line labels,\n * -lineWidth: width of any lines,\n * -pointSize: size of any point,\n * -roundRect: for boxes, round corners by this many pixels,\n * -drawPoints: should points be drawn,\n * -drawLabels: should labels be drawn,\n * -drawBoxes: should boxes be drawn,\n * -drawPolygons: should polygons be drawn,\n * -fillPolygons: should drawn polygons be filled,\n * -useDepth: use z-axis coordinate as color shade,\n * -useCurves: draw polygons as cures or as lines,\n * -bufferedOutput: experimental: allows to call draw methods multiple times for each detection and interpolate results between results thus achieving smoother animations\n */\nexport interface DrawOptions {\n color: string,\n labelColor: string,\n shadowColor: string,\n font: string,\n lineHeight: number,\n lineWidth: number,\n pointSize: number,\n roundRect: number,\n drawPoints: boolean,\n drawLabels: boolean,\n drawBoxes: boolean,\n drawPolygons: boolean,\n drawGaze: boolean,\n fillPolygons: boolean,\n useDepth: boolean,\n useCurves: boolean,\n bufferedOutput: boolean,\n}\n\nexport const options: DrawOptions = {\n color: 'rgba(173, 216, 230, 0.3)', // 'lightblue' with light alpha channel\n labelColor: 'rgba(173, 216, 230, 1)', // 'lightblue' with dark alpha channel\n shadowColor: 'black',\n font: 'small-caps 14px \"Segoe UI\"',\n lineHeight: 24,\n lineWidth: 6,\n pointSize: 2,\n roundRect: 28,\n drawPoints: false,\n drawLabels: true,\n drawBoxes: true,\n drawPolygons: true,\n drawGaze: true,\n fillPolygons: false,\n useDepth: true,\n useCurves: false,\n bufferedOutput: true,\n};\n\nconst rad2deg = (theta) => Math.round((theta * 180) / Math.PI);\n\nfunction point(ctx, x, y, z = 0, localOptions) {\n ctx.fillStyle = localOptions.useDepth && z ? `rgba(${127.5 + (2 * z)}, ${127.5 - (2 * z)}, 255, 0.3)` : localOptions.color;\n ctx.beginPath();\n ctx.arc(x, y, localOptions.pointSize, 0, 2 * Math.PI);\n ctx.fill();\n}\n\nfunction rect(ctx, x, y, width, height, localOptions) {\n ctx.beginPath();\n if (localOptions.useCurves) {\n const cx = (x + x + width) / 2;\n const cy = (y + y + height) / 2;\n ctx.ellipse(cx, cy, width / 2, height / 2, 0, 0, 2 * Math.PI);\n } else {\n ctx.lineWidth = localOptions.lineWidth;\n ctx.moveTo(x + localOptions.roundRect, y);\n ctx.lineTo(x + width - localOptions.roundRect, y);\n ctx.quadraticCurveTo(x + width, y, x + width, y + localOptions.roundRect);\n ctx.lineTo(x + width, y + height - localOptions.roundRect);\n ctx.quadraticCurveTo(x + width, y + height, x + width - localOptions.roundRect, y + height);\n ctx.lineTo(x + localOptions.roundRect, y + height);\n ctx.quadraticCurveTo(x, y + height, x, y + height - localOptions.roundRect);\n ctx.lineTo(x, y + localOptions.roundRect);\n ctx.quadraticCurveTo(x, y, x + localOptions.roundRect, y);\n ctx.closePath();\n }\n ctx.stroke();\n}\n\nfunction lines(ctx, points: [number, number, number?][] = [], localOptions) {\n if (points === undefined || points.length === 0) return;\n ctx.beginPath();\n ctx.moveTo(points[0][0], points[0][1]);\n for (const pt of points) {\n const z = pt[2] || 0;\n ctx.strokeStyle = localOptions.useDepth && z ? `rgba(${127.5 + (2 * z)}, ${127.5 - (2 * z)}, 255, 0.3)` : localOptions.color;\n ctx.fillStyle = localOptions.useDepth && z ? `rgba(${127.5 + (2 * z)}, ${127.5 - (2 * z)}, 255, 0.3)` : localOptions.color;\n ctx.lineTo(pt[0], Math.round(pt[1]));\n }\n ctx.stroke();\n if (localOptions.fillPolygons) {\n ctx.closePath();\n ctx.fill();\n }\n}\n\nfunction curves(ctx, points: [number, number, number?][] = [], localOptions) {\n if (points === undefined || points.length === 0) return;\n if (!localOptions.useCurves || points.length <= 2) {\n lines(ctx, points, localOptions);\n return;\n }\n ctx.moveTo(points[0][0], points[0][1]);\n for (let i = 0; i < points.length - 2; i++) {\n const xc = (points[i][0] + points[i + 1][0]) / 2;\n const yc = (points[i][1] + points[i + 1][1]) / 2;\n ctx.quadraticCurveTo(points[i][0], points[i][1], xc, yc);\n }\n ctx.quadraticCurveTo(points[points.length - 2][0], points[points.length - 2][1], points[points.length - 1][0], points[points.length - 1][1]);\n ctx.stroke();\n if (localOptions.fillPolygons) {\n ctx.closePath();\n ctx.fill();\n }\n}\n\nexport async function gesture(inCanvas: HTMLCanvasElement, result: Array, drawOptions?: DrawOptions) {\n const localOptions = mergeDeep(options, drawOptions);\n if (!result || !inCanvas) return;\n if (!(inCanvas instanceof HTMLCanvasElement)) return;\n const ctx = inCanvas.getContext('2d');\n if (!ctx) return;\n ctx.font = localOptions.font;\n ctx.fillStyle = localOptions.color;\n let i = 1;\n for (let j = 0; j < result.length; j++) {\n let where: unknown[] = []; // what&where is a record\n let what: unknown[] = []; // what&where is a record\n [where, what] = Object.entries(result[j]);\n if ((what.length > 1) && ((what[1] as string).length > 0)) {\n const who = where[1] as number > 0 ? `#${where[1]}` : '';\n const label = `${where[0]} ${who}: ${what[1]}`;\n if (localOptions.shadowColor && localOptions.shadowColor !== '') {\n ctx.fillStyle = localOptions.shadowColor;\n ctx.fillText(label, 8, 2 + (i * localOptions.lineHeight));\n }\n ctx.fillStyle = localOptions.labelColor;\n ctx.fillText(label, 6, 0 + (i * localOptions.lineHeight));\n i += 1;\n }\n }\n}\n\nexport async function face(inCanvas: HTMLCanvasElement, result: Array, drawOptions?: DrawOptions) {\n const localOptions = mergeDeep(options, drawOptions);\n if (!result || !inCanvas) return;\n if (!(inCanvas instanceof HTMLCanvasElement)) return;\n const ctx = inCanvas.getContext('2d');\n if (!ctx) return;\n for (const f of result) {\n ctx.font = localOptions.font;\n ctx.strokeStyle = localOptions.color;\n ctx.fillStyle = localOptions.color;\n if (localOptions.drawBoxes) rect(ctx, f.box[0], f.box[1], f.box[2], f.box[3], localOptions);\n // silly hack since fillText does not suport new line\n const labels:string[] = [];\n labels.push(`face: ${Math.trunc(100 * f.score)}%`);\n if (f.genderScore) labels.push(`${f.gender || ''} ${Math.trunc(100 * f.genderScore)}%`);\n if (f.age) labels.push(`age: ${f.age || ''}`);\n if (f.iris) labels.push(`distance: ${f.iris}`);\n if (f.emotion && f.emotion.length > 0) {\n const emotion = f.emotion.map((a) => `${Math.trunc(100 * a.score)}% ${a.emotion}`);\n if (emotion.length > 3) emotion.length = 3;\n labels.push(emotion.join(' '));\n }\n if (f.rotation && f.rotation.angle && f.rotation.gaze) {\n if (f.rotation.angle.roll) labels.push(`roll: ${rad2deg(f.rotation.angle.roll)}\u00B0 yaw:${rad2deg(f.rotation.angle.yaw)}\u00B0 pitch:${rad2deg(f.rotation.angle.pitch)}\u00B0`);\n if (f.rotation.gaze.bearing) labels.push(`gaze: ${rad2deg(f.rotation.gaze.bearing)}\u00B0`);\n }\n if (labels.length === 0) labels.push('face');\n ctx.fillStyle = localOptions.color;\n for (let i = labels.length - 1; i >= 0; i--) {\n const x = Math.max(f.box[0], 0);\n const y = i * localOptions.lineHeight + f.box[1];\n if (localOptions.shadowColor && localOptions.shadowColor !== '') {\n ctx.fillStyle = localOptions.shadowColor;\n ctx.fillText(labels[i], x + 5, y + 16);\n }\n ctx.fillStyle = localOptions.labelColor;\n ctx.fillText(labels[i], x + 4, y + 15);\n }\n ctx.lineWidth = 1;\n if (f.mesh && f.mesh.length > 0) {\n if (localOptions.drawPoints) {\n for (const pt of f.mesh) point(ctx, pt[0], pt[1], pt[2], localOptions);\n // for (const pt of f.meshRaw) point(ctx, pt[0] * inCanvas.offsetWidth, pt[1] * inCanvas.offsetHeight, pt[2]);\n }\n if (localOptions.drawPolygons) {\n ctx.lineWidth = 1;\n for (let i = 0; i < triangulation.length / 3; i++) {\n const points = [\n triangulation[i * 3 + 0],\n triangulation[i * 3 + 1],\n triangulation[i * 3 + 2],\n ].map((index) => f.mesh[index]);\n lines(ctx, points, localOptions);\n }\n // iris: array[center, left, top, right, bottom]\n if (f.annotations && f.annotations['leftEyeIris']) {\n ctx.strokeStyle = localOptions.useDepth ? 'rgba(255, 200, 255, 0.3)' : localOptions.color;\n ctx.beginPath();\n const sizeX = Math.abs(f.annotations['leftEyeIris'][3][0] - f.annotations['leftEyeIris'][1][0]) / 2;\n const sizeY = Math.abs(f.annotations['leftEyeIris'][4][1] - f.annotations['leftEyeIris'][2][1]) / 2;\n ctx.ellipse(f.annotations['leftEyeIris'][0][0], f.annotations['leftEyeIris'][0][1], sizeX, sizeY, 0, 0, 2 * Math.PI);\n ctx.stroke();\n if (localOptions.fillPolygons) {\n ctx.fillStyle = localOptions.useDepth ? 'rgba(255, 255, 200, 0.3)' : localOptions.color;\n ctx.fill();\n }\n }\n if (f.annotations && f.annotations['rightEyeIris']) {\n ctx.strokeStyle = localOptions.useDepth ? 'rgba(255, 200, 255, 0.3)' : localOptions.color;\n ctx.beginPath();\n const sizeX = Math.abs(f.annotations['rightEyeIris'][3][0] - f.annotations['rightEyeIris'][1][0]) / 2;\n const sizeY = Math.abs(f.annotations['rightEyeIris'][4][1] - f.annotations['rightEyeIris'][2][1]) / 2;\n ctx.ellipse(f.annotations['rightEyeIris'][0][0], f.annotations['rightEyeIris'][0][1], sizeX, sizeY, 0, 0, 2 * Math.PI);\n ctx.stroke();\n if (localOptions.fillPolygons) {\n ctx.fillStyle = localOptions.useDepth ? 'rgba(255, 255, 200, 0.3)' : localOptions.color;\n ctx.fill();\n }\n }\n if (localOptions.drawGaze && f.rotation?.gaze?.strength && f.rotation?.gaze?.bearing) {\n ctx.strokeStyle = 'pink';\n ctx.beginPath();\n\n const leftGaze = [\n f.annotations['leftEyeIris'][0][0] + (Math.sin(f.rotation.gaze.bearing) * f.rotation.gaze.strength * f.box[3]),\n f.annotations['leftEyeIris'][0][1] + (Math.cos(f.rotation.gaze.bearing) * f.rotation.gaze.strength * f.box[2]),\n ];\n ctx.moveTo(f.annotations['leftEyeIris'][0][0], f.annotations['leftEyeIris'][0][1]);\n ctx.lineTo(leftGaze[0], leftGaze[1]);\n\n const rightGaze = [\n f.annotations['rightEyeIris'][0][0] + (Math.sin(f.rotation.gaze.bearing) * f.rotation.gaze.strength * f.box[3]),\n f.annotations['rightEyeIris'][0][1] + (Math.cos(f.rotation.gaze.bearing) * f.rotation.gaze.strength * f.box[2]),\n ];\n ctx.moveTo(f.annotations['rightEyeIris'][0][0], f.annotations['rightEyeIris'][0][1]);\n ctx.lineTo(rightGaze[0], rightGaze[1]);\n\n ctx.stroke();\n }\n }\n }\n }\n}\n\nexport async function body(inCanvas: HTMLCanvasElement, result: Array, drawOptions?: DrawOptions) {\n const localOptions = mergeDeep(options, drawOptions);\n if (!result || !inCanvas) return;\n if (!(inCanvas instanceof HTMLCanvasElement)) return;\n const ctx = inCanvas.getContext('2d');\n if (!ctx) return;\n ctx.lineJoin = 'round';\n for (let i = 0; i < result.length; i++) {\n ctx.strokeStyle = localOptions.color;\n ctx.fillStyle = localOptions.color;\n ctx.lineWidth = localOptions.lineWidth;\n ctx.font = localOptions.font;\n if (localOptions.drawBoxes && result[i].box && result[i].box?.length === 4) {\n // @ts-ignore box may not exist\n rect(ctx, result[i].box[0], result[i].box[1], result[i].box[2], result[i].box[3], localOptions);\n if (localOptions.drawLabels) {\n if (localOptions.shadowColor && localOptions.shadowColor !== '') {\n ctx.fillStyle = localOptions.shadowColor;\n // @ts-ignore box may not exist\n ctx.fillText(`body ${100 * result[i].score}%`, result[i].box[0] + 3, 1 + result[i].box[1] + localOptions.lineHeight, result[i].box[2]);\n }\n ctx.fillStyle = localOptions.labelColor;\n // @ts-ignore box may not exist\n ctx.fillText(`body ${100 * result[i].score}%`, result[i].box[0] + 2, 0 + result[i].box[1] + localOptions.lineHeight, result[i].box[2]);\n }\n }\n if (localOptions.drawPoints) {\n for (let pt = 0; pt < result[i].keypoints.length; pt++) {\n ctx.fillStyle = localOptions.useDepth && result[i].keypoints[pt].position[2] ? `rgba(${127.5 + (2 * (result[i].keypoints[pt].position[2] || 0))}, ${127.5 - (2 * (result[i].keypoints[pt].position[2] || 0))}, 255, 0.5)` : localOptions.color;\n point(ctx, result[i].keypoints[pt].position[0], result[i].keypoints[pt].position[1], 0, localOptions);\n }\n }\n if (localOptions.drawLabels) {\n ctx.font = localOptions.font;\n if (result[i].keypoints) {\n for (const pt of result[i].keypoints) {\n ctx.fillStyle = localOptions.useDepth && pt.position[2] ? `rgba(${127.5 + (2 * pt.position[2])}, ${127.5 - (2 * pt.position[2])}, 255, 0.5)` : localOptions.color;\n ctx.fillText(`${pt.part} ${Math.trunc(100 * pt.score)}%`, pt.position[0] + 4, pt.position[1] + 4);\n }\n }\n }\n if (localOptions.drawPolygons && result[i].keypoints) {\n let part;\n const points: [number, number, number?][] = [];\n // shoulder line\n points.length = 0;\n part = result[i].keypoints.find((a) => a.part === 'leftShoulder');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'rightShoulder');\n if (part) points.push([part.position[0], part.position[1]]);\n curves(ctx, points, localOptions);\n // torso main\n points.length = 0;\n part = result[i].keypoints.find((a) => a.part === 'rightShoulder');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'rightHip');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'leftHip');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'leftShoulder');\n if (part) points.push([part.position[0], part.position[1]]);\n if (points.length === 4) lines(ctx, points, localOptions); // only draw if we have complete torso\n // leg left\n points.length = 0;\n part = result[i].keypoints.find((a) => a.part === 'leftHip');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'leftKnee');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'leftAnkle');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'leftHeel');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'leftFoot');\n if (part) points.push([part.position[0], part.position[1]]);\n curves(ctx, points, localOptions);\n // leg right\n points.length = 0;\n part = result[i].keypoints.find((a) => a.part === 'rightHip');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'rightKnee');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'rightAnkle');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'rightHeel');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'rightFoot');\n if (part) points.push([part.position[0], part.position[1]]);\n curves(ctx, points, localOptions);\n // arm left\n points.length = 0;\n part = result[i].keypoints.find((a) => a.part === 'leftShoulder');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'leftElbow');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'leftWrist');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'leftPalm');\n if (part) points.push([part.position[0], part.position[1]]);\n curves(ctx, points, localOptions);\n // arm right\n points.length = 0;\n part = result[i].keypoints.find((a) => a.part === 'rightShoulder');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'rightElbow');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'rightWrist');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'rightPalm');\n if (part) points.push([part.position[0], part.position[1]]);\n curves(ctx, points, localOptions);\n // draw all\n }\n }\n}\n\nexport async function hand(inCanvas: HTMLCanvasElement, result: Array, drawOptions?: DrawOptions) {\n const localOptions = mergeDeep(options, drawOptions);\n if (!result || !inCanvas) return;\n if (!(inCanvas instanceof HTMLCanvasElement)) return;\n const ctx = inCanvas.getContext('2d');\n if (!ctx) return;\n ctx.lineJoin = 'round';\n ctx.font = localOptions.font;\n for (const h of result) {\n if (localOptions.drawBoxes) {\n ctx.strokeStyle = localOptions.color;\n ctx.fillStyle = localOptions.color;\n rect(ctx, h.box[0], h.box[1], h.box[2], h.box[3], localOptions);\n if (localOptions.drawLabels) {\n if (localOptions.shadowColor && localOptions.shadowColor !== '') {\n ctx.fillStyle = localOptions.shadowColor;\n ctx.fillText('hand', h.box[0] + 3, 1 + h.box[1] + localOptions.lineHeight, h.box[2]);\n }\n ctx.fillStyle = localOptions.labelColor;\n ctx.fillText('hand', h.box[0] + 2, 0 + h.box[1] + localOptions.lineHeight, h.box[2]);\n }\n ctx.stroke();\n }\n if (localOptions.drawPoints) {\n if (h.keypoints && h.keypoints.length > 0) {\n for (const pt of h.keypoints) {\n ctx.fillStyle = localOptions.useDepth ? `rgba(${127.5 + (2 * pt[2])}, ${127.5 - (2 * pt[2])}, 255, 0.5)` : localOptions.color;\n point(ctx, pt[0], pt[1], 0, localOptions);\n }\n }\n }\n if (localOptions.drawLabels) {\n const addHandLabel = (part, title) => {\n ctx.fillStyle = localOptions.useDepth ? `rgba(${127.5 + (2 * part[part.length - 1][2])}, ${127.5 - (2 * part[part.length - 1][2])}, 255, 0.5)` : localOptions.color;\n ctx.fillText(title, part[part.length - 1][0] + 4, part[part.length - 1][1] + 4);\n };\n ctx.font = localOptions.font;\n addHandLabel(h.annotations['indexFinger'], 'index');\n addHandLabel(h.annotations['middleFinger'], 'middle');\n addHandLabel(h.annotations['ringFinger'], 'ring');\n addHandLabel(h.annotations['pinky'], 'pinky');\n addHandLabel(h.annotations['thumb'], 'thumb');\n addHandLabel(h.annotations['palmBase'], 'palm');\n }\n if (localOptions.drawPolygons) {\n const addHandLine = (part) => {\n if (!part) return;\n for (let i = 0; i < part.length; i++) {\n ctx.beginPath();\n ctx.strokeStyle = localOptions.useDepth ? `rgba(${127.5 + (2 * part[i][2])}, ${127.5 - (2 * part[i][2])}, 255, 0.5)` : localOptions.color;\n ctx.moveTo(part[i > 0 ? i - 1 : 0][0], part[i > 0 ? i - 1 : 0][1]);\n ctx.lineTo(part[i][0], part[i][1]);\n ctx.stroke();\n }\n };\n ctx.lineWidth = localOptions.lineWidth;\n addHandLine(h.annotations['indexFinger']);\n addHandLine(h.annotations['middleFinger']);\n addHandLine(h.annotations['ringFinger']);\n addHandLine(h.annotations['pinky']);\n addHandLine(h.annotations['thumb']);\n // addPart(h.annotations.palmBase);\n }\n }\n}\n\nexport async function object(inCanvas: HTMLCanvasElement, result: Array, drawOptions?: DrawOptions) {\n const localOptions = mergeDeep(options, drawOptions);\n if (!result || !inCanvas) return;\n if (!(inCanvas instanceof HTMLCanvasElement)) return;\n const ctx = inCanvas.getContext('2d');\n if (!ctx) return;\n ctx.lineJoin = 'round';\n ctx.font = localOptions.font;\n for (const h of result) {\n if (localOptions.drawBoxes) {\n ctx.strokeStyle = localOptions.color;\n ctx.fillStyle = localOptions.color;\n rect(ctx, h.box[0], h.box[1], h.box[2], h.box[3], localOptions);\n if (localOptions.drawLabels) {\n const label = `${Math.round(100 * h.score)}% ${h.label}`;\n if (localOptions.shadowColor && localOptions.shadowColor !== '') {\n ctx.fillStyle = localOptions.shadowColor;\n ctx.fillText(label, h.box[0] + 3, 1 + h.box[1] + localOptions.lineHeight, h.box[2]);\n }\n ctx.fillStyle = localOptions.labelColor;\n ctx.fillText(label, h.box[0] + 2, 0 + h.box[1] + localOptions.lineHeight, h.box[2]);\n }\n ctx.stroke();\n }\n }\n}\n\nexport async function person(inCanvas: HTMLCanvasElement, result: Array, drawOptions?: DrawOptions) {\n const localOptions = mergeDeep(options, drawOptions);\n if (!result || !inCanvas) return;\n if (!(inCanvas instanceof HTMLCanvasElement)) return;\n const ctx = inCanvas.getContext('2d');\n if (!ctx) return;\n ctx.lineJoin = 'round';\n ctx.font = localOptions.font;\n\n for (let i = 0; i < result.length; i++) {\n if (localOptions.drawBoxes) {\n ctx.strokeStyle = localOptions.color;\n ctx.fillStyle = localOptions.color;\n rect(ctx, result[i].box[0], result[i].box[1], result[i].box[2], result[i].box[3], localOptions);\n if (localOptions.drawLabels) {\n const label = `person #${i}`;\n if (localOptions.shadowColor && localOptions.shadowColor !== '') {\n ctx.fillStyle = localOptions.shadowColor;\n ctx.fillText(label, result[i].box[0] + 3, 1 + result[i].box[1] + localOptions.lineHeight, result[i].box[2]);\n }\n ctx.fillStyle = localOptions.labelColor;\n ctx.fillText(label, result[i].box[0] + 2, 0 + result[i].box[1] + localOptions.lineHeight, result[i].box[2]);\n }\n ctx.stroke();\n }\n }\n}\n\nexport async function canvas(inCanvas: HTMLCanvasElement, outCanvas: HTMLCanvasElement) {\n if (!inCanvas || !outCanvas) return;\n if (!(inCanvas instanceof HTMLCanvasElement) || !(outCanvas instanceof HTMLCanvasElement)) return;\n const outCtx = inCanvas.getContext('2d');\n outCtx?.drawImage(inCanvas, 0, 0);\n}\n\nexport async function all(inCanvas: HTMLCanvasElement, result: Result, drawOptions?: DrawOptions) {\n const timestamp = now();\n const localOptions = mergeDeep(options, drawOptions);\n if (!result || !inCanvas) return;\n if (!(inCanvas instanceof HTMLCanvasElement)) return;\n\n face(inCanvas, result.face, localOptions);\n body(inCanvas, result.body, localOptions);\n hand(inCanvas, result.hand, localOptions);\n object(inCanvas, result.object, localOptions);\n // person(inCanvas, result.persons, localOptions);\n gesture(inCanvas, result.gesture, localOptions); // gestures do not have buffering\n\n /*\n if (!bufferedResult) bufferedResult = result; // first pass\n else if (localOptions.bufferedOutput) calcBuffered(result); // do results interpolation\n else bufferedResult = result; // or just use results as-is\n const promises: Promise[] = [];\n promises.push(face(inCanvas, bufferedResult.face, localOptions));\n promises.push(body(inCanvas, bufferedResult.body, localOptions));\n promises.push(hand(inCanvas, bufferedResult.hand, localOptions));\n promises.push(object(inCanvas, bufferedResult.object, localOptions));\n // promises.push(person(inCanvas, bufferedResult.persons, localOptions));\n promises.push(gesture(inCanvas, result.gesture, localOptions)); // gestures do not have buffering\n // await Promise.all(promises);\n */\n result.performance.draw = Math.trunc(now() - timestamp);\n}\n", "/**\n * Module that analyzes existing results and recombines them into a unified person object\n */\n\nimport { Face, Body, Hand, Gesture, Person } from './result';\n\nexport function join(faces: Array, bodies: Array, hands: Array, gestures: Array, shape: Array | undefined): Array {\n let id = 0;\n const persons: Array = [];\n for (const face of faces) { // person is defined primarily by face and then we append other objects as found\n const person: Person = { id: id++, face, body: null, hands: { left: null, right: null }, gestures: [], box: [0, 0, 0, 0] };\n for (const body of bodies) {\n if (face.box[0] > body.box[0] // x within body\n && face.box[0] < body.box[0] + body.box[2]\n && face.box[1] + face.box[3] > body.box[1] // y within body\n && face.box[1] + face.box[3] < body.box[1] + body.box[3]) {\n person.body = body;\n }\n }\n if (person.body) { // only try to join hands if body is found\n for (const hand of hands) {\n if (hand.box[0] + hand.box[2] > person.body.box[0] // x within body for left hand\n && hand.box[0] + hand.box[2] < person.body.box[0] + person.body.box[2]\n && hand.box[1] + hand.box[3] > person.body.box[1] // x within body for left hand\n && hand.box[1] + hand.box[3] < person.body.box[1] + person.body.box[3]) {\n if (person.hands) person.hands.left = hand;\n }\n if (hand.box[0] < person.body.box[0] + person.body.box[2] // x within body for right hand\n && hand.box[0] > person.body.box[0]\n && hand.box[1] + hand.box[3] > person.body.box[1] // x within body for right hand\n && hand.box[1] + hand.box[3] < person.body.box[1] + person.body.box[3]) {\n if (person.hands) person.hands.right = hand;\n }\n }\n }\n for (const gesture of gestures) { // append all gestures according to ids\n if (gesture['face'] !== undefined && gesture['face'] === face.id) person.gestures?.push(gesture);\n else if (gesture['iris'] !== undefined && gesture['iris'] === face.id) person.gestures?.push(gesture);\n else if (gesture['body'] !== undefined && gesture['body'] === person.body?.id) person.gestures?.push(gesture);\n else if (gesture['hand'] !== undefined && gesture['hand'] === person.hands?.left?.id) person.gestures?.push(gesture);\n else if (gesture['hand'] !== undefined && gesture['hand'] === person.hands?.right?.id) person.gestures?.push(gesture);\n }\n\n // create new overarching box from all boxes beloning to person\n const x: number[] = [];\n const y: number[] = [];\n const extractXY = (box) => { // extract all [x, y] coordinates from boxes [x, y, width, height]\n if (box && box.length === 4) {\n x.push(box[0], box[0] + box[2]);\n y.push(box[1], box[1] + box[3]);\n }\n };\n extractXY(person.face?.box);\n extractXY(person.body?.box);\n extractXY(person.hands?.left?.box);\n extractXY(person.hands?.right?.box);\n const minX = Math.min(...x);\n const minY = Math.min(...y);\n person.box = [minX, minY, Math.max(...x) - minX, Math.max(...y) - minY]; // create new overarching box\n\n // shape is known so we calculate boxRaw as well\n if (shape && shape.length === 4) person.boxRaw = [person.box[0] / shape[2], person.box[1] / shape[1], person.box[2] / shape[2], person.box[3] / shape[1]];\n\n persons.push(person);\n }\n return persons;\n}\n", "/**\n * Module that interpolates results for smoother animations\n */\n\nimport type { Result, Face, Body, Hand, Item, Gesture, Person } from './result';\n\nconst bufferedResult: Result = { face: [], body: [], hand: [], gesture: [], object: [], persons: [], performance: {}, timestamp: 0 };\n\nexport function calc(newResult: Result): Result {\n // each record is only updated using deep clone when number of detected record changes, otherwise it will converge by itself\n // otherwise bufferedResult is a shallow clone of result plus updated local calculated values\n // thus mixing by-reference and by-value assignments to minimize memory operations\n\n const bufferedFactor = 1000 / (Date.now() - newResult.timestamp) / 4;\n\n // interpolate body results\n if (!bufferedResult.body || (newResult.body.length !== bufferedResult.body.length)) {\n bufferedResult.body = JSON.parse(JSON.stringify(newResult.body as Body[])); // deep clone once\n } else {\n for (let i = 0; i < newResult.body.length; i++) {\n const box = newResult.body[i].box // update box\n .map((b, j) => ((bufferedFactor - 1) * bufferedResult.body[i].box[j] + b) / bufferedFactor) as [number, number, number, number];\n const boxRaw = newResult.body[i].boxRaw // update boxRaw\n .map((b, j) => ((bufferedFactor - 1) * bufferedResult.body[i].boxRaw[j] + b) / bufferedFactor) as [number, number, number, number];\n const keypoints = (newResult.body[i].keypoints // update keypoints\n .map((keypoint, j) => ({\n score: keypoint.score,\n part: keypoint.part,\n position: [\n bufferedResult.body[i].keypoints[j] ? ((bufferedFactor - 1) * bufferedResult.body[i].keypoints[j].position[0] + keypoint.position[0]) / bufferedFactor : keypoint.position[0],\n bufferedResult.body[i].keypoints[j] ? ((bufferedFactor - 1) * bufferedResult.body[i].keypoints[j].position[1] + keypoint.position[1]) / bufferedFactor : keypoint.position[1],\n ],\n positionRaw: [\n bufferedResult.body[i].keypoints[j] ? ((bufferedFactor - 1) * bufferedResult.body[i].keypoints[j].positionRaw[0] + keypoint.positionRaw[0]) / bufferedFactor : keypoint.position[0],\n bufferedResult.body[i].keypoints[j] ? ((bufferedFactor - 1) * bufferedResult.body[i].keypoints[j].positionRaw[1] + keypoint.positionRaw[1]) / bufferedFactor : keypoint.position[1],\n ],\n }))) as Array<{ score: number, part: string, position: [number, number, number?], positionRaw: [number, number, number?] }>;\n bufferedResult.body[i] = { ...newResult.body[i], box, boxRaw, keypoints }; // shallow clone plus updated values\n }\n }\n\n // interpolate hand results\n if (!bufferedResult.hand || (newResult.hand.length !== bufferedResult.hand.length)) {\n bufferedResult.hand = JSON.parse(JSON.stringify(newResult.hand as Hand[])); // deep clone once\n } else {\n for (let i = 0; i < newResult.hand.length; i++) {\n const box = (newResult.hand[i].box// update box\n .map((b, j) => ((bufferedFactor - 1) * bufferedResult.hand[i].box[j] + b) / bufferedFactor)) as [number, number, number, number];\n const boxRaw = (newResult.hand[i].boxRaw // update boxRaw\n .map((b, j) => ((bufferedFactor - 1) * bufferedResult.hand[i].boxRaw[j] + b) / bufferedFactor)) as [number, number, number, number];\n const keypoints = newResult.hand[i].keypoints // update landmarks\n .map((landmark, j) => landmark\n .map((coord, k) => (((bufferedFactor - 1) * bufferedResult.hand[i].keypoints[j][k] + coord) / bufferedFactor)) as [number, number, number]);\n const keys = Object.keys(newResult.hand[i].annotations); // update annotations\n const annotations = {};\n for (const key of keys) {\n annotations[key] = newResult.hand[i].annotations[key]\n .map((val, j) => val.map((coord, k) => ((bufferedFactor - 1) * bufferedResult.hand[i].annotations[key][j][k] + coord) / bufferedFactor));\n }\n bufferedResult.hand[i] = { ...newResult.hand[i], box, boxRaw, keypoints, annotations }; // shallow clone plus updated values\n }\n }\n\n // interpolate face results\n if (!bufferedResult.face || (newResult.face.length !== bufferedResult.face.length)) {\n bufferedResult.face = JSON.parse(JSON.stringify(newResult.face as Face[])); // deep clone once\n } else {\n for (let i = 0; i < newResult.face.length; i++) {\n const box = (newResult.face[i].box // update box\n .map((b, j) => ((bufferedFactor - 1) * bufferedResult.face[i].box[j] + b) / bufferedFactor)) as [number, number, number, number];\n const boxRaw = (newResult.face[i].boxRaw // update boxRaw\n .map((b, j) => ((bufferedFactor - 1) * bufferedResult.face[i].boxRaw[j] + b) / bufferedFactor)) as [number, number, number, number];\n const rotation: {\n matrix: [number, number, number, number, number, number, number, number, number],\n angle: { roll: number, yaw: number, pitch: number },\n gaze: { bearing: number, strength: number }\n } = { matrix: [0, 0, 0, 0, 0, 0, 0, 0, 0], angle: { roll: 0, yaw: 0, pitch: 0 }, gaze: { bearing: 0, strength: 0 } };\n rotation.matrix = newResult.face[i].rotation?.matrix as [number, number, number, number, number, number, number, number, number];\n rotation.angle = {\n roll: ((bufferedFactor - 1) * (bufferedResult.face[i].rotation?.angle?.roll || 0) + (newResult.face[i].rotation?.angle?.roll || 0)) / bufferedFactor,\n yaw: ((bufferedFactor - 1) * (bufferedResult.face[i].rotation?.angle?.yaw || 0) + (newResult.face[i].rotation?.angle?.yaw || 0)) / bufferedFactor,\n pitch: ((bufferedFactor - 1) * (bufferedResult.face[i].rotation?.angle?.pitch || 0) + (newResult.face[i].rotation?.angle?.pitch || 0)) / bufferedFactor,\n };\n rotation.gaze = {\n // not fully correct due projection on circle, also causes wrap-around draw on jump from negative to positive\n bearing: ((bufferedFactor - 1) * (bufferedResult.face[i].rotation?.gaze?.bearing || 0) + (newResult.face[i].rotation?.gaze?.bearing || 0)) / bufferedFactor,\n strength: ((bufferedFactor - 1) * (bufferedResult.face[i].rotation?.gaze?.strength || 0) + (newResult.face[i].rotation?.gaze?.strength || 0)) / bufferedFactor,\n };\n bufferedResult.face[i] = { ...newResult.face[i], rotation, box, boxRaw }; // shallow clone plus updated values\n }\n }\n\n // interpolate object detection results\n if (!bufferedResult.object || (newResult.object.length !== bufferedResult.object.length)) {\n bufferedResult.object = JSON.parse(JSON.stringify(newResult.object as Item[])); // deep clone once\n } else {\n for (let i = 0; i < newResult.object.length; i++) {\n const box = (newResult.object[i].box // update box\n .map((b, j) => ((bufferedFactor - 1) * bufferedResult.object[i].box[j] + b) / bufferedFactor)) as [number, number, number, number];\n const boxRaw = (newResult.object[i].boxRaw // update boxRaw\n .map((b, j) => ((bufferedFactor - 1) * bufferedResult.object[i].boxRaw[j] + b) / bufferedFactor)) as [number, number, number, number];\n bufferedResult.object[i] = { ...newResult.object[i], box, boxRaw }; // shallow clone plus updated values\n }\n }\n\n // interpolate person results\n const newPersons = newResult.persons; // trigger getter function\n if (!bufferedResult.persons || (newPersons.length !== bufferedResult.persons.length)) {\n bufferedResult.persons = JSON.parse(JSON.stringify(newPersons as Person[]));\n } else {\n for (let i = 0; i < newPersons.length; i++) { // update person box, we don't update the rest as it's updated as reference anyhow\n bufferedResult.persons[i].box = (newPersons[i].box\n .map((box, j) => ((bufferedFactor - 1) * bufferedResult.persons[i].box[j] + box) / bufferedFactor)) as [number, number, number, number];\n }\n }\n\n // just copy latest gestures without interpolation\n bufferedResult.gesture = newResult.gesture as Gesture[];\n bufferedResult.performance = newResult.performance;\n\n return bufferedResult;\n}\n", "/**\n * Embedded sample images used during warmup in dataURL format\n */\n\n// data:image/jpeg;base64,\nexport const face = `\n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`;\n\n// data:image/jpeg;base64,\nexport const body = `\n/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAsICAoIBwsKCQoNDAsNERwSEQ8PESIZGhQcKSQrKigk\nJyctMkA3LTA9MCcnOEw5PUNFSElIKzZPVU5GVEBHSEX/2wBDAQwNDREPESESEiFFLicuRUVFRUVF\nRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUX/wAARCASwBLADASIA\nAhEBAxEB/8QAGwABAAIDAQEAAAAAAAAAAAAAAAEDAgQFBgf/xABDEAEAAgECBAMECQIDBgUFAQAA\nAQIDBBEFEiExE0FRBiJhcRQjMkJSgZGhsWLBJDNyFSVTY3OSNEPR4fAHFjWCokT/xAAYAQEAAwEA\nAAAAAAAAAAAAAAAAAQIDBP/EACARAQEBAQADAQEBAQEBAAAAAAABAhEDITFBEjJRIhP/2gAMAwEA\nAhEDEQA/APqYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAKNTq8OkxzfNkisQC8eb1XtRNbzXT4q7eU2nu0MntRq/D8StMccvW29ZmdvgjsTyvZjxOLj\n+s8WLxn8TFPXs6Oj9oct7c14rkxz22nrB2I49KOdTjelmszfmpMeUxv/AA28OqwZ4icWWtt/SUi4\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmdo3nsPNe0Pt\nFh09Z0+DNWL7+9O/7A3eJcZppsV5raI27esvH6jX5ddM25p79Ilo59VbUZOe2Tm/PeGvfPfT2iKR\nPLv1+DO678XmW/a97U6TtOyzTbTF538/T9WjTNecm9a7126tqk3rSYxY5ta1plRZqZNXGjyZcPXl\nmZmsx+qjBrsuO16xM7eXRt04JrdTltk5OWJnfaWf0a2lty5MdZnfzSn+WOHiOutFpjHa9e8bQ2fp\n+alYy462pk7zXbuxjPesbRS0f6ZZV1ET1tErzXFLHo+A+1ddZf6NrI8PJHa1vN6iJi0bxMTHwfOa\nzhzd61v1846utwniM6DUdb3nBaNrVmd9vjC/ZVePYirBqMWppz4rxaPgtEAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAItaK1m09ojcHnvarjM8P0vh49+a/eY8ng9D\nh1fGM1rxjtGPfvbzdbjuTJxHX48cTPNltM/KsS9Dw7S49Jp6UpHaGe2vjz1y9J7LYK13vHWe7bj2\nex1tvM80ekuxW3RnW3Vm6P5jRx8H0+OYmMcb+bapo8GKPdpC6bQwtdHU8JpWkdJ/JweL6e23iU67\nd4dubSqyVi9Zi0bwIs68XGp36TtEq7ZJmZmevzdbifCKWtbJinkt6eTgZPFw32t+sRurbWVzxs1y\nRv6T8V1NZNPtfq0seTm+Kevr+SZuxXjvaPiV8N4viycto9HseG6+uu08W6Rkj7UPmFck1tE1nlmP\nLd3eA8V8HVVi1pjq6Ma/pnqce/ERMTETHaUrKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAADW19+TQ5p/p2bLS4v04Zmt5VjeQeJ4bjnLqsupv+Ka1+ERLv4reTmcNxcuC\nvy3l0qdI2hlr66sT02ot0ZV7qqrInruzrVZLGSZ37JjqgYTG0K5lbaFVhDT1Ub456RPweY4hixWi\neSdpjvD1eWejz3FNHWYtkpvFo9EIseb3tS3SerOms22rfpPqZKzvvHSYUz70TExG6Gdbs2rljeJ/\nMx5L0vEzPaelnOi98c9J2bFNTFpit47+a+PVUvx9T9nOIfT+GV5p3yY/ds67wvsXqpxau+G09Lx+\nr3TqrEAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADV4ljnLw3U0jvO\nO0fs2lWqyUw6XLkyfYrWZkHldBEV09eveG3Fq1mI3jd4vPrOIaid8G9MP3Y38k6fNrt/rMk9Ou8s\ntfXXn49rGWInuy8SO/k5Gl1E3rG/fzbOe94wTy99mbRvTrMOOvNfJWsesywniukrG/jU6fF43WYN\nTmtEeJtEQ06aSmK2+bNtEd+qfSO17unF9Hmvy1y13XWyVmN4tExLxVK8PmNq5NrT58zawam+m/yc\n0Xj8NpRYSvQZ7xEOdqI3rPozxayNRXe0ct/ON03jmrKB5nV4q1yTO20Obmv4c+cx8HoeI6WZpNoj\nq83niYmYscU0r8aJ6T1n49zeJ+Meqm1drb9J+Kd5p136StGVem9l9TbHxLDFp7W7+sS+q1nesT6w\n+PcAzVjiGHftzQ+v4f8AJpv6On8jH9ZgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAABp8VrW/C9TW0ztOO3b5Nxp8VmI4bn37TWYB8f1HFtTfUfR9FWJmsdZ9I7MtJxDX5s\nd8ta1y0xzteaR2277rcuhycP12SceLxMeWNpjttHwlu8I0mfQ1y+D7k5YmJmY36T36Ka43z/AF1t\ncI1ds+qxVj7/AEej19PCw9HJ4NoK4OIU5Y35YmZdzVTGebVZabx5jJS+Tmns81rNLm1Wrzc9rVw4\nYibbem72mXTTS0w0M3BvEta1bWrM95ie5EanY87wXgNOL6XPfxraXLhra/W28bR/dzYzarBqJxRe\nbzE7Rt5vWU9n8mPHOGmS0Ypnea1naJb+k9ncNLR7u2y/WcxXO4TOoyUrN6zD0FaW5Y3hu49FiwUi\nKxCvLMR0hlW0jn6ukWw3iXjOJzbDlneOj3GaN6zDzfFOH+LE7SRGo83XNSZ2lbG2/WfdlvaT2cy6\nrNFInlrv1mfJ37cK4PwTTxOoidRm2+/2/KFuyMp47XB4LivXiunrH2b2iH2qn2K/J8x4fGDNxTSZ\n9Nh8OviRvTyfT6xtWI+DeXs9MNZubypASqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAOZx6/LoOWPvWiHTcf2hiZ0e8fc2mf1E5+vP/AEeuSd7RC2uKtI6QjHfeINTfwtPf\nJvty9WPfbt/lucP03gxfJf7d/wBoReYpm97zaNeLb4Ims9Nt94auDjem1Wo5PFi1onylS+1o7l8V\nbxvtupjDMdNkYtXS1+Stt+m63xImEJ4xjHER2ZxMUjeUTO3VRmydBbjLJqPi08mbeVOXJPq1sl5Q\nVbkz9+rRy35rxHqzmZlVEe/Ez5LRlW5iyfR6zffaIjq1OSNZps2a21rZInafSPJhxGMl9LStLRWM\nlorM/A4dkrWbYfLZC2W/7K6eubX6b4RzT+W76K8b7G6X62cu3Sten59nsm3j+OXz3/0ANGIAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0OIYfpOHPijvNNo+fdvtXJO18k/\n/OwPFYbz2ls3jx8VqW6xMdWPEdP9D4lkx/dt79flLLHbkxTPwY6nt2512ORTRzE2x4/dpE7cvkme\nE4IrW3hRMxO8THRtU1FKWtvtvK2upx22rzRCtXkqzh2jtF7ZbT122b01ndnpuWuP3Z3+Ky20qDVv\nfauzVy3mejZzNK8dVjqi87KLRLYtXruqvXzkQp7Qoid88R6rcl+WGlW0/Sa22mfhCZOq2x082ix6\njkm822pO8VrPdr4dNObVeDo8XW3uzMbzK+mvxT7szE27cvnu9j7PcNjSaXx8mOIzZevbrEeic5tN\n+SZnpt8J4fHD9HXHO3PPW0x/DeBtJxx29vaAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAKNRim9Z5e89Nl4DzXtVh5babURHrSf7f3ec1+qnDorWrvvt5Pccb0n0zhmWk\nRvevv1+cPE2rGTFNZU26PFfxwa5dVkjelI2772nZnX6bbrEUq3o0d678u8wmuDL2ittvVjXdneeK\ncGv4jpJ6U56+kS7+j118+GLXpakzHaWlp9NNY3tv+bbiYiNoQy1y30uyZJlrWmZnuym6q1iIJnop\nyW2Te8bdWnnypQqzZOadokiIpSZntWN5lrxki19vNRxrUeBwnNNd+fJEY6/OejXLn3Xe/wDp9wyn\nE8uo4lqqxblv7lJ26T6vpD5X7G8QycKzeBMbzMRM1/FH/wA/h9QwZ6ajDXLitvWzRgsAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeL45w+dDrZvWv1OWd4+E+j2jX\n12jx67TWw5Y6T2nzifU+rZ1y9eHwzDYxxEy18+DJodXfT5o96vafWPVbjyxDn1OOzHudbM0rt2UW\niI69mVtRXZq5tREb9VUoy2iIlRbJ0UX1VZ6btTLrI7V6yk62M2oisT1c7JmtkttVMUyZp6x0beDS\nRWOvdKijDimvWd3G9pNRMfRcNfvZOb9Hpb0itJeP47k/3hgjaZnbaP1XxWW3T0movbNS0W645nbf\n0nrMPpXs3xamoxdJiLbe/X1n8Uf3fKsOTw4jbaXo+EarJhtGTHMxeJ6xH7Sti9Zaj6x3HM4NxXFx\nDS1mtoi8dJrv2l011QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAGjxLhODieOIye7kr9m8d4eM4to9RwjPXFa0ZIvG9bR0fQXmPbDFvTTZPOJmEWS/V8bs9R43NxLL\nG8eFbePg1bajU5/s0l1ceKLx1hbjwRE9mOpx0y2uRTSZsm3PMw2aaKtIjo6kYo9EXpET0hVLXxYK\nxC6MZvyx1lFs0RHfaPiCnU12pLyHGNDbUajBekWma2npWN3p8+opa20e9LSyZLxExTlpM+vdOdcZ\na9tPS8MyUvFrzWlI6727u1pYxYrbVmb7x+TQx6au3Nqcl7/0rcmW9axGnwZJj1novmxnZXV0fFp4\nZxLBPgTGK8xzXr5fOH0bFlpmxVyY7Rato3iYfNuG2x56Wrqa8s2jz+7Lu8O12bS6jkwzN6THNNI6\ntvrN68Y4rxlx1vHa0bskAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAA4XtTTm0OKfTJ/aXdcL2pyRGjwU362yb7fkJz9eTxxyZJjyltRXzUZK7TFtl9Lbwy06YzrHwa+\nfJFd/wCVt8m0bQ0eS2qzcm+1K/an+zNZFL5M1pjFXeI72ky48eGnPkvNp27+TPU6nHpMfLXaIjpE\nerk5dRMxOfN1mPeisfshW1ne1a1577Y6x5R3U0zze31FOWI6ze0byU098kRlzbxM9qrMlPDpyRMR\nMd5Vt/Ihp5898mWZm1pjftE91uCt7fCI7dWeHDEW3t723l6rslqxWZnasR+SYhFbzhnfxJ2jyeq9\nlcGXWZcmW0zWKxHLaI7794eJx5fpfEKabT8t8l5isddo3l9S4VjrwrRUwzSJt3tav3pdOL6Y6dXD\nj8HFWm+/KsU4NRXPvtWazHquWVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAa+fXYNP9u8b+kdZBsDkZOO135cWOZn4y5Wu4xqctbe9y19Kp4njt6vi+PDm8DFMWybbzPlV\n5PiGtz67UxbNbeKTtWIjaIXYpnwuaftT5tXJT3vmi1pMsrU5qIrG1V1a+5DCa7b9GFbRr5J6Wnbt\nCu+Wmk0m8956z8ZWZNorbfzcbX5rZslazPux3hUt41NTntktObJ13+zX1bek01r4/HzVm0bxPXy/\n+bNfDgjVa2uOY92kdfg6ufJOKvLXtttVVSqbcta2vM7zXtHpLQy5ZtMd+vWd+7Zy3mdJHXra3f0c\nvUarw7zFY5rT2hH1Lavnrgx81p3U49Pk4nE5L35MO/StfNRXR5tXnrS8W67WvfyiPSPi7uLHFK1p\njrtSsbR5Lc4RzsXBaYreP4l45esRD2HD9fnw6evvWvO3Tfr0aGk0U55ra0TFInv6uzgrXFXlx0i0\n77RPlC83Yj+JW7oddqr6vHzTTw9/f6dod+L1t9m0T8pcbFSmPHER3892W0zPuz+jSbVvidkcqmfP\nSel7bekrI4n4dZnPWIrHeYnZee2Wpy8dEaml4npNZblw5qzb8M9JbYgAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAABEzFYmZnaI7yCXL1XGa0jJXT0571nbee27DiXEprp8nhbxG20W8\n5cbD0ikfnKO+urTPvjoZdXqctdsmTaPSvRpWmsdZ6yztfaGplvv3lWW1tyRlz1x0vkn7Vo5atTNe\nY0+1o79V2KsZsvX7Ne5mwxnyTNvsx2iGneM/rCdRSuOsTasTt5kRFtpjqmOH4t4nk7estiMNa97R\nHwhna0iuKTEdmGWa4672nZtRele1N59Zlq6vLOSsYorEc07qcW65euzRvtXvPZy52naZ7ujr6fXV\nrWdukREK8+njHgmZmPc67bq6ivVWhxxgxZLztNrT1mZ/SP4VZs0zaOvfp84WUtNsXLvtv3699+rU\nz7+Jtt5qURqMnPpctaR1rMSw4ZoK57eNk6xHaJRh97Ltt7lo5Z+L1HAPZvVauZ2nFTSzMTzeJEz8\nto6xPfvsZntPZ9rXxabmxzefdrv0j1dXh/BcmstW1qxTHHasR3+b0GPhGl+kWmd64dNEVjf73T7X\ny8vy+Ddx6O3iRakxTH5RXrMw1/lX+3Itw2MFIraN48qRHdZi0cUjmmPen9noox1iO0fNzdXEYrTt\nstcmd9aX0bJ+HePmiKTitO8TMLZ1cVjrMfqpz6ys4pjfrPRWZ9rXXptUit6zO+23VyaRHEc05L1/\nw9J9ys/en1ljqdVbwYw452tlnl3jyjzbmmiMeKtYjpEbLeTXPUU8ee/+qjJpsV5rbkrFqzE1tEbT\nDpYNbW21Mnu29fKWna0KbqTdjXXjld0cvQ63ltGHNPSfs2n+HUbS9c2s2UASqAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAOVxPWe99HpP8ArmP4b+r1EabT3yT3iOkesvMVtN7za07zad5l\nXV5GmM9vVfEstvDx0jtaVVMlq+UJ18b5cMRvPeSuK87bUt+i2Z3PtG7zXpjkzXt6R+TXyTMzvM7t\nydHqZ+zhv1+Cv/ZuqvPTHMfOYaTMil1a1K2vHSLTELq2v+KWzThGo84rH5rq8JzedqR+ZeI7WnOS\n34pYTafWXR/2Pln/AMyrKOCWnvmiPyR6O1y9585lhWJvl557Q6eo4T4dYiMvW3b3UanhldHpJtGX\ne09unmjsT7eb1l4trI2t0hsZfrdNO0bzy+nzU20/+NmkzO9esz+TZxWis9dttvPv+Tn21jjaW8zn\n26bTG3mp1M/Wzv3t0jyWXiKZJmsTERaZhXXDbNl8WaztWenxZLstPp5pau8frDtVrNMM5cfTfpMf\n3aunxxbes9d/R09Dp8ebJi09ptFr3jtt2WyrW9wy1Jx132mK+Xq9PotT0iIU19ntLtExa3T47T+q\n6nBaYvsZstZ+cT/LeMnUi0TXffo1s2m8Ws2/OIMWk5Jib5L328rS2t94Sh5TV4ppklpW6PT6rh+P\nNbebTHyas8E081mZy5P2W6OFhjxNTE/hr/LoRO0Kvo9dPqctKzMxEx1la5t3tdnjnMs4noievcrO\nyZjeFF1OSnNV0OG62cn1GWffj7Mz5w05joovzY7xes7TE7w0xrjPeex6Ua+j1UarBFu1o6Wj0lsN\n3JfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACrU5o0+nvlt92P3BxuM6nxNRGCs+7Tv8\n2hToxm1r3m9utrTvMsonqyt7XTmcja0u3O6FMfi5t/u0/lzdJM81p9O3zdvHTwsUR5+bfPqOfX1h\ndqV+3O7bs1+T31oqmI3TEM4rvCdkDGIIhlFd2daboS0NXG2bD6bufxXU1vlmu/u4us/N0+L1tTSx\nkr9qk7w89j1FNZMV3jxLzvaJ8mer+LSOZqK2xZotbvljfr/89U453rXt9lse081xZtNjx7TGKu0t\nDHlrevSevaN5Y6+tJ8c7VRNMt63n3ub+6/R54rERMztDYy4a5omclYmfxKcenrjtHLvtPrCnVmdb\neFe3JXmjy6eS/DrMuLVYsta9Mdt++6qLxO+0dEc8UmInr18iUfReHcXrqccb9Z27Q61Lb13eJ9nc\n1Z35rTvE9avY4bTkpG8xEfB05vYxqybc07R281naGMREdoT5JQqy9mply7Q3bV3iXG1eXw7TWSka\nc258t7+tpT5/BjT7MfHqndz12Z+M4lMMKyziUJJiN1WSu9fku23RaOgKNJqbaTU1t9yelo+D0cTE\nxEx1iXmM1Nt3W4PqvFweDaffx9vjDbGvxz+TP66QDRiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAOJxzU73rp6z296zsZMkYsdr2naKxvLyObNOfNfJbvad1dXkaeOdpvsc2yuZVzfbfqybutwu\ns5s8R92J3dvJb3tnO4HSMegtmt3nfZvYp8SZl0z45NfSK7onH1bNcfRFqnUKJr0Y7dVtq7prjEsK\n0XVpEM6028mW20IHK41aPo3J6zs4ODhdcvPnvExFevNXpMOrxi/PlrTee7PLX6Pwa09uaNlKtHg9\ndM3z5d7ReOu02nu0JzZMfblrv5R5uvrcdImZ26T1mYhxs1Os7RH93PZ7axuafNfLitvbaYU3yZYt\nPXs9NwHhui1HBa5LVicsb81onrEuVqNNSuS8Y67dZ6xPZa59Il9uX41vEitImZme3q2Kxbxora0T\nMd/ROSa4Ztkj7c9OafL5LuGYubmyX3iu/TfbdSfVnpvZLT/XZK233+Mbbva1xRXyiPk8pwbH4N6T\nadq5a71n0tD1WDL4tPe6Xr0tDpz8YVnJHWEXYxbqlBedoef4tW0XraO09HdyztSZcbUz43C+ee9b\nSVMaeOfqq7+jGckQ1Yz7+7v2RN/WXPXZPjci2+2yyJaVMuy+uSJlA2d+pNoVRbeDcSxyTE+TDDlt\npdRXLTynrHrDOyiyZeVFnY9TjvXJjres71tG8MnJ4Nqt4tp7T1jrV1nRL1x2cvABKAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAHJ49qfD09cNZ97JPX5PPw2uI6j6Vrsl/ux7tfk1mWr7dOM8iLdm\nvfebREefRsWldw7SxqNbWbR7lPesrn3Vteo7dYjDpMGCvfbeXQ0uLlxRLRxROfUc34p6fCHYrXlr\nEejqrjY8uzCYW7MZjdVKqK9VlaxCYrsnYExBMRMJRPZA8/xPHtmpP9W2xx76vhWOInvt/C7ike7N\nvwzE9kcapGfhlevTaFbFo8RqJ5vy8/RoW09ek0msxHfp3dzNoLzp4zUmZpMbT8HJyYJi20X2n0lh\nZY1li/RaidBF4w2mK3jrHaFGp1lN+tptPp5IjBkid5mIp16TKu0abBPv33vPlM7z+iPdFNcWXU5I\ntkrNce/b1W5db1nTaf3ax9q0fxDW1ebNk2phty1mOu09VOm8W19orEz23j1TwfSeERFuEYMddptW\nd43dvBn21eKJ75KbW+cf/JcTgMxXTb3nbljz+TpcPmc2uyZO1KRtVtGVdi0bx07qJnllsRO6rNTe\nN4XVamsy8mnvPwc3R2jPwe8TPbdlxXNOPSZfhWWpwO85OFzv57qrODkzeHntSe8Sn6Rv0a3EZ218\n8nXekfr1a0ZLVnqx19dWb6demXybOO7lYMvNMdW9S/VVLo0us7tPHdtUtEwJiZU3jq2Jhham8CVG\nPNODNTJXvWd3qcWSubFXJWd4tG8PK3pPd1OB6veLaa89Y61/u2xfxh5c/rsgNHOAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAANLimq+i6O0xPv392rdeZ4rq/pOqnlnelOkIt5F8Z7Wj27I2I6sb25YY\nV1ImY3dbQ08LRc23vZp2j5OJG+XJWle9p2h6HHtbJXFT7OOIpX+7TxT31j5rycdTh+Dpz+XaG/sw\nw18PHWseULN2trBE9UcrJKBhFU7JAQi0dEomegNDUYovM7x3jb5tO1ZvpbaTLtzRExWfWPJ08kbT\nEx5NXWYYyV5omYtHWJieyeDzuizfRs19Jn6TM7Ru1uMcJxZqTkw+5f4ebqa7SV1MR4tdrx2vEfy1\naxqsNOTLjnLXytVXi3Xj8+nmsxTLM16d5npPyUzpekTtSK+U7vS6vQ/SYmK1vWPS1HOn2dvvvvE/\ntDO5XlcO+LbfHSd/W3o6/BdDOXPTnj3Kz38rS6Wm4FNrRyRzTH3p6RH/AKvR8L4dXSzE3jmtHn5I\nmbfqLV+m4dbLSsZInHjr3iI6zLpYaxS01rHuxHRHiT9mv6s67Vj1aqL6326MrWiYa+/Q54BxPaGe\nXRZpj8MquB4+Xg8zPnB7SX30to379GxpK1xcHiKz5IS8xr8PLPixH2bftLTy05o6dHYyVjLhy0t1\nizjZa3pMVv3iO/qz1G2L+NbSajbNyW7xLsY8kTDz+fJXFqKZN4iZnafi6WHL0iYlStI7OO+7axW2\ncrFl7dW9jvE9ULN+J3ZbdFGOy+AYWpEqN7afNXLj+1Wd23KrJVMvCzseh0+auow1yU7WhY4fCdV4\nOadPefcvPuz6S7jol649Tl4AJVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAV581NPhtkvO0R+4NPi2\nr8DB4dJ9+/7Q83Po2NTqLanNbLfvPaPSFDHV66sZ5ET0hRknyW2lTtMyouz0c8usx2n7s7vScKwx\nzc1vu/y85p+maJh6Th+SOWeveXR4/wDLm8v+nX5mUWa9bbrInolmu5jdTNkxYFk2Isr3TuCzeGMz\n+THdEyDDJO9Ja823rt2XWnya946pGvktDXta0ztWu/ybvLE9dkcoOf4GbJPWK1j49VmLh9JtE33v\nMevb9G7WsW8l1ccREISophiJ2jpDYpijbaOjOuOJ8ujOdqxsgVcsUjaETYvbaFFrgu5lVsm0yUtu\nryg43H5m+GIj1XcJzePoL4pnrWGtxmfchr8JvfHS1622if3QljzTTLes+qrNjrkiYtCzPMxnm095\nYZJ6boS5teB49Tqscza97VtvWvlv8V/FOF34RrIxTM2xXjelp/eHoeA6XnzReY3ivX/0dfivDcfE\n9HbDbaLx1pb0lOs+jO7K8Lis3cN+0NKcd9PmthzV5clJ2mF9J9GHHVL108dm1SznYr/Ft0tuhLb8\nmNohFbMhLWy0mJ3rPXvDvcO1karBG8/WV6Wj+7kWrvDDBlvpdRGSnbzj1hpjX4z8mOx6UYYstc2O\nuSk71tG7Ns5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZ2jeXneJ62dVl5KT9VTt8Z9W9xbWclPo+O\nfft9qfSHEU1pv48ftYST23ZTDC/p0YtlVuvVjMbM5+LCZjYGWGdrTPxiHY4ffaf3cjTxz1v6xMS6\nOlty2iXVj/Dk8n+ndrkhnGRo1v8AFdW3RCrZ5uiYsqrboncSu508yjmZRYQt50TfowYTbYGVrKrT\nuTZjvukQnYhMIGVY2ZxPVWyrHVCWzXpVXkt3TE7Va+W4K7X3jv1auTNy3jdba0RZpamfroQN7Hk3\n6wr1GTaN2OOJiu6Mu98NvgDi8Wy74d/yZ8PiPAiO2zU4nb6qIn1bugjfFE/ASp1ke9u15mbbRDZ1\nMb823kx0Ontn1OOkedoJCvT8I03gaKsz9q/WW+isRWsVjtHRKyrhe0XCfpWL6Vgr9fjjrEfeh5fF\nfeH0V5Dj3DPoOo+k4a/U5J6xH3ZZ7z3228evytOk7NvFbo0cdols47bSybt7HbddHVqUs2aW3Qnq\nxVeu8LILR3SlZw3V/R8nhXn6u0/pLuPMXjeHT4Zruf6jLPvR9mZ8/g1xrvpz+TH7HUAaMAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAABRq9VXSYJyW79qx6yvmdo3l5viGs+maqYrO+OnSvx+KLeLZz2te1rZL2v\ned7WneZYWnZl5K72YV1xEyxmeqJljzIEWlVkszvbZp5soN3h2SJz3pP3odCnuWmPRxuERfJrZmtZ\nmtY96fR28kbX3dXj/wAuTyf6bmK+9YX1s0cNtm3Sd4LFY2K23W1s16StiUJW7bp22RW3RluBuruz\nmWEgrmCGWyNkoExKE1QlPmsqRDKeyBjaejWy2W3ttDUyz1QKslvehVqKTNosyyTvELabXptIJpaP\nB39Ia2mz+JGpr51jdZefDx2hzuHZObNq58poJaGtjxJ2+LoaKP8ADRPo5+T3skx5OhpOmC0fBNQ0\n5yTbn+bt8A0u9raiY6RHLVwY62mI6zMvaaHBGn0mPHt1iN5+aYVsACBXqMFNTgviyxvW0bSsAeE1\nmkvw7V2w5Ote9besJx2er4rw2nEdNNekZa9aW9JeQjnxZLYskTW9Z2mJY7zz26fHrrdpbZsY7NGt\nmxjvso1b9NmUwpx33XRO4K7VUTE1nmrvEx1bVo2VWiJE/XY4frY1WPlt0y17x6/FuPM0m+HJGTHO\n1qu9pNVXVYt46Xj7VfRtnXXL5MfzexsALsgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHM4jxOMFJphmJv529Dq\nZLfjDjPEIx450+K3v2+1MeUOHSOWFc3nJkmZnf4yujpVlqunOeFpV2nctLCZUXRM7MJtsWlRkv3Q\nky5NmpWt9RnrixVm17TtEQnJabXisRMzPSIew9n+CRoccajURvqLx5/chfOest642OGcIpoOG2w7\nROW9d72+LQvXevyejcPUU5M+SvpLeOataraw2a0dLbLqTtK1G3Es4lVWWUSoldFtmcXUbpidgXzK\nGEW3TuCUSncnsDFMMLSms9EC6J6FpVzbZE5ALy0809ZbFr9GtfrEoFMzuuwz0Ueey3HbaBLDXe7i\ntMOfwWnP9I+NZbuttvhs1uBRtXPb4SDm3iIvf57N7Dbl0VrS5+XrltEd+Z1Jx7cNms9N4TURRw3T\n+PrcO3WszEvZOD7P6aYiMlvu16S7y1QAIAABxOPcLnUY/pWCv1tI96I+9DtgmXl68Biy7/NtUu3+\nO8HnFa2s0tfd75KR5fFyMWTdhrPHVnX9R0cd21S3Rzsdm1iuqs256wrmGcT0RYSx5d047X02SMmO\nesd49YRE9WcdSXhZ2O1p89NRji9J+cei1xMc3wXi+KZj1j1dTTaqmor06WjvWW+ddcu8XK8BZmAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAMMmWmKu952UZ9XFZmuP3revlDTtzWnmvO8q3XGmfHb9ZanV3yxtWeWn7y4es\nvPNtDqZJ6Ts5mppvdl/XXRMyfGvSNlu/RVvtOzLfoipLT1VTKbSpvfogRkvtDVyZOhkyvQcA4Dzz\nXV6yvTvTHMfvK+c9U3rkW+zvA/D21urr789cdZ8vi9KDb45rejl8Rry6iJ/FV1HP4vXbBTJEfYt1\n+UpiHM295bXsqrO9l8QkZ0lZEqqLeyBZHZLGvZkhIndADKJ3TMoqWQMZ6pjsxll2jsCLSrmU2lFY\n36gieyu0LJk3jbsga0wdqzK20QpyztQGprL/AFMrOE05NLkt6qdVWZxNrSe5o9vWBLiUjnzXn0vL\nq555dHt8HOwV928/1z/LpzXxbYccRvzTB+jucOwxh0dI22mY3ltIrHLWIjyjZKyoAAAAACJiJjaY\n3iXleM8InR5J1GniZw2n3oj7s/8Ao9Wi9a3rNbRE1mNpifNFnVs65XhcWTdt47bnFuF24dm8TFEz\np7T0/pn0a+HJux1OOrOux08d1ndqY7tillVkzExLOk7yd4YxGwluViJhE45raL0na0dtlWO0+bZr\n1TKi+2zptZGTamT3b/tLacvJjiY3XaTWdYxZZ6/dtPm1zrv1z78fPcbwC7EAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABhkyV\nxUm152iAZWtFazNp2iGhm1Vss8uP3aevnKrNntqLdelI7VRHRnrX/HRjx/tZREVjZXeybW6KbWZt\npCZ6S08tN7Nmbb7zCrJtyoS5145bSx5mWafelr3tsKmS/o08uXyhlly7RPV2+AcBnPNdZrK+53pS\nfP4ytnPVda4y4BwHxOXV6uvu96Unz+MvVxG0bQRG0bR2G0nHLb2gCUDX12LxtFmpHeazt82wT1gH\nmMN4tWs+rcr2aEV8DU5sM/cvO3yb+O0csLUTSdrLphRE8tlkZI7Atr2ZMazDJVKTYSCawi7Ksq7z\n1QERvLK3ZGPrKbyCrbdnMcsbeaa18/RhvvM7oGEwTG0JmYYTIML22a2e28xELM19oURPNO4lOem+\nn3ZY5+prVnMc2GYU4/L4A0a15cNf6rz/AC6fC6+NxCPOuOu/5tHJTbHj+F5/l1+BYumXJMd9o3/d\nMRXYASgAAAAAAABhlxUz4rY8lYtS0bTEvH8R4ffhmo6bzhtPu29Pg9mq1Gnx6rDbFmrzVsizq2df\nzXkMWTeIbNL7tbXaHLwzUctvexWn3bmPL8WFnHVL326VZ91MfFVjvvVlz79kLrcf2m7j7bNHH3bl\nJ2SirLQoy4t1++7G0dBC/RanxI8PJPv18/WG241+alovSdrV6w6mDNGfFF4/OPSW2b1zeTPL1aAs\nzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAVZ9RXBTe3WZ7R6iZOpzZq4ac1p+UermZMl89+a/byj0Ra9815ted59PQ32hlrXXRjH\nDpCLX6ML5NlNsm/ZRqstfdXzbsZt06sLZNvNB1Za8RDWyZdo7q8udq5Mu/mIMt4md2lmy7JzZuWJ\ndHgfBL8RvGo1MTXTxPSPx/8AstJ1XWpIs4BwSdbeNVqq/URPu0n73/s9hEREbRG0QUpWlYrWIisR\ntER5JbSccur2gCUAAAAPM8Sry8Uyz67fwuxbzVPGsE49XGbvF42V4M0TEL33ERnktsxpk3sumK2j\nadmFdPFZ33VS2Mdui2J3UU6LYlFSsN2O5NkCyJ6K7T1TEsbAsxdpReerKkTFGMxvYEz0rsqtbbpC\nb2VT1QEzuwtbaGUxspuJU3neWdKoiu8rq12gCI92YatLcublnzbEz1aOptyZqTuDHLfxN6R0+t5X\nqdJhjBp6UiPLeXl9NSMnEKxHa1+bb8nrlvxUAAAAAAAAAAABTqtNj1eC2LLXeto/R43VabJw/VTh\nydY+7b1h7ho8V4dXiGlmvbJXrS3xRZ1fGv5rzeHN02bEW3cys3xZJx5ImtqztMS3MeTeGFjqlb2O\n8btql3NpbZtYsnSBLeiWfdTjtutid+ghherHS5p0+f3vsX6T8Fkw181d4lMvEWdnHaGnw/UeNh5L\nT7+PpPxbjdyWcvAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAo1Oprgr63ntAmTqdRqK4K9etp7Q5d7Wy2m953lNrWyWm953mVd77R0\nZa1104xxlN9lV8qnJl2a9s3xUXX2ybsJyRDWtl3YWydEC+2VRkzeW6q+T4tbJm+KRdfK1cmWZnlr\nvNp7RC/R6HU8SycmCk7ed57Q9ZwvgOn4fEXtHi5/O9o7fJaZ6z1uRyOEezVstq6jiEbV71xevzer\nrWtKxWsRFY6REeSRrJxz22gCUAAAAAANbX6aNVpL0npMRvWfSXlKamsRMVvXm+EvZXjmpaPWHzfL\noNRjzXicfWJ8phfPxFejx72x7xMzK+sXiNoiXlq+Pi6fWV/VfTNqfLJl/WTg9Pji8R70LqvMV1Gq\nj/zcv6yz+lanzzZP1lWpelTET6S81Gp1P/Gyf90s412rjtnyfqql6asREdWM9+jz9eJ6yP8Az7uh\nodZqMt458tpB1JvEViI3/RhzRt13/R1MNaziiZiJn5K9ZNceKZiIiQcu/WekT+iYrWI3lzdTrs+8\n8uW0fJzcur1Np/zsn6g79phVaIeetqNR/wAXJ/3SwnUaj/i5P+6UD0ldonum161h5mNRqP8Ai5P1\nlNtRqJjacuT9Qd22WN5aGeZyZd/KHJy59RHbLf8AVq31Gp/4uT9ZEvS8Lr/vSs2npzRtL1z53wK+\noza/HW2XJNd99pmX0Rb8VAAAAAAAAAAAAAAcHj/C5yV+l4I9+v24jzj1cLFk8nu5jeNpeW41wmdL\nknU6ev1Vp96sfdn/ANFdTrXG+eq1q5F2LLtbZoY8m8d11bbSydErsYsm+zZrO/zcnBm226uhiyRK\nEtrvCrJDOJTeu8A1MWX6Lqq5N/dnpb5O5ExMbx2cPNTeJb/DM/iYPDtPvY+nzhri/jDy5/W6AuwA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAa2p1UYo5adbz+xbxMlvqJ1OqjDHLXree0ejmzNrWm953tPmTPWbWneZ7yoy5YhjrXXTjH8s75N\nmtkyxt0VZM2/m175N1V03yTKubMLXVXybeYLLX2VXy7eam+b0bOg4VquJW+rry4/O9uyZOq3UjVm\n9r25axMzPaIdvhns1kzbZddM0p5Y47z8/R2+HcF03Doi1a8+Xzvbv+TotJnjDXkt+K8ODHp8cY8N\nIpSO0RCwF2YAAAAAAAAACvUZYw6fJkntWN3k8dfHz2vLucdz8mkjFE9bz1+UOZosX1UzPm0nqI/W\nMYo9FlcPNklfFGeH/NshLGun+Cz6PtHZtVZWlRLS+jxPkRpIn7rdoupHTdA5s6SI+7H6Mfo+32Y2\n+To3neSIiZ7A0IjPXpXLePlMotGW3272t85datKzHZjbTVnsDj+FG/2Y/RlGP4R+jo20u7H6N1Ql\no+H8I/REY957R+jpfReiK6eOYHLtj2tttH6KrY/6Y/R2c+kjeJiFVtLG24hxpw7/AHY/RRkw9O37\nO99Hrt1YX0tfOBLjcGp4XF8c+u8fs9c4dcVcGemSI61nd3IneN1orQAAAAAAAAAAAAABFqxes1tE\nTE9JiUgPKcX4RbRXnNgiZwWnrH4XPi28PdXpW9JraImsxtMS8pxXhF9DecuGJtgmf+1TWW2N/la1\nL7N7T5e3Vy6W3hsYcvLbqzbO9jvvCzvDR0+XeO7crO6FmGSvRThy/RtVXJ92elvk2rRvDUzU7pl4\nizsd2J3jeBpcNz+Lg5LT7+Pp+Xk3W7js5eAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADs0NTrN96Yp6edkW8Wzm6+LNTq4pvTHO9vOfRoWtt\n1mes95YWvs1s2fZldddOczLPLn2ju0MmebT3YZc2/mpm3qqllN1drsbZIhr3yzvtHf4AsvlYYseb\nV5Yx4KTe0+UQ6nDvZ3UazbJqd8OKeu33peq0eh0+hxcmnxxWPOfOfm0mP+steT/ji8N9mKY9suum\nL37+HHaPm9DSlaVitKxWsdohI0Y22gAgAAAAAAAAAABXnyRhw3yT92Nwef4xm8bVzET0rPJH5d12\n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\nAOZE/OsPS29nuH27YrV+VpeV9pdPXhOtw49NG9Mld55+vXcTPd42I47qo7xSfyWV9oM8d8VJ/VxM\nd8l46xWF9cV7en6o/qLfxp2I9ob+eCv/AHMo9op89P8A/wBORGmyT5R+qfo2X8P7n9Q/jTsx7RR5\n6ef+4/8AuHftg/8A6cWcOSO9J/WEbWr3pY7Efzp2Lcfv5YK/9zWy8d1E/ZpSv5Oba1/+Hb9lc+LP\nbFt87I7E/wAabWbiurvEx4nL/pjZzc2bJkn372t85ZXx55/BX85lucC0vPxnTxlnnjm32mOiZqUu\nLJ2p4TwnVavNWaYbRTfre0bQ99pcH0bT0xb78vmtiIiNojaErMwAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAHnfarF7umzRHaZrLjYrdIen9ocPi8JyTt1xzF4eUw23rCm3R4r6bMy\nwt6kdTaWLdjswmNoZontsCm0K5XWjopnuDC0dGpqG5bs08/daKV672MjbSaif6oh6Z5f2LtvptRX\n0tEvUN3Jfo8f7cYve0eX4zV7B5z20xc/C8eSPuZIRficfXlcPaG7ino08HWIbePpLF2NuiyOyrHK\n3fZFSwuovHVfaVF4QK5YWTM9UT0EKry6Ps1Tn4zjn8NZn9nOtLseydObiWW34cf918fWfk+PYANn\nKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAq1WKM+ly4p+/WYeBxTNd6zG0xO0\nvobw3FcP0bi2em20Tbmj5Srr418V9sa2Z7qKyzi07MXUylhaU7yjqhLCeiq3ddaFNxFYW7NLNG8t\nzya+WO6Va9J7FW66mvwidnrXiPY3Ny8RyUn71Jj9Ht3RPjk19HK9pMHj8D1ER3rHN+jqqtTjjNps\nuOe16zAifXzfTz7kNyndpYazS9qT0mszDdoxrsi6m8LazMq6zDOsq1ZEyrt1WWlXaUCqyq0rbKbi\nFdp6PReyFd8uqv8ACsfy83aXrPZHHto89/xX2/SP/dpj6y8vx6EBq5gAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAB5n2q03LfDqqx39y39npmlxbS/TOG5se29tuavzgWzeV4mtui2\nO3RRSY2hdVhqO2MvI36iu9lUsrSrvDHn6spnmSiq5jooyV6tq1VV69RC32byTh43h8otMx+r6I+Z\naK/g8TwX7bXh9Mid4iW+fjl8n1ICWb57xLBOm4zqse20Tbmj8+qKdnS9q8PhcTw5tumSm0/OHMxz\n0Za+uzx3sX1t0Zxurr1ZxvspWiZYWZbsbT0QK7KLrZVZJFaqt5vbezNOTg9J/FaZeJns93wCvLwb\nT/GJn92uGHldIBowAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADuAPA67F9H4l\nqMW20VvO3yRWW97T4fC4rXJHSMtI/WGhVlue3b473K2KzMML4+62tujG9pnozXaOSOVFMnVbmq1t\ntrJRW5E7wwvUxTvCyY6CHOt7moxz6Wh9PxTzYaT61h8x1MbZK/OH0zTf+Fxf6I/htj45vL9WgLMn\nmvbPFvocGWO9L7fq85p5maw9d7VYvE4JkmPu2if3eW0+PasdFNOnxfF1Y2hlykRsmY+LJ0MZjZXa\neq2eyi8oQTO0KLdZWzPRjWu6VaqtHR73g0bcI0sf0Q8Nkq93wqNuFaWP+XDTDDytwBowAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAef9q8HNpcGaI60vtPyl56k9Iew49j8ThGe\nPwxFv0l4zH2U26fDfTYiyJljvsjf4sm6vJ1hrXjq2MkqLdZEVbgbMx0auGdmzNt6iHN1Ub5af6of\nTdPG2nxx6Vj+HzaaTm1+nx/iyVj930ysbViPRrj45vL9SAuyc7j1efguqj+jd4/T33rD3HEcPj8O\n1GP8WOY/Z4TTT7sKadHhbcsZnaCJ3TPZk6VdrKbTutmP0U2nqgrGOsr8deiuI2X09EqKM1dt3uuG\nf/jdN/06/wAPE546S9rwud+Gaaf+XH8NMMPK2wGjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAABrcRp4nDtRWPPHP8PCYusPoWSvNjtX1iYfPuWaXtX8MzCuvjfw32siu8ptXoxi\n0wy5t4YulReqmazu2skbquURWFInddM7VYRGyL291KFnCcfj8e0le/Lbmn8n0N4b2Ur4nHLWmPsY\n5e5a5+OXyXugBZmiY3iY9Xz7NjnTa3Ph/BeYj5PoTxftFg8Hjk2iOmWkW/Psrr418V5WrWd2faFc\nV2jdnEMXWxntupmN7NiYU27iWML6dVMVnddjgVqMsdHr+CW5uE6f4Rt+7yuSsTDv+zWXn0WTHP3L\n/tK+GHl+O0A1c4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8Dn93W56/wDM\nt/L3z59qp24jn+OS38lnpr4r7ZxHQ2TEstt3PXUrt27K57rr1VT0BjKnJPRbMqMs7QlV2fYvHvrd\nVknyrEfu9m8f7FZI8fVU85iJewbT45NfQBKo817W4eulzxHaZrL0rje09ItwqbfhtBVs3leai8RD\nKLw1sduesL606dWFdsZT1jdhNeq6K9DlhCVUU6s4jZnt1YzAhnM71dH2bycmszY/K1d/0c6OzY4R\nfwuK4p8rTstn6z8k7HrwGzkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHz3\nVxvr80/8y38voTwGpj/F5/8AqT/JfjTx/WVeyY6FPspc9dZPVXaOq2WEwIUTVRmjo2rNfLHRI3vZ\nDJycXtX8dZh7t879nsnhcbwz23tt+r6I2nxyb+gCVBzuPY/E4PqI9K7ui19fTxNBnp60n+Aj5/pJ\n3jZu1aOnnltMNussdfXbm+l3ZM9URHREdZVXTuT1Nk7boQiOkJw28PU47/htEp5eivJPLMTCZ9Vv\nx7mJ3iJ9UqNHk8XR4b+tIXuhxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD\nweqjbWZ4/wCZP8vePCaz/wDIaiP+Zb+UX408f0r9lOxWOifJhXWjfyYWllPRXYQxnrCrJHRd3YZI\n6A1NJecHEsN/S0T+76bE7xE+r5dk93LW3pL6ZpMni6PDf8VIn9m2fjm8s9rgFmQxvHNS0esbMiew\nPnHLyai9fS0w2aNfUTtrs3+uf5bGPqy068fF227KtSsdFlKqNGMV6myyY6sbdIQI8tlOWOi6Jhhk\nj3RD0vA8nicMx9etZmHRcT2Zyb6XNT8N9/2dt0T449T2AJVAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAHhdfG3E9TH9cvdPEcXjk4zqI/q3L8aeP6xr2TsxpLOekMK6mFo6qpXSrm\nOqBixvHSVmzC4OfqK7S9/wAByeLwbTW9K7fo8Fqo6Paeyl+fglI/Da0NcMPK7QC7AAB8313TiOf/\nAKk/y2MHWrX4jG3E9R/1Lfyv0/aFNOrHxuU7LI7MMayGTVlHWUXhNe6Z6wIUsb9d1m20q7dkDpez\nN9tRqKT5xEvRvKez9+Xis1/FSYerb5+OTyf6AFlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAB43j9eXjN/jWJ/Z7J5L2mry8Upb8VIF8f6aGOey2eynHvOy7bowrrYSxZSwQJ2YXZ\n92N4BoanrEvVexmTm4blr+HJ/aHltRHSXofYm/1Wrp5RaJaYY+X49WA0c4AD51xONuKan/qW/lbp\n+0MOLRtxbU/9SU4J7KadWPjep2WQrr2WRPRk1TvsndXMpiRCb9FNu0rbTuqvKBscCjfi9PhWZeue\nV9n434rafTHL1TfPxy+T/QAszAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHmv\navHtfTZfnV6VxPajHzcNrf8ABeJFs/XnMcr4no18c+6vr2YadkY2YM57sEDLyY37Mo7MMnYGlqO0\nvQ+xNfqNVb1tEfs87qZ2rL0/sVX/AHdnt65P7Q0wx8vx6UBo5wAHz/jUbcX1PT78qtO2vaCnJxjP\n8Zif2amnnspp04+OjWejKJ6MKdmcMmyJn4m5ZHzEVPMwtJv0VZLbQDqezcb8RzT6Y/7vUPM+ytZt\nn1OTyiIh6Ztn45N/6AFlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABocbxeLw\nnUR5xXm/Rvq8+OMuDJjntaswEeBxT0bNZ6NatZpNqz3rO0rqsdO3PxlaWEMpY+aqWXkryT0ZT2V3\n7A0dVPuy9f7G124NM/iyT/Z4zWT7sw957MYfB4Fp4/FE2/WWmGHldcBowAAeM9qKcvFeb8VIly9P\n0nq7ntbTbVYL+tJj93CwT76unR4/jo0nozhhTsy3Y1sWljM9Ce7HyQIm3RRlttVbaWrnt0Sh6n2U\nx8vD8mSfv3/h3XN4Bi8Lg2nj8Uc36y6TeOPXugCUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAPD8RxeBxXUU26Tbmj8+quro+02Lw+I4ssdslNvzhzazvDPbq8d7GW7Dfqz2VzG\n0s2qd+iu/Zn5Ksk9BVztX1mI8930zh2LwOHabH+HHWP2fNYp4+vwYvxXiP3fUqxtWIjyjZtj45/L\nfaQFmQADzftfj3w6fJ6WmHmsP23rvaqnNwqLfhvEvIYZ+sV038bo0noy36MK9oZQxrdMyrlnMbMZ\nQKrS1M07zEestq/RRjr4utwY/wAV4j91p9V18fQdJj8LR4ccfdpEfsuREbREJbuMAAAAAAAAAAAA\nBAJAAAAEAJEAJQAJQAJEAJQAJQAJEACUJAQlAJEAJQAJQJAAAEAJEAJBAAAJAABAJEJAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwvanDzaPFmjvjv8A\ntLztJ3h7HjGHx+FainnFeaPnHV4vFbeIU038VbHeGF+kso7Mb9mTdhKnLK3dRm7SIrHhGPxeP6Sv\n9cT/AHfSnz72Zx+J7Q45/BWZ/Z9BbZ+OXyfQBZQABzeP4/E4NqI9Ii36S8Ng/wAx9C4jTxOH6ivr\njn+Hz3B/mQi/GvjdCnWNlsdI2V07LIlg6USrt2ZzZXMoFV+zPhGLxeOaavpbm/RVltEN72Yx+Jxm\nb7dKUmf7L5+s9/HtRA2cqRACRACRACRACUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQCQQCRACRACRCQBCQBCQB\nACRACRACRACRACL1i9LVntMbPATTwdRkxT3pea/u+gPE8Xx+DxrPHlaYt+qNfGvjvtXXsi0dOrKk\ndEXjZg6VMtbP2bMtXUdpEV0/Y2nNxbNf8OP+727xvsXH+N1U/wBEfy9k3nxyb+gCVQAGOWvNivX1\nrMPnGGOXNNfOJ2fSZ6w+dZKeHxDPX8N7R+6L8a+L63KdoZ7q6zvEMpnowdKJ6ywmWUyqvIKM0vQ+\nx+D6rU55+9aKx+TzWa36vbezmDwODYenW+95/Nphj5L6dQBo5wAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAEiAAAEoA\nAAAAAAAAAAAAAEAkEAkRuAkQbgkQAkQAkQAkQAl5T2nx8nEMOT8dNv0l6pwfarHvpcGWPu32/WCr\nYvK4mOem6b9mGKd4Z3idmFdka0y1c892zfpMtLPaNpEV6D2Kj/Eauf6YeweQ9ieuTVz8K/3evbT4\n5NfQBKoAA8FxCvJxrUx/XMvevD8Zry8fz/Haf2RfjTx/6RSOnRMyypHu9kXjowrqVSrvPRnZVl6V\nkK0775MsUjvadn0nT4ow6bFijtSsVfPuFYvpPGtNTy54mfy6vorXDm8l9pEC7JIgBIgBIgBIgBIg\nBIgBIhIAgBIhIAgBIgBIIBIAAhIAhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAA\nAAAAAAAAABAJQkAEAAAAAAAAAAjc3BIjdG4Mkbo5kcwMjdhzHMDPc3V8xzAs3N1fMjmBZubq+Y5g\nWbm6vmOYFm5ur5jmBZubq+Y5gWbm6vmOYFm5ur5jmBZubq+Y5gWbm6vmTzAz3N2HMnmBlu5ftFTx\nOEZJ/DMW/d0t2rxKni8N1FPWkiZ9eS08e7Cy8dGGn6UhZaJljXZGnmc3UT3dPP2cnUT78xCIV6j2\nH/8A9c/6f7vXPI+w8bU1U+vL/d63du5NfUiDcVSIAS8b7RV5eOb/AIqRL2TyXtNX/e2KfXH/AHlF\n+NPH/pr4+2xcxx0hFpY11K7R16KM32ZWz3UaidqSgrc9kcPicWyZJjfw6T+727y3sXh2xarN+K0V\nh6lvPjj3e0ASqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAAAAkQAkQAkAAAAAAAAAAAAAAA\nEgAAAAAAAAAAAAAAAAAAAAAgAAABKDcAN0bgkY8xzAyRux5kcwM9zdXNkTcFm6OZXzMeYFvMibKu\nZHMC2bo51U2RuC2bom6rc3BZzom6sBZzI52ADPnOdggFnMc6skFnMc6rc3BbznOp3RzAv50c6nml\nHMC/nOf4qOY5wX85zqOc5wbHOc7X5znBsc6edr85zg2ec52vzpi4NjmY5bROG+/bllVzsNTk5dLl\nn0pP8BHmMHWNmzt0aum8obm08vVjfrtnxztR0mXHzTvaZdjVRMTLkZo6yiFen9iZ2pqY/wBP93rN\n3kPY+/LfPX1rE/u9XzN3HfqzdO6vmTuIZ7m7Hc3Bnu8t7TR/vHBP9E/y9Pu837SV31umn+if5Rfi\n/j/01MMb1hjkrtKzBG0bMsmOZY11tOYamr6Und0LUc7XT7u3rJPqL8er9lcPhcFpbzyWm39v7O00\n+FYvA4Zpsc94xxu227jv1IAgAAAAAAAAABKAAAASgASgBIgBIgBIgBIhIAAAAAAAAAAAAAAAAAAC\nUACUJAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAg3AEbomQZbo3YzLGbAz3RNlc3YzcFs2YzdVN2\nM2Bdzom6nmNwW86JurTAMuY3REJ2BB1ZRVMVBhsbSsiqeUFXLucq3lTygp5TlXcpygp5TlXcpygp\n5TlXcqOUFXKjlXcrGYBXysdlswiYBVMdUTCyY6sZBWxlnMMZgGLGZZSwkDdHMiWO4MuY5mEyjcFn\nN1OdVzHMC3nTzqeY5gX85zqOZPMC+Lqdbk20eb/RKOZr8QybaK/XvtH7iZ9aGlp2luzT3fg19NHS\nOjbmPcYX67XH1XSZ9XIzRvMuzrK7zLkZYmYnciunb9lZ5dTk+OP+71cXeP8AZnJ/ip2nf3J/l6iL\n/Fu5L9bMWZczXi6YuIbEWTzKIuyiwLt3nuO25uI4a/hx7/rLuczg8TicvFLbfdpEK6+NPH/phhjo\nstLGkctUWnoxrrU3j1cnWTzZq1jzl1clo5Zcu8c+txR63iP3Tn6pv4+g4o5cVI9IiGe7CJ2iE7t3\nGyN2O6dwSINwSISAlAAlACRAAlAAlACRACRCQAAAAAAAAAASgASISAAAAAAAAAAAAACQAAAAAAAA\nAAAAAASAAAAAAAAAAAAAAAAIAAAQCAJljuljsCJlhMs9mOwMJYys5TkBVsjZdyHICrZPKt5E8oK4\nqmKrOVOwMIqyirPY2Bjyp2ZbAI2NmSARsbMgEbI2ZAMdjZICNkbMkSCNmOzJEgx2YyzljMAwlhKy\nWEwCuWErJhhMArlhLOWEgxljMpljIImWMyTKJA3N0IBO5vux3NwZbnMx3NwZczT4jf3MdPW27a3a\nfJOq1XNP2KdIRfi+J2trSYfcjeF+Wm1OicVeWIiN9kai8xjY12ORqultnI1Ecsujq79XP1FovWYI\nrTgeq+j8QrWZ+3Mx+r2UXeC0WG2Ti2kiN5mL807eUREvbzbaejefHJv62Iv8WUXa0WTFhVtRdlF2\nrz9WUXBtc7jR9dqc2T1ttHyhvZMvJitb0jdq6XHNcNenWVN3028U99WRj6Kb02be3Tq18/SN2Lpc\n3UdN9nOmZrqKX/DaJ/d0svvTLRzV3jomK6+Pd1vvWJj0ZczT0mXxNJht60hfFnQ4qu3N1cWTEgs3\nTur5k7gz3N2O5uDM3Y7m4MtxBuCQASIASIASAAAAAAACRCQAAAAAAAAEoSAAAAAAAAAAAlAAlCQA\nAAAAAAAAAAASAAAAAAAAAAAAIASgAAAEJAQJQCNkbMgGOyOVnsAw5TlZ7GwMOVPKy2NgY7GzIBGx\nskA2AAAAAAAAAAQkBAEghEskAxYzDPZGwK5hjMLJhjMAqmGEwumrCagomFcw2JqqtUFEsLLrV82F\no7gqljKyYYTGwMZRKUSCAQAboJnaN5Bjkneu0d5W4ccViIiOzHFWbTzNumP1Zarr8eeRMbxDW1Mx\nNO67NbkhzNVnmInqzaOZrL93JyZeV0M1++7S02jvxDWxhxx033tPpC8Z6rrezWjmZyazJG2/u03h\n2vFibTHoqvamiwVwY+nLGzV0+SZ1Mx8G0/45tOhzJ5lXMc3UVXRdlF1HP+iYsDPLPPy49/tz1+Te\npSIr0ho6ak5Ms5J8o2q6NImOrHV7XX488ypzTtHXo0s9t6zG7c1G1qz6ubeZiZ3UatXJG3yauSO7\ncvMTEx5tPLb3prPRMVr0HB8vicNxf0+7+kt+LOJwTJyY/Bnz3tH93X36N58cWvq6LSyiyndMSlC7\nmZcymLJiwLosmJVRLKLAtiU7q4lMSCzc3YxJuDMRuAlKAEgAAAlAkAAAAAABKAEgAAAAAJAAAAAA\nAAAAAAAEgAAAAAAAAAAAAAkAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAhIAAACAAAASgAAAAAAEAAAA\nhGzJAImGMwzQDDZjNVuyNgUTVhNGxysZqDVmiu1G5NN2M4waM0+DCaN2cbGcQNGaMZq3JxMJxA1J\nqx2bU4kU09slorWNwa20z02RXHbJbl26QvtFovbHWkxEdJt5y2MOHlr2U1W3jx+1hiw8vSO63lmI\nXRTaEWmtY6snRHO1VpmJ+DjavpSZl2s8b7y4HFcnh0n0gha5ebJN55KRM2mdoiPN6fh+kpwXh0Wy\nRHj5Otp/s5Ps1p62y31+em9aTMYt/OfVfxTiPjZ52naI7fBrI5t66xz5+a1rW7yx0eSL6iZjtEOX\nqNbSletom3lENjh2fbHzbbWt3iVozruc+5ztWubf4M4ybpQ2Oboyrva0Vjza8WdDR4OkXt3n9ldX\nkaePP9VtYqctYhdvt5oivTeCZ2YOxXk6ubqMfV0b9mrljfqlFcq88k7z2U5axeItDa1OPessuC8P\nya7XRWYnwqdbT/ZMilvIu4dpslNdixXja8Y5tt85djZdbDWnGOesRtXFtuw6T27No5Kx2OrKYQlC\nExKJgBnEpiyvdlEgsizKLKollFgWxLKJVRLKJBbEp3VxLKJBnuMWQJEbpBIAAAJAAAABIAAAAAAA\nlAJAAAAAAAAAAAAAASAAAAAAAAAAAAAJAAAABAJABAlAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAA\nAAABAJQAAAAgAABAAI2EoBGyJhkgGPKxmqxAKpownHC+YRMdN5BrTj67R3bOn01o7p01Iv71u89o\n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\n2Q==`;\n", "/**\n * Human main module\n */\n\nimport { log, now, mergeDeep } from './helpers';\nimport { Config, defaults } from './config';\nimport { Result, Gesture } from './result';\nimport * as sysinfo from './sysinfo';\nimport * as tf from '../dist/tfjs.esm.js';\nimport * as backend from './tfjs/backend';\nimport * as face from './face';\nimport * as facemesh from './blazeface/facemesh';\nimport * as faceres from './faceres/faceres';\nimport * as emotion from './emotion/emotion';\nimport * as posenet from './posenet/posenet';\nimport * as handpose from './handpose/handpose';\nimport * as blazepose from './blazepose/blazepose';\nimport * as efficientpose from './efficientpose/efficientpose';\nimport * as movenet from './movenet/movenet';\nimport * as nanodet from './object/nanodet';\nimport * as centernet from './object/centernet';\nimport * as gesture from './gesture/gesture';\nimport * as image from './image/image';\nimport * as draw from './draw/draw';\nimport * as persons from './persons';\nimport * as interpolate from './interpolate';\nimport * as sample from './sample';\nimport * as app from '../package.json';\nimport { Tensor } from './tfjs/types';\n\n// export types\nexport type { Config } from './config';\nexport type { Result, Face, Hand, Body, Item, Gesture } from './result';\nexport type { DrawOptions } from './draw/draw';\n\n/** Defines all possible input types for **Human** detection\n * @typedef Input\n */\nexport type Input = Tensor | typeof Image | ImageData | ImageBitmap | HTMLImageElement | HTMLMediaElement | HTMLVideoElement | HTMLCanvasElement | OffscreenCanvas;\n\n/** Error message\n * @typedef Error\n */\nexport type Error = { error: string };\n\n/** Instance of TensorFlow/JS */\nexport type TensorFlow = typeof tf;\n\n/** Generic Model object type, holds instance of individual models */\ntype Model = unknown;\n\n/**\n * **Human** library main class\n *\n * All methods and properties are available only as members of Human class\n *\n * - Configuration object definition: {@link Config}\n * - Results object definition: {@link Result}\n * - Possible inputs: {@link Input}\n *\n * @param userConfig: {@link Config}\n */\nexport class Human {\n /** Current version of Human library in *semver* format */\n version: string;\n /** Current configuration\n * - Details: {@link Config}\n */\n config: Config;\n /** Last known result of detect run\n * - Can be accessed anytime after initial detection\n */\n result: Result;\n /** Current state of Human library\n * - Can be polled to determine operations that are currently executed\n * - Progresses through: 'config', 'check', 'backend', 'load', 'run:', 'idle'\n */\n state: string;\n /** @internal: Instance of current image being processed */\n image: { tensor: Tensor | null, canvas: OffscreenCanvas | HTMLCanvasElement | null };\n /** @internal: Instance of TensorFlow/JS used by Human\n * - Can be embedded or externally provided\n */\n tf: TensorFlow;\n /** Draw helper classes that can draw detected objects on canvas using specified draw styles\n * - options: global settings for all draw operations, can be overriden for each draw method, for details see {@link DrawOptions}\n * - face: draw detected faces\n * - body: draw detected people and body parts\n * - hand: draw detected hands and hand parts\n * - canvas: draw processed canvas which is a processed copy of the input\n * - all: meta-function that performs: canvas, face, body, hand\n */\n draw: {\n options: draw.DrawOptions,\n gesture: typeof draw.gesture,\n face: typeof draw.face,\n body: typeof draw.body,\n hand: typeof draw.hand,\n canvas: typeof draw.canvas,\n all: typeof draw.all,\n };\n /** @internal: Currently loaded models */\n models: {\n face: [Model, Model, Model] | null,\n posenet: Model | null,\n blazepose: Model | null,\n efficientpose: Model | null,\n movenet: Model | null,\n handpose: [Model, Model] | null,\n age: Model | null,\n gender: Model | null,\n emotion: Model | null,\n embedding: Model | null,\n nanodet: Model | null,\n centernet: Model | null,\n faceres: Model | null,\n };\n /** @internal: Currently loaded classes */\n classes: {\n facemesh: typeof facemesh;\n emotion: typeof emotion;\n body: typeof posenet | typeof blazepose | typeof movenet;\n hand: typeof handpose;\n nanodet: typeof nanodet;\n centernet: typeof centernet;\n faceres: typeof faceres;\n };\n /** Reference face triangualtion array of 468 points, used for triangle references between points */\n faceTriangulation: typeof facemesh.triangulation;\n /** Refernce UV map of 468 values, used for 3D mapping of the face mesh */\n faceUVMap: typeof facemesh.uvmap;\n /** Platform and agent information detected by Human */\n sysinfo: { platform: string, agent: string };\n /** Performance object that contains values for all recently performed operations */\n performance: Record; // perf members are dynamically defined as needed\n #numTensors: number;\n #analyzeMemoryLeaks: boolean;\n #checkSanity: boolean;\n #firstRun: boolean;\n #lastInputSum: number;\n #lastCacheDiff: number;\n\n // definition end\n\n /**\n * Creates instance of Human library that is futher used for all operations\n * @param userConfig: {@link Config}\n */\n constructor(userConfig?: Config | Record) {\n this.config = mergeDeep(defaults, userConfig || {});\n this.tf = tf;\n this.draw = draw;\n this.version = app.version;\n this.state = 'idle';\n this.#numTensors = 0;\n this.#analyzeMemoryLeaks = false;\n this.#checkSanity = false;\n this.#firstRun = true;\n this.#lastCacheDiff = 0;\n this.performance = { backend: 0, load: 0, image: 0, frames: 0, cached: 0, changed: 0, total: 0, draw: 0 };\n // object that contains all initialized models\n this.models = {\n face: null,\n posenet: null,\n blazepose: null,\n efficientpose: null,\n movenet: null,\n handpose: null,\n age: null,\n gender: null,\n emotion: null,\n embedding: null,\n nanodet: null,\n centernet: null,\n faceres: null,\n };\n // export access to image processing\n // @ts-ignore eslint-typescript cannot correctly infer type in anonymous function\n this.image = (input: Input) => image.process(input, this.config);\n // export raw access to underlying models\n this.classes = {\n facemesh,\n emotion,\n faceres,\n body: this.config.body.modelPath.includes('posenet') ? posenet : blazepose,\n hand: handpose,\n nanodet,\n centernet,\n };\n this.faceTriangulation = facemesh.triangulation;\n this.faceUVMap = facemesh.uvmap;\n // include platform info\n this.sysinfo = sysinfo.info();\n this.#lastInputSum = 1;\n }\n\n // helper function: measure tensor leak\n /** @hidden */\n analyze = (...msg) => {\n if (!this.#analyzeMemoryLeaks) return;\n const currentTensors = this.tf.engine().state.numTensors;\n const previousTensors = this.#numTensors;\n this.#numTensors = currentTensors;\n const leaked = currentTensors - previousTensors;\n if (leaked !== 0) log(...msg, leaked);\n }\n\n // quick sanity check on inputs\n /** @hidden */\n #sanity = (input): null | string => {\n if (!this.#checkSanity) return null;\n if (!input) return 'input is not defined';\n if (this.tf.ENV.flags.IS_NODE && !(input instanceof tf.Tensor)) return 'input must be a tensor';\n try {\n this.tf.getBackend();\n } catch {\n return 'backend not loaded';\n }\n return null;\n }\n\n /** Simmilarity method calculates simmilarity between two provided face descriptors (face embeddings)\n * - Calculation is based on normalized Minkowski distance between\n * @param embedding1: face descriptor as array of numbers\n * @param embedding2: face descriptor as array of numbers\n * @returns similarity: number\n */\n // eslint-disable-next-line class-methods-use-this\n similarity(embedding1: Array, embedding2: Array): number {\n return faceres.similarity(embedding1, embedding2);\n }\n\n /** Enhance method performs additional enhacements to face image previously detected for futher processing\n * @param input: Tensor as provided in human.result.face[n].tensor\n * @returns Tensor\n */\n // eslint-disable-next-line class-methods-use-this\n enhance(input: Tensor): Tensor | null {\n // @ts-ignore type mismach for Tensor\n return faceres.enhance(input);\n }\n\n /** Math method find best match between provided face descriptor and predefined database of known descriptors\n * @param faceEmbedding: face descriptor previsouly calculated on any face\n * @param db: array of mapping of face descriptors to known values\n * @param threshold: minimum score for matching to be considered in the result\n * @returns best match\n */\n // eslint-disable-next-line class-methods-use-this\n match(faceEmbedding: Array, db: Array<{ name: string, source: string, embedding: number[] }>, threshold = 0): { name: string, source: string, similarity: number, embedding: number[] } {\n return faceres.match(faceEmbedding, db, threshold);\n }\n\n /** Load method preloads all configured models on-demand\n * - Not explicitly required as any required model is load implicitly on it's first run\n * @param userConfig?: {@link Config}\n */\n async load(userConfig?: Config | Record) {\n this.state = 'load';\n const timeStamp = now();\n if (userConfig) this.config = mergeDeep(this.config, userConfig);\n\n if (this.#firstRun) { // print version info on first run and check for correct backend setup\n if (this.config.debug) log(`version: ${this.version}`);\n if (this.config.debug) log(`tfjs version: ${this.tf.version_core}`);\n if (this.config.debug) log('platform:', this.sysinfo.platform);\n if (this.config.debug) log('agent:', this.sysinfo.agent);\n\n await this.#checkBackend(true);\n if (this.tf.ENV.flags.IS_BROWSER) {\n if (this.config.debug) log('configuration:', this.config);\n if (this.config.debug) log('tf flags:', this.tf.ENV.flags);\n }\n }\n if (this.config.async) { // load models concurrently\n [\n this.models.face,\n this.models.emotion,\n this.models.handpose,\n this.models.posenet,\n this.models.blazepose,\n this.models.efficientpose,\n this.models.movenet,\n this.models.nanodet,\n this.models.centernet,\n this.models.faceres,\n ] = await Promise.all([\n this.models.face || (this.config.face.enabled ? facemesh.load(this.config) : null),\n this.models.emotion || ((this.config.face.enabled && this.config.face.emotion.enabled) ? emotion.load(this.config) : null),\n this.models.handpose || (this.config.hand.enabled ? handpose.load(this.config) : null),\n this.models.posenet || (this.config.body.enabled && this.config.body.modelPath.includes('posenet') ? posenet.load(this.config) : null),\n this.models.blazepose || (this.config.body.enabled && this.config.body.modelPath.includes('blazepose') ? blazepose.load(this.config) : null),\n this.models.efficientpose || (this.config.body.enabled && this.config.body.modelPath.includes('efficientpose') ? efficientpose.load(this.config) : null),\n this.models.movenet || (this.config.body.enabled && this.config.body.modelPath.includes('movenet') ? movenet.load(this.config) : null),\n this.models.nanodet || (this.config.object.enabled && this.config.object.modelPath.includes('nanodet') ? nanodet.load(this.config) : null),\n this.models.centernet || (this.config.object.enabled && this.config.object.modelPath.includes('centernet') ? centernet.load(this.config) : null),\n this.models.faceres || ((this.config.face.enabled && this.config.face.description.enabled) ? faceres.load(this.config) : null),\n ]);\n } else { // load models sequentially\n if (this.config.face.enabled && !this.models.face) this.models.face = await facemesh.load(this.config);\n if (this.config.face.enabled && this.config.face.emotion.enabled && !this.models.emotion) this.models.emotion = await emotion.load(this.config);\n if (this.config.hand.enabled && !this.models.handpose) this.models.handpose = await handpose.load(this.config);\n if (this.config.body.enabled && !this.models.posenet && this.config.body.modelPath.includes('posenet')) this.models.posenet = await posenet.load(this.config);\n if (this.config.body.enabled && !this.models.blazepose && this.config.body.modelPath.includes('blazepose')) this.models.blazepose = await blazepose.load(this.config);\n if (this.config.body.enabled && !this.models.efficientpose && this.config.body.modelPath.includes('efficientpose')) this.models.efficientpose = await blazepose.load(this.config);\n if (this.config.body.enabled && !this.models.movenet && this.config.body.modelPath.includes('movenet')) this.models.movenet = await movenet.load(this.config);\n if (this.config.object.enabled && !this.models.nanodet && this.config.object.modelPath.includes('nanodet')) this.models.nanodet = await nanodet.load(this.config);\n if (this.config.object.enabled && !this.models.centernet && this.config.object.modelPath.includes('centernet')) this.models.centernet = await centernet.load(this.config);\n if (this.config.face.enabled && this.config.face.description.enabled && !this.models.faceres) this.models.faceres = await faceres.load(this.config);\n }\n\n if (this.#firstRun) { // print memory stats on first run\n if (this.config.debug) log('tf engine state:', this.tf.engine().state.numBytes, 'bytes', this.tf.engine().state.numTensors, 'tensors');\n this.#firstRun = false;\n }\n\n const current = Math.trunc(now() - timeStamp);\n if (current > (this.performance.load as number || 0)) this.performance.load = current;\n }\n\n // check if backend needs initialization if it changed\n /** @hidden */\n #checkBackend = async (force = false) => {\n if (this.config.backend && (this.config.backend.length > 0) && force || (this.tf.getBackend() !== this.config.backend)) {\n const timeStamp = now();\n this.state = 'backend';\n /* force backend reload\n if (this.config.backend in tf.engine().registry) {\n const backendFactory = tf.findBackendFactory(this.config.backend);\n tf.removeBackend(this.config.backend);\n tf.registerBackend(this.config.backend, backendFactory);\n } else {\n log('Backend not registred:', this.config.backend);\n }\n */\n\n if (this.config.backend && this.config.backend.length > 0) {\n // @ts-ignore ignore missing type for WorkerGlobalScope as that is the point\n if (typeof window === 'undefined' && typeof WorkerGlobalScope !== 'undefined' && this.config.debug) log('running inside web worker');\n\n // force browser vs node backend\n if (this.tf.ENV.flags.IS_BROWSER && this.config.backend === 'tensorflow') this.config.backend = 'webgl';\n if (this.tf.ENV.flags.IS_NODE && (this.config.backend === 'webgl' || this.config.backend === 'humangl')) this.config.backend = 'tensorflow';\n\n if (this.config.debug) log('setting backend:', this.config.backend);\n\n if (this.config.backend === 'wasm') {\n if (this.config.debug) log('wasm path:', this.config.wasmPath);\n if (typeof this.tf?.setWasmPaths !== 'undefined') this.tf.setWasmPaths(this.config.wasmPath);\n else throw new Error('Human: WASM backend is not loaded');\n const simd = await this.tf.env().getAsync('WASM_HAS_SIMD_SUPPORT');\n const mt = await this.tf.env().getAsync('WASM_HAS_MULTITHREAD_SUPPORT');\n if (this.config.debug) log(`wasm execution: ${simd ? 'SIMD' : 'no SIMD'} ${mt ? 'multithreaded' : 'singlethreaded'}`);\n if (this.config.debug && !simd) log('warning: wasm simd support is not enabled');\n }\n\n if (this.config.backend === 'humangl') backend.register();\n try {\n await this.tf.setBackend(this.config.backend);\n } catch (err) {\n log('error: cannot set backend:', this.config.backend, err);\n }\n }\n this.tf.enableProdMode();\n // this.tf.enableDebugMode();\n if (this.tf.getBackend() === 'webgl' || this.tf.getBackend() === 'humangl') {\n this.tf.ENV.set('CHECK_COMPUTATION_FOR_ERRORS', false);\n this.tf.ENV.set('WEBGL_CPU_FORWARD', true);\n this.tf.ENV.set('WEBGL_PACK_DEPTHWISECONV', true);\n if (!this.config.object.enabled) this.tf.ENV.set('WEBGL_FORCE_F16_TEXTURES', true); // safe to use 16bit precision\n if (typeof this.config['deallocate'] !== 'undefined' && this.config['deallocate']) { // hidden param\n log('changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:', true);\n this.tf.ENV.set('WEBGL_DELETE_TEXTURE_THRESHOLD', 0);\n }\n const gl = await this.tf.backend().getGPGPUContext().gl;\n if (this.config.debug) log(`gl version:${gl.getParameter(gl.VERSION)} renderer:${gl.getParameter(gl.RENDERER)}`);\n }\n await this.tf.ready();\n this.performance.backend = Math.trunc(now() - timeStamp);\n }\n }\n\n /**\n * Runs interpolation using last known result and returns smoothened result\n * Interpolation is based on time since last known result so can be called independently\n * @param result?: use specific result set to run interpolation on\n * @returns result: {@link Result}\n */\n next = (result?: Result) => interpolate.calc(result || this.result) as Result;\n\n // check if input changed sufficiently to trigger new detections\n /** @hidden */\n #skipFrame = async (input) => {\n if (this.config.cacheSensitivity === 0) return false;\n const resizeFact = 32;\n const reduced: Tensor = input.resizeBilinear([Math.trunc(input.shape[1] / resizeFact), Math.trunc(input.shape[2] / resizeFact)]);\n // use tensor sum\n /*\n const sumT = this.tf.sum(reduced);\n const sum = sumT.dataSync()[0] as number;\n sumT.dispose();\n */\n // use js loop sum, faster than uploading tensor to gpu calculating and downloading back\n const reducedData = reduced.dataSync(); // raw image rgb array\n let sum = 0;\n for (let i = 0; i < reducedData.length / 3; i++) sum += reducedData[3 * i + 2]; // look only at green value of each pixel\n\n reduced.dispose();\n const diff = 100 * (Math.max(sum, this.#lastInputSum) / Math.min(sum, this.#lastInputSum) - 1);\n this.#lastInputSum = sum;\n // if previous frame was skipped, skip this frame if changed more than cacheSensitivity\n // if previous frame was not skipped, then look for cacheSensitivity or difference larger than one in previous frame to avoid resetting cache in subsequent frames unnecessarily\n const skipFrame = diff < Math.max(this.config.cacheSensitivity, this.#lastCacheDiff);\n // if difference is above 10x threshold, don't use last value to force reset cache for significant change of scenes or images\n this.#lastCacheDiff = diff > 10 * this.config.cacheSensitivity ? 0 : diff;\n return skipFrame;\n }\n\n /** Main detection method\n * - Analyze configuration: {@link Config}\n * - Pre-process input: {@link Input}\n * - Run inference for all configured models\n * - Process and return result: {@link Result}\n * @param input: Input\n * @param userConfig?: Config\n * @returns result: Result\n */\n async detect(input: Input, userConfig?: Config | Record): Promise {\n // detection happens inside a promise\n return new Promise(async (resolve) => {\n this.state = 'config';\n let timeStamp;\n\n // update configuration\n this.config = mergeDeep(this.config, userConfig);\n\n // sanity checks\n this.state = 'check';\n const error = this.#sanity(input);\n if (error) {\n log(error, input);\n resolve({ error });\n }\n\n const timeStart = now();\n\n // configure backend\n await this.#checkBackend();\n\n // load models if enabled\n await this.load();\n\n /*\n // function disabled in favor of inputChanged\n // disable video optimization for inputs of type image, but skip if inside worker thread\n let previousVideoOptimized;\n // @ts-ignore ignore missing type for WorkerGlobalScope as that is the point\n if (input && this.config.videoOptimized && (typeof window !== 'undefined') && (typeof WorkerGlobalScope !== 'undefined') && (\n (typeof HTMLImageElement !== 'undefined' && input instanceof HTMLImageElement)\n || (typeof Image !== 'undefined' && input instanceof Image)\n || (typeof ImageData !== 'undefined' && input instanceof ImageData)\n || (typeof ImageBitmap !== 'undefined' && image instanceof ImageBitmap))\n ) {\n log('disabling video optimization');\n previousVideoOptimized = this.config.videoOptimized;\n this.config.videoOptimized = false;\n }\n */\n\n timeStamp = now();\n const process = image.process(input, this.config);\n if (!process || !process.tensor) {\n log('could not convert input to tensor');\n resolve({ error: 'could not convert input to tensor' });\n return;\n }\n this.performance.image = Math.trunc(now() - timeStamp);\n this.analyze('Get Image:');\n\n timeStamp = now();\n // @ts-ignore hidden dynamic property that is not part of definitions\n this.config.skipFrame = await this.#skipFrame(process.tensor);\n if (!this.performance.frames) this.performance.frames = 0;\n if (!this.performance.cached) this.performance.cached = 0;\n (this.performance.frames as number)++;\n // @ts-ignore hidden dynamic property that is not part of definitions\n if (this.config.skipFrame) this.performance.cached++;\n this.performance.changed = Math.trunc(now() - timeStamp);\n this.analyze('Check Changed:');\n\n // prepare where to store model results\n // keep them with weak typing as it can be promise or not\n let faceRes;\n let bodyRes;\n let handRes;\n let objectRes;\n let elapsedTime;\n\n // run face detection followed by all models that rely on face bounding box: face mesh, age, gender, emotion\n if (this.config.async) {\n faceRes = this.config.face.enabled ? face.detectFace(this, process.tensor) : [];\n if (this.performance.face) delete this.performance.face;\n } else {\n this.state = 'run:face';\n timeStamp = now();\n faceRes = this.config.face.enabled ? await face.detectFace(this, process.tensor) : [];\n elapsedTime = Math.trunc(now() - timeStamp);\n if (elapsedTime > 0) this.performance.face = elapsedTime;\n }\n\n // run body: can be posenet, blazepose, efficientpose, movenet\n this.analyze('Start Body:');\n if (this.config.async) {\n if (this.config.body.modelPath.includes('posenet')) bodyRes = this.config.body.enabled ? posenet.predict(process.tensor, this.config) : [];\n else if (this.config.body.modelPath.includes('blazepose')) bodyRes = this.config.body.enabled ? blazepose.predict(process.tensor, this.config) : [];\n else if (this.config.body.modelPath.includes('efficientpose')) bodyRes = this.config.body.enabled ? efficientpose.predict(process.tensor, this.config) : [];\n else if (this.config.body.modelPath.includes('movenet')) bodyRes = this.config.body.enabled ? movenet.predict(process.tensor, this.config) : [];\n if (this.performance.body) delete this.performance.body;\n } else {\n this.state = 'run:body';\n timeStamp = now();\n if (this.config.body.modelPath.includes('posenet')) bodyRes = this.config.body.enabled ? await posenet.predict(process.tensor, this.config) : [];\n else if (this.config.body.modelPath.includes('blazepose')) bodyRes = this.config.body.enabled ? await blazepose.predict(process.tensor, this.config) : [];\n else if (this.config.body.modelPath.includes('efficientpose')) bodyRes = this.config.body.enabled ? await efficientpose.predict(process.tensor, this.config) : [];\n else if (this.config.body.modelPath.includes('movenet')) bodyRes = this.config.body.enabled ? await movenet.predict(process.tensor, this.config) : [];\n elapsedTime = Math.trunc(now() - timeStamp);\n if (elapsedTime > 0) this.performance.body = elapsedTime;\n }\n this.analyze('End Body:');\n\n // run handpose\n this.analyze('Start Hand:');\n if (this.config.async) {\n handRes = this.config.hand.enabled ? handpose.predict(process.tensor, this.config) : [];\n if (this.performance.hand) delete this.performance.hand;\n } else {\n this.state = 'run:hand';\n timeStamp = now();\n handRes = this.config.hand.enabled ? await handpose.predict(process.tensor, this.config) : [];\n elapsedTime = Math.trunc(now() - timeStamp);\n if (elapsedTime > 0) this.performance.hand = elapsedTime;\n }\n this.analyze('End Hand:');\n\n // run nanodet\n this.analyze('Start Object:');\n if (this.config.async) {\n if (this.config.object.modelPath.includes('nanodet')) objectRes = this.config.object.enabled ? nanodet.predict(process.tensor, this.config) : [];\n else if (this.config.object.modelPath.includes('centernet')) objectRes = this.config.object.enabled ? centernet.predict(process.tensor, this.config) : [];\n if (this.performance.object) delete this.performance.object;\n } else {\n this.state = 'run:object';\n timeStamp = now();\n if (this.config.object.modelPath.includes('nanodet')) objectRes = this.config.object.enabled ? await nanodet.predict(process.tensor, this.config) : [];\n else if (this.config.object.modelPath.includes('centernet')) objectRes = this.config.object.enabled ? await centernet.predict(process.tensor, this.config) : [];\n elapsedTime = Math.trunc(now() - timeStamp);\n if (elapsedTime > 0) this.performance.object = elapsedTime;\n }\n this.analyze('End Object:');\n\n // if async wait for results\n if (this.config.async) [faceRes, bodyRes, handRes, objectRes] = await Promise.all([faceRes, bodyRes, handRes, objectRes]);\n\n // run gesture analysis last\n let gestureRes: Gesture[] = [];\n if (this.config.gesture.enabled) {\n timeStamp = now();\n gestureRes = [...gesture.face(faceRes), ...gesture.body(bodyRes), ...gesture.hand(handRes), ...gesture.iris(faceRes)];\n if (!this.config.async) this.performance.gesture = Math.trunc(now() - timeStamp);\n else if (this.performance.gesture) delete this.performance.gesture;\n }\n\n this.performance.total = Math.trunc(now() - timeStart);\n this.state = 'idle';\n this.result = {\n face: faceRes,\n body: bodyRes,\n hand: handRes,\n gesture: gestureRes,\n object: objectRes,\n performance: this.performance,\n canvas: process.canvas,\n timestamp: Date.now(),\n get persons() { return persons.join(faceRes, bodyRes, handRes, gestureRes, process?.tensor?.shape); },\n };\n\n // finally dispose input tensor\n tf.dispose(process.tensor);\n\n // log('Result:', result);\n resolve(this.result);\n });\n }\n\n /** @hidden */\n #warmupBitmap = async () => {\n const b64toBlob = (base64, type = 'application/octet-stream') => fetch(`data:${type};base64,${base64}`).then((res) => res.blob());\n let blob;\n let res;\n switch (this.config.warmup) {\n case 'face': blob = await b64toBlob(sample.face); break;\n case 'full': blob = await b64toBlob(sample.body); break;\n default: blob = null;\n }\n if (blob) {\n const bitmap = await createImageBitmap(blob);\n res = await this.detect(bitmap, this.config);\n bitmap.close();\n }\n return res;\n }\n\n /** @hidden */\n #warmupCanvas = async () => new Promise((resolve) => {\n let src;\n let size = 0;\n switch (this.config.warmup) {\n case 'face':\n size = 256;\n src = 'data:image/jpeg;base64,' + sample.face;\n break;\n case 'full':\n case 'body':\n size = 1200;\n src = 'data:image/jpeg;base64,' + sample.body;\n break;\n default:\n src = null;\n }\n // src = encodeURI('../assets/human-sample-upper.jpg');\n const img = new Image();\n img.onload = async () => {\n const canvas = (typeof OffscreenCanvas !== 'undefined') ? new OffscreenCanvas(size, size) : document.createElement('canvas');\n canvas.width = img.naturalWidth;\n canvas.height = img.naturalHeight;\n const ctx = canvas.getContext('2d');\n ctx?.drawImage(img, 0, 0);\n // const data = ctx?.getImageData(0, 0, canvas.height, canvas.width);\n const res = await this.detect(canvas, this.config);\n resolve(res);\n };\n if (src) img.src = src;\n else resolve(null);\n });\n\n /** @hidden */\n #warmupNode = async () => {\n const atob = (str) => Buffer.from(str, 'base64');\n let img;\n if (this.config.warmup === 'face') img = atob(sample.face);\n if (this.config.warmup === 'body' || this.config.warmup === 'full') img = atob(sample.body);\n if (!img) return null;\n let res;\n if (typeof tf['node'] !== 'undefined') {\n const data = tf['node'].decodeJpeg(img);\n const expanded = data.expandDims(0);\n this.tf.dispose(data);\n // log('Input:', expanded);\n res = await this.detect(expanded, this.config);\n this.tf.dispose(expanded);\n } else {\n if (this.config.debug) log('Warmup tfjs-node not loaded');\n /*\n const input = await canvasJS.loadImage(img);\n const canvas = canvasJS.createCanvas(input.width, input.height);\n const ctx = canvas.getContext('2d');\n ctx.drawImage(img, 0, 0, input.width, input.height);\n res = await this.detect(input, this.config);\n */\n }\n return res;\n }\n\n /** Warmup metho pre-initializes all models for faster inference\n * - can take significant time on startup\n * - only used for `webgl` and `humangl` backends\n * @param userConfig?: Config\n */\n async warmup(userConfig?: Config | Record): Promise {\n const t0 = now();\n if (userConfig) this.config = mergeDeep(this.config, userConfig);\n if (!this.config.warmup || this.config.warmup === 'none') return { error: 'null' };\n let res;\n if (typeof createImageBitmap === 'function') res = await this.#warmupBitmap();\n else if (typeof Image !== 'undefined') res = await this.#warmupCanvas();\n else res = await this.#warmupNode();\n const t1 = now();\n if (this.config.debug) log('Warmup', this.config.warmup, Math.round(t1 - t0), 'ms', res);\n return res;\n }\n}\n\n/**\n * Class Human is also available as default export\n */\nexport { Human as default };\n"], - "mappings": "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AmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,eAAiB,kBAClB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,iBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,eAAiB,kBAClB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,eAAiB,kBAClB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,eAAiB,kBAClB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,eAAiB,iBAClB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,eAAiB,kBAClB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,gBAAkB,kBACnB,CAAC,cAAgB,kBACjB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,eAAiB,kBAClB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,mBAGT,GAAS,CACpB,IAAK,GAAI,IAAK,GAAI,EAAG,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,EACtJ,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAClJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GACrJ,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,EAAG,IAC7I,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAClJ,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAC/I,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GACrJ,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GACpJ,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GACjJ,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,EAAG,IAC/I,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,EAAG,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IACnJ,IAAK,GAAI,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IACnJ,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAC9I,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GACtJ,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC/I,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAClJ,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GACnJ,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GACrJ,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IACpJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,EAAG,IAClJ,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC/I,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC/I,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IACjJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACnJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC/I,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,GAAI,IAAK,IAAK,IAAK,IACnJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,IACnJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC/I,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAChJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC/I,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAC/I,IAAK,EAAG,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAChJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAC7I,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjJ,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAClJ,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAC7I,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,EAAG,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GACnJ,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GACpJ,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAC/I,IAAK,GAAI,IAAK,GAAI,IAAK,EAAG,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAClJ,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAClJ,GAAI,GAAI,GAAI,GAAI,GAAI,I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AK,EAAG,IAC/I,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAC/I,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAC9I,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAChJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAChJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjJ,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAC9I,IAAK,GAAI,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC/I,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAChJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjJ,IAAK,IAAK,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAClJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,I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EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,QAAU,EAAG,SAClB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,OAAS,EAAG,QACjB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,OAChB,CAAE,EAAG,MAAQ,EAAG,QC33FX,YAAmB,CAQxB,YAAY,EAAO,CAbrB,MAcI,KAAK,MAAQ,EACb,KAAK,QAAU,AAAQ,GAAQ,IAAI,AAAC,GAAW,CAAC,EAAO,EAAG,EAAO,IACjE,KAAK,cAAgB,AAAG,WAAS,KAAK,SAEtC,KAAK,UAAY,QAAK,QAAL,cAAY,OAAO,GAAG,MAAM,GAC7C,KAAK,gBAAkB,AAAG,WAAS,CAAC,KAAK,UAAW,KAAK,YACzD,KAAK,sBAAwB,AAAG,WAAS,CAAC,KAAK,UAAY,EAAG,KAAK,UAAY,IAGjF,eAAe,EAAO,CACpB,MAAO,AAAG,QAAK,IAAM,CACnB,GAAM,GAAa,AAAG,QAAM,EAAO,CAAC,EAAG,GAAI,CAAC,GAAI,IAC1C,EAAW,AAAG,QAAM,EAAO,CAAC,EAAG,GAAI,CAAC,GAAI,IACxC,EAAkB,AAAG,MAAI,AAAG,MAAI,EAAY,KAAK,iBAAkB,KAAK,eACxE,EAAe,AAAG,MAAI,EAAU,KAAK,uBACrC,EAAc,AAAG,MAAI,AAAG,MAAI,EAAiB,GAAe,KAAK,iBACjE,EAAY,AAAG,MAAI,AAAG,MAAI,EAAiB,GAAe,KAAK,iBACrE,MAAO,AAAG,YAAS,CAAC,EAAa,GAAY,KAIjD,mBAAmB,EAAkB,EAAO,CAC1C,MAAO,AAAG,QAAK,IAAM,CACnB,GAAM,GAAY,AAAG,MAAI,AAAG,MAAI,EAAiB,QAAQ,CAAC,GAAI,EAAG,IAAK,KAAK,iBAAkB,KAAK,QAAQ,IAC1G,MAAO,AAAG,OAAI,EAAW,KAAK,wBAI5B,UAAS,EAAO,EAAQ,CAC5B,GAAM,GAAU,KAAK,MAAM,QAAQ,GAC7B,EAAc,EAAQ,UAC5B,EAAQ,UACR,GAAM,GAAU,AAAG,OAAK,IAAM,AAAG,UAAQ,AAAG,QAAM,EAAa,CAAC,EAAG,GAAI,CAAC,GAAI,KAAK,WAC3E,EAAS,EAAQ,WACjB,EAAW,AAAG,QAAM,EAAa,CAAC,EAAG,GAAI,CAAC,GAAI,IAC9C,EAAQ,KAAK,eAAe,GAClC,EAAS,UACT,GAAM,GAAY,KAAM,AAAG,SAAM,uBAAuB,EAAO,EAAQ,EAAO,KAAK,YAAa,EAAO,KAAK,aAAc,EAAO,KAAK,eAChI,EAAW,EAAU,YAE3B,EAAQ,UACR,EAAU,UACV,GAAM,GAA2E,GACjF,OAAW,KAAS,GAClB,GAAI,EAAO,IAAU,EAAO,KAAK,cAAe,CAC9C,GAAM,GAAc,AAAG,QAAM,EAAO,CAAC,EAAO,GAAI,CAAC,EAAG,KAC9C,EAAmB,AAAG,QAAM,EAAa,CAAC,EAAO,GAAI,CAAC,EAAG,KACzD,EAAgB,AAAG,OAAK,IAAM,KAAK,mBAAmB,EAAkB,GAAO,QAAQ,CAAC,GAAI,KAClG,EAAiB,UACjB,EAAM,KAAK,CAAE,IAAK,EAAa,gBAAe,WAAY,EAAO,KAGrE,SAAY,UACZ,EAAM,UACC,OAGH,oBAAmB,EAAO,EAA8G,CAC5I,GAAM,GAAc,EAAM,MAAM,GAC1B,EAAa,EAAM,MAAM,GACzB,EAAQ,AAAG,OAAK,IAAM,EAAM,eAAe,CAAC,KAAK,UAAW,KAAK,YAAY,IAAI,OAAO,IAAI,IAC5F,EAAc,KAAM,MAAK,SAAS,EAAO,GAC/C,EAAM,UACN,GAAM,GAA0G,GAChH,GAAI,CAAC,GAAe,EAAY,SAAW,EAAG,MAAO,GACrD,OAAW,KAAc,GAAa,CACpC,GAAM,GAAQ,EAAW,IAAI,WACvB,EAAa,EAAM,MAAM,EAAG,GAC5B,EAAW,EAAM,MAAM,EAAG,GAC1B,EAAgB,EAAW,cAAc,YAC/C,EAAW,IAAI,UACf,EAAW,cAAc,UACzB,EAAM,KAAK,AAAI,GAAoB,CAAE,aAAY,WAAU,gBAAe,WAAY,EAAW,YAAc,CAAC,EAAa,KAAK,UAAW,EAAc,KAAK,aAElK,MAAO,KCxFJ,YAA0B,EAAO,CACtC,MAAO,GAAQ,EAAI,KAAK,GAAK,KAAK,MAAO,GAAQ,KAAK,IAAO,GAAI,KAAK,KAGjE,YAAyB,EAAQ,EAAQ,CAC9C,GAAM,GAAU,KAAK,GAAK,EAAI,KAAK,MAAM,CAAE,GAAO,GAAK,EAAO,IAAK,EAAO,GAAK,EAAO,IACtF,MAAO,IAAiB,GAGnB,GAAM,IAAyB,CAAC,EAAG,IAAM,CAAC,CAAC,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,IAEvE,YAAa,EAAI,EAAI,CAC1B,GAAI,GAAU,EACd,OAAS,GAAI,EAAG,EAAI,EAAG,OAAQ,IAC7B,GAAW,EAAG,GAAK,EAAG,GAExB,MAAO,GAGF,YAA4B,EAAK,EAAa,CACnD,GAAM,GAAwB,GAC9B,OAAS,GAAI,EAAG,EAAI,EAAI,OAAQ,IAC9B,EAAO,KAAK,EAAI,GAAG,IAErB,MAAO,GAGF,YAAmC,EAAM,EAAM,CACpD,GAAM,GAA2B,GAC3B,EAAO,EAAK,OAClB,OAAS,GAAM,EAAG,EAAM,EAAM,IAAO,CACnC,EAAQ,KAAK,IACb,OAAS,GAAM,EAAG,EAAM,EAAM,IAC5B,EAAQ,GAAK,KAAK,GAAI,EAAK,GAAM,GAAmB,EAAM,KAG9D,MAAO,GAGF,YAA6B,EAAU,EAAQ,CACpD,GAAM,GAAO,KAAK,IAAI,GAChB,EAAO,KAAK,IAAI,GAChB,EAAiB,CAAC,CAAC,EAAM,CAAC,EAAM,GAAI,CAAC,EAAM,EAAM,GAAI,CAAC,EAAG,EAAG,IAC5D,EAAoB,GAAuB,EAAO,GAAI,EAAO,IAC7D,EAA2B,GAA0B,EAAmB,GACxE,EAA4B,GAAuB,CAAC,EAAO,GAAI,CAAC,EAAO,IAC7E,MAAO,IAA0B,EAA0B,GAGtD,YAA+B,EAAQ,CAC5C,GAAM,GAAoB,CAAC,CAAC,EAAO,GAAG,GAAI,EAAO,GAAG,IAAK,CAAC,EAAO,GAAG,GAAI,EAAO,GAAG,KAC5E,EAAuB,CAAC,EAAO,GAAG,GAAI,EAAO,GAAG,IAChD,EAAsB,CAC1B,CAAC,GAAI,EAAkB,GAAI,GAC3B,CAAC,GAAI,EAAkB,GAAI,IAE7B,MAAO,CACL,EAAkB,GAAG,OAAO,EAAoB,IAChD,EAAkB,GAAG,OAAO,EAAoB,IAChD,CAAC,EAAG,EAAG,IAIJ,YAAqB,EAAuB,EAAgB,CACjE,MAAO,CACL,GAAI,EAAuB,EAAe,IAC1C,GAAI,EAAuB,EAAe,KC5D9C,GAAM,IAAuB,EACvB,GAAuB,KACvB,GAAkB,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,GACvC,GAAwB,EACxB,GAAgC,EAE/B,QAAmB,CAQxB,YAAY,EAAc,EAAe,CApB3C,MAqBI,KAAK,aAAe,EACpB,KAAK,cAAgB,EAErB,KAAK,UAAY,QAAK,gBAAL,cAAoB,OAAO,GAAG,MAAM,GACrD,KAAK,YAAc,GACnB,KAAK,QAAU,EACf,KAAK,cAAgB,EAIvB,8BAA8B,EAAW,CACvC,GAAM,GAAK,EAAU,IAAI,AAAC,GAAM,EAAE,IAC5B,EAAK,EAAU,IAAI,AAAC,GAAM,EAAE,IAC5B,EAAa,CAAC,KAAK,IAAI,GAAG,GAAK,KAAK,IAAI,GAAG,IAC3C,EAAW,CAAC,KAAK,IAAI,GAAG,GAAK,KAAK,IAAI,GAAG,IAC/C,MAAO,CAAE,aAAY,YAGvB,uBAAuB,EAAe,EAAgB,CACpD,GAAM,GAAuB,EAAc,IAAI,AAAC,GAAU,AAAK,GAAY,CAAC,GAAG,EAAO,GAAI,IACpF,EAAgB,KAAK,8BAA8B,GACzD,MAAO,AAAI,IAAW,AAAI,GAAY,GAAgB,IAGxD,uBAAuB,EAAW,CAChC,GAAM,GAAc,KAAK,8BAA8B,GACjD,EAAgB,AAAI,GAAW,AAAI,GAAY,GAAc,IACnE,EAAc,cAAgB,GAC9B,OAAS,GAAI,EAAG,EAAI,GAAgB,OAAQ,IAC1C,EAAc,cAAc,KAAK,EAAU,GAAgB,IAAI,MAAM,EAAG,IAE1E,MAAO,GAGT,mBAAmB,EAAW,EAAM,EAAO,EAAgB,CACzD,GAAM,GAAU,AAAI,GAAW,GACzB,EAAc,CAAC,EAAQ,GAAK,KAAK,UAAW,EAAQ,GAAK,KAAK,UAAY,GAAQ,GAAK,EAAQ,IAAM,KAAK,UAAY,GACtH,EAAe,EAAU,IAAI,AAAC,GAAU,CAC5C,EAAY,GAAM,GAAM,GAAK,KAAK,UAAY,GAC9C,EAAY,GAAM,GAAM,GAAK,KAAK,UAAY,GAC9C,EAAY,GAAK,EAAM,KAEnB,EAAuB,AAAK,GAAoB,EAAO,CAAC,EAAG,IAC3D,EAAgB,EAAa,IAAI,AAAC,GAE/B,CAAC,GADQ,AAAK,GAAY,EAAO,GACpB,EAAM,KAEtB,EAAwB,AAAK,GAAsB,GACnD,EAAY,CAAC,GAAG,AAAI,GAAa,GAAO,GACxC,EAAoB,CACxB,AAAK,GAAI,EAAW,EAAsB,IAC1C,AAAK,GAAI,EAAW,EAAsB,KAE5C,MAAO,GAAc,IAAI,AAAC,GAAU,CAClC,KAAK,MAAM,EAAM,GAAK,EAAkB,IACxC,KAAK,MAAM,EAAM,GAAK,EAAkB,IACxC,KAAK,MAAM,EAAM,WAIf,eAAc,EAAO,EAAQ,CACjC,GAAI,GAAc,GAGd,EAGJ,AAAK,MAAK,UAAY,GAAO,KAAK,QAAU,EAAO,KAAK,YAAe,CAAC,EAAO,KAAK,WAAa,CAAC,EAAO,YACvG,GAAQ,KAAM,MAAK,aAAa,mBAAmB,EAAO,GAC1D,KAAK,QAAU,GAEb,EAAO,WAAW,KAAK,UAGvB,GAAU,EAAM,OAAS,GAAQ,GAAM,SAAW,KAAK,eAAmB,KAAK,gBAAkB,EAAO,KAAK,aAAgB,CAAC,EAAO,KAAK,YAC5I,MAAK,cAAgB,EACrB,KAAK,YAAc,CAAC,GAAG,GAEnB,KAAK,YAAY,OAAS,GAAG,GAAc,KAEjD,GAAM,GAAgH,GAGtH,OAAS,GAAI,EAAG,EAAI,KAAK,YAAY,OAAQ,IAAK,CAChD,GAAM,GAAa,KAAK,YAAY,GACpC,GAAI,EAAC,EACL,GAAI,EAAO,KAAK,UAAW,CACzB,GAAM,GAAQ,EAAO,KAAK,SAAW,AAAK,GAAgB,EAAW,cAAc,IAAwB,EAAW,cAAc,KAAkC,EAChK,EAAa,AAAI,GAAa,GAC9B,EAAuB,CAAC,EAAW,GAAK,EAAM,MAAM,GAAI,EAAW,GAAK,EAAM,MAAM,IACpF,EAAe,EAAO,KAAK,UAAY,AAAG,MAAI,MAAM,WAAa,AAAG,QAAM,iBAAiB,EAAO,EAAO,EAAG,GAAwB,EAAM,QAC1I,EAAiB,AAAK,GAAoB,CAAC,EAAO,GAClD,EAAS,EAAc,KAAK,uBAAuB,EAAW,cAAe,GAAkB,EAC/F,EAAe,AAAI,GAAyB,EAAQ,EAAc,CAAC,KAAK,UAAW,KAAK,YACxF,EAAY,EAAa,IAAI,KACnC,EAAa,UACb,EAAa,UACb,GAAM,CAAC,EAAa,GAAa,KAAM,MAAK,cAAc,QAAQ,GAClE,EAAU,UACV,GAAM,GAAa,EAAY,WAAW,GAE1C,GADA,EAAY,UACR,GAAc,EAAO,KAAK,cAAe,CAC3C,GAAM,GAAoB,AAAG,UAAQ,EAAW,CAAC,GAAI,IAC/C,EAAY,EAAkB,YACpC,EAAU,UACV,EAAkB,UAClB,GAAM,GAAS,KAAK,mBAAmB,EAAW,EAAQ,EAAO,GAC3D,EAAkB,KAAK,uBAAuB,GACpD,KAAK,YAAY,GAAK,IAAK,EAAiB,cAC5C,GAAM,GAAS,CACb,UAAW,EACX,aACA,IAAK,CAAE,QAAS,EAAgB,WAAY,YAAa,EAAgB,WAE3E,EAAM,KAAK,OAEX,MAAK,YAAY,GAAK,KAExB,EAAU,cACL,CAEL,GAAM,GAAW,AAAI,GAAW,AAAI,GAAY,GAAa,IACvD,EAAS,CACb,WAAY,EAAW,WACvB,IAAK,CAAE,QAAS,EAAS,WAAY,YAAa,EAAS,WAE7D,EAAM,KAAK,IAGf,YAAK,YAAc,KAAK,YAAY,OAAO,AAAC,GAAM,IAAM,MACxD,KAAK,cAAgB,EAAM,OACpB,IL7IX,GAAM,IAAkB,CACtB,MAAO,CAAC,EAAG,EAAG,EAAG,GACjB,YAAa,CAAC,EAAG,EAAG,EAAG,GACvB,aAAc,CAAC,EAAG,GAAI,GAAI,IAC1B,WAAY,CAAC,GAAI,GAAI,GAAI,IACzB,MAAO,CAAC,GAAI,GAAI,GAAI,IACpB,SAAU,CAAC,IAGT,GACA,GACA,GAEJ,kBAA8B,EAAO,EAAyB,CAC5D,GAAM,GAAc,KAAM,IAAa,cAAc,EAAO,GAC5D,GAAI,CAAC,EAAa,MAAO,GACzB,GAAM,GAAqB,GAC3B,OAAS,GAAI,EAAG,EAAI,EAAY,OAAQ,IAAK,CAC3C,GAAM,GAAc,GACpB,GAAI,EAAY,GAAG,UACjB,OAAW,KAAO,QAAO,KAAK,IAE5B,EAAY,GAAO,GAAgB,GAAK,IAAI,AAAC,GAAU,EAAY,GAAG,UAAU,IAIpF,GAAM,GAAY,EAAY,GAAG,UAE7B,EAAwC,CAAC,OAAO,iBAAkB,OAAO,iBAAkB,EAAG,GAC9F,EAA2C,CAAC,EAAG,EAAG,EAAG,GACzD,GAAI,GAAa,EAAU,OAAS,EAAG,CACrC,OAAW,KAAM,GACf,AAAI,EAAG,GAAK,EAAI,IAAI,GAAI,GAAK,EAAG,IAC5B,EAAG,GAAK,EAAI,IAAI,GAAI,GAAK,EAAG,IAC5B,EAAG,GAAK,EAAI,IAAI,GAAI,GAAK,EAAG,IAC5B,EAAG,GAAK,EAAI,IAAI,GAAI,GAAK,EAAG,IAElC,EAAI,IAAM,EAAI,GACd,EAAI,IAAM,EAAI,GACd,EAAS,CAAC,EAAI,GAAK,EAAM,MAAM,GAAI,EAAI,GAAK,EAAM,MAAM,GAAI,EAAI,GAAK,EAAM,MAAM,GAAI,EAAI,GAAK,EAAM,MAAM,QAE1G,GAAM,EAAY,GAAG,IAAM,CACzB,KAAK,MAAM,KAAK,IAAI,EAAG,EAAY,GAAG,IAAI,QAAQ,KAClD,KAAK,MAAM,KAAK,IAAI,EAAG,EAAY,GAAG,IAAI,QAAQ,KAClD,KAAK,MAAM,KAAK,IAAI,EAAM,MAAM,GAAI,EAAY,GAAG,IAAI,YAAY,IAAM,KAAK,IAAI,EAAG,EAAY,GAAG,IAAI,QAAQ,KAChH,KAAK,MAAM,KAAK,IAAI,EAAM,MAAM,GAAI,EAAY,GAAG,IAAI,YAAY,IAAM,KAAK,IAAI,EAAG,EAAY,GAAG,IAAI,QAAQ,MAC9G,CAAC,EAAG,EAAG,EAAG,GACd,EAAS,CACN,EAAY,GAAG,IAAI,QAAQ,GAAM,EAAM,MAAM,GAC7C,EAAY,GAAG,IAAI,QAAQ,GAAM,EAAM,MAAM,GAC7C,GAAY,GAAG,IAAI,YAAY,GAAK,EAAY,GAAG,IAAI,QAAQ,IAAM,EAAM,MAAM,GACjF,GAAY,GAAG,IAAI,YAAY,GAAK,EAAY,GAAG,IAAI,QAAQ,IAAM,EAAM,MAAM,IAGtF,EAAM,KAAK,CAAE,GAAI,EAAG,MAAO,KAAK,MAAM,IAAM,EAAY,GAAG,YAAc,IAAK,MAAK,SAAQ,YAAW,gBAExG,MAAO,GAGT,kBAA2B,EAAqC,CAC9D,AAAI,CAAC,IAAqB,CAAC,GAEzB,EAAC,GAAmB,IAAiB,KAAM,SAAQ,IAAI,CACrD,EAAO,KAAK,QAAU,AAAG,iBAAe,EAAK,EAAO,cAAe,EAAO,KAAK,SAAS,WAAY,CAAE,UAAW,EAAO,KAAK,SAAS,UAAU,SAAS,eAAkB,KAC3K,EAAO,KAAK,UAAY,AAAG,iBAAe,EAAK,EAAO,cAAe,EAAO,KAAK,SAAS,WAAY,CAAE,UAAW,EAAO,KAAK,SAAS,UAAU,SAAS,eAAkB,OAE3K,EAAO,KAAK,SACd,CAAI,CAAC,IAAqB,CAAC,GAAkB,SAAa,EAAI,qBAAsB,EAAO,KAAK,SAAS,WAChG,EAAO,OAAO,EAAI,cAAe,GAAkB,UAC5D,AAAI,CAAC,IAAiB,CAAC,GAAc,SAAa,EAAI,qBAAsB,EAAO,KAAK,SAAS,WACxF,EAAO,OAAO,EAAI,cAAe,GAAc,YAGtD,GAAO,OAAO,EAAI,gBAAiB,GAAkB,UACrD,EAAO,OAAO,EAAI,gBAAiB,GAAc,WAEvD,GAAM,GAAe,GAAiB,IAAa,IACnD,UAAe,GAAiB,IAAa,EAAc,IACpD,CAAC,GAAmB,IMzF7B,8CCAO,GAAM,IAAO,CAClB,OACA,gBACA,UACA,iBACA,iBACA,WACA,kBACA,UACA,WACA,YACA,aACA,eACA,gBACA,YACA,aACA,YACA,aACA,WACA,YACA,YACA,aACA,YACA,aACA,UACA,WACA,WACA,YACA,YACA,aACA,WACA,YACA,WACA,YACA,SACA,WACA,YACA,WACA,aACA,aAGW,GAAQ,CACnB,OACA,gBACA,UACA,iBACA,iBACA,WACA,kBACA,UACA,WACA,YACA,aACA,eACA,gBACA,YACA,aACA,UACA,WACA,UACA,WACA,UACA,WACA,UACA,WACA,YACA,aACA,OACA,WACA,UACA,WACA,UACA,YD7DF,GAAI,GAEJ,kBAA2B,EAAQ,CACjC,MAAK,GAOM,EAAO,OAAO,EAAI,gBAAiB,EAAM,UALlD,GAAQ,KAAM,AAAG,kBAAe,EAAK,EAAO,cAAe,EAAO,KAAK,YACvE,EAAM,MAAW,SAAS,EAAM,UAAa,OAAO,aAAa,YAAY,IAAI,GAAG,MACpF,EAAM,OAAY,SAAS,EAAM,UAAa,OAAO,aAAa,YAAY,IAAI,GAAG,MACrF,AAAI,CAAC,GAAS,CAAC,EAAM,SAAa,EAAI,qBAAsB,EAAO,KAAK,WAC/D,EAAO,OAAO,EAAI,cAAe,EAAM,WAE3C,EAGT,kBAA8B,EAAO,EAAyB,CA1B9D,MA2BE,GAAI,CAAC,EAAO,MAAO,GACnB,GAAI,CAAC,EAAO,KAAK,QAAS,MAAO,GACjC,GAAM,GAAU,CAAE,MAAO,EAAM,MAAM,GAAI,OAAQ,EAAM,MAAM,IACvD,EAAS,AAAG,QAAM,eAAe,EAAO,CAAC,EAAM,MAAU,EAAM,QAAY,IAC3E,EAAY,AAAG,MAAI,EAAQ,CAAC,MAClC,EAAO,UACP,GAAM,GAAO,KAAM,GAAM,QAAQ,GAC3B,EAAS,MAAK,KAAK,AAAC,GAAO,EAAE,OAAS,KAAO,EAAE,OAAS,OAA/C,cAAsD,aAAc,GACnF,EAAK,QAAQ,AAAC,GAAM,EAAE,WACtB,EAAU,UACV,GAAM,GAA6H,GAC7H,EAAS,kBAAQ,UAAW,IAAkB,GAAmB,GACjE,EAAQ,EACd,OAAS,GAAI,EAAG,EAAI,EAAO,OAAS,EAAO,IACzC,EAAU,KAAK,CACb,GAAI,EACJ,KAAM,EAAO,GACb,SAAU,CACR,KAAK,MAAM,EAAQ,MAAQ,EAAO,EAAQ,EAAI,GAAK,KACnD,KAAK,MAAM,EAAQ,OAAS,EAAO,EAAQ,EAAI,GAAK,KACpD,KAAK,MAAM,EAAO,EAAQ,EAAI,IAAM,GAEtC,YAAa,CACX,EAAO,EAAQ,EAAI,GAAK,IACxB,EAAO,EAAQ,EAAI,GAAK,IACxB,EAAO,EAAQ,EAAI,GAAK,GAE1B,MAAQ,KAAM,KAAK,MAAM,IAAO,GAAI,KAAK,IAAI,EAAO,EAAQ,EAAI,OAAS,IACzE,SAAW,KAAM,KAAK,MAAM,IAAO,GAAI,KAAK,IAAI,EAAO,EAAQ,EAAI,OAAS,MAGhF,GAAM,GAAI,EAAU,IAAI,AAAC,GAAM,EAAE,SAAS,IACpC,EAAI,EAAU,IAAI,AAAC,GAAM,EAAE,SAAS,IACpC,EAAwC,CAC5C,KAAK,IAAI,GAAG,GACZ,KAAK,IAAI,GAAG,GACZ,KAAK,IAAI,GAAG,GAAK,KAAK,IAAI,GAAG,GAC7B,KAAK,IAAI,GAAG,GAAK,KAAK,IAAI,GAAG,IAEzB,EAA2C,CAAC,EAAG,EAAG,EAAG,GACrD,EAAQ,EAAU,OAAO,CAAC,EAAM,IAAU,EAAK,MAAQ,EAAO,EAAK,MAAQ,EAAO,GACxF,MAAO,CAAC,CAAE,GAAI,EAAG,QAAO,MAAK,SAAQ,cE3DvC,GAAI,GAIE,GAA8B,GAChC,GAAwC,CAAC,EAAG,EAAG,EAAG,GAClD,GAA2C,CAAC,EAAG,EAAG,EAAG,GACrD,GAAQ,EACR,GAAU,OAAO,iBAEf,GAAY,CAAC,OAAQ,OAAQ,gBAAiB,aAAc,aAAc,QAAS,eAAgB,YAAa,YAAa,SAAU,WAAY,YAAa,aAAc,UAAW,WAAY,aAE3M,kBAA2B,EAAQ,CACjC,MAAK,GAKM,EAAO,OAAO,EAAI,gBAAiB,EAAM,UAHlD,GAAQ,KAAM,AAAG,kBAAe,EAAK,EAAO,cAAe,EAAO,KAAK,YACvE,AAAI,CAAC,GAAS,CAAC,EAAM,SAAa,EAAI,qBAAsB,EAAO,KAAK,WAC/D,EAAO,OAAO,EAAI,cAAe,EAAM,WAE3C,EAIT,YAAe,EAAQ,EAAU,CAC/B,GAAM,CAAC,EAAO,GAAU,EAAO,MAC/B,MAAO,AAAG,QAAK,IAAM,CAEnB,GAAM,GAAM,CAAC,EAAG,IAAM,AAAG,MAAI,EAAG,AAAG,MAAI,AAAG,MAAI,EAAG,AAAG,SAAO,EAAG,UAAW,AAAG,SAAO,EAAG,WAEhF,EAAW,AAAG,UAAQ,EAAQ,CAAC,EAAS,IAExC,EAAW,AAAG,MAAI,EAAU,GAAG,WAAW,GAChD,GAAI,EAAW,EAAU,CAEvB,GAAM,GAAS,AAAG,SAAO,EAAU,GAC7B,EAAI,EAAI,EAAQ,GAAO,WAAW,GAClC,EAAI,AAAG,MAAI,EAAQ,AAAG,SAAO,EAAO,UAAU,WAAW,GAC/D,MAAO,CAAC,EAAG,EAAG,GAEhB,MAAO,CAAC,EAAG,EAAG,KAIlB,kBAA8B,EAAO,EAAyB,CAC5D,MAAK,IAAU,EAAO,KAAK,YAAe,EAAO,WAAa,OAAO,KAAK,IAAW,OAAS,EAC5F,MACO,CAAC,CAAE,GAAI,EAAG,SAAO,OAAK,UAAQ,gBAEvC,IAAU,EACH,GAAI,SAAQ,KAAO,IAAY,CACpC,GAAM,GAAS,AAAG,OAAK,IAAM,CAC3B,GAAI,CAAC,EAAM,OAAO,GAAG,MAAO,MAAO,MACnC,GAAM,GAAS,AAAG,QAAM,eAAe,EAAO,CAAC,EAAM,OAAO,GAAG,MAAM,GAAI,EAAM,OAAO,GAAG,MAAM,IAAK,IAGpG,MADa,AADG,AAAG,OAAI,EAAQ,GACV,IAAI,KAIvB,EAIJ,GAHI,EAAO,KAAK,SAAS,GAAO,KAAM,GAAM,QAAQ,IACpD,EAAO,UAEH,EAAM,CACR,GAAU,OAAS,EACnB,GAAM,GAAU,EAAK,UACrB,AAAG,UAAQ,GAEX,GAAM,GAAQ,EAAQ,QAAQ,GAC9B,AAAG,UAAQ,GAEX,OAAS,GAAK,EAAG,EAAK,EAAM,OAAQ,IAAM,CAExC,GAAM,CAAC,EAAG,EAAG,GAAa,GAAM,EAAM,GAAK,EAAO,KAAK,eACvD,AAAI,GAAQ,EAAO,KAAK,eACtB,GAAU,KAAK,CACb,MAAO,KAAK,MAAM,IAAM,GAAa,IACrC,KAAM,GAAU,GAChB,YAAa,CAEX,EAAI,EAAM,OAAO,GAAG,MAAM,GAAI,EAAI,EAAM,OAAO,GAAG,MAAM,IAE1D,SAAU,CAER,KAAK,MAAM,EAAM,MAAM,GAAK,EAAI,EAAM,OAAO,GAAG,MAAM,IAAK,KAAK,MAAM,EAAM,MAAM,GAAK,EAAI,EAAM,OAAO,GAAG,MAAM,OAKzH,EAAM,QAAQ,AAAC,GAAM,AAAG,UAAQ,IAElC,GAAQ,GAAU,OAAO,CAAC,EAAM,IAAU,EAAK,MAAQ,EAAO,EAAK,MAAQ,EAAO,GAClF,GAAM,GAAI,GAAU,IAAI,AAAC,GAAM,EAAE,SAAS,IACpC,EAAI,GAAU,IAAI,AAAC,GAAM,EAAE,SAAS,IAC1C,GAAM,CACJ,KAAK,IAAI,GAAG,GACZ,KAAK,IAAI,GAAG,GACZ,KAAK,IAAI,GAAG,GAAK,KAAK,IAAI,GAAG,GAC7B,KAAK,IAAI,GAAG,GAAK,KAAK,IAAI,GAAG,IAE/B,GAAM,GAAO,GAAU,IAAI,AAAC,GAAM,EAAE,YAAY,IAC1C,EAAO,GAAU,IAAI,AAAC,GAAM,EAAE,YAAY,IAChD,GAAS,CACP,KAAK,IAAI,GAAG,GACZ,KAAK,IAAI,GAAG,GACZ,KAAK,IAAI,GAAG,GAAQ,KAAK,IAAI,GAAG,GAChC,KAAK,IAAI,GAAG,GAAQ,KAAK,IAAI,GAAG,IAElC,EAAQ,CAAC,CAAE,GAAI,EAAG,SAAO,OAAK,UAAQ,mBC3G1C,GAAI,IAIE,GAA8B,GAChC,GAAwC,CAAC,EAAG,EAAG,EAAG,GAClD,GAA2C,CAAC,EAAG,EAAG,EAAG,GACrD,GAAQ,EACR,GAAU,OAAO,iBAEf,GAAY,CAAC,OAAQ,UAAW,WAAY,UAAW,WAAY,eAAgB,gBAAiB,YAAa,aAAc,YAAa,aAAc,UAAW,WAAY,WAAY,YAAa,YAAa,cAE7N,kBAA2B,EAAQ,CACjC,MAAK,IAKM,EAAO,OAAO,EAAI,gBAAiB,GAAM,UAHlD,IAAQ,KAAM,AAAG,kBAAe,EAAK,EAAO,cAAe,EAAO,KAAK,YACvE,AAAI,CAAC,IAAS,CAAC,GAAM,SAAa,EAAI,qBAAsB,EAAO,KAAK,WAC/D,EAAO,OAAO,EAAI,cAAe,GAAM,WAE3C,GAGT,kBAA8B,EAAO,EAAyB,CAC5D,MAAK,IAAU,EAAO,KAAK,YAAe,EAAO,WAAa,OAAO,KAAK,IAAW,OAAS,EAC5F,MACO,CAAC,CAAE,GAAI,EAAG,SAAO,OAAK,UAAQ,gBAEvC,IAAU,EACH,GAAI,SAAQ,KAAO,IAAY,CACpC,GAAM,GAAS,AAAG,OAAK,IAAM,CAC3B,GAAI,CAAC,GAAM,OAAO,GAAG,MAAO,MAAO,MACnC,GAAM,GAAS,AAAG,QAAM,eAAe,EAAO,CAAC,GAAM,OAAO,GAAG,MAAM,GAAI,GAAM,OAAO,GAAG,MAAM,IAAK,IAEpG,MADa,AAAG,QAAK,EAAQ,WAI3B,EAIJ,GAHI,EAAO,KAAK,SAAS,GAAO,KAAM,IAAM,QAAQ,IACpD,EAAO,UAEH,EAAM,CACR,GAAU,OAAS,EACnB,GAAM,GAAM,EAAK,YACjB,AAAG,UAAQ,GACX,GAAM,GAAM,EAAI,GAAG,GACnB,OAAS,GAAK,EAAG,EAAK,EAAI,OAAQ,IAChC,GAAQ,EAAI,GAAI,GACZ,GAAQ,EAAO,KAAK,eACtB,GAAU,KAAK,CACb,MAAO,KAAK,MAAM,IAAM,IAAS,IACjC,KAAM,GAAU,GAChB,YAAa,CACX,EAAI,GAAI,GACR,EAAI,GAAI,IAEV,SAAU,CACR,KAAK,MAAM,EAAM,MAAM,GAAK,EAAI,GAAI,IACpC,KAAK,MAAM,EAAM,MAAM,GAAK,EAAI,GAAI,OAM9C,GAAQ,GAAU,OAAO,CAAC,EAAM,IAAU,EAAK,MAAQ,EAAO,EAAK,MAAQ,EAAO,GAClF,GAAM,GAAI,GAAU,IAAI,AAAC,GAAM,EAAE,SAAS,IACpC,EAAI,GAAU,IAAI,AAAC,GAAM,EAAE,SAAS,IAC1C,GAAM,CACJ,KAAK,IAAI,GAAG,GACZ,KAAK,IAAI,GAAG,GACZ,KAAK,IAAI,GAAG,GAAK,KAAK,IAAI,GAAG,GAC7B,KAAK,IAAI,GAAG,GAAK,KAAK,IAAI,GAAG,IAE/B,GAAM,GAAO,GAAU,IAAI,AAAC,GAAM,EAAE,YAAY,IAC1C,EAAO,GAAU,IAAI,AAAC,GAAM,EAAE,YAAY,IAChD,GAAS,CACP,KAAK,IAAI,GAAG,GACZ,KAAK,IAAI,GAAG,GACZ,KAAK,IAAI,GAAG,GAAQ,KAAK,IAAI,GAAG,GAChC,KAAK,IAAI,GAAG,GAAQ,KAAK,IAAI,GAAG,IAElC,EAAQ,CAAC,CAAE,GAAI,EAAG,SAAO,OAAK,UAAQ,mBCzF1C,8CCGO,GAAM,IAAS,CACpB,CAAE,MAAO,EAAG,MAAO,UACnB,CAAE,MAAO,EAAG,MAAO,WACnB,CAAE,MAAO,EAAG,MAAO,OACnB,CAAE,MAAO,EAAG,MAAO,cACnB,CAAE,MAAO,EAAG,MAAO,YACnB,CAAE,MAAO,EAAG,MAAO,OACnB,CAAE,MAAO,EAAG,MAAO,SACnB,CAAE,MAAO,EAAG,MAAO,SACnB,CAAE,MAAO,EAAG,MAAO,QACnB,CAAE,MAAO,GAAI,MAAO,iBACpB,CAAE,MAAO,GAAI,MAAO,gBACpB,CAAE,MAAO,GAAI,MAAO,aACpB,CAAE,MAAO,GAAI,MAAO,iBACpB,CAAE,MAAO,GAAI,MAAO,SACpB,CAAE,MAAO,GAAI,MAAO,QACpB,CAAE,MAAO,GAAI,MAAO,OACpB,CAAE,MAAO,GAAI,MAAO,OACpB,CAAE,MAAO,GAAI,MAAO,SACpB,CAAE,MAAO,GAAI,MAAO,SACpB,CAAE,MAAO,GAAI,MAAO,OACpB,CAAE,MAAO,GAAI,MAAO,YACpB,CAAE,MAAO,GAAI,MAAO,QACpB,CAAE,MAAO,GAAI,MAAO,SACpB,CAAE,MAAO,GAAI,MAAO,WACpB,CAAE,MAAO,GAAI,MAAO,YACpB,CAAE,MAAO,GAAI,MAAO,YACpB,CAAE,MAAO,GAAI,MAAO,WACpB,CAAE,MAAO,GAAI,MAAO,OACpB,CAAE,MAAO,GAAI,MAAO,YACpB,CAAE,MAAO,GAAI,MAAO,WACpB,CAAE,MAAO,GAAI,MAAO,QACpB,CAAE,MAAO,GAAI,MAAO,aACpB,CAAE,MAAO,GAAI,MAAO,eACpB,CAAE,MAAO,GAAI,MAAO,QACpB,CAAE,MAAO,GAAI,MAAO,gBACpB,CAAE,MAAO,GAAI,MAAO,kBACpB,CAAE,MAAO,GAAI,MAAO,cACpB,CAAE,MAAO,GAAI,MAAO,aACpB,CAAE,MAAO,GAAI,MAAO,iBACpB,CAAE,MAAO,GAAI,MAAO,UACpB,CAAE,MAAO,GAAI,MAAO,cACpB,CAAE,MAAO,GAAI,MAAO,OACpB,CAAE,MAAO,GAAI,MAAO,QACpB,CAAE,MAAO,GAAI,MAAO,SACpB,CAAE,MAAO,GAAI,MAAO,SACpB,CAAE,MAAO,GAAI,MAAO,QACpB,CAAE,MAAO,GAAI,MAAO,UACpB,CAAE,MAAO,GAAI,MAAO,SACpB,CAAE,MAAO,GAAI,MAAO,YACpB,CAAE,MAAO,GAAI,MAAO,UACpB,CAAE,MAAO,GAAI,MAAO,YACpB,CAAE,MAAO,GAAI,MAAO,UACpB,CAAE,MAAO,GAAI,MAAO,WACpB,CAAE,MAAO,GAAI,MAAO,SACpB,CAAE,MAAO,GAAI,MAAO,SACpB,CAAE,MAAO,GAAI,MAAO,QACpB,CAAE,MAAO,GAAI,MAAO,SACpB,CAAE,MAAO,GAAI,MAAO,SACpB,CAAE,MAAO,GAAI,MAAO,gBACpB,CAAE,MAAO,GAAI,MAAO,OACpB,CAAE,MAAO,GAAI,MAAO,gBACpB,CAAE,MAAO,GAAI,MAAO,UACpB,CAAE,MAAO,GAAI,MAAO,MACpB,CAAE,MAAO,GAAI,MAAO,UACpB,CAAE,MAAO,GAAI,MAAO,SACpB,CAAE,MAAO,GAAI,MAAO,UACpB,CAAE,MAAO,GAAI,MAAO,YACpB,CAAE,MAAO,GAAI,MAAO,cACpB,CAAE,MAAO,GAAI,MAAO,aACpB,CAAE,MAAO,GAAI,MAAO,QACpB,CAAE,MAAO,GAAI,MAAO,WACpB,CAAE,MAAO,GAAI,MAAO,QACpB,CAAE,MAAO,GAAI,MAAO,gBACpB,CAAE,MAAO,GAAI,MAAO,QACpB,CAAE,MAAO,GAAI,MAAO,SACpB,CAAE,MAAO,GAAI,MAAO,QACpB,CAAE,MAAO,GAAI,MAAO,YACpB,CAAE,MAAO,GAAI,MAAO,cACpB,CAAE,MAAO,GAAI,MAAO,cACpB,CAAE,MAAO,GAAI,MAAO,eD1EtB,GAAI,GACA,GAAoB,GACpB,GAAU,OAAO,iBAEf,GAAW,IAEjB,kBAA2B,EAAQ,CACjC,GAAK,EAOE,AAAI,EAAO,OAAO,EAAI,gBAAiB,EAAM,cAPxC,CACV,EAAQ,KAAM,AAAG,kBAAe,EAAK,EAAO,cAAe,EAAO,OAAO,YACzE,GAAM,GAAS,OAAO,OAAO,EAAM,eAAe,QAElD,GADA,EAAM,UAAY,MAAM,QAAQ,GAAU,SAAS,EAAO,GAAG,YAAY,IAAI,GAAG,MAAQ,KACpF,CAAC,EAAM,UAAW,KAAM,IAAI,OAAM,4CAA4C,EAAO,OAAO,aAChG,AAAI,CAAC,GAAS,CAAC,EAAM,SAAU,EAAI,qBAAsB,EAAO,OAAO,WAC9D,EAAO,OAAO,EAAI,cAAe,EAAM,UAElD,MAAO,GAGT,kBAAuB,EAAK,EAAW,EAAa,EAAQ,CAC1D,GAAI,GAAK,EACL,EAAuB,GAC3B,OAAW,KAAc,CAAC,EAAG,EAAG,GAE9B,AAAG,OAAK,IAAM,CAhClB,QAiCM,GAAM,GAAW,EAAa,GAExB,EAAU,KAAI,KAAK,AAAC,GAAO,EAAE,MAAM,KAAQ,GAAY,GAAM,EAAE,MAAM,KAAO,GAAO,UAAzE,cAAmF,UAC7F,EAAY,KAAI,KAAK,AAAC,GAAO,EAAE,MAAM,KAAQ,GAAY,GAAM,EAAE,MAAM,GAAK,GAAO,UAAvE,cAAiF,UAE7F,EAAS,AADE,EAAU,QAAQ,CAAC,GAAI,EAAG,EAAU,MAAM,GAAK,IACxC,OAAO,GAAG,YAC5B,EAAS,EAAQ,YACvB,OAAS,GAAI,EAAG,EAAI,EAAQ,MAAM,GAAI,IACpC,OAAS,GAAI,EAAG,EAAI,EAAQ,MAAM,GAAI,IAAK,CACzC,GAAM,GAAQ,EAAO,GAAG,GACxB,GAAI,EAAQ,EAAO,OAAO,eAAiB,IAAM,GAAI,CACnD,GAAM,GAAM,IAAM,KAAK,MAAM,EAAI,IAAa,EACxC,EAAM,IAAM,KAAK,MAAM,EAAI,IAAa,EACxC,EAAY,EAAO,GAAG,IAAI,AAAC,GAAM,EAAK,GAAW,EAAa,IAC9D,CAAC,EAAG,GAAK,CACb,EAAM,GAAW,EAAa,EAAU,GACxC,EAAM,GAAW,EAAa,EAAU,IAEpC,CAAC,EAAG,GAAK,CACb,EAAM,GAAW,EAAa,EAAU,GAAM,EAC9C,EAAM,GAAW,EAAa,EAAU,GAAM,GAE5C,EAAS,CAAC,EAAG,EAAG,EAAG,GACvB,EAAS,EAAO,IAAI,AAAC,GAAM,KAAK,IAAI,EAAG,KAAK,IAAI,EAAG,KACnD,GAAM,GAAM,CACV,EAAO,GAAK,EAAY,GACxB,EAAO,GAAK,EAAY,GACxB,EAAO,GAAK,EAAY,GACxB,EAAO,GAAK,EAAY,IAEpB,EAAS,CACb,GAAI,IAEJ,MAAO,KAAK,MAAM,IAAM,GAAS,IACjC,MAAO,EAAI,EACX,MAAO,GAAO,GAAG,MAGjB,IAAM,EAAI,IAAI,AAAC,GAAM,KAAK,MAAM,IAChC,OAAQ,GAEV,EAAQ,KAAK,OAOvB,EAAI,QAAQ,AAAC,GAAM,AAAG,UAAQ,IAI9B,GAAM,GAAW,EAAQ,IAAI,AAAC,GAAM,CAAC,EAAE,OAAO,GAAI,EAAE,OAAO,GAAI,EAAE,OAAO,GAAI,EAAE,OAAO,KAC/E,EAAY,EAAQ,IAAI,AAAC,GAAM,EAAE,OACnC,EAAwB,GAC5B,GAAI,GAAY,EAAS,OAAS,EAAG,CACnC,GAAM,GAAM,KAAM,AAAG,SAAM,uBAAuB,EAAU,EAAW,EAAO,OAAO,YAAa,EAAO,OAAO,aAAc,EAAO,OAAO,eAC5I,EAAS,EAAI,WACb,AAAG,UAAQ,GAIb,SAAU,EACP,OAAO,CAAC,EAAG,IAAQ,EAAO,SAAS,IACnC,KAAK,CAAC,EAAG,IAAO,EAAE,MAAQ,EAAE,OAExB,EAGT,kBAA8B,EAAO,EAAyB,CAC5D,MAAK,IAAU,EAAO,OAAO,YAAe,EAAO,WAAc,GAAK,OAAS,EAC7E,MACO,IAET,IAAU,EACH,GAAI,SAAQ,KAAO,IAAY,CACpC,GAAM,GAAa,CAAC,EAAM,MAAM,GAAI,EAAM,MAAM,IAC1C,EAAS,AAAG,QAAM,eAAe,EAAO,CAAC,EAAM,UAAW,EAAM,WAAY,IAC5E,EAAO,EAAO,IAAI,KAClB,EAAY,EAAK,UAAU,CAAC,EAAG,EAAG,EAAG,IAC3C,EAAK,UACL,EAAO,UAEP,GAAI,GACJ,AAAI,EAAO,OAAO,SAAS,GAAU,KAAM,GAAM,QAAQ,IACzD,EAAU,UAEV,GAAM,GAAM,KAAM,IAAQ,EAAS,EAAM,UAAW,EAAY,GAChE,GAAO,EACP,EAAQ,ME1HZ,8CASA,GAAI,GACA,GAAe,GACf,GAAU,OAAO,iBAErB,kBAA2B,EAAQ,CACjC,GAAK,EAOE,AAAI,EAAO,OAAO,EAAI,gBAAiB,EAAM,cAPxC,CACV,EAAQ,KAAM,AAAG,kBAAe,EAAK,EAAO,cAAe,EAAO,OAAO,YACzE,GAAM,GAAS,OAAO,OAAO,EAAM,eAAe,QAElD,GADA,EAAM,UAAY,MAAM,QAAQ,GAAU,SAAS,EAAO,GAAG,YAAY,IAAI,GAAG,MAAQ,KACpF,CAAC,EAAM,UAAW,KAAM,IAAI,OAAM,4CAA4C,EAAO,OAAO,aAChG,AAAI,CAAC,GAAS,CAAC,EAAM,SAAU,EAAI,qBAAsB,EAAO,OAAO,WAC9D,EAAO,OAAO,EAAI,cAAe,EAAM,UAElD,MAAO,GAGT,kBAAuB,EAAK,EAAW,EAAa,EAAQ,CAC1D,GAAI,CAAC,EAAK,MAAO,GACjB,GAAM,GAAuB,GACvB,EAAa,EAAI,YACjB,EAAW,AAAG,UAAQ,GAC5B,EAAI,UACJ,GAAM,GAAM,AAAG,QAAM,EAAU,EAAG,GAClC,EAAS,UAET,GAAM,GAAS,AADA,AAAG,QAAM,CAAC,EAAI,GAAI,EAAI,GAAI,EAAI,GAAI,EAAI,IAAK,GACpC,UAChB,EAAU,EAAI,GAAG,UACjB,EAAW,EAAI,GAAG,UACxB,EAAI,QAAQ,AAAC,GAAM,EAAE,WACrB,GAAM,GAAO,KAAM,AAAG,SAAM,uBAAuB,EAAQ,EAAS,EAAO,OAAO,YAAa,EAAO,OAAO,aAAc,EAAO,OAAO,eACzI,EAAO,UACP,EAAQ,UACR,EAAS,UACT,GAAM,GAAM,EAAK,WACjB,EAAK,UACL,GAAI,GAAI,EACR,OAAW,KAAM,GAAK,CACpB,GAAM,GAAQ,KAAK,MAAM,IAAM,EAAW,GAAG,GAAI,IAAM,IACjD,EAAW,EAAW,GAAG,GAAI,GAC7B,EAAQ,GAAO,GAAU,MACzB,EAAS,CACb,EAAW,GAAG,GAAI,GAAK,EACvB,EAAW,GAAG,GAAI,GAAK,EACvB,EAAW,GAAG,GAAI,GAAK,EACvB,EAAW,GAAG,GAAI,GAAK,GAEnB,EAAM,CACV,KAAK,MAAM,EAAO,GAAK,EAAY,IACnC,KAAK,MAAM,EAAO,GAAK,EAAY,IACnC,KAAK,MAAM,EAAO,GAAK,EAAY,IACnC,KAAK,MAAM,EAAO,GAAK,EAAY,KAErC,EAAQ,KAAK,CAAE,GAAI,IAAK,QAAO,MAAO,EAAU,QAAO,MAAK,WAE9D,MAAO,GAGT,kBAA8B,EAAO,EAAyB,CAC5D,MAAK,IAAU,EAAO,OAAO,YAAe,EAAO,WAAc,GAAK,OAAS,EAC7E,MACO,IAET,IAAU,EACH,GAAI,SAAQ,KAAO,IAAY,CACpC,GAAM,GAAa,CAAC,EAAM,MAAM,GAAI,EAAM,MAAM,IAC1C,EAAS,AAAG,QAAM,eAAe,EAAO,CAAC,EAAM,UAAW,EAAM,YAChE,EAAU,EAAO,OAAO,QAAU,EAAM,QAAQ,EAAQ,CAAC,uBAAyB,KACxF,EAAO,UAEP,GAAM,GAAM,KAAM,IAAQ,EAAS,EAAM,UAAW,EAAY,GAChE,GAAO,EACP,EAAQ,MC1EL,GAAM,IAAO,AAAC,GAAmB,CACtC,GAAI,CAAC,EAAK,MAAO,GACjB,GAAM,GAAqD,GAC3D,OAAS,GAAI,EAAG,EAAI,EAAI,OAAQ,IAAK,CAEnC,GAAM,GAAY,EAAI,GAAG,UAAU,KAAK,AAAC,GAAO,EAAE,OAAS,aACrD,EAAa,EAAI,GAAG,UAAU,KAAK,AAAC,GAAO,EAAE,OAAS,cACtD,EAAO,EAAI,GAAG,UAAU,KAAK,AAAC,GAAO,EAAE,OAAS,QACtD,AAAI,GAAQ,GAAa,GAAe,EAAU,SAAS,EAAI,EAAK,SAAS,GAAO,EAAW,SAAS,EAAI,EAAK,SAAS,EAAI,EAAS,KAAK,CAAE,KAAM,EAAG,QAAS,cAC3J,AAAI,GAAQ,GAAc,EAAU,SAAS,EAAI,EAAK,SAAS,EAAI,EAAS,KAAK,CAAE,KAAM,EAAG,QAAS,oBACjG,GAAQ,GAAe,EAAW,SAAS,EAAI,EAAK,SAAS,GAAI,EAAS,KAAK,CAAE,KAAM,EAAG,QAAS,qBAG5G,GAAM,GAAe,EAAI,GAAG,UAAU,KAAK,AAAC,GAAO,EAAE,OAAS,gBACxD,EAAgB,EAAI,GAAG,UAAU,KAAK,AAAC,GAAO,EAAE,OAAS,iBAC/D,AAAI,GAAgB,GAAe,EAAS,KAAK,CAAE,KAAM,EAAG,QAAS,WAAY,EAAa,SAAS,EAAI,EAAc,SAAS,EAAK,OAAS,YAElJ,MAAO,IAGI,GAAO,AAAC,GAAmB,CACtC,GAAI,CAAC,EAAK,MAAO,GACjB,GAAM,GAAqD,GAC3D,OAAS,GAAI,EAAG,EAAI,EAAI,OAAQ,IAC9B,GAAI,EAAI,GAAG,MAAQ,EAAI,GAAG,KAAK,OAAS,EAAG,CACzC,GAAM,GAAY,EAAI,GAAG,KAAK,IAAI,GAAK,EAAI,GAAG,KAAK,KAAK,GACxD,AAAI,KAAK,IAAI,GAAa,GAAI,EAAS,KAAK,CAAE,KAAM,EAAG,QAAS,kBAC3D,EAAS,KAAK,CAAE,KAAM,EAAG,QAAS,UAAU,EAAY,EAAI,OAAS,YAEtE,AADa,KAAK,IAAI,EAAI,GAAG,KAAK,KAAK,GAAK,EAAI,GAAG,KAAK,KAAK,IAAM,KAAK,IAAI,EAAI,GAAG,KAAK,KAAK,GAAK,EAAI,GAAG,KAAK,KAAK,IACxG,IAAK,EAAS,KAAK,CAAE,KAAM,EAAG,QAAS,mBAElD,AADc,KAAK,IAAI,EAAI,GAAG,KAAK,KAAK,GAAK,EAAI,GAAG,KAAK,KAAK,IAAM,KAAK,IAAI,EAAI,GAAG,KAAK,KAAK,GAAK,EAAI,GAAG,KAAK,KAAK,IACxG,IAAK,EAAS,KAAK,CAAE,KAAM,EAAG,QAAS,oBACvD,GAAM,GAAY,KAAK,IAAI,IAAK,IAAM,KAAK,IAAI,EAAI,GAAG,KAAK,IAAI,GAAK,EAAI,GAAG,KAAK,IAAI,IAAM,KAAK,IAAI,EAAI,GAAG,KAAK,IAAI,GAAK,EAAI,GAAG,KAAK,KAAK,KACzI,AAAI,EAAY,IAAI,EAAS,KAAK,CAAE,KAAM,EAAG,QAAS,SAAS,KAAK,MAAM,aAC1E,GAAM,GAAY,EAAI,GAAG,KAAK,KAAK,GACnC,AAAI,KAAK,IAAI,GAAa,IAAI,EAAS,KAAK,CAAE,KAAM,EAAG,QAAS,QAAQ,EAAY,EAAI,KAAO,WAGnG,MAAO,IAGI,GAAO,AAAC,GAAmB,CACtC,GAAI,CAAC,EAAK,MAAO,GACjB,GAAM,GAAqD,GAC3D,OAAS,GAAI,EAAG,EAAI,EAAI,OAAQ,IAAK,CACnC,GAAI,CAAC,EAAI,GAAG,aAAe,CAAC,EAAI,GAAG,YAAY,aAAe,CAAC,EAAI,GAAG,YAAY,aAAc,SAChG,GAAM,GAAY,EAAI,GAAG,YAAY,YAAY,GAAG,GAAK,EAAI,GAAG,YAAY,YAAY,GAAG,GACrF,EAAY,EAAI,GAAG,YAAY,YAAY,GAAG,GAAK,EAAI,GAAG,YAAY,YAAY,GAAG,GACrF,EAAW,KAAK,IAAI,EAAY,GAEhC,EAAa,EAAI,GAAG,YAAY,aAAa,GAAG,GAAK,EAAI,GAAG,YAAY,aAAa,GAAG,GACxF,EAAa,EAAI,GAAG,YAAY,aAAa,GAAG,GAAK,EAAI,GAAG,YAAY,aAAa,GAAG,GACxF,EAAY,KAAK,IAAI,EAAa,GAEpC,EAAS,GAEb,AAAI,AADe,KAAK,IAAI,EAAW,GAAa,KAAK,IAAI,EAAU,GACtD,KACf,GAAS,GACT,EAAS,KAAK,CAAE,KAAM,EAAG,QAAS,mBAGpC,GAAM,GAAmB,KAAK,IAAI,EAAI,GAAG,KAAK,IAAI,GAAK,EAAI,GAAG,YAAY,aAAa,GAAG,IAAM,EAAI,GAAG,IAAI,GACrG,EAAkB,KAAK,IAAI,EAAI,GAAG,KAAK,KAAK,GAAK,EAAI,GAAG,YAAY,YAAY,GAAG,IAAM,EAAI,GAAG,IAAI,GAC1G,AAAI,GAAkB,KAAQ,EAAmB,MAAM,GAAS,IAC5D,EAAkB,KAAM,EAAS,KAAK,CAAE,KAAM,EAAG,QAAS,kBAC1D,EAAmB,KAAM,EAAS,KAAK,CAAE,KAAM,EAAG,QAAS,iBAE/D,GAAM,GAAmB,KAAK,IAAI,EAAI,GAAG,KAAK,KAAK,GAAK,EAAI,GAAG,YAAY,aAAa,GAAG,IAAM,EAAI,GAAG,IAAI,GACtG,EAAkB,KAAK,IAAI,EAAI,GAAG,KAAK,KAAK,GAAK,EAAI,GAAG,YAAY,YAAY,GAAG,IAAM,EAAI,GAAG,IAAI,GAC1G,AAAI,GAAkB,KAAQ,EAAmB,KAAQ,EAAkB,MAAS,EAAmB,OAAO,GAAS,IACnH,GAAkB,KAAQ,EAAmB,MAAM,EAAS,KAAK,CAAE,KAAM,EAAG,QAAS,iBACrF,GAAkB,MAAS,EAAmB,OAAO,EAAS,KAAK,CAAE,KAAM,EAAG,QAAS,eAGvF,GAAQ,EAAS,KAAK,CAAE,KAAM,EAAG,QAAS,mBAEhD,MAAO,IAGI,GAAO,AAAC,GAAmB,CACtC,GAAI,CAAC,EAAK,MAAO,GACjB,GAAM,GAAqD,GAC3D,OAAS,GAAI,EAAG,EAAI,EAAI,OAAQ,IAAK,CACnC,GAAM,GAAqD,GAC3D,OAAW,CAAC,EAAQ,IAAQ,QAAO,QAAQ,EAAI,GAAG,aAChD,AAAI,IAAW,YAAc,MAAM,QAAQ,IAAM,EAAQ,KAAK,CAAE,KAAM,EAAO,cAAe,SAAU,EAAI,KAE5G,GAAI,GAAW,EAAQ,OAAS,EAAG,CACjC,GAAM,GAAU,EAAQ,OAAO,CAAC,EAAM,IAAO,EAAK,SAAS,GAAK,EAAE,SAAS,GAAK,EAAO,GACjF,EAAU,EAAQ,OAAO,CAAC,EAAM,IAAO,EAAK,SAAS,GAAK,EAAE,SAAS,GAAK,EAAO,GACvF,EAAS,KAAK,CAAE,KAAM,EAAG,QAAS,GAAG,EAAQ,gBAAgB,EAAQ,aAGzE,MAAO,IC/FT,YAAmB,EAAI,EAAc,EAAgB,CACnD,GAAM,GAAW,SAAU,EAAQ,EAAQ,EAAY,CACrD,GAAM,GAAI,GAAI,QAAO,MAAQ,EAAS,eAAgB,MACtD,EAAO,QAAQ,EAAG,CAAC,EAAO,IACxB,GAAW,GAAQ,EACZ,KAIL,EAAW,SAAU,EAAQ,EAAM,CACvC,GAAM,GAAS,EAAG,aAAa,GAG/B,GAFA,EAAG,aAAa,EAAQ,GACxB,EAAG,cAAc,GACb,CAAC,EAAG,mBAAmB,EAAQ,EAAG,gBAAiB,KAAM,IAAI,OAAM,4BAA6B,EAAG,iBAAiB,IACxH,MAAO,IAGT,KAAK,QAAU,GACf,KAAK,UAAY,GACjB,GAAM,GAAO,EAAS,EAAc,EAAG,eACjC,EAAO,EAAS,EAAgB,EAAG,iBAMzC,GALA,KAAK,GAAK,EAAG,gBACb,EAAG,aAAa,KAAK,GAAI,GACzB,EAAG,aAAa,KAAK,GAAI,GACzB,EAAG,YAAY,KAAK,IAEhB,CAAC,EAAG,oBAAoB,KAAK,GAAI,EAAG,aAAc,KAAM,IAAI,OAAM,yBAA0B,EAAG,kBAAkB,KAAK,KAE1H,EAAG,WAAW,KAAK,IAEnB,EAAS,EAAc,YAAa,KAAK,WACzC,OAAW,KAAK,MAAK,UAAW,KAAK,UAAU,GAAK,EAAG,kBAAkB,KAAK,GAAI,GAElF,EAAS,EAAc,UAAW,KAAK,SACvC,EAAS,EAAgB,UAAW,KAAK,SACzC,OAAW,KAAK,MAAK,QAAS,KAAK,QAAQ,GAAK,EAAG,mBAAmB,KAAK,GAAI,GAI1E,YAAuB,EAAQ,CACpC,AAAK,GAAQ,GAAS,IACtB,GAAI,GAAa,EACb,EAAiB,KACjB,EAAe,GACf,EAA2B,GAC3B,EAAoB,CAAC,KAAM,MAC3B,EAAe,GACf,EAAS,GACT,EAAU,GACV,EAAgB,KAChB,EAAkB,KAChB,EAAU,GACV,EAAU,EAAO,QAAU,SAAS,cAAc,UAElD,EAAsB,GACtB,EAAO,CAAE,aAAc,GACvB,EAAK,EAAQ,WAAW,SAC9B,GAAI,CAAC,EAAI,KAAM,IAAI,OAAM,+BAEzB,KAAK,UAAY,SAAU,EAAM,CAE/B,GAAM,GAAO,MAAM,UAAU,MAAM,KAAK,UAAW,GAC7C,EAAS,EAAQ,GACvB,EAAa,KAAK,CAAE,KAAM,EAAQ,UAGpC,KAAK,MAAQ,UAAY,CACvB,EAAe,IAGjB,GAAM,GAAU,SAAU,EAAO,EAAQ,CAEvC,GAAI,MAAU,GAAU,IAAW,GAMnC,IALA,EAAQ,MAAQ,EAChB,EAAS,EACT,EAAQ,OAAS,EACjB,EAAU,EAEN,CAAC,EAAe,CAElB,GAAM,GAAW,GAAI,cAAa,CAChC,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EACrC,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,IAGrC,AAAC,EAAgB,EAAG,eAAgB,EAAG,WAAW,EAAG,aAAc,GACnE,EAAG,WAAW,EAAG,aAAc,EAAU,EAAG,aAC5C,EAAG,YAAY,EAAG,+BAAgC,IAEpD,EAAG,SAAS,EAAG,EAAG,EAAQ,GAE1B,EAAoB,CAAC,KAAM,QAGvB,EAA4B,SAAU,EAAO,EAAQ,CACzD,GAAM,GAAM,EAAG,oBACf,EAAG,gBAAgB,EAAG,YAAa,GACnC,GAAM,GAAe,EAAG,qBACxB,EAAG,iBAAiB,EAAG,aAAc,GACrC,GAAM,GAAU,EAAG,gBACnB,SAAG,YAAY,EAAG,WAAY,GAC9B,EAAG,WAAW,EAAG,WAAY,EAAG,EAAG,KAAM,EAAO,EAAQ,EAAG,EAAG,KAAM,EAAG,cAAe,MACtF,EAAG,cAAc,EAAG,WAAY,EAAG,mBAAoB,EAAG,QAC1D,EAAG,cAAc,EAAG,WAAY,EAAG,mBAAoB,EAAG,QAC1D,EAAG,cAAc,EAAG,WAAY,EAAG,eAAgB,EAAG,eACtD,EAAG,cAAc,EAAG,WAAY,EAAG,eAAgB,EAAG,eACtD,EAAG,qBAAqB,EAAG,YAAa,EAAG,kBAAmB,EAAG,WAAY,EAAS,GACtF,EAAG,YAAY,EAAG,WAAY,MAC9B,EAAG,gBAAgB,EAAG,YAAa,MAC5B,CAAE,MAAK,YAGV,EAAsB,SAAU,EAAO,CAC3C,SAAkB,GAAS,EAAkB,IAAU,EAA0B,EAAQ,GAClF,EAAkB,IAGrB,EAAQ,SAAU,EAAQ,KAAM,CAzHxC,QA0HI,GAAI,GAAS,KACT,EAAS,KACT,EAAQ,GAEZ,AAAI,IAAe,EAEjB,EAAS,EAGT,EAAS,KAAoB,KAApB,cAA+C,QAE1D,IAEA,AAAI,GAAgB,CAAE,GAAQ,EAAK,cAGjC,GAAS,KACT,EAAQ,EAAa,GAAM,GAG3B,GAA4B,GAA2B,GAAK,EAC5D,EAAS,KAAoB,KAApB,cAA+C,KAG1D,EAAG,YAAY,EAAG,WAAY,GAC9B,EAAG,gBAAgB,EAAG,YAAa,GACnC,EAAG,UAAU,EAAgB,QAAQ,MAAQ,EAAQ,GAAK,GAC1D,EAAG,WAAW,EAAG,UAAW,EAAG,IAGjC,KAAK,MAAQ,SAAU,EAAO,CAY5B,GAXA,EAAQ,EAAM,MAAO,EAAM,QAC3B,EAAa,EAER,GAAgB,GAAiB,EAAG,iBACzC,EAAG,YAAY,EAAG,WAAY,GAC9B,EAAG,cAAc,EAAG,WAAY,EAAG,eAAgB,EAAG,eACtD,EAAG,cAAc,EAAG,WAAY,EAAG,eAAgB,EAAG,eACtD,EAAG,cAAc,EAAG,WAAY,EAAG,mBAAoB,EAAG,SAC1D,EAAG,cAAc,EAAG,WAAY,EAAG,mBAAoB,EAAG,SAC1D,EAAG,WAAW,EAAG,WAAY,EAAG,EAAG,KAAM,EAAG,KAAM,EAAG,cAAe,GAEhE,EAAa,SAAW,EAE1B,WACO,EAET,OAAS,GAAI,EAAG,EAAI,EAAa,OAAQ,IAAK,CAC5C,EAAgB,IAAM,EAAa,OAAS,EAC5C,GAAM,GAAI,EAAa,GACvB,EAAE,KAAK,MAAM,KAAM,EAAE,MAAQ,IAE/B,MAAO,IAGT,GAAM,GAAiB,SAAU,EAAgB,CAC/C,GAAI,EAAoB,GACtB,SAAkB,EAAoB,GACtC,EAAG,WAAW,EAAgB,IACvB,EAGT,GAAM,GAAS,GACf,EAAO,gBAAkB,CACvB,yBACA,sBACA,qBACA,oBACA,uBACA,oBACA,YACA,mDACA,KACA,KAAK;AAAA,GACP,EAAO,kBAAoB,CACzB,yBACA,oBACA,6BACA,oBACA,0CACA,KACA,KAAK;AAAA,GACP,EAAkB,GAAI,IAAU,EAAI,EAAO,gBAAiB,GAC5D,GAAM,GAAY,aAAa,kBACzB,EAAW,EAAI,EACrB,SAAG,wBAAwB,EAAgB,UAAU,KACrD,EAAG,oBAAoB,EAAgB,UAAU,IAAK,EAAG,EAAG,MAAO,GAAO,EAAU,EAAI,GACxF,EAAG,wBAAwB,EAAgB,UAAU,IACrD,EAAG,oBAAoB,EAAgB,UAAU,GAAI,EAAG,EAAG,MAAO,GAAO,EAAU,EAAI,GACvF,EAAoB,GAAkB,EAC/B,GAKT,EAAQ,YAAc,SAAU,EAAQ,CAEtC,GAAM,GAAI,GAAI,cAAa,GAC3B,EAAE,IAAM,IACR,EAAE,IAAM,IACR,EAAE,KAAO,IACT,EAAE,KAAO,IAET,GAAM,GAAU,EAAE,MAAQ,GAAK,EAAE,KAAO,GAAK,EAAE,KAAO,GAAK,EAAE,MAAQ,GAAK,EAAE,MAAQ,GAAK,EAAE,MAAQ,GAAK,EAAE,MAAQ,GAAK,EAAE,MAAQ,EAC7H,EAAQ,YAAY,OAAO,cAC3B,EAAQ,YAAY,OAAO,WACzB,EAAU,EAAe,GAC/B,EAAG,WAAW,EAAQ,QAAQ,EAAG,GACjC,KAEF,EAAQ,YAAY,OAAS,GAC7B,EAAQ,YAAY,OAAO,WAAa,CACtC,yBACA,oBACA,6BACA,uBACA,oBACA,oCACA,6EACA,6EACA,kFACA,kFACA,KACA,KAAK;AAAA,GACP,EAAQ,YAAY,OAAO,cAAgB,CACzC,yBACA,oBACA,6BACA,uBACA,oBACA,oCACA,gEACA,gEACA,oEACA,wBACA,KACA,KAAK;AAAA,GAEP,EAAQ,WAAa,SAAU,EAAY,CACzC,GAAM,GAAK,IAAc,GAAK,EAC9B,EAAQ,YAAY,CAClB,EAAG,EAAG,EAAG,EAAG,EACZ,EAAG,EAAG,EAAG,EAAG,EACZ,EAAG,EAAG,EAAG,EAAG,EACZ,EAAG,EAAG,EAAG,EAAG,KAIhB,EAAQ,WAAa,SAAU,EAAQ,CACrC,GAAM,GAAK,IAAU,GAAK,EAAI,EAAI,EAC5B,EAAM,GAAI,GAAK,IACrB,EAAQ,YAAY,CAClB,EAAG,EAAG,EAAG,EAAG,EACZ,EAAG,EAAG,EAAG,EAAG,EACZ,EAAG,EAAG,EAAG,EAAG,EACZ,EAAG,EAAG,EAAG,EAAG,KAIhB,EAAQ,WAAa,UAAY,CAC/B,EAAQ,WAAW,KAGrB,EAAQ,SAAW,SAAU,EAAQ,CACnC,GAAM,GAAK,IAAU,GAAK,EACpB,EAAI,KAAQ,GAAI,GAEtB,EAAQ,YAAY,CAClB,EAAG,EAAG,EAAG,EAAG,EACZ,EAAG,EAAG,EAAG,EAAG,EACZ,EAAG,EAAG,EAAG,EAAG,EACZ,EAAG,EAAG,EAAG,EAAG,KAIhB,EAAQ,SAAW,UAAY,CAC7B,EAAQ,SAAS,KAGnB,EAAQ,IAAM,SAAU,EAAU,CAChC,EAAY,IAAY,GAAK,IAAM,KAAK,GACxC,GAAM,GAAM,KAAK,IAAI,GACf,EAAM,KAAK,IAAI,GACf,EAAO,KACP,EAAO,KACP,EAAO,KAEb,EAAQ,YAAY,CAClB,EAAO,EAAO,GAAI,GAAQ,EAAO,CAAC,EAAO,EAAO,EAAO,CAAC,EAAQ,EAAO,CAAC,EAAO,EAAO,EAAO,CAAC,EAAQ,EAAO,GAAI,GAAO,EAAG,EAC3H,EAAO,EAAO,CAAC,EAAQ,EAAO,KAAQ,EAAO,EAAO,GAAI,GAAQ,EAAO,IAAQ,EAAO,EAAO,CAAC,EAAQ,EAAO,MAAS,EAAG,EACzH,EAAO,EAAO,CAAC,EAAQ,EAAO,CAAE,GAAI,GAAQ,EAAO,EAAO,CAAC,EAAQ,EAAO,EAAO,EAAO,EAAO,GAAI,GAAQ,EAAO,EAAO,EAAG,EAC5H,EAAG,EAAG,EAAG,EAAG,KAIhB,EAAQ,oBAAsB,UAAY,CACxC,EAAQ,YAAY,CAClB,SAAW,QAAW,SAAW,EAAG,MACpC,SAAW,QAAW,SAAW,EAAG,MACpC,SAAW,QAAW,SAAW,EAAG,MACpC,EAAG,EAAG,EAAG,EAAG,KAIhB,EAAQ,MAAQ,UAAY,CAC1B,EAAQ,YAAY,CAClB,KAAO,SAAW,UAAY,EAAG,EACjC,KAAO,SAAW,UAAY,EAAG,EACjC,KAAO,SAAW,UAAY,EAAG,EACjC,EAAG,EAAG,EAAG,EAAG,KAIhB,EAAQ,QAAU,UAAY,CAC5B,EAAQ,YAAY,CAClB,kBAAoB,mBAAqB,mBAAqB,EAAG,kBACjE,qBAAuB,kBAAoB,mBAAqB,EAAG,mBACnE,mBAAqB,oBAAsB,mBAAqB,EAAG,mBACnE,EAAG,EAAG,EAAG,EAAG,KAIhB,EAAQ,eAAiB,UAAY,CACnC,EAAQ,YAAY,CAClB,kBAAoB,kBAAoB,oBAAsB,EAAG,kBACjE,mBAAqB,kBAAoB,mBAAqB,EAAG,kBACjE,kBAAoB,mBAAqB,kBAAoB,EAAG,kBAChE,EAAG,EAAG,EAAG,EAAG,KAIhB,EAAQ,WAAa,UAAY,CAC/B,EAAQ,YAAY,CAClB,mBAAoB,mBAAqB,oBAAsB,EAAG,kBAClE,oBAAsB,mBAAoB,oBAAsB,EAAG,mBACnE,oBAAsB,mBAAqB,mBAAoB,EAAG,kBAClE,EAAG,EAAG,EAAG,EAAG,KAIhB,EAAQ,YAAc,UAAY,CAChC,EAAQ,YAAY,CAClB,mBAAoB,mBAAqB,oBAAsB,EAAG,mBAClE,mBAAqB,mBAAoB,oBAAsB,EAAG,mBAClE,kBAAoB,mBAAqB,kBAAmB,EAAG,mBAC/D,EAAG,EAAG,EAAG,EAAG,KAIhB,EAAQ,SAAW,UAAY,CAC7B,EAAQ,YAAY,CAClB,MAAO,MAAQ,MAAQ,EAAG,EAC1B,MAAQ,MAAO,MAAQ,EAAG,EAC1B,MAAQ,MAAQ,MAAO,EAAG,EAC1B,EAAG,EAAG,EAAG,EAAG,KAIhB,EAAQ,WAAa,UAAY,CAC/B,EAAQ,YAAY,CAClB,EAAG,EAAG,EAAG,EAAG,EACZ,EAAG,EAAG,EAAG,EAAG,EACZ,EAAG,EAAG,EAAG,EAAG,EACZ,EAAG,EAAG,EAAG,EAAG,KAMhB,EAAQ,YAAc,SAAU,EAAQ,CACtC,GAAM,GAAI,GAAI,cAAa,GACrB,EAAa,EAAI,EACjB,EAAa,EAAI,EACjB,EAAU,EAAe,EAAQ,YAAY,QACnD,EAAG,WAAW,EAAQ,QAAQ,EAAG,GACjC,EAAG,UAAU,EAAQ,QAAQ,GAAI,EAAY,GAC7C,KAGF,EAAQ,YAAY,OAAS,CAC3B,yBACA,oBACA,6BACA,mBACA,sBACA,oBACA,2CACA,4DACA,mEACA,6DACA,sCACA,6DACA,oEACA,6DACA,4CACA,kBACA,yCACA,yCACA,wCACA,0BACA,KACA,KAAK;AAAA,GAEP,EAAQ,YAAc,UAAY,CAChC,EAAQ,YAAY,KAAK,KAAM,CAC7B,EAAG,EAAG,EACN,EAAG,GAAI,EACP,EAAG,EAAG,KAIV,EAAQ,OAAS,UAAY,CAC3B,EAAQ,YAAY,KAAK,KAAM,CAC7B,GAAI,EAAG,EACP,GAAI,EAAG,EACP,GAAI,EAAG,KAIX,EAAQ,OAAS,UAAY,CAC3B,EAAQ,YAAY,KAAK,KAAM,CAC7B,GAAI,GAAI,GACR,EAAG,EAAG,EACN,EAAG,EAAG,KAIV,EAAQ,QAAU,SAAU,EAAQ,CAClC,GAAM,GAAI,GAAU,EACpB,EAAQ,YAAY,KAAK,KAAM,CAC7B,EAAG,GAAK,EAAG,EACX,GAAK,EAAG,EAAI,EAAI,EAAG,GAAK,EACxB,EAAG,GAAK,EAAG,KAIf,EAAQ,OAAS,SAAU,EAAM,CAC/B,GAAM,GAAI,GAAQ,EAClB,EAAQ,YAAY,KAAK,KAAM,CAC7B,GAAK,EAAG,GAAK,EAAG,EAChB,GAAK,EAAG,EAAG,EAAI,EACf,EAAG,EAAI,EAAG,EAAI,KAMlB,EAAQ,KAAO,SAAU,EAAM,CAC7B,GAAM,GAAa,EAAO,EAAK,EACzB,EAAa,EAAO,EAAK,EACzB,EAAU,EAAe,EAAQ,KAAK,QAE5C,EAAG,UAAU,EAAQ,QAAQ,GAAI,EAAG,GACpC,EAAM,EAAK,cAEX,EAAG,UAAU,EAAQ,QAAQ,GAAI,EAAW,GAC5C,KAGF,EAAQ,KAAK,OAAS,CACpB,yBACA,oBACA,6BACA,mBACA,oBACA,4BACA,8FACA,yFACA,wFACA,wFACA,wFACA,uFACA,uFACA,uFACA,uFACA,uFACA,wFACA,wFACA,wFACA,yFACA,8FACA,KACA,KAAK;AAAA,GAIP,EAAQ,SAAW,SAAU,EAAM,CACjC,GAAM,GAAa,EAAQ,EACrB,EAAa,EAAQ,EACrB,EAAU,EAAe,EAAQ,SAAS,QAEhD,EAAG,UAAU,EAAQ,QAAQ,KAAM,EAAW,GAC9C,KAGF,EAAQ,SAAS,OAAS,CACxB,yBACA,oBACA,qBACA,6BACA,yCACA,uCACA,IACA,oBACA,4BACA,oCACA,6CACA,KACA,KAAK;GC1gBT,GAAM,IAAU,KAEZ,EACA,EAEA,EAKG,YAAiB,EAAO,EAAgF,CAC7G,GAAI,GACJ,GAAI,CAAC,EAAO,KAAM,IAAI,OAAM,2BAE5B,GACE,CAAE,aAAoB,YACnB,CAAE,OAAO,QAAU,aAAe,YAAiB,SACnD,CAAE,OAAO,YAAc,aAAe,YAAiB,aACvD,CAAE,OAAO,cAAgB,aAAe,YAAiB,eACzD,CAAE,OAAO,mBAAqB,aAAe,YAAiB,oBAC9D,CAAE,OAAO,mBAAqB,aAAe,YAAiB,oBAC9D,CAAE,OAAO,mBAAqB,aAAe,YAAiB,oBAC9D,CAAE,OAAO,oBAAsB,aAAe,YAAiB,qBAC/D,CAAE,OAAO,kBAAoB,aAAe,YAAiB,kBAEhE,KAAM,IAAI,OAAM,uCAElB,GAAI,YAAoB,UAEtB,GAAI,EAAM,OAAS,EAAM,MAAM,SAAW,GAAK,EAAM,MAAM,KAAO,GAAK,EAAM,MAAM,KAAO,EAAG,EAAS,AAAG,QAAM,OAC1G,MAAM,IAAI,OAAM,2EAA2E,EAAM,aACjG,CAEL,GAAM,GAAgB,EAAM,cAAmB,EAAM,YAAiB,EAAM,OAAa,EAAM,OAAa,EAAM,MAAS,GAAK,EAC1H,EAAiB,EAAM,eAAoB,EAAM,aAAkB,EAAM,QAAc,EAAM,OAAa,EAAM,MAAS,GAAK,EACpI,GAAI,CAAC,GAAiB,CAAC,EAAgB,MAAO,CAAE,OAAQ,KAAM,OAAQ,GACtE,GAAI,GAAc,EACd,EAAe,EAenB,GAdI,EAAc,IAChB,GAAc,GACd,EAAe,EAAc,EAAiB,GAE5C,EAAe,IACjB,GAAe,GACf,EAAc,EAAe,EAAgB,GAI/C,AAAI,EAAO,OAAO,MAAQ,EAAG,EAAc,EAAO,OAAO,MAChD,EAAO,OAAO,OAAS,GAAG,GAAc,EAAiB,GAAO,OAAO,OAAS,IACzF,AAAI,EAAO,OAAO,OAAS,EAAG,EAAe,EAAO,OAAO,OAClD,EAAO,OAAO,MAAQ,GAAG,GAAe,EAAkB,GAAO,OAAO,MAAQ,IACrF,CAAC,GAAe,CAAC,EAAc,KAAM,IAAI,OAAM,2CACnD,AAAI,EAAC,GAAa,kBAAU,SAAU,GAAiB,kBAAU,UAAW,IAC1E,GAAY,MAAO,kBAAoB,YAAe,GAAI,iBAAgB,EAAa,GAAgB,SAAS,cAAc,UAC1H,kBAAU,SAAU,GAAa,GAAS,MAAQ,GAClD,kBAAU,UAAW,GAAc,GAAS,OAAS,IAI3D,GAAM,GAAM,EAAS,WAAW,MAehC,GAdA,AAAI,YAAiB,WACnB,EAAI,aAAa,EAAO,EAAG,GAE3B,AAAI,EAAO,OAAO,MAAQ,MAAO,GAAI,WAAc,YACjD,GAAI,UAAU,EAAe,GAC7B,EAAI,MAAM,GAAI,GACd,EAAI,UAAU,EAAO,EAAG,EAAG,EAAe,EAAgB,EAAG,EAAG,iBAAU,MAAO,iBAAU,QAC3F,EAAI,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,IAEhC,EAAI,UAAU,EAAO,EAAG,EAAG,EAAe,EAAgB,EAAG,EAAG,iBAAU,MAAO,iBAAU,QAK3F,EAAO,OAAO,QAAS,CAQzB,GAPI,EAAC,GAAM,CAAC,GAAc,EAAS,QAAU,EAAU,OAAW,kBAAU,UAAW,kBAAW,UAChG,GAAa,MAAO,kBAAoB,YAAe,GAAI,iBAAgB,iBAAU,MAAO,iBAAU,QAAU,SAAS,cAAc,UACnI,kBAAW,SAAU,kBAAU,QAAO,GAAU,MAAQ,iBAAU,OAClE,kBAAW,UAAW,kBAAU,SAAQ,GAAU,OAAS,iBAAU,QAEzE,EAAK,AAAG,MAAI,MAAM,WAAa,GAAY,IAAc,CAAE,OAAQ,IAAe,MAEhF,CAAC,EAAI,MAAO,CAAE,OAAQ,KAAM,OAAQ,GACxC,EAAG,QACH,EAAG,UAAU,aAAc,EAAO,OAAO,YACrC,EAAO,OAAO,WAAa,GAAG,EAAG,UAAU,WAAY,EAAO,OAAO,UACrE,EAAO,OAAO,YAAc,GAAG,EAAG,UAAU,UAAW,EAAO,OAAO,WACrE,EAAO,OAAO,OAAS,GAAG,EAAG,UAAU,OAAQ,EAAO,OAAO,MAC7D,EAAO,OAAO,aAAe,GAAG,EAAG,UAAU,aAAc,EAAO,OAAO,YACzE,EAAO,OAAO,MAAQ,GAAG,EAAG,UAAU,MAAO,EAAO,OAAO,KAC3D,EAAO,OAAO,UAAU,EAAG,UAAU,YACrC,EAAO,OAAO,OAAO,EAAG,UAAU,SAClC,EAAO,OAAO,SAAS,EAAG,UAAU,WACpC,EAAO,OAAO,OAAO,EAAG,UAAU,SAClC,EAAO,OAAO,YAAY,EAAG,UAAU,cACvC,EAAO,OAAO,aAAa,EAAG,UAAU,eACxC,EAAO,OAAO,UAAU,EAAG,UAAU,YACrC,EAAO,OAAO,WAAa,GAAG,EAAG,UAAU,WAAY,EAAO,OAAO,UACzE,EAAG,MAAM,OAuBT,GAAY,EACR,GAAI,GAAK,MAIf,GAAI,GACJ,GAAI,EAAU,KAAM,CAClB,GAAM,GAAQ,CAAC,EAAU,OAAQ,EAAU,MAAO,GAClD,EAAS,AAAG,WAAS,EAAU,KAAM,EAAO,iBACnC,YAAqB,WAC9B,EAAS,AAAG,UAAQ,WAAW,WACtB,EAAO,UAAY,SAAW,EAAO,UAAY,UAAW,CAErE,GAAM,GAAc,MAAO,kBAAoB,YAAe,GAAI,iBAAgB,EAAa,GAAgB,SAAS,cAAc,UACtI,EAAW,MAAQ,EACnB,EAAW,OAAS,EACpB,GAAM,GAAU,EAAW,WAAW,MACtC,WAAS,UAAU,EAAW,EAAG,GACjC,EAAS,AAAG,UAAQ,WAAW,OAC1B,CAEL,GAAM,GAAc,MAAO,kBAAoB,YAAe,GAAI,iBAAgB,EAAa,GAAgB,SAAS,cAAc,UACtI,EAAW,MAAQ,EACnB,EAAW,OAAS,EACpB,GAAM,GAAU,EAAW,WAAW,MACtC,WAAS,UAAU,EAAW,EAAG,GACjC,GAAM,GAAO,iBAAS,aAAa,EAAG,EAAG,EAAa,GACtD,EAAS,AAAG,UAAQ,WAAW,GAEjC,GAAM,GAAS,EAAO,UACtB,EAAS,EAAO,WAAW,GAC3B,EAAO,UACP,EAAO,UAET,GAAM,GAAS,EAAO,OAAO,OAAS,EAAY,KAClD,MAAO,CAAE,SAAQ,UCrKnB,0IAgDO,GAAM,IAAuB,CAClC,MAAe,2BACf,WAAoB,yBACpB,YAAqB,QACrB,KAAc,6BACd,WAAoB,GACpB,UAAmB,EACnB,UAAmB,EACnB,UAAmB,GACnB,WAAqB,GACrB,WAAqB,GACrB,UAAoB,GACpB,aAAuB,GACvB,SAAmB,GACnB,aAAuB,GACvB,SAAmB,GACnB,UAAoB,GACpB,eAAyB,IAGrB,GAAU,AAAC,GAAU,KAAK,MAAO,EAAQ,IAAO,KAAK,IAE3D,YAAe,EAAK,EAAG,EAAG,EAAI,EAAG,EAAc,CAC7C,EAAI,UAAY,EAAa,UAAY,EAAI,QAAQ,MAAS,EAAI,MAAO,MAAS,EAAI,eAAkB,EAAa,MACrH,EAAI,YACJ,EAAI,IAAI,EAAG,EAAG,EAAa,UAAW,EAAG,EAAI,KAAK,IAClD,EAAI,OAGN,YAAc,EAAK,EAAG,EAAG,EAAO,EAAQ,EAAc,CAEpD,GADA,EAAI,YACA,EAAa,UAAW,CAC1B,GAAM,GAAM,GAAI,EAAI,GAAS,EACvB,EAAM,GAAI,EAAI,GAAU,EAC9B,EAAI,QAAQ,EAAI,EAAI,EAAQ,EAAG,EAAS,EAAG,EAAG,EAAG,EAAI,KAAK,QAE1D,GAAI,UAAY,EAAa,UAC7B,EAAI,OAAO,EAAI,EAAa,UAAW,GACvC,EAAI,OAAO,EAAI,EAAQ,EAAa,UAAW,GAC/C,EAAI,iBAAiB,EAAI,EAAO,EAAG,EAAI,EAAO,EAAI,EAAa,WAC/D,EAAI,OAAO,EAAI,EAAO,EAAI,EAAS,EAAa,WAChD,EAAI,iBAAiB,EAAI,EAAO,EAAI,EAAQ,EAAI,EAAQ,EAAa,UAAW,EAAI,GACpF,EAAI,OAAO,EAAI,EAAa,UAAW,EAAI,GAC3C,EAAI,iBAAiB,EAAG,EAAI,EAAQ,EAAG,EAAI,EAAS,EAAa,WACjE,EAAI,OAAO,EAAG,EAAI,EAAa,WAC/B,EAAI,iBAAiB,EAAG,EAAG,EAAI,EAAa,UAAW,GACvD,EAAI,YAEN,EAAI,SAGN,YAAe,EAAK,EAAsC,GAAI,EAAc,CAC1E,GAAI,MAAW,QAAa,EAAO,SAAW,GAC9C,GAAI,YACJ,EAAI,OAAO,EAAO,GAAG,GAAI,EAAO,GAAG,IACnC,OAAW,KAAM,GAAQ,CACvB,GAAM,GAAI,EAAG,IAAM,EACnB,EAAI,YAAc,EAAa,UAAY,EAAI,QAAQ,MAAS,EAAI,MAAO,MAAS,EAAI,eAAkB,EAAa,MACvH,EAAI,UAAY,EAAa,UAAY,EAAI,QAAQ,MAAS,EAAI,MAAO,MAAS,EAAI,eAAkB,EAAa,MACrH,EAAI,OAAO,EAAG,GAAI,KAAK,MAAM,EAAG,KAElC,EAAI,SACA,EAAa,cACf,GAAI,YACJ,EAAI,SAIR,YAAgB,EAAK,EAAsC,GAAI,EAAc,CAC3E,GAAI,MAAW,QAAa,EAAO,SAAW,GAC9C,IAAI,CAAC,EAAa,WAAa,EAAO,QAAU,EAAG,CACjD,GAAM,EAAK,EAAQ,GACnB,OAEF,EAAI,OAAO,EAAO,GAAG,GAAI,EAAO,GAAG,IACnC,OAAS,GAAI,EAAG,EAAI,EAAO,OAAS,EAAG,IAAK,CAC1C,GAAM,GAAM,GAAO,GAAG,GAAK,EAAO,EAAI,GAAG,IAAM,EACzC,EAAM,GAAO,GAAG,GAAK,EAAO,EAAI,GAAG,IAAM,EAC/C,EAAI,iBAAiB,EAAO,GAAG,GAAI,EAAO,GAAG,GAAI,EAAI,GAEvD,EAAI,iBAAiB,EAAO,EAAO,OAAS,GAAG,GAAI,EAAO,EAAO,OAAS,GAAG,GAAI,EAAO,EAAO,OAAS,GAAG,GAAI,EAAO,EAAO,OAAS,GAAG,IACzI,EAAI,SACA,EAAa,cACf,GAAI,YACJ,EAAI,SAIR,kBAA8B,EAA6B,EAAwB,EAA2B,CAC5G,GAAM,GAAe,EAAU,GAAS,GAExC,GADI,CAAC,GAAU,CAAC,GACZ,CAAE,aAAoB,oBAAoB,OAC9C,GAAM,GAAM,EAAS,WAAW,MAChC,GAAI,CAAC,EAAK,OACV,EAAI,KAAO,EAAa,KACxB,EAAI,UAAY,EAAa,MAC7B,GAAI,GAAI,EACR,OAAS,GAAI,EAAG,EAAI,EAAO,OAAQ,IAAK,CACtC,GAAI,GAAmB,GACnB,EAAkB,GAEtB,GADA,CAAC,EAAO,GAAQ,OAAO,QAAQ,EAAO,IACjC,EAAK,OAAS,GAAQ,EAAK,GAAc,OAAS,EAAI,CACzD,GAAM,GAAM,EAAM,GAAe,EAAI,IAAI,EAAM,KAAO,GAChD,EAAQ,GAAG,EAAM,MAAM,MAAQ,EAAK,KAC1C,AAAI,EAAa,aAAe,EAAa,cAAgB,IAC3D,GAAI,UAAY,EAAa,YAC7B,EAAI,SAAS,EAAO,EAAG,EAAK,EAAI,EAAa,aAE/C,EAAI,UAAY,EAAa,WAC7B,EAAI,SAAS,EAAO,EAAG,EAAK,EAAI,EAAa,YAC7C,GAAK,IAKX,kBAA2B,EAA6B,EAAqB,EAA2B,CAnKxG,YAoKE,GAAM,GAAe,EAAU,GAAS,GAExC,GADI,CAAC,GAAU,CAAC,GACZ,CAAE,aAAoB,oBAAoB,OAC9C,GAAM,GAAM,EAAS,WAAW,MAChC,GAAI,EAAC,EACL,OAAW,KAAK,GAAQ,CACtB,EAAI,KAAO,EAAa,KACxB,EAAI,YAAc,EAAa,MAC/B,EAAI,UAAY,EAAa,MACzB,EAAa,WAAW,GAAK,EAAK,EAAE,IAAI,GAAI,EAAE,IAAI,GAAI,EAAE,IAAI,GAAI,EAAE,IAAI,GAAI,GAE9E,GAAM,GAAkB,GAKxB,GAJA,EAAO,KAAK,SAAS,KAAK,MAAM,IAAM,EAAE,WACpC,EAAE,aAAa,EAAO,KAAK,GAAG,EAAE,QAAU,MAAM,KAAK,MAAM,IAAM,EAAE,iBACnE,EAAE,KAAK,EAAO,KAAK,QAAQ,EAAE,KAAO,MACpC,EAAE,MAAM,EAAO,KAAK,aAAa,EAAE,QACnC,EAAE,SAAW,EAAE,QAAQ,OAAS,EAAG,CACrC,GAAM,GAAU,EAAE,QAAQ,IAAI,AAAC,GAAM,GAAG,KAAK,MAAM,IAAM,EAAE,WAAW,EAAE,WACxE,AAAI,EAAQ,OAAS,GAAG,GAAQ,OAAS,GACzC,EAAO,KAAK,EAAQ,KAAK,MAE3B,AAAI,EAAE,UAAY,EAAE,SAAS,OAAS,EAAE,SAAS,MAC3C,GAAE,SAAS,MAAM,MAAM,EAAO,KAAK,SAAS,GAAQ,EAAE,SAAS,MAAM,iBAAc,GAAQ,EAAE,SAAS,MAAM,kBAAe,GAAQ,EAAE,SAAS,MAAM,cACpJ,EAAE,SAAS,KAAK,SAAS,EAAO,KAAK,SAAS,GAAQ,EAAE,SAAS,KAAK,iBAExE,EAAO,SAAW,GAAG,EAAO,KAAK,QACrC,EAAI,UAAY,EAAa,MAC7B,OAAS,GAAI,EAAO,OAAS,EAAG,GAAK,EAAG,IAAK,CAC3C,GAAM,GAAI,KAAK,IAAI,EAAE,IAAI,GAAI,GACvB,EAAI,EAAI,EAAa,WAAa,EAAE,IAAI,GAC9C,AAAI,EAAa,aAAe,EAAa,cAAgB,IAC3D,GAAI,UAAY,EAAa,YAC7B,EAAI,SAAS,EAAO,GAAI,EAAI,EAAG,EAAI,KAErC,EAAI,UAAY,EAAa,WAC7B,EAAI,SAAS,EAAO,GAAI,EAAI,EAAG,EAAI,IAGrC,GADA,EAAI,UAAY,EACZ,EAAE,MAAQ,EAAE,KAAK,OAAS,EAAG,CAC/B,GAAI,EAAa,WACf,OAAW,KAAM,GAAE,KAAM,GAAM,EAAK,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,GAG3D,GAAI,EAAa,aAAc,CAC7B,EAAI,UAAY,EAChB,OAAS,GAAI,EAAG,EAAI,GAAc,OAAS,EAAG,IAAK,CACjD,GAAM,GAAS,CACb,GAAc,EAAI,EAAI,GACtB,GAAc,EAAI,EAAI,GACtB,GAAc,EAAI,EAAI,IACtB,IAAI,AAAC,GAAU,EAAE,KAAK,IACxB,GAAM,EAAK,EAAQ,GAGrB,GAAI,EAAE,aAAe,EAAE,YAAY,YAAgB,CACjD,EAAI,YAAc,EAAa,SAAW,2BAA6B,EAAa,MACpF,EAAI,YACJ,GAAM,GAAQ,KAAK,IAAI,EAAE,YAAY,YAAe,GAAG,GAAK,EAAE,YAAY,YAAe,GAAG,IAAM,EAC5F,EAAQ,KAAK,IAAI,EAAE,YAAY,YAAe,GAAG,GAAK,EAAE,YAAY,YAAe,GAAG,IAAM,EAClG,EAAI,QAAQ,EAAE,YAAY,YAAe,GAAG,GAAI,EAAE,YAAY,YAAe,GAAG,GAAI,EAAO,EAAO,EAAG,EAAG,EAAI,KAAK,IACjH,EAAI,SACA,EAAa,cACf,GAAI,UAAY,EAAa,SAAW,2BAA6B,EAAa,MAClF,EAAI,QAGR,GAAI,EAAE,aAAe,EAAE,YAAY,aAAiB,CAClD,EAAI,YAAc,EAAa,SAAW,2BAA6B,EAAa,MACpF,EAAI,YACJ,GAAM,GAAQ,KAAK,IAAI,EAAE,YAAY,aAAgB,GAAG,GAAK,EAAE,YAAY,aAAgB,GAAG,IAAM,EAC9F,EAAQ,KAAK,IAAI,EAAE,YAAY,aAAgB,GAAG,GAAK,EAAE,YAAY,aAAgB,GAAG,IAAM,EACpG,EAAI,QAAQ,EAAE,YAAY,aAAgB,GAAG,GAAI,EAAE,YAAY,aAAgB,GAAG,GAAI,EAAO,EAAO,EAAG,EAAG,EAAI,KAAK,IACnH,EAAI,SACA,EAAa,cACf,GAAI,UAAY,EAAa,SAAW,2BAA6B,EAAa,MAClF,EAAI,QAGR,GAAI,EAAa,UAAY,SAAE,WAAF,cAAY,OAAZ,cAAkB,WAAY,SAAE,WAAF,cAAY,OAAZ,cAAkB,SAAS,CACpF,EAAI,YAAc,OAClB,EAAI,YAEJ,GAAM,GAAW,CACf,EAAE,YAAY,YAAe,GAAG,GAAM,KAAK,IAAI,EAAE,SAAS,KAAK,SAAW,EAAE,SAAS,KAAK,SAAW,EAAE,IAAI,GAC3G,EAAE,YAAY,YAAe,GAAG,GAAM,KAAK,IAAI,EAAE,SAAS,KAAK,SAAW,EAAE,SAAS,KAAK,SAAW,EAAE,IAAI,IAE7G,EAAI,OAAO,EAAE,YAAY,YAAe,GAAG,GAAI,EAAE,YAAY,YAAe,GAAG,IAC/E,EAAI,OAAO,EAAS,GAAI,EAAS,IAEjC,GAAM,GAAY,CAChB,EAAE,YAAY,aAAgB,GAAG,GAAM,KAAK,IAAI,EAAE,SAAS,KAAK,SAAW,EAAE,SAAS,KAAK,SAAW,EAAE,IAAI,GAC5G,EAAE,YAAY,aAAgB,GAAG,GAAM,KAAK,IAAI,EAAE,SAAS,KAAK,SAAW,EAAE,SAAS,KAAK,SAAW,EAAE,IAAI,IAE9G,EAAI,OAAO,EAAE,YAAY,aAAgB,GAAG,GAAI,EAAE,YAAY,aAAgB,GAAG,IACjF,EAAI,OAAO,EAAU,GAAI,EAAU,IAEnC,EAAI,aAOd,kBAA2B,EAA6B,EAAqB,EAA2B,CA3QxG,MA4QE,GAAM,GAAe,EAAU,GAAS,GAExC,GADI,CAAC,GAAU,CAAC,GACZ,CAAE,aAAoB,oBAAoB,OAC9C,GAAM,GAAM,EAAS,WAAW,MAChC,GAAI,EAAC,EACL,GAAI,SAAW,QACf,OAAS,GAAI,EAAG,EAAI,EAAO,OAAQ,IAAK,CAmBtC,GAlBA,EAAI,YAAc,EAAa,MAC/B,EAAI,UAAY,EAAa,MAC7B,EAAI,UAAY,EAAa,UAC7B,EAAI,KAAO,EAAa,KACpB,EAAa,WAAa,EAAO,GAAG,KAAO,MAAO,GAAG,MAAV,cAAe,UAAW,GAEvE,IAAK,EAAK,EAAO,GAAG,IAAI,GAAI,EAAO,GAAG,IAAI,GAAI,EAAO,GAAG,IAAI,GAAI,EAAO,GAAG,IAAI,GAAI,GAC9E,EAAa,YACX,GAAa,aAAe,EAAa,cAAgB,IAC3D,GAAI,UAAY,EAAa,YAE7B,EAAI,SAAS,QAAQ,IAAM,EAAO,GAAG,SAAU,EAAO,GAAG,IAAI,GAAK,EAAG,EAAI,EAAO,GAAG,IAAI,GAAK,EAAa,WAAY,EAAO,GAAG,IAAI,KAErI,EAAI,UAAY,EAAa,WAE7B,EAAI,SAAS,QAAQ,IAAM,EAAO,GAAG,SAAU,EAAO,GAAG,IAAI,GAAK,EAAG,EAAI,EAAO,GAAG,IAAI,GAAK,EAAa,WAAY,EAAO,GAAG,IAAI,MAGnI,EAAa,WACf,OAAS,GAAK,EAAG,EAAK,EAAO,GAAG,UAAU,OAAQ,IAChD,EAAI,UAAY,EAAa,UAAY,EAAO,GAAG,UAAU,GAAI,SAAS,GAAK,QAAQ,MAAS,EAAK,GAAO,GAAG,UAAU,GAAI,SAAS,IAAM,OAAQ,MAAS,EAAK,GAAO,GAAG,UAAU,GAAI,SAAS,IAAM,gBAAmB,EAAa,MACzO,GAAM,EAAK,EAAO,GAAG,UAAU,GAAI,SAAS,GAAI,EAAO,GAAG,UAAU,GAAI,SAAS,GAAI,EAAG,GAG5F,GAAI,EAAa,YACf,GAAI,KAAO,EAAa,KACpB,EAAO,GAAG,WACZ,OAAW,KAAM,GAAO,GAAG,UACzB,EAAI,UAAY,EAAa,UAAY,EAAG,SAAS,GAAK,QAAQ,MAAS,EAAI,EAAG,SAAS,OAAQ,MAAS,EAAI,EAAG,SAAS,gBAAmB,EAAa,MAC5J,EAAI,SAAS,GAAG,EAAG,QAAQ,KAAK,MAAM,IAAM,EAAG,UAAW,EAAG,SAAS,GAAK,EAAG,EAAG,SAAS,GAAK,GAIrG,GAAI,EAAa,cAAgB,EAAO,GAAG,UAAW,CACpD,GAAI,GACE,EAAsC,GAE5C,EAAO,OAAS,EAChB,EAAO,EAAO,GAAG,UAAU,KAAK,AAAC,GAAM,EAAE,OAAS,gBAC9C,GAAM,EAAO,KAAK,CAAC,EAAK,SAAS,GAAI,EAAK,SAAS,KACvD,EAAO,EAAO,GAAG,UAAU,KAAK,AAAC,GAAM,EAAE,OAAS,iBAC9C,GAAM,EAAO,KAAK,CAAC,EAAK,SAAS,GAAI,EAAK,SAAS,KACvD,GAAO,EAAK,EAAQ,GAEpB,EAAO,OAAS,EAChB,EAAO,EAAO,GAAG,UAAU,KAAK,AAAC,GAAM,EAAE,OAAS,iBAC9C,GAAM,EAAO,KAAK,CAAC,EAAK,SAAS,GAAI,EAAK,SAAS,KACvD,EAAO,EAAO,GAAG,UAAU,KAAK,AAAC,GAAM,EAAE,OAAS,YAC9C,GAAM,EAAO,KAAK,CAAC,EAAK,SAAS,GAAI,EAAK,SAAS,KACvD,EAAO,EAAO,GAAG,UAAU,KAAK,AAAC,GAAM,EAAE,OAAS,WAC9C,GAAM,EAAO,KAAK,CAAC,EAAK,SAAS,GAAI,EAAK,SAAS,KACvD,EAAO,EAAO,GAAG,UAAU,KAAK,AAAC,GAAM,EAAE,OAAS,gBAC9C,GAAM,EAAO,KAAK,CAAC,EAAK,SAAS,GAAI,EAAK,SAAS,KACnD,EAAO,SAAW,GAAG,GAAM,EAAK,EAAQ,GAE5C,EAAO,OAAS,EAChB,EAAO,EAAO,GAAG,UAAU,KAAK,AAAC,GAAM,EAAE,OAAS,WAC9C,GAAM,EAAO,KAAK,CAAC,EAAK,SAAS,GAAI,EAAK,SAAS,KACvD,EAAO,EAAO,GAAG,UAAU,KAAK,AAAC,GAAM,EAAE,OAAS,YAC9C,GAAM,EAAO,KAAK,CAAC,EAAK,SAAS,GAAI,EAAK,SAAS,KACvD,EAAO,EAAO,GAAG,UAAU,KAAK,AAAC,GAAM,EAAE,OAAS,aAC9C,GAAM,EAAO,KAAK,CAAC,EAAK,SAAS,GAAI,EAAK,SAAS,KACvD,EAAO,EAAO,GAAG,UAAU,KAAK,AAAC,GAAM,EAAE,OAAS,YAC9C,GAAM,EAAO,KAAK,CAAC,EAAK,SAAS,GAAI,EAAK,SAAS,KACvD,EAAO,EAAO,GAAG,UAAU,KAAK,AAAC,GAAM,EAAE,OAAS,YAC9C,GAAM,EAAO,KAAK,CAAC,EAAK,SAAS,GAAI,EAAK,SAAS,KACvD,GAAO,EAAK,EAAQ,GAEpB,EAAO,OAAS,EAChB,EAAO,EAAO,GAAG,UAAU,KAAK,AAAC,GAAM,EAAE,OAAS,YAC9C,GAAM,EAAO,KAAK,CAAC,EAAK,SAAS,GAAI,EAAK,SAAS,KACvD,EAAO,EAAO,GAAG,UAAU,KAAK,AAAC,GAAM,EAAE,OAAS,aAC9C,GAAM,EAAO,KAAK,CAAC,EAAK,SAAS,GAAI,EAAK,SAAS,KACvD,EAAO,EAAO,GAAG,UAAU,KAAK,AAAC,GAAM,EAAE,OAAS,cAC9C,GAAM,EAAO,KAAK,CAAC,EAAK,SAAS,GAAI,EAAK,SAAS,KACvD,EAAO,EAAO,GAAG,UAAU,KAAK,AAAC,GAAM,EAAE,OAAS,aAC9C,GAAM,EAAO,KAAK,CAAC,EAAK,SAAS,GAAI,EAAK,SAAS,KACvD,EAAO,EAAO,GAAG,UAAU,KAAK,AAAC,GAAM,EAAE,OAAS,aAC9C,GAAM,EAAO,KAAK,CAAC,EAAK,SAAS,GAAI,EAAK,SAAS,KACvD,GAAO,EAAK,EAAQ,GAEpB,EAAO,OAAS,EAChB,EAAO,EAAO,GAAG,UAAU,KAAK,AAAC,GAAM,EAAE,OAAS,gBAC9C,GAAM,EAAO,KAAK,CAAC,EAAK,SAAS,GAAI,EAAK,SAAS,KACvD,EAAO,EAAO,GAAG,UAAU,KAAK,AAAC,GAAM,EAAE,OAAS,aAC9C,GAAM,EAAO,KAAK,CAAC,EAAK,SAAS,GAAI,EAAK,SAAS,KACvD,EAAO,EAAO,GAAG,UAAU,KAAK,AAAC,GAAM,EAAE,OAAS,aAC9C,GAAM,EAAO,KAAK,CAAC,EAAK,SAAS,GAAI,EAAK,SAAS,KACvD,EAAO,EAAO,GAAG,UAAU,KAAK,AAAC,GAAM,EAAE,OAAS,YAC9C,GAAM,EAAO,KAAK,CAAC,EAAK,SAAS,GAAI,EAAK,SAAS,KACvD,GAAO,EAAK,EAAQ,GAEpB,EAAO,OAAS,EAChB,EAAO,EAAO,GAAG,UAAU,KAAK,AAAC,GAAM,EAAE,OAAS,iBAC9C,GAAM,EAAO,KAAK,CAAC,EAAK,SAAS,GAAI,EAAK,SAAS,KACvD,EAAO,EAAO,GAAG,UAAU,KAAK,AAAC,GAAM,EAAE,OAAS,cAC9C,GAAM,EAAO,KAAK,CAAC,EAAK,SAAS,GAAI,EAAK,SAAS,KACvD,EAAO,EAAO,GAAG,UAAU,KAAK,AAAC,GAAM,EAAE,OAAS,cAC9C,GAAM,EAAO,KAAK,CAAC,EAAK,SAAS,GAAI,EAAK,SAAS,KACvD,EAAO,EAAO,GAAG,UAAU,KAAK,AAAC,GAAM,EAAE,OAAS,aAC9C,GAAM,EAAO,KAAK,CAAC,EAAK,SAAS,GAAI,EAAK,SAAS,KACvD,GAAO,EAAK,EAAQ,MAM1B,kBAA2B,EAA6B,EAAqB,EAA2B,CACtG,GAAM,GAAe,EAAU,GAAS,GAExC,GADI,CAAC,GAAU,CAAC,GACZ,CAAE,aAAoB,oBAAoB,OAC9C,GAAM,GAAM,EAAS,WAAW,MAChC,GAAI,EAAC,EACL,GAAI,SAAW,QACf,EAAI,KAAO,EAAa,KACxB,OAAW,KAAK,GAAQ,CAetB,GAdI,EAAa,WACf,GAAI,YAAc,EAAa,MAC/B,EAAI,UAAY,EAAa,MAC7B,GAAK,EAAK,EAAE,IAAI,GAAI,EAAE,IAAI,GAAI,EAAE,IAAI,GAAI,EAAE,IAAI,GAAI,GAC9C,EAAa,YACX,GAAa,aAAe,EAAa,cAAgB,IAC3D,GAAI,UAAY,EAAa,YAC7B,EAAI,SAAS,OAAQ,EAAE,IAAI,GAAK,EAAG,EAAI,EAAE,IAAI,GAAK,EAAa,WAAY,EAAE,IAAI,KAEnF,EAAI,UAAY,EAAa,WAC7B,EAAI,SAAS,OAAQ,EAAE,IAAI,GAAK,EAAG,EAAI,EAAE,IAAI,GAAK,EAAa,WAAY,EAAE,IAAI,KAEnF,EAAI,UAEF,EAAa,YACX,EAAE,WAAa,EAAE,UAAU,OAAS,EACtC,OAAW,KAAM,GAAE,UACjB,EAAI,UAAY,EAAa,SAAW,QAAQ,MAAS,EAAI,EAAG,OAAQ,MAAS,EAAI,EAAG,gBAAmB,EAAa,MACxH,GAAM,EAAK,EAAG,GAAI,EAAG,GAAI,EAAG,GAIlC,GAAI,EAAa,WAAY,CAC3B,GAAM,GAAe,CAAC,EAAM,IAAU,CACpC,EAAI,UAAY,EAAa,SAAW,QAAQ,MAAS,EAAI,EAAK,EAAK,OAAS,GAAG,OAAQ,MAAS,EAAI,EAAK,EAAK,OAAS,GAAG,gBAAmB,EAAa,MAC9J,EAAI,SAAS,EAAO,EAAK,EAAK,OAAS,GAAG,GAAK,EAAG,EAAK,EAAK,OAAS,GAAG,GAAK,IAE/E,EAAI,KAAO,EAAa,KACxB,EAAa,EAAE,YAAY,YAAgB,SAC3C,EAAa,EAAE,YAAY,aAAiB,UAC5C,EAAa,EAAE,YAAY,WAAe,QAC1C,EAAa,EAAE,YAAY,MAAU,SACrC,EAAa,EAAE,YAAY,MAAU,SACrC,EAAa,EAAE,YAAY,SAAa,QAE1C,GAAI,EAAa,aAAc,CAC7B,GAAM,GAAc,AAAC,GAAS,CAC5B,GAAI,EAAC,EACL,OAAS,GAAI,EAAG,EAAI,EAAK,OAAQ,IAC/B,EAAI,YACJ,EAAI,YAAc,EAAa,SAAW,QAAQ,MAAS,EAAI,EAAK,GAAG,OAAQ,MAAS,EAAI,EAAK,GAAG,gBAAmB,EAAa,MACpI,EAAI,OAAO,EAAK,EAAI,EAAI,EAAI,EAAI,GAAG,GAAI,EAAK,EAAI,EAAI,EAAI,EAAI,GAAG,IAC/D,EAAI,OAAO,EAAK,GAAG,GAAI,EAAK,GAAG,IAC/B,EAAI,UAGR,EAAI,UAAY,EAAa,UAC7B,EAAY,EAAE,YAAY,aAC1B,EAAY,EAAE,YAAY,cAC1B,EAAY,EAAE,YAAY,YAC1B,EAAY,EAAE,YAAY,OAC1B,EAAY,EAAE,YAAY,UAMhC,kBAA6B,EAA6B,EAAqB,EAA2B,CACxG,GAAM,GAAe,EAAU,GAAS,GAExC,GADI,CAAC,GAAU,CAAC,GACZ,CAAE,aAAoB,oBAAoB,OAC9C,GAAM,GAAM,EAAS,WAAW,MAChC,GAAI,EAAC,EACL,GAAI,SAAW,QACf,EAAI,KAAO,EAAa,KACxB,OAAW,KAAK,GACd,GAAI,EAAa,UAAW,CAI1B,GAHA,EAAI,YAAc,EAAa,MAC/B,EAAI,UAAY,EAAa,MAC7B,GAAK,EAAK,EAAE,IAAI,GAAI,EAAE,IAAI,GAAI,EAAE,IAAI,GAAI,EAAE,IAAI,GAAI,GAC9C,EAAa,WAAY,CAC3B,GAAM,GAAQ,GAAG,KAAK,MAAM,IAAM,EAAE,WAAW,EAAE,QACjD,AAAI,EAAa,aAAe,EAAa,cAAgB,IAC3D,GAAI,UAAY,EAAa,YAC7B,EAAI,SAAS,EAAO,EAAE,IAAI,GAAK,EAAG,EAAI,EAAE,IAAI,GAAK,EAAa,WAAY,EAAE,IAAI,KAElF,EAAI,UAAY,EAAa,WAC7B,EAAI,SAAS,EAAO,EAAE,IAAI,GAAK,EAAG,EAAI,EAAE,IAAI,GAAK,EAAa,WAAY,EAAE,IAAI,IAElF,EAAI,WAKV,kBAA6B,EAA6B,EAAuB,EAA2B,CAC1G,GAAM,GAAe,EAAU,GAAS,GAExC,GADI,CAAC,GAAU,CAAC,GACZ,CAAE,aAAoB,oBAAoB,OAC9C,GAAM,GAAM,EAAS,WAAW,MAChC,GAAI,EAAC,EACL,GAAI,SAAW,QACf,EAAI,KAAO,EAAa,KAExB,OAAS,GAAI,EAAG,EAAI,EAAO,OAAQ,IACjC,GAAI,EAAa,UAAW,CAI1B,GAHA,EAAI,YAAc,EAAa,MAC/B,EAAI,UAAY,EAAa,MAC7B,GAAK,EAAK,EAAO,GAAG,IAAI,GAAI,EAAO,GAAG,IAAI,GAAI,EAAO,GAAG,IAAI,GAAI,EAAO,GAAG,IAAI,GAAI,GAC9E,EAAa,WAAY,CAC3B,GAAM,GAAQ,WAAW,IACzB,AAAI,EAAa,aAAe,EAAa,cAAgB,IAC3D,GAAI,UAAY,EAAa,YAC7B,EAAI,SAAS,EAAO,EAAO,GAAG,IAAI,GAAK,EAAG,EAAI,EAAO,GAAG,IAAI,GAAK,EAAa,WAAY,EAAO,GAAG,IAAI,KAE1G,EAAI,UAAY,EAAa,WAC7B,EAAI,SAAS,EAAO,EAAO,GAAG,IAAI,GAAK,EAAG,EAAI,EAAO,GAAG,IAAI,GAAK,EAAa,WAAY,EAAO,GAAG,IAAI,IAE1G,EAAI,WAKV,kBAA6B,EAA6B,EAA8B,CAEtF,GADI,CAAC,GAAY,CAAC,GACd,CAAE,aAAoB,qBAAsB,CAAE,aAAqB,oBAAoB,OAC3F,GAAM,GAAS,EAAS,WAAW,MACnC,WAAQ,UAAU,EAAU,EAAG,GAGjC,kBAA0B,EAA6B,EAAgB,EAA2B,CAChG,GAAM,GAAY,IACZ,EAAe,EAAU,GAAS,GACxC,AAAI,CAAC,GAAU,CAAC,GACV,YAAoB,oBAE1B,IAAK,EAAU,EAAO,KAAM,GAC5B,GAAK,EAAU,EAAO,KAAM,GAC5B,GAAK,EAAU,EAAO,KAAM,GAC5B,GAAO,EAAU,EAAO,OAAQ,GAEhC,GAAQ,EAAU,EAAO,QAAS,GAelC,EAAO,YAAY,KAAO,KAAK,MAAM,IAAQ,IClhBxC,YAAc,EAAoB,EAAqB,EAAoB,EAA0B,EAAiD,CAN7J,oCAOE,GAAI,GAAK,EACH,EAAyB,GAC/B,OAAW,KAAQ,GAAO,CACxB,GAAM,GAAiB,CAAE,GAAI,IAAM,OAAM,KAAM,KAAM,MAAO,CAAE,KAAM,KAAM,MAAO,MAAQ,SAAU,GAAI,IAAK,CAAC,EAAG,EAAG,EAAG,IACtH,OAAW,KAAQ,GACjB,AAAI,EAAK,IAAI,GAAK,EAAK,IAAI,IACtB,EAAK,IAAI,GAAK,EAAK,IAAI,GAAK,EAAK,IAAI,IACrC,EAAK,IAAI,GAAK,EAAK,IAAI,GAAK,EAAK,IAAI,IACrC,EAAK,IAAI,GAAK,EAAK,IAAI,GAAK,EAAK,IAAI,GAAK,EAAK,IAAI,IACtD,GAAO,KAAO,GAGlB,GAAI,EAAO,KACT,OAAW,KAAQ,GACjB,AAAI,EAAK,IAAI,GAAK,EAAK,IAAI,GAAK,EAAO,KAAK,IAAI,IAC3C,EAAK,IAAI,GAAK,EAAK,IAAI,GAAK,EAAO,KAAK,IAAI,GAAK,EAAO,KAAK,IAAI,IACjE,EAAK,IAAI,GAAK,EAAK,IAAI,GAAK,EAAO,KAAK,IAAI,IAC5C,EAAK,IAAI,GAAK,EAAK,IAAI,GAAK,EAAO,KAAK,IAAI,GAAK,EAAO,KAAK,IAAI,IAChE,EAAO,OAAO,GAAO,MAAM,KAAO,GAEpC,EAAK,IAAI,GAAK,EAAO,KAAK,IAAI,GAAK,EAAO,KAAK,IAAI,IAClD,EAAK,IAAI,GAAK,EAAO,KAAK,IAAI,IAC9B,EAAK,IAAI,GAAK,EAAK,IAAI,GAAK,EAAO,KAAK,IAAI,IAC5C,EAAK,IAAI,GAAK,EAAK,IAAI,GAAK,EAAO,KAAK,IAAI,GAAK,EAAO,KAAK,IAAI,IAChE,EAAO,OAAO,GAAO,MAAM,MAAQ,GAI7C,OAAW,KAAW,GACpB,AAAI,EAAQ,OAAY,QAAa,EAAQ,OAAY,EAAK,GAAI,KAAO,WAAP,QAAiB,KAAK,GACnF,AAAI,EAAQ,OAAY,QAAa,EAAQ,OAAY,EAAK,GAAI,KAAO,WAAP,QAAiB,KAAK,GACxF,AAAI,EAAQ,OAAY,QAAa,EAAQ,OAAY,MAAO,OAAP,cAAa,IAAI,KAAO,WAAP,QAAiB,KAAK,GAChG,AAAI,EAAQ,OAAY,QAAa,EAAQ,OAAY,SAAO,QAAP,cAAc,OAAd,cAAoB,IAAI,KAAO,WAAP,QAAiB,KAAK,GACnG,EAAQ,OAAY,QAAa,EAAQ,OAAY,SAAO,QAAP,cAAc,QAAd,cAAqB,KAAI,MAAO,WAAP,QAAiB,KAAK,IAI/G,GAAM,GAAc,GACd,EAAc,GACd,EAAY,AAAC,GAAQ,CACzB,AAAI,GAAO,EAAI,SAAW,GACxB,GAAE,KAAK,EAAI,GAAI,EAAI,GAAK,EAAI,IAC5B,EAAE,KAAK,EAAI,GAAI,EAAI,GAAK,EAAI,MAGhC,EAAU,KAAO,OAAP,cAAa,KACvB,EAAU,KAAO,OAAP,cAAa,KACvB,EAAU,QAAO,QAAP,cAAc,OAAd,cAAoB,KAC9B,EAAU,QAAO,QAAP,cAAc,QAAd,cAAqB,KAC/B,GAAM,GAAO,KAAK,IAAI,GAAG,GACnB,EAAO,KAAK,IAAI,GAAG,GACzB,EAAO,IAAM,CAAC,EAAM,EAAM,KAAK,IAAI,GAAG,GAAK,EAAM,KAAK,IAAI,GAAG,GAAK,GAG9D,GAAS,EAAM,SAAW,GAAG,GAAO,OAAS,CAAC,EAAO,IAAI,GAAK,EAAM,GAAI,EAAO,IAAI,GAAK,EAAM,GAAI,EAAO,IAAI,GAAK,EAAM,GAAI,EAAO,IAAI,GAAK,EAAM,KAEtJ,EAAQ,KAAK,GAEf,MAAO,GC3DT,GAAM,GAAyB,CAAE,KAAM,GAAI,KAAM,GAAI,KAAM,GAAI,QAAS,GAAI,OAAQ,GAAI,QAAS,GAAI,YAAa,GAAI,UAAW,GAE1H,YAAc,EAA2B,CARhD,8CAaE,GAAM,GAAiB,IAAQ,MAAK,MAAQ,EAAU,WAAa,EAGnE,GAAI,CAAC,EAAe,MAAS,EAAU,KAAK,SAAW,EAAe,KAAK,OACzE,EAAe,KAAO,KAAK,MAAM,KAAK,UAAU,EAAU,WAE1D,QAAS,GAAI,EAAG,EAAI,EAAU,KAAK,OAAQ,IAAK,CAC9C,GAAM,GAAM,EAAU,KAAK,GAAG,IAC3B,IAAI,CAAC,EAAG,IAAQ,IAAiB,GAAK,EAAe,KAAK,GAAG,IAAI,GAAK,GAAK,GACxE,EAAS,EAAU,KAAK,GAAG,OAC9B,IAAI,CAAC,EAAG,IAAQ,IAAiB,GAAK,EAAe,KAAK,GAAG,OAAO,GAAK,GAAK,GAC3E,EAAa,EAAU,KAAK,GAAG,UAClC,IAAI,CAAC,EAAU,IAAO,EACrB,MAAO,EAAS,MAChB,KAAM,EAAS,KACf,SAAU,CACR,EAAe,KAAK,GAAG,UAAU,GAAO,IAAiB,GAAK,EAAe,KAAK,GAAG,UAAU,GAAG,SAAS,GAAK,EAAS,SAAS,IAAM,EAAiB,EAAS,SAAS,GAC3K,EAAe,KAAK,GAAG,UAAU,GAAO,IAAiB,GAAK,EAAe,KAAK,GAAG,UAAU,GAAG,SAAS,GAAK,EAAS,SAAS,IAAM,EAAiB,EAAS,SAAS,IAE7K,YAAa,CACX,EAAe,KAAK,GAAG,UAAU,GAAO,IAAiB,GAAK,EAAe,KAAK,GAAG,UAAU,GAAG,YAAY,GAAK,EAAS,YAAY,IAAM,EAAiB,EAAS,SAAS,GACjL,EAAe,KAAK,GAAG,UAAU,GAAO,IAAiB,GAAK,EAAe,KAAK,GAAG,UAAU,GAAG,YAAY,GAAK,EAAS,YAAY,IAAM,EAAiB,EAAS,SAAS,OAGvL,EAAe,KAAK,GAAK,IAAK,EAAU,KAAK,GAAI,MAAK,SAAQ,aAKlE,GAAI,CAAC,EAAe,MAAS,EAAU,KAAK,SAAW,EAAe,KAAK,OACzE,EAAe,KAAO,KAAK,MAAM,KAAK,UAAU,EAAU,WAE1D,QAAS,GAAI,EAAG,EAAI,EAAU,KAAK,OAAQ,IAAK,CAC9C,GAAM,GAAO,EAAU,KAAK,GAAG,IAC5B,IAAI,CAAC,EAAG,IAAQ,IAAiB,GAAK,EAAe,KAAK,GAAG,IAAI,GAAK,GAAK,GACxE,EAAU,EAAU,KAAK,GAAG,OAC/B,IAAI,CAAC,EAAG,IAAQ,IAAiB,GAAK,EAAe,KAAK,GAAG,OAAO,GAAK,GAAK,GAC3E,EAAY,EAAU,KAAK,GAAG,UACjC,IAAI,CAAC,EAAU,IAAM,EACnB,IAAI,CAAC,GAAO,KAAS,IAAiB,GAAK,EAAe,KAAK,GAAG,UAAU,GAAG,IAAK,IAAS,IAC5F,EAAO,OAAO,KAAK,EAAU,KAAK,GAAG,aACrC,EAAc,GACpB,OAAW,KAAO,GAChB,EAAY,GAAO,EAAU,KAAK,GAAG,YAAY,GAC9C,IAAI,CAAC,EAAK,KAAM,EAAI,IAAI,CAAC,GAAO,KAAQ,IAAiB,GAAK,EAAe,KAAK,GAAG,YAAY,GAAK,IAAG,IAAK,IAAS,IAE5H,EAAe,KAAK,GAAK,IAAK,EAAU,KAAK,GAAI,MAAK,SAAQ,YAAW,eAK7E,GAAI,CAAC,EAAe,MAAS,EAAU,KAAK,SAAW,EAAe,KAAK,OACzE,EAAe,KAAO,KAAK,MAAM,KAAK,UAAU,EAAU,WAE1D,QAAS,GAAI,EAAG,EAAI,EAAU,KAAK,OAAQ,IAAK,CAC9C,GAAM,GAAO,EAAU,KAAK,GAAG,IAC5B,IAAI,CAAC,EAAG,IAAQ,IAAiB,GAAK,EAAe,KAAK,GAAG,IAAI,GAAK,GAAK,GACxE,EAAU,EAAU,KAAK,GAAG,OAC/B,IAAI,CAAC,EAAG,IAAQ,IAAiB,GAAK,EAAe,KAAK,GAAG,OAAO,GAAK,GAAK,GAC3E,EAIF,CAAE,OAAQ,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,MAAO,CAAE,KAAM,EAAG,IAAK,EAAG,MAAO,GAAK,KAAM,CAAE,QAAS,EAAG,SAAU,IAC/G,EAAS,OAAS,KAAU,KAAK,GAAG,WAAlB,cAA4B,OAC9C,EAAS,MAAQ,CACf,KAAQ,IAAiB,GAAM,UAAe,KAAK,GAAG,WAAvB,cAAiC,QAAjC,cAAwC,OAAQ,GAAM,UAAU,KAAK,GAAG,WAAlB,cAA4B,QAA5B,cAAmC,OAAQ,IAAM,EACtI,IAAO,IAAiB,GAAM,UAAe,KAAK,GAAG,WAAvB,cAAiC,QAAjC,cAAwC,MAAO,GAAM,UAAU,KAAK,GAAG,WAAlB,cAA4B,QAA5B,cAAmC,MAAO,IAAM,EACnI,MAAS,IAAiB,GAAM,UAAe,KAAK,GAAG,WAAvB,cAAiC,QAAjC,cAAwC,QAAS,GAAM,UAAU,KAAK,GAAG,WAAlB,cAA4B,QAA5B,cAAmC,QAAS,IAAM,GAE3I,EAAS,KAAO,CAEd,QAAW,IAAiB,GAAM,UAAe,KAAK,GAAG,WAAvB,cAAiC,OAAjC,cAAuC,UAAW,GAAM,UAAU,KAAK,GAAG,WAAlB,cAA4B,OAA5B,cAAkC,UAAW,IAAM,EAC7I,SAAY,IAAiB,GAAM,UAAe,KAAK,GAAG,WAAvB,cAAiC,OAAjC,cAAuC,WAAY,GAAM,UAAU,KAAK,GAAG,WAAlB,cAA4B,OAA5B,cAAkC,WAAY,IAAM,GAElJ,EAAe,KAAK,GAAK,IAAK,EAAU,KAAK,GAAI,WAAU,MAAK,UAKpE,GAAI,CAAC,EAAe,QAAW,EAAU,OAAO,SAAW,EAAe,OAAO,OAC/E,EAAe,OAAS,KAAK,MAAM,KAAK,UAAU,EAAU,aAE5D,QAAS,GAAI,EAAG,EAAI,EAAU,OAAO,OAAQ,IAAK,CAChD,GAAM,GAAO,EAAU,OAAO,GAAG,IAC9B,IAAI,CAAC,EAAG,IAAQ,IAAiB,GAAK,EAAe,OAAO,GAAG,IAAI,GAAK,GAAK,GAC1E,EAAU,EAAU,OAAO,GAAG,OACjC,IAAI,CAAC,EAAG,IAAQ,IAAiB,GAAK,EAAe,OAAO,GAAG,OAAO,GAAK,GAAK,GACnF,EAAe,OAAO,GAAK,IAAK,EAAU,OAAO,GAAI,MAAK,UAK9D,GAAM,GAAa,EAAU,QAC7B,GAAI,CAAC,EAAe,SAAY,EAAW,SAAW,EAAe,QAAQ,OAC3E,EAAe,QAAU,KAAK,MAAM,KAAK,UAAU,QAEnD,QAAS,GAAI,EAAG,EAAI,EAAW,OAAQ,IACrC,EAAe,QAAQ,GAAG,IAAO,EAAW,GAAG,IAC5C,IAAI,CAAC,EAAK,IAAQ,IAAiB,GAAK,EAAe,QAAQ,GAAG,IAAI,GAAK,GAAO,GAKzF,SAAe,QAAU,EAAU,QACnC,EAAe,YAAc,EAAU,YAEhC,ECnHF,GAAM,IAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kEA0JP,GAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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", + "sourcesContent": ["/**\n * Simple helper functions used accross codebase\n */\n\n// helper function: join two paths\nexport function join(folder: string, file: string): string {\n const separator = folder.endsWith('/') ? '' : '/';\n const skipJoin = file.startsWith('.') || file.startsWith('/') || file.startsWith('http:') || file.startsWith('https:') || file.startsWith('file:');\n const path = skipJoin ? `${file}` : `${folder}${separator}${file}`;\n if (!path.toLocaleLowerCase().includes('.json')) throw new Error(`Human: ModelPath Error: ${path} Expecting JSON file`);\n return path;\n}\n\n// helper function: wrapper around console output\nexport function log(...msg) {\n const dt = new Date();\n const ts = `${dt.getHours().toString().padStart(2, '0')}:${dt.getMinutes().toString().padStart(2, '0')}:${dt.getSeconds().toString().padStart(2, '0')}.${dt.getMilliseconds().toString().padStart(3, '0')}`;\n // eslint-disable-next-line no-console\n if (msg) console.log(ts, 'Human:', ...msg);\n}\n\n// helper function: gets elapsed time on both browser and nodejs\nexport const now = () => {\n if (typeof performance !== 'undefined') return performance.now();\n return parseInt((Number(process.hrtime.bigint()) / 1000 / 1000).toString());\n};\n\n// helper function: perform deep merge of multiple objects so it allows full inheriance with overrides\nexport function mergeDeep(...objects) {\n const isObject = (obj) => obj && typeof obj === 'object';\n return objects.reduce((prev, obj) => {\n Object.keys(obj || {}).forEach((key) => {\n const pVal = prev[key];\n const oVal = obj[key];\n if (Array.isArray(pVal) && Array.isArray(oVal)) prev[key] = pVal.concat(...oVal);\n else if (isObject(pVal) && isObject(oVal)) prev[key] = mergeDeep(pVal, oVal);\n else prev[key] = oVal;\n });\n return prev;\n }, {});\n}\n", "/* eslint-disable indent */\n/* eslint-disable no-multi-spaces */\n\n/**\n * Configuration interface definition for **Human** library\n *\n * Contains all configurable parameters\n * @typedef Config\n */\nexport interface Config {\n /** Backend used for TFJS operations */\n backend: null | '' | 'cpu' | 'wasm' | 'webgl' | 'humangl' | 'tensorflow',\n\n /** Path to *.wasm files if backend is set to `wasm` */\n wasmPath: string,\n\n /** Print debug statements to console */\n debug: boolean,\n\n /** Perform model loading and inference concurrently or sequentially */\n async: boolean,\n\n /** What to use for `human.warmup()`\n * - warmup pre-initializes all models for faster inference but can take significant time on startup\n * - only used for `webgl` and `humangl` backends\n */\n warmup: 'none' | 'face' | 'full' | 'body',\n\n /** Base model path (typically starting with file://, http:// or https://) for all models\n * - individual modelPath values are relative to this path\n */\n modelBasePath: string,\n\n /** Cache sensitivity\n * - values 0..1 where 0.01 means reset cache if input changed more than 1%\n * - set to 0 to disable caching\n */\n cacheSensitivity: number;\n\n /** Run input through image filters before inference\n * - image filters run with near-zero latency as they are executed on the GPU\n */\n filter: {\n enabled: boolean,\n /** Resize input width\n * - if both width and height are set to 0, there is no resizing\n * - if just one is set, second one is scaled automatically\n * - if both are set, values are used as-is\n */\n width: number,\n /** Resize input height\n * - if both width and height are set to 0, there is no resizing\n * - if just one is set, second one is scaled automatically\n * - if both are set, values are used as-is\n */\n height: number,\n /** Return processed canvas imagedata in result */\n return: boolean,\n /** Flip input as mirror image */\n flip: boolean,\n /** Range: -1 (darken) to 1 (lighten) */\n brightness: number,\n /** Range: -1 (reduce contrast) to 1 (increase contrast) */\n contrast: number,\n /** Range: 0 (no sharpening) to 1 (maximum sharpening) */\n sharpness: number,\n /** Range: 0 (no blur) to N (blur radius in pixels) */\n blur: number\n /** Range: -1 (reduce saturation) to 1 (increase saturation) */\n saturation: number,\n /** Range: 0 (no change) to 360 (hue rotation in degrees) */\n hue: number,\n /** Image negative */\n negative: boolean,\n /** Image sepia colors */\n sepia: boolean,\n /** Image vintage colors */\n vintage: boolean,\n /** Image kodachrome colors */\n kodachrome: boolean,\n /** Image technicolor colors */\n technicolor: boolean,\n /** Image polaroid camera effect */\n polaroid: boolean,\n /** Range: 0 (no pixelate) to N (number of pixels to pixelate) */\n pixelate: number,\n },\n // type definition end\n\n /** Controlls gesture detection */\n gesture: {\n enabled: boolean,\n },\n\n /** Controlls and configures all face-specific options:\n * - face detection, face mesh detection, age, gender, emotion detection and face description\n * Parameters:\n * - enabled: true/false\n * - modelPath: path for each of face models\n * - minConfidence: threshold for discarding a prediction\n * - iouThreshold: ammount of overlap between two detected objects before one object is removed\n * - maxDetected: maximum number of faces detected in the input, should be set to the minimum number for performance\n * - rotation: use calculated rotated face image or just box with rotation as-is, false means higher performance, but incorrect mesh mapping on higher face angles\n * - return: return extracted face as tensor for futher user processing\n */\n face: {\n enabled: boolean,\n detector: {\n modelPath: string,\n rotation: boolean,\n maxDetected: number,\n skipFrames: number,\n minConfidence: number,\n iouThreshold: number,\n return: boolean,\n },\n mesh: {\n enabled: boolean,\n modelPath: string,\n },\n iris: {\n enabled: boolean,\n modelPath: string,\n },\n description: {\n enabled: boolean,\n modelPath: string,\n skipFrames: number,\n minConfidence: number,\n },\n emotion: {\n enabled: boolean,\n minConfidence: number,\n skipFrames: number,\n modelPath: string,\n },\n },\n\n /** Controlls and configures all body detection specific options\n * - enabled: true/false\n * - modelPath: body pose model, can be absolute path or relative to modelBasePath\n * - minConfidence: threshold for discarding a prediction\n * - maxDetected: maximum number of people detected in the input, should be set to the minimum number for performance\n */\n body: {\n enabled: boolean,\n modelPath: string,\n maxDetected: number,\n minConfidence: number,\n },\n\n /** Controlls and configures all hand detection specific options\n * - enabled: true/false\n * - landmarks: detect hand landmarks or just hand boundary box\n * - modelPath: paths for hand detector and hand skeleton models, can be absolute path or relative to modelBasePath\n * - minConfidence: threshold for discarding a prediction\n * - iouThreshold: ammount of overlap between two detected objects before one object is removed\n * - maxDetected: maximum number of hands detected in the input, should be set to the minimum number for performance\n * - rotation: use best-guess rotated hand image or just box with rotation as-is, false means higher performance, but incorrect finger mapping if hand is inverted\n */\n hand: {\n enabled: boolean,\n rotation: boolean,\n skipFrames: number,\n minConfidence: number,\n iouThreshold: number,\n maxDetected: number,\n landmarks: boolean,\n detector: {\n modelPath: string,\n },\n skeleton: {\n modelPath: string,\n },\n },\n\n /** Controlls and configures all object detection specific options\n * - enabled: true/false\n * - modelPath: object detection model, can be absolute path or relative to modelBasePath\n * - minConfidence: minimum score that detection must have to return as valid object\n * - iouThreshold: ammount of overlap between two detected objects before one object is removed\n * - maxDetected: maximum number of detections to return\n */\n object: {\n enabled: boolean,\n modelPath: string,\n minConfidence: number,\n iouThreshold: number,\n maxDetected: number,\n skipFrames: number,\n },\n}\n\nconst config: Config = {\n backend: 'webgl', // select tfjs backend to use, leave empty to use default backend\n // can be 'webgl', 'wasm', 'cpu', or 'humangl' which is a custom version of webgl\n modelBasePath: '../models/', // base path for all models\n wasmPath: '../node_modules/@tensorflow/tfjs-backend-wasm/dist/', // path for wasm binaries, only used for backend: wasm\n debug: true, // print additional status messages to console\n async: true, // execute enabled models in parallel\n warmup: 'full', // what to use for human.warmup(), can be 'none', 'face', 'full'\n // warmup pre-initializes all models for faster inference but can take\n // significant time on startup\n // only used for `webgl` and `humangl` backends\n cacheSensitivity: 0.75, // cache sensitivity\n // values 0..1 where 0.01 means reset cache if input changed more than 1%\n // set to 0 to disable caching\n filter: { // run input through image filters before inference\n // image filters run with near-zero latency as they are executed on the GPU\n enabled: true, // enable image pre-processing filters\n width: 0, // resize input width\n height: 0, // resize input height\n // if both width and height are set to 0, there is no resizing\n // if just one is set, second one is scaled automatically\n // if both are set, values are used as-is\n flip: false, // flip input as mirror image\n return: true, // return processed canvas imagedata in result\n brightness: 0, // range: -1 (darken) to 1 (lighten)\n contrast: 0, // range: -1 (reduce contrast) to 1 (increase contrast)\n sharpness: 0, // range: 0 (no sharpening) to 1 (maximum sharpening)\n blur: 0, // range: 0 (no blur) to N (blur radius in pixels)\n saturation: 0, // range: -1 (reduce saturation) to 1 (increase saturation)\n hue: 0, // range: 0 (no change) to 360 (hue rotation in degrees)\n negative: false, // image negative\n sepia: false, // image sepia colors\n vintage: false, // image vintage colors\n kodachrome: false, // image kodachrome colors\n technicolor: false, // image technicolor colors\n polaroid: false, // image polaroid camera effect\n pixelate: 0, // range: 0 (no pixelate) to N (number of pixels to pixelate)\n },\n\n gesture: {\n enabled: true, // enable gesture recognition based on model results\n },\n\n face: {\n enabled: true, // controls if specified modul is enabled\n // face.enabled is required for all face models:\n // detector, mesh, iris, age, gender, emotion\n // (note: module is not loaded until it is required)\n detector: {\n modelPath: 'blazeface.json', // detector model, can be absolute path or relative to modelBasePath\n rotation: true, // use best-guess rotated face image or just box with rotation as-is\n // false means higher performance, but incorrect mesh mapping if face angle is above 20 degrees\n // this parameter is not valid in nodejs\n maxDetected: 5, // maximum number of faces detected in the input\n // should be set to the minimum number for performance\n skipFrames: 15, // how many max frames to go without re-running the face bounding box detector\n // only used when cacheSensitivity is not zero\n // e.g., if model is running st 25 FPS, we can re-use existing bounding\n // box for updated face analysis as the head probably hasn't moved much\n // in short time (10 * 1/25 = 0.25 sec)\n minConfidence: 0.2, // threshold for discarding a prediction\n iouThreshold: 0.1, // ammount of overlap between two detected objects before one object is removed\n return: false, // return extracted face as tensor\n },\n\n mesh: {\n enabled: true,\n modelPath: 'facemesh.json', // facemesh model, can be absolute path or relative to modelBasePath\n },\n\n iris: {\n enabled: true,\n modelPath: 'iris.json', // face iris model\n // can be either absolute path or relative to modelBasePath\n },\n\n description: {\n enabled: true, // to improve accuracy of face description extraction it is\n // recommended to enable detector.rotation and mesh.enabled\n modelPath: 'faceres.json', // face description model\n // can be either absolute path or relative to modelBasePath\n skipFrames: 16, // how many max frames to go without re-running the detector\n // only used when cacheSensitivity is not zero\n minConfidence: 0.1, // threshold for discarding a prediction\n },\n\n emotion: {\n enabled: true,\n minConfidence: 0.1, // threshold for discarding a prediction\n skipFrames: 17, // how max many frames to go without re-running the detector\n // only used when cacheSensitivity is not zero\n modelPath: 'emotion.json', // face emotion model, can be absolute path or relative to modelBasePath\n },\n },\n\n body: {\n enabled: true,\n modelPath: 'movenet-lightning.json', // body model, can be absolute path or relative to modelBasePath\n // can be 'posenet', 'blazepose', 'efficientpose', 'movenet-lightning', 'movenet-thunder'\n maxDetected: 1, // maximum number of people detected in the input\n // should be set to the minimum number for performance\n // only valid for posenet as other models detects single pose\n minConfidence: 0.2, // threshold for discarding a prediction\n },\n\n hand: {\n enabled: true,\n rotation: true, // use best-guess rotated hand image or just box with rotation as-is\n // false means higher performance, but incorrect finger mapping if hand is inverted\n skipFrames: 18, // how many max frames to go without re-running the hand bounding box detector\n // only used when cacheSensitivity is not zero\n // e.g., if model is running st 25 FPS, we can re-use existing bounding\n // box for updated hand skeleton analysis as the hand probably\n // hasn't moved much in short time (10 * 1/25 = 0.25 sec)\n minConfidence: 0.1, // threshold for discarding a prediction\n iouThreshold: 0.1, // ammount of overlap between two detected objects before one object is removed\n maxDetected: 2, // maximum number of hands detected in the input\n // should be set to the minimum number for performance\n landmarks: true, // detect hand landmarks or just hand boundary box\n detector: {\n modelPath: 'handdetect.json', // hand detector model, can be absolute path or relative to modelBasePath\n },\n skeleton: {\n modelPath: 'handskeleton.json', // hand skeleton model, can be absolute path or relative to modelBasePath\n },\n },\n\n object: {\n enabled: false,\n modelPath: 'mb3-centernet.json', // experimental: object detection model, can be absolute path or relative to modelBasePath\n // can be 'mb3-centernet' or 'nanodet'\n minConfidence: 0.2, // threshold for discarding a prediction\n iouThreshold: 0.4, // ammount of overlap between two detected objects before one object is removed\n maxDetected: 10, // maximum number of objects detected in the input\n skipFrames: 19, // how many max frames to go without re-running the detector\n // only used when cacheSensitivity is not zero\n },\n};\nexport { config as defaults };\n", "/**\n * Helper function that returns basic system info\n */\nexport function info(): { platform: string, agent: string } {\n let platform;\n let agent;\n if (typeof navigator !== 'undefined') {\n const raw = navigator.userAgent.match(/\\(([^()]+)\\)/g);\n if (raw && raw[0]) {\n const platformMatch = raw[0].match(/\\(([^()]+)\\)/g);\n platform = platformMatch ? platformMatch[0].replace(/\\(|\\)/g, '') : '';\n agent = navigator.userAgent.replace(raw[0], '');\n if (platform[1]) agent = agent.replace(raw[1], '');\n agent = agent.replace(/ /g, ' ');\n }\n } else if (typeof process !== 'undefined') {\n platform = `${process.platform} ${process.arch}`;\n agent = `NodeJS ${process.version}`;\n }\n return { platform, agent };\n}\n", "/**\n * Creates tfjs bundle used by Human browser build target\n */\n\n// simplified\n// { modules: 1250, moduleBytes: 4013323, imports: 7, importBytes: 2255, outputBytes: 2991826, outputFiles: 'dist/tfjs.esm.js' }\n// export * from '@tensorflow/tfjs/dist/index.js';\n// export * from '@tensorflow/tfjs-backend-wasm';\n\n// modular\n// { modules: 1253, moduleBytes: 4029357, imports: 7, importBytes: 2285, outputBytes: 2998298, outputFiles: 'dist/tfjs.esm.js' }\n\n// get versions of all packages.\nimport * as packageBundle from '@tensorflow/tfjs/package.json';\nimport * as packageCore from '@tensorflow/tfjs-core/package.json';\nimport * as packageData from '@tensorflow/tfjs-data/package.json';\nimport * as packageLayers from '@tensorflow/tfjs-layers/package.json';\nimport * as packageConverter from '@tensorflow/tfjs-converter/package.json';\n// for backends, get version from source so it can register backend during import\nimport { version_cpu } from '@tensorflow/tfjs-backend-cpu/dist/index.js';\nimport { version_webgl } from '@tensorflow/tfjs-backend-webgl/dist/index.js';\nimport { version_wasm } from '@tensorflow/tfjs-backend-wasm/dist/index.js';\n\n// export all - compiled\nexport * from '@tensorflow/tfjs-core/dist/index.js';\nexport * from '@tensorflow/tfjs-layers/dist/index.js';\nexport * from '@tensorflow/tfjs-converter/dist/index.js';\nexport * as data from '@tensorflow/tfjs-data/dist/index.js';\nexport * from '@tensorflow/tfjs-backend-cpu/dist/index.js';\nexport * from '@tensorflow/tfjs-backend-webgl/dist/index.js';\nexport * from '@tensorflow/tfjs-backend-wasm/dist/index.js';\n\n// export all - sources\n/*\nexport * from '@tensorflow/tfjs-core/src/index';\nexport * from '@tensorflow/tfjs-layers/src/index';\nexport * from '@tensorflow/tfjs-converter/src/index';\nexport * as data from '@tensorflow/tfjs-data/src/index';\nexport * from '@tensorflow/tfjs-backend-cpu/src/index';\nexport * from '@tensorflow/tfjs-backend-webgl/src/index';\nexport * from '@tensorflow/tfjs-backend-wasm/src/index';\n*/\n\n// export versions\nexport const version = {\n tfjs: packageBundle?.version || undefined,\n 'tfjs-core': packageCore?.version || undefined,\n 'tfjs-data': packageData?.version || undefined,\n 'tfjs-layers': packageLayers?.version || undefined,\n 'tfjs-converter': packageConverter?.version || undefined,\n 'tfjs-backend-cpu': version_cpu || undefined,\n 'tfjs-backend-webgl': version_webgl || undefined,\n 'tfjs-backend-wasm': version_wasm || undefined,\n};\n// export const version = {};\n", "/**\n * Custom TFJS backend for Human based on WebGL\n * Not used by default\n */\n\nimport { log } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\n\nexport const config = {\n name: 'humangl',\n priority: 99,\n canvas: null,\n gl: null,\n width: 1024,\n height: 1024,\n webGLattr: { // https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.2\n alpha: false,\n antialias: false,\n premultipliedAlpha: false,\n preserveDrawingBuffer: false,\n depth: false,\n stencil: false,\n failIfMajorPerformanceCaveat: false,\n desynchronized: true,\n },\n};\n\nexport function register(): void {\n if (!tf.findBackend(config.name)) {\n log('backend registration:', config.name);\n try {\n config.canvas = (typeof OffscreenCanvas !== 'undefined') ? new OffscreenCanvas(config.width, config.height) : document.createElement('canvas');\n } catch (err) {\n log('error: cannot create canvas:', err);\n return;\n }\n try {\n config.gl = config.canvas.getContext('webgl2', config.webGLattr);\n } catch (err) {\n log('error: cannot get WebGL2 context:', err);\n return;\n }\n try {\n tf.setWebGLContext(2, config.gl);\n } catch (err) {\n log('error: cannot set WebGL2 context:', err);\n return;\n }\n try {\n const ctx = new tf.GPGPUContext(config.gl);\n tf.registerBackend(config.name, () => new tf.MathBackendWebGL(ctx), config.priority);\n } catch (err) {\n log('error: cannot register WebGL backend:', err);\n return;\n }\n try {\n const kernels = tf.getKernelsForBackend('webgl');\n kernels.forEach((kernelConfig) => {\n const newKernelConfig = { ...kernelConfig, backendName: config.name };\n tf.registerKernel(newKernelConfig);\n });\n } catch (err) {\n log('error: cannot update WebGL backend registration:', err);\n return;\n }\n try {\n tf.ENV.set('WEBGL_VERSION', 2);\n // tf.ENV.set('WEBGL_MAX_TEXTURE_SIZE', config.gl.getParameter(config.gl.MAX_TEXTURE_SIZE));\n // tf.ENV.set('WEBGL_FORCE_F16_TEXTURES', true);\n // tf.ENV.set('WEBGL_PACK_DEPTHWISECONV', true);\n } catch (err) {\n log('error: cannot set WebGL backend flags:', err);\n return;\n }\n log('backend registered:', config.name);\n }\n}\n", "/**\n * FaceMesh & BlazeFace Module entry point\n */\n\nimport { log, join } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\nimport * as blazeface from './blazeface';\nimport * as facepipeline from './facepipeline';\nimport * as coords from './coords';\nimport { GraphModel } from '../tfjs/types';\nimport { Face } from '../result';\n\nlet faceModels: [blazeface.BlazeFaceModel | null, GraphModel | null, GraphModel | null] = [null, null, null];\nlet facePipeline;\n\nexport async function predict(input, config): Promise {\n const predictions = await facePipeline.predict(input, config);\n const results: Array = [];\n let id = 0;\n for (const prediction of (predictions || [])) {\n if (!prediction || prediction.isDisposedInternal) continue; // guard against disposed tensors on long running operations such as pause in middle of processing\n const meshRaw = prediction.mesh.map((pt) => [\n pt[0] / input.shape[2],\n pt[1] / input.shape[1],\n pt[2] / facePipeline.meshSize,\n ]);\n const annotations = {};\n if (prediction.mesh && prediction.mesh.length > 0) {\n for (const key of Object.keys(coords.MESH_ANNOTATIONS)) annotations[key] = coords.MESH_ANNOTATIONS[key].map((index) => prediction.mesh[index]);\n }\n const clampedBox: [number, number, number, number] = prediction.box ? [\n Math.trunc(Math.max(0, prediction.box.startPoint[0])),\n Math.trunc(Math.max(0, prediction.box.startPoint[1])),\n Math.trunc(Math.min(input.shape[2], prediction.box.endPoint[0]) - Math.max(0, prediction.box.startPoint[0])),\n Math.trunc(Math.min(input.shape[1], prediction.box.endPoint[1]) - Math.max(0, prediction.box.startPoint[1])),\n ] : [0, 0, 0, 0];\n const boxRaw: [number, number, number, number] = prediction.box ? [\n prediction.box.startPoint[0] / input.shape[2],\n prediction.box.startPoint[1] / input.shape[1],\n (prediction.box.endPoint[0] - prediction.box.startPoint[0]) / input.shape[2],\n (prediction.box.endPoint[1] - prediction.box.startPoint[1]) / input.shape[1],\n ] : [0, 0, 0, 0];\n results.push({\n id: id++,\n score: Math.round(100 * prediction.faceConfidence || 100 * prediction.boxConfidence || 0) / 100,\n boxScore: Math.round(100 * prediction.boxConfidence) / 100,\n faceScore: Math.round(100 * prediction.faceConfidence) / 100,\n box: clampedBox,\n boxRaw,\n mesh: prediction.mesh,\n meshRaw,\n annotations,\n image: prediction.image,\n tensor: prediction.image,\n });\n if (prediction.coords) prediction.coords.dispose();\n }\n return results;\n}\n\nexport async function load(config): Promise<[unknown, unknown, unknown]> {\n if ((!faceModels[0] && config.face.enabled) || (!faceModels[1] && config.face.mesh.enabled) || (!faceModels[2] && config.face.iris.enabled)) {\n // @ts-ignore type mismatch for GraphModel\n faceModels = await Promise.all([\n (!faceModels[0] && config.face.enabled) ? blazeface.load(config) : null,\n (!faceModels[1] && config.face.mesh.enabled) ? tf.loadGraphModel(join(config.modelBasePath, config.face.mesh.modelPath), { fromTFHub: config.face.mesh.modelPath.includes('tfhub.dev') }) : null,\n (!faceModels[2] && config.face.iris.enabled) ? tf.loadGraphModel(join(config.modelBasePath, config.face.iris.modelPath), { fromTFHub: config.face.iris.modelPath.includes('tfhub.dev') }) : null,\n ]);\n if (config.face.mesh.enabled) {\n if (!faceModels[1] || !faceModels[1]['modelUrl']) log('load model failed:', config.face.mesh.modelPath);\n else if (config.debug) log('load model:', faceModels[1]['modelUrl']);\n }\n if (config.face.iris.enabled) {\n if (!faceModels[2] || !faceModels[2]['modelUrl']) log('load model failed:', config.face.iris.modelPath);\n else if (config.debug) log('load model:', faceModels[2]['modelUrl']);\n }\n } else if (config.debug) {\n if (faceModels[0]) log('cached model:', faceModels[0].model['modelUrl']);\n if (faceModels[1]) log('cached model:', faceModels[1]['modelUrl']);\n if (faceModels[2]) log('cached model:', faceModels[2]['modelUrl']);\n }\n facePipeline = new facepipeline.Pipeline(faceModels[0], faceModels[1], faceModels[2]);\n return faceModels;\n}\n\nexport const triangulation = coords.TRI468;\nexport const uvmap = coords.UV468;\n", "import * as tf from '../../dist/tfjs.esm.js';\n\nexport function scaleBoxCoordinates(box, factor) {\n const startPoint = [box.startPoint[0] * factor[0], box.startPoint[1] * factor[1]];\n const endPoint = [box.endPoint[0] * factor[0], box.endPoint[1] * factor[1]];\n return { startPoint, endPoint };\n}\n\nexport function getBoxSize(box) {\n return [\n Math.abs(box.endPoint[0] - box.startPoint[0]),\n Math.abs(box.endPoint[1] - box.startPoint[1]),\n ];\n}\n\nexport function getBoxCenter(box) {\n return [\n box.startPoint[0] + (box.endPoint[0] - box.startPoint[0]) / 2,\n box.startPoint[1] + (box.endPoint[1] - box.startPoint[1]) / 2,\n ];\n}\n\nexport function cutBoxFromImageAndResize(box, image, cropSize) {\n const h = image.shape[1];\n const w = image.shape[2];\n const boxes = [[\n box.startPoint[1] / h,\n box.startPoint[0] / w,\n box.endPoint[1] / h,\n box.endPoint[0] / w,\n ]];\n return tf.image.cropAndResize(image, boxes, [0], cropSize);\n}\n\nexport function enlargeBox(box, factor = 1.5) {\n const center = getBoxCenter(box);\n const size = getBoxSize(box);\n const newHalfSize = [factor * size[0] / 2, factor * size[1] / 2];\n const startPoint = [center[0] - newHalfSize[0], center[1] - newHalfSize[1]];\n const endPoint = [center[0] + newHalfSize[0], center[1] + newHalfSize[1]];\n return { startPoint, endPoint, landmarks: box.landmarks };\n}\n\nexport function squarifyBox(box) {\n const centers = getBoxCenter(box);\n const size = getBoxSize(box);\n const maxEdge = Math.max(...size);\n const halfSize = maxEdge / 2;\n const startPoint = [Math.round(centers[0] - halfSize), Math.round(centers[1] - halfSize)];\n const endPoint = [Math.round(centers[0] + halfSize), Math.round(centers[1] + halfSize)];\n return { startPoint, endPoint, landmarks: box.landmarks };\n}\n\nexport function calculateLandmarksBoundingBox(landmarks) {\n const xs = landmarks.map((d) => d[0]);\n const ys = landmarks.map((d) => d[1]);\n const startPoint = [Math.min(...xs), Math.min(...ys)];\n const endPoint = [Math.max(...xs), Math.max(...ys)];\n return { startPoint, endPoint, landmarks };\n}\n\nexport const disposeBox = (t) => {\n t.startPoint.dispose();\n t.endPoint.dispose();\n};\n\nexport const createBox = (startEndTensor) => ({\n startPoint: tf.slice(startEndTensor, [0, 0], [-1, 2]),\n endPoint: tf.slice(startEndTensor, [0, 2], [-1, 2]),\n});\n", "export const IDENTITY_MATRIX = [[1, 0, 0], [0, 1, 0], [0, 0, 1]];\n/**\n * Normalizes the provided angle to the range -pi to pi.\n * @param angle The angle in radians to be normalized.\n */\nexport function normalizeRadians(angle) {\n return angle - 2 * Math.PI * Math.floor((angle + Math.PI) / (2 * Math.PI));\n}\n\n/**\n * Computes the angle of rotation between two anchor points.\n * @param point1 First anchor point\n * @param point2 Second anchor point\n */\nexport function computeRotation(point1, point2) {\n const radians = Math.PI / 2 - Math.atan2(-(point2[1] - point1[1]), point2[0] - point1[0]);\n return normalizeRadians(radians);\n}\n\nexport function radToDegrees(rad) {\n return rad * 180 / Math.PI;\n}\n\nexport function buildTranslationMatrix(x, y) {\n return [[1, 0, x], [0, 1, y], [0, 0, 1]];\n}\n\nexport function dot(v1, v2) {\n let product = 0;\n for (let i = 0; i < v1.length; i++) {\n product += v1[i] * v2[i];\n }\n return product;\n}\n\nexport function getColumnFrom2DArr(arr, columnIndex) {\n const column: Array = [];\n for (let i = 0; i < arr.length; i++) {\n column.push(arr[i][columnIndex]);\n }\n return column;\n}\n\nexport function multiplyTransformMatrices(mat1, mat2) {\n const product: Array = [];\n const size = mat1.length;\n for (let row = 0; row < size; row++) {\n product.push([]);\n for (let col = 0; col < size; col++) {\n product[row].push(dot(mat1[row], getColumnFrom2DArr(mat2, col)));\n }\n }\n return product;\n}\n\nexport function buildRotationMatrix(rotation, center) {\n const cosA = Math.cos(rotation);\n const sinA = Math.sin(rotation);\n const rotationMatrix = [[cosA, -sinA, 0], [sinA, cosA, 0], [0, 0, 1]];\n const translationMatrix = buildTranslationMatrix(center[0], center[1]);\n const translationTimesRotation = multiplyTransformMatrices(translationMatrix, rotationMatrix);\n const negativeTranslationMatrix = buildTranslationMatrix(-center[0], -center[1]);\n return multiplyTransformMatrices(translationTimesRotation, negativeTranslationMatrix);\n}\n\nexport function invertTransformMatrix(matrix) {\n const rotationComponent = [[matrix[0][0], matrix[1][0]], [matrix[0][1], matrix[1][1]]];\n const translationComponent = [matrix[0][2], matrix[1][2]];\n const invertedTranslation = [\n -dot(rotationComponent[0], translationComponent),\n -dot(rotationComponent[1], translationComponent),\n ];\n return [\n rotationComponent[0].concat(invertedTranslation[0]),\n rotationComponent[1].concat(invertedTranslation[1]),\n [0, 0, 1],\n ];\n}\n\nexport function rotatePoint(homogeneousCoordinate, rotationMatrix) {\n return [\n dot(homogeneousCoordinate, rotationMatrix[0]),\n dot(homogeneousCoordinate, rotationMatrix[1]),\n ];\n}\n\nexport function xyDistanceBetweenPoints(a, b) {\n return Math.sqrt(((a[0] - b[0]) ** 2) + ((a[1] - b[1]) ** 2));\n}\n\nexport function generateAnchors(inputSize) {\n const spec = { strides: [inputSize / 16, inputSize / 8], anchors: [2, 6] };\n const anchors: Array<[number, number]> = [];\n for (let i = 0; i < spec.strides.length; i++) {\n const stride = spec.strides[i];\n const gridRows = Math.floor((inputSize + stride - 1) / stride);\n const gridCols = Math.floor((inputSize + stride - 1) / stride);\n const anchorsNum = spec.anchors[i];\n for (let gridY = 0; gridY < gridRows; gridY++) {\n const anchorY = stride * (gridY + 0.5);\n for (let gridX = 0; gridX < gridCols; gridX++) {\n const anchorX = stride * (gridX + 0.5);\n for (let n = 0; n < anchorsNum; n++) {\n anchors.push([anchorX, anchorY]);\n }\n }\n }\n }\n return anchors;\n}\n", "import { log, join } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\nimport * as box from './box';\nimport * as util from './util';\nimport { Config } from '../config';\nimport { Tensor, GraphModel } from '../tfjs/types';\n\nconst keypointsCount = 6;\n\nfunction decodeBounds(boxOutputs, anchors, inputSize) {\n const boxStarts = tf.slice(boxOutputs, [0, 1], [-1, 2]);\n const centers = tf.add(boxStarts, anchors);\n const boxSizes = tf.slice(boxOutputs, [0, 3], [-1, 2]);\n const boxSizesNormalized = tf.div(boxSizes, inputSize);\n const centersNormalized = tf.div(centers, inputSize);\n const halfBoxSize = tf.div(boxSizesNormalized, 2);\n const starts = tf.sub(centersNormalized, halfBoxSize);\n const ends = tf.add(centersNormalized, halfBoxSize);\n const startNormalized = tf.mul(starts, inputSize);\n const endNormalized = tf.mul(ends, inputSize);\n const concatAxis = 1;\n return tf.concat2d([startNormalized, endNormalized], concatAxis);\n}\n\nexport class BlazeFaceModel {\n model: GraphModel;\n anchorsData: [number, number][];\n anchors: Tensor;\n inputSize: number;\n config: Config;\n\n constructor(model, config) {\n this.model = model;\n this.anchorsData = util.generateAnchors(model.inputs[0].shape[1]);\n this.anchors = tf.tensor2d(this.anchorsData);\n this.inputSize = model.inputs[0].shape[2];\n this.config = config;\n }\n\n async getBoundingBoxes(inputImage) {\n // sanity check on input\n if ((!inputImage) || (inputImage.isDisposedInternal) || (inputImage.shape.length !== 4) || (inputImage.shape[1] < 1) || (inputImage.shape[2] < 1)) return null;\n const [batch, boxes, scores] = tf.tidy(() => {\n const resizedImage = inputImage.resizeBilinear([this.inputSize, this.inputSize]);\n const normalizedImage = resizedImage.div(127.5).sub(0.5);\n const res = this.model.execute(normalizedImage);\n let batchOut;\n if (Array.isArray(res)) { // are we using tfhub or pinto converted model?\n const sorted = res.sort((a, b) => a.size - b.size);\n const concat384 = tf.concat([sorted[0], sorted[2]], 2); // dim: 384, 1 + 16\n const concat512 = tf.concat([sorted[1], sorted[3]], 2); // dim: 512, 1 + 16\n const concat = tf.concat([concat512, concat384], 1);\n batchOut = concat.squeeze(0);\n } else {\n batchOut = res.squeeze(); // when using tfhub model\n }\n const boxesOut = decodeBounds(batchOut, this.anchors, [this.inputSize, this.inputSize]);\n const logits = tf.slice(batchOut, [0, 0], [-1, 1]);\n const scoresOut = tf.sigmoid(logits).squeeze().dataSync();\n return [batchOut, boxesOut, scoresOut];\n });\n const nmsTensor = await tf.image.nonMaxSuppressionAsync(boxes, scores, this.config.face.detector.maxDetected, this.config.face.detector.iouThreshold, this.config.face.detector.minConfidence);\n const nms = nmsTensor.arraySync();\n nmsTensor.dispose();\n const annotatedBoxes: Array<{ box: { startPoint: Tensor, endPoint: Tensor }, landmarks: Tensor, anchor: number[], confidence: number }> = [];\n for (let i = 0; i < nms.length; i++) {\n const confidence = scores[nms[i]];\n if (confidence > this.config.face.detector.minConfidence) {\n const boundingBox = tf.slice(boxes, [nms[i], 0], [1, -1]);\n const localBox = box.createBox(boundingBox);\n boundingBox.dispose();\n const anchor = this.anchorsData[nms[i]];\n const landmarks = tf.tidy(() => tf.slice(batch, [nms[i], keypointsCount - 1], [1, -1]).squeeze().reshape([keypointsCount, -1]));\n annotatedBoxes.push({ box: localBox, landmarks, anchor, confidence });\n }\n }\n // boundingBoxes.forEach((t) => t.dispose());\n batch.dispose();\n boxes.dispose();\n // scores.dispose();\n return {\n boxes: annotatedBoxes,\n scaleFactor: [inputImage.shape[2] / this.inputSize, inputImage.shape[1] / this.inputSize],\n };\n }\n}\n\nexport async function load(config) {\n const model = await tf.loadGraphModel(join(config.modelBasePath, config.face.detector.modelPath), { fromTFHub: config.face.detector.modelPath.includes('tfhub.dev') });\n const blazeFace = new BlazeFaceModel(model, config);\n if (!model || !model.modelUrl) log('load model failed:', config.face.detector.modelPath);\n else if (config.debug) log('load model:', model.modelUrl);\n return blazeFace;\n}\n", "export const MESH_ANNOTATIONS = {\n silhouette: [\n 10, 338, 297, 332, 284, 251, 389, 356, 454, 323, 361, 288,\n 397, 365, 379, 378, 400, 377, 152, 148, 176, 149, 150, 136,\n 172, 58, 132, 93, 234, 127, 162, 21, 54, 103, 67, 109,\n ],\n lipsUpperOuter: [61, 185, 40, 39, 37, 0, 267, 269, 270, 409, 291],\n lipsLowerOuter: [146, 91, 181, 84, 17, 314, 405, 321, 375, 291],\n lipsUpperInner: [78, 191, 80, 81, 82, 13, 312, 311, 310, 415, 308],\n lipsLowerInner: [78, 95, 88, 178, 87, 14, 317, 402, 318, 324, 308],\n rightEyeUpper0: [246, 161, 160, 159, 158, 157, 173],\n rightEyeLower0: [33, 7, 163, 144, 145, 153, 154, 155, 133],\n rightEyeUpper1: [247, 30, 29, 27, 28, 56, 190],\n rightEyeLower1: [130, 25, 110, 24, 23, 22, 26, 112, 243],\n rightEyeUpper2: [113, 225, 224, 223, 222, 221, 189],\n rightEyeLower2: [226, 31, 228, 229, 230, 231, 232, 233, 244],\n rightEyeLower3: [143, 111, 117, 118, 119, 120, 121, 128, 245],\n rightEyebrowUpper: [156, 70, 63, 105, 66, 107, 55, 193],\n rightEyebrowLower: [35, 124, 46, 53, 52, 65],\n rightEyeIris: [473, 474, 475, 476, 477],\n leftEyeUpper0: [466, 388, 387, 386, 385, 384, 398],\n leftEyeLower0: [263, 249, 390, 373, 374, 380, 381, 382, 362],\n leftEyeUpper1: [467, 260, 259, 257, 258, 286, 414],\n leftEyeLower1: [359, 255, 339, 254, 253, 252, 256, 341, 463],\n leftEyeUpper2: [342, 445, 444, 443, 442, 441, 413],\n leftEyeLower2: [446, 261, 448, 449, 450, 451, 452, 453, 464],\n leftEyeLower3: [372, 340, 346, 347, 348, 349, 350, 357, 465],\n leftEyebrowUpper: [383, 300, 293, 334, 296, 336, 285, 417],\n leftEyebrowLower: [265, 353, 276, 283, 282, 295],\n leftEyeIris: [468, 469, 470, 471, 472],\n midwayBetweenEyes: [168],\n noseTip: [1],\n noseBottom: [2],\n noseRightCorner: [98],\n noseLeftCorner: [327],\n rightCheek: [205],\n leftCheek: [425],\n};\n\nexport const MESH_TO_IRIS_INDICES_MAP = [ // A mapping from facemesh model keypoints to iris model keypoints.\n { key: 'EyeUpper0', indices: [9, 10, 11, 12, 13, 14, 15] },\n { key: 'EyeUpper1', indices: [25, 26, 27, 28, 29, 30, 31] },\n { key: 'EyeUpper2', indices: [41, 42, 43, 44, 45, 46, 47] },\n { key: 'EyeLower0', indices: [0, 1, 2, 3, 4, 5, 6, 7, 8] },\n { key: 'EyeLower1', indices: [16, 17, 18, 19, 20, 21, 22, 23, 24] },\n { key: 'EyeLower2', indices: [32, 33, 34, 35, 36, 37, 38, 39, 40] },\n { key: 'EyeLower3', indices: [54, 55, 56, 57, 58, 59, 60, 61, 62] },\n // { key: 'EyebrowUpper', indices: [63, 64, 65, 66, 67, 68, 69, 70] },\n // { key: 'EyebrowLower', indices: [48, 49, 50, 51, 52, 53] },\n];\n\nexport const UV468 = [\n [0.499976992607117, 0.652534008026123],\n [0.500025987625122, 0.547487020492554],\n [0.499974012374878, 0.602371990680695],\n [0.482113003730774, 0.471979022026062],\n [0.500150978565216, 0.527155995368958],\n [0.499909996986389, 0.498252987861633],\n [0.499523013830185, 0.40106201171875],\n [0.289712011814117, 0.380764007568359],\n [0.499954998493195, 0.312398016452789],\n [0.499987006187439, 0.269918978214264],\n [0.500023007392883, 0.107050001621246],\n [0.500023007392883, 0.666234016418457],\n [0.5000159740448, 0.679224014282227],\n [0.500023007392883, 0.692348003387451],\n [0.499976992607117, 0.695277988910675],\n [0.499976992607117, 0.70593398809433],\n [0.499976992607117, 0.719385027885437],\n [0.499976992607117, 0.737019002437592],\n [0.499967992305756, 0.781370997428894],\n [0.499816000461578, 0.562981009483337],\n [0.473773002624512, 0.573909997940063],\n [0.104906998574734, 0.254140973091125],\n [0.365929991006851, 0.409575998783112],\n [0.338757991790771, 0.41302502155304],\n [0.311120003461838, 0.409460008144379],\n [0.274657994508743, 0.389131009578705],\n [0.393361985683441, 0.403706014156342],\n [0.345234006643295, 0.344011008739471],\n [0.370094001293182, 0.346076011657715],\n [0.319321990013123, 0.347265005111694],\n [0.297903001308441, 0.353591024875641],\n [0.24779200553894, 0.410809993743896],\n [0.396889001131058, 0.842755019664764],\n [0.280097991228104, 0.375599980354309],\n [0.106310002505779, 0.399955987930298],\n [0.2099249958992, 0.391353011131287],\n [0.355807989835739, 0.534406006336212],\n [0.471751004457474, 0.65040397644043],\n [0.474155008792877, 0.680191993713379],\n [0.439785003662109, 0.657229006290436],\n [0.414617002010345, 0.66654098033905],\n [0.450374007225037, 0.680860996246338],\n [0.428770989179611, 0.682690978050232],\n [0.374971002340317, 0.727805018424988],\n [0.486716985702515, 0.547628998756409],\n [0.485300987958908, 0.527395009994507],\n [0.257764995098114, 0.314490020275116],\n [0.401223003864288, 0.455172002315521],\n [0.429818987846375, 0.548614978790283],\n [0.421351999044418, 0.533740997314453],\n [0.276895999908447, 0.532056987285614],\n [0.483370006084442, 0.499586999416351],\n [0.33721199631691, 0.282882988452911],\n [0.296391993761063, 0.293242990970612],\n [0.169294998049736, 0.193813979625702],\n [0.447580009698868, 0.302609980106354],\n [0.392390012741089, 0.353887975215912],\n [0.354490011930466, 0.696784019470215],\n [0.067304998636246, 0.730105042457581],\n [0.442739009857178, 0.572826027870178],\n [0.457098007202148, 0.584792017936707],\n [0.381974011659622, 0.694710969924927],\n [0.392388999462128, 0.694203019142151],\n [0.277076005935669, 0.271932005882263],\n [0.422551989555359, 0.563233017921448],\n [0.385919004678726, 0.281364023685455],\n [0.383103013038635, 0.255840003490448],\n [0.331431001424789, 0.119714021682739],\n [0.229923993349075, 0.232002973556519],\n [0.364500999450684, 0.189113974571228],\n [0.229622006416321, 0.299540996551514],\n [0.173287004232407, 0.278747975826263],\n [0.472878992557526, 0.666198015213013],\n [0.446828007698059, 0.668527007102966],\n [0.422762006521225, 0.673889994621277],\n [0.445307999849319, 0.580065965652466],\n [0.388103008270264, 0.693961024284363],\n [0.403039008378983, 0.706539988517761],\n [0.403629004955292, 0.693953037261963],\n [0.460041999816895, 0.557139039039612],\n [0.431158006191254, 0.692366003990173],\n [0.452181994915009, 0.692366003990173],\n [0.475387006998062, 0.692366003990173],\n [0.465828001499176, 0.779190003871918],\n [0.472328990697861, 0.736225962638855],\n [0.473087012767792, 0.717857003211975],\n [0.473122000694275, 0.704625964164734],\n [0.473033010959625, 0.695277988910675],\n [0.427942007780075, 0.695277988910675],\n [0.426479011774063, 0.703539967536926],\n [0.423162013292313, 0.711845993995667],\n [0.4183090031147, 0.720062971115112],\n [0.390094995498657, 0.639572978019714],\n [0.013953999616206, 0.560034036636353],\n [0.499913990497589, 0.58014702796936],\n [0.413199990987778, 0.69539999961853],\n [0.409626007080078, 0.701822996139526],\n [0.468080013990402, 0.601534962654114],\n [0.422728985548019, 0.585985004901886],\n [0.463079988956451, 0.593783974647522],\n [0.37211999297142, 0.47341400384903],\n [0.334562003612518, 0.496073007583618],\n [0.411671012639999, 0.546965003013611],\n [0.242175996303558, 0.14767599105835],\n [0.290776997804642, 0.201445996761322],\n [0.327338010072708, 0.256527006626129],\n [0.399509996175766, 0.748921036720276],\n [0.441727995872498, 0.261676013469696],\n [0.429764986038208, 0.187834024429321],\n [0.412198007106781, 0.108901023864746],\n [0.288955003023148, 0.398952007293701],\n [0.218936994671822, 0.435410976409912],\n [0.41278201341629, 0.398970007896423],\n [0.257135003805161, 0.355440020561218],\n [0.427684992551804, 0.437960982322693],\n [0.448339998722076, 0.536936044692993],\n [0.178560003638268, 0.45755398273468],\n [0.247308000922203, 0.457193970680237],\n [0.286267012357712, 0.467674970626831],\n [0.332827985286713, 0.460712015628815],\n [0.368755996227264, 0.447206974029541],\n [0.398963987827301, 0.432654976844788],\n [0.476410001516342, 0.405806005001068],\n [0.189241006970406, 0.523923993110657],\n [0.228962004184723, 0.348950982093811],\n [0.490725994110107, 0.562400996685028],\n [0.404670000076294, 0.485132992267609],\n [0.019469000399113, 0.401564002037048],\n [0.426243007183075, 0.420431017875671],\n [0.396993011236191, 0.548797011375427],\n [0.266469985246658, 0.376977026462555],\n [0.439121007919312, 0.51895797252655],\n [0.032313998788595, 0.644356966018677],\n [0.419054001569748, 0.387154996395111],\n [0.462783008813858, 0.505746960639954],\n [0.238978996872902, 0.779744982719421],\n [0.198220998048782, 0.831938028335571],\n [0.107550002634525, 0.540755033493042],\n [0.183610007166862, 0.740257024765015],\n [0.134409993886948, 0.333683013916016],\n [0.385764002799988, 0.883153975009918],\n [0.490967005491257, 0.579378008842468],\n [0.382384985685349, 0.508572995662689],\n [0.174399003386497, 0.397670984268188],\n [0.318785011768341, 0.39623498916626],\n [0.343364000320435, 0.400596976280212],\n [0.396100014448166, 0.710216999053955],\n [0.187885001301765, 0.588537991046906],\n [0.430987000465393, 0.944064974784851],\n [0.318993002176285, 0.898285031318665],\n [0.266247987747192, 0.869701027870178],\n [0.500023007392883, 0.190576016902924],\n [0.499976992607117, 0.954452991485596],\n [0.366169989109039, 0.398822009563446],\n [0.393207013607025, 0.39553701877594],\n [0.410373002290726, 0.391080021858215],\n [0.194993004202843, 0.342101991176605],\n [0.388664990663528, 0.362284004688263],\n [0.365961998701096, 0.355970978736877],\n [0.343364000320435, 0.355356991291046],\n [0.318785011768341, 0.35834002494812],\n [0.301414996385574, 0.363156020641327],\n [0.058132998645306, 0.319076001644135],\n [0.301414996385574, 0.387449026107788],\n [0.499987989664078, 0.618434011936188],\n [0.415838003158569, 0.624195992946625],\n [0.445681989192963, 0.566076993942261],\n [0.465844005346298, 0.620640993118286],\n [0.49992299079895, 0.351523995399475],\n [0.288718998432159, 0.819945991039276],\n [0.335278987884521, 0.852819979190826],\n [0.440512001514435, 0.902418971061707],\n [0.128294005990028, 0.791940987110138],\n [0.408771991729736, 0.373893976211548],\n [0.455606997013092, 0.451801002025604],\n [0.499877005815506, 0.908990025520325],\n [0.375436991453171, 0.924192011356354],\n [0.11421000212431, 0.615022003650665],\n [0.448662012815475, 0.695277988910675],\n [0.4480200111866, 0.704632043838501],\n [0.447111994028091, 0.715808033943176],\n [0.444831997156143, 0.730794012546539],\n [0.430011987686157, 0.766808986663818],\n [0.406787008047104, 0.685672998428345],\n [0.400738000869751, 0.681069016456604],\n [0.392399996519089, 0.677703022956848],\n [0.367855995893478, 0.663918972015381],\n [0.247923001646996, 0.601333022117615],\n [0.452769994735718, 0.420849978923798],\n [0.43639200925827, 0.359887003898621],\n [0.416164010763168, 0.368713974952698],\n [0.413385987281799, 0.692366003990173],\n [0.228018000721931, 0.683571994304657],\n [0.468268007040024, 0.352671027183533],\n [0.411361992359161, 0.804327011108398],\n [0.499989002943039, 0.469825029373169],\n [0.479153990745544, 0.442654013633728],\n [0.499974012374878, 0.439637005329132],\n [0.432112008333206, 0.493588984012604],\n [0.499886006116867, 0.866917014122009],\n [0.49991300702095, 0.821729004383087],\n [0.456548988819122, 0.819200992584229],\n [0.344549000263214, 0.745438992977142],\n [0.37890899181366, 0.574010014533997],\n [0.374292999505997, 0.780184984207153],\n [0.319687992334366, 0.570737957954407],\n [0.357154995203018, 0.604269981384277],\n [0.295284003019333, 0.621580958366394],\n [0.447750002145767, 0.862477004528046],\n [0.410986006259918, 0.508723020553589],\n [0.31395098567009, 0.775308012962341],\n [0.354128003120422, 0.812552988529205],\n [0.324548006057739, 0.703992962837219],\n [0.189096003770828, 0.646299958229065],\n [0.279776990413666, 0.71465802192688],\n [0.1338230073452, 0.682700991630554],\n [0.336768001317978, 0.644733011722565],\n [0.429883986711502, 0.466521978378296],\n [0.455527991056442, 0.548622965812683],\n [0.437114000320435, 0.558896005153656],\n [0.467287987470627, 0.529924988746643],\n [0.414712011814117, 0.335219979286194],\n [0.37704598903656, 0.322777986526489],\n [0.344107985496521, 0.320150971412659],\n [0.312875986099243, 0.32233202457428],\n [0.283526003360748, 0.333190023899078],\n [0.241245999932289, 0.382785975933075],\n [0.102986000478268, 0.468762993812561],\n [0.267612010240555, 0.424560010433197],\n [0.297879010438919, 0.433175981044769],\n [0.333433985710144, 0.433878004550934],\n [0.366427004337311, 0.426115989685059],\n [0.396012008190155, 0.416696012020111],\n [0.420121014118195, 0.41022801399231],\n [0.007561000064015, 0.480777025222778],\n [0.432949006557465, 0.569517970085144],\n [0.458638995885849, 0.479089021682739],\n [0.473466008901596, 0.545744001865387],\n [0.476087987422943, 0.563830018043518],\n [0.468472003936768, 0.555056989192963],\n [0.433990985155106, 0.582361996173859],\n [0.483518004417419, 0.562983989715576],\n [0.482482999563217, 0.57784903049469],\n [0.42645001411438, 0.389798998832703],\n [0.438998997211456, 0.39649498462677],\n [0.450067013502121, 0.400434017181396],\n [0.289712011814117, 0.368252992630005],\n [0.276670008897781, 0.363372981548309],\n [0.517862021923065, 0.471948027610779],\n [0.710287988185883, 0.380764007568359],\n [0.526226997375488, 0.573909997940063],\n [0.895093023777008, 0.254140973091125],\n [0.634069979190826, 0.409575998783112],\n [0.661242008209229, 0.41302502155304],\n [0.688880026340485, 0.409460008144379],\n [0.725341975688934, 0.389131009578705],\n [0.606630027294159, 0.40370500087738],\n [0.654766023159027, 0.344011008739471],\n [0.629905998706818, 0.346076011657715],\n [0.680678009986877, 0.347265005111694],\n [0.702096998691559, 0.353591024875641],\n [0.75221198797226, 0.410804986953735],\n [0.602918028831482, 0.842862963676453],\n [0.719901978969574, 0.375599980354309],\n [0.893692970275879, 0.399959981441498],\n [0.790081977844238, 0.391354024410248],\n [0.643998026847839, 0.534487962722778],\n [0.528249025344849, 0.65040397644043],\n [0.525849997997284, 0.680191040039062],\n [0.560214996337891, 0.657229006290436],\n [0.585384011268616, 0.66654098033905],\n [0.549625992774963, 0.680860996246338],\n [0.57122802734375, 0.682691991329193],\n [0.624852001667023, 0.72809898853302],\n [0.513050019741058, 0.547281980514526],\n [0.51509702205658, 0.527251958847046],\n [0.742246985435486, 0.314507007598877],\n [0.598631024360657, 0.454979002475739],\n [0.570338010787964, 0.548575043678284],\n [0.578631997108459, 0.533622980117798],\n [0.723087012767792, 0.532054007053375],\n [0.516445994377136, 0.499638974666595],\n [0.662801027297974, 0.282917976379395],\n [0.70362401008606, 0.293271005153656],\n [0.830704987049103, 0.193813979625702],\n [0.552385985851288, 0.302568018436432],\n [0.607609987258911, 0.353887975215912],\n [0.645429015159607, 0.696707010269165],\n [0.932694971561432, 0.730105042457581],\n [0.557260990142822, 0.572826027870178],\n [0.542901992797852, 0.584792017936707],\n [0.6180260181427, 0.694710969924927],\n [0.607590973377228, 0.694203019142151],\n [0.722943007946014, 0.271963000297546],\n [0.577413976192474, 0.563166975975037],\n [0.614082992076874, 0.281386971473694],\n [0.616907000541687, 0.255886018276215],\n [0.668509006500244, 0.119913995265961],\n [0.770092010498047, 0.232020974159241],\n [0.635536015033722, 0.189248979091644],\n [0.77039098739624, 0.299556016921997],\n [0.826722025871277, 0.278755009174347],\n [0.527121007442474, 0.666198015213013],\n [0.553171992301941, 0.668527007102966],\n [0.577238023281097, 0.673889994621277],\n [0.554691970348358, 0.580065965652466],\n [0.611896991729736, 0.693961024284363],\n [0.59696102142334, 0.706539988517761],\n [0.596370995044708, 0.693953037261963],\n [0.539958000183105, 0.557139039039612],\n [0.568841993808746, 0.692366003990173],\n [0.547818005084991, 0.692366003990173],\n [0.52461302280426, 0.692366003990173],\n [0.534089982509613, 0.779141008853912],\n [0.527670979499817, 0.736225962638855],\n [0.526912987232208, 0.717857003211975],\n [0.526877999305725, 0.704625964164734],\n [0.526966989040375, 0.695277988910675],\n [0.572058022022247, 0.695277988910675],\n [0.573521018028259, 0.703539967536926],\n [0.57683801651001, 0.711845993995667],\n [0.581691026687622, 0.720062971115112],\n [0.609944999217987, 0.639909982681274],\n [0.986046016216278, 0.560034036636353],\n [0.5867999792099, 0.69539999961853],\n [0.590372025966644, 0.701822996139526],\n [0.531915009021759, 0.601536989212036],\n [0.577268004417419, 0.585934996604919],\n [0.536915004253387, 0.593786001205444],\n [0.627542972564697, 0.473352015018463],\n [0.665585994720459, 0.495950996875763],\n [0.588353991508484, 0.546862006187439],\n [0.757824003696442, 0.14767599105835],\n [0.709249973297119, 0.201507985591888],\n [0.672684013843536, 0.256581008434296],\n [0.600408971309662, 0.74900496006012],\n [0.55826598405838, 0.261672019958496],\n [0.570303976535797, 0.187870979309082],\n [0.588165998458862, 0.109044015407562],\n [0.711045026779175, 0.398952007293701],\n [0.781069993972778, 0.435405015945435],\n [0.587247014045715, 0.398931980133057],\n [0.742869973182678, 0.355445981025696],\n [0.572156012058258, 0.437651991844177],\n [0.55186802148819, 0.536570012569427],\n [0.821442008018494, 0.457556009292603],\n [0.752701997756958, 0.457181990146637],\n [0.71375697851181, 0.467626988887787],\n [0.66711300611496, 0.460672974586487],\n [0.631101012229919, 0.447153985500336],\n [0.6008620262146, 0.432473003864288],\n [0.523481011390686, 0.405627012252808],\n [0.810747981071472, 0.523926019668579],\n [0.771045982837677, 0.348959028720856],\n [0.509127020835876, 0.562718033790588],\n [0.595292985439301, 0.485023975372314],\n [0.980530977249146, 0.401564002037048],\n [0.573499977588654, 0.420000016689301],\n [0.602994978427887, 0.548687994480133],\n [0.733529984951019, 0.376977026462555],\n [0.560611009597778, 0.519016981124878],\n [0.967685997486115, 0.644356966018677],\n [0.580985009670258, 0.387160003185272],\n [0.537728011608124, 0.505385041236877],\n [0.760966002941132, 0.779752969741821],\n [0.801778972148895, 0.831938028335571],\n [0.892440974712372, 0.54076099395752],\n [0.816350996494293, 0.740260004997253],\n [0.865594983100891, 0.333687007427216],\n [0.614073991775513, 0.883246004581451],\n [0.508952975273132, 0.579437971115112],\n [0.617941975593567, 0.508316040039062],\n [0.825608015060425, 0.397674977779388],\n [0.681214988231659, 0.39623498916626],\n [0.656635999679565, 0.400596976280212],\n [0.603900015354156, 0.710216999053955],\n [0.81208598613739, 0.588539004325867],\n [0.56801301240921, 0.944564998149872],\n [0.681007981300354, 0.898285031318665],\n [0.733752012252808, 0.869701027870178],\n [0.633830010890961, 0.398822009563446],\n [0.606792986392975, 0.39553701877594],\n [0.589659988880157, 0.391062021255493],\n [0.805015981197357, 0.342108011245728],\n [0.611334979534149, 0.362284004688263],\n [0.634037971496582, 0.355970978736877],\n [0.656635999679565, 0.355356991291046],\n [0.681214988231659, 0.35834002494812],\n [0.698584973812103, 0.363156020641327],\n [0.941866993904114, 0.319076001644135],\n [0.698584973812103, 0.387449026107788],\n [0.584177017211914, 0.624107003211975],\n [0.554318010807037, 0.566076993942261],\n [0.534153997898102, 0.62064003944397],\n [0.711217999458313, 0.819975018501282],\n [0.664629995822906, 0.852871000766754],\n [0.559099972248077, 0.902631998062134],\n [0.871706008911133, 0.791940987110138],\n [0.591234028339386, 0.373893976211548],\n [0.544341027736664, 0.451583981513977],\n [0.624562978744507, 0.924192011356354],\n [0.88577002286911, 0.615028977394104],\n [0.551338016986847, 0.695277988910675],\n [0.551980018615723, 0.704632043838501],\n [0.552887976169586, 0.715808033943176],\n [0.555167973041534, 0.730794012546539],\n [0.569944024085999, 0.767035007476807],\n [0.593203008174896, 0.685675978660583],\n [0.599261999130249, 0.681069016456604],\n [0.607599973678589, 0.677703022956848],\n [0.631937980651855, 0.663500010967255],\n [0.752032995223999, 0.601315021514893],\n [0.547226011753082, 0.420395016670227],\n [0.563543975353241, 0.359827995300293],\n [0.583841025829315, 0.368713974952698],\n [0.586614012718201, 0.692366003990173],\n [0.771915018558502, 0.683578014373779],\n [0.531597018241882, 0.352482974529266],\n [0.588370978832245, 0.804440975189209],\n [0.52079701423645, 0.442565023899078],\n [0.567984998226166, 0.493479013442993],\n [0.543282985687256, 0.819254994392395],\n [0.655317008495331, 0.745514988899231],\n [0.621008992195129, 0.574018001556396],\n [0.625559985637665, 0.78031200170517],\n [0.680198013782501, 0.570719003677368],\n [0.64276397228241, 0.604337990283966],\n [0.704662978649139, 0.621529996395111],\n [0.552012026309967, 0.862591981887817],\n [0.589071989059448, 0.508637011051178],\n [0.685944974422455, 0.775357007980347],\n [0.645735025405884, 0.812640011310577],\n [0.675342977046967, 0.703978002071381],\n [0.810858011245728, 0.646304965019226],\n [0.72012197971344, 0.714666962623596],\n [0.866151988506317, 0.682704985141754],\n [0.663187026977539, 0.644596993923187],\n [0.570082008838654, 0.466325998306274],\n [0.544561982154846, 0.548375964164734],\n [0.562758982181549, 0.558784961700439],\n [0.531987011432648, 0.530140042304993],\n [0.585271000862122, 0.335177004337311],\n [0.622952997684479, 0.32277899980545],\n [0.655896008014679, 0.320163011550903],\n [0.687132000923157, 0.322345972061157],\n [0.716481983661652, 0.333200991153717],\n [0.758756995201111, 0.382786989212036],\n [0.897013008594513, 0.468769013881683],\n [0.732392013072968, 0.424547016620636],\n [0.70211398601532, 0.433162987232208],\n [0.66652500629425, 0.433866024017334],\n [0.633504986763, 0.426087975502014],\n [0.603875994682312, 0.416586995124817],\n [0.579657971858978, 0.409945011138916],\n [0.992439985275269, 0.480777025222778],\n [0.567192018032074, 0.569419980049133],\n [0.54136598110199, 0.478899002075195],\n [0.526564002037048, 0.546118021011353],\n [0.523913025856018, 0.563830018043518],\n [0.531529009342194, 0.555056989192963],\n [0.566035985946655, 0.582329034805298],\n [0.51631098985672, 0.563053965568542],\n [0.5174720287323, 0.577877044677734],\n [0.573594987392426, 0.389806985855103],\n [0.560697972774506, 0.395331978797913],\n [0.549755990505219, 0.399751007556915],\n [0.710287988185883, 0.368252992630005],\n [0.723330020904541, 0.363372981548309],\n];\n\nexport const TRI468 = [\n 127, 34, 139, 11, 0, 37, 232, 231, 120, 72, 37, 39, 128, 121, 47, 232, 121, 128, 104, 69, 67, 175, 171, 148, 157, 154, 155, 118, 50, 101, 73, 39, 40, 9,\n 151, 108, 48, 115, 131, 194, 204, 211, 74, 40, 185, 80, 42, 183, 40, 92, 186, 230, 229, 118, 202, 212, 214, 83, 18, 17, 76, 61, 146, 160, 29, 30, 56,\n 157, 173, 106, 204, 194, 135, 214, 192, 203, 165, 98, 21, 71, 68, 51, 45, 4, 144, 24, 23, 77, 146, 91, 205, 50, 187, 201, 200, 18, 91, 106, 182, 90, 91,\n 181, 85, 84, 17, 206, 203, 36, 148, 171, 140, 92, 40, 39, 193, 189, 244, 159, 158, 28, 247, 246, 161, 236, 3, 196, 54, 68, 104, 193, 168, 8, 117,\n 228, 31, 189, 193, 55, 98, 97, 99, 126, 47, 100, 166, 79, 218, 155, 154, 26, 209, 49, 131, 135, 136, 150, 47, 126, 217, 223, 52, 53, 45, 51, 134, 211,\n 170, 140, 67, 69, 108, 43, 106, 91, 230, 119, 120, 226, 130, 247, 63, 53, 52, 238, 20, 242, 46, 70, 156, 78, 62, 96, 46, 53, 63, 143, 34, 227, 173,\n 155, 133, 123, 117, 111, 44, 125, 19, 236, 134, 51, 216, 206, 205, 154, 153, 22, 39, 37, 167, 200, 201, 208, 36, 142, 100, 57, 212, 202, 20, 60, 99, 28,\n 158, 157, 35, 226, 113, 160, 159, 27, 204, 202, 210, 113, 225, 46, 43, 202, 204, 62, 76, 77, 137, 123, 116, 41, 38, 72, 203, 129, 142, 64, 98, 240, 49,\n 102, 64, 41, 73, 74, 212, 216, 207, 42, 74, 184, 169, 170, 211, 170, 149, 176, 105, 66, 69, 122, 6, 168, 123, 147, 187, 96, 77, 90, 65, 55, 107, 89,\n 90, 180, 101, 100, 120, 63, 105, 104, 93, 137, 227, 15, 86, 85, 129, 102, 49, 14, 87, 86, 55, 8, 9, 100, 47, 121, 145, 23, 22, 88, 89, 179, 6, 122,\n 196, 88, 95, 96, 138, 172, 136, 215, 58, 172, 115, 48, 219, 42, 80, 81, 195, 3, 51, 43, 146, 61, 171, 175, 199, 81, 82, 38, 53, 46, 225, 144, 163, 110,\n 246, 33, 7, 52, 65, 66, 229, 228, 117, 34, 127, 234, 107, 108, 69, 109, 108, 151, 48, 64, 235, 62, 78, 191, 129, 209, 126, 111, 35, 143, 163, 161, 246,\n 117, 123, 50, 222, 65, 52, 19, 125, 141, 221, 55, 65, 3, 195, 197, 25, 7, 33, 220, 237, 44, 70, 71, 139, 122, 193, 245, 247, 130, 33, 71, 21, 162,\n 153, 158, 159, 170, 169, 150, 188, 174, 196, 216, 186, 92, 144, 160, 161, 2, 97, 167, 141, 125, 241, 164, 167, 37, 72, 38, 12, 145, 159, 160, 38, 82, 13,\n 63, 68, 71, 226, 35, 111, 158, 153, 154, 101, 50, 205, 206, 92, 165, 209, 198, 217, 165, 167, 97, 220, 115, 218, 133, 112, 243, 239, 238, 241, 214,\n 135, 169, 190, 173, 133, 171, 208, 32, 125, 44, 237, 86, 87, 178, 85, 86, 179, 84, 85, 180, 83, 84, 181, 201, 83, 182, 137, 93, 132, 76, 62, 183, 61,\n 76, 184, 57, 61, 185, 212, 57, 186, 214, 207, 187, 34, 143, 156, 79, 239, 237, 123, 137, 177, 44, 1, 4, 201, 194, 32, 64, 102, 129, 213, 215, 138, 59,\n 166, 219, 242, 99, 97, 2, 94, 141, 75, 59, 235, 24, 110, 228, 25, 130, 226, 23, 24, 229, 22, 23, 230, 26, 22, 231, 112, 26, 232, 189, 190, 243, 221, 56,\n 190, 28, 56, 221, 27, 28, 222, 29, 27, 223, 30, 29, 224, 247, 30, 225, 238, 79, 20, 166, 59, 75, 60, 75, 240, 147, 177, 215, 20, 79, 166, 187, 147, 213,\n 112, 233, 244, 233, 128, 245, 128, 114, 188, 114, 217, 174, 131, 115, 220, 217, 198, 236, 198, 131, 134, 177, 132, 58, 143, 35, 124, 110, 163, 7, 228,\n 110, 25, 356, 389, 368, 11, 302, 267, 452, 350, 349, 302, 303, 269, 357, 343, 277, 452, 453, 357, 333, 332, 297, 175, 152, 377, 384, 398, 382, 347,\n 348, 330, 303, 304, 270, 9, 336, 337, 278, 279, 360, 418, 262, 431, 304, 408, 409, 310, 415, 407, 270, 409, 410, 450, 348, 347, 422, 430, 434, 313,\n 314, 17, 306, 307, 375, 387, 388, 260, 286, 414, 398, 335, 406, 418, 364, 367, 416, 423, 358, 327, 251, 284, 298, 281, 5, 4, 373, 374, 253, 307, 320,\n 321, 425, 427, 411, 421, 313, 18, 321, 405, 406, 320, 404, 405, 315, 16, 17, 426, 425, 266, 377, 400, 369, 322, 391, 269, 417, 465, 464, 386, 257, 258,\n 466, 260, 388, 456, 399, 419, 284, 332, 333, 417, 285, 8, 346, 340, 261, 413, 441, 285, 327, 460, 328, 355, 371, 329, 392, 439, 438, 382, 341, 256,\n 429, 420, 360, 364, 394, 379, 277, 343, 437, 443, 444, 283, 275, 440, 363, 431, 262, 369, 297, 338, 337, 273, 375, 321, 450, 451, 349, 446, 342, 467,\n 293, 334, 282, 458, 461, 462, 276, 353, 383, 308, 324, 325, 276, 300, 293, 372, 345, 447, 382, 398, 362, 352, 345, 340, 274, 1, 19, 456, 248, 281, 436,\n 427, 425, 381, 256, 252, 269, 391, 393, 200, 199, 428, 266, 330, 329, 287, 273, 422, 250, 462, 328, 258, 286, 384, 265, 353, 342, 387, 259, 257, 424,\n 431, 430, 342, 353, 276, 273, 335, 424, 292, 325, 307, 366, 447, 345, 271, 303, 302, 423, 266, 371, 294, 455, 460, 279, 278, 294, 271, 272, 304, 432,\n 434, 427, 272, 407, 408, 394, 430, 431, 395, 369, 400, 334, 333, 299, 351, 417, 168, 352, 280, 411, 325, 319, 320, 295, 296, 336, 319, 403, 404, 330,\n 348, 349, 293, 298, 333, 323, 454, 447, 15, 16, 315, 358, 429, 279, 14, 15, 316, 285, 336, 9, 329, 349, 350, 374, 380, 252, 318, 402, 403, 6, 197, 419,\n 318, 319, 325, 367, 364, 365, 435, 367, 397, 344, 438, 439, 272, 271, 311, 195, 5, 281, 273, 287, 291, 396, 428, 199, 311, 271, 268, 283, 444, 445,\n 373, 254, 339, 263, 466, 249, 282, 334, 296, 449, 347, 346, 264, 447, 454, 336, 296, 299, 338, 10, 151, 278, 439, 455, 292, 407, 415, 358, 371, 355,\n 340, 345, 372, 390, 249, 466, 346, 347, 280, 442, 443, 282, 19, 94, 370, 441, 442, 295, 248, 419, 197, 263, 255, 359, 440, 275, 274, 300, 383, 368,\n 351, 412, 465, 263, 467, 466, 301, 368, 389, 380, 374, 386, 395, 378, 379, 412, 351, 419, 436, 426, 322, 373, 390, 388, 2, 164, 393, 370, 462, 461,\n 164, 0, 267, 302, 11, 12, 374, 373, 387, 268, 12, 13, 293, 300, 301, 446, 261, 340, 385, 384, 381, 330, 266, 425, 426, 423, 391, 429, 355, 437, 391,\n 327, 326, 440, 457, 438, 341, 382, 362, 459, 457, 461, 434, 430, 394, 414, 463, 362, 396, 369, 262, 354, 461, 457, 316, 403, 402, 315, 404, 403, 314,\n 405, 404, 313, 406, 405, 421, 418, 406, 366, 401, 361, 306, 408, 407, 291, 409, 408, 287, 410, 409, 432, 436, 410, 434, 416, 411, 264, 368, 383, 309,\n 438, 457, 352, 376, 401, 274, 275, 4, 421, 428, 262, 294, 327, 358, 433, 416, 367, 289, 455, 439, 462, 370, 326, 2, 326, 370, 305, 460, 455, 254,\n 449, 448, 255, 261, 446, 253, 450, 449, 252, 451, 450, 256, 452, 451, 341, 453, 452, 413, 464, 463, 441, 413, 414, 258, 442, 441, 257, 443, 442, 259,\n 444, 443, 260, 445, 444, 467, 342, 445, 459, 458, 250, 289, 392, 290, 290, 328, 460, 376, 433, 435, 250, 290, 392, 411, 416, 433, 341, 463, 464, 453,\n 464, 465, 357, 465, 412, 343, 412, 399, 360, 363, 440, 437, 399, 456, 420, 456, 363, 401, 435, 288, 372, 383, 353, 339, 255, 249, 448, 261, 255, 133,\n 243, 190, 133, 155, 112, 33, 246, 247, 33, 130, 25, 398, 384, 286, 362, 398, 414, 362, 463, 341, 263, 359, 467, 263, 249, 255, 466, 467, 260, 75, 60,\n 166, 238, 239, 79, 162, 127, 139, 72, 11, 37, 121, 232, 120, 73, 72, 39, 114, 128, 47, 233, 232, 128, 103, 104, 67, 152, 175, 148, 173, 157, 155,\n 119, 118, 101, 74, 73, 40, 107, 9, 108, 49, 48, 131, 32, 194, 211, 184, 74, 185, 191, 80, 183, 185, 40, 186, 119, 230, 118, 210, 202, 214, 84, 83, 17,\n 77, 76, 146, 161, 160, 30, 190, 56, 173, 182, 106, 194, 138, 135, 192, 129, 203, 98, 54, 21, 68, 5, 51, 4, 145, 144, 23, 90, 77, 91, 207, 205, 187, 83,\n 201, 18, 181, 91, 182, 180, 90, 181, 16, 85, 17, 205, 206, 36, 176, 148, 140, 165, 92, 39, 245, 193, 244, 27, 159, 28, 30, 247, 161, 174, 236, 196,\n 103, 54, 104, 55, 193, 8, 111, 117, 31, 221, 189, 55, 240, 98, 99, 142, 126, 100, 219, 166, 218, 112, 155, 26, 198, 209, 131, 169, 135, 150, 114, 47,\n 217, 224, 223, 53, 220, 45, 134, 32, 211, 140, 109, 67, 108, 146, 43, 91, 231, 230, 120, 113, 226, 247, 105, 63, 52, 241, 238, 242, 124, 46, 156, 95,\n 78, 96, 70, 46, 63, 116, 143, 227, 116, 123, 111, 1, 44, 19, 3, 236, 51, 207, 216, 205, 26, 154, 22, 165, 39, 167, 199, 200, 208, 101, 36, 100, 43,\n 57, 202, 242, 20, 99, 56, 28, 157, 124, 35, 113, 29, 160, 27, 211, 204, 210, 124, 113, 46, 106, 43, 204, 96, 62, 77, 227, 137, 116, 73, 41, 72, 36, 203,\n 142, 235, 64, 240, 48, 49, 64, 42, 41, 74, 214, 212, 207, 183, 42, 184, 210, 169, 211, 140, 170, 176, 104, 105, 69, 193, 122, 168, 50, 123, 187, 89, 96,\n 90, 66, 65, 107, 179, 89, 180, 119, 101, 120, 68, 63, 104, 234, 93, 227, 16, 15, 85, 209, 129, 49, 15, 14, 86, 107, 55, 9, 120, 100, 121, 153, 145, 22,\n 178, 88, 179, 197, 6, 196, 89, 88, 96, 135, 138, 136, 138, 215, 172, 218, 115, 219, 41, 42, 81, 5, 195, 51, 57, 43, 61, 208, 171, 199, 41, 81, 38,\n 224, 53, 225, 24, 144, 110, 105, 52, 66, 118, 229, 117, 227, 34, 234, 66, 107, 69, 10, 109, 151, 219, 48, 235, 183, 62, 191, 142, 129, 126, 116, 111,\n 143, 7, 163, 246, 118, 117, 50, 223, 222, 52, 94, 19, 141, 222, 221, 65, 196, 3, 197, 45, 220, 44, 156, 70, 139, 188, 122, 245, 139, 71, 162, 145,\n 153, 159, 149, 170, 150, 122, 188, 196, 206, 216, 92, 163, 144, 161, 164, 2, 167, 242, 141, 241, 0, 164, 37, 11, 72, 12, 144, 145, 160, 12, 38, 13, 70,\n 63, 71, 31, 226, 111, 157, 158, 154, 36, 101, 205, 203, 206, 165, 126, 209, 217, 98, 165, 97, 237, 220, 218, 237, 239, 241, 210, 214, 169, 140, 171, 32,\n 241, 125, 237, 179, 86, 178, 180, 85, 179, 181, 84, 180, 182, 83, 181, 194, 201, 182, 177, 137, 132, 184, 76, 183, 185, 61, 184, 186, 57, 185, 216, 212,\n 186, 192, 214, 187, 139, 34, 156, 218, 79, 237, 147, 123, 177, 45, 44, 4, 208, 201, 32, 98, 64, 129, 192, 213, 138, 235, 59, 219, 141, 242, 97, 97, 2,\n 141, 240, 75, 235, 229, 24, 228, 31, 25, 226, 230, 23, 229, 231, 22, 230, 232, 26, 231, 233, 112, 232, 244, 189, 243, 189, 221, 190, 222, 28, 221,\n 223, 27, 222, 224, 29, 223, 225, 30, 224, 113, 247, 225, 99, 60, 240, 213, 147, 215, 60, 20, 166, 192, 187, 213, 243, 112, 244, 244, 233, 245, 245,\n 128, 188, 188, 114, 174, 134, 131, 220, 174, 217, 236, 236, 198, 134, 215, 177, 58, 156, 143, 124, 25, 110, 7, 31, 228, 25, 264, 356, 368, 0, 11, 267,\n 451, 452, 349, 267, 302, 269, 350, 357, 277, 350, 452, 357, 299, 333, 297, 396, 175, 377, 381, 384, 382, 280, 347, 330, 269, 303, 270, 151, 9, 337,\n 344, 278, 360, 424, 418, 431, 270, 304, 409, 272, 310, 407, 322, 270, 410, 449, 450, 347, 432, 422, 434, 18, 313, 17, 291, 306, 375, 259, 387, 260,\n 424, 335, 418, 434, 364, 416, 391, 423, 327, 301, 251, 298, 275, 281, 4, 254, 373, 253, 375, 307, 321, 280, 425, 411, 200, 421, 18, 335, 321, 406,\n 321, 320, 405, 314, 315, 17, 423, 426, 266, 396, 377, 369, 270, 322, 269, 413, 417, 464, 385, 386, 258, 248, 456, 419, 298, 284, 333, 168, 417, 8,\n 448, 346, 261, 417, 413, 285, 326, 327, 328, 277, 355, 329, 309, 392, 438, 381, 382, 256, 279, 429, 360, 365, 364, 379, 355, 277, 437, 282, 443, 283,\n 281, 275, 363, 395, 431, 369, 299, 297, 337, 335, 273, 321, 348, 450, 349, 359, 446, 467, 283, 293, 282, 250, 458, 462, 300, 276, 383, 292, 308, 325,\n 283, 276, 293, 264, 372, 447, 346, 352, 340, 354, 274, 19, 363, 456, 281, 426, 436, 425, 380, 381, 252, 267, 269, 393, 421, 200, 428, 371, 266, 329,\n 432, 287, 422, 290, 250, 328, 385, 258, 384, 446, 265, 342, 386, 387, 257, 422, 424, 430, 445, 342, 276, 422, 273, 424, 306, 292, 307, 352, 366, 345,\n 268, 271, 302, 358, 423, 371, 327, 294, 460, 331, 279, 294, 303, 271, 304, 436, 432, 427, 304, 272, 408, 395, 394, 431, 378, 395, 400, 296, 334, 299,\n 6, 351, 168, 376, 352, 411, 307, 325, 320, 285, 295, 336, 320, 319, 404, 329, 330, 349, 334, 293, 333, 366, 323, 447, 316, 15, 315, 331, 358, 279,\n 317, 14, 316, 8, 285, 9, 277, 329, 350, 253, 374, 252, 319, 318, 403, 351, 6, 419, 324, 318, 325, 397, 367, 365, 288, 435, 397, 278, 344, 439, 310,\n 272, 311, 248, 195, 281, 375, 273, 291, 175, 396, 199, 312, 311, 268, 276, 283, 445, 390, 373, 339, 295, 282, 296, 448, 449, 346, 356, 264, 454, 337,\n 336, 299, 337, 338, 151, 294, 278, 455, 308, 292, 415, 429, 358, 355, 265, 340, 372, 388, 390, 466, 352, 346, 280, 295, 442, 282, 354, 19, 370, 285,\n 441, 295, 195, 248, 197, 457, 440, 274, 301, 300, 368, 417, 351, 465, 251, 301, 389, 385, 380, 386, 394, 395, 379, 399, 412, 419, 410, 436, 322, 387,\n 373, 388, 326, 2, 393, 354, 370, 461, 393, 164, 267, 268, 302, 12, 386, 374, 387, 312, 268, 13, 298, 293, 301, 265, 446, 340, 380, 385, 381, 280, 330,\n 425, 322, 426, 391, 420, 429, 437, 393, 391, 326, 344, 440, 438, 458, 459, 461, 364, 434, 394, 428, 396, 262, 274, 354, 457, 317, 316, 402, 316, 315,\n 403, 315, 314, 404, 314, 313, 405, 313, 421, 406, 323, 366, 361, 292, 306, 407, 306, 291, 408, 291, 287, 409, 287, 432, 410, 427, 434, 411, 372, 264,\n 383, 459, 309, 457, 366, 352, 401, 1, 274, 4, 418, 421, 262, 331, 294, 358, 435, 433, 367, 392, 289, 439, 328, 462, 326, 94, 2, 370, 289, 305, 455, 339,\n 254, 448, 359, 255, 446, 254, 253, 449, 253, 252, 450, 252, 256, 451, 256, 341, 452, 414, 413, 463, 286, 441, 414, 286, 258, 441, 258, 257, 442, 257,\n 259, 443, 259, 260, 444, 260, 467, 445, 309, 459, 250, 305, 289, 290, 305, 290, 460, 401, 376, 435, 309, 250, 392, 376, 411, 433, 453, 341, 464, 357,\n 453, 465, 343, 357, 412, 437, 343, 399, 344, 360, 440, 420, 437, 456, 360, 420, 363, 361, 401, 288, 265, 372, 353, 390, 339, 249, 339, 448, 255];\n\nexport const TRI68 = [0, 1, 36, 0, 36, 17, 1, 2, 41, 1, 41, 36, 2, 3, 31, 2, 31, 41, 3, 4, 48, 3, 48, 31, 4, 5, 48, 5, 6, 48, 6, 7, 59, 6, 59, 48, 7, 8, 58, 7, 58, 59,\n 8, 9, 56, 8, 56, 57, 8, 57, 58, 9, 10, 55, 9, 55, 56, 10, 11, 54, 10, 54, 55, 11, 12, 54, 12, 13, 54, 13, 14, 35, 13, 35, 54, 14, 15, 46, 14, 46, 35, 15, 16,\n 45, 15, 45, 46, 16, 26, 45, 17, 36, 18, 18, 37, 19, 18, 36, 37, 19, 38, 20, 19, 37, 38, 20, 39, 21, 20, 38, 39, 21, 39, 27, 22, 42, 23, 22, 27, 42, 23, 43, 24,\n 23, 42, 43, 24, 44, 25, 24, 43, 44, 25, 45, 26, 25, 44, 45, 27, 39, 28, 27, 28, 42, 28, 39, 29, 28, 29, 42, 29, 31, 30, 29, 30, 35, 29, 40, 31, 29, 35, 47, 29,\n 39, 40, 29, 47, 42, 30, 31, 32, 30, 32, 33, 30, 33, 34, 30, 34, 35, 31, 50, 32, 31, 40, 41, 31, 48, 49, 31, 49, 50, 32, 51, 33, 32, 50, 51, 33, 51, 34, 34, 52,\n 35, 34, 51, 52, 35, 46, 47, 35, 52, 53, 35, 53, 54, 36, 41, 37, 37, 40, 38, 37, 41, 40, 38, 40, 39, 42, 47, 43, 43, 47, 44, 44, 46, 45, 44, 47, 46, 48, 60, 49,\n 48, 59, 60, 49, 61, 50, 49, 60, 61, 50, 62, 51, 50, 61, 62, 51, 62, 52, 52, 63, 53, 52, 62, 63, 53, 64, 54, 53, 63, 64, 54, 64, 55, 55, 65, 56, 55, 64, 65, 56,\n 66, 57, 56, 65, 66, 57, 66, 58, 58, 67, 59, 58, 66, 67, 59, 67, 60, 60, 67, 61, 61, 66, 62, 61, 67, 66, 62, 66, 63, 63, 65, 64, 63, 66, 65, 21, 27, 22];\n\nexport const TRI33 = [\n /* eyes */ 0, 8, 7, 7, 8, 1, 2, 10, 9, 9, 10, 3,\n /* brows */ 17, 0, 18, 18, 0, 7, 18, 7, 19, 19, 7, 1, 19, 1, 11, 19, 11, 20, 21, 3, 22, 21, 9, 3, 20, 9, 21, 20, 2, 9, 20, 11, 2,\n /* 4head */ 23, 17, 18, 25, 21, 22, 24, 19, 20, 24, 18, 19, 24, 20, 21, 24, 23, 18, 24, 21, 25,\n /* nose */ 11, 12, 4, 11, 4, 13, 1, 12, 11, 11, 13, 2, 12, 14, 4, 4, 14, 13,\n /* up-lip */ 14, 5, 15, 14, 15, 6, 12, 5, 14, 14, 6, 13,\n /* cheeks */ 8, 12, 1, 2, 13, 10, 8, 26, 12, 10, 13, 27, 26, 5, 12, 13, 6, 27, 0, 26, 8, 10, 27, 3,\n /* chin */ 5, 32, 16, 16, 32, 6, 5, 30, 32, 6, 32, 31,\n /* cont */ 26, 30, 5, 27, 6, 31, 0, 28, 26, 3, 27, 29, 17, 28, 0, 3, 29, 22, 23, 28, 17, 22, 29, 25, 28, 30, 26, 27, 31, 29,\n];\n\nexport const TRI7 = [0, 4, 1, 2, 4, 3, 4, 5, 6];\n\nexport const VTX68 = [\n /* cont */ 127, 234, 132, 58, 172, 150, 149, 148, 152, 377, 378, 379, 397, 288, 361, 454, 356,\n /* brows */ 70, 63, 105, 66, 107, 336, 296, 334, 293, 300,\n /* nose */ 168, 6, 195, 4, 98, 97, 2, 326, 327,\n /* eyes */ 33, 160, 158, 133, 153, 144, 362, 385, 387, 263, 373, 380,\n /* lip */ 57, 40, 37, 0, 267, 270, 287, 321, 314, 17, 84, 91,\n /* mouth */ 78, 81, 13, 311, 308, 402, 14, 178,\n];\n\nexport const VTX33 = [33, 133, 362, 263, 1, 62, 308, 159, 145, 386, 374, 6, 102, 331, 2, 13, 14, 70, 105, 107, 336, 334, 300, 54, 10, 284, 50, 280, 234, 454, 58, 288, 152];\n\nexport const VTX7 = [33, 133, 362, 263, 1, 78, 308];\n\nexport const UV68 = VTX68.map((x) => UV468[x]);\n\nexport const UV33 = VTX33.map((x) => UV468[x]);\n\nexport const UV7 = VTX7.map((x) => UV468[x]);\n", "import * as tf from '../../dist/tfjs.esm.js';\nimport * as bounding from './box';\nimport * as util from './util';\nimport * as coords from './coords';\nimport { Tensor, GraphModel } from '../tfjs/types';\nimport { BlazeFaceModel } from './blazeface';\n\nconst leftOutline = coords.MESH_ANNOTATIONS['leftEyeLower0'];\nconst rightOutline = coords.MESH_ANNOTATIONS['rightEyeLower0'];\n\nconst eyeLandmarks = {\n leftBounds: [leftOutline[0], leftOutline[leftOutline.length - 1]],\n rightBounds: [rightOutline[0], rightOutline[rightOutline.length - 1]],\n};\n\nconst meshLandmarks = {\n count: 468,\n mouth: 13,\n symmetryLine: [13, coords.MESH_ANNOTATIONS['midwayBetweenEyes'][0]],\n};\n\nconst blazeFaceLandmarks = {\n leftEye: 0,\n rightEye: 1,\n nose: 2,\n mouth: 3,\n leftEar: 4,\n rightEar: 5,\n symmetryLine: [3, 2],\n};\n\nconst irisLandmarks = {\n upperCenter: 3,\n lowerCenter: 4,\n index: 71,\n numCoordinates: 76,\n};\n\n// Replace the raw coordinates returned by facemesh with refined iris model coordinates\n// Update the z coordinate to be an average of the original and the new.\nfunction replaceRawCoordinates(rawCoords, newCoords, prefix, keys) {\n for (let i = 0; i < coords.MESH_TO_IRIS_INDICES_MAP.length; i++) {\n const { key, indices } = coords.MESH_TO_IRIS_INDICES_MAP[i];\n const originalIndices = coords.MESH_ANNOTATIONS[`${prefix}${key}`];\n if (!keys || keys.includes(key)) {\n for (let j = 0; j < indices.length; j++) {\n const index = indices[j];\n rawCoords[originalIndices[j]] = [\n newCoords[index][0], newCoords[index][1],\n (newCoords[index][2] + rawCoords[originalIndices[j]][2]) / 2,\n ];\n }\n }\n }\n}\n// The Pipeline coordinates between the bounding box and skeleton models.\nexport class Pipeline {\n storedBoxes: Array<{ startPoint: number[], endPoint: number[], landmarks: Array, confidence: number, faceConfidence?: number }>;\n boundingBoxDetector: BlazeFaceModel; // tf.GraphModel\n meshDetector: GraphModel; // tf.GraphModel\n irisModel: GraphModel; // tf.GraphModel\n boxSize: number;\n meshSize: number;\n irisSize: number;\n irisEnlarge: number;\n skipped: number;\n detectedFaces: number;\n\n constructor(boundingBoxDetector, meshDetector, irisModel) {\n // An array of facial bounding boxes.\n this.storedBoxes = [];\n this.boundingBoxDetector = boundingBoxDetector;\n this.meshDetector = meshDetector;\n this.irisModel = irisModel;\n this.boxSize = boundingBoxDetector?.model?.inputs[0].shape[2] || 0;\n this.meshSize = meshDetector?.inputs[0].shape[2] || boundingBoxDetector?.model?.inputs[0].shape[2];\n this.irisSize = irisModel?.inputs[0].shape[1] || 0;\n this.irisEnlarge = 2.3;\n this.skipped = 0;\n this.detectedFaces = 0;\n }\n\n transformRawCoords(rawCoords, box, angle, rotationMatrix) {\n const boxSize = bounding.getBoxSize({ startPoint: box.startPoint, endPoint: box.endPoint });\n const coordsScaled = rawCoords.map((coord) => ([\n boxSize[0] / this.meshSize * (coord[0] - this.meshSize / 2),\n boxSize[1] / this.meshSize * (coord[1] - this.meshSize / 2),\n coord[2],\n ]));\n const coordsRotationMatrix = (angle !== 0) ? util.buildRotationMatrix(angle, [0, 0]) : util.IDENTITY_MATRIX;\n const coordsRotated = (angle !== 0) ? coordsScaled.map((coord) => ([...util.rotatePoint(coord, coordsRotationMatrix), coord[2]])) : coordsScaled;\n const inverseRotationMatrix = (angle !== 0) ? util.invertTransformMatrix(rotationMatrix) : util.IDENTITY_MATRIX;\n const boxCenter = [...bounding.getBoxCenter({ startPoint: box.startPoint, endPoint: box.endPoint }), 1];\n return coordsRotated.map((coord) => ([\n Math.round(coord[0] + util.dot(boxCenter, inverseRotationMatrix[0])),\n Math.round(coord[1] + util.dot(boxCenter, inverseRotationMatrix[1])),\n Math.round(coord[2]),\n ]));\n }\n\n // eslint-disable-next-line class-methods-use-this\n getLeftToRightEyeDepthDifference(rawCoords) {\n const leftEyeZ = rawCoords[eyeLandmarks.leftBounds[0]][2];\n const rightEyeZ = rawCoords[eyeLandmarks.rightBounds[0]][2];\n return leftEyeZ - rightEyeZ;\n }\n\n // Returns a box describing a cropped region around the eye fit for passing to the iris model.\n getEyeBox(rawCoords, face, eyeInnerCornerIndex, eyeOuterCornerIndex, flip = false) {\n const box = bounding.squarifyBox(bounding.enlargeBox(bounding.calculateLandmarksBoundingBox([rawCoords[eyeInnerCornerIndex], rawCoords[eyeOuterCornerIndex]]), this.irisEnlarge));\n const boxSize = bounding.getBoxSize(box);\n let crop = tf.image.cropAndResize(face, [[\n box.startPoint[1] / this.meshSize,\n box.startPoint[0] / this.meshSize, box.endPoint[1] / this.meshSize,\n box.endPoint[0] / this.meshSize,\n ]], [0], [this.irisSize, this.irisSize]);\n if (flip && tf.ENV.flags.IS_BROWSER) {\n crop = tf.image.flipLeftRight(crop); // flipLeftRight is not defined for tfjs-node\n }\n return { box, boxSize, crop };\n }\n\n // Given a cropped image of an eye, returns the coordinates of the contours surrounding the eye and the iris.\n getEyeCoords(eyeData, eyeBox, eyeBoxSize, flip = false) {\n const eyeRawCoords: Array<[number, number, number]> = [];\n for (let i = 0; i < irisLandmarks.numCoordinates; i++) {\n const x = eyeData[i * 3];\n const y = eyeData[i * 3 + 1];\n const z = eyeData[i * 3 + 2];\n eyeRawCoords.push([\n (flip ? (1 - (x / this.irisSize)) : (x / this.irisSize)) * eyeBoxSize[0] + eyeBox.startPoint[0],\n (y / this.irisSize) * eyeBoxSize[1] + eyeBox.startPoint[1], z,\n ]);\n }\n return { rawCoords: eyeRawCoords, iris: eyeRawCoords.slice(irisLandmarks.index) };\n }\n\n // The z-coordinates returned for the iris are unreliable, so we take the z values from the surrounding keypoints.\n // eslint-disable-next-line class-methods-use-this\n getAdjustedIrisCoords(rawCoords, irisCoords, direction) {\n const upperCenterZ = rawCoords[coords.MESH_ANNOTATIONS[`${direction}EyeUpper0`][irisLandmarks.upperCenter]][2];\n const lowerCenterZ = rawCoords[coords.MESH_ANNOTATIONS[`${direction}EyeLower0`][irisLandmarks.lowerCenter]][2];\n const averageZ = (upperCenterZ + lowerCenterZ) / 2;\n // Iris indices: 0: center | 1: right | 2: above | 3: left | 4: below\n return irisCoords.map((coord, i) => {\n let z = averageZ;\n if (i === 2) {\n z = upperCenterZ;\n } else if (i === 4) {\n z = lowerCenterZ;\n }\n return [coord[0], coord[1], z];\n });\n }\n\n async predict(input, config) {\n let useFreshBox = false;\n // run new detector every skipFrames unless we only want box to start with\n let detector;\n if ((this.skipped === 0) || (this.skipped > config.face.detector.skipFrames) || !config.face.mesh.enabled || !config.skipFrame) {\n detector = await this.boundingBoxDetector.getBoundingBoxes(input);\n this.skipped = 0;\n }\n if (config.skipFrame) this.skipped++;\n\n // if detector result count doesn't match current working set, use it to reset current working set\n if (!config.skipFrame || (detector && detector.boxes && (!config.face.mesh.enabled || (detector.boxes.length !== this.detectedFaces) && (this.detectedFaces !== config.face.detector.maxDetected)))) {\n this.storedBoxes = [];\n this.detectedFaces = 0;\n for (const possible of detector.boxes) {\n this.storedBoxes.push({ startPoint: possible.box.startPoint.dataSync(), endPoint: possible.box.endPoint.dataSync(), landmarks: possible.landmarks.arraySync(), confidence: possible.confidence });\n }\n if (this.storedBoxes.length > 0) useFreshBox = true;\n }\n\n if (useFreshBox) {\n if (!detector || !detector.boxes || (detector.boxes.length === 0)) {\n this.storedBoxes = [];\n this.detectedFaces = 0;\n return null;\n }\n for (let i = 0; i < this.storedBoxes.length; i++) {\n const scaledBox = bounding.scaleBoxCoordinates({ startPoint: this.storedBoxes[i].startPoint, endPoint: this.storedBoxes[i].endPoint }, detector.scaleFactor);\n const enlargedBox = bounding.enlargeBox(scaledBox);\n const squarifiedBox = bounding.squarifyBox(enlargedBox);\n const landmarks = this.storedBoxes[i].landmarks;\n const confidence = this.storedBoxes[i].confidence;\n this.storedBoxes[i] = { ...squarifiedBox, confidence, landmarks };\n }\n }\n if (detector && detector.boxes) {\n detector.boxes.forEach((prediction) => {\n prediction.box.startPoint.dispose();\n prediction.box.endPoint.dispose();\n prediction.landmarks.dispose();\n });\n }\n const results = tf.tidy(() => this.storedBoxes.map((box, i) => {\n // The facial bounding box landmarks could come either from blazeface (if we are using a fresh box), or from the mesh model (if we are reusing an old box).\n let face;\n let angle = 0;\n let rotationMatrix;\n\n if (config.face.detector.rotation && config.face.mesh.enabled && tf.ENV.flags.IS_BROWSER) {\n const [indexOfMouth, indexOfForehead] = (box.landmarks.length >= meshLandmarks.count) ? meshLandmarks.symmetryLine : blazeFaceLandmarks.symmetryLine;\n angle = util.computeRotation(box.landmarks[indexOfMouth], box.landmarks[indexOfForehead]);\n const faceCenter = bounding.getBoxCenter({ startPoint: box.startPoint, endPoint: box.endPoint });\n const faceCenterNormalized = [faceCenter[0] / input.shape[2], faceCenter[1] / input.shape[1]];\n const rotatedImage = tf.image.rotateWithOffset(input, angle, 0, faceCenterNormalized); // rotateWithOffset is not defined for tfjs-node\n rotationMatrix = util.buildRotationMatrix(-angle, faceCenter);\n if (config.face.mesh.enabled) face = bounding.cutBoxFromImageAndResize({ startPoint: box.startPoint, endPoint: box.endPoint }, rotatedImage, [this.meshSize, this.meshSize]).div(255);\n else face = bounding.cutBoxFromImageAndResize({ startPoint: box.startPoint, endPoint: box.endPoint }, rotatedImage, [this.boxSize, this.boxSize]).div(255);\n } else {\n rotationMatrix = util.IDENTITY_MATRIX;\n const clonedImage = input.clone();\n if (config.face.mesh.enabled) face = bounding.cutBoxFromImageAndResize({ startPoint: box.startPoint, endPoint: box.endPoint }, clonedImage, [this.meshSize, this.meshSize]).div(255);\n else face = bounding.cutBoxFromImageAndResize({ startPoint: box.startPoint, endPoint: box.endPoint }, clonedImage, [this.boxSize, this.boxSize]).div(255);\n }\n\n // if we're not going to produce mesh, don't spend time with further processing\n if (!config.face.mesh.enabled) {\n const prediction = {\n mesh: [],\n box,\n faceConfidence: null,\n boxConfidence: box.confidence,\n confidence: box.confidence,\n image: face,\n };\n return prediction;\n }\n\n const [, confidence, contourCoords] = this.meshDetector.execute(face) as Array; // The first returned tensor represents facial contours which are already included in the coordinates.\n const faceConfidence = confidence.dataSync()[0] as number;\n if (faceConfidence < config.face.detector.minConfidence) {\n this.storedBoxes[i].confidence = faceConfidence; // reset confidence of cached box\n return null; // if below confidence just exit\n }\n const coordsReshaped = tf.reshape(contourCoords, [-1, 3]);\n let rawCoords = coordsReshaped.arraySync();\n\n if (config.face.iris.enabled) {\n const { box: leftEyeBox, boxSize: leftEyeBoxSize, crop: leftEyeCrop } = this.getEyeBox(rawCoords, face, eyeLandmarks.leftBounds[0], eyeLandmarks.leftBounds[1], true);\n const { box: rightEyeBox, boxSize: rightEyeBoxSize, crop: rightEyeCrop } = this.getEyeBox(rawCoords, face, eyeLandmarks.rightBounds[0], eyeLandmarks.rightBounds[1]);\n const eyePredictions = this.irisModel.predict(tf.concat([leftEyeCrop, rightEyeCrop])) as Tensor;\n const eyePredictionsData = eyePredictions.dataSync();\n const leftEyeData = eyePredictionsData.slice(0, irisLandmarks.numCoordinates * 3);\n const { rawCoords: leftEyeRawCoords, iris: leftIrisRawCoords } = this.getEyeCoords(leftEyeData, leftEyeBox, leftEyeBoxSize, true);\n const rightEyeData = eyePredictionsData.slice(irisLandmarks.numCoordinates * 3);\n const { rawCoords: rightEyeRawCoords, iris: rightIrisRawCoords } = this.getEyeCoords(rightEyeData, rightEyeBox, rightEyeBoxSize);\n const leftToRightEyeDepthDifference = this.getLeftToRightEyeDepthDifference(rawCoords);\n if (Math.abs(leftToRightEyeDepthDifference) < 30) { // User is looking straight ahead.\n replaceRawCoordinates(rawCoords, leftEyeRawCoords, 'left', null);\n replaceRawCoordinates(rawCoords, rightEyeRawCoords, 'right', null);\n // If the user is looking to the left or to the right, the iris coordinates tend to diverge too much from the mesh coordinates for them to be merged\n // So we only update a single contour line above and below the eye.\n } else if (leftToRightEyeDepthDifference < 1) { // User is looking towards the right.\n replaceRawCoordinates(rawCoords, leftEyeRawCoords, 'left', ['EyeUpper0', 'EyeLower0']);\n } else { // User is looking towards the left.\n replaceRawCoordinates(rawCoords, rightEyeRawCoords, 'right', ['EyeUpper0', 'EyeLower0']);\n }\n const adjustedLeftIrisCoords = this.getAdjustedIrisCoords(rawCoords, leftIrisRawCoords, 'left');\n const adjustedRightIrisCoords = this.getAdjustedIrisCoords(rawCoords, rightIrisRawCoords, 'right');\n rawCoords = rawCoords.concat(adjustedLeftIrisCoords).concat(adjustedRightIrisCoords);\n }\n\n // override box from detection with one calculated from mesh\n const mesh = this.transformRawCoords(rawCoords, box, angle, rotationMatrix);\n const storeConfidence = box.confidence;\n // @ts-ignore enlargeBox does not include confidence so we append it manually\n box = bounding.enlargeBox(bounding.calculateLandmarksBoundingBox(mesh), 1.5); // redefine box with mesh calculated one\n box.confidence = storeConfidence;\n\n // do rotation one more time with mesh keypoints if we want to return perfect image\n if (config.face.detector.rotation && config.face.mesh.enabled && config.face.description.enabled && tf.ENV.flags.IS_BROWSER) {\n const [indexOfMouth, indexOfForehead] = (box.landmarks.length >= meshLandmarks.count) ? meshLandmarks.symmetryLine : blazeFaceLandmarks.symmetryLine;\n angle = util.computeRotation(box.landmarks[indexOfMouth], box.landmarks[indexOfForehead]);\n const faceCenter = bounding.getBoxCenter({ startPoint: box.startPoint, endPoint: box.endPoint });\n const faceCenterNormalized = [faceCenter[0] / input.shape[2], faceCenter[1] / input.shape[1]];\n const rotatedImage = tf.image.rotateWithOffset(input.toFloat(), angle, 0, faceCenterNormalized); // rotateWithOffset is not defined for tfjs-node\n rotationMatrix = util.buildRotationMatrix(-angle, faceCenter);\n face = bounding.cutBoxFromImageAndResize({ startPoint: box.startPoint, endPoint: box.endPoint }, rotatedImage, [this.meshSize, this.meshSize]).div(255);\n }\n\n const prediction = {\n mesh,\n box,\n faceConfidence,\n boxConfidence: box.confidence,\n image: face,\n };\n\n // updated stored cache values\n this.storedBoxes[i] = { ...bounding.squarifyBox(box), confidence: box.confidence, faceConfidence };\n\n return prediction;\n }));\n\n // results = results.filter((a) => a !== null);\n // remove cache entries for detected boxes on low confidence\n if (config.face.mesh.enabled) this.storedBoxes = this.storedBoxes.filter((a) => a.confidence > config.face.detector.minConfidence);\n this.detectedFaces = results.length;\n\n return results;\n }\n}\n", "/**\n * Emotion Module\n */\n\nimport { log, join } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\n\nconst annotations = ['angry', 'disgust', 'fear', 'happy', 'sad', 'surprise', 'neutral'];\nlet model;\n// let last: Array<{ score: number, emotion: string }> = [];\nconst last: Array> = [];\nlet lastCount = 0;\nlet skipped = Number.MAX_SAFE_INTEGER;\n\n// tuning values\nconst rgb = [0.2989, 0.5870, 0.1140]; // factors for red/green/blue colors when converting to grayscale\n\nexport async function load(config) {\n if (!model) {\n model = await tf.loadGraphModel(join(config.modelBasePath, config.face.emotion.modelPath));\n if (!model || !model.modelUrl) log('load model failed:', config.face.emotion.modelPath);\n else if (config.debug) log('load model:', model.modelUrl);\n } else if (config.debug) log('cached model:', model.modelUrl);\n return model;\n}\n\nexport async function predict(image, config, idx, count) {\n if (!model) return null;\n if ((skipped < config.face.emotion.skipFrames) && config.skipFrame && (lastCount === count) && last[idx] && (last[idx].length > 0)) {\n skipped++;\n return last[idx];\n }\n skipped = 0;\n return new Promise(async (resolve) => {\n const resize = tf.image.resizeBilinear(image, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false);\n const [red, green, blue] = tf.split(resize, 3, 3);\n resize.dispose();\n // weighted rgb to grayscale: https://www.mathworks.com/help/matlab/ref/rgb2gray.html\n const redNorm = tf.mul(red, rgb[0]);\n const greenNorm = tf.mul(green, rgb[1]);\n const blueNorm = tf.mul(blue, rgb[2]);\n red.dispose();\n green.dispose();\n blue.dispose();\n const grayscale = tf.addN([redNorm, greenNorm, blueNorm]);\n redNorm.dispose();\n greenNorm.dispose();\n blueNorm.dispose();\n const normalize = tf.tidy(() => grayscale.sub(0.5).mul(2));\n grayscale.dispose();\n const obj: Array<{ score: number, emotion: string }> = [];\n if (config.face.emotion.enabled) {\n const emotionT = await model.predict(normalize); // result is already in range 0..1, no need for additional activation\n const data = emotionT.dataSync();\n tf.dispose(emotionT);\n for (let i = 0; i < data.length; i++) {\n if (data[i] > config.face.emotion.minConfidence) obj.push({ score: Math.min(0.99, Math.trunc(100 * data[i]) / 100), emotion: annotations[i] });\n }\n obj.sort((a, b) => b.score - a.score);\n }\n normalize.dispose();\n last[idx] = obj;\n lastCount = count;\n resolve(obj);\n });\n}\n", "/**\n * HSE-FaceRes Module\n * Returns Age, Gender, Descriptor\n * Implements Face simmilarity function\n */\n\nimport { log, join } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\nimport { Tensor, GraphModel } from '../tfjs/types';\n\nlet model: GraphModel;\nconst last: Array<{\n age: number,\n gender: string,\n genderScore: number,\n descriptor: number[],\n}> = [];\n\nlet lastCount = 0;\nlet skipped = Number.MAX_SAFE_INTEGER;\n\ntype DB = Array<{ name: string, source: string, embedding: number[] }>;\n\nexport async function load(config) {\n const modelUrl = join(config.modelBasePath, config.face.description.modelPath);\n if (!model) {\n // @ts-ignore type mismatch for GraphModel\n model = await tf.loadGraphModel(modelUrl);\n if (!model) log('load model failed:', config.face.description.modelPath);\n else if (config.debug) log('load model:', modelUrl);\n } else if (config.debug) log('cached model:', modelUrl);\n return model;\n}\n\nexport function similarity(embedding1, embedding2, order = 2): number {\n if (!embedding1 || !embedding2) return 0;\n if (embedding1?.length === 0 || embedding2?.length === 0) return 0;\n if (embedding1?.length !== embedding2?.length) return 0;\n // general minkowski distance, euclidean distance is limited case where order is 2\n const distance = 5.0 * embedding1\n .map((val, i) => (Math.abs(embedding1[i] - embedding2[i]) ** order)) // distance squared\n .reduce((sum, now) => (sum + now), 0) // sum all distances\n ** (1 / order); // get root of\n const res = Math.max(0, 100 - distance) / 100.0;\n return res;\n}\n\nexport function match(embedding: Array, db: DB, threshold = 0) {\n let best = { similarity: 0, name: '', source: '', embedding: [] as number[] };\n if (!embedding || !db || !Array.isArray(embedding) || !Array.isArray(db)) return best;\n for (const f of db) {\n if (f.embedding && f.name) {\n const perc = similarity(embedding, f.embedding);\n if (perc > threshold && perc > best.similarity) best = { ...f, similarity: perc };\n }\n }\n return best;\n}\n\nexport function enhance(input): Tensor {\n const image = tf.tidy(() => {\n // input received from detector is already normalized to 0..1\n // input is also assumed to be straightened\n const tensor = input.image || input.tensor || input;\n if (!(tensor instanceof tf.Tensor)) return null;\n // do a tight crop of image and resize it to fit the model\n const box = [[0.05, 0.15, 0.85, 0.85]]; // empyrical values for top, left, bottom, right\n // const box = [[0.0, 0.0, 1.0, 1.0]]; // basically no crop for test\n if (!model.inputs[0].shape) return null; // model has no shape so no point continuing\n const crop = (tensor.shape.length === 3)\n ? tf.image.cropAndResize(tf.expandDims(tensor, 0), box, [0], [model.inputs[0].shape[2], model.inputs[0].shape[1]]) // add batch dimension if missing\n : tf.image.cropAndResize(tensor, box, [0], [model.inputs[0].shape[2], model.inputs[0].shape[1]]);\n\n /*\n // just resize to fit the embedding model instead of cropping\n const crop = tf.image.resizeBilinear(tensor, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false);\n */\n\n /*\n // convert to black&white to avoid colorization impact\n const rgb = [0.2989, 0.5870, 0.1140]; // factors for red/green/blue colors when converting to grayscale: https://www.mathworks.com/help/matlab/ref/rgb2gray.html\n const [red, green, blue] = tf.split(crop, 3, 3);\n const redNorm = tf.mul(red, rgb[0]);\n const greenNorm = tf.mul(green, rgb[1]);\n const blueNorm = tf.mul(blue, rgb[2]);\n const grayscale = tf.addN([redNorm, greenNorm, blueNorm]);\n const merge = tf.stack([grayscale, grayscale, grayscale], 3).squeeze(4);\n */\n\n /*\n // increase image pseudo-contrast 100%\n // (or do it per-channel so mean is done on each channel)\n // (or calculate histogram and do it based on histogram)\n const mean = merge.mean();\n const factor = 2;\n const contrast = merge.sub(mean).mul(factor).add(mean);\n */\n\n /*\n // normalize brightness from 0..1\n // silly way of creating pseudo-hdr of image\n const darken = crop.sub(crop.min());\n const lighten = darken.div(darken.max());\n */\n\n const norm = crop.mul(255);\n\n return norm;\n });\n return image;\n}\n\nexport async function predict(image, config, idx, count) {\n if (!model) return null;\n if ((skipped < config.face.description.skipFrames) && config.skipFrame && (lastCount === count) && last[idx]?.age && (last[idx]?.age > 0)) {\n skipped++;\n return last[idx];\n }\n skipped = 0;\n return new Promise(async (resolve) => {\n const enhanced = enhance(image);\n\n let resT;\n const obj = {\n age: 0,\n gender: 'unknown',\n genderScore: 0,\n descriptor: [],\n };\n\n if (config.face.description.enabled) resT = await model.predict(enhanced);\n tf.dispose(enhanced);\n\n if (resT) {\n tf.tidy(() => {\n const gender = resT.find((t) => t.shape[1] === 1).dataSync();\n const confidence = Math.trunc(200 * Math.abs((gender[0] - 0.5))) / 100;\n if (confidence > config.face.description.minConfidence) {\n obj.gender = gender[0] <= 0.5 ? 'female' : 'male';\n obj.genderScore = Math.min(0.99, confidence);\n }\n const age = resT.find((t) => t.shape[1] === 100).argMax(1).dataSync()[0];\n const all = resT.find((t) => t.shape[1] === 100).dataSync();\n obj.age = Math.round(all[age - 1] > all[age + 1] ? 10 * age - 100 * all[age - 1] : 10 * age + 100 * all[age + 1]) / 10;\n\n const desc = resT.find((t) => t.shape[1] === 1024);\n // const reshape = desc.reshape([128, 8]); // reshape large 1024-element descriptor to 128 x 8\n // const reduce = reshape.logSumExp(1); // reduce 2nd dimension by calculating logSumExp on it which leaves us with 128-element descriptor\n\n obj.descriptor = [...desc.dataSync()];\n });\n resT.forEach((t) => tf.dispose(t));\n }\n\n last[idx] = obj;\n lastCount = count;\n resolve(obj);\n });\n}\n", "/**\n * Module that analyzes person age\n * Obsolete\n */\n\nimport { log, now } from './helpers';\nimport * as tf from '../dist/tfjs.esm.js';\nimport * as facemesh from './blazeface/facemesh';\nimport * as emotion from './emotion/emotion';\nimport * as faceres from './faceres/faceres';\nimport { Face } from './result';\nimport { Tensor } from './tfjs/types';\n\n// eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars\nconst rad2deg = (theta) => Math.round((theta * 180) / Math.PI);\n\nconst calculateGaze = (mesh, box): { bearing: number, strength: number } => {\n const radians = (pt1, pt2) => Math.atan2(pt1[1] - pt2[1], pt1[0] - pt2[0]); // function to calculate angle between any two points\n\n const offsetIris = [0, -0.1]; // iris center may not align with average of eye extremes\n const eyeRatio = 1; // factor to normalize changes x vs y\n\n const left = mesh[33][2] > mesh[263][2]; // pick left or right eye depending which one is closer bazed on outsize point z axis\n const irisCenter = left ? mesh[473] : mesh[468];\n const eyeCenter = left // eye center is average of extreme points on x axis for both x and y, ignoring y extreme points as eyelids naturally open/close more when gazing up/down so relative point is less precise\n ? [(mesh[133][0] + mesh[33][0]) / 2, (mesh[133][1] + mesh[33][1]) / 2]\n : [(mesh[263][0] + mesh[362][0]) / 2, (mesh[263][1] + mesh[362][1]) / 2];\n const eyeSize = left // eye size is difference between extreme points for both x and y, used to normalize & squarify eye dimensions\n ? [mesh[133][0] - mesh[33][0], mesh[23][1] - mesh[27][1]]\n : [mesh[263][0] - mesh[362][0], mesh[253][1] - mesh[257][1]];\n\n const eyeDiff = [ // x distance between extreme point and center point normalized with eye size\n (eyeCenter[0] - irisCenter[0]) / eyeSize[0] - offsetIris[0],\n eyeRatio * (irisCenter[1] - eyeCenter[1]) / eyeSize[1] - offsetIris[1],\n ];\n let strength = Math.sqrt((eyeDiff[0] ** 2) + (eyeDiff[1] ** 2)); // vector length is a diagonal between two differences\n strength = Math.min(strength, box[2] / 2, box[3] / 2); // limit strength to half of box size to avoid clipping due to low precision\n const bearing = (radians([0, 0], eyeDiff) + (Math.PI / 2)) % Math.PI; // using eyeDiff instead eyeCenter/irisCenter combo due to manual adjustments and rotate clockwise 90degrees\n\n return { bearing, strength };\n};\n\nconst calculateFaceAngle = (face, imageSize): {\n angle: { pitch: number, yaw: number, roll: number },\n matrix: [number, number, number, number, number, number, number, number, number],\n gaze: { bearing: number, strength: number },\n} => {\n // const degrees = (theta) => Math.abs(((theta * 180) / Math.PI) % 360);\n const normalize = (v) => { // normalize vector\n const length = Math.sqrt(v[0] * v[0] + v[1] * v[1] + v[2] * v[2]);\n v[0] /= length;\n v[1] /= length;\n v[2] /= length;\n return v;\n };\n const subVectors = (a, b) => { // vector subtraction (a - b)\n const x = a[0] - b[0];\n const y = a[1] - b[1];\n const z = a[2] - b[2];\n return [x, y, z];\n };\n const crossVectors = (a, b) => { // vector cross product (a x b)\n const x = a[1] * b[2] - a[2] * b[1];\n const y = a[2] * b[0] - a[0] * b[2];\n const z = a[0] * b[1] - a[1] * b[0];\n return [x, y, z];\n };\n // 3x3 rotation matrix to Euler angles based on https://www.geometrictools.com/Documentation/EulerAngles.pdf\n const rotationMatrixToEulerAngle = (r) => {\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars\n const [r00, r01, r02, r10, r11, r12, r20, r21, r22] = r;\n let thetaX; let thetaY; let thetaZ;\n if (r10 < 1) { // YZX calculation\n if (r10 > -1) {\n thetaZ = Math.asin(r10);\n thetaY = Math.atan2(-r20, r00);\n thetaX = Math.atan2(-r12, r11);\n } else {\n thetaZ = -Math.PI / 2;\n thetaY = -Math.atan2(r21, r22);\n thetaX = 0;\n }\n } else {\n thetaZ = Math.PI / 2;\n thetaY = Math.atan2(r21, r22);\n thetaX = 0;\n }\n return { pitch: 2 * -thetaX, yaw: 2 * -thetaY, roll: 2 * -thetaZ };\n };\n // simple Euler angle calculation based existing 3D mesh\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars\n const meshToEulerAngle = (mesh) => {\n const radians = (a1, a2, b1, b2) => Math.atan2(b2 - a2, b1 - a1);\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars\n const angle = {\n // values are in radians in range of -pi/2 to pi/2 which is -90 to +90 degrees, value of 0 means center\n // pitch is face move up/down\n pitch: radians(mesh[10][1], mesh[10][2], mesh[152][1], mesh[152][2]), // looking at y,z of top and bottom points of the face\n // yaw is face turn left/right\n yaw: radians(mesh[33][0], mesh[33][2], mesh[263][0], mesh[263][2]), // looking at x,z of outside corners of leftEye and rightEye\n // roll is face lean left/right\n roll: radians(mesh[33][0], mesh[33][1], mesh[263][0], mesh[263][1]), // looking at x,y of outside corners of leftEye and rightEye\n };\n return angle;\n };\n\n // initialize gaze and mesh\n const mesh = face.meshRaw;\n if (!mesh || mesh.length < 300) return { angle: { pitch: 0, yaw: 0, roll: 0 }, matrix: [1, 0, 0, 0, 1, 0, 0, 0, 1], gaze: { bearing: 0, strength: 0 } };\n\n const size = Math.max(face.boxRaw[2] * imageSize[0], face.boxRaw[3] * imageSize[1]) / 1.5;\n // top, bottom, left, right\n const pts = [mesh[10], mesh[152], mesh[234], mesh[454]].map((pt) => [\n // make the xyz coordinates proportional, independent of the image/box size\n pt[0] * imageSize[0] / size,\n pt[1] * imageSize[1] / size,\n pt[2],\n ]);\n\n const y_axis = normalize(subVectors(pts[1], pts[0]));\n let x_axis = normalize(subVectors(pts[3], pts[2]));\n const z_axis = normalize(crossVectors(x_axis, y_axis));\n // adjust x_axis to make sure that all axes are perpendicular to each other\n x_axis = crossVectors(y_axis, z_axis);\n\n // Rotation Matrix from Axis Vectors - http://renderdan.blogspot.com/2006/05/rotation-matrix-from-axis-vectors.html\n // 3x3 rotation matrix is flatten to array in row-major order. Note that the rotation represented by this matrix is inverted.\n const matrix: [number, number, number, number, number, number, number, number, number] = [\n x_axis[0], x_axis[1], x_axis[2],\n y_axis[0], y_axis[1], y_axis[2],\n z_axis[0], z_axis[1], z_axis[2],\n ];\n const angle = rotationMatrixToEulerAngle(matrix);\n // const angle = meshToEulerAngle(mesh);\n\n // we have iris keypoints so we can calculate gaze direction\n const gaze = mesh.length === 478 ? calculateGaze(mesh, face.box) : { bearing: 0, strength: 0 };\n\n return { angle, matrix, gaze };\n};\n\nexport const detectFace = async (parent /* instance of human */, input: Tensor): Promise => {\n // run facemesh, includes blazeface and iris\n // eslint-disable-next-line no-async-promise-executor\n let timeStamp;\n let ageRes;\n let genderRes;\n let emotionRes;\n let embeddingRes;\n let descRes;\n const faceRes: Array = [];\n parent.state = 'run:face';\n timeStamp = now();\n const faces = await facemesh.predict(input, parent.config);\n parent.performance.face = Math.trunc(now() - timeStamp);\n if (!input.shape || input.shape.length !== 4) return [];\n if (!faces) return [];\n // for (const face of faces) {\n for (let i = 0; i < faces.length; i++) {\n parent.analyze('Get Face');\n\n // is something went wrong, skip the face\n // @ts-ignore possibly undefined\n if (!faces[i].image || faces[i].image['isDisposedInternal']) {\n log('Face object is disposed:', faces[i].image);\n continue;\n }\n\n const rotation = calculateFaceAngle(faces[i], [input.shape[2], input.shape[1]]);\n\n // run emotion, inherits face from blazeface\n parent.analyze('Start Emotion:');\n if (parent.config.async) {\n emotionRes = parent.config.face.emotion.enabled ? emotion.predict(faces[i].image, parent.config, i, faces.length) : {};\n } else {\n parent.state = 'run:emotion';\n timeStamp = now();\n emotionRes = parent.config.face.emotion.enabled ? await emotion.predict(faces[i].image, parent.config, i, faces.length) : {};\n parent.performance.emotion = Math.trunc(now() - timeStamp);\n }\n parent.analyze('End Emotion:');\n\n // run emotion, inherits face from blazeface\n parent.analyze('Start Description:');\n if (parent.config.async) {\n descRes = parent.config.face.description.enabled ? faceres.predict(faces[i], parent.config, i, faces.length) : [];\n } else {\n parent.state = 'run:description';\n timeStamp = now();\n descRes = parent.config.face.description.enabled ? await faceres.predict(faces[i].image, parent.config, i, faces.length) : [];\n parent.performance.embedding = Math.trunc(now() - timeStamp);\n }\n parent.analyze('End Description:');\n\n // if async wait for results\n if (parent.config.async) {\n [ageRes, genderRes, emotionRes, embeddingRes, descRes] = await Promise.all([ageRes, genderRes, emotionRes, embeddingRes, descRes]);\n }\n\n parent.analyze('Finish Face:');\n\n // calculate iris distance\n // iris: array[ center, left, top, right, bottom]\n if (!parent.config.face.iris.enabled && faces[i]?.annotations?.leftEyeIris && faces[i]?.annotations?.rightEyeIris) {\n delete faces[i].annotations.leftEyeIris;\n delete faces[i].annotations.rightEyeIris;\n }\n const irisSize = (faces[i].annotations?.leftEyeIris && faces[i].annotations?.rightEyeIris)\n /* note: average human iris size is 11.7mm */\n ? Math.max(Math.abs(faces[i].annotations.leftEyeIris[3][0] - faces[i].annotations.leftEyeIris[1][0]), Math.abs(faces[i].annotations.rightEyeIris[4][1] - faces[i].annotations.rightEyeIris[2][1])) / input.shape[2]\n : 0;\n\n // combine results\n if (faces[i].image) delete faces[i].image;\n faceRes.push({\n ...faces[i],\n id: i,\n age: descRes.age,\n gender: descRes.gender,\n genderScore: descRes.genderScore,\n embedding: descRes.descriptor,\n emotion: emotionRes,\n iris: irisSize !== 0 ? Math.trunc(500 / irisSize / 11.7) / 100 : 0,\n rotation,\n tensor: parent.config.face.detector.return ? tf.squeeze(faces[i].image) : null,\n });\n // dispose original face tensor\n tf.dispose(faces[i].image);\n\n parent.analyze('End Face');\n }\n parent.analyze('End FaceMesh:');\n if (parent.config.async) {\n if (parent.performance.face) delete parent.performance.face;\n if (parent.performance.age) delete parent.performance.age;\n if (parent.performance.gender) delete parent.performance.gender;\n if (parent.performance.emotion) delete parent.performance.emotion;\n }\n return faceRes;\n};\n", "/**\n * PoseNet module entry point\n */\n\nimport { log, join } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\nimport * as poses from './poses';\nimport * as util from './utils';\nimport { Body } from '../result';\nimport { Tensor, GraphModel } from '../tfjs/types';\n\nlet model: GraphModel;\nconst poseNetOutputs = ['MobilenetV1/offset_2/BiasAdd'/* offsets */, 'MobilenetV1/heatmap_2/BiasAdd'/* heatmapScores */, 'MobilenetV1/displacement_fwd_2/BiasAdd'/* displacementFwd */, 'MobilenetV1/displacement_bwd_2/BiasAdd'/* displacementBwd */];\n\nexport async function predict(input, config): Promise {\n const res = tf.tidy(() => {\n if (!model.inputs[0].shape) return [];\n const resized = input.resizeBilinear([model.inputs[0].shape[2], model.inputs[0].shape[1]]);\n const normalized = resized.toFloat().div(127.5).sub(1.0);\n const results: Array = model.execute(normalized, poseNetOutputs) as Array;\n const results3d = results.map((y) => y.squeeze([0]));\n results3d[1] = results3d[1].sigmoid(); // apply sigmoid on scores\n return results3d;\n });\n\n const buffers = await Promise.all(res.map((tensor) => tensor.buffer()));\n for (const t of res) t.dispose();\n\n const decoded = await poses.decode(buffers[0], buffers[1], buffers[2], buffers[3], config.body.maxDetected, config.body.minConfidence);\n if (!model.inputs[0].shape) return [];\n const scaled = util.scalePoses(decoded, [input.shape[1], input.shape[2]], [model.inputs[0].shape[2], model.inputs[0].shape[1]]) as Body[];\n return scaled;\n}\n\nexport async function load(config) {\n if (!model) {\n // @ts-ignore type mismatch for GraphModel\n model = await tf.loadGraphModel(join(config.modelBasePath, config.body.modelPath));\n if (!model || !model['modelUrl']) log('load model failed:', config.body.modelPath);\n else if (config.debug) log('load model:', model['modelUrl']);\n } else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n", "export const partNames = [\n 'nose', 'leftEye', 'rightEye', 'leftEar', 'rightEar', 'leftShoulder',\n 'rightShoulder', 'leftElbow', 'rightElbow', 'leftWrist', 'rightWrist',\n 'leftHip', 'rightHip', 'leftKnee', 'rightKnee', 'leftAnkle', 'rightAnkle',\n];\n\nexport const count = partNames.length; // 17 keypoints\n\nexport const partIds = partNames.reduce((result, jointName, i) => {\n result[jointName] = i;\n return result;\n}, {});\n\nconst connectedPartNames = [\n ['leftHip', 'leftShoulder'], ['leftElbow', 'leftShoulder'],\n ['leftElbow', 'leftWrist'], ['leftHip', 'leftKnee'],\n ['leftKnee', 'leftAnkle'], ['rightHip', 'rightShoulder'],\n ['rightElbow', 'rightShoulder'], ['rightElbow', 'rightWrist'],\n ['rightHip', 'rightKnee'], ['rightKnee', 'rightAnkle'],\n ['leftShoulder', 'rightShoulder'], ['leftHip', 'rightHip'],\n];\nexport const connectedPartIndices = connectedPartNames.map(([jointNameA, jointNameB]) => ([partIds[jointNameA], partIds[jointNameB]]));\n\nexport const poseChain = [\n ['nose', 'leftEye'], ['leftEye', 'leftEar'], ['nose', 'rightEye'],\n ['rightEye', 'rightEar'], ['nose', 'leftShoulder'],\n ['leftShoulder', 'leftElbow'], ['leftElbow', 'leftWrist'],\n ['leftShoulder', 'leftHip'], ['leftHip', 'leftKnee'],\n ['leftKnee', 'leftAnkle'], ['nose', 'rightShoulder'],\n ['rightShoulder', 'rightElbow'], ['rightElbow', 'rightWrist'],\n ['rightShoulder', 'rightHip'], ['rightHip', 'rightKnee'],\n ['rightKnee', 'rightAnkle'],\n];\n", "import * as kpt from './keypoints';\nimport { Body } from '../result';\n\nexport function eitherPointDoesntMeetConfidence(a, b, minConfidence) {\n return (a < minConfidence || b < minConfidence);\n}\n\nexport function getAdjacentKeyPoints(keypoints, minConfidence) {\n return kpt.connectedPartIndices.reduce((result, [leftJoint, rightJoint]) => {\n if (eitherPointDoesntMeetConfidence(keypoints[leftJoint].score, keypoints[rightJoint].score, minConfidence)) {\n return result;\n }\n result.push([keypoints[leftJoint], keypoints[rightJoint]]);\n return result;\n }, []);\n}\n\nexport function getBoundingBox(keypoints): [number, number, number, number] {\n const coord = keypoints.reduce(({ maxX, maxY, minX, minY }, { position: { x, y } }) => ({\n maxX: Math.max(maxX, x),\n maxY: Math.max(maxY, y),\n minX: Math.min(minX, x),\n minY: Math.min(minY, y),\n }), {\n maxX: Number.NEGATIVE_INFINITY,\n maxY: Number.NEGATIVE_INFINITY,\n minX: Number.POSITIVE_INFINITY,\n minY: Number.POSITIVE_INFINITY,\n });\n return [coord.minX, coord.minY, coord.maxX - coord.minX, coord.maxY - coord.minY];\n}\n\nexport function scalePoses(poses, [height, width], [inputResolutionHeight, inputResolutionWidth]): Array {\n const scaleY = height / inputResolutionHeight;\n const scaleX = width / inputResolutionWidth;\n const scalePose = (pose, i) => ({\n id: i,\n score: pose.score,\n boxRaw: [pose.box[0] / inputResolutionWidth, pose.box[1] / inputResolutionHeight, pose.box[2] / inputResolutionWidth, pose.box[3] / inputResolutionHeight],\n box: [Math.trunc(pose.box[0] * scaleX), Math.trunc(pose.box[1] * scaleY), Math.trunc(pose.box[2] * scaleX), Math.trunc(pose.box[3] * scaleY)],\n keypoints: pose.keypoints.map(({ score, part, position }) => ({\n score,\n part,\n position: [Math.trunc(position.x * scaleX), Math.trunc(position.y * scaleY)],\n positionRaw: [position.x / inputResolutionHeight, position.y / inputResolutionHeight],\n })),\n });\n const scaledPoses = poses.map((pose, i) => scalePose(pose, i));\n return scaledPoses;\n}\n\n// algorithm based on Coursera Lecture from Algorithms, Part 1: https://www.coursera.org/learn/algorithms-part1/lecture/ZjoSM/heapsort\nexport class MaxHeap {\n priorityQueue: Array; // don't touch\n numberOfElements: number;\n getElementValue: unknown; // function call\n\n constructor(maxSize, getElementValue) {\n this.priorityQueue = new Array(maxSize);\n this.numberOfElements = -1;\n this.getElementValue = getElementValue;\n }\n\n enqueue(x) {\n this.priorityQueue[++this.numberOfElements] = x;\n this.swim(this.numberOfElements);\n }\n\n dequeue() {\n const max = this.priorityQueue[0];\n this.exchange(0, this.numberOfElements--);\n this.sink(0);\n this.priorityQueue[this.numberOfElements + 1] = null;\n return max;\n }\n\n empty() { return this.numberOfElements === -1; }\n\n size() { return this.numberOfElements + 1; }\n\n all() { return this.priorityQueue.slice(0, this.numberOfElements + 1); }\n\n max() { return this.priorityQueue[0]; }\n\n swim(k) {\n while (k > 0 && this.less(Math.floor(k / 2), k)) {\n this.exchange(k, Math.floor(k / 2));\n k = Math.floor(k / 2);\n }\n }\n\n sink(k) {\n while (2 * k <= this.numberOfElements) {\n let j = 2 * k;\n if (j < this.numberOfElements && this.less(j, j + 1)) j++;\n if (!this.less(k, j)) break;\n this.exchange(k, j);\n k = j;\n }\n }\n\n getValueAt(i) {\n // @ts-ignore getter is of unknown type\n return this.getElementValue(this.priorityQueue[i]);\n }\n\n less(i, j) {\n return this.getValueAt(i) < this.getValueAt(j);\n }\n\n exchange(i, j) {\n const t = this.priorityQueue[i];\n this.priorityQueue[i] = this.priorityQueue[j];\n this.priorityQueue[j] = t;\n }\n}\n\nexport function getOffsetPoint(y, x, keypoint, offsets) {\n return {\n y: offsets.get(y, x, keypoint),\n x: offsets.get(y, x, keypoint + kpt.count),\n };\n}\n\nexport function getImageCoords(part, outputStride, offsets) {\n const { heatmapY, heatmapX, id: keypoint } = part;\n const { y, x } = getOffsetPoint(heatmapY, heatmapX, keypoint, offsets);\n return {\n x: part.heatmapX * outputStride + x,\n y: part.heatmapY * outputStride + y,\n };\n}\n\nexport function fillArray(element, size) {\n const result = new Array(size);\n for (let i = 0; i < size; i++) {\n result[i] = element;\n }\n return result;\n}\n\nexport function clamp(a, min, max) {\n if (a < min) return min;\n if (a > max) return max;\n return a;\n}\n\nexport function squaredDistance(y1, x1, y2, x2) {\n const dy = y2 - y1;\n const dx = x2 - x1;\n return dy * dy + dx * dx;\n}\n\nexport function addVectors(a, b) {\n return { x: a.x + b.x, y: a.y + b.y };\n}\n\nexport function clampVector(a, min, max) {\n return { y: clamp(a.y, min, max), x: clamp(a.x, min, max) };\n}\n", "import * as utils from './utils';\nimport * as kpt from './keypoints';\n\nconst localMaximumRadius = 1;\nconst outputStride = 16;\nconst squaredNmsRadius = 50 ** 2;\n\nfunction traverse(edgeId, sourceKeypoint, targetId, scores, offsets, displacements, offsetRefineStep = 2) {\n const getDisplacement = (point) => ({\n y: displacements.get(point.y, point.x, edgeId),\n x: displacements.get(point.y, point.x, (displacements.shape[2] / 2) + edgeId),\n });\n const getStridedIndexNearPoint = (point, height, width) => ({\n y: utils.clamp(Math.round(point.y / outputStride), 0, height - 1),\n x: utils.clamp(Math.round(point.x / outputStride), 0, width - 1),\n });\n\n const [height, width] = scores.shape;\n // Nearest neighbor interpolation for the source->target displacements.\n const sourceKeypointIndices = getStridedIndexNearPoint(sourceKeypoint.position, height, width);\n const displacement = getDisplacement(sourceKeypointIndices);\n const displacedPoint = utils.addVectors(sourceKeypoint.position, displacement);\n let targetKeypoint = displacedPoint;\n for (let i = 0; i < offsetRefineStep; i++) {\n const targetKeypointIndices = getStridedIndexNearPoint(targetKeypoint, height, width);\n const offsetPoint = utils.getOffsetPoint(targetKeypointIndices.y, targetKeypointIndices.x, targetId, offsets);\n targetKeypoint = utils.addVectors(\n { x: targetKeypointIndices.x * outputStride, y: targetKeypointIndices.y * outputStride },\n { x: offsetPoint.x, y: offsetPoint.y },\n );\n }\n const targetKeyPointIndices = getStridedIndexNearPoint(targetKeypoint, height, width);\n const score = scores.get(targetKeyPointIndices.y, targetKeyPointIndices.x, targetId);\n return { position: targetKeypoint, part: kpt.partNames[targetId], score };\n}\n\nexport function decodePose(root, scores, offsets, displacementsFwd, displacementsBwd) {\n const tuples = kpt.poseChain.map(([parentJoinName, childJoinName]) => ([kpt.partIds[parentJoinName], kpt.partIds[childJoinName]]));\n const edgesFwd = tuples.map(([, childJointId]) => childJointId);\n const edgesBwd = tuples.map(([parentJointId]) => parentJointId);\n const numParts = scores.shape[2]; // [21,21,17]\n const numEdges = edgesFwd.length;\n const keypoints = new Array(numParts);\n // Start a new detection instance at the position of the root.\n const rootPoint = utils.getImageCoords(root.part, outputStride, offsets);\n keypoints[root.part.id] = {\n score: root.score,\n part: kpt.partNames[root.part.id],\n position: rootPoint,\n };\n // Decode the part positions upwards in the tree, following the backward displacements.\n for (let edge = numEdges - 1; edge >= 0; --edge) {\n const sourceId = edgesFwd[edge];\n const targetId = edgesBwd[edge];\n if (keypoints[sourceId] && !keypoints[targetId]) {\n keypoints[targetId] = traverse(edge, keypoints[sourceId], targetId, scores, offsets, displacementsBwd);\n }\n }\n // Decode the part positions downwards in the tree, following the forward displacements.\n for (let edge = 0; edge < numEdges; ++edge) {\n const sourceId = edgesBwd[edge];\n const targetId = edgesFwd[edge];\n if (keypoints[sourceId] && !keypoints[targetId]) {\n keypoints[targetId] = traverse(edge, keypoints[sourceId], targetId, scores, offsets, displacementsFwd);\n }\n }\n return keypoints;\n}\n\nfunction scoreIsMaximumInLocalWindow(keypointId, score, heatmapY, heatmapX, scores) {\n const [height, width] = scores.shape;\n let localMaximum = true;\n const yStart = Math.max(heatmapY - localMaximumRadius, 0);\n const yEnd = Math.min(heatmapY + localMaximumRadius + 1, height);\n for (let yCurrent = yStart; yCurrent < yEnd; ++yCurrent) {\n const xStart = Math.max(heatmapX - localMaximumRadius, 0);\n const xEnd = Math.min(heatmapX + localMaximumRadius + 1, width);\n for (let xCurrent = xStart; xCurrent < xEnd; ++xCurrent) {\n if (scores.get(yCurrent, xCurrent, keypointId) > score) {\n localMaximum = false;\n break;\n }\n }\n if (!localMaximum) break;\n }\n return localMaximum;\n}\n\nexport function buildPartWithScoreQueue(minConfidence, scores) {\n const [height, width, numKeypoints] = scores.shape;\n const queue = new utils.MaxHeap(height * width * numKeypoints, ({ score }) => score);\n for (let heatmapY = 0; heatmapY < height; ++heatmapY) {\n for (let heatmapX = 0; heatmapX < width; ++heatmapX) {\n for (let keypointId = 0; keypointId < numKeypoints; ++keypointId) {\n const score = scores.get(heatmapY, heatmapX, keypointId);\n // Only consider parts with score greater or equal to threshold as root candidates.\n if (score < minConfidence) continue;\n // Only consider keypoints whose score is maximum in a local window.\n if (scoreIsMaximumInLocalWindow(keypointId, score, heatmapY, heatmapX, scores)) queue.enqueue({ score, part: { heatmapY, heatmapX, id: keypointId } });\n }\n }\n }\n return queue;\n}\n\nfunction withinRadius(poses, { x, y }, keypointId) {\n return poses.some(({ keypoints }) => {\n const correspondingKeypoint = keypoints[keypointId]?.position;\n if (!correspondingKeypoint) return false;\n return utils.squaredDistance(y, x, correspondingKeypoint.y, correspondingKeypoint.x) <= squaredNmsRadius;\n });\n}\n\nfunction getInstanceScore(existingPoses, keypoints) {\n const notOverlappedKeypointScores = keypoints.reduce((result, { position, score }, keypointId) => {\n if (!withinRadius(existingPoses, position, keypointId)) result += score;\n return result;\n }, 0.0);\n return notOverlappedKeypointScores / keypoints.length;\n}\n\nexport function decode(offsets, scores, displacementsFwd, displacementsBwd, maxDetected, minConfidence) {\n const poses: Array<{ keypoints, box: [number, number, number, number], score: number }> = [];\n const queue = buildPartWithScoreQueue(minConfidence, scores);\n // Generate at most maxDetected object instances per image in decreasing root part score order.\n while (poses.length < maxDetected && !queue.empty()) {\n // The top element in the queue is the next root candidate.\n const root = queue.dequeue();\n // Part-based non-maximum suppression: We reject a root candidate if it is within a disk of `nmsRadius` pixels from the corresponding part of a previously detected instance.\n // @ts-ignore this one is tree walk\n const rootImageCoords = utils.getImageCoords(root.part, outputStride, offsets);\n // @ts-ignore this one is tree walk\n if (withinRadius(poses, rootImageCoords, root.part.id)) continue;\n // Else start a new detection instance at the position of the root.\n let keypoints = decodePose(root, scores, offsets, displacementsFwd, displacementsBwd);\n keypoints = keypoints.filter((a) => a.score > minConfidence);\n const score = getInstanceScore(poses, keypoints);\n const box = utils.getBoundingBox(keypoints);\n if (score > minConfidence) poses.push({ keypoints, box, score: Math.round(100 * score) / 100 });\n }\n return poses;\n}\n", "/**\n * HandPose module entry point\n */\n\nimport { log, join } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\nimport * as handdetector from './handdetector';\nimport * as handpipeline from './handpipeline';\nimport { Hand } from '../result';\nimport { GraphModel } from '../tfjs/types';\n\nconst meshAnnotations = {\n thumb: [1, 2, 3, 4],\n indexFinger: [5, 6, 7, 8],\n middleFinger: [9, 10, 11, 12],\n ringFinger: [13, 14, 15, 16],\n pinky: [17, 18, 19, 20],\n palmBase: [0],\n};\n\nlet handDetectorModel: GraphModel | null;\nlet handPoseModel: GraphModel | null;\nlet handPipeline: handpipeline.HandPipeline;\n\nexport async function predict(input, config): Promise {\n const predictions = await handPipeline.estimateHands(input, config);\n if (!predictions) return [];\n const hands: Array = [];\n for (let i = 0; i < predictions.length; i++) {\n const annotations = {};\n if (predictions[i].landmarks) {\n for (const key of Object.keys(meshAnnotations)) {\n // @ts-ignore landmarks are not undefined\n annotations[key] = meshAnnotations[key].map((index) => predictions[i].landmarks[index]);\n }\n }\n\n const keypoints = predictions[i].landmarks as unknown as Array<[number, number, number]>;\n\n let box: [number, number, number, number] = [Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER, 0, 0]; // maximums so conditionals work\n let boxRaw: [number, number, number, number] = [0, 0, 0, 0];\n if (keypoints && keypoints.length > 0) { // if we have landmarks, calculate box based on landmarks\n for (const pt of keypoints) {\n if (pt[0] < box[0]) box[0] = pt[0];\n if (pt[1] < box[1]) box[1] = pt[1];\n if (pt[0] > box[2]) box[2] = pt[0];\n if (pt[1] > box[3]) box[3] = pt[1];\n }\n box[2] -= box[0];\n box[3] -= box[1];\n boxRaw = [box[0] / input.shape[2], box[1] / input.shape[1], box[2] / input.shape[2], box[3] / input.shape[1]];\n } else { // otherwise use box from prediction\n box = predictions[i].box ? [\n Math.trunc(Math.max(0, predictions[i].box.topLeft[0])),\n Math.trunc(Math.max(0, predictions[i].box.topLeft[1])),\n Math.trunc(Math.min(input.shape[2], predictions[i].box.bottomRight[0]) - Math.max(0, predictions[i].box.topLeft[0])),\n Math.trunc(Math.min(input.shape[1], predictions[i].box.bottomRight[1]) - Math.max(0, predictions[i].box.topLeft[1])),\n ] : [0, 0, 0, 0];\n boxRaw = [\n (predictions[i].box.topLeft[0]) / input.shape[2],\n (predictions[i].box.topLeft[1]) / input.shape[1],\n (predictions[i].box.bottomRight[0] - predictions[i].box.topLeft[0]) / input.shape[2],\n (predictions[i].box.bottomRight[1] - predictions[i].box.topLeft[1]) / input.shape[1],\n ];\n }\n hands.push({ id: i, score: Math.round(100 * predictions[i].confidence) / 100, box, boxRaw, keypoints, annotations });\n }\n return hands;\n}\n\nexport async function load(config): Promise<[unknown, unknown]> {\n if (!handDetectorModel || !handPoseModel) {\n // @ts-ignore type mismatch on GraphModel\n [handDetectorModel, handPoseModel] = await Promise.all([\n config.hand.enabled ? tf.loadGraphModel(join(config.modelBasePath, config.hand.detector.modelPath), { fromTFHub: config.hand.detector.modelPath.includes('tfhub.dev') }) : null,\n config.hand.landmarks ? tf.loadGraphModel(join(config.modelBasePath, config.hand.skeleton.modelPath), { fromTFHub: config.hand.skeleton.modelPath.includes('tfhub.dev') }) : null,\n ]);\n if (config.hand.enabled) {\n if (!handDetectorModel || !handDetectorModel['modelUrl']) log('load model failed:', config.hand.detector.modelPath);\n else if (config.debug) log('load model:', handDetectorModel['modelUrl']);\n if (!handPoseModel || !handPoseModel['modelUrl']) log('load model failed:', config.hand.skeleton.modelPath);\n else if (config.debug) log('load model:', handPoseModel['modelUrl']);\n }\n } else {\n if (config.debug) log('cached model:', handDetectorModel['modelUrl']);\n if (config.debug) log('cached model:', handPoseModel['modelUrl']);\n }\n const handDetector = new handdetector.HandDetector(handDetectorModel);\n handPipeline = new handpipeline.HandPipeline(handDetector, handPoseModel);\n return [handDetectorModel, handPoseModel];\n}\n", "import * as tf from '../../dist/tfjs.esm.js';\n\nexport function getBoxSize(box) {\n return [\n Math.abs(box.endPoint[0] - box.startPoint[0]),\n Math.abs(box.endPoint[1] - box.startPoint[1]),\n ];\n}\n\nexport function getBoxCenter(box) {\n return [\n box.startPoint[0] + (box.endPoint[0] - box.startPoint[0]) / 2,\n box.startPoint[1] + (box.endPoint[1] - box.startPoint[1]) / 2,\n ];\n}\n\nexport function cutBoxFromImageAndResize(box, image, cropSize) {\n const h = image.shape[1];\n const w = image.shape[2];\n const boxes = [[\n box.startPoint[1] / h,\n box.startPoint[0] / w,\n box.endPoint[1] / h,\n box.endPoint[0] / w,\n ]];\n return tf.image.cropAndResize(image, boxes, [0], cropSize);\n}\n\nexport function scaleBoxCoordinates(box, factor) {\n const startPoint = [box.startPoint[0] * factor[0], box.startPoint[1] * factor[1]];\n const endPoint = [box.endPoint[0] * factor[0], box.endPoint[1] * factor[1]];\n const palmLandmarks = box.palmLandmarks.map((coord) => {\n const scaledCoord = [coord[0] * factor[0], coord[1] * factor[1]];\n return scaledCoord;\n });\n return { startPoint, endPoint, palmLandmarks, confidence: box.confidence };\n}\n\nexport function enlargeBox(box, factor = 1.5) {\n const center = getBoxCenter(box);\n const size = getBoxSize(box);\n const newHalfSize = [factor * size[0] / 2, factor * size[1] / 2];\n const startPoint = [center[0] - newHalfSize[0], center[1] - newHalfSize[1]];\n const endPoint = [center[0] + newHalfSize[0], center[1] + newHalfSize[1]];\n return { startPoint, endPoint, palmLandmarks: box.palmLandmarks };\n}\n\nexport function squarifyBox(box) {\n const centers = getBoxCenter(box);\n const size = getBoxSize(box);\n const maxEdge = Math.max(...size);\n const halfSize = maxEdge / 2;\n const startPoint = [centers[0] - halfSize, centers[1] - halfSize];\n const endPoint = [centers[0] + halfSize, centers[1] + halfSize];\n return { startPoint, endPoint, palmLandmarks: box.palmLandmarks };\n}\n\nexport function shiftBox(box, shiftFactor) {\n const boxSize = [\n box.endPoint[0] - box.startPoint[0],\n box.endPoint[1] - box.startPoint[1],\n ];\n const shiftVector = [boxSize[0] * shiftFactor[0], boxSize[1] * shiftFactor[1]];\n const startPoint = [box.startPoint[0] + shiftVector[0], box.startPoint[1] + shiftVector[1]];\n const endPoint = [box.endPoint[0] + shiftVector[0], box.endPoint[1] + shiftVector[1]];\n return { startPoint, endPoint, palmLandmarks: box.palmLandmarks };\n}\n", "export const anchors = [\n { x: 0.015625, y: 0.015625 },\n { x: 0.015625, y: 0.015625 },\n { x: 0.046875, y: 0.015625 },\n { x: 0.046875, y: 0.015625 },\n { x: 0.078125, y: 0.015625 },\n { x: 0.078125, y: 0.015625 },\n { x: 0.109375, y: 0.015625 },\n { x: 0.109375, y: 0.015625 },\n { x: 0.140625, y: 0.015625 },\n { x: 0.140625, y: 0.015625 },\n { x: 0.171875, y: 0.015625 },\n { x: 0.171875, y: 0.015625 },\n { x: 0.203125, y: 0.015625 },\n { x: 0.203125, y: 0.015625 },\n { x: 0.234375, y: 0.015625 },\n { x: 0.234375, y: 0.015625 },\n { x: 0.265625, y: 0.015625 },\n { x: 0.265625, y: 0.015625 },\n { x: 0.296875, y: 0.015625 },\n { x: 0.296875, y: 0.015625 },\n { x: 0.328125, y: 0.015625 },\n { x: 0.328125, y: 0.015625 },\n { x: 0.359375, y: 0.015625 },\n { x: 0.359375, y: 0.015625 },\n { x: 0.390625, y: 0.015625 },\n { x: 0.390625, y: 0.015625 },\n { x: 0.421875, y: 0.015625 },\n { x: 0.421875, y: 0.015625 },\n { x: 0.453125, y: 0.015625 },\n { x: 0.453125, y: 0.015625 },\n { x: 0.484375, y: 0.015625 },\n { x: 0.484375, y: 0.015625 },\n { x: 0.515625, y: 0.015625 },\n { x: 0.515625, y: 0.015625 },\n { x: 0.546875, y: 0.015625 },\n { x: 0.546875, y: 0.015625 },\n { x: 0.578125, y: 0.015625 },\n { x: 0.578125, y: 0.015625 },\n { x: 0.609375, y: 0.015625 },\n { x: 0.609375, y: 0.015625 },\n { x: 0.640625, y: 0.015625 },\n { x: 0.640625, y: 0.015625 },\n { x: 0.671875, y: 0.015625 },\n { x: 0.671875, y: 0.015625 },\n { x: 0.703125, y: 0.015625 },\n { x: 0.703125, y: 0.015625 },\n { x: 0.734375, y: 0.015625 },\n { x: 0.734375, y: 0.015625 },\n { x: 0.765625, y: 0.015625 },\n { x: 0.765625, y: 0.015625 },\n { x: 0.796875, y: 0.015625 },\n { x: 0.796875, y: 0.015625 },\n { x: 0.828125, y: 0.015625 },\n { x: 0.828125, y: 0.015625 },\n { x: 0.859375, y: 0.015625 },\n { x: 0.859375, y: 0.015625 },\n { x: 0.890625, y: 0.015625 },\n { x: 0.890625, y: 0.015625 },\n { x: 0.921875, y: 0.015625 },\n { x: 0.921875, y: 0.015625 },\n { x: 0.953125, y: 0.015625 },\n { x: 0.953125, y: 0.015625 },\n { x: 0.984375, y: 0.015625 },\n { x: 0.984375, y: 0.015625 },\n { x: 0.015625, y: 0.046875 },\n { x: 0.015625, y: 0.046875 },\n { x: 0.046875, y: 0.046875 },\n { x: 0.046875, y: 0.046875 },\n { x: 0.078125, y: 0.046875 },\n { x: 0.078125, y: 0.046875 },\n { x: 0.109375, y: 0.046875 },\n { x: 0.109375, y: 0.046875 },\n { x: 0.140625, y: 0.046875 },\n { x: 0.140625, y: 0.046875 },\n { x: 0.171875, y: 0.046875 },\n { x: 0.171875, y: 0.046875 },\n { x: 0.203125, y: 0.046875 },\n { x: 0.203125, y: 0.046875 },\n { x: 0.234375, y: 0.046875 },\n { x: 0.234375, y: 0.046875 },\n { x: 0.265625, y: 0.046875 },\n { x: 0.265625, y: 0.046875 },\n { x: 0.296875, y: 0.046875 },\n { x: 0.296875, y: 0.046875 },\n { x: 0.328125, y: 0.046875 },\n { x: 0.328125, y: 0.046875 },\n { x: 0.359375, y: 0.046875 },\n { x: 0.359375, y: 0.046875 },\n { x: 0.390625, y: 0.046875 },\n { x: 0.390625, y: 0.046875 },\n { x: 0.421875, y: 0.046875 },\n { x: 0.421875, y: 0.046875 },\n { x: 0.453125, y: 0.046875 },\n { x: 0.453125, y: 0.046875 },\n { x: 0.484375, y: 0.046875 },\n { x: 0.484375, y: 0.046875 },\n { x: 0.515625, y: 0.046875 },\n { x: 0.515625, y: 0.046875 },\n { x: 0.546875, y: 0.046875 },\n { x: 0.546875, y: 0.046875 },\n { x: 0.578125, y: 0.046875 },\n { x: 0.578125, y: 0.046875 },\n { x: 0.609375, y: 0.046875 },\n { x: 0.609375, y: 0.046875 },\n { x: 0.640625, y: 0.046875 },\n { x: 0.640625, y: 0.046875 },\n { x: 0.671875, y: 0.046875 },\n { x: 0.671875, y: 0.046875 },\n { x: 0.703125, y: 0.046875 },\n { x: 0.703125, y: 0.046875 },\n { x: 0.734375, y: 0.046875 },\n { x: 0.734375, y: 0.046875 },\n { x: 0.765625, y: 0.046875 },\n { x: 0.765625, y: 0.046875 },\n { x: 0.796875, y: 0.046875 },\n { x: 0.796875, y: 0.046875 },\n { x: 0.828125, y: 0.046875 },\n { x: 0.828125, y: 0.046875 },\n { x: 0.859375, y: 0.046875 },\n { x: 0.859375, y: 0.046875 },\n { x: 0.890625, y: 0.046875 },\n { x: 0.890625, y: 0.046875 },\n { x: 0.921875, y: 0.046875 },\n { x: 0.921875, y: 0.046875 },\n { x: 0.953125, y: 0.046875 },\n { x: 0.953125, y: 0.046875 },\n { x: 0.984375, y: 0.046875 },\n { x: 0.984375, y: 0.046875 },\n { x: 0.015625, y: 0.078125 },\n { x: 0.015625, y: 0.078125 },\n { x: 0.046875, y: 0.078125 },\n { x: 0.046875, y: 0.078125 },\n { x: 0.078125, y: 0.078125 },\n { x: 0.078125, y: 0.078125 },\n { x: 0.109375, y: 0.078125 },\n { x: 0.109375, y: 0.078125 },\n { x: 0.140625, y: 0.078125 },\n { x: 0.140625, y: 0.078125 },\n { x: 0.171875, y: 0.078125 },\n { x: 0.171875, y: 0.078125 },\n { x: 0.203125, y: 0.078125 },\n { x: 0.203125, y: 0.078125 },\n { x: 0.234375, y: 0.078125 },\n { x: 0.234375, y: 0.078125 },\n { x: 0.265625, y: 0.078125 },\n { x: 0.265625, y: 0.078125 },\n { x: 0.296875, y: 0.078125 },\n { x: 0.296875, y: 0.078125 },\n { x: 0.328125, y: 0.078125 },\n { x: 0.328125, y: 0.078125 },\n { x: 0.359375, y: 0.078125 },\n { x: 0.359375, y: 0.078125 },\n { x: 0.390625, y: 0.078125 },\n { x: 0.390625, y: 0.078125 },\n { x: 0.421875, y: 0.078125 },\n { x: 0.421875, y: 0.078125 },\n { x: 0.453125, y: 0.078125 },\n { x: 0.453125, y: 0.078125 },\n { x: 0.484375, y: 0.078125 },\n { x: 0.484375, y: 0.078125 },\n { x: 0.515625, y: 0.078125 },\n { x: 0.515625, y: 0.078125 },\n { x: 0.546875, y: 0.078125 },\n { x: 0.546875, y: 0.078125 },\n { x: 0.578125, y: 0.078125 },\n { x: 0.578125, y: 0.078125 },\n { x: 0.609375, y: 0.078125 },\n { x: 0.609375, y: 0.078125 },\n { x: 0.640625, y: 0.078125 },\n { x: 0.640625, y: 0.078125 },\n { x: 0.671875, y: 0.078125 },\n { x: 0.671875, y: 0.078125 },\n { x: 0.703125, y: 0.078125 },\n { x: 0.703125, y: 0.078125 },\n { x: 0.734375, y: 0.078125 },\n { x: 0.734375, y: 0.078125 },\n { x: 0.765625, y: 0.078125 },\n { x: 0.765625, y: 0.078125 },\n { x: 0.796875, y: 0.078125 },\n { x: 0.796875, y: 0.078125 },\n { x: 0.828125, y: 0.078125 },\n { x: 0.828125, y: 0.078125 },\n { x: 0.859375, y: 0.078125 },\n { x: 0.859375, y: 0.078125 },\n { x: 0.890625, y: 0.078125 },\n { x: 0.890625, y: 0.078125 },\n { x: 0.921875, y: 0.078125 },\n { x: 0.921875, y: 0.078125 },\n { x: 0.953125, y: 0.078125 },\n { x: 0.953125, y: 0.078125 },\n { x: 0.984375, y: 0.078125 },\n { x: 0.984375, y: 0.078125 },\n { x: 0.015625, y: 0.109375 },\n { x: 0.015625, y: 0.109375 },\n { x: 0.046875, y: 0.109375 },\n { x: 0.046875, y: 0.109375 },\n { x: 0.078125, y: 0.109375 },\n { x: 0.078125, y: 0.109375 },\n { x: 0.109375, y: 0.109375 },\n { x: 0.109375, y: 0.109375 },\n { x: 0.140625, y: 0.109375 },\n { x: 0.140625, y: 0.109375 },\n { x: 0.171875, y: 0.109375 },\n { x: 0.171875, y: 0.109375 },\n { x: 0.203125, y: 0.109375 },\n { x: 0.203125, y: 0.109375 },\n { x: 0.234375, y: 0.109375 },\n { x: 0.234375, y: 0.109375 },\n { x: 0.265625, y: 0.109375 },\n { x: 0.265625, y: 0.109375 },\n { x: 0.296875, y: 0.109375 },\n { x: 0.296875, y: 0.109375 },\n { x: 0.328125, y: 0.109375 },\n { x: 0.328125, y: 0.109375 },\n { x: 0.359375, y: 0.109375 },\n { x: 0.359375, y: 0.109375 },\n { x: 0.390625, y: 0.109375 },\n { x: 0.390625, y: 0.109375 },\n { x: 0.421875, y: 0.109375 },\n { x: 0.421875, y: 0.109375 },\n { x: 0.453125, y: 0.109375 },\n { x: 0.453125, y: 0.109375 },\n { x: 0.484375, y: 0.109375 },\n { x: 0.484375, y: 0.109375 },\n { x: 0.515625, y: 0.109375 },\n { x: 0.515625, y: 0.109375 },\n { x: 0.546875, y: 0.109375 },\n { x: 0.546875, y: 0.109375 },\n { x: 0.578125, y: 0.109375 },\n { x: 0.578125, y: 0.109375 },\n { x: 0.609375, y: 0.109375 },\n { x: 0.609375, y: 0.109375 },\n { x: 0.640625, y: 0.109375 },\n { x: 0.640625, y: 0.109375 },\n { x: 0.671875, y: 0.109375 },\n { x: 0.671875, y: 0.109375 },\n { x: 0.703125, y: 0.109375 },\n { x: 0.703125, y: 0.109375 },\n { x: 0.734375, y: 0.109375 },\n { x: 0.734375, y: 0.109375 },\n { x: 0.765625, y: 0.109375 },\n { x: 0.765625, y: 0.109375 },\n { x: 0.796875, y: 0.109375 },\n { x: 0.796875, y: 0.109375 },\n { x: 0.828125, y: 0.109375 },\n { x: 0.828125, y: 0.109375 },\n { x: 0.859375, y: 0.109375 },\n { x: 0.859375, y: 0.109375 },\n { x: 0.890625, y: 0.109375 },\n { x: 0.890625, y: 0.109375 },\n { x: 0.921875, y: 0.109375 },\n { x: 0.921875, y: 0.109375 },\n { x: 0.953125, y: 0.109375 },\n { x: 0.953125, y: 0.109375 },\n { x: 0.984375, y: 0.109375 },\n { x: 0.984375, y: 0.109375 },\n { x: 0.015625, y: 0.140625 },\n { x: 0.015625, y: 0.140625 },\n { x: 0.046875, y: 0.140625 },\n { x: 0.046875, y: 0.140625 },\n { x: 0.078125, y: 0.140625 },\n { x: 0.078125, y: 0.140625 },\n { x: 0.109375, y: 0.140625 },\n { x: 0.109375, y: 0.140625 },\n { x: 0.140625, y: 0.140625 },\n { x: 0.140625, y: 0.140625 },\n { x: 0.171875, y: 0.140625 },\n { x: 0.171875, y: 0.140625 },\n { x: 0.203125, y: 0.140625 },\n { x: 0.203125, y: 0.140625 },\n { x: 0.234375, y: 0.140625 },\n { x: 0.234375, y: 0.140625 },\n { x: 0.265625, y: 0.140625 },\n { x: 0.265625, y: 0.140625 },\n { x: 0.296875, y: 0.140625 },\n { x: 0.296875, y: 0.140625 },\n { x: 0.328125, y: 0.140625 },\n { x: 0.328125, y: 0.140625 },\n { x: 0.359375, y: 0.140625 },\n { x: 0.359375, y: 0.140625 },\n { x: 0.390625, y: 0.140625 },\n { x: 0.390625, y: 0.140625 },\n { x: 0.421875, y: 0.140625 },\n { x: 0.421875, y: 0.140625 },\n { x: 0.453125, y: 0.140625 },\n { x: 0.453125, y: 0.140625 },\n { x: 0.484375, y: 0.140625 },\n { x: 0.484375, y: 0.140625 },\n { x: 0.515625, y: 0.140625 },\n { x: 0.515625, y: 0.140625 },\n { x: 0.546875, y: 0.140625 },\n { x: 0.546875, y: 0.140625 },\n { x: 0.578125, y: 0.140625 },\n { x: 0.578125, y: 0.140625 },\n { x: 0.609375, y: 0.140625 },\n { x: 0.609375, y: 0.140625 },\n { x: 0.640625, y: 0.140625 },\n { x: 0.640625, y: 0.140625 },\n { x: 0.671875, y: 0.140625 },\n { x: 0.671875, y: 0.140625 },\n { x: 0.703125, y: 0.140625 },\n { x: 0.703125, y: 0.140625 },\n { x: 0.734375, y: 0.140625 },\n { x: 0.734375, y: 0.140625 },\n { x: 0.765625, y: 0.140625 },\n { x: 0.765625, y: 0.140625 },\n { x: 0.796875, y: 0.140625 },\n { x: 0.796875, y: 0.140625 },\n { x: 0.828125, y: 0.140625 },\n { x: 0.828125, y: 0.140625 },\n { x: 0.859375, y: 0.140625 },\n { x: 0.859375, y: 0.140625 },\n { x: 0.890625, y: 0.140625 },\n { x: 0.890625, y: 0.140625 },\n { x: 0.921875, y: 0.140625 },\n { x: 0.921875, y: 0.140625 },\n { x: 0.953125, y: 0.140625 },\n { x: 0.953125, y: 0.140625 },\n { x: 0.984375, y: 0.140625 },\n { x: 0.984375, y: 0.140625 },\n { x: 0.015625, y: 0.171875 },\n { x: 0.015625, y: 0.171875 },\n { x: 0.046875, y: 0.171875 },\n { x: 0.046875, y: 0.171875 },\n { x: 0.078125, y: 0.171875 },\n { x: 0.078125, y: 0.171875 },\n { x: 0.109375, y: 0.171875 },\n { x: 0.109375, y: 0.171875 },\n { x: 0.140625, y: 0.171875 },\n { x: 0.140625, y: 0.171875 },\n { x: 0.171875, y: 0.171875 },\n { x: 0.171875, y: 0.171875 },\n { x: 0.203125, y: 0.171875 },\n { x: 0.203125, y: 0.171875 },\n { x: 0.234375, y: 0.171875 },\n { x: 0.234375, y: 0.171875 },\n { x: 0.265625, y: 0.171875 },\n { x: 0.265625, y: 0.171875 },\n { x: 0.296875, y: 0.171875 },\n { x: 0.296875, y: 0.171875 },\n { x: 0.328125, y: 0.171875 },\n { x: 0.328125, y: 0.171875 },\n { x: 0.359375, y: 0.171875 },\n { x: 0.359375, y: 0.171875 },\n { x: 0.390625, y: 0.171875 },\n { x: 0.390625, y: 0.171875 },\n { x: 0.421875, y: 0.171875 },\n { x: 0.421875, y: 0.171875 },\n { x: 0.453125, y: 0.171875 },\n { x: 0.453125, y: 0.171875 },\n { x: 0.484375, y: 0.171875 },\n { x: 0.484375, y: 0.171875 },\n { x: 0.515625, y: 0.171875 },\n { x: 0.515625, y: 0.171875 },\n { x: 0.546875, y: 0.171875 },\n { x: 0.546875, y: 0.171875 },\n { x: 0.578125, y: 0.171875 },\n { x: 0.578125, y: 0.171875 },\n { x: 0.609375, y: 0.171875 },\n { x: 0.609375, y: 0.171875 },\n { x: 0.640625, y: 0.171875 },\n { x: 0.640625, y: 0.171875 },\n { x: 0.671875, y: 0.171875 },\n { x: 0.671875, y: 0.171875 },\n { x: 0.703125, y: 0.171875 },\n { x: 0.703125, y: 0.171875 },\n { x: 0.734375, y: 0.171875 },\n { x: 0.734375, y: 0.171875 },\n { x: 0.765625, y: 0.171875 },\n { x: 0.765625, y: 0.171875 },\n { x: 0.796875, y: 0.171875 },\n { x: 0.796875, y: 0.171875 },\n { x: 0.828125, y: 0.171875 },\n { x: 0.828125, y: 0.171875 },\n { x: 0.859375, y: 0.171875 },\n { x: 0.859375, y: 0.171875 },\n { x: 0.890625, y: 0.171875 },\n { x: 0.890625, y: 0.171875 },\n { x: 0.921875, y: 0.171875 },\n { x: 0.921875, y: 0.171875 },\n { x: 0.953125, y: 0.171875 },\n { x: 0.953125, y: 0.171875 },\n { x: 0.984375, y: 0.171875 },\n { x: 0.984375, y: 0.171875 },\n { x: 0.015625, y: 0.203125 },\n { x: 0.015625, y: 0.203125 },\n { x: 0.046875, y: 0.203125 },\n { x: 0.046875, y: 0.203125 },\n { x: 0.078125, y: 0.203125 },\n { x: 0.078125, y: 0.203125 },\n { x: 0.109375, y: 0.203125 },\n { x: 0.109375, y: 0.203125 },\n { x: 0.140625, y: 0.203125 },\n { x: 0.140625, y: 0.203125 },\n { x: 0.171875, y: 0.203125 },\n { x: 0.171875, y: 0.203125 },\n { x: 0.203125, y: 0.203125 },\n { x: 0.203125, y: 0.203125 },\n { x: 0.234375, y: 0.203125 },\n { x: 0.234375, y: 0.203125 },\n { x: 0.265625, y: 0.203125 },\n { x: 0.265625, y: 0.203125 },\n { x: 0.296875, y: 0.203125 },\n { x: 0.296875, y: 0.203125 },\n { x: 0.328125, y: 0.203125 },\n { x: 0.328125, y: 0.203125 },\n { x: 0.359375, y: 0.203125 },\n { x: 0.359375, y: 0.203125 },\n { x: 0.390625, y: 0.203125 },\n { x: 0.390625, y: 0.203125 },\n { x: 0.421875, y: 0.203125 },\n { x: 0.421875, y: 0.203125 },\n { x: 0.453125, y: 0.203125 },\n { x: 0.453125, y: 0.203125 },\n { x: 0.484375, y: 0.203125 },\n { x: 0.484375, y: 0.203125 },\n { x: 0.515625, y: 0.203125 },\n { x: 0.515625, y: 0.203125 },\n { x: 0.546875, y: 0.203125 },\n { x: 0.546875, y: 0.203125 },\n { x: 0.578125, y: 0.203125 },\n { x: 0.578125, y: 0.203125 },\n { x: 0.609375, y: 0.203125 },\n { x: 0.609375, y: 0.203125 },\n { x: 0.640625, y: 0.203125 },\n { x: 0.640625, y: 0.203125 },\n { x: 0.671875, y: 0.203125 },\n { x: 0.671875, y: 0.203125 },\n { x: 0.703125, y: 0.203125 },\n { x: 0.703125, y: 0.203125 },\n { x: 0.734375, y: 0.203125 },\n { x: 0.734375, y: 0.203125 },\n { x: 0.765625, y: 0.203125 },\n { x: 0.765625, y: 0.203125 },\n { x: 0.796875, y: 0.203125 },\n { x: 0.796875, y: 0.203125 },\n { x: 0.828125, y: 0.203125 },\n { x: 0.828125, y: 0.203125 },\n { x: 0.859375, y: 0.203125 },\n { x: 0.859375, y: 0.203125 },\n { x: 0.890625, y: 0.203125 },\n { x: 0.890625, y: 0.203125 },\n { x: 0.921875, y: 0.203125 },\n { x: 0.921875, y: 0.203125 },\n { x: 0.953125, y: 0.203125 },\n { x: 0.953125, y: 0.203125 },\n { x: 0.984375, y: 0.203125 },\n { x: 0.984375, y: 0.203125 },\n { x: 0.015625, y: 0.234375 },\n { x: 0.015625, y: 0.234375 },\n { x: 0.046875, y: 0.234375 },\n { x: 0.046875, y: 0.234375 },\n { x: 0.078125, y: 0.234375 },\n { x: 0.078125, y: 0.234375 },\n { x: 0.109375, y: 0.234375 },\n { x: 0.109375, y: 0.234375 },\n { x: 0.140625, y: 0.234375 },\n { x: 0.140625, y: 0.234375 },\n { x: 0.171875, y: 0.234375 },\n { x: 0.171875, y: 0.234375 },\n { x: 0.203125, y: 0.234375 },\n { x: 0.203125, y: 0.234375 },\n { x: 0.234375, y: 0.234375 },\n { x: 0.234375, y: 0.234375 },\n { x: 0.265625, y: 0.234375 },\n { x: 0.265625, y: 0.234375 },\n { x: 0.296875, y: 0.234375 },\n { x: 0.296875, y: 0.234375 },\n { x: 0.328125, y: 0.234375 },\n { x: 0.328125, y: 0.234375 },\n { x: 0.359375, y: 0.234375 },\n { x: 0.359375, y: 0.234375 },\n { x: 0.390625, y: 0.234375 },\n { x: 0.390625, y: 0.234375 },\n { x: 0.421875, y: 0.234375 },\n { x: 0.421875, y: 0.234375 },\n { x: 0.453125, y: 0.234375 },\n { x: 0.453125, y: 0.234375 },\n { x: 0.484375, y: 0.234375 },\n { x: 0.484375, y: 0.234375 },\n { x: 0.515625, y: 0.234375 },\n { x: 0.515625, y: 0.234375 },\n { x: 0.546875, y: 0.234375 },\n { x: 0.546875, y: 0.234375 },\n { x: 0.578125, y: 0.234375 },\n { x: 0.578125, y: 0.234375 },\n { x: 0.609375, y: 0.234375 },\n { x: 0.609375, y: 0.234375 },\n { x: 0.640625, y: 0.234375 },\n { x: 0.640625, y: 0.234375 },\n { x: 0.671875, y: 0.234375 },\n { x: 0.671875, y: 0.234375 },\n { x: 0.703125, y: 0.234375 },\n { x: 0.703125, y: 0.234375 },\n { x: 0.734375, y: 0.234375 },\n { x: 0.734375, y: 0.234375 },\n { x: 0.765625, y: 0.234375 },\n { x: 0.765625, y: 0.234375 },\n { x: 0.796875, y: 0.234375 },\n { x: 0.796875, y: 0.234375 },\n { x: 0.828125, y: 0.234375 },\n { x: 0.828125, y: 0.234375 },\n { x: 0.859375, y: 0.234375 },\n { x: 0.859375, y: 0.234375 },\n { x: 0.890625, y: 0.234375 },\n { x: 0.890625, y: 0.234375 },\n { x: 0.921875, y: 0.234375 },\n { x: 0.921875, y: 0.234375 },\n { x: 0.953125, y: 0.234375 },\n { x: 0.953125, y: 0.234375 },\n { x: 0.984375, y: 0.234375 },\n { x: 0.984375, y: 0.234375 },\n { x: 0.015625, y: 0.265625 },\n { x: 0.015625, y: 0.265625 },\n { x: 0.046875, y: 0.265625 },\n { x: 0.046875, y: 0.265625 },\n { x: 0.078125, y: 0.265625 },\n { x: 0.078125, y: 0.265625 },\n { x: 0.109375, y: 0.265625 },\n { x: 0.109375, y: 0.265625 },\n { x: 0.140625, y: 0.265625 },\n { x: 0.140625, y: 0.265625 },\n { x: 0.171875, y: 0.265625 },\n { x: 0.171875, y: 0.265625 },\n { x: 0.203125, y: 0.265625 },\n { x: 0.203125, y: 0.265625 },\n { x: 0.234375, y: 0.265625 },\n { x: 0.234375, y: 0.265625 },\n { x: 0.265625, y: 0.265625 },\n { x: 0.265625, y: 0.265625 },\n { x: 0.296875, y: 0.265625 },\n { x: 0.296875, y: 0.265625 },\n { x: 0.328125, y: 0.265625 },\n { x: 0.328125, y: 0.265625 },\n { x: 0.359375, y: 0.265625 },\n { x: 0.359375, y: 0.265625 },\n { x: 0.390625, y: 0.265625 },\n { x: 0.390625, y: 0.265625 },\n { x: 0.421875, y: 0.265625 },\n { x: 0.421875, y: 0.265625 },\n { x: 0.453125, y: 0.265625 },\n { x: 0.453125, y: 0.265625 },\n { x: 0.484375, y: 0.265625 },\n { x: 0.484375, y: 0.265625 },\n { x: 0.515625, y: 0.265625 },\n { x: 0.515625, y: 0.265625 },\n { x: 0.546875, y: 0.265625 },\n { x: 0.546875, y: 0.265625 },\n { x: 0.578125, y: 0.265625 },\n { x: 0.578125, y: 0.265625 },\n { x: 0.609375, y: 0.265625 },\n { x: 0.609375, y: 0.265625 },\n { x: 0.640625, y: 0.265625 },\n { x: 0.640625, y: 0.265625 },\n { x: 0.671875, y: 0.265625 },\n { x: 0.671875, y: 0.265625 },\n { x: 0.703125, y: 0.265625 },\n { x: 0.703125, y: 0.265625 },\n { x: 0.734375, y: 0.265625 },\n { x: 0.734375, y: 0.265625 },\n { x: 0.765625, y: 0.265625 },\n { x: 0.765625, y: 0.265625 },\n { x: 0.796875, y: 0.265625 },\n { x: 0.796875, y: 0.265625 },\n { x: 0.828125, y: 0.265625 },\n { x: 0.828125, y: 0.265625 },\n { x: 0.859375, y: 0.265625 },\n { x: 0.859375, y: 0.265625 },\n { x: 0.890625, y: 0.265625 },\n { x: 0.890625, y: 0.265625 },\n { x: 0.921875, y: 0.265625 },\n { x: 0.921875, y: 0.265625 },\n { x: 0.953125, y: 0.265625 },\n { x: 0.953125, y: 0.265625 },\n { x: 0.984375, y: 0.265625 },\n { x: 0.984375, y: 0.265625 },\n { x: 0.015625, y: 0.296875 },\n { x: 0.015625, y: 0.296875 },\n { x: 0.046875, y: 0.296875 },\n { x: 0.046875, y: 0.296875 },\n { x: 0.078125, y: 0.296875 },\n { x: 0.078125, y: 0.296875 },\n { x: 0.109375, y: 0.296875 },\n { x: 0.109375, y: 0.296875 },\n { x: 0.140625, y: 0.296875 },\n { x: 0.140625, y: 0.296875 },\n { x: 0.171875, y: 0.296875 },\n { x: 0.171875, y: 0.296875 },\n { x: 0.203125, y: 0.296875 },\n { x: 0.203125, y: 0.296875 },\n { x: 0.234375, y: 0.296875 },\n { x: 0.234375, y: 0.296875 },\n { x: 0.265625, y: 0.296875 },\n { x: 0.265625, y: 0.296875 },\n { x: 0.296875, y: 0.296875 },\n { x: 0.296875, y: 0.296875 },\n { x: 0.328125, y: 0.296875 },\n { x: 0.328125, y: 0.296875 },\n { x: 0.359375, y: 0.296875 },\n { x: 0.359375, y: 0.296875 },\n { x: 0.390625, y: 0.296875 },\n { x: 0.390625, y: 0.296875 },\n { x: 0.421875, y: 0.296875 },\n { x: 0.421875, y: 0.296875 },\n { x: 0.453125, y: 0.296875 },\n { x: 0.453125, y: 0.296875 },\n { x: 0.484375, y: 0.296875 },\n { x: 0.484375, y: 0.296875 },\n { x: 0.515625, y: 0.296875 },\n { x: 0.515625, y: 0.296875 },\n { x: 0.546875, y: 0.296875 },\n { x: 0.546875, y: 0.296875 },\n { x: 0.578125, y: 0.296875 },\n { x: 0.578125, y: 0.296875 },\n { x: 0.609375, y: 0.296875 },\n { x: 0.609375, y: 0.296875 },\n { x: 0.640625, y: 0.296875 },\n { x: 0.640625, y: 0.296875 },\n { x: 0.671875, y: 0.296875 },\n { x: 0.671875, y: 0.296875 },\n { x: 0.703125, y: 0.296875 },\n { x: 0.703125, y: 0.296875 },\n { x: 0.734375, y: 0.296875 },\n { x: 0.734375, y: 0.296875 },\n { x: 0.765625, y: 0.296875 },\n { x: 0.765625, y: 0.296875 },\n { x: 0.796875, y: 0.296875 },\n { x: 0.796875, y: 0.296875 },\n { x: 0.828125, y: 0.296875 },\n { x: 0.828125, y: 0.296875 },\n { x: 0.859375, y: 0.296875 },\n { x: 0.859375, y: 0.296875 },\n { x: 0.890625, y: 0.296875 },\n { x: 0.890625, y: 0.296875 },\n { x: 0.921875, y: 0.296875 },\n { x: 0.921875, y: 0.296875 },\n { x: 0.953125, y: 0.296875 },\n { x: 0.953125, y: 0.296875 },\n { x: 0.984375, y: 0.296875 },\n { x: 0.984375, y: 0.296875 },\n { x: 0.015625, y: 0.328125 },\n { x: 0.015625, y: 0.328125 },\n { x: 0.046875, y: 0.328125 },\n { x: 0.046875, y: 0.328125 },\n { x: 0.078125, y: 0.328125 },\n { x: 0.078125, y: 0.328125 },\n { x: 0.109375, y: 0.328125 },\n { x: 0.109375, y: 0.328125 },\n { x: 0.140625, y: 0.328125 },\n { x: 0.140625, y: 0.328125 },\n { x: 0.171875, y: 0.328125 },\n { x: 0.171875, y: 0.328125 },\n { x: 0.203125, y: 0.328125 },\n { x: 0.203125, y: 0.328125 },\n { x: 0.234375, y: 0.328125 },\n { x: 0.234375, y: 0.328125 },\n { x: 0.265625, y: 0.328125 },\n { x: 0.265625, y: 0.328125 },\n { x: 0.296875, y: 0.328125 },\n { x: 0.296875, y: 0.328125 },\n { x: 0.328125, y: 0.328125 },\n { x: 0.328125, y: 0.328125 },\n { x: 0.359375, y: 0.328125 },\n { x: 0.359375, y: 0.328125 },\n { x: 0.390625, y: 0.328125 },\n { x: 0.390625, y: 0.328125 },\n { x: 0.421875, y: 0.328125 },\n { x: 0.421875, y: 0.328125 },\n { x: 0.453125, y: 0.328125 },\n { x: 0.453125, y: 0.328125 },\n { x: 0.484375, y: 0.328125 },\n { x: 0.484375, y: 0.328125 },\n { x: 0.515625, y: 0.328125 },\n { x: 0.515625, y: 0.328125 },\n { x: 0.546875, y: 0.328125 },\n { x: 0.546875, y: 0.328125 },\n { x: 0.578125, y: 0.328125 },\n { x: 0.578125, y: 0.328125 },\n { x: 0.609375, y: 0.328125 },\n { x: 0.609375, y: 0.328125 },\n { x: 0.640625, y: 0.328125 },\n { x: 0.640625, y: 0.328125 },\n { x: 0.671875, y: 0.328125 },\n { x: 0.671875, y: 0.328125 },\n { x: 0.703125, y: 0.328125 },\n { x: 0.703125, y: 0.328125 },\n { x: 0.734375, y: 0.328125 },\n { x: 0.734375, y: 0.328125 },\n { x: 0.765625, y: 0.328125 },\n { x: 0.765625, y: 0.328125 },\n { x: 0.796875, y: 0.328125 },\n { x: 0.796875, y: 0.328125 },\n { x: 0.828125, y: 0.328125 },\n { x: 0.828125, y: 0.328125 },\n { x: 0.859375, y: 0.328125 },\n { x: 0.859375, y: 0.328125 },\n { x: 0.890625, y: 0.328125 },\n { x: 0.890625, y: 0.328125 },\n { x: 0.921875, y: 0.328125 },\n { x: 0.921875, y: 0.328125 },\n { x: 0.953125, y: 0.328125 },\n { x: 0.953125, y: 0.328125 },\n { x: 0.984375, y: 0.328125 },\n { x: 0.984375, y: 0.328125 },\n { x: 0.015625, y: 0.359375 },\n { x: 0.015625, y: 0.359375 },\n { x: 0.046875, y: 0.359375 },\n { x: 0.046875, y: 0.359375 },\n { x: 0.078125, y: 0.359375 },\n { x: 0.078125, y: 0.359375 },\n { x: 0.109375, y: 0.359375 },\n { x: 0.109375, y: 0.359375 },\n { x: 0.140625, y: 0.359375 },\n { x: 0.140625, y: 0.359375 },\n { x: 0.171875, y: 0.359375 },\n { x: 0.171875, y: 0.359375 },\n { x: 0.203125, y: 0.359375 },\n { x: 0.203125, y: 0.359375 },\n { x: 0.234375, y: 0.359375 },\n { x: 0.234375, y: 0.359375 },\n { x: 0.265625, y: 0.359375 },\n { x: 0.265625, y: 0.359375 },\n { x: 0.296875, y: 0.359375 },\n { x: 0.296875, y: 0.359375 },\n { x: 0.328125, y: 0.359375 },\n { x: 0.328125, y: 0.359375 },\n { x: 0.359375, y: 0.359375 },\n { x: 0.359375, y: 0.359375 },\n { x: 0.390625, y: 0.359375 },\n { x: 0.390625, y: 0.359375 },\n { x: 0.421875, y: 0.359375 },\n { x: 0.421875, y: 0.359375 },\n { x: 0.453125, y: 0.359375 },\n { x: 0.453125, y: 0.359375 },\n { x: 0.484375, y: 0.359375 },\n { x: 0.484375, y: 0.359375 },\n { x: 0.515625, y: 0.359375 },\n { x: 0.515625, y: 0.359375 },\n { x: 0.546875, y: 0.359375 },\n { x: 0.546875, y: 0.359375 },\n { x: 0.578125, y: 0.359375 },\n { x: 0.578125, y: 0.359375 },\n { x: 0.609375, y: 0.359375 },\n { x: 0.609375, y: 0.359375 },\n { x: 0.640625, y: 0.359375 },\n { x: 0.640625, y: 0.359375 },\n { x: 0.671875, y: 0.359375 },\n { x: 0.671875, y: 0.359375 },\n { x: 0.703125, y: 0.359375 },\n { x: 0.703125, y: 0.359375 },\n { x: 0.734375, y: 0.359375 },\n { x: 0.734375, y: 0.359375 },\n { x: 0.765625, y: 0.359375 },\n { x: 0.765625, y: 0.359375 },\n { x: 0.796875, y: 0.359375 },\n { x: 0.796875, y: 0.359375 },\n { x: 0.828125, y: 0.359375 },\n { x: 0.828125, y: 0.359375 },\n { x: 0.859375, y: 0.359375 },\n { x: 0.859375, y: 0.359375 },\n { x: 0.890625, y: 0.359375 },\n { x: 0.890625, y: 0.359375 },\n { x: 0.921875, y: 0.359375 },\n { x: 0.921875, y: 0.359375 },\n { x: 0.953125, y: 0.359375 },\n { x: 0.953125, y: 0.359375 },\n { x: 0.984375, y: 0.359375 },\n { x: 0.984375, y: 0.359375 },\n { x: 0.015625, y: 0.390625 },\n { x: 0.015625, y: 0.390625 },\n { x: 0.046875, y: 0.390625 },\n { x: 0.046875, y: 0.390625 },\n { x: 0.078125, y: 0.390625 },\n { x: 0.078125, y: 0.390625 },\n { x: 0.109375, y: 0.390625 },\n { x: 0.109375, y: 0.390625 },\n { x: 0.140625, y: 0.390625 },\n { x: 0.140625, y: 0.390625 },\n { x: 0.171875, y: 0.390625 },\n { x: 0.171875, y: 0.390625 },\n { x: 0.203125, y: 0.390625 },\n { x: 0.203125, y: 0.390625 },\n { x: 0.234375, y: 0.390625 },\n { x: 0.234375, y: 0.390625 },\n { x: 0.265625, y: 0.390625 },\n { x: 0.265625, y: 0.390625 },\n { x: 0.296875, y: 0.390625 },\n { x: 0.296875, y: 0.390625 },\n { x: 0.328125, y: 0.390625 },\n { x: 0.328125, y: 0.390625 },\n { x: 0.359375, y: 0.390625 },\n { x: 0.359375, y: 0.390625 },\n { x: 0.390625, y: 0.390625 },\n { x: 0.390625, y: 0.390625 },\n { x: 0.421875, y: 0.390625 },\n { x: 0.421875, y: 0.390625 },\n { x: 0.453125, y: 0.390625 },\n { x: 0.453125, y: 0.390625 },\n { x: 0.484375, y: 0.390625 },\n { x: 0.484375, y: 0.390625 },\n { x: 0.515625, y: 0.390625 },\n { x: 0.515625, y: 0.390625 },\n { x: 0.546875, y: 0.390625 },\n { x: 0.546875, y: 0.390625 },\n { x: 0.578125, y: 0.390625 },\n { x: 0.578125, y: 0.390625 },\n { x: 0.609375, y: 0.390625 },\n { x: 0.609375, y: 0.390625 },\n { x: 0.640625, y: 0.390625 },\n { x: 0.640625, y: 0.390625 },\n { x: 0.671875, y: 0.390625 },\n { x: 0.671875, y: 0.390625 },\n { x: 0.703125, y: 0.390625 },\n { x: 0.703125, y: 0.390625 },\n { x: 0.734375, y: 0.390625 },\n { x: 0.734375, y: 0.390625 },\n { x: 0.765625, y: 0.390625 },\n { x: 0.765625, y: 0.390625 },\n { x: 0.796875, y: 0.390625 },\n { x: 0.796875, y: 0.390625 },\n { x: 0.828125, y: 0.390625 },\n { x: 0.828125, y: 0.390625 },\n { x: 0.859375, y: 0.390625 },\n { x: 0.859375, y: 0.390625 },\n { x: 0.890625, y: 0.390625 },\n { x: 0.890625, y: 0.390625 },\n { x: 0.921875, y: 0.390625 },\n { x: 0.921875, y: 0.390625 },\n { x: 0.953125, y: 0.390625 },\n { x: 0.953125, y: 0.390625 },\n { x: 0.984375, y: 0.390625 },\n { x: 0.984375, y: 0.390625 },\n { x: 0.015625, y: 0.421875 },\n { x: 0.015625, y: 0.421875 },\n { x: 0.046875, y: 0.421875 },\n { x: 0.046875, y: 0.421875 },\n { x: 0.078125, y: 0.421875 },\n { x: 0.078125, y: 0.421875 },\n { x: 0.109375, y: 0.421875 },\n { x: 0.109375, y: 0.421875 },\n { x: 0.140625, y: 0.421875 },\n { x: 0.140625, y: 0.421875 },\n { x: 0.171875, y: 0.421875 },\n { x: 0.171875, y: 0.421875 },\n { x: 0.203125, y: 0.421875 },\n { x: 0.203125, y: 0.421875 },\n { x: 0.234375, y: 0.421875 },\n { x: 0.234375, y: 0.421875 },\n { x: 0.265625, y: 0.421875 },\n { x: 0.265625, y: 0.421875 },\n { x: 0.296875, y: 0.421875 },\n { x: 0.296875, y: 0.421875 },\n { x: 0.328125, y: 0.421875 },\n { x: 0.328125, y: 0.421875 },\n { x: 0.359375, y: 0.421875 },\n { x: 0.359375, y: 0.421875 },\n { x: 0.390625, y: 0.421875 },\n { x: 0.390625, y: 0.421875 },\n { x: 0.421875, y: 0.421875 },\n { x: 0.421875, y: 0.421875 },\n { x: 0.453125, y: 0.421875 },\n { x: 0.453125, y: 0.421875 },\n { x: 0.484375, y: 0.421875 },\n { x: 0.484375, y: 0.421875 },\n { x: 0.515625, y: 0.421875 },\n { x: 0.515625, y: 0.421875 },\n { x: 0.546875, y: 0.421875 },\n { x: 0.546875, y: 0.421875 },\n { x: 0.578125, y: 0.421875 },\n { x: 0.578125, y: 0.421875 },\n { x: 0.609375, y: 0.421875 },\n { x: 0.609375, y: 0.421875 },\n { x: 0.640625, y: 0.421875 },\n { x: 0.640625, y: 0.421875 },\n { x: 0.671875, y: 0.421875 },\n { x: 0.671875, y: 0.421875 },\n { x: 0.703125, y: 0.421875 },\n { x: 0.703125, y: 0.421875 },\n { x: 0.734375, y: 0.421875 },\n { x: 0.734375, y: 0.421875 },\n { x: 0.765625, y: 0.421875 },\n { x: 0.765625, y: 0.421875 },\n { x: 0.796875, y: 0.421875 },\n { x: 0.796875, y: 0.421875 },\n { x: 0.828125, y: 0.421875 },\n { x: 0.828125, y: 0.421875 },\n { x: 0.859375, y: 0.421875 },\n { x: 0.859375, y: 0.421875 },\n { x: 0.890625, y: 0.421875 },\n { x: 0.890625, y: 0.421875 },\n { x: 0.921875, y: 0.421875 },\n { x: 0.921875, y: 0.421875 },\n { x: 0.953125, y: 0.421875 },\n { x: 0.953125, y: 0.421875 },\n { x: 0.984375, y: 0.421875 },\n { x: 0.984375, y: 0.421875 },\n { x: 0.015625, y: 0.453125 },\n { x: 0.015625, y: 0.453125 },\n { x: 0.046875, y: 0.453125 },\n { x: 0.046875, y: 0.453125 },\n { x: 0.078125, y: 0.453125 },\n { x: 0.078125, y: 0.453125 },\n { x: 0.109375, y: 0.453125 },\n { x: 0.109375, y: 0.453125 },\n { x: 0.140625, y: 0.453125 },\n { x: 0.140625, y: 0.453125 },\n { x: 0.171875, y: 0.453125 },\n { x: 0.171875, y: 0.453125 },\n { x: 0.203125, y: 0.453125 },\n { x: 0.203125, y: 0.453125 },\n { x: 0.234375, y: 0.453125 },\n { x: 0.234375, y: 0.453125 },\n { x: 0.265625, y: 0.453125 },\n { x: 0.265625, y: 0.453125 },\n { x: 0.296875, y: 0.453125 },\n { x: 0.296875, y: 0.453125 },\n { x: 0.328125, y: 0.453125 },\n { x: 0.328125, y: 0.453125 },\n { x: 0.359375, y: 0.453125 },\n { x: 0.359375, y: 0.453125 },\n { x: 0.390625, y: 0.453125 },\n { x: 0.390625, y: 0.453125 },\n { x: 0.421875, y: 0.453125 },\n { x: 0.421875, y: 0.453125 },\n { x: 0.453125, y: 0.453125 },\n { x: 0.453125, y: 0.453125 },\n { x: 0.484375, y: 0.453125 },\n { x: 0.484375, y: 0.453125 },\n { x: 0.515625, y: 0.453125 },\n { x: 0.515625, y: 0.453125 },\n { x: 0.546875, y: 0.453125 },\n { x: 0.546875, y: 0.453125 },\n { x: 0.578125, y: 0.453125 },\n { x: 0.578125, y: 0.453125 },\n { x: 0.609375, y: 0.453125 },\n { x: 0.609375, y: 0.453125 },\n { x: 0.640625, y: 0.453125 },\n { x: 0.640625, y: 0.453125 },\n { x: 0.671875, y: 0.453125 },\n { x: 0.671875, y: 0.453125 },\n { x: 0.703125, y: 0.453125 },\n { x: 0.703125, y: 0.453125 },\n { x: 0.734375, y: 0.453125 },\n { x: 0.734375, y: 0.453125 },\n { x: 0.765625, y: 0.453125 },\n { x: 0.765625, y: 0.453125 },\n { x: 0.796875, y: 0.453125 },\n { x: 0.796875, y: 0.453125 },\n { x: 0.828125, y: 0.453125 },\n { x: 0.828125, y: 0.453125 },\n { x: 0.859375, y: 0.453125 },\n { x: 0.859375, y: 0.453125 },\n { x: 0.890625, y: 0.453125 },\n { x: 0.890625, y: 0.453125 },\n { x: 0.921875, y: 0.453125 },\n { x: 0.921875, y: 0.453125 },\n { x: 0.953125, y: 0.453125 },\n { x: 0.953125, y: 0.453125 },\n { x: 0.984375, y: 0.453125 },\n { x: 0.984375, y: 0.453125 },\n { x: 0.015625, y: 0.484375 },\n { x: 0.015625, y: 0.484375 },\n { x: 0.046875, y: 0.484375 },\n { x: 0.046875, y: 0.484375 },\n { x: 0.078125, y: 0.484375 },\n { x: 0.078125, y: 0.484375 },\n { x: 0.109375, y: 0.484375 },\n { x: 0.109375, y: 0.484375 },\n { x: 0.140625, y: 0.484375 },\n { x: 0.140625, y: 0.484375 },\n { x: 0.171875, y: 0.484375 },\n { x: 0.171875, y: 0.484375 },\n { x: 0.203125, y: 0.484375 },\n { x: 0.203125, y: 0.484375 },\n { x: 0.234375, y: 0.484375 },\n { x: 0.234375, y: 0.484375 },\n { x: 0.265625, y: 0.484375 },\n { x: 0.265625, y: 0.484375 },\n { x: 0.296875, y: 0.484375 },\n { x: 0.296875, y: 0.484375 },\n { x: 0.328125, y: 0.484375 },\n { x: 0.328125, y: 0.484375 },\n { x: 0.359375, y: 0.484375 },\n { x: 0.359375, y: 0.484375 },\n { x: 0.390625, y: 0.484375 },\n { x: 0.390625, y: 0.484375 },\n { x: 0.421875, y: 0.484375 },\n { x: 0.421875, y: 0.484375 },\n { x: 0.453125, y: 0.484375 },\n { x: 0.453125, y: 0.484375 },\n { x: 0.484375, y: 0.484375 },\n { x: 0.484375, y: 0.484375 },\n { x: 0.515625, y: 0.484375 },\n { x: 0.515625, y: 0.484375 },\n { x: 0.546875, y: 0.484375 },\n { x: 0.546875, y: 0.484375 },\n { x: 0.578125, y: 0.484375 },\n { x: 0.578125, y: 0.484375 },\n { x: 0.609375, y: 0.484375 },\n { x: 0.609375, y: 0.484375 },\n { x: 0.640625, y: 0.484375 },\n { x: 0.640625, y: 0.484375 },\n { x: 0.671875, y: 0.484375 },\n { x: 0.671875, y: 0.484375 },\n { x: 0.703125, y: 0.484375 },\n { x: 0.703125, y: 0.484375 },\n { x: 0.734375, y: 0.484375 },\n { x: 0.734375, y: 0.484375 },\n { x: 0.765625, y: 0.484375 },\n { x: 0.765625, y: 0.484375 },\n { x: 0.796875, y: 0.484375 },\n { x: 0.796875, y: 0.484375 },\n { x: 0.828125, y: 0.484375 },\n { x: 0.828125, y: 0.484375 },\n { x: 0.859375, y: 0.484375 },\n { x: 0.859375, y: 0.484375 },\n { x: 0.890625, y: 0.484375 },\n { x: 0.890625, y: 0.484375 },\n { x: 0.921875, y: 0.484375 },\n { x: 0.921875, y: 0.484375 },\n { x: 0.953125, y: 0.484375 },\n { x: 0.953125, y: 0.484375 },\n { x: 0.984375, y: 0.484375 },\n { x: 0.984375, y: 0.484375 },\n { x: 0.015625, y: 0.515625 },\n { x: 0.015625, y: 0.515625 },\n { x: 0.046875, y: 0.515625 },\n { x: 0.046875, y: 0.515625 },\n { x: 0.078125, y: 0.515625 },\n { x: 0.078125, y: 0.515625 },\n { x: 0.109375, y: 0.515625 },\n { x: 0.109375, y: 0.515625 },\n { x: 0.140625, y: 0.515625 },\n { x: 0.140625, y: 0.515625 },\n { x: 0.171875, y: 0.515625 },\n { x: 0.171875, y: 0.515625 },\n { x: 0.203125, y: 0.515625 },\n { x: 0.203125, y: 0.515625 },\n { x: 0.234375, y: 0.515625 },\n { x: 0.234375, y: 0.515625 },\n { x: 0.265625, y: 0.515625 },\n { x: 0.265625, y: 0.515625 },\n { x: 0.296875, y: 0.515625 },\n { x: 0.296875, y: 0.515625 },\n { x: 0.328125, y: 0.515625 },\n { x: 0.328125, y: 0.515625 },\n { x: 0.359375, y: 0.515625 },\n { x: 0.359375, y: 0.515625 },\n { x: 0.390625, y: 0.515625 },\n { x: 0.390625, y: 0.515625 },\n { x: 0.421875, y: 0.515625 },\n { x: 0.421875, y: 0.515625 },\n { x: 0.453125, y: 0.515625 },\n { x: 0.453125, y: 0.515625 },\n { x: 0.484375, y: 0.515625 },\n { x: 0.484375, y: 0.515625 },\n { x: 0.515625, y: 0.515625 },\n { x: 0.515625, y: 0.515625 },\n { x: 0.546875, y: 0.515625 },\n { x: 0.546875, y: 0.515625 },\n { x: 0.578125, y: 0.515625 },\n { x: 0.578125, y: 0.515625 },\n { x: 0.609375, y: 0.515625 },\n { x: 0.609375, y: 0.515625 },\n { x: 0.640625, y: 0.515625 },\n { x: 0.640625, y: 0.515625 },\n { x: 0.671875, y: 0.515625 },\n { x: 0.671875, y: 0.515625 },\n { x: 0.703125, y: 0.515625 },\n { x: 0.703125, y: 0.515625 },\n { x: 0.734375, y: 0.515625 },\n { x: 0.734375, y: 0.515625 },\n { x: 0.765625, y: 0.515625 },\n { x: 0.765625, y: 0.515625 },\n { x: 0.796875, y: 0.515625 },\n { x: 0.796875, y: 0.515625 },\n { x: 0.828125, y: 0.515625 },\n { x: 0.828125, y: 0.515625 },\n { x: 0.859375, y: 0.515625 },\n { x: 0.859375, y: 0.515625 },\n { x: 0.890625, y: 0.515625 },\n { x: 0.890625, y: 0.515625 },\n { x: 0.921875, y: 0.515625 },\n { x: 0.921875, y: 0.515625 },\n { x: 0.953125, y: 0.515625 },\n { x: 0.953125, y: 0.515625 },\n { x: 0.984375, y: 0.515625 },\n { x: 0.984375, y: 0.515625 },\n { x: 0.015625, y: 0.546875 },\n { x: 0.015625, y: 0.546875 },\n { x: 0.046875, y: 0.546875 },\n { x: 0.046875, y: 0.546875 },\n { x: 0.078125, y: 0.546875 },\n { x: 0.078125, y: 0.546875 },\n { x: 0.109375, y: 0.546875 },\n { x: 0.109375, y: 0.546875 },\n { x: 0.140625, y: 0.546875 },\n { x: 0.140625, y: 0.546875 },\n { x: 0.171875, y: 0.546875 },\n { x: 0.171875, y: 0.546875 },\n { x: 0.203125, y: 0.546875 },\n { x: 0.203125, y: 0.546875 },\n { x: 0.234375, y: 0.546875 },\n { x: 0.234375, y: 0.546875 },\n { x: 0.265625, y: 0.546875 },\n { x: 0.265625, y: 0.546875 },\n { x: 0.296875, y: 0.546875 },\n { x: 0.296875, y: 0.546875 },\n { x: 0.328125, y: 0.546875 },\n { x: 0.328125, y: 0.546875 },\n { x: 0.359375, y: 0.546875 },\n { x: 0.359375, y: 0.546875 },\n { x: 0.390625, y: 0.546875 },\n { x: 0.390625, y: 0.546875 },\n { x: 0.421875, y: 0.546875 },\n { x: 0.421875, y: 0.546875 },\n { x: 0.453125, y: 0.546875 },\n { x: 0.453125, y: 0.546875 },\n { x: 0.484375, y: 0.546875 },\n { x: 0.484375, y: 0.546875 },\n { x: 0.515625, y: 0.546875 },\n { x: 0.515625, y: 0.546875 },\n { x: 0.546875, y: 0.546875 },\n { x: 0.546875, y: 0.546875 },\n { x: 0.578125, y: 0.546875 },\n { x: 0.578125, y: 0.546875 },\n { x: 0.609375, y: 0.546875 },\n { x: 0.609375, y: 0.546875 },\n { x: 0.640625, y: 0.546875 },\n { x: 0.640625, y: 0.546875 },\n { x: 0.671875, y: 0.546875 },\n { x: 0.671875, y: 0.546875 },\n { x: 0.703125, y: 0.546875 },\n { x: 0.703125, y: 0.546875 },\n { x: 0.734375, y: 0.546875 },\n { x: 0.734375, y: 0.546875 },\n { x: 0.765625, y: 0.546875 },\n { x: 0.765625, y: 0.546875 },\n { x: 0.796875, y: 0.546875 },\n { x: 0.796875, y: 0.546875 },\n { x: 0.828125, y: 0.546875 },\n { x: 0.828125, y: 0.546875 },\n { x: 0.859375, y: 0.546875 },\n { x: 0.859375, y: 0.546875 },\n { x: 0.890625, y: 0.546875 },\n { x: 0.890625, y: 0.546875 },\n { x: 0.921875, y: 0.546875 },\n { x: 0.921875, y: 0.546875 },\n { x: 0.953125, y: 0.546875 },\n { x: 0.953125, y: 0.546875 },\n { x: 0.984375, y: 0.546875 },\n { x: 0.984375, y: 0.546875 },\n { x: 0.015625, y: 0.578125 },\n { x: 0.015625, y: 0.578125 },\n { x: 0.046875, y: 0.578125 },\n { x: 0.046875, y: 0.578125 },\n { x: 0.078125, y: 0.578125 },\n { x: 0.078125, y: 0.578125 },\n { x: 0.109375, y: 0.578125 },\n { x: 0.109375, y: 0.578125 },\n { x: 0.140625, y: 0.578125 },\n { x: 0.140625, y: 0.578125 },\n { x: 0.171875, y: 0.578125 },\n { x: 0.171875, y: 0.578125 },\n { x: 0.203125, y: 0.578125 },\n { x: 0.203125, y: 0.578125 },\n { x: 0.234375, y: 0.578125 },\n { x: 0.234375, y: 0.578125 },\n { x: 0.265625, y: 0.578125 },\n { x: 0.265625, y: 0.578125 },\n { x: 0.296875, y: 0.578125 },\n { x: 0.296875, y: 0.578125 },\n { x: 0.328125, y: 0.578125 },\n { x: 0.328125, y: 0.578125 },\n { x: 0.359375, y: 0.578125 },\n { x: 0.359375, y: 0.578125 },\n { x: 0.390625, y: 0.578125 },\n { x: 0.390625, y: 0.578125 },\n { x: 0.421875, y: 0.578125 },\n { x: 0.421875, y: 0.578125 },\n { x: 0.453125, y: 0.578125 },\n { x: 0.453125, y: 0.578125 },\n { x: 0.484375, y: 0.578125 },\n { x: 0.484375, y: 0.578125 },\n { x: 0.515625, y: 0.578125 },\n { x: 0.515625, y: 0.578125 },\n { x: 0.546875, y: 0.578125 },\n { x: 0.546875, y: 0.578125 },\n { x: 0.578125, y: 0.578125 },\n { x: 0.578125, y: 0.578125 },\n { x: 0.609375, y: 0.578125 },\n { x: 0.609375, y: 0.578125 },\n { x: 0.640625, y: 0.578125 },\n { x: 0.640625, y: 0.578125 },\n { x: 0.671875, y: 0.578125 },\n { x: 0.671875, y: 0.578125 },\n { x: 0.703125, y: 0.578125 },\n { x: 0.703125, y: 0.578125 },\n { x: 0.734375, y: 0.578125 },\n { x: 0.734375, y: 0.578125 },\n { x: 0.765625, y: 0.578125 },\n { x: 0.765625, y: 0.578125 },\n { x: 0.796875, y: 0.578125 },\n { x: 0.796875, y: 0.578125 },\n { x: 0.828125, y: 0.578125 },\n { x: 0.828125, y: 0.578125 },\n { x: 0.859375, y: 0.578125 },\n { x: 0.859375, y: 0.578125 },\n { x: 0.890625, y: 0.578125 },\n { x: 0.890625, y: 0.578125 },\n { x: 0.921875, y: 0.578125 },\n { x: 0.921875, y: 0.578125 },\n { x: 0.953125, y: 0.578125 },\n { x: 0.953125, y: 0.578125 },\n { x: 0.984375, y: 0.578125 },\n { x: 0.984375, y: 0.578125 },\n { x: 0.015625, y: 0.609375 },\n { x: 0.015625, y: 0.609375 },\n { x: 0.046875, y: 0.609375 },\n { x: 0.046875, y: 0.609375 },\n { x: 0.078125, y: 0.609375 },\n { x: 0.078125, y: 0.609375 },\n { x: 0.109375, y: 0.609375 },\n { x: 0.109375, y: 0.609375 },\n { x: 0.140625, y: 0.609375 },\n { x: 0.140625, y: 0.609375 },\n { x: 0.171875, y: 0.609375 },\n { x: 0.171875, y: 0.609375 },\n { x: 0.203125, y: 0.609375 },\n { x: 0.203125, y: 0.609375 },\n { x: 0.234375, y: 0.609375 },\n { x: 0.234375, y: 0.609375 },\n { x: 0.265625, y: 0.609375 },\n { x: 0.265625, y: 0.609375 },\n { x: 0.296875, y: 0.609375 },\n { x: 0.296875, y: 0.609375 },\n { x: 0.328125, y: 0.609375 },\n { x: 0.328125, y: 0.609375 },\n { x: 0.359375, y: 0.609375 },\n { x: 0.359375, y: 0.609375 },\n { x: 0.390625, y: 0.609375 },\n { x: 0.390625, y: 0.609375 },\n { x: 0.421875, y: 0.609375 },\n { x: 0.421875, y: 0.609375 },\n { x: 0.453125, y: 0.609375 },\n { x: 0.453125, y: 0.609375 },\n { x: 0.484375, y: 0.609375 },\n { x: 0.484375, y: 0.609375 },\n { x: 0.515625, y: 0.609375 },\n { x: 0.515625, y: 0.609375 },\n { x: 0.546875, y: 0.609375 },\n { x: 0.546875, y: 0.609375 },\n { x: 0.578125, y: 0.609375 },\n { x: 0.578125, y: 0.609375 },\n { x: 0.609375, y: 0.609375 },\n { x: 0.609375, y: 0.609375 },\n { x: 0.640625, y: 0.609375 },\n { x: 0.640625, y: 0.609375 },\n { x: 0.671875, y: 0.609375 },\n { x: 0.671875, y: 0.609375 },\n { x: 0.703125, y: 0.609375 },\n { x: 0.703125, y: 0.609375 },\n { x: 0.734375, y: 0.609375 },\n { x: 0.734375, y: 0.609375 },\n { x: 0.765625, y: 0.609375 },\n { x: 0.765625, y: 0.609375 },\n { x: 0.796875, y: 0.609375 },\n { x: 0.796875, y: 0.609375 },\n { x: 0.828125, y: 0.609375 },\n { x: 0.828125, y: 0.609375 },\n { x: 0.859375, y: 0.609375 },\n { x: 0.859375, y: 0.609375 },\n { x: 0.890625, y: 0.609375 },\n { x: 0.890625, y: 0.609375 },\n { x: 0.921875, y: 0.609375 },\n { x: 0.921875, y: 0.609375 },\n { x: 0.953125, y: 0.609375 },\n { x: 0.953125, y: 0.609375 },\n { x: 0.984375, y: 0.609375 },\n { x: 0.984375, y: 0.609375 },\n { x: 0.015625, y: 0.640625 },\n { x: 0.015625, y: 0.640625 },\n { x: 0.046875, y: 0.640625 },\n { x: 0.046875, y: 0.640625 },\n { x: 0.078125, y: 0.640625 },\n { x: 0.078125, y: 0.640625 },\n { x: 0.109375, y: 0.640625 },\n { x: 0.109375, y: 0.640625 },\n { x: 0.140625, y: 0.640625 },\n { x: 0.140625, y: 0.640625 },\n { x: 0.171875, y: 0.640625 },\n { x: 0.171875, y: 0.640625 },\n { x: 0.203125, y: 0.640625 },\n { x: 0.203125, y: 0.640625 },\n { x: 0.234375, y: 0.640625 },\n { x: 0.234375, y: 0.640625 },\n { x: 0.265625, y: 0.640625 },\n { x: 0.265625, y: 0.640625 },\n { x: 0.296875, y: 0.640625 },\n { x: 0.296875, y: 0.640625 },\n { x: 0.328125, y: 0.640625 },\n { x: 0.328125, y: 0.640625 },\n { x: 0.359375, y: 0.640625 },\n { x: 0.359375, y: 0.640625 },\n { x: 0.390625, y: 0.640625 },\n { x: 0.390625, y: 0.640625 },\n { x: 0.421875, y: 0.640625 },\n { x: 0.421875, y: 0.640625 },\n { x: 0.453125, y: 0.640625 },\n { x: 0.453125, y: 0.640625 },\n { x: 0.484375, y: 0.640625 },\n { x: 0.484375, y: 0.640625 },\n { x: 0.515625, y: 0.640625 },\n { x: 0.515625, y: 0.640625 },\n { x: 0.546875, y: 0.640625 },\n { x: 0.546875, y: 0.640625 },\n { x: 0.578125, y: 0.640625 },\n { x: 0.578125, y: 0.640625 },\n { x: 0.609375, y: 0.640625 },\n { x: 0.609375, y: 0.640625 },\n { x: 0.640625, y: 0.640625 },\n { x: 0.640625, y: 0.640625 },\n { x: 0.671875, y: 0.640625 },\n { x: 0.671875, y: 0.640625 },\n { x: 0.703125, y: 0.640625 },\n { x: 0.703125, y: 0.640625 },\n { x: 0.734375, y: 0.640625 },\n { x: 0.734375, y: 0.640625 },\n { x: 0.765625, y: 0.640625 },\n { x: 0.765625, y: 0.640625 },\n { x: 0.796875, y: 0.640625 },\n { x: 0.796875, y: 0.640625 },\n { x: 0.828125, y: 0.640625 },\n { x: 0.828125, y: 0.640625 },\n { x: 0.859375, y: 0.640625 },\n { x: 0.859375, y: 0.640625 },\n { x: 0.890625, y: 0.640625 },\n { x: 0.890625, y: 0.640625 },\n { x: 0.921875, y: 0.640625 },\n { x: 0.921875, y: 0.640625 },\n { x: 0.953125, y: 0.640625 },\n { x: 0.953125, y: 0.640625 },\n { x: 0.984375, y: 0.640625 },\n { x: 0.984375, y: 0.640625 },\n { x: 0.015625, y: 0.671875 },\n { x: 0.015625, y: 0.671875 },\n { x: 0.046875, y: 0.671875 },\n { x: 0.046875, y: 0.671875 },\n { x: 0.078125, y: 0.671875 },\n { x: 0.078125, y: 0.671875 },\n { x: 0.109375, y: 0.671875 },\n { x: 0.109375, y: 0.671875 },\n { x: 0.140625, y: 0.671875 },\n { x: 0.140625, y: 0.671875 },\n { x: 0.171875, y: 0.671875 },\n { x: 0.171875, y: 0.671875 },\n { x: 0.203125, y: 0.671875 },\n { x: 0.203125, y: 0.671875 },\n { x: 0.234375, y: 0.671875 },\n { x: 0.234375, y: 0.671875 },\n { x: 0.265625, y: 0.671875 },\n { x: 0.265625, y: 0.671875 },\n { x: 0.296875, y: 0.671875 },\n { x: 0.296875, y: 0.671875 },\n { x: 0.328125, y: 0.671875 },\n { x: 0.328125, y: 0.671875 },\n { x: 0.359375, y: 0.671875 },\n { x: 0.359375, y: 0.671875 },\n { x: 0.390625, y: 0.671875 },\n { x: 0.390625, y: 0.671875 },\n { x: 0.421875, y: 0.671875 },\n { x: 0.421875, y: 0.671875 },\n { x: 0.453125, y: 0.671875 },\n { x: 0.453125, y: 0.671875 },\n { x: 0.484375, y: 0.671875 },\n { x: 0.484375, y: 0.671875 },\n { x: 0.515625, y: 0.671875 },\n { x: 0.515625, y: 0.671875 },\n { x: 0.546875, y: 0.671875 },\n { x: 0.546875, y: 0.671875 },\n { x: 0.578125, y: 0.671875 },\n { x: 0.578125, y: 0.671875 },\n { x: 0.609375, y: 0.671875 },\n { x: 0.609375, y: 0.671875 },\n { x: 0.640625, y: 0.671875 },\n { x: 0.640625, y: 0.671875 },\n { x: 0.671875, y: 0.671875 },\n { x: 0.671875, y: 0.671875 },\n { x: 0.703125, y: 0.671875 },\n { x: 0.703125, y: 0.671875 },\n { x: 0.734375, y: 0.671875 },\n { x: 0.734375, y: 0.671875 },\n { x: 0.765625, y: 0.671875 },\n { x: 0.765625, y: 0.671875 },\n { x: 0.796875, y: 0.671875 },\n { x: 0.796875, y: 0.671875 },\n { x: 0.828125, y: 0.671875 },\n { x: 0.828125, y: 0.671875 },\n { x: 0.859375, y: 0.671875 },\n { x: 0.859375, y: 0.671875 },\n { x: 0.890625, y: 0.671875 },\n { x: 0.890625, y: 0.671875 },\n { x: 0.921875, y: 0.671875 },\n { x: 0.921875, y: 0.671875 },\n { x: 0.953125, y: 0.671875 },\n { x: 0.953125, y: 0.671875 },\n { x: 0.984375, y: 0.671875 },\n { x: 0.984375, y: 0.671875 },\n { x: 0.015625, y: 0.703125 },\n { x: 0.015625, y: 0.703125 },\n { x: 0.046875, y: 0.703125 },\n { x: 0.046875, y: 0.703125 },\n { x: 0.078125, y: 0.703125 },\n { x: 0.078125, y: 0.703125 },\n { x: 0.109375, y: 0.703125 },\n { x: 0.109375, y: 0.703125 },\n { x: 0.140625, y: 0.703125 },\n { x: 0.140625, y: 0.703125 },\n { x: 0.171875, y: 0.703125 },\n { x: 0.171875, y: 0.703125 },\n { x: 0.203125, y: 0.703125 },\n { x: 0.203125, y: 0.703125 },\n { x: 0.234375, y: 0.703125 },\n { x: 0.234375, y: 0.703125 },\n { x: 0.265625, y: 0.703125 },\n { x: 0.265625, y: 0.703125 },\n { x: 0.296875, y: 0.703125 },\n { x: 0.296875, y: 0.703125 },\n { x: 0.328125, y: 0.703125 },\n { x: 0.328125, y: 0.703125 },\n { x: 0.359375, y: 0.703125 },\n { x: 0.359375, y: 0.703125 },\n { x: 0.390625, y: 0.703125 },\n { x: 0.390625, y: 0.703125 },\n { x: 0.421875, y: 0.703125 },\n { x: 0.421875, y: 0.703125 },\n { x: 0.453125, y: 0.703125 },\n { x: 0.453125, y: 0.703125 },\n { x: 0.484375, y: 0.703125 },\n { x: 0.484375, y: 0.703125 },\n { x: 0.515625, y: 0.703125 },\n { x: 0.515625, y: 0.703125 },\n { x: 0.546875, y: 0.703125 },\n { x: 0.546875, y: 0.703125 },\n { x: 0.578125, y: 0.703125 },\n { x: 0.578125, y: 0.703125 },\n { x: 0.609375, y: 0.703125 },\n { x: 0.609375, y: 0.703125 },\n { x: 0.640625, y: 0.703125 },\n { x: 0.640625, y: 0.703125 },\n { x: 0.671875, y: 0.703125 },\n { x: 0.671875, y: 0.703125 },\n { x: 0.703125, y: 0.703125 },\n { x: 0.703125, y: 0.703125 },\n { x: 0.734375, y: 0.703125 },\n { x: 0.734375, y: 0.703125 },\n { x: 0.765625, y: 0.703125 },\n { x: 0.765625, y: 0.703125 },\n { x: 0.796875, y: 0.703125 },\n { x: 0.796875, y: 0.703125 },\n { x: 0.828125, y: 0.703125 },\n { x: 0.828125, y: 0.703125 },\n { x: 0.859375, y: 0.703125 },\n { x: 0.859375, y: 0.703125 },\n { x: 0.890625, y: 0.703125 },\n { x: 0.890625, y: 0.703125 },\n { x: 0.921875, y: 0.703125 },\n { x: 0.921875, y: 0.703125 },\n { x: 0.953125, y: 0.703125 },\n { x: 0.953125, y: 0.703125 },\n { x: 0.984375, y: 0.703125 },\n { x: 0.984375, y: 0.703125 },\n { x: 0.015625, y: 0.734375 },\n { x: 0.015625, y: 0.734375 },\n { x: 0.046875, y: 0.734375 },\n { x: 0.046875, y: 0.734375 },\n { x: 0.078125, y: 0.734375 },\n { x: 0.078125, y: 0.734375 },\n { x: 0.109375, y: 0.734375 },\n { x: 0.109375, y: 0.734375 },\n { x: 0.140625, y: 0.734375 },\n { x: 0.140625, y: 0.734375 },\n { x: 0.171875, y: 0.734375 },\n { x: 0.171875, y: 0.734375 },\n { x: 0.203125, y: 0.734375 },\n { x: 0.203125, y: 0.734375 },\n { x: 0.234375, y: 0.734375 },\n { x: 0.234375, y: 0.734375 },\n { x: 0.265625, y: 0.734375 },\n { x: 0.265625, y: 0.734375 },\n { x: 0.296875, y: 0.734375 },\n { x: 0.296875, y: 0.734375 },\n { x: 0.328125, y: 0.734375 },\n { x: 0.328125, y: 0.734375 },\n { x: 0.359375, y: 0.734375 },\n { x: 0.359375, y: 0.734375 },\n { x: 0.390625, y: 0.734375 },\n { x: 0.390625, y: 0.734375 },\n { x: 0.421875, y: 0.734375 },\n { x: 0.421875, y: 0.734375 },\n { x: 0.453125, y: 0.734375 },\n { x: 0.453125, y: 0.734375 },\n { x: 0.484375, y: 0.734375 },\n { x: 0.484375, y: 0.734375 },\n { x: 0.515625, y: 0.734375 },\n { x: 0.515625, y: 0.734375 },\n { x: 0.546875, y: 0.734375 },\n { x: 0.546875, y: 0.734375 },\n { x: 0.578125, y: 0.734375 },\n { x: 0.578125, y: 0.734375 },\n { x: 0.609375, y: 0.734375 },\n { x: 0.609375, y: 0.734375 },\n { x: 0.640625, y: 0.734375 },\n { x: 0.640625, y: 0.734375 },\n { x: 0.671875, y: 0.734375 },\n { x: 0.671875, y: 0.734375 },\n { x: 0.703125, y: 0.734375 },\n { x: 0.703125, y: 0.734375 },\n { x: 0.734375, y: 0.734375 },\n { x: 0.734375, y: 0.734375 },\n { x: 0.765625, y: 0.734375 },\n { x: 0.765625, y: 0.734375 },\n { x: 0.796875, y: 0.734375 },\n { x: 0.796875, y: 0.734375 },\n { x: 0.828125, y: 0.734375 },\n { x: 0.828125, y: 0.734375 },\n { x: 0.859375, y: 0.734375 },\n { x: 0.859375, y: 0.734375 },\n { x: 0.890625, y: 0.734375 },\n { x: 0.890625, y: 0.734375 },\n { x: 0.921875, y: 0.734375 },\n { x: 0.921875, y: 0.734375 },\n { x: 0.953125, y: 0.734375 },\n { x: 0.953125, y: 0.734375 },\n { x: 0.984375, y: 0.734375 },\n { x: 0.984375, y: 0.734375 },\n { x: 0.015625, y: 0.765625 },\n { x: 0.015625, y: 0.765625 },\n { x: 0.046875, y: 0.765625 },\n { x: 0.046875, y: 0.765625 },\n { x: 0.078125, y: 0.765625 },\n { x: 0.078125, y: 0.765625 },\n { x: 0.109375, y: 0.765625 },\n { x: 0.109375, y: 0.765625 },\n { x: 0.140625, y: 0.765625 },\n { x: 0.140625, y: 0.765625 },\n { x: 0.171875, y: 0.765625 },\n { x: 0.171875, y: 0.765625 },\n { x: 0.203125, y: 0.765625 },\n { x: 0.203125, y: 0.765625 },\n { x: 0.234375, y: 0.765625 },\n { x: 0.234375, y: 0.765625 },\n { x: 0.265625, y: 0.765625 },\n { x: 0.265625, y: 0.765625 },\n { x: 0.296875, y: 0.765625 },\n { x: 0.296875, y: 0.765625 },\n { x: 0.328125, y: 0.765625 },\n { x: 0.328125, y: 0.765625 },\n { x: 0.359375, y: 0.765625 },\n { x: 0.359375, y: 0.765625 },\n { x: 0.390625, y: 0.765625 },\n { x: 0.390625, y: 0.765625 },\n { x: 0.421875, y: 0.765625 },\n { x: 0.421875, y: 0.765625 },\n { x: 0.453125, y: 0.765625 },\n { x: 0.453125, y: 0.765625 },\n { x: 0.484375, y: 0.765625 },\n { x: 0.484375, y: 0.765625 },\n { x: 0.515625, y: 0.765625 },\n { x: 0.515625, y: 0.765625 },\n { x: 0.546875, y: 0.765625 },\n { x: 0.546875, y: 0.765625 },\n { x: 0.578125, y: 0.765625 },\n { x: 0.578125, y: 0.765625 },\n { x: 0.609375, y: 0.765625 },\n { x: 0.609375, y: 0.765625 },\n { x: 0.640625, y: 0.765625 },\n { x: 0.640625, y: 0.765625 },\n { x: 0.671875, y: 0.765625 },\n { x: 0.671875, y: 0.765625 },\n { x: 0.703125, y: 0.765625 },\n { x: 0.703125, y: 0.765625 },\n { x: 0.734375, y: 0.765625 },\n { x: 0.734375, y: 0.765625 },\n { x: 0.765625, y: 0.765625 },\n { x: 0.765625, y: 0.765625 },\n { x: 0.796875, y: 0.765625 },\n { x: 0.796875, y: 0.765625 },\n { x: 0.828125, y: 0.765625 },\n { x: 0.828125, y: 0.765625 },\n { x: 0.859375, y: 0.765625 },\n { x: 0.859375, y: 0.765625 },\n { x: 0.890625, y: 0.765625 },\n { x: 0.890625, y: 0.765625 },\n { x: 0.921875, y: 0.765625 },\n { x: 0.921875, y: 0.765625 },\n { x: 0.953125, y: 0.765625 },\n { x: 0.953125, y: 0.765625 },\n { x: 0.984375, y: 0.765625 },\n { x: 0.984375, y: 0.765625 },\n { x: 0.015625, y: 0.796875 },\n { x: 0.015625, y: 0.796875 },\n { x: 0.046875, y: 0.796875 },\n { x: 0.046875, y: 0.796875 },\n { x: 0.078125, y: 0.796875 },\n { x: 0.078125, y: 0.796875 },\n { x: 0.109375, y: 0.796875 },\n { x: 0.109375, y: 0.796875 },\n { x: 0.140625, y: 0.796875 },\n { x: 0.140625, y: 0.796875 },\n { x: 0.171875, y: 0.796875 },\n { x: 0.171875, y: 0.796875 },\n { x: 0.203125, y: 0.796875 },\n { x: 0.203125, y: 0.796875 },\n { x: 0.234375, y: 0.796875 },\n { x: 0.234375, y: 0.796875 },\n { x: 0.265625, y: 0.796875 },\n { x: 0.265625, y: 0.796875 },\n { x: 0.296875, y: 0.796875 },\n { x: 0.296875, y: 0.796875 },\n { x: 0.328125, y: 0.796875 },\n { x: 0.328125, y: 0.796875 },\n { x: 0.359375, y: 0.796875 },\n { x: 0.359375, y: 0.796875 },\n { x: 0.390625, y: 0.796875 },\n { x: 0.390625, y: 0.796875 },\n { x: 0.421875, y: 0.796875 },\n { x: 0.421875, y: 0.796875 },\n { x: 0.453125, y: 0.796875 },\n { x: 0.453125, y: 0.796875 },\n { x: 0.484375, y: 0.796875 },\n { x: 0.484375, y: 0.796875 },\n { x: 0.515625, y: 0.796875 },\n { x: 0.515625, y: 0.796875 },\n { x: 0.546875, y: 0.796875 },\n { x: 0.546875, y: 0.796875 },\n { x: 0.578125, y: 0.796875 },\n { x: 0.578125, y: 0.796875 },\n { x: 0.609375, y: 0.796875 },\n { x: 0.609375, y: 0.796875 },\n { x: 0.640625, y: 0.796875 },\n { x: 0.640625, y: 0.796875 },\n { x: 0.671875, y: 0.796875 },\n { x: 0.671875, y: 0.796875 },\n { x: 0.703125, y: 0.796875 },\n { x: 0.703125, y: 0.796875 },\n { x: 0.734375, y: 0.796875 },\n { x: 0.734375, y: 0.796875 },\n { x: 0.765625, y: 0.796875 },\n { x: 0.765625, y: 0.796875 },\n { x: 0.796875, y: 0.796875 },\n { x: 0.796875, y: 0.796875 },\n { x: 0.828125, y: 0.796875 },\n { x: 0.828125, y: 0.796875 },\n { x: 0.859375, y: 0.796875 },\n { x: 0.859375, y: 0.796875 },\n { x: 0.890625, y: 0.796875 },\n { x: 0.890625, y: 0.796875 },\n { x: 0.921875, y: 0.796875 },\n { x: 0.921875, y: 0.796875 },\n { x: 0.953125, y: 0.796875 },\n { x: 0.953125, y: 0.796875 },\n { x: 0.984375, y: 0.796875 },\n { x: 0.984375, y: 0.796875 },\n { x: 0.015625, y: 0.828125 },\n { x: 0.015625, y: 0.828125 },\n { x: 0.046875, y: 0.828125 },\n { x: 0.046875, y: 0.828125 },\n { x: 0.078125, y: 0.828125 },\n { x: 0.078125, y: 0.828125 },\n { x: 0.109375, y: 0.828125 },\n { x: 0.109375, y: 0.828125 },\n { x: 0.140625, y: 0.828125 },\n { x: 0.140625, y: 0.828125 },\n { x: 0.171875, y: 0.828125 },\n { x: 0.171875, y: 0.828125 },\n { x: 0.203125, y: 0.828125 },\n { x: 0.203125, y: 0.828125 },\n { x: 0.234375, y: 0.828125 },\n { x: 0.234375, y: 0.828125 },\n { x: 0.265625, y: 0.828125 },\n { x: 0.265625, y: 0.828125 },\n { x: 0.296875, y: 0.828125 },\n { x: 0.296875, y: 0.828125 },\n { x: 0.328125, y: 0.828125 },\n { x: 0.328125, y: 0.828125 },\n { x: 0.359375, y: 0.828125 },\n { x: 0.359375, y: 0.828125 },\n { x: 0.390625, y: 0.828125 },\n { x: 0.390625, y: 0.828125 },\n { x: 0.421875, y: 0.828125 },\n { x: 0.421875, y: 0.828125 },\n { x: 0.453125, y: 0.828125 },\n { x: 0.453125, y: 0.828125 },\n { x: 0.484375, y: 0.828125 },\n { x: 0.484375, y: 0.828125 },\n { x: 0.515625, y: 0.828125 },\n { x: 0.515625, y: 0.828125 },\n { x: 0.546875, y: 0.828125 },\n { x: 0.546875, y: 0.828125 },\n { x: 0.578125, y: 0.828125 },\n { x: 0.578125, y: 0.828125 },\n { x: 0.609375, y: 0.828125 },\n { x: 0.609375, y: 0.828125 },\n { x: 0.640625, y: 0.828125 },\n { x: 0.640625, y: 0.828125 },\n { x: 0.671875, y: 0.828125 },\n { x: 0.671875, y: 0.828125 },\n { x: 0.703125, y: 0.828125 },\n { x: 0.703125, y: 0.828125 },\n { x: 0.734375, y: 0.828125 },\n { x: 0.734375, y: 0.828125 },\n { x: 0.765625, y: 0.828125 },\n { x: 0.765625, y: 0.828125 },\n { x: 0.796875, y: 0.828125 },\n { x: 0.796875, y: 0.828125 },\n { x: 0.828125, y: 0.828125 },\n { x: 0.828125, y: 0.828125 },\n { x: 0.859375, y: 0.828125 },\n { x: 0.859375, y: 0.828125 },\n { x: 0.890625, y: 0.828125 },\n { x: 0.890625, y: 0.828125 },\n { x: 0.921875, y: 0.828125 },\n { x: 0.921875, y: 0.828125 },\n { x: 0.953125, y: 0.828125 },\n { x: 0.953125, y: 0.828125 },\n { x: 0.984375, y: 0.828125 },\n { x: 0.984375, y: 0.828125 },\n { x: 0.015625, y: 0.859375 },\n { x: 0.015625, y: 0.859375 },\n { x: 0.046875, y: 0.859375 },\n { x: 0.046875, y: 0.859375 },\n { x: 0.078125, y: 0.859375 },\n { x: 0.078125, y: 0.859375 },\n { x: 0.109375, y: 0.859375 },\n { x: 0.109375, y: 0.859375 },\n { x: 0.140625, y: 0.859375 },\n { x: 0.140625, y: 0.859375 },\n { x: 0.171875, y: 0.859375 },\n { x: 0.171875, y: 0.859375 },\n { x: 0.203125, y: 0.859375 },\n { x: 0.203125, y: 0.859375 },\n { x: 0.234375, y: 0.859375 },\n { x: 0.234375, y: 0.859375 },\n { x: 0.265625, y: 0.859375 },\n { x: 0.265625, y: 0.859375 },\n { x: 0.296875, y: 0.859375 },\n { x: 0.296875, y: 0.859375 },\n { x: 0.328125, y: 0.859375 },\n { x: 0.328125, y: 0.859375 },\n { x: 0.359375, y: 0.859375 },\n { x: 0.359375, y: 0.859375 },\n { x: 0.390625, y: 0.859375 },\n { x: 0.390625, y: 0.859375 },\n { x: 0.421875, y: 0.859375 },\n { x: 0.421875, y: 0.859375 },\n { x: 0.453125, y: 0.859375 },\n { x: 0.453125, y: 0.859375 },\n { x: 0.484375, y: 0.859375 },\n { x: 0.484375, y: 0.859375 },\n { x: 0.515625, y: 0.859375 },\n { x: 0.515625, y: 0.859375 },\n { x: 0.546875, y: 0.859375 },\n { x: 0.546875, y: 0.859375 },\n { x: 0.578125, y: 0.859375 },\n { x: 0.578125, y: 0.859375 },\n { x: 0.609375, y: 0.859375 },\n { x: 0.609375, y: 0.859375 },\n { x: 0.640625, y: 0.859375 },\n { x: 0.640625, y: 0.859375 },\n { x: 0.671875, y: 0.859375 },\n { x: 0.671875, y: 0.859375 },\n { x: 0.703125, y: 0.859375 },\n { x: 0.703125, y: 0.859375 },\n { x: 0.734375, y: 0.859375 },\n { x: 0.734375, y: 0.859375 },\n { x: 0.765625, y: 0.859375 },\n { x: 0.765625, y: 0.859375 },\n { x: 0.796875, y: 0.859375 },\n { x: 0.796875, y: 0.859375 },\n { x: 0.828125, y: 0.859375 },\n { x: 0.828125, y: 0.859375 },\n { x: 0.859375, y: 0.859375 },\n { x: 0.859375, y: 0.859375 },\n { x: 0.890625, y: 0.859375 },\n { x: 0.890625, y: 0.859375 },\n { x: 0.921875, y: 0.859375 },\n { x: 0.921875, y: 0.859375 },\n { x: 0.953125, y: 0.859375 },\n { x: 0.953125, y: 0.859375 },\n { x: 0.984375, y: 0.859375 },\n { x: 0.984375, y: 0.859375 },\n { x: 0.015625, y: 0.890625 },\n { x: 0.015625, y: 0.890625 },\n { x: 0.046875, y: 0.890625 },\n { x: 0.046875, y: 0.890625 },\n { x: 0.078125, y: 0.890625 },\n { x: 0.078125, y: 0.890625 },\n { x: 0.109375, y: 0.890625 },\n { x: 0.109375, y: 0.890625 },\n { x: 0.140625, y: 0.890625 },\n { x: 0.140625, y: 0.890625 },\n { x: 0.171875, y: 0.890625 },\n { x: 0.171875, y: 0.890625 },\n { x: 0.203125, y: 0.890625 },\n { x: 0.203125, y: 0.890625 },\n { x: 0.234375, y: 0.890625 },\n { x: 0.234375, y: 0.890625 },\n { x: 0.265625, y: 0.890625 },\n { x: 0.265625, y: 0.890625 },\n { x: 0.296875, y: 0.890625 },\n { x: 0.296875, y: 0.890625 },\n { x: 0.328125, y: 0.890625 },\n { x: 0.328125, y: 0.890625 },\n { x: 0.359375, y: 0.890625 },\n { x: 0.359375, y: 0.890625 },\n { x: 0.390625, y: 0.890625 },\n { x: 0.390625, y: 0.890625 },\n { x: 0.421875, y: 0.890625 },\n { x: 0.421875, y: 0.890625 },\n { x: 0.453125, y: 0.890625 },\n { x: 0.453125, y: 0.890625 },\n { x: 0.484375, y: 0.890625 },\n { x: 0.484375, y: 0.890625 },\n { x: 0.515625, y: 0.890625 },\n { x: 0.515625, y: 0.890625 },\n { x: 0.546875, y: 0.890625 },\n { x: 0.546875, y: 0.890625 },\n { x: 0.578125, y: 0.890625 },\n { x: 0.578125, y: 0.890625 },\n { x: 0.609375, y: 0.890625 },\n { x: 0.609375, y: 0.890625 },\n { x: 0.640625, y: 0.890625 },\n { x: 0.640625, y: 0.890625 },\n { x: 0.671875, y: 0.890625 },\n { x: 0.671875, y: 0.890625 },\n { x: 0.703125, y: 0.890625 },\n { x: 0.703125, y: 0.890625 },\n { x: 0.734375, y: 0.890625 },\n { x: 0.734375, y: 0.890625 },\n { x: 0.765625, y: 0.890625 },\n { x: 0.765625, y: 0.890625 },\n { x: 0.796875, y: 0.890625 },\n { x: 0.796875, y: 0.890625 },\n { x: 0.828125, y: 0.890625 },\n { x: 0.828125, y: 0.890625 },\n { x: 0.859375, y: 0.890625 },\n { x: 0.859375, y: 0.890625 },\n { x: 0.890625, y: 0.890625 },\n { x: 0.890625, y: 0.890625 },\n { x: 0.921875, y: 0.890625 },\n { x: 0.921875, y: 0.890625 },\n { x: 0.953125, y: 0.890625 },\n { x: 0.953125, y: 0.890625 },\n { x: 0.984375, y: 0.890625 },\n { x: 0.984375, y: 0.890625 },\n { x: 0.015625, y: 0.921875 },\n { x: 0.015625, y: 0.921875 },\n { x: 0.046875, y: 0.921875 },\n { x: 0.046875, y: 0.921875 },\n { x: 0.078125, y: 0.921875 },\n { x: 0.078125, y: 0.921875 },\n { x: 0.109375, y: 0.921875 },\n { x: 0.109375, y: 0.921875 },\n { x: 0.140625, y: 0.921875 },\n { x: 0.140625, y: 0.921875 },\n { x: 0.171875, y: 0.921875 },\n { x: 0.171875, y: 0.921875 },\n { x: 0.203125, y: 0.921875 },\n { x: 0.203125, y: 0.921875 },\n { x: 0.234375, y: 0.921875 },\n { x: 0.234375, y: 0.921875 },\n { x: 0.265625, y: 0.921875 },\n { x: 0.265625, y: 0.921875 },\n { x: 0.296875, y: 0.921875 },\n { x: 0.296875, y: 0.921875 },\n { x: 0.328125, y: 0.921875 },\n { x: 0.328125, y: 0.921875 },\n { x: 0.359375, y: 0.921875 },\n { x: 0.359375, y: 0.921875 },\n { x: 0.390625, y: 0.921875 },\n { x: 0.390625, y: 0.921875 },\n { x: 0.421875, y: 0.921875 },\n { x: 0.421875, y: 0.921875 },\n { x: 0.453125, y: 0.921875 },\n { x: 0.453125, y: 0.921875 },\n { x: 0.484375, y: 0.921875 },\n { x: 0.484375, y: 0.921875 },\n { x: 0.515625, y: 0.921875 },\n { x: 0.515625, y: 0.921875 },\n { x: 0.546875, y: 0.921875 },\n { x: 0.546875, y: 0.921875 },\n { x: 0.578125, y: 0.921875 },\n { x: 0.578125, y: 0.921875 },\n { x: 0.609375, y: 0.921875 },\n { x: 0.609375, y: 0.921875 },\n { x: 0.640625, y: 0.921875 },\n { x: 0.640625, y: 0.921875 },\n { x: 0.671875, y: 0.921875 },\n { x: 0.671875, y: 0.921875 },\n { x: 0.703125, y: 0.921875 },\n { x: 0.703125, y: 0.921875 },\n { x: 0.734375, y: 0.921875 },\n { x: 0.734375, y: 0.921875 },\n { x: 0.765625, y: 0.921875 },\n { x: 0.765625, y: 0.921875 },\n { x: 0.796875, y: 0.921875 },\n { x: 0.796875, y: 0.921875 },\n { x: 0.828125, y: 0.921875 },\n { x: 0.828125, y: 0.921875 },\n { x: 0.859375, y: 0.921875 },\n { x: 0.859375, y: 0.921875 },\n { x: 0.890625, y: 0.921875 },\n { x: 0.890625, y: 0.921875 },\n { x: 0.921875, y: 0.921875 },\n { x: 0.921875, y: 0.921875 },\n { x: 0.953125, y: 0.921875 },\n { x: 0.953125, y: 0.921875 },\n { x: 0.984375, y: 0.921875 },\n { x: 0.984375, y: 0.921875 },\n { x: 0.015625, y: 0.953125 },\n { x: 0.015625, y: 0.953125 },\n { x: 0.046875, y: 0.953125 },\n { x: 0.046875, y: 0.953125 },\n { x: 0.078125, y: 0.953125 },\n { x: 0.078125, y: 0.953125 },\n { x: 0.109375, y: 0.953125 },\n { x: 0.109375, y: 0.953125 },\n { x: 0.140625, y: 0.953125 },\n { x: 0.140625, y: 0.953125 },\n { x: 0.171875, y: 0.953125 },\n { x: 0.171875, y: 0.953125 },\n { x: 0.203125, y: 0.953125 },\n { x: 0.203125, y: 0.953125 },\n { x: 0.234375, y: 0.953125 },\n { x: 0.234375, y: 0.953125 },\n { x: 0.265625, y: 0.953125 },\n { x: 0.265625, y: 0.953125 },\n { x: 0.296875, y: 0.953125 },\n { x: 0.296875, y: 0.953125 },\n { x: 0.328125, y: 0.953125 },\n { x: 0.328125, y: 0.953125 },\n { x: 0.359375, y: 0.953125 },\n { x: 0.359375, y: 0.953125 },\n { x: 0.390625, y: 0.953125 },\n { x: 0.390625, y: 0.953125 },\n { x: 0.421875, y: 0.953125 },\n { x: 0.421875, y: 0.953125 },\n { x: 0.453125, y: 0.953125 },\n { x: 0.453125, y: 0.953125 },\n { x: 0.484375, y: 0.953125 },\n { x: 0.484375, y: 0.953125 },\n { x: 0.515625, y: 0.953125 },\n { x: 0.515625, y: 0.953125 },\n { x: 0.546875, y: 0.953125 },\n { x: 0.546875, y: 0.953125 },\n { x: 0.578125, y: 0.953125 },\n { x: 0.578125, y: 0.953125 },\n { x: 0.609375, y: 0.953125 },\n { x: 0.609375, y: 0.953125 },\n { x: 0.640625, y: 0.953125 },\n { x: 0.640625, y: 0.953125 },\n { x: 0.671875, y: 0.953125 },\n { x: 0.671875, y: 0.953125 },\n { x: 0.703125, y: 0.953125 },\n { x: 0.703125, y: 0.953125 },\n { x: 0.734375, y: 0.953125 },\n { x: 0.734375, y: 0.953125 },\n { x: 0.765625, y: 0.953125 },\n { x: 0.765625, y: 0.953125 },\n { x: 0.796875, y: 0.953125 },\n { x: 0.796875, y: 0.953125 },\n { x: 0.828125, y: 0.953125 },\n { x: 0.828125, y: 0.953125 },\n { x: 0.859375, y: 0.953125 },\n { x: 0.859375, y: 0.953125 },\n { x: 0.890625, y: 0.953125 },\n { x: 0.890625, y: 0.953125 },\n { x: 0.921875, y: 0.953125 },\n { x: 0.921875, y: 0.953125 },\n { x: 0.953125, y: 0.953125 },\n { x: 0.953125, y: 0.953125 },\n { x: 0.984375, y: 0.953125 },\n { x: 0.984375, y: 0.953125 },\n { x: 0.015625, y: 0.984375 },\n { x: 0.015625, y: 0.984375 },\n { x: 0.046875, y: 0.984375 },\n { x: 0.046875, y: 0.984375 },\n { x: 0.078125, y: 0.984375 },\n { x: 0.078125, y: 0.984375 },\n { x: 0.109375, y: 0.984375 },\n { x: 0.109375, y: 0.984375 },\n { x: 0.140625, y: 0.984375 },\n { x: 0.140625, y: 0.984375 },\n { x: 0.171875, y: 0.984375 },\n { x: 0.171875, y: 0.984375 },\n { x: 0.203125, y: 0.984375 },\n { x: 0.203125, y: 0.984375 },\n { x: 0.234375, y: 0.984375 },\n { x: 0.234375, y: 0.984375 },\n { x: 0.265625, y: 0.984375 },\n { x: 0.265625, y: 0.984375 },\n { x: 0.296875, y: 0.984375 },\n { x: 0.296875, y: 0.984375 },\n { x: 0.328125, y: 0.984375 },\n { x: 0.328125, y: 0.984375 },\n { x: 0.359375, y: 0.984375 },\n { x: 0.359375, y: 0.984375 },\n { x: 0.390625, y: 0.984375 },\n { x: 0.390625, y: 0.984375 },\n { x: 0.421875, y: 0.984375 },\n { x: 0.421875, y: 0.984375 },\n { x: 0.453125, y: 0.984375 },\n { x: 0.453125, y: 0.984375 },\n { x: 0.484375, y: 0.984375 },\n { x: 0.484375, y: 0.984375 },\n { x: 0.515625, y: 0.984375 },\n { x: 0.515625, y: 0.984375 },\n { x: 0.546875, y: 0.984375 },\n { x: 0.546875, y: 0.984375 },\n { x: 0.578125, y: 0.984375 },\n { x: 0.578125, y: 0.984375 },\n { x: 0.609375, y: 0.984375 },\n { x: 0.609375, y: 0.984375 },\n { x: 0.640625, y: 0.984375 },\n { x: 0.640625, y: 0.984375 },\n { x: 0.671875, y: 0.984375 },\n { x: 0.671875, y: 0.984375 },\n { x: 0.703125, y: 0.984375 },\n { x: 0.703125, y: 0.984375 },\n { x: 0.734375, y: 0.984375 },\n { x: 0.734375, y: 0.984375 },\n { x: 0.765625, y: 0.984375 },\n { x: 0.765625, y: 0.984375 },\n { x: 0.796875, y: 0.984375 },\n { x: 0.796875, y: 0.984375 },\n { x: 0.828125, y: 0.984375 },\n { x: 0.828125, y: 0.984375 },\n { x: 0.859375, y: 0.984375 },\n { x: 0.859375, y: 0.984375 },\n { x: 0.890625, y: 0.984375 },\n { x: 0.890625, y: 0.984375 },\n { x: 0.921875, y: 0.984375 },\n { x: 0.921875, y: 0.984375 },\n { x: 0.953125, y: 0.984375 },\n { x: 0.953125, y: 0.984375 },\n { x: 0.984375, y: 0.984375 },\n { x: 0.984375, y: 0.984375 },\n { x: 0.03125, y: 0.03125 },\n { x: 0.03125, y: 0.03125 },\n { x: 0.09375, y: 0.03125 },\n { x: 0.09375, y: 0.03125 },\n { x: 0.15625, y: 0.03125 },\n { x: 0.15625, y: 0.03125 },\n { x: 0.21875, y: 0.03125 },\n { x: 0.21875, y: 0.03125 },\n { x: 0.28125, y: 0.03125 },\n { x: 0.28125, y: 0.03125 },\n { x: 0.34375, y: 0.03125 },\n { x: 0.34375, y: 0.03125 },\n { x: 0.40625, y: 0.03125 },\n { x: 0.40625, y: 0.03125 },\n { x: 0.46875, y: 0.03125 },\n { x: 0.46875, y: 0.03125 },\n { x: 0.53125, y: 0.03125 },\n { x: 0.53125, y: 0.03125 },\n { x: 0.59375, y: 0.03125 },\n { x: 0.59375, y: 0.03125 },\n { x: 0.65625, y: 0.03125 },\n { x: 0.65625, y: 0.03125 },\n { x: 0.71875, y: 0.03125 },\n { x: 0.71875, y: 0.03125 },\n { x: 0.78125, y: 0.03125 },\n { x: 0.78125, y: 0.03125 },\n { x: 0.84375, y: 0.03125 },\n { x: 0.84375, y: 0.03125 },\n { x: 0.90625, y: 0.03125 },\n { x: 0.90625, y: 0.03125 },\n { x: 0.96875, y: 0.03125 },\n { x: 0.96875, y: 0.03125 },\n { x: 0.03125, y: 0.09375 },\n { x: 0.03125, y: 0.09375 },\n { x: 0.09375, y: 0.09375 },\n { x: 0.09375, y: 0.09375 },\n { x: 0.15625, y: 0.09375 },\n { x: 0.15625, y: 0.09375 },\n { x: 0.21875, y: 0.09375 },\n { x: 0.21875, y: 0.09375 },\n { x: 0.28125, y: 0.09375 },\n { x: 0.28125, y: 0.09375 },\n { x: 0.34375, y: 0.09375 },\n { x: 0.34375, y: 0.09375 },\n { x: 0.40625, y: 0.09375 },\n { x: 0.40625, y: 0.09375 },\n { x: 0.46875, y: 0.09375 },\n { x: 0.46875, y: 0.09375 },\n { x: 0.53125, y: 0.09375 },\n { x: 0.53125, y: 0.09375 },\n { x: 0.59375, y: 0.09375 },\n { x: 0.59375, y: 0.09375 },\n { x: 0.65625, y: 0.09375 },\n { x: 0.65625, y: 0.09375 },\n { x: 0.71875, y: 0.09375 },\n { x: 0.71875, y: 0.09375 },\n { x: 0.78125, y: 0.09375 },\n { x: 0.78125, y: 0.09375 },\n { x: 0.84375, y: 0.09375 },\n { x: 0.84375, y: 0.09375 },\n { x: 0.90625, y: 0.09375 },\n { x: 0.90625, y: 0.09375 },\n { x: 0.96875, y: 0.09375 },\n { x: 0.96875, y: 0.09375 },\n { x: 0.03125, y: 0.15625 },\n { x: 0.03125, y: 0.15625 },\n { x: 0.09375, y: 0.15625 },\n { x: 0.09375, y: 0.15625 },\n { x: 0.15625, y: 0.15625 },\n { x: 0.15625, y: 0.15625 },\n { x: 0.21875, y: 0.15625 },\n { x: 0.21875, y: 0.15625 },\n { x: 0.28125, y: 0.15625 },\n { x: 0.28125, y: 0.15625 },\n { x: 0.34375, y: 0.15625 },\n { x: 0.34375, y: 0.15625 },\n { x: 0.40625, y: 0.15625 },\n { x: 0.40625, y: 0.15625 },\n { x: 0.46875, y: 0.15625 },\n { x: 0.46875, y: 0.15625 },\n { x: 0.53125, y: 0.15625 },\n { x: 0.53125, y: 0.15625 },\n { x: 0.59375, y: 0.15625 },\n { x: 0.59375, y: 0.15625 },\n { x: 0.65625, y: 0.15625 },\n { x: 0.65625, y: 0.15625 },\n { x: 0.71875, y: 0.15625 },\n { x: 0.71875, y: 0.15625 },\n { x: 0.78125, y: 0.15625 },\n { x: 0.78125, y: 0.15625 },\n { x: 0.84375, y: 0.15625 },\n { x: 0.84375, y: 0.15625 },\n { x: 0.90625, y: 0.15625 },\n { x: 0.90625, y: 0.15625 },\n { x: 0.96875, y: 0.15625 },\n { x: 0.96875, y: 0.15625 },\n { x: 0.03125, y: 0.21875 },\n { x: 0.03125, y: 0.21875 },\n { x: 0.09375, y: 0.21875 },\n { x: 0.09375, y: 0.21875 },\n { x: 0.15625, y: 0.21875 },\n { x: 0.15625, y: 0.21875 },\n { x: 0.21875, y: 0.21875 },\n { x: 0.21875, y: 0.21875 },\n { x: 0.28125, y: 0.21875 },\n { x: 0.28125, y: 0.21875 },\n { x: 0.34375, y: 0.21875 },\n { x: 0.34375, y: 0.21875 },\n { x: 0.40625, y: 0.21875 },\n { x: 0.40625, y: 0.21875 },\n { x: 0.46875, y: 0.21875 },\n { x: 0.46875, y: 0.21875 },\n { x: 0.53125, y: 0.21875 },\n { x: 0.53125, y: 0.21875 },\n { x: 0.59375, y: 0.21875 },\n { x: 0.59375, y: 0.21875 },\n { x: 0.65625, y: 0.21875 },\n { x: 0.65625, y: 0.21875 },\n { x: 0.71875, y: 0.21875 },\n { x: 0.71875, y: 0.21875 },\n { x: 0.78125, y: 0.21875 },\n { x: 0.78125, y: 0.21875 },\n { x: 0.84375, y: 0.21875 },\n { x: 0.84375, y: 0.21875 },\n { x: 0.90625, y: 0.21875 },\n { x: 0.90625, y: 0.21875 },\n { x: 0.96875, y: 0.21875 },\n { x: 0.96875, y: 0.21875 },\n { x: 0.03125, y: 0.28125 },\n { x: 0.03125, y: 0.28125 },\n { x: 0.09375, y: 0.28125 },\n { x: 0.09375, y: 0.28125 },\n { x: 0.15625, y: 0.28125 },\n { x: 0.15625, y: 0.28125 },\n { x: 0.21875, y: 0.28125 },\n { x: 0.21875, y: 0.28125 },\n { x: 0.28125, y: 0.28125 },\n { x: 0.28125, y: 0.28125 },\n { x: 0.34375, y: 0.28125 },\n { x: 0.34375, y: 0.28125 },\n { x: 0.40625, y: 0.28125 },\n { x: 0.40625, y: 0.28125 },\n { x: 0.46875, y: 0.28125 },\n { x: 0.46875, y: 0.28125 },\n { x: 0.53125, y: 0.28125 },\n { x: 0.53125, y: 0.28125 },\n { x: 0.59375, y: 0.28125 },\n { x: 0.59375, y: 0.28125 },\n { x: 0.65625, y: 0.28125 },\n { x: 0.65625, y: 0.28125 },\n { x: 0.71875, y: 0.28125 },\n { x: 0.71875, y: 0.28125 },\n { x: 0.78125, y: 0.28125 },\n { x: 0.78125, y: 0.28125 },\n { x: 0.84375, y: 0.28125 },\n { x: 0.84375, y: 0.28125 },\n { x: 0.90625, y: 0.28125 },\n { x: 0.90625, y: 0.28125 },\n { x: 0.96875, y: 0.28125 },\n { x: 0.96875, y: 0.28125 },\n { x: 0.03125, y: 0.34375 },\n { x: 0.03125, y: 0.34375 },\n { x: 0.09375, y: 0.34375 },\n { x: 0.09375, y: 0.34375 },\n { x: 0.15625, y: 0.34375 },\n { x: 0.15625, y: 0.34375 },\n { x: 0.21875, y: 0.34375 },\n { x: 0.21875, y: 0.34375 },\n { x: 0.28125, y: 0.34375 },\n { x: 0.28125, y: 0.34375 },\n { x: 0.34375, y: 0.34375 },\n { x: 0.34375, y: 0.34375 },\n { x: 0.40625, y: 0.34375 },\n { x: 0.40625, y: 0.34375 },\n { x: 0.46875, y: 0.34375 },\n { x: 0.46875, y: 0.34375 },\n { x: 0.53125, y: 0.34375 },\n { x: 0.53125, y: 0.34375 },\n { x: 0.59375, y: 0.34375 },\n { x: 0.59375, y: 0.34375 },\n { x: 0.65625, y: 0.34375 },\n { x: 0.65625, y: 0.34375 },\n { x: 0.71875, y: 0.34375 },\n { x: 0.71875, y: 0.34375 },\n { x: 0.78125, y: 0.34375 },\n { x: 0.78125, y: 0.34375 },\n { x: 0.84375, y: 0.34375 },\n { x: 0.84375, y: 0.34375 },\n { x: 0.90625, y: 0.34375 },\n { x: 0.90625, y: 0.34375 },\n { x: 0.96875, y: 0.34375 },\n { x: 0.96875, y: 0.34375 },\n { x: 0.03125, y: 0.40625 },\n { x: 0.03125, y: 0.40625 },\n { x: 0.09375, y: 0.40625 },\n { x: 0.09375, y: 0.40625 },\n { x: 0.15625, y: 0.40625 },\n { x: 0.15625, y: 0.40625 },\n { x: 0.21875, y: 0.40625 },\n { x: 0.21875, y: 0.40625 },\n { x: 0.28125, y: 0.40625 },\n { x: 0.28125, y: 0.40625 },\n { x: 0.34375, y: 0.40625 },\n { x: 0.34375, y: 0.40625 },\n { x: 0.40625, y: 0.40625 },\n { x: 0.40625, y: 0.40625 },\n { x: 0.46875, y: 0.40625 },\n { x: 0.46875, y: 0.40625 },\n { x: 0.53125, y: 0.40625 },\n { x: 0.53125, y: 0.40625 },\n { x: 0.59375, y: 0.40625 },\n { x: 0.59375, y: 0.40625 },\n { x: 0.65625, y: 0.40625 },\n { x: 0.65625, y: 0.40625 },\n { x: 0.71875, y: 0.40625 },\n { x: 0.71875, y: 0.40625 },\n { x: 0.78125, y: 0.40625 },\n { x: 0.78125, y: 0.40625 },\n { x: 0.84375, y: 0.40625 },\n { x: 0.84375, y: 0.40625 },\n { x: 0.90625, y: 0.40625 },\n { x: 0.90625, y: 0.40625 },\n { x: 0.96875, y: 0.40625 },\n { x: 0.96875, y: 0.40625 },\n { x: 0.03125, y: 0.46875 },\n { x: 0.03125, y: 0.46875 },\n { x: 0.09375, y: 0.46875 },\n { x: 0.09375, y: 0.46875 },\n { x: 0.15625, y: 0.46875 },\n { x: 0.15625, y: 0.46875 },\n { x: 0.21875, y: 0.46875 },\n { x: 0.21875, y: 0.46875 },\n { x: 0.28125, y: 0.46875 },\n { x: 0.28125, y: 0.46875 },\n { x: 0.34375, y: 0.46875 },\n { x: 0.34375, y: 0.46875 },\n { x: 0.40625, y: 0.46875 },\n { x: 0.40625, y: 0.46875 },\n { x: 0.46875, y: 0.46875 },\n { x: 0.46875, y: 0.46875 },\n { x: 0.53125, y: 0.46875 },\n { x: 0.53125, y: 0.46875 },\n { x: 0.59375, y: 0.46875 },\n { x: 0.59375, y: 0.46875 },\n { x: 0.65625, y: 0.46875 },\n { x: 0.65625, y: 0.46875 },\n { x: 0.71875, y: 0.46875 },\n { x: 0.71875, y: 0.46875 },\n { x: 0.78125, y: 0.46875 },\n { x: 0.78125, y: 0.46875 },\n { x: 0.84375, y: 0.46875 },\n { x: 0.84375, y: 0.46875 },\n { x: 0.90625, y: 0.46875 },\n { x: 0.90625, y: 0.46875 },\n { x: 0.96875, y: 0.46875 },\n { x: 0.96875, y: 0.46875 },\n { x: 0.03125, y: 0.53125 },\n { x: 0.03125, y: 0.53125 },\n { x: 0.09375, y: 0.53125 },\n { x: 0.09375, y: 0.53125 },\n { x: 0.15625, y: 0.53125 },\n { x: 0.15625, y: 0.53125 },\n { x: 0.21875, y: 0.53125 },\n { x: 0.21875, y: 0.53125 },\n { x: 0.28125, y: 0.53125 },\n { x: 0.28125, y: 0.53125 },\n { x: 0.34375, y: 0.53125 },\n { x: 0.34375, y: 0.53125 },\n { x: 0.40625, y: 0.53125 },\n { x: 0.40625, y: 0.53125 },\n { x: 0.46875, y: 0.53125 },\n { x: 0.46875, y: 0.53125 },\n { x: 0.53125, y: 0.53125 },\n { x: 0.53125, y: 0.53125 },\n { x: 0.59375, y: 0.53125 },\n { x: 0.59375, y: 0.53125 },\n { x: 0.65625, y: 0.53125 },\n { x: 0.65625, y: 0.53125 },\n { x: 0.71875, y: 0.53125 },\n { x: 0.71875, y: 0.53125 },\n { x: 0.78125, y: 0.53125 },\n { x: 0.78125, y: 0.53125 },\n { x: 0.84375, y: 0.53125 },\n { x: 0.84375, y: 0.53125 },\n { x: 0.90625, y: 0.53125 },\n { x: 0.90625, y: 0.53125 },\n { x: 0.96875, y: 0.53125 },\n { x: 0.96875, y: 0.53125 },\n { x: 0.03125, y: 0.59375 },\n { x: 0.03125, y: 0.59375 },\n { x: 0.09375, y: 0.59375 },\n { x: 0.09375, y: 0.59375 },\n { x: 0.15625, y: 0.59375 },\n { x: 0.15625, y: 0.59375 },\n { x: 0.21875, y: 0.59375 },\n { x: 0.21875, y: 0.59375 },\n { x: 0.28125, y: 0.59375 },\n { x: 0.28125, y: 0.59375 },\n { x: 0.34375, y: 0.59375 },\n { x: 0.34375, y: 0.59375 },\n { x: 0.40625, y: 0.59375 },\n { x: 0.40625, y: 0.59375 },\n { x: 0.46875, y: 0.59375 },\n { x: 0.46875, y: 0.59375 },\n { x: 0.53125, y: 0.59375 },\n { x: 0.53125, y: 0.59375 },\n { x: 0.59375, y: 0.59375 },\n { x: 0.59375, y: 0.59375 },\n { x: 0.65625, y: 0.59375 },\n { x: 0.65625, y: 0.59375 },\n { x: 0.71875, y: 0.59375 },\n { x: 0.71875, y: 0.59375 },\n { x: 0.78125, y: 0.59375 },\n { x: 0.78125, y: 0.59375 },\n { x: 0.84375, y: 0.59375 },\n { x: 0.84375, y: 0.59375 },\n { x: 0.90625, y: 0.59375 },\n { x: 0.90625, y: 0.59375 },\n { x: 0.96875, y: 0.59375 },\n { x: 0.96875, y: 0.59375 },\n { x: 0.03125, y: 0.65625 },\n { x: 0.03125, y: 0.65625 },\n { x: 0.09375, y: 0.65625 },\n { x: 0.09375, y: 0.65625 },\n { x: 0.15625, y: 0.65625 },\n { x: 0.15625, y: 0.65625 },\n { x: 0.21875, y: 0.65625 },\n { x: 0.21875, y: 0.65625 },\n { x: 0.28125, y: 0.65625 },\n { x: 0.28125, y: 0.65625 },\n { x: 0.34375, y: 0.65625 },\n { x: 0.34375, y: 0.65625 },\n { x: 0.40625, y: 0.65625 },\n { x: 0.40625, y: 0.65625 },\n { x: 0.46875, y: 0.65625 },\n { x: 0.46875, y: 0.65625 },\n { x: 0.53125, y: 0.65625 },\n { x: 0.53125, y: 0.65625 },\n { x: 0.59375, y: 0.65625 },\n { x: 0.59375, y: 0.65625 },\n { x: 0.65625, y: 0.65625 },\n { x: 0.65625, y: 0.65625 },\n { x: 0.71875, y: 0.65625 },\n { x: 0.71875, y: 0.65625 },\n { x: 0.78125, y: 0.65625 },\n { x: 0.78125, y: 0.65625 },\n { x: 0.84375, y: 0.65625 },\n { x: 0.84375, y: 0.65625 },\n { x: 0.90625, y: 0.65625 },\n { x: 0.90625, y: 0.65625 },\n { x: 0.96875, y: 0.65625 },\n { x: 0.96875, y: 0.65625 },\n { x: 0.03125, y: 0.71875 },\n { x: 0.03125, y: 0.71875 },\n { x: 0.09375, y: 0.71875 },\n { x: 0.09375, y: 0.71875 },\n { x: 0.15625, y: 0.71875 },\n { x: 0.15625, y: 0.71875 },\n { x: 0.21875, y: 0.71875 },\n { x: 0.21875, y: 0.71875 },\n { x: 0.28125, y: 0.71875 },\n { x: 0.28125, y: 0.71875 },\n { x: 0.34375, y: 0.71875 },\n { x: 0.34375, y: 0.71875 },\n { x: 0.40625, y: 0.71875 },\n { x: 0.40625, y: 0.71875 },\n { x: 0.46875, y: 0.71875 },\n { x: 0.46875, y: 0.71875 },\n { x: 0.53125, y: 0.71875 },\n { x: 0.53125, y: 0.71875 },\n { x: 0.59375, y: 0.71875 },\n { x: 0.59375, y: 0.71875 },\n { x: 0.65625, y: 0.71875 },\n { x: 0.65625, y: 0.71875 },\n { x: 0.71875, y: 0.71875 },\n { x: 0.71875, y: 0.71875 },\n { x: 0.78125, y: 0.71875 },\n { x: 0.78125, y: 0.71875 },\n { x: 0.84375, y: 0.71875 },\n { x: 0.84375, y: 0.71875 },\n { x: 0.90625, y: 0.71875 },\n { x: 0.90625, y: 0.71875 },\n { x: 0.96875, y: 0.71875 },\n { x: 0.96875, y: 0.71875 },\n { x: 0.03125, y: 0.78125 },\n { x: 0.03125, y: 0.78125 },\n { x: 0.09375, y: 0.78125 },\n { x: 0.09375, y: 0.78125 },\n { x: 0.15625, y: 0.78125 },\n { x: 0.15625, y: 0.78125 },\n { x: 0.21875, y: 0.78125 },\n { x: 0.21875, y: 0.78125 },\n { x: 0.28125, y: 0.78125 },\n { x: 0.28125, y: 0.78125 },\n { x: 0.34375, y: 0.78125 },\n { x: 0.34375, y: 0.78125 },\n { x: 0.40625, y: 0.78125 },\n { x: 0.40625, y: 0.78125 },\n { x: 0.46875, y: 0.78125 },\n { x: 0.46875, y: 0.78125 },\n { x: 0.53125, y: 0.78125 },\n { x: 0.53125, y: 0.78125 },\n { x: 0.59375, y: 0.78125 },\n { x: 0.59375, y: 0.78125 },\n { x: 0.65625, y: 0.78125 },\n { x: 0.65625, y: 0.78125 },\n { x: 0.71875, y: 0.78125 },\n { x: 0.71875, y: 0.78125 },\n { x: 0.78125, y: 0.78125 },\n { x: 0.78125, y: 0.78125 },\n { x: 0.84375, y: 0.78125 },\n { x: 0.84375, y: 0.78125 },\n { x: 0.90625, y: 0.78125 },\n { x: 0.90625, y: 0.78125 },\n { x: 0.96875, y: 0.78125 },\n { x: 0.96875, y: 0.78125 },\n { x: 0.03125, y: 0.84375 },\n { x: 0.03125, y: 0.84375 },\n { x: 0.09375, y: 0.84375 },\n { x: 0.09375, y: 0.84375 },\n { x: 0.15625, y: 0.84375 },\n { x: 0.15625, y: 0.84375 },\n { x: 0.21875, y: 0.84375 },\n { x: 0.21875, y: 0.84375 },\n { x: 0.28125, y: 0.84375 },\n { x: 0.28125, y: 0.84375 },\n { x: 0.34375, y: 0.84375 },\n { x: 0.34375, y: 0.84375 },\n { x: 0.40625, y: 0.84375 },\n { x: 0.40625, y: 0.84375 },\n { x: 0.46875, y: 0.84375 },\n { x: 0.46875, y: 0.84375 },\n { x: 0.53125, y: 0.84375 },\n { x: 0.53125, y: 0.84375 },\n { x: 0.59375, y: 0.84375 },\n { x: 0.59375, y: 0.84375 },\n { x: 0.65625, y: 0.84375 },\n { x: 0.65625, y: 0.84375 },\n { x: 0.71875, y: 0.84375 },\n { x: 0.71875, y: 0.84375 },\n { x: 0.78125, y: 0.84375 },\n { x: 0.78125, y: 0.84375 },\n { x: 0.84375, y: 0.84375 },\n { x: 0.84375, y: 0.84375 },\n { x: 0.90625, y: 0.84375 },\n { x: 0.90625, y: 0.84375 },\n { x: 0.96875, y: 0.84375 },\n { x: 0.96875, y: 0.84375 },\n { x: 0.03125, y: 0.90625 },\n { x: 0.03125, y: 0.90625 },\n { x: 0.09375, y: 0.90625 },\n { x: 0.09375, y: 0.90625 },\n { x: 0.15625, y: 0.90625 },\n { x: 0.15625, y: 0.90625 },\n { x: 0.21875, y: 0.90625 },\n { x: 0.21875, y: 0.90625 },\n { x: 0.28125, y: 0.90625 },\n { x: 0.28125, y: 0.90625 },\n { x: 0.34375, y: 0.90625 },\n { x: 0.34375, y: 0.90625 },\n { x: 0.40625, y: 0.90625 },\n { x: 0.40625, y: 0.90625 },\n { x: 0.46875, y: 0.90625 },\n { x: 0.46875, y: 0.90625 },\n { x: 0.53125, y: 0.90625 },\n { x: 0.53125, y: 0.90625 },\n { x: 0.59375, y: 0.90625 },\n { x: 0.59375, y: 0.90625 },\n { x: 0.65625, y: 0.90625 },\n { x: 0.65625, y: 0.90625 },\n { x: 0.71875, y: 0.90625 },\n { x: 0.71875, y: 0.90625 },\n { x: 0.78125, y: 0.90625 },\n { x: 0.78125, y: 0.90625 },\n { x: 0.84375, y: 0.90625 },\n { x: 0.84375, y: 0.90625 },\n { x: 0.90625, y: 0.90625 },\n { x: 0.90625, y: 0.90625 },\n { x: 0.96875, y: 0.90625 },\n { x: 0.96875, y: 0.90625 },\n { x: 0.03125, y: 0.96875 },\n { x: 0.03125, y: 0.96875 },\n { x: 0.09375, y: 0.96875 },\n { x: 0.09375, y: 0.96875 },\n { x: 0.15625, y: 0.96875 },\n { x: 0.15625, y: 0.96875 },\n { x: 0.21875, y: 0.96875 },\n { x: 0.21875, y: 0.96875 },\n { x: 0.28125, y: 0.96875 },\n { x: 0.28125, y: 0.96875 },\n { x: 0.34375, y: 0.96875 },\n { x: 0.34375, y: 0.96875 },\n { x: 0.40625, y: 0.96875 },\n { x: 0.40625, y: 0.96875 },\n { x: 0.46875, y: 0.96875 },\n { x: 0.46875, y: 0.96875 },\n { x: 0.53125, y: 0.96875 },\n { x: 0.53125, y: 0.96875 },\n { x: 0.59375, y: 0.96875 },\n { x: 0.59375, y: 0.96875 },\n { x: 0.65625, y: 0.96875 },\n { x: 0.65625, y: 0.96875 },\n { x: 0.71875, y: 0.96875 },\n { x: 0.71875, y: 0.96875 },\n { x: 0.78125, y: 0.96875 },\n { x: 0.78125, y: 0.96875 },\n { x: 0.84375, y: 0.96875 },\n { x: 0.84375, y: 0.96875 },\n { x: 0.90625, y: 0.96875 },\n { x: 0.90625, y: 0.96875 },\n { x: 0.96875, y: 0.96875 },\n { x: 0.96875, y: 0.96875 },\n { x: 0.0625, y: 0.0625 },\n { x: 0.0625, y: 0.0625 },\n { x: 0.0625, y: 0.0625 },\n { x: 0.0625, y: 0.0625 },\n { x: 0.0625, y: 0.0625 },\n { x: 0.0625, y: 0.0625 },\n { x: 0.1875, y: 0.0625 },\n { x: 0.1875, y: 0.0625 },\n { x: 0.1875, y: 0.0625 },\n { x: 0.1875, y: 0.0625 },\n { x: 0.1875, y: 0.0625 },\n { x: 0.1875, y: 0.0625 },\n { x: 0.3125, y: 0.0625 },\n { x: 0.3125, y: 0.0625 },\n { x: 0.3125, y: 0.0625 },\n { x: 0.3125, y: 0.0625 },\n { x: 0.3125, y: 0.0625 },\n { x: 0.3125, y: 0.0625 },\n { x: 0.4375, y: 0.0625 },\n { x: 0.4375, y: 0.0625 },\n { x: 0.4375, y: 0.0625 },\n { x: 0.4375, y: 0.0625 },\n { x: 0.4375, y: 0.0625 },\n { x: 0.4375, y: 0.0625 },\n { x: 0.5625, y: 0.0625 },\n { x: 0.5625, y: 0.0625 },\n { x: 0.5625, y: 0.0625 },\n { x: 0.5625, y: 0.0625 },\n { x: 0.5625, y: 0.0625 },\n { x: 0.5625, y: 0.0625 },\n { x: 0.6875, y: 0.0625 },\n { x: 0.6875, y: 0.0625 },\n { x: 0.6875, y: 0.0625 },\n { x: 0.6875, y: 0.0625 },\n { x: 0.6875, y: 0.0625 },\n { x: 0.6875, y: 0.0625 },\n { x: 0.8125, y: 0.0625 },\n { x: 0.8125, y: 0.0625 },\n { x: 0.8125, y: 0.0625 },\n { x: 0.8125, y: 0.0625 },\n { x: 0.8125, y: 0.0625 },\n { x: 0.8125, y: 0.0625 },\n { x: 0.9375, y: 0.0625 },\n { x: 0.9375, y: 0.0625 },\n { x: 0.9375, y: 0.0625 },\n { x: 0.9375, y: 0.0625 },\n { x: 0.9375, y: 0.0625 },\n { x: 0.9375, y: 0.0625 },\n { x: 0.0625, y: 0.1875 },\n { x: 0.0625, y: 0.1875 },\n { x: 0.0625, y: 0.1875 },\n { x: 0.0625, y: 0.1875 },\n { x: 0.0625, y: 0.1875 },\n { x: 0.0625, y: 0.1875 },\n { x: 0.1875, y: 0.1875 },\n { x: 0.1875, y: 0.1875 },\n { x: 0.1875, y: 0.1875 },\n { x: 0.1875, y: 0.1875 },\n { x: 0.1875, y: 0.1875 },\n { x: 0.1875, y: 0.1875 },\n { x: 0.3125, y: 0.1875 },\n { x: 0.3125, y: 0.1875 },\n { x: 0.3125, y: 0.1875 },\n { x: 0.3125, y: 0.1875 },\n { x: 0.3125, y: 0.1875 },\n { x: 0.3125, y: 0.1875 },\n { x: 0.4375, y: 0.1875 },\n { x: 0.4375, y: 0.1875 },\n { x: 0.4375, y: 0.1875 },\n { x: 0.4375, y: 0.1875 },\n { x: 0.4375, y: 0.1875 },\n { x: 0.4375, y: 0.1875 },\n { x: 0.5625, y: 0.1875 },\n { x: 0.5625, y: 0.1875 },\n { x: 0.5625, y: 0.1875 },\n { x: 0.5625, y: 0.1875 },\n { x: 0.5625, y: 0.1875 },\n { x: 0.5625, y: 0.1875 },\n { x: 0.6875, y: 0.1875 },\n { x: 0.6875, y: 0.1875 },\n { x: 0.6875, y: 0.1875 },\n { x: 0.6875, y: 0.1875 },\n { x: 0.6875, y: 0.1875 },\n { x: 0.6875, y: 0.1875 },\n { x: 0.8125, y: 0.1875 },\n { x: 0.8125, y: 0.1875 },\n { x: 0.8125, y: 0.1875 },\n { x: 0.8125, y: 0.1875 },\n { x: 0.8125, y: 0.1875 },\n { x: 0.8125, y: 0.1875 },\n { x: 0.9375, y: 0.1875 },\n { x: 0.9375, y: 0.1875 },\n { x: 0.9375, y: 0.1875 },\n { x: 0.9375, y: 0.1875 },\n { x: 0.9375, y: 0.1875 },\n { x: 0.9375, y: 0.1875 },\n { x: 0.0625, y: 0.3125 },\n { x: 0.0625, y: 0.3125 },\n { x: 0.0625, y: 0.3125 },\n { x: 0.0625, y: 0.3125 },\n { x: 0.0625, y: 0.3125 },\n { x: 0.0625, y: 0.3125 },\n { x: 0.1875, y: 0.3125 },\n { x: 0.1875, y: 0.3125 },\n { x: 0.1875, y: 0.3125 },\n { x: 0.1875, y: 0.3125 },\n { x: 0.1875, y: 0.3125 },\n { x: 0.1875, y: 0.3125 },\n { x: 0.3125, y: 0.3125 },\n { x: 0.3125, y: 0.3125 },\n { x: 0.3125, y: 0.3125 },\n { x: 0.3125, y: 0.3125 },\n { x: 0.3125, y: 0.3125 },\n { x: 0.3125, y: 0.3125 },\n { x: 0.4375, y: 0.3125 },\n { x: 0.4375, y: 0.3125 },\n { x: 0.4375, y: 0.3125 },\n { x: 0.4375, y: 0.3125 },\n { x: 0.4375, y: 0.3125 },\n { x: 0.4375, y: 0.3125 },\n { x: 0.5625, y: 0.3125 },\n { x: 0.5625, y: 0.3125 },\n { x: 0.5625, y: 0.3125 },\n { x: 0.5625, y: 0.3125 },\n { x: 0.5625, y: 0.3125 },\n { x: 0.5625, y: 0.3125 },\n { x: 0.6875, y: 0.3125 },\n { x: 0.6875, y: 0.3125 },\n { x: 0.6875, y: 0.3125 },\n { x: 0.6875, y: 0.3125 },\n { x: 0.6875, y: 0.3125 },\n { x: 0.6875, y: 0.3125 },\n { x: 0.8125, y: 0.3125 },\n { x: 0.8125, y: 0.3125 },\n { x: 0.8125, y: 0.3125 },\n { x: 0.8125, y: 0.3125 },\n { x: 0.8125, y: 0.3125 },\n { x: 0.8125, y: 0.3125 },\n { x: 0.9375, y: 0.3125 },\n { x: 0.9375, y: 0.3125 },\n { x: 0.9375, y: 0.3125 },\n { x: 0.9375, y: 0.3125 },\n { x: 0.9375, y: 0.3125 },\n { x: 0.9375, y: 0.3125 },\n { x: 0.0625, y: 0.4375 },\n { x: 0.0625, y: 0.4375 },\n { x: 0.0625, y: 0.4375 },\n { x: 0.0625, y: 0.4375 },\n { x: 0.0625, y: 0.4375 },\n { x: 0.0625, y: 0.4375 },\n { x: 0.1875, y: 0.4375 },\n { x: 0.1875, y: 0.4375 },\n { x: 0.1875, y: 0.4375 },\n { x: 0.1875, y: 0.4375 },\n { x: 0.1875, y: 0.4375 },\n { x: 0.1875, y: 0.4375 },\n { x: 0.3125, y: 0.4375 },\n { x: 0.3125, y: 0.4375 },\n { x: 0.3125, y: 0.4375 },\n { x: 0.3125, y: 0.4375 },\n { x: 0.3125, y: 0.4375 },\n { x: 0.3125, y: 0.4375 },\n { x: 0.4375, y: 0.4375 },\n { x: 0.4375, y: 0.4375 },\n { x: 0.4375, y: 0.4375 },\n { x: 0.4375, y: 0.4375 },\n { x: 0.4375, y: 0.4375 },\n { x: 0.4375, y: 0.4375 },\n { x: 0.5625, y: 0.4375 },\n { x: 0.5625, y: 0.4375 },\n { x: 0.5625, y: 0.4375 },\n { x: 0.5625, y: 0.4375 },\n { x: 0.5625, y: 0.4375 },\n { x: 0.5625, y: 0.4375 },\n { x: 0.6875, y: 0.4375 },\n { x: 0.6875, y: 0.4375 },\n { x: 0.6875, y: 0.4375 },\n { x: 0.6875, y: 0.4375 },\n { x: 0.6875, y: 0.4375 },\n { x: 0.6875, y: 0.4375 },\n { x: 0.8125, y: 0.4375 },\n { x: 0.8125, y: 0.4375 },\n { x: 0.8125, y: 0.4375 },\n { x: 0.8125, y: 0.4375 },\n { x: 0.8125, y: 0.4375 },\n { x: 0.8125, y: 0.4375 },\n { x: 0.9375, y: 0.4375 },\n { x: 0.9375, y: 0.4375 },\n { x: 0.9375, y: 0.4375 },\n { x: 0.9375, y: 0.4375 },\n { x: 0.9375, y: 0.4375 },\n { x: 0.9375, y: 0.4375 },\n { x: 0.0625, y: 0.5625 },\n { x: 0.0625, y: 0.5625 },\n { x: 0.0625, y: 0.5625 },\n { x: 0.0625, y: 0.5625 },\n { x: 0.0625, y: 0.5625 },\n { x: 0.0625, y: 0.5625 },\n { x: 0.1875, y: 0.5625 },\n { x: 0.1875, y: 0.5625 },\n { x: 0.1875, y: 0.5625 },\n { x: 0.1875, y: 0.5625 },\n { x: 0.1875, y: 0.5625 },\n { x: 0.1875, y: 0.5625 },\n { x: 0.3125, y: 0.5625 },\n { x: 0.3125, y: 0.5625 },\n { x: 0.3125, y: 0.5625 },\n { x: 0.3125, y: 0.5625 },\n { x: 0.3125, y: 0.5625 },\n { x: 0.3125, y: 0.5625 },\n { x: 0.4375, y: 0.5625 },\n { x: 0.4375, y: 0.5625 },\n { x: 0.4375, y: 0.5625 },\n { x: 0.4375, y: 0.5625 },\n { x: 0.4375, y: 0.5625 },\n { x: 0.4375, y: 0.5625 },\n { x: 0.5625, y: 0.5625 },\n { x: 0.5625, y: 0.5625 },\n { x: 0.5625, y: 0.5625 },\n { x: 0.5625, y: 0.5625 },\n { x: 0.5625, y: 0.5625 },\n { x: 0.5625, y: 0.5625 },\n { x: 0.6875, y: 0.5625 },\n { x: 0.6875, y: 0.5625 },\n { x: 0.6875, y: 0.5625 },\n { x: 0.6875, y: 0.5625 },\n { x: 0.6875, y: 0.5625 },\n { x: 0.6875, y: 0.5625 },\n { x: 0.8125, y: 0.5625 },\n { x: 0.8125, y: 0.5625 },\n { x: 0.8125, y: 0.5625 },\n { x: 0.8125, y: 0.5625 },\n { x: 0.8125, y: 0.5625 },\n { x: 0.8125, y: 0.5625 },\n { x: 0.9375, y: 0.5625 },\n { x: 0.9375, y: 0.5625 },\n { x: 0.9375, y: 0.5625 },\n { x: 0.9375, y: 0.5625 },\n { x: 0.9375, y: 0.5625 },\n { x: 0.9375, y: 0.5625 },\n { x: 0.0625, y: 0.6875 },\n { x: 0.0625, y: 0.6875 },\n { x: 0.0625, y: 0.6875 },\n { x: 0.0625, y: 0.6875 },\n { x: 0.0625, y: 0.6875 },\n { x: 0.0625, y: 0.6875 },\n { x: 0.1875, y: 0.6875 },\n { x: 0.1875, y: 0.6875 },\n { x: 0.1875, y: 0.6875 },\n { x: 0.1875, y: 0.6875 },\n { x: 0.1875, y: 0.6875 },\n { x: 0.1875, y: 0.6875 },\n { x: 0.3125, y: 0.6875 },\n { x: 0.3125, y: 0.6875 },\n { x: 0.3125, y: 0.6875 },\n { x: 0.3125, y: 0.6875 },\n { x: 0.3125, y: 0.6875 },\n { x: 0.3125, y: 0.6875 },\n { x: 0.4375, y: 0.6875 },\n { x: 0.4375, y: 0.6875 },\n { x: 0.4375, y: 0.6875 },\n { x: 0.4375, y: 0.6875 },\n { x: 0.4375, y: 0.6875 },\n { x: 0.4375, y: 0.6875 },\n { x: 0.5625, y: 0.6875 },\n { x: 0.5625, y: 0.6875 },\n { x: 0.5625, y: 0.6875 },\n { x: 0.5625, y: 0.6875 },\n { x: 0.5625, y: 0.6875 },\n { x: 0.5625, y: 0.6875 },\n { x: 0.6875, y: 0.6875 },\n { x: 0.6875, y: 0.6875 },\n { x: 0.6875, y: 0.6875 },\n { x: 0.6875, y: 0.6875 },\n { x: 0.6875, y: 0.6875 },\n { x: 0.6875, y: 0.6875 },\n { x: 0.8125, y: 0.6875 },\n { x: 0.8125, y: 0.6875 },\n { x: 0.8125, y: 0.6875 },\n { x: 0.8125, y: 0.6875 },\n { x: 0.8125, y: 0.6875 },\n { x: 0.8125, y: 0.6875 },\n { x: 0.9375, y: 0.6875 },\n { x: 0.9375, y: 0.6875 },\n { x: 0.9375, y: 0.6875 },\n { x: 0.9375, y: 0.6875 },\n { x: 0.9375, y: 0.6875 },\n { x: 0.9375, y: 0.6875 },\n { x: 0.0625, y: 0.8125 },\n { x: 0.0625, y: 0.8125 },\n { x: 0.0625, y: 0.8125 },\n { x: 0.0625, y: 0.8125 },\n { x: 0.0625, y: 0.8125 },\n { x: 0.0625, y: 0.8125 },\n { x: 0.1875, y: 0.8125 },\n { x: 0.1875, y: 0.8125 },\n { x: 0.1875, y: 0.8125 },\n { x: 0.1875, y: 0.8125 },\n { x: 0.1875, y: 0.8125 },\n { x: 0.1875, y: 0.8125 },\n { x: 0.3125, y: 0.8125 },\n { x: 0.3125, y: 0.8125 },\n { x: 0.3125, y: 0.8125 },\n { x: 0.3125, y: 0.8125 },\n { x: 0.3125, y: 0.8125 },\n { x: 0.3125, y: 0.8125 },\n { x: 0.4375, y: 0.8125 },\n { x: 0.4375, y: 0.8125 },\n { x: 0.4375, y: 0.8125 },\n { x: 0.4375, y: 0.8125 },\n { x: 0.4375, y: 0.8125 },\n { x: 0.4375, y: 0.8125 },\n { x: 0.5625, y: 0.8125 },\n { x: 0.5625, y: 0.8125 },\n { x: 0.5625, y: 0.8125 },\n { x: 0.5625, y: 0.8125 },\n { x: 0.5625, y: 0.8125 },\n { x: 0.5625, y: 0.8125 },\n { x: 0.6875, y: 0.8125 },\n { x: 0.6875, y: 0.8125 },\n { x: 0.6875, y: 0.8125 },\n { x: 0.6875, y: 0.8125 },\n { x: 0.6875, y: 0.8125 },\n { x: 0.6875, y: 0.8125 },\n { x: 0.8125, y: 0.8125 },\n { x: 0.8125, y: 0.8125 },\n { x: 0.8125, y: 0.8125 },\n { x: 0.8125, y: 0.8125 },\n { x: 0.8125, y: 0.8125 },\n { x: 0.8125, y: 0.8125 },\n { x: 0.9375, y: 0.8125 },\n { x: 0.9375, y: 0.8125 },\n { x: 0.9375, y: 0.8125 },\n { x: 0.9375, y: 0.8125 },\n { x: 0.9375, y: 0.8125 },\n { x: 0.9375, y: 0.8125 },\n { x: 0.0625, y: 0.9375 },\n { x: 0.0625, y: 0.9375 },\n { x: 0.0625, y: 0.9375 },\n { x: 0.0625, y: 0.9375 },\n { x: 0.0625, y: 0.9375 },\n { x: 0.0625, y: 0.9375 },\n { x: 0.1875, y: 0.9375 },\n { x: 0.1875, y: 0.9375 },\n { x: 0.1875, y: 0.9375 },\n { x: 0.1875, y: 0.9375 },\n { x: 0.1875, y: 0.9375 },\n { x: 0.1875, y: 0.9375 },\n { x: 0.3125, y: 0.9375 },\n { x: 0.3125, y: 0.9375 },\n { x: 0.3125, y: 0.9375 },\n { x: 0.3125, y: 0.9375 },\n { x: 0.3125, y: 0.9375 },\n { x: 0.3125, y: 0.9375 },\n { x: 0.4375, y: 0.9375 },\n { x: 0.4375, y: 0.9375 },\n { x: 0.4375, y: 0.9375 },\n { x: 0.4375, y: 0.9375 },\n { x: 0.4375, y: 0.9375 },\n { x: 0.4375, y: 0.9375 },\n { x: 0.5625, y: 0.9375 },\n { x: 0.5625, y: 0.9375 },\n { x: 0.5625, y: 0.9375 },\n { x: 0.5625, y: 0.9375 },\n { x: 0.5625, y: 0.9375 },\n { x: 0.5625, y: 0.9375 },\n { x: 0.6875, y: 0.9375 },\n { x: 0.6875, y: 0.9375 },\n { x: 0.6875, y: 0.9375 },\n { x: 0.6875, y: 0.9375 },\n { x: 0.6875, y: 0.9375 },\n { x: 0.6875, y: 0.9375 },\n { x: 0.8125, y: 0.9375 },\n { x: 0.8125, y: 0.9375 },\n { x: 0.8125, y: 0.9375 },\n { x: 0.8125, y: 0.9375 },\n { x: 0.8125, y: 0.9375 },\n { x: 0.8125, y: 0.9375 },\n { x: 0.9375, y: 0.9375 },\n { x: 0.9375, y: 0.9375 },\n { x: 0.9375, y: 0.9375 },\n { x: 0.9375, y: 0.9375 },\n { x: 0.9375, y: 0.9375 },\n { x: 0.9375, y: 0.9375 },\n];\n", "import * as tf from '../../dist/tfjs.esm.js';\nimport * as box from './box';\nimport * as anchors from './anchors';\nimport { Tensor, GraphModel } from '../tfjs/types';\n\nexport class HandDetector {\n model: GraphModel;\n anchors: number[][];\n anchorsTensor: Tensor;\n inputSize: number;\n inputSizeTensor: Tensor;\n doubleInputSizeTensor: Tensor;\n\n constructor(model) {\n this.model = model;\n this.anchors = anchors.anchors.map((anchor) => [anchor.x, anchor.y]);\n this.anchorsTensor = tf.tensor2d(this.anchors);\n // @ts-ignore model is not undefined here\n this.inputSize = this.model?.inputs[0].shape[2];\n this.inputSizeTensor = tf.tensor1d([this.inputSize, this.inputSize]);\n this.doubleInputSizeTensor = tf.tensor1d([this.inputSize * 2, this.inputSize * 2]);\n }\n\n normalizeBoxes(boxes) {\n return tf.tidy(() => {\n const boxOffsets = tf.slice(boxes, [0, 0], [-1, 2]);\n const boxSizes = tf.slice(boxes, [0, 2], [-1, 2]);\n const boxCenterPoints = tf.add(tf.div(boxOffsets, this.inputSizeTensor), this.anchorsTensor);\n const halfBoxSizes = tf.div(boxSizes, this.doubleInputSizeTensor);\n const startPoints = tf.mul(tf.sub(boxCenterPoints, halfBoxSizes), this.inputSizeTensor);\n const endPoints = tf.mul(tf.add(boxCenterPoints, halfBoxSizes), this.inputSizeTensor);\n return tf.concat2d([startPoints, endPoints], 1);\n });\n }\n\n normalizeLandmarks(rawPalmLandmarks, index) {\n return tf.tidy(() => {\n const landmarks = tf.add(tf.div(rawPalmLandmarks.reshape([-1, 7, 2]), this.inputSizeTensor), this.anchors[index]);\n return tf.mul(landmarks, this.inputSizeTensor);\n });\n }\n\n async getBoxes(input, config) {\n const batched = this.model.predict(input) as Tensor;\n const predictions = batched.squeeze();\n batched.dispose();\n const scoresT = tf.tidy(() => tf.sigmoid(tf.slice(predictions, [0, 0], [-1, 1])).squeeze());\n const scores = scoresT.dataSync();\n const rawBoxes = tf.slice(predictions, [0, 1], [-1, 4]);\n const boxes = this.normalizeBoxes(rawBoxes);\n rawBoxes.dispose();\n const filteredT = await tf.image.nonMaxSuppressionAsync(boxes, scores, config.hand.maxDetected, config.hand.iouThreshold, config.hand.minConfidence);\n const filtered = filteredT.arraySync();\n\n scoresT.dispose();\n filteredT.dispose();\n const hands: Array<{ box: Tensor, palmLandmarks: Tensor, confidence: number }> = [];\n for (const index of filtered) {\n if (scores[index] >= config.hand.minConfidence) {\n const matchingBox = tf.slice(boxes, [index, 0], [1, -1]);\n const rawPalmLandmarks = tf.slice(predictions, [index, 5], [1, 14]);\n const palmLandmarks = tf.tidy(() => this.normalizeLandmarks(rawPalmLandmarks, index).reshape([-1, 2]));\n rawPalmLandmarks.dispose();\n hands.push({ box: matchingBox, palmLandmarks, confidence: scores[index] });\n }\n }\n predictions.dispose();\n boxes.dispose();\n return hands;\n }\n\n async estimateHandBounds(input, config): Promise<{ startPoint: number[]; endPoint: number[]; palmLandmarks: number[]; confidence: number }[]> {\n const inputHeight = input.shape[1];\n const inputWidth = input.shape[2];\n const image = tf.tidy(() => input.resizeBilinear([this.inputSize, this.inputSize]).div(127.5).sub(1));\n const predictions = await this.getBoxes(image, config);\n image.dispose();\n const hands: Array<{ startPoint: number[]; endPoint: number[]; palmLandmarks: number[]; confidence: number }> = [];\n if (!predictions || predictions.length === 0) return hands;\n for (const prediction of predictions) {\n const boxes = prediction.box.dataSync();\n const startPoint = boxes.slice(0, 2);\n const endPoint = boxes.slice(2, 4);\n const palmLandmarks = prediction.palmLandmarks.arraySync();\n prediction.box.dispose();\n prediction.palmLandmarks.dispose();\n hands.push(box.scaleBoxCoordinates({ startPoint, endPoint, palmLandmarks, confidence: prediction.confidence }, [inputWidth / this.inputSize, inputHeight / this.inputSize]));\n }\n return hands;\n }\n}\n", "export function normalizeRadians(angle) {\n return angle - 2 * Math.PI * Math.floor((angle + Math.PI) / (2 * Math.PI));\n}\n\nexport function computeRotation(point1, point2) {\n const radians = Math.PI / 2 - Math.atan2(-(point2[1] - point1[1]), point2[0] - point1[0]);\n return normalizeRadians(radians);\n}\n\nexport const buildTranslationMatrix = (x, y) => [[1, 0, x], [0, 1, y], [0, 0, 1]];\n\nexport function dot(v1, v2) {\n let product = 0;\n for (let i = 0; i < v1.length; i++) {\n product += v1[i] * v2[i];\n }\n return product;\n}\n\nexport function getColumnFrom2DArr(arr, columnIndex) {\n const column: Array = [];\n for (let i = 0; i < arr.length; i++) {\n column.push(arr[i][columnIndex]);\n }\n return column;\n}\n\nexport function multiplyTransformMatrices(mat1, mat2) {\n const product: Array = [];\n const size = mat1.length;\n for (let row = 0; row < size; row++) {\n product.push([]);\n for (let col = 0; col < size; col++) {\n product[row].push(dot(mat1[row], getColumnFrom2DArr(mat2, col)));\n }\n }\n return product;\n}\n\nexport function buildRotationMatrix(rotation, center) {\n const cosA = Math.cos(rotation);\n const sinA = Math.sin(rotation);\n const rotationMatrix = [[cosA, -sinA, 0], [sinA, cosA, 0], [0, 0, 1]];\n const translationMatrix = buildTranslationMatrix(center[0], center[1]);\n const translationTimesRotation = multiplyTransformMatrices(translationMatrix, rotationMatrix);\n const negativeTranslationMatrix = buildTranslationMatrix(-center[0], -center[1]);\n return multiplyTransformMatrices(translationTimesRotation, negativeTranslationMatrix);\n}\n\nexport function invertTransformMatrix(matrix) {\n const rotationComponent = [[matrix[0][0], matrix[1][0]], [matrix[0][1], matrix[1][1]]];\n const translationComponent = [matrix[0][2], matrix[1][2]];\n const invertedTranslation = [\n -dot(rotationComponent[0], translationComponent),\n -dot(rotationComponent[1], translationComponent),\n ];\n return [\n rotationComponent[0].concat(invertedTranslation[0]),\n rotationComponent[1].concat(invertedTranslation[1]),\n [0, 0, 1],\n ];\n}\n\nexport function rotatePoint(homogeneousCoordinate, rotationMatrix) {\n return [\n dot(homogeneousCoordinate, rotationMatrix[0]),\n dot(homogeneousCoordinate, rotationMatrix[1]),\n ];\n}\n", "import * as tf from '../../dist/tfjs.esm.js';\nimport * as box from './box';\nimport * as util from './util';\nimport * as detector from './handdetector';\nimport { Tensor, GraphModel } from '../tfjs/types';\n\nconst palmBoxEnlargeFactor = 5; // default 3\nconst handBoxEnlargeFactor = 1.65; // default 1.65\nconst palmLandmarkIds = [0, 5, 9, 13, 17, 1, 2];\nconst palmLandmarksPalmBase = 0;\nconst palmLandmarksMiddleFingerBase = 2;\n\nexport class HandPipeline {\n handDetector: detector.HandDetector;\n handPoseModel: GraphModel;\n inputSize: number;\n storedBoxes: Array<{ startPoint: number[]; endPoint: number[]; palmLandmarks: number[]; confidence: number } | null>;\n skipped: number;\n detectedHands: number;\n\n constructor(handDetector, handPoseModel) {\n this.handDetector = handDetector;\n this.handPoseModel = handPoseModel;\n // @ts-ignore model is not undefined here\n this.inputSize = this.handPoseModel?.inputs[0].shape[2];\n this.storedBoxes = [];\n this.skipped = 0;\n this.detectedHands = 0;\n }\n\n // eslint-disable-next-line class-methods-use-this\n calculateLandmarksBoundingBox(landmarks) {\n const xs = landmarks.map((d) => d[0]);\n const ys = landmarks.map((d) => d[1]);\n const startPoint = [Math.min(...xs), Math.min(...ys)];\n const endPoint = [Math.max(...xs), Math.max(...ys)];\n return { startPoint, endPoint };\n }\n\n getBoxForPalmLandmarks(palmLandmarks, rotationMatrix) {\n const rotatedPalmLandmarks = palmLandmarks.map((coord) => util.rotatePoint([...coord, 1], rotationMatrix));\n const boxAroundPalm = this.calculateLandmarksBoundingBox(rotatedPalmLandmarks);\n return box.enlargeBox(box.squarifyBox(boxAroundPalm), palmBoxEnlargeFactor);\n }\n\n getBoxForHandLandmarks(landmarks) {\n const boundingBox = this.calculateLandmarksBoundingBox(landmarks);\n const boxAroundHand = box.enlargeBox(box.squarifyBox(boundingBox), handBoxEnlargeFactor);\n boxAroundHand.palmLandmarks = [];\n for (let i = 0; i < palmLandmarkIds.length; i++) {\n boxAroundHand.palmLandmarks.push(landmarks[palmLandmarkIds[i]].slice(0, 2));\n }\n return boxAroundHand;\n }\n\n transformRawCoords(rawCoords, box2, angle, rotationMatrix) {\n const boxSize = box.getBoxSize(box2);\n const scaleFactor = [boxSize[0] / this.inputSize, boxSize[1] / this.inputSize, (boxSize[0] + boxSize[1]) / this.inputSize / 2];\n const coordsScaled = rawCoords.map((coord) => [\n scaleFactor[0] * (coord[0] - this.inputSize / 2),\n scaleFactor[1] * (coord[1] - this.inputSize / 2),\n scaleFactor[2] * coord[2],\n ]);\n const coordsRotationMatrix = util.buildRotationMatrix(angle, [0, 0]);\n const coordsRotated = coordsScaled.map((coord) => {\n const rotated = util.rotatePoint(coord, coordsRotationMatrix);\n return [...rotated, coord[2]];\n });\n const inverseRotationMatrix = util.invertTransformMatrix(rotationMatrix);\n const boxCenter = [...box.getBoxCenter(box2), 1];\n const originalBoxCenter = [\n util.dot(boxCenter, inverseRotationMatrix[0]),\n util.dot(boxCenter, inverseRotationMatrix[1]),\n ];\n return coordsRotated.map((coord) => [\n Math.trunc(coord[0] + originalBoxCenter[0]),\n Math.trunc(coord[1] + originalBoxCenter[1]),\n Math.trunc(coord[2]),\n ]);\n }\n\n async estimateHands(image, config) {\n let useFreshBox = false;\n\n // run new detector every skipFrames unless we only want box to start with\n let boxes;\n\n // console.log(this.skipped, config.hand.skipFrames, !config.hand.landmarks, !config.skipFrame);\n if ((this.skipped === 0) || (this.skipped > config.hand.skipFrames) || !config.hand.landmarks || !config.skipFrame) {\n boxes = await this.handDetector.estimateHandBounds(image, config);\n this.skipped = 0;\n }\n if (config.skipFrame) this.skipped++;\n\n // if detector result count doesn't match current working set, use it to reset current working set\n if (boxes && (boxes.length > 0) && ((boxes.length !== this.detectedHands) && (this.detectedHands !== config.hand.maxDetected) || !config.hand.landmarks)) {\n this.detectedHands = 0;\n this.storedBoxes = [...boxes];\n // for (const possible of boxes) this.storedBoxes.push(possible);\n if (this.storedBoxes.length > 0) useFreshBox = true;\n }\n const hands: Array<{ landmarks?: number[], confidence: number, box: { topLeft: number[], bottomRight: number[] } }> = [];\n\n // go through working set of boxes\n for (let i = 0; i < this.storedBoxes.length; i++) {\n const currentBox = this.storedBoxes[i];\n if (!currentBox) continue;\n if (config.hand.landmarks) {\n const angle = config.hand.rotation ? util.computeRotation(currentBox.palmLandmarks[palmLandmarksPalmBase], currentBox.palmLandmarks[palmLandmarksMiddleFingerBase]) : 0;\n const palmCenter = box.getBoxCenter(currentBox);\n const palmCenterNormalized = [palmCenter[0] / image.shape[2], palmCenter[1] / image.shape[1]];\n const rotatedImage = config.hand.rotation && tf.ENV.flags.IS_BROWSER ? tf.image.rotateWithOffset(image, angle, 0, palmCenterNormalized) : image.clone();\n const rotationMatrix = util.buildRotationMatrix(-angle, palmCenter);\n const newBox = useFreshBox ? this.getBoxForPalmLandmarks(currentBox.palmLandmarks, rotationMatrix) : currentBox;\n const croppedInput = box.cutBoxFromImageAndResize(newBox, rotatedImage, [this.inputSize, this.inputSize]);\n const handImage = croppedInput.div(255);\n croppedInput.dispose();\n rotatedImage.dispose();\n const [confidenceT, keypoints] = await this.handPoseModel.predict(handImage) as Array;\n handImage.dispose();\n const confidence = confidenceT.dataSync()[0];\n confidenceT.dispose();\n if (confidence >= config.hand.minConfidence) {\n const keypointsReshaped = tf.reshape(keypoints, [-1, 3]);\n const rawCoords = keypointsReshaped.arraySync();\n keypoints.dispose();\n keypointsReshaped.dispose();\n const coords = this.transformRawCoords(rawCoords, newBox, angle, rotationMatrix);\n const nextBoundingBox = this.getBoxForHandLandmarks(coords);\n this.storedBoxes[i] = { ...nextBoundingBox, confidence };\n const result = {\n landmarks: coords,\n confidence,\n box: { topLeft: nextBoundingBox.startPoint, bottomRight: nextBoundingBox.endPoint },\n };\n hands.push(result);\n } else {\n this.storedBoxes[i] = null;\n }\n keypoints.dispose();\n } else {\n // const enlarged = box.enlargeBox(box.squarifyBox(box.shiftBox(currentBox, HAND_BOX_SHIFT_VECTOR)), handBoxEnlargeFactor);\n const enlarged = box.enlargeBox(box.squarifyBox(currentBox), handBoxEnlargeFactor);\n const result = {\n confidence: currentBox.confidence,\n box: { topLeft: enlarged.startPoint, bottomRight: enlarged.endPoint },\n };\n hands.push(result);\n }\n }\n this.storedBoxes = this.storedBoxes.filter((a) => a !== null);\n this.detectedHands = hands.length;\n return hands;\n }\n}\n", "/**\n * BlazePose Module\n */\n\n// paper: https://ai.googleblog.com/2020/08/on-device-real-time-body-pose-tracking.html\n\nimport { log, join } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\nimport * as annotations from './annotations';\nimport { Tensor, GraphModel } from '../tfjs/types';\nimport { Body } from '../result';\n\nlet model: GraphModel;\n\nexport async function load(config) {\n if (!model) {\n // @ts-ignore type mismatch for Graphmodel\n model = await tf.loadGraphModel(join(config.modelBasePath, config.body.modelPath));\n model['width'] = parseInt(model['signature'].inputs['input_1:0'].tensorShape.dim[2].size);\n model['height'] = parseInt(model['signature'].inputs['input_1:0'].tensorShape.dim[1].size);\n if (!model || !model['modelUrl']) log('load model failed:', config.body.modelPath);\n else if (config.debug) log('load model:', model['modelUrl']);\n } else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\nexport async function predict(image, config): Promise {\n if (!model) return [];\n if (!config.body.enabled) return [];\n const imgSize = { width: image.shape[2], height: image.shape[1] };\n const resize = tf.image.resizeBilinear(image, [model['width'], model['height']], false);\n const normalize = tf.div(resize, [255.0]);\n resize.dispose();\n const resT = await model.predict(normalize) as Array;\n const points = resT.find((t) => (t.size === 195 || t.size === 155))?.dataSync() || []; // order of output tensors may change between models, full has 195 and upper has 155 items\n resT.forEach((t) => t.dispose());\n normalize.dispose();\n const keypoints: Array<{ id, part, position: [number, number, number], positionRaw: [number, number, number], score, presence }> = [];\n const labels = points?.length === 195 ? annotations.full : annotations.upper; // full model has 39 keypoints, upper has 31 keypoints\n const depth = 5; // each points has x,y,z,visibility,presence\n for (let i = 0; i < points.length / depth; i++) {\n keypoints.push({\n id: i,\n part: labels[i],\n position: [\n Math.trunc(imgSize.width * points[depth * i + 0] / 255), // return normalized x value istead of 0..255\n Math.trunc(imgSize.height * points[depth * i + 1] / 255), // return normalized y value istead of 0..255\n Math.trunc(points[depth * i + 2]) + 0, // fix negative zero\n ],\n positionRaw: [\n points[depth * i + 0] / 255, // return x value normalized to 0..1\n points[depth * i + 1] / 255, // return y value normalized to 0..1\n points[depth * i + 2] + 0, // fix negative zero\n ],\n score: (100 - Math.trunc(100 / (1 + Math.exp(points[depth * i + 3])))) / 100, // reverse sigmoid value\n presence: (100 - Math.trunc(100 / (1 + Math.exp(points[depth * i + 4])))) / 100, // reverse sigmoid value\n });\n }\n const x = keypoints.map((a) => a.position[0]);\n const y = keypoints.map((a) => a.position[1]);\n const box: [number, number, number, number] = [\n Math.min(...x),\n Math.min(...y),\n Math.max(...x) - Math.min(...x),\n Math.max(...y) - Math.min(...x),\n ];\n const boxRaw: [number, number, number, number] = [0, 0, 0, 0]; // not yet implemented\n const score = keypoints.reduce((prev, curr) => (curr.score > prev ? curr.score : prev), 0);\n return [{ id: 0, score, box, boxRaw, keypoints }];\n}\n", "export const full = [\n 'nose',\n 'leftEyeInside',\n 'leftEye',\n 'leftEyeOutside',\n 'rightEyeInside',\n 'rightEye',\n 'rightEyeOutside',\n 'leftEar',\n 'rightEar',\n 'leftMouth',\n 'rightMouth',\n 'leftShoulder',\n 'rightShoulder',\n 'leftElbow',\n 'rightElbow',\n 'leftWrist',\n 'rightWrist',\n 'leftPalm',\n 'rightPalm',\n 'leftIndex',\n 'rightIndex',\n 'leftPinky',\n 'rightPinky',\n 'leftHip',\n 'rightHip',\n 'leftKnee',\n 'rightKnee',\n 'leftAnkle',\n 'rightAnkle',\n 'leftHeel',\n 'rightHeel',\n 'leftFoot',\n 'rightFoot',\n 'midHip',\n 'forehead',\n 'leftThumb',\n 'leftHand',\n 'rightThumb',\n 'rightHand',\n];\n\nexport const upper = [\n 'nose',\n 'leftEyeInside',\n 'leftEye',\n 'leftEyeOutside',\n 'rightEyeInside',\n 'rightEye',\n 'rightEyeOutside',\n 'leftEar',\n 'rightEar',\n 'leftMouth',\n 'rightMouth',\n 'leftShoulder',\n 'rightShoulder',\n 'leftElbow',\n 'rightElbow',\n 'left:15',\n 'right:16',\n 'left:17',\n 'right:18',\n 'left:19',\n 'right:20',\n 'left:21',\n 'right:22',\n 'leftChest',\n 'rightChest',\n 'neck',\n 'forehead',\n 'left:27',\n 'right:28',\n 'left:29',\n 'right:30',\n];\n", "/**\n * EfficientPose Module\n */\n\nimport { log, join } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\nimport { Body } from '../result';\nimport { GraphModel } from '../tfjs/types';\n\nlet model: GraphModel;\n\ntype Keypoints = { score: number, part: string, position: [number, number], positionRaw: [number, number] };\n\nconst keypoints: Array = [];\nlet box: [number, number, number, number] = [0, 0, 0, 0];\nlet boxRaw: [number, number, number, number] = [0, 0, 0, 0];\nlet score = 0;\nlet skipped = Number.MAX_SAFE_INTEGER;\n\nconst bodyParts = ['head', 'neck', 'rightShoulder', 'rightElbow', 'rightWrist', 'chest', 'leftShoulder', 'leftElbow', 'leftWrist', 'pelvis', 'rightHip', 'rightKnee', 'rightAnkle', 'leftHip', 'leftKnee', 'leftAnkle'];\n\nexport async function load(config) {\n if (!model) {\n // @ts-ignore type mismatch on GraphModel\n model = await tf.loadGraphModel(join(config.modelBasePath, config.body.modelPath));\n if (!model || !model['modelUrl']) log('load model failed:', config.body.modelPath);\n else if (config.debug) log('load model:', model['modelUrl']);\n } else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\n// performs argmax and max functions on a 2d tensor\nfunction max2d(inputs, minScore) {\n const [width, height] = inputs.shape;\n return tf.tidy(() => {\n // modulus op implemented in tf\n const mod = (a, b) => tf.sub(a, tf.mul(tf.div(a, tf.scalar(b, 'int32')), tf.scalar(b, 'int32')));\n // combine all data\n const reshaped = tf.reshape(inputs, [height * width]);\n // get highest score\n const newScore = tf.max(reshaped, 0).dataSync()[0];\n if (newScore > minScore) {\n // skip coordinate calculation is score is too low\n const coords = tf.argMax(reshaped, 0);\n const x = mod(coords, width).dataSync()[0];\n const y = tf.div(coords, tf.scalar(width, 'int32')).dataSync()[0];\n return [x, y, newScore];\n }\n return [0, 0, newScore];\n });\n}\n\nexport async function predict(image, config): Promise {\n if ((skipped < config.body.skipFrames) && config.skipFrame && Object.keys(keypoints).length > 0) {\n skipped++;\n return [{ id: 0, score, box, boxRaw, keypoints }];\n }\n skipped = 0;\n return new Promise(async (resolve) => {\n const tensor = tf.tidy(() => {\n if (!model.inputs[0].shape) return null;\n const resize = tf.image.resizeBilinear(image, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false);\n const enhance = tf.mul(resize, 2);\n const norm = enhance.sub(1);\n return norm;\n });\n\n let resT;\n if (config.body.enabled) resT = await model.predict(tensor);\n tensor.dispose();\n\n if (resT) {\n keypoints.length = 0;\n const squeeze = resT.squeeze();\n tf.dispose(resT);\n // body parts are basically just a stack of 2d tensors\n const stack = squeeze.unstack(2);\n tf.dispose(squeeze);\n // process each unstacked tensor as a separate body part\n for (let id = 0; id < stack.length; id++) {\n // actual processing to get coordinates and score\n const [x, y, partScore] = max2d(stack[id], config.body.minConfidence);\n if (score > config.body.minConfidence) {\n keypoints.push({\n score: Math.round(100 * partScore) / 100,\n part: bodyParts[id],\n positionRaw: [ // normalized to 0..1\n // @ts-ignore model is not undefined here\n x / model.inputs[0].shape[2], y / model.inputs[0].shape[1],\n ],\n position: [ // normalized to input image size\n // @ts-ignore model is not undefined here\n Math.round(image.shape[2] * x / model.inputs[0].shape[2]), Math.round(image.shape[1] * y / model.inputs[0].shape[1]),\n ],\n });\n }\n }\n stack.forEach((s) => tf.dispose(s));\n }\n score = keypoints.reduce((prev, curr) => (curr.score > prev ? curr.score : prev), 0);\n const x = keypoints.map((a) => a.position[0]);\n const y = keypoints.map((a) => a.position[1]);\n box = [\n Math.min(...x),\n Math.min(...y),\n Math.max(...x) - Math.min(...x),\n Math.max(...y) - Math.min(...y),\n ];\n const xRaw = keypoints.map((a) => a.positionRaw[0]);\n const yRaw = keypoints.map((a) => a.positionRaw[1]);\n boxRaw = [\n Math.min(...xRaw),\n Math.min(...yRaw),\n Math.max(...xRaw) - Math.min(...xRaw),\n Math.max(...yRaw) - Math.min(...yRaw),\n ];\n resolve([{ id: 0, score, box, boxRaw, keypoints }]);\n });\n}\n", "/**\n * EfficientPose Module\n */\n\nimport { log, join } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\nimport { Body } from '../result';\nimport { GraphModel } from '../tfjs/types';\n\nlet model: GraphModel;\n\ntype Keypoints = { score: number, part: string, position: [number, number], positionRaw: [number, number] };\n\nconst keypoints: Array = [];\nlet box: [number, number, number, number] = [0, 0, 0, 0];\nlet boxRaw: [number, number, number, number] = [0, 0, 0, 0];\nlet score = 0;\nlet skipped = Number.MAX_SAFE_INTEGER;\n\nconst bodyParts = ['nose', 'leftEye', 'rightEye', 'leftEar', 'rightEar', 'leftShoulder', 'rightShoulder', 'leftElbow', 'rightElbow', 'leftWrist', 'rightWrist', 'leftHip', 'rightHip', 'leftKnee', 'rightKnee', 'leftAnkle', 'rightAnkle'];\n\nexport async function load(config) {\n if (!model) {\n // @ts-ignore type mismatch on GraphModel\n model = await tf.loadGraphModel(join(config.modelBasePath, config.body.modelPath));\n if (!model || !model['modelUrl']) log('load model failed:', config.body.modelPath);\n else if (config.debug) log('load model:', model['modelUrl']);\n } else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\nexport async function predict(image, config): Promise {\n if ((skipped < config.body.skipFrames) && config.skipFrame && Object.keys(keypoints).length > 0) {\n skipped++;\n return [{ id: 0, score, box, boxRaw, keypoints }];\n }\n skipped = 0;\n return new Promise(async (resolve) => {\n const tensor = tf.tidy(() => {\n if (!model.inputs[0].shape) return null;\n const resize = tf.image.resizeBilinear(image, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false);\n const cast = tf.cast(resize, 'int32');\n return cast;\n });\n\n let resT;\n if (config.body.enabled) resT = await model.predict(tensor);\n tensor.dispose();\n\n if (resT) {\n keypoints.length = 0;\n const res = resT.arraySync();\n tf.dispose(resT);\n const kpt = res[0][0];\n for (let id = 0; id < kpt.length; id++) {\n score = kpt[id][2];\n if (score > config.body.minConfidence) {\n keypoints.push({\n score: Math.round(100 * score) / 100,\n part: bodyParts[id],\n positionRaw: [ // normalized to 0..1\n kpt[id][1],\n kpt[id][0],\n ],\n position: [ // normalized to input image size\n Math.round(image.shape[2] * kpt[id][1]),\n Math.round(image.shape[1] * kpt[id][0]),\n ],\n });\n }\n }\n }\n score = keypoints.reduce((prev, curr) => (curr.score > prev ? curr.score : prev), 0);\n const x = keypoints.map((a) => a.position[0]);\n const y = keypoints.map((a) => a.position[1]);\n box = [\n Math.min(...x),\n Math.min(...y),\n Math.max(...x) - Math.min(...x),\n Math.max(...y) - Math.min(...y),\n ];\n const xRaw = keypoints.map((a) => a.positionRaw[0]);\n const yRaw = keypoints.map((a) => a.positionRaw[1]);\n boxRaw = [\n Math.min(...xRaw),\n Math.min(...yRaw),\n Math.max(...xRaw) - Math.min(...xRaw),\n Math.max(...yRaw) - Math.min(...yRaw),\n ];\n resolve([{ id: 0, score, box, boxRaw, keypoints }]);\n });\n}\n", "/**\n * NanoDet object detection module\n */\n\nimport { log, join } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\nimport { labels } from './labels';\nimport { Item } from '../result';\n\nlet model;\nlet last: Array = [];\nlet skipped = Number.MAX_SAFE_INTEGER;\n\nconst scaleBox = 2.5; // increase box size\n\nexport async function load(config) {\n if (!model) {\n model = await tf.loadGraphModel(join(config.modelBasePath, config.object.modelPath));\n const inputs = Object.values(model.modelSignature['inputs']);\n model.inputSize = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : null;\n if (!model.inputSize) throw new Error(`Human: Cannot determine model inputSize: ${config.object.modelPath}`);\n if (!model || !model.modelUrl) log('load model failed:', config.object.modelPath);\n else if (config.debug) log('load model:', model.modelUrl);\n } else if (config.debug) log('cached model:', model.modelUrl);\n return model;\n}\n\nasync function process(res, inputSize, outputShape, config) {\n let id = 0;\n let results: Array = [];\n for (const strideSize of [1, 2, 4]) { // try each stride size as it detects large/medium/small objects\n // find scores, boxes, classes\n tf.tidy(() => { // wrap in tidy to automatically deallocate temp tensors\n const baseSize = strideSize * 13; // 13x13=169, 26x26=676, 52x52=2704\n // find boxes and scores output depending on stride\n const scoresT = res.find((a) => (a.shape[1] === (baseSize ** 2) && a.shape[2] === labels.length))?.squeeze();\n const featuresT = res.find((a) => (a.shape[1] === (baseSize ** 2) && a.shape[2] < labels.length))?.squeeze();\n const boxesMax = featuresT.reshape([-1, 4, featuresT.shape[1] / 4]); // reshape [output] to [4, output / 4] where number is number of different features inside each stride\n const boxIdx = boxesMax.argMax(2).arraySync(); // what we need is indexes of features with highest scores, not values itself\n const scores = scoresT.arraySync(); // optionally use exponential scores or just as-is\n for (let i = 0; i < scoresT.shape[0]; i++) { // total strides (x * y matrix)\n for (let j = 0; j < scoresT.shape[1]; j++) { // one score for each class\n const score = scores[i][j]; // get score for current position\n if (score > config.object.minConfidence && j !== 61) {\n const cx = (0.5 + Math.trunc(i % baseSize)) / baseSize; // center.x normalized to range 0..1\n const cy = (0.5 + Math.trunc(i / baseSize)) / baseSize; // center.y normalized to range 0..1\n const boxOffset = boxIdx[i].map((a) => a * (baseSize / strideSize / inputSize)); // just grab indexes of features with highest scores\n const [x, y] = [\n cx - (scaleBox / strideSize * boxOffset[0]),\n cy - (scaleBox / strideSize * boxOffset[1]),\n ];\n const [w, h] = [\n cx + (scaleBox / strideSize * boxOffset[2]) - x,\n cy + (scaleBox / strideSize * boxOffset[3]) - y,\n ];\n let boxRaw = [x, y, w, h]; // results normalized to range 0..1\n boxRaw = boxRaw.map((a) => Math.max(0, Math.min(a, 1))); // fix out-of-bounds coords\n const box = [ // results normalized to input image pixels\n boxRaw[0] * outputShape[0],\n boxRaw[1] * outputShape[1],\n boxRaw[2] * outputShape[0],\n boxRaw[3] * outputShape[1],\n ];\n const result = {\n id: id++,\n // strideSize,\n score: Math.round(100 * score) / 100,\n class: j + 1,\n label: labels[j].label,\n // center: [Math.trunc(outputShape[0] * cx), Math.trunc(outputShape[1] * cy)],\n // centerRaw: [cx, cy],\n box: (box.map((a) => Math.trunc(a))) as [number, number, number, number],\n boxRaw: boxRaw as [number, number, number, number],\n };\n results.push(result);\n }\n }\n }\n });\n }\n // deallocate tensors\n res.forEach((t) => tf.dispose(t));\n\n // normally nms is run on raw results, but since boxes need to be calculated this way we skip calulcation of\n // unnecessary boxes and run nms only on good candidates (basically it just does IOU analysis as scores are already filtered)\n const nmsBoxes = results.map((a) => [a.boxRaw[1], a.boxRaw[0], a.boxRaw[3], a.boxRaw[2]]); // switches coordinates from x,y to y,x as expected by tf.nms\n const nmsScores = results.map((a) => a.score);\n let nmsIdx: Array = [];\n if (nmsBoxes && nmsBoxes.length > 0) {\n const nms = await tf.image.nonMaxSuppressionAsync(nmsBoxes, nmsScores, config.object.maxDetected, config.object.iouThreshold, config.object.minConfidence);\n nmsIdx = nms.dataSync();\n tf.dispose(nms);\n }\n\n // filter & sort results\n results = results\n .filter((a, idx) => nmsIdx.includes(idx))\n .sort((a, b) => (b.score - a.score));\n\n return results;\n}\n\nexport async function predict(image, config): Promise {\n if ((skipped < config.object.skipFrames) && config.skipFrame && (last.length > 0)) {\n skipped++;\n return last;\n }\n skipped = 0;\n return new Promise(async (resolve) => {\n const outputSize = [image.shape[2], image.shape[1]];\n const resize = tf.image.resizeBilinear(image, [model.inputSize, model.inputSize], false);\n const norm = resize.div(255);\n const transpose = norm.transpose([0, 3, 1, 2]);\n norm.dispose();\n resize.dispose();\n\n let objectT;\n if (config.object.enabled) objectT = await model.predict(transpose);\n transpose.dispose();\n\n const obj = await process(objectT, model.inputSize, outputSize, config);\n last = obj;\n resolve(obj);\n });\n}\n", "/**\n * CoCo Labels used by object detection modules\n */\nexport const labels = [\n { class: 1, label: 'person' },\n { class: 2, label: 'bicycle' },\n { class: 3, label: 'car' },\n { class: 4, label: 'motorcycle' },\n { class: 5, label: 'airplane' },\n { class: 6, label: 'bus' },\n { class: 7, label: 'train' },\n { class: 8, label: 'truck' },\n { class: 9, label: 'boat' },\n { class: 10, label: 'traffic light' },\n { class: 11, label: 'fire hydrant' },\n { class: 12, label: 'stop sign' },\n { class: 13, label: 'parking meter' },\n { class: 14, label: 'bench' },\n { class: 15, label: 'bird' },\n { class: 16, label: 'cat' },\n { class: 17, label: 'dog' },\n { class: 18, label: 'horse' },\n { class: 19, label: 'sheep' },\n { class: 20, label: 'cow' },\n { class: 21, label: 'elephant' },\n { class: 22, label: 'bear' },\n { class: 23, label: 'zebra' },\n { class: 24, label: 'giraffe' },\n { class: 25, label: 'backpack' },\n { class: 26, label: 'umbrella' },\n { class: 27, label: 'handbag' },\n { class: 28, label: 'tie' },\n { class: 29, label: 'suitcase' },\n { class: 30, label: 'frisbee' },\n { class: 31, label: 'skis' },\n { class: 32, label: 'snowboard' },\n { class: 33, label: 'sports ball' },\n { class: 34, label: 'kite' },\n { class: 35, label: 'baseball bat' },\n { class: 36, label: 'baseball glove' },\n { class: 37, label: 'skateboard' },\n { class: 38, label: 'surfboard' },\n { class: 39, label: 'tennis racket' },\n { class: 40, label: 'bottle' },\n { class: 41, label: 'wine glass' },\n { class: 42, label: 'cup' },\n { class: 43, label: 'fork' },\n { class: 44, label: 'knife' },\n { class: 45, label: 'spoon' },\n { class: 46, label: 'bowl' },\n { class: 47, label: 'banana' },\n { class: 48, label: 'apple' },\n { class: 49, label: 'sandwich' },\n { class: 50, label: 'orange' },\n { class: 51, label: 'broccoli' },\n { class: 52, label: 'carrot' },\n { class: 53, label: 'hot dog' },\n { class: 54, label: 'pizza' },\n { class: 55, label: 'donut' },\n { class: 56, label: 'cake' },\n { class: 57, label: 'chair' },\n { class: 58, label: 'couch' },\n { class: 59, label: 'potted plant' },\n { class: 60, label: 'bed' },\n { class: 61, label: 'dining table' },\n { class: 62, label: 'toilet' },\n { class: 63, label: 'tv' },\n { class: 64, label: 'laptop' },\n { class: 65, label: 'mouse' },\n { class: 66, label: 'remote' },\n { class: 67, label: 'keyboard' },\n { class: 68, label: 'cell phone' },\n { class: 69, label: 'microwave' },\n { class: 70, label: 'oven' },\n { class: 71, label: 'toaster' },\n { class: 72, label: 'sink' },\n { class: 73, label: 'refrigerator' },\n { class: 74, label: 'book' },\n { class: 75, label: 'clock' },\n { class: 76, label: 'vase' },\n { class: 77, label: 'scissors' },\n { class: 78, label: 'teddy bear' },\n { class: 79, label: 'hair drier' },\n { class: 80, label: 'toothbrush' },\n];\n", "/**\n * CenterNet object detection module\n */\n\nimport { log, join } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\nimport { labels } from './labels';\nimport { Item } from '../result';\n\nlet model;\nlet last: Item[] = [];\nlet skipped = Number.MAX_SAFE_INTEGER;\n\nexport async function load(config) {\n if (!model) {\n model = await tf.loadGraphModel(join(config.modelBasePath, config.object.modelPath));\n const inputs = Object.values(model.modelSignature['inputs']);\n model.inputSize = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : null;\n if (!model.inputSize) throw new Error(`Human: Cannot determine model inputSize: ${config.object.modelPath}`);\n if (!model || !model.modelUrl) log('load model failed:', config.object.modelPath);\n else if (config.debug) log('load model:', model.modelUrl);\n } else if (config.debug) log('cached model:', model.modelUrl);\n return model;\n}\n\nasync function process(res, inputSize, outputShape, config) {\n if (!res) return [];\n const results: Array = [];\n const detections = res.arraySync();\n const squeezeT = tf.squeeze(res);\n res.dispose();\n const arr = tf.split(squeezeT, 6, 1); // x1, y1, x2, y2, score, class\n squeezeT.dispose();\n const stackT = tf.stack([arr[1], arr[0], arr[3], arr[2]], 1); // reorder dims as tf.nms expects y, x\n const boxesT = stackT.squeeze();\n const scoresT = arr[4].squeeze();\n const classesT = arr[5].squeeze();\n arr.forEach((t) => t.dispose());\n const nmsT = await tf.image.nonMaxSuppressionAsync(boxesT, scoresT, config.object.maxDetected, config.object.iouThreshold, config.object.minConfidence);\n boxesT.dispose();\n scoresT.dispose();\n classesT.dispose();\n const nms = nmsT.dataSync();\n nmsT.dispose();\n let i = 0;\n for (const id of nms) {\n const score = Math.trunc(100 * detections[0][id][4]) / 100;\n const classVal = detections[0][id][5];\n const label = labels[classVal].label;\n const boxRaw = [\n detections[0][id][0] / inputSize,\n detections[0][id][1] / inputSize,\n detections[0][id][2] / inputSize,\n detections[0][id][3] / inputSize,\n ] as [number, number, number, number];\n const box = [\n Math.trunc(boxRaw[0] * outputShape[0]),\n Math.trunc(boxRaw[1] * outputShape[1]),\n Math.trunc(boxRaw[2] * outputShape[0]),\n Math.trunc(boxRaw[3] * outputShape[1]),\n ] as [number, number, number, number];\n results.push({ id: i++, score, class: classVal, label, box, boxRaw });\n }\n return results;\n}\n\nexport async function predict(input, config): Promise {\n if ((skipped < config.object.skipFrames) && config.skipFrame && (last.length > 0)) {\n skipped++;\n return last;\n }\n skipped = 0;\n return new Promise(async (resolve) => {\n const outputSize = [input.shape[2], input.shape[1]];\n const resize = tf.image.resizeBilinear(input, [model.inputSize, model.inputSize]);\n const objectT = config.object.enabled ? model.execute(resize, ['tower_0/detections']) : null;\n resize.dispose();\n\n const obj = await process(objectT, model.inputSize, outputSize, config);\n last = obj;\n resolve(obj);\n });\n}\n", "/**\n * Gesture detection module\n */\n\nimport { Gesture } from '../result';\n\nexport const body = (res): Gesture[] => {\n if (!res) return [];\n const gestures: Array<{ body: number, gesture: string }> = [];\n for (let i = 0; i < res.length; i++) {\n // raising hands\n const leftWrist = res[i].keypoints.find((a) => (a.part === 'leftWrist'));\n const rightWrist = res[i].keypoints.find((a) => (a.part === 'rightWrist'));\n const nose = res[i].keypoints.find((a) => (a.part === 'nose'));\n if (nose && leftWrist && rightWrist && (leftWrist.position.y < nose.position.y) && (rightWrist.position.y < nose.position.y)) gestures.push({ body: i, gesture: 'i give up' });\n else if (nose && leftWrist && (leftWrist.position.y < nose.position.y)) gestures.push({ body: i, gesture: 'raise left hand' });\n else if (nose && rightWrist && (rightWrist.position.y < nose.position.y)) gestures.push({ body: i, gesture: 'raise right hand' });\n\n // leaning\n const leftShoulder = res[i].keypoints.find((a) => (a.part === 'leftShoulder'));\n const rightShoulder = res[i].keypoints.find((a) => (a.part === 'rightShoulder'));\n if (leftShoulder && rightShoulder) gestures.push({ body: i, gesture: `leaning ${(leftShoulder.position.y > rightShoulder.position.y) ? 'left' : 'right'}` });\n }\n return gestures;\n};\n\nexport const face = (res): Gesture[] => {\n if (!res) return [];\n const gestures: Array<{ face: number, gesture: string }> = [];\n for (let i = 0; i < res.length; i++) {\n if (res[i].mesh && res[i].mesh.length > 0) {\n const eyeFacing = res[i].mesh[33][2] - res[i].mesh[263][2];\n if (Math.abs(eyeFacing) < 10) gestures.push({ face: i, gesture: 'facing center' });\n else gestures.push({ face: i, gesture: `facing ${eyeFacing < 0 ? 'left' : 'right'}` });\n const openLeft = Math.abs(res[i].mesh[374][1] - res[i].mesh[386][1]) / Math.abs(res[i].mesh[443][1] - res[i].mesh[450][1]); // center of eye inner lid y coord div center of wider eye border y coord\n if (openLeft < 0.2) gestures.push({ face: i, gesture: 'blink left eye' });\n const openRight = Math.abs(res[i].mesh[145][1] - res[i].mesh[159][1]) / Math.abs(res[i].mesh[223][1] - res[i].mesh[230][1]); // center of eye inner lid y coord div center of wider eye border y coord\n if (openRight < 0.2) gestures.push({ face: i, gesture: 'blink right eye' });\n const mouthOpen = Math.min(100, 500 * Math.abs(res[i].mesh[13][1] - res[i].mesh[14][1]) / Math.abs(res[i].mesh[10][1] - res[i].mesh[152][1]));\n if (mouthOpen > 10) gestures.push({ face: i, gesture: `mouth ${Math.trunc(mouthOpen)}% open` });\n const chinDepth = res[i].mesh[152][2];\n if (Math.abs(chinDepth) > 10) gestures.push({ face: i, gesture: `head ${chinDepth < 0 ? 'up' : 'down'}` });\n }\n }\n return gestures;\n};\n\nexport const iris = (res): Gesture[] => {\n if (!res) return [];\n const gestures: Array<{ iris: number, gesture: string }> = [];\n for (let i = 0; i < res.length; i++) {\n if (!res[i].annotations || !res[i].annotations.leftEyeIris || !res[i].annotations.rightEyeIris) continue;\n const sizeXLeft = res[i].annotations.leftEyeIris[3][0] - res[i].annotations.leftEyeIris[1][0];\n const sizeYLeft = res[i].annotations.leftEyeIris[4][1] - res[i].annotations.leftEyeIris[2][1];\n const areaLeft = Math.abs(sizeXLeft * sizeYLeft);\n\n const sizeXRight = res[i].annotations.rightEyeIris[3][0] - res[i].annotations.rightEyeIris[1][0];\n const sizeYRight = res[i].annotations.rightEyeIris[4][1] - res[i].annotations.rightEyeIris[2][1];\n const areaRight = Math.abs(sizeXRight * sizeYRight);\n\n let center = false;\n const difference = Math.abs(areaLeft - areaRight) / Math.max(areaLeft, areaRight);\n if (difference < 0.25) {\n center = true;\n gestures.push({ iris: i, gesture: 'facing center' });\n }\n\n const rightIrisCenterX = Math.abs(res[i].mesh[33][0] - res[i].annotations.rightEyeIris[0][0]) / res[i].box[2];\n const leftIrisCenterX = Math.abs(res[i].mesh[263][0] - res[i].annotations.leftEyeIris[0][0]) / res[i].box[2];\n if (leftIrisCenterX > 0.06 || rightIrisCenterX > 0.06) center = false;\n if (leftIrisCenterX > 0.06) gestures.push({ iris: i, gesture: 'looking right' });\n if (rightIrisCenterX > 0.06) gestures.push({ iris: i, gesture: 'looking left' });\n\n const rightIrisCenterY = Math.abs(res[i].mesh[145][1] - res[i].annotations.rightEyeIris[0][1]) / res[i].box[3];\n const leftIrisCenterY = Math.abs(res[i].mesh[374][1] - res[i].annotations.leftEyeIris[0][1]) / res[i].box[3];\n if (leftIrisCenterY < 0.01 || rightIrisCenterY < 0.01 || leftIrisCenterY > 0.022 || rightIrisCenterY > 0.022) center = false;\n if (leftIrisCenterY < 0.01 || rightIrisCenterY < 0.01) gestures.push({ iris: i, gesture: 'looking down' });\n if (leftIrisCenterY > 0.022 || rightIrisCenterY > 0.022) gestures.push({ iris: i, gesture: 'looking up' });\n\n // still center;\n if (center) gestures.push({ iris: i, gesture: 'looking center' });\n }\n return gestures;\n};\n\nexport const hand = (res): Gesture[] => {\n if (!res) return [];\n const gestures: Array<{ hand: number, gesture: string }> = [];\n for (let i = 0; i < res.length; i++) {\n const fingers: Array<{ name: string, position: number }> = [];\n for (const [finger, pos] of Object.entries(res[i]['annotations'])) {\n if (finger !== 'palmBase' && Array.isArray(pos)) fingers.push({ name: finger.toLowerCase(), position: pos[0] }); // get tip of each finger\n }\n if (fingers && fingers.length > 0) {\n const closest = fingers.reduce((best, a) => (best.position[2] < a.position[2] ? best : a));\n const highest = fingers.reduce((best, a) => (best.position[1] < a.position[1] ? best : a));\n gestures.push({ hand: i, gesture: `${closest.name} forward ${highest.name} up` });\n }\n }\n return gestures;\n};\n", "/*\nWebGLImageFilter by Dominic Szablewski: \n*/\n\nfunction GLProgram(gl, vertexSource, fragmentSource) {\n const _collect = function (source, prefix, collection) {\n const r = new RegExp('\\\\b' + prefix + ' \\\\w+ (\\\\w+)', 'ig');\n source.replace(r, (match, name) => {\n collection[name] = 0;\n return match;\n });\n };\n\n const _compile = function (source, type) {\n const shader = gl.createShader(type);\n gl.shaderSource(shader, source);\n gl.compileShader(shader);\n if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) throw new Error('Filter: GL compile failed', gl.getShaderInfoLog(shader));\n return shader;\n };\n\n this.uniform = {};\n this.attribute = {};\n const _vsh = _compile(vertexSource, gl.VERTEX_SHADER);\n const _fsh = _compile(fragmentSource, gl.FRAGMENT_SHADER);\n this.id = gl.createProgram();\n gl.attachShader(this.id, _vsh);\n gl.attachShader(this.id, _fsh);\n gl.linkProgram(this.id);\n\n if (!gl.getProgramParameter(this.id, gl.LINK_STATUS)) throw new Error('Filter: GL link failed', gl.getProgramInfoLog(this.id));\n\n gl.useProgram(this.id);\n // Collect attributes\n _collect(vertexSource, 'attribute', this.attribute);\n for (const a in this.attribute) this.attribute[a] = gl.getAttribLocation(this.id, a);\n // Collect uniforms\n _collect(vertexSource, 'uniform', this.uniform);\n _collect(fragmentSource, 'uniform', this.uniform);\n for (const u in this.uniform) this.uniform[u] = gl.getUniformLocation(this.id, u);\n}\n\n// export const GLImageFilter = function (params) {\nexport function GLImageFilter(params) {\n if (!params) params = { };\n let _drawCount = 0;\n let _sourceTexture = null;\n let _lastInChain = false;\n let _currentFramebufferIndex = -1;\n let _tempFramebuffers = [null, null];\n let _filterChain = [];\n let _width = -1;\n let _height = -1;\n let _vertexBuffer = null;\n let _currentProgram = null;\n const _filter = {};\n const _canvas = params.canvas || document.createElement('canvas');\n // key is the shader program source, value is the compiled program\n const _shaderProgramCache = { };\n const DRAW = { INTERMEDIATE: 1 };\n const gl = _canvas.getContext('webgl');\n if (!gl) throw new Error('Filter: getContext() failed');\n\n this.addFilter = function (name) {\n // eslint-disable-next-line prefer-rest-params\n const args = Array.prototype.slice.call(arguments, 1);\n const filter = _filter[name];\n _filterChain.push({ func: filter, args });\n };\n\n this.reset = function () {\n _filterChain = [];\n };\n\n const _resize = function (width, height) {\n // Same width/height? Nothing to do here\n if (width === _width && height === _height) { return; }\n _canvas.width = width;\n _width = width;\n _canvas.height = height;\n _height = height;\n // Create the context if we don't have it yet\n if (!_vertexBuffer) {\n // Create the vertex buffer for the two triangles [x, y, u, v] * 6\n const vertices = new Float32Array([\n -1, -1, 0, 1, 1, -1, 1, 1, -1, 1, 0, 0,\n -1, 1, 0, 0, 1, -1, 1, 1, 1, 1, 1, 0,\n ]);\n // eslint-disable-next-line no-unused-expressions\n (_vertexBuffer = gl.createBuffer(), gl.bindBuffer(gl.ARRAY_BUFFER, _vertexBuffer));\n gl.bufferData(gl.ARRAY_BUFFER, vertices, gl.STATIC_DRAW);\n gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, true);\n }\n gl.viewport(0, 0, _width, _height);\n // Delete old temp framebuffers\n _tempFramebuffers = [null, null];\n };\n\n const _createFramebufferTexture = function (width, height) {\n const fbo = gl.createFramebuffer();\n gl.bindFramebuffer(gl.FRAMEBUFFER, fbo);\n const renderbuffer = gl.createRenderbuffer();\n gl.bindRenderbuffer(gl.RENDERBUFFER, renderbuffer);\n const texture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, width, height, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, texture, 0);\n gl.bindTexture(gl.TEXTURE_2D, null);\n gl.bindFramebuffer(gl.FRAMEBUFFER, null);\n return { fbo, texture };\n };\n\n const _getTempFramebuffer = function (index) {\n _tempFramebuffers[index] = _tempFramebuffers[index] || _createFramebufferTexture(_width, _height);\n return _tempFramebuffers[index];\n };\n\n const _draw = function (flags = null) {\n let source = null;\n let target = null;\n let flipY = false;\n // Set up the source\n if (_drawCount === 0) {\n // First draw call - use the source texture\n source = _sourceTexture;\n } else {\n // All following draw calls use the temp buffer last drawn to\n source = _getTempFramebuffer(_currentFramebufferIndex)?.texture;\n }\n _drawCount++;\n // Set up the target\n if (_lastInChain && !(flags & DRAW.INTERMEDIATE)) {\n // Last filter in our chain - draw directly to the WebGL Canvas. We may\n // also have to flip the image vertically now\n target = null;\n flipY = _drawCount % 2 === 0;\n } else {\n // Intermediate draw call - get a temp buffer to draw to\n _currentFramebufferIndex = (_currentFramebufferIndex + 1) % 2;\n target = _getTempFramebuffer(_currentFramebufferIndex)?.fbo;\n }\n // Bind the source and target and draw the two triangles\n gl.bindTexture(gl.TEXTURE_2D, source);\n gl.bindFramebuffer(gl.FRAMEBUFFER, target);\n gl.uniform1f(_currentProgram.uniform.flipY, (flipY ? -1 : 1));\n gl.drawArrays(gl.TRIANGLES, 0, 6);\n };\n\n this.apply = function (image) {\n _resize(image.width, image.height);\n _drawCount = 0;\n // Create the texture for the input image if we haven't yet\n if (!_sourceTexture) _sourceTexture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, _sourceTexture);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);\n // No filters? Just draw\n if (_filterChain.length === 0) {\n // const program = _compileShader(SHADER.FRAGMENT_IDENTITY);\n _draw();\n return _canvas;\n }\n for (let i = 0; i < _filterChain.length; i++) {\n _lastInChain = (i === _filterChain.length - 1);\n const f = _filterChain[i];\n f.func.apply(this, f.args || []);\n }\n return _canvas;\n };\n\n const _compileShader = function (fragmentSource) {\n if (_shaderProgramCache[fragmentSource]) {\n _currentProgram = _shaderProgramCache[fragmentSource];\n gl.useProgram(_currentProgram.id);\n return _currentProgram;\n }\n // Compile shaders\n const SHADER = {};\n SHADER.VERTEX_IDENTITY = [\n 'precision highp float;',\n 'attribute vec2 pos;',\n 'attribute vec2 uv;',\n 'varying vec2 vUv;',\n 'uniform float flipY;',\n 'void main(void) {',\n 'vUv = uv;',\n 'gl_Position = vec4(pos.x, pos.y*flipY, 0.0, 1.);',\n '}',\n ].join('\\n');\n SHADER.FRAGMENT_IDENTITY = [\n 'precision highp float;',\n 'varying vec2 vUv;',\n 'uniform sampler2D texture;',\n 'void main(void) {',\n 'gl_FragColor = texture2D(texture, vUv);',\n '}',\n ].join('\\n');\n _currentProgram = new GLProgram(gl, SHADER.VERTEX_IDENTITY, fragmentSource);\n const floatSize = Float32Array.BYTES_PER_ELEMENT;\n const vertSize = 4 * floatSize;\n gl.enableVertexAttribArray(_currentProgram.attribute.pos);\n gl.vertexAttribPointer(_currentProgram.attribute.pos, 2, gl.FLOAT, false, vertSize, 0 * floatSize);\n gl.enableVertexAttribArray(_currentProgram.attribute.uv);\n gl.vertexAttribPointer(_currentProgram.attribute.uv, 2, gl.FLOAT, false, vertSize, 2 * floatSize);\n _shaderProgramCache[fragmentSource] = _currentProgram;\n return _currentProgram;\n };\n\n // -------------------------------------------------------------------------\n // Color Matrix Filter\n _filter.colorMatrix = function (matrix) {\n // Create a Float32 Array and normalize the offset component to 0-1\n const m = new Float32Array(matrix);\n m[4] /= 255;\n m[9] /= 255;\n m[14] /= 255;\n m[19] /= 255;\n // Can we ignore the alpha value? Makes things a bit faster.\n const shader = (m[18] === 1 && m[3] === 0 && m[8] === 0 && m[13] === 0 && m[15] === 0 && m[16] === 0 && m[17] === 0 && m[19] === 0)\n ? _filter.colorMatrix.SHADER.WITHOUT_ALPHA\n : _filter.colorMatrix.SHADER.WITH_ALPHA;\n const program = _compileShader(shader);\n gl.uniform1fv(program.uniform.m, m);\n _draw();\n };\n _filter.colorMatrix.SHADER = {};\n _filter.colorMatrix.SHADER.WITH_ALPHA = [\n 'precision highp float;',\n 'varying vec2 vUv;',\n 'uniform sampler2D texture;',\n 'uniform float m[20];',\n 'void main(void) {',\n 'vec4 c = texture2D(texture, vUv);',\n 'gl_FragColor.r = m[0] * c.r + m[1] * c.g + m[2] * c.b + m[3] * c.a + m[4];',\n 'gl_FragColor.g = m[5] * c.r + m[6] * c.g + m[7] * c.b + m[8] * c.a + m[9];',\n 'gl_FragColor.b = m[10] * c.r + m[11] * c.g + m[12] * c.b + m[13] * c.a + m[14];',\n 'gl_FragColor.a = m[15] * c.r + m[16] * c.g + m[17] * c.b + m[18] * c.a + m[19];',\n '}',\n ].join('\\n');\n _filter.colorMatrix.SHADER.WITHOUT_ALPHA = [\n 'precision highp float;',\n 'varying vec2 vUv;',\n 'uniform sampler2D texture;',\n 'uniform float m[20];',\n 'void main(void) {',\n 'vec4 c = texture2D(texture, vUv);',\n 'gl_FragColor.r = m[0] * c.r + m[1] * c.g + m[2] * c.b + m[4];',\n 'gl_FragColor.g = m[5] * c.r + m[6] * c.g + m[7] * c.b + m[9];',\n 'gl_FragColor.b = m[10] * c.r + m[11] * c.g + m[12] * c.b + m[14];',\n 'gl_FragColor.a = c.a;',\n '}',\n ].join('\\n');\n\n _filter.brightness = function (brightness) {\n const b = (brightness || 0) + 1;\n _filter.colorMatrix([\n b, 0, 0, 0, 0,\n 0, b, 0, 0, 0,\n 0, 0, b, 0, 0,\n 0, 0, 0, 1, 0,\n ]);\n };\n\n _filter.saturation = function (amount) {\n const x = (amount || 0) * 2 / 3 + 1;\n const y = ((x - 1) * -0.5);\n _filter.colorMatrix([\n x, y, y, 0, 0,\n y, x, y, 0, 0,\n y, y, x, 0, 0,\n 0, 0, 0, 1, 0,\n ]);\n };\n\n _filter.desaturate = function () {\n _filter.saturation(-1);\n };\n\n _filter.contrast = function (amount) {\n const v = (amount || 0) + 1;\n const o = -128 * (v - 1);\n\n _filter.colorMatrix([\n v, 0, 0, 0, o,\n 0, v, 0, 0, o,\n 0, 0, v, 0, o,\n 0, 0, 0, 1, 0,\n ]);\n };\n\n _filter.negative = function () {\n _filter.contrast(-2);\n };\n\n _filter.hue = function (rotation) {\n rotation = (rotation || 0) / 180 * Math.PI;\n const cos = Math.cos(rotation);\n const sin = Math.sin(rotation);\n const lumR = 0.213;\n const lumG = 0.715;\n const lumB = 0.072;\n\n _filter.colorMatrix([\n lumR + cos * (1 - lumR) + sin * (-lumR), lumG + cos * (-lumG) + sin * (-lumG), lumB + cos * (-lumB) + sin * (1 - lumB), 0, 0,\n lumR + cos * (-lumR) + sin * (0.143), lumG + cos * (1 - lumG) + sin * (0.140), lumB + cos * (-lumB) + sin * (-0.283), 0, 0,\n lumR + cos * (-lumR) + sin * (-(1 - lumR)), lumG + cos * (-lumG) + sin * (lumG), lumB + cos * (1 - lumB) + sin * (lumB), 0, 0,\n 0, 0, 0, 1, 0,\n ]);\n };\n\n _filter.desaturateLuminance = function () {\n _filter.colorMatrix([\n 0.2764723, 0.9297080, 0.0938197, 0, -37.1,\n 0.2764723, 0.9297080, 0.0938197, 0, -37.1,\n 0.2764723, 0.9297080, 0.0938197, 0, -37.1,\n 0, 0, 0, 1, 0,\n ]);\n };\n\n _filter.sepia = function () {\n _filter.colorMatrix([\n 0.393, 0.7689999, 0.18899999, 0, 0,\n 0.349, 0.6859999, 0.16799999, 0, 0,\n 0.272, 0.5339999, 0.13099999, 0, 0,\n 0, 0, 0, 1, 0,\n ]);\n };\n\n _filter.brownie = function () {\n _filter.colorMatrix([\n 0.5997023498159715, 0.34553243048391263, -0.2708298674538042, 0, 47.43192855600873,\n -0.037703249837783157, 0.8609577587992641, 0.15059552388459913, 0, -36.96841498319127,\n 0.24113635128153335, -0.07441037908422492, 0.44972182064877153, 0, -7.562075277591283,\n 0, 0, 0, 1, 0,\n ]);\n };\n\n _filter.vintagePinhole = function () {\n _filter.colorMatrix([\n 0.6279345635605994, 0.3202183420819367, -0.03965408211312453, 0, 9.651285835294123,\n 0.02578397704808868, 0.6441188644374771, 0.03259127616149294, 0, 7.462829176470591,\n 0.0466055556782719, -0.0851232987247891, 0.5241648018700465, 0, 5.159190588235296,\n 0, 0, 0, 1, 0,\n ]);\n };\n\n _filter.kodachrome = function () {\n _filter.colorMatrix([\n 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502,\n -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203,\n -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946,\n 0, 0, 0, 1, 0,\n ]);\n };\n\n _filter.technicolor = function () {\n _filter.colorMatrix([\n 1.9125277891456083, -0.8545344976951645, -0.09155508482755585, 0, 11.793603434377337,\n -0.3087833385928097, 1.7658908555458428, -0.10601743074722245, 0, -70.35205161461398,\n -0.231103377548616, -0.7501899197440212, 1.847597816108189, 0, 30.950940869491138,\n 0, 0, 0, 1, 0,\n ]);\n };\n\n _filter.polaroid = function () {\n _filter.colorMatrix([\n 1.438, -0.062, -0.062, 0, 0,\n -0.122, 1.378, -0.122, 0, 0,\n -0.016, -0.016, 1.483, 0, 0,\n 0, 0, 0, 1, 0,\n ]);\n };\n\n _filter.shiftToBGR = function () {\n _filter.colorMatrix([\n 0, 0, 1, 0, 0,\n 0, 1, 0, 0, 0,\n 1, 0, 0, 0, 0,\n 0, 0, 0, 1, 0,\n ]);\n };\n\n // -------------------------------------------------------------------------\n // Convolution Filter\n _filter.convolution = function (matrix) {\n const m = new Float32Array(matrix);\n const pixelSizeX = 1 / _width;\n const pixelSizeY = 1 / _height;\n const program = _compileShader(_filter.convolution.SHADER);\n gl.uniform1fv(program.uniform.m, m);\n gl.uniform2f(program.uniform.px, pixelSizeX, pixelSizeY);\n _draw();\n };\n\n _filter.convolution.SHADER = [\n 'precision highp float;',\n 'varying vec2 vUv;',\n 'uniform sampler2D texture;',\n 'uniform vec2 px;',\n 'uniform float m[9];',\n 'void main(void) {',\n 'vec4 c11 = texture2D(texture, vUv - px);', // top left\n 'vec4 c12 = texture2D(texture, vec2(vUv.x, vUv.y - px.y));', // top center\n 'vec4 c13 = texture2D(texture, vec2(vUv.x + px.x, vUv.y - px.y));', // top right\n 'vec4 c21 = texture2D(texture, vec2(vUv.x - px.x, vUv.y) );', // mid left\n 'vec4 c22 = texture2D(texture, vUv);', // mid center\n 'vec4 c23 = texture2D(texture, vec2(vUv.x + px.x, vUv.y) );', // mid right\n 'vec4 c31 = texture2D(texture, vec2(vUv.x - px.x, vUv.y + px.y) );', // bottom left\n 'vec4 c32 = texture2D(texture, vec2(vUv.x, vUv.y + px.y) );', // bottom center\n 'vec4 c33 = texture2D(texture, vUv + px );', // bottom right\n 'gl_FragColor = ',\n 'c11 * m[0] + c12 * m[1] + c22 * m[2] +',\n 'c21 * m[3] + c22 * m[4] + c23 * m[5] +',\n 'c31 * m[6] + c32 * m[7] + c33 * m[8];',\n 'gl_FragColor.a = c22.a;',\n '}',\n ].join('\\n');\n\n _filter.detectEdges = function () {\n _filter.convolution.call(this, [\n 0, 1, 0,\n 1, -4, 1,\n 0, 1, 0,\n ]);\n };\n\n _filter.sobelX = function () {\n _filter.convolution.call(this, [\n -1, 0, 1,\n -2, 0, 2,\n -1, 0, 1,\n ]);\n };\n\n _filter.sobelY = function () {\n _filter.convolution.call(this, [\n -1, -2, -1,\n 0, 0, 0,\n 1, 2, 1,\n ]);\n };\n\n _filter.sharpen = function (amount) {\n const a = amount || 1;\n _filter.convolution.call(this, [\n 0, -1 * a, 0,\n -1 * a, 1 + 4 * a, -1 * a,\n 0, -1 * a, 0,\n ]);\n };\n\n _filter.emboss = function (size) {\n const s = size || 1;\n _filter.convolution.call(this, [\n -2 * s, -1 * s, 0,\n -1 * s, 1, 1 * s,\n 0, 1 * s, 2 * s,\n ]);\n };\n\n // -------------------------------------------------------------------------\n // Blur Filter\n _filter.blur = function (size) {\n const blurSizeX = (size / 7) / _width;\n const blurSizeY = (size / 7) / _height;\n const program = _compileShader(_filter.blur.SHADER);\n // Vertical\n gl.uniform2f(program.uniform.px, 0, blurSizeY);\n _draw(DRAW.INTERMEDIATE);\n // Horizontal\n gl.uniform2f(program.uniform.px, blurSizeX, 0);\n _draw();\n };\n\n _filter.blur.SHADER = [\n 'precision highp float;',\n 'varying vec2 vUv;',\n 'uniform sampler2D texture;',\n 'uniform vec2 px;',\n 'void main(void) {',\n 'gl_FragColor = vec4(0.0);',\n 'gl_FragColor += texture2D(texture, vUv + vec2(-7.0*px.x, -7.0*px.y))*0.0044299121055113265;',\n 'gl_FragColor += texture2D(texture, vUv + vec2(-6.0*px.x, -6.0*px.y))*0.00895781211794;',\n 'gl_FragColor += texture2D(texture, vUv + vec2(-5.0*px.x, -5.0*px.y))*0.0215963866053;',\n 'gl_FragColor += texture2D(texture, vUv + vec2(-4.0*px.x, -4.0*px.y))*0.0443683338718;',\n 'gl_FragColor += texture2D(texture, vUv + vec2(-3.0*px.x, -3.0*px.y))*0.0776744219933;',\n 'gl_FragColor += texture2D(texture, vUv + vec2(-2.0*px.x, -2.0*px.y))*0.115876621105;',\n 'gl_FragColor += texture2D(texture, vUv + vec2(-1.0*px.x, -1.0*px.y))*0.147308056121;',\n 'gl_FragColor += texture2D(texture, vUv )*0.159576912161;',\n 'gl_FragColor += texture2D(texture, vUv + vec2( 1.0*px.x, 1.0*px.y))*0.147308056121;',\n 'gl_FragColor += texture2D(texture, vUv + vec2( 2.0*px.x, 2.0*px.y))*0.115876621105;',\n 'gl_FragColor += texture2D(texture, vUv + vec2( 3.0*px.x, 3.0*px.y))*0.0776744219933;',\n 'gl_FragColor += texture2D(texture, vUv + vec2( 4.0*px.x, 4.0*px.y))*0.0443683338718;',\n 'gl_FragColor += texture2D(texture, vUv + vec2( 5.0*px.x, 5.0*px.y))*0.0215963866053;',\n 'gl_FragColor += texture2D(texture, vUv + vec2( 6.0*px.x, 6.0*px.y))*0.00895781211794;',\n 'gl_FragColor += texture2D(texture, vUv + vec2( 7.0*px.x, 7.0*px.y))*0.0044299121055113265;',\n '}',\n ].join('\\n');\n\n // -------------------------------------------------------------------------\n // Pixelate Filter\n _filter.pixelate = function (size) {\n const blurSizeX = (size) / _width;\n const blurSizeY = (size) / _height;\n const program = _compileShader(_filter.pixelate.SHADER);\n // Horizontal\n gl.uniform2f(program.uniform.size, blurSizeX, blurSizeY);\n _draw();\n };\n\n _filter.pixelate.SHADER = [\n 'precision highp float;',\n 'varying vec2 vUv;',\n 'uniform vec2 size;',\n 'uniform sampler2D texture;',\n 'vec2 pixelate(vec2 coord, vec2 size) {',\n 'return floor( coord / size ) * size;',\n '}',\n 'void main(void) {',\n 'gl_FragColor = vec4(0.0);',\n 'vec2 coord = pixelate(vUv, size);',\n 'gl_FragColor += texture2D(texture, coord);',\n '}',\n ].join('\\n');\n}\n", "/**\n * Image Processing module used by Human\n */\n\nimport * as tf from '../../dist/tfjs.esm.js';\nimport * as fxImage from './imagefx';\nimport { Tensor } from '../tfjs/types';\n\nconst maxSize = 2048;\n// internal temp canvases\nlet inCanvas;\nlet outCanvas;\n// instance of fximage\nlet fx;\n\n// process input image and return tensor\n// input can be tensor, imagedata, htmlimageelement, htmlvideoelement\n// input is resized and run through imagefx filter\nexport function process(input, config): { tensor: Tensor | null, canvas: OffscreenCanvas | HTMLCanvasElement } {\n let tensor;\n if (!input) throw new Error('Human: Input is missing');\n // sanity checks since different browsers do not implement all dom elements\n if (\n !(input instanceof tf.Tensor)\n && !(typeof Image !== 'undefined' && input instanceof Image)\n && !(typeof ImageData !== 'undefined' && input instanceof ImageData)\n && !(typeof ImageBitmap !== 'undefined' && input instanceof ImageBitmap)\n && !(typeof HTMLImageElement !== 'undefined' && input instanceof HTMLImageElement)\n && !(typeof HTMLMediaElement !== 'undefined' && input instanceof HTMLMediaElement)\n && !(typeof HTMLVideoElement !== 'undefined' && input instanceof HTMLVideoElement)\n && !(typeof HTMLCanvasElement !== 'undefined' && input instanceof HTMLCanvasElement)\n && !(typeof OffscreenCanvas !== 'undefined' && input instanceof OffscreenCanvas)\n ) {\n throw new Error('Human: Input type is not recognized');\n }\n if (input instanceof tf.Tensor) {\n // if input is tensor, use as-is\n if (input.shape && input.shape.length === 4 && input.shape[0] === 1 && input.shape[3] === 3) tensor = tf.clone(input);\n else throw new Error(`Human: Input tensor shape must be [1, height, width, 3] and instead was ${input.shape}`);\n } else {\n // check if resizing will be needed\n const originalWidth = input['naturalWidth'] || input['videoWidth'] || input['width'] || (input['shape'] && (input['shape'][1] > 0));\n const originalHeight = input['naturalHeight'] || input['videoHeight'] || input['height'] || (input['shape'] && (input['shape'][2] > 0));\n if (!originalWidth || !originalHeight) return { tensor: null, canvas: inCanvas }; // video may become temporarily unavailable due to onresize\n let targetWidth = originalWidth;\n let targetHeight = originalHeight;\n if (targetWidth > maxSize) {\n targetWidth = maxSize;\n targetHeight = targetWidth * originalHeight / originalWidth;\n }\n if (targetHeight > maxSize) {\n targetHeight = maxSize;\n targetWidth = targetHeight * originalWidth / originalHeight;\n }\n\n // create our canvas and resize it if needed\n if (config.filter.width > 0) targetWidth = config.filter.width;\n else if (config.filter.height > 0) targetWidth = originalWidth * (config.filter.height / originalHeight);\n if (config.filter.height > 0) targetHeight = config.filter.height;\n else if (config.filter.width > 0) targetHeight = originalHeight * (config.filter.width / originalWidth);\n if (!targetWidth || !targetHeight) throw new Error('Human: Input cannot determine dimension');\n if (!inCanvas || (inCanvas?.width !== targetWidth) || (inCanvas?.height !== targetHeight)) {\n inCanvas = (typeof OffscreenCanvas !== 'undefined') ? new OffscreenCanvas(targetWidth, targetHeight) : document.createElement('canvas');\n if (inCanvas?.width !== targetWidth) inCanvas.width = targetWidth;\n if (inCanvas?.height !== targetHeight) inCanvas.height = targetHeight;\n }\n\n // draw input to our canvas\n const ctx = inCanvas.getContext('2d');\n if (input instanceof ImageData) {\n ctx.putImageData(input, 0, 0);\n } else {\n if (config.filter.flip && typeof ctx.translate !== 'undefined') {\n ctx.translate(originalWidth, 0);\n ctx.scale(-1, 1);\n ctx.drawImage(input, 0, 0, originalWidth, originalHeight, 0, 0, inCanvas?.width, inCanvas?.height);\n ctx.setTransform(1, 0, 0, 1, 0, 0); // resets transforms to defaults\n } else {\n ctx.drawImage(input, 0, 0, originalWidth, originalHeight, 0, 0, inCanvas?.width, inCanvas?.height);\n }\n }\n\n // imagefx transforms using gl\n if (config.filter.enabled) {\n if (!fx || !outCanvas || (inCanvas.width !== outCanvas.width) || (inCanvas?.height !== outCanvas?.height)) {\n outCanvas = (typeof OffscreenCanvas !== 'undefined') ? new OffscreenCanvas(inCanvas?.width, inCanvas?.height) : document.createElement('canvas');\n if (outCanvas?.width !== inCanvas?.width) outCanvas.width = inCanvas?.width;\n if (outCanvas?.height !== inCanvas?.height) outCanvas.height = inCanvas?.height;\n // log('created FX filter');\n fx = tf.ENV.flags.IS_BROWSER ? new fxImage.GLImageFilter({ canvas: outCanvas }) : null; // && (typeof document !== 'undefined')\n }\n if (!fx) return { tensor: null, canvas: inCanvas };\n fx.reset();\n fx.addFilter('brightness', config.filter.brightness); // must have at least one filter enabled\n if (config.filter.contrast !== 0) fx.addFilter('contrast', config.filter.contrast);\n if (config.filter.sharpness !== 0) fx.addFilter('sharpen', config.filter.sharpness);\n if (config.filter.blur !== 0) fx.addFilter('blur', config.filter.blur);\n if (config.filter.saturation !== 0) fx.addFilter('saturation', config.filter.saturation);\n if (config.filter.hue !== 0) fx.addFilter('hue', config.filter.hue);\n if (config.filter.negative) fx.addFilter('negative');\n if (config.filter.sepia) fx.addFilter('sepia');\n if (config.filter.vintage) fx.addFilter('brownie');\n if (config.filter.sepia) fx.addFilter('sepia');\n if (config.filter.kodachrome) fx.addFilter('kodachrome');\n if (config.filter.technicolor) fx.addFilter('technicolor');\n if (config.filter.polaroid) fx.addFilter('polaroid');\n if (config.filter.pixelate !== 0) fx.addFilter('pixelate', config.filter.pixelate);\n fx.apply(inCanvas);\n // read pixel data\n /*\n const gl = outCanvas.getContext('webgl');\n if (gl) {\n const glBuffer = new Uint8Array(outCanvas.width * outCanvas.height * 4);\n const pixBuffer = new Uint8Array(outCanvas.width * outCanvas.height * 3);\n gl.readPixels(0, 0, outCanvas.width, outCanvas.height, gl.RGBA, gl.UNSIGNED_BYTE, glBuffer);\n // gl returns rbga while we only need rgb, so discarding alpha channel\n // gl returns starting point as lower left, so need to invert vertical\n let i = 0;\n for (let y = outCanvas.height - 1; y >= 0; y--) {\n for (let x = 0; x < outCanvas.width; x++) {\n const index = (x + y * outCanvas.width) * 4;\n pixBuffer[i++] = glBuffer[index + 0];\n pixBuffer[i++] = glBuffer[index + 1];\n pixBuffer[i++] = glBuffer[index + 2];\n }\n }\n outCanvas.data = pixBuffer;\n }\n */\n } else {\n outCanvas = inCanvas;\n if (fx) fx = null;\n }\n\n // create tensor from image\n let pixels;\n if (outCanvas.data) { // if we have data, just convert to tensor\n const shape = [outCanvas.height, outCanvas.width, 3];\n pixels = tf.tensor3d(outCanvas.data, shape, 'int32');\n } else if (outCanvas instanceof ImageData) { // if input is imagedata, just use it\n pixels = tf.browser.fromPixels(outCanvas);\n } else if (config.backend === 'webgl' || config.backend === 'humangl') { // tf kernel-optimized method to get imagedata\n // we can use canvas as-is as it already has a context, so we do a silly one more canvas\n const tempCanvas = (typeof OffscreenCanvas !== 'undefined') ? new OffscreenCanvas(targetWidth, targetHeight) : document.createElement('canvas');\n tempCanvas.width = targetWidth;\n tempCanvas.height = targetHeight;\n const tempCtx = tempCanvas.getContext('2d');\n tempCtx?.drawImage(outCanvas, 0, 0);\n pixels = tf.browser.fromPixels(tempCanvas);\n } else { // cpu and wasm kernel does not implement efficient fromPixels method\n // we can use canvas as-is as it already has a context, so we do a silly one more canvas\n const tempCanvas = (typeof OffscreenCanvas !== 'undefined') ? new OffscreenCanvas(targetWidth, targetHeight) : document.createElement('canvas');\n tempCanvas.width = targetWidth;\n tempCanvas.height = targetHeight;\n const tempCtx = tempCanvas.getContext('2d');\n tempCtx?.drawImage(outCanvas, 0, 0);\n const data = tempCtx?.getImageData(0, 0, targetWidth, targetHeight);\n pixels = tf.browser.fromPixels(data);\n }\n const casted = pixels.toFloat();\n tensor = casted.expandDims(0);\n pixels.dispose();\n casted.dispose();\n }\n const canvas = config.filter.return ? outCanvas : null;\n return { tensor, canvas };\n}\n", "/**\n * Module that implements helper draw functions, exposed as human.draw\n */\n\nimport { TRI468 as triangulation } from '../blazeface/coords';\nimport { mergeDeep, now } from '../helpers';\nimport type { Result, Face, Body, Hand, Item, Gesture, Person } from '../result';\n\n/**\n * Draw Options\n * Accessed via `human.draw.options` or provided per each draw method as the drawOptions optional parameter\n * -color: draw color\n * -labelColor: color for labels\n * -shadowColor: optional shadow color for labels\n * -font: font for labels\n * -lineHeight: line height for labels, used for multi-line labels,\n * -lineWidth: width of any lines,\n * -pointSize: size of any point,\n * -roundRect: for boxes, round corners by this many pixels,\n * -drawPoints: should points be drawn,\n * -drawLabels: should labels be drawn,\n * -drawBoxes: should boxes be drawn,\n * -drawPolygons: should polygons be drawn,\n * -fillPolygons: should drawn polygons be filled,\n * -useDepth: use z-axis coordinate as color shade,\n * -useCurves: draw polygons as cures or as lines,\n * -bufferedOutput: experimental: allows to call draw methods multiple times for each detection and interpolate results between results thus achieving smoother animations\n */\nexport interface DrawOptions {\n color: string,\n labelColor: string,\n shadowColor: string,\n font: string,\n lineHeight: number,\n lineWidth: number,\n pointSize: number,\n roundRect: number,\n drawPoints: boolean,\n drawLabels: boolean,\n drawBoxes: boolean,\n drawPolygons: boolean,\n drawGaze: boolean,\n fillPolygons: boolean,\n useDepth: boolean,\n useCurves: boolean,\n bufferedOutput: boolean,\n}\n\nexport const options: DrawOptions = {\n color: 'rgba(173, 216, 230, 0.6)', // 'lightblue' with light alpha channel\n labelColor: 'rgba(173, 216, 230, 1)', // 'lightblue' with dark alpha channel\n shadowColor: 'black',\n font: 'small-caps 14px \"Segoe UI\"',\n lineHeight: 24,\n lineWidth: 6,\n pointSize: 2,\n roundRect: 28,\n drawPoints: false,\n drawLabels: true,\n drawBoxes: true,\n drawPolygons: true,\n drawGaze: true,\n fillPolygons: false,\n useDepth: true,\n useCurves: false,\n bufferedOutput: true,\n};\n\nconst rad2deg = (theta) => Math.round((theta * 180) / Math.PI);\n\nfunction point(ctx, x, y, z = 0, localOptions) {\n ctx.fillStyle = localOptions.useDepth && z ? `rgba(${127.5 + (2 * z)}, ${127.5 - (2 * z)}, 255, 0.3)` : localOptions.color;\n ctx.beginPath();\n ctx.arc(x, y, localOptions.pointSize, 0, 2 * Math.PI);\n ctx.fill();\n}\n\nfunction rect(ctx, x, y, width, height, localOptions) {\n ctx.beginPath();\n if (localOptions.useCurves) {\n const cx = (x + x + width) / 2;\n const cy = (y + y + height) / 2;\n ctx.ellipse(cx, cy, width / 2, height / 2, 0, 0, 2 * Math.PI);\n } else {\n ctx.lineWidth = localOptions.lineWidth;\n ctx.moveTo(x + localOptions.roundRect, y);\n ctx.lineTo(x + width - localOptions.roundRect, y);\n ctx.quadraticCurveTo(x + width, y, x + width, y + localOptions.roundRect);\n ctx.lineTo(x + width, y + height - localOptions.roundRect);\n ctx.quadraticCurveTo(x + width, y + height, x + width - localOptions.roundRect, y + height);\n ctx.lineTo(x + localOptions.roundRect, y + height);\n ctx.quadraticCurveTo(x, y + height, x, y + height - localOptions.roundRect);\n ctx.lineTo(x, y + localOptions.roundRect);\n ctx.quadraticCurveTo(x, y, x + localOptions.roundRect, y);\n ctx.closePath();\n }\n ctx.stroke();\n}\n\nfunction lines(ctx, points: [number, number, number?][] = [], localOptions) {\n if (points === undefined || points.length === 0) return;\n ctx.beginPath();\n ctx.moveTo(points[0][0], points[0][1]);\n for (const pt of points) {\n const z = pt[2] || 0;\n ctx.strokeStyle = localOptions.useDepth && z ? `rgba(${127.5 + (2 * z)}, ${127.5 - (2 * z)}, 255, 0.3)` : localOptions.color;\n ctx.fillStyle = localOptions.useDepth && z ? `rgba(${127.5 + (2 * z)}, ${127.5 - (2 * z)}, 255, 0.3)` : localOptions.color;\n ctx.lineTo(pt[0], Math.round(pt[1]));\n }\n ctx.stroke();\n if (localOptions.fillPolygons) {\n ctx.closePath();\n ctx.fill();\n }\n}\n\nfunction curves(ctx, points: [number, number, number?][] = [], localOptions) {\n if (points === undefined || points.length === 0) return;\n if (!localOptions.useCurves || points.length <= 2) {\n lines(ctx, points, localOptions);\n return;\n }\n ctx.moveTo(points[0][0], points[0][1]);\n for (let i = 0; i < points.length - 2; i++) {\n const xc = (points[i][0] + points[i + 1][0]) / 2;\n const yc = (points[i][1] + points[i + 1][1]) / 2;\n ctx.quadraticCurveTo(points[i][0], points[i][1], xc, yc);\n }\n ctx.quadraticCurveTo(points[points.length - 2][0], points[points.length - 2][1], points[points.length - 1][0], points[points.length - 1][1]);\n ctx.stroke();\n if (localOptions.fillPolygons) {\n ctx.closePath();\n ctx.fill();\n }\n}\n\nexport async function gesture(inCanvas: HTMLCanvasElement, result: Array, drawOptions?: DrawOptions) {\n const localOptions = mergeDeep(options, drawOptions);\n if (!result || !inCanvas) return;\n if (!(inCanvas instanceof HTMLCanvasElement)) return;\n const ctx = inCanvas.getContext('2d');\n if (!ctx) return;\n ctx.font = localOptions.font;\n ctx.fillStyle = localOptions.color;\n let i = 1;\n for (let j = 0; j < result.length; j++) {\n let where: unknown[] = []; // what&where is a record\n let what: unknown[] = []; // what&where is a record\n [where, what] = Object.entries(result[j]);\n if ((what.length > 1) && ((what[1] as string).length > 0)) {\n const who = where[1] as number > 0 ? `#${where[1]}` : '';\n const label = `${where[0]} ${who}: ${what[1]}`;\n if (localOptions.shadowColor && localOptions.shadowColor !== '') {\n ctx.fillStyle = localOptions.shadowColor;\n ctx.fillText(label, 8, 2 + (i * localOptions.lineHeight));\n }\n ctx.fillStyle = localOptions.labelColor;\n ctx.fillText(label, 6, 0 + (i * localOptions.lineHeight));\n i += 1;\n }\n }\n}\n\nexport async function face(inCanvas: HTMLCanvasElement, result: Array, drawOptions?: DrawOptions) {\n const localOptions = mergeDeep(options, drawOptions);\n if (!result || !inCanvas) return;\n if (!(inCanvas instanceof HTMLCanvasElement)) return;\n const ctx = inCanvas.getContext('2d');\n if (!ctx) return;\n for (const f of result) {\n ctx.font = localOptions.font;\n ctx.strokeStyle = localOptions.color;\n ctx.fillStyle = localOptions.color;\n if (localOptions.drawBoxes) rect(ctx, f.box[0], f.box[1], f.box[2], f.box[3], localOptions);\n // silly hack since fillText does not suport new line\n const labels:string[] = [];\n labels.push(`face: ${Math.trunc(100 * f.score)}%`);\n if (f.genderScore) labels.push(`${f.gender || ''} ${Math.trunc(100 * f.genderScore)}%`);\n if (f.age) labels.push(`age: ${f.age || ''}`);\n if (f.iris) labels.push(`distance: ${f.iris}`);\n if (f.emotion && f.emotion.length > 0) {\n const emotion = f.emotion.map((a) => `${Math.trunc(100 * a.score)}% ${a.emotion}`);\n if (emotion.length > 3) emotion.length = 3;\n labels.push(emotion.join(' '));\n }\n if (f.rotation && f.rotation.angle && f.rotation.gaze) {\n if (f.rotation.angle.roll) labels.push(`roll: ${rad2deg(f.rotation.angle.roll)}\u00B0 yaw:${rad2deg(f.rotation.angle.yaw)}\u00B0 pitch:${rad2deg(f.rotation.angle.pitch)}\u00B0`);\n if (f.rotation.gaze.bearing) labels.push(`gaze: ${rad2deg(f.rotation.gaze.bearing)}\u00B0`);\n }\n if (labels.length === 0) labels.push('face');\n ctx.fillStyle = localOptions.color;\n for (let i = labels.length - 1; i >= 0; i--) {\n const x = Math.max(f.box[0], 0);\n const y = i * localOptions.lineHeight + f.box[1];\n if (localOptions.shadowColor && localOptions.shadowColor !== '') {\n ctx.fillStyle = localOptions.shadowColor;\n ctx.fillText(labels[i], x + 5, y + 16);\n }\n ctx.fillStyle = localOptions.labelColor;\n ctx.fillText(labels[i], x + 4, y + 15);\n }\n ctx.lineWidth = 1;\n if (f.mesh && f.mesh.length > 0) {\n if (localOptions.drawPoints) {\n for (const pt of f.mesh) point(ctx, pt[0], pt[1], pt[2], localOptions);\n // for (const pt of f.meshRaw) point(ctx, pt[0] * inCanvas.offsetWidth, pt[1] * inCanvas.offsetHeight, pt[2]);\n }\n if (localOptions.drawPolygons) {\n ctx.lineWidth = 1;\n for (let i = 0; i < triangulation.length / 3; i++) {\n const points = [\n triangulation[i * 3 + 0],\n triangulation[i * 3 + 1],\n triangulation[i * 3 + 2],\n ].map((index) => f.mesh[index]);\n lines(ctx, points, localOptions);\n }\n // iris: array[center, left, top, right, bottom]\n if (f.annotations && f.annotations['leftEyeIris']) {\n ctx.strokeStyle = localOptions.useDepth ? 'rgba(255, 200, 255, 0.3)' : localOptions.color;\n ctx.beginPath();\n const sizeX = Math.abs(f.annotations['leftEyeIris'][3][0] - f.annotations['leftEyeIris'][1][0]) / 2;\n const sizeY = Math.abs(f.annotations['leftEyeIris'][4][1] - f.annotations['leftEyeIris'][2][1]) / 2;\n ctx.ellipse(f.annotations['leftEyeIris'][0][0], f.annotations['leftEyeIris'][0][1], sizeX, sizeY, 0, 0, 2 * Math.PI);\n ctx.stroke();\n if (localOptions.fillPolygons) {\n ctx.fillStyle = localOptions.useDepth ? 'rgba(255, 255, 200, 0.3)' : localOptions.color;\n ctx.fill();\n }\n }\n if (f.annotations && f.annotations['rightEyeIris']) {\n ctx.strokeStyle = localOptions.useDepth ? 'rgba(255, 200, 255, 0.3)' : localOptions.color;\n ctx.beginPath();\n const sizeX = Math.abs(f.annotations['rightEyeIris'][3][0] - f.annotations['rightEyeIris'][1][0]) / 2;\n const sizeY = Math.abs(f.annotations['rightEyeIris'][4][1] - f.annotations['rightEyeIris'][2][1]) / 2;\n ctx.ellipse(f.annotations['rightEyeIris'][0][0], f.annotations['rightEyeIris'][0][1], sizeX, sizeY, 0, 0, 2 * Math.PI);\n ctx.stroke();\n if (localOptions.fillPolygons) {\n ctx.fillStyle = localOptions.useDepth ? 'rgba(255, 255, 200, 0.3)' : localOptions.color;\n ctx.fill();\n }\n }\n if (localOptions.drawGaze && f.rotation?.gaze?.strength && f.rotation?.gaze?.bearing) {\n ctx.strokeStyle = 'pink';\n ctx.beginPath();\n\n const leftGaze = [\n f.annotations['leftEyeIris'][0][0] + (Math.sin(f.rotation.gaze.bearing) * f.rotation.gaze.strength * f.box[3]),\n f.annotations['leftEyeIris'][0][1] + (Math.cos(f.rotation.gaze.bearing) * f.rotation.gaze.strength * f.box[2]),\n ];\n ctx.moveTo(f.annotations['leftEyeIris'][0][0], f.annotations['leftEyeIris'][0][1]);\n ctx.lineTo(leftGaze[0], leftGaze[1]);\n\n const rightGaze = [\n f.annotations['rightEyeIris'][0][0] + (Math.sin(f.rotation.gaze.bearing) * f.rotation.gaze.strength * f.box[3]),\n f.annotations['rightEyeIris'][0][1] + (Math.cos(f.rotation.gaze.bearing) * f.rotation.gaze.strength * f.box[2]),\n ];\n ctx.moveTo(f.annotations['rightEyeIris'][0][0], f.annotations['rightEyeIris'][0][1]);\n ctx.lineTo(rightGaze[0], rightGaze[1]);\n\n ctx.stroke();\n }\n }\n }\n }\n}\n\nexport async function body(inCanvas: HTMLCanvasElement, result: Array, drawOptions?: DrawOptions) {\n const localOptions = mergeDeep(options, drawOptions);\n if (!result || !inCanvas) return;\n if (!(inCanvas instanceof HTMLCanvasElement)) return;\n const ctx = inCanvas.getContext('2d');\n if (!ctx) return;\n ctx.lineJoin = 'round';\n for (let i = 0; i < result.length; i++) {\n ctx.strokeStyle = localOptions.color;\n ctx.fillStyle = localOptions.color;\n ctx.lineWidth = localOptions.lineWidth;\n ctx.font = localOptions.font;\n if (localOptions.drawBoxes && result[i].box && result[i].box?.length === 4) {\n // @ts-ignore box may not exist\n rect(ctx, result[i].box[0], result[i].box[1], result[i].box[2], result[i].box[3], localOptions);\n if (localOptions.drawLabels) {\n if (localOptions.shadowColor && localOptions.shadowColor !== '') {\n ctx.fillStyle = localOptions.shadowColor;\n // @ts-ignore box may not exist\n ctx.fillText(`body ${100 * result[i].score}%`, result[i].box[0] + 3, 1 + result[i].box[1] + localOptions.lineHeight, result[i].box[2]);\n }\n ctx.fillStyle = localOptions.labelColor;\n // @ts-ignore box may not exist\n ctx.fillText(`body ${100 * result[i].score}%`, result[i].box[0] + 2, 0 + result[i].box[1] + localOptions.lineHeight, result[i].box[2]);\n }\n }\n if (localOptions.drawPoints) {\n for (let pt = 0; pt < result[i].keypoints.length; pt++) {\n ctx.fillStyle = localOptions.useDepth && result[i].keypoints[pt].position[2] ? `rgba(${127.5 + (2 * (result[i].keypoints[pt].position[2] || 0))}, ${127.5 - (2 * (result[i].keypoints[pt].position[2] || 0))}, 255, 0.5)` : localOptions.color;\n point(ctx, result[i].keypoints[pt].position[0], result[i].keypoints[pt].position[1], 0, localOptions);\n }\n }\n if (localOptions.drawLabels) {\n ctx.font = localOptions.font;\n if (result[i].keypoints) {\n for (const pt of result[i].keypoints) {\n ctx.fillStyle = localOptions.useDepth && pt.position[2] ? `rgba(${127.5 + (2 * pt.position[2])}, ${127.5 - (2 * pt.position[2])}, 255, 0.5)` : localOptions.color;\n ctx.fillText(`${pt.part} ${Math.trunc(100 * pt.score)}%`, pt.position[0] + 4, pt.position[1] + 4);\n }\n }\n }\n if (localOptions.drawPolygons && result[i].keypoints) {\n let part;\n const points: [number, number, number?][] = [];\n // shoulder line\n points.length = 0;\n part = result[i].keypoints.find((a) => a.part === 'leftShoulder');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'rightShoulder');\n if (part) points.push([part.position[0], part.position[1]]);\n curves(ctx, points, localOptions);\n // torso main\n points.length = 0;\n part = result[i].keypoints.find((a) => a.part === 'rightShoulder');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'rightHip');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'leftHip');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'leftShoulder');\n if (part) points.push([part.position[0], part.position[1]]);\n if (points.length === 4) lines(ctx, points, localOptions); // only draw if we have complete torso\n // leg left\n points.length = 0;\n part = result[i].keypoints.find((a) => a.part === 'leftHip');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'leftKnee');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'leftAnkle');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'leftHeel');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'leftFoot');\n if (part) points.push([part.position[0], part.position[1]]);\n curves(ctx, points, localOptions);\n // leg right\n points.length = 0;\n part = result[i].keypoints.find((a) => a.part === 'rightHip');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'rightKnee');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'rightAnkle');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'rightHeel');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'rightFoot');\n if (part) points.push([part.position[0], part.position[1]]);\n curves(ctx, points, localOptions);\n // arm left\n points.length = 0;\n part = result[i].keypoints.find((a) => a.part === 'leftShoulder');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'leftElbow');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'leftWrist');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'leftPalm');\n if (part) points.push([part.position[0], part.position[1]]);\n curves(ctx, points, localOptions);\n // arm right\n points.length = 0;\n part = result[i].keypoints.find((a) => a.part === 'rightShoulder');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'rightElbow');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'rightWrist');\n if (part) points.push([part.position[0], part.position[1]]);\n part = result[i].keypoints.find((a) => a.part === 'rightPalm');\n if (part) points.push([part.position[0], part.position[1]]);\n curves(ctx, points, localOptions);\n // draw all\n }\n }\n}\n\nexport async function hand(inCanvas: HTMLCanvasElement, result: Array, drawOptions?: DrawOptions) {\n const localOptions = mergeDeep(options, drawOptions);\n if (!result || !inCanvas) return;\n if (!(inCanvas instanceof HTMLCanvasElement)) return;\n const ctx = inCanvas.getContext('2d');\n if (!ctx) return;\n ctx.lineJoin = 'round';\n ctx.font = localOptions.font;\n for (const h of result) {\n if (localOptions.drawBoxes) {\n ctx.strokeStyle = localOptions.color;\n ctx.fillStyle = localOptions.color;\n rect(ctx, h.box[0], h.box[1], h.box[2], h.box[3], localOptions);\n if (localOptions.drawLabels) {\n if (localOptions.shadowColor && localOptions.shadowColor !== '') {\n ctx.fillStyle = localOptions.shadowColor;\n ctx.fillText('hand', h.box[0] + 3, 1 + h.box[1] + localOptions.lineHeight, h.box[2]);\n }\n ctx.fillStyle = localOptions.labelColor;\n ctx.fillText('hand', h.box[0] + 2, 0 + h.box[1] + localOptions.lineHeight, h.box[2]);\n }\n ctx.stroke();\n }\n if (localOptions.drawPoints) {\n if (h.keypoints && h.keypoints.length > 0) {\n for (const pt of h.keypoints) {\n ctx.fillStyle = localOptions.useDepth ? `rgba(${127.5 + (2 * pt[2])}, ${127.5 - (2 * pt[2])}, 255, 0.5)` : localOptions.color;\n point(ctx, pt[0], pt[1], 0, localOptions);\n }\n }\n }\n if (localOptions.drawLabels) {\n const addHandLabel = (part, title) => {\n ctx.fillStyle = localOptions.useDepth ? `rgba(${127.5 + (2 * part[part.length - 1][2])}, ${127.5 - (2 * part[part.length - 1][2])}, 255, 0.5)` : localOptions.color;\n ctx.fillText(title, part[part.length - 1][0] + 4, part[part.length - 1][1] + 4);\n };\n ctx.font = localOptions.font;\n addHandLabel(h.annotations['indexFinger'], 'index');\n addHandLabel(h.annotations['middleFinger'], 'middle');\n addHandLabel(h.annotations['ringFinger'], 'ring');\n addHandLabel(h.annotations['pinky'], 'pinky');\n addHandLabel(h.annotations['thumb'], 'thumb');\n addHandLabel(h.annotations['palmBase'], 'palm');\n }\n if (localOptions.drawPolygons) {\n const addHandLine = (part) => {\n if (!part) return;\n for (let i = 0; i < part.length; i++) {\n ctx.beginPath();\n ctx.strokeStyle = localOptions.useDepth ? `rgba(${127.5 + (2 * part[i][2])}, ${127.5 - (2 * part[i][2])}, 255, 0.5)` : localOptions.color;\n ctx.moveTo(part[i > 0 ? i - 1 : 0][0], part[i > 0 ? i - 1 : 0][1]);\n ctx.lineTo(part[i][0], part[i][1]);\n ctx.stroke();\n }\n };\n ctx.lineWidth = localOptions.lineWidth;\n addHandLine(h.annotations['indexFinger']);\n addHandLine(h.annotations['middleFinger']);\n addHandLine(h.annotations['ringFinger']);\n addHandLine(h.annotations['pinky']);\n addHandLine(h.annotations['thumb']);\n // addPart(h.annotations.palmBase);\n }\n }\n}\n\nexport async function object(inCanvas: HTMLCanvasElement, result: Array, drawOptions?: DrawOptions) {\n const localOptions = mergeDeep(options, drawOptions);\n if (!result || !inCanvas) return;\n if (!(inCanvas instanceof HTMLCanvasElement)) return;\n const ctx = inCanvas.getContext('2d');\n if (!ctx) return;\n ctx.lineJoin = 'round';\n ctx.font = localOptions.font;\n for (const h of result) {\n if (localOptions.drawBoxes) {\n ctx.strokeStyle = localOptions.color;\n ctx.fillStyle = localOptions.color;\n rect(ctx, h.box[0], h.box[1], h.box[2], h.box[3], localOptions);\n if (localOptions.drawLabels) {\n const label = `${Math.round(100 * h.score)}% ${h.label}`;\n if (localOptions.shadowColor && localOptions.shadowColor !== '') {\n ctx.fillStyle = localOptions.shadowColor;\n ctx.fillText(label, h.box[0] + 3, 1 + h.box[1] + localOptions.lineHeight, h.box[2]);\n }\n ctx.fillStyle = localOptions.labelColor;\n ctx.fillText(label, h.box[0] + 2, 0 + h.box[1] + localOptions.lineHeight, h.box[2]);\n }\n ctx.stroke();\n }\n }\n}\n\nexport async function person(inCanvas: HTMLCanvasElement, result: Array, drawOptions?: DrawOptions) {\n const localOptions = mergeDeep(options, drawOptions);\n if (!result || !inCanvas) return;\n if (!(inCanvas instanceof HTMLCanvasElement)) return;\n const ctx = inCanvas.getContext('2d');\n if (!ctx) return;\n ctx.lineJoin = 'round';\n ctx.font = localOptions.font;\n\n for (let i = 0; i < result.length; i++) {\n if (localOptions.drawBoxes) {\n ctx.strokeStyle = localOptions.color;\n ctx.fillStyle = localOptions.color;\n rect(ctx, result[i].box[0], result[i].box[1], result[i].box[2], result[i].box[3], localOptions);\n if (localOptions.drawLabels) {\n const label = `person #${i}`;\n if (localOptions.shadowColor && localOptions.shadowColor !== '') {\n ctx.fillStyle = localOptions.shadowColor;\n ctx.fillText(label, result[i].box[0] + 3, 1 + result[i].box[1] + localOptions.lineHeight, result[i].box[2]);\n }\n ctx.fillStyle = localOptions.labelColor;\n ctx.fillText(label, result[i].box[0] + 2, 0 + result[i].box[1] + localOptions.lineHeight, result[i].box[2]);\n }\n ctx.stroke();\n }\n }\n}\n\nexport async function canvas(inCanvas: HTMLCanvasElement, outCanvas: HTMLCanvasElement) {\n if (!inCanvas || !outCanvas) return;\n if (!(inCanvas instanceof HTMLCanvasElement) || !(outCanvas instanceof HTMLCanvasElement)) return;\n const outCtx = inCanvas.getContext('2d');\n outCtx?.drawImage(inCanvas, 0, 0);\n}\n\nexport async function all(inCanvas: HTMLCanvasElement, result: Result, drawOptions?: DrawOptions) {\n const timestamp = now();\n const localOptions = mergeDeep(options, drawOptions);\n if (!result || !inCanvas) return;\n if (!(inCanvas instanceof HTMLCanvasElement)) return;\n\n face(inCanvas, result.face, localOptions);\n body(inCanvas, result.body, localOptions);\n hand(inCanvas, result.hand, localOptions);\n object(inCanvas, result.object, localOptions);\n // person(inCanvas, result.persons, localOptions);\n gesture(inCanvas, result.gesture, localOptions); // gestures do not have buffering\n\n /*\n if (!bufferedResult) bufferedResult = result; // first pass\n else if (localOptions.bufferedOutput) calcBuffered(result); // do results interpolation\n else bufferedResult = result; // or just use results as-is\n const promises: Promise[] = [];\n promises.push(face(inCanvas, bufferedResult.face, localOptions));\n promises.push(body(inCanvas, bufferedResult.body, localOptions));\n promises.push(hand(inCanvas, bufferedResult.hand, localOptions));\n promises.push(object(inCanvas, bufferedResult.object, localOptions));\n // promises.push(person(inCanvas, bufferedResult.persons, localOptions));\n promises.push(gesture(inCanvas, result.gesture, localOptions)); // gestures do not have buffering\n // await Promise.all(promises);\n */\n result.performance.draw = Math.trunc(now() - timestamp);\n}\n", "/**\n * Module that analyzes existing results and recombines them into a unified person object\n */\n\nimport { Face, Body, Hand, Gesture, Person } from './result';\n\nexport function join(faces: Array, bodies: Array, hands: Array, gestures: Array, shape: Array | undefined): Array {\n let id = 0;\n const persons: Array = [];\n for (const face of faces) { // person is defined primarily by face and then we append other objects as found\n const person: Person = { id: id++, face, body: null, hands: { left: null, right: null }, gestures: [], box: [0, 0, 0, 0] };\n for (const body of bodies) {\n if (face.box[0] > body.box[0] // x within body\n && face.box[0] < body.box[0] + body.box[2]\n && face.box[1] + face.box[3] > body.box[1] // y within body\n && face.box[1] + face.box[3] < body.box[1] + body.box[3]) {\n person.body = body;\n }\n }\n if (person.body) { // only try to join hands if body is found\n for (const hand of hands) {\n if (hand.box[0] + hand.box[2] > person.body.box[0] // x within body for left hand\n && hand.box[0] + hand.box[2] < person.body.box[0] + person.body.box[2]\n && hand.box[1] + hand.box[3] > person.body.box[1] // x within body for left hand\n && hand.box[1] + hand.box[3] < person.body.box[1] + person.body.box[3]) {\n if (person.hands) person.hands.left = hand;\n }\n if (hand.box[0] < person.body.box[0] + person.body.box[2] // x within body for right hand\n && hand.box[0] > person.body.box[0]\n && hand.box[1] + hand.box[3] > person.body.box[1] // x within body for right hand\n && hand.box[1] + hand.box[3] < person.body.box[1] + person.body.box[3]) {\n if (person.hands) person.hands.right = hand;\n }\n }\n }\n for (const gesture of gestures) { // append all gestures according to ids\n if (gesture['face'] !== undefined && gesture['face'] === face.id) person.gestures?.push(gesture);\n else if (gesture['iris'] !== undefined && gesture['iris'] === face.id) person.gestures?.push(gesture);\n else if (gesture['body'] !== undefined && gesture['body'] === person.body?.id) person.gestures?.push(gesture);\n else if (gesture['hand'] !== undefined && gesture['hand'] === person.hands?.left?.id) person.gestures?.push(gesture);\n else if (gesture['hand'] !== undefined && gesture['hand'] === person.hands?.right?.id) person.gestures?.push(gesture);\n }\n\n // create new overarching box from all boxes beloning to person\n const x: number[] = [];\n const y: number[] = [];\n const extractXY = (box) => { // extract all [x, y] coordinates from boxes [x, y, width, height]\n if (box && box.length === 4) {\n x.push(box[0], box[0] + box[2]);\n y.push(box[1], box[1] + box[3]);\n }\n };\n extractXY(person.face?.box);\n extractXY(person.body?.box);\n extractXY(person.hands?.left?.box);\n extractXY(person.hands?.right?.box);\n const minX = Math.min(...x);\n const minY = Math.min(...y);\n person.box = [minX, minY, Math.max(...x) - minX, Math.max(...y) - minY]; // create new overarching box\n\n // shape is known so we calculate boxRaw as well\n if (shape && shape.length === 4) person.boxRaw = [person.box[0] / shape[2], person.box[1] / shape[1], person.box[2] / shape[2], person.box[3] / shape[1]];\n\n persons.push(person);\n }\n return persons;\n}\n", "/**\n * Module that interpolates results for smoother animations\n */\n\nimport type { Result, Face, Body, Hand, Item, Gesture, Person } from './result';\n\nconst bufferedResult: Result = { face: [], body: [], hand: [], gesture: [], object: [], persons: [], performance: {}, timestamp: 0 };\n\nexport function calc(newResult: Result): Result {\n // each record is only updated using deep clone when number of detected record changes, otherwise it will converge by itself\n // otherwise bufferedResult is a shallow clone of result plus updated local calculated values\n // thus mixing by-reference and by-value assignments to minimize memory operations\n\n const bufferedFactor = 1000 / (Date.now() - newResult.timestamp) / 4;\n\n // interpolate body results\n if (!bufferedResult.body || (newResult.body.length !== bufferedResult.body.length)) {\n bufferedResult.body = JSON.parse(JSON.stringify(newResult.body as Body[])); // deep clone once\n } else {\n for (let i = 0; i < newResult.body.length; i++) {\n const box = newResult.body[i].box // update box\n .map((b, j) => ((bufferedFactor - 1) * bufferedResult.body[i].box[j] + b) / bufferedFactor) as [number, number, number, number];\n const boxRaw = newResult.body[i].boxRaw // update boxRaw\n .map((b, j) => ((bufferedFactor - 1) * bufferedResult.body[i].boxRaw[j] + b) / bufferedFactor) as [number, number, number, number];\n const keypoints = (newResult.body[i].keypoints // update keypoints\n .map((keypoint, j) => ({\n score: keypoint.score,\n part: keypoint.part,\n position: [\n bufferedResult.body[i].keypoints[j] ? ((bufferedFactor - 1) * bufferedResult.body[i].keypoints[j].position[0] + keypoint.position[0]) / bufferedFactor : keypoint.position[0],\n bufferedResult.body[i].keypoints[j] ? ((bufferedFactor - 1) * bufferedResult.body[i].keypoints[j].position[1] + keypoint.position[1]) / bufferedFactor : keypoint.position[1],\n ],\n positionRaw: [\n bufferedResult.body[i].keypoints[j] ? ((bufferedFactor - 1) * bufferedResult.body[i].keypoints[j].positionRaw[0] + keypoint.positionRaw[0]) / bufferedFactor : keypoint.position[0],\n bufferedResult.body[i].keypoints[j] ? ((bufferedFactor - 1) * bufferedResult.body[i].keypoints[j].positionRaw[1] + keypoint.positionRaw[1]) / bufferedFactor : keypoint.position[1],\n ],\n }))) as Array<{ score: number, part: string, position: [number, number, number?], positionRaw: [number, number, number?] }>;\n bufferedResult.body[i] = { ...newResult.body[i], box, boxRaw, keypoints }; // shallow clone plus updated values\n }\n }\n\n // interpolate hand results\n if (!bufferedResult.hand || (newResult.hand.length !== bufferedResult.hand.length)) {\n bufferedResult.hand = JSON.parse(JSON.stringify(newResult.hand as Hand[])); // deep clone once\n } else {\n for (let i = 0; i < newResult.hand.length; i++) {\n const box = (newResult.hand[i].box// update box\n .map((b, j) => ((bufferedFactor - 1) * bufferedResult.hand[i].box[j] + b) / bufferedFactor)) as [number, number, number, number];\n const boxRaw = (newResult.hand[i].boxRaw // update boxRaw\n .map((b, j) => ((bufferedFactor - 1) * bufferedResult.hand[i].boxRaw[j] + b) / bufferedFactor)) as [number, number, number, number];\n const keypoints = newResult.hand[i].keypoints // update landmarks\n .map((landmark, j) => landmark\n .map((coord, k) => (((bufferedFactor - 1) * bufferedResult.hand[i].keypoints[j][k] + coord) / bufferedFactor)) as [number, number, number]);\n const keys = Object.keys(newResult.hand[i].annotations); // update annotations\n const annotations = {};\n for (const key of keys) {\n annotations[key] = newResult.hand[i].annotations[key]\n .map((val, j) => val.map((coord, k) => ((bufferedFactor - 1) * bufferedResult.hand[i].annotations[key][j][k] + coord) / bufferedFactor));\n }\n bufferedResult.hand[i] = { ...newResult.hand[i], box, boxRaw, keypoints, annotations }; // shallow clone plus updated values\n }\n }\n\n // interpolate face results\n if (!bufferedResult.face || (newResult.face.length !== bufferedResult.face.length)) {\n bufferedResult.face = JSON.parse(JSON.stringify(newResult.face as Face[])); // deep clone once\n } else {\n for (let i = 0; i < newResult.face.length; i++) {\n const box = (newResult.face[i].box // update box\n .map((b, j) => ((bufferedFactor - 1) * bufferedResult.face[i].box[j] + b) / bufferedFactor)) as [number, number, number, number];\n const boxRaw = (newResult.face[i].boxRaw // update boxRaw\n .map((b, j) => ((bufferedFactor - 1) * bufferedResult.face[i].boxRaw[j] + b) / bufferedFactor)) as [number, number, number, number];\n const rotation: {\n matrix: [number, number, number, number, number, number, number, number, number],\n angle: { roll: number, yaw: number, pitch: number },\n gaze: { bearing: number, strength: number }\n } = { matrix: [0, 0, 0, 0, 0, 0, 0, 0, 0], angle: { roll: 0, yaw: 0, pitch: 0 }, gaze: { bearing: 0, strength: 0 } };\n rotation.matrix = newResult.face[i].rotation?.matrix as [number, number, number, number, number, number, number, number, number];\n rotation.angle = {\n roll: ((bufferedFactor - 1) * (bufferedResult.face[i].rotation?.angle?.roll || 0) + (newResult.face[i].rotation?.angle?.roll || 0)) / bufferedFactor,\n yaw: ((bufferedFactor - 1) * (bufferedResult.face[i].rotation?.angle?.yaw || 0) + (newResult.face[i].rotation?.angle?.yaw || 0)) / bufferedFactor,\n pitch: ((bufferedFactor - 1) * (bufferedResult.face[i].rotation?.angle?.pitch || 0) + (newResult.face[i].rotation?.angle?.pitch || 0)) / bufferedFactor,\n };\n rotation.gaze = {\n // not fully correct due projection on circle, also causes wrap-around draw on jump from negative to positive\n bearing: ((bufferedFactor - 1) * (bufferedResult.face[i].rotation?.gaze?.bearing || 0) + (newResult.face[i].rotation?.gaze?.bearing || 0)) / bufferedFactor,\n strength: ((bufferedFactor - 1) * (bufferedResult.face[i].rotation?.gaze?.strength || 0) + (newResult.face[i].rotation?.gaze?.strength || 0)) / bufferedFactor,\n };\n bufferedResult.face[i] = { ...newResult.face[i], rotation, box, boxRaw }; // shallow clone plus updated values\n }\n }\n\n // interpolate object detection results\n if (!bufferedResult.object || (newResult.object.length !== bufferedResult.object.length)) {\n bufferedResult.object = JSON.parse(JSON.stringify(newResult.object as Item[])); // deep clone once\n } else {\n for (let i = 0; i < newResult.object.length; i++) {\n const box = (newResult.object[i].box // update box\n .map((b, j) => ((bufferedFactor - 1) * bufferedResult.object[i].box[j] + b) / bufferedFactor)) as [number, number, number, number];\n const boxRaw = (newResult.object[i].boxRaw // update boxRaw\n .map((b, j) => ((bufferedFactor - 1) * bufferedResult.object[i].boxRaw[j] + b) / bufferedFactor)) as [number, number, number, number];\n bufferedResult.object[i] = { ...newResult.object[i], box, boxRaw }; // shallow clone plus updated values\n }\n }\n\n // interpolate person results\n const newPersons = newResult.persons; // trigger getter function\n if (!bufferedResult.persons || (newPersons.length !== bufferedResult.persons.length)) {\n bufferedResult.persons = JSON.parse(JSON.stringify(newPersons as Person[]));\n } else {\n for (let i = 0; i < newPersons.length; i++) { // update person box, we don't update the rest as it's updated as reference anyhow\n bufferedResult.persons[i].box = (newPersons[i].box\n .map((box, j) => ((bufferedFactor - 1) * bufferedResult.persons[i].box[j] + box) / bufferedFactor)) as [number, number, number, number];\n }\n }\n\n // just copy latest gestures without interpolation\n bufferedResult.gesture = newResult.gesture as Gesture[];\n bufferedResult.performance = newResult.performance;\n\n return bufferedResult;\n}\n", "/**\n * Embedded sample images used during warmup in dataURL format\n */\n\n// data:image/jpeg;base64,\nexport const face = `\n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`;\n\n// data:image/jpeg;base64,\nexport const body = `\n/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAsICAoIBwsKCQoNDAsNERwSEQ8PESIZGhQcKSQrKigk\nJyctMkA3LTA9MCcnOEw5PUNFSElIKzZPVU5GVEBHSEX/2wBDAQwNDREPESESEiFFLicuRUVFRUVF\nRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUX/wAARCASwBLADASIA\nAhEBAxEB/8QAGwABAAIDAQEAAAAAAAAAAAAAAAEDAgQFBgf/xABDEAEAAgECBAMECQIDBgUFAQAA\nAQIDBBEFEiExE0FRBiJhcRQjMkJSgZGhsWLBJDNyFSVTY3OSNEPR4fAHFjWCokT/xAAYAQEAAwEA\nAAAAAAAAAAAAAAAAAQIDBP/EACARAQEBAQADAQEBAQEBAAAAAAABAhEDITFBEjJRIhP/2gAMAwEA\nAhEDEQA/APqYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAKNTq8OkxzfNkisQC8eb1XtRNbzXT4q7eU2nu0MntRq/D8StMccvW29ZmdvgjsTyvZjxOLj\n+s8WLxn8TFPXs6Oj9oct7c14rkxz22nrB2I49KOdTjelmszfmpMeUxv/AA28OqwZ4icWWtt/SUi4\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmdo3nsPNe0Pt\nFh09Z0+DNWL7+9O/7A3eJcZppsV5raI27esvH6jX5ddM25p79Ilo59VbUZOe2Tm/PeGvfPfT2iKR\nPLv1+DO678XmW/a97U6TtOyzTbTF538/T9WjTNecm9a7126tqk3rSYxY5ta1plRZqZNXGjyZcPXl\nmZmsx+qjBrsuO16xM7eXRt04JrdTltk5OWJnfaWf0a2lty5MdZnfzSn+WOHiOutFpjHa9e8bQ2fp\n+alYy462pk7zXbuxjPesbRS0f6ZZV1ET1tErzXFLHo+A+1ddZf6NrI8PJHa1vN6iJi0bxMTHwfOa\nzhzd61v1846utwniM6DUdb3nBaNrVmd9vjC/ZVePYirBqMWppz4rxaPgtEAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAItaK1m09ojcHnvarjM8P0vh49+a/eY8ng9D\nh1fGM1rxjtGPfvbzdbjuTJxHX48cTPNltM/KsS9Dw7S49Jp6UpHaGe2vjz1y9J7LYK13vHWe7bj2\nex1tvM80ekuxW3RnW3Vm6P5jRx8H0+OYmMcb+bapo8GKPdpC6bQwtdHU8JpWkdJ/JweL6e23iU67\nd4dubSqyVi9Zi0bwIs68XGp36TtEq7ZJmZmevzdbifCKWtbJinkt6eTgZPFw32t+sRurbWVzxs1y\nRv6T8V1NZNPtfq0seTm+Kevr+SZuxXjvaPiV8N4viycto9HseG6+uu08W6Rkj7UPmFck1tE1nlmP\nLd3eA8V8HVVi1pjq6Ma/pnqce/ERMTETHaUrKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAADW19+TQ5p/p2bLS4v04Zmt5VjeQeJ4bjnLqsupv+Ka1+ERLv4reTmcNxcuC\nvy3l0qdI2hlr66sT02ot0ZV7qqrInruzrVZLGSZ37JjqgYTG0K5lbaFVhDT1Ub456RPweY4hixWi\neSdpjvD1eWejz3FNHWYtkpvFo9EIseb3tS3SerOms22rfpPqZKzvvHSYUz70TExG6Gdbs2rljeJ/\nMx5L0vEzPaelnOi98c9J2bFNTFpit47+a+PVUvx9T9nOIfT+GV5p3yY/ds67wvsXqpxau+G09Lx+\nr3TqrEAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADV4ljnLw3U0jvO\nO0fs2lWqyUw6XLkyfYrWZkHldBEV09eveG3Fq1mI3jd4vPrOIaid8G9MP3Y38k6fNrt/rMk9Ou8s\ntfXXn49rGWInuy8SO/k5Gl1E3rG/fzbOe94wTy99mbRvTrMOOvNfJWsesywniukrG/jU6fF43WYN\nTmtEeJtEQ06aSmK2+bNtEd+qfSO17unF9Hmvy1y13XWyVmN4tExLxVK8PmNq5NrT58zawam+m/yc\n0Xj8NpRYSvQZ7xEOdqI3rPozxayNRXe0ct/ON03jmrKB5nV4q1yTO20Obmv4c+cx8HoeI6WZpNoj\nq83niYmYscU0r8aJ6T1n49zeJ+Meqm1drb9J+Kd5p136StGVem9l9TbHxLDFp7W7+sS+q1nesT6w\n+PcAzVjiGHftzQ+v4f8AJpv6On8jH9ZgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAABp8VrW/C9TW0ztOO3b5Nxp8VmI4bn37TWYB8f1HFtTfUfR9FWJmsdZ9I7MtJxDX5s\nd8ta1y0xzteaR2277rcuhycP12SceLxMeWNpjttHwlu8I0mfQ1y+D7k5YmJmY36T36Ka43z/AF1t\ncI1ds+qxVj7/AEej19PCw9HJ4NoK4OIU5Y35YmZdzVTGebVZabx5jJS+Tmns81rNLm1Wrzc9rVw4\nYibbem72mXTTS0w0M3BvEta1bWrM95ie5EanY87wXgNOL6XPfxraXLhra/W28bR/dzYzarBqJxRe\nbzE7Rt5vWU9n8mPHOGmS0Ypnea1naJb+k9ncNLR7u2y/WcxXO4TOoyUrN6zD0FaW5Y3hu49FiwUi\nKxCvLMR0hlW0jn6ukWw3iXjOJzbDlneOj3GaN6zDzfFOH+LE7SRGo83XNSZ2lbG2/WfdlvaT2cy6\nrNFInlrv1mfJ37cK4PwTTxOoidRm2+/2/KFuyMp47XB4LivXiunrH2b2iH2qn2K/J8x4fGDNxTSZ\n9Nh8OviRvTyfT6xtWI+DeXs9MNZubypASqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAOZx6/LoOWPvWiHTcf2hiZ0e8fc2mf1E5+vP/AEeuSd7RC2uKtI6QjHfeINTfwtPf\nJvty9WPfbt/lucP03gxfJf7d/wBoReYpm97zaNeLb4Ims9Nt94auDjem1Wo5PFi1onylS+1o7l8V\nbxvtupjDMdNkYtXS1+Stt+m63xImEJ4xjHER2ZxMUjeUTO3VRmydBbjLJqPi08mbeVOXJPq1sl5Q\nVbkz9+rRy35rxHqzmZlVEe/Ez5LRlW5iyfR6zffaIjq1OSNZps2a21rZInafSPJhxGMl9LStLRWM\nlorM/A4dkrWbYfLZC2W/7K6eubX6b4RzT+W76K8b7G6X62cu3Sten59nsm3j+OXz3/0ANGIAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0OIYfpOHPijvNNo+fdvtXJO18k/\n/OwPFYbz2ls3jx8VqW6xMdWPEdP9D4lkx/dt79flLLHbkxTPwY6nt2512ORTRzE2x4/dpE7cvkme\nE4IrW3hRMxO8THRtU1FKWtvtvK2upx22rzRCtXkqzh2jtF7ZbT122b01ndnpuWuP3Z3+Ky20qDVv\nfauzVy3mejZzNK8dVjqi87KLRLYtXruqvXzkQp7Qoid88R6rcl+WGlW0/Sa22mfhCZOq2x082ix6\njkm822pO8VrPdr4dNObVeDo8XW3uzMbzK+mvxT7szE27cvnu9j7PcNjSaXx8mOIzZevbrEeic5tN\n+SZnpt8J4fHD9HXHO3PPW0x/DeBtJxx29vaAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAKNRim9Z5e89Nl4DzXtVh5babURHrSf7f3ec1+qnDorWrvvt5Pccb0n0zhmWk\nRvevv1+cPE2rGTFNZU26PFfxwa5dVkjelI2772nZnX6bbrEUq3o0d678u8wmuDL2ittvVjXdneeK\ncGv4jpJ6U56+kS7+j118+GLXpakzHaWlp9NNY3tv+bbiYiNoQy1y30uyZJlrWmZnuym6q1iIJnop\nyW2Te8bdWnnypQqzZOadokiIpSZntWN5lrxki19vNRxrUeBwnNNd+fJEY6/OejXLn3Xe/wDp9wyn\nE8uo4lqqxblv7lJ26T6vpD5X7G8QycKzeBMbzMRM1/FH/wA/h9QwZ6ajDXLitvWzRgsAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeL45w+dDrZvWv1OWd4+E+j2jX\n12jx67TWw5Y6T2nzifU+rZ1y9eHwzDYxxEy18+DJodXfT5o96vafWPVbjyxDn1OOzHudbM0rt2UW\niI69mVtRXZq5tREb9VUoy2iIlRbJ0UX1VZ6btTLrI7V6yk62M2oisT1c7JmtkttVMUyZp6x0beDS\nRWOvdKijDimvWd3G9pNRMfRcNfvZOb9Hpb0itJeP47k/3hgjaZnbaP1XxWW3T0movbNS0W645nbf\n0nrMPpXs3xamoxdJiLbe/X1n8Uf3fKsOTw4jbaXo+EarJhtGTHMxeJ6xH7Sti9Zaj6x3HM4NxXFx\nDS1mtoi8dJrv2l011QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAGjxLhODieOIye7kr9m8d4eM4to9RwjPXFa0ZIvG9bR0fQXmPbDFvTTZPOJmEWS/V8bs9R43NxLL\nG8eFbePg1bajU5/s0l1ceKLx1hbjwRE9mOpx0y2uRTSZsm3PMw2aaKtIjo6kYo9EXpET0hVLXxYK\nxC6MZvyx1lFs0RHfaPiCnU12pLyHGNDbUajBekWma2npWN3p8+opa20e9LSyZLxExTlpM+vdOdcZ\na9tPS8MyUvFrzWlI6727u1pYxYrbVmb7x+TQx6au3Nqcl7/0rcmW9axGnwZJj1novmxnZXV0fFp4\nZxLBPgTGK8xzXr5fOH0bFlpmxVyY7Rato3iYfNuG2x56Wrqa8s2jz+7Lu8O12bS6jkwzN6THNNI6\ntvrN68Y4rxlx1vHa0bskAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAA4XtTTm0OKfTJ/aXdcL2pyRGjwU362yb7fkJz9eTxxyZJjyltRXzUZK7TFtl9Lbwy06YzrHwa+\nfJFd/wCVt8m0bQ0eS2qzcm+1K/an+zNZFL5M1pjFXeI72ky48eGnPkvNp27+TPU6nHpMfLXaIjpE\nerk5dRMxOfN1mPeisfshW1ne1a1577Y6x5R3U0zze31FOWI6ze0byU098kRlzbxM9qrMlPDpyRMR\nMd5Vt/Ihp5898mWZm1pjftE91uCt7fCI7dWeHDEW3t723l6rslqxWZnasR+SYhFbzhnfxJ2jyeq9\nlcGXWZcmW0zWKxHLaI7794eJx5fpfEKabT8t8l5isddo3l9S4VjrwrRUwzSJt3tav3pdOL6Y6dXD\nj8HFWm+/KsU4NRXPvtWazHquWVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAa+fXYNP9u8b+kdZBsDkZOO135cWOZn4y5Wu4xqctbe9y19Kp4njt6vi+PDm8DFMWybbzPlV\n5PiGtz67UxbNbeKTtWIjaIXYpnwuaftT5tXJT3vmi1pMsrU5qIrG1V1a+5DCa7b9GFbRr5J6Wnbt\nCu+Wmk0m8956z8ZWZNorbfzcbX5rZslazPux3hUt41NTntktObJ13+zX1bek01r4/HzVm0bxPXy/\n+bNfDgjVa2uOY92kdfg6ufJOKvLXtttVVSqbcta2vM7zXtHpLQy5ZtMd+vWd+7Zy3mdJHXra3f0c\nvUarw7zFY5rT2hH1Lavnrgx81p3U49Pk4nE5L35MO/StfNRXR5tXnrS8W67WvfyiPSPi7uLHFK1p\njrtSsbR5Lc4RzsXBaYreP4l45esRD2HD9fnw6evvWvO3Tfr0aGk0U55ra0TFInv6uzgrXFXlx0i0\n77RPlC83Yj+JW7oddqr6vHzTTw9/f6dod+L1t9m0T8pcbFSmPHER3892W0zPuz+jSbVvidkcqmfP\nSel7bekrI4n4dZnPWIrHeYnZee2Wpy8dEaml4npNZblw5qzb8M9JbYgAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAABEzFYmZnaI7yCXL1XGa0jJXT0571nbee27DiXEprp8nhbxG20W8\n5cbD0ikfnKO+urTPvjoZdXqctdsmTaPSvRpWmsdZ6yztfaGplvv3lWW1tyRlz1x0vkn7Vo5atTNe\nY0+1o79V2KsZsvX7Ne5mwxnyTNvsx2iGneM/rCdRSuOsTasTt5kRFtpjqmOH4t4nk7estiMNa97R\nHwhna0iuKTEdmGWa4672nZtRele1N59Zlq6vLOSsYorEc07qcW65euzRvtXvPZy52naZ7ujr6fXV\nrWdukREK8+njHgmZmPc67bq6ivVWhxxgxZLztNrT1mZ/SP4VZs0zaOvfp84WUtNsXLvtv3699+rU\nz7+Jtt5qURqMnPpctaR1rMSw4ZoK57eNk6xHaJRh97Ltt7lo5Z+L1HAPZvVauZ2nFTSzMTzeJEz8\nto6xPfvsZntPZ9rXxabmxzefdrv0j1dXh/BcmstW1qxTHHasR3+b0GPhGl+kWmd64dNEVjf73T7X\ny8vy+Ddx6O3iRakxTH5RXrMw1/lX+3Itw2MFIraN48qRHdZi0cUjmmPen9noox1iO0fNzdXEYrTt\nstcmd9aX0bJ+HePmiKTitO8TMLZ1cVjrMfqpz6ys4pjfrPRWZ9rXXptUit6zO+23VyaRHEc05L1/\nw9J9ys/en1ljqdVbwYw452tlnl3jyjzbmmiMeKtYjpEbLeTXPUU8ee/+qjJpsV5rbkrFqzE1tEbT\nDpYNbW21Mnu29fKWna0KbqTdjXXjld0cvQ63ltGHNPSfs2n+HUbS9c2s2UASqAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAOVxPWe99HpP8ArmP4b+r1EabT3yT3iOkesvMVtN7za07zad5l\nXV5GmM9vVfEstvDx0jtaVVMlq+UJ18b5cMRvPeSuK87bUt+i2Z3PtG7zXpjkzXt6R+TXyTMzvM7t\nydHqZ+zhv1+Cv/ZuqvPTHMfOYaTMil1a1K2vHSLTELq2v+KWzThGo84rH5rq8JzedqR+ZeI7WnOS\n34pYTafWXR/2Pln/AMyrKOCWnvmiPyR6O1y9585lhWJvl557Q6eo4T4dYiMvW3b3UanhldHpJtGX\ne09unmjsT7eb1l4trI2t0hsZfrdNO0bzy+nzU20/+NmkzO9esz+TZxWis9dttvPv+Tn21jjaW8zn\n26bTG3mp1M/Wzv3t0jyWXiKZJmsTERaZhXXDbNl8WaztWenxZLstPp5pau8frDtVrNMM5cfTfpMf\n3aunxxbes9d/R09Dp8ebJi09ptFr3jtt2WyrW9wy1Jx132mK+Xq9PotT0iIU19ntLtExa3T47T+q\n6nBaYvsZstZ+cT/LeMnUi0TXffo1s2m8Ws2/OIMWk5Jib5L328rS2t94Sh5TV4ppklpW6PT6rh+P\nNbebTHyas8E081mZy5P2W6OFhjxNTE/hr/LoRO0Kvo9dPqctKzMxEx1la5t3tdnjnMs4noievcrO\nyZjeFF1OSnNV0OG62cn1GWffj7Mz5w05joovzY7xes7TE7w0xrjPeex6Ua+j1UarBFu1o6Wj0lsN\n3JfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACrU5o0+nvlt92P3BxuM6nxNRGCs+7Tv8\n2hToxm1r3m9utrTvMsonqyt7XTmcja0u3O6FMfi5t/u0/lzdJM81p9O3zdvHTwsUR5+bfPqOfX1h\ndqV+3O7bs1+T31oqmI3TEM4rvCdkDGIIhlFd2daboS0NXG2bD6bufxXU1vlmu/u4us/N0+L1tTSx\nkr9qk7w89j1FNZMV3jxLzvaJ8mer+LSOZqK2xZotbvljfr/89U453rXt9lse081xZtNjx7TGKu0t\nDHlrevSevaN5Y6+tJ8c7VRNMt63n3ub+6/R54rERMztDYy4a5omclYmfxKcenrjtHLvtPrCnVmdb\neFe3JXmjy6eS/DrMuLVYsta9Mdt++6qLxO+0dEc8UmInr18iUfReHcXrqccb9Z27Q61Lb13eJ9nc\n1Z35rTvE9avY4bTkpG8xEfB05vYxqybc07R281naGMREdoT5JQqy9mply7Q3bV3iXG1eXw7TWSka\nc258t7+tpT5/BjT7MfHqndz12Z+M4lMMKyziUJJiN1WSu9fku23RaOgKNJqbaTU1t9yelo+D0cTE\nxEx1iXmM1Nt3W4PqvFweDaffx9vjDbGvxz+TP66QDRiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAOJxzU73rp6z296zsZMkYsdr2naKxvLyObNOfNfJbvad1dXkaeOdpvsc2yuZVzfbfqybutwu\ns5s8R92J3dvJb3tnO4HSMegtmt3nfZvYp8SZl0z45NfSK7onH1bNcfRFqnUKJr0Y7dVtq7prjEsK\n0XVpEM6028mW20IHK41aPo3J6zs4ODhdcvPnvExFevNXpMOrxi/PlrTee7PLX6Pwa09uaNlKtHg9\ndM3z5d7ReOu02nu0JzZMfblrv5R5uvrcdImZ26T1mYhxs1Os7RH93PZ7axuafNfLitvbaYU3yZYt\nPXs9NwHhui1HBa5LVicsb81onrEuVqNNSuS8Y67dZ6xPZa59Il9uX41vEitImZme3q2Kxbxora0T\nMd/ROSa4Ztkj7c9OafL5LuGYubmyX3iu/TfbdSfVnpvZLT/XZK233+Mbbva1xRXyiPk8pwbH4N6T\nadq5a71n0tD1WDL4tPe6Xr0tDpz8YVnJHWEXYxbqlBedoef4tW0XraO09HdyztSZcbUz43C+ee9b\nSVMaeOfqq7+jGckQ1Yz7+7v2RN/WXPXZPjci2+2yyJaVMuy+uSJlA2d+pNoVRbeDcSxyTE+TDDlt\npdRXLTynrHrDOyiyZeVFnY9TjvXJjres71tG8MnJ4Nqt4tp7T1jrV1nRL1x2cvABKAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAHJ49qfD09cNZ97JPX5PPw2uI6j6Vrsl/ux7tfk1mWr7dOM8iLdm\nvfebREefRsWldw7SxqNbWbR7lPesrn3Vteo7dYjDpMGCvfbeXQ0uLlxRLRxROfUc34p6fCHYrXlr\nEejqrjY8uzCYW7MZjdVKqK9VlaxCYrsnYExBMRMJRPZA8/xPHtmpP9W2xx76vhWOInvt/C7ike7N\nvwzE9kcapGfhlevTaFbFo8RqJ5vy8/RoW09ek0msxHfp3dzNoLzp4zUmZpMbT8HJyYJi20X2n0lh\nZY1li/RaidBF4w2mK3jrHaFGp1lN+tptPp5IjBkid5mIp16TKu0abBPv33vPlM7z+iPdFNcWXU5I\ntkrNce/b1W5db1nTaf3ax9q0fxDW1ebNk2phty1mOu09VOm8W19orEz23j1TwfSeERFuEYMddptW\nd43dvBn21eKJ75KbW+cf/JcTgMxXTb3nbljz+TpcPmc2uyZO1KRtVtGVdi0bx07qJnllsRO6rNTe\nN4XVamsy8mnvPwc3R2jPwe8TPbdlxXNOPSZfhWWpwO85OFzv57qrODkzeHntSe8Sn6Rv0a3EZ218\n8nXekfr1a0ZLVnqx19dWb6demXybOO7lYMvNMdW9S/VVLo0us7tPHdtUtEwJiZU3jq2Jhham8CVG\nPNODNTJXvWd3qcWSubFXJWd4tG8PK3pPd1OB6veLaa89Y61/u2xfxh5c/rsgNHOAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAANLimq+i6O0xPv392rdeZ4rq/pOqnlnelOkIt5F8Z7Wj27I2I6sb25YY\nV1ImY3dbQ08LRc23vZp2j5OJG+XJWle9p2h6HHtbJXFT7OOIpX+7TxT31j5rycdTh+Dpz+XaG/sw\nw18PHWseULN2trBE9UcrJKBhFU7JAQi0dEomegNDUYovM7x3jb5tO1ZvpbaTLtzRExWfWPJ08kbT\nEx5NXWYYyV5omYtHWJieyeDzuizfRs19Jn6TM7Ru1uMcJxZqTkw+5f4ebqa7SV1MR4tdrx2vEfy1\naxqsNOTLjnLXytVXi3Xj8+nmsxTLM16d5npPyUzpekTtSK+U7vS6vQ/SYmK1vWPS1HOn2dvvvvE/\ntDO5XlcO+LbfHSd/W3o6/BdDOXPTnj3Kz38rS6Wm4FNrRyRzTH3p6RH/AKvR8L4dXSzE3jmtHn5I\nmbfqLV+m4dbLSsZInHjr3iI6zLpYaxS01rHuxHRHiT9mv6s67Vj1aqL6326MrWiYa+/Q54BxPaGe\nXRZpj8MquB4+Xg8zPnB7SX30to379GxpK1xcHiKz5IS8xr8PLPixH2bftLTy05o6dHYyVjLhy0t1\nizjZa3pMVv3iO/qz1G2L+NbSajbNyW7xLsY8kTDz+fJXFqKZN4iZnafi6WHL0iYlStI7OO+7axW2\ncrFl7dW9jvE9ULN+J3ZbdFGOy+AYWpEqN7afNXLj+1Wd23KrJVMvCzseh0+auow1yU7WhY4fCdV4\nOadPefcvPuz6S7jol649Tl4AJVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAV581NPhtkvO0R+4NPi2\nr8DB4dJ9+/7Q83Po2NTqLanNbLfvPaPSFDHV66sZ5ET0hRknyW2lTtMyouz0c8usx2n7s7vScKwx\nzc1vu/y85p+maJh6Th+SOWeveXR4/wDLm8v+nX5mUWa9bbrInolmu5jdTNkxYFk2Isr3TuCzeGMz\n+THdEyDDJO9Ja823rt2XWnya946pGvktDXta0ztWu/ybvLE9dkcoOf4GbJPWK1j49VmLh9JtE33v\nMevb9G7WsW8l1ccREISophiJ2jpDYpijbaOjOuOJ8ujOdqxsgVcsUjaETYvbaFFrgu5lVsm0yUtu\nryg43H5m+GIj1XcJzePoL4pnrWGtxmfchr8JvfHS1622if3QljzTTLes+qrNjrkiYtCzPMxnm095\nYZJ6boS5teB49Tqscza97VtvWvlv8V/FOF34RrIxTM2xXjelp/eHoeA6XnzReY3ivX/0dfivDcfE\n9HbDbaLx1pb0lOs+jO7K8Lis3cN+0NKcd9PmthzV5clJ2mF9J9GHHVL108dm1SznYr/Ft0tuhLb8\nmNohFbMhLWy0mJ3rPXvDvcO1karBG8/WV6Wj+7kWrvDDBlvpdRGSnbzj1hpjX4z8mOx6UYYstc2O\nuSk71tG7Ns5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZ2jeXneJ62dVl5KT9VTt8Z9W9xbWclPo+O\nfft9qfSHEU1pv48ftYST23ZTDC/p0YtlVuvVjMbM5+LCZjYGWGdrTPxiHY4ffaf3cjTxz1v6xMS6\nOlty2iXVj/Dk8n+ndrkhnGRo1v8AFdW3RCrZ5uiYsqrboncSu508yjmZRYQt50TfowYTbYGVrKrT\nuTZjvukQnYhMIGVY2ZxPVWyrHVCWzXpVXkt3TE7Va+W4K7X3jv1auTNy3jdba0RZpamfroQN7Hk3\n6wr1GTaN2OOJiu6Mu98NvgDi8Wy74d/yZ8PiPAiO2zU4nb6qIn1bugjfFE/ASp1ke9u15mbbRDZ1\nMb823kx0Ontn1OOkedoJCvT8I03gaKsz9q/WW+isRWsVjtHRKyrhe0XCfpWL6Vgr9fjjrEfeh5fF\nfeH0V5Dj3DPoOo+k4a/U5J6xH3ZZ7z3228evytOk7NvFbo0cdols47bSybt7HbddHVqUs2aW3Qnq\nxVeu8LILR3SlZw3V/R8nhXn6u0/pLuPMXjeHT4Zruf6jLPvR9mZ8/g1xrvpz+TH7HUAaMAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAABRq9VXSYJyW79qx6yvmdo3l5viGs+maqYrO+OnSvx+KLeLZz2te1rZL2v\ned7WneZYWnZl5K72YV1xEyxmeqJljzIEWlVkszvbZp5soN3h2SJz3pP3odCnuWmPRxuERfJrZmtZ\nmtY96fR28kbX3dXj/wAuTyf6bmK+9YX1s0cNtm3Sd4LFY2K23W1s16StiUJW7bp22RW3RluBuruz\nmWEgrmCGWyNkoExKE1QlPmsqRDKeyBjaejWy2W3ttDUyz1QKslvehVqKTNosyyTvELabXptIJpaP\nB39Ia2mz+JGpr51jdZefDx2hzuHZObNq58poJaGtjxJ2+LoaKP8ADRPo5+T3skx5OhpOmC0fBNQ0\n5yTbn+bt8A0u9raiY6RHLVwY62mI6zMvaaHBGn0mPHt1iN5+aYVsACBXqMFNTgviyxvW0bSsAeE1\nmkvw7V2w5Ote9besJx2er4rw2nEdNNekZa9aW9JeQjnxZLYskTW9Z2mJY7zz26fHrrdpbZsY7NGt\nmxjvso1b9NmUwpx33XRO4K7VUTE1nmrvEx1bVo2VWiJE/XY4frY1WPlt0y17x6/FuPM0m+HJGTHO\n1qu9pNVXVYt46Xj7VfRtnXXL5MfzexsALsgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHM4jxOMFJphmJv529Dq\nZLfjDjPEIx450+K3v2+1MeUOHSOWFc3nJkmZnf4yujpVlqunOeFpV2nctLCZUXRM7MJtsWlRkv3Q\nky5NmpWt9RnrixVm17TtEQnJabXisRMzPSIew9n+CRoccajURvqLx5/chfOest642OGcIpoOG2w7\nROW9d72+LQvXevyejcPUU5M+SvpLeOataraw2a0dLbLqTtK1G3Es4lVWWUSoldFtmcXUbpidgXzK\nGEW3TuCUSncnsDFMMLSms9EC6J6FpVzbZE5ALy0809ZbFr9GtfrEoFMzuuwz0Ueey3HbaBLDXe7i\ntMOfwWnP9I+NZbuttvhs1uBRtXPb4SDm3iIvf57N7Dbl0VrS5+XrltEd+Z1Jx7cNms9N4TURRw3T\n+PrcO3WszEvZOD7P6aYiMlvu16S7y1QAIAABxOPcLnUY/pWCv1tI96I+9DtgmXl68Biy7/NtUu3+\nO8HnFa2s0tfd75KR5fFyMWTdhrPHVnX9R0cd21S3Rzsdm1iuqs256wrmGcT0RYSx5d047X02SMmO\nesd49YRE9WcdSXhZ2O1p89NRji9J+cei1xMc3wXi+KZj1j1dTTaqmor06WjvWW+ddcu8XK8BZmAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAMMmWmKu952UZ9XFZmuP3revlDTtzWnmvO8q3XGmfHb9ZanV3yxtWeWn7y4es\nvPNtDqZJ6Ts5mppvdl/XXRMyfGvSNlu/RVvtOzLfoipLT1VTKbSpvfogRkvtDVyZOhkyvQcA4Dzz\nXV6yvTvTHMfvK+c9U3rkW+zvA/D21urr789cdZ8vi9KDb45rejl8Rry6iJ/FV1HP4vXbBTJEfYt1\n+UpiHM295bXsqrO9l8QkZ0lZEqqLeyBZHZLGvZkhIndADKJ3TMoqWQMZ6pjsxll2jsCLSrmU2lFY\n36gieyu0LJk3jbsga0wdqzK20QpyztQGprL/AFMrOE05NLkt6qdVWZxNrSe5o9vWBLiUjnzXn0vL\nq555dHt8HOwV928/1z/LpzXxbYccRvzTB+jucOwxh0dI22mY3ltIrHLWIjyjZKyoAAAAACJiJjaY\n3iXleM8InR5J1GniZw2n3oj7s/8Ao9Wi9a3rNbRE1mNpifNFnVs65XhcWTdt47bnFuF24dm8TFEz\np7T0/pn0a+HJux1OOrOux08d1ndqY7tillVkzExLOk7yd4YxGwluViJhE45raL0na0dtlWO0+bZr\n1TKi+2zptZGTamT3b/tLacvJjiY3XaTWdYxZZ6/dtPm1zrv1z78fPcbwC7EAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABhkyV\nxUm152iAZWtFazNp2iGhm1Vss8uP3aevnKrNntqLdelI7VRHRnrX/HRjx/tZREVjZXeybW6KbWZt\npCZ6S08tN7Nmbb7zCrJtyoS5145bSx5mWafelr3tsKmS/o08uXyhlly7RPV2+AcBnPNdZrK+53pS\nfP4ytnPVda4y4BwHxOXV6uvu96Unz+MvVxG0bQRG0bR2G0nHLb2gCUDX12LxtFmpHeazt82wT1gH\nmMN4tWs+rcr2aEV8DU5sM/cvO3yb+O0csLUTSdrLphRE8tlkZI7Atr2ZMazDJVKTYSCawi7Ksq7z\n1QERvLK3ZGPrKbyCrbdnMcsbeaa18/RhvvM7oGEwTG0JmYYTIML22a2e28xELM19oURPNO4lOem+\nn3ZY5+prVnMc2GYU4/L4A0a15cNf6rz/AC6fC6+NxCPOuOu/5tHJTbHj+F5/l1+BYumXJMd9o3/d\nMRXYASgAAAAAAABhlxUz4rY8lYtS0bTEvH8R4ffhmo6bzhtPu29Pg9mq1Gnx6rDbFmrzVsizq2df\nzXkMWTeIbNL7tbXaHLwzUctvexWn3bmPL8WFnHVL326VZ91MfFVjvvVlz79kLrcf2m7j7bNHH3bl\nJ2SirLQoy4t1++7G0dBC/RanxI8PJPv18/WG241+alovSdrV6w6mDNGfFF4/OPSW2b1zeTPL1aAs\nzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAVZ9RXBTe3WZ7R6iZOpzZq4ac1p+UermZMl89+a/byj0Ra9815ted59PQ32hlrXXRjH\nDpCLX6ML5NlNsm/ZRqstfdXzbsZt06sLZNvNB1Za8RDWyZdo7q8udq5Mu/mIMt4md2lmy7JzZuWJ\ndHgfBL8RvGo1MTXTxPSPx/8AstJ1XWpIs4BwSdbeNVqq/URPu0n73/s9hEREbRG0QUpWlYrWIisR\ntER5JbSccur2gCUAAAAPM8Sry8Uyz67fwuxbzVPGsE49XGbvF42V4M0TEL33ERnktsxpk3sumK2j\nadmFdPFZ33VS2Mdui2J3UU6LYlFSsN2O5NkCyJ6K7T1TEsbAsxdpReerKkTFGMxvYEz0rsqtbbpC\nb2VT1QEzuwtbaGUxspuJU3neWdKoiu8rq12gCI92YatLcublnzbEz1aOptyZqTuDHLfxN6R0+t5X\nqdJhjBp6UiPLeXl9NSMnEKxHa1+bb8nrlvxUAAAAAAAAAAABTqtNj1eC2LLXeto/R43VabJw/VTh\nydY+7b1h7ho8V4dXiGlmvbJXrS3xRZ1fGv5rzeHN02bEW3cys3xZJx5ImtqztMS3MeTeGFjqlb2O\n8btql3NpbZtYsnSBLeiWfdTjtutid+ghherHS5p0+f3vsX6T8Fkw181d4lMvEWdnHaGnw/UeNh5L\nT7+PpPxbjdyWcvAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAo1Oprgr63ntAmTqdRqK4K9etp7Q5d7Wy2m953lNrWyWm953mVd77R0\nZa1104xxlN9lV8qnJl2a9s3xUXX2ybsJyRDWtl3YWydEC+2VRkzeW6q+T4tbJm+KRdfK1cmWZnlr\nvNp7RC/R6HU8SycmCk7ed57Q9ZwvgOn4fEXtHi5/O9o7fJaZ6z1uRyOEezVstq6jiEbV71xevzer\nrWtKxWsRFY6REeSRrJxz22gCUAAAAAANbX6aNVpL0npMRvWfSXlKamsRMVvXm+EvZXjmpaPWHzfL\noNRjzXicfWJ8phfPxFejx72x7xMzK+sXiNoiXlq+Pi6fWV/VfTNqfLJl/WTg9Pji8R70LqvMV1Gq\nj/zcv6yz+lanzzZP1lWpelTET6S81Gp1P/Gyf90s412rjtnyfqql6asREdWM9+jz9eJ6yP8Az7uh\nodZqMt458tpB1JvEViI3/RhzRt13/R1MNaziiZiJn5K9ZNceKZiIiQcu/WekT+iYrWI3lzdTrs+8\n8uW0fJzcur1Np/zsn6g79phVaIeetqNR/wAXJ/3SwnUaj/i5P+6UD0ldonum161h5mNRqP8Ai5P1\nlNtRqJjacuT9Qd22WN5aGeZyZd/KHJy59RHbLf8AVq31Gp/4uT9ZEvS8Lr/vSs2npzRtL1z53wK+\noza/HW2XJNd99pmX0Rb8VAAAAAAAAAAAAAAcHj/C5yV+l4I9+v24jzj1cLFk8nu5jeNpeW41wmdL\nknU6ev1Vp96sfdn/ANFdTrXG+eq1q5F2LLtbZoY8m8d11bbSydErsYsm+zZrO/zcnBm226uhiyRK\nEtrvCrJDOJTeu8A1MWX6Lqq5N/dnpb5O5ExMbx2cPNTeJb/DM/iYPDtPvY+nzhri/jDy5/W6AuwA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAa2p1UYo5adbz+xbxMlvqJ1OqjDHLXree0ejmzNrWm953tPmTPWbWneZ7yoy5YhjrXXTjH8s75N\nmtkyxt0VZM2/m175N1V03yTKubMLXVXybeYLLX2VXy7eam+b0bOg4VquJW+rry4/O9uyZOq3UjVm\n9r25axMzPaIdvhns1kzbZddM0p5Y47z8/R2+HcF03Doi1a8+Xzvbv+TotJnjDXkt+K8ODHp8cY8N\nIpSO0RCwF2YAAAAAAAAACvUZYw6fJkntWN3k8dfHz2vLucdz8mkjFE9bz1+UOZosX1UzPm0nqI/W\nMYo9FlcPNklfFGeH/NshLGun+Cz6PtHZtVZWlRLS+jxPkRpIn7rdoupHTdA5s6SI+7H6Mfo+32Y2\n+To3neSIiZ7A0IjPXpXLePlMotGW3272t85datKzHZjbTVnsDj+FG/2Y/RlGP4R+jo20u7H6N1Ql\no+H8I/REY957R+jpfReiK6eOYHLtj2tttH6KrY/6Y/R2c+kjeJiFVtLG24hxpw7/AHY/RRkw9O37\nO99Hrt1YX0tfOBLjcGp4XF8c+u8fs9c4dcVcGemSI61nd3IneN1orQAAAAAAAAAAAAABFqxes1tE\nTE9JiUgPKcX4RbRXnNgiZwWnrH4XPi28PdXpW9JraImsxtMS8pxXhF9DecuGJtgmf+1TWW2N/la1\nL7N7T5e3Vy6W3hsYcvLbqzbO9jvvCzvDR0+XeO7crO6FmGSvRThy/RtVXJ92elvk2rRvDUzU7pl4\nizsd2J3jeBpcNz+Lg5LT7+Pp+Xk3W7js5eAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADs0NTrN96Yp6edkW8Wzm6+LNTq4pvTHO9vOfRoWtt\n1mes95YWvs1s2fZldddOczLPLn2ju0MmebT3YZc2/mpm3qqllN1drsbZIhr3yzvtHf4AsvlYYseb\nV5Yx4KTe0+UQ6nDvZ3UazbJqd8OKeu33peq0eh0+hxcmnxxWPOfOfm0mP+steT/ji8N9mKY9suum\nL37+HHaPm9DSlaVitKxWsdohI0Y22gAgAAAAAAAAAABXnyRhw3yT92Nwef4xm8bVzET0rPJH5d12\n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\nAOZE/OsPS29nuH27YrV+VpeV9pdPXhOtw49NG9Mld55+vXcTPd42I47qo7xSfyWV9oM8d8VJ/VxM\nd8l46xWF9cV7en6o/qLfxp2I9ob+eCv/AHMo9op89P8A/wBORGmyT5R+qfo2X8P7n9Q/jTsx7RR5\n6ef+4/8AuHftg/8A6cWcOSO9J/WEbWr3pY7Efzp2Lcfv5YK/9zWy8d1E/ZpSv5Oba1/+Hb9lc+LP\nbFt87I7E/wAabWbiurvEx4nL/pjZzc2bJkn372t85ZXx55/BX85lucC0vPxnTxlnnjm32mOiZqUu\nLJ2p4TwnVavNWaYbRTfre0bQ99pcH0bT0xb78vmtiIiNojaErMwAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAHnfarF7umzRHaZrLjYrdIen9ocPi8JyTt1xzF4eUw23rCm3R4r6bMy\nwt6kdTaWLdjswmNoZontsCm0K5XWjopnuDC0dGpqG5bs08/daKV672MjbSaif6oh6Z5f2LtvptRX\n0tEvUN3Jfo8f7cYve0eX4zV7B5z20xc/C8eSPuZIRficfXlcPaG7ino08HWIbePpLF2NuiyOyrHK\n3fZFSwuovHVfaVF4QK5YWTM9UT0EKry6Ps1Tn4zjn8NZn9nOtLseydObiWW34cf918fWfk+PYANn\nKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAq1WKM+ly4p+/WYeBxTNd6zG0xO0\nvobw3FcP0bi2em20Tbmj5Srr418V9sa2Z7qKyzi07MXUylhaU7yjqhLCeiq3ddaFNxFYW7NLNG8t\nzya+WO6Va9J7FW66mvwidnrXiPY3Ny8RyUn71Jj9Ht3RPjk19HK9pMHj8D1ER3rHN+jqqtTjjNps\nuOe16zAifXzfTz7kNyndpYazS9qT0mszDdoxrsi6m8LazMq6zDOsq1ZEyrt1WWlXaUCqyq0rbKbi\nFdp6PReyFd8uqv8ACsfy83aXrPZHHto89/xX2/SP/dpj6y8vx6EBq5gAAAAAAAAAAAAAAAAAAAAA\n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\nNO67NbkhzNVnmInqzaOZrL93JyZeV0M1++7S02jvxDWxhxx033tPpC8Z6rrezWjmZyazJG2/u03h\n2vFibTHoqvamiwVwY+nLGzV0+SZ1Mx8G0/45tOhzJ5lXMc3UVXRdlF1HP+iYsDPLPPy49/tz1+Te\npSIr0ho6ak5Ms5J8o2q6NImOrHV7XX488ypzTtHXo0s9t6zG7c1G1qz6ubeZiZ3UatXJG3yauSO7\ncvMTEx5tPLb3prPRMVr0HB8vicNxf0+7+kt+LOJwTJyY/Bnz3tH93X36N58cWvq6LSyiyndMSlC7\nmZcymLJiwLosmJVRLKLAtiU7q4lMSCzc3YxJuDMRuAlKAEgAAAlAkAAAAAABKAEgAAAAAJAAAAAA\nAAAAAAAEgAAAAAAAAAAAAAkAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAhIAAACAAAASgAAAAAAEAAAA\nhGzJAImGMwzQDDZjNVuyNgUTVhNGxysZqDVmiu1G5NN2M4waM0+DCaN2cbGcQNGaMZq3JxMJxA1J\nqx2bU4kU09slorWNwa20z02RXHbJbl26QvtFovbHWkxEdJt5y2MOHlr2U1W3jx+1hiw8vSO63lmI\nXRTaEWmtY6snRHO1VpmJ+DjavpSZl2s8b7y4HFcnh0n0gha5ebJN55KRM2mdoiPN6fh+kpwXh0Wy\nRHj5Otp/s5Ps1p62y31+em9aTMYt/OfVfxTiPjZ52naI7fBrI5t66xz5+a1rW7yx0eSL6iZjtEOX\nqNbSletom3lENjh2fbHzbbWt3iVozruc+5ztWubf4M4ybpQ2Oboyrva0Vjza8WdDR4OkXt3n9ldX\nkaePP9VtYqctYhdvt5oivTeCZ2YOxXk6ubqMfV0b9mrljfqlFcq88k7z2U5axeItDa1OPessuC8P\nya7XRWYnwqdbT/ZMilvIu4dpslNdixXja8Y5tt85djZdbDWnGOesRtXFtuw6T27No5Kx2OrKYQlC\nExKJgBnEpiyvdlEgsizKLKollFgWxLKJVRLKJBbEp3VxLKJBnuMWQJEbpBIAAAJAAAABIAAAAAAA\nlAJAAAAAAAAAAAAAASAAAAAAAAAAAAAJAAAABAJABAlAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAA\nAAABAJQAAAAgAABAAI2EoBGyJhkgGPKxmqxAKpownHC+YRMdN5BrTj67R3bOn01o7p01Iv71u89o\n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\n2Q==`;\n", "/**\n * Human main module\n */\n\nimport { log, now, mergeDeep } from './helpers';\nimport { Config, defaults } from './config';\nimport { Result, Gesture } from './result';\nimport * as sysinfo from './sysinfo';\nimport * as tf from '../dist/tfjs.esm.js';\nimport * as backend from './tfjs/backend';\nimport * as face from './face';\nimport * as facemesh from './blazeface/facemesh';\nimport * as faceres from './faceres/faceres';\nimport * as emotion from './emotion/emotion';\nimport * as posenet from './posenet/posenet';\nimport * as handpose from './handpose/handpose';\nimport * as blazepose from './blazepose/blazepose';\nimport * as efficientpose from './efficientpose/efficientpose';\nimport * as movenet from './movenet/movenet';\nimport * as nanodet from './object/nanodet';\nimport * as centernet from './object/centernet';\nimport * as gesture from './gesture/gesture';\nimport * as image from './image/image';\nimport * as draw from './draw/draw';\nimport * as persons from './persons';\nimport * as interpolate from './interpolate';\nimport * as sample from './sample';\nimport * as app from '../package.json';\nimport { Tensor } from './tfjs/types';\n\n// export types\nexport type { Config } from './config';\nexport type { Result, Face, Hand, Body, Item, Gesture } from './result';\nexport type { DrawOptions } from './draw/draw';\n\n/** Defines all possible input types for **Human** detection\n * @typedef Input\n */\nexport type Input = Tensor | typeof Image | ImageData | ImageBitmap | HTMLImageElement | HTMLMediaElement | HTMLVideoElement | HTMLCanvasElement | OffscreenCanvas;\n\n/** Error message\n * @typedef Error\n */\nexport type Error = { error: string };\n\n/** Instance of TensorFlow/JS */\nexport type TensorFlow = typeof tf;\n\n/** Generic Model object type, holds instance of individual models */\ntype Model = unknown;\n\n/**\n * **Human** library main class\n *\n * All methods and properties are available only as members of Human class\n *\n * - Configuration object definition: {@link Config}\n * - Results object definition: {@link Result}\n * - Possible inputs: {@link Input}\n *\n * @param userConfig: {@link Config}\n */\nexport class Human {\n /** Current version of Human library in *semver* format */\n version: string;\n /** Current configuration\n * - Details: {@link Config}\n */\n config: Config;\n /** Last known result of detect run\n * - Can be accessed anytime after initial detection\n */\n result: Result;\n /** Current state of Human library\n * - Can be polled to determine operations that are currently executed\n * - Progresses through: 'config', 'check', 'backend', 'load', 'run:', 'idle'\n */\n state: string;\n /** @internal: Instance of current image being processed */\n image: { tensor: Tensor | null, canvas: OffscreenCanvas | HTMLCanvasElement | null };\n /** @internal: Instance of TensorFlow/JS used by Human\n * - Can be embedded or externally provided\n */\n tf: TensorFlow;\n /** Draw helper classes that can draw detected objects on canvas using specified draw styles\n * - options: global settings for all draw operations, can be overriden for each draw method, for details see {@link DrawOptions}\n * - face: draw detected faces\n * - body: draw detected people and body parts\n * - hand: draw detected hands and hand parts\n * - canvas: draw processed canvas which is a processed copy of the input\n * - all: meta-function that performs: canvas, face, body, hand\n */\n draw: {\n options: draw.DrawOptions,\n gesture: typeof draw.gesture,\n face: typeof draw.face,\n body: typeof draw.body,\n hand: typeof draw.hand,\n canvas: typeof draw.canvas,\n all: typeof draw.all,\n };\n /** @internal: Currently loaded models */\n models: {\n face: [Model, Model, Model] | null,\n posenet: Model | null,\n blazepose: Model | null,\n efficientpose: Model | null,\n movenet: Model | null,\n handpose: [Model, Model] | null,\n age: Model | null,\n gender: Model | null,\n emotion: Model | null,\n embedding: Model | null,\n nanodet: Model | null,\n centernet: Model | null,\n faceres: Model | null,\n };\n /** @internal: Currently loaded classes */\n classes: {\n facemesh: typeof facemesh;\n emotion: typeof emotion;\n body: typeof posenet | typeof blazepose | typeof movenet;\n hand: typeof handpose;\n nanodet: typeof nanodet;\n centernet: typeof centernet;\n faceres: typeof faceres;\n };\n /** Reference face triangualtion array of 468 points, used for triangle references between points */\n faceTriangulation: typeof facemesh.triangulation;\n /** Refernce UV map of 468 values, used for 3D mapping of the face mesh */\n faceUVMap: typeof facemesh.uvmap;\n /** Platform and agent information detected by Human */\n sysinfo: { platform: string, agent: string };\n /** Performance object that contains values for all recently performed operations */\n performance: Record; // perf members are dynamically defined as needed\n #numTensors: number;\n #analyzeMemoryLeaks: boolean;\n #checkSanity: boolean;\n #firstRun: boolean;\n #lastInputSum: number;\n #lastCacheDiff: number;\n\n // definition end\n\n /**\n * Creates instance of Human library that is futher used for all operations\n * @param userConfig: {@link Config}\n */\n constructor(userConfig?: Config | Record) {\n this.config = mergeDeep(defaults, userConfig || {});\n this.tf = tf;\n this.draw = draw;\n this.version = app.version;\n this.state = 'idle';\n this.#numTensors = 0;\n this.#analyzeMemoryLeaks = false;\n this.#checkSanity = false;\n this.#firstRun = true;\n this.#lastCacheDiff = 0;\n this.performance = { backend: 0, load: 0, image: 0, frames: 0, cached: 0, changed: 0, total: 0, draw: 0 };\n // object that contains all initialized models\n this.models = {\n face: null,\n posenet: null,\n blazepose: null,\n efficientpose: null,\n movenet: null,\n handpose: null,\n age: null,\n gender: null,\n emotion: null,\n embedding: null,\n nanodet: null,\n centernet: null,\n faceres: null,\n };\n // export access to image processing\n // @ts-ignore eslint-typescript cannot correctly infer type in anonymous function\n this.image = (input: Input) => image.process(input, this.config);\n // export raw access to underlying models\n this.classes = {\n facemesh,\n emotion,\n faceres,\n body: this.config.body.modelPath.includes('posenet') ? posenet : blazepose,\n hand: handpose,\n nanodet,\n centernet,\n };\n this.faceTriangulation = facemesh.triangulation;\n this.faceUVMap = facemesh.uvmap;\n // include platform info\n this.sysinfo = sysinfo.info();\n this.#lastInputSum = 1;\n }\n\n // helper function: measure tensor leak\n /** @hidden */\n analyze = (...msg) => {\n if (!this.#analyzeMemoryLeaks) return;\n const currentTensors = this.tf.engine().state.numTensors;\n const previousTensors = this.#numTensors;\n this.#numTensors = currentTensors;\n const leaked = currentTensors - previousTensors;\n if (leaked !== 0) log(...msg, leaked);\n }\n\n // quick sanity check on inputs\n /** @hidden */\n #sanity = (input): null | string => {\n if (!this.#checkSanity) return null;\n if (!input) return 'input is not defined';\n if (this.tf.ENV.flags.IS_NODE && !(input instanceof tf.Tensor)) return 'input must be a tensor';\n try {\n this.tf.getBackend();\n } catch {\n return 'backend not loaded';\n }\n return null;\n }\n\n /** Simmilarity method calculates simmilarity between two provided face descriptors (face embeddings)\n * - Calculation is based on normalized Minkowski distance between\n * @param embedding1: face descriptor as array of numbers\n * @param embedding2: face descriptor as array of numbers\n * @returns similarity: number\n */\n // eslint-disable-next-line class-methods-use-this\n similarity(embedding1: Array, embedding2: Array): number {\n return faceres.similarity(embedding1, embedding2);\n }\n\n /** Enhance method performs additional enhacements to face image previously detected for futher processing\n * @param input: Tensor as provided in human.result.face[n].tensor\n * @returns Tensor\n */\n // eslint-disable-next-line class-methods-use-this\n enhance(input: Tensor): Tensor | null {\n // @ts-ignore type mismach for Tensor\n return faceres.enhance(input);\n }\n\n /** Math method find best match between provided face descriptor and predefined database of known descriptors\n * @param faceEmbedding: face descriptor previsouly calculated on any face\n * @param db: array of mapping of face descriptors to known values\n * @param threshold: minimum score for matching to be considered in the result\n * @returns best match\n */\n // eslint-disable-next-line class-methods-use-this\n match(faceEmbedding: Array, db: Array<{ name: string, source: string, embedding: number[] }>, threshold = 0): { name: string, source: string, similarity: number, embedding: number[] } {\n return faceres.match(faceEmbedding, db, threshold);\n }\n\n /** Load method preloads all configured models on-demand\n * - Not explicitly required as any required model is load implicitly on it's first run\n * @param userConfig?: {@link Config}\n */\n async load(userConfig?: Config | Record) {\n this.state = 'load';\n const timeStamp = now();\n if (userConfig) this.config = mergeDeep(this.config, userConfig);\n\n if (this.#firstRun) { // print version info on first run and check for correct backend setup\n if (this.config.debug) log(`version: ${this.version}`);\n if (this.config.debug) log(`tfjs version: ${this.tf.version_core}`);\n if (this.config.debug) log('platform:', this.sysinfo.platform);\n if (this.config.debug) log('agent:', this.sysinfo.agent);\n\n await this.#checkBackend(true);\n if (this.tf.ENV.flags.IS_BROWSER) {\n if (this.config.debug) log('configuration:', this.config);\n if (this.config.debug) log('tf flags:', this.tf.ENV.flags);\n }\n }\n if (this.config.async) { // load models concurrently\n [\n this.models.face,\n this.models.emotion,\n this.models.handpose,\n this.models.posenet,\n this.models.blazepose,\n this.models.efficientpose,\n this.models.movenet,\n this.models.nanodet,\n this.models.centernet,\n this.models.faceres,\n ] = await Promise.all([\n this.models.face || (this.config.face.enabled ? facemesh.load(this.config) : null),\n this.models.emotion || ((this.config.face.enabled && this.config.face.emotion.enabled) ? emotion.load(this.config) : null),\n this.models.handpose || (this.config.hand.enabled ? handpose.load(this.config) : null),\n this.models.posenet || (this.config.body.enabled && this.config.body.modelPath.includes('posenet') ? posenet.load(this.config) : null),\n this.models.blazepose || (this.config.body.enabled && this.config.body.modelPath.includes('blazepose') ? blazepose.load(this.config) : null),\n this.models.efficientpose || (this.config.body.enabled && this.config.body.modelPath.includes('efficientpose') ? efficientpose.load(this.config) : null),\n this.models.movenet || (this.config.body.enabled && this.config.body.modelPath.includes('movenet') ? movenet.load(this.config) : null),\n this.models.nanodet || (this.config.object.enabled && this.config.object.modelPath.includes('nanodet') ? nanodet.load(this.config) : null),\n this.models.centernet || (this.config.object.enabled && this.config.object.modelPath.includes('centernet') ? centernet.load(this.config) : null),\n this.models.faceres || ((this.config.face.enabled && this.config.face.description.enabled) ? faceres.load(this.config) : null),\n ]);\n } else { // load models sequentially\n if (this.config.face.enabled && !this.models.face) this.models.face = await facemesh.load(this.config);\n if (this.config.face.enabled && this.config.face.emotion.enabled && !this.models.emotion) this.models.emotion = await emotion.load(this.config);\n if (this.config.hand.enabled && !this.models.handpose) this.models.handpose = await handpose.load(this.config);\n if (this.config.body.enabled && !this.models.posenet && this.config.body.modelPath.includes('posenet')) this.models.posenet = await posenet.load(this.config);\n if (this.config.body.enabled && !this.models.blazepose && this.config.body.modelPath.includes('blazepose')) this.models.blazepose = await blazepose.load(this.config);\n if (this.config.body.enabled && !this.models.efficientpose && this.config.body.modelPath.includes('efficientpose')) this.models.efficientpose = await blazepose.load(this.config);\n if (this.config.body.enabled && !this.models.movenet && this.config.body.modelPath.includes('movenet')) this.models.movenet = await movenet.load(this.config);\n if (this.config.object.enabled && !this.models.nanodet && this.config.object.modelPath.includes('nanodet')) this.models.nanodet = await nanodet.load(this.config);\n if (this.config.object.enabled && !this.models.centernet && this.config.object.modelPath.includes('centernet')) this.models.centernet = await centernet.load(this.config);\n if (this.config.face.enabled && this.config.face.description.enabled && !this.models.faceres) this.models.faceres = await faceres.load(this.config);\n }\n\n if (this.#firstRun) { // print memory stats on first run\n if (this.config.debug) log('tf engine state:', this.tf.engine().state.numBytes, 'bytes', this.tf.engine().state.numTensors, 'tensors');\n this.#firstRun = false;\n }\n\n const current = Math.trunc(now() - timeStamp);\n if (current > (this.performance.load as number || 0)) this.performance.load = current;\n }\n\n // check if backend needs initialization if it changed\n /** @hidden */\n #checkBackend = async (force = false) => {\n if (this.config.backend && (this.config.backend.length > 0) && force || (this.tf.getBackend() !== this.config.backend)) {\n const timeStamp = now();\n this.state = 'backend';\n /* force backend reload\n if (this.config.backend in tf.engine().registry) {\n const backendFactory = tf.findBackendFactory(this.config.backend);\n tf.removeBackend(this.config.backend);\n tf.registerBackend(this.config.backend, backendFactory);\n } else {\n log('Backend not registred:', this.config.backend);\n }\n */\n\n if (this.config.backend && this.config.backend.length > 0) {\n // @ts-ignore ignore missing type for WorkerGlobalScope as that is the point\n if (typeof window === 'undefined' && typeof WorkerGlobalScope !== 'undefined' && this.config.debug) log('running inside web worker');\n\n // force browser vs node backend\n if (this.tf.ENV.flags.IS_BROWSER && this.config.backend === 'tensorflow') this.config.backend = 'webgl';\n if (this.tf.ENV.flags.IS_NODE && (this.config.backend === 'webgl' || this.config.backend === 'humangl')) this.config.backend = 'tensorflow';\n\n if (this.config.debug) log('setting backend:', this.config.backend);\n\n if (this.config.backend === 'wasm') {\n if (this.config.debug) log('wasm path:', this.config.wasmPath);\n if (typeof this.tf?.setWasmPaths !== 'undefined') this.tf.setWasmPaths(this.config.wasmPath);\n else throw new Error('Human: WASM backend is not loaded');\n const simd = await this.tf.env().getAsync('WASM_HAS_SIMD_SUPPORT');\n const mt = await this.tf.env().getAsync('WASM_HAS_MULTITHREAD_SUPPORT');\n if (this.config.debug) log(`wasm execution: ${simd ? 'SIMD' : 'no SIMD'} ${mt ? 'multithreaded' : 'singlethreaded'}`);\n if (this.config.debug && !simd) log('warning: wasm simd support is not enabled');\n }\n\n if (this.config.backend === 'humangl') backend.register();\n try {\n await this.tf.setBackend(this.config.backend);\n } catch (err) {\n log('error: cannot set backend:', this.config.backend, err);\n }\n }\n this.tf.enableProdMode();\n // this.tf.enableDebugMode();\n if (this.tf.getBackend() === 'webgl' || this.tf.getBackend() === 'humangl') {\n this.tf.ENV.set('CHECK_COMPUTATION_FOR_ERRORS', false);\n this.tf.ENV.set('WEBGL_CPU_FORWARD', true);\n this.tf.ENV.set('WEBGL_PACK_DEPTHWISECONV', true);\n if (!this.config.object.enabled) this.tf.ENV.set('WEBGL_FORCE_F16_TEXTURES', true); // safe to use 16bit precision\n if (typeof this.config['deallocate'] !== 'undefined' && this.config['deallocate']) { // hidden param\n log('changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:', true);\n this.tf.ENV.set('WEBGL_DELETE_TEXTURE_THRESHOLD', 0);\n }\n const gl = await this.tf.backend().getGPGPUContext().gl;\n if (this.config.debug) log(`gl version:${gl.getParameter(gl.VERSION)} renderer:${gl.getParameter(gl.RENDERER)}`);\n }\n await this.tf.ready();\n this.performance.backend = Math.trunc(now() - timeStamp);\n }\n }\n\n /**\n * Runs interpolation using last known result and returns smoothened result\n * Interpolation is based on time since last known result so can be called independently\n * @param result?: use specific result set to run interpolation on\n * @returns result: {@link Result}\n */\n next = (result?: Result) => interpolate.calc(result || this.result) as Result;\n\n // check if input changed sufficiently to trigger new detections\n /** @hidden */\n #skipFrame = async (input) => {\n if (this.config.cacheSensitivity === 0) return false;\n const resizeFact = 32;\n const reduced: Tensor = input.resizeBilinear([Math.trunc(input.shape[1] / resizeFact), Math.trunc(input.shape[2] / resizeFact)]);\n // use tensor sum\n /*\n const sumT = this.tf.sum(reduced);\n const sum = sumT.dataSync()[0] as number;\n sumT.dispose();\n */\n // use js loop sum, faster than uploading tensor to gpu calculating and downloading back\n const reducedData = reduced.dataSync(); // raw image rgb array\n let sum = 0;\n for (let i = 0; i < reducedData.length / 3; i++) sum += reducedData[3 * i + 2]; // look only at green value of each pixel\n\n reduced.dispose();\n const diff = 100 * (Math.max(sum, this.#lastInputSum) / Math.min(sum, this.#lastInputSum) - 1);\n this.#lastInputSum = sum;\n // if previous frame was skipped, skip this frame if changed more than cacheSensitivity\n // if previous frame was not skipped, then look for cacheSensitivity or difference larger than one in previous frame to avoid resetting cache in subsequent frames unnecessarily\n const skipFrame = diff < Math.max(this.config.cacheSensitivity, this.#lastCacheDiff);\n // if difference is above 10x threshold, don't use last value to force reset cache for significant change of scenes or images\n this.#lastCacheDiff = diff > 10 * this.config.cacheSensitivity ? 0 : diff;\n return skipFrame;\n }\n\n /** Main detection method\n * - Analyze configuration: {@link Config}\n * - Pre-process input: {@link Input}\n * - Run inference for all configured models\n * - Process and return result: {@link Result}\n * @param input: Input\n * @param userConfig?: Config\n * @returns result: Result\n */\n async detect(input: Input, userConfig?: Config | Record): Promise {\n // detection happens inside a promise\n return new Promise(async (resolve) => {\n this.state = 'config';\n let timeStamp;\n\n // update configuration\n this.config = mergeDeep(this.config, userConfig);\n\n // sanity checks\n this.state = 'check';\n const error = this.#sanity(input);\n if (error) {\n log(error, input);\n resolve({ error });\n }\n\n const timeStart = now();\n\n // configure backend\n await this.#checkBackend();\n\n // load models if enabled\n await this.load();\n\n /*\n // function disabled in favor of inputChanged\n // disable video optimization for inputs of type image, but skip if inside worker thread\n let previousVideoOptimized;\n // @ts-ignore ignore missing type for WorkerGlobalScope as that is the point\n if (input && this.config.videoOptimized && (typeof window !== 'undefined') && (typeof WorkerGlobalScope !== 'undefined') && (\n (typeof HTMLImageElement !== 'undefined' && input instanceof HTMLImageElement)\n || (typeof Image !== 'undefined' && input instanceof Image)\n || (typeof ImageData !== 'undefined' && input instanceof ImageData)\n || (typeof ImageBitmap !== 'undefined' && image instanceof ImageBitmap))\n ) {\n log('disabling video optimization');\n previousVideoOptimized = this.config.videoOptimized;\n this.config.videoOptimized = false;\n }\n */\n\n timeStamp = now();\n const process = image.process(input, this.config);\n if (!process || !process.tensor) {\n log('could not convert input to tensor');\n resolve({ error: 'could not convert input to tensor' });\n return;\n }\n this.performance.image = Math.trunc(now() - timeStamp);\n this.analyze('Get Image:');\n\n timeStamp = now();\n // @ts-ignore hidden dynamic property that is not part of definitions\n this.config.skipFrame = await this.#skipFrame(process.tensor);\n if (!this.performance.frames) this.performance.frames = 0;\n if (!this.performance.cached) this.performance.cached = 0;\n (this.performance.frames as number)++;\n // @ts-ignore hidden dynamic property that is not part of definitions\n if (this.config.skipFrame) this.performance.cached++;\n this.performance.changed = Math.trunc(now() - timeStamp);\n this.analyze('Check Changed:');\n\n // prepare where to store model results\n // keep them with weak typing as it can be promise or not\n let faceRes;\n let bodyRes;\n let handRes;\n let objectRes;\n let elapsedTime;\n\n // run face detection followed by all models that rely on face bounding box: face mesh, age, gender, emotion\n if (this.config.async) {\n faceRes = this.config.face.enabled ? face.detectFace(this, process.tensor) : [];\n if (this.performance.face) delete this.performance.face;\n } else {\n this.state = 'run:face';\n timeStamp = now();\n faceRes = this.config.face.enabled ? await face.detectFace(this, process.tensor) : [];\n elapsedTime = Math.trunc(now() - timeStamp);\n if (elapsedTime > 0) this.performance.face = elapsedTime;\n }\n\n // run body: can be posenet, blazepose, efficientpose, movenet\n this.analyze('Start Body:');\n if (this.config.async) {\n if (this.config.body.modelPath.includes('posenet')) bodyRes = this.config.body.enabled ? posenet.predict(process.tensor, this.config) : [];\n else if (this.config.body.modelPath.includes('blazepose')) bodyRes = this.config.body.enabled ? blazepose.predict(process.tensor, this.config) : [];\n else if (this.config.body.modelPath.includes('efficientpose')) bodyRes = this.config.body.enabled ? efficientpose.predict(process.tensor, this.config) : [];\n else if (this.config.body.modelPath.includes('movenet')) bodyRes = this.config.body.enabled ? movenet.predict(process.tensor, this.config) : [];\n if (this.performance.body) delete this.performance.body;\n } else {\n this.state = 'run:body';\n timeStamp = now();\n if (this.config.body.modelPath.includes('posenet')) bodyRes = this.config.body.enabled ? await posenet.predict(process.tensor, this.config) : [];\n else if (this.config.body.modelPath.includes('blazepose')) bodyRes = this.config.body.enabled ? await blazepose.predict(process.tensor, this.config) : [];\n else if (this.config.body.modelPath.includes('efficientpose')) bodyRes = this.config.body.enabled ? await efficientpose.predict(process.tensor, this.config) : [];\n else if (this.config.body.modelPath.includes('movenet')) bodyRes = this.config.body.enabled ? await movenet.predict(process.tensor, this.config) : [];\n elapsedTime = Math.trunc(now() - timeStamp);\n if (elapsedTime > 0) this.performance.body = elapsedTime;\n }\n this.analyze('End Body:');\n\n // run handpose\n this.analyze('Start Hand:');\n if (this.config.async) {\n handRes = this.config.hand.enabled ? handpose.predict(process.tensor, this.config) : [];\n if (this.performance.hand) delete this.performance.hand;\n } else {\n this.state = 'run:hand';\n timeStamp = now();\n handRes = this.config.hand.enabled ? await handpose.predict(process.tensor, this.config) : [];\n elapsedTime = Math.trunc(now() - timeStamp);\n if (elapsedTime > 0) this.performance.hand = elapsedTime;\n }\n this.analyze('End Hand:');\n\n // run nanodet\n this.analyze('Start Object:');\n if (this.config.async) {\n if (this.config.object.modelPath.includes('nanodet')) objectRes = this.config.object.enabled ? nanodet.predict(process.tensor, this.config) : [];\n else if (this.config.object.modelPath.includes('centernet')) objectRes = this.config.object.enabled ? centernet.predict(process.tensor, this.config) : [];\n if (this.performance.object) delete this.performance.object;\n } else {\n this.state = 'run:object';\n timeStamp = now();\n if (this.config.object.modelPath.includes('nanodet')) objectRes = this.config.object.enabled ? await nanodet.predict(process.tensor, this.config) : [];\n else if (this.config.object.modelPath.includes('centernet')) objectRes = this.config.object.enabled ? await centernet.predict(process.tensor, this.config) : [];\n elapsedTime = Math.trunc(now() - timeStamp);\n if (elapsedTime > 0) this.performance.object = elapsedTime;\n }\n this.analyze('End Object:');\n\n // if async wait for results\n if (this.config.async) [faceRes, bodyRes, handRes, objectRes] = await Promise.all([faceRes, bodyRes, handRes, objectRes]);\n\n // run gesture analysis last\n let gestureRes: Gesture[] = [];\n if (this.config.gesture.enabled) {\n timeStamp = now();\n gestureRes = [...gesture.face(faceRes), ...gesture.body(bodyRes), ...gesture.hand(handRes), ...gesture.iris(faceRes)];\n if (!this.config.async) this.performance.gesture = Math.trunc(now() - timeStamp);\n else if (this.performance.gesture) delete this.performance.gesture;\n }\n\n this.performance.total = Math.trunc(now() - timeStart);\n this.state = 'idle';\n this.result = {\n face: faceRes,\n body: bodyRes,\n hand: handRes,\n gesture: gestureRes,\n object: objectRes,\n performance: this.performance,\n canvas: process.canvas,\n timestamp: Date.now(),\n get persons() { return persons.join(faceRes, bodyRes, handRes, gestureRes, process?.tensor?.shape); },\n };\n\n // finally dispose input tensor\n tf.dispose(process.tensor);\n\n // log('Result:', result);\n resolve(this.result);\n });\n }\n\n /** @hidden */\n #warmupBitmap = async () => {\n const b64toBlob = (base64, type = 'application/octet-stream') => fetch(`data:${type};base64,${base64}`).then((res) => res.blob());\n let blob;\n let res;\n switch (this.config.warmup) {\n case 'face': blob = await b64toBlob(sample.face); break;\n case 'full': blob = await b64toBlob(sample.body); break;\n default: blob = null;\n }\n if (blob) {\n const bitmap = await createImageBitmap(blob);\n res = await this.detect(bitmap, this.config);\n bitmap.close();\n }\n return res;\n }\n\n /** @hidden */\n #warmupCanvas = async () => new Promise((resolve) => {\n let src;\n let size = 0;\n switch (this.config.warmup) {\n case 'face':\n size = 256;\n src = 'data:image/jpeg;base64,' + sample.face;\n break;\n case 'full':\n case 'body':\n size = 1200;\n src = 'data:image/jpeg;base64,' + sample.body;\n break;\n default:\n src = null;\n }\n // src = encodeURI('../assets/human-sample-upper.jpg');\n const img = new Image();\n img.onload = async () => {\n const canvas = (typeof OffscreenCanvas !== 'undefined') ? new OffscreenCanvas(size, size) : document.createElement('canvas');\n canvas.width = img.naturalWidth;\n canvas.height = img.naturalHeight;\n const ctx = canvas.getContext('2d');\n ctx?.drawImage(img, 0, 0);\n // const data = ctx?.getImageData(0, 0, canvas.height, canvas.width);\n const res = await this.detect(canvas, this.config);\n resolve(res);\n };\n if (src) img.src = src;\n else resolve(null);\n });\n\n /** @hidden */\n #warmupNode = async () => {\n const atob = (str) => Buffer.from(str, 'base64');\n let img;\n if (this.config.warmup === 'face') img = atob(sample.face);\n if (this.config.warmup === 'body' || this.config.warmup === 'full') img = atob(sample.body);\n if (!img) return null;\n let res;\n if (typeof tf['node'] !== 'undefined') {\n const data = tf['node'].decodeJpeg(img);\n const expanded = data.expandDims(0);\n this.tf.dispose(data);\n // log('Input:', expanded);\n res = await this.detect(expanded, this.config);\n this.tf.dispose(expanded);\n } else {\n if (this.config.debug) log('Warmup tfjs-node not loaded');\n /*\n const input = await canvasJS.loadImage(img);\n const canvas = canvasJS.createCanvas(input.width, input.height);\n const ctx = canvas.getContext('2d');\n ctx.drawImage(img, 0, 0, input.width, input.height);\n res = await this.detect(input, this.config);\n */\n }\n return res;\n }\n\n /** Warmup metho pre-initializes all models for faster inference\n * - can take significant time on startup\n * - only used for `webgl` and `humangl` backends\n * @param userConfig?: Config\n */\n async warmup(userConfig?: Config | Record): Promise {\n const t0 = now();\n if (userConfig) this.config = mergeDeep(this.config, userConfig);\n if (!this.config.warmup || this.config.warmup === 'none') return { error: 'null' };\n let res;\n if (typeof createImageBitmap === 'function') res = await this.#warmupBitmap();\n else if (typeof Image !== 'undefined') res = await this.#warmupCanvas();\n else res = await this.#warmupNode();\n const t1 = now();\n if (this.config.debug) log('Warmup', this.config.warmup, Math.round(t1 - t0), 'ms', res);\n return res;\n }\n}\n\n/**\n * Class Human is also available as default export\n */\nexport { Human as default };\n"], + "mappings": "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,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,kBAAkB;AAAA,EACnB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,iBAAiB;AAAA,EAClB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,kBAAkB;AAAA,EACnB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,iBAAiB;AAAA,EAClB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,kBAAkB;AAAA,EACnB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,kBAAkB;AAAA,EACnB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,kBAAkB;AAAA,EACnB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,kBAAkB;AAAA,EACnB,CAAC,mBAAmB;AAAA,EACpB,CAAC,iBAAiB;AAAA,EAClB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,kBAAkB;AAAA,EACnB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,kBAAkB;AAAA,EACnB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,kBAAkB;AAAA,EACnB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,kBAAkB;AAAA,EACnB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,iBAAiB;AAAA,EAClB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,kBAAkB;AAAA,EACnB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,kBAAkB;AAAA,EACnB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,kBAAkB;AAAA,EACnB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,kBAAkB;AAAA,EACnB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,kBAAkB;AAAA,EACnB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,kBAAkB;AAAA,EACnB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,iBAAiB;AAAA,EAClB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,kBAAkB;AAAA,EACnB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,kBAAkB;AAAA,EACnB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,kBAAkB;AAAA,EACnB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,kBAAkB;AAAA,EACnB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,iBAAiB;AAAA,EAClB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,kBAAkB;AAAA,EACnB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,kBAAkB;AAAA,EACnB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,kBAAkB;AAAA,EACnB,CAAC,kBAAkB;AAAA,EACnB,CAAC,mBAAmB;AAAA,EACpB,CAAC,iBAAiB;AAAA,EAClB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,kBAAkB;AAAA,EACnB,CAAC,kBAAkB;AAAA,EACnB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,kBAAkB;AAAA,EACnB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,kBAAkB;AAAA,EACnB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,kBAAkB;AAAA,EACnB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,kBAAkB;AAAA,EACnB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,kBAAkB;AAAA,EACnB,CAAC,kBAAkB;AAAA,EACnB,CAAC,gBAAgB;AAAA,EACjB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,kBAAkB;AAAA,EACnB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,kBAAkB;AAAA,EACnB,CAAC,iBAAiB;AAAA,EAClB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA,EACpB,CAAC,mBAAmB;AAAA;AAGf,IAAM,SAAS;AAAA,EACpB;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAG;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EACtJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAClJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAG;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EACrJ;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAC7I;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAClJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EACrJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EACpJ;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAG;AAAA,EAAG;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAG;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAG;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACnJ;AAAA,EAAK;AAAA,EAAI;AAAA,EAAG;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACnJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAG;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAC9I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EACtJ;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAClJ;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAG;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACnJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAG;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACrJ;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACpJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAClJ;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACnJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACnJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EACnJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAChJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAChJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC7I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAClJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC7I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EACnJ;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAG;AAAA,EAAI;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACpJ;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAClJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAClJ;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAI;AAAA,EAAI;AAAA,EAAG;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAChJ;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EACpJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EACrJ;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACpJ;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAG;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAC9I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EACpJ;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACrJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EACpJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EACpJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAC9I;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAG;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAI;AAAA,EAClJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAC9I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAChJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAChJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC9I;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAChJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAClJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;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,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,UAAU,GAAG;AAAA,EAClB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,SAAS,GAAG;AAAA,EACjB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA,EAChB,EAAE,GAAG,QAAQ,GAAG;AAAA;;;AC33FX,yBAAmB;AAAA,EAQxB,YAAY,QAAO;AAbrB;AAcI,SAAK,QAAQ;AACb,SAAK,UAAU,AAAQ,QAAQ,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,OAAO;AACjE,SAAK,gBAAgB,AAAG,0BAAS,KAAK;AAEtC,SAAK,YAAY,WAAK,UAAL,mBAAY,OAAO,GAAG,MAAM;AAC7C,SAAK,kBAAkB,AAAG,0BAAS,CAAC,KAAK,WAAW,KAAK;AACzD,SAAK,wBAAwB,AAAG,0BAAS,CAAC,KAAK,YAAY,GAAG,KAAK,YAAY;AAAA;AAAA,EAGjF,eAAe,OAAO;AACpB,WAAO,AAAG,sBAAK,MAAM;AACnB,YAAM,aAAa,AAAG,uBAAM,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI;AAChD,YAAM,WAAW,AAAG,uBAAM,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI;AAC9C,YAAM,kBAAkB,AAAG,qBAAI,AAAG,qBAAI,YAAY,KAAK,kBAAkB,KAAK;AAC9E,YAAM,eAAe,AAAG,qBAAI,UAAU,KAAK;AAC3C,YAAM,cAAc,AAAG,qBAAI,AAAG,qBAAI,iBAAiB,eAAe,KAAK;AACvE,YAAM,YAAY,AAAG,qBAAI,AAAG,qBAAI,iBAAiB,eAAe,KAAK;AACrE,aAAO,AAAG,0BAAS,CAAC,aAAa,YAAY;AAAA;AAAA;AAAA,EAIjD,mBAAmB,kBAAkB,OAAO;AAC1C,WAAO,AAAG,sBAAK,MAAM;AACnB,YAAM,YAAY,AAAG,qBAAI,AAAG,qBAAI,iBAAiB,QAAQ,CAAC,IAAI,GAAG,KAAK,KAAK,kBAAkB,KAAK,QAAQ;AAC1G,aAAO,AAAG,qBAAI,WAAW,KAAK;AAAA;AAAA;AAAA,QAI5B,SAAS,OAAO,SAAQ;AAC5B,UAAM,UAAU,KAAK,MAAM,QAAQ;AACnC,UAAM,cAAc,QAAQ;AAC5B,YAAQ;AACR,UAAM,UAAU,AAAG,sBAAK,MAAM,AAAG,yBAAQ,AAAG,uBAAM,aAAa,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK;AACjF,UAAM,SAAS,QAAQ;AACvB,UAAM,WAAW,AAAG,uBAAM,aAAa,CAAC,GAAG,IAAI,CAAC,IAAI;AACpD,UAAM,QAAQ,KAAK,eAAe;AAClC,aAAS;AACT,UAAM,YAAY,MAAM,AAAG,uBAAM,uBAAuB,OAAO,QAAQ,QAAO,KAAK,aAAa,QAAO,KAAK,cAAc,QAAO,KAAK;AACtI,UAAM,WAAW,UAAU;AAE3B,YAAQ;AACR,cAAU;AACV,UAAM,QAA2E;AACjF,eAAW,SAAS,UAAU;AAC5B,UAAI,OAAO,UAAU,QAAO,KAAK,eAAe;AAC9C,cAAM,cAAc,AAAG,uBAAM,OAAO,CAAC,OAAO,IAAI,CAAC,GAAG;AACpD,cAAM,mBAAmB,AAAG,uBAAM,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG;AAC/D,cAAM,gBAAgB,AAAG,sBAAK,MAAM,KAAK,mBAAmB,kBAAkB,OAAO,QAAQ,CAAC,IAAI;AAClG,yBAAiB;AACjB,cAAM,KAAK,EAAE,KAAK,aAAa,eAAe,YAAY,OAAO;AAAA;AAAA;AAGrE,gBAAY;AACZ,UAAM;AACN,WAAO;AAAA;AAAA,QAGH,mBAAmB,OAAO,SAA8G;AAC5I,UAAM,cAAc,MAAM,MAAM;AAChC,UAAM,aAAa,MAAM,MAAM;AAC/B,UAAM,UAAQ,AAAG,sBAAK,MAAM,MAAM,eAAe,CAAC,KAAK,WAAW,KAAK,YAAY,IAAI,OAAO,IAAI;AAClG,UAAM,cAAc,MAAM,KAAK,SAAS,SAAO;AAC/C,YAAM;AACN,UAAM,QAA0G;AAChH,QAAI,CAAC,eAAe,YAAY,WAAW;AAAG,aAAO;AACrD,eAAW,cAAc,aAAa;AACpC,YAAM,QAAQ,WAAW,IAAI;AAC7B,YAAM,aAAa,MAAM,MAAM,GAAG;AAClC,YAAM,WAAW,MAAM,MAAM,GAAG;AAChC,YAAM,gBAAgB,WAAW,cAAc;AAC/C,iBAAW,IAAI;AACf,iBAAW,cAAc;AACzB,YAAM,KAAK,AAAI,qBAAoB,EAAE,YAAY,UAAU,eAAe,YAAY,WAAW,cAAc,CAAC,aAAa,KAAK,WAAW,cAAc,KAAK;AAAA;AAElK,WAAO;AAAA;AAAA;;;ACxFJ,2BAA0B,OAAO;AACtC,SAAO,QAAQ,IAAI,KAAK,KAAK,KAAK,MAAO,SAAQ,KAAK,MAAO,KAAI,KAAK;AAAA;AAGjE,0BAAyB,QAAQ,QAAQ;AAC9C,QAAM,UAAU,KAAK,KAAK,IAAI,KAAK,MAAM,CAAE,QAAO,KAAK,OAAO,KAAK,OAAO,KAAK,OAAO;AACtF,SAAO,kBAAiB;AAAA;AAGnB,IAAM,0BAAyB,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG;AAEvE,cAAa,IAAI,IAAI;AAC1B,MAAI,UAAU;AACd,WAAS,IAAI,GAAG,IAAI,GAAG,QAAQ,KAAK;AAClC,eAAW,GAAG,KAAK,GAAG;AAAA;AAExB,SAAO;AAAA;AAGF,6BAA4B,KAAK,aAAa;AACnD,QAAM,SAAwB;AAC9B,WAAS,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK;AACnC,WAAO,KAAK,IAAI,GAAG;AAAA;AAErB,SAAO;AAAA;AAGF,oCAAmC,MAAM,MAAM;AACpD,QAAM,UAA2B;AACjC,QAAM,OAAO,KAAK;AAClB,WAAS,MAAM,GAAG,MAAM,MAAM,OAAO;AACnC,YAAQ,KAAK;AACb,aAAS,MAAM,GAAG,MAAM,MAAM,OAAO;AACnC,cAAQ,KAAK,KAAK,KAAI,KAAK,MAAM,oBAAmB,MAAM;AAAA;AAAA;AAG9D,SAAO;AAAA;AAGF,8BAA6B,UAAU,QAAQ;AACpD,QAAM,OAAO,KAAK,IAAI;AACtB,QAAM,OAAO,KAAK,IAAI;AACtB,QAAM,iBAAiB,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,MAAM,IAAI,CAAC,GAAG,GAAG;AAClE,QAAM,oBAAoB,wBAAuB,OAAO,IAAI,OAAO;AACnE,QAAM,2BAA2B,2BAA0B,mBAAmB;AAC9E,QAAM,4BAA4B,wBAAuB,CAAC,OAAO,IAAI,CAAC,OAAO;AAC7E,SAAO,2BAA0B,0BAA0B;AAAA;AAGtD,gCAA+B,QAAQ;AAC5C,QAAM,oBAAoB,CAAC,CAAC,OAAO,GAAG,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,GAAG,IAAI,OAAO,GAAG;AAClF,QAAM,uBAAuB,CAAC,OAAO,GAAG,IAAI,OAAO,GAAG;AACtD,QAAM,sBAAsB;AAAA,IAC1B,CAAC,KAAI,kBAAkB,IAAI;AAAA,IAC3B,CAAC,KAAI,kBAAkB,IAAI;AAAA;AAE7B,SAAO;AAAA,IACL,kBAAkB,GAAG,OAAO,oBAAoB;AAAA,IAChD,kBAAkB,GAAG,OAAO,oBAAoB;AAAA,IAChD,CAAC,GAAG,GAAG;AAAA;AAAA;AAIJ,sBAAqB,uBAAuB,gBAAgB;AACjE,SAAO;AAAA,IACL,KAAI,uBAAuB,eAAe;AAAA,IAC1C,KAAI,uBAAuB,eAAe;AAAA;AAAA;;;AC5D9C,IAAM,uBAAuB;AAC7B,IAAM,uBAAuB;AAC7B,IAAM,kBAAkB,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG;AAC7C,IAAM,wBAAwB;AAC9B,IAAM,gCAAgC;AAE/B,yBAAmB;AAAA,EAQxB,YAAY,cAAc,gBAAe;AApB3C;AAqBI,SAAK,eAAe;AACpB,SAAK,gBAAgB;AAErB,SAAK,YAAY,WAAK,kBAAL,mBAAoB,OAAO,GAAG,MAAM;AACrD,SAAK,cAAc;AACnB,SAAK,UAAU;AACf,SAAK,gBAAgB;AAAA;AAAA,EAIvB,8BAA8B,WAAW;AACvC,UAAM,KAAK,UAAU,IAAI,CAAC,MAAM,EAAE;AAClC,UAAM,KAAK,UAAU,IAAI,CAAC,MAAM,EAAE;AAClC,UAAM,aAAa,CAAC,KAAK,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG;AACjD,UAAM,WAAW,CAAC,KAAK,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG;AAC/C,WAAO,EAAE,YAAY;AAAA;AAAA,EAGvB,uBAAuB,eAAe,gBAAgB;AACpD,UAAM,uBAAuB,cAAc,IAAI,CAAC,UAAU,AAAK,aAAY,CAAC,GAAG,OAAO,IAAI;AAC1F,UAAM,gBAAgB,KAAK,8BAA8B;AACzD,WAAO,AAAI,YAAW,AAAI,aAAY,gBAAgB;AAAA;AAAA,EAGxD,uBAAuB,WAAW;AAChC,UAAM,cAAc,KAAK,8BAA8B;AACvD,UAAM,gBAAgB,AAAI,YAAW,AAAI,aAAY,cAAc;AACnE,kBAAc,gBAAgB;AAC9B,aAAS,IAAI,GAAG,IAAI,gBAAgB,QAAQ,KAAK;AAC/C,oBAAc,cAAc,KAAK,UAAU,gBAAgB,IAAI,MAAM,GAAG;AAAA;AAE1E,WAAO;AAAA;AAAA,EAGT,mBAAmB,WAAW,OAAM,OAAO,gBAAgB;AACzD,UAAM,UAAU,AAAI,YAAW;AAC/B,UAAM,cAAc,CAAC,QAAQ,KAAK,KAAK,WAAW,QAAQ,KAAK,KAAK,WAAY,SAAQ,KAAK,QAAQ,MAAM,KAAK,YAAY;AAC5H,UAAM,eAAe,UAAU,IAAI,CAAC,UAAU;AAAA,MAC5C,YAAY,KAAM,OAAM,KAAK,KAAK,YAAY;AAAA,MAC9C,YAAY,KAAM,OAAM,KAAK,KAAK,YAAY;AAAA,MAC9C,YAAY,KAAK,MAAM;AAAA;AAEzB,UAAM,uBAAuB,AAAK,qBAAoB,OAAO,CAAC,GAAG;AACjE,UAAM,gBAAgB,aAAa,IAAI,CAAC,UAAU;AAChD,YAAM,UAAU,AAAK,aAAY,OAAO;AACxC,aAAO,CAAC,GAAG,SAAS,MAAM;AAAA;AAE5B,UAAM,wBAAwB,AAAK,uBAAsB;AACzD,UAAM,YAAY,CAAC,GAAG,AAAI,cAAa,QAAO;AAC9C,UAAM,oBAAoB;AAAA,MACxB,AAAK,KAAI,WAAW,sBAAsB;AAAA,MAC1C,AAAK,KAAI,WAAW,sBAAsB;AAAA;AAE5C,WAAO,cAAc,IAAI,CAAC,UAAU;AAAA,MAClC,KAAK,MAAM,MAAM,KAAK,kBAAkB;AAAA,MACxC,KAAK,MAAM,MAAM,KAAK,kBAAkB;AAAA,MACxC,KAAK,MAAM,MAAM;AAAA;AAAA;AAAA,QAIf,cAAc,SAAO,SAAQ;AACjC,QAAI,cAAc;AAGlB,QAAI;AAGJ,QAAK,KAAK,YAAY,KAAO,KAAK,UAAU,QAAO,KAAK,cAAe,CAAC,QAAO,KAAK,aAAa,CAAC,QAAO,WAAW;AAClH,cAAQ,MAAM,KAAK,aAAa,mBAAmB,SAAO;AAC1D,WAAK,UAAU;AAAA;AAEjB,QAAI,QAAO;AAAW,WAAK;AAG3B,QAAI,SAAU,MAAM,SAAS,KAAQ,OAAM,WAAW,KAAK,iBAAmB,KAAK,kBAAkB,QAAO,KAAK,eAAgB,CAAC,QAAO,KAAK,YAAY;AACxJ,WAAK,gBAAgB;AACrB,WAAK,cAAc,CAAC,GAAG;AAEvB,UAAI,KAAK,YAAY,SAAS;AAAG,sBAAc;AAAA;AAEjD,UAAM,QAAgH;AAGtH,aAAS,IAAI,GAAG,IAAI,KAAK,YAAY,QAAQ,KAAK;AAChD,YAAM,aAAa,KAAK,YAAY;AACpC,UAAI,CAAC;AAAY;AACjB,UAAI,QAAO,KAAK,WAAW;AACzB,cAAM,QAAQ,QAAO,KAAK,WAAW,AAAK,iBAAgB,WAAW,cAAc,wBAAwB,WAAW,cAAc,kCAAkC;AACtK,cAAM,aAAa,AAAI,cAAa;AACpC,cAAM,uBAAuB,CAAC,WAAW,KAAK,QAAM,MAAM,IAAI,WAAW,KAAK,QAAM,MAAM;AAC1F,cAAM,eAAe,QAAO,KAAK,YAAY,AAAG,qBAAI,MAAM,aAAa,AAAG,uBAAM,iBAAiB,SAAO,OAAO,GAAG,wBAAwB,QAAM;AAChJ,cAAM,iBAAiB,AAAK,qBAAoB,CAAC,OAAO;AACxD,cAAM,SAAS,cAAc,KAAK,uBAAuB,WAAW,eAAe,kBAAkB;AACrG,cAAM,eAAe,AAAI,0BAAyB,QAAQ,cAAc,CAAC,KAAK,WAAW,KAAK;AAC9F,cAAM,YAAY,aAAa,IAAI;AACnC,qBAAa;AACb,qBAAa;AACb,cAAM,CAAC,aAAa,cAAa,MAAM,KAAK,cAAc,QAAQ;AAClE,kBAAU;AACV,cAAM,aAAa,YAAY,WAAW;AAC1C,oBAAY;AACZ,YAAI,cAAc,QAAO,KAAK,eAAe;AAC3C,gBAAM,oBAAoB,AAAG,yBAAQ,YAAW,CAAC,IAAI;AACrD,gBAAM,YAAY,kBAAkB;AACpC,qBAAU;AACV,4BAAkB;AAClB,gBAAM,UAAS,KAAK,mBAAmB,WAAW,QAAQ,OAAO;AACjE,gBAAM,kBAAkB,KAAK,uBAAuB;AACpD,eAAK,YAAY,KAAK,KAAK,iBAAiB;AAC5C,gBAAM,SAAS;AAAA,YACb,WAAW;AAAA,YACX;AAAA,YACA,KAAK,EAAE,SAAS,gBAAgB,YAAY,aAAa,gBAAgB;AAAA;AAE3E,gBAAM,KAAK;AAAA,eACN;AACL,eAAK,YAAY,KAAK;AAAA;AAExB,mBAAU;AAAA,aACL;AAEL,cAAM,WAAW,AAAI,YAAW,AAAI,aAAY,aAAa;AAC7D,cAAM,SAAS;AAAA,UACb,YAAY,WAAW;AAAA,UACvB,KAAK,EAAE,SAAS,SAAS,YAAY,aAAa,SAAS;AAAA;AAE7D,cAAM,KAAK;AAAA;AAAA;AAGf,SAAK,cAAc,KAAK,YAAY,OAAO,CAAC,MAAM,MAAM;AACxD,SAAK,gBAAgB,MAAM;AAC3B,WAAO;AAAA;AAAA;;;AL7IX,IAAM,kBAAkB;AAAA,EACtB,OAAO,CAAC,GAAG,GAAG,GAAG;AAAA,EACjB,aAAa,CAAC,GAAG,GAAG,GAAG;AAAA,EACvB,cAAc,CAAC,GAAG,IAAI,IAAI;AAAA,EAC1B,YAAY,CAAC,IAAI,IAAI,IAAI;AAAA,EACzB,OAAO,CAAC,IAAI,IAAI,IAAI;AAAA,EACpB,UAAU,CAAC;AAAA;AAGb,IAAI;AACJ,IAAI;AACJ,IAAI;AAEJ,wBAA8B,OAAO,SAAyB;AAC5D,QAAM,cAAc,MAAM,aAAa,cAAc,OAAO;AAC5D,MAAI,CAAC;AAAa,WAAO;AACzB,QAAM,QAAqB;AAC3B,WAAS,IAAI,GAAG,IAAI,YAAY,QAAQ,KAAK;AAC3C,UAAM,eAAc;AACpB,QAAI,YAAY,GAAG,WAAW;AAC5B,iBAAW,OAAO,OAAO,KAAK,kBAAkB;AAE9C,qBAAY,OAAO,gBAAgB,KAAK,IAAI,CAAC,UAAU,YAAY,GAAG,UAAU;AAAA;AAAA;AAIpF,UAAM,aAAY,YAAY,GAAG;AAEjC,QAAI,OAAwC,CAAC,OAAO,kBAAkB,OAAO,kBAAkB,GAAG;AAClG,QAAI,UAA2C,CAAC,GAAG,GAAG,GAAG;AACzD,QAAI,cAAa,WAAU,SAAS,GAAG;AACrC,iBAAW,MAAM,YAAW;AAC1B,YAAI,GAAG,KAAK,KAAI;AAAI,eAAI,KAAK,GAAG;AAChC,YAAI,GAAG,KAAK,KAAI;AAAI,eAAI,KAAK,GAAG;AAChC,YAAI,GAAG,KAAK,KAAI;AAAI,eAAI,KAAK,GAAG;AAChC,YAAI,GAAG,KAAK,KAAI;AAAI,eAAI,KAAK,GAAG;AAAA;AAElC,WAAI,MAAM,KAAI;AACd,WAAI,MAAM,KAAI;AACd,gBAAS,CAAC,KAAI,KAAK,MAAM,MAAM,IAAI,KAAI,KAAK,MAAM,MAAM,IAAI,KAAI,KAAK,MAAM,MAAM,IAAI,KAAI,KAAK,MAAM,MAAM;AAAA,WACrG;AACL,aAAM,YAAY,GAAG,MAAM;AAAA,QACzB,KAAK,MAAM,KAAK,IAAI,GAAG,YAAY,GAAG,IAAI,QAAQ;AAAA,QAClD,KAAK,MAAM,KAAK,IAAI,GAAG,YAAY,GAAG,IAAI,QAAQ;AAAA,QAClD,KAAK,MAAM,KAAK,IAAI,MAAM,MAAM,IAAI,YAAY,GAAG,IAAI,YAAY,MAAM,KAAK,IAAI,GAAG,YAAY,GAAG,IAAI,QAAQ;AAAA,QAChH,KAAK,MAAM,KAAK,IAAI,MAAM,MAAM,IAAI,YAAY,GAAG,IAAI,YAAY,MAAM,KAAK,IAAI,GAAG,YAAY,GAAG,IAAI,QAAQ;AAAA,UAC9G,CAAC,GAAG,GAAG,GAAG;AACd,gBAAS;AAAA,QACN,YAAY,GAAG,IAAI,QAAQ,KAAM,MAAM,MAAM;AAAA,QAC7C,YAAY,GAAG,IAAI,QAAQ,KAAM,MAAM,MAAM;AAAA,QAC7C,aAAY,GAAG,IAAI,YAAY,KAAK,YAAY,GAAG,IAAI,QAAQ,MAAM,MAAM,MAAM;AAAA,QACjF,aAAY,GAAG,IAAI,YAAY,KAAK,YAAY,GAAG,IAAI,QAAQ,MAAM,MAAM,MAAM;AAAA;AAAA;AAGtF,UAAM,KAAK,EAAE,IAAI,GAAG,OAAO,KAAK,MAAM,MAAM,YAAY,GAAG,cAAc,KAAK,WAAK,iBAAQ,uBAAW;AAAA;AAExG,SAAO;AAAA;AAGT,qBAA2B,SAAqC;AAC9D,MAAI,CAAC,qBAAqB,CAAC,eAAe;AAExC,KAAC,mBAAmB,iBAAiB,MAAM,QAAQ,IAAI;AAAA,MACrD,QAAO,KAAK,UAAU,AAAG,gCAAe,KAAK,QAAO,eAAe,QAAO,KAAK,SAAS,YAAY,EAAE,WAAW,QAAO,KAAK,SAAS,UAAU,SAAS,kBAAkB;AAAA,MAC3K,QAAO,KAAK,YAAY,AAAG,gCAAe,KAAK,QAAO,eAAe,QAAO,KAAK,SAAS,YAAY,EAAE,WAAW,QAAO,KAAK,SAAS,UAAU,SAAS,kBAAkB;AAAA;AAE/K,QAAI,QAAO,KAAK,SAAS;AACvB,UAAI,CAAC,qBAAqB,CAAC,kBAAkB;AAAa,YAAI,sBAAsB,QAAO,KAAK,SAAS;AAAA,eAChG,QAAO;AAAO,YAAI,eAAe,kBAAkB;AAC5D,UAAI,CAAC,iBAAiB,CAAC,cAAc;AAAa,YAAI,sBAAsB,QAAO,KAAK,SAAS;AAAA,eACxF,QAAO;AAAO,YAAI,eAAe,cAAc;AAAA;AAAA,SAErD;AACL,QAAI,QAAO;AAAO,UAAI,iBAAiB,kBAAkB;AACzD,QAAI,QAAO;AAAO,UAAI,iBAAiB,cAAc;AAAA;AAEvD,QAAM,eAAe,IAAiB,aAAa;AACnD,iBAAe,IAAiB,aAAa,cAAc;AAC3D,SAAO,CAAC,mBAAmB;AAAA;;;AMzF7B;AAAA;AAAA;AAAA;AAAA;;;ACAO,IAAM,OAAO;AAAA,EAClB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAGK,IAAM,QAAQ;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;;;AD7DF,IAAI;AAEJ,qBAA2B,SAAQ;AACjC,MAAI,CAAC,QAAO;AAEV,aAAQ,MAAM,AAAG,gCAAe,KAAK,QAAO,eAAe,QAAO,KAAK;AACvE,WAAM,WAAW,SAAS,OAAM,aAAa,OAAO,aAAa,YAAY,IAAI,GAAG;AACpF,WAAM,YAAY,SAAS,OAAM,aAAa,OAAO,aAAa,YAAY,IAAI,GAAG;AACrF,QAAI,CAAC,UAAS,CAAC,OAAM;AAAa,UAAI,sBAAsB,QAAO,KAAK;AAAA,aAC/D,QAAO;AAAO,UAAI,eAAe,OAAM;AAAA,aACvC,QAAO;AAAO,QAAI,iBAAiB,OAAM;AACpD,SAAO;AAAA;AAGT,wBAA8B,SAAO,SAAyB;AA1B9D;AA2BE,MAAI,CAAC;AAAO,WAAO;AACnB,MAAI,CAAC,QAAO,KAAK;AAAS,WAAO;AACjC,QAAM,UAAU,EAAE,OAAO,QAAM,MAAM,IAAI,QAAQ,QAAM,MAAM;AAC7D,QAAM,SAAS,AAAG,uBAAM,eAAe,SAAO,CAAC,OAAM,UAAU,OAAM,YAAY;AACjF,QAAM,YAAY,AAAG,qBAAI,QAAQ,CAAC;AAClC,SAAO;AACP,QAAM,OAAO,MAAM,OAAM,QAAQ;AACjC,QAAM,SAAS,YAAK,KAAK,CAAC,MAAO,EAAE,SAAS,OAAO,EAAE,SAAS,SAA/C,mBAAsD,eAAc;AACnF,OAAK,QAAQ,CAAC,MAAM,EAAE;AACtB,YAAU;AACV,QAAM,aAA6H;AACnI,QAAM,UAAS,kCAAQ,YAAW,MAAkB,OAAmB;AACvE,QAAM,QAAQ;AACd,WAAS,IAAI,GAAG,IAAI,OAAO,SAAS,OAAO,KAAK;AAC9C,eAAU,KAAK;AAAA,MACb,IAAI;AAAA,MACJ,MAAM,QAAO;AAAA,MACb,UAAU;AAAA,QACR,KAAK,MAAM,QAAQ,QAAQ,OAAO,QAAQ,IAAI,KAAK;AAAA,QACnD,KAAK,MAAM,QAAQ,SAAS,OAAO,QAAQ,IAAI,KAAK;AAAA,QACpD,KAAK,MAAM,OAAO,QAAQ,IAAI,MAAM;AAAA;AAAA,MAEtC,aAAa;AAAA,QACX,OAAO,QAAQ,IAAI,KAAK;AAAA,QACxB,OAAO,QAAQ,IAAI,KAAK;AAAA,QACxB,OAAO,QAAQ,IAAI,KAAK;AAAA;AAAA,MAE1B,OAAQ,OAAM,KAAK,MAAM,MAAO,KAAI,KAAK,IAAI,OAAO,QAAQ,IAAI,SAAS;AAAA,MACzE,UAAW,OAAM,KAAK,MAAM,MAAO,KAAI,KAAK,IAAI,OAAO,QAAQ,IAAI,SAAS;AAAA;AAAA;AAGhF,QAAM,IAAI,WAAU,IAAI,CAAC,MAAM,EAAE,SAAS;AAC1C,QAAM,IAAI,WAAU,IAAI,CAAC,MAAM,EAAE,SAAS;AAC1C,QAAM,OAAwC;AAAA,IAC5C,KAAK,IAAI,GAAG;AAAA,IACZ,KAAK,IAAI,GAAG;AAAA,IACZ,KAAK,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG;AAAA,IAC7B,KAAK,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG;AAAA;AAE/B,QAAM,UAA2C,CAAC,GAAG,GAAG,GAAG;AAC3D,QAAM,SAAQ,WAAU,OAAO,CAAC,MAAM,SAAU,KAAK,QAAQ,OAAO,KAAK,QAAQ,MAAO;AACxF,SAAO,CAAC,EAAE,IAAI,GAAG,eAAO,WAAK,iBAAQ;AAAA;;;AE3DvC,IAAI;AAIJ,IAAM,YAA8B;AACpC,IAAI,OAAwC,CAAC,GAAG,GAAG,GAAG;AACtD,IAAI,SAA2C,CAAC,GAAG,GAAG,GAAG;AACzD,IAAI,QAAQ;AACZ,IAAI,WAAU,OAAO;AAErB,IAAM,YAAY,CAAC,QAAQ,QAAQ,iBAAiB,cAAc,cAAc,SAAS,gBAAgB,aAAa,aAAa,UAAU,YAAY,aAAa,cAAc,WAAW,YAAY;AAE3M,qBAA2B,SAAQ;AACjC,MAAI,CAAC,QAAO;AAEV,aAAQ,MAAM,AAAG,gCAAe,KAAK,QAAO,eAAe,QAAO,KAAK;AACvE,QAAI,CAAC,UAAS,CAAC,OAAM;AAAa,UAAI,sBAAsB,QAAO,KAAK;AAAA,aAC/D,QAAO;AAAO,UAAI,eAAe,OAAM;AAAA,aACvC,QAAO;AAAO,QAAI,iBAAiB,OAAM;AACpD,SAAO;AAAA;AAIT,eAAe,QAAQ,UAAU;AAC/B,QAAM,CAAC,OAAO,UAAU,OAAO;AAC/B,SAAO,AAAG,sBAAK,MAAM;AAEnB,UAAM,MAAM,CAAC,GAAG,MAAM,AAAG,qBAAI,GAAG,AAAG,qBAAI,AAAG,qBAAI,GAAG,AAAG,wBAAO,GAAG,WAAW,AAAG,wBAAO,GAAG;AAEtF,UAAM,WAAW,AAAG,yBAAQ,QAAQ,CAAC,SAAS;AAE9C,UAAM,WAAW,AAAG,qBAAI,UAAU,GAAG,WAAW;AAChD,QAAI,WAAW,UAAU;AAEvB,YAAM,UAAS,AAAG,wBAAO,UAAU;AACnC,YAAM,IAAI,IAAI,SAAQ,OAAO,WAAW;AACxC,YAAM,IAAI,AAAG,qBAAI,SAAQ,AAAG,wBAAO,OAAO,UAAU,WAAW;AAC/D,aAAO,CAAC,GAAG,GAAG;AAAA;AAEhB,WAAO,CAAC,GAAG,GAAG;AAAA;AAAA;AAIlB,wBAA8B,SAAO,SAAyB;AAC5D,MAAK,WAAU,QAAO,KAAK,cAAe,QAAO,aAAa,OAAO,KAAK,WAAW,SAAS,GAAG;AAC/F;AACA,WAAO,CAAC,EAAE,IAAI,GAAG,OAAO,WAAK,QAAQ;AAAA;AAEvC,aAAU;AACV,SAAO,IAAI,QAAQ,OAAO,YAAY;AACpC,UAAM,SAAS,AAAG,sBAAK,MAAM;AAC3B,UAAI,CAAC,OAAM,OAAO,GAAG;AAAO,eAAO;AACnC,YAAM,SAAS,AAAG,uBAAM,eAAe,SAAO,CAAC,OAAM,OAAO,GAAG,MAAM,IAAI,OAAM,OAAO,GAAG,MAAM,KAAK;AACpG,YAAM,WAAU,AAAG,qBAAI,QAAQ;AAC/B,YAAM,OAAO,SAAQ,IAAI;AACzB,aAAO;AAAA;AAGT,QAAI;AACJ,QAAI,QAAO,KAAK;AAAS,aAAO,MAAM,OAAM,QAAQ;AACpD,WAAO;AAEP,QAAI,MAAM;AACR,gBAAU,SAAS;AACnB,YAAM,WAAU,KAAK;AACrB,MAAG,yBAAQ;AAEX,YAAM,SAAQ,SAAQ,QAAQ;AAC9B,MAAG,yBAAQ;AAEX,eAAS,KAAK,GAAG,KAAK,OAAM,QAAQ,MAAM;AAExC,cAAM,CAAC,IAAG,IAAG,aAAa,MAAM,OAAM,KAAK,QAAO,KAAK;AACvD,YAAI,QAAQ,QAAO,KAAK,eAAe;AACrC,oBAAU,KAAK;AAAA,YACb,OAAO,KAAK,MAAM,MAAM,aAAa;AAAA,YACrC,MAAM,UAAU;AAAA,YAChB,aAAa;AAAA,cAEX,KAAI,OAAM,OAAO,GAAG,MAAM;AAAA,cAAI,KAAI,OAAM,OAAO,GAAG,MAAM;AAAA;AAAA,YAE1D,UAAU;AAAA,cAER,KAAK,MAAM,QAAM,MAAM,KAAK,KAAI,OAAM,OAAO,GAAG,MAAM;AAAA,cAAK,KAAK,MAAM,QAAM,MAAM,KAAK,KAAI,OAAM,OAAO,GAAG,MAAM;AAAA;AAAA;AAAA;AAAA;AAKzH,aAAM,QAAQ,CAAC,MAAM,AAAG,yBAAQ;AAAA;AAElC,YAAQ,UAAU,OAAO,CAAC,MAAM,SAAU,KAAK,QAAQ,OAAO,KAAK,QAAQ,MAAO;AAClF,UAAM,IAAI,UAAU,IAAI,CAAC,MAAM,EAAE,SAAS;AAC1C,UAAM,IAAI,UAAU,IAAI,CAAC,MAAM,EAAE,SAAS;AAC1C,WAAM;AAAA,MACJ,KAAK,IAAI,GAAG;AAAA,MACZ,KAAK,IAAI,GAAG;AAAA,MACZ,KAAK,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG;AAAA,MAC7B,KAAK,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG;AAAA;AAE/B,UAAM,OAAO,UAAU,IAAI,CAAC,MAAM,EAAE,YAAY;AAChD,UAAM,OAAO,UAAU,IAAI,CAAC,MAAM,EAAE,YAAY;AAChD,aAAS;AAAA,MACP,KAAK,IAAI,GAAG;AAAA,MACZ,KAAK,IAAI,GAAG;AAAA,MACZ,KAAK,IAAI,GAAG,QAAQ,KAAK,IAAI,GAAG;AAAA,MAChC,KAAK,IAAI,GAAG,QAAQ,KAAK,IAAI,GAAG;AAAA;AAElC,YAAQ,CAAC,EAAE,IAAI,GAAG,OAAO,WAAK,QAAQ;AAAA;AAAA;;;AC3G1C,IAAI;AAIJ,IAAM,aAA8B;AACpC,IAAI,OAAwC,CAAC,GAAG,GAAG,GAAG;AACtD,IAAI,UAA2C,CAAC,GAAG,GAAG,GAAG;AACzD,IAAI,SAAQ;AACZ,IAAI,WAAU,OAAO;AAErB,IAAM,aAAY,CAAC,QAAQ,WAAW,YAAY,WAAW,YAAY,gBAAgB,iBAAiB,aAAa,cAAc,aAAa,cAAc,WAAW,YAAY,YAAY,aAAa,aAAa;AAE7N,qBAA2B,SAAQ;AACjC,MAAI,CAAC,QAAO;AAEV,aAAQ,MAAM,AAAG,gCAAe,KAAK,QAAO,eAAe,QAAO,KAAK;AACvE,QAAI,CAAC,UAAS,CAAC,OAAM;AAAa,UAAI,sBAAsB,QAAO,KAAK;AAAA,aAC/D,QAAO;AAAO,UAAI,eAAe,OAAM;AAAA,aACvC,QAAO;AAAO,QAAI,iBAAiB,OAAM;AACpD,SAAO;AAAA;AAGT,wBAA8B,SAAO,SAAyB;AAC5D,MAAK,WAAU,QAAO,KAAK,cAAe,QAAO,aAAa,OAAO,KAAK,YAAW,SAAS,GAAG;AAC/F;AACA,WAAO,CAAC,EAAE,IAAI,GAAG,eAAO,WAAK,iBAAQ;AAAA;AAEvC,aAAU;AACV,SAAO,IAAI,QAAQ,OAAO,YAAY;AACpC,UAAM,SAAS,AAAG,sBAAK,MAAM;AAC3B,UAAI,CAAC,OAAM,OAAO,GAAG;AAAO,eAAO;AACnC,YAAM,SAAS,AAAG,uBAAM,eAAe,SAAO,CAAC,OAAM,OAAO,GAAG,MAAM,IAAI,OAAM,OAAO,GAAG,MAAM,KAAK;AACpG,YAAM,QAAO,AAAG,sBAAK,QAAQ;AAC7B,aAAO;AAAA;AAGT,QAAI;AACJ,QAAI,QAAO,KAAK;AAAS,aAAO,MAAM,OAAM,QAAQ;AACpD,WAAO;AAEP,QAAI,MAAM;AACR,iBAAU,SAAS;AACnB,YAAM,MAAM,KAAK;AACjB,MAAG,yBAAQ;AACX,YAAM,OAAM,IAAI,GAAG;AACnB,eAAS,KAAK,GAAG,KAAK,KAAI,QAAQ,MAAM;AACtC,iBAAQ,KAAI,IAAI;AAChB,YAAI,SAAQ,QAAO,KAAK,eAAe;AACrC,qBAAU,KAAK;AAAA,YACb,OAAO,KAAK,MAAM,MAAM,UAAS;AAAA,YACjC,MAAM,WAAU;AAAA,YAChB,aAAa;AAAA,cACX,KAAI,IAAI;AAAA,cACR,KAAI,IAAI;AAAA;AAAA,YAEV,UAAU;AAAA,cACR,KAAK,MAAM,QAAM,MAAM,KAAK,KAAI,IAAI;AAAA,cACpC,KAAK,MAAM,QAAM,MAAM,KAAK,KAAI,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAM9C,aAAQ,WAAU,OAAO,CAAC,MAAM,SAAU,KAAK,QAAQ,OAAO,KAAK,QAAQ,MAAO;AAClF,UAAM,IAAI,WAAU,IAAI,CAAC,MAAM,EAAE,SAAS;AAC1C,UAAM,IAAI,WAAU,IAAI,CAAC,MAAM,EAAE,SAAS;AAC1C,WAAM;AAAA,MACJ,KAAK,IAAI,GAAG;AAAA,MACZ,KAAK,IAAI,GAAG;AAAA,MACZ,KAAK,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG;AAAA,MAC7B,KAAK,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG;AAAA;AAE/B,UAAM,OAAO,WAAU,IAAI,CAAC,MAAM,EAAE,YAAY;AAChD,UAAM,OAAO,WAAU,IAAI,CAAC,MAAM,EAAE,YAAY;AAChD,cAAS;AAAA,MACP,KAAK,IAAI,GAAG;AAAA,MACZ,KAAK,IAAI,GAAG;AAAA,MACZ,KAAK,IAAI,GAAG,QAAQ,KAAK,IAAI,GAAG;AAAA,MAChC,KAAK,IAAI,GAAG,QAAQ,KAAK,IAAI,GAAG;AAAA;AAElC,YAAQ,CAAC,EAAE,IAAI,GAAG,eAAO,WAAK,iBAAQ;AAAA;AAAA;;;ACzF1C;AAAA;AAAA;AAAA;AAAA;;;ACGO,IAAM,SAAS;AAAA,EACpB,EAAE,OAAO,GAAG,OAAO;AAAA,EACnB,EAAE,OAAO,GAAG,OAAO;AAAA,EACnB,EAAE,OAAO,GAAG,OAAO;AAAA,EACnB,EAAE,OAAO,GAAG,OAAO;AAAA,EACnB,EAAE,OAAO,GAAG,OAAO;AAAA,EACnB,EAAE,OAAO,GAAG,OAAO;AAAA,EACnB,EAAE,OAAO,GAAG,OAAO;AAAA,EACnB,EAAE,OAAO,GAAG,OAAO;AAAA,EACnB,EAAE,OAAO,GAAG,OAAO;AAAA,EACnB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,IAAI,OAAO;AAAA,EACpB,EAAE,OAAO,I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A;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA0Jb,IAAM,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA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", "names": [] } diff --git a/dist/human.esm.js b/dist/human.esm.js index b194a624..27e2b0e6 100644 --- a/dist/human.esm.js +++ b/dist/human.esm.js @@ -5,41 +5,22438 @@ author: ' */ -var yI=Object.defineProperty;var vm=e=>{if(typeof require!="undefined")return require(e);throw new Error('Dynamic require of "'+e+'" is not supported')};var Pa=(e,t)=>{for(var n in t)yI(e,n,{get:t[n],enumerable:!0})};var d5=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)};var on=(e,t,n)=>(d5(e,t,"read from private field"),n?n.call(e):t.get(e)),Jn=(e,t,n)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,n)},xa=(e,t,n,a)=>(d5(e,t,"write to private field"),a?a.call(e,n):t.set(e,n),n);function vt(e,t){let n=e.endsWith("/")?"":"/",r=t.startsWith(".")||t.startsWith("/")||t.startsWith("http:")||t.startsWith("https:")||t.startsWith("file:")?`${t}`:`${e}${n}${t}`;if(!r.toLocaleLowerCase().includes(".json"))throw new Error(`Human: ModelPath Error: ${r} Expecting JSON file`);return r}function de(...e){let t=new Date,n=`${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}:${t.getSeconds().toString().padStart(2,"0")}.${t.getMilliseconds().toString().padStart(3,"0")}`;e&&console.log(n,"Human:",...e)}var Je=()=>typeof performance!="undefined"?performance.now():parseInt((Number(process.hrtime.bigint())/1e3/1e3).toString());function zn(...e){let t=n=>n&&typeof n=="object";return e.reduce((n,a)=>(Object.keys(a||{}).forEach(r=>{let s=n[r],i=a[r];Array.isArray(s)&&Array.isArray(i)?n[r]=s.concat(...i):t(s)&&t(i)?n[r]=zn(s,i):n[r]=i}),n),{})}var p5={backend:"webgl",modelBasePath:"../models/",wasmPath:"../node_modules/@tensorflow/tfjs-backend-wasm/dist/",debug:!0,async:!0,warmup:"full",cacheSensitivity:.75,filter:{enabled:!0,width:0,height:0,flip:!1,return:!0,brightness:0,contrast:0,sharpness:0,blur:0,saturation:0,hue:0,negative:!1,sepia:!1,vintage:!1,kodachrome:!1,technicolor:!1,polaroid:!1,pixelate:0},gesture:{enabled:!0},face:{enabled:!0,detector:{modelPath:"blazeface.json",rotation:!1,maxDetected:10,skipFrames:15,minConfidence:.2,iouThreshold:.1,return:!1},mesh:{enabled:!0,modelPath:"facemesh.json"},iris:{enabled:!0,modelPath:"iris.json"},description:{enabled:!0,modelPath:"faceres.json",skipFrames:16,minConfidence:.1},emotion:{enabled:!0,minConfidence:.1,skipFrames:17,modelPath:"emotion.json"}},body:{enabled:!0,modelPath:"movenet-lightning.json",maxDetected:1,minConfidence:.2},hand:{enabled:!0,rotation:!0,skipFrames:18,minConfidence:.1,iouThreshold:.1,maxDetected:2,landmarks:!0,detector:{modelPath:"handdetect.json"},skeleton:{modelPath:"handskeleton.json"}},object:{enabled:!1,modelPath:"mb3-centernet.json",minConfidence:.2,iouThreshold:.4,maxDetected:10,skipFrames:19}};function c5(){let e,t;if(typeof navigator!="undefined"){let n=navigator.userAgent.match(/\(([^()]+)\)/g);if(n&&n[0]){let a=n[0].match(/\(([^()]+)\)/g);e=a?a[0].replace(/\(|\)/g,""):"",t=navigator.userAgent.replace(n[0],""),e[1]&&(t=t.replace(n[1],"")),t=t.replace(/ /g," ")}}else typeof process!="undefined"&&(e=`${process.platform} ${process.arch}`,t=`NodeJS ${process.version}`);return{platform:e,agent:t}}var tp={};Pa(tp,{Abs:()=>oo,Acos:()=>lo,Acosh:()=>uo,AdadeltaOptimizer:()=>ih,AdagradOptimizer:()=>oh,AdamOptimizer:()=>lh,AdamaxOptimizer:()=>uh,Add:()=>Mr,AddN:()=>hs,All:()=>po,Any:()=>co,ArgMax:()=>fs,ArgMin:()=>Nu,Asin:()=>ho,Asinh:()=>fo,Atan:()=>mo,Atan2:()=>Ao,Atanh:()=>yo,AvgPool:()=>ms,AvgPool3D:()=>Tu,AvgPool3DGrad:()=>Wp,AvgPoolGrad:()=>Lp,BackendWasm:()=>P6,BatchMatMul:()=>ys,BatchToSpaceND:()=>Eu,Bincount:()=>Bp,BroadcastTo:()=>rb,Callback:()=>R8,CallbackList:()=>w4,Cast:()=>As,Ceil:()=>gs,ClipByValue:()=>Fr,Complex:()=>Vp,ComplexAbs:()=>Cu,Concat:()=>go,Conv2D:()=>xs,Conv2DBackpropFilter:()=>jp,Conv2DBackpropInput:()=>bs,Conv3D:()=>Ru,Conv3DBackpropFilterV2:()=>Up,Conv3DBackpropInputV2:()=>Hp,Cos:()=>vs,Cosh:()=>xo,CropAndResize:()=>bo,Cumsum:()=>ws,CustomCallback:()=>I4,DataStorage:()=>zp,DenseBincount:()=>Gp,DepthToSpace:()=>vo,DepthwiseConv2dNative:()=>ks,DepthwiseConv2dNativeBackpropFilter:()=>qp,DepthwiseConv2dNativeBackpropInput:()=>Xp,Diag:()=>Kp,Dilation2D:()=>Mu,Dilation2DBackpropFilter:()=>Yp,Dilation2DBackpropInput:()=>Zp,ENV:()=>Qn,EarlyStopping:()=>F8,Einsum:()=>Jp,Elu:()=>wo,EluGrad:()=>Qp,Environment:()=>nb,Equal:()=>Io,Erf:()=>ko,Exp:()=>Ss,ExpandDims:()=>So,Expm1:()=>No,FFT:()=>ec,Fill:()=>Fu,FlipLeftRight:()=>To,Floor:()=>Ns,FloorDiv:()=>Ts,FromPixels:()=>yc,FusedBatchNorm:()=>Es,FusedConv2D:()=>li,FusedDepthwiseConv2D:()=>ui,GPGPUContext:()=>Nh,GatherNd:()=>Co,GatherV2:()=>Eo,GraphModel:()=>lk,Greater:()=>Ro,GreaterEqual:()=>Cs,History:()=>k4,IFFT:()=>tc,Identity:()=>Rs,Imag:()=>nc,InputSpec:()=>zt,IsFinite:()=>Mo,IsInf:()=>Fo,IsNan:()=>$o,KernelBackend:()=>ku,LRN:()=>zu,LRNGrad:()=>rc,LayerVariable:()=>A4,LayersModel:()=>xr,LeakyRelu:()=>Ms,Less:()=>Do,LessEqual:()=>zo,LinSpace:()=>ac,Log:()=>Fs,Log1p:()=>Oo,LogSoftmax:()=>sb,LogicalAnd:()=>_o,LogicalNot:()=>$u,LogicalOr:()=>Du,MathBackendCPU:()=>hh,MathBackendWebGL:()=>jl,Max:()=>$s,MaxPool:()=>zs,MaxPool3D:()=>Ou,MaxPool3DGrad:()=>ic,MaxPoolGrad:()=>sc,MaxPoolWithArgmax:()=>oc,Maximum:()=>Ds,Mean:()=>Os,Min:()=>_s,Minimum:()=>Ps,MirrorPad:()=>Ls,Mod:()=>Po,MomentumOptimizer:()=>dh,Multinomial:()=>lc,Multiply:()=>Ws,Neg:()=>Lo,NonMaxSuppressionV3:()=>Bo,NonMaxSuppressionV4:()=>Vo,NonMaxSuppressionV5:()=>jo,NotEqual:()=>Wo,OP_SCOPE_SUFFIX:()=>yb,OneHot:()=>Bs,OnesLike:()=>Uo,Optimizer:()=>mr,Pack:()=>Ho,PadV2:()=>Vs,Pool:()=>AS,Pow:()=>js,Prelu:()=>Us,Prod:()=>Go,RMSPropOptimizer:()=>ph,RNN:()=>Qa,Range:()=>_u,Rank:()=>Om,Real:()=>uc,RealDiv:()=>Is,Reciprocal:()=>qo,Reduction:()=>cn,Relu:()=>Hs,Relu6:()=>qs,Reshape:()=>Xo,ResizeBilinear:()=>Gs,ResizeBilinearGrad:()=>pc,ResizeNearestNeighbor:()=>Pu,ResizeNearestNeighborGrad:()=>dc,Reverse:()=>Xs,RotateWithOffset:()=>ll,Round:()=>Ks,Rsqrt:()=>Zs,SGDOptimizer:()=>fd,ScatterNd:()=>Ko,Select:()=>Zo,Selu:()=>Yo,Sequential:()=>Jl,Sigmoid:()=>Js,Sign:()=>el,Sin:()=>Ys,Sinh:()=>Qo,Slice:()=>Jo,Softmax:()=>ti,Softplus:()=>tl,SpaceToBatchND:()=>Lu,SparseFillEmptyRows:()=>cc,SparseReshape:()=>hc,SparseToDense:()=>fc,SplitV:()=>nl,Sqrt:()=>Qs,Square:()=>Wu,SquaredDifference:()=>ni,Step:()=>Dr,StridedSlice:()=>al,Sub:()=>ai,Sum:()=>ei,SymbolicTensor:()=>Ca,Tan:()=>ri,Tanh:()=>si,Tensor:()=>We,TensorBuffer:()=>Pt,Tile:()=>$r,TopK:()=>rl,Transform:()=>sl,Transpose:()=>ii,Unique:()=>mc,Unpack:()=>il,UnsortedSegmentSum:()=>Bu,Variable:()=>Xu,ZerosLike:()=>ol,_FusedMatMul:()=>oi,abs:()=>Lt,acos:()=>u1,acosh:()=>d1,add:()=>se,addN:()=>Ec,all:()=>Cc,any:()=>Qu,argMax:()=>yi,argMin:()=>p1,asin:()=>c1,asinh:()=>h1,atan:()=>f1,atan2:()=>m1,atanh:()=>y1,avgPool:()=>td,avgPool3d:()=>x1,backend:()=>Yb,backend_util:()=>R,basicLSTMCell:()=>ZT,batchNorm:()=>xi,batchNorm2d:()=>t3,batchNorm3d:()=>n3,batchNorm4d:()=>a3,batchToSpaceND:()=>nd,bincount:()=>b1,booleanMaskAsync:()=>nM,broadcastTo:()=>xl,browser:()=>fi,buffer:()=>Be,callbacks:()=>hse,cast:()=>me,ceil:()=>v1,clipByValue:()=>Nn,clone:()=>Ba,complex:()=>zr,concat:()=>lt,concat1d:()=>r3,concat2d:()=>bl,concat3d:()=>s3,concat4d:()=>i3,constraints:()=>K6,conv1d:()=>Mc,conv2d:()=>pr,conv2dTranspose:()=>Fc,conv3d:()=>k1,conv3dTranspose:()=>l3,copyRegisteredKernels:()=>bS,cos:()=>ad,cosh:()=>$c,cosineWindow:()=>Z1,cumsum:()=>Dc,customGrad:()=>ja,data:()=>uk,denseBincount:()=>u3,deprecationWarn:()=>o1,depthToSpace:()=>I1,depthwiseConv2d:()=>vl,deregisterOp:()=>mse,device_util:()=>Zu,diag:()=>SE,dilation2d:()=>S1,disableDeprecationWarnings:()=>uT,dispose:()=>Ie,disposeVariables:()=>dT,div:()=>fe,divNoNan:()=>N1,dot:()=>d3,dropout:()=>M3,einsum:()=>p3,elu:()=>wl,enableDebugMode:()=>lT,enableProdMode:()=>oT,enclosingPowerOfTwo:()=>F3,engine:()=>dr,env:()=>J,equal:()=>Wr,erf:()=>T1,exp:()=>ta,expandDims:()=>dn,expm1:()=>E1,eye:()=>C1,fft:()=>cd,fill:()=>kl,findBackend:()=>l1,findBackendFactory:()=>AT,floor:()=>Il,floorDiv:()=>Tc,forceHalfFloat:()=>Kv,fused:()=>Ur,gather:()=>bi,gatherND:()=>R3,gather_util:()=>e1,getBackend:()=>mT,getGradient:()=>$m,getKernel:()=>Ac,getKernelsForBackend:()=>dl,gpgpu_util:()=>xv,grad:()=>tC,grads:()=>nC,greater:()=>On,greaterEqual:()=>Vr,ifft:()=>Cl,imag:()=>zc,image:()=>je,inTopKAsync:()=>hM,initializers:()=>n4,input:()=>q4,io:()=>In,irfft:()=>Yc,isFinite:()=>c3,isInf:()=>h3,isNaN:()=>R1,keep:()=>Gt,kernel_impls:()=>Ga,layers:()=>f4,leakyRelu:()=>rd,less:()=>Oc,lessEqual:()=>jr,linalg:()=>U3,linspace:()=>f3,loadGraphModel:()=>gt,loadLayersModel:()=>kae,localResponseNormalization:()=>M1,log:()=>_n,log1p:()=>_c,logSigmoid:()=>y3,logSoftmax:()=>Lc,logSumExp:()=>D1,logicalAnd:()=>ca,logicalNot:()=>sd,logicalOr:()=>Wc,logicalXor:()=>b3,losses:()=>_F,matMul:()=>Ve,math:()=>Fb,max:()=>Tn,maxPool:()=>id,maxPool3d:()=>z1,maxPoolWithArgmax:()=>v3,maximum:()=>Ua,mean:()=>St,memory:()=>Nc,meshgrid:()=>IC,metrics:()=>T8,min:()=>Sl,minimum:()=>Nl,mirrorPad:()=>O1,mod:()=>_1,model:()=>vae,models:()=>E8,moments:()=>Bc,movingAverage:()=>sM,mul:()=>W,multiRNNCell:()=>FC,multinomial:()=>w3,neg:()=>It,nextFrame:()=>ch,norm:()=>th,notEqual:()=>ki,oneHot:()=>ml,ones:()=>Pn,onesLike:()=>Ln,op:()=>L,outerProduct:()=>_C,pad:()=>cr,pad1d:()=>WC,pad2d:()=>VC,pad3d:()=>UC,pad4d:()=>GC,pool:()=>k3,pow:()=>hr,prelu:()=>ld,print:()=>Nb,prod:()=>Vc,profile:()=>pT,rand:()=>tR,randomGamma:()=>sR,randomNormal:()=>I3,randomUniform:()=>Tl,range:()=>El,ready:()=>fT,real:()=>ud,reciprocal:()=>W1,registerBackend:()=>Al,registerCallbackConstructor:()=>Iae,registerGradient:()=>ib,registerKernel:()=>di,registerOp:()=>fse,regularizers:()=>C8,relu:()=>Ha,relu6:()=>jc,removeBackend:()=>yT,reshape:()=>H,reverse:()=>Wn,reverse1d:()=>fR,reverse2d:()=>yR,reverse3d:()=>gR,reverse4d:()=>bR,rfft:()=>hd,round:()=>Uc,rsqrt:()=>Hc,scalar:()=>we,scatterND:()=>C3,scatter_util:()=>t1,selu:()=>Gc,separableConv2d:()=>B1,sequential:()=>wae,serialization:()=>ae,setBackend:()=>hT,setPlatform:()=>gT,setWasmPath:()=>TQ,setWasmPaths:()=>EQ,setWebGLContext:()=>xh,setdiff1dAsync:()=>S3,shared:()=>ty,sigmoid:()=>Sn,sign:()=>V1,signal:()=>OF,sin:()=>qc,sinh:()=>Xc,slice:()=>Re,slice1d:()=>Kc,slice2d:()=>j1,slice3d:()=>Zc,slice4d:()=>dd,slice_util:()=>un,softmax:()=>pd,softplus:()=>vi,spaceToBatchND:()=>od,sparse:()=>H3,sparseToDense:()=>K1,spectral:()=>zF,split:()=>qt,sqrt:()=>en,square:()=>ot,squaredDifference:()=>Jc,squeeze:()=>ha,stack:()=>pn,step:()=>Rl,stridedSlice:()=>U1,sub:()=>ye,sum:()=>Se,sumOutType:()=>vc,tan:()=>H1,tanh:()=>gi,tensor:()=>pa,tensor1d:()=>Mt,tensor2d:()=>wa,tensor3d:()=>Ic,tensor4d:()=>GR,tensor5d:()=>qR,tensor6d:()=>XR,tensor_util:()=>ba,test_util:()=>Xb,tidy:()=>V,tile:()=>Br,time:()=>cT,topk:()=>G1,train:()=>Si,transpose:()=>Qe,truncatedNormal:()=>Qc,unique:()=>eh,unregisterGradient:()=>xS,unregisterKernel:()=>gS,unsortedSegmentSum:()=>q1,unstack:()=>fa,upcastType:()=>da,util:()=>k,valueAndGrad:()=>aC,valueAndGrads:()=>rC,variable:()=>N3,variableGrads:()=>m3,version:()=>toe,version_converter:()=>mie,version_core:()=>iT,version_cpu:()=>S7,version_layers:()=>AA,version_wasm:()=>W6,version_webgl:()=>Xv,webgl:()=>IB,webgl_util:()=>q7,where:()=>rn,whereAsync:()=>X1,zeros:()=>$t,zerosLike:()=>Ge});var AI=Object.create,Dp=Object.defineProperty,gI=Object.getOwnPropertyDescriptor,xI=Object.getOwnPropertyNames,bI=Object.getPrototypeOf,vI=Object.prototype.hasOwnProperty,wI=e=>Dp(e,"__esModule",{value:!0}),ao=e=>{if(typeof vm!="undefined")return vm(e);throw new Error('Dynamic require of "'+e+'" is not supported')},wt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Fe=(e,t)=>{for(var n in t)Dp(e,n,{get:t[n],enumerable:!0})},kI=(e,t,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of xI(t))!vI.call(e,a)&&a!=="default"&&Dp(e,a,{get:()=>t[a],enumerable:!(n=gI(t,a))||n.enumerable});return e},ro=e=>kI(wI(Dp(e!=null?AI(bI(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e),II=wt(()=>{}),SI=wt((e,t)=>{(function(n,a,r){function s(l){var d=this,p=u();d.next=function(){var c=2091639*d.s0+d.c*23283064365386963e-26;return d.s0=d.s1,d.s1=d.s2,d.s2=c-(d.c=c|0)},d.c=1,d.s0=p(" "),d.s1=p(" "),d.s2=p(" "),d.s0-=p(l),d.s0<0&&(d.s0+=1),d.s1-=p(l),d.s1<0&&(d.s1+=1),d.s2-=p(l),d.s2<0&&(d.s2+=1),p=null}function i(l,d){return d.c=l.c,d.s0=l.s0,d.s1=l.s1,d.s2=l.s2,d}function o(l,d){var p=new s(l),c=d&&d.state,h=p.next;return h.int32=function(){return p.next()*4294967296|0},h.double=function(){return h()+(h()*2097152|0)*11102230246251565e-32},h.quick=h,c&&(typeof c=="object"&&i(c,p),h.state=function(){return i(p,{})}),h}function u(){var l=4022871197,d=function(p){p=p.toString();for(var c=0;c>>0,h-=l,h*=l,l=h>>>0,h-=l,l+=h*4294967296}return(l>>>0)*23283064365386963e-26};return d}a&&a.exports?a.exports=o:r&&r.amd?r(function(){return o}):this.alea=o})(e,typeof t=="object"&&t,typeof define=="function"&&define)}),NI=wt((e,t)=>{(function(n,a,r){function s(u){var l=this,d="";l.x=0,l.y=0,l.z=0,l.w=0,l.next=function(){var c=l.x^l.x<<11;return l.x=l.y,l.y=l.z,l.z=l.w,l.w^=l.w>>>19^c^c>>>8},u===(u|0)?l.x=u:d+=u;for(var p=0;p>>0)/4294967296};return c.double=function(){do var h=d.next()>>>11,m=(d.next()>>>0)/4294967296,f=(h+m)/(1<<21);while(f===0);return f},c.int32=d.next,c.quick=c,p&&(typeof p=="object"&&i(p,d),c.state=function(){return i(d,{})}),c}a&&a.exports?a.exports=o:r&&r.amd?r(function(){return o}):this.xor128=o})(e,typeof t=="object"&&t,typeof define=="function"&&define)}),TI=wt((e,t)=>{(function(n,a,r){function s(u){var l=this,d="";l.next=function(){var c=l.x^l.x>>>2;return l.x=l.y,l.y=l.z,l.z=l.w,l.w=l.v,(l.d=l.d+362437|0)+(l.v=l.v^l.v<<4^(c^c<<1))|0},l.x=0,l.y=0,l.z=0,l.w=0,l.v=0,u===(u|0)?l.x=u:d+=u;for(var p=0;p>>4),l.next()}function i(u,l){return l.x=u.x,l.y=u.y,l.z=u.z,l.w=u.w,l.v=u.v,l.d=u.d,l}function o(u,l){var d=new s(u),p=l&&l.state,c=function(){return(d.next()>>>0)/4294967296};return c.double=function(){do var h=d.next()>>>11,m=(d.next()>>>0)/4294967296,f=(h+m)/(1<<21);while(f===0);return f},c.int32=d.next,c.quick=c,p&&(typeof p=="object"&&i(p,d),c.state=function(){return i(d,{})}),c}a&&a.exports?a.exports=o:r&&r.amd?r(function(){return o}):this.xorwow=o})(e,typeof t=="object"&&t,typeof define=="function"&&define)}),EI=wt((e,t)=>{(function(n,a,r){function s(u){var l=this;l.next=function(){var p=l.x,c=l.i,h,m,f;return h=p[c],h^=h>>>7,m=h^h<<24,h=p[c+1&7],m^=h^h>>>10,h=p[c+3&7],m^=h^h>>>3,h=p[c+4&7],m^=h^h<<7,h=p[c+7&7],h=h^h<<13,m^=h^h<<9,p[c]=m,l.i=c+1&7,m};function d(p,c){var h,m,f=[];if(c===(c|0))m=f[0]=c;else for(c=""+c,h=0;h0;--h)p.next()}d(l,u)}function i(u,l){return l.x=u.x.slice(),l.i=u.i,l}function o(u,l){u==null&&(u=+new Date);var d=new s(u),p=l&&l.state,c=function(){return(d.next()>>>0)/4294967296};return c.double=function(){do var h=d.next()>>>11,m=(d.next()>>>0)/4294967296,f=(h+m)/(1<<21);while(f===0);return f},c.int32=d.next,c.quick=c,p&&(p.x&&i(p,d),c.state=function(){return i(d,{})}),c}a&&a.exports?a.exports=o:r&&r.amd?r(function(){return o}):this.xorshift7=o})(e,typeof t=="object"&&t,typeof define=="function"&&define)}),CI=wt((e,t)=>{(function(n,a,r){function s(u){var l=this;l.next=function(){var p=l.w,c=l.X,h=l.i,m,f;return l.w=p=p+1640531527|0,f=c[h+34&127],m=c[h=h+1&127],f^=f<<13,m^=m<<17,f^=f>>>15,m^=m>>>12,f=c[h]=f^m,l.i=h,f+(p^p>>>16)|0};function d(p,c){var h,m,f,y,A,g=[],x=128;for(c===(c|0)?(m=c,c=null):(c=c+"\0",m=0,x=Math.max(x,c.length)),f=0,y=-32;y>>15,m^=m<<4,m^=m>>>13,y>=0&&(A=A+1640531527|0,h=g[y&127]^=m+A,f=h==0?f+1:0);for(f>=128&&(g[(c&&c.length||0)&127]=-1),f=127,y=4*128;y>0;--y)m=g[f+34&127],h=g[f=f+1&127],m^=m<<13,h^=h<<17,m^=m>>>15,h^=h>>>12,g[f]=m^h;p.w=A,p.X=g,p.i=f}d(l,u)}function i(u,l){return l.i=u.i,l.w=u.w,l.X=u.X.slice(),l}function o(u,l){u==null&&(u=+new Date);var d=new s(u),p=l&&l.state,c=function(){return(d.next()>>>0)/4294967296};return c.double=function(){do var h=d.next()>>>11,m=(d.next()>>>0)/4294967296,f=(h+m)/(1<<21);while(f===0);return f},c.int32=d.next,c.quick=c,p&&(p.X&&i(p,d),c.state=function(){return i(d,{})}),c}a&&a.exports?a.exports=o:r&&r.amd?r(function(){return o}):this.xor4096=o})(e,typeof t=="object"&&t,typeof define=="function"&&define)}),RI=wt((e,t)=>{(function(n,a,r){function s(u){var l=this,d="";l.next=function(){var c=l.b,h=l.c,m=l.d,f=l.a;return c=c<<25^c>>>7^h,h=h-m|0,m=m<<24^m>>>8^f,f=f-c|0,l.b=c=c<<20^c>>>12^h,l.c=h=h-m|0,l.d=m<<16^h>>>16^f,l.a=f-c|0},l.a=0,l.b=0,l.c=2654435769|0,l.d=1367130551,u===Math.floor(u)?(l.a=u/4294967296|0,l.b=u|0):d+=u;for(var p=0;p>>0)/4294967296};return c.double=function(){do var h=d.next()>>>11,m=(d.next()>>>0)/4294967296,f=(h+m)/(1<<21);while(f===0);return f},c.int32=d.next,c.quick=c,p&&(typeof p=="object"&&i(p,d),c.state=function(){return i(d,{})}),c}a&&a.exports?a.exports=o:r&&r.amd?r(function(){return o}):this.tychei=o})(e,typeof t=="object"&&t,typeof define=="function"&&define)}),h5=wt(()=>{}),MI=wt((e,t)=>{(function(n,a){var r=this,s=256,i=6,o=52,u="random",l=a.pow(s,i),d=a.pow(2,o),p=d*2,c=s-1,h;function m(b,v,N){var I=[];v=v==!0?{entropy:!0}:v||{};var E=g(A(v.entropy?[b,w(n)]:b==null?x():b,3),I),$=new f(I),O=function(){for(var z=$.g(i),P=l,D=0;z=p;)z/=2,P/=2,D>>>=1;return(z+D)/P};return O.int32=function(){return $.g(4)|0},O.quick=function(){return $.g(4)/4294967296},O.double=O,g(w($.S),n),(v.pass||N||function(z,P,D,U){return U&&(U.S&&y(U,$),z.state=function(){return y($,{})}),D?(a[u]=z,P):z})(O,E,"global"in v?v.global:this==a,v.state)}a["seed"+u]=m;function f(b){var v,N=b.length,I=this,E=0,$=I.i=I.j=0,O=I.S=[];for(N||(b=[N++]);E{var n=SI(),a=NI(),r=TI(),s=EI(),i=CI(),o=RI(),u=MI();u.alea=n,u.xor128=a,u.xorwow=r,u.xorshift7=s,u.xor4096=i,u.tychei=o,t.exports=u}),wu=wt(()=>{}),FI=wt(()=>{}),$I=wt(()=>{}),DI=wt((e,t)=>{var n=function(){var a=typeof document!="undefined"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename!="undefined"&&(a=a||__filename),function(r){r=r||{};function s(){return Q.buffer!=Ue&&Jt(Q.buffer),xn}function i(){return Q.buffer!=Ue&&Jt(Q.buffer),bt}function o(){return Q.buffer!=Ue&&Jt(Q.buffer),bn}function u(){return Q.buffer!=Ue&&Jt(Q.buffer),Zn}function l(){return Q.buffer!=Ue&&Jt(Q.buffer),sn}var d=typeof r!="undefined"?r:{},p,c;d.ready=new Promise(function(T,C){p=T,c=C});var h={},m;for(m in d)d.hasOwnProperty(m)&&(h[m]=d[m]);var f=[],y="./this.program",A=function(T,C){throw C},g=!1,x=!1,w=!1,b=!1;g=typeof window=="object",x=typeof importScripts=="function",w=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",b=!g&&!w&&!x;var v=d.ENVIRONMENT_IS_PTHREAD||!1;v&&(Ue=d.buffer);var N="";function I(T){return d.locateFile?d.locateFile(T,N):N+T}var E,$,O,z,P,D;if(w){x?N=wu().dirname(N)+"/":N=__dirname+"/",E=function(T,C){return P||(P=ao("fs")),D||(D=wu()),T=D.normalize(T),P.readFileSync(T,C?null:"utf8")},O=function(T){var C=E(T,!0);return C.buffer||(C=new Uint8Array(C)),he(C.buffer),C},process.argv.length>1&&(y=process.argv[1].replace(/\\/g,"/")),f=process.argv.slice(2),process.on("uncaughtException",function(T){if(!(T instanceof vu))throw T}),process.on("unhandledRejection",sr),A=function(T){process.exit(T)},d.inspect=function(){return"[Emscripten Module object]"};var U;try{U=FI()}catch(T){throw console.error('The "worker_threads" module is not supported in this node.js build - perhaps a newer version is needed?'),T}global.Worker=U.Worker}else b?(typeof read!="undefined"&&(E=function(T){return read(T)}),O=function(T){var C;return typeof readbuffer=="function"?new Uint8Array(readbuffer(T)):(C=read(T,"binary"),he(typeof C=="object"),C)},typeof scriptArgs!="undefined"?f=scriptArgs:typeof arguments!="undefined"&&(f=arguments),typeof quit=="function"&&(A=function(T){quit(T)}),typeof print!="undefined"&&(typeof console=="undefined"&&(console={}),console.log=print,console.warn=console.error=typeof printErr!="undefined"?printErr:print)):(g||x)&&(x?N=self.location.href:typeof document!="undefined"&&document.currentScript&&(N=document.currentScript.src),typeof a!="undefined"&&a&&(N=a),N.indexOf("blob:")!==0?N=N.substr(0,N.lastIndexOf("/")+1):N="",w?(E=function(T,C){return P||(P=ao("fs")),D||(D=wu()),T=D.normalize(T),P.readFileSync(T,C?null:"utf8")},O=function(T){var C=E(T,!0);return C.buffer||(C=new Uint8Array(C)),he(C.buffer),C}):(E=function(T){var C=new XMLHttpRequest;return C.open("GET",T,!1),C.send(null),C.responseText},x&&(O=function(T){var C=new XMLHttpRequest;return C.open("GET",T,!1),C.responseType="arraybuffer",C.send(null),new Uint8Array(C.response)}),$=function(T,C,B){var q=new XMLHttpRequest;q.open("GET",T,!0),q.responseType="arraybuffer",q.onload=function(){if(q.status==200||q.status==0&&q.response){C(q.response);return}B()},q.onerror=B,q.send(null)}),z=function(T){document.title=T});w&&typeof performance=="undefined"&&(global.performance=$I().performance);var X=d.print||console.log.bind(console),G=d.printErr||console.warn.bind(console);for(m in h)h.hasOwnProperty(m)&&(d[m]=h[m]);h=null,d.arguments&&(f=d.arguments),d.thisProgram&&(y=d.thisProgram),d.quit&&(A=d.quit);var ee=Atomics.load,Y=Atomics.store,re=Atomics.compareExchange,ne;d.wasmBinary&&(ne=d.wasmBinary);var ie=d.noExitRuntime||!0;typeof WebAssembly!="object"&&sr("no native wasm support detected");var Q,pe,oe=!1,ge;function he(T,C){T||sr("Assertion failed: "+C)}function Ne(T){var C=d["_"+T];return he(C,"Cannot call unknown function "+T+", make sure it is exported"),C}function Te(T,C,B,q,ce){var le={string:function(kn){var no=0;if(kn!=null&&kn!==0){var u5=(kn.length<<2)+1;no=Qi(u5),nt(kn,no,u5)}return no},array:function(kn){var no=Qi(kn.length);return Ze(kn,no),no}};function ue(kn){return C==="string"?ze(kn):C==="boolean"?Boolean(kn):kn}var be=Ne(T),at=[],Ut=0;if(q)for(var _t=0;_t=q);){var le=T[C++];if(!le)return ce;if(!(le&128)){ce+=String.fromCharCode(le);continue}var ue=T[C++]&63;if((le&224)==192){ce+=String.fromCharCode((le&31)<<6|ue);continue}var be=T[C++]&63;if((le&240)==224?le=(le&15)<<12|ue<<6|be:le=(le&7)<<18|ue<<12|be<<6|T[C++]&63,le<65536)ce+=String.fromCharCode(le);else{var at=le-65536;ce+=String.fromCharCode(55296|at>>10,56320|at&1023)}}return ce}function ze(T,C){return T?_e(i(),T,C):""}function tt(T,C,B,q){if(!(q>0))return 0;for(var ce=B,le=B+q-1,ue=0;ue=55296&&be<=57343){var at=T.charCodeAt(++ue);be=65536+((be&1023)<<10)|at&1023}if(be<=127){if(B>=le)break;C[B++]=be}else if(be<=2047){if(B+1>=le)break;C[B++]=192|be>>6,C[B++]=128|be&63}else if(be<=65535){if(B+2>=le)break;C[B++]=224|be>>12,C[B++]=128|be>>6&63,C[B++]=128|be&63}else{if(B+3>=le)break;C[B++]=240|be>>18,C[B++]=128|be>>12&63,C[B++]=128|be>>6&63,C[B++]=128|be&63}}return C[B]=0,B-ce}function nt(T,C,B){return tt(T,i(),C,B)}function it(T){for(var C=0,B=0;B=55296&&q<=57343&&(q=65536+((q&1023)<<10)|T.charCodeAt(++B)&1023),q<=127?++C:q<=2047?C+=2:q<=65535?C+=3:C+=4}return C}function Ze(T,C){s().set(T,C)}function pt(T,C){return T%C>0&&(T+=C-T%C),T}var Ue,xn,bt,Kn,Yt,bn,Zn,Dn,sn;function Jt(T){Ue=T,d.HEAP8=xn=new Int8Array(T),d.HEAP16=Kn=new Int16Array(T),d.HEAP32=bn=new Int32Array(T),d.HEAPU8=bt=new Uint8Array(T),d.HEAPU16=Yt=new Uint16Array(T),d.HEAPU32=Zn=new Uint32Array(T),d.HEAPF32=Dn=new Float32Array(T),d.HEAPF64=sn=new Float64Array(T)}var Oa=d.INITIAL_MEMORY||16777216;if(v)Q=d.wasmMemory,Ue=d.buffer;else if(d.wasmMemory)Q=d.wasmMemory;else if(Q=new WebAssembly.Memory({initial:Oa/65536,maximum:2147483648/65536,shared:!0}),!(Q.buffer instanceof SharedArrayBuffer))throw G("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),w&&console.log("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and also use a recent version)"),Error("bad memory");Q&&(Ue=Q.buffer),Oa=Ue.byteLength,Jt(Ue);var ia,oa=[],wr=[],ar=[],kr=[],Gi=[],_a=!1,cp=!1;v||wr.push({func:function(){Tp()}});function Z0(){if(!v){if(d.preRun)for(typeof d.preRun=="function"&&(d.preRun=[d.preRun]);d.preRun.length;)fp(d.preRun.shift());Xi(oa)}}function pu(){_a=!0,!v&&Xi(wr)}function Y0(){v||Xi(ar)}function hp(){v||(cp=!0)}function vn(){if(!v){if(d.postRun)for(typeof d.postRun=="function"&&(d.postRun=[d.postRun]);d.postRun.length;)J0(d.postRun.shift());Xi(Gi)}}function fp(T){oa.unshift(T)}function J0(T){Gi.unshift(T)}var rr=0,Ir=null,ls=null;function Q0(T){he(!v,"addRunDependency cannot be used in a pthread worker"),rr++,d.monitorRunDependencies&&d.monitorRunDependencies(rr)}function ef(T){if(rr--,d.monitorRunDependencies&&d.monitorRunDependencies(rr),rr==0&&(Ir!==null&&(clearInterval(Ir),Ir=null),ls)){var C=ls;ls=null,C()}}d.preloadedImages={},d.preloadedAudios={};function sr(T){d.onAbort&&d.onAbort(T),v&&console.error("Pthread aborting at "+new Error().stack),T+="",G(T),oe=!0,ge=1,T="abort("+T+"). Build with -s ASSERTIONS=1 for more info.";var C=new WebAssembly.RuntimeError(T);throw c(C),C}function mp(T,C){return String.prototype.startsWith?T.startsWith(C):T.indexOf(C)===0}var qi="data:application/octet-stream;base64,";function yp(T){return mp(T,qi)}var tf="file://";function Ap(T){return mp(T,tf)}var wn="tfjs-backend-wasm-threaded-simd.wasm";yp(wn)||(wn=I(wn));function gp(T){try{if(T==wn&&ne)return new Uint8Array(ne);if(O)return O(T);throw"both async and sync fetching of the wasm failed"}catch(C){sr(C)}}function nf(){if(!ne&&(g||x)){if(typeof fetch=="function"&&!Ap(wn))return fetch(wn,{credentials:"same-origin"}).then(function(T){if(!T.ok)throw"failed to load wasm binary file at '"+wn+"'";return T.arrayBuffer()}).catch(function(){return gp(wn)});if($)return new Promise(function(T,C){$(wn,function(B){T(new Uint8Array(B))},C)})}return Promise.resolve().then(function(){return gp(wn)})}function af(){var T={a:Xf};function C(ue,be){var at=ue.exports;if(d.asm=at,ia=d.asm.F,pe=be,!v){var Ut=ke.unusedWorkers.length;ke.unusedWorkers.forEach(function(_t){ke.loadWasmModuleToWorker(_t,function(){--Ut||ef("wasm-instantiate")})})}}v||Q0("wasm-instantiate");function B(ue){C(ue.instance,ue.module)}function q(ue){return nf().then(function(be){return WebAssembly.instantiate(be,T)}).then(ue,function(be){G("failed to asynchronously prepare wasm: "+be),sr(be)})}function ce(){return!ne&&typeof WebAssembly.instantiateStreaming=="function"&&!yp(wn)&&!Ap(wn)&&typeof fetch=="function"?fetch(wn,{credentials:"same-origin"}).then(function(ue){var be=WebAssembly.instantiateStreaming(ue,T);return be.then(B,function(at){return G("wasm streaming compile failed: "+at),G("falling back to ArrayBuffer instantiation"),q(B)})}):q(B)}if(d.instantiateWasm)try{var le=d.instantiateWasm(T,C);return le}catch(ue){return G("Module.instantiateWasm callback failed with error: "+ue),!1}return ce().catch(c),{}}var rf={9816:function(){throw"Canceled!"},9834:function(T,C){setTimeout(function(){a5(T,C)},0)}};function xp(){ke.initRuntime()}function Xi(T){for(;T.length>0;){var C=T.shift();if(typeof C=="function"){C(d);continue}var B=C.func;typeof B=="number"?C.arg===void 0?ia.get(B)():ia.get(B)(C.arg):B(C.arg===void 0?null:C.arg)}}function cu(T,C){if(T<=0||T>s().length||T&!0||C<0)return-28;if(C==0)return 0;C>=2147483647&&(C=Infinity);var B=Atomics.load(o(),eo>>2),q=0;if(B==T){var ce=Atomics.compareExchange(o(),eo>>2,B,0);if(ce==B&&(--C,q=1,C<=0))return 1}var le=Atomics.notify(o(),T>>2,C);if(le>=0)return le+q;throw"Atomics.notify returned an unexpected value "+le}d._emscripten_futex_wake=cu;function sf(T){if(v)throw"Internal Error! killThread() can only ever be called from main application thread!";if(!T)throw"Internal Error! Null pthread_ptr in killThread!";o()[T+12>>2]=0;var C=ke.pthreads[T];C.worker.terminate(),ke.freeThreadData(C),ke.runningWorkers.splice(ke.runningWorkers.indexOf(C.worker),1),C.worker.pthread=void 0}function of(T){if(v)throw"Internal Error! cancelThread() can only ever be called from main application thread!";if(!T)throw"Internal Error! Null pthread_ptr in cancelThread!";var C=ke.pthreads[T];C.worker.postMessage({cmd:"cancel"})}function lf(T){if(v)throw"Internal Error! cleanupThread() can only ever be called from main application thread!";if(!T)throw"Internal Error! Null pthread_ptr in cleanupThread!";var C=ke.pthreads[T];if(C){o()[T+12>>2]=0;var B=C.worker;ke.returnWorkerToPool(B)}}var ke={unusedWorkers:[],runningWorkers:[],initMainThreadBlock:function(){for(var T=Math.min(4,Math.max(1,(navigator.hardwareConcurrency||1)/2)),C=0;C>2]=T;var B=T+152;o()[B>>2]=B;for(var q=ds(512),C=0;C<128;++C)u()[q/4+C]=0;Atomics.store(u(),T+100>>2,q),Atomics.store(u(),T+40>>2,T),xm(T,!x,1),n5(T)},initWorker:function(){},pthreads:{},threadExitHandlers:[],setThreadStatus:function(){},runExitHandlers:function(){for(;ke.threadExitHandlers.length>0;)ke.threadExitHandlers.pop()();v&&Yi()&&t5()},runExitHandlersAndDeinitThread:function(T,C){Atomics.store(u(),T+56>>2,1),Atomics.store(u(),T+60>>2,0),ke.runExitHandlers(),Atomics.store(u(),T+4>>2,C),Atomics.store(u(),T+0>>2,1),cu(T+0,2147483647),xm(0,0,0)},threadExit:function(T){var C=Yi();C&&(ke.runExitHandlersAndDeinitThread(C,T),v&&postMessage({cmd:"exit"}))},threadCancel:function(){ke.runExitHandlersAndDeinitThread(Yi(),-1),postMessage({cmd:"cancelDone"})},terminateAllThreads:function(){for(var T in ke.pthreads){var C=ke.pthreads[T];C&&C.worker&&ke.returnWorkerToPool(C.worker)}ke.pthreads={};for(var B=0;B>2];o()[T.threadInfoStruct+100>>2]=0,xu(C),xu(T.threadInfoStruct)}T.threadInfoStruct=0,T.allocatedOwnStack&&T.stackBase&&xu(T.stackBase),T.stackBase=0,T.worker&&(T.worker.pthread=null)}},returnWorkerToPool:function(T){ke.runWithoutMainThreadQueuedCalls(function(){delete ke.pthreads[T.pthread.threadInfoStruct],ke.unusedWorkers.push(T),ke.runningWorkers.splice(ke.runningWorkers.indexOf(T),1),ke.freeThreadData(T.pthread),T.pthread=void 0})},runWithoutMainThreadQueuedCalls:function(T){o()[l5>>2]=0;try{T()}finally{o()[l5>>2]=1}},receiveObjectTransfer:function(T){},loadWasmModuleToWorker:function(T,C){T.onmessage=function(B){var q=B.data,ce=q.cmd;if(T.pthread&&(ke.currentProxiedOperationCallerThread=T.pthread.threadInfoStruct),q.targetThread&&q.targetThread!=Yi()){var le=ke.pthreads[q.targetThread];le?le.worker.postMessage(B.data,q.transferList):console.error('Internal error! Worker sent a message "'+ce+'" to target pthread '+q.targetThread+", but that thread no longer exists!"),ke.currentProxiedOperationCallerThread=void 0;return}if(ce==="processQueuedMainThreadWork")Am();else if(ce==="spawnThread")Sp(B.data);else if(ce==="cleanupThread")lf(q.thread);else if(ce==="killThread")sf(q.thread);else if(ce==="cancelThread")of(q.thread);else if(ce==="loaded")T.loaded=!0,C&&C(T),T.runPthread&&(T.runPthread(),delete T.runPthread);else if(ce==="print")X("Thread "+q.threadId+": "+q.text);else if(ce==="printErr")G("Thread "+q.threadId+": "+q.text);else if(ce==="alert")alert("Thread "+q.threadId+": "+q.text);else if(ce==="exit"){var ue=T.pthread&&Atomics.load(u(),T.pthread.threadInfoStruct+64>>2);ue&&ke.returnWorkerToPool(T)}else if(ce==="exitProcess")try{mI(q.returnCode)}catch(be){if(be instanceof vu)return;throw be}else ce==="cancelDone"?ke.returnWorkerToPool(T):ce==="objectTransfer"?ke.receiveObjectTransfer(B.data):B.data.target==="setimmediate"?T.postMessage(B.data):G("worker sent an unknown command "+ce);ke.currentProxiedOperationCallerThread=void 0},T.onerror=function(B){G("pthread sent an error! "+B.filename+":"+B.lineno+": "+B.message)},w&&(T.on("message",function(B){T.onmessage({data:B})}),T.on("error",function(B){T.onerror(B)}),T.on("exit",function(B){})),T.postMessage({cmd:"load",urlOrBlob:d.mainScriptUrlOrBlob||a,wasmMemory:Q,wasmModule:pe})},allocateUnusedWorker:function(){var T=I("tfjs-backend-wasm-threaded-simd.worker.js");ke.unusedWorkers.push(new Worker(T))},getNewWorker:function(){return ke.unusedWorkers.length==0&&(ke.allocateUnusedWorker(),ke.loadWasmModuleToWorker(ke.unusedWorkers[0])),ke.unusedWorkers.length>0?ke.unusedWorkers.pop():null},busySpinWait:function(T){for(var C=performance.now()+T;performance.now()>2]=T,T}function mf(T,C){if(v)return Sr(1,1,T,C)}function yf(T,C){if(T==C)postMessage({cmd:"processQueuedMainThreadWork"});else if(v)postMessage({targetThread:T,cmd:"processThreadQueue"});else{var B=ke.pthreads[T],q=B&&B.worker;if(!q)return;q.postMessage({cmd:"processThreadQueue"})}return 1}function Af(){sr()}function gf(T,C,B){var q=kf(C,B);return rf[T].apply(null,q)}function xf(T,C){}function bf(T,C,B){if(T<=0||T>s().length||T&!0)return-28;if(g){if(Atomics.load(o(),T>>2)!=C)return-6;for(var q=performance.now(),ce=q+B,le=Atomics.exchange(o(),eo>>2,T);;){if(q=performance.now(),q>ce)return le=Atomics.exchange(o(),eo>>2,0),-73;if(le=Atomics.exchange(o(),eo>>2,0),le==0)break;if(Am(),Atomics.load(o(),T>>2)!=C)return-6;le=Atomics.exchange(o(),eo>>2,T)}return 0}else{var ue=Atomics.wait(o(),T>>2,C,B);if(ue==="timed-out")return-73;if(ue==="not-equal")return-6;if(ue==="ok")return 0;throw"Atomics.wait returned an unexpected value "+ue}}function vf(T,C,B){i().copyWithin(T,C,C+B)}function wf(){return w?ao("os").cpus().length:navigator.hardwareConcurrency}function Sr(T,C){for(var B=arguments.length-2,q=bu(),ce=B,le=Qi(ce*8),ue=le>>3,be=0;be>=2;B=i()[T++];){var q=B<105;q&&C&1&&C++,fu.push(q?l()[C++>>1]:o()[C]),++C}return fu}function If(T,C,B){hu.length=C;for(var q=B>>3,ce=0;ce>>16),Jt(Q.buffer),1}catch(C){}}function Tf(T){var C=Sf();if(T<=C)return!1;var B=2147483648;if(T>B)return!1;for(var q=1;q<=4;q*=2){var ce=C*(1+.2/q);ce=Math.min(ce,T+100663296);var le=Math.min(B,pt(Math.max(T,ce),65536)),ue=Nf(le);if(ue)return!0}return!1}var Le={inEventHandler:0,removeAllEventListeners:function(){for(var T=Le.eventHandlers.length-1;T>=0;--T)Le._removeHandler(T);Le.eventHandlers=[],Le.deferredCalls=[]},registerRemoveEventListeners:function(){Le.removeEventListenersRegistered||(kr.push(Le.removeAllEventListeners),Le.removeEventListenersRegistered=!0)},deferredCalls:[],deferCall:function(T,C,B){function q(ue,be){if(ue.length!=be.length)return!1;for(var at in ue)if(ue[at]!=be[at])return!1;return!0}for(var ce in Le.deferredCalls){var le=Le.deferredCalls[ce];if(le.targetFunction==T&&q(le.argsList,B))return}Le.deferredCalls.push({targetFunction:T,precedence:C,argsList:B}),Le.deferredCalls.sort(function(ue,be){return ue.precedence>2]=B,o()[ue+4>>2]=q,o()[ue+8>>2]=ce,gm(0,T,637534208,C,q,ue),Ji(le)},getTargetThreadForEventCallback:function(T){switch(T){case 1:return 0;case 2:return ke.currentProxiedOperationCallerThread;default:return T}},getNodeNameForTarget:function(T){return T?T==window?"#window":T==screen?"#screen":T&&T.nodeName?T.nodeName:"":""},fullscreenEnabled:function(){return document.fullscreenEnabled||document.webkitFullscreenEnabled}};function Ef(T){var C=it(T)+1,B=ds(C);return nt(T,B,C),B}function Cf(T,C,B,q){var ce=bu(),le=Qi(12),ue=0;C&&(ue=Ef(C)),o()[le>>2]=ue,o()[le+4>>2]=B,o()[le+8>>2]=q,gm(0,T,657457152,0,ue,le),Ji(ce)}function Rf(T,C,B,q){C=C?ze(C):"",Cf(T,C,B,q)}function Mf(T){return T>2?ze(T):T}var Ff=[0,typeof document!="undefined"?document:0,typeof window!="undefined"?window:0];function $f(T){T=Mf(T);var C=Ff[T]||(typeof document!="undefined"?document.querySelector(T):void 0);return C}function mu(T){return $f(T)}function bp(T,C,B){var q=mu(T);if(!q)return-4;if(q.canvasSharedPtr&&(o()[q.canvasSharedPtr>>2]=C,o()[q.canvasSharedPtr+4>>2]=B),q.offscreenCanvas||!q.controlTransferredOffscreen){q.offscreenCanvas&&(q=q.offscreenCanvas);var ce=!1;if(q.GLctxObject&&q.GLctxObject.GLctx){var le=q.GLctxObject.GLctx.getParameter(2978);ce=le[0]===0&&le[1]===0&&le[2]===q.width&&le[3]===q.height}q.width=C,q.height=B,ce&&q.GLctxObject.GLctx.viewport(0,0,C,B)}else if(q.canvasSharedPtr){var ue=o()[q.canvasSharedPtr+8>>2];return Rf(ue,T,C,B),1}else return-4;return 0}function vp(T,C,B){return v?Sr(2,1,T,C,B):bp(T,C,B)}function Df(T,C,B){var q=mu(T);return q?bp(T,C,B):vp(T,C,B)}function zf(T){}function Of(T,C){}function _f(T){var C=T.getExtension("ANGLE_instanced_arrays");if(C)return T.vertexAttribDivisor=function(B,q){C.vertexAttribDivisorANGLE(B,q)},T.drawArraysInstanced=function(B,q,ce,le){C.drawArraysInstancedANGLE(B,q,ce,le)},T.drawElementsInstanced=function(B,q,ce,le,ue){C.drawElementsInstancedANGLE(B,q,ce,le,ue)},1}function Pf(T){var C=T.getExtension("OES_vertex_array_object");if(C)return T.createVertexArray=function(){return C.createVertexArrayOES()},T.deleteVertexArray=function(B){C.deleteVertexArrayOES(B)},T.bindVertexArray=function(B){C.bindVertexArrayOES(B)},T.isVertexArray=function(B){return C.isVertexArrayOES(B)},1}function Lf(T){var C=T.getExtension("WEBGL_draw_buffers");if(C)return T.drawBuffers=function(B,q){C.drawBuffersWEBGL(B,q)},1}function Wf(T){return!!(T.multiDrawWebgl=T.getExtension("WEBGL_multi_draw"))}var et={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function(T){et.lastError||(et.lastError=T)},getNewId:function(T){for(var C=et.counter++,B=T.length;B>2]:-1;ce+=ze(o()[B+le*4>>2],ue<0?void 0:ue)}return ce},createContext:function(T,C){var B=T.getContext("webgl",C);if(!B)return 0;var q=et.registerContext(B,C);return q},registerContext:function(T,C){var B=ds(8);o()[B+4>>2]=Yi();var q={handle:B,attributes:C,version:C.majorVersion,GLctx:T};return T.canvas&&(T.canvas.GLctxObject=q),et.contexts[B]=q,(typeof C.enableExtensionsByDefault=="undefined"||C.enableExtensionsByDefault)&&et.initExtensions(q),B},makeContextCurrent:function(T){return et.currentContext=et.contexts[T],d.ctx=Nr=et.currentContext&&et.currentContext.GLctx,!(T&&!Nr)},getContext:function(T){return et.contexts[T]},deleteContext:function(T){et.currentContext===et.contexts[T]&&(et.currentContext=null),typeof Le=="object"&&Le.removeAllHandlersOnTarget(et.contexts[T].GLctx.canvas),et.contexts[T]&&et.contexts[T].GLctx.canvas&&(et.contexts[T].GLctx.canvas.GLctxObject=void 0),xu(et.contexts[T].handle),et.contexts[T]=null},initExtensions:function(T){if(T||(T=et.currentContext),!T.initExtensionsDone){T.initExtensionsDone=!0;var C=T.GLctx;_f(C),Pf(C),Lf(C),C.disjointTimerQueryExt=C.getExtension("EXT_disjoint_timer_query"),Wf(C);var B=C.getSupportedExtensions()||[];B.forEach(function(q){q.indexOf("lose_context")<0&&q.indexOf("debug")<0&&C.getExtension(q)})}},populateUniformTable:function(T){for(var C=et.programs[T],B=et.programInfos[T]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1},q=B.uniforms,ce=Nr.getProgramParameter(C,35718),le=0;le>2,q=o()[B+(24>>2)],ce={alpha:!!o()[B+(0>>2)],depth:!!o()[B+(4>>2)],stencil:!!o()[B+(8>>2)],antialias:!!o()[B+(12>>2)],premultipliedAlpha:!!o()[B+(16>>2)],preserveDrawingBuffer:!!o()[B+(20>>2)],powerPreference:Bf[q],failIfMajorPerformanceCaveat:!!o()[B+(28>>2)],majorVersion:o()[B+(32>>2)],minorVersion:o()[B+(36>>2)],enableExtensionsByDefault:o()[B+(40>>2)],explicitSwapControl:o()[B+(44>>2)],proxyContextToMainThread:o()[B+(48>>2)],renderViaOffscreenBackBuffer:o()[B+(52>>2)]},le=mu(T);if(!le||ce.explicitSwapControl)return 0;var ue=et.createContext(le,ce);return ue}function jf(T,C){return Vf(T,C)}var Ki={mappings:{},buffers:[null,[],[]],printChar:function(T,C){var B=Ki.buffers[T];C===0||C===10?((T===1?X:G)(_e(B,0)),B.length=0):B.push(C)},varargs:void 0,get:function(){Ki.varargs+=4;var T=o()[Ki.varargs-4>>2];return T},getStr:function(T){var C=ze(T);return C},get64:function(T,C){return T}};function wp(T){return v?Sr(3,1,T):0}function kp(T,C,B,q,ce){if(v)return Sr(4,1,T,C,B,q,ce)}function Ip(T,C,B,q){if(v)return Sr(5,1,T,C,B,q);for(var ce=0,le=0;le>2],be=o()[C+(le*8+4)>>2],at=0;at>2]=ce,0}function Uf(T){var C=ke.threadExitHandlers.pop();T&&C()}function Hf(T,C){ke.threadExitHandlers.push(function(){ia.get(T)(C)})}function Sp(T){if(v)throw"Internal Error! spawnThread() can only ever be called from main application thread!";var C=ke.getNewWorker();if(C.pthread!==void 0)throw"Internal error!";if(!T.pthread_ptr)throw"Internal error, no pthread ptr!";ke.runningWorkers.push(C);for(var B=ds(128*4),q=0;q<128;++q)o()[B+q*4>>2]=0;var ce=T.stackBase+T.stackSize,le=ke.pthreads[T.pthread_ptr]={worker:C,stackBase:T.stackBase,stackSize:T.stackSize,allocatedOwnStack:T.allocatedOwnStack,threadInfoStruct:T.pthread_ptr},ue=le.threadInfoStruct>>2;Atomics.store(u(),ue+(64>>2),T.detached),Atomics.store(u(),ue+(100>>2),B),Atomics.store(u(),ue+(40>>2),le.threadInfoStruct),Atomics.store(u(),ue+(80>>2),T.stackSize),Atomics.store(u(),ue+(76>>2),ce),Atomics.store(u(),ue+(104>>2),T.stackSize),Atomics.store(u(),ue+(104+8>>2),ce),Atomics.store(u(),ue+(104+12>>2),T.detached);var be=e5(),at=be+40;Atomics.store(u(),ue+(172>>2),at),C.pthread=le;var Ut={cmd:"run",start_routine:T.startRoutine,arg:T.arg,threadInfoStruct:T.pthread_ptr,stackBase:T.stackBase,stackSize:T.stackSize};C.runPthread=function(){Ut.time=performance.now(),C.postMessage(Ut,T.transferList)},C.loaded&&(C.runPthread(),delete C.runPthread)}function Gf(T,C,B,q){if(typeof SharedArrayBuffer=="undefined")return G("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;if(!T)return G("pthread_create called with a null thread pointer!"),28;var ce=[],le=0;if(v&&(ce.length===0||le))return r5(687865856,T,C,B,q);if(le)return le;var ue=0,be=0,at=0;C&&C!=-1?(ue=o()[C>>2],ue+=81920,be=o()[C+8>>2],at=o()[C+12>>2]!==0):ue=2097152;var Ut=be==0;Ut?be=o5(16,ue):(be-=ue,he(be>0));for(var _t=ds(228),Er=0;Er<228>>2;++Er)u()[(_t>>2)+Er]=0;o()[T>>2]=_t,o()[_t+12>>2]=_t;var to=_t+152;o()[to>>2]=to;var kn={stackBase:be,stackSize:ue,allocatedOwnStack:Ut,detached:at,startRoutine:B,pthread_ptr:_t,arg:q,transferList:ce};return v?(kn.cmd="spawnThread",postMessage(kn,ce)):Sp(kn),0}function Np(T){if(v)return Sr(6,1,T);switch(T){case 30:return 16384;case 85:var C=2147483648;return C/16384;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:case 80:case 81:case 79:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return typeof navigator=="object"&&navigator.hardwareConcurrency||1}return ff(28),-1}v||ke.initMainThreadBlock();var Nr,qf=[null,mf,vp,wp,kp,Ip,Np],Xf={e:cf,r:hf,x:yf,b:Af,y:gf,j:xf,c:bf,d:cu,f:us,p:vf,z:wf,u:If,q:Tf,v:Df,i:zf,t:Of,w:jf,m:wp,n:kp,g:Ip,o:xp,a:Q||d.wasmMemory,k:Uf,l:Hf,h:Gf,s:Np},Jg=af(),Tp=d.___wasm_call_ctors=function(){return(Tp=d.___wasm_call_ctors=d.asm.A).apply(null,arguments)},Kf=d._init=function(){return(Kf=d._init=d.asm.B).apply(null,arguments)},Zf=d._register_tensor=function(){return(Zf=d._register_tensor=d.asm.C).apply(null,arguments)},Yf=d._dispose_data=function(){return(Yf=d._dispose_data=d.asm.D).apply(null,arguments)},Jf=d._dispose=function(){return(Jf=d._dispose=d.asm.E).apply(null,arguments)},Qf=d._Abs=function(){return(Qf=d._Abs=d.asm.G).apply(null,arguments)},em=d._Add=function(){return(em=d._Add=d.asm.H).apply(null,arguments)},tm=d._AddN=function(){return(tm=d._AddN=d.asm.I).apply(null,arguments)},nm=d._All=function(){return(nm=d._All=d.asm.J).apply(null,arguments)},am=d._Any=function(){return(am=d._Any=d.asm.K).apply(null,arguments)},rm=d._ArgMax=function(){return(rm=d._ArgMax=d.asm.L).apply(null,arguments)},sm=d._AvgPool=function(){return(sm=d._AvgPool=d.asm.M).apply(null,arguments)},im=d._BatchMatMul=function(){return(im=d._BatchMatMul=d.asm.N).apply(null,arguments)},om=d._Ceil=function(){return(om=d._Ceil=d.asm.O).apply(null,arguments)},lm=d._ClipByValue=function(){return(lm=d._ClipByValue=d.asm.P).apply(null,arguments)},um=d._Conv2D=function(){return(um=d._Conv2D=d.asm.Q).apply(null,arguments)},dm=d._Conv2DBackpropInput=function(){return(dm=d._Conv2DBackpropInput=d.asm.R).apply(null,arguments)},pm=d._Cos=function(){return(pm=d._Cos=d.asm.S).apply(null,arguments)},cm=d._CropAndResize=function(){return(cm=d._CropAndResize=d.asm.T).apply(null,arguments)},hm=d._Cumsum=function(){return(hm=d._Cumsum=d.asm.U).apply(null,arguments)},fm=d._DepthToSpace=function(){return(fm=d._DepthToSpace=d.asm.V).apply(null,arguments)},mm=d._DepthwiseConv2dNative=function(){return(mm=d._DepthwiseConv2dNative=d.asm.W).apply(null,arguments)},Ep=d._Equal=function(){return(Ep=d._Equal=d.asm.X).apply(null,arguments)},Cp=d._Exp=function(){return(Cp=d._Exp=d.asm.Y).apply(null,arguments)},Rp=d._FlipLeftRight=function(){return(Rp=d._FlipLeftRight=d.asm.Z).apply(null,arguments)},yu=d._Floor=function(){return(yu=d._Floor=d.asm._).apply(null,arguments)},Zi=d._FloorDiv=function(){return(Zi=d._FloorDiv=d.asm.$).apply(null,arguments)},ym=d._FusedBatchNorm=function(){return(ym=d._FusedBatchNorm=d.asm.aa).apply(null,arguments)},Au=d._FusedConv2D=function(){return(Au=d._FusedConv2D=d.asm.ba).apply(null,arguments)},K=d._FusedDepthwiseConv2D=function(){return(K=d._FusedDepthwiseConv2D=d.asm.ca).apply(null,arguments)},te=d._Gather=function(){return(te=d._Gather=d.asm.da).apply(null,arguments)},Ee=d._GatherNd=function(){return(Ee=d._GatherNd=d.asm.ea).apply(null,arguments)},Ye=d._Greater=function(){return(Ye=d._Greater=d.asm.fa).apply(null,arguments)},Tt=d._GreaterEqual=function(){return(Tt=d._GreaterEqual=d.asm.ga).apply(null,arguments)},mt=d._LeakyRelu=function(){return(mt=d._LeakyRelu=d.asm.ha).apply(null,arguments)},He=d._Less=function(){return(He=d._Less=d.asm.ia).apply(null,arguments)},qe=d._LessEqual=function(){return(qe=d._LessEqual=d.asm.ja).apply(null,arguments)},Qt=d._Log=function(){return(Qt=d._Log=d.asm.ka).apply(null,arguments)},ir=d._LogicalAnd=function(){return(ir=d._LogicalAnd=d.asm.la).apply(null,arguments)},or=d._Max=function(){return(or=d._Max=d.asm.ma).apply(null,arguments)},Mp=d._MaxPool=function(){return(Mp=d._MaxPool=d.asm.na).apply(null,arguments)},gu=d._Maximum=function(){return(gu=d._Maximum=d.asm.oa).apply(null,arguments)},Yn=d._Mean=function(){return(Yn=d._Mean=d.asm.pa).apply(null,arguments)},Tr=d._Min=function(){return(Tr=d._Min=d.asm.qa).apply(null,arguments)},Fp=d._Minimum=function(){return(Fp=d._Minimum=d.asm.ra).apply(null,arguments)},E9=d._MirrorPad=function(){return(E9=d._MirrorPad=d.asm.sa).apply(null,arguments)},C9=d._Multiply=function(){return(C9=d._Multiply=d.asm.ta).apply(null,arguments)},R9=d._Neg=function(){return(R9=d._Neg=d.asm.ua).apply(null,arguments)},M9=d._NonMaxSuppressionV3=function(){return(M9=d._NonMaxSuppressionV3=d.asm.va).apply(null,arguments)},F9=d._NonMaxSuppressionV4=function(){return(F9=d._NonMaxSuppressionV4=d.asm.wa).apply(null,arguments)},$9=d._NonMaxSuppressionV5=function(){return($9=d._NonMaxSuppressionV5=d.asm.xa).apply(null,arguments)},D9=d._NotEqual=function(){return(D9=d._NotEqual=d.asm.ya).apply(null,arguments)},z9=d._OneHot=function(){return(z9=d._OneHot=d.asm.za).apply(null,arguments)},O9=d._PadV2=function(){return(O9=d._PadV2=d.asm.Aa).apply(null,arguments)},_9=d._Pow=function(){return(_9=d._Pow=d.asm.Ba).apply(null,arguments)},P9=d._Prelu=function(){return(P9=d._Prelu=d.asm.Ca).apply(null,arguments)},L9=d._Prod=function(){return(L9=d._Prod=d.asm.Da).apply(null,arguments)},W9=d._RealDiv=function(){return(W9=d._RealDiv=d.asm.Ea).apply(null,arguments)},B9=d._Relu=function(){return(B9=d._Relu=d.asm.Fa).apply(null,arguments)},V9=d._Relu6=function(){return(V9=d._Relu6=d.asm.Ga).apply(null,arguments)},j9=d._ResizeBilinear=function(){return(j9=d._ResizeBilinear=d.asm.Ha).apply(null,arguments)},U9=d._Reverse=function(){return(U9=d._Reverse=d.asm.Ia).apply(null,arguments)},H9=d._RotateWithOffset=function(){return(H9=d._RotateWithOffset=d.asm.Ja).apply(null,arguments)},G9=d._Round=function(){return(G9=d._Round=d.asm.Ka).apply(null,arguments)},q9=d._Rsqrt=function(){return(q9=d._Rsqrt=d.asm.La).apply(null,arguments)},X9=d._ScatterNd=function(){return(X9=d._ScatterNd=d.asm.Ma).apply(null,arguments)},K9=d._SelectV2=function(){return(K9=d._SelectV2=d.asm.Na).apply(null,arguments)},Z9=d._Sigmoid=function(){return(Z9=d._Sigmoid=d.asm.Oa).apply(null,arguments)},Y9=d._Sin=function(){return(Y9=d._Sin=d.asm.Pa).apply(null,arguments)},J9=d._Softmax=function(){return(J9=d._Softmax=d.asm.Qa).apply(null,arguments)},Q9=d._Sqrt=function(){return(Q9=d._Sqrt=d.asm.Ra).apply(null,arguments)},eI=d._Square=function(){return(eI=d._Square=d.asm.Sa).apply(null,arguments)},tI=d._SquaredDifference=function(){return(tI=d._SquaredDifference=d.asm.Ta).apply(null,arguments)},nI=d._Step=function(){return(nI=d._Step=d.asm.Ua).apply(null,arguments)},aI=d._StridedSlice=function(){return(aI=d._StridedSlice=d.asm.Va).apply(null,arguments)},rI=d._Sub=function(){return(rI=d._Sub=d.asm.Wa).apply(null,arguments)},sI=d._Sum=function(){return(sI=d._Sum=d.asm.Xa).apply(null,arguments)},iI=d._Tan=function(){return(iI=d._Tan=d.asm.Ya).apply(null,arguments)},oI=d._Tanh=function(){return(oI=d._Tanh=d.asm.Za).apply(null,arguments)},lI=d._Tile=function(){return(lI=d._Tile=d.asm._a).apply(null,arguments)},uI=d._TopK=function(){return(uI=d._TopK=d.asm.$a).apply(null,arguments)},dI=d._Transform=function(){return(dI=d._Transform=d.asm.ab).apply(null,arguments)},pI=d._Transpose=function(){return(pI=d._Transpose=d.asm.bb).apply(null,arguments)},cI=d.__FusedMatMul=function(){return(cI=d.__FusedMatMul=d.asm.cb).apply(null,arguments)},ds=d._malloc=function(){return(ds=d._malloc=d.asm.db).apply(null,arguments)},xu=d._free=function(){return(xu=d._free=d.asm.eb).apply(null,arguments)},Qg=d.___errno_location=function(){return(Qg=d.___errno_location=d.asm.fb).apply(null,arguments)},e5=d._emscripten_get_global_libc=function(){return(e5=d._emscripten_get_global_libc=d.asm.gb).apply(null,arguments)},Yi=d._pthread_self=function(){return(Yi=d._pthread_self=d.asm.hb).apply(null,arguments)},t5=d.___pthread_tsd_run_dtors=function(){return(t5=d.___pthread_tsd_run_dtors=d.asm.ib).apply(null,arguments)},Am=d._emscripten_main_thread_process_queued_calls=function(){return(Am=d._emscripten_main_thread_process_queued_calls=d.asm.jb).apply(null,arguments)},hI=d._emscripten_current_thread_process_queued_calls=function(){return(hI=d._emscripten_current_thread_process_queued_calls=d.asm.kb).apply(null,arguments)},n5=d._emscripten_register_main_browser_thread_id=function(){return(n5=d._emscripten_register_main_browser_thread_id=d.asm.lb).apply(null,arguments)},a5=d.__emscripten_do_dispatch_to_thread=function(){return(a5=d.__emscripten_do_dispatch_to_thread=d.asm.mb).apply(null,arguments)},r5=d._emscripten_sync_run_in_main_thread_4=function(){return(r5=d._emscripten_sync_run_in_main_thread_4=d.asm.nb).apply(null,arguments)},s5=d._emscripten_run_in_main_runtime_thread_js=function(){return(s5=d._emscripten_run_in_main_runtime_thread_js=d.asm.ob).apply(null,arguments)},gm=d.__emscripten_call_on_thread=function(){return(gm=d.__emscripten_call_on_thread=d.asm.pb).apply(null,arguments)},fI=d._emscripten_tls_init=function(){return(fI=d._emscripten_tls_init=d.asm.qb).apply(null,arguments)},xm=d.__emscripten_thread_init=function(){return(xm=d.__emscripten_thread_init=d.asm.rb).apply(null,arguments)},bu=d.stackSave=function(){return(bu=d.stackSave=d.asm.sb).apply(null,arguments)},Ji=d.stackRestore=function(){return(Ji=d.stackRestore=d.asm.tb).apply(null,arguments)},Qi=d.stackAlloc=function(){return(Qi=d.stackAlloc=d.asm.ub).apply(null,arguments)},i5=d._emscripten_stack_set_limits=function(){return(i5=d._emscripten_stack_set_limits=d.asm.vb).apply(null,arguments)},o5=d._memalign=function(){return(o5=d._memalign=d.asm.wb).apply(null,arguments)},l5=d.__emscripten_allow_main_runtime_queued_calls=9808,eo=d.__emscripten_main_thread_futex=11432;d.cwrap=De,d.PThread=ke,d.PThread=ke,d.wasmMemory=Q,d.ExitStatus=vu;var $p;function vu(T){this.name="ExitStatus",this.message="Program terminated with exit("+T+")",this.status=T}ls=function T(){$p||bm(),$p||(ls=T)};function bm(T){if(T=T||f,rr>0)return;if(v){p(d),pu(),postMessage({cmd:"loaded"});return}if(Z0(),rr>0)return;function C(){$p||($p=!0,d.calledRun=!0,!oe&&(pu(),Y0(),p(d),d.onRuntimeInitialized&&d.onRuntimeInitialized(),vn()))}d.setStatus?(d.setStatus("Running..."),setTimeout(function(){setTimeout(function(){d.setStatus("")},1),C()},1)):C()}d.run=bm;function mI(T,C){if(!(C&&ie&&T===0)){if(!C&&v)throw postMessage({cmd:"exitProcess",returnCode:T}),new vu(T);ie||(ke.terminateAllThreads(),ge=T,hp(),d.onExit&&d.onExit(T),oe=!0),A(T,new vu(T))}}if(d.preInit)for(typeof d.preInit=="function"&&(d.preInit=[d.preInit]);d.preInit.length>0;)d.preInit.pop()();return v&&(ie=!1,ke.initWorker()),bm(),r.ready}}();typeof e=="object"&&typeof t=="object"?t.exports=n:typeof define=="function"&&define.amd?define([],function(){return n}):typeof e=="object"&&(e.WasmBackendModuleThreadedSimd=n)}),zI=wt((e,t)=>{var n=function(){var a=typeof document!="undefined"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename!="undefined"&&(a=a||__filename),function(r){r=r||{};var s=typeof r!="undefined"?r:{},i,o;s.ready=new Promise(function(K,te){i=K,o=te});var u={},l;for(l in s)s.hasOwnProperty(l)&&(u[l]=s[l]);var d=[],p="./this.program",c=function(K,te){throw te},h=!1,m=!1,f=!1,y=!1;h=typeof window=="object",m=typeof importScripts=="function",f=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",y=!h&&!f&&!m;var A="";function g(K){return s.locateFile?s.locateFile(K,A):A+K}var x,w,b,v,N,I;f?(m?A=wu().dirname(A)+"/":A=__dirname+"/",x=function(K,te){return N||(N=ao("fs")),I||(I=wu()),K=I.normalize(K),N.readFileSync(K,te?null:"utf8")},b=function(K){var te=x(K,!0);return te.buffer||(te=new Uint8Array(te)),X(te.buffer),te},process.argv.length>1&&(p=process.argv[1].replace(/\\/g,"/")),d=process.argv.slice(2),process.on("uncaughtException",function(K){if(!(K instanceof ym))throw K}),process.on("unhandledRejection",_a),c=function(K){process.exit(K)},s.inspect=function(){return"[Emscripten Module object]"}):y?(typeof read!="undefined"&&(x=function(K){return read(K)}),b=function(K){var te;return typeof readbuffer=="function"?new Uint8Array(readbuffer(K)):(te=read(K,"binary"),X(typeof te=="object"),te)},typeof scriptArgs!="undefined"?d=scriptArgs:typeof arguments!="undefined"&&(d=arguments),typeof quit=="function"&&(c=function(K){quit(K)}),typeof print!="undefined"&&(typeof console=="undefined"&&(console={}),console.log=print,console.warn=console.error=typeof printErr!="undefined"?printErr:print)):(h||m)&&(m?A=self.location.href:typeof document!="undefined"&&document.currentScript&&(A=document.currentScript.src),a&&(A=a),A.indexOf("blob:")!==0?A=A.substr(0,A.lastIndexOf("/")+1):A="",x=function(K){var te=new XMLHttpRequest;return te.open("GET",K,!1),te.send(null),te.responseText},m&&(b=function(K){var te=new XMLHttpRequest;return te.open("GET",K,!1),te.responseType="arraybuffer",te.send(null),new Uint8Array(te.response)}),w=function(K,te,Ee){var Ye=new XMLHttpRequest;Ye.open("GET",K,!0),Ye.responseType="arraybuffer",Ye.onload=function(){if(Ye.status==200||Ye.status==0&&Ye.response){te(Ye.response);return}Ee()},Ye.onerror=Ee,Ye.send(null)},v=function(K){document.title=K});var E=s.print||console.log.bind(console),$=s.printErr||console.warn.bind(console);for(l in u)u.hasOwnProperty(l)&&(s[l]=u[l]);u=null,s.arguments&&(d=s.arguments),s.thisProgram&&(p=s.thisProgram),s.quit&&(c=s.quit);var O;s.wasmBinary&&(O=s.wasmBinary);var z=s.noExitRuntime||!0;typeof WebAssembly!="object"&&_a("no native wasm support detected");var P,D=!1,U;function X(K,te){K||_a("Assertion failed: "+te)}function G(K){var te=s["_"+K];return X(te,"Cannot call unknown function "+K+", make sure it is exported"),te}function ee(K,te,Ee,Ye,Tt){var mt={string:function(Yn){var Tr=0;if(Yn!=null&&Yn!==0){var Fp=(Yn.length<<2)+1;Tr=yu(Fp),pe(Yn,Tr,Fp)}return Tr},array:function(Yn){var Tr=yu(Yn.length);return oe(Yn,Tr),Tr}};function He(Yn){return te==="string"?ie(Yn):te==="boolean"?Boolean(Yn):Yn}var qe=G(K),Qt=[],ir=0;if(Ye)for(var or=0;or=Ye);)++Tt;if(Tt-te>16&&K.subarray&&re)return re.decode(K.subarray(te,Tt));for(var mt="";te>10,56320|ir&1023)}}return mt}function ie(K,te){return K?ne(Te,K,te):""}function Q(K,te,Ee,Ye){if(!(Ye>0))return 0;for(var Tt=Ee,mt=Ee+Ye-1,He=0;He=55296&&qe<=57343){var Qt=K.charCodeAt(++He);qe=65536+((qe&1023)<<10)|Qt&1023}if(qe<=127){if(Ee>=mt)break;te[Ee++]=qe}else if(qe<=2047){if(Ee+1>=mt)break;te[Ee++]=192|qe>>6,te[Ee++]=128|qe&63}else if(qe<=65535){if(Ee+2>=mt)break;te[Ee++]=224|qe>>12,te[Ee++]=128|qe>>6&63,te[Ee++]=128|qe&63}else{if(Ee+3>=mt)break;te[Ee++]=240|qe>>18,te[Ee++]=128|qe>>12&63,te[Ee++]=128|qe>>6&63,te[Ee++]=128|qe&63}}return te[Ee]=0,Ee-Tt}function pe(K,te,Ee){return Q(K,Te,te,Ee)}function oe(K,te){Ne.set(K,te)}function ge(K,te){return K%te>0&&(K+=te-K%te),K}var he,Ne,Te,De,_e,ze,tt,nt,it;function Ze(K){he=K,s.HEAP8=Ne=new Int8Array(K),s.HEAP16=De=new Int16Array(K),s.HEAP32=ze=new Int32Array(K),s.HEAPU8=Te=new Uint8Array(K),s.HEAPU16=_e=new Uint16Array(K),s.HEAPU32=tt=new Uint32Array(K),s.HEAPF32=nt=new Float32Array(K),s.HEAPF64=it=new Float64Array(K)}var pt=s.INITIAL_MEMORY||16777216,Ue,xn=[],bt=[],Kn=[],Yt=[],bn=!1;bt.push({func:function(){xp()}});function Zn(){if(s.preRun)for(typeof s.preRun=="function"&&(s.preRun=[s.preRun]);s.preRun.length;)Oa(s.preRun.shift());Ir(xn)}function Dn(){bn=!0,Ir(bt)}function sn(){Ir(Kn)}function Jt(){if(s.postRun)for(typeof s.postRun=="function"&&(s.postRun=[s.postRun]);s.postRun.length;)ia(s.postRun.shift());Ir(Yt)}function Oa(K){xn.unshift(K)}function ia(K){Yt.unshift(K)}var oa=0,wr=null,ar=null;function kr(K){oa++,s.monitorRunDependencies&&s.monitorRunDependencies(oa)}function Gi(K){if(oa--,s.monitorRunDependencies&&s.monitorRunDependencies(oa),oa==0&&(wr!==null&&(clearInterval(wr),wr=null),ar)){var te=ar;ar=null,te()}}s.preloadedImages={},s.preloadedAudios={};function _a(K){s.onAbort&&s.onAbort(K),K+="",$(K),D=!0,U=1,K="abort("+K+"). Build with -s ASSERTIONS=1 for more info.";var te=new WebAssembly.RuntimeError(K);throw o(te),te}function cp(K,te){return String.prototype.startsWith?K.startsWith(te):K.indexOf(te)===0}var Z0="data:application/octet-stream;base64,";function pu(K){return cp(K,Z0)}var Y0="file://";function hp(K){return cp(K,Y0)}var vn="tfjs-backend-wasm.wasm";pu(vn)||(vn=g(vn));function fp(K){try{if(K==vn&&O)return new Uint8Array(O);if(b)return b(K);throw"both async and sync fetching of the wasm failed"}catch(te){_a(te)}}function J0(){if(!O&&(h||m)){if(typeof fetch=="function"&&!hp(vn))return fetch(vn,{credentials:"same-origin"}).then(function(K){if(!K.ok)throw"failed to load wasm binary file at '"+vn+"'";return K.arrayBuffer()}).catch(function(){return fp(vn)});if(w)return new Promise(function(K,te){w(vn,function(Ee){K(new Uint8Array(Ee))},te)})}return Promise.resolve().then(function(){return fp(vn)})}function rr(){var K={a:af};function te(He,qe){var Qt=He.exports;s.asm=Qt,P=s.asm.i,Ze(P.buffer),Ue=s.asm.o,Gi("wasm-instantiate")}kr("wasm-instantiate");function Ee(He){te(He.instance)}function Ye(He){return J0().then(function(qe){return WebAssembly.instantiate(qe,K)}).then(He,function(qe){$("failed to asynchronously prepare wasm: "+qe),_a(qe)})}function Tt(){return!O&&typeof WebAssembly.instantiateStreaming=="function"&&!pu(vn)&&!hp(vn)&&typeof fetch=="function"?fetch(vn,{credentials:"same-origin"}).then(function(He){var qe=WebAssembly.instantiateStreaming(He,K);return qe.then(Ee,function(Qt){return $("wasm streaming compile failed: "+Qt),$("falling back to ArrayBuffer instantiation"),Ye(Ee)})}):Ye(Ee)}if(s.instantiateWasm)try{var mt=s.instantiateWasm(K,te);return mt}catch(He){return $("Module.instantiateWasm callback failed with error: "+He),!1}return Tt().catch(o),{}}function Ir(K){for(;K.length>0;){var te=K.shift();if(typeof te=="function"){te(s);continue}var Ee=te.func;typeof Ee=="number"?te.arg===void 0?Ue.get(Ee)():Ue.get(Ee)(te.arg):Ee(te.arg===void 0?null:te.arg)}}function ls(){_a()}function Q0(K,te,Ee){Te.copyWithin(K,te,te+Ee)}function ef(){return Te.length}function sr(K){try{return P.grow(K-he.byteLength+65535>>>16),Ze(P.buffer),1}catch(te){}}function mp(K){var te=ef(),Ee=2147483648;if(K>Ee)return!1;for(var Ye=1;Ye<=4;Ye*=2){var Tt=te*(1+.2/Ye);Tt=Math.min(Tt,K+100663296);var mt=Math.min(Ee,ge(Math.max(K,Tt),65536)),He=sr(mt);if(He)return!0}return!1}var qi={mappings:{},buffers:[null,[],[]],printChar:function(K,te){var Ee=qi.buffers[K];te===0||te===10?((K===1?E:$)(ne(Ee,0)),Ee.length=0):Ee.push(te)},varargs:void 0,get:function(){qi.varargs+=4;var K=ze[qi.varargs-4>>2];return K},getStr:function(K){var te=ie(K);return te},get64:function(K,te){return K}};function yp(K){return 0}function tf(K,te,Ee,Ye,Tt){}function Ap(K,te,Ee,Ye){for(var Tt=0,mt=0;mt>2],qe=ze[te+(mt*8+4)>>2],Qt=0;Qt>2]=Tt,0}function wn(){return 6}function gp(K){return ze[Ep()>>2]=K,K}function nf(K){switch(K){case 30:return 16384;case 85:var te=2147483648;return te/16384;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:case 80:case 81:case 79:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return typeof navigator=="object"&&navigator.hardwareConcurrency||1}return gp(28),-1}var af={a:ls,d:Q0,e:mp,f:yp,c:tf,b:Ap,g:wn,h:nf},rf=rr(),xp=s.___wasm_call_ctors=function(){return(xp=s.___wasm_call_ctors=s.asm.j).apply(null,arguments)},Xi=s._init=function(){return(Xi=s._init=s.asm.k).apply(null,arguments)},cu=s._register_tensor=function(){return(cu=s._register_tensor=s.asm.l).apply(null,arguments)},sf=s._dispose_data=function(){return(sf=s._dispose_data=s.asm.m).apply(null,arguments)},of=s._dispose=function(){return(of=s._dispose=s.asm.n).apply(null,arguments)},lf=s._Abs=function(){return(lf=s._Abs=s.asm.p).apply(null,arguments)},ke=s._Add=function(){return(ke=s._Add=s.asm.q).apply(null,arguments)},uf=s._AddN=function(){return(uf=s._AddN=s.asm.r).apply(null,arguments)},df=s._All=function(){return(df=s._All=s.asm.s).apply(null,arguments)},pf=s._Any=function(){return(pf=s._Any=s.asm.t).apply(null,arguments)},cf=s._ArgMax=function(){return(cf=s._ArgMax=s.asm.u).apply(null,arguments)},hf=s._AvgPool=function(){return(hf=s._AvgPool=s.asm.v).apply(null,arguments)},us=s._BatchMatMul=function(){return(us=s._BatchMatMul=s.asm.w).apply(null,arguments)},ff=s._Ceil=function(){return(ff=s._Ceil=s.asm.x).apply(null,arguments)},mf=s._ClipByValue=function(){return(mf=s._ClipByValue=s.asm.y).apply(null,arguments)},yf=s._Conv2D=function(){return(yf=s._Conv2D=s.asm.z).apply(null,arguments)},Af=s._Conv2DBackpropInput=function(){return(Af=s._Conv2DBackpropInput=s.asm.A).apply(null,arguments)},gf=s._Cos=function(){return(gf=s._Cos=s.asm.B).apply(null,arguments)},xf=s._CropAndResize=function(){return(xf=s._CropAndResize=s.asm.C).apply(null,arguments)},bf=s._Cumsum=function(){return(bf=s._Cumsum=s.asm.D).apply(null,arguments)},vf=s._DepthToSpace=function(){return(vf=s._DepthToSpace=s.asm.E).apply(null,arguments)},wf=s._DepthwiseConv2dNative=function(){return(wf=s._DepthwiseConv2dNative=s.asm.F).apply(null,arguments)},Sr=s._Equal=function(){return(Sr=s._Equal=s.asm.G).apply(null,arguments)},hu=s._Exp=function(){return(hu=s._Exp=s.asm.H).apply(null,arguments)},fu=s._FlipLeftRight=function(){return(fu=s._FlipLeftRight=s.asm.I).apply(null,arguments)},kf=s._Floor=function(){return(kf=s._Floor=s.asm.J).apply(null,arguments)},If=s._FloorDiv=function(){return(If=s._FloorDiv=s.asm.K).apply(null,arguments)},Sf=s._FusedBatchNorm=function(){return(Sf=s._FusedBatchNorm=s.asm.L).apply(null,arguments)},Nf=s._FusedConv2D=function(){return(Nf=s._FusedConv2D=s.asm.M).apply(null,arguments)},Tf=s._FusedDepthwiseConv2D=function(){return(Tf=s._FusedDepthwiseConv2D=s.asm.N).apply(null,arguments)},Le=s._Gather=function(){return(Le=s._Gather=s.asm.O).apply(null,arguments)},Ef=s._GatherNd=function(){return(Ef=s._GatherNd=s.asm.P).apply(null,arguments)},Cf=s._Greater=function(){return(Cf=s._Greater=s.asm.Q).apply(null,arguments)},Rf=s._GreaterEqual=function(){return(Rf=s._GreaterEqual=s.asm.R).apply(null,arguments)},Mf=s._LeakyRelu=function(){return(Mf=s._LeakyRelu=s.asm.S).apply(null,arguments)},Ff=s._Less=function(){return(Ff=s._Less=s.asm.T).apply(null,arguments)},$f=s._LessEqual=function(){return($f=s._LessEqual=s.asm.U).apply(null,arguments)},mu=s._Log=function(){return(mu=s._Log=s.asm.V).apply(null,arguments)},bp=s._LogicalAnd=function(){return(bp=s._LogicalAnd=s.asm.W).apply(null,arguments)},vp=s._Max=function(){return(vp=s._Max=s.asm.X).apply(null,arguments)},Df=s._MaxPool=function(){return(Df=s._MaxPool=s.asm.Y).apply(null,arguments)},zf=s._Maximum=function(){return(zf=s._Maximum=s.asm.Z).apply(null,arguments)},Of=s._Mean=function(){return(Of=s._Mean=s.asm._).apply(null,arguments)},_f=s._Min=function(){return(_f=s._Min=s.asm.$).apply(null,arguments)},Pf=s._Minimum=function(){return(Pf=s._Minimum=s.asm.aa).apply(null,arguments)},Lf=s._MirrorPad=function(){return(Lf=s._MirrorPad=s.asm.ba).apply(null,arguments)},Wf=s._Multiply=function(){return(Wf=s._Multiply=s.asm.ca).apply(null,arguments)},et=s._Neg=function(){return(et=s._Neg=s.asm.da).apply(null,arguments)},Bf=s._NonMaxSuppressionV3=function(){return(Bf=s._NonMaxSuppressionV3=s.asm.ea).apply(null,arguments)},Vf=s._NonMaxSuppressionV4=function(){return(Vf=s._NonMaxSuppressionV4=s.asm.fa).apply(null,arguments)},jf=s._NonMaxSuppressionV5=function(){return(jf=s._NonMaxSuppressionV5=s.asm.ga).apply(null,arguments)},Ki=s._NotEqual=function(){return(Ki=s._NotEqual=s.asm.ha).apply(null,arguments)},wp=s._OneHot=function(){return(wp=s._OneHot=s.asm.ia).apply(null,arguments)},kp=s._PadV2=function(){return(kp=s._PadV2=s.asm.ja).apply(null,arguments)},Ip=s._Pow=function(){return(Ip=s._Pow=s.asm.ka).apply(null,arguments)},Uf=s._Prelu=function(){return(Uf=s._Prelu=s.asm.la).apply(null,arguments)},Hf=s._Prod=function(){return(Hf=s._Prod=s.asm.ma).apply(null,arguments)},Sp=s._RealDiv=function(){return(Sp=s._RealDiv=s.asm.na).apply(null,arguments)},Gf=s._Relu=function(){return(Gf=s._Relu=s.asm.oa).apply(null,arguments)},Np=s._Relu6=function(){return(Np=s._Relu6=s.asm.pa).apply(null,arguments)},Nr=s._ResizeBilinear=function(){return(Nr=s._ResizeBilinear=s.asm.qa).apply(null,arguments)},qf=s._Reverse=function(){return(qf=s._Reverse=s.asm.ra).apply(null,arguments)},Xf=s._RotateWithOffset=function(){return(Xf=s._RotateWithOffset=s.asm.sa).apply(null,arguments)},Jg=s._Round=function(){return(Jg=s._Round=s.asm.ta).apply(null,arguments)},Tp=s._Rsqrt=function(){return(Tp=s._Rsqrt=s.asm.ua).apply(null,arguments)},Kf=s._ScatterNd=function(){return(Kf=s._ScatterNd=s.asm.va).apply(null,arguments)},Zf=s._SelectV2=function(){return(Zf=s._SelectV2=s.asm.wa).apply(null,arguments)},Yf=s._Sigmoid=function(){return(Yf=s._Sigmoid=s.asm.xa).apply(null,arguments)},Jf=s._Sin=function(){return(Jf=s._Sin=s.asm.ya).apply(null,arguments)},Qf=s._Softmax=function(){return(Qf=s._Softmax=s.asm.za).apply(null,arguments)},em=s._Sqrt=function(){return(em=s._Sqrt=s.asm.Aa).apply(null,arguments)},tm=s._Square=function(){return(tm=s._Square=s.asm.Ba).apply(null,arguments)},nm=s._SquaredDifference=function(){return(nm=s._SquaredDifference=s.asm.Ca).apply(null,arguments)},am=s._Step=function(){return(am=s._Step=s.asm.Da).apply(null,arguments)},rm=s._StridedSlice=function(){return(rm=s._StridedSlice=s.asm.Ea).apply(null,arguments)},sm=s._Sub=function(){return(sm=s._Sub=s.asm.Fa).apply(null,arguments)},im=s._Sum=function(){return(im=s._Sum=s.asm.Ga).apply(null,arguments)},om=s._Tan=function(){return(om=s._Tan=s.asm.Ha).apply(null,arguments)},lm=s._Tanh=function(){return(lm=s._Tanh=s.asm.Ia).apply(null,arguments)},um=s._Tile=function(){return(um=s._Tile=s.asm.Ja).apply(null,arguments)},dm=s._TopK=function(){return(dm=s._TopK=s.asm.Ka).apply(null,arguments)},pm=s._Transform=function(){return(pm=s._Transform=s.asm.La).apply(null,arguments)},cm=s._Transpose=function(){return(cm=s._Transpose=s.asm.Ma).apply(null,arguments)},hm=s.__FusedMatMul=function(){return(hm=s.__FusedMatMul=s.asm.Na).apply(null,arguments)},fm=s._malloc=function(){return(fm=s._malloc=s.asm.Oa).apply(null,arguments)},mm=s._free=function(){return(mm=s._free=s.asm.Pa).apply(null,arguments)},Ep=s.___errno_location=function(){return(Ep=s.___errno_location=s.asm.Qa).apply(null,arguments)},Cp=s.stackSave=function(){return(Cp=s.stackSave=s.asm.Ra).apply(null,arguments)},Rp=s.stackRestore=function(){return(Rp=s.stackRestore=s.asm.Sa).apply(null,arguments)},yu=s.stackAlloc=function(){return(yu=s.stackAlloc=s.asm.Ta).apply(null,arguments)};s.cwrap=Y;var Zi;function ym(K){this.name="ExitStatus",this.message="Program terminated with exit("+K+")",this.status=K}ar=function K(){Zi||Au(),Zi||(ar=K)};function Au(K){if(K=K||d,oa>0||(Zn(),oa>0))return;function te(){Zi||(Zi=!0,s.calledRun=!0,!D&&(Dn(),sn(),i(s),s.onRuntimeInitialized&&s.onRuntimeInitialized(),Jt()))}s.setStatus?(s.setStatus("Running..."),setTimeout(function(){setTimeout(function(){s.setStatus("")},1),te()},1)):te()}if(s.run=Au,s.preInit)for(typeof s.preInit=="function"&&(s.preInit=[s.preInit]);s.preInit.length>0;)s.preInit.pop()();return Au(),r.ready}}();typeof e=="object"&&typeof t=="object"?t.exports=n:typeof define=="function"&&define.amd?define([],function(){return n}):typeof e=="object"&&(e.WasmBackendModule=n)}),OI=wt((e,t)=>{(function(n,a,r){function s(l){var d=this,p=u();d.next=function(){var c=2091639*d.s0+d.c*23283064365386963e-26;return d.s0=d.s1,d.s1=d.s2,d.s2=c-(d.c=c|0)},d.c=1,d.s0=p(" "),d.s1=p(" "),d.s2=p(" "),d.s0-=p(l),d.s0<0&&(d.s0+=1),d.s1-=p(l),d.s1<0&&(d.s1+=1),d.s2-=p(l),d.s2<0&&(d.s2+=1),p=null}function i(l,d){return d.c=l.c,d.s0=l.s0,d.s1=l.s1,d.s2=l.s2,d}function o(l,d){var p=new s(l),c=d&&d.state,h=p.next;return h.int32=function(){return p.next()*4294967296|0},h.double=function(){return h()+(h()*2097152|0)*11102230246251565e-32},h.quick=h,c&&(typeof c=="object"&&i(c,p),h.state=function(){return i(p,{})}),h}function u(){var l=4022871197,d=function(p){p=String(p);for(var c=0;c>>0,h-=l,h*=l,l=h>>>0,h-=l,l+=h*4294967296}return(l>>>0)*23283064365386963e-26};return d}a&&a.exports?a.exports=o:r&&r.amd?r(function(){return o}):this.alea=o})(e,typeof t=="object"&&t,typeof define=="function"&&define)}),_I=wt((e,t)=>{(function(n,a,r){function s(u){var l=this,d="";l.x=0,l.y=0,l.z=0,l.w=0,l.next=function(){var c=l.x^l.x<<11;return l.x=l.y,l.y=l.z,l.z=l.w,l.w^=l.w>>>19^c^c>>>8},u===(u|0)?l.x=u:d+=u;for(var p=0;p>>0)/4294967296};return c.double=function(){do var h=d.next()>>>11,m=(d.next()>>>0)/4294967296,f=(h+m)/(1<<21);while(f===0);return f},c.int32=d.next,c.quick=c,p&&(typeof p=="object"&&i(p,d),c.state=function(){return i(d,{})}),c}a&&a.exports?a.exports=o:r&&r.amd?r(function(){return o}):this.xor128=o})(e,typeof t=="object"&&t,typeof define=="function"&&define)}),PI=wt((e,t)=>{(function(n,a,r){function s(u){var l=this,d="";l.next=function(){var c=l.x^l.x>>>2;return l.x=l.y,l.y=l.z,l.z=l.w,l.w=l.v,(l.d=l.d+362437|0)+(l.v=l.v^l.v<<4^(c^c<<1))|0},l.x=0,l.y=0,l.z=0,l.w=0,l.v=0,u===(u|0)?l.x=u:d+=u;for(var p=0;p>>4),l.next()}function i(u,l){return l.x=u.x,l.y=u.y,l.z=u.z,l.w=u.w,l.v=u.v,l.d=u.d,l}function o(u,l){var d=new s(u),p=l&&l.state,c=function(){return(d.next()>>>0)/4294967296};return c.double=function(){do var h=d.next()>>>11,m=(d.next()>>>0)/4294967296,f=(h+m)/(1<<21);while(f===0);return f},c.int32=d.next,c.quick=c,p&&(typeof p=="object"&&i(p,d),c.state=function(){return i(d,{})}),c}a&&a.exports?a.exports=o:r&&r.amd?r(function(){return o}):this.xorwow=o})(e,typeof t=="object"&&t,typeof define=="function"&&define)}),LI=wt((e,t)=>{(function(n,a,r){function s(u){var l=this;l.next=function(){var p=l.x,c=l.i,h,m,f;return h=p[c],h^=h>>>7,m=h^h<<24,h=p[c+1&7],m^=h^h>>>10,h=p[c+3&7],m^=h^h>>>3,h=p[c+4&7],m^=h^h<<7,h=p[c+7&7],h=h^h<<13,m^=h^h<<9,p[c]=m,l.i=c+1&7,m};function d(p,c){var h,m,f=[];if(c===(c|0))m=f[0]=c;else for(c=""+c,h=0;h0;--h)p.next()}d(l,u)}function i(u,l){return l.x=u.x.slice(),l.i=u.i,l}function o(u,l){u==null&&(u=+new Date);var d=new s(u),p=l&&l.state,c=function(){return(d.next()>>>0)/4294967296};return c.double=function(){do var h=d.next()>>>11,m=(d.next()>>>0)/4294967296,f=(h+m)/(1<<21);while(f===0);return f},c.int32=d.next,c.quick=c,p&&(p.x&&i(p,d),c.state=function(){return i(d,{})}),c}a&&a.exports?a.exports=o:r&&r.amd?r(function(){return o}):this.xorshift7=o})(e,typeof t=="object"&&t,typeof define=="function"&&define)}),WI=wt((e,t)=>{(function(n,a,r){function s(u){var l=this;l.next=function(){var p=l.w,c=l.X,h=l.i,m,f;return l.w=p=p+1640531527|0,f=c[h+34&127],m=c[h=h+1&127],f^=f<<13,m^=m<<17,f^=f>>>15,m^=m>>>12,f=c[h]=f^m,l.i=h,f+(p^p>>>16)|0};function d(p,c){var h,m,f,y,A,g=[],x=128;for(c===(c|0)?(m=c,c=null):(c=c+"\0",m=0,x=Math.max(x,c.length)),f=0,y=-32;y>>15,m^=m<<4,m^=m>>>13,y>=0&&(A=A+1640531527|0,h=g[y&127]^=m+A,f=h==0?f+1:0);for(f>=128&&(g[(c&&c.length||0)&127]=-1),f=127,y=4*128;y>0;--y)m=g[f+34&127],h=g[f=f+1&127],m^=m<<13,h^=h<<17,m^=m>>>15,h^=h>>>12,g[f]=m^h;p.w=A,p.X=g,p.i=f}d(l,u)}function i(u,l){return l.i=u.i,l.w=u.w,l.X=u.X.slice(),l}function o(u,l){u==null&&(u=+new Date);var d=new s(u),p=l&&l.state,c=function(){return(d.next()>>>0)/4294967296};return c.double=function(){do var h=d.next()>>>11,m=(d.next()>>>0)/4294967296,f=(h+m)/(1<<21);while(f===0);return f},c.int32=d.next,c.quick=c,p&&(p.X&&i(p,d),c.state=function(){return i(d,{})}),c}a&&a.exports?a.exports=o:r&&r.amd?r(function(){return o}):this.xor4096=o})(e,typeof t=="object"&&t,typeof define=="function"&&define)}),BI=wt((e,t)=>{(function(n,a,r){function s(u){var l=this,d="";l.next=function(){var c=l.b,h=l.c,m=l.d,f=l.a;return c=c<<25^c>>>7^h,h=h-m|0,m=m<<24^m>>>8^f,f=f-c|0,l.b=c=c<<20^c>>>12^h,l.c=h=h-m|0,l.d=m<<16^h>>>16^f,l.a=f-c|0},l.a=0,l.b=0,l.c=2654435769|0,l.d=1367130551,u===Math.floor(u)?(l.a=u/4294967296|0,l.b=u|0):d+=u;for(var p=0;p>>0)/4294967296};return c.double=function(){do var h=d.next()>>>11,m=(d.next()>>>0)/4294967296,f=(h+m)/(1<<21);while(f===0);return f},c.int32=d.next,c.quick=c,p&&(typeof p=="object"&&i(p,d),c.state=function(){return i(d,{})}),c}a&&a.exports?a.exports=o:r&&r.amd?r(function(){return o}):this.tychei=o})(e,typeof t=="object"&&t,typeof define=="function"&&define)}),VI=wt((e,t)=>{(function(n,a,r){var s=256,i=6,o=52,u="random",l=r.pow(s,i),d=r.pow(2,o),p=d*2,c=s-1,h;function m(b,v,N){var I=[];v=v==!0?{entropy:!0}:v||{};var E=g(A(v.entropy?[b,w(a)]:b==null?x():b,3),I),$=new f(I),O=function(){for(var z=$.g(i),P=l,D=0;z=p;)z/=2,P/=2,D>>>=1;return(z+D)/P};return O.int32=function(){return $.g(4)|0},O.quick=function(){return $.g(4)/4294967296},O.double=O,g(w($.S),a),(v.pass||N||function(z,P,D,U){return U&&(U.S&&y(U,$),z.state=function(){return y($,{})}),D?(r[u]=z,P):z})(O,E,"global"in v?v.global:this==r,v.state)}function f(b){var v,N=b.length,I=this,E=0,$=I.i=I.j=0,O=I.S=[];for(N||(b=[N++]);E{var n=OI(),a=_I(),r=PI(),s=LI(),i=WI(),o=BI(),u=VI();u.alea=n,u.xor128=a,u.xorwow=r,u.xorshift7=s,u.xor4096=i,u.tychei=o,t.exports=u}),jI=wt(()=>{}),wm={};Fe(wm,{bin:()=>N5,browser:()=>F5,default:()=>UI,dependencies:()=>M5,description:()=>g5,devDependencies:()=>C5,jsdelivr:()=>w5,license:()=>E5,main:()=>b5,miniprogram:()=>S5,module:()=>v5,name:()=>y5,private:()=>x5,repository:()=>T5,scripts:()=>R5,types:()=>I5,unpkg:()=>k5,version:()=>A5});var y5="@tensorflow/tfjs",A5="3.6.0",g5="An open-source machine learning framework.",x5=!1,b5="dist/tf.node.js",v5="dist/index.js",w5="dist/tf.min.js",k5="dist/tf.min.js",I5="dist/index.d.ts",S5="dist/miniprogram",N5={"tfjs-custom-module":"dist/tools/custom_module/cli.js"},T5={type:"git",url:"https://github.com/tensorflow/tfjs.git"},E5="Apache-2.0",C5={"@babel/core":"^7.9.0","@babel/polyfill":"^7.10.4","@babel/preset-env":"^7.9.5","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-typescript":"^3.0.0","@types/argparse":"^1.0.38","@types/jasmine":"2.8.7","@types/node":"~10.17.50","@types/shelljs":"^0.8.4","@types/yargs":"^15.0.7","clang-format":"~1.2.2",commander:"~2.14.1",jasmine:"3.1.0","jasmine-core":"~3.1.0",karma:"~6.3.2","karma-browserstack-launcher":"~1.6.0","karma-chrome-launcher":"~2.2.0","karma-firefox-launcher":"~1.1.0","karma-jasmine":"~1.1.1","karma-typescript":"~5.5.1","karma-typescript-es6-transform":"^5.5.1","npm-run-all":"~4.1.3",rimraf:"~2.6.2",rollup:"~2.3.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-terser":"~7.0.2","rollup-plugin-visualizer":"~4.2.2",shelljs:"~0.8.1","ts-node":"~8.8.2",tslint:"~5.11.0","tslint-no-circular-imports":"~0.5.0",typescript:"3.5.3",yalc:"1.0.0-pre.50"},R5={build:"tsc && yarn build-cli && yarn bundle","build-ci":"tsc && yarn build-cli && yarn bundle-ci",bundle:"rollup -c","bundle-ci":"rollup -c --ci","build-core":"cd ../tfjs-core && yarn && yarn build","build-core-ci":"cd ../tfjs-core && yarn && yarn build-ci","build-layers":"cd ../tfjs-layers && yarn && yarn build","build-layers-ci":"cd ../tfjs-layers && yarn && yarn build-ci","build-converter":"cd ../tfjs-converter && yarn && yarn build","build-converter-ci":"cd ../tfjs-converter && yarn && yarn build-ci","build-data":"cd ../tfjs-data && yarn && yarn build","build-data-ci":"cd ../tfjs-data && yarn && yarn build-ci","build-backend-cpu":"cd ../tfjs-backend-cpu && yarn && yarn build","build-backend-cpu-ci":"cd ../tfjs-backend-cpu && yarn && yarn build-ci","build-backend-webgl":"cd ../tfjs-backend-webgl && yarn && yarn build","build-backend-webgl-ci":"cd ../tfjs-backend-webgl && yarn && yarn build-ci","build-deps":"yarn build-core && yarn build-layers && yarn build-converter && yarn build-data && yarn build-backend-cpu && yarn build-backend-webgl","build-deps-ci":"yarn build-core-ci && yarn build-layers-ci && yarn build-converter-ci && yarn build-data-ci && yarn build-backend-cpu-ci && yarn build-backend-webgl-ci","build-cli":"tsc --project ./tools/custom_module/tsconfig.json && chmod +x ./dist/tools/custom_module/cli.js","run-custom-build":"ts-node -s ./tools/custom_module/cli.ts","build-npm":"./scripts/build-npm.sh","link-local":"yalc link","publish-local":"yarn build-npm && yalc push","publish-npm":"npm publish",lint:"tslint -p . -t verbose",coverage:"KARMA_COVERAGE=1 karma start --browsers='Chrome' --singleRun",test:"yarn && yarn build-deps && yarn build && karma start","test-dev":"karma start","test-tools":"ts-node --project ./tools/custom_module/tsconfig.json run_tools_tests.ts","test-ci":"./scripts/test-ci.sh"},M5={"@tensorflow/tfjs-backend-cpu":"3.6.0","@tensorflow/tfjs-backend-webgl":"3.6.0","@tensorflow/tfjs-converter":"3.6.0","@tensorflow/tfjs-core":"3.6.0","@tensorflow/tfjs-data":"3.6.0","@tensorflow/tfjs-layers":"3.6.0",argparse:"^1.0.10",chalk:"^4.1.0","core-js":"3","regenerator-runtime":"^0.13.5",yargs:"^16.0.3"},F5={"node-fetch":!1,util:!1,crypto:!1},UI={name:y5,version:A5,description:g5,private:x5,main:b5,module:v5,jsdelivr:w5,unpkg:k5,types:I5,miniprogram:S5,bin:N5,repository:T5,license:E5,devDependencies:C5,scripts:R5,dependencies:M5,browser:F5},km={};Fe(km,{browser:()=>Z5,default:()=>HI,dependencies:()=>K5,description:()=>z5,devDependencies:()=>q5,engines:()=>U5,jsdelivr:()=>P5,"jsnext:main":()=>B5,license:()=>G5,main:()=>_5,miniprogram:()=>j5,module:()=>V5,name:()=>$5,private:()=>O5,repository:()=>H5,scripts:()=>X5,sideEffects:()=>Y5,types:()=>W5,unpkg:()=>L5,version:()=>D5});var $5="@tensorflow/tfjs-core",D5="3.6.0",z5="Hardware-accelerated JavaScript library for machine intelligence",O5=!1,_5="dist/tf-core.node.js",P5="dist/tf-core.min.js",L5="dist/tf-core.min.js",W5="dist/index.d.ts",B5="dist/index.js",V5="dist/index.js",j5="dist/miniprogram",U5={yarn:">= 1.3.2"},H5={type:"git",url:"https://github.com/tensorflow/tfjs-core.git"},G5="Apache-2.0",q5={"@bazel/bazelisk":"^1.3.0","@bazel/typescript":"^0.27.8","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-typescript":"^3.0.0","@tensorflow/tfjs-backend-cpu":"link:../tfjs-backend-cpu","@types/jasmine":"~3.0.0","@types/node":"~9.6.0","@types/node-fetch":"~2.1.2","clang-format":"~1.2.4",jasmine:"~3.1.0","jasmine-core":"~3.1.0",karma:"6.3.2","karma-browserstack-launcher":"~1.6.0","karma-chrome-launcher":"~3.1.0","karma-jasmine":"~4.0.1","karma-typescript":"~5.5.1","npm-run-all":"~4.1.3",rimraf:"~2.6.2",rollup:"~2.3.2","rollup-plugin-terser":"~5.3.0","rollup-plugin-visualizer":"~3.3.2",shelljs:"~0.8.3","ts-node":"~8.8.2",tslint:"~5.11.0","tslint-no-circular-imports":"~0.5.0",typescript:"3.5.3",yalc:"~1.0.0-pre.21",yargs:"~13.2.2"},X5={"build-ci":"./scripts/enumerate-tests.js --ci && tsc && yarn bundle-ci && yarn build-test-snippets",build:"node ./scripts/enumerate-tests.js && tsc && yarn bundle",bundle:"rollup -c","bundle-ci":"rollup -c --ci","build-npm":"./scripts/build-npm.sh","build-deps":"yarn build && yarn build-cpu-backend","build-cpu-backend":"cd ../tfjs-backend-cpu && yarn && yarn build","build-cpu-backend-ci":"cd ../tfjs-backend-cpu && yarn && yarn build-ci","build:bazel":"bazelisk build //...","build-test-snippets":"yarn tsc --project ./scripts/test_snippets/tsconfig.json","format-all":"clang-format -i -style=Google --glob=src/**/*.ts","link-local":"yalc link","publish-local":"rimraf dist/ && yarn build && rollup -c && yalc push","publish-npm":"npm publish",lint:"tslint -p . -t verbose",coverage:"KARMA_COVERAGE=1 karma start --browsers='Chrome' --singleRun",test:"yarn && yarn build-deps && karma start","test-dev":"karma start","test-ci":"./scripts/test-ci.sh","test-webworker":"karma start --worker","run-browserstack":"karma start --browserstack","test-bundle-size":"./scripts/test-bundle-size.js","test-node":"rimraf dist/ && yarn build-deps && yarn build && ts-node --transpile-only --skip-ignore -P tsconfig.test.json dist/test_node.js","test-node-dev":"tsc && ts-node --transpile-only --skip-ignore -P tsconfig.test.json dist/test_node.js","test-node-ci":"ts-node --transpile-only -P tsconfig.test.json dist/test_node.js","test-async-backends":"rimraf dist/ && yarn build && ts-node --transpile-only -P tsconfig.test.json dist/test_async_backends.js","test-async-backends-ci":"ts-node --transpile-only -P tsconfig.test.json dist/test_async_backends.js","test-snippets":"yarn build && yarn build-cpu-backend && ts-node -P tsconfig.test.json ./scripts/test_snippets/test_snippets.ts","test-snippets-ci":"ts-node -P tsconfig.test.json ./scripts/test_snippets/test_snippets.ts"},K5={"@types/offscreencanvas":"~2019.3.0","@types/seedrandom":"2.4.27","@types/webgl-ext":"0.0.30","node-fetch":"~2.6.1",seedrandom:"2.4.3"},Z5={"node-fetch":!1,util:!1,crypto:!1,worker_threads:!1},Y5=["./dist/index.js","./dist/engine.js","./dist/tensor.js","./dist/base_side_effects.js","./dist/flags.js","./dist/platforms/*.js","./dist/register_all_gradients.js","./dist/public/chained_ops/*.js","./dist/io/*.js"],HI={name:$5,version:D5,description:z5,private:O5,main:_5,jsdelivr:P5,unpkg:L5,types:W5,"jsnext:main":B5,module:V5,miniprogram:j5,engines:U5,repository:H5,license:G5,devDependencies:q5,scripts:X5,dependencies:K5,browser:Z5,sideEffects:Y5},Im={};Fe(Im,{browser:()=>fx,default:()=>GI,dependencies:()=>hx,description:()=>ex,devDependencies:()=>dx,jsdelivr:()=>ax,"jsnext:main":()=>ix,license:()=>ux,main:()=>nx,miniprogram:()=>lx,module:()=>ox,name:()=>J5,peerDependencies:()=>cx,private:()=>tx,scripts:()=>px,types:()=>sx,unpkg:()=>rx,version:()=>Q5});var J5="@tensorflow/tfjs-data",Q5="3.6.0",ex="TensorFlow Data API in JavaScript",tx=!1,nx="dist/tf-data.node.js",ax="dist/tf-data.min.js",rx="dist/tf-data.min.js",sx="dist/index.d.ts",ix="dist/index.js",ox="dist/index.js",lx="dist/miniprogram",ux="Apache-2.0",dx={"@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-typescript":"^3.0.0","@tensorflow/tfjs-backend-cpu":"3.6.0","@tensorflow/tfjs-core":"3.6.0","@tensorflow/tfjs-layers":"3.6.0","@types/jasmine":"~2.5.53","@types/seedrandom":"^2.4.27","@types/utf8":"~2.1.6","clang-format":"~1.2.2","http-server":"~0.12.3",jasmine:"3.1.0","jasmine-core":"~3.1.0",karma:"~6.3.1","karma-chrome-launcher":"~2.2.0","karma-firefox-launcher":"~1.1.0","karma-jasmine":"~1.1.1","karma-typescript":"~5.5.1","karma-typescript-es6-transform":"^5.0.2",nyc:"^15.1.0",rimraf:"~2.6.2",rollup:"~2.3.2","rollup-plugin-terser":"~7.0.2","rollup-plugin-visualizer":"~3.3.2","ts-node":"~7.0.0",tslint:"~6.1.3","tslint-no-circular-imports":"^0.7.0",typescript:"3.5.3",yalc:"^1.0.0-pre.50"},px={build:"tsc && yarn bundle","build-ci":"tsc && yarn bundle-ci",bundle:"rollup -c","bundle-ci":"rollup -c --ci","build-core":"cd ../tfjs-core && yarn && yarn build","build-core-ci":"cd ../tfjs-core && yarn && yarn build-ci","build-layers":"cd ../tfjs-layers && yarn && yarn build","build-backend-cpu":"cd ../tfjs-backend-cpu && yarn && yarn build","build-backend-cpu-ci":"cd ../tfjs-backend-cpu && yarn && yarn build-ci","build-layers-ci":"cd ../tfjs-layers && yarn && yarn build-ci","build-deps":"yarn build-core && yarn build-layers && yarn build-backend-cpu","build-deps-ci":"yarn build-core-ci && yarn build-layers-ci && yarn build-backend-cpu-ci","build-npm":"./scripts/build-npm.sh","link-local":"yalc link","publish-local":"rimraf dist/ && yarn build-npm && yalc push","publish-npm":"npm publish",test:"yarn && yarn build-deps && yarn build && ts-node --transpile-only --project tsconfig.test.json src/test_node.ts","test-dev":"tsc && ts-node --transpile-only --project tsconfig.test.json src/test_node.ts","test-browsers":"karma start --browsers='Chrome,Firefox'","test-ci":"ts-node --transpile-only --skip-ignore -P tsconfig.test.json src/test_node.ts","test-snippets":"yarn && yarn build-deps && yarn build && ts-node --skip-ignore --project tsconfig.test.json ./scripts/test_snippets.ts","test-snippets-ci":"ts-node --skip-ignore --project tsconfig.test.json ./scripts/test_snippets.ts",coverage:"yarn nyc yarn ts-node --transpile-only -P tsconfig.test.json src/test_node.ts",lint:"tslint -p . -t verbose"},cx={"@tensorflow/tfjs-core":"3.6.0",seedrandom:"~2.4.3"},hx={"@types/node-fetch":"^2.1.2","node-fetch":"~2.6.1"},fx={fs:!1,"node-fetch":!1,string_decoder:!1,crypto:!1},GI={name:J5,version:Q5,description:ex,private:tx,main:nx,jsdelivr:ax,unpkg:rx,types:sx,"jsnext:main":ix,module:ox,miniprogram:lx,license:ux,devDependencies:dx,scripts:px,peerDependencies:cx,dependencies:hx,browser:fx},Sm={};Fe(Sm,{default:()=>qI,description:()=>Ax,devDependencies:()=>Tx,jsdelivr:()=>Ix,"jsnext:main":()=>wx,license:()=>gx,main:()=>bx,miniprogram:()=>Nx,module:()=>kx,name:()=>mx,peerDependencies:()=>Cx,private:()=>xx,scripts:()=>Ex,types:()=>vx,unpkg:()=>Sx,version:()=>yx});var mx="@tensorflow/tfjs-layers",yx="3.6.0",Ax="TensorFlow layers API in JavaScript",gx="Apache-2.0 AND MIT",xx=!1,bx="dist/tf-layers.node.js",vx="dist/index.d.ts",wx="dist/index.js",kx="dist/index.js",Ix="dist/tf-layers.min.js",Sx="dist/tf-layers.min.js",Nx="dist/miniprogram",Tx={"@babel/polyfill":"^7.8.7","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-typescript":"^3.0.0","@tensorflow/tfjs-backend-cpu":"3.6.0","@tensorflow/tfjs-backend-webgl":"3.6.0","@tensorflow/tfjs-core":"3.6.0","@types/jasmine":"~2.5.53","clang-format":"~1.2.2","http-server":"~0.12.3",jasmine:"~3.1.0","jasmine-core":"~3.1.0",karma:"~6.3.1","karma-browserstack-launcher":"~1.6.0","karma-chrome-launcher":"~2.2.0","karma-firefox-launcher":"~1.1.0","karma-jasmine":"~1.1.1","karma-typescript":"~5.5.1","karma-typescript-es6-transform":"^5.0.2",rimraf:"~2.6.2",rollup:"~2.3.2","rollup-plugin-terser":"~7.0.2","rollup-plugin-visualizer":"~3.3.2","ts-node":"~8.8.2",tslint:"~6.1.3","tslint-no-circular-imports":"^0.7.0",typescript:"3.5.3",yalc:"~1.0.0-pre.50"},Ex={prep:"yarn install && yarn build-ci",build:"tsc && yarn bundle","build-ci":"tsc && yarn bundle-ci",bundle:"rollup -c","bundle-ci":"rollup -c --ci","build-core":"cd ../tfjs-core && yarn && yarn build","build-backend-cpu":"cd ../tfjs-backend-cpu && yarn && yarn build","build-backend-cpu-ci":"cd ../tfjs-backend-cpu && yarn && yarn build-ci","build-backend-webgl":"cd ../tfjs-backend-webgl && yarn && yarn build","build-backend-webgl-ci":"cd ../tfjs-backend-webgl && yarn && yarn build-ci","build-core-ci":"cd ../tfjs-core && yarn && yarn build-ci","build-deps":"yarn build-core && yarn build-backend-cpu && yarn build-backend-webgl","build-deps-ci":"yarn build-core-ci && yarn build-backend-cpu-ci && yarn build-backend-webgl-ci","build-npm":"./scripts/build-npm.sh",format:"./tools/clang_format_ts.sh","link-local":"yalc link","publish-local":"yarn build-npm && yalc push","publish-npm":"npm publish",coverage:"KARMA_COVERAGE=1 karma start --browsers='Chrome' --singleRun",test:"yarn && yarn build-deps && karma start","test-dev":"karma start","test-ci":"./scripts/test-ci.sh","test-snippets":"yarn && yarn build-deps && yarn build && ts-node --skip-ignore -s ./scripts/test_snippets.ts","test-snippets-ci":"ts-node --skip-ignore -s ./scripts/test_snippets.ts","run-browserstack":"karma start --browsers='bs_chrome_mac' --singleRun --reporters='dots,karma-typescript'",lint:"tslint -p . -t verbose"},Cx={"@tensorflow/tfjs-core":"3.6.0"},qI={name:mx,version:yx,description:Ax,license:gx,private:xx,main:bx,types:vx,"jsnext:main":wx,module:kx,jsdelivr:Ix,unpkg:Sx,miniprogram:Nx,devDependencies:Tx,scripts:Ex,peerDependencies:Cx},Nm={};Fe(Nm,{default:()=>XI,description:()=>Fx,devDependencies:()=>jx,jsdelivr:()=>Px,"jsnext:main":()=>Dx,license:()=>Bx,main:()=>$x,miniprogram:()=>Lx,module:()=>zx,name:()=>Rx,peerDependencies:()=>Vx,repository:()=>Wx,scripts:()=>Ux,types:()=>Ox,unpkg:()=>_x,version:()=>Mx});var Rx="@tensorflow/tfjs-converter",Mx="3.6.0",Fx="Tensorflow model converter for javascript",$x="dist/tf-converter.node.js",Dx="dist/index.js",zx="dist/index.js",Ox="dist/index.d.ts",_x="dist/tf-converter.min.js",Px="dist/tf-converter.min.js",Lx="dist/miniprogram",Wx={type:"git",url:"https://github.com/tensorflow/tfjs-converter.git"},Bx="Apache-2.0",Vx={"@tensorflow/tfjs-core":"3.6.0"},jx={"@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-replace":"^2.3.3","@rollup/plugin-typescript":"^3.0.0","@tensorflow/tfjs-backend-cpu":"3.6.0","@tensorflow/tfjs-core":"3.6.0","@types/argparse":"^1.0.38","@types/deep-equal":"^1.0.1","@types/jasmine":"~2.8.6","@types/long":"~3.0.32","@types/node-fetch":"1.6.9",ajv:"~6.3.0",argparse:"^1.0.10","babel-core":"~6.26.3","babel-plugin-external-helpers":"~6.22.0","babel-preset-env":"~1.7.0","clang-format":"~1.2.2",copyfiles:"~1.2.0","deep-equal":"^1.0.1","jasmine-core":"~3.5.0","node-fetch":"~2.6.1",opn:"~5.1.0",protobufjs:"~6.8.6",rimraf:"~2.6.2",rollup:"~2.3.2","rollup-plugin-terser":"~7.0.2","rollup-plugin-visualizer":"~3.3.2","ts-morph":"^7.1.3","ts-node":"~8.8.2",tslint:"~6.1.3","tslint-no-circular-imports":"~0.7.0",typescript:"3.5.3",yalc:"~1.0.0-pre.50"},Ux={build:"yarn gen-json --test && yarn gen-kernel2ops && tsc && yarn bundle","build-ci":"yarn gen-json --test && yarn gen-kernel2ops && tsc && yarn bundle-ci",bundle:"rollup -c","bundle-ci":"rollup -c --ci","build-core":"cd ../tfjs-core && yarn && yarn build","build-backend-cpu":"cd ../tfjs-backend-cpu && yarn && yarn build","build-backend-cpu-ci":"cd ../tfjs-backend-cpu && yarn && yarn build-ci","build-core-ci":"cd ../tfjs-core && yarn && yarn build-ci","build-deps":"yarn build-core && yarn build-backend-cpu","build-deps-ci":"yarn build-core-ci && yarn build-backend-cpu","build-npm":"./scripts/build-npm.sh","link-local":"yalc link","publish-local":"yarn build-npm && yalc push","publish-npm":"npm publish",test:"yarn && yarn build-deps && yarn build && yarn gen-json --test && yarn gen-kernel2ops && ts-node --transpile-only -P tsconfig.test.json src/run_tests.ts","test-ci":"ts-node --transpile-only --skip-ignore -P tsconfig.test.json src/run_tests.ts","test-dev":"tsc && ts-node --transpile-only -P tsconfig.test.json src/run_tests.ts","test-snippets":"yarn && yarn build-deps && yarn build && ts-node --skip-ignore -s ./scripts/test_snippets.ts","test-snippets-ci":"ts-node --skip-ignore -s ./scripts/test_snippets.ts",lint:"tslint -p . -t verbose","make-version":"sh -c ./scripts/make-version","gen-doc":"ts-node -s ./scripts/gen_doc.ts","gen-json":"ts-node -s ./scripts/gen_json.ts","model-summary":"ts-node -s ./tools/model_summary.ts",pb2json:"ts-node -s ./tools/pb2json_converter.ts","build-pip-package":"yarn gen-json --test && cd python && ./build-pip-package.sh --test /tmp/tfjs-pips","run-python-tests":"yarn gen-json --test && cd python && ./run-python-tests.sh","gen-kernel2ops":"ts-node -s scripts/kernels_to_ops.ts --out metadata/kernel2op.json"},XI={name:Rx,version:Mx,description:Fx,main:$x,"jsnext:main":Dx,module:zx,types:Ox,unpkg:_x,jsdelivr:Px,miniprogram:Lx,repository:Wx,license:Bx,peerDependencies:Vx,devDependencies:jx,scripts:Ux},KI=1e-7,ZI=1e-4,zp=class{constructor(e,t){this.backend=e,this.dataMover=t,this.data=new WeakMap,this.dataIdsCount=0}get(e){return this.data.has(e)||this.dataMover.moveData(this.backend,e),this.data.get(e)}set(e,t){this.dataIdsCount++,this.data.set(e,t)}has(e){return this.data.has(e)}delete(e){return this.dataIdsCount--,this.data.delete(e)}numDataIds(){return this.dataIdsCount}},ku=class{refCount(e){return la("refCount")}incRef(e){return la("incRef")}timerAvailable(){return!0}time(e){return la("time")}read(e){return la("read")}readSync(e){return la("readSync")}numDataIds(){return la("numDataIds")}disposeData(e,t){return la("disposeData")}write(e,t,n){return la("write")}move(e,t,n,a,r){return la("move")}memory(){return la("memory")}floatPrecision(){return la("floatPrecision")}epsilon(){return this.floatPrecision()===32?KI:ZI}dispose(){return la("dispose")}};function la(e){throw new Error(`'${e}' not yet implemented or not found in the registry. This kernel may not be supported by the tfjs backend you have chosen`)}function Hx(e){let t=e.length,n=0,a=0;for(;t>0;)a=Math.random()*t|0,t--,n=e[t],e[t]=e[a],e[a]=n}function YI(e,t){if(e.length!==t.length)throw new Error(`Array sizes must match to be shuffled together First array length was ${e.length}Second array length was ${t.length}`);let n=e.length,a,r,s=0;for(;n>0;)s=Math.random()*n|0,n--,a=e[n],r=t[n],e[n]=e[s],t[n]=t[s],e[s]=a,t[s]=r}function Iu(e,t,n){return Math.max(e,Math.min(t,n))}function JI(e){return e%2==0?e:e+1}function QI(e){let t=0;for(let n=0;nn+` Shapes ${e} and ${t} must match`)}function ps(e){F(e!=null,()=>"The input to the tensor constructor must be a non-null value.")}function cs(e,t=[],n=!1){if(t==null&&(t=[]),Array.isArray(e)||an(e)&&!n)for(let a=0;a0,n){return new Promise((a,r)=>{let s=0,i=()=>{if(e()){a();return}s++;let o=t(s);if(n!=null&&s>=n){r();return}setTimeout(i,o)};i()})}function oS(e,t){let n=1,a=-1;for(let s=0;s=0)n*=e[s];else if(e[s]===-1){if(a!==-1)throw Error(`Shapes can only have 1 implicit size. Found -1 at dim ${a} and dim ${s}`);a=s}else if(e[s]<0)throw Error(`Shapes can not be < 0. Found ${e[s]} at dim ${s}`);if(a===-1){if(t>0&&t!==n)throw Error(`Size(${t}) must match the product of shape ${e}`);return e}if(n===0)throw Error(`Cannot infer the missing size in [${e}] when there are 0 elements`);if(t%n!=0)throw Error(`The implicit shape can't be a fractional number. Got ${t} / ${n}`);let r=e.slice();return r[a]=t/n,r}function ua(e,t){let n=t.length;return e=e==null?t.map((a,r)=>r):[].concat(e),F(e.every(a=>a>=-n&&a`All values in axis param must be in range [-${n}, ${n}) but got axis ${e}`),F(e.every(a=>Ht(a)),()=>`All values in axis param must be integers but got axis ${e}`),e.map(a=>a<0?n+a:a)}function Gx(e,t){let n=[],a=[],r=t!=null&&Array.isArray(t)&&t.length===0,s=t==null||r?null:ua(t,e).sort(),i=0;for(let o=0;oo)&&e[o]===1&&(n.push(e[o]),a.push(o)),s[i]<=o&&i++}e[o]!==1&&(n.push(e[o]),a.push(o))}return{newShape:n,keptDims:a}}function qx(e,t){let n=null;if(e==null||e==="float32")n=new Float32Array(t);else if(e==="int32")n=new Int32Array(t);else if(e==="bool")n=new Uint8Array(t);else throw new Error(`Unknown data type ${e}`);return n}function Xx(e,t){let n=null;if(e==null||e==="float32")n=new Float32Array(t);else if(e==="int32")n=new Int32Array(t);else if(e==="bool")n=new Uint8Array(t);else if(e==="string")n=new Array(t);else throw new Error(`Unknown data type ${e}`);return n}function Kx(e,t){for(let n=0;nt+=n.length),t}function Cr(e){return typeof e=="string"||e instanceof String}function Jx(e){return typeof e=="boolean"}function Qx(e){return typeof e=="number"}function Op(e){return Array.isArray(e)?Op(e[0]):e instanceof Float32Array?"float32":e instanceof Int32Array||e instanceof Uint8Array?"int32":Qx(e)?"float32":Cr(e)?"string":Jx(e)?"bool":"float32"}function Rr(e){return!!(e&&e.constructor&&e.call&&e.apply)}function _p(e,t){for(let n=t;n=0;--a)n[a]=n[a+1]*e[a+1];return n}function eb(e,t,n,a=!1){let r=new Array;if(t.length===1){let s=t[0]*(a?2:1);for(let i=0;iu*l)*(a?2:1);for(let u=0;ur*s)*(n?2:1);if(a===0)return[];if(a!==t.length)throw new Error(`[${e}] does not match the input size ${t.length}${n?" for a complex tensor":""}.`);return eb(0,e,t,n)}function Em(e,t){let n=Pp(e,t);for(let a=0;aa*r,1);if(t==null||t==="float32")return io(e,new Float32Array(n));if(t==="int32")return io(e,new Int32Array(n));if(t==="bool")return io(e,new Uint8Array(n));throw new Error(`Unknown data type ${t}`)}function Cm(e){e.forEach(t=>{F(Number.isInteger(t)&&t>=0,()=>`Tensor must have a shape comprised of positive integers but got shape [${e}].`)})}function dS(e,t,n){if(t===0)return 0;if(t===1)return e[0];let a=e[e.length-1];for(let r=0;r{let[n,a]=t.split(":");this.urlFlags[n]=fS(n,a)})}};function cS(e){let t={};return e.replace(/[?&]([^=?&]+)(?:=([^&]*))?/g,(n,...a)=>(hS(t,a[0],a[1]),a.join("="))),t}function hS(e,t,n){e[decodeURIComponent(t)]=decodeURIComponent(n||"")}function fS(e,t){if(t=t.toLowerCase(),t==="true"||t==="false")return t==="true";if(`${+t}`===t)return+t;throw new Error(`Could not parse value flag value ${t} for flag ${e}.`)}function J(){return Qn}var Qn=null;function mS(e){Qn=e}var Mm;function ab(){if(Mm==null){let e;if(typeof window!="undefined")e=window;else if(typeof global!="undefined")e=global;else if(typeof process!="undefined")e=process;else if(typeof self!="undefined")e=self;else throw new Error("Could not find a global object");Mm=e}return Mm}function yS(){let e=ab();return e._tfGlobals==null&&(e._tfGlobals=new Map),e._tfGlobals}function Fm(e,t){let n=yS();if(n.has(e))return n.get(e);{let a=t();return n.set(e,a),n.get(e)}}var oo="Abs",lo="Acos",uo="Acosh",Mr="Add",hs="AddN",po="All",co="Any",fs="ArgMax",Nu="ArgMin",ho="Asin",fo="Asinh",mo="Atan",yo="Atanh",Ao="Atan2",ms="AvgPool",Lp="AvgPoolGrad",Tu="AvgPool3D",Wp="AvgPool3DGrad",ys="BatchMatMul",Eu="BatchToSpaceND",Bp="Bincount",rb="BroadcastTo",As="Cast",gs="Ceil",Fr="ClipByValue",Vp="Complex",Cu="ComplexAbs",go="Concat",xs="Conv2D",jp="Conv2DBackpropFilter",bs="Conv2DBackpropInput",Ru="Conv3D",Up="Conv3DBackpropFilterV2",Hp="Conv3DBackpropInputV2",vs="Cos",xo="Cosh",ws="Cumsum",bo="CropAndResize",Gp="DenseBincount",vo="DepthToSpace",ks="DepthwiseConv2dNative",qp="DepthwiseConv2dNativeBackpropFilter",Xp="DepthwiseConv2dNativeBackpropInput",Kp="Diag",Mu="Dilation2D",Zp="Dilation2DBackpropInput",Yp="Dilation2DBackpropFilter",Is="RealDiv",Jp="Einsum",wo="Elu",Qp="EluGrad",ko="Erf",Io="Equal",Ss="Exp",So="ExpandDims",No="Expm1",ec="FFT",Fu="Fill",To="FlipLeftRight",Ns="Floor",Ts="FloorDiv",Es="FusedBatchNorm",Eo="GatherV2",Co="GatherNd",Ro="Greater",Cs="GreaterEqual",Rs="Identity",tc="IFFT",nc="Imag",Mo="IsFinite",Fo="IsInf",$o="IsNan",Ms="LeakyRelu",Do="Less",zo="LessEqual",ac="LinSpace",Fs="Log",Oo="Log1p",_o="LogicalAnd",$u="LogicalNot",Du="LogicalOr",sb="LogSoftmax",zu="LRN",rc="LRNGrad",$s="Max",Ds="Maximum",zs="MaxPool",sc="MaxPoolGrad",Ou="MaxPool3D",ic="MaxPool3DGrad",oc="MaxPoolWithArgmax",Os="Mean",_s="Min",Ps="Minimum",Ls="MirrorPad",Po="Mod",lc="Multinomial",Ws="Multiply",Lo="Neg",Wo="NotEqual",Bo="NonMaxSuppressionV3",Vo="NonMaxSuppressionV4",jo="NonMaxSuppressionV5",Uo="OnesLike",Bs="OneHot",Ho="Pack",Vs="PadV2",AS="Pool",js="Pow",Us="Prelu",Go="Prod",_u="Range",uc="Real",qo="Reciprocal",Hs="Relu",Xo="Reshape",Pu="ResizeNearestNeighbor",dc="ResizeNearestNeighborGrad",Gs="ResizeBilinear",pc="ResizeBilinearGrad",qs="Relu6",Xs="Reverse",Ks="Round",Zs="Rsqrt",Ko="ScatterNd",Zo="Select",Yo="Selu",Jo="Slice",Ys="Sin",Qo="Sinh",el="Sign",Js="Sigmoid",tl="Softplus",Qs="Sqrt",ei="Sum",Lu="SpaceToBatchND",nl="SplitV",ti="Softmax",cc="SparseFillEmptyRows",hc="SparseReshape",fc="SparseToDense",ni="SquaredDifference",Wu="Square",al="StridedSlice",ai="Sub",ri="Tan",si="Tanh",$r="Tile",rl="TopK",sl="Transform",ii="Transpose",mc="Unique",il="Unpack",Bu="UnsortedSegmentSum",ol="ZerosLike",Dr="Step",yc="FromPixels",ll="RotateWithOffset",oi="_FusedMatMul",li="FusedConv2D",ui="FusedDepthwiseConv2D",ul=Fm("kernelRegistry",()=>new Map),Vu=Fm("gradRegistry",()=>new Map);function Ac(e,t){let n=Dm(e,t);return ul.get(n)}function $m(e){return Vu.get(e)}function dl(e){let t=ul.entries(),n=[];for(;;){let{done:a,value:r}=t.next();if(a)break;let[s,i]=r,[o]=s.split("_");o===e&&n.push(i)}return n}function di(e){let{kernelName:t,backendName:n}=e,a=Dm(t,n);ul.has(a)&&console.warn(`The kernel '${t}' for backend '${n}' is already registered`),ul.set(a,e)}function ib(e){let{kernelName:t}=e;Vu.has(t)&&J().getBool("DEBUG")&&console.warn(`Overriding the gradient for '${t}'`),Vu.set(t,e)}function gS(e,t){let n=Dm(e,t);if(!ul.has(n))throw new Error(`The kernel '${e}' for backend '${t}' is not registered`);ul.delete(n)}function xS(e){if(!Vu.has(e))throw new Error(`The gradient '${e}' for backend is not registered`);Vu.delete(e)}function bS(e,t){dl(e).forEach(n=>{let a=Object.assign({},n,{backendName:t});di(a)})}function Dm(e,t){return`${t}_${e}`}var k={};Fe(k,{arraysEqual:()=>lr,assert:()=>F,assertNonNegativeIntegerDimensions:()=>Cm,assertNonNull:()=>ps,assertShapesMatch:()=>ln,bytesFromStringArray:()=>Yx,bytesPerElement:()=>Tm,checkConversionForErrors:()=>Kx,clamp:()=>Iu,computeStrides:()=>so,createScalarValue:()=>vS,createShuffledIndices:()=>sS,decodeString:()=>xc,distSquared:()=>tS,encodeString:()=>Uu,fetch:()=>kS,flatten:()=>cs,getArrayFromDType:()=>Xx,getTypedArrayFromDType:()=>qx,hasEncodingLoss:()=>lS,indexToLoc:()=>pS,inferDtype:()=>Op,inferFromImplicitShape:()=>oS,isBoolean:()=>Jx,isFunction:()=>Rr,isInt:()=>Ht,isNumber:()=>Qx,isPromise:()=>Rm,isScalarShape:()=>nS,isString:()=>Cr,isTypedArray:()=>an,isValidDtype:()=>Zx,locToIndex:()=>dS,makeOnesTypedArray:()=>Em,makeZerosNestedTypedArray:()=>uS,makeZerosTypedArray:()=>Pp,nearestDivisor:()=>_p,nearestLargerEven:()=>JI,now:()=>ju,parseAxisParam:()=>ua,randUniform:()=>eS,repeatedTry:()=>iS,rightPad:()=>Su,shuffle:()=>Hx,shuffleCombo:()=>YI,sizeFromShape:()=>Rt,sizeToSquarishShape:()=>rS,squeezeShape:()=>Gx,sum:()=>QI,tanh:()=>aS,toNestedArray:()=>io,toTypedArray:()=>gc});function vS(e,t){return t==="string"?Uu(e):gc([e],t)}function wS(e,t){return e instanceof Float32Array&&t==="float32"||e instanceof Int32Array&&t==="int32"||e instanceof Uint8Array&&t==="bool"}function gc(e,t){if(t==="string")throw new Error("Cannot convert a string[] to a TypedArray");if(Array.isArray(e)&&(e=cs(e)),J().getBool("DEBUG")&&Kx(e,t),wS(e,t))return e;if(t==null||t==="float32"||t==="complex64")return new Float32Array(e);if(t==="int32")return new Int32Array(e);if(t==="bool"){let n=new Uint8Array(e.length);for(let a=0;a{a=n()},s,i=ju();if(this.backendTimer.timerAvailable())s=this.backendTimer.time(r);else{r();for(let o of a)o.dataSync();s=Promise.resolve({kernelMs:ju()-i})}if(J().getBool("CHECK_COMPUTATION_FOR_ERRORS"))for(let o=0;o{SS(l,u.dtype,e)})}return{kernelName:e,outputs:a,inputs:t,timeMs:s.then(o=>o.kernelMs),extraInfo:s.then(o=>o.getExtraProfileInfo!=null?o.getExtraProfileInfo():"")}}logKernelProfile(e){let{kernelName:t,outputs:n,timeMs:a,inputs:r,extraInfo:s}=e;n.forEach(i=>{Promise.all([i.data(),a,s]).then(o=>{this.logger.logKernelProfile(t,i,o[0],o[1],r,o[2])})})}};function SS(e,t,n){if(t!=="float32")return!1;for(let a=0;a0?m:""} `}}console.log(`%c${o} %c${i} %c${u}D ${d} %c${l} %c${p} %c${s}`,"font-weight:bold","color:red","color:blue","color: orange","color: green","color: steelblue")}};function TS(e,t,n){let a={},r={};for(let u=0;ua[f.id]=!0),h=!0,r[l.id]=!0;break}if(h)break}}let s={};s[n.id]=!0;let i={};for(let u=e.length-1;u>=0;u--){let l=e[u],d=l.inputs;for(let p=0;p=0;r--){let s=t[r],i=[];if(s.outputs.forEach(u=>{let l=e[u.id];l!=null?i.push(l):i.push(null)}),s.gradient==null)throw new Error(`Cannot compute gradient: gradient function not found for ${s.kernelName}.`);let o=s.gradient(i);for(let u in s.inputs){if(!(u in o))throw new Error(`Cannot backprop through input ${u}. Available gradients found: ${Object.keys(o)}.`);let l=n(()=>o[u]());if(l.dtype!=="float32")throw new Error(`Error in gradient for op ${s.kernelName}. The gradient of input ${u} must have 'float32' dtype, but has '${l.dtype}'`);let d=s.inputs[u];if(!lr(l.shape,d.shape))throw new Error(`Error in gradient for op ${s.kernelName}. The gradient of input '${u}' has shape '${l.shape}', which does not match the shape of the input '${d.shape}'`);if(e[d.id]==null)e[d.id]=l;else{let p=e[d.id];e[d.id]=a(p,l),p.dispose()}}}}var ob=20,Hu=3,zm=7;function CS(e,t,n,a){let r=so(t),s=RS(e,t,n,r),i=t.length,o=bc(e,t,n,r,s),u=["Tensor"];return a&&(u.push(` dtype: ${n}`),u.push(` rank: ${i}`),u.push(` shape: [${t}]`),u.push(" values:")),u.push(o.map(l=>" "+l).join(` -`)),u.join(` -`)}function RS(e,t,n,a){let r=Rt(t),s=a[a.length-1],i=new Array(s).fill(0),o=t.length,u=n==="complex64"?qu(e):e;if(o>1)for(let l=0;lob){let y=Hu*i,A=Array.from(e.slice(0,y)),g=Array.from(e.slice((o-Hu)*i,o*i));return n==="complex64"&&(A=qu(A),g=qu(g)),["["+A.map((x,w)=>Gu(x,r[w],n)).join(", ")+", ..., "+g.map((x,w)=>Gu(x,r[o-Hu+w],n)).join(", ")+"]"]}let f=n==="complex64"?qu(e):Array.from(e);return["["+f.map((y,A)=>Gu(y,r[A],n)).join(", ")+"]"]}let l=t.slice(1),d=a.slice(1),p=a[0]*i,c=[];if(o>ob){for(let f=0;f`Length of values '${a}' does not match the size inferred by the shape '${this.size}'.`)}if(t==="complex64")throw new Error("complex64 dtype TensorBuffers are not supported. Please create a TensorBuffer for the real and imaginary parts separately and call tf.complex(real, imag).");this.values=n||Xx(t,this.size),this.strides=so(e)}set(e,...t){t.length===0&&(t=[0]),F(t.length===this.rank,()=>`The number of provided coordinates (${t.length}) must match the rank (${this.rank})`);let n=this.locToIndex(t);this.values[n]=e}get(...e){e.length===0&&(e=[0]);let t=0;for(let a of e){if(a<0||a>=this.shape[t]){let r=`Requested out of range element at ${e}. Buffer shape=${this.shape}`;throw new Error(r)}t++}let n=e[e.length-1];for(let a=0;axc(n))}catch(n){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}}return e}dataSync(){this.throwIfDisposed();let e=La().readSync(this.dataId);if(this.dtype==="string")try{return e.map(t=>xc(t))}catch(t){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}return e}async bytes(){this.throwIfDisposed();let e=await La().read(this.dataId);return this.dtype==="string"?e:new Uint8Array(e.buffer)}dispose(){this.isDisposed||(La().disposeTensor(this),this.isDisposedInternal=!0)}get isDisposed(){return this.isDisposedInternal}throwIfDisposed(){if(this.isDisposed)throw new Error("Tensor is disposed.")}print(e=!1){return pl.print(this,e)}clone(){return this.throwIfDisposed(),pl.clone(this)}toString(e=!1){let t=this.dataSync();return CS(t,this.shape,this.dtype,e)}cast(e){return this.throwIfDisposed(),pl.cast(this,e)}variable(e=!0,t,n){return this.throwIfDisposed(),La().makeVariable(this,e,t,n)}};Object.defineProperty(We,Symbol.hasInstance,{value:e=>!!e&&e.data!=null&&e.dataSync!=null&&e.throwIfDisposed!=null});function Z(){return Fm("Tensor",()=>We)}Z();var Xu=class extends We{constructor(e,t,n,a){super(e.shape,e.dtype,e.dataId,a);this.trainable=t,this.name=n}assign(e){if(e.dtype!==this.dtype)throw new Error(`dtype of the new value (${e.dtype}) and previous value (${this.dtype}) must match`);if(!lr(e.shape,this.shape))throw new Error(`shape of the new value (${e.shape}) and previous value (${this.shape}) must match`);La().disposeTensor(this),this.dataId=e.dataId,La().incRef(this,null)}dispose(){La().disposeVariable(this),this.isDisposedInternal=!0}};Object.defineProperty(Xu,Symbol.hasInstance,{value:e=>e instanceof We&&e.assign!=null&&e.assign instanceof Function});var ba={};Fe(ba,{assertTypesMatch:()=>ub,getTensorsInContainer:()=>Bm,isTensorInList:()=>OS,makeTypesMatch:()=>kt});var Om;(function(e){e.R0="R0",e.R1="R1",e.R2="R2",e.R3="R3",e.R4="R4",e.R5="R5",e.R6="R6"})(Om||(Om={}));var _m;(function(e){e.float32="float32",e.int32="int32",e.bool="int32",e.complex64="complex64"})(_m||(_m={}));var Pm;(function(e){e.float32="float32",e.int32="int32",e.bool="bool",e.complex64="complex64"})(Pm||(Pm={}));var Lm;(function(e){e.float32="float32",e.int32="float32",e.bool="float32",e.complex64="complex64"})(Lm||(Lm={}));var Wm;(function(e){e.float32="complex64",e.int32="complex64",e.bool="complex64",e.complex64="complex64"})(Wm||(Wm={}));var zS={float32:Lm,int32:_m,bool:Pm,complex64:Wm};function da(e,t){if(e==="string"||t==="string"){if(e==="string"&&t==="string")return"string";throw new Error(`Can not upcast ${e} with ${t}`)}return zS[e][t]}function vc(e){return da(e,"int32")}function kt(e,t){if(e.dtype===t.dtype)return[e,t];let n=da(e.dtype,t.dtype);return[e.cast(n),t.cast(n)]}function ub(e,t){F(e.dtype===t.dtype,()=>`The dtypes of the first(${e.dtype}) and second(${t.dtype}) input must match`)}function OS(e,t){return t.some(n=>n.id===e.id)}function Bm(e){let t=[],n=new Set;return db(e,t,n),t}function db(e,t,n){if(e==null)return;if(e instanceof We){t.push(e);return}if(!_S(e))return;let a=e;for(let r in a){let s=a[r];n.has(s)||(n.add(s),db(s,t,n))}}function _S(e){return Array.isArray(e)||typeof e=="object"}function Vm(e){return e.kernelName!=null}var pb=class{constructor(){this.registeredVariables={},this.nextTapeNodeId=0,this.numBytes=0,this.numTensors=0,this.numStringTensors=0,this.numDataBuffers=0,this.gradientDepth=0,this.kernelDepth=0,this.scopeStack=[],this.numDataMovesStack=[],this.nextScopeId=0,this.tensorInfo=new WeakMap,this.profiling=!1,this.activeProfile={newBytes:0,newTensors:0,peakBytes:0,kernels:[],result:null,get kernelNames(){return Array.from(new Set(this.kernels.map(e=>e.name)))}}}dispose(){for(let e in this.registeredVariables)this.registeredVariables[e].dispose()}},Ku=class{constructor(e){this.ENV=e,this.registry={},this.registryFactory={},this.pendingBackendInitId=0,this.state=new pb}async ready(){if(this.pendingBackendInit!=null)return this.pendingBackendInit.then(()=>{});if(this.backendInstance!=null)return;let e=this.getSortedBackends();for(let t=0;t{e.setupFunc!=null&&e.setupFunc(this.backendInstance)})}disposeRegisteredKernels(e){dl(e).forEach(t=>{t.disposeFunc!=null&&t.disposeFunc(this.registry[e])})}initializeBackend(e){let t=this.registryFactory[e];if(t==null)throw new Error(`Cannot initialize backend ${e}, no registration found.`);try{let n=t.factory();if(n&&!(n instanceof ku)&&typeof n.then=="function"){let a=++this.pendingBackendInitId,r=n.then(s=>a(athis.registryFactory[t].priority-this.registryFactory[e].priority)}initializeBackendsAndReturnBest(){let e=this.getSortedBackends();for(let t=0;tthis.startScope(n),()=>this.endScope(a),()=>(a=t(),a instanceof Promise&&console.error("Cannot return a Promise inside of tidy."),a))}scopedRun(e,t,n){e();try{let a=n();return t(),a}catch(a){throw t(),a}}nextTensorId(){return Ku.nextTensorId++}nextVariableId(){return Ku.nextVariableId++}clone(e){let t=_.runKernel(Rs,{x:e}),n={x:e},a=s=>({x:()=>{let i="float32",o={x:s},u={dtype:i};return _.runKernel(As,o,u)}}),r=[];return this.addTapeNode(this.state.activeScope.name,n,[t],a,r,{}),t}runKernel(e,t,n){if(Ac(e,this.backendName)==null)throw new Error(`Kernel '${e}' not registered for backend '${this.backendName}'`);return this.runKernelFunc({kernelName:e,inputs:t,attrs:n})}shouldCheckForMemLeaks(){return this.ENV.getBool("IS_TEST")}checkKernelForMemLeak(e,t,n){let a=this.backend.numDataIds(),r=0;n.forEach(o=>{r+=o.dtype==="complex64"?3:1});let s=this.state.numDataMovesStack[this.state.numDataMovesStack.length-1],i=a-t-r-s;if(i>0)throw new Error(`Backend '${this.backendName}' has an internal memory leak (${i} data ids) after running '${e}'`)}runKernelFunc(e){let t,n=[],a=this.isTapeOn(),r=this.state.numBytes,s=this.state.numTensors;this.shouldCheckForMemLeaks()&&this.state.numDataMovesStack.push(0);let i;this.backendName==null&&this.backend;let o,u=Vm(e)?e.kernelName:this.state.activeScope!=null?this.state.activeScope.name:"";if(Vm(e)){let{kernelName:h,inputs:m,attrs:f}=e;this.backendName==null&&this.backend;let y=Ac(h,this.backendName);F(y!=null,()=>`Cannot find registered kernel '${h}' for backend '${this.backendName}'`),i=()=>{let A=this.backend.numDataIds();o=y.kernelFunc({inputs:m,attrs:f,backend:this.backend});let g=Array.isArray(o)?o:[o];this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(h,A,g);let x=g.map(w=>{if(w.rank!=null)return w;let{dataId:b,shape:v,dtype:N}=w;return this.makeTensorFromDataId(b,v,N)});if(a){let w=this.getTensorsForGradient(h,m,x);n=this.saveTensorsForBackwardMode(w)}return x}}else{let{forwardFunc:h}=e,m=f=>{!a||(n=f.map(y=>this.keep(this.clone(y))))};i=()=>{let f=this.backend.numDataIds();o=this.tidy(()=>h(this.backend,m));let y=Array.isArray(o)?o:[o];return this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(u,f,y),y}}let{inputs:l,attrs:d}=e,p=Vm(e)?null:e.backwardsFunc,c;return this.scopedRun(()=>this.state.kernelDepth++,()=>this.state.kernelDepth--,()=>{!this.ENV.getBool("DEBUG")&&!this.state.profiling?t=i():(c=this.profiler.profileKernel(u,l,()=>i()),this.ENV.getBool("DEBUG")&&this.profiler.logKernelProfile(c),t=c.outputs)}),a&&this.addTapeNode(u,l,t,p,n,d),this.state.profiling&&this.state.activeProfile.kernels.push({name:u,bytesAdded:this.state.numBytes-r,totalBytesSnapshot:this.state.numBytes,tensorsAdded:this.state.numTensors-s,totalTensorsSnapshot:this.state.numTensors,inputShapes:Object.keys(l).map(h=>l[h]!=null?l[h].shape:null),outputShapes:t.map(h=>h.shape),kernelTimeMs:c.timeMs,extraInfo:c.extraInfo}),Array.isArray(o)?t:t[0]}saveTensorsForBackwardMode(e){return e.map(t=>this.keep(this.clone(t)))}getTensorsForGradient(e,t,n){let a=$m(e);if(a!=null){let r=a.inputsToSave||[],s=a.outputsToSave||[],i;a.saveAllInputs?(F(Array.isArray(t),()=>"saveAllInputs is true, expected inputs to be an array."),i=Object.keys(t).map(u=>t[u])):i=r.map(u=>t[u]);let o=n.filter((u,l)=>s[l]);return i.concat(o)}return[]}makeTensor(e,t,n,a){if(e==null)throw new Error("Values passed to engine.makeTensor() are null");n=n||"float32",a=a||this.backend;let r=e;n==="string"&&Cr(e[0])&&(r=e.map(o=>Uu(o)));let s=a.write(r,t,n),i=new We(t,n,s,this.nextTensorId());if(this.trackTensor(i,a),n==="string"){let o=this.state.tensorInfo.get(s),u=Yx(r);this.state.numBytes+=u-o.bytes,o.bytes=u}return i}makeTensorFromDataId(e,t,n,a){n=n||"float32";let r=new We(t,n,e,this.nextTensorId());return this.trackTensor(r,a),r}makeVariable(e,t=!0,n,a){n=n||this.nextVariableId().toString(),a!=null&&a!==e.dtype&&(e=e.cast(a));let r=new Xu(e,t,n,this.nextTensorId());if(this.state.registeredVariables[r.name]!=null)throw new Error(`Variable with name ${r.name} was already registered`);return this.state.registeredVariables[r.name]=r,this.incRef(r,this.backend),r}trackTensor(e,t){this.state.numTensors++,e.dtype==="string"&&this.state.numStringTensors++;let n=0;e.dtype!=="complex64"&&e.dtype!=="string"&&(n=e.size*Tm(e.dtype)),this.state.numBytes+=n,this.state.tensorInfo.has(e.dataId)||(this.state.numDataBuffers++,this.state.tensorInfo.set(e.dataId,{backend:t||this.backend,dtype:e.dtype,shape:e.shape,bytes:n})),e instanceof Xu||this.track(e)}incRef(e,t){this.trackTensor(e,t),this.backend.incRef(e.dataId)}removeDataId(e,t){this.state.tensorInfo.has(e)&&this.state.tensorInfo.get(e).backend===t&&(this.state.tensorInfo.delete(e),this.state.numDataBuffers--)}disposeTensor(e){if(!this.state.tensorInfo.has(e.dataId))return;let t=this.state.tensorInfo.get(e.dataId);if(this.state.numTensors--,e.dtype==="string"&&(this.state.numStringTensors--,this.state.numBytes-=t.bytes),e.dtype!=="complex64"&&e.dtype!=="string"){let n=e.size*Tm(e.dtype);this.state.numBytes-=n}t.backend.disposeData(e.dataId)&&this.removeDataId(e.dataId,t.backend)}disposeVariables(){for(let e in this.state.registeredVariables){let t=this.state.registeredVariables[e];this.disposeVariable(t)}}disposeVariable(e){this.disposeTensor(e),this.state.registeredVariables[e.name]!=null&&delete this.state.registeredVariables[e.name]}memory(){let e=this.backend.memory();return e.numTensors=this.state.numTensors,e.numDataBuffers=this.state.numDataBuffers,e.numBytes=this.state.numBytes,this.state.numStringTensors>0&&(e.unreliable=!0,e.reasons==null&&(e.reasons=[]),e.reasons.push("Memory usage by string tensors is approximate (2 bytes per character)")),e}async profile(e){this.state.profiling=!0;let t=this.state.numBytes,n=this.state.numTensors;this.state.activeProfile.kernels=[],this.state.activeProfile.result=await e(),this.state.profiling=!1,this.state.activeProfile.peakBytes=Math.max(...this.state.activeProfile.kernels.map(a=>a.totalBytesSnapshot)),this.state.activeProfile.newBytes=this.state.numBytes-t,this.state.activeProfile.newTensors=this.state.numTensors-n;for(let a of this.state.activeProfile.kernels)a.kernelTimeMs=await a.kernelTimeMs,a.extraInfo=await a.extraInfo;return this.state.activeProfile}isTapeOn(){return this.state.gradientDepth>0&&this.state.kernelDepth===0}addTapeNode(e,t,n,a,r,s){let i={id:this.state.nextTapeNodeId++,kernelName:e,inputs:t,outputs:n,saved:r},o=$m(e);o!=null&&(a=o.gradFunc),a!=null&&(i.gradient=u=>(u=u.map((l,d)=>{if(l==null){let p=n[d],c=Pp(p.size,p.dtype);return this.makeTensor(c,p.shape,p.dtype)}return l}),a(u.length>1?u:u[0],r,s))),this.state.activeTape.push(i)}keep(e){return e.kept=!0,e}startTape(){this.state.gradientDepth===0&&(this.state.activeTape=[]),this.state.gradientDepth++}endTape(){this.state.gradientDepth--}startScope(e){let t={track:[],name:"unnamed scope",id:this.state.nextScopeId++};e&&(t.name=e),this.state.scopeStack.push(t),this.state.activeScope=t}endScope(e){let t=Bm(e),n=new Set(t.map(r=>r.id));for(let r=0;r{!r.kept&&r.scopeId===a.id&&this.track(r)})}gradients(e,t,n,a=!1){if(F(t.length>0,()=>"gradients() received an empty list of xs."),n!=null&&n.dtype!=="float32")throw new Error(`dy must have 'float32' dtype, but has '${n.dtype}'`);let r=this.scopedRun(()=>this.startTape(),()=>this.endTape(),()=>this.tidy("forward",e));F(r instanceof We,()=>"The result y returned by f() must be a tensor.");let s=TS(this.state.activeTape,t,r);if(!a&&s.length===0&&t.length>0)throw new Error("Cannot compute gradient of y=f(x) with respect to x. Make sure that the f you passed encloses all operations that lead from x to y.");return this.tidy("backward",()=>{let i={};i[r.id]=n==null?PS(r.shape):n,ES(i,s,u=>this.tidy(u),LS);let o=t.map(u=>i[u.id]);return this.state.gradientDepth===0&&(this.state.activeTape.forEach(u=>{for(let l of u.saved)l.dispose()}),this.state.activeTape=null),{value:r,grads:o}})}customGrad(e){return F(Rr(e),()=>"The f passed in customGrad(f) must be a function."),(...t)=>{F(t.every(i=>i instanceof We),()=>"The args passed in customGrad(f)(x1, x2,...) must all be tensors");let n,a={};t.forEach((i,o)=>{a[o]=i});let r=(i,o)=>(n=e(...t,o),F(n.value instanceof We,()=>"The function f passed in customGrad(f) must return an object where `obj.value` is a tensor"),F(Rr(n.gradFunc),()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function."),n.value),s=(i,o)=>{let u=n.gradFunc(i,o),l=Array.isArray(u)?u:[u];F(l.length===t.length,()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns the same number of tensors as inputs passed to f(...)."),F(l.every(p=>p instanceof We),()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns a list of only tensors.");let d={};return l.forEach((p,c)=>{d[c]=()=>p}),d};return this.runKernelFunc({forwardFunc:r,backwardsFunc:s,inputs:a})}}readSync(e){return this.state.tensorInfo.get(e).backend.readSync(e)}read(e){return this.state.tensorInfo.get(e).backend.read(e)}async time(e){let t=ju(),n=await this.backend.time(e);return n.wallMs=ju()-t,n}track(e){return this.state.activeScope!=null&&(e.scopeId=this.state.activeScope.id,this.state.activeScope.track.push(e)),e}get registeredVariables(){return this.state.registeredVariables}reset(){this.pendingBackendInitId++,this.state.dispose(),this.ENV.reset(),this.state=new pb;for(let e in this.registry)this.disposeRegisteredKernels(e),this.registry[e].dispose(),delete this.registry[e];this.backendName=null,this.backendInstance=null,this.pendingBackendInit=null}};Ku.nextTensorId=0;Ku.nextVariableId=0;function PS(e){let t=Em(Rt(e),"float32");return _.makeTensor(t,e,"float32")}function cb(){let e=ab();if(e._tfengine==null){let t=new nb(e);e._tfengine=new Ku(t)}return mS(e._tfengine.ENV),FS(()=>e._tfengine),e._tfengine}var _=cb();function LS(e,t){let n={a:e,b:t};return _.runKernel(Mr,n)}var Zu={};Fe(Zu,{isBrowser:()=>hb,isMobile:()=>BS});function WS(){return typeof navigator!="undefined"&&navigator!=null}function BS(e){if(e||WS()){if(e||(e=navigator),e.product==="ReactNative")return!0;let t=e.userAgent||e.vendor||window.opera;return/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4))}return!1}function hb(){return typeof window!="undefined"&&window.document!=null||typeof WorkerGlobalScope!="undefined"}var va=J();va.registerFlag("DEBUG",()=>!1,e=>{e&&console.warn("Debugging mode is ON. The output of every math call will be downloaded to CPU and checked for NaNs. This significantly impacts performance.")});va.registerFlag("IS_BROWSER",()=>hb());va.registerFlag("IS_NODE",()=>typeof process!="undefined"&&typeof process.versions!="undefined"&&typeof process.versions.node!="undefined");va.registerFlag("IS_CHROME",()=>typeof navigator!="undefined"&&navigator!=null&&navigator.userAgent!=null&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor));va.registerFlag("PROD",()=>!1);va.registerFlag("TENSORLIKE_CHECK_SHAPE_CONSISTENCY",()=>va.getBool("DEBUG"));va.registerFlag("DEPRECATION_WARNINGS_ENABLED",()=>!0);va.registerFlag("IS_TEST",()=>!1);va.registerFlag("CHECK_COMPUTATION_FOR_ERRORS",()=>!0);va.registerFlag("WRAP_TO_IMAGEBITMAP",()=>!1);function Wa(e,t){let n=e;if(an(e))return t==="string"?[]:[e.length];if(!Array.isArray(e))return[];let a=[];for(;Array.isArray(n)||an(n)&&t!=="string";)a.push(n.length),n=n[0];return Array.isArray(e)&&J().getBool("TENSORLIKE_CHECK_SHAPE_CONSISTENCY")&&fb(e,a,[]),a}function fb(e,t,n){if(n=n||[],!Array.isArray(e)&&!an(e)){F(t.length===0,()=>`Element arr[${n.join("][")}] is a primitive, but should be an array/TypedArray of ${t[0]} elements`);return}F(t.length>0,()=>`Element arr[${n.join("][")}] should be a primitive, but is an array of ${e.length} elements`),F(e.length===t[0],()=>`Element arr[${n.join("][")}] should have ${t[0]} elements, but has ${e.length} elements`);let a=t.slice(1);for(let r=0;r=0&&(r=a),mb(a,r,t,n),e==null||!an(e)&&!Array.isArray(e)&&typeof e!="number"&&typeof e!="boolean"&&typeof e!="string"){let o=e==null?"null":e.constructor.name;throw new Error(`Argument '${t}' passed to '${n}' must be a Tensor or TensorLike, but got '${o}'`)}let s=Wa(e,r);!an(e)&&!Array.isArray(e)&&(e=[e]);let i=r!=="string"?gc(e,r):cs(e,[],!0);return _.makeTensor(i,s,r)}function Yu(e,t,n,a="numeric"){if(!Array.isArray(e))throw new Error(`Argument ${t} passed to ${n} must be a \`Tensor[]\` or \`TensorLike[]\``);return e.map((r,s)=>M(r,`${t}[${s}]`,n,a))}var yb="__op";function L(e){let t=Object.keys(e);if(t.length!==1)throw new Error(`Please provide an object with a single key (operation name) mapping to a function. Got an object with ${t.length} keys.`);let n=t[0],a=e[n];n.endsWith("_")&&(n=n.substring(0,n.length-1)),n=n+yb;let r=(...s)=>{_.startScope(n);try{let i=a(...s);return Rm(i)&&console.error("Cannot return a Promise inside of tidy."),_.endScope(i),i}catch(i){throw _.endScope(null),i}};return Object.defineProperty(r,"name",{value:n,configurable:!0}),r}function VS(e,t){let n=M(e,"real","complex"),a=M(t,"imag","complex");ln(n.shape,a.shape,`real and imag shapes, ${n.shape} and ${a.shape}, must match in call to tf.complex().`);let r={real:n,imag:a};return _.runKernel(Vp,r)}var zr=L({complex_:VS});function Or(e,t,n,a){if(a==null&&(a=Op(e)),a==="complex64")throw new Error("Cannot construct a complex64 tensor directly. Please use tf.complex(real, imag).");if(!an(e)&&!Array.isArray(e)&&typeof e!="number"&&typeof e!="boolean"&&typeof e!="string")throw new Error("values passed to tensor(values) must be a number/boolean/string or an array of numbers/booleans/strings, or a TypedArray");if(t!=null){Cm(t);let r=Rt(t),s=Rt(n);F(r===s,()=>`Based on the provided shape, [${t}], the tensor should have ${r} values but has ${s}`);for(let i=0;i`Error creating a new Tensor. Inferred shape (${n}) does not match the provided shape (${t}). `)}}return!an(e)&&!Array.isArray(e)&&(e=[e]),t=t||n,e=a!=="string"?gc(e,a):cs(e,[],!0),_.makeTensor(e,t,a)}function pa(e,t,n){let a=Wa(e,n);return Or(e,t,a,n)}var jm={float32:4,float16:2,int32:4,uint16:2,uint8:1,bool:1,complex64:8},wc=4;async function jS(e,t){let n=[],a=[],r=Array.isArray(e)?e.map(i=>i.name):Object.keys(e);for(let i=0;i{let c=await u.bytes(),h=c.reduce((y,A)=>y+A.length,0)+wc*c.length,m=new Uint8Array(h),f=0;for(let y=0;y{if(t+=s.byteLength,n.push(s.byteLength===s.buffer.byteLength?s:new s.constructor(s)),!(s instanceof Float32Array||s instanceof Int32Array||s instanceof Uint8Array))throw new Error(`Unsupported TypedArray subtype: ${s.constructor.name}`)});let a=new Uint8Array(t),r=0;return n.forEach(s=>{a.set(new Uint8Array(s.buffer),r),r+=s.byteLength}),a.buffer}var Um=typeof Buffer!="undefined"&&(typeof Blob=="undefined"||typeof atob=="undefined"||typeof btoa=="undefined");function gb(e){return Um?Buffer.byteLength(e):new Blob([e]).size}function HS(e){if(Um)return Buffer.from(e).toString("base64");let t=new Uint8Array(e),n="";for(let a=0,r=t.length;a{t+=r.byteLength});let n=new Uint8Array(t),a=0;return e.forEach(r=>{n.set(new Uint8Array(r),a),a+=r.byteLength}),n.buffer}function xb(e){let t="/";for(e=e.trim();e.endsWith(t);)e=e.slice(0,e.length-1);let n=e.split(t);return n[n.length-1]}function Ju(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("Expected JSON model topology, received ArrayBuffer.");return{dateSaved:new Date,modelTopologyType:"JSON",modelTopologyBytes:e.modelTopology==null?0:gb(JSON.stringify(e.modelTopology)),weightSpecsBytes:e.weightSpecs==null?0:gb(JSON.stringify(e.weightSpecs)),weightDataBytes:e.weightData==null?0:e.weightData.byteLength}}function qS(){let e=n=>{let a=n<<13,r=0;for(;(a&8388608)==0;)r-=8388608,a<<=1;return a&=~8388608,r+=947912704,a|r},t=new Uint32Array(2048);t[0]=0;for(let n=1;n<1024;n++)t[n]=e(n);for(let n=1024;n<2048;n++)t[n]=939524096+(n-1024<<13);return t}function XS(){let e=new Uint32Array(64);e[0]=0,e[31]=1199570944,e[32]=2147483648,e[63]=3347054592;for(let t=1;t<31;t++)e[t]=t<<23;for(let t=33;t<63;t++)e[t]=2147483648+(t-32<<23);return e}function KS(){let e=new Uint32Array(64);for(let t=0;t<64;t++)e[t]=1024;return e[0]=e[32]=0,e}function ZS(){let e=qS(),t=XS(),n=KS();return a=>{let r=new ArrayBuffer(4*a.length),s=new Uint32Array(r);for(let i=0;i>10]+(o&1023)]+t[o>>10];s[i]=u}return new Float32Array(r)}}var Et=class{constructor(){this.saveRouters=[],this.loadRouters=[]}static getInstance(){return Et.instance==null&&(Et.instance=new Et),Et.instance}static registerSaveRouter(e){Et.getInstance().saveRouters.push(e)}static registerLoadRouter(e){Et.getInstance().loadRouters.push(e)}static getSaveHandlers(e){return Et.getHandlers(e,"save")}static getLoadHandlers(e,t){return Et.getHandlers(e,"load",t)}static getHandlers(e,t,n){let a=[];return(t==="load"?Et.getInstance().loadRouters:Et.getInstance().saveRouters).forEach(r=>{let s=r(e,n);s!==null&&a.push(s)}),a}},YS=e=>Et.registerSaveRouter(e),JS=e=>Et.registerLoadRouter(e),QS=e=>Et.getSaveHandlers(e),eN=(e,t)=>Et.getLoadHandlers(e,t),Gm="tensorflowjs",qm=1,pi="models_store",_r="model_info_store";function bb(){if(!J().getBool("IS_BROWSER"))throw new Error("Failed to obtain IndexedDB factory because the current environmentis not a web browser.");let e=typeof window=="undefined"?self:window,t=e.indexedDB||e.mozIndexedDB||e.webkitIndexedDB||e.msIndexedDB||e.shimIndexedDB;if(t==null)throw new Error("The current browser does not appear to support IndexedDB.");return t}function Xm(e){let t=e.result;t.createObjectStore(pi,{keyPath:"modelPath"}),t.createObjectStore(_r,{keyPath:"modelPath"})}var ci=class{constructor(e){if(this.indexedDB=bb(),e==null||!e)throw new Error("For IndexedDB, modelPath must not be null, undefined or empty.");this.modelPath=e}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserLocalStorage.save() does not support saving model topology in binary formats yet.");return this.databaseAction(this.modelPath,e)}async load(){return this.databaseAction(this.modelPath)}databaseAction(e,t){return new Promise((n,a)=>{let r=this.indexedDB.open(Gm,qm);r.onupgradeneeded=()=>Xm(r),r.onsuccess=()=>{let s=r.result;if(t==null){let i=s.transaction(pi,"readonly"),o=i.objectStore(pi).get(this.modelPath);o.onsuccess=()=>{if(o.result==null)return s.close(),a(new Error(`Cannot find model with path '${this.modelPath}' in IndexedDB.`));n(o.result.modelArtifacts)},o.onerror=u=>(s.close(),a(o.error)),i.oncomplete=()=>s.close()}else{let i=Ju(t),o=s.transaction(_r,"readwrite"),u=o.objectStore(_r),l=u.put({modelPath:this.modelPath,modelArtifactsInfo:i}),d;l.onsuccess=()=>{d=s.transaction(pi,"readwrite");let p=d.objectStore(pi).put({modelPath:this.modelPath,modelArtifacts:t,modelArtifactsInfo:i});p.onsuccess=()=>n({modelArtifactsInfo:i}),p.onerror=c=>{u=o.objectStore(_r);let h=u.delete(this.modelPath);h.onsuccess=()=>(s.close(),a(p.error)),h.onerror=m=>(s.close(),a(p.error))}},l.onerror=p=>(s.close(),a(l.error)),o.oncomplete=()=>{d==null?s.close():d.oncomplete=()=>s.close()}}},r.onerror=s=>a(r.error)})}};ci.URL_SCHEME="indexeddb://";var vb=e=>J().getBool("IS_BROWSER")&&!Array.isArray(e)&&e.startsWith(ci.URL_SCHEME)?tN(e.slice(ci.URL_SCHEME.length)):null;Et.registerSaveRouter(vb);Et.registerLoadRouter(vb);function tN(e){return new ci(e)}function nN(e){return e.startsWith(ci.URL_SCHEME)?e.slice(ci.URL_SCHEME.length):e}var aN=class{constructor(){this.indexedDB=bb()}async listModels(){return new Promise((e,t)=>{let n=this.indexedDB.open(Gm,qm);n.onupgradeneeded=()=>Xm(n),n.onsuccess=()=>{let a=n.result,r=a.transaction(_r,"readonly"),s=r.objectStore(_r).getAll();s.onsuccess=()=>{let i={};for(let o of s.result)i[o.modelPath]=o.modelArtifactsInfo;e(i)},s.onerror=i=>(a.close(),t(s.error)),r.oncomplete=()=>a.close()},n.onerror=a=>t(n.error)})}async removeModel(e){return e=nN(e),new Promise((t,n)=>{let a=this.indexedDB.open(Gm,qm);a.onupgradeneeded=()=>Xm(a),a.onsuccess=()=>{let r=a.result,s=r.transaction(_r,"readwrite"),i=s.objectStore(_r),o=i.get(e),u;o.onsuccess=()=>{if(o.result==null)return r.close(),n(new Error(`Cannot find model with path '${e}' in IndexedDB.`));{let l=i.delete(e),d=()=>{u=r.transaction(pi,"readwrite");let p=u.objectStore(pi).delete(e);p.onsuccess=()=>t(o.result.modelArtifactsInfo),p.onerror=c=>n(o.error)};l.onsuccess=d,l.onerror=p=>(d(),r.close(),n(o.error))}},o.onerror=l=>(r.close(),n(o.error)),s.oncomplete=()=>{u==null?r.close():u.oncomplete=()=>r.close()}},a.onerror=r=>n(a.error)})}},ur="/",cl="tensorflowjs_models",wb="info",rN="model_topology",sN="weight_specs",iN="weight_data",oN="model_metadata";function kb(e){return{info:[cl,e,wb].join(ur),topology:[cl,e,rN].join(ur),weightSpecs:[cl,e,sN].join(ur),weightData:[cl,e,iN].join(ur),modelMetadata:[cl,e,oN].join(ur)}}function lN(e){let t=e.split(ur);if(t.length<3)throw new Error(`Invalid key format: ${e}`);return t.slice(1,t.length-1).join(ur)}function uN(e){return e.startsWith(hi.URL_SCHEME)?e.slice(hi.URL_SCHEME.length):e}var hi=class{constructor(e){if(!J().getBool("IS_BROWSER")||typeof window=="undefined"||typeof window.localStorage=="undefined")throw new Error("The current environment does not support local storage.");if(this.LS=window.localStorage,e==null||!e)throw new Error("For local storage, modelPath must not be null, undefined or empty.");this.modelPath=e,this.keys=kb(this.modelPath)}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserLocalStorage.save() does not support saving model topology in binary formats yet.");{let t=JSON.stringify(e.modelTopology),n=JSON.stringify(e.weightSpecs),a=Ju(e);try{this.LS.setItem(this.keys.info,JSON.stringify(a)),this.LS.setItem(this.keys.topology,t),this.LS.setItem(this.keys.weightSpecs,n),this.LS.setItem(this.keys.weightData,HS(e.weightData));let r={format:e.format,generatedBy:e.generatedBy,convertedBy:e.convertedBy};return e.signature!=null&&(r.signature=e.signature),e.userDefinedMetadata!=null&&(r.userDefinedMetadata=e.userDefinedMetadata),e.modelInitializer!=null&&(r.modelInitializer=e.modelInitializer),this.LS.setItem(this.keys.modelMetadata,JSON.stringify(r)),{modelArtifactsInfo:a}}catch(r){throw this.LS.removeItem(this.keys.info),this.LS.removeItem(this.keys.topology),this.LS.removeItem(this.keys.weightSpecs),this.LS.removeItem(this.keys.weightData),this.LS.removeItem(this.keys.modelMetadata),new Error(`Failed to save model '${this.modelPath}' to local storage: size quota being exceeded is a possible cause of this failure: modelTopologyBytes=${a.modelTopologyBytes}, weightSpecsBytes=${a.weightSpecsBytes}, weightDataBytes=${a.weightDataBytes}.`)}}}async load(){let e=JSON.parse(this.LS.getItem(this.keys.info));if(e==null)throw new Error(`In local storage, there is no model with name '${this.modelPath}'`);if(e.modelTopologyType!=="JSON")throw new Error("BrowserLocalStorage does not support loading non-JSON model topology yet.");let t={},n=JSON.parse(this.LS.getItem(this.keys.topology));if(n==null)throw new Error(`In local storage, the topology of model '${this.modelPath}' is missing.`);t.modelTopology=n;let a=JSON.parse(this.LS.getItem(this.keys.weightSpecs));if(a==null)throw new Error(`In local storage, the weight specs of model '${this.modelPath}' are missing.`);t.weightSpecs=a;let r=this.LS.getItem(this.keys.modelMetadata);if(r!=null){let i=JSON.parse(r);t.format=i.format,t.generatedBy=i.generatedBy,t.convertedBy=i.convertedBy,i.signature!=null&&(t.signature=i.signature),i.userDefinedMetadata!=null&&(t.userDefinedMetadata=i.userDefinedMetadata),i.modelInitializer!=null&&(t.modelInitializer=i.modelInitializer)}let s=this.LS.getItem(this.keys.weightData);if(s==null)throw new Error(`In local storage, the binary weight values of model '${this.modelPath}' are missing.`);return t.weightData=GS(s),t}};hi.URL_SCHEME="localstorage://";var Ib=e=>J().getBool("IS_BROWSER")&&!Array.isArray(e)&&e.startsWith(hi.URL_SCHEME)?dN(e.slice(hi.URL_SCHEME.length)):null;Et.registerSaveRouter(Ib);Et.registerLoadRouter(Ib);function dN(e){return new hi(e)}var pN=class{constructor(){F(J().getBool("IS_BROWSER"),()=>"Current environment is not a web browser"),F(typeof window=="undefined"||typeof window.localStorage!="undefined",()=>"Current browser does not appear to support localStorage"),this.LS=window.localStorage}async listModels(){let e={},t=cl+ur,n=ur+wb;for(let a=0;a"scheme must not be undefined or null."),e.endsWith(hl)&&(e=e.slice(0,e.indexOf(hl))),F(e.length>0,()=>"scheme must not be an empty string.");let n=ea.getInstance();F(n.managers[e]==null,()=>`A model store manager is already registered for scheme '${e}'.`),n.managers[e]=t}static getManager(e){let t=this.getInstance().managers[e];if(t==null)throw new Error(`Cannot find model manager for scheme '${e}'`);return t}static getSchemes(){return Object.keys(this.getInstance().managers)}};function kc(e){if(e.indexOf(hl)===-1)throw new Error(`The url string provided does not contain a scheme. Supported schemes are: ${ea.getSchemes().join(",")}`);return{scheme:e.split(hl)[0],path:e.split(hl)[1]}}async function Sb(e,t,n=!1){F(e!==t,()=>`Old path and new path are the same: '${e}'`);let a=Et.getLoadHandlers(e);F(a.length>0,()=>`Copying failed because no load handler is found for source URL ${e}.`),F(a.length<2,()=>`Copying failed because more than one (${a.length}) load handlers for source URL ${e}.`);let r=a[0],s=Et.getSaveHandlers(t);F(s.length>0,()=>`Copying failed because no save handler is found for destination URL ${t}.`),F(s.length<2,()=>`Copying failed because more than one (${a.length}) save handlers for destination URL ${t}.`);let i=s[0],o=kc(e).scheme,u=kc(e).path,l=o===kc(e).scheme,d=await r.load();n&&l&&await ea.getManager(o).removeModel(u);let p=await i.save(d);return n&&!l&&await ea.getManager(o).removeModel(u),p.modelArtifactsInfo}async function cN(){let e=ea.getSchemes(),t={};for(let n of e){let a=await ea.getManager(n).listModels();for(let r in a){let s=n+hl+r;t[s]=a[r]}}return t}async function hN(e){let t=kc(e);return ea.getManager(t.scheme).removeModel(t.path)}async function fN(e,t){return Sb(e,t,!1)}async function mN(e,t){return Sb(e,t,!0)}var yN=class{fetch(e,t){return fetch(e,t)}now(){return performance.now()}encode(e,t){if(t!=="utf-8"&&t!=="utf8")throw new Error(`Browser's encoder only supports utf-8, but got ${t}`);return this.textEncoder==null&&(this.textEncoder=new TextEncoder),this.textEncoder.encode(e)}decode(e,t){return new TextDecoder(t).decode(e)}};if(J().get("IS_BROWSER")){J().setPlatform("browser",new yN);try{ea.registerManager(hi.URL_SCHEME,new pN)}catch(e){}try{ea.registerManager(ci.URL_SCHEME,new aN)}catch(e){}}var AN={importFetch:()=>II()},Km,gN=class{constructor(){this.util=ao("util"),this.textEncoder=new this.util.TextEncoder}fetch(e,t){return J().global.fetch!=null?J().global.fetch(e,t):(Km==null&&(Km=AN.importFetch()),Km(e,t))}now(){let e=process.hrtime();return e[0]*1e3+e[1]/1e6}encode(e,t){if(t!=="utf-8"&&t!=="utf8")throw new Error(`Node built-in encoder only supports utf-8, but got ${t}`);return this.textEncoder.encode(e)}decode(e,t){return e.length===0?"":new this.util.TextDecoder(t).decode(e)}};J().get("IS_NODE")&&J().setPlatform("node",new gN);function Be(e,t="float32",n){return t=t||"float32",Cm(e),new Pt(e,t,n)}function xN(e,t){let n=M(e,"x","cast");if(!Zx(t))throw new Error(`Failed to cast to unknown dtype ${t}`);if(t==="string"&&n.dtype!=="string"||t!=="string"&&n.dtype==="string")throw new Error("Only strings can be casted to strings");let a={x:n},r={dtype:t};return _.runKernel(As,a,r)}var me=L({cast_:xN});function bN(e){let t={x:M(e,"x","clone","string_or_numeric")};return _.runKernel(Rs,t)}var Ba=L({clone_:bN});function Nb(e,t=!1){console.log(e.toString(t))}cb();var vN={buffer:Be,cast:me,clone:Ba,print:Nb};$S(vN);var In={};Fe(In,{browserFiles:()=>EN,browserHTTPRequest:()=>$N,concatenateArrayBuffers:()=>Hm,copyModel:()=>fN,decodeWeights:()=>Ab,encodeWeights:()=>jS,fromMemory:()=>zN,getLoadHandlers:()=>eN,getModelArtifactsInfoForJSON:()=>Ju,getSaveHandlers:()=>QS,http:()=>Jm,isHTTPScheme:()=>Ym,listModels:()=>cN,loadWeights:()=>CN,moveModel:()=>mN,registerLoadRouter:()=>JS,registerSaveRouter:()=>YS,removeModel:()=>hN,weightsLoaderFactory:()=>Rb,withSaveHandler:()=>ON});var wN="model",kN=".json",IN=".weights.bin";function Tb(e){return new Promise(t=>setTimeout(t)).then(e)}var fl=class{constructor(e){if(!J().getBool("IS_BROWSER"))throw new Error("browserDownloads() cannot proceed because the current environment is not a browser.");e.startsWith(fl.URL_SCHEME)&&(e=e.slice(fl.URL_SCHEME.length)),(e==null||e.length===0)&&(e=wN),this.modelTopologyFileName=e+kN,this.weightDataFileName=e+IN}async save(e){if(typeof document=="undefined")throw new Error("Browser downloads are not supported in this environment since `document` is not present");let t=window.URL.createObjectURL(new Blob([e.weightData],{type:"application/octet-stream"}));if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserDownloads.save() does not support saving model topology in binary formats yet.");{let n=[{paths:["./"+this.weightDataFileName],weights:e.weightSpecs}],a={modelTopology:e.modelTopology,format:e.format,generatedBy:e.generatedBy,convertedBy:e.convertedBy,weightsManifest:n};e.signature!=null&&(a.signature=e.signature),e.userDefinedMetadata!=null&&(a.userDefinedMetadata=e.userDefinedMetadata),e.modelInitializer!=null&&(a.modelInitializer=e.modelInitializer);let r=window.URL.createObjectURL(new Blob([JSON.stringify(a)],{type:"application/json"})),s=this.jsonAnchor==null?document.createElement("a"):this.jsonAnchor;if(s.download=this.modelTopologyFileName,s.href=r,await Tb(()=>s.dispatchEvent(new MouseEvent("click"))),e.weightData!=null){let i=this.weightDataAnchor==null?document.createElement("a"):this.weightDataAnchor;i.download=this.weightDataFileName,i.href=t,await Tb(()=>i.dispatchEvent(new MouseEvent("click")))}return{modelArtifactsInfo:Ju(e)}}}};fl.URL_SCHEME="downloads://";var SN=class{constructor(e){if(e==null||e.length<1)throw new Error(`When calling browserFiles, at least 1 file is required, but received ${e}`);this.files=e}async load(){let e=this.files[0],t=this.files.slice(1);return new Promise((n,a)=>{let r=new FileReader;r.onload=s=>{let i=JSON.parse(s.target.result),o=i.modelTopology;if(o==null){a(new Error(`modelTopology field is missing from file ${e.name}`));return}t.length===0&&n({modelTopology:o});let u=i.weightsManifest;if(u==null){a(new Error(`weightManifest field is missing from file ${e.name}`));return}let l;try{l=this.checkManifestAndWeightFiles(u,t)}catch(h){a(h);return}let d=[],p=[],c=[];u.forEach(h=>{h.paths.forEach(m=>{p.push(m),c.push(null)}),d.push(...h.weights)}),u.forEach(h=>{h.paths.forEach(m=>{let f=new FileReader;f.onload=y=>{let A=y.target.result,g=p.indexOf(m);if(c[g]=A,c.indexOf(null)===-1){let x={modelTopology:o,weightSpecs:d,weightData:Hm(c),format:i.format,generatedBy:i.generatedBy,convertedBy:i.convertedBy};i.signature!=null&&(x.signature=i.signature),i.userDefinedMetadata!=null&&(x.userDefinedMetadata=i.userDefinedMetadata),i.modelInitializer!=null&&(x.modelInitializer=i.modelInitializer),n(x)}},f.onerror=y=>a(`Failed to weights data from file of path '${m}'.`),f.readAsArrayBuffer(l[m])})})},r.onerror=s=>a(`Failed to read model topology and weights manifest JSON from file '${e.name}'. BrowserFiles supports loading Keras-style tf.Model artifacts only.`),r.readAsText(e)})}checkManifestAndWeightFiles(e,t){let n=[],a=t.map(s=>xb(s.name)),r={};for(let s of e)s.paths.forEach(i=>{let o=xb(i);if(n.indexOf(o)!==-1)throw new Error(`Duplicate file basename found in weights manifest: '${o}'`);if(n.push(o),a.indexOf(o)===-1)throw new Error(`Weight file with basename '${o}' is not provided.`);r[i]=t[a.indexOf(o)]});if(n.length!==t.length)throw new Error(`Mismatch in the number of files in weights manifest (${n.length}) and the number of weight files provided (${t.length}).`);return r}},NN=e=>J().getBool("IS_BROWSER")&&!Array.isArray(e)&&e.startsWith(fl.URL_SCHEME)?TN(e.slice(fl.URL_SCHEME.length)):null;Et.registerSaveRouter(NN);function TN(e="model"){return new fl(e)}function EN(e){return new SN(e)}function Eb(e,t,n,a){i(e),n=n==null?0:n,a=a==null?1:a,o(n,a);let r=0,s=u=>(u.then(l=>{let d=n+ ++r/e.length*(a-n);return t(d),l}),u);function i(u){F(u!=null&&Array.isArray(u)&&u.length>0,()=>"promises must be a none empty array")}function o(u,l){F(u>=0&&u<=1,()=>`Progress fraction must be in range [0, 1], but got startFraction ${u}`),F(l>=0&&l<=1,()=>`Progress fraction must be in range [0, 1], but got endFraction ${l}`),F(l>=u,()=>`startFraction must be no more than endFraction, but got startFraction ${u} and endFraction ${l}`)}return Promise.all(e.map(s))}async function Cb(e,t){t==null&&(t={});let n=t.fetchFunc==null?J().platform.fetch:t.fetchFunc,a=e.map(l=>n(l,t.requestInit,{isBinary:!0})),r=0,s=.5,i=(t.onProgress==null?await Promise.all(a):await Eb(a,t.onProgress,r,s)).map(l=>l.arrayBuffer()),o=.5,u=1;return t.onProgress==null?await Promise.all(i):await Eb(i,t.onProgress,o,u)}async function CN(e,t="",n,a){return Rb(r=>Cb(r,{requestInit:a}))(e,t,n)}function Rb(e){return async(t,n="",a)=>{let r=t.map(()=>!1),s={},i=a!=null?a.map(()=>!1):[],o=[];if(t.forEach((h,m)=>{let f=0;h.weights.forEach(y=>{let A="quantization"in y?y.quantization.dtype:y.dtype,g=jm[A]*Rt(y.shape),x=()=>{r[m]=!0,s[m]==null&&(s[m]=[]),s[m].push({manifestEntry:y,groupOffset:f,sizeBytes:g})};a!=null?a.forEach((w,b)=>{w===y.name&&(x(),i[b]=!0)}):x(),o.push(y.name),f+=g})}),!i.every(h=>h)){let h=a.filter((m,f)=>!i[f]);throw new Error(`Could not find weights in manifest with names: ${h.join(", ")}. -Manifest JSON has weights with names: ${o.join(", ")}.`)}let u=r.reduce((h,m,f)=>(m&&h.push(f),h),[]),l=[];u.forEach(h=>{t[h].paths.forEach(m=>{let f=n+(n.endsWith("/")?"":"/")+m;l.push(f)})});let d=await e(l),p={},c=0;return u.forEach(h=>{let m=t[h].paths.length,f=0;for(let x=0;x{let w=y.slice(x.groupOffset,x.groupOffset+x.sizeBytes),b=Ab(w,[x.manifestEntry]);for(let v in b)p[v]=b[v]}),c+=m}),p}}var RN="application/octet-stream",MN="application/json",Zm=class{constructor(e,t){if(this.DEFAULT_METHOD="POST",t==null&&(t={}),this.weightPathPrefix=t.weightPathPrefix,this.onProgress=t.onProgress,this.weightUrlConverter=t.weightUrlConverter,t.fetchFunc!=null?(F(typeof t.fetchFunc=="function",()=>"Must pass a function that matches the signature of `fetch` (see https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)"),this.fetch=t.fetchFunc):this.fetch=J().platform.fetch,F(e!=null&&e.length>0,()=>"URL path for http must not be null, undefined or empty."),Array.isArray(e)&&F(e.length===2,()=>`URL paths for http must have a length of 2, (actual length is ${e.length}).`),this.path=e,t.requestInit!=null&&t.requestInit.body!=null)throw new Error("requestInit is expected to have no pre-existing body, but has one.");this.requestInit=t.requestInit||{}}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserHTTPRequest.save() does not support saving model topology in binary formats yet.");let t=Object.assign({method:this.DEFAULT_METHOD},this.requestInit);t.body=new FormData;let n=[{paths:["./model.weights.bin"],weights:e.weightSpecs}],a={modelTopology:e.modelTopology,format:e.format,generatedBy:e.generatedBy,convertedBy:e.convertedBy,weightsManifest:n};e.signature!=null&&(a.signature=e.signature),e.userDefinedMetadata!=null&&(a.userDefinedMetadata=e.userDefinedMetadata),e.modelInitializer!=null&&(a.modelInitializer=e.modelInitializer),t.body.append("model.json",new Blob([JSON.stringify(a)],{type:MN}),"model.json"),e.weightData!=null&&t.body.append("model.weights.bin",new Blob([e.weightData],{type:RN}),"model.weights.bin");let r=await this.fetch(this.path,t);if(r.ok)return{modelArtifactsInfo:Ju(e),responses:[r]};throw new Error(`BrowserHTTPRequest.save() failed due to HTTP response status ${r.status}.`)}async load(){let e=await this.fetch(this.path,this.requestInit);if(!e.ok)throw new Error(`Request to ${this.path} failed with status code ${e.status}. Please verify this URL points to the model JSON of the model to load.`);let t;try{t=await e.json()}catch(h){let m=`Failed to parse model JSON of response from ${this.path}.`;throw this.path.endsWith(".pb")?m+=" Your path contains a .pb file extension. Support for .pb models have been removed in TensorFlow.js 1.0 in favor of .json models. You can re-convert your Python TensorFlow model using the TensorFlow.js 1.0 conversion scripts or you can convert your.pb models with the 'pb2json'NPM script in the tensorflow/tfjs-converter repository.":m+=" Please make sure the server is serving valid JSON for this request.",new Error(m)}let n=t.modelTopology,a=t.weightsManifest,r=t.generatedBy,s=t.convertedBy,i=t.format,o=t.signature,u=t.userDefinedMetadata;if(n==null&&a==null)throw new Error(`The JSON from HTTP path ${this.path} contains neither model topology or manifest for weights.`);let l,d;a!=null&&([l,d]=await this.loadWeights(a));let p={modelTopology:n,weightSpecs:l,weightData:d,generatedBy:r,convertedBy:s,format:i};o!=null&&(p.signature=o),u!=null&&(p.userDefinedMetadata=u);let c=t.modelInitializer;return c&&(p.modelInitializer=c),p}async loadWeights(e){let t=Array.isArray(this.path)?this.path[1]:this.path,[n,a]=FN(t),r=this.weightPathPrefix||n,s=[];for(let l of e)s.push(...l.weights);let i=[],o=[];for(let l of e)for(let d of l.paths)this.weightUrlConverter!=null?o.push(this.weightUrlConverter(d)):i.push(r+d+a);this.weightUrlConverter&&i.push(...await Promise.all(o));let u=await Cb(i,{requestInit:this.requestInit,fetchFunc:this.fetch,onProgress:this.onProgress});return[s,Hm(u)]}};Zm.URL_SCHEME_REGEX=/^https?:\/\//;function FN(e){let t=e.lastIndexOf("/"),n=e.lastIndexOf("?"),a=e.substring(0,t),r=n>t?e.substring(n):"";return[a+"/",r]}function Ym(e){return e.match(Zm.URL_SCHEME_REGEX)!=null}var Mb=(e,t)=>{if(typeof fetch=="undefined"&&(t==null||t.fetchFunc==null))return null;{let n=!0;if(Array.isArray(e)?n=e.every(a=>Ym(a)):n=Ym(e),n)return Jm(e,t)}return null};Et.registerSaveRouter(Mb);Et.registerLoadRouter(Mb);function Jm(e,t){return new Zm(e,t)}function $N(e,t){return Jm(e,t)}var Qm=class{constructor(e){this.modelArtifacts=e}async load(){return this.modelArtifacts}},DN=class{constructor(e){this.saveHandler=e}async save(e){return this.saveHandler(e)}};function zN(e,t,n,a){return arguments.length===1?e.modelTopology!=null||e.weightSpecs!=null?new Qm(e):(console.warn("Please call tf.io.fromMemory() with only one argument. The argument should be of type ModelArtifacts. The multi-argument signature of tf.io.fromMemory() has been deprecated and will be removed in a future release."),new Qm({modelTopology:e})):(console.warn("Please call tf.io.fromMemory() with only one argument. The argument should be of type ModelArtifacts. The multi-argument signature of tf.io.fromMemory() has been deprecated and will be removed in a future release."),new Qm({modelTopology:e,weightSpecs:t,weightData:n,trainingConfig:a}))}function ON(e){return new DN(e)}var Fb={};Fe(Fb,{confusionMatrix:()=>BN});function _N(e,t,n=!1,a=!1){let r=M(e,"a","matMul"),s=M(t,"b","matMul");[r,s]=kt(r,s);let i={a:r,b:s},o={transposeA:n,transposeB:a};return _.runKernel(ys,i,o)}var Ve=L({matMul_:_N});function PN(e,t,n=1,a=0){if(t<2)throw new Error(`Error in oneHot: depth must be >=2, but it is ${t}`);let r={indices:M(e,"indices","oneHot","int32")},s={depth:t,onValue:n,offValue:a};return _.runKernel(Bs,r,s)}var ml=L({oneHot_:PN});function LN(e,t){let n=M(e,"x","transpose");if(t==null&&(t=n.shape.map((s,i)=>i).reverse()),F(n.rank===t.length,()=>`Error in transpose: rank of input ${n.rank} must match length of perm ${t}.`),t.forEach(s=>{F(s>=0&&s`All entries in 'perm' must be between 0 and ${n.rank-1} but got ${t}`)}),n.rank<=1)return n.clone();let a={x:n},r={perm:t};return _.runKernel(ii,a,r)}var Qe=L({transpose_:LN});function WN(e,t,n){let a=M(e,"labels","confusionMatrix"),r=M(t,"predictions","confusionMatrix");F(n==null||n>0&&Number.isInteger(n),()=>`If provided, numClasses must be a positive integer, but got ${n}`),F(a.rank===1,()=>`Expected the rank of labels to be 1, but got ${a.rank}`),F(r.rank===1,()=>`Expected the rank of predictions to be 1, but got ${r.rank}`),F(a.shape[0]===r.shape[0],()=>`Mismatch in the number of examples: ${a.shape[0]} vs. ${r.shape[0]}. Labels and predictions should have the same number of elements.`),F(n>0&&Number.isInteger(n),()=>`numClasses is required to be a positive integer, but got ${n}`);let s=ml(me(a,"int32"),n),i=ml(me(r,"int32"),n),o=Qe(s),u=Ve(o,i);return me(u,"int32")}var BN=L({confusionMatrix_:WN}),fi={};Fe(fi,{fromPixels:()=>XN,fromPixelsAsync:()=>GN,toPixels:()=>qN});function Ic(e,t,n){if(ps(e),t!=null&&t.length!==3)throw new Error("tensor3d() requires shape to have three numbers");let a=Wa(e,n);if(a.length!==3&&a.length!==1)throw new Error("tensor3d() requires values to be number[][][] or flat/TypedArray");if(a.length===1&&t==null)throw new Error("tensor3d() requires shape to be provided when `values` are a flat array");return Or(e,t,a,n)}var yl;function $b(e,t=3){if(t>4)throw new Error("Cannot construct Tensor with more than 4 channels from pixels.");if(e==null)throw new Error("pixels passed to tf.browser.fromPixels() can not be null");let n=!1,a=!1,r=!1,s=!1,i=!1,o=!1;if(e.data instanceof Uint8Array)n=!0;else if(typeof ImageData!="undefined"&&e instanceof ImageData)a=!0;else if(typeof HTMLVideoElement!="undefined"&&e instanceof HTMLVideoElement)r=!0;else if(typeof HTMLImageElement!="undefined"&&e instanceof HTMLImageElement)s=!0;else if(e.getContext!=null)i=!0;else if(typeof ImageBitmap!="undefined"&&e instanceof ImageBitmap)o=!0;else throw new Error(`pixels passed to tf.browser.fromPixels() must be either an HTMLVideoElement, HTMLImageElement, HTMLCanvasElement, ImageData in browser, or OffscreenCanvas, ImageData in webworker or {data: Uint32Array, width: number, height: number}, but was ${e.constructor.name}`);if(r){let c=2;if(r&&e.readyState element.")}if(Ac(yc,_.backendName)!=null){let c={pixels:e},h={numChannels:t};return _.runKernel(yc,c,h)}let[u,l]=r?[e.videoWidth,e.videoHeight]:[e.width,e.height],d;i?d=e.getContext("2d").getImageData(0,0,u,l).data:a||n?d=e.data:(s||r||o)&&(yl==null&&(yl=document.createElement("canvas").getContext("2d")),yl.canvas.width=u,yl.canvas.height=l,yl.drawImage(e,0,0,u,l),d=yl.getImageData(0,0,u,l).data);let p;if(t===4)p=new Int32Array(d);else{let c=u*l;p=new Int32Array(c*t);for(let h=0;h4||s===2)throw new Error(`toPixels only supports depth of size 1, 3 or 4 but got ${s}`);if(n.dtype!=="float32"&&n.dtype!=="int32")throw new Error(`Unsupported type for toPixels: ${n.dtype}. Please use float32 or int32 tensors.`);let i=await n.data(),o=n.dtype==="float32"?255:1,u=new Uint8ClampedArray(r*a*4);for(let l=0;l1)throw new Error(`Tensor values for a float32 Tensor must be in the range [0 - 1] but encountered ${h}.`)}else if(n.dtype==="int32"&&(h<0||h>255))throw new Error(`Tensor values for a int32 Tensor must be in the range [0 - 255] but encountered ${h}.`);s===1?(d[0]=h*o,d[1]=h*o,d[2]=h*o):d[c]=h*o}let p=l*4;u[p+0]=Math.round(d[0]),u[p+1]=Math.round(d[1]),u[p+2]=Math.round(d[2]),u[p+3]=Math.round(d[3])}if(t!=null){t.width=r,t.height=a;let l=t.getContext("2d"),d=new ImageData(u,r,a);l.putImageData(d,0,0)}return n!==e&&n.dispose(),u}var XN=L({fromPixels_:$b}),e1={};Fe(e1,{prepareAndValidate:()=>Db});function Db(e,t){let n=e.shape.length,a=t.shape.length;if(n<1)throw new Error(`tf.gatherND() expects the input to be rank 1 or higher, but the rank was ${n}.`);if(a<1)throw new Error(`tf.gatherND() expects the indices to be rank 1 or higher, but the rank was ${a}.`);if(t.dtype!=="int32")throw new Error(`tf.gatherND() expects the indices to be int32 type, but the dtype was ${t.dtype}.`);if(t.shape[a-1]>n)throw new Error(`index innermost dimension length must be <= tensor rank; saw: ${t.shape[a-1]} vs. ${n}`);if(Rt(e.shape)===0)throw new Error(`Requested more than 0 entries, but input is empty. Input shape: ${e.shape}.`);let r=t.shape,s=r[r.length-1],i=1;for(let p=0;pp/l),1].slice(0,s);return[u,i,l,d]}var t1={};Fe(t1,{calculateShapes:()=>zb,validateInput:()=>a1,validateUpdateShape:()=>n1});function n1(e,t,n){let a=t.rank>1?t.shape[t.rank-1]:1,r=t.rank>1?t.rank-1:1,s=`Must have updates.shape = indices.shape[:batchDim] + shape[sliceDim:], got updates.shape: ${n.shape}, indices.shape: ${t.shape}, shape: ${e}, sliceDim: ${a}, and batchDim: ${r}.`;if(n.rank1?t.shape[a-1]:1,s=n.length,i=1;for(let p=r;pKN,computeFlatOffset:()=>YN,computeOutShape:()=>Ob,getNormalizedAxes:()=>Wb,isSliceContinous:()=>ZN,maskToAxes:()=>Sc,parseSliceParams:()=>Gb,sliceInfo:()=>JN,startForAxis:()=>Ub,startIndicesWithElidedDims:()=>Bb,stopForAxis:()=>Hb,stopIndicesWithElidedDims:()=>Vb,stridesForAxis:()=>jb,stridesWithElidedDims:()=>_b});function KN(e,t,n){let a=e.shape.length;F(a===t.length,()=>`Error in slice${a}D: Length of begin ${t} must match the rank of the array (${a}).`),F(a===n.length,()=>`Error in slice${a}D: Length of size ${n} must match the rank of the array (${a}).`);for(let r=0;r`Error in slice${a}D: begin[${r}] + size[${r}] (${t[r]+n[r]}) would overflow input.shape[${r}] (${e.shape[r]})`)}function Sc(e){let t=[],n=0;for(;e>0;)e&1&&t.push(n),e/=2,n++;return t}function Ob(e,t,n){let a=[];for(let r=0;r0){let h=t[0],m=n+1;d=Bb(i,h,m,a,e),p=Vb(o,h,m,r,e),c=_b(s,h,m,e)}else for(let h=0;h-1)s[o]=0;else{let u=Pb(t,n,o),l=a[u];e&1<-1)s[o]=Number.MAX_SAFE_INTEGER;else{let u=Pb(t,n,o),l=a[u];e&1<0?i=Number.MIN_SAFE_INTEGER:i=Number.MAX_SAFE_INTEGER);let u=a[r];return i<0&&(i+=u),i=Iu(0,i,u-1),i}function Hb(e,t,n,a,r,s){let i=t[r],o=n[r]||1;(e&1<0?i=Number.MAX_SAFE_INTEGER:i=Number.MIN_SAFE_INTEGER);let u=a[r];return i<0&&(i+=u),o>0?i=Iu(0,i,u):i=Iu(-1,i,u-1),i}function ZN(e,t,n){let a=n.length;for(let r=0;r1){a=r;break}for(let r=a+1;r0||n[r]!==e[r])return!1;return!0}function YN(e,t){let n=e.length>0?e[e.length-1]:1;for(let a=0;a{F(i!==-1,()=>"slice() does not support negative begin indexing.")});let s;return n==null?s=new Array(r).fill(-1):typeof n=="number"?s=[n,...new Array(r-1).fill(-1)]:n.lengthi>=0?i:(F(i===-1,()=>`Negative size values should be exactly -1 but got ${i} for the slice() size at index ${o}.`),e.shape[o]-a[o])),[a,s]}function JN(e,t,n,a,r,s,i,o,u){let l=t.slice(),d=n.slice(),p=a;a==null&&(p=new Array(l.length));let c=Sc(i);if(c.length>1)throw new Error("Multiple ellipses in slice is not allowed.");if(i!==0&&o!==0)throw new Error("Using both ellipsisMask and newAxisMask is not yet supported.");if(i!==0&&u!==0)throw new Error("Using both ellipsisMask and shrinkAxisMask is not yet supported.");let h=e.length-l.length,m=Sc(o),f=e.slice();m.forEach(v=>{l[v]=0,d[v]=1,f.splice(v,0,1)});let{begin:y,end:A,strides:g}=Wb(f,c,h,l,d,p,r,s,i);l=y,d=A,p=g;let x=Sc(u);x.forEach(v=>{d[v]=l[v]+1,p[v]=1});let w=Ob(l,d,p),b=w.filter((v,N)=>x.indexOf(N)===-1);return{nonStrided:p.every(v=>v===1),$begin:l,$end:d,$strides:p,size:w,newShape:f,outShape:b}}var ae={};Fe(ae,{Serializable:()=>qb,SerializationMap:()=>mi,registerClass:()=>Pr});var qb=class{getClassName(){return this.constructor.className}static fromConfig(e,t){return new e(t)}},mi=class{constructor(){this.classNameMap={}}static getMap(){return mi.instance==null&&(mi.instance=new mi),mi.instance}static register(e){mi.getMap().classNameMap[e.className]=[e,e.fromConfig]}};function Pr(e){F(e.className!=null,()=>"Class being registered does not have the static className property defined."),F(typeof e.className=="string",()=>"className is required to be a string, but got type "+typeof e.className),F(e.className.length>0,()=>"Class being registered has an empty-string as its className, which is disallowed."),mi.register(e)}var Xb={};Fe(Xb,{TEST_EPSILON_FLOAT16:()=>Kb,encodeStrings:()=>Zb,expectArrayBuffersEqual:()=>sT,expectArraysClose:()=>eT,expectArraysEqual:()=>nT,expectNumbersClose:()=>aT,expectPromiseToFail:()=>tT,expectValuesInRange:()=>rT,testEpsilon:()=>r1});var QN=.001,Kb=.1;function eT(e,t,n){return n==null&&(n=r1()),s1(e,t,(a,r)=>i1(a,r,n))}function r1(){return _.backend.floatPrecision()===32?QN:Kb}function s1(e,t,n){let a=!0;if((an(e)||an(t))&&(a=!1),an(e)&&an(t)&&(a=!0),a){let i=e.constructor.name,o=t.constructor.name;if(i!==o)throw new Error(`Arrays are of different type. Actual: ${i}. Expected: ${o}`)}if(Array.isArray(e)&&Array.isArray(t)){let i=Wa(e),o=Wa(t);if(!lr(i,o))throw new Error(`Arrays have different shapes. Actual: [${i}]. Expected: [${o}]`)}let r=an(e)?e:cs(e),s=an(t)?t:cs(t);if(r.length!==s.length)throw new Error(`Arrays have different lengths actual: ${r.length} vs expected: ${s.length}. -Actual: ${r}. -Expected: ${s}.`);for(let i=0;it.fail(),()=>t())}function nT(e,t){let n=typeof t=="string"||typeof t=="number"||typeof t=="boolean"?[t]:t;return Cr(e)||Cr(e[0])||Cr(t)||Cr(t[0])?s1(e,n,(a,r)=>a==r):s1(e,t,(a,r)=>i1(a,r,0))}function aT(e,t,n){if(n==null&&(n=r1()),!i1(e,t,n))throw new Error(`Numbers differ: actual === ${e}, expected === ${t}`)}function i1(e,t,n){return!isFinite(e)&&!isFinite(t)?!0:!(isNaN(e)||isNaN(t)||Math.abs(e-t)>n)}function rT(e,t,n){for(let a=0;an)throw new Error(`Value out of range:${e[a]} low: ${t}, high: ${n}`)}function sT(e,t){expect(new Float32Array(e)).toEqual(new Float32Array(t))}function Zb(e){for(let t=0;tt.dispose())}function Gt(e){return _.keep(e)}function cT(e){return _.time(e)}function hT(e){return _.setBackend(e)}function fT(){return _.ready()}function mT(){return _.backendName}function yT(e){_.removeBackend(e)}function l1(e){return _.findBackend(e)}function AT(e){return _.findBackendFactory(e)}function Al(e,t,n=1){return _.registerBackend(e,t,n)}function Yb(){return _.backend}function gT(e,t){J().setPlatform(e,t)}function xT(e,t){let n=M(e,"a","add"),a=M(t,"b","add");[n,a]=kt(n,a);let r={a:n,b:a};return _.runKernel(Mr,r)}var se=L({add_:xT});function bT(e,t){let n=M(e,"a","floorDiv"),a=M(t,"b","floorDiv");[n,a]=kt(n,a);let r={a:n,b:a};return _.runKernel(Ts,r)}var Tc=L({floorDiv_:bT});function vT(e,t){let n=M(e,"a","div"),a=M(t,"b","div");if([n,a]=kt(n,a),n.dtype==="int32"&&a.dtype==="int32")return Tc(n,a);let r={a:n,b:a},s={};return _.runKernel(Is,r,s)}var fe=L({div_:vT});function wT(e,t){let n=M(e,"a","mul"),a=M(t,"b","mul");[n,a]=kt(n,a);let r={a:n,b:a};return _.runKernel(Ws,r)}var W=L({mul_:wT});function kT(e){let t=M(e,"x","abs");if(t.dtype==="complex64"){let n={x:t};return _.runKernel(Cu,n)}else{let n={x:t};return _.runKernel(oo,n)}}var Lt=L({abs_:kT});function IT(e){let t={x:M(e,"x","acos")};return _.runKernel(lo,t)}var u1=L({acos_:IT});function ST(e){let t={x:M(e,"x","acosh")};return _.runKernel(uo,t)}var d1=L({acosh_:ST});function NT(e){F(Array.isArray(e),()=>"The argument passed to tf.addN() must be a list of tensors"),F(e.length>=1,()=>`Must pass at least one tensor to tf.addN(), but got ${e.length}`);let t=e.map((r,s)=>M(r,`tensors${s}`,"addN")),n=t[0];t.forEach(r=>{if(r.dtype!==n.dtype)throw new Error("All tensors passed to tf.addN() must have the same dtype")}),t.forEach(r=>{if(!lr(r.shape,n.shape))throw new Error("All tensors passed to tf.addN() must have the same shape")});let a=t;return _.runKernel(hs,a)}var Ec=L({addN_:NT});function TT(e,t=null,n=!1){let a={x:M(e,"x","all","bool")},r={axis:t,keepDims:n};return _.runKernel(po,a,r)}var Cc=L({all_:TT});function ET(e,t=null,n=!1){let a={x:M(e,"x","any","bool")},r={axis:t,keepDims:n};return _.runKernel(co,a,r)}var Qu=L({any_:ET});function CT(e,t=0){let n={x:M(e,"x","argMax")},a={axis:t};return _.runKernel(fs,n,a)}var yi=L({argMax_:CT});function RT(e,t=0){let n={x:M(e,"x","argMin")},a={axis:t};return _.runKernel(Nu,n,a)}var p1=L({argMin_:RT});function MT(e){let t={x:M(e,"x","asin")};return _.runKernel(ho,t)}var c1=L({asin_:MT});function FT(e){let t={x:M(e,"x","asinh")};return _.runKernel(fo,t)}var h1=L({asinh_:FT});function $T(e){let t={x:M(e,"x","atan")};return _.runKernel(mo,t)}var f1=L({atan_:$T});function DT(e,t){let n=M(e,"a","atan2"),a=M(t,"b","atan2");[n,a]=kt(n,a);let r={a:n,b:a};return _.runKernel(Ao,r)}var m1=L({atan2_:DT});function zT(e){let t={x:M(e,"x","atanh")};return _.runKernel(yo,t)}var y1=L({atanh_:zT});function OT(e,t,n,a,r="NHWC",s){let i=e[3],o=[...t,i],u=e3(r);return ed(e,o,n,s,a,null,null,u)}function Jb(e,t,n,a,r,s,i="channelsLast"){let[o,u]=Rc(t),l;if(i==="channelsLast")l=[o,u,e[3],e[3]];else if(i==="channelsFirst")l=[o,u,e[1],e[1]];else throw new Error(`Unknown dataFormat ${i}`);return ed(e,l,n,a,r,s,!1,i)}function _T(e,t,n,a,r,s,i="NDHWC"){let[o,u,l]=g1(t),d,p;if(i==="NDHWC")p="channelsLast",d=[o,u,l,e[4],e[4]];else if(i==="NCDHW")p="channelsFirst",d=[o,u,l,e[1],e[1]];else throw new Error(`Unknown dataFormat ${i}`);return Qb(e,d,n,a,r,!1,p,s)}function ed(e,t,n,a,r,s,i=!1,o="channelsLast"){let[u,l,d,p]=[-1,-1,-1,-1];if(o==="channelsLast")[u,l,d,p]=e;else if(o==="channelsFirst")[u,p,l,d]=e;else throw new Error(`Unknown dataFormat ${o}`);let[c,h,,m]=t,[f,y]=Rc(n),[A,g]=Rc(a),x=gl(c,A),w=gl(h,g),{padInfo:b,outHeight:v,outWidth:N}=WT(r,l,d,f,y,x,w,s,o),I=i?m*p:m,E;return o==="channelsFirst"?E=[u,I,v,N]:o==="channelsLast"&&(E=[u,v,N,I]),{batchSize:u,dataFormat:o,inHeight:l,inWidth:d,inChannels:p,outHeight:v,outWidth:N,outChannels:I,padInfo:b,strideHeight:f,strideWidth:y,filterHeight:c,filterWidth:h,effectiveFilterHeight:x,effectiveFilterWidth:w,dilationHeight:A,dilationWidth:g,inShape:e,outShape:E,filterShape:t}}function Qb(e,t,n,a,r,s=!1,i="channelsLast",o){let[u,l,d,p,c]=[-1,-1,-1,-1,-1];if(i==="channelsLast")[u,l,d,p,c]=e;else if(i==="channelsFirst")[u,c,l,d,p]=e;else throw new Error(`Unknown dataFormat ${i}`);let[h,m,f,,y]=t,[A,g,x]=g1(n),[w,b,v]=g1(a),N=gl(h,w),I=gl(m,b),E=gl(f,v),{padInfo:$,outDepth:O,outHeight:z,outWidth:P}=BT(r,l,d,p,A,g,x,N,I,E,o),D=s?y*c:y,U;return i==="channelsFirst"?U=[u,D,O,z,P]:i==="channelsLast"&&(U=[u,O,z,P,D]),{batchSize:u,dataFormat:i,inDepth:l,inHeight:d,inWidth:p,inChannels:c,outDepth:O,outHeight:z,outWidth:P,outChannels:D,padInfo:$,strideDepth:A,strideHeight:g,strideWidth:x,filterDepth:h,filterHeight:m,filterWidth:f,effectiveFilterDepth:N,effectiveFilterHeight:I,effectiveFilterWidth:E,dilationDepth:w,dilationHeight:b,dilationWidth:v,inShape:e,outShape:U,filterShape:t}}function PT(e,t,n,a,r){a==null&&(a=A1(e,t,n));let s=e[0],i=e[1],o=Ai((s-t+2*a)/n+1,r),u=Ai((i-t+2*a)/n+1,r);return[o,u]}function LT(e,t,n,a,r,s){r==null&&(r=A1(e,t,a));let i=e[0],o=e[1],u=e[2],l=Ai((i-t+2*r)/a+1,s),d=Ai((o-t+2*r)/a+1,s),p=Ai((u-t+2*r)/a+1,s);return[l,d,p,n]}function A1(e,t,n,a=1){let r=gl(t,a);return Math.floor((e[0]*(n-1)-n+r)/2)}function Rc(e){return typeof e=="number"?[e,e,e]:e.length===2?[e[0],e[1],1]:e}function g1(e){return typeof e=="number"?[e,e,e]:e}function gl(e,t){return t<=1?e:e+(e-1)*(t-1)}function WT(e,t,n,a,r,s,i,o,u){let l,d,p;if(typeof e=="number"){l={top:e,bottom:e,left:e,right:e,type:e===0?"VALID":"NUMBER"};let c=PT([t,n],s,a,e,o);d=c[0],p=c[1]}else if(e==="same"){d=Math.ceil(t/a),p=Math.ceil(n/r);let c=Math.max(0,(d-1)*a+s-t),h=Math.max(0,(p-1)*r+i-n),m=Math.floor(c/2),f=c-m,y=Math.floor(h/2),A=h-y;l={top:m,bottom:f,left:y,right:A,type:"SAME"}}else if(e==="valid")l={top:0,bottom:0,left:0,right:0,type:"VALID"},d=Math.ceil((t-s+1)/a),p=Math.ceil((n-i+1)/r);else if(typeof e=="object"){let c=u==="channelsLast"?e[1][0]:e[2][0],h=u==="channelsLast"?e[1][1]:e[2][1],m=u==="channelsLast"?e[2][0]:e[3][0],f=u==="channelsLast"?e[2][1]:e[3][1];l={top:c,bottom:h,left:m,right:f,type:c===0&&h===0&&m===0&&f===0?"VALID":"EXPLICIT"},d=Ai((t-s+c+h)/a+1,o),p=Ai((n-i+m+f)/r+1,o)}else throw Error(`Unknown padding parameter: ${e}`);return{padInfo:l,outHeight:d,outWidth:p}}function BT(e,t,n,a,r,s,i,o,u,l,d){let p,c,h,m;if(typeof e=="number"){p={top:e,bottom:e,left:e,right:e,front:e,back:e,type:e===0?"VALID":"NUMBER"};let f=LT([t,n,a,1],o,1,r,e,d);c=f[0],h=f[1],m=f[2]}else if(e==="same"){c=Math.ceil(t/r),h=Math.ceil(n/s),m=Math.ceil(a/i);let f=(c-1)*r+o-t,y=(h-1)*s+u-n,A=(m-1)*i+l-a,g=Math.floor(f/2),x=f-g,w=Math.floor(y/2),b=y-w,v=Math.floor(A/2),N=A-v;p={top:w,bottom:b,left:v,right:N,front:g,back:x,type:"SAME"}}else if(e==="valid")p={top:0,bottom:0,left:0,right:0,front:0,back:0,type:"VALID"},c=Math.ceil((t-o+1)/r),h=Math.ceil((n-u+1)/s),m=Math.ceil((a-l+1)/i);else throw Error(`Unknown padding parameter: ${e}`);return{padInfo:p,outDepth:c,outHeight:h,outWidth:m}}function Ai(e,t){if(!t)return Math.trunc(e);switch(t){case"round":return Math.round(e);case"ceil":return Math.ceil(e);case"floor":return Math.floor(e);default:throw new Error(`Unknown roundingMode ${t}`)}}function Lr(e){let[t,n,a]=Rc(e);return t===1&&n===1&&a===1}function Va(e,t){return Lr(e)||Lr(t)}function e3(e){if(e==="NHWC")return"channelsLast";if(e==="NCHW")return"channelsFirst";throw new Error(`Unknown dataFormat ${e}`)}function VT(e,t){let n={x:M(e,"x","reshape","string_or_numeric")},a={shape:t};return _.runKernel(Xo,n,a)}var H=L({reshape_:VT});function jT(e,t,n,a,r){let s=M(e,"x","avgPool","float32"),i=1;F(Va(n,i),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${n} and dilations '${i}'`);let o=s,u=!1;s.rank===3&&(u=!0,o=H(s,[1,s.shape[0],s.shape[1],s.shape[2]])),F(o.rank===4,()=>`Error in avgPool: x must be rank 4 but got rank ${o.rank}.`),r!=null&&F(Ht(a),()=>`Error in avgPool: pad must be an integer when using, dimRoundingMode ${r} but got pad ${a}.`);let l={x:o},d={filterSize:t,strides:n,pad:a,dimRoundingMode:r},p=_.runKernel(ms,l,d);return p=me(p,s.dtype),u?H(p,[p.shape[1],p.shape[2],p.shape[3]]):p}var td=L({avgPool_:jT});function UT(e,t,n,a,r,s="NDHWC"){let i=M(e,"x","avgPool3d","float32"),o=i,u=!1;i.rank===4&&(u=!0,o=H(i,[1,i.shape[0],i.shape[1],i.shape[2],i.shape[3]])),F(o.rank===5,()=>`Error in avgPool3d: x must be rank 5 but got rank ${o.rank}.`),F(s==="NDHWC",()=>`Error in avgPool3d: Only NDHWC is currently supported, but got dataFormat of ${s}`),r!=null&&F(Ht(a),()=>`Error in avgPool3d: pad must be an integer when using, dimRoundingMode ${r} but got pad ${a}.`);let l={x:o},d={filterSize:t,strides:n,pad:a,dimRoundingMode:r,dataFormat:s},p=_.runKernel(Tu,l,d);return p=me(p,o.dtype),u?H(p,[p.shape[1],p.shape[2],p.shape[3],p.shape[4]]):p}var x1=L({avgPool3d_:UT});function HT(e,t=0){F(e.length>=1,()=>"Pass at least one tensor to concat");let n=Yu(e,"tensors","concat","string_or_numeric");if(n[0].dtype==="complex64"&&n.forEach(s=>{if(s.dtype!=="complex64")throw new Error(`Cannot concatenate complex64 tensors with a tensor - with dtype ${s.dtype}. `)}),n.length===1)return Ba(n[0]);let a=n,r={axis:t};return _.runKernel(go,a,r)}var lt=L({concat_:HT});function GT(e){let t={x:M(e,"x","sigmoid")};return _.runKernel(Js,t)}var Sn=L({sigmoid_:GT});function qT(e,t,n){let a=M(e,"x","slice","string_or_numeric");if(a.rank===0)throw new Error("Slicing scalar is not possible");let r={x:a},s={begin:t,size:n};return _.runKernel(Jo,r,s)}var Re=L({slice_:qT});function XT(e){let t={x:M(e,"x","tanh")};return _.runKernel(si,t)}var gi=L({tanh_:XT});function KT(e,t,n,a,r,s){let i=M(e,"forgetBias","basicLSTMCell"),o=M(t,"lstmKernel","basicLSTMCell"),u=M(n,"lstmBias","basicLSTMCell"),l=M(a,"data","basicLSTMCell"),d=M(r,"c","basicLSTMCell"),p=M(s,"h","basicLSTMCell"),c=lt([l,p],1),h=Ve(c,o),m=se(h,u),f=m.shape[0],y=m.shape[1]/4,A=[f,y],g=Re(m,[0,0],A),x=Re(m,[0,y],A),w=Re(m,[0,y*2],A),b=Re(m,[0,y*3],A),v=se(W(Sn(g),gi(x)),W(d,Sn(se(i,w)))),N=W(gi(v),Sn(b));return[v,N]}var ZT=L({basicLSTMCell_:KT});function YT(e,t,n){let a=M(e,"x","batchToSpaceND"),r=t.reduce((o,u)=>o*u);F(a.rank>=1+t.length,()=>`input rank is ${a.rank} but should be > than blockShape.length ${t.length}`),F(n.length===t.length,()=>`crops.length is ${n.length} but should be equal to blockShape.length ${t.length}`),F(a.shape[0]%r==0,()=>`input tensor batch is ${a.shape[0]} but is not divisible by the product of the elements of blockShape ${t.join(" * ")} === ${r}`);let s={x:a},i={blockShape:t,crops:n};return _.runKernel(Eu,s,i)}var nd=L({batchToSpaceND_:YT});function JT(e){let t;return e.rank===0||e.rank===1?t=H(e,[1,1,1,e.size]):e.rank===2?t=H(e,[1,1,e.shape[0],e.shape[1]]):e.rank===3?t=H(e,[1,e.shape[0],e.shape[1],e.shape[2]]):t=e,t}function QT(e,t,n,a,r,s){s==null&&(s=.001);let i=M(e,"x","batchNorm"),o=M(t,"mean","batchNorm"),u=M(n,"variance","batchNorm"),l;r!=null&&(l=M(r,"scale","batchNorm"));let d;a!=null&&(d=M(a,"offset","batchNorm")),F(o.rank===u.rank,()=>"Batch normalization gradient requires mean and variance to have equal ranks."),F(d==null||o.rank===d.rank,()=>"Batch normalization gradient requires mean and offset to have equal ranks."),F(l==null||o.rank===l.rank,()=>"Batch normalization gradient requires mean and scale to have equal ranks.");let p={x:JT(i),scale:l,offset:d,mean:o,variance:u},c={varianceEpsilon:s},h=_.runKernel(Es,p,c);return H(h,i.shape)}var xi=L({batchNorm_:QT});function eE(e,t,n,a,r,s){let i=M(e,"x","batchNorm"),o=M(t,"mean","batchNorm"),u=M(n,"variance","batchNorm"),l;r!=null&&(l=M(r,"scale","batchNorm"));let d;return a!=null&&(d=M(a,"offset","batchNorm")),F(i.rank===2,()=>`Error in batchNorm2D: x must be rank 2 but got rank ${i.rank}.`),F(o.rank===2||o.rank===1,()=>`Error in batchNorm2D: mean must be rank 2 or rank 1 but got rank ${o.rank}.`),F(u.rank===2||u.rank===1,()=>`Error in batchNorm2D: variance must be rank 2 or rank 1 but got rank ${u.rank}.`),l!=null&&F(l.rank===2||l.rank===1,()=>`Error in batchNorm2D: scale must be rank 2 or rank 1 but got rank ${l.rank}.`),d!=null&&F(d.rank===2||d.rank===1,()=>`Error in batchNorm2D: offset must be rank 2 or rank 1 but got rank ${d.rank}.`),xi(i,o,u,d,l,s)}var t3=L({batchNorm2d_:eE});function tE(e,t,n,a,r,s){let i=M(e,"x","batchNorm"),o=M(t,"mean","batchNorm"),u=M(n,"variance","batchNorm"),l;r!=null&&(l=M(r,"scale","batchNorm"));let d;return a!=null&&(d=M(a,"offset","batchNorm")),F(i.rank===3,()=>`Error in batchNorm3D: x must be rank 3 but got rank ${i.rank}.`),F(o.rank===3||o.rank===1,()=>`Error in batchNorm3D: mean must be rank 3 or rank 1 but got rank ${o.rank}.`),F(u.rank===3||u.rank===1,()=>`Error in batchNorm3D: variance must be rank 3 or rank 1 but got rank ${u.rank}.`),l!=null&&F(l.rank===3||l.rank===1,()=>`Error in batchNorm3D: scale must be rank 3 or rank 1 but got rank ${l.rank}.`),d!=null&&F(d.rank===3||d.rank===1,()=>`Error in batchNorm3D: offset must be rank 3 or rank 1 but got rank ${d.rank}.`),xi(i,o,u,d,l,s)}var n3=L({batchNorm3d_:tE});function nE(e,t,n,a,r,s){let i=M(e,"x","batchNorm"),o=M(t,"mean","batchNorm"),u=M(n,"variance","batchNorm"),l;r!=null&&(l=M(r,"scale","batchNorm"));let d;return a!=null&&(d=M(a,"offset","batchNorm")),F(i.rank===4,()=>`Error in batchNorm4D: x must be rank 4 but got rank ${i.rank}.`),F(o.rank===4||o.rank===1,()=>`Error in batchNorm4D: mean must be rank 4 or rank 1 but got rank ${o.rank}.`),F(u.rank===4||u.rank===1,()=>`Error in batchNorm4D: variance must be rank 4 or rank 1 but got rank ${u.rank}.`),l!=null&&F(l.rank===4||l.rank===1,()=>`Error in batchNorm4D: scale must be rank 4 or rank 1 but got rank ${l.rank}.`),d!=null&&F(d.rank===4||d.rank===1,()=>`Error in batchNorm4D: offset must be rank 4 or rank 1 but got rank ${d.rank}.`),xi(i,o,u,d,l,s)}var a3=L({batchNorm4d_:nE});function aE(e,t,n){let a=M(e,"x","bincount"),r=M(t,"weights","bincount");F(a.dtype==="int32",()=>`Error in bincount: input dtype must be int32, but got ${a.dtype}`),F(n>=0,()=>`size must be non-negative, but got ${n}.`),F(r.size===a.size||r.size===0,()=>`Error in bincount: weights must have the same size as input or0-length, but got input shape: ${a.shape}, weights shape: ${r.shape}.`);let s={x:a,weights:r},i={size:n};return _.runKernel(Bp,s,i)}var b1=L({bincount_:aE});function rE(e,t){let n=M(e,"broadcastTo","x"),a=n.shape;if(t.some(u=>!(u>0)||u%1!=0))throw new Error(`broadcastTo(): Invalid broadcast shape [${t}].`);if(t.lengthn.rank){let u=n.shape.slice();for(;u.length=0;u--)if(r[u]===t[u])s[u]=1;else if(n.shape[u]!==1)throw new Error(`broadcastTo(): [${a}] cannot be broadcast to [${t}].`);if(s.map((u,l)=>u>1?l:-1).filter(u=>u>=0).length===0)return Ba(n);let i={x:n},o={reps:s};return _.runKernel($r,i,o)}var xl=L({broadcastTo_:rE});function sE(e){let t={x:M(e,"x","ceil")};return _.runKernel(gs,t)}var v1=L({ceil_:sE});function iE(e,t,n){let a=M(e,"x","clipByValue");F(t<=n,()=>`Error in clip: min (${t}) must be less than or equal to max (${n}).`);let r={x:a},s={clipValueMin:t,clipValueMax:n};return _.runKernel(Fr,r,s)}var Nn=L({clipByValue_:iE});function oE(e){return lt(e,0)}var r3=L({concat1d_:oE});function lE(e,t){return lt(e,t)}var bl=L({concat2d_:lE});function uE(e,t){return lt(e,t)}var s3=L({concat3d_:uE});function dE(e,t){return lt(e,t)}var i3=L({concat4d_:dE});function pE(e,t,n,a,r="NHWC",s=[1,1],i){let o=M(e,"x","conv2d"),u=M(t,"filter","conv2d"),l=o,d=!1;o.rank===3&&(d=!0,l=H(o,[1,o.shape[0],o.shape[1],o.shape[2]])),F(l.rank===4,()=>`Error in conv2d: input must be rank 4, but got rank ${l.rank}.`),F(u.rank===4,()=>`Error in conv2d: filter must be rank 4, but got rank ${u.rank}.`),i!=null&&F(Ht(a),()=>`Error in conv2d: pad must be an integer when using, dimRoundingMode ${i} but got pad ${a}.`);let p=r==="NHWC"?l.shape[3]:l.shape[1];F(p===u.shape[2],()=>`Error in conv2d: depth of input (${p}) must match input depth for filter ${u.shape[2]}.`),F(Va(n,s),()=>`Error in conv2D: Either strides or dilations must be 1. Got strides ${n} and dilations '${s}'`);let c={x:l,filter:u},h={strides:n,pad:a,dataFormat:r,dilations:s,dimRoundingMode:i},m=_.runKernel(xs,c,h);return d?H(m,[m.shape[1],m.shape[2],m.shape[3]]):m}var pr=L({conv2d_:pE});function cE(e,t,n,a,r="NWC",s=1,i){let o=M(e,"x","conv1d"),u=M(t,"filter","conv1d"),l=o,d=!1;o.rank===2&&(d=!0,l=H(o,[1,o.shape[0],o.shape[1]])),F(l.rank===3,()=>`Error in conv1d: input must be rank 3, but got rank ${l.rank}.`),F(u.rank===3,()=>`Error in conv1d: filter must be rank 3, but got rank ${u.rank}.`),i!=null&&F(Ht(a),()=>`Error in conv1d: pad must be an integer when using, dimRoundingMode ${i} but got pad ${a}.`),F(l.shape[2]===u.shape[1],()=>`Error in conv1d: depth of input (${l.shape[2]}) must match input depth for filter ${u.shape[1]}.`),F(Va(n,s),()=>`Error in conv1D: Either stride or dilation must be 1. Got stride ${n} and dilation '${s}'`),F(r==="NWC",()=>`Error in conv1d: got dataFormat of ${r} but only NWC is currently supported.`);let p=H(u,[1,u.shape[0],u.shape[1],u.shape[2]]),c=H(l,[l.shape[0],1,l.shape[1],l.shape[2]]),h=pr(c,p,[1,n],a,"NHWC",[1,s],i);return d?H(h,[h.shape[2],h.shape[3]]):H(h,[h.shape[0],h.shape[2],h.shape[3]])}var Mc=L({conv1d_:cE});function hE(e,t,n,a,r,s="NHWC",i){F(e.length===t.rank,()=>`Length of inShape (${e.length}) and rank of dy (${t.rank}) must match`);let o=e,u=t,l=!1;t.rank===3&&(l=!0,u=H(t,[1,t.shape[0],t.shape[1],t.shape[2]]),o=[1,e[0],e[1],e[2]]),F(o.length===4,()=>`Error in conv2dDerInput: inShape must be length 4, but got length ${o.length}.`),F(u.rank===4,()=>`Error in conv2dDerInput: dy must be rank 4, but got rank ${u.rank}`),F(n.rank===4,()=>`Error in conv2dDerInput: filter must be rank 4, but got rank ${n.rank}`);let d=s==="NHWC"?o[3]:o[1],p=s==="NHWC"?u.shape[3]:u.shape[1];F(d===n.shape[2],()=>`Error in conv2dDerInput: depth of input (${d}) must match input depth for filter ${n.shape[2]}.`),F(p===n.shape[3],()=>`Error in conv2dDerInput: depth of output (${p}) must match output depth for filter ${n.shape[3]}.`),i!=null&&F(Ht(r),()=>`Error in conv2dDerInput: pad must be an integer when using, dimRoundingMode ${i} but got pad ${r}.`);let c={dy:u,filter:n},h={strides:a,pad:r,dataFormat:s,dimRoundingMode:i,inputShape:o},m=_.runKernel(bs,c,h);return l?H(m,[m.shape[1],m.shape[2],m.shape[3]]):m}var w1=L({conv2DBackpropInput_:hE});function fE(e,t,n,a,r,s){let i=M(e,"x","conv2dTranspose"),o=M(t,"filter","conv2dTranspose");return w1(n,i,o,a,r,"NHWC",s)}var Fc=L({conv2dTranspose_:fE});function mE(e,t,n,a,r="NDHWC",s=[1,1,1]){let i=M(e,"x","conv3d"),o=M(t,"filter","conv3d"),u=i,l=!1;i.rank===4&&(l=!0,u=H(i,[1,i.shape[0],i.shape[1],i.shape[2],i.shape[3]])),F(u.rank===5,()=>`Error in conv3d: input must be rank 5, but got rank ${u.rank}.`),F(o.rank===5,()=>`Error in conv3d: filter must be rank 5, but got rank ${o.rank}.`),F(u.shape[4]===o.shape[3],()=>`Error in conv3d: depth of input (${u.shape[4]}) must match input depth for filter ${o.shape[3]}.`),F(Va(n,s),()=>`Error in conv3D: Either strides or dilations must be 1. Got strides ${n} and dilations '${s}'`),F(r==="NDHWC",()=>`Error in conv3d: got dataFormat of ${r} but only NDHWC is currently supported.`);let d={x:u,filter:o},p={strides:n,pad:a,dataFormat:r,dilations:s},c=_.runKernel(Ru,d,p);return l?H(c,[c.shape[1],c.shape[2],c.shape[3],c.shape[4]]):c}var k1=L({conv3d_:mE});function yE(e,t,n,a,r){F(e.length===t.rank,()=>`Length of inShape (${e.length}) and rank of dy (${t.rank}) must match`);let s=e,i=t,o=!1;t.rank===4&&(o=!0,i=H(t,[1,t.shape[0],t.shape[1],t.shape[2],t.shape[3]]),s=[1,e[0],e[1],e[2],e[3]]);let u=s[4],l=i.shape[4];F(s.length===5,()=>`Error in conv3dDerInput: inShape must be length 5, but got length ${s.length}.`),F(i.rank===5,()=>`Error in conv3dDerInput: dy must be rank 5, but got rank ${i.rank}`),F(n.rank===5,()=>`Error in conv3dDerInput: filter must be rank 5, but got rank ${n.rank}`),F(u===n.shape[3],()=>`Error in conv3dDerInput: depth of input (${u}) must match input depth for filter ${n.shape[3]}.`),F(l===n.shape[4],()=>`Error in conv3dDerInput: depth of output (${l}) must match output depth for filter ${n.shape[4]}.`);let d={dy:i,filter:n},p={pad:r,strides:a,inputShape:s},c=_.runKernel(Hp,d,p);return o?H(c,[c.shape[1],c.shape[2],c.shape[3],c.shape[4]]):c}var o3=L({conv3DBackpropInput_:yE});function AE(e,t,n,a,r){let s=M(e,"x","conv3dTranspose"),i=M(t,"filter","conv3dTranspose");return o3(n,s,i,a,r)}var l3=L({conv3dTranspose_:AE});function gE(e){let t={x:M(e,"x","cos")};return _.runKernel(vs,t)}var ad=L({cos_:gE});function xE(e){let t={x:M(e,"x","cosh")};return _.runKernel(xo,t)}var $c=L({cosh_:xE});function bE(e,t=0,n=!1,a=!1){let r={x:M(e,"x","cumsum")},s={axis:t,exclusive:n,reverse:a};return _.runKernel(ws,r,s)}var Dc=L({cumsum_:bE});function vE(e,t,n,a=!1){let r=M(e,"x","denseBincount"),s=M(t,"weights","denseBincount");F(r.dtype==="int32",()=>`Error in denseBincount: input dtype must be int32, but got ${r.dtype}`),F(r.rank<=2,()=>`Error in denseBincount: input must be at most rank 2, but got rank ${r.rank}.`),F(n>=0,()=>`size must be non-negative, but got ${n}.`),F(s.size===r.size||s.size===0,()=>`Error in denseBincount: weights must have the same shape as x or 0-length, but got x shape: ${r.shape}, weights shape: ${s.shape}.`);let i={x:r,weights:s},o={size:n,binaryOutput:a};return _.runKernel(Gp,i,o)}var u3=L({denseBincount_:vE});function wE(e,t,n="NHWC"){let a=M(e,"x","depthToSpace"),r=n==="NHWC"?a.shape[1]:a.shape[2],s=n==="NHWC"?a.shape[2]:a.shape[3],i=n==="NHWC"?a.shape[3]:a.shape[1];F(r*t>=0,()=>`Negative dimension size caused by overflow when multiplying - ${r} and ${t} for depthToSpace with input shape - ${a.shape}`),F(s*t>=0,()=>`Negative dimension size caused by overflow when multiplying - ${s} and ${t} for depthToSpace with input shape - ${a.shape}`),F(i%(t*t)==0,()=>`Dimension size must be evenly divisible by ${t*t} but is ${i} for depthToSpace with input shape ${a.shape}`);let o={x:a},u={blockSize:t,dataFormat:n};return _.runKernel(vo,o,u)}var I1=L({depthToSpace_:wE});function kE(e,t,n,a,r="NHWC",s=[1,1],i){let o=M(e,"x","depthwiseConv2d"),u=M(t,"filter","depthwiseConv2d"),l=o,d=!1;o.rank===3&&(d=!0,l=H(o,[1,o.shape[0],o.shape[1],o.shape[2]])),F(l.rank===4,()=>`Error in depthwiseConv2d: input must be rank 4, but got rank ${l.rank}.`),F(u.rank===4,()=>`Error in depthwiseConv2d: filter must be rank 4, but got rank ${u.rank}.`),F(l.shape[3]===u.shape[2],()=>`Error in depthwiseConv2d: number of input channels (${l.shape[3]}) must match the inChannels dimension in filter ${u.shape[2]}.`),i!=null&&F(Ht(a),()=>`Error in depthwiseConv2d: pad must be an integer when using, dimRoundingMode ${i} but got pad ${a}.`);let p={x:l,filter:u},c={strides:n,pad:a,dataFormat:r,dilations:s,dimRoundingMode:i},h=_.runKernel(ks,p,c);return d?H(h,[h.shape[1],h.shape[2],h.shape[3]]):h}var vl=L({depthwiseConv2d_:kE});function IE(e){let t={x:M(e,"x","diag")};return _.runKernel(Kp,t)}var SE=L({diag_:IE});function NE(e,t,n,a,r=[1,1],s="NHWC"){let i=M(e,"x","dilation2d"),o=M(t,"filter","dilation2d");F(i.rank===3||i.rank===4,()=>`Error in dilation2d: input must be rank 3 or 4, but got rank ${i.rank}.`),F(o.rank===3,()=>`Error in dilation2d: filter must be rank 3, but got rank ${o.rank}.`),F(s==="NHWC",()=>`Error in dilation2d: Only NHWC is currently supported, but got dataFormat of ${s}`);let u=i,l=!1;i.rank===3&&(u=H(i,[1,i.shape[0],i.shape[1],i.shape[2]]),l=!0);let d={x:u,filter:o},p={strides:n,pad:a,dilations:r},c=_.runKernel(Mu,d,p);return l?H(c,[c.shape[1],c.shape[2],c.shape[3]]):c}var S1=L({dilation2d_:NE});function TE(e,t){let n=e.length,a=[];for(let r=0;r1&&i===1&&a.unshift(s)}return a}function Wt(e,t){let n=[];for(let a=0;a1)&&n.unshift(s)}return n}function ct(e,t){let n=[],a=Math.max(e.length,t.length);for(let r=0;r`Error in dot: inputs must all be rank 1 or 2, but got ranks ${n.rank} and ${a.rank}.`);let r=n.rank===1?n.size:n.shape[1],s=a.rank===1?a.size:a.shape[0];if(F(r===s,()=>`Error in dot: inner dimensions of inputs must match, but got ${r} and ${s}.`),n.rank===1&&a.rank===1){let i=H(n,[1,-1]),o=H(a,[-1,1]),u=Ve(i,o);return H(u,[])}else if(n.rank===1&&a.rank===2){let i=H(n,[1,-1]),o=H(a,[a.shape[0],a.shape[1]]),u=Ve(i,o);return H(u,[u.size])}else if(n.rank===2&&a.rank===1){let i=H(a,[-1,1]),o=Ve(n,i);return H(o,[o.size])}else{let i=H(a,[a.shape[0],a.shape[1]]);return Ve(n,i)}}var d3=L({dot_:FE});function $E(e,...t){let n=t.map((r,s)=>M(r,`tensors${s}`,"einsum")),a={equation:e};return _.runKernel(Jp,n,a)}var p3=L({einsum_:$E});function DE(e){let t={x:M(e,"x","elu")};return _.runKernel(wo,t)}var wl=L({elu_:DE});function zE(e){let t=M(e,"x","erf");F(t.dtype==="int32"||t.dtype==="float32",()=>"Input dtype must be `int32` or `float32`."),t.dtype==="int32"&&(t=me(t,"float32"));let n={x:t};return _.runKernel(ko,n)}var T1=L({erf_:zE});function OE(e){let t={x:M(e,"x","exp")};return _.runKernel(Ss,t)}var ta=L({exp_:OE});function _E(e,t=0){let n=M(e,"x","expandDims","string_or_numeric");F(t<=n.rank,()=>"Axis must be <= rank of the tensor");let a={input:n},r={dim:t};return _.runKernel(So,a,r)}var dn=L({expandDims_:_E});function PE(e){let t={x:M(e,"x","expm1")};return _.runKernel(No,t)}var E1=L({expm1_:PE});function LE(e,t){let n=M(e,"x","tile","string_or_numeric");F(n.rank===t.length,()=>`Error in transpose: rank of input ${n.rank} must match length of reps ${t}.`);let a={x:n},r={reps:t};return _.runKernel($r,a,r)}var Br=L({tile_:LE});function WE(e,t,n,a="float32"){t==null&&(t=e);let r=Be([e,t],a),s=e<=t?e:t;for(let o=0;o`Error in localResponseNormalization: x must be rank 3 or 4 but got - rank ${s.rank}.`),F(Ht(t),()=>`Error in localResponseNormalization: depthRadius must be an integer but got depthRadius ${t}.`);let i=s,o=!1;s.rank===3&&(o=!0,i=H(s,[1,s.shape[0],s.shape[1],s.shape[2]]));let u={x:i},l={depthRadius:t,bias:n,alpha:a,beta:r},d=_.runKernel(zu,u,l);return o?H(d,[d.shape[1],d.shape[2],d.shape[3]]):d}var M1=L({localResponseNormalization_:JE});function QE(e){let t={x:M(e,"x","log")};return _.runKernel(Fs,t)}var _n=L({log_:QE});function eC(e){let t={x:M(e,"x","log1p")};return _.runKernel(Oo,t)}var _c=L({log1p_:eC});function tC(e){return F(Rr(e),()=>"The f passed in grad(f) must be a function"),(t,n)=>{let a=M(t,"x","tf.grad","string_or_numeric"),r=n!=null?M(n,"dy","tf.grad"):null;return _.tidy(()=>{let{value:s,grads:i}=_.gradients(()=>e(a),[a],r);return r!=null&&ln(s.shape,r.shape,"The shape of dy passed in grad(f)(x, dy) must match the shape returned by f(x)"),Pc(i),i[0]})}}function nC(e){return F(Rr(e),()=>"The f passed in grads(f) must be a function"),(t,n)=>{F(Array.isArray(t),()=>"The args passed in grads(f)(args) must be an array of `Tensor`s or `TensorLike`s");let a=Yu(t,"args","tf.grads","string_or_numeric"),r=n!=null?M(n,"dy","tf.grads"):null;return _.tidy(()=>{let{value:s,grads:i}=_.gradients(()=>e(...a),a,r);return r!=null&&ln(s.shape,r.shape,"The shape of dy passed in grads(f)([x1,...], dy) must match the shape returned by f([x1,...])"),Pc(i),i})}}function aC(e){return F(Rr(e),()=>"The f passed in valueAndGrad(f) must be a function"),(t,n)=>{F(t instanceof We,()=>"The x passed in valueAndGrad(f)(x) must be a tensor"),F(n==null||n instanceof We,()=>"The dy passed in valueAndGrad(f)(x, dy) must be a tensor");let{grads:a,value:r}=_.gradients(()=>e(t),[t],n);return Pc(a),{grad:a[0],value:r}}}function rC(e){return F(Rr(e),()=>"The f passed in valueAndGrads(f) must be a function"),(t,n)=>{F(Array.isArray(t)&&t.every(r=>r instanceof We),()=>"The args passed in valueAndGrads(f)(args) must be array of tensors"),F(n==null||n instanceof We,()=>"The dy passed in valueAndGrads(f)(args, dy) must be a tensor");let a=_.gradients(()=>e(...t),t,n);return n!=null&&ln(a.value.shape,n.shape,"The shape of dy passed in valueAndGrads(f)([x1,...], dy) must match the shape returned by f([x1,...])"),Pc(a.grads),a}}function m3(e,t){F(Rr(e),()=>"The f passed in variableGrads(f) must be a function"),F(t==null||Array.isArray(t)&&t.every(l=>l instanceof Xu),()=>"The varList passed in variableGrads(f, varList) must be an array of variables");let n=t!=null;if(!n){t=[];for(let l in _.registeredVariables)t.push(_.registeredVariables[l])}let a=n?t.filter(l=>!l.trainable):null,r=t.length;t=t.filter(l=>l.trainable),F(t.length>0,()=>`variableGrads() expects at least one of the input variables to be trainable, but none of the ${r} variables is trainable.`);let s=!0,{value:i,grads:o}=_.gradients(e,t,null,s);F(o.some(l=>l!=null),()=>"Cannot find a connection between any variable and the result of the loss function y=f(x). Please make sure the operations that use variables are inside the function f passed to minimize()."),F(i.rank===0,()=>`The f passed in variableGrads(f) must return a scalar, but it returned a rank-${i.rank} tensor`);let u={};return t.forEach((l,d)=>{o[d]!=null&&(u[l.name]=o[d])}),a!=null&&a.forEach(l=>u[l.name]=null),{value:i,grads:u}}function ja(e){return _.customGrad(e)}function Pc(e){if(e.filter(t=>t==null).length>0)throw new Error(`Cannot compute gradient of y=f(x) with respect to x. Make sure that - the f you passed encloses all operations that lead from x to y.`)}function sC(e){let t={x:M(e,"x","neg")};return _.runKernel(Lo,t)}var It=L({neg_:sC});function iC(e){let t={x:M(e,"x","softplus")};return _.runKernel(tl,t)}var vi=L({softplus_:iC});function oC(e){let t=M(e,"x","logSigmoid");return ja(n=>({value:It(vi(It(n))),gradFunc:a=>W(a,Sn(It(n)))}))(t)}var y3=L({logSigmoid_:oC});function lC(e,t=null,n=!1){let a={x:M(e,"x","max")},r={reductionIndices:t,keepDims:n};return _.runKernel($s,a,r)}var Tn=L({max_:lC});function uC(e,t){let n=M(e,"a","sub"),a=M(t,"b","sub");[n,a]=kt(n,a);let r={a:n,b:a};return _.runKernel(ai,r)}var ye=L({sub_:uC});function dC(e,t=null,n=!1){let a=M(e,"x","sum");a.dtype==="bool"&&(a=me(a,"int32"));let r={x:a},s={axis:t,keepDims:n};return _.runKernel(ei,r,s)}var Se=L({sum_:dC});function pC(e,t=-1){let n=M(e,"logits","logSoftmax");if(t===-1&&(t=n.rank-1),t!==n.rank-1)throw Error(`Log Softmax along a non-last dimension is not yet supported. Logits was rank ${n.rank} and axis was ${t}`);return ja((a,r)=>{let s=!0,i=Tn(a,t,!0),o=ye(a,i),u=ye(me(o,"float32"),_n(Se(ta(o),t,s)));return r([u]),{value:u,gradFunc:(l,d)=>{let[p]=d,c=!0,h=ta(p);return ye(l,W(Se(l,t,c),h))}}})(n)}var Lc=L({logSoftmax_:pC});function F1(e,t){for(let n=0;ne[s]);return[n,r]}function wi(e,t){let n=t.map(a=>1);return A3(e,n,t)}function cC(e,t,n){F(F1(t,n),()=>`${e} supports only inner-most axes for now. Got axes ${t} and rank-${n} input.`)}function x3(e,t){if(F1(e,t))return null;let n=[];for(let a=0;an.push(a)),n}function $1(e){return e.map((t,n)=>[n,t]).sort((t,n)=>t[1]-n[1]).map(t=>t[0])}function hC(e,t){let n=[];for(let a=t-e;a`Error in maxPool: input must be rank 4 but got rank ${o.rank}.`),F(Va(n,i),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${n} and dilations '${i}'`),r!=null&&F(Ht(a),()=>`Error in maxPool: pad must be an integer when using, dimRoundingMode ${r} but got pad ${a}.`);let l={x:o},d={filterSize:t,strides:n,pad:a,dimRoundingMode:r},p=_.runKernel(zs,l,d);return u?H(p,[p.shape[1],p.shape[2],p.shape[3]]):p}var id=L({maxPool_:xC});function bC(e,t=[1,1,1],n,a,r,s="NDHWC"){let i=M(e,"x","maxPool3d"),o=i,u=!1;i.rank===4&&(u=!0,o=H(i,[1,i.shape[0],i.shape[1],i.shape[2],i.shape[3]])),F(o.rank===5,()=>`Error in maxPool3d: x must be rank 5 but got rank ${o.rank}.`),F(s==="NDHWC",()=>`Error in maxPool3d: Only NDHWC is currently supported, but got dataFormat of ${s}`),r!=null&&F(Ht(a),()=>`Error in maxPool3d: pad must be an integer when using, dimRoundingMode ${r} but got pad ${a}.`);let l={x:o},d={filterSize:t,strides:n,pad:a,dimRoundingMode:r,dataFormat:s},p=_.runKernel(Ou,l,d);return u?H(p,[p.shape[1],p.shape[2],p.shape[3],p.shape[4]]):p}var z1=L({maxPool3d_:bC});function vC(e,t,n,a,r=!1){let s={x:M(e,"x","maxPoolWithArgmax")},i={filterSize:t,strides:n,pad:a,includeBatchInIndex:r},o=_.runKernel(oc,s,i);return{result:o[0],indexes:o[1]}}var v3=L({maxPoolWithArgmax_:vC});function wC(e,t){let n=M(e,"a","maximum"),a=M(t,"b","maximum");[n,a]=kt(n,a),n.dtype==="bool"&&(n=me(n,"int32"),a=me(a,"int32")),ct(n.shape,a.shape);let r={a:n,b:a};return _.runKernel(Ds,r)}var Ua=L({maximum_:wC});function kC(e,t=null,n=!1){let a={x:M(e,"x","mean")},r={axis:t,keepDims:n};return _.runKernel(Os,a,r)}var St=L({mean_:kC});function $t(e,t="float32"){if(t==="complex64"){let a=$t(e,"float32"),r=$t(e,"float32");return zr(a,r)}let n=Pp(Rt(e),t);return _.makeTensor(n,e,t)}function Pn(e,t="float32"){if(t==="complex64"){let a=Pn(e,"float32"),r=$t(e,"float32");return zr(a,r)}let n=Em(Rt(e),t);return _.makeTensor(n,e,t)}function IC(e,t,{indexing:n="xy"}={}){if(n!=="xy"&&n!=="ij")throw new TypeError(`${n} is not a valid third argument to meshgrid`);if(e===void 0)return[];let a=M(e,"x","meshgrid",e instanceof We?e.dtype:"float32");if(t===void 0)return[a];let r=M(t,"y","meshgrid",t instanceof We?t.dtype:"float32"),s=Rt(a.shape),i=Rt(r.shape);return n==="xy"?(a=H(a,[1,-1]),r=H(r,[-1,1]),[Ve(Pn([i,1],a.dtype),a),Ve(r,Pn([1,s],r.dtype))]):(a=H(a,[-1,1]),r=H(r,[1,-1]),[Ve(a,Pn([1,i],a.dtype)),Ve(Pn([s,1],r.dtype),r)])}function SC(e,t=null,n=!1){let a={x:M(e,"x","min")},r={axis:t,keepDims:n};return _.runKernel(_s,a,r)}var Sl=L({min_:SC});function NC(e,t){let n=M(e,"a","minimum"),a=M(t,"b","minimum");[n,a]=kt(n,a),n.dtype==="bool"&&(n=me(n,"int32"),a=me(a,"int32")),ct(n.shape,a.shape);let r={a:n,b:a};return _.runKernel(Ps,r)}var Nl=L({minimum_:NC});function TC(e,t,n){F(n==="reflect"||n==="symmetric",()=>`Invalid mode. Mode must be either reflect or symmetric. Got ${n}.`);let a=M(e,"x","mirrorPad");if(a.rank===0)throw new Error("mirrorPad(scalar) is not defined. Pass non-scalar to mirrorPad");F(t.length===a.rank,()=>`Padding doesn't match input. Must be ${a.rank}. Got ${t.length}.`);let r=n==="reflect"?1:0;for(let o=0;o"Invalid number of paddings. Must be length of 2 each."),F(t[o][0]>=0&&t[o][0]<=a.shape[o]-r&&t[o][1]>=0&&t[o][1]<=a.shape[o]-r,()=>`Padding in dimension ${o} cannot be greater than or equal to ${a.shape[o]-r} or less than 0 for input of shape ${a.shape}`);let s={paddings:t,mode:n},i={x:a};return _.runKernel(Ls,i,s)}var O1=L({mirrorPad_:TC});function EC(e,t){let n=M(e,"a","mod"),a=M(t,"b","mod");[n,a]=kt(n,a);let r={a:n,b:a};return _.runKernel(Po,r)}var _1=L({mod_:EC});function CC(e){let t=M(e,"x","square"),n={};return _.runKernel("Square",{x:t},n)}var ot=L({square_:CC});function RC(e,t=null,n=!1){e=M(e,"x","moments");let a=ua(t,e.shape),r=St(e,a,n),s=r.shape;n||(s=wi(r.shape,a));let i=ot(ye(me(e,"float32"),H(r,s))),o=St(i,a,n);return{mean:r,variance:o}}var Bc=L({moments_:RC});function MC(e,t,n,a){let r=M(t,"data","multiRNNCell"),s=Yu(n,"c","multiRNNCell"),i=Yu(a,"h","multiRNNCell"),o=r,u=[];for(let p=0;p2)throw new Error(`Rank of probabilities must be 1 or 2, but is ${i}`);n=n||Math.random();let o={logits:i===1?H(r,[1,-1]):r},u={numSamples:t,seed:n,normalized:a},l=_.runKernel(lc,o,u);return i===1?H(l,[l.size]):l}var w3=L({multinomial_:$C});function DC(e,t){let n=M(e,"a","notEqual"),a=M(t,"b","notEqual");[n,a]=kt(n,a),ct(n.shape,a.shape);let r={a:n,b:a};return _.runKernel(Wo,r)}var ki=L({notEqual_:DC});function zC(e){let t={x:M(e,"x","onesLike")};return _.runKernel(Uo,t)}var Ln=L({onesLike_:zC});function OC(e,t){let n=M(e,"v1","outerProduct"),a=M(t,"v2","outerProduct");F(n.rank===1&&a.rank===1,()=>`Error in outerProduct: inputs must be rank 1, but got ranks ${n.rank} and ${a.rank}.`);let r=H(n,[-1,1]),s=H(a,[1,-1]);return Ve(r,s)}var _C=L({outerProduct_:OC});function PC(e,t,n=0){let a=M(e,"x","pad");if(a.rank===0)throw new Error("pad(scalar) is not defined. Pass non-scalar to pad");let r={paddings:t,constantValue:n},s={x:a};return _.runKernel(Vs,s,r)}var cr=L({pad_:PC});function LC(e,t,n=0){return F(t.length===2,()=>"Invalid number of paddings. Must be length of 2."),cr(e,[t],n)}var WC=L({pad1d_:LC});function BC(e,t,n=0){return F(t.length===2&&t[0].length===2&&t[1].length===2,()=>"Invalid number of paddings. Must be length of 2 each."),cr(e,t,n)}var VC=L({pad2d_:BC});function jC(e,t,n=0){return F(t.length===3&&t[0].length===2&&t[1].length===2&&t[2].length===2,()=>"Invalid number of paddings. Must be length of 2 each."),cr(e,t,n)}var UC=L({pad3d_:jC});function HC(e,t,n=0){return F(t.length===4&&t[0].length===2&&t[1].length===2&&t[2].length===2&&t[3].length===2,()=>"Invalid number of paddings. Must be length of 2 each."),cr(e,t,n)}var GC=L({pad4d_:HC});function qC(e,t,n){let a=M(e,"x","spaceToBatchND");F(a.rank>=1+t.length,()=>`input rank ${a.rank} should be > than [blockShape] ${t.length}`),F(n.length===t.length,()=>`paddings.shape[0] ${n.length} must be equal to [blockShape] ${t.length}`),F(a.shape.reduce((i,o,u)=>u>0&&u<=t.length?i&&(o+n[u-1][0]+n[u-1][1])%t[u-1]==0:i,!0),()=>`input spatial dimensions ${a.shape.slice(1)} with paddings ${n.toString()} must be divisible by blockShapes ${t.toString()}`);let r={x:a},s={blockShape:t,paddings:n};return _.runKernel(Lu,r,s)}var od=L({spaceToBatchND_:qC});function XC(e,t,n,a,r,s){r==null&&(r=[1,1]),s==null&&(s=1),a===0&&(a="valid");let i=M(e,"x","maxPool"),o=i,u=!1;i.rank===3&&(u=!0,o=H(i,[1,i.shape[0],i.shape[1],i.shape[2]])),F(Va(s,r),()=>`Error in pool: Either strides or dilations must be 1. Got strides ${s} and dilations '${r}'`);let l=Jb(o.shape,t,s,r,a),d=[l.dilationHeight,l.dilationWidth],p;a==="same"?p=ZC([l.filterHeight,l.filterWidth],d):p=[[0,0],[0,0]];let c=d[0]===1&&d[1]===1,[h,m]=KC([l.inHeight,l.inWidth],d,p),f=c?a:"valid",y=c?o:od(o,d,h),A=(n==="avg"?()=>td(y,t,s,f):()=>id(y,t,s,f))(),g=c?A:nd(A,d,m);return u?H(g,[g.shape[1],g.shape[2],g.shape[3]]):g}function KC(e,t,n){let a=n.map(d=>d[0]),r=n.map(d=>d[1]),s=e.concat(a,r),i=t.map((d,p)=>(d-s[p]%d)%d),o=r.map((d,p)=>d+i[p]),u=t.map((d,p)=>[a[p],o[p]]),l=t.map((d,p)=>[0,i[p]]);return[u,l]}function ZC(e,t){let n=e.map((s,i)=>s+(s-1)*(t[i]-1)).map(s=>s-1),a=n.map(s=>Math.floor(s/2)),r=n.map((s,i)=>s-a[i]);return n.map((s,i)=>[a[i],r[i]])}var k3=L({pool_:XC});function YC(e,t){let n=M(e,"base","pow"),a=M(t,"exp","pow");[n,a]=kt(n,a);let r={a:n,b:a};return _.runKernel(js,r)}var hr=L({pow_:YC});function JC(e,t){let n=M(e,"x","prelu"),a=M(t,"alpha","prelu"),r={x:n,alpha:a};return _.runKernel(Us,r)}var ld=L({prelu_:JC});function QC(e,t=null,n=!1){let a=M(e,"x","prod");a.dtype==="bool"&&(a=me(a,"int32"));let r={x:a},s={axis:t,keepDims:n};return _.runKernel(Go,r,s)}var Vc=L({prod_:QC});function eR(e,t,n){let a=Rt(e),r=null;if(n==null||n==="float32")r=new Float32Array(a);else if(n==="int32")r=new Int32Array(a);else if(n==="bool")r=new Uint8Array(a);else throw new Error(`Unknown data type ${n}`);for(let s=0;s=1||s===0);let i=Math.sqrt(-2*Math.log(s)/s);e=this.mean+this.stdDev*a*i,t=this.mean+this.stdDev*r*i,(!this.truncated||this.isValidTruncated(e))&&(n=!0)}return(!this.truncated||this.isValidTruncated(t))&&(this.nextVal=this.convertValue(t)),this.convertValue(e)}convertValue(e){return this.dtype==null||this.dtype==="float32"?e:Math.round(e)}isValidTruncated(e){return e<=this.upper&&e>=this.lower}},nR=class{constructor(e,t,n,a){this.alpha=e,this.beta=1/t,this.dtype=n;let r=a||Math.random();this.randu=P1.alea(r.toString()),this.randn=new L1(0,1,n,!1,this.randu()),e<1?this.d=e+2/3:this.d=e-1/3,this.c=1/Math.sqrt(9*this.d)}nextValue(){let e,t,n,a,r,s;for(;;){do a=this.randn.nextValue(),s=1+this.c*a;while(s<=0);if(s*=s*s,e=a*a,t=1-.331*e*e,n=.5*e+this.d*(1-s+Math.log(s)),r=this.randu(),rthis.dtype==null||this.dtype==="float32",this.min=e,this.range=t-e,this.dtype=n,a==null&&(a=Math.random()),typeof a=="number"&&(a=a.toString()),!this.canReturnFloat()&&this.range<=1)throw new Error(`The difference between ${e} - ${t} <= 1 and dtype is not float`);this.random=P1.alea(a)}convertValue(e){return this.canReturnFloat()?e:Math.round(e)}nextValue(){return this.convertValue(this.min+this.range*this.random())}};function rR(e,t,n=1,a="float32",r){if(n==null&&(n=1),a==null&&(a="float32"),a!=="float32"&&a!=="int32")throw new Error(`Unsupported data type ${a}`);let s=new nR(t,n,a,r),i=Be(e,a);for(let o=0;o`Error in reverse1D: x must be rank 1 but got rank ${t.rank}.`),Wn(t,0)}var fR=L({reverse1d_:hR});function mR(e,t){let n=M(e,"x","reverse");return F(n.rank===2,()=>`Error in reverse2D: x must be rank 2 but got rank ${n.rank}.`),Wn(n,t)}var yR=L({reverse2d_:mR});function AR(e,t){let n=M(e,"x","reverse");return F(n.rank===3,()=>`Error in reverse3D: x must be rank 3 but got rank ${n.rank}.`),Wn(n,t)}var gR=L({reverse3d_:AR});function xR(e,t){let n=M(e,"x","reverse");return F(n.rank===4,()=>`Error in reverse4D: x must be rank 4 but got rank ${n.rank}.`),Wn(n,t)}var bR=L({reverse4d_:xR});function vR(e){let t={x:M(e,"x","round")};return _.runKernel(Ks,t)}var Uc=L({round_:vR});function wR(e){let t={x:M(e,"x","rsqrt")};return _.runKernel(Zs,t)}var Hc=L({rsqrt_:wR});function we(e,t){if((an(e)&&t!=="string"||Array.isArray(e))&&t!=="complex64")throw new Error("Error creating a new Scalar: value must be a primitive (number|boolean|string)");if(t==="string"&&an(e)&&!(e instanceof Uint8Array))throw new Error("When making a scalar from encoded string, the value must be `Uint8Array`.");return Or(e,[],[],t)}function kR(e){let t={x:M(e,"x","selu")};return _.runKernel(Yo,t)}var Gc=L({selu_:kR});function IR(e,t,n,a,r,s=[1,1],i="NHWC"){let o=M(e,"x","separableConv2d"),u=M(t,"depthwiseFilter","separableConv2d"),l=M(n,"pointwiseFilter","separableConv2d"),d=o,p=!1;if(o.rank===3&&(p=!0,d=H(o,[1,o.shape[0],o.shape[1],o.shape[2]])),i==="NCHW")throw new Error("separableConv2d currently does not support dataFormat NCHW; only NHWC is supported");F(d.rank===4,()=>`Error in separableConv2d: input must be rank 4, but got rank ${d.rank}.`),F(u.rank===4,()=>`Error in separableConv2d: depthwise filter must be rank 4, but got rank ${u.rank}.`),F(l.rank===4,()=>`Error in separableConv2d: pointwise filter must be rank 4, but got rank ${u.rank}.`),F(l.shape[0]===1,()=>`Error in separableConv2d: the first dimension of pointwise filter must be 1, but got ${l.shape[0]}.`),F(l.shape[1]===1,()=>`Error in separableConv2d: the second dimension of pointwise filter must be 1, but got ${l.shape[1]}.`);let c=u.shape[2],h=u.shape[3];F(l.shape[2]===c*h,()=>`Error in separableConv2d: the third dimension of pointwise filter must be ${c*h}, but got ${l.shape[2]}.`);let m=vl(d,u,a,r,i,s),f=pr(m,l,1,"valid",i);return p?H(f,[f.shape[1],f.shape[2],f.shape[3]]):f}var B1=L({separableConv2d_:IR});async function SR(e,t){let n=M(e,"x","setdiff1d"),a=M(t,"y","setdiff1d");F(n.dtype===a.dtype,()=>`x and y should have the same dtype, but got x (${n.dtype}) and y (${a.dtype}).`),F(n.rank===1,()=>`x should be 1D tensor, but got x (${n.shape}).`),F(a.rank===1,()=>`y should be 1D tensor, but got y (${a.shape}).`);let r=await n.data(),s=await a.data(),i=new Set(s),o=0;for(let d=0;d`slice1d expects a rank-1 tensor, but got a rank-${a.rank} tensor`),Re(a,[t],[n])}var Kc=L({slice1d_:CR});function RR(e,t,n){let a=M(e,"x","slice2d");return F(a.rank===2,()=>`slice2d expects a rank-2 tensor, but got a rank-${a.rank} tensor`),Re(a,t,n)}var j1=L({slice2d_:RR});function MR(e,t,n){let a=M(e,"x","slice3d");return F(a.rank===3,()=>`slice3d expects a rank-3 tensor, but got a rank-${a.rank} tensor`),Re(a,t,n)}var Zc=L({slice3d_:MR});function FR(e,t,n){let a=M(e,"x","slice4d");return F(a.rank===4,()=>`slice4d expects a rank-4 tensor, but got a rank-${a.rank} tensor`),Re(a,t,n)}var dd=L({slice4d_:FR});function $R(e,t=-1){let n=M(e,"logits","softmax","float32");if(t===-1&&(t=n.rank-1),t!==n.rank-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${n.rank} and dim was ${t}`);let a={logits:n},r={dim:t};return _.runKernel(ti,a,r)}var pd=L({softmax_:$R});function DR(e){F(e.dtype==="complex64",()=>`The dtype for tf.spectral.fft() must be complex64 but got ${e.dtype}.`);let t={input:e};return _.runKernel(ec,t)}var cd=L({fft_:DR});function zR(e){F(e.dtype==="complex64",()=>`The dtype for tf.spectral.ifft() must be complex64 but got ${e.dtype}.`);let t={input:e};return _.runKernel(tc,t)}var Cl=L({ifft_:zR});function OR(e){let t=e.shape[e.shape.length-1],n=e.size/t,a;if(t<=2){let r=H(e,[n,t]);a=Cl(r)}else{let r=[n,2*(t-1)],s=H(ud(e),[n,t]),i=H(zc(e),[n,t]),o=Wn(Re(s,[0,1],[n,t-2]),1),u=W(Wn(Re(i,[0,1],[n,t-2]),1),we(-1)),l=lt([s,o],1),d=lt([i,u],1),p=H(zr(l,d),[r[0],r[1]]);a=Cl(p)}if(a=ud(a),e.rank===3&&e.shape[0]!==0){let r=a,s=e.shape[0];a=H(a,[s,a.shape[0]/s,a.shape[1]]),r.dispose()}return a}var Yc=L({irfft_:OR});function _R(e,t,n=0){let a={x:M(e,"x","split")},r={numOrSizeSplits:t,axis:n};return _.runKernel(nl,a,r)}var qt=L({split_:_R});function PR(e,t){F(e.dtype==="float32",()=>`The dtype for rfft() must be real value but got ${e.dtype}`);let n=e.shape[e.shape.length-1],a=e.size/n,r;if(t!=null&&t0),f=e.shape.map(y=>y);f[e.shape.length-1]=t,r=Re(e,m,f),n=t}else if(t!=null&&t>n){let m=e.shape.map(f=>f);m[e.shape.length-1]=t-n,r=lt([e,$t(m)],e.shape.length-1),n=t}else r=e;let s=Ge(r),i=H(zr(r,s),[a,n]),o=cd(i),u=Math.floor(n/2)+1,l=ud(o),d=zc(o),p=qt(l,[u,n-u],l.shape.length-1),c=qt(d,[u,n-u],d.shape.length-1),h=r.shape.slice();return h[r.shape.length-1]=u,H(zr(p[0],c[0]),h)}var hd=L({rfft_:PR});function LR(e){let t={x:M(e,"x","sqrt")};return _.runKernel(Qs,t)}var en=L({sqrt_:LR});function WR(e,t){let n=M(e,"a","squaredDifference"),a=M(t,"b","squaredDifference");[n,a]=kt(n,a),ct(n.shape,a.shape);let r={a:n,b:a},s={};return _.runKernel(ni,r,s)}var Jc=L({squaredDifference_:WR});function BR(e,t){let n=M(e,"x","squeeze");return H(n,Gx(n.shape,t).newShape)}var ha=L({squeeze_:BR});function VR(e,t=0){let n=Yu(e,"tensors","stack","string_or_numeric");F(n.length>=1,()=>"Pass at least one tensor to tf.stack"),n.length>0&&F(t<=n[0].rank,()=>"Axis must be <= rank of the tensor");let a=n,r={axis:t};return _.runKernel(Ho,a,r)}var pn=L({stack_:VR});function jR(e,t=0){let n={x:M(e,"x","step")},a={alpha:t};return _.runKernel(Dr,n,a)}var Rl=L({step_:jR});function UR(e,t,n,a,r=0,s=0,i=0,o=0,u=0){let l={x:M(e,"x","stridedSlice")},d={begin:t,end:n,strides:a,beginMask:r,endMask:s,ellipsisMask:i,newAxisMask:o,shrinkAxisMask:u};return _.runKernel(al,l,d)}var U1=L({stridedSlice_:UR});function HR(e){let t={x:M(e,"x","tan")};return _.runKernel(ri,t)}var H1=L({tan_:HR});function Mt(e,t){ps(e);let n=Wa(e,t);if(n.length!==1)throw new Error("tensor1d() requires values to be a flat/TypedArray");return Or(e,null,n,t)}function wa(e,t,n){if(ps(e),t!=null&&t.length!==2)throw new Error("tensor2d() requires shape to have two numbers");let a=Wa(e,n);if(a.length!==2&&a.length!==1)throw new Error("tensor2d() requires values to be number[][] or flat/TypedArray");if(a.length===1&&t==null)throw new Error("tensor2d() requires shape to be provided when `values` are a flat/TypedArray");return Or(e,t,a,n)}function GR(e,t,n){if(ps(e),t!=null&&t.length!==4)throw new Error("tensor4d() requires shape to have four numbers");let a=Wa(e,n);if(a.length!==4&&a.length!==1)throw new Error("tensor4d() requires values to be number[][][][] or flat/TypedArray");if(a.length===1&&t==null)throw new Error("tensor4d() requires shape to be provided when `values` are a flat array");return Or(e,t,a,n)}function qR(e,t,n){if(ps(e),t!=null&&t.length!==5)throw new Error("tensor5d() requires shape to have five numbers");let a=Wa(e,n);if(a.length!==5&&a.length!==1)throw new Error("tensor5d() requires values to be number[][][][][] or flat/TypedArray");if(a.length===1&&t==null)throw new Error("tensor5d() requires shape to be provided when `values` are a flat array");return Or(e,t,a,n)}function XR(e,t,n){if(ps(e),t!=null&&t.length!==6)throw new Error("tensor6d() requires shape to have six numbers");let a=Wa(e,n);if(a.length!==6&&a.length!==1)throw new Error("tensor6d() requires values to be number[][][][][][] or flat/TypedArray");if(a.length===1&&t==null)throw new Error("tensor6d() requires shape to be provided when `values` are a flat array");return t=t||a,Or(e,t,a,n)}function KR(e,t=1,n=!0){let a=M(e,"x","topk");if(a.rank===0)throw new Error("topk() expects the input to be of rank 1 or higher");let r=a.shape[a.shape.length-1];if(t>r)throw new Error(`'k' passed to topk() must be <= the last dimension (${r}) but got ${t}`);let s={x:a},i={k:t,sorted:n},[o,u]=_.runKernel(rl,s,i);return{values:o,indices:u}}var G1=L({topk_:KR});function ZR(e,t=0,n=1,a,r){if(a!=null&&a==="bool")throw new Error("Unsupported data type $ { dtype }");let s=new L1(t,n,a,!0,r),i=Be(e,a);for(let o=0;o0,()=>"The input tensor must be at least 1D");let a={x:n},r={axis:t},[s,i]=_.runKernel(mc,a,r);return{values:s,indices:i}}var eh=L({unique_:YR});function JR(e,t,n){let a=M(e,"x","unsortedSegmentSum"),r=M(t,"segmentIds","unsortedSegmentSum","int32");F(Ht(n),()=>"numSegments must be of dtype int");let s={x:a,segmentIds:r},i={numSegments:n};return _.runKernel(Bu,s,i)}var q1=L({unsortedSegmentSum_:JR});function QR(e,t=0){let n=M(e,"x","unstack","string_or_numeric");F(t>=-n.shape.length&&t`Axis = ${t} is not in [-${n.shape.length}, ${n.shape.length})`);let a={value:n},r={axis:t};return _.runKernel(il,a,r)}var fa=L({unstack_:QR});function N3(e,t=!0,n,a){return _.makeVariable(e,t,n,a)}function T3(e,t){let n=[];for(let s=0;s0,()=>"mask cannot be scalar"),ln(o.slice(s,s+i),r.shape,"mask's shape must match the first K dimensions of tensor's shape,");let u=1;for(let f=s;f"Shape mismatch in v and x");let u=we(1),l=ye(u,o),d=W(ye(i,s),l);if(r){F(a!=null,()=>"When using zeroDebias: true, step is required.");let p=M(a,"step","movingAverage");d=fe(d,ye(u,hr(o,p)))}return se(s,d)}var sM=L({movingAverage_:rM});function iM(e,t,n){let a=M(e,"indices","scatterND","int32"),r=M(t,"updates","scatterND");a1(r,a,n);let s={indices:a,updates:r},i={shape:n};return _.runKernel(Ko,s,i)}var C3=L({scatterND_:iM});function oM(e,t,n,a){if(e.dtype!=="int32")throw new Error(`tf.sparseToDense() expects the indices to be int32 type, but the dtype was ${e.dtype}.`);if(e.rank>2)throw new Error(`sparseIndices should be a scalar, vector, or matrix, but got shape ${e.shape}.`);let r=e.rank>0?e.shape[0]:1,s=e.rank>1?e.shape[1]:1;if(n.length!==s)throw new Error(`outputShape has incorrect number of elements:, ${n.length}, should be: ${s}.`);let i=t.size;if(!(t.rank===0||t.rank===1&&i===r))throw new Error(`sparseValues has incorrect shape ${t.shape}, should be [] or [${r}]`);if(t.dtype!==a.dtype)throw new Error("sparseValues.dtype must match defaultValues.dtype")}function lM(e,t,n,a=0){let r=M(e,"sparseIndices","sparseToDense","int32"),s=M(t,"sparseValues","sparseToDense"),i=M(a,"defaultValue","sparseToDense",s.dtype);oM(r,s,n,i);let o={sparseIndices:r,sparseValues:s,defaultValue:i},u={outputShape:n};return _.runKernel(fc,o,u)}var K1=L({sparseToDense_:lM});function uM(e,t){let n=M(t,"indices","gatherND","int32"),a={params:M(e,"x","gatherND"),indices:n};return _.runKernel(Co,a)}var R3=L({gatherND_:uM});function dM(e,t){if(t==null)return e.shape.slice();if(lr(e.shape,t))return t;if(e.shape.length===t.length){let n=[];for(let a=0;a`x has to be a floating point tensor since it's going to be scaled, but got a ${r.dtype} tensor instead.`),F(t>=0&&t<1,()=>`rate must be a float in the range [0, 1), but got ${t}.`),t===0)return e instanceof We?r.clone():r;let s=dM(r,n),i=1-t,o=fe(Il(se(Tl(s,0,1,"float32",a),i)),i);return W(r,o)}var M3=L({dropout_:pM});function F3(e){return Math.floor(Math.pow(2,Math.ceil(Math.log(e)/Math.log(2))))}function Z1(e,t,n){let a=1-e%2,r=new Float32Array(e);for(let s=0;s1,()=>`inTopK() expects the predictions to be of rank 2 or higher, but got ${a.rank}`),F(a.rank-1===r.rank,()=>`predictions rank should be 1 larger than targets rank, but got predictions rank ${a.rank} and targets rank ${r.rank}`),ln(a.shape.slice(0,a.shape.length-1),r.shape,"predictions's shape should be align with the targets' shape, except the last dimension.");let s=a.shape[a.shape.length-1];F(n>0&&n<=s,()=>`'k' passed to inTopK() must be > 0 && <= the predictions last dimension (${s}), but got ${n}`);let i=await a.data(),o=await r.data(),[u,l]=[i.length/s,s],d=qx("bool",u);for(let p=0;py.value-f.value),d[p]=0;for(let f=0;fyM,depthwiseConv2d:()=>bM,matMul:()=>wM});function fM(e,t,n,a,r,s="NHWC",i){let o=e;e.rank===3&&(o=H(e,[1,e.shape[0],e.shape[1],e.shape[2]]));let u=t;u.rank===3&&(u=H(t,[1,t.shape[0],t.shape[1],t.shape[2]])),F(o.rank===4,()=>`Error in conv2dDerFilter: input must be rank 4, but got shape ${o.shape}.`),F(u.rank===4,()=>`Error in conv2dDerFilter: dy must be rank 4, but got shape ${u.shape}.`),F(n.length===4,()=>`Error in conv2dDerFilter: filterShape must be length 4, but got ${n}.`);let l=s==="NHWC"?o.shape[3]:o.shape[1],d=s==="NHWC"?u.shape[3]:u.shape[1];F(l===n[2],()=>`Error in conv2dDerFilter: depth of input ${l}) must match input depth in filter (${n[2]}.`),F(d===n[3],()=>`Error in conv2dDerFilter: depth of dy (${d}) must match output depth for filter (${n[3]}).`),i!=null&&F(Ht(r),()=>`Error in conv2dDerFilter: pad must be an integer when using, dimRoundingMode ${i} but got pad ${r}.`);let p={x:o,dy:u},c={strides:a,pad:r,dataFormat:s,dimRoundingMode:i,filterShape:n};return _.runKernel(jp,p,c)}var Y1=L({conv2DBackpropFilter_:fM});function nh(e,t,n){if(n==null||n==="linear")return e;if(n==="relu")return W(e,Rl(t));throw new Error(`Cannot compute gradient for fused activation ${n}.`)}function ah(e,t){let n=t,a=Wt(e.shape,t.shape);return a.length>0&&(n=Se(n,a)),H(n,e.shape)}function rh(e,t,n,a){if(t==="linear")return e;if(t==="relu")return Ha(e);if(t==="elu")return wl(e);if(t==="relu6")return jc(e);if(t==="prelu")return ld(e,n);if(t==="leakyrelu")return rd(e,a);if(t==="sigmoid")return Sn(e);throw new Error(`Unknown fused activation ${t}.`)}var sh=(e,t)=>!(e>0)||t==="linear";function mM({x:e,filter:t,strides:n,pad:a,dataFormat:r="NHWC",dilations:s=[1,1],dimRoundingMode:i,bias:o,activation:u="linear",preluActivationWeights:l,leakyreluAlpha:d}){if(u=u||"linear",sh(_.state.gradientDepth,u)===!1){let b=pr(e,t,n,a,r,s,i);return o!=null&&(b=se(b,o)),rh(b,u,l,d)}let p=M(e,"x","conv2d"),c=M(t,"filter","conv2d"),h=p,m=!1;p.rank===3&&(m=!0,h=H(p,[1,p.shape[0],p.shape[1],p.shape[2]])),F(h.rank===4,()=>`Error in fused conv2d: input must be rank 4, but got rank ${h.rank}.`),F(c.rank===4,()=>`Error in fused conv2d: filter must be rank 4, but got rank ${c.rank}.`),i!=null&&F(Ht(a),()=>`Error in fused conv2d: pad must be an integer when using, dimRoundingMode ${i} but got pad ${a}.`),F(h.shape[3]===c.shape[2],()=>`Error in conv2d: depth of input (${h.shape[3]}) must match input depth for filter ${c.shape[2]}.`),F(Va(n,s),()=>`Error in conv2D: Either strides or dilations must be 1. Got strides ${n} and dilations '${s}'`),F(r==="NHWC",()=>`Error in conv2d: got dataFormat of ${r} but only NHWC is currently supported.`);let f=ed(h.shape,c.shape,n,s,a,i),y;o!=null&&(y=M(o,"bias","fused conv2d"),[y]=kt(y,p),ct(f.outShape,y.shape));let A;l!=null&&(A=M(l,"prelu weights","fused conv2d"));let g=(b,v)=>{let[N,I,E,$]=v,O=nh(b,E,u);F(Lr(s),()=>`Error in gradient of fused conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${s}'`);let z=w1(I.shape,O,N,n,a),P=Y1(I,O,N.shape,n,a),D=[z,P];if($!=null){let U=ah($,O);D.push(U)}return D},x={x:h,filter:c,bias:y,preluActivationWeights:A},w={strides:n,pad:a,dataFormat:r,dilations:s,dimRoundingMode:i,activation:u,leakyreluAlpha:d};return o==null?ja((b,v,N)=>{let I=_.runKernel(li,x,w);return N([v,b,I]),m&&(I=H(I,[I.shape[1],I.shape[2],I.shape[3]])),{value:I,gradFunc:g}})(h,c):ja((b,v,N,I)=>{let E=_.runKernel(li,x,w);return I([v,b,E,N]),m&&(E=H(E,[E.shape[1],E.shape[2],E.shape[3]])),{value:E,gradFunc:g}})(h,c,y)}var yM=L({fusedConv2d_:mM});function AM(e,t,n,a,r,s=[1,1],i){let o=e;e.rank===3&&(o=H(e,[1,e.shape[0],e.shape[1],e.shape[2]]));let u=t;u.rank===3&&(u=H(t,[1,t.shape[0],t.shape[1],t.shape[2]]));let l={x:o,dy:u},d={strides:a,pad:r,dimRoundingMode:i,dilations:s,filterShape:n};return _.runKernel(qp,l,d)}var $3=L({depthwiseConv2dNativeBackpropFilter_:AM});function gM(e,t,n,a,r,s=[1,1],i){let o=t,u=!1;t.rank===3&&(u=!0,o=H(t,[1,t.shape[0],t.shape[1],t.shape[2]]));let l={dy:o,filter:n},d={strides:a,pad:r,dimRoundingMode:i,dilations:s,inputShape:e},p=_.runKernel(Xp,l,d);return u?H(p,[p.shape[1],p.shape[2],p.shape[3]]):p}var D3=L({depthwiseConv2dNativeBackpropInput_:gM});function xM({x:e,filter:t,strides:n,pad:a,dataFormat:r="NHWC",dilations:s=[1,1],dimRoundingMode:i,bias:o,activation:u="linear",preluActivationWeights:l,leakyreluAlpha:d}){if(sh(_.state.gradientDepth,u)===!1){let b=vl(e,t,n,a,r,s,i);return o!=null&&(b=se(b,o)),rh(b,u,l,d)}let p=M(e,"x","depthwiseConv2d"),c=M(t,"filter","depthwiseConv2d"),h=p,m=!1;p.rank===3&&(m=!0,h=H(p,[1,p.shape[0],p.shape[1],p.shape[2]])),F(h.rank===4,()=>`Error in fused depthwiseConv2d: input must be rank 4, but got rank ${h.rank}.`),F(c.rank===4,()=>`Error in fused depthwiseConv2d: filter must be rank 4, but got rank ${c.rank}.`),F(h.shape[3]===c.shape[2],()=>`Error in fused depthwiseConv2d: number of input channels (${h.shape[3]}) must match the inChannels dimension in filter ${c.shape[2]}.`),s==null&&(s=[1,1]),F(Va(n,s),()=>`Error in fused depthwiseConv2d: Either strides or dilations must be 1. Got strides ${n} and dilations '${s}'`),i!=null&&F(Ht(a),()=>`Error in fused depthwiseConv2d: pad must be an integer when using dimRoundingMode ${i} but got pad ${a}.`);let f=ed(h.shape,c.shape,n,s,a,i,!0),y;o!=null&&(y=M(o,"bias","fused conv2d"),[y]=kt(y,p),ct(f.outShape,y.shape));let A;l!=null&&(A=M(l,"prelu weights","fused depthwiseConv2d"));let g=(b,v)=>{F(Lr(s),()=>`Error in gradient of fused depthwiseConv2d: dilation rates greater than 1 are not yet supported. Got dilations '${s}'`);let[N,I,E,$]=v,O=nh(b,E,u),z=D3(I.shape,O,N,n,a,s,i),P=$3(I,O,N.shape,n,a,s,i);if($!=null){let D=ah(y,O);return[z,P,D]}return[z,P]},x={x:h,filter:c,bias:y,preluActivationWeights:A},w={strides:n,pad:a,dataFormat:r,dilations:s,dimRoundingMode:i,activation:u,leakyreluAlpha:d};return o==null?ja((b,v,N)=>{let I=_.runKernel(ui,x,w);return N([v,b,I]),m&&(I=H(I,[I.shape[1],I.shape[2],I.shape[3]])),{value:I,gradFunc:g}})(h,c):ja((b,v,N,I)=>{let E=_.runKernel(ui,x,w);return I([v,b,E,N]),m&&(E=H(E,[E.shape[1],E.shape[2],E.shape[3]])),{value:E,gradFunc:g}})(h,c,y)}var bM=L({fusedDepthwiseConv2d_:xM});function vM({a:e,b:t,transposeA:n=!1,transposeB:a=!1,bias:r,activation:s="linear",preluActivationWeights:i,leakyreluAlpha:o}){if(sh(_.state.gradientDepth,s)===!1){let $=Ve(e,t,n,a);return r!=null&&($=se($,r)),rh($,s,i,o)}let u=M(e,"a","fused matMul"),l=M(t,"b","fused matMul");[u,l]=kt(u,l);let d=n?u.shape[u.rank-2]:u.shape[u.rank-1],p=a?l.shape[l.rank-1]:l.shape[l.rank-2],c=n?u.shape[u.rank-1]:u.shape[u.rank-2],h=a?l.shape[l.rank-2]:l.shape[l.rank-1],m=u.shape.slice(0,-2),f=l.shape.slice(0,-2),y=Rt(m),A=Rt(f);F(u.rank>=2&&l.rank>=2&&u.rank===l.rank,()=>`Error in fused matMul: inputs must have the same rank of at least 2, got ranks ${u.rank} and ${l.rank}.`),F(lr(m,f),()=>`Error in fused matMul: outer dimensions (${m}) and (${f}) of Tensors with shapes ${u.shape} and ${l.shape} must match.`),F(d===p,()=>`Error in fused matMul: inner shapes (${d}) and (${p}) of Tensors with shapes ${u.shape} and ${l.shape} and transposeA=${n} and transposeB=${a} must match.`);let g=u.shape.slice(0,-2).concat([c,h]),x=n?H(u,[y,d,c]):H(u,[y,c,d]),w=a?H(l,[A,h,p]):H(l,[A,p,h]),b;r!=null&&(b=M(r,"bias","fused matMul"),[b]=kt(b,u),ct(g,b.shape));let v;i!=null&&(v=M(i,"prelu weights","fused matMul"));let N=($,O)=>{let[z,P,D,U]=O,X=nh(H($,D.shape),D,s),G,ee;if(!n&&!a?(G=Ve(X,P,!1,!0),ee=Ve(z,X,!0,!1)):!n&&a?(G=Ve(X,P,!1,!1),ee=Ve(X,z,!0,!1)):n&&!a?(G=Ve(P,X,!1,!0),ee=Ve(z,X,!1,!1)):(G=Ve(P,X,!0,!0),ee=Ve(X,z,!0,!0)),r!=null){let Y=ah(U,X);return[G,ee,Y]}else return[G,ee]},I={a:x,b:w,bias:b,preluActivationWeights:v},E={transposeA:n,transposeB:a,activation:s,leakyreluAlpha:o};return r==null?ja(($,O,z)=>{let P=_.runKernel(oi,I,E);return z([$,O,P]),{value:H(P,g),gradFunc:N}})(x,w):ja(($,O,z,P)=>{let D=_.runKernel(oi,I,E);return P([$,O,D,z]),{value:H(D,g),gradFunc:N}})(x,w,b)}var wM=L({fusedMatMul_:vM});function kM(e){return Z1(e,.54,.46)}var IM=L({hammingWindow_:kM});function SM(e){return Z1(e,.5,.5)}var z3=L({hannWindow_:SM});function NM(e,t,n,a=!1,r=0){let s=0,i=[];for(;s+t<=e.size;)i.push(Re(e,s,t)),s+=n;if(a)for(;s`Error in cropAndResize: image must be rank 4,but got rank ${i.rank}.`),F(o.rank===2&&o.shape[1]===4,()=>`Error in cropAndResize: boxes must be have size [${l},4] but had shape ${o.shape}.`),F(u.rank===1&&u.shape[0]===l,()=>`Error in cropAndResize: boxInd must be have size [${l}] but had shape ${o.shape}.`),F(a.length===2,()=>`Error in cropAndResize: cropSize must be of length 2, but got length ${a.length}.`),F(a[0]>=1&&a[1]>=1,()=>`cropSize must be atleast [1,1], but was ${a}`),F(r==="bilinear"||r==="nearest",()=>`method must be bilinear or nearest, but was ${r}`);let d={image:i,boxes:o,boxInd:u},p={method:r,extrapolationValue:s,cropSize:a};return _.runKernel(bo,d,p)}var RM=L({cropAndResize_:CM});function MM(e){let t=M(e,"image","flipLeftRight","float32");F(t.rank===4,()=>`Error in flipLeftRight: image must be rank 4,but got rank ${t.rank}.`);let n={image:t};return _.runKernel(To,n,{})}var FM=L({flipLeftRight_:MM});function $M(e,t,n=0,a=.5){let r=M(e,"image","rotateWithOffset","float32");F(r.rank===4,()=>`Error in rotateWithOffset: image must be rank 4,but got rank ${r.rank}.`);let s={image:r},i={radians:t,fillValue:n,center:a};return _.runKernel(ll,s,i)}var DM=L({rotateWithOffset_:$M});function Ml(e,t,n,a,r,s){a==null&&(a=.5),r==null&&(r=Number.NEGATIVE_INFINITY),s==null&&(s=0);let i=e.shape[0];return n=Math.min(n,i),F(0<=a&&a<=1,()=>`iouThreshold must be in [0, 1], but was '${a}'`),F(e.rank===2,()=>`boxes must be a 2D tensor, but was of rank '${e.rank}'`),F(e.shape[1]===4,()=>`boxes must have 4 columns, but 2nd dimension was ${e.shape[1]}`),F(t.rank===1,()=>"scores must be a 1D tensor"),F(t.shape[0]===i,()=>`scores has incompatible shape with boxes. Expected ${i}, but was ${t.shape[0]}`),F(0<=s&&s<=1,()=>`softNmsSigma must be in [0, 1], but was '${s}'`),{maxOutputSize:n,iouThreshold:a,scoreThreshold:r,softNmsSigma:s}}function zM(e,t,n,a=.5,r=Number.NEGATIVE_INFINITY){let s=M(e,"boxes","nonMaxSuppression"),i=M(t,"scores","nonMaxSuppression"),o=Ml(s,i,n,a,r);n=o.maxOutputSize,a=o.iouThreshold,r=o.scoreThreshold;let u={maxOutputSize:n,iouThreshold:a,scoreThreshold:r};return _.runKernel(Bo,{boxes:s,scores:i},u)}var OM=L({nonMaxSuppression_:zM});function _M(e,t,n){let a=PM(e,t,n),r=a<0?-(a+1):a;e.splice(r,0,t)}function PM(e,t,n){return WM(e,t,n||LM)}function LM(e,t){return e>t?1:e>>1);let o=n(t,e[s]);o>0?a=s+1:(r=s,i=!o)}return i?a:-a-1}function _3(e,t,n,a,r){return J1(e,t,n,a,r,0)}function P3(e,t,n,a,r,s){return J1(e,t,n,a,r,0,!1,s,!0)}function L3(e,t,n,a,r,s){return J1(e,t,n,a,r,s,!0)}function J1(e,t,n,a,r,s,i=!1,o=!1,u=!1){let l=[];for(let y=0;yr&&l.push({score:t[y],boxIndex:y,suppressBeginIndex:0});l.sort(W3);let d=s>0?-.5/s:0,p=[],c=[];for(;p.length0;){let y=l.pop(),{score:A,boxIndex:g,suppressBeginIndex:x}=y;if(A=x;--b){let v=BM(e,g,p[b]);if(v>=a){w=!0;break}if(y.score=y.score*VM(a,d,v),y.score<=r)break}y.suppressBeginIndex=p.length,w||(y.score===A?(p.push(g),c.push(y.score)):y.score>r&&_M(l,y,W3))}let h=p.length,m=n-h;o&&m>0&&(p.push(...new Array(m).fill(0)),c.push(...new Array(m).fill(0)));let f={selectedIndices:p};return i&&(f.selectedScores=c),u&&(f.validOutputs=h),f}function BM(e,t,n){let a=e.subarray(t*4,t*4+4),r=e.subarray(n*4,n*4+4),s=Math.min(a[0],a[2]),i=Math.min(a[1],a[3]),o=Math.max(a[0],a[2]),u=Math.max(a[1],a[3]),l=Math.min(r[0],r[2]),d=Math.min(r[1],r[3]),p=Math.max(r[0],r[2]),c=Math.max(r[1],r[3]),h=(o-s)*(u-i),m=(p-l)*(c-d);if(h<=0||m<=0)return 0;let f=Math.max(s,l),y=Math.max(i,d),A=Math.min(o,p),g=Math.min(u,c),x=Math.max(A-f,0)*Math.max(g-y,0);return x/(h+m-x)}function VM(e,t,n){let a=Math.exp(t*n*n);return n<=e?a:0}function W3(e,t){return e.score-t.score||e.score===t.score&&t.boxIndex-e.boxIndex}async function jM(e,t,n,a=.5,r=Number.NEGATIVE_INFINITY){let s=M(e,"boxes","nonMaxSuppressionAsync"),i=M(t,"scores","nonMaxSuppressionAsync"),o=Ml(s,i,n,a,r);n=o.maxOutputSize,a=o.iouThreshold,r=o.scoreThreshold;let u=await Promise.all([s.data(),i.data()]),l=u[0],d=u[1],{selectedIndices:p}=_3(l,d,n,a,r);return s!==e&&s.dispose(),i!==t&&i.dispose(),Mt(p,"int32")}var UM=jM;function HM(e,t,n,a=.5,r=Number.NEGATIVE_INFINITY,s=0){let i=M(e,"boxes","nonMaxSuppression"),o=M(t,"scores","nonMaxSuppression"),u=Ml(i,o,n,a,r,s);n=u.maxOutputSize,a=u.iouThreshold,r=u.scoreThreshold,s=u.softNmsSigma;let l={boxes:i,scores:o},d={maxOutputSize:n,iouThreshold:a,scoreThreshold:r,softNmsSigma:s},p=_.runKernel(jo,l,d);return{selectedIndices:p[0],selectedScores:p[1]}}var GM=L({nonMaxSuppressionWithScore_:HM});async function qM(e,t,n,a=.5,r=Number.NEGATIVE_INFINITY,s=0){let i=M(e,"boxes","nonMaxSuppressionAsync"),o=M(t,"scores","nonMaxSuppressionAsync"),u=Ml(i,o,n,a,r,s);n=u.maxOutputSize,a=u.iouThreshold,r=u.scoreThreshold,s=u.softNmsSigma;let l=await Promise.all([i.data(),o.data()]),d=l[0],p=l[1],{selectedIndices:c,selectedScores:h}=L3(d,p,n,a,r,s);return i!==e&&i.dispose(),o!==t&&o.dispose(),{selectedIndices:Mt(c,"int32"),selectedScores:Mt(h)}}var XM=qM;function KM(e,t,n,a=.5,r=Number.NEGATIVE_INFINITY,s=!1){let i=M(e,"boxes","nonMaxSuppression"),o=M(t,"scores","nonMaxSuppression"),u=Ml(i,o,n,a,r,null),l=u.maxOutputSize,d=u.iouThreshold,p=u.scoreThreshold,c={boxes:i,scores:o},h={maxOutputSize:l,iouThreshold:d,scoreThreshold:p,padToMaxOutputSize:s},m=_.runKernel(Vo,c,h);return{selectedIndices:m[0],validOutputs:m[1]}}var ZM=L({nonMaxSuppressionPadded_:KM});async function YM(e,t,n,a=.5,r=Number.NEGATIVE_INFINITY,s=!1){let i=M(e,"boxes","nonMaxSuppressionAsync"),o=M(t,"scores","nonMaxSuppressionAsync"),u=Ml(i,o,n,a,r,null),l=u.maxOutputSize,d=u.iouThreshold,p=u.scoreThreshold,[c,h]=await Promise.all([i.data(),o.data()]),{selectedIndices:m,validOutputs:f}=P3(c,h,l,d,p,s);return i!==e&&i.dispose(),o!==t&&o.dispose(),{selectedIndices:Mt(m,"int32"),validOutputs:we(f,"int32")}}var JM=YM;function QM(e,t,n=!1,a=!1){let r=M(e,"images","resizeBilinear");F(r.rank===3||r.rank===4,()=>`Error in resizeBilinear: x must be rank 3 or 4, but got rank ${r.rank}.`),F(t.length===2,()=>`Error in resizeBilinear: new shape must 2D, but got shape ${t}.`),F(a===!1||n===!1,()=>"Error in resizeBilinear: If halfPixelCenters is true, alignCorners must be false.");let s=r,i=!1;r.rank===3&&(i=!0,s=H(r,[1,r.shape[0],r.shape[1],r.shape[2]]));let[]=t,o={images:s},u={alignCorners:n,halfPixelCenters:a,size:t},l=_.runKernel(Gs,o,u);return i?H(l,[l.shape[1],l.shape[2],l.shape[3]]):l}var B3=L({resizeBilinear_:QM});function eF(e,t,n=!1,a=!1){let r=M(e,"images","resizeNearestNeighbor");F(r.rank===3||r.rank===4,()=>`Error in resizeNearestNeighbor: x must be rank 3 or 4, but got rank ${r.rank}.`),F(t.length===2,()=>`Error in resizeNearestNeighbor: new shape must 2D, but got shape ${t}.`),F(r.dtype==="float32"||r.dtype==="int32",()=>"`images` must have `int32` or `float32` as dtype"),F(a===!1||n===!1,()=>"Error in resizeNearestNeighbor: If halfPixelCenters is true, alignCorners must be false.");let s=r,i=!1;r.rank===3&&(i=!0,s=H(r,[1,r.shape[0],r.shape[1],r.shape[2]]));let[]=t,o={images:s},u={alignCorners:n,halfPixelCenters:a,size:t},l=_.runKernel(Pu,o,u);return i?H(l,[l.shape[1],l.shape[2],l.shape[3]]):l}var V3=L({resizeNearestNeighbor_:eF});function tF(e,t="binary",n=!1,a=.5){let r=M(e,"image","threshold"),s=.2989,i=.587,o=.114,u=r.shape[0]*r.shape[1],l=W(Mt([a]),255),d,p,c,h;if(F(r.rank===3,()=>`Error in threshold: image must be rank 3,but got rank ${r.rank}.`),F(r.shape[2]===3||r.shape[2]===1,()=>`Error in threshold: image color channel must be equal to 3 or 1but got ${r.shape[2]}.`),F(r.dtype==="int32"||r.dtype==="float32",()=>`Error in dtype: image dtype must be int32 or float32,but got dtype ${r.dtype}.`),F(t==="otsu"||t==="binary",()=>`Method must be binary or otsu, but was ${t}`),r.shape[2]===3){[d,p,c]=qt(r,[1,1,1],-1);let f=W(d,s),y=W(p,i),A=W(c,o);h=se(se(f,y),A)}else h=e;if(t==="otsu"){let f=b1(me(Uc(h),"int32"),pa([]),256);l=nF(f,u)}let m=n?jr(h,l):On(h,l);return me(W(m,255),"int32")}function nF(e,t){let n=Mt([-1]),a=Mt([0]),r=Mt([0]),s,i,o,u,l,d;for(let p=0;p`Error in transform: image must be rank 4,but got rank ${i.rank}.`),F(o.rank===2&&(o.shape[0]===i.shape[0]||o.shape[0]===1)&&o.shape[1]===8,()=>"Error in transform: Input transform should be batch x 8 or 1 x 8"),F(s==null||s.length===2,()=>`Error in transform: outputShape must be [height, width] or null, but got ${s}.`);let u={image:i,transforms:o},l={interpolation:n,fillMode:a,fillValue:r,outputShape:s};return _.runKernel(sl,u,l)}var sF=L({transform_:rF});function iF(e,t,n){F(t%1==0,()=>`bandPart(): numLower must be an integer, got ${t}.`),F(n%1==0,()=>`bandPart(): numUpper must be an integer, got ${n}.`);let a=M(e,"a","bandPart");F(a.rank>=2,()=>`bandPart(): Rank must be at least 2, got ${a.rank}.`);let r=a.shape,[s,i]=a.shape.slice(-2);if(!(t<=s))throw new Error(`bandPart(): numLower (${t}) must not be greater than the number of rows (${s}).`);if(!(n<=i))throw new Error(`bandPart(): numUpper (${n}) must not be greater than the number of columns (${i}).`);t<0&&(t=s),n<0&&(n=i);let o=H(El(0,s,1,"int32"),[-1,1]),u=El(0,i,1,"int32"),l=ye(o,u),d=ca(jr(l,we(+t,"int32")),Vr(l,we(-n,"int32"))),p=$t([s,i],a.dtype);return H(pn(fa(H(a,[-1,s,i])).map(c=>rn(d,c,p))),r)}var oF=L({bandPart_:iF});function lF(e){let t;if(Array.isArray(e)){t=!1,F(e!=null&&e.length>0,()=>"Gram-Schmidt process: input must not be null, undefined, or empty");let r=e[0].shape[0];for(let s=1;s`Gram-Schmidt: Non-unique lengths found in the input vectors: (${e[s].shape[0]} vs. ${r})`)}else t=!0,e=qt(e,e.shape[0],0).map(r=>ha(r,[0]));F(e.length<=e[0].shape[0],()=>`Gram-Schmidt: Number of vectors (${e.length}) exceeds number of dimensions (${e[0].shape[0]}).`);let n=[],a=e;for(let r=0;r{let s=a[r];if(r>0)for(let i=0;i=2,()=>`qr() requires input tensor to have a rank >= 2, but got rank ${e.rank}`),e.rank===2)return j3(e,t);{let n=e.shape.slice(0,e.shape.length-2).reduce((u,l)=>u*l),a=fa(H(e,[n,e.shape[e.shape.length-2],e.shape[e.shape.length-1]]),0),r=[],s=[];a.forEach(u=>{let[l,d]=j3(u,t);r.push(l),s.push(d)});let i=H(pn(r,0),e.shape),o=H(pn(s,0),e.shape);return[i,o]}}function j3(e,t=!1){return _.tidy(()=>{F(e.shape.length===2,()=>`qr2d() requires a 2D Tensor, but got a ${e.shape.length}D Tensor.`);let n=e.shape[0],a=e.shape[1],r=C1(n),s=Ba(e),i=wa([[1]],[1,1]),o=Ba(i),u=n>=a?a:n;for(let l=0;l{let h=Re(s,[l,l],[n-l,1]),m=th(h),f=Re(s,[l,l],[1,1]),y=rn(On(f,0),wa([[-1]]),wa([[1]])),A=ye(f,W(y,m)),g=fe(h,A);g.shape[0]===1?o=Ba(i):o=lt([i,Re(g,[1,0],[g.shape[0]-1,g.shape[1]])],0);let x=It(fe(Ve(y,A),m)),w=Re(s,[l,0],[n-l,a]),b=W(x,o),v=Qe(o);if(l===0)s=ye(w,Ve(b,Ve(v,w)));else{let E=ye(w,Ve(b,Ve(v,w)));s=lt([Re(s,[0,0],[l,a]),E],0)}let N=Qe(b),I=Re(r,[0,l],[n,r.shape[1]-l]);if(l===0)r=ye(I,Ve(Ve(I,o),N));else{let E=ye(I,Ve(Ve(I,o),N));r=lt([Re(r,[0,0],[n,l]),E],1)}return[o,s,r]}),Ie([d,p,c])}return!t&&n>a&&(r=Re(r,[0,0],[n,a]),s=Re(s,[0,0],[a,a])),[r,s]})}var pF=L({qr_:dF}),cn;(function(e){e[e.NONE=0]="NONE",e[e.MEAN=1]="MEAN",e[e.SUM=2]="SUM",e[e.SUM_BY_NONZERO_WEIGHTS=3]="SUM_BY_NONZERO_WEIGHTS"})(cn||(cn={}));function cF(e,t,n=cn.SUM_BY_NONZERO_WEIGHTS){let a=M(e,"losses","computeWeightedLoss"),r=null;t!=null&&(r=M(t,"weights","computeWeightedLoss"));let s=r==null?a:W(a,r);if(n===cn.NONE)return s;if(n===cn.SUM)return Se(s);if(n===cn.MEAN){if(r==null)return St(s);{let i=a.size/r.size,o=fe(Se(s),Se(r));return i>1?fe(o,we(i)):o}}if(n===cn.SUM_BY_NONZERO_WEIGHTS){if(r==null)return fe(Se(s),we(a.size));{let i=W(r,Pn(a.shape)),o=me(Se(ki(i,we(0))),"float32");return fe(Se(s),o)}}throw Error(`Unknown reduction: ${n}`)}var fr=L({computeWeightedLoss_:cF});function hF(e,t,n,a=cn.SUM_BY_NONZERO_WEIGHTS){let r=M(e,"labels","absoluteDifference"),s=M(t,"predictions","absoluteDifference"),i=null;n!=null&&(i=M(n,"weights","absoluteDifference")),ln(r.shape,s.shape,"Error in absoluteDifference: ");let o=Lt(ye(r,s));return fr(o,i,a)}var fF=L({absoluteDifference_:hF});function mF(e,t,n,a,r=cn.SUM_BY_NONZERO_WEIGHTS){let s=M(e,"labels","cosineDistance"),i=M(t,"predictions","cosineDistance"),o=null;a!=null&&(o=M(a,"weights","cosineDistance")),ln(s.shape,i.shape,"Error in cosineDistance: ");let u=we(1),l=ye(u,Se(W(s,i),n,!0));return fr(l,o,r)}var yF=L({cosineDistance_:mF});function AF(e,t,n,a=cn.SUM_BY_NONZERO_WEIGHTS){let r=M(e,"labels","hingeLoss"),s=M(t,"predictions","hingeLoss"),i=null;n!=null&&(i=M(n,"weights","hingeLoss")),ln(r.shape,s.shape,"Error in hingeLoss: ");let o=we(1);r=ye(W(we(2),r),o);let u=Ha(ye(o,W(r,s)));return fr(u,i,a)}var gF=L({hingeLoss_:AF});function xF(e,t,n,a=1,r=cn.SUM_BY_NONZERO_WEIGHTS){let s=M(e,"labels","huberLoss"),i=M(t,"predictions","huberLoss"),o=null;n!=null&&(o=M(n,"weights","huberLoss")),ln(s.shape,i.shape,"Error in huberLoss: ");let u=we(a),l=Lt(ye(i,s)),d=Nl(l,u),p=ye(l,d),c=se(W(we(.5),ot(d)),W(u,p));return fr(c,o,r)}var bF=L({huberLoss_:xF});function vF(e,t,n,a=1e-7,r=cn.SUM_BY_NONZERO_WEIGHTS){let s=M(e,"labels","logLoss"),i=M(t,"predictions","logLoss"),o=null;n!=null&&(o=M(n,"weights","logLoss")),ln(s.shape,i.shape,"Error in logLoss: ");let u=we(1),l=we(a),d=It(W(s,_n(se(i,l)))),p=W(ye(u,s),_n(se(ye(u,i),l))),c=ye(d,p);return fr(c,o,r)}var wF=L({logLoss_:vF});function kF(e,t,n,a=cn.SUM_BY_NONZERO_WEIGHTS){let r=M(e,"labels","meanSquaredError"),s=M(t,"predictions","meanSquaredError"),i=null;n!=null&&(i=M(n,"weights","meanSquaredError")),ln(r.shape,s.shape,"Error in meanSquaredError: ");let o=Jc(r,s);return fr(o,i,a)}var IF=L({meanSquaredError_:kF});function SF(e,t){let n=M(e,"labels","sigmoidCrossEntropyWithLogits"),a=M(t,"logits","sigmoidCrossEntropyWithLogits");ln(n.shape,a.shape,"Error in sigmoidCrossEntropyWithLogits: ");let r=Ha(a),s=W(a,n),i=_c(ta(It(Lt(a))));return se(ye(r,s),i)}function NF(e,t,n,a=0,r=cn.SUM_BY_NONZERO_WEIGHTS){let s=M(e,"multiClassLabels","sigmoidCrossEntropy"),i=M(t,"logits","sigmoidCrossEntropy"),o=null;if(n!=null&&(o=M(n,"weights","sigmoidCrossEntropy")),ln(s.shape,i.shape,"Error in sigmoidCrossEntropy: "),a>0){let l=we(a),d=we(1),p=we(.5);s=se(W(s,ye(d,l)),W(p,l))}let u=SF(s,i);return fr(u,o,r)}var TF=L({sigmoidCrossEntropy_:NF});function EF(e,t,n=-1){if(n===-1&&(n=t.rank-1),n!==t.rank-1)throw Error(`Softmax cross entropy along a non-last dimension is not yet supported. Labels / logits was rank ${t.rank} and dim was ${n}`);return ja((a,r,s)=>{let i=D1(r,[n],!0),o=ye(me(r,"float32"),i);s([a,o]);let u=It(W(o,a));return{value:Se(u,[n]),gradFunc:(l,d)=>{let[p,c]=d,h=wi(l.shape,[n]);return[W(H(l,h),ye(me(p,"float32"),ta(c))),W(H(l,h),ye(ta(c),me(p,"float32")))]}}})(e,t)}function CF(e,t,n,a=0,r=cn.SUM_BY_NONZERO_WEIGHTS){let s=M(e,"onehotLabels","softmaxCrossEntropy"),i=M(t,"logits","softmaxCrossEntropy"),o=null;if(n!=null&&(o=M(n,"weights","softmaxCrossEntropy")),ln(s.shape,i.shape,"Error in softmaxCrossEntropy: "),a>0){let l=we(a),d=we(1),p=we(s.shape[1]);s=se(W(s,ye(d,l)),fe(l,p))}let u=EF(s,i);return fr(u,o,r)}var RF=L({softmaxCrossEntropy_:CF});function MF(e,t,n,a){let r=M(e,"indices","sparseFillEmptyRows"),s=M(t,"values","sparseFillEmptyRows"),i=M(n,"denseShape","sparseFillEmptyRows"),o=M(a,"defaultValue","sparseFillEmptyRows",s.dtype);if(r.rank!==2)throw new Error(`Indices should be Tensor2D but received shape - ${r.shape}`);if(s.rank!==1)throw new Error(`Values should be Tensor1D but received shape ${s.shape}`);if(i.rank!==1)throw new Error(`Dense shape should be Tensor1D but received shape ${i.shape}`);if(o.rank!==0)throw new Error(`Default value should be a scalar but received shape ${o.shape}`);let u={indices:r,values:s,denseShape:i,defaultValue:o},l=_.runKernel(cc,u);return{outputIndices:l[0],outputValues:l[1],emptyRowIndicator:l[2],reverseIndexMap:l[3]}}var FF=L({sparseFillEmptyRows_:MF});function $F(e,t,n){let a=M(e,"inputIndices","sparseReshape"),r=M(t,"inputShape","sparseReshape"),s=M(n,"newShape","sparseReshape");if(a.rank!==2)throw new Error(`Input indices should be Tensor2D but received shape - ${a.shape}`);if(r.rank!==1)throw new Error(`Input shape should be Tensor1D but received shape ${r.shape}`);if(s.rank!==1)throw new Error(`New shape should be Tensor1D but received shape ${s.shape}`);let i={inputIndices:a,inputShape:r,newShape:s},o=_.runKernel(hc,i);return{outputIndices:o[0],outputShape:o[1]}}var DF=L({sparseReshape_:$F}),zF={fft:cd,ifft:Cl,rfft:hd,irfft:Yc},OF={hammingWindow:IM,hannWindow:z3,frame:O3,stft:EM},je={flipLeftRight:FM,resizeNearestNeighbor:V3,resizeBilinear:B3,rotateWithOffset:DM,cropAndResize:RM,nonMaxSuppression:OM,nonMaxSuppressionAsync:UM,nonMaxSuppressionWithScore:GM,nonMaxSuppressionWithScoreAsync:XM,nonMaxSuppressionPadded:ZM,nonMaxSuppressionPaddedAsync:JM,threshold:aF,transform:sF},U3={bandPart:oF,gramSchmidt:uF,qr:pF},_F={absoluteDifference:fF,computeWeightedLoss:fr,cosineDistance:yF,hingeLoss:gF,huberLoss:bF,logLoss:wF,meanSquaredError:IF,sigmoidCrossEntropy:TF,softmaxCrossEntropy:RF},H3={sparseFillEmptyRows:FF,sparseReshape:DF},mr=class extends qb{minimize(e,t=!1,n){let{value:a,grads:r}=this.computeGradients(e,n);if(n!=null){let s=n.map(i=>({name:i.name,tensor:r[i.name]}));this.applyGradients(s)}else this.applyGradients(r);return Ie(r),t?a:(a.dispose(),null)}get iterations(){return this.iterations_==null&&(this.iterations_=0),this.iterations_}incrementIterations(){this.iterations_=this.iterations+1}computeGradients(e,t){return m3(e,t)}dispose(){this.iterations_!=null&&Ie(this.iterations_)}async saveIterations(){return this.iterations_==null&&(this.iterations_=0),{name:"iter",tensor:we(this.iterations_,"int32")}}async getWeights(){throw new Error("getWeights() is not implemented for this optimizer yet.")}async setWeights(e){throw new Error(`setWeights() is not implemented for this optimizer class ${this.getClassName()}`)}async extractIterations(e){return this.iterations_=(await e[0].tensor.data())[0],e.slice(1)}};Object.defineProperty(mr,Symbol.hasInstance,{value:e=>e.minimize!=null&&e.computeGradients!=null&&e.applyGradients!=null});var ih=class extends mr{constructor(e,t,n=null){super();this.learningRate=e,this.rho=t,this.epsilon=n,this.accumulatedGrads=[],this.accumulatedUpdates=[],n==null&&(this.epsilon=_.backend.epsilon())}applyGradients(e){(Array.isArray(e)?e.map(t=>t.name):Object.keys(e)).forEach((t,n)=>{let a=_.registeredVariables[t],r=!1;this.accumulatedGrads[n]==null&&(this.accumulatedGrads[n]={originalName:`${t}/accum_grad`,variable:V(()=>Ge(a).variable(r))}),this.accumulatedUpdates[n]==null&&(this.accumulatedUpdates[n]={originalName:`${t}/accum_var`,variable:V(()=>Ge(a).variable(r))});let s=Array.isArray(e)?e[n].tensor:e[t];if(s==null)return;let i=this.accumulatedGrads[n].variable,o=this.accumulatedUpdates[n].variable;V(()=>{let u=se(W(i,this.rho),W(ot(s),1-this.rho)),l=W(fe(en(se(o,this.epsilon)),en(se(i,this.epsilon))),s),d=se(W(o,this.rho),W(ot(l),1-this.rho));i.assign(u),o.assign(d);let p=se(W(l,-this.learningRate),a);a.assign(p)})}),this.incrementIterations()}dispose(){this.accumulatedUpdates!=null&&(Ie(this.accumulatedGrads.map(e=>e.variable)),Ie(this.accumulatedUpdates.map(e=>e.variable)))}async getWeights(){let e=[...this.accumulatedGrads,...this.accumulatedUpdates];return[await this.saveIterations()].concat(e.map(t=>({name:t.originalName,tensor:t.variable})))}async setWeights(e){e=await this.extractIterations(e);let t=e.length/2,n=!1;this.accumulatedGrads=e.slice(0,t).map(a=>({originalName:a.name,variable:a.tensor.variable(n)})),this.accumulatedUpdates=e.slice(t,t*2).map(a=>({originalName:a.name,variable:a.tensor.variable(n)}))}getConfig(){return{learningRate:this.learningRate,rho:this.rho,epsilon:this.epsilon}}static fromConfig(e,t){return new e(t.learningRate,t.rho,t.epsilon)}};ih.className="Adadelta";Pr(ih);var oh=class extends mr{constructor(e,t=.1){super();this.learningRate=e,this.initialAccumulatorValue=t,this.accumulatedGrads=[]}applyGradients(e){(Array.isArray(e)?e.map(t=>t.name):Object.keys(e)).forEach((t,n)=>{let a=_.registeredVariables[t];if(this.accumulatedGrads[n]==null){let i=!1;this.accumulatedGrads[n]={originalName:`${t}/accumulator`,variable:V(()=>kl(a.shape,this.initialAccumulatorValue).variable(i))}}let r=Array.isArray(e)?e[n].tensor:e[t];if(r==null)return;let s=this.accumulatedGrads[n].variable;V(()=>{let i=se(s,ot(r));s.assign(i);let o=se(W(fe(r,en(se(i,_.backend.epsilon()))),-this.learningRate),a);a.assign(o)})}),this.incrementIterations()}dispose(){this.accumulatedGrads!=null&&Ie(this.accumulatedGrads.map(e=>e.variable))}async getWeights(){return[await this.saveIterations()].concat(this.accumulatedGrads.map(e=>({name:e.originalName,tensor:e.variable})))}async setWeights(e){e=await this.extractIterations(e);let t=!1;this.accumulatedGrads=e.map(n=>({originalName:n.name,variable:n.tensor.variable(t)}))}getConfig(){return{learningRate:this.learningRate,initialAccumulatorValue:this.initialAccumulatorValue}}static fromConfig(e,t){return new e(t.learningRate,t.initialAccumulatorValue)}};oh.className="Adagrad";Pr(oh);var lh=class extends mr{constructor(e,t,n,a=null){super();this.learningRate=e,this.beta1=t,this.beta2=n,this.epsilon=a,this.accumulatedFirstMoment=[],this.accumulatedSecondMoment=[],V(()=>{this.accBeta1=we(t).variable(),this.accBeta2=we(n).variable()}),a==null&&(this.epsilon=_.backend.epsilon())}applyGradients(e){let t=Array.isArray(e)?e.map(n=>n.name):Object.keys(e);V(()=>{let n=ye(1,this.accBeta1),a=ye(1,this.accBeta2);t.forEach((r,s)=>{let i=_.registeredVariables[r],o=!1;this.accumulatedFirstMoment[s]==null&&(this.accumulatedFirstMoment[s]={originalName:`${r}/m`,variable:V(()=>Ge(i).variable(o))}),this.accumulatedSecondMoment[s]==null&&(this.accumulatedSecondMoment[s]={originalName:`${r}/v`,variable:V(()=>Ge(i).variable(o))});let u=Array.isArray(e)?e[s].tensor:e[r];if(u==null)return;let l=this.accumulatedFirstMoment[s].variable,d=this.accumulatedSecondMoment[s].variable,p=se(W(l,this.beta1),W(u,1-this.beta1)),c=se(W(d,this.beta2),W(ot(u),1-this.beta2)),h=fe(p,n),m=fe(c,a);l.assign(p),d.assign(c);let f=se(W(fe(h,se(en(m),this.epsilon)),-this.learningRate),i);i.assign(f)}),this.accBeta1.assign(W(this.accBeta1,this.beta1)),this.accBeta2.assign(W(this.accBeta2,this.beta2))}),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.accBeta2.dispose(),this.accumulatedFirstMoment!=null&&Ie(this.accumulatedFirstMoment.map(e=>e.variable)),this.accumulatedSecondMoment!=null&&Ie(this.accumulatedSecondMoment.map(e=>e.variable))}async getWeights(){let e=[...this.accumulatedFirstMoment,...this.accumulatedSecondMoment];return[await this.saveIterations()].concat(e.map(t=>({name:t.originalName,tensor:t.variable})))}async setWeights(e){e=await this.extractIterations(e),V(()=>{this.accBeta1.assign(hr(this.beta1,this.iterations_+1)),this.accBeta2.assign(hr(this.beta2,this.iterations_+1))});let t=e.length/2,n=!1;this.accumulatedFirstMoment=e.slice(0,t).map(a=>({originalName:a.name,variable:a.tensor.variable(n)})),this.accumulatedSecondMoment=e.slice(t,t*2).map(a=>({originalName:a.name,variable:a.tensor.variable(n)}))}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon}}static fromConfig(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon)}};lh.className="Adam";Pr(lh);var uh=class extends mr{constructor(e,t,n,a=null,r=0){super();this.learningRate=e,this.beta1=t,this.beta2=n,this.epsilon=a,this.decay=r,this.accumulatedFirstMoment=[],this.accumulatedWeightedInfNorm=[],V(()=>{this.iteration=we(0).variable(),this.accBeta1=we(t).variable()}),a==null&&(this.epsilon=_.backend.epsilon())}applyGradients(e){let t=Array.isArray(e)?e.map(n=>n.name):Object.keys(e);V(()=>{let n=ye(1,this.accBeta1),a=fe(-this.learningRate,se(W(this.iteration,this.decay),1));t.forEach((r,s)=>{let i=_.registeredVariables[r],o=!1;this.accumulatedFirstMoment[s]==null&&(this.accumulatedFirstMoment[s]={originalName:`${r}/m`,variable:Ge(i).variable(o)}),this.accumulatedWeightedInfNorm[s]==null&&(this.accumulatedWeightedInfNorm[s]={originalName:`${r}/v`,variable:Ge(i).variable(o)});let u=Array.isArray(e)?e[s].tensor:e[r];if(u==null)return;let l=this.accumulatedFirstMoment[s].variable,d=this.accumulatedWeightedInfNorm[s].variable,p=se(W(l,this.beta1),W(u,1-this.beta1)),c=W(d,this.beta2),h=Lt(u),m=Ua(c,h);l.assign(p),d.assign(m);let f=se(W(fe(a,n),fe(p,se(m,this.epsilon))),i);i.assign(f)}),this.iteration.assign(se(this.iteration,1)),this.accBeta1.assign(W(this.accBeta1,this.beta1))}),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.iteration.dispose(),this.accumulatedFirstMoment!=null&&Ie(this.accumulatedFirstMoment.map(e=>e.variable)),this.accumulatedWeightedInfNorm!=null&&Ie(this.accumulatedWeightedInfNorm.map(e=>e.variable))}async getWeights(){throw new Error("getWeights() is not implemented for Adamax yet.")}async setWeights(e){throw new Error("setWeights() is not implemented for Adamax yet.")}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon,decay:this.decay}}static fromConfig(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon,t.decay)}};uh.className="Adamax";Pr(uh);var fd=class extends mr{constructor(e){super();this.learningRate=e,this.setLearningRate(e)}applyGradients(e){(Array.isArray(e)?e.map(t=>t.name):Object.keys(e)).forEach((t,n)=>{let a=Array.isArray(e)?e[n].tensor:e[t];if(a==null)return;let r=_.registeredVariables[t];V(()=>{let s=se(W(this.c,a),r);r.assign(s)})}),this.incrementIterations()}setLearningRate(e){this.learningRate=e,this.c!=null&&this.c.dispose(),this.c=Gt(we(-e))}dispose(){this.c.dispose()}async getWeights(){return[await this.saveIterations()]}async setWeights(e){if(e=await this.extractIterations(e),e.length!==0)throw new Error("SGD optimizer does not have settable weights.")}getConfig(){return{learningRate:this.learningRate}}static fromConfig(e,t){return new e(t.learningRate)}};fd.className="SGD";Pr(fd);var dh=class extends fd{constructor(e,t,n=!1){super(e);this.learningRate=e,this.momentum=t,this.useNesterov=n,this.accumulations=[],this.m=we(this.momentum)}applyGradients(e){(Array.isArray(e)?e.map(t=>t.name):Object.keys(e)).forEach((t,n)=>{let a=_.registeredVariables[t];if(this.accumulations[n]==null){let i=!1;this.accumulations[n]={originalName:`${t}/momentum`,variable:V(()=>Ge(a).variable(i))}}let r=this.accumulations[n].variable,s=Array.isArray(e)?e[n].tensor:e[t];s!=null&&V(()=>{let i,o=se(W(this.m,r),s);this.useNesterov?i=se(W(this.c,se(s,W(o,this.m))),a):i=se(W(this.c,o),a),r.assign(o),a.assign(i)})}),this.incrementIterations()}dispose(){this.m.dispose(),this.accumulations!=null&&Ie(this.accumulations.map(e=>e.variable))}setMomentum(e){this.momentum=e}async getWeights(){return[await this.saveIterations()].concat(this.accumulations.map(e=>({name:e.originalName,tensor:e.variable})))}async setWeights(e){e=await this.extractIterations(e);let t=!1;this.accumulations=e.map(n=>({originalName:n.name,variable:n.tensor.variable(t)}))}getConfig(){return{learningRate:this.learningRate,momentum:this.momentum,useNesterov:this.useNesterov}}static fromConfig(e,t){return new e(t.learningRate,t.momentum,t.useNesterov)}};dh.className="Momentum";Pr(dh);var ph=class extends mr{constructor(e,t=.9,n=0,a=null,r=!1){super();if(this.learningRate=e,this.decay=t,this.momentum=n,this.epsilon=a,this.accumulatedMeanSquares=[],this.accumulatedMoments=[],this.accumulatedMeanGrads=[],this.centered=r,a==null&&(this.epsilon=_.backend.epsilon()),e==null)throw new Error("learningRate for RMSPropOptimizer must be defined.")}applyGradients(e){(Array.isArray(e)?e.map(t=>t.name):Object.keys(e)).forEach((t,n)=>{let a=_.registeredVariables[t],r=!1;this.accumulatedMeanSquares[n]==null&&(this.accumulatedMeanSquares[n]={originalName:`${t}/rms`,variable:V(()=>Ge(a).variable(r))}),this.accumulatedMoments[n]==null&&(this.accumulatedMoments[n]={originalName:`${t}/momentum`,variable:V(()=>Ge(a).variable(r))}),this.accumulatedMeanGrads[n]==null&&this.centered&&(this.accumulatedMeanGrads[n]={originalName:`${t}/mg`,variable:V(()=>Ge(a).variable(r))});let s=Array.isArray(e)?e[n].tensor:e[t];if(s==null)return;let i=this.accumulatedMeanSquares[n].variable,o=this.accumulatedMoments[n].variable;V(()=>{let u=se(W(i,this.decay),W(ot(s),1-this.decay));if(this.centered){let l=this.accumulatedMeanGrads[n].variable,d=se(W(l,this.decay),W(s,1-this.decay)),p=fe(W(s,this.learningRate),en(ye(u,se(ot(d),this.epsilon)))),c=se(W(o,this.momentum),p);i.assign(u),l.assign(d),o.assign(c);let h=ye(a,c);a.assign(h)}else{let l=se(W(i,this.decay),W(ot(s),1-this.decay)),d=se(W(o,this.momentum),fe(W(s,this.learningRate),en(se(l,this.epsilon))));i.assign(l),o.assign(d);let p=ye(a,d);a.assign(p)}})}),this.incrementIterations()}dispose(){this.accumulatedMeanSquares!=null&&Ie(this.accumulatedMeanSquares.map(e=>e.variable)),this.accumulatedMeanGrads!=null&&this.centered&&Ie(this.accumulatedMeanGrads.map(e=>e.variable)),this.accumulatedMoments!=null&&Ie(this.accumulatedMoments.map(e=>e.variable))}async getWeights(){let e=[...this.accumulatedMeanSquares,...this.accumulatedMoments];return this.centered&&e.push(...this.accumulatedMeanGrads),[await this.saveIterations()].concat(e.map(t=>({name:t.originalName,tensor:t.variable})))}async setWeights(e){e=await this.extractIterations(e);let t=this.centered?e.length/3:e.length/2,n=!1;this.accumulatedMeanSquares=e.slice(0,t).map(a=>({originalName:a.name,variable:a.tensor.variable(n)})),this.accumulatedMoments=e.slice(t,t*2).map(a=>({originalName:a.name,variable:a.tensor.variable(n)})),this.centered&&(this.accumulatedMeanGrads=e.slice(t*2,t*3).map(a=>({originalName:a.name,variable:a.tensor.variable(n)})))}getConfig(){return{learningRate:this.learningRate,decay:this.decay,momentum:this.momentum,epsilon:this.epsilon,centered:this.centered}}static fromConfig(e,t){return new e(t.learningRate,t.decay,t.momentum,t.epsilon,t.centered)}};ph.className="RMSProp";Pr(ph);var Ii=class{static sgd(e){return new fd(e)}static momentum(e,t,n=!1){return new dh(e,t,n)}static rmsprop(e,t=.9,n=0,a=null,r=!1){return new ph(e,t,n,a,r)}static adam(e=.001,t=.9,n=.999,a=null){return new lh(e,t,n,a)}static adadelta(e=.001,t=.95,n=null){return new ih(e,t,n)}static adamax(e=.002,t=.9,n=.999,a=null,r=0){return new uh(e,t,n,a,r)}static adagrad(e,t=.1){return new oh(e,t)}},Si={sgd:Ii.sgd,momentum:Ii.momentum,adadelta:Ii.adadelta,adagrad:Ii.adagrad,rmsprop:Ii.rmsprop,adamax:Ii.adamax,adam:Ii.adam},PF=(()=>typeof requestAnimationFrame!="undefined"?requestAnimationFrame:typeof setImmediate!="undefined"?setImmediate:e=>e())();function ch(){return new Promise(e=>PF(()=>e()))}var R={};Fe(R,{ERF_A1:()=>KF,ERF_A2:()=>ZF,ERF_A3:()=>YF,ERF_A4:()=>JF,ERF_A5:()=>QF,ERF_P:()=>XF,PARALLELIZE_THRESHOLD:()=>Q1,SELU_SCALE:()=>q3,SELU_SCALEALPHA:()=>G3,applyActivation:()=>rh,assertAndGetBroadcastShape:()=>ct,assertAxesAreInnerMostDims:()=>cC,assertParamsConsistent:()=>LF,assignToTypedArray:()=>o$,axesAreInnerMostDims:()=>F1,calculateShapes:()=>zb,checkEinsumDimSizes:()=>h$,combineLocations:()=>A3,complexWithEvenIndex:()=>r$,complexWithOddIndex:()=>s$,computeConv2DInfo:()=>ed,computeConv3DInfo:()=>Qb,computeDefaultPad:()=>A1,computeDilation2DInfo:()=>OT,computeOptimalWindowSize:()=>BF,computeOutAndReduceShapes:()=>g3,computeOutShape:()=>WF,computePool2DInfo:()=>Jb,computePool3DInfo:()=>_T,convertConv2DDataFormat:()=>e3,decodeEinsumEquation:()=>p$,eitherStridesOrDilationsAreOne:()=>Va,expandShapeToKeepDim:()=>wi,exponent:()=>u$,exponents:()=>l$,fromStringArrayToUint8:()=>w$,fromUint8ToStringArray:()=>v$,getAxesPermutation:()=>x3,getBroadcastDims:()=>TE,getComplexWithIndex:()=>i$,getEinsumComputePath:()=>f$,getEinsumPermutation:()=>c$,getFusedBiasGradient:()=>ah,getFusedDyActivation:()=>nh,getImageCenter:()=>VF,getInnerMostAxes:()=>hC,getPermuted:()=>UF,getReductionAxes:()=>Wt,getReshaped:()=>jF,getReshapedPermuted:()=>HF,getSliceBeginCoords:()=>GF,getSliceSize:()=>qF,getUndoAxesPermutation:()=>$1,isIdentityPermutation:()=>m$,log:()=>t$,mergeRealAndImagArrays:()=>n$,prepareAndValidate:()=>Db,prepareSplitSize:()=>A$,segment_util:()=>Z3,shouldFuse:()=>sh,slice_util:()=>un,splitRealAndImagArrays:()=>a$,tupleValuesAreOne:()=>Lr,upcastType:()=>da,validateInput:()=>a1,validateUpdateShape:()=>n1,warn:()=>e$});function LF(e,t){let n=e[0].length;e.forEach((r,s)=>{F(r.length===n,()=>`Error in concat${n}D: rank of tensors[${s}] must be the same as the rank of the rest (${n})`)}),F(t>=0&&t`Error in concat${n}D: axis must be between 0 and ${n-1}.`);let a=e[0];e.forEach((r,s)=>{for(let i=0;i`Error in concat${n}D: Shape of tensors[${s}] (${r}) does not match the shape of the rest (${a}) along the non-concatenated axis ${s}.`)})}function WF(e,t){let n=e[0].slice();for(let a=1;a=t*2+1||i%2==1?s.push(i):r.push(i);a.push(...r),a.push(0),a.push(...s)}return a}function HF(e,t,n,a=!0){let r=[];a?r.push(e[0]/n):r.push(e[0]*n);for(let s=1;s/g,X3=",",K3="...";function p$(e,t){e=e.replace(/\s/g,"");let n=(e.length-e.replace(d$,"").length)/ey.length;if(n<1)throw new Error("Equations without an arrow are not supported.");if(n>1)throw new Error(`Equation must contain exactly one arrow ("${ey}").`);let[a,r]=e.split(ey);F(a.indexOf(K3)===-1,()=>`The ellipsis notation ("${K3}") is not supported yet.`);let s=a.split(X3),i=s.length;if(t!==i)throw new Error(`Expected ${i} input tensors, received ${t}`);if(i>2)throw new Error("Support for more than 2 input tensors is not implemented yet.");let o=[];for(let c=0;cm.indexOf(h)!==-1))throw new Error(`Output subscripts contain the label ${h} not present in the input subscripts.`);o.indexOf(h)===-1&&o.push(h)}for(let c=0;cr!==-1),{permutationIndices:n,expandDims:a}}function h$(e,t,n){let a=new Array(e);for(let r=0;r`Expected dimension ${a[t[r][i]]} at axis ${i} of input shaped ${JSON.stringify(s)}, but got dimension ${s[i]}`)}}function f$(e,t){let n=e,a=[],r=0;e.length===0&&n.push(-1),r=e.length+1;for(let i=0;it===n)}function y$(e,t){let n=[];for(let a=0;a"Number of splits must evenly divide the axis."),a=new Array(t).fill(e.shape[n]/t);else{let r=t.reduce((i,o)=>(o===-1&&(i+=1),i),0);F(r<=1,()=>"There should be only one negative value in split array.");let s=t.indexOf(-1);if(s!==-1){let i=t.reduce((o,u)=>u>0?o+u:o);t[s]=e.shape[n]-i}F(e.shape[n]===t.reduce((i,o)=>i+o),()=>"The sum of sizes must match the size of the axis dimension."),a=t}return a}var Z3={};Fe(Z3,{collectGatherOpShapeInfo:()=>b$,computeOutShape:()=>x$,segOpComputeOptimalWindowSize:()=>g$});function g$(e,t){let n=!1,a;for(e<=Q1?(a=e,n=!0):a=_p(e,Math.floor(Math.sqrt(e)));!n;)a>t||a===e?n=!0:a=_p(e,a+1);return a}function x$(e,t,n){let a=[],r=e.length;for(let s=0;sr))throw new Error(`Expect batchDims in the range of [-${r}, ${r}], but got ${a}`);if(a<0&&(a+=r),a>s)throw new Error(`batchDims (${a}) must be less than rank(x) ( - ${s}).`);if(nxc(t))}catch(t){throw new Error(`Failed to decode encoded string bytes into utf-8, error: ${t}`)}}function w$(e){return e.map(t=>Uu(t))}var Ga={};Fe(Ga,{nonMaxSuppressionV3Impl:()=>_3,nonMaxSuppressionV4Impl:()=>P3,nonMaxSuppressionV5Impl:()=>L3,whereImpl:()=>T3});function ve(e,t){Array.isArray(e)||(e=[e]),e.forEach(n=>{n!=null&&k.assert(n.dtype!=="complex64",()=>`${t} does not support complex64 tensors in the CPU backend.`)})}var k$=Ga.whereImpl,hh=class extends ku{constructor(){super();this.blockSize=48,this.firstUse=!0,this.data=new zp(this,dr())}nextDataId(){return hh.nextDataId++}write(e,t,n){this.firstUse&&(this.firstUse=!1,J().get("IS_NODE")&&R.warn(` -============================ -Hi there \u{1F44B}. Looks like you are running TensorFlow.js in Node.js. To speed things up dramatically, install our node backend, which binds to TensorFlow C++, by running npm i @tensorflow/tfjs-node, or npm i @tensorflow/tfjs-node-gpu if you have CUDA. Then call require('@tensorflow/tfjs-node'); (-gpu suffix for CUDA) at the start of your program. Visit https://github.com/tensorflow/tfjs-node for more details. -============================`));let a={id:this.nextDataId()};return this.data.set(a,{values:e,dtype:n,refCount:1}),a}makeTensorInfo(e,t,n){let a;if(t==="string"&&n!=null&&n.length>0&&k.isString(n[0])){let r=n.map(s=>k.encodeString(s));a=this.write(r,e,t)}else a=this.write(n,e,t);return{dataId:a,shape:e,dtype:t}}refCount(e){return this.data.has(e)?this.data.get(e).refCount:0}incRef(e){let t=this.data.get(e);t.refCount++}decRef(e){if(this.data.has(e)){let t=this.data.get(e);t.refCount--}}move(e,t,n,a,r){this.data.set(e,{values:t,dtype:a,refCount:r})}numDataIds(){return this.data.numDataIds()}async read(e){return this.readSync(e)}readSync(e){let{dtype:t,complexTensorInfos:n}=this.data.get(e);if(t==="complex64"){let a=this.readSync(n.real.dataId),r=this.readSync(n.imag.dataId);return R.mergeRealAndImagArrays(a,r)}return this.data.get(e).values}bufferSync(e){let t=this.readSync(e.dataId),n=t;if(e.dtype==="string")try{n=t.map(a=>k.decodeString(a))}catch(a){throw new Error("Failed to decode encoded string bytes into utf-8")}return Be(e.shape,e.dtype,n)}makeOutput(e,t,n){let a=this.write(e,t,n);return dr().makeTensorFromDataId(a,t,n,this)}disposeData(e,t=!1){if(this.data.has(e)){if(this.data.get(e).refCount--,!t&&this.data.get(e).refCount>0)return!1;let{complexTensorInfos:n}=this.data.get(e);n!=null&&(this.disposeData(n.real.dataId,!0),this.disposeData(n.imag.dataId,!0)),this.data.delete(e)}return!0}disposeIntermediateTensorInfo(e){this.disposeData(e.dataId)}async time(e){let t=k.now();return e(),{kernelMs:k.now()-t}}memory(){return{unreliable:!0,reasons:["The reported memory is an upper bound. Due to automatic garbage collection, the true allocated memory may be less."]}}where(e){ve([e],"where");let t=this.readSync(e.dataId);return k$(e.shape,t)}dispose(){}floatPrecision(){return 32}epsilon(){return super.epsilon()}};hh.nextDataId=0;var ty={};Fe(ty,{addImpl:()=>J3,bincountImpl:()=>ay,bincountReduceImpl:()=>Q3,ceilImpl:()=>e7,concatImpl:()=>ry,expImpl:()=>t7,expm1Impl:()=>a7,floorImpl:()=>r7,gatherV2Impl:()=>s7,greaterImpl:()=>i7,lessImpl:()=>o7,linSpaceImpl:()=>l7,logImpl:()=>u7,maxImpl:()=>d7,maximumImpl:()=>p7,minimumImpl:()=>c7,multiplyImpl:()=>sy,negImpl:()=>h7,notEqualImpl:()=>f7,prodImpl:()=>m7,rangeImpl:()=>oy,rsqrtImpl:()=>y7,simpleAbsImpl:()=>Y3,sliceImpl:()=>yh,sparseFillEmptyRowsImpl:()=>A7,sparseReshapeImpl:()=>g7,squaredDifferenceImpl:()=>x7,stridedSliceImpl:()=>b7,subImpl:()=>v7,tileImpl:()=>w7,topKImpl:()=>k7,transposeImpl:()=>iy,uniqueImpl:()=>I7});function Y3(e){let t=new Float32Array(e.length);for(let n=0;n{let{x:t}=e.inputs,n=e.backend;ve(t,"abs");let a=new Float32Array(k.sizeFromShape(t.shape)),r=n.data.get(t.dataId).values;return a=Y3(r),n.makeOutput(a,t.shape,"float32")},S$={kernelName:oo,backendName:"cpu",kernelFunc:I$};function Dt(e){return(t,n,a,r,s)=>{let i=R.assertAndGetBroadcastShape(t,n),o=i.length,u=k.computeStrides(i),l=k.sizeFromShape(i),d=k.getTypedArrayFromDType(s,l),p=t.length,c=n.length,h=k.computeStrides(t),m=k.computeStrides(n),f=R.getBroadcastDims(t,i),y=R.getBroadcastDims(n,i);if(f.length+y.length===0)for(let A=0;Ax[N]=0);let w=k.locToIndex(x,p,h),b=g.slice(-c);y.forEach(N=>b[N]=0);let v=k.locToIndex(b,c,m);d[A]=e(a[w],r[v])}return[d,i]}}function Bn(e){let{inputs:t,backend:n}=e,{real:a,imag:r}=t,s=n.data.get(a.dataId).values,i=n.data.get(r.dataId).values,o=n.makeTensorInfo(a.shape,"complex64"),u=n.data.get(o.dataId);return u.complexTensorInfos={real:n.makeTensorInfo(a.shape,"float32",s),imag:n.makeTensorInfo(r.shape,"float32",i)},o}var N$={kernelName:Vp,backendName:"cpu",kernelFunc:Bn};function fh(e,t,n="float32"){if(n==="complex64"){let r=fh(e,t,"float32"),s=fh(e,t,"float32");return Bn({inputs:{real:r,imag:s},backend:e})}let a=k.makeZerosTypedArray(k.sizeFromShape(t),n);return e.makeTensorInfo(t,n,a)}function qa(e){let{inputs:t,backend:n}=e,{x:a}=t;return n.incRef(a.dataId),{dataId:a.dataId,shape:a.shape,dtype:a.dtype}}var T$={kernelName:Rs,backendName:"cpu",kernelFunc:qa};function Ni(e){let{inputs:t,backend:n}=e,{input:a}=t,r=n.data.get(a.dataId).complexTensorInfos.real,s=n.data.get(r.dataId).values;return n.makeTensorInfo(r.shape,r.dtype,s)}var E$={kernelName:uc,backendName:"cpu",kernelFunc:Ni};function Hr(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{dtype:s}=a;if(s==="complex64"){if(r.dtype==="complex64")return qa({inputs:{x:r},backend:n});let i=fh(n,r.shape,r.dtype),o=Hr({inputs:{x:r},backend:n,attrs:{dtype:"float32"}}),u=Bn({inputs:{real:o,imag:i},backend:n});return n.disposeIntermediateTensorInfo(i),n.disposeIntermediateTensorInfo(o),u}if(r.dtype==="complex64"){let i=Ni({inputs:{input:r},backend:n}),o=Hr({inputs:{x:i},backend:n,attrs:{dtype:s}});return n.disposeIntermediateTensorInfo(i),o}if(!k.hasEncodingLoss(r.dtype,s)){let i=qa({inputs:{x:r},backend:n});return{dataId:i.dataId,shape:i.shape,dtype:s}}if(s==="int32"){let i=n.data.get(r.dataId).values,o=Int32Array.from(i);return n.makeTensorInfo(r.shape,"int32",o)}if(s==="bool"){let i=n.data.get(r.dataId).values,o=k.toTypedArray([0],r.dtype),[u,l]=Dt((d,p)=>d!==p?1:0)(r.shape,[],i,o,"bool");return n.makeTensorInfo(l,"bool",u)}throw new Error(`Error in Cast: failed to cast ${r.dtype} to ${s}`)}var C$={kernelName:As,backendName:"cpu",kernelFunc:Hr};function Xt(e,t,n,a){return n==null?({inputs:r,backend:s})=>{let{a:i,b:o}=r,u=s;ve([i,o],e);let l=u.data.get(i.dataId).values,d=u.data.get(o.dataId).values,p=a||i.dtype,[c,h]=t(i.shape,o.shape,l,d,p);return u.makeTensorInfo(h,p,c)}:({inputs:r,backend:s})=>{let{a:i,b:o}=r,u=s;if(i.dtype==="complex64"||o.dtype==="complex64"){let l=Hr({inputs:{x:i},backend:u,attrs:{dtype:"complex64"}}),d=u.data.get(l.dataId),p=d.complexTensorInfos.real,c=d.complexTensorInfos.imag,h=u.data.get(p.dataId).values,m=u.data.get(c.dataId).values,f=Hr({inputs:{x:o},backend:u,attrs:{dtype:"complex64"}}),y=u.data.get(f.dataId),A=y.complexTensorInfos.real,g=y.complexTensorInfos.imag,x=u.data.get(A.dataId).values,w=u.data.get(g.dataId).values,[b,v,N]=n(i.shape,o.shape,h,m,x,w),I=u.makeTensorInfo(N,"float32",b),E=u.makeTensorInfo(N,"float32",v),$=Bn({inputs:{real:I,imag:E},backend:u});return u.disposeIntermediateTensorInfo(l),u.disposeIntermediateTensorInfo(f),u.disposeIntermediateTensorInfo(I),u.disposeIntermediateTensorInfo(E),$}else{let l=u.data.get(i.dataId).values,d=u.data.get(o.dataId).values,p=a||i.dtype,[c,h]=t(i.shape,o.shape,l,d,p);return u.makeTensorInfo(h,p,c)}}}function ny(e){return(t,n,a,r,s,i)=>{let o=R.assertAndGetBroadcastShape(t,n),u=k.sizeFromShape(o),l=o.length,d=k.computeStrides(o),p=k.getTypedArrayFromDType("float32",u),c=k.getTypedArrayFromDType("float32",u),h=R.getBroadcastDims(t,o),m=R.getBroadcastDims(n,o),f=R.mergeRealAndImagArrays(a,r),y=R.mergeRealAndImagArrays(s,i),A=t.length,g=k.computeStrides(t),x=n.length,w=k.computeStrides(n);if(h.length+m.length===0)for(let b=0;bN[z]=0);let I=k.locToIndex(N,A,g),E=v.slice(-x);m.forEach(z=>E[z]=0);let $=k.locToIndex(E,x,w),O=e(f[I*2],f[I*2+1],y[$*2],y[$*2+1]);p[b]=O.real,c[b]=O.imag}return[p,c,o]}}var J3=Dt((e,t)=>e+t),R$=ny((e,t,n,a)=>({real:e+n,imag:t+a})),md=Xt(Mr,J3,R$),M$={kernelName:Mr,backendName:"cpu",kernelFunc:md};function ay(e,t,n,a,r){let s=k.sizeFromShape(a),i=k.makeZerosTypedArray(r,n);for(let o=0;o=r||(s>0?i[u]+=t[o]:i[u]+=1)}return i}function Q3(e,t,n,a=!1){let r=e.shape[0],s=e.shape[1],i=Be([r,n],t.dtype);for(let o=0;o=n||(a?i.set(1,o,l):t.size>0?i.set(i.get(o,l)+t.get(o,u),o,l):i.set(i.get(o,l)+1,o,l))}return i}function Fl(e){return(t,n,a)=>{let r=k.getTypedArrayFromDType(n,t.length);for(let s=0;s{let{x:i}=a;if(ve(i,e),i.dtype==="string"||n==="string")throw new Error("unaryKernelFunc does not support string input/output");let o=s,u=o.data.get(i.dataId).values,l=k.sizeFromShape(i.shape),d=n||i.dtype,p=k.getArrayFromDType(d,l);for(let c=0;c{let{x:i}=a;if(ve(i,e),i.dtype==="string"||n==="string")throw new Error("unaryKernelFunc does not support string input/output");let o=s,u=o.data.get(i.dataId).values,l=n||i.dtype,d=t(u,l,r);return o.makeTensorInfo(i.shape,l,d)}}var e7=Fl(e=>Math.ceil(e)),F$=$l(gs,e7),$$={kernelName:gs,backendName:"cpu",kernelFunc:F$};function ry(e,t,n,a){let r=k.getArrayFromDType(n,k.sizeFromShape(t));if(a&&n!=="string"){let s=0;e.forEach(i=>{let o=k.sizeFromShape(i.shape);r.set(i.vals,s),s+=o})}else{let s=0;e.forEach(i=>{let o=n==="string"?R.fromUint8ToStringArray(i.vals):i.vals,u=0;for(let l=0;lMath.exp(e)),n7=$l(Ss,t7),D$={kernelName:Ss,backendName:"cpu",kernelFunc:n7},a7=Fl(e=>Math.expm1(e)),z$=$l(No,a7),O$={kernelName:No,backendName:"cpu",kernelFunc:z$},r7=Fl(e=>Math.floor(e)),_$=$l(Ns,r7),P$={kernelName:Ns,backendName:"cpu",kernelFunc:_$};function s7(e,t,n){let a=Be(n,e.dtype);for(let r=0;re>t?1:0),L$=Xt(Ro,i7,null,"bool"),W$={kernelName:Ro,backendName:"cpu",kernelFunc:L$},o7=Dt((e,t)=>eMath.log(e)),j$=$l(Fs,u7),U$={kernelName:Fs,backendName:"cpu",kernelFunc:j$};function d7(e,t,n,a){let r=k.getTypedArrayFromDType(a,k.sizeFromShape(n));for(let s=0;so&&(o=l)}r[s]=o}return r}var p7=Dt((e,t)=>Math.max(e,t)),H$=Xt(Ds,p7),G$={kernelName:Ds,backendName:"cpu",kernelFunc:H$},c7=Dt((e,t)=>Math.min(e,t)),q$=Xt(Ps,c7),X$={kernelName:Ps,backendName:"cpu",kernelFunc:q$},sy=Dt((e,t)=>e*t),K$=ny((e,t,n,a)=>({real:e*n-t*a,imag:e*a+t*n})),mh=Xt(Ws,sy,K$),Z$={kernelName:Ws,backendName:"cpu",kernelFunc:mh};function h7(e,t,n){let a=k.createScalarValue(-1,n);return sy([],t,a,e,n)}function Y$(e){let{inputs:t,backend:n}=e,{x:a}=t;ve(a,"neg");let r=n.data.get(a.dataId).values,[s,i]=h7(r,a.shape,a.dtype);return n.makeTensorInfo(i,a.dtype,s)}var J$={kernelName:Lo,backendName:"cpu",kernelFunc:Y$},f7=Dt((e,t)=>e!==t?1:0),Q$=Xt(Wo,f7,null,"bool"),eD={kernelName:Wo,backendName:"cpu",kernelFunc:Q$};function iy(e,t,n,a,r){let s=t.length,i=k.sizeFromShape(t),o=k.computeStrides(t),u=k.computeStrides(r),l=k.getTypedArrayFromDType(n,k.sizeFromShape(r));for(let d=0;dn.disposeIntermediateTensorInfo(g)),n.makeTensorInfo(A,y,m)}var aD={kernelName:Go,backendName:"cpu",kernelFunc:nD};function oy(e,t,n,a){let r=e===t,s=e1;if(r||s||i)return k.makeZerosTypedArray(0,a);let o=Math.abs(Math.ceil((t-e)/n)),u=k.makeZerosTypedArray(o,a);t1/Math.sqrt(e)),rD=$l(Zs,y7),sD={kernelName:Zs,backendName:"cpu",kernelFunc:rD};function yh(e,t,n,a,r){let s=un.isSliceContinous(a,t,n),i=k.sizeFromShape(n),o=k.computeStrides(a);if(s){let p=un.computeFlatOffset(t,o);return r==="string"?e.slice(p,p+i):e.subarray(p,p+i)}let u=r==="string"?R.fromUint8ToStringArray(e):e,l=Be(a,r,u),d=Be(n,r);for(let p=0;pm+t[f]);d.set(l.get(...h),...c)}return r==="string"?R.fromStringArrayToUint8(d.values):d.values}function Ti(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{begin:s,size:i}=a;ve(r,"slice");let[o,u]=un.parseSliceParams(r,s,i);un.assertParamsValid(r,o,u);let l=n.data.get(r.dataId).values,d=yh(l,o,u,r.shape,r.dtype);return n.makeTensorInfo(u,r.dtype,d)}var iD={kernelName:Jo,backendName:"cpu",kernelFunc:Ti};function A7(e,t,n,a,r,s,i){let o=t[0],u=s[0],l=new Array(u),d=new Array(o),p=t[1];if(u===0){if(o!==0)throw new Error(`Received SparseTensor with denseShape[0] = 0 but - indices.shape[0] = ${o}`);let y=k.getArrayFromDType(n,0),A=k.getArrayFromDType(r,0);return[y,[0,p],A,l,d]}let c=!0,h=0,m=new Array(u).fill(0);for(let y=0;y=u)throw new Error(`indices(${y}, 0) is invalid: ${A} >= ${u}`);++m[A],c=c&&A>=h,h=A}let f=!0;for(let y=0;y0&&(m[y]+=m[y-1])}if(f&&c){let y=e,A=a;for(let g=0;g0){h[c-1]=1;for(let y=c-2;y>=0;--y)h[y]=h[y+1]*a[y+1]}let m=[];if(o>0){m[o-1]=1;for(let y=o-2;y>=0;--y)m[y]=m[y+1]*u[y+1]}let f=k.getArrayFromDType(n,i*o);for(let y=0;y{let n=e-t;return n*n}),oD=Xt(ni,x7),lD={kernelName:ni,backendName:"cpu",kernelFunc:oD};function b7(e,t,n,a){let r=Be(e,t.dtype);for(let s=0;se-t),uD=ny((e,t,n,a)=>({real:e-n,imag:t-a})),ly=Xt(ai,v7,uD),dD={kernelName:ai,backendName:"cpu",kernelFunc:ly};function w7(e,t){let n=new Array(e.rank);for(let r=0;rx.value-g.value);let f=p*a,y=u.subarray(f,f+a),A=l.subarray(f,f+a);for(let g=0;g{for(let y=0;ynew hh,1);var N7=rt(wo,e=>e>=0?e:Math.exp(e)-1),pD={kernelName:wo,backendName:"cpu",kernelFunc:N7};function T7(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{alpha:s}=a;ve([r],"leakyRelu");let i=k.sizeFromShape(r.shape),o=n.data.get(r.dataId).values,u=k.getTypedArrayFromDType("float32",i);for(let l=0;le<0?t*e:e);function E7(e){let{inputs:t,backend:n}=e,{x:a,alpha:r}=t;ve([a,r],"prelu");let s=n.data.get(a.dataId).values,i=n.data.get(r.dataId).values,[o,u]=hD(a.shape,r.shape,s,i,a.dtype);return n.makeTensorInfo(u,a.dtype,o)}var fD={kernelName:Us,backendName:"cpu",kernelFunc:E7},C7=rt(Hs,e=>Math.max(0,e)),mD={kernelName:Hs,backendName:"cpu",kernelFunc:C7},R7=rt(qs,e=>Math.min(Math.max(0,e),6)),yD={kernelName:qs,backendName:"cpu",kernelFunc:R7},M7=rt(Js,e=>1/(1+Math.exp(-e))),AD={kernelName:Js,backendName:"cpu",kernelFunc:M7};function uy(e,t,n,a,r){if(n==="linear")return qa({inputs:{x:t},backend:e});if(n==="relu")return C7({inputs:{x:t},backend:e});if(n==="elu")return N7({inputs:{x:t},backend:e});if(n==="relu6")return R7({inputs:{x:t},backend:e});if(n==="prelu")return E7({inputs:{x:t,alpha:a},backend:e});if(n==="leakyrelu")return T7({inputs:{x:t},backend:e,attrs:{alpha:r}});if(n==="sigmoid")return M7({inputs:{x:t},backend:e});throw new Error(`Activation ${n} has not been implemented for the CPU backend.`)}function ht(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{shape:s}=a,i=k.sizeFromShape(r.shape),o=k.inferFromImplicitShape(s,i),u=k.sizeFromShape(o);k.assert(i===u,()=>`The new shape (${o}) has ${u} elements and the old shape (${r.shape}) has ${i} elements. The new shape and old shape must have the same number of elements.`),n.incRef(r.dataId);let l=n.data.get(r.dataId);if(l.complexTensorInfos!=null){let d=l.complexTensorInfos.real,p=l.complexTensorInfos.imag;d.shape=o,p.shape=o}return{dataId:r.dataId,shape:o,dtype:r.dtype}}var gD={kernelName:Xo,backendName:"cpu",kernelFunc:ht};function F7(e){let{inputs:t,backend:n,attrs:a}=e,{a:r,b:s}=t,{transposeA:i,transposeB:o}=a;ve([r,s],"matMul");let u=r.shape.length,l=s.shape.length,d=i?r.shape[u-2]:r.shape[u-1],p=o?s.shape[l-1]:s.shape[l-2],c=i?r.shape[u-1]:r.shape[u-2],h=o?s.shape[l-2]:s.shape[l-1],m=r.shape.slice(0,-2),f=s.shape.slice(0,-2),y=k.sizeFromShape(m),A=k.sizeFromShape(f),g=y===A||y===1||A===1;k.assert(u>=2&&l>=2&&g,()=>`Error in matMul: the input batch dimensions must either be the same or at least one input batch dimension must be 1. Got input batch dimensions of (${m}) and (${f}).`);let x=(y>A?r.shape.slice(0,-2):s.shape.slice(0,-2)).concat([c,h]);k.assert(d===p,()=>`Error in matMul: inner shapes (${d}) and (${p}) of Tensors with shapes ${r.shape} and ${s.shape} and transposeA=${i} and transposeB=${o} must match.`);let w=i?[y,d,c]:[y,c,d],b=o?[A,h,p]:[A,p,h],v=ht({inputs:{x:r},backend:n,attrs:{shape:w}}),N=ht({inputs:{x:s},backend:n,attrs:{shape:b}}),I=i?v.shape[1]:v.shape[2],E=i?v.shape[2]:v.shape[1],$=o?N.shape[1]:N.shape[2],O=Math.max(y,A),z=n.data.get(v.dataId).values,P=n.data.get(N.dataId).values,D=k.computeStrides(v.shape),U=k.computeStrides(N.shape),[X,G,ee]=i?[D[0],1,D[1]]:[D[0],D[1],1],[Y,re,ne]=o?[1,U[1],U[0]]:[U[1],1,U[0]],ie=E*$,Q=Be([O,E,$],v.dtype),pe=Q.values,oe=n.blockSize;for(let ge=0;geMath.acos(e)),kD={kernelName:lo,backendName:"cpu",kernelFunc:wD},ID=rt(uo,e=>Math.acosh(e)),SD={kernelName:uo,backendName:"cpu",kernelFunc:ID};function ND(e){let{inputs:t,backend:n}=e,a=t;ve(t,"addN");let r=a.map(o=>n.data.get(o.dataId).values),s=Be(a[0].shape,a[0].dtype),i=s.values;for(let o=0;og&&(g=b,x=w)}h[y]=x}return l.forEach(y=>n.disposeIntermediateTensorInfo(y)),n.makeTensorInfo(d,"int32",h)}var $D={kernelName:fs,backendName:"cpu",kernelFunc:FD};function DD(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{axis:s}=a;ve(r,"argMin");let i=k.parseAxisParam(s,r.shape),o=R.getAxesPermutation(i,r.shape.length),u=r,l=[];o!=null&&(u=na({inputs:{x:r},backend:n,attrs:{perm:o}}),l.push(u),i=R.getInnerMostAxes(i.length,u.shape.length)),i=[i[0]],R.assertAxesAreInnerMostDims("argMin",i,u.shape.length);let[d,p]=R.computeOutAndReduceShapes(u.shape,i),c=k.sizeFromShape(d),h=k.makeZerosTypedArray(c,"int32"),m=k.sizeFromShape(p),f=n.data.get(u.dataId).values;for(let y=0;yn.disposeIntermediateTensorInfo(y)),n.makeTensorInfo(d,"int32",h)}var zD={kernelName:Nu,backendName:"cpu",kernelFunc:DD},OD=rt(ho,e=>Math.asin(e)),_D={kernelName:ho,backendName:"cpu",kernelFunc:OD},PD=rt(fo,e=>Math.asinh(e)),LD={kernelName:fo,backendName:"cpu",kernelFunc:PD},WD=rt(mo,e=>Math.atan(e)),BD={kernelName:mo,backendName:"cpu",kernelFunc:WD},VD=Dt((e,t)=>Math.atan2(e,t)),jD=Xt(Ao,VD),UD={kernelName:Ao,backendName:"cpu",kernelFunc:jD},HD=rt(yo,e=>Math.atanh(e)),GD={kernelName:yo,backendName:"cpu",kernelFunc:HD};function dy(e,t,n,a,r,s){let i=r.strideHeight,o=r.strideWidth,u=r.dilationHeight,l=r.dilationWidth,d=r.effectiveFilterHeight,p=r.effectiveFilterWidth,c=r.padInfo.top,h=r.padInfo.left,m=s==="max"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,f=Be(r.outShape,n),y=f.values,A=r.outShape[1]*r.outShape[2]*r.outShape[3],g=r.outShape[2]*r.outShape[3],x=r.outShape[3];for(let w=0;wG?G=oe:s==="avg"&&(ee+=oe,Y++)}if(isNaN(G))break}let re=z+P*x+N;y[re]=s==="avg"?ee/Y:G}}}return f}function $7(e,t,n,a,r=!1,s=!1){let i=Be(a.outShape,"int32"),o=a.strideHeight,u=a.strideWidth,l=a.dilationHeight,d=a.dilationWidth,p=a.effectiveFilterHeight,c=a.effectiveFilterWidth,h=a.padInfo.top,m=a.padInfo.left,f=Be(t,n,e);for(let y=0;y$&&($=X,r?O=s?((y*a.inHeight+z)*a.inWidth+D)*a.inChannels+A:(z*a.inWidth+D)*a.inChannels+A:O=P*c+U)}}i.set(O,y,g,v,A)}}return i}function D7(e,t,n,a,r,s){let i=r.strideDepth,o=r.strideHeight,u=r.strideWidth,l=r.dilationDepth,d=r.dilationHeight,p=r.dilationWidth,c=r.effectiveFilterDepth,h=r.effectiveFilterHeight,m=r.effectiveFilterWidth,f=r.padInfo.front,y=r.padInfo.top,A=r.padInfo.left,g=s==="max"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,x=Be(r.outShape,n),w=x.values,b=r.outShape[1]*r.outShape[2]*r.outShape[3]*r.outShape[4],v=r.outShape[2]*r.outShape[3]*r.outShape[4],N=r.outShape[3]*r.outShape[4],I=r.outShape[4];for(let E=0;ENe?Ne=Ue:s==="avg"&&(Te+=Ue,De++),isNaN(Ne))break}if(isNaN(Ne))break}if(isNaN(Ne))break}let _e=he+z;w[_e]=s==="avg"?Te/De:Ne}}}}return x}function qD(e,t){let n=Be(t.outShape,"int32"),a=t.strideDepth,r=t.strideHeight,s=t.strideWidth,i=t.dilationDepth,o=t.dilationHeight,u=t.dilationWidth,l=t.effectiveFilterDepth,d=t.effectiveFilterHeight,p=t.effectiveFilterWidth,c=t.padInfo.front,h=t.padInfo.top,m=t.padInfo.left;for(let f=0;f=P&&(P=ne,D=X*d*p+ee*d+re)}}}n.set(D,f,A,b,E,y)}}}return n}function XD(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t;ve(r,"avgPool");let{filterSize:s,strides:i,pad:o,dimRoundingMode:u}=a,l=1;k.assert(R.eitherStridesOrDilationsAreOne(i,l),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${i} and dilations '${l}'`);let d=R.computePool2DInfo(r.shape,s,i,l,o,u),p;if(d.filterWidth===1&&d.filterHeight===1&&k.arraysEqual(d.inShape,d.outShape))p=qa({inputs:{x:r},backend:n});else{let c=n.data.get(r.dataId).values,h=k.computeStrides(r.shape),m=dy(c,r.shape,r.dtype,h,d,"avg");p=n.makeTensorInfo(d.outShape,r.dtype,m.values)}return p}var KD={kernelName:ms,backendName:"cpu",kernelFunc:XD};function ZD(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{filterSize:s,strides:i,pad:o,dimRoundingMode:u,dataFormat:l}=a;ve(r,"avgPool3d");let d=R.computePool3DInfo(r.shape,s,i,1,o,u,l),p=n.data.get(r.dataId).values,c=D7(p,r.shape,r.dtype,k.computeStrides(r.shape),d,"avg");return n.makeTensorInfo(c.shape,"float32",c.values)}var YD={kernelName:Tu,backendName:"cpu",kernelFunc:ZD};function JD(e){let{inputs:t,backend:n,attrs:a}=e,{dy:r,input:s}=t,{filterSize:i,strides:o,pad:u,dimRoundingMode:l}=a;ve([r,s],"avgPool3DGrad");let d=R.computePool3DInfo(s.shape,i,o,1,u,l),p=d.strideDepth,c=d.strideHeight,h=d.strideWidth,m=d.filterDepth,f=d.filterHeight,y=d.filterWidth,A=d.dilationDepth,g=d.dilationHeight,x=d.dilationWidth,w=d.effectiveFilterDepth,b=d.effectiveFilterHeight,v=d.effectiveFilterWidth,N=w-1-d.padInfo.front,I=v-1-d.padInfo.left,E=b-1-d.padInfo.top,$=Be(s.shape,"float32"),O=1/(m*f*y),z=n.bufferSync(r);for(let P=0;P=d.outDepth||Math.floor(Q)!==Q))for(let pe=0;pe=d.outHeight||Math.floor(oe)!==oe))for(let ge=0;ge=d.outWidth||Math.floor(he)!==he||(ne+=z.get(P,Q,oe,he,D))}}}$.set(ne*O,P,U,X,G,D)}return n.makeTensorInfo($.shape,$.dtype,$.values)}var QD={kernelName:Wp,backendName:"cpu",kernelFunc:JD};function ez(e){let{inputs:t,backend:n,attrs:a}=e,{dy:r,input:s}=t,i=s;ve([r,s],"avgPoolGrad");let{filterSize:o,strides:u,pad:l}=a,d=R.computePool2DInfo(i.shape,o,u,1,l),p=d.strideHeight,c=d.strideWidth,h=d.filterHeight,m=d.filterWidth,f=d.dilationHeight,y=d.dilationWidth,A=d.effectiveFilterHeight,g=d.effectiveFilterWidth,x=g-1-d.padInfo.left,w=A-1-d.padInfo.top,b=Be(i.shape,"float32"),v=1/(h*m),N=n.data.get(r.dataId).values,I=Be(r.shape,"float32",N);for(let E=0;E=d.outHeight||Math.floor(G)!==G))for(let ee=0;ee=d.outWidth||Math.floor(Y)!==Y||(U+=I.get(E,G,Y,$))}}b.set(U*v,E,O,z,$)}return n.makeTensorInfo(b.shape,b.dtype,b.values)}var tz={kernelName:Lp,backendName:"cpu",kernelFunc:ez};function nz(e){let{inputs:t,backend:n,attrs:a}=e,{x:r,scale:s,offset:i,mean:o,variance:u}=t;k.assert(o.shape.length===u.shape.length,()=>"Batch normalization gradient requires mean and variance to have equal ranks."),k.assert(i==null||o.shape.length===i.shape.length,()=>"Batch normalization gradient requires mean and offset to have equal ranks."),k.assert(s==null||o.shape.length===s.shape.length,()=>"Batch normalization gradient requires mean and scale to have equal ranks."),ve([r,o,u,s,i],"batchNorm");let{varianceEpsilon:l}=a;l==null&&(l=.001);let d=n.data.get(r.dataId).values,p=n.data.get(o.dataId).values,c=n.data.get(u.dataId).values,h=s?n.data.get(s.dataId).values:new Float32Array([1]),m=i?n.data.get(i.dataId).values:new Float32Array([0]),f=new Float32Array(d.length),y=m.length,A=h.length,g=c.length,x=p.length,w=0,b=0,v=0,N=0;for(let I=0;I=y&&(w=0),b>=x&&(b=0),v>=A&&(v=0),N>=g&&(N=0);return n.makeTensorInfo(r.shape,r.dtype,f)}var az={kernelName:Es,backendName:"cpu",kernelFunc:nz};function rz(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{blockShape:s,crops:i}=a;ve([r],"batchToSpaceND");let o=s.reduce((A,g)=>A*g),u=R.getReshaped(r.shape,s,o),l=R.getPermuted(u.length,s.length),d=R.getReshapedPermuted(r.shape,s,o),p=R.getSliceBeginCoords(i,s.length),c=R.getSliceSize(d,i,s.length),h=ht({inputs:{x:r},backend:n,attrs:{shape:u}}),m=na({inputs:{x:h},backend:n,attrs:{perm:l}}),f=ht({inputs:{x:m},backend:n,attrs:{shape:d}}),y=Ti({inputs:{x:f},backend:n,attrs:{begin:p,size:c}});return n.disposeIntermediateTensorInfo(h),n.disposeIntermediateTensorInfo(m),n.disposeIntermediateTensorInfo(f),y}var sz={kernelName:Eu,backendName:"cpu",kernelFunc:rz};function iz(e){let{inputs:t,backend:n,attrs:a}=e,{x:r,weights:s}=t,{size:i}=a,o=n.data.get(r.dataId).values,u=n.data.get(s.dataId).values,l=ay(o,u,s.dtype,s.shape,i);return n.makeTensorInfo([i],s.dtype,l)}var oz={kernelName:Bp,backendName:"cpu",kernelFunc:iz},lz=rt(Fr,(e,t)=>{let n=t;return e>n.clipValueMax?n.clipValueMax:e{let{x:t}=e.inputs,n=e.backend,a=new Float32Array(k.sizeFromShape(t.shape)),r=n.data.get(t.dataId),s=r.complexTensorInfos.real,i=r.complexTensorInfos.imag,o=n.data.get(s.dataId).values,u=n.data.get(i.dataId).values;for(let l=0;lf.shape),s);if(k.sizeFromShape(i)===0)return n.makeTensorInfo(i,t[0].dtype,[]);let o=t.filter(f=>k.sizeFromShape(f.shape)>0);if(o.length===1)return qa({inputs:{x:o[0]},backend:n});let u=o.map(f=>f.shape);if(R.assertParamsConsistent(u,s),o[0].dtype==="complex64"){let f=o.map(w=>Ni({inputs:{input:w},backend:n})),y=o.map(w=>Dl({inputs:{input:w},backend:n})),A=zl({inputs:f,backend:n,attrs:{axis:s}}),g=zl({inputs:y,backend:n,attrs:{axis:s}}),x=Bn({inputs:{real:A,imag:g},backend:n});return f.forEach(w=>n.disposeIntermediateTensorInfo(w)),y.forEach(w=>n.disposeIntermediateTensorInfo(w)),n.disposeIntermediateTensorInfo(A),n.disposeIntermediateTensorInfo(g),x}let l=o.map(f=>{let y=k.sizeFromShape(f.shape.slice(s));return ht({inputs:{x:f},backend:n,attrs:{shape:[-1,y]}})}),d=l.map(f=>({vals:n.data.get(f.dataId).values,shape:f.shape}));i=R.computeOutShape(l.map(f=>f.shape),1);let p=l[0].shape[0]===1,c=ry(d,i,t[0].dtype,p),h=R.computeOutShape(o.map(f=>f.shape),s),m=n.makeTensorInfo(h,t[0].dtype,c);return l.forEach(f=>n.disposeIntermediateTensorInfo(f)),m}var hz={kernelName:go,backendName:"cpu",kernelFunc:zl};function z7(e){let{inputs:t,backend:n,attrs:a}=e,{x:r,filter:s}=t,{strides:i,pad:o,dataFormat:u,dilations:l,dimRoundingMode:d}=a;ve([r,s],"conv2d");let p=R.convertConv2DDataFormat(u),c=R.computeConv2DInfo(r.shape,s.shape,i,l,o,d,!1,p),h=c.filterHeight,m=c.filterWidth,f=c.dilationHeight,y=c.dilationWidth,A=c.padInfo.left,g=c.padInfo.top,x=c.dataFormat==="channelsLast",w=new Pt(c.outShape,r.dtype),b=k.computeStrides(r.shape),v=k.computeStrides(s.shape),N=b[0],I=x?b[1]:b[2],E=x?b[2]:1,$=x?1:b[1],O=w.strides[0],z=x?w.strides[1]:w.strides[2],P=x?w.strides[2]:1,D=x?1:w.strides[1],U=n.data.get(r.dataId).values,X=n.data.get(s.dataId).values,G=w.values;for(let ee=0;ee=c.inHeight)continue;let ge=pe*v[0],he=Y+oe*I;for(let Ne=0;Ne=c.inWidth)continue;let tt=ge+_e*v[1],nt=he+ze*E,it=tt;for(let Ze=0;Ze=l.inDepth)continue;let ee=X*E[0],Y=O+G*I[1];for(let re=0;re=l.inHeight)continue;let oe=ee+Q*E[1],ge=Y+pe*I[2];for(let he=0;he=l.inWidth)continue;let ze=oe+De*E[2],tt=ge+_e*l.inChannels,nt=ze;for(let it=0;itMath.cos(e)),Nz={kernelName:vs,backendName:"cpu",kernelFunc:Sz},Tz=rt(xo,e=>Math.cosh(e)),Ez={kernelName:xo,backendName:"cpu",kernelFunc:Tz};function Cz(e){let{inputs:t,backend:n,attrs:a}=e,{image:r,boxes:s,boxInd:i}=t,{cropSize:o,method:u,extrapolationValue:l}=a,[d,p,c,h]=r.shape,m=s.shape[0],[f,y]=o,A=Be([m,f,y,h],"float32"),g=n.data.get(s.dataId).values,x=n.data.get(i.dataId).values,w=n.data.get(r.dataId).values,b=k.computeStrides(r.shape),v=k.computeStrides(A.shape);for(let N=0;N=d)continue;let D=f>1?(O-E)*(p-1)/(f-1):0,U=y>1?(z-$)*(c-1)/(y-1):0;for(let X=0;X1?E*(p-1)+X*D:.5*(E+O)*(p-1);if(G<0||G>p-1){for(let ee=0;ee1?$*(c-1)+ne*U:.5*($+z)*(c-1);if(ie<0||ie>c-1){for(let ge=0;ge1?$*(c-1)+ee*U:.5*($+z)*(c-1);if(Y<0||Y>c-1){for(let ie=0;ieA+m-g-1:(A,g)=>A+g;for(let A=0;A`Only NHWC dataFormat supported on CPU for depthToSpace. Got ${i}`),k.assert(s>1,()=>`blockSize should be > 1 for depthToSpace, but was: ${s}`);let o=r.shape[0],u=r.shape[1],l=r.shape[2],d=r.shape[3],p=u*s,c=l*s,h=d/(s*s),m=n.data.get(r.dataId).values,f=new Float32Array(o*p*c*h),y=0;for(let A=0;A`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${i} and dilations '${c}'`);let h=R.computeConv2DInfo(r.shape,s.shape,i,c,o,l,!0),{filterHeight:m,filterWidth:f,dilationHeight:y,dilationWidth:A,padInfo:g}=h,x=g.left,w=g.top,b=h.outChannels/h.inChannels,v=new Pt(h.outShape,r.dtype),N=n.data.get(r.dataId).values,I=n.data.get(s.dataId).values,E=v.values;for(let $=0;$=h.inHeight)continue;let ee=X*p[0],Y=O+G*d[1];for(let re=0;re=h.inWidth)continue;let oe=ee+Q*p[1],ge=Y+pe*h.inChannels,he=ne,Ne=oe;for(let Te=0;Te{let{x:a,filter:r}=e,{strides:s,pad:i,dilations:o}=n,u=t,l=u.data.get(a.dataId).values,d=a.shape.length,p=u.data.get(r.dataId).values,c=r.shape.length,{batchSize:h,inHeight:m,inWidth:f,inChannels:y,outHeight:A,outWidth:g,padInfo:x,strideHeight:w,strideWidth:b,filterHeight:v,filterWidth:N,dilationHeight:I,dilationWidth:E,outShape:$}=R.computeDilation2DInfo(a.shape,r.shape,s,i,"NHWC",o),O=k.sizeFromShape($),z=$.length,P=k.getArrayFromDType(a.dtype,O);for(let D=0;D=0&&Q=0&&oere&&(re=Ne)}}}let ne=k.locToIndex([D,U,G,Y],z,k.computeStrides($));P[ne]=re}}}return{dataId:u.write(k.toTypedArray(P,a.dtype),$,a.dtype),shape:$,dtype:a.dtype}}},Hz={kernelName:Yp,backendName:"cpu",kernelFunc:({inputs:e,backend:t,attrs:n})=>{let{x:a,filter:r,dy:s}=e,{strides:i,pad:o,dilations:u}=n,l=t,d=k.toNestedArray(a.shape,l.data.get(a.dataId).values),p=k.toNestedArray(r.shape,l.data.get(r.dataId).values),{batchSize:c,inHeight:h,inWidth:m,inChannels:f,outHeight:y,outWidth:A,padInfo:g,strideHeight:x,strideWidth:w,filterHeight:b,filterWidth:v,dilationHeight:N,dilationWidth:I,outShape:E}=R.computeDilation2DInfo(a.shape,r.shape,i,o,"NHWC",u);k.assert(s.rank===E.length,()=>`Error in ${Yp}, dy must have the same rank as output ${E.length}, but got ${s.rank}`);let $=k.toNestedArray(E,l.data.get(s.dataId).values),O=k.makeZerosNestedTypedArray(r.shape,r.dtype);for(let z=0;z=0&&ie=0&&peee&&(ee=oe,Y=ne,re=Q)}}}O[Y][re][G]+=$[z][P][U][G]}}}return{dataId:l.write(k.toTypedArray(O,a.dtype),r.shape,r.dtype),shape:r.shape,dtype:r.dtype}}},Gz={kernelName:Zp,backendName:"cpu",kernelFunc:({inputs:e,backend:t,attrs:n})=>{let{x:a,filter:r,dy:s}=e,{strides:i,pad:o,dilations:u}=n,l=t,d=k.toNestedArray(a.shape,l.data.get(a.dataId).values),p=k.toNestedArray(r.shape,l.data.get(r.dataId).values),{batchSize:c,inHeight:h,inWidth:m,inChannels:f,outHeight:y,outWidth:A,padInfo:g,strideHeight:x,strideWidth:w,filterHeight:b,filterWidth:v,dilationHeight:N,dilationWidth:I,outShape:E}=R.computeDilation2DInfo(a.shape,r.shape,i,o,"NHWC",u);k.assert(s.rank===E.length,()=>`Error in ${Zp}, dy must have the same rank as output ${E.length}, but got ${s.rank}`);let $=k.toNestedArray(E,l.data.get(s.dataId).values),O=k.makeZerosNestedTypedArray(a.shape,a.dtype);for(let z=0;z=0&&ie=0&&peee&&(ee=oe,Y=ie,re=pe)}}}O[z][Y][re][G]+=$[z][P][U][G]}}}return{dataId:l.write(k.toTypedArray(O,a.dtype),a.shape,a.dtype),shape:a.shape,dtype:a.dtype}}};function yd(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{axis:s,keepDims:i}=a;ve(r,"sum");let o;r.dtype==="bool"?o=Hr({inputs:{x:r},backend:n,attrs:{dtype:"int32"}}):o=qa({inputs:{x:r},backend:n});let u=o.shape.length,l=k.parseAxisParam(s,o.shape),d=R.getAxesPermutation(l,u),p=l,c=o;d!=null&&(c=na({inputs:{x:o},backend:n,attrs:{perm:d}}),p=R.getInnerMostAxes(p.length,u)),R.assertAxesAreInnerMostDims("sum",p,c.shape.length);let[h,m]=R.computeOutAndReduceShapes(c.shape,p),f=R.upcastType(c.dtype,"int32"),y=fh(n,h,f),A=k.sizeFromShape(m),g=n.data.get(y.dataId).values,x=n.data.get(c.dataId).values;for(let w=0;w=0&&(c=yd({inputs:{x:c},backend:n,attrs:{axis:l[f]-(i.length-h),keepDims:!1}}),m.push(c)),h--)}for(let f of m)f!==c&&n.disposeIntermediateTensorInfo(f);return c}var Kz={kernelName:Jp,backendName:"cpu",kernelFunc:Xz};function Zz(e){let{inputs:t,backend:n}=e,{dy:a,y:r}=t;ve([a,r],"eluGrad");let s=new Float32Array(k.sizeFromShape(r.shape)),i=n.data.get(r.dataId).values,o=n.data.get(a.dataId).values;for(let u=0;u=1?s[u]=o[u]:s[u]=o[u]*(l+1)}return n.makeTensorInfo(r.shape,"float32",s)}var Yz={kernelName:Qp,backendName:"cpu",kernelFunc:Zz},Jz=Dt((e,t)=>e===t?1:0),_7=Xt(Io,Jz,null,"bool"),Qz={kernelName:Io,backendName:"cpu",kernelFunc:_7},eO=R.ERF_P,tO=R.ERF_A1,nO=R.ERF_A2,aO=R.ERF_A3,rO=R.ERF_A4,sO=R.ERF_A5,iO=rt(ko,e=>{let t=Math.sign(e),n=Math.abs(e),a=1/(1+eO*n);return t*(1-((((sO*a+rO)*a+aO)*a+nO)*a+tO)*a*Math.exp(-n*n))}),oO={kernelName:ko,backendName:"cpu",kernelFunc:iO};function Ah(e){let{inputs:t,backend:n,attrs:a}=e,{input:r}=t,{dim:s}=a,i=r.shape.length,o=r.shape.slice(),u=s;return s<0&&(k.assert(-(i+1)<=s,()=>`Axis must be in the interval [${-(i+1)}, ${i}]`),u=i+s+1),o.splice(u,0,1),ht({inputs:{x:r},backend:n,attrs:{shape:o}})}var lO={kernelName:So,backendName:"cpu",kernelFunc:Ah},uO=Dt((e,t)=>e/t),py=Xt(Is,uO),cy={kernelName:Is,backendName:"cpu",kernelFunc:py};function P7(e,t,n){let a=e.shape,r=a[0],s=a[1],i=n.data.get(e.dataId),o=i.complexTensorInfos.real,u=i.complexTensorInfos.imag,l=[r,s],d=k.sizeFromShape(l),p=k.getTypedArrayFromDType("float32",d),c=k.getTypedArrayFromDType("float32",d);for(let y=0;y{let{image:a}=e,r=n,s=k.getTypedArrayFromDType(a.dtype,k.sizeFromShape(a.shape)),[i,o,u,l]=a.shape,d=r.data.get(a.dataId).values;for(let p=0;p=0&&xMath.floor(e/t)),xO=Xt(Ts,gO,null,"int32"),bO={kernelName:Ts,backendName:"cpu",kernelFunc:xO};function vO(e){let{inputs:t,backend:n,attrs:a}=e,{x:r,filter:s,bias:i,preluActivationWeights:o}=t,{strides:u,pad:l,dataFormat:d,dilations:p,dimRoundingMode:c,activation:h,leakyreluAlpha:m}=a,f=z7({inputs:{x:r,filter:s},backend:n,attrs:{strides:u,pad:l,dataFormat:d,dilations:p,dimRoundingMode:c}});if(i){let y=f;f=md({inputs:{a:f,b:i},backend:n}),n.disposeIntermediateTensorInfo(y)}if(h){let y=f;f=uy(n,f,h,o,m),n.disposeIntermediateTensorInfo(y)}return f}var wO={kernelName:li,backendName:"cpu",kernelFunc:vO};function kO(e){let{inputs:t,backend:n,attrs:a}=e,{x:r,filter:s,bias:i,preluActivationWeights:o}=t,{strides:u,pad:l,dataFormat:d,dilations:p,dimRoundingMode:c,activation:h,leakyreluAlpha:m}=a,f=O7({inputs:{x:r,filter:s},backend:n,attrs:{strides:u,pad:l,dataFormat:d,dilations:p,dimRoundingMode:c}});if(i){let y=f;f=md({inputs:{a:f,b:i},backend:n}),n.disposeIntermediateTensorInfo(y)}if(h){let y=f;f=uy(n,f,h,o,m),n.disposeIntermediateTensorInfo(y)}return f}var IO={kernelName:ui,backendName:"cpu",kernelFunc:kO};function SO(e){let{inputs:t,backend:n}=e,{params:a,indices:r}=t,s=k.sizeFromShape(a.shape),i=r.shape,o=i[i.length-1],[u,l,d,p]=R.prepareAndValidate(a,r);if(l===0)return n.makeTensorInfo(u,a.dtype,[]);let c=Be([l,d],a.dtype),h=n.data.get(r.dataId).values,m=n.data.get(a.dataId).values;for(let f=0;f=s/d)throw new Error(`Invalid indices: ${y} does not index into ${a.shape}`);for(let g=0;ge>=t?1:0),RO=Xt(Cs,CO,null,"bool"),MO={kernelName:Cs,backendName:"cpu",kernelFunc:RO};function FO(e){let{inputs:t,backend:n}=e,{input:a}=t,r=k.sizeFromShape(a.shape),s=a.shape[a.shape.length-1],i=r/s,o=ht({inputs:{x:a},backend:n,attrs:{shape:[i,s]}}),u=P7(o,!0,n),l=ht({inputs:{x:u},backend:n,attrs:{shape:a.shape}});return n.disposeIntermediateTensorInfo(o),n.disposeIntermediateTensorInfo(u),l}var $O={kernelName:tc,backendName:"cpu",kernelFunc:FO},DO=rt(Mo,e=>Number.isFinite(e)?1:0,"bool"),zO={kernelName:Mo,backendName:"cpu",kernelFunc:DO},OO=rt(Fo,e=>Math.abs(e)===Infinity?1:0,"bool"),_O={kernelName:Fo,backendName:"cpu",kernelFunc:OO},PO=rt($o,e=>Number.isNaN(e)?1:0,"bool"),LO={kernelName:$o,backendName:"cpu",kernelFunc:PO},WO=Dt((e,t)=>e<=t?1:0),BO=Xt(zo,WO,null,"bool"),VO={kernelName:zo,backendName:"cpu",kernelFunc:BO};function jO(e){let{backend:t,attrs:n}=e,{start:a,stop:r,num:s}=n,i=l7(a,r,s);return t.makeTensorInfo([i.length],"float32",i)}var UO={kernelName:ac,backendName:"cpu",kernelFunc:jO},HO=rt(Oo,e=>Math.log1p(e)),GO={kernelName:Oo,backendName:"cpu",kernelFunc:HO},qO=Dt((e,t)=>e&&t),XO=Xt(_o,qO,null,"bool"),KO={kernelName:_o,backendName:"cpu",kernelFunc:XO},ZO=rt($u,e=>e?0:1,"bool"),YO={kernelName:$u,backendName:"cpu",kernelFunc:ZO},JO=Dt((e,t)=>e||t),QO=Xt(Du,JO,null,"bool"),e_={kernelName:Du,backendName:"cpu",kernelFunc:QO};function t_(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{depthRadius:s,bias:i,alpha:o,beta:u}=a;ve(r,"LRN");let l=r.shape[3],d=l-1,p=n.data.get(r.dataId).values,c=k.sizeFromShape(r.shape),h=new Float32Array(c);function m(f){let y=f%l,A=f-y+Math.max(0,y-s),g=f-y+Math.min(y+s,d),x=0;for(;A<=g;A++){let w=p[A];x+=w*w}return x}for(let f=0;f`Error in maxPool: Either strides or dilations must be 1. Got strides ${i} and dilations '${l}'`);let d=R.computePool2DInfo(r.shape,s,i,l,o,u),p;if(d.filterWidth===1&&d.filterHeight===1&&k.arraysEqual(d.inShape,d.outShape))p=qa({inputs:{x:r},backend:n});else{let c=n.data.get(r.dataId).values,h=k.computeStrides(r.shape),m=dy(c,r.shape,r.dtype,h,d,"max");p=n.makeTensorInfo(d.outShape,r.dtype,m.values)}return p}var o_={kernelName:zs,backendName:"cpu",kernelFunc:i_};function l_(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{filterSize:s,strides:i,pad:o,dimRoundingMode:u,dataFormat:l}=a;ve(r,"maxPool3d");let d=R.computePool3DInfo(r.shape,s,i,1,o,u,l),p=n.data.get(r.dataId).values,c=D7(p,r.shape,r.dtype,k.computeStrides(r.shape),d,"max");return n.makeTensorInfo(c.shape,"float32",c.values)}var u_={kernelName:Ou,backendName:"cpu",kernelFunc:l_};function d_(e){let{inputs:t,backend:n,attrs:a}=e,{dy:r,input:s}=t,{filterSize:i,strides:o,pad:u,dimRoundingMode:l}=a;ve([r,s],"maxPool3DGrad");let d=R.computePool3DInfo(s.shape,i,o,1,u,l),p=n.bufferSync(s),c=qD(p,d),h=d.strideDepth,m=d.strideHeight,f=d.strideWidth,y=d.dilationDepth,A=d.dilationHeight,g=d.dilationWidth,x=d.effectiveFilterDepth,w=d.effectiveFilterHeight,b=d.effectiveFilterWidth,v=x-1-d.padInfo.front,N=b-1-d.padInfo.left,I=w-1-d.padInfo.top,E=Be(s.shape,"float32"),$=n.bufferSync(r);for(let O=0;O=d.outDepth||Math.floor(ne)!==ne))for(let ie=0;ie=d.outHeight||Math.floor(Q)!==Q))for(let pe=0;pe=d.outWidth||Math.floor(oe)!==oe)continue;let ge=x*w*b-1-c.get(O,ne,Q,oe,z),he=re*w*b+ie*b+pe,Ne=ge===he?1:0;Ne!==0&&(Y+=$.get(O,ne,Q,oe,z)*Ne)}}}E.set(Y,O,P,D,U,z)}return n.makeTensorInfo(E.shape,E.dtype,E.values)}var p_={kernelName:ic,backendName:"cpu",kernelFunc:d_};function c_(e){let{inputs:t,backend:n,attrs:a}=e,{dy:r,input:s,output:i}=t,o=s;ve([s,i],"maxPoolGrad");let{filterSize:u,strides:l,pad:d,dimRoundingMode:p}=a,c=R.computePool2DInfo(o.shape,u,l,1,d,p),h=n.data.get(o.dataId).values,m=Be(c.outShape,o.dtype,$7(h,o.shape,o.dtype,c).values),f=c.strideHeight,y=c.strideWidth,A=c.dilationHeight,g=c.dilationWidth,x=c.effectiveFilterHeight,w=c.effectiveFilterWidth,b=w-1-c.padInfo.left,v=x-1-c.padInfo.top,N=Be(o.shape,"float32"),I=n.data.get(r.dataId).values,E=Be(r.shape,"float32",I);for(let $=0;$=c.outHeight||Math.floor(ee)!==ee))for(let Y=0;Y=c.outWidth||Math.floor(re)!==re)continue;let ne=x*w-1-m.get($,ee,re,O),ie=G*w+Y,Q=ne===ie?1:0;Q!==0&&(X+=E.get($,ee,re,O)*Q)}}N.set(X,$,z,P,O)}return n.makeTensorInfo(N.shape,N.dtype,N.values)}var h_={kernelName:sc,backendName:"cpu",kernelFunc:c_};function f_(e,t,n,a,r){let s=k.computeStrides(t),i=dy(e,t,n,s,r,"max"),o=$7(e,t,n,r,!0,a);return[i.values,o.values]}var m_={kernelName:oc,backendName:"cpu",kernelFunc:({inputs:e,attrs:t,backend:n})=>{let{x:a}=e,{filterSize:r,strides:s,pad:i,includeBatchInIndex:o}=t,u=n;ve(a,"MaxPoolWithArgmax");let l=u.data.get(a.dataId).values,d=R.computePool2DInfo(a.shape,r,s,[1,1],i),[p,c]=f_(l,a.shape,a.dtype,o,d),h=u.write(p,d.outShape,a.dtype),m=u.write(c,d.outShape,a.dtype);return[{dataId:h,shape:d.outShape,dtype:a.dtype},{dataId:m,shape:d.outShape,dtype:"int32"}]}};function y_(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{axis:s,keepDims:i}=a,o=k.parseAxisParam(s,r.shape),u=R.computeOutAndReduceShapes(r.shape,o)[1],l=k.sizeFromShape(u),d=[],p=n.makeTensorInfo([],"float32",new Float32Array([l]));d.push(p);let c=Hr({inputs:{x:r},backend:n,attrs:{dtype:"float32"}});d.push(c);let h=py({inputs:{a:c,b:p},backend:n});d.push(h);let m=yd({inputs:{x:h},backend:n,attrs:{axis:s,keepDims:i}});return d.forEach(f=>n.disposeIntermediateTensorInfo(f)),m}var A_={kernelName:Os,backendName:"cpu",kernelFunc:y_};function g_(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{axis:s,keepDims:i}=a;ve(r,"min");let o=k.parseAxisParam(s,r.shape),u=o,l=R.getAxesPermutation(u,r.shape.length),d=r;l!=null&&(d=na({inputs:{x:r},backend:n,attrs:{perm:l}}),u=R.getInnerMostAxes(u.length,r.shape.length)),R.assertAxesAreInnerMostDims("min",u,d.shape.length);let[p,c]=R.computeOutAndReduceShapes(d.shape,u),h=k.sizeFromShape(c),m=k.makeZerosTypedArray(k.sizeFromShape(p),d.dtype),f=n.data.get(d.dataId).values;for(let A=0;Ag[0]+r.shape[x]+g[1]),u=s.map(g=>g[0]),l=s.map((g,x)=>g[0]+r.shape[x]),d=i==="reflect"?0:1,p=n.data.get(r.dataId).values,c=r.shape.length,h=k.computeStrides(r.shape),m=k.sizeFromShape(o),f=o.length,y=k.computeStrides(o),A=k.getTypedArrayFromDType(r.dtype,m);for(let g=0;g=l[b]&&(x[b]=(l[b]-1)*2-x[b]+d);x=x.map((b,v)=>b-u[v]);let w=k.locToIndex(x,c,h);A[g]=p[w]}return{dataId:n.write(A,o,r.dtype),shape:o,dtype:r.dtype}}var v_={kernelName:Ls,backendName:"cpu",kernelFunc:b_},w_=Dt((e,t)=>{let n=e%t;return e<0&&t<0||e>=0&&t>=0?n:(n+t)%t}),k_=Xt(Po,w_),I_={kernelName:Po,backendName:"cpu",kernelFunc:k_},S_=ro(f5());function W7(e){let{inputs:t,backend:n,attrs:a}=e,{logits:r}=t,{dim:s}=a,i=r.shape.length,o=s;if(o===-1&&(o=i-1),o!==i-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${i} and dim was ${o}`);let u=k.parseAxisParam([o],r.shape),l=L7({inputs:{x:r},backend:n,attrs:{reductionIndices:u,keepDims:!1}}),d=R.expandShapeToKeepDim(l.shape,u),p=ht({inputs:{x:l},backend:n,attrs:{shape:d}}),c=ly({inputs:{a:r,b:p},backend:n}),h=n7({inputs:{x:c},backend:n}),m=yd({inputs:{x:h},backend:n,attrs:{axis:u,keepDims:!1}}),f=ht({inputs:{x:m},backend:n,attrs:{shape:d}}),y=py({inputs:{a:h,b:f},backend:n});return n.disposeIntermediateTensorInfo(l),n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(c),n.disposeIntermediateTensorInfo(h),n.disposeIntermediateTensorInfo(m),n.disposeIntermediateTensorInfo(f),y}var N_={kernelName:ti,backendName:"cpu",kernelFunc:W7};function T_(e){let{inputs:t,backend:n,attrs:a}=e,{logits:r}=t,{numSamples:s,seed:i,normalized:o}=a;ve(r,"multinomial");let u=o?r:W7({inputs:{logits:r},backend:n,attrs:{dim:-1}}),l=u.shape[0],d=u.shape[1],p=n.data.get(u.dataId).values,c=[l,s],h=k.makeZerosTypedArray(k.sizeFromShape(c),"int32");for(let m=0;m=0&&d[p]{k.assertShapesMatch(s,d.shape,"All tensors passed to stack must have matching shapes"),k.assert(i===d.dtype,()=>"All tensors passed to stack must have matching dtypes")});let o=[],u=t.map(d=>{let p=Ah({inputs:{input:d},backend:n,attrs:{dim:r}});return o.push(p),p}),l=zl({inputs:u,backend:n,attrs:{axis:r}});return o.forEach(d=>n.disposeIntermediateTensorInfo(d)),l}var V_={kernelName:Ho,backendName:"cpu",kernelFunc:V7};function j_(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{paddings:s,constantValue:i}=a;ve(r,"pad");let o=s.map((A,g)=>A[0]+r.shape[g]+A[1]),u=s.map(A=>A[0]),l=n.data.get(r.dataId).values,d=k.sizeFromShape(r.shape),p=r.shape.length,c=k.computeStrides(r.shape),h=k.sizeFromShape(o),m=o.length,f=k.computeStrides(o),y=k.getTypedArrayFromDType(r.dtype,h);i!==0&&y.fill(i);for(let A=0;Aw+u[b]),x=k.locToIndex(g,m,f);y[x]=l[A]}return{dataId:n.write(y,o,r.dtype),shape:o,dtype:r.dtype}}var j7={kernelName:Vs,backendName:"cpu",kernelFunc:j_},U_=Dt((e,t)=>Math.pow(e,t)),H_=Xt(js,U_),G_={kernelName:js,backendName:"cpu",kernelFunc:H_};function q_(e){let{backend:t,attrs:n}=e,{start:a,stop:r,dtype:s,step:i}=n,o=oy(a,r,i,s);return t.makeTensorInfo([o.length],s,o)}var X_={kernelName:_u,backendName:"cpu",kernelFunc:q_},K_=rt(qo,e=>1/e),Z_={kernelName:qo,backendName:"cpu",kernelFunc:K_};function Y_(e){let{inputs:t,backend:n,attrs:a}=e,{images:r}=t,{alignCorners:s,halfPixelCenters:i,size:o}=a;ve(r,"resizeBilinear");let u=k.computeStrides(r.shape),[l,d]=o,[p,c,h,m]=r.shape,f=n.data.get(r.dataId).values,y=new Float32Array(k.sizeFromShape([p,l,d,m])),A=[s&&l>1?c-1:c,s&&d>1?h-1:h],g=[s&&l>1?l-1:l,s&&d>1?d-1:d],x=0,w=A[0]/g[0],b=A[1]/g[1];for(let v=0;v1?l-1:l,i&&h>1?d-1:d],y=[i&&c>1?c-1:c,i&&h>1?h-1:h],A=f[0]/y[0],g=f[1]/y[1],x=n.data.get(s.dataId).values,w=0;for(let b=0;b1?c-1:c,s&&d>1?h-1:h],g=[s&&l>1?l-1:l,s&&d>1?d-1:d],x=A[0]/g[0],w=A[1]/g[1],b=0;for(let v=0;v1?d-1:d,i&&m>1?p-1:p],g=[i&&h>1?h-1:h,i&&m>1?m-1:m],x=A[0]/g[0],w=A[1]/g[1],b=1/x,v=1/w,N=Math.ceil(b)*2+2,I=Math.ceil(v)*2+2;for(let E=0;E=h)continue;let Q=$+ie*u[1],pe=ie*x,oe=Math.min(d-1,i?Math.round(pe):Math.floor(pe));if(O===oe)for(let ge=0;ge=m)continue;let Ne=Q+he*u[2],Te=he*w,De=Math.min(p-1,i?Math.round(Te):Math.floor(Te));U===De&&(re+=y[Ne+Y])}}f[X+Y]=re}}}}return n.makeTensorInfo(r.shape,r.dtype,f)}var rP={kernelName:dc,backendName:"cpu",kernelFunc:aP};function sP(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{dims:s}=a;ve(r,"reverse");let i=r.shape.length,o=k.parseAxisParam(s,r.shape);if(i===0)return qa({inputs:{x:r},backend:n});let u=new Pt(r.shape,r.dtype),l=n.bufferSync(r);for(let d=0;dc[h]=r.shape[h]-1-c[h]),u.set(l.get(...c),...p)}return n.makeTensorInfo(u.shape,u.dtype,u.values)}var iP={kernelName:Xs,backendName:"cpu",kernelFunc:sP},oP={kernelName:ll,backendName:"cpu",kernelFunc:({inputs:e,attrs:t,backend:n})=>{let{image:a}=e,{radians:r,fillValue:s,center:i}=t,o=n,u=k.getTypedArrayFromDType(a.dtype,k.sizeFromShape(a.shape)),[l,d,p,c]=a.shape,[h,m]=R.getImageCenter(i,d,p),f=255,y=Math.sin(r),A=Math.cos(r),g=o.data.get(a.dataId).values;for(let x=0;x=0&&P=0&&D{let t=Math.floor(e);return e-t<.5?Math.floor(e):e-t>.5?Math.ceil(e):t%2==0?t:t+1}),uP={kernelName:Ks,backendName:"cpu",kernelFunc:lP};function U7(e,t,n,a,r,s,i,o,u,l){let d=[a/r,r],p=e.values,c=t.values;if(a===0)return Be(n,t.dtype);let h=Be(d,t.dtype);h.values.fill(u);for(let m=0;m=a/r)throw new Error(`Invalid indices: ${f} does not index into ${n}`);for(let A=0;A1||r.shape.length===1?1:k.sizeFromShape(r.shape.slice(1));for(let m=0;me>=0?mP*e:fP*(Math.exp(e)-1)),AP={kernelName:Yo,backendName:"cpu",kernelFunc:yP},gP=rt(el,e=>e<0?-1:e>0?1:0),xP={kernelName:el,backendName:"cpu",kernelFunc:gP},bP=rt(Ys,e=>Math.sin(e)),vP={kernelName:Ys,backendName:"cpu",kernelFunc:bP},wP=rt(Qo,e=>Math.sinh(e)),kP={kernelName:Qo,backendName:"cpu",kernelFunc:wP},IP=11920928955078125e-23,H7=Math.log(IP)+2,SP=rt(tl,e=>{let t=e>-H7,n=eNumber(y)))),n.makeTensorInfo([f.length],a.dtype,new Int32Array(f))]}var RP={kernelName:cc,backendName:"cpu",kernelFunc:CP};function MP(e){let{inputs:t,backend:n}=e,{inputIndices:a,inputShape:r,newShape:s}=t;if(a.shape.length!==2)throw new Error(`Input indices should be a matrix but received shape - ${a.shape}`);if(r.shape.length!==1)throw new Error(`Input shape should be a vector but received shape - ${r.shape}`);if(s.shape.length!==1)throw new Error(`Target shape should be a vector but received shape ${s.shape}`);let i=Array.from(n.data.get(r.dataId).values),o=n.data.get(a.dataId).values,u=Array.from(n.data.get(s.dataId).values),[l,d,p]=g7(o,a.shape,a.dtype,i,u);return[n.makeTensorInfo(d,a.dtype,l),n.makeTensorInfo([p.length],s.dtype,new Int32Array(p))]}var FP={kernelName:hc,backendName:"cpu",kernelFunc:MP};function $P(e){let{inputs:t,backend:n,attrs:a}=e,{sparseIndices:r,sparseValues:s,defaultValue:i}=t,{outputShape:o}=a,{sliceRank:u,numUpdates:l,sliceSize:d,strides:p,outputSize:c}=R.calculateShapes(s,r,o),h=!1,m=n.bufferSync(r),f=n.bufferSync(s),y=n.data.get(i.dataId).values[0],A=U7(m,f,o,c,d,l,u,p,y,h);return n.makeTensorInfo(o,A.dtype,A.values)}var DP={kernelName:fc,backendName:"cpu",kernelFunc:$P};function zP(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{numOrSizeSplits:s,axis:i}=a,o=k.parseAxisParam(i,r.shape)[0],u=R.prepareSplitSize(r,s,o),l=new Array(r.shape.length).fill(0),d=r.shape.slice();return u.map(p=>{let c=[...d];c[o]=p;let h=Ti({inputs:{x:r},backend:n,attrs:{begin:l,size:c}});return l[o]+=p,h})}var OP={kernelName:nl,backendName:"cpu",kernelFunc:zP},_P=rt(Qs,e=>Math.sqrt(e)),PP={kernelName:Qs,backendName:"cpu",kernelFunc:_P},LP={kernelName:Wu,backendName:"cpu",kernelFunc:({inputs:e,backend:t})=>{let{x:n}=e,a=t;ve(n,"square");let r=a.data.get(n.dataId).values,s=new Float32Array(r.length);for(let i=0;i{let n=t;return isNaN(e)?NaN:e>0?1:n.alpha}),BP={kernelName:Dr,backendName:"cpu",kernelFunc:WP};function VP(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{begin:s,end:i,strides:o,beginMask:u,endMask:l,ellipsisMask:d,newAxisMask:p,shrinkAxisMask:c}=a;ve(r,"stridedSlice");let{nonStrided:h,$begin:m,$strides:f,size:y,newShape:A,outShape:g}=un.sliceInfo(r.shape,s,i,o,u,l,d,p,c),x=ht({inputs:{x:r},backend:n,attrs:{shape:A}}),w;if(h){let v=Ti({inputs:{x},backend:n,attrs:{begin:m,size:y}});w=ht({inputs:{x:v},backend:n,attrs:{shape:g}}),n.disposeIntermediateTensorInfo(v)}else if(g.some(v=>v===0))w=n.makeTensorInfo(g,r.dtype,[]);else{let v=n.bufferSync(x),N=b7(g,v,f,m);w=n.makeTensorInfo(N.shape,N.dtype,N.values)}let b=ht({inputs:{x:w},backend:n,attrs:{shape:g}});return n.disposeIntermediateTensorInfo(x),n.disposeIntermediateTensorInfo(w),b}var jP={kernelName:al,backendName:"cpu",kernelFunc:VP},UP=rt(ri,e=>Math.tan(e)),HP={kernelName:ri,backendName:"cpu",kernelFunc:UP},GP=rt(si,e=>Math.tanh(e)),qP={kernelName:si,backendName:"cpu",kernelFunc:GP};function XP(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{reps:s}=a;ve(r,"tile");let i=w7(n.bufferSync(r),s);return n.makeTensorInfo(i.shape,i.dtype,i.values)}var KP={kernelName:$r,backendName:"cpu",kernelFunc:XP};function ZP(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{k:s,sorted:i}=a;ve(r,"topk");let o=n.data.get(r.dataId).values,[u,l]=k7(o,r.shape,r.dtype,s,i);return[n.makeTensorInfo(u.shape,u.dtype,u.values),n.makeTensorInfo(l.shape,l.dtype,l.values)]}var YP={kernelName:rl,backendName:"cpu",kernelFunc:ZP};function JP(e){let{inputs:t,attrs:n,backend:a}=e,{image:r,transforms:s}=t,{interpolation:i,fillMode:o,fillValue:u,outputShape:l}=n,[d,p,c,h]=r.shape,[m,f]=l!=null?l:[p,c],y=[d,m,f,h],A=k.computeStrides(r.shape),g=A[0],x=A[1],w=A[2],b=k.getTypedArrayFromDType(r.dtype,k.sizeFromShape(y));b.fill(u);let v=a.data.get(r.dataId).values,N=a.data.get(s.dataId).values;for(let I=0;It-1)if(t<=1)n=0;else{let a=2*t;n-=a*Math.trunc(n/a),n>=t&&(n=a-n-1)}return k.clamp(0,n,t-1)}function tL(e,t){let n=e;if(n<0)if(t<=1)n=0;else{let a=t-1;n+=t*(Math.trunc(-n/a)+1)}else if(n>t-1)if(t<=1)n=0;else{let a=t-1;n-=t*Math.trunc(n/a)}return k.clamp(0,n,t-1)}function nL(e,t){return e}function aL(e,t){return k.clamp(0,e,t-1)}function Ad(e,t,n,a,r,s,i,o,u,l,d){let p=i*a+o*r+u*s+l;return 0<=o&&on.disposeIntermediateTensorInfo(m)),h}var pL={kernelName:Bu,backendName:"cpu",kernelFunc:dL},cL=[vD,S$,kD,SD,M$,TD,CD,MD,$D,zD,_D,LD,BD,UD,GD,KD,YD,QD,tz,xD,az,sz,oz,C$,$$,uz,N$,pz,hz,yz,gz,fz,wz,Iz,bz,Nz,Ez,Rz,Fz,Dz,Oz,_z,Lz,Bz,jz,Uz,Gz,Hz,cy,Kz,pD,Yz,Qz,oO,D$,lO,O$,fO,mO,AO,P$,bO,wO,IO,NO,EO,W$,MO,T$,$O,cz,zO,_O,LO,cD,V$,VO,UO,U$,GO,KO,YO,e_,n_,r_,G$,o_,u_,p_,h_,m_,s_,A_,x_,X$,v_,I_,E_,Z$,J$,M_,D_,__,eD,L_,B_,V_,j7,G_,fD,aD,X_,E$,Z_,mD,yD,gD,J_,eP,nP,rP,iP,oP,uP,sD,pP,hP,AP,AD,xP,vP,kP,iD,N_,NP,EP,RP,FP,DP,OP,PP,LP,lD,BP,jP,dD,qz,HP,qP,KP,YP,tD,QP,oL,uL,pL,W_];for(let e of cL)di(e);var q7={};Fe(q7,{assertNotComplex:()=>_l,bindCanvasToFramebuffer:()=>IL,bindColorTextureToFramebuffer:()=>vh,bindTextureToProgramUniformSampler:()=>lv,bindTextureUnit:()=>sv,bindVertexBufferToProgramAttribute:()=>Ay,callAndCheck:()=>xe,canBeRepresented:()=>X7,createFragmentShader:()=>Y7,createFramebuffer:()=>rv,createProgram:()=>J7,createStaticIndexBuffer:()=>tv,createStaticVertexBuffer:()=>ev,createTexture:()=>nv,createVertexShader:()=>Z7,getBatchDim:()=>Ci,getExtensionOrThrow:()=>vd,getFramebufferErrorMessage:()=>uv,getMaxTexturesInShader:()=>hv,getNumChannels:()=>wL,getProgramUniformLocation:()=>ov,getProgramUniformLocationOrThrow:()=>iv,getRowsCols:()=>Ri,getShapeAs3D:()=>wh,getTextureShapeFromLogicalShape:()=>pv,getWebGLDisjointQueryTimerVersion:()=>fv,getWebGLErrorMessage:()=>K7,getWebGLMaxTextureSize:()=>cv,hasExtension:()=>ra,isCapableOfRenderingToFloatTexture:()=>mv,isDownloadFloatTextureEnabled:()=>yv,isReshapeFree:()=>kd,isWebGLFenceEnabled:()=>Av,isWebGLVersionEnabled:()=>xy,linkProgram:()=>Q7,resetMaxTextureSize:()=>SL,resetMaxTexturesInShader:()=>NL,unbindColorTextureFromFramebuffer:()=>gy,unbindTextureUnit:()=>kL,validateFramebuffer:()=>wd,validateProgram:()=>bh,validateTextureSize:()=>av});var Ei={},my={alpha:!1,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0};function xh(e,t){Ei[e]=t}function Xa(e){if(!(e in Ei)){let n=fL(e);if(n!==null)Ei[e]=n;else return console.log("Could not get context for WebGL version",e),null}let t=Ei[e];return t.isContextLost()?(delete Ei[e],Xa(e)):(t.disable(t.DEPTH_TEST),t.disable(t.STENCIL_TEST),t.disable(t.BLEND),t.disable(t.DITHER),t.disable(t.POLYGON_OFFSET_FILL),t.disable(t.SAMPLE_COVERAGE),t.enable(t.SCISSOR_TEST),t.enable(t.CULL_FACE),t.cullFace(t.BACK),Ei[e])}function hL(e){if(typeof OffscreenCanvas!="undefined"&&e===2)return new OffscreenCanvas(300,150);if(typeof document!="undefined")return document.createElement("canvas");throw new Error("Cannot create a canvas in this context")}function fL(e){if(e!==1&&e!==2)throw new Error("Cannot get WebGL rendering context, WebGL is disabled.");let t=hL(e);return t.addEventListener("webglcontextlost",n=>{n.preventDefault(),delete Ei[e]},!1),e===1?t.getContext("webgl",my)||t.getContext("experimental-webgl",my):t.getContext("webgl2",my)}var gd;(function(e){e[e.DENSE=0]="DENSE",e[e.SHARED_BATCH=1]="SHARED_BATCH"})(gd||(gd={}));var aa;(function(e){e[e.RENDER=0]="RENDER",e[e.UPLOAD=1]="UPLOAD",e[e.PIXELS=2]="PIXELS",e[e.DOWNLOAD=3]="DOWNLOAD"})(aa||(aa={}));var tn;(function(e){e[e.UNPACKED_FLOAT16=0]="UNPACKED_FLOAT16",e[e.UNPACKED_FLOAT32=1]="UNPACKED_FLOAT32",e[e.PACKED_4X1_UNSIGNED_BYTE=2]="PACKED_4X1_UNSIGNED_BYTE",e[e.PACKED_2X2_FLOAT32=3]="PACKED_2X2_FLOAT32",e[e.PACKED_2X2_FLOAT16=4]="PACKED_2X2_FLOAT16"})(tn||(tn={}));function xd(e,t){return[t,e]}function mL(e,t){return e*t}function bd(e){let t=k.sizeFromShape(e),n=Math.ceil(t/4);return k.sizeToSquarishShape(n)}function Ol(e,t){return[Math.max(1,Math.ceil(t/2)),Math.max(1,Math.ceil(e/2))]}function yL(e,t){let[n,a]=Ol(e,t);return n*a*4}function yy(e,t){let n=e,a,r,s,i,o,u,l,d,p,c;return J().getNumber("WEBGL_VERSION")===2?(a=n.R32F,r=n.R16F,s=n.RGBA16F,i=n.RGBA32F,o=n.RED,l=4,d=1,p=n.HALF_FLOAT,c=n.FLOAT):(a=e.RGBA,r=e.RGBA,s=e.RGBA,i=n.RGBA,o=e.RGBA,l=4,d=4,p=t!=null?t.HALF_FLOAT_OES:null,c=e.FLOAT),u=e.RGBA,{internalFormatFloat:a,internalFormatHalfFloat:r,internalFormatPackedHalfFloat:s,internalFormatPackedFloat:i,textureFormatFloat:o,downloadTextureFormat:u,downloadUnpackNumChannels:l,defaultNumChannels:d,textureTypeHalfFloat:p,textureTypeFloat:c}}function xe(e,t){let n=t();return J().getBool("DEBUG")&&AL(e),n}function AL(e){let t=e.getError();if(t!==e.NO_ERROR)throw new Error("WebGL Error: "+K7(e,t))}var gL=596e-10,xL=65504;function X7(e){return!!(J().getBool("WEBGL_RENDER_FLOAT32_ENABLED")||e===0||gLe.getExtension(t),'Extension "'+t+'" not supported on this browser.')}function Z7(e,t){let n=yr(e,()=>e.createShader(e.VERTEX_SHADER),"Unable to create vertex WebGLShader.");if(xe(e,()=>e.shaderSource(n,t)),xe(e,()=>e.compileShader(n)),e.getShaderParameter(n,e.COMPILE_STATUS)===!1)throw console.log(e.getShaderInfoLog(n)),new Error("Failed to compile vertex shader.");return n}function Y7(e,t){let n=yr(e,()=>e.createShader(e.FRAGMENT_SHADER),"Unable to create fragment WebGLShader.");if(xe(e,()=>e.shaderSource(n,t)),xe(e,()=>e.compileShader(n)),e.getShaderParameter(n,e.COMPILE_STATUS)===!1)throw vL(t,e.getShaderInfoLog(n)),new Error("Failed to compile fragment shader.");return n}var bL=/ERROR: [0-9]+:([0-9]+):/g;function vL(e,t){let n=bL.exec(t);if(n==null){console.log(`Couldn't parse line number in error: ${t}`),console.log(e);return}let a=+n[1],r=e.split(` -`),s=r.length.toString().length+2,i=r.map((p,c)=>k.rightPad((c+1).toString(),s)+p),o=0;for(let p=0;pe.createProgram(),"Unable to create WebGLProgram.")}function Q7(e,t){if(xe(e,()=>e.linkProgram(t)),e.getProgramParameter(t,e.LINK_STATUS)===!1)throw console.log(e.getProgramInfoLog(t)),new Error("Failed to link vertex and fragment shaders.")}function bh(e,t){if(xe(e,()=>e.validateProgram(t)),e.getProgramParameter(t,e.VALIDATE_STATUS)===!1)throw console.log(e.getProgramInfoLog(t)),new Error("Shader program validation failed.")}function ev(e,t){let n=yr(e,()=>e.createBuffer(),"Unable to create WebGLBuffer");return xe(e,()=>e.bindBuffer(e.ARRAY_BUFFER,n)),xe(e,()=>e.bufferData(e.ARRAY_BUFFER,t,e.STATIC_DRAW)),n}function tv(e,t){let n=yr(e,()=>e.createBuffer(),"Unable to create WebGLBuffer");return xe(e,()=>e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,n)),xe(e,()=>e.bufferData(e.ELEMENT_ARRAY_BUFFER,t,e.STATIC_DRAW)),n}function wL(){return J().getNumber("WEBGL_VERSION")===2?1:4}function nv(e){return yr(e,()=>e.createTexture(),"Unable to create WebGLTexture.")}function av(e,t){let n=J().getNumber("WEBGL_MAX_TEXTURE_SIZE");if(e<=0||t<=0){let a=`[${e}x${t}]`;throw new Error("Requested texture size "+a+" is invalid.")}if(e>n||t>n){let a=`[${e}x${t}]`,r=`[${n}x${n}]`;throw new Error("Requested texture size "+a+" greater than WebGL maximum on this browser / GPU "+r+".")}}function rv(e){return yr(e,()=>e.createFramebuffer(),"Unable to create WebGLFramebuffer.")}function Ay(e,t,n,a,r,s,i){let o=e.getAttribLocation(t,n);return o===-1?!1:(xe(e,()=>e.bindBuffer(e.ARRAY_BUFFER,a)),xe(e,()=>e.vertexAttribPointer(o,r,e.FLOAT,!1,s,i)),xe(e,()=>e.enableVertexAttribArray(o)),!0)}function sv(e,t,n){dv(e,n),xe(e,()=>e.activeTexture(e.TEXTURE0+n)),xe(e,()=>e.bindTexture(e.TEXTURE_2D,t))}function kL(e,t){dv(e,t),xe(e,()=>e.activeTexture(e.TEXTURE0+t)),xe(e,()=>e.bindTexture(e.TEXTURE_2D,null))}function iv(e,t,n){return yr(e,()=>e.getUniformLocation(t,n),'uniform "'+n+'" not present in program.')}function ov(e,t,n){return e.getUniformLocation(t,n)}function lv(e,t,n,a){xe(e,()=>sv(e,t,a)),xe(e,()=>e.uniform1i(n,a))}function IL(e){xe(e,()=>e.bindFramebuffer(e.FRAMEBUFFER,null)),xe(e,()=>e.viewport(0,0,e.canvas.width,e.canvas.height)),xe(e,()=>e.scissor(0,0,e.canvas.width,e.canvas.height))}function vh(e,t,n){xe(e,()=>e.bindFramebuffer(e.FRAMEBUFFER,n)),xe(e,()=>e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0))}function gy(e,t){xe(e,()=>e.bindFramebuffer(e.FRAMEBUFFER,t)),xe(e,()=>e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,null,0))}function wd(e){let t=e.checkFramebufferStatus(e.FRAMEBUFFER);if(t!==e.FRAMEBUFFER_COMPLETE)throw new Error("Error binding framebuffer: "+uv(e,t))}function uv(e,t){switch(t){case e.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:return"FRAMEBUFFER_INCOMPLETE_ATTACHMENT";case e.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:return"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT";case e.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:return"FRAMEBUFFER_INCOMPLETE_DIMENSIONS";case e.FRAMEBUFFER_UNSUPPORTED:return"FRAMEBUFFER_UNSUPPORTED";default:return`unknown error ${t}`}}function yr(e,t,n){let a=xe(e,()=>t());if(a==null)throw new Error(n);return a}function dv(e,t){let n=e.MAX_COMBINED_TEXTURE_IMAGE_UNITS-1,a=t+e.TEXTURE0;if(an){let r=`[gl.TEXTURE0, gl.TEXTURE${n}]`;throw new Error(`textureUnit must be in ${r}.`)}}function Ci(e,t=2){return k.sizeFromShape(e.slice(0,e.length-t))}function Ri(e){if(e.length===0)throw Error("Cannot get rows and columns of an empty shape array.");return[e.length>1?e[e.length-2]:1,e[e.length-1]]}function wh(e){let t=[1,1,1];return e.length===0||e.length===1&&e[0]===1||(t=[Ci(e),...Ri(e)]),t}function pv(e,t=!1){let n=J().getNumber("WEBGL_MAX_TEXTURE_SIZE");t&&(n=n*2,e=e.map((r,s)=>s>=e.length-2?k.nearestLargerEven(e[s]):e[s]),e.length===1&&(e=[2,e[0]])),e.length!==2&&(e=k.squeezeShape(e).newShape);let a=k.sizeFromShape(e);if(e.length<=1&&a<=n)return[1,a];if(e.length===2&&e[0]<=n&&e[1]<=n)return e;if(e.length===3&&e[0]*e[1]<=n&&e[2]<=n)return[e[0]*e[1],e[2]];if(e.length===3&&e[0]<=n&&e[1]*e[2]<=n)return[e[0],e[1]*e[2]];if(e.length===4&&e[0]*e[1]*e[2]<=n&&e[3]<=n)return[e[0]*e[1]*e[2],e[3]];if(e.length===4&&e[0]<=n&&e[1]*e[2]*e[3]<=n)return[e[0],e[1]*e[2]*e[3]];if(t){let r=Ci(e),s=2,i=2;return e.length&&([s,i]=Ri(e)),a=r*(s/2)*(i/2),k.sizeToSquarishShape(a).map(o=>o*2)}return k.sizeToSquarishShape(a)}function kh(e){return e%2==0}function kd(e,t){if(e=e.slice(-2),t=t.slice(-2),k.arraysEqual(e,t)||!e.length||!t.length||e[0]===0||e[1]===0||t[0]===0||t[1]===0)return!0;if(e.length!==t.length){let n=e.slice(-1)[0],a=t.slice(-1)[0];if(n===a||kh(n)&&kh(a)&&(e[0]===1||t[0]===1))return!0}return e[1]===t[1]&&kh(e[0])&&kh(t[0])}var Ih,Sh;function cv(e){if(Ih==null){let t=Xa(e);Ih=t.getParameter(t.MAX_TEXTURE_SIZE)}return Ih}function SL(){Ih=null}function NL(){Sh=null}function hv(e){if(Sh==null){let t=Xa(e);Sh=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS)}return Math.min(16,Sh)}function fv(e){if(e===0)return 0;let t,n=Xa(e);return ra(n,"EXT_disjoint_timer_query_webgl2")&&e===2?t=2:ra(n,"EXT_disjoint_timer_query")?t=1:t=0,t}function ra(e,t){return e.getExtension(t)!=null}function xy(e){try{if(Xa(e)!=null)return!0}catch(t){return console.log("Error when getting WebGL context: ",t),!1}return!1}function mv(e){if(e===0)return!1;let t=Xa(e);if(e===1){if(!ra(t,"OES_texture_float"))return!1}else if(!ra(t,"EXT_color_buffer_float"))return!1;return by(t)}function yv(e){if(e===0)return!1;let t=Xa(e);if(e===1){if(!ra(t,"OES_texture_float")||!ra(t,"WEBGL_color_buffer_float"))return!1}else{if(ra(t,"EXT_color_buffer_float"))return by(t);let n="EXT_color_buffer_half_float";if(ra(t,n)){let a=t.getExtension(n);return TL(t,a)}return!1}return by(t)}function by(e){let t=yy(e),n=e.createTexture();e.bindTexture(e.TEXTURE_2D,n);let a=1,r=1;e.texImage2D(e.TEXTURE_2D,0,t.internalFormatFloat,a,r,0,t.textureFormatFloat,t.textureTypeFloat,null);let s=e.createFramebuffer();e.bindFramebuffer(e.FRAMEBUFFER,s),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,n,0);let i=e.checkFramebufferStatus(e.FRAMEBUFFER)===e.FRAMEBUFFER_COMPLETE;return e.bindTexture(e.TEXTURE_2D,null),e.bindFramebuffer(e.FRAMEBUFFER,null),e.deleteTexture(n),e.deleteFramebuffer(s),i}function TL(e,t){let n=yy(e,t),a=e.createTexture();e.bindTexture(e.TEXTURE_2D,a);let r=1,s=1;e.texImage2D(e.TEXTURE_2D,0,n.internalFormatHalfFloat,r,s,0,n.textureFormatFloat,n.textureTypeHalfFloat,null);let i=e.createFramebuffer();e.bindFramebuffer(e.FRAMEBUFFER,i),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,a,0);let o=e.checkFramebufferStatus(e.FRAMEBUFFER)===e.FRAMEBUFFER_COMPLETE;return e.bindTexture(e.TEXTURE_2D,null),e.bindFramebuffer(e.FRAMEBUFFER,null),e.deleteTexture(a),e.deleteFramebuffer(i),o}function Av(e){return e!==2?!1:Xa(e).fenceSync!=null}function _l(e,t){Array.isArray(e)||(e=[e]),e.forEach(n=>{n!=null&&k.assert(n.dtype!=="complex64",()=>`${t} does not support complex64 tensors in the WebGL backend.`)})}var Me=J();Me.registerFlag("HAS_WEBGL",()=>Me.getNumber("WEBGL_VERSION")>0);Me.registerFlag("WEBGL_VERSION",()=>xy(2)?2:xy(1)?1:0);Me.registerFlag("WEBGL_CHECK_NUMERICAL_PROBLEMS",()=>!1);Me.registerFlag("WEBGL_BUFFER_SUPPORTED",()=>Me.get("WEBGL_VERSION")===2);Me.registerFlag("WEBGL_CPU_FORWARD",()=>!0);Me.registerFlag("WEBGL_FORCE_F16_TEXTURES",()=>!1);Me.registerFlag("WEBGL_PACK",()=>Me.getBool("HAS_WEBGL"));Me.registerFlag("WEBGL_PACK_NORMALIZATION",()=>Me.getBool("WEBGL_PACK"));Me.registerFlag("WEBGL_PACK_CLIP",()=>Me.getBool("WEBGL_PACK"));Me.registerFlag("WEBGL_PACK_DEPTHWISECONV",()=>Me.getBool("WEBGL_PACK"));Me.registerFlag("WEBGL_PACK_BINARY_OPERATIONS",()=>Me.getBool("WEBGL_PACK"));Me.registerFlag("WEBGL_PACK_UNARY_OPERATIONS",()=>Me.getBool("WEBGL_PACK"));Me.registerFlag("WEBGL_PACK_ARRAY_OPERATIONS",()=>Me.getBool("WEBGL_PACK"));Me.registerFlag("WEBGL_PACK_IMAGE_OPERATIONS",()=>Me.getBool("WEBGL_PACK"));Me.registerFlag("WEBGL_PACK_REDUCE",()=>Me.getBool("WEBGL_PACK"));Me.registerFlag("WEBGL_LAZILY_UNPACK",()=>Me.getBool("WEBGL_PACK"));Me.registerFlag("WEBGL_CONV_IM2COL",()=>Me.getBool("WEBGL_PACK"));Me.registerFlag("WEBGL_MAX_TEXTURE_SIZE",()=>cv(Me.getNumber("WEBGL_VERSION")));Me.registerFlag("WEBGL_MAX_TEXTURES_IN_SHADER",()=>hv(Me.getNumber("WEBGL_VERSION")));Me.registerFlag("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION",()=>{let e=Me.getNumber("WEBGL_VERSION");return e===0?0:fv(e)});Me.registerFlag("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE",()=>Me.getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")>0&&!Zu.isMobile());Me.registerFlag("WEBGL_RENDER_FLOAT32_CAPABLE",()=>mv(Me.getNumber("WEBGL_VERSION")));Me.registerFlag("WEBGL_RENDER_FLOAT32_ENABLED",()=>Me.getBool("WEBGL_FORCE_F16_TEXTURES")?!1:Me.getBool("WEBGL_RENDER_FLOAT32_CAPABLE"));Me.registerFlag("WEBGL_DOWNLOAD_FLOAT_ENABLED",()=>yv(Me.getNumber("WEBGL_VERSION")));Me.registerFlag("WEBGL_FENCE_API_ENABLED",()=>Av(Me.getNumber("WEBGL_VERSION")));Me.registerFlag("WEBGL_SIZE_UPLOAD_UNIFORM",()=>Me.getBool("WEBGL_RENDER_FLOAT32_ENABLED")?4:0);Me.registerFlag("WEBGL_DELETE_TEXTURE_THRESHOLD",()=>-1,e=>{if(e<0&&e!==-1)throw new Error(`WEBGL_DELETE_TEXTURE_THRESHOLD must be -1 (indicating never delete) or at least 0, but got ${e}.`)});Me.registerFlag("WEBGL_FLUSH_THRESHOLD",()=>Zu.isMobile()&&Me.getBool("IS_CHROME")?1:-1,e=>{if(e<0&&e!==-1)throw new Error(`WEBGL_FLUSH_THRESHOLD must be -1 (indicating never manual flush) or at least 0, but got ${e}.`)});function hn(){let e,t,n,a,r,s,i,o,u,l;return J().getNumber("WEBGL_VERSION")===2?(e="#version 300 es",t="in",n="out",a="in",r="texture",s="outputColor",i="out vec4 outputColor;",o=` +var __defProp = Object.defineProperty; +var __require = (x) => { + if (typeof require !== "undefined") + return require(x); + throw new Error('Dynamic require of "' + x + '" is not supported'); +}; +var __export = (target, all6) => { + for (var name6 in all6) + __defProp(target, name6, { get: all6[name6], enumerable: true }); +}; +var __accessCheck = (obj, member, msg) => { + if (!member.has(obj)) + throw TypeError("Cannot " + msg); +}; +var __privateGet = (obj, member, getter) => { + __accessCheck(obj, member, "read from private field"); + return getter ? getter.call(obj) : member.get(obj); +}; +var __privateAdd = (obj, member, value) => { + if (member.has(obj)) + throw TypeError("Cannot add the same private member more than once"); + member instanceof WeakSet ? member.add(obj) : member.set(obj, value); +}; +var __privateSet = (obj, member, value, setter) => { + __accessCheck(obj, member, "write to private field"); + setter ? setter.call(obj, value) : member.set(obj, value); + return value; +}; + +// src/helpers.ts +function join(folder, file) { + const separator = folder.endsWith("/") ? "" : "/"; + const skipJoin = file.startsWith(".") || file.startsWith("/") || file.startsWith("http:") || file.startsWith("https:") || file.startsWith("file:"); + const path = skipJoin ? `${file}` : `${folder}${separator}${file}`; + if (!path.toLocaleLowerCase().includes(".json")) + throw new Error(`Human: ModelPath Error: ${path} Expecting JSON file`); + return path; +} +function log(...msg) { + const dt = new Date(); + const ts = `${dt.getHours().toString().padStart(2, "0")}:${dt.getMinutes().toString().padStart(2, "0")}:${dt.getSeconds().toString().padStart(2, "0")}.${dt.getMilliseconds().toString().padStart(3, "0")}`; + if (msg) + console.log(ts, "Human:", ...msg); +} +var now = () => { + if (typeof performance !== "undefined") + return performance.now(); + return parseInt((Number(process.hrtime.bigint()) / 1e3 / 1e3).toString()); +}; +function mergeDeep(...objects) { + const isObject = (obj) => obj && typeof obj === "object"; + return objects.reduce((prev, obj) => { + Object.keys(obj || {}).forEach((key) => { + const pVal = prev[key]; + const oVal = obj[key]; + if (Array.isArray(pVal) && Array.isArray(oVal)) + prev[key] = pVal.concat(...oVal); + else if (isObject(pVal) && isObject(oVal)) + prev[key] = mergeDeep(pVal, oVal); + else + prev[key] = oVal; + }); + return prev; + }, {}); +} + +// src/config.ts +var config = { + backend: "webgl", + modelBasePath: "../models/", + wasmPath: "../node_modules/@tensorflow/tfjs-backend-wasm/dist/", + debug: true, + async: true, + warmup: "full", + cacheSensitivity: 0.75, + filter: { + enabled: true, + width: 0, + height: 0, + flip: false, + return: true, + brightness: 0, + contrast: 0, + sharpness: 0, + blur: 0, + saturation: 0, + hue: 0, + negative: false, + sepia: false, + vintage: false, + kodachrome: false, + technicolor: false, + polaroid: false, + pixelate: 0 + }, + gesture: { + enabled: true + }, + face: { + enabled: true, + detector: { + modelPath: "blazeface.json", + rotation: true, + maxDetected: 5, + skipFrames: 15, + minConfidence: 0.2, + iouThreshold: 0.1, + return: false + }, + mesh: { + enabled: true, + modelPath: "facemesh.json" + }, + iris: { + enabled: true, + modelPath: "iris.json" + }, + description: { + enabled: true, + modelPath: "faceres.json", + skipFrames: 16, + minConfidence: 0.1 + }, + emotion: { + enabled: true, + minConfidence: 0.1, + skipFrames: 17, + modelPath: "emotion.json" + } + }, + body: { + enabled: true, + modelPath: "movenet-lightning.json", + maxDetected: 1, + minConfidence: 0.2 + }, + hand: { + enabled: true, + rotation: true, + skipFrames: 18, + minConfidence: 0.1, + iouThreshold: 0.1, + maxDetected: 2, + landmarks: true, + detector: { + modelPath: "handdetect.json" + }, + skeleton: { + modelPath: "handskeleton.json" + } + }, + object: { + enabled: false, + modelPath: "mb3-centernet.json", + minConfidence: 0.2, + iouThreshold: 0.4, + maxDetected: 10, + skipFrames: 19 + } +}; + +// src/sysinfo.ts +function info() { + let platform; + let agent; + if (typeof navigator !== "undefined") { + const raw = navigator.userAgent.match(/\(([^()]+)\)/g); + if (raw && raw[0]) { + const platformMatch = raw[0].match(/\(([^()]+)\)/g); + platform = platformMatch ? platformMatch[0].replace(/\(|\)/g, "") : ""; + agent = navigator.userAgent.replace(raw[0], ""); + if (platform[1]) + agent = agent.replace(raw[1], ""); + agent = agent.replace(/ /g, " "); + } + } else if (typeof process !== "undefined") { + platform = `${process.platform} ${process.arch}`; + agent = `NodeJS ${process.version}`; + } + return { platform, agent }; +} + +// dist/tfjs.esm.js +var tfjs_esm_exports = {}; +__export(tfjs_esm_exports, { + Abs: () => Abs, + Acos: () => Acos, + Acosh: () => Acosh, + AdadeltaOptimizer: () => AdadeltaOptimizer, + AdagradOptimizer: () => AdagradOptimizer, + AdamOptimizer: () => AdamOptimizer, + AdamaxOptimizer: () => AdamaxOptimizer, + Add: () => Add, + AddN: () => AddN, + All: () => All, + Any: () => Any, + ArgMax: () => ArgMax, + ArgMin: () => ArgMin, + Asin: () => Asin, + Asinh: () => Asinh, + Atan: () => Atan, + Atan2: () => Atan2, + Atanh: () => Atanh, + AvgPool: () => AvgPool, + AvgPool3D: () => AvgPool3D, + AvgPool3DGrad: () => AvgPool3DGrad, + AvgPoolGrad: () => AvgPoolGrad, + BackendWasm: () => BackendWasm, + BatchMatMul: () => BatchMatMul, + BatchToSpaceND: () => BatchToSpaceND, + Bincount: () => Bincount, + BroadcastTo: () => BroadcastTo, + Callback: () => Callback, + CallbackList: () => CallbackList, + Cast: () => Cast, + Ceil: () => Ceil, + ClipByValue: () => ClipByValue, + Complex: () => Complex, + ComplexAbs: () => ComplexAbs, + Concat: () => Concat, + Conv2D: () => Conv2D, + Conv2DBackpropFilter: () => Conv2DBackpropFilter, + Conv2DBackpropInput: () => Conv2DBackpropInput, + Conv3D: () => Conv3D, + Conv3DBackpropFilterV2: () => Conv3DBackpropFilterV2, + Conv3DBackpropInputV2: () => Conv3DBackpropInputV2, + Cos: () => Cos, + Cosh: () => Cosh, + CropAndResize: () => CropAndResize, + Cumsum: () => Cumsum, + CustomCallback: () => CustomCallback, + DataStorage: () => DataStorage, + DenseBincount: () => DenseBincount, + DepthToSpace: () => DepthToSpace, + DepthwiseConv2dNative: () => DepthwiseConv2dNative, + DepthwiseConv2dNativeBackpropFilter: () => DepthwiseConv2dNativeBackpropFilter, + DepthwiseConv2dNativeBackpropInput: () => DepthwiseConv2dNativeBackpropInput, + Diag: () => Diag, + Dilation2D: () => Dilation2D, + Dilation2DBackpropFilter: () => Dilation2DBackpropFilter, + Dilation2DBackpropInput: () => Dilation2DBackpropInput, + ENV: () => ENV, + EarlyStopping: () => EarlyStopping, + Einsum: () => Einsum, + Elu: () => Elu, + EluGrad: () => EluGrad, + Environment: () => Environment, + Equal: () => Equal, + Erf: () => Erf, + Exp: () => Exp, + ExpandDims: () => ExpandDims, + Expm1: () => Expm1, + FFT: () => FFT, + Fill: () => Fill, + FlipLeftRight: () => FlipLeftRight, + Floor: () => Floor, + FloorDiv: () => FloorDiv, + FromPixels: () => FromPixels, + FusedBatchNorm: () => FusedBatchNorm, + FusedConv2D: () => FusedConv2D, + FusedDepthwiseConv2D: () => FusedDepthwiseConv2D, + GPGPUContext: () => GPGPUContext, + GatherNd: () => GatherNd, + GatherV2: () => GatherV2, + GraphModel: () => GraphModel, + Greater: () => Greater, + GreaterEqual: () => GreaterEqual, + History: () => History, + IFFT: () => IFFT, + Identity: () => Identity, + Imag: () => Imag, + InputSpec: () => InputSpec, + IsFinite: () => IsFinite, + IsInf: () => IsInf, + IsNan: () => IsNan, + KernelBackend: () => KernelBackend, + LRN: () => LRN, + LRNGrad: () => LRNGrad, + LayerVariable: () => LayerVariable, + LayersModel: () => LayersModel, + LeakyRelu: () => LeakyRelu, + Less: () => Less, + LessEqual: () => LessEqual, + LinSpace: () => LinSpace, + Log: () => Log, + Log1p: () => Log1p, + LogSoftmax: () => LogSoftmax, + LogicalAnd: () => LogicalAnd, + LogicalNot: () => LogicalNot, + LogicalOr: () => LogicalOr, + MathBackendCPU: () => MathBackendCPU, + MathBackendWebGL: () => MathBackendWebGL, + Max: () => Max, + MaxPool: () => MaxPool, + MaxPool3D: () => MaxPool3D, + MaxPool3DGrad: () => MaxPool3DGrad, + MaxPoolGrad: () => MaxPoolGrad, + MaxPoolWithArgmax: () => MaxPoolWithArgmax, + Maximum: () => Maximum, + Mean: () => Mean, + Min: () => Min, + Minimum: () => Minimum, + MirrorPad: () => MirrorPad, + Mod: () => Mod, + MomentumOptimizer: () => MomentumOptimizer, + Multinomial: () => Multinomial, + Multiply: () => Multiply, + Neg: () => Neg, + NonMaxSuppressionV3: () => NonMaxSuppressionV3, + NonMaxSuppressionV4: () => NonMaxSuppressionV4, + NonMaxSuppressionV5: () => NonMaxSuppressionV5, + NotEqual: () => NotEqual, + OP_SCOPE_SUFFIX: () => OP_SCOPE_SUFFIX, + OneHot: () => OneHot, + OnesLike: () => OnesLike, + Optimizer: () => Optimizer, + Pack: () => Pack, + PadV2: () => PadV2, + Pool: () => Pool, + Pow: () => Pow, + Prelu: () => Prelu, + Prod: () => Prod, + RMSPropOptimizer: () => RMSPropOptimizer, + RNN: () => RNN, + Range: () => Range, + Rank: () => Rank, + Real: () => Real, + RealDiv: () => RealDiv, + Reciprocal: () => Reciprocal, + Reduction: () => Reduction, + Relu: () => Relu, + Relu6: () => Relu6, + Reshape: () => Reshape, + ResizeBilinear: () => ResizeBilinear, + ResizeBilinearGrad: () => ResizeBilinearGrad, + ResizeNearestNeighbor: () => ResizeNearestNeighbor, + ResizeNearestNeighborGrad: () => ResizeNearestNeighborGrad, + Reverse: () => Reverse, + RotateWithOffset: () => RotateWithOffset, + Round: () => Round, + Rsqrt: () => Rsqrt, + SGDOptimizer: () => SGDOptimizer, + ScatterNd: () => ScatterNd, + Select: () => Select, + Selu: () => Selu, + Sequential: () => Sequential, + Sigmoid: () => Sigmoid, + Sign: () => Sign, + Sin: () => Sin, + Sinh: () => Sinh, + Slice: () => Slice, + Softmax: () => Softmax, + Softplus: () => Softplus, + SpaceToBatchND: () => SpaceToBatchND, + SparseFillEmptyRows: () => SparseFillEmptyRows, + SparseReshape: () => SparseReshape, + SparseToDense: () => SparseToDense, + SplitV: () => SplitV, + Sqrt: () => Sqrt, + Square: () => Square, + SquaredDifference: () => SquaredDifference, + Step: () => Step, + StridedSlice: () => StridedSlice, + Sub: () => Sub, + Sum: () => Sum, + SymbolicTensor: () => SymbolicTensor, + Tan: () => Tan, + Tanh: () => Tanh, + Tensor: () => Tensor, + TensorBuffer: () => TensorBuffer, + Tile: () => Tile, + TopK: () => TopK, + Transform: () => Transform, + Transpose: () => Transpose, + Unique: () => Unique, + Unpack: () => Unpack, + UnsortedSegmentSum: () => UnsortedSegmentSum, + Variable: () => Variable, + ZerosLike: () => ZerosLike, + _FusedMatMul: () => _FusedMatMul, + abs: () => abs, + acos: () => acos, + acosh: () => acosh, + add: () => add2, + addN: () => addN, + all: () => all, + any: () => any, + argMax: () => argMax, + argMin: () => argMin, + asin: () => asin, + asinh: () => asinh, + atan: () => atan, + atan2: () => atan2, + atanh: () => atanh, + avgPool: () => avgPool, + avgPool3d: () => avgPool3d, + backend: () => backend, + backend_util: () => backend_util_exports, + basicLSTMCell: () => basicLSTMCell, + batchNorm: () => batchNorm, + batchNorm2d: () => batchNorm2d, + batchNorm3d: () => batchNorm3d, + batchNorm4d: () => batchNorm4d, + batchToSpaceND: () => batchToSpaceND, + bincount: () => bincount, + booleanMaskAsync: () => booleanMaskAsync, + broadcastTo: () => broadcastTo, + browser: () => browser_exports, + buffer: () => buffer, + callbacks: () => callbacks, + cast: () => cast, + ceil: () => ceil, + clipByValue: () => clipByValue, + clone: () => clone, + complex: () => complex, + concat: () => concat, + concat1d: () => concat1d, + concat2d: () => concat2d, + concat3d: () => concat3d, + concat4d: () => concat4d, + constraints: () => exports_constraints_exports, + conv1d: () => conv1d, + conv2d: () => conv2d, + conv2dTranspose: () => conv2dTranspose, + conv3d: () => conv3d, + conv3dTranspose: () => conv3dTranspose, + copyRegisteredKernels: () => copyRegisteredKernels, + cos: () => cos, + cosh: () => cosh, + cosineWindow: () => cosineWindow, + cumsum: () => cumsum, + customGrad: () => customGrad, + data: () => dist_exports, + denseBincount: () => denseBincount, + deprecationWarn: () => deprecationWarn, + depthToSpace: () => depthToSpace, + depthwiseConv2d: () => depthwiseConv2d, + deregisterOp: () => deregisterOp, + device_util: () => device_util_exports, + diag: () => diag, + dilation2d: () => dilation2d, + disableDeprecationWarnings: () => disableDeprecationWarnings, + dispose: () => dispose, + disposeVariables: () => disposeVariables, + div: () => div, + divNoNan: () => divNoNan, + dot: () => dot, + dropout: () => dropout, + einsum: () => einsum, + elu: () => elu, + enableDebugMode: () => enableDebugMode, + enableProdMode: () => enableProdMode, + enclosingPowerOfTwo: () => enclosingPowerOfTwo, + engine: () => engine, + env: () => env, + equal: () => equal, + erf: () => erf, + exp: () => exp, + expandDims: () => expandDims, + expm1: () => expm1, + eye: () => eye, + fft: () => fft, + fill: () => fill, + findBackend: () => findBackend, + findBackendFactory: () => findBackendFactory, + floor: () => floor, + floorDiv: () => floorDiv, + forceHalfFloat: () => forceHalfFloat, + fused: () => fused_ops_exports, + gather: () => gather, + gatherND: () => gatherND, + gather_util: () => gather_nd_util_exports, + getBackend: () => getBackend, + getGradient: () => getGradient, + getKernel: () => getKernel, + getKernelsForBackend: () => getKernelsForBackend, + gpgpu_util: () => gpgpu_util_exports, + grad: () => grad, + grads: () => grads, + greater: () => greater, + greaterEqual: () => greaterEqual, + ifft: () => ifft, + imag: () => imag, + image: () => image, + inTopKAsync: () => inTopKAsync, + initializers: () => exports_initializers_exports, + input: () => input, + io: () => io_exports, + irfft: () => irfft, + isFinite: () => isFinite2, + isInf: () => isInf, + isNaN: () => isNaN2, + keep: () => keep, + kernel_impls: () => kernel_impls_exports, + layers: () => exports_layers_exports, + leakyRelu: () => leakyRelu, + less: () => less, + lessEqual: () => lessEqual, + linalg: () => linalg, + linspace: () => linspace, + loadGraphModel: () => loadGraphModel, + loadLayersModel: () => loadLayersModel, + localResponseNormalization: () => localResponseNormalization, + log: () => log2, + log1p: () => log1p, + logSigmoid: () => logSigmoid, + logSoftmax: () => logSoftmax, + logSumExp: () => logSumExp, + logicalAnd: () => logicalAnd, + logicalNot: () => logicalNot, + logicalOr: () => logicalOr, + logicalXor: () => logicalXor, + losses: () => losses, + matMul: () => matMul, + math: () => math_exports, + max: () => max, + maxPool: () => maxPool, + maxPool3d: () => maxPool3d, + maxPoolWithArgmax: () => maxPoolWithArgmax, + maximum: () => maximum, + mean: () => mean, + memory: () => memory, + meshgrid: () => meshgrid, + metrics: () => exports_metrics_exports, + min: () => min, + minimum: () => minimum, + mirrorPad: () => mirrorPad, + mod: () => mod, + model: () => model, + models: () => exports_models_exports, + moments: () => moments, + movingAverage: () => movingAverage, + mul: () => mul, + multiRNNCell: () => multiRNNCell, + multinomial: () => multinomial, + neg: () => neg, + nextFrame: () => nextFrame, + norm: () => norm, + notEqual: () => notEqual, + oneHot: () => oneHot, + ones: () => ones2, + onesLike: () => onesLike, + op: () => op, + outerProduct: () => outerProduct, + pad: () => pad, + pad1d: () => pad1d, + pad2d: () => pad2d, + pad3d: () => pad3d, + pad4d: () => pad4d, + pool: () => pool, + pow: () => pow, + prelu: () => prelu, + print: () => print2, + prod: () => prod, + profile: () => profile, + rand: () => rand, + randomGamma: () => randomGamma, + randomNormal: () => randomNormal, + randomUniform: () => randomUniform, + range: () => range, + ready: () => ready, + real: () => real, + reciprocal: () => reciprocal, + registerBackend: () => registerBackend, + registerCallbackConstructor: () => registerCallbackConstructor, + registerGradient: () => registerGradient, + registerKernel: () => registerKernel, + registerOp: () => registerOp, + regularizers: () => exports_regularizers_exports, + relu: () => relu, + relu6: () => relu6, + removeBackend: () => removeBackend, + reshape: () => reshape, + reverse: () => reverse, + reverse1d: () => reverse1d, + reverse2d: () => reverse2d, + reverse3d: () => reverse3d, + reverse4d: () => reverse4d, + rfft: () => rfft, + round: () => round2, + rsqrt: () => rsqrt, + scalar: () => scalar, + scatterND: () => scatterND, + scatter_util: () => scatter_nd_util_exports, + selu: () => selu, + separableConv2d: () => separableConv2d, + sequential: () => sequential, + serialization: () => serialization_exports, + setBackend: () => setBackend, + setPlatform: () => setPlatform, + setWasmPath: () => setWasmPath, + setWasmPaths: () => setWasmPaths, + setWebGLContext: () => setWebGLContext, + setdiff1dAsync: () => setdiff1dAsync, + shared: () => shared_exports, + sigmoid: () => sigmoid, + sign: () => sign, + signal: () => signal, + sin: () => sin, + sinh: () => sinh, + slice: () => slice, + slice1d: () => slice1d, + slice2d: () => slice2d, + slice3d: () => slice3d, + slice4d: () => slice4d, + slice_util: () => slice_util_exports, + softmax: () => softmax, + softplus: () => softplus, + spaceToBatchND: () => spaceToBatchND, + sparse: () => sparse, + sparseToDense: () => sparseToDense, + spectral: () => spectral, + split: () => split, + sqrt: () => sqrt, + square: () => square, + squaredDifference: () => squaredDifference, + squeeze: () => squeeze, + stack: () => stack, + step: () => step, + stridedSlice: () => stridedSlice, + sub: () => sub, + sum: () => sum2, + sumOutType: () => sumOutType, + tan: () => tan, + tanh: () => tanh2, + tensor: () => tensor, + tensor1d: () => tensor1d, + tensor2d: () => tensor2d, + tensor3d: () => tensor3d, + tensor4d: () => tensor4d, + tensor5d: () => tensor5d, + tensor6d: () => tensor6d, + tensor_util: () => tensor_util_exports, + test_util: () => test_util_exports, + tidy: () => tidy, + tile: () => tile, + time: () => time, + topk: () => topk, + train: () => train, + transpose: () => transpose, + truncatedNormal: () => truncatedNormal, + unique: () => unique, + unregisterGradient: () => unregisterGradient, + unregisterKernel: () => unregisterKernel, + unsortedSegmentSum: () => unsortedSegmentSum, + unstack: () => unstack, + upcastType: () => upcastType, + util: () => util_exports, + valueAndGrad: () => valueAndGrad, + valueAndGrads: () => valueAndGrads, + variable: () => variable, + variableGrads: () => variableGrads, + version: () => version13, + version_converter: () => version11, + version_core: () => version6, + version_cpu: () => version7, + version_layers: () => version10, + version_wasm: () => version9, + version_webgl: () => version8, + webgl: () => webgl, + webgl_util: () => webgl_util_exports, + where: () => where, + whereAsync: () => whereAsync, + zeros: () => zeros, + zerosLike: () => zerosLike +}); +var __create = Object.create; +var __defProp2 = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __markAsModule = (target) => __defProp2(target, "__esModule", { value: true }); +var __require2 = (x) => { + if (typeof __require !== "undefined") + return __require(x); + throw new Error('Dynamic require of "' + x + '" is not supported'); +}; +var __commonJS = (cb, mod4) => function __require22() { + return mod4 || (0, cb[Object.keys(cb)[0]])((mod4 = { exports: {} }).exports, mod4), mod4.exports; +}; +var __export2 = (target, all52) => { + for (var name6 in all52) + __defProp2(target, name6, { get: all52[name6], enumerable: true }); +}; +var __reExport = (target, module6, desc) => { + if (module6 && typeof module6 === "object" || typeof module6 === "function") { + for (let key of __getOwnPropNames(module6)) + if (!__hasOwnProp.call(target, key) && key !== "default") + __defProp2(target, key, { get: () => module6[key], enumerable: !(desc = __getOwnPropDesc(module6, key)) || desc.enumerable }); + } + return target; +}; +var __toModule = (module6) => { + return __reExport(__markAsModule(__defProp2(module6 != null ? __create(__getProtoOf(module6)) : {}, "default", module6 && module6.__esModule && "default" in module6 ? { get: () => module6.default, enumerable: true } : { value: module6, enumerable: true })), module6); +}; +var require_browser = __commonJS({ + "(disabled):node_modules/.pnpm/node-fetch@2.6.1/node_modules/node-fetch/browser.js"() { + } +}); +var require_alea = __commonJS({ + "node_modules/.pnpm/seedrandom@2.4.3/node_modules/seedrandom/lib/alea.js"(exports, module6) { + (function(global2, module7, define2) { + function Alea(seed) { + var me = this, mash = Mash(); + me.next = function() { + var t = 2091639 * me.s0 + me.c * 23283064365386963e-26; + me.s0 = me.s1; + me.s1 = me.s2; + return me.s2 = t - (me.c = t | 0); + }; + me.c = 1; + me.s0 = mash(" "); + me.s1 = mash(" "); + me.s2 = mash(" "); + me.s0 -= mash(seed); + if (me.s0 < 0) { + me.s0 += 1; + } + me.s1 -= mash(seed); + if (me.s1 < 0) { + me.s1 += 1; + } + me.s2 -= mash(seed); + if (me.s2 < 0) { + me.s2 += 1; + } + mash = null; + } + function copy(f, t) { + t.c = f.c; + t.s0 = f.s0; + t.s1 = f.s1; + t.s2 = f.s2; + return t; + } + function impl(seed, opts) { + var xg = new Alea(seed), state = opts && opts.state, prng = xg.next; + prng.int32 = function() { + return xg.next() * 4294967296 | 0; + }; + prng.double = function() { + return prng() + (prng() * 2097152 | 0) * 11102230246251565e-32; + }; + prng.quick = prng; + if (state) { + if (typeof state == "object") + copy(state, xg); + prng.state = function() { + return copy(xg, {}); + }; + } + return prng; + } + function Mash() { + var n = 4022871197; + var mash = function(data) { + data = data.toString(); + for (var i = 0; i < data.length; i++) { + n += data.charCodeAt(i); + var h = 0.02519603282416938 * n; + n = h >>> 0; + h -= n; + h *= n; + n = h >>> 0; + h -= n; + n += h * 4294967296; + } + return (n >>> 0) * 23283064365386963e-26; + }; + return mash; + } + if (module7 && module7.exports) { + module7.exports = impl; + } else if (define2 && define2.amd) { + define2(function() { + return impl; + }); + } else { + this.alea = impl; + } + })(exports, typeof module6 == "object" && module6, typeof define == "function" && define); + } +}); +var require_xor128 = __commonJS({ + "node_modules/.pnpm/seedrandom@2.4.3/node_modules/seedrandom/lib/xor128.js"(exports, module6) { + (function(global2, module7, define2) { + function XorGen(seed) { + var me = this, strseed = ""; + me.x = 0; + me.y = 0; + me.z = 0; + me.w = 0; + me.next = function() { + var t = me.x ^ me.x << 11; + me.x = me.y; + me.y = me.z; + me.z = me.w; + return me.w ^= me.w >>> 19 ^ t ^ t >>> 8; + }; + if (seed === (seed | 0)) { + me.x = seed; + } else { + strseed += seed; + } + for (var k = 0; k < strseed.length + 64; k++) { + me.x ^= strseed.charCodeAt(k) | 0; + me.next(); + } + } + function copy(f, t) { + t.x = f.x; + t.y = f.y; + t.z = f.z; + t.w = f.w; + return t; + } + function impl(seed, opts) { + var xg = new XorGen(seed), state = opts && opts.state, prng = function() { + return (xg.next() >>> 0) / 4294967296; + }; + prng.double = function() { + do { + var top = xg.next() >>> 11, bot = (xg.next() >>> 0) / 4294967296, result = (top + bot) / (1 << 21); + } while (result === 0); + return result; + }; + prng.int32 = xg.next; + prng.quick = prng; + if (state) { + if (typeof state == "object") + copy(state, xg); + prng.state = function() { + return copy(xg, {}); + }; + } + return prng; + } + if (module7 && module7.exports) { + module7.exports = impl; + } else if (define2 && define2.amd) { + define2(function() { + return impl; + }); + } else { + this.xor128 = impl; + } + })(exports, typeof module6 == "object" && module6, typeof define == "function" && define); + } +}); +var require_xorwow = __commonJS({ + "node_modules/.pnpm/seedrandom@2.4.3/node_modules/seedrandom/lib/xorwow.js"(exports, module6) { + (function(global2, module7, define2) { + function XorGen(seed) { + var me = this, strseed = ""; + me.next = function() { + var t = me.x ^ me.x >>> 2; + me.x = me.y; + me.y = me.z; + me.z = me.w; + me.w = me.v; + return (me.d = me.d + 362437 | 0) + (me.v = me.v ^ me.v << 4 ^ (t ^ t << 1)) | 0; + }; + me.x = 0; + me.y = 0; + me.z = 0; + me.w = 0; + me.v = 0; + if (seed === (seed | 0)) { + me.x = seed; + } else { + strseed += seed; + } + for (var k = 0; k < strseed.length + 64; k++) { + me.x ^= strseed.charCodeAt(k) | 0; + if (k == strseed.length) { + me.d = me.x << 10 ^ me.x >>> 4; + } + me.next(); + } + } + function copy(f, t) { + t.x = f.x; + t.y = f.y; + t.z = f.z; + t.w = f.w; + t.v = f.v; + t.d = f.d; + return t; + } + function impl(seed, opts) { + var xg = new XorGen(seed), state = opts && opts.state, prng = function() { + return (xg.next() >>> 0) / 4294967296; + }; + prng.double = function() { + do { + var top = xg.next() >>> 11, bot = (xg.next() >>> 0) / 4294967296, result = (top + bot) / (1 << 21); + } while (result === 0); + return result; + }; + prng.int32 = xg.next; + prng.quick = prng; + if (state) { + if (typeof state == "object") + copy(state, xg); + prng.state = function() { + return copy(xg, {}); + }; + } + return prng; + } + if (module7 && module7.exports) { + module7.exports = impl; + } else if (define2 && define2.amd) { + define2(function() { + return impl; + }); + } else { + this.xorwow = impl; + } + })(exports, typeof module6 == "object" && module6, typeof define == "function" && define); + } +}); +var require_xorshift7 = __commonJS({ + "node_modules/.pnpm/seedrandom@2.4.3/node_modules/seedrandom/lib/xorshift7.js"(exports, module6) { + (function(global2, module7, define2) { + function XorGen(seed) { + var me = this; + me.next = function() { + var X = me.x, i = me.i, t, v, w; + t = X[i]; + t ^= t >>> 7; + v = t ^ t << 24; + t = X[i + 1 & 7]; + v ^= t ^ t >>> 10; + t = X[i + 3 & 7]; + v ^= t ^ t >>> 3; + t = X[i + 4 & 7]; + v ^= t ^ t << 7; + t = X[i + 7 & 7]; + t = t ^ t << 13; + v ^= t ^ t << 9; + X[i] = v; + me.i = i + 1 & 7; + return v; + }; + function init2(me2, seed2) { + var j, w, X = []; + if (seed2 === (seed2 | 0)) { + w = X[0] = seed2; + } else { + seed2 = "" + seed2; + for (j = 0; j < seed2.length; ++j) { + X[j & 7] = X[j & 7] << 15 ^ seed2.charCodeAt(j) + X[j + 1 & 7] << 13; + } + } + while (X.length < 8) + X.push(0); + for (j = 0; j < 8 && X[j] === 0; ++j) + ; + if (j == 8) + w = X[7] = -1; + else + w = X[j]; + me2.x = X; + me2.i = 0; + for (j = 256; j > 0; --j) { + me2.next(); + } + } + init2(me, seed); + } + function copy(f, t) { + t.x = f.x.slice(); + t.i = f.i; + return t; + } + function impl(seed, opts) { + if (seed == null) + seed = +new Date(); + var xg = new XorGen(seed), state = opts && opts.state, prng = function() { + return (xg.next() >>> 0) / 4294967296; + }; + prng.double = function() { + do { + var top = xg.next() >>> 11, bot = (xg.next() >>> 0) / 4294967296, result = (top + bot) / (1 << 21); + } while (result === 0); + return result; + }; + prng.int32 = xg.next; + prng.quick = prng; + if (state) { + if (state.x) + copy(state, xg); + prng.state = function() { + return copy(xg, {}); + }; + } + return prng; + } + if (module7 && module7.exports) { + module7.exports = impl; + } else if (define2 && define2.amd) { + define2(function() { + return impl; + }); + } else { + this.xorshift7 = impl; + } + })(exports, typeof module6 == "object" && module6, typeof define == "function" && define); + } +}); +var require_xor4096 = __commonJS({ + "node_modules/.pnpm/seedrandom@2.4.3/node_modules/seedrandom/lib/xor4096.js"(exports, module6) { + (function(global2, module7, define2) { + function XorGen(seed) { + var me = this; + me.next = function() { + var w = me.w, X = me.X, i = me.i, t, v; + me.w = w = w + 1640531527 | 0; + v = X[i + 34 & 127]; + t = X[i = i + 1 & 127]; + v ^= v << 13; + t ^= t << 17; + v ^= v >>> 15; + t ^= t >>> 12; + v = X[i] = v ^ t; + me.i = i; + return v + (w ^ w >>> 16) | 0; + }; + function init2(me2, seed2) { + var t, v, i, j, w, X = [], limit = 128; + if (seed2 === (seed2 | 0)) { + v = seed2; + seed2 = null; + } else { + seed2 = seed2 + "\0"; + v = 0; + limit = Math.max(limit, seed2.length); + } + for (i = 0, j = -32; j < limit; ++j) { + if (seed2) + v ^= seed2.charCodeAt((j + 32) % seed2.length); + if (j === 0) + w = v; + v ^= v << 10; + v ^= v >>> 15; + v ^= v << 4; + v ^= v >>> 13; + if (j >= 0) { + w = w + 1640531527 | 0; + t = X[j & 127] ^= v + w; + i = t == 0 ? i + 1 : 0; + } + } + if (i >= 128) { + X[(seed2 && seed2.length || 0) & 127] = -1; + } + i = 127; + for (j = 4 * 128; j > 0; --j) { + v = X[i + 34 & 127]; + t = X[i = i + 1 & 127]; + v ^= v << 13; + t ^= t << 17; + v ^= v >>> 15; + t ^= t >>> 12; + X[i] = v ^ t; + } + me2.w = w; + me2.X = X; + me2.i = i; + } + init2(me, seed); + } + function copy(f, t) { + t.i = f.i; + t.w = f.w; + t.X = f.X.slice(); + return t; + } + ; + function impl(seed, opts) { + if (seed == null) + seed = +new Date(); + var xg = new XorGen(seed), state = opts && opts.state, prng = function() { + return (xg.next() >>> 0) / 4294967296; + }; + prng.double = function() { + do { + var top = xg.next() >>> 11, bot = (xg.next() >>> 0) / 4294967296, result = (top + bot) / (1 << 21); + } while (result === 0); + return result; + }; + prng.int32 = xg.next; + prng.quick = prng; + if (state) { + if (state.X) + copy(state, xg); + prng.state = function() { + return copy(xg, {}); + }; + } + return prng; + } + if (module7 && module7.exports) { + module7.exports = impl; + } else if (define2 && define2.amd) { + define2(function() { + return impl; + }); + } else { + this.xor4096 = impl; + } + })(exports, typeof module6 == "object" && module6, typeof define == "function" && define); + } +}); +var require_tychei = __commonJS({ + "node_modules/.pnpm/seedrandom@2.4.3/node_modules/seedrandom/lib/tychei.js"(exports, module6) { + (function(global2, module7, define2) { + function XorGen(seed) { + var me = this, strseed = ""; + me.next = function() { + var b = me.b, c = me.c, d = me.d, a = me.a; + b = b << 25 ^ b >>> 7 ^ c; + c = c - d | 0; + d = d << 24 ^ d >>> 8 ^ a; + a = a - b | 0; + me.b = b = b << 20 ^ b >>> 12 ^ c; + me.c = c = c - d | 0; + me.d = d << 16 ^ c >>> 16 ^ a; + return me.a = a - b | 0; + }; + me.a = 0; + me.b = 0; + me.c = 2654435769 | 0; + me.d = 1367130551; + if (seed === Math.floor(seed)) { + me.a = seed / 4294967296 | 0; + me.b = seed | 0; + } else { + strseed += seed; + } + for (var k = 0; k < strseed.length + 20; k++) { + me.b ^= strseed.charCodeAt(k) | 0; + me.next(); + } + } + function copy(f, t) { + t.a = f.a; + t.b = f.b; + t.c = f.c; + t.d = f.d; + return t; + } + ; + function impl(seed, opts) { + var xg = new XorGen(seed), state = opts && opts.state, prng = function() { + return (xg.next() >>> 0) / 4294967296; + }; + prng.double = function() { + do { + var top = xg.next() >>> 11, bot = (xg.next() >>> 0) / 4294967296, result = (top + bot) / (1 << 21); + } while (result === 0); + return result; + }; + prng.int32 = xg.next; + prng.quick = prng; + if (state) { + if (typeof state == "object") + copy(state, xg); + prng.state = function() { + return copy(xg, {}); + }; + } + return prng; + } + if (module7 && module7.exports) { + module7.exports = impl; + } else if (define2 && define2.amd) { + define2(function() { + return impl; + }); + } else { + this.tychei = impl; + } + })(exports, typeof module6 == "object" && module6, typeof define == "function" && define); + } +}); +var require_crypto = __commonJS({ + "(disabled):crypto"() { + } +}); +var require_seedrandom = __commonJS({ + "node_modules/.pnpm/seedrandom@2.4.3/node_modules/seedrandom/seedrandom.js"(exports, module6) { + (function(pool3, math) { + var global2 = this, width = 256, chunks = 6, digits = 52, rngname = "random", startdenom = math.pow(width, chunks), significance = math.pow(2, digits), overflow = significance * 2, mask = width - 1, nodecrypto; + function seedrandom5(seed, options2, callback) { + var key = []; + options2 = options2 == true ? { entropy: true } : options2 || {}; + var shortseed = mixkey(flatten4(options2.entropy ? [seed, tostring(pool3)] : seed == null ? autoseed() : seed, 3), key); + var arc4 = new ARC4(key); + var prng = function() { + var n = arc4.g(chunks), d = startdenom, x = 0; + while (n < significance) { + n = (n + x) * width; + d *= width; + x = arc4.g(1); + } + while (n >= overflow) { + n /= 2; + d /= 2; + x >>>= 1; + } + return (n + x) / d; + }; + prng.int32 = function() { + return arc4.g(4) | 0; + }; + prng.quick = function() { + return arc4.g(4) / 4294967296; + }; + prng.double = prng; + mixkey(tostring(arc4.S), pool3); + return (options2.pass || callback || function(prng2, seed2, is_math_call, state) { + if (state) { + if (state.S) { + copy(state, arc4); + } + prng2.state = function() { + return copy(arc4, {}); + }; + } + if (is_math_call) { + math[rngname] = prng2; + return seed2; + } else + return prng2; + })(prng, shortseed, "global" in options2 ? options2.global : this == math, options2.state); + } + math["seed" + rngname] = seedrandom5; + function ARC4(key) { + var t, keylen = key.length, me = this, i = 0, j = me.i = me.j = 0, s = me.S = []; + if (!keylen) { + key = [keylen++]; + } + while (i < width) { + s[i] = i++; + } + for (i = 0; i < width; i++) { + s[i] = s[j = mask & j + key[i % keylen] + (t = s[i])]; + s[j] = t; + } + (me.g = function(count22) { + var t2, r = 0, i2 = me.i, j2 = me.j, s2 = me.S; + while (count22--) { + t2 = s2[i2 = mask & i2 + 1]; + r = r * width + s2[mask & (s2[i2] = s2[j2 = mask & j2 + t2]) + (s2[j2] = t2)]; + } + me.i = i2; + me.j = j2; + return r; + })(width); + } + function copy(f, t) { + t.i = f.i; + t.j = f.j; + t.S = f.S.slice(); + return t; + } + ; + function flatten4(obj, depth) { + var result = [], typ = typeof obj, prop; + if (depth && typ == "object") { + for (prop in obj) { + try { + result.push(flatten4(obj[prop], depth - 1)); + } catch (e) { + } + } + } + return result.length ? result : typ == "string" ? obj : obj + "\0"; + } + function mixkey(seed, key) { + var stringseed = seed + "", smear, j = 0; + while (j < stringseed.length) { + key[mask & j] = mask & (smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++); + } + return tostring(key); + } + function autoseed() { + try { + var out; + if (nodecrypto && (out = nodecrypto.randomBytes)) { + out = out(width); + } else { + out = new Uint8Array(width); + (global2.crypto || global2.msCrypto).getRandomValues(out); + } + return tostring(out); + } catch (e) { + var browser4 = global2.navigator, plugins = browser4 && browser4.plugins; + return [+new Date(), global2, plugins, global2.screen, tostring(pool3)]; + } + } + function tostring(a) { + return String.fromCharCode.apply(0, a); + } + mixkey(math.random(), pool3); + if (typeof module6 == "object" && module6.exports) { + module6.exports = seedrandom5; + try { + nodecrypto = require_crypto(); + } catch (ex) { + } + } else if (typeof define == "function" && define.amd) { + define(function() { + return seedrandom5; + }); + } + })([], Math); + } +}); +var require_seedrandom2 = __commonJS({ + "node_modules/.pnpm/seedrandom@2.4.3/node_modules/seedrandom/index.js"(exports, module6) { + var alea5 = require_alea(); + var xor128 = require_xor128(); + var xorwow = require_xorwow(); + var xorshift7 = require_xorshift7(); + var xor4096 = require_xor4096(); + var tychei = require_tychei(); + var sr = require_seedrandom(); + sr.alea = alea5; + sr.xor128 = xor128; + sr.xorwow = xorwow; + sr.xorshift7 = xorshift7; + sr.xor4096 = xor4096; + sr.tychei = tychei; + module6.exports = sr; + } +}); +var require_path = __commonJS({ + "(disabled):path"() { + } +}); +var require_worker_threads = __commonJS({ + "(disabled):worker_threads"() { + } +}); +var require_perf_hooks = __commonJS({ + "(disabled):perf_hooks"() { + } +}); +var require_tfjs_backend_wasm_threaded_simd = __commonJS({ + "node_modules/.pnpm/@tensorflow+tfjs-backend-wasm@3.6.0_@tensorflow+tfjs-core@3.6.0/node_modules/@tensorflow/tfjs-backend-wasm/wasm-out/tfjs-backend-wasm-threaded-simd.js"(exports, module6) { + var WasmBackendModuleThreadedSimd = function() { + var _scriptDir = typeof document !== "undefined" && document.currentScript ? document.currentScript.src : void 0; + if (typeof __filename !== "undefined") + _scriptDir = _scriptDir || __filename; + return function(WasmBackendModuleThreadedSimd2) { + WasmBackendModuleThreadedSimd2 = WasmBackendModuleThreadedSimd2 || {}; + function GROWABLE_HEAP_I8() { + if (wasmMemory.buffer != buffer2) { + updateGlobalBufferAndViews(wasmMemory.buffer); + } + return HEAP8; + } + function GROWABLE_HEAP_U8() { + if (wasmMemory.buffer != buffer2) { + updateGlobalBufferAndViews(wasmMemory.buffer); + } + return HEAPU8; + } + function GROWABLE_HEAP_I32() { + if (wasmMemory.buffer != buffer2) { + updateGlobalBufferAndViews(wasmMemory.buffer); + } + return HEAP32; + } + function GROWABLE_HEAP_U32() { + if (wasmMemory.buffer != buffer2) { + updateGlobalBufferAndViews(wasmMemory.buffer); + } + return HEAPU32; + } + function GROWABLE_HEAP_F64() { + if (wasmMemory.buffer != buffer2) { + updateGlobalBufferAndViews(wasmMemory.buffer); + } + return HEAPF64; + } + var Module = typeof WasmBackendModuleThreadedSimd2 !== "undefined" ? WasmBackendModuleThreadedSimd2 : {}; + var readyPromiseResolve, readyPromiseReject; + Module["ready"] = new Promise(function(resolve, reject) { + readyPromiseResolve = resolve; + readyPromiseReject = reject; + }); + var moduleOverrides = {}; + var key; + for (key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } + } + var arguments_ = []; + var thisProgram = "./this.program"; + var quit_ = function(status, toThrow) { + throw toThrow; + }; + var ENVIRONMENT_IS_WEB = false; + var ENVIRONMENT_IS_WORKER = false; + var ENVIRONMENT_IS_NODE = false; + var ENVIRONMENT_IS_SHELL = false; + ENVIRONMENT_IS_WEB = typeof window === "object"; + ENVIRONMENT_IS_WORKER = typeof importScripts === "function"; + ENVIRONMENT_IS_NODE = typeof process === "object" && typeof process.versions === "object" && typeof process.versions.node === "string"; + ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; + var ENVIRONMENT_IS_PTHREAD = Module["ENVIRONMENT_IS_PTHREAD"] || false; + if (ENVIRONMENT_IS_PTHREAD) { + buffer2 = Module["buffer"]; + } + var scriptDirectory = ""; + function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory); + } + return scriptDirectory + path; + } + var read_, readAsync, readBinary, setWindowTitle; + var nodeFS; + var nodePath; + if (ENVIRONMENT_IS_NODE) { + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = require_path().dirname(scriptDirectory) + "/"; + } else { + scriptDirectory = __dirname + "/"; + } + read_ = function shell_read(filename, binary) { + if (!nodeFS) + nodeFS = __require2("fs"); + if (!nodePath) + nodePath = require_path(); + filename = nodePath["normalize"](filename); + return nodeFS["readFileSync"](filename, binary ? null : "utf8"); + }; + readBinary = function readBinary2(filename) { + var ret = read_(filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret); + } + assert3(ret.buffer); + return ret; + }; + if (process["argv"].length > 1) { + thisProgram = process["argv"][1].replace(/\\/g, "/"); + } + arguments_ = process["argv"].slice(2); + process["on"]("uncaughtException", function(ex) { + if (!(ex instanceof ExitStatus)) { + throw ex; + } + }); + process["on"]("unhandledRejection", abort); + quit_ = function(status) { + process["exit"](status); + }; + Module["inspect"] = function() { + return "[Emscripten Module object]"; + }; + var nodeWorkerThreads; + try { + nodeWorkerThreads = require_worker_threads(); + } catch (e) { + console.error('The "worker_threads" module is not supported in this node.js build - perhaps a newer version is needed?'); + throw e; + } + global.Worker = nodeWorkerThreads.Worker; + } else if (ENVIRONMENT_IS_SHELL) { + if (typeof read != "undefined") { + read_ = function shell_read(f) { + return read(f); + }; + } + readBinary = function readBinary2(f) { + var data; + if (typeof readbuffer === "function") { + return new Uint8Array(readbuffer(f)); + } + data = read(f, "binary"); + assert3(typeof data === "object"); + return data; + }; + if (typeof scriptArgs != "undefined") { + arguments_ = scriptArgs; + } else if (typeof arguments != "undefined") { + arguments_ = arguments; + } + if (typeof quit === "function") { + quit_ = function(status) { + quit(status); + }; + } + if (typeof print !== "undefined") { + if (typeof console === "undefined") + console = {}; + console.log = print; + console.warn = console.error = typeof printErr !== "undefined" ? printErr : print; + } + } else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = self.location.href; + } else if (typeof document !== "undefined" && document.currentScript) { + scriptDirectory = document.currentScript.src; + } + if (typeof _scriptDir !== "undefined" && _scriptDir) { + scriptDirectory = _scriptDir; + } + if (scriptDirectory.indexOf("blob:") !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf("/") + 1); + } else { + scriptDirectory = ""; + } + if (ENVIRONMENT_IS_NODE) { + read_ = function shell_read(filename, binary) { + if (!nodeFS) + nodeFS = __require2("fs"); + if (!nodePath) + nodePath = require_path(); + filename = nodePath["normalize"](filename); + return nodeFS["readFileSync"](filename, binary ? null : "utf8"); + }; + readBinary = function readBinary2(filename) { + var ret = read_(filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret); + } + assert3(ret.buffer); + return ret; + }; + } else { + read_ = function(url) { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, false); + xhr.send(null); + return xhr.responseText; + }; + if (ENVIRONMENT_IS_WORKER) { + readBinary = function(url) { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, false); + xhr.responseType = "arraybuffer"; + xhr.send(null); + return new Uint8Array(xhr.response); + }; + } + readAsync = function(url, onload, onerror) { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, true); + xhr.responseType = "arraybuffer"; + xhr.onload = function() { + if (xhr.status == 200 || xhr.status == 0 && xhr.response) { + onload(xhr.response); + return; + } + onerror(); + }; + xhr.onerror = onerror; + xhr.send(null); + }; + } + setWindowTitle = function(title) { + document.title = title; + }; + } else { + } + if (ENVIRONMENT_IS_NODE) { + if (typeof performance === "undefined") { + global.performance = require_perf_hooks().performance; + } + } + var out = Module["print"] || console.log.bind(console); + var err = Module["printErr"] || console.warn.bind(console); + for (key in moduleOverrides) { + if (moduleOverrides.hasOwnProperty(key)) { + Module[key] = moduleOverrides[key]; + } + } + moduleOverrides = null; + if (Module["arguments"]) + arguments_ = Module["arguments"]; + if (Module["thisProgram"]) + thisProgram = Module["thisProgram"]; + if (Module["quit"]) + quit_ = Module["quit"]; + var Atomics_load = Atomics.load; + var Atomics_store = Atomics.store; + var Atomics_compareExchange = Atomics.compareExchange; + var wasmBinary; + if (Module["wasmBinary"]) + wasmBinary = Module["wasmBinary"]; + var noExitRuntime = Module["noExitRuntime"] || true; + if (typeof WebAssembly !== "object") { + abort("no native wasm support detected"); + } + var wasmMemory; + var wasmModule; + var ABORT = false; + var EXITSTATUS; + function assert3(condition, text) { + if (!condition) { + abort("Assertion failed: " + text); + } + } + function getCFunc(ident) { + var func2 = Module["_" + ident]; + assert3(func2, "Cannot call unknown function " + ident + ", make sure it is exported"); + return func2; + } + function ccall(ident, returnType, argTypes, args, opts) { + var toC = { "string": function(str) { + var ret2 = 0; + if (str !== null && str !== void 0 && str !== 0) { + var len = (str.length << 2) + 1; + ret2 = stackAlloc(len); + stringToUTF8(str, ret2, len); + } + return ret2; + }, "array": function(arr) { + var ret2 = stackAlloc(arr.length); + writeArrayToMemory(arr, ret2); + return ret2; + } }; + function convertReturnValue(ret2) { + if (returnType === "string") + return UTF8ToString(ret2); + if (returnType === "boolean") + return Boolean(ret2); + return ret2; + } + var func2 = getCFunc(ident); + var cArgs = []; + var stack2 = 0; + if (args) { + for (var i = 0; i < args.length; i++) { + var converter = toC[argTypes[i]]; + if (converter) { + if (stack2 === 0) + stack2 = stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func2.apply(null, cArgs); + ret = convertReturnValue(ret); + if (stack2 !== 0) + stackRestore(stack2); + return ret; + } + function cwrap(ident, returnType, argTypes, opts) { + argTypes = argTypes || []; + var numericArgs = argTypes.every(function(type) { + return type === "number"; + }); + var numericRet = returnType !== "string"; + if (numericRet && numericArgs && !opts) { + return getCFunc(ident); + } + return function() { + return ccall(ident, returnType, argTypes, arguments, opts); + }; + } + function UTF8ArrayToString(heap, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var str = ""; + while (!(idx >= endIdx)) { + var u0 = heap[idx++]; + if (!u0) + return str; + if (!(u0 & 128)) { + str += String.fromCharCode(u0); + continue; + } + var u1 = heap[idx++] & 63; + if ((u0 & 224) == 192) { + str += String.fromCharCode((u0 & 31) << 6 | u1); + continue; + } + var u2 = heap[idx++] & 63; + if ((u0 & 240) == 224) { + u0 = (u0 & 15) << 12 | u1 << 6 | u2; + } else { + u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heap[idx++] & 63; + } + if (u0 < 65536) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 65536; + str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023); + } + } + return str; + } + function UTF8ToString(ptr, maxBytesToRead) { + return ptr ? UTF8ArrayToString(GROWABLE_HEAP_U8(), ptr, maxBytesToRead) : ""; + } + function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) + return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) { + var u1 = str.charCodeAt(++i); + u = 65536 + ((u & 1023) << 10) | u1 & 1023; + } + if (u <= 127) { + if (outIdx >= endIdx) + break; + heap[outIdx++] = u; + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) + break; + heap[outIdx++] = 192 | u >> 6; + heap[outIdx++] = 128 | u & 63; + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) + break; + heap[outIdx++] = 224 | u >> 12; + heap[outIdx++] = 128 | u >> 6 & 63; + heap[outIdx++] = 128 | u & 63; + } else { + if (outIdx + 3 >= endIdx) + break; + heap[outIdx++] = 240 | u >> 18; + heap[outIdx++] = 128 | u >> 12 & 63; + heap[outIdx++] = 128 | u >> 6 & 63; + heap[outIdx++] = 128 | u & 63; + } + } + heap[outIdx] = 0; + return outIdx - startIdx; + } + function stringToUTF8(str, outPtr, maxBytesToWrite) { + return stringToUTF8Array(str, GROWABLE_HEAP_U8(), outPtr, maxBytesToWrite); + } + function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) + u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023; + if (u <= 127) + ++len; + else if (u <= 2047) + len += 2; + else if (u <= 65535) + len += 3; + else + len += 4; + } + return len; + } + function writeArrayToMemory(array2, buffer3) { + GROWABLE_HEAP_I8().set(array2, buffer3); + } + function alignUp(x, multiple) { + if (x % multiple > 0) { + x += multiple - x % multiple; + } + return x; + } + var buffer2, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; + function updateGlobalBufferAndViews(buf) { + buffer2 = buf; + Module["HEAP8"] = HEAP8 = new Int8Array(buf); + Module["HEAP16"] = HEAP16 = new Int16Array(buf); + Module["HEAP32"] = HEAP32 = new Int32Array(buf); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf); + Module["HEAPU16"] = HEAPU16 = new Uint16Array(buf); + Module["HEAPU32"] = HEAPU32 = new Uint32Array(buf); + Module["HEAPF32"] = HEAPF32 = new Float32Array(buf); + Module["HEAPF64"] = HEAPF64 = new Float64Array(buf); + } + var INITIAL_MEMORY = Module["INITIAL_MEMORY"] || 16777216; + if (ENVIRONMENT_IS_PTHREAD) { + wasmMemory = Module["wasmMemory"]; + buffer2 = Module["buffer"]; + } else { + if (Module["wasmMemory"]) { + wasmMemory = Module["wasmMemory"]; + } else { + wasmMemory = new WebAssembly.Memory({ "initial": INITIAL_MEMORY / 65536, "maximum": 2147483648 / 65536, "shared": true }); + if (!(wasmMemory.buffer instanceof SharedArrayBuffer)) { + err("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"); + if (ENVIRONMENT_IS_NODE) { + console.log("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and also use a recent version)"); + } + throw Error("bad memory"); + } + } + } + if (wasmMemory) { + buffer2 = wasmMemory.buffer; + } + INITIAL_MEMORY = buffer2.byteLength; + updateGlobalBufferAndViews(buffer2); + var wasmTable; + var __ATPRERUN__ = []; + var __ATINIT__ = []; + var __ATMAIN__ = []; + var __ATEXIT__ = []; + var __ATPOSTRUN__ = []; + var runtimeInitialized = false; + var runtimeExited = false; + if (!ENVIRONMENT_IS_PTHREAD) + __ATINIT__.push({ func: function() { + ___wasm_call_ctors(); + } }); + function preRun() { + if (ENVIRONMENT_IS_PTHREAD) + return; + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") + Module["preRun"] = [Module["preRun"]]; + while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()); + } + } + callRuntimeCallbacks(__ATPRERUN__); + } + function initRuntime() { + runtimeInitialized = true; + if (ENVIRONMENT_IS_PTHREAD) + return; + callRuntimeCallbacks(__ATINIT__); + } + function preMain() { + if (ENVIRONMENT_IS_PTHREAD) + return; + callRuntimeCallbacks(__ATMAIN__); + } + function exitRuntime() { + if (ENVIRONMENT_IS_PTHREAD) + return; + runtimeExited = true; + } + function postRun() { + if (ENVIRONMENT_IS_PTHREAD) + return; + if (Module["postRun"]) { + if (typeof Module["postRun"] == "function") + Module["postRun"] = [Module["postRun"]]; + while (Module["postRun"].length) { + addOnPostRun(Module["postRun"].shift()); + } + } + callRuntimeCallbacks(__ATPOSTRUN__); + } + function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb); + } + function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); + } + var runDependencies = 0; + var runDependencyWatcher = null; + var dependenciesFulfilled = null; + function addRunDependency(id) { + assert3(!ENVIRONMENT_IS_PTHREAD, "addRunDependency cannot be used in a pthread worker"); + runDependencies++; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies); + } + } + function removeRunDependency(id) { + runDependencies--; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies); + } + if (runDependencies == 0) { + if (runDependencyWatcher !== null) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + } + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback(); + } + } + } + Module["preloadedImages"] = {}; + Module["preloadedAudios"] = {}; + function abort(what) { + if (Module["onAbort"]) { + Module["onAbort"](what); + } + if (ENVIRONMENT_IS_PTHREAD) + console.error("Pthread aborting at " + new Error().stack); + what += ""; + err(what); + ABORT = true; + EXITSTATUS = 1; + what = "abort(" + what + "). Build with -s ASSERTIONS=1 for more info."; + var e = new WebAssembly.RuntimeError(what); + readyPromiseReject(e); + throw e; + } + function hasPrefix(str, prefix) { + return String.prototype.startsWith ? str.startsWith(prefix) : str.indexOf(prefix) === 0; + } + var dataURIPrefix = "data:application/octet-stream;base64,"; + function isDataURI(filename) { + return hasPrefix(filename, dataURIPrefix); + } + var fileURIPrefix = "file://"; + function isFileURI(filename) { + return hasPrefix(filename, fileURIPrefix); + } + var wasmBinaryFile = "tfjs-backend-wasm-threaded-simd.wasm"; + if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile); + } + function getBinary(file) { + try { + if (file == wasmBinaryFile && wasmBinary) { + return new Uint8Array(wasmBinary); + } + if (readBinary) { + return readBinary(file); + } else { + throw "both async and sync fetching of the wasm failed"; + } + } catch (err2) { + abort(err2); + } + } + function getBinaryPromise() { + if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) { + if (typeof fetch === "function" && !isFileURI(wasmBinaryFile)) { + return fetch(wasmBinaryFile, { credentials: "same-origin" }).then(function(response) { + if (!response["ok"]) { + throw "failed to load wasm binary file at '" + wasmBinaryFile + "'"; + } + return response["arrayBuffer"](); + }).catch(function() { + return getBinary(wasmBinaryFile); + }); + } else { + if (readAsync) { + return new Promise(function(resolve, reject) { + readAsync(wasmBinaryFile, function(response) { + resolve(new Uint8Array(response)); + }, reject); + }); + } + } + } + return Promise.resolve().then(function() { + return getBinary(wasmBinaryFile); + }); + } + function createWasm() { + var info2 = { "a": asmLibraryArg }; + function receiveInstance(instance, module7) { + var exports3 = instance.exports; + Module["asm"] = exports3; + wasmTable = Module["asm"]["F"]; + wasmModule = module7; + if (!ENVIRONMENT_IS_PTHREAD) { + var numWorkersToLoad = PThread.unusedWorkers.length; + PThread.unusedWorkers.forEach(function(w) { + PThread.loadWasmModuleToWorker(w, function() { + if (!--numWorkersToLoad) + removeRunDependency("wasm-instantiate"); + }); + }); + } + } + if (!ENVIRONMENT_IS_PTHREAD) { + addRunDependency("wasm-instantiate"); + } + function receiveInstantiatedSource(output) { + receiveInstance(output["instance"], output["module"]); + } + function instantiateArrayBuffer(receiver) { + return getBinaryPromise().then(function(binary) { + return WebAssembly.instantiate(binary, info2); + }).then(receiver, function(reason) { + err("failed to asynchronously prepare wasm: " + reason); + abort(reason); + }); + } + function instantiateAsync() { + if (!wasmBinary && typeof WebAssembly.instantiateStreaming === "function" && !isDataURI(wasmBinaryFile) && !isFileURI(wasmBinaryFile) && typeof fetch === "function") { + return fetch(wasmBinaryFile, { credentials: "same-origin" }).then(function(response) { + var result = WebAssembly.instantiateStreaming(response, info2); + return result.then(receiveInstantiatedSource, function(reason) { + err("wasm streaming compile failed: " + reason); + err("falling back to ArrayBuffer instantiation"); + return instantiateArrayBuffer(receiveInstantiatedSource); + }); + }); + } else { + return instantiateArrayBuffer(receiveInstantiatedSource); + } + } + if (Module["instantiateWasm"]) { + try { + var exports2 = Module["instantiateWasm"](info2, receiveInstance); + return exports2; + } catch (e) { + err("Module.instantiateWasm callback failed with error: " + e); + return false; + } + } + instantiateAsync().catch(readyPromiseReject); + return {}; + } + var ASM_CONSTS = { 9816: function() { + throw "Canceled!"; + }, 9834: function($0, $1) { + setTimeout(function() { + __emscripten_do_dispatch_to_thread($0, $1); + }, 0); + } }; + function initPthreadsJS() { + PThread.initRuntime(); + } + function callRuntimeCallbacks(callbacks2) { + while (callbacks2.length > 0) { + var callback = callbacks2.shift(); + if (typeof callback == "function") { + callback(Module); + continue; + } + var func2 = callback.func; + if (typeof func2 === "number") { + if (callback.arg === void 0) { + wasmTable.get(func2)(); + } else { + wasmTable.get(func2)(callback.arg); + } + } else { + func2(callback.arg === void 0 ? null : callback.arg); + } + } + } + function _emscripten_futex_wake(addr, count22) { + if (addr <= 0 || addr > GROWABLE_HEAP_I8().length || addr & true || count22 < 0) + return -28; + if (count22 == 0) + return 0; + if (count22 >= 2147483647) + count22 = Infinity; + var mainThreadWaitAddress = Atomics.load(GROWABLE_HEAP_I32(), __emscripten_main_thread_futex >> 2); + var mainThreadWoken = 0; + if (mainThreadWaitAddress == addr) { + var loadedAddr = Atomics.compareExchange(GROWABLE_HEAP_I32(), __emscripten_main_thread_futex >> 2, mainThreadWaitAddress, 0); + if (loadedAddr == mainThreadWaitAddress) { + --count22; + mainThreadWoken = 1; + if (count22 <= 0) + return 1; + } + } + var ret = Atomics.notify(GROWABLE_HEAP_I32(), addr >> 2, count22); + if (ret >= 0) + return ret + mainThreadWoken; + throw "Atomics.notify returned an unexpected value " + ret; + } + Module["_emscripten_futex_wake"] = _emscripten_futex_wake; + function killThread(pthread_ptr) { + if (ENVIRONMENT_IS_PTHREAD) + throw "Internal Error! killThread() can only ever be called from main application thread!"; + if (!pthread_ptr) + throw "Internal Error! Null pthread_ptr in killThread!"; + GROWABLE_HEAP_I32()[pthread_ptr + 12 >> 2] = 0; + var pthread = PThread.pthreads[pthread_ptr]; + pthread.worker.terminate(); + PThread.freeThreadData(pthread); + PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(pthread.worker), 1); + pthread.worker.pthread = void 0; + } + function cancelThread(pthread_ptr) { + if (ENVIRONMENT_IS_PTHREAD) + throw "Internal Error! cancelThread() can only ever be called from main application thread!"; + if (!pthread_ptr) + throw "Internal Error! Null pthread_ptr in cancelThread!"; + var pthread = PThread.pthreads[pthread_ptr]; + pthread.worker.postMessage({ "cmd": "cancel" }); + } + function cleanupThread(pthread_ptr) { + if (ENVIRONMENT_IS_PTHREAD) + throw "Internal Error! cleanupThread() can only ever be called from main application thread!"; + if (!pthread_ptr) + throw "Internal Error! Null pthread_ptr in cleanupThread!"; + var pthread = PThread.pthreads[pthread_ptr]; + if (pthread) { + GROWABLE_HEAP_I32()[pthread_ptr + 12 >> 2] = 0; + var worker = pthread.worker; + PThread.returnWorkerToPool(worker); + } + } + var PThread = { unusedWorkers: [], runningWorkers: [], initMainThreadBlock: function() { + var pthreadPoolSize = Math.min(4, Math.max(1, (navigator.hardwareConcurrency || 1) / 2)); + for (var i = 0; i < pthreadPoolSize; ++i) { + PThread.allocateUnusedWorker(); + } + }, initRuntime: function() { + var tb = _malloc(228); + for (var i = 0; i < 228 / 4; ++i) + GROWABLE_HEAP_U32()[tb / 4 + i] = 0; + GROWABLE_HEAP_I32()[tb + 12 >> 2] = tb; + var headPtr = tb + 152; + GROWABLE_HEAP_I32()[headPtr >> 2] = headPtr; + var tlsMemory = _malloc(512); + for (var i = 0; i < 128; ++i) + GROWABLE_HEAP_U32()[tlsMemory / 4 + i] = 0; + Atomics.store(GROWABLE_HEAP_U32(), tb + 100 >> 2, tlsMemory); + Atomics.store(GROWABLE_HEAP_U32(), tb + 40 >> 2, tb); + __emscripten_thread_init(tb, !ENVIRONMENT_IS_WORKER, 1); + _emscripten_register_main_browser_thread_id(tb); + }, initWorker: function() { + }, pthreads: {}, threadExitHandlers: [], setThreadStatus: function() { + }, runExitHandlers: function() { + while (PThread.threadExitHandlers.length > 0) { + PThread.threadExitHandlers.pop()(); + } + if (ENVIRONMENT_IS_PTHREAD && _pthread_self()) + ___pthread_tsd_run_dtors(); + }, runExitHandlersAndDeinitThread: function(tb, exitCode) { + Atomics.store(GROWABLE_HEAP_U32(), tb + 56 >> 2, 1); + Atomics.store(GROWABLE_HEAP_U32(), tb + 60 >> 2, 0); + PThread.runExitHandlers(); + Atomics.store(GROWABLE_HEAP_U32(), tb + 4 >> 2, exitCode); + Atomics.store(GROWABLE_HEAP_U32(), tb + 0 >> 2, 1); + _emscripten_futex_wake(tb + 0, 2147483647); + __emscripten_thread_init(0, 0, 0); + }, threadExit: function(exitCode) { + var tb = _pthread_self(); + if (tb) { + PThread.runExitHandlersAndDeinitThread(tb, exitCode); + if (ENVIRONMENT_IS_PTHREAD) { + postMessage({ "cmd": "exit" }); + } + } + }, threadCancel: function() { + PThread.runExitHandlersAndDeinitThread(_pthread_self(), -1); + postMessage({ "cmd": "cancelDone" }); + }, terminateAllThreads: function() { + for (var t in PThread.pthreads) { + var pthread = PThread.pthreads[t]; + if (pthread && pthread.worker) { + PThread.returnWorkerToPool(pthread.worker); + } + } + PThread.pthreads = {}; + for (var i = 0; i < PThread.unusedWorkers.length; ++i) { + var worker = PThread.unusedWorkers[i]; + worker.terminate(); + } + PThread.unusedWorkers = []; + for (var i = 0; i < PThread.runningWorkers.length; ++i) { + var worker = PThread.runningWorkers[i]; + var pthread = worker.pthread; + PThread.freeThreadData(pthread); + worker.terminate(); + } + PThread.runningWorkers = []; + }, freeThreadData: function(pthread) { + if (!pthread) + return; + if (pthread.threadInfoStruct) { + var tlsMemory = GROWABLE_HEAP_I32()[pthread.threadInfoStruct + 100 >> 2]; + GROWABLE_HEAP_I32()[pthread.threadInfoStruct + 100 >> 2] = 0; + _free(tlsMemory); + _free(pthread.threadInfoStruct); + } + pthread.threadInfoStruct = 0; + if (pthread.allocatedOwnStack && pthread.stackBase) + _free(pthread.stackBase); + pthread.stackBase = 0; + if (pthread.worker) + pthread.worker.pthread = null; + }, returnWorkerToPool: function(worker) { + PThread.runWithoutMainThreadQueuedCalls(function() { + delete PThread.pthreads[worker.pthread.threadInfoStruct]; + PThread.unusedWorkers.push(worker); + PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker), 1); + PThread.freeThreadData(worker.pthread); + worker.pthread = void 0; + }); + }, runWithoutMainThreadQueuedCalls: function(func2) { + GROWABLE_HEAP_I32()[__emscripten_allow_main_runtime_queued_calls >> 2] = 0; + try { + func2(); + } finally { + GROWABLE_HEAP_I32()[__emscripten_allow_main_runtime_queued_calls >> 2] = 1; + } + }, receiveObjectTransfer: function(data) { + }, loadWasmModuleToWorker: function(worker, onFinishedLoading) { + worker.onmessage = function(e) { + var d = e["data"]; + var cmd = d["cmd"]; + if (worker.pthread) + PThread.currentProxiedOperationCallerThread = worker.pthread.threadInfoStruct; + if (d["targetThread"] && d["targetThread"] != _pthread_self()) { + var thread = PThread.pthreads[d.targetThread]; + if (thread) { + thread.worker.postMessage(e.data, d["transferList"]); + } else { + console.error('Internal error! Worker sent a message "' + cmd + '" to target pthread ' + d["targetThread"] + ", but that thread no longer exists!"); + } + PThread.currentProxiedOperationCallerThread = void 0; + return; + } + if (cmd === "processQueuedMainThreadWork") { + _emscripten_main_thread_process_queued_calls(); + } else if (cmd === "spawnThread") { + spawnThread(e.data); + } else if (cmd === "cleanupThread") { + cleanupThread(d["thread"]); + } else if (cmd === "killThread") { + killThread(d["thread"]); + } else if (cmd === "cancelThread") { + cancelThread(d["thread"]); + } else if (cmd === "loaded") { + worker.loaded = true; + if (onFinishedLoading) + onFinishedLoading(worker); + if (worker.runPthread) { + worker.runPthread(); + delete worker.runPthread; + } + } else if (cmd === "print") { + out("Thread " + d["threadId"] + ": " + d["text"]); + } else if (cmd === "printErr") { + err("Thread " + d["threadId"] + ": " + d["text"]); + } else if (cmd === "alert") { + alert("Thread " + d["threadId"] + ": " + d["text"]); + } else if (cmd === "exit") { + var detached = worker.pthread && Atomics.load(GROWABLE_HEAP_U32(), worker.pthread.threadInfoStruct + 64 >> 2); + if (detached) { + PThread.returnWorkerToPool(worker); + } + } else if (cmd === "exitProcess") { + try { + exit(d["returnCode"]); + } catch (e2) { + if (e2 instanceof ExitStatus) + return; + throw e2; + } + } else if (cmd === "cancelDone") { + PThread.returnWorkerToPool(worker); + } else if (cmd === "objectTransfer") { + PThread.receiveObjectTransfer(e.data); + } else if (e.data.target === "setimmediate") { + worker.postMessage(e.data); + } else { + err("worker sent an unknown command " + cmd); + } + PThread.currentProxiedOperationCallerThread = void 0; + }; + worker.onerror = function(e) { + err("pthread sent an error! " + e.filename + ":" + e.lineno + ": " + e.message); + }; + if (ENVIRONMENT_IS_NODE) { + worker.on("message", function(data) { + worker.onmessage({ data }); + }); + worker.on("error", function(data) { + worker.onerror(data); + }); + worker.on("exit", function(data) { + }); + } + worker.postMessage({ "cmd": "load", "urlOrBlob": Module["mainScriptUrlOrBlob"] || _scriptDir, "wasmMemory": wasmMemory, "wasmModule": wasmModule }); + }, allocateUnusedWorker: function() { + var pthreadMainJs = locateFile("tfjs-backend-wasm-threaded-simd.worker.js"); + PThread.unusedWorkers.push(new Worker(pthreadMainJs)); + }, getNewWorker: function() { + if (PThread.unusedWorkers.length == 0) { + PThread.allocateUnusedWorker(); + PThread.loadWasmModuleToWorker(PThread.unusedWorkers[0]); + } + if (PThread.unusedWorkers.length > 0) + return PThread.unusedWorkers.pop(); + else + return null; + }, busySpinWait: function(msecs) { + var t = performance.now() + msecs; + while (performance.now() < t) { + } + } }; + function establishStackSpace(stackTop, stackMax) { + _emscripten_stack_set_limits(stackTop, stackMax); + stackRestore(stackTop); + } + Module["establishStackSpace"] = establishStackSpace; + function getNoExitRuntime() { + return noExitRuntime; + } + Module["getNoExitRuntime"] = getNoExitRuntime; + function invokeEntryPoint(ptr, arg) { + return wasmTable.get(ptr)(arg); + } + Module["invokeEntryPoint"] = invokeEntryPoint; + function ___assert_fail(condition, filename, line, func2) { + abort("Assertion failed: " + UTF8ToString(condition) + ", at: " + [filename ? UTF8ToString(filename) : "unknown filename", line, func2 ? UTF8ToString(func2) : "unknown function"]); + } + function ___call_main(argc, argv) { + var returnCode = _main(argc, argv); + } + var _emscripten_get_now; + if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function() { + var t = process["hrtime"](); + return t[0] * 1e3 + t[1] / 1e6; + }; + } else if (ENVIRONMENT_IS_PTHREAD) { + _emscripten_get_now = function() { + return performance.now() - Module["__performance_now_clock_drift"]; + }; + } else if (typeof dateNow !== "undefined") { + _emscripten_get_now = dateNow; + } else + _emscripten_get_now = function() { + return performance.now(); + }; + function setErrNo(value) { + GROWABLE_HEAP_I32()[___errno_location() >> 2] = value; + return value; + } + function _atexit(func2, arg) { + if (ENVIRONMENT_IS_PTHREAD) + return _emscripten_proxy_to_main_thread_js(1, 1, func2, arg); + } + function __emscripten_notify_thread_queue(targetThreadId, mainThreadId) { + if (targetThreadId == mainThreadId) { + postMessage({ "cmd": "processQueuedMainThreadWork" }); + } else if (ENVIRONMENT_IS_PTHREAD) { + postMessage({ "targetThread": targetThreadId, "cmd": "processThreadQueue" }); + } else { + var pthread = PThread.pthreads[targetThreadId]; + var worker = pthread && pthread.worker; + if (!worker) { + return; + } + worker.postMessage({ "cmd": "processThreadQueue" }); + } + return 1; + } + function _abort() { + abort(); + } + function _emscripten_asm_const_int(code, sigPtr, argbuf) { + var args = readAsmConstArgs(sigPtr, argbuf); + return ASM_CONSTS[code].apply(null, args); + } + function _emscripten_conditional_set_current_thread_status(expectedStatus, newStatus) { + } + function _emscripten_futex_wait(addr, val, timeout) { + if (addr <= 0 || addr > GROWABLE_HEAP_I8().length || addr & true) + return -28; + if (!ENVIRONMENT_IS_WEB) { + var ret = Atomics.wait(GROWABLE_HEAP_I32(), addr >> 2, val, timeout); + if (ret === "timed-out") + return -73; + if (ret === "not-equal") + return -6; + if (ret === "ok") + return 0; + throw "Atomics.wait returned an unexpected value " + ret; + } else { + if (Atomics.load(GROWABLE_HEAP_I32(), addr >> 2) != val) { + return -6; + } + var tNow = performance.now(); + var tEnd = tNow + timeout; + var lastAddr = Atomics.exchange(GROWABLE_HEAP_I32(), __emscripten_main_thread_futex >> 2, addr); + while (1) { + tNow = performance.now(); + if (tNow > tEnd) { + lastAddr = Atomics.exchange(GROWABLE_HEAP_I32(), __emscripten_main_thread_futex >> 2, 0); + return -73; + } + lastAddr = Atomics.exchange(GROWABLE_HEAP_I32(), __emscripten_main_thread_futex >> 2, 0); + if (lastAddr == 0) { + break; + } + _emscripten_main_thread_process_queued_calls(); + if (Atomics.load(GROWABLE_HEAP_I32(), addr >> 2) != val) { + return -6; + } + lastAddr = Atomics.exchange(GROWABLE_HEAP_I32(), __emscripten_main_thread_futex >> 2, addr); + } + return 0; + } + } + function _emscripten_memcpy_big(dest, src, num) { + GROWABLE_HEAP_U8().copyWithin(dest, src, src + num); + } + function _emscripten_num_logical_cores() { + if (ENVIRONMENT_IS_NODE) + return __require2("os").cpus().length; + return navigator["hardwareConcurrency"]; + } + function _emscripten_proxy_to_main_thread_js(index, sync) { + var numCallArgs = arguments.length - 2; + var stack2 = stackSave(); + var serializedNumCallArgs = numCallArgs; + var args = stackAlloc(serializedNumCallArgs * 8); + var b = args >> 3; + for (var i = 0; i < numCallArgs; i++) { + var arg = arguments[2 + i]; + GROWABLE_HEAP_F64()[b + i] = arg; + } + var ret = _emscripten_run_in_main_runtime_thread_js(index, serializedNumCallArgs, args, sync); + stackRestore(stack2); + return ret; + } + var _emscripten_receive_on_main_thread_js_callArgs = []; + var readAsmConstArgsArray = []; + function readAsmConstArgs(sigPtr, buf) { + readAsmConstArgsArray.length = 0; + var ch; + buf >>= 2; + while (ch = GROWABLE_HEAP_U8()[sigPtr++]) { + var double = ch < 105; + if (double && buf & 1) + buf++; + readAsmConstArgsArray.push(double ? GROWABLE_HEAP_F64()[buf++ >> 1] : GROWABLE_HEAP_I32()[buf]); + ++buf; + } + return readAsmConstArgsArray; + } + function _emscripten_receive_on_main_thread_js(index, numCallArgs, args) { + _emscripten_receive_on_main_thread_js_callArgs.length = numCallArgs; + var b = args >> 3; + for (var i = 0; i < numCallArgs; i++) { + _emscripten_receive_on_main_thread_js_callArgs[i] = GROWABLE_HEAP_F64()[b + i]; + } + var isEmAsmConst = index < 0; + var func2 = !isEmAsmConst ? proxiedFunctionTable[index] : ASM_CONSTS[-index - 1]; + return func2.apply(null, _emscripten_receive_on_main_thread_js_callArgs); + } + function _emscripten_get_heap_size() { + return GROWABLE_HEAP_U8().length; + } + function emscripten_realloc_buffer(size) { + try { + wasmMemory.grow(size - buffer2.byteLength + 65535 >>> 16); + updateGlobalBufferAndViews(wasmMemory.buffer); + return 1; + } catch (e) { + } + } + function _emscripten_resize_heap(requestedSize) { + var oldSize = _emscripten_get_heap_size(); + if (requestedSize <= oldSize) { + return false; + } + var maxHeapSize = 2147483648; + if (requestedSize > maxHeapSize) { + return false; + } + for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { + var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); + overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296); + var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536)); + var replacement = emscripten_realloc_buffer(newSize); + if (replacement) { + return true; + } + } + return false; + } + var JSEvents = { inEventHandler: 0, removeAllEventListeners: function() { + for (var i = JSEvents.eventHandlers.length - 1; i >= 0; --i) { + JSEvents._removeHandler(i); + } + JSEvents.eventHandlers = []; + JSEvents.deferredCalls = []; + }, registerRemoveEventListeners: function() { + if (!JSEvents.removeEventListenersRegistered) { + __ATEXIT__.push(JSEvents.removeAllEventListeners); + JSEvents.removeEventListenersRegistered = true; + } + }, deferredCalls: [], deferCall: function(targetFunction, precedence, argsList) { + function arraysHaveEqualContent(arrA, arrB) { + if (arrA.length != arrB.length) + return false; + for (var i2 in arrA) { + if (arrA[i2] != arrB[i2]) + return false; + } + return true; + } + for (var i in JSEvents.deferredCalls) { + var call = JSEvents.deferredCalls[i]; + if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { + return; + } + } + JSEvents.deferredCalls.push({ targetFunction, precedence, argsList }); + JSEvents.deferredCalls.sort(function(x, y) { + return x.precedence < y.precedence; + }); + }, removeDeferredCalls: function(targetFunction) { + for (var i = 0; i < JSEvents.deferredCalls.length; ++i) { + if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { + JSEvents.deferredCalls.splice(i, 1); + --i; + } + } + }, canPerformEventHandlerRequests: function() { + return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; + }, runDeferredCalls: function() { + if (!JSEvents.canPerformEventHandlerRequests()) { + return; + } + for (var i = 0; i < JSEvents.deferredCalls.length; ++i) { + var call = JSEvents.deferredCalls[i]; + JSEvents.deferredCalls.splice(i, 1); + --i; + call.targetFunction.apply(null, call.argsList); + } + }, eventHandlers: [], removeAllHandlersOnTarget: function(target, eventTypeString) { + for (var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == target && (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { + JSEvents._removeHandler(i--); + } + } + }, _removeHandler: function(i) { + var h = JSEvents.eventHandlers[i]; + h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); + JSEvents.eventHandlers.splice(i, 1); + }, registerOrRemoveHandler: function(eventHandler) { + var jsEventHandler = function jsEventHandler2(event) { + ++JSEvents.inEventHandler; + JSEvents.currentEventHandler = eventHandler; + JSEvents.runDeferredCalls(); + eventHandler.handlerFunc(event); + JSEvents.runDeferredCalls(); + --JSEvents.inEventHandler; + }; + if (eventHandler.callbackfunc) { + eventHandler.eventListenerFunc = jsEventHandler; + eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); + JSEvents.eventHandlers.push(eventHandler); + JSEvents.registerRemoveEventListeners(); + } else { + for (var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == eventHandler.target && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { + JSEvents._removeHandler(i--); + } + } + } + }, queueEventHandlerOnThread_iiii: function(targetThread, eventHandlerFunc, eventTypeId, eventData, userData) { + var stackTop = stackSave(); + var varargs = stackAlloc(12); + GROWABLE_HEAP_I32()[varargs >> 2] = eventTypeId; + GROWABLE_HEAP_I32()[varargs + 4 >> 2] = eventData; + GROWABLE_HEAP_I32()[varargs + 8 >> 2] = userData; + __emscripten_call_on_thread(0, targetThread, 637534208, eventHandlerFunc, eventData, varargs); + stackRestore(stackTop); + }, getTargetThreadForEventCallback: function(targetThread) { + switch (targetThread) { + case 1: + return 0; + case 2: + return PThread.currentProxiedOperationCallerThread; + default: + return targetThread; + } + }, getNodeNameForTarget: function(target) { + if (!target) + return ""; + if (target == window) + return "#window"; + if (target == screen) + return "#screen"; + return target && target.nodeName ? target.nodeName : ""; + }, fullscreenEnabled: function() { + return document.fullscreenEnabled || document.webkitFullscreenEnabled; + } }; + function stringToNewUTF8(jsString) { + var length = lengthBytesUTF8(jsString) + 1; + var cString = _malloc(length); + stringToUTF8(jsString, cString, length); + return cString; + } + function _emscripten_set_offscreencanvas_size_on_target_thread_js(targetThread, targetCanvas, width, height) { + var stackTop = stackSave(); + var varargs = stackAlloc(12); + var targetCanvasPtr = 0; + if (targetCanvas) { + targetCanvasPtr = stringToNewUTF8(targetCanvas); + } + GROWABLE_HEAP_I32()[varargs >> 2] = targetCanvasPtr; + GROWABLE_HEAP_I32()[varargs + 4 >> 2] = width; + GROWABLE_HEAP_I32()[varargs + 8 >> 2] = height; + __emscripten_call_on_thread(0, targetThread, 657457152, 0, targetCanvasPtr, varargs); + stackRestore(stackTop); + } + function _emscripten_set_offscreencanvas_size_on_target_thread(targetThread, targetCanvas, width, height) { + targetCanvas = targetCanvas ? UTF8ToString(targetCanvas) : ""; + _emscripten_set_offscreencanvas_size_on_target_thread_js(targetThread, targetCanvas, width, height); + } + function maybeCStringToJsString(cString) { + return cString > 2 ? UTF8ToString(cString) : cString; + } + var specialHTMLTargets = [0, typeof document !== "undefined" ? document : 0, typeof window !== "undefined" ? window : 0]; + function findEventTarget(target) { + target = maybeCStringToJsString(target); + var domElement = specialHTMLTargets[target] || (typeof document !== "undefined" ? document.querySelector(target) : void 0); + return domElement; + } + function findCanvasEventTarget(target) { + return findEventTarget(target); + } + function _emscripten_set_canvas_element_size_calling_thread(target, width, height) { + var canvas2 = findCanvasEventTarget(target); + if (!canvas2) + return -4; + if (canvas2.canvasSharedPtr) { + GROWABLE_HEAP_I32()[canvas2.canvasSharedPtr >> 2] = width; + GROWABLE_HEAP_I32()[canvas2.canvasSharedPtr + 4 >> 2] = height; + } + if (canvas2.offscreenCanvas || !canvas2.controlTransferredOffscreen) { + if (canvas2.offscreenCanvas) + canvas2 = canvas2.offscreenCanvas; + var autoResizeViewport = false; + if (canvas2.GLctxObject && canvas2.GLctxObject.GLctx) { + var prevViewport = canvas2.GLctxObject.GLctx.getParameter(2978); + autoResizeViewport = prevViewport[0] === 0 && prevViewport[1] === 0 && prevViewport[2] === canvas2.width && prevViewport[3] === canvas2.height; + } + canvas2.width = width; + canvas2.height = height; + if (autoResizeViewport) { + canvas2.GLctxObject.GLctx.viewport(0, 0, width, height); + } + } else if (canvas2.canvasSharedPtr) { + var targetThread = GROWABLE_HEAP_I32()[canvas2.canvasSharedPtr + 8 >> 2]; + _emscripten_set_offscreencanvas_size_on_target_thread(targetThread, target, width, height); + return 1; + } else { + return -4; + } + return 0; + } + function _emscripten_set_canvas_element_size_main_thread(target, width, height) { + if (ENVIRONMENT_IS_PTHREAD) + return _emscripten_proxy_to_main_thread_js(2, 1, target, width, height); + return _emscripten_set_canvas_element_size_calling_thread(target, width, height); + } + function _emscripten_set_canvas_element_size(target, width, height) { + var canvas2 = findCanvasEventTarget(target); + if (canvas2) { + return _emscripten_set_canvas_element_size_calling_thread(target, width, height); + } else { + return _emscripten_set_canvas_element_size_main_thread(target, width, height); + } + } + function _emscripten_set_current_thread_status(newStatus) { + } + function _emscripten_set_thread_name(threadId, name6) { + } + function __webgl_enable_ANGLE_instanced_arrays(ctx) { + var ext = ctx.getExtension("ANGLE_instanced_arrays"); + if (ext) { + ctx["vertexAttribDivisor"] = function(index, divisor) { + ext["vertexAttribDivisorANGLE"](index, divisor); + }; + ctx["drawArraysInstanced"] = function(mode, first, count22, primcount) { + ext["drawArraysInstancedANGLE"](mode, first, count22, primcount); + }; + ctx["drawElementsInstanced"] = function(mode, count22, type, indices, primcount) { + ext["drawElementsInstancedANGLE"](mode, count22, type, indices, primcount); + }; + return 1; + } + } + function __webgl_enable_OES_vertex_array_object(ctx) { + var ext = ctx.getExtension("OES_vertex_array_object"); + if (ext) { + ctx["createVertexArray"] = function() { + return ext["createVertexArrayOES"](); + }; + ctx["deleteVertexArray"] = function(vao) { + ext["deleteVertexArrayOES"](vao); + }; + ctx["bindVertexArray"] = function(vao) { + ext["bindVertexArrayOES"](vao); + }; + ctx["isVertexArray"] = function(vao) { + return ext["isVertexArrayOES"](vao); + }; + return 1; + } + } + function __webgl_enable_WEBGL_draw_buffers(ctx) { + var ext = ctx.getExtension("WEBGL_draw_buffers"); + if (ext) { + ctx["drawBuffers"] = function(n, bufs) { + ext["drawBuffersWEBGL"](n, bufs); + }; + return 1; + } + } + function __webgl_enable_WEBGL_multi_draw(ctx) { + return !!(ctx.multiDrawWebgl = ctx.getExtension("WEBGL_multi_draw")); + } + var GL = { counter: 1, buffers: [], programs: [], framebuffers: [], renderbuffers: [], textures: [], uniforms: [], shaders: [], vaos: [], contexts: {}, offscreenCanvases: {}, timerQueriesEXT: [], programInfos: {}, stringCache: {}, unpackAlignment: 4, recordError: function recordError(errorCode) { + if (!GL.lastError) { + GL.lastError = errorCode; + } + }, getNewId: function(table) { + var ret = GL.counter++; + for (var i = table.length; i < ret; i++) { + table[i] = null; + } + return ret; + }, getSource: function(shader, count22, string, length) { + var source = ""; + for (var i = 0; i < count22; ++i) { + var len = length ? GROWABLE_HEAP_I32()[length + i * 4 >> 2] : -1; + source += UTF8ToString(GROWABLE_HEAP_I32()[string + i * 4 >> 2], len < 0 ? void 0 : len); + } + return source; + }, createContext: function(canvas2, webGLContextAttributes) { + var ctx = canvas2.getContext("webgl", webGLContextAttributes); + if (!ctx) + return 0; + var handle = GL.registerContext(ctx, webGLContextAttributes); + return handle; + }, registerContext: function(ctx, webGLContextAttributes) { + var handle = _malloc(8); + GROWABLE_HEAP_I32()[handle + 4 >> 2] = _pthread_self(); + var context = { handle, attributes: webGLContextAttributes, version: webGLContextAttributes.majorVersion, GLctx: ctx }; + if (ctx.canvas) + ctx.canvas.GLctxObject = context; + GL.contexts[handle] = context; + if (typeof webGLContextAttributes.enableExtensionsByDefault === "undefined" || webGLContextAttributes.enableExtensionsByDefault) { + GL.initExtensions(context); + } + return handle; + }, makeContextCurrent: function(contextHandle) { + GL.currentContext = GL.contexts[contextHandle]; + Module.ctx = GLctx = GL.currentContext && GL.currentContext.GLctx; + return !(contextHandle && !GLctx); + }, getContext: function(contextHandle) { + return GL.contexts[contextHandle]; + }, deleteContext: function(contextHandle) { + if (GL.currentContext === GL.contexts[contextHandle]) + GL.currentContext = null; + if (typeof JSEvents === "object") + JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); + if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) + GL.contexts[contextHandle].GLctx.canvas.GLctxObject = void 0; + _free(GL.contexts[contextHandle].handle); + GL.contexts[contextHandle] = null; + }, initExtensions: function(context) { + if (!context) + context = GL.currentContext; + if (context.initExtensionsDone) + return; + context.initExtensionsDone = true; + var GLctx2 = context.GLctx; + __webgl_enable_ANGLE_instanced_arrays(GLctx2); + __webgl_enable_OES_vertex_array_object(GLctx2); + __webgl_enable_WEBGL_draw_buffers(GLctx2); + GLctx2.disjointTimerQueryExt = GLctx2.getExtension("EXT_disjoint_timer_query"); + __webgl_enable_WEBGL_multi_draw(GLctx2); + var exts = GLctx2.getSupportedExtensions() || []; + exts.forEach(function(ext) { + if (ext.indexOf("lose_context") < 0 && ext.indexOf("debug") < 0) { + GLctx2.getExtension(ext); + } + }); + }, populateUniformTable: function(program) { + var p2 = GL.programs[program]; + var ptable = GL.programInfos[program] = { uniforms: {}, maxUniformLength: 0, maxAttributeLength: -1, maxUniformBlockNameLength: -1 }; + var utable = ptable.uniforms; + var numUniforms = GLctx.getProgramParameter(p2, 35718); + for (var i = 0; i < numUniforms; ++i) { + var u = GLctx.getActiveUniform(p2, i); + var name6 = u.name; + ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name6.length + 1); + if (name6.slice(-1) == "]") { + name6 = name6.slice(0, name6.lastIndexOf("[")); + } + var loc = GLctx.getUniformLocation(p2, name6); + if (loc) { + var id = GL.getNewId(GL.uniforms); + utable[name6] = [u.size, id]; + GL.uniforms[id] = loc; + for (var j = 1; j < u.size; ++j) { + var n = name6 + "[" + j + "]"; + loc = GLctx.getUniformLocation(p2, n); + id = GL.getNewId(GL.uniforms); + GL.uniforms[id] = loc; + } + } + } + } }; + var __emscripten_webgl_power_preferences = ["default", "low-power", "high-performance"]; + function _emscripten_webgl_do_create_context(target, attributes) { + var a = attributes >> 2; + var powerPreference = GROWABLE_HEAP_I32()[a + (24 >> 2)]; + var contextAttributes = { "alpha": !!GROWABLE_HEAP_I32()[a + (0 >> 2)], "depth": !!GROWABLE_HEAP_I32()[a + (4 >> 2)], "stencil": !!GROWABLE_HEAP_I32()[a + (8 >> 2)], "antialias": !!GROWABLE_HEAP_I32()[a + (12 >> 2)], "premultipliedAlpha": !!GROWABLE_HEAP_I32()[a + (16 >> 2)], "preserveDrawingBuffer": !!GROWABLE_HEAP_I32()[a + (20 >> 2)], "powerPreference": __emscripten_webgl_power_preferences[powerPreference], "failIfMajorPerformanceCaveat": !!GROWABLE_HEAP_I32()[a + (28 >> 2)], majorVersion: GROWABLE_HEAP_I32()[a + (32 >> 2)], minorVersion: GROWABLE_HEAP_I32()[a + (36 >> 2)], enableExtensionsByDefault: GROWABLE_HEAP_I32()[a + (40 >> 2)], explicitSwapControl: GROWABLE_HEAP_I32()[a + (44 >> 2)], proxyContextToMainThread: GROWABLE_HEAP_I32()[a + (48 >> 2)], renderViaOffscreenBackBuffer: GROWABLE_HEAP_I32()[a + (52 >> 2)] }; + var canvas2 = findCanvasEventTarget(target); + if (!canvas2) { + return 0; + } + if (contextAttributes.explicitSwapControl) { + return 0; + } + var contextHandle = GL.createContext(canvas2, contextAttributes); + return contextHandle; + } + function _emscripten_webgl_create_context(a0, a12) { + return _emscripten_webgl_do_create_context(a0, a12); + } + var SYSCALLS = { mappings: {}, buffers: [null, [], []], printChar: function(stream, curr) { + var buffer3 = SYSCALLS.buffers[stream]; + if (curr === 0 || curr === 10) { + (stream === 1 ? out : err)(UTF8ArrayToString(buffer3, 0)); + buffer3.length = 0; + } else { + buffer3.push(curr); + } + }, varargs: void 0, get: function() { + SYSCALLS.varargs += 4; + var ret = GROWABLE_HEAP_I32()[SYSCALLS.varargs - 4 >> 2]; + return ret; + }, getStr: function(ptr) { + var ret = UTF8ToString(ptr); + return ret; + }, get64: function(low, high) { + return low; + } }; + function _fd_close(fd) { + if (ENVIRONMENT_IS_PTHREAD) + return _emscripten_proxy_to_main_thread_js(3, 1, fd); + return 0; + } + function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + if (ENVIRONMENT_IS_PTHREAD) + return _emscripten_proxy_to_main_thread_js(4, 1, fd, offset_low, offset_high, whence, newOffset); + } + function _fd_write(fd, iov, iovcnt, pnum) { + if (ENVIRONMENT_IS_PTHREAD) + return _emscripten_proxy_to_main_thread_js(5, 1, fd, iov, iovcnt, pnum); + var num = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = GROWABLE_HEAP_I32()[iov + i * 8 >> 2]; + var len = GROWABLE_HEAP_I32()[iov + (i * 8 + 4) >> 2]; + for (var j = 0; j < len; j++) { + SYSCALLS.printChar(fd, GROWABLE_HEAP_U8()[ptr + j]); + } + num += len; + } + GROWABLE_HEAP_I32()[pnum >> 2] = num; + return 0; + } + function _pthread_cleanup_pop(execute2) { + var routine = PThread.threadExitHandlers.pop(); + if (execute2) + routine(); + } + function _pthread_cleanup_push(routine, arg) { + PThread.threadExitHandlers.push(function() { + wasmTable.get(routine)(arg); + }); + } + function spawnThread(threadParams) { + if (ENVIRONMENT_IS_PTHREAD) + throw "Internal Error! spawnThread() can only ever be called from main application thread!"; + var worker = PThread.getNewWorker(); + if (worker.pthread !== void 0) + throw "Internal error!"; + if (!threadParams.pthread_ptr) + throw "Internal error, no pthread ptr!"; + PThread.runningWorkers.push(worker); + var tlsMemory = _malloc(128 * 4); + for (var i = 0; i < 128; ++i) { + GROWABLE_HEAP_I32()[tlsMemory + i * 4 >> 2] = 0; + } + var stackHigh = threadParams.stackBase + threadParams.stackSize; + var pthread = PThread.pthreads[threadParams.pthread_ptr] = { worker, stackBase: threadParams.stackBase, stackSize: threadParams.stackSize, allocatedOwnStack: threadParams.allocatedOwnStack, threadInfoStruct: threadParams.pthread_ptr }; + var tis = pthread.threadInfoStruct >> 2; + Atomics.store(GROWABLE_HEAP_U32(), tis + (64 >> 2), threadParams.detached); + Atomics.store(GROWABLE_HEAP_U32(), tis + (100 >> 2), tlsMemory); + Atomics.store(GROWABLE_HEAP_U32(), tis + (40 >> 2), pthread.threadInfoStruct); + Atomics.store(GROWABLE_HEAP_U32(), tis + (80 >> 2), threadParams.stackSize); + Atomics.store(GROWABLE_HEAP_U32(), tis + (76 >> 2), stackHigh); + Atomics.store(GROWABLE_HEAP_U32(), tis + (104 >> 2), threadParams.stackSize); + Atomics.store(GROWABLE_HEAP_U32(), tis + (104 + 8 >> 2), stackHigh); + Atomics.store(GROWABLE_HEAP_U32(), tis + (104 + 12 >> 2), threadParams.detached); + var global_libc = _emscripten_get_global_libc(); + var global_locale = global_libc + 40; + Atomics.store(GROWABLE_HEAP_U32(), tis + (172 >> 2), global_locale); + worker.pthread = pthread; + var msg = { "cmd": "run", "start_routine": threadParams.startRoutine, "arg": threadParams.arg, "threadInfoStruct": threadParams.pthread_ptr, "stackBase": threadParams.stackBase, "stackSize": threadParams.stackSize }; + worker.runPthread = function() { + msg.time = performance.now(); + worker.postMessage(msg, threadParams.transferList); + }; + if (worker.loaded) { + worker.runPthread(); + delete worker.runPthread; + } + } + function _pthread_create(pthread_ptr, attr, start_routine, arg) { + if (typeof SharedArrayBuffer === "undefined") { + err("Current environment does not support SharedArrayBuffer, pthreads are not available!"); + return 6; + } + if (!pthread_ptr) { + err("pthread_create called with a null thread pointer!"); + return 28; + } + var transferList = []; + var error = 0; + if (ENVIRONMENT_IS_PTHREAD && (transferList.length === 0 || error)) { + return _emscripten_sync_run_in_main_thread_4(687865856, pthread_ptr, attr, start_routine, arg); + } + if (error) + return error; + var stackSize = 0; + var stackBase = 0; + var detached = 0; + if (attr && attr != -1) { + stackSize = GROWABLE_HEAP_I32()[attr >> 2]; + stackSize += 81920; + stackBase = GROWABLE_HEAP_I32()[attr + 8 >> 2]; + detached = GROWABLE_HEAP_I32()[attr + 12 >> 2] !== 0; + } else { + stackSize = 2097152; + } + var allocatedOwnStack = stackBase == 0; + if (allocatedOwnStack) { + stackBase = _memalign(16, stackSize); + } else { + stackBase -= stackSize; + assert3(stackBase > 0); + } + var threadInfoStruct = _malloc(228); + for (var i = 0; i < 228 >> 2; ++i) + GROWABLE_HEAP_U32()[(threadInfoStruct >> 2) + i] = 0; + GROWABLE_HEAP_I32()[pthread_ptr >> 2] = threadInfoStruct; + GROWABLE_HEAP_I32()[threadInfoStruct + 12 >> 2] = threadInfoStruct; + var headPtr = threadInfoStruct + 152; + GROWABLE_HEAP_I32()[headPtr >> 2] = headPtr; + var threadParams = { stackBase, stackSize, allocatedOwnStack, detached, startRoutine: start_routine, pthread_ptr: threadInfoStruct, arg, transferList }; + if (ENVIRONMENT_IS_PTHREAD) { + threadParams.cmd = "spawnThread"; + postMessage(threadParams, transferList); + } else { + spawnThread(threadParams); + } + return 0; + } + function _sysconf(name6) { + if (ENVIRONMENT_IS_PTHREAD) + return _emscripten_proxy_to_main_thread_js(6, 1, name6); + switch (name6) { + case 30: + return 16384; + case 85: + var maxHeapSize = 2147483648; + return maxHeapSize / 16384; + case 132: + case 133: + case 12: + case 137: + case 138: + case 15: + case 235: + case 16: + case 17: + case 18: + case 19: + case 20: + case 149: + case 13: + case 10: + case 236: + case 153: + case 9: + case 21: + case 22: + case 159: + case 154: + case 14: + case 77: + case 78: + case 139: + case 82: + case 68: + case 67: + case 164: + case 11: + case 29: + case 47: + case 48: + case 95: + case 52: + case 51: + case 46: + return 200809; + case 27: + case 246: + case 127: + case 128: + case 23: + case 24: + case 160: + case 161: + case 181: + case 182: + case 242: + case 183: + case 184: + case 243: + case 244: + case 245: + case 165: + case 178: + case 179: + case 49: + case 50: + case 168: + case 169: + case 175: + case 170: + case 171: + case 172: + case 97: + case 76: + case 32: + case 173: + case 35: + case 80: + case 81: + case 79: + return -1; + case 176: + case 177: + case 7: + case 155: + case 8: + case 157: + case 125: + case 126: + case 92: + case 93: + case 129: + case 130: + case 131: + case 94: + case 91: + return 1; + case 74: + case 60: + case 69: + case 70: + case 4: + return 1024; + case 31: + case 42: + case 72: + return 32; + case 87: + case 26: + case 33: + return 2147483647; + case 34: + case 1: + return 47839; + case 38: + case 36: + return 99; + case 43: + case 37: + return 2048; + case 0: + return 2097152; + case 3: + return 65536; + case 28: + return 32768; + case 44: + return 32767; + case 75: + return 16384; + case 39: + return 1e3; + case 89: + return 700; + case 71: + return 256; + case 40: + return 255; + case 2: + return 100; + case 180: + return 64; + case 25: + return 20; + case 5: + return 16; + case 6: + return 6; + case 73: + return 4; + case 84: { + if (typeof navigator === "object") + return navigator["hardwareConcurrency"] || 1; + return 1; + } + } + setErrNo(28); + return -1; + } + if (!ENVIRONMENT_IS_PTHREAD) + PThread.initMainThreadBlock(); + var GLctx; + var proxiedFunctionTable = [null, _atexit, _emscripten_set_canvas_element_size_main_thread, _fd_close, _fd_seek, _fd_write, _sysconf]; + var asmLibraryArg = { "e": ___assert_fail, "r": ___call_main, "x": __emscripten_notify_thread_queue, "b": _abort, "y": _emscripten_asm_const_int, "j": _emscripten_conditional_set_current_thread_status, "c": _emscripten_futex_wait, "d": _emscripten_futex_wake, "f": _emscripten_get_now, "p": _emscripten_memcpy_big, "z": _emscripten_num_logical_cores, "u": _emscripten_receive_on_main_thread_js, "q": _emscripten_resize_heap, "v": _emscripten_set_canvas_element_size, "i": _emscripten_set_current_thread_status, "t": _emscripten_set_thread_name, "w": _emscripten_webgl_create_context, "m": _fd_close, "n": _fd_seek, "g": _fd_write, "o": initPthreadsJS, "a": wasmMemory || Module["wasmMemory"], "k": _pthread_cleanup_pop, "l": _pthread_cleanup_push, "h": _pthread_create, "s": _sysconf }; + var asm = createWasm(); + var ___wasm_call_ctors = Module["___wasm_call_ctors"] = function() { + return (___wasm_call_ctors = Module["___wasm_call_ctors"] = Module["asm"]["A"]).apply(null, arguments); + }; + var _init = Module["_init"] = function() { + return (_init = Module["_init"] = Module["asm"]["B"]).apply(null, arguments); + }; + var _register_tensor = Module["_register_tensor"] = function() { + return (_register_tensor = Module["_register_tensor"] = Module["asm"]["C"]).apply(null, arguments); + }; + var _dispose_data = Module["_dispose_data"] = function() { + return (_dispose_data = Module["_dispose_data"] = Module["asm"]["D"]).apply(null, arguments); + }; + var _dispose = Module["_dispose"] = function() { + return (_dispose = Module["_dispose"] = Module["asm"]["E"]).apply(null, arguments); + }; + var _Abs = Module["_Abs"] = function() { + return (_Abs = Module["_Abs"] = Module["asm"]["G"]).apply(null, arguments); + }; + var _Add = Module["_Add"] = function() { + return (_Add = Module["_Add"] = Module["asm"]["H"]).apply(null, arguments); + }; + var _AddN = Module["_AddN"] = function() { + return (_AddN = Module["_AddN"] = Module["asm"]["I"]).apply(null, arguments); + }; + var _All = Module["_All"] = function() { + return (_All = Module["_All"] = Module["asm"]["J"]).apply(null, arguments); + }; + var _Any = Module["_Any"] = function() { + return (_Any = Module["_Any"] = Module["asm"]["K"]).apply(null, arguments); + }; + var _ArgMax = Module["_ArgMax"] = function() { + return (_ArgMax = Module["_ArgMax"] = Module["asm"]["L"]).apply(null, arguments); + }; + var _AvgPool = Module["_AvgPool"] = function() { + return (_AvgPool = Module["_AvgPool"] = Module["asm"]["M"]).apply(null, arguments); + }; + var _BatchMatMul = Module["_BatchMatMul"] = function() { + return (_BatchMatMul = Module["_BatchMatMul"] = Module["asm"]["N"]).apply(null, arguments); + }; + var _Ceil = Module["_Ceil"] = function() { + return (_Ceil = Module["_Ceil"] = Module["asm"]["O"]).apply(null, arguments); + }; + var _ClipByValue = Module["_ClipByValue"] = function() { + return (_ClipByValue = Module["_ClipByValue"] = Module["asm"]["P"]).apply(null, arguments); + }; + var _Conv2D = Module["_Conv2D"] = function() { + return (_Conv2D = Module["_Conv2D"] = Module["asm"]["Q"]).apply(null, arguments); + }; + var _Conv2DBackpropInput = Module["_Conv2DBackpropInput"] = function() { + return (_Conv2DBackpropInput = Module["_Conv2DBackpropInput"] = Module["asm"]["R"]).apply(null, arguments); + }; + var _Cos = Module["_Cos"] = function() { + return (_Cos = Module["_Cos"] = Module["asm"]["S"]).apply(null, arguments); + }; + var _CropAndResize = Module["_CropAndResize"] = function() { + return (_CropAndResize = Module["_CropAndResize"] = Module["asm"]["T"]).apply(null, arguments); + }; + var _Cumsum = Module["_Cumsum"] = function() { + return (_Cumsum = Module["_Cumsum"] = Module["asm"]["U"]).apply(null, arguments); + }; + var _DepthToSpace = Module["_DepthToSpace"] = function() { + return (_DepthToSpace = Module["_DepthToSpace"] = Module["asm"]["V"]).apply(null, arguments); + }; + var _DepthwiseConv2dNative = Module["_DepthwiseConv2dNative"] = function() { + return (_DepthwiseConv2dNative = Module["_DepthwiseConv2dNative"] = Module["asm"]["W"]).apply(null, arguments); + }; + var _Equal = Module["_Equal"] = function() { + return (_Equal = Module["_Equal"] = Module["asm"]["X"]).apply(null, arguments); + }; + var _Exp = Module["_Exp"] = function() { + return (_Exp = Module["_Exp"] = Module["asm"]["Y"]).apply(null, arguments); + }; + var _FlipLeftRight = Module["_FlipLeftRight"] = function() { + return (_FlipLeftRight = Module["_FlipLeftRight"] = Module["asm"]["Z"]).apply(null, arguments); + }; + var _Floor = Module["_Floor"] = function() { + return (_Floor = Module["_Floor"] = Module["asm"]["_"]).apply(null, arguments); + }; + var _FloorDiv = Module["_FloorDiv"] = function() { + return (_FloorDiv = Module["_FloorDiv"] = Module["asm"]["$"]).apply(null, arguments); + }; + var _FusedBatchNorm = Module["_FusedBatchNorm"] = function() { + return (_FusedBatchNorm = Module["_FusedBatchNorm"] = Module["asm"]["aa"]).apply(null, arguments); + }; + var _FusedConv2D = Module["_FusedConv2D"] = function() { + return (_FusedConv2D = Module["_FusedConv2D"] = Module["asm"]["ba"]).apply(null, arguments); + }; + var _FusedDepthwiseConv2D = Module["_FusedDepthwiseConv2D"] = function() { + return (_FusedDepthwiseConv2D = Module["_FusedDepthwiseConv2D"] = Module["asm"]["ca"]).apply(null, arguments); + }; + var _Gather = Module["_Gather"] = function() { + return (_Gather = Module["_Gather"] = Module["asm"]["da"]).apply(null, arguments); + }; + var _GatherNd = Module["_GatherNd"] = function() { + return (_GatherNd = Module["_GatherNd"] = Module["asm"]["ea"]).apply(null, arguments); + }; + var _Greater = Module["_Greater"] = function() { + return (_Greater = Module["_Greater"] = Module["asm"]["fa"]).apply(null, arguments); + }; + var _GreaterEqual = Module["_GreaterEqual"] = function() { + return (_GreaterEqual = Module["_GreaterEqual"] = Module["asm"]["ga"]).apply(null, arguments); + }; + var _LeakyRelu = Module["_LeakyRelu"] = function() { + return (_LeakyRelu = Module["_LeakyRelu"] = Module["asm"]["ha"]).apply(null, arguments); + }; + var _Less = Module["_Less"] = function() { + return (_Less = Module["_Less"] = Module["asm"]["ia"]).apply(null, arguments); + }; + var _LessEqual = Module["_LessEqual"] = function() { + return (_LessEqual = Module["_LessEqual"] = Module["asm"]["ja"]).apply(null, arguments); + }; + var _Log = Module["_Log"] = function() { + return (_Log = Module["_Log"] = Module["asm"]["ka"]).apply(null, arguments); + }; + var _LogicalAnd = Module["_LogicalAnd"] = function() { + return (_LogicalAnd = Module["_LogicalAnd"] = Module["asm"]["la"]).apply(null, arguments); + }; + var _Max = Module["_Max"] = function() { + return (_Max = Module["_Max"] = Module["asm"]["ma"]).apply(null, arguments); + }; + var _MaxPool = Module["_MaxPool"] = function() { + return (_MaxPool = Module["_MaxPool"] = Module["asm"]["na"]).apply(null, arguments); + }; + var _Maximum = Module["_Maximum"] = function() { + return (_Maximum = Module["_Maximum"] = Module["asm"]["oa"]).apply(null, arguments); + }; + var _Mean = Module["_Mean"] = function() { + return (_Mean = Module["_Mean"] = Module["asm"]["pa"]).apply(null, arguments); + }; + var _Min = Module["_Min"] = function() { + return (_Min = Module["_Min"] = Module["asm"]["qa"]).apply(null, arguments); + }; + var _Minimum = Module["_Minimum"] = function() { + return (_Minimum = Module["_Minimum"] = Module["asm"]["ra"]).apply(null, arguments); + }; + var _MirrorPad = Module["_MirrorPad"] = function() { + return (_MirrorPad = Module["_MirrorPad"] = Module["asm"]["sa"]).apply(null, arguments); + }; + var _Multiply = Module["_Multiply"] = function() { + return (_Multiply = Module["_Multiply"] = Module["asm"]["ta"]).apply(null, arguments); + }; + var _Neg = Module["_Neg"] = function() { + return (_Neg = Module["_Neg"] = Module["asm"]["ua"]).apply(null, arguments); + }; + var _NonMaxSuppressionV3 = Module["_NonMaxSuppressionV3"] = function() { + return (_NonMaxSuppressionV3 = Module["_NonMaxSuppressionV3"] = Module["asm"]["va"]).apply(null, arguments); + }; + var _NonMaxSuppressionV4 = Module["_NonMaxSuppressionV4"] = function() { + return (_NonMaxSuppressionV4 = Module["_NonMaxSuppressionV4"] = Module["asm"]["wa"]).apply(null, arguments); + }; + var _NonMaxSuppressionV5 = Module["_NonMaxSuppressionV5"] = function() { + return (_NonMaxSuppressionV5 = Module["_NonMaxSuppressionV5"] = Module["asm"]["xa"]).apply(null, arguments); + }; + var _NotEqual = Module["_NotEqual"] = function() { + return (_NotEqual = Module["_NotEqual"] = Module["asm"]["ya"]).apply(null, arguments); + }; + var _OneHot = Module["_OneHot"] = function() { + return (_OneHot = Module["_OneHot"] = Module["asm"]["za"]).apply(null, arguments); + }; + var _PadV2 = Module["_PadV2"] = function() { + return (_PadV2 = Module["_PadV2"] = Module["asm"]["Aa"]).apply(null, arguments); + }; + var _Pow = Module["_Pow"] = function() { + return (_Pow = Module["_Pow"] = Module["asm"]["Ba"]).apply(null, arguments); + }; + var _Prelu = Module["_Prelu"] = function() { + return (_Prelu = Module["_Prelu"] = Module["asm"]["Ca"]).apply(null, arguments); + }; + var _Prod = Module["_Prod"] = function() { + return (_Prod = Module["_Prod"] = Module["asm"]["Da"]).apply(null, arguments); + }; + var _RealDiv = Module["_RealDiv"] = function() { + return (_RealDiv = Module["_RealDiv"] = Module["asm"]["Ea"]).apply(null, arguments); + }; + var _Relu = Module["_Relu"] = function() { + return (_Relu = Module["_Relu"] = Module["asm"]["Fa"]).apply(null, arguments); + }; + var _Relu6 = Module["_Relu6"] = function() { + return (_Relu6 = Module["_Relu6"] = Module["asm"]["Ga"]).apply(null, arguments); + }; + var _ResizeBilinear = Module["_ResizeBilinear"] = function() { + return (_ResizeBilinear = Module["_ResizeBilinear"] = Module["asm"]["Ha"]).apply(null, arguments); + }; + var _Reverse = Module["_Reverse"] = function() { + return (_Reverse = Module["_Reverse"] = Module["asm"]["Ia"]).apply(null, arguments); + }; + var _RotateWithOffset = Module["_RotateWithOffset"] = function() { + return (_RotateWithOffset = Module["_RotateWithOffset"] = Module["asm"]["Ja"]).apply(null, arguments); + }; + var _Round = Module["_Round"] = function() { + return (_Round = Module["_Round"] = Module["asm"]["Ka"]).apply(null, arguments); + }; + var _Rsqrt = Module["_Rsqrt"] = function() { + return (_Rsqrt = Module["_Rsqrt"] = Module["asm"]["La"]).apply(null, arguments); + }; + var _ScatterNd = Module["_ScatterNd"] = function() { + return (_ScatterNd = Module["_ScatterNd"] = Module["asm"]["Ma"]).apply(null, arguments); + }; + var _SelectV2 = Module["_SelectV2"] = function() { + return (_SelectV2 = Module["_SelectV2"] = Module["asm"]["Na"]).apply(null, arguments); + }; + var _Sigmoid = Module["_Sigmoid"] = function() { + return (_Sigmoid = Module["_Sigmoid"] = Module["asm"]["Oa"]).apply(null, arguments); + }; + var _Sin = Module["_Sin"] = function() { + return (_Sin = Module["_Sin"] = Module["asm"]["Pa"]).apply(null, arguments); + }; + var _Softmax = Module["_Softmax"] = function() { + return (_Softmax = Module["_Softmax"] = Module["asm"]["Qa"]).apply(null, arguments); + }; + var _Sqrt = Module["_Sqrt"] = function() { + return (_Sqrt = Module["_Sqrt"] = Module["asm"]["Ra"]).apply(null, arguments); + }; + var _Square = Module["_Square"] = function() { + return (_Square = Module["_Square"] = Module["asm"]["Sa"]).apply(null, arguments); + }; + var _SquaredDifference = Module["_SquaredDifference"] = function() { + return (_SquaredDifference = Module["_SquaredDifference"] = Module["asm"]["Ta"]).apply(null, arguments); + }; + var _Step = Module["_Step"] = function() { + return (_Step = Module["_Step"] = Module["asm"]["Ua"]).apply(null, arguments); + }; + var _StridedSlice = Module["_StridedSlice"] = function() { + return (_StridedSlice = Module["_StridedSlice"] = Module["asm"]["Va"]).apply(null, arguments); + }; + var _Sub = Module["_Sub"] = function() { + return (_Sub = Module["_Sub"] = Module["asm"]["Wa"]).apply(null, arguments); + }; + var _Sum = Module["_Sum"] = function() { + return (_Sum = Module["_Sum"] = Module["asm"]["Xa"]).apply(null, arguments); + }; + var _Tan = Module["_Tan"] = function() { + return (_Tan = Module["_Tan"] = Module["asm"]["Ya"]).apply(null, arguments); + }; + var _Tanh = Module["_Tanh"] = function() { + return (_Tanh = Module["_Tanh"] = Module["asm"]["Za"]).apply(null, arguments); + }; + var _Tile = Module["_Tile"] = function() { + return (_Tile = Module["_Tile"] = Module["asm"]["_a"]).apply(null, arguments); + }; + var _TopK = Module["_TopK"] = function() { + return (_TopK = Module["_TopK"] = Module["asm"]["$a"]).apply(null, arguments); + }; + var _Transform = Module["_Transform"] = function() { + return (_Transform = Module["_Transform"] = Module["asm"]["ab"]).apply(null, arguments); + }; + var _Transpose = Module["_Transpose"] = function() { + return (_Transpose = Module["_Transpose"] = Module["asm"]["bb"]).apply(null, arguments); + }; + var __FusedMatMul = Module["__FusedMatMul"] = function() { + return (__FusedMatMul = Module["__FusedMatMul"] = Module["asm"]["cb"]).apply(null, arguments); + }; + var _malloc = Module["_malloc"] = function() { + return (_malloc = Module["_malloc"] = Module["asm"]["db"]).apply(null, arguments); + }; + var _free = Module["_free"] = function() { + return (_free = Module["_free"] = Module["asm"]["eb"]).apply(null, arguments); + }; + var ___errno_location = Module["___errno_location"] = function() { + return (___errno_location = Module["___errno_location"] = Module["asm"]["fb"]).apply(null, arguments); + }; + var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = function() { + return (_emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = Module["asm"]["gb"]).apply(null, arguments); + }; + var _pthread_self = Module["_pthread_self"] = function() { + return (_pthread_self = Module["_pthread_self"] = Module["asm"]["hb"]).apply(null, arguments); + }; + var ___pthread_tsd_run_dtors = Module["___pthread_tsd_run_dtors"] = function() { + return (___pthread_tsd_run_dtors = Module["___pthread_tsd_run_dtors"] = Module["asm"]["ib"]).apply(null, arguments); + }; + var _emscripten_main_thread_process_queued_calls = Module["_emscripten_main_thread_process_queued_calls"] = function() { + return (_emscripten_main_thread_process_queued_calls = Module["_emscripten_main_thread_process_queued_calls"] = Module["asm"]["jb"]).apply(null, arguments); + }; + var _emscripten_current_thread_process_queued_calls = Module["_emscripten_current_thread_process_queued_calls"] = function() { + return (_emscripten_current_thread_process_queued_calls = Module["_emscripten_current_thread_process_queued_calls"] = Module["asm"]["kb"]).apply(null, arguments); + }; + var _emscripten_register_main_browser_thread_id = Module["_emscripten_register_main_browser_thread_id"] = function() { + return (_emscripten_register_main_browser_thread_id = Module["_emscripten_register_main_browser_thread_id"] = Module["asm"]["lb"]).apply(null, arguments); + }; + var __emscripten_do_dispatch_to_thread = Module["__emscripten_do_dispatch_to_thread"] = function() { + return (__emscripten_do_dispatch_to_thread = Module["__emscripten_do_dispatch_to_thread"] = Module["asm"]["mb"]).apply(null, arguments); + }; + var _emscripten_sync_run_in_main_thread_4 = Module["_emscripten_sync_run_in_main_thread_4"] = function() { + return (_emscripten_sync_run_in_main_thread_4 = Module["_emscripten_sync_run_in_main_thread_4"] = Module["asm"]["nb"]).apply(null, arguments); + }; + var _emscripten_run_in_main_runtime_thread_js = Module["_emscripten_run_in_main_runtime_thread_js"] = function() { + return (_emscripten_run_in_main_runtime_thread_js = Module["_emscripten_run_in_main_runtime_thread_js"] = Module["asm"]["ob"]).apply(null, arguments); + }; + var __emscripten_call_on_thread = Module["__emscripten_call_on_thread"] = function() { + return (__emscripten_call_on_thread = Module["__emscripten_call_on_thread"] = Module["asm"]["pb"]).apply(null, arguments); + }; + var _emscripten_tls_init = Module["_emscripten_tls_init"] = function() { + return (_emscripten_tls_init = Module["_emscripten_tls_init"] = Module["asm"]["qb"]).apply(null, arguments); + }; + var __emscripten_thread_init = Module["__emscripten_thread_init"] = function() { + return (__emscripten_thread_init = Module["__emscripten_thread_init"] = Module["asm"]["rb"]).apply(null, arguments); + }; + var stackSave = Module["stackSave"] = function() { + return (stackSave = Module["stackSave"] = Module["asm"]["sb"]).apply(null, arguments); + }; + var stackRestore = Module["stackRestore"] = function() { + return (stackRestore = Module["stackRestore"] = Module["asm"]["tb"]).apply(null, arguments); + }; + var stackAlloc = Module["stackAlloc"] = function() { + return (stackAlloc = Module["stackAlloc"] = Module["asm"]["ub"]).apply(null, arguments); + }; + var _emscripten_stack_set_limits = Module["_emscripten_stack_set_limits"] = function() { + return (_emscripten_stack_set_limits = Module["_emscripten_stack_set_limits"] = Module["asm"]["vb"]).apply(null, arguments); + }; + var _memalign = Module["_memalign"] = function() { + return (_memalign = Module["_memalign"] = Module["asm"]["wb"]).apply(null, arguments); + }; + var __emscripten_allow_main_runtime_queued_calls = Module["__emscripten_allow_main_runtime_queued_calls"] = 9808; + var __emscripten_main_thread_futex = Module["__emscripten_main_thread_futex"] = 11432; + Module["cwrap"] = cwrap; + Module["PThread"] = PThread; + Module["PThread"] = PThread; + Module["wasmMemory"] = wasmMemory; + Module["ExitStatus"] = ExitStatus; + var calledRun; + function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; + } + dependenciesFulfilled = function runCaller() { + if (!calledRun) + run(); + if (!calledRun) + dependenciesFulfilled = runCaller; + }; + function run(args) { + args = args || arguments_; + if (runDependencies > 0) { + return; + } + if (ENVIRONMENT_IS_PTHREAD) { + readyPromiseResolve(Module); + initRuntime(); + postMessage({ "cmd": "loaded" }); + return; + } + preRun(); + if (runDependencies > 0) { + return; + } + function doRun() { + if (calledRun) + return; + calledRun = true; + Module["calledRun"] = true; + if (ABORT) + return; + initRuntime(); + preMain(); + readyPromiseResolve(Module); + if (Module["onRuntimeInitialized"]) + Module["onRuntimeInitialized"](); + postRun(); + } + if (Module["setStatus"]) { + Module["setStatus"]("Running..."); + setTimeout(function() { + setTimeout(function() { + Module["setStatus"](""); + }, 1); + doRun(); + }, 1); + } else { + doRun(); + } + } + Module["run"] = run; + function exit(status, implicit) { + if (implicit && noExitRuntime && status === 0) { + return; + } + if (!implicit) { + if (ENVIRONMENT_IS_PTHREAD) { + postMessage({ "cmd": "exitProcess", "returnCode": status }); + throw new ExitStatus(status); + } else { + } + } + if (noExitRuntime) { + } else { + PThread.terminateAllThreads(); + EXITSTATUS = status; + exitRuntime(); + if (Module["onExit"]) + Module["onExit"](status); + ABORT = true; + } + quit_(status, new ExitStatus(status)); + } + if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") + Module["preInit"] = [Module["preInit"]]; + while (Module["preInit"].length > 0) { + Module["preInit"].pop()(); + } + } + if (ENVIRONMENT_IS_PTHREAD) { + noExitRuntime = false; + PThread.initWorker(); + } + run(); + return WasmBackendModuleThreadedSimd2.ready; + }; + }(); + if (typeof exports === "object" && typeof module6 === "object") + module6.exports = WasmBackendModuleThreadedSimd; + else if (typeof define === "function" && define["amd"]) + define([], function() { + return WasmBackendModuleThreadedSimd; + }); + else if (typeof exports === "object") + exports["WasmBackendModuleThreadedSimd"] = WasmBackendModuleThreadedSimd; + } +}); +var require_tfjs_backend_wasm = __commonJS({ + "node_modules/.pnpm/@tensorflow+tfjs-backend-wasm@3.6.0_@tensorflow+tfjs-core@3.6.0/node_modules/@tensorflow/tfjs-backend-wasm/wasm-out/tfjs-backend-wasm.js"(exports, module6) { + var WasmBackendModule = function() { + var _scriptDir = typeof document !== "undefined" && document.currentScript ? document.currentScript.src : void 0; + if (typeof __filename !== "undefined") + _scriptDir = _scriptDir || __filename; + return function(WasmBackendModule2) { + WasmBackendModule2 = WasmBackendModule2 || {}; + var Module = typeof WasmBackendModule2 !== "undefined" ? WasmBackendModule2 : {}; + var readyPromiseResolve, readyPromiseReject; + Module["ready"] = new Promise(function(resolve, reject) { + readyPromiseResolve = resolve; + readyPromiseReject = reject; + }); + var moduleOverrides = {}; + var key; + for (key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } + } + var arguments_ = []; + var thisProgram = "./this.program"; + var quit_ = function(status, toThrow) { + throw toThrow; + }; + var ENVIRONMENT_IS_WEB = false; + var ENVIRONMENT_IS_WORKER = false; + var ENVIRONMENT_IS_NODE = false; + var ENVIRONMENT_IS_SHELL = false; + ENVIRONMENT_IS_WEB = typeof window === "object"; + ENVIRONMENT_IS_WORKER = typeof importScripts === "function"; + ENVIRONMENT_IS_NODE = typeof process === "object" && typeof process.versions === "object" && typeof process.versions.node === "string"; + ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; + var scriptDirectory = ""; + function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory); + } + return scriptDirectory + path; + } + var read_, readAsync, readBinary, setWindowTitle; + var nodeFS; + var nodePath; + if (ENVIRONMENT_IS_NODE) { + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = require_path().dirname(scriptDirectory) + "/"; + } else { + scriptDirectory = __dirname + "/"; + } + read_ = function shell_read(filename, binary) { + if (!nodeFS) + nodeFS = __require2("fs"); + if (!nodePath) + nodePath = require_path(); + filename = nodePath["normalize"](filename); + return nodeFS["readFileSync"](filename, binary ? null : "utf8"); + }; + readBinary = function readBinary2(filename) { + var ret = read_(filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret); + } + assert3(ret.buffer); + return ret; + }; + if (process["argv"].length > 1) { + thisProgram = process["argv"][1].replace(/\\/g, "/"); + } + arguments_ = process["argv"].slice(2); + process["on"]("uncaughtException", function(ex) { + if (!(ex instanceof ExitStatus)) { + throw ex; + } + }); + process["on"]("unhandledRejection", abort); + quit_ = function(status) { + process["exit"](status); + }; + Module["inspect"] = function() { + return "[Emscripten Module object]"; + }; + } else if (ENVIRONMENT_IS_SHELL) { + if (typeof read != "undefined") { + read_ = function shell_read(f) { + return read(f); + }; + } + readBinary = function readBinary2(f) { + var data; + if (typeof readbuffer === "function") { + return new Uint8Array(readbuffer(f)); + } + data = read(f, "binary"); + assert3(typeof data === "object"); + return data; + }; + if (typeof scriptArgs != "undefined") { + arguments_ = scriptArgs; + } else if (typeof arguments != "undefined") { + arguments_ = arguments; + } + if (typeof quit === "function") { + quit_ = function(status) { + quit(status); + }; + } + if (typeof print !== "undefined") { + if (typeof console === "undefined") + console = {}; + console.log = print; + console.warn = console.error = typeof printErr !== "undefined" ? printErr : print; + } + } else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = self.location.href; + } else if (typeof document !== "undefined" && document.currentScript) { + scriptDirectory = document.currentScript.src; + } + if (_scriptDir) { + scriptDirectory = _scriptDir; + } + if (scriptDirectory.indexOf("blob:") !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf("/") + 1); + } else { + scriptDirectory = ""; + } + { + read_ = function(url) { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, false); + xhr.send(null); + return xhr.responseText; + }; + if (ENVIRONMENT_IS_WORKER) { + readBinary = function(url) { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, false); + xhr.responseType = "arraybuffer"; + xhr.send(null); + return new Uint8Array(xhr.response); + }; + } + readAsync = function(url, onload, onerror) { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, true); + xhr.responseType = "arraybuffer"; + xhr.onload = function() { + if (xhr.status == 200 || xhr.status == 0 && xhr.response) { + onload(xhr.response); + return; + } + onerror(); + }; + xhr.onerror = onerror; + xhr.send(null); + }; + } + setWindowTitle = function(title) { + document.title = title; + }; + } else { + } + var out = Module["print"] || console.log.bind(console); + var err = Module["printErr"] || console.warn.bind(console); + for (key in moduleOverrides) { + if (moduleOverrides.hasOwnProperty(key)) { + Module[key] = moduleOverrides[key]; + } + } + moduleOverrides = null; + if (Module["arguments"]) + arguments_ = Module["arguments"]; + if (Module["thisProgram"]) + thisProgram = Module["thisProgram"]; + if (Module["quit"]) + quit_ = Module["quit"]; + var wasmBinary; + if (Module["wasmBinary"]) + wasmBinary = Module["wasmBinary"]; + var noExitRuntime = Module["noExitRuntime"] || true; + if (typeof WebAssembly !== "object") { + abort("no native wasm support detected"); + } + var wasmMemory; + var ABORT = false; + var EXITSTATUS; + function assert3(condition, text) { + if (!condition) { + abort("Assertion failed: " + text); + } + } + function getCFunc(ident) { + var func2 = Module["_" + ident]; + assert3(func2, "Cannot call unknown function " + ident + ", make sure it is exported"); + return func2; + } + function ccall(ident, returnType, argTypes, args, opts) { + var toC = { "string": function(str) { + var ret2 = 0; + if (str !== null && str !== void 0 && str !== 0) { + var len = (str.length << 2) + 1; + ret2 = stackAlloc(len); + stringToUTF8(str, ret2, len); + } + return ret2; + }, "array": function(arr) { + var ret2 = stackAlloc(arr.length); + writeArrayToMemory(arr, ret2); + return ret2; + } }; + function convertReturnValue(ret2) { + if (returnType === "string") + return UTF8ToString(ret2); + if (returnType === "boolean") + return Boolean(ret2); + return ret2; + } + var func2 = getCFunc(ident); + var cArgs = []; + var stack2 = 0; + if (args) { + for (var i = 0; i < args.length; i++) { + var converter = toC[argTypes[i]]; + if (converter) { + if (stack2 === 0) + stack2 = stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func2.apply(null, cArgs); + ret = convertReturnValue(ret); + if (stack2 !== 0) + stackRestore(stack2); + return ret; + } + function cwrap(ident, returnType, argTypes, opts) { + argTypes = argTypes || []; + var numericArgs = argTypes.every(function(type) { + return type === "number"; + }); + var numericRet = returnType !== "string"; + if (numericRet && numericArgs && !opts) { + return getCFunc(ident); + } + return function() { + return ccall(ident, returnType, argTypes, arguments, opts); + }; + } + var UTF8Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : void 0; + function UTF8ArrayToString(heap, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + while (heap[endPtr] && !(endPtr >= endIdx)) + ++endPtr; + if (endPtr - idx > 16 && heap.subarray && UTF8Decoder) { + return UTF8Decoder.decode(heap.subarray(idx, endPtr)); + } else { + var str = ""; + while (idx < endPtr) { + var u0 = heap[idx++]; + if (!(u0 & 128)) { + str += String.fromCharCode(u0); + continue; + } + var u1 = heap[idx++] & 63; + if ((u0 & 224) == 192) { + str += String.fromCharCode((u0 & 31) << 6 | u1); + continue; + } + var u2 = heap[idx++] & 63; + if ((u0 & 240) == 224) { + u0 = (u0 & 15) << 12 | u1 << 6 | u2; + } else { + u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heap[idx++] & 63; + } + if (u0 < 65536) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 65536; + str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023); + } + } + } + return str; + } + function UTF8ToString(ptr, maxBytesToRead) { + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ""; + } + function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) + return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) { + var u1 = str.charCodeAt(++i); + u = 65536 + ((u & 1023) << 10) | u1 & 1023; + } + if (u <= 127) { + if (outIdx >= endIdx) + break; + heap[outIdx++] = u; + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) + break; + heap[outIdx++] = 192 | u >> 6; + heap[outIdx++] = 128 | u & 63; + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) + break; + heap[outIdx++] = 224 | u >> 12; + heap[outIdx++] = 128 | u >> 6 & 63; + heap[outIdx++] = 128 | u & 63; + } else { + if (outIdx + 3 >= endIdx) + break; + heap[outIdx++] = 240 | u >> 18; + heap[outIdx++] = 128 | u >> 12 & 63; + heap[outIdx++] = 128 | u >> 6 & 63; + heap[outIdx++] = 128 | u & 63; + } + } + heap[outIdx] = 0; + return outIdx - startIdx; + } + function stringToUTF8(str, outPtr, maxBytesToWrite) { + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); + } + function writeArrayToMemory(array2, buffer3) { + HEAP8.set(array2, buffer3); + } + function alignUp(x, multiple) { + if (x % multiple > 0) { + x += multiple - x % multiple; + } + return x; + } + var buffer2, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; + function updateGlobalBufferAndViews(buf) { + buffer2 = buf; + Module["HEAP8"] = HEAP8 = new Int8Array(buf); + Module["HEAP16"] = HEAP16 = new Int16Array(buf); + Module["HEAP32"] = HEAP32 = new Int32Array(buf); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf); + Module["HEAPU16"] = HEAPU16 = new Uint16Array(buf); + Module["HEAPU32"] = HEAPU32 = new Uint32Array(buf); + Module["HEAPF32"] = HEAPF32 = new Float32Array(buf); + Module["HEAPF64"] = HEAPF64 = new Float64Array(buf); + } + var INITIAL_MEMORY = Module["INITIAL_MEMORY"] || 16777216; + var wasmTable; + var __ATPRERUN__ = []; + var __ATINIT__ = []; + var __ATMAIN__ = []; + var __ATPOSTRUN__ = []; + var runtimeInitialized = false; + __ATINIT__.push({ func: function() { + ___wasm_call_ctors(); + } }); + function preRun() { + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") + Module["preRun"] = [Module["preRun"]]; + while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()); + } + } + callRuntimeCallbacks(__ATPRERUN__); + } + function initRuntime() { + runtimeInitialized = true; + callRuntimeCallbacks(__ATINIT__); + } + function preMain() { + callRuntimeCallbacks(__ATMAIN__); + } + function postRun() { + if (Module["postRun"]) { + if (typeof Module["postRun"] == "function") + Module["postRun"] = [Module["postRun"]]; + while (Module["postRun"].length) { + addOnPostRun(Module["postRun"].shift()); + } + } + callRuntimeCallbacks(__ATPOSTRUN__); + } + function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb); + } + function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); + } + var runDependencies = 0; + var runDependencyWatcher = null; + var dependenciesFulfilled = null; + function addRunDependency(id) { + runDependencies++; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies); + } + } + function removeRunDependency(id) { + runDependencies--; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies); + } + if (runDependencies == 0) { + if (runDependencyWatcher !== null) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + } + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback(); + } + } + } + Module["preloadedImages"] = {}; + Module["preloadedAudios"] = {}; + function abort(what) { + if (Module["onAbort"]) { + Module["onAbort"](what); + } + what += ""; + err(what); + ABORT = true; + EXITSTATUS = 1; + what = "abort(" + what + "). Build with -s ASSERTIONS=1 for more info."; + var e = new WebAssembly.RuntimeError(what); + readyPromiseReject(e); + throw e; + } + function hasPrefix(str, prefix) { + return String.prototype.startsWith ? str.startsWith(prefix) : str.indexOf(prefix) === 0; + } + var dataURIPrefix = "data:application/octet-stream;base64,"; + function isDataURI(filename) { + return hasPrefix(filename, dataURIPrefix); + } + var fileURIPrefix = "file://"; + function isFileURI(filename) { + return hasPrefix(filename, fileURIPrefix); + } + var wasmBinaryFile = "tfjs-backend-wasm.wasm"; + if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile); + } + function getBinary(file) { + try { + if (file == wasmBinaryFile && wasmBinary) { + return new Uint8Array(wasmBinary); + } + if (readBinary) { + return readBinary(file); + } else { + throw "both async and sync fetching of the wasm failed"; + } + } catch (err2) { + abort(err2); + } + } + function getBinaryPromise() { + if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) { + if (typeof fetch === "function" && !isFileURI(wasmBinaryFile)) { + return fetch(wasmBinaryFile, { credentials: "same-origin" }).then(function(response) { + if (!response["ok"]) { + throw "failed to load wasm binary file at '" + wasmBinaryFile + "'"; + } + return response["arrayBuffer"](); + }).catch(function() { + return getBinary(wasmBinaryFile); + }); + } else { + if (readAsync) { + return new Promise(function(resolve, reject) { + readAsync(wasmBinaryFile, function(response) { + resolve(new Uint8Array(response)); + }, reject); + }); + } + } + } + return Promise.resolve().then(function() { + return getBinary(wasmBinaryFile); + }); + } + function createWasm() { + var info2 = { "a": asmLibraryArg }; + function receiveInstance(instance, module7) { + var exports3 = instance.exports; + Module["asm"] = exports3; + wasmMemory = Module["asm"]["i"]; + updateGlobalBufferAndViews(wasmMemory.buffer); + wasmTable = Module["asm"]["o"]; + removeRunDependency("wasm-instantiate"); + } + addRunDependency("wasm-instantiate"); + function receiveInstantiatedSource(output) { + receiveInstance(output["instance"]); + } + function instantiateArrayBuffer(receiver) { + return getBinaryPromise().then(function(binary) { + return WebAssembly.instantiate(binary, info2); + }).then(receiver, function(reason) { + err("failed to asynchronously prepare wasm: " + reason); + abort(reason); + }); + } + function instantiateAsync() { + if (!wasmBinary && typeof WebAssembly.instantiateStreaming === "function" && !isDataURI(wasmBinaryFile) && !isFileURI(wasmBinaryFile) && typeof fetch === "function") { + return fetch(wasmBinaryFile, { credentials: "same-origin" }).then(function(response) { + var result = WebAssembly.instantiateStreaming(response, info2); + return result.then(receiveInstantiatedSource, function(reason) { + err("wasm streaming compile failed: " + reason); + err("falling back to ArrayBuffer instantiation"); + return instantiateArrayBuffer(receiveInstantiatedSource); + }); + }); + } else { + return instantiateArrayBuffer(receiveInstantiatedSource); + } + } + if (Module["instantiateWasm"]) { + try { + var exports2 = Module["instantiateWasm"](info2, receiveInstance); + return exports2; + } catch (e) { + err("Module.instantiateWasm callback failed with error: " + e); + return false; + } + } + instantiateAsync().catch(readyPromiseReject); + return {}; + } + function callRuntimeCallbacks(callbacks2) { + while (callbacks2.length > 0) { + var callback = callbacks2.shift(); + if (typeof callback == "function") { + callback(Module); + continue; + } + var func2 = callback.func; + if (typeof func2 === "number") { + if (callback.arg === void 0) { + wasmTable.get(func2)(); + } else { + wasmTable.get(func2)(callback.arg); + } + } else { + func2(callback.arg === void 0 ? null : callback.arg); + } + } + } + function _abort() { + abort(); + } + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.copyWithin(dest, src, src + num); + } + function _emscripten_get_heap_size() { + return HEAPU8.length; + } + function emscripten_realloc_buffer(size) { + try { + wasmMemory.grow(size - buffer2.byteLength + 65535 >>> 16); + updateGlobalBufferAndViews(wasmMemory.buffer); + return 1; + } catch (e) { + } + } + function _emscripten_resize_heap(requestedSize) { + var oldSize = _emscripten_get_heap_size(); + var maxHeapSize = 2147483648; + if (requestedSize > maxHeapSize) { + return false; + } + for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { + var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); + overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296); + var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536)); + var replacement = emscripten_realloc_buffer(newSize); + if (replacement) { + return true; + } + } + return false; + } + var SYSCALLS = { mappings: {}, buffers: [null, [], []], printChar: function(stream, curr) { + var buffer3 = SYSCALLS.buffers[stream]; + if (curr === 0 || curr === 10) { + (stream === 1 ? out : err)(UTF8ArrayToString(buffer3, 0)); + buffer3.length = 0; + } else { + buffer3.push(curr); + } + }, varargs: void 0, get: function() { + SYSCALLS.varargs += 4; + var ret = HEAP32[SYSCALLS.varargs - 4 >> 2]; + return ret; + }, getStr: function(ptr) { + var ret = UTF8ToString(ptr); + return ret; + }, get64: function(low, high) { + return low; + } }; + function _fd_close(fd) { + return 0; + } + function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + } + function _fd_write(fd, iov, iovcnt, pnum) { + var num = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[iov + i * 8 >> 2]; + var len = HEAP32[iov + (i * 8 + 4) >> 2]; + for (var j = 0; j < len; j++) { + SYSCALLS.printChar(fd, HEAPU8[ptr + j]); + } + num += len; + } + HEAP32[pnum >> 2] = num; + return 0; + } + function _pthread_create() { + return 6; + } + function setErrNo(value) { + HEAP32[___errno_location() >> 2] = value; + return value; + } + function _sysconf(name6) { + switch (name6) { + case 30: + return 16384; + case 85: + var maxHeapSize = 2147483648; + return maxHeapSize / 16384; + case 132: + case 133: + case 12: + case 137: + case 138: + case 15: + case 235: + case 16: + case 17: + case 18: + case 19: + case 20: + case 149: + case 13: + case 10: + case 236: + case 153: + case 9: + case 21: + case 22: + case 159: + case 154: + case 14: + case 77: + case 78: + case 139: + case 82: + case 68: + case 67: + case 164: + case 11: + case 29: + case 47: + case 48: + case 95: + case 52: + case 51: + case 46: + return 200809; + case 27: + case 246: + case 127: + case 128: + case 23: + case 24: + case 160: + case 161: + case 181: + case 182: + case 242: + case 183: + case 184: + case 243: + case 244: + case 245: + case 165: + case 178: + case 179: + case 49: + case 50: + case 168: + case 169: + case 175: + case 170: + case 171: + case 172: + case 97: + case 76: + case 32: + case 173: + case 35: + case 80: + case 81: + case 79: + return -1; + case 176: + case 177: + case 7: + case 155: + case 8: + case 157: + case 125: + case 126: + case 92: + case 93: + case 129: + case 130: + case 131: + case 94: + case 91: + return 1; + case 74: + case 60: + case 69: + case 70: + case 4: + return 1024; + case 31: + case 42: + case 72: + return 32; + case 87: + case 26: + case 33: + return 2147483647; + case 34: + case 1: + return 47839; + case 38: + case 36: + return 99; + case 43: + case 37: + return 2048; + case 0: + return 2097152; + case 3: + return 65536; + case 28: + return 32768; + case 44: + return 32767; + case 75: + return 16384; + case 39: + return 1e3; + case 89: + return 700; + case 71: + return 256; + case 40: + return 255; + case 2: + return 100; + case 180: + return 64; + case 25: + return 20; + case 5: + return 16; + case 6: + return 6; + case 73: + return 4; + case 84: { + if (typeof navigator === "object") + return navigator["hardwareConcurrency"] || 1; + return 1; + } + } + setErrNo(28); + return -1; + } + var asmLibraryArg = { "a": _abort, "d": _emscripten_memcpy_big, "e": _emscripten_resize_heap, "f": _fd_close, "c": _fd_seek, "b": _fd_write, "g": _pthread_create, "h": _sysconf }; + var asm = createWasm(); + var ___wasm_call_ctors = Module["___wasm_call_ctors"] = function() { + return (___wasm_call_ctors = Module["___wasm_call_ctors"] = Module["asm"]["j"]).apply(null, arguments); + }; + var _init = Module["_init"] = function() { + return (_init = Module["_init"] = Module["asm"]["k"]).apply(null, arguments); + }; + var _register_tensor = Module["_register_tensor"] = function() { + return (_register_tensor = Module["_register_tensor"] = Module["asm"]["l"]).apply(null, arguments); + }; + var _dispose_data = Module["_dispose_data"] = function() { + return (_dispose_data = Module["_dispose_data"] = Module["asm"]["m"]).apply(null, arguments); + }; + var _dispose = Module["_dispose"] = function() { + return (_dispose = Module["_dispose"] = Module["asm"]["n"]).apply(null, arguments); + }; + var _Abs = Module["_Abs"] = function() { + return (_Abs = Module["_Abs"] = Module["asm"]["p"]).apply(null, arguments); + }; + var _Add = Module["_Add"] = function() { + return (_Add = Module["_Add"] = Module["asm"]["q"]).apply(null, arguments); + }; + var _AddN = Module["_AddN"] = function() { + return (_AddN = Module["_AddN"] = Module["asm"]["r"]).apply(null, arguments); + }; + var _All = Module["_All"] = function() { + return (_All = Module["_All"] = Module["asm"]["s"]).apply(null, arguments); + }; + var _Any = Module["_Any"] = function() { + return (_Any = Module["_Any"] = Module["asm"]["t"]).apply(null, arguments); + }; + var _ArgMax = Module["_ArgMax"] = function() { + return (_ArgMax = Module["_ArgMax"] = Module["asm"]["u"]).apply(null, arguments); + }; + var _AvgPool = Module["_AvgPool"] = function() { + return (_AvgPool = Module["_AvgPool"] = Module["asm"]["v"]).apply(null, arguments); + }; + var _BatchMatMul = Module["_BatchMatMul"] = function() { + return (_BatchMatMul = Module["_BatchMatMul"] = Module["asm"]["w"]).apply(null, arguments); + }; + var _Ceil = Module["_Ceil"] = function() { + return (_Ceil = Module["_Ceil"] = Module["asm"]["x"]).apply(null, arguments); + }; + var _ClipByValue = Module["_ClipByValue"] = function() { + return (_ClipByValue = Module["_ClipByValue"] = Module["asm"]["y"]).apply(null, arguments); + }; + var _Conv2D = Module["_Conv2D"] = function() { + return (_Conv2D = Module["_Conv2D"] = Module["asm"]["z"]).apply(null, arguments); + }; + var _Conv2DBackpropInput = Module["_Conv2DBackpropInput"] = function() { + return (_Conv2DBackpropInput = Module["_Conv2DBackpropInput"] = Module["asm"]["A"]).apply(null, arguments); + }; + var _Cos = Module["_Cos"] = function() { + return (_Cos = Module["_Cos"] = Module["asm"]["B"]).apply(null, arguments); + }; + var _CropAndResize = Module["_CropAndResize"] = function() { + return (_CropAndResize = Module["_CropAndResize"] = Module["asm"]["C"]).apply(null, arguments); + }; + var _Cumsum = Module["_Cumsum"] = function() { + return (_Cumsum = Module["_Cumsum"] = Module["asm"]["D"]).apply(null, arguments); + }; + var _DepthToSpace = Module["_DepthToSpace"] = function() { + return (_DepthToSpace = Module["_DepthToSpace"] = Module["asm"]["E"]).apply(null, arguments); + }; + var _DepthwiseConv2dNative = Module["_DepthwiseConv2dNative"] = function() { + return (_DepthwiseConv2dNative = Module["_DepthwiseConv2dNative"] = Module["asm"]["F"]).apply(null, arguments); + }; + var _Equal = Module["_Equal"] = function() { + return (_Equal = Module["_Equal"] = Module["asm"]["G"]).apply(null, arguments); + }; + var _Exp = Module["_Exp"] = function() { + return (_Exp = Module["_Exp"] = Module["asm"]["H"]).apply(null, arguments); + }; + var _FlipLeftRight = Module["_FlipLeftRight"] = function() { + return (_FlipLeftRight = Module["_FlipLeftRight"] = Module["asm"]["I"]).apply(null, arguments); + }; + var _Floor = Module["_Floor"] = function() { + return (_Floor = Module["_Floor"] = Module["asm"]["J"]).apply(null, arguments); + }; + var _FloorDiv = Module["_FloorDiv"] = function() { + return (_FloorDiv = Module["_FloorDiv"] = Module["asm"]["K"]).apply(null, arguments); + }; + var _FusedBatchNorm = Module["_FusedBatchNorm"] = function() { + return (_FusedBatchNorm = Module["_FusedBatchNorm"] = Module["asm"]["L"]).apply(null, arguments); + }; + var _FusedConv2D = Module["_FusedConv2D"] = function() { + return (_FusedConv2D = Module["_FusedConv2D"] = Module["asm"]["M"]).apply(null, arguments); + }; + var _FusedDepthwiseConv2D = Module["_FusedDepthwiseConv2D"] = function() { + return (_FusedDepthwiseConv2D = Module["_FusedDepthwiseConv2D"] = Module["asm"]["N"]).apply(null, arguments); + }; + var _Gather = Module["_Gather"] = function() { + return (_Gather = Module["_Gather"] = Module["asm"]["O"]).apply(null, arguments); + }; + var _GatherNd = Module["_GatherNd"] = function() { + return (_GatherNd = Module["_GatherNd"] = Module["asm"]["P"]).apply(null, arguments); + }; + var _Greater = Module["_Greater"] = function() { + return (_Greater = Module["_Greater"] = Module["asm"]["Q"]).apply(null, arguments); + }; + var _GreaterEqual = Module["_GreaterEqual"] = function() { + return (_GreaterEqual = Module["_GreaterEqual"] = Module["asm"]["R"]).apply(null, arguments); + }; + var _LeakyRelu = Module["_LeakyRelu"] = function() { + return (_LeakyRelu = Module["_LeakyRelu"] = Module["asm"]["S"]).apply(null, arguments); + }; + var _Less = Module["_Less"] = function() { + return (_Less = Module["_Less"] = Module["asm"]["T"]).apply(null, arguments); + }; + var _LessEqual = Module["_LessEqual"] = function() { + return (_LessEqual = Module["_LessEqual"] = Module["asm"]["U"]).apply(null, arguments); + }; + var _Log = Module["_Log"] = function() { + return (_Log = Module["_Log"] = Module["asm"]["V"]).apply(null, arguments); + }; + var _LogicalAnd = Module["_LogicalAnd"] = function() { + return (_LogicalAnd = Module["_LogicalAnd"] = Module["asm"]["W"]).apply(null, arguments); + }; + var _Max = Module["_Max"] = function() { + return (_Max = Module["_Max"] = Module["asm"]["X"]).apply(null, arguments); + }; + var _MaxPool = Module["_MaxPool"] = function() { + return (_MaxPool = Module["_MaxPool"] = Module["asm"]["Y"]).apply(null, arguments); + }; + var _Maximum = Module["_Maximum"] = function() { + return (_Maximum = Module["_Maximum"] = Module["asm"]["Z"]).apply(null, arguments); + }; + var _Mean = Module["_Mean"] = function() { + return (_Mean = Module["_Mean"] = Module["asm"]["_"]).apply(null, arguments); + }; + var _Min = Module["_Min"] = function() { + return (_Min = Module["_Min"] = Module["asm"]["$"]).apply(null, arguments); + }; + var _Minimum = Module["_Minimum"] = function() { + return (_Minimum = Module["_Minimum"] = Module["asm"]["aa"]).apply(null, arguments); + }; + var _MirrorPad = Module["_MirrorPad"] = function() { + return (_MirrorPad = Module["_MirrorPad"] = Module["asm"]["ba"]).apply(null, arguments); + }; + var _Multiply = Module["_Multiply"] = function() { + return (_Multiply = Module["_Multiply"] = Module["asm"]["ca"]).apply(null, arguments); + }; + var _Neg = Module["_Neg"] = function() { + return (_Neg = Module["_Neg"] = Module["asm"]["da"]).apply(null, arguments); + }; + var _NonMaxSuppressionV3 = Module["_NonMaxSuppressionV3"] = function() { + return (_NonMaxSuppressionV3 = Module["_NonMaxSuppressionV3"] = Module["asm"]["ea"]).apply(null, arguments); + }; + var _NonMaxSuppressionV4 = Module["_NonMaxSuppressionV4"] = function() { + return (_NonMaxSuppressionV4 = Module["_NonMaxSuppressionV4"] = Module["asm"]["fa"]).apply(null, arguments); + }; + var _NonMaxSuppressionV5 = Module["_NonMaxSuppressionV5"] = function() { + return (_NonMaxSuppressionV5 = Module["_NonMaxSuppressionV5"] = Module["asm"]["ga"]).apply(null, arguments); + }; + var _NotEqual = Module["_NotEqual"] = function() { + return (_NotEqual = Module["_NotEqual"] = Module["asm"]["ha"]).apply(null, arguments); + }; + var _OneHot = Module["_OneHot"] = function() { + return (_OneHot = Module["_OneHot"] = Module["asm"]["ia"]).apply(null, arguments); + }; + var _PadV2 = Module["_PadV2"] = function() { + return (_PadV2 = Module["_PadV2"] = Module["asm"]["ja"]).apply(null, arguments); + }; + var _Pow = Module["_Pow"] = function() { + return (_Pow = Module["_Pow"] = Module["asm"]["ka"]).apply(null, arguments); + }; + var _Prelu = Module["_Prelu"] = function() { + return (_Prelu = Module["_Prelu"] = Module["asm"]["la"]).apply(null, arguments); + }; + var _Prod = Module["_Prod"] = function() { + return (_Prod = Module["_Prod"] = Module["asm"]["ma"]).apply(null, arguments); + }; + var _RealDiv = Module["_RealDiv"] = function() { + return (_RealDiv = Module["_RealDiv"] = Module["asm"]["na"]).apply(null, arguments); + }; + var _Relu = Module["_Relu"] = function() { + return (_Relu = Module["_Relu"] = Module["asm"]["oa"]).apply(null, arguments); + }; + var _Relu6 = Module["_Relu6"] = function() { + return (_Relu6 = Module["_Relu6"] = Module["asm"]["pa"]).apply(null, arguments); + }; + var _ResizeBilinear = Module["_ResizeBilinear"] = function() { + return (_ResizeBilinear = Module["_ResizeBilinear"] = Module["asm"]["qa"]).apply(null, arguments); + }; + var _Reverse = Module["_Reverse"] = function() { + return (_Reverse = Module["_Reverse"] = Module["asm"]["ra"]).apply(null, arguments); + }; + var _RotateWithOffset = Module["_RotateWithOffset"] = function() { + return (_RotateWithOffset = Module["_RotateWithOffset"] = Module["asm"]["sa"]).apply(null, arguments); + }; + var _Round = Module["_Round"] = function() { + return (_Round = Module["_Round"] = Module["asm"]["ta"]).apply(null, arguments); + }; + var _Rsqrt = Module["_Rsqrt"] = function() { + return (_Rsqrt = Module["_Rsqrt"] = Module["asm"]["ua"]).apply(null, arguments); + }; + var _ScatterNd = Module["_ScatterNd"] = function() { + return (_ScatterNd = Module["_ScatterNd"] = Module["asm"]["va"]).apply(null, arguments); + }; + var _SelectV2 = Module["_SelectV2"] = function() { + return (_SelectV2 = Module["_SelectV2"] = Module["asm"]["wa"]).apply(null, arguments); + }; + var _Sigmoid = Module["_Sigmoid"] = function() { + return (_Sigmoid = Module["_Sigmoid"] = Module["asm"]["xa"]).apply(null, arguments); + }; + var _Sin = Module["_Sin"] = function() { + return (_Sin = Module["_Sin"] = Module["asm"]["ya"]).apply(null, arguments); + }; + var _Softmax = Module["_Softmax"] = function() { + return (_Softmax = Module["_Softmax"] = Module["asm"]["za"]).apply(null, arguments); + }; + var _Sqrt = Module["_Sqrt"] = function() { + return (_Sqrt = Module["_Sqrt"] = Module["asm"]["Aa"]).apply(null, arguments); + }; + var _Square = Module["_Square"] = function() { + return (_Square = Module["_Square"] = Module["asm"]["Ba"]).apply(null, arguments); + }; + var _SquaredDifference = Module["_SquaredDifference"] = function() { + return (_SquaredDifference = Module["_SquaredDifference"] = Module["asm"]["Ca"]).apply(null, arguments); + }; + var _Step = Module["_Step"] = function() { + return (_Step = Module["_Step"] = Module["asm"]["Da"]).apply(null, arguments); + }; + var _StridedSlice = Module["_StridedSlice"] = function() { + return (_StridedSlice = Module["_StridedSlice"] = Module["asm"]["Ea"]).apply(null, arguments); + }; + var _Sub = Module["_Sub"] = function() { + return (_Sub = Module["_Sub"] = Module["asm"]["Fa"]).apply(null, arguments); + }; + var _Sum = Module["_Sum"] = function() { + return (_Sum = Module["_Sum"] = Module["asm"]["Ga"]).apply(null, arguments); + }; + var _Tan = Module["_Tan"] = function() { + return (_Tan = Module["_Tan"] = Module["asm"]["Ha"]).apply(null, arguments); + }; + var _Tanh = Module["_Tanh"] = function() { + return (_Tanh = Module["_Tanh"] = Module["asm"]["Ia"]).apply(null, arguments); + }; + var _Tile = Module["_Tile"] = function() { + return (_Tile = Module["_Tile"] = Module["asm"]["Ja"]).apply(null, arguments); + }; + var _TopK = Module["_TopK"] = function() { + return (_TopK = Module["_TopK"] = Module["asm"]["Ka"]).apply(null, arguments); + }; + var _Transform = Module["_Transform"] = function() { + return (_Transform = Module["_Transform"] = Module["asm"]["La"]).apply(null, arguments); + }; + var _Transpose = Module["_Transpose"] = function() { + return (_Transpose = Module["_Transpose"] = Module["asm"]["Ma"]).apply(null, arguments); + }; + var __FusedMatMul = Module["__FusedMatMul"] = function() { + return (__FusedMatMul = Module["__FusedMatMul"] = Module["asm"]["Na"]).apply(null, arguments); + }; + var _malloc = Module["_malloc"] = function() { + return (_malloc = Module["_malloc"] = Module["asm"]["Oa"]).apply(null, arguments); + }; + var _free = Module["_free"] = function() { + return (_free = Module["_free"] = Module["asm"]["Pa"]).apply(null, arguments); + }; + var ___errno_location = Module["___errno_location"] = function() { + return (___errno_location = Module["___errno_location"] = Module["asm"]["Qa"]).apply(null, arguments); + }; + var stackSave = Module["stackSave"] = function() { + return (stackSave = Module["stackSave"] = Module["asm"]["Ra"]).apply(null, arguments); + }; + var stackRestore = Module["stackRestore"] = function() { + return (stackRestore = Module["stackRestore"] = Module["asm"]["Sa"]).apply(null, arguments); + }; + var stackAlloc = Module["stackAlloc"] = function() { + return (stackAlloc = Module["stackAlloc"] = Module["asm"]["Ta"]).apply(null, arguments); + }; + Module["cwrap"] = cwrap; + var calledRun; + function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; + } + dependenciesFulfilled = function runCaller() { + if (!calledRun) + run(); + if (!calledRun) + dependenciesFulfilled = runCaller; + }; + function run(args) { + args = args || arguments_; + if (runDependencies > 0) { + return; + } + preRun(); + if (runDependencies > 0) { + return; + } + function doRun() { + if (calledRun) + return; + calledRun = true; + Module["calledRun"] = true; + if (ABORT) + return; + initRuntime(); + preMain(); + readyPromiseResolve(Module); + if (Module["onRuntimeInitialized"]) + Module["onRuntimeInitialized"](); + postRun(); + } + if (Module["setStatus"]) { + Module["setStatus"]("Running..."); + setTimeout(function() { + setTimeout(function() { + Module["setStatus"](""); + }, 1); + doRun(); + }, 1); + } else { + doRun(); + } + } + Module["run"] = run; + if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") + Module["preInit"] = [Module["preInit"]]; + while (Module["preInit"].length > 0) { + Module["preInit"].pop()(); + } + } + run(); + return WasmBackendModule2.ready; + }; + }(); + if (typeof exports === "object" && typeof module6 === "object") + module6.exports = WasmBackendModule; + else if (typeof define === "function" && define["amd"]) + define([], function() { + return WasmBackendModule; + }); + else if (typeof exports === "object") + exports["WasmBackendModule"] = WasmBackendModule; + } +}); +var require_alea2 = __commonJS({ + "node_modules/.pnpm/seedrandom@3.0.5/node_modules/seedrandom/lib/alea.js"(exports, module6) { + (function(global2, module7, define2) { + function Alea(seed) { + var me = this, mash = Mash(); + me.next = function() { + var t = 2091639 * me.s0 + me.c * 23283064365386963e-26; + me.s0 = me.s1; + me.s1 = me.s2; + return me.s2 = t - (me.c = t | 0); + }; + me.c = 1; + me.s0 = mash(" "); + me.s1 = mash(" "); + me.s2 = mash(" "); + me.s0 -= mash(seed); + if (me.s0 < 0) { + me.s0 += 1; + } + me.s1 -= mash(seed); + if (me.s1 < 0) { + me.s1 += 1; + } + me.s2 -= mash(seed); + if (me.s2 < 0) { + me.s2 += 1; + } + mash = null; + } + function copy(f, t) { + t.c = f.c; + t.s0 = f.s0; + t.s1 = f.s1; + t.s2 = f.s2; + return t; + } + function impl(seed, opts) { + var xg = new Alea(seed), state = opts && opts.state, prng = xg.next; + prng.int32 = function() { + return xg.next() * 4294967296 | 0; + }; + prng.double = function() { + return prng() + (prng() * 2097152 | 0) * 11102230246251565e-32; + }; + prng.quick = prng; + if (state) { + if (typeof state == "object") + copy(state, xg); + prng.state = function() { + return copy(xg, {}); + }; + } + return prng; + } + function Mash() { + var n = 4022871197; + var mash = function(data) { + data = String(data); + for (var i = 0; i < data.length; i++) { + n += data.charCodeAt(i); + var h = 0.02519603282416938 * n; + n = h >>> 0; + h -= n; + h *= n; + n = h >>> 0; + h -= n; + n += h * 4294967296; + } + return (n >>> 0) * 23283064365386963e-26; + }; + return mash; + } + if (module7 && module7.exports) { + module7.exports = impl; + } else if (define2 && define2.amd) { + define2(function() { + return impl; + }); + } else { + this.alea = impl; + } + })(exports, typeof module6 == "object" && module6, typeof define == "function" && define); + } +}); +var require_xor1282 = __commonJS({ + "node_modules/.pnpm/seedrandom@3.0.5/node_modules/seedrandom/lib/xor128.js"(exports, module6) { + (function(global2, module7, define2) { + function XorGen(seed) { + var me = this, strseed = ""; + me.x = 0; + me.y = 0; + me.z = 0; + me.w = 0; + me.next = function() { + var t = me.x ^ me.x << 11; + me.x = me.y; + me.y = me.z; + me.z = me.w; + return me.w ^= me.w >>> 19 ^ t ^ t >>> 8; + }; + if (seed === (seed | 0)) { + me.x = seed; + } else { + strseed += seed; + } + for (var k = 0; k < strseed.length + 64; k++) { + me.x ^= strseed.charCodeAt(k) | 0; + me.next(); + } + } + function copy(f, t) { + t.x = f.x; + t.y = f.y; + t.z = f.z; + t.w = f.w; + return t; + } + function impl(seed, opts) { + var xg = new XorGen(seed), state = opts && opts.state, prng = function() { + return (xg.next() >>> 0) / 4294967296; + }; + prng.double = function() { + do { + var top = xg.next() >>> 11, bot = (xg.next() >>> 0) / 4294967296, result = (top + bot) / (1 << 21); + } while (result === 0); + return result; + }; + prng.int32 = xg.next; + prng.quick = prng; + if (state) { + if (typeof state == "object") + copy(state, xg); + prng.state = function() { + return copy(xg, {}); + }; + } + return prng; + } + if (module7 && module7.exports) { + module7.exports = impl; + } else if (define2 && define2.amd) { + define2(function() { + return impl; + }); + } else { + this.xor128 = impl; + } + })(exports, typeof module6 == "object" && module6, typeof define == "function" && define); + } +}); +var require_xorwow2 = __commonJS({ + "node_modules/.pnpm/seedrandom@3.0.5/node_modules/seedrandom/lib/xorwow.js"(exports, module6) { + (function(global2, module7, define2) { + function XorGen(seed) { + var me = this, strseed = ""; + me.next = function() { + var t = me.x ^ me.x >>> 2; + me.x = me.y; + me.y = me.z; + me.z = me.w; + me.w = me.v; + return (me.d = me.d + 362437 | 0) + (me.v = me.v ^ me.v << 4 ^ (t ^ t << 1)) | 0; + }; + me.x = 0; + me.y = 0; + me.z = 0; + me.w = 0; + me.v = 0; + if (seed === (seed | 0)) { + me.x = seed; + } else { + strseed += seed; + } + for (var k = 0; k < strseed.length + 64; k++) { + me.x ^= strseed.charCodeAt(k) | 0; + if (k == strseed.length) { + me.d = me.x << 10 ^ me.x >>> 4; + } + me.next(); + } + } + function copy(f, t) { + t.x = f.x; + t.y = f.y; + t.z = f.z; + t.w = f.w; + t.v = f.v; + t.d = f.d; + return t; + } + function impl(seed, opts) { + var xg = new XorGen(seed), state = opts && opts.state, prng = function() { + return (xg.next() >>> 0) / 4294967296; + }; + prng.double = function() { + do { + var top = xg.next() >>> 11, bot = (xg.next() >>> 0) / 4294967296, result = (top + bot) / (1 << 21); + } while (result === 0); + return result; + }; + prng.int32 = xg.next; + prng.quick = prng; + if (state) { + if (typeof state == "object") + copy(state, xg); + prng.state = function() { + return copy(xg, {}); + }; + } + return prng; + } + if (module7 && module7.exports) { + module7.exports = impl; + } else if (define2 && define2.amd) { + define2(function() { + return impl; + }); + } else { + this.xorwow = impl; + } + })(exports, typeof module6 == "object" && module6, typeof define == "function" && define); + } +}); +var require_xorshift72 = __commonJS({ + "node_modules/.pnpm/seedrandom@3.0.5/node_modules/seedrandom/lib/xorshift7.js"(exports, module6) { + (function(global2, module7, define2) { + function XorGen(seed) { + var me = this; + me.next = function() { + var X = me.x, i = me.i, t, v, w; + t = X[i]; + t ^= t >>> 7; + v = t ^ t << 24; + t = X[i + 1 & 7]; + v ^= t ^ t >>> 10; + t = X[i + 3 & 7]; + v ^= t ^ t >>> 3; + t = X[i + 4 & 7]; + v ^= t ^ t << 7; + t = X[i + 7 & 7]; + t = t ^ t << 13; + v ^= t ^ t << 9; + X[i] = v; + me.i = i + 1 & 7; + return v; + }; + function init2(me2, seed2) { + var j, w, X = []; + if (seed2 === (seed2 | 0)) { + w = X[0] = seed2; + } else { + seed2 = "" + seed2; + for (j = 0; j < seed2.length; ++j) { + X[j & 7] = X[j & 7] << 15 ^ seed2.charCodeAt(j) + X[j + 1 & 7] << 13; + } + } + while (X.length < 8) + X.push(0); + for (j = 0; j < 8 && X[j] === 0; ++j) + ; + if (j == 8) + w = X[7] = -1; + else + w = X[j]; + me2.x = X; + me2.i = 0; + for (j = 256; j > 0; --j) { + me2.next(); + } + } + init2(me, seed); + } + function copy(f, t) { + t.x = f.x.slice(); + t.i = f.i; + return t; + } + function impl(seed, opts) { + if (seed == null) + seed = +new Date(); + var xg = new XorGen(seed), state = opts && opts.state, prng = function() { + return (xg.next() >>> 0) / 4294967296; + }; + prng.double = function() { + do { + var top = xg.next() >>> 11, bot = (xg.next() >>> 0) / 4294967296, result = (top + bot) / (1 << 21); + } while (result === 0); + return result; + }; + prng.int32 = xg.next; + prng.quick = prng; + if (state) { + if (state.x) + copy(state, xg); + prng.state = function() { + return copy(xg, {}); + }; + } + return prng; + } + if (module7 && module7.exports) { + module7.exports = impl; + } else if (define2 && define2.amd) { + define2(function() { + return impl; + }); + } else { + this.xorshift7 = impl; + } + })(exports, typeof module6 == "object" && module6, typeof define == "function" && define); + } +}); +var require_xor40962 = __commonJS({ + "node_modules/.pnpm/seedrandom@3.0.5/node_modules/seedrandom/lib/xor4096.js"(exports, module6) { + (function(global2, module7, define2) { + function XorGen(seed) { + var me = this; + me.next = function() { + var w = me.w, X = me.X, i = me.i, t, v; + me.w = w = w + 1640531527 | 0; + v = X[i + 34 & 127]; + t = X[i = i + 1 & 127]; + v ^= v << 13; + t ^= t << 17; + v ^= v >>> 15; + t ^= t >>> 12; + v = X[i] = v ^ t; + me.i = i; + return v + (w ^ w >>> 16) | 0; + }; + function init2(me2, seed2) { + var t, v, i, j, w, X = [], limit = 128; + if (seed2 === (seed2 | 0)) { + v = seed2; + seed2 = null; + } else { + seed2 = seed2 + "\0"; + v = 0; + limit = Math.max(limit, seed2.length); + } + for (i = 0, j = -32; j < limit; ++j) { + if (seed2) + v ^= seed2.charCodeAt((j + 32) % seed2.length); + if (j === 0) + w = v; + v ^= v << 10; + v ^= v >>> 15; + v ^= v << 4; + v ^= v >>> 13; + if (j >= 0) { + w = w + 1640531527 | 0; + t = X[j & 127] ^= v + w; + i = t == 0 ? i + 1 : 0; + } + } + if (i >= 128) { + X[(seed2 && seed2.length || 0) & 127] = -1; + } + i = 127; + for (j = 4 * 128; j > 0; --j) { + v = X[i + 34 & 127]; + t = X[i = i + 1 & 127]; + v ^= v << 13; + t ^= t << 17; + v ^= v >>> 15; + t ^= t >>> 12; + X[i] = v ^ t; + } + me2.w = w; + me2.X = X; + me2.i = i; + } + init2(me, seed); + } + function copy(f, t) { + t.i = f.i; + t.w = f.w; + t.X = f.X.slice(); + return t; + } + ; + function impl(seed, opts) { + if (seed == null) + seed = +new Date(); + var xg = new XorGen(seed), state = opts && opts.state, prng = function() { + return (xg.next() >>> 0) / 4294967296; + }; + prng.double = function() { + do { + var top = xg.next() >>> 11, bot = (xg.next() >>> 0) / 4294967296, result = (top + bot) / (1 << 21); + } while (result === 0); + return result; + }; + prng.int32 = xg.next; + prng.quick = prng; + if (state) { + if (state.X) + copy(state, xg); + prng.state = function() { + return copy(xg, {}); + }; + } + return prng; + } + if (module7 && module7.exports) { + module7.exports = impl; + } else if (define2 && define2.amd) { + define2(function() { + return impl; + }); + } else { + this.xor4096 = impl; + } + })(exports, typeof module6 == "object" && module6, typeof define == "function" && define); + } +}); +var require_tychei2 = __commonJS({ + "node_modules/.pnpm/seedrandom@3.0.5/node_modules/seedrandom/lib/tychei.js"(exports, module6) { + (function(global2, module7, define2) { + function XorGen(seed) { + var me = this, strseed = ""; + me.next = function() { + var b = me.b, c = me.c, d = me.d, a = me.a; + b = b << 25 ^ b >>> 7 ^ c; + c = c - d | 0; + d = d << 24 ^ d >>> 8 ^ a; + a = a - b | 0; + me.b = b = b << 20 ^ b >>> 12 ^ c; + me.c = c = c - d | 0; + me.d = d << 16 ^ c >>> 16 ^ a; + return me.a = a - b | 0; + }; + me.a = 0; + me.b = 0; + me.c = 2654435769 | 0; + me.d = 1367130551; + if (seed === Math.floor(seed)) { + me.a = seed / 4294967296 | 0; + me.b = seed | 0; + } else { + strseed += seed; + } + for (var k = 0; k < strseed.length + 20; k++) { + me.b ^= strseed.charCodeAt(k) | 0; + me.next(); + } + } + function copy(f, t) { + t.a = f.a; + t.b = f.b; + t.c = f.c; + t.d = f.d; + return t; + } + ; + function impl(seed, opts) { + var xg = new XorGen(seed), state = opts && opts.state, prng = function() { + return (xg.next() >>> 0) / 4294967296; + }; + prng.double = function() { + do { + var top = xg.next() >>> 11, bot = (xg.next() >>> 0) / 4294967296, result = (top + bot) / (1 << 21); + } while (result === 0); + return result; + }; + prng.int32 = xg.next; + prng.quick = prng; + if (state) { + if (typeof state == "object") + copy(state, xg); + prng.state = function() { + return copy(xg, {}); + }; + } + return prng; + } + if (module7 && module7.exports) { + module7.exports = impl; + } else if (define2 && define2.amd) { + define2(function() { + return impl; + }); + } else { + this.tychei = impl; + } + })(exports, typeof module6 == "object" && module6, typeof define == "function" && define); + } +}); +var require_seedrandom3 = __commonJS({ + "node_modules/.pnpm/seedrandom@3.0.5/node_modules/seedrandom/seedrandom.js"(exports, module6) { + (function(global2, pool3, math) { + var width = 256, chunks = 6, digits = 52, rngname = "random", startdenom = math.pow(width, chunks), significance = math.pow(2, digits), overflow = significance * 2, mask = width - 1, nodecrypto; + function seedrandom5(seed, options2, callback) { + var key = []; + options2 = options2 == true ? { entropy: true } : options2 || {}; + var shortseed = mixkey(flatten4(options2.entropy ? [seed, tostring(pool3)] : seed == null ? autoseed() : seed, 3), key); + var arc4 = new ARC4(key); + var prng = function() { + var n = arc4.g(chunks), d = startdenom, x = 0; + while (n < significance) { + n = (n + x) * width; + d *= width; + x = arc4.g(1); + } + while (n >= overflow) { + n /= 2; + d /= 2; + x >>>= 1; + } + return (n + x) / d; + }; + prng.int32 = function() { + return arc4.g(4) | 0; + }; + prng.quick = function() { + return arc4.g(4) / 4294967296; + }; + prng.double = prng; + mixkey(tostring(arc4.S), pool3); + return (options2.pass || callback || function(prng2, seed2, is_math_call, state) { + if (state) { + if (state.S) { + copy(state, arc4); + } + prng2.state = function() { + return copy(arc4, {}); + }; + } + if (is_math_call) { + math[rngname] = prng2; + return seed2; + } else + return prng2; + })(prng, shortseed, "global" in options2 ? options2.global : this == math, options2.state); + } + function ARC4(key) { + var t, keylen = key.length, me = this, i = 0, j = me.i = me.j = 0, s = me.S = []; + if (!keylen) { + key = [keylen++]; + } + while (i < width) { + s[i] = i++; + } + for (i = 0; i < width; i++) { + s[i] = s[j = mask & j + key[i % keylen] + (t = s[i])]; + s[j] = t; + } + (me.g = function(count22) { + var t2, r = 0, i2 = me.i, j2 = me.j, s2 = me.S; + while (count22--) { + t2 = s2[i2 = mask & i2 + 1]; + r = r * width + s2[mask & (s2[i2] = s2[j2 = mask & j2 + t2]) + (s2[j2] = t2)]; + } + me.i = i2; + me.j = j2; + return r; + })(width); + } + function copy(f, t) { + t.i = f.i; + t.j = f.j; + t.S = f.S.slice(); + return t; + } + ; + function flatten4(obj, depth) { + var result = [], typ = typeof obj, prop; + if (depth && typ == "object") { + for (prop in obj) { + try { + result.push(flatten4(obj[prop], depth - 1)); + } catch (e) { + } + } + } + return result.length ? result : typ == "string" ? obj : obj + "\0"; + } + function mixkey(seed, key) { + var stringseed = seed + "", smear, j = 0; + while (j < stringseed.length) { + key[mask & j] = mask & (smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++); + } + return tostring(key); + } + function autoseed() { + try { + var out; + if (nodecrypto && (out = nodecrypto.randomBytes)) { + out = out(width); + } else { + out = new Uint8Array(width); + (global2.crypto || global2.msCrypto).getRandomValues(out); + } + return tostring(out); + } catch (e) { + var browser4 = global2.navigator, plugins = browser4 && browser4.plugins; + return [+new Date(), global2, plugins, global2.screen, tostring(pool3)]; + } + } + function tostring(a) { + return String.fromCharCode.apply(0, a); + } + mixkey(math.random(), pool3); + if (typeof module6 == "object" && module6.exports) { + module6.exports = seedrandom5; + try { + nodecrypto = require_crypto(); + } catch (ex) { + } + } else if (typeof define == "function" && define.amd) { + define(function() { + return seedrandom5; + }); + } else { + math["seed" + rngname] = seedrandom5; + } + })(typeof self !== "undefined" ? self : exports, [], Math); + } +}); +var require_seedrandom4 = __commonJS({ + "node_modules/.pnpm/seedrandom@3.0.5/node_modules/seedrandom/index.js"(exports, module6) { + var alea5 = require_alea2(); + var xor128 = require_xor1282(); + var xorwow = require_xorwow2(); + var xorshift7 = require_xorshift72(); + var xor4096 = require_xor40962(); + var tychei = require_tychei2(); + var sr = require_seedrandom3(); + sr.alea = alea5; + sr.xor128 = xor128; + sr.xorwow = xorwow; + sr.xorshift7 = xorshift7; + sr.xor4096 = xor4096; + sr.tychei = tychei; + module6.exports = sr; + } +}); +var require_string_decoder = __commonJS({ + "(disabled):node_modules/.pnpm/string_decoder@1.1.1/node_modules/string_decoder/lib/string_decoder.js"() { + } +}); +var package_exports = {}; +__export2(package_exports, { + bin: () => bin, + browser: () => browser, + default: () => package_default, + dependencies: () => dependencies, + description: () => description, + devDependencies: () => devDependencies, + jsdelivr: () => jsdelivr, + license: () => license, + main: () => main, + miniprogram: () => miniprogram, + module: () => module, + name: () => name, + private: () => private2, + repository: () => repository, + scripts: () => scripts, + types: () => types, + unpkg: () => unpkg, + version: () => version +}); +var name = "@tensorflow/tfjs"; +var version = "3.6.0"; +var description = "An open-source machine learning framework."; +var private2 = false; +var main = "dist/tf.node.js"; +var module = "dist/index.js"; +var jsdelivr = "dist/tf.min.js"; +var unpkg = "dist/tf.min.js"; +var types = "dist/index.d.ts"; +var miniprogram = "dist/miniprogram"; +var bin = { + "tfjs-custom-module": "dist/tools/custom_module/cli.js" +}; +var repository = { + type: "git", + url: "https://github.com/tensorflow/tfjs.git" +}; +var license = "Apache-2.0"; +var devDependencies = { + "@babel/core": "^7.9.0", + "@babel/polyfill": "^7.10.4", + "@babel/preset-env": "^7.9.5", + "@rollup/plugin-commonjs": "^11.0.2", + "@rollup/plugin-node-resolve": "^7.1.1", + "@rollup/plugin-typescript": "^3.0.0", + "@types/argparse": "^1.0.38", + "@types/jasmine": "2.8.7", + "@types/node": "~10.17.50", + "@types/shelljs": "^0.8.4", + "@types/yargs": "^15.0.7", + "clang-format": "~1.2.2", + commander: "~2.14.1", + jasmine: "3.1.0", + "jasmine-core": "~3.1.0", + karma: "~6.3.2", + "karma-browserstack-launcher": "~1.6.0", + "karma-chrome-launcher": "~2.2.0", + "karma-firefox-launcher": "~1.1.0", + "karma-jasmine": "~1.1.1", + "karma-typescript": "~5.5.1", + "karma-typescript-es6-transform": "^5.5.1", + "npm-run-all": "~4.1.3", + rimraf: "~2.6.2", + rollup: "~2.3.2", + "rollup-plugin-babel": "^4.4.0", + "rollup-plugin-terser": "~7.0.2", + "rollup-plugin-visualizer": "~4.2.2", + shelljs: "~0.8.1", + "ts-node": "~8.8.2", + tslint: "~5.11.0", + "tslint-no-circular-imports": "~0.5.0", + typescript: "3.5.3", + yalc: "1.0.0-pre.50" +}; +var scripts = { + build: "tsc && yarn build-cli && yarn bundle", + "build-ci": "tsc && yarn build-cli && yarn bundle-ci", + bundle: "rollup -c", + "bundle-ci": "rollup -c --ci", + "build-core": "cd ../tfjs-core && yarn && yarn build", + "build-core-ci": "cd ../tfjs-core && yarn && yarn build-ci", + "build-layers": "cd ../tfjs-layers && yarn && yarn build", + "build-layers-ci": "cd ../tfjs-layers && yarn && yarn build-ci", + "build-converter": "cd ../tfjs-converter && yarn && yarn build", + "build-converter-ci": "cd ../tfjs-converter && yarn && yarn build-ci", + "build-data": "cd ../tfjs-data && yarn && yarn build", + "build-data-ci": "cd ../tfjs-data && yarn && yarn build-ci", + "build-backend-cpu": "cd ../tfjs-backend-cpu && yarn && yarn build", + "build-backend-cpu-ci": "cd ../tfjs-backend-cpu && yarn && yarn build-ci", + "build-backend-webgl": "cd ../tfjs-backend-webgl && yarn && yarn build", + "build-backend-webgl-ci": "cd ../tfjs-backend-webgl && yarn && yarn build-ci", + "build-deps": "yarn build-core && yarn build-layers && yarn build-converter && yarn build-data && yarn build-backend-cpu && yarn build-backend-webgl", + "build-deps-ci": "yarn build-core-ci && yarn build-layers-ci && yarn build-converter-ci && yarn build-data-ci && yarn build-backend-cpu-ci && yarn build-backend-webgl-ci", + "build-cli": "tsc --project ./tools/custom_module/tsconfig.json && chmod +x ./dist/tools/custom_module/cli.js", + "run-custom-build": "ts-node -s ./tools/custom_module/cli.ts", + "build-npm": "./scripts/build-npm.sh", + "link-local": "yalc link", + "publish-local": "yarn build-npm && yalc push", + "publish-npm": "npm publish", + lint: "tslint -p . -t verbose", + coverage: "KARMA_COVERAGE=1 karma start --browsers='Chrome' --singleRun", + test: "yarn && yarn build-deps && yarn build && karma start", + "test-dev": "karma start", + "test-tools": "ts-node --project ./tools/custom_module/tsconfig.json run_tools_tests.ts", + "test-ci": "./scripts/test-ci.sh" +}; +var dependencies = { + "@tensorflow/tfjs-backend-cpu": "3.6.0", + "@tensorflow/tfjs-backend-webgl": "3.6.0", + "@tensorflow/tfjs-converter": "3.6.0", + "@tensorflow/tfjs-core": "3.6.0", + "@tensorflow/tfjs-data": "3.6.0", + "@tensorflow/tfjs-layers": "3.6.0", + argparse: "^1.0.10", + chalk: "^4.1.0", + "core-js": "3", + "regenerator-runtime": "^0.13.5", + yargs: "^16.0.3" +}; +var browser = { + "node-fetch": false, + util: false, + crypto: false +}; +var package_default = { + name, + version, + description, + private: private2, + main, + module, + jsdelivr, + unpkg, + types, + miniprogram, + bin, + repository, + license, + devDependencies, + scripts, + dependencies, + browser +}; +var package_exports2 = {}; +__export2(package_exports2, { + browser: () => browser2, + default: () => package_default2, + dependencies: () => dependencies2, + description: () => description2, + devDependencies: () => devDependencies2, + engines: () => engines, + jsdelivr: () => jsdelivr2, + "jsnext:main": () => jsnext_main, + license: () => license2, + main: () => main2, + miniprogram: () => miniprogram2, + module: () => module2, + name: () => name2, + private: () => private3, + repository: () => repository2, + scripts: () => scripts2, + sideEffects: () => sideEffects, + types: () => types2, + unpkg: () => unpkg2, + version: () => version2 +}); +var name2 = "@tensorflow/tfjs-core"; +var version2 = "3.6.0"; +var description2 = "Hardware-accelerated JavaScript library for machine intelligence"; +var private3 = false; +var main2 = "dist/tf-core.node.js"; +var jsdelivr2 = "dist/tf-core.min.js"; +var unpkg2 = "dist/tf-core.min.js"; +var types2 = "dist/index.d.ts"; +var jsnext_main = "dist/index.js"; +var module2 = "dist/index.js"; +var miniprogram2 = "dist/miniprogram"; +var engines = { + yarn: ">= 1.3.2" +}; +var repository2 = { + type: "git", + url: "https://github.com/tensorflow/tfjs-core.git" +}; +var license2 = "Apache-2.0"; +var devDependencies2 = { + "@bazel/bazelisk": "^1.3.0", + "@bazel/typescript": "^0.27.8", + "@rollup/plugin-commonjs": "^11.0.2", + "@rollup/plugin-node-resolve": "^7.1.1", + "@rollup/plugin-typescript": "^3.0.0", + "@tensorflow/tfjs-backend-cpu": "link:../tfjs-backend-cpu", + "@types/jasmine": "~3.0.0", + "@types/node": "~9.6.0", + "@types/node-fetch": "~2.1.2", + "clang-format": "~1.2.4", + jasmine: "~3.1.0", + "jasmine-core": "~3.1.0", + karma: "6.3.2", + "karma-browserstack-launcher": "~1.6.0", + "karma-chrome-launcher": "~3.1.0", + "karma-jasmine": "~4.0.1", + "karma-typescript": "~5.5.1", + "npm-run-all": "~4.1.3", + rimraf: "~2.6.2", + rollup: "~2.3.2", + "rollup-plugin-terser": "~5.3.0", + "rollup-plugin-visualizer": "~3.3.2", + shelljs: "~0.8.3", + "ts-node": "~8.8.2", + tslint: "~5.11.0", + "tslint-no-circular-imports": "~0.5.0", + typescript: "3.5.3", + yalc: "~1.0.0-pre.21", + yargs: "~13.2.2" +}; +var scripts2 = { + "build-ci": "./scripts/enumerate-tests.js --ci && tsc && yarn bundle-ci && yarn build-test-snippets", + build: "node ./scripts/enumerate-tests.js && tsc && yarn bundle", + bundle: "rollup -c", + "bundle-ci": "rollup -c --ci", + "build-npm": "./scripts/build-npm.sh", + "build-deps": "yarn build && yarn build-cpu-backend", + "build-cpu-backend": "cd ../tfjs-backend-cpu && yarn && yarn build", + "build-cpu-backend-ci": "cd ../tfjs-backend-cpu && yarn && yarn build-ci", + "build:bazel": "bazelisk build //...", + "build-test-snippets": "yarn tsc --project ./scripts/test_snippets/tsconfig.json", + "format-all": "clang-format -i -style=Google --glob=src/**/*.ts", + "link-local": "yalc link", + "publish-local": "rimraf dist/ && yarn build && rollup -c && yalc push", + "publish-npm": "npm publish", + lint: "tslint -p . -t verbose", + coverage: "KARMA_COVERAGE=1 karma start --browsers='Chrome' --singleRun", + test: "yarn && yarn build-deps && karma start", + "test-dev": "karma start", + "test-ci": "./scripts/test-ci.sh", + "test-webworker": "karma start --worker", + "run-browserstack": "karma start --browserstack", + "test-bundle-size": "./scripts/test-bundle-size.js", + "test-node": "rimraf dist/ && yarn build-deps && yarn build && ts-node --transpile-only --skip-ignore -P tsconfig.test.json dist/test_node.js", + "test-node-dev": "tsc && ts-node --transpile-only --skip-ignore -P tsconfig.test.json dist/test_node.js", + "test-node-ci": "ts-node --transpile-only -P tsconfig.test.json dist/test_node.js", + "test-async-backends": "rimraf dist/ && yarn build && ts-node --transpile-only -P tsconfig.test.json dist/test_async_backends.js", + "test-async-backends-ci": "ts-node --transpile-only -P tsconfig.test.json dist/test_async_backends.js", + "test-snippets": "yarn build && yarn build-cpu-backend && ts-node -P tsconfig.test.json ./scripts/test_snippets/test_snippets.ts", + "test-snippets-ci": "ts-node -P tsconfig.test.json ./scripts/test_snippets/test_snippets.ts" +}; +var dependencies2 = { + "@types/offscreencanvas": "~2019.3.0", + "@types/seedrandom": "2.4.27", + "@types/webgl-ext": "0.0.30", + "node-fetch": "~2.6.1", + seedrandom: "2.4.3" +}; +var browser2 = { + "node-fetch": false, + util: false, + crypto: false, + worker_threads: false +}; +var sideEffects = [ + "./dist/index.js", + "./dist/engine.js", + "./dist/tensor.js", + "./dist/base_side_effects.js", + "./dist/flags.js", + "./dist/platforms/*.js", + "./dist/register_all_gradients.js", + "./dist/public/chained_ops/*.js", + "./dist/io/*.js" +]; +var package_default2 = { + name: name2, + version: version2, + description: description2, + private: private3, + main: main2, + jsdelivr: jsdelivr2, + unpkg: unpkg2, + types: types2, + "jsnext:main": jsnext_main, + module: module2, + miniprogram: miniprogram2, + engines, + repository: repository2, + license: license2, + devDependencies: devDependencies2, + scripts: scripts2, + dependencies: dependencies2, + browser: browser2, + sideEffects +}; +var package_exports3 = {}; +__export2(package_exports3, { + browser: () => browser3, + default: () => package_default3, + dependencies: () => dependencies3, + description: () => description3, + devDependencies: () => devDependencies3, + jsdelivr: () => jsdelivr3, + "jsnext:main": () => jsnext_main2, + license: () => license3, + main: () => main3, + miniprogram: () => miniprogram3, + module: () => module3, + name: () => name3, + peerDependencies: () => peerDependencies, + private: () => private4, + scripts: () => scripts3, + types: () => types3, + unpkg: () => unpkg3, + version: () => version3 +}); +var name3 = "@tensorflow/tfjs-data"; +var version3 = "3.6.0"; +var description3 = "TensorFlow Data API in JavaScript"; +var private4 = false; +var main3 = "dist/tf-data.node.js"; +var jsdelivr3 = "dist/tf-data.min.js"; +var unpkg3 = "dist/tf-data.min.js"; +var types3 = "dist/index.d.ts"; +var jsnext_main2 = "dist/index.js"; +var module3 = "dist/index.js"; +var miniprogram3 = "dist/miniprogram"; +var license3 = "Apache-2.0"; +var devDependencies3 = { + "@rollup/plugin-commonjs": "^11.0.2", + "@rollup/plugin-node-resolve": "^7.1.1", + "@rollup/plugin-typescript": "^3.0.0", + "@tensorflow/tfjs-backend-cpu": "3.6.0", + "@tensorflow/tfjs-core": "3.6.0", + "@tensorflow/tfjs-layers": "3.6.0", + "@types/jasmine": "~2.5.53", + "@types/seedrandom": "^2.4.27", + "@types/utf8": "~2.1.6", + "clang-format": "~1.2.2", + "http-server": "~0.12.3", + jasmine: "3.1.0", + "jasmine-core": "~3.1.0", + karma: "~6.3.1", + "karma-chrome-launcher": "~2.2.0", + "karma-firefox-launcher": "~1.1.0", + "karma-jasmine": "~1.1.1", + "karma-typescript": "~5.5.1", + "karma-typescript-es6-transform": "^5.0.2", + nyc: "^15.1.0", + rimraf: "~2.6.2", + rollup: "~2.3.2", + "rollup-plugin-terser": "~7.0.2", + "rollup-plugin-visualizer": "~3.3.2", + "ts-node": "~7.0.0", + tslint: "~6.1.3", + "tslint-no-circular-imports": "^0.7.0", + typescript: "3.5.3", + yalc: "^1.0.0-pre.50" +}; +var scripts3 = { + build: "tsc && yarn bundle", + "build-ci": "tsc && yarn bundle-ci", + bundle: "rollup -c", + "bundle-ci": "rollup -c --ci", + "build-core": "cd ../tfjs-core && yarn && yarn build", + "build-core-ci": "cd ../tfjs-core && yarn && yarn build-ci", + "build-layers": "cd ../tfjs-layers && yarn && yarn build", + "build-backend-cpu": "cd ../tfjs-backend-cpu && yarn && yarn build", + "build-backend-cpu-ci": "cd ../tfjs-backend-cpu && yarn && yarn build-ci", + "build-layers-ci": "cd ../tfjs-layers && yarn && yarn build-ci", + "build-deps": "yarn build-core && yarn build-layers && yarn build-backend-cpu", + "build-deps-ci": "yarn build-core-ci && yarn build-layers-ci && yarn build-backend-cpu-ci", + "build-npm": "./scripts/build-npm.sh", + "link-local": "yalc link", + "publish-local": "rimraf dist/ && yarn build-npm && yalc push", + "publish-npm": "npm publish", + test: "yarn && yarn build-deps && yarn build && ts-node --transpile-only --project tsconfig.test.json src/test_node.ts", + "test-dev": "tsc && ts-node --transpile-only --project tsconfig.test.json src/test_node.ts", + "test-browsers": "karma start --browsers='Chrome,Firefox'", + "test-ci": "ts-node --transpile-only --skip-ignore -P tsconfig.test.json src/test_node.ts", + "test-snippets": "yarn && yarn build-deps && yarn build && ts-node --skip-ignore --project tsconfig.test.json ./scripts/test_snippets.ts", + "test-snippets-ci": "ts-node --skip-ignore --project tsconfig.test.json ./scripts/test_snippets.ts", + coverage: "yarn nyc yarn ts-node --transpile-only -P tsconfig.test.json src/test_node.ts", + lint: "tslint -p . -t verbose" +}; +var peerDependencies = { + "@tensorflow/tfjs-core": "3.6.0", + seedrandom: "~2.4.3" +}; +var dependencies3 = { + "@types/node-fetch": "^2.1.2", + "node-fetch": "~2.6.1" +}; +var browser3 = { + fs: false, + "node-fetch": false, + string_decoder: false, + crypto: false +}; +var package_default3 = { + name: name3, + version: version3, + description: description3, + private: private4, + main: main3, + jsdelivr: jsdelivr3, + unpkg: unpkg3, + types: types3, + "jsnext:main": jsnext_main2, + module: module3, + miniprogram: miniprogram3, + license: license3, + devDependencies: devDependencies3, + scripts: scripts3, + peerDependencies, + dependencies: dependencies3, + browser: browser3 +}; +var package_exports4 = {}; +__export2(package_exports4, { + default: () => package_default4, + description: () => description4, + devDependencies: () => devDependencies4, + jsdelivr: () => jsdelivr4, + "jsnext:main": () => jsnext_main3, + license: () => license4, + main: () => main4, + miniprogram: () => miniprogram4, + module: () => module4, + name: () => name4, + peerDependencies: () => peerDependencies2, + private: () => private5, + scripts: () => scripts4, + types: () => types4, + unpkg: () => unpkg4, + version: () => version4 +}); +var name4 = "@tensorflow/tfjs-layers"; +var version4 = "3.6.0"; +var description4 = "TensorFlow layers API in JavaScript"; +var license4 = "Apache-2.0 AND MIT"; +var private5 = false; +var main4 = "dist/tf-layers.node.js"; +var types4 = "dist/index.d.ts"; +var jsnext_main3 = "dist/index.js"; +var module4 = "dist/index.js"; +var jsdelivr4 = "dist/tf-layers.min.js"; +var unpkg4 = "dist/tf-layers.min.js"; +var miniprogram4 = "dist/miniprogram"; +var devDependencies4 = { + "@babel/polyfill": "^7.8.7", + "@rollup/plugin-commonjs": "^11.0.2", + "@rollup/plugin-node-resolve": "^7.1.1", + "@rollup/plugin-typescript": "^3.0.0", + "@tensorflow/tfjs-backend-cpu": "3.6.0", + "@tensorflow/tfjs-backend-webgl": "3.6.0", + "@tensorflow/tfjs-core": "3.6.0", + "@types/jasmine": "~2.5.53", + "clang-format": "~1.2.2", + "http-server": "~0.12.3", + jasmine: "~3.1.0", + "jasmine-core": "~3.1.0", + karma: "~6.3.1", + "karma-browserstack-launcher": "~1.6.0", + "karma-chrome-launcher": "~2.2.0", + "karma-firefox-launcher": "~1.1.0", + "karma-jasmine": "~1.1.1", + "karma-typescript": "~5.5.1", + "karma-typescript-es6-transform": "^5.0.2", + rimraf: "~2.6.2", + rollup: "~2.3.2", + "rollup-plugin-terser": "~7.0.2", + "rollup-plugin-visualizer": "~3.3.2", + "ts-node": "~8.8.2", + tslint: "~6.1.3", + "tslint-no-circular-imports": "^0.7.0", + typescript: "3.5.3", + yalc: "~1.0.0-pre.50" +}; +var scripts4 = { + prep: "yarn install && yarn build-ci", + build: "tsc && yarn bundle", + "build-ci": "tsc && yarn bundle-ci", + bundle: "rollup -c", + "bundle-ci": "rollup -c --ci", + "build-core": "cd ../tfjs-core && yarn && yarn build", + "build-backend-cpu": "cd ../tfjs-backend-cpu && yarn && yarn build", + "build-backend-cpu-ci": "cd ../tfjs-backend-cpu && yarn && yarn build-ci", + "build-backend-webgl": "cd ../tfjs-backend-webgl && yarn && yarn build", + "build-backend-webgl-ci": "cd ../tfjs-backend-webgl && yarn && yarn build-ci", + "build-core-ci": "cd ../tfjs-core && yarn && yarn build-ci", + "build-deps": "yarn build-core && yarn build-backend-cpu && yarn build-backend-webgl", + "build-deps-ci": "yarn build-core-ci && yarn build-backend-cpu-ci && yarn build-backend-webgl-ci", + "build-npm": "./scripts/build-npm.sh", + format: "./tools/clang_format_ts.sh", + "link-local": "yalc link", + "publish-local": "yarn build-npm && yalc push", + "publish-npm": "npm publish", + coverage: "KARMA_COVERAGE=1 karma start --browsers='Chrome' --singleRun", + test: "yarn && yarn build-deps && karma start", + "test-dev": "karma start", + "test-ci": "./scripts/test-ci.sh", + "test-snippets": "yarn && yarn build-deps && yarn build && ts-node --skip-ignore -s ./scripts/test_snippets.ts", + "test-snippets-ci": "ts-node --skip-ignore -s ./scripts/test_snippets.ts", + "run-browserstack": "karma start --browsers='bs_chrome_mac' --singleRun --reporters='dots,karma-typescript'", + lint: "tslint -p . -t verbose" +}; +var peerDependencies2 = { + "@tensorflow/tfjs-core": "3.6.0" +}; +var package_default4 = { + name: name4, + version: version4, + description: description4, + license: license4, + private: private5, + main: main4, + types: types4, + "jsnext:main": jsnext_main3, + module: module4, + jsdelivr: jsdelivr4, + unpkg: unpkg4, + miniprogram: miniprogram4, + devDependencies: devDependencies4, + scripts: scripts4, + peerDependencies: peerDependencies2 +}; +var package_exports5 = {}; +__export2(package_exports5, { + default: () => package_default5, + description: () => description5, + devDependencies: () => devDependencies5, + jsdelivr: () => jsdelivr5, + "jsnext:main": () => jsnext_main4, + license: () => license5, + main: () => main5, + miniprogram: () => miniprogram5, + module: () => module5, + name: () => name5, + peerDependencies: () => peerDependencies3, + repository: () => repository3, + scripts: () => scripts5, + types: () => types5, + unpkg: () => unpkg5, + version: () => version5 +}); +var name5 = "@tensorflow/tfjs-converter"; +var version5 = "3.6.0"; +var description5 = "Tensorflow model converter for javascript"; +var main5 = "dist/tf-converter.node.js"; +var jsnext_main4 = "dist/index.js"; +var module5 = "dist/index.js"; +var types5 = "dist/index.d.ts"; +var unpkg5 = "dist/tf-converter.min.js"; +var jsdelivr5 = "dist/tf-converter.min.js"; +var miniprogram5 = "dist/miniprogram"; +var repository3 = { + type: "git", + url: "https://github.com/tensorflow/tfjs-converter.git" +}; +var license5 = "Apache-2.0"; +var peerDependencies3 = { + "@tensorflow/tfjs-core": "3.6.0" +}; +var devDependencies5 = { + "@rollup/plugin-commonjs": "^11.0.2", + "@rollup/plugin-node-resolve": "^7.1.1", + "@rollup/plugin-replace": "^2.3.3", + "@rollup/plugin-typescript": "^3.0.0", + "@tensorflow/tfjs-backend-cpu": "3.6.0", + "@tensorflow/tfjs-core": "3.6.0", + "@types/argparse": "^1.0.38", + "@types/deep-equal": "^1.0.1", + "@types/jasmine": "~2.8.6", + "@types/long": "~3.0.32", + "@types/node-fetch": "1.6.9", + ajv: "~6.3.0", + argparse: "^1.0.10", + "babel-core": "~6.26.3", + "babel-plugin-external-helpers": "~6.22.0", + "babel-preset-env": "~1.7.0", + "clang-format": "~1.2.2", + copyfiles: "~1.2.0", + "deep-equal": "^1.0.1", + "jasmine-core": "~3.5.0", + "node-fetch": "~2.6.1", + opn: "~5.1.0", + protobufjs: "~6.8.6", + rimraf: "~2.6.2", + rollup: "~2.3.2", + "rollup-plugin-terser": "~7.0.2", + "rollup-plugin-visualizer": "~3.3.2", + "ts-morph": "^7.1.3", + "ts-node": "~8.8.2", + tslint: "~6.1.3", + "tslint-no-circular-imports": "~0.7.0", + typescript: "3.5.3", + yalc: "~1.0.0-pre.50" +}; +var scripts5 = { + build: "yarn gen-json --test && yarn gen-kernel2ops && tsc && yarn bundle", + "build-ci": "yarn gen-json --test && yarn gen-kernel2ops && tsc && yarn bundle-ci", + bundle: "rollup -c", + "bundle-ci": "rollup -c --ci", + "build-core": "cd ../tfjs-core && yarn && yarn build", + "build-backend-cpu": "cd ../tfjs-backend-cpu && yarn && yarn build", + "build-backend-cpu-ci": "cd ../tfjs-backend-cpu && yarn && yarn build-ci", + "build-core-ci": "cd ../tfjs-core && yarn && yarn build-ci", + "build-deps": "yarn build-core && yarn build-backend-cpu", + "build-deps-ci": "yarn build-core-ci && yarn build-backend-cpu", + "build-npm": "./scripts/build-npm.sh", + "link-local": "yalc link", + "publish-local": "yarn build-npm && yalc push", + "publish-npm": "npm publish", + test: "yarn && yarn build-deps && yarn build && yarn gen-json --test && yarn gen-kernel2ops && ts-node --transpile-only -P tsconfig.test.json src/run_tests.ts", + "test-ci": "ts-node --transpile-only --skip-ignore -P tsconfig.test.json src/run_tests.ts", + "test-dev": "tsc && ts-node --transpile-only -P tsconfig.test.json src/run_tests.ts", + "test-snippets": "yarn && yarn build-deps && yarn build && ts-node --skip-ignore -s ./scripts/test_snippets.ts", + "test-snippets-ci": "ts-node --skip-ignore -s ./scripts/test_snippets.ts", + lint: "tslint -p . -t verbose", + "make-version": "sh -c ./scripts/make-version", + "gen-doc": "ts-node -s ./scripts/gen_doc.ts", + "gen-json": "ts-node -s ./scripts/gen_json.ts", + "model-summary": "ts-node -s ./tools/model_summary.ts", + pb2json: "ts-node -s ./tools/pb2json_converter.ts", + "build-pip-package": "yarn gen-json --test && cd python && ./build-pip-package.sh --test /tmp/tfjs-pips", + "run-python-tests": "yarn gen-json --test && cd python && ./run-python-tests.sh", + "gen-kernel2ops": "ts-node -s scripts/kernels_to_ops.ts --out metadata/kernel2op.json" +}; +var package_default5 = { + name: name5, + version: version5, + description: description5, + main: main5, + "jsnext:main": jsnext_main4, + module: module5, + types: types5, + unpkg: unpkg5, + jsdelivr: jsdelivr5, + miniprogram: miniprogram5, + repository: repository3, + license: license5, + peerDependencies: peerDependencies3, + devDependencies: devDependencies5, + scripts: scripts5 +}; +var EPSILON_FLOAT32 = 1e-7; +var EPSILON_FLOAT16 = 1e-4; +var DataStorage = class { + constructor(backend22, dataMover) { + this.backend = backend22; + this.dataMover = dataMover; + this.data = new WeakMap(); + this.dataIdsCount = 0; + } + get(dataId) { + if (!this.data.has(dataId)) { + this.dataMover.moveData(this.backend, dataId); + } + return this.data.get(dataId); + } + set(dataId, value) { + this.dataIdsCount++; + this.data.set(dataId, value); + } + has(dataId) { + return this.data.has(dataId); + } + delete(dataId) { + this.dataIdsCount--; + return this.data.delete(dataId); + } + numDataIds() { + return this.dataIdsCount; + } +}; +var KernelBackend = class { + refCount(dataId) { + return notYetImplemented("refCount"); + } + incRef(dataId) { + return notYetImplemented("incRef"); + } + timerAvailable() { + return true; + } + time(f) { + return notYetImplemented("time"); + } + read(dataId) { + return notYetImplemented("read"); + } + readSync(dataId) { + return notYetImplemented("readSync"); + } + numDataIds() { + return notYetImplemented("numDataIds"); + } + disposeData(dataId, force) { + return notYetImplemented("disposeData"); + } + write(values, shape, dtype) { + return notYetImplemented("write"); + } + move(dataId, values, shape, dtype, refCount) { + return notYetImplemented("move"); + } + memory() { + return notYetImplemented("memory"); + } + floatPrecision() { + return notYetImplemented("floatPrecision"); + } + epsilon() { + return this.floatPrecision() === 32 ? EPSILON_FLOAT32 : EPSILON_FLOAT16; + } + dispose() { + return notYetImplemented("dispose"); + } +}; +function notYetImplemented(kernelName) { + throw new Error(`'${kernelName}' not yet implemented or not found in the registry. This kernel may not be supported by the tfjs backend you have chosen`); +} +function shuffle(array2) { + let counter = array2.length; + let temp = 0; + let index = 0; + while (counter > 0) { + index = Math.random() * counter | 0; + counter--; + temp = array2[counter]; + array2[counter] = array2[index]; + array2[index] = temp; + } +} +function shuffleCombo(array2, array22) { + if (array2.length !== array22.length) { + throw new Error(`Array sizes must match to be shuffled together First array length was ${array2.length}Second array length was ${array22.length}`); + } + let counter = array2.length; + let temp, temp2; + let index = 0; + while (counter > 0) { + index = Math.random() * counter | 0; + counter--; + temp = array2[counter]; + temp2 = array22[counter]; + array2[counter] = array2[index]; + array22[counter] = array22[index]; + array2[index] = temp; + array22[index] = temp2; + } +} +function clamp(min6, x, max6) { + return Math.max(min6, Math.min(x, max6)); +} +function nearestLargerEven(val) { + return val % 2 === 0 ? val : val + 1; +} +function sum(arr) { + let sum6 = 0; + for (let i = 0; i < arr.length; i++) { + sum6 += arr[i]; + } + return sum6; +} +function randUniform(a, b) { + const r = Math.random(); + return b * r + (1 - r) * a; +} +function distSquared(a, b) { + let result = 0; + for (let i = 0; i < a.length; i++) { + const diff = Number(a[i]) - Number(b[i]); + result += diff * diff; + } + return result; +} +function assert(expr, msg) { + if (!expr) { + throw new Error(typeof msg === "string" ? msg : msg()); + } +} +function assertShapesMatch(shapeA, shapeB, errorMessagePrefix = "") { + assert(arraysEqual(shapeA, shapeB), () => errorMessagePrefix + ` Shapes ${shapeA} and ${shapeB} must match`); +} +function assertNonNull(a) { + assert(a != null, () => `The input to the tensor constructor must be a non-null value.`); +} +function flatten(arr, result = [], skipTypedArray = false) { + if (result == null) { + result = []; + } + if (Array.isArray(arr) || isTypedArray(arr) && !skipTypedArray) { + for (let i = 0; i < arr.length; ++i) { + flatten(arr[i], result, skipTypedArray); + } + } else { + result.push(arr); + } + return result; +} +function sizeFromShape(shape) { + if (shape.length === 0) { + return 1; + } + let size = shape[0]; + for (let i = 1; i < shape.length; i++) { + size *= shape[i]; + } + return size; +} +function isScalarShape(shape) { + return shape.length === 0; +} +function arraysEqual(n1, n2) { + if (n1 === n2) { + return true; + } + if (n1 == null || n2 == null) { + return false; + } + if (n1.length !== n2.length) { + return false; + } + for (let i = 0; i < n1.length; i++) { + if (n1[i] !== n2[i]) { + return false; + } + } + return true; +} +function isInt(a) { + return a % 1 === 0; +} +function tanh(x) { + if (Math.tanh != null) { + return Math.tanh(x); + } + if (x === Infinity) { + return 1; + } else if (x === -Infinity) { + return -1; + } else { + const e2x = Math.exp(2 * x); + return (e2x - 1) / (e2x + 1); + } +} +function sizeToSquarishShape(size) { + const width = Math.ceil(Math.sqrt(size)); + return [width, Math.ceil(size / width)]; +} +function createShuffledIndices(n) { + const shuffledIndices = new Uint32Array(n); + for (let i = 0; i < n; ++i) { + shuffledIndices[i] = i; + } + shuffle(shuffledIndices); + return shuffledIndices; +} +function rightPad(a, size) { + if (size <= a.length) { + return a; + } + return a + " ".repeat(size - a.length); +} +function repeatedTry(checkFn, delayFn = (counter) => 0, maxCounter) { + return new Promise((resolve, reject) => { + let tryCount = 0; + const tryFn = () => { + if (checkFn()) { + resolve(); + return; + } + tryCount++; + const nextBackoff = delayFn(tryCount); + if (maxCounter != null && tryCount >= maxCounter) { + reject(); + return; + } + setTimeout(tryFn, nextBackoff); + }; + tryFn(); + }); +} +function inferFromImplicitShape(shape, size) { + let shapeProd = 1; + let implicitIdx = -1; + for (let i = 0; i < shape.length; ++i) { + if (shape[i] >= 0) { + shapeProd *= shape[i]; + } else if (shape[i] === -1) { + if (implicitIdx !== -1) { + throw Error(`Shapes can only have 1 implicit size. Found -1 at dim ${implicitIdx} and dim ${i}`); + } + implicitIdx = i; + } else if (shape[i] < 0) { + throw Error(`Shapes can not be < 0. Found ${shape[i]} at dim ${i}`); + } + } + if (implicitIdx === -1) { + if (size > 0 && size !== shapeProd) { + throw Error(`Size(${size}) must match the product of shape ${shape}`); + } + return shape; + } + if (shapeProd === 0) { + throw Error(`Cannot infer the missing size in [${shape}] when there are 0 elements`); + } + if (size % shapeProd !== 0) { + throw Error(`The implicit shape can't be a fractional number. Got ${size} / ${shapeProd}`); + } + const newShape = shape.slice(); + newShape[implicitIdx] = size / shapeProd; + return newShape; +} +function parseAxisParam(axis, shape) { + const rank = shape.length; + axis = axis == null ? shape.map((s, i) => i) : [].concat(axis); + assert(axis.every((ax) => ax >= -rank && ax < rank), () => `All values in axis param must be in range [-${rank}, ${rank}) but got axis ${axis}`); + assert(axis.every((ax) => isInt(ax)), () => `All values in axis param must be integers but got axis ${axis}`); + return axis.map((a) => a < 0 ? rank + a : a); +} +function squeezeShape(shape, axis) { + const newShape = []; + const keptDims = []; + const isEmptyArray = axis != null && Array.isArray(axis) && axis.length === 0; + const axes = axis == null || isEmptyArray ? null : parseAxisParam(axis, shape).sort(); + let j = 0; + for (let i = 0; i < shape.length; ++i) { + if (axes != null) { + if (axes[j] === i && shape[i] !== 1) { + throw new Error(`Can't squeeze axis ${i} since its dim '${shape[i]}' is not 1`); + } + if ((axes[j] == null || axes[j] > i) && shape[i] === 1) { + newShape.push(shape[i]); + keptDims.push(i); + } + if (axes[j] <= i) { + j++; + } + } + if (shape[i] !== 1) { + newShape.push(shape[i]); + keptDims.push(i); + } + } + return { newShape, keptDims }; +} +function getTypedArrayFromDType(dtype, size) { + let values = null; + if (dtype == null || dtype === "float32") { + values = new Float32Array(size); + } else if (dtype === "int32") { + values = new Int32Array(size); + } else if (dtype === "bool") { + values = new Uint8Array(size); + } else { + throw new Error(`Unknown data type ${dtype}`); + } + return values; +} +function getArrayFromDType(dtype, size) { + let values = null; + if (dtype == null || dtype === "float32") { + values = new Float32Array(size); + } else if (dtype === "int32") { + values = new Int32Array(size); + } else if (dtype === "bool") { + values = new Uint8Array(size); + } else if (dtype === "string") { + values = new Array(size); + } else { + throw new Error(`Unknown data type ${dtype}`); + } + return values; +} +function checkConversionForErrors(vals, dtype) { + for (let i = 0; i < vals.length; i++) { + const num = vals[i]; + if (isNaN(num) || !isFinite(num)) { + throw Error(`A tensor of type ${dtype} being uploaded contains ${num}.`); + } + } +} +function isValidDtype(dtype) { + return dtype === "bool" || dtype === "complex64" || dtype === "float32" || dtype === "int32" || dtype === "string"; +} +function hasEncodingLoss(oldType, newType) { + if (newType === "complex64") { + return false; + } + if (newType === "float32" && oldType !== "complex64") { + return false; + } + if (newType === "int32" && oldType !== "float32" && oldType !== "complex64") { + return false; + } + if (newType === "bool" && oldType === "bool") { + return false; + } + return true; +} +function isTypedArray(a) { + return a instanceof Float32Array || a instanceof Int32Array || a instanceof Uint8Array; +} +function bytesPerElement(dtype) { + if (dtype === "float32" || dtype === "int32") { + return 4; + } else if (dtype === "complex64") { + return 8; + } else if (dtype === "bool") { + return 1; + } else { + throw new Error(`Unknown dtype ${dtype}`); + } +} +function bytesFromStringArray(arr) { + if (arr == null) { + return 0; + } + let bytes = 0; + arr.forEach((x) => bytes += x.length); + return bytes; +} +function isString(value) { + return typeof value === "string" || value instanceof String; +} +function isBoolean(value) { + return typeof value === "boolean"; +} +function isNumber(value) { + return typeof value === "number"; +} +function inferDtype(values) { + if (Array.isArray(values)) { + return inferDtype(values[0]); + } + if (values instanceof Float32Array) { + return "float32"; + } else if (values instanceof Int32Array || values instanceof Uint8Array) { + return "int32"; + } else if (isNumber(values)) { + return "float32"; + } else if (isString(values)) { + return "string"; + } else if (isBoolean(values)) { + return "bool"; + } + return "float32"; +} +function isFunction(f) { + return !!(f && f.constructor && f.call && f.apply); +} +function nearestDivisor(size, start) { + for (let i = start; i < size; ++i) { + if (size % i === 0) { + return i; + } + } + return size; +} +function computeStrides(shape) { + const rank = shape.length; + if (rank < 2) { + return []; + } + const strides = new Array(rank - 1); + strides[rank - 2] = shape[rank - 1]; + for (let i = rank - 3; i >= 0; --i) { + strides[i] = strides[i + 1] * shape[i + 1]; + } + return strides; +} +function createNestedArray(offset, shape, a, isComplex = false) { + const ret = new Array(); + if (shape.length === 1) { + const d = shape[0] * (isComplex ? 2 : 1); + for (let i = 0; i < d; i++) { + ret[i] = a[offset + i]; + } + } else { + const d = shape[0]; + const rest = shape.slice(1); + const len = rest.reduce((acc, c) => acc * c) * (isComplex ? 2 : 1); + for (let i = 0; i < d; i++) { + ret[i] = createNestedArray(offset + i * len, rest, a, isComplex); + } + } + return ret; +} +function toNestedArray(shape, a, isComplex = false) { + if (shape.length === 0) { + return a[0]; + } + const size = shape.reduce((acc, c) => acc * c) * (isComplex ? 2 : 1); + if (size === 0) { + return []; + } + if (size !== a.length) { + throw new Error(`[${shape}] does not match the input size ${a.length}${isComplex ? " for a complex tensor" : ""}.`); + } + return createNestedArray(0, shape, a, isComplex); +} +function makeOnesTypedArray(size, dtype) { + const array2 = makeZerosTypedArray(size, dtype); + for (let i = 0; i < array2.length; i++) { + array2[i] = 1; + } + return array2; +} +function makeZerosTypedArray(size, dtype) { + if (dtype == null || dtype === "float32" || dtype === "complex64") { + return new Float32Array(size); + } else if (dtype === "int32") { + return new Int32Array(size); + } else if (dtype === "bool") { + return new Uint8Array(size); + } else { + throw new Error(`Unknown data type ${dtype}`); + } +} +function makeZerosNestedTypedArray(shape, dtype) { + const size = shape.reduce((prev, curr) => prev * curr, 1); + if (dtype == null || dtype === "float32") { + return toNestedArray(shape, new Float32Array(size)); + } else if (dtype === "int32") { + return toNestedArray(shape, new Int32Array(size)); + } else if (dtype === "bool") { + return toNestedArray(shape, new Uint8Array(size)); + } else { + throw new Error(`Unknown data type ${dtype}`); + } +} +function assertNonNegativeIntegerDimensions(shape) { + shape.forEach((dimSize) => { + assert(Number.isInteger(dimSize) && dimSize >= 0, () => `Tensor must have a shape comprised of positive integers but got shape [${shape}].`); + }); +} +function locToIndex(locs, rank, strides) { + if (rank === 0) { + return 0; + } else if (rank === 1) { + return locs[0]; + } + let index = locs[locs.length - 1]; + for (let i = 0; i < locs.length - 1; ++i) { + index += strides[i] * locs[i]; + } + return index; +} +function indexToLoc(index, rank, strides) { + if (rank === 0) { + return []; + } else if (rank === 1) { + return [index]; + } + const locs = new Array(rank); + for (let i = 0; i < locs.length - 1; ++i) { + locs[i] = Math.floor(index / strides[i]); + index -= locs[i] * strides[i]; + } + locs[locs.length - 1] = index; + return locs; +} +function isPromise(object2) { + return object2 && object2.then && typeof object2.then === "function"; +} +var TENSORFLOWJS_FLAGS_PREFIX = "tfjsflags"; +var Environment = class { + constructor(global2) { + this.global = global2; + this.flags = {}; + this.flagRegistry = {}; + this.urlFlags = {}; + this.getQueryParams = getQueryParams; + this.populateURLFlags(); + } + setPlatform(platformName, platform) { + if (this.platform != null) { + console.warn(`Platform ${this.platformName} has already been set. Overwriting the platform with ${platform}.`); + } + this.platformName = platformName; + this.platform = platform; + } + registerFlag(flagName, evaluationFn, setHook) { + this.flagRegistry[flagName] = { evaluationFn, setHook }; + if (this.urlFlags[flagName] != null) { + const flagValue = this.urlFlags[flagName]; + console.warn(`Setting feature override from URL ${flagName}: ${flagValue}.`); + this.set(flagName, flagValue); + } + } + async getAsync(flagName) { + if (flagName in this.flags) { + return this.flags[flagName]; + } + this.flags[flagName] = await this.evaluateFlag(flagName); + return this.flags[flagName]; + } + get(flagName) { + if (flagName in this.flags) { + return this.flags[flagName]; + } + const flagValue = this.evaluateFlag(flagName); + if (isPromise(flagValue)) { + throw new Error(`Flag ${flagName} cannot be synchronously evaluated. Please use getAsync() instead.`); + } + this.flags[flagName] = flagValue; + return this.flags[flagName]; + } + getNumber(flagName) { + return this.get(flagName); + } + getBool(flagName) { + return this.get(flagName); + } + getFlags() { + return this.flags; + } + get features() { + return this.flags; + } + set(flagName, value) { + if (this.flagRegistry[flagName] == null) { + throw new Error(`Cannot set flag ${flagName} as it has not been registered.`); + } + this.flags[flagName] = value; + if (this.flagRegistry[flagName].setHook != null) { + this.flagRegistry[flagName].setHook(value); + } + } + evaluateFlag(flagName) { + if (this.flagRegistry[flagName] == null) { + throw new Error(`Cannot evaluate flag '${flagName}': no evaluation function found.`); + } + return this.flagRegistry[flagName].evaluationFn(); + } + setFlags(flags) { + this.flags = Object.assign({}, flags); + } + reset() { + this.flags = {}; + this.urlFlags = {}; + this.populateURLFlags(); + } + populateURLFlags() { + if (typeof this.global === "undefined" || typeof this.global.location === "undefined" || typeof this.global.location.search === "undefined") { + return; + } + const urlParams = this.getQueryParams(this.global.location.search); + if (TENSORFLOWJS_FLAGS_PREFIX in urlParams) { + const keyValues = urlParams[TENSORFLOWJS_FLAGS_PREFIX].split(","); + keyValues.forEach((keyValue) => { + const [key, value] = keyValue.split(":"); + this.urlFlags[key] = parseValue(key, value); + }); + } + } +}; +function getQueryParams(queryString) { + const params = {}; + queryString.replace(/[?&]([^=?&]+)(?:=([^&]*))?/g, (s, ...t) => { + decodeParam(params, t[0], t[1]); + return t.join("="); + }); + return params; +} +function decodeParam(params, name6, value) { + params[decodeURIComponent(name6)] = decodeURIComponent(value || ""); +} +function parseValue(flagName, value) { + value = value.toLowerCase(); + if (value === "true" || value === "false") { + return value === "true"; + } else if (`${+value}` === value) { + return +value; + } + throw new Error(`Could not parse value flag value ${value} for flag ${flagName}.`); +} +function env() { + return ENV; +} +var ENV = null; +function setEnvironmentGlobal(environment) { + ENV = environment; +} +var globalNameSpace; +function getGlobalNamespace() { + if (globalNameSpace == null) { + let ns; + if (typeof window !== "undefined") { + ns = window; + } else if (typeof global !== "undefined") { + ns = global; + } else if (typeof process !== "undefined") { + ns = process; + } else if (typeof self !== "undefined") { + ns = self; + } else { + throw new Error("Could not find a global object"); + } + globalNameSpace = ns; + } + return globalNameSpace; +} +function getGlobalMap() { + const ns = getGlobalNamespace(); + if (ns._tfGlobals == null) { + ns._tfGlobals = new Map(); + } + return ns._tfGlobals; +} +function getGlobal(key, init2) { + const globalMap = getGlobalMap(); + if (globalMap.has(key)) { + return globalMap.get(key); + } else { + const singleton = init2(); + globalMap.set(key, singleton); + return globalMap.get(key); + } +} +var Abs = "Abs"; +var Acos = "Acos"; +var Acosh = "Acosh"; +var Add = "Add"; +var AddN = "AddN"; +var All = "All"; +var Any = "Any"; +var ArgMax = "ArgMax"; +var ArgMin = "ArgMin"; +var Asin = "Asin"; +var Asinh = "Asinh"; +var Atan = "Atan"; +var Atanh = "Atanh"; +var Atan2 = "Atan2"; +var AvgPool = "AvgPool"; +var AvgPoolGrad = "AvgPoolGrad"; +var AvgPool3D = "AvgPool3D"; +var AvgPool3DGrad = "AvgPool3DGrad"; +var BatchMatMul = "BatchMatMul"; +var BatchToSpaceND = "BatchToSpaceND"; +var Bincount = "Bincount"; +var BroadcastTo = "BroadcastTo"; +var Cast = "Cast"; +var Ceil = "Ceil"; +var ClipByValue = "ClipByValue"; +var Complex = "Complex"; +var ComplexAbs = "ComplexAbs"; +var Concat = "Concat"; +var Conv2D = "Conv2D"; +var Conv2DBackpropFilter = "Conv2DBackpropFilter"; +var Conv2DBackpropInput = "Conv2DBackpropInput"; +var Conv3D = "Conv3D"; +var Conv3DBackpropFilterV2 = "Conv3DBackpropFilterV2"; +var Conv3DBackpropInputV2 = "Conv3DBackpropInputV2"; +var Cos = "Cos"; +var Cosh = "Cosh"; +var Cumsum = "Cumsum"; +var CropAndResize = "CropAndResize"; +var DenseBincount = "DenseBincount"; +var DepthToSpace = "DepthToSpace"; +var DepthwiseConv2dNative = "DepthwiseConv2dNative"; +var DepthwiseConv2dNativeBackpropFilter = "DepthwiseConv2dNativeBackpropFilter"; +var DepthwiseConv2dNativeBackpropInput = "DepthwiseConv2dNativeBackpropInput"; +var Diag = "Diag"; +var Dilation2D = "Dilation2D"; +var Dilation2DBackpropInput = "Dilation2DBackpropInput"; +var Dilation2DBackpropFilter = "Dilation2DBackpropFilter"; +var RealDiv = "RealDiv"; +var Einsum = "Einsum"; +var Elu = "Elu"; +var EluGrad = "EluGrad"; +var Erf = "Erf"; +var Equal = "Equal"; +var Exp = "Exp"; +var ExpandDims = "ExpandDims"; +var Expm1 = "Expm1"; +var FFT = "FFT"; +var Fill = "Fill"; +var FlipLeftRight = "FlipLeftRight"; +var Floor = "Floor"; +var FloorDiv = "FloorDiv"; +var FusedBatchNorm = "FusedBatchNorm"; +var GatherV2 = "GatherV2"; +var GatherNd = "GatherNd"; +var Greater = "Greater"; +var GreaterEqual = "GreaterEqual"; +var Identity = "Identity"; +var IFFT = "IFFT"; +var Imag = "Imag"; +var IsFinite = "IsFinite"; +var IsInf = "IsInf"; +var IsNan = "IsNan"; +var LeakyRelu = "LeakyRelu"; +var Less = "Less"; +var LessEqual = "LessEqual"; +var LinSpace = "LinSpace"; +var Log = "Log"; +var Log1p = "Log1p"; +var LogicalAnd = "LogicalAnd"; +var LogicalNot = "LogicalNot"; +var LogicalOr = "LogicalOr"; +var LogSoftmax = "LogSoftmax"; +var LRN = "LRN"; +var LRNGrad = "LRNGrad"; +var Max = "Max"; +var Maximum = "Maximum"; +var MaxPool = "MaxPool"; +var MaxPoolGrad = "MaxPoolGrad"; +var MaxPool3D = "MaxPool3D"; +var MaxPool3DGrad = "MaxPool3DGrad"; +var MaxPoolWithArgmax = "MaxPoolWithArgmax"; +var Mean = "Mean"; +var Min = "Min"; +var Minimum = "Minimum"; +var MirrorPad = "MirrorPad"; +var Mod = "Mod"; +var Multinomial = "Multinomial"; +var Multiply = "Multiply"; +var Neg = "Neg"; +var NotEqual = "NotEqual"; +var NonMaxSuppressionV3 = "NonMaxSuppressionV3"; +var NonMaxSuppressionV4 = "NonMaxSuppressionV4"; +var NonMaxSuppressionV5 = "NonMaxSuppressionV5"; +var OnesLike = "OnesLike"; +var OneHot = "OneHot"; +var Pack = "Pack"; +var PadV2 = "PadV2"; +var Pool = "Pool"; +var Pow = "Pow"; +var Prelu = "Prelu"; +var Prod = "Prod"; +var Range = "Range"; +var Real = "Real"; +var Reciprocal = "Reciprocal"; +var Relu = "Relu"; +var Reshape = "Reshape"; +var ResizeNearestNeighbor = "ResizeNearestNeighbor"; +var ResizeNearestNeighborGrad = "ResizeNearestNeighborGrad"; +var ResizeBilinear = "ResizeBilinear"; +var ResizeBilinearGrad = "ResizeBilinearGrad"; +var Relu6 = "Relu6"; +var Reverse = "Reverse"; +var Round = "Round"; +var Rsqrt = "Rsqrt"; +var ScatterNd = "ScatterNd"; +var Select = "Select"; +var Selu = "Selu"; +var Slice = "Slice"; +var Sin = "Sin"; +var Sinh = "Sinh"; +var Sign = "Sign"; +var Sigmoid = "Sigmoid"; +var Softplus = "Softplus"; +var Sqrt = "Sqrt"; +var Sum = "Sum"; +var SpaceToBatchND = "SpaceToBatchND"; +var SplitV = "SplitV"; +var Softmax = "Softmax"; +var SparseFillEmptyRows = "SparseFillEmptyRows"; +var SparseReshape = "SparseReshape"; +var SparseToDense = "SparseToDense"; +var SquaredDifference = "SquaredDifference"; +var Square = "Square"; +var StridedSlice = "StridedSlice"; +var Sub = "Sub"; +var Tan = "Tan"; +var Tanh = "Tanh"; +var Tile = "Tile"; +var TopK = "TopK"; +var Transform = "Transform"; +var Transpose = "Transpose"; +var Unique = "Unique"; +var Unpack = "Unpack"; +var UnsortedSegmentSum = "UnsortedSegmentSum"; +var ZerosLike = "ZerosLike"; +var Step = "Step"; +var FromPixels = "FromPixels"; +var RotateWithOffset = "RotateWithOffset"; +var _FusedMatMul = "_FusedMatMul"; +var FusedConv2D = "FusedConv2D"; +var FusedDepthwiseConv2D = "FusedDepthwiseConv2D"; +var kernelRegistry = getGlobal("kernelRegistry", () => new Map()); +var gradRegistry = getGlobal("gradRegistry", () => new Map()); +function getKernel(kernelName, backendName) { + const key = makeKey(kernelName, backendName); + return kernelRegistry.get(key); +} +function getGradient(kernelName) { + return gradRegistry.get(kernelName); +} +function getKernelsForBackend(backendName) { + const it = kernelRegistry.entries(); + const result = []; + while (true) { + const { done, value } = it.next(); + if (done) { + break; + } + const [key, config3] = value; + const [backend22] = key.split("_"); + if (backend22 === backendName) { + result.push(config3); + } + } + return result; +} +function registerKernel(config3) { + const { kernelName, backendName } = config3; + const key = makeKey(kernelName, backendName); + if (kernelRegistry.has(key)) { + console.warn(`The kernel '${kernelName}' for backend '${backendName}' is already registered`); + } + kernelRegistry.set(key, config3); +} +function registerGradient(config3) { + const { kernelName } = config3; + if (gradRegistry.has(kernelName)) { + if (env().getBool("DEBUG")) { + console.warn(`Overriding the gradient for '${kernelName}'`); + } + } + gradRegistry.set(kernelName, config3); +} +function unregisterKernel(kernelName, backendName) { + const key = makeKey(kernelName, backendName); + if (!kernelRegistry.has(key)) { + throw new Error(`The kernel '${kernelName}' for backend '${backendName}' is not registered`); + } + kernelRegistry.delete(key); +} +function unregisterGradient(kernelName) { + if (!gradRegistry.has(kernelName)) { + throw new Error(`The gradient '${kernelName}' for backend is not registered`); + } + gradRegistry.delete(kernelName); +} +function copyRegisteredKernels(registeredBackendName, newBackendName) { + const kernels = getKernelsForBackend(registeredBackendName); + kernels.forEach((kernelConfig) => { + const newKernelConfig = Object.assign({}, kernelConfig, { backendName: newBackendName }); + registerKernel(newKernelConfig); + }); +} +function makeKey(kernelName, backendName) { + return `${backendName}_${kernelName}`; +} +var util_exports = {}; +__export2(util_exports, { + arraysEqual: () => arraysEqual, + assert: () => assert, + assertNonNegativeIntegerDimensions: () => assertNonNegativeIntegerDimensions, + assertNonNull: () => assertNonNull, + assertShapesMatch: () => assertShapesMatch, + bytesFromStringArray: () => bytesFromStringArray, + bytesPerElement: () => bytesPerElement, + checkConversionForErrors: () => checkConversionForErrors, + clamp: () => clamp, + computeStrides: () => computeStrides, + createScalarValue: () => createScalarValue, + createShuffledIndices: () => createShuffledIndices, + decodeString: () => decodeString, + distSquared: () => distSquared, + encodeString: () => encodeString, + fetch: () => fetch2, + flatten: () => flatten, + getArrayFromDType: () => getArrayFromDType, + getTypedArrayFromDType: () => getTypedArrayFromDType, + hasEncodingLoss: () => hasEncodingLoss, + indexToLoc: () => indexToLoc, + inferDtype: () => inferDtype, + inferFromImplicitShape: () => inferFromImplicitShape, + isBoolean: () => isBoolean, + isFunction: () => isFunction, + isInt: () => isInt, + isNumber: () => isNumber, + isPromise: () => isPromise, + isScalarShape: () => isScalarShape, + isString: () => isString, + isTypedArray: () => isTypedArray, + isValidDtype: () => isValidDtype, + locToIndex: () => locToIndex, + makeOnesTypedArray: () => makeOnesTypedArray, + makeZerosNestedTypedArray: () => makeZerosNestedTypedArray, + makeZerosTypedArray: () => makeZerosTypedArray, + nearestDivisor: () => nearestDivisor, + nearestLargerEven: () => nearestLargerEven, + now: () => now2, + parseAxisParam: () => parseAxisParam, + randUniform: () => randUniform, + repeatedTry: () => repeatedTry, + rightPad: () => rightPad, + shuffle: () => shuffle, + shuffleCombo: () => shuffleCombo, + sizeFromShape: () => sizeFromShape, + sizeToSquarishShape: () => sizeToSquarishShape, + squeezeShape: () => squeezeShape, + sum: () => sum, + tanh: () => tanh, + toNestedArray: () => toNestedArray, + toTypedArray: () => toTypedArray +}); +function createScalarValue(value, dtype) { + if (dtype === "string") { + return encodeString(value); + } + return toTypedArray([value], dtype); +} +function noConversionNeeded(a, dtype) { + return a instanceof Float32Array && dtype === "float32" || a instanceof Int32Array && dtype === "int32" || a instanceof Uint8Array && dtype === "bool"; +} +function toTypedArray(a, dtype) { + if (dtype === "string") { + throw new Error("Cannot convert a string[] to a TypedArray"); + } + if (Array.isArray(a)) { + a = flatten(a); + } + if (env().getBool("DEBUG")) { + checkConversionForErrors(a, dtype); + } + if (noConversionNeeded(a, dtype)) { + return a; + } + if (dtype == null || dtype === "float32" || dtype === "complex64") { + return new Float32Array(a); + } else if (dtype === "int32") { + return new Int32Array(a); + } else if (dtype === "bool") { + const bool = new Uint8Array(a.length); + for (let i = 0; i < bool.length; ++i) { + if (Math.round(a[i]) !== 0) { + bool[i] = 1; + } + } + return bool; + } else { + throw new Error(`Unknown data type ${dtype}`); + } +} +function now2() { + return env().platform.now(); +} +function fetch2(path, requestInits) { + return env().platform.fetch(path, requestInits); +} +function encodeString(s, encoding = "utf-8") { + encoding = encoding || "utf-8"; + return env().platform.encode(s, encoding); +} +function decodeString(bytes, encoding = "utf-8") { + encoding = encoding || "utf-8"; + return env().platform.decode(bytes, encoding); +} +var Profiler = class { + constructor(backendTimer, logger) { + this.backendTimer = backendTimer; + this.logger = logger; + if (logger == null) { + this.logger = new Logger(); + } + } + profileKernel(kernelName, inputs, f) { + let outputs; + const holdResultWrapperFn = () => { + outputs = f(); + }; + let timer; + const start = now2(); + if (this.backendTimer.timerAvailable()) { + timer = this.backendTimer.time(holdResultWrapperFn); + } else { + holdResultWrapperFn(); + for (const output of outputs) { + output.dataSync(); + } + timer = Promise.resolve({ kernelMs: now2() - start }); + } + if (env().getBool("CHECK_COMPUTATION_FOR_ERRORS")) { + for (let i = 0; i < outputs.length; i++) { + const output = outputs[i]; + output.data().then((tensorVals) => { + checkComputationForErrors(tensorVals, output.dtype, kernelName); + }); + } + } + const kernelProfile = { + kernelName, + outputs, + inputs, + timeMs: timer.then((timing) => timing.kernelMs), + extraInfo: timer.then((timing) => timing.getExtraProfileInfo != null ? timing.getExtraProfileInfo() : "") + }; + return kernelProfile; + } + logKernelProfile(kernelProfile) { + const { kernelName, outputs, timeMs, inputs, extraInfo } = kernelProfile; + outputs.forEach((result) => { + Promise.all([result.data(), timeMs, extraInfo]).then((valueContainer) => { + this.logger.logKernelProfile(kernelName, result, valueContainer[0], valueContainer[1], inputs, valueContainer[2]); + }); + }); + } +}; +function checkComputationForErrors(vals, dtype, kernelName) { + if (dtype !== "float32") { + return false; + } + for (let i = 0; i < vals.length; i++) { + const num = vals[i]; + if (isNaN(num) || !isFinite(num)) { + console.warn(`Found ${num} in the result of '${kernelName}'`); + return true; + } + } + return false; +} +var Logger = class { + logKernelProfile(name6, result, vals, timeMs, inputs, extraInfo) { + const time2 = typeof timeMs === "number" ? rightPad(`${timeMs}ms`, 9) : timeMs["error"]; + const paddedName = rightPad(name6, 25); + const rank = result.rank; + const size = result.size; + const shape = rightPad(result.shape.toString(), 14); + let inputShapesDescription = ""; + for (const name7 in inputs) { + const input2 = inputs[name7]; + if (input2 != null) { + const inputShape = input2.shape || result.shape; + const inputRank = inputShape.length; + inputShapesDescription += `${name7}: ${inputRank}D ${inputRank > 0 ? inputShape : ""} `; + } + } + console.log(`%c${paddedName} %c${time2} %c${rank}D ${shape} %c${size} %c${inputShapesDescription} %c${extraInfo}`, "font-weight:bold", "color:red", "color:blue", "color: orange", "color: green", "color: steelblue"); + } +}; +function getFilteredNodesXToY(tape, xs, y) { + const tensorsFromX = {}; + const nodesFromX = {}; + for (let i = 0; i < xs.length; i++) { + tensorsFromX[xs[i].id] = true; + } + for (let i = 0; i < tape.length; i++) { + const node = tape[i]; + const nodeInputs = node.inputs; + for (const inputName in nodeInputs) { + const input2 = nodeInputs[inputName]; + let anyInputFromX = false; + for (let j = 0; j < xs.length; j++) { + if (tensorsFromX[input2.id]) { + node.outputs.forEach((output) => tensorsFromX[output.id] = true); + anyInputFromX = true; + nodesFromX[node.id] = true; + break; + } + } + if (anyInputFromX) { + break; + } + } + } + const tensorsLeadToY = {}; + tensorsLeadToY[y.id] = true; + const nodesToY = {}; + for (let i = tape.length - 1; i >= 0; i--) { + const node = tape[i]; + const nodeInputs = node.inputs; + for (let j = 0; j < node.outputs.length; j++) { + if (tensorsLeadToY[node.outputs[j].id]) { + for (const inputName in nodeInputs) { + tensorsLeadToY[nodeInputs[inputName].id] = true; + nodesToY[node.id] = true; + } + break; + } + } + } + const filteredTape = []; + for (let i = 0; i < tape.length; i++) { + const node = tape[i]; + if (nodesFromX[node.id] && nodesToY[node.id]) { + const prunedInputs = {}; + for (const inputName in node.inputs) { + const nodeInput = node.inputs[inputName]; + if (tensorsFromX[nodeInput.id]) { + prunedInputs[inputName] = nodeInput; + } + } + const prunedNode = Object.assign({}, node); + prunedNode.inputs = prunedInputs; + prunedNode.outputs = node.outputs; + filteredTape.push(prunedNode); + } + } + return filteredTape; +} +function backpropagateGradients(tensorAccumulatedGradientMap, filteredTape, tidy2, add5) { + for (let i = filteredTape.length - 1; i >= 0; i--) { + const node = filteredTape[i]; + const dys = []; + node.outputs.forEach((o) => { + const gradTensor = tensorAccumulatedGradientMap[o.id]; + if (gradTensor != null) { + dys.push(gradTensor); + } else { + dys.push(null); + } + }); + if (node.gradient == null) { + throw new Error(`Cannot compute gradient: gradient function not found for ${node.kernelName}.`); + } + const inputGradients = node.gradient(dys); + for (const inputName in node.inputs) { + if (!(inputName in inputGradients)) { + throw new Error(`Cannot backprop through input ${inputName}. Available gradients found: ${Object.keys(inputGradients)}.`); + } + const dx = tidy2(() => inputGradients[inputName]()); + if (dx.dtype !== "float32") { + throw new Error(`Error in gradient for op ${node.kernelName}. The gradient of input ${inputName} must have 'float32' dtype, but has '${dx.dtype}'`); + } + const x = node.inputs[inputName]; + if (!arraysEqual(dx.shape, x.shape)) { + throw new Error(`Error in gradient for op ${node.kernelName}. The gradient of input '${inputName}' has shape '${dx.shape}', which does not match the shape of the input '${x.shape}'`); + } + if (tensorAccumulatedGradientMap[x.id] == null) { + tensorAccumulatedGradientMap[x.id] = dx; + } else { + const curGradient = tensorAccumulatedGradientMap[x.id]; + tensorAccumulatedGradientMap[x.id] = add5(curGradient, dx); + curGradient.dispose(); + } + } + } +} +var FORMAT_LIMIT_NUM_VALS = 20; +var FORMAT_NUM_FIRST_LAST_VALS = 3; +var FORMAT_NUM_SIG_DIGITS = 7; +function tensorToString(vals, shape, dtype, verbose) { + const strides = computeStrides(shape); + const padPerCol = computeMaxSizePerColumn(vals, shape, dtype, strides); + const rank = shape.length; + const valsLines = subTensorToString(vals, shape, dtype, strides, padPerCol); + const lines2 = ["Tensor"]; + if (verbose) { + lines2.push(` dtype: ${dtype}`); + lines2.push(` rank: ${rank}`); + lines2.push(` shape: [${shape}]`); + lines2.push(` values:`); + } + lines2.push(valsLines.map((l) => " " + l).join("\n")); + return lines2.join("\n"); +} +function computeMaxSizePerColumn(vals, shape, dtype, strides) { + const n = sizeFromShape(shape); + const numCols = strides[strides.length - 1]; + const padPerCol = new Array(numCols).fill(0); + const rank = shape.length; + const valuesOrTuples = dtype === "complex64" ? createComplexTuples(vals) : vals; + if (rank > 1) { + for (let row = 0; row < n / numCols; row++) { + const offset = row * numCols; + for (let j = 0; j < numCols; j++) { + padPerCol[j] = Math.max(padPerCol[j], valToString(valuesOrTuples[offset + j], 0, dtype).length); + } + } + } + return padPerCol; +} +function valToString(val, pad3, dtype) { + let valStr; + if (Array.isArray(val)) { + valStr = `${parseFloat(val[0].toFixed(FORMAT_NUM_SIG_DIGITS))} + ${parseFloat(val[1].toFixed(FORMAT_NUM_SIG_DIGITS))}j`; + } else if (isString(val)) { + valStr = `'${val}'`; + } else if (dtype === "bool") { + valStr = boolNumToString(val); + } else { + valStr = parseFloat(val.toFixed(FORMAT_NUM_SIG_DIGITS)).toString(); + } + return rightPad(valStr, pad3); +} +function boolNumToString(v) { + return v === 0 ? "false" : "true"; +} +function subTensorToString(vals, shape, dtype, strides, padPerCol, isLast = true) { + const storagePerElement = dtype === "complex64" ? 2 : 1; + const size = shape[0]; + const rank = shape.length; + if (rank === 0) { + if (dtype === "complex64") { + const complexTuple = createComplexTuples(vals); + return [valToString(complexTuple[0], 0, dtype)]; + } + if (dtype === "bool") { + return [boolNumToString(vals[0])]; + } + return [vals[0].toString()]; + } + if (rank === 1) { + if (size > FORMAT_LIMIT_NUM_VALS) { + const firstValsSize = FORMAT_NUM_FIRST_LAST_VALS * storagePerElement; + let firstVals = Array.from(vals.slice(0, firstValsSize)); + let lastVals = Array.from(vals.slice((size - FORMAT_NUM_FIRST_LAST_VALS) * storagePerElement, size * storagePerElement)); + if (dtype === "complex64") { + firstVals = createComplexTuples(firstVals); + lastVals = createComplexTuples(lastVals); + } + return [ + "[" + firstVals.map((x, i) => valToString(x, padPerCol[i], dtype)).join(", ") + ", ..., " + lastVals.map((x, i) => valToString(x, padPerCol[size - FORMAT_NUM_FIRST_LAST_VALS + i], dtype)).join(", ") + "]" + ]; + } + const displayVals = dtype === "complex64" ? createComplexTuples(vals) : Array.from(vals); + return [ + "[" + displayVals.map((x, i) => valToString(x, padPerCol[i], dtype)).join(", ") + "]" + ]; + } + const subshape = shape.slice(1); + const substrides = strides.slice(1); + const stride = strides[0] * storagePerElement; + const lines2 = []; + if (size > FORMAT_LIMIT_NUM_VALS) { + for (let i = 0; i < FORMAT_NUM_FIRST_LAST_VALS; i++) { + const start = i * stride; + const end = start + stride; + lines2.push(...subTensorToString(vals.slice(start, end), subshape, dtype, substrides, padPerCol, false)); + } + lines2.push("..."); + for (let i = size - FORMAT_NUM_FIRST_LAST_VALS; i < size; i++) { + const start = i * stride; + const end = start + stride; + lines2.push(...subTensorToString(vals.slice(start, end), subshape, dtype, substrides, padPerCol, i === size - 1)); + } + } else { + for (let i = 0; i < size; i++) { + const start = i * stride; + const end = start + stride; + lines2.push(...subTensorToString(vals.slice(start, end), subshape, dtype, substrides, padPerCol, i === size - 1)); + } + } + const sep = rank === 2 ? "," : ""; + lines2[0] = "[" + lines2[0] + sep; + for (let i = 1; i < lines2.length - 1; i++) { + lines2[i] = " " + lines2[i] + sep; + } + let newLineSep = ",\n"; + for (let i = 2; i < rank; i++) { + newLineSep += "\n"; + } + lines2[lines2.length - 1] = " " + lines2[lines2.length - 1] + "]" + (isLast ? "" : newLineSep); + return lines2; +} +function createComplexTuples(vals) { + const complexTuples = []; + for (let i = 0; i < vals.length; i += 2) { + complexTuples.push([vals[i], vals[i + 1]]); + } + return complexTuples; +} +var TensorBuffer = class { + constructor(shape, dtype, values) { + this.dtype = dtype; + this.shape = shape.slice(); + this.size = sizeFromShape(shape); + if (values != null) { + const n = values.length; + assert(n === this.size, () => `Length of values '${n}' does not match the size inferred by the shape '${this.size}'.`); + } + if (dtype === "complex64") { + throw new Error(`complex64 dtype TensorBuffers are not supported. Please create a TensorBuffer for the real and imaginary parts separately and call tf.complex(real, imag).`); + } + this.values = values || getArrayFromDType(dtype, this.size); + this.strides = computeStrides(shape); + } + set(value, ...locs) { + if (locs.length === 0) { + locs = [0]; + } + assert(locs.length === this.rank, () => `The number of provided coordinates (${locs.length}) must match the rank (${this.rank})`); + const index = this.locToIndex(locs); + this.values[index] = value; + } + get(...locs) { + if (locs.length === 0) { + locs = [0]; + } + let i = 0; + for (const loc of locs) { + if (loc < 0 || loc >= this.shape[i]) { + const msg = `Requested out of range element at ${locs}. Buffer shape=${this.shape}`; + throw new Error(msg); + } + i++; + } + let index = locs[locs.length - 1]; + for (let i2 = 0; i2 < locs.length - 1; ++i2) { + index += this.strides[i2] * locs[i2]; + } + return this.values[index]; + } + locToIndex(locs) { + if (this.rank === 0) { + return 0; + } else if (this.rank === 1) { + return locs[0]; + } + let index = locs[locs.length - 1]; + for (let i = 0; i < locs.length - 1; ++i) { + index += this.strides[i] * locs[i]; + } + return index; + } + indexToLoc(index) { + if (this.rank === 0) { + return []; + } else if (this.rank === 1) { + return [index]; + } + const locs = new Array(this.shape.length); + for (let i = 0; i < locs.length - 1; ++i) { + locs[i] = Math.floor(index / this.strides[i]); + index -= locs[i] * this.strides[i]; + } + locs[locs.length - 1] = index; + return locs; + } + get rank() { + return this.shape.length; + } + toTensor() { + return trackerFn().makeTensor(this.values, this.shape, this.dtype); + } +}; +var trackerFn = null; +var opHandler = null; +var deprecationWarningFn = null; +function setTensorTracker(fn) { + trackerFn = fn; +} +function setOpHandler(handler) { + opHandler = handler; +} +function setDeprecationWarningFn(fn) { + deprecationWarningFn = fn; +} +var Tensor = class { + constructor(shape, dtype, dataId, id) { + this.kept = false; + this.isDisposedInternal = false; + this.shape = shape.slice(); + this.dtype = dtype || "float32"; + this.size = sizeFromShape(shape); + this.strides = computeStrides(shape); + this.dataId = dataId; + this.id = id; + this.rankType = this.rank < 5 ? this.rank.toString() : "higher"; + } + get rank() { + return this.shape.length; + } + async buffer() { + const vals = await this.data(); + return opHandler.buffer(this.shape, this.dtype, vals); + } + bufferSync() { + return opHandler.buffer(this.shape, this.dtype, this.dataSync()); + } + async array() { + const vals = await this.data(); + return toNestedArray(this.shape, vals, this.dtype === "complex64"); + } + arraySync() { + return toNestedArray(this.shape, this.dataSync(), this.dtype === "complex64"); + } + async data() { + this.throwIfDisposed(); + const data = trackerFn().read(this.dataId); + if (this.dtype === "string") { + const bytes = await data; + try { + return bytes.map((b) => decodeString(b)); + } catch (_a) { + throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes()."); + } + } + return data; + } + dataSync() { + this.throwIfDisposed(); + const data = trackerFn().readSync(this.dataId); + if (this.dtype === "string") { + try { + return data.map((b) => decodeString(b)); + } catch (_a) { + throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes()."); + } + } + return data; + } + async bytes() { + this.throwIfDisposed(); + const data = await trackerFn().read(this.dataId); + if (this.dtype === "string") { + return data; + } else { + return new Uint8Array(data.buffer); + } + } + dispose() { + if (this.isDisposed) { + return; + } + trackerFn().disposeTensor(this); + this.isDisposedInternal = true; + } + get isDisposed() { + return this.isDisposedInternal; + } + throwIfDisposed() { + if (this.isDisposed) { + throw new Error(`Tensor is disposed.`); + } + } + print(verbose = false) { + return opHandler.print(this, verbose); + } + clone() { + this.throwIfDisposed(); + return opHandler.clone(this); + } + toString(verbose = false) { + const vals = this.dataSync(); + return tensorToString(vals, this.shape, this.dtype, verbose); + } + cast(dtype) { + this.throwIfDisposed(); + return opHandler.cast(this, dtype); + } + variable(trainable = true, name6, dtype) { + this.throwIfDisposed(); + return trackerFn().makeVariable(this, trainable, name6, dtype); + } +}; +Object.defineProperty(Tensor, Symbol.hasInstance, { + value: (instance) => { + return !!instance && instance.data != null && instance.dataSync != null && instance.throwIfDisposed != null; + } +}); +function getGlobalTensorClass() { + return getGlobal("Tensor", () => { + return Tensor; + }); +} +getGlobalTensorClass(); +var Variable = class extends Tensor { + constructor(initialValue, trainable, name6, tensorId) { + super(initialValue.shape, initialValue.dtype, initialValue.dataId, tensorId); + this.trainable = trainable; + this.name = name6; + } + assign(newValue) { + if (newValue.dtype !== this.dtype) { + throw new Error(`dtype of the new value (${newValue.dtype}) and previous value (${this.dtype}) must match`); + } + if (!arraysEqual(newValue.shape, this.shape)) { + throw new Error(`shape of the new value (${newValue.shape}) and previous value (${this.shape}) must match`); + } + trackerFn().disposeTensor(this); + this.dataId = newValue.dataId; + trackerFn().incRef(this, null); + } + dispose() { + trackerFn().disposeVariable(this); + this.isDisposedInternal = true; + } +}; +Object.defineProperty(Variable, Symbol.hasInstance, { + value: (instance) => { + return instance instanceof Tensor && instance.assign != null && instance.assign instanceof Function; + } +}); +var tensor_util_exports = {}; +__export2(tensor_util_exports, { + assertTypesMatch: () => assertTypesMatch, + getTensorsInContainer: () => getTensorsInContainer, + isTensorInList: () => isTensorInList, + makeTypesMatch: () => makeTypesMatch +}); +var Rank; +(function(Rank2) { + Rank2["R0"] = "R0"; + Rank2["R1"] = "R1"; + Rank2["R2"] = "R2"; + Rank2["R3"] = "R3"; + Rank2["R4"] = "R4"; + Rank2["R5"] = "R5"; + Rank2["R6"] = "R6"; +})(Rank || (Rank = {})); +var UpcastInt32AndMap; +(function(UpcastInt32AndMap2) { + UpcastInt32AndMap2["float32"] = "float32"; + UpcastInt32AndMap2["int32"] = "int32"; + UpcastInt32AndMap2["bool"] = "int32"; + UpcastInt32AndMap2["complex64"] = "complex64"; +})(UpcastInt32AndMap || (UpcastInt32AndMap = {})); +var UpcastBoolAndMap; +(function(UpcastBoolAndMap2) { + UpcastBoolAndMap2["float32"] = "float32"; + UpcastBoolAndMap2["int32"] = "int32"; + UpcastBoolAndMap2["bool"] = "bool"; + UpcastBoolAndMap2["complex64"] = "complex64"; +})(UpcastBoolAndMap || (UpcastBoolAndMap = {})); +var UpcastFloat32AndMap; +(function(UpcastFloat32AndMap2) { + UpcastFloat32AndMap2["float32"] = "float32"; + UpcastFloat32AndMap2["int32"] = "float32"; + UpcastFloat32AndMap2["bool"] = "float32"; + UpcastFloat32AndMap2["complex64"] = "complex64"; +})(UpcastFloat32AndMap || (UpcastFloat32AndMap = {})); +var UpcastComplex64AndMap; +(function(UpcastComplex64AndMap2) { + UpcastComplex64AndMap2["float32"] = "complex64"; + UpcastComplex64AndMap2["int32"] = "complex64"; + UpcastComplex64AndMap2["bool"] = "complex64"; + UpcastComplex64AndMap2["complex64"] = "complex64"; +})(UpcastComplex64AndMap || (UpcastComplex64AndMap = {})); +var upcastTypeMap = { + "float32": UpcastFloat32AndMap, + "int32": UpcastInt32AndMap, + "bool": UpcastBoolAndMap, + "complex64": UpcastComplex64AndMap +}; +function upcastType(typeA, typeB) { + if (typeA === "string" || typeB === "string") { + if (typeA === "string" && typeB === "string") { + return "string"; + } + throw new Error(`Can not upcast ${typeA} with ${typeB}`); + } + return upcastTypeMap[typeA][typeB]; +} +function sumOutType(type) { + return upcastType(type, "int32"); +} +function makeTypesMatch(a, b) { + if (a.dtype === b.dtype) { + return [a, b]; + } + const dtype = upcastType(a.dtype, b.dtype); + return [a.cast(dtype), b.cast(dtype)]; +} +function assertTypesMatch(a, b) { + assert(a.dtype === b.dtype, () => `The dtypes of the first(${a.dtype}) and second(${b.dtype}) input must match`); +} +function isTensorInList(tensor2, tensorList) { + return tensorList.some((x) => x.id === tensor2.id); +} +function getTensorsInContainer(result) { + const list = []; + const seen = new Set(); + walkTensorContainer(result, list, seen); + return list; +} +function walkTensorContainer(container, list, seen) { + if (container == null) { + return; + } + if (container instanceof Tensor) { + list.push(container); + return; + } + if (!isIterable(container)) { + return; + } + const iterable = container; + for (const k in iterable) { + const val = iterable[k]; + if (!seen.has(val)) { + seen.add(val); + walkTensorContainer(val, list, seen); + } + } +} +function isIterable(obj) { + return Array.isArray(obj) || typeof obj === "object"; +} +function isRegisteredKernelInvocation(kernelInvocation) { + return kernelInvocation.kernelName != null; +} +var EngineState = class { + constructor() { + this.registeredVariables = {}; + this.nextTapeNodeId = 0; + this.numBytes = 0; + this.numTensors = 0; + this.numStringTensors = 0; + this.numDataBuffers = 0; + this.gradientDepth = 0; + this.kernelDepth = 0; + this.scopeStack = []; + this.numDataMovesStack = []; + this.nextScopeId = 0; + this.tensorInfo = new WeakMap(); + this.profiling = false; + this.activeProfile = { + newBytes: 0, + newTensors: 0, + peakBytes: 0, + kernels: [], + result: null, + get kernelNames() { + return Array.from(new Set(this.kernels.map((k) => k.name))); + } + }; + } + dispose() { + for (const variableName in this.registeredVariables) { + this.registeredVariables[variableName].dispose(); + } + } +}; +var Engine = class { + constructor(ENV5) { + this.ENV = ENV5; + this.registry = {}; + this.registryFactory = {}; + this.pendingBackendInitId = 0; + this.state = new EngineState(); + } + async ready() { + if (this.pendingBackendInit != null) { + return this.pendingBackendInit.then(() => { + }); + } + if (this.backendInstance != null) { + return; + } + const sortedBackends = this.getSortedBackends(); + for (let i = 0; i < sortedBackends.length; i++) { + const backendName = sortedBackends[i]; + const success = await this.initializeBackend(backendName).success; + if (success) { + await this.setBackend(backendName); + return; + } + } + throw new Error(`Could not initialize any backends, all backend initializations failed.`); + } + get backend() { + if (this.pendingBackendInit != null) { + throw new Error(`Backend '${this.backendName}' has not yet been initialized. Make sure to await tf.ready() or await tf.setBackend() before calling other methods`); + } + if (this.backendInstance == null) { + const { name: name6, asyncInit } = this.initializeBackendsAndReturnBest(); + if (asyncInit) { + throw new Error(`The highest priority backend '${name6}' has not yet been initialized. Make sure to await tf.ready() or await tf.setBackend() before calling other methods`); + } + this.setBackend(name6); + } + return this.backendInstance; + } + backendNames() { + return Object.keys(this.registryFactory); + } + findBackend(backendName) { + if (!(backendName in this.registry)) { + if (backendName in this.registryFactory) { + const { asyncInit } = this.initializeBackend(backendName); + if (asyncInit) { + return null; + } + } else { + return null; + } + } + return this.registry[backendName]; + } + findBackendFactory(backendName) { + if (!(backendName in this.registryFactory)) { + return null; + } + return this.registryFactory[backendName].factory; + } + registerBackend(backendName, factory, priority = 1) { + if (backendName in this.registryFactory) { + console.warn(`${backendName} backend was already registered. Reusing existing backend factory.`); + return false; + } + this.registryFactory[backendName] = { factory, priority }; + return true; + } + async setBackend(backendName) { + if (this.registryFactory[backendName] == null) { + throw new Error(`Backend name '${backendName}' not found in registry`); + } + this.backendName = backendName; + if (this.registry[backendName] == null) { + this.backendInstance = null; + const { success, asyncInit } = this.initializeBackend(backendName); + const result = asyncInit ? await success : success; + if (!result) { + return false; + } + } + this.backendInstance = this.registry[backendName]; + this.setupRegisteredKernels(); + this.profiler = new Profiler(this.backendInstance); + return true; + } + setupRegisteredKernels() { + const kernels = getKernelsForBackend(this.backendName); + kernels.forEach((kernel) => { + if (kernel.setupFunc != null) { + kernel.setupFunc(this.backendInstance); + } + }); + } + disposeRegisteredKernels(backendName) { + const kernels = getKernelsForBackend(backendName); + kernels.forEach((kernel) => { + if (kernel.disposeFunc != null) { + kernel.disposeFunc(this.registry[backendName]); + } + }); + } + initializeBackend(backendName) { + const registryFactoryEntry = this.registryFactory[backendName]; + if (registryFactoryEntry == null) { + throw new Error(`Cannot initialize backend ${backendName}, no registration found.`); + } + try { + const backend22 = registryFactoryEntry.factory(); + if (backend22 && !(backend22 instanceof KernelBackend) && typeof backend22.then === "function") { + const promiseId = ++this.pendingBackendInitId; + const success = backend22.then((backendInstance) => { + if (promiseId < this.pendingBackendInitId) { + return false; + } + this.registry[backendName] = backendInstance; + this.pendingBackendInit = null; + return true; + }).catch((err) => { + if (promiseId < this.pendingBackendInitId) { + return false; + } + this.pendingBackendInit = null; + console.warn(`Initialization of backend ${backendName} failed`); + console.warn(err.stack || err.message); + return false; + }); + this.pendingBackendInit = success; + return { success, asyncInit: true }; + } else { + this.registry[backendName] = backend22; + return { success: true, asyncInit: false }; + } + } catch (err) { + console.warn(`Initialization of backend ${backendName} failed`); + console.warn(err.stack || err.message); + return { success: false, asyncInit: false }; + } + } + removeBackend(backendName) { + if (!(backendName in this.registryFactory)) { + throw new Error(`${backendName} backend not found in registry`); + } + if (this.backendName === backendName && this.pendingBackendInit != null) { + this.pendingBackendInitId++; + } + if (backendName in this.registry) { + this.disposeRegisteredKernels(backendName); + this.registry[backendName].dispose(); + delete this.registry[backendName]; + } + delete this.registryFactory[backendName]; + if (this.backendName === backendName) { + this.pendingBackendInit = null; + this.backendName = null; + this.backendInstance = null; + } + } + getSortedBackends() { + if (Object.keys(this.registryFactory).length === 0) { + throw new Error("No backend found in registry."); + } + return Object.keys(this.registryFactory).sort((a, b) => { + return this.registryFactory[b].priority - this.registryFactory[a].priority; + }); + } + initializeBackendsAndReturnBest() { + const sortedBackends = this.getSortedBackends(); + for (let i = 0; i < sortedBackends.length; i++) { + const backendName = sortedBackends[i]; + const { success, asyncInit } = this.initializeBackend(backendName); + if (asyncInit || success) { + return { name: backendName, asyncInit }; + } + } + throw new Error(`Could not initialize any backends, all backend initializations failed.`); + } + moveData(backend22, dataId) { + const info2 = this.state.tensorInfo.get(dataId); + const srcBackend = info2.backend; + const values = this.readSync(dataId); + const refCount = srcBackend.refCount(dataId); + srcBackend.disposeData(dataId, true); + info2.backend = backend22; + backend22.move(dataId, values, info2.shape, info2.dtype, refCount); + if (this.shouldCheckForMemLeaks()) { + this.state.numDataMovesStack[this.state.numDataMovesStack.length - 1]++; + } + } + tidy(nameOrFn, fn) { + let name6 = null; + if (fn == null) { + if (typeof nameOrFn !== "function") { + throw new Error("Please provide a function to tidy()"); + } + fn = nameOrFn; + } else { + if (typeof nameOrFn !== "string" && !(nameOrFn instanceof String)) { + throw new Error("When calling with two arguments, the first argument to tidy() must be a string"); + } + if (typeof fn !== "function") { + throw new Error("When calling with two arguments, the 2nd argument to tidy() must be a function"); + } + name6 = nameOrFn; + } + let result; + return this.scopedRun(() => this.startScope(name6), () => this.endScope(result), () => { + result = fn(); + if (result instanceof Promise) { + console.error("Cannot return a Promise inside of tidy."); + } + return result; + }); + } + scopedRun(start, end, f) { + start(); + try { + const res = f(); + end(); + return res; + } catch (ex) { + end(); + throw ex; + } + } + nextTensorId() { + return Engine.nextTensorId++; + } + nextVariableId() { + return Engine.nextVariableId++; + } + clone(x) { + const y = ENGINE.runKernel(Identity, { x }); + const inputs = { x }; + const grad2 = (dy) => ({ + x: () => { + const dtype = "float32"; + const gradInputs = { x: dy }; + const attrs = { dtype }; + return ENGINE.runKernel(Cast, gradInputs, attrs); + } + }); + const saved = []; + this.addTapeNode(this.state.activeScope.name, inputs, [y], grad2, saved, {}); + return y; + } + runKernel(kernelName, inputs, attrs) { + const hasKernel = getKernel(kernelName, this.backendName) != null; + if (!hasKernel) { + throw new Error(`Kernel '${kernelName}' not registered for backend '${this.backendName}'`); + } + return this.runKernelFunc({ kernelName, inputs, attrs }); + } + shouldCheckForMemLeaks() { + return this.ENV.getBool("IS_TEST"); + } + checkKernelForMemLeak(kernelName, numDataIdsBefore, outInfos) { + const numDataIdsAfter = this.backend.numDataIds(); + let numOutputDataIds = 0; + outInfos.forEach((info2) => { + numOutputDataIds += info2.dtype === "complex64" ? 3 : 1; + }); + const numMoves = this.state.numDataMovesStack[this.state.numDataMovesStack.length - 1]; + const dataIdsLeaked = numDataIdsAfter - numDataIdsBefore - numOutputDataIds - numMoves; + if (dataIdsLeaked > 0) { + throw new Error(`Backend '${this.backendName}' has an internal memory leak (${dataIdsLeaked} data ids) after running '${kernelName}'`); + } + } + runKernelFunc(kernelParams) { + let outputs; + let saved = []; + const isTapeOn = this.isTapeOn(); + const startingBytecount = this.state.numBytes; + const startingNumTensors = this.state.numTensors; + if (this.shouldCheckForMemLeaks()) { + this.state.numDataMovesStack.push(0); + } + let kernelFunc3; + if (this.backendName == null) { + this.backend; + } + let out; + const kernelOrScopeName = isRegisteredKernelInvocation(kernelParams) ? kernelParams.kernelName : this.state.activeScope != null ? this.state.activeScope.name : ""; + if (isRegisteredKernelInvocation(kernelParams)) { + const { kernelName, inputs: inputs2, attrs: attrs2 } = kernelParams; + if (this.backendName == null) { + this.backend; + } + const kernel = getKernel(kernelName, this.backendName); + assert(kernel != null, () => `Cannot find registered kernel '${kernelName}' for backend '${this.backendName}'`); + kernelFunc3 = () => { + const numDataIdsBefore = this.backend.numDataIds(); + out = kernel.kernelFunc({ inputs: inputs2, attrs: attrs2, backend: this.backend }); + const outInfos = Array.isArray(out) ? out : [out]; + if (this.shouldCheckForMemLeaks()) { + this.checkKernelForMemLeak(kernelName, numDataIdsBefore, outInfos); + } + const outTensors = outInfos.map((outInfo) => { + if (outInfo.rank != null) { + return outInfo; + } + const { dataId, shape, dtype } = outInfo; + return this.makeTensorFromDataId(dataId, shape, dtype); + }); + if (isTapeOn) { + const tensorsToSave = this.getTensorsForGradient(kernelName, inputs2, outTensors); + saved = this.saveTensorsForBackwardMode(tensorsToSave); + } + return outTensors; + }; + } else { + const { forwardFunc } = kernelParams; + const saveFunc = (tensors) => { + if (!isTapeOn) { + return; + } + saved = tensors.map((tensor2) => this.keep(this.clone(tensor2))); + }; + kernelFunc3 = () => { + const numDataIdsBefore = this.backend.numDataIds(); + out = this.tidy(() => forwardFunc(this.backend, saveFunc)); + const outs = Array.isArray(out) ? out : [out]; + if (this.shouldCheckForMemLeaks()) { + this.checkKernelForMemLeak(kernelOrScopeName, numDataIdsBefore, outs); + } + return outs; + }; + } + const { inputs, attrs } = kernelParams; + const backwardsFunc = isRegisteredKernelInvocation(kernelParams) ? null : kernelParams.backwardsFunc; + let kernelProfile; + this.scopedRun(() => this.state.kernelDepth++, () => this.state.kernelDepth--, () => { + if (!this.ENV.getBool("DEBUG") && !this.state.profiling) { + outputs = kernelFunc3(); + } else { + kernelProfile = this.profiler.profileKernel(kernelOrScopeName, inputs, () => kernelFunc3()); + if (this.ENV.getBool("DEBUG")) { + this.profiler.logKernelProfile(kernelProfile); + } + outputs = kernelProfile.outputs; + } + }); + if (isTapeOn) { + this.addTapeNode(kernelOrScopeName, inputs, outputs, backwardsFunc, saved, attrs); + } + if (this.state.profiling) { + this.state.activeProfile.kernels.push({ + name: kernelOrScopeName, + bytesAdded: this.state.numBytes - startingBytecount, + totalBytesSnapshot: this.state.numBytes, + tensorsAdded: this.state.numTensors - startingNumTensors, + totalTensorsSnapshot: this.state.numTensors, + inputShapes: Object.keys(inputs).map((key) => inputs[key] != null ? inputs[key].shape : null), + outputShapes: outputs.map((item) => item.shape), + kernelTimeMs: kernelProfile.timeMs, + extraInfo: kernelProfile.extraInfo + }); + } + return Array.isArray(out) ? outputs : outputs[0]; + } + saveTensorsForBackwardMode(tensors) { + const saved = tensors.map((tensor2) => this.keep(this.clone(tensor2))); + return saved; + } + getTensorsForGradient(kernelName, inputs, outputs) { + const gradConfig = getGradient(kernelName); + if (gradConfig != null) { + const inputsToSave = gradConfig.inputsToSave || []; + const outputsToSave = gradConfig.outputsToSave || []; + let inputTensorsToSave; + if (gradConfig.saveAllInputs) { + assert(Array.isArray(inputs), () => "saveAllInputs is true, expected inputs to be an array."); + inputTensorsToSave = Object.keys(inputs).map((key) => inputs[key]); + } else { + inputTensorsToSave = inputsToSave.map((inputName) => inputs[inputName]); + } + const outputTensorsToSave = outputs.filter((_, i) => outputsToSave[i]); + return inputTensorsToSave.concat(outputTensorsToSave); + } + return []; + } + makeTensor(values, shape, dtype, backend22) { + if (values == null) { + throw new Error("Values passed to engine.makeTensor() are null"); + } + dtype = dtype || "float32"; + backend22 = backend22 || this.backend; + let backendVals = values; + if (dtype === "string" && isString(values[0])) { + backendVals = values.map((d) => encodeString(d)); + } + const dataId = backend22.write(backendVals, shape, dtype); + const t = new Tensor(shape, dtype, dataId, this.nextTensorId()); + this.trackTensor(t, backend22); + if (dtype === "string") { + const info2 = this.state.tensorInfo.get(dataId); + const newBytes = bytesFromStringArray(backendVals); + this.state.numBytes += newBytes - info2.bytes; + info2.bytes = newBytes; + } + return t; + } + makeTensorFromDataId(dataId, shape, dtype, backend22) { + dtype = dtype || "float32"; + const t = new Tensor(shape, dtype, dataId, this.nextTensorId()); + this.trackTensor(t, backend22); + return t; + } + makeVariable(initialValue, trainable = true, name6, dtype) { + name6 = name6 || this.nextVariableId().toString(); + if (dtype != null && dtype !== initialValue.dtype) { + initialValue = initialValue.cast(dtype); + } + const v = new Variable(initialValue, trainable, name6, this.nextTensorId()); + if (this.state.registeredVariables[v.name] != null) { + throw new Error(`Variable with name ${v.name} was already registered`); + } + this.state.registeredVariables[v.name] = v; + this.incRef(v, this.backend); + return v; + } + trackTensor(a, backend22) { + this.state.numTensors++; + if (a.dtype === "string") { + this.state.numStringTensors++; + } + let bytes = 0; + if (a.dtype !== "complex64" && a.dtype !== "string") { + bytes = a.size * bytesPerElement(a.dtype); + } + this.state.numBytes += bytes; + if (!this.state.tensorInfo.has(a.dataId)) { + this.state.numDataBuffers++; + this.state.tensorInfo.set(a.dataId, { + backend: backend22 || this.backend, + dtype: a.dtype, + shape: a.shape, + bytes + }); + } + if (!(a instanceof Variable)) { + this.track(a); + } + } + incRef(a, backend22) { + this.trackTensor(a, backend22); + this.backend.incRef(a.dataId); + } + removeDataId(dataId, backend22) { + if (this.state.tensorInfo.has(dataId) && this.state.tensorInfo.get(dataId).backend === backend22) { + this.state.tensorInfo.delete(dataId); + this.state.numDataBuffers--; + } + } + disposeTensor(a) { + if (!this.state.tensorInfo.has(a.dataId)) { + return; + } + const info2 = this.state.tensorInfo.get(a.dataId); + this.state.numTensors--; + if (a.dtype === "string") { + this.state.numStringTensors--; + this.state.numBytes -= info2.bytes; + } + if (a.dtype !== "complex64" && a.dtype !== "string") { + const bytes = a.size * bytesPerElement(a.dtype); + this.state.numBytes -= bytes; + } + if (info2.backend.disposeData(a.dataId)) { + this.removeDataId(a.dataId, info2.backend); + } + } + disposeVariables() { + for (const varName in this.state.registeredVariables) { + const v = this.state.registeredVariables[varName]; + this.disposeVariable(v); + } + } + disposeVariable(v) { + this.disposeTensor(v); + if (this.state.registeredVariables[v.name] != null) { + delete this.state.registeredVariables[v.name]; + } + } + memory() { + const info2 = this.backend.memory(); + info2.numTensors = this.state.numTensors; + info2.numDataBuffers = this.state.numDataBuffers; + info2.numBytes = this.state.numBytes; + if (this.state.numStringTensors > 0) { + info2.unreliable = true; + if (info2.reasons == null) { + info2.reasons = []; + } + info2.reasons.push("Memory usage by string tensors is approximate (2 bytes per character)"); + } + return info2; + } + async profile(query) { + this.state.profiling = true; + const startBytes = this.state.numBytes; + const startNumTensors = this.state.numTensors; + this.state.activeProfile.kernels = []; + this.state.activeProfile.result = await query(); + this.state.profiling = false; + this.state.activeProfile.peakBytes = Math.max(...this.state.activeProfile.kernels.map((d) => d.totalBytesSnapshot)); + this.state.activeProfile.newBytes = this.state.numBytes - startBytes; + this.state.activeProfile.newTensors = this.state.numTensors - startNumTensors; + for (const kernel of this.state.activeProfile.kernels) { + kernel.kernelTimeMs = await kernel.kernelTimeMs; + kernel.extraInfo = await kernel.extraInfo; + } + return this.state.activeProfile; + } + isTapeOn() { + return this.state.gradientDepth > 0 && this.state.kernelDepth === 0; + } + addTapeNode(kernelName, inputs, outputs, gradientsFunc, saved, attrs) { + const tapeNode = { id: this.state.nextTapeNodeId++, kernelName, inputs, outputs, saved }; + const gradConfig = getGradient(kernelName); + if (gradConfig != null) { + gradientsFunc = gradConfig.gradFunc; + } + if (gradientsFunc != null) { + tapeNode.gradient = (dys) => { + dys = dys.map((dy, i) => { + if (dy == null) { + const output = outputs[i]; + const vals = makeZerosTypedArray(output.size, output.dtype); + return this.makeTensor(vals, output.shape, output.dtype); + } + return dy; + }); + return gradientsFunc(dys.length > 1 ? dys : dys[0], saved, attrs); + }; + } + this.state.activeTape.push(tapeNode); + } + keep(result) { + result.kept = true; + return result; + } + startTape() { + if (this.state.gradientDepth === 0) { + this.state.activeTape = []; + } + this.state.gradientDepth++; + } + endTape() { + this.state.gradientDepth--; + } + startScope(name6) { + const scopeInfo = { + track: [], + name: "unnamed scope", + id: this.state.nextScopeId++ + }; + if (name6) { + scopeInfo.name = name6; + } + this.state.scopeStack.push(scopeInfo); + this.state.activeScope = scopeInfo; + } + endScope(result) { + const tensorsToTrackInParent = getTensorsInContainer(result); + const tensorsToTrackInParentSet = new Set(tensorsToTrackInParent.map((t) => t.id)); + for (let i = 0; i < this.state.activeScope.track.length; i++) { + const tensor2 = this.state.activeScope.track[i]; + if (!tensor2.kept && !tensorsToTrackInParentSet.has(tensor2.id)) { + tensor2.dispose(); + } + } + const oldScope = this.state.scopeStack.pop(); + this.state.activeScope = this.state.scopeStack.length === 0 ? null : this.state.scopeStack[this.state.scopeStack.length - 1]; + tensorsToTrackInParent.forEach((tensor2) => { + if (!tensor2.kept && tensor2.scopeId === oldScope.id) { + this.track(tensor2); + } + }); + } + gradients(f, xs, dy, allowNoGradients = false) { + assert(xs.length > 0, () => "gradients() received an empty list of xs."); + if (dy != null && dy.dtype !== "float32") { + throw new Error(`dy must have 'float32' dtype, but has '${dy.dtype}'`); + } + const y = this.scopedRun(() => this.startTape(), () => this.endTape(), () => this.tidy("forward", f)); + assert(y instanceof Tensor, () => "The result y returned by f() must be a tensor."); + const filteredTape = getFilteredNodesXToY(this.state.activeTape, xs, y); + if (!allowNoGradients && filteredTape.length === 0 && xs.length > 0) { + throw new Error("Cannot compute gradient of y=f(x) with respect to x. Make sure that the f you passed encloses all operations that lead from x to y."); + } + return this.tidy("backward", () => { + const accumulatedGradientMap = {}; + accumulatedGradientMap[y.id] = dy == null ? ones(y.shape) : dy; + backpropagateGradients(accumulatedGradientMap, filteredTape, (f2) => this.tidy(f2), add); + const grads2 = xs.map((x) => accumulatedGradientMap[x.id]); + if (this.state.gradientDepth === 0) { + this.state.activeTape.forEach((node) => { + for (const tensor2 of node.saved) { + tensor2.dispose(); + } + }); + this.state.activeTape = null; + } + return { value: y, grads: grads2 }; + }); + } + customGrad(f) { + assert(isFunction(f), () => "The f passed in customGrad(f) must be a function."); + return (...inputs) => { + assert(inputs.every((t) => t instanceof Tensor), () => "The args passed in customGrad(f)(x1, x2,...) must all be tensors"); + let res; + const inputMap = {}; + inputs.forEach((input2, i) => { + inputMap[i] = input2; + }); + const forwardFunc = (_, save) => { + res = f(...[...inputs, save]); + assert(res.value instanceof Tensor, () => "The function f passed in customGrad(f) must return an object where `obj.value` is a tensor"); + assert(isFunction(res.gradFunc), () => "The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function."); + return res.value; + }; + const backwardsFunc = (dy, saved) => { + const gradRes = res.gradFunc(dy, saved); + const grads2 = Array.isArray(gradRes) ? gradRes : [gradRes]; + assert(grads2.length === inputs.length, () => "The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns the same number of tensors as inputs passed to f(...)."); + assert(grads2.every((t) => t instanceof Tensor), () => "The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns a list of only tensors."); + const gradMap = {}; + grads2.forEach((grad2, i) => { + gradMap[i] = () => grad2; + }); + return gradMap; + }; + return this.runKernelFunc({ + forwardFunc, + backwardsFunc, + inputs: inputMap + }); + }; + } + readSync(dataId) { + const info2 = this.state.tensorInfo.get(dataId); + return info2.backend.readSync(dataId); + } + read(dataId) { + const info2 = this.state.tensorInfo.get(dataId); + return info2.backend.read(dataId); + } + async time(query) { + const start = now2(); + const timingInfo = await this.backend.time(query); + timingInfo.wallMs = now2() - start; + return timingInfo; + } + track(result) { + if (this.state.activeScope != null) { + result.scopeId = this.state.activeScope.id; + this.state.activeScope.track.push(result); + } + return result; + } + get registeredVariables() { + return this.state.registeredVariables; + } + reset() { + this.pendingBackendInitId++; + this.state.dispose(); + this.ENV.reset(); + this.state = new EngineState(); + for (const backendName in this.registry) { + this.disposeRegisteredKernels(backendName); + this.registry[backendName].dispose(); + delete this.registry[backendName]; + } + this.backendName = null; + this.backendInstance = null; + this.pendingBackendInit = null; + } +}; +Engine.nextTensorId = 0; +Engine.nextVariableId = 0; +function ones(shape) { + const values = makeOnesTypedArray(sizeFromShape(shape), "float32"); + return ENGINE.makeTensor(values, shape, "float32"); +} +function getOrMakeEngine() { + const ns = getGlobalNamespace(); + if (ns._tfengine == null) { + const environment = new Environment(ns); + ns._tfengine = new Engine(environment); + } + setEnvironmentGlobal(ns._tfengine.ENV); + setTensorTracker(() => ns._tfengine); + return ns._tfengine; +} +var ENGINE = getOrMakeEngine(); +function add(a, b) { + const inputs = { a, b }; + return ENGINE.runKernel(Add, inputs); +} +var device_util_exports = {}; +__export2(device_util_exports, { + isBrowser: () => isBrowser, + isMobile: () => isMobile +}); +function _isNavigatorDefined() { + return typeof navigator !== "undefined" && navigator != null; +} +function isMobile(nav) { + if (nav || _isNavigatorDefined()) { + if (!nav) { + nav = navigator; + } + if (nav.product === "ReactNative") { + return true; + } + const a = nav.userAgent || nav.vendor || window.opera; + return /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0, 4)); + } + return false; +} +function isBrowser() { + return typeof window !== "undefined" && window.document != null || typeof WorkerGlobalScope !== "undefined"; +} +var ENV2 = env(); +ENV2.registerFlag("DEBUG", () => false, (debugValue) => { + if (debugValue) { + console.warn("Debugging mode is ON. The output of every math call will be downloaded to CPU and checked for NaNs. This significantly impacts performance."); + } +}); +ENV2.registerFlag("IS_BROWSER", () => isBrowser()); +ENV2.registerFlag("IS_NODE", () => typeof process !== "undefined" && typeof process.versions !== "undefined" && typeof process.versions.node !== "undefined"); +ENV2.registerFlag("IS_CHROME", () => typeof navigator !== "undefined" && navigator != null && navigator.userAgent != null && /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor)); +ENV2.registerFlag("PROD", () => false); +ENV2.registerFlag("TENSORLIKE_CHECK_SHAPE_CONSISTENCY", () => ENV2.getBool("DEBUG")); +ENV2.registerFlag("DEPRECATION_WARNINGS_ENABLED", () => true); +ENV2.registerFlag("IS_TEST", () => false); +ENV2.registerFlag("CHECK_COMPUTATION_FOR_ERRORS", () => true); +ENV2.registerFlag("WRAP_TO_IMAGEBITMAP", () => false); +function inferShape(val, dtype) { + let firstElem = val; + if (isTypedArray(val)) { + return dtype === "string" ? [] : [val.length]; + } + if (!Array.isArray(val)) { + return []; + } + const shape = []; + while (Array.isArray(firstElem) || isTypedArray(firstElem) && dtype !== "string") { + shape.push(firstElem.length); + firstElem = firstElem[0]; + } + if (Array.isArray(val) && env().getBool("TENSORLIKE_CHECK_SHAPE_CONSISTENCY")) { + deepAssertShapeConsistency(val, shape, []); + } + return shape; +} +function deepAssertShapeConsistency(val, shape, indices) { + indices = indices || []; + if (!Array.isArray(val) && !isTypedArray(val)) { + assert(shape.length === 0, () => `Element arr[${indices.join("][")}] is a primitive, but should be an array/TypedArray of ${shape[0]} elements`); + return; + } + assert(shape.length > 0, () => `Element arr[${indices.join("][")}] should be a primitive, but is an array of ${val.length} elements`); + assert(val.length === shape[0], () => `Element arr[${indices.join("][")}] should have ${shape[0]} elements, but has ${val.length} elements`); + const subShape = shape.slice(1); + for (let i = 0; i < val.length; ++i) { + deepAssertShapeConsistency(val[i], subShape, indices.concat(i)); + } +} +function assertDtype(expectedDtype, actualDType, argName, functionName) { + if (expectedDtype === "string_or_numeric") { + return; + } + if (expectedDtype == null) { + throw new Error(`Expected dtype cannot be null.`); + } + if (expectedDtype !== "numeric" && expectedDtype !== actualDType || expectedDtype === "numeric" && actualDType === "string") { + throw new Error(`Argument '${argName}' passed to '${functionName}' must be ${expectedDtype} tensor, but got ${actualDType} tensor`); + } +} +function convertToTensor(x, argName, functionName, parseAsDtype = "numeric") { + if (x instanceof Tensor) { + assertDtype(parseAsDtype, x.dtype, argName, functionName); + return x; + } + let inferredDtype = inferDtype(x); + if (inferredDtype !== "string" && ["bool", "int32", "float32"].indexOf(parseAsDtype) >= 0) { + inferredDtype = parseAsDtype; + } + assertDtype(parseAsDtype, inferredDtype, argName, functionName); + if (x == null || !isTypedArray(x) && !Array.isArray(x) && typeof x !== "number" && typeof x !== "boolean" && typeof x !== "string") { + const type = x == null ? "null" : x.constructor.name; + throw new Error(`Argument '${argName}' passed to '${functionName}' must be a Tensor or TensorLike, but got '${type}'`); + } + const inferredShape = inferShape(x, inferredDtype); + if (!isTypedArray(x) && !Array.isArray(x)) { + x = [x]; + } + const skipTypedArray = true; + const values = inferredDtype !== "string" ? toTypedArray(x, inferredDtype) : flatten(x, [], skipTypedArray); + return ENGINE.makeTensor(values, inferredShape, inferredDtype); +} +function convertToTensorArray(arg, argName, functionName, parseAsDtype = "numeric") { + if (!Array.isArray(arg)) { + throw new Error(`Argument ${argName} passed to ${functionName} must be a \`Tensor[]\` or \`TensorLike[]\``); + } + const tensors = arg; + return tensors.map((t, i) => convertToTensor(t, `${argName}[${i}]`, functionName, parseAsDtype)); +} +var OP_SCOPE_SUFFIX = "__op"; +function op(f) { + const keys = Object.keys(f); + if (keys.length !== 1) { + throw new Error(`Please provide an object with a single key (operation name) mapping to a function. Got an object with ${keys.length} keys.`); + } + let opName = keys[0]; + const fn = f[opName]; + if (opName.endsWith("_")) { + opName = opName.substring(0, opName.length - 1); + } + opName = opName + OP_SCOPE_SUFFIX; + const f2 = (...args) => { + ENGINE.startScope(opName); + try { + const result = fn(...args); + if (isPromise(result)) { + console.error("Cannot return a Promise inside of tidy."); + } + ENGINE.endScope(result); + return result; + } catch (ex) { + ENGINE.endScope(null); + throw ex; + } + }; + Object.defineProperty(f2, "name", { value: opName, configurable: true }); + return f2; +} +function complex_(real4, imag4) { + const $real = convertToTensor(real4, "real", "complex"); + const $imag = convertToTensor(imag4, "imag", "complex"); + assertShapesMatch($real.shape, $imag.shape, `real and imag shapes, ${$real.shape} and ${$imag.shape}, must match in call to tf.complex().`); + const inputs = { real: $real, imag: $imag }; + return ENGINE.runKernel(Complex, inputs); +} +var complex = op({ complex_ }); +function makeTensor(values, shape, inferredShape, dtype) { + if (dtype == null) { + dtype = inferDtype(values); + } + if (dtype === "complex64") { + throw new Error(`Cannot construct a complex64 tensor directly. Please use tf.complex(real, imag).`); + } + if (!isTypedArray(values) && !Array.isArray(values) && typeof values !== "number" && typeof values !== "boolean" && typeof values !== "string") { + throw new Error("values passed to tensor(values) must be a number/boolean/string or an array of numbers/booleans/strings, or a TypedArray"); + } + if (shape != null) { + assertNonNegativeIntegerDimensions(shape); + const providedSize = sizeFromShape(shape); + const inferredSize = sizeFromShape(inferredShape); + assert(providedSize === inferredSize, () => `Based on the provided shape, [${shape}], the tensor should have ${providedSize} values but has ${inferredSize}`); + for (let i = 0; i < inferredShape.length; ++i) { + const inferred = inferredShape[i]; + const flatDimsDontMatch = i === inferredShape.length - 1 ? inferred !== sizeFromShape(shape.slice(i)) : true; + assert(inferredShape[i] === shape[i] || !flatDimsDontMatch, () => `Error creating a new Tensor. Inferred shape (${inferredShape}) does not match the provided shape (${shape}). `); + } + } + if (!isTypedArray(values) && !Array.isArray(values)) { + values = [values]; + } + shape = shape || inferredShape; + values = dtype !== "string" ? toTypedArray(values, dtype) : flatten(values, [], true); + return ENGINE.makeTensor(values, shape, dtype); +} +function tensor(values, shape, dtype) { + const inferredShape = inferShape(values, dtype); + return makeTensor(values, shape, inferredShape, dtype); +} +var DTYPE_VALUE_SIZE_MAP = { + "float32": 4, + "float16": 2, + "int32": 4, + "uint16": 2, + "uint8": 1, + "bool": 1, + "complex64": 8 +}; +var NUM_BYTES_STRING_LENGTH = 4; +async function encodeWeights(tensors, group) { + const specs = []; + const dataPromises = []; + const names = Array.isArray(tensors) ? tensors.map((tensor2) => tensor2.name) : Object.keys(tensors); + for (let i = 0; i < names.length; ++i) { + const name6 = names[i]; + const t = Array.isArray(tensors) ? tensors[i].tensor : tensors[name6]; + if (t.dtype !== "float32" && t.dtype !== "int32" && t.dtype !== "bool" && t.dtype !== "string" && t.dtype !== "complex64") { + throw new Error(`Unsupported dtype in weight '${name6}': ${t.dtype}`); + } + const spec = { name: name6, shape: t.shape, dtype: t.dtype }; + if (t.dtype === "string") { + const utf8bytes = new Promise(async (resolve) => { + const vals = await t.bytes(); + const totalNumBytes = vals.reduce((p2, c) => p2 + c.length, 0) + NUM_BYTES_STRING_LENGTH * vals.length; + const bytes = new Uint8Array(totalNumBytes); + let offset = 0; + for (let i2 = 0; i2 < vals.length; i2++) { + const val = vals[i2]; + const bytesOfLength = new Uint8Array(new Uint32Array([val.length]).buffer); + bytes.set(bytesOfLength, offset); + offset += NUM_BYTES_STRING_LENGTH; + bytes.set(val, offset); + offset += val.length; + } + resolve(bytes); + }); + dataPromises.push(utf8bytes); + } else { + dataPromises.push(t.data()); + } + if (group != null) { + spec.group = group; + } + specs.push(spec); + } + const tensorValues = await Promise.all(dataPromises); + return { data: concatenateTypedArrays(tensorValues), specs }; +} +function decodeWeights(buffer2, specs) { + const out = {}; + let float16Decode; + let offset = 0; + for (const spec of specs) { + const name6 = spec.name; + const dtype = spec.dtype; + const shape = spec.shape; + const size = sizeFromShape(shape); + let values; + if ("quantization" in spec) { + const quantization = spec.quantization; + if (quantization.dtype === "uint8" || quantization.dtype === "uint16") { + if (!("min" in quantization && "scale" in quantization)) { + throw new Error(`Weight ${spec.name} with quantization ${quantization.dtype} doesn't have corresponding metadata min and scale.`); + } + } else if (quantization.dtype === "float16") { + if (dtype !== "float32") { + throw new Error(`Weight ${spec.name} is quantized with ${quantization.dtype} which only supports weights of type float32 not ${dtype}.`); + } + } else { + throw new Error(`Weight ${spec.name} has unknown quantization dtype ${quantization.dtype}. Supported quantization dtypes are: 'uint8', 'uint16', and 'float16'.`); + } + const quantizationSizeFactor = DTYPE_VALUE_SIZE_MAP[quantization.dtype]; + const byteBuffer = buffer2.slice(offset, offset + size * quantizationSizeFactor); + const quantizedArray = quantization.dtype === "uint8" ? new Uint8Array(byteBuffer) : new Uint16Array(byteBuffer); + if (dtype === "float32") { + if (quantization.dtype === "uint8" || quantization.dtype === "uint16") { + values = new Float32Array(quantizedArray.length); + for (let i = 0; i < quantizedArray.length; i++) { + const v = quantizedArray[i]; + values[i] = v * quantization.scale + quantization.min; + } + } else if (quantization.dtype === "float16") { + if (float16Decode === void 0) { + float16Decode = getFloat16Decoder(); + } + values = float16Decode(quantizedArray); + } else { + throw new Error(`Unsupported quantization type ${quantization.dtype} for weight type float32.`); + } + } else if (dtype === "int32") { + if (quantization.dtype !== "uint8" && quantization.dtype !== "uint16") { + throw new Error(`Unsupported quantization type ${quantization.dtype} for weight type int32.`); + } + values = new Int32Array(quantizedArray.length); + for (let i = 0; i < quantizedArray.length; i++) { + const v = quantizedArray[i]; + values[i] = Math.round(v * quantization.scale + quantization.min); + } + } else { + throw new Error(`Unsupported dtype in weight '${name6}': ${dtype}`); + } + offset += size * quantizationSizeFactor; + } else if (dtype === "string") { + const size2 = sizeFromShape(spec.shape); + values = []; + for (let i = 0; i < size2; i++) { + const byteLength = new Uint32Array(buffer2.slice(offset, offset + NUM_BYTES_STRING_LENGTH))[0]; + offset += NUM_BYTES_STRING_LENGTH; + const bytes = new Uint8Array(buffer2.slice(offset, offset + byteLength)); + values.push(bytes); + offset += byteLength; + } + } else { + const dtypeFactor = DTYPE_VALUE_SIZE_MAP[dtype]; + const byteBuffer = buffer2.slice(offset, offset + size * dtypeFactor); + if (dtype === "float32") { + values = new Float32Array(byteBuffer); + } else if (dtype === "int32") { + values = new Int32Array(byteBuffer); + } else if (dtype === "bool") { + values = new Uint8Array(byteBuffer); + } else if (dtype === "complex64") { + values = new Float32Array(byteBuffer); + const real4 = new Float32Array(values.length / 2); + const image3 = new Float32Array(values.length / 2); + for (let i = 0; i < real4.length; i++) { + real4[i] = values[i * 2]; + image3[i] = values[i * 2 + 1]; + } + const realTensor = tensor(real4, shape, "float32"); + const imageTensor = tensor(image3, shape, "float32"); + out[name6] = complex(realTensor, imageTensor); + realTensor.dispose(); + imageTensor.dispose(); + } else { + throw new Error(`Unsupported dtype in weight '${name6}': ${dtype}`); + } + offset += size * dtypeFactor; + } + if (dtype !== "complex64") { + out[name6] = tensor(values, shape, dtype); + } + } + return out; +} +function concatenateTypedArrays(xs) { + if (xs === null) { + throw new Error(`Invalid input value: ${JSON.stringify(xs)}`); + } + let totalByteLength = 0; + const normalizedXs = []; + xs.forEach((x) => { + totalByteLength += x.byteLength; + normalizedXs.push(x.byteLength === x.buffer.byteLength ? x : new x.constructor(x)); + if (!(x instanceof Float32Array || x instanceof Int32Array || x instanceof Uint8Array)) { + throw new Error(`Unsupported TypedArray subtype: ${x.constructor.name}`); + } + }); + const y = new Uint8Array(totalByteLength); + let offset = 0; + normalizedXs.forEach((x) => { + y.set(new Uint8Array(x.buffer), offset); + offset += x.byteLength; + }); + return y.buffer; +} +var useNodeBuffer = typeof Buffer !== "undefined" && (typeof Blob === "undefined" || typeof atob === "undefined" || typeof btoa === "undefined"); +function stringByteLength(str) { + if (useNodeBuffer) { + return Buffer.byteLength(str); + } + return new Blob([str]).size; +} +function arrayBufferToBase64String(buffer2) { + if (useNodeBuffer) { + return Buffer.from(buffer2).toString("base64"); + } + const buf = new Uint8Array(buffer2); + let s = ""; + for (let i = 0, l = buf.length; i < l; i++) { + s += String.fromCharCode(buf[i]); + } + return btoa(s); +} +function base64StringToArrayBuffer(str) { + if (useNodeBuffer) { + const buf = Buffer.from(str, "base64"); + return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + } + const s = atob(str); + const buffer2 = new Uint8Array(s.length); + for (let i = 0; i < s.length; ++i) { + buffer2.set([s.charCodeAt(i)], i); + } + return buffer2.buffer; +} +function concatenateArrayBuffers(buffers) { + if (buffers.length === 1) { + return buffers[0]; + } + let totalByteLength = 0; + buffers.forEach((buffer2) => { + totalByteLength += buffer2.byteLength; + }); + const temp = new Uint8Array(totalByteLength); + let offset = 0; + buffers.forEach((buffer2) => { + temp.set(new Uint8Array(buffer2), offset); + offset += buffer2.byteLength; + }); + return temp.buffer; +} +function basename(path) { + const SEPARATOR = "/"; + path = path.trim(); + while (path.endsWith(SEPARATOR)) { + path = path.slice(0, path.length - 1); + } + const items = path.split(SEPARATOR); + return items[items.length - 1]; +} +function getModelArtifactsInfoForJSON(modelArtifacts) { + if (modelArtifacts.modelTopology instanceof ArrayBuffer) { + throw new Error("Expected JSON model topology, received ArrayBuffer."); + } + return { + dateSaved: new Date(), + modelTopologyType: "JSON", + modelTopologyBytes: modelArtifacts.modelTopology == null ? 0 : stringByteLength(JSON.stringify(modelArtifacts.modelTopology)), + weightSpecsBytes: modelArtifacts.weightSpecs == null ? 0 : stringByteLength(JSON.stringify(modelArtifacts.weightSpecs)), + weightDataBytes: modelArtifacts.weightData == null ? 0 : modelArtifacts.weightData.byteLength + }; +} +function computeFloat16MantisaTable() { + const convertMantissa = (i) => { + let m = i << 13; + let e = 0; + while ((m & 8388608) === 0) { + e -= 8388608; + m <<= 1; + } + m &= ~8388608; + e += 947912704; + return m | e; + }; + const mantisaTable = new Uint32Array(2048); + mantisaTable[0] = 0; + for (let i = 1; i < 1024; i++) { + mantisaTable[i] = convertMantissa(i); + } + for (let i = 1024; i < 2048; i++) { + mantisaTable[i] = 939524096 + (i - 1024 << 13); + } + return mantisaTable; +} +function computeFloat16ExponentTable() { + const exponentTable = new Uint32Array(64); + exponentTable[0] = 0; + exponentTable[31] = 1199570944; + exponentTable[32] = 2147483648; + exponentTable[63] = 3347054592; + for (let i = 1; i < 31; i++) { + exponentTable[i] = i << 23; + } + for (let i = 33; i < 63; i++) { + exponentTable[i] = 2147483648 + (i - 32 << 23); + } + return exponentTable; +} +function computeFloat16OffsetTable() { + const offsetTable = new Uint32Array(64); + for (let i = 0; i < 64; i++) { + offsetTable[i] = 1024; + } + offsetTable[0] = offsetTable[32] = 0; + return offsetTable; +} +function getFloat16Decoder() { + const mantisaTable = computeFloat16MantisaTable(); + const exponentTable = computeFloat16ExponentTable(); + const offsetTable = computeFloat16OffsetTable(); + return (quantizedArray) => { + const buffer2 = new ArrayBuffer(4 * quantizedArray.length); + const bufferUint32View = new Uint32Array(buffer2); + for (let index = 0; index < quantizedArray.length; index++) { + const float16Bits = quantizedArray[index]; + const float32Bits = mantisaTable[offsetTable[float16Bits >> 10] + (float16Bits & 1023)] + exponentTable[float16Bits >> 10]; + bufferUint32View[index] = float32Bits; + } + return new Float32Array(buffer2); + }; +} +var IORouterRegistry = class { + constructor() { + this.saveRouters = []; + this.loadRouters = []; + } + static getInstance() { + if (IORouterRegistry.instance == null) { + IORouterRegistry.instance = new IORouterRegistry(); + } + return IORouterRegistry.instance; + } + static registerSaveRouter(saveRouter) { + IORouterRegistry.getInstance().saveRouters.push(saveRouter); + } + static registerLoadRouter(loadRouter) { + IORouterRegistry.getInstance().loadRouters.push(loadRouter); + } + static getSaveHandlers(url) { + return IORouterRegistry.getHandlers(url, "save"); + } + static getLoadHandlers(url, loadOptions) { + return IORouterRegistry.getHandlers(url, "load", loadOptions); + } + static getHandlers(url, handlerType, loadOptions) { + const validHandlers = []; + const routers = handlerType === "load" ? IORouterRegistry.getInstance().loadRouters : IORouterRegistry.getInstance().saveRouters; + routers.forEach((router) => { + const handler = router(url, loadOptions); + if (handler !== null) { + validHandlers.push(handler); + } + }); + return validHandlers; + } +}; +var registerSaveRouter = (loudRouter) => IORouterRegistry.registerSaveRouter(loudRouter); +var registerLoadRouter = (loudRouter) => IORouterRegistry.registerLoadRouter(loudRouter); +var getSaveHandlers = (url) => IORouterRegistry.getSaveHandlers(url); +var getLoadHandlers = (url, loadOptions) => IORouterRegistry.getLoadHandlers(url, loadOptions); +var DATABASE_NAME = "tensorflowjs"; +var DATABASE_VERSION = 1; +var MODEL_STORE_NAME = "models_store"; +var INFO_STORE_NAME = "model_info_store"; +function getIndexedDBFactory() { + if (!env().getBool("IS_BROWSER")) { + throw new Error("Failed to obtain IndexedDB factory because the current environmentis not a web browser."); + } + const theWindow = typeof window === "undefined" ? self : window; + const factory = theWindow.indexedDB || theWindow.mozIndexedDB || theWindow.webkitIndexedDB || theWindow.msIndexedDB || theWindow.shimIndexedDB; + if (factory == null) { + throw new Error("The current browser does not appear to support IndexedDB."); + } + return factory; +} +function setUpDatabase(openRequest) { + const db = openRequest.result; + db.createObjectStore(MODEL_STORE_NAME, { keyPath: "modelPath" }); + db.createObjectStore(INFO_STORE_NAME, { keyPath: "modelPath" }); +} +var BrowserIndexedDB = class { + constructor(modelPath) { + this.indexedDB = getIndexedDBFactory(); + if (modelPath == null || !modelPath) { + throw new Error("For IndexedDB, modelPath must not be null, undefined or empty."); + } + this.modelPath = modelPath; + } + async save(modelArtifacts) { + if (modelArtifacts.modelTopology instanceof ArrayBuffer) { + throw new Error("BrowserLocalStorage.save() does not support saving model topology in binary formats yet."); + } + return this.databaseAction(this.modelPath, modelArtifacts); + } + async load() { + return this.databaseAction(this.modelPath); + } + databaseAction(modelPath, modelArtifacts) { + return new Promise((resolve, reject) => { + const openRequest = this.indexedDB.open(DATABASE_NAME, DATABASE_VERSION); + openRequest.onupgradeneeded = () => setUpDatabase(openRequest); + openRequest.onsuccess = () => { + const db = openRequest.result; + if (modelArtifacts == null) { + const modelTx = db.transaction(MODEL_STORE_NAME, "readonly"); + const modelStore = modelTx.objectStore(MODEL_STORE_NAME); + const getRequest = modelStore.get(this.modelPath); + getRequest.onsuccess = () => { + if (getRequest.result == null) { + db.close(); + return reject(new Error(`Cannot find model with path '${this.modelPath}' in IndexedDB.`)); + } else { + resolve(getRequest.result.modelArtifacts); + } + }; + getRequest.onerror = (error) => { + db.close(); + return reject(getRequest.error); + }; + modelTx.oncomplete = () => db.close(); + } else { + const modelArtifactsInfo = getModelArtifactsInfoForJSON(modelArtifacts); + const infoTx = db.transaction(INFO_STORE_NAME, "readwrite"); + let infoStore = infoTx.objectStore(INFO_STORE_NAME); + const putInfoRequest = infoStore.put({ modelPath: this.modelPath, modelArtifactsInfo }); + let modelTx; + putInfoRequest.onsuccess = () => { + modelTx = db.transaction(MODEL_STORE_NAME, "readwrite"); + const modelStore = modelTx.objectStore(MODEL_STORE_NAME); + const putModelRequest = modelStore.put({ + modelPath: this.modelPath, + modelArtifacts, + modelArtifactsInfo + }); + putModelRequest.onsuccess = () => resolve({ modelArtifactsInfo }); + putModelRequest.onerror = (error) => { + infoStore = infoTx.objectStore(INFO_STORE_NAME); + const deleteInfoRequest = infoStore.delete(this.modelPath); + deleteInfoRequest.onsuccess = () => { + db.close(); + return reject(putModelRequest.error); + }; + deleteInfoRequest.onerror = (error2) => { + db.close(); + return reject(putModelRequest.error); + }; + }; + }; + putInfoRequest.onerror = (error) => { + db.close(); + return reject(putInfoRequest.error); + }; + infoTx.oncomplete = () => { + if (modelTx == null) { + db.close(); + } else { + modelTx.oncomplete = () => db.close(); + } + }; + } + }; + openRequest.onerror = (error) => reject(openRequest.error); + }); + } +}; +BrowserIndexedDB.URL_SCHEME = "indexeddb://"; +var indexedDBRouter = (url) => { + if (!env().getBool("IS_BROWSER")) { + return null; + } else { + if (!Array.isArray(url) && url.startsWith(BrowserIndexedDB.URL_SCHEME)) { + return browserIndexedDB(url.slice(BrowserIndexedDB.URL_SCHEME.length)); + } else { + return null; + } + } +}; +IORouterRegistry.registerSaveRouter(indexedDBRouter); +IORouterRegistry.registerLoadRouter(indexedDBRouter); +function browserIndexedDB(modelPath) { + return new BrowserIndexedDB(modelPath); +} +function maybeStripScheme(key) { + return key.startsWith(BrowserIndexedDB.URL_SCHEME) ? key.slice(BrowserIndexedDB.URL_SCHEME.length) : key; +} +var BrowserIndexedDBManager = class { + constructor() { + this.indexedDB = getIndexedDBFactory(); + } + async listModels() { + return new Promise((resolve, reject) => { + const openRequest = this.indexedDB.open(DATABASE_NAME, DATABASE_VERSION); + openRequest.onupgradeneeded = () => setUpDatabase(openRequest); + openRequest.onsuccess = () => { + const db = openRequest.result; + const tx = db.transaction(INFO_STORE_NAME, "readonly"); + const store = tx.objectStore(INFO_STORE_NAME); + const getAllInfoRequest = store.getAll(); + getAllInfoRequest.onsuccess = () => { + const out = {}; + for (const item of getAllInfoRequest.result) { + out[item.modelPath] = item.modelArtifactsInfo; + } + resolve(out); + }; + getAllInfoRequest.onerror = (error) => { + db.close(); + return reject(getAllInfoRequest.error); + }; + tx.oncomplete = () => db.close(); + }; + openRequest.onerror = (error) => reject(openRequest.error); + }); + } + async removeModel(path) { + path = maybeStripScheme(path); + return new Promise((resolve, reject) => { + const openRequest = this.indexedDB.open(DATABASE_NAME, DATABASE_VERSION); + openRequest.onupgradeneeded = () => setUpDatabase(openRequest); + openRequest.onsuccess = () => { + const db = openRequest.result; + const infoTx = db.transaction(INFO_STORE_NAME, "readwrite"); + const infoStore = infoTx.objectStore(INFO_STORE_NAME); + const getInfoRequest = infoStore.get(path); + let modelTx; + getInfoRequest.onsuccess = () => { + if (getInfoRequest.result == null) { + db.close(); + return reject(new Error(`Cannot find model with path '${path}' in IndexedDB.`)); + } else { + const deleteInfoRequest = infoStore.delete(path); + const deleteModelData = () => { + modelTx = db.transaction(MODEL_STORE_NAME, "readwrite"); + const modelStore = modelTx.objectStore(MODEL_STORE_NAME); + const deleteModelRequest = modelStore.delete(path); + deleteModelRequest.onsuccess = () => resolve(getInfoRequest.result.modelArtifactsInfo); + deleteModelRequest.onerror = (error) => reject(getInfoRequest.error); + }; + deleteInfoRequest.onsuccess = deleteModelData; + deleteInfoRequest.onerror = (error) => { + deleteModelData(); + db.close(); + return reject(getInfoRequest.error); + }; + } + }; + getInfoRequest.onerror = (error) => { + db.close(); + return reject(getInfoRequest.error); + }; + infoTx.oncomplete = () => { + if (modelTx == null) { + db.close(); + } else { + modelTx.oncomplete = () => db.close(); + } + }; + }; + openRequest.onerror = (error) => reject(openRequest.error); + }); + } +}; +var PATH_SEPARATOR = "/"; +var PATH_PREFIX = "tensorflowjs_models"; +var INFO_SUFFIX = "info"; +var MODEL_TOPOLOGY_SUFFIX = "model_topology"; +var WEIGHT_SPECS_SUFFIX = "weight_specs"; +var WEIGHT_DATA_SUFFIX = "weight_data"; +var MODEL_METADATA_SUFFIX = "model_metadata"; +function getModelKeys(path) { + return { + info: [PATH_PREFIX, path, INFO_SUFFIX].join(PATH_SEPARATOR), + topology: [PATH_PREFIX, path, MODEL_TOPOLOGY_SUFFIX].join(PATH_SEPARATOR), + weightSpecs: [PATH_PREFIX, path, WEIGHT_SPECS_SUFFIX].join(PATH_SEPARATOR), + weightData: [PATH_PREFIX, path, WEIGHT_DATA_SUFFIX].join(PATH_SEPARATOR), + modelMetadata: [PATH_PREFIX, path, MODEL_METADATA_SUFFIX].join(PATH_SEPARATOR) + }; +} +function getModelPathFromKey(key) { + const items = key.split(PATH_SEPARATOR); + if (items.length < 3) { + throw new Error(`Invalid key format: ${key}`); + } + return items.slice(1, items.length - 1).join(PATH_SEPARATOR); +} +function maybeStripScheme2(key) { + return key.startsWith(BrowserLocalStorage.URL_SCHEME) ? key.slice(BrowserLocalStorage.URL_SCHEME.length) : key; +} +var BrowserLocalStorage = class { + constructor(modelPath) { + if (!env().getBool("IS_BROWSER") || typeof window === "undefined" || typeof window.localStorage === "undefined") { + throw new Error("The current environment does not support local storage."); + } + this.LS = window.localStorage; + if (modelPath == null || !modelPath) { + throw new Error("For local storage, modelPath must not be null, undefined or empty."); + } + this.modelPath = modelPath; + this.keys = getModelKeys(this.modelPath); + } + async save(modelArtifacts) { + if (modelArtifacts.modelTopology instanceof ArrayBuffer) { + throw new Error("BrowserLocalStorage.save() does not support saving model topology in binary formats yet."); + } else { + const topology = JSON.stringify(modelArtifacts.modelTopology); + const weightSpecs = JSON.stringify(modelArtifacts.weightSpecs); + const modelArtifactsInfo = getModelArtifactsInfoForJSON(modelArtifacts); + try { + this.LS.setItem(this.keys.info, JSON.stringify(modelArtifactsInfo)); + this.LS.setItem(this.keys.topology, topology); + this.LS.setItem(this.keys.weightSpecs, weightSpecs); + this.LS.setItem(this.keys.weightData, arrayBufferToBase64String(modelArtifacts.weightData)); + const result = { + format: modelArtifacts.format, + generatedBy: modelArtifacts.generatedBy, + convertedBy: modelArtifacts.convertedBy + }; + if (modelArtifacts.signature != null) { + result.signature = modelArtifacts.signature; + } + if (modelArtifacts.userDefinedMetadata != null) { + result.userDefinedMetadata = modelArtifacts.userDefinedMetadata; + } + if (modelArtifacts.modelInitializer != null) { + result.modelInitializer = modelArtifacts.modelInitializer; + } + this.LS.setItem(this.keys.modelMetadata, JSON.stringify(result)); + return { modelArtifactsInfo }; + } catch (err) { + this.LS.removeItem(this.keys.info); + this.LS.removeItem(this.keys.topology); + this.LS.removeItem(this.keys.weightSpecs); + this.LS.removeItem(this.keys.weightData); + this.LS.removeItem(this.keys.modelMetadata); + throw new Error(`Failed to save model '${this.modelPath}' to local storage: size quota being exceeded is a possible cause of this failure: modelTopologyBytes=${modelArtifactsInfo.modelTopologyBytes}, weightSpecsBytes=${modelArtifactsInfo.weightSpecsBytes}, weightDataBytes=${modelArtifactsInfo.weightDataBytes}.`); + } + } + } + async load() { + const info2 = JSON.parse(this.LS.getItem(this.keys.info)); + if (info2 == null) { + throw new Error(`In local storage, there is no model with name '${this.modelPath}'`); + } + if (info2.modelTopologyType !== "JSON") { + throw new Error("BrowserLocalStorage does not support loading non-JSON model topology yet."); + } + const out = {}; + const topology = JSON.parse(this.LS.getItem(this.keys.topology)); + if (topology == null) { + throw new Error(`In local storage, the topology of model '${this.modelPath}' is missing.`); + } + out.modelTopology = topology; + const weightSpecs = JSON.parse(this.LS.getItem(this.keys.weightSpecs)); + if (weightSpecs == null) { + throw new Error(`In local storage, the weight specs of model '${this.modelPath}' are missing.`); + } + out.weightSpecs = weightSpecs; + const metadataString = this.LS.getItem(this.keys.modelMetadata); + if (metadataString != null) { + const metadata = JSON.parse(metadataString); + out.format = metadata["format"]; + out.generatedBy = metadata["generatedBy"]; + out.convertedBy = metadata["convertedBy"]; + if (metadata["signature"] != null) { + out.signature = metadata["signature"]; + } + if (metadata["userDefinedMetadata"] != null) { + out.userDefinedMetadata = metadata["userDefinedMetadata"]; + } + if (metadata["modelInitializer"] != null) { + out.modelInitializer = metadata["modelInitializer"]; + } + } + const weightDataBase64 = this.LS.getItem(this.keys.weightData); + if (weightDataBase64 == null) { + throw new Error(`In local storage, the binary weight values of model '${this.modelPath}' are missing.`); + } + out.weightData = base64StringToArrayBuffer(weightDataBase64); + return out; + } +}; +BrowserLocalStorage.URL_SCHEME = "localstorage://"; +var localStorageRouter = (url) => { + if (!env().getBool("IS_BROWSER")) { + return null; + } else { + if (!Array.isArray(url) && url.startsWith(BrowserLocalStorage.URL_SCHEME)) { + return browserLocalStorage(url.slice(BrowserLocalStorage.URL_SCHEME.length)); + } else { + return null; + } + } +}; +IORouterRegistry.registerSaveRouter(localStorageRouter); +IORouterRegistry.registerLoadRouter(localStorageRouter); +function browserLocalStorage(modelPath) { + return new BrowserLocalStorage(modelPath); +} +var BrowserLocalStorageManager = class { + constructor() { + assert(env().getBool("IS_BROWSER"), () => "Current environment is not a web browser"); + assert(typeof window === "undefined" || typeof window.localStorage !== "undefined", () => "Current browser does not appear to support localStorage"); + this.LS = window.localStorage; + } + async listModels() { + const out = {}; + const prefix = PATH_PREFIX + PATH_SEPARATOR; + const suffix = PATH_SEPARATOR + INFO_SUFFIX; + for (let i = 0; i < this.LS.length; ++i) { + const key = this.LS.key(i); + if (key.startsWith(prefix) && key.endsWith(suffix)) { + const modelPath = getModelPathFromKey(key); + out[modelPath] = JSON.parse(this.LS.getItem(key)); + } + } + return out; + } + async removeModel(path) { + path = maybeStripScheme2(path); + const keys = getModelKeys(path); + if (this.LS.getItem(keys.info) == null) { + throw new Error(`Cannot find model at path '${path}'`); + } + const info2 = JSON.parse(this.LS.getItem(keys.info)); + this.LS.removeItem(keys.info); + this.LS.removeItem(keys.topology); + this.LS.removeItem(keys.weightSpecs); + this.LS.removeItem(keys.weightData); + return info2; + } +}; +var URL_SCHEME_SUFFIX = "://"; +var ModelStoreManagerRegistry = class { + constructor() { + this.managers = {}; + } + static getInstance() { + if (ModelStoreManagerRegistry.instance == null) { + ModelStoreManagerRegistry.instance = new ModelStoreManagerRegistry(); + } + return ModelStoreManagerRegistry.instance; + } + static registerManager(scheme, manager) { + assert(scheme != null, () => "scheme must not be undefined or null."); + if (scheme.endsWith(URL_SCHEME_SUFFIX)) { + scheme = scheme.slice(0, scheme.indexOf(URL_SCHEME_SUFFIX)); + } + assert(scheme.length > 0, () => "scheme must not be an empty string."); + const registry = ModelStoreManagerRegistry.getInstance(); + assert(registry.managers[scheme] == null, () => `A model store manager is already registered for scheme '${scheme}'.`); + registry.managers[scheme] = manager; + } + static getManager(scheme) { + const manager = this.getInstance().managers[scheme]; + if (manager == null) { + throw new Error(`Cannot find model manager for scheme '${scheme}'`); + } + return manager; + } + static getSchemes() { + return Object.keys(this.getInstance().managers); + } +}; +function parseURL(url) { + if (url.indexOf(URL_SCHEME_SUFFIX) === -1) { + throw new Error(`The url string provided does not contain a scheme. Supported schemes are: ${ModelStoreManagerRegistry.getSchemes().join(",")}`); + } + return { + scheme: url.split(URL_SCHEME_SUFFIX)[0], + path: url.split(URL_SCHEME_SUFFIX)[1] + }; +} +async function cloneModelInternal(sourceURL, destURL, deleteSource = false) { + assert(sourceURL !== destURL, () => `Old path and new path are the same: '${sourceURL}'`); + const loadHandlers = IORouterRegistry.getLoadHandlers(sourceURL); + assert(loadHandlers.length > 0, () => `Copying failed because no load handler is found for source URL ${sourceURL}.`); + assert(loadHandlers.length < 2, () => `Copying failed because more than one (${loadHandlers.length}) load handlers for source URL ${sourceURL}.`); + const loadHandler = loadHandlers[0]; + const saveHandlers = IORouterRegistry.getSaveHandlers(destURL); + assert(saveHandlers.length > 0, () => `Copying failed because no save handler is found for destination URL ${destURL}.`); + assert(saveHandlers.length < 2, () => `Copying failed because more than one (${loadHandlers.length}) save handlers for destination URL ${destURL}.`); + const saveHandler = saveHandlers[0]; + const sourceScheme = parseURL(sourceURL).scheme; + const sourcePath = parseURL(sourceURL).path; + const sameMedium = sourceScheme === parseURL(sourceURL).scheme; + const modelArtifacts = await loadHandler.load(); + if (deleteSource && sameMedium) { + await ModelStoreManagerRegistry.getManager(sourceScheme).removeModel(sourcePath); + } + const saveResult = await saveHandler.save(modelArtifacts); + if (deleteSource && !sameMedium) { + await ModelStoreManagerRegistry.getManager(sourceScheme).removeModel(sourcePath); + } + return saveResult.modelArtifactsInfo; +} +async function listModels() { + const schemes = ModelStoreManagerRegistry.getSchemes(); + const out = {}; + for (const scheme of schemes) { + const schemeOut = await ModelStoreManagerRegistry.getManager(scheme).listModels(); + for (const path in schemeOut) { + const url = scheme + URL_SCHEME_SUFFIX + path; + out[url] = schemeOut[path]; + } + } + return out; +} +async function removeModel(url) { + const schemeAndPath = parseURL(url); + const manager = ModelStoreManagerRegistry.getManager(schemeAndPath.scheme); + return manager.removeModel(schemeAndPath.path); +} +async function copyModel(sourceURL, destURL) { + const deleteSource = false; + return cloneModelInternal(sourceURL, destURL, deleteSource); +} +async function moveModel(sourceURL, destURL) { + const deleteSource = true; + return cloneModelInternal(sourceURL, destURL, deleteSource); +} +var PlatformBrowser = class { + fetch(path, init2) { + return fetch(path, init2); + } + now() { + return performance.now(); + } + encode(text, encoding) { + if (encoding !== "utf-8" && encoding !== "utf8") { + throw new Error(`Browser's encoder only supports utf-8, but got ${encoding}`); + } + if (this.textEncoder == null) { + this.textEncoder = new TextEncoder(); + } + return this.textEncoder.encode(text); + } + decode(bytes, encoding) { + return new TextDecoder(encoding).decode(bytes); + } +}; +if (env().get("IS_BROWSER")) { + env().setPlatform("browser", new PlatformBrowser()); + try { + ModelStoreManagerRegistry.registerManager(BrowserLocalStorage.URL_SCHEME, new BrowserLocalStorageManager()); + } catch (err) { + } + try { + ModelStoreManagerRegistry.registerManager(BrowserIndexedDB.URL_SCHEME, new BrowserIndexedDBManager()); + } catch (err) { + } +} +var getNodeFetch = { + importFetch: () => require_browser() +}; +var systemFetch; +var PlatformNode = class { + constructor() { + this.util = __require2("util"); + this.textEncoder = new this.util.TextEncoder(); + } + fetch(path, requestInits) { + if (env().global.fetch != null) { + return env().global.fetch(path, requestInits); + } + if (systemFetch == null) { + systemFetch = getNodeFetch.importFetch(); + } + return systemFetch(path, requestInits); + } + now() { + const time2 = process.hrtime(); + return time2[0] * 1e3 + time2[1] / 1e6; + } + encode(text, encoding) { + if (encoding !== "utf-8" && encoding !== "utf8") { + throw new Error(`Node built-in encoder only supports utf-8, but got ${encoding}`); + } + return this.textEncoder.encode(text); + } + decode(bytes, encoding) { + if (bytes.length === 0) { + return ""; + } + return new this.util.TextDecoder(encoding).decode(bytes); + } +}; +if (env().get("IS_NODE")) { + env().setPlatform("node", new PlatformNode()); +} +function buffer(shape, dtype = "float32", values) { + dtype = dtype || "float32"; + assertNonNegativeIntegerDimensions(shape); + return new TensorBuffer(shape, dtype, values); +} +function cast_(x, dtype) { + const $x = convertToTensor(x, "x", "cast"); + if (!isValidDtype(dtype)) { + throw new Error(`Failed to cast to unknown dtype ${dtype}`); + } + if (dtype === "string" && $x.dtype !== "string" || dtype !== "string" && $x.dtype === "string") { + throw new Error("Only strings can be casted to strings"); + } + const inputs = { x: $x }; + const attrs = { dtype }; + return ENGINE.runKernel(Cast, inputs, attrs); +} +var cast = op({ cast_ }); +function clone_(x) { + const $x = convertToTensor(x, "x", "clone", "string_or_numeric"); + const inputs = { x: $x }; + return ENGINE.runKernel(Identity, inputs); +} +var clone = op({ clone_ }); +function print2(x, verbose = false) { + console.log(x.toString(verbose)); +} +getOrMakeEngine(); +var opHandler2 = { + buffer, + cast, + clone, + print: print2 +}; +setOpHandler(opHandler2); +var io_exports = {}; +__export2(io_exports, { + browserFiles: () => browserFiles, + browserHTTPRequest: () => browserHTTPRequest, + concatenateArrayBuffers: () => concatenateArrayBuffers, + copyModel: () => copyModel, + decodeWeights: () => decodeWeights, + encodeWeights: () => encodeWeights, + fromMemory: () => fromMemory, + getLoadHandlers: () => getLoadHandlers, + getModelArtifactsInfoForJSON: () => getModelArtifactsInfoForJSON, + getSaveHandlers: () => getSaveHandlers, + http: () => http, + isHTTPScheme: () => isHTTPScheme, + listModels: () => listModels, + loadWeights: () => loadWeights, + moveModel: () => moveModel, + registerLoadRouter: () => registerLoadRouter, + registerSaveRouter: () => registerSaveRouter, + removeModel: () => removeModel, + weightsLoaderFactory: () => weightsLoaderFactory, + withSaveHandler: () => withSaveHandler +}); +var DEFAULT_FILE_NAME_PREFIX = "model"; +var DEFAULT_JSON_EXTENSION_NAME = ".json"; +var DEFAULT_WEIGHT_DATA_EXTENSION_NAME = ".weights.bin"; +function defer(f) { + return new Promise((resolve) => setTimeout(resolve)).then(f); +} +var BrowserDownloads = class { + constructor(fileNamePrefix) { + if (!env().getBool("IS_BROWSER")) { + throw new Error("browserDownloads() cannot proceed because the current environment is not a browser."); + } + if (fileNamePrefix.startsWith(BrowserDownloads.URL_SCHEME)) { + fileNamePrefix = fileNamePrefix.slice(BrowserDownloads.URL_SCHEME.length); + } + if (fileNamePrefix == null || fileNamePrefix.length === 0) { + fileNamePrefix = DEFAULT_FILE_NAME_PREFIX; + } + this.modelTopologyFileName = fileNamePrefix + DEFAULT_JSON_EXTENSION_NAME; + this.weightDataFileName = fileNamePrefix + DEFAULT_WEIGHT_DATA_EXTENSION_NAME; + } + async save(modelArtifacts) { + if (typeof document === "undefined") { + throw new Error("Browser downloads are not supported in this environment since `document` is not present"); + } + const weightsURL = window.URL.createObjectURL(new Blob([modelArtifacts.weightData], { type: "application/octet-stream" })); + if (modelArtifacts.modelTopology instanceof ArrayBuffer) { + throw new Error("BrowserDownloads.save() does not support saving model topology in binary formats yet."); + } else { + const weightsManifest = [{ + paths: ["./" + this.weightDataFileName], + weights: modelArtifacts.weightSpecs + }]; + const modelTopologyAndWeightManifest = { + modelTopology: modelArtifacts.modelTopology, + format: modelArtifacts.format, + generatedBy: modelArtifacts.generatedBy, + convertedBy: modelArtifacts.convertedBy, + weightsManifest + }; + if (modelArtifacts.signature != null) { + modelTopologyAndWeightManifest.signature = modelArtifacts.signature; + } + if (modelArtifacts.userDefinedMetadata != null) { + modelTopologyAndWeightManifest.userDefinedMetadata = modelArtifacts.userDefinedMetadata; + } + if (modelArtifacts.modelInitializer != null) { + modelTopologyAndWeightManifest.modelInitializer = modelArtifacts.modelInitializer; + } + const modelTopologyAndWeightManifestURL = window.URL.createObjectURL(new Blob([JSON.stringify(modelTopologyAndWeightManifest)], { type: "application/json" })); + const jsonAnchor = this.jsonAnchor == null ? document.createElement("a") : this.jsonAnchor; + jsonAnchor.download = this.modelTopologyFileName; + jsonAnchor.href = modelTopologyAndWeightManifestURL; + await defer(() => jsonAnchor.dispatchEvent(new MouseEvent("click"))); + if (modelArtifacts.weightData != null) { + const weightDataAnchor = this.weightDataAnchor == null ? document.createElement("a") : this.weightDataAnchor; + weightDataAnchor.download = this.weightDataFileName; + weightDataAnchor.href = weightsURL; + await defer(() => weightDataAnchor.dispatchEvent(new MouseEvent("click"))); + } + return { modelArtifactsInfo: getModelArtifactsInfoForJSON(modelArtifacts) }; + } + } +}; +BrowserDownloads.URL_SCHEME = "downloads://"; +var BrowserFiles = class { + constructor(files) { + if (files == null || files.length < 1) { + throw new Error(`When calling browserFiles, at least 1 file is required, but received ${files}`); + } + this.files = files; + } + async load() { + const jsonFile = this.files[0]; + const weightFiles = this.files.slice(1); + return new Promise((resolve, reject) => { + const jsonReader = new FileReader(); + jsonReader.onload = (event) => { + const modelJSON = JSON.parse(event.target.result); + const modelTopology = modelJSON.modelTopology; + if (modelTopology == null) { + reject(new Error(`modelTopology field is missing from file ${jsonFile.name}`)); + return; + } + if (weightFiles.length === 0) { + resolve({ modelTopology }); + } + const weightsManifest = modelJSON.weightsManifest; + if (weightsManifest == null) { + reject(new Error(`weightManifest field is missing from file ${jsonFile.name}`)); + return; + } + let pathToFile; + try { + pathToFile = this.checkManifestAndWeightFiles(weightsManifest, weightFiles); + } catch (err) { + reject(err); + return; + } + const weightSpecs = []; + const paths = []; + const perFileBuffers = []; + weightsManifest.forEach((weightsGroup) => { + weightsGroup.paths.forEach((path) => { + paths.push(path); + perFileBuffers.push(null); + }); + weightSpecs.push(...weightsGroup.weights); + }); + weightsManifest.forEach((weightsGroup) => { + weightsGroup.paths.forEach((path) => { + const weightFileReader = new FileReader(); + weightFileReader.onload = (event2) => { + const weightData = event2.target.result; + const index = paths.indexOf(path); + perFileBuffers[index] = weightData; + if (perFileBuffers.indexOf(null) === -1) { + const result = { + modelTopology, + weightSpecs, + weightData: concatenateArrayBuffers(perFileBuffers), + format: modelJSON.format, + generatedBy: modelJSON.generatedBy, + convertedBy: modelJSON.convertedBy + }; + if (modelJSON.signature != null) { + result.signature = modelJSON.signature; + } + if (modelJSON.userDefinedMetadata != null) { + result.userDefinedMetadata = modelJSON.userDefinedMetadata; + } + if (modelJSON.modelInitializer != null) { + result.modelInitializer = modelJSON.modelInitializer; + } + resolve(result); + } + }; + weightFileReader.onerror = (error) => reject(`Failed to weights data from file of path '${path}'.`); + weightFileReader.readAsArrayBuffer(pathToFile[path]); + }); + }); + }; + jsonReader.onerror = (error) => reject(`Failed to read model topology and weights manifest JSON from file '${jsonFile.name}'. BrowserFiles supports loading Keras-style tf.Model artifacts only.`); + jsonReader.readAsText(jsonFile); + }); + } + checkManifestAndWeightFiles(manifest, files) { + const basenames = []; + const fileNames = files.map((file) => basename(file.name)); + const pathToFile = {}; + for (const group of manifest) { + group.paths.forEach((path) => { + const pathBasename = basename(path); + if (basenames.indexOf(pathBasename) !== -1) { + throw new Error(`Duplicate file basename found in weights manifest: '${pathBasename}'`); + } + basenames.push(pathBasename); + if (fileNames.indexOf(pathBasename) === -1) { + throw new Error(`Weight file with basename '${pathBasename}' is not provided.`); + } else { + pathToFile[path] = files[fileNames.indexOf(pathBasename)]; + } + }); + } + if (basenames.length !== files.length) { + throw new Error(`Mismatch in the number of files in weights manifest (${basenames.length}) and the number of weight files provided (${files.length}).`); + } + return pathToFile; + } +}; +var browserDownloadsRouter = (url) => { + if (!env().getBool("IS_BROWSER")) { + return null; + } else { + if (!Array.isArray(url) && url.startsWith(BrowserDownloads.URL_SCHEME)) { + return browserDownloads(url.slice(BrowserDownloads.URL_SCHEME.length)); + } else { + return null; + } + } +}; +IORouterRegistry.registerSaveRouter(browserDownloadsRouter); +function browserDownloads(fileNamePrefix = "model") { + return new BrowserDownloads(fileNamePrefix); +} +function browserFiles(files) { + return new BrowserFiles(files); +} +function monitorPromisesProgress(promises, onProgress, startFraction, endFraction) { + checkPromises(promises); + startFraction = startFraction == null ? 0 : startFraction; + endFraction = endFraction == null ? 1 : endFraction; + checkFraction(startFraction, endFraction); + let resolvedPromise = 0; + const registerMonitor = (promise) => { + promise.then((value) => { + const fraction = startFraction + ++resolvedPromise / promises.length * (endFraction - startFraction); + onProgress(fraction); + return value; + }); + return promise; + }; + function checkPromises(promises2) { + assert(promises2 != null && Array.isArray(promises2) && promises2.length > 0, () => "promises must be a none empty array"); + } + function checkFraction(startFraction2, endFraction2) { + assert(startFraction2 >= 0 && startFraction2 <= 1, () => `Progress fraction must be in range [0, 1], but got startFraction ${startFraction2}`); + assert(endFraction2 >= 0 && endFraction2 <= 1, () => `Progress fraction must be in range [0, 1], but got endFraction ${endFraction2}`); + assert(endFraction2 >= startFraction2, () => `startFraction must be no more than endFraction, but got startFraction ${startFraction2} and endFraction ${endFraction2}`); + } + return Promise.all(promises.map(registerMonitor)); +} +async function loadWeightsAsArrayBuffer(fetchURLs, loadOptions) { + if (loadOptions == null) { + loadOptions = {}; + } + const fetchFunc = loadOptions.fetchFunc == null ? env().platform.fetch : loadOptions.fetchFunc; + const requests = fetchURLs.map((fetchURL) => fetchFunc(fetchURL, loadOptions.requestInit, { isBinary: true })); + const fetchStartFraction = 0; + const fetchEndFraction = 0.5; + const responses = loadOptions.onProgress == null ? await Promise.all(requests) : await monitorPromisesProgress(requests, loadOptions.onProgress, fetchStartFraction, fetchEndFraction); + const bufferPromises = responses.map((response) => response.arrayBuffer()); + const bufferStartFraction = 0.5; + const bufferEndFraction = 1; + const buffers = loadOptions.onProgress == null ? await Promise.all(bufferPromises) : await monitorPromisesProgress(bufferPromises, loadOptions.onProgress, bufferStartFraction, bufferEndFraction); + return buffers; +} +async function loadWeights(manifest, filePathPrefix = "", weightNames, requestInit) { + const fetchWeights = (fetchUrls) => loadWeightsAsArrayBuffer(fetchUrls, { requestInit }); + const loadWeights2 = weightsLoaderFactory(fetchWeights); + return loadWeights2(manifest, filePathPrefix, weightNames); +} +function weightsLoaderFactory(fetchWeightsFunction) { + return async (manifest, filePathPrefix = "", weightNames) => { + const groupIndicesToFetchMap = manifest.map(() => false); + const groupWeightsToFetch = {}; + const weightsFound = weightNames != null ? weightNames.map(() => false) : []; + const allManifestWeightNames = []; + manifest.forEach((manifestGroupConfig, groupIndex) => { + let groupOffset = 0; + manifestGroupConfig.weights.forEach((weightsEntry) => { + const rawDtype = "quantization" in weightsEntry ? weightsEntry.quantization.dtype : weightsEntry.dtype; + const weightsBytes = DTYPE_VALUE_SIZE_MAP[rawDtype] * sizeFromShape(weightsEntry.shape); + const enqueueWeightsForFetchingFn = () => { + groupIndicesToFetchMap[groupIndex] = true; + if (groupWeightsToFetch[groupIndex] == null) { + groupWeightsToFetch[groupIndex] = []; + } + groupWeightsToFetch[groupIndex].push({ + manifestEntry: weightsEntry, + groupOffset, + sizeBytes: weightsBytes + }); + }; + if (weightNames != null) { + weightNames.forEach((weightName, weightIndex) => { + if (weightName === weightsEntry.name) { + enqueueWeightsForFetchingFn(); + weightsFound[weightIndex] = true; + } + }); + } else { + enqueueWeightsForFetchingFn(); + } + allManifestWeightNames.push(weightsEntry.name); + groupOffset += weightsBytes; + }); + }); + if (!weightsFound.every((found) => found)) { + const weightsNotFound = weightNames.filter((_, i) => !weightsFound[i]); + throw new Error(`Could not find weights in manifest with names: ${weightsNotFound.join(", ")}. +Manifest JSON has weights with names: ${allManifestWeightNames.join(", ")}.`); + } + const groupIndicesToFetch = groupIndicesToFetchMap.reduce((accumulator, shouldFetch, i) => { + if (shouldFetch) { + accumulator.push(i); + } + return accumulator; + }, []); + const fetchUrls = []; + groupIndicesToFetch.forEach((i) => { + manifest[i].paths.forEach((filepath) => { + const fetchUrl = filePathPrefix + (!filePathPrefix.endsWith("/") ? "/" : "") + filepath; + fetchUrls.push(fetchUrl); + }); + }); + const buffers = await fetchWeightsFunction(fetchUrls); + const weightsTensorMap = {}; + let bufferIndexOffset = 0; + groupIndicesToFetch.forEach((i) => { + const numBuffers = manifest[i].paths.length; + let groupBytes = 0; + for (let i2 = 0; i2 < numBuffers; i2++) { + groupBytes += buffers[bufferIndexOffset + i2].byteLength; + } + const groupBuffer = new ArrayBuffer(groupBytes); + const groupByteBuffer = new Uint8Array(groupBuffer); + let groupBufferOffset = 0; + for (let i2 = 0; i2 < numBuffers; i2++) { + const buffer2 = new Uint8Array(buffers[bufferIndexOffset + i2]); + groupByteBuffer.set(buffer2, groupBufferOffset); + groupBufferOffset += buffer2.byteLength; + } + const weightsEntries = groupWeightsToFetch[i]; + weightsEntries.forEach((weightsEntry) => { + const byteBuffer = groupBuffer.slice(weightsEntry.groupOffset, weightsEntry.groupOffset + weightsEntry.sizeBytes); + const nameToTensorMap = decodeWeights(byteBuffer, [weightsEntry.manifestEntry]); + for (const name6 in nameToTensorMap) { + weightsTensorMap[name6] = nameToTensorMap[name6]; + } + }); + bufferIndexOffset += numBuffers; + }); + return weightsTensorMap; + }; +} +var OCTET_STREAM_MIME_TYPE = "application/octet-stream"; +var JSON_TYPE = "application/json"; +var HTTPRequest = class { + constructor(path, loadOptions) { + this.DEFAULT_METHOD = "POST"; + if (loadOptions == null) { + loadOptions = {}; + } + this.weightPathPrefix = loadOptions.weightPathPrefix; + this.onProgress = loadOptions.onProgress; + this.weightUrlConverter = loadOptions.weightUrlConverter; + if (loadOptions.fetchFunc != null) { + assert(typeof loadOptions.fetchFunc === "function", () => "Must pass a function that matches the signature of `fetch` (see https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)"); + this.fetch = loadOptions.fetchFunc; + } else { + this.fetch = env().platform.fetch; + } + assert(path != null && path.length > 0, () => "URL path for http must not be null, undefined or empty."); + if (Array.isArray(path)) { + assert(path.length === 2, () => `URL paths for http must have a length of 2, (actual length is ${path.length}).`); + } + this.path = path; + if (loadOptions.requestInit != null && loadOptions.requestInit.body != null) { + throw new Error("requestInit is expected to have no pre-existing body, but has one."); + } + this.requestInit = loadOptions.requestInit || {}; + } + async save(modelArtifacts) { + if (modelArtifacts.modelTopology instanceof ArrayBuffer) { + throw new Error("BrowserHTTPRequest.save() does not support saving model topology in binary formats yet."); + } + const init2 = Object.assign({ method: this.DEFAULT_METHOD }, this.requestInit); + init2.body = new FormData(); + const weightsManifest = [{ + paths: ["./model.weights.bin"], + weights: modelArtifacts.weightSpecs + }]; + const modelTopologyAndWeightManifest = { + modelTopology: modelArtifacts.modelTopology, + format: modelArtifacts.format, + generatedBy: modelArtifacts.generatedBy, + convertedBy: modelArtifacts.convertedBy, + weightsManifest + }; + if (modelArtifacts.signature != null) { + modelTopologyAndWeightManifest.signature = modelArtifacts.signature; + } + if (modelArtifacts.userDefinedMetadata != null) { + modelTopologyAndWeightManifest.userDefinedMetadata = modelArtifacts.userDefinedMetadata; + } + if (modelArtifacts.modelInitializer != null) { + modelTopologyAndWeightManifest.modelInitializer = modelArtifacts.modelInitializer; + } + init2.body.append("model.json", new Blob([JSON.stringify(modelTopologyAndWeightManifest)], { type: JSON_TYPE }), "model.json"); + if (modelArtifacts.weightData != null) { + init2.body.append("model.weights.bin", new Blob([modelArtifacts.weightData], { type: OCTET_STREAM_MIME_TYPE }), "model.weights.bin"); + } + const response = await this.fetch(this.path, init2); + if (response.ok) { + return { + modelArtifactsInfo: getModelArtifactsInfoForJSON(modelArtifacts), + responses: [response] + }; + } else { + throw new Error(`BrowserHTTPRequest.save() failed due to HTTP response status ${response.status}.`); + } + } + async load() { + const modelConfigRequest = await this.fetch(this.path, this.requestInit); + if (!modelConfigRequest.ok) { + throw new Error(`Request to ${this.path} failed with status code ${modelConfigRequest.status}. Please verify this URL points to the model JSON of the model to load.`); + } + let modelConfig; + try { + modelConfig = await modelConfigRequest.json(); + } catch (e) { + let message = `Failed to parse model JSON of response from ${this.path}.`; + if (this.path.endsWith(".pb")) { + message += " Your path contains a .pb file extension. Support for .pb models have been removed in TensorFlow.js 1.0 in favor of .json models. You can re-convert your Python TensorFlow model using the TensorFlow.js 1.0 conversion scripts or you can convert your.pb models with the 'pb2json'NPM script in the tensorflow/tfjs-converter repository."; + } else { + message += " Please make sure the server is serving valid JSON for this request."; + } + throw new Error(message); + } + const modelTopology = modelConfig.modelTopology; + const weightsManifest = modelConfig.weightsManifest; + const generatedBy = modelConfig.generatedBy; + const convertedBy = modelConfig.convertedBy; + const format = modelConfig.format; + const signature = modelConfig.signature; + const userDefinedMetadata = modelConfig.userDefinedMetadata; + if (modelTopology == null && weightsManifest == null) { + throw new Error(`The JSON from HTTP path ${this.path} contains neither model topology or manifest for weights.`); + } + let weightSpecs; + let weightData; + if (weightsManifest != null) { + const results = await this.loadWeights(weightsManifest); + [weightSpecs, weightData] = results; + } + const artifacts = { + modelTopology, + weightSpecs, + weightData, + generatedBy, + convertedBy, + format + }; + if (signature != null) { + artifacts.signature = signature; + } + if (userDefinedMetadata != null) { + artifacts.userDefinedMetadata = userDefinedMetadata; + } + const initializer = modelConfig.modelInitializer; + if (initializer) { + artifacts.modelInitializer = initializer; + } + return artifacts; + } + async loadWeights(weightsManifest) { + const weightPath = Array.isArray(this.path) ? this.path[1] : this.path; + const [prefix, suffix] = parseUrl(weightPath); + const pathPrefix = this.weightPathPrefix || prefix; + const weightSpecs = []; + for (const entry of weightsManifest) { + weightSpecs.push(...entry.weights); + } + const fetchURLs = []; + const urlPromises = []; + for (const weightsGroup of weightsManifest) { + for (const path of weightsGroup.paths) { + if (this.weightUrlConverter != null) { + urlPromises.push(this.weightUrlConverter(path)); + } else { + fetchURLs.push(pathPrefix + path + suffix); + } + } + } + if (this.weightUrlConverter) { + fetchURLs.push(...await Promise.all(urlPromises)); + } + const buffers = await loadWeightsAsArrayBuffer(fetchURLs, { + requestInit: this.requestInit, + fetchFunc: this.fetch, + onProgress: this.onProgress + }); + return [weightSpecs, concatenateArrayBuffers(buffers)]; + } +}; +HTTPRequest.URL_SCHEME_REGEX = /^https?:\/\//; +function parseUrl(url) { + const lastSlash = url.lastIndexOf("/"); + const lastSearchParam = url.lastIndexOf("?"); + const prefix = url.substring(0, lastSlash); + const suffix = lastSearchParam > lastSlash ? url.substring(lastSearchParam) : ""; + return [prefix + "/", suffix]; +} +function isHTTPScheme(url) { + return url.match(HTTPRequest.URL_SCHEME_REGEX) != null; +} +var httpRouter = (url, loadOptions) => { + if (typeof fetch === "undefined" && (loadOptions == null || loadOptions.fetchFunc == null)) { + return null; + } else { + let isHTTP = true; + if (Array.isArray(url)) { + isHTTP = url.every((urlItem) => isHTTPScheme(urlItem)); + } else { + isHTTP = isHTTPScheme(url); + } + if (isHTTP) { + return http(url, loadOptions); + } + } + return null; +}; +IORouterRegistry.registerSaveRouter(httpRouter); +IORouterRegistry.registerLoadRouter(httpRouter); +function http(path, loadOptions) { + return new HTTPRequest(path, loadOptions); +} +function browserHTTPRequest(path, loadOptions) { + return http(path, loadOptions); +} +var PassthroughLoader = class { + constructor(modelArtifacts) { + this.modelArtifacts = modelArtifacts; + } + async load() { + return this.modelArtifacts; + } +}; +var PassthroughSaver = class { + constructor(saveHandler) { + this.saveHandler = saveHandler; + } + async save(modelArtifacts) { + return this.saveHandler(modelArtifacts); + } +}; +function fromMemory(modelArtifacts, weightSpecs, weightData, trainingConfig) { + if (arguments.length === 1) { + const isModelArtifacts = modelArtifacts.modelTopology != null || modelArtifacts.weightSpecs != null; + if (isModelArtifacts) { + return new PassthroughLoader(modelArtifacts); + } else { + console.warn("Please call tf.io.fromMemory() with only one argument. The argument should be of type ModelArtifacts. The multi-argument signature of tf.io.fromMemory() has been deprecated and will be removed in a future release."); + return new PassthroughLoader({ modelTopology: modelArtifacts }); + } + } else { + console.warn("Please call tf.io.fromMemory() with only one argument. The argument should be of type ModelArtifacts. The multi-argument signature of tf.io.fromMemory() has been deprecated and will be removed in a future release."); + return new PassthroughLoader({ + modelTopology: modelArtifacts, + weightSpecs, + weightData, + trainingConfig + }); + } +} +function withSaveHandler(saveHandler) { + return new PassthroughSaver(saveHandler); +} +var math_exports = {}; +__export2(math_exports, { + confusionMatrix: () => confusionMatrix +}); +function matMul_(a, b, transposeA = false, transposeB = false) { + let $a = convertToTensor(a, "a", "matMul"); + let $b = convertToTensor(b, "b", "matMul"); + [$a, $b] = makeTypesMatch($a, $b); + const inputs = { a: $a, b: $b }; + const attrs = { transposeA, transposeB }; + return ENGINE.runKernel(BatchMatMul, inputs, attrs); +} +var matMul = op({ matMul_ }); +function oneHot_(indices, depth, onValue = 1, offValue = 0) { + if (depth < 2) { + throw new Error(`Error in oneHot: depth must be >=2, but it is ${depth}`); + } + const $indices = convertToTensor(indices, "indices", "oneHot", "int32"); + const inputs = { indices: $indices }; + const attrs = { depth, onValue, offValue }; + return ENGINE.runKernel(OneHot, inputs, attrs); +} +var oneHot = op({ oneHot_ }); +function transpose_(x, perm) { + const $x = convertToTensor(x, "x", "transpose"); + if (perm == null) { + perm = $x.shape.map((s, i) => i).reverse(); + } + assert($x.rank === perm.length, () => `Error in transpose: rank of input ${$x.rank} must match length of perm ${perm}.`); + perm.forEach((axis) => { + assert(axis >= 0 && axis < $x.rank, () => `All entries in 'perm' must be between 0 and ${$x.rank - 1} but got ${perm}`); + }); + if ($x.rank <= 1) { + return $x.clone(); + } + const inputs = { x: $x }; + const attrs = { perm }; + return ENGINE.runKernel(Transpose, inputs, attrs); +} +var transpose = op({ transpose_ }); +function confusionMatrix_(labels2, predictions, numClasses) { + const $labels = convertToTensor(labels2, "labels", "confusionMatrix"); + const $predictions = convertToTensor(predictions, "predictions", "confusionMatrix"); + assert(numClasses == null || numClasses > 0 && Number.isInteger(numClasses), () => `If provided, numClasses must be a positive integer, but got ${numClasses}`); + assert($labels.rank === 1, () => `Expected the rank of labels to be 1, but got ${$labels.rank}`); + assert($predictions.rank === 1, () => `Expected the rank of predictions to be 1, but got ${$predictions.rank}`); + assert($labels.shape[0] === $predictions.shape[0], () => `Mismatch in the number of examples: ${$labels.shape[0]} vs. ${$predictions.shape[0]}. Labels and predictions should have the same number of elements.`); + assert(numClasses > 0 && Number.isInteger(numClasses), () => `numClasses is required to be a positive integer, but got ${numClasses}`); + const oneHotLabels = oneHot(cast($labels, "int32"), numClasses); + const oneHotPredictions = oneHot(cast($predictions, "int32"), numClasses); + const oneHotLabelsT = transpose(oneHotLabels); + const product = matMul(oneHotLabelsT, oneHotPredictions); + return cast(product, "int32"); +} +var confusionMatrix = op({ confusionMatrix_ }); +var browser_exports = {}; +__export2(browser_exports, { + fromPixels: () => fromPixels, + fromPixelsAsync: () => fromPixelsAsync, + toPixels: () => toPixels +}); +function tensor3d(values, shape, dtype) { + assertNonNull(values); + if (shape != null && shape.length !== 3) { + throw new Error("tensor3d() requires shape to have three numbers"); + } + const inferredShape = inferShape(values, dtype); + if (inferredShape.length !== 3 && inferredShape.length !== 1) { + throw new Error("tensor3d() requires values to be number[][][] or flat/TypedArray"); + } + if (inferredShape.length === 1 && shape == null) { + throw new Error("tensor3d() requires shape to be provided when `values` are a flat array"); + } + return makeTensor(values, shape, inferredShape, dtype); +} +var fromPixels2DContext; +function fromPixels_(pixels, numChannels = 3) { + if (numChannels > 4) { + throw new Error("Cannot construct Tensor with more than 4 channels from pixels."); + } + if (pixels == null) { + throw new Error("pixels passed to tf.browser.fromPixels() can not be null"); + } + let isPixelData2 = false; + let isImageData = false; + let isVideo = false; + let isImage = false; + let isCanvasLike = false; + let isImageBitmap = false; + if (pixels.data instanceof Uint8Array) { + isPixelData2 = true; + } else if (typeof ImageData !== "undefined" && pixels instanceof ImageData) { + isImageData = true; + } else if (typeof HTMLVideoElement !== "undefined" && pixels instanceof HTMLVideoElement) { + isVideo = true; + } else if (typeof HTMLImageElement !== "undefined" && pixels instanceof HTMLImageElement) { + isImage = true; + } else if (pixels.getContext != null) { + isCanvasLike = true; + } else if (typeof ImageBitmap !== "undefined" && pixels instanceof ImageBitmap) { + isImageBitmap = true; + } else { + throw new Error(`pixels passed to tf.browser.fromPixels() must be either an HTMLVideoElement, HTMLImageElement, HTMLCanvasElement, ImageData in browser, or OffscreenCanvas, ImageData in webworker or {data: Uint32Array, width: number, height: number}, but was ${pixels.constructor.name}`); + } + if (isVideo) { + const HAVE_CURRENT_DATA_READY_STATE = 2; + if (isVideo && pixels.readyState < HAVE_CURRENT_DATA_READY_STATE) { + throw new Error("The video element has not loaded data yet. Please wait for `loadeddata` event on the

Oq(F!>x(zNDFYwu=#m`$tR# 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 z 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 literal 0 HcmV?d00001 diff --git a/assets/screenshot-group.jpg b/assets/screenshot-group.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b564aed520c4177b912c049a23d271a4ff8077cc GIT binary patch literal 377964 zcmbUHbx<75A3X{$?j!^@u(-o65?q42Ls(#Og1ftf1eXmgEY9Mx_~K4TAi)Xl8iIQg zG=#|I`QBT8RKKt~4v0RRAm09-6u0N%qH)veDCXi-UOu1Vuzdn7AZmB!r~-g++w^s|1UPh=`Pgl!lCq zMu>%;Md<(M^sf&|r=@3PW@YE(qDsrk(G`_d)iup6t!?ccon74@KMf2H4UdeD&Cbm) zEG{jttbX0z+1=YeI6ON3adCNdeRKQs?$>{~umCv!H?04I?EeE7#RD#ETwEMng8y(~ zVFx_~4h1eAiy;0J1$_b=A4*oCNJ1(_WJyy$5t}gdJJ8m5hWIJF$XAXZ|3Uj7vj6XZ zMg9MU?Ee7!e{rn>NO7#?d=B%IQ?PJ<1r1CX%KO+?7Wm7D}z4HOcO|umak^e-n*si6B^P?CEkHh}1 zK(&rT$0=pl7GR6i!QshdCVs<~V)nHyx43D~0rnE@$uHe>Rd=lVxfOzN?!x^vXlJK9 z7P#zjas*?y9Ff1O2eqQ@N`x}F?0~~>G+QD*A+9HP^P24DeTH3WaOU8%tB?7y`lduq z>3xi-I0@!SQCNMy7LlQe*>yyBgJvC_WU1;Sq8n;oC2DF%v(TSZkc(Z_$QH44v;4*K zndRw@19h7XJ6_SmKzOZzu2QA(YmVO2(Abbw!4 z^x*SU2Yf|MM97I{MSQJBjSKXyHeRViCI$Fd$2pYdH#-X+cm6*>Lh_dz%gS^*nJ&_L zH3`XYmM>#>x;myY+ueQM@WRKmEscu>tM94Yv%*6K{JfegEmv*aGW3b?HRSuTHP#fGV zCfA-g9eAi8Z;<;|!_q!cg%e9fo=C@U7{95OhqctfHT&c0Gd|gSa-RIXoGeMMG`Erb z`jx{M$z|RQf|~evwiAPcER3xfZ-A_ga?G>Ec6c)gpWN4FW0=Y$h_Q-5wvC1UMQT0Z zg__8KIF0*kBl~=-h%gR2v6%}Nom0Mnou}kBCgPM_M|5g@w%FmsyM?mki0qJgmu|1i-=ed}uq=2lkwA%E90%mEmaJu#Yp`W|-wA@Vhww24maGxjPPA zAJfa)5DHG^qGp?X6A-sp+?hCoGgntN^1GF|%A zj%Lp%@(>0ebHzM$oxD)Jf;WNfCr`h>zVz?I+^0N(M7QOw^=bv?<~bS-C5m_wH`<&- z%DWx6hS`n!_md%$FJl+QrhTm?RrBNgk~ek3p6A)M%?o;d-w#eVLa*0NT;Rh=NLG z3*pEVUDrBPoqppoy64FT4@jq}9F}&jm6Fl^xG<`=(`fg$QddTk8QBLFAa|wtYIK)< z39J(G@&Dod+Vi({Wq3>ulIe>-y?#GG z#?0t;K$?3yA!F$mw{rq5@yE$?{Reoea8+D$bE4yA{kR7qM5ek#PEI&g56Phz^U z;aW{?eiQ6xz%Zo7rPSpMDdEsq6%f>&+#_|#1EdeC9aQ>lrooWvaW2448pfYB`)bL) z4M_7!k0GU-J`-%>xxWj4X33O|_Da-`Fan;b0=Rx_GPP`4^Q;%1*HS$viOi9q8>V;M zMC_y<1m3?WS9{@LiP~G)*DbEP8}YpZA1Aj~Li{XpQ`sYho^tIT}Yds=w>H=?;NCc3QPL1lnI;*8J@(QRH*g%AcG2wSb)9JL*8)>|bbc+oe`T z@@2+tEQ2JtxYmGy`v$-|EGK7Lt&Eh=0s8!#gJRitixwZ=8H@P-S?fTOiW`&3bWheG z$HO3yE&F1qylg%kA>L!-6&4o4(Jb?kxy{@GBD4%>CpzdFp(1i;y{tFa}2eH ztt^p!gHk_AS*-;NgVD_XgU&g*zJ0$>A6XbO+8_d%e{}a$zvAM3FXpNykVYA8lH|wx z≈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%0D5^5h3Zft*62>4NSd*|747w9d3lI$( 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