UNPKG

@mindfiredigital/pivothead

Version:

PivotHead is a powerful and flexible library for creating interactive pivot tables in JavaScript applications. It provides a core engine for data manipulation and, in the future, will be compatible with wrappers for React, Vue, Svelte, and Angular, making

1 lines 1.07 MB
(function(Hs,Xa){typeof exports=="object"&&typeof module<"u"?Xa(exports):typeof define=="function"&&define.amd?define(["exports"],Xa):(Hs=typeof globalThis<"u"?globalThis:Hs||self,Xa(Hs.PivotHeadCore={}))})(this,function(Hs){"use strict";function Xa(A,e,t){if(!A||A.length===0)return 0;const r=A.map(n=>Number(n[e])||0);switch(t){case"sum":return r.reduce((n,i)=>n+i,0);case"avg":return r.reduce((n,i)=>n+i,0)/r.length;case"min":return Math.min(...r);case"max":return Math.max(...r);case"count":return r.length;default:return 0}}function qE(A,e,t){return!e||e.length===0?A:[...A].sort((r,n)=>{for(const i of e){const{field:a,direction:s,type:o,aggregation:l}=i;if(o==="measure"){const f=qv(r,a),h=qv(n,a);if(f!==h)return s==="asc"?f-h:h-f}else{const f=r[a],h=n[a];if(f!==h)return s==="asc"?f<h?-1:1:f>h?-1:1}}return 0})}function qv(A,e,t){return Number(A[e])||0}function YE(A,e=null,t=null){let r=[...A.data];e&&(r=qE(r,[e]));let n=[];if(t){const{rowFields:i,columnFields:a,grouper:s}=t,o=[...i,...a];n=Yv(r,o,s)}return{data:r,groups:n}}function Yv(A,e,t){if(!e||e.length===0)return[{key:"All",items:A,subgroups:[],aggregates:{}}];const r={};return A.forEach(n=>{const i=t(n,e);r[i]||(r[i]={key:i,items:[],subgroups:[],aggregates:{}}),r[i].items.push(n)}),e.length>1&&Object.values(r).forEach(n=>{n.subgroups=Yv(n.items,e.slice(1),t)}),Object.values(r)}/*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */var ou={};ou.version="0.18.5";var Jv=1252,JE=[874,932,936,949,950,1250,1251,1252,1253,1254,1255,1256,1257,1258,1e4],Zv=function(A){JE.indexOf(A)!=-1&&(Jv=A)};function ZE(){Zv(1252)}var fl=function(A){Zv(A)};function e3(){fl(1200),ZE()}function t3(A){for(var e=[],t=0;t<A.length>>1;++t)e[t]=String.fromCharCode(A.charCodeAt(2*t+1)+(A.charCodeAt(2*t)<<8));return e.join("")}var lu=function(e){return String.fromCharCode(e)},e2=function(e){return String.fromCharCode(e)},qa,fa="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ul(A){for(var e="",t=0,r=0,n=0,i=0,a=0,s=0,o=0,l=0;l<A.length;)t=A.charCodeAt(l++),i=t>>2,r=A.charCodeAt(l++),a=(t&3)<<4|r>>4,n=A.charCodeAt(l++),s=(r&15)<<2|n>>6,o=n&63,isNaN(r)?s=o=64:isNaN(n)&&(o=64),e+=fa.charAt(i)+fa.charAt(a)+fa.charAt(s)+fa.charAt(o);return e}function Li(A){var e="",t=0,r=0,n=0,i=0,a=0,s=0,o=0;A=A.replace(/[^\w\+\/\=]/g,"");for(var l=0;l<A.length;)i=fa.indexOf(A.charAt(l++)),a=fa.indexOf(A.charAt(l++)),t=i<<2|a>>4,e+=String.fromCharCode(t),s=fa.indexOf(A.charAt(l++)),r=(a&15)<<4|s>>2,s!==64&&(e+=String.fromCharCode(r)),o=fa.indexOf(A.charAt(l++)),n=(s&3)<<6|o,o!==64&&(e+=String.fromCharCode(n));return e}var Xt=function(){return typeof Buffer<"u"&&typeof process<"u"&&typeof process.versions<"u"&&!!process.versions.node}(),Qi=function(){if(typeof Buffer<"u"){var A=!Buffer.from;if(!A)try{Buffer.from("foo","utf8")}catch{A=!0}return A?function(e,t){return t?new Buffer(e,t):new Buffer(e)}:Buffer.from.bind(Buffer)}return function(){}}();function Ya(A){return Xt?Buffer.alloc?Buffer.alloc(A):new Buffer(A):typeof Uint8Array<"u"?new Uint8Array(A):new Array(A)}function t2(A){return Xt?Buffer.allocUnsafe?Buffer.allocUnsafe(A):new Buffer(A):typeof Uint8Array<"u"?new Uint8Array(A):new Array(A)}var Kn=function(e){return Xt?Qi(e,"binary"):e.split("").map(function(t){return t.charCodeAt(0)&255})};function fu(A){if(typeof ArrayBuffer>"u")return Kn(A);for(var e=new ArrayBuffer(A.length),t=new Uint8Array(e),r=0;r!=A.length;++r)t[r]=A.charCodeAt(r)&255;return e}function cl(A){if(Array.isArray(A))return A.map(function(r){return String.fromCharCode(r)}).join("");for(var e=[],t=0;t<A.length;++t)e[t]=String.fromCharCode(A[t]);return e.join("")}function A3(A){if(typeof Uint8Array>"u")throw new Error("Unsupported");return new Uint8Array(A)}var hr=Xt?function(A){return Buffer.concat(A.map(function(e){return Buffer.isBuffer(e)?e:Qi(e)}))}:function(A){if(typeof Uint8Array<"u"){var e=0,t=0;for(e=0;e<A.length;++e)t+=A[e].length;var r=new Uint8Array(t),n=0;for(e=0,t=0;e<A.length;t+=n,++e)if(n=A[e].length,A[e]instanceof Uint8Array)r.set(A[e],t);else{if(typeof A[e]=="string")throw"wtf";r.set(new Uint8Array(A[e]),t)}return r}return[].concat.apply([],A.map(function(i){return Array.isArray(i)?i:[].slice.call(i)}))};function r3(A){for(var e=[],t=0,r=A.length+250,n=Ya(A.length+255),i=0;i<A.length;++i){var a=A.charCodeAt(i);if(a<128)n[t++]=a;else if(a<2048)n[t++]=192|a>>6&31,n[t++]=128|a&63;else if(a>=55296&&a<57344){a=(a&1023)+64;var s=A.charCodeAt(++i)&1023;n[t++]=240|a>>8&7,n[t++]=128|a>>2&63,n[t++]=128|s>>6&15|(a&3)<<4,n[t++]=128|s&63}else n[t++]=224|a>>12&15,n[t++]=128|a>>6&63,n[t++]=128|a&63;t>r&&(e.push(n.slice(0,t)),t=0,n=Ya(65535),r=65530)}return e.push(n.slice(0,t)),hr(e)}var hl=/\u0000/g,uu=/[\u0001-\u0006]/g;function ks(A){for(var e="",t=A.length-1;t>=0;)e+=A.charAt(t--);return e}function Vn(A,e){var t=""+A;return t.length>=e?t:EA("0",e-t.length)+t}function Qh(A,e){var t=""+A;return t.length>=e?t:EA(" ",e-t.length)+t}function cu(A,e){var t=""+A;return t.length>=e?t:t+EA(" ",e-t.length)}function n3(A,e){var t=""+Math.round(A);return t.length>=e?t:EA("0",e-t.length)+t}function i3(A,e){var t=""+A;return t.length>=e?t:EA("0",e-t.length)+t}var A2=Math.pow(2,32);function Ks(A,e){if(A>A2||A<-A2)return n3(A,e);var t=Math.round(A);return i3(t,e)}function hu(A,e){return e=e||0,A.length>=7+e&&(A.charCodeAt(e)|32)===103&&(A.charCodeAt(e+1)|32)===101&&(A.charCodeAt(e+2)|32)===110&&(A.charCodeAt(e+3)|32)===101&&(A.charCodeAt(e+4)|32)===114&&(A.charCodeAt(e+5)|32)===97&&(A.charCodeAt(e+6)|32)===108}var r2=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]],Nh=[["J","Jan","January"],["F","Feb","February"],["M","Mar","March"],["A","Apr","April"],["M","May","May"],["J","Jun","June"],["J","Jul","July"],["A","Aug","August"],["S","Sep","September"],["O","Oct","October"],["N","Nov","November"],["D","Dec","December"]];function a3(A){return A||(A={}),A[0]="General",A[1]="0",A[2]="0.00",A[3]="#,##0",A[4]="#,##0.00",A[9]="0%",A[10]="0.00%",A[11]="0.00E+00",A[12]="# ?/?",A[13]="# ??/??",A[14]="m/d/yy",A[15]="d-mmm-yy",A[16]="d-mmm",A[17]="mmm-yy",A[18]="h:mm AM/PM",A[19]="h:mm:ss AM/PM",A[20]="h:mm",A[21]="h:mm:ss",A[22]="m/d/yy h:mm",A[37]="#,##0 ;(#,##0)",A[38]="#,##0 ;[Red](#,##0)",A[39]="#,##0.00;(#,##0.00)",A[40]="#,##0.00;[Red](#,##0.00)",A[45]="mm:ss",A[46]="[h]:mm:ss",A[47]="mmss.0",A[48]="##0.0E+0",A[49]="@",A[56]='"上午/下午 "hh"時"mm"分"ss"秒 "',A}var FA={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"m/d/yy",15:"d-mmm-yy",16:"d-mmm",17:"mmm-yy",18:"h:mm AM/PM",19:"h:mm:ss AM/PM",20:"h:mm",21:"h:mm:ss",22:"m/d/yy h:mm",37:"#,##0 ;(#,##0)",38:"#,##0 ;[Red](#,##0)",39:"#,##0.00;(#,##0.00)",40:"#,##0.00;[Red](#,##0.00)",45:"mm:ss",46:"[h]:mm:ss",47:"mmss.0",48:"##0.0E+0",49:"@",56:'"上午/下午 "hh"時"mm"分"ss"秒 "'},n2={5:37,6:38,7:39,8:40,23:0,24:0,25:0,26:0,27:14,28:14,29:14,30:14,31:14,50:14,51:14,52:14,53:14,54:14,55:14,56:14,57:14,58:14,59:1,60:2,61:3,62:4,67:9,68:10,69:12,70:13,71:14,72:14,73:15,74:16,75:17,76:20,77:21,78:22,79:45,80:46,81:47,82:0},s3={5:'"$"#,##0_);\\("$"#,##0\\)',63:'"$"#,##0_);\\("$"#,##0\\)',6:'"$"#,##0_);[Red]\\("$"#,##0\\)',64:'"$"#,##0_);[Red]\\("$"#,##0\\)',7:'"$"#,##0.00_);\\("$"#,##0.00\\)',65:'"$"#,##0.00_);\\("$"#,##0.00\\)',8:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',66:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',41:'_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)',42:'_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)',43:'_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)',44:'_("$"* #,##0.00_);_("$"* \\(#,##0.00\\);_("$"* "-"??_);_(@_)'};function gu(A,e,t){for(var r=A<0?-1:1,n=A*r,i=0,a=1,s=0,o=1,l=0,f=0,h=Math.floor(n);l<e&&(h=Math.floor(n),s=h*a+i,f=h*l+o,!(n-h<5e-8));)n=1/(n-h),i=a,a=s,o=l,l=f;if(f>e&&(l>e?(f=o,s=i):(f=l,s=a)),!t)return[0,r*s,f];var g=Math.floor(r*s/f);return[g,r*s-g*f,f]}function du(A,e,t){if(A>2958465||A<0)return null;var r=A|0,n=Math.floor(86400*(A-r)),i=0,a=[],s={D:r,T:n,u:86400*(A-r)-n,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(s.u)<1e-6&&(s.u=0),e&&e.date1904&&(r+=1462),s.u>.9999&&(s.u=0,++n==86400&&(s.T=n=0,++r,++s.D)),r===60)a=t?[1317,10,29]:[1900,2,29],i=3;else if(r===0)a=t?[1317,8,29]:[1900,1,0],i=6;else{r>60&&--r;var o=new Date(1900,0,1);o.setDate(o.getDate()+r-1),a=[o.getFullYear(),o.getMonth()+1,o.getDate()],i=o.getDay(),r<60&&(i=(i+6)%7),t&&(i=g3(o,a))}return s.y=a[0],s.m=a[1],s.d=a[2],s.S=n%60,n=Math.floor(n/60),s.M=n%60,n=Math.floor(n/60),s.H=n,s.q=i,s}var i2=new Date(1899,11,31,0,0,0),o3=i2.getTime(),l3=new Date(1900,2,1,0,0,0);function a2(A,e){var t=A.getTime();return e?t-=1461*24*60*60*1e3:A>=l3&&(t+=24*60*60*1e3),(t-(o3+(A.getTimezoneOffset()-i2.getTimezoneOffset())*6e4))/(24*60*60*1e3)}function Oh(A){return A.indexOf(".")==-1?A:A.replace(/(?:\.0*|(\.\d*[1-9])0+)$/,"$1")}function f3(A){return A.indexOf("E")==-1?A:A.replace(/(?:\.0*|(\.\d*[1-9])0+)[Ee]/,"$1E").replace(/(E[+-])(\d)$/,"$10$2")}function u3(A){var e=A<0?12:11,t=Oh(A.toFixed(12));return t.length<=e||(t=A.toPrecision(10),t.length<=e)?t:A.toExponential(5)}function c3(A){var e=Oh(A.toFixed(11));return e.length>(A<0?12:11)||e==="0"||e==="-0"?A.toPrecision(6):e}function h3(A){var e=Math.floor(Math.log(Math.abs(A))*Math.LOG10E),t;return e>=-4&&e<=-1?t=A.toPrecision(10+e):Math.abs(e)<=9?t=u3(A):e===10?t=A.toFixed(10).substr(0,12):t=c3(A),Oh(f3(t.toUpperCase()))}function Dh(A,e){switch(typeof A){case"string":return A;case"boolean":return A?"TRUE":"FALSE";case"number":return(A|0)===A?A.toString(10):h3(A);case"undefined":return"";case"object":if(A==null)return"";if(A instanceof Date)return ca(14,a2(A,e&&e.date1904),e)}throw new Error("unsupported value in General format: "+A)}function g3(A,e){e[0]-=581;var t=A.getDay();return A<60&&(t=(t+6)%7),t}function d3(A,e,t,r){var n="",i=0,a=0,s=t.y,o,l=0;switch(A){case 98:s=t.y+543;case 121:switch(e.length){case 1:case 2:o=s%100,l=2;break;default:o=s%1e4,l=4;break}break;case 109:switch(e.length){case 1:case 2:o=t.m,l=e.length;break;case 3:return Nh[t.m-1][1];case 5:return Nh[t.m-1][0];default:return Nh[t.m-1][2]}break;case 100:switch(e.length){case 1:case 2:o=t.d,l=e.length;break;case 3:return r2[t.q][0];default:return r2[t.q][1]}break;case 104:switch(e.length){case 1:case 2:o=1+(t.H+11)%12,l=e.length;break;default:throw"bad hour format: "+e}break;case 72:switch(e.length){case 1:case 2:o=t.H,l=e.length;break;default:throw"bad hour format: "+e}break;case 77:switch(e.length){case 1:case 2:o=t.M,l=e.length;break;default:throw"bad minute format: "+e}break;case 115:if(e!="s"&&e!="ss"&&e!=".0"&&e!=".00"&&e!=".000")throw"bad second format: "+e;return t.u===0&&(e=="s"||e=="ss")?Vn(t.S,e.length):(r>=2?a=r===3?1e3:100:a=r===1?10:1,i=Math.round(a*(t.S+t.u)),i>=60*a&&(i=0),e==="s"?i===0?"0":""+i/a:(n=Vn(i,2+r),e==="ss"?n.substr(0,2):"."+n.substr(2,e.length-1)));case 90:switch(e){case"[h]":case"[hh]":o=t.D*24+t.H;break;case"[m]":case"[mm]":o=(t.D*24+t.H)*60+t.M;break;case"[s]":case"[ss]":o=((t.D*24+t.H)*60+t.M)*60+Math.round(t.S+t.u);break;default:throw"bad abstime format: "+e}l=e.length===3?1:2;break;case 101:o=s,l=1;break}var f=l>0?Vn(o,l):"";return f}function ua(A){var e=3;if(A.length<=e)return A;for(var t=A.length%e,r=A.substr(0,t);t!=A.length;t+=e)r+=(r.length>0?",":"")+A.substr(t,e);return r}var s2=/%/g;function p3(A,e,t){var r=e.replace(s2,""),n=e.length-r.length;return Ni(A,r,t*Math.pow(10,2*n))+EA("%",n)}function v3(A,e,t){for(var r=e.length-1;e.charCodeAt(r-1)===44;)--r;return Ni(A,e.substr(0,r),t/Math.pow(10,3*(e.length-r)))}function o2(A,e){var t,r=A.indexOf("E")-A.indexOf(".")-1;if(A.match(/^#+0.0E\+0$/)){if(e==0)return"0.0E+0";if(e<0)return"-"+o2(A,-e);var n=A.indexOf(".");n===-1&&(n=A.indexOf("E"));var i=Math.floor(Math.log(e)*Math.LOG10E)%n;if(i<0&&(i+=n),t=(e/Math.pow(10,i)).toPrecision(r+1+(n+i)%n),t.indexOf("e")===-1){var a=Math.floor(Math.log(e)*Math.LOG10E);for(t.indexOf(".")===-1?t=t.charAt(0)+"."+t.substr(1)+"E+"+(a-t.length+i):t+="E+"+(a-i);t.substr(0,2)==="0.";)t=t.charAt(0)+t.substr(2,n)+"."+t.substr(2+n),t=t.replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.");t=t.replace(/\+-/,"-")}t=t.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function(s,o,l,f){return o+l+f.substr(0,(n+i)%n)+"."+f.substr(i)+"E"})}else t=e.toExponential(r);return A.match(/E\+00$/)&&t.match(/e[+-]\d$/)&&(t=t.substr(0,t.length-1)+"0"+t.charAt(t.length-1)),A.match(/E\-/)&&t.match(/e\+/)&&(t=t.replace(/e\+/,"e")),t.replace("e","E")}var l2=/# (\?+)( ?)\/( ?)(\d+)/;function m3(A,e,t){var r=parseInt(A[4],10),n=Math.round(e*r),i=Math.floor(n/r),a=n-i*r,s=r;return t+(i===0?"":""+i)+" "+(a===0?EA(" ",A[1].length+1+A[4].length):Qh(a,A[1].length)+A[2]+"/"+A[3]+Vn(s,A[4].length))}function w3(A,e,t){return t+(e===0?"":""+e)+EA(" ",A[1].length+2+A[4].length)}var f2=/^#*0*\.([0#]+)/,u2=/\).*[0#]/,c2=/\(###\) ###\\?-####/;function Hr(A){for(var e="",t,r=0;r!=A.length;++r)switch(t=A.charCodeAt(r)){case 35:break;case 63:e+=" ";break;case 48:e+="0";break;default:e+=String.fromCharCode(t)}return e}function h2(A,e){var t=Math.pow(10,e);return""+Math.round(A*t)/t}function g2(A,e){var t=A-Math.floor(A),r=Math.pow(10,e);return e<(""+Math.round(t*r)).length?0:Math.round(t*r)}function B3(A,e){return e<(""+Math.round((A-Math.floor(A))*Math.pow(10,e))).length?1:0}function x3(A){return A<2147483647&&A>-2147483648?""+(A>=0?A|0:A-1|0):""+Math.floor(A)}function En(A,e,t){if(A.charCodeAt(0)===40&&!e.match(u2)){var r=e.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");return t>=0?En("n",r,t):"("+En("n",r,-t)+")"}if(e.charCodeAt(e.length-1)===44)return v3(A,e,t);if(e.indexOf("%")!==-1)return p3(A,e,t);if(e.indexOf("E")!==-1)return o2(e,t);if(e.charCodeAt(0)===36)return"$"+En(A,e.substr(e.charAt(1)==" "?2:1),t);var n,i,a,s,o=Math.abs(t),l=t<0?"-":"";if(e.match(/^00+$/))return l+Ks(o,e.length);if(e.match(/^[#?]+$/))return n=Ks(t,0),n==="0"&&(n=""),n.length>e.length?n:Hr(e.substr(0,e.length-n.length))+n;if(i=e.match(l2))return m3(i,o,l);if(e.match(/^#+0+$/))return l+Ks(o,e.length-e.indexOf("0"));if(i=e.match(f2))return n=h2(t,i[1].length).replace(/^([^\.]+)$/,"$1."+Hr(i[1])).replace(/\.$/,"."+Hr(i[1])).replace(/\.(\d*)$/,function(v,p){return"."+p+EA("0",Hr(i[1]).length-p.length)}),e.indexOf("0.")!==-1?n:n.replace(/^0\./,".");if(e=e.replace(/^#+([0.])/,"$1"),i=e.match(/^(0*)\.(#*)$/))return l+h2(o,i[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,i[1].length?"0.":".");if(i=e.match(/^#{1,3},##0(\.?)$/))return l+ua(Ks(o,0));if(i=e.match(/^#,##0\.([#0]*0)$/))return t<0?"-"+En(A,e,-t):ua(""+(Math.floor(t)+B3(t,i[1].length)))+"."+Vn(g2(t,i[1].length),i[1].length);if(i=e.match(/^#,#*,#0/))return En(A,e.replace(/^#,#*,/,""),t);if(i=e.match(/^([0#]+)(\\?-([0#]+))+$/))return n=ks(En(A,e.replace(/[\\-]/g,""),t)),a=0,ks(ks(e.replace(/\\/g,"")).replace(/[0#]/g,function(v){return a<n.length?n.charAt(a++):v==="0"?"0":""}));if(e.match(c2))return n=En(A,"##########",t),"("+n.substr(0,3)+") "+n.substr(3,3)+"-"+n.substr(6);var f="";if(i=e.match(/^([#0?]+)( ?)\/( ?)([#0?]+)/))return a=Math.min(i[4].length,7),s=gu(o,Math.pow(10,a)-1,!1),n=""+l,f=Ni("n",i[1],s[1]),f.charAt(f.length-1)==" "&&(f=f.substr(0,f.length-1)+"0"),n+=f+i[2]+"/"+i[3],f=cu(s[2],a),f.length<i[4].length&&(f=Hr(i[4].substr(i[4].length-f.length))+f),n+=f,n;if(i=e.match(/^# ([#0?]+)( ?)\/( ?)([#0?]+)/))return a=Math.min(Math.max(i[1].length,i[4].length),7),s=gu(o,Math.pow(10,a)-1,!0),l+(s[0]||(s[1]?"":"0"))+" "+(s[1]?Qh(s[1],a)+i[2]+"/"+i[3]+cu(s[2],a):EA(" ",2*a+1+i[2].length+i[3].length));if(i=e.match(/^[#0?]+$/))return n=Ks(t,0),e.length<=n.length?n:Hr(e.substr(0,e.length-n.length))+n;if(i=e.match(/^([#0?]+)\.([#0]+)$/)){n=""+t.toFixed(Math.min(i[2].length,10)).replace(/([^0])0+$/,"$1"),a=n.indexOf(".");var h=e.indexOf(".")-a,g=e.length-n.length-h;return Hr(e.substr(0,h)+n+e.substr(e.length-g))}if(i=e.match(/^00,000\.([#0]*0)$/))return a=g2(t,i[1].length),t<0?"-"+En(A,e,-t):ua(x3(t)).replace(/^\d,\d{3}$/,"0$&").replace(/^\d*$/,function(v){return"00,"+(v.length<3?Vn(0,3-v.length):"")+v})+"."+Vn(a,i[1].length);switch(e){case"###,##0.00":return En(A,"#,##0.00",t);case"###,###":case"##,###":case"#,###":var c=ua(Ks(o,0));return c!=="0"?l+c:"";case"###,###.00":return En(A,"###,##0.00",t).replace(/^0\./,".");case"#,###.00":return En(A,"#,##0.00",t).replace(/^0\./,".")}throw new Error("unsupported format |"+e+"|")}function y3(A,e,t){for(var r=e.length-1;e.charCodeAt(r-1)===44;)--r;return Ni(A,e.substr(0,r),t/Math.pow(10,3*(e.length-r)))}function C3(A,e,t){var r=e.replace(s2,""),n=e.length-r.length;return Ni(A,r,t*Math.pow(10,2*n))+EA("%",n)}function d2(A,e){var t,r=A.indexOf("E")-A.indexOf(".")-1;if(A.match(/^#+0.0E\+0$/)){if(e==0)return"0.0E+0";if(e<0)return"-"+d2(A,-e);var n=A.indexOf(".");n===-1&&(n=A.indexOf("E"));var i=Math.floor(Math.log(e)*Math.LOG10E)%n;if(i<0&&(i+=n),t=(e/Math.pow(10,i)).toPrecision(r+1+(n+i)%n),!t.match(/[Ee]/)){var a=Math.floor(Math.log(e)*Math.LOG10E);t.indexOf(".")===-1?t=t.charAt(0)+"."+t.substr(1)+"E+"+(a-t.length+i):t+="E+"+(a-i),t=t.replace(/\+-/,"-")}t=t.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function(s,o,l,f){return o+l+f.substr(0,(n+i)%n)+"."+f.substr(i)+"E"})}else t=e.toExponential(r);return A.match(/E\+00$/)&&t.match(/e[+-]\d$/)&&(t=t.substr(0,t.length-1)+"0"+t.charAt(t.length-1)),A.match(/E\-/)&&t.match(/e\+/)&&(t=t.replace(/e\+/,"e")),t.replace("e","E")}function gi(A,e,t){if(A.charCodeAt(0)===40&&!e.match(u2)){var r=e.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");return t>=0?gi("n",r,t):"("+gi("n",r,-t)+")"}if(e.charCodeAt(e.length-1)===44)return y3(A,e,t);if(e.indexOf("%")!==-1)return C3(A,e,t);if(e.indexOf("E")!==-1)return d2(e,t);if(e.charCodeAt(0)===36)return"$"+gi(A,e.substr(e.charAt(1)==" "?2:1),t);var n,i,a,s,o=Math.abs(t),l=t<0?"-":"";if(e.match(/^00+$/))return l+Vn(o,e.length);if(e.match(/^[#?]+$/))return n=""+t,t===0&&(n=""),n.length>e.length?n:Hr(e.substr(0,e.length-n.length))+n;if(i=e.match(l2))return w3(i,o,l);if(e.match(/^#+0+$/))return l+Vn(o,e.length-e.indexOf("0"));if(i=e.match(f2))return n=(""+t).replace(/^([^\.]+)$/,"$1."+Hr(i[1])).replace(/\.$/,"."+Hr(i[1])),n=n.replace(/\.(\d*)$/,function(v,p){return"."+p+EA("0",Hr(i[1]).length-p.length)}),e.indexOf("0.")!==-1?n:n.replace(/^0\./,".");if(e=e.replace(/^#+([0.])/,"$1"),i=e.match(/^(0*)\.(#*)$/))return l+(""+o).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,i[1].length?"0.":".");if(i=e.match(/^#{1,3},##0(\.?)$/))return l+ua(""+o);if(i=e.match(/^#,##0\.([#0]*0)$/))return t<0?"-"+gi(A,e,-t):ua(""+t)+"."+EA("0",i[1].length);if(i=e.match(/^#,#*,#0/))return gi(A,e.replace(/^#,#*,/,""),t);if(i=e.match(/^([0#]+)(\\?-([0#]+))+$/))return n=ks(gi(A,e.replace(/[\\-]/g,""),t)),a=0,ks(ks(e.replace(/\\/g,"")).replace(/[0#]/g,function(v){return a<n.length?n.charAt(a++):v==="0"?"0":""}));if(e.match(c2))return n=gi(A,"##########",t),"("+n.substr(0,3)+") "+n.substr(3,3)+"-"+n.substr(6);var f="";if(i=e.match(/^([#0?]+)( ?)\/( ?)([#0?]+)/))return a=Math.min(i[4].length,7),s=gu(o,Math.pow(10,a)-1,!1),n=""+l,f=Ni("n",i[1],s[1]),f.charAt(f.length-1)==" "&&(f=f.substr(0,f.length-1)+"0"),n+=f+i[2]+"/"+i[3],f=cu(s[2],a),f.length<i[4].length&&(f=Hr(i[4].substr(i[4].length-f.length))+f),n+=f,n;if(i=e.match(/^# ([#0?]+)( ?)\/( ?)([#0?]+)/))return a=Math.min(Math.max(i[1].length,i[4].length),7),s=gu(o,Math.pow(10,a)-1,!0),l+(s[0]||(s[1]?"":"0"))+" "+(s[1]?Qh(s[1],a)+i[2]+"/"+i[3]+cu(s[2],a):EA(" ",2*a+1+i[2].length+i[3].length));if(i=e.match(/^[#0?]+$/))return n=""+t,e.length<=n.length?n:Hr(e.substr(0,e.length-n.length))+n;if(i=e.match(/^([#0]+)\.([#0]+)$/)){n=""+t.toFixed(Math.min(i[2].length,10)).replace(/([^0])0+$/,"$1"),a=n.indexOf(".");var h=e.indexOf(".")-a,g=e.length-n.length-h;return Hr(e.substr(0,h)+n+e.substr(e.length-g))}if(i=e.match(/^00,000\.([#0]*0)$/))return t<0?"-"+gi(A,e,-t):ua(""+t).replace(/^\d,\d{3}$/,"0$&").replace(/^\d*$/,function(v){return"00,"+(v.length<3?Vn(0,3-v.length):"")+v})+"."+Vn(0,i[1].length);switch(e){case"###,###":case"##,###":case"#,###":var c=ua(""+o);return c!=="0"?l+c:"";default:if(e.match(/\.[0#?]*$/))return gi(A,e.slice(0,e.lastIndexOf(".")),t)+Hr(e.slice(e.lastIndexOf(".")))}throw new Error("unsupported format |"+e+"|")}function Ni(A,e,t){return(t|0)===t?gi(A,e,t):En(A,e,t)}function F3(A){for(var e=[],t=!1,r=0,n=0;r<A.length;++r)switch(A.charCodeAt(r)){case 34:t=!t;break;case 95:case 42:case 92:++r;break;case 59:e[e.length]=A.substr(n,r-n),n=r+1}if(e[e.length]=A.substr(n),t===!0)throw new Error("Format |"+A+"| unterminated string ");return e}var p2=/\[[HhMmSs\u0E0A\u0E19\u0E17]*\]/;function v2(A){for(var e=0,t="",r="";e<A.length;)switch(t=A.charAt(e)){case"G":hu(A,e)&&(e+=6),e++;break;case'"':for(;A.charCodeAt(++e)!==34&&e<A.length;);++e;break;case"\\":e+=2;break;case"_":e+=2;break;case"@":++e;break;case"B":case"b":if(A.charAt(e+1)==="1"||A.charAt(e+1)==="2")return!0;case"M":case"D":case"Y":case"H":case"S":case"E":case"m":case"d":case"y":case"h":case"s":case"e":case"g":return!0;case"A":case"a":case"上":if(A.substr(e,3).toUpperCase()==="A/P"||A.substr(e,5).toUpperCase()==="AM/PM"||A.substr(e,5).toUpperCase()==="上午/下午")return!0;++e;break;case"[":for(r=t;A.charAt(e++)!=="]"&&e<A.length;)r+=A.charAt(e);if(r.match(p2))return!0;break;case".":case"0":case"#":for(;e<A.length&&("0#?.,E+-%".indexOf(t=A.charAt(++e))>-1||t=="\\"&&A.charAt(e+1)=="-"&&"0#".indexOf(A.charAt(e+2))>-1););break;case"?":for(;A.charAt(++e)===t;);break;case"*":++e,(A.charAt(e)==" "||A.charAt(e)=="*")&&++e;break;case"(":case")":++e;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":for(;e<A.length&&"0123456789".indexOf(A.charAt(++e))>-1;);break;case" ":++e;break;default:++e;break}return!1}function E3(A,e,t,r){for(var n=[],i="",a=0,s="",o="t",l,f,h,g="H";a<A.length;)switch(s=A.charAt(a)){case"G":if(!hu(A,a))throw new Error("unrecognized character "+s+" in "+A);n[n.length]={t:"G",v:"General"},a+=7;break;case'"':for(i="";(h=A.charCodeAt(++a))!==34&&a<A.length;)i+=String.fromCharCode(h);n[n.length]={t:"t",v:i},++a;break;case"\\":var c=A.charAt(++a),v=c==="("||c===")"?c:"t";n[n.length]={t:v,v:c},++a;break;case"_":n[n.length]={t:"t",v:" "},a+=2;break;case"@":n[n.length]={t:"T",v:e},++a;break;case"B":case"b":if(A.charAt(a+1)==="1"||A.charAt(a+1)==="2"){if(l==null&&(l=du(e,t,A.charAt(a+1)==="2"),l==null))return"";n[n.length]={t:"X",v:A.substr(a,2)},o=s,a+=2;break}case"M":case"D":case"Y":case"H":case"S":case"E":s=s.toLowerCase();case"m":case"d":case"y":case"h":case"s":case"e":case"g":if(e<0||l==null&&(l=du(e,t),l==null))return"";for(i=s;++a<A.length&&A.charAt(a).toLowerCase()===s;)i+=s;s==="m"&&o.toLowerCase()==="h"&&(s="M"),s==="h"&&(s=g),n[n.length]={t:s,v:i},o=s;break;case"A":case"a":case"上":var p={t:s,v:s};if(l==null&&(l=du(e,t)),A.substr(a,3).toUpperCase()==="A/P"?(l!=null&&(p.v=l.H>=12?"P":"A"),p.t="T",g="h",a+=3):A.substr(a,5).toUpperCase()==="AM/PM"?(l!=null&&(p.v=l.H>=12?"PM":"AM"),p.t="T",a+=5,g="h"):A.substr(a,5).toUpperCase()==="上午/下午"?(l!=null&&(p.v=l.H>=12?"下午":"上午"),p.t="T",a+=5,g="h"):(p.t="t",++a),l==null&&p.t==="T")return"";n[n.length]=p,o=s;break;case"[":for(i=s;A.charAt(a++)!=="]"&&a<A.length;)i+=A.charAt(a);if(i.slice(-1)!=="]")throw'unterminated "[" block: |'+i+"|";if(i.match(p2)){if(l==null&&(l=du(e,t),l==null))return"";n[n.length]={t:"Z",v:i.toLowerCase()},o=i.charAt(1)}else i.indexOf("$")>-1&&(i=(i.match(/\$([^-\[\]]*)/)||[])[1]||"$",v2(A)||(n[n.length]={t:"t",v:i}));break;case".":if(l!=null){for(i=s;++a<A.length&&(s=A.charAt(a))==="0";)i+=s;n[n.length]={t:"s",v:i};break}case"0":case"#":for(i=s;++a<A.length&&"0#?.,E+-%".indexOf(s=A.charAt(a))>-1;)i+=s;n[n.length]={t:"n",v:i};break;case"?":for(i=s;A.charAt(++a)===s;)i+=s;n[n.length]={t:s,v:i},o=s;break;case"*":++a,(A.charAt(a)==" "||A.charAt(a)=="*")&&++a;break;case"(":case")":n[n.length]={t:r===1?"t":s,v:s},++a;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":for(i=s;a<A.length&&"0123456789".indexOf(A.charAt(++a))>-1;)i+=A.charAt(a);n[n.length]={t:"D",v:i};break;case" ":n[n.length]={t:s,v:s},++a;break;case"$":n[n.length]={t:"t",v:"$"},++a;break;default:if(",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP".indexOf(s)===-1)throw new Error("unrecognized character "+s+" in "+A);n[n.length]={t:"t",v:s},++a;break}var B=0,x=0,y;for(a=n.length-1,o="t";a>=0;--a)switch(n[a].t){case"h":case"H":n[a].t=g,o="h",B<1&&(B=1);break;case"s":(y=n[a].v.match(/\.0+$/))&&(x=Math.max(x,y[0].length-1)),B<3&&(B=3);case"d":case"y":case"M":case"e":o=n[a].t;break;case"m":o==="s"&&(n[a].t="M",B<2&&(B=2));break;case"X":break;case"Z":B<1&&n[a].v.match(/[Hh]/)&&(B=1),B<2&&n[a].v.match(/[Mm]/)&&(B=2),B<3&&n[a].v.match(/[Ss]/)&&(B=3)}switch(B){case 0:break;case 1:l.u>=.5&&(l.u=0,++l.S),l.S>=60&&(l.S=0,++l.M),l.M>=60&&(l.M=0,++l.H);break;case 2:l.u>=.5&&(l.u=0,++l.S),l.S>=60&&(l.S=0,++l.M);break}var E="",U;for(a=0;a<n.length;++a)switch(n[a].t){case"t":case"T":case" ":case"D":break;case"X":n[a].v="",n[a].t=";";break;case"d":case"m":case"y":case"h":case"H":case"M":case"s":case"e":case"b":case"Z":n[a].v=d3(n[a].t.charCodeAt(0),n[a].v,l,x),n[a].t="t";break;case"n":case"?":for(U=a+1;n[U]!=null&&((s=n[U].t)==="?"||s==="D"||(s===" "||s==="t")&&n[U+1]!=null&&(n[U+1].t==="?"||n[U+1].t==="t"&&n[U+1].v==="/")||n[a].t==="("&&(s===" "||s==="n"||s===")")||s==="t"&&(n[U].v==="/"||n[U].v===" "&&n[U+1]!=null&&n[U+1].t=="?"));)n[a].v+=n[U].v,n[U]={v:"",t:";"},++U;E+=n[a].v,a=U-1;break;case"G":n[a].t="t",n[a].v=Dh(e,t);break}var V="",z,I;if(E.length>0){E.charCodeAt(0)==40?(z=e<0&&E.charCodeAt(0)===45?-e:e,I=Ni("n",E,z)):(z=e<0&&r>1?-e:e,I=Ni("n",E,z),z<0&&n[0]&&n[0].t=="t"&&(I=I.substr(1),n[0].v="-"+n[0].v)),U=I.length-1;var O=n.length;for(a=0;a<n.length;++a)if(n[a]!=null&&n[a].t!="t"&&n[a].v.indexOf(".")>-1){O=a;break}var M=n.length;if(O===n.length&&I.indexOf("E")===-1){for(a=n.length-1;a>=0;--a)n[a]==null||"n?".indexOf(n[a].t)===-1||(U>=n[a].v.length-1?(U-=n[a].v.length,n[a].v=I.substr(U+1,n[a].v.length)):U<0?n[a].v="":(n[a].v=I.substr(0,U+1),U=-1),n[a].t="t",M=a);U>=0&&M<n.length&&(n[M].v=I.substr(0,U+1)+n[M].v)}else if(O!==n.length&&I.indexOf("E")===-1){for(U=I.indexOf(".")-1,a=O;a>=0;--a)if(!(n[a]==null||"n?".indexOf(n[a].t)===-1)){for(f=n[a].v.indexOf(".")>-1&&a===O?n[a].v.indexOf(".")-1:n[a].v.length-1,V=n[a].v.substr(f+1);f>=0;--f)U>=0&&(n[a].v.charAt(f)==="0"||n[a].v.charAt(f)==="#")&&(V=I.charAt(U--)+V);n[a].v=V,n[a].t="t",M=a}for(U>=0&&M<n.length&&(n[M].v=I.substr(0,U+1)+n[M].v),U=I.indexOf(".")+1,a=O;a<n.length;++a)if(!(n[a]==null||"n?(".indexOf(n[a].t)===-1&&a!==O)){for(f=n[a].v.indexOf(".")>-1&&a===O?n[a].v.indexOf(".")+1:0,V=n[a].v.substr(0,f);f<n[a].v.length;++f)U<I.length&&(V+=I.charAt(U++));n[a].v=V,n[a].t="t",M=a}}}for(a=0;a<n.length;++a)n[a]!=null&&"n?".indexOf(n[a].t)>-1&&(z=r>1&&e<0&&a>0&&n[a-1].v==="-"?-e:e,n[a].v=Ni(n[a].t,n[a].v,z),n[a].t="t");var Y="";for(a=0;a!==n.length;++a)n[a]!=null&&(Y+=n[a].v);return Y}var m2=/\[(=|>[=]?|<[>=]?)(-?\d+(?:\.\d*)?)\]/;function w2(A,e){if(e==null)return!1;var t=parseFloat(e[2]);switch(e[1]){case"=":if(A==t)return!0;break;case">":if(A>t)return!0;break;case"<":if(A<t)return!0;break;case"<>":if(A!=t)return!0;break;case">=":if(A>=t)return!0;break;case"<=":if(A<=t)return!0;break}return!1}function b3(A,e){var t=F3(A),r=t.length,n=t[r-1].indexOf("@");if(r<4&&n>-1&&--r,t.length>4)throw new Error("cannot find right format for |"+t.join("|")+"|");if(typeof e!="number")return[4,t.length===4||n>-1?t[t.length-1]:"@"];switch(t.length){case 1:t=n>-1?["General","General","General",t[0]]:[t[0],t[0],t[0],"@"];break;case 2:t=n>-1?[t[0],t[0],t[0],t[1]]:[t[0],t[1],t[0],"@"];break;case 3:t=n>-1?[t[0],t[1],t[0],t[2]]:[t[0],t[1],t[2],"@"];break}var i=e>0?t[0]:e<0?t[1]:t[2];if(t[0].indexOf("[")===-1&&t[1].indexOf("[")===-1)return[r,i];if(t[0].match(/\[[=<>]/)!=null||t[1].match(/\[[=<>]/)!=null){var a=t[0].match(m2),s=t[1].match(m2);return w2(e,a)?[r,t[0]]:w2(e,s)?[r,t[1]]:[r,t[a!=null&&s!=null?2:1]]}return[r,i]}function ca(A,e,t){t==null&&(t={});var r="";switch(typeof A){case"string":A=="m/d/yy"&&t.dateNF?r=t.dateNF:r=A;break;case"number":A==14&&t.dateNF?r=t.dateNF:r=(t.table!=null?t.table:FA)[A],r==null&&(r=t.table&&t.table[n2[A]]||FA[n2[A]]),r==null&&(r=s3[A]||"General");break}if(hu(r,0))return Dh(e,t);e instanceof Date&&(e=a2(e,t.date1904));var n=b3(r,e);if(hu(n[1]))return Dh(e,t);if(e===!0)e="TRUE";else if(e===!1)e="FALSE";else if(e===""||e==null)return"";return E3(n[1],e,t,n[0])}function B2(A,e){if(typeof e!="number"){e=+e||-1;for(var t=0;t<392;++t){if(FA[t]==null){e<0&&(e=t);continue}if(FA[t]==A){e=t;break}}e<0&&(e=391)}return FA[e]=A,e}function pu(A){for(var e=0;e!=392;++e)A[e]!==void 0&&B2(A[e],e)}function vu(){FA=a3()}var x2=/[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;function S3(A){var e=typeof A=="number"?FA[A]:A;return e=e.replace(x2,"(\\d+)"),new RegExp("^"+e+"$")}function T3(A,e,t){var r=-1,n=-1,i=-1,a=-1,s=-1,o=-1;(e.match(x2)||[]).forEach(function(h,g){var c=parseInt(t[g+1],10);switch(h.toLowerCase().charAt(0)){case"y":r=c;break;case"d":i=c;break;case"h":a=c;break;case"s":o=c;break;case"m":a>=0?s=c:n=c;break}}),o>=0&&s==-1&&n>=0&&(s=n,n=-1);var l=(""+(r>=0?r:new Date().getFullYear())).slice(-4)+"-"+("00"+(n>=1?n:1)).slice(-2)+"-"+("00"+(i>=1?i:1)).slice(-2);l.length==7&&(l="0"+l),l.length==8&&(l="20"+l);var f=("00"+(a>=0?a:0)).slice(-2)+":"+("00"+(s>=0?s:0)).slice(-2)+":"+("00"+(o>=0?o:0)).slice(-2);return a==-1&&s==-1&&o==-1?l:r==-1&&n==-1&&i==-1?f:l+"T"+f}var _3=function(){var A={};A.version="1.2.0";function e(){for(var I=0,O=new Array(256),M=0;M!=256;++M)I=M,I=I&1?-306674912^I>>>1:I>>>1,I=I&1?-306674912^I>>>1:I>>>1,I=I&1?-306674912^I>>>1:I>>>1,I=I&1?-306674912^I>>>1:I>>>1,I=I&1?-306674912^I>>>1:I>>>1,I=I&1?-306674912^I>>>1:I>>>1,I=I&1?-306674912^I>>>1:I>>>1,I=I&1?-306674912^I>>>1:I>>>1,O[M]=I;return typeof Int32Array<"u"?new Int32Array(O):O}var t=e();function r(I){var O=0,M=0,Y=0,b=typeof Int32Array<"u"?new Int32Array(4096):new Array(4096);for(Y=0;Y!=256;++Y)b[Y]=I[Y];for(Y=0;Y!=256;++Y)for(M=I[Y],O=256+Y;O<4096;O+=256)M=b[O]=M>>>8^I[M&255];var _=[];for(Y=1;Y!=16;++Y)_[Y-1]=typeof Int32Array<"u"?b.subarray(Y*256,Y*256+256):b.slice(Y*256,Y*256+256);return _}var n=r(t),i=n[0],a=n[1],s=n[2],o=n[3],l=n[4],f=n[5],h=n[6],g=n[7],c=n[8],v=n[9],p=n[10],B=n[11],x=n[12],y=n[13],E=n[14];function U(I,O){for(var M=O^-1,Y=0,b=I.length;Y<b;)M=M>>>8^t[(M^I.charCodeAt(Y++))&255];return~M}function V(I,O){for(var M=O^-1,Y=I.length-15,b=0;b<Y;)M=E[I[b++]^M&255]^y[I[b++]^M>>8&255]^x[I[b++]^M>>16&255]^B[I[b++]^M>>>24]^p[I[b++]]^v[I[b++]]^c[I[b++]]^g[I[b++]]^h[I[b++]]^f[I[b++]]^l[I[b++]]^o[I[b++]]^s[I[b++]]^a[I[b++]]^i[I[b++]]^t[I[b++]];for(Y+=15;b<Y;)M=M>>>8^t[(M^I[b++])&255];return~M}function z(I,O){for(var M=O^-1,Y=0,b=I.length,_=0,G=0;Y<b;)_=I.charCodeAt(Y++),_<128?M=M>>>8^t[(M^_)&255]:_<2048?(M=M>>>8^t[(M^(192|_>>6&31))&255],M=M>>>8^t[(M^(128|_&63))&255]):_>=55296&&_<57344?(_=(_&1023)+64,G=I.charCodeAt(Y++)&1023,M=M>>>8^t[(M^(240|_>>8&7))&255],M=M>>>8^t[(M^(128|_>>2&63))&255],M=M>>>8^t[(M^(128|G>>6&15|(_&3)<<4))&255],M=M>>>8^t[(M^(128|G&63))&255]):(M=M>>>8^t[(M^(224|_>>12&15))&255],M=M>>>8^t[(M^(128|_>>6&63))&255],M=M>>>8^t[(M^(128|_&63))&255]);return~M}return A.table=t,A.bstr=U,A.buf=V,A.str=z,A}(),sA=function(){var e={};e.version="1.2.1";function t(D,ee){for(var j=D.split("/"),W=ee.split("/"),Z=0,te=0,Ce=Math.min(j.length,W.length);Z<Ce;++Z){if(te=j[Z].length-W[Z].length)return te;if(j[Z]!=W[Z])return j[Z]<W[Z]?-1:1}return j.length-W.length}function r(D){if(D.charAt(D.length-1)=="/")return D.slice(0,-1).indexOf("/")===-1?D:r(D.slice(0,-1));var ee=D.lastIndexOf("/");return ee===-1?D:D.slice(0,ee+1)}function n(D){if(D.charAt(D.length-1)=="/")return n(D.slice(0,-1));var ee=D.lastIndexOf("/");return ee===-1?D:D.slice(ee+1)}function i(D,ee){typeof ee=="string"&&(ee=new Date(ee));var j=ee.getHours();j=j<<6|ee.getMinutes(),j=j<<5|ee.getSeconds()>>>1,D.write_shift(2,j);var W=ee.getFullYear()-1980;W=W<<4|ee.getMonth()+1,W=W<<5|ee.getDate(),D.write_shift(2,W)}function a(D){var ee=D.read_shift(2)&65535,j=D.read_shift(2)&65535,W=new Date,Z=j&31;j>>>=5;var te=j&15;j>>>=4,W.setMilliseconds(0),W.setFullYear(j+1980),W.setMonth(te-1),W.setDate(Z);var Ce=ee&31;ee>>>=5;var Te=ee&63;return ee>>>=6,W.setHours(ee),W.setMinutes(Te),W.setSeconds(Ce<<1),W}function s(D){gn(D,0);for(var ee={},j=0;D.l<=D.length-4;){var W=D.read_shift(2),Z=D.read_shift(2),te=D.l+Z,Ce={};switch(W){case 21589:j=D.read_shift(1),j&1&&(Ce.mtime=D.read_shift(4)),Z>5&&(j&2&&(Ce.atime=D.read_shift(4)),j&4&&(Ce.ctime=D.read_shift(4))),Ce.mtime&&(Ce.mt=new Date(Ce.mtime*1e3));break}D.l=te,ee[W]=Ce}return ee}var o;function l(){return o||(o={})}function f(D,ee){if(D[0]==80&&D[1]==75)return kt(D,ee);if((D[0]|32)==109&&(D[1]|32)==105)return Or(D,ee);if(D.length<512)throw new Error("CFB file size "+D.length+" < 512");var j=3,W=512,Z=0,te=0,Ce=0,Te=0,ye=0,ae=[],k=D.slice(0,512);gn(k,0);var de=h(k);switch(j=de[0],j){case 3:W=512;break;case 4:W=4096;break;case 0:if(de[1]==0)return kt(D,ee);default:throw new Error("Major Version: Expected 3 or 4 saw "+j)}W!==512&&(k=D.slice(0,W),gn(k,28));var be=D.slice(0,W);g(k,j);var We=k.read_shift(4,"i");if(j===3&&We!==0)throw new Error("# Directory Sectors: Expected 0 saw "+We);k.l+=4,Ce=k.read_shift(4,"i"),k.l+=4,k.chk("00100000","Mini Stream Cutoff Size: "),Te=k.read_shift(4,"i"),Z=k.read_shift(4,"i"),ye=k.read_shift(4,"i"),te=k.read_shift(4,"i");for(var He=-1,Xe=0;Xe<109&&(He=k.read_shift(4,"i"),!(He<0));++Xe)ae[Xe]=He;var ut=c(D,W);B(ye,te,ut,W,ae);var Nt=y(ut,Ce,ae,W);Nt[Ce].name="!Directory",Z>0&&Te!==G&&(Nt[Te].name="!MiniFAT"),Nt[ae[0]].name="!FAT",Nt.fat_addrs=ae,Nt.ssz=W;var Vt={},Mt=[],an=[],Nn=[];E(Ce,Nt,ut,Mt,Z,Vt,an,Te),v(an,Nn,Mt),Mt.shift();var bi={FileIndex:an,FullPaths:Nn};return ee&&ee.raw&&(bi.raw={header:be,sectors:ut}),bi}function h(D){if(D[D.l]==80&&D[D.l+1]==75)return[0,0];D.chk(J,"Header Signature: "),D.l+=16;var ee=D.read_shift(2,"u");return[D.read_shift(2,"u"),ee]}function g(D,ee){var j=9;switch(D.l+=2,j=D.read_shift(2)){case 9:if(ee!=3)throw new Error("Sector Shift: Expected 9 saw "+j);break;case 12:if(ee!=4)throw new Error("Sector Shift: Expected 12 saw "+j);break;default:throw new Error("Sector Shift: Expected 9 or 12 saw "+j)}D.chk("0600","Mini Sector Shift: "),D.chk("000000000000","Reserved: ")}function c(D,ee){for(var j=Math.ceil(D.length/ee)-1,W=[],Z=1;Z<j;++Z)W[Z-1]=D.slice(Z*ee,(Z+1)*ee);return W[j-1]=D.slice(j*ee),W}function v(D,ee,j){for(var W=0,Z=0,te=0,Ce=0,Te=0,ye=j.length,ae=[],k=[];W<ye;++W)ae[W]=k[W]=W,ee[W]=j[W];for(;Te<k.length;++Te)W=k[Te],Z=D[W].L,te=D[W].R,Ce=D[W].C,ae[W]===W&&(Z!==-1&&ae[Z]!==Z&&(ae[W]=ae[Z]),te!==-1&&ae[te]!==te&&(ae[W]=ae[te])),Ce!==-1&&(ae[Ce]=W),Z!==-1&&W!=ae[W]&&(ae[Z]=ae[W],k.lastIndexOf(Z)<Te&&k.push(Z)),te!==-1&&W!=ae[W]&&(ae[te]=ae[W],k.lastIndexOf(te)<Te&&k.push(te));for(W=1;W<ye;++W)ae[W]===W&&(te!==-1&&ae[te]!==te?ae[W]=ae[te]:Z!==-1&&ae[Z]!==Z&&(ae[W]=ae[Z]));for(W=1;W<ye;++W)if(D[W].type!==0){if(Te=W,Te!=ae[Te])do Te=ae[Te],ee[W]=ee[Te]+"/"+ee[W];while(Te!==0&&ae[Te]!==-1&&Te!=ae[Te]);ae[W]=-1}for(ee[0]+="/",W=1;W<ye;++W)D[W].type!==2&&(ee[W]+="/")}function p(D,ee,j){for(var W=D.start,Z=D.size,te=[],Ce=W;j&&Z>0&&Ce>=0;)te.push(ee.slice(Ce*_,Ce*_+_)),Z-=_,Ce=Ja(j,Ce*4);return te.length===0?Ie(0):hr(te).slice(0,D.size)}function B(D,ee,j,W,Z){var te=G;if(D===G){if(ee!==0)throw new Error("DIFAT chain shorter than expected")}else if(D!==-1){var Ce=j[D],Te=(W>>>2)-1;if(!Ce)return;for(var ye=0;ye<Te&&(te=Ja(Ce,ye*4))!==G;++ye)Z.push(te);B(Ja(Ce,W-4),ee-1,j,W,Z)}}function x(D,ee,j,W,Z){var te=[],Ce=[];Z||(Z=[]);var Te=W-1,ye=0,ae=0;for(ye=ee;ye>=0;){Z[ye]=!0,te[te.length]=ye,Ce.push(D[ye]);var k=j[Math.floor(ye*4/W)];if(ae=ye*4&Te,W<4+ae)throw new Error("FAT boundary crossed: "+ye+" 4 "+W);if(!D[k])break;ye=Ja(D[k],ae)}return{nodes:te,data:N2([Ce])}}function y(D,ee,j,W){var Z=D.length,te=[],Ce=[],Te=[],ye=[],ae=W-1,k=0,de=0,be=0,We=0;for(k=0;k<Z;++k)if(Te=[],be=k+ee,be>=Z&&(be-=Z),!Ce[be]){ye=[];var He=[];for(de=be;de>=0;){He[de]=!0,Ce[de]=!0,Te[Te.length]=de,ye.push(D[de]);var Xe=j[Math.floor(de*4/W)];if(We=de*4&ae,W<4+We)throw new Error("FAT boundary crossed: "+de+" 4 "+W);if(!D[Xe]||(de=Ja(D[Xe],We),He[de]))break}te[be]={nodes:Te,data:N2([ye])}}return te}function E(D,ee,j,W,Z,te,Ce,Te){for(var ye=0,ae=W.length?2:0,k=ee[D].data,de=0,be=0,We;de<k.length;de+=128){var He=k.slice(de,de+128);gn(He,64),be=He.read_shift(2),We=Vh(He,0,be-ae),W.push(We);var Xe={name:We,type:He.read_shift(1),color:He.read_shift(1),L:He.read_shift(4,"i"),R:He.read_shift(4,"i"),C:He.read_shift(4,"i"),clsid:He.read_shift(16),state:He.read_shift(4,"i"),start:0,size:0},ut=He.read_shift(2)+He.read_shift(2)+He.read_shift(2)+He.read_shift(2);ut!==0&&(Xe.ct=U(He,He.l-8));var Nt=He.read_shift(2)+He.read_shift(2)+He.read_shift(2)+He.read_shift(2);Nt!==0&&(Xe.mt=U(He,He.l-8)),Xe.start=He.read_shift(4,"i"),Xe.size=He.read_shift(4,"i"),Xe.size<0&&Xe.start<0&&(Xe.size=Xe.type=0,Xe.start=G,Xe.name=""),Xe.type===5?(ye=Xe.start,Z>0&&ye!==G&&(ee[ye].name="!StreamData")):Xe.size>=4096?(Xe.storage="fat",ee[Xe.start]===void 0&&(ee[Xe.start]=x(j,Xe.start,ee.fat_addrs,ee.ssz)),ee[Xe.start].name=Xe.name,Xe.content=ee[Xe.start].data.slice(0,Xe.size)):(Xe.storage="minifat",Xe.size<0?Xe.size=0:ye!==G&&Xe.start!==G&&ee[ye]&&(Xe.content=p(Xe,ee[ye].data,(ee[Te]||{}).data))),Xe.content&&gn(Xe.content,0),te[We]=Xe,Ce.push(Xe)}}function U(D,ee){return new Date((hn(D,ee+4)/1e7*Math.pow(2,32)+hn(D,ee)/1e7-11644473600)*1e3)}function V(D,ee){return l(),f(o.readFileSync(D),ee)}function z(D,ee){var j=ee&&ee.type;switch(j||Xt&&Buffer.isBuffer(D)&&(j="buffer"),j||"base64"){case"file":return V(D,ee);case"base64":return f(Kn(Li(D)),ee);case"binary":return f(Kn(D),ee)}return f(D,ee)}function I(D,ee){var j=ee||{},W=j.root||"Root Entry";if(D.FullPaths||(D.FullPaths=[]),D.FileIndex||(D.FileIndex=[]),D.FullPaths.length!==D.FileIndex.length)throw new Error("inconsistent CFB structure");D.FullPaths.length===0&&(D.FullPaths[0]=W+"/",D.FileIndex[0]={name:W,type:5}),j.CLSID&&(D.FileIndex[0].clsid=j.CLSID),O(D)}function O(D){var ee="Sh33tJ5";if(!sA.find(D,"/"+ee)){var j=Ie(4);j[0]=55,j[1]=j[3]=50,j[2]=54,D.FileIndex.push({name:ee,type:2,content:j,size:4,L:69,R:69,C:69}),D.FullPaths.push(D.FullPaths[0]+ee),M(D)}}function M(D,ee){I(D);for(var j=!1,W=!1,Z=D.FullPaths.length-1;Z>=0;--Z){var te=D.FileIndex[Z];switch(te.type){case 0:W?j=!0:(D.FileIndex.pop(),D.FullPaths.pop());break;case 1:case 2:case 5:W=!0,isNaN(te.R*te.L*te.C)&&(j=!0),te.R>-1&&te.L>-1&&te.R==te.L&&(j=!0);break;default:j=!0;break}}if(!(!j&&!ee)){var Ce=new Date(1987,1,19),Te=0,ye=Object.create?Object.create(null):{},ae=[];for(Z=0;Z<D.FullPaths.length;++Z)ye[D.FullPaths[Z]]=!0,D.FileIndex[Z].type!==0&&ae.push([D.FullPaths[Z],D.FileIndex[Z]]);for(Z=0;Z<ae.length;++Z){var k=r(ae[Z][0]);W=ye[k],W||(ae.push([k,{name:n(k).replace("/",""),type:1,clsid:he,ct:Ce,mt:Ce,content:null}]),ye[k]=!0)}for(ae.sort(function(We,He){return t(We[0],He[0])}),D.FullPaths=[],D.FileIndex=[],Z=0;Z<ae.length;++Z)D.FullPaths[Z]=ae[Z][0],D.FileIndex[Z]=ae[Z][1];for(Z=0;Z<ae.length;++Z){var de=D.FileIndex[Z],be=D.FullPaths[Z];if(de.name=n(be).replace("/",""),de.L=de.R=de.C=-(de.color=1),de.size=de.content?de.content.length:0,de.start=0,de.clsid=de.clsid||he,Z===0)de.C=ae.length>1?1:-1,de.size=0,de.type=5;else if(be.slice(-1)=="/"){for(Te=Z+1;Te<ae.length&&r(D.FullPaths[Te])!=be;++Te);for(de.C=Te>=ae.length?-1:Te,Te=Z+1;Te<ae.length&&r(D.FullPaths[Te])!=r(be);++Te);de.R=Te>=ae.length?-1:Te,de.type=1}else r(D.FullPaths[Z+1]||"")==r(be)&&(de.R=Z+1),de.type=2}}}function Y(D,ee){var j=ee||{};if(j.fileType=="mad")return dt(D,j);switch(M(D),j.fileType){case"zip":return zt(D,j)}var W=function(We){for(var He=0,Xe=0,ut=0;ut<We.FileIndex.length;++ut){var Nt=We.FileIndex[ut];if(Nt.content){var Vt=Nt.content.length;Vt>0&&(Vt<4096?He+=Vt+63>>6:Xe+=Vt+511>>9)}}for(var Mt=We.FullPaths.length+3>>2,an=He+7>>3,Nn=He+127>>7,bi=an+Xe+Mt+Nn,oi=bi+127>>7,Si=oi<=109?0:Math.ceil((oi-109)/127);bi+oi+Si+127>>7>oi;)Si=++oi<=109?0:Math.ceil((oi-109)/127);var Bn=[1,Si,oi,Nn,Mt,Xe,He,0];return We.FileIndex[0].size=He<<6,Bn[7]=(We.FileIndex[0].start=Bn[0]+Bn[1]+Bn[2]+Bn[3]+Bn[4]+Bn[5])+(Bn[6]+7>>3),Bn}(D),Z=Ie(W[7]<<9),te=0,Ce=0;{for(te=0;te<8;++te)Z.write_shift(1,le[te]);for(te=0;te<8;++te)Z.write_shift(2,0);for(Z.write_shift(2,62),Z.write_shift(2,3),Z.write_shift(2,65534),Z.write_shift(2,9),Z.write_shift(2,6),te=0;te<3;++te)Z.write_shift(2,0);for(Z.write_shift(4,0),Z.write_shift(4,W[2]),Z.write_shift(4,W[0]+W[1]+W[2]+W[3]-1),Z.write_shift(4,0),Z.write_shift(4,4096),Z.write_shift(4,W[3]?W[0]+W[1]+W[2]-1:G),Z.write_shift(4,W[3]),Z.write_shift(-4,W[1]?W[0]-1:G),Z.write_shift(4,W[1]),te=0;te<109;++te)Z.write_shift(-4,te<W[2]?W[1]+te:-1)}if(W[1])for(Ce=0;Ce<W[1];++Ce){for(;te<236+Ce*127;++te)Z.write_shift(-4,te<W[2]?W[1]+te:-1);Z.write_shift(-4,Ce===W[1]-1?G:Ce+1)}var Te=function(We){for(Ce+=We;te<Ce-1;++te)Z.write_shift(-4,te+1);We&&(++te,Z.write_shift(-4,G))};for(Ce=te=0,Ce+=W[1];te<Ce;++te)Z.write_shift(-4,ve.DIFSECT);for(Ce+=W[2];te<Ce;++te)Z.write_shift(-4,ve.FATSECT);Te(W[3]),Te(W[4]);for(var ye=0,ae=0,k=D.FileIndex[0];ye<D.FileIndex.length;++ye)k=D.FileIndex[ye],k.content&&(ae=k.content.length,!(ae<4096)&&(k.start=Ce,Te(ae+511>>9)));for(Te(W[6]+7>>3);Z.l&511;)Z.write_shift(-4,ve.ENDOFCHAIN);for(Ce=te=0,ye=0;ye<D.FileIndex.length;++ye)k=D.FileIndex[ye],k.content&&(ae=k.content.length,!(!ae||ae>=4096)&&(k.start=Ce,Te(ae+63>>6)));for(;Z.l&511;)Z.write_shift(-4,ve.ENDOFCHAIN);for(te=0;te<W[4]<<2;++te){var de=D.FullPaths[te];if(!de||de.length===0){for(ye=0;ye<17;++ye)Z.write_shift(4,0);for(ye=0;ye<3;++ye)Z.write_shift(4,-1);for(ye=0;ye<12;++ye)Z.write_shift(4,0);continue}k=D.FileIndex[te],te===0&&(k.start=k.size?k.start-1:G);var be=te===0&&j.root||k.name;if(ae=2*(be.length+1),Z.write_shift(64,be,"utf16le"),Z.write_shift(2,ae),Z.write_shift(1,k.type),Z.write_shift(1,k.color),Z.write_shift(-4,k.L),Z.write_shift(-4,k.R),Z.write_shift(-4,k.C),k.clsid)Z.write_shift(16,k.clsid,"hex");else for(ye=0;ye<4;++ye)Z.write_shift(4,0);Z.write_shift(4,k.state||0),Z.write_shift(4,0),Z.write_shift(4,0),Z.write_shift(4,0),Z.write_shift(4,0),Z.write_shift(4,k.start),Z.write_shift(4,k.size),Z.write_shift(4,0)}for(te=1;te<D.FileIndex.length;++te)if(k=D.FileIndex[te],k.size>=4096)if(Z.l=k.start+1<<9,Xt&&Buffer.isBuffer(k.content))k.content.copy(Z,Z.l,0,k.size),Z.l+=k.size+511&-512;else{for(ye=0;ye<k.size;++ye)Z.write_shift(1,k.content[ye]);for(;ye&511;++ye)Z.write_shift(1,0)}for(te=1;te<D.FileIndex.length;++te)if(k=D.FileIndex[te],k.size>0&&k.size<4096)if(Xt&&Buffer.isBuffer(k.content))k.content.copy(Z,Z.l,0,k.size),Z.l+=k.size+63&-64;else{for(ye=0;ye<k.size;++ye)Z.write_shift(1,k.content[ye]);for(;ye&63;++ye)Z.write_shift(1,0)}if(Xt)Z.l=Z.length;else for(;Z.l<Z.length;)Z.write_shift(1,0);return Z}function b(D,ee){var j=D.FullPaths.map(function(ye){return ye.toUpperCase()}),W=j.map(function(ye){var ae=ye.split("/");return ae[ae.length-(ye.slice(-1)=="/"?2:1)]}),Z=!1;ee.charCodeAt(0)===47?(Z=!0,ee=j[0].slice(0,-1)+ee):Z=ee.indexOf("/")!==-1;var te=ee.toUpperCase(),Ce=Z===!0?j.indexOf(te):W.indexOf(te);if(Ce!==-1)return D.FileIndex[Ce];var Te=!te.match(uu);for(te=te.replace(hl,""),Te&&(te=te.replace(uu,"!")),Ce=0;Ce<j.length;++Ce)if((Te?j[Ce].replace(uu,"!"):j[Ce]).replace(hl,"")==te||(Te?W[Ce].replace(uu,"!"):W[Ce]).replace(hl,"")==te)return D.FileIndex[Ce];return null}var _=64,G=-2,J="d0cf11e0a1b11ae1",le=[208,207,17,224,161,177,26,225],he="00000000000000000000000000000000",ve={MAXREGSECT:-6,DIFSECT:-4,FATSECT:-3,ENDOFCHAIN:G,FREESECT:-1,HEADER_SIGNATURE:J,HEADER_MINOR_VERSION:"3e00",MAXREGSID:-6,NOSTREAM:-1,HEADER_CLSID:he,EntryTypes:["unknown","storage","stream","lockbytes","property","root"]};function ce(D,ee,j){l();var W=Y(D,j);o.writeFileSync(ee,W)}function pe(D){for(var ee=new Array(D.length),j=0;j<D.length;++j)ee[j]=String.fromCharCode(D[j]);return ee.join("")}function we(D,ee){var j=Y(D,ee);switch(ee&&ee.type||"buffer"){case"file":return l(),o.writeFileSync(ee.filename,j),j;case"binary":return typeof j=="string"?j:pe(j);case"base64":return ul(typeof j=="string"?j:pe(j));case"buffer":if(Xt)return Buffer.isBuffer(j)?j:Qi(j);case"array":return typeof j=="string"?Kn(j):j}return j}var Le;function C(D){try{var ee=D.InflateRaw,j=new ee;if(j._processChunk(new Uint8Array([3,0]),j._finishFlushFlag),j.bytesRead)Le=D;else throw new Error("zlib does not expose bytesRead")}catch(W){console.error("cannot use native zlib: "+(W.message||W))}}function S(D,ee){if(!Le)return Dt(D,ee);var j=Le.InflateRaw,W=new j,Z=W._processChunk(D.slice(D.l),W._finishFlushFlag);return D.l+=W.bytesRead,Z}function T(D){return Le?Le.deflateRawSync(D):yt(D)}var L=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],X=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258],ne=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577];function oe(D){var ee=(D<<1|D<<11)&139536|(D<<5|D<<15)&558144;return(ee>>16|ee>>8|ee)&255}for(var ie=typeof Uint8Array<"u",xe=ie?new Uint8Array(256):[],Qe=0;Qe<256;++Qe)xe[Qe]=oe(Qe);function Ne(D,ee){var j=xe[D&255];return ee<=8?j>>>8-ee:(j=j<<8|xe[D>>8&255],ee<=16?j>>>16-ee:(j=j<<8|xe[D>>16&255],j>>>24-ee))}function je(D,ee){var j=ee&7,W=ee>>>3;return(D[W]|(j<=6?0:D[W+1]<<8))>>>j&3}function ze(D,ee){var j=ee&7,W=ee>>>3;return(D[W]|(j<=5?0:D[W+1]<<8))>>>j&7}function Se(D,ee){var j=ee&7,W=ee>>>3;return(D[W]|(j<=4?0:D[W+1]<<8))>>>j&15}function Ae(D,ee){var j=ee&7,W=ee>>>3;return(D[W]|(j<=3?0:D[W+1]<<8))>>>j&31}function Oe(D,ee){var j=ee&7,W=ee>>>3;return(D[W]|(j<=1?0:D[W+1]<<8))>>>j&127}function tt(D,ee,j){var W=ee&7,Z=ee>>>3,te=(1<<j)-1,Ce=D[Z]>>>W;return j<8-W||(Ce|=D[Z+1]<<8-W,j<16-W)||(Ce|=D[Z+2]<<16-W,j<24-W)||(Ce|=D[Z+3]<<24-W),Ce&te}function Me(D,ee,j){var W=ee&7,Z=ee>>>3;return W<=5?D[Z]|=(j&7)<<W:(D[Z]|=j<<W&255,D[Z+1]=(j&7)>>8-W),ee+3}function $e(D,ee,j){var W=ee&7,Z=ee>>>3;return j=(j&1)<<W,D[Z]|=j,ee+1}function qe(D,ee,j){var W=ee&7,Z=ee>>>3;return j<<=W,D[Z]|=j&255,j>>>=8,D[Z+1]=j,ee+8}function Ye(D,ee,j){var W=ee&7,Z=ee>>>3;return j<<=W,D[Z]|=j&255,j>>>=8,D[Z+1]=j&255,D[Z+2]=j>>>8,ee+16}function at(D,ee){var j=D.length,W=2*j>ee?2*j:ee+5,Z=0;if(j>=ee)return D;if(Xt){var te=t2(W);if(D.copy)D.copy(te);else for(;Z<D.length;++Z)te[Z]=D[Z];return te}else if(ie){var Ce=new Uint8Array(W);if(Ce.set)Ce.set(D);else for(;Z<j;++Z)Ce[Z]=D[Z];return Ce}return D.length=W,D}function rt(D){for(var ee=new Array(D),j=0;j<D;++j)ee[j]=0;return ee}function ct(D,ee,j){var W=1,Z=0,te=0,Ce=0,Te=0,ye=D.length,ae=ie?new Uint16Array(32):rt(32);for(te=0;te<32;++te)ae[te]=0;for(te=ye;te<j;++te)D[te]=0;ye=D.length;var k=ie?new Uint16Array(ye):rt(ye);for(te=0;te<ye;++te)ae[Z=D[te]]++,W<Z&&(W=Z),k[te]=0;for(ae[0]=0,te=1;te<=W;++te)ae[te+16]=Te=Te+ae[te-1]<<1;for(te=0;te<ye;++te)Te=D[te],Te!=0&&(k[te]=ae[Te+16]++);var de=0;for(te=0;te<ye;++te)if(de=D[te],de!=0)for(Te=Ne(k[te],W)>>W-de,Ce=(1<<W+4-de)-1;Ce>=0;--Ce)ee[Te|Ce<<de]=de&15|te<<4;return W}var vt=ie?new Uint16Array(512):rt(512),bt=ie?new Uint16Array(32):rt(32);if(!ie){for(var _t=0;_t<512;++_t)vt[_t]=0;for(_t=0;_t<32;++_t)bt[_t]=0}(function(){for(var D=[],ee=0;ee<32;ee++)D.push(5);ct(D,bt,32);var j=[];for(ee=0;ee<=143;ee++)j.push(8);for(;ee<=255;ee++)j.push(9);for(;ee<=279;ee++)j.push(7);for(;ee<=287;ee++)j.push(8);ct(j,vt,288)})();var ht=function(){for(var ee=ie?new Uint8Array(32768):[],j=0,W=0;j<ne.length-1;++j)for(;W<ne[j+1];++W)ee[W]=j;for(;W<32768;++W)ee[W]=29;var Z=ie?new Uint8Array(259):[];for(j=0,W=0;j<X.length-1;++j)for(;W<X[j+1];++W)Z[W]=j;function te(Te,ye){for(var ae=0;ae<Te.length;){var k=Math.min(65535,Te.length-ae),de=ae+k==Te.length;for(ye.write_shift(1,+de),ye.write_shift(2,k),ye.write_shift(2,~k&65535);k-- >0;)ye[ye.l++]=Te[ae++]}return ye.l}function Ce(Te,ye){for(var ae=0,k=0,de=ie?new Uint16Array(32768):[];k<Te.length;){var be=Math.min(65535,Te.length-k);if(be<10){for(ae=Me(ye,ae,+(k+be==Te.length)),ae&7&&(ae+=8-(ae&7)),ye.l=ae/8|0,ye.write_shift(2,be),ye.write_shift(2,~be&65535);be-- >0;)ye[ye.l++]=Te[k++];ae=ye.l*8;continue}ae=Me(ye,ae,+(k+be==Te.length)+2);for(var We=0;be-- >0;){var He=Te[k];We=(We<<5^He)&32767;var Xe=-1,ut=0;if((Xe=de[We])&&(Xe|=k&-32768,Xe>k&&(Xe-=32768),Xe<k))for(;Te[Xe+ut]==Te[k+ut]&&ut<250;)++ut;if(ut>2){He=Z[ut],He<=22?ae=qe(ye,ae,xe[He+1]>>1)-1:(qe(ye,ae,3),ae+=5,qe(ye,ae,xe[He-23]>>5),ae+=3);var Nt=He<8?0:He-4>>2;Nt>0&&(Ye(ye,ae,ut-X[He]),ae+=Nt),He=ee[k-Xe],ae=qe(ye,ae,xe[He]>>3),ae-=3;var Vt=He<4?0:He-2>>1;Vt>0&&(Ye(ye,ae,k-Xe-ne[He]),ae+=Vt);for(var Mt=0;Mt<ut;++Mt)de[We]=k&32767,We=(We<<5^Te[k])&32767,++k;be-=ut-1}else He<=143?He=He+48:ae=$e(ye,ae,1),ae=qe(ye,ae,xe[He]),de[We]=k&32767,++k}ae=qe(ye,ae,0)-1}return ye.l=(ae+7)/8|0,ye.l}return function(ye,ae){return ye.length<8?te(ye,ae):Ce(ye,ae)}}();function yt(D){var ee=Ie(50+Math.floor(D.length*1.1)),j=ht(D,ee);return ee.slice(0,j)}var et=ie?new Uint16Array(32768):rt(32768),rA=ie?new Uint16Array(32768):rt(32768),Ut=ie?new Uint16Array(128):rt(128),uA=1,Qt=1;function Kt(D,ee){var j=Ae(D,ee)+257;ee+=5;var W=Ae(D,ee)+1;ee+=5;var Z=Se(D,ee)+4;ee+=4;for(var te=0,Ce=ie?new Uint8Array(19):rt(19),Te=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],ye=1,ae=ie?new Uint8Array(8):rt(8),k=ie?new Uint8Array(8):rt(8),de=Ce.length,be=0;be<Z;++be)Ce[L[be]]=te=ze(D,ee),ye<te&&(ye=te),ae[te]++,ee+=3;var We=0;for(ae[0]=0,be=1;be<=ye;++be)k[be]=We=We+ae[be-1]<<1;for(be=0;be<de;++be)(We=Ce[be])!=0&&(Te[be]=k[We]++);var He=0;for(be=0;be<de;++be)if(He=Ce[be],He!=0){We=xe[Te[be]]>>8-He;for(var Xe=(1<<7-He)-1;Xe>=0;--Xe)Ut[We|Xe<<He]=He&7|be<<3}var ut=[];for(ye=1;ut.length<j+W;)switch(We=Ut[Oe(D,ee)],ee+=We&7,We>>>=3){case 16:for(te=3+je(D,ee),ee+=2,We=ut[ut.length-1];te-- >0;)ut.push(We);break;case 17:for(te=3+ze(D,ee),ee+=3;te-- >0;)ut.push(0);break;case 18:for(te=11+Oe(D,ee),ee+=7;te-- >0;)ut.push(0);break;default:ut.push(We),ye<We&&(ye=We);break}var Nt=ut.slice(0,j),Vt=ut.slice(j);for(be=j;be<286;++be)Nt[be]=0;for(be=W;be<30;++be)Vt[be]=0;return uA=ct(Nt,et,286),Qt=ct(Vt,rA,30),ee}function XA(D,ee){if(D[0]==3&&!(D[1]&3))return[Ya(ee),2];for(var j=0,W=0,Z=t2(ee||1<<18),te=0,Ce=Z.length>>>0,Te=0,ye=0;!(W&1)