tasmota-webserial-esptool 6.5.3 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.vscode/settings.json +2 -0
- package/README.md +4 -3
- package/READ_FLASH_FEATURE.md +130 -0
- package/css/light.css +11 -0
- package/css/style.css +213 -45
- package/dist/const.d.ts +42 -3
- package/dist/const.js +102 -4
- package/dist/esp_loader.d.ts +27 -3
- package/dist/esp_loader.js +376 -17
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -2
- package/dist/partition.d.ts +26 -0
- package/dist/partition.js +129 -0
- package/dist/stubs/esp32.json +4 -4
- package/dist/stubs/esp32c2.json +4 -4
- package/dist/stubs/esp32c3.json +4 -4
- package/dist/stubs/esp32c5.json +4 -4
- package/dist/stubs/esp32c6.json +4 -4
- package/dist/stubs/esp32c61.json +4 -4
- package/dist/stubs/esp32h2.json +4 -4
- package/dist/stubs/esp32p4.json +4 -4
- package/dist/stubs/esp32p4r3.json +4 -4
- package/dist/stubs/esp32s2.json +4 -4
- package/dist/stubs/esp32s3.json +4 -4
- package/dist/stubs/esp8266.json +3 -3
- package/dist/stubs/index.d.ts +1 -1
- package/dist/stubs/index.js +7 -1
- package/dist/web/esp32-CijhsJH1.js +1 -0
- package/dist/web/esp32c2-C17SM4gO.js +1 -0
- package/dist/web/esp32c3-DxRGijbg.js +1 -0
- package/dist/web/esp32c5-3mDOIGa4.js +1 -0
- package/dist/web/esp32c6-h6U0SQTm.js +1 -0
- package/dist/web/esp32c61-BKtexhPZ.js +1 -0
- package/dist/web/esp32h2-RtuWSEmP.js +1 -0
- package/dist/web/esp32p4-5nkIjxqJ.js +1 -0
- package/dist/web/esp32p4r3-CpHBYEwI.js +1 -0
- package/dist/web/esp32s2-IiDBtXxo.js +1 -0
- package/dist/web/esp32s3-6yv5yxum.js +1 -0
- package/dist/web/esp8266-CUwxJpGa.js +1 -0
- package/dist/web/index.js +1 -1
- package/index.html +158 -34
- package/js/modules/esp32-CijhsJH1.js +1 -0
- package/js/modules/esp32c2-C17SM4gO.js +1 -0
- package/js/modules/esp32c3-DxRGijbg.js +1 -0
- package/js/modules/esp32c5-3mDOIGa4.js +1 -0
- package/js/modules/esp32c6-h6U0SQTm.js +1 -0
- package/js/modules/esp32c61-BKtexhPZ.js +1 -0
- package/js/modules/esp32h2-RtuWSEmP.js +1 -0
- package/js/modules/esp32p4-5nkIjxqJ.js +1 -0
- package/js/modules/esp32p4r3-CpHBYEwI.js +1 -0
- package/js/modules/esp32s2-IiDBtXxo.js +1 -0
- package/js/modules/esp32s3-6yv5yxum.js +1 -0
- package/js/modules/esp8266-CUwxJpGa.js +1 -0
- package/js/modules/esptool.js +1 -1
- package/js/script.js +456 -11
- package/package.json +6 -6
- package/src/const.ts +109 -5
- package/src/esp_loader.ts +491 -18
- package/src/index.ts +3 -1
- package/src/partition.ts +155 -0
- package/src/stubs/README.md +1 -1
- package/src/stubs/esp32.json +4 -4
- package/src/stubs/esp32c2.json +4 -4
- package/src/stubs/esp32c3.json +4 -4
- package/src/stubs/esp32c5.json +4 -4
- package/src/stubs/esp32c6.json +4 -4
- package/src/stubs/esp32c61.json +4 -4
- package/src/stubs/esp32h2.json +4 -4
- package/src/stubs/esp32p4.json +4 -4
- package/src/stubs/esp32p4r3.json +4 -4
- package/src/stubs/esp32s2.json +4 -4
- package/src/stubs/esp32s3.json +4 -4
- package/src/stubs/esp8266.json +3 -3
- package/src/stubs/index.ts +14 -2
- package/BUGFIX_GET_SECURITY_INFO.md +0 -126
- package/IMPLEMENTATION_SUMMARY.md +0 -232
- package/SECURITY_INFO_EXPLANATION.md +0 -145
- package/dist/web/esp32-BNIFdu1P.js +0 -1
- package/dist/web/esp32c2-BqxquOKw.js +0 -1
- package/dist/web/esp32c3-BOOqe8me.js +0 -1
- package/dist/web/esp32c5-mcj52-K1.js +0 -1
- package/dist/web/esp32c6-Cg5qYgg7.js +0 -1
- package/dist/web/esp32c61-CzCdsydk.js +0 -1
- package/dist/web/esp32h2-DZa_lpff.js +0 -1
- package/dist/web/esp32p4-DyGqUAeZ.js +0 -1
- package/dist/web/esp32p4r3-Cle9QJmZ.js +0 -1
- package/dist/web/esp32s2-Bk4mqADi.js +0 -1
- package/dist/web/esp32s3-Df3OUCOC.js +0 -1
- package/dist/web/esp8266-CQFcqJ_a.js +0 -1
- package/js/modules/esp32-BNIFdu1P.js +0 -1
- package/js/modules/esp32c2-BqxquOKw.js +0 -1
- package/js/modules/esp32c3-BOOqe8me.js +0 -1
- package/js/modules/esp32c5-mcj52-K1.js +0 -1
- package/js/modules/esp32c6-Cg5qYgg7.js +0 -1
- package/js/modules/esp32c61-CzCdsydk.js +0 -1
- package/js/modules/esp32h2-DZa_lpff.js +0 -1
- package/js/modules/esp32p4-DyGqUAeZ.js +0 -1
- package/js/modules/esp32p4r3-Cle9QJmZ.js +0 -1
- package/js/modules/esp32s2-Bk4mqADi.js +0 -1
- package/js/modules/esp32s3-Df3OUCOC.js +0 -1
- package/js/modules/esp8266-CQFcqJ_a.js +0 -1
package/dist/web/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=t=>{let e=[];for(let a=0;a<t.length;a++){let s=t.charCodeAt(a);s<=255&&e.push(s)}return e},e=t=>"["+t.map(t=>a(t)).join(", ")+"]",a=(t,e=2)=>{let a=t.toString(16).toUpperCase();return a.startsWith("-")?"-0x"+a.substring(1).padStart(e,"0"):"0x"+a.padStart(e,"0")},s=t=>new Promise(e=>setTimeout(e,t)),i={18:"256KB",19:"512KB",20:"1MB",21:"2MB",22:"4MB",23:"8MB",24:"16MB",25:"32MB",26:"64MB"},r=115200,n=1343410176,h=t(" UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU"),l=33382,o=50,_=12882,d=12883,f=12994,u=12995,c=12997,g=12998,p=207969,m=12914,w=12928,y={5:{name:"ESP32-C3",family:u},9:{name:"ESP32-S3",family:d},12:{name:"ESP32-C2",family:f},13:{name:"ESP32-C6",family:g},16:{name:"ESP32-H2",family:m},18:{name:"ESP32-P4",family:w},20:{name:"ESP32-C61",family:p},23:{name:"ESP32-C5",family:c}},b={4293968129:{name:"ESP8266",family:l},15736195:{name:"ESP32",family:o},1990:{name:"ESP32-S2",family:_},9:{name:"ESP32-S3",family:d},203546735:{name:"ESP32-C2",family:f},1867591791:{name:"ESP32-C2",family:f},2084675695:{name:"ESP32-C2",family:f},456216687:{name:"ESP32-C3",family:u},1130455151:{name:"ESP32-C3",family:u},1216438383:{name:"ESP32-C3",family:u},1763790959:{name:"ESP32-C3",family:u},285294703:{name:"ESP32-C5",family:c},1607549039:{name:"ESP32-C5",family:c},1548751960:{name:"ESP32-C5",family:c},1675706479:{name:"ESP32-C5",family:c},752910447:{name:"ESP32-C6",family:g},606167151:{name:"ESP32-C61",family:p},871374959:{name:"ESP32-C61",family:p},1333878895:{name:"ESP32-C61",family:p},1913741423:{name:"ESP32-C61",family:p},2548236392:{name:"ESP32-H2",family:m},3619110528:{name:"ESP32-H2",family:m},0:{name:"ESP32-P4",family:w},117676761:{name:"ESP32-P4",family:w},182303440:{name:"ESP32-P4",family:w}},v=3e3,S=6e5,k=(t,e)=>{let a=Math.floor(t*(e/486));return a<v?v:a},z=t=>{switch(t){case o:return{regBase:1072963584,baseFuse:1073061888,macFuse:1073061888,usrOffs:28,usr1Offs:32,usr2Offs:36,mosiDlenOffs:40,misoDlenOffs:44,w0Offs:128,uartDateReg:1610612856,flashOffs:4096};case _:return{regBase:1061167104,baseFuse:1061265408,macFuse:1061265476,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612856,flashOffs:4096};case d:return{regBase:1610620928,usrOffs:24,baseFuse:1610641408,macFuse:1610641476,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612864,flashOffs:0};case l:return{regBase:1610613248,usrOffs:28,baseFuse:1072693328,macFuse:1072693328,usr1Offs:32,usr2Offs:36,mosiDlenOffs:-1,misoDlenOffs:-1,w0Offs:64,uartDateReg:1610612856,flashOffs:0};case f:case u:return{regBase:1610620928,baseFuse:1610647552,macFuse:1610647620,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:0};case c:return{regBase:1610625024,baseFuse:1611352064,macFuse:1611352132,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:8192};case g:return{regBase:1610625024,baseFuse:1611335680,macFuse:1611335748,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:0};case p:return{regBase:1610625024,baseFuse:1611352064,macFuse:1611352132,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:0};case m:return{regBase:1610625024,baseFuse:1610719232,macFuse:1610719300,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:0};case w:return{regBase:1342754816,baseFuse:n,macFuse:1343410244,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1343004812,flashOffs:8192};default:return{regBase:-1,baseFuse:-1,macFuse:-1,usrOffs:-1,usr1Offs:-1,usr2Offs:-1,mosiDlenOffs:-1,misoDlenOffs:-1,w0Offs:-1,uartDateReg:-1,flashOffs:-1}}};class R extends Error{constructor(t){super(t),this.name="SlipReadError"}}const F=async(e,a)=>{let s;return e==o?s=await import("./esp32-BNIFdu1P.js"):e==_?s=await import("./esp32s2-Bk4mqADi.js"):e==d?s=await import("./esp32s3-Df3OUCOC.js"):e==l?s=await import("./esp8266-CQFcqJ_a.js"):e==f?s=await import("./esp32c2-BqxquOKw.js"):e==u?s=await import("./esp32c3-BOOqe8me.js"):e==c?s=await import("./esp32c5-mcj52-K1.js"):e==g?s=await import("./esp32c6-Cg5qYgg7.js"):e==p?s=await import("./esp32c61-CzCdsydk.js"):e==m?s=await import("./esp32h2-DZa_lpff.js"):e==w&&(s=null!=a&&a>=300?await import("./esp32p4r3-Cle9QJmZ.js"):await import("./esp32p4-DyGqUAeZ.js")),{...s,text:t(atob(s.text)),data:t(atob(s.data))}};function E(t){let e=t.length;for(;--e>=0;)t[e]=0}const U=256,D=286,I=30,O=15,x=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),A=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),C=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),B=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),T=new Array(576);E(T);const P=new Array(60);E(P);const L=new Array(512);E(L);const Z=new Array(256);E(Z);const $=new Array(29);E($);const N=new Array(I);function M(t,e,a,s,i){this.static_tree=t,this.extra_bits=e,this.extra_base=a,this.elems=s,this.max_length=i,this.has_stree=t&&t.length}let H,V,j;function W(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}E(N);const K=t=>t<256?L[t]:L[256+(t>>>7)],Y=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},G=(t,e,a)=>{t.bi_valid>16-a?(t.bi_buf|=e<<t.bi_valid&65535,Y(t,t.bi_buf),t.bi_buf=e>>16-t.bi_valid,t.bi_valid+=a-16):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=a)},q=(t,e,a)=>{G(t,a[2*e],a[2*e+1])},X=(t,e)=>{let a=0;do{a|=1&t,t>>>=1,a<<=1}while(--e>0);return a>>>1},Q=(t,e,a)=>{const s=new Array(16);let i,r,n=0;for(i=1;i<=O;i++)n=n+a[i-1]<<1,s[i]=n;for(r=0;r<=e;r++){let e=t[2*r+1];0!==e&&(t[2*r]=X(s[e]++,e))}},J=t=>{let e;for(e=0;e<D;e++)t.dyn_ltree[2*e]=0;for(e=0;e<I;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.sym_next=t.matches=0},tt=t=>{t.bi_valid>8?Y(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},et=(t,e,a,s)=>{const i=2*e,r=2*a;return t[i]<t[r]||t[i]===t[r]&&s[e]<=s[a]},at=(t,e,a)=>{const s=t.heap[a];let i=a<<1;for(;i<=t.heap_len&&(i<t.heap_len&&et(e,t.heap[i+1],t.heap[i],t.depth)&&i++,!et(e,s,t.heap[i],t.depth));)t.heap[a]=t.heap[i],a=i,i<<=1;t.heap[a]=s},st=(t,e,a)=>{let s,i,r,n,h=0;if(0!==t.sym_next)do{s=255&t.pending_buf[t.sym_buf+h++],s+=(255&t.pending_buf[t.sym_buf+h++])<<8,i=t.pending_buf[t.sym_buf+h++],0===s?q(t,i,e):(r=Z[i],q(t,r+U+1,e),n=x[r],0!==n&&(i-=$[r],G(t,i,n)),s--,r=K(s),q(t,r,a),n=A[r],0!==n&&(s-=N[r],G(t,s,n)))}while(h<t.sym_next);q(t,256,e)},it=(t,e)=>{const a=e.dyn_tree,s=e.stat_desc.static_tree,i=e.stat_desc.has_stree,r=e.stat_desc.elems;let n,h,l,o=-1;for(t.heap_len=0,t.heap_max=573,n=0;n<r;n++)0!==a[2*n]?(t.heap[++t.heap_len]=o=n,t.depth[n]=0):a[2*n+1]=0;for(;t.heap_len<2;)l=t.heap[++t.heap_len]=o<2?++o:0,a[2*l]=1,t.depth[l]=0,t.opt_len--,i&&(t.static_len-=s[2*l+1]);for(e.max_code=o,n=t.heap_len>>1;n>=1;n--)at(t,a,n);l=r;do{n=t.heap[1],t.heap[1]=t.heap[t.heap_len--],at(t,a,1),h=t.heap[1],t.heap[--t.heap_max]=n,t.heap[--t.heap_max]=h,a[2*l]=a[2*n]+a[2*h],t.depth[l]=(t.depth[n]>=t.depth[h]?t.depth[n]:t.depth[h])+1,a[2*n+1]=a[2*h+1]=l,t.heap[1]=l++,at(t,a,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,e)=>{const a=e.dyn_tree,s=e.max_code,i=e.stat_desc.static_tree,r=e.stat_desc.has_stree,n=e.stat_desc.extra_bits,h=e.stat_desc.extra_base,l=e.stat_desc.max_length;let o,_,d,f,u,c,g=0;for(f=0;f<=O;f++)t.bl_count[f]=0;for(a[2*t.heap[t.heap_max]+1]=0,o=t.heap_max+1;o<573;o++)_=t.heap[o],f=a[2*a[2*_+1]+1]+1,f>l&&(f=l,g++),a[2*_+1]=f,_>s||(t.bl_count[f]++,u=0,_>=h&&(u=n[_-h]),c=a[2*_],t.opt_len+=c*(f+u),r&&(t.static_len+=c*(i[2*_+1]+u)));if(0!==g){do{for(f=l-1;0===t.bl_count[f];)f--;t.bl_count[f]--,t.bl_count[f+1]+=2,t.bl_count[l]--,g-=2}while(g>0);for(f=l;0!==f;f--)for(_=t.bl_count[f];0!==_;)d=t.heap[--o],d>s||(a[2*d+1]!==f&&(t.opt_len+=(f-a[2*d+1])*a[2*d],a[2*d+1]=f),_--)}})(t,e),Q(a,o,t.bl_count)},rt=(t,e,a)=>{let s,i,r=-1,n=e[1],h=0,l=7,o=4;for(0===n&&(l=138,o=3),e[2*(a+1)+1]=65535,s=0;s<=a;s++)i=n,n=e[2*(s+1)+1],++h<l&&i===n||(h<o?t.bl_tree[2*i]+=h:0!==i?(i!==r&&t.bl_tree[2*i]++,t.bl_tree[32]++):h<=10?t.bl_tree[34]++:t.bl_tree[36]++,h=0,r=i,0===n?(l=138,o=3):i===n?(l=6,o=3):(l=7,o=4))},nt=(t,e,a)=>{let s,i,r=-1,n=e[1],h=0,l=7,o=4;for(0===n&&(l=138,o=3),s=0;s<=a;s++)if(i=n,n=e[2*(s+1)+1],!(++h<l&&i===n)){if(h<o)do{q(t,i,t.bl_tree)}while(0!==--h);else 0!==i?(i!==r&&(q(t,i,t.bl_tree),h--),q(t,16,t.bl_tree),G(t,h-3,2)):h<=10?(q(t,17,t.bl_tree),G(t,h-3,3)):(q(t,18,t.bl_tree),G(t,h-11,7));h=0,r=i,0===n?(l=138,o=3):i===n?(l=6,o=3):(l=7,o=4)}};let ht=!1;const lt=(t,e,a,s)=>{G(t,0+(s?1:0),3),tt(t),Y(t,a),Y(t,~a),a&&t.pending_buf.set(t.window.subarray(e,e+a),t.pending),t.pending+=a};var ot=(t,e,a,s)=>{let i,r,n=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,a=4093624447;for(e=0;e<=31;e++,a>>>=1)if(1&a&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<U;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0})(t)),it(t,t.l_desc),it(t,t.d_desc),n=(t=>{let e;for(rt(t,t.dyn_ltree,t.l_desc.max_code),rt(t,t.dyn_dtree,t.d_desc.max_code),it(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*B[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e})(t),i=t.opt_len+3+7>>>3,r=t.static_len+3+7>>>3,r<=i&&(i=r)):i=r=a+5,a+4<=i&&-1!==e?lt(t,e,a,s):4===t.strategy||r===i?(G(t,2+(s?1:0),3),st(t,T,P)):(G(t,4+(s?1:0),3),((t,e,a,s)=>{let i;for(G(t,e-257,5),G(t,a-1,5),G(t,s-4,4),i=0;i<s;i++)G(t,t.bl_tree[2*B[i]+1],3);nt(t,t.dyn_ltree,e-1),nt(t,t.dyn_dtree,a-1)})(t,t.l_desc.max_code+1,t.d_desc.max_code+1,n+1),st(t,t.dyn_ltree,t.dyn_dtree)),J(t),s&&tt(t)},_t={_tr_init:t=>{ht||((()=>{let t,e,a,s,i;const r=new Array(16);for(a=0,s=0;s<28;s++)for($[s]=a,t=0;t<1<<x[s];t++)Z[a++]=s;for(Z[a-1]=s,i=0,s=0;s<16;s++)for(N[s]=i,t=0;t<1<<A[s];t++)L[i++]=s;for(i>>=7;s<I;s++)for(N[s]=i<<7,t=0;t<1<<A[s]-7;t++)L[256+i++]=s;for(e=0;e<=O;e++)r[e]=0;for(t=0;t<=143;)T[2*t+1]=8,t++,r[8]++;for(;t<=255;)T[2*t+1]=9,t++,r[9]++;for(;t<=279;)T[2*t+1]=7,t++,r[7]++;for(;t<=287;)T[2*t+1]=8,t++,r[8]++;for(Q(T,287,r),t=0;t<I;t++)P[2*t+1]=5,P[2*t]=X(t,5);H=new M(T,x,257,D,O),V=new M(P,A,0,I,O),j=new M(new Array(0),C,0,19,7)})(),ht=!0),t.l_desc=new W(t.dyn_ltree,H),t.d_desc=new W(t.dyn_dtree,V),t.bl_desc=new W(t.bl_tree,j),t.bi_buf=0,t.bi_valid=0,J(t)},_tr_stored_block:lt,_tr_flush_block:ot,_tr_tally:(t,e,a)=>(t.pending_buf[t.sym_buf+t.sym_next++]=e,t.pending_buf[t.sym_buf+t.sym_next++]=e>>8,t.pending_buf[t.sym_buf+t.sym_next++]=a,0===e?t.dyn_ltree[2*a]++:(t.matches++,e--,t.dyn_ltree[2*(Z[a]+U+1)]++,t.dyn_dtree[2*K(e)]++),t.sym_next===t.sym_end),_tr_align:t=>{G(t,2,3),q(t,256,T),(t=>{16===t.bi_valid?(Y(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)})(t)}};var dt=(t,e,a,s)=>{let i=65535&t,r=t>>>16&65535,n=0;for(;0!==a;){n=a>2e3?2e3:a,a-=n;do{i=i+e[s++]|0,r=r+i|0}while(--n);i%=65521,r%=65521}return i|r<<16};const ft=new Uint32Array((()=>{let t,e=[];for(var a=0;a<256;a++){t=a;for(var s=0;s<8;s++)t=1&t?3988292384^t>>>1:t>>>1;e[a]=t}return e})());var ut=(t,e,a,s)=>{const i=ft,r=s+a;t^=-1;for(let a=s;a<r;a++)t=t>>>8^i[255&(t^e[a])];return-1^t},ct={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},gt={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:pt,_tr_stored_block:mt,_tr_flush_block:wt,_tr_tally:yt,_tr_align:bt}=_t,{Z_NO_FLUSH:vt,Z_PARTIAL_FLUSH:St,Z_FULL_FLUSH:kt,Z_FINISH:zt,Z_BLOCK:Rt,Z_OK:Ft,Z_STREAM_END:Et,Z_STREAM_ERROR:Ut,Z_DATA_ERROR:Dt,Z_BUF_ERROR:It,Z_DEFAULT_COMPRESSION:Ot,Z_FILTERED:xt,Z_HUFFMAN_ONLY:At,Z_RLE:Ct,Z_FIXED:Bt,Z_DEFAULT_STRATEGY:Tt,Z_UNKNOWN:Pt,Z_DEFLATED:Lt}=gt,Zt=258,$t=262,Nt=42,Mt=113,Ht=666,Vt=(t,e)=>(t.msg=ct[e],e),jt=t=>2*t-(t>4?9:0),Wt=t=>{let e=t.length;for(;--e>=0;)t[e]=0},Kt=t=>{let e,a,s,i=t.w_size;e=t.hash_size,s=e;do{a=t.head[--s],t.head[s]=a>=i?a-i:0}while(--e);e=i,s=e;do{a=t.prev[--s],t.prev[s]=a>=i?a-i:0}while(--e)};let Yt=(t,e,a)=>(e<<t.hash_shift^a)&t.hash_mask;const Gt=t=>{const e=t.state;let a=e.pending;a>t.avail_out&&(a=t.avail_out),0!==a&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+a),t.next_out),t.next_out+=a,e.pending_out+=a,t.total_out+=a,t.avail_out-=a,e.pending-=a,0===e.pending&&(e.pending_out=0))},qt=(t,e)=>{wt(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,Gt(t.strm)},Xt=(t,e)=>{t.pending_buf[t.pending++]=e},Qt=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e},Jt=(t,e,a,s)=>{let i=t.avail_in;return i>s&&(i=s),0===i?0:(t.avail_in-=i,e.set(t.input.subarray(t.next_in,t.next_in+i),a),1===t.state.wrap?t.adler=dt(t.adler,e,i,a):2===t.state.wrap&&(t.adler=ut(t.adler,e,i,a)),t.next_in+=i,t.total_in+=i,i)},te=(t,e)=>{let a,s,i=t.max_chain_length,r=t.strstart,n=t.prev_length,h=t.nice_match;const l=t.strstart>t.w_size-$t?t.strstart-(t.w_size-$t):0,o=t.window,_=t.w_mask,d=t.prev,f=t.strstart+Zt;let u=o[r+n-1],c=o[r+n];t.prev_length>=t.good_match&&(i>>=2),h>t.lookahead&&(h=t.lookahead);do{if(a=e,o[a+n]===c&&o[a+n-1]===u&&o[a]===o[r]&&o[++a]===o[r+1]){r+=2,a++;do{}while(o[++r]===o[++a]&&o[++r]===o[++a]&&o[++r]===o[++a]&&o[++r]===o[++a]&&o[++r]===o[++a]&&o[++r]===o[++a]&&o[++r]===o[++a]&&o[++r]===o[++a]&&r<f);if(s=Zt-(f-r),r=f-Zt,s>n){if(t.match_start=e,n=s,s>=h)break;u=o[r+n-1],c=o[r+n]}}}while((e=d[e&_])>l&&0!==--i);return n<=t.lookahead?n:t.lookahead},ee=t=>{const e=t.w_size;let a,s,i;do{if(s=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-$t)&&(t.window.set(t.window.subarray(e,e+e-s),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,t.insert>t.strstart&&(t.insert=t.strstart),Kt(t),s+=e),0===t.strm.avail_in)break;if(a=Jt(t.strm,t.window,t.strstart+t.lookahead,s),t.lookahead+=a,t.lookahead+t.insert>=3)for(i=t.strstart-t.insert,t.ins_h=t.window[i],t.ins_h=Yt(t,t.ins_h,t.window[i+1]);t.insert&&(t.ins_h=Yt(t,t.ins_h,t.window[i+3-1]),t.prev[i&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=i,i++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead<$t&&0!==t.strm.avail_in)},ae=(t,e)=>{let a,s,i,r=t.pending_buf_size-5>t.w_size?t.w_size:t.pending_buf_size-5,n=0,h=t.strm.avail_in;do{if(a=65535,i=t.bi_valid+42>>3,t.strm.avail_out<i)break;if(i=t.strm.avail_out-i,s=t.strstart-t.block_start,a>s+t.strm.avail_in&&(a=s+t.strm.avail_in),a>i&&(a=i),a<r&&(0===a&&e!==zt||e===vt||a!==s+t.strm.avail_in))break;n=e===zt&&a===s+t.strm.avail_in?1:0,mt(t,0,0,n),t.pending_buf[t.pending-4]=a,t.pending_buf[t.pending-3]=a>>8,t.pending_buf[t.pending-2]=~a,t.pending_buf[t.pending-1]=~a>>8,Gt(t.strm),s&&(s>a&&(s=a),t.strm.output.set(t.window.subarray(t.block_start,t.block_start+s),t.strm.next_out),t.strm.next_out+=s,t.strm.avail_out-=s,t.strm.total_out+=s,t.block_start+=s,a-=s),a&&(Jt(t.strm,t.strm.output,t.strm.next_out,a),t.strm.next_out+=a,t.strm.avail_out-=a,t.strm.total_out+=a)}while(0===n);return h-=t.strm.avail_in,h&&(h>=t.w_size?(t.matches=2,t.window.set(t.strm.input.subarray(t.strm.next_in-t.w_size,t.strm.next_in),0),t.strstart=t.w_size,t.insert=t.strstart):(t.window_size-t.strstart<=h&&(t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,t.insert>t.strstart&&(t.insert=t.strstart)),t.window.set(t.strm.input.subarray(t.strm.next_in-h,t.strm.next_in),t.strstart),t.strstart+=h,t.insert+=h>t.w_size-t.insert?t.w_size-t.insert:h),t.block_start=t.strstart),t.high_water<t.strstart&&(t.high_water=t.strstart),n?4:e!==vt&&e!==zt&&0===t.strm.avail_in&&t.strstart===t.block_start?2:(i=t.window_size-t.strstart,t.strm.avail_in>i&&t.block_start>=t.w_size&&(t.block_start-=t.w_size,t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,i+=t.w_size,t.insert>t.strstart&&(t.insert=t.strstart)),i>t.strm.avail_in&&(i=t.strm.avail_in),i&&(Jt(t.strm,t.window,t.strstart,i),t.strstart+=i,t.insert+=i>t.w_size-t.insert?t.w_size-t.insert:i),t.high_water<t.strstart&&(t.high_water=t.strstart),i=t.bi_valid+42>>3,i=t.pending_buf_size-i>65535?65535:t.pending_buf_size-i,r=i>t.w_size?t.w_size:i,s=t.strstart-t.block_start,(s>=r||(s||e===zt)&&e!==vt&&0===t.strm.avail_in&&s<=i)&&(a=s>i?i:s,n=e===zt&&0===t.strm.avail_in&&a===s?1:0,mt(t,t.block_start,a,n),t.block_start+=a,Gt(t.strm)),n?3:1)},se=(t,e)=>{let a,s;for(;;){if(t.lookahead<$t){if(ee(t),t.lookahead<$t&&e===vt)return 1;if(0===t.lookahead)break}if(a=0,t.lookahead>=3&&(t.ins_h=Yt(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==a&&t.strstart-a<=t.w_size-$t&&(t.match_length=te(t,a)),t.match_length>=3)if(s=yt(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=Yt(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!==--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=Yt(t,t.ins_h,t.window[t.strstart+1]);else s=yt(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(s&&(qt(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,e===zt?(qt(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(qt(t,!1),0===t.strm.avail_out)?1:2},ie=(t,e)=>{let a,s,i;for(;;){if(t.lookahead<$t){if(ee(t),t.lookahead<$t&&e===vt)return 1;if(0===t.lookahead)break}if(a=0,t.lookahead>=3&&(t.ins_h=Yt(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==a&&t.prev_length<t.max_lazy_match&&t.strstart-a<=t.w_size-$t&&(t.match_length=te(t,a),t.match_length<=5&&(t.strategy===xt||3===t.match_length&&t.strstart-t.match_start>4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){i=t.strstart+t.lookahead-3,s=yt(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=i&&(t.ins_h=Yt(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!==--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,s&&(qt(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(s=yt(t,0,t.window[t.strstart-1]),s&&qt(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(s=yt(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===zt?(qt(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(qt(t,!1),0===t.strm.avail_out)?1:2};function re(t,e,a,s,i){this.good_length=t,this.max_lazy=e,this.nice_length=a,this.max_chain=s,this.func=i}const ne=[new re(0,0,0,0,ae),new re(4,4,8,4,se),new re(4,5,16,8,se),new re(4,6,32,32,se),new re(4,4,16,16,ie),new re(8,16,32,32,ie),new re(8,16,128,128,ie),new re(8,32,128,256,ie),new re(32,128,258,1024,ie),new re(32,258,258,4096,ie)];function he(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Lt,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),Wt(this.dyn_ltree),Wt(this.dyn_dtree),Wt(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),Wt(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),Wt(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const le=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.status!==Nt&&57!==e.status&&69!==e.status&&73!==e.status&&91!==e.status&&103!==e.status&&e.status!==Mt&&e.status!==Ht?1:0},oe=t=>{if(le(t))return Vt(t,Ut);t.total_in=t.total_out=0,t.data_type=Pt;const e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=2===e.wrap?57:e.wrap?Nt:Mt,t.adler=2===e.wrap?0:1,e.last_flush=-2,pt(e),Ft},_e=t=>{const e=oe(t);var a;return e===Ft&&((a=t.state).window_size=2*a.w_size,Wt(a.head),a.max_lazy_match=ne[a.level].max_lazy,a.good_match=ne[a.level].good_length,a.nice_match=ne[a.level].nice_length,a.max_chain_length=ne[a.level].max_chain,a.strstart=0,a.block_start=0,a.lookahead=0,a.insert=0,a.match_length=a.prev_length=2,a.match_available=0,a.ins_h=0),e},de=(t,e,a,s,i,r)=>{if(!t)return Ut;let n=1;if(e===Ot&&(e=6),s<0?(n=0,s=-s):s>15&&(n=2,s-=16),i<1||i>9||a!==Lt||s<8||s>15||e<0||e>9||r<0||r>Bt||8===s&&1!==n)return Vt(t,Ut);8===s&&(s=9);const h=new he;return t.state=h,h.strm=t,h.status=Nt,h.wrap=n,h.gzhead=null,h.w_bits=s,h.w_size=1<<h.w_bits,h.w_mask=h.w_size-1,h.hash_bits=i+7,h.hash_size=1<<h.hash_bits,h.hash_mask=h.hash_size-1,h.hash_shift=~~((h.hash_bits+3-1)/3),h.window=new Uint8Array(2*h.w_size),h.head=new Uint16Array(h.hash_size),h.prev=new Uint16Array(h.w_size),h.lit_bufsize=1<<i+6,h.pending_buf_size=4*h.lit_bufsize,h.pending_buf=new Uint8Array(h.pending_buf_size),h.sym_buf=h.lit_bufsize,h.sym_end=3*(h.lit_bufsize-1),h.level=e,h.strategy=r,h.method=a,_e(t)};var fe={deflateInit:(t,e)=>de(t,e,Lt,15,8,Tt),deflateInit2:de,deflateReset:_e,deflateResetKeep:oe,deflateSetHeader:(t,e)=>le(t)||2!==t.state.wrap?Ut:(t.state.gzhead=e,Ft),deflate:(t,e)=>{if(le(t)||e>Rt||e<0)return t?Vt(t,Ut):Ut;const a=t.state;if(!t.output||0!==t.avail_in&&!t.input||a.status===Ht&&e!==zt)return Vt(t,0===t.avail_out?It:Ut);const s=a.last_flush;if(a.last_flush=e,0!==a.pending){if(Gt(t),0===t.avail_out)return a.last_flush=-1,Ft}else if(0===t.avail_in&&jt(e)<=jt(s)&&e!==zt)return Vt(t,It);if(a.status===Ht&&0!==t.avail_in)return Vt(t,It);if(a.status===Nt&&0===a.wrap&&(a.status=Mt),a.status===Nt){let e=Lt+(a.w_bits-8<<4)<<8,s=-1;if(s=a.strategy>=At||a.level<2?0:a.level<6?1:6===a.level?2:3,e|=s<<6,0!==a.strstart&&(e|=32),e+=31-e%31,Qt(a,e),0!==a.strstart&&(Qt(a,t.adler>>>16),Qt(a,65535&t.adler)),t.adler=1,a.status=Mt,Gt(t),0!==a.pending)return a.last_flush=-1,Ft}if(57===a.status)if(t.adler=0,Xt(a,31),Xt(a,139),Xt(a,8),a.gzhead)Xt(a,(a.gzhead.text?1:0)+(a.gzhead.hcrc?2:0)+(a.gzhead.extra?4:0)+(a.gzhead.name?8:0)+(a.gzhead.comment?16:0)),Xt(a,255&a.gzhead.time),Xt(a,a.gzhead.time>>8&255),Xt(a,a.gzhead.time>>16&255),Xt(a,a.gzhead.time>>24&255),Xt(a,9===a.level?2:a.strategy>=At||a.level<2?4:0),Xt(a,255&a.gzhead.os),a.gzhead.extra&&a.gzhead.extra.length&&(Xt(a,255&a.gzhead.extra.length),Xt(a,a.gzhead.extra.length>>8&255)),a.gzhead.hcrc&&(t.adler=ut(t.adler,a.pending_buf,a.pending,0)),a.gzindex=0,a.status=69;else if(Xt(a,0),Xt(a,0),Xt(a,0),Xt(a,0),Xt(a,0),Xt(a,9===a.level?2:a.strategy>=At||a.level<2?4:0),Xt(a,3),a.status=Mt,Gt(t),0!==a.pending)return a.last_flush=-1,Ft;if(69===a.status){if(a.gzhead.extra){let e=a.pending,s=(65535&a.gzhead.extra.length)-a.gzindex;for(;a.pending+s>a.pending_buf_size;){let i=a.pending_buf_size-a.pending;if(a.pending_buf.set(a.gzhead.extra.subarray(a.gzindex,a.gzindex+i),a.pending),a.pending=a.pending_buf_size,a.gzhead.hcrc&&a.pending>e&&(t.adler=ut(t.adler,a.pending_buf,a.pending-e,e)),a.gzindex+=i,Gt(t),0!==a.pending)return a.last_flush=-1,Ft;e=0,s-=i}let i=new Uint8Array(a.gzhead.extra);a.pending_buf.set(i.subarray(a.gzindex,a.gzindex+s),a.pending),a.pending+=s,a.gzhead.hcrc&&a.pending>e&&(t.adler=ut(t.adler,a.pending_buf,a.pending-e,e)),a.gzindex=0}a.status=73}if(73===a.status){if(a.gzhead.name){let e,s=a.pending;do{if(a.pending===a.pending_buf_size){if(a.gzhead.hcrc&&a.pending>s&&(t.adler=ut(t.adler,a.pending_buf,a.pending-s,s)),Gt(t),0!==a.pending)return a.last_flush=-1,Ft;s=0}e=a.gzindex<a.gzhead.name.length?255&a.gzhead.name.charCodeAt(a.gzindex++):0,Xt(a,e)}while(0!==e);a.gzhead.hcrc&&a.pending>s&&(t.adler=ut(t.adler,a.pending_buf,a.pending-s,s)),a.gzindex=0}a.status=91}if(91===a.status){if(a.gzhead.comment){let e,s=a.pending;do{if(a.pending===a.pending_buf_size){if(a.gzhead.hcrc&&a.pending>s&&(t.adler=ut(t.adler,a.pending_buf,a.pending-s,s)),Gt(t),0!==a.pending)return a.last_flush=-1,Ft;s=0}e=a.gzindex<a.gzhead.comment.length?255&a.gzhead.comment.charCodeAt(a.gzindex++):0,Xt(a,e)}while(0!==e);a.gzhead.hcrc&&a.pending>s&&(t.adler=ut(t.adler,a.pending_buf,a.pending-s,s))}a.status=103}if(103===a.status){if(a.gzhead.hcrc){if(a.pending+2>a.pending_buf_size&&(Gt(t),0!==a.pending))return a.last_flush=-1,Ft;Xt(a,255&t.adler),Xt(a,t.adler>>8&255),t.adler=0}if(a.status=Mt,Gt(t),0!==a.pending)return a.last_flush=-1,Ft}if(0!==t.avail_in||0!==a.lookahead||e!==vt&&a.status!==Ht){let s=0===a.level?ae(a,e):a.strategy===At?((t,e)=>{let a;for(;;){if(0===t.lookahead&&(ee(t),0===t.lookahead)){if(e===vt)return 1;break}if(t.match_length=0,a=yt(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,a&&(qt(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===zt?(qt(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(qt(t,!1),0===t.strm.avail_out)?1:2})(a,e):a.strategy===Ct?((t,e)=>{let a,s,i,r;const n=t.window;for(;;){if(t.lookahead<=Zt){if(ee(t),t.lookahead<=Zt&&e===vt)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(i=t.strstart-1,s=n[i],s===n[++i]&&s===n[++i]&&s===n[++i])){r=t.strstart+Zt;do{}while(s===n[++i]&&s===n[++i]&&s===n[++i]&&s===n[++i]&&s===n[++i]&&s===n[++i]&&s===n[++i]&&s===n[++i]&&i<r);t.match_length=Zt-(r-i),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(a=yt(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(a=yt(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),a&&(qt(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===zt?(qt(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(qt(t,!1),0===t.strm.avail_out)?1:2})(a,e):ne[a.level].func(a,e);if(3!==s&&4!==s||(a.status=Ht),1===s||3===s)return 0===t.avail_out&&(a.last_flush=-1),Ft;if(2===s&&(e===St?bt(a):e!==Rt&&(mt(a,0,0,!1),e===kt&&(Wt(a.head),0===a.lookahead&&(a.strstart=0,a.block_start=0,a.insert=0))),Gt(t),0===t.avail_out))return a.last_flush=-1,Ft}return e!==zt?Ft:a.wrap<=0?Et:(2===a.wrap?(Xt(a,255&t.adler),Xt(a,t.adler>>8&255),Xt(a,t.adler>>16&255),Xt(a,t.adler>>24&255),Xt(a,255&t.total_in),Xt(a,t.total_in>>8&255),Xt(a,t.total_in>>16&255),Xt(a,t.total_in>>24&255)):(Qt(a,t.adler>>>16),Qt(a,65535&t.adler)),Gt(t),a.wrap>0&&(a.wrap=-a.wrap),0!==a.pending?Ft:Et)},deflateEnd:t=>{if(le(t))return Ut;const e=t.state.status;return t.state=null,e===Mt?Vt(t,Dt):Ft},deflateSetDictionary:(t,e)=>{let a=e.length;if(le(t))return Ut;const s=t.state,i=s.wrap;if(2===i||1===i&&s.status!==Nt||s.lookahead)return Ut;if(1===i&&(t.adler=dt(t.adler,e,a,0)),s.wrap=0,a>=s.w_size){0===i&&(Wt(s.head),s.strstart=0,s.block_start=0,s.insert=0);let t=new Uint8Array(s.w_size);t.set(e.subarray(a-s.w_size,a),0),e=t,a=s.w_size}const r=t.avail_in,n=t.next_in,h=t.input;for(t.avail_in=a,t.next_in=0,t.input=e,ee(s);s.lookahead>=3;){let t=s.strstart,e=s.lookahead-2;do{s.ins_h=Yt(s,s.ins_h,s.window[t+3-1]),s.prev[t&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=t,t++}while(--e);s.strstart=t,s.lookahead=2,ee(s)}return s.strstart+=s.lookahead,s.block_start=s.strstart,s.insert=s.lookahead,s.lookahead=0,s.match_length=s.prev_length=2,s.match_available=0,t.next_in=n,t.input=h,t.avail_in=r,s.wrap=i,Ft},deflateInfo:"pako deflate (from Nodeca project)"};const ue=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var ce=function(t){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const a=e.shift();if(a){if("object"!=typeof a)throw new TypeError(a+"must be non-object");for(const e in a)ue(a,e)&&(t[e]=a[e])}}return t},ge=t=>{let e=0;for(let a=0,s=t.length;a<s;a++)e+=t[a].length;const a=new Uint8Array(e);for(let e=0,s=0,i=t.length;e<i;e++){let i=t[e];a.set(i,s),s+=i.length}return a};let pe=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){pe=!1}const me=new Uint8Array(256);for(let t=0;t<256;t++)me[t]=t>=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;me[254]=me[254]=1;var we=t=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(t);let e,a,s,i,r,n=t.length,h=0;for(i=0;i<n;i++)a=t.charCodeAt(i),55296==(64512&a)&&i+1<n&&(s=t.charCodeAt(i+1),56320==(64512&s)&&(a=65536+(a-55296<<10)+(s-56320),i++)),h+=a<128?1:a<2048?2:a<65536?3:4;for(e=new Uint8Array(h),r=0,i=0;r<h;i++)a=t.charCodeAt(i),55296==(64512&a)&&i+1<n&&(s=t.charCodeAt(i+1),56320==(64512&s)&&(a=65536+(a-55296<<10)+(s-56320),i++)),a<128?e[r++]=a:a<2048?(e[r++]=192|a>>>6,e[r++]=128|63&a):a<65536?(e[r++]=224|a>>>12,e[r++]=128|a>>>6&63,e[r++]=128|63&a):(e[r++]=240|a>>>18,e[r++]=128|a>>>12&63,e[r++]=128|a>>>6&63,e[r++]=128|63&a);return e};var ye=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const be=Object.prototype.toString,{Z_NO_FLUSH:ve,Z_SYNC_FLUSH:Se,Z_FULL_FLUSH:ke,Z_FINISH:ze,Z_OK:Re,Z_STREAM_END:Fe,Z_DEFAULT_COMPRESSION:Ee,Z_DEFAULT_STRATEGY:Ue,Z_DEFLATED:De}=gt;function Ie(t){this.options=ce({level:Ee,method:De,chunkSize:16384,windowBits:15,memLevel:8,strategy:Ue},t||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new ye,this.strm.avail_out=0;let a=fe.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(a!==Re)throw new Error(ct[a]);if(e.header&&fe.deflateSetHeader(this.strm,e.header),e.dictionary){let t;if(t="string"==typeof e.dictionary?we(e.dictionary):"[object ArrayBuffer]"===be.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,a=fe.deflateSetDictionary(this.strm,t),a!==Re)throw new Error(ct[a]);this._dict_set=!0}}Ie.prototype.push=function(t,e){const a=this.strm,s=this.options.chunkSize;let i,r;if(this.ended)return!1;for(r=e===~~e?e:!0===e?ze:ve,"string"==typeof t?a.input=we(t):"[object ArrayBuffer]"===be.call(t)?a.input=new Uint8Array(t):a.input=t,a.next_in=0,a.avail_in=a.input.length;;)if(0===a.avail_out&&(a.output=new Uint8Array(s),a.next_out=0,a.avail_out=s),(r===Se||r===ke)&&a.avail_out<=6)this.onData(a.output.subarray(0,a.next_out)),a.avail_out=0;else{if(i=fe.deflate(a,r),i===Fe)return a.next_out>0&&this.onData(a.output.subarray(0,a.next_out)),i=fe.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===Re;if(0!==a.avail_out){if(r>0&&a.next_out>0)this.onData(a.output.subarray(0,a.next_out)),a.avail_out=0;else if(0===a.avail_in)break}else this.onData(a.output)}return!0},Ie.prototype.onData=function(t){this.chunks.push(t)},Ie.prototype.onEnd=function(t){t===Re&&(this.result=ge(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var Oe={deflate:function(t,e){const a=new Ie(e);if(a.push(t,!0),a.err)throw a.msg||ct[a.err];return a.result}};const{deflate:xe}=Oe;var Ae=xe;const Ce={b:{u:DataView.prototype.getInt8,p:DataView.prototype.setInt8,bytes:1},B:{u:DataView.prototype.getUint8,p:DataView.prototype.setUint8,bytes:1},h:{u:DataView.prototype.getInt16,p:DataView.prototype.setInt16,bytes:2},H:{u:DataView.prototype.getUint16,p:DataView.prototype.setUint16,bytes:2},i:{u:DataView.prototype.getInt32,p:DataView.prototype.setInt32,bytes:4},I:{u:DataView.prototype.getUint32,p:DataView.prototype.setUint32,bytes:4},q:{u:DataView.prototype.getInt64,p:DataView.prototype.setInt64,bytes:8},Q:{u:DataView.prototype.getUint64,p:DataView.prototype.setUint64,bytes:8}},Be=(t,...e)=>{let a=0;if(t.replace(/[<>]/,"").length!=e.length)throw"Pack format to Argument count mismatch";let s=[],i=!0;for(let s=0;s<t.length;s++)"<"==t[s]?i=!0:">"==t[s]?i=!1:(r(t[s],e[a]),a++);function r(t,e){if(!(t in Ce))throw"Unhandled character '"+t+"' in pack format";let a=Ce[t].bytes,r=new DataView(new ArrayBuffer(a));Ce[t].p.bind(r)(0,e,i);for(let t=0;t<a;t++)s.push(r.getUint8(t))}return s},Te=(t,e)=>{let a=0,s=[],i=!0;for(let e of t)"<"==e?i=!0:">"==e?i=!1:r(e);function r(t){if(!(t in Ce))throw"Unhandled character '"+t+"' in unpack format";let r=Ce[t].bytes,n=new DataView(new ArrayBuffer(r));for(let t=0;t<r;t++)n.setUint8(t,255&e[a+t]);let h=Ce[t].u.bind(n);s.push(h(0,i)),a+=r}return s};class Pe extends EventTarget{constructor(t,e,a){super(),this.port=t,this.logger=e,this._parent=a,this.chipName=null,this.chipRevision=null,this.chipVariant=null,this._efuses=new Array(4).fill(0),this._flashsize=4194304,this.debug=!1,this.IS_STUB=!1,this.connected=!0,this.flashSize=null,this.state_DTR=!1}get _inputBuffer(){return this._parent?this._parent._inputBuffer:this.__inputBuffer}async initialize(){await this.hardReset(!0),this._parent||(this.__inputBuffer=[],this.readLoop()),await this.sync(),await this.detectChip();let t=z(this.getChipFamily()).macFuse;for(let e=0;e<4;e++)this._efuses[e]=await this.readRegister(t+4*e);this.logger.log(`Chip type ${this.chipName}`)}async detectChip(){try{const t=(await this.getSecurityInfo()).chipId,e=y[t];if(e)return this.chipName=e.name,this.chipFamily=e.family,this.chipFamily===w&&(this.chipRevision=await this.getChipRevision(),this.logger.debug(`ESP32-P4 revision: ${this.chipRevision}`),this.chipRevision>=300?this.chipVariant="rev300":this.chipVariant="rev0",this.logger.debug(`ESP32-P4 variant: ${this.chipVariant}`)),void this.logger.debug(`Detected chip via IMAGE_CHIP_ID: ${t} (${this.chipName})`);this.logger.debug(`Unknown IMAGE_CHIP_ID: ${t}, falling back to magic value detection`)}catch(t){this.logger.debug(`GET_SECURITY_INFO failed, using magic value detection: ${t}`),this._inputBuffer.length=0,await s(100);try{await this.sync()}catch(t){this.logger.debug(`Re-sync after GET_SECURITY_INFO failure: ${t}`)}}let t=await this.readRegister(1073745920),e=b[t>>>0];if(void 0===e)throw new Error(`Unknown Chip: Hex: ${a(t>>>0,8).toLowerCase()} Number: ${t}`);this.chipName=e.name,this.chipFamily=e.family,this.chipFamily===w&&(this.chipRevision=await this.getChipRevision(),this.logger.debug(`ESP32-P4 revision: ${this.chipRevision}`),this.chipRevision>=300?this.chipVariant="rev300":this.chipVariant="rev0",this.logger.debug(`ESP32-P4 variant: ${this.chipVariant}`)),this.logger.debug(`Detected chip via magic value: ${a(t>>>0,8)} (${this.chipName})`)}async getChipRevision(){if(this.chipFamily!==w)return 0;const t=await this.readRegister(1343410252);return 100*((t>>23&1)<<2|t>>4&3)+(15&t)}async getSecurityInfo(){const[t,e]=await this.checkCommand(20,[],0);if(0===e.length)throw new Error("GET_SECURITY_INFO not supported or returned empty response");if(e.length<12)throw new Error(`Invalid security info response length: ${e.length} (expected at least 12 bytes)`);return{flags:Te("<I",e.slice(0,4))[0],flashCryptCnt:e[4],keyPurposes:Array.from(e.slice(5,12)),chipId:e.length>=16?Te("<I",e.slice(12,16))[0]:0,apiVersion:e.length>=20?Te("<I",e.slice(16,20))[0]:0}}async readLoop(){this.debug&&this.logger.debug("Starting read loop"),this._reader=this.port.readable.getReader();try{for(;;){const{value:t,done:e}=await this._reader.read();if(e){this._reader.releaseLock();break}t&&0!==t.length&&this._inputBuffer.push(...Array.from(t))}}catch(t){console.error("Read loop got disconnected")}this.connected=!1,this.dispatchEvent(new Event("disconnect")),this.logger.debug("Finished read loop")}sleep(t=100){return new Promise(e=>setTimeout(e,t))}async setRTS(t){await this.port.setSignals({requestToSend:t}),await this.setDTR(this.state_DTR)}async setDTR(t){this.state_DTR=t,await this.port.setSignals({dataTerminalReady:t})}async hardReset(t=!1){this.logger.log("Try hard reset."),t?4097===this.port.getInfo().usbProductId?(await this.setDTR(!1),await this.setRTS(!1),await this.sleep(100),await this.setDTR(!0),await this.setRTS(!1),await this.sleep(100),await this.setRTS(!0),await this.setDTR(!1),await this.setRTS(!0),await this.sleep(100),await this.setDTR(!1),await this.setRTS(!1)):(await this.setDTR(!1),await this.setRTS(!0),await this.sleep(100),await this.setDTR(!0),await this.setRTS(!1),await this.sleep(50),await this.setDTR(!1)):(await this.setRTS(!0),await this.sleep(100),await this.setRTS(!1)),await new Promise(t=>setTimeout(t,1e3))}macAddr(){let t,e=new Array(6).fill(0),a=this._efuses[0],s=this._efuses[1],i=this._efuses[2],r=this._efuses[3];if(this.chipFamily==l){if(0!=r)t=[r>>16&255,r>>8&255,255&r];else if(s>>16&255){if(1!=(s>>16&255))throw new Error("Couldnt determine OUI");t=[172,208,116]}else t=[24,254,52];e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=s>>8&255,e[4]=255&s,e[5]=a>>24&255}else if(this.chipFamily==o)e[0]=i>>8&255,e[1]=255&i,e[2]=s>>24&255,e[3]=s>>16&255,e[4]=s>>8&255,e[5]=255&s;else{if(this.chipFamily!=_&&this.chipFamily!=d&&this.chipFamily!=f&&this.chipFamily!=u&&this.chipFamily!=c&&this.chipFamily!=g&&this.chipFamily!=p&&this.chipFamily!=m&&this.chipFamily!=w)throw new Error("Unknown chip family");e[0]=s>>8&255,e[1]=255&s,e[2]=a>>24&255,e[3]=a>>16&255,e[4]=a>>8&255,e[5]=255&a}return e}async readRegister(t){this.debug&&this.logger.debug("Reading from Register "+a(t,8));let e=Be("<I",t);await this.sendCommand(10,e);let[s,i]=await this.getResponse(10);return s}async checkCommand(t,e,s=0,i=3e3){i=Math.min(i,12e5),await this.sendCommand(t,e,s);let[r,n]=await this.getResponse(t,i);if(null===n)throw new Error("Didn't get enough status bytes");let h=0;if(this.IS_STUB||this.chipFamily==l?h=2:[o,_,d,f,u,c,g,p,m,w].includes(this.chipFamily)||20===t?h=4:[2,4].includes(n.length)&&(h=n.length),n.length<h)throw new Error("Didn't get enough status bytes");let y=n.slice(-h,n.length);if(n=n.slice(0,-h),this.debug&&(this.logger.debug("status",y),this.logger.debug("value",r),this.logger.debug("data",n)),1==y[0])throw 5==y[1]?new Error("Invalid (unsupported) command "+a(t)):new Error("Command failure error code "+a(y[1]));return[r,n]}async sendCommand(t,e,a=0){let s=(t=>{let e=[192];for(let a of t)219==a?e=e.concat([219,221]):192==a?e=e.concat([219,220]):e.push(a);return e.push(192),e})([...Be("<BBHI",0,t,e.length,a),...e]);this.debug&&this.logger.debug(`Writing ${s.length} byte${1==s.length?"":"s"}:`,s),await this.writeToStream(s)}async readPacket(t){let i=null,r=!1,n=[];for(;;){let h=Date.now();for(n=[];Date.now()-h<t;){if(this._inputBuffer.length>0){n.push(this._inputBuffer.shift());break}await s(10)}if(0==n.length){throw new R("Timed out waiting for packet "+(null===i?"header":"content"))}this.debug&&this.logger.debug("Read "+n.length+" bytes: "+e(n));for(let t of n)if(null===i){if(192!=t)throw this.debug&&(this.logger.debug("Read invalid data: "+e(n)),this.logger.debug("Remaining data in serial buffer: "+e(this._inputBuffer))),new R("Invalid head of packet ("+a(t)+")");i=[]}else if(r)if(r=!1,220==t)i.push(192);else{if(221!=t)throw this.debug&&(this.logger.debug("Read invalid data: "+e(n)),this.logger.debug("Remaining data in serial buffer: "+e(this._inputBuffer))),new R("Invalid SLIP escape (0xdb, "+a(t)+")");i.push(219)}else if(219==t)r=!0;else{if(192==t)return this.debug&&this.logger.debug("Received full packet: "+e(i)),i;i.push(t)}}throw new R("Invalid state")}async getResponse(t,e=3e3){for(let s=0;s<100;s++){const s=await this.readPacket(e);if(s.length<8)continue;const[i,r,n,h]=Te("<BBHI",s.slice(0,8));if(1!=i)continue;const l=s.slice(8);if(null==t||r==t)return[h,l];if(0!=l[0]&&5==l[1])throw this._inputBuffer.length=0,new Error(`Invalid (unsupported) command ${a(t)}`)}throw"Response doesn't match request"}checksum(t,e=239){for(let a of t)e^=a;return e}async setBaudrate(t){if(this.chipFamily==l)throw new Error("Changing baud rate is not supported on the ESP8266");this.logger.log("Attempting to change baud rate to "+t+"...");try{let e=Be("<II",t,this.IS_STUB?r:0);await this.checkCommand(15,e)}catch(e){throw console.error(e),new Error(`Unable to change the baud rate to ${t}: No response from set baud rate command.`)}this._parent?await this._parent.reconfigurePort(t):await this.reconfigurePort(t),this.logger.log(`Changed baud rate to ${t}`)}async reconfigurePort(t){var e;try{await(null===(e=this._reader)||void 0===e?void 0:e.cancel()),await this.port.close(),await this.port.open({baudRate:t}),this.readLoop()}catch(e){throw console.error(e),new Error(`Unable to change the baud rate to ${t}: ${e}`)}}async sync(){for(let t=0;t<5;t++){if(this._inputBuffer.length=0,await this._sync())return await s(100),!0;await s(100)}throw new Error("Couldn't sync to ESP. Try resetting.")}async _sync(){await this.sendCommand(8,h);for(let t=0;t<8;t++)try{let[t,e]=await this.getResponse(8,100);if(e.length>1&&0==e[0]&&0==e[1])return!0}catch(t){}return!1}getFlashWriteSize(){return this.IS_STUB?16384:1024}async flashData(t,e,s=0,i=!1){if(t.byteLength>=8){var r=Array.from(new Uint8Array(t,0,4));let e=r[0],s=r[2],i=r[3];this.logger.log(`Image header, Magic=${a(e)}, FlashMode=${a(s)}, FlashSizeFreq=${a(i)}`)}let n,h=t.byteLength,l=0,o=v;i?(n=Ae(new Uint8Array(t),{level:9}).buffer,l=n.byteLength,this.logger.log(`Writing data with filesize: ${h}. Compressed Size: ${l}`),o=await this.flashDeflBegin(h,l,s)):(this.logger.log(`Writing data with filesize: ${h}`),n=t,await this.flashBegin(h,s));let _=[],d=0,f=0,u=0,c=Date.now(),g=this.getFlashWriteSize(),p=i?l:h;for(;p-u>0;)this.debug&&this.logger.log(`Writing at ${a(s+d*g,8)} `),p-u>=g?_=Array.from(new Uint8Array(n,u,g)):(_=Array.from(new Uint8Array(n,u,p-u)),i||(_=_.concat(new Array(g-_.length).fill(255)))),i?await this.flashDeflBlock(_,d,o):await this.flashBlock(_,d),d+=1,f+=i?Math.round(_.length*h/l):_.length,u+=g,e(Math.min(f,h),h);this.logger.log("Took "+(Date.now()-c)+"ms to write "+p+" bytes"),this.IS_STUB&&(await this.flashBegin(0,0),i?await this.flashDeflFinish():await this.flashFinish())}async flashBlock(t,e,a=3e3){await this.checkCommand(3,Be("<IIII",t.length,e,0,0).concat(t),this.checksum(t),a)}async flashDeflBlock(t,e,a=3e3){await this.checkCommand(17,Be("<IIII",t.length,e,0,0).concat(t),this.checksum(t),a)}async flashBegin(t=0,e=0,s=!1){let i,r,n=this.getFlashWriteSize();!this.IS_STUB&&[o,_,d,f,u,c,g,p,m,w].includes(this.chipFamily)&&await this.checkCommand(13,new Array(8).fill(0));let h,y=Math.floor((t+n-1)/n);i=this.chipFamily==l?this.getEraseSize(e,t):t,h=this.IS_STUB?v:k(3e4,t);let b=Date.now();return r=Be("<IIII",i,y,n,e),this.chipFamily!=o&&this.chipFamily!=_&&this.chipFamily!=d&&this.chipFamily!=f&&this.chipFamily!=u&&this.chipFamily!=c&&this.chipFamily!=g&&this.chipFamily!=p&&this.chipFamily!=m&&this.chipFamily!=w||(r=r.concat(Be("<I",s?1:0))),this.logger.log("Erase size "+i+", blocks "+y+", block size "+a(n,4)+", offset "+a(e,4)+", encrypted "+(s?"yes":"no")),await this.checkCommand(2,r,0,h),0==t||this.IS_STUB||this.logger.log("Took "+(Date.now()-b)+"ms to erase "+y+" bytes"),y}async flashDeflBegin(t=0,e=0,a=0,s=!1){let i,r=this.getFlashWriteSize(),n=Math.floor((e+r-1)/r),h=Math.floor((t+r-1)/r),l=0,o=0;return this.IS_STUB?(l=t,o=k(3e4,l)):(l=h*r,o=v),i=Be("<IIII",l,n,r,a),await this.checkCommand(16,i,0,o),o}async flashFinish(){let t=Be("<I",1);await this.checkCommand(4,t)}async flashDeflFinish(){let t=Be("<I",1);await this.checkCommand(18,t)}getBootloaderOffset(){return z(this.getChipFamily()).flashOffs}async flashId(){return await this.runSpiFlashCommand(159,[],24)}getChipFamily(){return this._parent?this._parent.chipFamily:this.chipFamily}async writeRegister(t,e,a=4294967295,s=0,i=0){let r=Be("<IIII",t,e,a,s);i>0&&r.concat(Be("<IIII",z(this.getChipFamily()).uartDateReg,0,0,i)),await this.checkCommand(9,r)}async setDataLengths(t,e,a){if(-1!=t.mosiDlenOffs){let s=t.regBase+t.mosiDlenOffs,i=t.regBase+t.misoDlenOffs;e>0&&await this.writeRegister(s,e-1),a>0&&await this.writeRegister(i,a-1)}else{let s=t.regBase+t.usr1Offs,i=(0==a?0:a-1)<<8|(0==e?0:e-1)<<17;await this.writeRegister(s,i)}}async waitDone(t,e){for(let a=0;a<10;a++){if(0==(await this.readRegister(t)&e))return}throw Error("SPI command did not complete in time")}async runSpiFlashCommand(t,e,s=0){let i=z(this.getChipFamily()),r=i.regBase,n=r,h=r+i.usrOffs,l=r+i.usr2Offs,o=r+i.w0Offs,_=1<<18;if(s>32)throw new Error("Reading more than 32 bits back from a SPI flash operation is unsupported");if(e.length>64)throw new Error("Writing more than 64 bytes of data with one SPI command is unsupported");let d=8*e.length,f=await this.readRegister(h),u=await this.readRegister(l),c=1<<31;if(s>0&&(c|=268435456),d>0&&(c|=134217728),await this.setDataLengths(i,d,s),await this.writeRegister(h,c),await this.writeRegister(l,7<<28|t),0==d)await this.writeRegister(o,0);else{e.concat(new Array(e.length%4).fill(0));let t=Te("I".repeat(Math.floor(e.length/4)),e),s=o;this.logger.debug(`Words Length: ${t.length}`);for(const e of t)this.logger.debug(`Writing word ${a(e)} to register offset ${a(s)}`),await this.writeRegister(s,e),s+=4}await this.writeRegister(n,_),await this.waitDone(n,_);let g=await this.readRegister(o);return await this.writeRegister(h,f),await this.writeRegister(l,u),g}async detectFlashSize(){this.logger.log("Detecting Flash Size");let t=await this.flashId(),e=255&t,s=t>>16&255;this.logger.log(`FlashId: ${a(t)}`),this.logger.log(`Flash Manufacturer: ${e.toString(16)}`),this.logger.log(`Flash Device: ${(t>>8&255).toString(16)}${s.toString(16)}`),this.flashSize=i[s],this.logger.log(`Auto-detected Flash size: ${this.flashSize}`)}getEraseSize(t,e){let a=4096,s=Math.floor((e+a-1)/a),i=16-Math.floor(t/a)%16;return s<i&&(i=s),s<2*i?Math.floor((s+1)/2*a):(s-i)*a}async memBegin(t,e,a,s){return await this.checkCommand(5,Be("<IIII",t,e,a,s))}async memBlock(t,e){return await this.checkCommand(7,Be("<IIII",t.length,e,0,0).concat(t),this.checksum(t))}async memFinish(t=0){let e=this.IS_STUB?v:500,a=Be("<II",0==t?1:0,t);return await this.checkCommand(6,a,0,e)}async runStub(){const t=await F(this.chipFamily,this.chipRevision);let e,a=2048;this.logger.log("Uploading stub...");for(let e of["text","data"])if(Object.keys(t).includes(e)){let s=t[e+"_start"],i=t[e].length,r=Math.floor((i+a-1)/a);await this.memBegin(i,r,a,s);for(let s of Array(r).keys()){let r=s*a,n=r+a;n>i&&(n=i),await this.memBlock(t[e].slice(r,n),s)}}this.logger.log("Running stub..."),await this.memFinish(t.entry);const s=await this.readPacket(500);if(e=String.fromCharCode(...s),"OHAI"!=e)throw new Error("Failed to start stub. Unexpected response: "+e);this.logger.log("Stub is now running...");const i=new Le(this.port,this.logger,this);return await i.detectFlashSize(),i}async writeToStream(t){const e=this.port.writable.getWriter();await e.write(new Uint8Array(t));try{e.releaseLock()}catch(t){console.error("Ignoring release lock error",t)}}async disconnect(){this._parent?await this._parent.disconnect():(await this.port.writable.getWriter().close(),await new Promise(t=>{this._reader||t(void 0),this.addEventListener("disconnect",t,{once:!0}),this._reader.cancel()}),this.connected=!1)}}class Le extends Pe{constructor(){super(...arguments),this.IS_STUB=!0}async memBegin(t,e,s,i){let r=await F(this.chipFamily,this.chipRevision),n=i,h=i+t;console.log(n,h),console.log(r.data_start,r.data.length,r.text_start,r.text.length);for(let[t,e]of[[r.data_start,r.data_start+r.data.length],[r.text_start,r.text_start+r.text.length]])if(n<e&&h>t)throw new Error("Software loader is resident at "+a(t,8)+"-"+a(e,8)+". Can't load binary at overlapping address range "+a(n,8)+"-"+a(h,8)+". Try changing the binary loading address.")}async eraseFlash(){await this.checkCommand(208,[],0,S)}}const Ze=async t=>{const e=await navigator.serial.requestPort();return t.log("Connecting..."),await e.open({baudRate:r}),t.log("Connected successfully."),new Pe(e,t)};export{o as CHIP_FAMILY_ESP32,f as CHIP_FAMILY_ESP32C2,u as CHIP_FAMILY_ESP32C3,c as CHIP_FAMILY_ESP32C5,g as CHIP_FAMILY_ESP32C6,p as CHIP_FAMILY_ESP32C61,m as CHIP_FAMILY_ESP32H2,w as CHIP_FAMILY_ESP32P4,_ as CHIP_FAMILY_ESP32S2,d as CHIP_FAMILY_ESP32S3,l as CHIP_FAMILY_ESP8266,Pe as ESPLoader,Ze as connect};
|
|
1
|
+
const t=t=>{let e=[192];for(let a of t)219==a?e=e.concat([219,221]):192==a?e=e.concat([219,220]):e.push(a);return e.push(192),e},e=t=>{let e=[];for(let a=0;a<t.length;a++){let s=t.charCodeAt(a);s<=255&&e.push(s)}return e},a=t=>"["+t.map(t=>s(t)).join(", ")+"]",s=(t,e=2)=>{let a=t.toString(16).toUpperCase();return a.startsWith("-")?"-0x"+a.substring(1).padStart(e,"0"):"0x"+a.padStart(e,"0")},i=t=>new Promise(e=>setTimeout(e,t)),r={18:"256KB",19:"512KB",20:"1MB",21:"2MB",22:"4MB",23:"8MB",24:"16MB",25:"32MB",26:"64MB",27:"128MB",28:"256MB",32:"64MB",33:"128MB",34:"256MB",50:"256KB",51:"512KB",52:"1MB",53:"2MB",54:"4MB",55:"8MB",56:"16MB",57:"32MB",58:"64MB"},n=115200,h=1343410176,l=e(" UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU"),o=33382,d=50,f=12882,_=12883,u=12994,c=12995,g=12997,m=12998,p=207969,w=12914,y=12916,b=12917,S=12928,v=12849,R={5:{name:"ESP32-C3",family:c},9:{name:"ESP32-S3",family:_},12:{name:"ESP32-C2",family:u},13:{name:"ESP32-C6",family:m},16:{name:"ESP32-H2",family:w},18:{name:"ESP32-P4",family:S},20:{name:"ESP32-C61",family:p},23:{name:"ESP32-C5",family:g},25:{name:"ESP32-H21",family:b},28:{name:"ESP32-H4",family:y},32:{name:"ESP32-S31",family:v}},B={4293968129:{name:"ESP8266",family:o},15736195:{name:"ESP32",family:d},1990:{name:"ESP32-S2",family:f},9:{name:"ESP32-S3",family:_},203546735:{name:"ESP32-C2",family:u},1867591791:{name:"ESP32-C2",family:u},2084675695:{name:"ESP32-C2",family:u},456216687:{name:"ESP32-C3",family:c},1130455151:{name:"ESP32-C3",family:c},1216438383:{name:"ESP32-C3",family:c},1763790959:{name:"ESP32-C3",family:c},285294703:{name:"ESP32-C5",family:g},1607549039:{name:"ESP32-C5",family:g},1548751960:{name:"ESP32-C5",family:g},1675706479:{name:"ESP32-C5",family:g},752910447:{name:"ESP32-C6",family:m},606167151:{name:"ESP32-C61",family:p},871374959:{name:"ESP32-C61",family:p},1333878895:{name:"ESP32-C61",family:p},1913741423:{name:"ESP32-C61",family:p},2548236392:{name:"ESP32-H2",family:w},3619110528:{name:"ESP32-H2",family:w},0:{name:"ESP32-P4",family:S},117676761:{name:"ESP32-P4",family:S},182303440:{name:"ESP32-P4",family:S}},k=3e3,F=15e4,x=100,z=(t,e)=>{let a=Math.floor(t*(e/486));return a<k?k:a},O=t=>{switch(t){case d:return{regBase:1072963584,baseFuse:1073061888,macFuse:1073061888,usrOffs:28,usr1Offs:32,usr2Offs:36,mosiDlenOffs:40,misoDlenOffs:44,w0Offs:128,uartDateReg:1610612856,flashOffs:4096};case f:return{regBase:1061167104,baseFuse:1061265408,macFuse:1061265476,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612856,flashOffs:4096};case _:return{regBase:1610620928,usrOffs:24,baseFuse:1610641408,macFuse:1610641476,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612864,flashOffs:0};case o:return{regBase:1610613248,usrOffs:28,baseFuse:1072693328,macFuse:1072693328,usr1Offs:32,usr2Offs:36,mosiDlenOffs:-1,misoDlenOffs:-1,w0Offs:64,uartDateReg:1610612856,flashOffs:0};case u:case c:return{regBase:1610620928,baseFuse:1610647552,macFuse:1610647620,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:0};case g:return{regBase:1610625024,baseFuse:1611352064,macFuse:1611352132,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:8192};case m:return{regBase:1610625024,baseFuse:1611335680,macFuse:1611335748,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:0};case p:return{regBase:1610625024,baseFuse:1611352064,macFuse:1611352132,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:0};case w:return{regBase:1610625024,baseFuse:1611335680,macFuse:1611335748,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:0};case y:return{regBase:1611239424,baseFuse:1611339776,macFuse:1611339844,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610686588,flashOffs:8192};case b:return{regBase:1610625024,baseFuse:1611350016,macFuse:1611350084,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:0};case S:return{regBase:1342754816,baseFuse:h,macFuse:1343410244,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1343004812,flashOffs:8192};case v:return{regBase:542113792,baseFuse:544296960,macFuse:544297028,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:540582028,flashOffs:8192};default:return{regBase:-1,baseFuse:-1,macFuse:-1,usrOffs:-1,usr1Offs:-1,usr2Offs:-1,mosiDlenOffs:-1,misoDlenOffs:-1,w0Offs:-1,uartDateReg:-1,flashOffs:-1}}};class U extends Error{constructor(t){super(t),this.name="SlipReadError"}}const E=async(t,a)=>{let s;return t==y||t==b||t==v?null:(t==d?s=await import("./esp32-CijhsJH1.js"):t==f?s=await import("./esp32s2-IiDBtXxo.js"):t==_?s=await import("./esp32s3-6yv5yxum.js"):t==o?s=await import("./esp8266-CUwxJpGa.js"):t==u?s=await import("./esp32c2-C17SM4gO.js"):t==c?s=await import("./esp32c3-DxRGijbg.js"):t==g?s=await import("./esp32c5-3mDOIGa4.js"):t==m?s=await import("./esp32c6-h6U0SQTm.js"):t==p?s=await import("./esp32c61-BKtexhPZ.js"):t==w?s=await import("./esp32h2-RtuWSEmP.js"):t==S&&(s=null!=a&&a>=300?await import("./esp32p4r3-CpHBYEwI.js"):await import("./esp32p4-5nkIjxqJ.js")),{...s,text:e(atob(s.text)),data:e(atob(s.data))})};function I(t){let e=t.length;for(;--e>=0;)t[e]=0}const D=256,A=286,C=30,P=15,T=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),$=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),L=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),M=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),N=new Array(576);I(N);const Z=new Array(60);I(Z);const H=new Array(512);I(H);const V=new Array(256);I(V);const j=new Array(29);I(j);const W=new Array(C);function K(t,e,a,s,i){this.static_tree=t,this.extra_bits=e,this.extra_base=a,this.elems=s,this.max_length=i,this.has_stree=t&&t.length}let Y,G,q;function X(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}I(W);const Q=t=>t<256?H[t]:H[256+(t>>>7)],J=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},tt=(t,e,a)=>{t.bi_valid>16-a?(t.bi_buf|=e<<t.bi_valid&65535,J(t,t.bi_buf),t.bi_buf=e>>16-t.bi_valid,t.bi_valid+=a-16):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=a)},et=(t,e,a)=>{tt(t,a[2*e],a[2*e+1])},at=(t,e)=>{let a=0;do{a|=1&t,t>>>=1,a<<=1}while(--e>0);return a>>>1},st=(t,e,a)=>{const s=new Array(16);let i,r,n=0;for(i=1;i<=P;i++)n=n+a[i-1]<<1,s[i]=n;for(r=0;r<=e;r++){let e=t[2*r+1];0!==e&&(t[2*r]=at(s[e]++,e))}},it=t=>{let e;for(e=0;e<A;e++)t.dyn_ltree[2*e]=0;for(e=0;e<C;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.sym_next=t.matches=0},rt=t=>{t.bi_valid>8?J(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},nt=(t,e,a,s)=>{const i=2*e,r=2*a;return t[i]<t[r]||t[i]===t[r]&&s[e]<=s[a]},ht=(t,e,a)=>{const s=t.heap[a];let i=a<<1;for(;i<=t.heap_len&&(i<t.heap_len&&nt(e,t.heap[i+1],t.heap[i],t.depth)&&i++,!nt(e,s,t.heap[i],t.depth));)t.heap[a]=t.heap[i],a=i,i<<=1;t.heap[a]=s},lt=(t,e,a)=>{let s,i,r,n,h=0;if(0!==t.sym_next)do{s=255&t.pending_buf[t.sym_buf+h++],s+=(255&t.pending_buf[t.sym_buf+h++])<<8,i=t.pending_buf[t.sym_buf+h++],0===s?et(t,i,e):(r=V[i],et(t,r+D+1,e),n=T[r],0!==n&&(i-=j[r],tt(t,i,n)),s--,r=Q(s),et(t,r,a),n=$[r],0!==n&&(s-=W[r],tt(t,s,n)))}while(h<t.sym_next);et(t,256,e)},ot=(t,e)=>{const a=e.dyn_tree,s=e.stat_desc.static_tree,i=e.stat_desc.has_stree,r=e.stat_desc.elems;let n,h,l,o=-1;for(t.heap_len=0,t.heap_max=573,n=0;n<r;n++)0!==a[2*n]?(t.heap[++t.heap_len]=o=n,t.depth[n]=0):a[2*n+1]=0;for(;t.heap_len<2;)l=t.heap[++t.heap_len]=o<2?++o:0,a[2*l]=1,t.depth[l]=0,t.opt_len--,i&&(t.static_len-=s[2*l+1]);for(e.max_code=o,n=t.heap_len>>1;n>=1;n--)ht(t,a,n);l=r;do{n=t.heap[1],t.heap[1]=t.heap[t.heap_len--],ht(t,a,1),h=t.heap[1],t.heap[--t.heap_max]=n,t.heap[--t.heap_max]=h,a[2*l]=a[2*n]+a[2*h],t.depth[l]=(t.depth[n]>=t.depth[h]?t.depth[n]:t.depth[h])+1,a[2*n+1]=a[2*h+1]=l,t.heap[1]=l++,ht(t,a,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,e)=>{const a=e.dyn_tree,s=e.max_code,i=e.stat_desc.static_tree,r=e.stat_desc.has_stree,n=e.stat_desc.extra_bits,h=e.stat_desc.extra_base,l=e.stat_desc.max_length;let o,d,f,_,u,c,g=0;for(_=0;_<=P;_++)t.bl_count[_]=0;for(a[2*t.heap[t.heap_max]+1]=0,o=t.heap_max+1;o<573;o++)d=t.heap[o],_=a[2*a[2*d+1]+1]+1,_>l&&(_=l,g++),a[2*d+1]=_,d>s||(t.bl_count[_]++,u=0,d>=h&&(u=n[d-h]),c=a[2*d],t.opt_len+=c*(_+u),r&&(t.static_len+=c*(i[2*d+1]+u)));if(0!==g){do{for(_=l-1;0===t.bl_count[_];)_--;t.bl_count[_]--,t.bl_count[_+1]+=2,t.bl_count[l]--,g-=2}while(g>0);for(_=l;0!==_;_--)for(d=t.bl_count[_];0!==d;)f=t.heap[--o],f>s||(a[2*f+1]!==_&&(t.opt_len+=(_-a[2*f+1])*a[2*f],a[2*f+1]=_),d--)}})(t,e),st(a,o,t.bl_count)},dt=(t,e,a)=>{let s,i,r=-1,n=e[1],h=0,l=7,o=4;for(0===n&&(l=138,o=3),e[2*(a+1)+1]=65535,s=0;s<=a;s++)i=n,n=e[2*(s+1)+1],++h<l&&i===n||(h<o?t.bl_tree[2*i]+=h:0!==i?(i!==r&&t.bl_tree[2*i]++,t.bl_tree[32]++):h<=10?t.bl_tree[34]++:t.bl_tree[36]++,h=0,r=i,0===n?(l=138,o=3):i===n?(l=6,o=3):(l=7,o=4))},ft=(t,e,a)=>{let s,i,r=-1,n=e[1],h=0,l=7,o=4;for(0===n&&(l=138,o=3),s=0;s<=a;s++)if(i=n,n=e[2*(s+1)+1],!(++h<l&&i===n)){if(h<o)do{et(t,i,t.bl_tree)}while(0!==--h);else 0!==i?(i!==r&&(et(t,i,t.bl_tree),h--),et(t,16,t.bl_tree),tt(t,h-3,2)):h<=10?(et(t,17,t.bl_tree),tt(t,h-3,3)):(et(t,18,t.bl_tree),tt(t,h-11,7));h=0,r=i,0===n?(l=138,o=3):i===n?(l=6,o=3):(l=7,o=4)}};let _t=!1;const ut=(t,e,a,s)=>{tt(t,0+(s?1:0),3),rt(t),J(t,a),J(t,~a),a&&t.pending_buf.set(t.window.subarray(e,e+a),t.pending),t.pending+=a};var ct=(t,e,a,s)=>{let i,r,n=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,a=4093624447;for(e=0;e<=31;e++,a>>>=1)if(1&a&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<D;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0})(t)),ot(t,t.l_desc),ot(t,t.d_desc),n=(t=>{let e;for(dt(t,t.dyn_ltree,t.l_desc.max_code),dt(t,t.dyn_dtree,t.d_desc.max_code),ot(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*M[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e})(t),i=t.opt_len+3+7>>>3,r=t.static_len+3+7>>>3,r<=i&&(i=r)):i=r=a+5,a+4<=i&&-1!==e?ut(t,e,a,s):4===t.strategy||r===i?(tt(t,2+(s?1:0),3),lt(t,N,Z)):(tt(t,4+(s?1:0),3),((t,e,a,s)=>{let i;for(tt(t,e-257,5),tt(t,a-1,5),tt(t,s-4,4),i=0;i<s;i++)tt(t,t.bl_tree[2*M[i]+1],3);ft(t,t.dyn_ltree,e-1),ft(t,t.dyn_dtree,a-1)})(t,t.l_desc.max_code+1,t.d_desc.max_code+1,n+1),lt(t,t.dyn_ltree,t.dyn_dtree)),it(t),s&&rt(t)},gt={_tr_init:t=>{_t||((()=>{let t,e,a,s,i;const r=new Array(16);for(a=0,s=0;s<28;s++)for(j[s]=a,t=0;t<1<<T[s];t++)V[a++]=s;for(V[a-1]=s,i=0,s=0;s<16;s++)for(W[s]=i,t=0;t<1<<$[s];t++)H[i++]=s;for(i>>=7;s<C;s++)for(W[s]=i<<7,t=0;t<1<<$[s]-7;t++)H[256+i++]=s;for(e=0;e<=P;e++)r[e]=0;for(t=0;t<=143;)N[2*t+1]=8,t++,r[8]++;for(;t<=255;)N[2*t+1]=9,t++,r[9]++;for(;t<=279;)N[2*t+1]=7,t++,r[7]++;for(;t<=287;)N[2*t+1]=8,t++,r[8]++;for(st(N,287,r),t=0;t<C;t++)Z[2*t+1]=5,Z[2*t]=at(t,5);Y=new K(N,T,257,A,P),G=new K(Z,$,0,C,P),q=new K(new Array(0),L,0,19,7)})(),_t=!0),t.l_desc=new X(t.dyn_ltree,Y),t.d_desc=new X(t.dyn_dtree,G),t.bl_desc=new X(t.bl_tree,q),t.bi_buf=0,t.bi_valid=0,it(t)},_tr_stored_block:ut,_tr_flush_block:ct,_tr_tally:(t,e,a)=>(t.pending_buf[t.sym_buf+t.sym_next++]=e,t.pending_buf[t.sym_buf+t.sym_next++]=e>>8,t.pending_buf[t.sym_buf+t.sym_next++]=a,0===e?t.dyn_ltree[2*a]++:(t.matches++,e--,t.dyn_ltree[2*(V[a]+D+1)]++,t.dyn_dtree[2*Q(e)]++),t.sym_next===t.sym_end),_tr_align:t=>{tt(t,2,3),et(t,256,N),(t=>{16===t.bi_valid?(J(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)})(t)}};var mt=(t,e,a,s)=>{let i=65535&t,r=t>>>16&65535,n=0;for(;0!==a;){n=a>2e3?2e3:a,a-=n;do{i=i+e[s++]|0,r=r+i|0}while(--n);i%=65521,r%=65521}return i|r<<16};const pt=new Uint32Array((()=>{let t,e=[];for(var a=0;a<256;a++){t=a;for(var s=0;s<8;s++)t=1&t?3988292384^t>>>1:t>>>1;e[a]=t}return e})());var wt=(t,e,a,s)=>{const i=pt,r=s+a;t^=-1;for(let a=s;a<r;a++)t=t>>>8^i[255&(t^e[a])];return-1^t},yt={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},bt={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:St,_tr_stored_block:vt,_tr_flush_block:Rt,_tr_tally:Bt,_tr_align:kt}=gt,{Z_NO_FLUSH:Ft,Z_PARTIAL_FLUSH:xt,Z_FULL_FLUSH:zt,Z_FINISH:Ot,Z_BLOCK:Ut,Z_OK:Et,Z_STREAM_END:It,Z_STREAM_ERROR:Dt,Z_DATA_ERROR:At,Z_BUF_ERROR:Ct,Z_DEFAULT_COMPRESSION:Pt,Z_FILTERED:Tt,Z_HUFFMAN_ONLY:$t,Z_RLE:Lt,Z_FIXED:Mt,Z_DEFAULT_STRATEGY:Nt,Z_UNKNOWN:Zt,Z_DEFLATED:Ht}=bt,Vt=258,jt=262,Wt=42,Kt=113,Yt=666,Gt=(t,e)=>(t.msg=yt[e],e),qt=t=>2*t-(t>4?9:0),Xt=t=>{let e=t.length;for(;--e>=0;)t[e]=0},Qt=t=>{let e,a,s,i=t.w_size;e=t.hash_size,s=e;do{a=t.head[--s],t.head[s]=a>=i?a-i:0}while(--e);e=i,s=e;do{a=t.prev[--s],t.prev[s]=a>=i?a-i:0}while(--e)};let Jt=(t,e,a)=>(e<<t.hash_shift^a)&t.hash_mask;const te=t=>{const e=t.state;let a=e.pending;a>t.avail_out&&(a=t.avail_out),0!==a&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+a),t.next_out),t.next_out+=a,e.pending_out+=a,t.total_out+=a,t.avail_out-=a,e.pending-=a,0===e.pending&&(e.pending_out=0))},ee=(t,e)=>{Rt(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,te(t.strm)},ae=(t,e)=>{t.pending_buf[t.pending++]=e},se=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e},ie=(t,e,a,s)=>{let i=t.avail_in;return i>s&&(i=s),0===i?0:(t.avail_in-=i,e.set(t.input.subarray(t.next_in,t.next_in+i),a),1===t.state.wrap?t.adler=mt(t.adler,e,i,a):2===t.state.wrap&&(t.adler=wt(t.adler,e,i,a)),t.next_in+=i,t.total_in+=i,i)},re=(t,e)=>{let a,s,i=t.max_chain_length,r=t.strstart,n=t.prev_length,h=t.nice_match;const l=t.strstart>t.w_size-jt?t.strstart-(t.w_size-jt):0,o=t.window,d=t.w_mask,f=t.prev,_=t.strstart+Vt;let u=o[r+n-1],c=o[r+n];t.prev_length>=t.good_match&&(i>>=2),h>t.lookahead&&(h=t.lookahead);do{if(a=e,o[a+n]===c&&o[a+n-1]===u&&o[a]===o[r]&&o[++a]===o[r+1]){r+=2,a++;do{}while(o[++r]===o[++a]&&o[++r]===o[++a]&&o[++r]===o[++a]&&o[++r]===o[++a]&&o[++r]===o[++a]&&o[++r]===o[++a]&&o[++r]===o[++a]&&o[++r]===o[++a]&&r<_);if(s=Vt-(_-r),r=_-Vt,s>n){if(t.match_start=e,n=s,s>=h)break;u=o[r+n-1],c=o[r+n]}}}while((e=f[e&d])>l&&0!==--i);return n<=t.lookahead?n:t.lookahead},ne=t=>{const e=t.w_size;let a,s,i;do{if(s=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-jt)&&(t.window.set(t.window.subarray(e,e+e-s),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,t.insert>t.strstart&&(t.insert=t.strstart),Qt(t),s+=e),0===t.strm.avail_in)break;if(a=ie(t.strm,t.window,t.strstart+t.lookahead,s),t.lookahead+=a,t.lookahead+t.insert>=3)for(i=t.strstart-t.insert,t.ins_h=t.window[i],t.ins_h=Jt(t,t.ins_h,t.window[i+1]);t.insert&&(t.ins_h=Jt(t,t.ins_h,t.window[i+3-1]),t.prev[i&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=i,i++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead<jt&&0!==t.strm.avail_in)},he=(t,e)=>{let a,s,i,r=t.pending_buf_size-5>t.w_size?t.w_size:t.pending_buf_size-5,n=0,h=t.strm.avail_in;do{if(a=65535,i=t.bi_valid+42>>3,t.strm.avail_out<i)break;if(i=t.strm.avail_out-i,s=t.strstart-t.block_start,a>s+t.strm.avail_in&&(a=s+t.strm.avail_in),a>i&&(a=i),a<r&&(0===a&&e!==Ot||e===Ft||a!==s+t.strm.avail_in))break;n=e===Ot&&a===s+t.strm.avail_in?1:0,vt(t,0,0,n),t.pending_buf[t.pending-4]=a,t.pending_buf[t.pending-3]=a>>8,t.pending_buf[t.pending-2]=~a,t.pending_buf[t.pending-1]=~a>>8,te(t.strm),s&&(s>a&&(s=a),t.strm.output.set(t.window.subarray(t.block_start,t.block_start+s),t.strm.next_out),t.strm.next_out+=s,t.strm.avail_out-=s,t.strm.total_out+=s,t.block_start+=s,a-=s),a&&(ie(t.strm,t.strm.output,t.strm.next_out,a),t.strm.next_out+=a,t.strm.avail_out-=a,t.strm.total_out+=a)}while(0===n);return h-=t.strm.avail_in,h&&(h>=t.w_size?(t.matches=2,t.window.set(t.strm.input.subarray(t.strm.next_in-t.w_size,t.strm.next_in),0),t.strstart=t.w_size,t.insert=t.strstart):(t.window_size-t.strstart<=h&&(t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,t.insert>t.strstart&&(t.insert=t.strstart)),t.window.set(t.strm.input.subarray(t.strm.next_in-h,t.strm.next_in),t.strstart),t.strstart+=h,t.insert+=h>t.w_size-t.insert?t.w_size-t.insert:h),t.block_start=t.strstart),t.high_water<t.strstart&&(t.high_water=t.strstart),n?4:e!==Ft&&e!==Ot&&0===t.strm.avail_in&&t.strstart===t.block_start?2:(i=t.window_size-t.strstart,t.strm.avail_in>i&&t.block_start>=t.w_size&&(t.block_start-=t.w_size,t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,i+=t.w_size,t.insert>t.strstart&&(t.insert=t.strstart)),i>t.strm.avail_in&&(i=t.strm.avail_in),i&&(ie(t.strm,t.window,t.strstart,i),t.strstart+=i,t.insert+=i>t.w_size-t.insert?t.w_size-t.insert:i),t.high_water<t.strstart&&(t.high_water=t.strstart),i=t.bi_valid+42>>3,i=t.pending_buf_size-i>65535?65535:t.pending_buf_size-i,r=i>t.w_size?t.w_size:i,s=t.strstart-t.block_start,(s>=r||(s||e===Ot)&&e!==Ft&&0===t.strm.avail_in&&s<=i)&&(a=s>i?i:s,n=e===Ot&&0===t.strm.avail_in&&a===s?1:0,vt(t,t.block_start,a,n),t.block_start+=a,te(t.strm)),n?3:1)},le=(t,e)=>{let a,s;for(;;){if(t.lookahead<jt){if(ne(t),t.lookahead<jt&&e===Ft)return 1;if(0===t.lookahead)break}if(a=0,t.lookahead>=3&&(t.ins_h=Jt(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==a&&t.strstart-a<=t.w_size-jt&&(t.match_length=re(t,a)),t.match_length>=3)if(s=Bt(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=Jt(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!==--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=Jt(t,t.ins_h,t.window[t.strstart+1]);else s=Bt(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(s&&(ee(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,e===Ot?(ee(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(ee(t,!1),0===t.strm.avail_out)?1:2},oe=(t,e)=>{let a,s,i;for(;;){if(t.lookahead<jt){if(ne(t),t.lookahead<jt&&e===Ft)return 1;if(0===t.lookahead)break}if(a=0,t.lookahead>=3&&(t.ins_h=Jt(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==a&&t.prev_length<t.max_lazy_match&&t.strstart-a<=t.w_size-jt&&(t.match_length=re(t,a),t.match_length<=5&&(t.strategy===Tt||3===t.match_length&&t.strstart-t.match_start>4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){i=t.strstart+t.lookahead-3,s=Bt(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=i&&(t.ins_h=Jt(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!==--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,s&&(ee(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(s=Bt(t,0,t.window[t.strstart-1]),s&&ee(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(s=Bt(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===Ot?(ee(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(ee(t,!1),0===t.strm.avail_out)?1:2};function de(t,e,a,s,i){this.good_length=t,this.max_lazy=e,this.nice_length=a,this.max_chain=s,this.func=i}const fe=[new de(0,0,0,0,he),new de(4,4,8,4,le),new de(4,5,16,8,le),new de(4,6,32,32,le),new de(4,4,16,16,oe),new de(8,16,32,32,oe),new de(8,16,128,128,oe),new de(8,32,128,256,oe),new de(32,128,258,1024,oe),new de(32,258,258,4096,oe)];function _e(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Ht,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),Xt(this.dyn_ltree),Xt(this.dyn_dtree),Xt(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),Xt(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),Xt(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const ue=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.status!==Wt&&57!==e.status&&69!==e.status&&73!==e.status&&91!==e.status&&103!==e.status&&e.status!==Kt&&e.status!==Yt?1:0},ce=t=>{if(ue(t))return Gt(t,Dt);t.total_in=t.total_out=0,t.data_type=Zt;const e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=2===e.wrap?57:e.wrap?Wt:Kt,t.adler=2===e.wrap?0:1,e.last_flush=-2,St(e),Et},ge=t=>{const e=ce(t);var a;return e===Et&&((a=t.state).window_size=2*a.w_size,Xt(a.head),a.max_lazy_match=fe[a.level].max_lazy,a.good_match=fe[a.level].good_length,a.nice_match=fe[a.level].nice_length,a.max_chain_length=fe[a.level].max_chain,a.strstart=0,a.block_start=0,a.lookahead=0,a.insert=0,a.match_length=a.prev_length=2,a.match_available=0,a.ins_h=0),e},me=(t,e,a,s,i,r)=>{if(!t)return Dt;let n=1;if(e===Pt&&(e=6),s<0?(n=0,s=-s):s>15&&(n=2,s-=16),i<1||i>9||a!==Ht||s<8||s>15||e<0||e>9||r<0||r>Mt||8===s&&1!==n)return Gt(t,Dt);8===s&&(s=9);const h=new _e;return t.state=h,h.strm=t,h.status=Wt,h.wrap=n,h.gzhead=null,h.w_bits=s,h.w_size=1<<h.w_bits,h.w_mask=h.w_size-1,h.hash_bits=i+7,h.hash_size=1<<h.hash_bits,h.hash_mask=h.hash_size-1,h.hash_shift=~~((h.hash_bits+3-1)/3),h.window=new Uint8Array(2*h.w_size),h.head=new Uint16Array(h.hash_size),h.prev=new Uint16Array(h.w_size),h.lit_bufsize=1<<i+6,h.pending_buf_size=4*h.lit_bufsize,h.pending_buf=new Uint8Array(h.pending_buf_size),h.sym_buf=h.lit_bufsize,h.sym_end=3*(h.lit_bufsize-1),h.level=e,h.strategy=r,h.method=a,ge(t)};var pe={deflateInit:(t,e)=>me(t,e,Ht,15,8,Nt),deflateInit2:me,deflateReset:ge,deflateResetKeep:ce,deflateSetHeader:(t,e)=>ue(t)||2!==t.state.wrap?Dt:(t.state.gzhead=e,Et),deflate:(t,e)=>{if(ue(t)||e>Ut||e<0)return t?Gt(t,Dt):Dt;const a=t.state;if(!t.output||0!==t.avail_in&&!t.input||a.status===Yt&&e!==Ot)return Gt(t,0===t.avail_out?Ct:Dt);const s=a.last_flush;if(a.last_flush=e,0!==a.pending){if(te(t),0===t.avail_out)return a.last_flush=-1,Et}else if(0===t.avail_in&&qt(e)<=qt(s)&&e!==Ot)return Gt(t,Ct);if(a.status===Yt&&0!==t.avail_in)return Gt(t,Ct);if(a.status===Wt&&0===a.wrap&&(a.status=Kt),a.status===Wt){let e=Ht+(a.w_bits-8<<4)<<8,s=-1;if(s=a.strategy>=$t||a.level<2?0:a.level<6?1:6===a.level?2:3,e|=s<<6,0!==a.strstart&&(e|=32),e+=31-e%31,se(a,e),0!==a.strstart&&(se(a,t.adler>>>16),se(a,65535&t.adler)),t.adler=1,a.status=Kt,te(t),0!==a.pending)return a.last_flush=-1,Et}if(57===a.status)if(t.adler=0,ae(a,31),ae(a,139),ae(a,8),a.gzhead)ae(a,(a.gzhead.text?1:0)+(a.gzhead.hcrc?2:0)+(a.gzhead.extra?4:0)+(a.gzhead.name?8:0)+(a.gzhead.comment?16:0)),ae(a,255&a.gzhead.time),ae(a,a.gzhead.time>>8&255),ae(a,a.gzhead.time>>16&255),ae(a,a.gzhead.time>>24&255),ae(a,9===a.level?2:a.strategy>=$t||a.level<2?4:0),ae(a,255&a.gzhead.os),a.gzhead.extra&&a.gzhead.extra.length&&(ae(a,255&a.gzhead.extra.length),ae(a,a.gzhead.extra.length>>8&255)),a.gzhead.hcrc&&(t.adler=wt(t.adler,a.pending_buf,a.pending,0)),a.gzindex=0,a.status=69;else if(ae(a,0),ae(a,0),ae(a,0),ae(a,0),ae(a,0),ae(a,9===a.level?2:a.strategy>=$t||a.level<2?4:0),ae(a,3),a.status=Kt,te(t),0!==a.pending)return a.last_flush=-1,Et;if(69===a.status){if(a.gzhead.extra){let e=a.pending,s=(65535&a.gzhead.extra.length)-a.gzindex;for(;a.pending+s>a.pending_buf_size;){let i=a.pending_buf_size-a.pending;if(a.pending_buf.set(a.gzhead.extra.subarray(a.gzindex,a.gzindex+i),a.pending),a.pending=a.pending_buf_size,a.gzhead.hcrc&&a.pending>e&&(t.adler=wt(t.adler,a.pending_buf,a.pending-e,e)),a.gzindex+=i,te(t),0!==a.pending)return a.last_flush=-1,Et;e=0,s-=i}let i=new Uint8Array(a.gzhead.extra);a.pending_buf.set(i.subarray(a.gzindex,a.gzindex+s),a.pending),a.pending+=s,a.gzhead.hcrc&&a.pending>e&&(t.adler=wt(t.adler,a.pending_buf,a.pending-e,e)),a.gzindex=0}a.status=73}if(73===a.status){if(a.gzhead.name){let e,s=a.pending;do{if(a.pending===a.pending_buf_size){if(a.gzhead.hcrc&&a.pending>s&&(t.adler=wt(t.adler,a.pending_buf,a.pending-s,s)),te(t),0!==a.pending)return a.last_flush=-1,Et;s=0}e=a.gzindex<a.gzhead.name.length?255&a.gzhead.name.charCodeAt(a.gzindex++):0,ae(a,e)}while(0!==e);a.gzhead.hcrc&&a.pending>s&&(t.adler=wt(t.adler,a.pending_buf,a.pending-s,s)),a.gzindex=0}a.status=91}if(91===a.status){if(a.gzhead.comment){let e,s=a.pending;do{if(a.pending===a.pending_buf_size){if(a.gzhead.hcrc&&a.pending>s&&(t.adler=wt(t.adler,a.pending_buf,a.pending-s,s)),te(t),0!==a.pending)return a.last_flush=-1,Et;s=0}e=a.gzindex<a.gzhead.comment.length?255&a.gzhead.comment.charCodeAt(a.gzindex++):0,ae(a,e)}while(0!==e);a.gzhead.hcrc&&a.pending>s&&(t.adler=wt(t.adler,a.pending_buf,a.pending-s,s))}a.status=103}if(103===a.status){if(a.gzhead.hcrc){if(a.pending+2>a.pending_buf_size&&(te(t),0!==a.pending))return a.last_flush=-1,Et;ae(a,255&t.adler),ae(a,t.adler>>8&255),t.adler=0}if(a.status=Kt,te(t),0!==a.pending)return a.last_flush=-1,Et}if(0!==t.avail_in||0!==a.lookahead||e!==Ft&&a.status!==Yt){let s=0===a.level?he(a,e):a.strategy===$t?((t,e)=>{let a;for(;;){if(0===t.lookahead&&(ne(t),0===t.lookahead)){if(e===Ft)return 1;break}if(t.match_length=0,a=Bt(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,a&&(ee(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===Ot?(ee(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(ee(t,!1),0===t.strm.avail_out)?1:2})(a,e):a.strategy===Lt?((t,e)=>{let a,s,i,r;const n=t.window;for(;;){if(t.lookahead<=Vt){if(ne(t),t.lookahead<=Vt&&e===Ft)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(i=t.strstart-1,s=n[i],s===n[++i]&&s===n[++i]&&s===n[++i])){r=t.strstart+Vt;do{}while(s===n[++i]&&s===n[++i]&&s===n[++i]&&s===n[++i]&&s===n[++i]&&s===n[++i]&&s===n[++i]&&s===n[++i]&&i<r);t.match_length=Vt-(r-i),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(a=Bt(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(a=Bt(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),a&&(ee(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===Ot?(ee(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(ee(t,!1),0===t.strm.avail_out)?1:2})(a,e):fe[a.level].func(a,e);if(3!==s&&4!==s||(a.status=Yt),1===s||3===s)return 0===t.avail_out&&(a.last_flush=-1),Et;if(2===s&&(e===xt?kt(a):e!==Ut&&(vt(a,0,0,!1),e===zt&&(Xt(a.head),0===a.lookahead&&(a.strstart=0,a.block_start=0,a.insert=0))),te(t),0===t.avail_out))return a.last_flush=-1,Et}return e!==Ot?Et:a.wrap<=0?It:(2===a.wrap?(ae(a,255&t.adler),ae(a,t.adler>>8&255),ae(a,t.adler>>16&255),ae(a,t.adler>>24&255),ae(a,255&t.total_in),ae(a,t.total_in>>8&255),ae(a,t.total_in>>16&255),ae(a,t.total_in>>24&255)):(se(a,t.adler>>>16),se(a,65535&t.adler)),te(t),a.wrap>0&&(a.wrap=-a.wrap),0!==a.pending?Et:It)},deflateEnd:t=>{if(ue(t))return Dt;const e=t.state.status;return t.state=null,e===Kt?Gt(t,At):Et},deflateSetDictionary:(t,e)=>{let a=e.length;if(ue(t))return Dt;const s=t.state,i=s.wrap;if(2===i||1===i&&s.status!==Wt||s.lookahead)return Dt;if(1===i&&(t.adler=mt(t.adler,e,a,0)),s.wrap=0,a>=s.w_size){0===i&&(Xt(s.head),s.strstart=0,s.block_start=0,s.insert=0);let t=new Uint8Array(s.w_size);t.set(e.subarray(a-s.w_size,a),0),e=t,a=s.w_size}const r=t.avail_in,n=t.next_in,h=t.input;for(t.avail_in=a,t.next_in=0,t.input=e,ne(s);s.lookahead>=3;){let t=s.strstart,e=s.lookahead-2;do{s.ins_h=Jt(s,s.ins_h,s.window[t+3-1]),s.prev[t&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=t,t++}while(--e);s.strstart=t,s.lookahead=2,ne(s)}return s.strstart+=s.lookahead,s.block_start=s.strstart,s.insert=s.lookahead,s.lookahead=0,s.match_length=s.prev_length=2,s.match_available=0,t.next_in=n,t.input=h,t.avail_in=r,s.wrap=i,Et},deflateInfo:"pako deflate (from Nodeca project)"};const we=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var ye=function(t){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const a=e.shift();if(a){if("object"!=typeof a)throw new TypeError(a+"must be non-object");for(const e in a)we(a,e)&&(t[e]=a[e])}}return t},be=t=>{let e=0;for(let a=0,s=t.length;a<s;a++)e+=t[a].length;const a=new Uint8Array(e);for(let e=0,s=0,i=t.length;e<i;e++){let i=t[e];a.set(i,s),s+=i.length}return a};let Se=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){Se=!1}const ve=new Uint8Array(256);for(let t=0;t<256;t++)ve[t]=t>=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;ve[254]=ve[254]=1;var Re=t=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(t);let e,a,s,i,r,n=t.length,h=0;for(i=0;i<n;i++)a=t.charCodeAt(i),55296==(64512&a)&&i+1<n&&(s=t.charCodeAt(i+1),56320==(64512&s)&&(a=65536+(a-55296<<10)+(s-56320),i++)),h+=a<128?1:a<2048?2:a<65536?3:4;for(e=new Uint8Array(h),r=0,i=0;r<h;i++)a=t.charCodeAt(i),55296==(64512&a)&&i+1<n&&(s=t.charCodeAt(i+1),56320==(64512&s)&&(a=65536+(a-55296<<10)+(s-56320),i++)),a<128?e[r++]=a:a<2048?(e[r++]=192|a>>>6,e[r++]=128|63&a):a<65536?(e[r++]=224|a>>>12,e[r++]=128|a>>>6&63,e[r++]=128|63&a):(e[r++]=240|a>>>18,e[r++]=128|a>>>12&63,e[r++]=128|a>>>6&63,e[r++]=128|63&a);return e};var Be=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const ke=Object.prototype.toString,{Z_NO_FLUSH:Fe,Z_SYNC_FLUSH:xe,Z_FULL_FLUSH:ze,Z_FINISH:Oe,Z_OK:Ue,Z_STREAM_END:Ee,Z_DEFAULT_COMPRESSION:Ie,Z_DEFAULT_STRATEGY:De,Z_DEFLATED:Ae}=bt;function Ce(t){this.options=ye({level:Ie,method:Ae,chunkSize:16384,windowBits:15,memLevel:8,strategy:De},t||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Be,this.strm.avail_out=0;let a=pe.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(a!==Ue)throw new Error(yt[a]);if(e.header&&pe.deflateSetHeader(this.strm,e.header),e.dictionary){let t;if(t="string"==typeof e.dictionary?Re(e.dictionary):"[object ArrayBuffer]"===ke.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,a=pe.deflateSetDictionary(this.strm,t),a!==Ue)throw new Error(yt[a]);this._dict_set=!0}}Ce.prototype.push=function(t,e){const a=this.strm,s=this.options.chunkSize;let i,r;if(this.ended)return!1;for(r=e===~~e?e:!0===e?Oe:Fe,"string"==typeof t?a.input=Re(t):"[object ArrayBuffer]"===ke.call(t)?a.input=new Uint8Array(t):a.input=t,a.next_in=0,a.avail_in=a.input.length;;)if(0===a.avail_out&&(a.output=new Uint8Array(s),a.next_out=0,a.avail_out=s),(r===xe||r===ze)&&a.avail_out<=6)this.onData(a.output.subarray(0,a.next_out)),a.avail_out=0;else{if(i=pe.deflate(a,r),i===Ee)return a.next_out>0&&this.onData(a.output.subarray(0,a.next_out)),i=pe.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===Ue;if(0!==a.avail_out){if(r>0&&a.next_out>0)this.onData(a.output.subarray(0,a.next_out)),a.avail_out=0;else if(0===a.avail_in)break}else this.onData(a.output)}return!0},Ce.prototype.onData=function(t){this.chunks.push(t)},Ce.prototype.onEnd=function(t){t===Ue&&(this.result=be(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var Pe={deflate:function(t,e){const a=new Ce(e);if(a.push(t,!0),a.err)throw a.msg||yt[a.err];return a.result}};const{deflate:Te}=Pe;var $e=Te;const Le={b:{u:DataView.prototype.getInt8,p:DataView.prototype.setInt8,bytes:1},B:{u:DataView.prototype.getUint8,p:DataView.prototype.setUint8,bytes:1},h:{u:DataView.prototype.getInt16,p:DataView.prototype.setInt16,bytes:2},H:{u:DataView.prototype.getUint16,p:DataView.prototype.setUint16,bytes:2},i:{u:DataView.prototype.getInt32,p:DataView.prototype.setInt32,bytes:4},I:{u:DataView.prototype.getUint32,p:DataView.prototype.setUint32,bytes:4},q:{u:DataView.prototype.getInt64,p:DataView.prototype.setInt64,bytes:8},Q:{u:DataView.prototype.getUint64,p:DataView.prototype.setUint64,bytes:8}},Me=(t,...e)=>{let a=0;if(t.replace(/[<>]/,"").length!=e.length)throw"Pack format to Argument count mismatch";let s=[],i=!0;for(let s=0;s<t.length;s++)"<"==t[s]?i=!0:">"==t[s]?i=!1:(r(t[s],e[a]),a++);function r(t,e){if(!(t in Le))throw"Unhandled character '"+t+"' in pack format";let a=Le[t].bytes,r=new DataView(new ArrayBuffer(a));Le[t].p.bind(r)(0,e,i);for(let t=0;t<a;t++)s.push(r.getUint8(t))}return s},Ne=(t,e)=>{let a=0,s=[],i=!0;for(let e of t)"<"==e?i=!0:">"==e?i=!1:r(e);function r(t){if(!(t in Le))throw"Unhandled character '"+t+"' in unpack format";let r=Le[t].bytes,n=new DataView(new ArrayBuffer(r));for(let t=0;t<r;t++)n.setUint8(t,255&e[a+t]);let h=Le[t].u.bind(n);s.push(h(0,i)),a+=r}return s};class Ze extends EventTarget{constructor(t,e,a){super(),this.port=t,this.logger=e,this._parent=a,this.chipName=null,this.chipRevision=null,this.chipVariant=null,this._efuses=new Array(4).fill(0),this._flashsize=4194304,this.debug=!1,this.IS_STUB=!1,this.connected=!0,this.flashSize=null,this._currentBaudRate=n,this.state_DTR=!1}get _inputBuffer(){return this._parent?this._parent._inputBuffer:this.__inputBuffer}get _totalBytesRead(){return this._parent?this._parent._totalBytesRead:this.__totalBytesRead||0}set _totalBytesRead(t){this._parent?this._parent._totalBytesRead=t:this.__totalBytesRead=t}detectUSBSerialChip(t,e){const a={6790:{29987:{name:"CH340",maxBaudrate:460800},21972:{name:"CH9102",maxBaudrate:6e6}},4292:{6e4:{name:"CP2102(n)",maxBaudrate:3e6},60016:{name:"CP2105",maxBaudrate:2e6},60017:{name:"CP2108",maxBaudrate:2e6}},1027:{24577:{name:"FT232R",maxBaudrate:3e6},24592:{name:"FT2232",maxBaudrate:3e6},24593:{name:"FT4232",maxBaudrate:3e6},24596:{name:"FT232H",maxBaudrate:12e6},24597:{name:"FT230X",maxBaudrate:3e6}},12346:{4097:{name:"ESP32 Native USB",maxBaudrate:2e6},4098:{name:"ESP32 Native USB",maxBaudrate:2e6},16386:{name:"ESP32 Native USB",maxBaudrate:2e6},4096:{name:"ESP32 Native USB",maxBaudrate:2e6}}}[t];return a&&a[e]?a[e]:{name:`Unknown (VID: 0x${t.toString(16)}, PID: 0x${e.toString(16)})`}}async initialize(){if(await this.hardReset(!0),!this._parent){this.__inputBuffer=[],this.__totalBytesRead=0;const t=this.port.getInfo();if(t.usbVendorId&&t.usbProductId){const e=this.detectUSBSerialChip(t.usbVendorId,t.usbProductId);this.logger.log(`USB-Serial: ${e.name} (VID: 0x${t.usbVendorId.toString(16)}, PID: 0x${t.usbProductId.toString(16)})`),e.maxBaudrate&&(this._maxUSBSerialBaudrate=e.maxBaudrate,this.logger.log(`Max baudrate: ${e.maxBaudrate}`))}this.readLoop()}await this.flushSerialBuffers(),await this.sync(),await this.detectChip();let t=O(this.getChipFamily()),e=t.macFuse;for(let t=0;t<4;t++)this._efuses[t]=await this.readRegister(e+4*t);this.logger.log(`Chip type ${this.chipName}`),this.logger.debug(`Bootloader flash offset: 0x${t.flashOffs.toString(16)}`)}async detectChip(){try{const t=(await this.getSecurityInfo()).chipId,e=R[t];if(e)return this.chipName=e.name,this.chipFamily=e.family,this.chipFamily===S&&(this.chipRevision=await this.getChipRevision(),this.logger.debug(`ESP32-P4 revision: ${this.chipRevision}`),this.chipRevision>=300?this.chipVariant="rev300":this.chipVariant="rev0",this.logger.debug(`ESP32-P4 variant: ${this.chipVariant}`)),void this.logger.debug(`Detected chip via IMAGE_CHIP_ID: ${t} (${this.chipName})`);this.logger.debug(`Unknown IMAGE_CHIP_ID: ${t}, falling back to magic value detection`)}catch(t){this.logger.debug(`GET_SECURITY_INFO failed, using magic value detection: ${t}`),this._inputBuffer.length=0,await i(x);try{await this.sync()}catch(t){this.logger.debug(`Re-sync after GET_SECURITY_INFO failure: ${t}`)}}let t=await this.readRegister(1073745920),e=B[t>>>0];if(void 0===e)throw new Error(`Unknown Chip: Hex: ${s(t>>>0,8).toLowerCase()} Number: ${t}`);this.chipName=e.name,this.chipFamily=e.family,this.chipFamily===S&&(this.chipRevision=await this.getChipRevision(),this.logger.debug(`ESP32-P4 revision: ${this.chipRevision}`),this.chipRevision>=300?this.chipVariant="rev300":this.chipVariant="rev0",this.logger.debug(`ESP32-P4 variant: ${this.chipVariant}`)),this.logger.debug(`Detected chip via magic value: ${s(t>>>0,8)} (${this.chipName})`)}async getChipRevision(){if(this.chipFamily!==S)return 0;const t=await this.readRegister(1343410252);return 100*((t>>23&1)<<2|t>>4&3)+(15&t)}async getSecurityInfo(){const[t,e]=await this.checkCommand(20,[],0);if(0===e.length)throw new Error("GET_SECURITY_INFO not supported or returned empty response");if(e.length<12)throw new Error(`Invalid security info response length: ${e.length} (expected at least 12 bytes)`);return{flags:Ne("<I",e.slice(0,4))[0],flashCryptCnt:e[4],keyPurposes:Array.from(e.slice(5,12)),chipId:e.length>=16?Ne("<I",e.slice(12,16))[0]:0,apiVersion:e.length>=20?Ne("<I",e.slice(16,20))[0]:0}}async readLoop(){this.debug&&this.logger.debug("Starting read loop"),this._reader=this.port.readable.getReader();try{for(;;){const{value:t,done:e}=await this._reader.read();if(e){this._reader.releaseLock();break}if(!t||0===t.length)continue;const a=Array.from(t);Array.prototype.push.apply(this._inputBuffer,a),this._totalBytesRead+=t.length}}catch(t){console.error("Read loop got disconnected")}this.connected=!1,this.dispatchEvent(new Event("disconnect")),this.logger.debug("Finished read loop")}sleep(t=100){return new Promise(e=>setTimeout(e,t))}async setRTS(t){await this.port.setSignals({requestToSend:t}),await this.setDTR(this.state_DTR)}async setDTR(t){this.state_DTR=t,await this.port.setSignals({dataTerminalReady:t})}async hardReset(t=!1){t?4097===this.port.getInfo().usbProductId?(await this.setDTR(!1),await this.setRTS(!1),await this.sleep(100),await this.setDTR(!0),await this.setRTS(!1),await this.sleep(100),await this.setRTS(!0),await this.setDTR(!1),await this.setRTS(!0),await this.sleep(100),await this.setDTR(!1),await this.setRTS(!1),this.logger.log("USB MCU reset.")):(await this.setDTR(!1),await this.setRTS(!0),await this.sleep(100),await this.setDTR(!0),await this.setRTS(!1),await this.sleep(50),await this.setDTR(!1),this.logger.log("DTR/RTS USB serial chip reset.")):(await this.setRTS(!0),await this.sleep(100),await this.setRTS(!1),this.logger.log("Hard reset.")),await new Promise(t=>setTimeout(t,1e3))}macAddr(){let t,e=new Array(6).fill(0),a=this._efuses[0],s=this._efuses[1],i=this._efuses[2],r=this._efuses[3];if(this.chipFamily==o){if(0!=r)t=[r>>16&255,r>>8&255,255&r];else if(s>>16&255){if(1!=(s>>16&255))throw new Error("Couldnt determine OUI");t=[172,208,116]}else t=[24,254,52];e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=s>>8&255,e[4]=255&s,e[5]=a>>24&255}else if(this.chipFamily==d)e[0]=i>>8&255,e[1]=255&i,e[2]=s>>24&255,e[3]=s>>16&255,e[4]=s>>8&255,e[5]=255&s;else{if(this.chipFamily!=f&&this.chipFamily!=_&&this.chipFamily!=u&&this.chipFamily!=c&&this.chipFamily!=g&&this.chipFamily!=m&&this.chipFamily!=p&&this.chipFamily!=w&&this.chipFamily!=y&&this.chipFamily!=b&&this.chipFamily!=S&&this.chipFamily!=v)throw new Error("Unknown chip family");e[0]=s>>8&255,e[1]=255&s,e[2]=a>>24&255,e[3]=a>>16&255,e[4]=a>>8&255,e[5]=255&a}return e}async readRegister(t){this.debug&&this.logger.debug("Reading from Register "+s(t,8));let e=Me("<I",t);await this.sendCommand(10,e);let[a,i]=await this.getResponse(10);return a}async checkCommand(t,e,a=0,i=3e3){i=Math.min(i,3e5),await this.sendCommand(t,e,a);let[r,n]=await this.getResponse(t,i);if(null===n)throw new Error("Didn't get enough status bytes");let h=0;if(this.IS_STUB||this.chipFamily==o?h=2:[d,f,_,u,c,g,m,p,w,y,b,S,v].includes(this.chipFamily)||20===t?h=4:[2,4].includes(n.length)&&(h=n.length),n.length<h)throw new Error("Didn't get enough status bytes");let l=n.slice(-h,n.length);if(n=n.slice(0,-h),this.debug&&(this.logger.debug("status",l),this.logger.debug("value",r),this.logger.debug("data",n)),1==l[0])throw 5==l[1]?new Error("Invalid (unsupported) command "+s(t)):new Error("Command failure error code "+s(l[1]));return[r,n]}async sendCommand(e,a,s=0){let i=t([...Me("<BBHI",0,e,a.length,s),...a]);this.debug&&this.logger.debug(`Writing ${i.length} byte${1==i.length?"":"s"}:`,i),await this.writeToStream(i)}async readPacket(t){let e=null,r=!1,n=[];for(;;){let h=Date.now();for(n=[];Date.now()-h<t;){if(this._inputBuffer.length>0){n.push(this._inputBuffer.shift());break}await i(1)}if(0==n.length){throw new U("Timed out waiting for packet "+(null===e?"header":"content"))}this.debug&&this.logger.debug("Read "+n.length+" bytes: "+a(n));for(let t of n)if(null===e){if(192!=t)throw this.debug&&(this.logger.debug("Read invalid data: "+a(n)),this.logger.debug("Remaining data in serial buffer: "+a(this._inputBuffer))),new U("Invalid head of packet ("+s(t)+")");e=[]}else if(r)if(r=!1,220==t)e.push(192);else{if(221!=t)throw this.debug&&(this.logger.debug("Read invalid data: "+a(n)),this.logger.debug("Remaining data in serial buffer: "+a(this._inputBuffer))),new U("Invalid SLIP escape (0xdb, "+s(t)+")");e.push(219)}else if(219==t)r=!0;else{if(192==t)return this.debug&&this.logger.debug("Received full packet: "+a(e)),e;e.push(t)}}throw new U("Invalid state")}async getResponse(t,e=3e3){for(let a=0;a<100;a++){const a=await this.readPacket(e);if(a.length<8)continue;const[i,r,n,h]=Ne("<BBHI",a.slice(0,8));if(1!=i)continue;const l=a.slice(8);if(null==t||r==t)return[h,l];if(0!=l[0]&&5==l[1])throw this._inputBuffer.length=0,new Error(`Invalid (unsupported) command ${s(t)}`)}throw"Response doesn't match request"}checksum(t,e=239){for(let a of t)e^=a;return e}async setBaudrate(t){if(this.chipFamily==o)throw new Error("Changing baud rate is not supported on the ESP8266");try{let e=Me("<II",t,this.IS_STUB?n:0);await this.checkCommand(15,e)}catch(e){throw console.error(e),new Error(`Unable to change the baud rate to ${t}: No response from set baud rate command.`)}this._parent?await this._parent.reconfigurePort(t):await this.reconfigurePort(t),this._parent?this._parent._currentBaudRate=t:this._currentBaudRate=t;const e=this._parent?this._parent._maxUSBSerialBaudrate:this._maxUSBSerialBaudrate;e&&t>e&&(this.logger.log(`⚠️ WARNING: Baudrate ${t} exceeds USB-Serial chip limit (${e})!`),this.logger.log("⚠️ This may cause data corruption or connection failures!")),this.logger.log(`Changed baud rate to ${t}`)}async reconfigurePort(t){var e;try{await(null===(e=this._reader)||void 0===e?void 0:e.cancel()),await this.port.close(),await this.port.open({baudRate:t}),await this.flushSerialBuffers(),this.readLoop()}catch(e){throw console.error(e),new Error(`Unable to change the baud rate to ${t}: ${e}`)}}async sync(){for(let t=0;t<5;t++){if(this._inputBuffer.length=0,await this._sync())return await i(x),!0;await i(x)}throw new Error("Couldn't sync to ESP. Try resetting.")}async _sync(){await this.sendCommand(8,l);for(let t=0;t<8;t++)try{let[t,e]=await this.getResponse(8,x);if(e.length>1&&0==e[0]&&0==e[1])return!0}catch(t){}return!1}getFlashWriteSize(){return this.IS_STUB?16384:1024}async flashData(t,e,a=0,i=!1){if(t.byteLength>=8){var r=Array.from(new Uint8Array(t,0,4));let e=r[0],a=r[2],i=r[3];this.logger.log(`Image header, Magic=${s(e)}, FlashMode=${s(a)}, FlashSizeFreq=${s(i)}`)}let n,h=t.byteLength,l=0,o=k;i?(n=$e(new Uint8Array(t),{level:9}).buffer,l=n.byteLength,this.logger.log(`Writing data with filesize: ${h}. Compressed Size: ${l}`),o=await this.flashDeflBegin(h,l,a)):(this.logger.log(`Writing data with filesize: ${h}`),n=t,await this.flashBegin(h,a));let d=[],f=0,_=0,u=0,c=Date.now(),g=this.getFlashWriteSize(),m=i?l:h;for(;m-u>0;)this.debug&&this.logger.log(`Writing at ${s(a+f*g,8)} `),m-u>=g?d=Array.from(new Uint8Array(n,u,g)):(d=Array.from(new Uint8Array(n,u,m-u)),i||(d=d.concat(new Array(g-d.length).fill(255)))),i?await this.flashDeflBlock(d,f,o):await this.flashBlock(d,f),f+=1,_+=i?Math.round(d.length*h/l):d.length,u+=g,e(Math.min(_,h),h);this.logger.log("Took "+(Date.now()-c)+"ms to write "+m+" bytes"),this.IS_STUB&&(await this.flashBegin(0,0),i?await this.flashDeflFinish():await this.flashFinish())}async flashBlock(t,e,a=3e3){await this.checkCommand(3,Me("<IIII",t.length,e,0,0).concat(t),this.checksum(t),a)}async flashDeflBlock(t,e,a=3e3){await this.checkCommand(17,Me("<IIII",t.length,e,0,0).concat(t),this.checksum(t),a)}async flashBegin(t=0,e=0,a=!1){let i,r;await this.flushSerialBuffers();let n=this.getFlashWriteSize();!this.IS_STUB&&[d,f,_,u,c,g,m,p,w,y,b,S,v].includes(this.chipFamily)&&await this.checkCommand(13,new Array(8).fill(0));let h,l=Math.floor((t+n-1)/n);i=this.chipFamily==o?this.getEraseSize(e,t):t,h=this.IS_STUB?k:z(3e4,t);let R=Date.now();return r=Me("<IIII",i,l,n,e),this.chipFamily!=d&&this.chipFamily!=f&&this.chipFamily!=_&&this.chipFamily!=u&&this.chipFamily!=c&&this.chipFamily!=g&&this.chipFamily!=m&&this.chipFamily!=p&&this.chipFamily!=w&&this.chipFamily!=y&&this.chipFamily!=b&&this.chipFamily!=S&&this.chipFamily!=v||(r=r.concat(Me("<I",a?1:0))),this.logger.log("Erase size "+i+", blocks "+l+", block size "+s(n,4)+", offset "+s(e,4)+", encrypted "+(a?"yes":"no")),await this.checkCommand(2,r,0,h),0==t||this.IS_STUB||this.logger.log("Took "+(Date.now()-R)+"ms to erase "+l+" bytes"),l}async flashDeflBegin(t=0,e=0,a=0,s=!1){let i,r=this.getFlashWriteSize(),n=Math.floor((e+r-1)/r),h=Math.floor((t+r-1)/r),l=0,o=0;return this.IS_STUB?(l=t,o=z(3e4,l)):(l=h*r,o=k),i=Me("<IIII",l,n,r,a),await this.checkCommand(16,i,0,o),o}async flashFinish(){let t=Me("<I",1);await this.checkCommand(4,t)}async flashDeflFinish(){let t=Me("<I",1);await this.checkCommand(18,t)}getBootloaderOffset(){return O(this.getChipFamily()).flashOffs}async flashId(){return await this.runSpiFlashCommand(159,[],24)}getChipFamily(){return this._parent?this._parent.chipFamily:this.chipFamily}async writeRegister(t,e,a=4294967295,s=0,i=0){let r=Me("<IIII",t,e,a,s);i>0&&r.concat(Me("<IIII",O(this.getChipFamily()).uartDateReg,0,0,i)),await this.checkCommand(9,r)}async setDataLengths(t,e,a){if(-1!=t.mosiDlenOffs){let s=t.regBase+t.mosiDlenOffs,i=t.regBase+t.misoDlenOffs;e>0&&await this.writeRegister(s,e-1),a>0&&await this.writeRegister(i,a-1)}else{let s=t.regBase+t.usr1Offs,i=(0==a?0:a-1)<<8|(0==e?0:e-1)<<17;await this.writeRegister(s,i)}}async waitDone(t,e){for(let a=0;a<10;a++){if(0==(await this.readRegister(t)&e))return}throw Error("SPI command did not complete in time")}async runSpiFlashCommand(t,e,a=0){let i=O(this.getChipFamily()),r=i.regBase,n=r,h=r+i.usrOffs,l=r+i.usr2Offs,o=r+i.w0Offs,d=1<<18;if(a>32)throw new Error("Reading more than 32 bits back from a SPI flash operation is unsupported");if(e.length>64)throw new Error("Writing more than 64 bytes of data with one SPI command is unsupported");let f=8*e.length,_=await this.readRegister(h),u=await this.readRegister(l),c=1<<31;if(a>0&&(c|=268435456),f>0&&(c|=134217728),await this.setDataLengths(i,f,a),await this.writeRegister(h,c),await this.writeRegister(l,7<<28|t),0==f)await this.writeRegister(o,0);else{e.concat(new Array(e.length%4).fill(0));let t=Ne("I".repeat(Math.floor(e.length/4)),e),a=o;this.logger.debug(`Words Length: ${t.length}`);for(const e of t)this.logger.debug(`Writing word ${s(e)} to register offset ${s(a)}`),await this.writeRegister(a,e),a+=4}await this.writeRegister(n,d),await this.waitDone(n,d);let g=await this.readRegister(o);return await this.writeRegister(h,_),await this.writeRegister(l,u),g}async detectFlashSize(){this.logger.log("Detecting Flash Size");let t=await this.flashId(),e=255&t,a=t>>16&255;this.logger.log(`FlashId: ${s(t)}`),this.logger.log(`Flash Manufacturer: ${e.toString(16)}`),this.logger.log(`Flash Device: ${(t>>8&255).toString(16)}${a.toString(16)}`),this.flashSize=r[a],this.logger.log(`Auto-detected Flash size: ${this.flashSize}`)}getEraseSize(t,e){let a=4096,s=Math.floor((e+a-1)/a),i=16-Math.floor(t/a)%16;return s<i&&(i=s),s<2*i?Math.floor((s+1)/2*a):(s-i)*a}async memBegin(t,e,a,s){return await this.checkCommand(5,Me("<IIII",t,e,a,s))}async memBlock(t,e){return await this.checkCommand(7,Me("<IIII",t.length,e,0,0).concat(t),this.checksum(t))}async memFinish(t=0){let e=this.IS_STUB?k:500,a=Me("<II",0==t?1:0,t);return await this.checkCommand(6,a,0,e)}async runStub(t=!1){const e=await E(this.chipFamily,this.chipRevision);if(null===e)return this.logger.log(`Stub flasher is not yet supported on ${this.chipName}, using ROM loader`),this;let a,s=2048;this.logger.log("Uploading stub...");for(let t of["text","data"])if(Object.keys(e).includes(t)){let a=e[t+"_start"],i=e[t].length,r=Math.floor((i+s-1)/s);await this.memBegin(i,r,s,a);for(let a of Array(r).keys()){let r=a*s,n=r+s;n>i&&(n=i),await this.memBlock(e[t].slice(r,n),a)}}await this.memFinish(e.entry);const i=await this.readPacket(500);if(a=String.fromCharCode(...i),"OHAI"!=a)throw new Error("Failed to start stub. Unexpected response: "+a);this.logger.log("Stub is now running...");const r=new He(this.port,this.logger,this);return t||await r.detectFlashSize(),r}async writeToStream(t){const e=this.port.writable.getWriter();await e.write(new Uint8Array(t));try{e.releaseLock()}catch(t){console.error("Ignoring release lock error",t)}}async disconnect(){this._parent?await this._parent.disconnect():(await this.port.writable.getWriter().close(),await new Promise(t=>{this._reader||t(void 0),this.addEventListener("disconnect",t,{once:!0}),this._reader.cancel()}),this.connected=!1)}async reconnect(){if(this._parent)return void await this._parent.reconnect();if(this.logger.log("Reconnecting serial port..."),this.connected=!1,this.__inputBuffer=[],this._reader){try{await this._reader.cancel()}catch(t){this.logger.debug(`Reader cancel error: ${t}`)}this._reader=void 0}await i(x);try{await this.port.close(),this.logger.log("Port closed")}catch(t){this.logger.debug(`Port close error: ${t}`)}await i(x),this.logger.debug("Opening port...");try{await this.port.open({baudRate:n}),this.connected=!0}catch(t){throw new Error(`Failed to open port: ${t}`)}if(await i(x),!this.port.readable||!this.port.writable)throw new Error(`Port streams not available after open (readable: ${!!this.port.readable}, writable: ${!!this.port.writable})`);const t=this.chipFamily,e=this.chipName,a=this.chipRevision,s=this.chipVariant,r=this.flashSize;if(await this.hardReset(!0),this._parent||(this.__inputBuffer=[],this.__totalBytesRead=0,this.readLoop()),await this.flushSerialBuffers(),await this.sync(),this.chipFamily=t,this.chipName=e,this.chipRevision=a,this.chipVariant=s,this.flashSize=r,this.logger.debug(`Reconnect complete (chip: ${this.chipName})`),!this.port.writable||!this.port.readable)throw new Error("Port not ready after reconnect");const h=await this.runStub(!0);if(this.logger.debug("Stub loaded"),this._currentBaudRate!==n&&(await h.setBaudrate(this._currentBaudRate),await i(x),!this.port.writable||!this.port.readable))throw new Error(`Port not ready after baudrate change (readable: ${!!this.port.readable}, writable: ${!!this.port.writable})`);this.IS_STUB&&Object.assign(this,h),this.logger.debug("Reconnection successful")}async flushSerialBuffers(){this._parent||(this.__inputBuffer=[]),await i(x),this._parent||(this.__inputBuffer=[]),await i(200),this._parent||(this.__inputBuffer=[]),this.logger.debug("Serial buffers flushed")}async readFlash(e,a,s){if(!this.IS_STUB)throw new Error("Reading flash is only supported in stub mode. Please run runStub() first.");if(this._totalBytesRead>=4194304){this.logger.log("Reconnecting before new read...");try{await this.reconnect()}catch(t){throw new Error(`Reconnect failed: ${t}`)}}await this.flushSerialBuffers(),this.logger.log(`Reading ${a} bytes from flash at address 0x${e.toString(16)}...`);let i=new Uint8Array(0),r=e,n=a;for(;n>0;){if(i.length>0&&i.length%4194304==0){this.logger.debug(`Read ${i.length} bytes. Reconnecting to clear buffers...`);try{await this.reconnect()}catch(t){throw new Error(`Reconnect failed during read: ${t}`)}}const e=Math.min(65536,n);let h=!1,l=0;const o=3;for(;!h&&l<=o;)try{this.logger.debug(`Reading chunk at 0x${r.toString(16)}, size: 0x${e.toString(16)}`);let a=Me("<IIII",r,e,4096,1024);const[s,n]=await this.checkCommand(210,a);if(0!=s)throw new Error("Failed to read memory: "+s);let l=new Uint8Array(0);for(;l.length<e;){let a;try{a=await this.readPacket(100)}catch(t){if(t instanceof U&&(this.logger.debug(`SLIP read error at ${l.length} bytes: ${t.message}`),l.length>=e))break;throw t}if(a&&a.length>0){const e=new Uint8Array(a),s=new Uint8Array(l.length+e.length);s.set(l),s.set(e,l.length),l=s;const i=Me("<I",l.length),r=t(i);await this.writeToStream(r)}}const o=new Uint8Array(i.length+l.length);o.set(i),o.set(l,i.length),i=o,h=!0}catch(t){if(l++,!(t instanceof U&&t.message.includes("Timed out")))throw t;if(!(l<=o))throw new Error(`Failed to read chunk at 0x${r.toString(16)} after ${o} retries: ${t}`);this.logger.log(`⚠️ Timeout error at 0x${r.toString(16)}. Reconnecting and retrying (attempt ${l}/${o})...`);try{await this.reconnect()}catch(t){throw new Error(`Reconnect failed: ${t}`)}}s&&s(new Uint8Array(e),i.length,a),r+=e,n-=e,this.logger.debug(`Total progress: 0x${i.length.toString(16)}/0x${a.toString(16)} bytes`)}return this.logger.debug(`Successfully read ${i.length} bytes from flash`),i}}class He extends Ze{constructor(){super(...arguments),this.IS_STUB=!0}async memBegin(t,e,a,i){let r=await E(this.chipFamily,this.chipRevision);if(null===r)return;let n=i,h=i+t;console.log(n,h),console.log(r.data_start,r.data.length,r.text_start,r.text.length);for(let[t,e]of[[r.data_start,r.data_start+r.data.length],[r.text_start,r.text_start+r.text.length]])if(n<e&&h>t)throw new Error("Software loader is resident at "+s(t,8)+"-"+s(e,8)+". Can't load binary at overlapping address range "+s(n,8)+"-"+s(h,8)+". Try changing the binary loading address.")}async eraseFlash(){await this.checkCommand(208,[],0,F)}}const Ve=async t=>{const e=await navigator.serial.requestPort();return await e.open({baudRate:n}),t.log("Connected successfully."),new Ze(e,t)};export{d as CHIP_FAMILY_ESP32,u as CHIP_FAMILY_ESP32C2,c as CHIP_FAMILY_ESP32C3,g as CHIP_FAMILY_ESP32C5,m as CHIP_FAMILY_ESP32C6,p as CHIP_FAMILY_ESP32C61,w as CHIP_FAMILY_ESP32H2,b as CHIP_FAMILY_ESP32H21,y as CHIP_FAMILY_ESP32H4,S as CHIP_FAMILY_ESP32P4,f as CHIP_FAMILY_ESP32S2,_ as CHIP_FAMILY_ESP32S3,v as CHIP_FAMILY_ESP32S31,o as CHIP_FAMILY_ESP8266,Ze as ESPLoader,Ve as connect};
|
package/index.html
CHANGED
|
@@ -46,20 +46,45 @@
|
|
|
46
46
|
</head>
|
|
47
47
|
<body>
|
|
48
48
|
<header class="header">
|
|
49
|
-
<div class="
|
|
50
|
-
<
|
|
51
|
-
<button id="butConnect" type="button">Connect</button>
|
|
52
|
-
</div>
|
|
53
|
-
</header>
|
|
54
|
-
<main class="main">
|
|
55
|
-
<div id="notSupported" class="notSupported">
|
|
56
|
-
Sorry, <b>Web Serial</b> is not supported on this device, make sure
|
|
57
|
-
you're running Chrome 89 or later.
|
|
49
|
+
<div class="left">
|
|
50
|
+
<div class="title">WebSerial ESPTool</div>
|
|
58
51
|
</div>
|
|
59
|
-
<div class="
|
|
60
|
-
<div class="
|
|
61
|
-
|
|
62
|
-
<
|
|
52
|
+
<div class="right">
|
|
53
|
+
<div class="controls-row">
|
|
54
|
+
<label for="showlog">Show Log</label>
|
|
55
|
+
<div class="onoffswitch">
|
|
56
|
+
<input
|
|
57
|
+
type="checkbox"
|
|
58
|
+
name="showlog"
|
|
59
|
+
class="onoffswitch-checkbox"
|
|
60
|
+
id="showlog"
|
|
61
|
+
/>
|
|
62
|
+
<label class="onoffswitch-label" for="showlog">
|
|
63
|
+
<span class="onoffswitch-inner"></span>
|
|
64
|
+
<span class="onoffswitch-switch"></span>
|
|
65
|
+
</label>
|
|
66
|
+
</div>
|
|
67
|
+
|
|
68
|
+
<span class="log-controls">
|
|
69
|
+
<label for="autoscroll">Autoscroll</label>
|
|
70
|
+
<div class="onoffswitch">
|
|
71
|
+
<input
|
|
72
|
+
type="checkbox"
|
|
73
|
+
name="autoscroll"
|
|
74
|
+
class="onoffswitch-checkbox"
|
|
75
|
+
id="autoscroll"
|
|
76
|
+
/>
|
|
77
|
+
<label class="onoffswitch-label" for="autoscroll">
|
|
78
|
+
<span class="onoffswitch-inner"></span>
|
|
79
|
+
<span class="onoffswitch-switch"></span>
|
|
80
|
+
</label>
|
|
81
|
+
</div>
|
|
82
|
+
<button id="butClear" type="button" class="small-btn">
|
|
83
|
+
Clear
|
|
84
|
+
</button>
|
|
85
|
+
</span>
|
|
86
|
+
|
|
87
|
+
<label for="debugmode">Debug</label>
|
|
63
88
|
<div class="onoffswitch">
|
|
64
89
|
<input
|
|
65
90
|
type="checkbox"
|
|
@@ -72,7 +97,8 @@
|
|
|
72
97
|
<span class="onoffswitch-switch"></span>
|
|
73
98
|
</label>
|
|
74
99
|
</div>
|
|
75
|
-
|
|
100
|
+
|
|
101
|
+
<label for="darkmode">Dark</label>
|
|
76
102
|
<div class="onoffswitch">
|
|
77
103
|
<input
|
|
78
104
|
type="checkbox"
|
|
@@ -86,9 +112,101 @@
|
|
|
86
112
|
</label>
|
|
87
113
|
</div>
|
|
88
114
|
</div>
|
|
115
|
+
<select id="baudRate"></select>
|
|
116
|
+
<button id="butConnect" type="button">Connect</button>
|
|
117
|
+
</div>
|
|
118
|
+
</header>
|
|
119
|
+
<main class="main">
|
|
120
|
+
<div id="notSupported" class="notSupported">
|
|
121
|
+
Sorry, <b>Web Serial</b> is not supported on this device, make sure
|
|
122
|
+
you're running Chrome 89 or later.
|
|
89
123
|
</div>
|
|
90
124
|
<div id="app">
|
|
91
125
|
<div id="commands">
|
|
126
|
+
<div class="upload">
|
|
127
|
+
<label
|
|
128
|
+
>Offset: 0x
|
|
129
|
+
<input class="offset" type="text" value="0" />
|
|
130
|
+
</label>
|
|
131
|
+
<label class="firmware">
|
|
132
|
+
<input type="file" accept=".bin" />
|
|
133
|
+
<svg
|
|
134
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
135
|
+
width="20"
|
|
136
|
+
height="17"
|
|
137
|
+
viewbox="0 0 20 17"
|
|
138
|
+
>
|
|
139
|
+
<path
|
|
140
|
+
d="M10 0l-5.2 4.9h3.3v5.1h3.8v-5.1h3.3l-5.2-4.9zm9.3 11.5l-3.2-2.1h-2l3.4 2.6h-3.5c-.1 0-.2.1-.2.1l-.8 2.3h-6l-.8-2.2c-.1-.1-.1-.2-.2-.2h-3.6l3.4-2.6h-2l-3.2 2.1c-.4.3-.7 1-.6 1.5l.6 3.1c.1.5.7.9 1.2.9h16.3c.6 0 1.1-.4 1.3-.9l.6-3.1c.1-.5-.2-1.2-.7-1.5z"
|
|
141
|
+
/>
|
|
142
|
+
</svg>
|
|
143
|
+
<span>Choose a file…</span>
|
|
144
|
+
</label>
|
|
145
|
+
<div class="progress-bar hidden"><div></div></div>
|
|
146
|
+
</div>
|
|
147
|
+
<div class="upload">
|
|
148
|
+
<label
|
|
149
|
+
>Offset: 0x
|
|
150
|
+
<input class="offset" type="text" value="0" />
|
|
151
|
+
</label>
|
|
152
|
+
<label class="firmware">
|
|
153
|
+
<input type="file" accept=".bin" />
|
|
154
|
+
<svg
|
|
155
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
156
|
+
width="20"
|
|
157
|
+
height="17"
|
|
158
|
+
viewbox="0 0 20 17"
|
|
159
|
+
>
|
|
160
|
+
<path
|
|
161
|
+
d="M10 0l-5.2 4.9h3.3v5.1h3.8v-5.1h3.3l-5.2-4.9zm9.3 11.5l-3.2-2.1h-2l3.4 2.6h-3.5c-.1 0-.2.1-.2.1l-.8 2.3h-6l-.8-2.2c-.1-.1-.1-.2-.2-.2h-3.6l3.4-2.6h-2l-3.2 2.1c-.4.3-.7 1-.6 1.5l.6 3.1c.1.5.7.9 1.2.9h16.3c.6 0 1.1-.4 1.3-.9l.6-3.1c.1-.5-.2-1.2-.7-1.5z"
|
|
162
|
+
/>
|
|
163
|
+
</svg>
|
|
164
|
+
<span>Choose a file…</span>
|
|
165
|
+
</label>
|
|
166
|
+
<div class="progress-bar hidden"><div></div></div>
|
|
167
|
+
</div>
|
|
168
|
+
<div class="upload">
|
|
169
|
+
<label
|
|
170
|
+
>Offset: 0x
|
|
171
|
+
<input class="offset" type="text" value="0" />
|
|
172
|
+
</label>
|
|
173
|
+
<label class="firmware">
|
|
174
|
+
<input type="file" accept=".bin" />
|
|
175
|
+
<svg
|
|
176
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
177
|
+
width="20"
|
|
178
|
+
height="17"
|
|
179
|
+
viewbox="0 0 20 17"
|
|
180
|
+
>
|
|
181
|
+
<path
|
|
182
|
+
d="M10 0l-5.2 4.9h3.3v5.1h3.8v-5.1h3.3l-5.2-4.9zm9.3 11.5l-3.2-2.1h-2l3.4 2.6h-3.5c-.1 0-.2.1-.2.1l-.8 2.3h-6l-.8-2.2c-.1-.1-.1-.2-.2-.2h-3.6l3.4-2.6h-2l-3.2 2.1c-.4.3-.7 1-.6 1.5l.6 3.1c.1.5.7.9 1.2.9h16.3c.6 0 1.1-.4 1.3-.9l.6-3.1c.1-.5-.2-1.2-.7-1.5z"
|
|
183
|
+
/>
|
|
184
|
+
</svg>
|
|
185
|
+
<span>Choose a file…</span>
|
|
186
|
+
</label>
|
|
187
|
+
<div class="progress-bar hidden"><div></div></div>
|
|
188
|
+
</div>
|
|
189
|
+
<div class="upload">
|
|
190
|
+
<label
|
|
191
|
+
>Offset: 0x
|
|
192
|
+
<input class="offset" type="text" value="0" />
|
|
193
|
+
</label>
|
|
194
|
+
<label class="firmware">
|
|
195
|
+
<input type="file" accept=".bin" />
|
|
196
|
+
<svg
|
|
197
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
198
|
+
width="20"
|
|
199
|
+
height="17"
|
|
200
|
+
viewbox="0 0 20 17"
|
|
201
|
+
>
|
|
202
|
+
<path
|
|
203
|
+
d="M10 0l-5.2 4.9h3.3v5.1h3.8v-5.1h3.3l-5.2-4.9zm9.3 11.5l-3.2-2.1h-2l3.4 2.6h-3.5c-.1 0-.2.1-.2.1l-.8 2.3h-6l-.8-2.2c-.1-.1-.1-.2-.2-.2h-3.6l3.4-2.6h-2l-3.2 2.1c-.4.3-.7 1-.6 1.5l.6 3.1c.1.5.7.9 1.2.9h16.3c.6 0 1.1-.4 1.3-.9l.6-3.1c.1-.5-.2-1.2-.7-1.5z"
|
|
204
|
+
/>
|
|
205
|
+
</svg>
|
|
206
|
+
<span>Choose a file…</span>
|
|
207
|
+
</label>
|
|
208
|
+
<div class="progress-bar hidden"><div></div></div>
|
|
209
|
+
</div>
|
|
92
210
|
<div class="upload">
|
|
93
211
|
<label
|
|
94
212
|
>Offset: 0x
|
|
@@ -181,29 +299,35 @@
|
|
|
181
299
|
Program
|
|
182
300
|
</button>
|
|
183
301
|
</div>
|
|
302
|
+
<div class="partition-table">
|
|
303
|
+
<button id="butReadPartitions" type="button" disabled="disabled">
|
|
304
|
+
Read Partition Table
|
|
305
|
+
</button>
|
|
306
|
+
<div class="progress-bar hidden" id="partitionProgress">
|
|
307
|
+
<div></div>
|
|
308
|
+
</div>
|
|
309
|
+
<div id="partitionList" class="hidden"></div>
|
|
310
|
+
</div>
|
|
311
|
+
<div class="read-flash">
|
|
312
|
+
<div class="progress-bar hidden" id="readProgress"><div></div></div>
|
|
313
|
+
<div class="read-flash-inputs">
|
|
314
|
+
<label>
|
|
315
|
+
Address: 0x
|
|
316
|
+
<input id="readOffset" type="text" value="0" />
|
|
317
|
+
</label>
|
|
318
|
+
<label>
|
|
319
|
+
Size: 0x
|
|
320
|
+
<input id="readSize" type="text" value="1000" />
|
|
321
|
+
</label>
|
|
322
|
+
<button id="butReadFlash" type="button" disabled="disabled">
|
|
323
|
+
Read Flash
|
|
324
|
+
</button>
|
|
325
|
+
</div>
|
|
326
|
+
</div>
|
|
184
327
|
</div>
|
|
185
328
|
<div id="log"></div>
|
|
186
329
|
</div>
|
|
187
330
|
</main>
|
|
188
|
-
<footer class="footer">
|
|
189
|
-
<div class="justify controls">
|
|
190
|
-
<div>
|
|
191
|
-
<label for="autoscroll">Autoscroll </label>
|
|
192
|
-
<div class="onoffswitch">
|
|
193
|
-
<input
|
|
194
|
-
type="checkbox"
|
|
195
|
-
name="autoscroll"
|
|
196
|
-
class="onoffswitch-checkbox"
|
|
197
|
-
id="autoscroll"
|
|
198
|
-
/>
|
|
199
|
-
<label class="onoffswitch-label" for="autoscroll">
|
|
200
|
-
<span class="onoffswitch-inner"></span>
|
|
201
|
-
<span class="onoffswitch-switch"></span>
|
|
202
|
-
</label>
|
|
203
|
-
</div>
|
|
204
|
-
</div>
|
|
205
|
-
<button id="butClear" type="button">Clear Text</button>
|
|
206
|
-
</div>
|
|
207
|
-
</footer>
|
|
331
|
+
<footer class="footer"></footer>
|
|
208
332
|
</body>
|
|
209
333
|
</html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var A=1074521688,g="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",C=1074520064,I="DMD8P1XoC0Dr6AtAd+0LQIvpC0AO6QtAi+kLQOTpC0Dr6gtAYesLQAbrC0AB6AtAl+oLQODqC0AC6gtAgusLQCzqC0CC6wtA4ugLQETpC0CL6QtA5OkLQPToC0BP7AtAO+0LQCLnC0Bb7QtAIucLQCLnC0Ai5wtAIucLQCLnC0Ai5wtAIucLQCLnC0Dj6wtAIucLQGrsC0A77QtA",B=1073605548,Q=1073528832,E={entry:A,text:g,text_start:C,data:I,data_start:B,bss_start:Q};export{Q as bss_start,I as data,B as data_start,E as default,A as entry,g as text,C as text_start};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var A=1077413338,B="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",E=1077411840,w="DEDKP9IIOEA4CThAzAk4QKAKOEAICzhAtgo4QMAHOEBcCjhAnAo4QOgJOEBwBzhAEAo4QHAHOECwCDhA+Ag4QDgJOEDMCThAwgg4QO4HOEAiCDhAvgg4QAINOEA4CThAwgs4QLoMOEC+BjhA4gw4QL4GOEC+BjhAvgY4QL4GOEC+BjhAvgY4QL4GOEC+BjhAaAs4QL4GOEDYCzhAugw4QA==",Q=1070295980,g=1070219264,M={entry:A,text:B,text_start:E,data:w,data_start:Q,bss_start:g};export{g as bss_start,w as data,Q as data_start,M as default,A as entry,B as text,E as text_start};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var A=1077413586,E="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",B=1077411840,w="GEDIP5IKOED8CjhAigs4QF4MOEDGDDhAdAw4QGwJOEAaDDhAWgw4QKYLOEAcCThAzgs4QBwJOEBwCjhAugo4QPwKOECKCzhAggo4QJQJOEDgCThAfgo4QMAOOED8CjhAgg04QHwOOEBeCDhAog44QF4IOEBeCDhAXgg4QF4IOEBeCDhAXgg4QF4IOEBeCDhAKA04QF4IOECaDThAfA44QA==",Q=1070164920,c=1070088192,g={entry:A,text:E,text_start:B,data:w,data_start:Q,bss_start:c};export{c as bss_start,w as data,Q as data_start,g as default,A as entry,E as text,B as text_start};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var A=1082133126,B="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",E=1082130432,g="GACEQOQOgEBOD4BA4g+AQLYQgEAeEYBAzBCAQEANgEByEIBAshCAQP4PgEDwDIBAJhCAQPAMgEDCDoBADA+AQE4PgEDiD4BA1A6AQGgNgECWDYBA0A6AQBgTgEBOD4BA2hGAQNQSgEAuDIBA+hKAQC4MgEAuDIBALgyAQC4MgEAuDIBALgyAQC4MgEAuDIBAgBGAQC4MgEDyEYBA1BKAQA==",w=1082469304,Q=1082392576,c={entry:A,text:B,text_start:E,data:g,data_start:w,bss_start:Q};export{Q as bss_start,g as data,w as data_start,c as default,A as entry,B as text,E as text_start};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var A=1082132162,B="QRG39wBgIsQmwkrAEUcGxrcEhEDYyz6JM4TnAJOEBAAcQJGLmeeyQCJEkkQCSUEBgoADJQkAnEATdfUPgpfNtwERtwcAYE7Gg6mHAErINwmEQCbKUsQGziLMk4THAT6KEwkJAIBAE3T0DxnIAyUKAIMnCQB9FBN19Q+Cl2X43bfyQGJEtwcAYCOoNwHSREJJskkiSgVhgoCTBwAMkEEqh2MY9QCFRwXGI6AFAHlVgoCFRmMH1gAJRWMNpgB9VYKAQgWTB7ANQYVjE/cCiUecwfW3EwbADWMVxwCUwT6FgoCTB9AN4xz3/JTBEwWwDYKAtzWFQEERk4XFugbGcT9jTQUEtzeFQJOHR7IDpwcIg9ZHCBOGFgAjkscINpcjAKcAA9dHCJFnk4cHBGMa9wI3t4RAEwdHsqFnupcDpgcIt/aEQJOGRrZjH+YAI6bHCCOg1wgjkgcIIaD5V+MK9fyyQEEBgoAjptcII6DnCN23NzcAYBMHRwUcQ52L9f83JwBgEwdHBRxDnYv1/4KAQREGxvk/NzcAYLcGAAgjJgcCkwfHAhTDFEP9/ohDskATRfX/BYlBAYKAQREGxsk/fd23NwBgNwcAQJjDmEN9/7JAQQGCgEERJsK3hIRAk4REAUrAA6kEAQbGIsRjCQkERTcxxb1HAURj1icBgER9jBM0FABdP7U3mES3BwABPoaTFscAGcA3BoAA/Rf1j7c2AGDcwpDCnEL9/5MH9P/Fm8EHMwn5QD6XI6gkAZjEskAiRJJEAklBAYKAAREGzhU3NwXOP2wAURWXAID/54AA86qHBUWd57JHk/cHID7GsTe3NwBgmEe3BkAANwXOP1WPmMeyRVEVlwCA/+eAYPAzNaAA8kAFYYKAQRG3h4RABsaTh0cBBUcjgOcAE9fFAJjHBWd9F8zDyMf5jTqVqpWxgQ1njMsjqgcAMzbAALqXI4bHsKU/GcETBVAMskBBAYKAeXEi1DeEhEAm0k7OLsYG1krQqokTBEQBlwCA/+eAgOKyRUREY/OVAK6EucgDKUQAJpkTWckAHEhjVfAAHERjX/kCvTV93UhAJobOhZcAgP/ngMDeAcWTB0AMXMhcQLJQAlmml1zAXETySYWPXMQiVJJURWEXA4D/ZwAD3a09Zb+yUCJUklQCWfJJRWGCgAERIsw3hIRAEwREAY1nopeDx8ewBs4mykrITsaBy2JE8kDSREJJskkFYaG3RERj85UAroSxwAMpRACqiSaZE1nJABxIY1XwABxEY175AtE7fd1IQCaGzoWXAID/54Cg2BN19Q8BxZMHQAxcyFxAppdcwFxEhY9cxPJAYkTSREJJskkFYYKAzTNtv0ERBsaXAID/54DAywNFhQGyQHUVEzUVAEEBgoBBEQbGxTcNxbcHhECThwcA1EOZzjdnCWATBwcRHEM3Bv3/fRbxjzcGAwDxjtWPHMOyQEEBgoBBEQbGbTcRwQ1FskBBARcDgP9nAAPCQREGxibCIsSqhJcAgP/ngGC/WTcNxTcEhEATBAQAg1eEAIUHwgfBgyMU9ACTt/cDgceThwT0gedNPyMUBACyQCJEkkRBAYKAQREGxhMHAAxjGuUAEwWwDWU3EwXADbJAQQF5vxMHsA3jG+X+UT8TBdAN9bdBESLEJsIGxiqEswS1AGMXlACyQCJEkkRBAYKAA0UEAAUETT/tt3VxIsUmw9LcBsdKwc7eEwEBgBMBAYCqhCgILoQFapcAgP/ngIAjDeQoACwIlwCA/+eAICMoAMFFTTcBRYViFpG6QCpEmkQKSfZZZlpJYYKAIoljc4oABWlKhowYJoWXAID/54DAvxN19Q8B7UqGjBgoCJcAgP/ngIAeypQzBCRBXbcTBTAGXb8TBQAM6b01cSLNTsdSxVbD3t4GzybLSslawRMBAYATAQGAqokuirKKtosCwqk1gBi3BwIAGeGTBwACPoWXAID/54BgGIVnY+JXDygIlwCA/+eAIBgBSQMrRPljYmkLY2FLA3GocT+mhSKF5TVRPyaGooUoCJcAgP/ngOAVppkmmWN1SQOzB2lBY/F3A7MEKkFj85oA1oQmhqKFToWXAID/54BgsxN19Q9V3SMsBPiBRHlbowkE+BMFMQCXAID/54CAonX5A0U0+SwAgTyTFwUBY8IHApO3RACRz4Vnk4cHB6aXipeThweAk4cHgCOKp/iFBMG34x9l+5FH44709CgALAiXAID/54BADd09wUUoAIk1/TWNM5MHAAIZwbcHAgA+hZcAgP/ngEAKhWIWkfpAakTaREpJukkqSppKCkv2Ww1hgoC3V0FJGXGTh/eEAUWG3qLcptrK2M7W0tTW0trQ3s7izObK6sjuxj7OlwCA/+eAoJ0JMw3BN2cJYBMHBxEcQ7cGhEAjovYAtwb9//0W9Y/BZtWPHMP5OQXNtycLYDdH2FCTh4fBEwcXqpjDtyYLYCOgBsAjoAcAk4cGwpjDE4fGwRRDNwYEANGOFMMjoAcAtweEQDc3hUCThwcAEwdHuyGgI6AHAJEH4+3n/gk9kUVoCLk7KTW3t4RAk4dHsqFqvpojoPoItwmEQLcHgECTiQkAk4cHDyOg+QCpOWMDBRC3BwFgRUUjoKcMhUWXAID/54DA9rcFgEABRpOFBQBFRZcAgP/ngMD3t/cAYBFHmMs3BQIAlwCA/+eAAPe3FwlgiF+BRTeKhEBxiWEVEzUVAJcAgP/ngMCeQWaTB/b/EwcAEIVmtwUAAQFFtzuFQBMKSgENa5cAgP/ngMCUk4tLwVKbg6fKCPXfg6TKCIVHI6YKCCMC8QKDxxQACUcjE+ECowLxAgLUTUdjgOcIUUdjjucGKUdjnucAg8c0AAPHJACiB9mPEUdjlecAnEScQz7UOTOhRUgQqTmDxjQAg8ckAKIG3Y6RZ8EHY/TXBBMFsA3xNhMFwA3ZNhMF4A7BNsUxSbe3BYBAAUaThQUEFUWXAID/54Dg6LcHAGDYRxMFAAITZxcQ2Mc5t8lHIxPxAk23g8cUAFFHY2f3AgVHY2b3AAFJEwTwDzGk+ReT9/cPSUfjaPf+NzeFQIoHEweHu7qXnEOChxOHBwMTd/cPEUbjaeb8k4f3ApP39w8NR2Nv9wQ3N4VAigcTB0fAupecQ4KHkwdAAmOX9g4C1B1EAUU5PgFFjTYtOSU5oUVIEH0USTZ19AFJAURxqonqcBCBRQFFl/B//+eAwHUBxQVEAUlRotFFaBCxPgFE1b8FROX6l/B//+eAYHozNKAAzbehR+Oe9vwDqYQAwESzZ4kA0gfx9+/wf4oimXHxGcQzBYlAkxcFAcGDgetBbGNhjAIV6DM0gABttzGBl/B//+eA4HcV7RMEBIATBASAwb8zBYlAQYGX8H//54CAdgXlMwSEQem3MwWJQDGBl/B//+eA4HQB7RMEBIATBASAVb8TBFADRb8TBGADbbcTBHADVbehR+OK9vIBSRMEAAzpoMFHzb/BRwVE45328sxEiER1PKm3k/e2/0FH45/n/JhIkWdj4eck0UeIRMxIAUZjk/YAkEzv8H+DKoQht5P3tv9BR+Ob5/qcSBFnY233INhEiETMSDOJ5wLRRwFGY5P2AJBM7/CfgLeHhECTh0cBDWcjrAcAupcqhCOkJ7HZtbeHhECTh0cBA8cHAGMMBxaYRMEWEwQADGMT1wDAS4FHEwbwDmPO1wSDx1QAA8dEAAFJogfZjwPHZABCB12Pg8d0AOIH2Y9jFPYaE3X0D30yE3X5D2UyQTTjEQTSg8cUAElHY2H3GglH43n30PUXk/f3Dz1H42P30IoH3pecQ4KHM4f0AANHhwGFBzmOYb+3h4RAk4dHAQPHBwBtx9hHYxsHFMBLI4AHADG94UdjkPYC3EyYTNRIkEjMRIhEl/B//+eAwF8qiTM0oABBtwFJBUStv5FHBUTjl/bet5YAYLhe5Xf9FwVmfY9Rj4hEuN63lgBguFaBRX2PUY+41reWAGD4Xn2PUY/43reWAGD4UvmP0Y/80pfwf//ngABiTbuT9/YA45wH5BPcRgAThIQAAUn9XON8iddIRJfwf//ngABGHERYQBBAfY9jh5cBFEKTx/f/9Y9djxjCBQlBBNm/kUcZvcFHBUTjn/bUnETYSCOo+QAjpukAobsDp8kAE4YG/xHnAc4BSRMEYAzBtYOnCQFj5scGjYrjkgbeg6YJAYFFgUdj68cA44IF0J2OPpcjqNkAI6bpANW5s4X0AIhNswX3AJEHiMGFRem/oUcFROOb9s4DpAkBGcATBIAMI6gJACOmCQANuwFJEwQgDLm9EwQQDKG9AUkTBIAMgb0BSRMEkAyhtRMHIA1jiOcGEwdADeOV57aDxTQAg8ckABOFhAGiBd2NwRXv8O/ggb4JZRMFBXEDqcQAgESX8H//54AANrcHAGDYS7cGAAHBFpNXRwESB3WPvYvZj7OHJwMBRbPVhwKX8H//54AgNxMFgD6X8H//54CgMhG21EiQSMxEiETv8N+F3byDxTQAg8ckABOFhAGiBd2NwRXv8K/i+byDxzQAA8ckAKIH2Y8TjQf/gyfKAIHnkzddAJ3Ltz2FQDeJhEC3DIRA4QQFRJONTbsTCUkBE4xMAWMHDQCDJ8oAmcNjTIAAY1UECJMHcAwZoJMHkAwjKvoAUbQDKIuwA6cNAGrQMzgNAQYIswfpQAUIOsY+1kLE7/BvwTJHIkg3hYRApoV8EOKGEBATBcUCl/B//+eAQDKCVwMni7CDpQ0AMw39QB2PvpSyVyMk67AqhL6VI6C9AOF3s4WFQa6XkcMl/ROFTAHv8O/VI6CNAa234xYEoIMnygDjggegkweADJW/nETjnAee7/CP4QllEwUFcZfwf//ngIAg7/AP3Zfwf//ngMAk2brAROMJBJzv8C/fEwWAPpfwf//ngEAe7/DP2gKUZbrv8E/a9lBmVNZURlm2WSZalloGW/ZLZkzWTEZNtk0JYYKAAAA=",E=1082130432,g="FACEQD4KgECoCoBANguAQAoMgEByDIBAIAyAQDAJgEDGC4BABgyAQFILgEDgCIBAeguAQOAIgEAcCoBAZgqAQKgKgEA2C4BALgqAQFgJgECMCYBAKgqAQGwOgECoCoBALg2AQCgOgEAiCIBATg6AQCIIgEAiCIBAIgiAQCIIgEAiCIBAIgiAQCIIgEAiCIBA1AyAQCIIgEBGDYBAKA6AQA==",c=1082469300,w=1082392576,Q={entry:A,text:B,text_start:E,data:g,data_start:c,bss_start:w};export{w as bss_start,g as data,c as data_start,Q as default,A as entry,B as text,E as text_start};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var A=1082132162,B="QRG39wBgIsQmwkrAEUcGxrdEgEDYyz6JM4TnAJOEBAAcQJGLmeeyQCJEkkQCSUEBgoADJQkAnEATdfUPgpfNtwERtwcAYE7Gg6mHAErIN0mAQCbKUsQGziLMk4THAT6KEwkJAIBAE3T0DxnIAyUKAIMnCQB9FBN19Q+Cl2X43bfyQGJEtwcAYCOoNwHSREJJskkiSgVhgoCTBwAMkEEqh2MY9QCFRwXGI6AFAHlVgoCFRmMH1gAJRWMNpgB9VYKAQgWTB7ANQYVjE/cCiUecwfW3EwbADWMVxwCUwT6FgoCTB9AN4xz3/JTBEwWwDYKAt3WBQEERk4XFugbGcT9jTQUEt3eBQJOHR7IDpwcIg9ZHCBOGFgAjkscINpcjAKcAA9dHCJFnk4cHBGMa9wI394BAEwdHsqFnupcDpgcItzaBQJOGRrZjH+YAI6bHCCOg1wgjkgcIIaD5V+MK9fyyQEEBgoAjptcII6DnCN23NzcAYBMHRwUcQ52L9f83JwBgEwdHBRxDnYv1/4KAQREGxvk/NzcAYLcGAAgjJgcCkwfHAhTDFEP9/ohDskATRfX/BYlBAYKAQREGxsk/fd23NwBgNwcAQJjDmEN9/7JAQQGCgEERJsK3xIBAk4REAUrAA6kEAQbGIsRjCQkERTcxxb1HAURj1icBgER9jBM0FABdP7U3mES3BwABPoaTFscAGcA3BoAA/Rf1j7c2AGDcwpDCnEL9/5MH9P/Fm8EHMwn5QD6XI6gkAZjEskAiRJJEAklBAYKAAREGzhU3NwXOP2wAURWXAID/54AA9KqHBUWd57JHk/cHID7GsTe3NwBgmEe3BkAANwXOP1WPmMeyRVEVlwCA/+eAYPEzNaAA8kAFYYKAQRG3x4BABsaTh0cBBUcjgOcAE9fFAJjHBWd9F8zDyMf5jTqVqpWxgQ1njMsjqgcAMzbAALqXI4bHsKU/GcETBVAMskBBAYKAeXEi1DfEgEAm0k7OLsYG1krQqokTBEQBlwCA/+eAgOOyRUREY/OVAK6EucgDKUQAJpkTWckAHEhjVfAAHERjX/kCvTV93UhAJobOhZcAgP/ngMDfAcWTB0AMXMhcQLJQAlmml1zAXETySYWPXMQiVJJURWEXA4D/ZwAD3q09Zb+yUCJUklQCWfJJRWGCgAERIsw3xIBAEwREAY1nopeDx8ewBs4mykrITsaBy2JE8kDSREJJskkFYaG3RERj85UAroSxwAMpRACqiSaZE1nJABxIY1XwABxEY175AtE7fd1IQCaGzoWXAID/54Cg2RN19Q8BxZMHQAxcyFxAppdcwFxEhY9cxPJAYkTSREJJskkFYYKAzTNtv0ERBsaXAID/54AAzANFhQGyQHEVEzUVAEEBgoBBEQbGxTcNxbdHgECThwcA1EOZzjdnCWATB4cOHEM3Bv3/fRbxjzcGAwDxjtWPHMOyQEEBgoBBEQbGbTcRwRFFskBBARcDgP9nAAPCQREGxibCIsSqhJcAgP/ngCC/WTcNxTdEgEATBAQAg1eEAIUHwgfBgyMU9ACTt/cDgceThwT0gedNPyMUBACyQCJEkkRBAYKAQREGxhMHAAxjGuUAEwWwDWU3EwXADbJAQQF5vxMHsA3jG+X+UT8TBdAN9bdBESLEJsIGxiqEswS1AGMXlACyQCJEkkRBAYKAA0UEAAUETT/tt3VxIsUmw9LcBsdKwc7eEwEBgBMBAYCqhCgILoQFapcAgP/ngIAmDeQoACwIlwCA/+eAICYoAMFFTTcBRYViFpG6QCpEmkQKSfZZZlpJYYKAIoljc4oABWlKhowYJoWXAID/54DAwBN19Q8B7UqGjBgoCJcAgP/ngIAhypQzBCRBXbcTBTAGXb8TBQAM6b01cSLNTsdSxVbD3t4GzybLSslawRMBAYATAQGAqokuirKKtosCwqk1gBi3BwIAGeGTBwACPoWXAID/54CgGYVnY+JXDygIlwCA/+eAIBsBSQMrRPljYmkLY2FLA3GocT+mhSKF5TVRPyaGooUoCJcAgP/ngOAYppkmmWN1SQOzB2lBY/F3A7MEKkFj85oA1oQmhqKFToWXAID/54BgtBN19Q9V3SMsBPiBRHlbowkE+BMFMQCXAID/54CAonX5A0U0+SwAgTyTFwUBY8IHApO3RACRz4Vnk4cHB6aXipeThweAk4cHgCOKp/iFBMG34x9l+5FH44709CgALAiXAID/54BAEN09wUUoAIk1/TWNM5MHAAIZwbcHAgA+hZcAgP/ngIALhWIWkfpAakTaREpJukkqSppKCkv2Ww1hgoC3V0FJGXGTh/eEAUWG3qLcptrK2M7W0tTW0trQ3s7izObK6sjuxj7OlwCA/+eA4J0JMw3BN2cJYBMHhw4cQ7dGgEAjovYAtwb9//0W9Y/BZtWPHMP5OQXNtycLYDdH2FCTh4fBEwcXqpjDtyYLYCOgBsAjoAcAk4cGwpjDE4fGwRRDNwYEANGOFMMjoAcAt0eAQDd3gUCThwcAEwdHuyGgI6AHAJEH4+3n/gk9kUVoCLk7KTW394BAk4dHsqFqvpojoPoIt0mAQLcHgECTiQkAk4cHDyOg+QCpOWMFBRC3BwFgEwcQAiOo5wqFRUVFlwCA/+eAgPe3BYBAAUaThQUARUWXAID/54DA+Lf3AGARR5jLNwUCAJcAgP/ngAD4txcJYIhfgUU3yoBAcYlhFRM1FQCXAID/54DAn0Fmkwf2/xMHABCFZrcFAAEBRbd7gUATCkoBDWuXAID/54CAlZOLS8FSm4Onygj134OkygiFRyOmCggjAvECg8cUAAlHIxPhAqMC8QIC1E1HY4DnCFFHY47nBilHY57nAIPHNAADxyQAogfZjxFHY5XnAJxEnEM+1CkzoUVIEJk5g8Y0AIPHJACiBt2OkWfBB2P01wQTBbAN4TYTBcANyTYTBeAOdT7xOUm3twWAQAFGk4UFBBVFlwCA/+eA4Om3BwBg2EcTBQACE2cXENjHObfJRyMT8QJNt4PHFABRR2Nn9wIFR2Nm9wABSRME8A8xpPkXk/f3D0lH42j3/jd3gUCKBxMHh7u6l5xDgocThwcDE3f3DxFG42nm/JOH9wKT9/cPDUdjb/cEN3eBQIoHEwdHwLqXnEOCh5MHQAJjl/YOAtQdRAFFKT4BRbk+HTkVOaFFSBB9FL0+dfQBSQFEcaqJ6nAQgUUBRZfwf//ngMB1AcUFRAFJUaLRRWgQoT4BRNW/BUTl+pfwf//ngCB7MzSgAM23oUfjnvb8A6mEAMBEs2eJANIH8ffv8D+KIplx8RnEMwWJQJMXBQHBg4HrQWxjYYwCFegzNIAAbbcxgZfwf//ngKB4Fe0TBASAEwQEgMG/MwWJQEGBl/B//+eAQHcF5TMEhEHptzMFiUAxgZfwf//ngKB1Ae0TBASAEwQEgFW/EwRQA0W/EwRgA223EwRwA1W3oUfjivbyAUkTBAAM6aDBR82/wUcFROOd9vLMRIhEZTypt5P3tv9BR+Of5/yYSJFnY+HnJNFHiETMSAFGY5P2AJBM7/A/gyqEIbeT97b/QUfjm+f6nEgRZ2Nt9yDYRIhEzEgziecC0UcBRmOT9gCQTO/wX4C3x4BAk4dHAQ1nI6wHALqXKoQjpCex2bW3x4BAk4dHAQPHBwBjDAcWmETBFhMEAAxjE9cAwEuBRxMG8A5jztcEg8dUAAPHRAABSaIH2Y8Dx2QAQgddj4PHdADiB9mPYxT2GhN19A9tMhN1+Q9VMrU84xEE0oPHFABJR2Nh9xoJR+N599D1F5P39w89R+Nj99CKB96XnEOChzOH9AADR4cBhQc5jmG/t8eAQJOHRwEDxwcAbcfYR2MbBxTASyOABwAxveFHY5D2AtxMmEzUSJBIzESIRJfwf//ngIBgKokzNKAAQbcBSQVErb+RRwVE45f23reWAGC4XuV3/RcFZn2PUY+IRLjet5YAYLhWgUV9j1GPuNa3lgBg+F59j1GP+N63lgBg+FL5j9GP/NKX8H//54AAY027k/f2AOOcB+QT3EYAE4SEAAFJ/VzjfInXSESX8H//54CARRxEWEAQQH2PY4eXARRCk8f3//WPXY8YwgUJQQTZv5FHGb3BRwVE45/21JxE2EgjqPkAI6bpAKG7A6fJABOGBv8R5wHOAUkTBGAMwbWDpwkBY+bHBo2K45IG3oOmCQGBRYFHY+vHAOOCBdCdjj6XI6jZACOm6QDVubOF9ACITbMF9wCRB4jBhUXpv6FHBUTjm/bOA6QJARnAEwSADCOoCQAjpgkADbsBSRMEIAy5vRMEEAyhvQFJEwSADIG9AUkTBJAMobUTByANY4jnBhMHQA3jlee2g8U0AIPHJAAThYQBogXdjcEV7/Cv4IG+CWUTBQVxA6nEAIBEl/B//+eAgDW3BwBg2Eu3BgABwRaTV0cBEgd1j72L2Y+zhycDAUWz1YcCl/B//+eA4DYTBYA+l/B//+eAIDIRttRIkEjMRIhE7/Cfhd28g8U0AIPHJAAThYQBogXdjcEV7/Bv4vm8g8c0AAPHJACiB9mPE40H/4MnygCB55M3XQCdy7d9gUA3yYBAt0yAQOEEBUSTjU27EwlJAROMTAFjBw0AgyfKAJnDY0yAAGNVBAiTB3AMGaCTB5AMIyr6AFG0AyiLsAOnDQBq0DM4DQEGCLMH6UAFCDrGPtZCxO/wL8EyRyJIN8WAQKaFfBDihhAQEwXFApfwf//ngEAyglcDJ4uwg6UNADMN/UAdj76UslcjJOuwKoS+lSOgvQDhd7OFhUGul5HDJf0ThUwB7/Cv1SOgjQGtt+MWBKCDJ8oA44IHoJMHgAyVv5xE45wHnu/wT+EJZRMFBXGX8H//54AAIO/wz9yX8H//54DAJNm6wETjCQSc7/Dv3hMFgD6X8H//54DAHe/wj9oClGW67/AP2vZQZlTWVEZZtlkmWpZaBlv2S2ZM1kxGTbZNCWGCgAAA",E=1082130432,g="FECAQEIKgECsCoBAOguAQA4MgEB2DIBAJAyAQDQJgEDKC4BACgyAQFYLgEDkCIBAfguAQOQIgEAgCoBAagqAQKwKgEA6C4BAMgqAQFwJgECQCYBALgqAQHAOgECsCoBAMg2AQCwOgEAmCIBAUg6AQCYIgEAmCIBAJgiAQCYIgEAmCIBAJgiAQCYIgEAmCIBA2AyAQCYIgEBKDYBALA6AQA==",Q=1082223540,w=1082146816,C={entry:A,text:B,text_start:E,data:g,data_start:Q,bss_start:w};export{w as bss_start,g as data,Q as data_start,C as default,A as entry,B as text,E as text_start};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var A=1082132162,B="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",E=1082130432,g="FACDQD4KgECoCoBANguAQAoMgEByDIBAIAyAQDAJgEDGC4BABgyAQFILgEDgCIBAeguAQOAIgEAcCoBAZgqAQKgKgEA2C4BALgqAQFgJgECMCYBAKgqAQGwOgECoCoBALg2AQCgOgEAiCIBATg6AQCIIgEAiCIBAIgiAQCIIgEAiCIBAIgiAQCIIgEAiCIBA1AyAQCIIgEBGDYBAKA6AQA==",Q=1082403764,w=1082327040,c={entry:A,text:B,text_start:E,data:g,data_start:Q,bss_start:w};export{w as bss_start,g as data,Q as data_start,c as default,A as entry,B as text,E as text_start};
|