From 4b817277491cee4b6a48831afd15b23b692332e0 Mon Sep 17 00:00:00 2001 From: Fam Zheng Date: Thu, 24 Apr 2025 21:11:44 +0100 Subject: [PATCH] drop web/public/camera-3.2 --- web/public/camera-3.2/Makefile | 2 - web/public/camera-3.2/css/loading.css | 85 - web/public/camera-3.2/css/main.css | 434 -- web/public/camera-3.2/images/black.png | Bin 637 -> 0 bytes web/public/camera-3.2/images/camoverlay.png | Bin 7627 -> 0 bytes web/public/camera-3.2/images/play-button.png | Bin 1206 -> 0 bytes web/public/camera-3.2/images/qrmarkers.png | Bin 19996 -> 0 bytes web/public/camera-3.2/images/return.png | Bin 1335 -> 0 bytes web/public/camera-3.2/images/right-arrow.png | Bin 389 -> 0 bytes web/public/camera-3.2/images/spinner.png | Bin 70335 -> 0 bytes web/public/camera-3.2/index.html | 130 - web/public/camera-3.2/js/lottie.min.js | 1 - web/public/camera-3.2/js/main.js | 358 -- web/public/camera-3.2/js/qrtool.web.js | 5404 ----------------- web/public/camera-3.2/js/qrtool.web.wasm | Bin 4156572 -> 0 bytes web/public/camera-3.2/js/qrtool.web.wasm.br | Bin 841052 -> 0 bytes .../camera-3.2/video/emblem-anime-short.mp4 | Bin 181995 -> 0 bytes 17 files changed, 6414 deletions(-) delete mode 100644 web/public/camera-3.2/Makefile delete mode 100644 web/public/camera-3.2/css/loading.css delete mode 100644 web/public/camera-3.2/css/main.css delete mode 100644 web/public/camera-3.2/images/black.png delete mode 100644 web/public/camera-3.2/images/camoverlay.png delete mode 100644 web/public/camera-3.2/images/play-button.png delete mode 100644 web/public/camera-3.2/images/qrmarkers.png delete mode 100644 web/public/camera-3.2/images/return.png delete mode 100644 web/public/camera-3.2/images/right-arrow.png delete mode 100644 web/public/camera-3.2/images/spinner.png delete mode 100644 web/public/camera-3.2/index.html delete mode 100644 web/public/camera-3.2/js/lottie.min.js delete mode 100644 web/public/camera-3.2/js/main.js delete mode 100644 web/public/camera-3.2/js/qrtool.web.js delete mode 100755 web/public/camera-3.2/js/qrtool.web.wasm delete mode 100755 web/public/camera-3.2/js/qrtool.web.wasm.br delete mode 100644 web/public/camera-3.2/video/emblem-anime-short.mp4 diff --git a/web/public/camera-3.2/Makefile b/web/public/camera-3.2/Makefile deleted file mode 100644 index e3d14cc..0000000 --- a/web/public/camera-3.2/Makefile +++ /dev/null @@ -1,2 +0,0 @@ -deploy: - rsync -zrP * oci:/data/emblem-camera/ diff --git a/web/public/camera-3.2/css/loading.css b/web/public/camera-3.2/css/loading.css deleted file mode 100644 index 6e4c6d6..0000000 --- a/web/public/camera-3.2/css/loading.css +++ /dev/null @@ -1,85 +0,0 @@ -.lds-roller { - display: inline-block; - position: relative; - width: 80px; - height: 80px; -} -.lds-roller div { - animation: lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite; - transform-origin: 40px 40px; -} -.lds-roller div:after { - content: " "; - display: block; - position: absolute; - width: 7px; - height: 7px; - border-radius: 50%; - background: #666; - margin: -4px 0 0 -4px; -} -.lds-roller div:nth-child(1) { - animation-delay: -0.036s; -} -.lds-roller div:nth-child(1):after { - top: 63px; - left: 63px; -} -.lds-roller div:nth-child(2) { - animation-delay: -0.072s; -} -.lds-roller div:nth-child(2):after { - top: 68px; - left: 56px; -} -.lds-roller div:nth-child(3) { - animation-delay: -0.108s; -} -.lds-roller div:nth-child(3):after { - top: 71px; - left: 48px; -} -.lds-roller div:nth-child(4) { - animation-delay: -0.144s; -} -.lds-roller div:nth-child(4):after { - top: 72px; - left: 40px; -} -.lds-roller div:nth-child(5) { - animation-delay: -0.18s; -} -.lds-roller div:nth-child(5):after { - top: 71px; - left: 32px; -} -.lds-roller div:nth-child(6) { - animation-delay: -0.216s; -} -.lds-roller div:nth-child(6):after { - top: 68px; - left: 24px; -} -.lds-roller div:nth-child(7) { - animation-delay: -0.252s; -} -.lds-roller div:nth-child(7):after { - top: 63px; - left: 17px; -} -.lds-roller div:nth-child(8) { - animation-delay: -0.288s; -} -.lds-roller div:nth-child(8):after { - top: 56px; - left: 12px; -} -@keyframes lds-roller { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - } -} - diff --git a/web/public/camera-3.2/css/main.css b/web/public/camera-3.2/css/main.css deleted file mode 100644 index fca0d8a..0000000 --- a/web/public/camera-3.2/css/main.css +++ /dev/null @@ -1,434 +0,0 @@ -body { - margin: 0; - padding: 0; - font-family:Tahoma,Verdana,STHeiTi,simsun,sans-serif; -} -div.debug { - position: absolute; - left: 5px; - bottom: 5px; - width: 80%; - height: 50%; - border-radius: 10px; - border: 2px dashed rgba(50, 255, 50, 0.5); - background-color: rgba(0, 50, 0, 0.7); - padding: 1rem; - color: #eee; - font-size: 12px; - word-break: break-all; -} -.hidden { - display: none !important; -} -video.preview { - object-fit: cover; - position: fixed; - top: -1%; - left: -1%; - width: 102%; - height: 102%; - z-index: -1000; - border: 1px solid yellow; - box-sizing: border-box; -} -div.debug canvas { - display: inline-block; - width: 100px; - height: 100px; -} -div.bottomfixed { - position: absolute; - width: 100%; - bottom: 0; - height: 90px; - background-color: #171616; - text-align: center; - border-top: 1px solid #ef4823; -} - -.play.button { - display: inline-block; - padding: 0.1rem 1.2rem 0.1rem 1.4rem; - margin-right: 0.2rem; - border-radius: 6px; - background-color: #707070; - color: #444; -} - -div.bottomfixed .action.highlight .play.button { - background-color: #ccc; -} - -div.bottomfixed .action img.play { - height: 14px; - width: 36px; -} - -div.bottomfixed .action { - margin-top: 20px; - font-size: 1rem; - color: #707070; -} - -div.bottomfixed .action.highlight { - color: #ccc; -} - -div.camoverlay { - position: fixed; - top: 0; - clear: both; - font-size: 0; - width: 100%; - aspect-ratio: 1; -} -div.camoverlay img { - position: absolute; - left: 0; - margin: 0; - width: 100%; - height: 100%; -} -.qrmarkers { - animation: fadeInOut 2s linear infinite; -} - -@keyframes fadeInOut { - 0% { - opacity: 0; - } - 50% { - opacity: 1; - } - 100% { - opacity: 0; - } -} - -div.lower.text { - top: 4%; - text-align: center; -} - -div.progress { - width: 70%; - margin: 0.2rem 0 0 0; - height: 20px; - border-radius: 10px; - background-color: #eee; - font-size: 18px; - color: black; - display: inline-block; - position: relative; - overflow: hidden; -} -div.progress-text { - color: #333; - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); -} -div.progress-bar { - border-radius: 10px; - background-color: #ef4823; - width: 0%; - height: 100%; - top: 0; -} -img.lower.gray { - height: 100vmax; - opacity: 0.45; -} -div.upper.overlay { - position: relative; - height: 100vmin; - text-align: center; -} - -div.lower.overlay { - position: relative; - width: 100%; - text-align: center; -} -div.debug .buttons { - margin: 0 0 0.3rem 0; -} -div.debug .buttons button { - height: 2rem; - margin: 0 5px 5px 0; -} - -div#loading { - width: 100%; - height: 100%; - position: absolute; - background-color: white; - z-index: 10000; - text-align: center; - padding-top: 30%; -} - -canvas#output_img { - position: absolute; - right: 5px; - top: 5px; -} - -div.bordered { - padding: 0.2rem; - border: 1px dashed yellow; - border-radius: 4px; - margin: 0.2rem 0; -} - -div.output { - position: relative; -} - -.tooltip { - position: absolute; - width: 100vmin; - display: block; - margin: 0 auto; - animation: bounce 1s ease-in-out infinite; /* Adjust the duration as needed */ - top: -60px; -} - -.tooltip .tooltiptext { - display: block; - margin: 0 auto; - width: 110px; - background-color: #ef4823; - color: #fff; - padding: 12px 0; - border-radius: 10px; - z-index: 1; - opacity: 0.75; -} - -.tooltip:hover .tooltiptext { -} -.tooltip .tooltiptext::after { - content: " "; - position: absolute; - top: 100%; /* At the bottom of the tooltip */ - left: 50%; - margin-left: -5px; - border-width: 5px; - border-style: solid; - border-color: #ef4823 transparent transparent transparent; -} - -@keyframes bounce { - 0%, 100% { - transform: translateY(0); - } - 50% { - transform: translateY(10px); /* Adjust the bounce height as needed */ - } -} - -.modal { - display: block; - width: 100%; - height: 100%; - position: fixed; - background-color: rgba(0, 0, 0, 0.9); - z-index: 100; -} - -.modal .panel { - position: relative; - width: 80vmin; - height: 80%; - margin: 10vmin auto; - background-image: linear-gradient(0deg, #8b8986 0%, #414141 36%, #414141 92%, #515151 100%); - border-radius: 20px; -} - -.modal .actions { - position: absolute; - display: block; - width: 100%; - height: 100px; - bottom: 0; - text-align: center; -} - -.actions button { - display: inline-block; - width: 35%; - border-radius: 10px; - box-sizing: border-box; - font-size: 0.8rem; - border-radius: 20rpx; - padding: 0.4rem 1.5rem; -} - -button.service { - margin-right: 0.5rem; - border: 1px solid #676767; - background-color: #858585; - color: #a7a7a7; -} - -button.back { - border: 1px solid rgba(239, 72, 35, 0.7); - color: rgba(239, 72, 35, 0.7); - margin-left: 0.5rem; -} - -button.back img.return { - width: 10px; - height: 10px; -} - -.serviceqr { - position: relative; - width: 100%; - padding-top: 80px; -} - -.serviceqr .imgbox { - display: block; - margin: auto; - width: 60vmin; - height: 60vmin; - padding: 3vmin; - background-color: #eee; - border-radius: 10px; -} - -.serviceqr .title { - position: absolute; - display: inline-block; - width: 100%; - color: #eee; - margin: 30px auto; - text-align: center; - padding: 0; -} - -.serviceqr img { - width: 100%; - height: 100%; -} - -.verifyfailed { - text-align: center; - color: #eee; -} - -.verifyfailed .title { - font-size: 1.1rem; -} - -.verifyfailed .hints { - margin-top: 80px; - color: #ccc; -} - -.verifyfailed .hints div { - margin-bottom: 0.3rem; -} - -.verifyfailed .circle { - height: 20vmin; - width: 20vmin; - color: #666; - font-size: 15vmin; - margin: 10vmin auto 1rem;; - background-color: #ddd; - border-radius: 50%; - display: inline-block; -} - -.verifyspin { - position: absolute; - overflow: hidden; - z-index: 101; - width: 100vmin; - height: 100vmax; - background-color: rgba(0, 0, 0, 0.9); -} - -.verifyspin .spinner { - position: absolute; /* Position the image absolutely */ - width: 100vmin; - height: 100vmin; - margin: 0 auto; - text-align: center; - display: block; -} - -.verifyspin img { - display: block; - width: 100%; - height: 100%; -} - -.spin-and-shrink { - animation: spin-and-shrink 3s linear forwards; -} - -@keyframes spin-and-shrink { - 0% { - transform: rotate(-90deg) scale(5.5) - } - 10% { - transform: rotate(0deg) scale(2.0) - } - 33% { - transform: rotate(90deg) scale(1.0); - } - 66% { - transform: rotate(2000deg) scale(0.5); - } - 99% { - transform: rotate(3600deg) scale(0.2); - } - 100% { - transform: rotate(3600deg) scale(0.2); - } -} - -.spin-only { - animation: spin-only 0.3s linear infinite; -} - -@keyframes spin-only { - 0% { - transform: rotate(0deg) scale(0.2); - } - 100% { - transform: rotate(360deg) scale(0.2); - } -} - -.verifyspin .loading { - color: #ccc; - font-size: 1.4rem; - display: block; - width: 100%; - margin: 110vmin auto; - text-align: center; -} - -div.scanguide { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; -} - -#hint { - display: inline-block; - margin: 10px auto; - padding: 12px 40px; - border-radius: 10px; - background-color: rgba(0, 0, 0, 0.7); - color: #eee; - font-size: 20px; -} diff --git a/web/public/camera-3.2/images/black.png b/web/public/camera-3.2/images/black.png deleted file mode 100644 index 4eb7ecea932a9ae8440f71d99cc2bebe8258f5f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 637 zcmeAS@N?(olHy`uVBq!ia0vp^HXzKw1|+Ti+$>^XU~I{Bb`J1#c2+1T%1_J8No8Qr zm{>c}*5j~)%+dJEUfm%ww;YcsI+t!z2s;wEDuRW3>Dmjcnoll`zi?#2k{uRY>sZ(Zz+?5r5>#KkKs1ko3dGGl@8D_7ODGmNA^HO&u3a%IS&yTWt zUi(O6wHMb%%a1!8#Z~H_?0WM_`gzx3rt>{gKi|j{PKj9aWy77rYqC}x2|i-zdQ~G{ zW5=3;dym#!lU`Ho|L;(NXY{$kxz9L)B3z^-J0@Io;4O{lxV&m&l9KmtPyYWK9-p7! ztrpJPBlG!21J}uq&HoR+&pTU`bjg=Xy>XxT?SB%iO}ia-XWqVleA`_+#y{r|OuhCs ze@nwm|4XxDb<0?I@|eZ1$NJu5)+=vVs2*#i;{NHf$f?u^e|z?=`?`#C#5 z`39TPttHGdGEB*$r{X?Wl&{#nz5aa3uiuQx)kO>66bHTlMhjb#x4R3&e-K=-cll(X z2xoyuWHAGSo-znCRxGtI0}8U2c>21sKWAa$dCgA e4dj3i^VxUGGnSXg6jcB%VDNPHb6Mw<&;$T*`WqDh diff --git a/web/public/camera-3.2/images/camoverlay.png b/web/public/camera-3.2/images/camoverlay.png deleted file mode 100644 index 1d9ba68de289ca58f135bc1fec9ad9965387d0a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7627 zcmeHL3p7;g+u!4!PWUU)Nlc?S)Yx-l%rLqz9TcgA+%lIvOwAZ(218+-k}fV?Ik_Y$ zLT;rxDvX3KqRwfea_xHPgo<Ctk(gfk^MhB<_o@P@Gz#9vM7){H{B& zl6#8{{`m;p6LNn|O0cv3ZGKG~$=J?jR462vuRh?1h??6s>V3F-cGgPm5S<&Tskj(N zv-$`q8(4AmSZ#C3Z)az{%4zbiO1|x#P!-roa^HC%#HBm@-m%vkI&+t1RN zK?qZf?t=a5#G^O%v+`<;sh6w{<`n5WT}=kd8&ja-0}Tdrlij!#4;u42`?@dx#Ax(F z?H#|S9{u`^i|Ai7-oF5_TG?eg3YJL1C)$iX5G#CXVfv-@Mm}a5r!GD{sO*J2tyfZD z^3ofzQt3DK0EgvBmiDRdk`o^6)^boiuHLdPal07E=f@w)a4i(?=oNEq80Gex{`9K% z-nd@t$Wj$cs+s?(lh+MbC+QcMrMX!Y=5M{5wz&D`tp{(mQ#@v`&P}=9xI?GV{Fo2r za>cgSUcadMb$Yqx)vY!?e>E`f`QE%GN?R!J_ZuyUd|Ioq%*kqt-AMVp@@K5u-t6;& z)Fg%e3h!aRNJ@{rS!T~Yd{)@VrY7?KEq1HEC%-AhY(KotaLfFcYsU;-bDR@(^GyRa zEzYF1n*~<62yu#77o{$hEy!Khjy0ax;AC^dnf2Zv+w5@nNf)b3W31L1lQNCSRxTg0 z?!($&l;74RPM|9=ccTuqHMd1mi<(R9y{{GHGFBx1)LT2=bELAV`DH5Oy>)DV5=fnX zO~g0g2yvH6`eQ#=vE6*AnNVbYT;Df6$^MC5Oe3sdw2F-ER>dO}UHXI6Czi7rz zKh7xQJGFj=qFvk=!$)B+mDFq$J-iw=Z&f&#b&^Q-`a?~xRmHs6I_-+8Pajab_7c+} zY0mK;aBl1{ek9ihBbqr_Tv2&`IAjE1<`)jm3Jz9FNc~}3`;&G`d*#@+-1bgQowxkh z*?woM0YGCD8*X2o&TGgF9@m`45jPlaZvbGkOcYFGY=wkKIuyVTqM-UOSEG<@ zCI#hT;f!$(wu1uM4v~ClL!^rvBXTQ)#6&H#Rksn5VE`^9q#;FIPLO~sqM+osWcXet z22n`4iEt|g<>~B-wBzw1B*C0ujzLpJ>@Xb4Rvl@>XR^ra?N?1fz%vReP$�gJ5`g zxOq6tN1rb3)ng|^vFp@z`V%S3h2A>@)Wb=ZMGE5qs7b>Kn zP_Q2P(LZjmv-2nTAi)$1Fdv|Z77Sv|F(8);7~qCZo_1N5C`JIpaR%G>=*Vz zHtRE4U-%}|$itcL2)x`U{4cCO#x6I8t(=|7_B=+YY*9yh3QFcLnaN|YnPmB`g(ZeW zU@=K(3y6k66D(*Dnnq+W&_p8M3Jc-!Bnu*a8kA#@Ku8N>Kr$#8+?);L5Sc871(C@_ zLl`0fO(4El)Hk_3-&UCM2P)ryK!dPK23_KBy!w`vR z0)u9SCJ``rG>&OSXJQEiCXqpuL&^4myu#Iyg2I_&K1*CVG$D(}=TcD4GzN0*hR+%| zHW%6;q{&#r60vwo5($UL5U^GllEr5ucZe^5GfoDI#hBwQ>tAZ;f1+<`5C*N>2kCQE7q6f!xR zoO0OmT0$b_RY9gPCPNU=!XT#HPZ(=b#R#MY1we57n9A3Wa`s>3f(464u*6%C(3X}M z2AY6nV9|6U1BWJJ8CFCV*2= zAQ5q-$!hsT-hU2nGDH7UbOd>H9}~g?GnEiiG1`E#rucD3ZNUGw=aUB0x+u)eqzvxP zaI*(Lb^9sOV2A(C&s47col78*-xm2Qe!tQ6jjpd^;H!+kW!E>lzKVgbGX9ob|7&!q ze|}$tg5amTaQJP|>Fmfn_)SuUzWPUdU_y2sugp6HOJ)Q+Y!U!~xsmLP5S>~U1`Ab% zj?Pro-<5P`F2wzD^yqO|G*3wN6x#8)veynk{xA$Nk>PA%AX4@)>=CP>3jpexj`l0u z;Q!j%z4vW=u|U$@sbBukb7!o5-6GH3Zv5j|SHdeQII`!>n3L%#!o!ssPZ#~1g7jL8 zDWa}Rpo8}>-7!9|%BqiOi8lCIv$S)#x`lWD;ntE$_b4r(H19qd0jObQ11XUWF`x(! zK;b*tm{j~@bduuMa;1s;7o~~4Vds6@^ZVR~3*)7X)k*^k=1XgOgF{b}y|^1ekA_0U z6bEs2^X=aBUZ>EaNV+31Zj$_B_L0%IH*WoQzu=Jcr8K{{)eOAnHB_@#^Hyc=`p}9? zeU*x(0WNNNg?Q=eCb36D*igg}bx1M__&57zO^kb1ZmetH`?&{1Wjt^PsHCNmnQt}?rS~>h>{0ixj_?^f-{Y5&ICp&B>jEXwVEpj*)S!gz`JE@jK5y%p}2W|GlIhR*@TQhkqfgZ+aKwf!2kvy`Kml{K@zQ zpxQI0An53i;v@X6w&ODgWRaXADS0|>Zd#z#MG3n&a{UA1OnLHi1GNEzk(03{6N;rq z7hcF_=I`^KYltgU?K1Z#>UTA#M-#OHgC<|CF5j?{k*ik_1Bb!qwrT_Bmk#%TP#8F) zDlk+M>H1m*010jJ|5Dt3u17Tu(Y4t(%X*>Ya@YK~%97tR^{^6;#<@UFIK3Q*@%F`g z12zrkD|8jE>jDu~j9kETCAezlfG=KI zq8*9#68EQ@0x5U)-BtLbB^mIvm+2UCU0F~vuw0CQ2Y^tK4JAF<(DIj!NyR@|H$}={ z^70SSO(w*@<-`}s^8a4fs{L07&-4@N-w&n#3%V;jPAhJ*>bKungDBnUmoT@hmNnHa z46z%4rP;bU%I{AfRq&rtsfU($f7DfTJ~oioTW7R+pMdTlq65P+Tv&l`dvl6c`SJsr4);z29#rn&G9Opq22<`UARbb zvRnUAiulMoKgDsMS0f5@$1{7K->Q}#?8vajWDLb|B+UgLjSD4C5s>Y;CfgLzQPA}4 zat%=U_|En=!*{mFhm^VX^Q95^8Kv4y%?)F;B9LR(e*xL_%23BR3M7#Q)Hu%|FOk0qa+!K&Gc*0V* ziXBjBxKX#zo2BP(RYLF$i)OGvPJZg~tP2|}y`sF^EpGv}qH`lqD1Q$aq@&;yDjM(a zaTprzt*TIIZ834FJ{@gqSgp$z)L9N?_BKdOq_C|l5h^eccpFH zAgS+eZhC=VagvAX(gVPRiE7%h(?e;e0ROxqZ-p;T3h_keGDHYka=`Efy#{`M1RSX@ K_QfmxfBG-wUv{DZ diff --git a/web/public/camera-3.2/images/play-button.png b/web/public/camera-3.2/images/play-button.png deleted file mode 100644 index aff31b1d028a7416bf6d83453f71e000724073c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1206 zcmeAS@N?(olHy`uVBq!ia0vp^7CDSr z1<%~X^wgl##FWaylc_cg49seoArU1JzCKpT`MG+DAT@dwxdlMo3=B5*6$OdO*{LN8 zNvY|XdA3ULckfqH$V{%1*XSQL?vFu&J;D8jzb> zlBiITo0C^;Rbi_HHrEQs1_|pcDS(xfWZNo192Makpx~Tel&WBJrWYh+|)Y-(jhm3bwJ6}oxF$}kgLQj3#|G7CyF^Yauy zCMG83mzLNn0UZnRMQ#Dy*t}wBNCCr4zap_f-%!s0krMZlzOs>FYg zfq_xY)5S5Q;?|w%w%$&G636==&A52s*_s`eEY}qcK0M{#!5U|9WaY-AzZmweQSyCy z?S;6(b~e|hw4Iw-l$Ko4c=o=rcp?9U=dV7u-W*s62iy0##u&ANmdKI;Vst05!j!f&c&j diff --git a/web/public/camera-3.2/images/qrmarkers.png b/web/public/camera-3.2/images/qrmarkers.png deleted file mode 100644 index 562e944dd6093865edddd4140c7187c1e0a81826..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19996 zcmeIZbx_>R)-F1@ySux)yC-;XA7F6z;O;>~0>L%7ySqyW?iSo3xSh$n_qV^j>z-4$ zcGdmfYDVwDGP+*KECS$=#xjHdn5_m*{ZL>8Q@LF~J8X_hlcdlMp@mpOuKwU)ywbT0b z+OjhsMCE+rZvXj__4%Ro=_A$E+`UaUpZD)BQ39{2i1VozpTvvfdtE zprAI8XR`0k)4itDIiY2jyYL>@OKGp~S{`iUUI(%R_8W!qTIAr~8g0ak-*EX}jr%{n z=`TK)>oINcolJplcK46PI!UjpuwK0T{422nx?J?dv|o2_I`dydan9~`J3X789KN;T zm$2jQ`h4he*!3H7{!n)>s(G*P=PYf%L-ca`Z0~f3?tifT0u&2fdnI=Ze4B@=?#n2&aujyLI$qG3` z@$z@T%fd?=+ZOy(g?k;$-_-ppH8AvSMs+F=(oqGJ25?NGnni2y+IUI zv9*0{u86MSv2{rzIEzmITG81T5r_}{g_bg36ZEP!=rp@>^g*>n7o7SK34cwgedcMQK#d7S_ zr&(ly=9eryU733=3sbap-5cf>7M)jUdpwuio7V35x6t3wW%`bme9!bBq?xT;bGv3~ zYF%;Y+OeGL9DCe&eI+Z`yRX#qWh#U^o+`bxspwM1fTq*69gH5p*0~rhtucjeoF8vW zP@f&Op4gX^}1H|2Bq8&?Gt&C)v;Gn$DUbsP9WK& zH^1&@{kUwy7tb}-3iny(so8c5`J!!o)RzrkGT6NO7Me`lHKt+=hPB+s@9f98DTv7& z%k6}PXGrZU)zQ~As&x*Ooelx}elMSmweyq+%E}?)t2FI%pZ>o6V5YRrEl_j77vc)m zu6#BF`5&H+*AFCuJBv(3^Ly1Y&78FZ!%62~ks5x>YMrxG76FGAx;r?^@57%aYjK*s zHySN$?rlf9YIpcZj@GSbZ?!`xY1dXoaPJ|@ipDT+3;Eu0KSco(JIXqAy_?ottPJX3 zPV*eR^#zQ(t_)0EQGFUR_qX2W`hIPPjVSF;dJI`aB8Z}_e(!yu4G@uPR3$dZP^cud zW%V4a8_nXfpU;%CZ&duI!Wo7kKF5^71;B{H(^x9EoV Mh&LPZ;5*{Ek7~Xvbym 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 DWitoI diff --git a/web/public/camera-3.2/images/return.png b/web/public/camera-3.2/images/return.png deleted file mode 100644 index b71e5ecec26d32057f89ddf32834e8f3d94a12b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1335 zcmeAS@N?(olHy`uVBq!ia0vp^5v4 zq}24xJX@vryZ0+8WTx0Eg`4^s_!c;)W@LI)6{QAO`Gq7`WhYyvDB0U7*i={n4aiL` zNmQuF&B-gas<2f8n`;GRgM{^!6u?SKvTc#AbGtf;oFfdRsx70H< zH%vA%PfJYFQ7|$vGSWA&&^I*GH8Qd?HnlP_RDc2{poK*#X;wilZcyuhJX@uVl9B=| zef{$Ca=mh6z5JqdeM3u2OML?)eIp}XpbFjM%Dj@q3f;V7Wta&rsl~}fnFS@8`FRQ; z6BCp2OG|8(fR2UuBDVl;Y+f-mq<~?jUy)d#Z>VPg@)b;>uP=V3xw&xF#U(+h2=`(& zxHzP;AXPsowK%`DC>a=cY04n03ap%qQWHz^i$e1Ab6^1(kda@KU!0L&pkQR8XP}@F zo|%`DUtX*U*5K=F<(XGpl9-pA>gi&u1T;b~Gc(1?&B@Zm+{D<~z|_dh(9qS*!otAJ z&Be&V$jrjX($c~irq?AuximL5uLPzy1) zKA&To)Y_YLP^`6ggW`4V{u5v4|8iR{yz9)J^>ueGFVFdTZszB+Gqc(LylfNmoZ-gV zcHwQbz2QG;xwUf}V?&hKa@!6E2#X}K&%DI9=zeAs$IrC~MfO~(b5s^vdn~uIZLy?I za@fwDrk~7v9=q*1U3r(;>|)=O_d+vtiY^qWzccJ%lzecV$1cWeLW5n7VyN#0)yrES zbEO8Y+hvh`t;@tDG5%$I1MiPFEX^wpua23}r0OYj!6tL@z6p;`Om)#Ovg20Hnt5)a z$n{Ho$C#{~YHS=mLzdbUWnZ}Ys(M4Ojm%BfhI#hu4r`@N`M34g?3%6`&AaYB|B^SV zPko&9dG_8DnH5vFa#Zkqe;gX;qb+oJqC(isrgw)XDui3w@wqp#Z8f^<7tmO>)b@Q^ zQ`XIUzM1P2&d2psxU>~aw$3fyvh9V^mJ{mN`if0%%g-^~vddz!@sGmH_pZEpcWQ`;-5Zko^yW8yFdWs>SU{5DxYP6=j~TelF{r5}E)! CKISL@ diff --git a/web/public/camera-3.2/images/right-arrow.png b/web/public/camera-3.2/images/right-arrow.png deleted file mode 100644 index 6aa6af06b98032d40f7cf1686749655ce59f5f33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 389 zcmeAS@N?(olHy`uVBq!ia0vp^Zb0nF!2%?YDM@VyQk(@Ik;M!Q+`=Ht$S`Y;1W-^R z*(1o8fuTy3fuW(9f#K(WApMeoq11qZ;Z*_ygVhWM2J!q!@kfECF>-slIEGZ*dUIoA zVY7kAv5)(U*%!&Pt(L3kO|eb$QY+)}+xcWUyP=HjzS(nDS@rI_ zR?1kkQt{#F!4I)bPvN~%;??g!uy%W7h zkK}zepYQLz_VUlV_Ib`ZGjq?(J@l)9

$N|&I zmyec&_UD_A=CP}~y3!&@DFTHISP&mQJzePV+bJP7M7&B2{6|5mIZAJddT)HZ4_wbF z4kb!89)uFZCWJT>)kqqDmp}rQAPSobjO=gHu0HY=EI(}7UtZlY`)K2vb?yF3kRTC9 z1}WL@(aEs@{WM+cF?`*nV~|3-;=V#0D)QuapXc{@y z(s+g@z2^3~HCcHQQYO1##wkJ()T8t-M2LM*=Tpp!CvmjdTX*P@=l8D)r0@EW{z5f2 z*PXjwfnF4s{vvmA0l!V<^P69te>~rO<5w`hNJ)3%hCIkS7y_(9XsNEE2>OftWH%Qk z0^bn3JTZ0$fkZg5e>gt*vR=TKL>{V|N<^FZbYx--$u`Z{uWorL8F?r;J33lBd4Lq$ zte<;Wzkqt%dDuc#R5i5?krWId5EP`UD5vi;vm3BgV-5HHGjmOL{_&B=7`d?6lhELM zMwZ%YG&H9+x%uyHh04{A`QgR>{j%>`IWE&H(v$K<4Q?qhk46yM*}i-M35&X?bSr(o zAo5XG&E!Go^kl&Kd}q^-*ORs9C;IcbjprYmCofRv#s^7YU~$s;1;tIR3N8n2XMZE0_>?%?S7Mrcqm z#TxiG@JsaN&kXO!J5{}`iKeEemf{(2p8BuQ5WmE}!!Ou{2=Hr2Z#-M7U3zr81yuR- zx43(kbUGa;tLuJZXF~<}v9WJyLS@>?lBY z!0fMiU|f=}gR^tYv;$89*YwusBwYmBMXs#8{7qfmgQKeW05Tgo;FVx}5C|4@^!sFF zP-w8r;x6Q&>XR}3JUfg!@yOrIzb$J06`X`7M7T%B0taia3zFO-p>(oY)@f5yQ;^cq zQpxI zul^nxVd!HkIK#QlpTGVePZmcu+^g#9xW&cAyUxz)FWQJ?g6~uR@9h?MSOYJfH&#{x zC;uKWvgKXIUENK1^8E3THyrB5LX{1Ps@~Bv2P>vQ!R!L73i@D0nq|R+WG+>}!j_JX znjatg8TfB1uytG#|L=HHU3*!)`vR`d-sI7IGy|_26vpY*WfqAQJy@Q*2t!u36 zbnUPR#^2c3=_6b}*B!_luQxRFq#M=)tOEs>X4#wgREFQ(UjErE)Ua)~PeDiL&efz| zvR;Y0*8Ja4*abIaeI%)z8g9?2O8tIvY-(X)p`YUPeY`)ujWBSg0BC}8RxUTPQa^vQ zO-(SYCDWg{Z>uL+Dnu?0#)nf8B3;y>>0qU!%k>Y@fFl4$Tr;hK2soXPbjAUJkigFm zV+%jMR{KepSSmyUufnzFeyY+=fZSw7-t~QI_EmA>{A2`c&6ACh7$zq)&c@yUy><@0 z@yTy(U?BQ~R-vUd>j67yQt+x2?sN5NBIG6^a@5!P&)1R}w#)m`2Sa9`>g(&fJSWW} z-EaNpP9T;qhaIH%;*GW8#|{E>b0k$2xvm9VJ*W50WXw0F1?+3ze5L)H0yyN{9BrXi zCUwJ{8|kq9|BlUVF6i%#o1LAikdV+Wz7#__859DAu+v0w;P4H@^`QPV#Qdg%)k3pX zx(-fG(K{8btTqz=t@{@xrSxGi!pI1c*q?VVB4^+fjE{@oaVD9OKxDd_*vdJ0@4a=} zJKgBmSaR3By2%x0AaVi!4R%@uj(Kr4U0;cMfaE?HAFL>ZpSu?@E*b3~UrX=;>wJxk zZ%k-`P=Nt^l#OGP6*=i}Ts`uMryi&OO~z0lNgOs@qfk*)F3%xJY(R&!Em41;_=Zy@ zZpr_D?~pwFHTHCH%L6k=`2{6k6CIC!!$FMOUJ8qR7tXJUs}oos4VTX^hb!hYOX&O# zNU>h&2q#@hw@0<7QU2$Ye~zZC;`{US^H~TQF2)L^;Z$HJrSGZV$#K6q<38UB(Cmg} zL@BX863rOunwd%WIq+MIIRT;#8{%^-N4;#Rq@<*lVz=M4TfhWH4Gg@}X;~p)?B`QU zayj+G_kaf~hdcadhsqcgR$oP}!m-E3i5hbcJfbm3STOJzl{HoQanibOoH_jIaSUzM ze@D_5YJRhASgkfa^1i?>|Deu(y<|U4Bw5e&26fHs{UvJ82CcoXzztzO5L3lbzxng? zXMv>OSs8k(AR`+{F(6zV5bV)DW=F*Ln-asnkYgmfO_zodQe~&Ra?1?w=XNFO7icd> zHyJ6&fW!Lz%xW9H6iP@)bki9kaLfRA$8Pd$W!feyIkX)HVBu$2?RxbAC(_owbmul0 z>q6pZ>MezXRahJv6lo&E;Qce^sG;<6A7^zjwTEf?#3(q-QGyLPkth^R)UjVQ>gi>E z2M|{PYCa(){TGtI$Q!%mz*SbBe1cS>)L=F>daSz`g7HtO<-qJOYp^H_BLEH&h`;Po zZ2m!*m{0=;?3h{LGDrUxPSHyqS6N!3zhl461#(chM8^KswVnND|g*U7n z{_hc_KFi?@Tn!<(xZf6>4Ec5Cpey>L0f~%bXX4hL3A)kc<-)F)>!}L8{~dv4+Z!5Q zY~(V=_m+!**{Q&&g9wid2h;ZiNDvZ?RMZa;QKc3I5E;O9U|TCQ_7&kRIRCa579kCN zeU~w+-J-HrlNi6FIfNV+2lpEsSFZU3WaWH11ISrZGc)pE@c#<~Tvq=>xyIUBu87WM zl*MKXHQ1cwGbJ?+@FS|*NL#fsXg=-9B?9q!D}VIye~H4JuSepA@yk4IFC?t!%V*MJ zGb?TgO6DM!5(=pu(I@qo#d^Rove=`6qT3Dcuq-2Y5!u@v^n=AdiSxKGCE{5736F3Mi zx*P#1ARmgT;$zMI7C%H@q`sk{yQhb6F5|zg34D6J&Hs>@!kc0*w=TzjGz9jcfqN}@ zyM6;3I3D4!q*99wdg44J!9QQUefahMNMChbj+RayzUT}W?)a`&jv$;_P4XPwn;zb; z6lA5h-#D|IVKEgLL{mJn$|Zt82TKC^32-bJn4Q&U38(SP7oncjBNSeZe>QzNsqfd& z{r2Ja<-}OfJ4KwQ!7g~HWO`dZHrfF>4&l3=JZk=LtyhuezgHNl1u}F~toGI5===t1v4CD06-n`t$va_RYxM zkAYnn#7QpntFmf*dalL+gTkO!iqKht&N)xdEmmRZ%5E(oWg=iN96wLJd_l7JM zh?4Vi;+VrIoCFoWlDv&?ruuy7mWTV$2t1zY8d)9<=DZN{v9t(DalgT$QLXyh^O?A9w04VU15CA zn-cF}z&klnpoXVf^IEN5-c5>pFx{cjb z8|6Q503uQOvyOFUgcL5-F*_Mi{F$7?O9yc5yJ>sapa(w*oDPy5z^W7D@P zgFwiXm$NJ5{(A;FHmMmJ7iHfP z<`e4Vz85)XzWvAptQdFcF9M_jK~&?<+nWmipxo=9Z?6cW`kzlT;I`-QMr7Bb4G0|t zX2i>==5}xa{|t$Njo*lP+oz9gtc>O;jJ^Q{gJ~1+g6XBNHb1*bW&U7Q9`7vOYdZW9*Xa*=&yTal3ZJU8hkY1&S>!+t5`H3z57LhRm#%mc)vW88h338U z!EKUwu&>ubywpH#|K-os&M}Z1x(V@vrH*6SLBY+EfxppMWClV!bZcJE&Po$BA{nVyQSCh+ac92ht;$s`DjhY;;TRZ<%X4# zQd9^E9}67X@&72zE|SM)Bjj!U zsllev_mmz|roqr!RV27nDnVvu5o;nPmju*8Kvj&318O=P*L&K(?D9l+L4g-CC!!)w z9EQ3#s)XBKtlg^xMZCDcMQ-x8e^Xt9hCzUM78>-r*=s}Mjb;Tu!!!O6ys(lJ$(j%o z6Z2@|^A4?Rvb>oY{=|lf1QXr8?@&QXP*~J&2fl$~#BioefQb`OL#p3trp;j3+-MAE z2VF&}um$MH^{$##QP75q=ULjw%obh86}*~fKdspJ6-D2jm@hFj4wA2jeZVL6eh@WN z_~po&82q5`k*pw)LeXmp>e=cz&3Hl(ScS_<7jYvR&F7ZNJ@EW{k|?pQ>@gLl-teP#QD-=WVsQ8uuq2r$w2_}Lk5jYA(*Im7IhK7EgB;J=(ASn-7# zLx(-ps?{``Pw%@mZm)m6Ez0^DMKO#S*^J9TodQ+lzYoWFAl-U;lI~ZaVyv&{iDQ0< z%R&kucJS2UVJGEa|BLFKU_L^P-Xt78Lhg9#NAfJ!$3v_@O8J*oqHanO>@K+{0IxcD zJ=v6Pg9CUJgp}29S2WG=y%*hYh7fuC9nkuPMpd*^st}~aN`K?t21ejPs%QU$qhcmK zrm(SdnQ}Gxw)Z5{4af80&{qOL&NebL3x9x%UB$ciM5-GNr6}hi#Lvoe&nP$l9}&lk zXCfKV4A$j3mQIq+)(XX1dkHWXn%@v&MQxI>P$7dVnkeSk+1Y<#+KA0v;8;l^VPSrL zT5-yZDMTiM25icetI7VeD9lms=qz(s+yM8veKR)exyY;W8yFgPH!a>cZ9c;`t`|Le zPakvd`0px6enrn%oMfNKK@o3l9Pm3N-T*5^Zr(#4J_xjCXaZ1W!FPiNTc*ns;bB4U z0juvC70~5rn>MkBL3M^hOJjiA-X{cj5B3u#9;mAZl=s*!*AU@K@arzNv_~v|Q(;R6 z(oIue$WADCEp(v;0ycu~Qb&z~?4pUi-%JfkHpn zan60@v74{2@ms)^`HgodXkWdTOpR8Il6WOTt2jFyy8Xw=B(x)Pg(W1pw?5aFle=`V zc}fCzxnpLOz%qZPBKN_{@!*|EEkbPDz}xco=3o#gJvFfP$gPy^s1QNioa>u+bLsL> z2qH`8vPn1wKXS!U;T8q|eLe647A)Ay-yQ*yScY>8zY}_yaPuYh5I?LSiCEta4i5S~ zL8>iRf1q`R6THz)8d3`KH)iyZF|3nu;13figUngY(c#LO5n;1ZOYeQ4%d}2|$VUNW zf)Qu%(tAsA@Vldn)%b%vn^+v40Zjj+j6h2~!={W+%a#rrS!}CwIG}80XmqvI9e)fE zfm)eT1UR6u<_J-ISdq`l8{QXH3AL1LUh^Yq_4jMbG#&RXlg=+)9vzt-8Pw_4mC9TQ z5cY{4)NhFO`0$xm6ViikWX2ok>HmJRPBSt!RhS23EyU-unG^YHtfog1YH27mFkaGNJ;CnBkyB1OJr9r2{hTj2SMEFZ2y&!=?o>NDyY+z{s>r^ws0CF&i%X8ciPD-HR z(|zueEM7^Bnp4AUw#e_%th)<1ndH39cY37XN;Fw`NcDL{rmf)|erB7%WqB_x3P>UV zhw;2$lne)gi%otE3=G{CccJvrUnhrAURDq3pk|sODw+G9#trX_I4?W z&MHFjYsLm?PT~#s#&RZ@WETkt)1m^9Pl^4CSOVhDwqa|C3+``}IvLJVhV&ZpJ3{We z$nWWgi?>1vc>fvPF(=DMZPAGpmAyi4mf*4w{Al0s#9c zg!|Bg(N)l$U;^C32;NUV@)U%jX3=z!qvx4wb%RU0Stx?uUyYtY4UdB^Ya9!U@&iR` zPfh9~2b4H*Ko>X9ZjlkLxf|oAy%=G1f)w9xypL9@EqT@#`*0K zf)3?Hhtol81HOs+Yd*=oX_Z;E#}g)aq+!=G5mNsx%J(<(3I_lj*(Z`-yC3EnoXxGX zJ^DhVUgADqeJJ{#lZk|9@*-T3L!JX7P>FJ*RF6AO`^BIgn<3dv=nK~@&yUls{2CnyHPx>TT;V>1Z&ujBB!$p`Zpg*Lu}Z?yaNY~2SlhhDC%#N3GpBm%Wa!|H_6({^QP8!iJ%OR3(Yv5nfKmbG$ z@oIg1H?~!)bK!a&66s-tgk2C@IB`JO1>cK8q6FkAfC{mFngRlTjQfr291ExGspb@B zlomwa(YU+VI9yv<;V3S7>G76niz~CkBQ|L)45> z=$%_G3;d7!dD$5OgFq43YOC5v2P53z7ZpiSN9`IFZNgB>=YHO4BTTwI*J#4qebcA( z9rghPEjzIQf(BqTq85Mul$a6%vAyqxfS9o+MF0;59OLObkJR=YXoe z3>4{MQ{(Txx{^YqW7kOb4}<|eh%B=6u`BubY`c{8R4;NX9fsDwGPC~fn#26zjC)+( zojGrY2f6gh9sEEF>q8g~XvtYEK&U!6L}B~=D>e&!^j#cf^g+ut&>#<>R$Ln2t+)ug ztbbY>aO^Vt>)$-$Wxm~$G|N(?F7g}%`bD~K^k&OL0H`SNkXQr{JX{K;8~|K!CPPDO zy$m7;TE-Ij+s<9cd9K*Y^CshD#E@80l=kgpI&j?B5SxC80#)m!?!&freBEg7(rJ*5B*M9C)7%zTbFeweJ2jJ0p zBRiKreYw&6&EckqdVa2k+p|QC6)h#Z^97BOq_m(epkif=RbKIK zy=D;?1xlmCm5Za*rs&RM0X<9}r?MQ`1?NMVjYuoaNDYqQ!ykTSZnR1p9Ul_`Hub27 z$r;9oEtV4|pN z`IDwqxU$!<7|{lrnWT;Y6?Hxhy3%WOUTn#vEr%1q=8-=;<6HMmM0V8l>k41ZS-y>_ z{Khj-(-?5-7#p+22=A6JLNUyqOpD2)0%jXGq}LduMq36S7s$*oegD`P1#ota`e(F2 zW}?9o0iUo(?eTvV0GQnio+3iRPM6;kj!V1UKIWmV?YstqUd+%+A^8FuVqrzQg0tbX z2-?=w?F``r2q!T(6BZ`V=+B$v!fsj`J#1~vBZArF*oiYgYfzG|=je7W- zOPLonz8OrZ1M%hcIV5Ie zvAC=+iPG1s+aOhOlkZj^GoH(PaO$n1X#3{9nKn%QXul+BOns?i;uKh-rOZm_?7?8@O_Se`O}O&_pMKIRlkc& zqOMZb1-jmG*9K!_zcIITl$FZ|2l}J)Q&I8O;E28Zsq43j7Mtwl;eq^>A1_M-K%)ftG;26(ITv3M^l{3Z zuG{1M;2xO@Q8Kx|F26Q)8iW4+$-JTvWrd*ZAw@qN4<{sOQpw{+rrb*JUP>EgXv)~^ z+>Inn{B+FJM4BilG2pMINi2r=kWe&h?#cRdhhy+wRaF(cNYn1U%|sw2rn(+9pARG_ zCp!r}Q?{-fn(yUC-rWL<5&VXZ!J`1w$TXMnN426?Y#Pa@5aKX(0?AsEDR%k_eB|Nz zr1jk^qlI>Q_=IFYN^C5GUA;{<5@ zD51f!1ud6=;hv`A#RJQ5Yn1+n9R0qtDlN%RG`h0!l>ZxK>AbA9hwVU>-UW%t` zLiQ`q_+T*Ncwd2$xj93nq6bYS%mZ@1;8%e_AjC@6$Z9#evY!v^N#|!` z0_?9oR#fHwn)unYGo$;P$;lH33=JOah9NFy2zADg{r8bu9y3pv(auqP z1M!21!}_d#xL&*0YyiWcTjuq=SBWWV);41mmlXftPXqynmNDe&*2>OhiwJdo5_VLI z@IUGvefS992r3l@7|fQz*M*xg_{{Z4R15Qi@GCI?g`r7&9UL_i6yNq*xt{GBgJ&pk zj6X<)(C}*YiD@R&u_uoh(iv?>uhHz=`8_9* z?~;>4bwl2I(L*@%`aPnk*TB&8qioPKR9TrtwH!1U;(~QwAYiM7>^*Ps8NMP{W&c4H z0&gr*&_8n&jFAi*+W3}tyOEN6`T={~8)>m}0#m={82kwv>q}I;(%T7Cy6sHZAFM{DwDmUa1MT$_I7#tpSNRKZemAp*jwu9@XZUA; zwzH|IH!BIRw2AD@kp$>VX`e$V{*x{knPQjZ>t975wF;XC`WlFd7y|b_Cj^+Nl;(ye1* z{GAmF^v{lzYl_|t*CLEv%(h918>!$RQL=t|{d#nXy^?9!Q@webiA!Njh}fRzzUSD4 z4-dNWl4;{zugs#t*p@yPS97NjVfGXX5Qcv%1JW-aWeDSmu^t`Wu=ECMo5SUty-PG( zdc=Uvej-r(Qbcd|yG=b^P+E@f4EOIK<3#ZZkO=#YSs&EB4)>rxxeW*!wl(DYSSSBIEdEz3v>DXYhq zihm%=r&FLLt;L>eOK+-EicvNuZj#KzR}S(Ba%;Dv@5;xbdXy}l8II3 z#5V|qf#!TJmLsjdHG{JGmqZ1LKWyyBKY+i7_cL41q~3e8sr%Z}Oo=?oeLwi(r-M{x zv|gds@?i|f=9jyxEsj`~!?(%zVU?l6>0G>Zv<0 z*-1CP4c$+f#GU}14#JxQX3=ie*4C4R2c1Z|gpQ81=f!HvwtDgiLH-s>>WrHQ{e24T z?fMD3uQfau3~QGjoW|;U_jv!cVt0UYGB&-t`Z;#Ymro1ynZM5(T9dKth`4e#;2~|2 zE=z5wU4grW2XroGCwO(5Mfw4)gIVs+n~&&7zlpPoV%pkUff3?FjTjfp=7gbnIEa+C z5{4h0b+c>ZCU$#IXGWuB^9L~@LqnMOf*kQho?T1xT~}DVS1_{d^toJSCxMB{{keQSMj6*XaIvRmP?S7}kF$O~apWRrY7q~Y zDD0li=WkE2{c{V@#=F>%fPtNc5wZHfC?XZavkr~sO^R;CVqE&R@eO*td_0D#LjDPv+-L*A#tOzX;SK4B2&b_K)RW`ubWx)){s3Ue=tZA}ave^l4Io?p3+5yI+mh8@| z2~ngBA}|*MT zru>H;8HCivv;B>31)~I3tLpxXD4;>P77nk*nJBm7=-OY<$ts9z@|ys=@>?7 zWuL!hyheZ99n>rt{8MMlD9_A{#*>Uxko7~xPU((rGSJLA9H3&X ztqHg~?k{z$5&yke{40E?<-$^wkt{@e!NW{g9$sLnB{=Od%Uo?wY7rDL-ng)d@|%D7 z(}+z(SH=4|ixpdsY)XJ%MT~g9oqz!_y*LOwf8+}cM6D8iKthmDEvffaZdT zf;spZDegDTV~ZxEk1+!%$F3gz(FmYnrd^VOfGP4(%pVRy6vg1|UYfcZugGhM9v1!{ z4WM6d@)bEh-iWEhLHU|kcXoDgA8^cpL^R?m zf$U&LlC&r9%KY$KaTtz^U|A_bzsS8aQ*bfwgSjaJZ-o^@i8l2#e2)j3tX2fG^CZ5J zbpQD_jJreTU3fnZcCKZtAA#Uo(LUQ_nWJ6LEQOhmEqW|aonYG1_kSWO4`X?^RX_o< zSz}^!*w!LH^;w5&~$H_MvF=^L&5vQx?$*(rur$ zn^i8?`s#eoEqa+>Egr@^^22zN8-Jk{@6(9!IbJb8ey#sglyXijyFcgF75l5EwxldXq{0Yn?Z1lRdmVn|Tlp5Xa%94F8x?vq@YC-gBJAzkklxkB{%|Xz~?0+r#hL7q!%& z1b%OSQ7HWGHXB>If9@%3V-?3Y@o`Z0@|h@$3TTtFk}X)~^ONlu21)=ll9TC<&Sssh zLIKJRiIqpSTUaP<&KeXba8SbsY#Auj^r*i*$d^yGRj`XTPg5GLXdUOya;P;alO z?r@Fuo%jD?Em-3^O>n^;{h@SzUlY(s0AeKKP+VLpdZ*SKFF@~58*>zad1JQNHRGT% zt-n>`oOJ%7{*4-!es6tQ@XW_MixRS$2OHIHQv$O3+KKJc`fGIBAw6u$0MlcV;t)Dx#WljpG0Yj8iYGGxFGYo&x-tf0# z;5wkTW-oKSs&+b_=fo}J-d4gW?*1JrM87bIM0nKMSO0CK4*+}Y4lrm(+tF&THHs{p zG5D)0twZAb`oIg0I|b1Rs!X$2MUMzudfy#8@ukd5)*|l`<2}I}Rbd815?_u71R+{b zNFcUZ;SZa7^P5r!no4<$V%rs`T`jOldk3ZIS9x7pQ z{@N3PFz7!-p~$HQXEwr44GTHRzg_imgFBS{;(Wi|2Gh7&U8;i%o>?0z8L9OK7Q(v^i~ z#2d45W6<~DHrMY(lPa>lsPYxYN;UC_C@kKIA)&7T79>*KI)1EL2d+3A0m+}chk-bW z+#k?(`j$cKp=D`P?IrKly*ed3elS%HEy0&|xBjs*7c~C3t9cUf!f+J>TBZ=A)XCXZ zGgSoWLGpG_y_P7uDSq@7 zGI(wF3(ng~R(Ogml{Fh#pP$e#=4t4JNdt;a%OuUje*91z++_;ydCyd4ibxKi29|df zNg6n|@t4fOulPy?ATfFg@1jK0cxSGf@2{=& z?`s=h=YI$gRPbj%j4(AAnve&bS~sNTN1DG1jQ@BgZ+;_#5pY|OPfO()_?8dat~H=V&Za?h9z<0{T` zt!tgx5L*{7(9i7Gy4}&{QGx!dxGA{v{K*k76!ImN@X}}a<$Y||>AIe5XchpDDiKt7RNa^pxVo`R~xmMPF(Pbe}@cuUE z*cL6G;`>m>ke73StkUiI^Y+>0yj(;Hp-z*Bz4mG2Dg1fEZ|_OEQctHev*FLBFf*1Q zTP?O%sSP(J@HEfa9%E#~MZmCRl#wM=^7`{JMHeiLH`Kq6C|KNpCp86_5tRWg^C1(6 zRFTxb>+$BolbyU@YxK_$4O=25qgP)pM~AfXXvz>9>0>E&5%+6!pR8^_I{7dxV>>{v zY)m?C(~FUihg$?oZs49w#a@c1^#V;dRswQMW3J`1$Z^zyy zbx32Cu6jqE`1P*nsph2jz1lyUzdE}d@kKNzR?Cj1)u?1A>PyjCX}?+rQw7nI+YA07 zv}f)Mnysz1wP8qnWcG7F@T&T7IzQI3Ms^(J0?+SO?03^FLGZPB{@EFS^^M0qeA~Oi zq|qcYOwaNm-+_>S;-GgXdZ5-jaTt7lsQZb)a1=!y5fX*K7kpKn!mkG^1NM zXGUg6JPL#>{rtZ=KvfVZlelSDS+9&1p(8He&&GI)%!nOO7~1gzjN4@O@?ZtiiAAVU z7ZFFwE+4^!JN``2FKRVyK<>}-Q^ExbwKtnTwQgrnp+4VK^v}48#WUHQ0(3C zc8ao0d*G%RSl)~!o_q@Uio)nvyA!$F}HLLL_lx z0*L)+>=kJm!R`0#K1YOa*OA;dU-1(;|+_!&lK0c-Q1*my5#5tiR-;PAX{= ziN@K+Czr4$6G#m8$TH1%Bf=NcDCLlnr z=BXMb$l~De)M~LMp!w6-GxKK3$j;2p{?nEHR}q|St2V2R0nAV1M$kSHc5E7E3+QqO zPog9>N9sh^{jt~H#yj}IxuhPZDZqsaz=fwxb4F(~-6qYv`@h-NS_K@kOBYRR7eyMt z-&Lz=yX}U2{Op_ra~}3~!#__>)=J)}ZO)p#`uyFTNiN2bUU*(~%+7t*W-w^-7H{HF zf&P{FyzIxDwV9f3nIaV3#KZO5OiVk;tMdg`?ZT0bR}j7L1cp-T=BiVGbTxpyXuq5w z*ERs0JU@eZPBhaS`HE%b%QtbVFCXo@U*?+|?ld~>%Qxh@v=+YF)5Rca?+$TSl~wPHhr+2(t&>efbMTYBzBxv#Z!KwuSW15I@BR%V zCi5Gq4Op0vI&Idf)WUg3^p=VM7}%!bOf-|`www$ZwGJ(p|Nh)XP zF{qnym0ASgy8vlN^Nx1~xQoSmj$P&R`;#`itVk;OmNxvmCDm=~pujjUz59QP-s;ii z2xAgHyh|AE=M7J4d=;v8H6>oXY9GI8GFLRw#Gkbu-7HVe3R1fV!2_F;2L69Vd|iqInl0c;lb2M@_>gY!YC6mQ~2su zGfjz7uB`sV8xr7qH#H-=krg1-W^MAcgS zW8@HrE2jjmNA1(yBU=Jinj)eybaxW#Q(F%b?&|cEZ_^v|f*bdHvc|rzoA8&~7w)&` z0&X}Q5RPG0Xco%Gf6`>cSzm5rri=Uh7KQ11^7aR{_B%O)UBNYKz5ueix>lWB*Ny#W zt-PT!fuu$Ei}jM0(!IzU$AXZae3im;-Obk+5Y3fMYFPI;G%*u_QmLk;s;fNOVNg|zB+ip(xBzx8y{(Un~_g@ zyFU+vkmwy$6PHBkFJE+o7q~7Tx|iFLtJfeLBTElVS_d7nV1V(YZ ziK-j)D!jys?~in7J;yB27z<-FZfV8u?Kv*Bu{BzCwptuhv@b>;pTW~oi`4ALKDY_^ z7PJq+_eNbOR`gwpR|g(HQVSw!m3hT`UN-=)exkJGm7 zvV(e0YK2yXqMD^gOf(GBKWpo8K(wB1^lr`{L|$5NBghmJThr81(n>(qlX98k0@Lh0 zDq_}AxVBaWe%hW$#iE44(MeguN1Fa#p3wqs4dzM|wFDf!uO1`G@O?qQ);G|L+>$AL2Az$><-qu5U-z=53%r$d%4$s%ex~UFfn)#)qYdH zRq)V2w=bvGy)06o@ku{Pz9qS?D;p{MiN0}KBnKF90r6oZGeA{s>Mu%JBR^>HJYvG^ z+Rt~HJai7zaPHS1t4aSsbC+KW{>NEI^)%Bg!d?Wv(e`qlasXX7!M^+j$Fby2?(vNg zB|&BYZAn(`*3c(a9WB!V)5fQ$Ue=TdC&2|MC8G`87Z~bx_b2i`;$)PvLSAe=4HEDS z^D@om?Zs)Qs)3P@>TkuU)@QGHdz1*2{`_<aXAYGtXUbM(|k!2QCzasbo>1U!DtPW>2ZWMs7YWh-VU`ykg^iTBB49_pO$z3(;} zgwc=aabI3PcC^b-*k+)$1A#Q?wq($E)&qq9UJpquzBLI}-s|}FneFBYeN4A!GNh}> zHm$yj|87&s?F!X(mtn6T{Db-o+=*?!jyDh_FJ2wGnYN&K-J9^c9?!Ym@8anFqvxJmya1)rG4GgG_2Sm@{0`sEEH;n z2ZOvPh)l!EcKznhWJH#Cq|kK&`4vv@?s{jK&3VwxW?H8`m=r*-Of^CPTGyo{xUkp< z(5&Xtb$l~{9_PAh@@sffWEkPaS@91SeC8@ODEAByw7hqwNkIH?!BmB#D238|z)|RW zh|95T-{%Jb-emsho-TDb;~Ms=Cmk>@imBiGMja)6hSX)tiGAY1AEiBU%FXkgO5xF< zTE0{G3Fa@x)(^bH88LV1NY9$+Tgpj@*nd*rJ5mP^UJZbf0o-I{?5T%|UFP?AiutP!yaq|W0qp6GZc;yP4>)nqs z^w~sA#b?TxTLLm!@G?=1Ji%db`POm`KLRb!h6{^ z>#41)S^WttubJ=E=0C#BxJc4&3}+@{kKxtb&zun1KS%M_6YMVp^>oTIKHmu(DN(E5 zl5!O-pq*?gXmJ<(Fel0?6UEdk?be+yRyV{Yu5R-w{YjXUc|afQ_7s#AxW@tMH++lI z&}qCoA9%fYuVQI3`S*oLlD+9j{rbw<;OiHrRh6#l1@dAVKi=&tAFSv2kCyUX)_H()mE=$c8N`xm*Z!+SD% zX1%H&Bwyyoc{9wpc+@1~+(3gtqc*sJ8Ud>$&$V+G!{-=DW|F^&;E_PqlMLjr{N~xe zowO10-CWHNQP7}&gD`DI7W{E75cqLgv%zddVyDaEKITz&R$DE-dN>g< zTt%-Vi83Xj32p@aflgXRhevgUZ_O_Lsb{7L8u2U<_%idQd-Uiava#us=i^G@yx1S{ zF&T`OVDZXpy~4J-SW;f!C7(}&Vr^0fZdJqjvz7|35$Y5`J>-KK15o%g$4gefrN0%ac8y>& z5RhoAFAc~j*wSyDCa>yIPDAv1m44Nn(KJgzZ!2%s!t2b$=Y2ga^JeBU{3|r`TnRu> zkF{xKIVhP9>KgViN?t#E06+3kr*>apdrmJB&7mir^zpa5fGCcBf=Xk5#dX<$rh{p) zJ58EMea2W_uYn^u%4=)E!~F+Q4t|t-PjVRRW(6L6hd25F2X_7*5Nev6r;crjZ4R+W zBm1n_92P7aWqht6_)}u$sF=t!{UDSsf`2Exvs-b)9YZg)Emf|2mhp=111(%{Pr)?1 zae%Q1J=>ThAw`#4Jd&&%Ev8v_{%W>6iagiwJTR4jtvGo^b3OE+BY?+By&U1B{;Z@W z^i?bc@&)dEH!vq(14daPW*|A5s7D81#?tuZxbK?QZHwXuv*654_-YqxX>il=7}w1B zHwPI1)+mkFTjfp%zjabBDad$DG08sR;F;v`3`J)`hr2Ntu4h=^mP`T)<^lYiCsB3O zkt`iXyJ=o}`~S260Zj^S>LiUH63c7Lc=l{#9*g=$mKzZ{Rj*cOiPNQw(y`H$Mw0ZG zaN;_S*wwrnKUL`6`^L5InY=@mEacJ?K7|=N=T6j&;sAl>RYaWKFDrqI7l3*vl$N%= zz}3?(pwiVMN$|6H0BXn1yjU$!vm>eLwirL$EQ@GNppX3>zuF^@jY`J~gYw0CPX$%E zGRqqe&g!FgrPVwNv5AI!} zN_6{_F8QKfNUrH;G(iyS{ z_PtvLPvn)Qls@WHeyk_sXHOvfe>9zCK$CB{#z&WQDvfkXhlnGkhQvk>1VM6iNJ&T| zT>>H@IZ7HvS)hQ@AtgwMfOH9*hyOX}D<8(YcTe8;b^Wf)ZQ_Dy-%8F;83M@~X0UoX zy|i_T<5Y}^cVZL{9H;n=$uBv8 z-&~~^rLjWcUiI8SU)tle;G+8R5G_?for0J3U0$cqr}8r+PtZxLauH^a9MGPPwUW(J zLMgLb2(AgOD2Y}k#y6)`3Zh; zs_CHnu140wt>2*VQ%1rZMZ-uO8P{Z#wGoHibMo8Zjq>ctVcb!$3;M4yB_&z2Ren00Xuj?Zt=UkPGfx zqU|s1t0SvkPN??eh%Nc5k~ybpQd3zOxYx<{j6wV~7rbXqylDM3VMOCToz5P!ATJ472C8X!hnTX;pAnVeVURvS6tLlxcJa^w- zrK6f!scz7UQLWQRLty(OI-LZbOh~*aiK``lv(?S%qBwa;yhaLv2xP_{3l-(EibT<))fx@HxZe|111L?dbQ}91(kUvd`h^@vZ-;STw|VZI<2bQkc0~Cq zOWyvk6?3z(MioDvN?@oj>(io5WUjF3@x|%fi+3F}Wp#6+KIV`*tJLx>YT8YoG|3^+ zFvzzbjc==9ldY~T{AH7QdEjlWqrIvpd7692e#eY%icrC4xCSFpGZtk1jv4Ln%)62a zeH1=zz5uozGG4`lu_xzX)hIV8Z5R0ZONfGioMo&|;V|8}1%p+B|1r`Fl6`JpLG#B^ ztJTDNbc^4j$EQ|gbGvC1v(Q4>jOfj(kC$3C>b4&H`sB%`zo4lQ@5lY7V;-ZWbTrvT0G~XXr6!3)*wq* z%U8{>((m0>b{jQ4J)V{@e!SX{e55j7_dzzeQ$vM5J-=>?_y`{(^aI`7p40Qr?MGbV zSz~T_S=D2?sR3RODjT4#FfeKC>=Z5?Etj@hOosv;U<$`=eQ&eW92J9=QNuR4OLrTE z3JkFt8>AbPY=0hfHOEa=>|tiX@>sZ;cpL)n+pdbC?NRwC&eb6$EDWDFYkXGmw!pF1 z8}T&qPCHB^am(?_E6>jJkN2G5Q}$OO$R`TpHqN|D2%d*Q%_5{$BhGjuS-2JGh6*9J zdtC*IL&6n`11tDMnF_x#ND)Us|DJ6pJ&htA=pxub4>MTCfLZ+`+) z)JsF9TB{2fV=cnt=t;s8`$n0R=6kjq9Huoaqg>{yOvg!WX6%pytSbjhv0)mUL%M5S zj+X|Dism(1)pk;6Ino^!d>>4`JIYM4yz2{ETZoKE@h4$;+Gh!lv4%4)LBgq49~QA7 z9K;2Jep%?o%NW-lxLM*M^A7J z$Q~lfgwuS_(fwEu=$pSt!70Ab)8FL541t@5WU5k;R~x7P2Cg6ZVhu+xl=%p|Wowv@ z?!^Z6)_wQ;r!rbquXD`Dh%GYsr(`SAesRFcw6;yy3dior^SRf$BwQYCGZEUH$QCBB zajfTWasUjFvJN-39d=(Up3+LmKvb9ot;$+9#d_!9@pfk)*00r(<)<$r-Y3A)#ph_! zn6@J2=rFMjF8BrL!Jq9}dc90zDolK$YUX0%HpNB}A^Kv58%Ym0f1>*yraC*1HCjkV zN4!?9Yo2yCTCXMfhG z{i{+oK)K27_=O$rBG9;G`mM;b1s1nf-7`Ovm7DT0=M&gTm!H?r?Ezz_3tckr(98 zRPDpKv1J*ilqC3$qnrg*@en=ni>AW})yNd0a#VHspqr{XDoJhN4hwtD-CQMq-M^q& zAKLG%t@G=!$~8z!i6Zi`M2r4M{drr{^%?xJTzl@b^!FLcE`_I2|3`oA$vN zJV2s3Ixm?bxLf6E*+>6+=k-N)DduxAT1bx1p!{-k`rPaGmx{Vh_;t1C(zdmb5#Kz< zsnTWMV|=23*In*l`Z%cifi}v>UPDaD3wi5EUihsg(#Qu3YSdZeu=$19Di<2Kc7Hy( zRtK9QK;H99amecgGq2(Q{vW%1Y(C_<{ED4 z8q86ztVqkNPkw}upz)=irP`wtV_z#V(PA&K9<|tx^nRlz86GP4K^m$|^NZy)6%Ta0 z6g%OrrjnXta;B$xS3Uk(dyrp}$r^s_MNRs;MBY$?boN+bObjSj`$4^QV%};Tdv9*{ zh0!LzeQk1-@N0y3m^bQhYDFf}5k1+lN7{&F`uG_g+B?=lH!2DB9@ZnRMtL68)_#@2 znUxjB-K?Z*nh@wVB``7rVnUU@?^@tAT2*C23pXSR=f{af+>1)_zUw==(1KWsO&#)n zod2xhH>WuFd?|m$n^;0ybFbA%Io}dKSJ}z-@<0cVis7Iphu{jqXQ!;U&o%=KW*SWJ#`U$`eYM(VPw0cy+C`W8!0&OIwP-}n6JG-XMv(v{fL7T9bx85 z10ovh!+i^G;@~rU#G_WRjnWv&utncN4eJ??eS6d1ZAW#V z)0~QEU!C(>RyVdEuuT1%%DXh7C|v>?)V-nvV{k?T&*>Aba%EZV)quK?dWNUOmBgfZ zw+9~rFl&u=W_Kyhtg`0C6qCtc;zkI{z|0d{Xi1T(;zp~}vHRsLUbfP-23%p9|IjW( zNahc4yd-_&?-Dpky}q*QKJLulfhy5nGnmVJ zw{om|nUICYYxVof{3l%FP^kp0{LazL_oA(MWFDdpr*rzqP#JR@=U3#-CiC8mTURD3YOhI)+~V+&NPxC5Pm%(tD8R%z{Y2k6bU%I_cz82_odNjznMv@* zsUDfs!|6E;PRg5_CK@044(h$_Z++->B70)7lBR|9w8Agg+&x{+%pToH>qs@cSuww; zV+jigy|?&MuZxr)ZScXd`xn+H)a4Kug}ztmN#fXdHN32*L^|T#H~~k(y{=2z5_q=- z5)Z1Hf5oO=UH=_UeBm`|{2vSF#`-&4`pi~8t4;3q@?DpKQs*ctVu*XnU9*5m;!xgS zbc$zDx)X>)Zvh_97S3{vklwt>Rf6M?96|CZq6o#miVkwnr)!;gYC2Xe%(VvS5jT)R zurUYjc;>xiv;Qd6JX`1V>INtR`d`4d*|?=>D|D(*kv)5G4%K%%#x^ED{@ZnZ(X|g& zBxxs}C@CJ!)v+q63KfI2{7y=IRsz{{b=|-nZ#-QCw<`4e{`%e5)s_Za_i+^~spU~l zLUe1s3VFLN+(GA~d6D=}L&yUcaAGKwRq7`n60fxNrr z_Yl-2PV;_TegKN?HV+x5I=qxfmb@pLY)VLHgX1p0x^__QbpbZa< zCKHVj8~pemvyTl*MVbN&5TnokvkGHQmw6r%RrOHa7)t&AE_`H;!?hJM2)f{Nu+7o$ z)IUk<>ny5%SpAxB{FIbB>npoa>&T?f?@GL^k0tt}$~vSn$z4&mqf_ zr;tk*dH)v8p_q)k=q_lMx{wiRST7K zU;cg`Rdvvs=ua9&R%AdT0632P7C}b{zvXX~P5AXx(XKBJa_Thwh>}&{L`N8$9Aacjb@pDsGilgK*9NxyNVnV7HeutvDrN+B=q26cBc&x%EY zhlPYIkz~VLkLzUvR|9JrMzd( zBE=!bc@dS4hQhfyB0JE2x$Zf&AJ~k8F;!1!>672>^xv#@H><}+-W8ujI&=>dg&tBW zMf2nZdVCerQ>aif`HJ2LJ&2IPU9hC=eIgP029SMkRm!PyyaWxUbGMwx*yLxvx1U^O{7IOp3Z~4pr<6z9g7>+uP*Xd62vN z4H%~@UO7r9B{`1bgGQxC`@3G>w_5B@#ALUUp}M~Yr|?G$RbflzR3SfUYM_WhZybCC z@%^Ulpi!tj?Ih(K_EUb;Y3jo>YI|17C2$sA_D9suD>8c-}{=?cp<~?%Y1LANV;>Eq9b% z3bFtlYKiq)Mk4O*?;G$K@M^ZXY;6is^9yUk0@Q80-1~WGjo7KBg&60T(y$8hOxP93 zqseckvyjkjk?^#4qJEC;7_%S$=xR=v4!AkO8M78)ZiI+7<*d9CDfjVc-o%bRU+vX# zwfH#Q332Z{$se}kfd*@Dw|2X|DuL>Rjr>73=s>=?dAYq{;H5q=vc2s*eK6}$O!5KL zS4quXv;~E=>!+MEcX?F_J?I~8gs}-zmH8@OyUb5BO#%jUExIIv(^93< zz-gK0oIdsift86y6y>1p3}UPd+5k-T|MuPpkw7d{-1jf#6&739-lhVar4eaNp>XNxpsIi4d1Q)ltz>8iD#fi|QkT zTY@f50#Wmx>5Ctk1#X~(fPjWwghk~Mr()tmEB=P|#3yIGP^d{MqR2BaPg7$0xNx&m zvg6xt?N(-t(p>WicDpAqwt?U2lSI<=Pi(#F%b_BOVKMKDb&u$0!!B9vI#_4x3SRkn zHH8@1J4-P;kLCF2WCeX;0crg!728d9LbjC}NyTaUHYVH(K(@39$NlzAh^p)AsK(YM z{@Y}#PNkv2@TVb?K6lz2uW`C@$3w^vVj0tB^j{AEhrxTlEyr+zG+8E`v%#w;+R3~; zw2x_7g=ZrFpC96cCB1zeGnHXpwO7ccWP8h-D3ssbAs{bJAK-)YLYg4PgW<%M$6A@;(`N!W44u(7 z5g(4>Ize_{V7U#;B8LN}IY(+WS6m#1I7a^mFAlg;qfJ2UaGf2j9>{*f`49%`Bcdi| zW-rZclROK|Rjh&Bh9%tARrLeq87)Zz--etNK2Ad*=L{Y$`mrHS z{R3k>SVrD05-Z0|?j)ndX16mvpIvb0WsB8rx51<%h1aq_?-z=Z`(59VFTsgB?_zfC zeHqqP3t(7KvxlFK*Sz2YmXo(6Vxy*HV;x&^J#1qwVbx|FO5l#t-|}~}qNWcJQ|w{c zO?ZnpJyK^(H~zt-5n2h@|Eb!n&jrU@D2?2?5z=9pi~_XX`YSE7`!m+5Evv0$P2{O1 zdjL=k_{5|@a+GiaR?*%YJ5Qj(WJa8*$sKDsJJF1*uZ)Ct3BWaV?Abu1f|w&f6j$}4 zzD9abnm%cKtUDX$wI)s;B9yb=)`S%_$TJzxO3nO}VF`00)!K&wWRw|~Ht^|x!%n)c zFMH1p)|?F9cqVNb&!)?W@MoI`fngX@a=mhm1Wa9#_P=2hi<3T9X#RxHCd&dUzi;8jFzZD?dX^X48aH5e2fZ<`b*%QhVFL61!Yd(&oy2xO+KPxFQx%kq&EJ>iOPR# z!B?e#>uX>2p6GO*7c=eDn_>b`hGQiYuanwMf;U~ z0dXd-H*8`%g@fB~q@Zr6M>WAhaS=upBcw)@4s)?X@YZ~@DU-DT{;5LvuL^zXuMO6X zKL)$Yp6379E2s=c0lYBqf~)%_H8Ol~llc;U{Hjd1B5pFMq)#NTJ|jd(?8*IiY1KK# zCRha+{c+phju&r)*q@0BuUuKSxM3}05zl=+s>9{i$M)#iiUPv0*GL z-u8l)cfJnV2cBLsW1eaw927{cA5&}H%5(3>?DS|y_d^{FG*;;3VOx1yK_#JUvjk>5lU808`U2F^u7OL8 zVl~%8wA^v=kGd#Hf<`@mR3+@!D6^E=s2uI04M{CMwHlS+lri$U*ZAO7)`dm8zJd_q;8X$cBz5BEsWM`C}TGp z?WH%3-LFx9??_Yu=Jdg9hxZ5{9yS;_AuvqpBWUJ_K2H46zSk{Ux|&q_WdN+V6B83q zmXLL~%cDu2!3QUA0L7rP{qmhDCBjimcf~oka_KpJW}xeNwPx|Q!bC{fo%_fjeteJe z3SCcvVuOck909iDcZOmdSR(HY%QbViJa}K<3wN!T72DBWt0%#8+B`3J^eLrFMxQ4n zer|}*N7Dt~;3h?`7Db>;A@=U0FlnyD2gk30Q9s|FxY}i!2OS`V8_`<+y3%Dvn|SM} zBZvtEY`2u8rCReWiXZ zUohrwOQM3jqY-;A^djj3Mmha@hV35A3EoVKGNc};MfH2ScnH|lNjbMQ(#}97*#VJy z4+z!ngyF8=QaG+nz|IQ zMG8RfA;tOM-tBzf&`@;f$3^nx)2B}fHEC4|oA@o~ro099UI}~R8&A);=QvZNH;gN0 z%PJZ^dhd138Vz$w75Ap73mq3xrxtqDr`t|dza|)a4mpQ%SOjcKmTwYVpnLvb3y@gZ zX18_x;HWN?gCx81uG9ci0(LrlO0696&Vwwf=<)0I`$(d`9g;om6csRlN=C~cU?-Ql z3e8h_+yYt+oKI6S7^NwAdGqgSY8<}rb(N9}^4gLo%&vMBf1es;;;*+fB;7D zf4E|JO&55H_~GVCISMtY?1Lq*))b7)3CvDlS!z%Zb6$&u^34?+>^-oZAUs?n+dt0Q zC`pPZSHOyLH25-d2w1UGH4j^Q>Kz`qQ)s1oqi32i3N74}sJ{L{1p+^ae;h#B#hnFK zr`eV#*tl8T(X&a2_sl%FrSwLn8m8Te)vGn>X6r z9591-Kk;%k$C_5`kV;WO8zy$roZZ&y8#9(VqY5CIxlD4t9EUXP8ZXT1k&x==uxpq+VL6#tfakFonV zf3rGTh!Qs?SQ|j>MKYae3^ec{XFg4}OBuKS@G0flbCE|$^)3{WnRPpTf98*+V@XoB zlxu`#0zv8W-?-%^?Kd2V!~$lkS}WEilsi@+^CF>Yx4Z>0g>FD){~(4~k6rG+UXw}+ zD+4?Ow_7vM7@dh#ncZ5ye$j_km3#0RiOTNy<+J!yhf!_CHa0RRjeWPq;H{(iQ|(M5 zUlTys7QZFm?FD#MeUmCoFR3EePr0-MXk%=n17&N8XdyRedED;EIKB0)rUZ?764i$! zR)6*z74F2V=eagQ1Gk+lQ*E)W>ffQ<3C&&DOLkb*&7S!xql*ZevZ^2Z{wTu@oAGiV zagd&rkzigv8w7PRdSUYqg#-{hz=V@{hBWBtAV)eZrC6C~z8niVF8RVWbT>q|S2u<8 zhL2N4Qa64hHt;R1Q!dBv6?z@(Vp33Q?JY`&ZkB4gK)wjh&8yjXj&4z(Lc3av2XQn@ z7HvMO-U&iXS%I2}late;faMu6&>G~2fQpBLA3zB#1L&8&zY#)~Rr3yf;8?e^&YRx2 zyG!vm!RAD0+#RbX?+=B)^U12{qR~;hIK@f>Ekyxsl;_)VI@dFFEnBS>{pU|->>h?Y z&d90Gd98K1$n!aPz$VpLBrZXs$?at zGUz@Rf{0QM1P1Akv^Kpc>^)zwHgI$9Ow#}2@oyaxVf-)k;hb!vM#eN*AhR`;z4NB9 z0~CppbX*XIh4ZbN$NPnGuuRBU5fzO|H;m93N!z)SH9w_}w z`4o*u@HInQ-1hi#=w`xc?9BSA8N9I!Xgon3P=uMDe&-B*(0bHiG84C$83oE{$J;ZLr@3ijge4n`&N{jow)Y=$OCOgs z({@X_J$4*N;Z2fi{>h2TMwPi}Z}R(0g07izE6PR2<61 zgTBXfj~X{9h)XdtaWY61tb74*`vw1nj-LLA=*wi+m3MElTxvFw4>#qLiC2`T7;5%# z{e?v_0|kAkdwQ$-nkSPdH9Af3H54iLR!WF@zwImX_7 zf6P`G7t%Kkcz5Tx)-p_nzd{Vs;}~!$R+(vy!>*i!iCCb}~%&nN_>>R=8k2P8fgvhlzXqttjOnY`w6d<^ZP<#@Qt8gR!aLc-b?0m(L*$>;kR3vF z*uzbb_cDvzGThR?VAxffwJR8QUsxv^NaSYGH2!8vvn3U2FLKS3f{tsB77k*lT$ZlOJwJXz7i7ZNaE zGzD4;QmPap9R z@<}bjHlDWJi3t1vAJFA`;^af4~+YGt62UMCdlb$;3)aM3=Ae2s;UUY zgu%ZP*)-KWM3who8(P%f!>Ui{7Q#j`>cbZ`hO+s0_?;)Y@So;0XD6{+h!|*D3qK8` zL&Xr?lSg_!>}A^N$QhI`G9E7ZH#^&3_e3q~?hhxB0VKn;(|1I+g#$V529TrN_J8~R zDf;C3d|JAxuO?vM^k^SK)3@2bJTokAs$!f60U2w%-jY)JB8{oU<~mdCx@aQHNK}q8 z;%6Bl8`~dM_*#a(@6*BnrvX0s)^8OKn1^#YxSB(Lj2lLCo@fW0EkWg0-OT@TXqQ?9|pr}>@q0cfv zqolN2o6+um;Cj57^7Lnht->Z{dW<5oo;?Q%Vi5aql>$=|K!wy`>pUN?vF3(~nM&J5 zgVHRK7B8w%)k`KF7agM3?EoPpxyk5A0oe?GH!2da(jE5+45iA^#jS76tvPW8s{G-Z*;ia+BP~+b&cu_;Xj#YbWdIt z2Jm!85c#KeR!=opcqZP-!J}-81=r(VfF|MMyfJd{;{?7h3#Ir5n`2i)q-^QadDOU@ zIXKTuqp34Tyz(WP2W(|SW5GMRk)75skto)}*Ws?K6GAN_k?3VJP}>4@5_ZZaLamwG z_+?eHJI}ineyGmcy+i7^Dv z=j^n_L*dnIG5rzUdl60FjA918D&=(q<6mSAUja@ z`urI69Z0@w%Swis4{heVKPQ-ZBfe*7L;u*y(j;Po#263!V)-U^9wm#)om>k?QK^nPk>dS420`4LCK9Q zsw$|sPcK*8bj>s5muz`q8#^QiK#5+&z=CV|RVE@7PsZuc_hW<|Hm0irX=943ZH+Fa zdWVWkTW7u?Vy!zA5xS6Q5|fN=45DWGKu%T2d!?-W-*_*sF*ijwo5PN;VLan_3ijfH zg=?8UjMB3t#}{hXfWkF`fSrPt*!qB{nu8Pe+R+z!RPk~q|P_3Z&j@Jt4aPX zX)M}rzPaW$2VXSH96{JPX5BuM_8uSmybIIi3GSn_pl#Ljebx%6>3;|qRA7^~or{|3 zxWoBbBy^~p`xgO{zh4X#-@qOfy2Gf+>+; zneGRtt7*t49*SkRl#!K*@wW4fU7NFy<;C=*O=m5pju&knaK1e7x%PRB{$!-YFWXeE zOp}fuZypO_iZE(h3TBN2@Ktp61AWb#05BLfgz{-nP{;U6;}6;x{@rPXNzTvOG!hC7avD^{so9JtZ zg+icuAJDiz^}2TJ$Why+&t~&~eL~EwHa;-=It^tG?h~JOxzit{v}p*5W@WuT{Ys4v z`^6~^7b->35g;Fj)`ex7F~?>QJZFWN+bD5;Hl)`jb7z=9bxNs*Q#q?5oAE?fUxJ>sBX!`(|F zOz$4t(>BWDH6J@1;=2V;-)%p=@c2t>)aA9R*BxkCtPLpogpfmK5NCFgl4;?uAvO2i zK!hHiBBg6Fe|t|ff~Xr1QAl9IvoFX?5^(m$bzUm?JX)@o%2p8^RJ&GBv!!S3G?7Ls-_?@5&OR7%nUws8(QRyufI%S4AhnGi z;3BMTVd30H2xOKH-w0ww6XCDFM82 zHOK8$?xm=d-hSM?Uh7%&gBoF+it;V`T5`w`3Zx6}pou=Zvk#~JF5e9B_7G^6xCsfp z6MsDB3klIBQjrz%C!D$`+u5wlwtC=)vVD-bVG?xfPFf%Z?RcY$sdC}J-KI)T1%sKz zB>a#UPk(JrHbTimZRxaCX8i(=xT(Q@3UxH#_ohE3$qV%QoQdCW%#B% z_j^)J${8+;x+}&n3}z3;oRa|Xffj)c)_x!45opG?m#2!OHjLsjsanPKjZm2NYIvm} zDMXZi{tP36Z)k8xrFqAemBFw!h>Yvi$eA%spKx=jmZ*p~#Y8t%TL$F^O{nM>+0^?WfF@Stz@nDjMmEU`o0E<`fAs9%BB%_9% zZ6kc45mZC6Wi+!k>o ze5J}qUT}$iafIm}?<1)bI(?l|@NOH)Z99jm4@`CZ10%2>Rjiyb>@$D;eP$l;G?&1y z>K_hh|Dw4%C%i)5bzeDEof71q$nlVWYr^$n?tY-F4P){bU2LCIW)BAjZQah>0O`cm zpyWrRIvs`hCh?-%_JdcnG)bDMc<+LZCa|_Z&^H!40Lru!n4BIcl9DyxrcmA2edPxU zQAmysv}`n)3*>=JtFrC4H}DhNICFmFx=mc`rk?77PJPgyVUi`@#1+0bAu4W|Otg6b ze>f@i!i^CUa`oFF?;O4li2J>Ac%?hqddUGR`5O@t5f5Ap*r=d+>MHIXnNF(f{**su zJ`=qB$VzyVl?X(iigP;05$)lcuRX*~%_3~(ZD0tZgiGk6_Tcm}a}ro*q^J2cjVK9d zTT}l#BZBakKkIC~=0u0NDl~Be5ymPmMz=s)wK=0l65k_#`t1<%tuz19iqw~++J1Pg z4-7kd7F*jq*Q*CK-<0ccpybK6Q##I^N0r|?Zuhw`Ao^}v;2>8MkZW&N2V6J~G>_2V zU4&Mkf&M{wY%f9Iy!1E-r;NOq&!qyQhn>nKWmd=j3x}Mwd3pee*_jwq7?`I7l<(_23PR`E>+J~msLx!XmbsN;ylTbTB@Y$Kqiy}&cpT@ib?&$Mt&6wnB&nPxZ zc$%_Gje>e|g=-QNl2ArfY1( z+aQHJ=mF~Dcf)1-?Sj|A!y~#}Q3v@O*6AAs{9Cla37EfnH^nr}e<+3OWzi64`;hyXw;1YV{-2M#qP1PZs1)7_Myp?wRgK8_E- zF&pK33*a<2_1iNZE@@5<%!_*+aeSCFZmnLkx>)TRP#Kt$nsblqI7K2au0cLCC67Gh zkYR-(8e=1{LX5F3wgbqgz31(zSCkOQgIr;9*`b)ni#_jkcy;3t-mtTT)*#Wb$$Z|! zrV2A7W)JgS>2m0Hn7M?>b0vOG5Q!Na_~$9B)=f$!U-2w$jqW45{b2fDWiWIB@C=kO zmu{0m6!aQaS8zWyyJYU1=cSm4j#X+EG)KG(VhTEVpo7YKrPQ~nlKW_Un$$d~fw>at z!YXzTWQT@Ru>M;hNG*Jm-&gd;{s#CDW^FD!4JKSub`632;4FNz@|}l>bv0g}mP|N3 zZ)gi|9Wz-bpXw>>Y$TFk`%5X(Wy3#JRM_-J4lN3zCjYeBf3sCZpeGh@r+$^E5rAFj zdO-3?z7(`ig0NAY^J8mWZ@)ynlbnI#-}ln6JaQGIw0`^EZn3WK8qRBvZ?`aQ|cCEo}%yqPMPTVZ)S^w4TKQy^x`C&PKC*=8h^Uhqous7jl2a{e8`8lp1F=eylui*kPkIH%XoK?&ul@a90-R?z5)V9 z@wUPt8kswqL(X})!RjCTLVmH7?K{9p|5f|DUR}5T{df*!ll*aL;RhaDpWS4f;eiy? z1dvsKmCiM|$Zy!;r+>)L+@V8<-T&q>B8HUOwM3%~Pi2*YMUI#;Pixu;;2?{`W6b35 zKFs2kQU1i&GJlIR-|oX#ZkE^pu!fJo)1qI|aq;6d%Gvp3LJlclZ{DG$W*^5>_Ux`- zy-?^EJ7OT5ODlo~e#sZ`te8>j`@J@Oq~m*CK34qU1s(*d8aaliqnrT=xi6-tlj&-} z0(=*dPzW!^&S0Z)+{kgb4K4Al0D&b!05fWo45karz=GH-*SaVROW&M?!PNoMc2T3f z&@bF8<=q3Ii~6HcknN>#_ff_!TFCbZ0`5C^JCpo&F5v|CA2Ar>p}MhaPSbiL~uNwSkC?gp|2UvJPAvj=}8g)>gzf< z3!ZCo{iWfhB9v;f70R$d8OE}FDD(MO)@(Rb$ey@*h z1=-!VKR=i6Q3PM+llV(x)13bJb~de z?(~3RF;#|0S5vn4ZQDdgdm;54bT19cMV`c|W|nu^*FVWVCA#g)nY??qM$Vf?^)EP- zu6<*pApC;M86qc~_T&!^_U~#YDqlD(?0!-m z#%-zW!x>plCY>R_X177b;yq2wWYyN0SbdvYKTWux$qw$l=4HyAn*mJ9_ZE=?*< zM06<1DTa9XJ(9npjKClpj+XjmltF`W;ZtU#I3wcNo1fX1GJK=PMqK9;6K6$%8&elu zIpg_mIHYIo;k92HgCJp&yOp-uy?*_z0V-bGFehgcOdTglvWo%-1!4HklwQrG6?h${ zRdjUm%4|%Jbpy~(H#t}*Mkw=ao#a6chi zV~oihjJV~DO*zem@-8~b<10NnGi_fc`z6YZ_K#flcxwS_7oXEDTWcemPCLw{Lo{GE zVTD53zWJ$%i41$Qx^+R>X7OWQ+DqJ_mgb&5(&aXkPS|_yT%BZ|EKNCzY96LXoA{#D zZ#kz*WYpBS@K01;Mj}Q&>}%%|;ue~Mm;)%yAlJN0GY=mUe7{ zo#c&O=M`Q1DY%J6tf@*mED!kyrOsGNYJ{j|b+^gK1E%RlY^|T{Gl}bUae#-Su*qXn z82j;zdV2d9EDE7ennV=}+YoiKB2ugeo7^abRrf`!Da^O1B+-F1Z=0g(41S|!uKF;lIxhUwwN4 zwPwx!!R>PkTki>#qF`)gT6Ke9nu=JZCb3-ihrWf_mmj~o9JM(nE97b;e^sH0Y%E|1>v2s90P#U9QcTd1KYJAabiPNgonbrT7ocb6}o`V(o7u~%qE zS=^7YOZfR0_^pV|pnGcIHMfIo(8N3O_}>QxK7IfGz33PR8;nl%Eb9?MoG3{&QhLIkn+ys+4F~7dhpHhP;rRHm|Seg=)2>1kY z_3jO1o6pC$4+8SX9j!{)D7dinD5$6uiIr1W-)bwqA~hpa(ZjO}pTX@e_NhpDWRQi{ zhO0FXOBcpRv|rG7ovNDK5UQvWsnkz}x3KRJs6uLFW0SZ`^@YVSy`;d?)LuWR6hv;^X*MmUdl|f^LW>&ZwzxwYPlF>BR-8SKE2BEv{7AHa3gVx>m5MOru4fgu(Owy7;_8u@t$F7P?4r z&$TMfvx5Ch4<>Pk6kJ$CK;SZcNoi^AdroXUu}{!}3)3q6cr_d_!Pp3!zG2JL@5;p3 z4`GLwHzXs5jcN3tzU&?4>ZdS|`r6^Q&;9G=zpC<(=-;k{6XJ3N|Mxo-@`g=KnY8>5 zP2T}db^rb^^BCpW5;~5(Wygs__DE)#Au2Np+1VMDm7SUFkxfRCWMqfP-V#DmN&ffe z`TqW0&vn())#ZH7`*XkV@w#94>puB+#B1!dFDnWL$99oZWG7A*^=F!Q!_t(LL>bG1 z%Wb!lvgAT}5%*Ug++>#$&>6E71oDLOa!Q-8mqy~0lQ3@QDz1Xh!iBuwo@riqD!+}F zQ6tX7I%UP7Oq7}$r}2IKQujh-IrV7@_Ijg@I?I$=9%%T=n5^KL{)p)gO^uF(pG9@x8;~H$(YCsDk4S

dfLsQ-lUp%l^yLxHWb(JFxltiKLQ0Sn2`TvX8tmS=EY{oJJj9ZiB{ zRvi_pr7d4 zlB|VGiq@AH<~O<3UUtVZHDy|vk{`g$`oQ6X#pz9_423*_W56--Oc`=ey^CtkJw-5o z6u3e{lG#s7*~0K*%kpZlWFU5AxRF2+irq8vntA1YO5;Q;R+kY&tW4 zVhhpAEd;-uHbxeVe>Ks?tFTLMfkCPCxC3q1S#vIW4NIthiB`$))lf2uAZXW{il9oe zLQ_GHFSVI}IyWZD{Qj%QAbn-?^eM7 z(>u9z1;g^=yuPgG!yrq#>%$ZVR-Hrz;H`YBZV$58N<*%ctHTt*(Xwf|vsX`pVh|+O zj#HTj5t;JS6Gzk^n1YK)k@XI#>FFJCe+8&$RknO)xmtqP%CBA~3@R%5{xpsg{rM3} z<@W`7`IvDvVnTcFg2gxn-b)Ijkp*(}r3X=wF{za78bH;u%Ey&*RB^A?W z6eI|Ot(c=lO7Ni~kg7yF_D0&B$6P??Z4%frMv75!pa>;x7`^9REC(~}q_Y-akxj;< z;^GG%&CDaun!%j|C(Q|qTm(e4X)i06n}lLeVH0|&ut;~z^x4l?bW)k*rl~214lQNM z3_)VGs!cFIao*px$58=iAX#7v!*lhJCkp<9+IZw0Gg*Vo0d6LCeQlX7=ecpN@-Uj?DNM|&@rHM>{8PiiUDKwGMbf|j+6OMJlB2QGJ zm?Jm0Jx|k@^oSI;zG*!&+T4=MduMd=3Osrj!u5&|<*F*JmG1A)F=12K^VX_qa{~E<;S}Ioy?5U;y~x{X zhV2uNX@mb>`G9|Q^#yrYxeyi44*w?4QeL0_a1YU@`h)4{A>KUc7>dfK?U0vKBEHX0 zkT%iF)5Lkikd>?M!7(=yhw#ccbNq+eT+&%eW@~qE3J{nZqq%OmNoUH@tV34rh@;Tu z0(Y`I>{#cf3+1N^SIEHUvk@HG_-+b@62g*?0mfk_DH=h2%5GL$_cNI>ALn6)>|L-b zMhn9?&;A6Dxie%E>3teSaD@#;cP^oLXTFQ{%0W!e+TQldQu4&s>?eO1N+w3z!hIZ1 z5(KV}PSEzNG|zN}N8;(35om?>cU$Z@88Kni*0;(r$Bx%Fr|H|O*i>C^#LvCx4&UuQ zc%sJLKuw${i794@2TMnd|HBXb6{E6|WO4a@B+XQycvPd9IIF2cCUJY=PYC1b-&G#P z!m9V!Bz6a0&!udsPaa@iKU(tv>8gM;O!S2Mc>fi_8&T_jsMqgB<1yEXI}VS9jf+mv z3!{CUg>Z+|QwJ})SuCAJL!@}B&6Lv7sox!vO|R+G=Q2Q|^~!DNj%3d89cxyw23b4#mL^_$*AmO1xBi?p^rGkLzH@mf{N;3Nnc z$_wF4R*`BiXjJrx`)`d#*_{CsxkO7dcW(Wd>MFxyi^CJW(Lq%%VSAm- zjDnehQGrr3Njuaprnc`SMmAV9iGc-FLQ3cyZkAv?N|X3)24f#|&{yt0ktB@i^{kgV zCl{ipPrM}_Pn6-(ujRL@C3Mxei!m6V`mPXQ-pIHJF)H5oxsmlW6jjIvU)D$ywdh5fX_`Fte|D-v0v_^kA$ zAzs~(FnOVdLAyiWBnk(xx^+N6K;K*%;=}GAI*C*h#2m1>`Imfh#l~5y@ep?e#LaK0 zy*Q;$-+o83Lr4c6q3If0<^u#HV8fdK8?Ylk4~)3SMI1)QEtb{H&$uZKlgcir4v4Rq zS;P!jfDlF2!+$={l+h@%-5;ZR>XK2AYIGSWg6-c6zRndemwlac@lIqI$~ap?Kd!on zwZ6nH^w#)~ACIh`^;dVk9#{F|Gij{zfr=)^zGkvBJPI!x@j^XTEo)7QIU=z& z2#tCj$C_0M836&06-j=ig)O(E@hN3)znBseDP1+}gn)Hl+YMs@(U{pej~gpex5Vc( zv9kpwhNTsp#tCYH5HiQ1(qpA3UeD1`X1w#jzE%Y+KhN$vjvDga1vgZy)!ogugb4h+ zTH+P7>gVCtU$&hR>&{hEcns{Fz0O1!>_!%=_|Kb|z?`t~R3IZJ$`wuuyWxKxUe%UY z11;4oQ)EHN%AcULCkgV+-^N4Bjs{k*e=eE1npAb`fX0jijgkRNufI;-L(PFs{YwA| z0lM-ONZYK06h&QqOM9l8_Eik)-)Jt3GHv)d>IC@dw{gFh6KS08l6p&2%5%^#AA$?I z6L%cki67!-Z!94LSD#L4yb%AvwuB2G^VuS8PXFgl z-Ym=TU-Fy~)#+8~MqWXxSRTn5^cG=hH>H^y)%A)vWW_K$Z`q!#eiVogT7*PH z*|X?KR@lHh99d?wn4lA>f+nWxUj#F`bS@b0EdK^7D-0@UVza%gixkm}+093Ff(B-b zw{Ooc(lB)B%H6Mdw|HHWO9d!C+hfS2vo$M2Z`Cw$pWpy|iv_x^O6MMaXEVRr8BHw4 z@}xfhR;L7eFg~u8VE*_8GEU!1T-on^U1X7|=rH@}fW3M@ z^q=eBlhM&pS$A|K)v&X4!^^0G!F!7xFuPv$4vl)|Qa_gOD9Iwmdd5bURop%};^S#c zt({vXuNW(rdO={`ccSc%;D%+Nc%?3lR^ra(RhC;mN|@?*oUu6C_=9VuWA#R{PneRq z6b6n1&&!{NFMYAO$4coZ>NRqH;ZZNE#Q2w&&)&D58vGKm)7VewV=QjSlsf>!`yp|3 zAG^cwc8`2p6@FjZ_WdZ}su@N^m8FI$dD57RiH4Ng+BWywfv=8gXdM1m+aSGkj7ZQb zO-2rO`u610k_(RJJC&D%`Xos;lNv7#h9c7>P&A`rkUiE|{jGvuddv|+JBPUwn=Tj0 z;&m|SF>adWN8hNq{sl7-ad08=IIrE>MM(9dm7Uz%vdd#2!6-4R1z-z&cprpk?tBrez(UhNBxf&p_ar(G)wQ&%q7Miky7my?@MWb-Q&UwY z&qVnl0eaWnMeq2(6t8{|IQ6!wG1R(ot@uKPqS9&5))p~ zm;JQq36idl;L%o1vm4Ecm4eJXdIq`_1bBUhe8@~?E{-14QCrlrExq{SHMl=S5sYW< zi04$#^9~^UgWC&usJ%tDCtoEOr&V(YZazCO@Bd54?rL}{rKXMTs|LFf=$+DoRJ6CE#SD4LR zot~OXx$9@0LSTu#K|1UQc!mK5jL}A}(4gSWv{9x`d_sf>+Z>nItk)Z;oNza0t zY}CW~ElLC8MWXY+f|wpSh`n@BP2o5SSW(`Uy`31GGvy5*$r7SM?Jg!dG2hiZGHqcTr@ z&zb5nHLEc99>MReCZ+ArQi@5SB;&_}SUB%5)aU=1b+atXg>6h@aEE1h?p@YZBkze+)Vb$)e!smt>H z!F@miS+e~1G^d%-C<^tbtWoPyDs+T$ zGGhVwQmaZL0yjY`ELu880vaLIyqDh98Fkg~6z;V-gjDp@IM%TM$~B*_jAvtL z43V`V@HVVUS+1a0pB}+in1jJw^82Y%Ef39-uRUg+FWr57&UT1}A<~M|{rLY>+Iiaa zU$gY#j{EJUDosBlWA9!)vht4KFj7FQ-q(se#jau=qTYmL`&%{uLZmlg3)nzbqbwKls=(E<^y>VHM zqNhoTTu)uJCv5-H*xT7+!6+HyIQ+`S)4=DA(6qlr#ygQpZG9@@V^ct8^aA%1!80ax zf(39Ud8$U@N370^DliSct_A}F$Blqq`smHeg`+ekIpbKg4YSo|5{)fHVr}DIA3`#YJY_pT zkuQ8(2e>G3Ok9lmx4E4cg%PY$EX?bpf(c00gUS0s`1x&s2OmOd=2CyB{6xN1S*4 zBl?<(gWLL0Zsdcmy=sA|MXcTUSzY$-6ZyiV)GzpbORz<_`|;+9zLU$enw8b8>6*%+e`oR3VDt38D|k?F*)VC zfz3mY@={rb722a8MLsks9TR&mm`A@HTrc-3Bs-CwF%R!xB19bP5566oeGr&W0SOvv zTkQf&G;9e?ilTfW^o+dok-`rSJ+M#xl$Cqx-7$=0v;X8;1 zSej*g8S?Rl6#hqanXVA!Lff4Vqxf*evkS9hZGCxjJ|QlqYoSg~@Aq-uFy)s={qWbj z)Vs6`lI*_gxkWRscl#K5(@%tGg-bg*2XhVI?S+)R6GKQ@!1#@DZJ>lc##K1rB=~kC zHOc76l@)vLLv8|H%Fa8IQw97z29!dHo7o3!9#JKXyFJZwZh^(+m)RE45AORSAGh=& z_U0qb=ZN2UVN&|iQc?BCT>}=oG$AiyIJe~FWNTPp8iK(?>HmyA-+LOeTri1Smoc#9 zaJ~u4+~ewsJ8?RfaWh_1Yj$gVLmoFDt;_D6b}K1-Rp6LudX#eTimOtp?B zLFkP5ZbaUqJC_LdDdZp^9__Z$n-jC`jvYmc(8Oc3|RKmMi&;R@W2+pjI`%Li5 zAJ+YzRxV`hnz1K0Ze?4} zMZedj6%jMS5+#KZvwSGg0DgT38^zr2VZ`4<8IfmF%3XJNm@!n+FP+a7%Wo3$&tHuB zZJpBulpN$Wmm$8{+TOoU=Q`U${_s!X!xHYni4h!YxHQ)lo>Vcx2}Rn_d*uHFZWcRv zMk;b{mq2~6kajz(Ju0l5_|X}*==A>8>djf?6M9n(> z{E>St#EIq(-8q7lMW^6xO Jcfdo|cSlnEq5Ej~hpQU>*{|lApFQ%9?)qfMMmu}S zG{hL7KctIB@$S`+aYL2B&Rna?yMiNXAJz$4HbOs^$oAj6PrH@YBKZ}U!k;F^5*vQq z!XgY72GDtJPn$BQ*aM#a7`y_Ks0O~N42bWcl(~=!)Gk)sz$90?->>RS zYjvE2)h@Tn9`l!a#@)XkJiiVBmZ5n+4Y)%X0!^*Z7Z(jiQJFCdSq&;vpAEQ?pa*4TjdU*hE)6|xeXN( zgX~rd1U8aq42^60cc*&)ltHq*2$Gc*6;}*iFa86_Dg_6R3_~4|r=Ee8!NuDtQzzYr z#}?D69>mElf&xscVme<2Bkv795*nuz+&3|653f&9IQmuthV2Ft>Cfj;!izc8G9zO- z_L0>>QB0xmK9mg zod|ULkj8+43JMNWlO2$zvdT(G zLNo*3d=k+C3*6iDICdLOBBe~=u*h~QShHubQ8)Qga+!VcWKXi{f529OpDNele0%6H z5KkH~8F$)xuajI4xg>a#uFo@W?P;euQ_Jn)hv%qBUo|$OK<3N)3J01bnE`Uuz&F%z z0^iji{!lMwxTWSF>k(2giXvY(NDRbspj9(&mSK#HnG(Fe+-Wa`JQ}&-H1APQu_5#E z>g-Vfvg0-rY$;Wo!pFb$h+D+%=Y>FYxfS0{e?Ll z;eTlaQKbDUR}8-UqiNQcc;|GxSt)_Ztn2v^C^i|_>7e7ILr!S?Q-pZ`orglT^jc+y zo2uR^!vm~)b*#?&;=9Sh})m<~djY`Ktz`v_A+ga+eD)`G9ko%Jc z2}_-~6DHf8GnL{@7{?ntA=8hSOV`=Am4o#7N+A(Uxd#Ci6?&uH!afv)!B-VGHNL$A zfAg3Ib(3rfxXkDkeZ5?i9U-}1ou*R!n!442!X6d6Fq|(z=3JDD6uw&U{b&MjKili^ zP@z-SG$^yw!g5sEp!ea;ne4+WEsYfSj{p9};l95m`o8(*-=^DKz+wBxk5pF}iSsbx zJs{%sT=60Ml}tI3hkLvaZI^|dQk|{+my|F*e4~xUUB4TXImp|$WoBhZ(JBZuY zp^xC8jY_~;QHfk3_7)RN zY%7qda!pDXnqu*?f#bj1s57sSA<+)Uey+LU0wE3YDPW>-{+ue^Ilt=Qtyfo_*|c-l*<(T7GQA1Kpn(`1*5Z_SUHCG-yql|+^zS{rBan2OCo|$JBVprB~ih3aYS`i|BUlC5d&E9v8NLK z2?ooN=d7o>tn8sU`w!3?>%pu`-!tC)&iFnbO5FikvJswu!>KR$umfU?cs9_hU=z8~ zM)h!)>7mWH7I7952Ke$Ur&n)fJTT#$o-gTZ(?vbGqhIsjO`fAzj~^^u7NQ6tU=R4A z&qYgul$A7K;tr+Gda%!_oimJTT-E(aGs*~J0Sd$n?6p|~(B z8e0GA>^{UY`K<2iLmV~&CX>H-hS&16h8$Kgf=dP?5A15xxa;EWo1V~>)zwKg`u`TU zX!bh2-FCFC`Ii$KsfW%nOi#d%ArFC^Si80LU!N{=$mBx2np^EdtLv&h4?V?JXMdNw zAmQ^=X5hlb+;_$!ab7nPI9kGV;(|8$qQ(3S)i6rKwNk)$Tr zeMXszx8Fa?KWX*e#XbkIGuNgSM!4yCs5)gmNXe84W?Y$Oy_ZfyjrV=%GWFRTIVLET zmZIn1Y@R5aO7($|lbkZi7-nzr7iIDPkm9$scyD z&CpJ~#ZpSIS{lrR|EjTvK-MFs7neiSn)nBM#Z86(=?lJ)44JzfAR4v+;)TJJlasvsD0;&IQy@$^++ zYkT~9Dg1u4ygX54kB!&Jf2*#r7heP*0>_#ByGyRMyKRM|$$P{;X}{m~z3%+;*vmcP zw@9XD)W5b!o$gL0E{1GvEV~UeLb{OOZX^mkxb~1CaBCv)G{P$Azjfcd8CqHONJ>h{ zB=Yv;@8Ai(aP-vN;lkTsqHS}`x-MPM4j*<%FiEi+>))9S|^iVy!vGYDJ1#UUBrD#riBGr>5F;m(!BbPNhQ6>P}r zlh3VwGJtY87n1;LS4~npQ4JX^#5N=iYumYuCicp@y{QUahu@L2L15^t}AbOo!1OQo;*pREF_^B?OHkyFz zmO%o|wsEy^)heg1f5J#(^sFiOb})~XfU9x-9KtN>?{63V+adb4dGMQhNQg9YA{yn0z-P<)_5-kJ@MMwF*$oMVl7CBdUQ*pyvo9i1*&6VN_-rDS|_ zXl#8d#C7YO{?AO4QW8Cd-*zg8mZlQ&G<}4ndd4LZF$3q$+FXhv=pGO@A?41B8z@z8 z=S(e_%3P*RqL%^33@)<~4A|ne2l?vS+Cs9qYx_QXaQFPj+(QX?Evx+*NFD$hDrn;1 zvHd}oV8HwUGkSXO6p8XE&z&Scdzzh~PRyG?f%|VZ(WFUrY86MnJ}9z>+sGE5!xPrT zo>#PDF5W^i0B>c%-xEK6$J67=v>5He?M(X&8SfjY+*xnECf&d3jf>cvsC)-q0>jUB zPE0`9n4gTrUni~Fdq1%S!@3r&z6?lAk!8JNahg&c_!}HR(OTq_=ldL0o1fRRWLisS zIUB8gChm^i?JZ3EyX7JT}$q}s7}E77X!W;W=HP{2wd~x=t$O%<+n9ZU7%UxdwMgOg21HL zV9yUO2V{U-UgxsB7o#Fqo-X>ZLt?CiCaAjOo%NyCj#bWsFRz?1{|-A_3O%F{BlI9tt8t-v*-{+>a%YbAllSG?HR{^-dA>d8&j_I2?ktwP5) z;DG;ggYX>4j#yy1A^q4_k#JN{Q^8C>HQczN&4c>u{4THS%{+~eP2%5-(^Tk9gA9LH z9aGId=*?Hv7(J0w^dX-V-+`!}R&ZnVG1FFW!ZJmtuk;on9WSG1l&A_x*P=4tF;)DK z(CC9&N_ySM^=z&^>yWoEjT1H+?Lka@l}3x@hkt^@ecYK3`#1#g-d`Jh2ND_9o}LWw zqHI;&;3Ymh0|jWK`x0r(&nYKpk6KHz=$7?LFP$e4GRJgNGG5Fn(a6Y(W*jWQbjdI8 z_2wJp@A4lV<%s7#?=Jm(GyNhT_IAs4u`#?)ve%8IJ0tlz$)CAt&d&tWzc+$CNdOS{ ziN2wtq@)y+k|Kdv`DM{F4kF|RAPg7?;s9SEK^&^WUv1gNA!BmE-viE@m7C;JcVQjW z?5A$kNGoRrM{8hvC%vA_k7b<83(!iDjHFfRZrpzLPqZc_z1Q(WwXB_fqUzX;Bh;~D zrPq+4D+YYb|MAj;^G^kfL6_DBPzNLuHQrmHfF`bR@{PH}^4qI5t}L=3xVPUN@%Si6 zdz+)>=eqwyJvvy#`8{J;->P^)4fU&k1z&E6aPjk{FY=UU)fgX86qI^S)^8T?6lxO-7G z6d~P;e41Sjh6BuyL6r30$^Sh~YDRDk5)_<8Z>k4m=Bi@2iz>|MnYC|FK zO&{*f$Eo~05)r1V!9CaP?V}=G-z|B2sn_B=aRsg79UkccnsttnvAFK(*s<(9jLT$G zcCvT1qeHh@rw;1dvQ?h-<}WE|HdI(N5mvVS5kO8MG3ZJyw2l5ax#8H~A<6kAKd%JO zs97iH0@o)m;>Thh*~s>s%`!q2-Z^{DLWA2uYxMSF+y$Q-W!HlCXHA;-r_6Q8h?;R^ zd;XRAy}jaoNhOrePAhNp%9fJG0m}(N$q@B;F?o5)qr;v5D2Am*oal5vJhb*U5B_sz z3mxH6o3u?4*FV<0Qn1s4y>19i&B>TYt@|KRhlhR=PG#cd?z^V^IYraM%<^BXhT)BS z{=9~MMcS_MB^|{gxmSzZ$)L>vhL4johtFsfIM+_o|`>( zYtHG5A*S(EhEDn(TTn#4f3NzhM=y{NhWH-2He{^#KE`8ai8Zy{K=R!igeSoV-tYUv zvCOe4HP*dnW5eva`%qH<{iywTD)(YqoLy*^?h3EWmyeg}b%)lNtKV1w16|mK=iOb9p2sU!JWta51{DU(9Dm40CAKxs>T6xz7 z+~@NFb4Rm>-ulEPSQkgtdKNBW(jQ5xd7OeCyFzzVsegIdu;pv|l=x=$diU6AXzgbS z5Wh7l3lVX5cbFY_taCZ~4X`6rX~4=yMq}V>gTH$vCq>vksr~0z0r9nn8ZX4oyjR$O z{;$Q-5hb3OPM@^UJY0&w|l|z@}RqQMa@C%!QtIpVkOBYP{u8 zdy&b$jJi50-*{V8yV|bDZF~*8V=CujZK~59P;ukU8PT?1*iVj9z=m}LSyo*f-S@xh zMr^wW(#%xzAJZhhgU&PJDB2H?$uAa8Xt7WBi}Rvi45I+Ola@H`%DNGDfZNW^Aibb{ zio`OnS4n3yVF^4*m%S zX(j5|wjv7&`X7zS?ZK*0M&xxX*M3nu^(Xe>t(pe z@U(XIRlAFKjc&4e9I_^{$eQv=s2trf7`tT{;GFQi`j27Zaakb8NrVjwt^;Z4DFhLP zB@~3^CQjxLbIs}U1R@1lkmqXgrm^x_VE`BTm+OvMty(rD!ylQnIb)yh1t`|lbHse) zu}^!Z%0R!*+)!;M6s^!!P&c9ayb!llUtU#jeDz6-;<19}_N6i^PFzQlS6k||%+fen z=Dg#$gng1Cj_C~-ZL*Q6#iutvw&8PtJpcm!a z`r{}7De0c$d}xt;7(Ck-$M&I3j>_8Z101_n8M=`JV?lqVX6P$c|LViSYKB}%rKA*s^1>In^6-`2L3-+Y3Y-YeK{ zUj#3`X5~Y2C0pTi<`wnp@=wa*2mMzinuOxitk|U4V{>O*Q%u&Cl!l-D8y@?y=)Hg& zOr(ESp6zK7WmGM<@ihFgD(`81vEQxO3QH>;y}yST)I7wY#Ag+XhxZl9;0~l-C(%C( zEhgynxlT7;;BRb%LX0~43FtbwQiqD8Iu~#ZMy)1Wbjatt;Wh+_fu;&ENS(`7(v|W;Cqt5q=pPH7t zz$|{0vGvhYjuB^glP}|I^7g}owBj#YS8TB`dcf;2ci}Q!9@W}C|Jgrn)Cd}aV9m&9 zr-)dFz|5|Fwl#w$_X%)cvim)0BrP_K=@Efz#auZOtfo8PXHK;z!`$Xc|(5n zYd%1ETIfv@{Eh&%iK&mE-9+%}{hzqnN@TZ9UjT>fLI-`sg56CwDR0`~Ws)`BpB!R+B=-R`AF9mXn>(-8G%J<4{7ny~w z=LO}fb;A0_b||$&2xj+^8{U5VCIk=~7cFXyoT#-zMn(pC5Vyrna#{C9VkFP@#;r2y zEpO$P<)tTa!!|~AK|w*jJaxD<{k*P1v-1UX#pCd3yiIkb=k(oZ##D#iZ~@^ciTEb< zB<56}!WJI^!J#kSchjlX8*#(NMTt}Wr93W9BD>?*2?fwQZ>17gsu%SCc~Oz8*cQsBDh%dgZ@eGcBWQW}$M}6YbwD z+W<%y&{qI@7h|SE==xyi;E--cUkls6pYiEp6Ov;8`C96>x2%b@F)^rTKPm6IFh_j9 z0ZYu)ZfvB~IaOt_$Y zn&I39dXL^dfUm*nLhQEo@?wNY9xP7SaS0n@E_AD={ zFz46bHN~BeVRsupZE$5~6kjGJvHM2EdTu`;36#fNo?B21G_YNpPp>zBuNt-T_41*4 zy0eZng=Mn6p7@2k3ERUvhmf68qKQvYkrH`-Zzr>vYYTwG9%2c0yTt~GBS4E#FCo4y z@bA+3cTj&r9N`)8n`Nhq$i43uZur~q;rGz&LkytG!g(6;7lb06`IeZmy` zIo;b-9z98}Q#Uey#s?k-oCl{0b9yri;^@107r5f_^9S6l2k zd=JSV@l#S}uKk(V0ew1`dgD|fQOakUxn?HKS<>CJNsA%&&)3{X0H%Nl2J{!w(DqJR zCo?qh zKx^}T?i^^%pJxv^Y@R!o)svOj=)D@Q%NEc>qk7ITiAuKm_g4IRnxf>Woq|>gO%BUp z+~MDW`#1VZ2%dj5t3CMkOUmOy6ZoKOl~&YS%${D8Hag|5eQR{5N zBl-App=)v`LAA$x)w7XPmn9b*{^ann?B#p$jNKGV8&6Ae=BB#b=(a!zZ6gF2?))`<-e9R%BLk=OEAP_6#azueS*Tk^ zXZoCJ$&4pBtngLqQg95eqBQn+>+tu4OM*`GKx;a; zu%MvcsG@%1eNa(XlV;hCU9AnIUO}D?F7o`>u~Kj`^#Q#9M0Z%x@sC6w{_eYS<#R+I z5$}j2JvX!XPTrl0!<3S^uzb~r7BLC85)|fRSQX>B=F^QrQlHb6_*Fb5y}=WCef3EE zY^p~{p)QYmw*+_f86S|iZFre;^&(~WZOF8d45(-1(}u@9VnEYAYnf1>G^-M*CceML*to(K@gQL^Yy{U) zJl@b-m~OfcoWibhq4L*rqxbiQ52w zvPVVCpEwhtF7hKNGm)NKZ!ZOst_Olh`q|lkKO2xHT)ok&TPw5bm~|gWS8V|0LVA9n zI&^XxL6Tt}pqC`eoWsSzy8q}`mSN>Y%&2IE%y%F!L@macC*iv-I0bXoRTSp22S0f$;RumFK zEkyvWz(l+QW3GLZLJzU7x_&Kpa9rQ`BV`b2h`P#v-NTS-nnw2u{mo#si>Z!cnl$Fn zjO+`+ciW|29iDBbb;>ue&zM+iIj|m4<#*c4xh&>kS*xO4EfhS&AtW$Zr-ZQ!^RhbU z;B@vb>-yU6voqpj4W4U>kKNP)p&22js7T!~7brjdU@qW$eM9T%?bbspWZu3}sz-nl zy@EY01O!|lFu5&to&K+wQ3zl`;16J;&L91=8;A*cVZX}Px|Vp8R|ik zYu6S=UTVAj`LPi-W&_28|J>YaMSeoJQa&bc=4%|DIcNt7a}*q}I4<&uL@Rhv!`agu|Bv*KbPbW``T5Nhf$GZ2%I;)WY9?PC zdwl!K!A*VAzp#1i>3YW{O`-l;6Uv^;zk8J8iNY+KZ_ldsIR9*jc4E@r+@uIjI8fKS z$uN9cYqhDq*zAS3r_)GV^T+1sFw^l?mnN~E$Kl;CH49p+FPsV5-2t=kuuhIUvIeDxPJ#7eL1vo;EjSDG#+1wUhqzk_scFPaw$PI zWB)p5wQ_V!zLMu-odP2J-`yqGC3Kp3xXF#H`Q`1yCD{5x1x!cll8X|!5*VYrPl7QPHGY!Sle_a)XKLCTl7L;T$ zshDY;_R@F+P@&V<9(VA` zaCUd;1Lq`3bcnxu_zIWeJMmZ-lPSE#`PCxCNh|F4jAwl50%~)2H&Y^V=j5m?bhNRR>K~&X zp8e?~+B1`}@mRd960zW$J+(lO6Q{YNLVGjBT^GFri zD_Hp!s%>~l4%*>&l3$&ld*fqItYTbXPk%=BnlID6uJiI<&LgAlCXptOzMY{rr6j)V zKH063n2c|fedtX2xVAto-=;@f>>7iB#~0VB>YI*Fc~__#RFze;YgTi$;$_p?M!2a9 zgiaaP;kit2+A$~!n5Nmyayqba`EY-y@OdA8dFpoN-#F#_pl|@!ZQ6IU{QJOzHo9%t z%YrN#LCjk0(xrYbNe!(nz6_PLen`{7rM(4Lfs{{3U4VE-xO{+vn@7Km{~Y067J6sL zzF$4Rxl150~u1vfpLXq7;p_2?fB8ASDs{tg-1r~kdFn}w z+Kjth|0&a#;W}y@#`hLONR*`txT4~sr_ML9M6U7;&P0#1?+Y=wk0=2V$p+|Tu=j?b zVb=G*+!E;q{r7#~?~$4fq%UAz*uHQfAl=RgE24$mUcqY>h#ew)0bn;Hzd;G}tL=^M z`r2_euVMALKxqYP(|4*@^|ptA**7Ak7e$G{Hv_TPz593%SBbF9&qgk@dlZ@P?4~j-jC;lABsp%2%B*o(2Q? zZ{W=uBy9nXaBYw;<_p|iR7KivU~>@0zl;?1{QU{>Y~PdB5WezdfH5IM8m}~J>#Nh}hU%q=70J)28zVJtm*ba}E-r|1%Afuup3-9vdI`}h$AFDGbtUh*B8>;?B z9jn{zCa*7`1yAaysWqQa-hj~A)))2nEmz5V{P>%}x_&`g!_Y1Vii#;G`=xT4IKTqBy{s>2)CZ>infI^zjBwlqV`i6Jf$A@UZ;9%R7hLJk|gvEcw@Yr4D+3h~=b_jZ3O zXSroa&UuULOh3Hw?8%d)+(@YkE&^Xk7A3GZU>9FEH4R2cNC%q}NaO^@DwM_Gu>UtH z+2M`5)n&;|qbheUfv+aTqgs%$Sj9NO5p*jLLX(f~#;kW~kA)DG-1VRE?MA(Oh9;&GLMeJ#2N|jc8sG1ui2>*Szd4J#x;k=qggr3b z;zNfx4G;#+a7qy3*S$wW$M0kG(=lylSmnj~@~IqRMpTfDgm~5UD(y$N)54}(jwfoo zlmtrULpCthOsm=~i>^}%Hjd|e<&#xRO0(7aoTK@Q?35Ec*K`u4w0N!XwR4d|=<3Or z9!rvTf(E?gV+HgqnvBfGgdBp`_r#^5D(LJzu?O79cR|RQpd1A`Ai}spZkSi|X?d@2 zK}ahKD8B%t!h1#h;G{F?CZHXgJ$$7qmpSgBd9e2 zzbcC1cm^ZS=^DE^8J88;*`vL$Hr-`@R_V5;OnhvF9F7^qRXU|Ai^qbrR;E)Yjne6; zH3qc@cszCd7aL@U!nV+_8%NK|r^r5(4|JPnD-^Cvnv_gM(r zDY`{$hh-UAuF}4We)x=``T~=^j|`o1qVtJeW_<6sQlT%tG_JNbB)dmpB<-+%swCmK zpvXx=^pM-iT*vge&g*OT7YA@D3>khJj85wGm-#ZhOkXP6?ex>uI@qFlQ7t|!Z`5&8 zLNuu`wFNIj^KU1DFITqyoZ?Cj$$!K>h+Iurc)MYkL67U z$&xB=lhE4YxgCk5fG1rUwo8zRBf~C$Rsm=Rjtm)y1a8->mKKCn3!`Wki~s6;@QCd8 zm{z{L$ePDDmG{1|-1Gm{bk+e)ePJJmvB5}3BLa>AqdOENMkz45M|X#`6A|f>?i7(4 zCDI{?igZZ|h;$1mDIoG*e((G8FZb@Ae9k$~d7jU=ZlLc^qlkwl*Bg@4Sdk7gb2H7U zlK!;BYIo9b&75B82rd9rr|_sYg|)P%jV+r7=?ly*Sav!@;hwh1%t92s&~RNI&ZW$+ zN1fx3@oD~q$=#Ju;=vQ{ct~io9Q#R_OH%8WY!N7x2Y>p#tZMy-!-i?!5Fr!S(G;z| zGviU468h>X7wV64ELF^$1i;Pm%}Dp~pa7N>z#|Fx`vDg@Pccy% z`b|jeHbbMI)ye|-btR9@5nMnag;xCA-PLWk23~uxJ-(x(p-@E4sXvKLe^_`A8)Om@ zx;c^5S#hs{_p)^k^x8J&STjj zpDETFrG_sEDClP21fFe)%!S1QF?;}xamA1ZKnH1PXvEGXAH)NfF^vv~<|)LnEu8Vd zCOEMd$ZQ7|KpdN5zX zsfoCSBGT9>va7feRh}T3Pb7!CWuP}*0Y(p6q&mn{nlL}PEZ|0rTs{z-Dyw*Cmgb-C zxC}cX8l0o#Vq8S2MW<&`?<;w9c0+VLTg;Q9BPRtS0X1p}Ol@-|ev-R~&feM?$iqMjM@mPmI;%B+-GCmNp zqjeBWG8S;-};&T`N{@nmPDm2dhzH~v5dZ?bxY;cN%*ff6;3Fr5^rfuGe} zyie?HhjN;~m@BLP=`)Uf6?O}_1t%+u9PC>9pWxNdp8zO#VGKc#XR>ZglRjsomRNA# zW$biK#mP+1g_0IYgt*Z(Jz%qq(~O1*sg(m_S1LVre${zFHw^B5I)27uYO0>_wg#f0 z|59xehR#ixT$jxxF3P|`3z|&ocj_@XR=>HV<7e4;I$sY;H)6T0?(@QA1ZN$e7Sc_nWomoS?9gi(7=Jf^_%J;@p3jLG5^d!ry6OA~JUJ;F2^WDv{I<9Kaz73^t!|0%6so?Sum$^D9AWEJBR z0lEs?G<&J}_ry*)aF_HJy!=K4N$pTkn-AU8z!8wH_`8mI+(XzoI%w{ETepMF(Dcb~ zB57Uq%k2p;s|KTK{_|8-A6M6rLF3!@ws+MjAGQTKS1dgEAee?xc>m2OAasYL$7d`U5SVwluoSa9+z z`%^A}me+O9nM$m%{akMaOPjjTehR|>RbQp9nzJMg5j5%#anqrj2uezOPTo6^f4cr# zx}Z|00E~!7c5Hz^DM4JmvcR8qs-V<%1=!id997|Vw#sI#Fp+QsZqa_cJJv<|o4R+> z#`m<2M=4g!g8xd@T%3wnk0_jDzr}VA`poOHQi%wt)t#_Dc_+#P{sb`2g0By*(@lCj zQ2p{eBC$hN&?}9xNYq=sV%%0}Fl915Mn_V=?lJz5qDsH3mi81EeXF2bOWAgtcX`si z+#{JmJ`X;3sofm*dpzk!JO}EAB5MgqBYBt*#8QeN)y*7yXY<8~^wezv=9x#B2(1E< zOvagQmIzYsJ?#sJM!%2u0Y0)%dr92 z%J44r@V#v|Doa+=_D|hd4sYibgYAUGO1EJ`#;PvIr)JwvnfO5RspG}|W9}Ss_RX?* z`duJ-hNm4Cqd%AYK29Nd@xMfTUsWEk3lIND7E`<6Z_%hbp(t8-|LjVw^OB;*p^4t1if-*)60neMpR(g=yGCx z=SXYj?RWhThVFrbN19OV00EhiJ3Hq+MeNWb7u^k&SG_?+xO; zR749jNj);EXL*G2MC2zcx|N~|4=Yr9XE+8;lA7ZATvcz!^}N$2CItuK_1mdFZXK_6 zbvCb5U{ShC6s9|L9cz><8-@_4EXS zwoEHbITsQsnl>ou+WaBRRvM|%T(LaLEO~j8?v6nl_yc(=Ku)qDp-Q>POP^8OYB2Noy7Qt8nIns}b z)Qse&jfg5wTp4}Kh{eMzH`t4~8~9UL5E`mp?-t#_b)2}ZVczr8W2g6&Fmv-L?kU%r zJEfW)y{Nda4_GBXgc!56s4~h?p0Xk$r5bS{b>)UquL6Fr$H@Erkc^Yeh;U7*{;6B_5>?cR-rZ4@6WuL}EIL!KV7307uF~Y8 zoO9WKv6E}T=}g0ej7j5>7n4USgXP73v>8;SZYUa5-@>CMD@s@eR&bs7BGx+K1q3CY zI+ka~Qoxz2KKhZ+xtSi3tInlZT;XW32?J8K$i+RR!AGH|gcpFQOzw}x=;>&P^BuKo zwm(_zAx+V$kJ_T~rhz2nehXXywQYwc*6?IVj}qLzt!8&Ji6i|un9$AWV;HehyqOfR z(l7d3;zj|tvWm$ZLmECJA7+p_%v1|~kc*uYep8ROlN3CPRek(bLuj-!Ex)XZUs<*F zpM6B1NNI$GJW9!KO#d=9T%zD{spG#9 z$hsUUGkMwtG%oO!OYWIxn^8QhH0fao|979$K2c>3J^?*(9xtAozQI5$ubb$Fv+@S; zQQKxTb!FmOavM%K^lR>6&duzHaWq~N@78{We#7id_|>Q6>xmQ_1ynf|CF!>#w3KtV zyMBv#0XWr8k-fAa`nlm~kFat=DE{83?zWnpX(D#me>paDywbOpl{kVpiWt}A8@MZ4 zAX`jN+HzL;ph^YVPwe6vve^}oG!zI87n8l*m)FlJq2V>8>D(aJ)kUpD9EtS=<%)gy zcEf>7?9ld0!M7hU$`@wRQ4>@ovspS8d%VD5()OJdWPifl0DA^NdDfOS#A->KG@lq8 zJ!8pL%pNX|K0d19I#NJxC`dp>4y=M`EuSa%eESl6SPDT%xh6RY3anhDvLbmxE7VUB zvlYW_2PytRF*Y@Jr%>i)<5H?7H5cOo1yt#;tnDjRU%AvTKYTy3G4jlEVXrvvaI!ua zsk2M_&ISe1pj1BC(Ela7VS*`T@uE{xWF=?XnbC3XQdD>5?f?wW`EAQp%(@WEcMh&}-GVgbN{vNZ_u0&wu{O zZ*F#?XlaVunVa?*Uz&VX;#HQ^*p}AhU+Nbm+asyx&$Or}Q^7`4v70s3T1M5Ts=ETt zd0o0*;<79B>$$S~DBfJWEPi(Fe2Zt{^4mb^3L`eDzst~{BdX6kN%=6Ak2r0+O00CA zhnK9vB~62LR4O~#coBW{X5wMKgd>1USglr!^(F0l2a9AKaIF&V68M&IgMO33k<<^! z#XmO1>p%MU{wKVSC}9uol8Qfxc^Tz=FRNIFqq56;>R`Z0&)&RiWhN%{orcMCr2*z_ z;iN`~zVD{#c@-_#ulN&H0Yb@Ms*UC%XH&#k4)KXD-@{_35W{(C!w*Z^BGq9W6F49H zw;DX4GBvss6`Y$Jn0I0txccNz%j7O3r6!PvLF>s|a?T+-&ps9MGHrVtVm{<@S2vLx z-MMoh$d=cdr!WW3{z|-Wz)>6?y+ufM6i#O7pUF2$kPo*l(B{A6TKJ}_@cLDQfFGzA zGt)=+frdjxwf&zl2-gpC<@;p2BI9=OKsB_jTqw_NtU*(5fG1#e7t&8~XX{h<&APsP z-uYpeh;AX_JH0pHuQ;c`kOcBThU)e+s|w0?bCy138KoDeKDVV!=T-brda`WjMXgS? zV_>HGMDmYDC!mW;t9Kdcd}!s%{gmwgV*#FOuD$!vPZO<&{ZNdx4-GHo5Hi3&eTkPS zb84*gXq7Ei(6{A#!TUuv-dz*j&L^{*-^fl4Xl3jB{@4Uk%>Jq28n(~5AaD)~H>eZb zZcsdCsW8!=mCQh9S(fgH>;z!JJr5VCZ-0qWGi(&wRqQn%BxDug|C>|mT^wU=J*=4h zl)7S#uSV$ME&&zPJ!!JWngKzroKncg&_35Gc3Z&>7TrLUgX_#VvA;KE4``{{%1~?=i&1T`QZv~6Z^QS zZ4-a#(a%+A;x2}0Fc5wP-2U_{YAQToxvJ3(5z|WfJWyX#(LX~ure4O?;JiGc8d=CA zO`A!Aal`Bjin=u=zfK@0bP*5`*4aYmuziE{|M}J{OZO#ikTtvSw03wrf=@NIBrvO= zi9w)Eu+`&4r`jfeqW~F)nf+stv+EZ-z=46K#6n851KNs>dk#xd$yLO(+}c0J6l69W z{OYVkG#q|cb3&&OpWU?>Yl%0ezvE$83dT-Mljiy%lx}C(P3%|nD3^DVYTS6{J%caj zxwcqCgu-rSl`^b+Kn3ng(J03FriwVc((9ITBCpq%DW13kdu6w+b3sM8?{qEzJu!(= z-J@!?on?nrT(Ryda9kt^glM}b@`L1ic;on7FwaIOCCe04)Ke%iAnRD^EOuD&_16nH zk*{?MAk7sC1Z=yrRmO@d=m&|ScVF!Iy(j2RhdXA5l^&_HEa`s8dYmtm+%!#t-^e_X ztR!Ryu{AfMq@G$ZN9VmBFQ}@BX8ZZFe&0`E08zy*#DD_J3PSuj# zhR84dR1jws!evF)YbKZHx`-b%B>4V2shVSb6CuXxL>uvIZtL^=Y5SZL$H0;Plqj*F z%F7>BjlCqOk-#Ag$WUjxs7kAS=rYbMz)WkxmDjui#}Lk^XES)LN~iqGt~0UN^xZ)% z=_G1}wa<!kew_6Kg0tUCATHZvpZ8F4>S(@z96 zC>1Q`w>HZSW1E&gv5VeHxls7h*zW)eYjBNOSIanMKCDILK5>5iw>fFV09`^99G6~CGhRC#Uyr_2cxSzQhVA~-tjUMn}9Fk!BLG{}dxiL)Ea z{&U_eAQkY%z*OeJ2=bUQ%7P;#tjNk~%C}sK(Q%?%GJd^Jzuk@djneJUMbYV%`$#KcMt_n#g+t$7y&e?{L^Tkp+D^||h^ zzEDy{#@PW(uKG#=YDGbM&|_I^*FZJaf}-%t042N9x+)l8u? zG;|s*nvSg;c*PzPd&YwJl1wVhjEtCWSamkRg+D*q?v>ju{PicR-@!~#sE4i{bvIG= z!imPQPwG>Q`?cQ0_8;Se&8JA#nfWc3+*og+9U89Gsl4p*iosG&f93ld+$#EglyO;e zJLvSYclnE!GoaVHP+epvyz|VS_Oald`=g{ZnL2fA?&;d`sqZ+#+Z8DE<34iG%Gpyo zr_w>ChQ$EsmykYkUv0mP(5f2LsG9ulQ%d2?h*^Y7;Xqo5YA>kJg`?s1Yq8sKcU#Y8 zZr1T)r)orqHpWL9Euj@{=w&JL+d}{bo!Cq#M;o!cBP;EXsR{^pyMoXLl(Ca4=lC}N zmW-}JZ@&;w=UxVoJSP0hAhA7`Pb4*|GVmw2rN_ujS&EV#O~Z{SP_us8P3Hv$UG358 z_O#zUS31V&-b_%E7`W;e4D5Y4fdo(H=H}yN%o&IW1oNTn28v&<(cM8 zy)56QgWh%p$nVKN1B}lctA(k>5lPZn_;e|vF97h~0Gl(>>b^XW7p#T|uYInxSi!3f zvS~&aZ7_H6l&(ZP)Oy5I=rj#_27L!cL|A_`dr>7B26~`t z*S`>!c4Wq{xGBrtRX;9K$;v#ZlqoZ;^s487S3^(x)Hgrcz}xbZfKXH~OCaBh`%>vp zvGRD15stqG^0`d1C2l1aaYSY+-;brM8F+dy7LV1A7gupjR;_!{=V01D2x1Ln-fPN1 z%6?jVs`}K?)Z_j8QR6`5TOo6UXcrSusfk9OxF_Z;)yr#KhRC__1fMv3f*s+}X}|$% ziny1G0R$q<%sh}>UO`CJ;S3d37) z^fFVwqEv`lr24PF-Kll)-;T*gT}NVnXdq=(B*N0j`8^CT4d<-ZrKk1B|E`q`s3S;` zqj$6CR7%YPl-q z4~uT;7hvp~ygFbGKQ14#1O`qAs$%N7W=Ev#EBQs{ zQKa>YKy4fl)cr=MeW9sMK2Cx#oj}HwHIvpZ%H*>R73ciFU5U98Dl2E6@;R}uHpJRI zQEf3^6Z}k$fIrNGEPTIZwqiLI8K*nv+lHx<*V|p73sISnbDmT9UXXgh9iP&xU*eb@ zgv1?+U3nCHfOj!GSFyskX7S9k_*Q2fU!6o_6C}Q7Pv8G#MrbCodq~mF2Z%@uC09R3 z>lIfGu&XIQPTSU+O?xd-Vbi`+q4?IEUL)XK^{|S63q&2TCDwm;j|rJ{ZsFzy%hw=hZ;Vx+^?3 zt7q)^BxguP`mk`Kv$!Mo=eyqr)*ZkBHyutXU2l^N_Q;mLu!n8ckCPb2pthiCQhs;T z*P2H^$EzCfmWdc?IJ}^ygx-m0v+F7911oT3sP>Gfr{kH@ftJS$oJ}ND&~Urc3?Z`Y z48p0)zE1ReEunpUVkPI_eQb$J$Z@qc9`#bJApIqnpVJ@m;ZMsh9ZL#jr#exc1BVlB zJ}TNQSH1Y20XIBjzxr zX=OfF(Ca&V?zZ3U2rAu8z)E1$=4~t;t%hs*;|L`?;Zb7`U8zg91Ct3%);LvOvCRCD zw6Ey^epZh-5kN;cdAfi*t`dNjV9y{a5i2LH#PT1a_d}&uY-6{+%oJC_a+PU)OqF{F z>imT^_=1b8^W03vnu6r$FJ>axDbn+Hzd_D#z;-%}r+^+sX!@b>+ZK?t)5&I*Gym&~ zCew{BVDA-22i5svr$c6781kkq$X=>GR>PasRoSX_75Dt!@R487U4Gb?2bT8cH1-RT zN*T+={%h7D(FYSi%Eyhw>l?nf8;L95Ep7d`Giab&#IhK&%$QcJb_$#MzpZl%&9e|$ zv}se*Mc>$@K!@A)pL}`;b5X^9)&qeuhWV&0&0P<`DAVv_D4~bnO{$yR3#`5aCmMFj zJc#YMIIAFtb>5+YWG&zq&SlU1L6y5vOyj$MX1vArp{Q~~!8j6)-<^u1Q^m4E^2K(% znq{Y}wY_GiEGokN685d*{A zimS-1Je?2k!O~d;44Un~#V$@6#HqmyWr^wXtv)B<)p_s&AZG>Ig;;5e7gepX9>{vd zNViPRh;$y;7|1vh_ZuueSd~1Bd;ej!z_RJ0Or18#?{e|@`geo1w zn@C4=?^1}D+_m5!`ysXaV56qQ*1g?|@wT9h5{N>nM>IDtW^Tm|d1)a*YGlG|&GK7b z0Ol|yBOlPwrXrnsp;odHHYDoDmr$^2Jrt(cC00YhS`hov-&w)tMfi*6I~vC66BzlLoDRrDex<4!WBWJ{zR-I^gXVoYqWzCk>e z0ic==5FJDl+kXUCveAAitEvb$qZc!eY3$o!#^To@4*LQ#`S_sDmtv})`(uf1hXc$H z;k?>&DwM9DL9DUCNwkC$-P*dMW%2XsUd%k zgq;|P!3g{t&@*uRO){v$P&{upzfh_IE{a~0f9Uk))&gJMt=YDR&B1`99q5nLqfe)E zsr_B63V9lNsBZ<=&N~WUedNCsrA9JrHDDr9NgtyAL!ZiBO~}1|4`{fuq7eW?+QZ=i z`>lP`I~8MsP2mhi;Z(`mT#E2RSm_ZvtkhKozy%ezMghrz(9MLwJ#?xzeAnhNq7_-7 zLx$IN7W5}7_zzK<0U!sV4?y*nxnhfAwrL>G*wF^8F#87SV%i#D88xb)jJx>s@O6s_ zEc(6K)PNdX32YJBmF=yl#{Zq0P`q6Mt|AAda#xAO0}R6qr8NU}O^Hj=lrXn>j56rs zcnyw@r(xDV^^E*;(wzyLaf67==7kc4K;QN)iFzKnqy3Wh#Ef{c9Be4d0)@~~BR)n=SVb)fF` zoIqDPL{g6yiS4{r6=rV>*{E9-oh9N)FQ0&3V2U|4S1&dc)EwzYk=g1xQpJy&c6=Fa z)F8;g9N#!<0NPNhTRVPL zRUsdM8*jupvJ)#6UG^o!lf7$X{aInhWHUAX7=v;gw$GoVRpuhh&J1|*^PkncxvGSR zUh#`hCbv}Jund*(P3*kOLpWB*r;pa<_XaTGh^2VGM7udP*po=NN(b9V2pGuEbhq1a z_;Mt(nuAdPJbB^(Rve)+w4_{dt z+E^(Vd%asUW34Q-ci=u@V*vJ|FqdtM-UAlF(oNHxPOa zgnI~2v}a^9^)+eD*!QSL9xNB^?0i=rk1eBJvNxL?NRyUNgN6Q$Z$j8Lc4`nY55gW| z=#|q?*Va#+;+zcpM*U;>ii7-b>K)tWXiHB+e}kOdIcZDRXyn2vykmJN8}yoO4C%aQ zFA{6d!FN~}UjC!k0a;u%t?~o^Ld3nO-Y~lXWw&mDd~kq0V4ZlFJDaJ$@A}~C=e6g- z_l!!347`eJ@-m*q%zL_Pgx`?w;=S;3&lC^oSzoCB6TD@O-el#-WOz7k_SE6&Lsx^6 zlouV%`x9u9}R*Z zY9RqBXcL7+mKi=6`bw_pdB9WTG@xnYy-!?Drih){tP!xn1RW(ylD-dI zVbGZkZ0BIQS@Q#f=Z}V(rY5ziLX7_{XJp~sZhAlnncvG(E||EQlKXlKM+6ZT1uqn_`0(7F|2HG`--hYbLPPm+ z9uaYlXPa|TRJ+X_hY&UWV-n2B8n2%?zjfVJ6&g|jwB>2u&)Wd=mIGq*+)~$_7%0N| zdZy)mrKoVO_F~~1aUvUTCq?*pzT*5l3zNAe1ck{+y4HGr9=hce4nxmq?FYHG;><=I zqXFF|mboa+N%A8A`{rvIbdv7$iT9(#d`-t(=42O+yYDo;oofE=wiHEm3k{>y?@;9M z)wEiI`Ov8gB>}y27Mk_2HtaG}aZL8DMF-<$r{_bs2~|-JnkI7c+glE+^qlyle`GU+ zai(&)HV#S`CJD|1n{(AzhDgMW%~nd~v;(~9d9UA{#zg#T(ry|{IG_n3CO|0;{?5*~ zyCCrjJT`vGD5Y4W3|9bcHToob#~6}?WCeSuIB!>@^y*Q6PSwh}i4YsI8Vf$k6Gs@S zC9M+fNO+P3THe zp@|;n4h@L1KCz^rx=}nnH$y;UG~>K70RYTxm0b0WLuIt?1x=!T9#xzl^9 zlBgc(K3bieG3K2inrZEHm73}tni*^U#8R`U%BWdJeOTMO35&7{Ru`q5Fzp25(EcJd z^;kl+zQFfx+0UDtrV$VFBRP7Q-loZS`p&9Vi`u7n#^?6m!}1H7PnZt>ycxJ%2~SRTrtSwHQH!R(Wqph21rjeWR_78wm$3Pv32b*# zDscmC7sp0lC*QLA%ZZbO@A_}jFvJ{?4pVbsWm+W$1`V>EwdyT>LbC2U=JL&F&^`b2 zE5w*8-f?N#%Wvpe=?|L1!u&_Y+2mz~oHjdmc zBf0QNkJ-EY_q-7#daJ8HYX9`q{~5rKzeg74SK+-YzkU=s^B0>*Wckx%buL$y6}B%Q znPE@XiPp1m#P=Z$-wk4{m&P@qRPNfovJFA`Vh)Y~P|!HK#jMA(etdlSG2EIF2K|!= zq@~4oda^ysy@owzBgKWCe)o(oku|MHbu$@hoLrb6YI$#>+=!L725te+JhIw@oP(@&w)Hi#jUP2 z5oowr+JwG`_ET-^*_6M(kGXAe)yY;PC^bZuX6w(gh%U+{0B{?$xOn}h(YZjwJBi5n zeT^izw)@7`*2{&vZ-*ZoyQz=Woo0kD*(`oENm!EWB~#k3>qbkWC7T2{0n^sV+L7n_ zPkMfW3OT>oEKQ&zB{=4IMEofsm?k|S+!14G*iL7Ztc`Jnd@RG!N*>5a zZB}zolIdLrh-f*Z;P3<>^7t~+#}r>-AWB?htN_(rL)uKNlyFt`ZnxSlW~>@+|1V&C z-Iyb>%sq1IJVB@mAk~*Ur_^cJ+YWQ|EsoibTIqK9VbOefQ!0wt{YMO$i8afTkuS2Ct9fKKSPR;q`#7{e6-PQlDO}; zwvTk$QB~Cp#wMLWy1)Y)1)yH9l!k~LGKs8I9+{5u!T{fR&U|_$SxLs|p~lb@O|&ZQ zqsO$-S+3oV8Hy{dSvwY$@^IZfPxPVH|*5CI&P6ai$mU#{(ZUS2vz-V!cX zWYK-zX;%}Dwolb>B{9vn5`T|9TZq(`J3v5QZyN1vMp|=q>OYD@{gL=qsR7R+TjT5h zYI?TvH;eTaFenXg+U4TCxIBE0F8n*lnlQpt{=L$Ef|6+M6?JSpn=%#G&6Gh&__59Dh}|cdymP$n0$bdnX}8)uw1)9Zzl z1)$Z3nUL%ggh_&0sn&UY+&l+R(i_rh`tbv_Ni*y)hZiN>A3vm_((X6wf^;VQ+y+`l zn_5W1vHa?T8M4p*bm5Uh!CUFjc>-_eY-;qY0dgB|0_y&t!}AXQki%`Ny~777C)?(X ztL_|+qn^!-Z}Kw(mh3p^fcUO;AIEZvz445!od5Zcf}GIOg0Ikg&wOKPN;}CpH~vgl7gciJAs8eDAg1`-Na_}xt$7s%mhaL;Lb7|tR&2R+jVqP z)cd_(CJajdQ5in&X1UcFK7#u5Ou`@oFXRPJ_E}uH4ht}3&z?`GHRQB4IPqYUpX>^9 z!&*n0C*3sneYhHj8=>KGLe5mtjO+@#GCOP>tM?H%eV%V-X_;G<; zh~!Vg9iB&JG}m@63Ns5DVMw-rR#wlx9&GhaA1cA?(C0w(Tghygxl&e6f|6YcjgN-( zG8LUv!3;*D1GVU1iiL|iy7g+G=JJ(byHXA%*@O)ETsVGtJ)WeSN7y7 zpx2TNk1?gnhZ|1|-#5wWNGHv#yc3=j&&RqE5 zcCzS;A=+Cc-U%3-!lS79yaTu0o36|t5E%YH=$-!*-dS3@*nrL2Tesh>V z*}Ehw9RO@^t!Yh74WNOUy@?{@-$`64`$xi@q-%>gb+rs$a4XnaSg$(wDO z=k+8KpFh}BU5F(|Nq`lWvdDSc>McYFciEIi@>tJuzST)&;xir|?EZ~LzyqJlXGXCr z#3nz!mkETmhmRVw|L&OR{1AAS@QoY>eGvoLtFI*@Uk#V)#iHFHI;|O@lSx&TzuRp? z=a@j&x!k#=;oaELlSm6S_|WB4W1UX5=Ky82M1kWth|*iyo%kOg2Cy$yA;7Be?%=ZK zAnV0t8wlX3cmKisA9Kf6z>C#v;Zw}5*@wm#kO*;J29~Vy8#(BcW@Od zjs6E3{4jI~b|gD~Oymsj3ahwA{llNTtU6O#Sb z4sn%&=l=B&Rw(g9TL)inVx>MT3FgvLu`qA-fmxVTOecg}$;UNUV>!u!q<-2`S>(fO z2#(7j-{t8?A^P_7lcAfzi3hrw*yd;0@tnxI%0MoHT%TV7s*(2+gVnHOV=?ob_p1%y zW|f9he6S|=K(NhS&~p3UkQ5#WAKtgVzV0Z)rq15=)W z0a6GINu!ER3R3y4i?EL0ZX5T0DtBug@eEA~;ZRJQ^=Q zKk=N8YAV0R+fZpNOX8=KzbK=VL~3+bie&J9Oi(FkfLJ@$N}Eb@av-0W!jg!9m(t?G ztBH+=LCYp}brH?8jD*i)-2G)NfyL`JmhjU_09r=0(SrWy`rq-k-WdRtr}P0TrX8lz zO@`NWZ=I2_uhG3vJgF&5U4R=VOEssvJvezeQ-SIp0jZ22x`(>=bl}q|OTAt{Bdxdg z_xGb4fhv{906;%%Udnw%B0};o{k?T**Ykf2A;y*EZw#`E?OfX|H_qnXx9?lny$4PuZNv zzzt$gE5*CiIAE_gaT`Dsbhj*|=-|?WAyV+UC(|RIn=R8ANz-ifcC}YI-x^f}zx-HJ zH@6>Nl8;_+*xG6K zT`K%XBq2`8R4YQ)vN%~n;K;r=Clc0Bvbb;|ndxd&7x;`Elw7$Pc6{p8dRL7^Y36E1 zHD_Jz1q$z{I=h?vxCz2<`^B4$<{yoHVf^<6ID|_8ffXJ(Q|~(_Car`aT-j*}sABG! zz41I>212!Z5RjU953sQheUi2=J0Ik0=7z;J;guSAB|&TNdwR*+#Fjh}?+?v5Y!F{d zoAmZ<5xcWM1-&utc;6&}62FnGJq~*H45b8LBQOFhl%Xc2=U<>2f<6B*8Fk|WPql2W ztk_7iB$_Xty&|6!Ku0$C8`WUpg86-|{y$918P*2g52z2zmuz&kbA*&*wua5>vHKIi zc}AWQc-z>4=aP}i4FUTX*0A@al|@dpCEd(B5*1FWG`uiI84ZwDHnOsU&>M$B*FJ|# zcrYj)XMtR>tma@A%E9X1;?^wTLDrJLASn64>-Q1Q83a@p=LmdXh5Ku4Dj!h^&5H|N z%>uhR;8Yi#dh>GdhA5Q-?d@+YL&MEaeL|wig-+W>0(URX10_|6m1b_$h%L3`3;hw2I9V4hTS-PC* z2{zaXarj==aGZV8CLYjd?AB@x6wV4p^)QvI_r77Z-$6QxHWi~1ZG9*w$puD`&Tx9R z3oUf-tZxoY2DCb0MAr~r_nF!T}6$>Gmd?o4Zng$WblgCxG*?QP7P*9Ue}*X)oYUpX3bG+vOL z)Hl!hxA=^1Oy*`pe}fzyz7>ccunDD|xg9+R`pOY9 z#>6$>G>UxE=(qb2{+GJ5q`j`$H!m|*Gi$xBY&H5m9$=o@Kbg(hQKU_LD8s}h;m;#E zYtRo(`uqEm-~YVu5$NqSz>YC|Yx7Uf%lYbj3(?5O=}l~6OJ!zm_mPuZwv>tI_r9}m@beDT9Y(ojV=Ai27s5#*1Mzo^XpF z-PEclHa$D|d;aAm!A(gab~fB7k;SS_l1R5jQOnrIMrIsDL8Qf{^=E~DNRq54Foa_+ zf0%XJ%f@B7;{k)HP-t^=^9}#6>`?#h5*lvc?C7W{)y2cyb4E2hP)**HF}2uVgz8xP{3+JNCy2lW%(y%5d;d03`D8-4o#sRm*kf-G?H)TtI3{+<>XPh~)mrp*@_17931YEs8QbR-^f?@=w zA)Zt8-RFM*c4T7ytkI`?U)#ReS%MMIa@97bRNO{&_ci(lOiD5l)dv3c;!V=|n!d4w zH!a{-AdM9{4Z6;jZc$TmIv@rY$x>Dtz#EuMGqXv_XF{uYva6YPpWThLhBx2X)fXLy z0Eq8vUPKm=l*5=PhvVo>$czAGN$3dUg_jdebmQO9$xV^t`sOA~7|M;`uh@~`X3Es^ zP@!ANH(uTPJf=~9dpty^qJ#suN=?0A1xa*O{lt-|N)h4|^w32r^0N@%57!|HyqnsO z0Anw{X{m?KNfYo76px2!0(yCEIoh$Kza<|@R#3IF%g@*BG0nF$@Z&ls{{C$h$|}j< z{3LXBxxb%ajDOQAzg7WkpzY#W9C@Sq>vAtuy#bM$k{@{4c_m4*23CE+baW3@s zUX0Insvaw_w{tgA3o)Mm=f#981m6tbHCrB1SJM3gzOAq&Tv^*iF-d?WVg<{Kh#@OV*0V;^rIsD%4l$3MF59WI$psdxw5rk1-%SG!B6;K_$620bo#PKS}j&ee>g2>BlA{L+lxSe2^~2HEZYFnz$YhNwrNE z82FXa9ur77bEm|+en{lMK5S2mfwg!>_(ff z>Ax;rBKLUw*1h;A+k5=8^q-92&yJ{{QMYXpkGKYLUvz%BuD51r1FVDJUAgCWe<3$T zLy-dK6hL?(%Yio|RJ9uPPTz~ue(A%hr~_`{``SOvnP-GY(i)|4;gNkKaRp2+uK2h{rDY9S*{@bL_W_miJ()N;gwHRH^xAR{F_h}ovkG^CjYExrW&z@(AfusLOG-p4a_!=|*!L*wN~ zAK0>Q@yWNmk(bkYg^sb>Q<~I1hxlxGi1PDQ2^Ge3T zOY5qAysRGL|MxB)5sS=IF&2ub(G0W(+2_Y{?X2Rt!o=OWez=l#jH~K;DH$C21>i6K l_sNW9A`=7;Z>z25QjTo - - - - - - - - AI验真 - - - - - -

-
-
-
-
- AI摄像头加载中... -
-
-
-
-
-
-
- - -
-
-
- 对齐定位点 -
-
-
-
- -
-
- -
-
-
- - 验证演示 -
- -
- - -
- - - - - - - diff --git a/web/public/camera-3.2/js/lottie.min.js b/web/public/camera-3.2/js/lottie.min.js deleted file mode 100644 index db3599b..0000000 --- a/web/public/camera-3.2/js/lottie.min.js +++ /dev/null @@ -1 +0,0 @@ -"undefined"!=typeof navigator&&function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).lottie=e()}(this,(function(){"use strict";var svgNS="http://www.w3.org/2000/svg",locationHref="",_useWebWorker=!1,initialDefaultFrame=-999999,setWebWorker=function(t){_useWebWorker=!!t},getWebWorker=function(){return _useWebWorker},setLocationHref=function(t){locationHref=t},getLocationHref=function(){return locationHref};function createTag(t){return document.createElement(t)}function extendPrototype(t,e){var i,r,s=t.length;for(i=0;i1?i[1]=1:i[1]<=0&&(i[1]=0),HSVtoRGB(i[0],i[1],i[2])}function addBrightnessToRGB(t,e){var i=RGBtoHSV(255*t[0],255*t[1],255*t[2]);return i[2]+=e,i[2]>1?i[2]=1:i[2]<0&&(i[2]=0),HSVtoRGB(i[0],i[1],i[2])}function addHueToRGB(t,e){var i=RGBtoHSV(255*t[0],255*t[1],255*t[2]);return i[0]+=e/360,i[0]>1?i[0]-=1:i[0]<0&&(i[0]+=1),HSVtoRGB(i[0],i[1],i[2])}var rgbToHex=function(){var t,e,i=[];for(t=0;t<256;t+=1)e=t.toString(16),i[t]=1===e.length?"0"+e:e;return function(t,e,r){return t<0&&(t=0),e<0&&(e=0),r<0&&(r=0),"#"+i[t]+i[e]+i[r]}}(),setSubframeEnabled=function(t){subframeEnabled=!!t},getSubframeEnabled=function(){return subframeEnabled},setExpressionsPlugin=function(t){expressionsPlugin=t},getExpressionsPlugin=function(){return expressionsPlugin},setExpressionInterfaces=function(t){expressionsInterfaces=t},getExpressionInterfaces=function(){return expressionsInterfaces},setDefaultCurveSegments=function(t){defaultCurveSegments=t},getDefaultCurveSegments=function(){return defaultCurveSegments},setIdPrefix=function(t){idPrefix$1=t},getIdPrefix=function(){return idPrefix$1};function createNS(t){return document.createElementNS(svgNS,t)}function _typeof$5(t){return _typeof$5="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof$5(t)}var dataManager=function(){var t,e,i=1,r=[],s={onmessage:function(){},postMessage:function(e){t({data:e})}},a={postMessage:function(t){s.onmessage({data:t})}};function n(){e||(e=function(e){if(window.Worker&&window.Blob&&getWebWorker()){var i=new Blob(["var _workerSelf = self; self.onmessage = ",e.toString()],{type:"text/javascript"}),r=URL.createObjectURL(i);return new Worker(r)}return t=e,s}((function(t){if(a.dataManager||(a.dataManager=function(){function t(s,a){var n,o,h,l,p,m,c=s.length;for(o=0;o=0;e-=1)if("sh"===t[e].ty)if(t[e].ks.k.i)r(t[e].ks.k);else for(a=t[e].ks.k.length,s=0;si[0]||!(i[0]>t[0])&&(t[1]>i[1]||!(i[1]>t[1])&&(t[2]>i[2]||!(i[2]>t[2])&&null))}var a,n=function(){var t=[4,4,14];function e(t){var e,i,r,s=t.length;for(e=0;e=0;i-=1)if("sh"===t[i].ty)if(t[i].ks.k.i)t[i].ks.k.c=t[i].closed;else for(s=t[i].ks.k.length,r=0;r500)&&(this._imageLoaded(),clearInterval(i)),e+=1}.bind(this),50)}function a(t){var e={assetData:t},i=r(t,this.assetsPath,this.path);return dataManager.loadData(i,function(t){e.img=t,this._footageLoaded()}.bind(this),function(){e.img={},this._footageLoaded()}.bind(this)),e}function n(){this._imageLoaded=e.bind(this),this._footageLoaded=i.bind(this),this.testImageLoaded=s.bind(this),this.createFootageData=a.bind(this),this.assetsPath="",this.path="",this.totalImages=0,this.totalFootages=0,this.loadedAssets=0,this.loadedFootagesCount=0,this.imagesLoadedCb=null,this.images=[]}return n.prototype={loadAssets:function(t,e){var i;this.imagesLoadedCb=e;var r=t.length;for(i=0;ithis.animationData.op&&(this.animationData.op=t.op,this.totalFrames=Math.floor(t.op-this.animationData.ip));var e,i,r=this.animationData.layers,s=r.length,a=t.layers,n=a.length;for(i=0;ithis.timeCompleted&&(this.currentFrame=this.timeCompleted),this.trigger("enterFrame"),this.renderFrame(),this.trigger("drawnFrame")},AnimationItem.prototype.renderFrame=function(){if(!1!==this.isLoaded&&this.renderer)try{this.expressionsPlugin&&this.expressionsPlugin.resetFrame(),this.renderer.renderFrame(this.currentFrame+this.firstFrame)}catch(t){this.triggerRenderFrameError(t)}},AnimationItem.prototype.play=function(t){t&&this.name!==t||!0===this.isPaused&&(this.isPaused=!1,this.trigger("_play"),this.audioController.resume(),this._idle&&(this._idle=!1,this.trigger("_active")))},AnimationItem.prototype.pause=function(t){t&&this.name!==t||!1===this.isPaused&&(this.isPaused=!0,this.trigger("_pause"),this._idle=!0,this.trigger("_idle"),this.audioController.pause())},AnimationItem.prototype.togglePause=function(t){t&&this.name!==t||(!0===this.isPaused?this.play():this.pause())},AnimationItem.prototype.stop=function(t){t&&this.name!==t||(this.pause(),this.playCount=0,this._completedLoop=!1,this.setCurrentRawFrameValue(0))},AnimationItem.prototype.getMarkerData=function(t){for(var e,i=0;i=this.totalFrames-1&&this.frameModifier>0?this.loop&&this.playCount!==this.loop?e>=this.totalFrames?(this.playCount+=1,this.checkSegments(e%this.totalFrames)||(this.setCurrentRawFrameValue(e%this.totalFrames),this._completedLoop=!0,this.trigger("loopComplete"))):this.setCurrentRawFrameValue(e):this.checkSegments(e>this.totalFrames?e%this.totalFrames:0)||(i=!0,e=this.totalFrames-1):e<0?this.checkSegments(e%this.totalFrames)||(!this.loop||this.playCount--<=0&&!0!==this.loop?(i=!0,e=0):(this.setCurrentRawFrameValue(this.totalFrames+e%this.totalFrames),this._completedLoop?this.trigger("loopComplete"):this._completedLoop=!0)):this.setCurrentRawFrameValue(e),i&&(this.setCurrentRawFrameValue(e),this.pause(),this.trigger("complete"))}},AnimationItem.prototype.adjustSegment=function(t,e){this.playCount=0,t[1]0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(-1)),this.totalFrames=t[0]-t[1],this.timeCompleted=this.totalFrames,this.firstFrame=t[1],this.setCurrentRawFrameValue(this.totalFrames-.001-e)):t[1]>t[0]&&(this.frameModifier<0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(1)),this.totalFrames=t[1]-t[0],this.timeCompleted=this.totalFrames,this.firstFrame=t[0],this.setCurrentRawFrameValue(.001+e)),this.trigger("segmentStart")},AnimationItem.prototype.setSegment=function(t,e){var i=-1;this.isPaused&&(this.currentRawFrame+this.firstFramee&&(i=e-t)),this.firstFrame=t,this.totalFrames=e-t,this.timeCompleted=this.totalFrames,-1!==i&&this.goToAndStop(i,!0)},AnimationItem.prototype.playSegments=function(t,e){if(e&&(this.segments.length=0),"object"===_typeof$4(t[0])){var i,r=t.length;for(i=0;i=0;i-=1)e[i].animation.destroy(t)},t.freeze=function(){n=!0},t.unfreeze=function(){n=!1,d()},t.setVolume=function(t,i){var s;for(s=0;s=.001?function(t,e,i,r){for(var s=0;s<4;++s){var a=h(e,i,r);if(0===a)return e;e-=(o(e,i,r)-t)/a}return e}(t,l,e,r):0===p?l:function(t,e,i,r,s){var a,n,h=0;do{(a=o(n=e+(i-e)/2,r,s)-t)>0?i=n:e=n}while(Math.abs(a)>1e-7&&++h<10);return n}(t,a,a+i,e,r)}},t}(),pooling={double:function(t){return t.concat(createSizedArray(t.length))}},poolFactory=function(t,e,i){var r=0,s=t,a=createSizedArray(s);return{newElement:function(){return r?a[r-=1]:e()},release:function(t){r===s&&(a=pooling.double(a),s*=2),i&&i(t),a[r]=t,r+=1}}},bezierLengthPool=poolFactory(8,(function(){return{addedLength:0,percents:createTypedArray("float32",getDefaultCurveSegments()),lengths:createTypedArray("float32",getDefaultCurveSegments())}})),segmentsLengthPool=poolFactory(8,(function(){return{lengths:[],totalLength:0}}),(function(t){var e,i=t.lengths.length;for(e=0;e-.001&&n<.001}var i=function(t,e,i,r){var s,a,n,o,h,l,p=getDefaultCurveSegments(),f=0,m=[],c=[],d=bezierLengthPool.newElement();for(n=i.length,s=0;sn?-1:1,l=!0;l;)if(r[a]<=n&&r[a+1]>n?(o=(n-r[a])/(r[a+1]-r[a]),l=!1):a+=h,a<0||a>=s-1){if(a===s-1)return i[a];l=!1}return i[a]+(i[a+1]-i[a])*o}var h=createTypedArray("float32",8);return{getSegmentsLength:function(t){var e,r=segmentsLengthPool.newElement(),s=t.c,a=t.v,n=t.o,o=t.i,h=t._length,l=r.lengths,p=0;for(e=0;e1&&(a=1);var p,f=o(a,l),m=o(n=n>1?1:n,l),c=e.length,d=1-f,u=1-m,y=d*d*d,g=f*d*d*3,v=f*f*d*3,b=f*f*f,x=d*d*u,P=f*d*u+d*f*u+d*d*m,E=f*f*u+d*f*m+f*d*m,S=f*f*m,C=d*u*u,_=f*u*u+d*m*u+d*u*m,A=f*m*u+d*m*m+f*u*m,T=f*m*m,M=u*u*u,k=m*u*u+u*m*u+u*u*m,D=m*m*u+u*m*m+m*u*m,F=m*m*m;for(p=0;pc?m>d?m-c-d:d-c-m:d>c?d-c-m:c-m-d)>-1e-4&&f<1e-4}}}var bez=bezFunction(),initFrame=initialDefaultFrame,mathAbs=Math.abs;function interpolateValue(t,e){var i,r=this.offsetTime;"multidimensional"===this.propType&&(i=createTypedArray("float32",this.pv.length));for(var s,a,n,o,h,l,p,f,m,c=e.lastIndex,d=c,u=this.keyframes.length-1,y=!0;y;){if(s=this.keyframes[d],a=this.keyframes[d+1],d===u-1&&t>=a.t-r){s.h&&(s=a),c=0;break}if(a.t-r>t){c=d;break}d=v||t=v?x.points.length-1:0;for(h=x.points[P].point.length,o=0;o=C&&S=v)i[0]=g[0],i[1]=g[1],i[2]=g[2];else if(t<=b)i[0]=s.s[0],i[1]=s.s[1],i[2]=s.s[2];else{quaternionToEuler(i,slerp(createQuaternion(s.s),createQuaternion(g),(t-b)/(v-b)))}else for(d=0;d=v?l=1:t1e-6?(r=Math.acos(s),a=Math.sin(r),n=Math.sin((1-i)*r)/a,o=Math.sin(i*r)/a):(n=1-i,o=i),h[0]=n*l+o*c,h[1]=n*p+o*d,h[2]=n*f+o*u,h[3]=n*m+o*y,h}function quaternionToEuler(t,e){var i=e[0],r=e[1],s=e[2],a=e[3],n=Math.atan2(2*r*a-2*i*s,1-2*r*r-2*s*s),o=Math.asin(2*i*r+2*s*a),h=Math.atan2(2*i*a-2*r*s,1-2*i*i-2*s*s);t[0]=n/degToRads,t[1]=o/degToRads,t[2]=h/degToRads}function createQuaternion(t){var e=t[0]*degToRads,i=t[1]*degToRads,r=t[2]*degToRads,s=Math.cos(e/2),a=Math.cos(i/2),n=Math.cos(r/2),o=Math.sin(e/2),h=Math.sin(i/2),l=Math.sin(r/2);return[o*h*n+s*a*l,o*a*n+s*h*l,s*h*n-o*a*l,s*a*n-o*h*l]}function getValueAtCurrentTime(){var t=this.comp.renderedFrame-this.offsetTime,e=this.keyframes[0].t-this.offsetTime,i=this.keyframes[this.keyframes.length-1].t-this.offsetTime;if(!(t===this._caching.lastFrame||this._caching.lastFrame!==initFrame&&(this._caching.lastFrame>=i&&t>=i||this._caching.lastFrame=t&&(this._caching._lastKeyframeIndex=-1,this._caching.lastIndex=0);var r=this.interpolateValue(t,this._caching);this.pv=r}return this._caching.lastFrame=t,this.pv}function setVValue(t){var e;if("unidimensional"===this.propType)e=t*this.mult,mathAbs(this.v-e)>1e-5&&(this.v=e,this._mdf=!0);else for(var i=0,r=this.v.length;i1e-5&&(this.v[i]=e,this._mdf=!0),i+=1}function processEffectsSequence(){if(this.elem.globalData.frameId!==this.frameId&&this.effectsSequence.length)if(this.lock)this.setVValue(this.pv);else{var t;this.lock=!0,this._mdf=this._isFirstFrame;var e=this.effectsSequence.length,i=this.kf?this.pv:this.data.k;for(t=0;t=this._maxLength&&this.doubleArrayLength(),i){case"v":a=this.v;break;case"i":a=this.i;break;case"o":a=this.o;break;default:a=[]}(!a[r]||a[r]&&!s)&&(a[r]=pointPool.newElement()),a[r][0]=t,a[r][1]=e},ShapePath.prototype.setTripleAt=function(t,e,i,r,s,a,n,o){this.setXYAt(t,e,"v",n,o),this.setXYAt(i,r,"o",n,o),this.setXYAt(s,a,"i",n,o)},ShapePath.prototype.reverse=function(){var t=new ShapePath;t.setPathData(this.c,this._length);var e=this.v,i=this.o,r=this.i,s=0;this.c&&(t.setTripleAt(e[0][0],e[0][1],r[0][0],r[0][1],i[0][0],i[0][1],0,!1),s=1);var a,n=this._length-1,o=this._length;for(a=s;a=c[c.length-1].t-this.offsetTime)r=c[c.length-1].s?c[c.length-1].s[0]:c[c.length-2].e[0],a=!0;else{for(var d,u,y,g=m,v=c.length-1,b=!0;b&&(d=c[g],!((u=c[g+1]).t-this.offsetTime>t));)g=u.t-this.offsetTime)p=1;else if(tr&&e>r)||(this._caching.lastIndex=s0||t>-1e-6&&t<0?r(1e4*t)/1e4:t}function I(){var t=this.props;return"matrix("+w(t[0])+","+w(t[1])+","+w(t[4])+","+w(t[5])+","+w(t[12])+","+w(t[13])+")"}return function(){this.reset=s,this.rotate=a,this.rotateX=n,this.rotateY=o,this.rotateZ=h,this.skew=p,this.skewFromAxis=f,this.shear=l,this.scale=m,this.setTransform=c,this.translate=d,this.transform=u,this.multiply=y,this.applyToPoint=P,this.applyToX=E,this.applyToY=S,this.applyToZ=C,this.applyToPointArray=k,this.applyToTriplePoints=M,this.applyToPointStringified=D,this.toCSS=F,this.to2dCSS=I,this.clone=b,this.cloneFromProps=x,this.equals=v,this.inversePoints=T,this.inversePoint=A,this.getInverseMatrix=_,this._t=this.transform,this.isIdentity=g,this._identity=!0,this._identityCalculated=!1,this.props=createTypedArray("float32",16),this.reset()}}();function _typeof$3(t){return _typeof$3="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof$3(t)}var lottie={},standalone="__[STANDALONE]__",animationData="__[ANIMATIONDATA]__",renderer="";function setLocation(t){setLocationHref(t)}function searchAnimations(){!0===standalone?animationManager.searchAnimations(animationData,standalone,renderer):animationManager.searchAnimations()}function setSubframeRendering(t){setSubframeEnabled(t)}function setPrefix(t){setIdPrefix(t)}function loadAnimation(t){return!0===standalone&&(t.animationData=JSON.parse(animationData)),animationManager.loadAnimation(t)}function setQuality(t){if("string"==typeof t)switch(t){case"high":setDefaultCurveSegments(200);break;default:case"medium":setDefaultCurveSegments(50);break;case"low":setDefaultCurveSegments(10)}else!isNaN(t)&&t>1&&setDefaultCurveSegments(t);getDefaultCurveSegments()>=50?roundValues(!1):roundValues(!0)}function inBrowser(){return"undefined"!=typeof navigator}function installPlugin(t,e){"expressions"===t&&setExpressionsPlugin(e)}function getFactory(t){switch(t){case"propertyFactory":return PropertyFactory;case"shapePropertyFactory":return ShapePropertyFactory;case"matrix":return Matrix;default:return null}}function checkReady(){"complete"===document.readyState&&(clearInterval(readyStateCheckInterval),searchAnimations())}function getQueryVariable(t){for(var e=queryString.split("&"),i=0;i=1?a.push({s:t-1,e:e-1}):(a.push({s:t,e:1}),a.push({s:0,e:e-1}));var n,o,h=[],l=a.length;for(n=0;nr+i))p=o.s*s<=r?0:(o.s*s-r)/i,f=o.e*s>=r+i?1:(o.e*s-r)/i,h.push([p,f])}return h.length||h.push([0,0]),h},TrimModifier.prototype.releasePathsData=function(t){var e,i=t.length;for(e=0;e1?1+a:this.s.v<0?0+a:this.s.v+a)>(i=this.e.v>1?1+a:this.e.v<0?0+a:this.e.v+a)){var n=e;e=i,i=n}e=1e-4*Math.round(1e4*e),i=1e-4*Math.round(1e4*i),this.sValue=e,this.eValue=i}else e=this.sValue,i=this.eValue;var o,h,l,p,f,m=this.shapes.length,c=0;if(i===e)for(s=0;s=0;s-=1)if((d=this.shapes[s]).shape._mdf){for((u=d.localShapeCollection).releaseShapes(),2===this.m&&m>1?(g=this.calculateShapeEdges(e,i,d.totalShapeLength,x,c),x+=d.totalShapeLength):g=[[v,b]],h=g.length,o=0;o=1?y.push({s:d.totalShapeLength*(v-1),e:d.totalShapeLength*(b-1)}):(y.push({s:d.totalShapeLength*v,e:d.totalShapeLength}),y.push({s:0,e:d.totalShapeLength*(b-1)}));var P=this.addShapes(d,y[0]);if(y[0].s!==y[0].e){if(y.length>1)if(d.shape.paths.shapes[d.shape.paths._length-1].c){var E=P.pop();this.addPaths(P,u),P=this.addShapes(d,y[1],E)}else this.addPaths(P,u),P=this.addShapes(d,y[1]);this.addPaths(P,u)}}d.shape.paths=u}}},TrimModifier.prototype.addPaths=function(t,e){var i,r=t.length;for(i=0;ie.e){i.c=!1;break}e.s<=d&&e.e>=d+n.addedLength?(this.addSegment(m[r].v[s-1],m[r].o[s-1],m[r].i[s],m[r].v[s],i,o,y),y=!1):(l=bez.getNewSegment(m[r].v[s-1],m[r].v[s],m[r].o[s-1],m[r].i[s],(e.s-d)/n.addedLength,(e.e-d)/n.addedLength,h[s-1]),this.addSegmentFromArray(l,i,o,y),y=!1,i.c=!1),d+=n.addedLength,o+=1}if(m[r].c&&h.length){if(n=h[s-1],d<=e.e){var g=h[s-1].addedLength;e.s<=d&&e.e>=d+g?(this.addSegment(m[r].v[s-1],m[r].o[s-1],m[r].i[0],m[r].v[0],i,o,y),y=!1):(l=bez.getNewSegment(m[r].v[s-1],m[r].v[0],m[r].o[s-1],m[r].i[0],(e.s-d)/g,(e.e-d)/g,h[s-1]),this.addSegmentFromArray(l,i,o,y),y=!1,i.c=!1)}else i.c=!1;d+=n.addedLength,o+=1}if(i._length&&(i.setXYAt(i.v[p][0],i.v[p][1],"i",p),i.setXYAt(i.v[i._length-1][0],i.v[i._length-1][1],"o",i._length-1)),d>e.e)break;r=this.p.keyframes[this.p.keyframes.length-1].t?(r=this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length-1].t/i,0),s=this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length-1].t-.05)/i,0)):(r=this.p.pv,s=this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime-.01)/i,this.p.offsetTime));else if(this.px&&this.px.keyframes&&this.py.keyframes&&this.px.getValueAtTime&&this.py.getValueAtTime){r=[],s=[];var a=this.px,n=this.py;a._caching.lastFrame+a.offsetTime<=a.keyframes[0].t?(r[0]=a.getValueAtTime((a.keyframes[0].t+.01)/i,0),r[1]=n.getValueAtTime((n.keyframes[0].t+.01)/i,0),s[0]=a.getValueAtTime(a.keyframes[0].t/i,0),s[1]=n.getValueAtTime(n.keyframes[0].t/i,0)):a._caching.lastFrame+a.offsetTime>=a.keyframes[a.keyframes.length-1].t?(r[0]=a.getValueAtTime(a.keyframes[a.keyframes.length-1].t/i,0),r[1]=n.getValueAtTime(n.keyframes[n.keyframes.length-1].t/i,0),s[0]=a.getValueAtTime((a.keyframes[a.keyframes.length-1].t-.01)/i,0),s[1]=n.getValueAtTime((n.keyframes[n.keyframes.length-1].t-.01)/i,0)):(r=[a.pv,n.pv],s[0]=a.getValueAtTime((a._caching.lastFrame+a.offsetTime-.01)/i,a.offsetTime),s[1]=n.getValueAtTime((n._caching.lastFrame+n.offsetTime-.01)/i,n.offsetTime))}else r=s=t;this.v.rotate(-Math.atan2(r[1]-s[1],r[0]-s[0]))}this.data.p&&this.data.p.s?this.data.p.z?this.v.translate(this.px.v,this.py.v,-this.pz.v):this.v.translate(this.px.v,this.py.v,0):this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2])}this.frameId=this.elem.globalData.frameId}},precalculateMatrix:function(){if(this.appliedTransformations=0,this.pre.reset(),!this.a.effectsSequence.length&&(this.pre.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations=1,!this.s.effectsSequence.length)){if(this.pre.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.appliedTransformations=2,this.sk){if(this.sk.effectsSequence.length||this.sa.effectsSequence.length)return;this.pre.skewFromAxis(-this.sk.v,this.sa.v),this.appliedTransformations=3}this.r?this.r.effectsSequence.length||(this.pre.rotate(-this.r.v),this.appliedTransformations=4):this.rz.effectsSequence.length||this.ry.effectsSequence.length||this.rx.effectsSequence.length||this.or.effectsSequence.length||(this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.appliedTransformations=4)}},autoOrient:function(){}},extendPrototype([DynamicPropertyContainer],e),e.prototype.addDynamicProperty=function(t){this._addDynamicProperty(t),this.elem.addDynamicProperty(t),this._isDirty=!0},e.prototype._addDynamicProperty=DynamicPropertyContainer.prototype.addDynamicProperty,{getTransformProperty:function(t,i,r){return new e(t,i,r)}}}();function RepeaterModifier(){}function RoundCornersModifier(){}function floatEqual(t,e){return 1e5*Math.abs(t-e)<=Math.min(Math.abs(t),Math.abs(e))}function floatZero(t){return Math.abs(t)<=1e-5}function lerp(t,e,i){return t*(1-i)+e*i}function lerpPoint(t,e,i){return[lerp(t[0],e[0],i),lerp(t[1],e[1],i)]}function quadRoots(t,e,i){if(0===t)return[];var r=e*e-4*t*i;if(r<0)return[];var s=-e/(2*t);if(0===r)return[s];var a=Math.sqrt(r)/(2*t);return[s-a,s+a]}function polynomialCoefficients(t,e,i,r){return[3*e-t-3*i+r,3*t-6*e+3*i,-3*t+3*e,t]}function singlePoint(t){return new PolynomialBezier(t,t,t,t,!1)}function PolynomialBezier(t,e,i,r,s){s&&pointEqual(t,e)&&(e=lerpPoint(t,r,1/3)),s&&pointEqual(i,r)&&(i=lerpPoint(t,r,2/3));var a=polynomialCoefficients(t[0],e[0],i[0],r[0]),n=polynomialCoefficients(t[1],e[1],i[1],r[1]);this.a=[a[0],n[0]],this.b=[a[1],n[1]],this.c=[a[2],n[2]],this.d=[a[3],n[3]],this.points=[t,e,i,r]}function extrema(t,e){var i=t.points[0][e],r=t.points[t.points.length-1][e];if(i>r){var s=r;r=i,i=s}for(var a=quadRoots(3*t.a[e],2*t.b[e],t.c[e]),n=0;n0&&a[n]<1){var o=t.point(a[n])[e];or&&(r=o)}return{min:i,max:r}}function intersectData(t,e,i){var r=t.boundingBox();return{cx:r.cx,cy:r.cy,width:r.width,height:r.height,bez:t,t:(e+i)/2,t1:e,t2:i}}function splitData(t){var e=t.bez.split(.5);return[intersectData(e[0],t.t1,t.t),intersectData(e[1],t.t,t.t2)]}function boxIntersect(t,e){return 2*Math.abs(t.cx-e.cx)=a||t.width<=r&&t.height<=r&&e.width<=r&&e.height<=r)s.push([t.t,e.t]);else{var n=splitData(t),o=splitData(e);intersectsImpl(n[0],o[0],i+1,r,s,a),intersectsImpl(n[0],o[1],i+1,r,s,a),intersectsImpl(n[1],o[0],i+1,r,s,a),intersectsImpl(n[1],o[1],i+1,r,s,a)}}function crossProduct(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function lineIntersection(t,e,i,r){var s=[t[0],t[1],1],a=[e[0],e[1],1],n=[i[0],i[1],1],o=[r[0],r[1],1],h=crossProduct(crossProduct(s,a),crossProduct(n,o));return floatZero(h[2])?null:[h[0]/h[2],h[1]/h[2]]}function polarOffset(t,e,i){return[t[0]+Math.cos(e)*i,t[1]-Math.sin(e)*i]}function pointDistance(t,e){return Math.hypot(t[0]-e[0],t[1]-e[1])}function pointEqual(t,e){return floatEqual(t[0],e[0])&&floatEqual(t[1],e[1])}function ZigZagModifier(){}function setPoint(t,e,i,r,s,a,n){var o=i-Math.PI/2,h=i+Math.PI/2,l=e[0]+Math.cos(i)*r*s,p=e[1]-Math.sin(i)*r*s;t.setTripleAt(l,p,l+Math.cos(o)*a,p-Math.sin(o)*a,l+Math.cos(h)*n,p-Math.sin(h)*n,t.length())}function getPerpendicularVector(t,e){var i=[e[0]-t[0],e[1]-t[1]],r=.5*-Math.PI;return[Math.cos(r)*i[0]-Math.sin(r)*i[1],Math.sin(r)*i[0]+Math.cos(r)*i[1]]}function getProjectingAngle(t,e){var i=0===e?t.length()-1:e-1,r=(e+1)%t.length(),s=getPerpendicularVector(t.v[i],t.v[r]);return Math.atan2(0,1)-Math.atan2(s[1],s[0])}function zigZagCorner(t,e,i,r,s,a,n){var o=getProjectingAngle(e,i),h=e.v[i%e._length],l=e.v[0===i?e._length-1:i-1],p=e.v[(i+1)%e._length],f=2===a?Math.sqrt(Math.pow(h[0]-l[0],2)+Math.pow(h[1]-l[1],2)):0,m=2===a?Math.sqrt(Math.pow(h[0]-p[0],2)+Math.pow(h[1]-p[1],2)):0;setPoint(t,e.v[i%e._length],o,n,r,m/(2*(s+1)),f/(2*(s+1)),a)}function zigZagSegment(t,e,i,r,s,a){for(var n=0;n1&&e.length>1&&(s=getIntersection(t[0],e[e.length-1]))?[[t[0].split(s[0])[0]],[e[e.length-1].split(s[1])[1]]]:[i,r]}function pruneIntersections(t){for(var e,i=1;i1&&(e=pruneSegmentIntersection(t[t.length-1],t[0]),t[t.length-1]=e[0],t[0]=e[1]),t}function offsetSegmentSplit(t,e){var i,r,s,a,n=t.inflectionPoints();if(0===n.length)return[offsetSegment(t,e)];if(1===n.length||floatEqual(n[1],1))return i=(s=t.split(n[0]))[0],r=s[1],[offsetSegment(i,e),offsetSegment(r,e)];i=(s=t.split(n[0]))[0];var o=(n[1]-n[0])/(1-n[0]);return a=(s=s[1].split(o))[0],r=s[1],[offsetSegment(i,e),offsetSegment(a,e),offsetSegment(r,e)]}function OffsetPathModifier(){}function getFontProperties(t){for(var e=t.fStyle?t.fStyle.split(" "):[],i="normal",r="normal",s=e.length,a=0;a0;)i-=1,this._elements.unshift(e[i]);this.dynamicProperties.length?this.k=!0:this.getValue(!0)},RepeaterModifier.prototype.resetElements=function(t){var e,i=t.length;for(e=0;e0?Math.floor(m):Math.ceil(m),u=this.pMatrix.props,y=this.rMatrix.props,g=this.sMatrix.props;this.pMatrix.reset(),this.rMatrix.reset(),this.sMatrix.reset(),this.tMatrix.reset(),this.matrix.reset();var v,b,x=0;if(m>0){for(;xd;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!0),x-=1;c&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,-c,!0),x-=c)}for(r=1===this.data.m?0:this._currentCopies-1,s=1===this.data.m?1:-1,a=this._currentCopies;a;){if(b=(i=(e=this.elemsData[r].it)[e.length-1].transform.mProps.v.props).length,e[e.length-1].transform.mProps._mdf=!0,e[e.length-1].transform.op._mdf=!0,e[e.length-1].transform.op.v=1===this._currentCopies?this.so.v:this.so.v+(this.eo.v-this.so.v)*(r/(this._currentCopies-1)),0!==x){for((0!==r&&1===s||r!==this._currentCopies-1&&-1===s)&&this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),this.matrix.transform(y[0],y[1],y[2],y[3],y[4],y[5],y[6],y[7],y[8],y[9],y[10],y[11],y[12],y[13],y[14],y[15]),this.matrix.transform(g[0],g[1],g[2],g[3],g[4],g[5],g[6],g[7],g[8],g[9],g[10],g[11],g[12],g[13],g[14],g[15]),this.matrix.transform(u[0],u[1],u[2],u[3],u[4],u[5],u[6],u[7],u[8],u[9],u[10],u[11],u[12],u[13],u[14],u[15]),v=0;v0&&r<1?[e]:[]:[e-r,e+r].filter((function(t){return t>0&&t<1}))},PolynomialBezier.prototype.split=function(t){if(t<=0)return[singlePoint(this.points[0]),this];if(t>=1)return[this,singlePoint(this.points[this.points.length-1])];var e=lerpPoint(this.points[0],this.points[1],t),i=lerpPoint(this.points[1],this.points[2],t),r=lerpPoint(this.points[2],this.points[3],t),s=lerpPoint(e,i,t),a=lerpPoint(i,r,t),n=lerpPoint(s,a,t);return[new PolynomialBezier(this.points[0],e,s,n,!0),new PolynomialBezier(n,a,r,this.points[3],!0)]},PolynomialBezier.prototype.bounds=function(){return{x:extrema(this,0),y:extrema(this,1)}},PolynomialBezier.prototype.boundingBox=function(){var t=this.bounds();return{left:t.x.min,right:t.x.max,top:t.y.min,bottom:t.y.max,width:t.x.max-t.x.min,height:t.y.max-t.y.min,cx:(t.x.max+t.x.min)/2,cy:(t.y.max+t.y.min)/2}},PolynomialBezier.prototype.intersections=function(t,e,i){void 0===e&&(e=2),void 0===i&&(i=7);var r=[];return intersectsImpl(intersectData(this,0,1),intersectData(t,0,1),0,e,r,i),r},PolynomialBezier.shapeSegment=function(t,e){var i=(e+1)%t.length();return new PolynomialBezier(t.v[e],t.o[e],t.i[i],t.v[i],!0)},PolynomialBezier.shapeSegmentInverted=function(t,e){var i=(e+1)%t.length();return new PolynomialBezier(t.v[i],t.i[i],t.o[e],t.v[e],!0)},extendPrototype([ShapeModifier],ZigZagModifier),ZigZagModifier.prototype.initModifierProperties=function(t,e){this.getValue=this.processKeys,this.amplitude=PropertyFactory.getProp(t,e.s,0,null,this),this.frequency=PropertyFactory.getProp(t,e.r,0,null,this),this.pointsType=PropertyFactory.getProp(t,e.pt,0,null,this),this._isAnimated=0!==this.amplitude.effectsSequence.length||0!==this.frequency.effectsSequence.length||0!==this.pointsType.effectsSequence.length},ZigZagModifier.prototype.processPath=function(t,e,i,r){var s=t._length,a=shapePool.newElement();if(a.c=t.c,t.c||(s-=1),0===s)return a;var n=-1,o=PolynomialBezier.shapeSegment(t,0);zigZagCorner(a,t,0,e,i,r,n);for(var h=0;h=0;a-=1)o=PolynomialBezier.shapeSegmentInverted(t,a),l.push(offsetSegmentSplit(o,e));l=pruneIntersections(l);var p=null,f=null;for(a=0;a=55296&&i<=56319){var r=t.charCodeAt(1);r>=56320&&r<=57343&&(e=1024*(i-55296)+r-56320+65536)}return e}function o(t){var e=n(t);return e>=127462&&e<=127487}var h=function(){this.fonts=[],this.chars=null,this.typekitLoaded=0,this.isLoaded=!1,this._warned=!1,this.initTime=Date.now(),this.setIsLoadedBinded=this.setIsLoaded.bind(this),this.checkLoadedFontsBinded=this.checkLoadedFonts.bind(this)};h.isModifier=function(t,e){var i=t.toString(16)+e.toString(16);return-1!==r.indexOf(i)},h.isZeroWidthJoiner=function(t){return 8205===t},h.isFlagEmoji=function(t){return o(t.substr(0,2))&&o(t.substr(2,2))},h.isRegionalCode=o,h.isCombinedCharacter=function(t){return-1!==e.indexOf(t)},h.isRegionalFlag=function(t,e){var r=n(t.substr(e,2));if(r!==i)return!1;var s=0;for(e+=2;s<5;){if((r=n(t.substr(e,2)))<917601||r>917626)return!1;s+=1,e+=2}return 917631===n(t.substr(e,2))},h.isVariationSelector=function(t){return 65039===t},h.BLACK_FLAG_CODE_POINT=i;var l={addChars:function(t){if(t){var e;this.chars||(this.chars=[]);var i,r,s=t.length,a=this.chars.length;for(e=0;e0&&(p=!1),p){var f=createTag("style");f.setAttribute("f-forigin",r[i].fOrigin),f.setAttribute("f-origin",r[i].origin),f.setAttribute("f-family",r[i].fFamily),f.type="text/css",f.innerText="@font-face {font-family: "+r[i].fFamily+"; font-style: normal; src: url('"+r[i].fPath+"');}",e.appendChild(f)}}else if("g"===r[i].fOrigin||1===r[i].origin){for(h=document.querySelectorAll('link[f-forigin="g"], link[f-origin="1"]'),l=0;lt?!0!==this.isInRange&&(this.globalData._mdf=!0,this._mdf=!0,this.isInRange=!0,this.show()):!1!==this.isInRange&&(this.globalData._mdf=!0,this.isInRange=!1,this.hide())},renderRenderable:function(){var t,e=this.renderableComponents.length;for(t=0;t.1)&&this.audio.seek(this._currentTime/this.globalData.frameRate):(this.audio.play(),this.audio.seek(this._currentTime/this.globalData.frameRate),this._isPlaying=!0))},AudioElement.prototype.show=function(){},AudioElement.prototype.hide=function(){this.audio.pause(),this._isPlaying=!1},AudioElement.prototype.pause=function(){this.audio.pause(),this._isPlaying=!1,this._canPlay=!1},AudioElement.prototype.resume=function(){this._canPlay=!0},AudioElement.prototype.setRate=function(t){this.audio.rate(t)},AudioElement.prototype.volume=function(t){this._volumeMultiplier=t,this._previousVolume=t*this._volume,this.audio.volume(this._previousVolume)},AudioElement.prototype.getBaseElement=function(){return null},AudioElement.prototype.destroy=function(){},AudioElement.prototype.sourceRectAtTime=function(){},AudioElement.prototype.initExpressions=function(){},BaseRenderer.prototype.checkLayers=function(t){var e,i,r=this.layers.length;for(this.completeLayers=!0,e=r-1;e>=0;e-=1)this.elements[e]||(i=this.layers[e]).ip-i.st<=t-this.layers[e].st&&i.op-i.st>t-this.layers[e].st&&this.buildItem(e),this.completeLayers=!!this.elements[e]&&this.completeLayers;this.checkPendingElements()},BaseRenderer.prototype.createItem=function(t){switch(t.ty){case 2:return this.createImage(t);case 0:return this.createComp(t);case 1:return this.createSolid(t);case 3:default:return this.createNull(t);case 4:return this.createShape(t);case 5:return this.createText(t);case 6:return this.createAudio(t);case 13:return this.createCamera(t);case 15:return this.createFootage(t)}},BaseRenderer.prototype.createCamera=function(){throw new Error("You're using a 3d camera. Try the html renderer.")},BaseRenderer.prototype.createAudio=function(t){return new AudioElement(t,this.globalData,this)},BaseRenderer.prototype.createFootage=function(t){return new FootageElement(t,this.globalData,this)},BaseRenderer.prototype.buildAllItems=function(){var t,e=this.layers.length;for(t=0;t0&&(this.maskElement.setAttribute("id",y),this.element.maskedElement.setAttribute(v,"url("+getLocationHref()+"#"+y+")"),a.appendChild(this.maskElement)),this.viewData.length&&this.element.addRenderableComponent(this)}TransformElement.prototype={initTransform:function(){var t=new Matrix;this.finalTransform={mProp:this.data.ks?TransformPropertyFactory.getTransformProperty(this,this.data.ks,this):{o:0},_matMdf:!1,_localMatMdf:!1,_opMdf:!1,mat:t,localMat:t,localOpacity:1},this.data.ao&&(this.finalTransform.mProp.autoOriented=!0),this.data.ty},renderTransform:function(){if(this.finalTransform._opMdf=this.finalTransform.mProp.o._mdf||this._isFirstFrame,this.finalTransform._matMdf=this.finalTransform.mProp._mdf||this._isFirstFrame,this.hierarchy){var t,e=this.finalTransform.mat,i=0,r=this.hierarchy.length;if(!this.finalTransform._matMdf)for(;i1&&(a+=" C"+e.o[r-1][0]+","+e.o[r-1][1]+" "+e.i[0][0]+","+e.i[0][1]+" "+e.v[0][0]+","+e.v[0][1]),i.lastPath!==a){var n="";i.elem&&(e.c&&(n=t.inv?this.solidPath+a:a),i.elem.setAttribute("d",n)),i.lastPath=a}},MaskElement.prototype.destroy=function(){this.element=null,this.globalData=null,this.maskElement=null,this.data=null,this.masksProperties=null};var filtersFactory=function(){var t={};return t.createFilter=function(t,e){var i=createNS("filter");i.setAttribute("id",t),!0!==e&&(i.setAttribute("filterUnits","objectBoundingBox"),i.setAttribute("x","0%"),i.setAttribute("y","0%"),i.setAttribute("width","100%"),i.setAttribute("height","100%"));return i},t.createAlphaToLuminanceFilter=function(){var t=createNS("feColorMatrix");return t.setAttribute("type","matrix"),t.setAttribute("color-interpolation-filters","sRGB"),t.setAttribute("values","0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1"),t},t}(),featureSupport=function(){var t={maskType:!0,svgLumaHidden:!0,offscreenCanvas:"undefined"!=typeof OffscreenCanvas};return(/MSIE 10/i.test(navigator.userAgent)||/MSIE 9/i.test(navigator.userAgent)||/rv:11.0/i.test(navigator.userAgent)||/Edge\/\d./i.test(navigator.userAgent))&&(t.maskType=!1),/firefox/i.test(navigator.userAgent)&&(t.svgLumaHidden=!1),t}(),registeredEffects$1={},idPrefix="filter_result_";function SVGEffects(t){var e,i,r="SourceGraphic",s=t.data.ef?t.data.ef.length:0,a=createElementID(),n=filtersFactory.createFilter(a,!0),o=0;for(this.filters=[],e=0;e=0&&!this.shapeModifiers[t].processShapes(this._isFirstFrame);t-=1);}},searchProcessedElement:function(t){for(var e=this.processedElements,i=0,r=e.length;i.01)return!1;i+=1}return!0},GradientProperty.prototype.checkCollapsable=function(){if(this.o.length/2!=this.c.length/4)return!1;if(this.data.k.k[0].s)for(var t=0,e=this.data.k.k.length;t0;)h=r.transformers[d].mProps._mdf||h,c-=1,d-=1;if(h)for(c=y-r.styles[p].lvl,d=r.transformers.length-1;c>0;)m.multiply(r.transformers[d].mProps.v),c-=1,d-=1}else m=t;if(n=(f=r.sh.paths)._length,h){for(o="",a=0;a=1?v=.99:v<=-1&&(v=-.99);var b=o*v,x=Math.cos(g+e.a.v)*b+p[0],P=Math.sin(g+e.a.v)*b+p[1];h.setAttribute("fx",x),h.setAttribute("fy",P),l&&!e.g._collapsable&&(e.of.setAttribute("fx",x),e.of.setAttribute("fy",P))}}function h(t,e,i){var r=e.style,s=e.d;s&&(s._mdf||i)&&s.dashStr&&(r.pElem.setAttribute("stroke-dasharray",s.dashStr),r.pElem.setAttribute("stroke-dashoffset",s.dashoffset[0])),e.c&&(e.c._mdf||i)&&r.pElem.setAttribute("stroke","rgb("+bmFloor(e.c.v[0])+","+bmFloor(e.c.v[1])+","+bmFloor(e.c.v[2])+")"),(e.o._mdf||i)&&r.pElem.setAttribute("stroke-opacity",e.o.v),(e.w._mdf||i)&&(r.pElem.setAttribute("stroke-width",e.w.v),r.msElem&&r.msElem.setAttribute("stroke-width",e.w.v))}return{createRenderFunction:function(t){switch(t.ty){case"fl":return a;case"gf":return o;case"gs":return n;case"st":return h;case"sh":case"el":case"rc":case"sr":return s;case"tr":return i;case"no":return r;default:return null}}}}();function SVGShapeElement(t,e,i){this.shapes=[],this.shapesData=t.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.initElement(t,e,i),this.prevViewData=[]}function LetterProps(t,e,i,r,s,a){this.o=t,this.sw=e,this.sc=i,this.fc=r,this.m=s,this.p=a,this._mdf={o:!0,sw:!!e,sc:!!i,fc:!!r,m:!0,p:!0}}function TextProperty(t,e){this._frameId=initialDefaultFrame,this.pv="",this.v="",this.kf=!1,this._isFirstFrame=!0,this._mdf=!1,e.d&&e.d.sid&&(e.d=t.globalData.slotManager.getProp(e.d)),this.data=e,this.elem=t,this.comp=this.elem.comp,this.keysIndex=0,this.canResize=!1,this.minimumFontSize=1,this.effectsSequence=[],this.currentData={ascent:0,boxWidth:this.defaultBoxWidth,f:"",fStyle:"",fWeight:"",fc:"",j:"",justifyOffset:"",l:[],lh:0,lineWidths:[],ls:"",of:"",s:"",sc:"",sw:0,t:0,tr:0,sz:0,ps:null,fillColorAnim:!1,strokeColorAnim:!1,strokeWidthAnim:!1,yOffset:0,finalSize:0,finalText:[],finalLineHeight:0,__complete:!1},this.copyData(this.currentData,this.data.d.k[0].s),this.searchProperty()||this.completeTextData(this.currentData)}extendPrototype([BaseElement,TransformElement,SVGBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableDOMElement],SVGShapeElement),SVGShapeElement.prototype.initSecondaryElement=function(){},SVGShapeElement.prototype.identityMatrix=new Matrix,SVGShapeElement.prototype.buildExpressionInterface=function(){},SVGShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes()},SVGShapeElement.prototype.filterUniqueShapes=function(){var t,e,i,r,s=this.shapes.length,a=this.stylesList.length,n=[],o=!1;for(i=0;i1&&o&&this.setShapesAsAnimated(n)}},SVGShapeElement.prototype.setShapesAsAnimated=function(t){var e,i=t.length;for(e=0;e=0;o-=1){if((m=this.searchProcessedElement(t[o]))?e[o]=i[m-1]:t[o]._render=n,"fl"===t[o].ty||"st"===t[o].ty||"gf"===t[o].ty||"gs"===t[o].ty||"no"===t[o].ty)m?e[o].style.closed=!1:e[o]=this.createStyleElement(t[o],s),t[o]._render&&e[o].style.pElem.parentNode!==r&&r.appendChild(e[o].style.pElem),u.push(e[o].style);else if("gr"===t[o].ty){if(m)for(l=e[o].it.length,h=0;h1,this.kf&&this.addEffect(this.getKeyframeValue.bind(this)),this.kf},TextProperty.prototype.addEffect=function(t){this.effectsSequence.push(t),this.elem.addDynamicProperty(this)},TextProperty.prototype.getValue=function(t){if(this.elem.globalData.frameId!==this.frameId&&this.effectsSequence.length||t){this.currentData.t=this.data.d.k[this.keysIndex].s.t;var e=this.currentData,i=this.keysIndex;if(this.lock)this.setCurrentData(this.currentData);else{var r;this.lock=!0,this._mdf=!1;var s=this.effectsSequence.length,a=t||this.data.d.k[this.keysIndex].s;for(r=0;re);)i+=1;return this.keysIndex!==i&&(this.keysIndex=i),this.data.d.k[this.keysIndex].s},TextProperty.prototype.buildFinalText=function(t){for(var e,i,r=[],s=0,a=t.length,n=!1,o=!1,h="";s=55296&&e<=56319?FontManager.isRegionalFlag(t,s)?h=t.substr(s,14):(i=t.charCodeAt(s+1))>=56320&&i<=57343&&(FontManager.isModifier(e,i)?(h=t.substr(s,2),n=!0):h=FontManager.isFlagEmoji(t.substr(s,4))?t.substr(s,4):t.substr(s,2)):e>56319?(i=t.charCodeAt(s+1),FontManager.isVariationSelector(e)&&(n=!0)):FontManager.isZeroWidthJoiner(e)&&(n=!0,o=!0),n?(r[r.length-1]+=h,n=!1):r.push(h),s+=h.length;return r},TextProperty.prototype.completeTextData=function(t){t.__complete=!0;var e,i,r,s,a,n,o,h=this.elem.globalData.fontManager,l=this.data,p=[],f=0,m=l.m.g,c=0,d=0,u=0,y=[],g=0,v=0,b=h.getFontByName(t.f),x=0,P=getFontProperties(b);t.fWeight=P.weight,t.fStyle=P.style,t.finalSize=t.s,t.finalText=this.buildFinalText(t.t),i=t.finalText.length,t.finalLineHeight=t.lh;var E,S=t.tr/1e3*t.finalSize;if(t.sz)for(var C,_,A=!0,T=t.sz[0],M=t.sz[1];A;){C=0,g=0,i=(_=this.buildFinalText(t.t)).length,S=t.tr/1e3*t.finalSize;var k=-1;for(e=0;eT&&" "!==_[e]?(-1===k?i+=1:e=k,C+=t.finalLineHeight||1.2*t.finalSize,_.splice(e,k===e?1:0,"\r"),k=-1,g=0):(g+=x,g+=S);C+=b.ascent*t.finalSize/100,this.canResize&&t.finalSize>this.minimumFontSize&&Mv?g:v,g=-2*S,s="",r=!0,u+=1):s=D,h.chars?(o=h.getCharData(D,b.fStyle,h.getFontByName(t.f).fFamily),x=r?0:o.w*t.finalSize/100):x=h.measureText(s,t.f,t.finalSize)," "===D?F+=x+S:(g+=x+S+F,F=0),p.push({l:x,an:x,add:c,n:r,anIndexes:[],val:s,line:u,animatorJustifyOffset:0}),2==m){if(c+=x,""===s||" "===s||e===i-1){for(""!==s&&" "!==s||(c-=x);d<=e;)p[d].an=c,p[d].ind=f,p[d].extra=x,d+=1;f+=1,c=0}}else if(3==m){if(c+=x,""===s||e===i-1){for(""===s&&(c-=x);d<=e;)p[d].an=c,p[d].ind=f,p[d].extra=x,d+=1;c=0,f+=1}}else p[f].ind=f,p[f].extra=0,f+=1;if(t.l=p,v=g>v?g:v,y.push(g),t.sz)t.boxWidth=t.sz[0],t.justifyOffset=0;else switch(t.boxWidth=v,t.j){case 1:t.justifyOffset=-t.boxWidth;break;case 2:t.justifyOffset=-t.boxWidth/2;break;default:t.justifyOffset=0}t.lineWidths=y;var w,I,V,B,R=l.a;n=R.length;var L=[];for(a=0;a0?s=this.ne.v/100:a=-this.ne.v/100,this.xe.v>0?n=1-this.xe.v/100:o=1+this.xe.v/100;var h=BezierFactory.getBezierEasing(s,a,n,o).get,l=0,p=this.finalS,f=this.finalE,m=this.data.sh;if(2===m)l=h(l=f===p?r>=f?1:0:t(0,e(.5/(f-p)+(r-p)/(f-p),1)));else if(3===m)l=h(l=f===p?r>=f?0:1:1-t(0,e(.5/(f-p)+(r-p)/(f-p),1)));else if(4===m)f===p?l=0:(l=t(0,e(.5/(f-p)+(r-p)/(f-p),1)))<.5?l*=2:l=1-2*(l-.5),l=h(l);else if(5===m){if(f===p)l=0;else{var c=f-p,d=-c/2+(r=e(t(0,r+.5-p),f-p)),u=c/2;l=Math.sqrt(1-d*d/(u*u))}l=h(l)}else 6===m?(f===p?l=0:(r=e(t(0,r+.5-p),f-p),l=(1+Math.cos(Math.PI+2*Math.PI*r/(f-p)))/2),l=h(l)):(r>=i(p)&&(l=t(0,e(r-p<0?e(f,1)-(p-r):f-r,1))),l=h(l));if(100!==this.sm.v){var y=.01*this.sm.v;0===y&&(y=1e-8);var g=.5-.5*y;l1&&(l=1)}return l*this.a.v},getValue:function(t){this.iterateDynamicProperties(),this._mdf=t||this._mdf,this._currentTextLength=this.elem.textProperty.currentData.l.length||0,t&&2===this.data.r&&(this.e.v=this._currentTextLength);var e=2===this.data.r?1:100/this.data.totalChars,i=this.o.v/e,r=this.s.v/e+i,s=this.e.v/e+i;if(r>s){var a=r;r=s,s=a}this.finalS=r,this.finalE=s}},extendPrototype([DynamicPropertyContainer],r),{getTextSelectorProp:function(t,e,i){return new r(t,e,i)}}}();function TextAnimatorDataProperty(t,e,i){var r={propType:!1},s=PropertyFactory.getProp,a=e.a;this.a={r:a.r?s(t,a.r,0,degToRads,i):r,rx:a.rx?s(t,a.rx,0,degToRads,i):r,ry:a.ry?s(t,a.ry,0,degToRads,i):r,sk:a.sk?s(t,a.sk,0,degToRads,i):r,sa:a.sa?s(t,a.sa,0,degToRads,i):r,s:a.s?s(t,a.s,1,.01,i):r,a:a.a?s(t,a.a,1,0,i):r,o:a.o?s(t,a.o,0,.01,i):r,p:a.p?s(t,a.p,1,0,i):r,sw:a.sw?s(t,a.sw,0,0,i):r,sc:a.sc?s(t,a.sc,1,0,i):r,fc:a.fc?s(t,a.fc,1,0,i):r,fh:a.fh?s(t,a.fh,0,0,i):r,fs:a.fs?s(t,a.fs,0,.01,i):r,fb:a.fb?s(t,a.fb,0,.01,i):r,t:a.t?s(t,a.t,0,0,i):r},this.s=TextSelectorProp.getTextSelectorProp(t,e.s,i),this.s.t=e.s.t}function TextAnimatorProperty(t,e,i){this._isFirstFrame=!0,this._hasMaskedPath=!1,this._frameId=-1,this._textData=t,this._renderType=e,this._elem=i,this._animatorsData=createSizedArray(this._textData.a.length),this._pathData={},this._moreOptions={alignment:{}},this.renderedLetters=[],this.lettersChangedFlag=!1,this.initDynamicPropertyContainer(i)}function ITextElement(){}TextAnimatorProperty.prototype.searchProperties=function(){var t,e,i=this._textData.a.length,r=PropertyFactory.getProp;for(t=0;t=o+ot||!d?(v=(o+ot-l)/h.partialLength,G=c.point[0]+(h.point[0]-c.point[0])*v,z=c.point[1]+(h.point[1]-c.point[1])*v,C.translate(-P[0]*T[s].an*.005,-P[1]*B*.01),p=!1):d&&(l+=h.partialLength,(f+=1)>=d.length&&(f=0,u[m+=1]?d=u[m].points:x.v.c?(f=0,d=u[m=0].points):(l-=h.partialLength,d=null)),d&&(c=h,y=(h=d[f]).partialLength));L=T[s].an/2-T[s].add,C.translate(-L,0,0)}else L=T[s].an/2-T[s].add,C.translate(-L,0,0),C.translate(-P[0]*T[s].an*.005,-P[1]*B*.01,0);for(F=0;Ft?this.textSpans[t].span:createNS(h?"g":"text"),y<=t){if(n.setAttribute("stroke-linecap","butt"),n.setAttribute("stroke-linejoin","round"),n.setAttribute("stroke-miterlimit","4"),this.textSpans[t].span=n,h){var g=createNS("g");n.appendChild(g),this.textSpans[t].childSpan=g}this.textSpans[t].span=n,this.layerElement.appendChild(n)}n.style.display="inherit"}if(l.reset(),p&&(o[t].n&&(f=-d,m+=i.yOffset,m+=c?1:0,c=!1),this.applyTextPropertiesToMatrix(i,l,o[t].line,f,m),f+=o[t].l||0,f+=d),h){var v;if(1===(u=this.globalData.fontManager.getCharData(i.finalText[t],r.fStyle,this.globalData.fontManager.getFontByName(i.f).fFamily)).t)v=new SVGCompElement(u.data,this.globalData,this);else{var b=emptyShapeData;u.data&&u.data.shapes&&(b=this.buildShapeData(u.data,i.finalSize)),v=new SVGShapeElement(b,this.globalData,this)}if(this.textSpans[t].glyph){var x=this.textSpans[t].glyph;this.textSpans[t].childSpan.removeChild(x.layerElement),x.destroy()}this.textSpans[t].glyph=v,v._debug=!0,v.prepareFrame(0),v.renderFrame(),this.textSpans[t].childSpan.appendChild(v.layerElement),1===u.t&&this.textSpans[t].childSpan.setAttribute("transform","scale("+i.finalSize/100+","+i.finalSize/100+")")}else p&&n.setAttribute("transform","translate("+l.props[12]+","+l.props[13]+")"),n.textContent=o[t].val,n.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve")}p&&n&&n.setAttribute("d","")}else{var P=this.textContainer,E="start";switch(i.j){case 1:E="end";break;case 2:E="middle";break;default:E="start"}P.setAttribute("text-anchor",E),P.setAttribute("letter-spacing",d);var S=this.buildTextContents(i.finalText);for(e=S.length,m=i.ps?i.ps[1]+i.ascent:0,t=0;t=0;e-=1)(this.completeLayers||this.elements[e])&&this.elements[e].prepareFrame(t-this.layers[e].st);if(this.globalData._mdf)for(e=0;e=0;i-=1)(this.completeLayers||this.elements[i])&&(this.elements[i].prepareFrame(this.renderedFrame-this.layers[i].st),this.elements[i]._mdf&&(this._mdf=!0))}},ICompElement.prototype.renderInnerContent=function(){var t,e=this.layers.length;for(t=0;t=0;i-=1)t.finalTransform.multiply(t.transforms[i].transform.mProps.v);t._mdf=s},processSequences:function(t){var e,i=this.sequenceList.length;for(e=0;e=1){this.buffers=[];var t=this.globalData.canvasContext,e=assetLoader.createCanvas(t.canvas.width,t.canvas.height);this.buffers.push(e);var i=assetLoader.createCanvas(t.canvas.width,t.canvas.height);this.buffers.push(i),this.data.tt>=3&&!document._isProxy&&assetLoader.loadLumaCanvas()}this.canvasContext=this.globalData.canvasContext,this.transformCanvas=this.globalData.transformCanvas,this.renderableEffectsManager=new CVEffects(this),this.searchEffectTransforms()},createContent:function(){},setBlendMode:function(){var t=this.globalData;if(t.blendMode!==this.data.bm){t.blendMode=this.data.bm;var e=getBlendMode(this.data.bm);t.canvasContext.globalCompositeOperation=e}},createRenderableComponents:function(){this.maskManager=new CVMaskElement(this.data,this),this.transformEffects=this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT)},hideElement:function(){this.hidden||this.isInRange&&!this.isTransparent||(this.hidden=!0)},showElement:function(){this.isInRange&&!this.isTransparent&&(this.hidden=!1,this._isFirstFrame=!0,this.maskManager._isFirstFrame=!0)},clearCanvas:function(t){t.clearRect(this.transformCanvas.tx,this.transformCanvas.ty,this.transformCanvas.w*this.transformCanvas.sx,this.transformCanvas.h*this.transformCanvas.sy)},prepareLayer:function(){if(this.data.tt>=1){var t=this.buffers[0].getContext("2d");this.clearCanvas(t),t.drawImage(this.canvasContext.canvas,0,0),this.currentTransform=this.canvasContext.getTransform(),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform)}},exitLayer:function(){if(this.data.tt>=1){var t=this.buffers[1],e=t.getContext("2d");if(this.clearCanvas(e),e.drawImage(this.canvasContext.canvas,0,0),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform),this.comp.getElementById("tp"in this.data?this.data.tp:this.data.ind-1).renderFrame(!0),this.canvasContext.setTransform(1,0,0,1,0,0),this.data.tt>=3&&!document._isProxy){var i=assetLoader.getLumaCanvas(this.canvasContext.canvas);i.getContext("2d").drawImage(this.canvasContext.canvas,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.drawImage(i,0,0)}this.canvasContext.globalCompositeOperation=operationsMap[this.data.tt],this.canvasContext.drawImage(t,0,0),this.canvasContext.globalCompositeOperation="destination-over",this.canvasContext.drawImage(this.buffers[0],0,0),this.canvasContext.setTransform(this.currentTransform),this.canvasContext.globalCompositeOperation="source-over"}},renderFrame:function(t){if(!this.hidden&&!this.data.hd&&(1!==this.data.td||t)){this.renderTransform(),this.renderRenderable(),this.renderLocalTransform(),this.setBlendMode();var e=0===this.data.ty;this.prepareLayer(),this.globalData.renderer.save(e),this.globalData.renderer.ctxTransform(this.finalTransform.localMat.props),this.globalData.renderer.ctxOpacity(this.finalTransform.localOpacity),this.renderInnerContent(),this.globalData.renderer.restore(e),this.exitLayer(),this.maskManager.hasMasks&&this.globalData.renderer.restore(!0),this._isFirstFrame&&(this._isFirstFrame=!1)}},destroy:function(){this.canvasContext=null,this.data=null,this.globalData=null,this.maskManager.destroy()},mHelper:new Matrix},CVBaseElement.prototype.hide=CVBaseElement.prototype.hideElement,CVBaseElement.prototype.show=CVBaseElement.prototype.showElement,CVShapeData.prototype.setAsAnimated=SVGShapeData.prototype.setAsAnimated,extendPrototype([BaseElement,TransformElement,CVBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableElement],CVShapeElement),CVShapeElement.prototype.initElement=RenderableDOMElement.prototype.initElement,CVShapeElement.prototype.transformHelper={opacity:1,_opMdf:!1},CVShapeElement.prototype.dashResetter=[],CVShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,!0,[])},CVShapeElement.prototype.createStyleElement=function(t,e){var i={data:t,type:t.ty,preTransforms:this.transformsManager.addTransformSequence(e),transforms:[],elements:[],closed:!0===t.hd},r={};if("fl"===t.ty||"st"===t.ty?(r.c=PropertyFactory.getProp(this,t.c,1,255,this),r.c.k||(i.co="rgb("+bmFloor(r.c.v[0])+","+bmFloor(r.c.v[1])+","+bmFloor(r.c.v[2])+")")):"gf"!==t.ty&&"gs"!==t.ty||(r.s=PropertyFactory.getProp(this,t.s,1,null,this),r.e=PropertyFactory.getProp(this,t.e,1,null,this),r.h=PropertyFactory.getProp(this,t.h||{k:0},0,.01,this),r.a=PropertyFactory.getProp(this,t.a||{k:0},0,degToRads,this),r.g=new GradientProperty(this,t.g,this)),r.o=PropertyFactory.getProp(this,t.o,0,.01,this),"st"===t.ty||"gs"===t.ty){if(i.lc=lineCapEnum[t.lc||2],i.lj=lineJoinEnum[t.lj||2],1==t.lj&&(i.ml=t.ml),r.w=PropertyFactory.getProp(this,t.w,0,null,this),r.w.k||(i.wi=r.w.v),t.d){var s=new DashProperty(this,t.d,"canvas",this);r.d=s,r.d.k||(i.da=r.d.dashArray,i.do=r.d.dashoffset[0])}}else i.r=2===t.r?"evenodd":"nonzero";return this.stylesList.push(i),r.style=i,r},CVShapeElement.prototype.createGroupElement=function(){return{it:[],prevViewData:[]}},CVShapeElement.prototype.createTransformElement=function(t){return{transform:{opacity:1,_opMdf:!1,key:this.transformsManager.getNewKey(),op:PropertyFactory.getProp(this,t.o,0,.01,this),mProps:TransformPropertyFactory.getTransformProperty(this,t,this)}}},CVShapeElement.prototype.createShapeElement=function(t){var e=new CVShapeData(this,t,this.stylesList,this.transformsManager);return this.shapes.push(e),this.addShapeToModifiers(e),e},CVShapeElement.prototype.reloadShapes=function(){var t;this._isFirstFrame=!0;var e=this.itemsData.length;for(t=0;t=0;a-=1){if((h=this.searchProcessedElement(t[a]))?e[a]=i[h-1]:t[a]._shouldRender=r,"fl"===t[a].ty||"st"===t[a].ty||"gf"===t[a].ty||"gs"===t[a].ty)h?e[a].style.closed=!1:e[a]=this.createStyleElement(t[a],d),m.push(e[a].style);else if("gr"===t[a].ty){if(h)for(o=e[a].it.length,n=0;n=0;s-=1)"tr"===e[s].ty?(a=i[s].transform,this.renderShapeTransform(t,a)):"sh"===e[s].ty||"el"===e[s].ty||"rc"===e[s].ty||"sr"===e[s].ty?this.renderPath(e[s],i[s]):"fl"===e[s].ty?this.renderFill(e[s],i[s],a):"st"===e[s].ty?this.renderStroke(e[s],i[s],a):"gf"===e[s].ty||"gs"===e[s].ty?this.renderGradientFill(e[s],i[s],a):"gr"===e[s].ty?this.renderShape(a,e[s].it,i[s].it):e[s].ty;r&&this.drawLayer()},CVShapeElement.prototype.renderStyledShape=function(t,e){if(this._isFirstFrame||e._mdf||t.transforms._mdf){var i,r,s,a=t.trNodes,n=e.paths,o=n._length;a.length=0;var h=t.transforms.finalTransform;for(s=0;s=1?f=.99:f<=-1&&(f=-.99);var m=l*f,c=Math.cos(p+e.a.v)*m+o[0],d=Math.sin(p+e.a.v)*m+o[1];r=n.createRadialGradient(c,d,0,o[0],o[1],l)}var u=t.g.p,y=e.g.c,g=1;for(a=0;ao&&"xMidYMid slice"===h||ns&&"meet"===o||as&&"slice"===o)?(i-this.transformCanvas.w*(r/this.transformCanvas.h))/2*this.renderConfig.dpr:"xMax"===l&&(as&&"slice"===o)?(i-this.transformCanvas.w*(r/this.transformCanvas.h))*this.renderConfig.dpr:0,this.transformCanvas.ty="YMid"===p&&(a>s&&"meet"===o||as&&"meet"===o||a=0;t-=1)this.elements[t]&&this.elements[t].destroy&&this.elements[t].destroy();this.elements.length=0,this.globalData.canvasContext=null,this.animationItem.container=null,this.destroyed=!0},CanvasRendererBase.prototype.renderFrame=function(t,e){if((this.renderedFrame!==t||!0!==this.renderConfig.clearCanvas||e)&&!this.destroyed&&-1!==t){var i;this.renderedFrame=t,this.globalData.frameNum=t-this.animationItem._isFirstFrame,this.globalData.frameId+=1,this.globalData._mdf=!this.renderConfig.clearCanvas||e,this.globalData.projectInterface.currentFrame=t;var r=this.layers.length;for(this.completeLayers||this.checkLayers(t),i=r-1;i>=0;i-=1)(this.completeLayers||this.elements[i])&&this.elements[i].prepareFrame(t-this.layers[i].st);if(this.globalData._mdf){for(!0===this.renderConfig.clearCanvas?this.canvasContext.clearRect(0,0,this.transformCanvas.w,this.transformCanvas.h):this.save(),i=r-1;i>=0;i-=1)(this.completeLayers||this.elements[i])&&this.elements[i].renderFrame();!0!==this.renderConfig.clearCanvas&&this.restore()}}},CanvasRendererBase.prototype.buildItem=function(t){var e=this.elements;if(!e[t]&&99!==this.layers[t].ty){var i=this.createItem(this.layers[t],this,this.globalData);e[t]=i,i.initExpressions()}},CanvasRendererBase.prototype.checkPendingElements=function(){for(;this.pendingElements.length;){this.pendingElements.pop().checkParenting()}},CanvasRendererBase.prototype.hide=function(){this.animationItem.container.style.display="none"},CanvasRendererBase.prototype.show=function(){this.animationItem.container.style.display="block"},CVContextData.prototype.duplicate=function(){var t=2*this._length,e=0;for(e=this._length;e=0;t-=1)(this.completeLayers||this.elements[t])&&this.elements[t].renderFrame()},CVCompElement.prototype.destroy=function(){var t;for(t=this.layers.length-1;t>=0;t-=1)this.elements[t]&&this.elements[t].destroy();this.layers=null,this.elements=null},CVCompElement.prototype.createComp=function(t){return new CVCompElement(t,this.globalData,this)},extendPrototype([CanvasRendererBase],CanvasRenderer),CanvasRenderer.prototype.createComp=function(t){return new CVCompElement(t,this.globalData,this)},HBaseElement.prototype={checkBlendMode:function(){},initRendererElement:function(){this.baseElement=createTag(this.data.tg||"div"),this.data.hasMask?(this.svgElement=createNS("svg"),this.layerElement=createNS("g"),this.maskedElement=this.layerElement,this.svgElement.appendChild(this.layerElement),this.baseElement.appendChild(this.svgElement)):this.layerElement=this.baseElement,styleDiv(this.baseElement)},createContainerElements:function(){this.renderableEffectsManager=new CVEffects(this),this.transformedElement=this.baseElement,this.maskedElement=this.layerElement,this.data.ln&&this.layerElement.setAttribute("id",this.data.ln),this.data.cl&&this.layerElement.setAttribute("class",this.data.cl),0!==this.data.bm&&this.setBlendMode()},renderElement:function(){var t=this.transformedElement?this.transformedElement.style:{};if(this.finalTransform._matMdf){var e=this.finalTransform.mat.toCSS();t.transform=e,t.webkitTransform=e}this.finalTransform._opMdf&&(t.opacity=this.finalTransform.mProp.o.v)},renderFrame:function(){this.data.hd||this.hidden||(this.renderTransform(),this.renderRenderable(),this.renderElement(),this.renderInnerContent(),this._isFirstFrame&&(this._isFirstFrame=!1))},destroy:function(){this.layerElement=null,this.transformedElement=null,this.matteElement&&(this.matteElement=null),this.maskManager&&(this.maskManager.destroy(),this.maskManager=null)},createRenderableComponents:function(){this.maskManager=new MaskElement(this.data,this,this.globalData)},addEffects:function(){},setMatte:function(){}},HBaseElement.prototype.getBaseElement=SVGBaseElement.prototype.getBaseElement,HBaseElement.prototype.destroyBaseElement=HBaseElement.prototype.destroy,HBaseElement.prototype.buildElementParenting=BaseRenderer.prototype.buildElementParenting,extendPrototype([BaseElement,TransformElement,HBaseElement,HierarchyElement,FrameElement,RenderableDOMElement],HSolidElement),HSolidElement.prototype.createContent=function(){var t;this.data.hasMask?((t=createNS("rect")).setAttribute("width",this.data.sw),t.setAttribute("height",this.data.sh),t.setAttribute("fill",this.data.sc),this.svgElement.setAttribute("width",this.data.sw),this.svgElement.setAttribute("height",this.data.sh)):((t=createTag("div")).style.width=this.data.sw+"px",t.style.height=this.data.sh+"px",t.style.backgroundColor=this.data.sc),this.layerElement.appendChild(t)},extendPrototype([BaseElement,TransformElement,HSolidElement,SVGShapeElement,HBaseElement,HierarchyElement,FrameElement,RenderableElement],HShapeElement),HShapeElement.prototype._renderShapeFrame=HShapeElement.prototype.renderInnerContent,HShapeElement.prototype.createContent=function(){var t;if(this.baseElement.style.fontSize=0,this.data.hasMask)this.layerElement.appendChild(this.shapesContainer),t=this.svgElement;else{t=createNS("svg");var e=this.comp.data?this.comp.data:this.globalData.compSize;t.setAttribute("width",e.w),t.setAttribute("height",e.h),t.appendChild(this.shapesContainer),this.layerElement.appendChild(t)}this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.shapesContainer,0,[],!0),this.filterUniqueShapes(),this.shapeCont=t},HShapeElement.prototype.getTransformedPoint=function(t,e){var i,r=t.length;for(i=0;i0&&o<1&&f[m].push(this.calculateF(o,t,e,i,r,m)):(h=a*a-4*n*s)>=0&&((l=(-a+bmSqrt(h))/(2*s))>0&&l<1&&f[m].push(this.calculateF(l,t,e,i,r,m)),(p=(-a-bmSqrt(h))/(2*s))>0&&p<1&&f[m].push(this.calculateF(p,t,e,i,r,m))));this.shapeBoundingBox.left=bmMin.apply(null,f[0]),this.shapeBoundingBox.top=bmMin.apply(null,f[1]),this.shapeBoundingBox.right=bmMax.apply(null,f[0]),this.shapeBoundingBox.bottom=bmMax.apply(null,f[1])},HShapeElement.prototype.calculateF=function(t,e,i,r,s,a){return bmPow(1-t,3)*e[a]+3*bmPow(1-t,2)*t*i[a]+3*(1-t)*bmPow(t,2)*r[a]+bmPow(t,3)*s[a]},HShapeElement.prototype.calculateBoundingBox=function(t,e){var i,r=t.length;for(i=0;ii&&(i=s)}i*=t.mult}else i=t.v*t.mult;e.x-=i,e.xMax+=i,e.y-=i,e.yMax+=i},HShapeElement.prototype.currentBoxContains=function(t){return this.currentBBox.x<=t.x&&this.currentBBox.y<=t.y&&this.currentBBox.width+this.currentBBox.x>=t.x+t.width&&this.currentBBox.height+this.currentBBox.y>=t.y+t.height},HShapeElement.prototype.renderInnerContent=function(){if(this._renderShapeFrame(),!this.hidden&&(this._isFirstFrame||this._mdf)){var t=this.tempBoundingBox,e=999999;if(t.x=e,t.xMax=-e,t.y=e,t.yMax=-e,this.calculateBoundingBox(this.itemsData,t),t.width=t.xMax=0;t-=1){var r=this.hierarchy[t].finalTransform.mProp;this.mat.translate(-r.p.v[0],-r.p.v[1],r.p.v[2]),this.mat.rotateX(-r.or.v[0]).rotateY(-r.or.v[1]).rotateZ(r.or.v[2]),this.mat.rotateX(-r.rx.v).rotateY(-r.ry.v).rotateZ(r.rz.v),this.mat.scale(1/r.s.v[0],1/r.s.v[1],1/r.s.v[2]),this.mat.translate(r.a.v[0],r.a.v[1],r.a.v[2])}if(this.p?this.mat.translate(-this.p.v[0],-this.p.v[1],this.p.v[2]):this.mat.translate(-this.px.v,-this.py.v,this.pz.v),this.a){var s;s=this.p?[this.p.v[0]-this.a.v[0],this.p.v[1]-this.a.v[1],this.p.v[2]-this.a.v[2]]:[this.px.v-this.a.v[0],this.py.v-this.a.v[1],this.pz.v-this.a.v[2]];var a=Math.sqrt(Math.pow(s[0],2)+Math.pow(s[1],2)+Math.pow(s[2],2)),n=[s[0]/a,s[1]/a,s[2]/a],o=Math.sqrt(n[2]*n[2]+n[0]*n[0]),h=Math.atan2(n[1],o),l=Math.atan2(n[0],-n[2]);this.mat.rotateY(l).rotateX(-h)}this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v),this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]),this.mat.translate(this.globalData.compSize.w/2,this.globalData.compSize.h/2,0),this.mat.translate(0,0,this.pe.v);var p=!this._prevMat.equals(this.mat);if((p||this.pe._mdf)&&this.comp.threeDElements){var f,m,c;for(e=this.comp.threeDElements.length,t=0;t=t)return this.threeDElements[e].perspectiveElem;e+=1}return null},HybridRendererBase.prototype.createThreeDContainer=function(t,e){var i,r,s=createTag("div");styleDiv(s);var a=createTag("div");if(styleDiv(a),"3d"===e){(i=s.style).width=this.globalData.compSize.w+"px",i.height=this.globalData.compSize.h+"px";var n="50% 50%";i.webkitTransformOrigin=n,i.mozTransformOrigin=n,i.transformOrigin=n;var o="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)";(r=a.style).transform=o,r.webkitTransform=o}s.appendChild(a);var h={container:a,perspectiveElem:s,startPos:t,endPos:t,type:e};return this.threeDElements.push(h),h},HybridRendererBase.prototype.build3dContainers=function(){var t,e,i=this.layers.length,r="";for(t=0;t=0;t-=1)this.resizerElem.appendChild(this.threeDElements[t].perspectiveElem)},HybridRendererBase.prototype.addTo3dContainer=function(t,e){for(var i=0,r=this.threeDElements.length;in?(t=s/this.globalData.compSize.w,e=s/this.globalData.compSize.w,i=0,r=(a-this.globalData.compSize.h*(s/this.globalData.compSize.w))/2):(t=a/this.globalData.compSize.h,e=a/this.globalData.compSize.h,i=(s-this.globalData.compSize.w*(a/this.globalData.compSize.h))/2,r=0);var o=this.resizerElem.style;o.webkitTransform="matrix3d("+t+",0,0,0,0,"+e+",0,0,0,0,1,0,"+i+","+r+",0,1)",o.transform=o.webkitTransform},HybridRendererBase.prototype.renderFrame=SVGRenderer.prototype.renderFrame,HybridRendererBase.prototype.hide=function(){this.resizerElem.style.display="none"},HybridRendererBase.prototype.show=function(){this.resizerElem.style.display="block"},HybridRendererBase.prototype.initItems=function(){if(this.buildAllItems(),this.camera)this.camera.setup();else{var t,e=this.globalData.compSize.w,i=this.globalData.compSize.h,r=this.threeDElements.length;for(t=0;t=o;)t/=2,e/=2,i>>>=1;return(t+i)/e};return b.int32=function(){return 0|v.g(4)},b.quick=function(){return v.g(4)/4294967296},b.double=b,m(c(v.S),t),(d.pass||u||function(t,i,r,s){return s&&(s.S&&p(s,v),t.state=function(){return p(v,{})}),r?(e.random=t,i):t})(b,g,"global"in d?d.global:this==e,d.state)},m(e.random(),t)}function initialize$2(t){seedRandom([],t)}var propTypes={SHAPE:"shape"};function _typeof$1(t){return _typeof$1="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof$1(t)}var ExpressionManager=function(){var ob={},Math=BMMath,window=null,document=null,XMLHttpRequest=null,fetch=null,frames=null,_lottieGlobal={};function resetFrame(){_lottieGlobal={}}function $bm_isInstanceOfArray(t){return t.constructor===Array||t.constructor===Float32Array}function isNumerable(t,e){return"number"===t||e instanceof Number||"boolean"===t||"string"===t}function $bm_neg(t){var e=_typeof$1(t);if("number"===e||t instanceof Number||"boolean"===e)return-t;if($bm_isInstanceOfArray(t)){var i,r=t.length,s=[];for(i=0;ii){var r=i;i=e,e=r}return Math.min(Math.max(t,e),i)}function radiansToDegrees(t){return t/degToRads}var radians_to_degrees=radiansToDegrees;function degreesToRadians(t){return t*degToRads}var degrees_to_radians=radiansToDegrees,helperLengthArray=[0,0,0,0,0,0];function length(t,e){if("number"==typeof t||t instanceof Number)return e=e||0,Math.abs(t-e);var i;e||(e=helperLengthArray);var r=Math.min(t.length,e.length),s=0;for(i=0;i.5?l/(2-n-o):l/(n+o),n){case r:e=(s-a)/l+(s1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}function hslToRgb(t){var e,i,r,s=t[0],a=t[1],n=t[2];if(0===a)e=n,r=n,i=n;else{var o=n<.5?n*(1+a):n+a-n*a,h=2*n-o;e=hue2rgb(h,o,s+1/3),i=hue2rgb(h,o,s),r=hue2rgb(h,o,s-1/3)}return[e,i,r,t[3]]}function linear(t,e,i,r,s){if(void 0!==r&&void 0!==s||(r=e,s=i,e=0,i=1),i=i)return s;var n,o=i===e?0:(t-e)/(i-e);if(!r.length)return r+(s-r)*o;var h=r.length,l=createTypedArray("float32",h);for(n=0;n1){for(r=0;r1?e=1:e<0&&(e=0);var n=t(e);if($bm_isInstanceOfArray(s)){var o,h=s.length,l=createTypedArray("float32",h);for(o=0;odata.k[e].t&&tdata.k[e+1].t-t?(i=e+2,r=data.k[e+1].t):(i=e+1,r=data.k[e].t);break}}-1===i&&(i=e+1,r=data.k[e].t)}else i=0,r=0;var a={};return a.index=i,a.time=r/elem.comp.globalData.frameRate,a}function key(t){var e,i,r;if(!data.k.length||"number"==typeof data.k[0])throw new Error("The property has no keyframe at index "+t);t-=1,e={time:data.k[t].t/elem.comp.globalData.frameRate,value:[]};var s=Object.prototype.hasOwnProperty.call(data.k[t],"s")?data.k[t].s:data.k[t-1].e;for(r=s.length,i=0;il.length-1)&&(e=l.length-1),r=p-(s=l[l.length-1-e].t)),"pingpong"===t){if(Math.floor((h-s)/r)%2!=0)return this.getValueAtTime((r-(h-s)%r+s)/this.comp.globalData.frameRate,0)}else{if("offset"===t){var f=this.getValueAtTime(s/this.comp.globalData.frameRate,0),m=this.getValueAtTime(p/this.comp.globalData.frameRate,0),c=this.getValueAtTime(((h-s)%r+s)/this.comp.globalData.frameRate,0),d=Math.floor((h-s)/r);if(this.pv.length){for(n=(o=new Array(f.length)).length,a=0;a=p)return this.pv;if(i?s=p+(r=e?Math.abs(this.elem.comp.globalData.frameRate*e):Math.max(0,this.elem.data.op-p)):((!e||e>l.length-1)&&(e=l.length-1),r=(s=l[e].t)-p),"pingpong"===t){if(Math.floor((p-h)/r)%2==0)return this.getValueAtTime(((p-h)%r+p)/this.comp.globalData.frameRate,0)}else{if("offset"===t){var f=this.getValueAtTime(p/this.comp.globalData.frameRate,0),m=this.getValueAtTime(s/this.comp.globalData.frameRate,0),c=this.getValueAtTime((r-(p-h)%r+p)/this.comp.globalData.frameRate,0),d=Math.floor((p-h)/r)+1;if(this.pv.length){for(n=(o=new Array(f.length)).length,a=0;a1?(s+t-a)/(e-1):1,o=0,h=0;for(i=this.pv.length?createTypedArray("float32",this.pv.length):0;on){var p=o,f=i.c&&o===h-1?0:o+1,m=(n-l)/a[o].addedLength;r=bez.getPointInSegment(i.v[p],i.v[f],i.o[p],i.i[f],m,a[o]);break}l+=a[o].addedLength,o+=1}return r||(r=i.c?[i.v[0][0],i.v[0][1]]:[i.v[i._length-1][0],i.v[i._length-1][1]]),r},vectorOnPath:function(t,e,i){1==t?t=this.v.c:0==t&&(t=.999);var r=this.pointOnPath(t,e),s=this.pointOnPath(t+.001,e),a=s[0]-r[0],n=s[1]-r[1],o=Math.sqrt(Math.pow(a,2)+Math.pow(n,2));return 0===o?[0,0]:"tangent"===i?[a/o,n/o]:[-n/o,a/o]},tangentOnPath:function(t,e){return this.vectorOnPath(t,e,"tangent")},normalOnPath:function(t,e){return this.vectorOnPath(t,e,"normal")},setGroupProperty:expressionHelpers.setGroupProperty,getValueAtTime:expressionHelpers.getStaticValueAtTime},extendPrototype([l],o),extendPrototype([l],h),h.prototype.getValueAtTime=function(t){return this._cachingAtTime||(this._cachingAtTime={shapeValue:shapePool.clone(this.pv),lastIndex:0,lastTime:initialDefaultFrame}),t*=this.elem.globalData.frameRate,(t-=this.offsetTime)!==this._cachingAtTime.lastTime&&(this._cachingAtTime.lastIndex=this._cachingAtTime.lastTime=l?c<0?r:s:r+m*Math.pow((a-t)/c,1/i),p[f]=n,f+=1,o+=256/255;return p.join(" ")},SVGProLevelsFilter.prototype.renderFrame=function(t){if(t||this.filterManager._mdf){var e,i=this.filterManager.effectElements;this.feFuncRComposed&&(t||i[3].p._mdf||i[4].p._mdf||i[5].p._mdf||i[6].p._mdf||i[7].p._mdf)&&(e=this.getTableValue(i[3].p.v,i[4].p.v,i[5].p.v,i[6].p.v,i[7].p.v),this.feFuncRComposed.setAttribute("tableValues",e),this.feFuncGComposed.setAttribute("tableValues",e),this.feFuncBComposed.setAttribute("tableValues",e)),this.feFuncR&&(t||i[10].p._mdf||i[11].p._mdf||i[12].p._mdf||i[13].p._mdf||i[14].p._mdf)&&(e=this.getTableValue(i[10].p.v,i[11].p.v,i[12].p.v,i[13].p.v,i[14].p.v),this.feFuncR.setAttribute("tableValues",e)),this.feFuncG&&(t||i[17].p._mdf||i[18].p._mdf||i[19].p._mdf||i[20].p._mdf||i[21].p._mdf)&&(e=this.getTableValue(i[17].p.v,i[18].p.v,i[19].p.v,i[20].p.v,i[21].p.v),this.feFuncG.setAttribute("tableValues",e)),this.feFuncB&&(t||i[24].p._mdf||i[25].p._mdf||i[26].p._mdf||i[27].p._mdf||i[28].p._mdf)&&(e=this.getTableValue(i[24].p.v,i[25].p.v,i[26].p.v,i[27].p.v,i[28].p.v),this.feFuncB.setAttribute("tableValues",e)),this.feFuncA&&(t||i[31].p._mdf||i[32].p._mdf||i[33].p._mdf||i[34].p._mdf||i[35].p._mdf)&&(e=this.getTableValue(i[31].p.v,i[32].p.v,i[33].p.v,i[34].p.v,i[35].p.v),this.feFuncA.setAttribute("tableValues",e))}},extendPrototype([SVGComposableEffect],SVGDropShadowEffect),SVGDropShadowEffect.prototype.renderFrame=function(t){if(t||this.filterManager._mdf){if((t||this.filterManager.effectElements[4].p._mdf)&&this.feGaussianBlur.setAttribute("stdDeviation",this.filterManager.effectElements[4].p.v/4),t||this.filterManager.effectElements[0].p._mdf){var e=this.filterManager.effectElements[0].p.v;this.feFlood.setAttribute("flood-color",rgbToHex(Math.round(255*e[0]),Math.round(255*e[1]),Math.round(255*e[2])))}if((t||this.filterManager.effectElements[1].p._mdf)&&this.feFlood.setAttribute("flood-opacity",this.filterManager.effectElements[1].p.v/255),t||this.filterManager.effectElements[2].p._mdf||this.filterManager.effectElements[3].p._mdf){var i=this.filterManager.effectElements[3].p.v,r=(this.filterManager.effectElements[2].p.v-90)*degToRads,s=i*Math.cos(r),a=i*Math.sin(r);this.feOffset.setAttribute("dx",s),this.feOffset.setAttribute("dy",a)}}};var _svgMatteSymbols=[];function SVGMatte3Effect(t,e,i){this.initialized=!1,this.filterManager=e,this.filterElem=t,this.elem=i,i.matteElement=createNS("g"),i.matteElement.appendChild(i.layerElement),i.matteElement.appendChild(i.transformedElement),i.baseElement=i.matteElement}function SVGGaussianBlurEffect(t,e,i,r){t.setAttribute("x","-100%"),t.setAttribute("y","-100%"),t.setAttribute("width","300%"),t.setAttribute("height","300%"),this.filterManager=e;var s=createNS("feGaussianBlur");s.setAttribute("result",r),t.appendChild(s),this.feGaussianBlur=s}function TransformEffect(){}function SVGTransformEffect(t,e){this.init(e)}function CVTransformEffect(t){this.init(t)}return SVGMatte3Effect.prototype.findSymbol=function(t){for(var e=0,i=_svgMatteSymbols.length;e 10) { - show_debug(); - } -} - -function hide_loading() { - const loading = document.getElementById("loading"); - loading.classList.add("hidden"); -} - -function handle_stream(stream) { - const video = document.querySelector('video'); - const videoTracks = stream.getVideoTracks(); - debug_log(`total video tracks: ${videoTracks.length} Using video device: ${videoTracks[0].label}`); - window.stream = stream; // make variable available to browser console - video.srcObject = stream; - video.play(); - track = videoTracks[0]; - let cap = track.getCapabilities(); - const caps = document.getElementById("caps"); - caps.innerHTML = JSON.stringify(cap); - const settings = track.getSettings(); - console.log(settings); - const canvas = document.getElementById("original"); - frame_width = settings.width; - frame_height = settings.height; - video.width = frame_width; - video.height = frame_height; - canvas.width = frame_width; - canvas.height = frame_height; -} - -function handleError(error) { - debug_log(error); - console.log(error); -} - -function debug_log(msg) { - debug_logs.push(Date.now() / 1000 + ": " + msg); - const nentries = 5; - while (debug_logs.length > nentries) { - debug_logs.shift(); - } - var output = ""; - for (var l of debug_logs) { - output = `
${l}
` + output; - } - console.log(msg); - const di = document.getElementById("logs"); - di.innerHTML = output; -} - -async function start_camera(e) { - try { - const constraints = window.constraints = { - audio: false, - video: { - facingMode: "environment", - focusDistance: 0.12, - focusMode: "manual", - width: { ideal: 2000 }, - }, - }; - const supportedConstraints = navigator.mediaDevices.getSupportedConstraints(); - const cons = document.getElementById("cons"); - cons.innerHTML = JSON.stringify(supportedConstraints); - debug_log(navigator.userAgent); - - const stream = await navigator.mediaDevices.getUserMedia(constraints); - handle_stream(stream); - const zoom = get_query("zoom"); - if (zoom) { - set_zoom(zoom); - } - - } catch (e) { - handleError(e); - } -} - -function is_emblem_qr_pattern(p) -{ - if (p.search(/code=[0-9a-zA-Z]+/) >= 0) return true; - if (p.search(/c=[0-9a-zA-Z]+/) >= 0) return true; - if (p.search(/https:\/\/xy.ltd\/v\/[0-9a-zA-Z]+/) >= 0) return true; - return false; -} - -function make_hint_text(r) { - var qr_is_valid = false; - if (r.qrcode && r.qrcode.length > 0) { - qr_is_valid = is_emblem_qr_pattern(r.qrcode); - if (!qr_is_valid) { - return "无效编码"; - } - } - if (qr_is_valid) { - var err = r.err || ""; - if (err.includes("margin too small")) { - return "对齐定位点"; - } else if (err.includes("energy check failed") || err.includes("cannot detect angle")) { - return "移近一点"; - } - } - return "对齐定位点"; -} - -function handle_frame() { - try { - do_handle_frame(); - } catch (e) { - debug_log("handle frame exception: " + e); - } - setTimeout(handle_frame, 100); -} - -function do_handle_frame() { - if (busy) return; - const canvas = document.getElementById("original"); - const video = document.getElementById("video"); - - canvas.width = video.width; - canvas.height = video.height; - - canvas.style.width = video.width / 4 + "px"; - canvas.style.height = video.height / 4 + "px"; - - const ctx = canvas.getContext("2d"); - ctx.drawImage(video, 0, 0); - const id = ctx.getImageData(0, 0, canvas.width, canvas.height); - console.log(Module); - var buf = Module._malloc(id.data.length * id.data.BYTES_PER_ELEMENT); - Module.HEAPU8.set(id.data, buf); - var r = Module.ccall('qrtool_angle', 'string', ['number', 'number', 'number', 'number'], [buf, id.width, id.height, 0]); - Module._free(buf); - debug_log(r); - const res = JSON.parse(r); - const is_valid_pattern = res.qrcode && res.qrcode.length && is_emblem_qr_pattern(res.qrcode); - if (is_valid_pattern && res.ok) { - var data_url = canvas.toDataURL("image/jpeg", 1.0); - submit_image(res.qrcode, res.angle, data_url); - } else { - pending_hint = make_hint_text(res); - } -} - -function set_zoom(zoom) { - track.applyConstraints({advanced: [ {zoom} ]}); -} - -let torch = false; -function torch_onoff() { - torch = !torch; - track.applyConstraints({advanced: [ {torch: torch} ]}); -} - -function show_spinner() { - remove_class_by_query('.verifyspin', 'hidden'); - remove_class_by_query('.spin-image', 'spin-only'); - remove_class_by_query('.spin-image', 'spin-and-shrink'); - setTimeout(() => { - add_class_by_query('.spin-image', 'spin-and-shrink'); - setTimeout(() => { - remove_class_by_query('.spin-image', 'spin-and-shrink'); - add_class_by_query('.spin-image', 'spin-only'); - }, 3000); - }, 0); -} - -function hide_spinner() { - add_class_by_query('.verifyspin', 'hidden'); -} - -async function submit_image(qrcode, angle, image_data_url) { - busy = true; - var begin = Date.now(); - show_spinner(); - debug_log(`submit: qrcode: ${qrcode} angle: ${angle}`); - try { - // TODO: pass these parameters from query string - var emblem_id = get_query("emblem_id"); - var nick_name = get_query("nick_name"); - var realip = get_query("realip"); - var phonemodel = get_query("phonemodel"); - var data = { - emblem_id, - nick_name, - realip, - qrcode, - angle, - phonemodel, - image_data_url, - log: debug_logs.join("\n"), - }; - var r = await fetch("/api/v1/qr-verify/", { - method: "POST", - body: JSON.stringify(data), - headers: { - 'Content-Type': 'application/json' - }, - }); - var d = await r.json(); - debug_log(JSON.stringify(d)); - if (d.serial_code) { - if (wx) { - var delay = 3000 - (Date.now() - begin); - setTimeout(() => { - wx.miniProgram.redirectTo({ - url: '/pages/productinfo/productinfo?serial_code=' + d.serial_code, - }); - }, delay > 0 ? delay : 0); - } - } else { - this.show_modal('verifyfailed'); - } - } catch (e) { - debug_log(`submission error: ${e}`); - this.show_modal('verifyfailed'); - } -} - -var pending_hint = null; - -function update_hint() { - var now = Date.now(); - if (pending_hint) { - const hint_dev = document.getElementById("hint"); - hint_dev.innerHTML = pending_hint; - pending_hint = null; - } -} - -function start() { - console.log("start"); - setTimeout(handle_frame, 100); - hide_loading(); - if (get_query("debug")) { - show_debug(); - } - setInterval(update_hint, 1000); - setTimeout(() => { - show_tooltip(); - }, 15000); -} - -function show_tooltip() { - remove_class_by_query(".tooltip", "hidden"); - add_class_by_query(".bottomfixed .action", "highlight"); -} - -function hide_tooltip() { - add_class_by_query(".tooltip", "hidden"); - remove_class_by_query(".bottomfixed .action", "highlight"); -} - -async function init_scanguide() { - var r = await fetch('https://emblem-resources.oss-cn-guangzhou.aliyuncs.com/scan-guide-1080x1920-3.json'); - var d = await r.json(); - console.log("start scanguide", d); - const elem = document.getElementById("scanguide"); - scanguide_anime = bodymovin.loadAnimation({ - container: elem, - animationData: d, - // path: 'data.json', - renderer: 'svg', - loop: true, - autoplay: true, - name: "Scan guide", - }) -} - -function add_class_by_query(query, to_add) { - var list = document.querySelectorAll(query); - for (var i = 0; i < list.length; ++i) { - list[i].classList.add(to_add); - } -} - -function remove_class_by_query(query, to_remove) { - var list = document.querySelectorAll(query); - for (var i = 0; i < list.length; ++i) { - list[i].classList.remove(to_remove); - } -} - -var modals = ['serviceqr', 'scanguide', 'verifyfailed', 'verifyspin']; - -function hide_modal() { - busy = false; - scanguide_anime.stop(); - add_class_by_query(".modal", "hidden"); - hide_tooltip(); -} - -function show_modal(which) { - busy = true; - hide_tooltip(); - hide_spinner(); - add_class_by_query(".verifyspin", "hidden"); - remove_class_by_query(".modal", "hidden"); - remove_class_by_query('.actions', 'hidden'); - for (var m of modals) { - add_class_by_query('.' + m, 'hidden'); - } - if (which == 'scanguide') { - scanguide_anime.goToAndPlay(0); - remove_class_by_query('.scanguide', 'hidden'); - } - if (which == 'serviceqr') { - remove_class_by_query('.serviceqr', 'hidden'); - add_class_by_query('.actions', 'hidden'); - } - if (which == 'verifyfailed') { - remove_class_by_query('.verifyfailed', 'hidden'); - } -} - -function set_service_qr_img() { - var tid = get_query('tenant'); - var url = '/api/v1/service-qr/?tenant=' + tid; - const elem = document.getElementById("service_img"); - elem.src = url; -} - -(function() { - start_camera(); - init_scanguide(); - set_service_qr_img(); -})(); diff --git a/web/public/camera-3.2/js/qrtool.web.js b/web/public/camera-3.2/js/qrtool.web.js deleted file mode 100644 index 0145cfb..0000000 --- a/web/public/camera-3.2/js/qrtool.web.js +++ /dev/null @@ -1,5404 +0,0 @@ -var Module = typeof Module !== "undefined" ? Module : {}; - -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 = true; - -var ENVIRONMENT_IS_WORKER = false; - -var scriptDirectory = ""; - -function locateFile(path) { - if (Module["locateFile"]) { - return Module["locateFile"](path, scriptDirectory); - } - return scriptDirectory + path; -} - -var read_, readAsync, readBinary, setWindowTitle; - -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 (scriptDirectory.indexOf("blob:") !== 0) { - scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").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 tempRet0 = 0; - -var setTempRet0 = function(value) { - tempRet0 = value; -}; - -var getTempRet0 = function() { - return tempRet0; -}; - -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 assert(condition, text) { - if (!condition) { - abort("Assertion failed: " + text); - } -} - -function getCFunc(ident) { - var func = Module["_" + ident]; - assert(func, "Cannot call unknown function " + ident + ", make sure it is exported"); - return func; -} - -function ccall(ident, returnType, argTypes, args, opts) { - var toC = { - "string": function(str) { - var ret = 0; - if (str !== null && str !== undefined && str !== 0) { - var len = (str.length << 2) + 1; - ret = stackAlloc(len); - stringToUTF8(str, ret, len); - } - return ret; - }, - "array": function(arr) { - var ret = stackAlloc(arr.length); - writeArrayToMemory(arr, ret); - return ret; - } - }; - function convertReturnValue(ret) { - if (returnType === "string") return UTF8ToString(ret); - if (returnType === "boolean") return Boolean(ret); - return ret; - } - var func = getCFunc(ident); - var cArgs = []; - var stack = 0; - if (args) { - for (var i = 0; i < args.length; i++) { - var converter = toC[argTypes[i]]; - if (converter) { - if (stack === 0) stack = stackSave(); - cArgs[i] = converter(args[i]); - } else { - cArgs[i] = args[i]; - } - } - } - var ret = func.apply(null, cArgs); - function onDone(ret) { - if (stack !== 0) stackRestore(stack); - return convertReturnValue(ret); - } - ret = onDone(ret); - 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") : undefined; - -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 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(array, buffer) { - HEAP8.set(array, buffer); -} - -function writeAsciiToMemory(str, buffer, dontAddNull) { - for (var i = 0; i < str.length; ++i) { - HEAP8[buffer++ >> 0] = str.charCodeAt(i); - } - if (!dontAddNull) HEAP8[buffer >> 0] = 0; -} - -function alignUp(x, multiple) { - if (x % multiple > 0) { - x += multiple - x % multiple; - } - return x; -} - -var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; - -function updateGlobalBufferAndViews(buf) { - buffer = 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 __ATPOSTRUN__ = []; - -var runtimeInitialized = false; - -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; - if (!Module["noFSInit"] && !FS.init.initialized) FS.init(); - FS.ignorePermissions = false; - TTY.init(); - callRuntimeCallbacks(__ATINIT__); -} - -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 addOnInit(cb) { - __ATINIT__.unshift(cb); -} - -function addOnPostRun(cb) { - __ATPOSTRUN__.unshift(cb); -} - -var runDependencies = 0; - -var runDependencyWatcher = null; - -var dependenciesFulfilled = null; - -function getUniqueRunDependency(id) { - return id; -} - -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 = "Aborted(" + what + ")"; - err(what); - ABORT = true; - EXITSTATUS = 1; - what += ". Build with -s ASSERTIONS=1 for more info."; - var e = new WebAssembly.RuntimeError(what); - throw e; -} - -var dataURIPrefix = "data:application/octet-stream;base64,"; - -function isDataURI(filename) { - return filename.startsWith(dataURIPrefix); -} - -var wasmBinaryFile; - -wasmBinaryFile = "qrtool.web.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 (err) { - abort(err); - } -} - -function getBinaryPromise() { - if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) { - if (typeof fetch === "function") { - 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); - }); - } - } - return Promise.resolve().then(function() { - return getBinary(wasmBinaryFile); - }); -} - -function createWasm() { - var info = { - "a": asmLibraryArg - }; - function receiveInstance(instance, module) { - var exports = instance.exports; - Module["asm"] = exports; - wasmMemory = Module["asm"]["Pb"]; - updateGlobalBufferAndViews(wasmMemory.buffer); - wasmTable = Module["asm"]["Sb"]; - addOnInit(Module["asm"]["Qb"]); - removeRunDependency("wasm-instantiate"); - } - addRunDependency("wasm-instantiate"); - function receiveInstantiationResult(result) { - receiveInstance(result["instance"]); - } - function instantiateArrayBuffer(receiver) { - return getBinaryPromise().then(function(binary) { - return WebAssembly.instantiate(binary, info); - }).then(function(instance) { - return instance; - }).then(receiver, function(reason) { - err("failed to asynchronously prepare wasm: " + reason); - abort(reason); - }); - } - function instantiateAsync() { - if (!wasmBinary && typeof WebAssembly.instantiateStreaming === "function" && !isDataURI(wasmBinaryFile) && typeof fetch === "function") { - return fetch(wasmBinaryFile, { - credentials: "same-origin" - }).then(function(response) { - var result = WebAssembly.instantiateStreaming(response, info); - return result.then(receiveInstantiationResult, function(reason) { - err("wasm streaming compile failed: " + reason); - err("falling back to ArrayBuffer instantiation"); - return instantiateArrayBuffer(receiveInstantiationResult); - }); - }); - } else { - return instantiateArrayBuffer(receiveInstantiationResult); - } - } - if (Module["instantiateWasm"]) { - try { - var exports = Module["instantiateWasm"](info, receiveInstance); - return exports; - } catch (e) { - err("Module.instantiateWasm callback failed with error: " + e); - return false; - } - } - instantiateAsync(); - return {}; -} - -var tempDouble; - -var tempI64; - -function callRuntimeCallbacks(callbacks) { - while (callbacks.length > 0) { - var callback = callbacks.shift(); - if (typeof callback == "function") { - callback(Module); - continue; - } - var func = callback.func; - if (typeof func === "number") { - if (callback.arg === undefined) { - getWasmTableEntry(func)(); - } else { - getWasmTableEntry(func)(callback.arg); - } - } else { - func(callback.arg === undefined ? null : callback.arg); - } - } -} - -var wasmTableMirror = []; - -function getWasmTableEntry(funcPtr) { - var func = wasmTableMirror[funcPtr]; - if (!func) { - if (funcPtr >= wasmTableMirror.length) wasmTableMirror.length = funcPtr + 1; - wasmTableMirror[funcPtr] = func = wasmTable.get(funcPtr); - } - return func; -} - -function ___cxa_allocate_exception(size) { - return _malloc(size + 16) + 16; -} - -function ExceptionInfo(excPtr) { - this.excPtr = excPtr; - this.ptr = excPtr - 16; - this.set_type = function(type) { - HEAP32[this.ptr + 4 >> 2] = type; - }; - this.get_type = function() { - return HEAP32[this.ptr + 4 >> 2]; - }; - this.set_destructor = function(destructor) { - HEAP32[this.ptr + 8 >> 2] = destructor; - }; - this.get_destructor = function() { - return HEAP32[this.ptr + 8 >> 2]; - }; - this.set_refcount = function(refcount) { - HEAP32[this.ptr >> 2] = refcount; - }; - this.set_caught = function(caught) { - caught = caught ? 1 : 0; - HEAP8[this.ptr + 12 >> 0] = caught; - }; - this.get_caught = function() { - return HEAP8[this.ptr + 12 >> 0] != 0; - }; - this.set_rethrown = function(rethrown) { - rethrown = rethrown ? 1 : 0; - HEAP8[this.ptr + 13 >> 0] = rethrown; - }; - this.get_rethrown = function() { - return HEAP8[this.ptr + 13 >> 0] != 0; - }; - this.init = function(type, destructor) { - this.set_type(type); - this.set_destructor(destructor); - this.set_refcount(0); - this.set_caught(false); - this.set_rethrown(false); - }; - this.add_ref = function() { - var value = HEAP32[this.ptr >> 2]; - HEAP32[this.ptr >> 2] = value + 1; - }; - this.release_ref = function() { - var prev = HEAP32[this.ptr >> 2]; - HEAP32[this.ptr >> 2] = prev - 1; - return prev === 1; - }; -} - -function CatchInfo(ptr) { - this.free = function() { - _free(this.ptr); - this.ptr = 0; - }; - this.set_base_ptr = function(basePtr) { - HEAP32[this.ptr >> 2] = basePtr; - }; - this.get_base_ptr = function() { - return HEAP32[this.ptr >> 2]; - }; - this.set_adjusted_ptr = function(adjustedPtr) { - HEAP32[this.ptr + 4 >> 2] = adjustedPtr; - }; - this.get_adjusted_ptr_addr = function() { - return this.ptr + 4; - }; - this.get_adjusted_ptr = function() { - return HEAP32[this.ptr + 4 >> 2]; - }; - this.get_exception_ptr = function() { - var isPointer = ___cxa_is_pointer_type(this.get_exception_info().get_type()); - if (isPointer) { - return HEAP32[this.get_base_ptr() >> 2]; - } - var adjusted = this.get_adjusted_ptr(); - if (adjusted !== 0) return adjusted; - return this.get_base_ptr(); - }; - this.get_exception_info = function() { - return new ExceptionInfo(this.get_base_ptr()); - }; - if (ptr === undefined) { - this.ptr = _malloc(8); - this.set_adjusted_ptr(0); - } else { - this.ptr = ptr; - } -} - -var exceptionCaught = []; - -function exception_addRef(info) { - info.add_ref(); -} - -var uncaughtExceptionCount = 0; - -function ___cxa_begin_catch(ptr) { - var catchInfo = new CatchInfo(ptr); - var info = catchInfo.get_exception_info(); - if (!info.get_caught()) { - info.set_caught(true); - uncaughtExceptionCount--; - } - info.set_rethrown(false); - exceptionCaught.push(catchInfo); - exception_addRef(info); - return catchInfo.get_exception_ptr(); -} - -function ___cxa_current_primary_exception() { - if (!exceptionCaught.length) { - return 0; - } - var catchInfo = exceptionCaught[exceptionCaught.length - 1]; - exception_addRef(catchInfo.get_exception_info()); - return catchInfo.get_base_ptr(); -} - -function ___cxa_free_exception(ptr) { - return _free(new ExceptionInfo(ptr).ptr); -} - -function exception_decRef(info) { - if (info.release_ref() && !info.get_rethrown()) { - var destructor = info.get_destructor(); - if (destructor) { - getWasmTableEntry(destructor)(info.excPtr); - } - ___cxa_free_exception(info.excPtr); - } -} - -function ___cxa_decrement_exception_refcount(ptr) { - if (!ptr) return; - exception_decRef(new ExceptionInfo(ptr)); -} - -var exceptionLast = 0; - -function ___cxa_end_catch() { - _setThrew(0); - var catchInfo = exceptionCaught.pop(); - exception_decRef(catchInfo.get_exception_info()); - catchInfo.free(); - exceptionLast = 0; -} - -function ___resumeException(catchInfoPtr) { - var catchInfo = new CatchInfo(catchInfoPtr); - var ptr = catchInfo.get_base_ptr(); - if (!exceptionLast) { - exceptionLast = ptr; - } - catchInfo.free(); - throw ptr; -} - -function ___cxa_find_matching_catch_2() { - var thrown = exceptionLast; - if (!thrown) { - setTempRet0(0); - return 0 | 0; - } - var info = new ExceptionInfo(thrown); - var thrownType = info.get_type(); - var catchInfo = new CatchInfo(); - catchInfo.set_base_ptr(thrown); - catchInfo.set_adjusted_ptr(thrown); - if (!thrownType) { - setTempRet0(0); - return catchInfo.ptr | 0; - } - var typeArray = Array.prototype.slice.call(arguments); - for (var i = 0; i < typeArray.length; i++) { - var caughtType = typeArray[i]; - if (caughtType === 0 || caughtType === thrownType) { - break; - } - if (___cxa_can_catch(caughtType, thrownType, catchInfo.get_adjusted_ptr_addr())) { - setTempRet0(caughtType); - return catchInfo.ptr | 0; - } - } - setTempRet0(thrownType); - return catchInfo.ptr | 0; -} - -function ___cxa_find_matching_catch_3() { - var thrown = exceptionLast; - if (!thrown) { - setTempRet0(0); - return 0 | 0; - } - var info = new ExceptionInfo(thrown); - var thrownType = info.get_type(); - var catchInfo = new CatchInfo(); - catchInfo.set_base_ptr(thrown); - catchInfo.set_adjusted_ptr(thrown); - if (!thrownType) { - setTempRet0(0); - return catchInfo.ptr | 0; - } - var typeArray = Array.prototype.slice.call(arguments); - for (var i = 0; i < typeArray.length; i++) { - var caughtType = typeArray[i]; - if (caughtType === 0 || caughtType === thrownType) { - break; - } - if (___cxa_can_catch(caughtType, thrownType, catchInfo.get_adjusted_ptr_addr())) { - setTempRet0(caughtType); - return catchInfo.ptr | 0; - } - } - setTempRet0(thrownType); - return catchInfo.ptr | 0; -} - -function ___cxa_find_matching_catch_4() { - var thrown = exceptionLast; - if (!thrown) { - setTempRet0(0); - return 0 | 0; - } - var info = new ExceptionInfo(thrown); - var thrownType = info.get_type(); - var catchInfo = new CatchInfo(); - catchInfo.set_base_ptr(thrown); - catchInfo.set_adjusted_ptr(thrown); - if (!thrownType) { - setTempRet0(0); - return catchInfo.ptr | 0; - } - var typeArray = Array.prototype.slice.call(arguments); - for (var i = 0; i < typeArray.length; i++) { - var caughtType = typeArray[i]; - if (caughtType === 0 || caughtType === thrownType) { - break; - } - if (___cxa_can_catch(caughtType, thrownType, catchInfo.get_adjusted_ptr_addr())) { - setTempRet0(caughtType); - return catchInfo.ptr | 0; - } - } - setTempRet0(thrownType); - return catchInfo.ptr | 0; -} - -function ___cxa_increment_exception_refcount(ptr) { - if (!ptr) return; - exception_addRef(new ExceptionInfo(ptr)); -} - -function ___cxa_rethrow() { - var catchInfo = exceptionCaught.pop(); - if (!catchInfo) { - abort("no exception to throw"); - } - var info = catchInfo.get_exception_info(); - var ptr = catchInfo.get_base_ptr(); - if (!info.get_rethrown()) { - exceptionCaught.push(catchInfo); - info.set_rethrown(true); - info.set_caught(false); - uncaughtExceptionCount++; - } else { - catchInfo.free(); - } - exceptionLast = ptr; - throw ptr; -} - -function ___cxa_rethrow_primary_exception(ptr) { - if (!ptr) return; - var catchInfo = new CatchInfo(); - catchInfo.set_base_ptr(ptr); - var info = catchInfo.get_exception_info(); - exceptionCaught.push(catchInfo); - info.set_rethrown(true); - ___cxa_rethrow(); -} - -function ___cxa_throw(ptr, type, destructor) { - var info = new ExceptionInfo(ptr); - info.init(type, destructor); - exceptionLast = ptr; - uncaughtExceptionCount++; - throw ptr; -} - -function ___cxa_uncaught_exceptions() { - return uncaughtExceptionCount; -} - -function setErrNo(value) { - HEAP32[___errno_location() >> 2] = value; - return value; -} - -var PATH = { - splitPath: function(filename) { - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - return splitPathRe.exec(filename).slice(1); - }, - normalizeArray: function(parts, allowAboveRoot) { - var up = 0; - for (var i = parts.length - 1; i >= 0; i--) { - var last = parts[i]; - if (last === ".") { - parts.splice(i, 1); - } else if (last === "..") { - parts.splice(i, 1); - up++; - } else if (up) { - parts.splice(i, 1); - up--; - } - } - if (allowAboveRoot) { - for (;up; up--) { - parts.unshift(".."); - } - } - return parts; - }, - normalize: function(path) { - var isAbsolute = path.charAt(0) === "/", trailingSlash = path.substr(-1) === "/"; - path = PATH.normalizeArray(path.split("/").filter(function(p) { - return !!p; - }), !isAbsolute).join("/"); - if (!path && !isAbsolute) { - path = "."; - } - if (path && trailingSlash) { - path += "/"; - } - return (isAbsolute ? "/" : "") + path; - }, - dirname: function(path) { - var result = PATH.splitPath(path), root = result[0], dir = result[1]; - if (!root && !dir) { - return "."; - } - if (dir) { - dir = dir.substr(0, dir.length - 1); - } - return root + dir; - }, - basename: function(path) { - if (path === "/") return "/"; - path = PATH.normalize(path); - path = path.replace(/\/$/, ""); - var lastSlash = path.lastIndexOf("/"); - if (lastSlash === -1) return path; - return path.substr(lastSlash + 1); - }, - extname: function(path) { - return PATH.splitPath(path)[3]; - }, - join: function() { - var paths = Array.prototype.slice.call(arguments, 0); - return PATH.normalize(paths.join("/")); - }, - join2: function(l, r) { - return PATH.normalize(l + "/" + r); - } -}; - -function getRandomDevice() { - if (typeof crypto === "object" && typeof crypto["getRandomValues"] === "function") { - var randomBuffer = new Uint8Array(1); - return function() { - crypto.getRandomValues(randomBuffer); - return randomBuffer[0]; - }; - } else return function() { - abort("randomDevice"); - }; -} - -var PATH_FS = { - resolve: function() { - var resolvedPath = "", resolvedAbsolute = false; - for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = i >= 0 ? arguments[i] : FS.cwd(); - if (typeof path !== "string") { - throw new TypeError("Arguments to path.resolve must be strings"); - } else if (!path) { - return ""; - } - resolvedPath = path + "/" + resolvedPath; - resolvedAbsolute = path.charAt(0) === "/"; - } - resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter(function(p) { - return !!p; - }), !resolvedAbsolute).join("/"); - return (resolvedAbsolute ? "/" : "") + resolvedPath || "."; - }, - relative: function(from, to) { - from = PATH_FS.resolve(from).substr(1); - to = PATH_FS.resolve(to).substr(1); - function trim(arr) { - var start = 0; - for (;start < arr.length; start++) { - if (arr[start] !== "") break; - } - var end = arr.length - 1; - for (;end >= 0; end--) { - if (arr[end] !== "") break; - } - if (start > end) return []; - return arr.slice(start, end - start + 1); - } - var fromParts = trim(from.split("/")); - var toParts = trim(to.split("/")); - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push(".."); - } - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - return outputParts.join("/"); - } -}; - -var TTY = { - ttys: [], - init: function() {}, - shutdown: function() {}, - register: function(dev, ops) { - TTY.ttys[dev] = { - input: [], - output: [], - ops: ops - }; - FS.registerDevice(dev, TTY.stream_ops); - }, - stream_ops: { - open: function(stream) { - var tty = TTY.ttys[stream.node.rdev]; - if (!tty) { - throw new FS.ErrnoError(43); - } - stream.tty = tty; - stream.seekable = false; - }, - close: function(stream) { - stream.tty.ops.flush(stream.tty); - }, - flush: function(stream) { - stream.tty.ops.flush(stream.tty); - }, - read: function(stream, buffer, offset, length, pos) { - if (!stream.tty || !stream.tty.ops.get_char) { - throw new FS.ErrnoError(60); - } - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = stream.tty.ops.get_char(stream.tty); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset + i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - }, - write: function(stream, buffer, offset, length, pos) { - if (!stream.tty || !stream.tty.ops.put_char) { - throw new FS.ErrnoError(60); - } - try { - for (var i = 0; i < length; i++) { - stream.tty.ops.put_char(stream.tty, buffer[offset + i]); - } - } catch (e) { - throw new FS.ErrnoError(29); - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - } - }, - default_tty_ops: { - get_char: function(tty) { - if (!tty.input.length) { - var result = null; - if (typeof window != "undefined" && typeof window.prompt == "function") { - result = window.prompt("Input: "); - if (result !== null) { - result += "\n"; - } - } else if (typeof readline == "function") { - result = readline(); - if (result !== null) { - result += "\n"; - } - } - if (!result) { - return null; - } - tty.input = intArrayFromString(result, true); - } - return tty.input.shift(); - }, - put_char: function(tty, val) { - if (val === null || val === 10) { - out(UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - }, - flush: function(tty) { - if (tty.output && tty.output.length > 0) { - out(UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } - } - }, - default_tty1_ops: { - put_char: function(tty, val) { - if (val === null || val === 10) { - err(UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - }, - flush: function(tty) { - if (tty.output && tty.output.length > 0) { - err(UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } - } - } -}; - -function mmapAlloc(size) { - abort(); -} - -var MEMFS = { - ops_table: null, - mount: function(mount) { - return MEMFS.createNode(null, "/", 16384 | 511, 0); - }, - createNode: function(parent, name, mode, dev) { - if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { - throw new FS.ErrnoError(63); - } - if (!MEMFS.ops_table) { - MEMFS.ops_table = { - dir: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - lookup: MEMFS.node_ops.lookup, - mknod: MEMFS.node_ops.mknod, - rename: MEMFS.node_ops.rename, - unlink: MEMFS.node_ops.unlink, - rmdir: MEMFS.node_ops.rmdir, - readdir: MEMFS.node_ops.readdir, - symlink: MEMFS.node_ops.symlink - }, - stream: { - llseek: MEMFS.stream_ops.llseek - } - }, - file: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: { - llseek: MEMFS.stream_ops.llseek, - read: MEMFS.stream_ops.read, - write: MEMFS.stream_ops.write, - allocate: MEMFS.stream_ops.allocate, - mmap: MEMFS.stream_ops.mmap, - msync: MEMFS.stream_ops.msync - } - }, - link: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - readlink: MEMFS.node_ops.readlink - }, - stream: {} - }, - chrdev: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: FS.chrdev_stream_ops - } - }; - } - var node = FS.createNode(parent, name, mode, dev); - if (FS.isDir(node.mode)) { - node.node_ops = MEMFS.ops_table.dir.node; - node.stream_ops = MEMFS.ops_table.dir.stream; - node.contents = {}; - } else if (FS.isFile(node.mode)) { - node.node_ops = MEMFS.ops_table.file.node; - node.stream_ops = MEMFS.ops_table.file.stream; - node.usedBytes = 0; - node.contents = null; - } else if (FS.isLink(node.mode)) { - node.node_ops = MEMFS.ops_table.link.node; - node.stream_ops = MEMFS.ops_table.link.stream; - } else if (FS.isChrdev(node.mode)) { - node.node_ops = MEMFS.ops_table.chrdev.node; - node.stream_ops = MEMFS.ops_table.chrdev.stream; - } - node.timestamp = Date.now(); - if (parent) { - parent.contents[name] = node; - parent.timestamp = node.timestamp; - } - return node; - }, - getFileDataAsTypedArray: function(node) { - if (!node.contents) return new Uint8Array(0); - if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); - return new Uint8Array(node.contents); - }, - expandFileStorage: function(node, newCapacity) { - var prevCapacity = node.contents ? node.contents.length : 0; - if (prevCapacity >= newCapacity) return; - var CAPACITY_DOUBLING_MAX = 1024 * 1024; - newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0); - if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); - var oldContents = node.contents; - node.contents = new Uint8Array(newCapacity); - if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); - }, - resizeFileStorage: function(node, newSize) { - if (node.usedBytes == newSize) return; - if (newSize == 0) { - node.contents = null; - node.usedBytes = 0; - } else { - var oldContents = node.contents; - node.contents = new Uint8Array(newSize); - if (oldContents) { - node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); - } - node.usedBytes = newSize; - } - }, - node_ops: { - getattr: function(node) { - var attr = {}; - attr.dev = FS.isChrdev(node.mode) ? node.id : 1; - attr.ino = node.id; - attr.mode = node.mode; - attr.nlink = 1; - attr.uid = 0; - attr.gid = 0; - attr.rdev = node.rdev; - if (FS.isDir(node.mode)) { - attr.size = 4096; - } else if (FS.isFile(node.mode)) { - attr.size = node.usedBytes; - } else if (FS.isLink(node.mode)) { - attr.size = node.link.length; - } else { - attr.size = 0; - } - attr.atime = new Date(node.timestamp); - attr.mtime = new Date(node.timestamp); - attr.ctime = new Date(node.timestamp); - attr.blksize = 4096; - attr.blocks = Math.ceil(attr.size / attr.blksize); - return attr; - }, - setattr: function(node, attr) { - if (attr.mode !== undefined) { - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - node.timestamp = attr.timestamp; - } - if (attr.size !== undefined) { - MEMFS.resizeFileStorage(node, attr.size); - } - }, - lookup: function(parent, name) { - throw FS.genericErrors[44]; - }, - mknod: function(parent, name, mode, dev) { - return MEMFS.createNode(parent, name, mode, dev); - }, - rename: function(old_node, new_dir, new_name) { - if (FS.isDir(old_node.mode)) { - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) {} - if (new_node) { - for (var i in new_node.contents) { - throw new FS.ErrnoError(55); - } - } - } - delete old_node.parent.contents[old_node.name]; - old_node.parent.timestamp = Date.now(); - old_node.name = new_name; - new_dir.contents[new_name] = old_node; - new_dir.timestamp = old_node.parent.timestamp; - old_node.parent = new_dir; - }, - unlink: function(parent, name) { - delete parent.contents[name]; - parent.timestamp = Date.now(); - }, - rmdir: function(parent, name) { - var node = FS.lookupNode(parent, name); - for (var i in node.contents) { - throw new FS.ErrnoError(55); - } - delete parent.contents[name]; - parent.timestamp = Date.now(); - }, - readdir: function(node) { - var entries = [ ".", ".." ]; - for (var key in node.contents) { - if (!node.contents.hasOwnProperty(key)) { - continue; - } - entries.push(key); - } - return entries; - }, - symlink: function(parent, newname, oldpath) { - var node = MEMFS.createNode(parent, newname, 511 | 40960, 0); - node.link = oldpath; - return node; - }, - readlink: function(node) { - if (!FS.isLink(node.mode)) { - throw new FS.ErrnoError(28); - } - return node.link; - } - }, - stream_ops: { - read: function(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= stream.node.usedBytes) return 0; - var size = Math.min(stream.node.usedBytes - position, length); - if (size > 8 && contents.subarray) { - buffer.set(contents.subarray(position, position + size), offset); - } else { - for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; - } - return size; - }, - write: function(stream, buffer, offset, length, position, canOwn) { - if (buffer.buffer === HEAP8.buffer) { - canOwn = false; - } - if (!length) return 0; - var node = stream.node; - node.timestamp = Date.now(); - if (buffer.subarray && (!node.contents || node.contents.subarray)) { - if (canOwn) { - node.contents = buffer.subarray(offset, offset + length); - node.usedBytes = length; - return length; - } else if (node.usedBytes === 0 && position === 0) { - node.contents = buffer.slice(offset, offset + length); - node.usedBytes = length; - return length; - } else if (position + length <= node.usedBytes) { - node.contents.set(buffer.subarray(offset, offset + length), position); - return length; - } - } - MEMFS.expandFileStorage(node, position + length); - if (node.contents.subarray && buffer.subarray) { - node.contents.set(buffer.subarray(offset, offset + length), position); - } else { - for (var i = 0; i < length; i++) { - node.contents[position + i] = buffer[offset + i]; - } - } - node.usedBytes = Math.max(node.usedBytes, position + length); - return length; - }, - llseek: function(stream, offset, whence) { - var position = offset; - if (whence === 1) { - position += stream.position; - } else if (whence === 2) { - if (FS.isFile(stream.node.mode)) { - position += stream.node.usedBytes; - } - } - if (position < 0) { - throw new FS.ErrnoError(28); - } - return position; - }, - allocate: function(stream, offset, length) { - MEMFS.expandFileStorage(stream.node, offset + length); - stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); - }, - mmap: function(stream, address, length, position, prot, flags) { - if (address !== 0) { - throw new FS.ErrnoError(28); - } - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - var ptr; - var allocated; - var contents = stream.node.contents; - if (!(flags & 2) && contents.buffer === buffer) { - allocated = false; - ptr = contents.byteOffset; - } else { - if (position > 0 || position + length < contents.length) { - if (contents.subarray) { - contents = contents.subarray(position, position + length); - } else { - contents = Array.prototype.slice.call(contents, position, position + length); - } - } - allocated = true; - ptr = mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - HEAP8.set(contents, ptr); - } - return { - ptr: ptr, - allocated: allocated - }; - }, - msync: function(stream, buffer, offset, length, mmapFlags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - if (mmapFlags & 2) { - return 0; - } - var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); - return 0; - } - } -}; - -function asyncLoad(url, onload, onerror, noRunDep) { - var dep = !noRunDep ? getUniqueRunDependency("al " + url) : ""; - readAsync(url, function(arrayBuffer) { - assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); - onload(new Uint8Array(arrayBuffer)); - if (dep) removeRunDependency(dep); - }, function(event) { - if (onerror) { - onerror(); - } else { - throw 'Loading data file "' + url + '" failed.'; - } - }); - if (dep) addRunDependency(dep); -} - -var FS = { - root: null, - mounts: [], - devices: {}, - streams: [], - nextInode: 1, - nameTable: null, - currentPath: "/", - initialized: false, - ignorePermissions: true, - ErrnoError: null, - genericErrors: {}, - filesystems: null, - syncFSRequests: 0, - lookupPath: function(path, opts) { - path = PATH_FS.resolve(FS.cwd(), path); - opts = opts || {}; - if (!path) return { - path: "", - node: null - }; - var defaults = { - follow_mount: true, - recurse_count: 0 - }; - for (var key in defaults) { - if (opts[key] === undefined) { - opts[key] = defaults[key]; - } - } - if (opts.recurse_count > 8) { - throw new FS.ErrnoError(32); - } - var parts = PATH.normalizeArray(path.split("/").filter(function(p) { - return !!p; - }), false); - var current = FS.root; - var current_path = "/"; - for (var i = 0; i < parts.length; i++) { - var islast = i === parts.length - 1; - if (islast && opts.parent) { - break; - } - current = FS.lookupNode(current, parts[i]); - current_path = PATH.join2(current_path, parts[i]); - if (FS.isMountpoint(current)) { - if (!islast || islast && opts.follow_mount) { - current = current.mounted.root; - } - } - if (!islast || opts.follow) { - var count = 0; - while (FS.isLink(current.mode)) { - var link = FS.readlink(current_path); - current_path = PATH_FS.resolve(PATH.dirname(current_path), link); - var lookup = FS.lookupPath(current_path, { - recurse_count: opts.recurse_count - }); - current = lookup.node; - if (count++ > 40) { - throw new FS.ErrnoError(32); - } - } - } - } - return { - path: current_path, - node: current - }; - }, - getPath: function(node) { - var path; - while (true) { - if (FS.isRoot(node)) { - var mount = node.mount.mountpoint; - if (!path) return mount; - return mount[mount.length - 1] !== "/" ? mount + "/" + path : mount + path; - } - path = path ? node.name + "/" + path : node.name; - node = node.parent; - } - }, - hashName: function(parentid, name) { - var hash = 0; - for (var i = 0; i < name.length; i++) { - hash = (hash << 5) - hash + name.charCodeAt(i) | 0; - } - return (parentid + hash >>> 0) % FS.nameTable.length; - }, - hashAddNode: function(node) { - var hash = FS.hashName(node.parent.id, node.name); - node.name_next = FS.nameTable[hash]; - FS.nameTable[hash] = node; - }, - hashRemoveNode: function(node) { - var hash = FS.hashName(node.parent.id, node.name); - if (FS.nameTable[hash] === node) { - FS.nameTable[hash] = node.name_next; - } else { - var current = FS.nameTable[hash]; - while (current) { - if (current.name_next === node) { - current.name_next = node.name_next; - break; - } - current = current.name_next; - } - } - }, - lookupNode: function(parent, name) { - var errCode = FS.mayLookup(parent); - if (errCode) { - throw new FS.ErrnoError(errCode, parent); - } - var hash = FS.hashName(parent.id, name); - for (var node = FS.nameTable[hash]; node; node = node.name_next) { - var nodeName = node.name; - if (node.parent.id === parent.id && nodeName === name) { - return node; - } - } - return FS.lookup(parent, name); - }, - createNode: function(parent, name, mode, rdev) { - var node = new FS.FSNode(parent, name, mode, rdev); - FS.hashAddNode(node); - return node; - }, - destroyNode: function(node) { - FS.hashRemoveNode(node); - }, - isRoot: function(node) { - return node === node.parent; - }, - isMountpoint: function(node) { - return !!node.mounted; - }, - isFile: function(mode) { - return (mode & 61440) === 32768; - }, - isDir: function(mode) { - return (mode & 61440) === 16384; - }, - isLink: function(mode) { - return (mode & 61440) === 40960; - }, - isChrdev: function(mode) { - return (mode & 61440) === 8192; - }, - isBlkdev: function(mode) { - return (mode & 61440) === 24576; - }, - isFIFO: function(mode) { - return (mode & 61440) === 4096; - }, - isSocket: function(mode) { - return (mode & 49152) === 49152; - }, - flagModes: { - "r": 0, - "r+": 2, - "w": 577, - "w+": 578, - "a": 1089, - "a+": 1090 - }, - modeStringToFlags: function(str) { - var flags = FS.flagModes[str]; - if (typeof flags === "undefined") { - throw new Error("Unknown file open mode: " + str); - } - return flags; - }, - flagsToPermissionString: function(flag) { - var perms = [ "r", "w", "rw" ][flag & 3]; - if (flag & 512) { - perms += "w"; - } - return perms; - }, - nodePermissions: function(node, perms) { - if (FS.ignorePermissions) { - return 0; - } - if (perms.includes("r") && !(node.mode & 292)) { - return 2; - } else if (perms.includes("w") && !(node.mode & 146)) { - return 2; - } else if (perms.includes("x") && !(node.mode & 73)) { - return 2; - } - return 0; - }, - mayLookup: function(dir) { - var errCode = FS.nodePermissions(dir, "x"); - if (errCode) return errCode; - if (!dir.node_ops.lookup) return 2; - return 0; - }, - mayCreate: function(dir, name) { - try { - var node = FS.lookupNode(dir, name); - return 20; - } catch (e) {} - return FS.nodePermissions(dir, "wx"); - }, - mayDelete: function(dir, name, isdir) { - var node; - try { - node = FS.lookupNode(dir, name); - } catch (e) { - return e.errno; - } - var errCode = FS.nodePermissions(dir, "wx"); - if (errCode) { - return errCode; - } - if (isdir) { - if (!FS.isDir(node.mode)) { - return 54; - } - if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { - return 10; - } - } else { - if (FS.isDir(node.mode)) { - return 31; - } - } - return 0; - }, - mayOpen: function(node, flags) { - if (!node) { - return 44; - } - if (FS.isLink(node.mode)) { - return 32; - } else if (FS.isDir(node.mode)) { - if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) { - return 31; - } - } - return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); - }, - MAX_OPEN_FDS: 4096, - nextfd: function(fd_start, fd_end) { - fd_start = fd_start || 0; - fd_end = fd_end || FS.MAX_OPEN_FDS; - for (var fd = fd_start; fd <= fd_end; fd++) { - if (!FS.streams[fd]) { - return fd; - } - } - throw new FS.ErrnoError(33); - }, - getStream: function(fd) { - return FS.streams[fd]; - }, - createStream: function(stream, fd_start, fd_end) { - if (!FS.FSStream) { - FS.FSStream = function() {}; - FS.FSStream.prototype = { - object: { - get: function() { - return this.node; - }, - set: function(val) { - this.node = val; - } - }, - isRead: { - get: function() { - return (this.flags & 2097155) !== 1; - } - }, - isWrite: { - get: function() { - return (this.flags & 2097155) !== 0; - } - }, - isAppend: { - get: function() { - return this.flags & 1024; - } - } - }; - } - var newStream = new FS.FSStream(); - for (var p in stream) { - newStream[p] = stream[p]; - } - stream = newStream; - var fd = FS.nextfd(fd_start, fd_end); - stream.fd = fd; - FS.streams[fd] = stream; - return stream; - }, - closeStream: function(fd) { - FS.streams[fd] = null; - }, - chrdev_stream_ops: { - open: function(stream) { - var device = FS.getDevice(stream.node.rdev); - stream.stream_ops = device.stream_ops; - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - }, - llseek: function() { - throw new FS.ErrnoError(70); - } - }, - major: function(dev) { - return dev >> 8; - }, - minor: function(dev) { - return dev & 255; - }, - makedev: function(ma, mi) { - return ma << 8 | mi; - }, - registerDevice: function(dev, ops) { - FS.devices[dev] = { - stream_ops: ops - }; - }, - getDevice: function(dev) { - return FS.devices[dev]; - }, - getMounts: function(mount) { - var mounts = []; - var check = [ mount ]; - while (check.length) { - var m = check.pop(); - mounts.push(m); - check.push.apply(check, m.mounts); - } - return mounts; - }, - syncfs: function(populate, callback) { - if (typeof populate === "function") { - callback = populate; - populate = false; - } - FS.syncFSRequests++; - if (FS.syncFSRequests > 1) { - err("warning: " + FS.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work"); - } - var mounts = FS.getMounts(FS.root.mount); - var completed = 0; - function doCallback(errCode) { - FS.syncFSRequests--; - return callback(errCode); - } - function done(errCode) { - if (errCode) { - if (!done.errored) { - done.errored = true; - return doCallback(errCode); - } - return; - } - if (++completed >= mounts.length) { - doCallback(null); - } - } - mounts.forEach(function(mount) { - if (!mount.type.syncfs) { - return done(null); - } - mount.type.syncfs(mount, populate, done); - }); - }, - mount: function(type, opts, mountpoint) { - var root = mountpoint === "/"; - var pseudo = !mountpoint; - var node; - if (root && FS.root) { - throw new FS.ErrnoError(10); - } else if (!root && !pseudo) { - var lookup = FS.lookupPath(mountpoint, { - follow_mount: false - }); - mountpoint = lookup.path; - node = lookup.node; - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - if (!FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - } - var mount = { - type: type, - opts: opts, - mountpoint: mountpoint, - mounts: [] - }; - var mountRoot = type.mount(mount); - mountRoot.mount = mount; - mount.root = mountRoot; - if (root) { - FS.root = mountRoot; - } else if (node) { - node.mounted = mount; - if (node.mount) { - node.mount.mounts.push(mount); - } - } - return mountRoot; - }, - unmount: function(mountpoint) { - var lookup = FS.lookupPath(mountpoint, { - follow_mount: false - }); - if (!FS.isMountpoint(lookup.node)) { - throw new FS.ErrnoError(28); - } - var node = lookup.node; - var mount = node.mounted; - var mounts = FS.getMounts(mount); - Object.keys(FS.nameTable).forEach(function(hash) { - var current = FS.nameTable[hash]; - while (current) { - var next = current.name_next; - if (mounts.includes(current.mount)) { - FS.destroyNode(current); - } - current = next; - } - }); - node.mounted = null; - var idx = node.mount.mounts.indexOf(mount); - node.mount.mounts.splice(idx, 1); - }, - lookup: function(parent, name) { - return parent.node_ops.lookup(parent, name); - }, - mknod: function(path, mode, dev) { - var lookup = FS.lookupPath(path, { - parent: true - }); - var parent = lookup.node; - var name = PATH.basename(path); - if (!name || name === "." || name === "..") { - throw new FS.ErrnoError(28); - } - var errCode = FS.mayCreate(parent, name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.mknod) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.mknod(parent, name, mode, dev); - }, - create: function(path, mode) { - mode = mode !== undefined ? mode : 438; - mode &= 4095; - mode |= 32768; - return FS.mknod(path, mode, 0); - }, - mkdir: function(path, mode) { - mode = mode !== undefined ? mode : 511; - mode &= 511 | 512; - mode |= 16384; - return FS.mknod(path, mode, 0); - }, - mkdirTree: function(path, mode) { - var dirs = path.split("/"); - var d = ""; - for (var i = 0; i < dirs.length; ++i) { - if (!dirs[i]) continue; - d += "/" + dirs[i]; - try { - FS.mkdir(d, mode); - } catch (e) { - if (e.errno != 20) throw e; - } - } - }, - mkdev: function(path, mode, dev) { - if (typeof dev === "undefined") { - dev = mode; - mode = 438; - } - mode |= 8192; - return FS.mknod(path, mode, dev); - }, - symlink: function(oldpath, newpath) { - if (!PATH_FS.resolve(oldpath)) { - throw new FS.ErrnoError(44); - } - var lookup = FS.lookupPath(newpath, { - parent: true - }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var newname = PATH.basename(newpath); - var errCode = FS.mayCreate(parent, newname); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.symlink) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.symlink(parent, newname, oldpath); - }, - rename: function(old_path, new_path) { - var old_dirname = PATH.dirname(old_path); - var new_dirname = PATH.dirname(new_path); - var old_name = PATH.basename(old_path); - var new_name = PATH.basename(new_path); - var lookup, old_dir, new_dir; - lookup = FS.lookupPath(old_path, { - parent: true - }); - old_dir = lookup.node; - lookup = FS.lookupPath(new_path, { - parent: true - }); - new_dir = lookup.node; - if (!old_dir || !new_dir) throw new FS.ErrnoError(44); - if (old_dir.mount !== new_dir.mount) { - throw new FS.ErrnoError(75); - } - var old_node = FS.lookupNode(old_dir, old_name); - var relative = PATH_FS.relative(old_path, new_dirname); - if (relative.charAt(0) !== ".") { - throw new FS.ErrnoError(28); - } - relative = PATH_FS.relative(new_path, old_dirname); - if (relative.charAt(0) !== ".") { - throw new FS.ErrnoError(55); - } - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) {} - if (old_node === new_node) { - return; - } - var isdir = FS.isDir(old_node.mode); - var errCode = FS.mayDelete(old_dir, old_name, isdir); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!old_dir.node_ops.rename) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) { - throw new FS.ErrnoError(10); - } - if (new_dir !== old_dir) { - errCode = FS.nodePermissions(old_dir, "w"); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - FS.hashRemoveNode(old_node); - try { - old_dir.node_ops.rename(old_node, new_dir, new_name); - } catch (e) { - throw e; - } finally { - FS.hashAddNode(old_node); - } - }, - rmdir: function(path) { - var lookup = FS.lookupPath(path, { - parent: true - }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, true); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.rmdir) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.rmdir(parent, name); - FS.destroyNode(node); - }, - readdir: function(path) { - var lookup = FS.lookupPath(path, { - follow: true - }); - var node = lookup.node; - if (!node.node_ops.readdir) { - throw new FS.ErrnoError(54); - } - return node.node_ops.readdir(node); - }, - unlink: function(path) { - var lookup = FS.lookupPath(path, { - parent: true - }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, false); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.unlink) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.unlink(parent, name); - FS.destroyNode(node); - }, - readlink: function(path) { - var lookup = FS.lookupPath(path); - var link = lookup.node; - if (!link) { - throw new FS.ErrnoError(44); - } - if (!link.node_ops.readlink) { - throw new FS.ErrnoError(28); - } - return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); - }, - stat: function(path, dontFollow) { - var lookup = FS.lookupPath(path, { - follow: !dontFollow - }); - var node = lookup.node; - if (!node) { - throw new FS.ErrnoError(44); - } - if (!node.node_ops.getattr) { - throw new FS.ErrnoError(63); - } - return node.node_ops.getattr(node); - }, - lstat: function(path) { - return FS.stat(path, true); - }, - chmod: function(path, mode, dontFollow) { - var node; - if (typeof path === "string") { - var lookup = FS.lookupPath(path, { - follow: !dontFollow - }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(63); - } - node.node_ops.setattr(node, { - mode: mode & 4095 | node.mode & ~4095, - timestamp: Date.now() - }); - }, - lchmod: function(path, mode) { - FS.chmod(path, mode, true); - }, - fchmod: function(fd, mode) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(8); - } - FS.chmod(stream.node, mode); - }, - chown: function(path, uid, gid, dontFollow) { - var node; - if (typeof path === "string") { - var lookup = FS.lookupPath(path, { - follow: !dontFollow - }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(63); - } - node.node_ops.setattr(node, { - timestamp: Date.now() - }); - }, - lchown: function(path, uid, gid) { - FS.chown(path, uid, gid, true); - }, - fchown: function(fd, uid, gid) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(8); - } - FS.chown(stream.node, uid, gid); - }, - truncate: function(path, len) { - if (len < 0) { - throw new FS.ErrnoError(28); - } - var node; - if (typeof path === "string") { - var lookup = FS.lookupPath(path, { - follow: true - }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(63); - } - if (FS.isDir(node.mode)) { - throw new FS.ErrnoError(31); - } - if (!FS.isFile(node.mode)) { - throw new FS.ErrnoError(28); - } - var errCode = FS.nodePermissions(node, "w"); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - node.node_ops.setattr(node, { - size: len, - timestamp: Date.now() - }); - }, - ftruncate: function(fd, len) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(28); - } - FS.truncate(stream.node, len); - }, - utime: function(path, atime, mtime) { - var lookup = FS.lookupPath(path, { - follow: true - }); - var node = lookup.node; - node.node_ops.setattr(node, { - timestamp: Math.max(atime, mtime) - }); - }, - open: function(path, flags, mode, fd_start, fd_end) { - if (path === "") { - throw new FS.ErrnoError(44); - } - flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags; - mode = typeof mode === "undefined" ? 438 : mode; - if (flags & 64) { - mode = mode & 4095 | 32768; - } else { - mode = 0; - } - var node; - if (typeof path === "object") { - node = path; - } else { - path = PATH.normalize(path); - try { - var lookup = FS.lookupPath(path, { - follow: !(flags & 131072) - }); - node = lookup.node; - } catch (e) {} - } - var created = false; - if (flags & 64) { - if (node) { - if (flags & 128) { - throw new FS.ErrnoError(20); - } - } else { - node = FS.mknod(path, mode, 0); - created = true; - } - } - if (!node) { - throw new FS.ErrnoError(44); - } - if (FS.isChrdev(node.mode)) { - flags &= ~512; - } - if (flags & 65536 && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - if (!created) { - var errCode = FS.mayOpen(node, flags); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - if (flags & 512) { - FS.truncate(node, 0); - } - flags &= ~(128 | 512 | 131072); - var stream = FS.createStream({ - node: node, - path: FS.getPath(node), - id: node.id, - flags: flags, - mode: node.mode, - seekable: true, - position: 0, - stream_ops: node.stream_ops, - node_ops: node.node_ops, - ungotten: [], - error: false - }, fd_start, fd_end); - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - if (Module["logReadFiles"] && !(flags & 1)) { - if (!FS.readFiles) FS.readFiles = {}; - if (!(path in FS.readFiles)) { - FS.readFiles[path] = 1; - } - } - return stream; - }, - close: function(stream) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (stream.getdents) stream.getdents = null; - try { - if (stream.stream_ops.close) { - stream.stream_ops.close(stream); - } - } catch (e) { - throw e; - } finally { - FS.closeStream(stream.fd); - } - stream.fd = null; - }, - isClosed: function(stream) { - return stream.fd === null; - }, - llseek: function(stream, offset, whence) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (!stream.seekable || !stream.stream_ops.llseek) { - throw new FS.ErrnoError(70); - } - if (whence != 0 && whence != 1 && whence != 2) { - throw new FS.ErrnoError(28); - } - stream.position = stream.stream_ops.llseek(stream, offset, whence); - stream.ungotten = []; - return stream.position; - }, - read: function(stream, buffer, offset, length, position) { - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.read) { - throw new FS.ErrnoError(28); - } - var seeking = typeof position !== "undefined"; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); - if (!seeking) stream.position += bytesRead; - return bytesRead; - }, - write: function(stream, buffer, offset, length, position, canOwn) { - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.write) { - throw new FS.ErrnoError(28); - } - if (stream.seekable && stream.flags & 1024) { - FS.llseek(stream, 0, 2); - } - var seeking = typeof position !== "undefined"; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); - if (!seeking) stream.position += bytesWritten; - return bytesWritten; - }, - allocate: function(stream, offset, length) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (offset < 0 || length <= 0) { - throw new FS.ErrnoError(28); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(8); - } - if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - if (!stream.stream_ops.allocate) { - throw new FS.ErrnoError(138); - } - stream.stream_ops.allocate(stream, offset, length); - }, - mmap: function(stream, address, length, position, prot, flags) { - if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) { - throw new FS.ErrnoError(2); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(2); - } - if (!stream.stream_ops.mmap) { - throw new FS.ErrnoError(43); - } - return stream.stream_ops.mmap(stream, address, length, position, prot, flags); - }, - msync: function(stream, buffer, offset, length, mmapFlags) { - if (!stream || !stream.stream_ops.msync) { - return 0; - } - return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); - }, - munmap: function(stream) { - return 0; - }, - ioctl: function(stream, cmd, arg) { - if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(59); - } - return stream.stream_ops.ioctl(stream, cmd, arg); - }, - readFile: function(path, opts) { - opts = opts || {}; - opts.flags = opts.flags || 0; - opts.encoding = opts.encoding || "binary"; - if (opts.encoding !== "utf8" && opts.encoding !== "binary") { - throw new Error('Invalid encoding type "' + opts.encoding + '"'); - } - var ret; - var stream = FS.open(path, opts.flags); - var stat = FS.stat(path); - var length = stat.size; - var buf = new Uint8Array(length); - FS.read(stream, buf, 0, length, 0); - if (opts.encoding === "utf8") { - ret = UTF8ArrayToString(buf, 0); - } else if (opts.encoding === "binary") { - ret = buf; - } - FS.close(stream); - return ret; - }, - writeFile: function(path, data, opts) { - opts = opts || {}; - opts.flags = opts.flags || 577; - var stream = FS.open(path, opts.flags, opts.mode); - if (typeof data === "string") { - var buf = new Uint8Array(lengthBytesUTF8(data) + 1); - var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); - FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); - } else if (ArrayBuffer.isView(data)) { - FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); - } else { - throw new Error("Unsupported data type"); - } - FS.close(stream); - }, - cwd: function() { - return FS.currentPath; - }, - chdir: function(path) { - var lookup = FS.lookupPath(path, { - follow: true - }); - if (lookup.node === null) { - throw new FS.ErrnoError(44); - } - if (!FS.isDir(lookup.node.mode)) { - throw new FS.ErrnoError(54); - } - var errCode = FS.nodePermissions(lookup.node, "x"); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - FS.currentPath = lookup.path; - }, - createDefaultDirectories: function() { - FS.mkdir("/tmp"); - FS.mkdir("/home"); - FS.mkdir("/home/web_user"); - }, - createDefaultDevices: function() { - FS.mkdir("/dev"); - FS.registerDevice(FS.makedev(1, 3), { - read: function() { - return 0; - }, - write: function(stream, buffer, offset, length, pos) { - return length; - } - }); - FS.mkdev("/dev/null", FS.makedev(1, 3)); - TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); - TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); - FS.mkdev("/dev/tty", FS.makedev(5, 0)); - FS.mkdev("/dev/tty1", FS.makedev(6, 0)); - var random_device = getRandomDevice(); - FS.createDevice("/dev", "random", random_device); - FS.createDevice("/dev", "urandom", random_device); - FS.mkdir("/dev/shm"); - FS.mkdir("/dev/shm/tmp"); - }, - createSpecialDirectories: function() { - FS.mkdir("/proc"); - var proc_self = FS.mkdir("/proc/self"); - FS.mkdir("/proc/self/fd"); - FS.mount({ - mount: function() { - var node = FS.createNode(proc_self, "fd", 16384 | 511, 73); - node.node_ops = { - lookup: function(parent, name) { - var fd = +name; - var stream = FS.getStream(fd); - if (!stream) throw new FS.ErrnoError(8); - var ret = { - parent: null, - mount: { - mountpoint: "fake" - }, - node_ops: { - readlink: function() { - return stream.path; - } - } - }; - ret.parent = ret; - return ret; - } - }; - return node; - } - }, {}, "/proc/self/fd"); - }, - createStandardStreams: function() { - if (Module["stdin"]) { - FS.createDevice("/dev", "stdin", Module["stdin"]); - } else { - FS.symlink("/dev/tty", "/dev/stdin"); - } - if (Module["stdout"]) { - FS.createDevice("/dev", "stdout", null, Module["stdout"]); - } else { - FS.symlink("/dev/tty", "/dev/stdout"); - } - if (Module["stderr"]) { - FS.createDevice("/dev", "stderr", null, Module["stderr"]); - } else { - FS.symlink("/dev/tty1", "/dev/stderr"); - } - var stdin = FS.open("/dev/stdin", 0); - var stdout = FS.open("/dev/stdout", 1); - var stderr = FS.open("/dev/stderr", 1); - }, - ensureErrnoError: function() { - if (FS.ErrnoError) return; - FS.ErrnoError = function ErrnoError(errno, node) { - this.node = node; - this.setErrno = function(errno) { - this.errno = errno; - }; - this.setErrno(errno); - this.message = "FS error"; - }; - FS.ErrnoError.prototype = new Error(); - FS.ErrnoError.prototype.constructor = FS.ErrnoError; - [ 44 ].forEach(function(code) { - FS.genericErrors[code] = new FS.ErrnoError(code); - FS.genericErrors[code].stack = ""; - }); - }, - staticInit: function() { - FS.ensureErrnoError(); - FS.nameTable = new Array(4096); - FS.mount(MEMFS, {}, "/"); - FS.createDefaultDirectories(); - FS.createDefaultDevices(); - FS.createSpecialDirectories(); - FS.filesystems = { - "MEMFS": MEMFS - }; - }, - init: function(input, output, error) { - FS.init.initialized = true; - FS.ensureErrnoError(); - Module["stdin"] = input || Module["stdin"]; - Module["stdout"] = output || Module["stdout"]; - Module["stderr"] = error || Module["stderr"]; - FS.createStandardStreams(); - }, - quit: function() { - FS.init.initialized = false; - var fflush = Module["_fflush"]; - if (fflush) fflush(0); - for (var i = 0; i < FS.streams.length; i++) { - var stream = FS.streams[i]; - if (!stream) { - continue; - } - FS.close(stream); - } - }, - getMode: function(canRead, canWrite) { - var mode = 0; - if (canRead) mode |= 292 | 73; - if (canWrite) mode |= 146; - return mode; - }, - findObject: function(path, dontResolveLastLink) { - var ret = FS.analyzePath(path, dontResolveLastLink); - if (ret.exists) { - return ret.object; - } else { - return null; - } - }, - analyzePath: function(path, dontResolveLastLink) { - try { - var lookup = FS.lookupPath(path, { - follow: !dontResolveLastLink - }); - path = lookup.path; - } catch (e) {} - var ret = { - isRoot: false, - exists: false, - error: 0, - name: null, - path: null, - object: null, - parentExists: false, - parentPath: null, - parentObject: null - }; - try { - var lookup = FS.lookupPath(path, { - parent: true - }); - ret.parentExists = true; - ret.parentPath = lookup.path; - ret.parentObject = lookup.node; - ret.name = PATH.basename(path); - lookup = FS.lookupPath(path, { - follow: !dontResolveLastLink - }); - ret.exists = true; - ret.path = lookup.path; - ret.object = lookup.node; - ret.name = lookup.node.name; - ret.isRoot = lookup.path === "/"; - } catch (e) { - ret.error = e.errno; - } - return ret; - }, - createPath: function(parent, path, canRead, canWrite) { - parent = typeof parent === "string" ? parent : FS.getPath(parent); - var parts = path.split("/").reverse(); - while (parts.length) { - var part = parts.pop(); - if (!part) continue; - var current = PATH.join2(parent, part); - try { - FS.mkdir(current); - } catch (e) {} - parent = current; - } - return current; - }, - createFile: function(parent, name, properties, canRead, canWrite) { - var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); - var mode = FS.getMode(canRead, canWrite); - return FS.create(path, mode); - }, - createDataFile: function(parent, name, data, canRead, canWrite, canOwn) { - var path = name ? PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name) : parent; - var mode = FS.getMode(canRead, canWrite); - var node = FS.create(path, mode); - if (data) { - if (typeof data === "string") { - var arr = new Array(data.length); - for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); - data = arr; - } - FS.chmod(node, mode | 146); - var stream = FS.open(node, 577); - FS.write(stream, data, 0, data.length, 0, canOwn); - FS.close(stream); - FS.chmod(node, mode); - } - return node; - }, - createDevice: function(parent, name, input, output) { - var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); - var mode = FS.getMode(!!input, !!output); - if (!FS.createDevice.major) FS.createDevice.major = 64; - var dev = FS.makedev(FS.createDevice.major++, 0); - FS.registerDevice(dev, { - open: function(stream) { - stream.seekable = false; - }, - close: function(stream) { - if (output && output.buffer && output.buffer.length) { - output(10); - } - }, - read: function(stream, buffer, offset, length, pos) { - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = input(); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset + i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - }, - write: function(stream, buffer, offset, length, pos) { - for (var i = 0; i < length; i++) { - try { - output(buffer[offset + i]); - } catch (e) { - throw new FS.ErrnoError(29); - } - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - } - }); - return FS.mkdev(path, mode, dev); - }, - forceLoadFile: function(obj) { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; - if (typeof XMLHttpRequest !== "undefined") { - throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); - } else if (read_) { - try { - obj.contents = intArrayFromString(read_(obj.url), true); - obj.usedBytes = obj.contents.length; - } catch (e) { - throw new FS.ErrnoError(29); - } - } else { - throw new Error("Cannot load without read() or XMLHttpRequest."); - } - }, - createLazyFile: function(parent, name, url, canRead, canWrite) { - function LazyUint8Array() { - this.lengthKnown = false; - this.chunks = []; - } - LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { - if (idx > this.length - 1 || idx < 0) { - return undefined; - } - var chunkOffset = idx % this.chunkSize; - var chunkNum = idx / this.chunkSize | 0; - return this.getter(chunkNum)[chunkOffset]; - }; - LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { - this.getter = getter; - }; - LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { - var xhr = new XMLHttpRequest(); - xhr.open("HEAD", url, false); - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - var datalength = Number(xhr.getResponseHeader("Content-length")); - var header; - var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; - var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; - var chunkSize = 1024 * 1024; - if (!hasByteServing) chunkSize = datalength; - var doXHR = function(from, to) { - if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); - if (to > datalength - 1) throw new Error("only " + datalength + " bytes available! programmer error!"); - var xhr = new XMLHttpRequest(); - xhr.open("GET", url, false); - if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); - if (typeof Uint8Array != "undefined") xhr.responseType = "arraybuffer"; - if (xhr.overrideMimeType) { - xhr.overrideMimeType("text/plain; charset=x-user-defined"); - } - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - if (xhr.response !== undefined) { - return new Uint8Array(xhr.response || []); - } else { - return intArrayFromString(xhr.responseText || "", true); - } - }; - var lazyArray = this; - lazyArray.setDataGetter(function(chunkNum) { - var start = chunkNum * chunkSize; - var end = (chunkNum + 1) * chunkSize - 1; - end = Math.min(end, datalength - 1); - if (typeof lazyArray.chunks[chunkNum] === "undefined") { - lazyArray.chunks[chunkNum] = doXHR(start, end); - } - if (typeof lazyArray.chunks[chunkNum] === "undefined") throw new Error("doXHR failed!"); - return lazyArray.chunks[chunkNum]; - }); - if (usesGzip || !datalength) { - chunkSize = datalength = 1; - datalength = this.getter(0).length; - chunkSize = datalength; - out("LazyFiles on gzip forces download of the whole file when length is accessed"); - } - this._length = datalength; - this._chunkSize = chunkSize; - this.lengthKnown = true; - }; - if (typeof XMLHttpRequest !== "undefined") { - if (!ENVIRONMENT_IS_WORKER) throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; - var lazyArray = new LazyUint8Array(); - Object.defineProperties(lazyArray, { - length: { - get: function() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._length; - } - }, - chunkSize: { - get: function() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._chunkSize; - } - } - }); - var properties = { - isDevice: false, - contents: lazyArray - }; - } else { - var properties = { - isDevice: false, - url: url - }; - } - var node = FS.createFile(parent, name, properties, canRead, canWrite); - if (properties.contents) { - node.contents = properties.contents; - } else if (properties.url) { - node.contents = null; - node.url = properties.url; - } - Object.defineProperties(node, { - usedBytes: { - get: function() { - return this.contents.length; - } - } - }); - var stream_ops = {}; - var keys = Object.keys(node.stream_ops); - keys.forEach(function(key) { - var fn = node.stream_ops[key]; - stream_ops[key] = function forceLoadLazyFile() { - FS.forceLoadFile(node); - return fn.apply(null, arguments); - }; - }); - stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { - FS.forceLoadFile(node); - var contents = stream.node.contents; - if (position >= contents.length) return 0; - var size = Math.min(contents.length - position, length); - if (contents.slice) { - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents[position + i]; - } - } else { - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents.get(position + i); - } - } - return size; - }; - node.stream_ops = stream_ops; - return node; - }, - createPreloadedFile: function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { - Browser.init(); - var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; - var dep = getUniqueRunDependency("cp " + fullname); - function processData(byteArray) { - function finish(byteArray) { - if (preFinish) preFinish(); - if (!dontCreateFile) { - FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); - } - if (onload) onload(); - removeRunDependency(dep); - } - var handled = false; - Module["preloadPlugins"].forEach(function(plugin) { - if (handled) return; - if (plugin["canHandle"](fullname)) { - plugin["handle"](byteArray, fullname, finish, function() { - if (onerror) onerror(); - removeRunDependency(dep); - }); - handled = true; - } - }); - if (!handled) finish(byteArray); - } - addRunDependency(dep); - if (typeof url == "string") { - asyncLoad(url, function(byteArray) { - processData(byteArray); - }, onerror); - } else { - processData(url); - } - }, - indexedDB: function() { - return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; - }, - DB_NAME: function() { - return "EM_FS_" + window.location.pathname; - }, - DB_VERSION: 20, - DB_STORE_NAME: "FILE_DATA", - saveFilesToDB: function(paths, onload, onerror) { - onload = onload || function() {}; - onerror = onerror || function() {}; - var indexedDB = FS.indexedDB(); - try { - var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); - } catch (e) { - return onerror(e); - } - openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { - out("creating db"); - var db = openRequest.result; - db.createObjectStore(FS.DB_STORE_NAME); - }; - openRequest.onsuccess = function openRequest_onsuccess() { - var db = openRequest.result; - var transaction = db.transaction([ FS.DB_STORE_NAME ], "readwrite"); - var files = transaction.objectStore(FS.DB_STORE_NAME); - var ok = 0, fail = 0, total = paths.length; - function finish() { - if (fail == 0) onload(); else onerror(); - } - paths.forEach(function(path) { - var putRequest = files.put(FS.analyzePath(path).object.contents, path); - putRequest.onsuccess = function putRequest_onsuccess() { - ok++; - if (ok + fail == total) finish(); - }; - putRequest.onerror = function putRequest_onerror() { - fail++; - if (ok + fail == total) finish(); - }; - }); - transaction.onerror = onerror; - }; - openRequest.onerror = onerror; - }, - loadFilesFromDB: function(paths, onload, onerror) { - onload = onload || function() {}; - onerror = onerror || function() {}; - var indexedDB = FS.indexedDB(); - try { - var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); - } catch (e) { - return onerror(e); - } - openRequest.onupgradeneeded = onerror; - openRequest.onsuccess = function openRequest_onsuccess() { - var db = openRequest.result; - try { - var transaction = db.transaction([ FS.DB_STORE_NAME ], "readonly"); - } catch (e) { - onerror(e); - return; - } - var files = transaction.objectStore(FS.DB_STORE_NAME); - var ok = 0, fail = 0, total = paths.length; - function finish() { - if (fail == 0) onload(); else onerror(); - } - paths.forEach(function(path) { - var getRequest = files.get(path); - getRequest.onsuccess = function getRequest_onsuccess() { - if (FS.analyzePath(path).exists) { - FS.unlink(path); - } - FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); - ok++; - if (ok + fail == total) finish(); - }; - getRequest.onerror = function getRequest_onerror() { - fail++; - if (ok + fail == total) finish(); - }; - }); - transaction.onerror = onerror; - }; - openRequest.onerror = onerror; - } -}; - -var SYSCALLS = { - mappings: {}, - DEFAULT_POLLMASK: 5, - calculateAt: function(dirfd, path, allowEmpty) { - if (path[0] === "/") { - return path; - } - var dir; - if (dirfd === -100) { - dir = FS.cwd(); - } else { - var dirstream = FS.getStream(dirfd); - if (!dirstream) throw new FS.ErrnoError(8); - dir = dirstream.path; - } - if (path.length == 0) { - if (!allowEmpty) { - throw new FS.ErrnoError(44); - } - return dir; - } - return PATH.join2(dir, path); - }, - doStat: function(func, path, buf) { - try { - var stat = func(path); - } catch (e) { - if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { - return -54; - } - throw e; - } - HEAP32[buf >> 2] = stat.dev; - HEAP32[buf + 4 >> 2] = 0; - HEAP32[buf + 8 >> 2] = stat.ino; - HEAP32[buf + 12 >> 2] = stat.mode; - HEAP32[buf + 16 >> 2] = stat.nlink; - HEAP32[buf + 20 >> 2] = stat.uid; - HEAP32[buf + 24 >> 2] = stat.gid; - HEAP32[buf + 28 >> 2] = stat.rdev; - HEAP32[buf + 32 >> 2] = 0; - tempI64 = [ stat.size >>> 0, (tempDouble = stat.size, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], - HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1]; - HEAP32[buf + 48 >> 2] = 4096; - HEAP32[buf + 52 >> 2] = stat.blocks; - HEAP32[buf + 56 >> 2] = stat.atime.getTime() / 1e3 | 0; - HEAP32[buf + 60 >> 2] = 0; - HEAP32[buf + 64 >> 2] = stat.mtime.getTime() / 1e3 | 0; - HEAP32[buf + 68 >> 2] = 0; - HEAP32[buf + 72 >> 2] = stat.ctime.getTime() / 1e3 | 0; - HEAP32[buf + 76 >> 2] = 0; - tempI64 = [ stat.ino >>> 0, (tempDouble = stat.ino, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], - HEAP32[buf + 80 >> 2] = tempI64[0], HEAP32[buf + 84 >> 2] = tempI64[1]; - return 0; - }, - doMsync: function(addr, stream, len, flags, offset) { - var buffer = HEAPU8.slice(addr, addr + len); - FS.msync(stream, buffer, offset, len, flags); - }, - doMkdir: function(path, mode) { - path = PATH.normalize(path); - if (path[path.length - 1] === "/") path = path.substr(0, path.length - 1); - FS.mkdir(path, mode, 0); - return 0; - }, - doMknod: function(path, mode, dev) { - switch (mode & 61440) { - case 32768: - case 8192: - case 24576: - case 4096: - case 49152: - break; - - default: - return -28; - } - FS.mknod(path, mode, dev); - return 0; - }, - doReadlink: function(path, buf, bufsize) { - if (bufsize <= 0) return -28; - var ret = FS.readlink(path); - var len = Math.min(bufsize, lengthBytesUTF8(ret)); - var endChar = HEAP8[buf + len]; - stringToUTF8(ret, buf, bufsize + 1); - HEAP8[buf + len] = endChar; - return len; - }, - doAccess: function(path, amode) { - if (amode & ~7) { - return -28; - } - var node; - var lookup = FS.lookupPath(path, { - follow: true - }); - node = lookup.node; - if (!node) { - return -44; - } - var perms = ""; - if (amode & 4) perms += "r"; - if (amode & 2) perms += "w"; - if (amode & 1) perms += "x"; - if (perms && FS.nodePermissions(node, perms)) { - return -2; - } - return 0; - }, - doDup: function(path, flags, suggestFD) { - var suggest = FS.getStream(suggestFD); - if (suggest) FS.close(suggest); - return FS.open(path, flags, 0, suggestFD, suggestFD).fd; - }, - doReadv: function(stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[iov + i * 8 >> 2]; - var len = HEAP32[iov + (i * 8 + 4) >> 2]; - var curr = FS.read(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) break; - } - return ret; - }, - doWritev: function(stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[iov + i * 8 >> 2]; - var len = HEAP32[iov + (i * 8 + 4) >> 2]; - var curr = FS.write(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - } - return ret; - }, - varargs: undefined, - get: function() { - SYSCALLS.varargs += 4; - var ret = HEAP32[SYSCALLS.varargs - 4 >> 2]; - return ret; - }, - getStr: function(ptr) { - var ret = UTF8ToString(ptr); - return ret; - }, - getStreamFromFD: function(fd) { - var stream = FS.getStream(fd); - if (!stream) throw new FS.ErrnoError(8); - return stream; - }, - get64: function(low, high) { - return low; - } -}; - -function ___syscall_fcntl64(fd, cmd, varargs) { - SYSCALLS.varargs = varargs; - try { - var stream = SYSCALLS.getStreamFromFD(fd); - switch (cmd) { - case 0: - { - var arg = SYSCALLS.get(); - if (arg < 0) { - return -28; - } - var newStream; - newStream = FS.open(stream.path, stream.flags, 0, arg); - return newStream.fd; - } - - case 1: - case 2: - return 0; - - case 3: - return stream.flags; - - case 4: - { - var arg = SYSCALLS.get(); - stream.flags |= arg; - return 0; - } - - case 12: - { - var arg = SYSCALLS.get(); - var offset = 0; - HEAP16[arg + offset >> 1] = 2; - return 0; - } - - case 13: - case 14: - return 0; - - case 16: - case 8: - return -28; - - case 9: - setErrNo(28); - return -1; - - default: - { - return -28; - } - } - } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } -} - -function ___syscall_ioctl(fd, op, varargs) { - SYSCALLS.varargs = varargs; - try { - var stream = SYSCALLS.getStreamFromFD(fd); - switch (op) { - case 21509: - case 21505: - { - if (!stream.tty) return -59; - return 0; - } - - case 21510: - case 21511: - case 21512: - case 21506: - case 21507: - case 21508: - { - if (!stream.tty) return -59; - return 0; - } - - case 21519: - { - if (!stream.tty) return -59; - var argp = SYSCALLS.get(); - HEAP32[argp >> 2] = 0; - return 0; - } - - case 21520: - { - if (!stream.tty) return -59; - return -28; - } - - case 21531: - { - var argp = SYSCALLS.get(); - return FS.ioctl(stream, op, argp); - } - - case 21523: - { - if (!stream.tty) return -59; - return 0; - } - - case 21524: - { - if (!stream.tty) return -59; - return 0; - } - - default: - abort("bad ioctl syscall " + op); - } - } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } -} - -function ___syscall_open(path, flags, varargs) { - SYSCALLS.varargs = varargs; - try { - var pathname = SYSCALLS.getStr(path); - var mode = varargs ? SYSCALLS.get() : 0; - var stream = FS.open(pathname, flags, mode); - return stream.fd; - } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } -} - -function _abort() { - abort(""); -} - -var _emscripten_get_now; - -_emscripten_get_now = function() { - return performance.now(); -}; - -var _emscripten_get_now_is_monotonic = true; - -function _clock_gettime(clk_id, tp) { - var now; - if (clk_id === 0) { - now = Date.now(); - } else if ((clk_id === 1 || clk_id === 4) && _emscripten_get_now_is_monotonic) { - now = _emscripten_get_now(); - } else { - setErrNo(28); - return -1; - } - HEAP32[tp >> 2] = now / 1e3 | 0; - HEAP32[tp + 4 >> 2] = now % 1e3 * 1e3 * 1e3 | 0; - return 0; -} - -function _emscripten_get_heap_max() { - return 2147483648; -} - -function _emscripten_memcpy_big(dest, src, num) { - HEAPU8.copyWithin(dest, src, src + num); -} - -function emscripten_realloc_buffer(size) { - try { - wasmMemory.grow(size - buffer.byteLength + 65535 >>> 16); - updateGlobalBufferAndViews(wasmMemory.buffer); - return 1; - } catch (e) {} -} - -function _emscripten_resize_heap(requestedSize) { - var oldSize = HEAPU8.length; - requestedSize = requestedSize >>> 0; - var maxHeapSize = 2147483648; - if (requestedSize > maxHeapSize) { - return false; - } - for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { - var overGrownHeapSize = oldSize * (1 + .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 ENV = {}; - -function getExecutableName() { - return thisProgram || "./this.program"; -} - -function getEnvStrings() { - if (!getEnvStrings.strings) { - var lang = (typeof navigator === "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8"; - var env = { - "USER": "web_user", - "LOGNAME": "web_user", - "PATH": "/", - "PWD": "/", - "HOME": "/home/web_user", - "LANG": lang, - "_": getExecutableName() - }; - for (var x in ENV) { - if (ENV[x] === undefined) delete env[x]; else env[x] = ENV[x]; - } - var strings = []; - for (var x in env) { - strings.push(x + "=" + env[x]); - } - getEnvStrings.strings = strings; - } - return getEnvStrings.strings; -} - -function _environ_get(__environ, environ_buf) { - var bufSize = 0; - getEnvStrings().forEach(function(string, i) { - var ptr = environ_buf + bufSize; - HEAP32[__environ + i * 4 >> 2] = ptr; - writeAsciiToMemory(string, ptr); - bufSize += string.length + 1; - }); - return 0; -} - -function _environ_sizes_get(penviron_count, penviron_buf_size) { - var strings = getEnvStrings(); - HEAP32[penviron_count >> 2] = strings.length; - var bufSize = 0; - strings.forEach(function(string) { - bufSize += string.length + 1; - }); - HEAP32[penviron_buf_size >> 2] = bufSize; - return 0; -} - -function _fd_close(fd) { - try { - var stream = SYSCALLS.getStreamFromFD(fd); - FS.close(stream); - return 0; - } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); - return e.errno; - } -} - -function _fd_read(fd, iov, iovcnt, pnum) { - try { - var stream = SYSCALLS.getStreamFromFD(fd); - var num = SYSCALLS.doReadv(stream, iov, iovcnt); - HEAP32[pnum >> 2] = num; - return 0; - } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); - return e.errno; - } -} - -function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { - try { - var stream = SYSCALLS.getStreamFromFD(fd); - var HIGH_OFFSET = 4294967296; - var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0); - var DOUBLE_LIMIT = 9007199254740992; - if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) { - return -61; - } - FS.llseek(stream, offset, whence); - tempI64 = [ stream.position >>> 0, (tempDouble = stream.position, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], - HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1]; - if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; - return 0; - } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); - return e.errno; - } -} - -function _fd_write(fd, iov, iovcnt, pnum) { - try { - var stream = SYSCALLS.getStreamFromFD(fd); - var num = SYSCALLS.doWritev(stream, iov, iovcnt); - HEAP32[pnum >> 2] = num; - return 0; - } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); - return e.errno; - } -} - -function _getTempRet0() { - return getTempRet0(); -} - -function _llvm_eh_typeid_for(type) { - return type; -} - -function _setTempRet0(val) { - setTempRet0(val); -} - -function __isLeapYear(year) { - return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0); -} - -function __arraySum(array, index) { - var sum = 0; - for (var i = 0; i <= index; sum += array[i++]) {} - return sum; -} - -var __MONTH_DAYS_LEAP = [ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ]; - -var __MONTH_DAYS_REGULAR = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ]; - -function __addDays(date, days) { - var newDate = new Date(date.getTime()); - while (days > 0) { - var leap = __isLeapYear(newDate.getFullYear()); - var currentMonth = newDate.getMonth(); - var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth]; - if (days > daysInCurrentMonth - newDate.getDate()) { - days -= daysInCurrentMonth - newDate.getDate() + 1; - newDate.setDate(1); - if (currentMonth < 11) { - newDate.setMonth(currentMonth + 1); - } else { - newDate.setMonth(0); - newDate.setFullYear(newDate.getFullYear() + 1); - } - } else { - newDate.setDate(newDate.getDate() + days); - return newDate; - } - } - return newDate; -} - -function _strftime(s, maxsize, format, tm) { - var tm_zone = HEAP32[tm + 40 >> 2]; - var date = { - tm_sec: HEAP32[tm >> 2], - tm_min: HEAP32[tm + 4 >> 2], - tm_hour: HEAP32[tm + 8 >> 2], - tm_mday: HEAP32[tm + 12 >> 2], - tm_mon: HEAP32[tm + 16 >> 2], - tm_year: HEAP32[tm + 20 >> 2], - tm_wday: HEAP32[tm + 24 >> 2], - tm_yday: HEAP32[tm + 28 >> 2], - tm_isdst: HEAP32[tm + 32 >> 2], - tm_gmtoff: HEAP32[tm + 36 >> 2], - tm_zone: tm_zone ? UTF8ToString(tm_zone) : "" - }; - var pattern = UTF8ToString(format); - var EXPANSION_RULES_1 = { - "%c": "%a %b %d %H:%M:%S %Y", - "%D": "%m/%d/%y", - "%F": "%Y-%m-%d", - "%h": "%b", - "%r": "%I:%M:%S %p", - "%R": "%H:%M", - "%T": "%H:%M:%S", - "%x": "%m/%d/%y", - "%X": "%H:%M:%S", - "%Ec": "%c", - "%EC": "%C", - "%Ex": "%m/%d/%y", - "%EX": "%H:%M:%S", - "%Ey": "%y", - "%EY": "%Y", - "%Od": "%d", - "%Oe": "%e", - "%OH": "%H", - "%OI": "%I", - "%Om": "%m", - "%OM": "%M", - "%OS": "%S", - "%Ou": "%u", - "%OU": "%U", - "%OV": "%V", - "%Ow": "%w", - "%OW": "%W", - "%Oy": "%y" - }; - for (var rule in EXPANSION_RULES_1) { - pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_1[rule]); - } - var WEEKDAYS = [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ]; - var MONTHS = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ]; - function leadingSomething(value, digits, character) { - var str = typeof value === "number" ? value.toString() : value || ""; - while (str.length < digits) { - str = character[0] + str; - } - return str; - } - function leadingNulls(value, digits) { - return leadingSomething(value, digits, "0"); - } - function compareByDay(date1, date2) { - function sgn(value) { - return value < 0 ? -1 : value > 0 ? 1 : 0; - } - var compare; - if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) { - if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) { - compare = sgn(date1.getDate() - date2.getDate()); - } - } - return compare; - } - function getFirstWeekStartDate(janFourth) { - switch (janFourth.getDay()) { - case 0: - return new Date(janFourth.getFullYear() - 1, 11, 29); - - case 1: - return janFourth; - - case 2: - return new Date(janFourth.getFullYear(), 0, 3); - - case 3: - return new Date(janFourth.getFullYear(), 0, 2); - - case 4: - return new Date(janFourth.getFullYear(), 0, 1); - - case 5: - return new Date(janFourth.getFullYear() - 1, 11, 31); - - case 6: - return new Date(janFourth.getFullYear() - 1, 11, 30); - } - } - function getWeekBasedYear(date) { - var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday); - var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4); - var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4); - var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); - var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); - if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) { - if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) { - return thisDate.getFullYear() + 1; - } else { - return thisDate.getFullYear(); - } - } else { - return thisDate.getFullYear() - 1; - } - } - var EXPANSION_RULES_2 = { - "%a": function(date) { - return WEEKDAYS[date.tm_wday].substring(0, 3); - }, - "%A": function(date) { - return WEEKDAYS[date.tm_wday]; - }, - "%b": function(date) { - return MONTHS[date.tm_mon].substring(0, 3); - }, - "%B": function(date) { - return MONTHS[date.tm_mon]; - }, - "%C": function(date) { - var year = date.tm_year + 1900; - return leadingNulls(year / 100 | 0, 2); - }, - "%d": function(date) { - return leadingNulls(date.tm_mday, 2); - }, - "%e": function(date) { - return leadingSomething(date.tm_mday, 2, " "); - }, - "%g": function(date) { - return getWeekBasedYear(date).toString().substring(2); - }, - "%G": function(date) { - return getWeekBasedYear(date); - }, - "%H": function(date) { - return leadingNulls(date.tm_hour, 2); - }, - "%I": function(date) { - var twelveHour = date.tm_hour; - if (twelveHour == 0) twelveHour = 12; else if (twelveHour > 12) twelveHour -= 12; - return leadingNulls(twelveHour, 2); - }, - "%j": function(date) { - return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3); - }, - "%m": function(date) { - return leadingNulls(date.tm_mon + 1, 2); - }, - "%M": function(date) { - return leadingNulls(date.tm_min, 2); - }, - "%n": function() { - return "\n"; - }, - "%p": function(date) { - if (date.tm_hour >= 0 && date.tm_hour < 12) { - return "AM"; - } else { - return "PM"; - } - }, - "%S": function(date) { - return leadingNulls(date.tm_sec, 2); - }, - "%t": function() { - return "\t"; - }, - "%u": function(date) { - return date.tm_wday || 7; - }, - "%U": function(date) { - var janFirst = new Date(date.tm_year + 1900, 0, 1); - var firstSunday = janFirst.getDay() === 0 ? janFirst : __addDays(janFirst, 7 - janFirst.getDay()); - var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday); - if (compareByDay(firstSunday, endDate) < 0) { - var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31; - var firstSundayUntilEndJanuary = 31 - firstSunday.getDate(); - var days = firstSundayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate(); - return leadingNulls(Math.ceil(days / 7), 2); - } - return compareByDay(firstSunday, janFirst) === 0 ? "01" : "00"; - }, - "%V": function(date) { - var janFourthThisYear = new Date(date.tm_year + 1900, 0, 4); - var janFourthNextYear = new Date(date.tm_year + 1901, 0, 4); - var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); - var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); - var endDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday); - if (compareByDay(endDate, firstWeekStartThisYear) < 0) { - return "53"; - } - if (compareByDay(firstWeekStartNextYear, endDate) <= 0) { - return "01"; - } - var daysDifference; - if (firstWeekStartThisYear.getFullYear() < date.tm_year + 1900) { - daysDifference = date.tm_yday + 32 - firstWeekStartThisYear.getDate(); - } else { - daysDifference = date.tm_yday + 1 - firstWeekStartThisYear.getDate(); - } - return leadingNulls(Math.ceil(daysDifference / 7), 2); - }, - "%w": function(date) { - return date.tm_wday; - }, - "%W": function(date) { - var janFirst = new Date(date.tm_year, 0, 1); - var firstMonday = janFirst.getDay() === 1 ? janFirst : __addDays(janFirst, janFirst.getDay() === 0 ? 1 : 7 - janFirst.getDay() + 1); - var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday); - if (compareByDay(firstMonday, endDate) < 0) { - var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31; - var firstMondayUntilEndJanuary = 31 - firstMonday.getDate(); - var days = firstMondayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate(); - return leadingNulls(Math.ceil(days / 7), 2); - } - return compareByDay(firstMonday, janFirst) === 0 ? "01" : "00"; - }, - "%y": function(date) { - return (date.tm_year + 1900).toString().substring(2); - }, - "%Y": function(date) { - return date.tm_year + 1900; - }, - "%z": function(date) { - var off = date.tm_gmtoff; - var ahead = off >= 0; - off = Math.abs(off) / 60; - off = off / 60 * 100 + off % 60; - return (ahead ? "+" : "-") + String("0000" + off).slice(-4); - }, - "%Z": function(date) { - return date.tm_zone; - }, - "%%": function() { - return "%"; - } - }; - for (var rule in EXPANSION_RULES_2) { - if (pattern.includes(rule)) { - pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_2[rule](date)); - } - } - var bytes = intArrayFromString(pattern, false); - if (bytes.length > maxsize) { - return 0; - } - writeArrayToMemory(bytes, s); - return bytes.length - 1; -} - -function _strftime_l(s, maxsize, format, tm) { - return _strftime(s, maxsize, format, tm); -} - -function _time(ptr) { - var ret = Date.now() / 1e3 | 0; - if (ptr) { - HEAP32[ptr >> 2] = ret; - } - return ret; -} - -var FSNode = function(parent, name, mode, rdev) { - if (!parent) { - parent = this; - } - this.parent = parent; - this.mount = parent.mount; - this.mounted = null; - this.id = FS.nextInode++; - this.name = name; - this.mode = mode; - this.node_ops = {}; - this.stream_ops = {}; - this.rdev = rdev; -}; - -var readMode = 292 | 73; - -var writeMode = 146; - -Object.defineProperties(FSNode.prototype, { - read: { - get: function() { - return (this.mode & readMode) === readMode; - }, - set: function(val) { - val ? this.mode |= readMode : this.mode &= ~readMode; - } - }, - write: { - get: function() { - return (this.mode & writeMode) === writeMode; - }, - set: function(val) { - val ? this.mode |= writeMode : this.mode &= ~writeMode; - } - }, - isFolder: { - get: function() { - return FS.isDir(this.mode); - } - }, - isDevice: { - get: function() { - return FS.isChrdev(this.mode); - } - } -}); - -FS.FSNode = FSNode; - -FS.staticInit(); - -function intArrayFromString(stringy, dontAddNull, length) { - var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1; - var u8array = new Array(len); - var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); - if (dontAddNull) u8array.length = numBytesWritten; - return u8array; -} - -var asmLibraryArg = { - "K": ___cxa_allocate_exception, - "y": ___cxa_begin_catch, - "yb": ___cxa_current_primary_exception, - "Na": ___cxa_decrement_exception_refcount, - "F": ___cxa_end_catch, - "b": ___cxa_find_matching_catch_2, - "n": ___cxa_find_matching_catch_3, - "D": ___cxa_find_matching_catch_4, - "M": ___cxa_free_exception, - "Ma": ___cxa_increment_exception_refcount, - "Ha": ___cxa_rethrow, - "xb": ___cxa_rethrow_primary_exception, - "J": ___cxa_throw, - "zb": ___cxa_uncaught_exceptions, - "e": ___resumeException, - "Oa": ___syscall_fcntl64, - "Eb": ___syscall_ioctl, - "Pa": ___syscall_open, - "Ka": _abort, - "La": _clock_gettime, - "Db": _emscripten_get_heap_max, - "vb": _emscripten_memcpy_big, - "wb": _emscripten_resize_heap, - "Bb": _environ_get, - "Cb": _environ_sizes_get, - "oa": _fd_close, - "Qa": _fd_read, - "rb": _fd_seek, - "pa": _fd_write, - "a": _getTempRet0, - "Z": invoke_di, - "v": invoke_dii, - "W": invoke_diii, - "p": invoke_fi, - "I": invoke_fii, - "Ga": invoke_fiii, - "Kb": invoke_fiiii, - "Sa": invoke_fiiiii, - "X": invoke_fiiiiii, - "r": invoke_i, - "c": invoke_ii, - "R": invoke_iid, - "na": invoke_iif, - "T": invoke_iifff, - "mb": invoke_iifii, - "d": invoke_iii, - "j": invoke_iiii, - "ma": invoke_iiiidd, - "xa": invoke_iiiidi, - "z": invoke_iiiidii, - "Jb": invoke_iiiiff, - "m": invoke_iiiii, - "Aa": invoke_iiiiid, - "da": invoke_iiiiidii, - "o": invoke_iiiiii, - "s": invoke_iiiiiii, - "Gb": invoke_iiiiiiif, - "ia": invoke_iiiiiiii, - "H": invoke_iiiiiiiii, - "Ua": invoke_iiiiiiiiii, - "V": invoke_iiiiiiiiiii, - "ca": invoke_iiiiiiiiiiii, - "pb": invoke_iiiiij, - "ub": invoke_j, - "sb": invoke_jii, - "tb": invoke_jiii, - "qb": invoke_jiiii, - "u": invoke_v, - "gb": invoke_vdiii, - "bb": invoke_vffi, - "Ya": invoke_vfi, - "i": invoke_vi, - "O": invoke_vidi, - "U": invoke_vididdii, - "Ba": invoke_vidii, - "Ib": invoke_viffffffff, - "S": invoke_vifi, - "ua": invoke_vifii, - "g": invoke_vii, - "l": invoke_viid, - "nb": invoke_viidd, - "G": invoke_viididii, - "Ia": invoke_viidiiid, - "ea": invoke_viidiiiii, - "Ta": invoke_viifff, - "ta": invoke_viifffiiii, - "sa": invoke_viiffifi, - "Za": invoke_viifii, - "Hb": invoke_viifiifi, - "fa": invoke_viifiifii, - "Y": invoke_viifiiiiiii, - "h": invoke_viii, - "L": invoke_viiid, - "w": invoke_viiidd, - "B": invoke_viiiddi, - "A": invoke_viiidi, - "lb": invoke_viiidii, - "Va": invoke_viiiff, - "Wa": invoke_viiifi, - "qa": invoke_viiifii, - "k": invoke_viiii, - "N": invoke_viiiid, - "Ja": invoke_viiiidd, - "ob": invoke_viiiiddi, - "ka": invoke_viiiidi, - "ya": invoke_viiiidid, - "Ca": invoke_viiiidiidiiiiiii, - "va": invoke_viiiif, - "Lb": invoke_viiiiffi, - "Xa": invoke_viiiifi, - "Da": invoke_viiiifiifiiiiiii, - "$a": invoke_viiiifiiifiii, - "f": invoke_viiiii, - "ha": invoke_viiiiid, - "Ea": invoke_viiiiidi, - "kb": invoke_viiiiidiii, - "ra": invoke_viiiiifi, - "q": invoke_viiiiii, - "Fa": invoke_viiiiiidi, - "la": invoke_viiiiiidiii, - "Mb": invoke_viiiiiif, - "ab": invoke_viiiiiifiiiiiifiii, - "t": invoke_viiiiiii, - "hb": invoke_viiiiiiiddi, - "_a": invoke_viiiiiiifiiiifiii, - "wa": invoke_viiiiiiifiiiiiifiii, - "x": invoke_viiiiiiii, - "_": invoke_viiiiiiiidd, - "$": invoke_viiiiiiiidf, - "Fb": invoke_viiiiiiiif, - "C": invoke_viiiiiiiii, - "eb": invoke_viiiiiiiiidd, - "db": invoke_viiiiiiiiiddi, - "Nb": invoke_viiiiiiiiiffiii, - "E": invoke_viiiiiiiiii, - "za": invoke_viiiiiiiiiiddi, - "ga": invoke_viiiiiiiiiifii, - "P": invoke_viiiiiiiiiii, - "ja": invoke_viiiiiiiiiiiii, - "cb": invoke_viiiiiiiiiiiiii, - "ba": invoke_viiiiiiiiiiiiiii, - "Ob": invoke_viiiiiiiiiiiiiiii, - "ib": invoke_viiiiiiiiiiiiiiiiiiidi, - "jb": invoke_viiiiiiiiiiiiiiiiiiidii, - "fb": invoke_viiiiiiiiiiiiiiiiiiiiiiiiiiii, - "Q": _llvm_eh_typeid_for, - "aa": _setTempRet0, - "Ab": _strftime_l, - "Ra": _time -}; - -var asm = createWasm(); - -var ___wasm_call_ctors = Module["___wasm_call_ctors"] = function() { - return (___wasm_call_ctors = Module["___wasm_call_ctors"] = Module["asm"]["Qb"]).apply(null, arguments); -}; - -var _qrtool_angle = Module["_qrtool_angle"] = function() { - return (_qrtool_angle = Module["_qrtool_angle"] = Module["asm"]["Rb"]).apply(null, arguments); -}; - -var _malloc = Module["_malloc"] = function() { - return (_malloc = Module["_malloc"] = Module["asm"]["Tb"]).apply(null, arguments); -}; - -var _free = Module["_free"] = function() { - return (_free = Module["_free"] = Module["asm"]["Ub"]).apply(null, arguments); -}; - -var ___errno_location = Module["___errno_location"] = function() { - return (___errno_location = Module["___errno_location"] = Module["asm"]["Vb"]).apply(null, arguments); -}; - -var stackSave = Module["stackSave"] = function() { - return (stackSave = Module["stackSave"] = Module["asm"]["Wb"]).apply(null, arguments); -}; - -var stackRestore = Module["stackRestore"] = function() { - return (stackRestore = Module["stackRestore"] = Module["asm"]["Xb"]).apply(null, arguments); -}; - -var stackAlloc = Module["stackAlloc"] = function() { - return (stackAlloc = Module["stackAlloc"] = Module["asm"]["Yb"]).apply(null, arguments); -}; - -var _setThrew = Module["_setThrew"] = function() { - return (_setThrew = Module["_setThrew"] = Module["asm"]["Zb"]).apply(null, arguments); -}; - -var ___cxa_can_catch = Module["___cxa_can_catch"] = function() { - return (___cxa_can_catch = Module["___cxa_can_catch"] = Module["asm"]["_b"]).apply(null, arguments); -}; - -var ___cxa_is_pointer_type = Module["___cxa_is_pointer_type"] = function() { - return (___cxa_is_pointer_type = Module["___cxa_is_pointer_type"] = Module["asm"]["$b"]).apply(null, arguments); -}; - -var dynCall_j = Module["dynCall_j"] = function() { - return (dynCall_j = Module["dynCall_j"] = Module["asm"]["ac"]).apply(null, arguments); -}; - -var dynCall_jiii = Module["dynCall_jiii"] = function() { - return (dynCall_jiii = Module["dynCall_jiii"] = Module["asm"]["bc"]).apply(null, arguments); -}; - -var dynCall_jii = Module["dynCall_jii"] = function() { - return (dynCall_jii = Module["dynCall_jii"] = Module["asm"]["cc"]).apply(null, arguments); -}; - -var dynCall_jiiii = Module["dynCall_jiiii"] = function() { - return (dynCall_jiiii = Module["dynCall_jiiii"] = Module["asm"]["dc"]).apply(null, arguments); -}; - -var dynCall_iiiiij = Module["dynCall_iiiiij"] = function() { - return (dynCall_iiiiij = Module["dynCall_iiiiij"] = Module["asm"]["ec"]).apply(null, arguments); -}; - -function invoke_iiiiii(index, a1, a2, a3, a4, a5) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1, a2, a3, a4, a5); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viii(index, a1, a2, a3) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_vi(index, a1) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_ii(index, a1) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiidd(index, a1, a2, a3, a4, a5) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiddi(index, a1, a2, a3, a4, a5, a6) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiii(index, a1, a2, a3, a4) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_iiii(index, a1, a2, a3) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1, a2, a3); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_iii(index, a1, a2) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1, a2); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_iiiii(index, a1, a2, a3, a4) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1, a2, a3, a4); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_vii(index, a1, a2) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiddi(index, a1, a2, a3, a4, a5, a6, a7) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viidd(index, a1, a2, a3, a4) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_i(index) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_iifii(index, a1, a2, a3, a4) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1, a2, a3, a4); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_dii(index, a1, a2) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1, a2); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiidd(index, a1, a2, a3, a4, a5, a6) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viidiiid(index, a1, a2, a3, a4, a5, a6, a7) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_iiiiiii(index, a1, a2, a3, a4, a5, a6) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_v(index) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiii(index, a1, a2, a3, a4, a5) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiii(index, a1, a2, a3, a4, a5, a6) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_iif(index, a1, a2) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1, a2); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_iid(index, a1, a2) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1, a2); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_iiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_fiii(index, a1, a2, a3) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1, a2, a3); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viid(index, a1, a2, a3) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_diii(index, a1, a2, a3) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1, a2, a3); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_vidi(index, a1, a2, a3) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_iiiidd(index, a1, a2, a3, a4, a5) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1, a2, a3, a4, a5); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiiidiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiiidi(index, a1, a2, a3, a4, a5, a6, a7, a8) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiidi(index, a1, a2, a3, a4, a5, a6, a7) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_iiiidii(index, a1, a2, a3, a4, a5, a6) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiid(index, a1, a2, a3, a4) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiidii(index, a1, a2, a3, a4, a5, a6) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_iiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiidiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiidi(index, a1, a2, a3, a4, a5, a6) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiiiiiiiiiiiiiiiidii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiiiiiiiiiiiiiiiidi(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viididii(index, a1, a2, a3, a4, a5, a6, a7) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiifiifiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiidiidiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_vidii(index, a1, a2, a3, a4) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_iiiiid(index, a1, a2, a3, a4, a5) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1, a2, a3, a4, a5); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiiiiiiiddi(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiiiiddi(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiiiiidf(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiiiiidd(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_di(index, a1) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiidi(index, a1, a2, a3, a4, a5) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiid(index, a1, a2, a3, a4, a5) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiidid(index, a1, a2, a3, a4, a5, a6, a7) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_vididdii(index, a1, a2, a3, a4, a5, a6, a7) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_vdiii(index, a1, a2, a3, a4) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiid(index, a1, a2, a3, a4, a5, a6) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiiiiiiiiiiiiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiiiiiidd(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_iiiidi(index, a1, a2, a3, a4, a5) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1, a2, a3, a4, a5); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiiiiiiddi(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_fii(index, a1, a2) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1, a2); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_vffi(index, a1, a2, a3) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiiiiiiifii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiiifiiiiiifiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiiiifiiiiiifiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiifiiifiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viifiifii(index, a1, a2, a3, a4, a5, a6, a7, a8) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiiiifiiiifiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viifii(index, a1, a2, a3, a4, a5) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiif(index, a1, a2, a3, a4, a5) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_vfi(index, a1, a2) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiifi(index, a1, a2, a3, a4, a5, a6) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiifi(index, a1, a2, a3, a4, a5) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viifiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_fiiiiii(index, a1, a2, a3, a4, a5, a6) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiff(index, a1, a2, a3, a4, a5) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_vifii(index, a1, a2, a3, a4) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viifffiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiffifi(index, a1, a2, a3, a4, a5, a6, a7) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiiiiiiffiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiiif(index, a1, a2, a3, a4, a5, a6, a7) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiifi(index, a1, a2, a3, a4, a5, a6, a7) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viidiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiffi(index, a1, a2, a3, a4, a5, a6, a7) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiifii(index, a1, a2, a3, a4, a5, a6) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_iiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_fi(index, a1) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_fiiii(index, a1, a2, a3, a4) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1, a2, a3, a4); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_iifff(index, a1, a2, a3, a4) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1, a2, a3, a4); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viifff(index, a1, a2, a3, a4, a5) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_fiiiii(index, a1, a2, a3, a4, a5) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1, a2, a3, a4, a5); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_iiiiff(index, a1, a2, a3, a4, a5) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1, a2, a3, a4, a5); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viffffffff(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viifiifi(index, a1, a2, a3, a4, a5, a6, a7) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_iiiiiiif(index, a1, a2, a3, a4, a5, a6, a7) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiiiiif(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_iiiiidii(index, a1, a2, a3, a4, a5, a6, a7) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_vifi(index, a1, a2, a3) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_iiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_j(index) { - var sp = stackSave(); - try { - return dynCall_j(index); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_jiii(index, a1, a2, a3) { - var sp = stackSave(); - try { - return dynCall_jiii(index, a1, a2, a3); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_jii(index, a1, a2) { - var sp = stackSave(); - try { - return dynCall_jii(index, a1, a2); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_jiiii(index, a1, a2, a3, a4) { - var sp = stackSave(); - try { - return dynCall_jiiii(index, a1, a2, a3, a4); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -function invoke_iiiiij(index, a1, a2, a3, a4, a5, a6) { - var sp = stackSave(); - try { - return dynCall_iiiiij(index, a1, a2, a3, a4, a5, a6); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - -Module["ccall"] = ccall; - -Module["cwrap"] = cwrap; - -var calledRun; - -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(); - 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(); diff --git a/web/public/camera-3.2/js/qrtool.web.wasm b/web/public/camera-3.2/js/qrtool.web.wasm deleted file mode 100755 index 79252dbe55f41458010f748ec27923f351b5ffe7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4156572 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
    (WVrcc!mCLTL`Wx8bgq4gv?C!P~4 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