diff --git a/dist/css/app.b3f8550c.css b/dist/css/app.cfbc4946.css similarity index 60% rename from dist/css/app.b3f8550c.css rename to dist/css/app.cfbc4946.css index aaef95d..f2fbb93 100644 --- a/dist/css/app.b3f8550c.css +++ b/dist/css/app.cfbc4946.css @@ -1 +1 @@ -.header-h[data-v-1010002a]{background:#1b3d70;padding:1rem 0}.contenedor-header[data-v-1010002a]{padding:1rem 0;display:flex;width:100%;justify-content:space-between}.contenedor-img[data-v-1010002a]{width:40%;display:flex;align-items:center;justify-content:center}.contenedor-img img[data-v-1010002a]{max-width:100%}.header-f[data-v-1010002a]{padding:.1rem 0;background-color:#b80}#info[data-v-1010002a]{color:#fff}.sesion[data-v-1010002a]{margin:.5rem;line-height:.5rem!important}[data-v-325152f0]{margin:0;box-sizing:border-box;padding:0}#footer[data-v-325152f0]{bottom:0;position:absolute;width:100%}.separador[data-v-325152f0]{width:100%;background:#2e5795;height:1rem}.contenedor-footer[data-v-325152f0]{width:100%}.cont-text-foo[data-v-325152f0]{font-size:12px}footer[data-v-325152f0]{background:#1b3d70}.btn-login[data-v-009e7709]{width:170px;height:45px}.input-login-form[data-v-009e7709]{border:0;border-top:1px solid #bdbdbd;border-right:1px solid #bdbdbd;border-bottom:1px solid #bdbdbd;height:40px;padding-left:10px;outline:0}.icon-login-form[data-v-009e7709]{border:0;border-top:1px solid #bdbdbd;border-left:1px solid #bdbdbd;border-bottom:1px solid #bdbdbd;width:40px;background-color:#fff;color:#bdbdbd}.cont-log-things[data-v-009e7709]{padding:30px;margin-top:15px}@media (max-width:350px){.serv-title text-center[data-v-009e7709]{font-size:25px}}.header-f[data-v-17d15f87]{background-color:#b80}.t-hov[data-v-17d15f87]:hover{cursor:pointer}#footer[data-v-17d15f87]{bottom:0;position:absolute;width:100%}.separador[data-v-17d15f87]{width:100%;background:#2e5795;height:1rem}.contenedor-footer[data-v-17d15f87]{width:100%}.cont-text-foo[data-v-17d15f87]{font-size:12px}footer[data-v-17d15f87]{background:#1b3d70}#myTableStyle[data-v-17d15f87]{max-height:350px;font-size:14px}.black[data-v-17d15f87]{background-color:#000}.red[data-v-17d15f87]{background-color:red}select[data-v-dcace4c2]{padding:10px;-webkit-appearance:none;-o-appearance:none;-moz-appearance:none;appearance:none;display:block;margin:30px 0;padding:10px 50px 10px 10px;background:url(../img/select-triangleb.4d04d276.png) no-repeat 97%!important;background-color:#ffe4e1!important;cursor:pointer;color:#000;border-radius:2px;border-color:#000;background-size:12px!important}.custom-file-input:lang(es)~.custom-file-label[data-v-dcace4c2]:after{content:"Buscar"}.form-add-user input[type=date][data-v-dcace4c2],.form-add-user input[type=email][data-v-dcace4c2],.form-add-user input[type=text][data-v-dcace4c2]{text-align:left;width:60%;border:none;border-bottom:1.5px solid #000;background-color:transparent}.form-add-user input[type=text][data-v-dcace4c2]:focus{outline-color:transparent}.sel-form-add[data-v-dcace4c2]{width:60%}#footer[data-v-dcace4c2]{bottom:0;position:absolute;width:100%}.separador[data-v-dcace4c2]{width:100%;background:#2e5795;height:1rem}.contenedor-footer[data-v-dcace4c2]{width:100%}.cont-text-foo[data-v-dcace4c2]{font-size:12px}footer[data-v-dcace4c2]{background:#1b3d70}@media (max-width:577px){.form-add-user input[type=date][data-v-dcace4c2],.form-add-user input[type=email][data-v-dcace4c2],.form-add-user input[type=text][data-v-dcace4c2],.sel-form-add[data-v-dcace4c2]{width:100%}}@media (min-width:578px) and (max-width:980px){.form-add-user input[type=date][data-v-dcace4c2],.form-add-user input[type=email][data-v-dcace4c2],.form-add-user input[type=text][data-v-dcace4c2],.sel-form-add[data-v-dcace4c2]{width:75%}}select[data-v-1fcb8031]{padding:10px;-webkit-appearance:none;-o-appearance:none;-moz-appearance:none;appearance:none;display:block;margin:30px 0;padding:10px 50px 10px 10px;background:url(../img/select-triangleb.4d04d276.png) no-repeat 97%!important;background-color:#ffe4e1!important;cursor:pointer;color:#000;border-radius:2px;border-color:#000;background-size:12px!important}.form-add-user input[type=date][data-v-1fcb8031],.form-add-user input[type=email][data-v-1fcb8031],.form-add-user input[type=text][data-v-1fcb8031]{text-align:left;width:60%;border:none;border-bottom:1.5px solid #000;background-color:transparent}.form-add-user input[type=text][data-v-1fcb8031]:focus{outline-color:transparent}.sel-form-add[data-v-1fcb8031]{width:60%}#footer[data-v-1fcb8031]{bottom:0;position:absolute;width:100%}.custom-file-input:lang(es)~.custom-file-label[data-v-1fcb8031]:after{content:"Buscar"}.separador[data-v-1fcb8031]{width:100%;background:#2e5795;height:1rem}.contenedor-footer[data-v-1fcb8031]{width:100%}.cont-text-foo[data-v-1fcb8031]{font-size:12px}footer[data-v-1fcb8031]{background:#1b3d70}@media (max-width:577px){.form-add-user input[type=date][data-v-1fcb8031],.form-add-user input[type=email][data-v-1fcb8031],.form-add-user input[type=text][data-v-1fcb8031],.sel-form-add[data-v-1fcb8031]{width:100%}}@media (min-width:578px) and (max-width:980px){.form-add-user input[type=date][data-v-1fcb8031],.form-add-user input[type=email][data-v-1fcb8031],.form-add-user input[type=text][data-v-1fcb8031],.sel-form-add[data-v-1fcb8031]{width:75%}}.p-text-sty[data-v-717bb151]{font-weight:700}input[type=text][data-v-717bb151]{color:grey}select[data-v-717bb151]{padding:10px;-webkit-appearance:none;-o-appearance:none;-moz-appearance:none;appearance:none;display:block;margin:30px 0;padding:10px 50px 10px 10px;background:url(../img/select-triangleb.4d04d276.png) no-repeat 97%!important;cursor:pointer;background-color:#ffe4e1!important;color:#000;border-radius:2px;border-color:#000;background-size:12px!important}.form-add-user input[type=date][data-v-717bb151],.form-add-user input[type=email][data-v-717bb151],.form-add-user input[type=text][data-v-717bb151]{text-align:left;width:60%;border:none;border-bottom:1.5px solid #000;background-color:transparent}.form-add-user input[type=text][data-v-717bb151]:focus{outline-color:transparent}.sel-form-add[data-v-717bb151]{width:60%}#footer[data-v-717bb151]{bottom:0;position:absolute;width:100%}.separador[data-v-717bb151]{width:100%;background:#2e5795;height:1rem}.contenedor-footer[data-v-717bb151]{width:100%}.cont-text-foo[data-v-717bb151]{font-size:12px}footer[data-v-717bb151]{background:#1b3d70}@media (max-width:577px){.form-add-user input[type=date][data-v-717bb151],.form-add-user input[type=email][data-v-717bb151],.form-add-user input[type=text][data-v-717bb151],.sel-form-add[data-v-717bb151]{width:100%}}@media (min-width:578px) and (max-width:980px){.form-add-user input[type=date][data-v-717bb151],.form-add-user input[type=email][data-v-717bb151],.form-add-user input[type=text][data-v-717bb151],.sel-form-add[data-v-717bb151]{width:75%}}input[type=text][data-v-cafa92a8]{color:grey}select[data-v-cafa92a8]{padding:10px;-webkit-appearance:none;-o-appearance:none;-moz-appearance:none;appearance:none;display:block;margin:30px 0;padding:10px 50px 10px 10px;background:url(../img/select-triangleb.4d04d276.png) no-repeat 97%!important;cursor:pointer;background-color:#ffe4e1!important;color:#000;border-radius:2px;border-color:#000;background-size:12px!important}select option[data-v-cafa92a8]:hover{background-color:#ff0!important}.form-add-user input[type=date][data-v-cafa92a8],.form-add-user input[type=email][data-v-cafa92a8],.form-add-user input[type=text][data-v-cafa92a8]{text-align:left;width:60%;border:none;border-bottom:1.5px solid #000;background-color:transparent}.form-add-user input[type=text][data-v-cafa92a8]:focus{outline-color:transparent}.sel-form-add[data-v-cafa92a8]{width:60%}#footer[data-v-cafa92a8]{bottom:0;position:absolute;width:100%}.separador[data-v-cafa92a8]{width:100%;background:#2e5795;height:1rem}.contenedor-footer[data-v-cafa92a8]{width:100%}.cont-text-foo[data-v-cafa92a8]{font-size:12px}footer[data-v-cafa92a8]{background:#1b3d70}@media (max-width:577px){.form-add-user input[type=date][data-v-cafa92a8],.form-add-user input[type=email][data-v-cafa92a8],.form-add-user input[type=text][data-v-cafa92a8],.sel-form-add[data-v-cafa92a8]{width:100%}}@media (min-width:578px) and (max-width:980px){.form-add-user input[type=date][data-v-cafa92a8],.form-add-user input[type=email][data-v-cafa92a8],.form-add-user input[type=text][data-v-cafa92a8],.sel-form-add[data-v-cafa92a8]{width:75%}} \ No newline at end of file +.header-h[data-v-268097cd]{background:#1b3d70;padding:1rem 0}.contenedor-header[data-v-268097cd]{padding:1rem 0;display:flex;width:100%;justify-content:space-between}.contenedor-img[data-v-268097cd]{width:40%;display:flex;align-items:center;justify-content:center}.contenedor-img img[data-v-268097cd]{max-width:100%}.header-f[data-v-268097cd]{padding:.1rem 0;background-color:#b80}#info[data-v-268097cd]{color:#fff}.sesion[data-v-268097cd]{margin:.5rem;line-height:.5rem!important}[data-v-325152f0]{margin:0;box-sizing:border-box;padding:0}#footer[data-v-325152f0]{bottom:0;position:absolute;width:100%}.separador[data-v-325152f0]{width:100%;background:#2e5795;height:1rem}.contenedor-footer[data-v-325152f0]{width:100%}.cont-text-foo[data-v-325152f0]{font-size:12px}footer[data-v-325152f0]{background:#1b3d70}.btn-login[data-v-009e7709]{width:170px;height:45px}.input-login-form[data-v-009e7709]{border:0;border-top:1px solid #bdbdbd;border-right:1px solid #bdbdbd;border-bottom:1px solid #bdbdbd;height:40px;padding-left:10px;outline:0}.icon-login-form[data-v-009e7709]{border:0;border-top:1px solid #bdbdbd;border-left:1px solid #bdbdbd;border-bottom:1px solid #bdbdbd;width:40px;background-color:#fff;color:#bdbdbd}.cont-log-things[data-v-009e7709]{padding:30px;margin-top:15px}@media (max-width:350px){.serv-title text-center[data-v-009e7709]{font-size:25px}}.header-f[data-v-15aa8b6a]{background-color:#b80}.t-hov[data-v-15aa8b6a]:hover{cursor:pointer}#footer[data-v-15aa8b6a]{bottom:0;position:absolute;width:100%}.separador[data-v-15aa8b6a]{width:100%;background:#2e5795;height:1rem}.contenedor-footer[data-v-15aa8b6a]{width:100%}.cont-text-foo[data-v-15aa8b6a]{font-size:12px}footer[data-v-15aa8b6a]{background:#1b3d70}#myTableStyle[data-v-15aa8b6a]{max-height:350px;font-size:14px}.black[data-v-15aa8b6a]{background-color:#000}.red[data-v-15aa8b6a]{background-color:red}select[data-v-dcace4c2]{padding:10px;-webkit-appearance:none;-o-appearance:none;-moz-appearance:none;appearance:none;display:block;margin:30px 0;padding:10px 50px 10px 10px;background:url(../img/select-triangleb.4d04d276.png) no-repeat 97%!important;background-color:#ffe4e1!important;cursor:pointer;color:#000;border-radius:2px;border-color:#000;background-size:12px!important}.custom-file-input:lang(es)~.custom-file-label[data-v-dcace4c2]:after{content:"Buscar"}.form-add-user input[type=date][data-v-dcace4c2],.form-add-user input[type=email][data-v-dcace4c2],.form-add-user input[type=text][data-v-dcace4c2]{text-align:left;width:60%;border:none;border-bottom:1.5px solid #000;background-color:transparent}.form-add-user input[type=text][data-v-dcace4c2]:focus{outline-color:transparent}.sel-form-add[data-v-dcace4c2]{width:60%}#footer[data-v-dcace4c2]{bottom:0;position:absolute;width:100%}.separador[data-v-dcace4c2]{width:100%;background:#2e5795;height:1rem}.contenedor-footer[data-v-dcace4c2]{width:100%}.cont-text-foo[data-v-dcace4c2]{font-size:12px}footer[data-v-dcace4c2]{background:#1b3d70}@media (max-width:577px){.form-add-user input[type=date][data-v-dcace4c2],.form-add-user input[type=email][data-v-dcace4c2],.form-add-user input[type=text][data-v-dcace4c2],.sel-form-add[data-v-dcace4c2]{width:100%}}@media (min-width:578px) and (max-width:980px){.form-add-user input[type=date][data-v-dcace4c2],.form-add-user input[type=email][data-v-dcace4c2],.form-add-user input[type=text][data-v-dcace4c2],.sel-form-add[data-v-dcace4c2]{width:75%}}select[data-v-1fcb8031]{padding:10px;-webkit-appearance:none;-o-appearance:none;-moz-appearance:none;appearance:none;display:block;margin:30px 0;padding:10px 50px 10px 10px;background:url(../img/select-triangleb.4d04d276.png) no-repeat 97%!important;background-color:#ffe4e1!important;cursor:pointer;color:#000;border-radius:2px;border-color:#000;background-size:12px!important}.form-add-user input[type=date][data-v-1fcb8031],.form-add-user input[type=email][data-v-1fcb8031],.form-add-user input[type=text][data-v-1fcb8031]{text-align:left;width:60%;border:none;border-bottom:1.5px solid #000;background-color:transparent}.form-add-user input[type=text][data-v-1fcb8031]:focus{outline-color:transparent}.sel-form-add[data-v-1fcb8031]{width:60%}#footer[data-v-1fcb8031]{bottom:0;position:absolute;width:100%}.custom-file-input:lang(es)~.custom-file-label[data-v-1fcb8031]:after{content:"Buscar"}.separador[data-v-1fcb8031]{width:100%;background:#2e5795;height:1rem}.contenedor-footer[data-v-1fcb8031]{width:100%}.cont-text-foo[data-v-1fcb8031]{font-size:12px}footer[data-v-1fcb8031]{background:#1b3d70}@media (max-width:577px){.form-add-user input[type=date][data-v-1fcb8031],.form-add-user input[type=email][data-v-1fcb8031],.form-add-user input[type=text][data-v-1fcb8031],.sel-form-add[data-v-1fcb8031]{width:100%}}@media (min-width:578px) and (max-width:980px){.form-add-user input[type=date][data-v-1fcb8031],.form-add-user input[type=email][data-v-1fcb8031],.form-add-user input[type=text][data-v-1fcb8031],.sel-form-add[data-v-1fcb8031]{width:75%}}.p-text-sty[data-v-0da991d1]{font-weight:700}input[type=text][data-v-0da991d1]{color:grey}select[data-v-0da991d1]{padding:10px;-webkit-appearance:none;-o-appearance:none;-moz-appearance:none;appearance:none;display:block;margin:30px 0;padding:10px 50px 10px 10px;background:url(../img/select-triangleb.4d04d276.png) no-repeat 97%!important;cursor:pointer;background-color:#ffe4e1!important;color:#000;border-radius:2px;border-color:#000;background-size:12px!important}.form-add-user input[type=date][data-v-0da991d1],.form-add-user input[type=email][data-v-0da991d1],.form-add-user input[type=text][data-v-0da991d1]{text-align:left;width:60%;border:none;border-bottom:1.5px solid #000;background-color:transparent}.form-add-user input[type=text][data-v-0da991d1]:focus{outline-color:transparent}.sel-form-add[data-v-0da991d1]{width:60%}#footer[data-v-0da991d1]{bottom:0;position:absolute;width:100%}.separador[data-v-0da991d1]{width:100%;background:#2e5795;height:1rem}.contenedor-footer[data-v-0da991d1]{width:100%}.cont-text-foo[data-v-0da991d1]{font-size:12px}footer[data-v-0da991d1]{background:#1b3d70}@media (max-width:577px){.form-add-user input[type=date][data-v-0da991d1],.form-add-user input[type=email][data-v-0da991d1],.form-add-user input[type=text][data-v-0da991d1],.sel-form-add[data-v-0da991d1]{width:100%}}@media (min-width:578px) and (max-width:980px){.form-add-user input[type=date][data-v-0da991d1],.form-add-user input[type=email][data-v-0da991d1],.form-add-user input[type=text][data-v-0da991d1],.sel-form-add[data-v-0da991d1]{width:75%}}input[type=text][data-v-340cefe6]{color:grey}select[data-v-340cefe6]{padding:10px;-webkit-appearance:none;-o-appearance:none;-moz-appearance:none;appearance:none;display:block;margin:30px 0;padding:10px 50px 10px 10px;background:url(../img/select-triangleb.4d04d276.png) no-repeat 97%!important;cursor:pointer;background-color:#ffe4e1!important;color:#000;border-radius:2px;border-color:#000;background-size:12px!important}select option[data-v-340cefe6]:hover{background-color:#ff0!important}.form-add-user input[type=date][data-v-340cefe6],.form-add-user input[type=email][data-v-340cefe6],.form-add-user input[type=text][data-v-340cefe6]{text-align:left;width:60%;border:none;border-bottom:1.5px solid #000;background-color:transparent}.form-add-user input[type=text][data-v-340cefe6]:focus{outline-color:transparent}.sel-form-add[data-v-340cefe6]{width:60%}#footer[data-v-340cefe6]{bottom:0;position:absolute;width:100%}.separador[data-v-340cefe6]{width:100%;background:#2e5795;height:1rem}.contenedor-footer[data-v-340cefe6]{width:100%}.cont-text-foo[data-v-340cefe6]{font-size:12px}footer[data-v-340cefe6]{background:#1b3d70}@media (max-width:577px){.form-add-user input[type=date][data-v-340cefe6],.form-add-user input[type=email][data-v-340cefe6],.form-add-user input[type=text][data-v-340cefe6],.sel-form-add[data-v-340cefe6]{width:100%}}@media (min-width:578px) and (max-width:980px){.form-add-user input[type=date][data-v-340cefe6],.form-add-user input[type=email][data-v-340cefe6],.form-add-user input[type=text][data-v-340cefe6],.sel-form-add[data-v-340cefe6]{width:75%}} \ No newline at end of file diff --git a/dist/index.html b/dist/index.html index 42acdb8..0124ab4 100644 --- a/dist/index.html +++ b/dist/index.html @@ -1 +1 @@ -Censo
\ No newline at end of file +Censo
\ No newline at end of file diff --git a/dist/js/app.6213fbac.js b/dist/js/app.6213fbac.js new file mode 100644 index 0000000..44443e4 --- /dev/null +++ b/dist/js/app.6213fbac.js @@ -0,0 +1,2 @@ +(function(e){function t(t){for(var a,n,r=t[0],c=t[1],l=t[2],d=0,p=[];d0&&s<10&&(l+="0"),l+=s,i>0&&i<10&&(l+="0"),l+=i,l+=a,n>=0&&n<10&&(l+="0"),l+=n,r>=0&&r<10&&(l+="0"),l+=r,c>=0&&c<10&&(l+="0"),l+=c,this.pcView?(l="Computadoras"+l,t=B.a.utils.json_to_sheet([],{header:this.pcHeads})):(t=B.a.utils.json_to_sheet([],{header:this.printerHeads}),l="Impresoras"+l),B.a.utils.sheet_add_json(t,this.datosmios,{skipHeader:!0,origin:"A2"});var u=B.a.utils.book_new();return B.a.utils.book_append_sheet(u,t,this.seleccionado),l+=".xlsx",B.a.writeFile(u,l),JSON.parse(localStorage.isAdmin)},buscaValor:function(){this.seleccionado=document.getElementById("tipo").value,this.generaMisDatos()},buscaUbica:function(){this.seleccionadoUbica=document.getElementById("Ubica").value,this.generaMisDatos()},extraeInventario:function(){this.miNoInventario=document.getElementById("Inventario").value,this.generaMisDatos()},buscaUso:function(){this.seleccionadoUso=document.getElementById("Uso").value,this.generaMisDatos()},buscaProcesador:function(){this.seleccionadoProcesador=document.getElementById("Procesador").value,this.generaMisDatos()},buscaSisOper:function(){this.seleccionadoOS=document.getElementById("SisOper").value,this.generaMisDatos()}}},D=z,V=(o("a811"),Object(u["a"])(D,A,N,!1,null,"15aa8b6a",null)),H=V.exports,F=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{staticClass:"container mt-5"},[o("b-overlay",{attrs:{show:e.page,variant:"transparent",opacity:"1",blur:"5px","no-wrap":"","spinner-variant":"primary",rounded:"lg"}}),o("b-modal",{ref:"",attrs:{id:"session","hide-footer":"","hide-header":""}},[o("div",{staticClass:"d-block text-center"},[o("h3",[e._v("La sesión ha caducado")])]),o("b-button",{staticClass:"mt-3",attrs:{variant:"primary",block:""},on:{click:function(t){return e.$router.replace("/login")}}},[e._v("¡Llévame al login!")])],1),e.loading?o("div",{staticClass:"container text-center p-5"},[o("b-spinner",{staticClass:"m-4 p-5",attrs:{variant:"primary",label:"Spinning"}})],1):o("div",{staticClass:"d-flex flex-column"},[o("h1",{staticClass:"text-center"},[e._v("Agregar equipo")]),o("h4",{staticClass:"text-left container-fluid mt-4 pt-2 px-0"},[e._v(" Añadir equipos desde archivo excel ")]),o("div",{staticClass:"d-flex justify-content-start input-group mb-3"},[o("b-input-group-append",{staticClass:"py-2 sel-form-add"},[o("b-form-file",{attrs:{placeholder:"Seleccione un excel a cargar...","drop-placeholder":"Drop file here...","browse-text":"Seleccionar"},model:{value:e.file,callback:function(t){e.file=t},expression:"file"}}),o("div",{staticClass:"input-group-append"},[o("button",{staticClass:"btn btn-outline-secondary",attrs:{type:"button",id:"inputGroupFileAddon04"},on:{click:e.cargaMasiva}},[e._v(" Subir ")])])],1)],1),o("h3",{staticClass:"text-left mt-4"},[e._v("Datos generales:")]),o("form",{staticClass:"mb-5 form-add-user pl-0",attrs:{enctype:"multipart/form-data"}},[o("input",{directives:[{name:"model",rawName:"v-model.number",value:e.equipo.noInventario,expression:"equipo.noInventario",modifiers:{number:!0}}],staticClass:"pb-2 my-4",attrs:{type:"text",placeholder:"Número de inventario:"},domProps:{value:e.equipo.noInventario},on:{input:function(t){t.target.composing||e.$set(e.equipo,"noInventario",e._n(t.target.value))},blur:function(t){return e.$forceUpdate()}}}),o("input",{directives:[{name:"model",rawName:"v-model",value:e.equipo.noResguardo,expression:"equipo.noResguardo"}],staticClass:"pb-2 my-4",attrs:{type:"text",placeholder:"Número de resguardo:"},domProps:{value:e.equipo.noResguardo},on:{input:function(t){t.target.composing||e.$set(e.equipo,"noResguardo",t.target.value)}}}),o("b-select",{staticClass:"py-2 my-4 sel-form-add",attrs:{options:e.respuesta.unidades,"value-field":"idUnidadResponsable","text-field":"uResponsable"},scopedSlots:e._u([{key:"first",fn:function(){return[o("b-select-option",{attrs:{value:null,disabled:""}},[e._v("Unidad Responsable:")])]},proxy:!0}]),model:{value:e.equipo.idUnidadResponsable,callback:function(t){e.$set(e.equipo,"idUnidadResponsable",t)},expression:"equipo.idUnidadResponsable"}}),o("b-select",{staticClass:"py-2 my-4 sel-form-add",attrs:{options:e.respuesta.ubicaciones,"value-field":"idUbicacion","text-field":"ubicacion"},scopedSlots:e._u([{key:"first",fn:function(){return[o("b-select-option",{attrs:{value:null,disabled:""}},[e._v("Ubicación:")])]},proxy:!0}]),model:{value:e.equipo.idUbicacion,callback:function(t){e.$set(e.equipo,"idUbicacion",t)},expression:"equipo.idUbicacion"}}),o("b-select",{staticClass:"py-2 my-4 sel-form-add",attrs:{options:e.respuesta.usos,"value-field":"idUso","text-field":"uso"},scopedSlots:e._u([{key:"first",fn:function(){return[o("b-select-option",{attrs:{value:null,disabled:""}},[e._v("Uso:")])]},proxy:!0}]),model:{value:e.equipo.idUso,callback:function(t){e.$set(e.equipo,"idUso",t)},expression:"equipo.idUso"}})],1),o("div",[o("h3",[e._v("Equipo:")]),o("form",{staticClass:"mb-5 form-add-user pl-0",attrs:{enctype:"multipart/form-data"}},[o("b-select",{staticClass:"py-2 my-4 sel-form-add",attrs:{options:e.respuesta.activosFijos,"value-field":"idActivoFijo","text-field":"activoFijo"},scopedSlots:e._u([{key:"first",fn:function(){return[o("b-select-option",{attrs:{value:null,disabled:""}},[e._v("Tipo de equipo:")])]},proxy:!0}]),model:{value:e.equipo.idActivoFijo,callback:function(t){e.$set(e.equipo,"idActivoFijo",t)},expression:"equipo.idActivoFijo"}}),o("input",{directives:[{name:"model",rawName:"v-model",value:e.equipo.modelo,expression:"equipo.modelo"}],staticClass:"pb-2 my-4",attrs:{type:"text",placeholder:"Modelo:"},domProps:{value:e.equipo.modelo},on:{input:function(t){t.target.composing||e.$set(e.equipo,"modelo",t.target.value)}}}),o("b-select",{staticClass:"py-2 my-4 sel-form-add",attrs:{options:e.respuesta.marcas,"value-field":"idMarca","text-field":"marca"},scopedSlots:e._u([{key:"first",fn:function(){return[o("b-select-option",{attrs:{value:null,disable:""}},[e._v("Marca:")])]},proxy:!0}]),model:{value:e.equipo.idMarca,callback:function(t){e.$set(e.equipo,"idMarca",t)},expression:"equipo.idMarca"}}),o("input",{directives:[{name:"model",rawName:"v-model",value:e.equipo.noSerie,expression:"equipo.noSerie"}],staticClass:"pb-2 my-4",attrs:{type:"text",placeholder:"Número de serie:"},domProps:{value:e.equipo.noSerie},on:{input:function(t){t.target.composing||e.$set(e.equipo,"noSerie",t.target.value)}}}),o("input",{directives:[{name:"model",rawName:"v-model",value:e.equipo.procesador,expression:"equipo.procesador"}],staticClass:"pb-2 my-4",attrs:{type:"text",placeholder:"Procesador:"},domProps:{value:e.equipo.procesador},on:{input:function(t){t.target.composing||e.$set(e.equipo,"procesador",t.target.value)}}}),o("input",{directives:[{name:"model",rawName:"v-model",value:e.equipo.vProcesador,expression:"equipo.vProcesador"}],staticClass:"pb-2 my-4",attrs:{type:"text",placeholder:"Velocidad del procesador en MHz:"},domProps:{value:e.equipo.vProcesador},on:{input:function(t){t.target.composing||e.$set(e.equipo,"vProcesador",t.target.value)}}}),o("input",{directives:[{name:"model",rawName:"v-model",value:e.equipo.hdd,expression:"equipo.hdd"}],staticClass:"pb-2 my-4",attrs:{type:"text",placeholder:"Memoria ROM en GB:"},domProps:{value:e.equipo.hdd},on:{input:function(t){t.target.composing||e.$set(e.equipo,"hdd",t.target.value)}}}),o("input",{directives:[{name:"model",rawName:"v-model",value:e.equipo.memoriasz,expression:"equipo.memoriasz"}],staticClass:"pb-2 my-4",attrs:{type:"text",placeholder:"Memoria RAM en MB:"},domProps:{value:e.equipo.memoriasz},on:{input:function(t){t.target.composing||e.$set(e.equipo,"memoriasz",t.target.value)}}}),o("input",{directives:[{name:"model",rawName:"v-model",value:e.equipo.memoria,expression:"equipo.memoria"}],staticClass:"pb-2 my-4",attrs:{type:"text",placeholder:"Tipo de memoria:"},domProps:{value:e.equipo.memoria},on:{input:function(t){t.target.composing||e.$set(e.equipo,"memoria",t.target.value)}}}),o("input",{directives:[{name:"model",rawName:"v-model",value:e.equipo.vMemoria,expression:"equipo.vMemoria"}],staticClass:"pb-2 my-4",attrs:{type:"text",placeholder:"Velocidad de memoria en MHz:"},domProps:{value:e.equipo.vMemoria},on:{input:function(t){t.target.composing||e.$set(e.equipo,"vMemoria",t.target.value)}}}),o("input",{directives:[{name:"model",rawName:"v-model",value:e.equipo.graficos,expression:"equipo.graficos"}],staticClass:"pb-2 my-4",attrs:{type:"text",placeholder:"Gráficos:"},domProps:{value:e.equipo.graficos},on:{input:function(t){t.target.composing||e.$set(e.equipo,"graficos",t.target.value)}}}),o("b-select",{staticClass:"py-2 my-4 sel-form-add",attrs:{options:e.respuesta.distros,"value-field":"idOS","text-field":"osname"},scopedSlots:e._u([{key:"first",fn:function(){return[o("b-select-option",{attrs:{value:null,disabled:""}},[e._v("Sistema Operativo:")])]},proxy:!0}]),model:{value:e.equipo.idOS,callback:function(t){e.$set(e.equipo,"idOS",t)},expression:"equipo.idOS"}})],1)]),o("div",{},[o("button",{staticClass:"btn btn-lg btn-primary mr-4",on:{click:function(t){return e.$router.push("./user")}}},[e._v(" Regresar ")]),o("button",{staticClass:"btn btn-lg btn-success",on:{click:function(t){return t.preventDefault(),e.addEquip()}}},[e._v(" Añadir ")])])]),e._m(0)],1)},L=[function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{staticClass:"container-fluid px-0",staticStyle:{"margin-top":"200px",left:"0px",position:"absolute"}},[o("footer",{staticClass:"text-center",staticStyle:{left:"0px"},attrs:{id:"footer"}},[o("div",{staticClass:"separador"}),o("div",{staticClass:"contenedor-footer p-3"},[o("div",{staticClass:"text-white mt-3",staticStyle:{"font-size":"11px"}},[o("p",[e._v(" Hecho en México, todos los derechos reservados 2020. "),o("br"),e._v(" Esta página puede ser reproducida con fines no lucrativos, siempre y cuando no se mutile, se cite la fuente "),o("br"),e._v(" completa y su dirección electrónica. De otra forma, requiere permiso previo por escrito de la institución. ")])])])])])}],G=(o("4160"),o("b64b"),o("159b"),o("3d20")),J=o.n(G),Y={data:function(){return{loading:null,file:null,page:!1,equipo:{noInventario:null,noResguardo:null,idUnidadResponsable:null,idUbicacion:null,idUso:null,idActivoFijo:null,modelo:null,idMarca:null,noSerie:null,procesador:null,vProcesador:null,hdd:null,idOS:null,memoriasz:null,memoria:null,vMemoria:null,graficos:null},respuesta:[]}},created:function(){this.getAll()},methods:{addEquip:function(){var e=this,t=this.equipo;J.a.fire({title:"¿Está seguro de querer añadir este equipo?",icon:"warning",showCancelButton:!0,confirmButtonColor:"#3085d6",cancelButtonColor:"#d33",confirmButtonText:"Sí, estoy seguro",cancelButtonText:"Cancelar"}).then((function(o){o.value&&M.a.post("".concat($.a.api,"/api/AddEquip"),t,{headers:{token:localStorage.token}}).then((function(){J.a.fire({title:"¡Hecho!",text:"Equipo agregado correctamente.",icon:"success"}),Object.keys(e.equipo).forEach((function(t){return e.equipo[t]=null}))})).catch((function(t){409===t.response.status?(localStorage.clear(),e.$bvModal.show("session")):J.a.fire({title:"¡Error!",text:"No se pudo agregar el equipo al inventario.",icon:"error"})}))}))},getAll:function(){var e=this;this.loading=!0,M.a.get("".concat($.a.api,"/api/addEquip"),{headers:{token:localStorage.token}}).then((function(t){e.respuesta=t.data,e.loading=!1})).catch((function(t){409===t.response.status&&(localStorage.clear(),e.$bvModal.show("session"))}))},cargaMasiva:function(){var e=this;if(!this.file)return J.a.fire({title:"Primero seleccione un archivo.",icon:"warning",confirmButtonText:"Aceptar"});J.a.fire({title:"¿Está seguro de querer subir nuevos equipos?",icon:"warning",showCancelButton:!0,confirmButtonColor:"#3085d6",cancelButtonColor:"#d33",confirmButtonText:"Aceptar",cancelButtonText:"Cancelar"}).then((function(t){if(t.value){e.page=!0;var o=new FormData;o.append("equipos",e.file),M.a.post("".concat($.a.api,"/upload/equips"),o,{headers:{"Content-Type":"multipart/form-data",token:window.localStorage.getItem("token")}}).then((function(){e.page=!1,J.a.fire({title:"Se cargaron los equipos correctamente",icon:"success",confirmButtonText:"Aceptar"})})).catch((function(t){e.page=!1,t.response&&500===t.response.status&&J.a.fire({title:"Hubo un error al subir los equipos",icon:"warning",confirmButtonText:"Aceptar"})}))}}))}}},K=Y,Q=(o("11a3"),Object(u["a"])(K,F,L,!1,null,"dcace4c2",null)),W=Q.exports,X=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{staticClass:"container mt-5 justify-content-center"},[o("b-overlay",{attrs:{show:e.page,variant:"transparent",opacity:"1",blur:"5px","no-wrap":"","spinner-variant":"primary",rounded:"lg"}}),o("b-modal",{ref:"",attrs:{id:"session","hide-footer":"","hide-header":""}},[o("div",{staticClass:"d-block text-center"},[o("h3",[e._v("La sesión ha caducado")])]),o("b-button",{staticClass:"mt-3",attrs:{variant:"primary",block:""},on:{click:function(t){return e.$router.replace("/login")}}},[e._v("¡Llévame al login!")])],1),e.loading?o("div",{staticClass:"container text-center p-5"},[o("b-spinner",{staticClass:"m-4 p-5",attrs:{variant:"primary",label:"Spinning"}})],1):o("div",{staticClass:"d-flex flex-column"},[o("h1",{staticClass:"text-center"},[e._v("Agregar impresora")]),o("h4",{staticClass:"text-left container-fluid mt-4 pt-2 px-0"},[e._v(" Añadir impresoras desde archivo excel ")]),o("div",{staticClass:"d-flex justify-content-start input-group mb-3"},[o("b-input-group-append",{staticClass:"py-2 sel-form-add"},[o("b-form-file",{attrs:{placeholder:"Seleccione un excel a cargar...","drop-placeholder":"Drop file here...","browse-text":"Seleccionar"},model:{value:e.file,callback:function(t){e.file=t},expression:"file"}}),o("div",{staticClass:"input-group-append"},[o("button",{staticClass:"btn btn-outline-secondary",attrs:{type:"button",id:"inputGroupFileAddon04"},on:{click:e.cargaMasiva}},[e._v(" Subir ")])])],1)],1),o("h3",{staticClass:"text-left mt-4"},[e._v("Datos generales:")]),o("form",{staticClass:"mb-5 form-add-user pl-0",attrs:{enctype:"multipart/form-data"}},[o("input",{directives:[{name:"model",rawName:"v-model",value:e.printer.noInventario,expression:"printer.noInventario"}],staticClass:"pb-2 my-4",attrs:{type:"text",placeholder:"Número de inventario:"},domProps:{value:e.printer.noInventario},on:{input:function(t){t.target.composing||e.$set(e.printer,"noInventario",t.target.value)}}}),o("input",{directives:[{name:"model",rawName:"v-model",value:e.printer.noResguardo,expression:"printer.noResguardo"}],staticClass:"pb-2 my-4",attrs:{type:"text",placeholder:"Número de resguardo:"},domProps:{value:e.printer.noResguardo},on:{input:function(t){t.target.composing||e.$set(e.printer,"noResguardo",t.target.value)}}}),o("b-select",{staticClass:"py-2 my-4 sel-form-add",attrs:{options:e.respuesta.unidades,"value-field":"idUnidadResponsable","text-field":"uResponsable"},scopedSlots:e._u([{key:"first",fn:function(){return[o("b-select-option",{attrs:{value:null,disabled:""}},[e._v("Unidad Responsable:")])]},proxy:!0}]),model:{value:e.printer.idUnidadResponsable,callback:function(t){e.$set(e.printer,"idUnidadResponsable",t)},expression:"printer.idUnidadResponsable"}}),o("b-select",{staticClass:"py-2 my-4 sel-form-add",attrs:{options:e.respuesta.ubicaciones,"value-field":"idUbicacion","text-field":"ubicacion"},scopedSlots:e._u([{key:"first",fn:function(){return[o("b-select-option",{attrs:{value:null,disabled:""}},[e._v("Ubicación:")])]},proxy:!0}]),model:{value:e.printer.idUbicacion,callback:function(t){e.$set(e.printer,"idUbicacion",t)},expression:"printer.idUbicacion"}}),o("b-select",{staticClass:"py-2 my-4 sel-form-add",attrs:{options:e.respuesta.usos,"value-field":"idUso","text-field":"uso"},scopedSlots:e._u([{key:"first",fn:function(){return[o("b-select-option",{attrs:{value:null,disabled:""}},[e._v("Uso:")])]},proxy:!0}]),model:{value:e.printer.idUso,callback:function(t){e.$set(e.printer,"idUso",t)},expression:"printer.idUso"}})],1),o("div",[o("h3",[e._v("Impresora")]),o("form",{staticClass:"mb-5 form-add-user pl-0",attrs:{enctype:"multipart/form-data"}},[o("b-select",{staticClass:"py-2 my-4 sel-form-add",attrs:{options:e.respuesta.tipos,"value-field":"idTipo","text-field":"tipo"},scopedSlots:e._u([{key:"first",fn:function(){return[o("b-select-option",{attrs:{value:null,disabled:""}},[e._v("Tipo de impresora:")])]},proxy:!0}]),model:{value:e.printer.idTipo,callback:function(t){e.$set(e.printer,"idTipo",t)},expression:"printer.idTipo"}}),o("b-select",{staticClass:"py-2 my-4 sel-form-add",attrs:{options:e.respuesta.marcas,"value-field":"idMarca","text-field":"marca"},scopedSlots:e._u([{key:"first",fn:function(){return[o("b-select-option",{attrs:{value:null,disabled:""}},[e._v("Marca:")])]},proxy:!0}]),model:{value:e.printer.idMarca,callback:function(t){e.$set(e.printer,"idMarca",t)},expression:"printer.idMarca"}}),o("input",{directives:[{name:"model",rawName:"v-model",value:e.printer.modelo,expression:"printer.modelo"}],staticClass:"pb-2 my-4",attrs:{type:"text",placeholder:"Modelo:"},domProps:{value:e.printer.modelo},on:{input:function(t){t.target.composing||e.$set(e.printer,"modelo",t.target.value)}}}),o("input",{directives:[{name:"model",rawName:"v-model",value:e.printer.noSerie,expression:"printer.noSerie"}],staticClass:"pb-2 my-4",attrs:{type:"text",placeholder:"Número de serie:"},domProps:{value:e.printer.noSerie},on:{input:function(t){t.target.composing||e.$set(e.printer,"noSerie",t.target.value)}}}),o("b-textarea",{staticClass:"pb-2 my-4 sel-form-add",attrs:{placeholder:"Descripcion adicional:",rows:"3","no-resize":""},model:{value:e.printer.descripcion,callback:function(t){e.$set(e.printer,"descripcion",t)},expression:"printer.descripcion"}})],1)]),o("div",{},[o("button",{staticClass:"btn btn-lg btn-primary mr-4",on:{click:function(t){return e.$router.push("./user")}}},[e._v(" Regresar ")]),o("button",{staticClass:"btn btn-lg btn-success",on:{click:function(t){return t.preventDefault(),e.addEquip()}}},[e._v(" Añadir ")])])]),e._m(0)],1)},Z=[function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{staticClass:"container-fluid px-0",staticStyle:{"margin-top":"200px",left:"0px",position:"absolute"}},[o("footer",{staticClass:"text-center",staticStyle:{left:"0px"},attrs:{id:"footer"}},[o("div",{staticClass:"separador"}),o("div",{staticClass:"contenedor-footer p-3"},[o("div",{staticClass:"text-white mt-3",staticStyle:{"font-size":"11px"}},[o("p",[e._v(" Hecho en México, todos los derechos reservados 2020. "),o("br"),e._v(" Esta página puede ser reproducida con fines no lucrativos, siempre y cuando no se mutile, se cite la fuente "),o("br"),e._v(" completa y su dirección electrónica. De otra forma, requiere permiso previo por escrito de la institución. ")])])])])])}],ee={data:function(){return{page:!1,file:null,loading:!0,printer:{noInventario:null,noResguardo:null,idUnidadResponsable:null,idUbicacion:null,idUso:null,idTipo:null,modelo:null,idMarca:null,noSerie:null,descripcion:null},respuesta:[]}},created:function(){this.getAll()},methods:{addEquip:function(){var e=this,t=this.printer;J.a.fire({title:"¿Está seguro de querer añadir esta impresora?",icon:"warning",showCancelButton:!0,confirmButtonColor:"#3085d6",cancelButtonColor:"#d33",confirmButtonText:"Sí, estoy seguro",cancelButtonText:"Cancelar"}).then((function(o){o.value&&M.a.post("".concat($.a.api,"/api/addPrinter"),t,{headers:{token:localStorage.token}}).then((function(){J.a.fire({title:"¡Hecho!",text:"Impresora agregada correctamente.",icon:"success"}),Object.keys(e.printer).forEach((function(t){return e.printer[t]=null}))})).catch((function(t){409===t.response.status?(localStorage.clear(),e.$bvModal.show("session")):J.a.fire({title:"¡Error!",text:"No se pudo agregar la impresora al inventario.",icon:"error"})}))}))},getAll:function(){var e=this;this.loading=!0,this.respuesta=[],M.a.get("".concat($.a.api,"/api/addPrinter"),{headers:{token:localStorage.token}}).then((function(t){e.respuesta=t.data,e.loading=!1})).catch((function(t){409===t.response.status&&(localStorage.clear(),e.$bvModal.show("session"))}))},cargaMasiva:function(){var e=this;if(!this.file)return J.a.fire({title:"Primero seleccione un archivo.",icon:"warning",confirmButtonText:"Aceptar"});J.a.fire({title:"¿Está seguro de querer subir nuevas impresoras?",icon:"warning",showCancelButton:!0,confirmButtonColor:"#3085d6",cancelButtonColor:"#d33",confirmButtonText:"Aceptar",cancelButtonText:"Cancelar"}).then((function(t){if(t.value){e.page=!0;var o=new FormData;o.append("printers",e.file),M.a.post("".concat($.a.api,"/upload/printers"),o,{headers:{"Content-Type":"multipart/form-data",token:window.localStorage.getItem("token")}}).then((function(){e.page=!1,J.a.fire({title:"Se cargaron los equipos correctamente",icon:"success",confirmButtonText:"Aceptar"})})).catch((function(t){e.page=!1,t.response&&500===t.response.status&&J.a.fire({title:"Hubo un error al subir las impresoras",icon:"warning",confirmButtonText:"Aceptar"})}))}}))}}},te=ee,oe=(o("8de2"),Object(u["a"])(te,X,Z,!1,null,"1fcb8031",null)),ae=oe.exports,ie=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{staticClass:"container mt-5"},[o("b-modal",{ref:"",attrs:{id:"session","hide-footer":"","hide-header":""}},[o("div",{staticClass:"d-block text-center"},[o("h3",[e._v("La sesión ha caducado")])]),o("b-button",{staticClass:"mt-3",attrs:{variant:"primary",block:""},on:{click:function(t){return e.$router.replace("/login")}}},[e._v("¡Llévame al login!")])],1),o("b-modal",{ref:"",attrs:{id:"status","hide-footer":"","hide-header":""}},[o("div",{staticClass:"d-block text-center"},[o("h3",[e._v("Error.")]),o("br"),o("h6",[e._v("Regrese y seleccione una fila para editar los campos.")])]),o("b-button",{staticClass:"mt-3",attrs:{variant:"primary",block:""},on:{click:function(t){return e.$router.replace("/user")}}},[e._v("Regresar al inicio.")])],1),e.loading?o("div",{staticClass:"container text-center p-5"},[o("b-spinner",{staticClass:"m-4 p-5",attrs:{variant:"primary",label:"Spinning"}})],1):o("div",{staticClass:"d-flex flex-column"},[o("h1",{staticClass:"text-center"},[e._v("Editar información del equipo")]),o("h3",{staticClass:"text-left mt-4 mb-5"},[e._v("Datos generales:")]),o("form",{staticClass:"mb-5 form-add-user pl-0",attrs:{enctype:"multipart/form-data"}},[o("h6",{staticClass:"mb-3"},[e._v(" Numero de inventario:")]),o("input",{directives:[{name:"model",rawName:"v-model",value:e.noInventarioAdd,expression:"noInventarioAdd"}],staticClass:"pb-2 mb-5",attrs:{type:"text",placeholder:"Introduzca el campo nuevo:"},domProps:{value:e.noInventarioAdd},on:{input:function(t){t.target.composing||(e.noInventarioAdd=t.target.value)}}}),o("h6",{staticClass:"mb-3"},[e._v(" Numero de resguardo:")]),o("input",{directives:[{name:"model",rawName:"v-model",value:e.equipo.noResguardo,expression:"equipo.noResguardo"}],staticClass:"pb-2 mb-5",attrs:{type:"text",placeholder:"Introduzca el campo nuevo:"},domProps:{value:e.equipo.noResguardo},on:{input:function(t){t.target.composing||e.$set(e.equipo,"noResguardo",t.target.value)}}}),o("h6",{staticClass:"mb-3"},[e._v(" Unidad responsable:")]),o("b-select",{staticClass:"py-2 mb-5 sel-form-add mt-0",attrs:{options:e.respuesta.unidades,"value-field":"idUnidadResponsable","text-field":"uResponsable"},model:{value:e.equipo.idUnidadResponsable,callback:function(t){e.$set(e.equipo,"idUnidadResponsable",t)},expression:"equipo.idUnidadResponsable"}}),o("h6",{staticClass:"mb-3"},[e._v(" Ubicación:")]),o("b-select",{staticClass:"py-2 mb-5 sel-form-add mt-0",attrs:{options:e.respuesta.ubicaciones,"value-field":"idUbicacion","text-field":"ubicacion"},model:{value:e.equipo.idUbicacion,callback:function(t){e.$set(e.equipo,"idUbicacion",t)},expression:"equipo.idUbicacion"}}),o("h6",{staticClass:"mb-3"},[e._v(" Uso:")]),o("b-select",{staticClass:"py-2 mb-3 sel-form-add mt-0",attrs:{options:e.respuesta.usos,"value-field":"idUso","text-field":"uso"},model:{value:e.equipo.idUso,callback:function(t){e.$set(e.equipo,"idUso",t)},expression:"equipo.idUso"}})],1),o("div",[o("h3",{staticClass:"mb-5"},[e._v("Equipo:")]),o("form",{staticClass:"mb-5 form-add-user pl-0",attrs:{enctype:"multipart/form-data"}},[o("h6",{staticClass:"mb-3"},[e._v(" Tipo de equipo:")]),o("b-select",{staticClass:"py-2 mb-5 sel-form-add mt-0",attrs:{options:e.respuesta.activosFijos,"value-field":"idActivoFijo","text-field":"activoFijo"},model:{value:e.equipo.idActivoFijo,callback:function(t){e.$set(e.equipo,"idActivoFijo",t)},expression:"equipo.idActivoFijo"}}),o("h6",{staticClass:"mb-3"},[e._v(" Modelo:")]),o("input",{directives:[{name:"model",rawName:"v-model",value:e.equipo.modelo,expression:"equipo.modelo"}],staticClass:"pb-2 mb-5",attrs:{type:"text",placeholder:"Introduzca el campo nuevo:"},domProps:{value:e.equipo.modelo},on:{input:function(t){t.target.composing||e.$set(e.equipo,"modelo",t.target.value)}}}),o("h6",{staticClass:"mb-3"},[e._v(" Marca:")]),o("b-select",{staticClass:"py-2 mb-5 sel-form-add mt-0",attrs:{options:e.respuesta.marcas,"value-field":"idMarca","text-field":"marca"},model:{value:e.equipo.idMarca,callback:function(t){e.$set(e.equipo,"idMarca",t)},expression:"equipo.idMarca"}}),o("h6",{staticClass:"mb-3"},[e._v(" Número de serie:")]),o("input",{directives:[{name:"model",rawName:"v-model",value:e.equipo.noSerie,expression:"equipo.noSerie"}],staticClass:"pb-2 mb-5",attrs:{type:"text",placeholder:"Introduzca el campo nuevo:"},domProps:{value:e.equipo.noSerie},on:{input:function(t){t.target.composing||e.$set(e.equipo,"noSerie",t.target.value)}}}),o("h6",{staticClass:"mb-3"},[e._v(" Procesador:")]),o("input",{directives:[{name:"model",rawName:"v-model",value:e.equipo.procesador,expression:"equipo.procesador"}],staticClass:"pb-2 mb-5",attrs:{type:"text",placeholder:"Introduzca el campo nuevo:"},domProps:{value:e.equipo.procesador},on:{input:function(t){t.target.composing||e.$set(e.equipo,"procesador",t.target.value)}}}),o("h6",{staticClass:"mb-3"},[e._v(" Velocidad del procesador en MHz:")]),o("input",{directives:[{name:"model",rawName:"v-model",value:e.equipo.vProcesador,expression:"equipo.vProcesador"}],staticClass:"pb-2 mb-5",attrs:{type:"text",placeholder:"Introduzca el campo nuevo:"},domProps:{value:e.equipo.vProcesador},on:{input:function(t){t.target.composing||e.$set(e.equipo,"vProcesador",t.target.value)}}}),o("h6",{staticClass:"mb-3"},[e._v(" Memoria ROM en GB:")]),o("input",{directives:[{name:"model",rawName:"v-model",value:e.equipo.hdd,expression:"equipo.hdd"}],staticClass:"pb-2 mb-5",attrs:{type:"text",placeholder:"Introduzca el campo nuevo:"},domProps:{value:e.equipo.hdd},on:{input:function(t){t.target.composing||e.$set(e.equipo,"hdd",t.target.value)}}}),o("h6",{staticClass:"mb-3"},[e._v(" Memoria RAM en MB:")]),o("input",{directives:[{name:"model",rawName:"v-model",value:e.equipo.memoriasz,expression:"equipo.memoriasz"}],staticClass:"pb-2 mb-5",attrs:{type:"text",placeholder:"Introduzca el campo nuevo:"},domProps:{value:e.equipo.memoriasz},on:{input:function(t){t.target.composing||e.$set(e.equipo,"memoriasz",t.target.value)}}}),o("h6",{staticClass:"mb-3"},[e._v(" Tipo de memoria:")]),o("input",{directives:[{name:"model",rawName:"v-model",value:e.equipo.memoria,expression:"equipo.memoria"}],staticClass:"pb-2 mb-5",attrs:{type:"text",placeholder:"Introduzca el campo nuevo:"},domProps:{value:e.equipo.memoria},on:{input:function(t){t.target.composing||e.$set(e.equipo,"memoria",t.target.value)}}}),o("h6",{staticClass:"mb-3"},[e._v(" Velocidad de memoria en MHz:")]),o("input",{directives:[{name:"model",rawName:"v-model",value:e.equipo.vMemoria,expression:"equipo.vMemoria"}],staticClass:"pb-2 mb-5",attrs:{type:"text",placeholder:"Introduzca el campo nuevo:"},domProps:{value:e.equipo.vMemoria},on:{input:function(t){t.target.composing||e.$set(e.equipo,"vMemoria",t.target.value)}}}),o("h6",{staticClass:"mb-3"},[e._v(" Gráficos:")]),o("input",{directives:[{name:"model",rawName:"v-model",value:e.equipo.graficos,expression:"equipo.graficos"}],staticClass:"pb-2 mb-5",attrs:{type:"text",placeholder:"Introduzca el campo nuevo:"},domProps:{value:e.equipo.graficos},on:{input:function(t){t.target.composing||e.$set(e.equipo,"graficos",t.target.value)}}}),o("h6",{staticClass:"mb-3"},[e._v(" Sistema operativo:")]),o("b-select",{staticClass:"py-2 mb-5 sel-form-add mt-0",attrs:{options:e.respuesta.distros,"value-field":"idOS","text-field":"osname"},model:{value:e.equipo.idOS,callback:function(t){e.$set(e.equipo,"idOS",t)},expression:"equipo.idOS"}})],1)]),o("div",{},[o("button",{staticClass:"btn btn-lg btn-primary",on:{click:function(t){return e.$router.push("./user")}}},[e._v(" Regresar ")]),o("button",{staticClass:"btn btn-lg btn-danger mx-3",on:{click:function(t){return t.preventDefault(),e.deleteEquip(e.equipo.noInventario)}}},[e._v(" Eliminar ")]),o("button",{staticClass:"btn btn-lg btn-success mt-3 mt-sm-0",on:{click:function(t){return t.preventDefault(),e.saveChanges()}}},[e._v(" Guardar cambios ")])])]),e._m(0)],1)},se=[function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{staticClass:"container-fluid px-0",staticStyle:{"margin-top":"200px",left:"0px",position:"absolute"}},[o("footer",{staticClass:"text-center",staticStyle:{left:"0px"},attrs:{id:"footer"}},[o("div",{staticClass:"separador"}),o("div",{staticClass:"contenedor-footer p-3"},[o("div",{staticClass:"text-white mt-3",staticStyle:{"font-size":"11px"}},[o("p",[e._v(" Hecho en México, todos los derechos reservados 2020. "),o("br"),e._v(" Esta página puede ser reproducida con fines no lucrativos, siempre y cuando no se mutile, se cite la fuente "),o("br"),e._v(" completa y su dirección electrónica. De otra forma, requiere permiso previo por escrito de la institución. ")])])])])])}],ne={data:function(){return{loading:!0,status:null,equipo:{},respuesta:{},noInventarioAdd:null}},created:function(){this.getEquipo()},methods:{getEquipo:function(){var e=this,t={noInventario:localStorage.noInventario};this.loading=!0,M.a.get("".concat($.a.api,"/api/updateEquip"),{params:t,headers:{token:localStorage.token}}).then((function(t){e.equipo=t.data.equipo[0],e.noInventarioAdd=e.equipo.noInventario,e.getAll(),e.loading=!1})).catch((function(t){409===t.response.status&&(localStorage.clear(),e.$bvModal.show("session")),500===t.response.status&&e.$bvModal.show("status")}))},getAll:function(){var e=this;this.loading=!0,M.a.get("".concat($.a.api,"/api/addEquip"),{headers:{token:localStorage.token}}).then((function(t){e.respuesta=t.data,e.loading=!1})).catch((function(t){409===t.response.status&&(localStorage.clear(),e.$bvModal.show("session"))}))},saveChanges:function(){var e=this;J.a.fire({title:"¿Está seguro de querer guardar los cambios?",icon:"warning",showCancelButton:!0,confirmButtonColor:"#3085d6",cancelButtonColor:"#d33",confirmButtonText:"Sí, estoy seguro",cancelButtonText:"Cancelar"}).then((function(t){t.value&&(e.equipo.noInventarioAdd=e.noInventarioAdd,M.a.put("".concat($.a.api,"/api/updateEquip"),e.equipo,{headers:{token:localStorage.token}}).then((function(){J.a.fire({title:"¡Hecho!",text:"Equipo actualizado con éxito.",icon:"success"})})).catch((function(t){409===t.response.status?(localStorage.clear(),e.$bvModal.show("session")):J.a.fire({title:"¡Error!",text:"No se pudo actualizar el equipo en el inventario.",icon:"error"})})))}))},deleteEquip:function(e){var t=this;J.a.fire({title:"¿Está seguro de querer eliminar este equipo?",icon:"warning",showCancelButton:!0,confirmButtonColor:"#3085d6",cancelButtonColor:"#d33",confirmButtonText:"Sí, estoy seguro",cancelButtonText:"Cancelar"}).then((function(o){o.value&&M()({baseURL:"".concat($.a.api,"/api/updateEquip"),method:"delete",headers:{token:localStorage.token},data:{noInventario:e}}).then((function(){J.a.fire({title:"¡Hecho!",text:"Equipo eliminado con éxito.",icon:"success"}),localStorage.removeItem("noInventario"),t.$router.replace("/user")})).catch((function(e){409===e.response.status?(localStorage.clear(),t.$bvModal.show("session")):J.a.fire({title:"¡Error!",text:"No se pudo eliminar el equipo en el inventario.",icon:"error"})}))}))}}},re=ne,ce=(o("f4a1"),Object(u["a"])(re,ie,se,!1,null,"0da991d1",null)),le=ce.exports,ue=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{staticClass:"container mt-5"},[o("b-modal",{ref:"",attrs:{id:"session","hide-footer":"","hide-header":""}},[o("div",{staticClass:"d-block text-center"},[o("h3",[e._v("La sesión ha caducado")])]),o("b-button",{staticClass:"mt-3",attrs:{variant:"primary",block:""},on:{click:function(t){return e.$router.replace("/login")}}},[e._v("¡Llévame al login!")])],1),o("b-modal",{ref:"",attrs:{id:"status","hide-footer":"","hide-header":""}},[o("div",{staticClass:"d-block text-center"},[o("h3",[e._v("Error.")]),o("br"),o("h6",[e._v("Regrese y seleccione una fila para editar los campos.")])]),o("b-button",{staticClass:"mt-3",attrs:{variant:"primary",block:""},on:{click:function(t){return e.$router.replace("/user")}}},[e._v("Regresar al inicio.")])],1),e.loading?o("div",{staticClass:"container text-center p-5"},[o("b-spinner",{staticClass:"m-4 p-5",attrs:{variant:"primary",label:"Spinning"}})],1):o("div",{staticClass:"d-flex flex-column"},[o("h1",{staticClass:"text-center"},[e._v("Editar información la impresora")]),o("h3",{staticClass:"text-left mt-4 mb-5"},[e._v("Datos generales:")]),o("form",{staticClass:"mb-5 form-add-user pl-0",attrs:{enctype:"multipart/form-data"}},[o("h6",[e._v("Número de inventario:")]),o("input",{directives:[{name:"model",rawName:"v-model",value:e.noInventarioAdd,expression:"noInventarioAdd"}],staticClass:"pb-2 mb-5",attrs:{type:"text",placeholder:"Introduzca el campo nuevo:"},domProps:{value:e.noInventarioAdd},on:{input:function(t){t.target.composing||(e.noInventarioAdd=t.target.value)}}}),o("h6",[e._v("Número de resguardo:")]),o("input",{directives:[{name:"model",rawName:"v-model",value:e.printer.noResguardo,expression:"printer.noResguardo"}],staticClass:"pb-2 mb-5",attrs:{type:"text",placeholder:"Introduzca el campo nuevo:"},domProps:{value:e.printer.noResguardo},on:{input:function(t){t.target.composing||e.$set(e.printer,"noResguardo",t.target.value)}}}),o("h6",{staticClass:"mb-3"},[e._v("Unidad Responsable:")]),o("b-select",{staticClass:"py-2 mb-5 sel-form-add mt-0",attrs:{options:e.respuesta.unidades,"value-field":"idUnidadResponsable","text-field":"uResponsable"},model:{value:e.printer.idUnidadResponsable,callback:function(t){e.$set(e.printer,"idUnidadResponsable",t)},expression:"printer.idUnidadResponsable"}}),o("h6",{staticClass:"mb-3"},[e._v("Ubicación:")]),o("b-select",{staticClass:"py-2 mb-5 sel-form-add mt-0",attrs:{options:e.respuesta.ubicaciones,"value-field":"idUbicacion","text-field":"ubicacion"},model:{value:e.printer.idUbicacion,callback:function(t){e.$set(e.printer,"idUbicacion",t)},expression:"printer.idUbicacion"}}),o("h6",{staticClass:"mb-3"},[e._v("Uso:")]),o("b-select",{staticClass:"py-2 mb-0 sel-form-add mt-0",attrs:{options:e.respuesta.usos,"value-field":"idUso","text-field":"uso"},model:{value:e.printer.idUso,callback:function(t){e.$set(e.printer,"idUso",t)},expression:"printer.idUso"}})],1),o("div",[o("h3",{staticClass:"mt-3"},[e._v("Impresora:")]),o("form",{staticClass:"my-5 form-add-user pl-0",attrs:{enctype:"multipart/form-data"}},[o("h6",{staticClass:"mb-3"},[e._v("Tipo de impresora:")]),o("b-select",{staticClass:"py-2 mb-5 sel-form-add mt-0",attrs:{options:e.respuesta.tipos,"value-field":"idTipo","text-field":"tipo"},model:{value:e.printer.idTipo,callback:function(t){e.$set(e.printer,"idTipo",t)},expression:"printer.idTipo"}}),o("h6",{staticClass:"mb-3"},[e._v("Marca:")]),o("b-select",{staticClass:"py-2 mb-5 sel-form-add mt-0",attrs:{options:e.respuesta.marcas,"value-field":"idMarca","text-field":"marca"},model:{value:e.printer.idMarca,callback:function(t){e.$set(e.printer,"idMarca",t)},expression:"printer.idMarca"}}),o("h6",[e._v("Modelo:")]),o("input",{directives:[{name:"model",rawName:"v-model",value:e.printer.modelo,expression:"printer.modelo"}],staticClass:"pb-2 mb-5",attrs:{type:"text",placeholder:"Introduzca el campo nuevo:"},domProps:{value:e.printer.modelo},on:{input:function(t){t.target.composing||e.$set(e.printer,"modelo",t.target.value)}}}),o("h6",[e._v("Número de serie:")]),o("input",{directives:[{name:"model",rawName:"v-model",value:e.printer.noSerie,expression:"printer.noSerie"}],staticClass:"pb-2 mb-5",attrs:{type:"text",placeholder:"Introduzca el campo nuevo:"},domProps:{value:e.printer.noSerie},on:{input:function(t){t.target.composing||e.$set(e.printer,"noSerie",t.target.value)}}}),o("h6",{staticClass:"mb-3"},[e._v("Descripcion adicional:")]),o("b-textarea",{staticClass:"pb-2 mb-5 sel-form-add",attrs:{placeholder:"Introduzca la descripción nueva:",rows:"3","no-resize":""},model:{value:e.printer.descripcion,callback:function(t){e.$set(e.printer,"descripcion",t)},expression:"printer.descripcion"}})],1)]),o("div",{},[o("button",{staticClass:"btn btn-lg btn-primary",on:{click:function(t){return e.$router.push("./user")}}},[e._v(" Regresar ")]),o("button",{staticClass:"btn btn-lg btn-danger mx-3",on:{click:function(t){return t.preventDefault(),e.deletePrinter(e.printer.noInventario)}}},[e._v(" Eliminar ")]),o("button",{staticClass:"btn btn-lg btn-success mt-3 mt-sm-0",on:{click:function(t){return t.preventDefault(),e.saveChanges()}}},[e._v(" Guardar cambios ")])])]),e._m(0)],1)},de=[function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{staticClass:"container-fluid px-0",staticStyle:{"margin-top":"200px",left:"0px",position:"absolute"}},[o("footer",{staticClass:"text-center",staticStyle:{left:"0px"},attrs:{id:"footer"}},[o("div",{staticClass:"separador"}),o("div",{staticClass:"contenedor-footer p-3"},[o("div",{staticClass:"text-white mt-3",staticStyle:{"font-size":"11px"}},[o("p",[e._v(" Hecho en México, todos los derechos reservados 2020. "),o("br"),e._v(" Esta página puede ser reproducida con fines no lucrativos, siempre y cuando no se mutile, se cite la fuente "),o("br"),e._v(" completa y su dirección electrónica. De otra forma, requiere permiso previo por escrito de la institución. ")])])])])])}],pe={data:function(){return{loading:!0,status:null,printer:{},respuesta:{},noInventarioAdd:null}},created:function(){this.getPrinter()},methods:{getPrinter:function(){var e=this,t={noInventario:localStorage.noInventario};this.loading=!0,M.a.get("".concat($.a.api,"/api/updatePrinter"),{params:t,headers:{token:localStorage.token}}).then((function(t){e.printer=t.data.printer[0],e.noInventarioAdd=e.printer.noInventario,e.getAll(),e.loading=!1})).catch((function(t){409===t.response.status&&(localStorage.clear(),e.$bvModal.show("session")),500===t.response.status&&e.$bvModal.show("status")}))},getAll:function(){var e=this;this.loading=!0,M.a.get("".concat($.a.api,"/api/addPrinter"),{headers:{token:localStorage.token}}).then((function(t){e.respuesta=t.data,e.loading=!1})).catch((function(t){409===t.response.status&&(localStorage.clear(),e.$bvModal.show("session"))}))},saveChanges:function(){var e=this;J.a.fire({title:"¿Está seguro de querer guardar los cambios?",icon:"warning",showCancelButton:!0,confirmButtonColor:"#3085d6",cancelButtonColor:"#d33",confirmButtonText:"Sí, estoy seguro",cancelButtonText:"Cancelar"}).then((function(t){t.value&&(e.printer.noInventarioAdd=e.noInventarioAdd,M.a.put("".concat($.a.api,"/api/updatePrinter"),e.printer,{headers:{token:localStorage.token}}).then((function(){J.a.fire({title:"¡Hecho!",text:"Impresora actualizada con éxito.",icon:"success"})})).catch((function(t){409===t.response.status?(localStorage.clear(),e.$bvModal.show("session")):J.a.fire({title:"¡Error!",text:"No se pudo actualizar la impresora en el inventario.",icon:"error"}),console.log(t)})))}))},deletePrinter:function(e){var t=this;J.a.fire({title:"¿Está seguro de querer eliminar esta impresora?",icon:"warning",showCancelButton:!0,confirmButtonColor:"#3085d6",cancelButtonColor:"#d33",confirmButtonText:"Sí, estoy seguro",cancelButtonText:"Cancelar"}).then((function(o){o.value&&M()({baseURL:"".concat($.a.api,"/api/updatePrinter"),method:"delete",headers:{token:localStorage.token},data:{noInventario:e}}).then((function(){J.a.fire({title:"¡Hecho!",text:"Impresora eliminada con éxito.",icon:"success"}),localStorage.removeItem("noInventario"),t.$router.replace("/user")})).catch((function(e){409===e.response.status?(localStorage.clear(),t.$bvModal.show("session")):J.a.fire({title:"¡Error!",text:"No se pudo actualizar la impresora en el inventario.",icon:"error"})}))}))}}},me=pe,ve=(o("434a"),Object(u["a"])(me,ue,de,!1,null,"340cefe6",null)),fe=ve.exports,he=[{path:"*",redirect:"login"},{path:"/",name:"root",redirect:"login"},{path:"/login",component:T,name:"login",meta:{isPublic:!0},beforeEnter:function(e,t,o){ge()?o("/user"):o()}},{path:"/user",component:H,name:"user",meta:{isPublic:!0},beforeEnter:function(e,t,o){ge()?o(!0):o(!1)}},{path:"/addEquip",component:W,name:"addEquip",meta:{perm:!0},beforeEnter:function(e,t,o){ge()?ge()&&!xe()?o(!1):o(!0):o("/login")}},{path:"/addPrinter",component:ae,name:"addPrinter",meta:{perm:!0},beforeEnter:function(e,t,o){ge()?ge()&&!xe()?o(!1):o(!0):o("/login")}},{path:"/updateEquip",component:le,name:"updateEquip",meta:{perm:!0},beforeEnter:function(e,t,o){ge()?ge()&&!xe()?o(!1):o(!0):o("/login")}},{path:"/updatePrinter",component:fe,name:"updatePrinter",meta:{perm:!0},beforeEnter:function(e,t,o){ge()?ge()&&!xe()?o(!1):o(!0):o("/login")}}];a["default"].use(q["a"]);var be=new q["a"]({routes:he}),ge=function(){return!!window.localStorage.token},xe=function(){return JSON.parse(window.localStorage.isAdmin)},Ce=be,_e=o("ecee"),ye=o("c074"),we=o("ad3d");_e["c"].add(ye["j"]),_e["c"].add(ye["i"]),_e["c"].add(ye["g"]),_e["c"].add(ye["c"]),_e["c"].add(ye["d"]),_e["c"].add(ye["b"]),_e["c"].add(ye["f"]),_e["c"].add(ye["a"]),_e["c"].add(ye["e"]),_e["c"].add(ye["h"]),a["default"].component("font-awesome-icon",we["a"]),a["default"].config.productionTip=!1,new a["default"]({render:function(e){return e(w)},router:Ce}).$mount("#app")},6026:function(e,t,o){},"8de2":function(e,t,o){"use strict";var a=o("6026"),i=o.n(a);i.a},"8e0d":function(e,t,o){},"97de":function(e,t,o){},"9af5":function(e,t,o){"use strict";var a=o("d962"),i=o.n(a);i.a},"9e3c":function(e,t,o){"use strict";var a=o("46f9"),i=o.n(a);i.a},a078:function(e,t){var o={api:"http://localhost:3000"};e.exports=o},a6f0:function(e,t,o){"use strict";var a=o("ce25"),i=o.n(a);i.a},a811:function(e,t,o){"use strict";var a=o("436b"),i=o.n(a);i.a},b468:function(e,t,o){"use strict";var a=o("cbd7"),i=o.n(a);i.a},bd96:function(e,t,o){e.exports=o.p+"img/Logo-UNAM.e51a83fb.png"},cbd7:function(e,t,o){},ce25:function(e,t,o){},d422:function(e,t,o){},d962:function(e,t,o){},f4a1:function(e,t,o){"use strict";var a=o("8e0d"),i=o.n(a);i.a},f83e:function(e,t,o){e.exports=o.p+"img/logo_fesa.a48ed338.png"}}); +//# sourceMappingURL=app.6213fbac.js.map \ No newline at end of file diff --git a/dist/js/app.6213fbac.js.map b/dist/js/app.6213fbac.js.map new file mode 100644 index 0000000..d2865f4 --- /dev/null +++ b/dist/js/app.6213fbac.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/views/AddEquip.vue?9572","webpack:///./src/views/UpdatePrinter.vue?0b37","webpack:///./src/App.vue?f98f","webpack:///./src/components/Header.vue?8138","webpack:///src/components/Header.vue","webpack:///./src/components/Header.vue?4c35","webpack:///./src/components/Header.vue","webpack:///./src/components/Footer.vue?b3a2","webpack:///src/components/Footer.vue","webpack:///./src/components/Footer.vue?a982","webpack:///./src/components/Footer.vue","webpack:///src/App.vue","webpack:///./src/App.vue?1160","webpack:///./src/App.vue","webpack:///./src/views/Login.vue?1677","webpack:///src/views/Login.vue","webpack:///./src/views/Login.vue?5da6","webpack:///./src/views/Login.vue","webpack:///./src/views/User.vue?b376","webpack:///src/views/User.vue","webpack:///./src/views/User.vue?6a5a","webpack:///./src/views/User.vue","webpack:///./src/views/AddEquip.vue?594d","webpack:///src/views/AddEquip.vue","webpack:///./src/views/AddEquip.vue?a85e","webpack:///./src/views/AddEquip.vue","webpack:///./src/views/AddPrinter.vue?168c","webpack:///src/views/AddPrinter.vue","webpack:///./src/views/AddPrinter.vue?4e46","webpack:///./src/views/AddPrinter.vue","webpack:///./src/views/UpdateEquip.vue?ab00","webpack:///src/views/UpdateEquip.vue","webpack:///./src/views/UpdateEquip.vue?da94","webpack:///./src/views/UpdateEquip.vue","webpack:///./src/views/UpdatePrinter.vue?0aa8","webpack:///src/views/UpdatePrinter.vue","webpack:///./src/views/UpdatePrinter.vue?9090","webpack:///./src/views/UpdatePrinter.vue","webpack:///./src/routes.js","webpack:///./src/main.js","webpack:///./src/views/AddPrinter.vue?04e8","webpack:///./src/components/Footer.vue?9eae","webpack:///./src/App.vue?5451","webpack:///./src/config/config.js","webpack:///./src/components/Header.vue?6854","webpack:///./src/views/User.vue?a540","webpack:///./src/views/Login.vue?8024","webpack:///./src/img/Logo-UNAM.png","webpack:///./src/views/UpdateEquip.vue?14ce","webpack:///./src/img/logo_fesa.png"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","_vm","this","_h","$createElement","_c","_self","attrs","staticRenderFns","_m","includes","$route","_e","staticClass","staticStyle","on","$event","$router","setCurrentUser","domProps","_s","isAdmin","_v","logout","component","components","directives","rawName","expression","type","indexOf","_k","keyCode","onLogin","target","composing","password","ref","replace","changeView","datosmios","respuesta","extraeInventario","buscaValor","_l","opcion1","idActivoFijo","activoFijo","pcView","opcion","tipo","buscaUbica","ubicacion","buscaProcesador","procesa","buscaSisOper","osname","buscaUso","uso","class","admin","pcHead","item","noInventario","watchRow","modelo","marca","noSerie","procesador","vProcesador","hdd","memoriasz","memoria","vMemoria","graficos","noResguardo","uResponsable","nombreResponsable","printerHead","descripcion","onDescarga","token","localToken","localStorage","clear","page","model","callback","$$v","file","cargaMasiva","equipo","modifiers","$set","_n","$forceUpdate","unidades","scopedSlots","_u","fn","proxy","ubicaciones","usos","activosFijos","marcas","distros","preventDefault","addEquip","loading","idUnidadResponsable","idUbicacion","idUso","idMarca","idOS","created","getAll","methods","title","icon","showCancelButton","confirmButtonColor","cancelButtonColor","confirmButtonText","cancelButtonText","headers","text","printer","tipos","idTipo","keys","noInventarioAdd","deleteEquip","saveChanges","status","getEquipo","params","baseURL","method","removeItem","deletePrinter","getPrinter","routes","path","redirect","Login","meta","isPublic","beforeEnter","to","from","next","isAuthenticated","User","AddEquip","perm","AddPrinter","UpdateEquip","UpdatePrinter","Vue","use","VueRouter","router","JSON","parse","library","add","faUserSecret","faUser","faLock","faExternalLinkAlt","faGraduationCap","faExclamationCircle","faKey","faEnvelope","faHome","faSearch","FontAwesomeIcon","config","productionTip","render","h","App","$mount","api"],"mappings":"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","file":"js/app.6213fbac.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([1,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddEquip.vue?vue&type=style&index=0&id=dcace4c2&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddEquip.vue?vue&type=style&index=0&id=dcace4c2&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdatePrinter.vue?vue&type=style&index=0&id=340cefe6&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdatePrinter.vue?vue&type=style&index=0&id=340cefe6&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('Header'),_c('router-view'),_c('Footer')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{attrs:{\"id\":\"iniLetter\"}},[_vm._m(0),(!['login'].includes(_vm.$route.name))?_c('div',{staticClass:\"header-f\"},[_c('div',{staticClass:\"container d-flex justify-content-between py-0 my-2\"},[_c('div',{staticClass:\"d-flex\"},[(!['login'].includes(_vm.$route.name))?_c('font-awesome-icon',{staticClass:\"my-auto text-white\",staticStyle:{\"cursor\":\"pointer\"},attrs:{\"icon\":\"home\"},on:{\"click\":function($event){return _vm.$router.push('user')}}}):_vm._e(),_c('div',{staticClass:\"d-flex align-items-center mx-4\"},[(!!_vm.setCurrentUser())?_c('font-awesome-icon',{staticClass:\"my-auto mr-2 text-white\",attrs:{\"icon\":\"user\"}}):_vm._e(),_c('span',{staticClass:\"text-white my-auto\",domProps:{\"textContent\":_vm._s(_vm.setCurrentUser())}})],1),(_vm.isAdmin())?_c('div',[_c('b-dropdown',{attrs:{\"id\":\"dropdown-left\",\"text\":\"Añadir \",\"variant\":\"info\"}},[_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.$router.push('addEquip')}}},[_vm._v(\"Equipo\")]),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.$router.push('addPrinter')}}},[_vm._v(\"Impresora\")])],1)],1):_vm._e()],1),_c('div',{staticClass:\"my-auto\"},[_c('span',{staticClass:\"btn btn-danger\",staticStyle:{\"font-family\":\"Arial:none\"},on:{\"click\":function($event){return _vm.logout()}}},[_vm._v(\" Cerrar sesión \")])])])]):_vm._e()])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container-fluid header-h\"},[_c('div',{staticClass:\"col-4 offset-1 d-inline-flex p-0 align-items-center\"},[_c('a',{attrs:{\"href\":\"https://www.unam.mx/\"}},[_c('img',{staticClass:\"img-fluid\",attrs:{\"src\":require(\"../img/Logo-UNAM.png\"),\"alt\":\"Logo UNAM\"}})])]),_c('div',{staticClass:\"col-4 offset-2 d-inline-flex justify-content-end p-0 align-items-center\"},[_c('a',{attrs:{\"href\":\"http://www.acatlan.unam.mx/\"}},[_c('img',{staticClass:\"img-fluid\",attrs:{\"src\":require(\"../img/logo_fesa.png\"),\"alt\":\"Logo Fes Acatlán\"}})])])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Header.vue?vue&type=template&id=268097cd&scoped=true&\"\nimport script from \"./Header.vue?vue&type=script&lang=js&\"\nexport * from \"./Header.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Header.vue?vue&type=style&index=0&id=268097cd&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"268097cd\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (['login', 'start'].includes(_vm.$route.name))?_c('footer',{attrs:{\"id\":\"footer\"}},[_c('div',{staticClass:\"separador\"}),_vm._m(0)]):_vm._e()}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"contenedor-footer p-3\"},[_c('div',{staticClass:\"cont-text-foo text-white text-center\"},[_c('p',[_vm._v(\" Hecho en México, todos los derechos reservados 2020. \"),_c('br'),_vm._v(\" Esta página puede ser reproducida con fines no lucrativos, siempre y cuando no se mutile, se cite la fuente \"),_c('br'),_vm._v(\" completa y su dirección electrónica. De otra forma, requiere permiso previo por escrito de la institución. \")])])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Footer.vue?vue&type=template&id=325152f0&scoped=true&\"\nimport script from \"./Footer.vue?vue&type=script&lang=js&\"\nexport * from \"./Footer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Footer.vue?vue&type=style&index=0&id=325152f0&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"325152f0\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=8fda2204&scoped=true&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=8fda2204&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8fda2204\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container cont-log-things\"},[_c('h1',{staticClass:\"serv-title text-center\"},[_vm._v(\"Sistema de censo\")]),_c('div',{staticClass:\"input-group mb-3 col-12 col-sm-9 col-md-8 col-lg-5 my-4 mx-auto\"},[_c('div',{staticClass:\"input-group-prepend px-auto gp-inp\"},[_c('span',{staticClass:\"input-group-text icon-login-form pl-3 pr-0\"},[_c('font-awesome-icon',{staticClass:\"user-icon-input\",attrs:{\"icon\":\"user\"}})],1)]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.name),expression:\"name\"}],staticClass:\"form-control input-login-form shadow-none py-4\",attrs:{\"type\":\"email\",\"placeholder\":\"Usuario\"},domProps:{\"value\":(_vm.name)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.onLogin()},\"input\":function($event){if($event.target.composing){ return; }_vm.name=$event.target.value}}})]),_c('div',{staticClass:\"input-group mb-3 col-12 col-sm-9 col-md-8 col-lg-5 my-auto mx-auto\"},[_c('div',{staticClass:\"input-group-prepend px-auto gp-inp\"},[_c('span',{staticClass:\"input-group-text icon-login-form pl-3 pr-0\"},[_c('font-awesome-icon',{staticClass:\"user-icon-input\",attrs:{\"icon\":\"lock\"}})],1)]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.password),expression:\"password\"}],staticClass:\"form-control input-login-form shadow-none py-4\",attrs:{\"type\":\"password\",\"placeholder\":\"Contraseña\"},domProps:{\"value\":(_vm.password)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.onLogin()},\"input\":function($event){if($event.target.composing){ return; }_vm.password=$event.target.value}}})]),_c('div',{staticClass:\"d-flex justify-content-center\"},[_c('button',{staticClass:\"btn btn-success btn-login mt-4\",on:{\"click\":function($event){return _vm.onLogin()}}},[_vm._v(\" Iniciar Sesión \")])]),_c('div',{staticClass:\"alert alert-danger mt-4 mx-auto text-center\",staticStyle:{\"display\":\"none\",\"width\":\"80%\"},attrs:{\"id\":\"alertErr\",\"role\":\"alert\"}},[_vm._v(\" Usuario o contraseña incorrectos. \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=009e7709&scoped=true&\"\nimport script from \"./Login.vue?vue&type=script&lang=js&\"\nexport * from \"./Login.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Login.vue?vue&type=style&index=0&id=009e7709&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"009e7709\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-modal',{ref:\"\",attrs:{\"id\":\"session\",\"hide-footer\":\"\",\"hide-header\":\"\"}},[_c('div',{staticClass:\"d-block text-center\"},[_c('h3',[_vm._v(\"La sesión ha caducado\")])]),_c('b-button',{staticClass:\"mt-3\",attrs:{\"variant\":\"primary\",\"block\":\"\"},on:{\"click\":function($event){return _vm.$router.replace('/login')}}},[_vm._v(\"¡Llévame al login!\")])],1),_c('div',{staticClass:\"container mt-5\"},[_vm._m(0),_c('button',{staticClass:\"btn btn-info mt-4\",on:{\"click\":function($event){return _vm.changeView()}}},[(_vm.pcView)?_c('span',[_vm._v(\"Ver impresoras\")]):_c('span',[_vm._v(\"Ver computadoras\")])]),_c('div',{staticClass:\"my-3\"},[_vm._v(\"Se observan \"+_vm._s(_vm.datosmios.length)+\" registros de un total de \"+_vm._s(_vm.respuesta.length))]),_c('div',{staticClass:\"row m-0 mt-1 mb-4\"},[_c('div',{staticClass:\"row d-flex flex-wrap\"},[_c('div',{staticClass:\"input-group pl-3 col-12 col-md-4\"},[_c('div',{staticClass:\"input-group-prepend\"},[_c('span',{staticClass:\"input-group-text\",attrs:{\"id\":\"basic-addon1\"}},[_c('font-awesome-icon',{staticClass:\"user-icon-input\",attrs:{\"icon\":\"search\"}})],1)]),_c('input',{staticClass:\"form-control input-login-form shadow-none\",attrs:{\"type\":\"text\",\"id\":\"Inventario\",\"placeholder\":\"Número de inventario ó de serie\"},on:{\"keyup\":function($event){return _vm.extraeInventario()}}})]),_c('div',{staticClass:\"d-flex flex-wrap my-1\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.pcView),expression:\"pcView\"}],staticClass:\"col-md-2 col-12 mt-3\"},[_c('select',{staticClass:\"form-control select-login-form shadow-none\",attrs:{\"name\":\"tipo\",\"id\":\"tipo\"},on:{\"change\":function($event){return _vm.buscaValor()}}},[_c('option',{attrs:{\"value\":\"Todos\",\"selected\":\"\"}},[_vm._v(\"Tipo\")]),_vm._l((_vm.tipo),function(opcion1){return _c('option',{key:opcion1.idActivoFijo,domProps:{\"value\":opcion1.activoFijo}},[_vm._v(_vm._s(opcion1.activoFijo))])})],2)]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.pcView),expression:\"!pcView\"}],staticClass:\"col-md-2 col-12 mt-3\"},[_c('select',{staticClass:\"form-control select-login-form shadow-none\",attrs:{\"name\":\"tipo\",\"id\":\"tipo\"},on:{\"change\":function($event){return _vm.buscaValor()}}},[_c('option',{attrs:{\"value\":\"Todos\",\"selected\":\"\"}},[_vm._v(\"Tipo\")]),_vm._l((_vm.tipoPrinters),function(opcion){return _c('option',{key:opcion.tipo,domProps:{\"value\":opcion.tipo}},[_vm._v(_vm._s(opcion.tipo))])})],2)]),_c('div',{staticClass:\"col-md-2 col-12 mt-3\"},[_c('select',{staticClass:\"form-control select-login-form shadow-none\",attrs:{\"name\":\"Ubica\",\"id\":\"Ubica\"},on:{\"change\":function($event){return _vm.buscaUbica()}}},[_c('option',{attrs:{\"value\":\"Todos\",\"selected\":\"\"}},[_vm._v(\"Ubicación\")]),_vm._l((_vm.Ubica),function(opcion){return _c('option',{key:opcion.ubicacion,domProps:{\"value\":opcion.ubicacion}},[_vm._v(_vm._s(opcion.ubicacion))])})],2)]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.pcView),expression:\"pcView\"}],staticClass:\"col-md-2 col-12 mt-3\"},[_c('select',{staticClass:\"form-control select-login-form shadow-none\",attrs:{\"name\":\"Procesador\",\"id\":\"Procesador\"},on:{\"change\":function($event){return _vm.buscaProcesador()}}},[_c('option',{attrs:{\"value\":\"Todos\",\"selected\":\"\"}},[_vm._v(\"Procesador\")]),_vm._l((_vm.procesa),function(opcion){return _c('option',{key:opcion.procesa,domProps:{\"value\":opcion.procesa}},[_vm._v(_vm._s(opcion.procesa))])})],2)]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.pcView),expression:\"pcView\"}],staticClass:\"col-md-2 col-12 mt-3\"},[_c('select',{staticClass:\"form-control select-login-form shadow-none\",attrs:{\"name\":\"SisOper\",\"id\":\"SisOper\"},on:{\"change\":function($event){return _vm.buscaSisOper()}}},[_c('option',{attrs:{\"value\":\"Todos\",\"selected\":\"\"}},[_vm._v(\"Sistema Operativo\")]),_vm._l((_vm.os),function(opcion){return _c('option',{key:opcion.osname,domProps:{\"value\":opcion.osname}},[_vm._v(_vm._s(opcion.osname))])})],2)]),_c('div',{staticClass:\"col-md-2 col-12 mt-3\"},[_c('select',{staticClass:\"form-control select-login-form shadow-none\",attrs:{\"name\":\"Uso\",\"id\":\"Uso\"},on:{\"change\":function($event){return _vm.buscaUso()}}},[_c('option',{attrs:{\"value\":\"Todos\",\"selected\":\"\"}},[_vm._v(\"Uso\")]),_vm._l((_vm.uso),function(opcion){return _c('option',{key:opcion.uso,domProps:{\"value\":opcion.uso}},[_vm._v(_vm._s(opcion.uso))])})],2)])])])]),(_vm.pcView)?_c('div',{staticClass:\"table-responsive table-fixed text-nowrap justify-content-md-center\",staticStyle:{\"max-height\":\"350px\"}},[_c('table',{class:['table', 'table-sm', 'text-center', { 'table-hover': _vm.admin(), 't-hov': _vm.admin() }],staticStyle:{\"font-size\":\"14px\"}},[_c('thead',{staticClass:\"thead-light text-uppercase\"},[_c('tr',_vm._l((_vm.pcHeads),function(pcHead){return _c('th',{key:pcHead,staticClass:\"sticky-top\"},[_vm._v(_vm._s(pcHead))])}),0)]),_vm._l((_vm.datosmios),function(item){return _c('tbody',{key:item.noInventario,staticClass:\"overflow-auto thov\"},[_c('tr',{on:{\"click\":function($event){return _vm.watchRow(item.noInventario)}}},[_c('td',{staticClass:\"text-primary\"},[_vm._v(_vm._s(item.noInventario))]),_c('td',[_vm._v(_vm._s(item.activoFijo))]),_c('td',[_vm._v(_vm._s(item.modelo))]),_c('td',[_vm._v(_vm._s(item.marca))]),_c('td',[_vm._v(_vm._s(item.noSerie))]),_c('td',[_vm._v(_vm._s(item.procesador))]),_c('td',[_vm._v(_vm._s(item.vProcesador))]),_c('td',[_vm._v(_vm._s(item.hdd))]),_c('td',[_vm._v(_vm._s(item.memoriasz))]),_c('td',[_vm._v(_vm._s(item.memoria))]),_c('td',[_vm._v(_vm._s(item.vMemoria))]),_c('td',[_vm._v(_vm._s(item.graficos))]),_c('td',[_vm._v(_vm._s(item.osname))]),_c('td',[_vm._v(_vm._s(item.noResguardo))]),_c('td',[_vm._v(_vm._s(item.uResponsable))]),_c('td',[_vm._v(_vm._s(item.nombreResponsable))]),_c('td',[_vm._v(_vm._s(item.ubicacion))]),_c('td',[_vm._v(_vm._s(item.uso))])])])})],2),_c('br'),_c('div',{staticClass:\"text-center\"},[(_vm.loading)?_c('b-spinner',{attrs:{\"variant\":\"primary\",\"label\":\"Spinning\"}}):_vm._e()],1)]):_c('div',{staticClass:\"table-responsive table-fixed text-nowrap justify-content-md-center\",attrs:{\"id\":\"myTableStyle\"}},[_c('table',{class:['table', 'table-sm', 'text-center', { 't-hov': _vm.admin(), 'table-hover': _vm.admin()}]},[_c('thead',{staticClass:\"thead-light text-uppercase\"},[_c('tr',_vm._l((_vm.printerHeads),function(printerHead){return _c('th',{key:printerHead,staticClass:\"sticky-top\"},[_vm._v(_vm._s(printerHead))])}),0)]),_vm._l((_vm.datosmios),function(item){return _c('tbody',{key:item.noInventario},[_c('tr',{on:{\"click\":function($event){return _vm.watchRow(item.noInventario)}}},[_c('td',{staticClass:\"text-primary\"},[_vm._v(_vm._s(item.noInventario))]),_c('td',[_vm._v(_vm._s(item.tipo))]),_c('td',[_vm._v(_vm._s(item.modelo))]),_c('td',[_vm._v(_vm._s(item.marca))]),_c('td',[_vm._v(_vm._s(item.noSerie))]),_c('td',[_vm._v(_vm._s(item.descripcion))]),_c('td',[_vm._v(_vm._s(item.noResguardo))]),_c('td',[_vm._v(_vm._s(item.uResponsable))]),_c('td',[_vm._v(_vm._s(item.nombreResponsable))]),_c('td',[_vm._v(_vm._s(item.ubicacion))]),_c('td',[_vm._v(_vm._s(item.uso))])])])})],2),_c('br'),_c('div',{staticClass:\"text-center\"},[(_vm.loading)?_c('b-spinner',{attrs:{\"variant\":\"primary\",\"label\":\"Spinning\"}}):_vm._e()],1)]),_c('button',{staticClass:\"btn btn-lg btn-success mt-3\",on:{\"click\":function($event){return _vm.onDescarga(_vm.respuesta)}}},[_vm._v(\"Descargar \")])]),_vm._m(1)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"justify-content-center d-flex\"},[_c('h1',{staticClass:\"justify-content-center\"},[_vm._v(\"Sistema de censo\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container-fluid px-0\",staticStyle:{\"margin-top\":\"200px\",\"left\":\"0px\",\"position\":\"absolute\"}},[_c('footer',{staticClass:\"text-center\",staticStyle:{\"left\":\"0px\"},attrs:{\"id\":\"footer\"}},[_c('div',{staticClass:\"separador\"}),_c('div',{staticClass:\"contenedor-footer p-3\"},[_c('div',{staticClass:\"text-white mt-3\",staticStyle:{\"font-size\":\"11px\"}},[_c('p',[_vm._v(\" Hecho en México, todos los derechos reservados 2020. \"),_c('br'),_vm._v(\" Esta página puede ser reproducida con fines no lucrativos, siempre y cuando no se mutile, se cite la fuente \"),_c('br'),_vm._v(\" completa y su dirección electrónica. De otra forma, requiere permiso previo por escrito de la institución. \")])])])])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./User.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./User.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./User.vue?vue&type=template&id=15aa8b6a&scoped=true&\"\nimport script from \"./User.vue?vue&type=script&lang=js&\"\nexport * from \"./User.vue?vue&type=script&lang=js&\"\nimport style0 from \"./User.vue?vue&type=style&index=0&id=15aa8b6a&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"15aa8b6a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container mt-5\"},[_c('b-overlay',{attrs:{\"show\":_vm.page,\"variant\":\"transparent\",\"opacity\":\"1\",\"blur\":\"5px\",\"no-wrap\":\"\",\"spinner-variant\":\"primary\",\"rounded\":\"lg\"}}),_c('b-modal',{ref:\"\",attrs:{\"id\":\"session\",\"hide-footer\":\"\",\"hide-header\":\"\"}},[_c('div',{staticClass:\"d-block text-center\"},[_c('h3',[_vm._v(\"La sesión ha caducado\")])]),_c('b-button',{staticClass:\"mt-3\",attrs:{\"variant\":\"primary\",\"block\":\"\"},on:{\"click\":function($event){return _vm.$router.replace('/login')}}},[_vm._v(\"¡Llévame al login!\")])],1),(_vm.loading)?_c('div',{staticClass:\"container text-center p-5\"},[_c('b-spinner',{staticClass:\"m-4 p-5\",attrs:{\"variant\":\"primary\",\"label\":\"Spinning\"}})],1):_c('div',{staticClass:\"d-flex flex-column\"},[_c('h1',{staticClass:\"text-center\"},[_vm._v(\"Agregar equipo\")]),_c('h4',{staticClass:\"text-left container-fluid mt-4 pt-2 px-0\"},[_vm._v(\" Añadir equipos desde archivo excel \")]),_c('div',{staticClass:\"d-flex justify-content-start input-group mb-3\"},[_c('b-input-group-append',{staticClass:\"py-2 sel-form-add\"},[_c('b-form-file',{attrs:{\"placeholder\":\"Seleccione un excel a cargar...\",\"drop-placeholder\":\"Drop file here...\",\"browse-text\":\"Seleccionar\"},model:{value:(_vm.file),callback:function ($$v) {_vm.file=$$v},expression:\"file\"}}),_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-secondary\",attrs:{\"type\":\"button\",\"id\":\"inputGroupFileAddon04\"},on:{\"click\":_vm.cargaMasiva}},[_vm._v(\" Subir \")])])],1)],1),_c('h3',{staticClass:\"text-left mt-4\"},[_vm._v(\"Datos generales:\")]),_c('form',{staticClass:\"mb-5 form-add-user pl-0\",attrs:{\"enctype\":\"multipart/form-data\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.equipo.noInventario),expression:\"equipo.noInventario\",modifiers:{\"number\":true}}],staticClass:\"pb-2 my-4\",attrs:{\"type\":\"text\",\"placeholder\":\"Número de inventario:\"},domProps:{\"value\":(_vm.equipo.noInventario)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"noInventario\", _vm._n($event.target.value))},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.noResguardo),expression:\"equipo.noResguardo\"}],staticClass:\"pb-2 my-4\",attrs:{\"type\":\"text\",\"placeholder\":\"Número de resguardo:\"},domProps:{\"value\":(_vm.equipo.noResguardo)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"noResguardo\", $event.target.value)}}}),_c('b-select',{staticClass:\"py-2 my-4 sel-form-add\",attrs:{\"options\":_vm.respuesta.unidades,\"value-field\":\"idUnidadResponsable\",\"text-field\":\"uResponsable\"},scopedSlots:_vm._u([{key:\"first\",fn:function(){return [_c('b-select-option',{attrs:{\"value\":null,\"disabled\":\"\"}},[_vm._v(\"Unidad Responsable:\")])]},proxy:true}]),model:{value:(_vm.equipo.idUnidadResponsable),callback:function ($$v) {_vm.$set(_vm.equipo, \"idUnidadResponsable\", $$v)},expression:\"equipo.idUnidadResponsable\"}}),_c('b-select',{staticClass:\"py-2 my-4 sel-form-add\",attrs:{\"options\":_vm.respuesta.ubicaciones,\"value-field\":\"idUbicacion\",\"text-field\":\"ubicacion\"},scopedSlots:_vm._u([{key:\"first\",fn:function(){return [_c('b-select-option',{attrs:{\"value\":null,\"disabled\":\"\"}},[_vm._v(\"Ubicación:\")])]},proxy:true}]),model:{value:(_vm.equipo.idUbicacion),callback:function ($$v) {_vm.$set(_vm.equipo, \"idUbicacion\", $$v)},expression:\"equipo.idUbicacion\"}}),_c('b-select',{staticClass:\"py-2 my-4 sel-form-add\",attrs:{\"options\":_vm.respuesta.usos,\"value-field\":\"idUso\",\"text-field\":\"uso\"},scopedSlots:_vm._u([{key:\"first\",fn:function(){return [_c('b-select-option',{attrs:{\"value\":null,\"disabled\":\"\"}},[_vm._v(\"Uso:\")])]},proxy:true}]),model:{value:(_vm.equipo.idUso),callback:function ($$v) {_vm.$set(_vm.equipo, \"idUso\", $$v)},expression:\"equipo.idUso\"}})],1),_c('div',[_c('h3',[_vm._v(\"Equipo:\")]),_c('form',{staticClass:\"mb-5 form-add-user pl-0\",attrs:{\"enctype\":\"multipart/form-data\"}},[_c('b-select',{staticClass:\"py-2 my-4 sel-form-add\",attrs:{\"options\":_vm.respuesta.activosFijos,\"value-field\":\"idActivoFijo\",\"text-field\":\"activoFijo\"},scopedSlots:_vm._u([{key:\"first\",fn:function(){return [_c('b-select-option',{attrs:{\"value\":null,\"disabled\":\"\"}},[_vm._v(\"Tipo de equipo:\")])]},proxy:true}]),model:{value:(_vm.equipo.idActivoFijo),callback:function ($$v) {_vm.$set(_vm.equipo, \"idActivoFijo\", $$v)},expression:\"equipo.idActivoFijo\"}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.modelo),expression:\"equipo.modelo\"}],staticClass:\"pb-2 my-4\",attrs:{\"type\":\"text\",\"placeholder\":\"Modelo:\"},domProps:{\"value\":(_vm.equipo.modelo)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"modelo\", $event.target.value)}}}),_c('b-select',{staticClass:\"py-2 my-4 sel-form-add\",attrs:{\"options\":_vm.respuesta.marcas,\"value-field\":\"idMarca\",\"text-field\":\"marca\"},scopedSlots:_vm._u([{key:\"first\",fn:function(){return [_c('b-select-option',{attrs:{\"value\":null,\"disable\":\"\"}},[_vm._v(\"Marca:\")])]},proxy:true}]),model:{value:(_vm.equipo.idMarca),callback:function ($$v) {_vm.$set(_vm.equipo, \"idMarca\", $$v)},expression:\"equipo.idMarca\"}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.noSerie),expression:\"equipo.noSerie\"}],staticClass:\"pb-2 my-4\",attrs:{\"type\":\"text\",\"placeholder\":\"Número de serie:\"},domProps:{\"value\":(_vm.equipo.noSerie)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"noSerie\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.procesador),expression:\"equipo.procesador\"}],staticClass:\"pb-2 my-4\",attrs:{\"type\":\"text\",\"placeholder\":\"Procesador:\"},domProps:{\"value\":(_vm.equipo.procesador)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"procesador\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.vProcesador),expression:\"equipo.vProcesador\"}],staticClass:\"pb-2 my-4\",attrs:{\"type\":\"text\",\"placeholder\":\"Velocidad del procesador en MHz:\"},domProps:{\"value\":(_vm.equipo.vProcesador)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"vProcesador\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.hdd),expression:\"equipo.hdd\"}],staticClass:\"pb-2 my-4\",attrs:{\"type\":\"text\",\"placeholder\":\"Memoria ROM en GB:\"},domProps:{\"value\":(_vm.equipo.hdd)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"hdd\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.memoriasz),expression:\"equipo.memoriasz\"}],staticClass:\"pb-2 my-4\",attrs:{\"type\":\"text\",\"placeholder\":\"Memoria RAM en MB:\"},domProps:{\"value\":(_vm.equipo.memoriasz)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"memoriasz\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.memoria),expression:\"equipo.memoria\"}],staticClass:\"pb-2 my-4\",attrs:{\"type\":\"text\",\"placeholder\":\"Tipo de memoria:\"},domProps:{\"value\":(_vm.equipo.memoria)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"memoria\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.vMemoria),expression:\"equipo.vMemoria\"}],staticClass:\"pb-2 my-4\",attrs:{\"type\":\"text\",\"placeholder\":\"Velocidad de memoria en MHz:\"},domProps:{\"value\":(_vm.equipo.vMemoria)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"vMemoria\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.graficos),expression:\"equipo.graficos\"}],staticClass:\"pb-2 my-4\",attrs:{\"type\":\"text\",\"placeholder\":\"Gráficos:\"},domProps:{\"value\":(_vm.equipo.graficos)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"graficos\", $event.target.value)}}}),_c('b-select',{staticClass:\"py-2 my-4 sel-form-add\",attrs:{\"options\":_vm.respuesta.distros,\"value-field\":\"idOS\",\"text-field\":\"osname\"},scopedSlots:_vm._u([{key:\"first\",fn:function(){return [_c('b-select-option',{attrs:{\"value\":null,\"disabled\":\"\"}},[_vm._v(\"Sistema Operativo:\")])]},proxy:true}]),model:{value:(_vm.equipo.idOS),callback:function ($$v) {_vm.$set(_vm.equipo, \"idOS\", $$v)},expression:\"equipo.idOS\"}})],1)]),_c('div',{},[_c('button',{staticClass:\"btn btn-lg btn-primary mr-4\",on:{\"click\":function($event){return _vm.$router.push('./user')}}},[_vm._v(\" Regresar \")]),_c('button',{staticClass:\"btn btn-lg btn-success\",on:{\"click\":function($event){$event.preventDefault();return _vm.addEquip()}}},[_vm._v(\" Añadir \")])])]),_vm._m(0)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container-fluid px-0\",staticStyle:{\"margin-top\":\"200px\",\"left\":\"0px\",\"position\":\"absolute\"}},[_c('footer',{staticClass:\"text-center\",staticStyle:{\"left\":\"0px\"},attrs:{\"id\":\"footer\"}},[_c('div',{staticClass:\"separador\"}),_c('div',{staticClass:\"contenedor-footer p-3\"},[_c('div',{staticClass:\"text-white mt-3\",staticStyle:{\"font-size\":\"11px\"}},[_c('p',[_vm._v(\" Hecho en México, todos los derechos reservados 2020. \"),_c('br'),_vm._v(\" Esta página puede ser reproducida con fines no lucrativos, siempre y cuando no se mutile, se cite la fuente \"),_c('br'),_vm._v(\" completa y su dirección electrónica. De otra forma, requiere permiso previo por escrito de la institución. \")])])])])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddEquip.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddEquip.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AddEquip.vue?vue&type=template&id=dcace4c2&scoped=true&\"\nimport script from \"./AddEquip.vue?vue&type=script&lang=js&\"\nexport * from \"./AddEquip.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AddEquip.vue?vue&type=style&index=0&id=dcace4c2&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"dcace4c2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container mt-5 justify-content-center\"},[_c('b-overlay',{attrs:{\"show\":_vm.page,\"variant\":\"transparent\",\"opacity\":\"1\",\"blur\":\"5px\",\"no-wrap\":\"\",\"spinner-variant\":\"primary\",\"rounded\":\"lg\"}}),_c('b-modal',{ref:\"\",attrs:{\"id\":\"session\",\"hide-footer\":\"\",\"hide-header\":\"\"}},[_c('div',{staticClass:\"d-block text-center\"},[_c('h3',[_vm._v(\"La sesión ha caducado\")])]),_c('b-button',{staticClass:\"mt-3\",attrs:{\"variant\":\"primary\",\"block\":\"\"},on:{\"click\":function($event){return _vm.$router.replace('/login')}}},[_vm._v(\"¡Llévame al login!\")])],1),(_vm.loading)?_c('div',{staticClass:\"container text-center p-5\"},[_c('b-spinner',{staticClass:\"m-4 p-5\",attrs:{\"variant\":\"primary\",\"label\":\"Spinning\"}})],1):_c('div',{staticClass:\"d-flex flex-column\"},[_c('h1',{staticClass:\"text-center\"},[_vm._v(\"Agregar impresora\")]),_c('h4',{staticClass:\"text-left container-fluid mt-4 pt-2 px-0\"},[_vm._v(\" Añadir impresoras desde archivo excel \")]),_c('div',{staticClass:\"d-flex justify-content-start input-group mb-3\"},[_c('b-input-group-append',{staticClass:\"py-2 sel-form-add\"},[_c('b-form-file',{attrs:{\"placeholder\":\"Seleccione un excel a cargar...\",\"drop-placeholder\":\"Drop file here...\",\"browse-text\":\"Seleccionar\"},model:{value:(_vm.file),callback:function ($$v) {_vm.file=$$v},expression:\"file\"}}),_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-secondary\",attrs:{\"type\":\"button\",\"id\":\"inputGroupFileAddon04\"},on:{\"click\":_vm.cargaMasiva}},[_vm._v(\" Subir \")])])],1)],1),_c('h3',{staticClass:\"text-left mt-4\"},[_vm._v(\"Datos generales:\")]),_c('form',{staticClass:\"mb-5 form-add-user pl-0\",attrs:{\"enctype\":\"multipart/form-data\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.printer.noInventario),expression:\"printer.noInventario\"}],staticClass:\"pb-2 my-4\",attrs:{\"type\":\"text\",\"placeholder\":\"Número de inventario:\"},domProps:{\"value\":(_vm.printer.noInventario)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.printer, \"noInventario\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.printer.noResguardo),expression:\"printer.noResguardo\"}],staticClass:\"pb-2 my-4\",attrs:{\"type\":\"text\",\"placeholder\":\"Número de resguardo:\"},domProps:{\"value\":(_vm.printer.noResguardo)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.printer, \"noResguardo\", $event.target.value)}}}),_c('b-select',{staticClass:\"py-2 my-4 sel-form-add\",attrs:{\"options\":_vm.respuesta.unidades,\"value-field\":\"idUnidadResponsable\",\"text-field\":\"uResponsable\"},scopedSlots:_vm._u([{key:\"first\",fn:function(){return [_c('b-select-option',{attrs:{\"value\":null,\"disabled\":\"\"}},[_vm._v(\"Unidad Responsable:\")])]},proxy:true}]),model:{value:(_vm.printer.idUnidadResponsable),callback:function ($$v) {_vm.$set(_vm.printer, \"idUnidadResponsable\", $$v)},expression:\"printer.idUnidadResponsable\"}}),_c('b-select',{staticClass:\"py-2 my-4 sel-form-add\",attrs:{\"options\":_vm.respuesta.ubicaciones,\"value-field\":\"idUbicacion\",\"text-field\":\"ubicacion\"},scopedSlots:_vm._u([{key:\"first\",fn:function(){return [_c('b-select-option',{attrs:{\"value\":null,\"disabled\":\"\"}},[_vm._v(\"Ubicación:\")])]},proxy:true}]),model:{value:(_vm.printer.idUbicacion),callback:function ($$v) {_vm.$set(_vm.printer, \"idUbicacion\", $$v)},expression:\"printer.idUbicacion\"}}),_c('b-select',{staticClass:\"py-2 my-4 sel-form-add\",attrs:{\"options\":_vm.respuesta.usos,\"value-field\":\"idUso\",\"text-field\":\"uso\"},scopedSlots:_vm._u([{key:\"first\",fn:function(){return [_c('b-select-option',{attrs:{\"value\":null,\"disabled\":\"\"}},[_vm._v(\"Uso:\")])]},proxy:true}]),model:{value:(_vm.printer.idUso),callback:function ($$v) {_vm.$set(_vm.printer, \"idUso\", $$v)},expression:\"printer.idUso\"}})],1),_c('div',[_c('h3',[_vm._v(\"Impresora\")]),_c('form',{staticClass:\"mb-5 form-add-user pl-0\",attrs:{\"enctype\":\"multipart/form-data\"}},[_c('b-select',{staticClass:\"py-2 my-4 sel-form-add\",attrs:{\"options\":_vm.respuesta.tipos,\"value-field\":\"idTipo\",\"text-field\":\"tipo\"},scopedSlots:_vm._u([{key:\"first\",fn:function(){return [_c('b-select-option',{attrs:{\"value\":null,\"disabled\":\"\"}},[_vm._v(\"Tipo de impresora:\")])]},proxy:true}]),model:{value:(_vm.printer.idTipo),callback:function ($$v) {_vm.$set(_vm.printer, \"idTipo\", $$v)},expression:\"printer.idTipo\"}}),_c('b-select',{staticClass:\"py-2 my-4 sel-form-add\",attrs:{\"options\":_vm.respuesta.marcas,\"value-field\":\"idMarca\",\"text-field\":\"marca\"},scopedSlots:_vm._u([{key:\"first\",fn:function(){return [_c('b-select-option',{attrs:{\"value\":null,\"disabled\":\"\"}},[_vm._v(\"Marca:\")])]},proxy:true}]),model:{value:(_vm.printer.idMarca),callback:function ($$v) {_vm.$set(_vm.printer, \"idMarca\", $$v)},expression:\"printer.idMarca\"}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.printer.modelo),expression:\"printer.modelo\"}],staticClass:\"pb-2 my-4\",attrs:{\"type\":\"text\",\"placeholder\":\"Modelo:\"},domProps:{\"value\":(_vm.printer.modelo)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.printer, \"modelo\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.printer.noSerie),expression:\"printer.noSerie\"}],staticClass:\"pb-2 my-4\",attrs:{\"type\":\"text\",\"placeholder\":\"Número de serie:\"},domProps:{\"value\":(_vm.printer.noSerie)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.printer, \"noSerie\", $event.target.value)}}}),_c('b-textarea',{staticClass:\"pb-2 my-4 sel-form-add\",attrs:{\"placeholder\":\"Descripcion adicional:\",\"rows\":\"3\",\"no-resize\":\"\"},model:{value:(_vm.printer.descripcion),callback:function ($$v) {_vm.$set(_vm.printer, \"descripcion\", $$v)},expression:\"printer.descripcion\"}})],1)]),_c('div',{},[_c('button',{staticClass:\"btn btn-lg btn-primary mr-4\",on:{\"click\":function($event){return _vm.$router.push('./user')}}},[_vm._v(\" Regresar \")]),_c('button',{staticClass:\"btn btn-lg btn-success\",on:{\"click\":function($event){$event.preventDefault();return _vm.addEquip()}}},[_vm._v(\" Añadir \")])])]),_vm._m(0)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container-fluid px-0\",staticStyle:{\"margin-top\":\"200px\",\"left\":\"0px\",\"position\":\"absolute\"}},[_c('footer',{staticClass:\"text-center\",staticStyle:{\"left\":\"0px\"},attrs:{\"id\":\"footer\"}},[_c('div',{staticClass:\"separador\"}),_c('div',{staticClass:\"contenedor-footer p-3\"},[_c('div',{staticClass:\"text-white mt-3\",staticStyle:{\"font-size\":\"11px\"}},[_c('p',[_vm._v(\" Hecho en México, todos los derechos reservados 2020. \"),_c('br'),_vm._v(\" Esta página puede ser reproducida con fines no lucrativos, siempre y cuando no se mutile, se cite la fuente \"),_c('br'),_vm._v(\" completa y su dirección electrónica. De otra forma, requiere permiso previo por escrito de la institución. \")])])])])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddPrinter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddPrinter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AddPrinter.vue?vue&type=template&id=1fcb8031&scoped=true&\"\nimport script from \"./AddPrinter.vue?vue&type=script&lang=js&\"\nexport * from \"./AddPrinter.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AddPrinter.vue?vue&type=style&index=0&id=1fcb8031&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1fcb8031\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container mt-5\"},[_c('b-modal',{ref:\"\",attrs:{\"id\":\"session\",\"hide-footer\":\"\",\"hide-header\":\"\"}},[_c('div',{staticClass:\"d-block text-center\"},[_c('h3',[_vm._v(\"La sesión ha caducado\")])]),_c('b-button',{staticClass:\"mt-3\",attrs:{\"variant\":\"primary\",\"block\":\"\"},on:{\"click\":function($event){return _vm.$router.replace('/login')}}},[_vm._v(\"¡Llévame al login!\")])],1),_c('b-modal',{ref:\"\",attrs:{\"id\":\"status\",\"hide-footer\":\"\",\"hide-header\":\"\"}},[_c('div',{staticClass:\"d-block text-center\"},[_c('h3',[_vm._v(\"Error.\")]),_c('br'),_c('h6',[_vm._v(\"Regrese y seleccione una fila para editar los campos.\")])]),_c('b-button',{staticClass:\"mt-3\",attrs:{\"variant\":\"primary\",\"block\":\"\"},on:{\"click\":function($event){return _vm.$router.replace('/user')}}},[_vm._v(\"Regresar al inicio.\")])],1),(_vm.loading)?_c('div',{staticClass:\"container text-center p-5\"},[_c('b-spinner',{staticClass:\"m-4 p-5\",attrs:{\"variant\":\"primary\",\"label\":\"Spinning\"}})],1):_c('div',{staticClass:\"d-flex flex-column\"},[_c('h1',{staticClass:\"text-center\"},[_vm._v(\"Editar información del equipo\")]),_c('h3',{staticClass:\"text-left mt-4 mb-5\"},[_vm._v(\"Datos generales:\")]),_c('form',{staticClass:\"mb-5 form-add-user pl-0\",attrs:{\"enctype\":\"multipart/form-data\"}},[_c('h6',{staticClass:\"mb-3\"},[_vm._v(\" Numero de inventario:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.noInventarioAdd),expression:\"noInventarioAdd\"}],staticClass:\"pb-2 mb-5\",attrs:{\"type\":\"text\",\"placeholder\":\"Introduzca el campo nuevo:\"},domProps:{\"value\":(_vm.noInventarioAdd)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.noInventarioAdd=$event.target.value}}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\" Numero de resguardo:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.noResguardo),expression:\"equipo.noResguardo\"}],staticClass:\"pb-2 mb-5\",attrs:{\"type\":\"text\",\"placeholder\":\"Introduzca el campo nuevo:\"},domProps:{\"value\":(_vm.equipo.noResguardo)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"noResguardo\", $event.target.value)}}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\" Unidad responsable:\")]),_c('b-select',{staticClass:\"py-2 mb-5 sel-form-add mt-0\",attrs:{\"options\":_vm.respuesta.unidades,\"value-field\":\"idUnidadResponsable\",\"text-field\":\"uResponsable\"},model:{value:(_vm.equipo.idUnidadResponsable),callback:function ($$v) {_vm.$set(_vm.equipo, \"idUnidadResponsable\", $$v)},expression:\"equipo.idUnidadResponsable\"}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\" Ubicación:\")]),_c('b-select',{staticClass:\"py-2 mb-5 sel-form-add mt-0\",attrs:{\"options\":_vm.respuesta.ubicaciones,\"value-field\":\"idUbicacion\",\"text-field\":\"ubicacion\"},model:{value:(_vm.equipo.idUbicacion),callback:function ($$v) {_vm.$set(_vm.equipo, \"idUbicacion\", $$v)},expression:\"equipo.idUbicacion\"}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\" Uso:\")]),_c('b-select',{staticClass:\"py-2 mb-3 sel-form-add mt-0\",attrs:{\"options\":_vm.respuesta.usos,\"value-field\":\"idUso\",\"text-field\":\"uso\"},model:{value:(_vm.equipo.idUso),callback:function ($$v) {_vm.$set(_vm.equipo, \"idUso\", $$v)},expression:\"equipo.idUso\"}})],1),_c('div',[_c('h3',{staticClass:\"mb-5\"},[_vm._v(\"Equipo:\")]),_c('form',{staticClass:\"mb-5 form-add-user pl-0\",attrs:{\"enctype\":\"multipart/form-data\"}},[_c('h6',{staticClass:\"mb-3\"},[_vm._v(\" Tipo de equipo:\")]),_c('b-select',{staticClass:\"py-2 mb-5 sel-form-add mt-0\",attrs:{\"options\":_vm.respuesta.activosFijos,\"value-field\":\"idActivoFijo\",\"text-field\":\"activoFijo\"},model:{value:(_vm.equipo.idActivoFijo),callback:function ($$v) {_vm.$set(_vm.equipo, \"idActivoFijo\", $$v)},expression:\"equipo.idActivoFijo\"}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\" Modelo:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.modelo),expression:\"equipo.modelo\"}],staticClass:\"pb-2 mb-5\",attrs:{\"type\":\"text\",\"placeholder\":\"Introduzca el campo nuevo:\"},domProps:{\"value\":(_vm.equipo.modelo)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"modelo\", $event.target.value)}}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\" Marca:\")]),_c('b-select',{staticClass:\"py-2 mb-5 sel-form-add mt-0\",attrs:{\"options\":_vm.respuesta.marcas,\"value-field\":\"idMarca\",\"text-field\":\"marca\"},model:{value:(_vm.equipo.idMarca),callback:function ($$v) {_vm.$set(_vm.equipo, \"idMarca\", $$v)},expression:\"equipo.idMarca\"}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\" Número de serie:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.noSerie),expression:\"equipo.noSerie\"}],staticClass:\"pb-2 mb-5\",attrs:{\"type\":\"text\",\"placeholder\":\"Introduzca el campo nuevo:\"},domProps:{\"value\":(_vm.equipo.noSerie)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"noSerie\", $event.target.value)}}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\" Procesador:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.procesador),expression:\"equipo.procesador\"}],staticClass:\"pb-2 mb-5\",attrs:{\"type\":\"text\",\"placeholder\":\"Introduzca el campo nuevo:\"},domProps:{\"value\":(_vm.equipo.procesador)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"procesador\", $event.target.value)}}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\" Velocidad del procesador en MHz:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.vProcesador),expression:\"equipo.vProcesador\"}],staticClass:\"pb-2 mb-5\",attrs:{\"type\":\"text\",\"placeholder\":\"Introduzca el campo nuevo:\"},domProps:{\"value\":(_vm.equipo.vProcesador)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"vProcesador\", $event.target.value)}}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\" Memoria ROM en GB:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.hdd),expression:\"equipo.hdd\"}],staticClass:\"pb-2 mb-5\",attrs:{\"type\":\"text\",\"placeholder\":\"Introduzca el campo nuevo:\"},domProps:{\"value\":(_vm.equipo.hdd)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"hdd\", $event.target.value)}}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\" Memoria RAM en MB:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.memoriasz),expression:\"equipo.memoriasz\"}],staticClass:\"pb-2 mb-5\",attrs:{\"type\":\"text\",\"placeholder\":\"Introduzca el campo nuevo:\"},domProps:{\"value\":(_vm.equipo.memoriasz)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"memoriasz\", $event.target.value)}}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\" Tipo de memoria:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.memoria),expression:\"equipo.memoria\"}],staticClass:\"pb-2 mb-5\",attrs:{\"type\":\"text\",\"placeholder\":\"Introduzca el campo nuevo:\"},domProps:{\"value\":(_vm.equipo.memoria)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"memoria\", $event.target.value)}}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\" Velocidad de memoria en MHz:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.vMemoria),expression:\"equipo.vMemoria\"}],staticClass:\"pb-2 mb-5\",attrs:{\"type\":\"text\",\"placeholder\":\"Introduzca el campo nuevo:\"},domProps:{\"value\":(_vm.equipo.vMemoria)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"vMemoria\", $event.target.value)}}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\" Gráficos:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.graficos),expression:\"equipo.graficos\"}],staticClass:\"pb-2 mb-5\",attrs:{\"type\":\"text\",\"placeholder\":\"Introduzca el campo nuevo:\"},domProps:{\"value\":(_vm.equipo.graficos)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"graficos\", $event.target.value)}}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\" Sistema operativo:\")]),_c('b-select',{staticClass:\"py-2 mb-5 sel-form-add mt-0\",attrs:{\"options\":_vm.respuesta.distros,\"value-field\":\"idOS\",\"text-field\":\"osname\"},model:{value:(_vm.equipo.idOS),callback:function ($$v) {_vm.$set(_vm.equipo, \"idOS\", $$v)},expression:\"equipo.idOS\"}})],1)]),_c('div',{},[_c('button',{staticClass:\"btn btn-lg btn-primary\",on:{\"click\":function($event){return _vm.$router.push('./user')}}},[_vm._v(\" Regresar \")]),_c('button',{staticClass:\"btn btn-lg btn-danger mx-3\",on:{\"click\":function($event){$event.preventDefault();return _vm.deleteEquip(_vm.equipo.noInventario)}}},[_vm._v(\" Eliminar \")]),_c('button',{staticClass:\"btn btn-lg btn-success mt-3 mt-sm-0\",on:{\"click\":function($event){$event.preventDefault();return _vm.saveChanges()}}},[_vm._v(\" Guardar cambios \")])])]),_vm._m(0)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container-fluid px-0\",staticStyle:{\"margin-top\":\"200px\",\"left\":\"0px\",\"position\":\"absolute\"}},[_c('footer',{staticClass:\"text-center\",staticStyle:{\"left\":\"0px\"},attrs:{\"id\":\"footer\"}},[_c('div',{staticClass:\"separador\"}),_c('div',{staticClass:\"contenedor-footer p-3\"},[_c('div',{staticClass:\"text-white mt-3\",staticStyle:{\"font-size\":\"11px\"}},[_c('p',[_vm._v(\" Hecho en México, todos los derechos reservados 2020. \"),_c('br'),_vm._v(\" Esta página puede ser reproducida con fines no lucrativos, siempre y cuando no se mutile, se cite la fuente \"),_c('br'),_vm._v(\" completa y su dirección electrónica. De otra forma, requiere permiso previo por escrito de la institución. \")])])])])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdateEquip.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdateEquip.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UpdateEquip.vue?vue&type=template&id=0da991d1&scoped=true&\"\nimport script from \"./UpdateEquip.vue?vue&type=script&lang=js&\"\nexport * from \"./UpdateEquip.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UpdateEquip.vue?vue&type=style&index=0&id=0da991d1&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0da991d1\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container mt-5\"},[_c('b-modal',{ref:\"\",attrs:{\"id\":\"session\",\"hide-footer\":\"\",\"hide-header\":\"\"}},[_c('div',{staticClass:\"d-block text-center\"},[_c('h3',[_vm._v(\"La sesión ha caducado\")])]),_c('b-button',{staticClass:\"mt-3\",attrs:{\"variant\":\"primary\",\"block\":\"\"},on:{\"click\":function($event){return _vm.$router.replace('/login')}}},[_vm._v(\"¡Llévame al login!\")])],1),_c('b-modal',{ref:\"\",attrs:{\"id\":\"status\",\"hide-footer\":\"\",\"hide-header\":\"\"}},[_c('div',{staticClass:\"d-block text-center\"},[_c('h3',[_vm._v(\"Error.\")]),_c('br'),_c('h6',[_vm._v(\"Regrese y seleccione una fila para editar los campos.\")])]),_c('b-button',{staticClass:\"mt-3\",attrs:{\"variant\":\"primary\",\"block\":\"\"},on:{\"click\":function($event){return _vm.$router.replace('/user')}}},[_vm._v(\"Regresar al inicio.\")])],1),(_vm.loading)?_c('div',{staticClass:\"container text-center p-5\"},[_c('b-spinner',{staticClass:\"m-4 p-5\",attrs:{\"variant\":\"primary\",\"label\":\"Spinning\"}})],1):_c('div',{staticClass:\"d-flex flex-column\"},[_c('h1',{staticClass:\"text-center\"},[_vm._v(\"Editar información la impresora\")]),_c('h3',{staticClass:\"text-left mt-4 mb-5\"},[_vm._v(\"Datos generales:\")]),_c('form',{staticClass:\"mb-5 form-add-user pl-0\",attrs:{\"enctype\":\"multipart/form-data\"}},[_c('h6',[_vm._v(\"Número de inventario:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.noInventarioAdd),expression:\"noInventarioAdd\"}],staticClass:\"pb-2 mb-5\",attrs:{\"type\":\"text\",\"placeholder\":\"Introduzca el campo nuevo:\"},domProps:{\"value\":(_vm.noInventarioAdd)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.noInventarioAdd=$event.target.value}}}),_c('h6',[_vm._v(\"Número de resguardo:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.printer.noResguardo),expression:\"printer.noResguardo\"}],staticClass:\"pb-2 mb-5\",attrs:{\"type\":\"text\",\"placeholder\":\"Introduzca el campo nuevo:\"},domProps:{\"value\":(_vm.printer.noResguardo)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.printer, \"noResguardo\", $event.target.value)}}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\"Unidad Responsable:\")]),_c('b-select',{staticClass:\"py-2 mb-5 sel-form-add mt-0\",attrs:{\"options\":_vm.respuesta.unidades,\"value-field\":\"idUnidadResponsable\",\"text-field\":\"uResponsable\"},model:{value:(_vm.printer.idUnidadResponsable),callback:function ($$v) {_vm.$set(_vm.printer, \"idUnidadResponsable\", $$v)},expression:\"printer.idUnidadResponsable\"}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\"Ubicación:\")]),_c('b-select',{staticClass:\"py-2 mb-5 sel-form-add mt-0\",attrs:{\"options\":_vm.respuesta.ubicaciones,\"value-field\":\"idUbicacion\",\"text-field\":\"ubicacion\"},model:{value:(_vm.printer.idUbicacion),callback:function ($$v) {_vm.$set(_vm.printer, \"idUbicacion\", $$v)},expression:\"printer.idUbicacion\"}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\"Uso:\")]),_c('b-select',{staticClass:\"py-2 mb-0 sel-form-add mt-0\",attrs:{\"options\":_vm.respuesta.usos,\"value-field\":\"idUso\",\"text-field\":\"uso\"},model:{value:(_vm.printer.idUso),callback:function ($$v) {_vm.$set(_vm.printer, \"idUso\", $$v)},expression:\"printer.idUso\"}})],1),_c('div',[_c('h3',{staticClass:\"mt-3\"},[_vm._v(\"Impresora:\")]),_c('form',{staticClass:\"my-5 form-add-user pl-0\",attrs:{\"enctype\":\"multipart/form-data\"}},[_c('h6',{staticClass:\"mb-3\"},[_vm._v(\"Tipo de impresora:\")]),_c('b-select',{staticClass:\"py-2 mb-5 sel-form-add mt-0\",attrs:{\"options\":_vm.respuesta.tipos,\"value-field\":\"idTipo\",\"text-field\":\"tipo\"},model:{value:(_vm.printer.idTipo),callback:function ($$v) {_vm.$set(_vm.printer, \"idTipo\", $$v)},expression:\"printer.idTipo\"}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\"Marca:\")]),_c('b-select',{staticClass:\"py-2 mb-5 sel-form-add mt-0\",attrs:{\"options\":_vm.respuesta.marcas,\"value-field\":\"idMarca\",\"text-field\":\"marca\"},model:{value:(_vm.printer.idMarca),callback:function ($$v) {_vm.$set(_vm.printer, \"idMarca\", $$v)},expression:\"printer.idMarca\"}}),_c('h6',[_vm._v(\"Modelo:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.printer.modelo),expression:\"printer.modelo\"}],staticClass:\"pb-2 mb-5\",attrs:{\"type\":\"text\",\"placeholder\":\"Introduzca el campo nuevo:\"},domProps:{\"value\":(_vm.printer.modelo)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.printer, \"modelo\", $event.target.value)}}}),_c('h6',[_vm._v(\"Número de serie:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.printer.noSerie),expression:\"printer.noSerie\"}],staticClass:\"pb-2 mb-5\",attrs:{\"type\":\"text\",\"placeholder\":\"Introduzca el campo nuevo:\"},domProps:{\"value\":(_vm.printer.noSerie)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.printer, \"noSerie\", $event.target.value)}}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\"Descripcion adicional:\")]),_c('b-textarea',{staticClass:\"pb-2 mb-5 sel-form-add\",attrs:{\"placeholder\":\"Introduzca la descripción nueva:\",\"rows\":\"3\",\"no-resize\":\"\"},model:{value:(_vm.printer.descripcion),callback:function ($$v) {_vm.$set(_vm.printer, \"descripcion\", $$v)},expression:\"printer.descripcion\"}})],1)]),_c('div',{},[_c('button',{staticClass:\"btn btn-lg btn-primary\",on:{\"click\":function($event){return _vm.$router.push('./user')}}},[_vm._v(\" Regresar \")]),_c('button',{staticClass:\"btn btn-lg btn-danger mx-3\",on:{\"click\":function($event){$event.preventDefault();return _vm.deletePrinter(_vm.printer.noInventario)}}},[_vm._v(\" Eliminar \")]),_c('button',{staticClass:\"btn btn-lg btn-success mt-3 mt-sm-0\",on:{\"click\":function($event){$event.preventDefault();return _vm.saveChanges()}}},[_vm._v(\" Guardar cambios \")])])]),_vm._m(0)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container-fluid px-0\",staticStyle:{\"margin-top\":\"200px\",\"left\":\"0px\",\"position\":\"absolute\"}},[_c('footer',{staticClass:\"text-center\",staticStyle:{\"left\":\"0px\"},attrs:{\"id\":\"footer\"}},[_c('div',{staticClass:\"separador\"}),_c('div',{staticClass:\"contenedor-footer p-3\"},[_c('div',{staticClass:\"text-white mt-3\",staticStyle:{\"font-size\":\"11px\"}},[_c('p',[_vm._v(\" Hecho en México, todos los derechos reservados 2020. \"),_c('br'),_vm._v(\" Esta página puede ser reproducida con fines no lucrativos, siempre y cuando no se mutile, se cite la fuente \"),_c('br'),_vm._v(\" completa y su dirección electrónica. De otra forma, requiere permiso previo por escrito de la institución. \")])])])])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdatePrinter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdatePrinter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UpdatePrinter.vue?vue&type=template&id=340cefe6&scoped=true&\"\nimport script from \"./UpdatePrinter.vue?vue&type=script&lang=js&\"\nexport * from \"./UpdatePrinter.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UpdatePrinter.vue?vue&type=style&index=0&id=340cefe6&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"340cefe6\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport VueRouter from 'vue-router'\n\nimport Login from './views/Login.vue'\nimport User from './views/User.vue'\nimport AddEquip from './views/AddEquip.vue'\nimport AddPrinter from './views/AddPrinter.vue'\nimport UpdateEquip from './views/UpdateEquip.vue'\nimport UpdatePrinter from './views/UpdatePrinter.vue'\n\n\nconst routes = [{\n path: '*',\n redirect: 'login'\n },\n {\n path: '/',\n name: 'root',\n redirect: 'login'\n },\n {\n path: '/login',\n component: Login,\n name: 'login',\n meta: { isPublic: true },\n beforeEnter: (to, from, next) => {\n if (isAuthenticated())\n next('/user');\n else\n next();\n }\n },\n {\n path: '/user',\n component: User,\n name: 'user',\n meta: { isPublic: true },\n beforeEnter: (to, from, next) => {\n if (isAuthenticated())\n next(true);\n else\n next(false);\n }\n },\n {\n path: '/addEquip',\n component: AddEquip,\n name: 'addEquip',\n meta: { perm: true },\n beforeEnter: (to, from, next) => {\n if (!isAuthenticated())\n next('/login');\n else if (isAuthenticated() && !isAdmin())\n next(false)\n else\n next(true);\n }\n },\n {\n path: '/addPrinter',\n component: AddPrinter,\n name: 'addPrinter',\n meta: { perm: true },\n beforeEnter: (to, from, next) => {\n if (!isAuthenticated())\n next('/login');\n else if (isAuthenticated() && !isAdmin())\n next(false)\n else\n next(true);\n }\n },\n {\n path: '/updateEquip',\n component: UpdateEquip,\n name: 'updateEquip',\n meta: { perm: true },\n beforeEnter: (to, from, next) => {\n if (!isAuthenticated())\n next('/login');\n else if (isAuthenticated() && !isAdmin())\n next(false)\n else\n next(true);\n }\n },\n {\n path: '/updatePrinter',\n component: UpdatePrinter,\n name: 'updatePrinter',\n meta: { perm: true },\n beforeEnter: (to, from, next) => {\n if (!isAuthenticated())\n next('/login');\n else if (isAuthenticated() && !isAdmin())\n next(false)\n else\n next(true);\n }\n },\n]\n\nVue.use(VueRouter)\n /* Produccción */\n // const router = new VueRouter({mode: 'history', routes})\n /* Pruebas */\nconst router = new VueRouter({ routes })\n\nconst isAuthenticated = function() {\n return !!window.localStorage.token\n}\n\nconst isAdmin = function() {\n return JSON.parse(window.localStorage.isAdmin)\n}\n\n//const isAdmon = window.localStorage.getItem('rol') ? true : false\n\n/*router.beforeEach((to, from, next) => {\n\n if (to.path !== '/login' && !isAuthenticated()) {\n // eslint-disable-next-line no-console\n //console.log(\"Entrando\");\n return next({ name: 'login' })\n }\n\n // eslint-disable-next-line no-console\n\n if (isAuthenticated() && isAdmin() === false && to.path !== '/user') {\n return next({ name: 'user' })\n }\n\n return next()\n})*/\n\nexport default router;","import Vue from 'vue'\nimport App from './App.vue'\nimport router from './routes'\n\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faUserSecret,\n faUser,\n faLock,\n faGraduationCap,\n faExternalLinkAlt,\n faKey,\n faExclamationCircle,\n faEnvelope,\n faHome,\n faSearch\n} from '@fortawesome/free-solid-svg-icons'\nimport { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'\n\nlibrary.add(faUserSecret)\nlibrary.add(faUser)\nlibrary.add(faLock)\nlibrary.add(faExternalLinkAlt)\nlibrary.add(faGraduationCap)\nlibrary.add(faExclamationCircle)\nlibrary.add(faKey)\nlibrary.add(faEnvelope)\nlibrary.add(faHome)\nlibrary.add(faSearch)\n\nVue.component('font-awesome-icon', FontAwesomeIcon)\n\nVue.config.productionTip = false\n\n// el: '#app',\nnew Vue({\n render: h => h(App),\n router,\n}).$mount('#app')","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddPrinter.vue?vue&type=style&index=0&id=1fcb8031&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddPrinter.vue?vue&type=style&index=0&id=1fcb8031&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=style&index=0&id=325152f0&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=style&index=0&id=325152f0&scoped=true&lang=css&\"","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=8fda2204&scoped=true&lang=css&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=8fda2204&scoped=true&lang=css&\"","const config = {\n //api: 'https://venus.acatlan.unam.mx/censo-pruebas/',\n // api: 'https://venus.acatlan.unam.mx/censo_orion',\n api: 'http://localhost:3000',\n}\n\nmodule.exports = config\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=style&index=0&id=268097cd&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=style&index=0&id=268097cd&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./User.vue?vue&type=style&index=0&id=15aa8b6a&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./User.vue?vue&type=style&index=0&id=15aa8b6a&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=style&index=0&id=009e7709&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=style&index=0&id=009e7709&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/Logo-UNAM.e51a83fb.png\";","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdateEquip.vue?vue&type=style&index=0&id=0da991d1&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdateEquip.vue?vue&type=style&index=0&id=0da991d1&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/logo_fesa.a48ed338.png\";"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/js/app.6b892091.js b/dist/js/app.6b892091.js deleted file mode 100644 index cfae401..0000000 --- a/dist/js/app.6b892091.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(e){function t(t){for(var a,s,r=t[0],c=t[1],l=t[2],d=0,p=[];d0&&n<10&&(l+="0"),l+=n,i>0&&i<10&&(l+="0"),l+=i,l+=a,s>=0&&s<10&&(l+="0"),l+=s,r>=0&&r<10&&(l+="0"),l+=r,c>=0&&c<10&&(l+="0"),l+=c,this.pcView){for(var u=0,d=0;u\n
\n
\n
\n \n
\n \n \n \n \n
\n \n \n \n \n
\n \n
\n \n \n
\n \n \n \n
\n
\n \n \n Equipo\n Impresora\n \n
\n
\n
\n \n Cerrar sesión\n \n
\n
\n\n \n\n
\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Header.vue?vue&type=template&id=1010002a&scoped=true&\"\nimport script from \"./Header.vue?vue&type=script&lang=js&\"\nexport * from \"./Header.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Header.vue?vue&type=style&index=0&id=1010002a&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1010002a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (['login', 'start'].includes(_vm.$route.name))?_c('footer',{attrs:{\"id\":\"footer\"}},[_c('div',{staticClass:\"separador\"}),_vm._m(0)]):_vm._e()}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"contenedor-footer p-3\"},[_c('div',{staticClass:\"cont-text-foo text-white text-center\"},[_c('p',[_vm._v(\" Hecho en México, todos los derechos reservados 2020. \"),_c('br'),_vm._v(\" Esta página puede ser reproducida con fines no lucrativos, siempre y cuando no se mutile, se cite la fuente \"),_c('br'),_vm._v(\" completa y su dirección electrónica. De otra forma, requiere permiso previo por escrito de la institución. \")])])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Footer.vue?vue&type=template&id=325152f0&scoped=true&\"\nimport script from \"./Footer.vue?vue&type=script&lang=js&\"\nexport * from \"./Footer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Footer.vue?vue&type=style&index=0&id=325152f0&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"325152f0\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=8fda2204&scoped=true&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=8fda2204&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8fda2204\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container cont-log-things\"},[_c('h1',{staticClass:\"serv-title text-center\"},[_vm._v(\"Sistema de censo\")]),_c('div',{staticClass:\"input-group mb-3 col-12 col-sm-9 col-md-8 col-lg-5 my-4 mx-auto\"},[_c('div',{staticClass:\"input-group-prepend px-auto gp-inp\"},[_c('span',{staticClass:\"input-group-text icon-login-form pl-3 pr-0\"},[_c('font-awesome-icon',{staticClass:\"user-icon-input\",attrs:{\"icon\":\"user\"}})],1)]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.name),expression:\"name\"}],staticClass:\"form-control input-login-form shadow-none py-4\",attrs:{\"type\":\"email\",\"placeholder\":\"Usuario\"},domProps:{\"value\":(_vm.name)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.onLogin()},\"input\":function($event){if($event.target.composing){ return; }_vm.name=$event.target.value}}})]),_c('div',{staticClass:\"input-group mb-3 col-12 col-sm-9 col-md-8 col-lg-5 my-auto mx-auto\"},[_c('div',{staticClass:\"input-group-prepend px-auto gp-inp\"},[_c('span',{staticClass:\"input-group-text icon-login-form pl-3 pr-0\"},[_c('font-awesome-icon',{staticClass:\"user-icon-input\",attrs:{\"icon\":\"lock\"}})],1)]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.password),expression:\"password\"}],staticClass:\"form-control input-login-form shadow-none py-4\",attrs:{\"type\":\"password\",\"placeholder\":\"Contraseña\"},domProps:{\"value\":(_vm.password)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.onLogin()},\"input\":function($event){if($event.target.composing){ return; }_vm.password=$event.target.value}}})]),_c('div',{staticClass:\"d-flex justify-content-center\"},[_c('button',{staticClass:\"btn btn-success btn-login mt-4\",on:{\"click\":function($event){return _vm.onLogin()}}},[_vm._v(\" Iniciar Sesión \")])]),_c('div',{staticClass:\"alert alert-danger mt-4 mx-auto text-center\",staticStyle:{\"display\":\"none\",\"width\":\"80%\"},attrs:{\"id\":\"alertErr\",\"role\":\"alert\"}},[_vm._v(\" Usuario o contraseña incorrectos. \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=009e7709&scoped=true&\"\nimport script from \"./Login.vue?vue&type=script&lang=js&\"\nexport * from \"./Login.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Login.vue?vue&type=style&index=0&id=009e7709&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"009e7709\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-modal',{ref:\"\",attrs:{\"id\":\"session\",\"hide-footer\":\"\",\"hide-header\":\"\"}},[_c('div',{staticClass:\"d-block text-center\"},[_c('h3',[_vm._v(\"La sesión ha caducado\")])]),_c('b-button',{staticClass:\"mt-3\",attrs:{\"variant\":\"primary\",\"block\":\"\"},on:{\"click\":function($event){return _vm.$router.replace('/login')}}},[_vm._v(\"¡Llévame al login!\")])],1),_c('div',{staticClass:\"container mt-5\"},[_vm._m(0),_c('button',{staticClass:\"btn btn-info mt-4\",on:{\"click\":function($event){return _vm.changeView()}}},[(_vm.pcView)?_c('span',[_vm._v(\"Ver impresoras\")]):_c('span',[_vm._v(\"Ver computadoras\")])]),_c('div',{staticClass:\"row m-0 mt-3 mb-4\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('input',{staticClass:\"form-control input-login-form shadow-none\",attrs:{\"type\":\"text\",\"id\":\"Inventario\",\"placeholder\":\"Número de inventario\"},on:{\"keyup\":function($event){return _vm.extraeInventario()}}})]),_c('div',{staticClass:\"col\"},[_c('select',{staticClass:\"form-control select-login-form shadow-none\",attrs:{\"name\":\"tipo\",\"id\":\"tipo\"},on:{\"change\":function($event){return _vm.buscaValor()}}},[_c('option',{attrs:{\"value\":\"Todos\",\"selected\":\"\"}},[_vm._v(\"Todos\")]),_vm._l((_vm.tipo),function(opcion){return _c('option',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.pcView),expression:\"pcView\"}],key:opcion.idActivoFijo,domProps:{\"value\":opcion.activoFijo}},[_vm._v(_vm._s(opcion.activoFijo))])}),_vm._l((_vm.tipoPrinters),function(opcion){return _c('option',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.pcView),expression:\"!pcView\"}],key:opcion.tipo,domProps:{\"value\":opcion.tipo}},[_vm._v(_vm._s(opcion.tipo))])})],2)])])]),(_vm.pcView)?_c('div',{staticClass:\"table-responsive table-fixed text-nowrap justify-content-md-center\",staticStyle:{\"max-height\":\"350px\"}},[_c('table',{class:['table', 'table-sm', 'text-center', { 'table-hover': _vm.admin(), 't-hov': _vm.admin() }],staticStyle:{\"font-size\":\"14px\"}},[_c('thead',{staticClass:\"thead-light text-uppercase\"},[_c('tr',_vm._l((_vm.pcHeads),function(pcHead){return _c('th',{key:pcHead,staticClass:\"sticky-top\"},[_vm._v(_vm._s(pcHead))])}),0)]),_vm._l((_vm.respuesta),function(item){return _c('tbody',{key:item.noInventario,staticClass:\"overflow-auto thov\"},[((_vm.seleccionado == item.activoFijo || _vm.seleccionado == 'Todos') \n && item.noInventario.indexOf(_vm.miNoInventario) != -1)?_c('tr',{on:{\"click\":function($event){return _vm.watchRow(item.noInventario)}}},[_c('td',{staticClass:\"text-primary\"},[_vm._v(_vm._s(item.noInventario))]),_c('td',[_vm._v(_vm._s(item.activoFijo))]),_c('td',[_vm._v(_vm._s(item.modelo))]),_c('td',[_vm._v(_vm._s(item.marca))]),_c('td',[_vm._v(_vm._s(item.noSerie))]),_c('td',[_vm._v(_vm._s(item.procesador))]),_c('td',[_vm._v(_vm._s(item.vProcesador))]),_c('td',[_vm._v(_vm._s(item.hdd))]),_c('td',[_vm._v(_vm._s(item.memoriasz))]),_c('td',[_vm._v(_vm._s(item.memoria))]),_c('td',[_vm._v(_vm._s(item.vMemoria))]),_c('td',[_vm._v(_vm._s(item.graficos))]),_c('td',[_vm._v(_vm._s(item.osname))]),_c('td',[_vm._v(_vm._s(item.noResguardo))]),_c('td',[_vm._v(_vm._s(item.uResponsable))]),_c('td',[_vm._v(_vm._s(item.nombreResponsable))]),_c('td',[_vm._v(_vm._s(item.ubicacion))]),_c('td',[_vm._v(_vm._s(item.uso))])]):_vm._e()])})],2),_c('br'),_c('div',{staticClass:\"text-center\"},[(_vm.loading)?_c('b-spinner',{attrs:{\"variant\":\"primary\",\"label\":\"Spinning\"}}):_vm._e()],1)]):_c('div',{staticClass:\"table-responsive table-fixed text-nowrap justify-content-md-center\",attrs:{\"id\":\"myTableStyle\"}},[_c('table',{class:['table', 'table-sm', 'text-center', { 't-hov': _vm.admin(), 'table-hover': _vm.admin()}]},[_c('thead',{staticClass:\"thead-light text-uppercase\"},[_c('tr',_vm._l((_vm.printerHeads),function(printerHead){return _c('th',{key:printerHead,staticClass:\"sticky-top\"},[_vm._v(_vm._s(printerHead))])}),0)]),_vm._l((_vm.respuesta),function(item){return _c('tbody',{key:item.noInventario},[((_vm.seleccionado == item.tipo || _vm.seleccionado == 'Todos')\n && item.noInventario.indexOf(_vm.miNoInventario) != -1)?_c('tr',{on:{\"click\":function($event){return _vm.watchRow(item.noInventario)}}},[_c('td',{staticClass:\"text-primary\"},[_vm._v(_vm._s(item.noInventario))]),_c('td',[_vm._v(_vm._s(item.tipo))]),_c('td',[_vm._v(_vm._s(item.modelo))]),_c('td',[_vm._v(_vm._s(item.marca))]),_c('td',[_vm._v(_vm._s(item.noSerie))]),_c('td',[_vm._v(_vm._s(item.descripcion))]),_c('td',[_vm._v(_vm._s(item.noResguardo))]),_c('td',[_vm._v(_vm._s(item.uResponsable))]),_c('td',[_vm._v(_vm._s(item.nombreResponsable))]),_c('td',[_vm._v(_vm._s(item.ubicacion))]),_c('td',[_vm._v(_vm._s(item.uso))])]):_vm._e()])})],2),_c('br'),_c('div',{staticClass:\"text-center\"},[(_vm.loading)?_c('b-spinner',{attrs:{\"variant\":\"primary\",\"label\":\"Spinning\"}}):_vm._e()],1)]),_c('button',{staticClass:\"btn btn-lg btn-success mt-3\",on:{\"click\":function($event){return _vm.onDescarga(_vm.respuesta)}}},[_vm._v(\"Descargar \")])]),_vm._m(1)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"justify-content-center d-flex\"},[_c('h1',{staticClass:\"justify-content-center\"},[_vm._v(\"Sistema de censo\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container-fluid px-0\",staticStyle:{\"margin-top\":\"200px\",\"left\":\"0px\",\"position\":\"absolute\"}},[_c('footer',{staticClass:\"text-center\",staticStyle:{\"left\":\"0px\"},attrs:{\"id\":\"footer\"}},[_c('div',{staticClass:\"separador\"}),_c('div',{staticClass:\"contenedor-footer p-3\"},[_c('div',{staticClass:\"text-white mt-3\",staticStyle:{\"font-size\":\"11px\"}},[_c('p',[_vm._v(\" Hecho en México, todos los derechos reservados 2020. \"),_c('br'),_vm._v(\" Esta página puede ser reproducida con fines no lucrativos, siempre y cuando no se mutile, se cite la fuente \"),_c('br'),_vm._v(\" completa y su dirección electrónica. De otra forma, requiere permiso previo por escrito de la institución. \")])])])])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./User.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./User.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./User.vue?vue&type=template&id=17d15f87&scoped=true&\"\nimport script from \"./User.vue?vue&type=script&lang=js&\"\nexport * from \"./User.vue?vue&type=script&lang=js&\"\nimport style0 from \"./User.vue?vue&type=style&index=0&id=17d15f87&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"17d15f87\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container mt-5\"},[_c('b-overlay',{attrs:{\"show\":_vm.page,\"variant\":\"transparent\",\"opacity\":\"1\",\"blur\":\"5px\",\"no-wrap\":\"\",\"spinner-variant\":\"primary\",\"rounded\":\"lg\"}}),_c('b-modal',{ref:\"\",attrs:{\"id\":\"session\",\"hide-footer\":\"\",\"hide-header\":\"\"}},[_c('div',{staticClass:\"d-block text-center\"},[_c('h3',[_vm._v(\"La sesión ha caducado\")])]),_c('b-button',{staticClass:\"mt-3\",attrs:{\"variant\":\"primary\",\"block\":\"\"},on:{\"click\":function($event){return _vm.$router.replace('/login')}}},[_vm._v(\"¡Llévame al login!\")])],1),(_vm.loading)?_c('div',{staticClass:\"container text-center p-5\"},[_c('b-spinner',{staticClass:\"m-4 p-5\",attrs:{\"variant\":\"primary\",\"label\":\"Spinning\"}})],1):_c('div',{staticClass:\"d-flex flex-column\"},[_c('h1',{staticClass:\"text-center\"},[_vm._v(\"Agregar equipo\")]),_c('h4',{staticClass:\"text-left container-fluid mt-4 pt-2 px-0\"},[_vm._v(\" Añadir equipos desde archivo excel \")]),_c('div',{staticClass:\"d-flex justify-content-start input-group mb-3\"},[_c('b-input-group-append',{staticClass:\"py-2 sel-form-add\"},[_c('b-form-file',{attrs:{\"placeholder\":\"Seleccione un excel a cargar...\",\"drop-placeholder\":\"Drop file here...\",\"browse-text\":\"Seleccionar\"},model:{value:(_vm.file),callback:function ($$v) {_vm.file=$$v},expression:\"file\"}}),_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-secondary\",attrs:{\"type\":\"button\",\"id\":\"inputGroupFileAddon04\"},on:{\"click\":_vm.cargaMasiva}},[_vm._v(\" Subir \")])])],1)],1),_c('h3',{staticClass:\"text-left mt-4\"},[_vm._v(\"Datos generales:\")]),_c('form',{staticClass:\"mb-5 form-add-user pl-0\",attrs:{\"enctype\":\"multipart/form-data\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.equipo.noInventario),expression:\"equipo.noInventario\",modifiers:{\"number\":true}}],staticClass:\"pb-2 my-4\",attrs:{\"type\":\"text\",\"placeholder\":\"Número de inventario:\"},domProps:{\"value\":(_vm.equipo.noInventario)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"noInventario\", _vm._n($event.target.value))},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.noResguardo),expression:\"equipo.noResguardo\"}],staticClass:\"pb-2 my-4\",attrs:{\"type\":\"text\",\"placeholder\":\"Número de resguardo:\"},domProps:{\"value\":(_vm.equipo.noResguardo)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"noResguardo\", $event.target.value)}}}),_c('b-select',{staticClass:\"py-2 my-4 sel-form-add\",attrs:{\"options\":_vm.respuesta.unidades,\"value-field\":\"idUnidadResponsable\",\"text-field\":\"uResponsable\"},scopedSlots:_vm._u([{key:\"first\",fn:function(){return [_c('b-select-option',{attrs:{\"value\":null,\"disabled\":\"\"}},[_vm._v(\"Unidad Responsable:\")])]},proxy:true}]),model:{value:(_vm.equipo.idUnidadResponsable),callback:function ($$v) {_vm.$set(_vm.equipo, \"idUnidadResponsable\", $$v)},expression:\"equipo.idUnidadResponsable\"}}),_c('b-select',{staticClass:\"py-2 my-4 sel-form-add\",attrs:{\"options\":_vm.respuesta.ubicaciones,\"value-field\":\"idUbicacion\",\"text-field\":\"ubicacion\"},scopedSlots:_vm._u([{key:\"first\",fn:function(){return [_c('b-select-option',{attrs:{\"value\":null,\"disabled\":\"\"}},[_vm._v(\"Ubicación:\")])]},proxy:true}]),model:{value:(_vm.equipo.idUbicacion),callback:function ($$v) {_vm.$set(_vm.equipo, \"idUbicacion\", $$v)},expression:\"equipo.idUbicacion\"}}),_c('b-select',{staticClass:\"py-2 my-4 sel-form-add\",attrs:{\"options\":_vm.respuesta.usos,\"value-field\":\"idUso\",\"text-field\":\"uso\"},scopedSlots:_vm._u([{key:\"first\",fn:function(){return [_c('b-select-option',{attrs:{\"value\":null,\"disabled\":\"\"}},[_vm._v(\"Uso:\")])]},proxy:true}]),model:{value:(_vm.equipo.idUso),callback:function ($$v) {_vm.$set(_vm.equipo, \"idUso\", $$v)},expression:\"equipo.idUso\"}})],1),_c('div',[_c('h3',[_vm._v(\"Equipo:\")]),_c('form',{staticClass:\"mb-5 form-add-user pl-0\",attrs:{\"enctype\":\"multipart/form-data\"}},[_c('b-select',{staticClass:\"py-2 my-4 sel-form-add\",attrs:{\"options\":_vm.respuesta.activosFijos,\"value-field\":\"idActivoFijo\",\"text-field\":\"activoFijo\"},scopedSlots:_vm._u([{key:\"first\",fn:function(){return [_c('b-select-option',{attrs:{\"value\":null,\"disabled\":\"\"}},[_vm._v(\"Tipo de equipo:\")])]},proxy:true}]),model:{value:(_vm.equipo.idActivoFijo),callback:function ($$v) {_vm.$set(_vm.equipo, \"idActivoFijo\", $$v)},expression:\"equipo.idActivoFijo\"}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.modelo),expression:\"equipo.modelo\"}],staticClass:\"pb-2 my-4\",attrs:{\"type\":\"text\",\"placeholder\":\"Modelo:\"},domProps:{\"value\":(_vm.equipo.modelo)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"modelo\", $event.target.value)}}}),_c('b-select',{staticClass:\"py-2 my-4 sel-form-add\",attrs:{\"options\":_vm.respuesta.marcas,\"value-field\":\"idMarca\",\"text-field\":\"marca\"},scopedSlots:_vm._u([{key:\"first\",fn:function(){return [_c('b-select-option',{attrs:{\"value\":null,\"disable\":\"\"}},[_vm._v(\"Marca:\")])]},proxy:true}]),model:{value:(_vm.equipo.idMarca),callback:function ($$v) {_vm.$set(_vm.equipo, \"idMarca\", $$v)},expression:\"equipo.idMarca\"}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.noSerie),expression:\"equipo.noSerie\"}],staticClass:\"pb-2 my-4\",attrs:{\"type\":\"text\",\"placeholder\":\"Número de serie:\"},domProps:{\"value\":(_vm.equipo.noSerie)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"noSerie\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.procesador),expression:\"equipo.procesador\"}],staticClass:\"pb-2 my-4\",attrs:{\"type\":\"text\",\"placeholder\":\"Procesador:\"},domProps:{\"value\":(_vm.equipo.procesador)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"procesador\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.vProcesador),expression:\"equipo.vProcesador\"}],staticClass:\"pb-2 my-4\",attrs:{\"type\":\"text\",\"placeholder\":\"Velocidad del procesador en MHz:\"},domProps:{\"value\":(_vm.equipo.vProcesador)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"vProcesador\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.hdd),expression:\"equipo.hdd\"}],staticClass:\"pb-2 my-4\",attrs:{\"type\":\"text\",\"placeholder\":\"Memoria ROM en GB:\"},domProps:{\"value\":(_vm.equipo.hdd)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"hdd\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.memoriasz),expression:\"equipo.memoriasz\"}],staticClass:\"pb-2 my-4\",attrs:{\"type\":\"text\",\"placeholder\":\"Memoria RAM en MB:\"},domProps:{\"value\":(_vm.equipo.memoriasz)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"memoriasz\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.memoria),expression:\"equipo.memoria\"}],staticClass:\"pb-2 my-4\",attrs:{\"type\":\"text\",\"placeholder\":\"Tipo de memoria:\"},domProps:{\"value\":(_vm.equipo.memoria)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"memoria\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.vMemoria),expression:\"equipo.vMemoria\"}],staticClass:\"pb-2 my-4\",attrs:{\"type\":\"text\",\"placeholder\":\"Velocidad de memoria en MHz:\"},domProps:{\"value\":(_vm.equipo.vMemoria)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"vMemoria\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.graficos),expression:\"equipo.graficos\"}],staticClass:\"pb-2 my-4\",attrs:{\"type\":\"text\",\"placeholder\":\"Gráficos:\"},domProps:{\"value\":(_vm.equipo.graficos)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"graficos\", $event.target.value)}}}),_c('b-select',{staticClass:\"py-2 my-4 sel-form-add\",attrs:{\"options\":_vm.respuesta.distros,\"value-field\":\"idOS\",\"text-field\":\"osname\"},scopedSlots:_vm._u([{key:\"first\",fn:function(){return [_c('b-select-option',{attrs:{\"value\":null,\"disabled\":\"\"}},[_vm._v(\"Sistema Operativo:\")])]},proxy:true}]),model:{value:(_vm.equipo.idOS),callback:function ($$v) {_vm.$set(_vm.equipo, \"idOS\", $$v)},expression:\"equipo.idOS\"}})],1)]),_c('div',{},[_c('button',{staticClass:\"btn btn-lg btn-primary mr-4\",on:{\"click\":function($event){return _vm.$router.push('./user')}}},[_vm._v(\" Regresar \")]),_c('button',{staticClass:\"btn btn-lg btn-success\",on:{\"click\":function($event){$event.preventDefault();return _vm.addEquip()}}},[_vm._v(\" Añadir \")])])]),_vm._m(0)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container-fluid px-0\",staticStyle:{\"margin-top\":\"200px\",\"left\":\"0px\",\"position\":\"absolute\"}},[_c('footer',{staticClass:\"text-center\",staticStyle:{\"left\":\"0px\"},attrs:{\"id\":\"footer\"}},[_c('div',{staticClass:\"separador\"}),_c('div',{staticClass:\"contenedor-footer p-3\"},[_c('div',{staticClass:\"text-white mt-3\",staticStyle:{\"font-size\":\"11px\"}},[_c('p',[_vm._v(\" Hecho en México, todos los derechos reservados 2020. \"),_c('br'),_vm._v(\" Esta página puede ser reproducida con fines no lucrativos, siempre y cuando no se mutile, se cite la fuente \"),_c('br'),_vm._v(\" completa y su dirección electrónica. De otra forma, requiere permiso previo por escrito de la institución. \")])])])])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddEquip.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddEquip.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AddEquip.vue?vue&type=template&id=dcace4c2&scoped=true&\"\nimport script from \"./AddEquip.vue?vue&type=script&lang=js&\"\nexport * from \"./AddEquip.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AddEquip.vue?vue&type=style&index=0&id=dcace4c2&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"dcace4c2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container mt-5 justify-content-center\"},[_c('b-overlay',{attrs:{\"show\":_vm.page,\"variant\":\"transparent\",\"opacity\":\"1\",\"blur\":\"5px\",\"no-wrap\":\"\",\"spinner-variant\":\"primary\",\"rounded\":\"lg\"}}),_c('b-modal',{ref:\"\",attrs:{\"id\":\"session\",\"hide-footer\":\"\",\"hide-header\":\"\"}},[_c('div',{staticClass:\"d-block text-center\"},[_c('h3',[_vm._v(\"La sesión ha caducado\")])]),_c('b-button',{staticClass:\"mt-3\",attrs:{\"variant\":\"primary\",\"block\":\"\"},on:{\"click\":function($event){return _vm.$router.replace('/login')}}},[_vm._v(\"¡Llévame al login!\")])],1),(_vm.loading)?_c('div',{staticClass:\"container text-center p-5\"},[_c('b-spinner',{staticClass:\"m-4 p-5\",attrs:{\"variant\":\"primary\",\"label\":\"Spinning\"}})],1):_c('div',{staticClass:\"d-flex flex-column\"},[_c('h1',{staticClass:\"text-center\"},[_vm._v(\"Agregar impresora\")]),_c('h4',{staticClass:\"text-left container-fluid mt-4 pt-2 px-0\"},[_vm._v(\" Añadir impresoras desde archivo excel \")]),_c('div',{staticClass:\"d-flex justify-content-start input-group mb-3\"},[_c('b-input-group-append',{staticClass:\"py-2 sel-form-add\"},[_c('b-form-file',{attrs:{\"placeholder\":\"Seleccione un excel a cargar...\",\"drop-placeholder\":\"Drop file here...\",\"browse-text\":\"Seleccionar\"},model:{value:(_vm.file),callback:function ($$v) {_vm.file=$$v},expression:\"file\"}}),_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-secondary\",attrs:{\"type\":\"button\",\"id\":\"inputGroupFileAddon04\"},on:{\"click\":_vm.cargaMasiva}},[_vm._v(\" Subir \")])])],1)],1),_c('h3',{staticClass:\"text-left mt-4\"},[_vm._v(\"Datos generales:\")]),_c('form',{staticClass:\"mb-5 form-add-user pl-0\",attrs:{\"enctype\":\"multipart/form-data\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.printer.noInventario),expression:\"printer.noInventario\"}],staticClass:\"pb-2 my-4\",attrs:{\"type\":\"text\",\"placeholder\":\"Número de inventario:\"},domProps:{\"value\":(_vm.printer.noInventario)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.printer, \"noInventario\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.printer.noResguardo),expression:\"printer.noResguardo\"}],staticClass:\"pb-2 my-4\",attrs:{\"type\":\"text\",\"placeholder\":\"Número de resguardo:\"},domProps:{\"value\":(_vm.printer.noResguardo)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.printer, \"noResguardo\", $event.target.value)}}}),_c('b-select',{staticClass:\"py-2 my-4 sel-form-add\",attrs:{\"options\":_vm.respuesta.unidades,\"value-field\":\"idUnidadResponsable\",\"text-field\":\"uResponsable\"},scopedSlots:_vm._u([{key:\"first\",fn:function(){return [_c('b-select-option',{attrs:{\"value\":null,\"disabled\":\"\"}},[_vm._v(\"Unidad Responsable:\")])]},proxy:true}]),model:{value:(_vm.printer.idUnidadResponsable),callback:function ($$v) {_vm.$set(_vm.printer, \"idUnidadResponsable\", $$v)},expression:\"printer.idUnidadResponsable\"}}),_c('b-select',{staticClass:\"py-2 my-4 sel-form-add\",attrs:{\"options\":_vm.respuesta.ubicaciones,\"value-field\":\"idUbicacion\",\"text-field\":\"ubicacion\"},scopedSlots:_vm._u([{key:\"first\",fn:function(){return [_c('b-select-option',{attrs:{\"value\":null,\"disabled\":\"\"}},[_vm._v(\"Ubicación:\")])]},proxy:true}]),model:{value:(_vm.printer.idUbicacion),callback:function ($$v) {_vm.$set(_vm.printer, \"idUbicacion\", $$v)},expression:\"printer.idUbicacion\"}}),_c('b-select',{staticClass:\"py-2 my-4 sel-form-add\",attrs:{\"options\":_vm.respuesta.usos,\"value-field\":\"idUso\",\"text-field\":\"uso\"},scopedSlots:_vm._u([{key:\"first\",fn:function(){return [_c('b-select-option',{attrs:{\"value\":null,\"disabled\":\"\"}},[_vm._v(\"Uso:\")])]},proxy:true}]),model:{value:(_vm.printer.idUso),callback:function ($$v) {_vm.$set(_vm.printer, \"idUso\", $$v)},expression:\"printer.idUso\"}})],1),_c('div',[_c('h3',[_vm._v(\"Impresora\")]),_c('form',{staticClass:\"mb-5 form-add-user pl-0\",attrs:{\"enctype\":\"multipart/form-data\"}},[_c('b-select',{staticClass:\"py-2 my-4 sel-form-add\",attrs:{\"options\":_vm.respuesta.tipos,\"value-field\":\"idTipo\",\"text-field\":\"tipo\"},scopedSlots:_vm._u([{key:\"first\",fn:function(){return [_c('b-select-option',{attrs:{\"value\":null,\"disabled\":\"\"}},[_vm._v(\"Tipo de impresora:\")])]},proxy:true}]),model:{value:(_vm.printer.idTipo),callback:function ($$v) {_vm.$set(_vm.printer, \"idTipo\", $$v)},expression:\"printer.idTipo\"}}),_c('b-select',{staticClass:\"py-2 my-4 sel-form-add\",attrs:{\"options\":_vm.respuesta.marcas,\"value-field\":\"idMarca\",\"text-field\":\"marca\"},scopedSlots:_vm._u([{key:\"first\",fn:function(){return [_c('b-select-option',{attrs:{\"value\":null,\"disabled\":\"\"}},[_vm._v(\"Marca:\")])]},proxy:true}]),model:{value:(_vm.printer.idMarca),callback:function ($$v) {_vm.$set(_vm.printer, \"idMarca\", $$v)},expression:\"printer.idMarca\"}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.printer.modelo),expression:\"printer.modelo\"}],staticClass:\"pb-2 my-4\",attrs:{\"type\":\"text\",\"placeholder\":\"Modelo:\"},domProps:{\"value\":(_vm.printer.modelo)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.printer, \"modelo\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.printer.noSerie),expression:\"printer.noSerie\"}],staticClass:\"pb-2 my-4\",attrs:{\"type\":\"text\",\"placeholder\":\"Número de serie:\"},domProps:{\"value\":(_vm.printer.noSerie)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.printer, \"noSerie\", $event.target.value)}}}),_c('b-textarea',{staticClass:\"pb-2 my-4 sel-form-add\",attrs:{\"placeholder\":\"Descripcion adicional:\",\"rows\":\"3\",\"no-resize\":\"\"},model:{value:(_vm.printer.descripcion),callback:function ($$v) {_vm.$set(_vm.printer, \"descripcion\", $$v)},expression:\"printer.descripcion\"}})],1)]),_c('div',{},[_c('button',{staticClass:\"btn btn-lg btn-primary mr-4\",on:{\"click\":function($event){return _vm.$router.push('./user')}}},[_vm._v(\" Regresar \")]),_c('button',{staticClass:\"btn btn-lg btn-success\",on:{\"click\":function($event){$event.preventDefault();return _vm.addEquip()}}},[_vm._v(\" Añadir \")])])]),_vm._m(0)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container-fluid px-0\",staticStyle:{\"margin-top\":\"200px\",\"left\":\"0px\",\"position\":\"absolute\"}},[_c('footer',{staticClass:\"text-center\",staticStyle:{\"left\":\"0px\"},attrs:{\"id\":\"footer\"}},[_c('div',{staticClass:\"separador\"}),_c('div',{staticClass:\"contenedor-footer p-3\"},[_c('div',{staticClass:\"text-white mt-3\",staticStyle:{\"font-size\":\"11px\"}},[_c('p',[_vm._v(\" Hecho en México, todos los derechos reservados 2020. \"),_c('br'),_vm._v(\" Esta página puede ser reproducida con fines no lucrativos, siempre y cuando no se mutile, se cite la fuente \"),_c('br'),_vm._v(\" completa y su dirección electrónica. De otra forma, requiere permiso previo por escrito de la institución. \")])])])])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddPrinter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddPrinter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AddPrinter.vue?vue&type=template&id=1fcb8031&scoped=true&\"\nimport script from \"./AddPrinter.vue?vue&type=script&lang=js&\"\nexport * from \"./AddPrinter.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AddPrinter.vue?vue&type=style&index=0&id=1fcb8031&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1fcb8031\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container mt-5\"},[_c('b-modal',{ref:\"\",attrs:{\"id\":\"session\",\"hide-footer\":\"\",\"hide-header\":\"\"}},[_c('div',{staticClass:\"d-block text-center\"},[_c('h3',[_vm._v(\"La sesión ha caducado\")])]),_c('b-button',{staticClass:\"mt-3\",attrs:{\"variant\":\"primary\",\"block\":\"\"},on:{\"click\":function($event){return _vm.$router.replace('/login')}}},[_vm._v(\"¡Llévame al login!\")])],1),_c('b-modal',{ref:\"\",attrs:{\"id\":\"status\",\"hide-footer\":\"\",\"hide-header\":\"\"}},[_c('div',{staticClass:\"d-block text-center\"},[_c('h3',[_vm._v(\"Error.\")]),_c('br'),_c('h6',[_vm._v(\"Regrese y seleccione una fila para editar los campos.\")])]),_c('b-button',{staticClass:\"mt-3\",attrs:{\"variant\":\"primary\",\"block\":\"\"},on:{\"click\":function($event){return _vm.$router.replace('/user')}}},[_vm._v(\"Regresar al inicio.\")])],1),(_vm.loading)?_c('div',{staticClass:\"container text-center p-5\"},[_c('b-spinner',{staticClass:\"m-4 p-5\",attrs:{\"variant\":\"primary\",\"label\":\"Spinning\"}})],1):_c('div',{staticClass:\"d-flex flex-column\"},[_c('h1',{staticClass:\"text-center\"},[_vm._v(\"Editar información del equipo\")]),_c('h3',{staticClass:\"text-left mt-4 mb-5\"},[_vm._v(\"Datos generales:\")]),_c('form',{staticClass:\"mb-5 form-add-user pl-0\",attrs:{\"enctype\":\"multipart/form-data\"}},[_c('h6',{staticClass:\"mb-3\"},[_vm._v(\" Numero de inventario:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.noInventario),expression:\"equipo.noInventario\"}],staticClass:\"pb-2 mb-5\",attrs:{\"type\":\"text\",\"placeholder\":\"Introduzca el campo nuevo:\"},domProps:{\"value\":(_vm.equipo.noInventario)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"noInventario\", $event.target.value)}}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\" Numero de inventario:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.noResguardo),expression:\"equipo.noResguardo\"}],staticClass:\"pb-2 mb-5\",attrs:{\"type\":\"text\",\"placeholder\":\"Introduzca el campo nuevo:\"},domProps:{\"value\":(_vm.equipo.noResguardo)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"noResguardo\", $event.target.value)}}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\" Unidad responsable:\")]),_c('b-select',{staticClass:\"py-2 mb-5 sel-form-add mt-0\",attrs:{\"options\":_vm.respuesta.unidades,\"value-field\":\"idUnidadResponsable\",\"text-field\":\"uResponsable\"},model:{value:(_vm.equipo.idUnidadResponsable),callback:function ($$v) {_vm.$set(_vm.equipo, \"idUnidadResponsable\", $$v)},expression:\"equipo.idUnidadResponsable\"}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\" Ubicación:\")]),_c('b-select',{staticClass:\"py-2 mb-5 sel-form-add mt-0\",attrs:{\"options\":_vm.respuesta.ubicaciones,\"value-field\":\"idUbicacion\",\"text-field\":\"ubicacion\"},model:{value:(_vm.equipo.idUbicacion),callback:function ($$v) {_vm.$set(_vm.equipo, \"idUbicacion\", $$v)},expression:\"equipo.idUbicacion\"}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\" Uso:\")]),_c('b-select',{staticClass:\"py-2 mb-3 sel-form-add mt-0\",attrs:{\"options\":_vm.respuesta.usos,\"value-field\":\"idUso\",\"text-field\":\"uso\"},model:{value:(_vm.equipo.idUso),callback:function ($$v) {_vm.$set(_vm.equipo, \"idUso\", $$v)},expression:\"equipo.idUso\"}})],1),_c('div',[_c('h3',{staticClass:\"mb-5\"},[_vm._v(\"Equipo:\")]),_c('form',{staticClass:\"mb-5 form-add-user pl-0\",attrs:{\"enctype\":\"multipart/form-data\"}},[_c('h6',{staticClass:\"mb-3\"},[_vm._v(\" Tipo de equipo:\")]),_c('b-select',{staticClass:\"py-2 mb-5 sel-form-add mt-0\",attrs:{\"options\":_vm.respuesta.activosFijos,\"value-field\":\"idActivoFijo\",\"text-field\":\"activoFijo\"},model:{value:(_vm.equipo.idActivoFijo),callback:function ($$v) {_vm.$set(_vm.equipo, \"idActivoFijo\", $$v)},expression:\"equipo.idActivoFijo\"}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\" Modelo:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.modelo),expression:\"equipo.modelo\"}],staticClass:\"pb-2 mb-5\",attrs:{\"type\":\"text\",\"placeholder\":\"Introduzca el campo nuevo:\"},domProps:{\"value\":(_vm.equipo.modelo)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"modelo\", $event.target.value)}}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\" Marca:\")]),_c('b-select',{staticClass:\"py-2 mb-5 sel-form-add mt-0\",attrs:{\"options\":_vm.respuesta.marcas,\"value-field\":\"idMarca\",\"text-field\":\"marca\"},model:{value:(_vm.equipo.idMarca),callback:function ($$v) {_vm.$set(_vm.equipo, \"idMarca\", $$v)},expression:\"equipo.idMarca\"}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\" Número de serie:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.noSerie),expression:\"equipo.noSerie\"}],staticClass:\"pb-2 mb-5\",attrs:{\"type\":\"text\",\"placeholder\":\"Introduzca el campo nuevo:\"},domProps:{\"value\":(_vm.equipo.noSerie)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"noSerie\", $event.target.value)}}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\" Procesador:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.procesador),expression:\"equipo.procesador\"}],staticClass:\"pb-2 mb-5\",attrs:{\"type\":\"text\",\"placeholder\":\"Introduzca el campo nuevo:\"},domProps:{\"value\":(_vm.equipo.procesador)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"procesador\", $event.target.value)}}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\" Velocidad del procesador en MHz:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.vProcesador),expression:\"equipo.vProcesador\"}],staticClass:\"pb-2 mb-5\",attrs:{\"type\":\"text\",\"placeholder\":\"Introduzca el campo nuevo:\"},domProps:{\"value\":(_vm.equipo.vProcesador)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"vProcesador\", $event.target.value)}}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\" Memoria ROM en GB:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.hdd),expression:\"equipo.hdd\"}],staticClass:\"pb-2 mb-5\",attrs:{\"type\":\"text\",\"placeholder\":\"Introduzca el campo nuevo:\"},domProps:{\"value\":(_vm.equipo.hdd)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"hdd\", $event.target.value)}}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\" Memoria RAM en MB:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.memoriasz),expression:\"equipo.memoriasz\"}],staticClass:\"pb-2 mb-5\",attrs:{\"type\":\"text\",\"placeholder\":\"Introduzca el campo nuevo:\"},domProps:{\"value\":(_vm.equipo.memoriasz)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"memoriasz\", $event.target.value)}}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\" Tipo de memoria:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.memoria),expression:\"equipo.memoria\"}],staticClass:\"pb-2 mb-5\",attrs:{\"type\":\"text\",\"placeholder\":\"Introduzca el campo nuevo:\"},domProps:{\"value\":(_vm.equipo.memoria)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"memoria\", $event.target.value)}}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\" Velocidad de memoria en MHz:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.vMemoria),expression:\"equipo.vMemoria\"}],staticClass:\"pb-2 mb-5\",attrs:{\"type\":\"text\",\"placeholder\":\"Introduzca el campo nuevo:\"},domProps:{\"value\":(_vm.equipo.vMemoria)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"vMemoria\", $event.target.value)}}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\" Gráficos:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.equipo.graficos),expression:\"equipo.graficos\"}],staticClass:\"pb-2 mb-5\",attrs:{\"type\":\"text\",\"placeholder\":\"Introduzca el campo nuevo:\"},domProps:{\"value\":(_vm.equipo.graficos)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.equipo, \"graficos\", $event.target.value)}}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\" Sistema operativo:\")]),_c('b-select',{staticClass:\"py-2 mb-5 sel-form-add mt-0\",attrs:{\"options\":_vm.respuesta.distros,\"value-field\":\"idOS\",\"text-field\":\"osname\"},model:{value:(_vm.equipo.idOS),callback:function ($$v) {_vm.$set(_vm.equipo, \"idOS\", $$v)},expression:\"equipo.idOS\"}})],1)]),_c('div',{},[_c('button',{staticClass:\"btn btn-lg btn-primary\",on:{\"click\":function($event){return _vm.$router.push('./user')}}},[_vm._v(\" Regresar \")]),_c('button',{staticClass:\"btn btn-lg btn-danger mx-3\",on:{\"click\":function($event){$event.preventDefault();return _vm.deleteEquip(_vm.equipo.noInventario)}}},[_vm._v(\" Eliminar \")]),_c('button',{staticClass:\"btn btn-lg btn-success mt-3 mt-sm-0\",on:{\"click\":function($event){$event.preventDefault();return _vm.saveChanges()}}},[_vm._v(\" Guardar cambios \")])])]),_vm._m(0)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container-fluid px-0\",staticStyle:{\"margin-top\":\"200px\",\"left\":\"0px\",\"position\":\"absolute\"}},[_c('footer',{staticClass:\"text-center\",staticStyle:{\"left\":\"0px\"},attrs:{\"id\":\"footer\"}},[_c('div',{staticClass:\"separador\"}),_c('div',{staticClass:\"contenedor-footer p-3\"},[_c('div',{staticClass:\"text-white mt-3\",staticStyle:{\"font-size\":\"11px\"}},[_c('p',[_vm._v(\" Hecho en México, todos los derechos reservados 2020. \"),_c('br'),_vm._v(\" Esta página puede ser reproducida con fines no lucrativos, siempre y cuando no se mutile, se cite la fuente \"),_c('br'),_vm._v(\" completa y su dirección electrónica. De otra forma, requiere permiso previo por escrito de la institución. \")])])])])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdateEquip.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdateEquip.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UpdateEquip.vue?vue&type=template&id=717bb151&scoped=true&\"\nimport script from \"./UpdateEquip.vue?vue&type=script&lang=js&\"\nexport * from \"./UpdateEquip.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UpdateEquip.vue?vue&type=style&index=0&id=717bb151&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"717bb151\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container mt-5\"},[_c('b-modal',{ref:\"\",attrs:{\"id\":\"session\",\"hide-footer\":\"\",\"hide-header\":\"\"}},[_c('div',{staticClass:\"d-block text-center\"},[_c('h3',[_vm._v(\"La sesión ha caducado\")])]),_c('b-button',{staticClass:\"mt-3\",attrs:{\"variant\":\"primary\",\"block\":\"\"},on:{\"click\":function($event){return _vm.$router.replace('/login')}}},[_vm._v(\"¡Llévame al login!\")])],1),_c('b-modal',{ref:\"\",attrs:{\"id\":\"status\",\"hide-footer\":\"\",\"hide-header\":\"\"}},[_c('div',{staticClass:\"d-block text-center\"},[_c('h3',[_vm._v(\"Error.\")]),_c('br'),_c('h6',[_vm._v(\"Regrese y seleccione una fila para editar los campos.\")])]),_c('b-button',{staticClass:\"mt-3\",attrs:{\"variant\":\"primary\",\"block\":\"\"},on:{\"click\":function($event){return _vm.$router.replace('/user')}}},[_vm._v(\"Regresar al inicio.\")])],1),(_vm.loading)?_c('div',{staticClass:\"container text-center p-5\"},[_c('b-spinner',{staticClass:\"m-4 p-5\",attrs:{\"variant\":\"primary\",\"label\":\"Spinning\"}})],1):_c('div',{staticClass:\"d-flex flex-column\"},[_c('h1',{staticClass:\"text-center\"},[_vm._v(\"Editar información la impresora\")]),_c('h3',{staticClass:\"text-left mt-4 mb-5\"},[_vm._v(\"Datos generales:\")]),_c('form',{staticClass:\"mb-5 form-add-user pl-0\",attrs:{\"enctype\":\"multipart/form-data\"}},[_c('h6',[_vm._v(\"Número de inventario:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.printer.noInventario),expression:\"printer.noInventario\"}],staticClass:\"pb-2 mb-5\",attrs:{\"type\":\"text\",\"placeholder\":\"Introduzca el campo nuevo:\"},domProps:{\"value\":(_vm.printer.noInventario)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.printer, \"noInventario\", $event.target.value)}}}),_c('h6',[_vm._v(\"Número de resguardo:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.printer.noResguardo),expression:\"printer.noResguardo\"}],staticClass:\"pb-2 mb-5\",attrs:{\"type\":\"text\",\"placeholder\":\"Introduzca el campo nuevo:\"},domProps:{\"value\":(_vm.printer.noResguardo)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.printer, \"noResguardo\", $event.target.value)}}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\"Unidad Responsable:\")]),_c('b-select',{staticClass:\"py-2 mb-5 sel-form-add mt-0\",attrs:{\"options\":_vm.respuesta.unidades,\"value-field\":\"idUnidadResponsable\",\"text-field\":\"uResponsable\"},model:{value:(_vm.printer.idUnidadResponsable),callback:function ($$v) {_vm.$set(_vm.printer, \"idUnidadResponsable\", $$v)},expression:\"printer.idUnidadResponsable\"}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\"Ubicación:\")]),_c('b-select',{staticClass:\"py-2 mb-5 sel-form-add mt-0\",attrs:{\"options\":_vm.respuesta.ubicaciones,\"value-field\":\"idUbicacion\",\"text-field\":\"ubicacion\"},model:{value:(_vm.printer.idUbicacion),callback:function ($$v) {_vm.$set(_vm.printer, \"idUbicacion\", $$v)},expression:\"printer.idUbicacion\"}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\"Uso:\")]),_c('b-select',{staticClass:\"py-2 mb-0 sel-form-add mt-0\",attrs:{\"options\":_vm.respuesta.usos,\"value-field\":\"idUso\",\"text-field\":\"uso\"},model:{value:(_vm.printer.idUso),callback:function ($$v) {_vm.$set(_vm.printer, \"idUso\", $$v)},expression:\"printer.idUso\"}})],1),_c('div',[_c('h3',{staticClass:\"mt-3\"},[_vm._v(\"Impresora:\")]),_c('form',{staticClass:\"my-5 form-add-user pl-0\",attrs:{\"enctype\":\"multipart/form-data\"}},[_c('h6',{staticClass:\"mb-3\"},[_vm._v(\"Tipo de impresora:\")]),_c('b-select',{staticClass:\"py-2 mb-5 sel-form-add mt-0\",attrs:{\"options\":_vm.respuesta.tipos,\"value-field\":\"idTipo\",\"text-field\":\"tipo\"},model:{value:(_vm.printer.idTipo),callback:function ($$v) {_vm.$set(_vm.printer, \"idTipo\", $$v)},expression:\"printer.idTipo\"}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\"Marca:\")]),_c('b-select',{staticClass:\"py-2 mb-5 sel-form-add mt-0\",attrs:{\"options\":_vm.respuesta.marcas,\"value-field\":\"idMarca\",\"text-field\":\"marca\"},model:{value:(_vm.printer.idMarca),callback:function ($$v) {_vm.$set(_vm.printer, \"idMarca\", $$v)},expression:\"printer.idMarca\"}}),_c('h6',[_vm._v(\"Modelo:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.printer.modelo),expression:\"printer.modelo\"}],staticClass:\"pb-2 mb-5\",attrs:{\"type\":\"text\",\"placeholder\":\"Introduzca el campo nuevo:\"},domProps:{\"value\":(_vm.printer.modelo)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.printer, \"modelo\", $event.target.value)}}}),_c('h6',[_vm._v(\"Número de serie:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.printer.noSerie),expression:\"printer.noSerie\"}],staticClass:\"pb-2 mb-5\",attrs:{\"type\":\"text\",\"placeholder\":\"Introduzca el campo nuevo:\"},domProps:{\"value\":(_vm.printer.noSerie)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.printer, \"noSerie\", $event.target.value)}}}),_c('h6',{staticClass:\"mb-3\"},[_vm._v(\"Descripcion adicional:\")]),_c('b-textarea',{staticClass:\"pb-2 mb-5 sel-form-add\",attrs:{\"placeholder\":\"Introduzca la descripción nueva:\",\"rows\":\"3\",\"no-resize\":\"\"},model:{value:(_vm.printer.descripcion),callback:function ($$v) {_vm.$set(_vm.printer, \"descripcion\", $$v)},expression:\"printer.descripcion\"}})],1)]),_c('div',{},[_c('button',{staticClass:\"btn btn-lg btn-primary\",on:{\"click\":function($event){return _vm.$router.push('./user')}}},[_vm._v(\" Regresar \")]),_c('button',{staticClass:\"btn btn-lg btn-danger mx-3\",on:{\"click\":function($event){$event.preventDefault();return _vm.deletePrinter(_vm.printer.noInventario)}}},[_vm._v(\" Eliminar \")]),_c('button',{staticClass:\"btn btn-lg btn-success mt-3 mt-sm-0\",on:{\"click\":function($event){$event.preventDefault();return _vm.saveChanges()}}},[_vm._v(\" Guardar cambios \")])])]),_vm._m(0)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container-fluid px-0\",staticStyle:{\"margin-top\":\"200px\",\"left\":\"0px\",\"position\":\"absolute\"}},[_c('footer',{staticClass:\"text-center\",staticStyle:{\"left\":\"0px\"},attrs:{\"id\":\"footer\"}},[_c('div',{staticClass:\"separador\"}),_c('div',{staticClass:\"contenedor-footer p-3\"},[_c('div',{staticClass:\"text-white mt-3\",staticStyle:{\"font-size\":\"11px\"}},[_c('p',[_vm._v(\" Hecho en México, todos los derechos reservados 2020. \"),_c('br'),_vm._v(\" Esta página puede ser reproducida con fines no lucrativos, siempre y cuando no se mutile, se cite la fuente \"),_c('br'),_vm._v(\" completa y su dirección electrónica. De otra forma, requiere permiso previo por escrito de la institución. \")])])])])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdatePrinter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdatePrinter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UpdatePrinter.vue?vue&type=template&id=cafa92a8&scoped=true&\"\nimport script from \"./UpdatePrinter.vue?vue&type=script&lang=js&\"\nexport * from \"./UpdatePrinter.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UpdatePrinter.vue?vue&type=style&index=0&id=cafa92a8&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"cafa92a8\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport VueRouter from 'vue-router'\n\nimport Login from './views/Login.vue'\nimport User from './views/User.vue'\nimport AddEquip from './views/AddEquip.vue'\nimport AddPrinter from './views/AddPrinter.vue'\nimport UpdateEquip from './views/UpdateEquip.vue'\nimport UpdatePrinter from './views/UpdatePrinter.vue'\n\n\nconst routes = [{\n path: '*',\n redirect: 'login'\n },\n {\n path: '/',\n name: 'root',\n redirect: 'login'\n },\n {\n path: '/login',\n component: Login,\n name: 'login',\n meta: { isPublic: true },\n beforeEnter: (to, from, next) => {\n if (isAuthenticated())\n next('/user');\n else\n next();\n }\n },\n {\n path: '/user',\n component: User,\n name: 'user',\n meta: { isPublic: true },\n beforeEnter: (to, from, next) => {\n if (isAuthenticated())\n next(true);\n else\n next(false);\n }\n },\n {\n path: '/addEquip',\n component: AddEquip,\n name: 'addEquip',\n meta: { perm: true },\n beforeEnter: (to, from, next) => {\n if (!isAuthenticated())\n next('/login');\n else if (isAuthenticated() && !isAdmin())\n next(false)\n else\n next(true);\n }\n },\n {\n path: '/addPrinter',\n component: AddPrinter,\n name: 'addPrinter',\n meta: { perm: true },\n beforeEnter: (to, from, next) => {\n if (!isAuthenticated())\n next('/login');\n else if (isAuthenticated() && !isAdmin())\n next(false)\n else\n next(true);\n }\n },\n {\n path: '/updateEquip',\n component: UpdateEquip,\n name: 'updateEquip',\n meta: { perm: true },\n beforeEnter: (to, from, next) => {\n if (!isAuthenticated())\n next('/login');\n else if (isAuthenticated() && !isAdmin())\n next(false)\n else\n next(true);\n }\n },\n {\n path: '/updatePrinter',\n component: UpdatePrinter,\n name: 'updatePrinter',\n meta: { perm: true },\n beforeEnter: (to, from, next) => {\n if (!isAuthenticated())\n next('/login');\n else if (isAuthenticated() && !isAdmin())\n next(false)\n else\n next(true);\n }\n },\n]\n\nVue.use(VueRouter)\n /* Produccción */\n // const router = new VueRouter({mode: 'history', routes})\n /* Pruebas */\nconst router = new VueRouter({ routes })\n\nconst isAuthenticated = function() {\n return !!window.localStorage.token\n}\n\nconst isAdmin = function() {\n return JSON.parse(window.localStorage.isAdmin)\n}\n\n//const isAdmon = window.localStorage.getItem('rol') ? true : false\n\n/*router.beforeEach((to, from, next) => {\n\n if (to.path !== '/login' && !isAuthenticated()) {\n // eslint-disable-next-line no-console\n //console.log(\"Entrando\");\n return next({ name: 'login' })\n }\n\n // eslint-disable-next-line no-console\n\n if (isAuthenticated() && isAdmin() === false && to.path !== '/user') {\n return next({ name: 'user' })\n }\n\n return next()\n})*/\n\nexport default router;","import Vue from 'vue'\nimport App from './App.vue'\nimport router from './routes'\n\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faUserSecret,\n faUser,\n faLock,\n faGraduationCap,\n faExternalLinkAlt,\n faKey,\n faExclamationCircle,\n faEnvelope,\n faHome\n} from '@fortawesome/free-solid-svg-icons'\nimport { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'\n\nlibrary.add(faUserSecret)\nlibrary.add(faUser)\nlibrary.add(faLock)\nlibrary.add(faExternalLinkAlt)\nlibrary.add(faGraduationCap)\nlibrary.add(faExclamationCircle)\nlibrary.add(faKey)\nlibrary.add(faEnvelope)\nlibrary.add(faHome)\n\nVue.component('font-awesome-icon', FontAwesomeIcon)\n\nVue.config.productionTip = false\n\n// el: '#app',\nnew Vue({\n render: h => h(App),\n router,\n}).$mount('#app')","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddPrinter.vue?vue&type=style&index=0&id=1fcb8031&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddPrinter.vue?vue&type=style&index=0&id=1fcb8031&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=style&index=0&id=325152f0&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=style&index=0&id=325152f0&scoped=true&lang=css&\"","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=8fda2204&scoped=true&lang=css&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=8fda2204&scoped=true&lang=css&\"","const config = {\n //api: 'https://venus.acatlan.unam.mx/censo-pruebas/',\n api: 'https://venus.acatlan.unam.mx/censo_orion',\n //api: 'http://localhost:3000',\n}\n\nmodule.exports = config\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=style&index=0&id=009e7709&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=style&index=0&id=009e7709&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/Logo-UNAM.e51a83fb.png\";","module.exports = __webpack_public_path__ + \"img/logo_fesa.a48ed338.png\";","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdateEquip.vue?vue&type=style&index=0&id=717bb151&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdateEquip.vue?vue&type=style&index=0&id=717bb151&scoped=true&lang=css&\""],"sourceRoot":""} \ No newline at end of file diff --git a/dist/js/chunk-vendors.f0af08be.js b/dist/js/chunk-vendors.6d6b9537.js similarity index 98% rename from dist/js/chunk-vendors.f0af08be.js rename to dist/js/chunk-vendors.6d6b9537.js index 2a5a623..9052141 100644 --- a/dist/js/chunk-vendors.f0af08be.js +++ b/dist/js/chunk-vendors.6d6b9537.js @@ -38,12 +38,12 @@ var r=Object.freeze({});function n(e){return void 0===e||null===e}function i(e){ * @author Feross Aboukhadijeh * @license MIT */ -var n=r("1fb5"),i=r("9152"),a=r("e3db");function o(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"===typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(t){return!1}}function s(){return c.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function l(e,t){if(s()=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|e}function y(e){return+e!=e&&(e=0),c.alloc(+e)}function w(e,t){if(c.isBuffer(e))return e.length;if("undefined"!==typeof ArrayBuffer&&"function"===typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!==typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return q(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Q(e).length;default:if(n)return q(e).length;t=(""+t).toLowerCase(),n=!0}}function S(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if(r>>>=0,t>>>=0,r<=t)return"";e||(e="utf8");while(1)switch(e){case"hex":return j(this,t,r);case"utf8":case"utf-8":return I(this,t,r);case"ascii":return F(this,t,r);case"latin1":case"binary":return N(this,t,r);case"base64":return P(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function k(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function C(e,t,r,n,i){if(0===e.length)return-1;if("string"===typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"===typeof t&&(t=c.from(t,n)),c.isBuffer(t))return 0===t.length?-1:O(e,t,r,n,i);if("number"===typeof t)return t&=255,c.TYPED_ARRAY_SUPPORT&&"function"===typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):O(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function O(e,t,r,n,i){var a,o=1,s=e.length,l=t.length;if(void 0!==n&&(n=String(n).toLowerCase(),"ucs2"===n||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;o=2,s/=2,l/=2,r/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var u=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;hi&&(n=i)):n=i;var a=t.length;if(a%2!==0)throw new TypeError("Invalid hex string");n>a/2&&(n=a/2);for(var o=0;o239?4:c>223?3:c>191?2:1;if(i+f<=r)switch(f){case 1:c<128&&(u=c);break;case 2:a=e[i+1],128===(192&a)&&(l=(31&c)<<6|63&a,l>127&&(u=l));break;case 3:a=e[i+1],o=e[i+2],128===(192&a)&&128===(192&o)&&(l=(15&c)<<12|(63&a)<<6|63&o,l>2047&&(l<55296||l>57343)&&(u=l));break;case 4:a=e[i+1],o=e[i+2],s=e[i+3],128===(192&a)&&128===(192&o)&&128===(192&s)&&(l=(15&c)<<18|(63&a)<<12|(63&o)<<6|63&s,l>65535&&l<1114112&&(u=l))}null===u?(u=65533,f=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),i+=f}return R(n)}t.Buffer=c,t.SlowBuffer=y,t.INSPECT_MAX_BYTES=50,c.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:o(),t.kMaxLength=s(),c.poolSize=8192,c._augment=function(e){return e.__proto__=c.prototype,e},c.from=function(e,t,r){return u(null,e,t,r)},c.TYPED_ARRAY_SUPPORT&&(c.prototype.__proto__=Uint8Array.prototype,c.__proto__=Uint8Array,"undefined"!==typeof Symbol&&Symbol.species&&c[Symbol.species]===c&&Object.defineProperty(c,Symbol.species,{value:null,configurable:!0})),c.alloc=function(e,t,r){return h(null,e,t,r)},c.allocUnsafe=function(e){return d(null,e)},c.allocUnsafeSlow=function(e){return d(null,e)},c.isBuffer=function(e){return!(null==e||!e._isBuffer)},c.compare=function(e,t){if(!c.isBuffer(e)||!c.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var r=e.length,n=t.length,i=0,a=Math.min(r,n);i0&&(e=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(e+=" ... ")),""},c.prototype.compare=function(e,t,r,n,i){if(!c.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(t>>>=0,r>>>=0,n>>>=0,i>>>=0,this===e)return 0;for(var a=i-n,o=r-t,s=Math.min(a,o),l=this.slice(n,i),u=e.slice(t,r),f=0;fi)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return x(this,e,t,r);case"utf8":case"utf-8":return E(this,e,t,r);case"ascii":return T(this,e,t,r);case"latin1":case"binary":return _(this,e,t,r);case"base64":return A(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return B(this,e,t,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var D=4096;function R(e){var t=e.length;if(t<=D)return String.fromCharCode.apply(String,e);var r="",n=0;while(nn)&&(r=n);for(var i="",a=t;ar)throw new RangeError("Trying to access beyond buffer length")}function $(e,t,r,n,i,a){if(!c.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function V(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,a=Math.min(e.length-r,2);i>>8*(n?i:1-i)}function z(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,a=Math.min(e.length-r,4);i>>8*(n?i:3-i)&255}function H(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function U(e,t,r,n,a){return a||H(e,t,r,4,34028234663852886e22,-34028234663852886e22),i.write(e,t,r,n,23,4),r+4}function W(e,t,r,n,a){return a||H(e,t,r,8,17976931348623157e292,-17976931348623157e292),i.write(e,t,r,n,52,8),r+8}c.prototype.slice=function(e,t){var r,n=this.length;if(e=~~e,t=void 0===t?n:~~t,e<0?(e+=n,e<0&&(e=0)):e>n&&(e=n),t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),t0&&(i*=256))n+=this[e+--t]*i;return n},c.prototype.readUInt8=function(e,t){return t||M(e,1,this.length),this[e]},c.prototype.readUInt16LE=function(e,t){return t||M(e,2,this.length),this[e]|this[e+1]<<8},c.prototype.readUInt16BE=function(e,t){return t||M(e,2,this.length),this[e]<<8|this[e+1]},c.prototype.readUInt32LE=function(e,t){return t||M(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},c.prototype.readUInt32BE=function(e,t){return t||M(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},c.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||M(e,t,this.length);var n=this[e],i=1,a=0;while(++a=i&&(n-=Math.pow(2,8*t)),n},c.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||M(e,t,this.length);var n=t,i=1,a=this[e+--n];while(n>0&&(i*=256))a+=this[e+--n]*i;return i*=128,a>=i&&(a-=Math.pow(2,8*t)),a},c.prototype.readInt8=function(e,t){return t||M(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},c.prototype.readInt16LE=function(e,t){t||M(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt16BE=function(e,t){t||M(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt32LE=function(e,t){return t||M(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},c.prototype.readInt32BE=function(e,t){return t||M(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},c.prototype.readFloatLE=function(e,t){return t||M(e,4,this.length),i.read(this,e,!0,23,4)},c.prototype.readFloatBE=function(e,t){return t||M(e,4,this.length),i.read(this,e,!1,23,4)},c.prototype.readDoubleLE=function(e,t){return t||M(e,8,this.length),i.read(this,e,!0,52,8)},c.prototype.readDoubleBE=function(e,t){return t||M(e,8,this.length),i.read(this,e,!1,52,8)},c.prototype.writeUIntLE=function(e,t,r,n){if(e=+e,t|=0,r|=0,!n){var i=Math.pow(2,8*r)-1;$(this,e,t,r,i,0)}var a=1,o=0;this[t]=255&e;while(++o=0&&(o*=256))this[t+a]=e/o&255;return t+r},c.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||$(this,e,t,1,255,0),c.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},c.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||$(this,e,t,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):V(this,e,t,!0),t+2},c.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||$(this,e,t,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):V(this,e,t,!1),t+2},c.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||$(this,e,t,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):z(this,e,t,!0),t+4},c.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||$(this,e,t,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):z(this,e,t,!1),t+4},c.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);$(this,e,t,r,i-1,-i)}var a=0,o=1,s=0;this[t]=255&e;while(++a>0)-s&255;return t+r},c.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);$(this,e,t,r,i-1,-i)}var a=r-1,o=1,s=0;this[t+a]=255&e;while(--a>=0&&(o*=256))e<0&&0===s&&0!==this[t+a+1]&&(s=1),this[t+a]=(e/o>>0)-s&255;return t+r},c.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||$(this,e,t,1,127,-128),c.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},c.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||$(this,e,t,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):V(this,e,t,!0),t+2},c.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||$(this,e,t,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):V(this,e,t,!1),t+2},c.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||$(this,e,t,4,2147483647,-2147483648),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):z(this,e,t,!0),t+4},c.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||$(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):z(this,e,t,!1),t+4},c.prototype.writeFloatLE=function(e,t,r){return U(this,e,t,!0,r)},c.prototype.writeFloatBE=function(e,t,r){return U(this,e,t,!1,r)},c.prototype.writeDoubleLE=function(e,t,r){return W(this,e,t,!0,r)},c.prototype.writeDoubleBE=function(e,t,r){return W(this,e,t,!1,r)},c.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t=0;--i)e[i+t]=this[i+r];else if(a<1e3||!c.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"===typeof e)for(a=t;a55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function Z(e){for(var t=[],r=0;r>8,i=r%256,a.push(i),a.push(n)}return a}function Q(e){return n.toByteArray(X(e))}function ee(e,t,r,n){for(var i=0;i=t.length||i>=e.length)break;t[i+r]=e[i]}return i}function te(e){return e!==e}}).call(this,r("c8ba"))},b64b:function(e,t,r){var n=r("23e7"),i=r("7b0b"),a=r("df75"),o=r("d039"),s=o((function(){a(1)}));n({target:"Object",stat:!0,forced:s},{keys:function(e){return a(i(e))}})},b727:function(e,t,r){var n=r("0366"),i=r("44ad"),a=r("7b0b"),o=r("50c4"),s=r("65f0"),l=[].push,c=function(e){var t=1==e,r=2==e,c=3==e,u=4==e,f=6==e,h=5==e||f;return function(d,p,m,g){for(var b,v,y=a(d),w=i(y),S=n(p,m,3),k=o(w.length),C=0,O=g||s,x=t?O(d,k):r?O(d,0):void 0;k>C;C++)if((h||C in w)&&(b=w[C],v=S(b,C,y),e))if(t)x[C]=v;else if(v)switch(e){case 3:return!0;case 5:return b;case 6:return C;case 2:l.call(x,b)}else if(u)return!1;return f?-1:c||u?u:x}};e.exports={forEach:c(0),map:c(1),filter:c(2),some:c(3),every:c(4),find:c(5),findIndex:c(6)}},bc3a:function(e,t,r){e.exports=r("cee4")},c04e:function(e,t,r){var n=r("861d");e.exports=function(e,t){if(!n(e))return e;var r,i;if(t&&"function"==typeof(r=e.toString)&&!n(i=r.call(e)))return i;if("function"==typeof(r=e.valueOf)&&!n(i=r.call(e)))return i;if(!t&&"function"==typeof(r=e.toString)&&!n(i=r.call(e)))return i;throw TypeError("Can't convert object to primitive value")}},c074:function(e,t,r){"use strict";r.d(t,"a",(function(){return n})),r.d(t,"b",(function(){return i})),r.d(t,"c",(function(){return a})),r.d(t,"d",(function(){return o})),r.d(t,"e",(function(){return s})),r.d(t,"f",(function(){return l})),r.d(t,"g",(function(){return c})),r.d(t,"h",(function(){return u})),r.d(t,"i",(function(){return f})); +var n=r("1fb5"),i=r("9152"),a=r("e3db");function o(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"===typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(t){return!1}}function s(){return c.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function l(e,t){if(s()=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|e}function y(e){return+e!=e&&(e=0),c.alloc(+e)}function w(e,t){if(c.isBuffer(e))return e.length;if("undefined"!==typeof ArrayBuffer&&"function"===typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!==typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return q(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Q(e).length;default:if(n)return q(e).length;t=(""+t).toLowerCase(),n=!0}}function S(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if(r>>>=0,t>>>=0,r<=t)return"";e||(e="utf8");while(1)switch(e){case"hex":return j(this,t,r);case"utf8":case"utf-8":return I(this,t,r);case"ascii":return F(this,t,r);case"latin1":case"binary":return N(this,t,r);case"base64":return P(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function k(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function C(e,t,r,n,i){if(0===e.length)return-1;if("string"===typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"===typeof t&&(t=c.from(t,n)),c.isBuffer(t))return 0===t.length?-1:O(e,t,r,n,i);if("number"===typeof t)return t&=255,c.TYPED_ARRAY_SUPPORT&&"function"===typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):O(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function O(e,t,r,n,i){var a,o=1,s=e.length,l=t.length;if(void 0!==n&&(n=String(n).toLowerCase(),"ucs2"===n||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;o=2,s/=2,l/=2,r/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var u=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;hi&&(n=i)):n=i;var a=t.length;if(a%2!==0)throw new TypeError("Invalid hex string");n>a/2&&(n=a/2);for(var o=0;o239?4:c>223?3:c>191?2:1;if(i+f<=r)switch(f){case 1:c<128&&(u=c);break;case 2:a=e[i+1],128===(192&a)&&(l=(31&c)<<6|63&a,l>127&&(u=l));break;case 3:a=e[i+1],o=e[i+2],128===(192&a)&&128===(192&o)&&(l=(15&c)<<12|(63&a)<<6|63&o,l>2047&&(l<55296||l>57343)&&(u=l));break;case 4:a=e[i+1],o=e[i+2],s=e[i+3],128===(192&a)&&128===(192&o)&&128===(192&s)&&(l=(15&c)<<18|(63&a)<<12|(63&o)<<6|63&s,l>65535&&l<1114112&&(u=l))}null===u?(u=65533,f=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),i+=f}return R(n)}t.Buffer=c,t.SlowBuffer=y,t.INSPECT_MAX_BYTES=50,c.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:o(),t.kMaxLength=s(),c.poolSize=8192,c._augment=function(e){return e.__proto__=c.prototype,e},c.from=function(e,t,r){return u(null,e,t,r)},c.TYPED_ARRAY_SUPPORT&&(c.prototype.__proto__=Uint8Array.prototype,c.__proto__=Uint8Array,"undefined"!==typeof Symbol&&Symbol.species&&c[Symbol.species]===c&&Object.defineProperty(c,Symbol.species,{value:null,configurable:!0})),c.alloc=function(e,t,r){return h(null,e,t,r)},c.allocUnsafe=function(e){return d(null,e)},c.allocUnsafeSlow=function(e){return d(null,e)},c.isBuffer=function(e){return!(null==e||!e._isBuffer)},c.compare=function(e,t){if(!c.isBuffer(e)||!c.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var r=e.length,n=t.length,i=0,a=Math.min(r,n);i0&&(e=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(e+=" ... ")),""},c.prototype.compare=function(e,t,r,n,i){if(!c.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(t>>>=0,r>>>=0,n>>>=0,i>>>=0,this===e)return 0;for(var a=i-n,o=r-t,s=Math.min(a,o),l=this.slice(n,i),u=e.slice(t,r),f=0;fi)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return x(this,e,t,r);case"utf8":case"utf-8":return E(this,e,t,r);case"ascii":return T(this,e,t,r);case"latin1":case"binary":return _(this,e,t,r);case"base64":return A(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return B(this,e,t,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var D=4096;function R(e){var t=e.length;if(t<=D)return String.fromCharCode.apply(String,e);var r="",n=0;while(nn)&&(r=n);for(var i="",a=t;ar)throw new RangeError("Trying to access beyond buffer length")}function $(e,t,r,n,i,a){if(!c.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function V(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,a=Math.min(e.length-r,2);i>>8*(n?i:1-i)}function z(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,a=Math.min(e.length-r,4);i>>8*(n?i:3-i)&255}function H(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function U(e,t,r,n,a){return a||H(e,t,r,4,34028234663852886e22,-34028234663852886e22),i.write(e,t,r,n,23,4),r+4}function W(e,t,r,n,a){return a||H(e,t,r,8,17976931348623157e292,-17976931348623157e292),i.write(e,t,r,n,52,8),r+8}c.prototype.slice=function(e,t){var r,n=this.length;if(e=~~e,t=void 0===t?n:~~t,e<0?(e+=n,e<0&&(e=0)):e>n&&(e=n),t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),t0&&(i*=256))n+=this[e+--t]*i;return n},c.prototype.readUInt8=function(e,t){return t||M(e,1,this.length),this[e]},c.prototype.readUInt16LE=function(e,t){return t||M(e,2,this.length),this[e]|this[e+1]<<8},c.prototype.readUInt16BE=function(e,t){return t||M(e,2,this.length),this[e]<<8|this[e+1]},c.prototype.readUInt32LE=function(e,t){return t||M(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},c.prototype.readUInt32BE=function(e,t){return t||M(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},c.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||M(e,t,this.length);var n=this[e],i=1,a=0;while(++a=i&&(n-=Math.pow(2,8*t)),n},c.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||M(e,t,this.length);var n=t,i=1,a=this[e+--n];while(n>0&&(i*=256))a+=this[e+--n]*i;return i*=128,a>=i&&(a-=Math.pow(2,8*t)),a},c.prototype.readInt8=function(e,t){return t||M(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},c.prototype.readInt16LE=function(e,t){t||M(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt16BE=function(e,t){t||M(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt32LE=function(e,t){return t||M(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},c.prototype.readInt32BE=function(e,t){return t||M(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},c.prototype.readFloatLE=function(e,t){return t||M(e,4,this.length),i.read(this,e,!0,23,4)},c.prototype.readFloatBE=function(e,t){return t||M(e,4,this.length),i.read(this,e,!1,23,4)},c.prototype.readDoubleLE=function(e,t){return t||M(e,8,this.length),i.read(this,e,!0,52,8)},c.prototype.readDoubleBE=function(e,t){return t||M(e,8,this.length),i.read(this,e,!1,52,8)},c.prototype.writeUIntLE=function(e,t,r,n){if(e=+e,t|=0,r|=0,!n){var i=Math.pow(2,8*r)-1;$(this,e,t,r,i,0)}var a=1,o=0;this[t]=255&e;while(++o=0&&(o*=256))this[t+a]=e/o&255;return t+r},c.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||$(this,e,t,1,255,0),c.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},c.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||$(this,e,t,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):V(this,e,t,!0),t+2},c.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||$(this,e,t,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):V(this,e,t,!1),t+2},c.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||$(this,e,t,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):z(this,e,t,!0),t+4},c.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||$(this,e,t,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):z(this,e,t,!1),t+4},c.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);$(this,e,t,r,i-1,-i)}var a=0,o=1,s=0;this[t]=255&e;while(++a>0)-s&255;return t+r},c.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);$(this,e,t,r,i-1,-i)}var a=r-1,o=1,s=0;this[t+a]=255&e;while(--a>=0&&(o*=256))e<0&&0===s&&0!==this[t+a+1]&&(s=1),this[t+a]=(e/o>>0)-s&255;return t+r},c.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||$(this,e,t,1,127,-128),c.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},c.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||$(this,e,t,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):V(this,e,t,!0),t+2},c.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||$(this,e,t,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):V(this,e,t,!1),t+2},c.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||$(this,e,t,4,2147483647,-2147483648),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):z(this,e,t,!0),t+4},c.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||$(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):z(this,e,t,!1),t+4},c.prototype.writeFloatLE=function(e,t,r){return U(this,e,t,!0,r)},c.prototype.writeFloatBE=function(e,t,r){return U(this,e,t,!1,r)},c.prototype.writeDoubleLE=function(e,t,r){return W(this,e,t,!0,r)},c.prototype.writeDoubleBE=function(e,t,r){return W(this,e,t,!1,r)},c.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t=0;--i)e[i+t]=this[i+r];else if(a<1e3||!c.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"===typeof e)for(a=t;a55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function Z(e){for(var t=[],r=0;r>8,i=r%256,a.push(i),a.push(n)}return a}function Q(e){return n.toByteArray(X(e))}function ee(e,t,r,n){for(var i=0;i=t.length||i>=e.length)break;t[i+r]=e[i]}return i}function te(e){return e!==e}}).call(this,r("c8ba"))},b64b:function(e,t,r){var n=r("23e7"),i=r("7b0b"),a=r("df75"),o=r("d039"),s=o((function(){a(1)}));n({target:"Object",stat:!0,forced:s},{keys:function(e){return a(i(e))}})},b727:function(e,t,r){var n=r("0366"),i=r("44ad"),a=r("7b0b"),o=r("50c4"),s=r("65f0"),l=[].push,c=function(e){var t=1==e,r=2==e,c=3==e,u=4==e,f=6==e,h=5==e||f;return function(d,p,m,g){for(var b,v,y=a(d),w=i(y),S=n(p,m,3),k=o(w.length),C=0,O=g||s,x=t?O(d,k):r?O(d,0):void 0;k>C;C++)if((h||C in w)&&(b=w[C],v=S(b,C,y),e))if(t)x[C]=v;else if(v)switch(e){case 3:return!0;case 5:return b;case 6:return C;case 2:l.call(x,b)}else if(u)return!1;return f?-1:c||u?u:x}};e.exports={forEach:c(0),map:c(1),filter:c(2),some:c(3),every:c(4),find:c(5),findIndex:c(6)}},bc3a:function(e,t,r){e.exports=r("cee4")},c04e:function(e,t,r){var n=r("861d");e.exports=function(e,t){if(!n(e))return e;var r,i;if(t&&"function"==typeof(r=e.toString)&&!n(i=r.call(e)))return i;if("function"==typeof(r=e.valueOf)&&!n(i=r.call(e)))return i;if(!t&&"function"==typeof(r=e.toString)&&!n(i=r.call(e)))return i;throw TypeError("Can't convert object to primitive value")}},c074:function(e,t,r){"use strict";r.d(t,"a",(function(){return n})),r.d(t,"b",(function(){return i})),r.d(t,"c",(function(){return a})),r.d(t,"d",(function(){return o})),r.d(t,"e",(function(){return s})),r.d(t,"f",(function(){return l})),r.d(t,"g",(function(){return c})),r.d(t,"h",(function(){return u})),r.d(t,"i",(function(){return f})),r.d(t,"j",(function(){return h})); /*! * Font Awesome Free 5.15.0 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) */ -var n={prefix:"fas",iconName:"envelope",icon:[512,512,[],"f0e0","M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"]},i={prefix:"fas",iconName:"exclamation-circle",icon:[512,512,[],"f06a","M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"]},a={prefix:"fas",iconName:"external-link-alt",icon:[512,512,[],"f35d","M432,320H400a16,16,0,0,0-16,16V448H64V128H208a16,16,0,0,0,16-16V80a16,16,0,0,0-16-16H48A48,48,0,0,0,0,112V464a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V336A16,16,0,0,0,432,320ZM488,0h-128c-21.37,0-32.05,25.91-17,41l35.73,35.73L135,320.37a24,24,0,0,0,0,34L157.67,377a24,24,0,0,0,34,0L435.28,133.32,471,169c15,15,41,4.5,41-17V24A24,24,0,0,0,488,0Z"]},o={prefix:"fas",iconName:"graduation-cap",icon:[640,512,[],"f19d","M622.34 153.2L343.4 67.5c-15.2-4.67-31.6-4.67-46.79 0L17.66 153.2c-23.54 7.23-23.54 38.36 0 45.59l48.63 14.94c-10.67 13.19-17.23 29.28-17.88 46.9C38.78 266.15 32 276.11 32 288c0 10.78 5.68 19.85 13.86 25.65L20.33 428.53C18.11 438.52 25.71 448 35.94 448h56.11c10.24 0 17.84-9.48 15.62-19.47L82.14 313.65C90.32 307.85 96 298.78 96 288c0-11.57-6.47-21.25-15.66-26.87.76-15.02 8.44-28.3 20.69-36.72L296.6 284.5c9.06 2.78 26.44 6.25 46.79 0l278.95-85.7c23.55-7.24 23.55-38.36 0-45.6zM352.79 315.09c-28.53 8.76-52.84 3.92-65.59 0l-145.02-44.55L128 384c0 35.35 85.96 64 192 64s192-28.65 192-64l-14.18-113.47-145.03 44.56z"]},s={prefix:"fas",iconName:"home",icon:[576,512,[],"f015","M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.06-.29a16 16 0 0 0 15.92-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z"]},l={prefix:"fas",iconName:"key",icon:[512,512,[],"f084","M512 176.001C512 273.203 433.202 352 336 352c-11.22 0-22.19-1.062-32.827-3.069l-24.012 27.014A23.999 23.999 0 0 1 261.223 384H224v40c0 13.255-10.745 24-24 24h-40v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-78.059c0-6.365 2.529-12.47 7.029-16.971l161.802-161.802C163.108 213.814 160 195.271 160 176 160 78.798 238.797.001 335.999 0 433.488-.001 512 78.511 512 176.001zM336 128c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48-48 21.49-48 48z"]},c={prefix:"fas",iconName:"lock",icon:[448,512,[],"f023","M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z"]},u={prefix:"fas",iconName:"user",icon:[448,512,[],"f007","M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z"]},f={prefix:"fas",iconName:"user-secret",icon:[448,512,[],"f21b","M383.9 308.3l23.9-62.6c4-10.5-3.7-21.7-15-21.7h-58.5c11-18.9 17.8-40.6 17.8-64v-.3c39.2-7.8 64-19.1 64-31.7 0-13.3-27.3-25.1-70.1-33-9.2-32.8-27-65.8-40.6-82.8-9.5-11.9-25.9-15.6-39.5-8.8l-27.6 13.8c-9 4.5-19.6 4.5-28.6 0L182.1 3.4c-13.6-6.8-30-3.1-39.5 8.8-13.5 17-31.4 50-40.6 82.8-42.7 7.9-70 19.7-70 33 0 12.6 24.8 23.9 64 31.7v.3c0 23.4 6.8 45.1 17.8 64H56.3c-11.5 0-19.2 11.7-14.7 22.3l25.8 60.2C27.3 329.8 0 372.7 0 422.4v44.8C0 491.9 20.1 512 44.8 512h358.4c24.7 0 44.8-20.1 44.8-44.8v-44.8c0-48.4-25.8-90.4-64.1-114.1zM176 480l-41.6-192 49.6 32 24 40-32 120zm96 0l-32-120 24-40 49.6-32L272 480zm41.7-298.5c-3.9 11.9-7 24.6-16.5 33.4-10.1 9.3-48 22.4-64-25-2.8-8.4-15.4-8.4-18.3 0-17 50.2-56 32.4-64 25-9.5-8.8-12.7-21.5-16.5-33.4-.8-2.5-6.3-5.7-6.3-5.8v-10.8c28.3 3.6 61 5.8 96 5.8s67.7-2.1 96-5.8v10.8c-.1.1-5.6 3.2-6.4 5.8z"]}},c345:function(e,t,r){"use strict";var n=r("c532"),i=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,r,a,o={};return e?(n.forEach(e.split("\n"),(function(e){if(a=e.indexOf(":"),t=n.trim(e.substr(0,a)).toLowerCase(),r=n.trim(e.substr(a+1)),t){if(o[t]&&i.indexOf(t)>=0)return;o[t]="set-cookie"===t?(o[t]?o[t]:[]).concat([r]):o[t]?o[t]+", "+r:r}})),o):o}},c401:function(e,t,r){"use strict";var n=r("c532");e.exports=function(e,t,r){return n.forEach(r,(function(r){e=r(e,t)})),e}},c430:function(e,t){e.exports=!1},c532:function(e,t,r){"use strict";var n=r("1d2b"),i=Object.prototype.toString;function a(e){return"[object Array]"===i.call(e)}function o(e){return"undefined"===typeof e}function s(e){return null!==e&&!o(e)&&null!==e.constructor&&!o(e.constructor)&&"function"===typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function l(e){return"[object ArrayBuffer]"===i.call(e)}function c(e){return"undefined"!==typeof FormData&&e instanceof FormData}function u(e){var t;return t="undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer,t}function f(e){return"string"===typeof e}function h(e){return"number"===typeof e}function d(e){return null!==e&&"object"===typeof e}function p(e){if("[object Object]"!==i.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function m(e){return"[object Date]"===i.call(e)}function g(e){return"[object File]"===i.call(e)}function b(e){return"[object Blob]"===i.call(e)}function v(e){return"[object Function]"===i.call(e)}function y(e){return d(e)&&v(e.pipe)}function w(e){return"undefined"!==typeof URLSearchParams&&e instanceof URLSearchParams}function S(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}function k(){return("undefined"===typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!==typeof window&&"undefined"!==typeof document)}function C(e,t){if(null!==e&&"undefined"!==typeof e)if("object"!==typeof e&&(e=[e]),a(e))for(var r=0,n=e.length;rl)n(s,r=t[l++])&&(~a(c,r)||c.push(r));return c}},cc12:function(e,t,r){var n=r("da84"),i=r("861d"),a=n.document,o=i(a)&&i(a.createElement);e.exports=function(e){return o?a.createElement(e):{}}},cca6:function(e,t,r){var n=r("23e7"),i=r("60da");n({target:"Object",stat:!0,forced:Object.assign!==i},{assign:i})},cdf9:function(e,t,r){var n=r("825a"),i=r("861d"),a=r("f069");e.exports=function(e,t){if(n(e),i(t)&&t.constructor===e)return t;var r=a.f(e),o=r.resolve;return o(t),r.promise}},ce4e:function(e,t,r){var n=r("da84"),i=r("9112");e.exports=function(e,t){try{i(n,e,t)}catch(r){n[e]=t}return t}},cee4:function(e,t,r){"use strict";var n=r("c532"),i=r("1d2b"),a=r("0a06"),o=r("4a7b"),s=r("2444");function l(e){var t=new a(e),r=i(a.prototype.request,t);return n.extend(r,a.prototype,t),n.extend(r,t),r}var c=l(s);c.Axios=a,c.create=function(e){return l(o(c.defaults,e))},c.Cancel=r("7a77"),c.CancelToken=r("8df4"),c.isCancel=r("2e67"),c.all=function(e){return Promise.all(e)},c.spread=r("0df6"),e.exports=c,e.exports.default=c},d012:function(e,t){e.exports={}},d039:function(e,t){e.exports=function(e){try{return!!e()}catch(t){return!0}}},d066:function(e,t,r){var n=r("428f"),i=r("da84"),a=function(e){return"function"==typeof e?e:void 0};e.exports=function(e,t){return arguments.length<2?a(n[e])||a(i[e]):n[e]&&n[e][t]||i[e]&&i[e][t]}},d1e7:function(e,t,r){"use strict";var n={}.propertyIsEnumerable,i=Object.getOwnPropertyDescriptor,a=i&&!n.call({1:2},1);t.f=a?function(e){var t=i(this,e);return!!t&&t.enumerable}:n},d2bb:function(e,t,r){var n=r("825a"),i=r("3bbe");e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,r={};try{e=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set,e.call(r,[]),t=r instanceof Array}catch(a){}return function(r,a){return n(r),i(a),t?e.call(r,a):r.__proto__=a,r}}():void 0)},d3b7:function(e,t,r){var n=r("00ee"),i=r("6eeb"),a=r("b041");n||i(Object.prototype,"toString",a,{unsafe:!0})},d44e:function(e,t,r){var n=r("9bf2").f,i=r("5135"),a=r("b622"),o=a("toStringTag");e.exports=function(e,t,r){e&&!i(e=r?e:e.prototype,o)&&n(e,o,{configurable:!0,value:t})}},d784:function(e,t,r){"use strict";r("ac1f");var n=r("6eeb"),i=r("d039"),a=r("b622"),o=r("9263"),s=r("9112"),l=a("species"),c=!i((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$")})),u=function(){return"$0"==="a".replace(/./,"$0")}(),f=a("replace"),h=function(){return!!/./[f]&&""===/./[f]("a","$0")}(),d=!i((function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var r="ab".split(e);return 2!==r.length||"a"!==r[0]||"b"!==r[1]}));e.exports=function(e,t,r,f){var p=a(e),m=!i((function(){var t={};return t[p]=function(){return 7},7!=""[e](t)})),g=m&&!i((function(){var t=!1,r=/a/;return"split"===e&&(r={},r.constructor={},r.constructor[l]=function(){return r},r.flags="",r[p]=/./[p]),r.exec=function(){return t=!0,null},r[p](""),!t}));if(!m||!g||"replace"===e&&(!c||!u||h)||"split"===e&&!d){var b=/./[p],v=r(p,""[e],(function(e,t,r,n,i){return t.exec===o?m&&!i?{done:!0,value:b.call(t,r,n)}:{done:!0,value:e.call(r,t,n)}:{done:!1}}),{REPLACE_KEEPS_$0:u,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:h}),y=v[0],w=v[1];n(String.prototype,e,y),n(RegExp.prototype,p,2==t?function(e,t){return w.call(e,this,t)}:function(e){return w.call(e,this)})}f&&s(RegExp.prototype[p],"sham",!0)}},d925:function(e,t,r){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},da84:function(e,t,r){(function(t){var r=function(e){return e&&e.Math==Math&&e};e.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof t&&t)||Function("return this")()}).call(this,r("c8ba"))},df75:function(e,t,r){var n=r("ca84"),i=r("7839");e.exports=Object.keys||function(e){return n(e,i)}},df7c:function(e,t,r){(function(e){function r(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e){"string"!==typeof e&&(e+="");var t,r=0,n=-1,i=!0;for(t=e.length-1;t>=0;--t)if(47===e.charCodeAt(t)){if(!i){r=t+1;break}}else-1===n&&(i=!1,n=t+1);return-1===n?"":e.slice(r,n)}function i(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!n;a--){var o=a>=0?arguments[a]:e.cwd();if("string"!==typeof o)throw new TypeError("Arguments to path.resolve must be strings");o&&(t=o+"/"+t,n="/"===o.charAt(0))}return t=r(i(t.split("/"),(function(e){return!!e})),!n).join("/"),(n?"/":"")+t||"."},t.normalize=function(e){var n=t.isAbsolute(e),o="/"===a(e,-1);return e=r(i(e.split("/"),(function(e){return!!e})),!n).join("/"),e||n||(e="."),e&&o&&(e+="/"),(n?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(i(e,(function(e,t){if("string"!==typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))},t.relative=function(e,r){function n(e){for(var t=0;t=0;r--)if(""!==e[r])break;return t>r?[]:e.slice(t,r-t+1)}e=t.resolve(e).substr(1),r=t.resolve(r).substr(1);for(var i=n(e.split("/")),a=n(r.split("/")),o=Math.min(i.length,a.length),s=o,l=0;l=1;--a)if(t=e.charCodeAt(a),47===t){if(!i){n=a;break}}else i=!1;return-1===n?r?"/":".":r&&1===n?"/":e.slice(0,n)},t.basename=function(e,t){var r=n(e);return t&&r.substr(-1*t.length)===t&&(r=r.substr(0,r.length-t.length)),r},t.extname=function(e){"string"!==typeof e&&(e+="");for(var t=-1,r=0,n=-1,i=!0,a=0,o=e.length-1;o>=0;--o){var s=e.charCodeAt(o);if(47!==s)-1===n&&(i=!1,n=o+1),46===s?-1===t?t=o:1!==a&&(a=1):-1!==t&&(a=-1);else if(!i){r=o+1;break}}return-1===t||-1===n||0===a||1===a&&t===n-1&&t===r+1?"":e.slice(t,n)};var a="b"==="ab".substr(-1)?function(e,t,r){return e.substr(t,r)}:function(e,t,r){return t<0&&(t=e.length+t),e.substr(t,r)}}).call(this,r("4362"))},e163:function(e,t,r){var n=r("5135"),i=r("7b0b"),a=r("f772"),o=r("e177"),s=a("IE_PROTO"),l=Object.prototype;e.exports=o?Object.getPrototypeOf:function(e){return e=i(e),n(e,s)?e[s]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?l:null}},e177:function(e,t,r){var n=r("d039");e.exports=!n((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},e260:function(e,t,r){"use strict";var n=r("fc6a"),i=r("44d2"),a=r("3f8c"),o=r("69f3"),s=r("7dd0"),l="Array Iterator",c=o.set,u=o.getterFor(l);e.exports=s(Array,"Array",(function(e,t){c(this,{type:l,target:n(e),index:0,kind:t})}),(function(){var e=u(this),t=e.target,r=e.kind,n=e.index++;return!t||n>=t.length?(e.target=void 0,{value:void 0,done:!0}):"keys"==r?{value:n,done:!1}:"values"==r?{value:t[n],done:!1}:{value:[n,t[n]],done:!1}}),"values"),a.Arguments=a.Array,i("keys"),i("values"),i("entries")},e2cc:function(e,t,r){var n=r("6eeb");e.exports=function(e,t,r){for(var i in t)n(e,i,t[i],r);return e}},e3db:function(e,t){var r={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},e667:function(e,t){e.exports=function(e){try{return{error:!1,value:e()}}catch(t){return{error:!0,value:t}}}},e683:function(e,t,r){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},e6cf:function(e,t,r){"use strict";var n,i,a,o,s=r("23e7"),l=r("c430"),c=r("da84"),u=r("d066"),f=r("fea9"),h=r("6eeb"),d=r("e2cc"),p=r("d44e"),m=r("2626"),g=r("861d"),b=r("1c0b"),v=r("19aa"),y=r("c6b6"),w=r("8925"),S=r("2266"),k=r("1c7e"),C=r("4840"),O=r("2cf4").set,x=r("b575"),E=r("cdf9"),T=r("44de"),_=r("f069"),A=r("e667"),B=r("69f3"),P=r("94ca"),I=r("b622"),D=r("2d00"),R=I("species"),F="Promise",N=B.get,j=B.set,L=B.getterFor(F),M=f,$=c.TypeError,V=c.document,z=c.process,H=u("fetch"),U=_.f,W=U,G="process"==y(z),X=!!(V&&V.createEvent&&c.dispatchEvent),Y="unhandledrejection",K="rejectionhandled",q=0,Z=1,J=2,Q=1,ee=2,te=P(F,(function(){var e=w(M)!==String(M);if(!e){if(66===D)return!0;if(!G&&"function"!=typeof PromiseRejectionEvent)return!0}if(l&&!M.prototype["finally"])return!0;if(D>=51&&/native code/.test(M))return!1;var t=M.resolve(1),r=function(e){e((function(){}),(function(){}))},n=t.constructor={};return n[R]=r,!(t.then((function(){}))instanceof r)})),re=te||!k((function(e){M.all(e)["catch"]((function(){}))})),ne=function(e){var t;return!(!g(e)||"function"!=typeof(t=e.then))&&t},ie=function(e,t,r){if(!t.notified){t.notified=!0;var n=t.reactions;x((function(){var i=t.value,a=t.state==Z,o=0;while(n.length>o){var s,l,c,u=n[o++],f=a?u.ok:u.fail,h=u.resolve,d=u.reject,p=u.domain;try{f?(a||(t.rejection===ee&&le(e,t),t.rejection=Q),!0===f?s=i:(p&&p.enter(),s=f(i),p&&(p.exit(),c=!0)),s===u.promise?d($("Promise-chain cycle")):(l=ne(s))?l.call(s,h,d):h(s)):d(i)}catch(m){p&&!c&&p.exit(),d(m)}}t.reactions=[],t.notified=!1,r&&!t.rejection&&oe(e,t)}))}},ae=function(e,t,r){var n,i;X?(n=V.createEvent("Event"),n.promise=t,n.reason=r,n.initEvent(e,!1,!0),c.dispatchEvent(n)):n={promise:t,reason:r},(i=c["on"+e])?i(n):e===Y&&T("Unhandled promise rejection",r)},oe=function(e,t){O.call(c,(function(){var r,n=t.value,i=se(t);if(i&&(r=A((function(){G?z.emit("unhandledRejection",n,e):ae(Y,e,n)})),t.rejection=G||se(t)?ee:Q,r.error))throw r.value}))},se=function(e){return e.rejection!==Q&&!e.parent},le=function(e,t){O.call(c,(function(){G?z.emit("rejectionHandled",e):ae(K,e,t.value)}))},ce=function(e,t,r,n){return function(i){e(t,r,i,n)}},ue=function(e,t,r,n){t.done||(t.done=!0,n&&(t=n),t.value=r,t.state=J,ie(e,t,!0))},fe=function(e,t,r,n){if(!t.done){t.done=!0,n&&(t=n);try{if(e===r)throw $("Promise can't be resolved itself");var i=ne(r);i?x((function(){var n={done:!1};try{i.call(r,ce(fe,e,n,t),ce(ue,e,n,t))}catch(a){ue(e,n,a,t)}})):(t.value=r,t.state=Z,ie(e,t,!1))}catch(a){ue(e,{done:!1},a,t)}}};te&&(M=function(e){v(this,M,F),b(e),n.call(this);var t=N(this);try{e(ce(fe,this,t),ce(ue,this,t))}catch(r){ue(this,t,r)}},n=function(e){j(this,{type:F,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:q,value:void 0})},n.prototype=d(M.prototype,{then:function(e,t){var r=L(this),n=U(C(this,M));return n.ok="function"!=typeof e||e,n.fail="function"==typeof t&&t,n.domain=G?z.domain:void 0,r.parent=!0,r.reactions.push(n),r.state!=q&&ie(this,r,!1),n.promise},catch:function(e){return this.then(void 0,e)}}),i=function(){var e=new n,t=N(e);this.promise=e,this.resolve=ce(fe,e,t),this.reject=ce(ue,e,t)},_.f=U=function(e){return e===M||e===a?new i(e):W(e)},l||"function"!=typeof f||(o=f.prototype.then,h(f.prototype,"then",(function(e,t){var r=this;return new M((function(e,t){o.call(r,e,t)})).then(e,t)}),{unsafe:!0}),"function"==typeof H&&s({global:!0,enumerable:!0,forced:!0},{fetch:function(e){return E(M,H.apply(c,arguments))}}))),s({global:!0,wrap:!0,forced:te},{Promise:M}),p(M,F,!1,!0),m(F),a=u(F),s({target:F,stat:!0,forced:te},{reject:function(e){var t=U(this);return t.reject.call(void 0,e),t.promise}}),s({target:F,stat:!0,forced:l||te},{resolve:function(e){return E(l&&this===a?M:this,e)}}),s({target:F,stat:!0,forced:re},{all:function(e){var t=this,r=U(t),n=r.resolve,i=r.reject,a=A((function(){var r=b(t.resolve),a=[],o=0,s=1;S(e,(function(e){var l=o++,c=!1;a.push(void 0),s++,r.call(t,e).then((function(e){c||(c=!0,a[l]=e,--s||n(a))}),i)})),--s||n(a)}));return a.error&&i(a.value),r.promise},race:function(e){var t=this,r=U(t),n=r.reject,i=A((function(){var i=b(t.resolve);S(e,(function(e){i.call(t,e).then(r.resolve,n)}))}));return i.error&&n(i.value),r.promise}})},e893:function(e,t,r){var n=r("5135"),i=r("56ef"),a=r("06cf"),o=r("9bf2");e.exports=function(e,t){for(var r=i(t),s=o.f,l=a.f,c=0;c=0)return;o[t]="set-cookie"===t?(o[t]?o[t]:[]).concat([r]):o[t]?o[t]+", "+r:r}})),o):o}},c401:function(e,t,r){"use strict";var n=r("c532");e.exports=function(e,t,r){return n.forEach(r,(function(r){e=r(e,t)})),e}},c430:function(e,t){e.exports=!1},c532:function(e,t,r){"use strict";var n=r("1d2b"),i=Object.prototype.toString;function a(e){return"[object Array]"===i.call(e)}function o(e){return"undefined"===typeof e}function s(e){return null!==e&&!o(e)&&null!==e.constructor&&!o(e.constructor)&&"function"===typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function l(e){return"[object ArrayBuffer]"===i.call(e)}function c(e){return"undefined"!==typeof FormData&&e instanceof FormData}function u(e){var t;return t="undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer,t}function f(e){return"string"===typeof e}function h(e){return"number"===typeof e}function d(e){return null!==e&&"object"===typeof e}function p(e){if("[object Object]"!==i.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function m(e){return"[object Date]"===i.call(e)}function g(e){return"[object File]"===i.call(e)}function b(e){return"[object Blob]"===i.call(e)}function v(e){return"[object Function]"===i.call(e)}function y(e){return d(e)&&v(e.pipe)}function w(e){return"undefined"!==typeof URLSearchParams&&e instanceof URLSearchParams}function S(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}function k(){return("undefined"===typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!==typeof window&&"undefined"!==typeof document)}function C(e,t){if(null!==e&&"undefined"!==typeof e)if("object"!==typeof e&&(e=[e]),a(e))for(var r=0,n=e.length;r1?arguments[1]:void 0)}})},ca84:function(e,t,r){var n=r("5135"),i=r("fc6a"),a=r("4d64").indexOf,o=r("d012");e.exports=function(e,t){var r,s=i(e),l=0,c=[];for(r in s)!n(o,r)&&n(s,r)&&c.push(r);while(t.length>l)n(s,r=t[l++])&&(~a(c,r)||c.push(r));return c}},cc12:function(e,t,r){var n=r("da84"),i=r("861d"),a=n.document,o=i(a)&&i(a.createElement);e.exports=function(e){return o?a.createElement(e):{}}},cca6:function(e,t,r){var n=r("23e7"),i=r("60da");n({target:"Object",stat:!0,forced:Object.assign!==i},{assign:i})},cdf9:function(e,t,r){var n=r("825a"),i=r("861d"),a=r("f069");e.exports=function(e,t){if(n(e),i(t)&&t.constructor===e)return t;var r=a.f(e),o=r.resolve;return o(t),r.promise}},ce4e:function(e,t,r){var n=r("da84"),i=r("9112");e.exports=function(e,t){try{i(n,e,t)}catch(r){n[e]=t}return t}},cee4:function(e,t,r){"use strict";var n=r("c532"),i=r("1d2b"),a=r("0a06"),o=r("4a7b"),s=r("2444");function l(e){var t=new a(e),r=i(a.prototype.request,t);return n.extend(r,a.prototype,t),n.extend(r,t),r}var c=l(s);c.Axios=a,c.create=function(e){return l(o(c.defaults,e))},c.Cancel=r("7a77"),c.CancelToken=r("8df4"),c.isCancel=r("2e67"),c.all=function(e){return Promise.all(e)},c.spread=r("0df6"),e.exports=c,e.exports.default=c},d012:function(e,t){e.exports={}},d039:function(e,t){e.exports=function(e){try{return!!e()}catch(t){return!0}}},d066:function(e,t,r){var n=r("428f"),i=r("da84"),a=function(e){return"function"==typeof e?e:void 0};e.exports=function(e,t){return arguments.length<2?a(n[e])||a(i[e]):n[e]&&n[e][t]||i[e]&&i[e][t]}},d1e7:function(e,t,r){"use strict";var n={}.propertyIsEnumerable,i=Object.getOwnPropertyDescriptor,a=i&&!n.call({1:2},1);t.f=a?function(e){var t=i(this,e);return!!t&&t.enumerable}:n},d2bb:function(e,t,r){var n=r("825a"),i=r("3bbe");e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,r={};try{e=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set,e.call(r,[]),t=r instanceof Array}catch(a){}return function(r,a){return n(r),i(a),t?e.call(r,a):r.__proto__=a,r}}():void 0)},d3b7:function(e,t,r){var n=r("00ee"),i=r("6eeb"),a=r("b041");n||i(Object.prototype,"toString",a,{unsafe:!0})},d44e:function(e,t,r){var n=r("9bf2").f,i=r("5135"),a=r("b622"),o=a("toStringTag");e.exports=function(e,t,r){e&&!i(e=r?e:e.prototype,o)&&n(e,o,{configurable:!0,value:t})}},d784:function(e,t,r){"use strict";r("ac1f");var n=r("6eeb"),i=r("d039"),a=r("b622"),o=r("9263"),s=r("9112"),l=a("species"),c=!i((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$")})),u=function(){return"$0"==="a".replace(/./,"$0")}(),f=a("replace"),h=function(){return!!/./[f]&&""===/./[f]("a","$0")}(),d=!i((function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var r="ab".split(e);return 2!==r.length||"a"!==r[0]||"b"!==r[1]}));e.exports=function(e,t,r,f){var p=a(e),m=!i((function(){var t={};return t[p]=function(){return 7},7!=""[e](t)})),g=m&&!i((function(){var t=!1,r=/a/;return"split"===e&&(r={},r.constructor={},r.constructor[l]=function(){return r},r.flags="",r[p]=/./[p]),r.exec=function(){return t=!0,null},r[p](""),!t}));if(!m||!g||"replace"===e&&(!c||!u||h)||"split"===e&&!d){var b=/./[p],v=r(p,""[e],(function(e,t,r,n,i){return t.exec===o?m&&!i?{done:!0,value:b.call(t,r,n)}:{done:!0,value:e.call(r,t,n)}:{done:!1}}),{REPLACE_KEEPS_$0:u,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:h}),y=v[0],w=v[1];n(String.prototype,e,y),n(RegExp.prototype,p,2==t?function(e,t){return w.call(e,this,t)}:function(e){return w.call(e,this)})}f&&s(RegExp.prototype[p],"sham",!0)}},d925:function(e,t,r){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},da84:function(e,t,r){(function(t){var r=function(e){return e&&e.Math==Math&&e};e.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof t&&t)||Function("return this")()}).call(this,r("c8ba"))},df75:function(e,t,r){var n=r("ca84"),i=r("7839");e.exports=Object.keys||function(e){return n(e,i)}},df7c:function(e,t,r){(function(e){function r(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e){"string"!==typeof e&&(e+="");var t,r=0,n=-1,i=!0;for(t=e.length-1;t>=0;--t)if(47===e.charCodeAt(t)){if(!i){r=t+1;break}}else-1===n&&(i=!1,n=t+1);return-1===n?"":e.slice(r,n)}function i(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!n;a--){var o=a>=0?arguments[a]:e.cwd();if("string"!==typeof o)throw new TypeError("Arguments to path.resolve must be strings");o&&(t=o+"/"+t,n="/"===o.charAt(0))}return t=r(i(t.split("/"),(function(e){return!!e})),!n).join("/"),(n?"/":"")+t||"."},t.normalize=function(e){var n=t.isAbsolute(e),o="/"===a(e,-1);return e=r(i(e.split("/"),(function(e){return!!e})),!n).join("/"),e||n||(e="."),e&&o&&(e+="/"),(n?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(i(e,(function(e,t){if("string"!==typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))},t.relative=function(e,r){function n(e){for(var t=0;t=0;r--)if(""!==e[r])break;return t>r?[]:e.slice(t,r-t+1)}e=t.resolve(e).substr(1),r=t.resolve(r).substr(1);for(var i=n(e.split("/")),a=n(r.split("/")),o=Math.min(i.length,a.length),s=o,l=0;l=1;--a)if(t=e.charCodeAt(a),47===t){if(!i){n=a;break}}else i=!1;return-1===n?r?"/":".":r&&1===n?"/":e.slice(0,n)},t.basename=function(e,t){var r=n(e);return t&&r.substr(-1*t.length)===t&&(r=r.substr(0,r.length-t.length)),r},t.extname=function(e){"string"!==typeof e&&(e+="");for(var t=-1,r=0,n=-1,i=!0,a=0,o=e.length-1;o>=0;--o){var s=e.charCodeAt(o);if(47!==s)-1===n&&(i=!1,n=o+1),46===s?-1===t?t=o:1!==a&&(a=1):-1!==t&&(a=-1);else if(!i){r=o+1;break}}return-1===t||-1===n||0===a||1===a&&t===n-1&&t===r+1?"":e.slice(t,n)};var a="b"==="ab".substr(-1)?function(e,t,r){return e.substr(t,r)}:function(e,t,r){return t<0&&(t=e.length+t),e.substr(t,r)}}).call(this,r("4362"))},e163:function(e,t,r){var n=r("5135"),i=r("7b0b"),a=r("f772"),o=r("e177"),s=a("IE_PROTO"),l=Object.prototype;e.exports=o?Object.getPrototypeOf:function(e){return e=i(e),n(e,s)?e[s]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?l:null}},e177:function(e,t,r){var n=r("d039");e.exports=!n((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},e260:function(e,t,r){"use strict";var n=r("fc6a"),i=r("44d2"),a=r("3f8c"),o=r("69f3"),s=r("7dd0"),l="Array Iterator",c=o.set,u=o.getterFor(l);e.exports=s(Array,"Array",(function(e,t){c(this,{type:l,target:n(e),index:0,kind:t})}),(function(){var e=u(this),t=e.target,r=e.kind,n=e.index++;return!t||n>=t.length?(e.target=void 0,{value:void 0,done:!0}):"keys"==r?{value:n,done:!1}:"values"==r?{value:t[n],done:!1}:{value:[n,t[n]],done:!1}}),"values"),a.Arguments=a.Array,i("keys"),i("values"),i("entries")},e2cc:function(e,t,r){var n=r("6eeb");e.exports=function(e,t,r){for(var i in t)n(e,i,t[i],r);return e}},e3db:function(e,t){var r={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},e667:function(e,t){e.exports=function(e){try{return{error:!1,value:e()}}catch(t){return{error:!0,value:t}}}},e683:function(e,t,r){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},e6cf:function(e,t,r){"use strict";var n,i,a,o,s=r("23e7"),l=r("c430"),c=r("da84"),u=r("d066"),f=r("fea9"),h=r("6eeb"),d=r("e2cc"),p=r("d44e"),m=r("2626"),g=r("861d"),b=r("1c0b"),v=r("19aa"),y=r("c6b6"),w=r("8925"),S=r("2266"),k=r("1c7e"),C=r("4840"),O=r("2cf4").set,x=r("b575"),E=r("cdf9"),T=r("44de"),_=r("f069"),A=r("e667"),B=r("69f3"),P=r("94ca"),I=r("b622"),D=r("2d00"),R=I("species"),F="Promise",N=B.get,j=B.set,L=B.getterFor(F),M=f,$=c.TypeError,V=c.document,z=c.process,H=u("fetch"),U=_.f,W=U,G="process"==y(z),X=!!(V&&V.createEvent&&c.dispatchEvent),Y="unhandledrejection",K="rejectionhandled",q=0,Z=1,J=2,Q=1,ee=2,te=P(F,(function(){var e=w(M)!==String(M);if(!e){if(66===D)return!0;if(!G&&"function"!=typeof PromiseRejectionEvent)return!0}if(l&&!M.prototype["finally"])return!0;if(D>=51&&/native code/.test(M))return!1;var t=M.resolve(1),r=function(e){e((function(){}),(function(){}))},n=t.constructor={};return n[R]=r,!(t.then((function(){}))instanceof r)})),re=te||!k((function(e){M.all(e)["catch"]((function(){}))})),ne=function(e){var t;return!(!g(e)||"function"!=typeof(t=e.then))&&t},ie=function(e,t,r){if(!t.notified){t.notified=!0;var n=t.reactions;x((function(){var i=t.value,a=t.state==Z,o=0;while(n.length>o){var s,l,c,u=n[o++],f=a?u.ok:u.fail,h=u.resolve,d=u.reject,p=u.domain;try{f?(a||(t.rejection===ee&&le(e,t),t.rejection=Q),!0===f?s=i:(p&&p.enter(),s=f(i),p&&(p.exit(),c=!0)),s===u.promise?d($("Promise-chain cycle")):(l=ne(s))?l.call(s,h,d):h(s)):d(i)}catch(m){p&&!c&&p.exit(),d(m)}}t.reactions=[],t.notified=!1,r&&!t.rejection&&oe(e,t)}))}},ae=function(e,t,r){var n,i;X?(n=V.createEvent("Event"),n.promise=t,n.reason=r,n.initEvent(e,!1,!0),c.dispatchEvent(n)):n={promise:t,reason:r},(i=c["on"+e])?i(n):e===Y&&T("Unhandled promise rejection",r)},oe=function(e,t){O.call(c,(function(){var r,n=t.value,i=se(t);if(i&&(r=A((function(){G?z.emit("unhandledRejection",n,e):ae(Y,e,n)})),t.rejection=G||se(t)?ee:Q,r.error))throw r.value}))},se=function(e){return e.rejection!==Q&&!e.parent},le=function(e,t){O.call(c,(function(){G?z.emit("rejectionHandled",e):ae(K,e,t.value)}))},ce=function(e,t,r,n){return function(i){e(t,r,i,n)}},ue=function(e,t,r,n){t.done||(t.done=!0,n&&(t=n),t.value=r,t.state=J,ie(e,t,!0))},fe=function(e,t,r,n){if(!t.done){t.done=!0,n&&(t=n);try{if(e===r)throw $("Promise can't be resolved itself");var i=ne(r);i?x((function(){var n={done:!1};try{i.call(r,ce(fe,e,n,t),ce(ue,e,n,t))}catch(a){ue(e,n,a,t)}})):(t.value=r,t.state=Z,ie(e,t,!1))}catch(a){ue(e,{done:!1},a,t)}}};te&&(M=function(e){v(this,M,F),b(e),n.call(this);var t=N(this);try{e(ce(fe,this,t),ce(ue,this,t))}catch(r){ue(this,t,r)}},n=function(e){j(this,{type:F,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:q,value:void 0})},n.prototype=d(M.prototype,{then:function(e,t){var r=L(this),n=U(C(this,M));return n.ok="function"!=typeof e||e,n.fail="function"==typeof t&&t,n.domain=G?z.domain:void 0,r.parent=!0,r.reactions.push(n),r.state!=q&&ie(this,r,!1),n.promise},catch:function(e){return this.then(void 0,e)}}),i=function(){var e=new n,t=N(e);this.promise=e,this.resolve=ce(fe,e,t),this.reject=ce(ue,e,t)},_.f=U=function(e){return e===M||e===a?new i(e):W(e)},l||"function"!=typeof f||(o=f.prototype.then,h(f.prototype,"then",(function(e,t){var r=this;return new M((function(e,t){o.call(r,e,t)})).then(e,t)}),{unsafe:!0}),"function"==typeof H&&s({global:!0,enumerable:!0,forced:!0},{fetch:function(e){return E(M,H.apply(c,arguments))}}))),s({global:!0,wrap:!0,forced:te},{Promise:M}),p(M,F,!1,!0),m(F),a=u(F),s({target:F,stat:!0,forced:te},{reject:function(e){var t=U(this);return t.reject.call(void 0,e),t.promise}}),s({target:F,stat:!0,forced:l||te},{resolve:function(e){return E(l&&this===a?M:this,e)}}),s({target:F,stat:!0,forced:re},{all:function(e){var t=this,r=U(t),n=r.resolve,i=r.reject,a=A((function(){var r=b(t.resolve),a=[],o=0,s=1;S(e,(function(e){var l=o++,c=!1;a.push(void 0),s++,r.call(t,e).then((function(e){c||(c=!0,a[l]=e,--s||n(a))}),i)})),--s||n(a)}));return a.error&&i(a.value),r.promise},race:function(e){var t=this,r=U(t),n=r.reject,i=A((function(){var i=b(t.resolve);S(e,(function(e){i.call(t,e).then(r.resolve,n)}))}));return i.error&&n(i.value),r.promise}})},e893:function(e,t,r){var n=r("5135"),i=r("56ef"),a=r("06cf"),o=r("9bf2");e.exports=function(e,t){for(var r=i(t),s=o.f,l=a.f,c=0;c=0)return 1;return 0}();function i(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then((function(){t=!1,e()})))}}function a(e){var t=!1;return function(){t||(t=!0,setTimeout((function(){t=!1,e()}),n))}}var o=r&&window.Promise,s=o?i:a;function l(e){var t={};return e&&"[object Function]"===t.toString.call(e)}function c(e,t){if(1!==e.nodeType)return[];var r=e.ownerDocument.defaultView,n=r.getComputedStyle(e,null);return t?n[t]:n}function u(e){return"HTML"===e.nodeName?e:e.parentNode||e.host}function f(e){if(!e)return document.body;switch(e.nodeName){case"HTML":case"BODY":return e.ownerDocument.body;case"#document":return e.body}var t=c(e),r=t.overflow,n=t.overflowX,i=t.overflowY;return/(auto|scroll|overlay)/.test(r+i+n)?e:f(u(e))}function h(e){return e&&e.referenceNode?e.referenceNode:e}var d=r&&!(!window.MSInputMethodContext||!document.documentMode),p=r&&/MSIE 10/.test(navigator.userAgent);function m(e){return 11===e?d:10===e?p:d||p}function g(e){if(!e)return document.documentElement;var t=m(10)?document.body:null,r=e.offsetParent||null;while(r===t&&e.nextElementSibling)r=(e=e.nextElementSibling).offsetParent;var n=r&&r.nodeName;return n&&"BODY"!==n&&"HTML"!==n?-1!==["TH","TD","TABLE"].indexOf(r.nodeName)&&"static"===c(r,"position")?g(r):r:e?e.ownerDocument.documentElement:document.documentElement}function b(e){var t=e.nodeName;return"BODY"!==t&&("HTML"===t||g(e.firstElementChild)===e)}function v(e){return null!==e.parentNode?v(e.parentNode):e}function y(e,t){if(!e||!e.nodeType||!t||!t.nodeType)return document.documentElement;var r=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,n=r?e:t,i=r?t:e,a=document.createRange();a.setStart(n,0),a.setEnd(i,0);var o=a.commonAncestorContainer;if(e!==o&&t!==o||n.contains(i))return b(o)?o:g(o);var s=v(e);return s.host?y(s.host,t):y(e,v(t).host)}function w(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top",r="top"===t?"scrollTop":"scrollLeft",n=e.nodeName;if("BODY"===n||"HTML"===n){var i=e.ownerDocument.documentElement,a=e.ownerDocument.scrollingElement||i;return a[r]}return e[r]}function S(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=w(t,"top"),i=w(t,"left"),a=r?-1:1;return e.top+=n*a,e.bottom+=n*a,e.left+=i*a,e.right+=i*a,e}function k(e,t){var r="x"===t?"Left":"Top",n="Left"===r?"Right":"Bottom";return parseFloat(e["border"+r+"Width"])+parseFloat(e["border"+n+"Width"])}function C(e,t,r,n){return Math.max(t["offset"+e],t["scroll"+e],r["client"+e],r["offset"+e],r["scroll"+e],m(10)?parseInt(r["offset"+e])+parseInt(n["margin"+("Height"===e?"Top":"Left")])+parseInt(n["margin"+("Height"===e?"Bottom":"Right")]):0)}function O(e){var t=e.body,r=e.documentElement,n=m(10)&&getComputedStyle(r);return{height:C("Height",t,r,n),width:C("Width",t,r,n)}}var x=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},E=function(){function e(e,t){for(var r=0;r2&&void 0!==arguments[2]&&arguments[2],n=m(10),i="HTML"===t.nodeName,a=B(e),o=B(t),s=f(e),l=c(t),u=parseFloat(l.borderTopWidth),h=parseFloat(l.borderLeftWidth);r&&i&&(o.top=Math.max(o.top,0),o.left=Math.max(o.left,0));var d=A({top:a.top-o.top-u,left:a.left-o.left-h,width:a.width,height:a.height});if(d.marginTop=0,d.marginLeft=0,!n&&i){var p=parseFloat(l.marginTop),g=parseFloat(l.marginLeft);d.top-=u-p,d.bottom-=u-p,d.left-=h-g,d.right-=h-g,d.marginTop=p,d.marginLeft=g}return(n&&!r?t.contains(s):t===s&&"BODY"!==s.nodeName)&&(d=S(d,t)),d}function I(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e.ownerDocument.documentElement,n=P(e,r),i=Math.max(r.clientWidth,window.innerWidth||0),a=Math.max(r.clientHeight,window.innerHeight||0),o=t?0:w(r),s=t?0:w(r,"left"),l={top:o-n.top+n.marginTop,left:s-n.left+n.marginLeft,width:i,height:a};return A(l)}function D(e){var t=e.nodeName;if("BODY"===t||"HTML"===t)return!1;if("fixed"===c(e,"position"))return!0;var r=u(e);return!!r&&D(r)}function R(e){if(!e||!e.parentElement||m())return document.documentElement;var t=e.parentElement;while(t&&"none"===c(t,"transform"))t=t.parentElement;return t||document.documentElement}function F(e,t,r,n){var i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a={top:0,left:0},o=i?R(e):y(e,h(t));if("viewport"===n)a=I(o,i);else{var s=void 0;"scrollParent"===n?(s=f(u(t)),"BODY"===s.nodeName&&(s=e.ownerDocument.documentElement)):s="window"===n?e.ownerDocument.documentElement:n;var l=P(s,o,i);if("HTML"!==s.nodeName||D(o))a=l;else{var c=O(e.ownerDocument),d=c.height,p=c.width;a.top+=l.top-l.marginTop,a.bottom=d+l.top,a.left+=l.left-l.marginLeft,a.right=p+l.left}}r=r||0;var m="number"===typeof r;return a.left+=m?r:r.left||0,a.top+=m?r:r.top||0,a.right-=m?r:r.right||0,a.bottom-=m?r:r.bottom||0,a}function N(e){var t=e.width,r=e.height;return t*r}function j(e,t,r,n,i){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf("auto"))return e;var o=F(r,n,a,i),s={top:{width:o.width,height:t.top-o.top},right:{width:o.right-t.right,height:o.height},bottom:{width:o.width,height:o.bottom-t.bottom},left:{width:t.left-o.left,height:o.height}},l=Object.keys(s).map((function(e){return _({key:e},s[e],{area:N(s[e])})})).sort((function(e,t){return t.area-e.area})),c=l.filter((function(e){var t=e.width,n=e.height;return t>=r.clientWidth&&n>=r.clientHeight})),u=c.length>0?c[0].key:l[0].key,f=e.split("-")[1];return u+(f?"-"+f:"")}function L(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,i=n?R(t):y(t,h(r));return P(r,i,n)}function M(e){var t=e.ownerDocument.defaultView,r=t.getComputedStyle(e),n=parseFloat(r.marginTop||0)+parseFloat(r.marginBottom||0),i=parseFloat(r.marginLeft||0)+parseFloat(r.marginRight||0),a={width:e.offsetWidth+i,height:e.offsetHeight+n};return a}function $(e){var t={left:"right",right:"left",bottom:"top",top:"bottom"};return e.replace(/left|right|bottom|top/g,(function(e){return t[e]}))}function V(e,t,r){r=r.split("-")[0];var n=M(e),i={width:n.width,height:n.height},a=-1!==["right","left"].indexOf(r),o=a?"top":"left",s=a?"left":"top",l=a?"height":"width",c=a?"width":"height";return i[o]=t[o]+t[l]/2-n[l]/2,i[s]=r===s?t[s]-n[c]:t[$(s)],i}function z(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function H(e,t,r){if(Array.prototype.findIndex)return e.findIndex((function(e){return e[t]===r}));var n=z(e,(function(e){return e[t]===r}));return e.indexOf(n)}function U(e,t,r){var n=void 0===r?e:e.slice(0,H(e,"name",r));return n.forEach((function(e){e["function"]&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var r=e["function"]||e.fn;e.enabled&&l(r)&&(t.offsets.popper=A(t.offsets.popper),t.offsets.reference=A(t.offsets.reference),t=r(t,e))})),t}function W(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=L(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=j(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=V(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",e=U(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}function G(e,t){return e.some((function(e){var r=e.name,n=e.enabled;return n&&r===t}))}function X(e){for(var t=[!1,"ms","Webkit","Moz","O"],r=e.charAt(0).toUpperCase()+e.slice(1),n=0;no[p]&&(e.offsets.popper[h]+=s[h]+m-o[p]),e.offsets.popper=A(e.offsets.popper);var g=s[h]+s[u]/2-m/2,b=c(e.instance.popper),v=parseFloat(b["margin"+f]),y=parseFloat(b["border"+f+"Width"]),w=g-e.offsets.popper[h]-v-y;return w=Math.max(Math.min(o[u]-m,w),0),e.arrowElement=n,e.offsets.arrow=(r={},T(r,h,Math.round(w)),T(r,d,""),r),e}function fe(e){return"end"===e?"start":"start"===e?"end":e}var he=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],de=he.slice(3);function pe(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=de.indexOf(e),n=de.slice(r+1).concat(de.slice(0,r));return t?n.reverse():n}var me={FLIP:"flip",CLOCKWISE:"clockwise",COUNTERCLOCKWISE:"counterclockwise"};function ge(e,t){if(G(e.instance.modifiers,"inner"))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var r=F(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),n=e.placement.split("-")[0],i=$(n),a=e.placement.split("-")[1]||"",o=[];switch(t.behavior){case me.FLIP:o=[n,i];break;case me.CLOCKWISE:o=pe(n);break;case me.COUNTERCLOCKWISE:o=pe(n,!0);break;default:o=t.behavior}return o.forEach((function(s,l){if(n!==s||o.length===l+1)return e;n=e.placement.split("-")[0],i=$(n);var c=e.offsets.popper,u=e.offsets.reference,f=Math.floor,h="left"===n&&f(c.right)>f(u.left)||"right"===n&&f(c.left)f(u.top)||"bottom"===n&&f(c.top)f(r.right),m=f(c.top)f(r.bottom),b="left"===n&&d||"right"===n&&p||"top"===n&&m||"bottom"===n&&g,v=-1!==["top","bottom"].indexOf(n),y=!!t.flipVariations&&(v&&"start"===a&&d||v&&"end"===a&&p||!v&&"start"===a&&m||!v&&"end"===a&&g),w=!!t.flipVariationsByContent&&(v&&"start"===a&&p||v&&"end"===a&&d||!v&&"start"===a&&g||!v&&"end"===a&&m),S=y||w;(h||b||S)&&(e.flipped=!0,(h||b)&&(n=o[l+1]),S&&(a=fe(a)),e.placement=n+(a?"-"+a:""),e.offsets.popper=_({},e.offsets.popper,V(e.instance.popper,e.offsets.reference,e.placement)),e=U(e.instance.modifiers,e,"flip"))})),e}function be(e){var t=e.offsets,r=t.popper,n=t.reference,i=e.placement.split("-")[0],a=Math.floor,o=-1!==["top","bottom"].indexOf(i),s=o?"right":"bottom",l=o?"left":"top",c=o?"width":"height";return r[s]a(n[s])&&(e.offsets.popper[l]=a(n[s])),e}function ve(e,t,r,n){var i=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),a=+i[1],o=i[2];if(!a)return e;if(0===o.indexOf("%")){var s=void 0;switch(o){case"%p":s=r;break;case"%":case"%r":default:s=n}var l=A(s);return l[t]/100*a}if("vh"===o||"vw"===o){var c=void 0;return c="vh"===o?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0),c/100*a}return a}function ye(e,t,r,n){var i=[0,0],a=-1!==["right","left"].indexOf(n),o=e.split(/(\+|\-)/).map((function(e){return e.trim()})),s=o.indexOf(z(o,(function(e){return-1!==e.search(/,|\s/)})));o[s]&&-1===o[s].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==s?[o.slice(0,s).concat([o[s].split(l)[0]]),[o[s].split(l)[1]].concat(o.slice(s+1))]:[o];return c=c.map((function(e,n){var i=(1===n?!a:a)?"height":"width",o=!1;return e.reduce((function(e,t){return""===e[e.length-1]&&-1!==["+","-"].indexOf(t)?(e[e.length-1]=t,o=!0,e):o?(e[e.length-1]+=t,o=!1,e):e.concat(t)}),[]).map((function(e){return ve(e,i,t,r)}))})),c.forEach((function(e,t){e.forEach((function(r,n){te(r)&&(i[t]+=r*("-"===e[n-1]?-1:1))}))})),i}function we(e,t){var r=t.offset,n=e.placement,i=e.offsets,a=i.popper,o=i.reference,s=n.split("-")[0],l=void 0;return l=te(+r)?[+r,0]:ye(r,a,o,s),"left"===s?(a.top+=l[0],a.left-=l[1]):"right"===s?(a.top+=l[0],a.left+=l[1]):"top"===s?(a.left+=l[0],a.top-=l[1]):"bottom"===s&&(a.left+=l[0],a.top+=l[1]),e.popper=a,e}function Se(e,t){var r=t.boundariesElement||g(e.instance.popper);e.instance.reference===r&&(r=g(r));var n=X("transform"),i=e.instance.popper.style,a=i.top,o=i.left,s=i[n];i.top="",i.left="",i[n]="";var l=F(e.instance.popper,e.instance.reference,t.padding,r,e.positionFixed);i.top=a,i.left=o,i[n]=s,t.boundaries=l;var c=t.priority,u=e.offsets.popper,f={primary:function(e){var r=u[e];return u[e]l[e]&&!t.escapeWithReference&&(n=Math.min(u[r],l[e]-("right"===e?u.width:u.height))),T({},r,n)}};return c.forEach((function(e){var t=-1!==["left","top"].indexOf(e)?"primary":"secondary";u=_({},u,f[t](e))})),e.offsets.popper=u,e}function ke(e){var t=e.placement,r=t.split("-")[0],n=t.split("-")[1];if(n){var i=e.offsets,a=i.reference,o=i.popper,s=-1!==["bottom","top"].indexOf(r),l=s?"left":"top",c=s?"width":"height",u={start:T({},l,a[l]),end:T({},l,a[l]+a[c]-o[c])};e.offsets.popper=_({},o,u[n])}return e}function Ce(e){if(!ce(e.instance.modifiers,"hide","preventOverflow"))return e;var t=e.offsets.reference,r=z(e.instance.modifiers,(function(e){return"preventOverflow"===e.name})).boundaries;if(t.bottomr.right||t.top>r.bottom||t.right2&&void 0!==arguments[2]?arguments[2]:{};x(this,e),this.scheduleUpdate=function(){return requestAnimationFrame(n.update)},this.update=s(this.update.bind(this)),this.options=_({},e.Defaults,i),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=t&&t.jquery?t[0]:t,this.popper=r&&r.jquery?r[0]:r,this.options.modifiers={},Object.keys(_({},e.Defaults.modifiers,i.modifiers)).forEach((function(t){n.options.modifiers[t]=_({},e.Defaults.modifiers[t]||{},i.modifiers?i.modifiers[t]:{})})),this.modifiers=Object.keys(this.options.modifiers).map((function(e){return _({name:e},n.options.modifiers[e])})).sort((function(e,t){return e.order-t.order})),this.modifiers.forEach((function(e){e.enabled&&l(e.onLoad)&&e.onLoad(n.reference,n.popper,n.options,e,n.state)})),this.update();var a=this.options.eventsEnabled;a&&this.enableEventListeners(),this.state.eventsEnabled=a}return E(e,[{key:"update",value:function(){return W.call(this)}},{key:"destroy",value:function(){return Y.call(this)}},{key:"enableEventListeners",value:function(){return J.call(this)}},{key:"disableEventListeners",value:function(){return ee.call(this)}}]),e}();Te.Utils=("undefined"!==typeof window?window:e).PopperUtils,Te.placements=he,Te.Defaults=Ee,t["a"]=Te}).call(this,r("c8ba"))},f5df:function(e,t,r){var n=r("00ee"),i=r("c6b6"),a=r("b622"),o=a("toStringTag"),s="Arguments"==i(function(){return arguments}()),l=function(e,t){try{return e[t]}catch(r){}};e.exports=n?i:function(e){var t,r,n;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=l(t=Object(e),o))?r:s?i(t):"Object"==(n=i(t))&&"function"==typeof t.callee?"Arguments":n}},f6b4:function(e,t,r){"use strict";var n=r("c532");function i(){this.handlers=[]}i.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},i.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},i.prototype.forEach=function(e){n.forEach(this.handlers,(function(t){null!==t&&e(t)}))},e.exports=i},f772:function(e,t,r){var n=r("5692"),i=r("90e3"),a=n("keys");e.exports=function(e){return a[e]||(a[e]=i(e))}},f9e3:function(e,t,r){},fc6a:function(e,t,r){var n=r("44ad"),i=r("1d80");e.exports=function(e){return n(i(e))}},fdbc:function(e,t){e.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},fdbf:function(e,t,r){var n=r("4930");e.exports=n&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},fea9:function(e,t,r){var n=r("da84");e.exports=n.Promise}}]); -//# sourceMappingURL=chunk-vendors.f0af08be.js.map \ No newline at end of file +//# sourceMappingURL=chunk-vendors.6d6b9537.js.map \ No newline at end of file diff --git a/dist/js/chunk-vendors.6d6b9537.js.map b/dist/js/chunk-vendors.6d6b9537.js.map new file mode 100644 index 0000000..4e02c1b --- /dev/null +++ b/dist/js/chunk-vendors.6d6b9537.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./node_modules/core-js/internals/to-string-tag-support.js","webpack:///./node_modules/core-js/internals/function-bind-context.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/xlsx/xlsx.js","webpack:///./node_modules/core-js/internals/regexp-exec-abstract.js","webpack:///./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack:///./node_modules/xlsx/jszip.js","webpack:///./node_modules/core-js/internals/array-for-each.js","webpack:///./node_modules/core-js/internals/an-instance.js","webpack:///./node_modules/core-js/internals/html.js","webpack:///./node_modules/core-js/internals/a-function.js","webpack:///./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack:///./node_modules/core-js/internals/engine-is-ios.js","webpack:///./node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/xlsx/dist/cpexcel.js","webpack:///./node_modules/core-js/internals/iterate.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/axios/lib/defaults.js","webpack:///./node_modules/core-js/internals/set-species.js","webpack:///./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///./node_modules/vue/dist/vue.runtime.esm.js","webpack:///./node_modules/portal-vue/dist/portal-vue.common.js","webpack:///./node_modules/core-js/internals/task.js","webpack:///./node_modules/core-js/internals/engine-v8-version.js","webpack:///./node_modules/axios/lib/core/createError.js","webpack:///./node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/core-js/internals/engine-user-agent.js","webpack:///./node_modules/core-js/internals/get-iterator-method.js","webpack:///./node_modules/core-js/internals/object-define-properties.js","webpack:///./node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/core-js/internals/a-possible-prototype.js","webpack:///./node_modules/sweetalert2/dist/sweetalert2.all.js","webpack:///./node_modules/core-js/internals/iterators.js","webpack:///./node_modules/core-js/modules/es.array.for-each.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/node-libs-browser/mock/process.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/add-to-unscopables.js","webpack:///./node_modules/core-js/internals/host-report-errors.js","webpack:///./node_modules/axios/lib/core/settle.js","webpack:///./node_modules/core-js/internals/species-constructor.js","webpack:///./node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/axios/lib/core/mergeConfig.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/core-js/modules/es.string.replace.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/vue-functional-data-merge/dist/lib.esm.js","webpack:///./node_modules/bootstrap-vue/esm/utils/vue.js","webpack:///./node_modules/bootstrap-vue/esm/utils/safe-types.js","webpack:///./node_modules/bootstrap-vue/esm/utils/inspect.js","webpack:///./node_modules/bootstrap-vue/esm/utils/object.js","webpack:///./node_modules/bootstrap-vue/esm/utils/clone-deep.js","webpack:///./node_modules/bootstrap-vue/esm/utils/config-defaults.js","webpack:///./node_modules/bootstrap-vue/esm/constants/regex.js","webpack:///./node_modules/bootstrap-vue/esm/utils/identity.js","webpack:///./node_modules/bootstrap-vue/esm/utils/get.js","webpack:///./node_modules/bootstrap-vue/esm/utils/warn.js","webpack:///./node_modules/bootstrap-vue/esm/constants/components.js","webpack:///./node_modules/bootstrap-vue/esm/utils/config-set.js","webpack:///./node_modules/bootstrap-vue/esm/utils/plugins.js","webpack:///./node_modules/bootstrap-vue/esm/utils/memoize.js","webpack:///./node_modules/bootstrap-vue/esm/utils/config.js","webpack:///./node_modules/bootstrap-vue/esm/utils/array.js","webpack:///./node_modules/bootstrap-vue/esm/utils/number.js","webpack:///./node_modules/bootstrap-vue/esm/utils/string.js","webpack:///./node_modules/bootstrap-vue/esm/utils/dom.js","webpack:///./node_modules/bootstrap-vue/esm/utils/bv-transition.js","webpack:///./node_modules/bootstrap-vue/esm/constants/slot-names.js","webpack:///./node_modules/bootstrap-vue/esm/utils/normalize-slot.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/normalize-slot.js","webpack:///./node_modules/bootstrap-vue/esm/utils/events.js","webpack:///./node_modules/bootstrap-vue/esm/components/button/button-close.js","webpack:///./node_modules/bootstrap-vue/esm/components/alert/alert.js","webpack:///./node_modules/bootstrap-vue/esm/components/alert/index.js","webpack:///./node_modules/bootstrap-vue/esm/utils/math.js","webpack:///./node_modules/bootstrap-vue/esm/components/aspect/aspect.js","webpack:///./node_modules/bootstrap-vue/esm/components/aspect/index.js","webpack:///./node_modules/bootstrap-vue/esm/utils/props.js","webpack:///./node_modules/bootstrap-vue/esm/utils/router.js","webpack:///./node_modules/bootstrap-vue/esm/constants/key-codes.js","webpack:///./node_modules/bootstrap-vue/esm/utils/loose-equal.js","webpack:///./node_modules/bootstrap-vue/esm/utils/cache.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/attrs.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/listeners.js","webpack:///./node_modules/bootstrap-vue/esm/components/link/link.js","webpack:///./node_modules/bootstrap-vue/esm/components/button/button.js","webpack:///./node_modules/bootstrap-vue/esm/icons/helpers/icon-base.js","webpack:///./node_modules/bootstrap-vue/esm/icons/helpers/make-icon.js","webpack:///./node_modules/bootstrap-vue/esm/icons/icons.js","webpack:///./node_modules/bootstrap-vue/esm/icons/icon.js","webpack:///./node_modules/bootstrap-vue/esm/components/avatar/avatar.js","webpack:///./node_modules/bootstrap-vue/esm/components/avatar/avatar-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/avatar/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/badge/badge.js","webpack:///./node_modules/bootstrap-vue/esm/components/badge/index.js","webpack:///./node_modules/bootstrap-vue/esm/utils/html.js","webpack:///./node_modules/bootstrap-vue/esm/components/breadcrumb/breadcrumb-link.js","webpack:///./node_modules/bootstrap-vue/esm/components/breadcrumb/breadcrumb-item.js","webpack:///./node_modules/bootstrap-vue/esm/components/breadcrumb/breadcrumb.js","webpack:///./node_modules/bootstrap-vue/esm/components/breadcrumb/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/button/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/button-group/button-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/button-group/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/button-toolbar/button-toolbar.js","webpack:///./node_modules/bootstrap-vue/esm/components/button-toolbar/index.js","webpack:///./node_modules/bootstrap-vue/esm/constants/date.js","webpack:///./node_modules/bootstrap-vue/esm/utils/date.js","webpack:///./node_modules/bootstrap-vue/esm/utils/locale.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/id.js","webpack:///./node_modules/bootstrap-vue/esm/components/calendar/calendar.js","webpack:///./node_modules/bootstrap-vue/esm/components/calendar/index.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/card.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-title.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-sub-title.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-body.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-header.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-footer.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-img.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card.js","webpack:///./node_modules/bootstrap-vue/esm/directives/visible/visible.js","webpack:///./node_modules/bootstrap-vue/esm/components/image/img.js","webpack:///./node_modules/bootstrap-vue/esm/components/image/img-lazy.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-img-lazy.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/index.js","webpack:///./node_modules/bootstrap-vue/esm/constants/events.js","webpack:///./node_modules/bootstrap-vue/esm/utils/noop.js","webpack:///./node_modules/bootstrap-vue/esm/utils/observe-dom.js","webpack:///./node_modules/bootstrap-vue/esm/components/carousel/carousel.js","webpack:///./node_modules/bootstrap-vue/esm/components/carousel/carousel-slide.js","webpack:///./node_modules/bootstrap-vue/esm/components/carousel/index.js","webpack:///./node_modules/bootstrap-vue/esm/utils/bv-collapse.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/listen-on-root.js","webpack:///./node_modules/bootstrap-vue/esm/directives/toggle/toggle.js","webpack:///./node_modules/bootstrap-vue/esm/components/collapse/collapse.js","webpack:///./node_modules/bootstrap-vue/esm/directives/toggle/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/collapse/index.js","webpack:///./node_modules/bootstrap-vue/esm/constants/popper.js","webpack:///./node_modules/bootstrap-vue/esm/utils/bv-event.class.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/click-out.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/focus-in.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/dropdown.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-item.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-item-button.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-header.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-divider.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-form.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/embed/embed.js","webpack:///./node_modules/bootstrap-vue/esm/components/embed/index.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-options.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form-datalist.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form-invalid-feedback.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form-valid-feedback.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/form-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/index.js","webpack:///./node_modules/bootstrap-vue/esm/utils/loose-index-of.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-radio-check.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-size.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-state.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-checkbox/form-checkbox.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-radio/form-radio.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-radio-check-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-checkbox/form-checkbox-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-checkbox/index.js","webpack:///./node_modules/bootstrap-vue/esm/directives/hover/hover.js","webpack:///./node_modules/bootstrap-vue/esm/utils/bv-form-btn-label-control.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-datepicker/form-datepicker.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-datepicker/index.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-custom.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-file/form-file.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-file/index.js","webpack:///./node_modules/bootstrap-vue/esm/utils/css-escape.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/col.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-group/form-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-group/index.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-selection.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-text.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-validity.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-input/form-input.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-input/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-radio/form-radio-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-radio/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-rating/form-rating.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-rating/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-select/helpers/mixin-options.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-select/form-select-option.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-select/form-select-option-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-select/form-select.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-select/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-spinbutton/form-spinbutton.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-spinbutton/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-tags/form-tag.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-tags/form-tags.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-tags/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-textarea/form-textarea.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-textarea/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/time/time.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-timepicker/form-timepicker.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-timepicker/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/image/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-addon.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-append.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-prepend.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/container.js","webpack:///./node_modules/bootstrap-vue/esm/components/jumbotron/jumbotron.js","webpack:///./node_modules/bootstrap-vue/esm/components/jumbotron/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/row.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/link/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/list-group/list-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/list-group/list-group-item.js","webpack:///./node_modules/bootstrap-vue/esm/components/list-group/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media-body.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media-aside.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/index.js","webpack:///./node_modules/bootstrap-vue/esm/utils/transporter.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/listen-on-document.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/listen-on-window.js","webpack:///./node_modules/bootstrap-vue/esm/utils/get-scope-id.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/scoped-style-attrs.js","webpack:///./node_modules/bootstrap-vue/esm/components/modal/helpers/modal-manager.js","webpack:///./node_modules/bootstrap-vue/esm/components/modal/helpers/bv-modal-event.class.js","webpack:///./node_modules/bootstrap-vue/esm/components/modal/modal.js","webpack:///./node_modules/bootstrap-vue/esm/directives/modal/modal.js","webpack:///./node_modules/bootstrap-vue/esm/components/modal/helpers/bv-modal.js","webpack:///./node_modules/bootstrap-vue/esm/components/modal/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/nav/nav.js","webpack:///./node_modules/bootstrap-vue/esm/components/nav/nav-item.js","webpack:///./node_modules/bootstrap-vue/esm/components/nav/nav-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/nav/nav-form.js","webpack:///./node_modules/bootstrap-vue/esm/components/nav/nav-item-dropdown.js","webpack:///./node_modules/bootstrap-vue/esm/components/nav/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/navbar/navbar.js","webpack:///./node_modules/bootstrap-vue/esm/components/navbar/navbar-nav.js","webpack:///./node_modules/bootstrap-vue/esm/components/navbar/navbar-brand.js","webpack:///./node_modules/bootstrap-vue/esm/components/navbar/navbar-toggle.js","webpack:///./node_modules/bootstrap-vue/esm/components/navbar/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/spinner/spinner.js","webpack:///./node_modules/bootstrap-vue/esm/components/overlay/overlay.js","webpack:///./node_modules/bootstrap-vue/esm/components/overlay/index.js","webpack:///./node_modules/bootstrap-vue/esm/utils/range.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/pagination.js","webpack:///./node_modules/bootstrap-vue/esm/components/pagination/pagination.js","webpack:///./node_modules/bootstrap-vue/esm/components/pagination/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/pagination-nav/pagination-nav.js","webpack:///./node_modules/bootstrap-vue/esm/components/pagination-nav/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-popper.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-tooltip-template.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-tooltip.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/tooltip.js","webpack:///./node_modules/bootstrap-vue/esm/components/popover/helpers/bv-popover-template.js","webpack:///./node_modules/bootstrap-vue/esm/components/popover/helpers/bv-popover.js","webpack:///./node_modules/bootstrap-vue/esm/components/popover/popover.js","webpack:///./node_modules/bootstrap-vue/esm/directives/popover/popover.js","webpack:///./node_modules/bootstrap-vue/esm/directives/popover/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/popover/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/progress/progress-bar.js","webpack:///./node_modules/bootstrap-vue/esm/components/progress/progress.js","webpack:///./node_modules/bootstrap-vue/esm/components/progress/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/sidebar/sidebar.js","webpack:///./node_modules/bootstrap-vue/esm/components/sidebar/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/skeleton/skeleton.js","webpack:///./node_modules/bootstrap-vue/esm/components/skeleton/skeleton-icon.js","webpack:///./node_modules/bootstrap-vue/esm/components/skeleton/skeleton-img.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-stacked.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-table-renderer.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/table-simple.js","webpack:///./node_modules/bootstrap-vue/esm/components/skeleton/skeleton-table.js","webpack:///./node_modules/bootstrap-vue/esm/components/skeleton/skeleton-wrapper.js","webpack:///./node_modules/bootstrap-vue/esm/components/skeleton/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/spinner/index.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/has-listener.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tr.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-bottom-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/td.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-busy.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-caption.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-colgroup.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-empty.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/constants.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/sanitize-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/stringify-object-values.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/stringify-record-values.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-filtering.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/normalize-fields.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-items.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-pagination.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-provider.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-selectable.js","webpack:///./node_modules/bootstrap-vue/esm/utils/stable-sort.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/default-sort-compare.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-sorting.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tbody.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/filter-event.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/text-selection-active.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/th.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tbody-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tbody.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tfoot.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tfoot.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/thead.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-thead.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-top-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/table.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/table-lite.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/tabs/tabs.js","webpack:///./node_modules/bootstrap-vue/esm/components/tabs/tab.js","webpack:///./node_modules/bootstrap-vue/esm/components/tabs/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/time/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/toast/toaster.js","webpack:///./node_modules/bootstrap-vue/esm/components/toast/toast.js","webpack:///./node_modules/bootstrap-vue/esm/components/toast/helpers/bv-toast.js","webpack:///./node_modules/bootstrap-vue/esm/components/toast/index.js","webpack:///./node_modules/bootstrap-vue/esm/directives/tooltip/tooltip.js","webpack:///./node_modules/bootstrap-vue/esm/directives/tooltip/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/index.js","webpack:///./node_modules/bootstrap-vue/esm/directives/hover/index.js","webpack:///./node_modules/bootstrap-vue/esm/directives/modal/index.js","webpack:///./node_modules/bootstrap-vue/esm/directives/scrollspy/scrollspy.class.js","webpack:///./node_modules/bootstrap-vue/esm/directives/scrollspy/scrollspy.js","webpack:///./node_modules/bootstrap-vue/esm/directives/scrollspy/index.js","webpack:///./node_modules/bootstrap-vue/esm/directives/visible/index.js","webpack:///./node_modules/bootstrap-vue/esm/directives/index.js","webpack:///./node_modules/bootstrap-vue/esm/index.js","webpack:///./node_modules/core-js/internals/object-assign.js","webpack:///./node_modules/core-js/internals/string-multibyte.js","webpack:///./node_modules/core-js/internals/array-species-create.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///./node_modules/core-js/internals/object-create.js","webpack:///./node_modules/core-js/internals/define-iterator.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/axios/lib/core/buildFullPath.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/core-js/internals/advance-string-index.js","webpack:///./node_modules/vue-router/dist/vue-router.esm.js","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/core-js/internals/regexp-exec.js","webpack:///./node_modules/bootstrap-vue/esm/utils/env.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/core-js/internals/create-iterator-constructor.js","webpack:///./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack:///./node_modules/core-js/internals/array-method-is-strict.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./node_modules/core-js/modules/es.promise.finally.js","webpack:///./node_modules/core-js/modules/es.regexp.exec.js","webpack:///./node_modules/@fortawesome/vue-fontawesome/index.es.js","webpack:///./node_modules/core-js/internals/regexp-flags.js","webpack:///./node_modules/core-js/internals/array-method-uses-to-length.js","webpack:///./node_modules/core-js/internals/iterators-core.js","webpack:///./node_modules/core-js/internals/object-to-string.js","webpack:///./node_modules/core-js/modules/es.function.name.js","webpack:///./node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/core-js/internals/microtask.js","webpack:///./node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/buffer/index.js","webpack:///./node_modules/core-js/modules/es.object.keys.js","webpack:///./node_modules/core-js/internals/array-iteration.js","webpack:///./node_modules/axios/index.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/@fortawesome/free-solid-svg-icons/index.es.js","webpack:///./node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/axios/lib/utils.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/modules/es.array.index-of.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/modules/es.object.assign.js","webpack:///./node_modules/core-js/internals/promise-resolve.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/axios/lib/axios.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/object-set-prototype-of.js","webpack:///./node_modules/core-js/modules/es.object.to-string.js","webpack:///./node_modules/core-js/internals/set-to-string-tag.js","webpack:///./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/object-keys.js","webpack:///./node_modules/path-browserify/index.js","webpack:///./node_modules/core-js/internals/object-get-prototype-of.js","webpack:///./node_modules/core-js/internals/correct-prototype-getter.js","webpack:///./node_modules/core-js/modules/es.array.iterator.js","webpack:///./node_modules/core-js/internals/redefine-all.js","webpack:///./node_modules/isarray/index.js","webpack:///./node_modules/core-js/internals/perform.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/core-js/modules/es.promise.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/is-array.js","webpack:///./node_modules/core-js/internals/is-array-iterator-method.js","webpack:///./node_modules/@fortawesome/fontawesome-svg-core/index.es.js","webpack:///./node_modules/core-js/internals/new-promise-capability.js","webpack:///./node_modules/popper.js/dist/esm/popper.js","webpack:///./node_modules/core-js/internals/classof.js","webpack:///./node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/dom-iterables.js","webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/core-js/internals/native-promise-constructor.js"],"names":["wellKnownSymbol","TO_STRING_TAG","test","module","exports","String","aFunction","fn","that","length","undefined","call","a","b","c","apply","arguments","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","Object","getOwnPropertyDescriptor","f","O","P","error","utils","buildURL","InterceptorManager","dispatchRequest","mergeConfig","Axios","instanceConfig","this","defaults","interceptors","request","response","prototype","config","url","method","toLowerCase","chain","promise","Promise","resolve","forEach","interceptor","unshift","fulfilled","rejected","push","then","shift","getUri","params","paramsSerializer","replace","data","fails","createElement","defineProperty","get","callback","arr","make_xlsx_lib","XLSX","version","current_codepage","current_ansi","cptable","global","window","VALID_ANSI","i","CS2CP","0","1","2","77","128","129","130","134","136","161","162","163","177","178","186","204","222","238","255","69","set_ansi","cp","indexOf","reset_ansi","set_cp","reset_cp","char_codes","o","len","charCodeAt","utf16leread","fromCharCode","join","utf16beread","debom","c1","c2","slice","_getchar","x","_getansi","decode","DENSE","DIF_XL","Base64","map","encode","input","c3","e1","e2","e3","e4","isNaN","charAt","has_buf","Buffer","process","versions","node","Buffer_from","nbfs","from","e","buf","enc","bind","alloc","n","allocUnsafe","new_raw_buf","Array","new_unsafe_buf","s2a","s","split","s2ab","ArrayBuffer","view","Uint8Array","a2s","isArray","a2u","Error","ab2a","bconcat","bufs","concat","chr0","chr1","SSF","make_ssf","_strrev","fill","l","pad0","v","d","t","pad_","rpad_","pad0r1","Math","round","pad0r2","p2_32","pow","pad0r","isgeneral","days","months","init_table","table_fmt","default_map","defi","default_str","frac","D","mixed","sgn","B","P_2","P_1","Q_2","Q_1","Q","A","floor","q","parse_date_code","opts","b2","date","time","dow","dout","out","T","u","y","m","H","M","S","abs","date1904","Date","setDate","getDate","getFullYear","getMonth","getDay","fix_hijri","basedate","dnthresh","getTime","base1904","datenum_local","epoch","getTimezoneOffset","general_fmt_int","toString","_general_int","general_fmt_num","trailing_zeroes_and_decimal","strip_decimal","mantissa_zeroes_and_decimal","exp_with_single_digit","normalize_exp","small_exp","w","toFixed","toPrecision","toExponential","large_exp","general_fmt_num_base","V","log","LOG10E","substr","toUpperCase","general_fmt","format","write_date","type","fmt","val","ss0","ss","tt","outl","outstr","commaify","j","_general_num","_general","write_num","pct1","write_num_pct","sfmt","mul","write_num_cm","idx","write_num_exp","match","period","ee","fakee","$$","$1","$2","$3","frac1","write_num_f1","r","aval","sign","den","parseInt","rr","base","myn","myd","write_num_f2","dec1","closeparen","phone","hashq","str","cc","rnd","dd","dec","_frac","carry","flr","write_num_flt","ffmt","ri","ff","oa","min","max","lres","rres","write_num_cm2","write_num_pct2","write_num_exp2","write_num_int","lastIndexOf","split_fmt","in_str","_split","abstime","fmt_is_date","eval_fmt","flen","dt","lst","hr","ssm","bt","jj","nstr","myv","ostr","vv","decpt","lasti","retval","is_date","_eval","cfregex","cfregex2","chkcond","thresh","parseFloat","choose_fmt","lat","m1","m2","dateNF","table","load_entry","load","_table","get_table","load_table","tbl","XLMLFormatMap","SSFImplicit","dateNFregex","dateNF_regex","RegExp","dateNF_fix","Y","datestr","timestr","CRC32","DO_NOT_EXPORT_CFB","factory","signed_crc_table","Int32Array","crc32_bstr","bstr","seed","C","L","crc32_buf","crc32_buf_8","crc32_str","_fs","CFB","fs","namecmp","R","Z","dirname","p","filename","write_dos_date","hms","getHours","getMinutes","getSeconds","write_shift","ymd","parse_dos_date","read_shift","setMilliseconds","setFullYear","setMonth","setHours","setMinutes","setSeconds","parse_extra_field","blob","prep_blob","flags","sz","tgt","mtime","atime","ctime","mt","get_fs","parse","file","options","parse_zip","mver","ssz","nmfs","difat_sec_cnt","dir_start","minifat_start","difat_start","fat_addrs","mv","check_get_mver","header","check_shifts","dir_cnt","chk","sectors","sectorify","sleuth_fat","sector_list","make_sector_list","name","ENDOFCHAIN","files","Paths","FileIndex","FullPaths","read_directory","build_full_paths","raw","HEADER_SIGNATURE","nsectors","ceil","FI","FP","pl","dad","get_mfat_entry","entry","payload","mini","start","size","MSSZ","__readInt32LE","new_buf","cnt","sector","get_sector_list","chkd","buf_chain","modulus","addr","nodes","__toBuffer","sl","k","seen","minifat_store","namelen","__utf16le","color","clsid","state","ct","read_date","storage","content","offset","__readUInt32LE","read_file","readFileSync","read","init_cfb","cfb","root","CLSID","seed_cfb","nm","find","rebuild_cfb","gc","_file","pop","now","HEADER_CLSID","sort","elt","_write","_opts","fileType","write_zip","mini_size","fat_size","mini_cnt","mfat_cnt","fat_base","fat_cnt","difat_cnt","HEADER_SIG","chainit","consts","DIFSECT","FATSECT","_nm","path","UCFullPaths","UCPaths","UCPath","_zlib","MAXREGSECT","FREESECT","HEADER_MINOR_VERSION","MAXREGSID","NOSTREAM","EntryTypes","write_file","writeFileSync","write","use_zlib","zlib","InflateRaw","InflRaw","_processChunk","_finishFlushFlag","bytesRead","console","message","_inflateRawSync","usz","_inflate","_deflateRawSync","deflateRawSync","_deflate","CLEN_ORDER","LEN_LN","DST_LN","bit_swap_8","use_typed_arrays","bitswap8","bit_swap_n","rev","read_bits_2","bl","h","read_bits_3","read_bits_4","read_bits_5","read_bits_7","read_bits_n","realloc","copy","set","zero_fill_array","_deflateRaw","boff","off","build_tree","clens","cmap","MAX","maxlen","ccode","bl_count","Uint16Array","ctree","cleni","fix_lmap","fix_dmap","dlens","dyn_lmap","dyn_dmap","dyn_cmap","dyn_len_1","dyn_len_2","dyn","_HLIT","_HDIST","_HCLEN","next_code","hcodes","h1","h2","inflate","outbuf","woff","OL","max_len_1","max_len_2","bits","code","len_eb","dst_eb","dst","warn_or_throw","wrn","msg","fcnt","start_cd","csz","efsz","fcsz","EF","parse_local_file","meth","crc32","_csz","_usz","ef","_crc32","cfb_add","unsafe","cdirs","compression","desc","fp","fi","crcs","sz_cd","namebuf","cfb_new","fpath","cfb_gc","cfb_del","splice","cfb_mov","old_name","new_name","writeFile","ReadShift","CheckField","_inflateRaw","blobify","write_dl","fname","utf8write","IE_SaveFile","Blob","navigator","msSaveBlob","saveAs","URL","document","createObjectURL","chrome","downloads","download","revokeObjectURL","setTimeout","href","body","appendChild","click","removeChild","$","File","Folder","open","encoding","close","read_binary","infile","keys","ks","o2","hasOwnProperty","evert_key","obj","key","K","evert","evert_num","evert_arr","datenum","refdate","refoffset","numdate","setTime","parse_isodur","sec","good_pd_date","good_pd","parseDate","fixdate","cc2str","dup","JSON","stringify","fuzzynum","Number","wt","fuzzydate","NaN","getYear","jszip","safe_split_regex","split_regex","re","def","getdatastr","asNodeBuffer","asBinary","_data","getContent","getdatabin","getdata","safegetzipfile","zip","g","getzipfile","getzipdata","safe","getzipstr","zipentries","zip_add_file","zip_new","zip_read","base64","resolve_path","result","target","step","JSZipSync","XML_HEADER","attregexg","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","skip_LC","z","eq","quot","trim","strip_ns","encodings","rencoding","unescapexml","encregex","coderegex","text","decregex","charegex","escapexml","escapexmltag","htmlcharegex","escapehtml","escapexlml","xlml_fixstr","entregex","entrepl","xlml_unfixstr","parsexmlbool","value","utf8read","orig","utf8readb","ww","corpus","utf8readc","matchtag","mtcache","htmldecode","entities","vtregex","vt_cache","vtvregex","vtmregex","parseVector","matches","baseType","res","WTF","wtregex","writetag","wxt_helper","writextag","write_w3cdtf","toISOString","write_vt","xlsx","XMLNS","XLMLNS","read_double_le","Infinity","write_double_le","bs","av","isFinite","LN2","__lpp4","___lpp4","___toBuffer","__readUInt16LE","___utf16le","__hexlify","___hexlify","__utf8","__readUInt8","___utf8","__lpstr","___lpstr","__cpstr","___cpstr","__lpwstr","___lpwstr","__double","___double","__8lpp4","___8lpp4","is_buf","isBuffer","readUInt32LE","readDoubleLE","__readInt16LE","__readInt32BE","oI","oR","loc","oo","lens","__writeUInt32LE","__writeInt32LE","__writeUInt16LE","WriteShift","cppayload","end","hexstr","fld","pos","parsenoop","recordhopper","cb","tmpbyte","cntbyte","RT","XLSBRecordEnum","buf_array","blksz","newblk","curbuf","endbuf","next","_bufs","write_record","ba","XLSBRE","shift_cell_xls","cell","cRel","rRel","biff","shift_range_xls","range","encode_cell_xls","encode_cell","fix_col","fix_row","encode_range_xls","encode_row","encode_col","OFFCRYPTO","make_offcrypto","_crypto","crypto","rc4","md5","hex","createHash","update","digest","decode_row","rowstr","unfix_row","row","cstr","decode_col","colstr","unfix_col","col","split_cell","decode_cell","decode_range","encode_range","cs","ce","safe_decode_range","safe_format_cell","XF","numFmtId","format_cell","sheet_to_workbook","sheet","sheets","SheetNames","Sheets","sheet_add_aoa","_ws","dense","ws","_R","_C","origin","_origin","_range","__R","__C","sheetStubs","cellDates","cell_ref","aoa_to_sheet","write_UInt32LE","parse_XLWideString","cchCharacters","write_XLWideString","_null","parse_StrRun","ich","ifnt","write_StrRun","run","parse_RichStr","rgsStrRun","dwSizeStrRun","write_RichStr","parse_BrtCommentText","write_BrtCommentText","parse_XLSBCell","iStyleRef","write_XLSBCell","parse_XLSBCodeName","write_XLSBCodeName","parse_XLNullableWideString","write_XLNullableWideString","parse_XLNameWideString","parse_RelID","write_RelID","parse_RkNumber","fX100","fInt","RK","write_RkNumber","d100","parse_RfX","write_RfX","parse_UncheckedRfX","write_UncheckedRfX","parse_Xnum","write_Xnum","parse_BrtColor","xColorType","index","nTS","bR","bG","bB","auto","icv","XLSIcv","rgb","rgb2Hex","theme","tint","write_BrtColor","parse_FontFlags","fBold","fItalic","fUnderline","fStrikeout","fOutline","fShadow","fCondense","fExtend","write_FontFlags","font","grbit","italic","strike","outline","shadow","condense","extend","parse_ClipboardFormatOrString","ClipFmt","3","8","14","parse_ClipboardFormatOrAnsiString","parse_ClipboardFormatOrUnicodeString","VT_I2","VT_I4","VT_BOOL","VT_VARIANT","VT_UI4","VT_LPSTR","VT_FILETIME","VT_BLOB","VT_CF","VT_VECTOR","VT_STRING","VT_USTR","VT_CUSTOM","DocSummaryPIDDSI","SummaryPIDSI","SpecialProperties","DocSummaryRE","SummaryRE","CountryEnum","XLSFillPattern","rgbify","_XLSIcv","BErr","RBErr","ct2type","CT_LIST","workbooks","xlsm","xlsb","xlam","xltx","strs","comments","charts","dialogs","macros","styles","type2ct","new_ct","rels","links","coreprops","extprops","custprops","themes","calcchains","vba","drawings","TODO","xmlns","parse_ct","ctext","Extension","ContentType","PartName","CT","calcchain","sst","style","CTYPE_XML_ROOT","xsd","xsi","CTYPE_DEFAULTS","write_ct","f1","bookType","f2","f3","RELS","WB","SHEET","HLINK","VML","XPATH","XMISS","XLINK","CXML","CXMLP","VBA","get_rels_path","parse_rels","currentFilePath","hash","rel","Type","Target","Id","TargetMode","canonictarget","RELS_ROOT","write_rels","rid","RELS_EXTERN","add_rels","rId","relobj","targetmode","CT_ODS","parse_manifest","Rn","FEtag","xlml_normalize","xlmlregex","exec","write_manifest","manifest","write_rdf_type","write_rdf_has","write_rdf","rdf","write_meta_ods","CORE_PROPS","CORE_PROPS_REGEX","parse_core_props","cur","CORE_PROPS_XML_ROOT","dc","dcterms","dcmitype","cp_doit","write_core_props","Props","CreatedDate","ModifiedDate","EXT_PROPS","PseudoPropsPairs","load_props_pairs","HP","TOP","props","hp","parts","Worksheets","NamedRanges","DefinedNames","Chartsheets","ChartNames","parse_ext_props","xml","HeadingPairs","TitlesOfParts","EXT_PROPS_XML_ROOT","vt","write_ext_props","W","Application","CUST_PROPS","custregex","parse_cust_props","toks","warn","CUST_PROPS_XML_ROOT","write_cust_props","pid","XLMLDocPropsMap","Title","Subject","Author","Keywords","Comments","LastAuthor","RevNumber","LastPrinted","Category","Manager","Company","AppVersion","ContentStatus","Identifier","Language","evert_XLMLDPM","xlml_set_prop","xlml_write_docprops","xlml_write_custprops","Custprops","BLACKLIST","parse_FILETIME","dwLowDateTime","dwHighDateTime","write_FILETIME","parse_lpstr","pad","parse_lpwstr","parse_VtStringBase","stringType","parse_VtString","parse_VtUnalignedString","parse_VtVecUnalignedLpstrValue","ret","parse_VtVecUnalignedLpstr","parse_VtHeadingPair","headingString","parse_TypedPropertyValue","headerParts","parse_VtVecHeadingPairValue","cElements","parse_VtVecHeadingPair","parse_dictionary","CodePage","dict","parse_BLOB","bytes","parse_ClipboardData","Size","write_TypedPropertyValue","parse_PropertySet","PIDSI","start_addr","NumProps","Dictionary","DictObj","PropID","Offset","PropH","fail","piddsi","oldpos","parsebool","XLSPSSkip","guess_property_type","write_PropertySet","entries","RE","hdr","piao","prop","pr","pio","pinfo","parse_PropertySetStream","NumSets","FMTID0","FMTID1","Offset0","Offset1","SystemIdentifier","PSet1","PSet0","rval","FMTID","write_PropertySetStream","entries2","clsid2","ps0","ps1","parsenoop2","writezeroes","parslurp","writebool","parseuint16","writeuint16","parseuint16a","parse_Bes","write_Bes","parse_ShortXLUnicodeString","cch","fHighByte","parse_XLUnicodeRichExtendedString","cbExtRst","fExtSt","fRichSt","width","cRun","write_XLUnicodeRichExtendedString","xlstr","nfmts","otext","parse_XLUnicodeStringNoCch","parse_XLUnicodeString","parse_XLUnicodeString2","write_XLUnicodeString","parse_ControlInfo","accel","parse_URLMoniker","extra","parse_FileMoniker","ansiPath","unicodePath","parse_HyperlinkMoniker","parse_HyperlinkString","parse_Hyperlink","sVer","displayName","targetFrameName","moniker","oleMoniker","guid","fileTime","Loc","Tooltip","write_Hyperlink","hl","F","parse_LongRGBA","parse_LongRGB","parse_XLSCell","rw","ixfe","write_XLSCell","parse_frtHeader","rt","parse_OptXLUnicodeString","parse_XTI","iSupBook","itabFirst","itabLast","parse_RkRec","parse_AddinUdf","udfName","parse_Ref8U","rwFirst","rwLast","colFirst","colLast","write_Ref8U","parse_RefU","parse_Ref","parse_FtCmo","ot","id","parse_FtNts","fSharedNote","parse_FtCf","cf","parse_FtSkip","FtTab","parse_FtArray","fts","ft","parse_BOF","BIFFVer","write_BOF","wb","parse_InterfaceHdr","parse_WriteAccess","UserName","write_WriteAccess","b8","parse_WsBool","fDialog","parse_BoundSheet8","hidden","hs","write_BoundSheet8","parse_SST","ucnt","Count","Unique","write_SST","parse_ExtSST","extsst","dsst","parse_Row","miyRw","level","hpt","parse_ForceFullCalculation","fullcalc","parse_RecalcId","parse_DefaultRowHeight","fl","Unsynced","DyZero","ExAsc","ExDsc","parse_Window1","xWn","yWn","dxWn","dyWn","iTabCur","iTabFirst","ctabSel","wTabRatio","Pos","Dim","Flags","CurTab","FirstTab","Selected","TabRatio","write_Window1","parse_Window2","RTL","write_Window2","parse_Pane","parse_Font","dyHeight","write_Font","b5","parse_LabelSst","isst","write_LabelSst","os","parse_Label","write_Label","parse_Format","fmtstr","write_Format","parse_BIFF2Format","parse_Dimensions","write_Dimensions","parse_RK","rkrec","rknum","parse_MulRk","rkrecs","lastcol","parse_MulBlank","ixfes","parse_CellStyleXF","patternType","cellStyles","alc","fWrap","alcV","fJustLast","trot","cIndent","fShrinkToFit","iReadOrder","fAtrNum","fAtrFnt","fAtrAlc","fAtrBdr","fAtrPat","fAtrProt","dgLeft","dgRight","dgTop","dgBottom","icvLeft","icvRight","grbitDiag","icvTop","icvBottom","icvDiag","dgDiag","icvFore","icvBack","fsxButton","parse_XF","fStyle","write_XF","ixfeP","parse_Guts","write_Guts","guts","parse_BoolErr","write_BoolErr","parse_Number","xnum","write_Number","parse_XLHeaderFooter","parse_SupBook","ctab","sbcch","virtPath","rgst","parse_ExternName","fBuiltIn","fWantAdvise","fWantPict","fOle","fOleLink","fIcon","Name","XLSLblBuiltIn","parse_Lbl","chKey","cce","itab","npflen","rgce","parse_NameParsedFormula","parse_ExternSheet","parse_BIFF5ExternSheet","parse_NameCmt","cchName","cchComment","comment","parse_ShrFmla","ref","cUse","parse_SharedParsedFormula","parse_Array","parse_ArrayParsedFormula","parse_MTRSettings","fMTREnabled","fUserSetThreadCount","cUserThreadCount","parse_NoteSh","idObj","stAuthor","parse_Note","parse_MergeCells","merges","cmcs","write_MergeCells","parse_Obj","parse_BIFF5Obj","cmo","parse_BIFF5OT","parse_TxO","texts","lastobj","cchText","parse_HLink","hlink","write_HLink","parse_HLinkTooltip","wzTooltip","write_HLinkTooltip","TT","parse_Country","write_Country","parse_ClrtClient","ccv","parse_Palette","parse_XFCRC","cxfs","crc","parse_ColInfo","coldx","parse_Setup","footer","parse_ShtProps","area","write_RRTabId","parse_Blank","parse_Scl","parse_String","parse_ImData","env","lcb","parse_BIFF2STR","parse_BIFF2NUM","num","write_BIFF2NUM","write_BIFF2Cell","parse_BIFF2INT","write_BIFF2INT","parse_BIFF2STRING","parse_BIFF2FONTXTRA","parse_RString","DBF","dbf_codepage_map","dbf_reverse_map","DBF_SUPPORTED_VERSIONS","dbf_to_aoa","memo","vfp","l7","nrow","fpos","rlen","current_cp","fields","field","hend","sheetRows","dbf_to_sheet","dbf_to_workbook","_RLEN","sheet_to_dbf","codepage","aoa","sheet_to_json","headers","hcnt","coltypes","guess","_guess","hf","_f","hb","rout","_s","to_workbook","to_sheet","from_sheet","SYLK","sylk_escapes","AA","BA","CA","DA","HA","JA","AE","BE","CE","HE","AI","BI","CI","HI","AO","BO","CO","DO","HO","AU","BU","CU","HU","Aa","Ba","Ca","Da","Ha","Ja","Ae","Be","Ce","He","Ai","Bi","Ci","Hi","Ao","Bo","Co","Do","Ho","Au","Bu","Cu","Hu","KC","Kc","DN","Dn","Hy","5","6","7","sylk_char_regex","sylk_char_fn","_","decode_sylk_char","newcc","sylk_to_aoa","sylk_to_aoa_str","records","rj","formats","next_cell_format","sht","rowinfo","colinfo","cw","Mval","rstr","record","C_seen_K","C_seen_X","formula","rc_to_a1","F_seen","wch","process_col","hpx","pt2px","sylk_to_sheet","aoasht","sylk_to_workbook","write_ws_cell_sylk","a1_to_rc","write_ws_cols_sylk","cols","rec","wpx","width2px","px2char","write_ws_rows_sylk","rows","px2pt","sheet_to_sylk","preamble","RS","coord","DIF","dif_to_aoa","dif_to_aoa_str","metadata","dif_to_sheet","dif_to_workbook","sheet_to_dif","push_field","topic","push_value","ETH","eth_to_aoa","eth_to_sheet","eth_to_workbook","sep","meta","sheet_to_eth_data","sheet_to_eth","PRN","set_text_arr","prn_to_aoa_str","lines","guess_seps","guess_sep_weights","guess_sep","instr","dsv_to_sheet_str","sepcc","_re","finish_cell","fuzzyfmla","cellText","cellNF","outer","prn_to_sheet_str","prn_to_sheet","firstbyte","prn_to_workbook","sheet_to_prn","read_wb_ID","OLD_WTF","WK_","lotushopper","Enum","WK1Enum","lotus_to_workbook","lotus_to_workbook_buf","sidx","snames","refguess","WK3Enum","qpro","vers","parse_RANGE","parse_cell","parse_LABEL","parse_INTEGER","parse_NUMBER","parse_FORMULA","parse_cell_3","parse_LABEL_16","parse_NUMBER_18","parse_NUMBER_17","v1","v2","parse_FORMULA_19","parse_NUMBER_25","parse_NUMBER_27","parse_FORMULA_28","parse_rpr","rpr","pass","uval","family","valign","parse_rs","tregex","rpregex","parse_r","rregex","rend","rs","filter","rs_to_html","nlregex","parse_rpr2","intro","outro","align","r_to_html","terms","sitregex","sirregex","sirphregex","parse_si","html","cellHTML","sstr0","sstr1","sstr2","parse_sst_xml","count","uniqueCount","SST","straywsregex","write_sst_xml","bookSST","main","sitag","parse_BrtBeginSst","parse_sst_bin","R_n","write_BrtBeginSst","write_BrtSSTItem","write_sst_bin","_JS2ANSI","parse_CRYPTOVersion","Major","Minor","parse_DataSpaceVersionInfo","U","parse_DataSpaceMapEntry","comps","parse_DataSpaceMap","parse_DataSpaceDefinition","parse_TransformInfoHeader","parse_Primary","ename","cmode","parse_EncryptionHeader","AlgID","valid","AlgIDHash","KeySize","ProviderType","CSPName","parse_EncryptionVerifier","Salt","Verifier","VerifierHash","parse_EncryptionInfo","parse_EncInfoStd","parse_EncInfoExt","parse_EncInfoAgl","verifier","KeyData","encryptedHmacKey","encryptedHmacValue","encs","uri","parse_RC4CryptoHeader","EncryptionVersionInfo","EncryptionHeader","EncryptionVerifier","parse_RC4Header","EncryptedVerifier","EncryptedVerifierHash","crypto_CreatePasswordVerifier_Method1","Password","PasswordArray","PasswordByte","Intermediate1","Intermediate2","Intermediate3","PasswordDecoded","crypto_CreateXorArray_Method1","PadArray","InitialCode","XorMatrix","Ror","Byte","XorRor","byte1","byte2","CreateXorKey_Method1","XorKey","CurrentElement","Char","password","Temp","PasswordLastChar","PadIndex","Index","ObfuscationArray","crypto_DecryptData_Method1","Data","XorArrayIndex","XorArray","Value","crypto_MakeXorDecryptor","parse_XORObfuscation","verificationBytes","insitu","parse_FilePassHeader","Info","parse_FilePass","RTF","rtf_to_sheet","rtf_to_sheet_str","rtf_to_workbook","sheet_to_rtf","hex2RGB","rgb2HSL","G","H6","L2","hsl2RGB","hsl","X","h6","rgb_tint","DEF_MDW","MAX_MDW","MIN_MDW","MDW","px","char2width","chr","cycle_width","collw","find_mdw_colw","delta","_MDW","coll","customWidth","DEF_PPI","PPI","pt","XLMLPatternTypeMap","parse_borders","Borders","border","diagonalUp","diagonalDown","parse_fills","Fills","bgColor","indexed","fgColor","parse_fonts","Fonts","bold","underline","vertAlign","scheme","themeElements","clrScheme","parse_numFmts","NumberFmt","formatCode","write_numFmts","NF","cellXF_uint","cellXF_bool","parse_cellXfs","xf","CellXf","alignment","vertical","horizontal","textRotation","indent","wrapText","write_cellXfs","cellXfs","parse_sty_xml","numFmtRegex","cellXfRegex","fillsRegex","fontsRegex","bordersRegex","STYLES_XML_ROOT","write_sty_xml","parse_BrtFmt","stFmtCode","write_BrtFmt","parse_BrtFont","bls","bCharSet","charset","write_BrtFont","sss","STY","XLSBFillPTNames","rev_XLSBFillPTNames","parse_BrtFill","write_BrtFill","fls","parse_BrtXF","ixfeParent","ifmt","write_BrtXF","flow","write_Blxf","parse_BrtBorder","write_BrtBorder","write_BrtStyle","xfId","builtinId","write_BrtBeginTableStyles","defTableStyle","defPivotStyle","parse_sty_bin","write_FMTS_bin","write_FONTS_bin","write_FILLS_bin","write_BORDERS_bin","write_CELLSTYLEXFS_bin","fontId","fillId","borderId","write_CELLXFS_bin","write_STYLES_bin","write_DXFS_bin","write_TABLESTYLES_bin","write_COLORPALETTE_bin","write_sty_bin","THEME","XLSXThemeClrScheme","parse_clrScheme","lastClr","parse_fontScheme","parse_fmtScheme","clrsregex","fntsregex","fmtsregex","parse_themeElements","themeltregex","parse_theme_xml","write_theme","Themes","themeXLSX","parse_Theme","dwThemeVersion","themeXML","parse_ColorTheme","parse_FullColorExt","xclrType","nTintShade","xclrValue","parse_IcvXF","parse_XFExtGradient","parse_ExtProp","extType","parse_XFExt","cexts","ext","update_xfext","xfext","xfe","parse_cc_xml","parse_BrtCalcChainItem$","parse_cc_bin","parse_xlink_xml","parse_xlink_bin","parse_drawing","IMG","DRAW","_shapeid","write_comments_vml","csize","bbox","joinstyle","gradientshapeok","coordsize","fillopts","angle","fillparm","fillxml","shadata","on","fillcolor","strokecolor","sheet_insert_comments","encoded","author","parse_comments_xml","authors","commentList","authtag","cmnttag","cm","authorId","textMatch","CMNT","CMNT_XML_ROOT","write_comments_xml","iauthor","parse_BrtBeginComment","rfx","write_BrtBeginComment","parse_BrtCommentAuthor","write_BrtCommentAuthor","parse_comments_bin","write_comments_bin","CT_VBA","make_vba_xls","newcfb","newpath","fill_vba_xls","VBAFMTS","parse_ds_bin","parse_ds_xml","parse_ms_bin","parse_ms_xml","DS","MS","rcregex","rcbase","rcfunc","fstr","crefregex","$0","$4","$5","shift_formula_str","shift_formula_xlsx","_xlfn","parseread1","parse_ColRelU","parse_RgceArea","parse_RgceArea_BIFF2","parse_RgceAreaRel","parse_RgceLoc","parse_RgceLoc_BIFF2","parse_RgceElfLoc","fQuoted","parse_RgceLocRel","parse_RgceLocRel_BIFF2","cl","rl","parse_PtgArea","parse_PtgArea3d","ixti","parse_PtgAreaErr","parse_PtgAreaErr3d","parse_PtgAreaN","parse_PtgArray","parse_PtgAttrBaxcel","bitSemi","bitBaxcel","parse_PtgAttrChoose","parse_PtgAttrGoto","bitGoto","parse_PtgAttrIf","bitIf","parse_PtgAttrIfError","parse_PtgAttrSemi","parse_PtgAttrSpaceType","parse_PtgAttrSpace","parse_PtgAttrSpaceSemi","parse_PtgRef","parse_PtgRefN","parse_PtgRef3d","parse_PtgFunc","iftab","FtabArgc","Ftab","parse_PtgFuncVar","cparams","tab","parsetab","Cetab","parse_PtgAttrSum","parse_PtgExp","parse_PtgErr","parse_PtgInt","parse_PtgBool","parse_PtgNum","parse_PtgStr","parse_SerAr","parse_PtgExtraMem","parse_PtgExtraArray","parse_PtgName","nameindex","parse_PtgNameX","parse_PtgNameX_BIFF5","parse_PtgMemArea","parse_PtgMemFunc","parse_PtgRefErr","parse_PtgRefErr3d","parse_PtgMemErr","parse_PtgMemNoMem","parse_PtgTbl","parse_PtgElfLoc","parse_PtgElfNoop","parse_PtgElfCol","parse_PtgElfColS","parse_PtgElfColSV","parse_PtgElfColV","parse_PtgElfLel","parse_PtgElfRadical","parse_PtgElfRadicalLel","parse_PtgElfRadicalS","parse_PtgElfRw","parse_PtgElfRwV","PtgListRT","parse_PtgList","coltype","parse_PtgSxName","parse_PtgSheet","parse_PtgEndSheet","parse_PtgMemAreaN","parse_PtgMemNoMemN","parse_PtgAttrNoop","PtgTypes","PtgDupes","Ptg18","Ptg19","parse_RgbExtra","parse_Rgce","ptgs","stringify_array","PtgBinOp","PtgAdd","PtgConcat","PtgDiv","PtgEq","PtgGe","PtgGt","PtgLe","PtgLt","PtgMul","PtgNe","PtgPower","PtgSub","quoteCharacters","formula_quote_sheet_name","sname","get_ixti_raw","supbooks","XTI","SID","get_ixti","stringify_formula","stack","nameidx","last_sp","sp","fflen","argc","func","args","lbl","names","XLSXFutureFunctions","externbook","bookidx","ixtidata","lp","rp","sharedf","parsedf","fnd","arrayf","PtgNonDisp","_left","rgcb","parse_XLSCellParsedFormula","parse_FormulaValue","write_FormulaValue","parse_Formula","cbf","shared","write_Formula","o1","o3","bf","parse_XLSBParsedFormula","parse_XLSBArrayParsedFormula","parse_XLSBCellParsedFormula","parse_XLSBNameParsedFormula","parse_XLSBSharedParsedFormula","ods_to_csf_formula","csf_to_ods_formula","ods_to_csf_3D","csf_to_ods_3D","_ssfopts","WS","browser_has_Map","Map","get_sst_id","revarr","col_obj_w","default_margins","margins","mode","defs","left","right","top","bottom","get_cell_style","revssf","ssf","applyNumberFormat","safe_format","fmtid","fillid","raw_rgb","check_ws","parse_ws_xml_dim","mergecregex","sheetdataregex","hlinkregex","dimregex","colregex","afregex","marginregex","sheetprregex","svsregex","parse_ws_xml","data1","data2","mtch","sheetPr","parse_ws_xml_sheetpr","ridx","svs","parse_ws_xml_sheetviews","columns","parse_ws_xml_cols","parse_ws_xml_data","afilter","parse_ws_xml_autofilter","_merge","parse_ws_xml_hlinks","parse_ws_xml_margins","tmpref","write_ws_xml_merges","codeName","CodeName","write_ws_xml_sheetpr","needed","vbaraw","cname","Workbook","sheetprot_deffalse","sheetprot_deftrue","write_ws_xml_protection","location","Rel","tooltip","rng","margin","write_ws_xml_margins","seencol","coli","colm","colM","write_ws_xml_cols","write_ws_xml_autofilter","Names","Sheet","Ref","sviewregex","Views","rightToLeft","write_ws_xml_sheetviews","sview","workbookViewId","write_ws_xml_cell","oldt","oldv","Strings","revStrings","cellregex","rowregex","isregex","refregex","match_v","match_f","sdata","sstr","ftag","cells","cref","tagr","tagc","do_format","rowobj","rowrite","marr","marrlen","xlen","ht","outlineLevel","rslice","cellFormula","xlfn","___f","si","_tag","_r","write_ws_xml_data","height","_cell","customHeight","WS_XML_ROOT","write_ws_xml","rdata","_drawing","sheetFormat","defaultRowHeight","baseColWidth","outlineLevelRow","relc","ignoreEC","numberStoredAsText","sqref","parse_BrtRowHdr","write_BrtRowHdr","ncolspan","lcs","caddr","first","last","write_row_header","parse_BrtWsDim","write_BrtWsDim","parse_BrtWsFmtInfo","parse_BrtWsProp","write_BrtWsProp","parse_BrtCellBlank","write_BrtCellBlank","ncell","parse_BrtCellBool","fBool","write_BrtCellBool","parse_BrtCellError","bError","parse_BrtCellIsst","write_BrtCellIsst","parse_BrtCellReal","write_BrtCellReal","parse_BrtCellRk","write_BrtCellRk","parse_BrtCellSt","write_BrtCellSt","parse_BrtFmlaBool","parse_BrtFmlaError","parse_BrtFmlaNum","parse_BrtFmlaString","parse_BrtMergeCell","write_BrtMergeCell","write_BrtBeginMergeCells","parse_BrtHLink","relId","display","write_BrtHLink","locidx","parse_BrtPane","parse_BrtArrFmla","fAlwaysCalc","parse_BrtShrFmla","write_BrtColInfo","BrtMarginKeys","parse_BrtMargins","write_BrtMargins","parse_BrtBeginWsView","write_BrtBeginWsView","write_BrtCellIgnoreEC","write_BrtSheetProtection","parse_BrtDVal","parse_BrtDVal14","parse_ws_bin","ai","af","aii","_d","write_ws_bin_cell","write_CELLTABLE","cap","write_MERGECELLS","write_COLINFOS","write_IGNOREECS","write_HLINKS","write_LEGACYDRAWING","write_AUTOFILTER","write_WSVIEWS2","write_WSFMTINFO","write_SHEETPROTECT","write_ws_bin","parse_Cache","nf","parse_chart","csheet","nc","cache","CHART","CHARTEX","CS","parse_cs_xml","parse_BrtCsProp","parse_cs_bin","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","push_defaults_array","push_defaults","parse_wb_defaults","WBProps","CalcPr","WBView","safe1904","badchars","check_ws_name","_good","check_wb_names","N","codes","cn","check_wb","wbnsregex","parse_wb_xml","dname","dnstart","Hidden","Comment","localSheetId","WB_XML_ROOT","write_wb_xml","write_names","workbookPr","sheetId","parse_BrtBundleSh","iTabID","strRelID","write_BrtBundleSh","parse_BrtWbProp","defaultThemeVersion","strName","autoCompressPictures","backupFile","checkCompatibility","filterPrivacy","hidePivotFieldList","promptedSolutions","publishItems","refreshAllConnections","saveExternalLinkValues","showBorderUnselectedTables","showInkAnnotation","showObjects","showPivotChartFilter","updateLinks","write_BrtWbProp","parse_BrtFRTArchID$","ArchID","parse_BrtName","Ptg","parse_wb_bin","write_BUNDLESHS","viz","write_BrtFileVersion","write_BrtBookView","write_BOOKVIEWS","vistab","write_wb_bin","parse_wb","parse_ws","parse_cs","parse_ms","parse_ds","parse_sty","parse_theme","parse_sst","parse_cmnt","parse_cc","parse_xlink","write_wb","write_ws","write_sty","write_sst","write_cmnt","attregexg2","attregex2","xlml_parsexmltag","words","xlml_parsexmltagobj","xlml_format","xlml_set_custprop","oval","safe_format_xlml","process_style_xlml","stag","Interior","I","Pattern","ID","parse_xlml_data","csty","sid","StyleID","interiors","Parent","UTC","Formula","ArrayRange","xlml_clean_comment","parse_xlml_xml","opening","ishtml","HTML_","tmp","sheetnames","cursheet","sheetname","dtag","didx","fidx","pidx","cstys","wsprops","lastIndex","raw_Rn3","HRef","HRefScreenTip","MergeAcross","MergeDown","cma","cmd","AutoFitHeight","Height","Format","ssfidx","Width","_col","Span","_NamedRange","_DefinedName","RefersTo","AutoFilter","Range","parse_fods","Margin","pagemargins","Top","Left","Right","Bottom","bookSheets","bookProps","parse_xlml","fix_read_opts","write_props_xlml","write_wb_xlml","write_sty_xlml","write_name_xlml","write_names_xlml","write_ws_xlml_names","write_ws_xlml_wsopts","objects","scenarios","selectLockedCells","selectUnlockedCells","write_ws_xlml_comment","write_ws_xlml_cell","attr","mi","_v","write_ws_xlml_row","write_ws_xlml_table","skip","write_ws_xlml","write_xlml","parse_compobj","AnsiUserType","AnsiClipboardFormat","Reserved1","UnicodeClipboardFormat","Reserved2","slurp","XLSRecordEnum","ll","safe_format_xf","make_cell","parse_workbook","lastcell","cmnt","rngC","rngR","temp_val","country","Directory","last_formula","cur_sheet","Preamble","last_cell","cell_valid","XFs","palette","get_rgb","process_cell_style","line","xfd","addcell","file_depth","afi","rrtabid","lastuser","winlocked","wtf","last_lbl","last_Rn","BIFF2Fmt","BIFF2FmtTable","FilterDatabases","seen_codepage","RecordType","Date1904","WriteProtect","cpval","CalcRefMode","FullCalc","ExternCount","tmpri","fakebs8","_fr","_fc","_fe","_arraystart","_j","_ixfe","b4idx","b2idx","TxO","ImData","noteobj","Encryption","Metadata","Country","PSCLSID","SI","DSI","UDI","parse_xls_props","DocSummary","Summary","write_xls_props","Keys","DSEntries","SEntries","CEntries","CEntries2","parse_xlscfb","CompObj","WorkbookP","bookVBA","bookFiles","write_xlscfb","wbpath","write_biff_buf","XLSRE","write_biff_rec","write_biff_continue","write_BIFF2BERR","write_BIFF2LABEL","write_ws_biff2_cell","write_ws_biff2","write_biff2_buf","write_FONTS_biff8","write_FMTS_biff8","write_FEAT","write_CELLXFS_biff8","write_ws_biff8_hlinks","HL","write_ws_biff8_cell","write_ws_biff8","_WB","_sheet","MAX_ROWS","write_biff8_global","_sheets","_wb","blen","write_biff8_buf","fix_write_opts","html_to_sheet","mtch2","hd","midx","colspan","rowspan","_t","html_to_book","make_html_row","editable","make_html_preamble","_BEGIN","_END","sheet_to_html","_row","BEGIN","END","_preamble","sheet_add_dom","or_R","or_C","getElementsByTagName","is_dom_element_hidden","elts","hasAttribute","getAttribute","innerHTML","parse_dom_table","table_to_book","element","get_computed_style","get_get_computed_style_function","getPropertyValue","ownerDocument","defaultView","getComputedStyle","parse_content_xml","parse_text_p","fixed","number_formats","day","month","year","hours","minutes","seconds","era","quarter","sheetag","rowtag","textptag","NFtag","ctag","textp","textpidx","textR","row_ol","number_format_map","mrange","mR","mC","rowpeat","colpeat","atag","_Ref","creator","creatoridx","isstub","intable","rptR","rpt","nrange","ptp","parse_ods","ods","write_styles_ods","write_content_ods","write_text_p","null_cell_xml","covered_cell_xml","_Fref","text_p","_tgt","write_automatic_styles_ods","fods","write_ods","write_sheet_index","write_obj_str","write_htm_str","write_csv_str","sheet_to_csv","write_slk_str","write_dif_str","write_prn_str","write_rtf_str","write_txt_str","sheet_to_txt","write_dbf_buf","write_eth_str","fix_opts_func","get_sheet_type","safe_parse_wbrels","wbrels","safe_parse_sheet","relsPath","sheetRels","stype","dfile","drelsp","draw","chartp","crelsp","strip_front_slash","binname","dir","link","propdata","deps","bookDeps","wbsheets","wbext","wbrelsi","wbrelsfile","nmode","wsloop","snjseen","snj","Deps","Styles","bin","parse_xlsxcfb","dsm","seds","einfo","decrypt_agile","decrypt_std76","foo","vbafmt","_sn","_i","wsrels","_type","need_vml","rId1","read_cfb","read_zip","read_plaintext","read_plaintext_raw","read_utf16","bstrify","read_prn","readSync","ab","vu","write_cfb_ctr","write_zip_type","oopts","generate","encrypt_agile","write_cfb_type","write_string_type","bom","write_stxt_type","write_binary_type","writeSync","resolve_book_type","_BT","writeFileAsync","_cb","Function","make_json_row","defval","isempty","enumerable","__rowNum__","rawNumbers","outi","counter","CC","blankrows","qreg","make_csv_row","FS","txt","forceQuotes","endregex","skipHidden","strip","sheet_to_formulae","cmds","sheet_add_json","js","skipHeader","JS","sheet_get_cell","json_to_sheet","get_formulae","make_csv","make_json","make_formulae","table_to_sheet","sheet_to_row_object_array","add_consts","get_default","ws_get_cell_stub","RC","wb_sheet_idx","sh","book_new","book_append_sheet","book_set_sheet_visibility","vis","cell_set_number_format","cell_set_hyperlink","cell_set_internal_link","cell_add_comment","sheet_set_array_formula","rngstr","Readable","write_csv_stream","stream","BOM","_read","write_html_stream","write_json_stream","objectMode","to_json","to_html","to_csv","readFile","classof","regexpExec","TypeError","DOMIterables","createNonEnumerableProperty","COLLECTION_NAME","Collection","CollectionPrototype","DO_NOT_EXPORT_JSZIP","globalThis","self","require","_dereq_","_keyStr","utf8","chr2","chr3","enc1","enc2","enc3","enc4","output","CompressedObject","compressedSize","uncompressedSize","compressionMethod","compressedContent","getCompressedContent","STORE","magic","compress","uncompress","compressInputType","uncompressInputType","DEFLATE","4","getTypeOf","iTop","DataReader","checkOffset","checkIndex","newIndex","setIndex","byteAt","readInt","readString","transformTo","readData","lastIndexOfSignature","sig","readDate","dostime","binary","createFolders","string2binary","string2Uint8Array","uint8Array2String","array","string2Blob","buffer","arrayBuffer2Blob","outputType","checkSupport","MAX_VALUE_16BITS","MAX_VALUE_32BITS","pretty","findCompression","isRegExp","object","USE_TYPEDARRAY","Uint32Array","pako","deflateRaw","inflateRaw","9","clone","newObj","support","compressions","10","ZipEntries","zipEntries","fileName","decompressed","optimizedBinaryString","fileComment","zipComment","11","12","Uint8ArrayReader","NodeBufferReader","13","signature","nodeBuffer","StringWriter","Uint8ArrayWriter","getRawData","getBinaryData","nodebuffer","dataToString","asUTF8","utf8decode","utf8encode","ZipObject","_initialMetadata","asText","asUint8Array","asArrayBuffer","decToHex","prepareFileAttrs","fileAdd","parent","dataType","parentFolder","folderAdd","substring","lastSlash","generateCompressedObjectFrom","generateZipParts","compressedObject","dosTime","dosDate","utfEncodedFileName","utfEncodedComment","useUTF8ForFileName","useUTF8ForComment","extraFields","unicodePathExtraField","unicodeCommentExtraField","fileRecord","LOCAL_FILE_HEADER","dirRecord","CENTRAL_FILE_HEADER","search","relativePath","fileClone","regexp","folder","arg","newFolder","remove","kids","writer","zipData","localDirLength","centralDirLength","compressionName","zipPart","dirEnd","CENTRAL_DIRECTORY_END","typeName","append","finalize","string","ZIP64_CENTRAL_DIRECTORY_LOCATOR","ZIP64_CENTRAL_DIRECTORY_END","DATA_DESCRIPTOR","15","StringReader","16","17","arraybuffer","uint8array","Builder","BlobBuilder","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","builder","getBlob","18","sig0","sig1","sig2","sig3","subarray","19","20","_utf8len","string2buf","m_pos","str_len","buf_len","utf8border","buf2string","c_len","utf16buf","applyFromCharCode","chunk","nextBoundary","21","identity","stringToArrayLike","arrayLikeToString","canUseApply","resultStr","arrayLikeToArrayLike","arrayFrom","arrayTo","transform","byteLength","inputType","supported","22","ZipEntry","jszipProto","loadOptions","checkSignature","expectedSignature","reader","readBlockEndOfCentral","diskNumber","diskWithCentralDirStart","centralDirRecordsOnThisDisk","centralDirRecords","centralDirSize","centralDirOffset","zipCommentLength","readBlockZip64EndOfCentral","zip64EndOfCentralSize","versionMadeBy","versionNeeded","zip64ExtensibleData","extraFieldId","extraFieldLength","extraFieldValue","extraDataSize","readBlockZip64EndOfCentralLocator","diskWithZip64CentralDirStart","relativeOffsetEndOfZip64CentralDir","disksCount","readLocalFiles","localHeaderOffset","readLocalPart","handleUTF8","readCentralDir","zip64","readCentralPart","readEndOfCentral","prepareReader","23","isEncrypted","bitFlag","useUTF8","prepareCompressedContent","previousIndex","compressedFileData","prepareContent","uncompressedFileData","localExtraFieldsLength","fileNameLength","checkCRC32","extraFieldsLength","fileCommentLength","diskNumberStart","internalFileAttributes","externalFileAttributes","readExtraFields","parseZIP64ExtraField","extraReader","upath","findExtraFieldUnicodePath","ucomment","findExtraFieldUnicodeComment","upathField","ucommentField","24","assign","deflate","constants","25","zlib_deflate","strings","zstream","Z_NO_FLUSH","Z_FINISH","Z_OK","Z_STREAM_END","Z_DEFAULT_COMPRESSION","Z_DEFAULT_STRATEGY","Z_DEFLATED","Deflate","chunkSize","windowBits","memLevel","strategy","to","opt","gzip","err","ended","chunks","strm","avail_out","status","deflateInit2","deflateSetHeader","deflator","_mode","next_in","avail_in","Buf8","next_out","onEnd","onData","buf2binstring","shrinkBuf","deflateEnd","flattenChunks","26","zlib_inflate","gzheader","Inflate","inflateInit2","inflateGetHeader","inflator","next_out_utf8","tail","utf8str","binstring2buf","arraySet","inflateEnd","ungzip","27","TYPED_OK","sources","source","fnTyped","dest","src","src_offs","dest_offs","fnUntyped","setTyped","Buf16","Buf32","28","STR_APPLY_OK","STR_APPLY_UIA_OK","__","29","adler32","adler","s1","s2","30","Z_PARTIAL_FLUSH","Z_SYNC_FLUSH","Z_FULL_FLUSH","Z_BLOCK","Z_TREES","Z_NEED_DICT","Z_ERRNO","Z_STREAM_ERROR","Z_DATA_ERROR","Z_BUF_ERROR","Z_NO_COMPRESSION","Z_BEST_SPEED","Z_BEST_COMPRESSION","Z_FILTERED","Z_HUFFMAN_ONLY","Z_RLE","Z_FIXED","Z_BINARY","Z_TEXT","Z_UNKNOWN","31","makeTable","crcTable","32","trees","MAX_MEM_LEVEL","MAX_WBITS","DEF_MEM_LEVEL","LENGTH_CODES","LITERALS","L_CODES","D_CODES","BL_CODES","HEAP_SIZE","MAX_BITS","MIN_MATCH","MAX_MATCH","MIN_LOOKAHEAD","PRESET_DICT","INIT_STATE","EXTRA_STATE","NAME_STATE","COMMENT_STATE","HCRC_STATE","BUSY_STATE","FINISH_STATE","BS_NEED_MORE","BS_BLOCK_DONE","BS_FINISH_STARTED","BS_FINISH_DONE","OS_CODE","errorCode","rank","zero","flush_pending","pending","pending_buf","pending_out","total_out","flush_block_only","_tr_flush_block","block_start","strstart","put_byte","putShortMSB","read_buf","wrap","total_in","longest_match","cur_match","chain_length","max_chain_length","scan","best_len","prev_length","nice_match","limit","w_size","_win","wmask","w_mask","prev","strend","scan_end1","scan_end","good_match","lookahead","match_start","fill_window","more","_w_size","window_size","hash_size","head","insert","ins_h","hash_shift","hash_mask","deflate_stored","flush","max_block_size","pending_buf_size","max_start","deflate_fast","hash_head","bflush","match_length","_tr_tally","max_lazy_match","last_lit","deflate_slow","max_insert","prev_match","match_available","deflate_rle","deflate_huff","configuration_table","Config","good_length","max_lazy","nice_length","max_chain","lm_init","DeflateState","gzhead","gzindex","last_flush","w_bits","hash_bits","dyn_ltree","dyn_dtree","bl_tree","l_desc","d_desc","bl_desc","heap","heap_len","heap_max","depth","l_buf","lit_bufsize","d_buf","opt_len","static_len","bi_buf","bi_valid","deflateResetKeep","data_type","_tr_init","deflateReset","deflateInit","old_flush","beg","hcrc","level_flags","bstate","_tr_align","_tr_stored_block","deflateInfo","33","GZheader","xflags","extra_len","done","34","BAD","TYPE","_in","_out","dmax","wsize","whave","wnext","hold","lcode","dcode","lmask","dmask","here","op","dist","from_source","lencode","distcode","lenbits","distbits","dolen","dodist","sane","35","inflate_fast","inflate_table","CODES","LENS","DISTS","Z_MEM_ERROR","HEAD","FLAGS","TIME","OS","EXLEN","EXTRA","NAME","COMMENT","HCRC","DICTID","DICT","TYPEDO","STORED","COPY_","COPY","TABLE","LENLENS","CODELENS","LEN_","LEN","LENEXT","DIST","DISTEXT","MATCH","LIT","CHECK","LENGTH","DONE","MEM","SYNC","ENOUGH_LENS","ENOUGH_DISTS","DEF_WBITS","ZSWAP32","InflateState","havedict","check","total","wbits","ncode","nlen","ndist","have","work","lendyn","distdyn","back","was","inflateResetKeep","inflateReset","inflateReset2","inflateInit","lenfix","distfix","virgin","fixedtables","sym","updatewindow","put","here_bits","here_op","here_val","last_bits","last_op","last_val","hbuf","order","inf_leave","inflateInfo","36","MAXBITS","lbase","lext","dbase","dext","lens_index","table_index","incr","low","mask","curr","drop","used","huff","base_index","offs","extra_index","37","38","STORED_BLOCK","STATIC_TREES","DYN_TREES","Buf_size","MAX_BL_BITS","END_BLOCK","REP_3_6","REPZ_3_10","REPZ_11_138","extra_lbits","extra_dbits","extra_blbits","bl_order","DIST_CODE_LEN","static_ltree","static_dtree","_dist_code","_length_code","base_length","base_dist","static_l_desc","static_d_desc","static_bl_desc","StaticTreeDesc","static_tree","extra_bits","extra_base","elems","max_length","has_stree","TreeDesc","dyn_tree","stat_desc","max_code","d_code","put_short","send_bits","send_code","tree","bi_reverse","bi_flush","gen_bitlen","xbits","stree","overflow","gen_codes","tr_static_init","init_block","bi_windup","copy_block","smaller","_n2","_m2","pqdownheap","compress_block","ltree","dtree","lc","lx","scan_tree","curlen","prevlen","nextlen","max_count","min_count","send_tree","build_bl_tree","max_blindex","send_all_trees","lcodes","dcodes","blcodes","detect_data_type","black_mask","static_init_done","stored_len","opt_lenb","static_lenb","39","ZStream","$forEach","arrayMethodIsStrict","arrayMethodUsesToLength","STRICT_METHOD","USES_TO_LENGTH","callbackfn","it","Constructor","getBuiltIn","ITERATOR","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","userAgent","thisArg","asyncGeneratorStep","gen","reject","_next","_throw","info","_asyncToGenerator","toByteArray","fromByteArray","lookup","revLookup","Arr","getLens","b64","validLen","placeHoldersLen","_byteLength","curByte","tripletToBase64","encodeChunk","uint8","extraBytes","maxChunkLength","len2","DO_NOT_EXPORT_CODEPAGE","cpt","sbcs_cache","dbcs_cache","magic_cache","magic_decode","magic_encode","cpdcache","cpecache","sfcc","cca","mdl","mdb","make_EE","E","EE","sbcs_encode","ofmt","sbcs_decode","DD","dbcs_encode","dbcs_decode","utf8_d","direct","encache","null_enc","cp_decache","decache","last_enc","last_cp","sbcs","dbcs","BM","SetD","isstr","dash","o64","hascp","anObject","isArrayIteratorMethod","toLength","getIteratorMethod","callWithSafeIterationClosing","Result","stopped","iterate","iterable","AS_ENTRIES","IS_ITERATOR","iterator","iterFn","boundFunction","stop","toInteger","integer","redefine","setGlobal","copyConstructorProperties","isForced","FORCED","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","forced","sham","internalObjectKeys","enumBugKeys","hiddenKeys","getOwnPropertyNames","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","isUndefined","getDefaultAdapter","adapter","XMLHttpRequest","transformRequest","isFormData","isArrayBuffer","isStream","isFile","isBlob","isArrayBufferView","isURLSearchParams","isObject","transformResponse","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","merge","definePropertyModule","SPECIES","CONSTRUCTOR_NAME","configurable","normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","context","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","existing","beforeCreate","emptyObject","freeze","isUndef","isDef","isTrue","isFalse","isPrimitive","_toString","isPlainObject","isValidArrayIndex","isPromise","catch","toNumber","makeMap","expectsLowerCase","create","list","isReservedAttribute","item","hasOwn","cached","hit","camelizeRE","camelize","capitalize","hyphenateRE","hyphenate","polyfillBind","ctx","boundFn","_length","nativeBind","toArray","_from","toObject","noop","no","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","every","keysA","keysB","looseIndexOf","once","SSR_ATTR","ASSET_TYPES","LIFECYCLE_HOOKS","optionMergeStrategies","silent","productionTip","devtools","performance","errorHandler","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","async","_lifecycleHooks","unicodeRegExp","isReserved","writable","bailRE","parsePath","segments","_isServer","hasProto","inBrowser","inWeex","WXEnvironment","platform","weexPlatform","UA","isIE","isIE9","isEdge","isIOS","isFF","nativeWatch","watch","supportsPassive","addEventListener","isServerRendering","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","isNative","Ctor","_Set","hasSymbol","Symbol","Reflect","ownKeys","Set","clear","uid","Dep","subs","addSub","sub","removeSub","depend","addDep","notify","targetStack","pushTarget","popTarget","VNode","children","elm","componentOptions","asyncFactory","ns","fnContext","fnOptions","fnScopeId","componentInstance","isStatic","isRootInsert","isComment","isCloned","isOnce","asyncMeta","isAsyncPlaceholder","prototypeAccessors","child","defineProperties","createEmptyVNode","createTextVNode","cloneVNode","vnode","cloned","arrayProto","arrayMethods","methodsToPatch","original","inserted","ob","__ob__","observeArray","dep","arrayKeys","shouldObserve","toggleObserving","Observer","vmCount","protoAugment","copyAugment","walk","__proto__","observe","asRootData","isExtensible","_isVue","defineReactive$$1","customSetter","shallow","property","getter","setter","childOb","dependArray","newVal","del","items","strats","mergeData","toVal","fromVal","mergeDataOrFn","parentVal","childVal","vm","instanceData","defaultData","mergeHook","dedupeHooks","hooks","mergeAssets","key$1","methods","inject","computed","provide","defaultStrat","normalizeProps","normalizeInject","normalized","normalizeDirectives","dirs","directives","def$$1","mergeOptions","_base","extends","mixins","mergeField","strat","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","propsData","absent","booleanIndex","getTypeIndex","Boolean","stringIndex","getPropDefaultValue","prevShouldObserve","default","_props","getType","isSameType","expectedTypes","handleError","$parent","errorCaptured","capture","globalHandleError","invokeWithErrorHandling","handler","_handled","logError","timerFunc","isUsingMicroTask","callbacks","flushCallbacks","copies","MutationObserver","setImmediate","observer","textNode","createTextNode","characterData","nextTick","_resolve","seenObjects","traverse","_traverse","isA","isFrozen","depId","normalizeEvent","passive","once$$1","createFnInvoker","fns","invoker","arguments$1","updateListeners","oldOn","remove$$1","createOnceHandler","old","event","mergeVNodeHook","hookKey","oldHook","wrappedHook","merged","extractPropsFromVNodeData","attrs","altKey","checkProp","preserve","simpleNormalizeChildren","normalizeChildren","normalizeArrayChildren","isTextNode","nestedIndex","_isVList","initProvide","_provided","initInjections","resolveInject","provideKey","provideDefault","resolveSlots","slots","slot","name$1","isWhitespace","normalizeScopedSlots","normalSlots","prevSlots","hasNormalSlots","isStable","$stable","$key","_normalized","$hasNormal","normalizeScopedSlot","key$2","proxyNormalSlot","proxy","renderList","renderSlot","fallback","bindObject","scopedSlotFn","$scopedSlots","$slots","$createElement","resolveFilter","isKeyNotMatch","expect","actual","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","loop","domProps","camelizedKey","hyphenatedKey","$event","renderStatic","isInFor","_staticTrees","_renderProxy","markStatic","markOnce","markStaticNode","bindObjectListeners","ours","resolveScopedSlots","hasDynamicKeys","contentHashKey","bindDynamicKeys","baseObj","values","prependModifier","symbol","installRenderHelpers","_o","_n","_l","_q","_m","_k","_b","_e","_u","_g","_p","FunctionalRenderContext","contextVm","this$1","_original","isCompiled","needNormalization","listeners","injections","scopedSlots","_c","createFunctionalComponent","mergeProps","renderContext","cloneAndMarkFunctionalResult","vnodes","componentVNodeHooks","init","hydrating","_isDestroyed","keepAlive","mountedNode","prepatch","createComponentInstanceForVnode","activeInstance","$mount","oldVnode","updateChildComponent","_isMounted","callHook","queueActivatedComponent","activateChildComponent","destroy","deactivateChildComponent","$destroy","hooksToMerge","createComponent","baseCtor","cid","resolveAsyncComponent","createAsyncPlaceholder","resolveConstructorOptions","model","transformModel","nativeOn","abstract","installComponentHooks","_isComponent","_parentVnode","inlineTemplate","toMerge","_merged","mergeHook$1","SIMPLE_NORMALIZE","ALWAYS_NORMALIZE","normalizationType","alwaysNormalize","_createElement","is","pre","applyNS","registerDeepBindings","force","class","initRender","_vnode","parentVnode","_renderChildren","parentData","_parentListeners","currentRenderingInstance","renderMixin","Vue","$nextTick","_render","ensureCtor","comp","__esModule","toStringTag","errorComp","resolved","owner","owners","loading","loadingComp","sync","timerLoading","timerTimeout","$on","forceRender","renderCompleted","$forceUpdate","clearTimeout","reason","component","delay","getFirstComponentChild","initEvents","_events","_hasHookEvent","updateComponentListeners","remove$1","$off","_target","onceHandler","oldListeners","eventsMixin","hookRE","$once","i$1","cbs","$emit","setActiveInstance","prevActiveInstance","initLifecycle","$children","$refs","_watcher","_inactive","_directInactive","_isBeingDestroyed","lifecycleMixin","_update","prevEl","$el","prevVnode","restoreActiveInstance","__patch__","__vue__","teardown","_watchers","mountComponent","el","updateComponent","Watcher","before","renderChildren","newScopedSlots","oldScopedSlots","hasDynamicScopedSlot","needsForceUpdate","$attrs","$listeners","propKeys","_propKeys","isInInactiveTree","handlers","queue","activatedChildren","waiting","flushing","resetSchedulerState","currentFlushTimestamp","getNow","createEvent","timeStamp","flushSchedulerQueue","watcher","activatedQueue","updatedQueue","callActivatedHooks","callUpdatedHooks","emit","queueWatcher","uid$2","expOrFn","isRenderWatcher","deep","user","lazy","active","dirty","newDeps","depIds","newDepIds","expression","cleanupDeps","oldValue","evaluate","sharedPropertyDefinition","sourceKey","initState","initProps","initMethods","initData","initComputed","initWatch","propsOptions","isRoot","getData","computedWatcherOptions","watchers","_computedWatchers","isSSR","userDef","defineComputed","shouldCache","createComputedGetter","createGetterInvoker","createWatcher","$watch","stateMixin","dataDef","propsDef","$set","$delete","immediate","uid$3","initMixin","_init","_uid","initInternalComponent","constructor","_self","vnodeComponentOptions","_componentTag","super","superOptions","cachedSuperOptions","modifiedOptions","resolveModifiedOptions","extendOptions","components","modified","latest","sealed","sealedOptions","initUse","use","plugin","installedPlugins","_installedPlugins","install","initMixin$1","mixin","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","initProps$1","initComputed$1","Comp","initAssetRegisters","definition","getComponentName","pattern","pruneCache","keepAliveInstance","cachedNode","pruneCacheEntry","current","cached$$1","patternTypes","KeepAlive","include","exclude","created","destroyed","mounted","ref$1","builtInComponents","initGlobalAPI","configDef","util","defineReactive","delete","observable","acceptValue","isEnumeratedAttr","isValidContentEditableValue","convertEnumeratedValue","isFalsyAttrValue","isBooleanAttr","xlinkNS","isXlink","getXlinkProp","genClassForVnode","parentNode","childNode","mergeClassData","renderClass","staticClass","dynamicClass","stringifyClass","stringifyArray","stringifyObject","stringified","namespaceMap","svg","math","isHTMLTag","isSVG","unknownElementCache","HTMLUnknownElement","HTMLElement","isTextInputType","query","selected","querySelector","createElement$1","tagName","multiple","setAttribute","createElementNS","namespace","createComment","insertBefore","newNode","referenceNode","nextSibling","setTextContent","textContent","setStyleScope","nodeOps","registerRef","isRemoval","refs","refInFor","emptyNode","sameVnode","sameInputType","typeA","typeB","createKeyToOldIdx","beginIdx","endIdx","createPatchFunction","backend","modules","emptyNodeAt","createRmCb","childElm","removeNode","createElm","insertedVnodeQueue","parentElm","refElm","nested","ownerArray","setScope","createChildren","invokeCreateHooks","isReactivated","initComponent","reactivateComponent","pendingInsert","isPatchable","innerNode","transition","activate","ref$$1","ancestor","addVnodes","startIdx","invokeDestroyHook","removeVnodes","ch","removeAndInvokeRemoveHook","rm","updateChildren","oldCh","newCh","removeOnly","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","patchVnode","findIdxInOld","hydrate","postpatch","invokeInsertHook","initial","isRenderedModule","inVPre","hasChildNodes","childrenMatch","firstChild","fullInvoke","isInitialPatch","isRealElement","nodeType","removeAttribute","oldElm","_leaveCb","patchable","i$2","updateDirectives","oldDir","isCreate","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","oldArg","callHook$1","componentUpdated","callInsert","emptyModifiers","modifiers","getRawDirName","rawName","baseModules","updateAttrs","inheritAttrs","oldAttrs","setAttr","removeAttributeNS","baseSetAttr","setAttributeNS","__ieph","blocker","stopImmediatePropagation","removeEventListener","updateClass","oldData","cls","transitionClass","_transitionClasses","_prevClass","target$1","klass","RANGE_TOKEN","CHECKBOX_RADIO_TOKEN","normalizeEvents","change","createOnceHandler$1","remove$2","useMicrotaskFix","add$1","attachedTimestamp","_wrapper","currentTarget","updateDOMListeners","svgContainer","events","updateDOMProps","oldProps","childNodes","_value","strCur","shouldUpdateValue","checkVal","composing","isNotInFocusAndDirty","isDirtyWithModifiers","notInFocus","activeElement","_vModifiers","number","parseStyleText","cssText","listDelimiter","propertyDelimiter","normalizeStyleData","normalizeStyleBinding","staticStyle","bindingStyle","getStyle","checkChild","styleData","emptyStyle","cssVarRE","importantRE","setProp","setProperty","normalizedName","normalize","vendorNames","capName","updateStyle","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","newStyle","whitespaceRE","addClass","classList","removeClass","tar","resolveTransition","css","autoCssTransition","enterClass","enterToClass","enterActiveClass","leaveClass","leaveToClass","leaveActiveClass","hasTransition","TRANSITION","ANIMATION","transitionProp","transitionEndEvent","animationProp","animationEndEvent","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","raf","requestAnimationFrame","nextFrame","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","expectedType","getTransitionInfo","propCount","transformRE","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","durations","toMs","enter","toggleDisplay","cancelled","_enterCb","appearClass","appearToClass","appearActiveClass","beforeEnter","afterEnter","enterCancelled","beforeAppear","appear","afterAppear","appearCancelled","duration","transitionNode","isAppear","startClass","activeClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","show","pendingNode","_pending","isValidDuration","leave","beforeLeave","afterLeave","leaveCancelled","delayLeave","explicitLeaveDuration","performLeave","invokerFns","_enter","platformModules","patch","vmodel","trigger","directive","binding","_vOptions","setSelected","getValue","onCompositionStart","onCompositionEnd","prevOptions","curOptions","some","needReset","hasNoMatchingOption","actuallySetSelected","isMultiple","option","selectedIndex","initEvent","dispatchEvent","locateNode","transition$$1","originalDisplay","__vOriginalDisplay","unbind","platformDirectives","transitionProps","getRealChild","compOptions","extractTransitionData","placeholder","rawChild","hasParentTransition","isSameChild","oldChild","isNotTextNode","isVShowDirective","Transition","_leaving","oldRawChild","delayedLeave","moveClass","TransitionGroup","beforeMount","kept","prevChildren","rawChildren","transitionData","removed","c$1","getBoundingClientRect","updated","hasMove","callPendingCbs","recordPosition","applyTranslation","_reflow","offsetHeight","moved","WebkitTransform","transitionDuration","_moveCb","propertyName","_hasMove","cloneNode","newPos","oldPos","dx","dy","platformComponents","_interopDefault","ex","_typeof","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","arr2","iter","combinePassengers","transports","slotProps","reduce","passengers","transport","temp","newPassengers","stableSort","compareFn","pick","acc","targets","Wormhole","trackInstances","_transport$order","newTransport","currentIndex","$_getTransportIndex","newTransports","registerTarget","unregisterTarget","registerSource","unregisterSource","hasTarget","hasSource","hasContentFor","_ref","wormhole","_id","Portal","disabled","slim","random","_this","sendUpdate","beforeDestroy","newValue","closer","normalizeSlots","normalizeOwnChildren","slotContent","Tag","PortalTarget","required","firstRender","ownTransports","oldVal","_this2","noWrapper","_id$1","portalProps","targetProps","MountingPortal","bail","mountTo","targetSlim","targetSlotProps","targetTag","$props","portalTarget","mountEl","manual","Vue$$1","portalName","portalTargetName","MountingPortalName","defer","channel","port","IS_IOS","clearImmediate","MessageChannel","Dispatch","ONREADYSTATECHANGE","runner","listener","post","postMessage","protocol","host","port2","port1","onmessage","importScripts","v8","enhanceError","__CANCEL__","encodeURIComponent","serializedParams","isDate","hashmarkIndex","Iterators","objectKeys","Properties","isAxiosError","toJSON","description","lineNumber","columnNumber","isStandardBrowserEnv","originURL","msie","urlParsingNode","resolveURL","hostname","pathname","requestURL","parsed","isString","_classCallCheck","instance","_defineProperties","_createClass","protoProps","staticProps","_extends","_inherits","subClass","superClass","_setPrototypeOf","_getPrototypeOf","setPrototypeOf","getPrototypeOf","_isNativeReflectConstruct","construct","Proxy","_construct","Class","_assertThisInitialized","ReferenceError","_possibleConstructorReturn","_createSuper","Derived","hasNativeReflectConstruct","NewTarget","_superPropBase","_get","receiver","consolePrefix","uniqueArray","capitalizeFirstLetter","objectValues","nodeList","previousWarnOnceMessages","warnOnce","warnAboutDepreation","deprecatedParam","useInstead","callIfFunction","hasToPromiseFn","toPromise","asPromise","DismissReason","cancel","backdrop","esc","timer","isJqueryElement","elem","jquery","isElement","Element","argsToParams","swalPrefix","prefix","swalClasses","iconTypes","getContainer","container","elementBySelector","selectorString","elementByClass","className","getPopup","popup","getIcons","querySelectorAll","icon","getIcon","visibleIcon","isVisible","getTitle","title","getHtmlContainer","getImage","image","getProgressSteps","getValidationMessage","getConfirmButton","actions","confirm","getCancelButton","getActions","getHeader","getFooter","getTimerProgressBar","getCloseButton","focusable","getFocusableElements","focusableElementsWithTabindex","otherFocusableElements","isModal","isToast","contains","isLoading","states","previousBodyPadding","setInnerHtml","parser","DOMParser","parseFromString","hasClass","removeCustomClasses","showClass","applyCustomClass","customClass","getInput","getChildByClass","checkbox","radio","oldInputVal","focusInput","focus","toggleClass","condition","applyNumericalStyle","removeProperty","opacity","hide","toggle","offsetWidth","getClientRects","isScrollable","scrollHeight","clientHeight","hasCssAnimation","animDuration","transDuration","haystack","needle","animateTimerProgressBar","reset","timerProgressBar","stopTimerProgressBar","timerProgressBarWidth","timerProgressBarFullWidth","timerProgressBarPercent","isNodeEnv","sweetHTML","question","warning","success","select","label","textarea","resetOldContainer","oldContainer","documentElement","resetValidationMessage","Swal","addInputChangeListeners","rangeOutput","oninput","onchange","getTarget","setupAccessibility","toast","setupRTL","targetElement","direction","rtl","oldContainerExisted","parseHtmlToContainer","param","handleObject","handleJqueryElem","testEl","transEndEventNames","WebkitAnimation","OAnimation","animation","measureScrollbar","scrollDiv","scrollbarWidth","clientWidth","renderActions","confirmButton","cancelButton","showConfirmButton","showCancelButton","renderButton","buttonsStyling","handleButtonsStyling","styled","backgroundColor","borderLeftColor","borderRightColor","reverseButtons","confirmButtonColor","cancelButtonColor","confirmButtonBackgroundColor","button","buttonType","handleBackdropParam","background","handlePositionParam","position","center","handleGrowParam","grow","growClass","renderContainer","allowOutsideClick","queueStep","privateProps","WeakMap","innerParams","domCache","inputTypes","renderInput","rerender","inputClass","inputContainer","setAttributes","inputAttributes","showInput","setCustomClass","renderInputType","getInputContainer","removeAttributes","attributes","attrName","setInputPlaceholder","inputPlaceholder","email","tel","inputValue","rangeInput","checkboxContainer","checked","initialPopupWidth","popupPadding","paddingLeft","paddingRight","outputsize","contentWidth","attributeFilter","renderContent","renderFooter","renderCloseButton","closeButton","closeButtonHtml","showCloseButton","closeButtonAriaLabel","renderIcon","hideAllIcons","setContent","adjustSuccessIconBackgoundColor","icons","popupBackgroundColor","successIconParts","iconHtml","iconContent","defaultIconHtml","renderImage","imageUrl","imageAlt","imageWidth","imageHeight","currentSteps","steps","resetAndResolve","queueResult","fire","dismiss","getQueueStep","insertQueueStep","deleteQueueStep","createStepElement","stepEl","createLineElement","lineEl","progressStepsDistance","renderProgressSteps","progressStepsContainer","progressSteps","currentProgressStep","renderTitle","titleText","innerText","renderHeader","renderPopup","padding","addClasses","modal","onRender","isVisible$1","clickConfirm","clickCancel","_len","_key","mixinParams","MixinSwal","_super","showLoading","RESTORE_FOCUS_TIMEOUT","globalState","focusPreviousActiveElement","previousActiveElement","restoreActiveElement","scrollX","scrollY","restoreFocusTimeout","scrollTo","getTimerLeft","stopTimer","resumeTimer","remaining","toggleTimer","running","increaseTimer","increase","isTimerRunning","isRunning","defaultParams","hideClass","heightAuto","allowEscapeKey","allowEnterKey","stopKeydownPropagation","keydownListenerCapture","preConfirm","confirmButtonText","confirmButtonAriaLabel","cancelButtonText","cancelButtonAriaLabel","focusConfirm","focusCancel","showLoaderOnConfirm","inputOptions","inputAutoTrim","inputValidator","validationMessage","onBeforeOpen","onOpen","onClose","onAfterClose","onDestroy","scrollbarPadding","updatableParams","deprecatedParams","toastIncompatibleParams","isValidParameter","paramName","isUpdatableParameter","isDeprecatedParameter","checkIfParamIsValid","checkIfToastParamIsValid","checkIfParamIsDeprecated","showWarningsForParams","staticMethods","enableLoading","hideLoading","getInput$1","fixScrollbar","innerHeight","undoScrollbar","iOSfix","iOS","MSStream","maxTouchPoints","iosfix","scrollTop","lockBodyScroll","addBottomPaddingForTallPopups","safari","bottomPanelHeight","paddingBottom","preventTouchMove","ontouchstart","shouldPreventTouchMove","ontouchmove","preventDefault","stopPropagation","undoIOSfix","isIE11","MSInputMethodContext","documentMode","fixVerticalPositionIE","offsetTop","alignItems","IEfix","undoIEfix","setAriaHidden","bodyChildren","unsetAriaHidden","privateMethods","swalPromiseResolve","removePopupAndResetState","isToast$$1","triggerOnAfterCloseAndDispose","keydownTarget","keydownHandler","keydownHandlerAdded","removeBodyClasses","shown","resolveValue","handlePopupAnimation","isDismissed","isConfirmed","animationIsSupported","animatePopup","swalCloseEventFinishedCallback","_destroy","setButtonsDisabled","buttons","setInputDisabled","radiosContainer","radios","enableButtons","disableButtons","enableInput","disableInput","showValidationMessage","popupComputedStyle","marginLeft","marginRight","inputerror","resetValidationMessage$1","getProgressSteps$1","Timer","started","defaultInputValidators","setDefaultInputValidators","validateCustomTargetElement","setParameters","openPopup","bodyStyles","initialBodyOverflow","overflowY","addClasses$1","setScrollingVisibility","fixScrollContainer","swalOpenAnimationFinished","handleInputOptionsAndValue","handleInputOptions","handleInputValue","getInputValue","getCheckboxValue","getRadioValue","getFileValue","processInputOptions","populateInputOptions","formatInputOptions","renderOption","optionLabel","optionValue","inputOption","optgroup","radioValue","radioLabel","radioInput","radioLabelElement","valueFormatted","handleConfirmButtonClick","handleConfirmWithInput","handleCancelButtonClick","dismissWith","validationPromise","checkValidity","succeedWith","closePopup","preConfirmPromise","preConfirmValue","addKeydownHandler","setFocus","increment","focusableElements","arrowKeys","escKeys","handleEnter","handleTab","handleArrows","handleEsc","isComposing","outerHTML","btnIndex","shiftKey","handlePopupClick","handleToastClick","handleModalMousedown","handleContainerMousedown","handleModalClick","onclick","ignoreOutsideClick","onmousedown","onmouseup","_main","userParams","currentInstance","prepareParams","populateDomCache","swalPromise","setupTimer","initFocus","globalState$$1","blurActiveElement","blur","validUpdatableParams","updatedParams","deferDisposalTimer","disposeSwal","unsetWeakMaps","instanceMethods","disableLoading","closeModal","closeToast","SweetAlert","outerParams","onFulfilled","onFinally","_currentInstance","Sweetalert2","swal","sweetAlert","styleSheet","proto","arch","execPath","browser","argv","cwd","chdir","exit","kill","umask","dlopen","uptime","memoryUsage","uvCounters","features","propertyIsEnumerable","UNSCOPABLES","ArrayPrototype","createError","defaultConstructor","getOwnPropertySymbols","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","mergeDeepProperties","axiosKeys","otherKeys","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","fromIndex","includes","argument","transformData","isCancel","throwIfCancellationRequested","cancelToken","throwIfRequested","fixRegExpWellKnownSymbolLogic","requireObjectCoercible","advanceStringIndex","regExpExec","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","maybeToString","REPLACE","nativeReplace","maybeCallNative","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","REPLACE_KEEPS_$0","UNSAFE_SUBSTITUTE","searchValue","replaceValue","replacer","rx","functionalReplace","fullUnicode","unicode","results","matchStr","accumulatedResult","nextSourcePosition","matched","captures","namedCaptures","groups","replacerArgs","replacement","getSubstitution","tailPos","symbols","IS_PURE","store","copyright","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","bitmap","kebab","styleProp","styleList","_wrapNativeSuper","_cache","_isNativeFunction","Wrapper","_Object","_Element","_super2","SVGElement","_Element2","_super3","_Object2","_super4","toRawType","isNull","isUndefinedOrNull","isFunction","isBoolean","isNumber","isNumeric","isEvent","Event","enumerableOnly","_objectSpread","_defineProperty","getOwnPropertyDescriptors","optionalProps","omit","mergeDeep","readonlyDescriptor","deepFreeze","_unsupportedIterableToArray","minLen","_arrayLikeToArray","_deepFreeze","cloneDeep","defaultValue","RX_DATE","RX_DATE_SPLIT","RX_TIME","RX_HREF","RX_ARRAY_NOTATION","RX_DIGITS","RX_EXTENSION","RX_HASH","RX_HASH_ID","RX_HTML_TAGS","RX_HYPHENATE","RX_LOWER_UPPER","RX_NUMBER","RX_REGEXP_REPLACE","RX_SPACES","RX_SPACE_SPLIT","RX_STAR","RX_START_SPACE_WORD","RX_TRIM_LEFT","RX_UNDERSCORE","RX_UN_KEBAB","RX_ASPECT","RX_ASPECT_SEPARATOR","RX_COL_CLASS","RX_ICON_PREFIX","RX_STRIP_LOCALE_MODS","NAME_ALERT","NAME_ASPECT","NAME_AVATAR","NAME_AVATAR_GROUP","NAME_BADGE","NAME_BREADCRUMB","NAME_BREADCRUMB_ITEM","NAME_BREADCRUMB_LINK","NAME_BUTTON","NAME_BUTTON_CLOSE","NAME_BUTTON_GROUP","NAME_BUTTON_TOOLBAR","NAME_CALENDAR","NAME_CARD","NAME_CARD_BODY","NAME_CARD_FOOTER","NAME_CARD_GROUP","NAME_CARD_HEADER","NAME_CARD_IMG","NAME_CARD_IMG_LAZY","NAME_CARD_SUB_TITLE","NAME_CARD_TEXT","NAME_CARD_TITLE","NAME_CAROUSEL","NAME_CAROUSEL_SLIDE","NAME_COL","NAME_COLLAPSE","NAME_COLLAPSE_HELPER","NAME_CONTAINER","NAME_DROPDOWN","NAME_DROPDOWN_DIVIDER","NAME_DROPDOWN_FORM","NAME_DROPDOWN_GROUP","NAME_DROPDOWN_HEADER","NAME_DROPDOWN_ITEM","NAME_DROPDOWN_ITEM_BUTTON","NAME_DROPDOWN_TEXT","NAME_EMBED","NAME_FORM","NAME_FORM_BUTTON_LABEL_CONTROL","NAME_FORM_CHECKBOX","NAME_FORM_CHECKBOX_GROUP","NAME_FORM_DATALIST","NAME_FORM_DATEPICKER","NAME_FORM_FILE","NAME_FORM_GROUP","NAME_FORM_INPUT","NAME_FORM_INVALID_FEEDBACK","NAME_FORM_RADIO","NAME_FORM_RADIO_GROUP","NAME_FORM_RATING","NAME_FORM_RATING_STAR","NAME_FORM_ROW","NAME_FORM_SELECT","NAME_FORM_SELECT_OPTION","NAME_FORM_SELECT_OPTION_GROUP","NAME_FORM_SPINBUTTON","NAME_FORM_TAG","NAME_FORM_TAGS","NAME_FORM_TEXT","NAME_FORM_TEXTAREA","NAME_FORM_TIMEPICKER","NAME_FORM_VALID_FEEDBACK","NAME_ICON","NAME_ICON_BASE","NAME_IMG","NAME_IMG_LAZY","NAME_INPUT_GROUP","NAME_INPUT_GROUP_ADDON","NAME_INPUT_GROUP_APPEND","NAME_INPUT_GROUP_PREPEND","NAME_INPUT_GROUP_TEXT","NAME_JUMBOTRON","NAME_LINK","NAME_LIST_GROUP","NAME_LIST_GROUP_ITEM","NAME_MEDIA","NAME_MEDIA_ASIDE","NAME_MEDIA_BODY","NAME_MODAL","NAME_MSG_BOX","NAME_NAV","NAME_NAVBAR","NAME_NAVBAR_BRAND","NAME_NAVBAR_NAV","NAME_NAVBAR_TOGGLE","NAME_NAV_FORM","NAME_NAV_ITEM","NAME_NAV_ITEM_DROPDOWN","NAME_NAV_TEXT","NAME_OVERLAY","NAME_PAGINATION","NAME_PAGINATION_NAV","NAME_POPOVER","NAME_POPOVER_HELPER","NAME_POPOVER_TEMPLATE","NAME_POPPER","NAME_PROGRESS","NAME_PROGRESS_BAR","NAME_ROW","NAME_SIDEBAR","NAME_SKELETON","NAME_SKELETON_ICON","NAME_SKELETON_IMG","NAME_SKELETON_TABLE","NAME_SKELETON_WRAPPER","NAME_SPINNER","NAME_TAB","NAME_TABLE","NAME_TABLE_CELL","NAME_TABLE_LITE","NAME_TABLE_SIMPLE","NAME_TABS","NAME_TAB_BUTTON_HELPER","NAME_TBODY","NAME_TFOOT","NAME_TH","NAME_THEAD","NAME_TIME","NAME_TOAST","NAME_TOASTER","NAME_TOAST_POP","NAME_TOOLTIP","NAME_TOOLTIP_HELPER","NAME_TOOLTIP_TEMPLATE","NAME_TR","NAME_TRANSITION","NAME_TRANSPORTER_SINGLE","NAME_TRANSPORTER_TARGET_SINGLE","breakpoints","formControls","dismissLabel","variant","badgeVariant","textVariant","ariaLabel","selectedVariant","todayVariant","navButtonVariant","labelPrevDecade","labelPrevYear","labelPrevMonth","labelCurrentMonth","labelNextMonth","labelNextYear","labelNextDecade","labelToday","labelSelected","labelNoDateSelected","labelCalendar","labelNav","labelHelp","subTitleTextVariant","labelPrev","labelNext","labelGotoSlide","labelIndicators","toggleText","splitVariant","labelTodayButton","labelResetButton","labelCloseButton","browseText","dropPlaceholder","noDropPlaceholder","removeLabel","addButtonText","addButtonVariant","duplicateTagText","invalidTagText","limitTagsText","tagRemoveLabel","tagRemovedLabel","tagVariant","labelNoTimeSelected","labelHours","labelMinutes","labelSeconds","labelAmpm","labelAm","labelPm","labelDecrement","labelIncrement","labelNowButton","blankColor","bgVariant","borderVariant","routerComponentName","titleTag","headerBgVariant","headerBorderVariant","headerTextVariant","headerCloseVariant","bodyBgVariant","bodyTextVariant","footerBgVariant","footerBorderVariant","footerTextVariant","cancelTitle","cancelVariant","okTitle","okVariant","headerCloseContent","headerCloseLabel","boundary","boundaryPadding","backdropVariant","headVariant","footVariant","toaster","autoHideDelay","toastClass","headerClass","bodyClass","ariaLive","ariaAtomic","role","PROP_NAME","BvConfig","$_config","$_cachedBreakpoints","configKeys","cmpName","cmpConfig","setConfig","checkMultipleVue","checkMultipleVueWarned","MULTIPLE_VUE_WARNING","plugins","installed","registerComponents","registerDirectives","registerPlugins","pluginFactory","registerComponent","registerDirective","argsKey","VueProto","getConfigValue","getComponentConfig","getBreakpoints","_getBreakpointsCached","getBreakpointsUpCached","arrayIncludes","createAndFillArray","flatten","flattenDeep","toFloat","float","precision","spaces","lowerCase","TABABLE_SELECTOR","elProto","matchesEl","msMatchesSelector","webkitMatchesSelector","closestEl","closest","sel","parentElement","Node","ELEMENT_NODE","requestAF","webkitRequestAnimationFrame","mozRequestAnimationFrame","msRequestAnimationFrame","oRequestAnimationFrame","MutationObs","WebKitMutationObserver","MozMutationObserver","excludes","isActiveElement","bcr","getBCR","hasAttr","reflow","selector","includeRoot","getById","getElementById","removeAttr","getAttr","setStyle","removeStyle","getSelection","_offset","win","pageYOffset","pageXOffset","parentOffset","elStyles","doc","offsetParent","offsetParentStyles","borderTopWidth","borderLeftWidth","marginTop","getTabables","rootEl","tabIndex","attemptFocus","_unused","attemptBlur","_unused2","NO_FADE_PROPS","FADE_PROPS","BVTransition","noFade","transProps","SLOT_NAME_APPEND","SLOT_NAME_BUTTON_CONTENT","SLOT_NAME_DEFAULT","SLOT_NAME_DESCRIPTION","SLOT_NAME_FIRST","SLOT_NAME_FOOTER","SLOT_NAME_HEADER","SLOT_NAME_LABEL","SLOT_NAME_LEAD","SLOT_NAME_PREPEND","SLOT_NAME_TEXT","SLOT_NAME_TITLE","scope","hasNormalizedSlot","normalizeSlot","vNodes","eventOn","evtName","eventOff","eventOnOff","stopEvent","evt","_ref$preventDefault","_ref$propagation","propagation","_ref$immediatePropaga","immediatePropagation","BButtonClose","componentData","BAlert","dismissible","fade","countDown","countDownTimeout","localShow","clearCountDownInterval","$alert","$dismissBtn","AlertPlugin","mathMin","mathMax","mathAbs","mathCeil","mathFloor","mathPow","mathRound","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_arr","CLASS_NAME","BAspect","aspect","ratio","_aspect$split$map","_aspect$split$map2","$sizer","$content","AspectPlugin","suffix","transformFn","copied","keysToPluck","objToPluck","ANCHOR_TAG","commaRE","encodeReserveRE","plusRE","queryStartRE","encodeReserveReplacer","decodeURIComponent","val2","computeTag","thisOrParent","hasRouter","$router","$nuxt","_ref2","_ref3","toFallback","CODE_BACKSPACE","CODE_DELETE","CODE_DOWN","CODE_END","CODE_ENTER","CODE_ESC","CODE_HOME","CODE_LEFT","CODE_PAGEDOWN","CODE_PAGEUP","CODE_RIGHT","CODE_SPACE","CODE_UP","compareArrays","equal","aValidType","bValidType","aKeysCount","bKeysCount","aHasKey","bHasKey","propName","$data","proxyPropName","routerLinkProps","exact","exactActiveClass","routerTag","nuxtLinkProps","prefetch","noPrefetch","BLink","computedTag","isRouterLink","computedRel","computedHref","computedProps","computedAttrs","bvAttrs","tabindex","computedListeners","bvListeners","onClick","_arguments","evtIsEvent","suppliedHandler","block","pill","squared","pressed","computeAttrs","nonStandardTag","hashLink","autocomplete","BButton","keydown","keyCode","focusin","focusout","commonIconProps","fontScale","scale","rotate","flipH","flipV","shiftH","shiftV","baseAttrs","viewBox","stackedAttrs","BVIconBase","stacked","_class","hasScale","hasTransforms","hasShift","transforms","isStacked","hasContent","$inner","$title","fontSize","kebabName","iconName","iconNameClass","iconTitle","svgContent","BIconBlank","BIconCalendar","BIconCalendarFill","BIconChevronBarLeft","BIconChevronDoubleLeft","BIconChevronDown","BIconChevronLeft","BIconChevronUp","BIconCircleFill","BIconClock","BIconClockFill","BIconDash","BIconPersonFill","BIconPlus","BIconStar","BIconStarFill","BIconStarHalf","BIconX","BIcon","componentRefOrName","SIZES","FONT_SIZE_SCALE","BADGE_FONT_SIZE_SCALE","alt","square","rounded","badge","badgeTop","badgeLeft","badgeOffset","BAvatar","bvAvatarGroup","localSrc","computedSize","computedVariant","computedRounded","fontStyle","marginStyle","overlapScale","badgeStyle","newSrc","oldSrc","onImgError","_class2","$badge","hasBadgeSlot","badgeText","BAvatarGroup","overlap","paddingStyle","AvatarPlugin","BBadge","BadgePlugin","htmlOrText","ariaCurrent","BBreadcrumbLink","suppliedProps","BBreadcrumbItem","BBreadcrumb","activeDefined","BreadcrumbPlugin","ButtonPlugin","BBtn","BBtnClose","ariaRole","BButtonGroup","ButtonGroupPlugin","BBtnGroup","ITEM_SELECTOR","BButtonToolbar","justify","keyNav","getItems","focusFirst","focusPrev","reverse","focusNext","focusLast","onFocusin","relatedTarget","onKeydown","ButtonToolbarPlugin","BBtnToolbar","CALENDAR_GREGORY","CALENDAR_LONG","CALENDAR_NARROW","CALENDAR_SHORT","DATE_FORMAT_2_DIGIT","DATE_FORMAT_NUMERIC","createDate","_date$split$map","_date$split$map2","formatYMD","locales","calendar","Intl","DateTimeFormat","resolvedOptions","locale","createDateFormatter","dtf","datesEqual","date1","date2","firstDateOfMonth","lastDateOfMonth","addYears","numberOfYears","oneMonthAgo","oneMonthAhead","oneYearAgo","oneYearAhead","oneDecadeAgo","oneDecadeAhead","RTL_LANGS","locale1","locale2","localId_","safeId","BCalendar","valueAsDate","initialDate","readonly","dateDisabledFn","startWeekday","noHighlightToday","dateInfoFn","hideHeader","showDecadeNav","ariaControls","roleDescription","dateFormatOptions","weekday","weekdayHeaderFormat","validator","selectedYMD","activeYMD","getToday","gridHasFocus","isLive","valueId","widgetId","navId","gridId","gridCaptionId","gridHelpId","activeId","selectedDate","activeDate","computedMin","computedMax","computedWeekStarts","computedLocale","calendarLocale","calendarYear","calendarMonth","calendarFirstDay","calendarDaysInMonth","computedTodayVariant","computedNavButtonVariant","isRTL","selectedFormatted","formatDateString","activeFormatted","dateDisabled","dateOutOfRange","rangeFn","disabledFn","hour","minute","second","formatYearMonth","formatWeekdayName","formatWeekdayNameShort","formatDay","NumberFormat","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","notation","prevDecadeDisabled","prevYearDisabled","prevMonthDisabled","thisMonthDisabled","nextMonthDisabled","nextYearDisabled","nextDecadeDisabled","matrix","firstDay","daysInMonth","startIndex","weekOffset","currentDay","week","dayYMD","dayDisabled","dateInfo","isThisMonth","isDisabled","calendarHeadings","newYMD","oldYMD","constrainDate","setLive","activated","deactivated","grid","_this3","emitSelected","_this4","setGridFocusFlag","onKeydownWrapper","ctrlKey","checkDate","constrainedToday","onKeydownGrid","onClickDay","clickedDate","gotoPrevDecade","gotoPrevYear","gotoPrevMonth","gotoCurrentMonth","gotoNextMonth","gotoNextYear","gotoNextDecade","onHeaderClick","_this5","hideDecadeNav","todayYMD","highlightToday","$header","for","labelSelectedDate","navScope","navProps","navPrevProps","navNextProps","$prevDecadeIcon","$prevYearIcon","$prevMonthIcon","$thisMonthIcon","$nextMonthIcon","$nextYearIcon","$nextDecadeIcon","makeNavBtn","btnDisabled","shortcut","$nav","$gridCaption","$gridWeekDays","$gridBody","$cells","dIndex","isSelected","isActive","isToday","idCell","$btn","pointerEvents","$gridHelp","$grid","$slot","$widget","lang","CalendarPlugin","BCardTitle","subTitle","subTitleTag","BCardSubTitle","card","overlay","BCardBody","cardTitle","cardSubTitle","cardContent","bodyTag","bodyBorderVariant","headerHtml","BCardHeader","headerTag","footerHtml","footerClass","BCardFooter","footerTag","BCardImg","baseClass","cardImgProps","imgSrc","noBody","BCard","imgLeft","imgRight","imgStart","imgEnd","slotScope","$imgFirst","$imgLast","$img","imgBottom","hasHeaderSlot","$footer","hasFooterSlot","OBSERVER_PROP_NAME","VisibilityObserver","visible","doneOnce","createObserver","IntersectionObserver","rootMargin","threshold","isIntersecting","intersectionRatio","disconnect","mod","_prevModifiers","VBVisible","BLANK_TEMPLATE","srcset","sizes","fluid","fluidGrow","thumbnail","blank","BImg","blankSrc","blankWidth","blankHeight","BImgLazy","bVisible","isShown","computedSrc","computedBlank","computedWidth","computedHeight","computedSrcset","computedSizes","updateShowProp","doShow","_modifiers","BCardImgLazy","lazyProps","textTag","BCardText","deck","BCardGroup","CardPlugin","EVENT_OPTIONS_PASSIVE","EVENT_OPTIONS_NO_CAPTURE","obs","mutations","changed","mutation","TEXT_NODE","addedNodes","removedNodes","childList","subtree","DIRECTION","dirClass","overlayClass","TRANS_DURATION","TOUCH_EVENT_COMPAT_WAIT","SWIPE_THRESHOLD","PointerType","TOUCH","PEN","TransitionEndEvents","WebkitTransition","MozTransition","OTransition","BCarousel","bvCarousel","interval","indicators","controls","noAnimation","noWrap","noTouch","noHoverPause","imgWidth","imgHeight","isSliding","slides","isPaused","touchStartX","touchDeltaX","numSlides","setSlide","pause","doSlide","$_interval","$_animationTimeout","$_touchTimeout","$_observer","updateSlides","setObserver","clearInterval","clearAnimationTimeout","clearTouchTimeout","_clearInterval","inner","slide","visibilityState","setInterval","restart","isCycling","calcDirection","currentSlide","nextSlide","onceTransEnd","curIndex","nextIndex","handleClick","handleSwipe","absDeltaX","touchStart","pointerType","clientX","touches","touchMove","touchEnd","prevHandler","nextHandler","mouseenter","mouseleave","imgProps","imgAlt","imgBlank","imgBlankColor","contentVisibleUp","contentTag","caption","captionHtml","captionTag","textHtml","BCarouselSlide","contentClasses","dragstart","$contentChildren","$child","CarouselPlugin","TRANSITION_PROPS","TRANSITION_HANDLERS","BVCollapse","listenOnRoot","listenOnRootOnce","emitOnRoot","_this$$root","CLASS_BV_TOGGLE_COLLAPSED","CLASS_BV_TOGGLE_NOT_COLLAPSED","BV_BASE","BV_TOGGLE_ROOT_HANDLER","BV_TOGGLE_CLICK_HANDLER","BV_TOGGLE_STATE","BV_TOGGLE_TARGETS","STRING_FALSE","STRING_TRUE","ATTR_ARIA_CONTROLS","ATTR_ARIA_EXPANDED","ATTR_ROLE","ATTR_TABINDEX","STYLE_OVERFLOW_ANCHOR","EVENT_TOGGLE","EVENT_STATE","EVENT_STATE_SYNC","EVENT_STATE_REQUEST","KEYDOWN_KEY_CODES","removeRootListeners","resetProp","VBToggle","EVENT_ACCORDION","BCollapse","isNav","accordion","transitioning","classObject","collapse","emitState","handleToggleEvt","handleAccordionEvt","setWindowEvents","handleResize","emitSync","onEnter","onAfterEnter","onLeave","onAfterLeave","checkDisplayBlock","restore","isBlock","clickHandler","openedId","VBTogglePlugin","CollapsePlugin","PLACEMENT_TOP_START","PLACEMENT_TOP_END","PLACEMENT_BOTTOM_START","PLACEMENT_BOTTOM_END","PLACEMENT_RIGHT_START","PLACEMENT_LEFT_START","BvEvent","eventInit","Defaults","cancelable","nativeEvent","vueTarget","componentId","defaultPrevented","listenForClickOut","clickOutElement","clickOutEventName","_clickOutHandler","isClickOut","clickOutHandler","listenForFocusIn","focusInElement","_focusInHandler","focusInHandler","ROOT_EVENT_PREFIX","ROOT_EVENT_SHOWN","ROOT_EVENT_HIDDEN","SELECTOR_FORM_CHILD","SELECTOR_ITEM","els","dropup","dropright","dropleft","noFlip","popperOpts","bvDropdown","bvNavbar","visibleChangePrevented","inNavbar","toggler","directionClass","boundaryClass","bvEvt","menu","emitEvent","focusToggler","showMenu","hideMenu","$_popper","whileOpenListen","destroyPopper","createPopper","focusMenu","getPopperConfig","updatePopper","scheduleUpdate","placement","popperConfig","flip","enabled","boundariesElement","preventOverflow","isOpen","rootCloseListener","refocus","_evt","onMousedown","onEsc","onSplitClick","hideHandler","up","focusItem","menuClass","toggleTag","noCaret","splitHref","splitTo","splitClass","splitButtonType","BDropdown","dropdownClasses","menuClasses","toggleClasses","commonProps","buttonContentSlotName","$buttonChildren","buttonContentDomProps","$split","btnProps","$toggle","mousedown","$menu","BDropdownItem","linkClass","closeDropdown","buttonClass","BDropdownItemButton","BDropdownHeader","BDropdownDivider","inline","novalidate","validated","BForm","BDropdownForm","formClass","BDropdownText","textClass","headerVariant","headerClasses","ariaDescribedby","BDropdownGroup","headerId","adb","ariaDescribedBy","DropdownPlugin","BDd","BDdItem","BDropdownItemBtn","BDdItemButton","BDdItemBtn","BDdHeader","BDdDivider","BDdForm","BDdText","BDdGroup","BEmbed","EmbedPlugin","OPTIONS_OBJECT_DEPRECATED_MSG","valueField","textField","htmlField","disabledField","formOptions","normalizeOptions","normalizeOption","BFormDatalist","BFormText","forceShow","BFormInvalidFeedback","BFormValidFeedback","BFormRow","FormPlugin","BDatalist","BFormFeedback","SELECTOR","form","autofocus","handleAutofocus","plain","buttonVariant","ariaLabelledby","localChecked","isGroup","bvGroup","hasFocus","computedLocalChecked","isBtnMode","isPlain","isCustom","isSwitch","isRadio","switches","switch","isInline","isRequired","getName","groupName","getForm","getSize","getState","computedState","getButtonVariant","buttonClasses","isChecked","handleFocus","defaultSlot","handleChange","isCheck","sizeFormClass","sizeBtnClass","stateClass","BFormCheckbox","uncheckedValue","indeterminate","$input","setIndeterminate","_ref$target","BFormRadio","ariaInvalid","groupClasses","computedAriaInvalid","$inputs","isRadioGroup","BFormCheckboxGroup","bvCheckGroup","FormCheckboxPlugin","BCheckbox","BCheck","BCheckboxGroup","BCheckGroup","PROP","MOUSEENTER","MOUSELEAVE","createListener","_ref$value","hasListener","handlerChanged","VBHover","dropdownProps","BVFormBtnLabelControl","BHover","formattedValue","buttonOnly","isHovered","idButton","idLabel","idMenu","idWrapper","computedDir","handleHover","hovered","btnScope","opened","$button","$hidden","$label","propsMixin","resetValue","noCloseOnSelect","calendarWidth","todayButton","todayButtonVariant","resetButton","resetButtonVariant","closeButtonVariant","dark","BFormDatepicker","localYMD","localLocale","calendarYM","calendarProps","computedLang","computedResetValue","control","setAndClose","onSelected","onInput","onContext","onTodayButton","onResetButton","onCloseButton","onShow","onShown","onHidden","defaultButtonFn","_label","_label2","$calendar","FormDatepickerPlugin","BDatepicker","custom","VALUE_EMPTY_DEPRECATED_MSG","isValidValue","getAsEntry","webkitGetAsEntry","dataTransferItemList","traverseDirectories","all","kind","isDirectory","createReader","$path","getAllFileEntriesInDirectory","directoryReader","entryPromises","readDirectoryEntries","readEntries","BFormFile","accept","directory","noTraverse","noDrop","fileNameFormatter","dragging","dropAllowed","computedAccept","extOrType","startMatch","endMatch","computedCapture","webkitdirectory","clonedFiles","flattenedFiles","fileNames","labelContent","allowed","filesTraversed","$form","isFileValid","isFilesArrayValid","setFiles","setInputFiles","dataTransfer","ClipboardEvent","clipboardData","DataTransfer","handleFiles","isDrop","filteredFiles","focusHandler","onChange","_evt$dataTransfer","webkitRelativePath","onDragenter","_evt$dataTransfer2","dropEffect","onDragover","_evt$dataTransfer3","onDragleave","onDrop","zIndex","dragenter","dragover","dragleave","FormFilePlugin","BFile","escapeChar","firstCharCode","char","charCode","boolStrNum","strNum","breakpoint","computeBreakpointClass","breakpointPropMap","breakpointCol","propMap","breakpointOffset","breakpointOrder","alignSelf","BCol","_classList$push","_keys","hasColClasses","invalidFeedback","invalidFeedbackId","feedbackAriaLive","validFeedback","validFeedbackId","descriptionId","labelFor","isLegend","isHorizontal","labelTag","labelSrOnly","labelId","labelColProps","legendClick","labelSize","labelAlignClasses","labelClass","makePropName","CODE_BREAKPOINTS","bpLabelColProps","bpLabelAlignProps","BFormGroup","propVal","bColPropName","classes","hasInvalidFeedback","hasValidFeedback","describedByIds","setInputDescribedBy","inputs","ids","isFieldset","FormGroupPlugin","BFormFieldset","selectionStart","selectionEnd","selectionDirection","_this$$refs$input","setSelectionRange","_this$$refs$input2","setRangeText","_this$$refs$input3","plaintext","formatter","lazyFormatter","debounce","localValue","vModelValue","computedClass","computedDebounce","hasFormatter","stringifyValue","clearDebounce","$_inputDebounceTimer","formatValue","modifyValue","updateValue","doUpdate","onBlur","validity","willValidate","setCustomValidity","reportValidity","TYPES","BFormInput","noWheel","localType","setWheelStopper","onWheelFocus","onWheelBlur","stopWheel","FormInputPlugin","BInput","BFormRadioGroup","bvRadioGroup","FormRadioPlugin","BRadio","BRadioGroup","MIN_STARS","DEFAULT_STARS","BVFormRatingStar","rating","star","focused","hasClear","minStar","stars","BFormRating","showValue","showValueMax","noBorder","iconEmpty","iconHalf","iconFull","iconClear","showClear","computedStars","computedRating","isInteractive","formattedRating","formatOptions","toLocaleString","amountRtl","onFocus","iconEmptyFn","iconHalfFn","iconFullFn","iconClearFn","$icon","empty","half","full","FormRatingPlugin","BRating","labelField","optionsField","BFormSelectOption","BFormSelectOptionGroup","BFormSelect","selectSize","computedSelectSize","selectedVal","FormSelectPlugin","BSelect","BSelectOption","BSelectOptionGroup","DEFAULT_MIN","DEFAULT_MAX","DEFAULT_STEP","DEFAULT_REPEAT_DELAY","DEFAULT_REPEAT_INTERVAL","DEFAULT_REPEAT_THRESHOLD","DEFAULT_REPEAT_MULTIPLIER","KEY_CODES","BFormSpinbutton","formatterFn","repeatDelay","repeatInterval","repeatThreshold","repeatStepMultiplier","spinId","computedInline","computedReadonly","computedRequired","computedStep","computedDelay","computedInterval","computedThreshold","computedStepMultiplier","computedPrecision","computedMultiplier","valueAsFixed","computedRTL","defaultFormatter","useGrouping","computedFormatter","computedSpinAttrs","hasValue","_disabled","clearRepeat","_readonly","$_autoDelayTimer","$_autoRepeatTimer","$_keyIsDown","spinner","emitChange","stepValue","multiplier","onFocusBlur","stepUp","stepDown","metaKey","resetTimers","handleStepRepeat","onKeyup","stepper","onMouseup","setMouseup","makeButton","IconCmp","keyRef","slotName","touchstart","$increment","$decrement","$spin","keyup","FormSpinbuttonPlugin","BSpinbutton","BFormTag","onDelete","tagId","tagLabelId","$remove","$tag","tags","cleanTagsState","invalid","duplicate","BFormTags","inputId","inputAttrs","tagClass","tagPills","tagValidator","separator","removeOnDelete","addOnChange","noAddOnEnter","noOuterFocus","ignoreInputFocusSelector","newTag","removedTags","tagsState","computedInputId","computedInputType","computedInputAttrs","computedInputHandlers","onInputInput","onInputChange","onInputKeydown","computedSeparator","computedSeparatorRegExp","computedJoiner","joiner","computeIgnoreInputFocusSelector","disableAddButton","splitTags","validateTag","duplicateTags","hasDuplicateTags","invalidTags","hasInvalidTags","isLimitReached","addTag","parseTags","invalidAndDuplicates","removeTag","separatorRe","ignoreFocusSelector","onFocusout","defaultRender","inputHandlers","isInvalid","isDuplicate","$tags","duplicateFeedbackId","limitFeedbackId","minWidth","invisible","tagListId","$field","$ul","$feedback","$invalid","$duplicate","$limit","_this6","$output","$removed","FormTagsPlugin","BTags","BTag","BFormTextarea","maxRows","noResize","noAutoShrink","heightInPx","computedStyle","resize","computedRows","computedMinRows","computedMaxRows","setHeight","visibleCallback","computeHeight","$isServer","lineHeight","borderBottomWidth","paddingTop","minHeight","oldHeight","contentRows","FormTextareaPlugin","BTextarea","NUMERIC","padLeftZeros","hh","mm","_hms$split$map","_hms$split$map2","ampm","requireSeconds","BTime","showSeconds","hour12","secondsStep","minutesStep","modelHours","modelMinutes","modelSeconds","modelAmpm","computedHMS","hourCycle","computedHourCycle","is12Hour","formatted","formattedTimeString","computedAriaLabelledby","timeFormatter","timeZone","numberFormatter","spinScopedSlots","decrement","_parseHMS","newHours","oldHours","spinners","formatHours","formatMinutes","formatSeconds","formatAmpm","setAmpm","onSpinLeftRight","cmp","spinIds","makeSpinbutton","spinbuttonProps","makeColon","$spinners","$value","nowButton","nowButtonVariant","noCloseButton","BFormTimepicker","localHMS","timeProps","onNowButton","$time","FormTimepickerPlugin","BTimepicker","ImagePlugin","BInputGroupText","isText","BInputGroupAddon","BInputGroupAppend","BInputGroupPrepend","prepend","prependHtml","appendHtml","BInputGroup","$prepend","hasPrependSlot","$append","hasAppendSlot","InputGroupPlugin","BContainer","containerFluid","headerLevel","lead","leadHtml","leadTag","BJumbotron","$lead","hasLeadSlot","JumbotronPlugin","COMMON_ALIGNMENT","computeRowColsClass","computeRowColsBreakpoint","rowColsPropList","rowColsProps","noGutters","alignV","alignH","alignContent","BRow","LayoutPlugin","LinkPlugin","BListGroup","actionTags","action","BListGroupItem","itemProps","ListGroupPlugin","BMediaBody","verticalAlign","BMediaAside","rightAlign","BMedia","$aside","$default","MediaPlugin","BTransporterTargetSingle","updatedNodes","BTransporterSingle","unmountTarget","mountTarget","$_defaultFn","$_target","updateTarget","defaultFn","listenDocument","listenOnDocument","listenOffDocument","listenWindow","listenOnWindow","listenOffWindow","getScopeId","scopedStyleAttrs","DEFAULT_ZINDEX","Selector","FIXED_CONTENT","STICKY_CONTENT","NAVBAR_TOGGLER","ModalManager","modals","baseZIndex","isBodyOverflowing","modalCount","modalsAreOpen","newCount","oldCount","getScrollbarWidth","checkScrollbar","setScrollbar","resetScrollbar","updateModals","registerModal","unregisterModal","resetModal","getBaseZIndex","div","isTop","_getBCR","innerWidth","_paddingChangedForModal","_marginChangedForModal","actualPadding","actualMargin","modalManager","_BvEvent","BvModalEvent","OBSERVER_CONFIG","centered","scrollable","buttonSize","noStacking","noCloseOnBackdrop","noCloseOnEsc","noEnforceFocus","ignoreEnforceFocusSelector","titleHtml","titleClass","titleSrOnly","modalClass","dialogClass","contentClass","hideFooter","hideHeaderClose","hideBackdrop","okOnly","okDisabled","cancelDisabled","returnFocus","cancelTitleHtml","okTitleHtml","busy","static","autoFocusButton","BModal","isHidden","isTransitioning","isShow","isOpening","isClosing","ignoreBackdropClick","isModalOverflowing","return_focus","modalId","modalOuterId","modalHeaderId","modalBodyId","modalTitleId","modalContentId","modalFooterId","modalBackdropId","modalClasses","modalStyles","sbWidth","dialogClasses","titleClasses","bodyClasses","footerClasses","_ref4","modalOuterStyle","ok","onOk","onCancel","computeIgnoreEnforceFocusSelector","computedModalAttrs","showHandler","toggleHandler","modalListener","checkModalOverflow","updateModel","buildEvent","getActiveElement","showEvt","hideEvt","triggerEl","onBeforeEnter","setResizeEvent","setEnforceFocus","onBeforeLeave","returnFocusTo","bvModalEvt","onDialogMousedown","onceModalMouseup","onClickOut","tabables","_this$$refs","bottomTrap","topTrap","preventScroll","autoFocus","makeModal","$modalHeader","$closeButton","$body","$modalFooter","$cancelButton","$okButton","$modalContent","$tabTrapTop","$tabTrapBottom","$modalDialog","$modal","$backdrop","EVENT_SHOW","PROPERTY","_ref$modifiers","oldProp","VBModal","PROP_NAME_PRIV","BASE_PROPS","defaultResolver","propsToSlots","msgBoxContent","BMsgBox","handleDestroy","$route","asyncMsgBox","resolver","msgBox","makeMsgBox","BvModal","_vm","_root","_this$_root","_this$_root2","_len2","_key2","BVModalPlugin","ModalPlugin","justified","tabs","pills","small","cardHeader","computeJustifyContent","BNav","BNavItem","linkAttrs","linkClasses","BNavText","BNavForm","_ref$listeners","BNavItemDropdown","toggleId","NavPlugin","BNavItemDd","BNavDropdown","BNavDd","toggleable","sticky","print","BNavbar","breakpointClass","xs","BNavbarNav","BNavbarBrand","isLink","BNavbarToggle","toggleState","handleStateEvt","expanded","NavbarPlugin","BNavToggle","BSpinner","positionCover","BOverlay","noCenter","spinnerType","spinnerVariant","spinnerSmall","overlayTag","wrapTag","overlayScope","defaultOverlayFn","$overlay","$background","backdropFilter","OverlayPlugin","ELLIPSIS_THRESHOLD","DEFAULT_LIMIT","startNumber","numberOfPages","page","hideGotoEndButtons","labelFirstPage","firstText","firstNumber","firstClass","labelPrevPage","prevText","prevClass","labelNextPage","nextText","nextClass","labelLastPage","lastText","lastNumber","lastClass","labelPage","pageClass","hideEllipsis","ellipsisText","ellipsisClass","currentPage","localNumberOfPages","localLimit","btnSize","styleClass","computedCurrentPage","paginationParams","showFirstDots","showLastDots","numberOfLinks","lastPageNumber","pageList","_this$paginationParam","pages","_i2","_i3","handleKeyNav","getButtons","btn","focusCurrent","_this7","pageNumbers","_this$paginationParam2","isActivePage","pageNumber","noCurrentPage","makeEndBtn","linkTo","btnSlot","btnText","btnClass","pageTest","$btnContent","linkProps","makeEllipsis","isLast","makePageButton","btnContent","makePage","$firstPageBtn","$lastPageBtn","$pagination","DEFAULT_PER_PAGE","DEFAULT_TOTAL_ROWS","perPage","totalRows","BPagination","pagination","pageSizeNumberOfPages","clickEvt","pageNum","PaginationPlugin","_linkProps","baseUrl","useRouter","linkGen","pageGen","noPageDetect","BPaginationNav","computedValue","setNumberOfPages","guessCurrentPage","getPageInfo","_link","makeLink","resolveLink","_link2","resolveRoute","route","currRoute","currLink","PaginationNavPlugin","AttachmentMap","AUTO","RIGHT","BOTTOM","LEFT","TOPLEFT","TOPRIGHT","RIGHTTOP","RIGHTBOTTOM","BOTTOMLEFT","BOTTOMRIGHT","LEFTTOP","LEFTBOTTOM","OffsetMap","BVPopper","fallbackPlacement","arrowPadding","attachment","getAttachment","templateType","getOffset","behavior","arrow","onCreate","originalPlacement","popperPlacementChange","onUpdate","popperCreate","arrowOffset","renderTemplate","BVTooltipTemplate","interactive","templateClasses","noninteractive","templateAttributes","templateListeners","MODAL_SELECTOR","MODAL_CLOSE_EVENT","SIDEBAR_SELECTOR","CONTAINER_SELECTOR","DROPDOWN_CLASS","DROPDOWN_OPEN_SELECTOR","DATA_TITLE_ATTR","templateData","triggers","BVTooltip","activeTrigger","hover","computedId","computedTriggers","isWithActiveTrigger","computedTemplateData","newTriggers","oldTriggers","unListen","listen","handleTemplateUpdate","disable","enable","$_tip","$_hoverTimeout","$_hoverState","$_visibleInterval","$_enabled","$_noop","forceHide","setWhileOpenListeners","clearHoverTimeout","clearVisibilityInterval","destroyTemplate","getTemplate","updateData","titleUpdated","fixTitle","createTemplateAndShow","Template","$tip","getPlacementTarget","getBoundary","onTemplateShow","onTemplateShown","onTemplateHide","onTemplateHidden","handleEvent","hideTemplate","clearActiveTriggers","localPlacementTarget","removeAriaDescribedby","restoreTitle","getTemplateElement","dropdownOpen","addAriaDescribedby","tip","prevHoverState","getTargetId","isInModal","isDropdown","setRootListener","doHide","doDisable","doEnable","setModalListener","setDropdownListener","visibleCheck","setOnTouchStartListener","_this8","_this9","evtTarget","_this10","_this11","BTooltip","localTitle","localContent","templateTitleContent","_show","$_toolpop","updateContent","doOpen","doClose","Component","getComponent","$toolpop","onHide","onDisabled","onEnabled","setTitle","BVPopoverTemplate","titleDomProps","contentDomProps","BVPopover","BPopover","BV_POPOVER","DefaultTrigger","validTriggers","htmlRE","noFadeRE","placementRE","boundaryRE","delayRE","delayShowRE","delayHideRE","offsetRE","variantRE","spacesRE","bindings","selectedTriggers","__bv_prev_data__","newData","removePopover","VBPopover","VBPopoverPlugin","PopoverPlugin","BProgressBar","bvProgress","labelHtml","striped","animated","showProgress","progressBarClasses","computedStriped","computedAnimated","progressBarStyles","computedProgress","computedShowProgress","computedShowValue","BProgress","progressHeight","ProgressPlugin","renderHeaderTitle","computedTile","noHeaderClose","closeLabel","noHeader","$close","renderBackdrop","onBackdropClick","BSidebar","sidebarClass","noSlide","noCloseOnRouteChange","titleId","fullPath","$_returnFocusEl","handleToggle","handleSync","onTopTrapFocus","enforceFocus","onBottomTrapFocus","$sidebar","SidebarPlugin","BSkeleton","BSkeletonIcon","iconProps","BSkeletonImg","noAspect","cardImg","isStackedAlways","stackedTableClasses","bvTable","bordered","borderless","outlined","responsive","stickyHeader","noBorderCollapse","captionTop","tableVariant","tableClass","isResponsive","isStickyHeader","wrapperClasses","wrapperStyles","maxHeight","tableClasses","isTableSimple","computedItems","computedBusy","selectableTableClasses","tableAttrs","captionId","filteredItems","computedFields","selectableAttrs","selectableTableAttrs","ariaAttrs","rowCount","renderCaption","renderColgroup","renderThead","renderTbody","renderTfoot","$table","BTableSimple","BSkeletonTable","showFooter","tableProps","$th","$thTr","$td","$tdTr","$tbody","$thead","$tfoot","BSkeletonWrapper","SkeletonPlugin","SpinnerPlugin","$events","LIGHT","DARK","BTr","bvTableTr","bvTableRowGroup","inTbody","isTbody","inThead","isThead","inTfoot","isTfoot","isDark","hasStickyHeader","isRowDark","trClasses","trAttrs","renderBottomRow","tbodyTrClass","tbodyTrAttr","stackedHeading","stickyColumn","BTd","isStackedCell","isStickyColumn","rowVariant","computedColspan","computedRowspan","cellClasses","cellAttrs","headOrFoot","busySlotName","localBusy","stopIfBusy","renderBusy","$caption","hasCaptionSlot","$colgroup","showEmpty","emptyText","emptyHtml","emptyFilteredText","emptyFilteredHtml","renderEmpty","$empty","isFiltered","IGNORED_FIELD_KEYS","_rowVariant","_cellVariants","_showDetails","EVENT_FILTER","ignoreFields","includeFields","fieldsObj","formattedRow","filterByFormatted","allowedKeys","stringifyObjectValues","DEBOUNCE_DEPRECATED_MSG","filterFunction","filterIgnoredFields","filterIncludedFields","filterDebounce","deprecated","localFilter","filterSanitize","computedFilterIgnored","computedFilterIncluded","computedFilterDebounce","ms","localFiltering","hasProvider","noProviderFiltering","filteredCheck","localItems","localFilterFn","criteria","filterFn","filterFnFactory","defaultFilterFnFactory","$_filterTimer","clearFilterTimer","newCriteria","regExp","computedFieldsObj","origFields","sample","primaryKey","paginatedItems","sortedItems","sortBy","localSortBy","sortDesc","localSortDesc","apiUrl","newItems","getFieldFormatter","localPaging","noProviderPaging","noProviderSorting","providerTriggerContext","_providerUpdate","refresh","clearSelected","_providerSetLocal","selectable","selectMode","noSelectOnClick","selectedRows","selectedLastRow","isSelectable","hasSelectableRowClick","supportsSelectableRows","selectableHasSelection","selectableIsMultiSelect","setSelectionHandlers","_selectedRows","selectRow","isRowSelected","selectedLastClicked","unselectRow","selectAllRows","selectableRowClasses","selectableRowAttrs","selectionHandler","localeOpts","nullLast","aa","bb","localeCompare","sortDirection","sortCompare","sortCompareOptions","numeric","sortCompareLocale","sortNullLast","noSortReset","labelSortAsc","labelSortDesc","labelSortClear","noLocalSorting","noFooterSorting","sortIconLeft","localSorting","isSortable","sortable","sortOptions","usage","sortLocale","sortByFormatted","handleSort","isFoot","sortChanged","toggleLocalSortDesc","sortKey","sortTheadThClasses","sortTheadThAttrs","ariaSort","sortTheadThLabel","labelSorting","tbodyTransitionProps","tbodyTransitionHandlers","BTbody","isTransitionGroup","tbodyAttrs","tbodyProps","TABLE_TAG_NAMES","containsNode","BTh","detailsSlotName","detailsTdClass","getTdValues","tdValue","defValue","getThValues","thValue","getFormattedValue","toggleDetailsFactory","hasDetailsSlot","rowHovered","tbodyRowEvtStopped","emitTbodyRowEvent","rowUnhovered","renderTbodyRowCell","colIndex","rowIndex","cellTag","isRowHeader","cellVariant","tdClass","thAttr","tdAttr","unformatted","toggleDetails","detailsShowing","rowSelected","$_bodyFieldSlotNameCache","$childNodes","renderTbodyRow","tableStriped","rowShowDetails","hasRowClickHandler","$rows","detailsId","$tds","ariaRowIndex","primaryKeyValue","rowKey","rowId","selectableClasses","userTrClasses","userTrAttrs","detailsScope","$details","userDetailsTrClasses","userDetailsTrAttrs","tbodyClass","getTbodyTrs","tbody","trs","itemRows","tr","getTbodyTrIndex","onTbodyRowKeydown","onTBodyRowClicked","onTbodyRowMiddleMouseRowClicked","which","onTbodyRowContextmenu","onTbodyRowDblClicked","$busy","defaultSlotName","fullName","lowerName","renderTopRow","auxclick","contextmenu","dblclick","BTfoot","tfootClasses","tfootAttrs","footClone","footRowVariant","tfootClass","tfootTrClass","renderTFootCustom","BThead","theadClasses","theadAttrs","headRowVariant","theadClass","theadTrClass","fieldClasses","thClass","headClicked","hasHeadClickListener","makeCell","headerTitle","sortAttrs","sortClass","sortLabel","thStyle","abbr","headerAbbr","slotNames","column","$srLabel","$trs","BTable","BTableLite","TableLitePlugin","TableSimplePlugin","TablePlugin","notDisabled","BVTabButton","bvTabs","posInSet","setSize","noKeyNav","handleEvt","_this$tab","localActive","titleItemClass","titleLinkClass","titleLinkAttributes","$link","activeNavItemClass","BTabs","noNavStyle","navClass","navWrapperClass","activeTabClass","currentTab","registeredTabs","isMounted","localNavClass","activateTab","previousTab","nextTab","updateTabs","registerTab","unregisterTab","tabsContainer","getTabs","_isTab","getButtonForTab","updateButton","tabEvt","deactivateTab","focusButton","emitTabClick","clickTab","firstTab","lastTab","activeTab","fallbackTab","controlledBy","nav","BTab","buttonId","tabClasses","computedNoFade","computedLazy","deactivate","TabsPlugin","TimePlugin","DefaultTransition","BToaster","doRender","dead","staticName","$toaster","$target","MIN_DURATION","isStatus","appendToast","noAutoHide","solid","BToast","isHiding","dismissStarted","resumeDismiss","bToastClasses","computedDuration","computedToaster","transitionHandlers","ensureToaster","clearDismissTimer","setHoverHandler","startDismissTimer","onPause","onUnPause","passed","onLinkClick","hiddenEvt","makeToast","$headerContent","$toast","toastContent","BVToastPop","BvToast","BVToastPlugin","ToastPlugin","BV_TOOLTIP","noninteractiveRE","removeTooltip","VBTooltip","VBTooltipPlugin","TooltipPlugin","componentsPlugin","VBHoverPlugin","VBModalPlugin","ACTIVATE_EVENT","CLASS_NAME_DROPDOWN_ITEM","CLASS_NAME_ACTIVE","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_ITEMS","SELECTOR_DROPDOWN_TOGGLE","METHOD_OFFSET","METHOD_POSITION","Default","throttle","DefaultType","componentName","configTypes","valueType","ScrollSpy","$scroller","$selector","$offsets","$targets","$activeTarget","$scrollHeight","$resizeTimeout","$scrollerObserver","$targetsObserver","$config","updateConfig","unlisten","cfg","scroller","getScroller","setObservers","resizeThrottle","autoMethod","methodFn","offsetBase","getScrollTop","getScrollHeight","maxScroll","getOffsetHeight","isActiveTarget","dropdown","setActiveState","sibling","previousElementSibling","BV_SCROLLSPY","onlyDigitsRE","removeScrollspy","dispose","VBScrollspy","VBScrollspyPlugin","VBVisiblePlugin","directivesPlugin","BootstrapVue","IndexedObject","nativeAssign","alphabet","argumentsLength","CONVERT_TO_STRING","codeAt","originalArray","NATIVE_WEAK_MAP","objectHas","sharedKey","enforce","getterFor","wmget","wmhas","wmset","STATE","inspectSource","InternalStateModule","getInternalState","enforceInternalState","TEMPLATE","simple","Cancel","expires","domain","secure","cookie","toGMTString","activeXDocument","documentCreateElement","GT","LT","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","NullProtoObjectViaActiveX","parentWindow","NullProtoObjectViaIFrame","iframeDocument","iframe","contentWindow","NullProtoObject","ActiveXObject","createIteratorConstructor","setToStringTag","IteratorsCore","IteratorPrototype","BUGGY_SAFARI_ITERATORS","KEYS","VALUES","ENTRIES","returnThis","Iterable","IteratorConstructor","DEFAULT","IS_SET","CurrentIteratorPrototype","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","isAbsoluteURL","combineURLs","baseURL","requestedURL","functionToString","View","routerView","_routerViewCache","inactive","_routerRoot","vnodeData","routerViewDepth","cachedData","cachedComponent","configProps","fillPropsinData","registerRouteInstance","instances","propsToPass","resolveProps","resolveQuery","extraQuery","_parseQuery","parsedQuery","parseQuery","castQueryParamValue","stringifyQuery","trailingSlashRE","createRoute","redirectedFrom","router","getFullPath","formatMatch","START","_stringifyQuery","isSameRoute","isObjectEqual","aKeys","bKeys","aVal","bVal","isIncludedRoute","queryIncludes","resolvePath","relative","firstChar","segment","hashIndex","queryIndex","cleanPath","isarray","pathToRegexp_1","pathToRegexp","parse_1","compile_1","compile","tokensToFunction_1","tokensToFunction","tokensToRegExp_1","tokensToRegExp","PATH_REGEXP","tokens","defaultDelimiter","delimiter","escaped","group","modifier","asterisk","partial","repeat","optional","escapeGroup","escapeString","encodeURIComponentPretty","encodeURI","encodeAsterisk","token","attachKeys","sensitive","regexpToRegexp","arrayToRegexp","stringToRegexp","strict","endsWithDelimiter","regexpCompileCache","fillParams","routeMsg","filler","pathMatch","normalizeLocation","params$1","rawPath","parsedPath","basePath","_Vue","toTypes","eventTypes","Link","ariaCurrentValue","globalActiveClass","linkActiveClass","globalExactActiveClass","linkExactActiveClass","activeClassFallback","exactActiveClassFallback","compareTarget","guardEvent","scopedSlot","navigate","isExactActive","findAnchor","aData","handler$1","event$1","aAttrs","registerInstance","callVal","_router","history","_route","beforeRouteEnter","beforeRouteLeave","beforeRouteUpdate","createRouteMap","routes","oldPathList","oldPathMap","oldNameMap","pathList","pathMap","nameMap","addRouteRecord","matchAs","pathToRegexpOptions","normalizedPath","normalizePath","caseSensitive","regex","compileRouteRegex","redirect","childMatchAs","alias","aliases","aliasRoute","createMatcher","addRoutes","currentRoute","_createRoute","paramNames","record$1","matchRoute","originalRedirect","resolveRecordPath","resolvedPath","aliasedPath","aliasedMatch","aliasedRecord","Time","genStateKey","getStateKey","setStateKey","positionStore","setupScroll","scrollRestoration","protocolAndPath","absolutePath","stateCopy","replaceState","handlePopState","handleScroll","isPop","app","scrollBehavior","getScrollPosition","shouldScroll","scrollToPosition","saveScrollPosition","getElementPosition","docEl","docRect","elRect","isValidPosition","normalizePosition","normalizeOffset","hashStartsWithNumberRE","supportsPushState","ua","pushState","runQueue","NavigationFailureType","redirected","aborted","duplicated","createNavigationRedirectedError","createRouterError","stringifyRoute","createNavigationDuplicatedError","createNavigationCancelledError","createNavigationAbortedError","_isRouter","propertiesToLog","isError","isNavigationFailure","errorType","resolveAsyncComponents","hasAsync","flatMapComponents","resolvedDef","isESModule","History","normalizeBase","ready","readyCbs","readyErrorCbs","errorCbs","baseEl","resolveQueue","extractGuards","guards","guard","extractGuard","extractLeaveGuards","bindGuard","extractUpdateHooks","extractEnterGuards","isValid","bindEnterGuard","poll","onReady","errorCb","onError","transitionTo","onComplete","onAbort","confirmTransition","updateRoute","ensureURL","afterHooks","abort","lastRouteIndex","lastCurrentIndex","beforeHooks","postEnterCbs","enterGuards","resolveHooks","setupListeners","cleanupListener","HTML5History","_startLocation","getLocation","expectScroll","supportsScroll","handleRoutingEvent","go","fromRoute","getCurrentLocation","decodeURI","HashHistory","checkFallback","ensureSlash","getHash","replaceHash","eventType","pushHash","searchIndex","getUrl","AbstractHistory","targetIndex","VueRouter","apps","matcher","registerHook","createHref","handleInitialScroll","routeOrError","beforeEach","beforeResolve","afterEach","forward","getMatchedComponents","normalizedTo","CancelToken","executor","resolvePromise","postfix","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","regexpFlags","stickyHelpers","nativeExec","patchedExec","UPDATES_LAST_INDEX_WRONG","re1","re2","UNSUPPORTED_Y","BROKEN_CARET","NPCG_INCLUDED","PATCH","reCopy","charsAdded","strCopy","multiline","hasWindowSupport","hasDocumentSupport","hasNavigatorSupport","hasPromiseSupport","hasMutationObserverSupport","isBrowser","isJSDOM","hasPassiveEventSupport","passiveEventSupported","hasTouchSupport","hasPointerEventSupport","PointerEvent","MSPointerEvent","hasIntersectionObserverSupport","IntersectionObserverEntry","getEnv","getNoWarn","feature","detection","POLYFILL","NATIVE","runtime","Op","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","define","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","makeInvokeMethod","tryCatch","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","__await","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iteratorMethod","isGeneratorFunction","genFun","ctor","mark","awrap","skipTempReset","rootEntry","rootRecord","exception","handle","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","returnMethod","nativeDefineProperty","Attributes","METHOD_NAME","NativePromise","speciesConstructor","promiseResolve","NON_GENERIC","real","commonjsGlobal","createCommonjsModule","humps","_processKeys","convert","_isObject","_isDate","_isRegExp","_isBoolean","_isFunction","_isArray","separateWords","_isNumerical","pascalize","camelized","decamelize","_processor","depascalize","camelizeKeys","decamelizeKeys","pascalizeKeys","depascalizeKeys","objectWithoutProperties","toConsumableArray","styleToObject","pair","classToObject","combineClassObjects","objs","_data$class","dClass","_data$style","dStyle","_data$attrs","dAttrs","remainingData","PRODUCTION","_console","objectWithKey","_classes","spin","pulse","fixedWidth","listItem","inverse","rotation","pull","swapOpacity","addStaticClass","what","normalizeIconArgs","icon$$1","FontAwesomeIcon","iconArgs","maskArgs","renderedIcon","convertCurry","ignoreCase","dotAll","thrower","ACCESSORS","argument0","argument1","PrototypeOfArrayIteratorPrototype","arrayIterator","TO_STRING_TAG_SUPPORT","FunctionPrototype","FunctionPrototypeToString","nameRE","settle","cookies","buildFullPath","parseHeaders","isURLSameOrigin","requestData","requestHeaders","auth","username","unescape","Authorization","btoa","onreadystatechange","readyState","responseURL","responseHeaders","getAllResponseHeaders","responseData","responseType","responseText","statusText","onabort","onerror","ontimeout","timeoutErrorMessage","xsrfValue","withCredentials","setRequestHeader","onDownloadProgress","onUploadProgress","upload","send","macrotask","IS_NODE","queueMicrotaskDescriptor","queueMicrotask","task","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","ieee754","typedArraySupport","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","RangeError","encodingOrOffset","fromArrayBuffer","fromString","fromObject","assertSize","isEncoding","fromArrayLike","byteOffset","isnan","SlowBuffer","isView","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","arrayIndexOf","indexSize","arrLength","valLength","readUInt16BE","foundIndex","found","hexWrite","strLen","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","compare","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","MAX_ARGUMENTS_LENGTH","codePoints","toHex","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","readUIntBE","readUInt8","readUInt16LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","base64clean","stringtrim","units","leadSurrogate","byteArray","hi","lo","nativeKeys","FAILS_ON_PRIMITIVES","arraySpeciesCreate","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","specificCreate","findIndex","PREFERRED_STRING","valueOf","faEnvelope","faExclamationCircle","faExternalLinkAlt","faGraduationCap","faHome","faKey","faLock","faSearch","faUser","faUserSecret","ignoreDuplicateOf","FormData","pipe","URLSearchParams","product","assignValue","stripBOM","SHARED","$indexOf","nativeIndexOf","NEGATIVE_ZERO","searchElement","EXISTS","newPromiseCapability","promiseCapability","createInstance","defaultConfig","axios","promises","spread","variable","nativePropertyIsEnumerable","NASHORN_BUG","aPossiblePrototype","CORRECT_SETTER","TAG","REPLACE_SUPPORTS_NAMED_GROUPS","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","nativeMethod","arg2","forceStringMethod","stringMethod","regexMethod","normalizeArray","allowAboveRoot","basename","matchedSlash","resolvedAbsolute","isAbsolute","trailingSlash","paths","fromParts","toParts","samePartsLength","outputParts","hasRoot","extname","startDot","startPart","preDotState","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","addToUnscopables","defineIterator","ARRAY_ITERATOR","setInternalState","iterated","Arguments","relativeURL","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","redefineAll","setSpecies","anInstance","checkCorrectnessOfIteration","microtask","hostReportErrors","newPromiseCapabilityModule","perform","V8_VERSION","PROMISE","getInternalPromiseState","PromiseConstructor","$fetch","newGenericPromiseCapability","DISPATCH_EVENT","UNHANDLED_REJECTION","REJECTION_HANDLED","PENDING","FULFILLED","REJECTED","HANDLED","UNHANDLED","GLOBAL_CORE_JS_PROMISE","PromiseRejectionEvent","FakePromise","INCORRECT_ITERATION","isThenable","isReject","notified","reactions","exited","reaction","rejection","onHandleUnhandled","onUnhandled","IS_UNHANDLED","isUnhandled","unwrap","internalReject","internalResolve","wrapper","onRejected","fetch","capability","$promiseResolve","alreadyCalled","race","getOwnPropertyDescriptorModule","_WINDOW","_DOCUMENT","_PERFORMANCE","measure","_ref$userAgent","WINDOW","DOCUMENT","PERFORMANCE","IS_DOM","IS_IE","NAMESPACE_IDENTIFIER","UNITS_IN_GRID","DEFAULT_FAMILY_PREFIX","DEFAULT_REPLACEMENT_CLASS","DATA_FA_I2SVG","oneToTen","oneToTwenty","DUOTONE_CLASSES","GROUP","SWAP_OPACITY","PRIMARY","SECONDARY","FontAwesomeConfig","getAttrConfig","coerce","_default","familyPrefix","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","mutateApproach","keepOriginalSource","measurePerformance","showMissingIcons","_config","shims","functions","loaded","doScroll","asyncTimer","SETTLED","NOOP","isNode","asyncSetTimer","asyncQueue","asyncFlush","asyncCall","invokeResolver","rejectPromise","invokeCallback","subscriber","settled","_state","handleThenable","fulfill","publishFulfillment","publishRejection","publish","_then","notifyRejectionHandled","onFulfillment","onRejection","meaninglessTransform","flipX","flipY","insertCss","headChildren","beforeChild","idPool","nextUniqueId","htmlEscape","joinAttributes","attributeName","joinStyles","styleName","transformIsMeaningful","transformForSvg","containerWidth","iconWidth","innerTranslate","innerScale","innerRotate","transformForCss","_ref2$width","_ref2$height","_ref2$startCentered","startCentered","ALL_SPACE","fillBlack","deGroup","makeIconMasking","explicitMaskId","maskId","mainWidth","mainPath","maskWidth","maskPath","trans","maskRect","maskInnerGroupChildrenMixin","maskInnerGroup","maskOuterGroup","clipId","maskTag","maskUnits","maskContentUnits","makeIconStandard","styleString","asIcon","asSymbol","makeInlineSvgAbstract","_params$icons","_params$watchable","watchable","isUploadedIcon","widthClass","attrClass","uploadedIconWidthStyle","makeLayersTextAbstract","_params$watchable2","noop$1","bindInternal4","thisContext","subject","initialValue","defineIcons","_params$skipHooks","skipHooks","addPack","build","reducer","ligatures","ligature","hasRegular","shim","oldName","iconFromMapping","mapping","toHtml","abstractNodes","_abstractNodes$attrib","_abstractNodes$childr","parseTransformString","transformString","rest","MissingIcon","FILL","ANIMATION_BASE","attributeType","repeatCount","dur","OPACITY_ANIMATE","cx","cy","asFoundIcon","_icon$slice","_icon$slice2","vectorData","baseStyles","dfp","drc","rc","dPatt","customPropPatt","rPatt","Library","definitions","additions","_pullDefinitions","_normalized$key","ensureCss","_cssInserted","apiObject","abstractCreator","findIconDefinition","iconLookup","_iconLookup$prefix","library","resolveIcons","maybeIconDefinition","iconDefinition","_params$transform","_params$symbol","_params$mask","_params$maskId","_params$title","_params$titleId","_params$classes","_params$attributes","_params$styles","_params$transform2","_params$title2","_params$classes2","_params$attributes2","_params$styles2","PromiseCapability","$$resolve","$$reject","timeoutDuration","longerTimeoutBrowsers","microtaskDebounce","taskDebounce","scheduled","supportsMicroTasks","functionToCheck","getStyleComputedProperty","getParentNode","nodeName","getScrollParent","_getStyleComputedProp","overflowX","getReferenceNode","reference","isIE10","getOffsetParent","noOffsetParent","nextElementSibling","isOffsetContainer","firstElementChild","getRoot","findCommonOffsetParent","element1","element2","compareDocumentPosition","DOCUMENT_POSITION_FOLLOWING","createRange","setStart","setEnd","commonAncestorContainer","element1root","getScroll","side","upperSide","scrollingElement","includeScroll","rect","subtract","scrollLeft","getBordersSize","axis","sideA","sideB","getWindowSizes","classCallCheck","createClass","getClientRect","offsets","horizScrollbar","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","isFixed","getFixedPositionOffsetParent","getBoundaries","popper","boundaries","boundariesNode","_getWindowSizes","isPaddingNumber","getArea","computeAutoPlacement","refRect","rects","sortedAreas","filteredAreas","computedPlacement","variation","getReferenceOffsets","commonOffsetParent","getOuterSizes","marginBottom","getOppositePlacement","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","runModifiers","ends","modifiersToRun","isDestroyed","arrowStyles","flipped","positionFixed","isCreated","isModifierEnabled","modifierName","getSupportedPropertyName","prefixes","upperProp","toCheck","willChange","disableEventListeners","removeOnDestroy","getWindow","attachToScrollParents","scrollParents","isBody","setupEventListeners","updateBound","scrollElement","eventsEnabled","enableEventListeners","removeEventListeners","cancelAnimationFrame","setStyles","unit","applyStyle","arrowElement","applyStyleOnLoad","modifierOptions","getRoundedOffsets","shouldRound","_data$offsets","noRound","referenceWidth","popperWidth","isVertical","isVariation","sameWidthParity","bothOddWidth","horizontalToInteger","verticalToInteger","isFirefox","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","devicePixelRatio","prefixedProperty","invertTop","invertLeft","isModifierRequired","requestingName","requestedName","requesting","_requesting","requested","_data$offsets$arrow","sideCapitalized","altSide","opSide","arrowElementSize","popperMarginSide","popperBorderSide","sideValue","getOppositeVariation","placements","validPlacements","clockwise","BEHAVIORS","FLIP","CLOCKWISE","COUNTERCLOCKWISE","placementOpposite","flipOrder","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","keepTogether","toValue","parseOffset","basePlacement","useHeight","fragments","frag","divider","splitRegex","ops","mergeWithPrevious","index2","transformProp","popperStyles","priority","primary","escapeWithReference","secondary","shiftvariation","shiftOffsets","bound","subtractLength","onLoad","Popper","Utils","PopperUtils","classofRaw","CORRECT_ARGUMENTS","tryGet","callee","eject","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList"],"mappings":"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IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,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,EAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,SAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,SAAY,WACpC,WAAY,WAAY,SAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,SACpC,WAAY,WAAY,WAAY,SACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WA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","file":"js/chunk-vendors.6d6b9537.js","sourcesContent":["var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","/*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*exported XLSX */\n/*global global, exports, module, require:false, process:false, Buffer:false, ArrayBuffer:false */\nvar XLSX = {};\nfunction make_xlsx_lib(XLSX){\nXLSX.version = '0.16.7';\nvar current_codepage = 1200, current_ansi = 1252;\n/*global cptable:true, window */\nif(typeof module !== \"undefined\" && typeof require !== 'undefined') {\n\tif(typeof cptable === 'undefined') {\n\t\tif(typeof global !== 'undefined') global.cptable = require('./dist/cpexcel.js');\n\t\telse if(typeof window !== 'undefined') window.cptable = require('./dist/cpexcel.js');\n\t}\n}\n\nvar VALID_ANSI = [ 874, 932, 936, 949, 950 ];\nfor(var i = 0; i <= 8; ++i) VALID_ANSI.push(1250 + i);\n/* ECMA-376 Part I 18.4.1 charset to codepage mapping */\nvar CS2CP = ({\n0: 1252, /* ANSI */\n1: 65001, /* DEFAULT */\n2: 65001, /* SYMBOL */\n77: 10000, /* MAC */\n128: 932, /* SHIFTJIS */\n129: 949, /* HANGUL */\n130: 1361, /* JOHAB */\n134: 936, /* GB2312 */\n136: 950, /* CHINESEBIG5 */\n161: 1253, /* GREEK */\n162: 1254, /* TURKISH */\n163: 1258, /* VIETNAMESE */\n177: 1255, /* HEBREW */\n178: 1256, /* ARABIC */\n186: 1257, /* BALTIC */\n204: 1251, /* RUSSIAN */\n222: 874, /* THAI */\n238: 1250, /* EASTEUROPE */\n255: 1252, /* OEM */\n69: 6969 /* MISC */\n});\n\nvar set_ansi = function(cp) { if(VALID_ANSI.indexOf(cp) == -1) return; current_ansi = CS2CP[0] = cp; };\nfunction reset_ansi() { set_ansi(1252); }\n\nvar set_cp = function(cp) { current_codepage = cp; set_ansi(cp); };\nfunction reset_cp() { set_cp(1200); reset_ansi(); }\n\nfunction char_codes(data) { var o = []; for(var i = 0, len = data.length; i < len; ++i) o[i] = data.charCodeAt(i); return o; }\n\nfunction utf16leread(data) {\n\tvar o = [];\n\tfor(var i = 0; i < (data.length>>1); ++i) o[i] = String.fromCharCode(data.charCodeAt(2*i) + (data.charCodeAt(2*i+1)<<8));\n\treturn o.join(\"\");\n}\nfunction utf16beread(data) {\n\tvar o = [];\n\tfor(var i = 0; i < (data.length>>1); ++i) o[i] = String.fromCharCode(data.charCodeAt(2*i+1) + (data.charCodeAt(2*i)<<8));\n\treturn o.join(\"\");\n}\n\nvar debom = function(data) {\n\tvar c1 = data.charCodeAt(0), c2 = data.charCodeAt(1);\n\tif(c1 == 0xFF && c2 == 0xFE) return utf16leread(data.slice(2));\n\tif(c1 == 0xFE && c2 == 0xFF) return utf16beread(data.slice(2));\n\tif(c1 == 0xFEFF) return data.slice(1);\n\treturn data;\n};\n\nvar _getchar = function _gc1(x) { return String.fromCharCode(x); };\nvar _getansi = function _ga1(x) { return String.fromCharCode(x); };\nif(typeof cptable !== 'undefined') {\n\tset_cp = function(cp) { current_codepage = cp; set_ansi(cp); };\n\tdebom = function(data) {\n\t\tif(data.charCodeAt(0) === 0xFF && data.charCodeAt(1) === 0xFE) { return cptable.utils.decode(1200, char_codes(data.slice(2))); }\n\t\treturn data;\n\t};\n\t_getchar = function _gc2(x) {\n\t\tif(current_codepage === 1200) return String.fromCharCode(x);\n\t\treturn cptable.utils.decode(current_codepage, [x&255,x>>8])[0];\n\t};\n\t_getansi = function _ga2(x) {\n\t\treturn cptable.utils.decode(current_ansi, [x])[0];\n\t};\n}\nvar DENSE = null;\nvar DIF_XL = true;\nvar Base64 = (function make_b64(){\n\tvar map = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n\treturn {\n\t\tencode: function(input) {\n\t\t\tvar o = \"\";\n\t\t\tvar c1=0, c2=0, c3=0, e1=0, e2=0, e3=0, e4=0;\n\t\t\tfor(var i = 0; i < input.length; ) {\n\t\t\t\tc1 = input.charCodeAt(i++);\n\t\t\t\te1 = (c1 >> 2);\n\n\t\t\t\tc2 = input.charCodeAt(i++);\n\t\t\t\te2 = ((c1 & 3) << 4) | (c2 >> 4);\n\n\t\t\t\tc3 = input.charCodeAt(i++);\n\t\t\t\te3 = ((c2 & 15) << 2) | (c3 >> 6);\n\t\t\t\te4 = (c3 & 63);\n\t\t\t\tif (isNaN(c2)) { e3 = e4 = 64; }\n\t\t\t\telse if (isNaN(c3)) { e4 = 64; }\n\t\t\t\to += map.charAt(e1) + map.charAt(e2) + map.charAt(e3) + map.charAt(e4);\n\t\t\t}\n\t\t\treturn o;\n\t\t},\n\t\tdecode: function b64_decode(input) {\n\t\t\tvar o = \"\";\n\t\t\tvar c1=0, c2=0, c3=0, e1=0, e2=0, e3=0, e4=0;\n\t\t\tinput = input.replace(/[^\\w\\+\\/\\=]/g, \"\");\n\t\t\tfor(var i = 0; i < input.length;) {\n\t\t\t\te1 = map.indexOf(input.charAt(i++));\n\t\t\t\te2 = map.indexOf(input.charAt(i++));\n\t\t\t\tc1 = (e1 << 2) | (e2 >> 4);\n\t\t\t\to += String.fromCharCode(c1);\n\n\t\t\t\te3 = map.indexOf(input.charAt(i++));\n\t\t\t\tc2 = ((e2 & 15) << 4) | (e3 >> 2);\n\t\t\t\tif (e3 !== 64) { o += String.fromCharCode(c2); }\n\n\t\t\t\te4 = map.indexOf(input.charAt(i++));\n\t\t\t\tc3 = ((e3 & 3) << 6) | e4;\n\t\t\t\tif (e4 !== 64) { o += String.fromCharCode(c3); }\n\t\t\t}\n\t\t\treturn o;\n\t\t}\n\t};\n})();\nvar has_buf = (typeof Buffer !== 'undefined' && typeof process !== 'undefined' && typeof process.versions !== 'undefined' && !!process.versions.node);\n\nvar Buffer_from = function(){};\n\nif(typeof Buffer !== 'undefined') {\n\tvar nbfs = !Buffer.from;\n\tif(!nbfs) try { Buffer.from(\"foo\", \"utf8\"); } catch(e) { nbfs = true; }\n\tBuffer_from = nbfs ? function(buf, enc) { return (enc) ? new Buffer(buf, enc) : new Buffer(buf); } : Buffer.from.bind(Buffer);\n\t// $FlowIgnore\n\tif(!Buffer.alloc) Buffer.alloc = function(n) { return new Buffer(n); };\n\t// $FlowIgnore\n\tif(!Buffer.allocUnsafe) Buffer.allocUnsafe = function(n) { return new Buffer(n); };\n}\n\nfunction new_raw_buf(len) {\n\t/* jshint -W056 */\n\treturn has_buf ? Buffer.alloc(len) : new Array(len);\n\t/* jshint +W056 */\n}\n\nfunction new_unsafe_buf(len) {\n\t/* jshint -W056 */\n\treturn has_buf ? Buffer.allocUnsafe(len) : new Array(len);\n\t/* jshint +W056 */\n}\n\nvar s2a = function s2a(s) {\n\tif(has_buf) return Buffer_from(s, \"binary\");\n\treturn s.split(\"\").map(function(x){ return x.charCodeAt(0) & 0xff; });\n};\n\nfunction s2ab(s) {\n\tif(typeof ArrayBuffer === 'undefined') return s2a(s);\n\tvar buf = new ArrayBuffer(s.length), view = new Uint8Array(buf);\n\tfor (var i=0; i!=s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;\n\treturn buf;\n}\n\nfunction a2s(data) {\n\tif(Array.isArray(data)) return data.map(function(c) { return String.fromCharCode(c); }).join(\"\");\n\tvar o = []; for(var i = 0; i < data.length; ++i) o[i] = String.fromCharCode(data[i]); return o.join(\"\");\n}\n\nfunction a2u(data) {\n\tif(typeof Uint8Array === 'undefined') throw new Error(\"Unsupported\");\n\treturn new Uint8Array(data);\n}\n\nfunction ab2a(data) {\n\tif(typeof ArrayBuffer == 'undefined') throw new Error(\"Unsupported\");\n\tif(data instanceof ArrayBuffer) return ab2a(new Uint8Array(data));\nvar o = new Array(data.length);\n\tfor(var i = 0; i < data.length; ++i) o[i] = data[i];\n\treturn o;\n}\n\nvar bconcat = function(bufs) { return [].concat.apply([], bufs); };\n\nvar chr0 = /\\u0000/g, chr1 = /[\\u0001-\\u0006]/g;\n/* ssf.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/*jshint -W041 */\nvar SSF = ({});\nvar make_ssf = function make_ssf(SSF){\nSSF.version = '0.11.2';\nfunction _strrev(x) { var o = \"\", i = x.length-1; while(i>=0) o += x.charAt(i--); return o; }\nfunction fill(c,l) { var o = \"\"; while(o.length < l) o+=c; return o; }\nfunction pad0(v,d){var t=\"\"+v; return t.length>=d?t:fill('0',d-t.length)+t;}\nfunction pad_(v,d){var t=\"\"+v;return t.length>=d?t:fill(' ',d-t.length)+t;}\nfunction rpad_(v,d){var t=\"\"+v; return t.length>=d?t:t+fill(' ',d-t.length);}\nfunction pad0r1(v,d){var t=\"\"+Math.round(v); return t.length>=d?t:fill('0',d-t.length)+t;}\nfunction pad0r2(v,d){var t=\"\"+v; return t.length>=d?t:fill('0',d-t.length)+t;}\nvar p2_32 = Math.pow(2,32);\nfunction pad0r(v,d){if(v>p2_32||v<-p2_32) return pad0r1(v,d); var i = Math.round(v); return pad0r2(i,d); }\nfunction isgeneral(s, i) { i = i || 0; return s.length >= 7 + i && (s.charCodeAt(i)|32) === 103 && (s.charCodeAt(i+1)|32) === 101 && (s.charCodeAt(i+2)|32) === 110 && (s.charCodeAt(i+3)|32) === 101 && (s.charCodeAt(i+4)|32) === 114 && (s.charCodeAt(i+5)|32) === 97 && (s.charCodeAt(i+6)|32) === 108; }\nvar days = [\n\t['Sun', 'Sunday'],\n\t['Mon', 'Monday'],\n\t['Tue', 'Tuesday'],\n\t['Wed', 'Wednesday'],\n\t['Thu', 'Thursday'],\n\t['Fri', 'Friday'],\n\t['Sat', 'Saturday']\n];\nvar months = [\n\t['J', 'Jan', 'January'],\n\t['F', 'Feb', 'February'],\n\t['M', 'Mar', 'March'],\n\t['A', 'Apr', 'April'],\n\t['M', 'May', 'May'],\n\t['J', 'Jun', 'June'],\n\t['J', 'Jul', 'July'],\n\t['A', 'Aug', 'August'],\n\t['S', 'Sep', 'September'],\n\t['O', 'Oct', 'October'],\n\t['N', 'Nov', 'November'],\n\t['D', 'Dec', 'December']\n];\nfunction init_table(t) {\n\tt[0]= 'General';\n\tt[1]= '0';\n\tt[2]= '0.00';\n\tt[3]= '#,##0';\n\tt[4]= '#,##0.00';\n\tt[9]= '0%';\n\tt[10]= '0.00%';\n\tt[11]= '0.00E+00';\n\tt[12]= '# ?/?';\n\tt[13]= '# ??/??';\n\tt[14]= 'm/d/yy';\n\tt[15]= 'd-mmm-yy';\n\tt[16]= 'd-mmm';\n\tt[17]= 'mmm-yy';\n\tt[18]= 'h:mm AM/PM';\n\tt[19]= 'h:mm:ss AM/PM';\n\tt[20]= 'h:mm';\n\tt[21]= 'h:mm:ss';\n\tt[22]= 'm/d/yy h:mm';\n\tt[37]= '#,##0 ;(#,##0)';\n\tt[38]= '#,##0 ;[Red](#,##0)';\n\tt[39]= '#,##0.00;(#,##0.00)';\n\tt[40]= '#,##0.00;[Red](#,##0.00)';\n\tt[45]= 'mm:ss';\n\tt[46]= '[h]:mm:ss';\n\tt[47]= 'mmss.0';\n\tt[48]= '##0.0E+0';\n\tt[49]= '@';\n\tt[56]= '\"上午/下午 \"hh\"時\"mm\"分\"ss\"秒 \"';\n}\n\nvar table_fmt = {};\ninit_table(table_fmt);\n/* Defaults determined by systematically testing in Excel 2019 */\n\n/* These formats appear to default to other formats in the table */\nvar default_map = [];\nvar defi = 0;\n\n// 5 -> 37 ... 8 -> 40\nfor(defi = 5; defi <= 8; ++defi) default_map[defi] = 32 + defi;\n\n// 23 -> 0 ... 26 -> 0\nfor(defi = 23; defi <= 26; ++defi) default_map[defi] = 0;\n\n// 27 -> 14 ... 31 -> 14\nfor(defi = 27; defi <= 31; ++defi) default_map[defi] = 14;\n// 50 -> 14 ... 58 -> 14\nfor(defi = 50; defi <= 58; ++defi) default_map[defi] = 14;\n\n// 59 -> 1 ... 62 -> 4\nfor(defi = 59; defi <= 62; ++defi) default_map[defi] = defi - 58;\n// 67 -> 9 ... 68 -> 10\nfor(defi = 67; defi <= 68; ++defi) default_map[defi] = defi - 58;\n// 72 -> 14 ... 75 -> 17\nfor(defi = 72; defi <= 75; ++defi) default_map[defi] = defi - 58;\n\n// 69 -> 12 ... 71 -> 14\nfor(defi = 67; defi <= 68; ++defi) default_map[defi] = defi - 57;\n\n// 76 -> 20 ... 78 -> 22\nfor(defi = 76; defi <= 78; ++defi) default_map[defi] = defi - 56;\n\n// 79 -> 45 ... 81 -> 47\nfor(defi = 79; defi <= 81; ++defi) default_map[defi] = defi - 34;\n\n// 82 -> 0 ... 65536 -> 0 (omitted)\n\n/* These formats technically refer to Accounting formats with no equivalent */\nvar default_str = [];\n\n// 5 -- Currency, 0 decimal, black negative\ndefault_str[5] = default_str[63] = '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)';\n// 6 -- Currency, 0 decimal, red negative\ndefault_str[6] = default_str[64] = '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)';\n// 7 -- Currency, 2 decimal, black negative\ndefault_str[7] = default_str[65] = '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)';\n// 8 -- Currency, 2 decimal, red negative\ndefault_str[8] = default_str[66] = '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)';\n\n// 41 -- Accounting, 0 decimal, No Symbol\ndefault_str[41] = '_(* #,##0_);_(* \\\\(#,##0\\\\);_(* \"-\"_);_(@_)';\n// 42 -- Accounting, 0 decimal, $ Symbol\ndefault_str[42] = '_(\"$\"* #,##0_);_(\"$\"* \\\\(#,##0\\\\);_(\"$\"* \"-\"_);_(@_)';\n// 43 -- Accounting, 2 decimal, No Symbol\ndefault_str[43] = '_(* #,##0.00_);_(* \\\\(#,##0.00\\\\);_(* \"-\"??_);_(@_)';\n// 44 -- Accounting, 2 decimal, $ Symbol\ndefault_str[44] = '_(\"$\"* #,##0.00_);_(\"$\"* \\\\(#,##0.00\\\\);_(\"$\"* \"-\"??_);_(@_)';\nfunction frac(x, D, mixed) {\n\tvar sgn = x < 0 ? -1 : 1;\n\tvar B = x * sgn;\n\tvar P_2 = 0, P_1 = 1, P = 0;\n\tvar Q_2 = 1, Q_1 = 0, Q = 0;\n\tvar A = Math.floor(B);\n\twhile(Q_1 < D) {\n\t\tA = Math.floor(B);\n\t\tP = A * P_1 + P_2;\n\t\tQ = A * Q_1 + Q_2;\n\t\tif((B - A) < 0.00000005) break;\n\t\tB = 1 / (B - A);\n\t\tP_2 = P_1; P_1 = P;\n\t\tQ_2 = Q_1; Q_1 = Q;\n\t}\n\tif(Q > D) { if(Q_1 > D) { Q = Q_2; P = P_2; } else { Q = Q_1; P = P_1; } }\n\tif(!mixed) return [0, sgn * P, Q];\n\tvar q = Math.floor(sgn * P/Q);\n\treturn [q, sgn*P - q*Q, Q];\n}\nfunction parse_date_code(v,opts,b2) {\n\tif(v > 2958465 || v < 0) return null;\n\tvar date = (v|0), time = Math.floor(86400 * (v - date)), dow=0;\n\tvar dout=[];\n\tvar out={D:date, T:time, u:86400*(v-date)-time,y:0,m:0,d:0,H:0,M:0,S:0,q:0};\n\tif(Math.abs(out.u) < 1e-6) out.u = 0;\n\tif(opts && opts.date1904) date += 1462;\n\tif(out.u > 0.9999) {\n\t\tout.u = 0;\n\t\tif(++time == 86400) { out.T = time = 0; ++date; ++out.D; }\n\t}\n\tif(date === 60) {dout = b2 ? [1317,10,29] : [1900,2,29]; dow=3;}\n\telse if(date === 0) {dout = b2 ? [1317,8,29] : [1900,1,0]; dow=6;}\n\telse {\n\t\tif(date > 60) --date;\n\t\t/* 1 = Jan 1 1900 in Gregorian */\n\t\tvar d = new Date(1900, 0, 1);\n\t\td.setDate(d.getDate() + date - 1);\n\t\tdout = [d.getFullYear(), d.getMonth()+1,d.getDate()];\n\t\tdow = d.getDay();\n\t\tif(date < 60) dow = (dow + 6) % 7;\n\t\tif(b2) dow = fix_hijri(d, dout);\n\t}\n\tout.y = dout[0]; out.m = dout[1]; out.d = dout[2];\n\tout.S = time % 60; time = Math.floor(time / 60);\n\tout.M = time % 60; time = Math.floor(time / 60);\n\tout.H = time;\n\tout.q = dow;\n\treturn out;\n}\nSSF.parse_date_code = parse_date_code;\nvar basedate = new Date(1899, 11, 31, 0, 0, 0);\nvar dnthresh = basedate.getTime();\nvar base1904 = new Date(1900, 2, 1, 0, 0, 0);\nfunction datenum_local(v, date1904) {\n\tvar epoch = v.getTime();\n\tif(date1904) epoch -= 1461*24*60*60*1000;\n\telse if(v >= base1904) epoch += 24*60*60*1000;\n\treturn (epoch - (dnthresh + (v.getTimezoneOffset() - basedate.getTimezoneOffset()) * 60000)) / (24 * 60 * 60 * 1000);\n}\n/* The longest 32-bit integer text is \"-4294967296\", exactly 11 chars */\nfunction general_fmt_int(v) { return v.toString(10); }\nSSF._general_int = general_fmt_int;\n\n/* ECMA-376 18.8.30 numFmt*/\n/* Note: `toPrecision` uses standard form when prec > E and E >= -6 */\nvar general_fmt_num = (function make_general_fmt_num() {\n\tvar trailing_zeroes_and_decimal = /(?:\\.0*|(\\.\\d*[1-9])0+)$/;\n\tfunction strip_decimal(o) {\n\t\treturn (o.indexOf(\".\") == -1) ? o : o.replace(trailing_zeroes_and_decimal, \"$1\");\n\t}\n\n\t/* General Exponential always shows 2 digits exp and trims the mantissa */\n\tvar mantissa_zeroes_and_decimal = /(?:\\.0*|(\\.\\d*[1-9])0+)[Ee]/;\n\tvar exp_with_single_digit = /(E[+-])(\\d)$/;\n\tfunction normalize_exp(o) {\n\t\tif(o.indexOf(\"E\") == -1) return o;\n\t\treturn o.replace(mantissa_zeroes_and_decimal,\"$1E\").replace(exp_with_single_digit,\"$10$2\");\n\t}\n\n\t/* exponent >= -9 and <= 9 */\n\tfunction small_exp(v) {\n\t\tvar w = (v<0?12:11);\n\t\tvar o = strip_decimal(v.toFixed(12)); if(o.length <= w) return o;\n\t\to = v.toPrecision(10); if(o.length <= w) return o;\n\t\treturn v.toExponential(5);\n\t}\n\n\t/* exponent >= 11 or <= -10 likely exponential */\n\tfunction large_exp(v) {\n\t\tvar o = strip_decimal(v.toFixed(11));\n\t\treturn (o.length > (v<0?12:11) || o === \"0\" || o === \"-0\") ? v.toPrecision(6) : o;\n\t}\n\n\tfunction general_fmt_num_base(v) {\n\t\tvar V = Math.floor(Math.log(Math.abs(v))*Math.LOG10E), o;\n\n\t\tif(V >= -4 && V <= -1) o = v.toPrecision(10+V);\n\t\telse if(Math.abs(V) <= 9) o = small_exp(v);\n\t\telse if(V === 10) o = v.toFixed(10).substr(0,12);\n\t\telse o = large_exp(v);\n\n\t\treturn strip_decimal(normalize_exp(o.toUpperCase()));\n\t}\n\n\treturn general_fmt_num_base;\n})();\nSSF._general_num = general_fmt_num;\n\n/*\n\t\"General\" rules:\n\t- text is passed through (\"@\")\n\t- booleans are rendered as TRUE/FALSE\n\t- \"up to 11 characters\" displayed for numbers\n\t- Default date format (code 14) used for Dates\n\n\tTODO: technically the display depends on the width of the cell\n*/\nfunction general_fmt(v, opts) {\n\tswitch(typeof v) {\n\t\tcase 'string': return v;\n\t\tcase 'boolean': return v ? \"TRUE\" : \"FALSE\";\n\t\tcase 'number': return (v|0) === v ? v.toString(10) : general_fmt_num(v);\n\t\tcase 'undefined': return \"\";\n\t\tcase 'object':\n\t\t\tif(v == null) return \"\";\n\t\t\tif(v instanceof Date) return format(14, datenum_local(v, opts && opts.date1904), opts);\n\t}\n\tthrow new Error(\"unsupported value in General format: \" + v);\n}\nSSF._general = general_fmt;\nfunction fix_hijri(date, o) {\n /* TODO: properly adjust y/m/d and */\n o[0] -= 581;\n var dow = date.getDay();\n if(date < 60) dow = (dow + 6) % 7;\n return dow;\n}\n//var THAI_DIGITS = \"\\u0E50\\u0E51\\u0E52\\u0E53\\u0E54\\u0E55\\u0E56\\u0E57\\u0E58\\u0E59\".split(\"\");\n/*jshint -W086 */\nfunction write_date(type, fmt, val, ss0) {\n\tvar o=\"\", ss=0, tt=0, y = val.y, out, outl = 0;\n\tswitch(type) {\n\t\tcase 98: /* 'b' buddhist year */\n\t\t\ty = val.y + 543;\n\t\t\t/* falls through */\n\t\tcase 121: /* 'y' year */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = y % 100; outl = 2; break;\n\t\t\tdefault: out = y % 10000; outl = 4; break;\n\t\t} break;\n\t\tcase 109: /* 'm' month */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.m; outl = fmt.length; break;\n\t\t\tcase 3: return months[val.m-1][1];\n\t\t\tcase 5: return months[val.m-1][0];\n\t\t\tdefault: return months[val.m-1][2];\n\t\t} break;\n\t\tcase 100: /* 'd' day */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.d; outl = fmt.length; break;\n\t\t\tcase 3: return days[val.q][0];\n\t\t\tdefault: return days[val.q][1];\n\t\t} break;\n\t\tcase 104: /* 'h' 12-hour */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = 1+(val.H+11)%12; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad hour format: ' + fmt;\n\t\t} break;\n\t\tcase 72: /* 'H' 24-hour */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.H; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad hour format: ' + fmt;\n\t\t} break;\n\t\tcase 77: /* 'M' minutes */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.M; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad minute format: ' + fmt;\n\t\t} break;\n\t\tcase 115: /* 's' seconds */\n\t\t\tif(fmt != 's' && fmt != 'ss' && fmt != '.0' && fmt != '.00' && fmt != '.000') throw 'bad second format: ' + fmt;\n\t\t\tif(val.u === 0 && (fmt == \"s\" || fmt == \"ss\")) return pad0(val.S, fmt.length);\nif(ss0 >= 2) tt = ss0 === 3 ? 1000 : 100;\n\t\t\telse tt = ss0 === 1 ? 10 : 1;\n\t\t\tss = Math.round((tt)*(val.S + val.u));\n\t\t\tif(ss >= 60*tt) ss = 0;\n\t\t\tif(fmt === 's') return ss === 0 ? \"0\" : \"\"+ss/tt;\n\t\t\to = pad0(ss,2 + ss0);\n\t\t\tif(fmt === 'ss') return o.substr(0,2);\n\t\t\treturn \".\" + o.substr(2,fmt.length-1);\n\t\tcase 90: /* 'Z' absolute time */\n\t\tswitch(fmt) {\n\t\t\tcase '[h]': case '[hh]': out = val.D*24+val.H; break;\n\t\t\tcase '[m]': case '[mm]': out = (val.D*24+val.H)*60+val.M; break;\n\t\t\tcase '[s]': case '[ss]': out = ((val.D*24+val.H)*60+val.M)*60+Math.round(val.S+val.u); break;\n\t\t\tdefault: throw 'bad abstime format: ' + fmt;\n\t\t} outl = fmt.length === 3 ? 1 : 2; break;\n\t\tcase 101: /* 'e' era */\n\t\t\tout = y; outl = 1; break;\n\t}\n\tvar outstr = outl > 0 ? pad0(out, outl) : \"\";\n\treturn outstr;\n}\n/*jshint +W086 */\nfunction commaify(s) {\n\tvar w = 3;\n\tif(s.length <= w) return s;\n\tvar j = (s.length % w), o = s.substr(0,j);\n\tfor(; j!=s.length; j+=w) o+=(o.length > 0 ? \",\" : \"\") + s.substr(j,w);\n\treturn o;\n}\nvar write_num = (function make_write_num(){\nvar pct1 = /%/g;\nfunction write_num_pct(type, fmt, val){\n\tvar sfmt = fmt.replace(pct1,\"\"), mul = fmt.length - sfmt.length;\n\treturn write_num(type, sfmt, val * Math.pow(10,2*mul)) + fill(\"%\",mul);\n}\nfunction write_num_cm(type, fmt, val){\n\tvar idx = fmt.length - 1;\n\twhile(fmt.charCodeAt(idx-1) === 44) --idx;\n\treturn write_num(type, fmt.substr(0,idx), val / Math.pow(10,3*(fmt.length-idx)));\n}\nfunction write_num_exp(fmt, val){\n\tvar o;\n\tvar idx = fmt.indexOf(\"E\") - fmt.indexOf(\".\") - 1;\n\tif(fmt.match(/^#+0.0E\\+0$/)) {\n\t\tif(val == 0) return \"0.0E+0\";\n\t\telse if(val < 0) return \"-\" + write_num_exp(fmt, -val);\n\t\tvar period = fmt.indexOf(\".\"); if(period === -1) period=fmt.indexOf('E');\n\t\tvar ee = Math.floor(Math.log(val)*Math.LOG10E)%period;\n\t\tif(ee < 0) ee += period;\n\t\to = (val/Math.pow(10,ee)).toPrecision(idx+1+(period+ee)%period);\n\t\tif(o.indexOf(\"e\") === -1) {\n\t\t\tvar fakee = Math.floor(Math.log(val)*Math.LOG10E);\n\t\t\tif(o.indexOf(\".\") === -1) o = o.charAt(0) + \".\" + o.substr(1) + \"E+\" + (fakee - o.length+ee);\n\t\t\telse o += \"E+\" + (fakee - ee);\n\t\t\twhile(o.substr(0,2) === \"0.\") {\n\t\t\t\to = o.charAt(0) + o.substr(2,period) + \".\" + o.substr(2+period);\n\t\t\t\to = o.replace(/^0+([1-9])/,\"$1\").replace(/^0+\\./,\"0.\");\n\t\t\t}\n\t\t\to = o.replace(/\\+-/,\"-\");\n\t\t}\n\t\to = o.replace(/^([+-]?)(\\d*)\\.(\\d*)[Ee]/,function($$,$1,$2,$3) { return $1 + $2 + $3.substr(0,(period+ee)%period) + \".\" + $3.substr(ee) + \"E\"; });\n\t} else o = val.toExponential(idx);\n\tif(fmt.match(/E\\+00$/) && o.match(/e[+-]\\d$/)) o = o.substr(0,o.length-1) + \"0\" + o.charAt(o.length-1);\n\tif(fmt.match(/E\\-/) && o.match(/e\\+/)) o = o.replace(/e\\+/,\"e\");\n\treturn o.replace(\"e\",\"E\");\n}\nvar frac1 = /# (\\?+)( ?)\\/( ?)(\\d+)/;\nfunction write_num_f1(r, aval, sign) {\n\tvar den = parseInt(r[4],10), rr = Math.round(aval * den), base = Math.floor(rr/den);\n\tvar myn = (rr - base*den), myd = den;\n\treturn sign + (base === 0 ? \"\" : \"\"+base) + \" \" + (myn === 0 ? fill(\" \", r[1].length + 1 + r[4].length) : pad_(myn,r[1].length) + r[2] + \"/\" + r[3] + pad0(myd,r[4].length));\n}\nfunction write_num_f2(r, aval, sign) {\n\treturn sign + (aval === 0 ? \"\" : \"\"+aval) + fill(\" \", r[1].length + 2 + r[4].length);\n}\nvar dec1 = /^#*0*\\.([0#]+)/;\nvar closeparen = /\\).*[0#]/;\nvar phone = /\\(###\\) ###\\\\?-####/;\nfunction hashq(str) {\n\tvar o = \"\", cc;\n\tfor(var i = 0; i != str.length; ++i) switch((cc=str.charCodeAt(i))) {\n\t\tcase 35: break;\n\t\tcase 63: o+= \" \"; break;\n\t\tcase 48: o+= \"0\"; break;\n\t\tdefault: o+= String.fromCharCode(cc);\n\t}\n\treturn o;\n}\nfunction rnd(val, d) { var dd = Math.pow(10,d); return \"\"+(Math.round(val * dd)/dd); }\nfunction dec(val, d) {\n\tvar _frac = val - Math.floor(val), dd = Math.pow(10,d);\n\tif (d < ('' + Math.round(_frac * dd)).length) return 0;\n\treturn Math.round(_frac * dd);\n}\nfunction carry(val, d) {\n\tif (d < ('' + Math.round((val-Math.floor(val))*Math.pow(10,d))).length) {\n\t\treturn 1;\n\t}\n\treturn 0;\n}\nfunction flr(val) {\n\tif(val < 2147483647 && val > -2147483648) return \"\"+(val >= 0 ? (val|0) : (val-1|0));\n\treturn \"\"+Math.floor(val);\n}\nfunction write_num_flt(type, fmt, val) {\n\tif(type.charCodeAt(0) === 40 && !fmt.match(closeparen)) {\n\t\tvar ffmt = fmt.replace(/\\( */,\"\").replace(/ \\)/,\"\").replace(/\\)/,\"\");\n\t\tif(val >= 0) return write_num_flt('n', ffmt, val);\n\t\treturn '(' + write_num_flt('n', ffmt, -val) + ')';\n\t}\n\tif(fmt.charCodeAt(fmt.length - 1) === 44) return write_num_cm(type, fmt, val);\n\tif(fmt.indexOf('%') !== -1) return write_num_pct(type, fmt, val);\n\tif(fmt.indexOf('E') !== -1) return write_num_exp(fmt, val);\n\tif(fmt.charCodeAt(0) === 36) return \"$\"+write_num_flt(type,fmt.substr(fmt.charAt(1)==' '?2:1),val);\n\tvar o;\n\tvar r, ri, ff, aval = Math.abs(val), sign = val < 0 ? \"-\" : \"\";\n\tif(fmt.match(/^00+$/)) return sign + pad0r(aval,fmt.length);\n\tif(fmt.match(/^[#?]+$/)) {\n\t\to = pad0r(val,0); if(o === \"0\") o = \"\";\n\t\treturn o.length > fmt.length ? o : hashq(fmt.substr(0,fmt.length-o.length)) + o;\n\t}\n\tif((r = fmt.match(frac1))) return write_num_f1(r, aval, sign);\n\tif(fmt.match(/^#+0+$/)) return sign + pad0r(aval,fmt.length - fmt.indexOf(\"0\"));\n\tif((r = fmt.match(dec1))) {\n\t\to = rnd(val, r[1].length).replace(/^([^\\.]+)$/,\"$1.\"+hashq(r[1])).replace(/\\.$/,\".\"+hashq(r[1])).replace(/\\.(\\d*)$/,function($$, $1) { return \".\" + $1 + fill(\"0\", hashq(r[1]).length-$1.length); });\n\t\treturn fmt.indexOf(\"0.\") !== -1 ? o : o.replace(/^0\\./,\".\");\n\t}\n\tfmt = fmt.replace(/^#+([0.])/, \"$1\");\n\tif((r = fmt.match(/^(0*)\\.(#*)$/))) {\n\t\treturn sign + rnd(aval, r[2].length).replace(/\\.(\\d*[1-9])0*$/,\".$1\").replace(/^(-?\\d*)$/,\"$1.\").replace(/^0\\./,r[1].length?\"0.\":\".\");\n\t}\n\tif((r = fmt.match(/^#{1,3},##0(\\.?)$/))) return sign + commaify(pad0r(aval,0));\n\tif((r = fmt.match(/^#,##0\\.([#0]*0)$/))) {\n\t\treturn val < 0 ? \"-\" + write_num_flt(type, fmt, -val) : commaify(\"\"+(Math.floor(val) + carry(val, r[1].length))) + \".\" + pad0(dec(val, r[1].length),r[1].length);\n\t}\n\tif((r = fmt.match(/^#,#*,#0/))) return write_num_flt(type,fmt.replace(/^#,#*,/,\"\"),val);\n\tif((r = fmt.match(/^([0#]+)(\\\\?-([0#]+))+$/))) {\n\t\to = _strrev(write_num_flt(type, fmt.replace(/[\\\\-]/g,\"\"), val));\n\t\tri = 0;\n\t\treturn _strrev(_strrev(fmt.replace(/\\\\/g,\"\")).replace(/[0#]/g,function(x){return ri= 0) return write_num_int('n', ffmt, val);\n\t\treturn '(' + write_num_int('n', ffmt, -val) + ')';\n\t}\n\tif(fmt.charCodeAt(fmt.length - 1) === 44) return write_num_cm2(type, fmt, val);\n\tif(fmt.indexOf('%') !== -1) return write_num_pct2(type, fmt, val);\n\tif(fmt.indexOf('E') !== -1) return write_num_exp2(fmt, val);\n\tif(fmt.charCodeAt(0) === 36) return \"$\"+write_num_int(type,fmt.substr(fmt.charAt(1)==' '?2:1),val);\n\tvar o;\n\tvar r, ri, ff, aval = Math.abs(val), sign = val < 0 ? \"-\" : \"\";\n\tif(fmt.match(/^00+$/)) return sign + pad0(aval,fmt.length);\n\tif(fmt.match(/^[#?]+$/)) {\n\t\to = (\"\"+val); if(val === 0) o = \"\";\n\t\treturn o.length > fmt.length ? o : hashq(fmt.substr(0,fmt.length-o.length)) + o;\n\t}\n\tif((r = fmt.match(frac1))) return write_num_f2(r, aval, sign);\n\tif(fmt.match(/^#+0+$/)) return sign + pad0(aval,fmt.length - fmt.indexOf(\"0\"));\n\tif((r = fmt.match(dec1))) {\no = (\"\"+val).replace(/^([^\\.]+)$/,\"$1.\"+hashq(r[1])).replace(/\\.$/,\".\"+hashq(r[1]));\n\t\to = o.replace(/\\.(\\d*)$/,function($$, $1) {\nreturn \".\" + $1 + fill(\"0\", hashq(r[1]).length-$1.length); });\n\t\treturn fmt.indexOf(\"0.\") !== -1 ? o : o.replace(/^0\\./,\".\");\n\t}\n\tfmt = fmt.replace(/^#+([0.])/, \"$1\");\n\tif((r = fmt.match(/^(0*)\\.(#*)$/))) {\n\t\treturn sign + (\"\"+aval).replace(/\\.(\\d*[1-9])0*$/,\".$1\").replace(/^(-?\\d*)$/,\"$1.\").replace(/^0\\./,r[1].length?\"0.\":\".\");\n\t}\n\tif((r = fmt.match(/^#{1,3},##0(\\.?)$/))) return sign + commaify((\"\"+aval));\n\tif((r = fmt.match(/^#,##0\\.([#0]*0)$/))) {\n\t\treturn val < 0 ? \"-\" + write_num_int(type, fmt, -val) : commaify((\"\"+val)) + \".\" + fill('0',r[1].length);\n\t}\n\tif((r = fmt.match(/^#,#*,#0/))) return write_num_int(type,fmt.replace(/^#,#*,/,\"\"),val);\n\tif((r = fmt.match(/^([0#]+)(\\\\?-([0#]+))+$/))) {\n\t\to = _strrev(write_num_int(type, fmt.replace(/[\\\\-]/g,\"\"), val));\n\t\tri = 0;\n\t\treturn _strrev(_strrev(fmt.replace(/\\\\/g,\"\")).replace(/[0#]/g,function(x){return ri -1 || (c=='\\\\' && fmt.charAt(i+1) == \"-\" && \"0#\".indexOf(fmt.charAt(i+2))>-1))){/* empty */}\n\t\t\t\tbreak;\n\t\t\tcase '?': while(fmt.charAt(++i) === c){/* empty */} break;\n\t\t\tcase '*': ++i; if(fmt.charAt(i) == ' ' || fmt.charAt(i) == '*') ++i; break;\n\t\t\tcase '(': case ')': ++i; break;\n\t\t\tcase '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':\n\t\t\t\twhile(i < fmt.length && \"0123456789\".indexOf(fmt.charAt(++i)) > -1){/* empty */} break;\n\t\t\tcase ' ': ++i; break;\n\t\t\tdefault: ++i; break;\n\t\t}\n\t}\n\treturn false;\n}\nSSF.is_date = fmt_is_date;\nfunction eval_fmt(fmt, v, opts, flen) {\n\tvar out = [], o = \"\", i = 0, c = \"\", lst='t', dt, j, cc;\n\tvar hr='H';\n\t/* Tokenize */\n\twhile(i < fmt.length) {\n\t\tswitch((c = fmt.charAt(i))) {\n\t\t\tcase 'G': /* General */\n\t\t\t\tif(!isgeneral(fmt, i)) throw new Error('unrecognized character ' + c + ' in ' +fmt);\n\t\t\t\tout[out.length] = {t:'G', v:'General'}; i+=7; break;\n\t\t\tcase '\"': /* Literal text */\n\t\t\t\tfor(o=\"\";(cc=fmt.charCodeAt(++i)) !== 34 && i < fmt.length;) o += String.fromCharCode(cc);\n\t\t\t\tout[out.length] = {t:'t', v:o}; ++i; break;\n\t\t\tcase '\\\\': var w = fmt.charAt(++i), t = (w === \"(\" || w === \")\") ? w : 't';\n\t\t\t\tout[out.length] = {t:t, v:w}; ++i; break;\n\t\t\tcase '_': out[out.length] = {t:'t', v:\" \"}; i+=2; break;\n\t\t\tcase '@': /* Text Placeholder */\n\t\t\t\tout[out.length] = {t:'T', v:v}; ++i; break;\n\t\t\tcase 'B': case 'b':\n\t\t\t\tif(fmt.charAt(i+1) === \"1\" || fmt.charAt(i+1) === \"2\") {\n\t\t\t\t\tif(dt==null) { dt=parse_date_code(v, opts, fmt.charAt(i+1) === \"2\"); if(dt==null) return \"\"; }\n\t\t\t\t\tout[out.length] = {t:'X', v:fmt.substr(i,2)}; lst = c; i+=2; break;\n\t\t\t\t}\n\t\t\t\t/* falls through */\n\t\t\tcase 'M': case 'D': case 'Y': case 'H': case 'S': case 'E':\n\t\t\t\tc = c.toLowerCase();\n\t\t\t\t/* falls through */\n\t\t\tcase 'm': case 'd': case 'y': case 'h': case 's': case 'e': case 'g':\n\t\t\t\tif(v < 0) return \"\";\n\t\t\t\tif(dt==null) { dt=parse_date_code(v, opts); if(dt==null) return \"\"; }\n\t\t\t\to = c; while(++i < fmt.length && fmt.charAt(i).toLowerCase() === c) o+=c;\n\t\t\t\tif(c === 'm' && lst.toLowerCase() === 'h') c = 'M';\n\t\t\t\tif(c === 'h') c = hr;\n\t\t\t\tout[out.length] = {t:c, v:o}; lst = c; break;\n\t\t\tcase 'A': case 'a': case '上':\n\t\t\t\tvar q={t:c, v:c};\n\t\t\t\tif(dt==null) dt=parse_date_code(v, opts);\n\t\t\t\tif(fmt.substr(i, 3).toUpperCase() === \"A/P\") { if(dt!=null) q.v = dt.H >= 12 ? \"P\" : \"A\"; q.t = 'T'; hr='h';i+=3;}\n\t\t\t\telse if(fmt.substr(i,5).toUpperCase() === \"AM/PM\") { if(dt!=null) q.v = dt.H >= 12 ? \"PM\" : \"AM\"; q.t = 'T'; i+=5; hr='h'; }\n\t\t\t\telse if(fmt.substr(i,5).toUpperCase() === \"上午/下午\") { if(dt!=null) q.v = dt.H >= 12 ? \"下午\" : \"上午\"; q.t = 'T'; i+=5; hr='h'; }\n\t\t\t\telse { q.t = \"t\"; ++i; }\n\t\t\t\tif(dt==null && q.t === 'T') return \"\";\n\t\t\t\tout[out.length] = q; lst = c; break;\n\t\t\tcase '[':\n\t\t\t\to = c;\n\t\t\t\twhile(fmt.charAt(i++) !== ']' && i < fmt.length) o += fmt.charAt(i);\n\t\t\t\tif(o.slice(-1) !== ']') throw 'unterminated \"[\" block: |' + o + '|';\n\t\t\t\tif(o.match(abstime)) {\n\t\t\t\t\tif(dt==null) { dt=parse_date_code(v, opts); if(dt==null) return \"\"; }\n\t\t\t\t\tout[out.length] = {t:'Z', v:o.toLowerCase()};\n\t\t\t\t\tlst = o.charAt(1);\n\t\t\t\t} else if(o.indexOf(\"$\") > -1) {\n\t\t\t\t\to = (o.match(/\\$([^-\\[\\]]*)/)||[])[1]||\"$\";\n\t\t\t\t\tif(!fmt_is_date(fmt)) out[out.length] = {t:'t',v:o};\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t/* Numbers */\n\t\t\tcase '.':\n\t\t\t\tif(dt != null) {\n\t\t\t\t\to = c; while(++i < fmt.length && (c=fmt.charAt(i)) === \"0\") o += c;\n\t\t\t\t\tout[out.length] = {t:'s', v:o}; break;\n\t\t\t\t}\n\t\t\t\t/* falls through */\n\t\t\tcase '0': case '#':\n\t\t\t\to = c; while(++i < fmt.length && \"0#?.,E+-%\".indexOf(c=fmt.charAt(i)) > -1) o += c;\n\t\t\t\tout[out.length] = {t:'n', v:o}; break;\n\t\t\tcase '?':\n\t\t\t\to = c; while(fmt.charAt(++i) === c) o+=c;\n\t\t\t\tout[out.length] = {t:c, v:o}; lst = c; break;\n\t\t\tcase '*': ++i; if(fmt.charAt(i) == ' ' || fmt.charAt(i) == '*') ++i; break; // **\n\t\t\tcase '(': case ')': out[out.length] = {t:(flen===1?'t':c), v:c}; ++i; break;\n\t\t\tcase '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':\n\t\t\t\to = c; while(i < fmt.length && \"0123456789\".indexOf(fmt.charAt(++i)) > -1) o+=fmt.charAt(i);\n\t\t\t\tout[out.length] = {t:'D', v:o}; break;\n\t\t\tcase ' ': out[out.length] = {t:c, v:c}; ++i; break;\n\t\t\tcase '$': out[out.length] = {t:'t', v:'$'}; ++i; break;\n\t\t\tdefault:\n\t\t\t\tif(\",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP\".indexOf(c) === -1) throw new Error('unrecognized character ' + c + ' in ' + fmt);\n\t\t\t\tout[out.length] = {t:'t', v:c}; ++i; break;\n\t\t}\n\t}\n\n\t/* Scan for date/time parts */\n\tvar bt = 0, ss0 = 0, ssm;\n\tfor(i=out.length-1, lst='t'; i >= 0; --i) {\n\t\tswitch(out[i].t) {\n\t\t\tcase 'h': case 'H': out[i].t = hr; lst='h'; if(bt < 1) bt = 1; break;\n\t\t\tcase 's':\n\t\t\t\tif((ssm=out[i].v.match(/\\.0+$/))) ss0=Math.max(ss0,ssm[0].length-1);\n\t\t\t\tif(bt < 3) bt = 3;\n\t\t\t/* falls through */\n\t\t\tcase 'd': case 'y': case 'M': case 'e': lst=out[i].t; break;\n\t\t\tcase 'm': if(lst === 's') { out[i].t = 'M'; if(bt < 2) bt = 2; } break;\n\t\t\tcase 'X': /*if(out[i].v === \"B2\");*/\n\t\t\t\tbreak;\n\t\t\tcase 'Z':\n\t\t\t\tif(bt < 1 && out[i].v.match(/[Hh]/)) bt = 1;\n\t\t\t\tif(bt < 2 && out[i].v.match(/[Mm]/)) bt = 2;\n\t\t\t\tif(bt < 3 && out[i].v.match(/[Ss]/)) bt = 3;\n\t\t}\n\t}\n\t/* time rounding depends on presence of minute / second / usec fields */\n\tswitch(bt) {\n\t\tcase 0: break;\n\t\tcase 1:\nif(dt.u >= 0.5) { dt.u = 0; ++dt.S; }\n\t\t\tif(dt.S >= 60) { dt.S = 0; ++dt.M; }\n\t\t\tif(dt.M >= 60) { dt.M = 0; ++dt.H; }\n\t\t\tbreak;\n\t\tcase 2:\nif(dt.u >= 0.5) { dt.u = 0; ++dt.S; }\n\t\t\tif(dt.S >= 60) { dt.S = 0; ++dt.M; }\n\t\t\tbreak;\n\t}\n\n\t/* replace fields */\n\tvar nstr = \"\", jj;\n\tfor(i=0; i < out.length; ++i) {\n\t\tswitch(out[i].t) {\n\t\t\tcase 't': case 'T': case ' ': case 'D': break;\n\t\t\tcase 'X': out[i].v = \"\"; out[i].t = \";\"; break;\n\t\t\tcase 'd': case 'm': case 'y': case 'h': case 'H': case 'M': case 's': case 'e': case 'b': case 'Z':\nout[i].v = write_date(out[i].t.charCodeAt(0), out[i].v, dt, ss0);\n\t\t\t\tout[i].t = 't'; break;\n\t\t\tcase 'n': case '?':\n\t\t\t\tjj = i+1;\n\t\t\t\twhile(out[jj] != null && (\n\t\t\t\t\t(c=out[jj].t) === \"?\" || c === \"D\" ||\n\t\t\t\t\t((c === \" \" || c === \"t\") && out[jj+1] != null && (out[jj+1].t === '?' || out[jj+1].t === \"t\" && out[jj+1].v === '/')) ||\n\t\t\t\t\t(out[i].t === '(' && (c === ' ' || c === 'n' || c === ')')) ||\n\t\t\t\t\t(c === 't' && (out[jj].v === '/' || out[jj].v === ' ' && out[jj+1] != null && out[jj+1].t == '?'))\n\t\t\t\t)) {\n\t\t\t\t\tout[i].v += out[jj].v;\n\t\t\t\t\tout[jj] = {v:\"\", t:\";\"}; ++jj;\n\t\t\t\t}\n\t\t\t\tnstr += out[i].v;\n\t\t\t\ti = jj-1; break;\n\t\t\tcase 'G': out[i].t = 't'; out[i].v = general_fmt(v,opts); break;\n\t\t}\n\t}\n\tvar vv = \"\", myv, ostr;\n\tif(nstr.length > 0) {\n\t\tif(nstr.charCodeAt(0) == 40) /* '(' */ {\n\t\t\tmyv = (v<0&&nstr.charCodeAt(0) === 45 ? -v : v);\n\t\t\tostr = write_num('n', nstr, myv);\n\t\t} else {\n\t\t\tmyv = (v<0 && flen > 1 ? -v : v);\n\t\t\tostr = write_num('n', nstr, myv);\n\t\t\tif(myv < 0 && out[0] && out[0].t == 't') {\n\t\t\t\tostr = ostr.substr(1);\n\t\t\t\tout[0].v = \"-\" + out[0].v;\n\t\t\t}\n\t\t}\n\t\tjj=ostr.length-1;\n\t\tvar decpt = out.length;\n\t\tfor(i=0; i < out.length; ++i) if(out[i] != null && out[i].t != 't' && out[i].v.indexOf(\".\") > -1) { decpt = i; break; }\n\t\tvar lasti=out.length;\n\t\tif(decpt === out.length && ostr.indexOf(\"E\") === -1) {\n\t\t\tfor(i=out.length-1; i>= 0;--i) {\n\t\t\t\tif(out[i] == null || 'n?'.indexOf(out[i].t) === -1) continue;\n\t\t\t\tif(jj>=out[i].v.length-1) { jj -= out[i].v.length; out[i].v = ostr.substr(jj+1, out[i].v.length); }\n\t\t\t\telse if(jj < 0) out[i].v = \"\";\n\t\t\t\telse { out[i].v = ostr.substr(0, jj+1); jj = -1; }\n\t\t\t\tout[i].t = 't';\n\t\t\t\tlasti = i;\n\t\t\t}\n\t\t\tif(jj>=0 && lasti= 0; --i) {\n\t\t\t\tif(out[i] == null || 'n?'.indexOf(out[i].t) === -1) continue;\n\t\t\t\tj=out[i].v.indexOf(\".\")>-1&&i===decpt?out[i].v.indexOf(\".\")-1:out[i].v.length-1;\n\t\t\t\tvv = out[i].v.substr(j+1);\n\t\t\t\tfor(; j>=0; --j) {\n\t\t\t\t\tif(jj>=0 && (out[i].v.charAt(j) === \"0\" || out[i].v.charAt(j) === \"#\")) vv = ostr.charAt(jj--) + vv;\n\t\t\t\t}\n\t\t\t\tout[i].v = vv;\n\t\t\t\tout[i].t = 't';\n\t\t\t\tlasti = i;\n\t\t\t}\n\t\t\tif(jj>=0 && lasti-1&&i===decpt?out[i].v.indexOf(\".\")+1:0;\n\t\t\t\tvv = out[i].v.substr(0,j);\n\t\t\t\tfor(; j-1) {\n\t\tmyv = (flen >1 && v < 0 && i>0 && out[i-1].v === \"-\" ? -v:v);\n\t\tout[i].v = write_num(out[i].t, out[i].v, myv);\n\t\tout[i].t = 't';\n\t}\n\tvar retval = \"\";\n\tfor(i=0; i !== out.length; ++i) if(out[i] != null) retval += out[i].v;\n\treturn retval;\n}\nSSF._eval = eval_fmt;\nvar cfregex = /\\[[=<>]/;\nvar cfregex2 = /\\[(=|>[=]?|<[>=]?)(-?\\d+(?:\\.\\d*)?)\\]/;\nfunction chkcond(v, rr) {\n\tif(rr == null) return false;\n\tvar thresh = parseFloat(rr[2]);\n\tswitch(rr[1]) {\n\t\tcase \"=\": if(v == thresh) return true; break;\n\t\tcase \">\": if(v > thresh) return true; break;\n\t\tcase \"<\": if(v < thresh) return true; break;\n\t\tcase \"<>\": if(v != thresh) return true; break;\n\t\tcase \">=\": if(v >= thresh) return true; break;\n\t\tcase \"<=\": if(v <= thresh) return true; break;\n\t}\n\treturn false;\n}\nfunction choose_fmt(f, v) {\n\tvar fmt = split_fmt(f);\n\tvar l = fmt.length, lat = fmt[l-1].indexOf(\"@\");\n\tif(l<4 && lat>-1) --l;\n\tif(fmt.length > 4) throw new Error(\"cannot find right format for |\" + fmt.join(\"|\") + \"|\");\n\tif(typeof v !== \"number\") return [4, fmt.length === 4 || lat>-1?fmt[fmt.length-1]:\"@\"];\n\tswitch(fmt.length) {\n\t\tcase 1: fmt = lat>-1 ? [\"General\", \"General\", \"General\", fmt[0]] : [fmt[0], fmt[0], fmt[0], \"@\"]; break;\n\t\tcase 2: fmt = lat>-1 ? [fmt[0], fmt[0], fmt[0], fmt[1]] : [fmt[0], fmt[1], fmt[0], \"@\"]; break;\n\t\tcase 3: fmt = lat>-1 ? [fmt[0], fmt[1], fmt[0], fmt[2]] : [fmt[0], fmt[1], fmt[2], \"@\"]; break;\n\t\tcase 4: break;\n\t}\n\tvar ff = v > 0 ? fmt[0] : v < 0 ? fmt[1] : fmt[2];\n\tif(fmt[0].indexOf(\"[\") === -1 && fmt[1].indexOf(\"[\") === -1) return [l, ff];\n\tif(fmt[0].match(cfregex) != null || fmt[1].match(cfregex) != null) {\n\t\tvar m1 = fmt[0].match(cfregex2);\n\t\tvar m2 = fmt[1].match(cfregex2);\n\t\treturn chkcond(v, m1) ? [l, fmt[0]] : chkcond(v, m2) ? [l, fmt[1]] : [l, fmt[m1 != null && m2 != null ? 2 : 1]];\n\t}\n\treturn [l, ff];\n}\nfunction format(fmt,v,o) {\n\tif(o == null) o = {};\n\tvar sfmt = \"\";\n\tswitch(typeof fmt) {\n\t\tcase \"string\":\n\t\t\tif(fmt == \"m/d/yy\" && o.dateNF) sfmt = o.dateNF;\n\t\t\telse sfmt = fmt;\n\t\t\tbreak;\n\t\tcase \"number\":\n\t\t\tif(fmt == 14 && o.dateNF) sfmt = o.dateNF;\n\t\t\telse sfmt = (o.table != null ? (o.table) : table_fmt)[fmt];\n\t\t\tif(sfmt == null) sfmt = (o.table && o.table[default_map[fmt]]) || table_fmt[default_map[fmt]];\n\t\t\tif(sfmt == null) sfmt = default_str[fmt] || \"General\";\n\t\t\tbreak;\n\t}\n\tif(isgeneral(sfmt,0)) return general_fmt(v, o);\n\tif(v instanceof Date) v = datenum_local(v, o.date1904);\n\tvar f = choose_fmt(sfmt, v);\n\tif(isgeneral(f[1])) return general_fmt(v, o);\n\tif(v === true) v = \"TRUE\"; else if(v === false) v = \"FALSE\";\n\telse if(v === \"\" || v == null) return \"\";\n\treturn eval_fmt(f[1], v, o, f[0]);\n}\nfunction load_entry(fmt, idx) {\n\tif(typeof idx != 'number') {\n\t\tidx = +idx || -1;\nfor(var i = 0; i < 0x0188; ++i) {\nif(table_fmt[i] == undefined) { if(idx < 0) idx = i; continue; }\n\t\t\tif(table_fmt[i] == fmt) { idx = i; break; }\n\t\t}\nif(idx < 0) idx = 0x187;\n\t}\ntable_fmt[idx] = fmt;\n\treturn idx;\n}\nSSF.load = load_entry;\nSSF._table = table_fmt;\nSSF.get_table = function get_table() { return table_fmt; };\nSSF.load_table = function load_table(tbl) {\n\tfor(var i=0; i!=0x0188; ++i)\n\t\tif(tbl[i] !== undefined) load_entry(tbl[i], i);\n};\nSSF.init_table = init_table;\nSSF.format = format;\n};\nmake_ssf(SSF);\n/* map from xlml named formats to SSF TODO: localize */\nvar XLMLFormatMap/*{[string]:string}*/ = ({\n\t\"General Number\": \"General\",\n\t\"General Date\": SSF._table[22],\n\t\"Long Date\": \"dddd, mmmm dd, yyyy\",\n\t\"Medium Date\": SSF._table[15],\n\t\"Short Date\": SSF._table[14],\n\t\"Long Time\": SSF._table[19],\n\t\"Medium Time\": SSF._table[18],\n\t\"Short Time\": SSF._table[20],\n\t\"Currency\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\"Fixed\": SSF._table[2],\n\t\"Standard\": SSF._table[4],\n\t\"Percent\": SSF._table[10],\n\t\"Scientific\": SSF._table[11],\n\t\"Yes/No\": '\"Yes\";\"Yes\";\"No\";@',\n\t\"True/False\": '\"True\";\"True\";\"False\";@',\n\t\"On/Off\": '\"Yes\";\"Yes\";\"No\";@'\n});\n\nvar SSFImplicit/*{[number]:string}*/ = ({\n\t\"5\": '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\t\"6\": '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\t\"7\": '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\t\"8\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\"23\": 'General', \"24\": 'General', \"25\": 'General', \"26\": 'General',\n\t\"27\": 'm/d/yy', \"28\": 'm/d/yy', \"29\": 'm/d/yy', \"30\": 'm/d/yy', \"31\": 'm/d/yy',\n\t\"32\": 'h:mm:ss', \"33\": 'h:mm:ss', \"34\": 'h:mm:ss', \"35\": 'h:mm:ss',\n\t\"36\": 'm/d/yy',\n\t\"41\": '_(* #,##0_);_(* \\(#,##0\\);_(* \"-\"_);_(@_)',\n\t\"42\": '_(\"$\"* #,##0_);_(\"$\"* \\(#,##0\\);_(\"$\"* \"-\"_);_(@_)',\n\t\"43\": '_(* #,##0.00_);_(* \\(#,##0.00\\);_(* \"-\"??_);_(@_)',\n\t\"44\": '_(\"$\"* #,##0.00_);_(\"$\"* \\(#,##0.00\\);_(\"$\"* \"-\"??_);_(@_)',\n\t\"50\": 'm/d/yy', \"51\": 'm/d/yy', \"52\": 'm/d/yy', \"53\": 'm/d/yy', \"54\": 'm/d/yy',\n\t\"55\": 'm/d/yy', \"56\": 'm/d/yy', \"57\": 'm/d/yy', \"58\": 'm/d/yy',\n\t\"59\": '0',\n\t\"60\": '0.00',\n\t\"61\": '#,##0',\n\t\"62\": '#,##0.00',\n\t\"63\": '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\t\"64\": '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\t\"65\": '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\t\"66\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\"67\": '0%',\n\t\"68\": '0.00%',\n\t\"69\": '# ?/?',\n\t\"70\": '# ??/??',\n\t\"71\": 'm/d/yy',\n\t\"72\": 'm/d/yy',\n\t\"73\": 'd-mmm-yy',\n\t\"74\": 'd-mmm',\n\t\"75\": 'mmm-yy',\n\t\"76\": 'h:mm',\n\t\"77\": 'h:mm:ss',\n\t\"78\": 'm/d/yy h:mm',\n\t\"79\": 'mm:ss',\n\t\"80\": '[h]:mm:ss',\n\t\"81\": 'mmss.0'\n});\n\n/* dateNF parse TODO: move to SSF */\nvar dateNFregex = /[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;\nfunction dateNF_regex(dateNF) {\n\tvar fmt = typeof dateNF == \"number\" ? SSF._table[dateNF] : dateNF;\n\tfmt = fmt.replace(dateNFregex, \"(\\\\d+)\");\n\treturn new RegExp(\"^\" + fmt + \"$\");\n}\nfunction dateNF_fix(str, dateNF, match) {\n\tvar Y = -1, m = -1, d = -1, H = -1, M = -1, S = -1;\n\t(dateNF.match(dateNFregex)||[]).forEach(function(n, i) {\n\t\tvar v = parseInt(match[i+1], 10);\n\t\tswitch(n.toLowerCase().charAt(0)) {\n\t\t\tcase 'y': Y = v; break; case 'd': d = v; break;\n\t\t\tcase 'h': H = v; break; case 's': S = v; break;\n\t\t\tcase 'm': if(H >= 0) M = v; else m = v; break;\n\t\t}\n\t});\n\tif(S >= 0 && M == -1 && m >= 0) { M = m; m = -1; }\n\tvar datestr = ((\"\" + (Y>=0?Y: new Date().getFullYear())).slice(-4) + \"-\" + (\"00\" + (m>=1?m:1)).slice(-2) + \"-\" + (\"00\" + (d>=1?d:1)).slice(-2));\n\tif(datestr.length == 7) datestr = \"0\" + datestr;\n\tif(datestr.length == 8) datestr = \"20\" + datestr;\n\tvar timestr = ((\"00\" + (H>=0?H:0)).slice(-2) + \":\" + (\"00\" + (M>=0?M:0)).slice(-2) + \":\" + (\"00\" + (S>=0?S:0)).slice(-2));\n\tif(H == -1 && M == -1 && S == -1) return datestr;\n\tif(Y == -1 && m == -1 && d == -1) return timestr;\n\treturn datestr + \"T\" + timestr;\n}\n\nvar DO_NOT_EXPORT_CFB = true;\n/* cfb.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*jshint eqnull:true */\n/*exported CFB */\n/*global Uint8Array:false, Uint16Array:false */\n\n/* crc32.js (C) 2014-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*exported CRC32 */\nvar CRC32;\n(function (factory) {\n\t/*jshint ignore:start */\n\t/*eslint-disable */\n\tfactory(CRC32 = {});\n\t/*eslint-enable */\n\t/*jshint ignore:end */\n}(function(CRC32) {\nCRC32.version = '1.2.0';\n/* see perf/crc32table.js */\n/*global Int32Array */\nfunction signed_crc_table() {\n\tvar c = 0, table = new Array(256);\n\n\tfor(var n =0; n != 256; ++n){\n\t\tc = n;\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\ttable[n] = c;\n\t}\n\n\treturn typeof Int32Array !== 'undefined' ? new Int32Array(table) : table;\n}\n\nvar T = signed_crc_table();\nfunction crc32_bstr(bstr, seed) {\n\tvar C = seed ^ -1, L = bstr.length - 1;\n\tfor(var i = 0; i < L;) {\n\t\tC = (C>>>8) ^ T[(C^bstr.charCodeAt(i++))&0xFF];\n\t\tC = (C>>>8) ^ T[(C^bstr.charCodeAt(i++))&0xFF];\n\t}\n\tif(i === L) C = (C>>>8) ^ T[(C ^ bstr.charCodeAt(i))&0xFF];\n\treturn C ^ -1;\n}\n\nfunction crc32_buf(buf, seed) {\n\tif(buf.length > 10000) return crc32_buf_8(buf, seed);\n\tvar C = seed ^ -1, L = buf.length - 3;\n\tfor(var i = 0; i < L;) {\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t}\n\twhile(i < L+3) C = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\treturn C ^ -1;\n}\n\nfunction crc32_buf_8(buf, seed) {\n\tvar C = seed ^ -1, L = buf.length - 7;\n\tfor(var i = 0; i < L;) {\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t}\n\twhile(i < L+7) C = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\treturn C ^ -1;\n}\n\nfunction crc32_str(str, seed) {\n\tvar C = seed ^ -1;\n\tfor(var i = 0, L=str.length, c, d; i < L;) {\n\t\tc = str.charCodeAt(i++);\n\t\tif(c < 0x80) {\n\t\t\tC = (C>>>8) ^ T[(C ^ c)&0xFF];\n\t\t} else if(c < 0x800) {\n\t\t\tC = (C>>>8) ^ T[(C ^ (192|((c>>6)&31)))&0xFF];\n\t\t\tC = (C>>>8) ^ T[(C ^ (128|(c&63)))&0xFF];\n\t\t} else if(c >= 0xD800 && c < 0xE000) {\n\t\t\tc = (c&1023)+64; d = str.charCodeAt(i++)&1023;\n\t\t\tC = (C>>>8) ^ T[(C ^ (240|((c>>8)&7)))&0xFF];\n\t\t\tC = (C>>>8) ^ T[(C ^ (128|((c>>2)&63)))&0xFF];\n\t\t\tC = (C>>>8) ^ T[(C ^ (128|((d>>6)&15)|((c&3)<<4)))&0xFF];\n\t\t\tC = (C>>>8) ^ T[(C ^ (128|(d&63)))&0xFF];\n\t\t} else {\n\t\t\tC = (C>>>8) ^ T[(C ^ (224|((c>>12)&15)))&0xFF];\n\t\t\tC = (C>>>8) ^ T[(C ^ (128|((c>>6)&63)))&0xFF];\n\t\t\tC = (C>>>8) ^ T[(C ^ (128|(c&63)))&0xFF];\n\t\t}\n\t}\n\treturn C ^ -1;\n}\nCRC32.table = T;\nCRC32.bstr = crc32_bstr;\nCRC32.buf = crc32_buf;\nCRC32.str = crc32_str;\n}));\n/* [MS-CFB] v20171201 */\nvar CFB = (function _CFB(){\nvar exports = {};\nexports.version = '1.1.4';\n/* [MS-CFB] 2.6.4 */\nfunction namecmp(l, r) {\n\tvar L = l.split(\"/\"), R = r.split(\"/\");\n\tfor(var i = 0, c = 0, Z = Math.min(L.length, R.length); i < Z; ++i) {\n\t\tif((c = L[i].length - R[i].length)) return c;\n\t\tif(L[i] != R[i]) return L[i] < R[i] ? -1 : 1;\n\t}\n\treturn L.length - R.length;\n}\nfunction dirname(p) {\n\tif(p.charAt(p.length - 1) == \"/\") return (p.slice(0,-1).indexOf(\"/\") === -1) ? p : dirname(p.slice(0, -1));\n\tvar c = p.lastIndexOf(\"/\");\n\treturn (c === -1) ? p : p.slice(0, c+1);\n}\n\nfunction filename(p) {\n\tif(p.charAt(p.length - 1) == \"/\") return filename(p.slice(0, -1));\n\tvar c = p.lastIndexOf(\"/\");\n\treturn (c === -1) ? p : p.slice(c+1);\n}\n/* -------------------------------------------------------------------------- */\n/* DOS Date format:\n high|YYYYYYYm.mmmddddd.HHHHHMMM.MMMSSSSS|low\n add 1980 to stored year\n stored second should be doubled\n*/\n\n/* write JS date to buf as a DOS date */\nfunction write_dos_date(buf, date) {\n\tif(typeof date === \"string\") date = new Date(date);\n\tvar hms = date.getHours();\n\thms = hms << 6 | date.getMinutes();\n\thms = hms << 5 | (date.getSeconds()>>>1);\n\tbuf.write_shift(2, hms);\n\tvar ymd = (date.getFullYear() - 1980);\n\tymd = ymd << 4 | (date.getMonth()+1);\n\tymd = ymd << 5 | date.getDate();\n\tbuf.write_shift(2, ymd);\n}\n\n/* read four bytes from buf and interpret as a DOS date */\nfunction parse_dos_date(buf) {\n\tvar hms = buf.read_shift(2) & 0xFFFF;\n\tvar ymd = buf.read_shift(2) & 0xFFFF;\n\tvar val = new Date();\n\tvar d = ymd & 0x1F; ymd >>>= 5;\n\tvar m = ymd & 0x0F; ymd >>>= 4;\n\tval.setMilliseconds(0);\n\tval.setFullYear(ymd + 1980);\n\tval.setMonth(m-1);\n\tval.setDate(d);\n\tvar S = hms & 0x1F; hms >>>= 5;\n\tvar M = hms & 0x3F; hms >>>= 6;\n\tval.setHours(hms);\n\tval.setMinutes(M);\n\tval.setSeconds(S<<1);\n\treturn val;\n}\nfunction parse_extra_field(blob) {\n\tprep_blob(blob, 0);\n\tvar o = {};\n\tvar flags = 0;\n\twhile(blob.l <= blob.length - 4) {\n\t\tvar type = blob.read_shift(2);\n\t\tvar sz = blob.read_shift(2), tgt = blob.l + sz;\n\t\tvar p = {};\n\t\tswitch(type) {\n\t\t\t/* UNIX-style Timestamps */\n\t\t\tcase 0x5455: {\n\t\t\t\tflags = blob.read_shift(1);\n\t\t\t\tif(flags & 1) p.mtime = blob.read_shift(4);\n\t\t\t\t/* for some reason, CD flag corresponds to LFH */\n\t\t\t\tif(sz > 5) {\n\t\t\t\t\tif(flags & 2) p.atime = blob.read_shift(4);\n\t\t\t\t\tif(flags & 4) p.ctime = blob.read_shift(4);\n\t\t\t\t}\n\t\t\t\tif(p.mtime) p.mt = new Date(p.mtime*1000);\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tblob.l = tgt;\n\t\to[type] = p;\n\t}\n\treturn o;\n}\nvar fs;\nfunction get_fs() { return fs || (fs = require('fs')); }\nfunction parse(file, options) {\nif(file[0] == 0x50 && file[1] == 0x4b) return parse_zip(file, options);\nif(file.length < 512) throw new Error(\"CFB file size \" + file.length + \" < 512\");\nvar mver = 3;\nvar ssz = 512;\nvar nmfs = 0; // number of mini FAT sectors\nvar difat_sec_cnt = 0;\nvar dir_start = 0;\nvar minifat_start = 0;\nvar difat_start = 0;\n\nvar fat_addrs = []; // locations of FAT sectors\n\n/* [MS-CFB] 2.2 Compound File Header */\nvar blob = file.slice(0,512);\nprep_blob(blob, 0);\n\n/* major version */\nvar mv = check_get_mver(blob);\nmver = mv[0];\nswitch(mver) {\n\tcase 3: ssz = 512; break; case 4: ssz = 4096; break;\n\tcase 0: if(mv[1] == 0) return parse_zip(file, options);\n\t/* falls through */\n\tdefault: throw new Error(\"Major Version: Expected 3 or 4 saw \" + mver);\n}\n\n/* reprocess header */\nif(ssz !== 512) { blob = file.slice(0,ssz); prep_blob(blob, 28 /* blob.l */); }\n/* Save header for final object */\nvar header = file.slice(0,ssz);\n\ncheck_shifts(blob, mver);\n\n// Number of Directory Sectors\nvar dir_cnt = blob.read_shift(4, 'i');\nif(mver === 3 && dir_cnt !== 0) throw new Error('# Directory Sectors: Expected 0 saw ' + dir_cnt);\n\n// Number of FAT Sectors\nblob.l += 4;\n\n// First Directory Sector Location\ndir_start = blob.read_shift(4, 'i');\n\n// Transaction Signature\nblob.l += 4;\n\n// Mini Stream Cutoff Size\nblob.chk('00100000', 'Mini Stream Cutoff Size: ');\n\n// First Mini FAT Sector Location\nminifat_start = blob.read_shift(4, 'i');\n\n// Number of Mini FAT Sectors\nnmfs = blob.read_shift(4, 'i');\n\n// First DIFAT sector location\ndifat_start = blob.read_shift(4, 'i');\n\n// Number of DIFAT Sectors\ndifat_sec_cnt = blob.read_shift(4, 'i');\n\n// Grab FAT Sector Locations\nfor(var q = -1, j = 0; j < 109; ++j) { /* 109 = (512 - blob.l)>>>2; */\n\tq = blob.read_shift(4, 'i');\n\tif(q<0) break;\n\tfat_addrs[j] = q;\n}\n\n/** Break the file up into sectors */\nvar sectors = sectorify(file, ssz);\n\nsleuth_fat(difat_start, difat_sec_cnt, sectors, ssz, fat_addrs);\n\n/** Chains */\nvar sector_list = make_sector_list(sectors, dir_start, fat_addrs, ssz);\n\nsector_list[dir_start].name = \"!Directory\";\nif(nmfs > 0 && minifat_start !== ENDOFCHAIN) sector_list[minifat_start].name = \"!MiniFAT\";\nsector_list[fat_addrs[0]].name = \"!FAT\";\nsector_list.fat_addrs = fat_addrs;\nsector_list.ssz = ssz;\n\n/* [MS-CFB] 2.6.1 Compound File Directory Entry */\nvar files = {}, Paths = [], FileIndex = [], FullPaths = [];\nread_directory(dir_start, sector_list, sectors, Paths, nmfs, files, FileIndex, minifat_start);\n\nbuild_full_paths(FileIndex, FullPaths, Paths);\nPaths.shift();\n\nvar o = {\n\tFileIndex: FileIndex,\n\tFullPaths: FullPaths\n};\n\n// $FlowIgnore\nif(options && options.raw) o.raw = {header: header, sectors: sectors};\nreturn o;\n} // parse\n\n/* [MS-CFB] 2.2 Compound File Header -- read up to major version */\nfunction check_get_mver(blob) {\n\tif(blob[blob.l] == 0x50 && blob[blob.l + 1] == 0x4b) return [0, 0];\n\t// header signature 8\n\tblob.chk(HEADER_SIGNATURE, 'Header Signature: ');\n\n\t// clsid 16\n\t//blob.chk(HEADER_CLSID, 'CLSID: ');\n\tblob.l += 16;\n\n\t// minor version 2\n\tvar mver = blob.read_shift(2, 'u');\n\n\treturn [blob.read_shift(2,'u'), mver];\n}\nfunction check_shifts(blob, mver) {\n\tvar shift = 0x09;\n\n\t// Byte Order\n\t//blob.chk('feff', 'Byte Order: '); // note: some writers put 0xffff\n\tblob.l += 2;\n\n\t// Sector Shift\n\tswitch((shift = blob.read_shift(2))) {\n\t\tcase 0x09: if(mver != 3) throw new Error('Sector Shift: Expected 9 saw ' + shift); break;\n\t\tcase 0x0c: if(mver != 4) throw new Error('Sector Shift: Expected 12 saw ' + shift); break;\n\t\tdefault: throw new Error('Sector Shift: Expected 9 or 12 saw ' + shift);\n\t}\n\n\t// Mini Sector Shift\n\tblob.chk('0600', 'Mini Sector Shift: ');\n\n\t// Reserved\n\tblob.chk('000000000000', 'Reserved: ');\n}\n\n/** Break the file up into sectors */\nfunction sectorify(file, ssz) {\n\tvar nsectors = Math.ceil(file.length/ssz)-1;\n\tvar sectors = [];\n\tfor(var i=1; i < nsectors; ++i) sectors[i-1] = file.slice(i*ssz,(i+1)*ssz);\n\tsectors[nsectors-1] = file.slice(nsectors*ssz);\n\treturn sectors;\n}\n\n/* [MS-CFB] 2.6.4 Red-Black Tree */\nfunction build_full_paths(FI, FP, Paths) {\n\tvar i = 0, L = 0, R = 0, C = 0, j = 0, pl = Paths.length;\n\tvar dad = [], q = [];\n\n\tfor(; i < pl; ++i) { dad[i]=q[i]=i; FP[i]=Paths[i]; }\n\n\tfor(; j < q.length; ++j) {\n\t\ti = q[j];\n\t\tL = FI[i].L; R = FI[i].R; C = FI[i].C;\n\t\tif(dad[i] === i) {\n\t\t\tif(L !== -1 /*NOSTREAM*/ && dad[L] !== L) dad[i] = dad[L];\n\t\t\tif(R !== -1 && dad[R] !== R) dad[i] = dad[R];\n\t\t}\n\t\tif(C !== -1 /*NOSTREAM*/) dad[C] = i;\n\t\tif(L !== -1 && i != dad[i]) { dad[L] = dad[i]; if(q.lastIndexOf(L) < j) q.push(L); }\n\t\tif(R !== -1 && i != dad[i]) { dad[R] = dad[i]; if(q.lastIndexOf(R) < j) q.push(R); }\n\t}\n\tfor(i=1; i < pl; ++i) if(dad[i] === i) {\n\t\tif(R !== -1 /*NOSTREAM*/ && dad[R] !== R) dad[i] = dad[R];\n\t\telse if(L !== -1 && dad[L] !== L) dad[i] = dad[L];\n\t}\n\n\tfor(i=1; i < pl; ++i) {\n\t\tif(FI[i].type === 0 /* unknown */) continue;\n\t\tj = i;\n\t\tif(j != dad[j]) do {\n\t\t\tj = dad[j];\n\t\t\tFP[i] = FP[j] + \"/\" + FP[i];\n\t\t} while (j !== 0 && -1 !== dad[j] && j != dad[j]);\n\t\tdad[i] = -1;\n\t}\n\n\tFP[0] += \"/\";\n\tfor(i=1; i < pl; ++i) {\n\t\tif(FI[i].type !== 2 /* stream */) FP[i] += \"/\";\n\t}\n}\n\nfunction get_mfat_entry(entry, payload, mini) {\n\tvar start = entry.start, size = entry.size;\n\t//return (payload.slice(start*MSSZ, start*MSSZ + size));\n\tvar o = [];\n\tvar idx = start;\n\twhile(mini && size > 0 && idx >= 0) {\n\t\to.push(payload.slice(idx * MSSZ, idx * MSSZ + MSSZ));\n\t\tsize -= MSSZ;\n\t\tidx = __readInt32LE(mini, idx * 4);\n\t}\n\tif(o.length === 0) return (new_buf(0));\n\treturn (bconcat(o).slice(0, entry.size));\n}\n\n/** Chase down the rest of the DIFAT chain to build a comprehensive list\n DIFAT chains by storing the next sector number as the last 32 bits */\nfunction sleuth_fat(idx, cnt, sectors, ssz, fat_addrs) {\n\tvar q = ENDOFCHAIN;\n\tif(idx === ENDOFCHAIN) {\n\t\tif(cnt !== 0) throw new Error(\"DIFAT chain shorter than expected\");\n\t} else if(idx !== -1 /*FREESECT*/) {\n\t\tvar sector = sectors[idx], m = (ssz>>>2)-1;\n\t\tif(!sector) return;\n\t\tfor(var i = 0; i < m; ++i) {\n\t\t\tif((q = __readInt32LE(sector,i*4)) === ENDOFCHAIN) break;\n\t\t\tfat_addrs.push(q);\n\t\t}\n\t\tsleuth_fat(__readInt32LE(sector,ssz-4),cnt - 1, sectors, ssz, fat_addrs);\n\t}\n}\n\n/** Follow the linked list of sectors for a given starting point */\nfunction get_sector_list(sectors, start, fat_addrs, ssz, chkd) {\n\tvar buf = [], buf_chain = [];\n\tif(!chkd) chkd = [];\n\tvar modulus = ssz - 1, j = 0, jj = 0;\n\tfor(j=start; j>=0;) {\n\t\tchkd[j] = true;\n\t\tbuf[buf.length] = j;\n\t\tbuf_chain.push(sectors[j]);\n\t\tvar addr = fat_addrs[Math.floor(j*4/ssz)];\n\t\tjj = ((j*4) & modulus);\n\t\tif(ssz < 4 + jj) throw new Error(\"FAT boundary crossed: \" + j + \" 4 \"+ssz);\n\t\tif(!sectors[addr]) break;\n\t\tj = __readInt32LE(sectors[addr], jj);\n\t}\n\treturn {nodes: buf, data:__toBuffer([buf_chain])};\n}\n\n/** Chase down the sector linked lists */\nfunction make_sector_list(sectors, dir_start, fat_addrs, ssz) {\n\tvar sl = sectors.length, sector_list = ([]);\n\tvar chkd = [], buf = [], buf_chain = [];\n\tvar modulus = ssz - 1, i=0, j=0, k=0, jj=0;\n\tfor(i=0; i < sl; ++i) {\n\t\tbuf = ([]);\n\t\tk = (i + dir_start); if(k >= sl) k-=sl;\n\t\tif(chkd[k]) continue;\n\t\tbuf_chain = [];\n\t\tvar seen = [];\n\t\tfor(j=k; j>=0;) {\n\t\t\tseen[j] = true;\n\t\t\tchkd[j] = true;\n\t\t\tbuf[buf.length] = j;\n\t\t\tbuf_chain.push(sectors[j]);\n\t\t\tvar addr = fat_addrs[Math.floor(j*4/ssz)];\n\t\t\tjj = ((j*4) & modulus);\n\t\t\tif(ssz < 4 + jj) throw new Error(\"FAT boundary crossed: \" + j + \" 4 \"+ssz);\n\t\t\tif(!sectors[addr]) break;\n\t\t\tj = __readInt32LE(sectors[addr], jj);\n\t\t\tif(seen[j]) break;\n\t\t}\n\t\tsector_list[k] = ({nodes: buf, data:__toBuffer([buf_chain])});\n\t}\n\treturn sector_list;\n}\n\n/* [MS-CFB] 2.6.1 Compound File Directory Entry */\nfunction read_directory(dir_start, sector_list, sectors, Paths, nmfs, files, FileIndex, mini) {\n\tvar minifat_store = 0, pl = (Paths.length?2:0);\n\tvar sector = sector_list[dir_start].data;\n\tvar i = 0, namelen = 0, name;\n\tfor(; i < sector.length; i+= 128) {\n\t\tvar blob = sector.slice(i, i+128);\n\t\tprep_blob(blob, 64);\n\t\tnamelen = blob.read_shift(2);\n\t\tname = __utf16le(blob,0,namelen-pl);\n\t\tPaths.push(name);\n\t\tvar o = ({\n\t\t\tname: name,\n\t\t\ttype: blob.read_shift(1),\n\t\t\tcolor: blob.read_shift(1),\n\t\t\tL: blob.read_shift(4, 'i'),\n\t\t\tR: blob.read_shift(4, 'i'),\n\t\t\tC: blob.read_shift(4, 'i'),\n\t\t\tclsid: blob.read_shift(16),\n\t\t\tstate: blob.read_shift(4, 'i'),\n\t\t\tstart: 0,\n\t\t\tsize: 0\n\t\t});\n\t\tvar ctime = blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2);\n\t\tif(ctime !== 0) o.ct = read_date(blob, blob.l-8);\n\t\tvar mtime = blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2);\n\t\tif(mtime !== 0) o.mt = read_date(blob, blob.l-8);\n\t\to.start = blob.read_shift(4, 'i');\n\t\to.size = blob.read_shift(4, 'i');\n\t\tif(o.size < 0 && o.start < 0) { o.size = o.type = 0; o.start = ENDOFCHAIN; o.name = \"\"; }\n\t\tif(o.type === 5) { /* root */\n\t\t\tminifat_store = o.start;\n\t\t\tif(nmfs > 0 && minifat_store !== ENDOFCHAIN) sector_list[minifat_store].name = \"!StreamData\";\n\t\t\t/*minifat_size = o.size;*/\n\t\t} else if(o.size >= 4096 /* MSCSZ */) {\n\t\t\to.storage = 'fat';\n\t\t\tif(sector_list[o.start] === undefined) sector_list[o.start] = get_sector_list(sectors, o.start, sector_list.fat_addrs, sector_list.ssz);\n\t\t\tsector_list[o.start].name = o.name;\n\t\t\to.content = (sector_list[o.start].data.slice(0,o.size));\n\t\t} else {\n\t\t\to.storage = 'minifat';\n\t\t\tif(o.size < 0) o.size = 0;\n\t\t\telse if(minifat_store !== ENDOFCHAIN && o.start !== ENDOFCHAIN && sector_list[minifat_store]) {\n\t\t\t\to.content = get_mfat_entry(o, sector_list[minifat_store].data, (sector_list[mini]||{}).data);\n\t\t\t}\n\t\t}\n\t\tif(o.content) prep_blob(o.content, 0);\n\t\tfiles[name] = o;\n\t\tFileIndex.push(o);\n\t}\n}\n\nfunction read_date(blob, offset) {\n\treturn new Date(( ( (__readUInt32LE(blob,offset+4)/1e7)*Math.pow(2,32)+__readUInt32LE(blob,offset)/1e7 ) - 11644473600)*1000);\n}\n\nfunction read_file(filename, options) {\n\tget_fs();\n\treturn parse(fs.readFileSync(filename), options);\n}\n\nfunction read(blob, options) {\n\tswitch(options && options.type || \"base64\") {\n\t\tcase \"file\": return read_file(blob, options);\n\t\tcase \"base64\": return parse(s2a(Base64.decode(blob)), options);\n\t\tcase \"binary\": return parse(s2a(blob), options);\n\t}\n\treturn parse(blob, options);\n}\n\nfunction init_cfb(cfb, opts) {\n\tvar o = opts || {}, root = o.root || \"Root Entry\";\n\tif(!cfb.FullPaths) cfb.FullPaths = [];\n\tif(!cfb.FileIndex) cfb.FileIndex = [];\n\tif(cfb.FullPaths.length !== cfb.FileIndex.length) throw new Error(\"inconsistent CFB structure\");\n\tif(cfb.FullPaths.length === 0) {\n\t\tcfb.FullPaths[0] = root + \"/\";\n\t\tcfb.FileIndex[0] = ({ name: root, type: 5 });\n\t}\n\tif(o.CLSID) cfb.FileIndex[0].clsid = o.CLSID;\n\tseed_cfb(cfb);\n}\nfunction seed_cfb(cfb) {\n\tvar nm = \"\\u0001Sh33tJ5\";\n\tif(CFB.find(cfb, \"/\" + nm)) return;\n\tvar p = new_buf(4); p[0] = 55; p[1] = p[3] = 50; p[2] = 54;\n\tcfb.FileIndex.push(({ name: nm, type: 2, content:p, size:4, L:69, R:69, C:69 }));\n\tcfb.FullPaths.push(cfb.FullPaths[0] + nm);\n\trebuild_cfb(cfb);\n}\nfunction rebuild_cfb(cfb, f) {\n\tinit_cfb(cfb);\n\tvar gc = false, s = false;\n\tfor(var i = cfb.FullPaths.length - 1; i >= 0; --i) {\n\t\tvar _file = cfb.FileIndex[i];\n\t\tswitch(_file.type) {\n\t\t\tcase 0:\n\t\t\t\tif(s) gc = true;\n\t\t\t\telse { cfb.FileIndex.pop(); cfb.FullPaths.pop(); }\n\t\t\t\tbreak;\n\t\t\tcase 1: case 2: case 5:\n\t\t\t\ts = true;\n\t\t\t\tif(isNaN(_file.R * _file.L * _file.C)) gc = true;\n\t\t\t\tif(_file.R > -1 && _file.L > -1 && _file.R == _file.L) gc = true;\n\t\t\t\tbreak;\n\t\t\tdefault: gc = true; break;\n\t\t}\n\t}\n\tif(!gc && !f) return;\n\n\tvar now = new Date(1987, 1, 19), j = 0;\n\tvar data = [];\n\tfor(i = 0; i < cfb.FullPaths.length; ++i) {\n\t\tif(cfb.FileIndex[i].type === 0) continue;\n\t\tdata.push([cfb.FullPaths[i], cfb.FileIndex[i]]);\n\t}\n\tfor(i = 0; i < data.length; ++i) {\n\t\tvar dad = dirname(data[i][0]);\n\t\ts = false;\n\t\tfor(j = 0; j < data.length; ++j) if(data[j][0] === dad) s = true;\n\t\tif(!s) data.push([dad, ({\n\t\t\tname: filename(dad).replace(\"/\",\"\"),\n\t\t\ttype: 1,\n\t\t\tclsid: HEADER_CLSID,\n\t\t\tct: now, mt: now,\n\t\t\tcontent: null\n\t\t})]);\n\t}\n\n\tdata.sort(function(x,y) { return namecmp(x[0], y[0]); });\n\tcfb.FullPaths = []; cfb.FileIndex = [];\n\tfor(i = 0; i < data.length; ++i) { cfb.FullPaths[i] = data[i][0]; cfb.FileIndex[i] = data[i][1]; }\n\tfor(i = 0; i < data.length; ++i) {\n\t\tvar elt = cfb.FileIndex[i];\n\t\tvar nm = cfb.FullPaths[i];\n\n\t\telt.name = filename(nm).replace(\"/\",\"\");\n\t\telt.L = elt.R = elt.C = -(elt.color = 1);\n\t\telt.size = elt.content ? elt.content.length : 0;\n\t\telt.start = 0;\n\t\telt.clsid = (elt.clsid || HEADER_CLSID);\n\t\tif(i === 0) {\n\t\t\telt.C = data.length > 1 ? 1 : -1;\n\t\t\telt.size = 0;\n\t\t\telt.type = 5;\n\t\t} else if(nm.slice(-1) == \"/\") {\n\t\t\tfor(j=i+1;j < data.length; ++j) if(dirname(cfb.FullPaths[j])==nm) break;\n\t\t\telt.C = j >= data.length ? -1 : j;\n\t\t\tfor(j=i+1;j < data.length; ++j) if(dirname(cfb.FullPaths[j])==dirname(nm)) break;\n\t\t\telt.R = j >= data.length ? -1 : j;\n\t\t\telt.type = 1;\n\t\t} else {\n\t\t\tif(dirname(cfb.FullPaths[i+1]||\"\") == dirname(nm)) elt.R = i + 1;\n\t\t\telt.type = 2;\n\t\t}\n\t}\n\n}\n\nfunction _write(cfb, options) {\n\tvar _opts = options || {};\n\trebuild_cfb(cfb);\n\tif(_opts.fileType == 'zip') return write_zip(cfb, _opts);\n\tvar L = (function(cfb){\n\t\tvar mini_size = 0, fat_size = 0;\n\t\tfor(var i = 0; i < cfb.FileIndex.length; ++i) {\n\t\t\tvar file = cfb.FileIndex[i];\n\t\t\tif(!file.content) continue;\nvar flen = file.content.length;\n\t\t\tif(flen > 0){\n\t\t\t\tif(flen < 0x1000) mini_size += (flen + 0x3F) >> 6;\n\t\t\t\telse fat_size += (flen + 0x01FF) >> 9;\n\t\t\t}\n\t\t}\n\t\tvar dir_cnt = (cfb.FullPaths.length +3) >> 2;\n\t\tvar mini_cnt = (mini_size + 7) >> 3;\n\t\tvar mfat_cnt = (mini_size + 0x7F) >> 7;\n\t\tvar fat_base = mini_cnt + fat_size + dir_cnt + mfat_cnt;\n\t\tvar fat_cnt = (fat_base + 0x7F) >> 7;\n\t\tvar difat_cnt = fat_cnt <= 109 ? 0 : Math.ceil((fat_cnt-109)/0x7F);\n\t\twhile(((fat_base + fat_cnt + difat_cnt + 0x7F) >> 7) > fat_cnt) difat_cnt = ++fat_cnt <= 109 ? 0 : Math.ceil((fat_cnt-109)/0x7F);\n\t\tvar L = [1, difat_cnt, fat_cnt, mfat_cnt, dir_cnt, fat_size, mini_size, 0];\n\t\tcfb.FileIndex[0].size = mini_size << 6;\n\t\tL[7] = (cfb.FileIndex[0].start=L[0]+L[1]+L[2]+L[3]+L[4]+L[5])+((L[6]+7) >> 3);\n\t\treturn L;\n\t})(cfb);\n\tvar o = new_buf(L[7] << 9);\n\tvar i = 0, T = 0;\n\t{\n\t\tfor(i = 0; i < 8; ++i) o.write_shift(1, HEADER_SIG[i]);\n\t\tfor(i = 0; i < 8; ++i) o.write_shift(2, 0);\n\t\to.write_shift(2, 0x003E);\n\t\to.write_shift(2, 0x0003);\n\t\to.write_shift(2, 0xFFFE);\n\t\to.write_shift(2, 0x0009);\n\t\to.write_shift(2, 0x0006);\n\t\tfor(i = 0; i < 3; ++i) o.write_shift(2, 0);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, L[2]);\n\t\to.write_shift(4, L[0] + L[1] + L[2] + L[3] - 1);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, 1<<12);\n\t\to.write_shift(4, L[3] ? L[0] + L[1] + L[2] - 1: ENDOFCHAIN);\n\t\to.write_shift(4, L[3]);\n\t\to.write_shift(-4, L[1] ? L[0] - 1: ENDOFCHAIN);\n\t\to.write_shift(4, L[1]);\n\t\tfor(i = 0; i < 109; ++i) o.write_shift(-4, i < L[2] ? L[1] + i : -1);\n\t}\n\tif(L[1]) {\n\t\tfor(T = 0; T < L[1]; ++T) {\n\t\t\tfor(; i < 236 + T * 127; ++i) o.write_shift(-4, i < L[2] ? L[1] + i : -1);\n\t\t\to.write_shift(-4, T === L[1] - 1 ? ENDOFCHAIN : T + 1);\n\t\t}\n\t}\n\tvar chainit = function(w) {\n\t\tfor(T += w; i> 9);\n\t}\n\tchainit((L[6] + 7) >> 3);\n\twhile(o.l & 0x1FF) o.write_shift(-4, consts.ENDOFCHAIN);\n\tT = i = 0;\n\tfor(j = 0; j < cfb.FileIndex.length; ++j) {\n\t\tfile = cfb.FileIndex[j];\n\t\tif(!file.content) continue;\nflen = file.content.length;\n\t\tif(!flen || flen >= 0x1000) continue;\n\t\tfile.start = T;\n\t\tchainit((flen + 0x3F) >> 6);\n\t}\n\twhile(o.l & 0x1FF) o.write_shift(-4, consts.ENDOFCHAIN);\n\tfor(i = 0; i < L[4]<<2; ++i) {\n\t\tvar nm = cfb.FullPaths[i];\n\t\tif(!nm || nm.length === 0) {\n\t\t\tfor(j = 0; j < 17; ++j) o.write_shift(4, 0);\n\t\t\tfor(j = 0; j < 3; ++j) o.write_shift(4, -1);\n\t\t\tfor(j = 0; j < 12; ++j) o.write_shift(4, 0);\n\t\t\tcontinue;\n\t\t}\n\t\tfile = cfb.FileIndex[i];\n\t\tif(i === 0) file.start = file.size ? file.start - 1 : ENDOFCHAIN;\n\t\tvar _nm = (i === 0 && _opts.root) || file.name;\n\t\tflen = 2*(_nm.length+1);\n\t\to.write_shift(64, _nm, \"utf16le\");\n\t\to.write_shift(2, flen);\n\t\to.write_shift(1, file.type);\n\t\to.write_shift(1, file.color);\n\t\to.write_shift(-4, file.L);\n\t\to.write_shift(-4, file.R);\n\t\to.write_shift(-4, file.C);\n\t\tif(!file.clsid) for(j = 0; j < 4; ++j) o.write_shift(4, 0);\n\t\telse o.write_shift(16, file.clsid, \"hex\");\n\t\to.write_shift(4, file.state || 0);\n\t\to.write_shift(4, 0); o.write_shift(4, 0);\n\t\to.write_shift(4, 0); o.write_shift(4, 0);\n\t\to.write_shift(4, file.start);\n\t\to.write_shift(4, file.size); o.write_shift(4, 0);\n\t}\n\tfor(i = 1; i < cfb.FileIndex.length; ++i) {\n\t\tfile = cfb.FileIndex[i];\nif(file.size >= 0x1000) {\n\t\t\to.l = (file.start+1) << 9;\n\t\t\tfor(j = 0; j < file.size; ++j) o.write_shift(1, file.content[j]);\n\t\t\tfor(; j & 0x1FF; ++j) o.write_shift(1, 0);\n\t\t}\n\t}\n\tfor(i = 1; i < cfb.FileIndex.length; ++i) {\n\t\tfile = cfb.FileIndex[i];\nif(file.size > 0 && file.size < 0x1000) {\n\t\t\tfor(j = 0; j < file.size; ++j) o.write_shift(1, file.content[j]);\n\t\t\tfor(; j & 0x3F; ++j) o.write_shift(1, 0);\n\t\t}\n\t}\n\twhile(o.l < o.length) o.write_shift(1, 0);\n\treturn o;\n}\n/* [MS-CFB] 2.6.4 (Unicode 3.0.1 case conversion) */\nfunction find(cfb, path) {\n\tvar UCFullPaths = cfb.FullPaths.map(function(x) { return x.toUpperCase(); });\n\tvar UCPaths = UCFullPaths.map(function(x) { var y = x.split(\"/\"); return y[y.length - (x.slice(-1) == \"/\" ? 2 : 1)]; });\n\tvar k = false;\n\tif(path.charCodeAt(0) === 47 /* \"/\" */) { k = true; path = UCFullPaths[0].slice(0, -1) + path; }\n\telse k = path.indexOf(\"/\") !== -1;\n\tvar UCPath = path.toUpperCase();\n\tvar w = k === true ? UCFullPaths.indexOf(UCPath) : UCPaths.indexOf(UCPath);\n\tif(w !== -1) return cfb.FileIndex[w];\n\n\tvar m = !UCPath.match(chr1);\n\tUCPath = UCPath.replace(chr0,'');\n\tif(m) UCPath = UCPath.replace(chr1,'!');\n\tfor(w = 0; w < UCFullPaths.length; ++w) {\n\t\tif((m ? UCFullPaths[w].replace(chr1,'!') : UCFullPaths[w]).replace(chr0,'') == UCPath) return cfb.FileIndex[w];\n\t\tif((m ? UCPaths[w].replace(chr1,'!') : UCPaths[w]).replace(chr0,'') == UCPath) return cfb.FileIndex[w];\n\t}\n\treturn null;\n}\n/** CFB Constants */\nvar MSSZ = 64; /* Mini Sector Size = 1<<6 */\n//var MSCSZ = 4096; /* Mini Stream Cutoff Size */\n/* 2.1 Compound File Sector Numbers and Types */\nvar ENDOFCHAIN = -2;\n/* 2.2 Compound File Header */\nvar HEADER_SIGNATURE = 'd0cf11e0a1b11ae1';\nvar HEADER_SIG = [0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1];\nvar HEADER_CLSID = '00000000000000000000000000000000';\nvar consts = {\n\t/* 2.1 Compund File Sector Numbers and Types */\n\tMAXREGSECT: -6,\n\tDIFSECT: -4,\n\tFATSECT: -3,\n\tENDOFCHAIN: ENDOFCHAIN,\n\tFREESECT: -1,\n\t/* 2.2 Compound File Header */\n\tHEADER_SIGNATURE: HEADER_SIGNATURE,\n\tHEADER_MINOR_VERSION: '3e00',\n\tMAXREGSID: -6,\n\tNOSTREAM: -1,\n\tHEADER_CLSID: HEADER_CLSID,\n\t/* 2.6.1 Compound File Directory Entry */\n\tEntryTypes: ['unknown','storage','stream','lockbytes','property','root']\n};\n\nfunction write_file(cfb, filename, options) {\n\tget_fs();\n\tvar o = _write(cfb, options);\nfs.writeFileSync(filename, o);\n}\n\nfunction a2s(o) {\n\tvar out = new Array(o.length);\n\tfor(var i = 0; i < o.length; ++i) out[i] = String.fromCharCode(o[i]);\n\treturn out.join(\"\");\n}\n\nfunction write(cfb, options) {\n\tvar o = _write(cfb, options);\n\tswitch(options && options.type) {\n\t\tcase \"file\": get_fs(); fs.writeFileSync(options.filename, (o)); return o;\n\t\tcase \"binary\": return a2s(o);\n\t\tcase \"base64\": return Base64.encode(a2s(o));\n\t}\n\treturn o;\n}\n/* node < 8.1 zlib does not expose bytesRead, so default to pure JS */\nvar _zlib;\nfunction use_zlib(zlib) { try {\n\tvar InflateRaw = zlib.InflateRaw;\n\tvar InflRaw = new InflateRaw();\n\tInflRaw._processChunk(new Uint8Array([3, 0]), InflRaw._finishFlushFlag);\n\tif(InflRaw.bytesRead) _zlib = zlib;\n\telse throw new Error(\"zlib does not expose bytesRead\");\n} catch(e) {console.error(\"cannot use native zlib: \" + (e.message || e)); } }\n\nfunction _inflateRawSync(payload, usz) {\n\tif(!_zlib) return _inflate(payload, usz);\n\tvar InflateRaw = _zlib.InflateRaw;\n\tvar InflRaw = new InflateRaw();\n\tvar out = InflRaw._processChunk(payload.slice(payload.l), InflRaw._finishFlushFlag);\n\tpayload.l += InflRaw.bytesRead;\n\treturn out;\n}\n\nfunction _deflateRawSync(payload) {\n\treturn _zlib ? _zlib.deflateRawSync(payload) : _deflate(payload);\n}\nvar CLEN_ORDER = [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ];\n\n/* LEN_ID = [ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285 ]; */\nvar LEN_LN = [ 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 ];\n\n/* DST_ID = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 ]; */\nvar DST_LN = [ 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 ];\n\nfunction bit_swap_8(n) { var t = (((((n<<1)|(n<<11)) & 0x22110) | (((n<<5)|(n<<15)) & 0x88440))); return ((t>>16) | (t>>8) |t)&0xFF; }\n\nvar use_typed_arrays = typeof Uint8Array !== 'undefined';\n\nvar bitswap8 = use_typed_arrays ? new Uint8Array(1<<8) : [];\nfor(var q = 0; q < (1<<8); ++q) bitswap8[q] = bit_swap_8(q);\n\nfunction bit_swap_n(n, b) {\n\tvar rev = bitswap8[n & 0xFF];\n\tif(b <= 8) return rev >>> (8-b);\n\trev = (rev << 8) | bitswap8[(n>>8)&0xFF];\n\tif(b <= 16) return rev >>> (16-b);\n\trev = (rev << 8) | bitswap8[(n>>16)&0xFF];\n\treturn rev >>> (24-b);\n}\n\n/* helpers for unaligned bit reads */\nfunction read_bits_2(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 6 ? 0 : buf[h+1]<<8))>>>w)& 0x03; }\nfunction read_bits_3(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 5 ? 0 : buf[h+1]<<8))>>>w)& 0x07; }\nfunction read_bits_4(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 4 ? 0 : buf[h+1]<<8))>>>w)& 0x0F; }\nfunction read_bits_5(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 3 ? 0 : buf[h+1]<<8))>>>w)& 0x1F; }\nfunction read_bits_7(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 1 ? 0 : buf[h+1]<<8))>>>w)& 0x7F; }\n\n/* works up to n = 3 * 8 + 1 = 25 */\nfunction read_bits_n(buf, bl, n) {\n\tvar w = (bl&7), h = (bl>>>3), f = ((1<>> w;\n\tif(n < 8 - w) return v & f;\n\tv |= buf[h+1]<<(8-w);\n\tif(n < 16 - w) return v & f;\n\tv |= buf[h+2]<<(16-w);\n\tif(n < 24 - w) return v & f;\n\tv |= buf[h+3]<<(24-w);\n\treturn v & f;\n}\n\n/* until ArrayBuffer#realloc is a thing, fake a realloc */\nfunction realloc(b, sz) {\n\tvar L = b.length, M = 2*L > sz ? 2*L : sz + 5, i = 0;\n\tif(L >= sz) return b;\n\tif(has_buf) {\n\t\tvar o = new_unsafe_buf(M);\n\t\t// $FlowIgnore\n\t\tif(b.copy) b.copy(o);\n\t\telse for(; i < b.length; ++i) o[i] = b[i];\n\t\treturn o;\n\t} else if(use_typed_arrays) {\n\t\tvar a = new Uint8Array(M);\n\t\tif(a.set) a.set(b);\n\t\telse for(; i < b.length; ++i) a[i] = b[i];\n\t\treturn a;\n\t}\n\tb.length = M;\n\treturn b;\n}\n\n/* zero-filled arrays for older browsers */\nfunction zero_fill_array(n) {\n\tvar o = new Array(n);\n\tfor(var i = 0; i < n; ++i) o[i] = 0;\n\treturn o;\n}var _deflate = (function() {\nvar _deflateRaw = (function() {\n\treturn function deflateRaw(data, out) {\n\t\tvar boff = 0;\n\t\twhile(boff < data.length) {\n\t\t\tvar L = Math.min(0xFFFF, data.length - boff);\n\t\t\tvar h = boff + L == data.length;\n\t\t\t/* TODO: this is only type 0 stored */\n\t\t\tout.write_shift(1, +h);\n\t\t\tout.write_shift(2, L);\n\t\t\tout.write_shift(2, (~L) & 0xFFFF);\n\t\t\twhile(L-- > 0) out[out.l++] = data[boff++];\n\t\t}\n\t\treturn out.l;\n\t};\n})();\n\nreturn function(data) {\n\tvar buf = new_buf(50+Math.floor(data.length*1.1));\n\tvar off = _deflateRaw(data, buf);\n\treturn buf.slice(0, off);\n};\n})();\n/* modified inflate function also moves original read head */\n\n/* build tree (used for literals and lengths) */\nfunction build_tree(clens, cmap, MAX) {\n\tvar maxlen = 1, w = 0, i = 0, j = 0, ccode = 0, L = clens.length;\n\n\tvar bl_count = use_typed_arrays ? new Uint16Array(32) : zero_fill_array(32);\n\tfor(i = 0; i < 32; ++i) bl_count[i] = 0;\n\n\tfor(i = L; i < MAX; ++i) clens[i] = 0;\n\tL = clens.length;\n\n\tvar ctree = use_typed_arrays ? new Uint16Array(L) : zero_fill_array(L); // []\n\n\t/* build code tree */\n\tfor(i = 0; i < L; ++i) {\n\t\tbl_count[(w = clens[i])]++;\n\t\tif(maxlen < w) maxlen = w;\n\t\tctree[i] = 0;\n\t}\n\tbl_count[0] = 0;\n\tfor(i = 1; i <= maxlen; ++i) bl_count[i+16] = (ccode = (ccode + bl_count[i-1])<<1);\n\tfor(i = 0; i < L; ++i) {\n\t\tccode = clens[i];\n\t\tif(ccode != 0) ctree[i] = bl_count[ccode+16]++;\n\t}\n\n\t/* cmap[maxlen + 4 bits] = (off&15) + (lit<<4) reverse mapping */\n\tvar cleni = 0;\n\tfor(i = 0; i < L; ++i) {\n\t\tcleni = clens[i];\n\t\tif(cleni != 0) {\n\t\t\tccode = bit_swap_n(ctree[i], maxlen)>>(maxlen-cleni);\n\t\t\tfor(j = (1<<(maxlen + 4 - cleni)) - 1; j>=0; --j)\n\t\t\t\tcmap[ccode|(j<>(8-cleni);\n\t\t\tfor(var j = (1<<(7-cleni))-1; j>=0; --j) dyn_cmap[ccode|(j<>>= 3)) {\n\t\t\tcase 16:\n\t\t\t\tw = 3 + read_bits_2(data, boff); boff += 2;\n\t\t\t\tccode = hcodes[hcodes.length - 1];\n\t\t\t\twhile(w-- > 0) hcodes.push(ccode);\n\t\t\t\tbreak;\n\t\t\tcase 17:\n\t\t\t\tw = 3 + read_bits_3(data, boff); boff += 3;\n\t\t\t\twhile(w-- > 0) hcodes.push(0);\n\t\t\t\tbreak;\n\t\t\tcase 18:\n\t\t\t\tw = 11 + read_bits_7(data, boff); boff += 7;\n\t\t\t\twhile(w -- > 0) hcodes.push(0);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\thcodes.push(ccode);\n\t\t\t\tif(maxlen < ccode) maxlen = ccode;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\t/* build literal / length trees */\n\tvar h1 = hcodes.slice(0, _HLIT), h2 = hcodes.slice(_HLIT);\n\tfor(i = _HLIT; i < 286; ++i) h1[i] = 0;\n\tfor(i = _HDIST; i < 30; ++i) h2[i] = 0;\n\tdyn_len_1 = build_tree(h1, dyn_lmap, 286);\n\tdyn_len_2 = build_tree(h2, dyn_dmap, 30);\n\treturn boff;\n}\n\n/* return [ data, bytesRead ] */\nfunction inflate(data, usz) {\n\t/* shortcircuit for empty buffer [0x03, 0x00] */\n\tif(data[0] == 3 && !(data[1] & 0x3)) { return [new_raw_buf(usz), 2]; }\n\n\t/* bit offset */\n\tvar boff = 0;\n\n\t/* header includes final bit and type bits */\n\tvar header = 0;\n\n\tvar outbuf = new_unsafe_buf(usz ? usz : (1<<18));\n\tvar woff = 0;\n\tvar OL = outbuf.length>>>0;\n\tvar max_len_1 = 0, max_len_2 = 0;\n\n\twhile((header&1) == 0) {\n\t\theader = read_bits_3(data, boff); boff += 3;\n\t\tif((header >>> 1) == 0) {\n\t\t\t/* Stored block */\n\t\t\tif(boff & 7) boff += 8 - (boff&7);\n\t\t\t/* 2 bytes sz, 2 bytes bit inverse */\n\t\t\tvar sz = data[boff>>>3] | data[(boff>>>3)+1]<<8;\n\t\t\tboff += 32;\n\t\t\t/* push sz bytes */\n\t\t\tif(!usz && OL < woff + sz) { outbuf = realloc(outbuf, woff + sz); OL = outbuf.length; }\n\t\t\tif(typeof data.copy === 'function') {\n\t\t\t\t// $FlowIgnore\n\t\t\t\tdata.copy(outbuf, woff, boff>>>3, (boff>>>3)+sz);\n\t\t\t\twoff += sz; boff += 8*sz;\n\t\t\t} else while(sz-- > 0) { outbuf[woff++] = data[boff>>>3]; boff += 8; }\n\t\t\tcontinue;\n\t\t} else if((header >>> 1) == 1) {\n\t\t\t/* Fixed Huffman */\n\t\t\tmax_len_1 = 9; max_len_2 = 5;\n\t\t} else {\n\t\t\t/* Dynamic Huffman */\n\t\t\tboff = dyn(data, boff);\n\t\t\tmax_len_1 = dyn_len_1; max_len_2 = dyn_len_2;\n\t\t}\n\t\tif(!usz && (OL < woff + 32767)) { outbuf = realloc(outbuf, woff + 32767); OL = outbuf.length; }\n\t\tfor(;;) { // while(true) is apparently out of vogue in modern JS circles\n\t\t\t/* ingest code and move read head */\n\t\t\tvar bits = read_bits_n(data, boff, max_len_1);\n\t\t\tvar code = (header>>>1) == 1 ? fix_lmap[bits] : dyn_lmap[bits];\n\t\t\tboff += code & 15; code >>>= 4;\n\t\t\t/* 0-255 are literals, 256 is end of block token, 257+ are copy tokens */\n\t\t\tif(((code>>>8)&0xFF) === 0) outbuf[woff++] = code;\n\t\t\telse if(code == 256) break;\n\t\t\telse {\n\t\t\t\tcode -= 257;\n\t\t\t\tvar len_eb = (code < 8) ? 0 : ((code-4)>>2); if(len_eb > 5) len_eb = 0;\n\t\t\t\tvar tgt = woff + LEN_LN[code];\n\t\t\t\t/* length extra bits */\n\t\t\t\tif(len_eb > 0) {\n\t\t\t\t\ttgt += read_bits_n(data, boff, len_eb);\n\t\t\t\t\tboff += len_eb;\n\t\t\t\t}\n\n\t\t\t\t/* dist code */\n\t\t\t\tbits = read_bits_n(data, boff, max_len_2);\n\t\t\t\tcode = (header>>>1) == 1 ? fix_dmap[bits] : dyn_dmap[bits];\n\t\t\t\tboff += code & 15; code >>>= 4;\n\t\t\t\tvar dst_eb = (code < 4 ? 0 : (code-2)>>1);\n\t\t\t\tvar dst = DST_LN[code];\n\t\t\t\t/* dist extra bits */\n\t\t\t\tif(dst_eb > 0) {\n\t\t\t\t\tdst += read_bits_n(data, boff, dst_eb);\n\t\t\t\t\tboff += dst_eb;\n\t\t\t\t}\n\n\t\t\t\t/* in the common case, manual byte copy is faster than TA set / Buffer copy */\n\t\t\t\tif(!usz && OL < tgt) { outbuf = realloc(outbuf, tgt); OL = outbuf.length; }\n\t\t\t\twhile(woff < tgt) { outbuf[woff] = outbuf[woff - dst]; ++woff; }\n\t\t\t}\n\t\t}\n\t}\n\treturn [usz ? outbuf : outbuf.slice(0, woff), (boff+7)>>>3];\n}\n\nfunction _inflate(payload, usz) {\n\tvar data = payload.slice(payload.l||0);\n\tvar out = inflate(data, usz);\n\tpayload.l += out[1];\n\treturn out[0];\n}\n\nfunction warn_or_throw(wrn, msg) {\n\tif(wrn) { if(typeof console !== 'undefined') console.error(msg); }\n\telse throw new Error(msg);\n}\n\nfunction parse_zip(file, options) {\n\tvar blob = file;\n\tprep_blob(blob, 0);\n\n\tvar FileIndex = [], FullPaths = [];\n\tvar o = {\n\t\tFileIndex: FileIndex,\n\t\tFullPaths: FullPaths\n\t};\n\tinit_cfb(o, { root: options.root });\n\n\t/* find end of central directory, start just after signature */\n\tvar i = blob.length - 4;\n\twhile((blob[i] != 0x50 || blob[i+1] != 0x4b || blob[i+2] != 0x05 || blob[i+3] != 0x06) && i >= 0) --i;\n\tblob.l = i + 4;\n\n\t/* parse end of central directory */\n\tblob.l += 4;\n\tvar fcnt = blob.read_shift(2);\n\tblob.l += 6;\n\tvar start_cd = blob.read_shift(4);\n\n\t/* parse central directory */\n\tblob.l = start_cd;\n\n\tfor(i = 0; i < fcnt; ++i) {\n\t\t/* trust local file header instead of CD entry */\n\t\tblob.l += 20;\n\t\tvar csz = blob.read_shift(4);\n\t\tvar usz = blob.read_shift(4);\n\t\tvar namelen = blob.read_shift(2);\n\t\tvar efsz = blob.read_shift(2);\n\t\tvar fcsz = blob.read_shift(2);\n\t\tblob.l += 8;\n\t\tvar offset = blob.read_shift(4);\n\t\tvar EF = parse_extra_field(blob.slice(blob.l+namelen, blob.l+namelen+efsz));\n\t\tblob.l += namelen + efsz + fcsz;\n\n\t\tvar L = blob.l;\n\t\tblob.l = offset + 4;\n\t\tparse_local_file(blob, csz, usz, o, EF);\n\t\tblob.l = L;\n\t}\n\n\treturn o;\n}\n\n\n/* head starts just after local file header signature */\nfunction parse_local_file(blob, csz, usz, o, EF) {\n\t/* [local file header] */\n\tblob.l += 2;\n\tvar flags = blob.read_shift(2);\n\tvar meth = blob.read_shift(2);\n\tvar date = parse_dos_date(blob);\n\n\tif(flags & 0x2041) throw new Error(\"Unsupported ZIP encryption\");\n\tvar crc32 = blob.read_shift(4);\n\tvar _csz = blob.read_shift(4);\n\tvar _usz = blob.read_shift(4);\n\n\tvar namelen = blob.read_shift(2);\n\tvar efsz = blob.read_shift(2);\n\n\t// TODO: flags & (1<<11) // UTF8\n\tvar name = \"\"; for(var i = 0; i < namelen; ++i) name += String.fromCharCode(blob[blob.l++]);\n\tif(efsz) {\n\t\tvar ef = parse_extra_field(blob.slice(blob.l, blob.l + efsz));\n\t\tif((ef[0x5455]||{}).mt) date = ef[0x5455].mt;\n\t\tif(((EF||{})[0x5455]||{}).mt) date = EF[0x5455].mt;\n\t}\n\tblob.l += efsz;\n\n\t/* [encryption header] */\n\n\t/* [file data] */\n\tvar data = blob.slice(blob.l, blob.l + _csz);\n\tswitch(meth) {\n\t\tcase 8: data = _inflateRawSync(blob, _usz); break;\n\t\tcase 0: break;\n\t\tdefault: throw new Error(\"Unsupported ZIP Compression method \" + meth);\n\t}\n\n\t/* [data descriptor] */\n\tvar wrn = false;\n\tif(flags & 8) {\n\t\tcrc32 = blob.read_shift(4);\n\t\tif(crc32 == 0x08074b50) { crc32 = blob.read_shift(4); wrn = true; }\n\t\t_csz = blob.read_shift(4);\n\t\t_usz = blob.read_shift(4);\n\t}\n\n\tif(_csz != csz) warn_or_throw(wrn, \"Bad compressed size: \" + csz + \" != \" + _csz);\n\tif(_usz != usz) warn_or_throw(wrn, \"Bad uncompressed size: \" + usz + \" != \" + _usz);\n\tvar _crc32 = CRC32.buf(data, 0);\n\tif((crc32>>0) != (_crc32>>0)) warn_or_throw(wrn, \"Bad CRC32 checksum: \" + crc32 + \" != \" + _crc32);\n\tcfb_add(o, name, data, {unsafe: true, mt: date});\n}\nfunction write_zip(cfb, options) {\n\tvar _opts = options || {};\n\tvar out = [], cdirs = [];\n\tvar o = new_buf(1);\n\tvar method = (_opts.compression ? 8 : 0), flags = 0;\n\tvar desc = false;\n\tif(desc) flags |= 8;\n\tvar i = 0, j = 0;\n\n\tvar start_cd = 0, fcnt = 0;\n\tvar root = cfb.FullPaths[0], fp = root, fi = cfb.FileIndex[0];\n\tvar crcs = [];\n\tvar sz_cd = 0;\n\n\tfor(i = 1; i < cfb.FullPaths.length; ++i) {\n\t\tfp = cfb.FullPaths[i].slice(root.length); fi = cfb.FileIndex[i];\n\t\tif(!fi.size || !fi.content || fp == \"\\u0001Sh33tJ5\") continue;\n\t\tvar start = start_cd;\n\n\t\t/* TODO: CP437 filename */\n\t\tvar namebuf = new_buf(fp.length);\n\t\tfor(j = 0; j < fp.length; ++j) namebuf.write_shift(1, fp.charCodeAt(j) & 0x7F);\n\t\tnamebuf = namebuf.slice(0, namebuf.l);\n\t\tcrcs[fcnt] = CRC32.buf(fi.content, 0);\n\n\t\tvar outbuf = fi.content;\n\t\tif(method == 8) outbuf = _deflateRawSync(outbuf);\n\n\t\t/* local file header */\n\t\to = new_buf(30);\n\t\to.write_shift(4, 0x04034b50);\n\t\to.write_shift(2, 20);\n\t\to.write_shift(2, flags);\n\t\to.write_shift(2, method);\n\t\t/* TODO: last mod file time/date */\n\t\tif(fi.mt) write_dos_date(o, fi.mt);\n\t\telse o.write_shift(4, 0);\n\t\to.write_shift(-4, (flags & 8) ? 0 : crcs[fcnt]);\n\t\to.write_shift(4, (flags & 8) ? 0 : outbuf.length);\n\t\to.write_shift(4, (flags & 8) ? 0 : fi.content.length);\n\t\to.write_shift(2, namebuf.length);\n\t\to.write_shift(2, 0);\n\n\t\tstart_cd += o.length;\n\t\tout.push(o);\n\t\tstart_cd += namebuf.length;\n\t\tout.push(namebuf);\n\n\t\t/* TODO: encryption header ? */\n\t\tstart_cd += outbuf.length;\n\t\tout.push(outbuf);\n\n\t\t/* data descriptor */\n\t\tif(flags & 8) {\n\t\t\to = new_buf(12);\n\t\t\to.write_shift(-4, crcs[fcnt]);\n\t\t\to.write_shift(4, outbuf.length);\n\t\t\to.write_shift(4, fi.content.length);\n\t\t\tstart_cd += o.l;\n\t\t\tout.push(o);\n\t\t}\n\n\t\t/* central directory */\n\t\to = new_buf(46);\n\t\to.write_shift(4, 0x02014b50);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 20);\n\t\to.write_shift(2, flags);\n\t\to.write_shift(2, method);\n\t\to.write_shift(4, 0); /* TODO: last mod file time/date */\n\t\to.write_shift(-4, crcs[fcnt]);\n\n\t\to.write_shift(4, outbuf.length);\n\t\to.write_shift(4, fi.content.length);\n\t\to.write_shift(2, namebuf.length);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, start);\n\n\t\tsz_cd += o.l;\n\t\tcdirs.push(o);\n\t\tsz_cd += namebuf.length;\n\t\tcdirs.push(namebuf);\n\t\t++fcnt;\n\t}\n\n\t/* end of central directory */\n\to = new_buf(22);\n\to.write_shift(4, 0x06054b50);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, fcnt);\n\to.write_shift(2, fcnt);\n\to.write_shift(4, sz_cd);\n\to.write_shift(4, start_cd);\n\to.write_shift(2, 0);\n\n\treturn bconcat(([bconcat((out)), bconcat(cdirs), o]));\n}\nfunction cfb_new(opts) {\n\tvar o = ({});\n\tinit_cfb(o, opts);\n\treturn o;\n}\n\nfunction cfb_add(cfb, name, content, opts) {\n\tvar unsafe = opts && opts.unsafe;\n\tif(!unsafe) init_cfb(cfb);\n\tvar file = !unsafe && CFB.find(cfb, name);\n\tif(!file) {\n\t\tvar fpath = cfb.FullPaths[0];\n\t\tif(name.slice(0, fpath.length) == fpath) fpath = name;\n\t\telse {\n\t\t\tif(fpath.slice(-1) != \"/\") fpath += \"/\";\n\t\t\tfpath = (fpath + name).replace(\"//\",\"/\");\n\t\t}\n\t\tfile = ({name: filename(name), type: 2});\n\t\tcfb.FileIndex.push(file);\n\t\tcfb.FullPaths.push(fpath);\n\t\tif(!unsafe) CFB.utils.cfb_gc(cfb);\n\t}\nfile.content = (content);\n\tfile.size = content ? content.length : 0;\n\tif(opts) {\n\t\tif(opts.CLSID) file.clsid = opts.CLSID;\n\t\tif(opts.mt) file.mt = opts.mt;\n\t\tif(opts.ct) file.ct = opts.ct;\n\t}\n\treturn file;\n}\n\nfunction cfb_del(cfb, name) {\n\tinit_cfb(cfb);\n\tvar file = CFB.find(cfb, name);\n\tif(file) for(var j = 0; j < cfb.FileIndex.length; ++j) if(cfb.FileIndex[j] == file) {\n\t\tcfb.FileIndex.splice(j, 1);\n\t\tcfb.FullPaths.splice(j, 1);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nfunction cfb_mov(cfb, old_name, new_name) {\n\tinit_cfb(cfb);\n\tvar file = CFB.find(cfb, old_name);\n\tif(file) for(var j = 0; j < cfb.FileIndex.length; ++j) if(cfb.FileIndex[j] == file) {\n\t\tcfb.FileIndex[j].name = filename(new_name);\n\t\tcfb.FullPaths[j] = new_name;\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nfunction cfb_gc(cfb) { rebuild_cfb(cfb, true); }\n\nexports.find = find;\nexports.read = read;\nexports.parse = parse;\nexports.write = write;\nexports.writeFile = write_file;\nexports.utils = {\n\tcfb_new: cfb_new,\n\tcfb_add: cfb_add,\n\tcfb_del: cfb_del,\n\tcfb_mov: cfb_mov,\n\tcfb_gc: cfb_gc,\n\tReadShift: ReadShift,\n\tCheckField: CheckField,\n\tprep_blob: prep_blob,\n\tbconcat: bconcat,\n\tuse_zlib: use_zlib,\n\t_deflateRaw: _deflate,\n\t_inflateRaw: _inflate,\n\tconsts: consts\n};\n\nreturn exports;\n})();\n\nif(typeof require !== 'undefined' && typeof module !== 'undefined' && typeof DO_NOT_EXPORT_CFB === 'undefined') { module.exports = CFB; }\nvar _fs;\nif(typeof require !== 'undefined') try { _fs = require('fs'); } catch(e) {}\n\n/* normalize data for blob ctor */\nfunction blobify(data) {\n\tif(typeof data === \"string\") return s2ab(data);\n\tif(Array.isArray(data)) return a2u(data);\n\treturn data;\n}\n/* write or download file */\nfunction write_dl(fname, payload, enc) {\n\t/*global IE_SaveFile, Blob, navigator, saveAs, document, File, chrome */\n\tif(typeof _fs !== 'undefined' && _fs.writeFileSync) return enc ? _fs.writeFileSync(fname, payload, enc) : _fs.writeFileSync(fname, payload);\n\tvar data = (enc == \"utf8\") ? utf8write(payload) : payload;\nif(typeof IE_SaveFile !== 'undefined') return IE_SaveFile(data, fname);\n\tif(typeof Blob !== 'undefined') {\n\t\tvar blob = new Blob([blobify(data)], {type:\"application/octet-stream\"});\nif(typeof navigator !== 'undefined' && navigator.msSaveBlob) return navigator.msSaveBlob(blob, fname);\nif(typeof saveAs !== 'undefined') return saveAs(blob, fname);\n\t\tif(typeof URL !== 'undefined' && typeof document !== 'undefined' && document.createElement && URL.createObjectURL) {\n\t\t\tvar url = URL.createObjectURL(blob);\nif(typeof chrome === 'object' && typeof (chrome.downloads||{}).download == \"function\") {\n\t\t\t\tif(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000);\n\t\t\t\treturn chrome.downloads.download({ url: url, filename: fname, saveAs: true});\n\t\t\t}\n\t\t\tvar a = document.createElement(\"a\");\n\t\t\tif(a.download != null) {\na.download = fname; a.href = url; document.body.appendChild(a); a.click();\ndocument.body.removeChild(a);\n\t\t\t\tif(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000);\n\t\t\t\treturn url;\n\t\t\t}\n\t\t}\n\t}\n\t// $FlowIgnore\n\tif(typeof $ !== 'undefined' && typeof File !== 'undefined' && typeof Folder !== 'undefined') try { // extendscript\n\t\t// $FlowIgnore\n\t\tvar out = File(fname); out.open(\"w\"); out.encoding = \"binary\";\n\t\tif(Array.isArray(payload)) payload = a2s(payload);\n\t\tout.write(payload); out.close(); return payload;\n\t} catch(e) { if(!e.message || !e.message.match(/onstruct/)) throw e; }\n\tthrow new Error(\"cannot save file \" + fname);\n}\n\n/* read binary data from file */\nfunction read_binary(path) {\n\tif(typeof _fs !== 'undefined') return _fs.readFileSync(path);\n\t// $FlowIgnore\n\tif(typeof $ !== 'undefined' && typeof File !== 'undefined' && typeof Folder !== 'undefined') try { // extendscript\n\t\t// $FlowIgnore\n\t\tvar infile = File(path); infile.open(\"r\"); infile.encoding = \"binary\";\n\t\tvar data = infile.read(); infile.close();\n\t\treturn data;\n\t} catch(e) { if(!e.message || !e.message.match(/onstruct/)) throw e; }\n\tthrow new Error(\"Cannot access file \" + path);\n}\nfunction keys(o) {\n\tvar ks = Object.keys(o), o2 = [];\n\tfor(var i = 0; i < ks.length; ++i) if(Object.prototype.hasOwnProperty.call(o, ks[i])) o2.push(ks[i]);\n\treturn o2;\n}\n\nfunction evert_key(obj, key) {\n\tvar o = ([]), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) if(o[obj[K[i]][key]] == null) o[obj[K[i]][key]] = K[i];\n\treturn o;\n}\n\nfunction evert(obj) {\n\tvar o = ([]), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = K[i];\n\treturn o;\n}\n\nfunction evert_num(obj) {\n\tvar o = ([]), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = parseInt(K[i],10);\n\treturn o;\n}\n\nfunction evert_arr(obj) {\n\tvar o = ([]), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) {\n\t\tif(o[obj[K[i]]] == null) o[obj[K[i]]] = [];\n\t\to[obj[K[i]]].push(K[i]);\n\t}\n\treturn o;\n}\n\nvar basedate = new Date(1899, 11, 30, 0, 0, 0); // 2209161600000\nfunction datenum(v, date1904) {\n\tvar epoch = v.getTime();\n\tif(date1904) epoch -= 1462*24*60*60*1000;\n\tvar dnthresh = basedate.getTime() + (v.getTimezoneOffset() - basedate.getTimezoneOffset()) * 60000;\n\treturn (epoch - dnthresh) / (24 * 60 * 60 * 1000);\n}\nvar refdate = new Date();\nvar dnthresh = basedate.getTime() + (refdate.getTimezoneOffset() - basedate.getTimezoneOffset()) * 60000;\nvar refoffset = refdate.getTimezoneOffset();\nfunction numdate(v) {\n\tvar out = new Date();\n\tout.setTime(v * 24 * 60 * 60 * 1000 + dnthresh);\n\tif (out.getTimezoneOffset() !== refoffset) {\n\t\tout.setTime(out.getTime() + (out.getTimezoneOffset() - refoffset) * 60000);\n\t}\n\treturn out;\n}\n\n/* ISO 8601 Duration */\nfunction parse_isodur(s) {\n\tvar sec = 0, mt = 0, time = false;\n\tvar m = s.match(/P([0-9\\.]+Y)?([0-9\\.]+M)?([0-9\\.]+D)?T([0-9\\.]+H)?([0-9\\.]+M)?([0-9\\.]+S)?/);\n\tif(!m) throw new Error(\"|\" + s + \"| is not an ISO8601 Duration\");\n\tfor(var i = 1; i != m.length; ++i) {\n\t\tif(!m[i]) continue;\n\t\tmt = 1;\n\t\tif(i > 3) time = true;\n\t\tswitch(m[i].slice(m[i].length-1)) {\n\t\t\tcase 'Y':\n\t\t\t\tthrow new Error(\"Unsupported ISO Duration Field: \" + m[i].slice(m[i].length-1));\n\t\t\tcase 'D': mt *= 24;\n\t\t\t\t/* falls through */\n\t\t\tcase 'H': mt *= 60;\n\t\t\t\t/* falls through */\n\t\t\tcase 'M':\n\t\t\t\tif(!time) throw new Error(\"Unsupported ISO Duration Field: M\");\n\t\t\t\telse mt *= 60;\n\t\t\t\t/* falls through */\n\t\t\tcase 'S': break;\n\t\t}\n\t\tsec += mt * parseInt(m[i], 10);\n\t}\n\treturn sec;\n}\n\nvar good_pd_date = new Date('2017-02-19T19:06:09.000Z');\nif(isNaN(good_pd_date.getFullYear())) good_pd_date = new Date('2/19/17');\nvar good_pd = good_pd_date.getFullYear() == 2017;\n/* parses a date as a local date */\nfunction parseDate(str, fixdate) {\n\tvar d = new Date(str);\n\tif(good_pd) {\nif(fixdate > 0) d.setTime(d.getTime() + d.getTimezoneOffset() * 60 * 1000);\n\t\telse if(fixdate < 0) d.setTime(d.getTime() - d.getTimezoneOffset() * 60 * 1000);\n\t\treturn d;\n\t}\n\tif(str instanceof Date) return str;\n\tif(good_pd_date.getFullYear() == 1917 && !isNaN(d.getFullYear())) {\n\t\tvar s = d.getFullYear();\n\t\tif(str.indexOf(\"\" + s) > -1) return d;\n\t\td.setFullYear(d.getFullYear() + 100); return d;\n\t}\n\tvar n = str.match(/\\d+/g)||[\"2017\",\"2\",\"19\",\"0\",\"0\",\"0\"];\n\tvar out = new Date(+n[0], +n[1] - 1, +n[2], (+n[3]||0), (+n[4]||0), (+n[5]||0));\n\tif(str.indexOf(\"Z\") > -1) out = new Date(out.getTime() - out.getTimezoneOffset() * 60 * 1000);\n\treturn out;\n}\n\nfunction cc2str(arr) {\n\tvar o = \"\";\n\tfor(var i = 0; i != arr.length; ++i) o += String.fromCharCode(arr[i]);\n\treturn o;\n}\n\nfunction dup(o) {\n\tif(typeof JSON != 'undefined' && !Array.isArray(o)) return JSON.parse(JSON.stringify(o));\n\tif(typeof o != 'object' || o == null) return o;\n\tif(o instanceof Date) return new Date(o.getTime());\n\tvar out = {};\n\tfor(var k in o) if(Object.prototype.hasOwnProperty.call(o, k)) out[k] = dup(o[k]);\n\treturn out;\n}\n\nfunction fill(c,l) { var o = \"\"; while(o.length < l) o+=c; return o; }\n\n/* TODO: stress test */\nfunction fuzzynum(s) {\n\tvar v = Number(s);\n\tif(!isNaN(v)) return v;\n\tif(!/\\d/.test(s)) return v;\n\tvar wt = 1;\n\tvar ss = s.replace(/([\\d]),([\\d])/g,\"$1$2\").replace(/[$]/g,\"\").replace(/[%]/g, function() { wt *= 100; return \"\";});\n\tif(!isNaN(v = Number(ss))) return v / wt;\n\tss = ss.replace(/[(](.*)[)]/,function($$, $1) { wt = -wt; return $1;});\n\tif(!isNaN(v = Number(ss))) return v / wt;\n\treturn v;\n}\nfunction fuzzydate(s) {\n\tvar o = new Date(s), n = new Date(NaN);\n\tvar y = o.getYear(), m = o.getMonth(), d = o.getDate();\n\tif(isNaN(d)) return n;\n\tif(y < 0 || y > 8099) return n;\n\tif((m > 0 || d > 1) && y != 101) return o;\n\tif(s.toLowerCase().match(/jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec/)) return o;\n\tif(s.match(/[^-0-9:,\\/\\\\]/)) return n;\n\treturn o;\n}\n\nvar safe_split_regex = \"abacaba\".split(/(:?b)/i).length == 5;\nfunction split_regex(str, re, def) {\n\tif(safe_split_regex || typeof re == \"string\") return str.split(re);\n\tvar p = str.split(re), o = [p[0]];\n\tfor(var i = 1; i < p.length; ++i) { o.push(def); o.push(p[i]); }\n\treturn o;\n}\nfunction getdatastr(data) {\n\tif(!data) return null;\n\tif(data.data) return debom(data.data);\n\tif(data.asNodeBuffer && has_buf) return debom(data.asNodeBuffer().toString('binary'));\n\tif(data.asBinary) return debom(data.asBinary());\n\tif(data._data && data._data.getContent) return debom(cc2str(Array.prototype.slice.call(data._data.getContent(),0)));\n\tif(data.content && data.type) return debom(cc2str(data.content));\n\treturn null;\n}\n\nfunction getdatabin(data) {\n\tif(!data) return null;\n\tif(data.data) return char_codes(data.data);\n\tif(data.asNodeBuffer && has_buf) return data.asNodeBuffer();\n\tif(data._data && data._data.getContent) {\n\t\tvar o = data._data.getContent();\n\t\tif(typeof o == \"string\") return char_codes(o);\n\t\treturn Array.prototype.slice.call(o);\n\t}\n\tif(data.content && data.type) return data.content;\n\treturn null;\n}\n\nfunction getdata(data) { return (data && data.name.slice(-4) === \".bin\") ? getdatabin(data) : getdatastr(data); }\n\n/* Part 2 Section 10.1.2 \"Mapping Content Types\" Names are case-insensitive */\n/* OASIS does not comment on filename case sensitivity */\nfunction safegetzipfile(zip, file) {\n\tvar k = zip.FullPaths || keys(zip.files);\n\tvar f = file.toLowerCase(), g = f.replace(/\\//g,'\\\\');\n\tfor(var i=0; i\\/]+)\\s*=\\s*((?:\")([^\"]*)(?:\")|(?:')([^']*)(?:')|([^'\">\\s]+))/g;\nvar tagregex=/<[\\/\\?]?[a-zA-Z0-9:_-]+(?:\\s+[^\"\\s?>\\/]+\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^'\">\\s=]+))*\\s?[\\/\\?]?>/mg;\n\nif(!(XML_HEADER.match(tagregex))) tagregex = /<[^>]*>/g;\nvar nsregex=/<\\w*:/, nsregex2 = /<(\\/?)\\w+:/;\nfunction parsexmltag(tag, skip_root, skip_LC) {\n\tvar z = ({});\n\tvar eq = 0, c = 0;\n\tfor(; eq !== tag.length; ++eq) if((c = tag.charCodeAt(eq)) === 32 || c === 10 || c === 13) break;\n\tif(!skip_root) z[0] = tag.slice(0, eq);\n\tif(eq === tag.length) return z;\n\tvar m = tag.match(attregexg), j=0, v=\"\", i=0, q=\"\", cc=\"\", quot = 1;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\tcc = m[i];\n\t\tfor(c=0; c != cc.length; ++c) if(cc.charCodeAt(c) === 61) break;\n\t\tq = cc.slice(0,c).trim();\n\t\twhile(cc.charCodeAt(c+1) == 32) ++c;\n\t\tquot = ((eq=cc.charCodeAt(c+1)) == 34 || eq == 39) ? 1 : 0;\n\t\tv = cc.slice(c+1+quot, cc.length-quot);\n\t\tfor(j=0;j!=q.length;++j) if(q.charCodeAt(j) === 58) break;\n\t\tif(j===q.length) {\n\t\t\tif(q.indexOf(\"_\") > 0) q = q.slice(0, q.indexOf(\"_\")); // from ods\n\t\t\tz[q] = v;\n\t\t\tif(!skip_LC) z[q.toLowerCase()] = v;\n\t\t}\n\t\telse {\n\t\t\tvar k = (j===5 && q.slice(0,5)===\"xmlns\"?\"xmlns\":\"\")+q.slice(j+1);\n\t\t\tif(z[k] && q.slice(j-3,j) == \"ext\") continue; // from ods\n\t\t\tz[k] = v;\n\t\t\tif(!skip_LC) z[k.toLowerCase()] = v;\n\t\t}\n\t}\n\treturn z;\n}\nfunction strip_ns(x) { return x.replace(nsregex2, \"<$1\"); }\n\nvar encodings = {\n\t'"': '\"',\n\t''': \"'\",\n\t'>': '>',\n\t'<': '<',\n\t'&': '&'\n};\nvar rencoding = evert(encodings);\n//var rencstr = \"&<>'\\\"\".split(\"\");\n\n// TODO: CP remap (need to read file version to determine OS)\nvar unescapexml = (function() {\n\t/* 22.4.2.4 bstr (Basic String) */\n\tvar encregex = /&(?:quot|apos|gt|lt|amp|#x?([\\da-fA-F]+));/ig, coderegex = /_x([\\da-fA-F]{4})_/ig;\n\treturn function unescapexml(text) {\n\t\tvar s = text + '', i = s.indexOf(\"-1?16:10))||$$; }).replace(coderegex,function(m,c) {return String.fromCharCode(parseInt(c,16));});\n\t\tvar j = s.indexOf(\"]]>\");\n\t\treturn unescapexml(s.slice(0, i)) + s.slice(i+9,j) + unescapexml(s.slice(j+3));\n\t};\n})();\n\nvar decregex=/[&<>'\"]/g, charegex = /[\\u0000-\\u0008\\u000b-\\u001f]/g;\nfunction escapexml(text){\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(charegex,function(s) { return \"_x\" + (\"000\"+s.charCodeAt(0).toString(16)).slice(-4) + \"_\";});\n}\nfunction escapexmltag(text){ return escapexml(text).replace(/ /g,\"_x0020_\"); }\n\nvar htmlcharegex = /[\\u0000-\\u001f]/g;\nfunction escapehtml(text){\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(/\\n/g, \"
\").replace(htmlcharegex,function(s) { return \"&#x\" + (\"000\"+s.charCodeAt(0).toString(16)).slice(-4) + \";\"; });\n}\n\nfunction escapexlml(text){\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(htmlcharegex,function(s) { return \"&#x\" + (s.charCodeAt(0).toString(16)).toUpperCase() + \";\"; });\n}\n\n/* TODO: handle codepages */\nvar xlml_fixstr = (function() {\n\tvar entregex = /&#(\\d+);/g;\n\tfunction entrepl($$,$1) { return String.fromCharCode(parseInt($1,10)); }\n\treturn function xlml_fixstr(str) { return str.replace(entregex,entrepl); };\n})();\nvar xlml_unfixstr = (function() {\n\treturn function xlml_unfixstr(str) { return str.replace(/(\\r\\n|[\\r\\n])/g,\"\\ \"); };\n})();\n\nfunction parsexmlbool(value) {\n\tswitch(value) {\n\t\tcase 1: case true: case '1': case 'true': case 'TRUE': return true;\n\t\t/* case '0': case 'false': case 'FALSE':*/\n\t\tdefault: return false;\n\t}\n}\n\nvar utf8read = function utf8reada(orig) {\n\tvar out = \"\", i = 0, c = 0, d = 0, e = 0, f = 0, w = 0;\n\twhile (i < orig.length) {\n\t\tc = orig.charCodeAt(i++);\n\t\tif (c < 128) { out += String.fromCharCode(c); continue; }\n\t\td = orig.charCodeAt(i++);\n\t\tif (c>191 && c<224) { f = ((c & 31) << 6); f |= (d & 63); out += String.fromCharCode(f); continue; }\n\t\te = orig.charCodeAt(i++);\n\t\tif (c < 240) { out += String.fromCharCode(((c & 15) << 12) | ((d & 63) << 6) | (e & 63)); continue; }\n\t\tf = orig.charCodeAt(i++);\n\t\tw = (((c & 7) << 18) | ((d & 63) << 12) | ((e & 63) << 6) | (f & 63))-65536;\n\t\tout += String.fromCharCode(0xD800 + ((w>>>10)&1023));\n\t\tout += String.fromCharCode(0xDC00 + (w&1023));\n\t}\n\treturn out;\n};\n\nvar utf8write = function(orig) {\n\tvar out = [], i = 0, c = 0, d = 0;\n\twhile(i < orig.length) {\n\t\tc = orig.charCodeAt(i++);\n\t\tswitch(true) {\n\t\t\tcase c < 128: out.push(String.fromCharCode(c)); break;\n\t\t\tcase c < 2048:\n\t\t\t\tout.push(String.fromCharCode(192 + (c >> 6)));\n\t\t\t\tout.push(String.fromCharCode(128 + (c & 63)));\n\t\t\t\tbreak;\n\t\t\tcase c >= 55296 && c < 57344:\n\t\t\t\tc -= 55296; d = orig.charCodeAt(i++) - 56320 + (c<<10);\n\t\t\t\tout.push(String.fromCharCode(240 + ((d >>18) & 7)));\n\t\t\t\tout.push(String.fromCharCode(144 + ((d >>12) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + ((d >> 6) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + (d & 63)));\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tout.push(String.fromCharCode(224 + (c >> 12)));\n\t\t\t\tout.push(String.fromCharCode(128 + ((c >> 6) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + (c & 63)));\n\t\t}\n\t}\n\treturn out.join(\"\");\n};\n\nif(has_buf) {\n\tvar utf8readb = function utf8readb(data) {\n\t\tvar out = Buffer.alloc(2*data.length), w, i, j = 1, k = 0, ww=0, c;\n\t\tfor(i = 0; i < data.length; i+=j) {\n\t\t\tj = 1;\n\t\t\tif((c=data.charCodeAt(i)) < 128) w = c;\n\t\t\telse if(c < 224) { w = (c&31)*64+(data.charCodeAt(i+1)&63); j=2; }\n\t\t\telse if(c < 240) { w=(c&15)*4096+(data.charCodeAt(i+1)&63)*64+(data.charCodeAt(i+2)&63); j=3; }\n\t\t\telse { j = 4;\n\t\t\t\tw = (c & 7)*262144+(data.charCodeAt(i+1)&63)*4096+(data.charCodeAt(i+2)&63)*64+(data.charCodeAt(i+3)&63);\n\t\t\t\tw -= 65536; ww = 0xD800 + ((w>>>10)&1023); w = 0xDC00 + (w&1023);\n\t\t\t}\n\t\t\tif(ww !== 0) { out[k++] = ww&255; out[k++] = ww>>>8; ww = 0; }\n\t\t\tout[k++] = w%256; out[k++] = w>>>8;\n\t\t}\n\t\treturn out.slice(0,k).toString('ucs2');\n\t};\n\tvar corpus = \"foo bar baz\\u00e2\\u0098\\u0083\\u00f0\\u009f\\u008d\\u00a3\";\n\tif(utf8read(corpus) == utf8readb(corpus)) utf8read = utf8readb;\n\tvar utf8readc = function utf8readc(data) { return Buffer_from(data, 'binary').toString('utf8'); };\n\tif(utf8read(corpus) == utf8readc(corpus)) utf8read = utf8readc;\n\n\tutf8write = function(data) { return Buffer_from(data, 'utf8').toString(\"binary\"); };\n}\n\n// matches ... extracts content\nvar matchtag = (function() {\n\tvar mtcache = ({});\n\treturn function matchtag(f,g) {\n\t\tvar t = f+\"|\"+(g||\"\");\n\t\tif(mtcache[t]) return mtcache[t];\n\t\treturn (mtcache[t] = new RegExp('<(?:\\\\w+:)?'+f+'(?: xml:space=\"preserve\")?(?:[^>]*)>([\\\\s\\\\S]*?)',((g||\"\"))));\n\t};\n})();\n\nvar htmldecode = (function() {\n\tvar entities = [\n\t\t['nbsp', ' '], ['middot', '·'],\n\t\t['quot', '\"'], ['apos', \"'\"], ['gt', '>'], ['lt', '<'], ['amp', '&']\n\t].map(function(x) { return [new RegExp('&' + x[0] + ';', \"ig\"), x[1]]; });\n\treturn function htmldecode(str) {\n\t\tvar o = str\n\t\t\t\t// Remove new lines and spaces from start of content\n\t\t\t\t.replace(/^[\\t\\n\\r ]+/, \"\")\n\t\t\t\t// Remove new lines and spaces from end of content\n\t\t\t\t.replace(/[\\t\\n\\r ]+$/,\"\")\n\t\t\t\t// Added line which removes any white space characters after and before html tags\n\t\t\t\t.replace(/>\\s+/g,\">\").replace(/\\s+ tags with new lines\n\t\t\t\t.replace(/<\\s*[bB][rR]\\s*\\/?>/g,\"\\n\")\n\t\t\t\t// Strip HTML elements\n\t\t\t\t.replace(/<[^>]*>/g,\"\");\n\t\tfor(var i = 0; i < entities.length; ++i) o = o.replace(entities[i][0], entities[i][1]);\n\t\treturn o;\n\t};\n})();\n\nvar vtregex = (function(){ var vt_cache = {};\n\treturn function vt_regex(bt) {\n\t\tif(vt_cache[bt] !== undefined) return vt_cache[bt];\n\t\treturn (vt_cache[bt] = new RegExp(\"<(?:vt:)?\" + bt + \">([\\\\s\\\\S]*?)\", 'g') );\n};})();\nvar vtvregex = /<\\/?(?:vt:)?variant>/g, vtmregex = /<(?:vt:)([^>]*)>([\\s\\S]*)' + g + ''; }\n\nfunction wxt_helper(h) { return keys(h).map(function(k) { return \" \" + k + '=\"' + h[k] + '\"';}).join(\"\"); }\nfunction writextag(f,g,h) { return '<' + f + ((h != null) ? wxt_helper(h) : \"\") + ((g != null) ? (g.match(wtregex)?' xml:space=\"preserve\"' : \"\") + '>' + g + '';}\n\nfunction write_w3cdtf(d, t) { try { return d.toISOString().replace(/\\.\\d*/,\"\"); } catch(e) { if(t) throw e; } return \"\"; }\n\nfunction write_vt(s, xlsx) {\n\tswitch(typeof s) {\n\t\tcase 'string':\n\t\t\tvar o = writextag('vt:lpwstr', escapexml(s));\n\t\t\tif(xlsx) o = o.replace(/"/g, \"_x0022_\");\n\t\t\treturn o;\n\t\tcase 'number': return writextag((s|0)==s?'vt:i4':'vt:r8', escapexml(String(s)));\n\t\tcase 'boolean': return writextag('vt:bool',s?'true':'false');\n\t}\n\tif(s instanceof Date) return writextag('vt:filetime', write_w3cdtf(s));\n\tthrow new Error(\"Unable to serialize \" + s);\n}\n\nvar XMLNS = ({\n\t'dc': 'http://purl.org/dc/elements/1.1/',\n\t'dcterms': 'http://purl.org/dc/terms/',\n\t'dcmitype': 'http://purl.org/dc/dcmitype/',\n\t'mx': 'http://schemas.microsoft.com/office/mac/excel/2008/main',\n\t'r': 'http://schemas.openxmlformats.org/officeDocument/2006/relationships',\n\t'sjs': 'http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties',\n\t'vt': 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes',\n\t'xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n\t'xsd': 'http://www.w3.org/2001/XMLSchema'\n});\n\nXMLNS.main = [\n\t'http://schemas.openxmlformats.org/spreadsheetml/2006/main',\n\t'http://purl.oclc.org/ooxml/spreadsheetml/main',\n\t'http://schemas.microsoft.com/office/excel/2006/main',\n\t'http://schemas.microsoft.com/office/excel/2006/2'\n];\n\nvar XLMLNS = ({\n\t'o': 'urn:schemas-microsoft-com:office:office',\n\t'x': 'urn:schemas-microsoft-com:office:excel',\n\t'ss': 'urn:schemas-microsoft-com:office:spreadsheet',\n\t'dt': 'uuid:C2F41010-65B3-11d1-A29F-00AA00C14882',\n\t'mv': 'http://macVmlSchemaUri',\n\t'v': 'urn:schemas-microsoft-com:vml',\n\t'html': 'http://www.w3.org/TR/REC-html40'\n});\nfunction read_double_le(b, idx) {\n\tvar s = 1 - 2 * (b[idx + 7] >>> 7);\n\tvar e = ((b[idx + 7] & 0x7f) << 4) + ((b[idx + 6] >>> 4) & 0x0f);\n\tvar m = (b[idx+6]&0x0f);\n\tfor(var i = 5; i >= 0; --i) m = m * 256 + b[idx + i];\n\tif(e == 0x7ff) return m == 0 ? (s * Infinity) : NaN;\n\tif(e == 0) e = -1022;\n\telse { e -= 1023; m += Math.pow(2,52); }\n\treturn s * Math.pow(2, e - 52) * m;\n}\n\nfunction write_double_le(b, v, idx) {\n\tvar bs = ((((v < 0) || (1/v == -Infinity)) ? 1 : 0) << 7), e = 0, m = 0;\n\tvar av = bs ? (-v) : v;\n\tif(!isFinite(av)) { e = 0x7ff; m = isNaN(v) ? 0x6969 : 0; }\n\telse if(av == 0) e = m = 0;\n\telse {\n\t\te = Math.floor(Math.log(av) / Math.LN2);\n\t\tm = av * Math.pow(2, 52 - e);\n\t\tif((e <= -1023) && (!isFinite(m) || (m < Math.pow(2,52)))) { e = -1022; }\n\t\telse { m -= Math.pow(2,52); e+=1023; }\n\t}\n\tfor(var i = 0; i <= 5; ++i, m/=256) b[idx + i] = m & 0xff;\n\tb[idx + 6] = ((e & 0x0f) << 4) | (m & 0xf);\n\tb[idx + 7] = (e >> 4) | bs;\n}\n\nvar __toBuffer = function(bufs) { var x=[],w=10240; for(var i=0;i 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar ___lpstr = __lpstr;\nvar __cpstr = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar ___cpstr = __cpstr;\nvar __lpwstr = function(b,i) { var len = 2*__readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar ___lpwstr = __lpwstr;\nvar __lpp4, ___lpp4;\n__lpp4 = ___lpp4 = function lpp4_(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? __utf16le(b, i+4,i+4+len) : \"\";};\nvar __8lpp4 = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len) : \"\";};\nvar ___8lpp4 = __8lpp4;\nvar __double, ___double;\n__double = ___double = function(b, idx) { return read_double_le(b, idx);};\nvar is_buf = function is_buf_a(a) { return Array.isArray(a); };\n\nif(has_buf) {\n\t__utf16le = function(b,s,e) { if(!Buffer.isBuffer(b)) return ___utf16le(b,s,e); return b.toString('utf16le',s,e).replace(chr0,'')/*.replace(chr1,'!')*/; };\n\t__hexlify = function(b,s,l) { return Buffer.isBuffer(b) ? b.toString('hex',s,s+l) : ___hexlify(b,s,l); };\n\t__lpstr = function lpstr_b(b, i) { if(!Buffer.isBuffer(b)) return ___lpstr(b, i); var len = b.readUInt32LE(i); return len > 0 ? b.toString('utf8',i+4,i+4+len-1) : \"\";};\n\t__cpstr = function cpstr_b(b, i) { if(!Buffer.isBuffer(b)) return ___cpstr(b, i); var len = b.readUInt32LE(i); return len > 0 ? b.toString('utf8',i+4,i+4+len-1) : \"\";};\n\t__lpwstr = function lpwstr_b(b, i) { if(!Buffer.isBuffer(b)) return ___lpwstr(b, i); var len = 2*b.readUInt32LE(i); return b.toString('utf16le',i+4,i+4+len-1);};\n\t__lpp4 = function lpp4_b(b, i) { if(!Buffer.isBuffer(b)) return ___lpp4(b, i); var len = b.readUInt32LE(i); return b.toString('utf16le',i+4,i+4+len);};\n\t__8lpp4 = function lpp4_8b(b, i) { if(!Buffer.isBuffer(b)) return ___8lpp4(b, i); var len = b.readUInt32LE(i); return b.toString('utf8',i+4,i+4+len);};\n\t__utf8 = function utf8_b(b, s, e) { return (Buffer.isBuffer(b)) ? b.toString('utf8',s,e) : ___utf8(b,s,e); };\n\t__toBuffer = function(bufs) { return (bufs[0].length > 0 && Buffer.isBuffer(bufs[0][0])) ? Buffer.concat(bufs[0]) : ___toBuffer(bufs);};\n\tbconcat = function(bufs) { return Buffer.isBuffer(bufs[0]) ? Buffer.concat(bufs) : [].concat.apply([], bufs); };\n\t__double = function double_(b, i) { if(Buffer.isBuffer(b)) return b.readDoubleLE(i); return ___double(b,i); };\n\tis_buf = function is_buf_b(a) { return Buffer.isBuffer(a) || Array.isArray(a); };\n}\n\n/* from js-xls */\nif(typeof cptable !== 'undefined') {\n\t__utf16le = function(b,s,e) { return cptable.utils.decode(1200, b.slice(s,e)).replace(chr0, ''); };\n\t__utf8 = function(b,s,e) { return cptable.utils.decode(65001, b.slice(s,e)); };\n\t__lpstr = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(current_ansi, b.slice(i+4, i+4+len-1)) : \"\";};\n\t__cpstr = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(current_codepage, b.slice(i+4, i+4+len-1)) : \"\";};\n\t__lpwstr = function(b,i) { var len = 2*__readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(1200, b.slice(i+4,i+4+len-1)) : \"\";};\n\t__lpp4 = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(1200, b.slice(i+4,i+4+len)) : \"\";};\n\t__8lpp4 = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(65001, b.slice(i+4,i+4+len)) : \"\";};\n}\n\nvar __readUInt8 = function(b, idx) { return b[idx]; };\nvar __readUInt16LE = function(b, idx) { return (b[idx+1]*(1<<8))+b[idx]; };\nvar __readInt16LE = function(b, idx) { var u = (b[idx+1]*(1<<8))+b[idx]; return (u < 0x8000) ? u : ((0xffff - u + 1) * -1); };\nvar __readUInt32LE = function(b, idx) { return b[idx+3]*(1<<24)+(b[idx+2]<<16)+(b[idx+1]<<8)+b[idx]; };\nvar __readInt32LE = function(b, idx) { return (b[idx+3]<<24)|(b[idx+2]<<16)|(b[idx+1]<<8)|b[idx]; };\nvar __readInt32BE = function(b, idx) { return (b[idx]<<24)|(b[idx+1]<<16)|(b[idx+2]<<8)|b[idx+3]; };\n\nfunction ReadShift(size, t) {\n\tvar o=\"\", oI, oR, oo=[], w, vv, i, loc;\n\tswitch(t) {\n\t\tcase 'dbcs':\n\t\t\tloc = this.l;\n\t\t\tif(has_buf && Buffer.isBuffer(this)) o = this.slice(this.l, this.l+2*size).toString(\"utf16le\");\n\t\t\telse for(i = 0; i < size; ++i) { o+=String.fromCharCode(__readUInt16LE(this, loc)); loc+=2; }\n\t\t\tsize *= 2;\n\t\t\tbreak;\n\n\t\tcase 'utf8': o = __utf8(this, this.l, this.l + size); break;\n\t\tcase 'utf16le': size *= 2; o = __utf16le(this, this.l, this.l + size); break;\n\n\t\tcase 'wstr':\n\t\t\tif(typeof cptable !== 'undefined') o = cptable.utils.decode(current_codepage, this.slice(this.l, this.l+2*size));\n\t\t\telse return ReadShift.call(this, size, 'dbcs');\n\t\t\tsize = 2 * size; break;\n\n\t\t/* [MS-OLEDS] 2.1.4 LengthPrefixedAnsiString */\n\t\tcase 'lpstr-ansi': o = __lpstr(this, this.l); size = 4 + __readUInt32LE(this, this.l); break;\n\t\tcase 'lpstr-cp': o = __cpstr(this, this.l); size = 4 + __readUInt32LE(this, this.l); break;\n\t\t/* [MS-OLEDS] 2.1.5 LengthPrefixedUnicodeString */\n\t\tcase 'lpwstr': o = __lpwstr(this, this.l); size = 4 + 2 * __readUInt32LE(this, this.l); break;\n\t\t/* [MS-OFFCRYPTO] 2.1.2 Length-Prefixed Padded Unicode String (UNICODE-LP-P4) */\n\t\tcase 'lpp4': size = 4 + __readUInt32LE(this, this.l); o = __lpp4(this, this.l); if(size & 0x02) size += 2; break;\n\t\t/* [MS-OFFCRYPTO] 2.1.3 Length-Prefixed UTF-8 String (UTF-8-LP-P4) */\n\t\tcase '8lpp4': size = 4 + __readUInt32LE(this, this.l); o = __8lpp4(this, this.l); if(size & 0x03) size += 4 - (size & 0x03); break;\n\n\t\tcase 'cstr': size = 0; o = \"\";\n\t\t\twhile((w=__readUInt8(this, this.l + size++))!==0) oo.push(_getchar(w));\n\t\t\to = oo.join(\"\"); break;\n\t\tcase '_wstr': size = 0; o = \"\";\n\t\t\twhile((w=__readUInt16LE(this,this.l +size))!==0){oo.push(_getchar(w));size+=2;}\n\t\t\tsize+=2; o = oo.join(\"\"); break;\n\n\t\t/* sbcs and dbcs support continue records in the SST way TODO codepages */\n\t\tcase 'dbcs-cont': o = \"\"; loc = this.l;\n\t\t\tfor(i = 0; i < size; ++i) {\n\t\t\t\tif(this.lens && this.lens.indexOf(loc) !== -1) {\n\t\t\t\t\tw = __readUInt8(this, loc);\n\t\t\t\t\tthis.l = loc + 1;\n\t\t\t\t\tvv = ReadShift.call(this, size-i, w ? 'dbcs-cont' : 'sbcs-cont');\n\t\t\t\t\treturn oo.join(\"\") + vv;\n\t\t\t\t}\n\t\t\t\too.push(_getchar(__readUInt16LE(this, loc)));\n\t\t\t\tloc+=2;\n\t\t\t} o = oo.join(\"\"); size *= 2; break;\n\n\t\tcase 'cpstr':\n\t\t\tif(typeof cptable !== 'undefined') {\n\t\t\t\to = cptable.utils.decode(current_codepage, this.slice(this.l, this.l + size));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t/* falls through */\n\t\tcase 'sbcs-cont': o = \"\"; loc = this.l;\n\t\t\tfor(i = 0; i != size; ++i) {\n\t\t\t\tif(this.lens && this.lens.indexOf(loc) !== -1) {\n\t\t\t\t\tw = __readUInt8(this, loc);\n\t\t\t\t\tthis.l = loc + 1;\n\t\t\t\t\tvv = ReadShift.call(this, size-i, w ? 'dbcs-cont' : 'sbcs-cont');\n\t\t\t\t\treturn oo.join(\"\") + vv;\n\t\t\t\t}\n\t\t\t\too.push(_getchar(__readUInt8(this, loc)));\n\t\t\t\tloc+=1;\n\t\t\t} o = oo.join(\"\"); break;\n\n\t\tdefault:\n\tswitch(size) {\n\t\tcase 1: oI = __readUInt8(this, this.l); this.l++; return oI;\n\t\tcase 2: oI = (t === 'i' ? __readInt16LE : __readUInt16LE)(this, this.l); this.l += 2; return oI;\n\t\tcase 4: case -4:\n\t\t\tif(t === 'i' || ((this[this.l+3] & 0x80)===0)) { oI = ((size > 0) ? __readInt32LE : __readInt32BE)(this, this.l); this.l += 4; return oI; }\n\t\t\telse { oR = __readUInt32LE(this, this.l); this.l += 4; } return oR;\n\t\tcase 8: case -8:\n\t\t\tif(t === 'f') {\n\t\t\t\tif(size == 8) oR = __double(this, this.l);\n\t\t\t\telse oR = __double([this[this.l+7],this[this.l+6],this[this.l+5],this[this.l+4],this[this.l+3],this[this.l+2],this[this.l+1],this[this.l+0]], 0);\n\t\t\t\tthis.l += 8; return oR;\n\t\t\t} else size = 8;\n\t\t/* falls through */\n\t\tcase 16: o = __hexlify(this, this.l, size); break;\n\t}}\n\tthis.l+=size; return o;\n}\n\nvar __writeUInt32LE = function(b, val, idx) { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); b[idx+2] = ((val >>> 16) & 0xFF); b[idx+3] = ((val >>> 24) & 0xFF); };\nvar __writeInt32LE = function(b, val, idx) { b[idx] = (val & 0xFF); b[idx+1] = ((val >> 8) & 0xFF); b[idx+2] = ((val >> 16) & 0xFF); b[idx+3] = ((val >> 24) & 0xFF); };\nvar __writeUInt16LE = function(b, val, idx) { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); };\n\nfunction WriteShift(t, val, f) {\n\tvar size = 0, i = 0;\n\tif(f === 'dbcs') {\nfor(i = 0; i != val.length; ++i) __writeUInt16LE(this, val.charCodeAt(i), this.l + 2 * i);\n\t\tsize = 2 * val.length;\n\t} else if(f === 'sbcs') {\n\t\tif(typeof cptable !== 'undefined' && current_ansi == 874) {\n\t\t\t/* TODO: use tables directly, don't encode */\nfor(i = 0; i != val.length; ++i) {\n\t\t\t\tvar cppayload = cptable.utils.encode(current_ansi, val.charAt(i));\n\t\t\t\tthis[this.l + i] = cppayload[0];\n\t\t\t}\n\t\t} else {\nval = val.replace(/[^\\x00-\\x7F]/g, \"_\");\nfor(i = 0; i != val.length; ++i) this[this.l + i] = (val.charCodeAt(i) & 0xFF);\n\t\t}\n\t\tsize = val.length;\n\t} else if(f === 'hex') {\n\t\tfor(; i < t; ++i) {\nthis[this.l++] = (parseInt(val.slice(2*i, 2*i+2), 16)||0);\n\t\t} return this;\n\t} else if(f === 'utf16le') {\nvar end = Math.min(this.l + t, this.length);\n\t\t\tfor(i = 0; i < Math.min(val.length, t); ++i) {\n\t\t\t\tvar cc = val.charCodeAt(i);\n\t\t\t\tthis[this.l++] = (cc & 0xff);\n\t\t\t\tthis[this.l++] = (cc >> 8);\n\t\t\t}\n\t\t\twhile(this.l < end) this[this.l++] = 0;\n\t\t\treturn this;\n\t} else switch(t) {\n\t\tcase 1: size = 1; this[this.l] = val&0xFF; break;\n\t\tcase 2: size = 2; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; break;\n\t\tcase 3: size = 3; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; val >>>= 8; this[this.l+2] = val&0xFF; break;\n\t\tcase 4: size = 4; __writeUInt32LE(this, val, this.l); break;\n\t\tcase 8: size = 8; if(f === 'f') { write_double_le(this, val, this.l); break; }\n\t\t/* falls through */\n\t\tcase 16: break;\n\t\tcase -4: size = 4; __writeInt32LE(this, val, this.l); break;\n\t}\n\tthis.l += size; return this;\n}\n\nfunction CheckField(hexstr, fld) {\n\tvar m = __hexlify(this,this.l,hexstr.length>>1);\n\tif(m !== hexstr) throw new Error(fld + 'Expected ' + hexstr + ' saw ' + m);\n\tthis.l += hexstr.length>>1;\n}\n\nfunction prep_blob(blob, pos) {\n\tblob.l = pos;\n\tblob.read_shift = ReadShift;\n\tblob.chk = CheckField;\n\tblob.write_shift = WriteShift;\n}\n\nfunction parsenoop(blob, length) { blob.l += length; }\n\nfunction new_buf(sz) {\n\tvar o = new_raw_buf(sz);\n\tprep_blob(o, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.1.4 Record */\nfunction recordhopper(data, cb, opts) {\n\tif(!data) return;\n\tvar tmpbyte, cntbyte, length;\n\tprep_blob(data, data.l || 0);\n\tvar L = data.length, RT = 0, tgt = 0;\n\twhile(data.l < L) {\n\t\tRT = data.read_shift(1);\n\t\tif(RT & 0x80) RT = (RT & 0x7F) + ((data.read_shift(1) & 0x7F)<<7);\n\t\tvar R = XLSBRecordEnum[RT] || XLSBRecordEnum[0xFFFF];\n\t\ttmpbyte = data.read_shift(1);\n\t\tlength = tmpbyte & 0x7F;\n\t\tfor(cntbyte = 1; cntbyte <4 && (tmpbyte & 0x80); ++cntbyte) length += ((tmpbyte = data.read_shift(1)) & 0x7F)<<(7*cntbyte);\n\t\ttgt = data.l + length;\n\t\tvar d = (R.f||parsenoop)(data, length, opts);\n\t\tdata.l = tgt;\n\t\tif(cb(d, R.n, RT)) return;\n\t}\n}\n\n/* control buffer usage for fixed-length buffers */\nfunction buf_array() {\n\tvar bufs = [], blksz = has_buf ? 256 : 2048;\n\tvar newblk = function ba_newblk(sz) {\n\t\tvar o = (new_buf(sz));\n\t\tprep_blob(o, 0);\n\t\treturn o;\n\t};\n\n\tvar curbuf = newblk(blksz);\n\n\tvar endbuf = function ba_endbuf() {\n\t\tif(!curbuf) return;\n\t\tif(curbuf.length > curbuf.l) { curbuf = curbuf.slice(0, curbuf.l); curbuf.l = curbuf.length; }\n\t\tif(curbuf.length > 0) bufs.push(curbuf);\n\t\tcurbuf = null;\n\t};\n\n\tvar next = function ba_next(sz) {\n\t\tif(curbuf && (sz < (curbuf.length - curbuf.l))) return curbuf;\n\t\tendbuf();\n\t\treturn (curbuf = newblk(Math.max(sz+1, blksz)));\n\t};\n\n\tvar end = function ba_end() {\n\t\tendbuf();\n\t\treturn __toBuffer([bufs]);\n\t};\n\n\tvar push = function ba_push(buf) { endbuf(); curbuf = buf; if(curbuf.l == null) curbuf.l = curbuf.length; next(blksz); };\n\n\treturn ({ next:next, push:push, end:end, _bufs:bufs });\n}\n\nfunction write_record(ba, type, payload, length) {\n\tvar t = +XLSBRE[type], l;\n\tif(isNaN(t)) return; // TODO: throw something here?\n\tif(!length) length = XLSBRecordEnum[t].p || (payload||[]).length || 0;\n\tl = 1 + (t >= 0x80 ? 1 : 0) + 1/* + length*/;\n\tif(length >= 0x80) ++l; if(length >= 0x4000) ++l; if(length >= 0x200000) ++l;\n\tvar o = ba.next(l);\n\tif(t <= 0x7F) o.write_shift(1, t);\n\telse {\n\t\to.write_shift(1, (t & 0x7F) + 0x80);\n\t\to.write_shift(1, (t >> 7));\n\t}\n\tfor(var i = 0; i != 4; ++i) {\n\t\tif(length >= 0x80) { o.write_shift(1, (length & 0x7F)+0x80); length >>= 7; }\n\t\telse { o.write_shift(1, length); break; }\n\t}\n\tif(length > 0 && is_buf(payload)) ba.push(payload);\n}\n/* XLS ranges enforced */\nfunction shift_cell_xls(cell, tgt, opts) {\n\tvar out = dup(cell);\n\tif(tgt.s) {\n\t\tif(out.cRel) out.c += tgt.s.c;\n\t\tif(out.rRel) out.r += tgt.s.r;\n\t} else {\n\t\tif(out.cRel) out.c += tgt.c;\n\t\tif(out.rRel) out.r += tgt.r;\n\t}\n\tif(!opts || opts.biff < 12) {\n\t\twhile(out.c >= 0x100) out.c -= 0x100;\n\t\twhile(out.r >= 0x10000) out.r -= 0x10000;\n\t}\n\treturn out;\n}\n\nfunction shift_range_xls(cell, range, opts) {\n\tvar out = dup(cell);\n\tout.s = shift_cell_xls(out.s, range.s, opts);\n\tout.e = shift_cell_xls(out.e, range.s, opts);\n\treturn out;\n}\n\nfunction encode_cell_xls(c, biff) {\n\tif(c.cRel && c.c < 0) { c = dup(c); while(c.c < 0) c.c += (biff > 8) ? 0x4000 : 0x100; }\n\tif(c.rRel && c.r < 0) { c = dup(c); while(c.r < 0) c.r += (biff > 8) ? 0x100000 : ((biff > 5) ? 0x10000 : 0x4000); }\n\tvar s = encode_cell(c);\n\tif(!c.cRel && c.cRel != null) s = fix_col(s);\n\tif(!c.rRel && c.rRel != null) s = fix_row(s);\n\treturn s;\n}\n\nfunction encode_range_xls(r, opts) {\n\tif(r.s.r == 0 && !r.s.rRel) {\n\t\tif(r.e.r == (opts.biff >= 12 ? 0xFFFFF : (opts.biff >= 8 ? 0x10000 : 0x4000)) && !r.e.rRel) {\n\t\t\treturn (r.s.cRel ? \"\" : \"$\") + encode_col(r.s.c) + \":\" + (r.e.cRel ? \"\" : \"$\") + encode_col(r.e.c);\n\t\t}\n\t}\n\tif(r.s.c == 0 && !r.s.cRel) {\n\t\tif(r.e.c == (opts.biff >= 12 ? 0x3FFF : 0xFF) && !r.e.cRel) {\n\t\t\treturn (r.s.rRel ? \"\" : \"$\") + encode_row(r.s.r) + \":\" + (r.e.rRel ? \"\" : \"$\") + encode_row(r.e.r);\n\t\t}\n\t}\n\treturn encode_cell_xls(r.s, opts.biff) + \":\" + encode_cell_xls(r.e, opts.biff);\n}\nvar OFFCRYPTO = {};\n\nvar make_offcrypto = function(O, _crypto) {\n\tvar crypto;\n\tif(typeof _crypto !== 'undefined') crypto = _crypto;\n\telse if(typeof require !== 'undefined') {\n\t\ttry { crypto = require('crypto'); }\n\t\tcatch(e) { crypto = null; }\n\t}\n\n\tO.rc4 = function(key, data) {\n\t\tvar S = new Array(256);\n\t\tvar c = 0, i = 0, j = 0, t = 0;\n\t\tfor(i = 0; i != 256; ++i) S[i] = i;\n\t\tfor(i = 0; i != 256; ++i) {\n\t\t\tj = (j + S[i] + (key[i%key.length]).charCodeAt(0))&255;\n\t\t\tt = S[i]; S[i] = S[j]; S[j] = t;\n\t\t}\n\t\t// $FlowIgnore\n\t\ti = j = 0; var out = new_raw_buf(data.length);\n\t\tfor(c = 0; c != data.length; ++c) {\n\t\t\ti = (i + 1)&255;\n\t\t\tj = (j + S[i])%256;\n\t\t\tt = S[i]; S[i] = S[j]; S[j] = t;\n\t\t\tout[c] = (data[c] ^ S[(S[i]+S[j])&255]);\n\t\t}\n\t\treturn out;\n\t};\n\n\tO.md5 = function(hex) {\n\t\tif(!crypto) throw new Error(\"Unsupported crypto\");\n\t\treturn crypto.createHash('md5').update(hex).digest('hex');\n\t};\n};\n/*global crypto:true */\nmake_offcrypto(OFFCRYPTO, typeof crypto !== \"undefined\" ? crypto : undefined);\n\nfunction decode_row(rowstr) { return parseInt(unfix_row(rowstr),10) - 1; }\nfunction encode_row(row) { return \"\" + (row + 1); }\nfunction fix_row(cstr) { return cstr.replace(/([A-Z]|^)(\\d+)$/,\"$1$$$2\"); }\nfunction unfix_row(cstr) { return cstr.replace(/\\$(\\d+)$/,\"$1\"); }\n\nfunction decode_col(colstr) { var c = unfix_col(colstr), d = 0, i = 0; for(; i !== c.length; ++i) d = 26*d + c.charCodeAt(i) - 64; return d - 1; }\nfunction encode_col(col) { if(col < 0) throw new Error(\"invalid column \" + col); var s=\"\"; for(++col; col; col=Math.floor((col-1)/26)) s = String.fromCharCode(((col-1)%26) + 65) + s; return s; }\nfunction fix_col(cstr) { return cstr.replace(/^([A-Z])/,\"$$$1\"); }\nfunction unfix_col(cstr) { return cstr.replace(/^\\$([A-Z])/,\"$1\"); }\n\nfunction split_cell(cstr) { return cstr.replace(/(\\$?[A-Z]*)(\\$?\\d*)/,\"$1,$2\").split(\",\"); }\n//function decode_cell(cstr) { var splt = split_cell(cstr); return { c:decode_col(splt[0]), r:decode_row(splt[1]) }; }\nfunction decode_cell(cstr) {\n\tvar R = 0, C = 0;\n\tfor(var i = 0; i < cstr.length; ++i) {\n\t\tvar cc = cstr.charCodeAt(i);\n\t\tif(cc >= 48 && cc <= 57) R = 10 * R + (cc - 48);\n\t\telse if(cc >= 65 && cc <= 90) C = 26 * C + (cc - 64);\n\t}\n\treturn { c: C - 1, r:R - 1 };\n}\n//function encode_cell(cell) { return encode_col(cell.c) + encode_row(cell.r); }\nfunction encode_cell(cell) {\n\tvar col = cell.c + 1;\n\tvar s=\"\";\n\tfor(; col; col=((col-1)/26)|0) s = String.fromCharCode(((col-1)%26) + 65) + s;\n\treturn s + (cell.r + 1);\n}\nfunction decode_range(range) {\n\tvar idx = range.indexOf(\":\");\n\tif(idx == -1) return { s: decode_cell(range), e: decode_cell(range) };\n\treturn { s: decode_cell(range.slice(0, idx)), e: decode_cell(range.slice(idx + 1)) };\n}\nfunction encode_range(cs,ce) {\n\tif(typeof ce === 'undefined' || typeof ce === 'number') {\nreturn encode_range(cs.s, cs.e);\n\t}\nif(typeof cs !== 'string') cs = encode_cell((cs));\n\tif(typeof ce !== 'string') ce = encode_cell((ce));\nreturn cs == ce ? cs : cs + \":\" + ce;\n}\n\nfunction safe_decode_range(range) {\n\tvar o = {s:{c:0,r:0},e:{c:0,r:0}};\n\tvar idx = 0, i = 0, cc = 0;\n\tvar len = range.length;\n\tfor(idx = 0; i < len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\tidx = 26*idx + cc;\n\t}\n\to.s.c = --idx;\n\n\tfor(idx = 0; i < len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-48) < 0 || cc > 9) break;\n\t\tidx = 10*idx + cc;\n\t}\n\to.s.r = --idx;\n\n\tif(i === len || range.charCodeAt(++i) === 58) { o.e.c=o.s.c; o.e.r=o.s.r; return o; }\n\n\tfor(idx = 0; i != len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\tidx = 26*idx + cc;\n\t}\n\to.e.c = --idx;\n\n\tfor(idx = 0; i != len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-48) < 0 || cc > 9) break;\n\t\tidx = 10*idx + cc;\n\t}\n\to.e.r = --idx;\n\treturn o;\n}\n\nfunction safe_format_cell(cell, v) {\n\tvar q = (cell.t == 'd' && v instanceof Date);\n\tif(cell.z != null) try { return (cell.w = SSF.format(cell.z, q ? datenum(v) : v)); } catch(e) { }\n\ttry { return (cell.w = SSF.format((cell.XF||{}).numFmtId||(q ? 14 : 0), q ? datenum(v) : v)); } catch(e) { return ''+v; }\n}\n\nfunction format_cell(cell, v, o) {\n\tif(cell == null || cell.t == null || cell.t == 'z') return \"\";\n\tif(cell.w !== undefined) return cell.w;\n\tif(cell.t == 'd' && !cell.z && o && o.dateNF) cell.z = o.dateNF;\n\tif(v == undefined) return safe_format_cell(cell, cell.v);\n\treturn safe_format_cell(cell, v);\n}\n\nfunction sheet_to_workbook(sheet, opts) {\n\tvar n = opts && opts.sheet ? opts.sheet : \"Sheet1\";\n\tvar sheets = {}; sheets[n] = sheet;\n\treturn { SheetNames: [n], Sheets: sheets };\n}\n\nfunction sheet_add_aoa(_ws, data, opts) {\n\tvar o = opts || {};\n\tvar dense = _ws ? Array.isArray(_ws) : o.dense;\n\tif(DENSE != null && dense == null) dense = DENSE;\n\tvar ws = _ws || (dense ? ([]) : ({}));\n\tvar _R = 0, _C = 0;\n\tif(ws && o.origin != null) {\n\t\tif(typeof o.origin == 'number') _R = o.origin;\n\t\telse {\n\t\t\tvar _origin = typeof o.origin == \"string\" ? decode_cell(o.origin) : o.origin;\n\t\t\t_R = _origin.r; _C = _origin.c;\n\t\t}\n\t\tif(!ws[\"!ref\"]) ws[\"!ref\"] = \"A1:A1\";\n\t}\n\tvar range = ({s: {c:10000000, r:10000000}, e: {c:0, r:0}});\n\tif(ws['!ref']) {\n\t\tvar _range = safe_decode_range(ws['!ref']);\n\t\trange.s.c = _range.s.c;\n\t\trange.s.r = _range.s.r;\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\tif(_R == -1) range.e.r = _R = _range.e.r + 1;\n\t}\n\tfor(var R = 0; R != data.length; ++R) {\n\t\tif(!data[R]) continue;\n\t\tif(!Array.isArray(data[R])) throw new Error(\"aoa_to_sheet expects an array of arrays\");\n\t\tfor(var C = 0; C != data[R].length; ++C) {\n\t\t\tif(typeof data[R][C] === 'undefined') continue;\n\t\t\tvar cell = ({v: data[R][C] });\n\t\t\tvar __R = _R + R, __C = _C + C;\n\t\t\tif(range.s.r > __R) range.s.r = __R;\n\t\t\tif(range.s.c > __C) range.s.c = __C;\n\t\t\tif(range.e.r < __R) range.e.r = __R;\n\t\t\tif(range.e.c < __C) range.e.c = __C;\n\t\t\tif(data[R][C] && typeof data[R][C] === 'object' && !Array.isArray(data[R][C]) && !(data[R][C] instanceof Date)) cell = data[R][C];\n\t\t\telse {\n\t\t\t\tif(Array.isArray(cell.v)) { cell.f = data[R][C][1]; cell.v = cell.v[0]; }\n\t\t\t\tif(cell.v === null) { if(cell.f) cell.t = 'n'; else if(!o.sheetStubs) continue; else cell.t = 'z'; }\n\t\t\t\telse if(typeof cell.v === 'number') cell.t = 'n';\n\t\t\t\telse if(typeof cell.v === 'boolean') cell.t = 'b';\n\t\t\t\telse if(cell.v instanceof Date) {\n\t\t\t\t\tcell.z = o.dateNF || SSF._table[14];\n\t\t\t\t\tif(o.cellDates) { cell.t = 'd'; cell.w = SSF.format(cell.z, datenum(cell.v)); }\n\t\t\t\t\telse { cell.t = 'n'; cell.v = datenum(cell.v); cell.w = SSF.format(cell.z, cell.v); }\n\t\t\t\t}\n\t\t\t\telse cell.t = 's';\n\t\t\t}\n\t\t\tif(dense) {\n\t\t\t\tif(!ws[__R]) ws[__R] = [];\n\t\t\t\tif(ws[__R][__C] && ws[__R][__C].z) cell.z = ws[__R][__C].z;\n\t\t\t\tws[__R][__C] = cell;\n\t\t\t} else {\n\t\t\t\tvar cell_ref = encode_cell(({c:__C,r:__R}));\n\t\t\t\tif(ws[cell_ref] && ws[cell_ref].z) cell.z = ws[cell_ref].z;\n\t\t\t\tws[cell_ref] = cell;\n\t\t\t}\n\t\t}\n\t}\n\tif(range.s.c < 10000000) ws['!ref'] = encode_range(range);\n\treturn ws;\n}\nfunction aoa_to_sheet(data, opts) { return sheet_add_aoa(null, data, opts); }\n\nfunction write_UInt32LE(x, o) {\n\tif (!o) o = new_buf(4);\n\to.write_shift(4, x);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.168 */\nfunction parse_XLWideString(data) {\n\tvar cchCharacters = data.read_shift(4);\n\treturn cchCharacters === 0 ? \"\" : data.read_shift(cchCharacters, 'dbcs');\n}\nfunction write_XLWideString(data, o) {\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(4 + 2 * data.length); }\n\to.write_shift(4, data.length);\n\tif (data.length > 0) o.write_shift(0, data, 'dbcs');\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.91 */\n//function parse_LPWideString(data) {\n//\tvar cchCharacters = data.read_shift(2);\n//\treturn cchCharacters === 0 ? \"\" : data.read_shift(cchCharacters, \"utf16le\");\n//}\n\n/* [MS-XLSB] 2.5.143 */\nfunction parse_StrRun(data) {\n\treturn { ich: data.read_shift(2), ifnt: data.read_shift(2) };\n}\nfunction write_StrRun(run, o) {\n\tif (!o) o = new_buf(4);\n\to.write_shift(2, run.ich || 0);\n\to.write_shift(2, run.ifnt || 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.121 */\nfunction parse_RichStr(data, length) {\n\tvar start = data.l;\n\tvar flags = data.read_shift(1);\n\tvar str = parse_XLWideString(data);\n\tvar rgsStrRun = [];\n\tvar z = ({ t: str, h: str });\n\tif ((flags & 1) !== 0) { /* fRichStr */\n\t\t/* TODO: formatted string */\n\t\tvar dwSizeStrRun = data.read_shift(4);\n\t\tfor (var i = 0; i != dwSizeStrRun; ++i) rgsStrRun.push(parse_StrRun(data));\n\t\tz.r = rgsStrRun;\n\t}\n\telse z.r = [{ ich: 0, ifnt: 0 }];\n\t//if((flags & 2) !== 0) { /* fExtStr */\n\t//\t/* TODO: phonetic string */\n\t//}\n\tdata.l = start + length;\n\treturn z;\n}\nfunction write_RichStr(str, o) {\n\t/* TODO: formatted string */\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(15 + 4 * str.t.length); }\n\to.write_shift(1, 0);\n\twrite_XLWideString(str.t, o);\n\treturn _null ? o.slice(0, o.l) : o;\n}\n/* [MS-XLSB] 2.4.328 BrtCommentText (RichStr w/1 run) */\nvar parse_BrtCommentText = parse_RichStr;\nfunction write_BrtCommentText(str, o) {\n\t/* TODO: formatted string */\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(23 + 4 * str.t.length); }\n\to.write_shift(1, 1);\n\twrite_XLWideString(str.t, o);\n\to.write_shift(4, 1);\n\twrite_StrRun({ ich: 0, ifnt: 0 }, o);\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.9 */\nfunction parse_XLSBCell(data) {\n\tvar col = data.read_shift(4);\n\tvar iStyleRef = data.read_shift(2);\n\tiStyleRef += data.read_shift(1) << 16;\n\tdata.l++; //var fPhShow = data.read_shift(1);\n\treturn { c: col, iStyleRef: iStyleRef };\n}\nfunction write_XLSBCell(cell, o) {\n\tif (o == null) o = new_buf(8);\n\to.write_shift(-4, cell.c);\n\to.write_shift(3, cell.iStyleRef || cell.s);\n\to.write_shift(1, 0); /* fPhShow */\n\treturn o;\n}\n\n\n/* [MS-XLSB] 2.5.21 */\nvar parse_XLSBCodeName = parse_XLWideString;\nvar write_XLSBCodeName = write_XLWideString;\n\n/* [MS-XLSB] 2.5.166 */\nfunction parse_XLNullableWideString(data) {\n\tvar cchCharacters = data.read_shift(4);\n\treturn cchCharacters === 0 || cchCharacters === 0xFFFFFFFF ? \"\" : data.read_shift(cchCharacters, 'dbcs');\n}\nfunction write_XLNullableWideString(data, o) {\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(127); }\n\to.write_shift(4, data.length > 0 ? data.length : 0xFFFFFFFF);\n\tif (data.length > 0) o.write_shift(0, data, 'dbcs');\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.165 */\nvar parse_XLNameWideString = parse_XLWideString;\n//var write_XLNameWideString = write_XLWideString;\n\n/* [MS-XLSB] 2.5.114 */\nvar parse_RelID = parse_XLNullableWideString;\nvar write_RelID = write_XLNullableWideString;\n\n\n/* [MS-XLS] 2.5.217 ; [MS-XLSB] 2.5.122 */\nfunction parse_RkNumber(data) {\n\tvar b = data.slice(data.l, data.l + 4);\n\tvar fX100 = (b[0] & 1), fInt = (b[0] & 2);\n\tdata.l += 4;\n\tb[0] &= 0xFC; // b[0] &= ~3;\n\tvar RK = fInt === 0 ? __double([0, 0, 0, 0, b[0], b[1], b[2], b[3]], 0) : __readInt32LE(b, 0) >> 2;\n\treturn fX100 ? (RK / 100) : RK;\n}\nfunction write_RkNumber(data, o) {\n\tif (o == null) o = new_buf(4);\n\tvar fX100 = 0, fInt = 0, d100 = data * 100;\n\tif ((data == (data | 0)) && (data >= -(1 << 29)) && (data < (1 << 29))) { fInt = 1; }\n\telse if ((d100 == (d100 | 0)) && (d100 >= -(1 << 29)) && (d100 < (1 << 29))) { fInt = 1; fX100 = 1; }\n\tif (fInt) o.write_shift(-4, ((fX100 ? d100 : data) << 2) + (fX100 + 2));\n\telse throw new Error(\"unsupported RkNumber \" + data); // TODO\n}\n\n\n/* [MS-XLSB] 2.5.117 RfX */\nfunction parse_RfX(data ) {\n\tvar cell = ({ s: {}, e: {} });\n\tcell.s.r = data.read_shift(4);\n\tcell.e.r = data.read_shift(4);\n\tcell.s.c = data.read_shift(4);\n\tcell.e.c = data.read_shift(4);\n\treturn cell;\n}\nfunction write_RfX(r, o) {\n\tif (!o) o = new_buf(16);\n\to.write_shift(4, r.s.r);\n\to.write_shift(4, r.e.r);\n\to.write_shift(4, r.s.c);\n\to.write_shift(4, r.e.c);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.153 UncheckedRfX */\nvar parse_UncheckedRfX = parse_RfX;\nvar write_UncheckedRfX = write_RfX;\n\n/* [MS-XLSB] 2.5.155 UncheckedSqRfX */\n//function parse_UncheckedSqRfX(data) {\n//\tvar cnt = data.read_shift(4);\n//\tvar out = [];\n//\tfor(var i = 0; i < cnt; ++i) {\n//\t\tvar rng = parse_UncheckedRfX(data);\n//\t\tout.push(encode_range(rng));\n//\t}\n//\treturn out.join(\",\");\n//}\n//function write_UncheckedSqRfX(sqrfx) {\n//\tvar parts = sqrfx.split(/\\s*,\\s*/);\n//\tvar o = new_buf(4); o.write_shift(4, parts.length);\n//\tvar out = [o];\n//\tparts.forEach(function(rng) {\n//\t\tout.push(write_UncheckedRfX(safe_decode_range(rng)));\n//\t});\n//\treturn bconcat(out);\n//}\n\n/* [MS-XLS] 2.5.342 ; [MS-XLSB] 2.5.171 */\n/* TODO: error checking, NaN and Infinity values are not valid Xnum */\nfunction parse_Xnum(data) { return data.read_shift(8, 'f'); }\nfunction write_Xnum(data, o) { return (o || new_buf(8)).write_shift(8, data, 'f'); }\n\n/* [MS-XLSB] 2.4.324 BrtColor */\nfunction parse_BrtColor(data) {\n\tvar out = {};\n\tvar d = data.read_shift(1);\n\n\t//var fValidRGB = d & 1;\n\tvar xColorType = d >>> 1;\n\n\tvar index = data.read_shift(1);\n\tvar nTS = data.read_shift(2, 'i');\n\tvar bR = data.read_shift(1);\n\tvar bG = data.read_shift(1);\n\tvar bB = data.read_shift(1);\n\tdata.l++; //var bAlpha = data.read_shift(1);\n\n\tswitch (xColorType) {\n\t\tcase 0: out.auto = 1; break;\n\t\tcase 1:\n\t\t\tout.index = index;\n\t\t\tvar icv = XLSIcv[index];\n\t\t\t/* automatic pseudo index 81 */\n\t\t\tif (icv) out.rgb = rgb2Hex(icv);\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\t/* if(!fValidRGB) throw new Error(\"invalid\"); */\n\t\t\tout.rgb = rgb2Hex([bR, bG, bB]);\n\t\t\tbreak;\n\t\tcase 3: out.theme = index; break;\n\t}\n\tif (nTS != 0) out.tint = nTS > 0 ? nTS / 32767 : nTS / 32768;\n\n\treturn out;\n}\nfunction write_BrtColor(color, o) {\n\tif (!o) o = new_buf(8);\n\tif (!color || color.auto) { o.write_shift(4, 0); o.write_shift(4, 0); return o; }\n\tif (color.index != null) {\n\t\to.write_shift(1, 0x02);\n\t\to.write_shift(1, color.index);\n\t} else if (color.theme != null) {\n\t\to.write_shift(1, 0x06);\n\t\to.write_shift(1, color.theme);\n\t} else {\n\t\to.write_shift(1, 0x05);\n\t\to.write_shift(1, 0);\n\t}\n\tvar nTS = color.tint || 0;\n\tif (nTS > 0) nTS *= 32767;\n\telse if (nTS < 0) nTS *= 32768;\n\to.write_shift(2, nTS);\n\tif (!color.rgb || color.theme != null) {\n\t\to.write_shift(2, 0);\n\t\to.write_shift(1, 0);\n\t\to.write_shift(1, 0);\n\t} else {\n\t\tvar rgb = (color.rgb || 'FFFFFF');\n\t\tif (typeof rgb == 'number') rgb = (\"000000\" + rgb.toString(16)).slice(-6);\n\t\to.write_shift(1, parseInt(rgb.slice(0, 2), 16));\n\t\to.write_shift(1, parseInt(rgb.slice(2, 4), 16));\n\t\to.write_shift(1, parseInt(rgb.slice(4, 6), 16));\n\t\to.write_shift(1, 0xFF);\n\t}\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.52 */\nfunction parse_FontFlags(data) {\n\tvar d = data.read_shift(1);\n\tdata.l++;\n\tvar out = {\n\t\tfBold: d & 0x01,\n\t\tfItalic: d & 0x02,\n\t\tfUnderline: d & 0x04,\n\t\tfStrikeout: d & 0x08,\n\t\tfOutline: d & 0x10,\n\t\tfShadow: d & 0x20,\n\t\tfCondense: d & 0x40,\n\t\tfExtend: d & 0x80\n\t};\n\treturn out;\n}\nfunction write_FontFlags(font, o) {\n\tif (!o) o = new_buf(2);\n\tvar grbit =\n\t\t(font.italic ? 0x02 : 0) |\n\t\t(font.strike ? 0x08 : 0) |\n\t\t(font.outline ? 0x10 : 0) |\n\t\t(font.shadow ? 0x20 : 0) |\n\t\t(font.condense ? 0x40 : 0) |\n\t\t(font.extend ? 0x80 : 0);\n\to.write_shift(1, grbit);\n\to.write_shift(1, 0);\n\treturn o;\n}\n\n/* [MS-OLEDS] 2.3.1 and 2.3.2 */\nfunction parse_ClipboardFormatOrString(o, w) {\n\t// $FlowIgnore\n\tvar ClipFmt = { 2: \"BITMAP\", 3: \"METAFILEPICT\", 8: \"DIB\", 14: \"ENHMETAFILE\" };\n\tvar m = o.read_shift(4);\n\tswitch (m) {\n\t\tcase 0x00000000: return \"\";\n\t\tcase 0xffffffff: case 0xfffffffe: return ClipFmt[o.read_shift(4)] || \"\";\n\t}\n\tif (m > 0x190) throw new Error(\"Unsupported Clipboard: \" + m.toString(16));\n\to.l -= 4;\n\treturn o.read_shift(0, w == 1 ? \"lpstr\" : \"lpwstr\");\n}\nfunction parse_ClipboardFormatOrAnsiString(o) { return parse_ClipboardFormatOrString(o, 1); }\nfunction parse_ClipboardFormatOrUnicodeString(o) { return parse_ClipboardFormatOrString(o, 2); }\n\n/* [MS-OLEPS] 2.2 PropertyType */\n//var VT_EMPTY = 0x0000;\n//var VT_NULL = 0x0001;\nvar VT_I2 = 0x0002;\nvar VT_I4 = 0x0003;\n//var VT_R4 = 0x0004;\n//var VT_R8 = 0x0005;\n//var VT_CY = 0x0006;\n//var VT_DATE = 0x0007;\n//var VT_BSTR = 0x0008;\n//var VT_ERROR = 0x000A;\nvar VT_BOOL = 0x000B;\nvar VT_VARIANT = 0x000C;\n//var VT_DECIMAL = 0x000E;\n//var VT_I1 = 0x0010;\n//var VT_UI1 = 0x0011;\n//var VT_UI2 = 0x0012;\nvar VT_UI4 = 0x0013;\n//var VT_I8 = 0x0014;\n//var VT_UI8 = 0x0015;\n//var VT_INT = 0x0016;\n//var VT_UINT = 0x0017;\nvar VT_LPSTR = 0x001E;\n//var VT_LPWSTR = 0x001F;\nvar VT_FILETIME = 0x0040;\nvar VT_BLOB = 0x0041;\n//var VT_STREAM = 0x0042;\n//var VT_STORAGE = 0x0043;\n//var VT_STREAMED_Object = 0x0044;\n//var VT_STORED_Object = 0x0045;\n//var VT_BLOB_Object = 0x0046;\nvar VT_CF = 0x0047;\n//var VT_CLSID = 0x0048;\n//var VT_VERSIONED_STREAM = 0x0049;\nvar VT_VECTOR = 0x1000;\n//var VT_ARRAY = 0x2000;\n\nvar VT_STRING = 0x0050; // 2.3.3.1.11 VtString\nvar VT_USTR = 0x0051; // 2.3.3.1.12 VtUnalignedString\nvar VT_CUSTOM = [VT_STRING, VT_USTR];\n\n/* [MS-OSHARED] 2.3.3.2.2.1 Document Summary Information PIDDSI */\nvar DocSummaryPIDDSI = {\n0x01: { n: 'CodePage', t: VT_I2 },\n0x02: { n: 'Category', t: VT_STRING },\n0x03: { n: 'PresentationFormat', t: VT_STRING },\n0x04: { n: 'ByteCount', t: VT_I4 },\n0x05: { n: 'LineCount', t: VT_I4 },\n0x06: { n: 'ParagraphCount', t: VT_I4 },\n0x07: { n: 'SlideCount', t: VT_I4 },\n0x08: { n: 'NoteCount', t: VT_I4 },\n0x09: { n: 'HiddenCount', t: VT_I4 },\n0x0a: { n: 'MultimediaClipCount', t: VT_I4 },\n0x0b: { n: 'ScaleCrop', t: VT_BOOL },\n0x0c: { n: 'HeadingPairs', t: VT_VECTOR | VT_VARIANT },\n0x0d: { n: 'TitlesOfParts', t: VT_VECTOR | VT_LPSTR },\n0x0e: { n: 'Manager', t: VT_STRING },\n0x0f: { n: 'Company', t: VT_STRING },\n0x10: { n: 'LinksUpToDate', t: VT_BOOL },\n0x11: { n: 'CharacterCount', t: VT_I4 },\n0x13: { n: 'SharedDoc', t: VT_BOOL },\n0x16: { n: 'HyperlinksChanged', t: VT_BOOL },\n0x17: { n: 'AppVersion', t: VT_I4, p: 'version' },\n0x18: { n: 'DigSig', t: VT_BLOB },\n0x1A: { n: 'ContentType', t: VT_STRING },\n0x1B: { n: 'ContentStatus', t: VT_STRING },\n0x1C: { n: 'Language', t: VT_STRING },\n0x1D: { n: 'Version', t: VT_STRING },\n0xFF: {}\n};\n\n/* [MS-OSHARED] 2.3.3.2.1.1 Summary Information Property Set PIDSI */\nvar SummaryPIDSI = {\n0x01: { n: 'CodePage', t: VT_I2 },\n0x02: { n: 'Title', t: VT_STRING },\n0x03: { n: 'Subject', t: VT_STRING },\n0x04: { n: 'Author', t: VT_STRING },\n0x05: { n: 'Keywords', t: VT_STRING },\n0x06: { n: 'Comments', t: VT_STRING },\n0x07: { n: 'Template', t: VT_STRING },\n0x08: { n: 'LastAuthor', t: VT_STRING },\n0x09: { n: 'RevNumber', t: VT_STRING },\n0x0A: { n: 'EditTime', t: VT_FILETIME },\n0x0B: { n: 'LastPrinted', t: VT_FILETIME },\n0x0C: { n: 'CreatedDate', t: VT_FILETIME },\n0x0D: { n: 'ModifiedDate', t: VT_FILETIME },\n0x0E: { n: 'PageCount', t: VT_I4 },\n0x0F: { n: 'WordCount', t: VT_I4 },\n0x10: { n: 'CharCount', t: VT_I4 },\n0x11: { n: 'Thumbnail', t: VT_CF },\n0x12: { n: 'Application', t: VT_STRING },\n0x13: { n: 'DocSecurity', t: VT_I4 },\n0xFF: {}\n};\n\n/* [MS-OLEPS] 2.18 */\nvar SpecialProperties = {\n0x80000000: { n: 'Locale', t: VT_UI4 },\n0x80000003: { n: 'Behavior', t: VT_UI4 },\n0x72627262: {}\n};\n\n(function() {\n\tfor(var y in SpecialProperties) if(Object.prototype.hasOwnProperty.call(SpecialProperties, y))\n\tDocSummaryPIDDSI[y] = SummaryPIDSI[y] = SpecialProperties[y];\n})();\n\nvar DocSummaryRE = evert_key(DocSummaryPIDDSI, \"n\");\nvar SummaryRE = evert_key(SummaryPIDSI, \"n\");\n\n/* [MS-XLS] 2.4.63 Country/Region codes */\nvar CountryEnum = {\n0x0001: \"US\", // United States\n0x0002: \"CA\", // Canada\n0x0003: \"\", // Latin America (except Brazil)\n0x0007: \"RU\", // Russia\n0x0014: \"EG\", // Egypt\n0x001E: \"GR\", // Greece\n0x001F: \"NL\", // Netherlands\n0x0020: \"BE\", // Belgium\n0x0021: \"FR\", // France\n0x0022: \"ES\", // Spain\n0x0024: \"HU\", // Hungary\n0x0027: \"IT\", // Italy\n0x0029: \"CH\", // Switzerland\n0x002B: \"AT\", // Austria\n0x002C: \"GB\", // United Kingdom\n0x002D: \"DK\", // Denmark\n0x002E: \"SE\", // Sweden\n0x002F: \"NO\", // Norway\n0x0030: \"PL\", // Poland\n0x0031: \"DE\", // Germany\n0x0034: \"MX\", // Mexico\n0x0037: \"BR\", // Brazil\n0x003d: \"AU\", // Australia\n0x0040: \"NZ\", // New Zealand\n0x0042: \"TH\", // Thailand\n0x0051: \"JP\", // Japan\n0x0052: \"KR\", // Korea\n0x0054: \"VN\", // Viet Nam\n0x0056: \"CN\", // China\n0x005A: \"TR\", // Turkey\n0x0069: \"JS\", // Ramastan\n0x00D5: \"DZ\", // Algeria\n0x00D8: \"MA\", // Morocco\n0x00DA: \"LY\", // Libya\n0x015F: \"PT\", // Portugal\n0x0162: \"IS\", // Iceland\n0x0166: \"FI\", // Finland\n0x01A4: \"CZ\", // Czech Republic\n0x0376: \"TW\", // Taiwan\n0x03C1: \"LB\", // Lebanon\n0x03C2: \"JO\", // Jordan\n0x03C3: \"SY\", // Syria\n0x03C4: \"IQ\", // Iraq\n0x03C5: \"KW\", // Kuwait\n0x03C6: \"SA\", // Saudi Arabia\n0x03CB: \"AE\", // United Arab Emirates\n0x03CC: \"IL\", // Israel\n0x03CE: \"QA\", // Qatar\n0x03D5: \"IR\", // Iran\n0xFFFF: \"US\" // United States\n};\n\n/* [MS-XLS] 2.5.127 */\nvar XLSFillPattern = [\n\tnull,\n\t'solid',\n\t'mediumGray',\n\t'darkGray',\n\t'lightGray',\n\t'darkHorizontal',\n\t'darkVertical',\n\t'darkDown',\n\t'darkUp',\n\t'darkGrid',\n\t'darkTrellis',\n\t'lightHorizontal',\n\t'lightVertical',\n\t'lightDown',\n\t'lightUp',\n\t'lightGrid',\n\t'lightTrellis',\n\t'gray125',\n\t'gray0625'\n];\n\nfunction rgbify(arr) { return arr.map(function(x) { return [(x>>16)&255,(x>>8)&255,x&255]; }); }\n\n/* [MS-XLS] 2.5.161 */\n/* [MS-XLSB] 2.5.75 Icv */\nvar _XLSIcv = rgbify([\n\t/* Color Constants */\n\t0x000000,\n\t0xFFFFFF,\n\t0xFF0000,\n\t0x00FF00,\n\t0x0000FF,\n\t0xFFFF00,\n\t0xFF00FF,\n\t0x00FFFF,\n\n\t/* Overridable Defaults */\n\t0x000000,\n\t0xFFFFFF,\n\t0xFF0000,\n\t0x00FF00,\n\t0x0000FF,\n\t0xFFFF00,\n\t0xFF00FF,\n\t0x00FFFF,\n\n\t0x800000,\n\t0x008000,\n\t0x000080,\n\t0x808000,\n\t0x800080,\n\t0x008080,\n\t0xC0C0C0,\n\t0x808080,\n\t0x9999FF,\n\t0x993366,\n\t0xFFFFCC,\n\t0xCCFFFF,\n\t0x660066,\n\t0xFF8080,\n\t0x0066CC,\n\t0xCCCCFF,\n\n\t0x000080,\n\t0xFF00FF,\n\t0xFFFF00,\n\t0x00FFFF,\n\t0x800080,\n\t0x800000,\n\t0x008080,\n\t0x0000FF,\n\t0x00CCFF,\n\t0xCCFFFF,\n\t0xCCFFCC,\n\t0xFFFF99,\n\t0x99CCFF,\n\t0xFF99CC,\n\t0xCC99FF,\n\t0xFFCC99,\n\n\t0x3366FF,\n\t0x33CCCC,\n\t0x99CC00,\n\t0xFFCC00,\n\t0xFF9900,\n\t0xFF6600,\n\t0x666699,\n\t0x969696,\n\t0x003366,\n\t0x339966,\n\t0x003300,\n\t0x333300,\n\t0x993300,\n\t0x993366,\n\t0x333399,\n\t0x333333,\n\n\t/* Other entries to appease BIFF8/12 */\n\t0xFFFFFF, /* 0x40 icvForeground ?? */\n\t0x000000, /* 0x41 icvBackground ?? */\n\t0x000000, /* 0x42 icvFrame ?? */\n\t0x000000, /* 0x43 icv3D ?? */\n\t0x000000, /* 0x44 icv3DText ?? */\n\t0x000000, /* 0x45 icv3DHilite ?? */\n\t0x000000, /* 0x46 icv3DShadow ?? */\n\t0x000000, /* 0x47 icvHilite ?? */\n\t0x000000, /* 0x48 icvCtlText ?? */\n\t0x000000, /* 0x49 icvCtlScrl ?? */\n\t0x000000, /* 0x4A icvCtlInv ?? */\n\t0x000000, /* 0x4B icvCtlBody ?? */\n\t0x000000, /* 0x4C icvCtlFrame ?? */\n\t0x000000, /* 0x4D icvCtlFore ?? */\n\t0x000000, /* 0x4E icvCtlBack ?? */\n\t0x000000, /* 0x4F icvCtlNeutral */\n\t0x000000, /* 0x50 icvInfoBk ?? */\n\t0x000000 /* 0x51 icvInfoText ?? */\n]);\nvar XLSIcv = dup(_XLSIcv);\n\n/* [MS-XLSB] 2.5.97.2 */\nvar BErr = {\n0x00: \"#NULL!\",\n0x07: \"#DIV/0!\",\n0x0F: \"#VALUE!\",\n0x17: \"#REF!\",\n0x1D: \"#NAME?\",\n0x24: \"#NUM!\",\n0x2A: \"#N/A\",\n0x2B: \"#GETTING_DATA\",\n0xFF: \"#WTF?\"\n};\nvar RBErr = evert_num(BErr);\n/* Parts enumerated in OPC spec, MS-XLSB and MS-XLSX */\n/* 12.3 Part Summary */\n/* 14.2 Part Summary */\n/* [MS-XLSX] 2.1 Part Enumerations ; [MS-XLSB] 2.1.7 Part Enumeration */\nvar ct2type/*{[string]:string}*/ = ({\n\t/* Workbook */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\": \"workbooks\",\n\n\t/* Worksheet */\n\t\"application/vnd.ms-excel.binIndexWs\": \"TODO\", /* Binary Index */\n\n\t/* Macrosheet */\n\t\"application/vnd.ms-excel.intlmacrosheet\": \"TODO\",\n\t\"application/vnd.ms-excel.binIndexMs\": \"TODO\", /* Binary Index */\n\n\t/* File Properties */\n\t\"application/vnd.openxmlformats-package.core-properties+xml\": \"coreprops\",\n\t\"application/vnd.openxmlformats-officedocument.custom-properties+xml\": \"custprops\",\n\t\"application/vnd.openxmlformats-officedocument.extended-properties+xml\": \"extprops\",\n\n\t/* Custom Data Properties */\n\t\"application/vnd.openxmlformats-officedocument.customXmlProperties+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty\": \"TODO\",\n\n\t/* PivotTable */\n\t\"application/vnd.ms-excel.pivotTable\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml\": \"TODO\",\n\n\t/* Chart Objects */\n\t\"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\": \"TODO\",\n\n\t/* Chart Colors */\n\t\"application/vnd.ms-office.chartcolorstyle+xml\": \"TODO\",\n\n\t/* Chart Style */\n\t\"application/vnd.ms-office.chartstyle+xml\": \"TODO\",\n\n\t/* Chart Advanced */\n\t\"application/vnd.ms-office.chartex+xml\": \"TODO\",\n\n\t/* Calculation Chain */\n\t\"application/vnd.ms-excel.calcChain\": \"calcchains\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml\": \"calcchains\",\n\n\t/* Printer Settings */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings\": \"TODO\",\n\n\t/* ActiveX */\n\t\"application/vnd.ms-office.activeX\": \"TODO\",\n\t\"application/vnd.ms-office.activeX+xml\": \"TODO\",\n\n\t/* Custom Toolbars */\n\t\"application/vnd.ms-excel.attachedToolbars\": \"TODO\",\n\n\t/* External Data Connections */\n\t\"application/vnd.ms-excel.connections\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml\": \"TODO\",\n\n\t/* External Links */\n\t\"application/vnd.ms-excel.externalLink\": \"links\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml\": \"links\",\n\n\t/* Metadata */\n\t\"application/vnd.ms-excel.sheetMetadata\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml\": \"TODO\",\n\n\t/* PivotCache */\n\t\"application/vnd.ms-excel.pivotCacheDefinition\": \"TODO\",\n\t\"application/vnd.ms-excel.pivotCacheRecords\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml\": \"TODO\",\n\n\t/* Query Table */\n\t\"application/vnd.ms-excel.queryTable\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml\": \"TODO\",\n\n\t/* Shared Workbook */\n\t\"application/vnd.ms-excel.userNames\": \"TODO\",\n\t\"application/vnd.ms-excel.revisionHeaders\": \"TODO\",\n\t\"application/vnd.ms-excel.revisionLog\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml\": \"TODO\",\n\n\t/* Single Cell Table */\n\t\"application/vnd.ms-excel.tableSingleCells\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml\": \"TODO\",\n\n\t/* Slicer */\n\t\"application/vnd.ms-excel.slicer\": \"TODO\",\n\t\"application/vnd.ms-excel.slicerCache\": \"TODO\",\n\t\"application/vnd.ms-excel.slicer+xml\": \"TODO\",\n\t\"application/vnd.ms-excel.slicerCache+xml\": \"TODO\",\n\n\t/* Sort Map */\n\t\"application/vnd.ms-excel.wsSortMap\": \"TODO\",\n\n\t/* Table */\n\t\"application/vnd.ms-excel.table\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\": \"TODO\",\n\n\t/* Themes */\n\t\"application/vnd.openxmlformats-officedocument.theme+xml\": \"themes\",\n\n\t/* Theme Override */\n\t\"application/vnd.openxmlformats-officedocument.themeOverride+xml\": \"TODO\",\n\n\t/* Timeline */\n\t\"application/vnd.ms-excel.Timeline+xml\": \"TODO\", /* verify */\n\t\"application/vnd.ms-excel.TimelineCache+xml\": \"TODO\", /* verify */\n\n\t/* VBA */\n\t\"application/vnd.ms-office.vbaProject\": \"vba\",\n\t\"application/vnd.ms-office.vbaProjectSignature\": \"vba\",\n\n\t/* Volatile Dependencies */\n\t\"application/vnd.ms-office.volatileDependencies\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml\": \"TODO\",\n\n\t/* Control Properties */\n\t\"application/vnd.ms-excel.controlproperties+xml\": \"TODO\",\n\n\t/* Data Model */\n\t\"application/vnd.openxmlformats-officedocument.model+data\": \"TODO\",\n\n\t/* Survey */\n\t\"application/vnd.ms-excel.Survey+xml\": \"TODO\",\n\n\t/* Drawing */\n\t\"application/vnd.openxmlformats-officedocument.drawing+xml\": \"drawings\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml\": \"TODO\",\n\n\t/* VML */\n\t\"application/vnd.openxmlformats-officedocument.vmlDrawing\": \"TODO\",\n\n\t\"application/vnd.openxmlformats-package.relationships+xml\": \"rels\",\n\t\"application/vnd.openxmlformats-officedocument.oleObject\": \"TODO\",\n\n\t/* Image */\n\t\"image/png\": \"TODO\",\n\n\t\"sheet\": \"js\"\n});\n\nvar CT_LIST = (function(){\n\tvar o = {\n\t\tworkbooks: {\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\",\n\t\t\txlsm: \"application/vnd.ms-excel.sheet.macroEnabled.main+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.sheet.binary.macroEnabled.main\",\n\t\t\txlam: \"application/vnd.ms-excel.addin.macroEnabled.main+xml\",\n\t\t\txltx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\"\n\t\t},\n\t\tstrs: { /* Shared Strings */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.sharedStrings\"\n\t\t},\n\t\tcomments: { /* Comments */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.comments\"\n\t\t},\n\t\tsheets: { /* Worksheet */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.worksheet\"\n\t\t},\n\t\tcharts: { /* Chartsheet */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.chartsheet\"\n\t\t},\n\t\tdialogs: { /* Dialogsheet */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.dialogsheet\"\n\t\t},\n\t\tmacros: { /* Macrosheet (Excel 4.0 Macros) */\n\t\t\txlsx: \"application/vnd.ms-excel.macrosheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.macrosheet\"\n\t\t},\n\t\tstyles: { /* Styles */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.styles\"\n\t\t}\n\t};\n\tkeys(o).forEach(function(k) { [\"xlsm\", \"xlam\"].forEach(function(v) { if(!o[k][v]) o[k][v] = o[k].xlsx; }); });\n\tkeys(o).forEach(function(k){ keys(o[k]).forEach(function(v) { ct2type[o[k][v]] = k; }); });\n\treturn o;\n})();\n\nvar type2ct/*{[string]:Array}*/ = evert_arr(ct2type);\n\nXMLNS.CT = 'http://schemas.openxmlformats.org/package/2006/content-types';\n\nfunction new_ct() {\n\treturn ({\n\t\tworkbooks:[], sheets:[], charts:[], dialogs:[], macros:[],\n\t\trels:[], strs:[], comments:[], links:[],\n\t\tcoreprops:[], extprops:[], custprops:[], themes:[], styles:[],\n\t\tcalcchains:[], vba: [], drawings: [],\n\t\tTODO:[], xmlns: \"\" });\n}\n\nfunction parse_ct(data) {\n\tvar ct = new_ct();\n\tif(!data || !data.match) return ct;\n\tvar ctext = {};\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0].replace(nsregex,\"<\")) {\n\t\t\tcase ' 0 ? ct.calcchains[0] : \"\";\n\tct.sst = ct.strs.length > 0 ? ct.strs[0] : \"\";\n\tct.style = ct.styles.length > 0 ? ct.styles[0] : \"\";\n\tct.defaults = ctext;\n\tdelete ct.calcchains;\n\treturn ct;\n}\n\nvar CTYPE_XML_ROOT = writextag('Types', null, {\n\t'xmlns': XMLNS.CT,\n\t'xmlns:xsd': XMLNS.xsd,\n\t'xmlns:xsi': XMLNS.xsi\n});\n\nvar CTYPE_DEFAULTS = [\n\t['xml', 'application/xml'],\n\t['bin', 'application/vnd.ms-excel.sheet.binary.macroEnabled.main'],\n\t['vml', 'application/vnd.openxmlformats-officedocument.vmlDrawing'],\n\t['data', 'application/vnd.openxmlformats-officedocument.model+data'],\n\t/* from test files */\n\t['bmp', 'image/bmp'],\n\t['png', 'image/png'],\n\t['gif', 'image/gif'],\n\t['emf', 'image/x-emf'],\n\t['wmf', 'image/x-wmf'],\n\t['jpg', 'image/jpeg'], ['jpeg', 'image/jpeg'],\n\t['tif', 'image/tiff'], ['tiff', 'image/tiff'],\n\t['pdf', 'application/pdf'],\n\t['rels', type2ct.rels[0]]\n].map(function(x) {\n\treturn writextag('Default', null, {'Extension':x[0], 'ContentType': x[1]});\n});\n\nfunction write_ct(ct, opts) {\n\tvar o = [], v;\n\to[o.length] = (XML_HEADER);\n\to[o.length] = (CTYPE_XML_ROOT);\n\to = o.concat(CTYPE_DEFAULTS);\n\n\t/* only write first instance */\n\tvar f1 = function(w) {\n\t\tif(ct[w] && ct[w].length > 0) {\n\t\t\tv = ct[w][0];\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': CT_LIST[w][opts.bookType || 'xlsx']\n\t\t\t}));\n\t\t}\n\t};\n\n\t/* book type-specific */\n\tvar f2 = function(w) {\n\t\t(ct[w]||[]).forEach(function(v) {\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': CT_LIST[w][opts.bookType || 'xlsx']\n\t\t\t}));\n\t\t});\n\t};\n\n\t/* standard type */\n\tvar f3 = function(t) {\n\t\t(ct[t]||[]).forEach(function(v) {\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': type2ct[t][0]\n\t\t\t}));\n\t\t});\n\t};\n\n\tf1('workbooks');\n\tf2('sheets');\n\tf2('charts');\n\tf3('themes');\n\t['strs', 'styles'].forEach(f1);\n\t['coreprops', 'extprops', 'custprops'].forEach(f3);\n\tf3('vba');\n\tf3('comments');\n\tf3('drawings');\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 9.3 Relationships */\nvar RELS = ({\n\tWB: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",\n\tSHEET: \"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",\n\tHLINK: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\",\n\tVML: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing\",\n\tXPATH: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath\",\n\tXMISS: \"http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing\",\n\tXLINK: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink\",\n\tCXML: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml\",\n\tCXMLP: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps\",\n\tVBA: \"http://schemas.microsoft.com/office/2006/relationships/vbaProject\"\n});\n\n/* 9.3.3 Representing Relationships */\nfunction get_rels_path(file) {\n\tvar n = file.lastIndexOf(\"/\");\n\treturn file.slice(0,n+1) + '_rels/' + file.slice(n+1) + \".rels\";\n}\n\nfunction parse_rels(data, currentFilePath) {\n\tvar rels = {\"!id\":{}};\n\tif (!data) return rels;\n\tif (currentFilePath.charAt(0) !== '/') {\n\t\tcurrentFilePath = '/'+currentFilePath;\n\t}\n\tvar hash = {};\n\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\t/* 9.3.2.2 OPC_Relationships */\n\t\tif (y[0] === '2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\nvar RELS_EXTERN = [RELS.HLINK, RELS.XPATH, RELS.XMISS];\nfunction add_rels(rels, rId, f, type, relobj, targetmode) {\n\tif(!relobj) relobj = {};\n\tif(!rels['!id']) rels['!id'] = {};\n\tif(rId < 0) for(rId = 1; rels['!id']['rId' + rId]; ++rId){/* empty */}\n\trelobj.Id = 'rId' + rId;\n\trelobj.Type = type;\n\trelobj.Target = f;\n\tif(targetmode) relobj.TargetMode = targetmode;\n\telse if(RELS_EXTERN.indexOf(relobj.Type) > -1) relobj.TargetMode = \"External\";\n\tif(rels['!id'][relobj.Id]) throw new Error(\"Cannot rewrite rId \" + rId);\n\trels['!id'][relobj.Id] = relobj;\n\trels[('/' + relobj.Target).replace(\"//\",\"/\")] = relobj;\n\treturn rId;\n}\n/* Open Document Format for Office Applications (OpenDocument) Version 1.2 */\n/* Part 3 Section 4 Manifest File */\nvar CT_ODS = \"application/vnd.oasis.opendocument.spreadsheet\";\nfunction parse_manifest(d, opts) {\n\tvar str = xlml_normalize(d);\n\tvar Rn;\n\tvar FEtag;\n\twhile((Rn = xlmlregex.exec(str))) switch(Rn[3]) {\n\t\tcase 'manifest': break; // 4.2 \n\t\tcase 'file-entry': // 4.3 \n\t\t\tFEtag = parsexmltag(Rn[0], false);\n\t\t\tif(FEtag.path == '/' && FEtag.type !== CT_ODS) throw new Error(\"This OpenDocument is not a spreadsheet\");\n\t\t\tbreak;\n\t\tcase 'encryption-data': // 4.4 \n\t\tcase 'algorithm': // 4.5 \n\t\tcase 'start-key-generation': // 4.6 \n\t\tcase 'key-derivation': // 4.7 \n\t\t\tthrow new Error(\"Unsupported ODS Encryption\");\n\t\tdefault: if(opts && opts.WTF) throw Rn;\n\t}\n}\n\nfunction write_manifest(manifest) {\n\tvar o = [XML_HEADER];\n\to.push('\\n');\n\to.push(' \\n');\n\tfor(var i = 0; i < manifest.length; ++i) o.push(' \\n');\n\to.push('');\n\treturn o.join(\"\");\n}\n\n/* Part 3 Section 6 Metadata Manifest File */\nfunction write_rdf_type(file, res, tag) {\n\treturn [\n\t\t' \\n',\n\t\t' \\n',\n\t\t' \\n'\n\t].join(\"\");\n}\nfunction write_rdf_has(base, file) {\n\treturn [\n\t\t' \\n',\n\t\t' \\n',\n\t\t' \\n'\n\t].join(\"\");\n}\nfunction write_rdf(rdf) {\n\tvar o = [XML_HEADER];\n\to.push('\\n');\n\tfor(var i = 0; i != rdf.length; ++i) {\n\t\to.push(write_rdf_type(rdf[i][0], rdf[i][1]));\n\t\to.push(write_rdf_has(\"\",rdf[i][0]));\n\t}\n\to.push(write_rdf_type(\"\",\"Document\", \"pkg\"));\n\to.push('');\n\treturn o.join(\"\");\n}\n/* TODO: pull properties */\nvar write_meta_ods = (function() {\n\tvar payload = 'Sheet' + 'JS ' + XLSX.version + '';\n\treturn function wmo() {\n\t\treturn payload;\n\t};\n})();\n\n/* ECMA-376 Part II 11.1 Core Properties Part */\n/* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */\nvar CORE_PROPS = [\n\t[\"cp:category\", \"Category\"],\n\t[\"cp:contentStatus\", \"ContentStatus\"],\n\t[\"cp:keywords\", \"Keywords\"],\n\t[\"cp:lastModifiedBy\", \"LastAuthor\"],\n\t[\"cp:lastPrinted\", \"LastPrinted\"],\n\t[\"cp:revision\", \"RevNumber\"],\n\t[\"cp:version\", \"Version\"],\n\t[\"dc:creator\", \"Author\"],\n\t[\"dc:description\", \"Comments\"],\n\t[\"dc:identifier\", \"Identifier\"],\n\t[\"dc:language\", \"Language\"],\n\t[\"dc:subject\", \"Subject\"],\n\t[\"dc:title\", \"Title\"],\n\t[\"dcterms:created\", \"CreatedDate\", 'date'],\n\t[\"dcterms:modified\", \"ModifiedDate\", 'date']\n];\n\nXMLNS.CORE_PROPS = \"http://schemas.openxmlformats.org/package/2006/metadata/core-properties\";\nRELS.CORE_PROPS = 'http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties';\n\nvar CORE_PROPS_REGEX = (function() {\n\tvar r = new Array(CORE_PROPS.length);\n\tfor(var i = 0; i < CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i];\n\t\tvar g = \"(?:\"+ f[0].slice(0,f[0].indexOf(\":\")) +\":)\"+ f[0].slice(f[0].indexOf(\":\")+1);\n\t\tr[i] = new RegExp(\"<\" + g + \"[^>]*>([\\\\s\\\\S]*?)<\\/\" + g + \">\");\n\t}\n\treturn r;\n})();\n\nfunction parse_core_props(data) {\n\tvar p = {};\n\tdata = utf8read(data);\n\n\tfor(var i = 0; i < CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i], cur = data.match(CORE_PROPS_REGEX[i]);\n\t\tif(cur != null && cur.length > 0) p[f[1]] = unescapexml(cur[1]);\n\t\tif(f[2] === 'date' && p[f[1]]) p[f[1]] = parseDate(p[f[1]]);\n\t}\n\n\treturn p;\n}\n\nvar CORE_PROPS_XML_ROOT = writextag('cp:coreProperties', null, {\n\t//'xmlns': XMLNS.CORE_PROPS,\n\t'xmlns:cp': XMLNS.CORE_PROPS,\n\t'xmlns:dc': XMLNS.dc,\n\t'xmlns:dcterms': XMLNS.dcterms,\n\t'xmlns:dcmitype': XMLNS.dcmitype,\n\t'xmlns:xsi': XMLNS.xsi\n});\n\nfunction cp_doit(f, g, h, o, p) {\n\tif(p[f] != null || g == null || g === \"\") return;\n\tp[f] = g;\n\tg = escapexml(g);\n\to[o.length] = (h ? writextag(f,g,h) : writetag(f,g));\n}\n\nfunction write_core_props(cp, _opts) {\n\tvar opts = _opts || {};\n\tvar o = [XML_HEADER, CORE_PROPS_XML_ROOT], p = {};\n\tif(!cp && !opts.Props) return o.join(\"\");\n\n\tif(cp) {\n\t\tif(cp.CreatedDate != null) cp_doit(\"dcterms:created\", typeof cp.CreatedDate === \"string\" ? cp.CreatedDate : write_w3cdtf(cp.CreatedDate, opts.WTF), {\"xsi:type\":\"dcterms:W3CDTF\"}, o, p);\n\t\tif(cp.ModifiedDate != null) cp_doit(\"dcterms:modified\", typeof cp.ModifiedDate === \"string\" ? cp.ModifiedDate : write_w3cdtf(cp.ModifiedDate, opts.WTF), {\"xsi:type\":\"dcterms:W3CDTF\"}, o, p);\n\t}\n\n\tfor(var i = 0; i != CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i];\n\t\tvar v = opts.Props && opts.Props[f[1]] != null ? opts.Props[f[1]] : cp ? cp[f[1]] : null;\n\t\tif(v === true) v = \"1\";\n\t\telse if(v === false) v = \"0\";\n\t\telse if(typeof v == \"number\") v = String(v);\n\t\tif(v != null) cp_doit(f[0], v, null, o, p);\n\t}\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 15.2.12.3 Extended File Properties Part */\n/* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */\nvar EXT_PROPS = [\n\t[\"Application\", \"Application\", \"string\"],\n\t[\"AppVersion\", \"AppVersion\", \"string\"],\n\t[\"Company\", \"Company\", \"string\"],\n\t[\"DocSecurity\", \"DocSecurity\", \"string\"],\n\t[\"Manager\", \"Manager\", \"string\"],\n\t[\"HyperlinksChanged\", \"HyperlinksChanged\", \"bool\"],\n\t[\"SharedDoc\", \"SharedDoc\", \"bool\"],\n\t[\"LinksUpToDate\", \"LinksUpToDate\", \"bool\"],\n\t[\"ScaleCrop\", \"ScaleCrop\", \"bool\"],\n\t[\"HeadingPairs\", \"HeadingPairs\", \"raw\"],\n\t[\"TitlesOfParts\", \"TitlesOfParts\", \"raw\"]\n];\n\nXMLNS.EXT_PROPS = \"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties\";\nRELS.EXT_PROPS = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties';\n\nvar PseudoPropsPairs = [\n\t\"Worksheets\", \"SheetNames\",\n\t\"NamedRanges\", \"DefinedNames\",\n\t\"Chartsheets\", \"ChartNames\"\n];\nfunction load_props_pairs(HP, TOP, props, opts) {\n\tvar v = [];\n\tif(typeof HP == \"string\") v = parseVector(HP, opts);\n\telse for(var j = 0; j < HP.length; ++j) v = v.concat(HP[j].map(function(hp) { return {v:hp}; }));\n\tvar parts = (typeof TOP == \"string\") ? parseVector(TOP, opts).map(function (x) { return x.v; }) : TOP;\n\tvar idx = 0, len = 0;\n\tif(parts.length > 0) for(var i = 0; i !== v.length; i += 2) {\n\t\tlen = +(v[i+1].v);\n\t\tswitch(v[i].v) {\n\t\t\tcase \"Worksheets\":\n\t\t\tcase \"工作表\":\n\t\t\tcase \"Листы\":\n\t\t\tcase \"أوراق العمل\":\n\t\t\tcase \"ワークシート\":\n\t\t\tcase \"גליונות עבודה\":\n\t\t\tcase \"Arbeitsblätter\":\n\t\t\tcase \"Çalışma Sayfaları\":\n\t\t\tcase \"Feuilles de calcul\":\n\t\t\tcase \"Fogli di lavoro\":\n\t\t\tcase \"Folhas de cálculo\":\n\t\t\tcase \"Planilhas\":\n\t\t\tcase \"Regneark\":\n\t\t\tcase \"Hojas de cálculo\":\n\t\t\tcase \"Werkbladen\":\n\t\t\t\tprops.Worksheets = len;\n\t\t\t\tprops.SheetNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\n\t\t\tcase \"Named Ranges\":\n\t\t\tcase \"Rangos con nombre\":\n\t\t\tcase \"名前付き一覧\":\n\t\t\tcase \"Benannte Bereiche\":\n\t\t\tcase \"Navngivne områder\":\n\t\t\t\tprops.NamedRanges = len;\n\t\t\t\tprops.DefinedNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\n\t\t\tcase \"Charts\":\n\t\t\tcase \"Diagramme\":\n\t\t\t\tprops.Chartsheets = len;\n\t\t\t\tprops.ChartNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\t\t}\n\t\tidx += len;\n\t}\n}\n\nfunction parse_ext_props(data, p, opts) {\n\tvar q = {}; if(!p) p = {};\n\tdata = utf8read(data);\n\n\tEXT_PROPS.forEach(function(f) {\n\t\tvar xml = (data.match(matchtag(f[0]))||[])[1];\n\t\tswitch(f[2]) {\n\t\t\tcase \"string\": if(xml) p[f[1]] = unescapexml(xml); break;\n\t\t\tcase \"bool\": p[f[1]] = xml === \"true\"; break;\n\t\t\tcase \"raw\":\n\t\t\t\tvar cur = data.match(new RegExp(\"<\" + f[0] + \"[^>]*>([\\\\s\\\\S]*?)<\\/\" + f[0] + \">\"));\n\t\t\t\tif(cur && cur.length > 0) q[f[1]] = cur[1];\n\t\t\t\tbreak;\n\t\t}\n\t});\n\n\tif(q.HeadingPairs && q.TitlesOfParts) load_props_pairs(q.HeadingPairs, q.TitlesOfParts, p, opts);\n\n\treturn p;\n}\n\nvar EXT_PROPS_XML_ROOT = writextag('Properties', null, {\n\t'xmlns': XMLNS.EXT_PROPS,\n\t'xmlns:vt': XMLNS.vt\n});\n\nfunction write_ext_props(cp) {\n\tvar o = [], W = writextag;\n\tif(!cp) cp = {};\n\tcp.Application = \"SheetJS\";\n\to[o.length] = (XML_HEADER);\n\to[o.length] = (EXT_PROPS_XML_ROOT);\n\n\tEXT_PROPS.forEach(function(f) {\n\t\tif(cp[f[1]] === undefined) return;\n\t\tvar v;\n\t\tswitch(f[2]) {\n\t\t\tcase 'string': v = escapexml(String(cp[f[1]])); break;\n\t\t\tcase 'bool': v = cp[f[1]] ? 'true' : 'false'; break;\n\t\t}\n\t\tif(v !== undefined) o[o.length] = (W(f[0], v));\n\t});\n\n\t/* TODO: HeadingPairs, TitlesOfParts */\n\to[o.length] = (W('HeadingPairs', W('vt:vector', W('vt:variant', 'Worksheets')+W('vt:variant', W('vt:i4', String(cp.Worksheets))), {size:2, baseType:\"variant\"})));\n\to[o.length] = (W('TitlesOfParts', W('vt:vector', cp.SheetNames.map(function(s) { return \"\" + escapexml(s) + \"\"; }).join(\"\"), {size: cp.Worksheets, baseType:\"lpstr\"})));\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 15.2.12.2 Custom File Properties Part */\nXMLNS.CUST_PROPS = \"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties\";\nRELS.CUST_PROPS = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties';\n\nvar custregex = /<[^>]+>[^<]*/g;\nfunction parse_cust_props(data, opts) {\n\tvar p = {}, name = \"\";\n\tvar m = data.match(custregex);\n\tif(m) for(var i = 0; i != m.length; ++i) {\n\t\tvar x = m[i], y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\tcase '': name = null; break;\n\t\t\tdefault: if (x.indexOf('');\n\t\t\t\tvar type = toks[0].slice(4), text = toks[1];\n\t\t\t\t/* 22.4.2.32 (CT_Variant). Omit the binary types from 22.4 (Variant Types) */\n\t\t\t\tswitch(type) {\n\t\t\t\t\tcase 'lpstr': case 'bstr': case 'lpwstr':\n\t\t\t\t\t\tp[name] = unescapexml(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'bool':\n\t\t\t\t\t\tp[name] = parsexmlbool(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'i1': case 'i2': case 'i4': case 'i8': case 'int': case 'uint':\n\t\t\t\t\t\tp[name] = parseInt(text, 10);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'r4': case 'r8': case 'decimal':\n\t\t\t\t\t\tp[name] = parseFloat(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'filetime': case 'date':\n\t\t\t\t\t\tp[name] = parseDate(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'cy': case 'error':\n\t\t\t\t\t\tp[name] = unescapexml(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tif(type.slice(-1) == '/') break;\n\t\t\t\t\t\tif(opts.WTF && typeof console !== 'undefined') console.warn('Unexpected', x, type, toks);\n\t\t\t\t}\n\t\t\t} else if(x.slice(0,2) === \"2){ o[o.length] = ''; o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* Common Name -> XLML Name */\nvar XLMLDocPropsMap = {\n\tTitle: 'Title',\n\tSubject: 'Subject',\n\tAuthor: 'Author',\n\tKeywords: 'Keywords',\n\tComments: 'Description',\n\tLastAuthor: 'LastAuthor',\n\tRevNumber: 'Revision',\n\tApplication: 'AppName',\n\t/* TotalTime: 'TotalTime', */\n\tLastPrinted: 'LastPrinted',\n\tCreatedDate: 'Created',\n\tModifiedDate: 'LastSaved',\n\t/* Pages */\n\t/* Words */\n\t/* Characters */\n\tCategory: 'Category',\n\t/* PresentationFormat */\n\tManager: 'Manager',\n\tCompany: 'Company',\n\t/* Guid */\n\t/* HyperlinkBase */\n\t/* Bytes */\n\t/* Lines */\n\t/* Paragraphs */\n\t/* CharactersWithSpaces */\n\tAppVersion: 'Version',\n\n\tContentStatus: 'ContentStatus', /* NOTE: missing from schema */\n\tIdentifier: 'Identifier', /* NOTE: missing from schema */\n\tLanguage: 'Language' /* NOTE: missing from schema */\n};\nvar evert_XLMLDPM = evert(XLMLDocPropsMap);\n\nfunction xlml_set_prop(Props, tag, val) {\n\ttag = evert_XLMLDPM[tag] || tag;\n\tProps[tag] = val;\n}\n\nfunction xlml_write_docprops(Props, opts) {\n\tvar o = [];\n\tkeys(XLMLDocPropsMap).map(function(m) {\n\t\tfor(var i = 0; i < CORE_PROPS.length; ++i) if(CORE_PROPS[i][1] == m) return CORE_PROPS[i];\n\t\tfor(i = 0; i < EXT_PROPS.length; ++i) if(EXT_PROPS[i][1] == m) return EXT_PROPS[i];\n\t\tthrow m;\n\t}).forEach(function(p) {\n\t\tif(Props[p[1]] == null) return;\n\t\tvar m = opts && opts.Props && opts.Props[p[1]] != null ? opts.Props[p[1]] : Props[p[1]];\n\t\tswitch(p[2]) {\n\t\t\tcase 'date': m = new Date(m).toISOString().replace(/\\.\\d*Z/,\"Z\"); break;\n\t\t}\n\t\tif(typeof m == 'number') m = String(m);\n\t\telse if(m === true || m === false) { m = m ? \"1\" : \"0\"; }\n\t\telse if(m instanceof Date) m = new Date(m).toISOString().replace(/\\.\\d*Z/,\"\");\n\t\to.push(writetag(XLMLDocPropsMap[p[1]] || p[1], m));\n\t});\n\treturn writextag('DocumentProperties', o.join(\"\"), {xmlns:XLMLNS.o });\n}\nfunction xlml_write_custprops(Props, Custprops) {\n\tvar BLACKLIST = [\"Worksheets\",\"SheetNames\"];\n\tvar T = 'CustomDocumentProperties';\n\tvar o = [];\n\tif(Props) keys(Props).forEach(function(k) {\nif(!Object.prototype.hasOwnProperty.call(Props, k)) return;\n\t\tfor(var i = 0; i < CORE_PROPS.length; ++i) if(k == CORE_PROPS[i][1]) return;\n\t\tfor(i = 0; i < EXT_PROPS.length; ++i) if(k == EXT_PROPS[i][1]) return;\n\t\tfor(i = 0; i < BLACKLIST.length; ++i) if(k == BLACKLIST[i]) return;\n\n\t\tvar m = Props[k];\n\t\tvar t = \"string\";\n\t\tif(typeof m == 'number') { t = \"float\"; m = String(m); }\n\t\telse if(m === true || m === false) { t = \"boolean\"; m = m ? \"1\" : \"0\"; }\n\t\telse m = String(m);\n\t\to.push(writextag(escapexmltag(k), m, {\"dt:dt\":t}));\n\t});\n\tif(Custprops) keys(Custprops).forEach(function(k) {\nif(!Object.prototype.hasOwnProperty.call(Custprops, k)) return;\n\t\tif(Props && Object.prototype.hasOwnProperty.call(Props, k)) return;\n\t\tvar m = Custprops[k];\n\t\tvar t = \"string\";\n\t\tif(typeof m == 'number') { t = \"float\"; m = String(m); }\n\t\telse if(m === true || m === false) { t = \"boolean\"; m = m ? \"1\" : \"0\"; }\n\t\telse if(m instanceof Date) { t = \"dateTime.tz\"; m = m.toISOString(); }\n\t\telse m = String(m);\n\t\to.push(writextag(escapexmltag(k), m, {\"dt:dt\":t}));\n\t});\n\treturn '<' + T + ' xmlns=\"' + XLMLNS.o + '\">' + o.join(\"\") + '';\n}\n/* [MS-DTYP] 2.3.3 FILETIME */\n/* [MS-OLEDS] 2.1.3 FILETIME (Packet Version) */\n/* [MS-OLEPS] 2.8 FILETIME (Packet Version) */\nfunction parse_FILETIME(blob) {\n\tvar dwLowDateTime = blob.read_shift(4), dwHighDateTime = blob.read_shift(4);\n\treturn new Date(((dwHighDateTime/1e7*Math.pow(2,32) + dwLowDateTime/1e7) - 11644473600)*1000).toISOString().replace(/\\.000/,\"\");\n}\nfunction write_FILETIME(time) {\n\tvar date = (typeof time == \"string\") ? new Date(Date.parse(time)) : time;\n\tvar t = date.getTime() / 1000 + 11644473600;\n\tvar l = t % Math.pow(2,32), h = (t - l) / Math.pow(2,32);\n\tl *= 1e7; h *= 1e7;\n\tvar w = (l / Math.pow(2,32)) | 0;\n\tif(w > 0) { l = l % Math.pow(2,32); h += w; }\n\tvar o = new_buf(8); o.write_shift(4, l); o.write_shift(4, h); return o;\n}\n\n/* [MS-OSHARED] 2.3.3.1.4 Lpstr */\nfunction parse_lpstr(blob, type, pad) {\n\tvar start = blob.l;\n\tvar str = blob.read_shift(0, 'lpstr-cp');\n\tif(pad) while((blob.l - start) & 3) ++blob.l;\n\treturn str;\n}\n\n/* [MS-OSHARED] 2.3.3.1.6 Lpwstr */\nfunction parse_lpwstr(blob, type, pad) {\n\tvar str = blob.read_shift(0, 'lpwstr');\n\tif(pad) blob.l += (4 - ((str.length+1) & 3)) & 3;\n\treturn str;\n}\n\n\n/* [MS-OSHARED] 2.3.3.1.11 VtString */\n/* [MS-OSHARED] 2.3.3.1.12 VtUnalignedString */\nfunction parse_VtStringBase(blob, stringType, pad) {\n\tif(stringType === 0x1F /*VT_LPWSTR*/) return parse_lpwstr(blob);\n\treturn parse_lpstr(blob, stringType, pad);\n}\n\nfunction parse_VtString(blob, t, pad) { return parse_VtStringBase(blob, t, pad === false ? 0: 4); }\nfunction parse_VtUnalignedString(blob, t) { if(!t) throw new Error(\"VtUnalignedString must have positive length\"); return parse_VtStringBase(blob, t, 0); }\n\n/* [MS-OSHARED] 2.3.3.1.9 VtVecUnalignedLpstrValue */\nfunction parse_VtVecUnalignedLpstrValue(blob) {\n\tvar length = blob.read_shift(4);\n\tvar ret = [];\n\tfor(var i = 0; i != length; ++i) ret[i] = blob.read_shift(0, 'lpstr-cp').replace(chr0,'');\n\treturn ret;\n}\n\n/* [MS-OSHARED] 2.3.3.1.10 VtVecUnalignedLpstr */\nfunction parse_VtVecUnalignedLpstr(blob) {\n\treturn parse_VtVecUnalignedLpstrValue(blob);\n}\n\n/* [MS-OSHARED] 2.3.3.1.13 VtHeadingPair */\nfunction parse_VtHeadingPair(blob) {\n\tvar headingString = parse_TypedPropertyValue(blob, VT_USTR);\n\tvar headerParts = parse_TypedPropertyValue(blob, VT_I4);\n\treturn [headingString, headerParts];\n}\n\n/* [MS-OSHARED] 2.3.3.1.14 VtVecHeadingPairValue */\nfunction parse_VtVecHeadingPairValue(blob) {\n\tvar cElements = blob.read_shift(4);\n\tvar out = [];\n\tfor(var i = 0; i != cElements / 2; ++i) out.push(parse_VtHeadingPair(blob));\n\treturn out;\n}\n\n/* [MS-OSHARED] 2.3.3.1.15 VtVecHeadingPair */\nfunction parse_VtVecHeadingPair(blob) {\n\t// NOTE: When invoked, wType & padding were already consumed\n\treturn parse_VtVecHeadingPairValue(blob);\n}\n\n/* [MS-OLEPS] 2.18.1 Dictionary (uses 2.17, 2.16) */\nfunction parse_dictionary(blob,CodePage) {\n\tvar cnt = blob.read_shift(4);\n\tvar dict = ({});\n\tfor(var j = 0; j != cnt; ++j) {\n\t\tvar pid = blob.read_shift(4);\n\t\tvar len = blob.read_shift(4);\n\t\tdict[pid] = blob.read_shift(len, (CodePage === 0x4B0 ?'utf16le':'utf8')).replace(chr0,'').replace(chr1,'!');\n\t\tif(CodePage === 0x4B0 && (len % 2)) blob.l += 2;\n\t}\n\tif(blob.l & 3) blob.l = (blob.l>>2+1)<<2;\n\treturn dict;\n}\n\n/* [MS-OLEPS] 2.9 BLOB */\nfunction parse_BLOB(blob) {\n\tvar size = blob.read_shift(4);\n\tvar bytes = blob.slice(blob.l,blob.l+size);\n\tblob.l += size;\n\tif((size & 3) > 0) blob.l += (4 - (size & 3)) & 3;\n\treturn bytes;\n}\n\n/* [MS-OLEPS] 2.11 ClipboardData */\nfunction parse_ClipboardData(blob) {\n\t// TODO\n\tvar o = {};\n\to.Size = blob.read_shift(4);\n\t//o.Format = blob.read_shift(4);\n\tblob.l += o.Size + 3 - (o.Size - 1) % 4;\n\treturn o;\n}\n\n/* [MS-OLEPS] 2.15 TypedPropertyValue */\nfunction parse_TypedPropertyValue(blob, type, _opts) {\n\tvar t = blob.read_shift(2), ret, opts = _opts||{};\n\tblob.l += 2;\n\tif(type !== VT_VARIANT)\n\tif(t !== type && VT_CUSTOM.indexOf(type)===-1) throw new Error('Expected type ' + type + ' saw ' + t);\n\tswitch(type === VT_VARIANT ? t : type) {\n\t\tcase 0x02 /*VT_I2*/: ret = blob.read_shift(2, 'i'); if(!opts.raw) blob.l += 2; return ret;\n\t\tcase 0x03 /*VT_I4*/: ret = blob.read_shift(4, 'i'); return ret;\n\t\tcase 0x0B /*VT_BOOL*/: return blob.read_shift(4) !== 0x0;\n\t\tcase 0x13 /*VT_UI4*/: ret = blob.read_shift(4); return ret;\n\t\tcase 0x1E /*VT_LPSTR*/: return parse_lpstr(blob, t, 4).replace(chr0,'');\n\t\tcase 0x1F /*VT_LPWSTR*/: return parse_lpwstr(blob);\n\t\tcase 0x40 /*VT_FILETIME*/: return parse_FILETIME(blob);\n\t\tcase 0x41 /*VT_BLOB*/: return parse_BLOB(blob);\n\t\tcase 0x47 /*VT_CF*/: return parse_ClipboardData(blob);\n\t\tcase 0x50 /*VT_STRING*/: return parse_VtString(blob, t, !opts.raw).replace(chr0,'');\n\t\tcase 0x51 /*VT_USTR*/: return parse_VtUnalignedString(blob, t/*, 4*/).replace(chr0,'');\n\t\tcase 0x100C /*VT_VECTOR|VT_VARIANT*/: return parse_VtVecHeadingPair(blob);\n\t\tcase 0x101E /*VT_LPSTR*/: return parse_VtVecUnalignedLpstr(blob);\n\t\tdefault: throw new Error(\"TypedPropertyValue unrecognized type \" + type + \" \" + t);\n\t}\n}\nfunction write_TypedPropertyValue(type, value) {\n\tvar o = new_buf(4), p = new_buf(4);\n\to.write_shift(4, type == 0x50 ? 0x1F : type);\n\tswitch(type) {\n\t\tcase 0x03 /*VT_I4*/: p.write_shift(-4, value); break;\n\t\tcase 0x05 /*VT_I4*/: p = new_buf(8); p.write_shift(8, value, 'f'); break;\n\t\tcase 0x0B /*VT_BOOL*/: p.write_shift(4, value ? 0x01 : 0x00); break;\n\t\tcase 0x40 /*VT_FILETIME*/: p = write_FILETIME(value); break;\n\t\tcase 0x1F /*VT_LPWSTR*/:\n\t\tcase 0x50 /*VT_STRING*/:\np = new_buf(4 + 2 * (value.length + 1) + (value.length % 2 ? 0 : 2));\n\t\t\tp.write_shift(4, value.length + 1);\n\t\t\tp.write_shift(0, value, \"dbcs\");\n\t\t\twhile(p.l != p.length) p.write_shift(1, 0);\n\t\t\tbreak;\n\t\tdefault: throw new Error(\"TypedPropertyValue unrecognized type \" + type + \" \" + value);\n\t}\n\treturn bconcat([o, p]);\n}\n\n/* [MS-OLEPS] 2.20 PropertySet */\nfunction parse_PropertySet(blob, PIDSI) {\n\tvar start_addr = blob.l;\n\tvar size = blob.read_shift(4);\n\tvar NumProps = blob.read_shift(4);\n\tvar Props = [], i = 0;\n\tvar CodePage = 0;\n\tvar Dictionary = -1, DictObj = ({});\n\tfor(i = 0; i != NumProps; ++i) {\n\t\tvar PropID = blob.read_shift(4);\n\t\tvar Offset = blob.read_shift(4);\n\t\tProps[i] = [PropID, Offset + start_addr];\n\t}\n\tProps.sort(function(x,y) { return x[1] - y[1]; });\n\tvar PropH = {};\n\tfor(i = 0; i != NumProps; ++i) {\n\t\tif(blob.l !== Props[i][1]) {\n\t\t\tvar fail = true;\n\t\t\tif(i>0 && PIDSI) switch(PIDSI[Props[i-1][0]].t) {\n\t\t\t\tcase 0x02 /*VT_I2*/: if(blob.l+2 === Props[i][1]) { blob.l+=2; fail = false; } break;\n\t\t\t\tcase 0x50 /*VT_STRING*/: if(blob.l <= Props[i][1]) { blob.l=Props[i][1]; fail = false; } break;\n\t\t\t\tcase 0x100C /*VT_VECTOR|VT_VARIANT*/: if(blob.l <= Props[i][1]) { blob.l=Props[i][1]; fail = false; } break;\n\t\t\t}\n\t\t\tif((!PIDSI||i==0) && blob.l <= Props[i][1]) { fail=false; blob.l = Props[i][1]; }\n\t\t\tif(fail) throw new Error(\"Read Error: Expected address \" + Props[i][1] + ' at ' + blob.l + ' :' + i);\n\t\t}\n\t\tif(PIDSI) {\n\t\t\tvar piddsi = PIDSI[Props[i][0]];\n\t\t\tPropH[piddsi.n] = parse_TypedPropertyValue(blob, piddsi.t, {raw:true});\n\t\t\tif(piddsi.p === 'version') PropH[piddsi.n] = String(PropH[piddsi.n] >> 16) + \".\" + (\"0000\" + String(PropH[piddsi.n] & 0xFFFF)).slice(-4);\n\t\t\tif(piddsi.n == \"CodePage\") switch(PropH[piddsi.n]) {\n\t\t\t\tcase 0: PropH[piddsi.n] = 1252;\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 874:\n\t\t\t\tcase 932:\n\t\t\t\tcase 936:\n\t\t\t\tcase 949:\n\t\t\t\tcase 950:\n\t\t\t\tcase 1250:\n\t\t\t\tcase 1251:\n\t\t\t\tcase 1253:\n\t\t\t\tcase 1254:\n\t\t\t\tcase 1255:\n\t\t\t\tcase 1256:\n\t\t\t\tcase 1257:\n\t\t\t\tcase 1258:\n\t\t\t\tcase 10000:\n\t\t\t\tcase 1200:\n\t\t\t\tcase 1201:\n\t\t\t\tcase 1252:\n\t\t\t\tcase 65000: case -536:\n\t\t\t\tcase 65001: case -535:\n\t\t\t\t\tset_cp(CodePage = (PropH[piddsi.n]>>>0) & 0xFFFF); break;\n\t\t\t\tdefault: throw new Error(\"Unsupported CodePage: \" + PropH[piddsi.n]);\n\t\t\t}\n\t\t} else {\n\t\t\tif(Props[i][0] === 0x1) {\n\t\t\t\tCodePage = PropH.CodePage = (parse_TypedPropertyValue(blob, VT_I2));\n\t\t\t\tset_cp(CodePage);\n\t\t\t\tif(Dictionary !== -1) {\n\t\t\t\t\tvar oldpos = blob.l;\n\t\t\t\t\tblob.l = Props[Dictionary][1];\n\t\t\t\t\tDictObj = parse_dictionary(blob,CodePage);\n\t\t\t\t\tblob.l = oldpos;\n\t\t\t\t}\n\t\t\t} else if(Props[i][0] === 0) {\n\t\t\t\tif(CodePage === 0) { Dictionary = i; blob.l = Props[i+1][1]; continue; }\n\t\t\t\tDictObj = parse_dictionary(blob,CodePage);\n\t\t\t} else {\n\t\t\t\tvar name = DictObj[Props[i][0]];\n\t\t\t\tvar val;\n\t\t\t\t/* [MS-OSHARED] 2.3.3.2.3.1.2 + PROPVARIANT */\n\t\t\t\tswitch(blob[blob.l]) {\n\t\t\t\t\tcase 0x41 /*VT_BLOB*/: blob.l += 4; val = parse_BLOB(blob); break;\n\t\t\t\t\tcase 0x1E /*VT_LPSTR*/: blob.l += 4; val = parse_VtString(blob, blob[blob.l-4]).replace(/\\u0000+$/,\"\"); break;\n\t\t\t\t\tcase 0x1F /*VT_LPWSTR*/: blob.l += 4; val = parse_VtString(blob, blob[blob.l-4]).replace(/\\u0000+$/,\"\"); break;\n\t\t\t\t\tcase 0x03 /*VT_I4*/: blob.l += 4; val = blob.read_shift(4, 'i'); break;\n\t\t\t\t\tcase 0x13 /*VT_UI4*/: blob.l += 4; val = blob.read_shift(4); break;\n\t\t\t\t\tcase 0x05 /*VT_R8*/: blob.l += 4; val = blob.read_shift(8, 'f'); break;\n\t\t\t\t\tcase 0x0B /*VT_BOOL*/: blob.l += 4; val = parsebool(blob, 4); break;\n\t\t\t\t\tcase 0x40 /*VT_FILETIME*/: blob.l += 4; val = parseDate(parse_FILETIME(blob)); break;\n\t\t\t\t\tdefault: throw new Error(\"unparsed value: \" + blob[blob.l]);\n\t\t\t\t}\n\t\t\t\tPropH[name] = val;\n\t\t\t}\n\t\t}\n\t}\n\tblob.l = start_addr + size; /* step ahead to skip padding */\n\treturn PropH;\n}\nvar XLSPSSkip = [ \"CodePage\", \"Thumbnail\", \"_PID_LINKBASE\", \"_PID_HLINKS\", \"SystemIdentifier\", \"FMTID\" ].concat(PseudoPropsPairs);\nfunction guess_property_type(val) {\n\tswitch(typeof val) {\n\t\tcase \"boolean\": return 0x0B;\n\t\tcase \"number\": return ((val|0)==val) ? 0x03 : 0x05;\n\t\tcase \"string\": return 0x1F;\n\t\tcase \"object\": if(val instanceof Date) return 0x40; break;\n\t}\n\treturn -1;\n}\nfunction write_PropertySet(entries, RE, PIDSI) {\n\tvar hdr = new_buf(8), piao = [], prop = [];\n\tvar sz = 8, i = 0;\n\n\tvar pr = new_buf(8), pio = new_buf(8);\n\tpr.write_shift(4, 0x0002);\n\tpr.write_shift(4, 0x04B0);\n\tpio.write_shift(4, 0x0001);\n\tprop.push(pr); piao.push(pio);\n\tsz += 8 + pr.length;\n\n\tif(!RE) {\n\t\tpio = new_buf(8);\n\t\tpio.write_shift(4, 0);\n\t\tpiao.unshift(pio);\n\n\t\tvar bufs = [new_buf(4)];\n\t\tbufs[0].write_shift(4, entries.length);\n\t\tfor(i = 0; i < entries.length; ++i) {\n\t\t\tvar value = entries[i][0];\n\t\t\tpr = new_buf(4 + 4 + 2 * (value.length + 1) + (value.length % 2 ? 0 : 2));\n\t\t\tpr.write_shift(4, i+2);\n\t\t\tpr.write_shift(4, value.length + 1);\n\t\t\tpr.write_shift(0, value, \"dbcs\");\n\t\t\twhile(pr.l != pr.length) pr.write_shift(1, 0);\n\t\t\tbufs.push(pr);\n\t\t}\n\t\tpr = bconcat(bufs);\n\t\tprop.unshift(pr);\n\t\tsz += 8 + pr.length;\n\t}\n\n\tfor(i = 0; i < entries.length; ++i) {\n\t\tif(RE && !RE[entries[i][0]]) continue;\n\t\tif(XLSPSSkip.indexOf(entries[i][0]) > -1) continue;\n\t\tif(entries[i][1] == null) continue;\n\n\t\tvar val = entries[i][1], idx = 0;\n\t\tif(RE) {\n\t\t\tidx = +RE[entries[i][0]];\n\t\t\tvar pinfo = (PIDSI)[idx];\n\t\t\tif(pinfo.p == \"version\" && typeof val == \"string\") {\nvar arr = val.split(\".\");\n\t\t\t\tval = ((+arr[0])<<16) + ((+arr[1])||0);\n\t\t\t}\n\t\t\tpr = write_TypedPropertyValue(pinfo.t, val);\n\t\t} else {\n\t\t\tvar T = guess_property_type(val);\n\t\t\tif(T == -1) { T = 0x1F; val = String(val); }\n\t\t\tpr = write_TypedPropertyValue(T, val);\n\t\t}\n\t\tprop.push(pr);\n\n\t\tpio = new_buf(8);\n\t\tpio.write_shift(4, !RE ? 2+i : idx);\n\t\tpiao.push(pio);\n\n\t\tsz += 8 + pr.length;\n\t}\n\n\tvar w = 8 * (prop.length + 1);\n\tfor(i = 0; i < prop.length; ++i) { piao[i].write_shift(4, w); w += prop[i].length; }\n\thdr.write_shift(4, sz);\n\thdr.write_shift(4, prop.length);\n\treturn bconcat([hdr].concat(piao).concat(prop));\n}\n\n/* [MS-OLEPS] 2.21 PropertySetStream */\nfunction parse_PropertySetStream(file, PIDSI, clsid) {\n\tvar blob = file.content;\n\tif(!blob) return ({});\n\tprep_blob(blob, 0);\n\n\tvar NumSets, FMTID0, FMTID1, Offset0, Offset1 = 0;\n\tblob.chk('feff', 'Byte Order: ');\n\n\t/*var vers = */blob.read_shift(2); // TODO: check version\n\tvar SystemIdentifier = blob.read_shift(4);\n\tvar CLSID = blob.read_shift(16);\n\tif(CLSID !== CFB.utils.consts.HEADER_CLSID && CLSID !== clsid) throw new Error(\"Bad PropertySet CLSID \" + CLSID);\n\tNumSets = blob.read_shift(4);\n\tif(NumSets !== 1 && NumSets !== 2) throw new Error(\"Unrecognized #Sets: \" + NumSets);\n\tFMTID0 = blob.read_shift(16); Offset0 = blob.read_shift(4);\n\n\tif(NumSets === 1 && Offset0 !== blob.l) throw new Error(\"Length mismatch: \" + Offset0 + \" !== \" + blob.l);\n\telse if(NumSets === 2) { FMTID1 = blob.read_shift(16); Offset1 = blob.read_shift(4); }\n\tvar PSet0 = parse_PropertySet(blob, PIDSI);\n\n\tvar rval = ({ SystemIdentifier: SystemIdentifier });\n\tfor(var y in PSet0) rval[y] = PSet0[y];\n\t//rval.blob = blob;\n\trval.FMTID = FMTID0;\n\t//rval.PSet0 = PSet0;\n\tif(NumSets === 1) return rval;\n\tif(Offset1 - blob.l == 2) blob.l += 2;\n\tif(blob.l !== Offset1) throw new Error(\"Length mismatch 2: \" + blob.l + \" !== \" + Offset1);\n\tvar PSet1;\n\ttry { PSet1 = parse_PropertySet(blob, null); } catch(e) {/* empty */}\n\tfor(y in PSet1) rval[y] = PSet1[y];\n\trval.FMTID = [FMTID0, FMTID1]; // TODO: verify FMTID0/1\n\treturn rval;\n}\nfunction write_PropertySetStream(entries, clsid, RE, PIDSI, entries2, clsid2) {\n\tvar hdr = new_buf(entries2 ? 68 : 48);\n\tvar bufs = [hdr];\n\thdr.write_shift(2, 0xFFFE);\n\thdr.write_shift(2, 0x0000); /* TODO: type 1 props */\n\thdr.write_shift(4, 0x32363237);\n\thdr.write_shift(16, CFB.utils.consts.HEADER_CLSID, \"hex\");\n\thdr.write_shift(4, (entries2 ? 2 : 1));\n\thdr.write_shift(16, clsid, \"hex\");\n\thdr.write_shift(4, (entries2 ? 68 : 48));\n\tvar ps0 = write_PropertySet(entries, RE, PIDSI);\n\tbufs.push(ps0);\n\n\tif(entries2) {\n\t\tvar ps1 = write_PropertySet(entries2, null, null);\n\t\thdr.write_shift(16, clsid2, \"hex\");\n\t\thdr.write_shift(4, 68 + ps0.length);\n\t\tbufs.push(ps1);\n\t}\n\treturn bconcat(bufs);\n}\n\nfunction parsenoop2(blob, length) { blob.read_shift(length); return null; }\nfunction writezeroes(n, o) { if(!o) o=new_buf(n); for(var j=0; j= 12 ? 2 : 1);\n\tvar encoding = 'sbcs-cont';\n\tvar cp = current_codepage;\n\tif(opts && opts.biff >= 8) current_codepage = 1200;\n\tif(!opts || opts.biff == 8 ) {\n\t\tvar fHighByte = blob.read_shift(1);\n\t\tif(fHighByte) { encoding = 'dbcs-cont'; }\n\t} else if(opts.biff == 12) {\n\t\tencoding = 'wstr';\n\t}\n\tif(opts.biff >= 2 && opts.biff <= 5) encoding = 'cpstr';\n\tvar o = cch ? blob.read_shift(cch, encoding) : \"\";\n\tcurrent_codepage = cp;\n\treturn o;\n}\n\n/* 2.5.293 XLUnicodeRichExtendedString */\nfunction parse_XLUnicodeRichExtendedString(blob) {\n\tvar cp = current_codepage;\n\tcurrent_codepage = 1200;\n\tvar cch = blob.read_shift(2), flags = blob.read_shift(1);\n\tvar /*fHighByte = flags & 0x1,*/ fExtSt = flags & 0x4, fRichSt = flags & 0x8;\n\tvar width = 1 + (flags & 0x1); // 0x0 -> utf8, 0x1 -> dbcs\n\tvar cRun = 0, cbExtRst;\n\tvar z = {};\n\tif(fRichSt) cRun = blob.read_shift(2);\n\tif(fExtSt) cbExtRst = blob.read_shift(4);\n\tvar encoding = width == 2 ? 'dbcs-cont' : 'sbcs-cont';\n\tvar msg = cch === 0 ? \"\" : blob.read_shift(cch, encoding);\n\tif(fRichSt) blob.l += 4 * cRun; //TODO: parse this\n\tif(fExtSt) blob.l += cbExtRst; //TODO: parse this\n\tz.t = msg;\n\tif(!fRichSt) { z.raw = \"\" + z.t + \"\"; z.r = z.t; }\n\tcurrent_codepage = cp;\n\treturn z;\n}\nfunction write_XLUnicodeRichExtendedString(xlstr) {\n\tvar str = (xlstr.t||\"\"), nfmts = 1;\n\n\tvar hdr = new_buf(3 + (nfmts > 1 ? 2 : 0));\n\thdr.write_shift(2, str.length);\n\thdr.write_shift(1, (nfmts > 1 ? 0x08 : 0x00) | 0x01);\n\tif(nfmts > 1) hdr.write_shift(2, nfmts);\n\n\tvar otext = new_buf(2 * str.length);\n\totext.write_shift(2 * str.length, str, 'utf16le');\n\n\tvar out = [hdr, otext];\n\n\treturn bconcat(out);\n}\n\n/* 2.5.296 XLUnicodeStringNoCch */\nfunction parse_XLUnicodeStringNoCch(blob, cch, opts) {\n\tvar retval;\n\tif(opts) {\n\t\tif(opts.biff >= 2 && opts.biff <= 5) return blob.read_shift(cch, 'cpstr');\n\t\tif(opts.biff >= 12) return blob.read_shift(cch, 'dbcs-cont');\n\t}\n\tvar fHighByte = blob.read_shift(1);\n\tif(fHighByte===0) { retval = blob.read_shift(cch, 'sbcs-cont'); }\n\telse { retval = blob.read_shift(cch, 'dbcs-cont'); }\n\treturn retval;\n}\n\n/* 2.5.294 XLUnicodeString */\nfunction parse_XLUnicodeString(blob, length, opts) {\n\tvar cch = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn parse_XLUnicodeStringNoCch(blob, cch, opts);\n}\n/* BIFF5 override */\nfunction parse_XLUnicodeString2(blob, length, opts) {\n\tif(opts.biff > 5) return parse_XLUnicodeString(blob, length, opts);\n\tvar cch = blob.read_shift(1);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn blob.read_shift(cch, (opts.biff <= 4 || !blob.lens ) ? 'cpstr' : 'sbcs-cont');\n}\n/* TODO: BIFF5 and lower, codepage awareness */\nfunction write_XLUnicodeString(str, opts, o) {\n\tif(!o) o = new_buf(3 + 2 * str.length);\n\to.write_shift(2, str.length);\n\to.write_shift(1, 1);\n\to.write_shift(31, str, 'utf16le');\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.61 ControlInfo */\nfunction parse_ControlInfo(blob) {\n\tvar flags = blob.read_shift(1);\n\tblob.l++;\n\tvar accel = blob.read_shift(2);\n\tblob.l += 2;\n\treturn [flags, accel];\n}\n\n/* [MS-OSHARED] 2.3.7.6 URLMoniker TODO: flags */\nfunction parse_URLMoniker(blob) {\n\tvar len = blob.read_shift(4), start = blob.l;\n\tvar extra = false;\n\tif(len > 24) {\n\t\t/* look ahead */\n\t\tblob.l += len - 24;\n\t\tif(blob.read_shift(16) === \"795881f43b1d7f48af2c825dc4852763\") extra = true;\n\t\tblob.l = start;\n\t}\n\tvar url = blob.read_shift((extra?len-24:len)>>1, 'utf16le').replace(chr0,\"\");\n\tif(extra) blob.l += 24;\n\treturn url;\n}\n\n/* [MS-OSHARED] 2.3.7.8 FileMoniker TODO: all fields */\nfunction parse_FileMoniker(blob) {\n\tblob.l += 2; //var cAnti = blob.read_shift(2);\n\tvar ansiPath = blob.read_shift(0, 'lpstr-ansi');\n\tblob.l += 2; //var endServer = blob.read_shift(2);\n\tif(blob.read_shift(2) != 0xDEAD) throw new Error(\"Bad FileMoniker\");\n\tvar sz = blob.read_shift(4);\n\tif(sz === 0) return ansiPath.replace(/\\\\/g,\"/\");\n\tvar bytes = blob.read_shift(4);\n\tif(blob.read_shift(2) != 3) throw new Error(\"Bad FileMoniker\");\n\tvar unicodePath = blob.read_shift(bytes>>1, 'utf16le').replace(chr0,\"\");\n\treturn unicodePath;\n}\n\n/* [MS-OSHARED] 2.3.7.2 HyperlinkMoniker TODO: all the monikers */\nfunction parse_HyperlinkMoniker(blob, length) {\n\tvar clsid = blob.read_shift(16); length -= 16;\n\tswitch(clsid) {\n\t\tcase \"e0c9ea79f9bace118c8200aa004ba90b\": return parse_URLMoniker(blob, length);\n\t\tcase \"0303000000000000c000000000000046\": return parse_FileMoniker(blob, length);\n\t\tdefault: throw new Error(\"Unsupported Moniker \" + clsid);\n\t}\n}\n\n/* [MS-OSHARED] 2.3.7.9 HyperlinkString */\nfunction parse_HyperlinkString(blob) {\n\tvar len = blob.read_shift(4);\n\tvar o = len > 0 ? blob.read_shift(len, 'utf16le').replace(chr0, \"\") : \"\";\n\treturn o;\n}\n\n/* [MS-OSHARED] 2.3.7.1 Hyperlink Object */\nfunction parse_Hyperlink(blob, length) {\n\tvar end = blob.l + length;\n\tvar sVer = blob.read_shift(4);\n\tif(sVer !== 2) throw new Error(\"Unrecognized streamVersion: \" + sVer);\n\tvar flags = blob.read_shift(2);\n\tblob.l += 2;\n\tvar displayName, targetFrameName, moniker, oleMoniker, Loc=\"\", guid, fileTime;\n\tif(flags & 0x0010) displayName = parse_HyperlinkString(blob, end - blob.l);\n\tif(flags & 0x0080) targetFrameName = parse_HyperlinkString(blob, end - blob.l);\n\tif((flags & 0x0101) === 0x0101) moniker = parse_HyperlinkString(blob, end - blob.l);\n\tif((flags & 0x0101) === 0x0001) oleMoniker = parse_HyperlinkMoniker(blob, end - blob.l);\n\tif(flags & 0x0008) Loc = parse_HyperlinkString(blob, end - blob.l);\n\tif(flags & 0x0020) guid = blob.read_shift(16);\n\tif(flags & 0x0040) fileTime = parse_FILETIME(blob/*, 8*/);\n\tblob.l = end;\n\tvar target = targetFrameName||moniker||oleMoniker||\"\";\n\tif(target && Loc) target+=\"#\"+Loc;\n\tif(!target) target = \"#\" + Loc;\n\tvar out = ({Target:target});\n\tif(guid) out.guid = guid;\n\tif(fileTime) out.time = fileTime;\n\tif(displayName) out.Tooltip = displayName;\n\treturn out;\n}\nfunction write_Hyperlink(hl) {\n\tvar out = new_buf(512), i = 0;\n\tvar Target = hl.Target;\n\tvar F = Target.indexOf(\"#\") > -1 ? 0x1f : 0x17;\n\tswitch(Target.charAt(0)) { case \"#\": F=0x1c; break; case \".\": F&=~2; break; }\n\tout.write_shift(4,2); out.write_shift(4, F);\n\tvar data = [8,6815827,6619237,4849780,83]; for(i = 0; i < data.length; ++i) out.write_shift(4, data[i]);\n\tif(F == 0x1C) {\n\t\tTarget = Target.slice(1);\n\t\tout.write_shift(4, Target.length + 1);\n\t\tfor(i = 0; i < Target.length; ++i) out.write_shift(2, Target.charCodeAt(i));\n\t\tout.write_shift(2, 0);\n\t} else if(F & 0x02) {\n\t\tdata = \"e0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b\".split(\" \");\n\t\tfor(i = 0; i < data.length; ++i) out.write_shift(1, parseInt(data[i], 16));\n\t\tout.write_shift(4, 2*(Target.length + 1));\n\t\tfor(i = 0; i < Target.length; ++i) out.write_shift(2, Target.charCodeAt(i));\n\t\tout.write_shift(2, 0);\n\t} else {\n\t\tdata = \"03 03 00 00 00 00 00 00 c0 00 00 00 00 00 00 46\".split(\" \");\n\t\tfor(i = 0; i < data.length; ++i) out.write_shift(1, parseInt(data[i], 16));\n\t\tvar P = 0;\n\t\twhile(Target.slice(P*3,P*3+3)==\"../\"||Target.slice(P*3,P*3+3)==\"..\\\\\") ++P;\n\t\tout.write_shift(2, P);\n\t\tout.write_shift(4, Target.length + 1);\n\t\tfor(i = 0; i < Target.length; ++i) out.write_shift(1, Target.charCodeAt(i) & 0xFF);\n\t\tout.write_shift(1, 0);\n\t\tout.write_shift(2, 0xFFFF);\n\t\tout.write_shift(2, 0xDEAD);\n\t\tfor(i = 0; i < 6; ++i) out.write_shift(4, 0);\n\t}\n\treturn out.slice(0, out.l);\n}\n\n/* 2.5.178 LongRGBA */\nfunction parse_LongRGBA(blob) { var r = blob.read_shift(1), g = blob.read_shift(1), b = blob.read_shift(1), a = blob.read_shift(1); return [r,g,b,a]; }\n\n/* 2.5.177 LongRGB */\nfunction parse_LongRGB(blob, length) { var x = parse_LongRGBA(blob, length); x[3] = 0; return x; }\n\n\n/* [MS-XLS] 2.5.19 */\nfunction parse_XLSCell(blob) {\n\tvar rw = blob.read_shift(2); // 0-indexed\n\tvar col = blob.read_shift(2);\n\tvar ixfe = blob.read_shift(2);\n\treturn ({r:rw, c:col, ixfe:ixfe});\n}\nfunction write_XLSCell(R, C, ixfe, o) {\n\tif(!o) o = new_buf(6);\n\to.write_shift(2, R);\n\to.write_shift(2, C);\n\to.write_shift(2, ixfe||0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.134 */\nfunction parse_frtHeader(blob) {\n\tvar rt = blob.read_shift(2);\n\tvar flags = blob.read_shift(2); // TODO: parse these flags\n\tblob.l += 8;\n\treturn {type: rt, flags: flags};\n}\n\n\n\nfunction parse_OptXLUnicodeString(blob, length, opts) { return length === 0 ? \"\" : parse_XLUnicodeString2(blob, length, opts); }\n\n/* [MS-XLS] 2.5.344 */\nfunction parse_XTI(blob, length, opts) {\n\tvar w = opts.biff > 8 ? 4 : 2;\n\tvar iSupBook = blob.read_shift(w), itabFirst = blob.read_shift(w,'i'), itabLast = blob.read_shift(w,'i');\n\treturn [iSupBook, itabFirst, itabLast];\n}\n\n/* [MS-XLS] 2.5.218 */\nfunction parse_RkRec(blob) {\n\tvar ixfe = blob.read_shift(2);\n\tvar RK = parse_RkNumber(blob);\n\treturn [ixfe, RK];\n}\n\n/* [MS-XLS] 2.5.1 */\nfunction parse_AddinUdf(blob, length, opts) {\n\tblob.l += 4; length -= 4;\n\tvar l = blob.l + length;\n\tvar udfName = parse_ShortXLUnicodeString(blob, length, opts);\n\tvar cb = blob.read_shift(2);\n\tl -= blob.l;\n\tif(cb !== l) throw new Error(\"Malformed AddinUdf: padding = \" + l + \" != \" + cb);\n\tblob.l += cb;\n\treturn udfName;\n}\n\n/* [MS-XLS] 2.5.209 TODO: Check sizes */\nfunction parse_Ref8U(blob) {\n\tvar rwFirst = blob.read_shift(2);\n\tvar rwLast = blob.read_shift(2);\n\tvar colFirst = blob.read_shift(2);\n\tvar colLast = blob.read_shift(2);\n\treturn {s:{c:colFirst, r:rwFirst}, e:{c:colLast,r:rwLast}};\n}\nfunction write_Ref8U(r, o) {\n\tif(!o) o = new_buf(8);\n\to.write_shift(2, r.s.r);\n\to.write_shift(2, r.e.r);\n\to.write_shift(2, r.s.c);\n\to.write_shift(2, r.e.c);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.211 */\nfunction parse_RefU(blob) {\n\tvar rwFirst = blob.read_shift(2);\n\tvar rwLast = blob.read_shift(2);\n\tvar colFirst = blob.read_shift(1);\n\tvar colLast = blob.read_shift(1);\n\treturn {s:{c:colFirst, r:rwFirst}, e:{c:colLast,r:rwLast}};\n}\n\n/* [MS-XLS] 2.5.207 */\nvar parse_Ref = parse_RefU;\n\n/* [MS-XLS] 2.5.143 */\nfunction parse_FtCmo(blob) {\n\tblob.l += 4;\n\tvar ot = blob.read_shift(2);\n\tvar id = blob.read_shift(2);\n\tvar flags = blob.read_shift(2);\n\tblob.l+=12;\n\treturn [id, ot, flags];\n}\n\n/* [MS-XLS] 2.5.149 */\nfunction parse_FtNts(blob) {\n\tvar out = {};\n\tblob.l += 4;\n\tblob.l += 16; // GUID TODO\n\tout.fSharedNote = blob.read_shift(2);\n\tblob.l += 4;\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.142 */\nfunction parse_FtCf(blob) {\n\tvar out = {};\n\tblob.l += 4;\n\tblob.cf = blob.read_shift(2);\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.140 - 2.5.154 and friends */\nfunction parse_FtSkip(blob) { blob.l += 2; blob.l += blob.read_shift(2); }\nvar FtTab = {\n0x00: parse_FtSkip, /* FtEnd */\n0x04: parse_FtSkip, /* FtMacro */\n0x05: parse_FtSkip, /* FtButton */\n0x06: parse_FtSkip, /* FtGmo */\n0x07: parse_FtCf, /* FtCf */\n0x08: parse_FtSkip, /* FtPioGrbit */\n0x09: parse_FtSkip, /* FtPictFmla */\n0x0A: parse_FtSkip, /* FtCbls */\n0x0B: parse_FtSkip, /* FtRbo */\n0x0C: parse_FtSkip, /* FtSbs */\n0x0D: parse_FtNts, /* FtNts */\n0x0E: parse_FtSkip, /* FtSbsFmla */\n0x0F: parse_FtSkip, /* FtGboData */\n0x10: parse_FtSkip, /* FtEdoData */\n0x11: parse_FtSkip, /* FtRboData */\n0x12: parse_FtSkip, /* FtCblsData */\n0x13: parse_FtSkip, /* FtLbsData */\n0x14: parse_FtSkip, /* FtCblsFmla */\n0x15: parse_FtCmo\n};\nfunction parse_FtArray(blob, length) {\n\tvar tgt = blob.l + length;\n\tvar fts = [];\n\twhile(blob.l < tgt) {\n\t\tvar ft = blob.read_shift(2);\n\t\tblob.l-=2;\n\t\ttry {\n\t\t\tfts.push(FtTab[ft](blob, tgt - blob.l));\n\t\t} catch(e) { blob.l = tgt; return fts; }\n\t}\n\tif(blob.l != tgt) blob.l = tgt; //throw new Error(\"bad Object Ft-sequence\");\n\treturn fts;\n}\n\n/* --- 2.4 Records --- */\n\n/* [MS-XLS] 2.4.21 */\nfunction parse_BOF(blob, length) {\n\tvar o = {BIFFVer:0, dt:0};\n\to.BIFFVer = blob.read_shift(2); length -= 2;\n\tif(length >= 2) { o.dt = blob.read_shift(2); blob.l -= 2; }\n\tswitch(o.BIFFVer) {\n\t\tcase 0x0600: /* BIFF8 */\n\t\tcase 0x0500: /* BIFF5 */\n\t\tcase 0x0400: /* BIFF4 */\n\t\tcase 0x0300: /* BIFF3 */\n\t\tcase 0x0200: /* BIFF2 */\n\t\tcase 0x0002: case 0x0007: /* BIFF2 */\n\t\t\tbreak;\n\t\tdefault: if(length > 6) throw new Error(\"Unexpected BIFF Ver \" + o.BIFFVer);\n\t}\n\n\tblob.read_shift(length);\n\treturn o;\n}\nfunction write_BOF(wb, t, o) {\n\tvar h = 0x0600, w = 16;\n\tswitch(o.bookType) {\n\t\tcase 'biff8': break;\n\t\tcase 'biff5': h = 0x0500; w = 8; break;\n\t\tcase 'biff4': h = 0x0004; w = 6; break;\n\t\tcase 'biff3': h = 0x0003; w = 6; break;\n\t\tcase 'biff2': h = 0x0002; w = 4; break;\n\t\tcase 'xla': break;\n\t\tdefault: throw new Error(\"unsupported BIFF version\");\n\t}\n\tvar out = new_buf(w);\n\tout.write_shift(2, h);\n\tout.write_shift(2, t);\n\tif(w > 4) out.write_shift(2, 0x7262);\n\tif(w > 6) out.write_shift(2, 0x07CD);\n\tif(w > 8) {\n\t\tout.write_shift(2, 0xC009);\n\t\tout.write_shift(2, 0x0001);\n\t\tout.write_shift(2, 0x0706);\n\t\tout.write_shift(2, 0x0000);\n\t}\n\treturn out;\n}\n\n\n/* [MS-XLS] 2.4.146 */\nfunction parse_InterfaceHdr(blob, length) {\n\tif(length === 0) return 0x04b0;\n\tif((blob.read_shift(2))!==0x04b0){/* empty */}\n\treturn 0x04b0;\n}\n\n\n/* [MS-XLS] 2.4.349 */\nfunction parse_WriteAccess(blob, length, opts) {\n\tif(opts.enc) { blob.l += length; return \"\"; }\n\tvar l = blob.l;\n\t// TODO: make sure XLUnicodeString doesnt overrun\n\tvar UserName = parse_XLUnicodeString2(blob, 0, opts);\n\tblob.read_shift(length + l - blob.l);\n\treturn UserName;\n}\nfunction write_WriteAccess(s, opts) {\n\tvar b8 = !opts || opts.biff == 8;\n\tvar o = new_buf(b8 ? 112 : 54);\n\to.write_shift(opts.biff == 8 ? 2 : 1, 7);\n\tif(b8) o.write_shift(1, 0);\n\to.write_shift(4, 0x33336853);\n\to.write_shift(4, (0x00534A74 | (b8 ? 0 : 0x20000000)));\n\twhile(o.l < o.length) o.write_shift(1, (b8 ? 0 : 32));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.351 */\nfunction parse_WsBool(blob, length, opts) {\n\tvar flags = opts && opts.biff == 8 || length == 2 ? blob.read_shift(2) : (blob.l += length, 0);\n\treturn { fDialog: flags & 0x10 };\n}\n\n/* [MS-XLS] 2.4.28 */\nfunction parse_BoundSheet8(blob, length, opts) {\n\tvar pos = blob.read_shift(4);\n\tvar hidden = blob.read_shift(1) & 0x03;\n\tvar dt = blob.read_shift(1);\n\tswitch(dt) {\n\t\tcase 0: dt = 'Worksheet'; break;\n\t\tcase 1: dt = 'Macrosheet'; break;\n\t\tcase 2: dt = 'Chartsheet'; break;\n\t\tcase 6: dt = 'VBAModule'; break;\n\t}\n\tvar name = parse_ShortXLUnicodeString(blob, 0, opts);\n\tif(name.length === 0) name = \"Sheet1\";\n\treturn { pos:pos, hs:hidden, dt:dt, name:name };\n}\nfunction write_BoundSheet8(data, opts) {\n\tvar w = (!opts || opts.biff >= 8 ? 2 : 1);\n\tvar o = new_buf(8 + w * data.name.length);\n\to.write_shift(4, data.pos);\n\to.write_shift(1, data.hs || 0);\n\to.write_shift(1, data.dt);\n\to.write_shift(1, data.name.length);\n\tif(opts.biff >= 8) o.write_shift(1, 1);\n\to.write_shift(w * data.name.length, data.name, opts.biff < 8 ? 'sbcs' : 'utf16le');\n\tvar out = o.slice(0, o.l);\n\tout.l = o.l; return out;\n}\n\n/* [MS-XLS] 2.4.265 TODO */\nfunction parse_SST(blob, length) {\n\tvar end = blob.l + length;\n\tvar cnt = blob.read_shift(4);\n\tvar ucnt = blob.read_shift(4);\n\tvar strs = ([]);\n\tfor(var i = 0; i != ucnt && blob.l < end; ++i) {\n\t\tstrs.push(parse_XLUnicodeRichExtendedString(blob));\n\t}\n\tstrs.Count = cnt; strs.Unique = ucnt;\n\treturn strs;\n}\nfunction write_SST(sst, opts) {\n\tvar header = new_buf(8);\n\theader.write_shift(4, sst.Count);\n\theader.write_shift(4, sst.Unique);\n\tvar strs = [];\n\tfor(var j = 0; j < sst.length; ++j) strs[j] = write_XLUnicodeRichExtendedString(sst[j], opts);\n\tvar o = bconcat([header].concat(strs));\no.parts = [header.length].concat(strs.map(function(str) { return str.length; }));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.107 */\nfunction parse_ExtSST(blob, length) {\n\tvar extsst = {};\n\textsst.dsst = blob.read_shift(2);\n\tblob.l += length-2;\n\treturn extsst;\n}\n\n\n/* [MS-XLS] 2.4.221 TODO: check BIFF2-4 */\nfunction parse_Row(blob) {\n\tvar z = ({});\n\tz.r = blob.read_shift(2);\n\tz.c = blob.read_shift(2);\n\tz.cnt = blob.read_shift(2) - z.c;\n\tvar miyRw = blob.read_shift(2);\n\tblob.l += 4; // reserved(2), unused(2)\n\tvar flags = blob.read_shift(1); // various flags\n\tblob.l += 3; // reserved(8), ixfe(12), flags(4)\n\tif(flags & 0x07) z.level = flags & 0x07;\n\t// collapsed: flags & 0x10\n\tif(flags & 0x20) z.hidden = true;\n\tif(flags & 0x40) z.hpt = miyRw / 20;\n\treturn z;\n}\n\n\n/* [MS-XLS] 2.4.125 */\nfunction parse_ForceFullCalculation(blob) {\n\tvar header = parse_frtHeader(blob);\n\tif(header.type != 0x08A3) throw new Error(\"Invalid Future Record \" + header.type);\n\tvar fullcalc = blob.read_shift(4);\n\treturn fullcalc !== 0x0;\n}\n\n\n\n\n\n/* [MS-XLS] 2.4.215 rt */\nfunction parse_RecalcId(blob) {\n\tblob.read_shift(2);\n\treturn blob.read_shift(4);\n}\n\n/* [MS-XLS] 2.4.87 */\nfunction parse_DefaultRowHeight(blob, length, opts) {\n\tvar f = 0;\n\tif(!(opts && opts.biff == 2)) {\n\t\tf = blob.read_shift(2);\n\t}\n\tvar miyRw = blob.read_shift(2);\n\tif((opts && opts.biff == 2)) {\n\t\tf = 1 - (miyRw >> 15); miyRw &= 0x7fff;\n\t}\n\tvar fl = {Unsynced:f&1,DyZero:(f&2)>>1,ExAsc:(f&4)>>2,ExDsc:(f&8)>>3};\n\treturn [fl, miyRw];\n}\n\n/* [MS-XLS] 2.4.345 TODO */\nfunction parse_Window1(blob) {\n\tvar xWn = blob.read_shift(2), yWn = blob.read_shift(2), dxWn = blob.read_shift(2), dyWn = blob.read_shift(2);\n\tvar flags = blob.read_shift(2), iTabCur = blob.read_shift(2), iTabFirst = blob.read_shift(2);\n\tvar ctabSel = blob.read_shift(2), wTabRatio = blob.read_shift(2);\n\treturn { Pos: [xWn, yWn], Dim: [dxWn, dyWn], Flags: flags, CurTab: iTabCur,\n\t\tFirstTab: iTabFirst, Selected: ctabSel, TabRatio: wTabRatio };\n}\nfunction write_Window1() {\n\tvar o = new_buf(18);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0x7260);\n\to.write_shift(2, 0x44c0);\n\to.write_shift(2, 0x38);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 1);\n\to.write_shift(2, 0x01f4);\n\treturn o;\n}\n/* [MS-XLS] 2.4.346 TODO */\nfunction parse_Window2(blob, length, opts) {\n\tif(opts && opts.biff >= 2 && opts.biff < 5) return {};\n\tvar f = blob.read_shift(2);\n\treturn { RTL: f & 0x40 };\n}\nfunction write_Window2(view) {\n\tvar o = new_buf(18), f = 0x6b6;\n\tif(view && view.RTL) f |= 0x40;\n\to.write_shift(2, f);\n\to.write_shift(4, 0);\n\to.write_shift(4, 64);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.189 TODO */\nfunction parse_Pane(/*blob, length, opts*/) {\n}\n\n/* [MS-XLS] 2.4.122 TODO */\nfunction parse_Font(blob, length, opts) {\n\tvar o = {\n\t\tdyHeight: blob.read_shift(2),\n\t\tfl: blob.read_shift(2)\n\t};\n\tswitch((opts && opts.biff) || 8) {\n\t\tcase 2: break;\n\t\tcase 3: case 4: blob.l += 2; break;\n\t\tdefault: blob.l += 10; break;\n\t}\n\to.name = parse_ShortXLUnicodeString(blob, 0, opts);\n\treturn o;\n}\nfunction write_Font(data, opts) {\n\tvar name = data.name || \"Arial\";\n\tvar b5 = (opts && (opts.biff == 5)), w = (b5 ? (15 + name.length) : (16 + 2 * name.length));\n\tvar o = new_buf(w);\n\to.write_shift(2, (data.sz || 12) * 20);\n\to.write_shift(4, 0);\n\to.write_shift(2, 400);\n\to.write_shift(4, 0);\n\to.write_shift(2, 0);\n\to.write_shift(1, name.length);\n\tif(!b5) o.write_shift(1, 1);\n\to.write_shift((b5 ? 1 : 2) * name.length, name, (b5 ? \"sbcs\" : \"utf16le\"));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.149 */\nfunction parse_LabelSst(blob) {\n\tvar cell = parse_XLSCell(blob);\n\tcell.isst = blob.read_shift(4);\n\treturn cell;\n}\nfunction write_LabelSst(R, C, v, os ) {\n\tvar o = new_buf(10);\n\twrite_XLSCell(R, C, os, o);\n\to.write_shift(4, v);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.148 */\nfunction parse_Label(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6);\n\tif(opts.biff == 2) blob.l++;\n\tvar str = parse_XLUnicodeString(blob, target - blob.l, opts);\n\tcell.val = str;\n\treturn cell;\n}\nfunction write_Label(R, C, v, os, opts) {\n\tvar b8 = !opts || opts.biff == 8;\n\tvar o = new_buf(6 + 2 + (+b8) + (1 + b8) * v.length);\n\twrite_XLSCell(R, C, os, o);\n\to.write_shift(2, v.length);\n\tif(b8) o.write_shift(1, 1);\n\to.write_shift((1 + b8) * v.length, v, b8 ? 'utf16le' : 'sbcs');\n\treturn o;\n}\n\n\n/* [MS-XLS] 2.4.126 Number Formats */\nfunction parse_Format(blob, length, opts) {\n\tvar numFmtId = blob.read_shift(2);\n\tvar fmtstr = parse_XLUnicodeString2(blob, 0, opts);\n\treturn [numFmtId, fmtstr];\n}\nfunction write_Format(i, f, opts, o) {\n\tvar b5 = (opts && (opts.biff == 5));\n\tif(!o) o = new_buf(b5 ? (3 + f.length) : (5 + 2 * f.length));\n\to.write_shift(2, i);\n\to.write_shift((b5 ? 1 : 2), f.length);\n\tif(!b5) o.write_shift(1, 1);\n\to.write_shift((b5 ? 1 : 2) * f.length, f, (b5 ? 'sbcs' : 'utf16le'));\n\tvar out = (o.length > o.l) ? o.slice(0, o.l) : o;\n\tif(out.l == null) out.l = out.length;\n\treturn out;\n}\nvar parse_BIFF2Format = parse_XLUnicodeString2;\n\n/* [MS-XLS] 2.4.90 */\nfunction parse_Dimensions(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar w = opts.biff == 8 || !opts.biff ? 4 : 2;\n\tvar r = blob.read_shift(w), R = blob.read_shift(w);\n\tvar c = blob.read_shift(2), C = blob.read_shift(2);\n\tblob.l = end;\n\treturn {s: {r:r, c:c}, e: {r:R, c:C}};\n}\nfunction write_Dimensions(range, opts) {\n\tvar w = opts.biff == 8 || !opts.biff ? 4 : 2;\n\tvar o = new_buf(2*w + 6);\n\to.write_shift(w, range.s.r);\n\to.write_shift(w, range.e.r + 1);\n\to.write_shift(2, range.s.c);\n\to.write_shift(2, range.e.c + 1);\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.220 */\nfunction parse_RK(blob) {\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar rkrec = parse_RkRec(blob);\n\treturn {r:rw, c:col, ixfe:rkrec[0], rknum:rkrec[1]};\n}\n\n/* [MS-XLS] 2.4.175 */\nfunction parse_MulRk(blob, length) {\n\tvar target = blob.l + length - 2;\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar rkrecs = [];\n\twhile(blob.l < target) rkrecs.push(parse_RkRec(blob));\n\tif(blob.l !== target) throw new Error(\"MulRK read error\");\n\tvar lastcol = blob.read_shift(2);\n\tif(rkrecs.length != lastcol - col + 1) throw new Error(\"MulRK length mismatch\");\n\treturn {r:rw, c:col, C:lastcol, rkrec:rkrecs};\n}\n/* [MS-XLS] 2.4.174 */\nfunction parse_MulBlank(blob, length) {\n\tvar target = blob.l + length - 2;\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar ixfes = [];\n\twhile(blob.l < target) ixfes.push(blob.read_shift(2));\n\tif(blob.l !== target) throw new Error(\"MulBlank read error\");\n\tvar lastcol = blob.read_shift(2);\n\tif(ixfes.length != lastcol - col + 1) throw new Error(\"MulBlank length mismatch\");\n\treturn {r:rw, c:col, C:lastcol, ixfe:ixfes};\n}\n\n/* [MS-XLS] 2.5.20 2.5.249 TODO: interpret values here */\nfunction parse_CellStyleXF(blob, length, style, opts) {\n\tvar o = {};\n\tvar a = blob.read_shift(4), b = blob.read_shift(4);\n\tvar c = blob.read_shift(4), d = blob.read_shift(2);\n\to.patternType = XLSFillPattern[c >> 26];\n\n\tif(!opts.cellStyles) return o;\n\to.alc = a & 0x07;\n\to.fWrap = (a >> 3) & 0x01;\n\to.alcV = (a >> 4) & 0x07;\n\to.fJustLast = (a >> 7) & 0x01;\n\to.trot = (a >> 8) & 0xFF;\n\to.cIndent = (a >> 16) & 0x0F;\n\to.fShrinkToFit = (a >> 20) & 0x01;\n\to.iReadOrder = (a >> 22) & 0x02;\n\to.fAtrNum = (a >> 26) & 0x01;\n\to.fAtrFnt = (a >> 27) & 0x01;\n\to.fAtrAlc = (a >> 28) & 0x01;\n\to.fAtrBdr = (a >> 29) & 0x01;\n\to.fAtrPat = (a >> 30) & 0x01;\n\to.fAtrProt = (a >> 31) & 0x01;\n\n\to.dgLeft = b & 0x0F;\n\to.dgRight = (b >> 4) & 0x0F;\n\to.dgTop = (b >> 8) & 0x0F;\n\to.dgBottom = (b >> 12) & 0x0F;\n\to.icvLeft = (b >> 16) & 0x7F;\n\to.icvRight = (b >> 23) & 0x7F;\n\to.grbitDiag = (b >> 30) & 0x03;\n\n\to.icvTop = c & 0x7F;\n\to.icvBottom = (c >> 7) & 0x7F;\n\to.icvDiag = (c >> 14) & 0x7F;\n\to.dgDiag = (c >> 21) & 0x0F;\n\n\to.icvFore = d & 0x7F;\n\to.icvBack = (d >> 7) & 0x7F;\n\to.fsxButton = (d >> 14) & 0x01;\n\treturn o;\n}\n//function parse_CellXF(blob, length, opts) {return parse_CellStyleXF(blob,length,0, opts);}\n//function parse_StyleXF(blob, length, opts) {return parse_CellStyleXF(blob,length,1, opts);}\n\n/* [MS-XLS] 2.4.353 TODO: actually do this right */\nfunction parse_XF(blob, length, opts) {\n\tvar o = {};\n\to.ifnt = blob.read_shift(2); o.numFmtId = blob.read_shift(2); o.flags = blob.read_shift(2);\n\to.fStyle = (o.flags >> 2) & 0x01;\n\tlength -= 6;\n\to.data = parse_CellStyleXF(blob, length, o.fStyle, opts);\n\treturn o;\n}\nfunction write_XF(data, ixfeP, opts, o) {\n\tvar b5 = (opts && (opts.biff == 5));\n\tif(!o) o = new_buf(b5 ? 16 : 20);\n\to.write_shift(2, 0);\n\tif(data.style) {\n\t\to.write_shift(2, (data.numFmtId||0));\n\t\to.write_shift(2, 0xFFF4);\n\t} else {\n\t\to.write_shift(2, (data.numFmtId||0));\n\t\to.write_shift(2, (ixfeP<<4));\n\t}\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\tif(!b5) o.write_shift(4, 0);\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.134 */\nfunction parse_Guts(blob) {\n\tblob.l += 4;\n\tvar out = [blob.read_shift(2), blob.read_shift(2)];\n\tif(out[0] !== 0) out[0]--;\n\tif(out[1] !== 0) out[1]--;\n\tif(out[0] > 7 || out[1] > 7) throw new Error(\"Bad Gutters: \" + out.join(\"|\"));\n\treturn out;\n}\nfunction write_Guts(guts) {\n\tvar o = new_buf(8);\n\to.write_shift(4, 0);\n\to.write_shift(2, guts[0] ? guts[0] + 1 : 0);\n\to.write_shift(2, guts[1] ? guts[1] + 1 : 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.24 */\nfunction parse_BoolErr(blob, length, opts) {\n\tvar cell = parse_XLSCell(blob, 6);\n\tif(opts.biff == 2) ++blob.l;\n\tvar val = parse_Bes(blob, 2);\n\tcell.val = val;\n\tcell.t = (val === true || val === false) ? 'b' : 'e';\n\treturn cell;\n}\nfunction write_BoolErr(R, C, v, os, opts, t) {\n\tvar o = new_buf(8);\n\twrite_XLSCell(R, C, os, o);\n\twrite_Bes(v, t, o);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.180 Number */\nfunction parse_Number(blob) {\n\tvar cell = parse_XLSCell(blob, 6);\n\tvar xnum = parse_Xnum(blob, 8);\n\tcell.val = xnum;\n\treturn cell;\n}\nfunction write_Number(R, C, v, os) {\n\tvar o = new_buf(14);\n\twrite_XLSCell(R, C, os, o);\n\twrite_Xnum(v, o);\n\treturn o;\n}\n\nvar parse_XLHeaderFooter = parse_OptXLUnicodeString; // TODO: parse 2.4.136\n\n/* [MS-XLS] 2.4.271 */\nfunction parse_SupBook(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar ctab = blob.read_shift(2);\n\tvar cch = blob.read_shift(2);\n\topts.sbcch = cch;\n\tif(cch == 0x0401 || cch == 0x3A01) return [cch, ctab];\n\tif(cch < 0x01 || cch >0xff) throw new Error(\"Unexpected SupBook type: \"+cch);\n\tvar virtPath = parse_XLUnicodeStringNoCch(blob, cch);\n\t/* TODO: 2.5.277 Virtual Path */\n\tvar rgst = [];\n\twhile(end > blob.l) rgst.push(parse_XLUnicodeString(blob));\n\treturn [cch, ctab, virtPath, rgst];\n}\n\n/* [MS-XLS] 2.4.105 TODO */\nfunction parse_ExternName(blob, length, opts) {\n\tvar flags = blob.read_shift(2);\n\tvar body;\n\tvar o = ({\n\t\tfBuiltIn: flags & 0x01,\n\t\tfWantAdvise: (flags >>> 1) & 0x01,\n\t\tfWantPict: (flags >>> 2) & 0x01,\n\t\tfOle: (flags >>> 3) & 0x01,\n\t\tfOleLink: (flags >>> 4) & 0x01,\n\t\tcf: (flags >>> 5) & 0x3FF,\n\t\tfIcon: flags >>> 15 & 0x01\n\t});\n\tif(opts.sbcch === 0x3A01) body = parse_AddinUdf(blob, length-2, opts);\n\t//else throw new Error(\"unsupported SupBook cch: \" + opts.sbcch);\n\to.body = body || blob.read_shift(length-2);\n\tif(typeof body === \"string\") o.Name = body;\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.150 TODO */\nvar XLSLblBuiltIn = [\n\t\"_xlnm.Consolidate_Area\",\n\t\"_xlnm.Auto_Open\",\n\t\"_xlnm.Auto_Close\",\n\t\"_xlnm.Extract\",\n\t\"_xlnm.Database\",\n\t\"_xlnm.Criteria\",\n\t\"_xlnm.Print_Area\",\n\t\"_xlnm.Print_Titles\",\n\t\"_xlnm.Recorder\",\n\t\"_xlnm.Data_Form\",\n\t\"_xlnm.Auto_Activate\",\n\t\"_xlnm.Auto_Deactivate\",\n\t\"_xlnm.Sheet_Title\",\n\t\"_xlnm._FilterDatabase\"\n];\nfunction parse_Lbl(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar flags = blob.read_shift(2);\n\tvar chKey = blob.read_shift(1);\n\tvar cch = blob.read_shift(1);\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tvar itab = 0;\n\tif(!opts || opts.biff >= 5) {\n\t\tif(opts.biff != 5) blob.l += 2;\n\t\titab = blob.read_shift(2);\n\t\tif(opts.biff == 5) blob.l += 2;\n\t\tblob.l += 4;\n\t}\n\tvar name = parse_XLUnicodeStringNoCch(blob, cch, opts);\n\tif(flags & 0x20) name = XLSLblBuiltIn[name.charCodeAt(0)];\n\tvar npflen = target - blob.l; if(opts && opts.biff == 2) --npflen;\n\tvar rgce = target == blob.l || cce === 0 ? [] : parse_NameParsedFormula(blob, npflen, opts, cce);\n\treturn {\n\t\tchKey: chKey,\n\t\tName: name,\n\t\titab: itab,\n\t\trgce: rgce\n\t};\n}\n\n/* [MS-XLS] 2.4.106 TODO: verify filename encoding */\nfunction parse_ExternSheet(blob, length, opts) {\n\tif(opts.biff < 8) return parse_BIFF5ExternSheet(blob, length, opts);\n\tvar o = [], target = blob.l + length, len = blob.read_shift(opts.biff > 8 ? 4 : 2);\n\twhile(len-- !== 0) o.push(parse_XTI(blob, opts.biff > 8 ? 12 : 6, opts));\n\t\t// [iSupBook, itabFirst, itabLast];\n\tif(blob.l != target) throw new Error(\"Bad ExternSheet: \" + blob.l + \" != \" + target);\n\treturn o;\n}\nfunction parse_BIFF5ExternSheet(blob, length, opts) {\n\tif(blob[blob.l + 1] == 0x03) blob[blob.l]++;\n\tvar o = parse_ShortXLUnicodeString(blob, length, opts);\n\treturn o.charCodeAt(0) == 0x03 ? o.slice(1) : o;\n}\n\n/* [MS-XLS] 2.4.176 TODO: check older biff */\nfunction parse_NameCmt(blob, length, opts) {\n\tif(opts.biff < 8) { blob.l += length; return; }\n\tvar cchName = blob.read_shift(2);\n\tvar cchComment = blob.read_shift(2);\n\tvar name = parse_XLUnicodeStringNoCch(blob, cchName, opts);\n\tvar comment = parse_XLUnicodeStringNoCch(blob, cchComment, opts);\n\treturn [name, comment];\n}\n\n/* [MS-XLS] 2.4.260 */\nfunction parse_ShrFmla(blob, length, opts) {\n\tvar ref = parse_RefU(blob, 6);\n\tblob.l++;\n\tvar cUse = blob.read_shift(1);\n\tlength -= 8;\n\treturn [parse_SharedParsedFormula(blob, length, opts), cUse, ref];\n}\n\n/* [MS-XLS] 2.4.4 TODO */\nfunction parse_Array(blob, length, opts) {\n\tvar ref = parse_Ref(blob, 6);\n\t/* TODO: fAlwaysCalc */\n\tswitch(opts.biff) {\n\t\tcase 2: blob.l ++; length -= 7; break;\n\t\tcase 3: case 4: blob.l += 2; length -= 8; break;\n\t\tdefault: blob.l += 6; length -= 12;\n\t}\n\treturn [ref, parse_ArrayParsedFormula(blob, length, opts, ref)];\n}\n\n/* [MS-XLS] 2.4.173 */\nfunction parse_MTRSettings(blob) {\n\tvar fMTREnabled = blob.read_shift(4) !== 0x00;\n\tvar fUserSetThreadCount = blob.read_shift(4) !== 0x00;\n\tvar cUserThreadCount = blob.read_shift(4);\n\treturn [fMTREnabled, fUserSetThreadCount, cUserThreadCount];\n}\n\n/* [MS-XLS] 2.5.186 TODO: BIFF5 */\nfunction parse_NoteSh(blob, length, opts) {\n\tif(opts.biff < 8) return;\n\tvar row = blob.read_shift(2), col = blob.read_shift(2);\n\tvar flags = blob.read_shift(2), idObj = blob.read_shift(2);\n\tvar stAuthor = parse_XLUnicodeString2(blob, 0, opts);\n\tif(opts.biff < 8) blob.read_shift(1);\n\treturn [{r:row,c:col}, stAuthor, idObj, flags];\n}\n\n/* [MS-XLS] 2.4.179 */\nfunction parse_Note(blob, length, opts) {\n\t/* TODO: Support revisions */\n\treturn parse_NoteSh(blob, length, opts);\n}\n\n/* [MS-XLS] 2.4.168 */\nfunction parse_MergeCells(blob, length) {\n\tvar merges = [];\n\tvar cmcs = blob.read_shift(2);\n\twhile (cmcs--) merges.push(parse_Ref8U(blob,length));\n\treturn merges;\n}\nfunction write_MergeCells(merges) {\n\tvar o = new_buf(2 + merges.length * 8);\n\to.write_shift(2, merges.length);\n\tfor(var i = 0; i < merges.length; ++i) write_Ref8U(merges[i], o);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.181 TODO: parse all the things! */\nfunction parse_Obj(blob, length, opts) {\n\tif(opts && opts.biff < 8) return parse_BIFF5Obj(blob, length, opts);\n\tvar cmo = parse_FtCmo(blob, 22); // id, ot, flags\n\tvar fts = parse_FtArray(blob, length-22, cmo[1]);\n\treturn { cmo: cmo, ft:fts };\n}\n/* from older spec */\nvar parse_BIFF5OT = [];\nparse_BIFF5OT[0x08] = function(blob, length) {\n\tvar tgt = blob.l + length;\n\tblob.l += 10; // todo\n\tvar cf = blob.read_shift(2);\n\tblob.l += 4;\n\tblob.l += 2; //var cbPictFmla = blob.read_shift(2);\n\tblob.l += 2;\n\tblob.l += 2; //var grbit = blob.read_shift(2);\n\tblob.l += 4;\n\tvar cchName = blob.read_shift(1);\n\tblob.l += cchName; // TODO: stName\n\tblob.l = tgt; // TODO: fmla\n\treturn { fmt:cf };\n};\n\nfunction parse_BIFF5Obj(blob, length, opts) {\n\tblob.l += 4; //var cnt = blob.read_shift(4);\n\tvar ot = blob.read_shift(2);\n\tvar id = blob.read_shift(2);\n\tvar grbit = blob.read_shift(2);\n\tblob.l += 2; //var colL = blob.read_shift(2);\n\tblob.l += 2; //var dxL = blob.read_shift(2);\n\tblob.l += 2; //var rwT = blob.read_shift(2);\n\tblob.l += 2; //var dyT = blob.read_shift(2);\n\tblob.l += 2; //var colR = blob.read_shift(2);\n\tblob.l += 2; //var dxR = blob.read_shift(2);\n\tblob.l += 2; //var rwB = blob.read_shift(2);\n\tblob.l += 2; //var dyB = blob.read_shift(2);\n\tblob.l += 2; //var cbMacro = blob.read_shift(2);\n\tblob.l += 6;\n\tlength -= 36;\n\tvar fts = [];\n\tfts.push((parse_BIFF5OT[ot]||parsenoop)(blob, length, opts));\n\treturn { cmo: [id, ot, grbit], ft:fts };\n}\n\n/* [MS-XLS] 2.4.329 TODO: parse properly */\nfunction parse_TxO(blob, length, opts) {\n\tvar s = blob.l;\n\tvar texts = \"\";\ntry {\n\tblob.l += 4;\n\tvar ot = (opts.lastobj||{cmo:[0,0]}).cmo[1];\n\tvar controlInfo; // eslint-disable-line no-unused-vars\n\tif([0,5,7,11,12,14].indexOf(ot) == -1) blob.l += 6;\n\telse controlInfo = parse_ControlInfo(blob, 6, opts);\n\tvar cchText = blob.read_shift(2);\n\t/*var cbRuns = */blob.read_shift(2);\n\t/*var ifntEmpty = */parseuint16(blob, 2);\n\tvar len = blob.read_shift(2);\n\tblob.l += len;\n\t//var fmla = parse_ObjFmla(blob, s + length - blob.l);\n\n\tfor(var i = 1; i < blob.lens.length-1; ++i) {\n\t\tif(blob.l-s != blob.lens[i]) throw new Error(\"TxO: bad continue record\");\n\t\tvar hdr = blob[blob.l];\n\t\tvar t = parse_XLUnicodeStringNoCch(blob, blob.lens[i+1]-blob.lens[i]-1);\n\t\ttexts += t;\n\t\tif(texts.length >= (hdr ? cchText : 2*cchText)) break;\n\t}\n\tif(texts.length !== cchText && texts.length !== cchText*2) {\n\t\tthrow new Error(\"cchText: \" + cchText + \" != \" + texts.length);\n\t}\n\n\tblob.l = s + length;\n\t/* [MS-XLS] 2.5.272 TxORuns */\n//\tvar rgTxoRuns = [];\n//\tfor(var j = 0; j != cbRuns/8-1; ++j) blob.l += 8;\n//\tvar cchText2 = blob.read_shift(2);\n//\tif(cchText2 !== cchText) throw new Error(\"TxOLastRun mismatch: \" + cchText2 + \" \" + cchText);\n//\tblob.l += 6;\n//\tif(s + length != blob.l) throw new Error(\"TxO \" + (s + length) + \", at \" + blob.l);\n\treturn { t: texts };\n} catch(e) { blob.l = s + length; return { t: texts }; }\n}\n\n/* [MS-XLS] 2.4.140 */\nfunction parse_HLink(blob, length) {\n\tvar ref = parse_Ref8U(blob, 8);\n\tblob.l += 16; /* CLSID */\n\tvar hlink = parse_Hyperlink(blob, length-24);\n\treturn [ref, hlink];\n}\nfunction write_HLink(hl) {\n\tvar O = new_buf(24);\n\tvar ref = decode_cell(hl[0]);\n\tO.write_shift(2, ref.r); O.write_shift(2, ref.r);\n\tO.write_shift(2, ref.c); O.write_shift(2, ref.c);\n\tvar clsid = \"d0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b\".split(\" \");\n\tfor(var i = 0; i < 16; ++i) O.write_shift(1, parseInt(clsid[i], 16));\n\treturn bconcat([O, write_Hyperlink(hl[1])]);\n}\n\n\n/* [MS-XLS] 2.4.141 */\nfunction parse_HLinkTooltip(blob, length) {\n\tblob.read_shift(2);\n\tvar ref = parse_Ref8U(blob, 8);\n\tvar wzTooltip = blob.read_shift((length-10)/2, 'dbcs-cont');\n\twzTooltip = wzTooltip.replace(chr0,\"\");\n\treturn [ref, wzTooltip];\n}\nfunction write_HLinkTooltip(hl) {\n\tvar TT = hl[1].Tooltip;\n\tvar O = new_buf(10 + 2 * (TT.length + 1));\n\tO.write_shift(2, 0x0800);\n\tvar ref = decode_cell(hl[0]);\n\tO.write_shift(2, ref.r); O.write_shift(2, ref.r);\n\tO.write_shift(2, ref.c); O.write_shift(2, ref.c);\n\tfor(var i = 0; i < TT.length; ++i) O.write_shift(2, TT.charCodeAt(i));\n\tO.write_shift(2, 0);\n\treturn O;\n}\n\n/* [MS-XLS] 2.4.63 */\nfunction parse_Country(blob) {\n\tvar o = [0,0], d;\n\td = blob.read_shift(2); o[0] = CountryEnum[d] || d;\n\td = blob.read_shift(2); o[1] = CountryEnum[d] || d;\n\treturn o;\n}\nfunction write_Country(o) {\n\tif(!o) o = new_buf(4);\n\to.write_shift(2, 0x01);\n\to.write_shift(2, 0x01);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.50 ClrtClient */\nfunction parse_ClrtClient(blob) {\n\tvar ccv = blob.read_shift(2);\n\tvar o = [];\n\twhile(ccv-->0) o.push(parse_LongRGB(blob, 8));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.188 */\nfunction parse_Palette(blob) {\n\tvar ccv = blob.read_shift(2);\n\tvar o = [];\n\twhile(ccv-->0) o.push(parse_LongRGB(blob, 8));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.354 */\nfunction parse_XFCRC(blob) {\n\tblob.l += 2;\n\tvar o = {cxfs:0, crc:0};\n\to.cxfs = blob.read_shift(2);\n\to.crc = blob.read_shift(4);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.53 TODO: parse flags */\n/* [MS-XLSB] 2.4.323 TODO: parse flags */\nfunction parse_ColInfo(blob, length, opts) {\n\tif(!opts.cellStyles) return parsenoop(blob, length);\n\tvar w = opts && opts.biff >= 12 ? 4 : 2;\n\tvar colFirst = blob.read_shift(w);\n\tvar colLast = blob.read_shift(w);\n\tvar coldx = blob.read_shift(w);\n\tvar ixfe = blob.read_shift(w);\n\tvar flags = blob.read_shift(2);\n\tif(w == 2) blob.l += 2;\n\tvar o = ({s:colFirst, e:colLast, w:coldx, ixfe:ixfe, flags:flags});\n\tif(opts.biff >= 5 || !opts.biff) o.level = (flags >> 8) & 0x7;\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.257 */\nfunction parse_Setup(blob, length) {\n\tvar o = {};\n\tif(length < 32) return o;\n\tblob.l += 16;\n\to.header = parse_Xnum(blob, 8);\n\to.footer = parse_Xnum(blob, 8);\n\tblob.l += 2;\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.261 */\nfunction parse_ShtProps(blob, length, opts) {\n\tvar def = {area:false};\n\tif(opts.biff != 5) { blob.l += length; return def; }\n\tvar d = blob.read_shift(1); blob.l += 3;\n\tif((d & 0x10)) def.area = true;\n\treturn def;\n}\n\n/* [MS-XLS] 2.4.241 */\nfunction write_RRTabId(n) {\n\tvar out = new_buf(2 * n);\n\tfor(var i = 0; i < n; ++i) out.write_shift(2, i+1);\n\treturn out;\n}\n\nvar parse_Blank = parse_XLSCell; /* [MS-XLS] 2.4.20 Just the cell */\nvar parse_Scl = parseuint16a; /* [MS-XLS] 2.4.247 num, den */\nvar parse_String = parse_XLUnicodeString; /* [MS-XLS] 2.4.268 */\n\n/* --- Specific to versions before BIFF8 --- */\nfunction parse_ImData(blob) {\n\tvar cf = blob.read_shift(2);\n\tvar env = blob.read_shift(2);\n\tvar lcb = blob.read_shift(4);\n\tvar o = {fmt:cf, env:env, len:lcb, data:blob.slice(blob.l,blob.l+lcb)};\n\tblob.l += lcb;\n\treturn o;\n}\n\n/* BIFF2_??? where ??? is the name from [XLS] */\nfunction parse_BIFF2STR(blob, length, opts) {\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar str = parse_XLUnicodeString2(blob, length-7, opts);\n\tcell.t = 'str';\n\tcell.val = str;\n\treturn cell;\n}\n\nfunction parse_BIFF2NUM(blob) {\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar num = parse_Xnum(blob, 8);\n\tcell.t = 'n';\n\tcell.val = num;\n\treturn cell;\n}\nfunction write_BIFF2NUM(r, c, val) {\n\tvar out = new_buf(15);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(8, val, 'f');\n\treturn out;\n}\n\nfunction parse_BIFF2INT(blob) {\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar num = blob.read_shift(2);\n\tcell.t = 'n';\n\tcell.val = num;\n\treturn cell;\n}\nfunction write_BIFF2INT(r, c, val) {\n\tvar out = new_buf(9);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(2, val);\n\treturn out;\n}\n\nfunction parse_BIFF2STRING(blob) {\n\tvar cch = blob.read_shift(1);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn blob.read_shift(cch, 'sbcs-cont');\n}\n\n/* TODO: convert to BIFF8 font struct */\nfunction parse_BIFF2FONTXTRA(blob, length) {\n\tblob.l += 6; // unknown\n\tblob.l += 2; // font weight \"bls\"\n\tblob.l += 1; // charset\n\tblob.l += 3; // unknown\n\tblob.l += 1; // font family\n\tblob.l += length - 13;\n}\n\n/* TODO: parse rich text runs */\nfunction parse_RString(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6);\n\tvar cch = blob.read_shift(2);\n\tvar str = parse_XLUnicodeStringNoCch(blob, cch, opts);\n\tblob.l = end;\n\tcell.t = 'str';\n\tcell.val = str;\n\treturn cell;\n}\n/* from js-harb (C) 2014-present SheetJS */\nvar DBF = (function() {\nvar dbf_codepage_map = {\n\t/* Code Pages Supported by Visual FoxPro */\n0x01: 437, 0x02: 850,\n0x03: 1252, 0x04: 10000,\n0x64: 852, 0x65: 866,\n0x66: 865, 0x67: 861,\n0x68: 895, 0x69: 620,\n0x6A: 737, 0x6B: 857,\n0x78: 950, 0x79: 949,\n0x7A: 936, 0x7B: 932,\n0x7C: 874, 0x7D: 1255,\n0x7E: 1256, 0x96: 10007,\n0x97: 10029, 0x98: 10006,\n0xC8: 1250, 0xC9: 1251,\n0xCA: 1254, 0xCB: 1253,\n\n\t/* shapefile DBF extension */\n0x00: 20127, 0x08: 865,\n0x09: 437, 0x0A: 850,\n0x0B: 437, 0x0D: 437,\n0x0E: 850, 0x0F: 437,\n0x10: 850, 0x11: 437,\n0x12: 850, 0x13: 932,\n0x14: 850, 0x15: 437,\n0x16: 850, 0x17: 865,\n0x18: 437, 0x19: 437,\n0x1A: 850, 0x1B: 437,\n0x1C: 863, 0x1D: 850,\n0x1F: 852, 0x22: 852,\n0x23: 852, 0x24: 860,\n0x25: 850, 0x26: 866,\n0x37: 850, 0x40: 852,\n0x4D: 936, 0x4E: 949,\n0x4F: 950, 0x50: 874,\n0x57: 1252, 0x58: 1252,\n0x59: 1252,\n\n0xFF: 16969\n};\nvar dbf_reverse_map = evert({\n0x01: 437, 0x02: 850,\n0x03: 1252, 0x04: 10000,\n0x64: 852, 0x65: 866,\n0x66: 865, 0x67: 861,\n0x68: 895, 0x69: 620,\n0x6A: 737, 0x6B: 857,\n0x78: 950, 0x79: 949,\n0x7A: 936, 0x7B: 932,\n0x7C: 874, 0x7D: 1255,\n0x7E: 1256, 0x96: 10007,\n0x97: 10029, 0x98: 10006,\n0xC8: 1250, 0xC9: 1251,\n0xCA: 1254, 0xCB: 1253,\n0x00: 20127\n});\nvar DBF_SUPPORTED_VERSIONS = [0x02, 0x03, 0x30, 0x31, 0x83, 0x8B, 0x8C, 0xF5];\n/* TODO: find an actual specification */\nfunction dbf_to_aoa(buf, opts) {\n\tvar out = [];\n\t/* TODO: browser based */\n\tvar d = (new_raw_buf(1));\n\tswitch(opts.type) {\n\t\tcase 'base64': d = s2a(Base64.decode(buf)); break;\n\t\tcase 'binary': d = s2a(buf); break;\n\t\tcase 'buffer':\n\t\tcase 'array': d = buf; break;\n\t}\n\tprep_blob(d, 0);\n\t/* header */\n\tvar ft = d.read_shift(1);\n\tvar memo = false;\n\tvar vfp = false, l7 = false;\n\tswitch(ft) {\n\t\tcase 0x02: case 0x03: break;\n\t\tcase 0x30: vfp = true; memo = true; break;\n\t\tcase 0x31: vfp = true; break;\n\t\tcase 0x83: memo = true; break;\n\t\tcase 0x8B: memo = true; break;\n\t\tcase 0x8C: memo = true; l7 = true; break;\n\t\tcase 0xF5: memo = true; break;\n\t\tdefault: throw new Error(\"DBF Unsupported Version: \" + ft.toString(16));\n\t}\n\tvar /*filedate = new Date(),*/ nrow = 0, fpos = 0;\n\tif(ft == 0x02) nrow = d.read_shift(2);\n\t/*filedate = new Date(d.read_shift(1) + 1900, d.read_shift(1) - 1, d.read_shift(1));*/d.l += 3;\n\tif(ft != 0x02) nrow = d.read_shift(4);\n\tif(ft != 0x02) fpos = d.read_shift(2);\n\tvar rlen = d.read_shift(2);\n\n\tvar /*flags = 0,*/ current_cp = 1252;\n\tif(ft != 0x02) {\n\td.l+=16;\n\t/*flags = */d.read_shift(1);\n\t//if(memo && ((flags & 0x02) === 0)) throw new Error(\"DBF Flags \" + flags.toString(16) + \" ft \" + ft.toString(16));\n\n\t/* codepage present in FoxPro */\n\tif(d[d.l] !== 0) current_cp = dbf_codepage_map[d[d.l]];\n\td.l+=1;\n\n\td.l+=2;\n\t}\n\tif(l7) d.l += 36;\nvar fields = [], field = ({});\n\tvar hend = fpos - 10 - (vfp ? 264 : 0), ww = l7 ? 32 : 11;\n\twhile(ft == 0x02 ? d.l < d.length && d[d.l] != 0x0d: d.l < hend) {\n\t\tfield = ({});\n\t\tfield.name = cptable.utils.decode(current_cp, d.slice(d.l, d.l+ww)).replace(/[\\u0000\\r\\n].*$/g,\"\");\n\t\td.l += ww;\n\t\tfield.type = String.fromCharCode(d.read_shift(1));\n\t\tif(ft != 0x02 && !l7) field.offset = d.read_shift(4);\n\t\tfield.len = d.read_shift(1);\n\t\tif(ft == 0x02) field.offset = d.read_shift(2);\n\t\tfield.dec = d.read_shift(1);\n\t\tif(field.name.length) fields.push(field);\n\t\tif(ft != 0x02) d.l += l7 ? 13 : 14;\n\t\tswitch(field.type) {\n\t\t\tcase 'B': // VFP Double\n\t\t\t\tif((!vfp || field.len != 8) && opts.WTF) console.log('Skipping ' + field.name + ':' + field.type);\n\t\t\t\tbreak;\n\t\t\tcase 'G': // General\n\t\t\tcase 'P': // Picture\n\t\t\t\tif(opts.WTF) console.log('Skipping ' + field.name + ':' + field.type);\n\t\t\t\tbreak;\n\t\t\tcase 'C': // character\n\t\t\tcase 'D': // date\n\t\t\tcase 'F': // floating point\n\t\t\tcase 'I': // long\n\t\t\tcase 'L': // boolean\n\t\t\tcase 'M': // memo\n\t\t\tcase 'N': // number\n\t\t\tcase 'O': // double\n\t\t\tcase 'T': // datetime\n\t\t\tcase 'Y': // currency\n\t\t\tcase '0': // VFP _NullFlags\n\t\t\tcase '@': // timestamp\n\t\t\tcase '+': // autoincrement\n\t\t\t\tbreak;\n\t\t\tdefault: throw new Error('Unknown Field Type: ' + field.type);\n\t\t}\n\t}\n\tif(d[d.l] !== 0x0D) d.l = fpos-1;\n\telse if(ft == 0x02) d.l = 0x209;\n\tif(ft != 0x02) {\n\t\tif(d.read_shift(1) !== 0x0D) throw new Error(\"DBF Terminator not found \" + d.l + \" \" + d[d.l]);\n\t\td.l = fpos;\n\t}\n\t/* data */\n\tvar R = 0, C = 0;\n\tout[0] = [];\n\tfor(C = 0; C != fields.length; ++C) out[0][C] = fields[C].name;\n\twhile(nrow-- > 0) {\n\t\tif(d[d.l] === 0x2A) { d.l+=rlen; continue; }\n\t\t++d.l;\n\t\tout[++R] = []; C = 0;\n\t\tfor(C = 0; C != fields.length; ++C) {\n\t\t\tvar dd = d.slice(d.l, d.l+fields[C].len); d.l+=fields[C].len;\n\t\t\tprep_blob(dd, 0);\n\t\t\tvar s = cptable.utils.decode(current_cp, dd);\n\t\t\tswitch(fields[C].type) {\n\t\t\t\tcase 'C':\n\t\t\t\t\tout[R][C] = cptable.utils.decode(current_cp, dd);\n\t\t\t\t\tout[R][C] = out[R][C].trim();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'D':\n\t\t\t\t\tif(s.length === 8) out[R][C] = new Date(+s.slice(0,4), +s.slice(4,6)-1, +s.slice(6,8));\n\t\t\t\t\telse out[R][C] = s;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'F': out[R][C] = parseFloat(s.trim()); break;\n\t\t\t\tcase '+': case 'I': out[R][C] = l7 ? dd.read_shift(-4, 'i') ^ 0x80000000 : dd.read_shift(4, 'i'); break;\n\t\t\t\tcase 'L': switch(s.toUpperCase()) {\n\t\t\t\t\tcase 'Y': case 'T': out[R][C] = true; break;\n\t\t\t\t\tcase 'N': case 'F': out[R][C] = false; break;\n\t\t\t\t\tcase ' ': case '?': out[R][C] = false; break; /* NOTE: technically uninitialized */\n\t\t\t\t\tdefault: throw new Error(\"DBF Unrecognized L:|\" + s + \"|\");\n\t\t\t\t\t} break;\n\t\t\t\tcase 'M': /* TODO: handle memo files */\n\t\t\t\t\tif(!memo) throw new Error(\"DBF Unexpected MEMO for type \" + ft.toString(16));\n\t\t\t\t\tout[R][C] = \"##MEMO##\" + (l7 ? parseInt(s.trim(), 10): dd.read_shift(4));\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'N': out[R][C] = +s.replace(/\\u0000/g,\"\").trim(); break;\n\t\t\t\tcase '@': out[R][C] = new Date(dd.read_shift(-8, 'f') - 0x388317533400); break;\n\t\t\t\tcase 'T': out[R][C] = new Date((dd.read_shift(4) - 0x253D8C) * 0x5265C00 + dd.read_shift(4)); break;\n\t\t\t\tcase 'Y': out[R][C] = dd.read_shift(4,'i')/1e4; break;\n\t\t\t\tcase 'O': out[R][C] = -dd.read_shift(-8, 'f'); break;\n\t\t\t\tcase 'B': if(vfp && fields[C].len == 8) { out[R][C] = dd.read_shift(8,'f'); break; }\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 'G': case 'P': dd.l += fields[C].len; break;\n\t\t\t\tcase '0':\n\t\t\t\t\tif(fields[C].name === '_NullFlags') break;\n\t\t\t\t\t/* falls through */\n\t\t\t\tdefault: throw new Error(\"DBF Unsupported data type \" + fields[C].type);\n\t\t\t}\n\t\t}\n\t}\n\tif(ft != 0x02) if(d.l < d.length && d[d.l++] != 0x1A) throw new Error(\"DBF EOF Marker missing \" + (d.l-1) + \" of \" + d.length + \" \" + d[d.l-1].toString(16));\n\tif(opts && opts.sheetRows) out = out.slice(0, opts.sheetRows);\n\treturn out;\n}\n\nfunction dbf_to_sheet(buf, opts) {\n\tvar o = opts || {};\n\tif(!o.dateNF) o.dateNF = \"yyyymmdd\";\n\treturn aoa_to_sheet(dbf_to_aoa(buf, o), o);\n}\n\nfunction dbf_to_workbook(buf, opts) {\n\ttry { return sheet_to_workbook(dbf_to_sheet(buf, opts), opts); }\n\tcatch(e) { if(opts && opts.WTF) throw e; }\n\treturn ({SheetNames:[],Sheets:{}});\n}\n\nvar _RLEN = { 'B': 8, 'C': 250, 'L': 1, 'D': 8, '?': 0, '': 0 };\nfunction sheet_to_dbf(ws, opts) {\n\tvar o = opts || {};\n\tif(+o.codepage >= 0) set_cp(+o.codepage);\n\tif(o.type == \"string\") throw new Error(\"Cannot write DBF to JS string\");\n\tvar ba = buf_array();\n\tvar aoa = sheet_to_json(ws, {header:1, raw:true, cellDates:true});\n\tvar headers = aoa[0], data = aoa.slice(1);\n\tvar i = 0, j = 0, hcnt = 0, rlen = 1;\n\tfor(i = 0; i < headers.length; ++i) {\n\t\tif(i == null) continue;\n\t\t++hcnt;\n\t\tif(typeof headers[i] === 'number') headers[i] = headers[i].toString(10);\n\t\tif(typeof headers[i] !== 'string') throw new Error(\"DBF Invalid column name \" + headers[i] + \" |\" + (typeof headers[i]) + \"|\");\n\t\tif(headers.indexOf(headers[i]) !== i) for(j=0; j<1024;++j)\n\t\t\tif(headers.indexOf(headers[i] + \"_\" + j) == -1) { headers[i] += \"_\" + j; break; }\n\t}\n\tvar range = safe_decode_range(ws['!ref']);\n\tvar coltypes = [];\n\tfor(i = 0; i <= range.e.c - range.s.c; ++i) {\n\t\tvar col = [];\n\t\tfor(j=0; j < data.length; ++j) {\n\t\t\tif(data[j][i] != null) col.push(data[j][i]);\n\t\t}\n\t\tif(col.length == 0 || headers[i] == null) { coltypes[i] = '?'; continue; }\n\t\tvar guess = '', _guess = '';\n\t\tfor(j = 0; j < col.length; ++j) {\n\t\t\tswitch(typeof col[j]) {\n\t\t\t\t/* TODO: check if L2 compat is desired */\n\t\t\t\tcase 'number': _guess = 'B'; break;\n\t\t\t\tcase 'string': _guess = 'C'; break;\n\t\t\t\tcase 'boolean': _guess = 'L'; break;\n\t\t\t\tcase 'object': _guess = col[j] instanceof Date ? 'D' : 'C'; break;\n\t\t\t\tdefault: _guess = 'C';\n\t\t\t}\n\t\t\tguess = guess && guess != _guess ? 'C' : _guess;\n\t\t\tif(guess == 'C') break;\n\t\t}\n\t\trlen += _RLEN[guess] || 0;\n\t\tcoltypes[i] = guess;\n\t}\n\n\tvar h = ba.next(32);\n\th.write_shift(4, 0x13021130);\n\th.write_shift(4, data.length);\n\th.write_shift(2, 296 + 32 * hcnt);\n\th.write_shift(2, rlen);\n\tfor(i=0; i < 4; ++i) h.write_shift(4, 0);\n\th.write_shift(4, 0x00000000 | ((+dbf_reverse_map[current_ansi] || 0x03)<<8));\n\n\tfor(i = 0, j = 0; i < headers.length; ++i) {\n\t\tif(headers[i] == null) continue;\n\t\tvar hf = ba.next(32);\n\t\tvar _f = (headers[i].slice(-10) + \"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\").slice(0, 11);\n\t\thf.write_shift(1, _f, \"sbcs\");\n\t\thf.write_shift(1, coltypes[i] == '?' ? 'C' : coltypes[i], \"sbcs\");\n\t\thf.write_shift(4, j);\n\t\thf.write_shift(1, _RLEN[coltypes[i]] || 0);\n\t\thf.write_shift(1, 0);\n\t\thf.write_shift(1, 0x02);\n\t\thf.write_shift(4, 0);\n\t\thf.write_shift(1, 0);\n\t\thf.write_shift(4, 0);\n\t\thf.write_shift(4, 0);\n\t\tj += _RLEN[coltypes[i]] || 0;\n\t}\n\n\tvar hb = ba.next(264);\n\thb.write_shift(4, 0x0000000D);\n\tfor(i=0; i < 65;++i) hb.write_shift(4, 0x00000000);\n\tfor(i=0; i < data.length; ++i) {\n\t\tvar rout = ba.next(rlen);\n\t\trout.write_shift(1, 0);\n\t\tfor(j=0; j\":190, \"?\":191, \"{\":223\n\t});\n\tvar sylk_char_regex = new RegExp(\"\\u001BN(\" + keys(sylk_escapes).join(\"|\").replace(/\\|\\|\\|/, \"|\\\\||\").replace(/([?()+])/g,\"\\\\$1\") + \"|\\\\|)\", \"gm\");\n\tvar sylk_char_fn = function(_, $1){ var o = sylk_escapes[$1]; return typeof o == \"number\" ? _getansi(o) : o; };\n\tvar decode_sylk_char = function($$, $1, $2) { var newcc = (($1.charCodeAt(0) - 0x20)<<4) | ($2.charCodeAt(0) - 0x30); return newcc == 59 ? $$ : _getansi(newcc); };\n\tsylk_escapes[\"|\"] = 254;\n\t/* TODO: find an actual specification */\n\tfunction sylk_to_aoa(d, opts) {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return sylk_to_aoa_str(Base64.decode(d), opts);\n\t\t\tcase 'binary': return sylk_to_aoa_str(d, opts);\n\t\t\tcase 'buffer': return sylk_to_aoa_str(d.toString('binary'), opts);\n\t\t\tcase 'array': return sylk_to_aoa_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\tfunction sylk_to_aoa_str(str, opts) {\n\t\tvar records = str.split(/[\\n\\r]+/), R = -1, C = -1, ri = 0, rj = 0, arr = [];\n\t\tvar formats = [];\n\t\tvar next_cell_format = null;\n\t\tvar sht = {}, rowinfo = [], colinfo = [], cw = [];\n\t\tvar Mval = 0, j;\n\t\tif(+opts.codepage >= 0) set_cp(+opts.codepage);\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tMval = 0;\n\t\t\tvar rstr=records[ri].trim().replace(/\\x1B([\\x20-\\x2F])([\\x30-\\x3F])/g, decode_sylk_char).replace(sylk_char_regex, sylk_char_fn);\n\t\t\tvar record=rstr.replace(/;;/g, \"\\u0000\").split(\";\").map(function(x) { return x.replace(/\\u0000/g, \";\"); });\n\t\t\tvar RT=record[0], val;\n\t\t\tif(rstr.length > 0) switch(RT) {\n\t\t\tcase 'ID': break; /* header */\n\t\t\tcase 'E': break; /* EOF */\n\t\t\tcase 'B': break; /* dimensions */\n\t\t\tcase 'O': break; /* options? */\n\t\t\tcase 'P':\n\t\t\t\tif(record[1].charAt(0) == 'P')\n\t\t\t\t\tformats.push(rstr.slice(3).replace(/;;/g, \";\"));\n\t\t\t\tbreak;\n\t\t\tcase 'C':\n\t\t\tvar C_seen_K = false, C_seen_X = false;\n\t\t\tfor(rj=1; rj 0) { rowinfo[R].hpt = Mval; rowinfo[R].hpx = pt2px(Mval); }\n\t\t\t\t\telse if(Mval === 0) rowinfo[R].hidden = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault: if(opts && opts.WTF) throw new Error(\"SYLK bad record \" + rstr);\n\t\t\t}\n\t\t\tif(F_seen < 1) next_cell_format = null; break;\n\t\t\tdefault: if(opts && opts.WTF) throw new Error(\"SYLK bad record \" + rstr);\n\t\t\t}\n\t\t}\n\t\tif(rowinfo.length > 0) sht['!rows'] = rowinfo;\n\t\tif(colinfo.length > 0) sht['!cols'] = colinfo;\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn [arr, sht];\n\t}\n\n\tfunction sylk_to_sheet(d, opts) {\n\t\tvar aoasht = sylk_to_aoa(d, opts);\n\t\tvar aoa = aoasht[0], ws = aoasht[1];\n\t\tvar o = aoa_to_sheet(aoa, opts);\n\t\tkeys(ws).forEach(function(k) { o[k] = ws[k]; });\n\t\treturn o;\n\t}\n\n\tfunction sylk_to_workbook(d, opts) { return sheet_to_workbook(sylk_to_sheet(d, opts), opts); }\n\n\tfunction write_ws_cell_sylk(cell, ws, R, C) {\n\t\tvar o = \"C;Y\" + (R+1) + \";X\" + (C+1) + \";K\";\n\t\tswitch(cell.t) {\n\t\t\tcase 'n':\n\t\t\t\to += (cell.v||0);\n\t\t\t\tif(cell.f && !cell.F) o += \";E\" + a1_to_rc(cell.f, {r:R, c:C}); break;\n\t\t\tcase 'b': o += cell.v ? \"TRUE\" : \"FALSE\"; break;\n\t\t\tcase 'e': o += cell.w || cell.v; break;\n\t\t\tcase 'd': o += '\"' + (cell.w || cell.v) + '\"'; break;\n\t\t\tcase 's': o += '\"' + cell.v.replace(/\"/g,\"\") + '\"'; break;\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction write_ws_cols_sylk(out, cols) {\n\t\tcols.forEach(function(col, i) {\n\t\t\tvar rec = \"F;W\" + (i+1) + \" \" + (i+1) + \" \";\n\t\t\tif(col.hidden) rec += \"0\";\n\t\t\telse {\n\t\t\t\tif(typeof col.width == 'number') col.wpx = width2px(col.width);\n\t\t\t\tif(typeof col.wpx == 'number') col.wch = px2char(col.wpx);\n\t\t\t\tif(typeof col.wch == 'number') rec += Math.round(col.wch);\n\t\t\t}\n\t\t\tif(rec.charAt(rec.length - 1) != \" \") out.push(rec);\n\t\t});\n\t}\n\n\tfunction write_ws_rows_sylk(out, rows) {\n\t\trows.forEach(function(row, i) {\n\t\t\tvar rec = \"F;\";\n\t\t\tif(row.hidden) rec += \"M0;\";\n\t\t\telse if(row.hpt) rec += \"M\" + 20 * row.hpt + \";\";\n\t\t\telse if(row.hpx) rec += \"M\" + 20 * px2pt(row.hpx) + \";\";\n\t\t\tif(rec.length > 2) out.push(rec + \"R\" + (i+1));\n\t\t});\n\t}\n\n\tfunction sheet_to_sylk(ws, opts) {\n\t\tvar preamble = [\"ID;PWXL;N;E\"], o = [];\n\t\tvar r = safe_decode_range(ws['!ref']), cell;\n\t\tvar dense = Array.isArray(ws);\n\t\tvar RS = \"\\r\\n\";\n\n\t\tpreamble.push(\"P;PGeneral\");\n\t\tpreamble.push(\"F;P0;DG0G8;M255\");\n\t\tif(ws['!cols']) write_ws_cols_sylk(preamble, ws['!cols']);\n\t\tif(ws['!rows']) write_ws_rows_sylk(preamble, ws['!rows']);\n\n\t\tpreamble.push(\"B;Y\" + (r.e.r - r.s.r + 1) + \";X\" + (r.e.c - r.s.c + 1) + \";D\" + [r.s.c,r.s.r,r.e.c,r.e.r].join(\" \"));\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C]: ws[coord];\n\t\t\t\tif(!cell || (cell.v == null && (!cell.f || cell.F))) continue;\n\t\t\t\to.push(write_ws_cell_sylk(cell, ws, R, C, opts));\n\t\t\t}\n\t\t}\n\t\treturn preamble.join(RS) + RS + o.join(RS) + RS + \"E\" + RS;\n\t}\n\n\treturn {\n\t\tto_workbook: sylk_to_workbook,\n\t\tto_sheet: sylk_to_sheet,\n\t\tfrom_sheet: sheet_to_sylk\n\t};\n})();\n\nvar DIF = (function() {\n\tfunction dif_to_aoa(d, opts) {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return dif_to_aoa_str(Base64.decode(d), opts);\n\t\t\tcase 'binary': return dif_to_aoa_str(d, opts);\n\t\t\tcase 'buffer': return dif_to_aoa_str(d.toString('binary'), opts);\n\t\t\tcase 'array': return dif_to_aoa_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\tfunction dif_to_aoa_str(str, opts) {\n\t\tvar records = str.split('\\n'), R = -1, C = -1, ri = 0, arr = [];\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tif (records[ri].trim() === 'BOT') { arr[++R] = []; C = 0; continue; }\n\t\t\tif (R < 0) continue;\n\t\t\tvar metadata = records[ri].trim().split(\",\");\n\t\t\tvar type = metadata[0], value = metadata[1];\n\t\t\t++ri;\n\t\t\tvar data = records[ri].trim();\n\t\t\tswitch (+type) {\n\t\t\t\tcase -1:\n\t\t\t\t\tif (data === 'BOT') { arr[++R] = []; C = 0; continue; }\n\t\t\t\t\telse if (data !== 'EOD') throw new Error(\"Unrecognized DIF special command \" + data);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0:\n\t\t\t\t\tif(data === 'TRUE') arr[R][C] = true;\n\t\t\t\t\telse if(data === 'FALSE') arr[R][C] = false;\n\t\t\t\t\telse if(!isNaN(fuzzynum(value))) arr[R][C] = fuzzynum(value);\n\t\t\t\t\telse if(!isNaN(fuzzydate(value).getDate())) arr[R][C] = parseDate(value);\n\t\t\t\t\telse arr[R][C] = value;\n\t\t\t\t\t++C; break;\n\t\t\t\tcase 1:\n\t\t\t\t\tdata = data.slice(1,data.length-1);\n\t\t\t\t\tarr[R][C++] = data !== '' ? data : null;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (data === 'EOD') break;\n\t\t}\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn arr;\n\t}\n\n\tfunction dif_to_sheet(str, opts) { return aoa_to_sheet(dif_to_aoa(str, opts), opts); }\n\tfunction dif_to_workbook(str, opts) { return sheet_to_workbook(dif_to_sheet(str, opts), opts); }\n\n\tvar sheet_to_dif = (function() {\n\t\tvar push_field = function pf(o, topic, v, n, s) {\n\t\t\to.push(topic);\n\t\t\to.push(v + \",\" + n);\n\t\t\to.push('\"' + s.replace(/\"/g,'\"\"') + '\"');\n\t\t};\n\t\tvar push_value = function po(o, type, v, s) {\n\t\t\to.push(type + \",\" + v);\n\t\t\to.push(type == 1 ? '\"' + s.replace(/\"/g,'\"\"') + '\"' : s);\n\t\t};\n\t\treturn function sheet_to_dif(ws) {\n\t\t\tvar o = [];\n\t\t\tvar r = safe_decode_range(ws['!ref']), cell;\n\t\t\tvar dense = Array.isArray(ws);\n\t\t\tpush_field(o, \"TABLE\", 0, 1, \"sheetjs\");\n\t\t\tpush_field(o, \"VECTORS\", 0, r.e.r - r.s.r + 1,\"\");\n\t\t\tpush_field(o, \"TUPLES\", 0, r.e.c - r.s.c + 1,\"\");\n\t\t\tpush_field(o, \"DATA\", 0, 0,\"\");\n\t\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\t\tpush_value(o, -1, 0, \"BOT\");\n\t\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\t\tcell = dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t\t\tif(!cell) { push_value(o, 1, 0, \"\"); continue;}\n\t\t\t\t\tswitch(cell.t) {\n\t\t\t\t\t\tcase 'n':\n\t\t\t\t\t\t\tvar val = DIF_XL ? cell.w : cell.v;\n\t\t\t\t\t\t\tif(!val && cell.v != null) val = cell.v;\n\t\t\t\t\t\t\tif(val == null) {\n\t\t\t\t\t\t\t\tif(DIF_XL && cell.f && !cell.F) push_value(o, 1, 0, \"=\" + cell.f);\n\t\t\t\t\t\t\t\telse push_value(o, 1, 0, \"\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse push_value(o, 0, val, \"V\");\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'b':\n\t\t\t\t\t\t\tpush_value(o, 0, cell.v ? 1 : 0, cell.v ? \"TRUE\" : \"FALSE\");\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 's':\n\t\t\t\t\t\t\tpush_value(o, 1, 0, (!DIF_XL || isNaN(cell.v)) ? cell.v : '=\"' + cell.v + '\"');\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'd':\n\t\t\t\t\t\t\tif(!cell.w) cell.w = SSF.format(cell.z || SSF._table[14], datenum(parseDate(cell.v)));\n\t\t\t\t\t\t\tif(DIF_XL) push_value(o, 0, cell.w, \"V\");\n\t\t\t\t\t\t\telse push_value(o, 1, 0, cell.w);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault: push_value(o, 1, 0, \"\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tpush_value(o, -1, 0, \"EOD\");\n\t\t\tvar RS = \"\\r\\n\";\n\t\t\tvar oo = o.join(RS);\n\t\t\t//while((oo.length & 0x7F) != 0) oo += \"\\0\";\n\t\t\treturn oo;\n\t\t};\n\t})();\n\treturn {\n\t\tto_workbook: dif_to_workbook,\n\t\tto_sheet: dif_to_sheet,\n\t\tfrom_sheet: sheet_to_dif\n\t};\n})();\n\nvar ETH = (function() {\n\tfunction decode(s) { return s.replace(/\\\\b/g,\"\\\\\").replace(/\\\\c/g,\":\").replace(/\\\\n/g,\"\\n\"); }\n\tfunction encode(s) { return s.replace(/\\\\/g, \"\\\\b\").replace(/:/g, \"\\\\c\").replace(/\\n/g,\"\\\\n\"); }\n\n\tfunction eth_to_aoa(str, opts) {\n\t\tvar records = str.split('\\n'), R = -1, C = -1, ri = 0, arr = [];\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tvar record = records[ri].trim().split(\":\");\n\t\t\tif(record[0] !== 'cell') continue;\n\t\t\tvar addr = decode_cell(record[1]);\n\t\t\tif(arr.length <= addr.r) for(R = arr.length; R <= addr.r; ++R) if(!arr[R]) arr[R] = [];\n\t\t\tR = addr.r; C = addr.c;\n\t\t\tswitch(record[2]) {\n\t\t\t\tcase 't': arr[R][C] = decode(record[3]); break;\n\t\t\t\tcase 'v': arr[R][C] = +record[3]; break;\n\t\t\t\tcase 'vtf': var _f = record[record.length - 1];\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 'vtc':\n\t\t\t\t\tswitch(record[3]) {\n\t\t\t\t\t\tcase 'nl': arr[R][C] = +record[4] ? true : false; break;\n\t\t\t\t\t\tdefault: arr[R][C] = +record[4]; break;\n\t\t\t\t\t}\n\t\t\t\t\tif(record[2] == 'vtf') arr[R][C] = [arr[R][C], _f];\n\t\t\t}\n\t\t}\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn arr;\n\t}\n\n\tfunction eth_to_sheet(d, opts) { return aoa_to_sheet(eth_to_aoa(d, opts), opts); }\n\tfunction eth_to_workbook(d, opts) { return sheet_to_workbook(eth_to_sheet(d, opts), opts); }\n\n\tvar header = [\n\t\t\"socialcalc:version:1.5\",\n\t\t\"MIME-Version: 1.0\",\n\t\t\"Content-Type: multipart/mixed; boundary=SocialCalcSpreadsheetControlSave\"\n\t].join(\"\\n\");\n\n\tvar sep = [\n\t\t\"--SocialCalcSpreadsheetControlSave\",\n\t\t\"Content-type: text/plain; charset=UTF-8\"\n\t].join(\"\\n\") + \"\\n\";\n\n\t/* TODO: the other parts */\n\tvar meta = [\n\t\t\"# SocialCalc Spreadsheet Control Save\",\n\t\t\"part:sheet\"\n\t].join(\"\\n\");\n\n\tvar end = \"--SocialCalcSpreadsheetControlSave--\";\n\n\tfunction sheet_to_eth_data(ws) {\n\t\tif(!ws || !ws['!ref']) return \"\";\n\t\tvar o = [], oo = [], cell, coord = \"\";\n\t\tvar r = decode_range(ws['!ref']);\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tcoord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t\tif(!cell || cell.v == null || cell.t === 'z') continue;\n\t\t\t\too = [\"cell\", coord, 't'];\n\t\t\t\tswitch(cell.t) {\n\t\t\t\t\tcase 's': case 'str': oo.push(encode(cell.v)); break;\n\t\t\t\t\tcase 'n':\n\t\t\t\t\t\tif(!cell.f) { oo[2]='v'; oo[3]=cell.v; }\n\t\t\t\t\t\telse { oo[2]='vtf'; oo[3]='n'; oo[4]=cell.v; oo[5]=encode(cell.f); }\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'b':\n\t\t\t\t\t\too[2] = 'vt'+(cell.f?'f':'c'); oo[3]='nl'; oo[4]=cell.v?\"1\":\"0\";\n\t\t\t\t\t\too[5] = encode(cell.f||(cell.v?'TRUE':'FALSE'));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'd':\n\t\t\t\t\t\tvar t = datenum(parseDate(cell.v));\n\t\t\t\t\t\too[2] = 'vtc'; oo[3] = 'nd'; oo[4] = \"\"+t;\n\t\t\t\t\t\too[5] = cell.w || SSF.format(cell.z || SSF._table[14], t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'e': continue;\n\t\t\t\t}\n\t\t\t\to.push(oo.join(\":\"));\n\t\t\t}\n\t\t}\n\t\to.push(\"sheet:c:\" + (r.e.c-r.s.c+1) + \":r:\" + (r.e.r-r.s.r+1) + \":tvf:1\");\n\t\to.push(\"valueformat:1:text-wiki\");\n\t\t//o.push(\"copiedfrom:\" + ws['!ref']); // clipboard only\n\t\treturn o.join(\"\\n\");\n\t}\n\n\tfunction sheet_to_eth(ws) {\n\t\treturn [header, sep, meta, sep, sheet_to_eth_data(ws), end].join(\"\\n\");\n\t\t// return [\"version:1.5\", sheet_to_eth_data(ws)].join(\"\\n\"); // clipboard form\n\t}\n\n\treturn {\n\t\tto_workbook: eth_to_workbook,\n\t\tto_sheet: eth_to_sheet,\n\t\tfrom_sheet: sheet_to_eth\n\t};\n})();\n\nvar PRN = (function() {\n\tfunction set_text_arr(data, arr, R, C, o) {\n\t\tif(o.raw) arr[R][C] = data;\n\t\telse if(data === 'TRUE') arr[R][C] = true;\n\t\telse if(data === 'FALSE') arr[R][C] = false;\n\t\telse if(data === \"\"){/* empty */}\n\t\telse if(!isNaN(fuzzynum(data))) arr[R][C] = fuzzynum(data);\n\t\telse if(!isNaN(fuzzydate(data).getDate())) arr[R][C] = parseDate(data);\n\t\telse arr[R][C] = data;\n\t}\n\n\tfunction prn_to_aoa_str(f, opts) {\n\t\tvar o = opts || {};\n\t\tvar arr = ([]);\n\t\tif(!f || f.length === 0) return arr;\n\t\tvar lines = f.split(/[\\r\\n]/);\n\t\tvar L = lines.length - 1;\n\t\twhile(L >= 0 && lines[L].length === 0) --L;\n\t\tvar start = 10, idx = 0;\n\t\tvar R = 0;\n\t\tfor(; R <= L; ++R) {\n\t\t\tidx = lines[R].indexOf(\" \");\n\t\t\tif(idx == -1) idx = lines[R].length; else idx++;\n\t\t\tstart = Math.max(start, idx);\n\t\t}\n\t\tfor(R = 0; R <= L; ++R) {\n\t\t\tarr[R] = [];\n\t\t\t/* TODO: confirm that widths are always 10 */\n\t\t\tvar C = 0;\n\t\t\tset_text_arr(lines[R].slice(0, start).trim(), arr, R, C, o);\n\t\t\tfor(C = 1; C <= (lines[R].length - start)/10 + 1; ++C)\n\t\t\t\tset_text_arr(lines[R].slice(start+(C-1)*10,start+C*10).trim(),arr,R,C,o);\n\t\t}\n\t\tif(o.sheetRows) arr = arr.slice(0, o.sheetRows);\n\t\treturn arr;\n\t}\n\n\t// List of accepted CSV separators\n\tvar guess_seps = {\n0x2C: ',',\n0x09: \"\\t\",\n0x3B: ';'\n\t};\n\n\t// CSV separator weights to be used in case of equal numbers\n\tvar guess_sep_weights = {\n0x2C: 3,\n0x09: 2,\n0x3B: 1\n\t};\n\n\tfunction guess_sep(str) {\n\t\tvar cnt = {}, instr = false, end = 0, cc = 0;\n\t\tfor(;end < str.length;++end) {\n\t\t\tif((cc=str.charCodeAt(end)) == 0x22) instr = !instr;\n\t\t\telse if(!instr && cc in guess_seps) cnt[cc] = (cnt[cc]||0)+1;\n\t\t}\n\n\t\tcc = [];\n\t\tfor(end in cnt) if ( Object.prototype.hasOwnProperty.call(cnt, end) ) {\n\t\t\tcc.push([ cnt[end], end ]);\n\t\t}\n\n\t\tif ( !cc.length ) {\n\t\t\tcnt = guess_sep_weights;\n\t\t\tfor(end in cnt) if ( Object.prototype.hasOwnProperty.call(cnt, end) ) {\n\t\t\t\tcc.push([ cnt[end], end ]);\n\t\t\t}\n\t\t}\n\n\t\tcc.sort(function(a, b) { return a[0] - b[0] || guess_sep_weights[a[1]] - guess_sep_weights[b[1]]; });\n\n\t\treturn guess_seps[cc.pop()[1]];\n\t}\n\n\tfunction dsv_to_sheet_str(str, opts) {\n\t\tvar o = opts || {};\n\t\tvar sep = \"\";\n\t\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\t\tvar ws = o.dense ? ([]) : ({});\n\t\tvar range = ({s: {c:0, r:0}, e: {c:0, r:0}});\n\n\t\tif(str.slice(0,4) == \"sep=\") {\n\t\t\t// If the line ends in \\r\\n\n\t\t\tif(str.charCodeAt(5) == 13 && str.charCodeAt(6) == 10 ) {\n\t\t\t\tsep = str.charAt(4); str = str.slice(7);\n\t\t\t}\n\t\t\t// If line ends in \\r OR \\n\n\t\t\telse if(str.charCodeAt(5) == 13 || str.charCodeAt(5) == 10 ) {\n\t\t\t\t//\n\t\t\t\tsep = str.charAt(4); str = str.slice(6);\n\t\t\t}\n\t\t}\n\t\telse sep = guess_sep(str.slice(0,1024));\n\t\tvar R = 0, C = 0, v = 0;\n\t\tvar start = 0, end = 0, sepcc = sep.charCodeAt(0), instr = false, cc=0;\n\t\tstr = str.replace(/\\r\\n/mg, \"\\n\");\n\t\tvar _re = o.dateNF != null ? dateNF_regex(o.dateNF) : null;\n\t\tfunction finish_cell() {\n\t\t\tvar s = str.slice(start, end);\n\t\t\tvar cell = ({});\n\t\t\tif(s.charAt(0) == '\"' && s.charAt(s.length - 1) == '\"') s = s.slice(1,-1).replace(/\"\"/g,'\"');\n\t\t\tif(s.length === 0) cell.t = 'z';\n\t\t\telse if(o.raw) { cell.t = 's'; cell.v = s; }\n\t\t\telse if(s.trim().length === 0) { cell.t = 's'; cell.v = s; }\n\t\t\telse if(s.charCodeAt(0) == 0x3D) {\n\t\t\t\tif(s.charCodeAt(1) == 0x22 && s.charCodeAt(s.length - 1) == 0x22) { cell.t = 's'; cell.v = s.slice(2,-1).replace(/\"\"/g,'\"'); }\n\t\t\t\telse if(fuzzyfmla(s)) { cell.t = 'n'; cell.f = s.slice(1); }\n\t\t\t\telse { cell.t = 's'; cell.v = s; } }\n\t\t\telse if(s == \"TRUE\") { cell.t = 'b'; cell.v = true; }\n\t\t\telse if(s == \"FALSE\") { cell.t = 'b'; cell.v = false; }\n\t\t\telse if(!isNaN(v = fuzzynum(s))) { cell.t = 'n'; if(o.cellText !== false) cell.w = s; cell.v = v; }\n\t\t\telse if(!isNaN(fuzzydate(s).getDate()) || _re && s.match(_re)) {\n\t\t\t\tcell.z = o.dateNF || SSF._table[14];\n\t\t\t\tvar k = 0;\n\t\t\t\tif(_re && s.match(_re)){ s=dateNF_fix(s, o.dateNF, (s.match(_re)||[])); k=1; }\n\t\t\t\tif(o.cellDates) { cell.t = 'd'; cell.v = parseDate(s, k); }\n\t\t\t\telse { cell.t = 'n'; cell.v = datenum(parseDate(s, k)); }\n\t\t\t\tif(o.cellText !== false) cell.w = SSF.format(cell.z, cell.v instanceof Date ? datenum(cell.v):cell.v);\n\t\t\t\tif(!o.cellNF) delete cell.z;\n\t\t\t} else {\n\t\t\t\tcell.t = 's';\n\t\t\t\tcell.v = s;\n\t\t\t}\n\t\t\tif(cell.t == 'z'){}\n\t\t\telse if(o.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = cell; }\n\t\t\telse ws[encode_cell({c:C,r:R})] = cell;\n\t\t\tstart = end+1;\n\t\t\tif(range.e.c < C) range.e.c = C;\n\t\t\tif(range.e.r < R) range.e.r = R;\n\t\t\tif(cc == sepcc) ++C; else { C = 0; ++R; if(o.sheetRows && o.sheetRows <= R) return true; }\n\t\t}\n\t\touter: for(;end < str.length;++end) switch((cc=str.charCodeAt(end))) {\n\t\t\tcase 0x22: instr = !instr; break;\n\t\t\tcase sepcc: case 0x0a: case 0x0d: if(!instr && finish_cell()) break outer; break;\n\t\t\tdefault: break;\n\t\t}\n\t\tif(end - start > 0) finish_cell();\n\n\t\tws['!ref'] = encode_range(range);\n\t\treturn ws;\n\t}\n\n\tfunction prn_to_sheet_str(str, opts) {\n\t\tif(!(opts && opts.PRN)) return dsv_to_sheet_str(str, opts);\n\t\tif(str.slice(0,4) == \"sep=\") return dsv_to_sheet_str(str, opts);\n\t\tif(str.indexOf(\"\\t\") >= 0 || str.indexOf(\",\") >= 0 || str.indexOf(\";\") >= 0) return dsv_to_sheet_str(str, opts);\n\t\treturn aoa_to_sheet(prn_to_aoa_str(str, opts), opts);\n\t}\n\n\tfunction prn_to_sheet(d, opts) {\n\t\tvar str = \"\", bytes = opts.type == 'string' ? [0,0,0,0] : firstbyte(d, opts);\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': str = Base64.decode(d); break;\n\t\t\tcase 'binary': str = d; break;\n\t\t\tcase 'buffer':\n\t\t\t\tif(opts.codepage == 65001) str = d.toString('utf8');\n\t\t\t\telse if(opts.codepage && typeof cptable !== 'undefined') str = cptable.utils.decode(opts.codepage, d);\n\t\t\t\telse str = d.toString('binary');\n\t\t\t\tbreak;\n\t\t\tcase 'array': str = cc2str(d); break;\n\t\t\tcase 'string': str = d; break;\n\t\t\tdefault: throw new Error(\"Unrecognized type \" + opts.type);\n\t\t}\n\t\tif(bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) str = utf8read(str.slice(3));\n\t\telse if((opts.type == 'binary') && typeof cptable !== 'undefined' && opts.codepage) str = cptable.utils.decode(opts.codepage, cptable.utils.encode(1252,str));\n\t\tif(str.slice(0,19) == \"socialcalc:version:\") return ETH.to_sheet(opts.type == 'string' ? str : utf8read(str), opts);\n\t\treturn prn_to_sheet_str(str, opts);\n\t}\n\n\tfunction prn_to_workbook(d, opts) { return sheet_to_workbook(prn_to_sheet(d, opts), opts); }\n\n\tfunction sheet_to_prn(ws) {\n\t\tvar o = [];\n\t\tvar r = safe_decode_range(ws['!ref']), cell;\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tvar oo = [];\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t\tif(!cell || cell.v == null) { oo.push(\" \"); continue; }\n\t\t\t\tvar w = (cell.w || (format_cell(cell), cell.w) || \"\").slice(0,10);\n\t\t\t\twhile(w.length < 10) w += \" \";\n\t\t\t\too.push(w + (C === 0 ? \" \" : \"\"));\n\t\t\t}\n\t\t\to.push(oo.join(\"\"));\n\t\t}\n\t\treturn o.join(\"\\n\");\n\t}\n\n\treturn {\n\t\tto_workbook: prn_to_workbook,\n\t\tto_sheet: prn_to_sheet,\n\t\tfrom_sheet: sheet_to_prn\n\t};\n})();\n\n/* Excel defaults to SYLK but warns if data is not valid */\nfunction read_wb_ID(d, opts) {\n\tvar o = opts || {}, OLD_WTF = !!o.WTF; o.WTF = true;\n\ttry {\n\t\tvar out = SYLK.to_workbook(d, o);\n\t\to.WTF = OLD_WTF;\n\t\treturn out;\n\t} catch(e) {\n\t\to.WTF = OLD_WTF;\n\t\tif(!e.message.match(/SYLK bad record ID/) && OLD_WTF) throw e;\n\t\treturn PRN.to_workbook(d, opts);\n\t}\n}\n\nvar WK_ = (function() {\n\tfunction lotushopper(data, cb, opts) {\n\t\tif(!data) return;\n\t\tprep_blob(data, data.l || 0);\n\t\tvar Enum = opts.Enum || WK1Enum;\n\t\twhile(data.l < data.length) {\n\t\t\tvar RT = data.read_shift(2);\n\t\t\tvar R = Enum[RT] || Enum[0xFF];\n\t\t\tvar length = data.read_shift(2);\n\t\t\tvar tgt = data.l + length;\n\t\t\tvar d = (R.f||parsenoop)(data, length, opts);\n\t\t\tdata.l = tgt;\n\t\t\tif(cb(d, R.n, RT)) return;\n\t\t}\n\t}\n\n\tfunction lotus_to_workbook(d, opts) {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return lotus_to_workbook_buf(s2a(Base64.decode(d)), opts);\n\t\t\tcase 'binary': return lotus_to_workbook_buf(s2a(d), opts);\n\t\t\tcase 'buffer':\n\t\t\tcase 'array': return lotus_to_workbook_buf(d, opts);\n\t\t}\n\t\tthrow \"Unsupported type \" + opts.type;\n\t}\n\n\tfunction lotus_to_workbook_buf(d, opts) {\n\t\tif(!d) return d;\n\t\tvar o = opts || {};\n\t\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\t\tvar s = ((o.dense ? [] : {})), n = \"Sheet1\", sidx = 0;\n\t\tvar sheets = {}, snames = [n];\n\n\t\tvar refguess = {s: {r:0, c:0}, e: {r:0, c:0} };\n\t\tvar sheetRows = o.sheetRows || 0;\n\n\t\tif(d[2] == 0x02) o.Enum = WK1Enum;\n\t\telse if(d[2] == 0x1a) o.Enum = WK3Enum;\n\t\telse if(d[2] == 0x0e) { o.Enum = WK3Enum; o.qpro = true; d.l = 0; }\n\t\telse throw new Error(\"Unrecognized LOTUS BOF \" + d[2]);\n\t\tlotushopper(d, function(val, Rn, RT) {\n\t\t\tif(d[2] == 0x02) switch(RT) {\n\t\t\t\tcase 0x00:\n\t\t\t\t\to.vers = val;\n\t\t\t\t\tif(val >= 0x1000) o.qpro = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x06: refguess = val; break; /* RANGE */\n\t\t\t\tcase 0x0F: /* LABEL */\n\t\t\t\t\tif(!o.qpro) val[1].v = val[1].v.slice(1);\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 0x0D: /* INTEGER */\n\t\t\t\tcase 0x0E: /* NUMBER */\n\t\t\t\tcase 0x10: /* FORMULA */\n\t\t\t\tcase 0x33: /* STRING */\n\t\t\t\t\t/* TODO: actual translation of the format code */\n\t\t\t\t\tif(RT == 0x0E && (val[2] & 0x70) == 0x70 && (val[2] & 0x0F) > 1 && (val[2] & 0x0F) < 15) {\n\t\t\t\t\t\tval[1].z = o.dateNF || SSF._table[14];\n\t\t\t\t\t\tif(o.cellDates) { val[1].t = 'd'; val[1].v = numdate(val[1].v); }\n\t\t\t\t\t}\n\t\t\t\t\tif(o.dense) {\n\t\t\t\t\t\tif(!s[val[0].r]) s[val[0].r] = [];\n\t\t\t\t\t\ts[val[0].r][val[0].c] = val[1];\n\t\t\t\t\t} else s[encode_cell(val[0])] = val[1];\n\t\t\t\t\tbreak;\n\t\t\t} else switch(RT) {\n\t\t\t\tcase 0x16: /* LABEL16 */\n\t\t\t\t\tval[1].v = val[1].v.slice(1);\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 0x17: /* NUMBER17 */\n\t\t\t\tcase 0x18: /* NUMBER18 */\n\t\t\t\tcase 0x19: /* FORMULA19 */\n\t\t\t\tcase 0x25: /* NUMBER25 */\n\t\t\t\tcase 0x27: /* NUMBER27 */\n\t\t\t\tcase 0x28: /* FORMULA28 */\n\t\t\t\t\tif(val[3] > sidx) {\n\t\t\t\t\t\ts[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\t\tsheets[n] = s;\n\t\t\t\t\t\ts = (o.dense ? [] : {});\n\t\t\t\t\t\trefguess = {s: {r:0, c:0}, e: {r:0, c:0} };\n\t\t\t\t\t\tsidx = val[3]; n = \"Sheet\" + (sidx + 1);\n\t\t\t\t\t\tsnames.push(n);\n\t\t\t\t\t}\n\t\t\t\t\tif(sheetRows > 0 && val[0].r >= sheetRows) break;\n\t\t\t\t\tif(o.dense) {\n\t\t\t\t\t\tif(!s[val[0].r]) s[val[0].r] = [];\n\t\t\t\t\t\ts[val[0].r][val[0].c] = val[1];\n\t\t\t\t\t} else s[encode_cell(val[0])] = val[1];\n\t\t\t\t\tif(refguess.e.c < val[0].c) refguess.e.c = val[0].c;\n\t\t\t\t\tif(refguess.e.r < val[0].r) refguess.e.r = val[0].r;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault: break;\n\t\t\t}\n\t\t}, o);\n\n\t\ts[\"!ref\"] = encode_range(refguess);\n\t\tsheets[n] = s;\n\t\treturn { SheetNames: snames, Sheets:sheets };\n\t}\n\n\tfunction parse_RANGE(blob) {\n\t\tvar o = {s:{c:0,r:0},e:{c:0,r:0}};\n\t\to.s.c = blob.read_shift(2);\n\t\to.s.r = blob.read_shift(2);\n\t\to.e.c = blob.read_shift(2);\n\t\to.e.r = blob.read_shift(2);\n\t\tif(o.s.c == 0xFFFF) o.s.c = o.e.c = o.s.r = o.e.r = 0;\n\t\treturn o;\n\t}\n\n\tfunction parse_cell(blob, length, opts) {\n\t\tvar o = [{c:0,r:0}, {t:'n',v:0}, 0];\n\t\tif(opts.qpro && opts.vers != 0x5120) {\n\t\t\to[0].c = blob.read_shift(1);\n\t\t\tblob.l++;\n\t\t\to[0].r = blob.read_shift(2);\n\t\t\tblob.l+=2;\n\t\t} else {\n\t\t\to[2] = blob.read_shift(1);\n\t\t\to[0].c = blob.read_shift(2); o[0].r = blob.read_shift(2);\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction parse_LABEL(blob, length, opts) {\n\t\tvar tgt = blob.l + length;\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].t = 's';\n\t\tif(opts.vers == 0x5120) {\n\t\t\tblob.l++;\n\t\t\tvar len = blob.read_shift(1);\n\t\t\to[1].v = blob.read_shift(len, 'utf8');\n\t\t\treturn o;\n\t\t}\n\t\tif(opts.qpro) blob.l++;\n\t\to[1].v = blob.read_shift(tgt - blob.l, 'cstr');\n\t\treturn o;\n\t}\n\n\tfunction parse_INTEGER(blob, length, opts) {\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].v = blob.read_shift(2, 'i');\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER(blob, length, opts) {\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].v = blob.read_shift(8, 'f');\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA(blob, length, opts) {\n\t\tvar tgt = blob.l + length;\n\t\tvar o = parse_cell(blob, length, opts);\n\t\t/* TODO: formula */\n\t\to[1].v = blob.read_shift(8, 'f');\n\t\tif(opts.qpro) blob.l = tgt;\n\t\telse {\n\t\t\tvar flen = blob.read_shift(2);\n\t\t\tblob.l += flen;\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction parse_cell_3(blob) {\n\t\tvar o = [{c:0,r:0}, {t:'n',v:0}, 0];\n\t\to[0].r = blob.read_shift(2); o[3] = blob[blob.l++]; o[0].c = blob[blob.l++];\n\t\treturn o;\n\t}\n\n\tfunction parse_LABEL_16(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\to[1].t = 's';\n\t\to[1].v = blob.read_shift(length - 4, 'cstr');\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_18(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\to[1].v = blob.read_shift(2);\n\t\tvar v = o[1].v >> 1;\n\t\t/* TODO: figure out all of the corner cases */\n\t\tif(o[1].v & 0x1) {\n\t\t\tswitch(v & 0x07) {\n\t\t\t\tcase 1: v = (v >> 3) * 500; break;\n\t\t\t\tcase 2: v = (v >> 3) / 20; break;\n\t\t\t\tcase 4: v = (v >> 3) / 2000; break;\n\t\t\t\tcase 6: v = (v >> 3) / 16; break;\n\t\t\t\tcase 7: v = (v >> 3) / 64; break;\n\t\t\t\tdefault: throw \"unknown NUMBER_18 encoding \" + (v & 0x07);\n\t\t\t}\n\t\t}\n\t\to[1].v = v;\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_17(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(4);\n\t\tvar v2 = blob.read_shift(4);\n\t\tvar e = blob.read_shift(2);\n\t\tif(e == 0xFFFF) { o[1].v = 0; return o; }\n\t\tvar s = e & 0x8000; e = (e&0x7FFF) - 16446;\n\t\to[1].v = (s*2 - 1) * ((e > 0 ? (v2 << e) : (v2 >>> -e)) + (e > -32 ? (v1 << (e + 32)) : (v1 >>> -(e + 32))));\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA_19(blob, length) {\n\t\tvar o = parse_NUMBER_17(blob, 14);\n\t\tblob.l += length - 14; /* TODO: formula */\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_25(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(4);\n\t\to[1].v = v1 >> 6;\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_27(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(8,'f');\n\t\to[1].v = v1;\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA_28(blob, length) {\n\t\tvar o = parse_NUMBER_27(blob, 14);\n\t\tblob.l += length - 10; /* TODO: formula */\n\t\treturn o;\n\t}\n\n\tvar WK1Enum = {\n0x0000: { n:\"BOF\", f:parseuint16 },\n0x0001: { n:\"EOF\" },\n0x0002: { n:\"CALCMODE\" },\n0x0003: { n:\"CALCORDER\" },\n0x0004: { n:\"SPLIT\" },\n0x0005: { n:\"SYNC\" },\n0x0006: { n:\"RANGE\", f:parse_RANGE },\n0x0007: { n:\"WINDOW1\" },\n0x0008: { n:\"COLW1\" },\n0x0009: { n:\"WINTWO\" },\n0x000A: { n:\"COLW2\" },\n0x000B: { n:\"NAME\" },\n0x000C: { n:\"BLANK\" },\n0x000D: { n:\"INTEGER\", f:parse_INTEGER },\n0x000E: { n:\"NUMBER\", f:parse_NUMBER },\n0x000F: { n:\"LABEL\", f:parse_LABEL },\n0x0010: { n:\"FORMULA\", f:parse_FORMULA },\n0x0018: { n:\"TABLE\" },\n0x0019: { n:\"ORANGE\" },\n0x001A: { n:\"PRANGE\" },\n0x001B: { n:\"SRANGE\" },\n0x001C: { n:\"FRANGE\" },\n0x001D: { n:\"KRANGE1\" },\n0x0020: { n:\"HRANGE\" },\n0x0023: { n:\"KRANGE2\" },\n0x0024: { n:\"PROTEC\" },\n0x0025: { n:\"FOOTER\" },\n0x0026: { n:\"HEADER\" },\n0x0027: { n:\"SETUP\" },\n0x0028: { n:\"MARGINS\" },\n0x0029: { n:\"LABELFMT\" },\n0x002A: { n:\"TITLES\" },\n0x002B: { n:\"SHEETJS\" },\n0x002D: { n:\"GRAPH\" },\n0x002E: { n:\"NGRAPH\" },\n0x002F: { n:\"CALCCOUNT\" },\n0x0030: { n:\"UNFORMATTED\" },\n0x0031: { n:\"CURSORW12\" },\n0x0032: { n:\"WINDOW\" },\n0x0033: { n:\"STRING\", f:parse_LABEL },\n0x0037: { n:\"PASSWORD\" },\n0x0038: { n:\"LOCKED\" },\n0x003C: { n:\"QUERY\" },\n0x003D: { n:\"QUERYNAME\" },\n0x003E: { n:\"PRINT\" },\n0x003F: { n:\"PRINTNAME\" },\n0x0040: { n:\"GRAPH2\" },\n0x0041: { n:\"GRAPHNAME\" },\n0x0042: { n:\"ZOOM\" },\n0x0043: { n:\"SYMSPLIT\" },\n0x0044: { n:\"NSROWS\" },\n0x0045: { n:\"NSCOLS\" },\n0x0046: { n:\"RULER\" },\n0x0047: { n:\"NNAME\" },\n0x0048: { n:\"ACOMM\" },\n0x0049: { n:\"AMACRO\" },\n0x004A: { n:\"PARSE\" },\n0x00FF: { n:\"\", f:parsenoop }\n\t};\n\n\tvar WK3Enum = {\n0x0000: { n:\"BOF\" },\n0x0001: { n:\"EOF\" },\n0x0003: { n:\"??\" },\n0x0004: { n:\"??\" },\n0x0005: { n:\"??\" },\n0x0006: { n:\"??\" },\n0x0007: { n:\"??\" },\n0x0009: { n:\"??\" },\n0x000a: { n:\"??\" },\n0x000b: { n:\"??\" },\n0x000c: { n:\"??\" },\n0x000e: { n:\"??\" },\n0x000f: { n:\"??\" },\n0x0010: { n:\"??\" },\n0x0011: { n:\"??\" },\n0x0012: { n:\"??\" },\n0x0013: { n:\"??\" },\n0x0015: { n:\"??\" },\n0x0016: { n:\"LABEL16\", f:parse_LABEL_16},\n0x0017: { n:\"NUMBER17\", f:parse_NUMBER_17 },\n0x0018: { n:\"NUMBER18\", f:parse_NUMBER_18 },\n0x0019: { n:\"FORMULA19\", f:parse_FORMULA_19},\n0x001a: { n:\"??\" },\n0x001b: { n:\"??\" },\n0x001c: { n:\"??\" },\n0x001d: { n:\"??\" },\n0x001e: { n:\"??\" },\n0x001f: { n:\"??\" },\n0x0021: { n:\"??\" },\n0x0025: { n:\"NUMBER25\", f:parse_NUMBER_25 },\n0x0027: { n:\"NUMBER27\", f:parse_NUMBER_27 },\n0x0028: { n:\"FORMULA28\", f:parse_FORMULA_28 },\n0x00FF: { n:\"\", f:parsenoop }\n\t};\n\treturn {\n\t\tto_workbook: lotus_to_workbook\n\t};\n})();\n/* 18.4.7 rPr CT_RPrElt */\nfunction parse_rpr(rpr) {\n\tvar font = {}, m = rpr.match(tagregex), i = 0;\n\tvar pass = false;\n\tif(m) for(;i!=m.length; ++i) {\n\t\tvar y = parsexmltag(m[i]);\n\t\tswitch(y[0].replace(/\\w*:/g,\"\")) {\n\t\t\t/* 18.8.12 condense CT_BooleanProperty */\n\t\t\t/* ** not required . */\n\t\t\tcase '':\n\t\t\tcase '': font.shadow = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.4.1 charset CT_IntProperty TODO */\n\t\t\tcase '':\n\t\t\tcase '': font.outline = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.4.5 rFont CT_FontName */\n\t\t\tcase '':\n\t\t\tcase '': font.strike = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.4.13 u CT_UnderlineProperty */\n\t\t\tcase '':\n\t\t\tcase '': font.u = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.2 b */\n\t\t\tcase '':\n\t\t\tcase '': font.b = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.26 i */\n\t\t\tcase '':\n\t\t\tcase '': font.i = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.3.1.15 color CT_Color TODO: tint, theme, auto, indexed */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault:\n\t\t\t\tif(y[0].charCodeAt(1) !== 47 && !pass) throw new Error('Unrecognized rich format ' + y[0]);\n\t\t}\n\t}\n\treturn font;\n}\n\nvar parse_rs = (function() {\n\tvar tregex = matchtag(\"t\"), rpregex = matchtag(\"rPr\");\n\t/* 18.4.4 r CT_RElt */\n\tfunction parse_r(r) {\n\t\t/* 18.4.12 t ST_Xstring */\n\t\tvar t = r.match(tregex)/*, cp = 65001*/;\n\t\tif(!t) return {t:\"s\", v:\"\"};\n\n\t\tvar o = ({t:'s', v:unescapexml(t[1])});\n\t\tvar rpr = r.match(rpregex);\n\t\tif(rpr) o.s = parse_rpr(rpr[1]);\n\t\treturn o;\n\t}\n\tvar rregex = /<(?:\\w+:)?r>/g, rend = /<\\/(?:\\w+:)?r>/;\n\treturn function parse_rs(rs) {\n\t\treturn rs.replace(rregex,\"\").split(rend).map(parse_r).filter(function(r) { return r.v; });\n\t};\n})();\n\n\n/* Parse a list of tags */\nvar rs_to_html = (function parse_rs_factory() {\n\tvar nlregex = /(\\r\\n|\\n)/g;\n\tfunction parse_rpr2(font, intro, outro) {\n\t\tvar style = [];\n\n\t\tif(font.u) style.push(\"text-decoration: underline;\");\n\t\tif(font.uval) style.push(\"text-underline-style:\" + font.uval + \";\");\n\t\tif(font.sz) style.push(\"font-size:\" + font.sz + \"pt;\");\n\t\tif(font.outline) style.push(\"text-effect: outline;\");\n\t\tif(font.shadow) style.push(\"text-shadow: auto;\");\n\t\tintro.push('');\n\n\t\tif(font.b) { intro.push(\"\"); outro.push(\"\"); }\n\t\tif(font.i) { intro.push(\"\"); outro.push(\"\"); }\n\t\tif(font.strike) { intro.push(\"\"); outro.push(\"\"); }\n\n\t\tvar align = font.valign || \"\";\n\t\tif(align == \"superscript\" || align == \"super\") align = \"sup\";\n\t\telse if(align == \"subscript\") align = \"sub\";\n\t\tif(align != \"\") { intro.push(\"<\" + align + \">\"); outro.push(\"\"); }\n\n\t\toutro.push(\"\");\n\t\treturn font;\n\t}\n\n\t/* 18.4.4 r CT_RElt */\n\tfunction r_to_html(r) {\n\t\tvar terms = [[],r.v,[]];\n\t\tif(!r.v) return \"\";\n\n\t\tif(r.s) parse_rpr2(r.s, terms[0], terms[2]);\n\n\t\treturn terms[0].join(\"\") + terms[1].replace(nlregex,'
') + terms[2].join(\"\");\n\t}\n\n\treturn function parse_rs(rs) {\n\t\treturn rs.map(r_to_html).join(\"\");\n\t};\n})();\n\n/* 18.4.8 si CT_Rst */\nvar sitregex = /<(?:\\w+:)?t[^>]*>([^<]*)<\\/(?:\\w+:)?t>/g, sirregex = /<(?:\\w+:)?r>/;\nvar sirphregex = /<(?:\\w+:)?rPh.*?>([\\s\\S]*?)<\\/(?:\\w+:)?rPh>/g;\nfunction parse_si(x, opts) {\n\tvar html = opts ? opts.cellHTML : true;\n\tvar z = {};\n\tif(!x) return { t: \"\" };\n\t//var y;\n\t/* 18.4.12 t ST_Xstring (Plaintext String) */\n\t// TODO: is whitespace actually valid here?\n\tif(x.match(/^\\s*<(?:\\w+:)?t[^>]*>/)) {\n\t\tz.t = unescapexml(utf8read(x.slice(x.indexOf(\">\")+1).split(/<\\/(?:\\w+:)?t>/)[0]||\"\"));\n\t\tz.r = utf8read(x);\n\t\tif(html) z.h = escapehtml(z.t);\n\t}\n\t/* 18.4.4 r CT_RElt (Rich Text Run) */\n\telse if((/*y = */x.match(sirregex))) {\n\t\tz.r = utf8read(x);\n\t\tz.t = unescapexml(utf8read((x.replace(sirphregex, '').match(sitregex)||[]).join(\"\").replace(tagregex,\"\")));\n\t\tif(html) z.h = rs_to_html(parse_rs(z.r));\n\t}\n\t/* 18.4.3 phoneticPr CT_PhoneticPr (TODO: needed for Asian support) */\n\t/* 18.4.6 rPh CT_PhoneticRun (TODO: needed for Asian support) */\n\treturn z;\n}\n\n/* 18.4 Shared String Table */\nvar sstr0 = /<(?:\\w+:)?sst([^>]*)>([\\s\\S]*)<\\/(?:\\w+:)?sst>/;\nvar sstr1 = /<(?:\\w+:)?(?:si|sstItem)>/g;\nvar sstr2 = /<\\/(?:\\w+:)?(?:si|sstItem)>/;\nfunction parse_sst_xml(data, opts) {\n\tvar s = ([]), ss = \"\";\n\tif(!data) return s;\n\t/* 18.4.9 sst CT_Sst */\n\tvar sst = data.match(sstr0);\n\tif(sst) {\n\t\tss = sst[2].replace(sstr1,\"\").split(sstr2);\n\t\tfor(var i = 0; i != ss.length; ++i) {\n\t\t\tvar o = parse_si(ss[i].trim(), opts);\n\t\t\tif(o != null) s[s.length] = o;\n\t\t}\n\t\tsst = parsexmltag(sst[1]); s.Count = sst.count; s.Unique = sst.uniqueCount;\n\t}\n\treturn s;\n}\n\nRELS.SST = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings\";\nvar straywsregex = /^\\s|\\s$|[\\t\\n\\r]/;\nfunction write_sst_xml(sst, opts) {\n\tif(!opts.bookSST) return \"\";\n\tvar o = [XML_HEADER];\n\to[o.length] = (writextag('sst', null, {\n\t\txmlns: XMLNS.main[0],\n\t\tcount: sst.Count,\n\t\tuniqueCount: sst.Unique\n\t}));\n\tfor(var i = 0; i != sst.length; ++i) { if(sst[i] == null) continue;\n\t\tvar s = sst[i];\n\t\tvar sitag = \"\";\n\t\tif(s.r) sitag += s.r;\n\t\telse {\n\t\t\tsitag += \"\" + escapexml(s.t) + \"\";\n\t\t}\n\t\tsitag += \"\";\n\t\to[o.length] = (sitag);\n\t}\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.221 BrtBeginSst */\nfunction parse_BrtBeginSst(data) {\n\treturn [data.read_shift(4), data.read_shift(4)];\n}\n\n/* [MS-XLSB] 2.1.7.45 Shared Strings */\nfunction parse_sst_bin(data, opts) {\n\tvar s = ([]);\n\tvar pass = false;\n\trecordhopper(data, function hopper_sst(val, R_n, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x009F: /* 'BrtBeginSst' */\n\t\t\t\ts.Count = val[0]; s.Unique = val[1]; break;\n\t\t\tcase 0x0013: /* 'BrtSSTItem' */\n\t\t\t\ts.push(val); break;\n\t\t\tcase 0x00A0: /* 'BrtEndSst' */\n\t\t\t\treturn true;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif(R_n.indexOf(\"Begin\") > 0){/* empty */}\n\t\t\t\telse if(R_n.indexOf(\"End\") > 0){/* empty */}\n\t\t\t\tif(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t});\n\treturn s;\n}\n\nfunction write_BrtBeginSst(sst, o) {\n\tif(!o) o = new_buf(8);\n\to.write_shift(4, sst.Count);\n\to.write_shift(4, sst.Unique);\n\treturn o;\n}\n\nvar write_BrtSSTItem = write_RichStr;\n\nfunction write_sst_bin(sst) {\n\tvar ba = buf_array();\n\twrite_record(ba, \"BrtBeginSst\", write_BrtBeginSst(sst));\n\tfor(var i = 0; i < sst.length; ++i) write_record(ba, \"BrtSSTItem\", write_BrtSSTItem(sst[i]));\n\t/* FRTSST */\n\twrite_record(ba, \"BrtEndSst\");\n\treturn ba.end();\n}\nfunction _JS2ANSI(str) {\n\tif(typeof cptable !== 'undefined') return cptable.utils.encode(current_ansi, str);\n\tvar o = [], oo = str.split(\"\");\n\tfor(var i = 0; i < oo.length; ++i) o[i] = oo[i].charCodeAt(0);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.4 Version */\nfunction parse_CRYPTOVersion(blob, length) {\n\tvar o = {};\n\to.Major = blob.read_shift(2);\n\to.Minor = blob.read_shift(2);\nif(length >= 4) blob.l += length - 4;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.5 DataSpaceVersionInfo */\nfunction parse_DataSpaceVersionInfo(blob) {\n\tvar o = {};\n\to.id = blob.read_shift(0, 'lpp4');\n\to.R = parse_CRYPTOVersion(blob, 4);\n\to.U = parse_CRYPTOVersion(blob, 4);\n\to.W = parse_CRYPTOVersion(blob, 4);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.6.1 DataSpaceMapEntry Structure */\nfunction parse_DataSpaceMapEntry(blob) {\n\tvar len = blob.read_shift(4);\n\tvar end = blob.l + len - 4;\n\tvar o = {};\n\tvar cnt = blob.read_shift(4);\n\tvar comps = [];\n\t/* [MS-OFFCRYPTO] 2.1.6.2 DataSpaceReferenceComponent Structure */\n\twhile(cnt-- > 0) comps.push({ t: blob.read_shift(4), v: blob.read_shift(0, 'lpp4') });\n\to.name = blob.read_shift(0, 'lpp4');\n\to.comps = comps;\n\tif(blob.l != end) throw new Error(\"Bad DataSpaceMapEntry: \" + blob.l + \" != \" + end);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.6 DataSpaceMap */\nfunction parse_DataSpaceMap(blob) {\n\tvar o = [];\n\tblob.l += 4; // must be 0x8\n\tvar cnt = blob.read_shift(4);\n\twhile(cnt-- > 0) o.push(parse_DataSpaceMapEntry(blob));\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.7 DataSpaceDefinition */\nfunction parse_DataSpaceDefinition(blob) {\n\tvar o = [];\n\tblob.l += 4; // must be 0x8\n\tvar cnt = blob.read_shift(4);\n\twhile(cnt-- > 0) o.push(blob.read_shift(0, 'lpp4'));\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.8 DataSpaceDefinition */\nfunction parse_TransformInfoHeader(blob) {\n\tvar o = {};\n\t/*var len = */blob.read_shift(4);\n\tblob.l += 4; // must be 0x1\n\to.id = blob.read_shift(0, 'lpp4');\n\to.name = blob.read_shift(0, 'lpp4');\n\to.R = parse_CRYPTOVersion(blob, 4);\n\to.U = parse_CRYPTOVersion(blob, 4);\n\to.W = parse_CRYPTOVersion(blob, 4);\n\treturn o;\n}\n\nfunction parse_Primary(blob) {\n\t/* [MS-OFFCRYPTO] 2.2.6 IRMDSTransformInfo */\n\tvar hdr = parse_TransformInfoHeader(blob);\n\t/* [MS-OFFCRYPTO] 2.1.9 EncryptionTransformInfo */\n\thdr.ename = blob.read_shift(0, '8lpp4');\n\thdr.blksz = blob.read_shift(4);\n\thdr.cmode = blob.read_shift(4);\n\tif(blob.read_shift(4) != 0x04) throw new Error(\"Bad !Primary record\");\n\treturn hdr;\n}\n\n/* [MS-OFFCRYPTO] 2.3.2 Encryption Header */\nfunction parse_EncryptionHeader(blob, length) {\n\tvar tgt = blob.l + length;\n\tvar o = {};\n\to.Flags = (blob.read_shift(4) & 0x3F);\n\tblob.l += 4;\n\to.AlgID = blob.read_shift(4);\n\tvar valid = false;\n\tswitch(o.AlgID) {\n\t\tcase 0x660E: case 0x660F: case 0x6610: valid = (o.Flags == 0x24); break;\n\t\tcase 0x6801: valid = (o.Flags == 0x04); break;\n\t\tcase 0: valid = (o.Flags == 0x10 || o.Flags == 0x04 || o.Flags == 0x24); break;\n\t\tdefault: throw 'Unrecognized encryption algorithm: ' + o.AlgID;\n\t}\n\tif(!valid) throw new Error(\"Encryption Flags/AlgID mismatch\");\n\to.AlgIDHash = blob.read_shift(4);\n\to.KeySize = blob.read_shift(4);\n\to.ProviderType = blob.read_shift(4);\n\tblob.l += 8;\n\to.CSPName = blob.read_shift((tgt-blob.l)>>1, 'utf16le');\n\tblob.l = tgt;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.3 Encryption Verifier */\nfunction parse_EncryptionVerifier(blob, length) {\n\tvar o = {}, tgt = blob.l + length;\n\tblob.l += 4; // SaltSize must be 0x10\n\to.Salt = blob.slice(blob.l, blob.l+16); blob.l += 16;\n\to.Verifier = blob.slice(blob.l, blob.l+16); blob.l += 16;\n\t/*var sz = */blob.read_shift(4);\n\to.VerifierHash = blob.slice(blob.l, tgt); blob.l = tgt;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.4.* EncryptionInfo Stream */\nfunction parse_EncryptionInfo(blob) {\n\tvar vers = parse_CRYPTOVersion(blob);\n\tswitch(vers.Minor) {\n\t\tcase 0x02: return [vers.Minor, parse_EncInfoStd(blob, vers)];\n\t\tcase 0x03: return [vers.Minor, parse_EncInfoExt(blob, vers)];\n\t\tcase 0x04: return [vers.Minor, parse_EncInfoAgl(blob, vers)];\n\t}\n\tthrow new Error(\"ECMA-376 Encrypted file unrecognized Version: \" + vers.Minor);\n}\n\n/* [MS-OFFCRYPTO] 2.3.4.5 EncryptionInfo Stream (Standard Encryption) */\nfunction parse_EncInfoStd(blob) {\n\tvar flags = blob.read_shift(4);\n\tif((flags & 0x3F) != 0x24) throw new Error(\"EncryptionInfo mismatch\");\n\tvar sz = blob.read_shift(4);\n\t//var tgt = blob.l + sz;\n\tvar hdr = parse_EncryptionHeader(blob, sz);\n\tvar verifier = parse_EncryptionVerifier(blob, blob.length - blob.l);\n\treturn { t:\"Std\", h:hdr, v:verifier };\n}\n/* [MS-OFFCRYPTO] 2.3.4.6 EncryptionInfo Stream (Extensible Encryption) */\nfunction parse_EncInfoExt() { throw new Error(\"File is password-protected: ECMA-376 Extensible\"); }\n/* [MS-OFFCRYPTO] 2.3.4.10 EncryptionInfo Stream (Agile Encryption) */\nfunction parse_EncInfoAgl(blob) {\n\tvar KeyData = [\"saltSize\",\"blockSize\",\"keyBits\",\"hashSize\",\"cipherAlgorithm\",\"cipherChaining\",\"hashAlgorithm\",\"saltValue\"];\n\tblob.l+=4;\n\tvar xml = blob.read_shift(blob.length - blob.l, 'utf8');\n\tvar o = {};\n\txml.replace(tagregex, function xml_agile(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\t\t\tcase '': case '': break;\n\n\t\t\tcase '': break;\n\t\t\tcase ' 4 || vers.Major < 2) throw new Error('unrecognized major version code: ' + vers.Major);\n\to.Flags = blob.read_shift(4); length -= 4;\n\tvar sz = blob.read_shift(4); length -= 4;\n\to.EncryptionHeader = parse_EncryptionHeader(blob, sz); length -= sz;\n\to.EncryptionVerifier = parse_EncryptionVerifier(blob, length);\n\treturn o;\n}\n/* [MS-OFFCRYPTO] 2.3.6.1 RC4 Encryption Header */\nfunction parse_RC4Header(blob) {\n\tvar o = {};\n\tvar vers = o.EncryptionVersionInfo = parse_CRYPTOVersion(blob, 4);\n\tif(vers.Major != 1 || vers.Minor != 1) throw 'unrecognized version code ' + vers.Major + ' : ' + vers.Minor;\n\to.Salt = blob.read_shift(16);\n\to.EncryptedVerifier = blob.read_shift(16);\n\to.EncryptedVerifierHash = blob.read_shift(16);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.7.1 Binary Document Password Verifier Derivation */\nfunction crypto_CreatePasswordVerifier_Method1(Password) {\n\tvar Verifier = 0x0000, PasswordArray;\n\tvar PasswordDecoded = _JS2ANSI(Password);\n\tvar len = PasswordDecoded.length + 1, i, PasswordByte;\n\tvar Intermediate1, Intermediate2, Intermediate3;\n\tPasswordArray = new_raw_buf(len);\n\tPasswordArray[0] = PasswordDecoded.length;\n\tfor(i = 1; i != len; ++i) PasswordArray[i] = PasswordDecoded[i-1];\n\tfor(i = len-1; i >= 0; --i) {\n\t\tPasswordByte = PasswordArray[i];\n\t\tIntermediate1 = ((Verifier & 0x4000) === 0x0000) ? 0 : 1;\n\t\tIntermediate2 = (Verifier << 1) & 0x7FFF;\n\t\tIntermediate3 = Intermediate1 | Intermediate2;\n\t\tVerifier = Intermediate3 ^ PasswordByte;\n\t}\n\treturn Verifier ^ 0xCE4B;\n}\n\n/* [MS-OFFCRYPTO] 2.3.7.2 Binary Document XOR Array Initialization */\nvar crypto_CreateXorArray_Method1 = (function() {\n\tvar PadArray = [0xBB, 0xFF, 0xFF, 0xBA, 0xFF, 0xFF, 0xB9, 0x80, 0x00, 0xBE, 0x0F, 0x00, 0xBF, 0x0F, 0x00];\n\tvar InitialCode = [0xE1F0, 0x1D0F, 0xCC9C, 0x84C0, 0x110C, 0x0E10, 0xF1CE, 0x313E, 0x1872, 0xE139, 0xD40F, 0x84F9, 0x280C, 0xA96A, 0x4EC3];\n\tvar XorMatrix = [0xAEFC, 0x4DD9, 0x9BB2, 0x2745, 0x4E8A, 0x9D14, 0x2A09, 0x7B61, 0xF6C2, 0xFDA5, 0xEB6B, 0xC6F7, 0x9DCF, 0x2BBF, 0x4563, 0x8AC6, 0x05AD, 0x0B5A, 0x16B4, 0x2D68, 0x5AD0, 0x0375, 0x06EA, 0x0DD4, 0x1BA8, 0x3750, 0x6EA0, 0xDD40, 0xD849, 0xA0B3, 0x5147, 0xA28E, 0x553D, 0xAA7A, 0x44D5, 0x6F45, 0xDE8A, 0xAD35, 0x4A4B, 0x9496, 0x390D, 0x721A, 0xEB23, 0xC667, 0x9CEF, 0x29FF, 0x53FE, 0xA7FC, 0x5FD9, 0x47D3, 0x8FA6, 0x0F6D, 0x1EDA, 0x3DB4, 0x7B68, 0xF6D0, 0xB861, 0x60E3, 0xC1C6, 0x93AD, 0x377B, 0x6EF6, 0xDDEC, 0x45A0, 0x8B40, 0x06A1, 0x0D42, 0x1A84, 0x3508, 0x6A10, 0xAA51, 0x4483, 0x8906, 0x022D, 0x045A, 0x08B4, 0x1168, 0x76B4, 0xED68, 0xCAF1, 0x85C3, 0x1BA7, 0x374E, 0x6E9C, 0x3730, 0x6E60, 0xDCC0, 0xA9A1, 0x4363, 0x86C6, 0x1DAD, 0x3331, 0x6662, 0xCCC4, 0x89A9, 0x0373, 0x06E6, 0x0DCC, 0x1021, 0x2042, 0x4084, 0x8108, 0x1231, 0x2462, 0x48C4];\n\tvar Ror = function(Byte) { return ((Byte/2) | (Byte*128)) & 0xFF; };\n\tvar XorRor = function(byte1, byte2) { return Ror(byte1 ^ byte2); };\n\tvar CreateXorKey_Method1 = function(Password) {\n\t\tvar XorKey = InitialCode[Password.length - 1];\n\t\tvar CurrentElement = 0x68;\n\t\tfor(var i = Password.length-1; i >= 0; --i) {\n\t\t\tvar Char = Password[i];\n\t\t\tfor(var j = 0; j != 7; ++j) {\n\t\t\t\tif(Char & 0x40) XorKey ^= XorMatrix[CurrentElement];\n\t\t\t\tChar *= 2; --CurrentElement;\n\t\t\t}\n\t\t}\n\t\treturn XorKey;\n\t};\n\treturn function(password) {\n\t\tvar Password = _JS2ANSI(password);\n\t\tvar XorKey = CreateXorKey_Method1(Password);\n\t\tvar Index = Password.length;\n\t\tvar ObfuscationArray = new_raw_buf(16);\n\t\tfor(var i = 0; i != 16; ++i) ObfuscationArray[i] = 0x00;\n\t\tvar Temp, PasswordLastChar, PadIndex;\n\t\tif((Index & 1) === 1) {\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(PadArray[0], Temp);\n\t\t\t--Index;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tPasswordLastChar = Password[Password.length - 1];\n\t\t\tObfuscationArray[Index] = XorRor(PasswordLastChar, Temp);\n\t\t}\n\t\twhile(Index > 0) {\n\t\t\t--Index;\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t\t--Index;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t}\n\t\tIndex = 15;\n\t\tPadIndex = 15 - Password.length;\n\t\twhile(PadIndex > 0) {\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(PadArray[PadIndex], Temp);\n\t\t\t--Index;\n\t\t\t--PadIndex;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t\t--Index;\n\t\t\t--PadIndex;\n\t\t}\n\t\treturn ObfuscationArray;\n\t};\n})();\n\n/* [MS-OFFCRYPTO] 2.3.7.3 Binary Document XOR Data Transformation Method 1 */\nvar crypto_DecryptData_Method1 = function(password, Data, XorArrayIndex, XorArray, O) {\n\t/* If XorArray is set, use it; if O is not set, make changes in-place */\n\tif(!O) O = Data;\n\tif(!XorArray) XorArray = crypto_CreateXorArray_Method1(password);\n\tvar Index, Value;\n\tfor(Index = 0; Index != Data.length; ++Index) {\n\t\tValue = Data[Index];\n\t\tValue ^= XorArray[XorArrayIndex];\n\t\tValue = ((Value>>5) | (Value<<3)) & 0xFF;\n\t\tO[Index] = Value;\n\t\t++XorArrayIndex;\n\t}\n\treturn [O, XorArrayIndex, XorArray];\n};\n\nvar crypto_MakeXorDecryptor = function(password) {\n\tvar XorArrayIndex = 0, XorArray = crypto_CreateXorArray_Method1(password);\n\treturn function(Data) {\n\t\tvar O = crypto_DecryptData_Method1(\"\", Data, XorArrayIndex, XorArray);\n\t\tXorArrayIndex = O[1];\n\t\treturn O[0];\n\t};\n};\n\n/* 2.5.343 */\nfunction parse_XORObfuscation(blob, length, opts, out) {\n\tvar o = ({ key: parseuint16(blob), verificationBytes: parseuint16(blob) });\n\tif(opts.password) o.verifier = crypto_CreatePasswordVerifier_Method1(opts.password);\n\tout.valid = o.verificationBytes === o.verifier;\n\tif(out.valid) out.insitu = crypto_MakeXorDecryptor(opts.password);\n\treturn o;\n}\n\n/* 2.4.117 */\nfunction parse_FilePassHeader(blob, length, oo) {\n\tvar o = oo || {}; o.Info = blob.read_shift(2); blob.l -= 2;\n\tif(o.Info === 1) o.Data = parse_RC4Header(blob, length);\n\telse o.Data = parse_RC4CryptoHeader(blob, length);\n\treturn o;\n}\nfunction parse_FilePass(blob, length, opts) {\n\tvar o = ({ Type: opts.biff >= 8 ? blob.read_shift(2) : 0 }); /* wEncryptionType */\n\tif(o.Type) parse_FilePassHeader(blob, length-2, o);\n\telse parse_XORObfuscation(blob, opts.biff >= 8 ? length : length - 2, opts, o);\n\treturn o;\n}\n\n\nvar RTF = (function() {\n\tfunction rtf_to_sheet(d, opts) {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return rtf_to_sheet_str(Base64.decode(d), opts);\n\t\t\tcase 'binary': return rtf_to_sheet_str(d, opts);\n\t\t\tcase 'buffer': return rtf_to_sheet_str(d.toString('binary'), opts);\n\t\t\tcase 'array': return rtf_to_sheet_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\n\tfunction rtf_to_sheet_str(str, opts) {\n\t\tvar o = opts || {};\n\t\tvar ws = o.dense ? ([]) : ({});\n\t\tvar range = ({s: {c:0, r:0}, e: {c:0, r:0}});\n\n\t\t// TODO: parse\n\t\tif(!str.match(/\\\\trowd/)) throw new Error(\"RTF missing table\");\n\n\t\tws['!ref'] = encode_range(range);\n\t\treturn ws;\n\t}\n\n\tfunction rtf_to_workbook(d, opts) { return sheet_to_workbook(rtf_to_sheet(d, opts), opts); }\n\n\t/* TODO: this is a stub */\n\tfunction sheet_to_rtf(ws) {\n\t\tvar o = [\"{\\\\rtf1\\\\ansi\"];\n\t\tvar r = safe_decode_range(ws['!ref']), cell;\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\to.push(\"\\\\trowd\\\\trautofit1\");\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) o.push(\"\\\\cellx\" + (C+1));\n\t\t\to.push(\"\\\\pard\\\\intbl\");\n\t\t\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C]: ws[coord];\n\t\t\t\tif(!cell || cell.v == null && (!cell.f || cell.F)) continue;\n\t\t\t\to.push(\" \" + (cell.w || (format_cell(cell), cell.w)));\n\t\t\t\to.push(\"\\\\cell\");\n\t\t\t}\n\t\t\to.push(\"\\\\pard\\\\intbl\\\\row\");\n\t\t}\n\t\treturn o.join(\"\") + \"}\";\n\t}\n\n\treturn {\n\t\tto_workbook: rtf_to_workbook,\n\t\tto_sheet: rtf_to_sheet,\n\t\tfrom_sheet: sheet_to_rtf\n\t};\n})();\nfunction hex2RGB(h) {\n\tvar o = h.slice(h[0]===\"#\"?1:0).slice(0,6);\n\treturn [parseInt(o.slice(0,2),16),parseInt(o.slice(2,4),16),parseInt(o.slice(4,6),16)];\n}\nfunction rgb2Hex(rgb) {\n\tfor(var i=0,o=1; i!=3; ++i) o = o*256 + (rgb[i]>255?255:rgb[i]<0?0:rgb[i]);\n\treturn o.toString(16).toUpperCase().slice(1);\n}\n\nfunction rgb2HSL(rgb) {\n\tvar R = rgb[0]/255, G = rgb[1]/255, B=rgb[2]/255;\n\tvar M = Math.max(R, G, B), m = Math.min(R, G, B), C = M - m;\n\tif(C === 0) return [0, 0, R];\n\n\tvar H6 = 0, S = 0, L2 = (M + m);\n\tS = C / (L2 > 1 ? 2 - L2 : L2);\n\tswitch(M){\n\t\tcase R: H6 = ((G - B) / C + 6)%6; break;\n\t\tcase G: H6 = ((B - R) / C + 2); break;\n\t\tcase B: H6 = ((R - G) / C + 4); break;\n\t}\n\treturn [H6 / 6, S, L2 / 2];\n}\n\nfunction hsl2RGB(hsl){\n\tvar H = hsl[0], S = hsl[1], L = hsl[2];\n\tvar C = S * 2 * (L < 0.5 ? L : 1 - L), m = L - C/2;\n\tvar rgb = [m,m,m], h6 = 6*H;\n\n\tvar X;\n\tif(S !== 0) switch(h6|0) {\n\t\tcase 0: case 6: X = C * h6; rgb[0] += C; rgb[1] += X; break;\n\t\tcase 1: X = C * (2 - h6); rgb[0] += X; rgb[1] += C; break;\n\t\tcase 2: X = C * (h6 - 2); rgb[1] += C; rgb[2] += X; break;\n\t\tcase 3: X = C * (4 - h6); rgb[1] += X; rgb[2] += C; break;\n\t\tcase 4: X = C * (h6 - 4); rgb[2] += C; rgb[0] += X; break;\n\t\tcase 5: X = C * (6 - h6); rgb[2] += X; rgb[0] += C; break;\n\t}\n\tfor(var i = 0; i != 3; ++i) rgb[i] = Math.round(rgb[i]*255);\n\treturn rgb;\n}\n\n/* 18.8.3 bgColor tint algorithm */\nfunction rgb_tint(hex, tint) {\n\tif(tint === 0) return hex;\n\tvar hsl = rgb2HSL(hex2RGB(hex));\n\tif (tint < 0) hsl[2] = hsl[2] * (1 + tint);\n\telse hsl[2] = 1 - (1 - hsl[2]) * (1 - tint);\n\treturn rgb2Hex(hsl2RGB(hsl));\n}\n\n/* 18.3.1.13 width calculations */\n/* [MS-OI29500] 2.1.595 Column Width & Formatting */\nvar DEF_MDW = 6, MAX_MDW = 15, MIN_MDW = 1, MDW = DEF_MDW;\nfunction width2px(width) { return Math.floor(( width + (Math.round(128/MDW))/256 )* MDW ); }\nfunction px2char(px) { return (Math.floor((px - 5)/MDW * 100 + 0.5))/100; }\nfunction char2width(chr) { return (Math.round((chr * MDW + 5)/MDW*256))/256; }\n//function px2char_(px) { return (((px - 5)/MDW * 100 + 0.5))/100; }\n//function char2width_(chr) { return (((chr * MDW + 5)/MDW*256))/256; }\nfunction cycle_width(collw) { return char2width(px2char(width2px(collw))); }\n/* XLSX/XLSB/XLS specify width in units of MDW */\nfunction find_mdw_colw(collw) {\n\tvar delta = Math.abs(collw - cycle_width(collw)), _MDW = MDW;\n\tif(delta > 0.005) for(MDW=MIN_MDW; MDW 0.5) guess--;\n\t\tif(Math.abs(guess) < delta) { delta = Math.abs(guess); _MDW = MDW; }\n\t}\n\tMDW = _MDW;\n}*/\n\nfunction process_col(coll) {\n\tif(coll.width) {\n\t\tcoll.wpx = width2px(coll.width);\n\t\tcoll.wch = px2char(coll.wpx);\n\t\tcoll.MDW = MDW;\n\t} else if(coll.wpx) {\n\t\tcoll.wch = px2char(coll.wpx);\n\t\tcoll.width = char2width(coll.wch);\n\t\tcoll.MDW = MDW;\n\t} else if(typeof coll.wch == 'number') {\n\t\tcoll.width = char2width(coll.wch);\n\t\tcoll.wpx = width2px(coll.width);\n\t\tcoll.MDW = MDW;\n\t}\n\tif(coll.customWidth) delete coll.customWidth;\n}\n\nvar DEF_PPI = 96, PPI = DEF_PPI;\nfunction px2pt(px) { return px * 96 / PPI; }\nfunction pt2px(pt) { return pt * PPI / 96; }\n\n/* [MS-EXSPXML3] 2.4.54 ST_enmPattern */\nvar XLMLPatternTypeMap = {\n\t\"None\": \"none\",\n\t\"Solid\": \"solid\",\n\t\"Gray50\": \"mediumGray\",\n\t\"Gray75\": \"darkGray\",\n\t\"Gray25\": \"lightGray\",\n\t\"HorzStripe\": \"darkHorizontal\",\n\t\"VertStripe\": \"darkVertical\",\n\t\"ReverseDiagStripe\": \"darkDown\",\n\t\"DiagStripe\": \"darkUp\",\n\t\"DiagCross\": \"darkGrid\",\n\t\"ThickDiagCross\": \"darkTrellis\",\n\t\"ThinHorzStripe\": \"lightHorizontal\",\n\t\"ThinVertStripe\": \"lightVertical\",\n\t\"ThinReverseDiagStripe\": \"lightDown\",\n\t\"ThinHorzCross\": \"lightGrid\"\n};\n\n/* 18.8.5 borders CT_Borders */\nfunction parse_borders(t, styles, themes, opts) {\n\tstyles.Borders = [];\n\tvar border = {};\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.4 border CT_Border */\n\t\t\tcase '': case '':\n\t\t\t\tborder = {};\n\t\t\t\tif(y.diagonalUp) border.diagonalUp = parsexmlbool(y.diagonalUp);\n\t\t\t\tif(y.diagonalDown) border.diagonalDown = parsexmlbool(y.diagonalDown);\n\t\t\t\tstyles.Borders.push(border);\n\t\t\t\tbreak;\n\t\t\tcase '': break;\n\n\t\t\t/* note: not in spec, appears to be CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* note: not in spec, appears to be CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.43 top CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.6 bottom CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.13 diagonal CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.25 horizontal CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.44 vertical CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.37 start CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.16 end CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.? color CT_Color */\n\t\t\tcase '':\n\t\t\t\tbreak;\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in borders');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.21 fills CT_Fills */\nfunction parse_fills(t, styles, themes, opts) {\n\tstyles.Fills = [];\n\tvar fill = {};\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.20 fill CT_Fill */\n\t\t\tcase '': case '':\n\t\t\t\tfill = {}; styles.Fills.push(fill); break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.24 gradientFill CT_GradientFill */\n\t\t\tcase '': break;\n\t\t\tcase '': styles.Fills.push(fill); fill = {}; break;\n\n\t\t\t/* 18.8.32 patternFill CT_PatternFill */\n\t\t\tcase '':\n\t\t\t\tif(y.patternType) fill.patternType = y.patternType;\n\t\t\t\tbreak;\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.3 bgColor CT_Color */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.19 fgColor CT_Color */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.38 stop CT_GradientStop */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.? color CT_Color */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in fills');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.23 fonts CT_Fonts */\nfunction parse_fonts(t, styles, themes, opts) {\n\tstyles.Fonts = [];\n\tvar font = {};\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.22 font CT_Font */\n\t\t\tcase '': break;\n\t\t\tcase '': case '':\n\t\t\t\tstyles.Fonts.push(font);\n\t\t\t\tfont = {};\n\t\t\t\tbreak;\n\n\t\t\t/* 18.8.29 name CT_FontName */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.2 b CT_BooleanProperty */\n\t\t\tcase '': font.bold = 1; break;\n\n\t\t\t/* 18.8.26 i CT_BooleanProperty */\n\t\t\tcase '': font.italic = 1; break;\n\n\t\t\t/* 18.4.13 u CT_UnderlineProperty */\n\t\t\tcase '': font.underline = 1; break;\n\n\t\t\t/* 18.4.10 strike CT_BooleanProperty */\n\t\t\tcase '': font.strike = 1; break;\n\n\t\t\t/* 18.4.2 outline CT_BooleanProperty */\n\t\t\tcase '': font.outline = 1; break;\n\n\t\t\t/* 18.8.36 shadow CT_BooleanProperty */\n\t\t\tcase '': font.shadow = 1; break;\n\n\t\t\t/* 18.8.12 condense CT_BooleanProperty */\n\t\t\tcase '': font.condense = 1; break;\n\n\t\t\t/* 18.8.17 extend CT_BooleanProperty */\n\t\t\tcase '': font.extend = 1; break;\n\n\t\t\t/* 18.4.11 sz CT_FontSize */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.4.14 vertAlign CT_VerticalAlignFontProperty */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.18 family CT_FontFamily */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.35 scheme CT_FontScheme */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.4.1 charset CT_IntProperty */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* note: sometimes mc:AlternateContent appears bare */\n\t\t\tcase '': pass = false; break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in fonts');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.31 numFmts CT_NumFmts */\nfunction parse_numFmts(t, styles, opts) {\n\tstyles.NumberFmt = [];\n\tvar k/*Array*/ = (keys(SSF._table));\n\tfor(var i=0; i < k.length; ++i) styles.NumberFmt[k[i]] = SSF._table[k[i]];\n\tvar m = t[0].match(tagregex);\n\tif(!m) return;\n\tfor(i=0; i < m.length; ++i) {\n\t\tvar y = parsexmltag(m[i]);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': case '': break;\n\t\t\tcase '0) {\n\t\t\t\t\tif(j > 0x188) {\n\t\t\t\t\t\tfor(j = 0x188; j > 0x3c; --j) if(styles.NumberFmt[j] == null) break;\n\t\t\t\t\t\tstyles.NumberFmt[j] = f;\n\t\t\t\t\t}\n\t\t\t\t\tSSF.load(f,j);\n\t\t\t\t}\n\t\t\t} break;\n\t\t\tcase '': break;\n\t\t\tdefault: if(opts.WTF) throw new Error('unrecognized ' + y[0] + ' in numFmts');\n\t\t}\n\t}\n}\n\nfunction write_numFmts(NF) {\n\tvar o = [\"\"];\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\n\t\tfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) o[o.length] = (writextag('numFmt',null,{numFmtId:i,formatCode:escapexml(NF[i])}));\n\t});\n\tif(o.length === 1) return \"\";\n\to[o.length] = (\"\");\n\to[0] = writextag('numFmts', null, { count:o.length-2 }).replace(\"/>\", \">\");\n\treturn o.join(\"\");\n}\n\n/* 18.8.10 cellXfs CT_CellXfs */\nvar cellXF_uint = [ \"numFmtId\", \"fillId\", \"fontId\", \"borderId\", \"xfId\" ];\nvar cellXF_bool = [ \"applyAlignment\", \"applyBorder\", \"applyFill\", \"applyFont\", \"applyNumberFormat\", \"applyProtection\", \"pivotButton\", \"quotePrefix\" ];\nfunction parse_cellXfs(t, styles, opts) {\n\tstyles.CellXf = [];\n\tvar xf;\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x), i = 0;\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.8.45 xf CT_Xf */\n\t\t\tcase '':\n\t\t\t\txf = y;\n\t\t\t\tdelete xf[0];\n\t\t\t\tfor(i = 0; i < cellXF_uint.length; ++i) if(xf[cellXF_uint[i]])\n\t\t\t\t\txf[cellXF_uint[i]] = parseInt(xf[cellXF_uint[i]], 10);\n\t\t\t\tfor(i = 0; i < cellXF_bool.length; ++i) if(xf[cellXF_bool[i]])\n\t\t\t\t\txf[cellXF_bool[i]] = parsexmlbool(xf[cellXF_bool[i]]);\n\t\t\t\tif(xf.numFmtId > 0x188) {\n\t\t\t\t\tfor(i = 0x188; i > 0x3c; --i) if(styles.NumberFmt[xf.numFmtId] == styles.NumberFmt[i]) { xf.numFmtId = i; break; }\n\t\t\t\t}\n\t\t\t\tstyles.CellXf.push(xf); break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.1 alignment CT_CellAlignment */\n\t\t\tcase '':\n\t\t\t\tvar alignment = {};\n\t\t\t\tif(y.vertical) alignment.vertical = y.vertical;\n\t\t\t\tif(y.horizontal) alignment.horizontal = y.horizontal;\n\t\t\t\tif(y.textRotation != null) alignment.textRotation = y.textRotation;\n\t\t\t\tif(y.indent) alignment.indent = y.indent;\n\t\t\t\tif(y.wrapText) alignment.wrapText = parsexmlbool(y.wrapText);\n\t\t\t\txf.alignment = alignment;\n\t\t\t\tbreak;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.33 protection CT_CellProtection */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* note: sometimes mc:AlternateContent appears bare */\n\t\t\tcase '': pass = false; break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in cellXfs');\n\t\t\t}\n\t\t}\n\t});\n}\n\nfunction write_cellXfs(cellXfs) {\n\tvar o = [];\n\to[o.length] = (writextag('cellXfs',null));\n\tcellXfs.forEach(function(c) {\n\t\to[o.length] = (writextag('xf', null, c));\n\t});\n\to[o.length] = (\"\");\n\tif(o.length === 2) return \"\";\n\to[0] = writextag('cellXfs',null, {count:o.length-2}).replace(\"/>\",\">\");\n\treturn o.join(\"\");\n}\n\n/* 18.8 Styles CT_Stylesheet*/\nvar parse_sty_xml= (function make_pstyx() {\nvar numFmtRegex = /<(?:\\w+:)?numFmts([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?numFmts>/;\nvar cellXfRegex = /<(?:\\w+:)?cellXfs([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?cellXfs>/;\nvar fillsRegex = /<(?:\\w+:)?fills([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?fills>/;\nvar fontsRegex = /<(?:\\w+:)?fonts([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?fonts>/;\nvar bordersRegex = /<(?:\\w+:)?borders([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?borders>/;\n\nreturn function parse_sty_xml(data, themes, opts) {\n\tvar styles = {};\n\tif(!data) return styles;\n\tdata = data.replace(//mg,\"\").replace(//gm,\"\");\n\t/* 18.8.39 styleSheet CT_Stylesheet */\n\tvar t;\n\n\t/* 18.8.31 numFmts CT_NumFmts ? */\n\tif((t=data.match(numFmtRegex))) parse_numFmts(t, styles, opts);\n\n\t/* 18.8.23 fonts CT_Fonts ? */\n\tif((t=data.match(fontsRegex))) parse_fonts(t, styles, themes, opts);\n\n\t/* 18.8.21 fills CT_Fills ? */\n\tif((t=data.match(fillsRegex))) parse_fills(t, styles, themes, opts);\n\n\t/* 18.8.5 borders CT_Borders ? */\n\tif((t=data.match(bordersRegex))) parse_borders(t, styles, themes, opts);\n\n\t/* 18.8.9 cellStyleXfs CT_CellStyleXfs ? */\n\t/* 18.8.8 cellStyles CT_CellStyles ? */\n\n\t/* 18.8.10 cellXfs CT_CellXfs ? */\n\tif((t=data.match(cellXfRegex))) parse_cellXfs(t, styles, opts);\n\n\t/* 18.8.15 dxfs CT_Dxfs ? */\n\t/* 18.8.42 tableStyles CT_TableStyles ? */\n\t/* 18.8.11 colors CT_Colors ? */\n\t/* 18.2.10 extLst CT_ExtensionList ? */\n\n\treturn styles;\n};\n})();\n\nvar STYLES_XML_ROOT = writextag('styleSheet', null, {\n\t'xmlns': XMLNS.main[0],\n\t'xmlns:vt': XMLNS.vt\n});\n\nRELS.STY = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\";\n\nfunction write_sty_xml(wb, opts) {\n\tvar o = [XML_HEADER, STYLES_XML_ROOT], w;\n\tif(wb.SSF && (w = write_numFmts(wb.SSF)) != null) o[o.length] = w;\n\to[o.length] = ('');\n\to[o.length] = ('');\n\to[o.length] = ('');\n\to[o.length] = ('');\n\tif((w = write_cellXfs(opts.cellXfs))) o[o.length] = (w);\n\to[o.length] = ('');\n\to[o.length] = ('');\n\to[o.length] = ('');\n\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.657 BrtFmt */\nfunction parse_BrtFmt(data, length) {\n\tvar numFmtId = data.read_shift(2);\n\tvar stFmtCode = parse_XLWideString(data,length-2);\n\treturn [numFmtId, stFmtCode];\n}\nfunction write_BrtFmt(i, f, o) {\n\tif(!o) o = new_buf(6 + 4 * f.length);\n\to.write_shift(2, i);\n\twrite_XLWideString(f, o);\n\tvar out = (o.length > o.l) ? o.slice(0, o.l) : o;\n\tif(o.l == null) o.l = o.length;\n\treturn out;\n}\n\n/* [MS-XLSB] 2.4.659 BrtFont TODO */\nfunction parse_BrtFont(data, length, opts) {\n\tvar out = ({});\n\n\tout.sz = data.read_shift(2) / 20;\n\n\tvar grbit = parse_FontFlags(data, 2, opts);\n\tif(grbit.fItalic) out.italic = 1;\n\tif(grbit.fCondense) out.condense = 1;\n\tif(grbit.fExtend) out.extend = 1;\n\tif(grbit.fShadow) out.shadow = 1;\n\tif(grbit.fOutline) out.outline = 1;\n\tif(grbit.fStrikeout) out.strike = 1;\n\n\tvar bls = data.read_shift(2);\n\tif(bls === 0x02BC) out.bold = 1;\n\n\tswitch(data.read_shift(2)) {\n\t\t/* case 0: out.vertAlign = \"baseline\"; break; */\n\t\tcase 1: out.vertAlign = \"superscript\"; break;\n\t\tcase 2: out.vertAlign = \"subscript\"; break;\n\t}\n\n\tvar underline = data.read_shift(1);\n\tif(underline != 0) out.underline = underline;\n\n\tvar family = data.read_shift(1);\n\tif(family > 0) out.family = family;\n\n\tvar bCharSet = data.read_shift(1);\n\tif(bCharSet > 0) out.charset = bCharSet;\n\n\tdata.l++;\n\tout.color = parse_BrtColor(data, 8);\n\n\tswitch(data.read_shift(1)) {\n\t\t/* case 0: out.scheme = \"none\": break; */\n\t\tcase 1: out.scheme = \"major\"; break;\n\t\tcase 2: out.scheme = \"minor\"; break;\n\t}\n\n\tout.name = parse_XLWideString(data, length - 21);\n\n\treturn out;\n}\nfunction write_BrtFont(font, o) {\n\tif(!o) o = new_buf(25+4*32);\n\to.write_shift(2, font.sz * 20);\n\twrite_FontFlags(font, o);\n\to.write_shift(2, font.bold ? 0x02BC : 0x0190);\n\tvar sss = 0;\n\tif(font.vertAlign == \"superscript\") sss = 1;\n\telse if(font.vertAlign == \"subscript\") sss = 2;\n\to.write_shift(2, sss);\n\to.write_shift(1, font.underline || 0);\n\to.write_shift(1, font.family || 0);\n\to.write_shift(1, font.charset || 0);\n\to.write_shift(1, 0);\n\twrite_BrtColor(font.color, o);\n\tvar scheme = 0;\n\tif(font.scheme == \"major\") scheme = 1;\n\tif(font.scheme == \"minor\") scheme = 2;\n\to.write_shift(1, scheme);\n\twrite_XLWideString(font.name, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.650 BrtFill */\nvar XLSBFillPTNames = [\n\t\"none\",\n\t\"solid\",\n\t\"mediumGray\",\n\t\"darkGray\",\n\t\"lightGray\",\n\t\"darkHorizontal\",\n\t\"darkVertical\",\n\t\"darkDown\",\n\t\"darkUp\",\n\t\"darkGrid\",\n\t\"darkTrellis\",\n\t\"lightHorizontal\",\n\t\"lightVertical\",\n\t\"lightDown\",\n\t\"lightUp\",\n\t\"lightGrid\",\n\t\"lightTrellis\",\n\t\"gray125\",\n\t\"gray0625\"\n];\nvar rev_XLSBFillPTNames = (evert(XLSBFillPTNames));\n/* TODO: gradient fill representation */\nvar parse_BrtFill = parsenoop;\nfunction write_BrtFill(fill, o) {\n\tif(!o) o = new_buf(4*3 + 8*7 + 16*1);\n\tvar fls = rev_XLSBFillPTNames[fill.patternType];\n\tif(fls == null) fls = 0x28;\n\to.write_shift(4, fls);\n\tvar j = 0;\n\tif(fls != 0x28) {\n\t\t/* TODO: custom FG Color */\n\t\twrite_BrtColor({auto:1}, o);\n\t\t/* TODO: custom BG Color */\n\t\twrite_BrtColor({auto:1}, o);\n\n\t\tfor(; j < 12; ++j) o.write_shift(4, 0);\n\t} else {\n\t\tfor(; j < 4; ++j) o.write_shift(4, 0);\n\n\t\tfor(; j < 12; ++j) o.write_shift(4, 0); /* TODO */\n\t\t/* iGradientType */\n\t\t/* xnumDegree */\n\t\t/* xnumFillToLeft */\n\t\t/* xnumFillToRight */\n\t\t/* xnumFillToTop */\n\t\t/* xnumFillToBottom */\n\t\t/* cNumStop */\n\t\t/* xfillGradientStop */\n\t}\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.824 BrtXF */\nfunction parse_BrtXF(data, length) {\n\tvar tgt = data.l + length;\n\tvar ixfeParent = data.read_shift(2);\n\tvar ifmt = data.read_shift(2);\n\tdata.l = tgt;\n\treturn {ixfe:ixfeParent, numFmtId:ifmt };\n}\nfunction write_BrtXF(data, ixfeP, o) {\n\tif(!o) o = new_buf(16);\n\to.write_shift(2, ixfeP||0);\n\to.write_shift(2, data.numFmtId||0);\n\to.write_shift(2, 0); /* iFont */\n\to.write_shift(2, 0); /* iFill */\n\to.write_shift(2, 0); /* ixBorder */\n\to.write_shift(1, 0); /* trot */\n\to.write_shift(1, 0); /* indent */\n\tvar flow = 0;\n\to.write_shift(1, flow); /* flags */\n\to.write_shift(1, 0); /* flags */\n\to.write_shift(1, 0); /* xfGrbitAtr */\n\to.write_shift(1, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.4 Blxf TODO */\nfunction write_Blxf(data, o) {\n\tif(!o) o = new_buf(10);\n\to.write_shift(1, 0); /* dg */\n\to.write_shift(1, 0);\n\to.write_shift(4, 0); /* color */\n\to.write_shift(4, 0); /* color */\n\treturn o;\n}\n/* [MS-XLSB] 2.4.302 BrtBorder TODO */\nvar parse_BrtBorder = parsenoop;\nfunction write_BrtBorder(border, o) {\n\tif(!o) o = new_buf(51);\n\to.write_shift(1, 0); /* diagonal */\n\twrite_Blxf(null, o); /* top */\n\twrite_Blxf(null, o); /* bottom */\n\twrite_Blxf(null, o); /* left */\n\twrite_Blxf(null, o); /* right */\n\twrite_Blxf(null, o); /* diag */\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.763 BrtStyle TODO */\nfunction write_BrtStyle(style, o) {\n\tif(!o) o = new_buf(12+4*10);\n\to.write_shift(4, style.xfId);\n\to.write_shift(2, 1);\n\to.write_shift(1, +style.builtinId);\n\to.write_shift(1, 0); /* iLevel */\n\twrite_XLNullableWideString(style.name || \"\", o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.272 BrtBeginTableStyles */\nfunction write_BrtBeginTableStyles(cnt, defTableStyle, defPivotStyle) {\n\tvar o = new_buf(4+256*2*4);\n\to.write_shift(4, cnt);\n\twrite_XLNullableWideString(defTableStyle, o);\n\twrite_XLNullableWideString(defPivotStyle, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.1.7.50 Styles */\nfunction parse_sty_bin(data, themes, opts) {\n\tvar styles = {};\n\tstyles.NumberFmt = ([]);\n\tfor(var y in SSF._table) styles.NumberFmt[y] = SSF._table[y];\n\n\tstyles.CellXf = [];\n\tstyles.Fonts = [];\n\tvar state = [];\n\tvar pass = false;\n\trecordhopper(data, function hopper_sty(val, R_n, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x002C: /* 'BrtFmt' */\n\t\t\t\tstyles.NumberFmt[val[0]] = val[1]; SSF.load(val[1], val[0]);\n\t\t\t\tbreak;\n\t\t\tcase 0x002B: /* 'BrtFont' */\n\t\t\t\tstyles.Fonts.push(val);\n\t\t\t\tif(val.color.theme != null && themes && themes.themeElements && themes.themeElements.clrScheme) {\n\t\t\t\t\tval.color.rgb = rgb_tint(themes.themeElements.clrScheme[val.color.theme].rgb, val.color.tint || 0);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 0x0401: /* 'BrtKnownFonts' */ break;\n\t\t\tcase 0x002D: /* 'BrtFill' */\n\t\t\t\tbreak;\n\t\t\tcase 0x002E: /* 'BrtBorder' */\n\t\t\t\tbreak;\n\t\t\tcase 0x002F: /* 'BrtXF' */\n\t\t\t\tif(state[state.length - 1] == \"BrtBeginCellXFs\") {\n\t\t\t\t\tstyles.CellXf.push(val);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 0x0030: /* 'BrtStyle' */\n\t\t\tcase 0x01FB: /* 'BrtDXF' */\n\t\t\tcase 0x023C: /* 'BrtMRUColor' */\n\t\t\tcase 0x01DB: /* 'BrtIndexedColor': */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0493: /* 'BrtDXF14' */\n\t\t\tcase 0x0836: /* 'BrtDXF15' */\n\t\t\tcase 0x046A: /* 'BrtSlicerStyleElement' */\n\t\t\tcase 0x0200: /* 'BrtTableStyleElement' */\n\t\t\tcase 0x082F: /* 'BrtTimelineStyleElement' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(R_n); pass = true; break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif((R_n||\"\").indexOf(\"Begin\") > 0) state.push(R_n);\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0) state.pop();\n\t\t\t\telse if(!pass || (opts.WTF && state[state.length-1] != \"BrtACBegin\")) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t});\n\treturn styles;\n}\n\nfunction write_FMTS_bin(ba, NF) {\n\tif(!NF) return;\n\tvar cnt = 0;\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\nfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) ++cnt;\n\t});\n\n\tif(cnt == 0) return;\n\twrite_record(ba, \"BrtBeginFmts\", write_UInt32LE(cnt));\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\nfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) write_record(ba, \"BrtFmt\", write_BrtFmt(i, NF[i]));\n\t});\n\twrite_record(ba, \"BrtEndFmts\");\n}\n\nfunction write_FONTS_bin(ba) {\n\tvar cnt = 1;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, \"BrtBeginFonts\", write_UInt32LE(cnt));\n\twrite_record(ba, \"BrtFont\", write_BrtFont({\n\t\tsz:12,\n\t\tcolor: {theme:1},\n\t\tname: \"Calibri\",\n\t\tfamily: 2,\n\t\tscheme: \"minor\"\n\t}));\n\t/* 1*65491BrtFont [ACFONTS] */\n\twrite_record(ba, \"BrtEndFonts\");\n}\n\nfunction write_FILLS_bin(ba) {\n\tvar cnt = 2;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, \"BrtBeginFills\", write_UInt32LE(cnt));\n\twrite_record(ba, \"BrtFill\", write_BrtFill({patternType:\"none\"}));\n\twrite_record(ba, \"BrtFill\", write_BrtFill({patternType:\"gray125\"}));\n\t/* 1*65431BrtFill */\n\twrite_record(ba, \"BrtEndFills\");\n}\n\nfunction write_BORDERS_bin(ba) {\n\tvar cnt = 1;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, \"BrtBeginBorders\", write_UInt32LE(cnt));\n\twrite_record(ba, \"BrtBorder\", write_BrtBorder({}));\n\t/* 1*65430BrtBorder */\n\twrite_record(ba, \"BrtEndBorders\");\n}\n\nfunction write_CELLSTYLEXFS_bin(ba) {\n\tvar cnt = 1;\n\twrite_record(ba, \"BrtBeginCellStyleXFs\", write_UInt32LE(cnt));\n\twrite_record(ba, \"BrtXF\", write_BrtXF({\n\t\tnumFmtId: 0,\n\t\tfontId: 0,\n\t\tfillId: 0,\n\t\tborderId: 0\n\t}, 0xFFFF));\n\t/* 1*65430(BrtXF *FRT) */\n\twrite_record(ba, \"BrtEndCellStyleXFs\");\n}\n\nfunction write_CELLXFS_bin(ba, data) {\n\twrite_record(ba, \"BrtBeginCellXFs\", write_UInt32LE(data.length));\n\tdata.forEach(function(c) { write_record(ba, \"BrtXF\", write_BrtXF(c,0)); });\n\t/* 1*65430(BrtXF *FRT) */\n\twrite_record(ba, \"BrtEndCellXFs\");\n}\n\nfunction write_STYLES_bin(ba) {\n\tvar cnt = 1;\n\n\twrite_record(ba, \"BrtBeginStyles\", write_UInt32LE(cnt));\n\twrite_record(ba, \"BrtStyle\", write_BrtStyle({\n\t\txfId:0,\n\t\tbuiltinId:0,\n\t\tname:\"Normal\"\n\t}));\n\t/* 1*65430(BrtStyle *FRT) */\n\twrite_record(ba, \"BrtEndStyles\");\n}\n\nfunction write_DXFS_bin(ba) {\n\tvar cnt = 0;\n\n\twrite_record(ba, \"BrtBeginDXFs\", write_UInt32LE(cnt));\n\t/* *2147483647(BrtDXF *FRT) */\n\twrite_record(ba, \"BrtEndDXFs\");\n}\n\nfunction write_TABLESTYLES_bin(ba) {\n\tvar cnt = 0;\n\n\twrite_record(ba, \"BrtBeginTableStyles\", write_BrtBeginTableStyles(cnt, \"TableStyleMedium9\", \"PivotStyleMedium4\"));\n\t/* *TABLESTYLE */\n\twrite_record(ba, \"BrtEndTableStyles\");\n}\n\nfunction write_COLORPALETTE_bin() {\n\treturn;\n\t/* BrtBeginColorPalette [INDEXEDCOLORS] [MRUCOLORS] BrtEndColorPalette */\n}\n\n/* [MS-XLSB] 2.1.7.50 Styles */\nfunction write_sty_bin(wb, opts) {\n\tvar ba = buf_array();\n\twrite_record(ba, \"BrtBeginStyleSheet\");\n\twrite_FMTS_bin(ba, wb.SSF);\n\twrite_FONTS_bin(ba, wb);\n\twrite_FILLS_bin(ba, wb);\n\twrite_BORDERS_bin(ba, wb);\n\twrite_CELLSTYLEXFS_bin(ba, wb);\n\twrite_CELLXFS_bin(ba, opts.cellXfs);\n\twrite_STYLES_bin(ba, wb);\n\twrite_DXFS_bin(ba, wb);\n\twrite_TABLESTYLES_bin(ba, wb);\n\twrite_COLORPALETTE_bin(ba, wb);\n\t/* FRTSTYLESHEET*/\n\twrite_record(ba, \"BrtEndStyleSheet\");\n\treturn ba.end();\n}\nRELS.THEME = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\";\n\n/* Even though theme layout is dk1 lt1 dk2 lt2, true order is lt1 dk1 lt2 dk2 */\nvar XLSXThemeClrScheme = [\n\t'', '', '', '',\n\t'', '', '',\n\t'', '', '',\n\t'', ''\n];\n/* 20.1.6.2 clrScheme CT_ColorScheme */\nfunction parse_clrScheme(t, themes, opts) {\n\tthemes.themeElements.clrScheme = [];\n\tvar color = {};\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\t/* 20.1.6.2 clrScheme (Color Scheme) CT_ColorScheme */\n\t\t\tcase '': break;\n\n\t\t\t/* 20.1.2.3.32 srgbClr CT_SRgbColor */\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\t\tif (y[0].charAt(1) === '/') {\n\t\t\t\t\tthemes.themeElements.clrScheme[XLSXThemeClrScheme.indexOf(y[0])] = color;\n\t\t\t\t\tcolor = {};\n\t\t\t\t} else {\n\t\t\t\t\tcolor.name = y[0].slice(3, y[0].length - 1);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tdefault: if(opts && opts.WTF) throw new Error('Unrecognized ' + y[0] + ' in clrScheme');\n\t\t}\n\t});\n}\n\n/* 20.1.4.1.18 fontScheme CT_FontScheme */\nfunction parse_fontScheme() { }\n\n/* 20.1.4.1.15 fmtScheme CT_StyleMatrix */\nfunction parse_fmtScheme() { }\n\nvar clrsregex = /]*)>[\\s\\S]*<\\/a:clrScheme>/;\nvar fntsregex = /]*)>[\\s\\S]*<\\/a:fontScheme>/;\nvar fmtsregex = /]*)>[\\s\\S]*<\\/a:fmtScheme>/;\n\n/* 20.1.6.10 themeElements CT_BaseStyles */\nfunction parse_themeElements(data, themes, opts) {\n\tthemes.themeElements = {};\n\n\tvar t;\n\n\t[\n\t\t/* clrScheme CT_ColorScheme */\n\t\t['clrScheme', clrsregex, parse_clrScheme],\n\t\t/* fontScheme CT_FontScheme */\n\t\t['fontScheme', fntsregex, parse_fontScheme],\n\t\t/* fmtScheme CT_StyleMatrix */\n\t\t['fmtScheme', fmtsregex, parse_fmtScheme]\n\t].forEach(function(m) {\n\t\tif(!(t=data.match(m[1]))) throw new Error(m[0] + ' not found in themeElements');\n\t\tm[2](t, themes, opts);\n\t});\n}\n\nvar themeltregex = /]*)>[\\s\\S]*<\\/a:themeElements>/;\n\n/* 14.2.7 Theme Part */\nfunction parse_theme_xml(data, opts) {\n\t/* 20.1.6.9 theme CT_OfficeStyleSheet */\n\tif(!data || data.length === 0) return parse_theme_xml(write_theme());\n\n\tvar t;\n\tvar themes = {};\n\n\t/* themeElements CT_BaseStyles */\n\tif(!(t=data.match(themeltregex))) throw new Error('themeElements not found in theme');\n\tparse_themeElements(t[0], themes, opts);\n\tthemes.raw = data;\n\treturn themes;\n}\n\nfunction write_theme(Themes, opts) {\n\tif(opts && opts.themeXLSX) return opts.themeXLSX;\n\tif(Themes && typeof Themes.raw == \"string\") return Themes.raw;\n\tvar o = [XML_HEADER];\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\treturn o.join(\"\");\n}\n/* [MS-XLS] 2.4.326 TODO: payload is a zip file */\nfunction parse_Theme(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar dwThemeVersion = blob.read_shift(4);\n\tif(dwThemeVersion === 124226) return;\n\tif(!opts.cellStyles || !jszip) { blob.l = end; return; }\n\tvar data = blob.slice(blob.l);\n\tblob.l = end;\n\tvar zip; try { zip = new jszip(data); } catch(e) { return; }\n\tvar themeXML = getzipstr(zip, \"theme/theme/theme1.xml\", true);\n\tif(!themeXML) return;\n\treturn parse_theme_xml(themeXML, opts);\n}\n\n/* 2.5.49 */\nfunction parse_ColorTheme(blob) { return blob.read_shift(4); }\n\n/* 2.5.155 */\nfunction parse_FullColorExt(blob) {\n\tvar o = {};\n\to.xclrType = blob.read_shift(2);\n\to.nTintShade = blob.read_shift(2);\n\tswitch(o.xclrType) {\n\t\tcase 0: blob.l += 4; break;\n\t\tcase 1: o.xclrValue = parse_IcvXF(blob, 4); break;\n\t\tcase 2: o.xclrValue = parse_LongRGBA(blob, 4); break;\n\t\tcase 3: o.xclrValue = parse_ColorTheme(blob, 4); break;\n\t\tcase 4: blob.l += 4; break;\n\t}\n\tblob.l += 8;\n\treturn o;\n}\n\n/* 2.5.164 TODO: read 7 bits*/\nfunction parse_IcvXF(blob, length) {\n\treturn parsenoop(blob, length);\n}\n\n/* 2.5.280 */\nfunction parse_XFExtGradient(blob, length) {\n\treturn parsenoop(blob, length);\n}\n\n/* [MS-XLS] 2.5.108 */\nfunction parse_ExtProp(blob) {\n\tvar extType = blob.read_shift(2);\n\tvar cb = blob.read_shift(2) - 4;\n\tvar o = [extType];\n\tswitch(extType) {\n\t\tcase 0x04: case 0x05: case 0x07: case 0x08:\n\t\tcase 0x09: case 0x0A: case 0x0B: case 0x0D:\n\t\t\to[1] = parse_FullColorExt(blob, cb); break;\n\t\tcase 0x06: o[1] = parse_XFExtGradient(blob, cb); break;\n\t\tcase 0x0E: case 0x0F: o[1] = blob.read_shift(cb === 1 ? 1 : 2); break;\n\t\tdefault: throw new Error(\"Unrecognized ExtProp type: \" + extType + \" \" + cb);\n\t}\n\treturn o;\n}\n\n/* 2.4.355 */\nfunction parse_XFExt(blob, length) {\n\tvar end = blob.l + length;\n\tblob.l += 2;\n\tvar ixfe = blob.read_shift(2);\n\tblob.l += 2;\n\tvar cexts = blob.read_shift(2);\n\tvar ext = [];\n\twhile(cexts-- > 0) ext.push(parse_ExtProp(blob, end-blob.l));\n\treturn {ixfe:ixfe, ext:ext};\n}\n\n/* xf is an XF, see parse_XFExt for xfext */\nfunction update_xfext(xf, xfext) {\n\txfext.forEach(function(xfe) {\n\t\tswitch(xfe[0]) { /* 2.5.108 extPropData */\n\t\t\tcase 0x04: break; /* foreground color */\n\t\t\tcase 0x05: break; /* background color */\n\t\t\tcase 0x06: break; /* gradient fill */\n\t\t\tcase 0x07: break; /* top cell border color */\n\t\t\tcase 0x08: break; /* bottom cell border color */\n\t\t\tcase 0x09: break; /* left cell border color */\n\t\t\tcase 0x0a: break; /* right cell border color */\n\t\t\tcase 0x0b: break; /* diagonal cell border color */\n\t\t\tcase 0x0d: /* text color */\n\t\t\t\tbreak;\n\t\t\tcase 0x0e: break; /* font scheme */\n\t\t\tcase 0x0f: break; /* indentation level */\n\t\t}\n\t});\n}\n\n/* 18.6 Calculation Chain */\nfunction parse_cc_xml(data) {\n\tvar d = [];\n\tif(!data) return d;\n\tvar i = 1;\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.6.1 c CT_CalcCell 1 */\n\t\t\tcase ' 0){/* empty */}\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0){/* empty */}\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t});\n\treturn out;\n}\n\n//function write_cc_bin(data, opts) { }\n/* 18.14 Supplementary Workbook Data */\nfunction parse_xlink_xml() {\n\t//var opts = _opts || {};\n\t//if(opts.WTF) throw \"XLSX External Link\";\n}\n\n/* [MS-XLSB] 2.1.7.25 External Link */\nfunction parse_xlink_bin(data, rel, name, _opts) {\n\tif(!data) return data;\n\tvar opts = _opts || {};\n\n\tvar pass = false, end = false;\n\n\trecordhopper(data, function xlink_parse(val, R_n, RT) {\n\t\tif(end) return;\n\t\tswitch(RT) {\n\t\t\tcase 0x0167: /* 'BrtSupTabs' */\n\t\t\tcase 0x016B: /* 'BrtExternTableStart' */\n\t\t\tcase 0x016C: /* 'BrtExternTableEnd' */\n\t\t\tcase 0x016E: /* 'BrtExternRowHdr' */\n\t\t\tcase 0x016F: /* 'BrtExternCellBlank' */\n\t\t\tcase 0x0170: /* 'BrtExternCellReal' */\n\t\t\tcase 0x0171: /* 'BrtExternCellBool' */\n\t\t\tcase 0x0172: /* 'BrtExternCellError' */\n\t\t\tcase 0x0173: /* 'BrtExternCellString' */\n\t\t\tcase 0x01D8: /* 'BrtExternValueMeta' */\n\t\t\tcase 0x0241: /* 'BrtSupNameStart' */\n\t\t\tcase 0x0242: /* 'BrtSupNameValueStart' */\n\t\t\tcase 0x0243: /* 'BrtSupNameValueEnd' */\n\t\t\tcase 0x0244: /* 'BrtSupNameNum' */\n\t\t\tcase 0x0245: /* 'BrtSupNameErr' */\n\t\t\tcase 0x0246: /* 'BrtSupNameSt' */\n\t\t\tcase 0x0247: /* 'BrtSupNameNil' */\n\t\t\tcase 0x0248: /* 'BrtSupNameBool' */\n\t\t\tcase 0x0249: /* 'BrtSupNameFmla' */\n\t\t\tcase 0x024A: /* 'BrtSupNameBits' */\n\t\t\tcase 0x024B: /* 'BrtSupNameEnd' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif((R_n||\"\").indexOf(\"Begin\") > 0){/* empty */}\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0){/* empty */}\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT.toString(16) + \" \" + R_n);\n\t\t}\n\t}, opts);\n}\n/* 20.5 DrawingML - SpreadsheetML Drawing */\nRELS.IMG = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\";\nRELS.DRAW = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing\";\n\n/* 20.5.2.35 wsDr CT_Drawing */\nfunction parse_drawing(data, rels) {\n\tif(!data) return \"??\";\n\t/*\n\t Chartsheet Drawing:\n\t - 20.5.2.35 wsDr CT_Drawing\n\t - 20.5.2.1 absoluteAnchor CT_AbsoluteAnchor\n\t - 20.5.2.16 graphicFrame CT_GraphicalObjectFrame\n\t - 20.1.2.2.16 graphic CT_GraphicalObject\n\t - 20.1.2.2.17 graphicData CT_GraphicalObjectData\n - chart reference\n\t the actual type is based on the URI of the graphicData\n\t\tTODO: handle embedded charts and other types of graphics\n\t*/\n\tvar id = (data.match(/]*r:id=\"([^\"]*)\"/)||[\"\",\"\"])[1];\n\n\treturn rels['!id'][id].Target;\n}\n\n/* L.5.5.2 SpreadsheetML Comments + VML Schema */\nvar _shapeid = 1024;\nfunction write_comments_vml(rId, comments) {\n\tvar csize = [21600, 21600];\n\t/* L.5.2.1.2 Path Attribute */\n\tvar bbox = [\"m0,0l0\",csize[1],csize[0],csize[1],csize[0],\"0xe\"].join(\",\");\n\tvar o = [\n\t\twritextag(\"xml\", null, { 'xmlns:v': XLMLNS.v, 'xmlns:o': XLMLNS.o, 'xmlns:x': XLMLNS.x, 'xmlns:mv': XLMLNS.mv }).replace(/\\/>/,\">\"),\n\t\twritextag(\"o:shapelayout\", writextag(\"o:idmap\", null, {'v:ext':\"edit\", 'data':rId}), {'v:ext':\"edit\"}),\n\t\twritextag(\"v:shapetype\", [\n\t\t\twritextag(\"v:stroke\", null, {joinstyle:\"miter\"}),\n\t\t\twritextag(\"v:path\", null, {gradientshapeok:\"t\", 'o:connecttype':\"rect\"})\n\t\t].join(\"\"), {id:\"_x0000_t202\", 'o:spt':202, coordsize:csize.join(\",\"),path:bbox})\n\t];\n\twhile(_shapeid < rId * 1000) _shapeid += 1000;\n\n\tcomments.forEach(function(x) {\n\tvar c = decode_cell(x[0]);\n\tvar fillopts = {'color2':\"#BEFF82\", 'type':\"gradient\"};\n\tif(fillopts.type == \"gradient\") fillopts.angle = \"-180\";\n\tvar fillparm = fillopts.type == \"gradient\" ? writextag(\"o:fill\", null, {type:\"gradientUnscaled\", 'v:ext':\"view\"}) : null;\n\tvar fillxml = writextag('v:fill', fillparm, fillopts);\n\n\tvar shadata = ({on:\"t\", 'obscured':\"t\"});\n\t++_shapeid;\n\n\to = o.concat([\n\t'',\n\t\tfillxml,\n\t\twritextag(\"v:shadow\", null, shadata),\n\t\twritextag(\"v:path\", null, {'o:connecttype':\"none\"}),\n\t\t'
',\n\t\t'',\n\t\t\t'',\n\t\t\t'',\n\t\t\t/* Part 4 19.4.2.3 Anchor (Anchor) */\n\t\t\twritetag('x:Anchor', [c.c+1, 0, c.r+1, 0, c.c+3, 20, c.r+5, 20].join(\",\")),\n\t\t\twritetag('x:AutoFill', \"False\"),\n\t\t\twritetag('x:Row', String(c.r)),\n\t\t\twritetag('x:Column', String(c.c)),\n\t\t\tx[1].hidden ? '' : '',\n\t\t'',\n\t''\n\t]); });\n\to.push('');\n\treturn o.join(\"\");\n}\nRELS.CMNT = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments\";\n\nfunction sheet_insert_comments(sheet, comments) {\n\tvar dense = Array.isArray(sheet);\n\tvar cell;\n\tcomments.forEach(function(comment) {\n\t\tvar r = decode_cell(comment.ref);\n\t\tif(dense) {\n\t\t\tif(!sheet[r.r]) sheet[r.r] = [];\n\t\t\tcell = sheet[r.r][r.c];\n\t\t} else cell = sheet[comment.ref];\n\t\tif (!cell) {\n\t\t\tcell = ({t:\"z\"});\n\t\t\tif(dense) sheet[r.r][r.c] = cell;\n\t\t\telse sheet[comment.ref] = cell;\n\t\t\tvar range = safe_decode_range(sheet[\"!ref\"]||\"BDWGO1000001:A1\");\n\t\t\tif(range.s.r > r.r) range.s.r = r.r;\n\t\t\tif(range.e.r < r.r) range.e.r = r.r;\n\t\t\tif(range.s.c > r.c) range.s.c = r.c;\n\t\t\tif(range.e.c < r.c) range.e.c = r.c;\n\t\t\tvar encoded = encode_range(range);\n\t\t\tif (encoded !== sheet[\"!ref\"]) sheet[\"!ref\"] = encoded;\n\t\t}\n\n\t\tif (!cell.c) cell.c = [];\n\t\tvar o = ({a: comment.author, t: comment.t, r: comment.r});\n\t\tif(comment.h) o.h = comment.h;\n\t\tcell.c.push(o);\n\t});\n}\n\n/* 18.7 Comments */\nfunction parse_comments_xml(data, opts) {\n\t/* 18.7.6 CT_Comments */\n\tif(data.match(/<(?:\\w+:)?comments *\\/>/)) return [];\n\tvar authors = [];\n\tvar commentList = [];\n\tvar authtag = data.match(/<(?:\\w+:)?authors>([\\s\\S]*)<\\/(?:\\w+:)?authors>/);\n\tif(authtag && authtag[1]) authtag[1].split(/<\\/\\w*:?author>/).forEach(function(x) {\n\t\tif(x === \"\" || x.trim() === \"\") return;\n\t\tvar a = x.match(/<(?:\\w+:)?author[^>]*>(.*)/);\n\t\tif(a) authors.push(a[1]);\n\t});\n\tvar cmnttag = data.match(/<(?:\\w+:)?commentList>([\\s\\S]*)<\\/(?:\\w+:)?commentList>/);\n\tif(cmnttag && cmnttag[1]) cmnttag[1].split(/<\\/\\w*:?comment>/).forEach(function(x) {\n\t\tif(x === \"\" || x.trim() === \"\") return;\n\t\tvar cm = x.match(/<(?:\\w+:)?comment[^>]*>/);\n\t\tif(!cm) return;\n\t\tvar y = parsexmltag(cm[0]);\n\t\tvar comment = ({ author: y.authorId && authors[y.authorId] || \"sheetjsghost\", ref: y.ref, guid: y.guid });\n\t\tvar cell = decode_cell(y.ref);\n\t\tif(opts.sheetRows && opts.sheetRows <= cell.r) return;\n\t\tvar textMatch = x.match(/<(?:\\w+:)?text>([\\s\\S]*)<\\/(?:\\w+:)?text>/);\n\t\tvar rt = !!textMatch && !!textMatch[1] && parse_si(textMatch[1]) || {r:\"\",t:\"\",h:\"\"};\n\t\tcomment.r = rt.r;\n\t\tif(rt.r == \"\") rt.t = rt.h = \"\";\n\t\tcomment.t = rt.t.replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\");\n\t\tif(opts.cellHTML) comment.h = rt.h;\n\t\tcommentList.push(comment);\n\t});\n\treturn commentList;\n}\n\nvar CMNT_XML_ROOT = writextag('comments', null, { 'xmlns': XMLNS.main[0] });\nfunction write_comments_xml(data) {\n\tvar o = [XML_HEADER, CMNT_XML_ROOT];\n\n\tvar iauthor = [];\n\to.push(\"\");\n\tdata.forEach(function(x) { x[1].forEach(function(w) { var a = escapexml(w.a);\n\t\tif(iauthor.indexOf(a) > -1) return;\n\t\tiauthor.push(a);\n\t\to.push(\"\" + a + \"\");\n\t}); });\n\to.push(\"\");\n\to.push(\"\");\n\tdata.forEach(function(d) {\n\t\td[1].forEach(function(c) {\n\t\t\t/* 18.7.3 CT_Comment */\n\t\t\to.push('');\n\t\t\to.push(writetag(\"t\", c.t == null ? \"\" : escapexml(c.t)));\n\t\t\to.push('');\n\t\t});\n\t});\n\to.push(\"\");\n\tif(o.length>2) { o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.28 BrtBeginComment */\nfunction parse_BrtBeginComment(data) {\n\tvar out = {};\n\tout.iauthor = data.read_shift(4);\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tout.rfx = rfx.s;\n\tout.ref = encode_cell(rfx.s);\n\tdata.l += 16; /*var guid = parse_GUID(data); */\n\treturn out;\n}\nfunction write_BrtBeginComment(data, o) {\n\tif(o == null) o = new_buf(36);\n\to.write_shift(4, data[1].iauthor);\n\twrite_UncheckedRfX((data[0]), o);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.327 BrtCommentAuthor */\nvar parse_BrtCommentAuthor = parse_XLWideString;\nfunction write_BrtCommentAuthor(data) { return write_XLWideString(data.slice(0, 54)); }\n\n/* [MS-XLSB] 2.1.7.8 Comments */\nfunction parse_comments_bin(data, opts) {\n\tvar out = [];\n\tvar authors = [];\n\tvar c = {};\n\tvar pass = false;\n\trecordhopper(data, function hopper_cmnt(val, R_n, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x0278: /* 'BrtCommentAuthor' */\n\t\t\t\tauthors.push(val); break;\n\t\t\tcase 0x027B: /* 'BrtBeginComment' */\n\t\t\t\tc = val; break;\n\t\t\tcase 0x027D: /* 'BrtCommentText' */\n\t\t\t\tc.t = val.t; c.h = val.h; c.r = val.r; break;\n\t\t\tcase 0x027C: /* 'BrtEndComment' */\n\t\t\t\tc.author = authors[c.iauthor];\n\t\t\t\tdelete (c).iauthor;\n\t\t\t\tif(opts.sheetRows && c.rfx && opts.sheetRows <= c.rfx.r) break;\n\t\t\t\tif(!c.t) c.t = \"\";\n\t\t\t\tdelete c.rfx; out.push(c); break;\n\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */ break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */ break;\n\n\n\t\t\tdefault:\n\t\t\t\tif((R_n||\"\").indexOf(\"Begin\") > 0){/* empty */}\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0){/* empty */}\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t});\n\treturn out;\n}\n\nfunction write_comments_bin(data) {\n\tvar ba = buf_array();\n\tvar iauthor = [];\n\twrite_record(ba, \"BrtBeginComments\");\n\n\twrite_record(ba, \"BrtBeginCommentAuthors\");\n\tdata.forEach(function(comment) {\n\t\tcomment[1].forEach(function(c) {\n\t\t\tif(iauthor.indexOf(c.a) > -1) return;\n\t\t\tiauthor.push(c.a.slice(0,54));\n\t\t\twrite_record(ba, \"BrtCommentAuthor\", write_BrtCommentAuthor(c.a));\n\t\t});\n\t});\n\twrite_record(ba, \"BrtEndCommentAuthors\");\n\n\twrite_record(ba, \"BrtBeginCommentList\");\n\tdata.forEach(function(comment) {\n\t\tcomment[1].forEach(function(c) {\n\t\t\tc.iauthor = iauthor.indexOf(c.a);\n\t\t\tvar range = {s:decode_cell(comment[0]),e:decode_cell(comment[0])};\n\t\t\twrite_record(ba, \"BrtBeginComment\", write_BrtBeginComment([range, c]));\n\t\t\tif(c.t && c.t.length > 0) write_record(ba, \"BrtCommentText\", write_BrtCommentText(c));\n\t\t\twrite_record(ba, \"BrtEndComment\");\n\t\t\tdelete c.iauthor;\n\t\t});\n\t});\n\twrite_record(ba, \"BrtEndCommentList\");\n\n\twrite_record(ba, \"BrtEndComments\");\n\treturn ba.end();\n}\nvar CT_VBA = \"application/vnd.ms-office.vbaProject\";\nfunction make_vba_xls(cfb) {\n\tvar newcfb = CFB.utils.cfb_new({root:\"R\"});\n\tcfb.FullPaths.forEach(function(p, i) {\n\t\tif(p.slice(-1) === \"/\" || !p.match(/_VBA_PROJECT_CUR/)) return;\n\t\tvar newpath = p.replace(/^[^\\/]*/,\"R\").replace(/\\/_VBA_PROJECT_CUR\\u0000*/, \"\");\n\t\tCFB.utils.cfb_add(newcfb, newpath, cfb.FileIndex[i].content);\n\t});\n\treturn CFB.write(newcfb);\n}\n\nfunction fill_vba_xls(cfb, vba) {\n\tvba.FullPaths.forEach(function(p, i) {\n\t\tif(i == 0) return;\n\t\tvar newpath = p.replace(/[^\\/]*[\\/]/, \"/_VBA_PROJECT_CUR/\");\n\t\tif(newpath.slice(-1) !== \"/\") CFB.utils.cfb_add(cfb, newpath, vba.FileIndex[i].content);\n\t});\n}\n\nvar VBAFMTS = [ \"xlsb\", \"xlsm\", \"xlam\", \"biff8\", \"xla\" ];\n\nRELS.DS = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet\";\nRELS.MS = \"http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet\";\n\n/* macro and dialog sheet stubs */\nfunction parse_ds_bin() { return {'!type':'dialog'}; }\nfunction parse_ds_xml() { return {'!type':'dialog'}; }\nfunction parse_ms_bin() { return {'!type':'macro'}; }\nfunction parse_ms_xml() { return {'!type':'macro'}; }\n/* TODO: it will be useful to parse the function str */\nvar rc_to_a1 = (function(){\n\tvar rcregex = /(^|[^A-Za-z_])R(\\[?-?\\d+\\]|[1-9]\\d*|)C(\\[?-?\\d+\\]|[1-9]\\d*|)(?![A-Za-z0-9_])/g;\n\tvar rcbase = ({r:0,c:0});\n\tfunction rcfunc($$,$1,$2,$3) {\n\t\tvar cRel = false, rRel = false;\n\n\t\tif($2.length == 0) rRel = true;\n\t\telse if($2.charAt(0) == \"[\") { rRel = true; $2 = $2.slice(1, -1); }\n\n\t\tif($3.length == 0) cRel = true;\n\t\telse if($3.charAt(0) == \"[\") { cRel = true; $3 = $3.slice(1, -1); }\n\n\t\tvar R = $2.length>0?parseInt($2,10)|0:0, C = $3.length>0?parseInt($3,10)|0:0;\n\n\t\tif(cRel) C += rcbase.c; else --C;\n\t\tif(rRel) R += rcbase.r; else --R;\n\t\treturn $1 + (cRel ? \"\" : \"$\") + encode_col(C) + (rRel ? \"\" : \"$\") + encode_row(R);\n\t}\n\treturn function rc_to_a1(fstr, base) {\n\t\trcbase = base;\n\t\treturn fstr.replace(rcregex, rcfunc);\n\t};\n})();\n\nvar crefregex = /(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)(10[0-3]\\d{4}|104[0-7]\\d{3}|1048[0-4]\\d{2}|10485[0-6]\\d|104857[0-6]|[1-9]\\d{0,5})(?![_.\\(A-Za-z0-9])/g;\nvar a1_to_rc =(function(){\n\treturn function a1_to_rc(fstr, base) {\n\t\treturn fstr.replace(crefregex, function($0, $1, $2, $3, $4, $5) {\n\t\t\tvar c = decode_col($3) - ($2 ? 0 : base.c);\n\t\t\tvar r = decode_row($5) - ($4 ? 0 : base.r);\n\t\t\tvar R = (r == 0 ? \"\" : !$4 ? \"[\" + r + \"]\" : (r+1));\n\t\t\tvar C = (c == 0 ? \"\" : !$2 ? \"[\" + c + \"]\" : (c+1));\n\t\t\treturn $1 + \"R\" + R + \"C\" + C;\n\t\t});\n\t};\n})();\n\n/* no defined name can collide with a valid cell address A1:XFD1048576 ... except LOG10! */\nfunction shift_formula_str(f, delta) {\n\treturn f.replace(crefregex, function($0, $1, $2, $3, $4, $5) {\n\t\treturn $1+($2==\"$\" ? $2+$3 : encode_col(decode_col($3)+delta.c))+($4==\"$\" ? $4+$5 : encode_row(decode_row($5) + delta.r));\n\t});\n}\n\nfunction shift_formula_xlsx(f, range, cell) {\n\tvar r = decode_range(range), s = r.s, c = decode_cell(cell);\n\tvar delta = {r:c.r - s.r, c:c.c - s.c};\n\treturn shift_formula_str(f, delta);\n}\n\n/* TODO: parse formula */\nfunction fuzzyfmla(f) {\n\tif(f.length == 1) return false;\n\treturn true;\n}\n\nfunction _xlfn(f) {\n\treturn f.replace(/_xlfn\\./g,\"\");\n}\nfunction parseread1(blob) { blob.l+=1; return; }\n\n/* [MS-XLS] 2.5.51 */\nfunction parse_ColRelU(blob, length) {\n\tvar c = blob.read_shift(length == 1 ? 1 : 2);\n\treturn [c & 0x3FFF, (c >> 14) & 1, (c >> 15) & 1];\n}\n\n/* [MS-XLS] 2.5.198.105 ; [MS-XLSB] 2.5.97.89 */\nfunction parse_RgceArea(blob, length, opts) {\n\tvar w = 2;\n\tif(opts) {\n\t\tif(opts.biff >= 2 && opts.biff <= 5) return parse_RgceArea_BIFF2(blob, length, opts);\n\t\telse if(opts.biff == 12) w = 4;\n\t}\n\tvar r=blob.read_shift(w), R=blob.read_shift(w);\n\tvar c=parse_ColRelU(blob, 2);\n\tvar C=parse_ColRelU(blob, 2);\n\treturn { s:{r:r, c:c[0], cRel:c[1], rRel:c[2]}, e:{r:R, c:C[0], cRel:C[1], rRel:C[2]} };\n}\n/* BIFF 2-5 encodes flags in the row field */\nfunction parse_RgceArea_BIFF2(blob) {\n\tvar r=parse_ColRelU(blob, 2), R=parse_ColRelU(blob, 2);\n\tvar c=blob.read_shift(1);\n\tvar C=blob.read_shift(1);\n\treturn { s:{r:r[0], c:c, cRel:r[1], rRel:r[2]}, e:{r:R[0], c:C, cRel:R[1], rRel:R[2]} };\n}\n\n/* [MS-XLS] 2.5.198.105 ; [MS-XLSB] 2.5.97.90 */\nfunction parse_RgceAreaRel(blob, length, opts) {\n\tif(opts.biff < 8) return parse_RgceArea_BIFF2(blob, length, opts);\n\tvar r=blob.read_shift(opts.biff == 12 ? 4 : 2), R=blob.read_shift(opts.biff == 12 ? 4 : 2);\n\tvar c=parse_ColRelU(blob, 2);\n\tvar C=parse_ColRelU(blob, 2);\n\treturn { s:{r:r, c:c[0], cRel:c[1], rRel:c[2]}, e:{r:R, c:C[0], cRel:C[1], rRel:C[2]} };\n}\n\n/* [MS-XLS] 2.5.198.109 ; [MS-XLSB] 2.5.97.91 */\nfunction parse_RgceLoc(blob, length, opts) {\n\tif(opts && opts.biff >= 2 && opts.biff <= 5) return parse_RgceLoc_BIFF2(blob, length, opts);\n\tvar r = blob.read_shift(opts && opts.biff == 12 ? 4 : 2);\n\tvar c = parse_ColRelU(blob, 2);\n\treturn {r:r, c:c[0], cRel:c[1], rRel:c[2]};\n}\nfunction parse_RgceLoc_BIFF2(blob) {\n\tvar r = parse_ColRelU(blob, 2);\n\tvar c = blob.read_shift(1);\n\treturn {r:r[0], c:c, cRel:r[1], rRel:r[2]};\n}\n\n/* [MS-XLS] 2.5.198.107, 2.5.47 */\nfunction parse_RgceElfLoc(blob) {\n\tvar r = blob.read_shift(2);\n\tvar c = blob.read_shift(2);\n\treturn {r:r, c:c & 0xFF, fQuoted:!!(c & 0x4000), cRel:c>>15, rRel:c>>15 };\n}\n\n/* [MS-XLS] 2.5.198.111 ; [MS-XLSB] 2.5.97.92 TODO */\nfunction parse_RgceLocRel(blob, length, opts) {\n\tvar biff = opts && opts.biff ? opts.biff : 8;\n\tif(biff >= 2 && biff <= 5) return parse_RgceLocRel_BIFF2(blob, length, opts);\n\tvar r = blob.read_shift(biff >= 12 ? 4 : 2);\n\tvar cl = blob.read_shift(2);\n\tvar cRel = (cl & 0x4000) >> 14, rRel = (cl & 0x8000) >> 15;\n\tcl &= 0x3FFF;\n\tif(rRel == 1) while(r > 0x7FFFF) r -= 0x100000;\n\tif(cRel == 1) while(cl > 0x1FFF) cl = cl - 0x4000;\n\treturn {r:r,c:cl,cRel:cRel,rRel:rRel};\n}\nfunction parse_RgceLocRel_BIFF2(blob) {\n\tvar rl = blob.read_shift(2);\n\tvar c = blob.read_shift(1);\n\tvar rRel = (rl & 0x8000) >> 15, cRel = (rl & 0x4000) >> 14;\n\trl &= 0x3FFF;\n\tif(rRel == 1 && rl >= 0x2000) rl = rl - 0x4000;\n\tif(cRel == 1 && c >= 0x80) c = c - 0x100;\n\treturn {r:rl,c:c,cRel:cRel,rRel:rRel};\n}\n\n/* [MS-XLS] 2.5.198.27 ; [MS-XLSB] 2.5.97.18 */\nfunction parse_PtgArea(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar area = parse_RgceArea(blob, opts.biff >= 2 && opts.biff <= 5 ? 6 : 8, opts);\n\treturn [type, area];\n}\n\n/* [MS-XLS] 2.5.198.28 ; [MS-XLSB] 2.5.97.19 */\nfunction parse_PtgArea3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2, 'i');\n\tvar w = 8;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: blob.l += 12; w = 6; break;\n\t\tcase 12: w = 12; break;\n\t}\n\tvar area = parse_RgceArea(blob, w, opts);\n\treturn [type, ixti, area];\n}\n\n/* [MS-XLS] 2.5.198.29 ; [MS-XLSB] 2.5.97.20 */\nfunction parse_PtgAreaErr(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tblob.l += opts && (opts.biff > 8) ? 12 : (opts.biff < 8 ? 6 : 8);\n\treturn [type];\n}\n/* [MS-XLS] 2.5.198.30 ; [MS-XLSB] 2.5.97.21 */\nfunction parse_PtgAreaErr3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2);\n\tvar w = 8;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: blob.l += 12; w = 6; break;\n\t\tcase 12: w = 12; break;\n\t}\n\tblob.l += w;\n\treturn [type, ixti];\n}\n\n/* [MS-XLS] 2.5.198.31 ; [MS-XLSB] 2.5.97.22 */\nfunction parse_PtgAreaN(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar area = parse_RgceAreaRel(blob, length - 1, opts);\n\treturn [type, area];\n}\n\n/* [MS-XLS] 2.5.198.32 ; [MS-XLSB] 2.5.97.23 */\nfunction parse_PtgArray(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tblob.l += opts.biff == 2 ? 6 : opts.biff == 12 ? 14 : 7;\n\treturn [type];\n}\n\n/* [MS-XLS] 2.5.198.33 ; [MS-XLSB] 2.5.97.24 */\nfunction parse_PtgAttrBaxcel(blob) {\n\tvar bitSemi = blob[blob.l+1] & 0x01; /* 1 = volatile */\n\tvar bitBaxcel = 1;\n\tblob.l += 4;\n\treturn [bitSemi, bitBaxcel];\n}\n\n/* [MS-XLS] 2.5.198.34 ; [MS-XLSB] 2.5.97.25 */\nfunction parse_PtgAttrChoose(blob, length, opts) {\n\tblob.l +=2;\n\tvar offset = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tvar o = [];\n\t/* offset is 1 less than the number of elements */\n\tfor(var i = 0; i <= offset; ++i) o.push(blob.read_shift(opts && opts.biff == 2 ? 1 : 2));\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.35 ; [MS-XLSB] 2.5.97.26 */\nfunction parse_PtgAttrGoto(blob, length, opts) {\n\tvar bitGoto = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitGoto, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)];\n}\n\n/* [MS-XLS] 2.5.198.36 ; [MS-XLSB] 2.5.97.27 */\nfunction parse_PtgAttrIf(blob, length, opts) {\n\tvar bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitIf, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)];\n}\n\n/* [MS-XLSB] 2.5.97.28 */\nfunction parse_PtgAttrIfError(blob) {\n\tvar bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitIf, blob.read_shift(2)];\n}\n\n/* [MS-XLS] 2.5.198.37 ; [MS-XLSB] 2.5.97.29 */\nfunction parse_PtgAttrSemi(blob, length, opts) {\n\tvar bitSemi = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += opts && opts.biff == 2 ? 3 : 4;\n\treturn [bitSemi];\n}\n\n/* [MS-XLS] 2.5.198.40 ; [MS-XLSB] 2.5.97.32 */\nfunction parse_PtgAttrSpaceType(blob) {\n\tvar type = blob.read_shift(1), cch = blob.read_shift(1);\n\treturn [type, cch];\n}\n\n/* [MS-XLS] 2.5.198.38 ; [MS-XLSB] 2.5.97.30 */\nfunction parse_PtgAttrSpace(blob) {\n\tblob.read_shift(2);\n\treturn parse_PtgAttrSpaceType(blob, 2);\n}\n\n/* [MS-XLS] 2.5.198.39 ; [MS-XLSB] 2.5.97.31 */\nfunction parse_PtgAttrSpaceSemi(blob) {\n\tblob.read_shift(2);\n\treturn parse_PtgAttrSpaceType(blob, 2);\n}\n\n/* [MS-XLS] 2.5.198.84 ; [MS-XLSB] 2.5.97.68 TODO */\nfunction parse_PtgRef(blob, length, opts) {\n\t//var ptg = blob[blob.l] & 0x1F;\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar loc = parse_RgceLoc(blob, 0, opts);\n\treturn [type, loc];\n}\n\n/* [MS-XLS] 2.5.198.88 ; [MS-XLSB] 2.5.97.72 TODO */\nfunction parse_PtgRefN(blob, length, opts) {\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar loc = parse_RgceLocRel(blob, 0, opts);\n\treturn [type, loc];\n}\n\n/* [MS-XLS] 2.5.198.85 ; [MS-XLSB] 2.5.97.69 TODO */\nfunction parse_PtgRef3d(blob, length, opts) {\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar ixti = blob.read_shift(2); // XtiIndex\n\tif(opts && opts.biff == 5) blob.l += 12;\n\tvar loc = parse_RgceLoc(blob, 0, opts); // TODO: or RgceLocRel\n\treturn [type, ixti, loc];\n}\n\n\n/* [MS-XLS] 2.5.198.62 ; [MS-XLSB] 2.5.97.45 TODO */\nfunction parse_PtgFunc(blob, length, opts) {\n\t//var ptg = blob[blob.l] & 0x1F;\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar iftab = blob.read_shift(opts && opts.biff <= 3 ? 1 : 2);\n\treturn [FtabArgc[iftab], Ftab[iftab], type];\n}\n/* [MS-XLS] 2.5.198.63 ; [MS-XLSB] 2.5.97.46 TODO */\nfunction parse_PtgFuncVar(blob, length, opts) {\n\tvar type = blob[blob.l++];\n\tvar cparams = blob.read_shift(1), tab = opts && opts.biff <= 3 ? [(type == 0x58 ? -1 : 0), blob.read_shift(1)]: parsetab(blob);\n\treturn [cparams, (tab[0] === 0 ? Ftab : Cetab)[tab[1]]];\n}\n\nfunction parsetab(blob) {\n\treturn [blob[blob.l+1]>>7, blob.read_shift(2) & 0x7FFF];\n}\n\n/* [MS-XLS] 2.5.198.41 ; [MS-XLSB] 2.5.97.33 */\nfunction parse_PtgAttrSum(blob, length, opts) {\n\tblob.l += opts && opts.biff == 2 ? 3 : 4; return;\n}\n\n/* [MS-XLS] 2.5.198.58 ; [MS-XLSB] 2.5.97.40 */\nfunction parse_PtgExp(blob, length, opts) {\n\tblob.l++;\n\tif(opts && opts.biff == 12) return [blob.read_shift(4, 'i'), 0];\n\tvar row = blob.read_shift(2);\n\tvar col = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [row, col];\n}\n\n/* [MS-XLS] 2.5.198.57 ; [MS-XLSB] 2.5.97.39 */\nfunction parse_PtgErr(blob) { blob.l++; return BErr[blob.read_shift(1)]; }\n\n/* [MS-XLS] 2.5.198.66 ; [MS-XLSB] 2.5.97.49 */\nfunction parse_PtgInt(blob) { blob.l++; return blob.read_shift(2); }\n\n/* [MS-XLS] 2.5.198.42 ; [MS-XLSB] 2.5.97.34 */\nfunction parse_PtgBool(blob) { blob.l++; return blob.read_shift(1)!==0;}\n\n/* [MS-XLS] 2.5.198.79 ; [MS-XLSB] 2.5.97.63 */\nfunction parse_PtgNum(blob) { blob.l++; return parse_Xnum(blob, 8); }\n\n/* [MS-XLS] 2.5.198.89 ; [MS-XLSB] 2.5.97.74 */\nfunction parse_PtgStr(blob, length, opts) { blob.l++; return parse_ShortXLUnicodeString(blob, length-1, opts); }\n\n/* [MS-XLS] 2.5.192.112 + 2.5.192.11{3,4,5,6,7} */\n/* [MS-XLSB] 2.5.97.93 + 2.5.97.9{4,5,6,7} */\nfunction parse_SerAr(blob, biff) {\n\tvar val = [blob.read_shift(1)];\n\tif(biff == 12) switch(val[0]) {\n\t\tcase 0x02: val[0] = 0x04; break; /* SerBool */\n\t\tcase 0x04: val[0] = 0x10; break; /* SerErr */\n\t\tcase 0x00: val[0] = 0x01; break; /* SerNum */\n\t\tcase 0x01: val[0] = 0x02; break; /* SerStr */\n\t}\n\tswitch(val[0]) {\n\t\tcase 0x04: /* SerBool -- boolean */\n\t\t\tval[1] = parsebool(blob, 1) ? 'TRUE' : 'FALSE';\n\t\t\tif(biff != 12) blob.l += 7; break;\n\t\tcase 0x25: /* appears to be an alias */\n\t\tcase 0x10: /* SerErr -- error */\n\t\t\tval[1] = BErr[blob[blob.l]];\n\t\t\tblob.l += ((biff == 12) ? 4 : 8); break;\n\t\tcase 0x00: /* SerNil -- honestly, I'm not sure how to reproduce this */\n\t\t\tblob.l += 8; break;\n\t\tcase 0x01: /* SerNum -- Xnum */\n\t\t\tval[1] = parse_Xnum(blob, 8); break;\n\t\tcase 0x02: /* SerStr -- XLUnicodeString (<256 chars) */\n\t\t\tval[1] = parse_XLUnicodeString2(blob, 0, {biff:biff > 0 && biff < 8 ? 2 : biff}); break;\n\t\tdefault: throw new Error(\"Bad SerAr: \" + val[0]); /* Unreachable */\n\t}\n\treturn val;\n}\n\n/* [MS-XLS] 2.5.198.61 ; [MS-XLSB] 2.5.97.44 */\nfunction parse_PtgExtraMem(blob, cce, opts) {\n\tvar count = blob.read_shift((opts.biff == 12) ? 4 : 2);\n\tvar out = [];\n\tfor(var i = 0; i != count; ++i) out.push(((opts.biff == 12) ? parse_UncheckedRfX : parse_Ref8U)(blob, 8));\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.198.59 ; [MS-XLSB] 2.5.97.41 */\nfunction parse_PtgExtraArray(blob, length, opts) {\n\tvar rows = 0, cols = 0;\n\tif(opts.biff == 12) {\n\t\trows = blob.read_shift(4); // DRw\n\t\tcols = blob.read_shift(4); // DCol\n\t} else {\n\t\tcols = 1 + blob.read_shift(1); //DColByteU\n\t\trows = 1 + blob.read_shift(2); //DRw\n\t}\n\tif(opts.biff >= 2 && opts.biff < 8) { --rows; if(--cols == 0) cols = 0x100; }\n\t// $FlowIgnore\n\tfor(var i = 0, o = []; i != rows && (o[i] = []); ++i)\n\t\tfor(var j = 0; j != cols; ++j) o[i][j] = parse_SerAr(blob, opts.biff);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.76 ; [MS-XLSB] 2.5.97.60 */\nfunction parse_PtgName(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar w = (!opts || (opts.biff >= 8)) ? 4 : 2;\n\tvar nameindex = blob.read_shift(w);\n\tswitch(opts.biff) {\n\t\tcase 2: blob.l += 5; break;\n\t\tcase 3: case 4: blob.l += 8; break;\n\t\tcase 5: blob.l += 12; break;\n\t}\n\treturn [type, 0, nameindex];\n}\n\n/* [MS-XLS] 2.5.198.77 ; [MS-XLSB] 2.5.97.61 */\nfunction parse_PtgNameX(blob, length, opts) {\n\tif(opts.biff == 5) return parse_PtgNameX_BIFF5(blob, length, opts);\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar ixti = blob.read_shift(2); // XtiIndex\n\tvar nameindex = blob.read_shift(4);\n\treturn [type, ixti, nameindex];\n}\nfunction parse_PtgNameX_BIFF5(blob) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar ixti = blob.read_shift(2, 'i'); // XtiIndex\n\tblob.l += 8;\n\tvar nameindex = blob.read_shift(2);\n\tblob.l += 12;\n\treturn [type, ixti, nameindex];\n}\n\n/* [MS-XLS] 2.5.198.70 ; [MS-XLSB] 2.5.97.54 */\nfunction parse_PtgMemArea(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tblob.l += (opts && opts.biff == 2 ? 3 : 4);\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [type, cce];\n}\n\n/* [MS-XLS] 2.5.198.72 ; [MS-XLSB] 2.5.97.56 */\nfunction parse_PtgMemFunc(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [type, cce];\n}\n\n\n/* [MS-XLS] 2.5.198.86 ; [MS-XLSB] 2.5.97.69 */\nfunction parse_PtgRefErr(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tblob.l += 4;\n\tif(opts.biff < 8) blob.l--;\n\tif(opts.biff == 12) blob.l += 2;\n\treturn [type];\n}\n\n/* [MS-XLS] 2.5.198.87 ; [MS-XLSB] 2.5.97.71 */\nfunction parse_PtgRefErr3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2);\n\tvar w = 4;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: w = 15; break;\n\t\tcase 12: w = 6; break;\n\t}\n\tblob.l += w;\n\treturn [type, ixti];\n}\n\n/* [MS-XLS] 2.5.198.71 ; [MS-XLSB] 2.5.97.55 */\nvar parse_PtgMemErr = parsenoop;\n/* [MS-XLS] 2.5.198.73 ; [MS-XLSB] 2.5.97.57 */\nvar parse_PtgMemNoMem = parsenoop;\n/* [MS-XLS] 2.5.198.92 */\nvar parse_PtgTbl = parsenoop;\n\nfunction parse_PtgElfLoc(blob, length, opts) {\n\tblob.l += 2;\n\treturn [parse_RgceElfLoc(blob, 4, opts)];\n}\nfunction parse_PtgElfNoop(blob) {\n\tblob.l += 6;\n\treturn [];\n}\n/* [MS-XLS] 2.5.198.46 */\nvar parse_PtgElfCol = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.47 */\nvar parse_PtgElfColS = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.48 */\nvar parse_PtgElfColSV = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.49 */\nvar parse_PtgElfColV = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.50 */\nfunction parse_PtgElfLel(blob) {\n\tblob.l += 2;\n\treturn [parseuint16(blob), blob.read_shift(2) & 0x01];\n}\n/* [MS-XLS] 2.5.198.51 */\nvar parse_PtgElfRadical = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.52 */\nvar parse_PtgElfRadicalLel = parse_PtgElfLel;\n/* [MS-XLS] 2.5.198.53 */\nvar parse_PtgElfRadicalS = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.54 */\nvar parse_PtgElfRw = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.55 */\nvar parse_PtgElfRwV = parse_PtgElfLoc;\n\n/* [MS-XLSB] 2.5.97.52 TODO */\nvar PtgListRT = [\n\t\"Data\",\n\t\"All\",\n\t\"Headers\",\n\t\"??\",\n\t\"?Data2\",\n\t\"??\",\n\t\"?DataHeaders\",\n\t\"??\",\n\t\"Totals\",\n\t\"??\",\n\t\"??\",\n\t\"??\",\n\t\"?DataTotals\",\n\t\"??\",\n\t\"??\",\n\t\"??\",\n\t\"?Current\"\n];\nfunction parse_PtgList(blob) {\n\tblob.l += 2;\n\tvar ixti = blob.read_shift(2);\n\tvar flags = blob.read_shift(2);\n\tvar idx = blob.read_shift(4);\n\tvar c = blob.read_shift(2);\n\tvar C = blob.read_shift(2);\n\tvar rt = PtgListRT[(flags >> 2) & 0x1F];\n\treturn {ixti: ixti, coltype:(flags&0x3), rt:rt, idx:idx, c:c, C:C};\n}\n/* [MS-XLS] 2.5.198.91 ; [MS-XLSB] 2.5.97.76 */\nfunction parse_PtgSxName(blob) {\n\tblob.l += 2;\n\treturn [blob.read_shift(4)];\n}\n\n/* [XLS] old spec */\nfunction parse_PtgSheet(blob, length, opts) {\n\tblob.l += 5;\n\tblob.l += 2;\n\tblob.l += (opts.biff == 2 ? 1 : 4);\n\treturn [\"PTGSHEET\"];\n}\nfunction parse_PtgEndSheet(blob, length, opts) {\n\tblob.l += (opts.biff == 2 ? 4 : 5);\n\treturn [\"PTGENDSHEET\"];\n}\nfunction parse_PtgMemAreaN(blob) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(2);\n\treturn [type, cce];\n}\nfunction parse_PtgMemNoMemN(blob) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(2);\n\treturn [type, cce];\n}\nfunction parse_PtgAttrNoop(blob) {\n\tblob.l += 4;\n\treturn [0, 0];\n}\n\n/* [MS-XLS] 2.5.198.25 ; [MS-XLSB] 2.5.97.16 */\nvar PtgTypes = {\n0x01: { n:'PtgExp', f:parse_PtgExp },\n0x02: { n:'PtgTbl', f:parse_PtgTbl },\n0x03: { n:'PtgAdd', f:parseread1 },\n0x04: { n:'PtgSub', f:parseread1 },\n0x05: { n:'PtgMul', f:parseread1 },\n0x06: { n:'PtgDiv', f:parseread1 },\n0x07: { n:'PtgPower', f:parseread1 },\n0x08: { n:'PtgConcat', f:parseread1 },\n0x09: { n:'PtgLt', f:parseread1 },\n0x0A: { n:'PtgLe', f:parseread1 },\n0x0B: { n:'PtgEq', f:parseread1 },\n0x0C: { n:'PtgGe', f:parseread1 },\n0x0D: { n:'PtgGt', f:parseread1 },\n0x0E: { n:'PtgNe', f:parseread1 },\n0x0F: { n:'PtgIsect', f:parseread1 },\n0x10: { n:'PtgUnion', f:parseread1 },\n0x11: { n:'PtgRange', f:parseread1 },\n0x12: { n:'PtgUplus', f:parseread1 },\n0x13: { n:'PtgUminus', f:parseread1 },\n0x14: { n:'PtgPercent', f:parseread1 },\n0x15: { n:'PtgParen', f:parseread1 },\n0x16: { n:'PtgMissArg', f:parseread1 },\n0x17: { n:'PtgStr', f:parse_PtgStr },\n0x1A: { n:'PtgSheet', f:parse_PtgSheet },\n0x1B: { n:'PtgEndSheet', f:parse_PtgEndSheet },\n0x1C: { n:'PtgErr', f:parse_PtgErr },\n0x1D: { n:'PtgBool', f:parse_PtgBool },\n0x1E: { n:'PtgInt', f:parse_PtgInt },\n0x1F: { n:'PtgNum', f:parse_PtgNum },\n0x20: { n:'PtgArray', f:parse_PtgArray },\n0x21: { n:'PtgFunc', f:parse_PtgFunc },\n0x22: { n:'PtgFuncVar', f:parse_PtgFuncVar },\n0x23: { n:'PtgName', f:parse_PtgName },\n0x24: { n:'PtgRef', f:parse_PtgRef },\n0x25: { n:'PtgArea', f:parse_PtgArea },\n0x26: { n:'PtgMemArea', f:parse_PtgMemArea },\n0x27: { n:'PtgMemErr', f:parse_PtgMemErr },\n0x28: { n:'PtgMemNoMem', f:parse_PtgMemNoMem },\n0x29: { n:'PtgMemFunc', f:parse_PtgMemFunc },\n0x2A: { n:'PtgRefErr', f:parse_PtgRefErr },\n0x2B: { n:'PtgAreaErr', f:parse_PtgAreaErr },\n0x2C: { n:'PtgRefN', f:parse_PtgRefN },\n0x2D: { n:'PtgAreaN', f:parse_PtgAreaN },\n0x2E: { n:'PtgMemAreaN', f:parse_PtgMemAreaN },\n0x2F: { n:'PtgMemNoMemN', f:parse_PtgMemNoMemN },\n0x39: { n:'PtgNameX', f:parse_PtgNameX },\n0x3A: { n:'PtgRef3d', f:parse_PtgRef3d },\n0x3B: { n:'PtgArea3d', f:parse_PtgArea3d },\n0x3C: { n:'PtgRefErr3d', f:parse_PtgRefErr3d },\n0x3D: { n:'PtgAreaErr3d', f:parse_PtgAreaErr3d },\n0xFF: {}\n};\n/* These are duplicated in the PtgTypes table */\nvar PtgDupes = {\n0x40: 0x20, 0x60: 0x20,\n0x41: 0x21, 0x61: 0x21,\n0x42: 0x22, 0x62: 0x22,\n0x43: 0x23, 0x63: 0x23,\n0x44: 0x24, 0x64: 0x24,\n0x45: 0x25, 0x65: 0x25,\n0x46: 0x26, 0x66: 0x26,\n0x47: 0x27, 0x67: 0x27,\n0x48: 0x28, 0x68: 0x28,\n0x49: 0x29, 0x69: 0x29,\n0x4A: 0x2A, 0x6A: 0x2A,\n0x4B: 0x2B, 0x6B: 0x2B,\n0x4C: 0x2C, 0x6C: 0x2C,\n0x4D: 0x2D, 0x6D: 0x2D,\n0x4E: 0x2E, 0x6E: 0x2E,\n0x4F: 0x2F, 0x6F: 0x2F,\n0x58: 0x22, 0x78: 0x22,\n0x59: 0x39, 0x79: 0x39,\n0x5A: 0x3A, 0x7A: 0x3A,\n0x5B: 0x3B, 0x7B: 0x3B,\n0x5C: 0x3C, 0x7C: 0x3C,\n0x5D: 0x3D, 0x7D: 0x3D\n};\n(function(){for(var y in PtgDupes) PtgTypes[y] = PtgTypes[PtgDupes[y]];})();\n\nvar Ptg18 = {\n0x01: { n:'PtgElfLel', f:parse_PtgElfLel },\n0x02: { n:'PtgElfRw', f:parse_PtgElfRw },\n0x03: { n:'PtgElfCol', f:parse_PtgElfCol },\n0x06: { n:'PtgElfRwV', f:parse_PtgElfRwV },\n0x07: { n:'PtgElfColV', f:parse_PtgElfColV },\n0x0A: { n:'PtgElfRadical', f:parse_PtgElfRadical },\n0x0B: { n:'PtgElfRadicalS', f:parse_PtgElfRadicalS },\n0x0D: { n:'PtgElfColS', f:parse_PtgElfColS },\n0x0F: { n:'PtgElfColSV', f:parse_PtgElfColSV },\n0x10: { n:'PtgElfRadicalLel', f:parse_PtgElfRadicalLel },\n0x19: { n:'PtgList', f:parse_PtgList },\n0x1D: { n:'PtgSxName', f:parse_PtgSxName },\n0xFF: {}\n};\nvar Ptg19 = {\n0x00: { n:'PtgAttrNoop', f:parse_PtgAttrNoop },\n0x01: { n:'PtgAttrSemi', f:parse_PtgAttrSemi },\n0x02: { n:'PtgAttrIf', f:parse_PtgAttrIf },\n0x04: { n:'PtgAttrChoose', f:parse_PtgAttrChoose },\n0x08: { n:'PtgAttrGoto', f:parse_PtgAttrGoto },\n0x10: { n:'PtgAttrSum', f:parse_PtgAttrSum },\n0x20: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel },\n0x40: { n:'PtgAttrSpace', f:parse_PtgAttrSpace },\n0x41: { n:'PtgAttrSpaceSemi', f:parse_PtgAttrSpaceSemi },\n0x80: { n:'PtgAttrIfError', f:parse_PtgAttrIfError },\n0xFF: {}\n};\nPtg19[0x21] = Ptg19[0x20];\n\n/* [MS-XLS] 2.5.198.103 ; [MS-XLSB] 2.5.97.87 */\nfunction parse_RgbExtra(blob, length, rgce, opts) {\n\tif(opts.biff < 8) return parsenoop(blob, length);\n\tvar target = blob.l + length;\n\tvar o = [];\n\tfor(var i = 0; i !== rgce.length; ++i) {\n\t\tswitch(rgce[i][0]) {\n\t\t\tcase 'PtgArray': /* PtgArray -> PtgExtraArray */\n\t\t\t\trgce[i][1] = parse_PtgExtraArray(blob, 0, opts);\n\t\t\t\to.push(rgce[i][1]);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgMemArea': /* PtgMemArea -> PtgExtraMem */\n\t\t\t\trgce[i][2] = parse_PtgExtraMem(blob, rgce[i][1], opts);\n\t\t\t\to.push(rgce[i][2]);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgExp': /* PtgExp -> PtgExtraCol */\n\t\t\t\tif(opts && opts.biff == 12) {\n\t\t\t\t\trgce[i][1][1] = blob.read_shift(4);\n\t\t\t\t\to.push(rgce[i][1]);\n\t\t\t\t} break;\n\t\t\tcase 'PtgList': /* TODO: PtgList -> PtgExtraList */\n\t\t\tcase 'PtgElfRadicalS': /* TODO: PtgElfRadicalS -> PtgExtraElf */\n\t\t\tcase 'PtgElfColS': /* TODO: PtgElfColS -> PtgExtraElf */\n\t\t\tcase 'PtgElfColSV': /* TODO: PtgElfColSV -> PtgExtraElf */\n\t\t\t\tthrow \"Unsupported \" + rgce[i][0];\n\t\t\tdefault: break;\n\t\t}\n\t}\n\tlength = target - blob.l;\n\t/* note: this is technically an error but Excel disregards */\n\t//if(target !== blob.l && blob.l !== target - length) throw new Error(target + \" != \" + blob.l);\n\tif(length !== 0) o.push(parsenoop(blob, length));\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.104 ; [MS-XLSB] 2.5.97.88 */\nfunction parse_Rgce(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar R, id, ptgs = [];\n\twhile(target != blob.l) {\n\t\tlength = target - blob.l;\n\t\tid = blob[blob.l];\n\t\tR = PtgTypes[id];\n\t\tif(id === 0x18 || id === 0x19) R = (id === 0x18 ? Ptg18 : Ptg19)[blob[blob.l + 1]];\n\t\tif(!R || !R.f) { /*ptgs.push*/(parsenoop(blob, length)); }\n\t\telse { ptgs.push([R.n, R.f(blob, length, opts)]); }\n\t}\n\treturn ptgs;\n}\n\nfunction stringify_array(f) {\n\tvar o = [];\n\tfor(var i = 0; i < f.length; ++i) {\n\t\tvar x = f[i], r = [];\n\t\tfor(var j = 0; j < x.length; ++j) {\n\t\t\tvar y = x[j];\n\t\t\tif(y) switch(y[0]) {\n\t\t\t\t// TODO: handle embedded quotes\n\t\t\t\tcase 0x02:\nr.push('\"' + y[1].replace(/\"/g,'\"\"') + '\"'); break;\n\t\t\t\tdefault: r.push(y[1]);\n\t\t\t} else r.push(\"\");\n\t\t}\n\t\to.push(r.join(\",\"));\n\t}\n\treturn o.join(\";\");\n}\n\n/* [MS-XLS] 2.2.2 ; [MS-XLSB] 2.2.2 TODO */\nvar PtgBinOp = {\n\tPtgAdd: \"+\",\n\tPtgConcat: \"&\",\n\tPtgDiv: \"/\",\n\tPtgEq: \"=\",\n\tPtgGe: \">=\",\n\tPtgGt: \">\",\n\tPtgLe: \"<=\",\n\tPtgLt: \"<\",\n\tPtgMul: \"*\",\n\tPtgNe: \"<>\",\n\tPtgPower: \"^\",\n\tPtgSub: \"-\"\n};\n\n// List of invalid characters needs to be tested further\nvar quoteCharacters = new RegExp(/[^\\w\\u4E00-\\u9FFF\\u3040-\\u30FF]/);\nfunction formula_quote_sheet_name(sname, opts) {\n\tif(!sname && !(opts && opts.biff <= 5 && opts.biff >= 2)) throw new Error(\"empty sheet name\");\n\tif (quoteCharacters.test(sname)) return \"'\" + sname + \"'\";\n\treturn sname;\n}\nfunction get_ixti_raw(supbooks, ixti, opts) {\n\tif(!supbooks) return \"SH33TJSERR0\";\n\tif(opts.biff > 8 && (!supbooks.XTI || !supbooks.XTI[ixti])) return supbooks.SheetNames[ixti];\n\tif(!supbooks.XTI) return \"SH33TJSERR6\";\n\tvar XTI = supbooks.XTI[ixti];\n\tif(opts.biff < 8) {\n\t\tif(ixti > 10000) ixti-= 65536;\n\t\tif(ixti < 0) ixti = -ixti;\n\t\treturn ixti == 0 ? \"\" : supbooks.XTI[ixti - 1];\n\t}\n\tif(!XTI) return \"SH33TJSERR1\";\n\tvar o = \"\";\n\tif(opts.biff > 8) switch(supbooks[XTI[0]][0]) {\n\t\tcase 0x0165: /* 'BrtSupSelf' */\n\t\t\to = XTI[1] == -1 ? \"#REF\" : supbooks.SheetNames[XTI[1]];\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks.SheetNames[XTI[2]];\n\t\tcase 0x0166: /* 'BrtSupSame' */\n\t\t\tif(opts.SID != null) return supbooks.SheetNames[opts.SID];\n\t\t\treturn \"SH33TJSSAME\" + supbooks[XTI[0]][0];\n\t\tcase 0x0163: /* 'BrtSupBookSrc' */\n\t\t\t/* falls through */\n\t\tdefault: return \"SH33TJSSRC\" + supbooks[XTI[0]][0];\n\t}\n\tswitch(supbooks[XTI[0]][0][0]) {\n\t\tcase 0x0401:\n\t\t\to = XTI[1] == -1 ? \"#REF\" : (supbooks.SheetNames[XTI[1]] || \"SH33TJSERR3\");\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks.SheetNames[XTI[2]];\n\t\tcase 0x3A01: return supbooks[XTI[0]].slice(1).map(function(name) { return name.Name; }).join(\";;\"); //return \"SH33TJSERR8\";\n\t\tdefault:\n\t\t\tif(!supbooks[XTI[0]][0][3]) return \"SH33TJSERR2\";\n\t\t\to = XTI[1] == -1 ? \"#REF\" : (supbooks[XTI[0]][0][3][XTI[1]] || \"SH33TJSERR4\");\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks[XTI[0]][0][3][XTI[2]];\n\t}\n}\nfunction get_ixti(supbooks, ixti, opts) {\n\treturn formula_quote_sheet_name(get_ixti_raw(supbooks, ixti, opts), opts);\n}\nfunction stringify_formula(formula/*Array*/, range, cell, supbooks, opts) {\n\tvar biff = (opts && opts.biff) || 8;\n\tvar _range = /*range != null ? range :*/ {s:{c:0, r:0},e:{c:0, r:0}};\n\tvar stack = [], e1, e2, c, ixti=0, nameidx=0, r, sname=\"\";\n\tif(!formula[0] || !formula[0][0]) return \"\";\n\tvar last_sp = -1, sp = \"\";\n\tfor(var ff = 0, fflen = formula[0].length; ff < fflen; ++ff) {\n\t\tvar f = formula[0][ff];\n\t\tswitch(f[0]) {\n\t\t\tcase 'PtgUminus': /* [MS-XLS] 2.5.198.93 */\n\t\t\t\tstack.push(\"-\" + stack.pop()); break;\n\t\t\tcase 'PtgUplus': /* [MS-XLS] 2.5.198.95 */\n\t\t\t\tstack.push(\"+\" + stack.pop()); break;\n\t\t\tcase 'PtgPercent': /* [MS-XLS] 2.5.198.81 */\n\t\t\t\tstack.push(stack.pop() + \"%\"); break;\n\n\t\t\tcase 'PtgAdd': /* [MS-XLS] 2.5.198.26 */\n\t\t\tcase 'PtgConcat': /* [MS-XLS] 2.5.198.43 */\n\t\t\tcase 'PtgDiv': /* [MS-XLS] 2.5.198.45 */\n\t\t\tcase 'PtgEq': /* [MS-XLS] 2.5.198.56 */\n\t\t\tcase 'PtgGe': /* [MS-XLS] 2.5.198.64 */\n\t\t\tcase 'PtgGt': /* [MS-XLS] 2.5.198.65 */\n\t\t\tcase 'PtgLe': /* [MS-XLS] 2.5.198.68 */\n\t\t\tcase 'PtgLt': /* [MS-XLS] 2.5.198.69 */\n\t\t\tcase 'PtgMul': /* [MS-XLS] 2.5.198.75 */\n\t\t\tcase 'PtgNe': /* [MS-XLS] 2.5.198.78 */\n\t\t\tcase 'PtgPower': /* [MS-XLS] 2.5.198.82 */\n\t\t\tcase 'PtgSub': /* [MS-XLS] 2.5.198.90 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tif(last_sp >= 0) {\n\t\t\t\t\tswitch(formula[0][last_sp][1][0]) {\n\t\t\t\t\t\tcase 0:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tsp = fill(\" \", formula[0][last_sp][1][1]); break;\n\t\t\t\t\t\tcase 1:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tsp = fill(\"\\r\", formula[0][last_sp][1][1]); break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tsp = \"\";\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + formula[0][last_sp][1][0]);\n\t\t\t\t\t}\n\t\t\t\t\te2 = e2 + sp;\n\t\t\t\t\tlast_sp = -1;\n\t\t\t\t}\n\t\t\t\tstack.push(e2+PtgBinOp[f[0]]+e1);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgIsect': /* [MS-XLS] 2.5.198.67 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\" \"+e1);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgUnion': /* [MS-XLS] 2.5.198.94 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\",\"+e1);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRange': /* [MS-XLS] 2.5.198.83 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\":\"+e1);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrChoose': /* [MS-XLS] 2.5.198.34 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrGoto': /* [MS-XLS] 2.5.198.35 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrIf': /* [MS-XLS] 2.5.198.36 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrIfError': /* [MS-XLSB] 2.5.97.28 */\n\t\t\t\tbreak;\n\n\n\t\t\tcase 'PtgRef': /* [MS-XLS] 2.5.198.84 */\nc = shift_cell_xls((f[1][1]), _range, opts);\n\t\t\t\tstack.push(encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRefN': /* [MS-XLS] 2.5.198.88 */\nc = cell ? shift_cell_xls((f[1][1]), cell, opts) : (f[1][1]);\n\t\t\t\tstack.push(encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRef3d': /* [MS-XLS] 2.5.198.85 */\nixti = f[1][1]; c = shift_cell_xls((f[1][2]), _range, opts);\n\t\t\t\tsname = get_ixti(supbooks, ixti, opts);\n\t\t\t\tvar w = sname; /* IE9 fails on defined names */ // eslint-disable-line no-unused-vars\n\t\t\t\tstack.push(sname + \"!\" + encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgFunc': /* [MS-XLS] 2.5.198.62 */\n\t\t\tcase 'PtgFuncVar': /* [MS-XLS] 2.5.198.63 */\n\t\t\t\t/* f[1] = [argc, func, type] */\n\t\t\t\tvar argc = (f[1][0]), func = (f[1][1]);\n\t\t\t\tif(!argc) argc = 0;\n\t\t\t\targc &= 0x7F;\n\t\t\t\tvar args = argc == 0 ? [] : stack.slice(-argc);\n\t\t\t\tstack.length -= argc;\n\t\t\t\tif(func === 'User') func = args.shift();\n\t\t\t\tstack.push(func + \"(\" + args.join(\",\") + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgBool': /* [MS-XLS] 2.5.198.42 */\n\t\t\t\tstack.push(f[1] ? \"TRUE\" : \"FALSE\"); break;\n\t\t\tcase 'PtgInt': /* [MS-XLS] 2.5.198.66 */\n\t\t\t\tstack.push(f[1]); break;\n\t\t\tcase 'PtgNum': /* [MS-XLS] 2.5.198.79 TODO: precision? */\n\t\t\t\tstack.push(String(f[1])); break;\n\t\t\tcase 'PtgStr': /* [MS-XLS] 2.5.198.89 */\n\t\t\t\t// $FlowIgnore\n\t\t\t\tstack.push('\"' + f[1].replace(/\"/g, '\"\"') + '\"'); break;\n\t\t\tcase 'PtgErr': /* [MS-XLS] 2.5.198.57 */\n\t\t\t\tstack.push(f[1]); break;\n\t\t\tcase 'PtgAreaN': /* [MS-XLS] 2.5.198.31 TODO */\nr = shift_range_xls(f[1][1], cell ? {s:cell} : _range, opts);\n\t\t\t\tstack.push(encode_range_xls((r), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgArea': /* [MS-XLS] 2.5.198.27 TODO: fixed points */\nr = shift_range_xls(f[1][1], _range, opts);\n\t\t\t\tstack.push(encode_range_xls((r), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgArea3d': /* [MS-XLS] 2.5.198.28 TODO */\nixti = f[1][1]; r = f[1][2];\n\t\t\t\tsname = get_ixti(supbooks, ixti, opts);\n\t\t\t\tstack.push(sname + \"!\" + encode_range_xls((r), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrSum': /* [MS-XLS] 2.5.198.41 */\n\t\t\t\tstack.push(\"SUM(\" + stack.pop() + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrBaxcel': /* [MS-XLS] 2.5.198.33 */\n\t\t\tcase 'PtgAttrSemi': /* [MS-XLS] 2.5.198.37 */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgName': /* [MS-XLS] 2.5.198.76 ; [MS-XLSB] 2.5.97.60 TODO: revisions */\n\t\t\t\t/* f[1] = type, 0, nameindex */\n\t\t\t\tnameidx = (f[1][2]);\n\t\t\t\tvar lbl = (supbooks.names||[])[nameidx-1] || (supbooks[0]||[])[nameidx];\n\t\t\t\tvar name = lbl ? lbl.Name : \"SH33TJSNAME\" + String(nameidx);\n\t\t\t\tif(name in XLSXFutureFunctions) name = XLSXFutureFunctions[name];\n\t\t\t\tstack.push(name);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgNameX': /* [MS-XLS] 2.5.198.77 ; [MS-XLSB] 2.5.97.61 TODO: revisions */\n\t\t\t\t/* f[1] = type, ixti, nameindex */\n\t\t\t\tvar bookidx = (f[1][1]); nameidx = (f[1][2]); var externbook;\n\t\t\t\t/* TODO: Properly handle missing values -- this should be using get_ixti_raw primarily */\n\t\t\t\tif(opts.biff <= 5) {\n\t\t\t\t\tif(bookidx < 0) bookidx = -bookidx;\n\t\t\t\t\tif(supbooks[bookidx]) externbook = supbooks[bookidx][nameidx];\n\t\t\t\t} else {\n\t\t\t\t\tvar o = \"\";\n\t\t\t\t\tif(((supbooks[bookidx]||[])[0]||[])[0] == 0x3A01){/* empty */}\n\t\t\t\t\telse if(((supbooks[bookidx]||[])[0]||[])[0] == 0x0401){\n\t\t\t\t\t\tif(supbooks[bookidx][nameidx] && supbooks[bookidx][nameidx].itab > 0) {\n\t\t\t\t\t\t\to = supbooks.SheetNames[supbooks[bookidx][nameidx].itab-1] + \"!\";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse o = supbooks.SheetNames[nameidx-1]+ \"!\";\n\t\t\t\t\tif(supbooks[bookidx] && supbooks[bookidx][nameidx]) o += supbooks[bookidx][nameidx].Name;\n\t\t\t\t\telse if(supbooks[0] && supbooks[0][nameidx]) o += supbooks[0][nameidx].Name;\n\t\t\t\t\telse {\n\t\t\t\t\t\tvar ixtidata = get_ixti_raw(supbooks, bookidx, opts).split(\";;\");\n\t\t\t\t\t\tif(ixtidata[nameidx - 1]) o = ixtidata[nameidx - 1]; // TODO: confirm this is correct\n\t\t\t\t\t\telse o += \"SH33TJSERRX\";\n\t\t\t\t\t}\n\t\t\t\t\tstack.push(o);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(!externbook) externbook = {Name: \"SH33TJSERRY\"};\n\t\t\t\tstack.push(externbook.Name);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgParen': /* [MS-XLS] 2.5.198.80 */\n\t\t\t\tvar lp = '(', rp = ')';\n\t\t\t\tif(last_sp >= 0) {\n\t\t\t\t\tsp = \"\";\n\t\t\t\t\tswitch(formula[0][last_sp][1][0]) {\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 2: lp = fill(\" \", formula[0][last_sp][1][1]) + lp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 3: lp = fill(\"\\r\", formula[0][last_sp][1][1]) + lp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 4: rp = fill(\" \", formula[0][last_sp][1][1]) + rp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 5: rp = fill(\"\\r\", formula[0][last_sp][1][1]) + rp; break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + formula[0][last_sp][1][0]);\n\t\t\t\t\t}\n\t\t\t\t\tlast_sp = -1;\n\t\t\t\t}\n\t\t\t\tstack.push(lp + stack.pop() + rp); break;\n\n\t\t\tcase 'PtgRefErr': /* [MS-XLS] 2.5.198.86 */\n\t\t\t\tstack.push('#REF!'); break;\n\n\t\t\tcase 'PtgRefErr3d': /* [MS-XLS] 2.5.198.87 */\n\t\t\t\tstack.push('#REF!'); break;\n\n\t\t\tcase 'PtgExp': /* [MS-XLS] 2.5.198.58 TODO */\n\t\t\t\tc = {c:(f[1][1]),r:(f[1][0])};\n\t\t\t\tvar q = ({c: cell.c, r:cell.r});\n\t\t\t\tif(supbooks.sharedf[encode_cell(c)]) {\n\t\t\t\t\tvar parsedf = (supbooks.sharedf[encode_cell(c)]);\n\t\t\t\t\tstack.push(stringify_formula(parsedf, _range, q, supbooks, opts));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tvar fnd = false;\n\t\t\t\t\tfor(e1=0;e1!=supbooks.arrayf.length; ++e1) {\n\t\t\t\t\t\t/* TODO: should be something like range_has */\n\t\t\t\t\t\te2 = supbooks.arrayf[e1];\n\t\t\t\t\t\tif(c.c < e2[0].s.c || c.c > e2[0].e.c) continue;\n\t\t\t\t\t\tif(c.r < e2[0].s.r || c.r > e2[0].e.r) continue;\n\t\t\t\t\t\tstack.push(stringify_formula(e2[1], _range, q, supbooks, opts));\n\t\t\t\t\t\tfnd = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif(!fnd) stack.push(f[1]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgArray': /* [MS-XLS] 2.5.198.32 TODO */\n\t\t\t\tstack.push(\"{\" + stringify_array(f[1]) + \"}\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemArea': /* [MS-XLS] 2.5.198.70 TODO: confirm this is a non-display */\n\t\t\t\t//stack.push(\"(\" + f[2].map(encode_range).join(\",\") + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrSpace': /* [MS-XLS] 2.5.198.38 */\n\t\t\tcase 'PtgAttrSpaceSemi': /* [MS-XLS] 2.5.198.39 */\n\t\t\t\tlast_sp = ff;\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgTbl': /* [MS-XLS] 2.5.198.92 TODO */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemErr': /* [MS-XLS] 2.5.198.71 */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMissArg': /* [MS-XLS] 2.5.198.74 */\n\t\t\t\tstack.push(\"\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAreaErr': /* [MS-XLS] 2.5.198.29 */\n\t\t\t\tstack.push(\"#REF!\"); break;\n\n\t\t\tcase 'PtgAreaErr3d': /* [MS-XLS] 2.5.198.30 */\n\t\t\t\tstack.push(\"#REF!\"); break;\n\n\t\t\tcase 'PtgList': /* [MS-XLSB] 2.5.97.52 */\n\t\t\t\t// $FlowIgnore\n\t\t\t\tstack.push(\"Table\" + f[1].idx + \"[#\" + f[1].rt + \"]\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemAreaN':\n\t\t\tcase 'PtgMemNoMemN':\n\t\t\tcase 'PtgAttrNoop':\n\t\t\tcase 'PtgSheet':\n\t\t\tcase 'PtgEndSheet':\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemFunc': /* [MS-XLS] 2.5.198.72 TODO */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgMemNoMem': /* [MS-XLS] 2.5.198.73 TODO */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgElfCol': /* [MS-XLS] 2.5.198.46 */\n\t\t\tcase 'PtgElfColS': /* [MS-XLS] 2.5.198.47 */\n\t\t\tcase 'PtgElfColSV': /* [MS-XLS] 2.5.198.48 */\n\t\t\tcase 'PtgElfColV': /* [MS-XLS] 2.5.198.49 */\n\t\t\tcase 'PtgElfLel': /* [MS-XLS] 2.5.198.50 */\n\t\t\tcase 'PtgElfRadical': /* [MS-XLS] 2.5.198.51 */\n\t\t\tcase 'PtgElfRadicalLel': /* [MS-XLS] 2.5.198.52 */\n\t\t\tcase 'PtgElfRadicalS': /* [MS-XLS] 2.5.198.53 */\n\t\t\tcase 'PtgElfRw': /* [MS-XLS] 2.5.198.54 */\n\t\t\tcase 'PtgElfRwV': /* [MS-XLS] 2.5.198.55 */\n\t\t\t\tthrow new Error(\"Unsupported ELFs\");\n\n\t\t\tcase 'PtgSxName': /* [MS-XLS] 2.5.198.91 TODO -- find a test case */\n\t\t\t\tthrow new Error('Unrecognized Formula Token: ' + String(f));\n\t\t\tdefault: throw new Error('Unrecognized Formula Token: ' + String(f));\n\t\t}\n\t\tvar PtgNonDisp = ['PtgAttrSpace', 'PtgAttrSpaceSemi', 'PtgAttrGoto'];\n\t\tif(opts.biff != 3) if(last_sp >= 0 && PtgNonDisp.indexOf(formula[0][ff][0]) == -1) {\n\t\t\tf = formula[0][last_sp];\n\t\t\tvar _left = true;\n\t\t\tswitch(f[1][0]) {\n\t\t\t\t/* note: some bad XLSB files omit the PtgParen */\n\t\t\t\tcase 4: _left = false;\n\t\t\t\t/* falls through */\n\t\t\t\tcase 0:\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tsp = fill(\" \", f[1][1]); break;\n\t\t\t\tcase 5: _left = false;\n\t\t\t\t/* falls through */\n\t\t\t\tcase 1:\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tsp = fill(\"\\r\", f[1][1]); break;\n\t\t\t\tdefault:\n\t\t\t\t\tsp = \"\";\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + f[1][0]);\n\t\t\t}\n\t\t\tstack.push((_left ? sp : \"\") + stack.pop() + (_left ? \"\" : sp));\n\t\t\tlast_sp = -1;\n\t\t}\n\t}\n\tif(stack.length > 1 && opts.WTF) throw new Error(\"bad formula stack\");\n\treturn stack[0];\n}\n\n/* [MS-XLS] 2.5.198.1 TODO */\nfunction parse_ArrayParsedFormula(blob, length, opts) {\n\tvar target = blob.l + length, len = opts.biff == 2 ? 1 : 2;\n\tvar rgcb, cce = blob.read_shift(len); // length of rgce\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts);\n\tblob.l = target;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.3 TODO */\nfunction parse_XLSCellParsedFormula(blob, length, opts) {\n\tvar target = blob.l + length, len = opts.biff == 2 ? 1 : 2;\n\tvar rgcb, cce = blob.read_shift(len); // length of rgce\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts);\n\tblob.l = target;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.21 */\nfunction parse_NameParsedFormula(blob, length, opts, cce) {\n\tvar target = blob.l + length;\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tvar rgcb;\n\tif(target !== blob.l) rgcb = parse_RgbExtra(blob, target - blob.l, rgce, opts);\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.118 TODO */\nfunction parse_SharedParsedFormula(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar rgcb, cce = blob.read_shift(2); // length of rgce\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tif(length !== cce + 2) rgcb = parse_RgbExtra(blob, target - cce - 2, rgce, opts);\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.133 TODO: how to emit empty strings? */\nfunction parse_FormulaValue(blob) {\n\tvar b;\n\tif(__readUInt16LE(blob,blob.l + 6) !== 0xFFFF) return [parse_Xnum(blob),'n'];\n\tswitch(blob[blob.l]) {\n\t\tcase 0x00: blob.l += 8; return [\"String\", 's'];\n\t\tcase 0x01: b = blob[blob.l+2] === 0x1; blob.l += 8; return [b,'b'];\n\t\tcase 0x02: b = blob[blob.l+2]; blob.l += 8; return [b,'e'];\n\t\tcase 0x03: blob.l += 8; return [\"\",'s'];\n\t}\n\treturn [];\n}\nfunction write_FormulaValue(value) {\n\tif(value == null) {\n\t\t// Blank String Value\n\t\tvar o = new_buf(8);\n\t\to.write_shift(1, 0x03);\n\t\to.write_shift(1, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0xFFFF);\n\t\treturn o;\n\t} else if(typeof value == \"number\") return write_Xnum(value);\n\treturn write_Xnum(0);\n}\n\n/* [MS-XLS] 2.4.127 TODO */\nfunction parse_Formula(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6);\n\tif(opts.biff == 2) ++blob.l;\n\tvar val = parse_FormulaValue(blob,8);\n\tvar flags = blob.read_shift(1);\n\tif(opts.biff != 2) {\n\t\tblob.read_shift(1);\n\t\tif(opts.biff >= 5) {\n\t\t\t/*var chn = */blob.read_shift(4);\n\t\t}\n\t}\n\tvar cbf = parse_XLSCellParsedFormula(blob, end - blob.l, opts);\n\treturn {cell:cell, val:val[0], formula:cbf, shared: (flags >> 3) & 1, tt:val[1]};\n}\nfunction write_Formula(cell, R, C, opts, os) {\n\t// Cell\n\tvar o1 = write_XLSCell(R, C, os);\n\n\t// FormulaValue\n\tvar o2 = write_FormulaValue(cell.v);\n\n\t// flags + cache\n\tvar o3 = new_buf(6);\n\tvar flags = 0x01 | 0x20;\n\to3.write_shift(2, flags);\n\to3.write_shift(4, 0);\n\n\t// CellParsedFormula\n\tvar bf = new_buf(cell.bf.length);\n\tfor(var i = 0; i < cell.bf.length; ++i) bf[i] = cell.bf[i];\n\n\tvar out = bconcat([o1, o2, o3, bf]);\n\treturn out;\n}\n\n\n/* XLSB Parsed Formula records have the same shape */\nfunction parse_XLSBParsedFormula(data, length, opts) {\n\tvar cce = data.read_shift(4);\n\tvar rgce = parse_Rgce(data, cce, opts);\n\tvar cb = data.read_shift(4);\n\tvar rgcb = cb > 0 ? parse_RgbExtra(data, cb, rgce, opts) : null;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLSB] 2.5.97.1 ArrayParsedFormula */\nvar parse_XLSBArrayParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.4 CellParsedFormula */\nvar parse_XLSBCellParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.8 DVParsedFormula */\n//var parse_XLSBDVParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.9 FRTParsedFormula */\n//var parse_XLSBFRTParsedFormula = parse_XLSBParsedFormula2;\n/* [MS-XLSB] 2.5.97.12 NameParsedFormula */\nvar parse_XLSBNameParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.98 SharedParsedFormula */\nvar parse_XLSBSharedParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLS] 2.5.198.4 */\nvar Cetab = {\n0x0000: 'BEEP',\n0x0001: 'OPEN',\n0x0002: 'OPEN.LINKS',\n0x0003: 'CLOSE.ALL',\n0x0004: 'SAVE',\n0x0005: 'SAVE.AS',\n0x0006: 'FILE.DELETE',\n0x0007: 'PAGE.SETUP',\n0x0008: 'PRINT',\n0x0009: 'PRINTER.SETUP',\n0x000A: 'QUIT',\n0x000B: 'NEW.WINDOW',\n0x000C: 'ARRANGE.ALL',\n0x000D: 'WINDOW.SIZE',\n0x000E: 'WINDOW.MOVE',\n0x000F: 'FULL',\n0x0010: 'CLOSE',\n0x0011: 'RUN',\n0x0016: 'SET.PRINT.AREA',\n0x0017: 'SET.PRINT.TITLES',\n0x0018: 'SET.PAGE.BREAK',\n0x0019: 'REMOVE.PAGE.BREAK',\n0x001A: 'FONT',\n0x001B: 'DISPLAY',\n0x001C: 'PROTECT.DOCUMENT',\n0x001D: 'PRECISION',\n0x001E: 'A1.R1C1',\n0x001F: 'CALCULATE.NOW',\n0x0020: 'CALCULATION',\n0x0022: 'DATA.FIND',\n0x0023: 'EXTRACT',\n0x0024: 'DATA.DELETE',\n0x0025: 'SET.DATABASE',\n0x0026: 'SET.CRITERIA',\n0x0027: 'SORT',\n0x0028: 'DATA.SERIES',\n0x0029: 'TABLE',\n0x002A: 'FORMAT.NUMBER',\n0x002B: 'ALIGNMENT',\n0x002C: 'STYLE',\n0x002D: 'BORDER',\n0x002E: 'CELL.PROTECTION',\n0x002F: 'COLUMN.WIDTH',\n0x0030: 'UNDO',\n0x0031: 'CUT',\n0x0032: 'COPY',\n0x0033: 'PASTE',\n0x0034: 'CLEAR',\n0x0035: 'PASTE.SPECIAL',\n0x0036: 'EDIT.DELETE',\n0x0037: 'INSERT',\n0x0038: 'FILL.RIGHT',\n0x0039: 'FILL.DOWN',\n0x003D: 'DEFINE.NAME',\n0x003E: 'CREATE.NAMES',\n0x003F: 'FORMULA.GOTO',\n0x0040: 'FORMULA.FIND',\n0x0041: 'SELECT.LAST.CELL',\n0x0042: 'SHOW.ACTIVE.CELL',\n0x0043: 'GALLERY.AREA',\n0x0044: 'GALLERY.BAR',\n0x0045: 'GALLERY.COLUMN',\n0x0046: 'GALLERY.LINE',\n0x0047: 'GALLERY.PIE',\n0x0048: 'GALLERY.SCATTER',\n0x0049: 'COMBINATION',\n0x004A: 'PREFERRED',\n0x004B: 'ADD.OVERLAY',\n0x004C: 'GRIDLINES',\n0x004D: 'SET.PREFERRED',\n0x004E: 'AXES',\n0x004F: 'LEGEND',\n0x0050: 'ATTACH.TEXT',\n0x0051: 'ADD.ARROW',\n0x0052: 'SELECT.CHART',\n0x0053: 'SELECT.PLOT.AREA',\n0x0054: 'PATTERNS',\n0x0055: 'MAIN.CHART',\n0x0056: 'OVERLAY',\n0x0057: 'SCALE',\n0x0058: 'FORMAT.LEGEND',\n0x0059: 'FORMAT.TEXT',\n0x005A: 'EDIT.REPEAT',\n0x005B: 'PARSE',\n0x005C: 'JUSTIFY',\n0x005D: 'HIDE',\n0x005E: 'UNHIDE',\n0x005F: 'WORKSPACE',\n0x0060: 'FORMULA',\n0x0061: 'FORMULA.FILL',\n0x0062: 'FORMULA.ARRAY',\n0x0063: 'DATA.FIND.NEXT',\n0x0064: 'DATA.FIND.PREV',\n0x0065: 'FORMULA.FIND.NEXT',\n0x0066: 'FORMULA.FIND.PREV',\n0x0067: 'ACTIVATE',\n0x0068: 'ACTIVATE.NEXT',\n0x0069: 'ACTIVATE.PREV',\n0x006A: 'UNLOCKED.NEXT',\n0x006B: 'UNLOCKED.PREV',\n0x006C: 'COPY.PICTURE',\n0x006D: 'SELECT',\n0x006E: 'DELETE.NAME',\n0x006F: 'DELETE.FORMAT',\n0x0070: 'VLINE',\n0x0071: 'HLINE',\n0x0072: 'VPAGE',\n0x0073: 'HPAGE',\n0x0074: 'VSCROLL',\n0x0075: 'HSCROLL',\n0x0076: 'ALERT',\n0x0077: 'NEW',\n0x0078: 'CANCEL.COPY',\n0x0079: 'SHOW.CLIPBOARD',\n0x007A: 'MESSAGE',\n0x007C: 'PASTE.LINK',\n0x007D: 'APP.ACTIVATE',\n0x007E: 'DELETE.ARROW',\n0x007F: 'ROW.HEIGHT',\n0x0080: 'FORMAT.MOVE',\n0x0081: 'FORMAT.SIZE',\n0x0082: 'FORMULA.REPLACE',\n0x0083: 'SEND.KEYS',\n0x0084: 'SELECT.SPECIAL',\n0x0085: 'APPLY.NAMES',\n0x0086: 'REPLACE.FONT',\n0x0087: 'FREEZE.PANES',\n0x0088: 'SHOW.INFO',\n0x0089: 'SPLIT',\n0x008A: 'ON.WINDOW',\n0x008B: 'ON.DATA',\n0x008C: 'DISABLE.INPUT',\n0x008E: 'OUTLINE',\n0x008F: 'LIST.NAMES',\n0x0090: 'FILE.CLOSE',\n0x0091: 'SAVE.WORKBOOK',\n0x0092: 'DATA.FORM',\n0x0093: 'COPY.CHART',\n0x0094: 'ON.TIME',\n0x0095: 'WAIT',\n0x0096: 'FORMAT.FONT',\n0x0097: 'FILL.UP',\n0x0098: 'FILL.LEFT',\n0x0099: 'DELETE.OVERLAY',\n0x009B: 'SHORT.MENUS',\n0x009F: 'SET.UPDATE.STATUS',\n0x00A1: 'COLOR.PALETTE',\n0x00A2: 'DELETE.STYLE',\n0x00A3: 'WINDOW.RESTORE',\n0x00A4: 'WINDOW.MAXIMIZE',\n0x00A6: 'CHANGE.LINK',\n0x00A7: 'CALCULATE.DOCUMENT',\n0x00A8: 'ON.KEY',\n0x00A9: 'APP.RESTORE',\n0x00AA: 'APP.MOVE',\n0x00AB: 'APP.SIZE',\n0x00AC: 'APP.MINIMIZE',\n0x00AD: 'APP.MAXIMIZE',\n0x00AE: 'BRING.TO.FRONT',\n0x00AF: 'SEND.TO.BACK',\n0x00B9: 'MAIN.CHART.TYPE',\n0x00BA: 'OVERLAY.CHART.TYPE',\n0x00BB: 'SELECT.END',\n0x00BC: 'OPEN.MAIL',\n0x00BD: 'SEND.MAIL',\n0x00BE: 'STANDARD.FONT',\n0x00BF: 'CONSOLIDATE',\n0x00C0: 'SORT.SPECIAL',\n0x00C1: 'GALLERY.3D.AREA',\n0x00C2: 'GALLERY.3D.COLUMN',\n0x00C3: 'GALLERY.3D.LINE',\n0x00C4: 'GALLERY.3D.PIE',\n0x00C5: 'VIEW.3D',\n0x00C6: 'GOAL.SEEK',\n0x00C7: 'WORKGROUP',\n0x00C8: 'FILL.GROUP',\n0x00C9: 'UPDATE.LINK',\n0x00CA: 'PROMOTE',\n0x00CB: 'DEMOTE',\n0x00CC: 'SHOW.DETAIL',\n0x00CE: 'UNGROUP',\n0x00CF: 'OBJECT.PROPERTIES',\n0x00D0: 'SAVE.NEW.OBJECT',\n0x00D1: 'SHARE',\n0x00D2: 'SHARE.NAME',\n0x00D3: 'DUPLICATE',\n0x00D4: 'APPLY.STYLE',\n0x00D5: 'ASSIGN.TO.OBJECT',\n0x00D6: 'OBJECT.PROTECTION',\n0x00D7: 'HIDE.OBJECT',\n0x00D8: 'SET.EXTRACT',\n0x00D9: 'CREATE.PUBLISHER',\n0x00DA: 'SUBSCRIBE.TO',\n0x00DB: 'ATTRIBUTES',\n0x00DC: 'SHOW.TOOLBAR',\n0x00DE: 'PRINT.PREVIEW',\n0x00DF: 'EDIT.COLOR',\n0x00E0: 'SHOW.LEVELS',\n0x00E1: 'FORMAT.MAIN',\n0x00E2: 'FORMAT.OVERLAY',\n0x00E3: 'ON.RECALC',\n0x00E4: 'EDIT.SERIES',\n0x00E5: 'DEFINE.STYLE',\n0x00F0: 'LINE.PRINT',\n0x00F3: 'ENTER.DATA',\n0x00F9: 'GALLERY.RADAR',\n0x00FA: 'MERGE.STYLES',\n0x00FB: 'EDITION.OPTIONS',\n0x00FC: 'PASTE.PICTURE',\n0x00FD: 'PASTE.PICTURE.LINK',\n0x00FE: 'SPELLING',\n0x0100: 'ZOOM',\n0x0103: 'INSERT.OBJECT',\n0x0104: 'WINDOW.MINIMIZE',\n0x0109: 'SOUND.NOTE',\n0x010A: 'SOUND.PLAY',\n0x010B: 'FORMAT.SHAPE',\n0x010C: 'EXTEND.POLYGON',\n0x010D: 'FORMAT.AUTO',\n0x0110: 'GALLERY.3D.BAR',\n0x0111: 'GALLERY.3D.SURFACE',\n0x0112: 'FILL.AUTO',\n0x0114: 'CUSTOMIZE.TOOLBAR',\n0x0115: 'ADD.TOOL',\n0x0116: 'EDIT.OBJECT',\n0x0117: 'ON.DOUBLECLICK',\n0x0118: 'ON.ENTRY',\n0x0119: 'WORKBOOK.ADD',\n0x011A: 'WORKBOOK.MOVE',\n0x011B: 'WORKBOOK.COPY',\n0x011C: 'WORKBOOK.OPTIONS',\n0x011D: 'SAVE.WORKSPACE',\n0x0120: 'CHART.WIZARD',\n0x0121: 'DELETE.TOOL',\n0x0122: 'MOVE.TOOL',\n0x0123: 'WORKBOOK.SELECT',\n0x0124: 'WORKBOOK.ACTIVATE',\n0x0125: 'ASSIGN.TO.TOOL',\n0x0127: 'COPY.TOOL',\n0x0128: 'RESET.TOOL',\n0x0129: 'CONSTRAIN.NUMERIC',\n0x012A: 'PASTE.TOOL',\n0x012E: 'WORKBOOK.NEW',\n0x0131: 'SCENARIO.CELLS',\n0x0132: 'SCENARIO.DELETE',\n0x0133: 'SCENARIO.ADD',\n0x0134: 'SCENARIO.EDIT',\n0x0135: 'SCENARIO.SHOW',\n0x0136: 'SCENARIO.SHOW.NEXT',\n0x0137: 'SCENARIO.SUMMARY',\n0x0138: 'PIVOT.TABLE.WIZARD',\n0x0139: 'PIVOT.FIELD.PROPERTIES',\n0x013A: 'PIVOT.FIELD',\n0x013B: 'PIVOT.ITEM',\n0x013C: 'PIVOT.ADD.FIELDS',\n0x013E: 'OPTIONS.CALCULATION',\n0x013F: 'OPTIONS.EDIT',\n0x0140: 'OPTIONS.VIEW',\n0x0141: 'ADDIN.MANAGER',\n0x0142: 'MENU.EDITOR',\n0x0143: 'ATTACH.TOOLBARS',\n0x0144: 'VBAActivate',\n0x0145: 'OPTIONS.CHART',\n0x0148: 'VBA.INSERT.FILE',\n0x014A: 'VBA.PROCEDURE.DEFINITION',\n0x0150: 'ROUTING.SLIP',\n0x0152: 'ROUTE.DOCUMENT',\n0x0153: 'MAIL.LOGON',\n0x0156: 'INSERT.PICTURE',\n0x0157: 'EDIT.TOOL',\n0x0158: 'GALLERY.DOUGHNUT',\n0x015E: 'CHART.TREND',\n0x0160: 'PIVOT.ITEM.PROPERTIES',\n0x0162: 'WORKBOOK.INSERT',\n0x0163: 'OPTIONS.TRANSITION',\n0x0164: 'OPTIONS.GENERAL',\n0x0172: 'FILTER.ADVANCED',\n0x0175: 'MAIL.ADD.MAILER',\n0x0176: 'MAIL.DELETE.MAILER',\n0x0177: 'MAIL.REPLY',\n0x0178: 'MAIL.REPLY.ALL',\n0x0179: 'MAIL.FORWARD',\n0x017A: 'MAIL.NEXT.LETTER',\n0x017B: 'DATA.LABEL',\n0x017C: 'INSERT.TITLE',\n0x017D: 'FONT.PROPERTIES',\n0x017E: 'MACRO.OPTIONS',\n0x017F: 'WORKBOOK.HIDE',\n0x0180: 'WORKBOOK.UNHIDE',\n0x0181: 'WORKBOOK.DELETE',\n0x0182: 'WORKBOOK.NAME',\n0x0184: 'GALLERY.CUSTOM',\n0x0186: 'ADD.CHART.AUTOFORMAT',\n0x0187: 'DELETE.CHART.AUTOFORMAT',\n0x0188: 'CHART.ADD.DATA',\n0x0189: 'AUTO.OUTLINE',\n0x018A: 'TAB.ORDER',\n0x018B: 'SHOW.DIALOG',\n0x018C: 'SELECT.ALL',\n0x018D: 'UNGROUP.SHEETS',\n0x018E: 'SUBTOTAL.CREATE',\n0x018F: 'SUBTOTAL.REMOVE',\n0x0190: 'RENAME.OBJECT',\n0x019C: 'WORKBOOK.SCROLL',\n0x019D: 'WORKBOOK.NEXT',\n0x019E: 'WORKBOOK.PREV',\n0x019F: 'WORKBOOK.TAB.SPLIT',\n0x01A0: 'FULL.SCREEN',\n0x01A1: 'WORKBOOK.PROTECT',\n0x01A4: 'SCROLLBAR.PROPERTIES',\n0x01A5: 'PIVOT.SHOW.PAGES',\n0x01A6: 'TEXT.TO.COLUMNS',\n0x01A7: 'FORMAT.CHARTTYPE',\n0x01A8: 'LINK.FORMAT',\n0x01A9: 'TRACER.DISPLAY',\n0x01AE: 'TRACER.NAVIGATE',\n0x01AF: 'TRACER.CLEAR',\n0x01B0: 'TRACER.ERROR',\n0x01B1: 'PIVOT.FIELD.GROUP',\n0x01B2: 'PIVOT.FIELD.UNGROUP',\n0x01B3: 'CHECKBOX.PROPERTIES',\n0x01B4: 'LABEL.PROPERTIES',\n0x01B5: 'LISTBOX.PROPERTIES',\n0x01B6: 'EDITBOX.PROPERTIES',\n0x01B7: 'PIVOT.REFRESH',\n0x01B8: 'LINK.COMBO',\n0x01B9: 'OPEN.TEXT',\n0x01BA: 'HIDE.DIALOG',\n0x01BB: 'SET.DIALOG.FOCUS',\n0x01BC: 'ENABLE.OBJECT',\n0x01BD: 'PUSHBUTTON.PROPERTIES',\n0x01BE: 'SET.DIALOG.DEFAULT',\n0x01BF: 'FILTER',\n0x01C0: 'FILTER.SHOW.ALL',\n0x01C1: 'CLEAR.OUTLINE',\n0x01C2: 'FUNCTION.WIZARD',\n0x01C3: 'ADD.LIST.ITEM',\n0x01C4: 'SET.LIST.ITEM',\n0x01C5: 'REMOVE.LIST.ITEM',\n0x01C6: 'SELECT.LIST.ITEM',\n0x01C7: 'SET.CONTROL.VALUE',\n0x01C8: 'SAVE.COPY.AS',\n0x01CA: 'OPTIONS.LISTS.ADD',\n0x01CB: 'OPTIONS.LISTS.DELETE',\n0x01CC: 'SERIES.AXES',\n0x01CD: 'SERIES.X',\n0x01CE: 'SERIES.Y',\n0x01CF: 'ERRORBAR.X',\n0x01D0: 'ERRORBAR.Y',\n0x01D1: 'FORMAT.CHART',\n0x01D2: 'SERIES.ORDER',\n0x01D3: 'MAIL.LOGOFF',\n0x01D4: 'CLEAR.ROUTING.SLIP',\n0x01D5: 'APP.ACTIVATE.MICROSOFT',\n0x01D6: 'MAIL.EDIT.MAILER',\n0x01D7: 'ON.SHEET',\n0x01D8: 'STANDARD.WIDTH',\n0x01D9: 'SCENARIO.MERGE',\n0x01DA: 'SUMMARY.INFO',\n0x01DB: 'FIND.FILE',\n0x01DC: 'ACTIVE.CELL.FONT',\n0x01DD: 'ENABLE.TIPWIZARD',\n0x01DE: 'VBA.MAKE.ADDIN',\n0x01E0: 'INSERTDATATABLE',\n0x01E1: 'WORKGROUP.OPTIONS',\n0x01E2: 'MAIL.SEND.MAILER',\n0x01E5: 'AUTOCORRECT',\n0x01E9: 'POST.DOCUMENT',\n0x01EB: 'PICKLIST',\n0x01ED: 'VIEW.SHOW',\n0x01EE: 'VIEW.DEFINE',\n0x01EF: 'VIEW.DELETE',\n0x01FD: 'SHEET.BACKGROUND',\n0x01FE: 'INSERT.MAP.OBJECT',\n0x01FF: 'OPTIONS.MENONO',\n0x0205: 'MSOCHECKS',\n0x0206: 'NORMAL',\n0x0207: 'LAYOUT',\n0x0208: 'RM.PRINT.AREA',\n0x0209: 'CLEAR.PRINT.AREA',\n0x020A: 'ADD.PRINT.AREA',\n0x020B: 'MOVE.BRK',\n0x0221: 'HIDECURR.NOTE',\n0x0222: 'HIDEALL.NOTES',\n0x0223: 'DELETE.NOTE',\n0x0224: 'TRAVERSE.NOTES',\n0x0225: 'ACTIVATE.NOTES',\n0x026C: 'PROTECT.REVISIONS',\n0x026D: 'UNPROTECT.REVISIONS',\n0x0287: 'OPTIONS.ME',\n0x028D: 'WEB.PUBLISH',\n0x029B: 'NEWWEBQUERY',\n0x02A1: 'PIVOT.TABLE.CHART',\n0x02F1: 'OPTIONS.SAVE',\n0x02F3: 'OPTIONS.SPELL',\n0x0328: 'HIDEALL.INKANNOTS'\n};\n\n/* [MS-XLS] 2.5.198.17 */\n/* [MS-XLSB] 2.5.97.10 */\nvar Ftab = {\n0x0000: 'COUNT',\n0x0001: 'IF',\n0x0002: 'ISNA',\n0x0003: 'ISERROR',\n0x0004: 'SUM',\n0x0005: 'AVERAGE',\n0x0006: 'MIN',\n0x0007: 'MAX',\n0x0008: 'ROW',\n0x0009: 'COLUMN',\n0x000A: 'NA',\n0x000B: 'NPV',\n0x000C: 'STDEV',\n0x000D: 'DOLLAR',\n0x000E: 'FIXED',\n0x000F: 'SIN',\n0x0010: 'COS',\n0x0011: 'TAN',\n0x0012: 'ATAN',\n0x0013: 'PI',\n0x0014: 'SQRT',\n0x0015: 'EXP',\n0x0016: 'LN',\n0x0017: 'LOG10',\n0x0018: 'ABS',\n0x0019: 'INT',\n0x001A: 'SIGN',\n0x001B: 'ROUND',\n0x001C: 'LOOKUP',\n0x001D: 'INDEX',\n0x001E: 'REPT',\n0x001F: 'MID',\n0x0020: 'LEN',\n0x0021: 'VALUE',\n0x0022: 'TRUE',\n0x0023: 'FALSE',\n0x0024: 'AND',\n0x0025: 'OR',\n0x0026: 'NOT',\n0x0027: 'MOD',\n0x0028: 'DCOUNT',\n0x0029: 'DSUM',\n0x002A: 'DAVERAGE',\n0x002B: 'DMIN',\n0x002C: 'DMAX',\n0x002D: 'DSTDEV',\n0x002E: 'VAR',\n0x002F: 'DVAR',\n0x0030: 'TEXT',\n0x0031: 'LINEST',\n0x0032: 'TREND',\n0x0033: 'LOGEST',\n0x0034: 'GROWTH',\n0x0035: 'GOTO',\n0x0036: 'HALT',\n0x0037: 'RETURN',\n0x0038: 'PV',\n0x0039: 'FV',\n0x003A: 'NPER',\n0x003B: 'PMT',\n0x003C: 'RATE',\n0x003D: 'MIRR',\n0x003E: 'IRR',\n0x003F: 'RAND',\n0x0040: 'MATCH',\n0x0041: 'DATE',\n0x0042: 'TIME',\n0x0043: 'DAY',\n0x0044: 'MONTH',\n0x0045: 'YEAR',\n0x0046: 'WEEKDAY',\n0x0047: 'HOUR',\n0x0048: 'MINUTE',\n0x0049: 'SECOND',\n0x004A: 'NOW',\n0x004B: 'AREAS',\n0x004C: 'ROWS',\n0x004D: 'COLUMNS',\n0x004E: 'OFFSET',\n0x004F: 'ABSREF',\n0x0050: 'RELREF',\n0x0051: 'ARGUMENT',\n0x0052: 'SEARCH',\n0x0053: 'TRANSPOSE',\n0x0054: 'ERROR',\n0x0055: 'STEP',\n0x0056: 'TYPE',\n0x0057: 'ECHO',\n0x0058: 'SET.NAME',\n0x0059: 'CALLER',\n0x005A: 'DEREF',\n0x005B: 'WINDOWS',\n0x005C: 'SERIES',\n0x005D: 'DOCUMENTS',\n0x005E: 'ACTIVE.CELL',\n0x005F: 'SELECTION',\n0x0060: 'RESULT',\n0x0061: 'ATAN2',\n0x0062: 'ASIN',\n0x0063: 'ACOS',\n0x0064: 'CHOOSE',\n0x0065: 'HLOOKUP',\n0x0066: 'VLOOKUP',\n0x0067: 'LINKS',\n0x0068: 'INPUT',\n0x0069: 'ISREF',\n0x006A: 'GET.FORMULA',\n0x006B: 'GET.NAME',\n0x006C: 'SET.VALUE',\n0x006D: 'LOG',\n0x006E: 'EXEC',\n0x006F: 'CHAR',\n0x0070: 'LOWER',\n0x0071: 'UPPER',\n0x0072: 'PROPER',\n0x0073: 'LEFT',\n0x0074: 'RIGHT',\n0x0075: 'EXACT',\n0x0076: 'TRIM',\n0x0077: 'REPLACE',\n0x0078: 'SUBSTITUTE',\n0x0079: 'CODE',\n0x007A: 'NAMES',\n0x007B: 'DIRECTORY',\n0x007C: 'FIND',\n0x007D: 'CELL',\n0x007E: 'ISERR',\n0x007F: 'ISTEXT',\n0x0080: 'ISNUMBER',\n0x0081: 'ISBLANK',\n0x0082: 'T',\n0x0083: 'N',\n0x0084: 'FOPEN',\n0x0085: 'FCLOSE',\n0x0086: 'FSIZE',\n0x0087: 'FREADLN',\n0x0088: 'FREAD',\n0x0089: 'FWRITELN',\n0x008A: 'FWRITE',\n0x008B: 'FPOS',\n0x008C: 'DATEVALUE',\n0x008D: 'TIMEVALUE',\n0x008E: 'SLN',\n0x008F: 'SYD',\n0x0090: 'DDB',\n0x0091: 'GET.DEF',\n0x0092: 'REFTEXT',\n0x0093: 'TEXTREF',\n0x0094: 'INDIRECT',\n0x0095: 'REGISTER',\n0x0096: 'CALL',\n0x0097: 'ADD.BAR',\n0x0098: 'ADD.MENU',\n0x0099: 'ADD.COMMAND',\n0x009A: 'ENABLE.COMMAND',\n0x009B: 'CHECK.COMMAND',\n0x009C: 'RENAME.COMMAND',\n0x009D: 'SHOW.BAR',\n0x009E: 'DELETE.MENU',\n0x009F: 'DELETE.COMMAND',\n0x00A0: 'GET.CHART.ITEM',\n0x00A1: 'DIALOG.BOX',\n0x00A2: 'CLEAN',\n0x00A3: 'MDETERM',\n0x00A4: 'MINVERSE',\n0x00A5: 'MMULT',\n0x00A6: 'FILES',\n0x00A7: 'IPMT',\n0x00A8: 'PPMT',\n0x00A9: 'COUNTA',\n0x00AA: 'CANCEL.KEY',\n0x00AB: 'FOR',\n0x00AC: 'WHILE',\n0x00AD: 'BREAK',\n0x00AE: 'NEXT',\n0x00AF: 'INITIATE',\n0x00B0: 'REQUEST',\n0x00B1: 'POKE',\n0x00B2: 'EXECUTE',\n0x00B3: 'TERMINATE',\n0x00B4: 'RESTART',\n0x00B5: 'HELP',\n0x00B6: 'GET.BAR',\n0x00B7: 'PRODUCT',\n0x00B8: 'FACT',\n0x00B9: 'GET.CELL',\n0x00BA: 'GET.WORKSPACE',\n0x00BB: 'GET.WINDOW',\n0x00BC: 'GET.DOCUMENT',\n0x00BD: 'DPRODUCT',\n0x00BE: 'ISNONTEXT',\n0x00BF: 'GET.NOTE',\n0x00C0: 'NOTE',\n0x00C1: 'STDEVP',\n0x00C2: 'VARP',\n0x00C3: 'DSTDEVP',\n0x00C4: 'DVARP',\n0x00C5: 'TRUNC',\n0x00C6: 'ISLOGICAL',\n0x00C7: 'DCOUNTA',\n0x00C8: 'DELETE.BAR',\n0x00C9: 'UNREGISTER',\n0x00CC: 'USDOLLAR',\n0x00CD: 'FINDB',\n0x00CE: 'SEARCHB',\n0x00CF: 'REPLACEB',\n0x00D0: 'LEFTB',\n0x00D1: 'RIGHTB',\n0x00D2: 'MIDB',\n0x00D3: 'LENB',\n0x00D4: 'ROUNDUP',\n0x00D5: 'ROUNDDOWN',\n0x00D6: 'ASC',\n0x00D7: 'DBCS',\n0x00D8: 'RANK',\n0x00DB: 'ADDRESS',\n0x00DC: 'DAYS360',\n0x00DD: 'TODAY',\n0x00DE: 'VDB',\n0x00DF: 'ELSE',\n0x00E0: 'ELSE.IF',\n0x00E1: 'END.IF',\n0x00E2: 'FOR.CELL',\n0x00E3: 'MEDIAN',\n0x00E4: 'SUMPRODUCT',\n0x00E5: 'SINH',\n0x00E6: 'COSH',\n0x00E7: 'TANH',\n0x00E8: 'ASINH',\n0x00E9: 'ACOSH',\n0x00EA: 'ATANH',\n0x00EB: 'DGET',\n0x00EC: 'CREATE.OBJECT',\n0x00ED: 'VOLATILE',\n0x00EE: 'LAST.ERROR',\n0x00EF: 'CUSTOM.UNDO',\n0x00F0: 'CUSTOM.REPEAT',\n0x00F1: 'FORMULA.CONVERT',\n0x00F2: 'GET.LINK.INFO',\n0x00F3: 'TEXT.BOX',\n0x00F4: 'INFO',\n0x00F5: 'GROUP',\n0x00F6: 'GET.OBJECT',\n0x00F7: 'DB',\n0x00F8: 'PAUSE',\n0x00FB: 'RESUME',\n0x00FC: 'FREQUENCY',\n0x00FD: 'ADD.TOOLBAR',\n0x00FE: 'DELETE.TOOLBAR',\n0x00FF: 'User',\n0x0100: 'RESET.TOOLBAR',\n0x0101: 'EVALUATE',\n0x0102: 'GET.TOOLBAR',\n0x0103: 'GET.TOOL',\n0x0104: 'SPELLING.CHECK',\n0x0105: 'ERROR.TYPE',\n0x0106: 'APP.TITLE',\n0x0107: 'WINDOW.TITLE',\n0x0108: 'SAVE.TOOLBAR',\n0x0109: 'ENABLE.TOOL',\n0x010A: 'PRESS.TOOL',\n0x010B: 'REGISTER.ID',\n0x010C: 'GET.WORKBOOK',\n0x010D: 'AVEDEV',\n0x010E: 'BETADIST',\n0x010F: 'GAMMALN',\n0x0110: 'BETAINV',\n0x0111: 'BINOMDIST',\n0x0112: 'CHIDIST',\n0x0113: 'CHIINV',\n0x0114: 'COMBIN',\n0x0115: 'CONFIDENCE',\n0x0116: 'CRITBINOM',\n0x0117: 'EVEN',\n0x0118: 'EXPONDIST',\n0x0119: 'FDIST',\n0x011A: 'FINV',\n0x011B: 'FISHER',\n0x011C: 'FISHERINV',\n0x011D: 'FLOOR',\n0x011E: 'GAMMADIST',\n0x011F: 'GAMMAINV',\n0x0120: 'CEILING',\n0x0121: 'HYPGEOMDIST',\n0x0122: 'LOGNORMDIST',\n0x0123: 'LOGINV',\n0x0124: 'NEGBINOMDIST',\n0x0125: 'NORMDIST',\n0x0126: 'NORMSDIST',\n0x0127: 'NORMINV',\n0x0128: 'NORMSINV',\n0x0129: 'STANDARDIZE',\n0x012A: 'ODD',\n0x012B: 'PERMUT',\n0x012C: 'POISSON',\n0x012D: 'TDIST',\n0x012E: 'WEIBULL',\n0x012F: 'SUMXMY2',\n0x0130: 'SUMX2MY2',\n0x0131: 'SUMX2PY2',\n0x0132: 'CHITEST',\n0x0133: 'CORREL',\n0x0134: 'COVAR',\n0x0135: 'FORECAST',\n0x0136: 'FTEST',\n0x0137: 'INTERCEPT',\n0x0138: 'PEARSON',\n0x0139: 'RSQ',\n0x013A: 'STEYX',\n0x013B: 'SLOPE',\n0x013C: 'TTEST',\n0x013D: 'PROB',\n0x013E: 'DEVSQ',\n0x013F: 'GEOMEAN',\n0x0140: 'HARMEAN',\n0x0141: 'SUMSQ',\n0x0142: 'KURT',\n0x0143: 'SKEW',\n0x0144: 'ZTEST',\n0x0145: 'LARGE',\n0x0146: 'SMALL',\n0x0147: 'QUARTILE',\n0x0148: 'PERCENTILE',\n0x0149: 'PERCENTRANK',\n0x014A: 'MODE',\n0x014B: 'TRIMMEAN',\n0x014C: 'TINV',\n0x014E: 'MOVIE.COMMAND',\n0x014F: 'GET.MOVIE',\n0x0150: 'CONCATENATE',\n0x0151: 'POWER',\n0x0152: 'PIVOT.ADD.DATA',\n0x0153: 'GET.PIVOT.TABLE',\n0x0154: 'GET.PIVOT.FIELD',\n0x0155: 'GET.PIVOT.ITEM',\n0x0156: 'RADIANS',\n0x0157: 'DEGREES',\n0x0158: 'SUBTOTAL',\n0x0159: 'SUMIF',\n0x015A: 'COUNTIF',\n0x015B: 'COUNTBLANK',\n0x015C: 'SCENARIO.GET',\n0x015D: 'OPTIONS.LISTS.GET',\n0x015E: 'ISPMT',\n0x015F: 'DATEDIF',\n0x0160: 'DATESTRING',\n0x0161: 'NUMBERSTRING',\n0x0162: 'ROMAN',\n0x0163: 'OPEN.DIALOG',\n0x0164: 'SAVE.DIALOG',\n0x0165: 'VIEW.GET',\n0x0166: 'GETPIVOTDATA',\n0x0167: 'HYPERLINK',\n0x0168: 'PHONETIC',\n0x0169: 'AVERAGEA',\n0x016A: 'MAXA',\n0x016B: 'MINA',\n0x016C: 'STDEVPA',\n0x016D: 'VARPA',\n0x016E: 'STDEVA',\n0x016F: 'VARA',\n0x0170: 'BAHTTEXT',\n0x0171: 'THAIDAYOFWEEK',\n0x0172: 'THAIDIGIT',\n0x0173: 'THAIMONTHOFYEAR',\n0x0174: 'THAINUMSOUND',\n0x0175: 'THAINUMSTRING',\n0x0176: 'THAISTRINGLENGTH',\n0x0177: 'ISTHAIDIGIT',\n0x0178: 'ROUNDBAHTDOWN',\n0x0179: 'ROUNDBAHTUP',\n0x017A: 'THAIYEAR',\n0x017B: 'RTD',\n\n0x017C: 'CUBEVALUE',\n0x017D: 'CUBEMEMBER',\n0x017E: 'CUBEMEMBERPROPERTY',\n0x017F: 'CUBERANKEDMEMBER',\n0x0180: 'HEX2BIN',\n0x0181: 'HEX2DEC',\n0x0182: 'HEX2OCT',\n0x0183: 'DEC2BIN',\n0x0184: 'DEC2HEX',\n0x0185: 'DEC2OCT',\n0x0186: 'OCT2BIN',\n0x0187: 'OCT2HEX',\n0x0188: 'OCT2DEC',\n0x0189: 'BIN2DEC',\n0x018A: 'BIN2OCT',\n0x018B: 'BIN2HEX',\n0x018C: 'IMSUB',\n0x018D: 'IMDIV',\n0x018E: 'IMPOWER',\n0x018F: 'IMABS',\n0x0190: 'IMSQRT',\n0x0191: 'IMLN',\n0x0192: 'IMLOG2',\n0x0193: 'IMLOG10',\n0x0194: 'IMSIN',\n0x0195: 'IMCOS',\n0x0196: 'IMEXP',\n0x0197: 'IMARGUMENT',\n0x0198: 'IMCONJUGATE',\n0x0199: 'IMAGINARY',\n0x019A: 'IMREAL',\n0x019B: 'COMPLEX',\n0x019C: 'IMSUM',\n0x019D: 'IMPRODUCT',\n0x019E: 'SERIESSUM',\n0x019F: 'FACTDOUBLE',\n0x01A0: 'SQRTPI',\n0x01A1: 'QUOTIENT',\n0x01A2: 'DELTA',\n0x01A3: 'GESTEP',\n0x01A4: 'ISEVEN',\n0x01A5: 'ISODD',\n0x01A6: 'MROUND',\n0x01A7: 'ERF',\n0x01A8: 'ERFC',\n0x01A9: 'BESSELJ',\n0x01AA: 'BESSELK',\n0x01AB: 'BESSELY',\n0x01AC: 'BESSELI',\n0x01AD: 'XIRR',\n0x01AE: 'XNPV',\n0x01AF: 'PRICEMAT',\n0x01B0: 'YIELDMAT',\n0x01B1: 'INTRATE',\n0x01B2: 'RECEIVED',\n0x01B3: 'DISC',\n0x01B4: 'PRICEDISC',\n0x01B5: 'YIELDDISC',\n0x01B6: 'TBILLEQ',\n0x01B7: 'TBILLPRICE',\n0x01B8: 'TBILLYIELD',\n0x01B9: 'PRICE',\n0x01BA: 'YIELD',\n0x01BB: 'DOLLARDE',\n0x01BC: 'DOLLARFR',\n0x01BD: 'NOMINAL',\n0x01BE: 'EFFECT',\n0x01BF: 'CUMPRINC',\n0x01C0: 'CUMIPMT',\n0x01C1: 'EDATE',\n0x01C2: 'EOMONTH',\n0x01C3: 'YEARFRAC',\n0x01C4: 'COUPDAYBS',\n0x01C5: 'COUPDAYS',\n0x01C6: 'COUPDAYSNC',\n0x01C7: 'COUPNCD',\n0x01C8: 'COUPNUM',\n0x01C9: 'COUPPCD',\n0x01CA: 'DURATION',\n0x01CB: 'MDURATION',\n0x01CC: 'ODDLPRICE',\n0x01CD: 'ODDLYIELD',\n0x01CE: 'ODDFPRICE',\n0x01CF: 'ODDFYIELD',\n0x01D0: 'RANDBETWEEN',\n0x01D1: 'WEEKNUM',\n0x01D2: 'AMORDEGRC',\n0x01D3: 'AMORLINC',\n0x01D4: 'CONVERT',\n0x02D4: 'SHEETJS',\n0x01D5: 'ACCRINT',\n0x01D6: 'ACCRINTM',\n0x01D7: 'WORKDAY',\n0x01D8: 'NETWORKDAYS',\n0x01D9: 'GCD',\n0x01DA: 'MULTINOMIAL',\n0x01DB: 'LCM',\n0x01DC: 'FVSCHEDULE',\n0x01DD: 'CUBEKPIMEMBER',\n0x01DE: 'CUBESET',\n0x01DF: 'CUBESETCOUNT',\n0x01E0: 'IFERROR',\n0x01E1: 'COUNTIFS',\n0x01E2: 'SUMIFS',\n0x01E3: 'AVERAGEIF',\n0x01E4: 'AVERAGEIFS'\n};\nvar FtabArgc = {\n0x0002: 1, /* ISNA */\n0x0003: 1, /* ISERROR */\n0x000A: 0, /* NA */\n0x000F: 1, /* SIN */\n0x0010: 1, /* COS */\n0x0011: 1, /* TAN */\n0x0012: 1, /* ATAN */\n0x0013: 0, /* PI */\n0x0014: 1, /* SQRT */\n0x0015: 1, /* EXP */\n0x0016: 1, /* LN */\n0x0017: 1, /* LOG10 */\n0x0018: 1, /* ABS */\n0x0019: 1, /* INT */\n0x001A: 1, /* SIGN */\n0x001B: 2, /* ROUND */\n0x001E: 2, /* REPT */\n0x001F: 3, /* MID */\n0x0020: 1, /* LEN */\n0x0021: 1, /* VALUE */\n0x0022: 0, /* TRUE */\n0x0023: 0, /* FALSE */\n0x0026: 1, /* NOT */\n0x0027: 2, /* MOD */\n0x0028: 3, /* DCOUNT */\n0x0029: 3, /* DSUM */\n0x002A: 3, /* DAVERAGE */\n0x002B: 3, /* DMIN */\n0x002C: 3, /* DMAX */\n0x002D: 3, /* DSTDEV */\n0x002F: 3, /* DVAR */\n0x0030: 2, /* TEXT */\n0x0035: 1, /* GOTO */\n0x003D: 3, /* MIRR */\n0x003F: 0, /* RAND */\n0x0041: 3, /* DATE */\n0x0042: 3, /* TIME */\n0x0043: 1, /* DAY */\n0x0044: 1, /* MONTH */\n0x0045: 1, /* YEAR */\n0x0046: 1, /* WEEKDAY */\n0x0047: 1, /* HOUR */\n0x0048: 1, /* MINUTE */\n0x0049: 1, /* SECOND */\n0x004A: 0, /* NOW */\n0x004B: 1, /* AREAS */\n0x004C: 1, /* ROWS */\n0x004D: 1, /* COLUMNS */\n0x004F: 2, /* ABSREF */\n0x0050: 2, /* RELREF */\n0x0053: 1, /* TRANSPOSE */\n0x0055: 0, /* STEP */\n0x0056: 1, /* TYPE */\n0x0059: 0, /* CALLER */\n0x005A: 1, /* DEREF */\n0x005E: 0, /* ACTIVE.CELL */\n0x005F: 0, /* SELECTION */\n0x0061: 2, /* ATAN2 */\n0x0062: 1, /* ASIN */\n0x0063: 1, /* ACOS */\n0x0065: 3, /* HLOOKUP */\n0x0066: 3, /* VLOOKUP */\n0x0069: 1, /* ISREF */\n0x006A: 1, /* GET.FORMULA */\n0x006C: 2, /* SET.VALUE */\n0x006F: 1, /* CHAR */\n0x0070: 1, /* LOWER */\n0x0071: 1, /* UPPER */\n0x0072: 1, /* PROPER */\n0x0075: 2, /* EXACT */\n0x0076: 1, /* TRIM */\n0x0077: 4, /* REPLACE */\n0x0079: 1, /* CODE */\n0x007E: 1, /* ISERR */\n0x007F: 1, /* ISTEXT */\n0x0080: 1, /* ISNUMBER */\n0x0081: 1, /* ISBLANK */\n0x0082: 1, /* T */\n0x0083: 1, /* N */\n0x0085: 1, /* FCLOSE */\n0x0086: 1, /* FSIZE */\n0x0087: 1, /* FREADLN */\n0x0088: 2, /* FREAD */\n0x0089: 2, /* FWRITELN */\n0x008A: 2, /* FWRITE */\n0x008C: 1, /* DATEVALUE */\n0x008D: 1, /* TIMEVALUE */\n0x008E: 3, /* SLN */\n0x008F: 4, /* SYD */\n0x0090: 4, /* DDB */\n0x00A1: 1, /* DIALOG.BOX */\n0x00A2: 1, /* CLEAN */\n0x00A3: 1, /* MDETERM */\n0x00A4: 1, /* MINVERSE */\n0x00A5: 2, /* MMULT */\n0x00AC: 1, /* WHILE */\n0x00AF: 2, /* INITIATE */\n0x00B0: 2, /* REQUEST */\n0x00B1: 3, /* POKE */\n0x00B2: 2, /* EXECUTE */\n0x00B3: 1, /* TERMINATE */\n0x00B8: 1, /* FACT */\n0x00BA: 1, /* GET.WORKSPACE */\n0x00BD: 3, /* DPRODUCT */\n0x00BE: 1, /* ISNONTEXT */\n0x00C3: 3, /* DSTDEVP */\n0x00C4: 3, /* DVARP */\n0x00C5: 1, /* TRUNC */\n0x00C6: 1, /* ISLOGICAL */\n0x00C7: 3, /* DCOUNTA */\n0x00C9: 1, /* UNREGISTER */\n0x00CF: 4, /* REPLACEB */\n0x00D2: 3, /* MIDB */\n0x00D3: 1, /* LENB */\n0x00D4: 2, /* ROUNDUP */\n0x00D5: 2, /* ROUNDDOWN */\n0x00D6: 1, /* ASC */\n0x00D7: 1, /* DBCS */\n0x00E1: 0, /* END.IF */\n0x00E5: 1, /* SINH */\n0x00E6: 1, /* COSH */\n0x00E7: 1, /* TANH */\n0x00E8: 1, /* ASINH */\n0x00E9: 1, /* ACOSH */\n0x00EA: 1, /* ATANH */\n0x00EB: 3, /* DGET */\n0x00F4: 1, /* INFO */\n0x00F7: 4, /* DB */\n0x00FC: 2, /* FREQUENCY */\n0x0101: 1, /* EVALUATE */\n0x0105: 1, /* ERROR.TYPE */\n0x010F: 1, /* GAMMALN */\n0x0111: 4, /* BINOMDIST */\n0x0112: 2, /* CHIDIST */\n0x0113: 2, /* CHIINV */\n0x0114: 2, /* COMBIN */\n0x0115: 3, /* CONFIDENCE */\n0x0116: 3, /* CRITBINOM */\n0x0117: 1, /* EVEN */\n0x0118: 3, /* EXPONDIST */\n0x0119: 3, /* FDIST */\n0x011A: 3, /* FINV */\n0x011B: 1, /* FISHER */\n0x011C: 1, /* FISHERINV */\n0x011D: 2, /* FLOOR */\n0x011E: 4, /* GAMMADIST */\n0x011F: 3, /* GAMMAINV */\n0x0120: 2, /* CEILING */\n0x0121: 4, /* HYPGEOMDIST */\n0x0122: 3, /* LOGNORMDIST */\n0x0123: 3, /* LOGINV */\n0x0124: 3, /* NEGBINOMDIST */\n0x0125: 4, /* NORMDIST */\n0x0126: 1, /* NORMSDIST */\n0x0127: 3, /* NORMINV */\n0x0128: 1, /* NORMSINV */\n0x0129: 3, /* STANDARDIZE */\n0x012A: 1, /* ODD */\n0x012B: 2, /* PERMUT */\n0x012C: 3, /* POISSON */\n0x012D: 3, /* TDIST */\n0x012E: 4, /* WEIBULL */\n0x012F: 2, /* SUMXMY2 */\n0x0130: 2, /* SUMX2MY2 */\n0x0131: 2, /* SUMX2PY2 */\n0x0132: 2, /* CHITEST */\n0x0133: 2, /* CORREL */\n0x0134: 2, /* COVAR */\n0x0135: 3, /* FORECAST */\n0x0136: 2, /* FTEST */\n0x0137: 2, /* INTERCEPT */\n0x0138: 2, /* PEARSON */\n0x0139: 2, /* RSQ */\n0x013A: 2, /* STEYX */\n0x013B: 2, /* SLOPE */\n0x013C: 4, /* TTEST */\n0x0145: 2, /* LARGE */\n0x0146: 2, /* SMALL */\n0x0147: 2, /* QUARTILE */\n0x0148: 2, /* PERCENTILE */\n0x014B: 2, /* TRIMMEAN */\n0x014C: 2, /* TINV */\n0x0151: 2, /* POWER */\n0x0156: 1, /* RADIANS */\n0x0157: 1, /* DEGREES */\n0x015A: 2, /* COUNTIF */\n0x015B: 1, /* COUNTBLANK */\n0x015E: 4, /* ISPMT */\n0x015F: 3, /* DATEDIF */\n0x0160: 1, /* DATESTRING */\n0x0161: 2, /* NUMBERSTRING */\n0x0168: 1, /* PHONETIC */\n0x0170: 1, /* BAHTTEXT */\n0x0171: 1, /* THAIDAYOFWEEK */\n0x0172: 1, /* THAIDIGIT */\n0x0173: 1, /* THAIMONTHOFYEAR */\n0x0174: 1, /* THAINUMSOUND */\n0x0175: 1, /* THAINUMSTRING */\n0x0176: 1, /* THAISTRINGLENGTH */\n0x0177: 1, /* ISTHAIDIGIT */\n0x0178: 1, /* ROUNDBAHTDOWN */\n0x0179: 1, /* ROUNDBAHTUP */\n0x017A: 1, /* THAIYEAR */\n0x017E: 3, /* CUBEMEMBERPROPERTY */\n0x0181: 1, /* HEX2DEC */\n0x0188: 1, /* OCT2DEC */\n0x0189: 1, /* BIN2DEC */\n0x018C: 2, /* IMSUB */\n0x018D: 2, /* IMDIV */\n0x018E: 2, /* IMPOWER */\n0x018F: 1, /* IMABS */\n0x0190: 1, /* IMSQRT */\n0x0191: 1, /* IMLN */\n0x0192: 1, /* IMLOG2 */\n0x0193: 1, /* IMLOG10 */\n0x0194: 1, /* IMSIN */\n0x0195: 1, /* IMCOS */\n0x0196: 1, /* IMEXP */\n0x0197: 1, /* IMARGUMENT */\n0x0198: 1, /* IMCONJUGATE */\n0x0199: 1, /* IMAGINARY */\n0x019A: 1, /* IMREAL */\n0x019E: 4, /* SERIESSUM */\n0x019F: 1, /* FACTDOUBLE */\n0x01A0: 1, /* SQRTPI */\n0x01A1: 2, /* QUOTIENT */\n0x01A4: 1, /* ISEVEN */\n0x01A5: 1, /* ISODD */\n0x01A6: 2, /* MROUND */\n0x01A8: 1, /* ERFC */\n0x01A9: 2, /* BESSELJ */\n0x01AA: 2, /* BESSELK */\n0x01AB: 2, /* BESSELY */\n0x01AC: 2, /* BESSELI */\n0x01AE: 3, /* XNPV */\n0x01B6: 3, /* TBILLEQ */\n0x01B7: 3, /* TBILLPRICE */\n0x01B8: 3, /* TBILLYIELD */\n0x01BB: 2, /* DOLLARDE */\n0x01BC: 2, /* DOLLARFR */\n0x01BD: 2, /* NOMINAL */\n0x01BE: 2, /* EFFECT */\n0x01BF: 6, /* CUMPRINC */\n0x01C0: 6, /* CUMIPMT */\n0x01C1: 2, /* EDATE */\n0x01C2: 2, /* EOMONTH */\n0x01D0: 2, /* RANDBETWEEN */\n0x01D4: 3, /* CONVERT */\n0x01DC: 2, /* FVSCHEDULE */\n0x01DF: 1, /* CUBESETCOUNT */\n0x01E0: 2, /* IFERROR */\n0xFFFF: 0\n};\n/* [MS-XLSX] 2.2.3 Functions */\n/* [MS-XLSB] 2.5.97.10 Ftab */\nvar XLSXFutureFunctions = {\n\t\"_xlfn.ACOT\": \"ACOT\",\n\t\"_xlfn.ACOTH\": \"ACOTH\",\n\t\"_xlfn.AGGREGATE\": \"AGGREGATE\",\n\t\"_xlfn.ARABIC\": \"ARABIC\",\n\t\"_xlfn.AVERAGEIF\": \"AVERAGEIF\",\n\t\"_xlfn.AVERAGEIFS\": \"AVERAGEIFS\",\n\t\"_xlfn.BASE\": \"BASE\",\n\t\"_xlfn.BETA.DIST\": \"BETA.DIST\",\n\t\"_xlfn.BETA.INV\": \"BETA.INV\",\n\t\"_xlfn.BINOM.DIST\": \"BINOM.DIST\",\n\t\"_xlfn.BINOM.DIST.RANGE\": \"BINOM.DIST.RANGE\",\n\t\"_xlfn.BINOM.INV\": \"BINOM.INV\",\n\t\"_xlfn.BITAND\": \"BITAND\",\n\t\"_xlfn.BITLSHIFT\": \"BITLSHIFT\",\n\t\"_xlfn.BITOR\": \"BITOR\",\n\t\"_xlfn.BITRSHIFT\": \"BITRSHIFT\",\n\t\"_xlfn.BITXOR\": \"BITXOR\",\n\t\"_xlfn.CEILING.MATH\": \"CEILING.MATH\",\n\t\"_xlfn.CEILING.PRECISE\": \"CEILING.PRECISE\",\n\t\"_xlfn.CHISQ.DIST\": \"CHISQ.DIST\",\n\t\"_xlfn.CHISQ.DIST.RT\": \"CHISQ.DIST.RT\",\n\t\"_xlfn.CHISQ.INV\": \"CHISQ.INV\",\n\t\"_xlfn.CHISQ.INV.RT\": \"CHISQ.INV.RT\",\n\t\"_xlfn.CHISQ.TEST\": \"CHISQ.TEST\",\n\t\"_xlfn.COMBINA\": \"COMBINA\",\n\t\"_xlfn.CONCAT\": \"CONCAT\",\n\t\"_xlfn.CONFIDENCE.NORM\": \"CONFIDENCE.NORM\",\n\t\"_xlfn.CONFIDENCE.T\": \"CONFIDENCE.T\",\n\t\"_xlfn.COT\": \"COT\",\n\t\"_xlfn.COTH\": \"COTH\",\n\t\"_xlfn.COUNTIFS\": \"COUNTIFS\",\n\t\"_xlfn.COVARIANCE.P\": \"COVARIANCE.P\",\n\t\"_xlfn.COVARIANCE.S\": \"COVARIANCE.S\",\n\t\"_xlfn.CSC\": \"CSC\",\n\t\"_xlfn.CSCH\": \"CSCH\",\n\t\"_xlfn.DAYS\": \"DAYS\",\n\t\"_xlfn.DECIMAL\": \"DECIMAL\",\n\t\"_xlfn.ECMA.CEILING\": \"ECMA.CEILING\",\n\t\"_xlfn.ERF.PRECISE\": \"ERF.PRECISE\",\n\t\"_xlfn.ERFC.PRECISE\": \"ERFC.PRECISE\",\n\t\"_xlfn.EXPON.DIST\": \"EXPON.DIST\",\n\t\"_xlfn.F.DIST\": \"F.DIST\",\n\t\"_xlfn.F.DIST.RT\": \"F.DIST.RT\",\n\t\"_xlfn.F.INV\": \"F.INV\",\n\t\"_xlfn.F.INV.RT\": \"F.INV.RT\",\n\t\"_xlfn.F.TEST\": \"F.TEST\",\n\t\"_xlfn.FILTERXML\": \"FILTERXML\",\n\t\"_xlfn.FLOOR.MATH\": \"FLOOR.MATH\",\n\t\"_xlfn.FLOOR.PRECISE\": \"FLOOR.PRECISE\",\n\t\"_xlfn.FORECAST.ETS\": \"FORECAST.ETS\",\n\t\"_xlfn.FORECAST.ETS.CONFINT\": \"FORECAST.ETS.CONFINT\",\n\t\"_xlfn.FORECAST.ETS.SEASONALITY\": \"FORECAST.ETS.SEASONALITY\",\n\t\"_xlfn.FORECAST.ETS.STAT\": \"FORECAST.ETS.STAT\",\n\t\"_xlfn.FORECAST.LINEAR\": \"FORECAST.LINEAR\",\n\t\"_xlfn.FORMULATEXT\": \"FORMULATEXT\",\n\t\"_xlfn.GAMMA\": \"GAMMA\",\n\t\"_xlfn.GAMMA.DIST\": \"GAMMA.DIST\",\n\t\"_xlfn.GAMMA.INV\": \"GAMMA.INV\",\n\t\"_xlfn.GAMMALN.PRECISE\": \"GAMMALN.PRECISE\",\n\t\"_xlfn.GAUSS\": \"GAUSS\",\n\t\"_xlfn.HYPGEOM.DIST\": \"HYPGEOM.DIST\",\n\t\"_xlfn.IFERROR\": \"IFERROR\",\n\t\"_xlfn.IFNA\": \"IFNA\",\n\t\"_xlfn.IFS\": \"IFS\",\n\t\"_xlfn.IMCOSH\": \"IMCOSH\",\n\t\"_xlfn.IMCOT\": \"IMCOT\",\n\t\"_xlfn.IMCSC\": \"IMCSC\",\n\t\"_xlfn.IMCSCH\": \"IMCSCH\",\n\t\"_xlfn.IMSEC\": \"IMSEC\",\n\t\"_xlfn.IMSECH\": \"IMSECH\",\n\t\"_xlfn.IMSINH\": \"IMSINH\",\n\t\"_xlfn.IMTAN\": \"IMTAN\",\n\t\"_xlfn.ISFORMULA\": \"ISFORMULA\",\n\t\"_xlfn.ISO.CEILING\": \"ISO.CEILING\",\n\t\"_xlfn.ISOWEEKNUM\": \"ISOWEEKNUM\",\n\t\"_xlfn.LOGNORM.DIST\": \"LOGNORM.DIST\",\n\t\"_xlfn.LOGNORM.INV\": \"LOGNORM.INV\",\n\t\"_xlfn.MAXIFS\": \"MAXIFS\",\n\t\"_xlfn.MINIFS\": \"MINIFS\",\n\t\"_xlfn.MODE.MULT\": \"MODE.MULT\",\n\t\"_xlfn.MODE.SNGL\": \"MODE.SNGL\",\n\t\"_xlfn.MUNIT\": \"MUNIT\",\n\t\"_xlfn.NEGBINOM.DIST\": \"NEGBINOM.DIST\",\n\t\"_xlfn.NETWORKDAYS.INTL\": \"NETWORKDAYS.INTL\",\n\t\"_xlfn.NIGBINOM\": \"NIGBINOM\",\n\t\"_xlfn.NORM.DIST\": \"NORM.DIST\",\n\t\"_xlfn.NORM.INV\": \"NORM.INV\",\n\t\"_xlfn.NORM.S.DIST\": \"NORM.S.DIST\",\n\t\"_xlfn.NORM.S.INV\": \"NORM.S.INV\",\n\t\"_xlfn.NUMBERVALUE\": \"NUMBERVALUE\",\n\t\"_xlfn.PDURATION\": \"PDURATION\",\n\t\"_xlfn.PERCENTILE.EXC\": \"PERCENTILE.EXC\",\n\t\"_xlfn.PERCENTILE.INC\": \"PERCENTILE.INC\",\n\t\"_xlfn.PERCENTRANK.EXC\": \"PERCENTRANK.EXC\",\n\t\"_xlfn.PERCENTRANK.INC\": \"PERCENTRANK.INC\",\n\t\"_xlfn.PERMUTATIONA\": \"PERMUTATIONA\",\n\t\"_xlfn.PHI\": \"PHI\",\n\t\"_xlfn.POISSON.DIST\": \"POISSON.DIST\",\n\t\"_xlfn.QUARTILE.EXC\": \"QUARTILE.EXC\",\n\t\"_xlfn.QUARTILE.INC\": \"QUARTILE.INC\",\n\t\"_xlfn.QUERYSTRING\": \"QUERYSTRING\",\n\t\"_xlfn.RANK.AVG\": \"RANK.AVG\",\n\t\"_xlfn.RANK.EQ\": \"RANK.EQ\",\n\t\"_xlfn.RRI\": \"RRI\",\n\t\"_xlfn.SEC\": \"SEC\",\n\t\"_xlfn.SECH\": \"SECH\",\n\t\"_xlfn.SHEET\": \"SHEET\",\n\t\"_xlfn.SHEETS\": \"SHEETS\",\n\t\"_xlfn.SKEW.P\": \"SKEW.P\",\n\t\"_xlfn.STDEV.P\": \"STDEV.P\",\n\t\"_xlfn.STDEV.S\": \"STDEV.S\",\n\t\"_xlfn.SUMIFS\": \"SUMIFS\",\n\t\"_xlfn.SWITCH\": \"SWITCH\",\n\t\"_xlfn.T.DIST\": \"T.DIST\",\n\t\"_xlfn.T.DIST.2T\": \"T.DIST.2T\",\n\t\"_xlfn.T.DIST.RT\": \"T.DIST.RT\",\n\t\"_xlfn.T.INV\": \"T.INV\",\n\t\"_xlfn.T.INV.2T\": \"T.INV.2T\",\n\t\"_xlfn.T.TEST\": \"T.TEST\",\n\t\"_xlfn.TEXTJOIN\": \"TEXTJOIN\",\n\t\"_xlfn.UNICHAR\": \"UNICHAR\",\n\t\"_xlfn.UNICODE\": \"UNICODE\",\n\t\"_xlfn.VAR.P\": \"VAR.P\",\n\t\"_xlfn.VAR.S\": \"VAR.S\",\n\t\"_xlfn.WEBSERVICE\": \"WEBSERVICE\",\n\t\"_xlfn.WEIBULL.DIST\": \"WEIBULL.DIST\",\n\t\"_xlfn.WORKDAY.INTL\": \"WORKDAY.INTL\",\n\t\"_xlfn.XOR\": \"XOR\",\n\t\"_xlfn.Z.TEST\": \"Z.TEST\"\n};\n\n/* Part 3 TODO: actually parse formulae */\nfunction ods_to_csf_formula(f) {\n\tif(f.slice(0,3) == \"of:\") f = f.slice(3);\n\t/* 5.2 Basic Expressions */\n\tif(f.charCodeAt(0) == 61) {\n\t\tf = f.slice(1);\n\t\tif(f.charCodeAt(0) == 61) f = f.slice(1);\n\t}\n\tf = f.replace(/COM\\.MICROSOFT\\./g, \"\");\n\t/* Part 3 Section 5.8 References */\n\tf = f.replace(/\\[((?:\\.[A-Z]+[0-9]+)(?::\\.[A-Z]+[0-9]+)?)\\]/g, function($$, $1) { return $1.replace(/\\./g,\"\"); });\n\t/* TODO: something other than this */\n\tf = f.replace(/\\[.(#[A-Z]*[?!])\\]/g, \"$1\");\n\treturn f.replace(/[;~]/g,\",\").replace(/\\|/g,\";\");\n}\n\nfunction csf_to_ods_formula(f) {\n\tvar o = \"of:=\" + f.replace(crefregex, \"$1[.$2$3$4$5]\").replace(/\\]:\\[/g,\":\");\n\t/* TODO: something other than this */\n\treturn o.replace(/;/g, \"|\").replace(/,/g,\";\");\n}\n\nfunction ods_to_csf_3D(r) {\n\tvar a = r.split(\":\");\n\tvar s = a[0].split(\".\")[0];\n\treturn [s, a[0].split(\".\")[1] + (a.length > 1 ? (\":\" + (a[1].split(\".\")[1] || a[1].split(\".\")[0])) : \"\")];\n}\n\nfunction csf_to_ods_3D(r) {\n\treturn r.replace(/\\./,\"!\");\n}\n\nvar strs = {}; // shared strings\nvar _ssfopts = {}; // spreadsheet formatting options\n\nRELS.WS = [\n\t\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet\",\n\t\"http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet\"\n];\n\n/*global Map */\nvar browser_has_Map = typeof Map !== 'undefined';\n\nfunction get_sst_id(sst, str, rev) {\n\tvar i = 0, len = sst.length;\n\tif(rev) {\n\t\tif(browser_has_Map ? rev.has(str) : Object.prototype.hasOwnProperty.call(rev, str)) {\n\t\t\tvar revarr = browser_has_Map ? rev.get(str) : rev[str];\n\t\t\tfor(; i < revarr.length; ++i) {\n\t\t\t\tif(sst[revarr[i]].t === str) { sst.Count ++; return revarr[i]; }\n\t\t\t}\n\t\t}\n\t} else for(; i < len; ++i) {\n\t\tif(sst[i].t === str) { sst.Count ++; return i; }\n\t}\n\tsst[len] = ({t:str}); sst.Count ++; sst.Unique ++;\n\tif(rev) {\n\t\tif(browser_has_Map) {\n\t\t\tif(!rev.has(str)) rev.set(str, []);\n\t\t\trev.get(str).push(len);\n\t\t} else {\n\t\t\tif(!Object.prototype.hasOwnProperty.call(rev, str)) rev[str] = [];\n\t\t\trev[str].push(len);\n\t\t}\n\t}\n\treturn len;\n}\n\nfunction col_obj_w(C, col) {\n\tvar p = ({min:C+1,max:C+1});\n\t/* wch (chars), wpx (pixels) */\n\tvar wch = -1;\n\tif(col.MDW) MDW = col.MDW;\n\tif(col.width != null) p.customWidth = 1;\n\telse if(col.wpx != null) wch = px2char(col.wpx);\n\telse if(col.wch != null) wch = col.wch;\n\tif(wch > -1) { p.width = char2width(wch); p.customWidth = 1; }\n\telse if(col.width != null) p.width = col.width;\n\tif(col.hidden) p.hidden = true;\n\treturn p;\n}\n\nfunction default_margins(margins, mode) {\n\tif(!margins) return;\n\tvar defs = [0.7, 0.7, 0.75, 0.75, 0.3, 0.3];\n\tif(mode == 'xlml') defs = [1, 1, 1, 1, 0.5, 0.5];\n\tif(margins.left == null) margins.left = defs[0];\n\tif(margins.right == null) margins.right = defs[1];\n\tif(margins.top == null) margins.top = defs[2];\n\tif(margins.bottom == null) margins.bottom = defs[3];\n\tif(margins.header == null) margins.header = defs[4];\n\tif(margins.footer == null) margins.footer = defs[5];\n}\n\nfunction get_cell_style(styles, cell, opts) {\n\tvar z = opts.revssf[cell.z != null ? cell.z : \"General\"];\n\tvar i = 0x3c, len = styles.length;\n\tif(z == null && opts.ssf) {\n\t\tfor(; i < 0x188; ++i) if(opts.ssf[i] == null) {\n\t\t\tSSF.load(cell.z, i);\n\t\t\t// $FlowIgnore\n\t\t\topts.ssf[i] = cell.z;\n\t\t\topts.revssf[cell.z] = z = i;\n\t\t\tbreak;\n\t\t}\n\t}\n\tfor(i = 0; i != len; ++i) if(styles[i].numFmtId === z) return i;\n\tstyles[len] = {\n\t\tnumFmtId:z,\n\t\tfontId:0,\n\t\tfillId:0,\n\t\tborderId:0,\n\t\txfId:0,\n\t\tapplyNumberFormat:1\n\t};\n\treturn len;\n}\n\nfunction safe_format(p, fmtid, fillid, opts, themes, styles) {\n\ttry {\n\t\tif(opts.cellNF) p.z = SSF._table[fmtid];\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(p.t === 'z') return;\n\tif(p.t === 'd' && typeof p.v === 'string') p.v = parseDate(p.v);\n\tif(!opts || opts.cellText !== false) try {\n\t\tif(SSF._table[fmtid] == null) SSF.load(SSFImplicit[fmtid] || \"General\", fmtid);\n\t\tif(p.t === 'e') p.w = p.w || BErr[p.v];\n\t\telse if(fmtid === 0) {\n\t\t\tif(p.t === 'n') {\n\t\t\t\tif((p.v|0) === p.v) p.w = SSF._general_int(p.v);\n\t\t\t\telse p.w = SSF._general_num(p.v);\n\t\t\t}\n\t\t\telse if(p.t === 'd') {\n\t\t\t\tvar dd = datenum(p.v);\n\t\t\t\tif((dd|0) === dd) p.w = SSF._general_int(dd);\n\t\t\t\telse p.w = SSF._general_num(dd);\n\t\t\t}\n\t\t\telse if(p.v === undefined) return \"\";\n\t\t\telse p.w = SSF._general(p.v,_ssfopts);\n\t\t}\n\t\telse if(p.t === 'd') p.w = SSF.format(fmtid,datenum(p.v),_ssfopts);\n\t\telse p.w = SSF.format(fmtid,p.v,_ssfopts);\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(!opts.cellStyles) return;\n\tif(fillid != null) try {\n\t\tp.s = styles.Fills[fillid];\n\t\tif (p.s.fgColor && p.s.fgColor.theme && !p.s.fgColor.rgb) {\n\t\t\tp.s.fgColor.rgb = rgb_tint(themes.themeElements.clrScheme[p.s.fgColor.theme].rgb, p.s.fgColor.tint || 0);\n\t\t\tif(opts.WTF) p.s.fgColor.raw_rgb = themes.themeElements.clrScheme[p.s.fgColor.theme].rgb;\n\t\t}\n\t\tif (p.s.bgColor && p.s.bgColor.theme) {\n\t\t\tp.s.bgColor.rgb = rgb_tint(themes.themeElements.clrScheme[p.s.bgColor.theme].rgb, p.s.bgColor.tint || 0);\n\t\t\tif(opts.WTF) p.s.bgColor.raw_rgb = themes.themeElements.clrScheme[p.s.bgColor.theme].rgb;\n\t\t}\n\t} catch(e) { if(opts.WTF && styles.Fills) throw e; }\n}\n\nfunction check_ws(ws, sname, i) {\n\tif(ws && ws['!ref']) {\n\t\tvar range = safe_decode_range(ws['!ref']);\n\t\tif(range.e.c < range.s.c || range.e.r < range.s.r) throw new Error(\"Bad range (\" + i + \"): \" + ws['!ref']);\n\t}\n}\nfunction parse_ws_xml_dim(ws, s) {\n\tvar d = safe_decode_range(s);\n\tif(d.s.r<=d.e.r && d.s.c<=d.e.c && d.s.r>=0 && d.s.c>=0) ws[\"!ref\"] = encode_range(d);\n}\nvar mergecregex = /<(?:\\w:)?mergeCell ref=\"[A-Z0-9:]+\"\\s*[\\/]?>/g;\nvar sheetdataregex = /<(?:\\w+:)?sheetData[^>]*>([\\s\\S]*)<\\/(?:\\w+:)?sheetData>/;\nvar hlinkregex = /<(?:\\w:)?hyperlink [^>]*>/mg;\nvar dimregex = /\"(\\w*:\\w*)\"/;\nvar colregex = /<(?:\\w:)?col\\b[^>]*[\\/]?>/g;\nvar afregex = /<(?:\\w:)?autoFilter[^>]*([\\/]|>([\\s\\S]*)<\\/(?:\\w:)?autoFilter)>/g;\nvar marginregex= /<(?:\\w:)?pageMargins[^>]*\\/>/g;\nvar sheetprregex = /<(?:\\w:)?sheetPr\\b(?:[^>a-z][^>]*)?\\/>/;\nvar svsregex = /<(?:\\w:)?sheetViews[^>]*(?:[\\/]|>([\\s\\S]*)<\\/(?:\\w:)?sheetViews)>/;\n\n/* 18.3 Worksheets */\nfunction parse_ws_xml(data, opts, idx, rels, wb, themes, styles) {\n\tif(!data) return data;\n\tif(!rels) rels = {'!id':{}};\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\n\t/* 18.3.1.99 worksheet CT_Worksheet */\n\tvar s = opts.dense ? ([]) : ({});\n\tvar refguess = ({s: {r:2000000, c:2000000}, e: {r:0, c:0} });\n\n\tvar data1 = \"\", data2 = \"\";\n\tvar mtch = data.match(sheetdataregex);\n\tif(mtch) {\n\t\tdata1 = data.slice(0, mtch.index);\n\t\tdata2 = data.slice(mtch.index + mtch[0].length);\n\t} else data1 = data2 = data;\n\n\t/* 18.3.1.82 sheetPr CT_SheetPr */\n\tvar sheetPr = data1.match(sheetprregex);\n\tif(sheetPr) parse_ws_xml_sheetpr(sheetPr[0], s, wb, idx);\n\n\t/* 18.3.1.35 dimension CT_SheetDimension */\n\tvar ridx = (data1.match(/<(?:\\w*:)?dimension/)||{index:-1}).index;\n\tif(ridx > 0) {\n\t\tvar ref = data1.slice(ridx,ridx+50).match(dimregex);\n\t\tif(ref) parse_ws_xml_dim(s, ref[1]);\n\t}\n\n\t/* 18.3.1.88 sheetViews CT_SheetViews */\n\tvar svs = data1.match(svsregex);\n\tif(svs && svs[1]) parse_ws_xml_sheetviews(svs[1], wb);\n\n\t/* 18.3.1.17 cols CT_Cols */\n\tvar columns = [];\n\tif(opts.cellStyles) {\n\t\t/* 18.3.1.13 col CT_Col */\n\t\tvar cols = data1.match(colregex);\n\t\tif(cols) parse_ws_xml_cols(columns, cols);\n\t}\n\n\t/* 18.3.1.80 sheetData CT_SheetData ? */\n\tif(mtch) parse_ws_xml_data(mtch[1], s, opts, refguess, themes, styles);\n\n\t/* 18.3.1.2 autoFilter CT_AutoFilter */\n\tvar afilter = data2.match(afregex);\n\tif(afilter) s['!autofilter'] = parse_ws_xml_autofilter(afilter[0]);\n\n\t/* 18.3.1.55 mergeCells CT_MergeCells */\n\tvar merges = [];\n\tvar _merge = data2.match(mergecregex);\n\tif(_merge) for(ridx = 0; ridx != _merge.length; ++ridx)\n\t\tmerges[ridx] = safe_decode_range(_merge[ridx].slice(_merge[ridx].indexOf(\"\\\"\")+1));\n\n\t/* 18.3.1.48 hyperlinks CT_Hyperlinks */\n\tvar hlink = data2.match(hlinkregex);\n\tif(hlink) parse_ws_xml_hlinks(s, hlink, rels);\n\n\t/* 18.3.1.62 pageMargins CT_PageMargins */\n\tvar margins = data2.match(marginregex);\n\tif(margins) s['!margins'] = parse_ws_xml_margins(parsexmltag(margins[0]));\n\n\tif(!s[\"!ref\"] && refguess.e.c >= refguess.s.c && refguess.e.r >= refguess.s.r) s[\"!ref\"] = encode_range(refguess);\n\tif(opts.sheetRows > 0 && s[\"!ref\"]) {\n\t\tvar tmpref = safe_decode_range(s[\"!ref\"]);\n\t\tif(opts.sheetRows <= +tmpref.e.r) {\n\t\t\ttmpref.e.r = opts.sheetRows - 1;\n\t\t\tif(tmpref.e.r > refguess.e.r) tmpref.e.r = refguess.e.r;\n\t\t\tif(tmpref.e.r < tmpref.s.r) tmpref.s.r = tmpref.e.r;\n\t\t\tif(tmpref.e.c > refguess.e.c) tmpref.e.c = refguess.e.c;\n\t\t\tif(tmpref.e.c < tmpref.s.c) tmpref.s.c = tmpref.e.c;\n\t\t\ts[\"!fullref\"] = s[\"!ref\"];\n\t\t\ts[\"!ref\"] = encode_range(tmpref);\n\t\t}\n\t}\n\tif(columns.length > 0) s[\"!cols\"] = columns;\n\tif(merges.length > 0) s[\"!merges\"] = merges;\n\treturn s;\n}\n\nfunction write_ws_xml_merges(merges) {\n\tif(merges.length === 0) return \"\";\n\tvar o = '';\n\tfor(var i = 0; i != merges.length; ++i) o += '';\n\treturn o + '';\n}\n\n/* 18.3.1.82-3 sheetPr CT_ChartsheetPr / CT_SheetPr */\nfunction parse_ws_xml_sheetpr(sheetPr, s, wb, idx) {\n\tvar data = parsexmltag(sheetPr);\n\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\tif(data.codeName) wb.Sheets[idx].CodeName = data.codeName;\n}\nfunction write_ws_xml_sheetpr(ws, wb, idx, opts, o) {\n\tvar needed = false;\n\tvar props = {}, payload = null;\n\tif(opts.bookType !== 'xlsx' && wb.vbaraw) {\n\t\tvar cname = wb.SheetNames[idx];\n\t\ttry { if(wb.Workbook) cname = wb.Workbook.Sheets[idx].CodeName || cname; } catch(e) {}\n\t\tneeded = true;\n\t\tprops.codeName = escapexml(cname);\n\t}\n\n\tif(!needed && !payload) return;\n\to[o.length] = (writextag('sheetPr', payload, props));\n}\n\n/* 18.3.1.85 sheetProtection CT_SheetProtection */\nvar sheetprot_deffalse = [\"objects\", \"scenarios\", \"selectLockedCells\", \"selectUnlockedCells\"];\nvar sheetprot_deftrue = [\n\t\"formatColumns\", \"formatRows\", \"formatCells\",\n\t\"insertColumns\", \"insertRows\", \"insertHyperlinks\",\n\t\"deleteColumns\", \"deleteRows\",\n\t\"sort\", \"autoFilter\", \"pivotTables\"\n];\nfunction write_ws_xml_protection(sp) {\n\t// algorithmName, hashValue, saltValue, spinCountpassword\n\tvar o = ({sheet:1});\n\tsheetprot_deffalse.forEach(function(n) { if(sp[n] != null && sp[n]) o[n] = \"1\"; });\n\tsheetprot_deftrue.forEach(function(n) { if(sp[n] != null && !sp[n]) o[n] = \"0\"; });\n\t/* TODO: algorithm */\n\tif(sp.password) o.password = crypto_CreatePasswordVerifier_Method1(sp.password).toString(16).toUpperCase();\n\treturn writextag('sheetProtection', null, o);\n}\n\nfunction parse_ws_xml_hlinks(s, data, rels) {\n\tvar dense = Array.isArray(s);\n\tfor(var i = 0; i != data.length; ++i) {\n\t\tvar val = parsexmltag(utf8read(data[i]), true);\n\t\tif(!val.ref) return;\n\t\tvar rel = ((rels || {})['!id']||[])[val.id];\n\t\tif(rel) {\n\t\t\tval.Target = rel.Target;\n\t\t\tif(val.location) val.Target += \"#\"+val.location;\n\t\t} else {\n\t\t\tval.Target = \"#\" + val.location;\n\t\t\trel = {Target: val.Target, TargetMode: 'Internal'};\n\t\t}\n\t\tval.Rel = rel;\n\t\tif(val.tooltip) { val.Tooltip = val.tooltip; delete val.tooltip; }\n\t\tvar rng = safe_decode_range(val.ref);\n\t\tfor(var R=rng.s.r;R<=rng.e.r;++R) for(var C=rng.s.c;C<=rng.e.c;++C) {\n\t\t\tvar addr = encode_cell({c:C,r:R});\n\t\t\tif(dense) {\n\t\t\t\tif(!s[R]) s[R] = [];\n\t\t\t\tif(!s[R][C]) s[R][C] = {t:\"z\",v:undefined};\n\t\t\t\ts[R][C].l = val;\n\t\t\t} else {\n\t\t\t\tif(!s[addr]) s[addr] = {t:\"z\",v:undefined};\n\t\t\t\ts[addr].l = val;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction parse_ws_xml_margins(margin) {\n\tvar o = {};\n\t[\"left\", \"right\", \"top\", \"bottom\", \"header\", \"footer\"].forEach(function(k) {\n\t\tif(margin[k]) o[k] = parseFloat(margin[k]);\n\t});\n\treturn o;\n}\nfunction write_ws_xml_margins(margin) {\n\tdefault_margins(margin);\n\treturn writextag('pageMargins', null, margin);\n}\n\nfunction parse_ws_xml_cols(columns, cols) {\n\tvar seencol = false;\n\tfor(var coli = 0; coli != cols.length; ++coli) {\n\t\tvar coll = parsexmltag(cols[coli], true);\n\t\tif(coll.hidden) coll.hidden = parsexmlbool(coll.hidden);\n\t\tvar colm=parseInt(coll.min, 10)-1, colM=parseInt(coll.max,10)-1;\n\t\tdelete coll.min; delete coll.max; coll.width = +coll.width;\n\t\tif(!seencol && coll.width) { seencol = true; find_mdw_colw(coll.width); }\n\t\tprocess_col(coll);\n\t\twhile(colm <= colM) columns[colm++] = dup(coll);\n\t}\n}\nfunction write_ws_xml_cols(ws, cols) {\n\tvar o = [\"\"], col;\n\tfor(var i = 0; i != cols.length; ++i) {\n\t\tif(!(col = cols[i])) continue;\n\t\to[o.length] = (writextag('col', null, col_obj_w(i, col)));\n\t}\n\to[o.length] = \"\";\n\treturn o.join(\"\");\n}\n\nfunction parse_ws_xml_autofilter(data) {\n\tvar o = { ref: (data.match(/ref=\"([^\"]*)\"/)||[])[1]};\n\treturn o;\n}\nfunction write_ws_xml_autofilter(data, ws, wb, idx) {\n\tvar ref = typeof data.ref == \"string\" ? data.ref : encode_range(data.ref);\n\tif(!wb.Workbook) wb.Workbook = ({Sheets:[]});\n\tif(!wb.Workbook.Names) wb.Workbook.Names = [];\n\tvar names = wb.Workbook.Names;\n\tvar range = decode_range(ref);\n\tif(range.s.r == range.e.r) { range.e.r = decode_range(ws[\"!ref\"]).e.r; ref = encode_range(range); }\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar name = names[i];\n\t\tif(name.Name != '_xlnm._FilterDatabase') continue;\n\t\tif(name.Sheet != idx) continue;\n\t\tname.Ref = \"'\" + wb.SheetNames[idx] + \"'!\" + ref; break;\n\t}\n\tif(i == names.length) names.push({ Name: '_xlnm._FilterDatabase', Sheet: idx, Ref: \"'\" + wb.SheetNames[idx] + \"'!\" + ref });\n\treturn writextag(\"autoFilter\", null, {ref:ref});\n}\n\n/* 18.3.1.88 sheetViews CT_SheetViews */\n/* 18.3.1.87 sheetView CT_SheetView */\nvar sviewregex = /<(?:\\w:)?sheetView(?:[^>a-z][^>]*)?\\/?>/;\nfunction parse_ws_xml_sheetviews(data, wb) {\n\tif(!wb.Views) wb.Views = [{}];\n\t(data.match(sviewregex)||[]).forEach(function(r, i) {\n\t\tvar tag = parsexmltag(r);\n\t\t// $FlowIgnore\n\t\tif(!wb.Views[i]) wb.Views[i] = {};\n\t\t// $FlowIgnore\n\t\tif(parsexmlbool(tag.rightToLeft)) wb.Views[i].RTL = true;\n\t});\n}\nfunction write_ws_xml_sheetviews(ws, opts, idx, wb) {\n\tvar sview = ({workbookViewId:\"0\"});\n\t// $FlowIgnore\n\tif((((wb||{}).Workbook||{}).Views||[])[0]) sview.rightToLeft = wb.Workbook.Views[0].RTL ? \"1\" : \"0\";\n\treturn writextag(\"sheetViews\", writextag(\"sheetView\", null, sview), {});\n}\n\nfunction write_ws_xml_cell(cell, ref, ws, opts) {\n\tif(cell.v === undefined && typeof cell.f !== \"string\" || cell.t === 'z') return \"\";\n\tvar vv = \"\";\n\tvar oldt = cell.t, oldv = cell.v;\n\tif(cell.t !== \"z\") switch(cell.t) {\n\t\tcase 'b': vv = cell.v ? \"1\" : \"0\"; break;\n\t\tcase 'n': vv = ''+cell.v; break;\n\t\tcase 'e': vv = BErr[cell.v]; break;\n\t\tcase 'd':\n\t\t\tif(opts && opts.cellDates) vv = parseDate(cell.v, -1).toISOString();\n\t\t\telse {\n\t\t\t\tcell = dup(cell);\n\t\t\t\tcell.t = 'n';\n\t\t\t\tvv = ''+(cell.v = datenum(parseDate(cell.v)));\n\t\t\t}\n\t\t\tif(typeof cell.z === 'undefined') cell.z = SSF._table[14];\n\t\t\tbreak;\n\t\tdefault: vv = cell.v; break;\n\t}\n\tvar v = writetag('v', escapexml(vv)), o = ({r:ref});\n\t/* TODO: cell style */\n\tvar os = get_cell_style(opts.cellXfs, cell, opts);\n\tif(os !== 0) o.s = os;\n\tswitch(cell.t) {\n\t\tcase 'n': break;\n\t\tcase 'd': o.t = \"d\"; break;\n\t\tcase 'b': o.t = \"b\"; break;\n\t\tcase 'e': o.t = \"e\"; break;\n\t\tcase 'z': break;\n\t\tdefault: if(cell.v == null) { delete cell.t; break; }\n\t\t\tif(opts && opts.bookSST) {\n\t\t\t\tv = writetag('v', ''+get_sst_id(opts.Strings, cell.v, opts.revStrings));\n\t\t\t\to.t = \"s\"; break;\n\t\t\t}\n\t\t\to.t = \"str\"; break;\n\t}\n\tif(cell.t != oldt) { cell.t = oldt; cell.v = oldv; }\n\tif(typeof cell.f == \"string\" && cell.f) {\n\t\tvar ff = cell.F && cell.F.slice(0, ref.length) == ref ? {t:\"array\", ref:cell.F} : null;\n\t\tv = writextag('f', escapexml(cell.f), ff) + (cell.v != null ? v : \"\");\n\t}\n\tif(cell.l) ws['!links'].push([ref, cell.l]);\n\tif(cell.c) ws['!comments'].push([ref, cell.c]);\n\treturn writextag('c', v, o);\n}\n\nvar parse_ws_xml_data = (function() {\n\tvar cellregex = /<(?:\\w+:)?c[ >]/, rowregex = /<\\/(?:\\w+:)?row>/;\n\tvar rregex = /r=[\"']([^\"']*)[\"']/, isregex = /<(?:\\w+:)?is>([\\S\\s]*?)<\\/(?:\\w+:)?is>/;\n\tvar refregex = /ref=[\"']([^\"']*)[\"']/;\n\tvar match_v = matchtag(\"v\"), match_f = matchtag(\"f\");\n\nreturn function parse_ws_xml_data(sdata, s, opts, guess, themes, styles) {\n\tvar ri = 0, x = \"\", cells = [], cref = [], idx=0, i=0, cc=0, d=\"\", p;\n\tvar tag, tagr = 0, tagc = 0;\n\tvar sstr, ftag;\n\tvar fmtid = 0, fillid = 0;\n\tvar do_format = Array.isArray(styles.CellXf), cf;\n\tvar arrayf = [];\n\tvar sharedf = [];\n\tvar dense = Array.isArray(s);\n\tvar rows = [], rowobj = {}, rowrite = false;\n\tfor(var marr = sdata.split(rowregex), mt = 0, marrlen = marr.length; mt != marrlen; ++mt) {\n\t\tx = marr[mt].trim();\n\t\tvar xlen = x.length;\n\t\tif(xlen === 0) continue;\n\n\t\t/* 18.3.1.73 row CT_Row */\n\t\tfor(ri = 0; ri < xlen; ++ri) if(x.charCodeAt(ri) === 62) break; ++ri;\n\t\ttag = parsexmltag(x.slice(0,ri), true);\n\t\ttagr = tag.r != null ? parseInt(tag.r, 10) : tagr+1; tagc = -1;\n\t\tif(opts.sheetRows && opts.sheetRows < tagr) continue;\n\t\tif(guess.s.r > tagr - 1) guess.s.r = tagr - 1;\n\t\tif(guess.e.r < tagr - 1) guess.e.r = tagr - 1;\n\n\t\tif(opts && opts.cellStyles) {\n\t\t\trowobj = {}; rowrite = false;\n\t\t\tif(tag.ht) { rowrite = true; rowobj.hpt = parseFloat(tag.ht); rowobj.hpx = pt2px(rowobj.hpt); }\n\t\t\tif(tag.hidden == \"1\") { rowrite = true; rowobj.hidden = true; }\n\t\t\tif(tag.outlineLevel != null) { rowrite = true; rowobj.level = +tag.outlineLevel; }\n\t\t\tif(rowrite) rows[tagr-1] = rowobj;\n\t\t}\n\n\t\t/* 18.3.1.4 c CT_Cell */\n\t\tcells = x.slice(ri).split(cellregex);\n\t\tfor(var rslice = 0; rslice != cells.length; ++rslice) if(cells[rslice].trim().charAt(0) != \"<\") break;\n\t\tcells = cells.slice(rslice);\n\t\tfor(ri = 0; ri != cells.length; ++ri) {\n\t\t\tx = cells[ri].trim();\n\t\t\tif(x.length === 0) continue;\n\t\t\tcref = x.match(rregex); idx = ri; i=0; cc=0;\n\t\t\tx = \"\":\"\") + x;\n\t\t\tif(cref != null && cref.length === 2) {\n\t\t\t\tidx = 0; d=cref[1];\n\t\t\t\tfor(i=0; i != d.length; ++i) {\n\t\t\t\t\tif((cc=d.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\t\t\t\tidx = 26*idx + cc;\n\t\t\t\t}\n\t\t\t\t--idx;\n\t\t\t\ttagc = idx;\n\t\t\t} else ++tagc;\n\t\t\tfor(i = 0; i != x.length; ++i) if(x.charCodeAt(i) === 62) break; ++i;\n\t\t\ttag = parsexmltag(x.slice(0,i), true);\n\t\t\tif(!tag.r) tag.r = encode_cell({r:tagr-1, c:tagc});\n\t\t\td = x.slice(i);\n\t\t\tp = ({t:\"\"});\n\n\t\t\tif((cref=d.match(match_v))!= null && cref[1] !== '') p.v=unescapexml(cref[1]);\n\t\t\tif(opts.cellFormula) {\n\t\t\t\tif((cref=d.match(match_f))!= null && cref[1] !== '') {\n\t\t\t\t\t/* TODO: match against XLSXFutureFunctions */\n\t\t\t\t\tp.f=unescapexml(utf8read(cref[1]));\n\t\t\t\t\tif(!opts.xlfn) p.f = _xlfn(p.f);\n\t\t\t\t\tif(cref[0].indexOf('t=\"array\"') > -1) {\n\t\t\t\t\t\tp.F = (d.match(refregex)||[])[1];\n\t\t\t\t\t\tif(p.F.indexOf(\":\") > -1) arrayf.push([safe_decode_range(p.F), p.F]);\n\t\t\t\t\t} else if(cref[0].indexOf('t=\"shared\"') > -1) {\n\t\t\t\t\t\t// TODO: parse formula\n\t\t\t\t\t\tftag = parsexmltag(cref[0]);\n\t\t\t\t\t\tvar ___f = unescapexml(utf8read(cref[1]));\n\t\t\t\t\t\tif(!opts.xlfn) ___f = _xlfn(___f);\n\t\t\t\t\t\tsharedf[parseInt(ftag.si, 10)] = [ftag, ___f, tag.r];\n\t\t\t\t\t}\n\t\t\t\t} else if((cref=d.match(/]*\\/>/))) {\n\t\t\t\t\tftag = parsexmltag(cref[0]);\n\t\t\t\t\tif(sharedf[ftag.si]) p.f = shift_formula_xlsx(sharedf[ftag.si][1], sharedf[ftag.si][2]/*[0].ref*/, tag.r);\n\t\t\t\t}\n\t\t\t\t/* TODO: factor out contains logic */\n\t\t\t\tvar _tag = decode_cell(tag.r);\n\t\t\t\tfor(i = 0; i < arrayf.length; ++i)\n\t\t\t\t\tif(_tag.r >= arrayf[i][0].s.r && _tag.r <= arrayf[i][0].e.r)\n\t\t\t\t\t\tif(_tag.c >= arrayf[i][0].s.c && _tag.c <= arrayf[i][0].e.c)\n\t\t\t\t\t\t\tp.F = arrayf[i][1];\n\t\t\t}\n\n\t\t\tif(tag.t == null && p.v === undefined) {\n\t\t\t\tif(p.f || p.F) {\n\t\t\t\t\tp.v = 0; p.t = \"n\";\n\t\t\t\t} else if(!opts.sheetStubs) continue;\n\t\t\t\telse p.t = \"z\";\n\t\t\t}\n\t\t\telse p.t = tag.t || \"n\";\n\t\t\tif(guess.s.c > tagc) guess.s.c = tagc;\n\t\t\tif(guess.e.c < tagc) guess.e.c = tagc;\n\t\t\t/* 18.18.11 t ST_CellType */\n\t\t\tswitch(p.t) {\n\t\t\t\tcase 'n':\n\t\t\t\t\tif(p.v == \"\" || p.v == null) {\n\t\t\t\t\t\tif(!opts.sheetStubs) continue;\n\t\t\t\t\t\tp.t = 'z';\n\t\t\t\t\t} else p.v = parseFloat(p.v);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 's':\n\t\t\t\t\tif(typeof p.v == 'undefined') {\n\t\t\t\t\t\tif(!opts.sheetStubs) continue;\n\t\t\t\t\t\tp.t = 'z';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsstr = strs[parseInt(p.v, 10)];\n\t\t\t\t\t\tp.v = sstr.t;\n\t\t\t\t\t\tp.r = sstr.r;\n\t\t\t\t\t\tif(opts.cellHTML) p.h = sstr.h;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'str':\n\t\t\t\t\tp.t = \"s\";\n\t\t\t\t\tp.v = (p.v!=null) ? utf8read(p.v) : '';\n\t\t\t\t\tif(opts.cellHTML) p.h = escapehtml(p.v);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'inlineStr':\n\t\t\t\t\tcref = d.match(isregex);\n\t\t\t\t\tp.t = 's';\n\t\t\t\t\tif(cref != null && (sstr = parse_si(cref[1]))) {\n\t\t\t\t\t\tp.v = sstr.t;\n\t\t\t\t\t\tif(opts.cellHTML) p.h = sstr.h;\n\t\t\t\t\t} else p.v = \"\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'b': p.v = parsexmlbool(p.v); break;\n\t\t\t\tcase 'd':\n\t\t\t\t\tif(opts.cellDates) p.v = parseDate(p.v, 1);\n\t\t\t\t\telse { p.v = datenum(parseDate(p.v, 1)); p.t = 'n'; }\n\t\t\t\t\tbreak;\n\t\t\t\t/* error string in .w, number in .v */\n\t\t\t\tcase 'e':\n\t\t\t\t\tif(!opts || opts.cellText !== false) p.w = p.v;\n\t\t\t\t\tp.v = RBErr[p.v]; break;\n\t\t\t}\n\t\t\t/* formatting */\n\t\t\tfmtid = fillid = 0;\n\t\t\tcf = null;\n\t\t\tif(do_format && tag.s !== undefined) {\n\t\t\t\tcf = styles.CellXf[tag.s];\n\t\t\t\tif(cf != null) {\n\t\t\t\t\tif(cf.numFmtId != null) fmtid = cf.numFmtId;\n\t\t\t\t\tif(opts.cellStyles) {\n\t\t\t\t\t\tif(cf.fillId != null) fillid = cf.fillId;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tsafe_format(p, fmtid, fillid, opts, themes, styles);\n\t\t\tif(opts.cellDates && do_format && p.t == 'n' && SSF.is_date(SSF._table[fmtid])) { p.t = 'd'; p.v = numdate(p.v); }\n\t\t\tif(dense) {\n\t\t\t\tvar _r = decode_cell(tag.r);\n\t\t\t\tif(!s[_r.r]) s[_r.r] = [];\n\t\t\t\ts[_r.r][_r.c] = p;\n\t\t\t} else s[tag.r] = p;\n\t\t}\n\t}\n\tif(rows.length > 0) s['!rows'] = rows;\n}; })();\n\nfunction write_ws_xml_data(ws, opts, idx, wb) {\n\tvar o = [], r = [], range = safe_decode_range(ws['!ref']), cell=\"\", ref, rr = \"\", cols = [], R=0, C=0, rows = ws['!rows'];\n\tvar dense = Array.isArray(ws);\n\tvar params = ({r:rr}), row, height = -1;\n\tfor(C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C);\n\tfor(R = range.s.r; R <= range.e.r; ++R) {\n\t\tr = [];\n\t\trr = encode_row(R);\n\t\tfor(C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tref = cols[C] + rr;\n\t\t\tvar _cell = dense ? (ws[R]||[])[C]: ws[ref];\n\t\t\tif(_cell === undefined) continue;\n\t\t\tif((cell = write_ws_xml_cell(_cell, ref, ws, opts, idx, wb)) != null) r.push(cell);\n\t\t}\n\t\tif(r.length > 0 || (rows && rows[R])) {\n\t\t\tparams = ({r:rr});\n\t\t\tif(rows && rows[R]) {\n\t\t\t\trow = rows[R];\n\t\t\t\tif(row.hidden) params.hidden = 1;\n\t\t\t\theight = -1;\n\t\t\t\tif(row.hpx) height = px2pt(row.hpx);\n\t\t\t\telse if(row.hpt) height = row.hpt;\n\t\t\t\tif(height > -1) { params.ht = height; params.customHeight = 1; }\n\t\t\t\tif(row.level) { params.outlineLevel = row.level; }\n\t\t\t}\n\t\t\to[o.length] = (writextag('row', r.join(\"\"), params));\n\t\t}\n\t}\n\tif(rows) for(; R < rows.length; ++R) {\n\t\tif(rows && rows[R]) {\n\t\t\tparams = ({r:R+1});\n\t\t\trow = rows[R];\n\t\t\tif(row.hidden) params.hidden = 1;\n\t\t\theight = -1;\n\t\t\tif (row.hpx) height = px2pt(row.hpx);\n\t\t\telse if (row.hpt) height = row.hpt;\n\t\t\tif (height > -1) { params.ht = height; params.customHeight = 1; }\n\t\t\tif (row.level) { params.outlineLevel = row.level; }\n\t\t\to[o.length] = (writextag('row', \"\", params));\n\t\t}\n\t}\n\treturn o.join(\"\");\n}\n\nvar WS_XML_ROOT = writextag('worksheet', null, {\n\t'xmlns': XMLNS.main[0],\n\t'xmlns:r': XMLNS.r\n});\n\nfunction write_ws_xml(idx, opts, wb, rels) {\n\tvar o = [XML_HEADER, WS_XML_ROOT];\n\tvar s = wb.SheetNames[idx], sidx = 0, rdata = \"\";\n\tvar ws = wb.Sheets[s];\n\tif(ws == null) ws = {};\n\tvar ref = ws['!ref'] || 'A1';\n\tvar range = safe_decode_range(ref);\n\tif(range.e.c > 0x3FFF || range.e.r > 0xFFFFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + ref + \" exceeds format limit A1:XFD1048576\");\n\t\trange.e.c = Math.min(range.e.c, 0x3FFF);\n\t\trange.e.r = Math.min(range.e.c, 0xFFFFF);\n\t\tref = encode_range(range);\n\t}\n\tif(!rels) rels = {};\n\tws['!comments'] = [];\n\tvar _drawing = [];\n\n\twrite_ws_xml_sheetpr(ws, wb, idx, opts, o);\n\n\to[o.length] = (writextag('dimension', null, {'ref': ref}));\n\n\to[o.length] = write_ws_xml_sheetviews(ws, opts, idx, wb);\n\n\t/* TODO: store in WB, process styles */\n\tif(opts.sheetFormat) o[o.length] = (writextag('sheetFormatPr', null, {\n\t\tdefaultRowHeight:opts.sheetFormat.defaultRowHeight||'16',\n\t\tbaseColWidth:opts.sheetFormat.baseColWidth||'10',\n\t\toutlineLevelRow:opts.sheetFormat.outlineLevelRow||'7'\n\t}));\n\n\tif(ws['!cols'] != null && ws['!cols'].length > 0) o[o.length] = (write_ws_xml_cols(ws, ws['!cols']));\n\n\to[sidx = o.length] = '';\n\tws['!links'] = [];\n\tif(ws['!ref'] != null) {\n\t\trdata = write_ws_xml_data(ws, opts, idx, wb, rels);\n\t\tif(rdata.length > 0) o[o.length] = (rdata);\n\t}\n\tif(o.length>sidx+1) { o[o.length] = (''); o[sidx]=o[sidx].replace(\"/>\",\">\"); }\n\n\t/* sheetCalcPr */\n\n\tif(ws['!protect'] != null) o[o.length] = write_ws_xml_protection(ws['!protect']);\n\n\t/* protectedRanges */\n\t/* scenarios */\n\n\tif(ws['!autofilter'] != null) o[o.length] = write_ws_xml_autofilter(ws['!autofilter'], ws, wb, idx);\n\n\t/* sortState */\n\t/* dataConsolidate */\n\t/* customSheetViews */\n\n\tif(ws['!merges'] != null && ws['!merges'].length > 0) o[o.length] = (write_ws_xml_merges(ws['!merges']));\n\n\t/* phoneticPr */\n\t/* conditionalFormatting */\n\t/* dataValidations */\n\n\tvar relc = -1, rel, rId = -1;\n\tif(ws['!links'].length > 0) {\n\t\to[o.length] = \"\";\nws['!links'].forEach(function(l) {\n\t\t\tif(!l[1].Target) return;\n\t\t\trel = ({\"ref\":l[0]});\n\t\t\tif(l[1].Target.charAt(0) != \"#\") {\n\t\t\t\trId = add_rels(rels, -1, escapexml(l[1].Target).replace(/#.*$/, \"\"), RELS.HLINK);\n\t\t\t\trel[\"r:id\"] = \"rId\"+rId;\n\t\t\t}\n\t\t\tif((relc = l[1].Target.indexOf(\"#\")) > -1) rel.location = escapexml(l[1].Target.slice(relc+1));\n\t\t\tif(l[1].Tooltip) rel.tooltip = escapexml(l[1].Tooltip);\n\t\t\to[o.length] = writextag(\"hyperlink\",null,rel);\n\t\t});\n\t\to[o.length] = \"\";\n\t}\n\tdelete ws['!links'];\n\n\t/* printOptions */\n\n\tif(ws['!margins'] != null) o[o.length] = write_ws_xml_margins(ws['!margins']);\n\n\t/* pageSetup */\n\t/* headerFooter */\n\t/* rowBreaks */\n\t/* colBreaks */\n\t/* customProperties */\n\t/* cellWatches */\n\n\tif(!opts || opts.ignoreEC || (opts.ignoreEC == (void 0))) o[o.length] = writetag(\"ignoredErrors\", writextag(\"ignoredError\", null, {numberStoredAsText:1, sqref:ref}));\n\n\t/* smartTags */\n\n\tif(_drawing.length > 0) {\n\t\trId = add_rels(rels, -1, \"../drawings/drawing\" + (idx+1) + \".xml\", RELS.DRAW);\n\t\to[o.length] = writextag(\"drawing\", null, {\"r:id\":\"rId\" + rId});\n\t\tws['!drawing'] = _drawing;\n\t}\n\n\tif(ws['!comments'].length > 0) {\n\t\trId = add_rels(rels, -1, \"../drawings/vmlDrawing\" + (idx+1) + \".vml\", RELS.VML);\n\t\to[o.length] = writextag(\"legacyDrawing\", null, {\"r:id\":\"rId\" + rId});\n\t\tws['!legacy'] = rId;\n\t}\n\n\t/* legacyDrawingHF */\n\t/* picture */\n\t/* oleObjects */\n\t/* controls */\n\t/* webPublishItems */\n\t/* tableParts */\n\t/* extLst */\n\n\tif(o.length>1) { o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSB] 2.4.726 BrtRowHdr */\nfunction parse_BrtRowHdr(data, length) {\n\tvar z = ({});\n\tvar tgt = data.l + length;\n\tz.r = data.read_shift(4);\n\tdata.l += 4; // TODO: ixfe\n\tvar miyRw = data.read_shift(2);\n\tdata.l += 1; // TODO: top/bot padding\n\tvar flags = data.read_shift(1);\n\tdata.l = tgt;\n\tif(flags & 0x07) z.level = flags & 0x07;\n\tif(flags & 0x10) z.hidden = true;\n\tif(flags & 0x20) z.hpt = miyRw / 20;\n\treturn z;\n}\nfunction write_BrtRowHdr(R, range, ws) {\n\tvar o = new_buf(17+8*16);\n\tvar row = (ws['!rows']||[])[R]||{};\n\to.write_shift(4, R);\n\n\to.write_shift(4, 0); /* TODO: ixfe */\n\n\tvar miyRw = 0x0140;\n\tif(row.hpx) miyRw = px2pt(row.hpx) * 20;\n\telse if(row.hpt) miyRw = row.hpt * 20;\n\to.write_shift(2, miyRw);\n\n\to.write_shift(1, 0); /* top/bot padding */\n\n\tvar flags = 0x0;\n\tif(row.level) flags |= row.level;\n\tif(row.hidden) flags |= 0x10;\n\tif(row.hpx || row.hpt) flags |= 0x20;\n\to.write_shift(1, flags);\n\n\to.write_shift(1, 0); /* phonetic guide */\n\n\t/* [MS-XLSB] 2.5.8 BrtColSpan explains the mechanism */\n\tvar ncolspan = 0, lcs = o.l;\n\to.l += 4;\n\n\tvar caddr = {r:R, c:0};\n\tfor(var i = 0; i < 16; ++i) {\n\t\tif((range.s.c > ((i+1) << 10)) || (range.e.c < (i << 10))) continue;\n\t\tvar first = -1, last = -1;\n\t\tfor(var j = (i<<10); j < ((i+1)<<10); ++j) {\n\t\t\tcaddr.c = j;\n\t\t\tvar cell = Array.isArray(ws) ? (ws[caddr.r]||[])[caddr.c] : ws[encode_cell(caddr)];\n\t\t\tif(cell) { if(first < 0) first = j; last = j; }\n\t\t}\n\t\tif(first < 0) continue;\n\t\t++ncolspan;\n\t\to.write_shift(4, first);\n\t\to.write_shift(4, last);\n\t}\n\n\tvar l = o.l;\n\to.l = lcs;\n\to.write_shift(4, ncolspan);\n\to.l = l;\n\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\nfunction write_row_header(ba, ws, range, R) {\n\tvar o = write_BrtRowHdr(R, range, ws);\n\tif((o.length > 17) || (ws['!rows']||[])[R]) write_record(ba, 'BrtRowHdr', o);\n}\n\n/* [MS-XLSB] 2.4.820 BrtWsDim */\nvar parse_BrtWsDim = parse_UncheckedRfX;\nvar write_BrtWsDim = write_UncheckedRfX;\n\n/* [MS-XLSB] 2.4.821 BrtWsFmtInfo */\nfunction parse_BrtWsFmtInfo() {\n}\n//function write_BrtWsFmtInfo(ws, o) { }\n\n/* [MS-XLSB] 2.4.823 BrtWsProp */\nfunction parse_BrtWsProp(data, length) {\n\tvar z = {};\n\t/* TODO: pull flags */\n\tdata.l += 19;\n\tz.name = parse_XLSBCodeName(data, length - 19);\n\treturn z;\n}\nfunction write_BrtWsProp(str, o) {\n\tif(o == null) o = new_buf(84+4*str.length);\n\tfor(var i = 0; i < 3; ++i) o.write_shift(1,0);\n\twrite_BrtColor({auto:1}, o);\n\to.write_shift(-4,-1);\n\to.write_shift(-4,-1);\n\twrite_XLSBCodeName(str, o);\n\treturn o.slice(0, o.l);\n}\n\n/* [MS-XLSB] 2.4.306 BrtCellBlank */\nfunction parse_BrtCellBlank(data) {\n\tvar cell = parse_XLSBCell(data);\n\treturn [cell];\n}\nfunction write_BrtCellBlank(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\treturn write_XLSBCell(ncell, o);\n}\n\n\n/* [MS-XLSB] 2.4.307 BrtCellBool */\nfunction parse_BrtCellBool(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar fBool = data.read_shift(1);\n\treturn [cell, fBool, 'b'];\n}\nfunction write_BrtCellBool(cell, ncell, o) {\n\tif(o == null) o = new_buf(9);\n\twrite_XLSBCell(ncell, o);\n\to.write_shift(1, cell.v ? 1 : 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.308 BrtCellError */\nfunction parse_BrtCellError(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar bError = data.read_shift(1);\n\treturn [cell, bError, 'e'];\n}\n\n/* [MS-XLSB] 2.4.311 BrtCellIsst */\nfunction parse_BrtCellIsst(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar isst = data.read_shift(4);\n\treturn [cell, isst, 's'];\n}\nfunction write_BrtCellIsst(cell, ncell, o) {\n\tif(o == null) o = new_buf(12);\n\twrite_XLSBCell(ncell, o);\n\to.write_shift(4, ncell.v);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.313 BrtCellReal */\nfunction parse_BrtCellReal(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_Xnum(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtCellReal(cell, ncell, o) {\n\tif(o == null) o = new_buf(16);\n\twrite_XLSBCell(ncell, o);\n\twrite_Xnum(cell.v, o);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.314 BrtCellRk */\nfunction parse_BrtCellRk(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_RkNumber(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtCellRk(cell, ncell, o) {\n\tif(o == null) o = new_buf(12);\n\twrite_XLSBCell(ncell, o);\n\twrite_RkNumber(cell.v, o);\n\treturn o;\n}\n\n\n/* [MS-XLSB] 2.4.317 BrtCellSt */\nfunction parse_BrtCellSt(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_XLWideString(data);\n\treturn [cell, value, 'str'];\n}\nfunction write_BrtCellSt(cell, ncell, o) {\n\tif(o == null) o = new_buf(12 + 4 * cell.v.length);\n\twrite_XLSBCell(ncell, o);\n\twrite_XLWideString(cell.v, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.653 BrtFmlaBool */\nfunction parse_BrtFmlaBool(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = data.read_shift(1);\n\tvar o = [cell, value, 'b'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.654 BrtFmlaError */\nfunction parse_BrtFmlaError(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = data.read_shift(1);\n\tvar o = [cell, value, 'e'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.655 BrtFmlaNum */\nfunction parse_BrtFmlaNum(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = parse_Xnum(data);\n\tvar o = [cell, value, 'n'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.656 BrtFmlaString */\nfunction parse_BrtFmlaString(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = parse_XLWideString(data);\n\tvar o = [cell, value, 'str'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.682 BrtMergeCell */\nvar parse_BrtMergeCell = parse_UncheckedRfX;\nvar write_BrtMergeCell = write_UncheckedRfX;\n/* [MS-XLSB] 2.4.107 BrtBeginMergeCells */\nfunction write_BrtBeginMergeCells(cnt, o) {\n\tif(o == null) o = new_buf(4);\n\to.write_shift(4, cnt);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.662 BrtHLink */\nfunction parse_BrtHLink(data, length) {\n\tvar end = data.l + length;\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tvar relId = parse_XLNullableWideString(data);\n\tvar loc = parse_XLWideString(data);\n\tvar tooltip = parse_XLWideString(data);\n\tvar display = parse_XLWideString(data);\n\tdata.l = end;\n\tvar o = ({rfx:rfx, relId:relId, loc:loc, display:display});\n\tif(tooltip) o.Tooltip = tooltip;\n\treturn o;\n}\nfunction write_BrtHLink(l, rId) {\n\tvar o = new_buf(50+4*(l[1].Target.length + (l[1].Tooltip || \"\").length));\n\twrite_UncheckedRfX({s:decode_cell(l[0]), e:decode_cell(l[0])}, o);\n\twrite_RelID(\"rId\" + rId, o);\n\tvar locidx = l[1].Target.indexOf(\"#\");\n\tvar loc = locidx == -1 ? \"\" : l[1].Target.slice(locidx+1);\n\twrite_XLWideString(loc || \"\", o);\n\twrite_XLWideString(l[1].Tooltip || \"\", o);\n\twrite_XLWideString(\"\", o);\n\treturn o.slice(0, o.l);\n}\n\n/* [MS-XLSB] 2.4.692 BrtPane */\nfunction parse_BrtPane(/*data, length, opts*/) {\n}\n\n/* [MS-XLSB] 2.4.6 BrtArrFmla */\nfunction parse_BrtArrFmla(data, length, opts) {\n\tvar end = data.l + length;\n\tvar rfx = parse_RfX(data, 16);\n\tvar fAlwaysCalc = data.read_shift(1);\n\tvar o = [rfx]; o[2] = fAlwaysCalc;\n\tif(opts.cellFormula) {\n\t\tvar formula = parse_XLSBArrayParsedFormula(data, end - data.l, opts);\n\t\to[1] = formula;\n\t} else data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.750 BrtShrFmla */\nfunction parse_BrtShrFmla(data, length, opts) {\n\tvar end = data.l + length;\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tvar o = [rfx];\n\tif(opts.cellFormula) {\n\t\tvar formula = parse_XLSBSharedParsedFormula(data, end - data.l, opts);\n\t\to[1] = formula;\n\t\tdata.l = end;\n\t} else data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.323 BrtColInfo */\n/* TODO: once XLS ColInfo is set, combine the functions */\nfunction write_BrtColInfo(C, col, o) {\n\tif(o == null) o = new_buf(18);\n\tvar p = col_obj_w(C, col);\n\to.write_shift(-4, C);\n\to.write_shift(-4, C);\n\to.write_shift(4, (p.width || 10) * 256);\n\to.write_shift(4, 0/*ixfe*/); // style\n\tvar flags = 0;\n\tif(col.hidden) flags |= 0x01;\n\tif(typeof p.width == 'number') flags |= 0x02;\n\tif(col.level) flags |= (col.level << 8);\n\to.write_shift(2, flags); // bit flag\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.678 BrtMargins */\nvar BrtMarginKeys = [\"left\",\"right\",\"top\",\"bottom\",\"header\",\"footer\"];\nfunction parse_BrtMargins(data) {\n\tvar margins = ({});\n\tBrtMarginKeys.forEach(function(k) { margins[k] = parse_Xnum(data, 8); });\n\treturn margins;\n}\nfunction write_BrtMargins(margins, o) {\n\tif(o == null) o = new_buf(6*8);\n\tdefault_margins(margins);\n\tBrtMarginKeys.forEach(function(k) { write_Xnum((margins)[k], o); });\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.299 BrtBeginWsView */\nfunction parse_BrtBeginWsView(data) {\n\tvar f = data.read_shift(2);\n\tdata.l += 28;\n\treturn { RTL: f & 0x20 };\n}\nfunction write_BrtBeginWsView(ws, Workbook, o) {\n\tif(o == null) o = new_buf(30);\n\tvar f = 0x39c;\n\tif((((Workbook||{}).Views||[])[0]||{}).RTL) f |= 0x20;\n\to.write_shift(2, f); // bit flag\n\to.write_shift(4, 0);\n\to.write_shift(4, 0); // view first row\n\to.write_shift(4, 0); // view first col\n\to.write_shift(1, 0); // gridline color ICV\n\to.write_shift(1, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 100); // zoom scale\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(4, 0); // workbook view id\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.309 BrtCellIgnoreEC */\nfunction write_BrtCellIgnoreEC(ref) {\n\tvar o = new_buf(24);\n\to.write_shift(4, 4);\n\to.write_shift(4, 1);\n\twrite_UncheckedRfX(ref, o);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.748 BrtSheetProtection */\nfunction write_BrtSheetProtection(sp, o) {\n\tif(o == null) o = new_buf(16*4+2);\n\to.write_shift(2, sp.password ? crypto_CreatePasswordVerifier_Method1(sp.password) : 0);\n\to.write_shift(4, 1); // this record should not be written if no protection\n\t[\n\t\t[\"objects\", false], // fObjects\n\t\t[\"scenarios\", false], // fScenarios\n\t\t[\"formatCells\", true], // fFormatCells\n\t\t[\"formatColumns\", true], // fFormatColumns\n\t\t[\"formatRows\", true], // fFormatRows\n\t\t[\"insertColumns\", true], // fInsertColumns\n\t\t[\"insertRows\", true], // fInsertRows\n\t\t[\"insertHyperlinks\", true], // fInsertHyperlinks\n\t\t[\"deleteColumns\", true], // fDeleteColumns\n\t\t[\"deleteRows\", true], // fDeleteRows\n\t\t[\"selectLockedCells\", false], // fSelLockedCells\n\t\t[\"sort\", true], // fSort\n\t\t[\"autoFilter\", true], // fAutoFilter\n\t\t[\"pivotTables\", true], // fPivotTables\n\t\t[\"selectUnlockedCells\", false] // fSelUnlockedCells\n\t].forEach(function(n) {\nif(n[1]) o.write_shift(4, sp[n[0]] != null && !sp[n[0]] ? 1 : 0);\n\t\telse o.write_shift(4, sp[n[0]] != null && sp[n[0]] ? 0 : 1);\n\t});\n\treturn o;\n}\n\nfunction parse_BrtDVal(/*data, length, opts*/) {\n}\nfunction parse_BrtDVal14(/*data, length, opts*/) {\n}\n/* [MS-XLSB] 2.1.7.61 Worksheet */\nfunction parse_ws_bin(data, _opts, idx, rels, wb, themes, styles) {\n\tif(!data) return data;\n\tvar opts = _opts || {};\n\tif(!rels) rels = {'!id':{}};\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\tvar s = (opts.dense ? [] : {});\n\n\tvar ref;\n\tvar refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\n\tvar state = [];\n\tvar pass = false, end = false;\n\tvar row, p, cf, R, C, addr, sstr, rr, cell;\n\tvar merges = [];\n\topts.biff = 12;\n\topts['!row'] = 0;\n\n\tvar ai = 0, af = false;\n\n\tvar arrayf = [];\n\tvar sharedf = {};\n\tvar supbooks = opts.supbooks || wb.supbooks || ([[]]);\n\tsupbooks.sharedf = sharedf;\n\tsupbooks.arrayf = arrayf;\n\tsupbooks.SheetNames = wb.SheetNames || wb.Sheets.map(function(x) { return x.name; });\n\tif(!opts.supbooks) {\n\t\topts.supbooks = supbooks;\n\t\tif(wb.Names) for(var i = 0; i < wb.Names.length; ++i) supbooks[0][i+1] = wb.Names[i];\n\t}\n\n\tvar colinfo = [], rowinfo = [];\n\tvar seencol = false;\n\n\trecordhopper(data, function ws_parse(val, R_n, RT) {\n\t\tif(end) return;\n\t\tswitch(RT) {\n\t\t\tcase 0x0094: /* 'BrtWsDim' */\n\t\t\t\tref = val; break;\n\t\t\tcase 0x0000: /* 'BrtRowHdr' */\n\t\t\t\trow = val;\n\t\t\t\tif(opts.sheetRows && opts.sheetRows <= row.r) end=true;\n\t\t\t\trr = encode_row(R = row.r);\n\t\t\t\topts['!row'] = row.r;\n\t\t\t\tif(val.hidden || val.hpt || val.level != null) {\n\t\t\t\t\tif(val.hpt) val.hpx = pt2px(val.hpt);\n\t\t\t\t\trowinfo[val.r] = val;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0002: /* 'BrtCellRk' */\n\t\t\tcase 0x0003: /* 'BrtCellError' */\n\t\t\tcase 0x0004: /* 'BrtCellBool' */\n\t\t\tcase 0x0005: /* 'BrtCellReal' */\n\t\t\tcase 0x0006: /* 'BrtCellSt' */\n\t\t\tcase 0x0007: /* 'BrtCellIsst' */\n\t\t\tcase 0x0008: /* 'BrtFmlaString' */\n\t\t\tcase 0x0009: /* 'BrtFmlaNum' */\n\t\t\tcase 0x000A: /* 'BrtFmlaBool' */\n\t\t\tcase 0x000B: /* 'BrtFmlaError' */\n\t\t\t\tp = ({t:val[2]});\n\t\t\t\tswitch(val[2]) {\n\t\t\t\t\tcase 'n': p.v = val[1]; break;\n\t\t\t\t\tcase 's': sstr = strs[val[1]]; p.v = sstr.t; p.r = sstr.r; break;\n\t\t\t\t\tcase 'b': p.v = val[1] ? true : false; break;\n\t\t\t\t\tcase 'e': p.v = val[1]; if(opts.cellText !== false) p.w = BErr[p.v]; break;\n\t\t\t\t\tcase 'str': p.t = 's'; p.v = val[1]; break;\n\t\t\t\t}\n\t\t\t\tif((cf = styles.CellXf[val[0].iStyleRef])) safe_format(p,cf.numFmtId,null,opts, themes, styles);\n\t\t\t\tC = val[0].c;\n\t\t\t\tif(opts.dense) { if(!s[R]) s[R] = []; s[R][C] = p; }\n\t\t\t\telse s[encode_col(C) + rr] = p;\n\t\t\t\tif(opts.cellFormula) {\n\t\t\t\t\taf = false;\n\t\t\t\t\tfor(ai = 0; ai < arrayf.length; ++ai) {\n\t\t\t\t\t\tvar aii = arrayf[ai];\n\t\t\t\t\t\tif(row.r >= aii[0].s.r && row.r <= aii[0].e.r)\n\t\t\t\t\t\t\tif(C >= aii[0].s.c && C <= aii[0].e.c) {\n\t\t\t\t\t\t\t\tp.F = encode_range(aii[0]); af = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(!af && val.length > 3) p.f = val[3];\n\t\t\t\t}\n\t\t\t\tif(refguess.s.r > row.r) refguess.s.r = row.r;\n\t\t\t\tif(refguess.s.c > C) refguess.s.c = C;\n\t\t\t\tif(refguess.e.r < row.r) refguess.e.r = row.r;\n\t\t\t\tif(refguess.e.c < C) refguess.e.c = C;\n\t\t\t\tif(opts.cellDates && cf && p.t == 'n' && SSF.is_date(SSF._table[cf.numFmtId])) {\n\t\t\t\t\tvar _d = SSF.parse_date_code(p.v); if(_d) { p.t = 'd'; p.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0001: /* 'BrtCellBlank' */\n\t\t\t\tif(!opts.sheetStubs || pass) break;\n\t\t\t\tp = ({t:'z',v:undefined});\n\t\t\t\tC = val[0].c;\n\t\t\t\tif(opts.dense) { if(!s[R]) s[R] = []; s[R][C] = p; }\n\t\t\t\telse s[encode_col(C) + rr] = p;\n\t\t\t\tif(refguess.s.r > row.r) refguess.s.r = row.r;\n\t\t\t\tif(refguess.s.c > C) refguess.s.c = C;\n\t\t\t\tif(refguess.e.r < row.r) refguess.e.r = row.r;\n\t\t\t\tif(refguess.e.c < C) refguess.e.c = C;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x00B0: /* 'BrtMergeCell' */\n\t\t\t\tmerges.push(val); break;\n\n\t\t\tcase 0x01EE: /* 'BrtHLink' */\n\t\t\t\tvar rel = rels['!id'][val.relId];\n\t\t\t\tif(rel) {\n\t\t\t\t\tval.Target = rel.Target;\n\t\t\t\t\tif(val.loc) val.Target += \"#\"+val.loc;\n\t\t\t\t\tval.Rel = rel;\n\t\t\t\t} else if(val.relId == '') {\n\t\t\t\t\tval.Target = \"#\" + val.loc;\n\t\t\t\t}\n\t\t\t\tfor(R=val.rfx.s.r;R<=val.rfx.e.r;++R) for(C=val.rfx.s.c;C<=val.rfx.e.c;++C) {\n\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\tif(!s[R]) s[R] = [];\n\t\t\t\t\t\tif(!s[R][C]) s[R][C] = {t:'z',v:undefined};\n\t\t\t\t\t\ts[R][C].l = val;\n\t\t\t\t\t} else {\n\t\t\t\t\t\taddr = encode_cell({c:C,r:R});\n\t\t\t\t\t\tif(!s[addr]) s[addr] = {t:'z',v:undefined};\n\t\t\t\t\t\ts[addr].l = val;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01AA: /* 'BrtArrFmla' */\n\t\t\t\tif(!opts.cellFormula) break;\n\t\t\t\tarrayf.push(val);\n\t\t\t\tcell = ((opts.dense ? s[R][C] : s[encode_col(C) + rr]));\n\t\t\t\tcell.f = stringify_formula(val[1], refguess, {r:row.r, c:C}, supbooks, opts);\n\t\t\t\tcell.F = encode_range(val[0]);\n\t\t\t\tbreak;\n\t\t\tcase 0x01AB: /* 'BrtShrFmla' */\n\t\t\t\tif(!opts.cellFormula) break;\n\t\t\t\tsharedf[encode_cell(val[0].s)] = val[1];\n\t\t\t\tcell = (opts.dense ? s[R][C] : s[encode_col(C) + rr]);\n\t\t\t\tcell.f = stringify_formula(val[1], refguess, {r:row.r, c:C}, supbooks, opts);\n\t\t\t\tbreak;\n\n\t\t\t/* identical to 'ColInfo' in XLS */\n\t\t\tcase 0x003C: /* 'BrtColInfo' */\n\t\t\t\tif(!opts.cellStyles) break;\n\t\t\t\twhile(val.e >= val.s) {\n\t\t\t\t\tcolinfo[val.e--] = { width: val.w/256, hidden: !!(val.flags & 0x01), level: val.level };\n\t\t\t\t\tif(!seencol) { seencol = true; find_mdw_colw(val.w/256); }\n\t\t\t\t\tprocess_col(colinfo[val.e+1]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x00A1: /* 'BrtBeginAFilter' */\n\t\t\t\ts['!autofilter'] = { ref:encode_range(val) };\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01DC: /* 'BrtMargins' */\n\t\t\t\ts['!margins'] = val;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0093: /* 'BrtWsProp' */\n\t\t\t\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\t\t\t\tif(val.name) wb.Sheets[idx].CodeName = val.name;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0089: /* 'BrtBeginWsView' */\n\t\t\t\tif(!wb.Views) wb.Views = [{}];\n\t\t\t\tif(!wb.Views[0]) wb.Views[0] = {};\n\t\t\t\tif(val.RTL) wb.Views[0].RTL = true;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01E5: /* 'BrtWsFmtInfo' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0040: /* 'BrtDVal' */\n\t\t\tcase 0x041D: /* 'BrtDVal14' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0097: /* 'BrtPane' */\n\t\t\t\tbreak;\n\t\t\tcase 0x00AF: /* 'BrtAFilterDateGroupItem' */\n\t\t\tcase 0x0284: /* 'BrtActiveX' */\n\t\t\tcase 0x0271: /* 'BrtBigName' */\n\t\t\tcase 0x0232: /* 'BrtBkHim' */\n\t\t\tcase 0x018C: /* 'BrtBrk' */\n\t\t\tcase 0x0458: /* 'BrtCFIcon' */\n\t\t\tcase 0x047A: /* 'BrtCFRuleExt' */\n\t\t\tcase 0x01D7: /* 'BrtCFVO' */\n\t\t\tcase 0x041A: /* 'BrtCFVO14' */\n\t\t\tcase 0x0289: /* 'BrtCellIgnoreEC' */\n\t\t\tcase 0x0451: /* 'BrtCellIgnoreEC14' */\n\t\t\tcase 0x0031: /* 'BrtCellMeta' */\n\t\t\tcase 0x024D: /* 'BrtCellSmartTagProperty' */\n\t\t\tcase 0x025F: /* 'BrtCellWatch' */\n\t\t\tcase 0x0234: /* 'BrtColor' */\n\t\t\tcase 0x041F: /* 'BrtColor14' */\n\t\t\tcase 0x00A8: /* 'BrtColorFilter' */\n\t\t\tcase 0x00AE: /* 'BrtCustomFilter' */\n\t\t\tcase 0x049C: /* 'BrtCustomFilter14' */\n\t\t\tcase 0x01F3: /* 'BrtDRef' */\n\t\t\tcase 0x01FB: /* 'BrtDXF' */\n\t\t\tcase 0x0226: /* 'BrtDrawing' */\n\t\t\tcase 0x00AB: /* 'BrtDynamicFilter' */\n\t\t\tcase 0x00A7: /* 'BrtFilter' */\n\t\t\tcase 0x0499: /* 'BrtFilter14' */\n\t\t\tcase 0x00A9: /* 'BrtIconFilter' */\n\t\t\tcase 0x049D: /* 'BrtIconFilter14' */\n\t\t\tcase 0x0227: /* 'BrtLegacyDrawing' */\n\t\t\tcase 0x0228: /* 'BrtLegacyDrawingHF' */\n\t\t\tcase 0x0295: /* 'BrtListPart' */\n\t\t\tcase 0x027F: /* 'BrtOleObject' */\n\t\t\tcase 0x01DE: /* 'BrtPageSetup' */\n\t\t\tcase 0x0219: /* 'BrtPhoneticInfo' */\n\t\t\tcase 0x01DD: /* 'BrtPrintOptions' */\n\t\t\tcase 0x0218: /* 'BrtRangeProtection' */\n\t\t\tcase 0x044F: /* 'BrtRangeProtection14' */\n\t\t\tcase 0x02A8: /* 'BrtRangeProtectionIso' */\n\t\t\tcase 0x0450: /* 'BrtRangeProtectionIso14' */\n\t\t\tcase 0x0400: /* 'BrtRwDescent' */\n\t\t\tcase 0x0098: /* 'BrtSel' */\n\t\t\tcase 0x0297: /* 'BrtSheetCalcProp' */\n\t\t\tcase 0x0217: /* 'BrtSheetProtection' */\n\t\t\tcase 0x02A6: /* 'BrtSheetProtectionIso' */\n\t\t\tcase 0x01F8: /* 'BrtSlc' */\n\t\t\tcase 0x0413: /* 'BrtSparkline' */\n\t\t\tcase 0x01AC: /* 'BrtTable' */\n\t\t\tcase 0x00AA: /* 'BrtTop10Filter' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\tcase 0x0032: /* 'BrtValueMeta' */\n\t\t\tcase 0x0816: /* 'BrtWebExtension' */\n\t\t\tcase 0x0415: /* 'BrtWsFmtInfoEx14' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(R_n); pass = true; break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif((R_n||\"\").indexOf(\"Begin\") > 0){/* empty */}\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0){/* empty */}\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t}, opts);\n\n\tdelete opts.supbooks;\n\tdelete opts['!row'];\n\n\tif(!s[\"!ref\"] && (refguess.s.r < 2000000 || ref && (ref.e.r > 0 || ref.e.c > 0 || ref.s.r > 0 || ref.s.c > 0))) s[\"!ref\"] = encode_range(ref || refguess);\n\tif(opts.sheetRows && s[\"!ref\"]) {\n\t\tvar tmpref = safe_decode_range(s[\"!ref\"]);\n\t\tif(opts.sheetRows <= +tmpref.e.r) {\n\t\t\ttmpref.e.r = opts.sheetRows - 1;\n\t\t\tif(tmpref.e.r > refguess.e.r) tmpref.e.r = refguess.e.r;\n\t\t\tif(tmpref.e.r < tmpref.s.r) tmpref.s.r = tmpref.e.r;\n\t\t\tif(tmpref.e.c > refguess.e.c) tmpref.e.c = refguess.e.c;\n\t\t\tif(tmpref.e.c < tmpref.s.c) tmpref.s.c = tmpref.e.c;\n\t\t\ts[\"!fullref\"] = s[\"!ref\"];\n\t\t\ts[\"!ref\"] = encode_range(tmpref);\n\t\t}\n\t}\n\tif(merges.length > 0) s[\"!merges\"] = merges;\n\tif(colinfo.length > 0) s[\"!cols\"] = colinfo;\n\tif(rowinfo.length > 0) s[\"!rows\"] = rowinfo;\n\treturn s;\n}\n\n/* TODO: something useful -- this is a stub */\nfunction write_ws_bin_cell(ba, cell, R, C, opts, ws) {\n\tif(cell.v === undefined) return;\n\tvar vv = \"\";\n\tswitch(cell.t) {\n\t\tcase 'b': vv = cell.v ? \"1\" : \"0\"; break;\n\t\tcase 'd': // no BrtCellDate :(\n\t\t\tcell = dup(cell);\n\t\t\tcell.z = cell.z || SSF._table[14];\n\t\t\tcell.v = datenum(parseDate(cell.v)); cell.t = 'n';\n\t\t\tbreak;\n\t\t/* falls through */\n\t\tcase 'n': case 'e': vv = ''+cell.v; break;\n\t\tdefault: vv = cell.v; break;\n\t}\n\tvar o = ({r:R, c:C});\n\t/* TODO: cell style */\n\to.s = get_cell_style(opts.cellXfs, cell, opts);\n\tif(cell.l) ws['!links'].push([encode_cell(o), cell.l]);\n\tif(cell.c) ws['!comments'].push([encode_cell(o), cell.c]);\n\tswitch(cell.t) {\n\t\tcase 's': case 'str':\n\t\t\tif(opts.bookSST) {\n\t\t\t\tvv = get_sst_id(opts.Strings, (cell.v), opts.revStrings);\n\t\t\t\to.t = \"s\"; o.v = vv;\n\t\t\t\twrite_record(ba, \"BrtCellIsst\", write_BrtCellIsst(cell, o));\n\t\t\t} else {\n\t\t\t\to.t = \"str\";\n\t\t\t\twrite_record(ba, \"BrtCellSt\", write_BrtCellSt(cell, o));\n\t\t\t}\n\t\t\treturn;\n\t\tcase 'n':\n\t\t\t/* TODO: determine threshold for Real vs RK */\n\t\t\tif(cell.v == (cell.v | 0) && cell.v > -1000 && cell.v < 1000) write_record(ba, \"BrtCellRk\", write_BrtCellRk(cell, o));\n\t\t\telse write_record(ba, \"BrtCellReal\", write_BrtCellReal(cell, o));\n\t\t\treturn;\n\t\tcase 'b':\n\t\t\to.t = \"b\";\n\t\t\twrite_record(ba, \"BrtCellBool\", write_BrtCellBool(cell, o));\n\t\t\treturn;\n\t\tcase 'e': /* TODO: error */ o.t = \"e\"; break;\n\t}\n\twrite_record(ba, \"BrtCellBlank\", write_BrtCellBlank(cell, o));\n}\n\nfunction write_CELLTABLE(ba, ws, idx, opts) {\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\"), ref, rr = \"\", cols = [];\n\twrite_record(ba, 'BrtBeginSheetData');\n\tvar dense = Array.isArray(ws);\n\tvar cap = range.e.r;\n\tif(ws['!rows']) cap = Math.max(range.e.r, ws['!rows'].length - 1);\n\tfor(var R = range.s.r; R <= cap; ++R) {\n\t\trr = encode_row(R);\n\t\t/* [ACCELLTABLE] */\n\t\t/* BrtRowHdr */\n\t\twrite_row_header(ba, ws, range, R);\n\t\tif(R <= range.e.r) for(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\t/* *16384CELL */\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) continue;\n\t\t\t/* write cell */\n\t\t\twrite_ws_bin_cell(ba, cell, R, C, opts, ws);\n\t\t}\n\t}\n\twrite_record(ba, 'BrtEndSheetData');\n}\n\nfunction write_MERGECELLS(ba, ws) {\n\tif(!ws || !ws['!merges']) return;\n\twrite_record(ba, 'BrtBeginMergeCells', write_BrtBeginMergeCells(ws['!merges'].length));\n\tws['!merges'].forEach(function(m) { write_record(ba, 'BrtMergeCell', write_BrtMergeCell(m)); });\n\twrite_record(ba, 'BrtEndMergeCells');\n}\n\nfunction write_COLINFOS(ba, ws) {\n\tif(!ws || !ws['!cols']) return;\n\twrite_record(ba, 'BrtBeginColInfos');\n\tws['!cols'].forEach(function(m, i) { if(m) write_record(ba, 'BrtColInfo', write_BrtColInfo(i, m)); });\n\twrite_record(ba, 'BrtEndColInfos');\n}\n\nfunction write_IGNOREECS(ba, ws) {\n\tif(!ws || !ws['!ref']) return;\n\twrite_record(ba, 'BrtBeginCellIgnoreECs');\n\twrite_record(ba, 'BrtCellIgnoreEC', write_BrtCellIgnoreEC(safe_decode_range(ws['!ref'])));\n\twrite_record(ba, 'BrtEndCellIgnoreECs');\n}\n\nfunction write_HLINKS(ba, ws, rels) {\n\t/* *BrtHLink */\n\tws['!links'].forEach(function(l) {\n\t\tif(!l[1].Target) return;\n\t\tvar rId = add_rels(rels, -1, l[1].Target.replace(/#.*$/, \"\"), RELS.HLINK);\n\t\twrite_record(ba, \"BrtHLink\", write_BrtHLink(l, rId));\n\t});\n\tdelete ws['!links'];\n}\nfunction write_LEGACYDRAWING(ba, ws, idx, rels) {\n\t/* [BrtLegacyDrawing] */\n\tif(ws['!comments'].length > 0) {\n\t\tvar rId = add_rels(rels, -1, \"../drawings/vmlDrawing\" + (idx+1) + \".vml\", RELS.VML);\n\t\twrite_record(ba, \"BrtLegacyDrawing\", write_RelID(\"rId\" + rId));\n\t\tws['!legacy'] = rId;\n\t}\n}\n\nfunction write_AUTOFILTER(ba, ws, wb, idx) {\n\tif(!ws['!autofilter']) return;\n\tvar data = ws['!autofilter'];\n\tvar ref = typeof data.ref === \"string\" ? data.ref : encode_range(data.ref);\n\n\t/* Update FilterDatabase defined name for the worksheet */\n\tif(!wb.Workbook) wb.Workbook = ({Sheets:[]});\n\tif(!wb.Workbook.Names) wb.Workbook.Names = [];\n\tvar names = wb.Workbook.Names;\n\tvar range = decode_range(ref);\n\tif(range.s.r == range.e.r) { range.e.r = decode_range(ws[\"!ref\"]).e.r; ref = encode_range(range); }\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar name = names[i];\n\t\tif(name.Name != '_xlnm._FilterDatabase') continue;\n\t\tif(name.Sheet != idx) continue;\n\t\tname.Ref = \"'\" + wb.SheetNames[idx] + \"'!\" + ref; break;\n\t}\n\tif(i == names.length) names.push({ Name: '_xlnm._FilterDatabase', Sheet: idx, Ref: \"'\" + wb.SheetNames[idx] + \"'!\" + ref });\n\n\twrite_record(ba, \"BrtBeginAFilter\", write_UncheckedRfX(safe_decode_range(ref)));\n\t/* *FILTERCOLUMN */\n\t/* [SORTSTATE] */\n\t/* BrtEndAFilter */\n\twrite_record(ba, \"BrtEndAFilter\");\n}\n\nfunction write_WSVIEWS2(ba, ws, Workbook) {\n\twrite_record(ba, \"BrtBeginWsViews\");\n\t{ /* 1*WSVIEW2 */\n\t\t/* [ACUID] */\n\t\twrite_record(ba, \"BrtBeginWsView\", write_BrtBeginWsView(ws, Workbook));\n\t\t/* [BrtPane] */\n\t\t/* *4BrtSel */\n\t\t/* *4SXSELECT */\n\t\t/* *FRT */\n\t\twrite_record(ba, \"BrtEndWsView\");\n\t}\n\t/* *FRT */\n\twrite_record(ba, \"BrtEndWsViews\");\n}\n\nfunction write_WSFMTINFO() {\n\t/* [ACWSFMTINFO] */\n\t//write_record(ba, \"BrtWsFmtInfo\", write_BrtWsFmtInfo(ws));\n}\n\nfunction write_SHEETPROTECT(ba, ws) {\n\tif(!ws['!protect']) return;\n\t/* [BrtSheetProtectionIso] */\n\twrite_record(ba, \"BrtSheetProtection\", write_BrtSheetProtection(ws['!protect']));\n}\n\nfunction write_ws_bin(idx, opts, wb, rels) {\n\tvar ba = buf_array();\n\tvar s = wb.SheetNames[idx], ws = wb.Sheets[s] || {};\n\tvar c = s; try { if(wb && wb.Workbook) c = wb.Workbook.Sheets[idx].CodeName || c; } catch(e) {}\n\tvar r = safe_decode_range(ws['!ref'] || \"A1\");\n\tif(r.e.c > 0x3FFF || r.e.r > 0xFFFFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:XFD1048576\");\n\t\tr.e.c = Math.min(r.e.c, 0x3FFF);\n\t\tr.e.r = Math.min(r.e.c, 0xFFFFF);\n\t}\n\tws['!links'] = [];\n\t/* passed back to write_zip and removed there */\n\tws['!comments'] = [];\n\twrite_record(ba, \"BrtBeginSheet\");\n\tif(wb.vbaraw) write_record(ba, \"BrtWsProp\", write_BrtWsProp(c));\n\twrite_record(ba, \"BrtWsDim\", write_BrtWsDim(r));\n\twrite_WSVIEWS2(ba, ws, wb.Workbook);\n\twrite_WSFMTINFO(ba, ws);\n\twrite_COLINFOS(ba, ws, idx, opts, wb);\n\twrite_CELLTABLE(ba, ws, idx, opts, wb);\n\t/* [BrtSheetCalcProp] */\n\twrite_SHEETPROTECT(ba, ws);\n\t/* *([BrtRangeProtectionIso] BrtRangeProtection) */\n\t/* [SCENMAN] */\n\twrite_AUTOFILTER(ba, ws, wb, idx);\n\t/* [SORTSTATE] */\n\t/* [DCON] */\n\t/* [USERSHVIEWS] */\n\twrite_MERGECELLS(ba, ws);\n\t/* [BrtPhoneticInfo] */\n\t/* *CONDITIONALFORMATTING */\n\t/* [DVALS] */\n\twrite_HLINKS(ba, ws, rels);\n\t/* [BrtPrintOptions] */\n\tif(ws['!margins']) write_record(ba, \"BrtMargins\", write_BrtMargins(ws['!margins']));\n\t/* [BrtPageSetup] */\n\t/* [HEADERFOOTER] */\n\t/* [RWBRK] */\n\t/* [COLBRK] */\n\t/* *BrtBigName */\n\t/* [CELLWATCHES] */\n\tif(!opts || opts.ignoreEC || (opts.ignoreEC == (void 0))) write_IGNOREECS(ba, ws);\n\t/* [SMARTTAGS] */\n\t/* [BrtDrawing] */\n\twrite_LEGACYDRAWING(ba, ws, idx, rels);\n\t/* [BrtLegacyDrawingHF] */\n\t/* [BrtBkHim] */\n\t/* [OLEOBJECTS] */\n\t/* [ACTIVEXCONTROLS] */\n\t/* [WEBPUBITEMS] */\n\t/* [LISTPARTS] */\n\t/* FRTWORKSHEET */\n\twrite_record(ba, \"BrtEndSheet\");\n\treturn ba.end();\n}\nRELS.CHART = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart\";\nRELS.CHARTEX = \"http://schemas.microsoft.com/office/2014/relationships/chartEx\";\n\nfunction parse_Cache(data) {\n\tvar col = [];\n\tvar num = data.match(/^/);\n\tvar f;\n\n\t/* 21.2.2.150 pt CT_NumVal */\n\t(data.match(/(.*?)<\\/c:pt>/mg)||[]).forEach(function(pt) {\n\t\tvar q = pt.match(/(.*)<\\/c:v><\\/c:pt>/);\n\t\tif(!q) return;\n\t\tcol[+q[1]] = num ? +q[2] : q[2];\n\t});\n\n\t/* 21.2.2.71 formatCode CT_Xstring */\n\tvar nf = unescapexml((data.match(/([\\s\\S]*?)<\\/c:formatCode>/) || [\"\",\"General\"])[1]);\n\n\t(data.match(/(.*?)<\\/c:f>/mg)||[]).forEach(function(F) { f = F.replace(/<.*?>/g,\"\"); });\n\n\treturn [col, nf, f];\n}\n\n/* 21.2 DrawingML - Charts */\nfunction parse_chart(data, name, opts, rels, wb, csheet) {\n\tvar cs = ((csheet || {\"!type\":\"chart\"}));\n\tif(!data) return csheet;\n\t/* 21.2.2.27 chart CT_Chart */\n\n\tvar C = 0, R = 0, col = \"A\";\n\tvar refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\n\t/* 21.2.2.120 numCache CT_NumData */\n\t(data.match(/[\\s\\S]*?<\\/c:numCache>/gm)||[]).forEach(function(nc) {\n\t\tvar cache = parse_Cache(nc);\n\t\trefguess.s.r = refguess.s.c = 0;\n\t\trefguess.e.c = C;\n\t\tcol = encode_col(C);\n\t\tcache[0].forEach(function(n,i) {\n\t\t\tcs[col + encode_row(i)] = {t:'n', v:n, z:cache[1] };\n\t\t\tR = i;\n\t\t});\n\t\tif(refguess.e.r < R) refguess.e.r = R;\n\t\t++C;\n\t});\n\tif(C > 0) cs[\"!ref\"] = encode_range(refguess);\n\treturn cs;\n}\nRELS.CS = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet\";\n\nvar CS_XML_ROOT = writextag('chartsheet', null, {\n\t'xmlns': XMLNS.main[0],\n\t'xmlns:r': XMLNS.r\n});\n\n/* 18.3 Worksheets also covers Chartsheets */\nfunction parse_cs_xml(data, opts, idx, rels, wb) {\n\tif(!data) return data;\n\t/* 18.3.1.12 chartsheet CT_ChartSheet */\n\tif(!rels) rels = {'!id':{}};\n\tvar s = ({'!type':\"chart\", '!drawel':null, '!rel':\"\"});\n\tvar m;\n\n\t/* 18.3.1.83 sheetPr CT_ChartsheetPr */\n\tvar sheetPr = data.match(sheetprregex);\n\tif(sheetPr) parse_ws_xml_sheetpr(sheetPr[0], s, wb, idx);\n\n\t/* 18.3.1.36 drawing CT_Drawing */\n\tif((m = data.match(/drawing r:id=\"(.*?)\"/))) s['!rel'] = m[1];\n\n\tif(rels['!id'][s['!rel']]) s['!drawel'] = rels['!id'][s['!rel']];\n\treturn s;\n}\nfunction write_cs_xml(idx, opts, wb, rels) {\n\tvar o = [XML_HEADER, CS_XML_ROOT];\n\to[o.length] = writextag(\"drawing\", null, {\"r:id\": \"rId1\"});\n\tadd_rels(rels, -1, \"../drawings/drawing\" + (idx+1) + \".xml\", RELS.DRAW);\n\tif(o.length>2) { o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSB] 2.4.331 BrtCsProp */\nfunction parse_BrtCsProp(data, length) {\n\tdata.l += 10;\n\tvar name = parse_XLWideString(data, length - 10);\n\treturn { name: name };\n}\n\n/* [MS-XLSB] 2.1.7.7 Chart Sheet */\nfunction parse_cs_bin(data, opts, idx, rels, wb) {\n\tif(!data) return data;\n\tif(!rels) rels = {'!id':{}};\n\tvar s = {'!type':\"chart\", '!drawel':null, '!rel':\"\"};\n\tvar state = [];\n\tvar pass = false;\n\trecordhopper(data, function cs_parse(val, R_n, RT) {\n\t\tswitch(RT) {\n\n\t\t\tcase 0x0226: /* 'BrtDrawing' */\n\t\t\t\ts['!rel'] = val; break;\n\n\t\t\tcase 0x028B: /* 'BrtCsProp' */\n\t\t\t\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\t\t\t\tif(val.name) wb.Sheets[idx].CodeName = val.name;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0232: /* 'BrtBkHim' */\n\t\t\tcase 0x028C: /* 'BrtCsPageSetup' */\n\t\t\tcase 0x029D: /* 'BrtCsProtection' */\n\t\t\tcase 0x02A7: /* 'BrtCsProtectionIso' */\n\t\t\tcase 0x0227: /* 'BrtLegacyDrawing' */\n\t\t\tcase 0x0228: /* 'BrtLegacyDrawingHF' */\n\t\t\tcase 0x01DC: /* 'BrtMargins' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(R_n); break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); break;\n\n\t\t\tdefault:\n\t\t\t\tif((R_n||\"\").indexOf(\"Begin\") > 0) state.push(R_n);\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0) state.pop();\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t}, opts);\n\n\tif(rels['!id'][s['!rel']]) s['!drawel'] = rels['!id'][s['!rel']];\n\treturn s;\n}\nfunction write_cs_bin() {\n\tvar ba = buf_array();\n\twrite_record(ba, \"BrtBeginSheet\");\n\t/* [BrtCsProp] */\n\t/* CSVIEWS */\n\t/* [[BrtCsProtectionIso] BrtCsProtection] */\n\t/* [USERCSVIEWS] */\n\t/* [BrtMargins] */\n\t/* [BrtCsPageSetup] */\n\t/* [HEADERFOOTER] */\n\t/* BrtDrawing */\n\t/* [BrtLegacyDrawing] */\n\t/* [BrtLegacyDrawingHF] */\n\t/* [BrtBkHim] */\n\t/* [WEBPUBITEMS] */\n\t/* FRTCHARTSHEET */\n\twrite_record(ba, \"BrtEndSheet\");\n\treturn ba.end();\n}\n/* 18.2.28 (CT_WorkbookProtection) Defaults */\nvar WBPropsDef = [\n\t['allowRefreshQuery', false, \"bool\"],\n\t['autoCompressPictures', true, \"bool\"],\n\t['backupFile', false, \"bool\"],\n\t['checkCompatibility', false, \"bool\"],\n\t['CodeName', ''],\n\t['date1904', false, \"bool\"],\n\t['defaultThemeVersion', 0, \"int\"],\n\t['filterPrivacy', false, \"bool\"],\n\t['hidePivotFieldList', false, \"bool\"],\n\t['promptedSolutions', false, \"bool\"],\n\t['publishItems', false, \"bool\"],\n\t['refreshAllConnections', false, \"bool\"],\n\t['saveExternalLinkValues', true, \"bool\"],\n\t['showBorderUnselectedTables', true, \"bool\"],\n\t['showInkAnnotation', true, \"bool\"],\n\t['showObjects', 'all'],\n\t['showPivotChartFilter', false, \"bool\"],\n\t['updateLinks', 'userSet']\n];\n\n/* 18.2.30 (CT_BookView) Defaults */\nvar WBViewDef = [\n\t['activeTab', 0, \"int\"],\n\t['autoFilterDateGrouping', true, \"bool\"],\n\t['firstSheet', 0, \"int\"],\n\t['minimized', false, \"bool\"],\n\t['showHorizontalScroll', true, \"bool\"],\n\t['showSheetTabs', true, \"bool\"],\n\t['showVerticalScroll', true, \"bool\"],\n\t['tabRatio', 600, \"int\"],\n\t['visibility', 'visible']\n\t//window{Height,Width}, {x,y}Window\n];\n\n/* 18.2.19 (CT_Sheet) Defaults */\nvar SheetDef = [\n\t//['state', 'visible']\n];\n\n/* 18.2.2 (CT_CalcPr) Defaults */\nvar CalcPrDef = [\n\t['calcCompleted', 'true'],\n\t['calcMode', 'auto'],\n\t['calcOnSave', 'true'],\n\t['concurrentCalc', 'true'],\n\t['fullCalcOnLoad', 'false'],\n\t['fullPrecision', 'true'],\n\t['iterate', 'false'],\n\t['iterateCount', '100'],\n\t['iterateDelta', '0.001'],\n\t['refMode', 'A1']\n];\n\n/* 18.2.3 (CT_CustomWorkbookView) Defaults */\n/*var CustomWBViewDef = [\n\t['autoUpdate', 'false'],\n\t['changesSavedWin', 'false'],\n\t['includeHiddenRowCol', 'true'],\n\t['includePrintSettings', 'true'],\n\t['maximized', 'false'],\n\t['minimized', 'false'],\n\t['onlySync', 'false'],\n\t['personalView', 'false'],\n\t['showComments', 'commIndicator'],\n\t['showFormulaBar', 'true'],\n\t['showHorizontalScroll', 'true'],\n\t['showObjects', 'all'],\n\t['showSheetTabs', 'true'],\n\t['showStatusbar', 'true'],\n\t['showVerticalScroll', 'true'],\n\t['tabRatio', '600'],\n\t['xWindow', '0'],\n\t['yWindow', '0']\n];*/\n\nfunction push_defaults_array(target, defaults) {\n\tfor(var j = 0; j != target.length; ++j) { var w = target[j];\n\t\tfor(var i=0; i != defaults.length; ++i) { var z = defaults[i];\n\t\t\tif(w[z[0]] == null) w[z[0]] = z[1];\n\t\t\telse switch(z[2]) {\n\t\t\tcase \"bool\": if(typeof w[z[0]] == \"string\") w[z[0]] = parsexmlbool(w[z[0]]); break;\n\t\t\tcase \"int\": if(typeof w[z[0]] == \"string\") w[z[0]] = parseInt(w[z[0]], 10); break;\n\t\t\t}\n\t\t}\n\t}\n}\nfunction push_defaults(target, defaults) {\n\tfor(var i = 0; i != defaults.length; ++i) { var z = defaults[i];\n\t\tif(target[z[0]] == null) target[z[0]] = z[1];\n\t\telse switch(z[2]) {\n\t\t\tcase \"bool\": if(typeof target[z[0]] == \"string\") target[z[0]] = parsexmlbool(target[z[0]]); break;\n\t\t\tcase \"int\": if(typeof target[z[0]] == \"string\") target[z[0]] = parseInt(target[z[0]], 10); break;\n\t\t}\n\t}\n}\n\nfunction parse_wb_defaults(wb) {\n\tpush_defaults(wb.WBProps, WBPropsDef);\n\tpush_defaults(wb.CalcPr, CalcPrDef);\n\n\tpush_defaults_array(wb.WBView, WBViewDef);\n\tpush_defaults_array(wb.Sheets, SheetDef);\n\n\t_ssfopts.date1904 = parsexmlbool(wb.WBProps.date1904);\n}\n\nfunction safe1904(wb) {\n\t/* TODO: store date1904 somewhere else */\n\tif(!wb.Workbook) return \"false\";\n\tif(!wb.Workbook.WBProps) return \"false\";\n\treturn parsexmlbool(wb.Workbook.WBProps.date1904) ? \"true\" : \"false\";\n}\n\nvar badchars = \"][*?\\/\\\\\".split(\"\");\nfunction check_ws_name(n, safe) {\n\tif(n.length > 31) { if(safe) return false; throw new Error(\"Sheet names cannot exceed 31 chars\"); }\n\tvar _good = true;\n\tbadchars.forEach(function(c) {\n\t\tif(n.indexOf(c) == -1) return;\n\t\tif(!safe) throw new Error(\"Sheet name cannot contain : \\\\ / ? * [ ]\");\n\t\t_good = false;\n\t});\n\treturn _good;\n}\nfunction check_wb_names(N, S, codes) {\n\tN.forEach(function(n,i) {\n\t\tcheck_ws_name(n);\n\t\tfor(var j = 0; j < i; ++j) if(n == N[j]) throw new Error(\"Duplicate Sheet Name: \" + n);\n\t\tif(codes) {\n\t\t\tvar cn = (S && S[i] && S[i].CodeName) || n;\n\t\t\tif(cn.charCodeAt(0) == 95 && cn.length > 22) throw new Error(\"Bad Code Name: Worksheet\" + cn);\n\t\t}\n\t});\n}\nfunction check_wb(wb) {\n\tif(!wb || !wb.SheetNames || !wb.Sheets) throw new Error(\"Invalid Workbook\");\n\tif(!wb.SheetNames.length) throw new Error(\"Workbook is empty\");\n\tvar Sheets = (wb.Workbook && wb.Workbook.Sheets) || [];\n\tcheck_wb_names(wb.SheetNames, Sheets, !!wb.vbaraw);\n\tfor(var i = 0; i < wb.SheetNames.length; ++i) check_ws(wb.Sheets[wb.SheetNames[i]], wb.SheetNames[i], i);\n\t/* TODO: validate workbook */\n}\n/* 18.2 Workbook */\nvar wbnsregex = /<\\w+:workbook/;\nfunction parse_wb_xml(data, opts) {\n\tif(!data) throw new Error(\"Could not find file\");\n\tvar wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, Names:[], xmlns: \"\" };\n\tvar pass = false, xmlns = \"xmlns\";\n\tvar dname = {}, dnstart = 0;\n\tdata.replace(tagregex, function xml_wb(x, idx) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.13 fileVersion CT_FileVersion ? */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.2.12 fileSharing CT_FileSharing ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.28 workbookPr CT_WorkbookPr ? */\n\t\t\tcase '':\n\t\t\t\tWBPropsDef.forEach(function(w) {\n\t\t\t\t\tif(y[w[0]] == null) return;\n\t\t\t\t\tswitch(w[2]) {\n\t\t\t\t\t\tcase \"bool\": wb.WBProps[w[0]] = parsexmlbool(y[w[0]]); break;\n\t\t\t\t\t\tcase \"int\": wb.WBProps[w[0]] = parseInt(y[w[0]], 10); break;\n\t\t\t\t\t\tdefault: wb.WBProps[w[0]] = y[w[0]];\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif(y.codeName) wb.WBProps.CodeName = utf8read(y.codeName);\n\t\t\t\tbreak;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.29 workbookProtection CT_WorkbookProtection ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.1 bookViews CT_BookViews ? */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.30 workbookView CT_BookView + */\n\t\t\tcase '': delete y[0]; wb.WBView.push(y); break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.20 sheets CT_Sheets 1 */\n\t\t\tcase '': case '': break; // aggregate sheet\n\t\t\t/* 18.2.19 sheet CT_Sheet + */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.15 functionGroups CT_FunctionGroups ? */\n\t\t\tcase '': break;\n\t\t\t/* 18.2.14 functionGroup CT_FunctionGroup + */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.8 externalReference CT_ExternalReference + */\n\t\t\tcase '': break;\n\t\t\tcase '': case '': pass=false; break;\n\t\t\t/* 18.2.5 definedName CT_DefinedName + */\n\t\t\tcase '': {\n\t\t\t\tdname.Ref = unescapexml(utf8read(data.slice(dnstart, idx)));\n\t\t\t\twb.Names.push(dname);\n\t\t\t} break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.2 calcPr CT_CalcPr ? */\n\t\t\tcase '': delete y[0]; wb.CalcPr = y; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.16 oleSize CT_OleSize ? (ref required) */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.2.18 pivotCaches CT_PivotCaches ? */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.2.23 smartTagTypes CT_SmartTagTypes ? */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.22 smartTagType CT_SmartTagType ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.11 fileRecoveryPr CT_FileRecoveryPr ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.26 webPublishObjects CT_WebPublishObjects ? */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.25 webPublishObject CT_WebPublishObject ? */\n\t\t\tcase '': case '': case '': break;\n\t\t\t/* 18.2.7 ext CT_Extension + */\n\t\t\tcase '': pass=false; break;\n\n\t\t\t/* Others */\n\t\t\tcase '': pass=true; break;\n\t\t\tcase '': pass=false; break;\n\n\t\t\t/* TODO */\n\t\t\tcase ' 0);\n\n\t/* fileVersion */\n\t/* fileSharing */\n\n\tvar workbookPr = ({codeName:\"ThisWorkbook\"});\n\tif(wb.Workbook && wb.Workbook.WBProps) {\n\t\tWBPropsDef.forEach(function(x) {\nif((wb.Workbook.WBProps[x[0]]) == null) return;\n\t\t\tif((wb.Workbook.WBProps[x[0]]) == x[1]) return;\n\t\t\tworkbookPr[x[0]] = (wb.Workbook.WBProps[x[0]]);\n\t\t});\nif(wb.Workbook.WBProps.CodeName) { workbookPr.codeName = wb.Workbook.WBProps.CodeName; delete workbookPr.CodeName; }\n\t}\n\to[o.length] = (writextag('workbookPr', null, workbookPr));\n\n\t/* workbookProtection */\n\n\tvar sheets = wb.Workbook && wb.Workbook.Sheets || [];\n\tvar i = 0;\n\n\t/* bookViews only written if first worksheet is hidden */\n\tif(sheets && sheets[0] && !!sheets[0].Hidden) {\n\t\to[o.length] = \"\";\n\t\tfor(i = 0; i != wb.SheetNames.length; ++i) {\n\t\t\tif(!sheets[i]) break;\n\t\t\tif(!sheets[i].Hidden) break;\n\t\t}\n\t\tif(i == wb.SheetNames.length) i = 0;\n\t\to[o.length] = '';\n\t\to[o.length] = \"\";\n\t}\n\n\to[o.length] = \"\";\n\tfor(i = 0; i != wb.SheetNames.length; ++i) {\n\t\tvar sht = ({name:escapexml(wb.SheetNames[i].slice(0,31))});\n\t\tsht.sheetId = \"\"+(i+1);\n\t\tsht[\"r:id\"] = \"rId\"+(i+1);\n\t\tif(sheets[i]) switch(sheets[i].Hidden) {\n\t\t\tcase 1: sht.state = \"hidden\"; break;\n\t\t\tcase 2: sht.state = \"veryHidden\"; break;\n\t\t}\n\t\to[o.length] = (writextag('sheet',null,sht));\n\t}\n\to[o.length] = \"\";\n\n\t/* functionGroups */\n\t/* externalReferences */\n\n\tif(write_names) {\n\t\to[o.length] = \"\";\n\t\tif(wb.Workbook && wb.Workbook.Names) wb.Workbook.Names.forEach(function(n) {\n\t\t\tvar d = {name:n.Name};\n\t\t\tif(n.Comment) d.comment = n.Comment;\n\t\t\tif(n.Sheet != null) d.localSheetId = \"\"+n.Sheet;\n\t\t\tif(n.Hidden) d.hidden = \"1\";\n\t\t\tif(!n.Ref) return;\n\t\t\to[o.length] = writextag('definedName', escapexml(n.Ref), d);\n\t\t});\n\t\to[o.length] = \"\";\n\t}\n\n\t/* calcPr */\n\t/* oleSize */\n\t/* customWorkbookViews */\n\t/* pivotCaches */\n\t/* smartTagPr */\n\t/* smartTagTypes */\n\t/* webPublishing */\n\t/* fileRecoveryPr */\n\t/* webPublishObjects */\n\t/* extLst */\n\n\tif(o.length>2){ o[o.length] = ''; o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.304 BrtBundleSh */\nfunction parse_BrtBundleSh(data, length) {\n\tvar z = {};\n\tz.Hidden = data.read_shift(4); //hsState ST_SheetState\n\tz.iTabID = data.read_shift(4);\n\tz.strRelID = parse_RelID(data,length-8);\n\tz.name = parse_XLWideString(data);\n\treturn z;\n}\nfunction write_BrtBundleSh(data, o) {\n\tif(!o) o = new_buf(127);\n\to.write_shift(4, data.Hidden);\n\to.write_shift(4, data.iTabID);\n\twrite_RelID(data.strRelID, o);\n\twrite_XLWideString(data.name.slice(0,31), o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.815 BrtWbProp */\nfunction parse_BrtWbProp(data, length) {\n\tvar o = ({});\n\tvar flags = data.read_shift(4);\n\to.defaultThemeVersion = data.read_shift(4);\n\tvar strName = (length > 8) ? parse_XLWideString(data) : \"\";\n\tif(strName.length > 0) o.CodeName = strName;\n\to.autoCompressPictures = !!(flags & 0x10000);\n\to.backupFile = !!(flags & 0x40);\n\to.checkCompatibility = !!(flags & 0x1000);\n\to.date1904 = !!(flags & 0x01);\n\to.filterPrivacy = !!(flags & 0x08);\n\to.hidePivotFieldList = !!(flags & 0x400);\n\to.promptedSolutions = !!(flags & 0x10);\n\to.publishItems = !!(flags & 0x800);\n\to.refreshAllConnections = !!(flags & 0x40000);\n\to.saveExternalLinkValues = !!(flags & 0x80);\n\to.showBorderUnselectedTables = !!(flags & 0x04);\n\to.showInkAnnotation = !!(flags & 0x20);\n\to.showObjects = [\"all\", \"placeholders\", \"none\"][(flags >> 13) & 0x03];\n\to.showPivotChartFilter = !!(flags & 0x8000);\n\to.updateLinks = [\"userSet\", \"never\", \"always\"][(flags >> 8) & 0x03];\n\treturn o;\n}\nfunction write_BrtWbProp(data, o) {\n\tif(!o) o = new_buf(72);\n\tvar flags = 0;\n\tif(data) {\n\t\t/* TODO: mirror parse_BrtWbProp fields */\n\t\tif(data.filterPrivacy) flags |= 0x08;\n\t}\n\to.write_shift(4, flags);\n\to.write_shift(4, 0);\n\twrite_XLSBCodeName(data && data.CodeName || \"ThisWorkbook\", o);\n\treturn o.slice(0, o.l);\n}\n\nfunction parse_BrtFRTArchID$(data, length) {\n\tvar o = {};\n\tdata.read_shift(4);\n\to.ArchID = data.read_shift(4);\n\tdata.l += length - 8;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.687 BrtName */\nfunction parse_BrtName(data, length, opts) {\n\tvar end = data.l + length;\n\tdata.l += 4; //var flags = data.read_shift(4);\n\tdata.l += 1; //var chKey = data.read_shift(1);\n\tvar itab = data.read_shift(4);\n\tvar name = parse_XLNameWideString(data);\n\tvar formula = parse_XLSBNameParsedFormula(data, 0, opts);\n\tvar comment = parse_XLNullableWideString(data);\n\t//if(0 /* fProc */) {\n\t\t// unusedstring1: XLNullableWideString\n\t\t// description: XLNullableWideString\n\t\t// helpTopic: XLNullableWideString\n\t\t// unusedstring2: XLNullableWideString\n\t//}\n\tdata.l = end;\n\tvar out = ({Name:name, Ptg:formula});\n\tif(itab < 0xFFFFFFF) out.Sheet = itab;\n\tif(comment) out.Comment = comment;\n\treturn out;\n}\n\n/* [MS-XLSB] 2.1.7.61 Workbook */\nfunction parse_wb_bin(data, opts) {\n\tvar wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, xmlns: \"\" };\n\tvar state = [];\n\tvar pass = false;\n\n\tif(!opts) opts = {};\n\topts.biff = 12;\n\n\tvar Names = [];\n\tvar supbooks = ([[]]);\n\tsupbooks.SheetNames = [];\n\tsupbooks.XTI = [];\n\n\trecordhopper(data, function hopper_wb(val, R_n, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x009C: /* 'BrtBundleSh' */\n\t\t\t\tsupbooks.SheetNames.push(val.name);\n\t\t\t\twb.Sheets.push(val); break;\n\n\t\t\tcase 0x0099: /* 'BrtWbProp' */\n\t\t\t\twb.WBProps = val; break;\n\n\t\t\tcase 0x0027: /* 'BrtName' */\n\t\t\t\tif(val.Sheet != null) opts.SID = val.Sheet;\n\t\t\t\tval.Ref = stringify_formula(val.Ptg, null, null, supbooks, opts);\n\t\t\t\tdelete opts.SID;\n\t\t\t\tdelete val.Ptg;\n\t\t\t\tNames.push(val);\n\t\t\t\tbreak;\n\t\t\tcase 0x040C: /* 'BrtNameExt' */ break;\n\n\t\t\tcase 0x0165: /* 'BrtSupSelf' */\n\t\t\tcase 0x0166: /* 'BrtSupSame' */\n\t\t\tcase 0x0163: /* 'BrtSupBookSrc' */\n\t\t\tcase 0x029B: /* 'BrtSupAddin' */\n\t\t\t\tif(!supbooks[0].length) supbooks[0] = [RT, val];\n\t\t\t\telse supbooks.push([RT, val]);\n\t\t\t\tsupbooks[supbooks.length - 1].XTI = [];\n\t\t\t\tbreak;\n\t\t\tcase 0x016A: /* 'BrtExternSheet' */\n\t\t\t\tif(supbooks.length === 0) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\tsupbooks[supbooks.length - 1].XTI = supbooks[supbooks.length - 1].XTI.concat(val);\n\t\t\t\tsupbooks.XTI = supbooks.XTI.concat(val);\n\t\t\t\tbreak;\n\t\t\tcase 0x0169: /* 'BrtPlaceholderName' */\n\t\t\t\tbreak;\n\n\t\t\t/* case 'BrtModelTimeGroupingCalcCol' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\tcase 0x0C01: /* 'BrtRevisionPtr' */\n\t\t\tcase 0x0817: /* 'BrtAbsPath15' */\n\t\t\tcase 0x0216: /* 'BrtBookProtection' */\n\t\t\tcase 0x02A5: /* 'BrtBookProtectionIso' */\n\t\t\tcase 0x009E: /* 'BrtBookView' */\n\t\t\tcase 0x009D: /* 'BrtCalcProp' */\n\t\t\tcase 0x0262: /* 'BrtCrashRecErr' */\n\t\t\tcase 0x0802: /* 'BrtDecoupledPivotCacheID' */\n\t\t\tcase 0x009B: /* 'BrtFileRecover' */\n\t\t\tcase 0x0224: /* 'BrtFileSharing' */\n\t\t\tcase 0x02A4: /* 'BrtFileSharingIso' */\n\t\t\tcase 0x0080: /* 'BrtFileVersion' */\n\t\t\tcase 0x0299: /* 'BrtFnGroup' */\n\t\t\tcase 0x0850: /* 'BrtModelRelationship' */\n\t\t\tcase 0x084D: /* 'BrtModelTable' */\n\t\t\tcase 0x0225: /* 'BrtOleSize' */\n\t\t\tcase 0x0805: /* 'BrtPivotTableRef' */\n\t\t\tcase 0x0254: /* 'BrtSmartTagType' */\n\t\t\tcase 0x081C: /* 'BrtTableSlicerCacheID' */\n\t\t\tcase 0x081B: /* 'BrtTableSlicerCacheIDs' */\n\t\t\tcase 0x0822: /* 'BrtTimelineCachePivotCacheID' */\n\t\t\tcase 0x018D: /* 'BrtUserBookView' */\n\t\t\tcase 0x009A: /* 'BrtWbFactoid' */\n\t\t\tcase 0x045D: /* 'BrtWbProp14' */\n\t\t\tcase 0x0229: /* 'BrtWebOpt' */\n\t\t\tcase 0x082B: /* 'BrtWorkBookPr15' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tstate.push(R_n); pass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(R_n); pass = true; break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\n\t\t\tcase 0x0010: /* 'BrtFRTArchID$' */ break;\n\n\t\t\tdefault:\n\t\t\t\tif((R_n||\"\").indexOf(\"Begin\") > 0){/* empty */}\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0){/* empty */}\n\t\t\t\telse if(!pass || (opts.WTF && state[state.length-1] != \"BrtACBegin\" && state[state.length-1] != \"BrtFRTBegin\")) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t}, opts);\n\n\tparse_wb_defaults(wb);\n\n\t// $FlowIgnore\n\twb.Names = Names;\n\n\t(wb).supbooks = supbooks;\n\treturn wb;\n}\n\nfunction write_BUNDLESHS(ba, wb) {\n\twrite_record(ba, \"BrtBeginBundleShs\");\n\tfor(var idx = 0; idx != wb.SheetNames.length; ++idx) {\n\t\tvar viz = wb.Workbook && wb.Workbook.Sheets && wb.Workbook.Sheets[idx] && wb.Workbook.Sheets[idx].Hidden || 0;\n\t\tvar d = { Hidden: viz, iTabID: idx+1, strRelID: 'rId' + (idx+1), name: wb.SheetNames[idx] };\n\t\twrite_record(ba, \"BrtBundleSh\", write_BrtBundleSh(d));\n\t}\n\twrite_record(ba, \"BrtEndBundleShs\");\n}\n\n/* [MS-XLSB] 2.4.649 BrtFileVersion */\nfunction write_BrtFileVersion(data, o) {\n\tif(!o) o = new_buf(127);\n\tfor(var i = 0; i != 4; ++i) o.write_shift(4, 0);\n\twrite_XLWideString(\"SheetJS\", o);\n\twrite_XLWideString(XLSX.version, o);\n\twrite_XLWideString(XLSX.version, o);\n\twrite_XLWideString(\"7262\", o);\n\to.length = o.l;\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.301 BrtBookView */\nfunction write_BrtBookView(idx, o) {\n\tif(!o) o = new_buf(29);\n\to.write_shift(-4, 0);\n\to.write_shift(-4, 460);\n\to.write_shift(4, 28800);\n\to.write_shift(4, 17600);\n\to.write_shift(4, 500);\n\to.write_shift(4, idx);\n\to.write_shift(4, idx);\n\tvar flags = 0x78;\n\to.write_shift(1, flags);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\nfunction write_BOOKVIEWS(ba, wb) {\n\t/* required if hidden tab appears before visible tab */\n\tif(!wb.Workbook || !wb.Workbook.Sheets) return;\n\tvar sheets = wb.Workbook.Sheets;\n\tvar i = 0, vistab = -1, hidden = -1;\n\tfor(; i < sheets.length; ++i) {\n\t\tif(!sheets[i] || !sheets[i].Hidden && vistab == -1) vistab = i;\n\t\telse if(sheets[i].Hidden == 1 && hidden == -1) hidden = i;\n\t}\n\tif(hidden > vistab) return;\n\twrite_record(ba, \"BrtBeginBookViews\");\n\twrite_record(ba, \"BrtBookView\", write_BrtBookView(vistab));\n\t/* 1*(BrtBookView *FRT) */\n\twrite_record(ba, \"BrtEndBookViews\");\n}\n\n/* [MS-XLSB] 2.4.305 BrtCalcProp */\n/*function write_BrtCalcProp(data, o) {\n\tif(!o) o = new_buf(26);\n\to.write_shift(4,0); // force recalc\n\to.write_shift(4,1);\n\to.write_shift(4,0);\n\twrite_Xnum(0, o);\n\to.write_shift(-4, 1023);\n\to.write_shift(1, 0x33);\n\to.write_shift(1, 0x00);\n\treturn o;\n}*/\n\n/* [MS-XLSB] 2.4.646 BrtFileRecover */\n/*function write_BrtFileRecover(data, o) {\n\tif(!o) o = new_buf(1);\n\to.write_shift(1,0);\n\treturn o;\n}*/\n\n/* [MS-XLSB] 2.1.7.61 Workbook */\nfunction write_wb_bin(wb, opts) {\n\tvar ba = buf_array();\n\twrite_record(ba, \"BrtBeginBook\");\n\twrite_record(ba, \"BrtFileVersion\", write_BrtFileVersion());\n\t/* [[BrtFileSharingIso] BrtFileSharing] */\n\twrite_record(ba, \"BrtWbProp\", write_BrtWbProp(wb.Workbook && wb.Workbook.WBProps || null));\n\t/* [ACABSPATH] */\n\t/* [[BrtBookProtectionIso] BrtBookProtection] */\n\twrite_BOOKVIEWS(ba, wb, opts);\n\twrite_BUNDLESHS(ba, wb, opts);\n\t/* [FNGROUP] */\n\t/* [EXTERNALS] */\n\t/* *BrtName */\n\t/* write_record(ba, \"BrtCalcProp\", write_BrtCalcProp()); */\n\t/* [BrtOleSize] */\n\t/* *(BrtUserBookView *FRT) */\n\t/* [PIVOTCACHEIDS] */\n\t/* [BrtWbFactoid] */\n\t/* [SMARTTAGTYPES] */\n\t/* [BrtWebOpt] */\n\t/* write_record(ba, \"BrtFileRecover\", write_BrtFileRecover()); */\n\t/* [WEBPUBITEMS] */\n\t/* [CRERRS] */\n\t/* FRTWORKBOOK */\n\twrite_record(ba, \"BrtEndBook\");\n\n\treturn ba.end();\n}\nfunction parse_wb(data, name, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_wb_bin((data), opts);\n\treturn parse_wb_xml((data), opts);\n}\n\nfunction parse_ws(data, name, idx, opts, rels, wb, themes, styles) {\n\tif(name.slice(-4)===\".bin\") return parse_ws_bin((data), opts, idx, rels, wb, themes, styles);\n\treturn parse_ws_xml((data), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_cs(data, name, idx, opts, rels, wb, themes, styles) {\n\tif(name.slice(-4)===\".bin\") return parse_cs_bin((data), opts, idx, rels, wb, themes, styles);\n\treturn parse_cs_xml((data), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_ms(data, name, idx, opts, rels, wb, themes, styles) {\n\tif(name.slice(-4)===\".bin\") return parse_ms_bin((data), opts, idx, rels, wb, themes, styles);\n\treturn parse_ms_xml((data), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_ds(data, name, idx, opts, rels, wb, themes, styles) {\n\tif(name.slice(-4)===\".bin\") return parse_ds_bin((data), opts, idx, rels, wb, themes, styles);\n\treturn parse_ds_xml((data), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_sty(data, name, themes, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_sty_bin((data), themes, opts);\n\treturn parse_sty_xml((data), themes, opts);\n}\n\nfunction parse_theme(data, name, opts) {\n\treturn parse_theme_xml(data, opts);\n}\n\nfunction parse_sst(data, name, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_sst_bin((data), opts);\n\treturn parse_sst_xml((data), opts);\n}\n\nfunction parse_cmnt(data, name, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_comments_bin((data), opts);\n\treturn parse_comments_xml((data), opts);\n}\n\nfunction parse_cc(data, name, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_cc_bin((data), name, opts);\n\treturn parse_cc_xml((data), name, opts);\n}\n\nfunction parse_xlink(data, rel, name, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_xlink_bin((data), rel, name, opts);\n\treturn parse_xlink_xml((data), rel, name, opts);\n}\n\nfunction write_wb(wb, name, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_wb_bin : write_wb_xml)(wb, opts);\n}\n\nfunction write_ws(data, name, opts, wb, rels) {\n\treturn (name.slice(-4)===\".bin\" ? write_ws_bin : write_ws_xml)(data, opts, wb, rels);\n}\n\n// eslint-disable-next-line no-unused-vars\nfunction write_cs(data, name, opts, wb, rels) {\n\treturn (name.slice(-4)===\".bin\" ? write_cs_bin : write_cs_xml)(data, opts, wb, rels);\n}\n\nfunction write_sty(data, name, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_sty_bin : write_sty_xml)(data, opts);\n}\n\nfunction write_sst(data, name, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_sst_bin : write_sst_xml)(data, opts);\n}\n\nfunction write_cmnt(data, name, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_comments_bin : write_comments_xml)(data, opts);\n}\n/*\nfunction write_cc(data, name:string, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_cc_bin : write_cc_xml)(data, opts);\n}\n*/\nvar attregexg2=/([\\w:]+)=((?:\")([^\"]*)(?:\")|(?:')([^']*)(?:'))/g;\nvar attregex2=/([\\w:]+)=((?:\")(?:[^\"]*)(?:\")|(?:')(?:[^']*)(?:'))/;\nfunction xlml_parsexmltag(tag, skip_root) {\n\tvar words = tag.split(/\\s+/);\n\tvar z = ([]); if(!skip_root) z[0] = words[0];\n\tif(words.length === 1) return z;\n\tvar m = tag.match(attregexg2), y, j, w, i;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\ty = m[i].match(attregex2);\nif((j=y[1].indexOf(\":\")) === -1) z[y[1]] = y[2].slice(1,y[2].length-1);\n\t\telse {\n\t\t\tif(y[1].slice(0,6) === \"xmlns:\") w = \"xmlns\"+y[1].slice(6);\n\t\t\telse w = y[1].slice(j+1);\n\t\t\tz[w] = y[2].slice(1,y[2].length-1);\n\t\t}\n\t}\n\treturn z;\n}\nfunction xlml_parsexmltagobj(tag) {\n\tvar words = tag.split(/\\s+/);\n\tvar z = {};\n\tif(words.length === 1) return z;\n\tvar m = tag.match(attregexg2), y, j, w, i;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\ty = m[i].match(attregex2);\nif((j=y[1].indexOf(\":\")) === -1) z[y[1]] = y[2].slice(1,y[2].length-1);\n\t\telse {\n\t\t\tif(y[1].slice(0,6) === \"xmlns:\") w = \"xmlns\"+y[1].slice(6);\n\t\t\telse w = y[1].slice(j+1);\n\t\t\tz[w] = y[2].slice(1,y[2].length-1);\n\t\t}\n\t}\n\treturn z;\n}\n\n// ----\n\nfunction xlml_format(format, value) {\n\tvar fmt = XLMLFormatMap[format] || unescapexml(format);\n\tif(fmt === \"General\") return SSF._general(value);\n\treturn SSF.format(fmt, value);\n}\n\nfunction xlml_set_custprop(Custprops, key, cp, val) {\n\tvar oval = val;\n\tswitch((cp[0].match(/dt:dt=\"([\\w.]+)\"/)||[\"\",\"\"])[1]) {\n\t\tcase \"boolean\": oval = parsexmlbool(val); break;\n\t\tcase \"i2\": case \"int\": oval = parseInt(val, 10); break;\n\t\tcase \"r4\": case \"float\": oval = parseFloat(val); break;\n\t\tcase \"date\": case \"dateTime.tz\": oval = parseDate(val); break;\n\t\tcase \"i8\": case \"string\": case \"fixed\": case \"uuid\": case \"bin.base64\": break;\n\t\tdefault: throw new Error(\"bad custprop:\" + cp[0]);\n\t}\n\tCustprops[unescapexml(key)] = oval;\n}\n\nfunction safe_format_xlml(cell, nf, o) {\n\tif(cell.t === 'z') return;\n\tif(!o || o.cellText !== false) try {\n\t\tif(cell.t === 'e') { cell.w = cell.w || BErr[cell.v]; }\n\t\telse if(nf === \"General\") {\n\t\t\tif(cell.t === 'n') {\n\t\t\t\tif((cell.v|0) === cell.v) cell.w = SSF._general_int(cell.v);\n\t\t\t\telse cell.w = SSF._general_num(cell.v);\n\t\t\t}\n\t\t\telse cell.w = SSF._general(cell.v);\n\t\t}\n\t\telse cell.w = xlml_format(nf||\"General\", cell.v);\n\t} catch(e) { if(o.WTF) throw e; }\n\ttry {\n\t\tvar z = XLMLFormatMap[nf]||nf||\"General\";\n\t\tif(o.cellNF) cell.z = z;\n\t\tif(o.cellDates && cell.t == 'n' && SSF.is_date(z)) {\n\t\t\tvar _d = SSF.parse_date_code(cell.v); if(_d) { cell.t = 'd'; cell.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t\t}\n\t} catch(e) { if(o.WTF) throw e; }\n}\n\nfunction process_style_xlml(styles, stag, opts) {\n\tif(opts.cellStyles) {\n\t\tif(stag.Interior) {\n\t\t\tvar I = stag.Interior;\n\t\t\tif(I.Pattern) I.patternType = XLMLPatternTypeMap[I.Pattern] || I.Pattern;\n\t\t}\n\t}\n\tstyles[stag.ID] = stag;\n}\n\n/* TODO: there must exist some form of OSP-blessed spec */\nfunction parse_xlml_data(xml, ss, data, cell, base, styles, csty, row, arrayf, o) {\n\tvar nf = \"General\", sid = cell.StyleID, S = {}; o = o || {};\n\tvar interiors = [];\n\tvar i = 0;\n\tif(sid === undefined && row) sid = row.StyleID;\n\tif(sid === undefined && csty) sid = csty.StyleID;\n\twhile(styles[sid] !== undefined) {\n\t\tif(styles[sid].nf) nf = styles[sid].nf;\n\t\tif(styles[sid].Interior) interiors.push(styles[sid].Interior);\n\t\tif(!styles[sid].Parent) break;\n\t\tsid = styles[sid].Parent;\n\t}\n\tswitch(data.Type) {\n\t\tcase 'Boolean':\n\t\t\tcell.t = 'b';\n\t\t\tcell.v = parsexmlbool(xml);\n\t\t\tbreak;\n\t\tcase 'String':\n\t\t\tcell.t = 's'; cell.r = xlml_fixstr(unescapexml(xml));\n\t\t\tcell.v = (xml.indexOf(\"<\") > -1 ? unescapexml(ss||xml).replace(/<.*?>/g, \"\") : cell.r); // todo: BR etc\n\t\t\tbreak;\n\t\tcase 'DateTime':\n\t\t\tif(xml.slice(-1) != \"Z\") xml += \"Z\";\n\t\t\tcell.v = (parseDate(xml) - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000);\n\t\t\tif(cell.v !== cell.v) cell.v = unescapexml(xml);\n\t\t\telse if(cell.v<60) cell.v = cell.v -1;\n\t\t\tif(!nf || nf == \"General\") nf = \"yyyy-mm-dd\";\n\t\t\t/* falls through */\n\t\tcase 'Number':\n\t\t\tif(cell.v === undefined) cell.v=+xml;\n\t\t\tif(!cell.t) cell.t = 'n';\n\t\t\tbreak;\n\t\tcase 'Error': cell.t = 'e'; cell.v = RBErr[xml]; if(o.cellText !== false) cell.w = xml; break;\n\t\tdefault:\n\t\t\tif(xml == \"\" && ss == \"\") { cell.t = 'z'; }\n\t\t\telse { cell.t = 's'; cell.v = xlml_fixstr(ss||xml); }\n\t\t\tbreak;\n\t}\n\tsafe_format_xlml(cell, nf, o);\n\tif(o.cellFormula !== false) {\n\t\tif(cell.Formula) {\n\t\t\tvar fstr = unescapexml(cell.Formula);\n\t\t\t/* strictly speaking, the leading = is required but some writers omit */\n\t\t\tif(fstr.charCodeAt(0) == 61 /* = */) fstr = fstr.slice(1);\n\t\t\tcell.f = rc_to_a1(fstr, base);\n\t\t\tdelete cell.Formula;\n\t\t\tif(cell.ArrayRange == \"RC\") cell.F = rc_to_a1(\"RC:RC\", base);\n\t\t\telse if(cell.ArrayRange) {\n\t\t\t\tcell.F = rc_to_a1(cell.ArrayRange, base);\n\t\t\t\tarrayf.push([safe_decode_range(cell.F), cell.F]);\n\t\t\t}\n\t\t} else {\n\t\t\tfor(i = 0; i < arrayf.length; ++i)\n\t\t\t\tif(base.r >= arrayf[i][0].s.r && base.r <= arrayf[i][0].e.r)\n\t\t\t\t\tif(base.c >= arrayf[i][0].s.c && base.c <= arrayf[i][0].e.c)\n\t\t\t\t\t\tcell.F = arrayf[i][1];\n\t\t}\n\t}\n\tif(o.cellStyles) {\n\t\tinteriors.forEach(function(x) {\n\t\t\tif(!S.patternType && x.patternType) S.patternType = x.patternType;\n\t\t});\n\t\tcell.s = S;\n\t}\n\tif(cell.StyleID !== undefined) cell.ixfe = cell.StyleID;\n}\n\nfunction xlml_clean_comment(comment) {\n\tcomment.t = comment.v || \"\";\n\tcomment.t = comment.t.replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\");\n\tcomment.v = comment.w = comment.ixfe = undefined;\n}\n\nfunction xlml_normalize(d) {\n\tif(has_buf && Buffer.isBuffer(d)) return d.toString('utf8');\n\tif(typeof d === 'string') return d;\n\t/* duktape */\n\tif(typeof Uint8Array !== 'undefined' && d instanceof Uint8Array) return utf8read(a2s(ab2a(d)));\n\tthrow new Error(\"Bad input format: expected Buffer or string\");\n}\n\n/* TODO: Everything */\n/* UOS uses CJK in tags */\nvar xlmlregex = /<(\\/?)([^\\s?>:\\/]+)(?:[\\s?:\\/][^>]*)?>/mg;\n//var xlmlregex = /<(\\/?)([a-z0-9]*:|)(\\w+)[^>]*>/mg;\nfunction parse_xlml_xml(d, _opts) {\n\tvar opts = _opts || {};\n\tmake_ssf(SSF);\n\tvar str = debom(xlml_normalize(d));\n\tif(opts.type == 'binary' || opts.type == 'array' || opts.type == 'base64') {\n\t\tif(typeof cptable !== 'undefined') str = cptable.utils.decode(65001, char_codes(str));\n\t\telse str = utf8read(str);\n\t}\n\tvar opening = str.slice(0, 1024).toLowerCase(), ishtml = false;\n\tif(opening.indexOf(\"= 0) ishtml = true; });\n\tif(ishtml) return HTML_.to_workbook(str, opts);\n\tvar Rn;\n\tvar state = [], tmp;\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\tvar sheets = {}, sheetnames = [], cursheet = (opts.dense ? [] : {}), sheetname = \"\";\n\tvar table = {}, cell = ({}), row = {};// eslint-disable-line no-unused-vars\n\tvar dtag = xlml_parsexmltag(''), didx = 0;\n\tvar c = 0, r = 0;\n\tvar refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\tvar styles = {}, stag = {};\n\tvar ss = \"\", fidx = 0;\n\tvar merges = [];\n\tvar Props = {}, Custprops = {}, pidx = 0, cp = [];\n\tvar comments = [], comment = ({});\n\tvar cstys = [], csty, seencol = false;\n\tvar arrayf = [];\n\tvar rowinfo = [], rowobj = {}, cc = 0, rr = 0;\n\tvar Workbook = ({ Sheets:[], WBProps:{date1904:false} }), wsprops = {};\n\txlmlregex.lastIndex = 0;\n\tstr = str.replace(//mg,\"\");\n\tvar raw_Rn3 = \"\";\n\twhile((Rn = xlmlregex.exec(str))) switch((Rn[3] = (raw_Rn3 = Rn[3]).toLowerCase())) {\n\t\tcase 'data' /*case 'Data'*/:\n\t\t\tif(raw_Rn3 == \"data\") {\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(state[state.length-1][1]) break;\n\t\t\tif(Rn[1]==='/') parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length-1][0]==/*\"Comment\"*/\"comment\"?comment:cell, {c:c,r:r}, styles, cstys[c], row, arrayf, opts);\n\t\t\telse { ss = \"\"; dtag = xlml_parsexmltag(Rn[0]); didx = Rn.index + Rn[0].length; }\n\t\t\tbreak;\n\t\tcase 'cell' /*case 'Cell'*/:\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif(comments.length > 0) cell.c = comments;\n\t\t\t\tif((!opts.sheetRows || opts.sheetRows > r) && cell.v !== undefined) {\n\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\tif(!cursheet[r]) cursheet[r] = [];\n\t\t\t\t\t\tcursheet[r][c] = cell;\n\t\t\t\t\t} else cursheet[encode_col(c) + encode_row(r)] = cell;\n\t\t\t\t}\n\t\t\t\tif(cell.HRef) {\n\t\t\t\t\tcell.l = ({Target:cell.HRef});\n\t\t\t\t\tif(cell.HRefScreenTip) cell.l.Tooltip = cell.HRefScreenTip;\n\t\t\t\t\tdelete cell.HRef; delete cell.HRefScreenTip;\n\t\t\t\t}\n\t\t\t\tif(cell.MergeAcross || cell.MergeDown) {\n\t\t\t\t\tcc = c + (parseInt(cell.MergeAcross,10)|0);\n\t\t\t\t\trr = r + (parseInt(cell.MergeDown,10)|0);\n\t\t\t\t\tmerges.push({s:{c:c,r:r},e:{c:cc,r:rr}});\n\t\t\t\t}\n\t\t\t\tif(!opts.sheetStubs) { if(cell.MergeAcross) c = cc + 1; else ++c; }\n\t\t\t\telse if(cell.MergeAcross || cell.MergeDown) {\nfor(var cma = c; cma <= cc; ++cma) {\n\t\t\t\t\t\tfor(var cmd = r; cmd <= rr; ++cmd) {\n\t\t\t\t\t\t\tif(cma > c || cmd > r) {\n\t\t\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\t\t\tif(!cursheet[cmd]) cursheet[cmd] = [];\n\t\t\t\t\t\t\t\t\tcursheet[cmd][cma] = {t:'z'};\n\t\t\t\t\t\t\t\t} else cursheet[encode_col(cma) + encode_row(cmd)] = {t:'z'};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tc = cc + 1;\n\t\t\t\t}\n\t\t\t\telse ++c;\n\t\t\t} else {\n\t\t\t\tcell = xlml_parsexmltagobj(Rn[0]);\n\t\t\t\tif(cell.Index) c = +cell.Index - 1;\n\t\t\t\tif(c < refguess.s.c) refguess.s.c = c;\n\t\t\t\tif(c > refguess.e.c) refguess.e.c = c;\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") ++c;\n\t\t\t\tcomments = [];\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'row' /*case 'Row'*/:\n\t\t\tif(Rn[1]==='/' || Rn[0].slice(-2) === \"/>\") {\n\t\t\t\tif(r < refguess.s.r) refguess.s.r = r;\n\t\t\t\tif(r > refguess.e.r) refguess.e.r = r;\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") {\n\t\t\t\t\trow = xlml_parsexmltag(Rn[0]);\n\t\t\t\t\tif(row.Index) r = +row.Index - 1;\n\t\t\t\t}\n\t\t\t\tc = 0; ++r;\n\t\t\t} else {\n\t\t\t\trow = xlml_parsexmltag(Rn[0]);\n\t\t\t\tif(row.Index) r = +row.Index - 1;\n\t\t\t\trowobj = {};\n\t\t\t\tif(row.AutoFitHeight == \"0\" || row.Height) {\n\t\t\t\t\trowobj.hpx = parseInt(row.Height, 10); rowobj.hpt = px2pt(rowobj.hpx);\n\t\t\t\t\trowinfo[r] = rowobj;\n\t\t\t\t}\n\t\t\t\tif(row.Hidden == \"1\") { rowobj.hidden = true; rowinfo[r] = rowobj; }\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'worksheet' /*case 'Worksheet'*/: /* TODO: read range from FullRows/FullColumns */\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t\tsheetnames.push(sheetname);\n\t\t\t\tif(refguess.s.r <= refguess.e.r && refguess.s.c <= refguess.e.c) {\n\t\t\t\t\tcursheet[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\tif(opts.sheetRows && opts.sheetRows <= refguess.e.r) {\n\t\t\t\t\t\tcursheet[\"!fullref\"] = cursheet[\"!ref\"];\n\t\t\t\t\t\trefguess.e.r = opts.sheetRows - 1;\n\t\t\t\t\t\tcursheet[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(merges.length) cursheet[\"!merges\"] = merges;\n\t\t\t\tif(cstys.length > 0) cursheet[\"!cols\"] = cstys;\n\t\t\t\tif(rowinfo.length > 0) cursheet[\"!rows\"] = rowinfo;\n\t\t\t\tsheets[sheetname] = cursheet;\n\t\t\t} else {\n\t\t\t\trefguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\t\t\t\tr = c = 0;\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\ttmp = xlml_parsexmltag(Rn[0]);\n\t\t\t\tsheetname = unescapexml(tmp.Name);\n\t\t\t\tcursheet = (opts.dense ? [] : {});\n\t\t\t\tmerges = [];\n\t\t\t\tarrayf = [];\n\t\t\t\trowinfo = [];\n\t\t\t\twsprops = {name:sheetname, Hidden:0};\n\t\t\t\tWorkbook.Sheets.push(wsprops);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'table' /*case 'Table'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].slice(-2) == \"/>\") break;\n\t\t\telse {\n\t\t\t\ttable = xlml_parsexmltag(Rn[0]);\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\tcstys = []; seencol = false;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'style' /*case 'Style'*/:\n\t\t\tif(Rn[1]==='/') process_style_xlml(styles, stag, opts);\n\t\t\telse stag = xlml_parsexmltag(Rn[0]);\n\t\t\tbreak;\n\n\t\tcase 'numberformat' /*case 'NumberFormat'*/:\n\t\t\tstag.nf = unescapexml(xlml_parsexmltag(Rn[0]).Format || \"General\");\n\t\t\tif(XLMLFormatMap[stag.nf]) stag.nf = XLMLFormatMap[stag.nf];\n\t\t\tfor(var ssfidx = 0; ssfidx != 0x188; ++ssfidx) if(SSF._table[ssfidx] == stag.nf) break;\n\t\t\tif(ssfidx == 0x188) for(ssfidx = 0x39; ssfidx != 0x188; ++ssfidx) if(SSF._table[ssfidx] == null) { SSF.load(stag.nf, ssfidx); break; }\n\t\t\tbreak;\n\n\t\tcase 'column' /*case 'Column'*/:\n\t\t\tif(state[state.length-1][0] !== /*'Table'*/'table') break;\n\t\t\tcsty = xlml_parsexmltag(Rn[0]);\n\t\t\tif(csty.Hidden) { csty.hidden = true; delete csty.Hidden; }\n\t\t\tif(csty.Width) csty.wpx = parseInt(csty.Width, 10);\n\t\t\tif(!seencol && csty.wpx > 10) {\n\t\t\t\tseencol = true; MDW = DEF_MDW; //find_mdw_wpx(csty.wpx);\n\t\t\t\tfor(var _col = 0; _col < cstys.length; ++_col) if(cstys[_col]) process_col(cstys[_col]);\n\t\t\t}\n\t\t\tif(seencol) process_col(csty);\n\t\t\tcstys[(csty.Index-1||cstys.length)] = csty;\n\t\t\tfor(var i = 0; i < +csty.Span; ++i) cstys[cstys.length] = dup(csty);\n\t\t\tbreak;\n\n\t\tcase 'namedrange' /*case 'NamedRange'*/:\n\t\t\tif(Rn[1]==='/') break;\n\t\t\tif(!Workbook.Names) Workbook.Names = [];\n\t\t\tvar _NamedRange = parsexmltag(Rn[0]);\n\t\t\tvar _DefinedName = ({\n\t\t\t\tName: _NamedRange.Name,\n\t\t\t\tRef: rc_to_a1(_NamedRange.RefersTo.slice(1), {r:0, c:0})\n\t\t\t});\n\t\t\tif(Workbook.Sheets.length>0) _DefinedName.Sheet=Workbook.Sheets.length-1;\nWorkbook.Names.push(_DefinedName);\n\t\t\tbreak;\n\n\t\tcase 'namedcell' /*case 'NamedCell'*/: break;\n\t\tcase 'b' /*case 'B'*/: break;\n\t\tcase 'i' /*case 'I'*/: break;\n\t\tcase 'u' /*case 'U'*/: break;\n\t\tcase 's' /*case 'S'*/: break;\n\t\tcase 'em' /*case 'EM'*/: break;\n\t\tcase 'h2' /*case 'H2'*/: break;\n\t\tcase 'h3' /*case 'H3'*/: break;\n\t\tcase 'sub' /*case 'Sub'*/: break;\n\t\tcase 'sup' /*case 'Sup'*/: break;\n\t\tcase 'span' /*case 'Span'*/: break;\n\t\tcase 'alignment' /*case 'Alignment'*/:\n\t\t\tbreak;\n\t\tcase 'borders' /*case 'Borders'*/: break;\n\t\tcase 'border' /*case 'Border'*/: break;\n\t\tcase 'font' /*case 'Font'*/:\n\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\telse if(Rn[1]===\"/\") ss += str.slice(fidx, Rn.index);\n\t\t\telse fidx = Rn.index + Rn[0].length;\n\t\t\tbreak;\n\t\tcase 'interior' /*case 'Interior'*/:\n\t\t\tif(!opts.cellStyles) break;\n\t\t\tstag.Interior = xlml_parsexmltag(Rn[0]);\n\t\t\tbreak;\n\t\tcase 'protection' /*case 'Protection'*/: break;\n\n\t\tcase 'author' /*case 'Author'*/:\n\t\tcase 'title' /*case 'Title'*/:\n\t\tcase 'description' /*case 'Description'*/:\n\t\tcase 'created' /*case 'Created'*/:\n\t\tcase 'keywords' /*case 'Keywords'*/:\n\t\tcase 'subject' /*case 'Subject'*/:\n\t\tcase 'category' /*case 'Category'*/:\n\t\tcase 'company' /*case 'Company'*/:\n\t\tcase 'lastauthor' /*case 'LastAuthor'*/:\n\t\tcase 'lastsaved' /*case 'LastSaved'*/:\n\t\tcase 'lastprinted' /*case 'LastPrinted'*/:\n\t\tcase 'version' /*case 'Version'*/:\n\t\tcase 'revision' /*case 'Revision'*/:\n\t\tcase 'totaltime' /*case 'TotalTime'*/:\n\t\tcase 'hyperlinkbase' /*case 'HyperlinkBase'*/:\n\t\tcase 'manager' /*case 'Manager'*/:\n\t\tcase 'contentstatus' /*case 'ContentStatus'*/:\n\t\tcase 'identifier' /*case 'Identifier'*/:\n\t\tcase 'language' /*case 'Language'*/:\n\t\tcase 'appname' /*case 'AppName'*/:\n\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\telse if(Rn[1]===\"/\") xlml_set_prop(Props, raw_Rn3, str.slice(pidx, Rn.index));\n\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\tbreak;\n\t\tcase 'paragraphs' /*case 'Paragraphs'*/: break;\n\n\t\tcase 'styles' /*case 'Styles'*/:\n\t\tcase 'workbook' /*case 'Workbook'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse state.push([Rn[3], false]);\n\t\t\tbreak;\n\n\t\tcase 'comment' /*case 'Comment'*/:\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t\txlml_clean_comment(comment);\n\t\t\t\tcomments.push(comment);\n\t\t\t} else {\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\ttmp = xlml_parsexmltag(Rn[0]);\n\t\t\t\tcomment = ({a:tmp.Author});\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'autofilter' /*case 'AutoFilter'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\tvar AutoFilter = xlml_parsexmltag(Rn[0]);\n\t\t\t\tcursheet['!autofilter'] = { ref:rc_to_a1(AutoFilter.Range).replace(/\\$/g,\"\") };\n\t\t\t\tstate.push([Rn[3], true]);\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'name' /*case 'Name'*/: break;\n\n\t\tcase 'datavalidation' /*case 'DataValidation'*/:\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t} else {\n\t\t\t\tif(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'pixelsperinch' /*case 'PixelsPerInch'*/:\n\t\t\tbreak;\n\t\tcase 'componentoptions' /*case 'ComponentOptions'*/:\n\t\tcase 'documentproperties' /*case 'DocumentProperties'*/:\n\t\tcase 'customdocumentproperties' /*case 'CustomDocumentProperties'*/:\n\t\tcase 'officedocumentsettings' /*case 'OfficeDocumentSettings'*/:\n\t\tcase 'pivottable' /*case 'PivotTable'*/:\n\t\tcase 'pivotcache' /*case 'PivotCache'*/:\n\t\tcase 'names' /*case 'Names'*/:\n\t\tcase 'mapinfo' /*case 'MapInfo'*/:\n\t\tcase 'pagebreaks' /*case 'PageBreaks'*/:\n\t\tcase 'querytable' /*case 'QueryTable'*/:\n\t\tcase 'sorting' /*case 'Sorting'*/:\n\t\tcase 'schema' /*case 'Schema'*/: //case 'data' /*case 'data'*/:\n\t\tcase 'conditionalformatting' /*case 'ConditionalFormatting'*/:\n\t\tcase 'smarttagtype' /*case 'SmartTagType'*/:\n\t\tcase 'smarttags' /*case 'SmartTags'*/:\n\t\tcase 'excelworkbook' /*case 'ExcelWorkbook'*/:\n\t\tcase 'workbookoptions' /*case 'WorkbookOptions'*/:\n\t\tcase 'worksheetoptions' /*case 'WorksheetOptions'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\t/* FODS file root is */\n\t\t\tif(state.length == 0 && Rn[3] == \"document\") return parse_fods(str, opts);\n\t\t\t/* UOS file root is */\n\t\t\tif(state.length == 0 && Rn[3] == \"uof\"/*\"UOF\"*/) return parse_fods(str, opts);\n\n\t\t\tvar seen = true;\n\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t/* OfficeDocumentSettings */\n\t\t\t\tcase 'officedocumentsettings' /*case 'OfficeDocumentSettings'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'allowpng' /*case 'AllowPNG'*/: break;\n\t\t\t\t\tcase 'removepersonalinformation' /*case 'RemovePersonalInformation'*/: break;\n\t\t\t\t\tcase 'downloadcomponents' /*case 'DownloadComponents'*/: break;\n\t\t\t\t\tcase 'locationofcomponents' /*case 'LocationOfComponents'*/: break;\n\t\t\t\t\tcase 'colors' /*case 'Colors'*/: break;\n\t\t\t\t\tcase 'color' /*case 'Color'*/: break;\n\t\t\t\t\tcase 'index' /*case 'Index'*/: break;\n\t\t\t\t\tcase 'rgb' /*case 'RGB'*/: break;\n\t\t\t\t\tcase 'targetscreensize' /*case 'TargetScreenSize'*/: break;\n\t\t\t\t\tcase 'readonlyrecommended' /*case 'ReadOnlyRecommended'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* ComponentOptions */\n\t\t\t\tcase 'componentoptions' /*case 'ComponentOptions'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'toolbar' /*case 'Toolbar'*/: break;\n\t\t\t\t\tcase 'hideofficelogo' /*case 'HideOfficeLogo'*/: break;\n\t\t\t\t\tcase 'spreadsheetautofit' /*case 'SpreadsheetAutoFit'*/: break;\n\t\t\t\t\tcase 'label' /*case 'Label'*/: break;\n\t\t\t\t\tcase 'caption' /*case 'Caption'*/: break;\n\t\t\t\t\tcase 'maxheight' /*case 'MaxHeight'*/: break;\n\t\t\t\t\tcase 'maxwidth' /*case 'MaxWidth'*/: break;\n\t\t\t\t\tcase 'nextsheetnumber' /*case 'NextSheetNumber'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* ExcelWorkbook */\n\t\t\t\tcase 'excelworkbook' /*case 'ExcelWorkbook'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'date1904' /*case 'Date1904'*/:\nWorkbook.WBProps.date1904 = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'windowheight' /*case 'WindowHeight'*/: break;\n\t\t\t\t\tcase 'windowwidth' /*case 'WindowWidth'*/: break;\n\t\t\t\t\tcase 'windowtopx' /*case 'WindowTopX'*/: break;\n\t\t\t\t\tcase 'windowtopy' /*case 'WindowTopY'*/: break;\n\t\t\t\t\tcase 'tabratio' /*case 'TabRatio'*/: break;\n\t\t\t\t\tcase 'protectstructure' /*case 'ProtectStructure'*/: break;\n\t\t\t\t\tcase 'protectwindow' /*case 'ProtectWindow'*/: break;\n\t\t\t\t\tcase 'protectwindows' /*case 'ProtectWindows'*/: break;\n\t\t\t\t\tcase 'activesheet' /*case 'ActiveSheet'*/: break;\n\t\t\t\t\tcase 'displayinknotes' /*case 'DisplayInkNotes'*/: break;\n\t\t\t\t\tcase 'firstvisiblesheet' /*case 'FirstVisibleSheet'*/: break;\n\t\t\t\t\tcase 'supbook' /*case 'SupBook'*/: break;\n\t\t\t\t\tcase 'sheetname' /*case 'SheetName'*/: break;\n\t\t\t\t\tcase 'sheetindex' /*case 'SheetIndex'*/: break;\n\t\t\t\t\tcase 'sheetindexfirst' /*case 'SheetIndexFirst'*/: break;\n\t\t\t\t\tcase 'sheetindexlast' /*case 'SheetIndexLast'*/: break;\n\t\t\t\t\tcase 'dll' /*case 'Dll'*/: break;\n\t\t\t\t\tcase 'acceptlabelsinformulas' /*case 'AcceptLabelsInFormulas'*/: break;\n\t\t\t\t\tcase 'donotsavelinkvalues' /*case 'DoNotSaveLinkValues'*/: break;\n\t\t\t\t\tcase 'iteration' /*case 'Iteration'*/: break;\n\t\t\t\t\tcase 'maxiterations' /*case 'MaxIterations'*/: break;\n\t\t\t\t\tcase 'maxchange' /*case 'MaxChange'*/: break;\n\t\t\t\t\tcase 'path' /*case 'Path'*/: break;\n\t\t\t\t\tcase 'xct' /*case 'Xct'*/: break;\n\t\t\t\t\tcase 'count' /*case 'Count'*/: break;\n\t\t\t\t\tcase 'selectedsheets' /*case 'SelectedSheets'*/: break;\n\t\t\t\t\tcase 'calculation' /*case 'Calculation'*/: break;\n\t\t\t\t\tcase 'uncalced' /*case 'Uncalced'*/: break;\n\t\t\t\t\tcase 'startupprompt' /*case 'StartupPrompt'*/: break;\n\t\t\t\t\tcase 'crn' /*case 'Crn'*/: break;\n\t\t\t\t\tcase 'externname' /*case 'ExternName'*/: break;\n\t\t\t\t\tcase 'formula' /*case 'Formula'*/: break;\n\t\t\t\t\tcase 'colfirst' /*case 'ColFirst'*/: break;\n\t\t\t\t\tcase 'collast' /*case 'ColLast'*/: break;\n\t\t\t\t\tcase 'wantadvise' /*case 'WantAdvise'*/: break;\n\t\t\t\t\tcase 'boolean' /*case 'Boolean'*/: break;\n\t\t\t\t\tcase 'error' /*case 'Error'*/: break;\n\t\t\t\t\tcase 'text' /*case 'Text'*/: break;\n\t\t\t\t\tcase 'ole' /*case 'OLE'*/: break;\n\t\t\t\t\tcase 'noautorecover' /*case 'NoAutoRecover'*/: break;\n\t\t\t\t\tcase 'publishobjects' /*case 'PublishObjects'*/: break;\n\t\t\t\t\tcase 'donotcalculatebeforesave' /*case 'DoNotCalculateBeforeSave'*/: break;\n\t\t\t\t\tcase 'number' /*case 'Number'*/: break;\n\t\t\t\t\tcase 'refmoder1c1' /*case 'RefModeR1C1'*/: break;\n\t\t\t\t\tcase 'embedsavesmarttags' /*case 'EmbedSaveSmartTags'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* WorkbookOptions */\n\t\t\t\tcase 'workbookoptions' /*case 'WorkbookOptions'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'owcversion' /*case 'OWCVersion'*/: break;\n\t\t\t\t\tcase 'height' /*case 'Height'*/: break;\n\t\t\t\t\tcase 'width' /*case 'Width'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* WorksheetOptions */\n\t\t\t\tcase 'worksheetoptions' /*case 'WorksheetOptions'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'visible' /*case 'Visible'*/:\n\t\t\t\t\t\tif(Rn[0].slice(-2) === \"/>\"){/* empty */}\n\t\t\t\t\t\telse if(Rn[1]===\"/\") switch(str.slice(pidx, Rn.index)) {\n\t\t\t\t\t\t\tcase \"SheetHidden\": wsprops.Hidden = 1; break;\n\t\t\t\t\t\t\tcase \"SheetVeryHidden\": wsprops.Hidden = 2; break;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'header' /*case 'Header'*/:\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={}, 'xlml');\n\t\t\t\t\t\tcursheet['!margins'].header = parsexmltag(Rn[0]).Margin;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'footer' /*case 'Footer'*/:\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={}, 'xlml');\n\t\t\t\t\t\tcursheet['!margins'].footer = parsexmltag(Rn[0]).Margin;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'pagemargins' /*case 'PageMargins'*/:\n\t\t\t\t\t\tvar pagemargins = parsexmltag(Rn[0]);\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={},'xlml');\n\t\t\t\t\t\tif(pagemargins.Top) cursheet['!margins'].top = pagemargins.Top;\n\t\t\t\t\t\tif(pagemargins.Left) cursheet['!margins'].left = pagemargins.Left;\n\t\t\t\t\t\tif(pagemargins.Right) cursheet['!margins'].right = pagemargins.Right;\n\t\t\t\t\t\tif(pagemargins.Bottom) cursheet['!margins'].bottom = pagemargins.Bottom;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'displayrighttoleft' /*case 'DisplayRightToLeft'*/:\n\t\t\t\t\t\tif(!Workbook.Views) Workbook.Views = [];\n\t\t\t\t\t\tif(!Workbook.Views[0]) Workbook.Views[0] = {};\n\t\t\t\t\t\tWorkbook.Views[0].RTL = true;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'freezepanes' /*case 'FreezePanes'*/: break;\n\t\t\t\t\tcase 'frozennosplit' /*case 'FrozenNoSplit'*/: break;\n\n\t\t\t\t\tcase 'splithorizontal' /*case 'SplitHorizontal'*/:\n\t\t\t\t\tcase 'splitvertical' /*case 'SplitVertical'*/:\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'donotdisplaygridlines' /*case 'DoNotDisplayGridlines'*/:\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'activerow' /*case 'ActiveRow'*/: break;\n\t\t\t\t\tcase 'activecol' /*case 'ActiveCol'*/: break;\n\t\t\t\t\tcase 'toprowbottompane' /*case 'TopRowBottomPane'*/: break;\n\t\t\t\t\tcase 'leftcolumnrightpane' /*case 'LeftColumnRightPane'*/: break;\n\n\t\t\t\t\tcase 'unsynced' /*case 'Unsynced'*/: break;\n\t\t\t\t\tcase 'print' /*case 'Print'*/: break;\n\t\t\t\t\tcase 'panes' /*case 'Panes'*/: break;\n\t\t\t\t\tcase 'scale' /*case 'Scale'*/: break;\n\t\t\t\t\tcase 'pane' /*case 'Pane'*/: break;\n\t\t\t\t\tcase 'number' /*case 'Number'*/: break;\n\t\t\t\t\tcase 'layout' /*case 'Layout'*/: break;\n\t\t\t\t\tcase 'pagesetup' /*case 'PageSetup'*/: break;\n\t\t\t\t\tcase 'selected' /*case 'Selected'*/: break;\n\t\t\t\t\tcase 'protectobjects' /*case 'ProtectObjects'*/: break;\n\t\t\t\t\tcase 'enableselection' /*case 'EnableSelection'*/: break;\n\t\t\t\t\tcase 'protectscenarios' /*case 'ProtectScenarios'*/: break;\n\t\t\t\t\tcase 'validprinterinfo' /*case 'ValidPrinterInfo'*/: break;\n\t\t\t\t\tcase 'horizontalresolution' /*case 'HorizontalResolution'*/: break;\n\t\t\t\t\tcase 'verticalresolution' /*case 'VerticalResolution'*/: break;\n\t\t\t\t\tcase 'numberofcopies' /*case 'NumberofCopies'*/: break;\n\t\t\t\t\tcase 'activepane' /*case 'ActivePane'*/: break;\n\t\t\t\t\tcase 'toprowvisible' /*case 'TopRowVisible'*/: break;\n\t\t\t\t\tcase 'leftcolumnvisible' /*case 'LeftColumnVisible'*/: break;\n\t\t\t\t\tcase 'fittopage' /*case 'FitToPage'*/: break;\n\t\t\t\t\tcase 'rangeselection' /*case 'RangeSelection'*/: break;\n\t\t\t\t\tcase 'papersizeindex' /*case 'PaperSizeIndex'*/: break;\n\t\t\t\t\tcase 'pagelayoutzoom' /*case 'PageLayoutZoom'*/: break;\n\t\t\t\t\tcase 'pagebreakzoom' /*case 'PageBreakZoom'*/: break;\n\t\t\t\t\tcase 'filteron' /*case 'FilterOn'*/: break;\n\t\t\t\t\tcase 'fitwidth' /*case 'FitWidth'*/: break;\n\t\t\t\t\tcase 'fitheight' /*case 'FitHeight'*/: break;\n\t\t\t\t\tcase 'commentslayout' /*case 'CommentsLayout'*/: break;\n\t\t\t\t\tcase 'zoom' /*case 'Zoom'*/: break;\n\t\t\t\t\tcase 'lefttoright' /*case 'LeftToRight'*/: break;\n\t\t\t\t\tcase 'gridlines' /*case 'Gridlines'*/: break;\n\t\t\t\t\tcase 'allowsort' /*case 'AllowSort'*/: break;\n\t\t\t\t\tcase 'allowfilter' /*case 'AllowFilter'*/: break;\n\t\t\t\t\tcase 'allowinsertrows' /*case 'AllowInsertRows'*/: break;\n\t\t\t\t\tcase 'allowdeleterows' /*case 'AllowDeleteRows'*/: break;\n\t\t\t\t\tcase 'allowinsertcols' /*case 'AllowInsertCols'*/: break;\n\t\t\t\t\tcase 'allowdeletecols' /*case 'AllowDeleteCols'*/: break;\n\t\t\t\t\tcase 'allowinserthyperlinks' /*case 'AllowInsertHyperlinks'*/: break;\n\t\t\t\t\tcase 'allowformatcells' /*case 'AllowFormatCells'*/: break;\n\t\t\t\t\tcase 'allowsizecols' /*case 'AllowSizeCols'*/: break;\n\t\t\t\t\tcase 'allowsizerows' /*case 'AllowSizeRows'*/: break;\n\t\t\t\t\tcase 'nosummaryrowsbelowdetail' /*case 'NoSummaryRowsBelowDetail'*/: break;\n\t\t\t\t\tcase 'tabcolorindex' /*case 'TabColorIndex'*/: break;\n\t\t\t\t\tcase 'donotdisplayheadings' /*case 'DoNotDisplayHeadings'*/: break;\n\t\t\t\t\tcase 'showpagelayoutzoom' /*case 'ShowPageLayoutZoom'*/: break;\n\t\t\t\t\tcase 'nosummarycolumnsrightdetail' /*case 'NoSummaryColumnsRightDetail'*/: break;\n\t\t\t\t\tcase 'blackandwhite' /*case 'BlackAndWhite'*/: break;\n\t\t\t\t\tcase 'donotdisplayzeros' /*case 'DoNotDisplayZeros'*/: break;\n\t\t\t\t\tcase 'displaypagebreak' /*case 'DisplayPageBreak'*/: break;\n\t\t\t\t\tcase 'rowcolheadings' /*case 'RowColHeadings'*/: break;\n\t\t\t\t\tcase 'donotdisplayoutline' /*case 'DoNotDisplayOutline'*/: break;\n\t\t\t\t\tcase 'noorientation' /*case 'NoOrientation'*/: break;\n\t\t\t\t\tcase 'allowusepivottables' /*case 'AllowUsePivotTables'*/: break;\n\t\t\t\t\tcase 'zeroheight' /*case 'ZeroHeight'*/: break;\n\t\t\t\t\tcase 'viewablerange' /*case 'ViewableRange'*/: break;\n\t\t\t\t\tcase 'selection' /*case 'Selection'*/: break;\n\t\t\t\t\tcase 'protectcontents' /*case 'ProtectContents'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* PivotTable */\n\t\t\t\tcase 'pivottable' /*case 'PivotTable'*/: case 'pivotcache' /*case 'PivotCache'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'immediateitemsondrop' /*case 'ImmediateItemsOnDrop'*/: break;\n\t\t\t\t\tcase 'showpagemultipleitemlabel' /*case 'ShowPageMultipleItemLabel'*/: break;\n\t\t\t\t\tcase 'compactrowindent' /*case 'CompactRowIndent'*/: break;\n\t\t\t\t\tcase 'location' /*case 'Location'*/: break;\n\t\t\t\t\tcase 'pivotfield' /*case 'PivotField'*/: break;\n\t\t\t\t\tcase 'orientation' /*case 'Orientation'*/: break;\n\t\t\t\t\tcase 'layoutform' /*case 'LayoutForm'*/: break;\n\t\t\t\t\tcase 'layoutsubtotallocation' /*case 'LayoutSubtotalLocation'*/: break;\n\t\t\t\t\tcase 'layoutcompactrow' /*case 'LayoutCompactRow'*/: break;\n\t\t\t\t\tcase 'position' /*case 'Position'*/: break;\n\t\t\t\t\tcase 'pivotitem' /*case 'PivotItem'*/: break;\n\t\t\t\t\tcase 'datatype' /*case 'DataType'*/: break;\n\t\t\t\t\tcase 'datafield' /*case 'DataField'*/: break;\n\t\t\t\t\tcase 'sourcename' /*case 'SourceName'*/: break;\n\t\t\t\t\tcase 'parentfield' /*case 'ParentField'*/: break;\n\t\t\t\t\tcase 'ptlineitems' /*case 'PTLineItems'*/: break;\n\t\t\t\t\tcase 'ptlineitem' /*case 'PTLineItem'*/: break;\n\t\t\t\t\tcase 'countofsameitems' /*case 'CountOfSameItems'*/: break;\n\t\t\t\t\tcase 'item' /*case 'Item'*/: break;\n\t\t\t\t\tcase 'itemtype' /*case 'ItemType'*/: break;\n\t\t\t\t\tcase 'ptsource' /*case 'PTSource'*/: break;\n\t\t\t\t\tcase 'cacheindex' /*case 'CacheIndex'*/: break;\n\t\t\t\t\tcase 'consolidationreference' /*case 'ConsolidationReference'*/: break;\n\t\t\t\t\tcase 'filename' /*case 'FileName'*/: break;\n\t\t\t\t\tcase 'reference' /*case 'Reference'*/: break;\n\t\t\t\t\tcase 'nocolumngrand' /*case 'NoColumnGrand'*/: break;\n\t\t\t\t\tcase 'norowgrand' /*case 'NoRowGrand'*/: break;\n\t\t\t\t\tcase 'blanklineafteritems' /*case 'BlankLineAfterItems'*/: break;\n\t\t\t\t\tcase 'hidden' /*case 'Hidden'*/: break;\n\t\t\t\t\tcase 'subtotal' /*case 'Subtotal'*/: break;\n\t\t\t\t\tcase 'basefield' /*case 'BaseField'*/: break;\n\t\t\t\t\tcase 'mapchilditems' /*case 'MapChildItems'*/: break;\n\t\t\t\t\tcase 'function' /*case 'Function'*/: break;\n\t\t\t\t\tcase 'refreshonfileopen' /*case 'RefreshOnFileOpen'*/: break;\n\t\t\t\t\tcase 'printsettitles' /*case 'PrintSetTitles'*/: break;\n\t\t\t\t\tcase 'mergelabels' /*case 'MergeLabels'*/: break;\n\t\t\t\t\tcase 'defaultversion' /*case 'DefaultVersion'*/: break;\n\t\t\t\t\tcase 'refreshname' /*case 'RefreshName'*/: break;\n\t\t\t\t\tcase 'refreshdate' /*case 'RefreshDate'*/: break;\n\t\t\t\t\tcase 'refreshdatecopy' /*case 'RefreshDateCopy'*/: break;\n\t\t\t\t\tcase 'versionlastrefresh' /*case 'VersionLastRefresh'*/: break;\n\t\t\t\t\tcase 'versionlastupdate' /*case 'VersionLastUpdate'*/: break;\n\t\t\t\t\tcase 'versionupdateablemin' /*case 'VersionUpdateableMin'*/: break;\n\t\t\t\t\tcase 'versionrefreshablemin' /*case 'VersionRefreshableMin'*/: break;\n\t\t\t\t\tcase 'calculation' /*case 'Calculation'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* PageBreaks */\n\t\t\t\tcase 'pagebreaks' /*case 'PageBreaks'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'colbreaks' /*case 'ColBreaks'*/: break;\n\t\t\t\t\tcase 'colbreak' /*case 'ColBreak'*/: break;\n\t\t\t\t\tcase 'rowbreaks' /*case 'RowBreaks'*/: break;\n\t\t\t\t\tcase 'rowbreak' /*case 'RowBreak'*/: break;\n\t\t\t\t\tcase 'colstart' /*case 'ColStart'*/: break;\n\t\t\t\t\tcase 'colend' /*case 'ColEnd'*/: break;\n\t\t\t\t\tcase 'rowend' /*case 'RowEnd'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* AutoFilter */\n\t\t\t\tcase 'autofilter' /*case 'AutoFilter'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'autofiltercolumn' /*case 'AutoFilterColumn'*/: break;\n\t\t\t\t\tcase 'autofiltercondition' /*case 'AutoFilterCondition'*/: break;\n\t\t\t\t\tcase 'autofilterand' /*case 'AutoFilterAnd'*/: break;\n\t\t\t\t\tcase 'autofilteror' /*case 'AutoFilterOr'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* QueryTable */\n\t\t\t\tcase 'querytable' /*case 'QueryTable'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'id' /*case 'Id'*/: break;\n\t\t\t\t\tcase 'autoformatfont' /*case 'AutoFormatFont'*/: break;\n\t\t\t\t\tcase 'autoformatpattern' /*case 'AutoFormatPattern'*/: break;\n\t\t\t\t\tcase 'querysource' /*case 'QuerySource'*/: break;\n\t\t\t\t\tcase 'querytype' /*case 'QueryType'*/: break;\n\t\t\t\t\tcase 'enableredirections' /*case 'EnableRedirections'*/: break;\n\t\t\t\t\tcase 'refreshedinxl9' /*case 'RefreshedInXl9'*/: break;\n\t\t\t\t\tcase 'urlstring' /*case 'URLString'*/: break;\n\t\t\t\t\tcase 'htmltables' /*case 'HTMLTables'*/: break;\n\t\t\t\t\tcase 'connection' /*case 'Connection'*/: break;\n\t\t\t\t\tcase 'commandtext' /*case 'CommandText'*/: break;\n\t\t\t\t\tcase 'refreshinfo' /*case 'RefreshInfo'*/: break;\n\t\t\t\t\tcase 'notitles' /*case 'NoTitles'*/: break;\n\t\t\t\t\tcase 'nextid' /*case 'NextId'*/: break;\n\t\t\t\t\tcase 'columninfo' /*case 'ColumnInfo'*/: break;\n\t\t\t\t\tcase 'overwritecells' /*case 'OverwriteCells'*/: break;\n\t\t\t\t\tcase 'donotpromptforfile' /*case 'DoNotPromptForFile'*/: break;\n\t\t\t\t\tcase 'textwizardsettings' /*case 'TextWizardSettings'*/: break;\n\t\t\t\t\tcase 'source' /*case 'Source'*/: break;\n\t\t\t\t\tcase 'number' /*case 'Number'*/: break;\n\t\t\t\t\tcase 'decimal' /*case 'Decimal'*/: break;\n\t\t\t\t\tcase 'thousandseparator' /*case 'ThousandSeparator'*/: break;\n\t\t\t\t\tcase 'trailingminusnumbers' /*case 'TrailingMinusNumbers'*/: break;\n\t\t\t\t\tcase 'formatsettings' /*case 'FormatSettings'*/: break;\n\t\t\t\t\tcase 'fieldtype' /*case 'FieldType'*/: break;\n\t\t\t\t\tcase 'delimiters' /*case 'Delimiters'*/: break;\n\t\t\t\t\tcase 'tab' /*case 'Tab'*/: break;\n\t\t\t\t\tcase 'comma' /*case 'Comma'*/: break;\n\t\t\t\t\tcase 'autoformatname' /*case 'AutoFormatName'*/: break;\n\t\t\t\t\tcase 'versionlastedit' /*case 'VersionLastEdit'*/: break;\n\t\t\t\t\tcase 'versionlastrefresh' /*case 'VersionLastRefresh'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\tcase 'datavalidation' /*case 'DataValidation'*/:\n\t\t\t\tswitch(Rn[3]) {\n\t\t\t\t\tcase 'range' /*case 'Range'*/: break;\n\n\t\t\t\t\tcase 'type' /*case 'Type'*/: break;\n\t\t\t\t\tcase 'min' /*case 'Min'*/: break;\n\t\t\t\t\tcase 'max' /*case 'Max'*/: break;\n\t\t\t\t\tcase 'sort' /*case 'Sort'*/: break;\n\t\t\t\t\tcase 'descending' /*case 'Descending'*/: break;\n\t\t\t\t\tcase 'order' /*case 'Order'*/: break;\n\t\t\t\t\tcase 'casesensitive' /*case 'CaseSensitive'*/: break;\n\t\t\t\t\tcase 'value' /*case 'Value'*/: break;\n\t\t\t\t\tcase 'errorstyle' /*case 'ErrorStyle'*/: break;\n\t\t\t\t\tcase 'errormessage' /*case 'ErrorMessage'*/: break;\n\t\t\t\t\tcase 'errortitle' /*case 'ErrorTitle'*/: break;\n\t\t\t\t\tcase 'inputmessage' /*case 'InputMessage'*/: break;\n\t\t\t\t\tcase 'inputtitle' /*case 'InputTitle'*/: break;\n\t\t\t\t\tcase 'combohide' /*case 'ComboHide'*/: break;\n\t\t\t\t\tcase 'inputhide' /*case 'InputHide'*/: break;\n\t\t\t\t\tcase 'condition' /*case 'Condition'*/: break;\n\t\t\t\t\tcase 'qualifier' /*case 'Qualifier'*/: break;\n\t\t\t\t\tcase 'useblank' /*case 'UseBlank'*/: break;\n\t\t\t\t\tcase 'value1' /*case 'Value1'*/: break;\n\t\t\t\t\tcase 'value2' /*case 'Value2'*/: break;\n\t\t\t\t\tcase 'format' /*case 'Format'*/: break;\n\n\t\t\t\t\tcase 'cellrangelist' /*case 'CellRangeList'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\tcase 'sorting' /*case 'Sorting'*/:\n\t\t\t\tcase 'conditionalformatting' /*case 'ConditionalFormatting'*/:\n\t\t\t\tswitch(Rn[3]) {\n\t\t\t\t\tcase 'range' /*case 'Range'*/: break;\n\t\t\t\t\tcase 'type' /*case 'Type'*/: break;\n\t\t\t\t\tcase 'min' /*case 'Min'*/: break;\n\t\t\t\t\tcase 'max' /*case 'Max'*/: break;\n\t\t\t\t\tcase 'sort' /*case 'Sort'*/: break;\n\t\t\t\t\tcase 'descending' /*case 'Descending'*/: break;\n\t\t\t\t\tcase 'order' /*case 'Order'*/: break;\n\t\t\t\t\tcase 'casesensitive' /*case 'CaseSensitive'*/: break;\n\t\t\t\t\tcase 'value' /*case 'Value'*/: break;\n\t\t\t\t\tcase 'errorstyle' /*case 'ErrorStyle'*/: break;\n\t\t\t\t\tcase 'errormessage' /*case 'ErrorMessage'*/: break;\n\t\t\t\t\tcase 'errortitle' /*case 'ErrorTitle'*/: break;\n\t\t\t\t\tcase 'cellrangelist' /*case 'CellRangeList'*/: break;\n\t\t\t\t\tcase 'inputmessage' /*case 'InputMessage'*/: break;\n\t\t\t\t\tcase 'inputtitle' /*case 'InputTitle'*/: break;\n\t\t\t\t\tcase 'combohide' /*case 'ComboHide'*/: break;\n\t\t\t\t\tcase 'inputhide' /*case 'InputHide'*/: break;\n\t\t\t\t\tcase 'condition' /*case 'Condition'*/: break;\n\t\t\t\t\tcase 'qualifier' /*case 'Qualifier'*/: break;\n\t\t\t\t\tcase 'useblank' /*case 'UseBlank'*/: break;\n\t\t\t\t\tcase 'value1' /*case 'Value1'*/: break;\n\t\t\t\t\tcase 'value2' /*case 'Value2'*/: break;\n\t\t\t\t\tcase 'format' /*case 'Format'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* MapInfo (schema) */\n\t\t\t\tcase 'mapinfo' /*case 'MapInfo'*/: case 'schema' /*case 'Schema'*/: case 'data' /*case 'data'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'map' /*case 'Map'*/: break;\n\t\t\t\t\tcase 'entry' /*case 'Entry'*/: break;\n\t\t\t\t\tcase 'range' /*case 'Range'*/: break;\n\t\t\t\t\tcase 'xpath' /*case 'XPath'*/: break;\n\t\t\t\t\tcase 'field' /*case 'Field'*/: break;\n\t\t\t\t\tcase 'xsdtype' /*case 'XSDType'*/: break;\n\t\t\t\t\tcase 'filteron' /*case 'FilterOn'*/: break;\n\t\t\t\t\tcase 'aggregate' /*case 'Aggregate'*/: break;\n\t\t\t\t\tcase 'elementtype' /*case 'ElementType'*/: break;\n\t\t\t\t\tcase 'attributetype' /*case 'AttributeType'*/: break;\n\t\t\t\t/* These are from xsd (XML Schema Definition) */\n\t\t\t\t\tcase 'schema' /*case 'schema'*/:\n\t\t\t\t\tcase 'element' /*case 'element'*/:\n\t\t\t\t\tcase 'complextype' /*case 'complexType'*/:\n\t\t\t\t\tcase 'datatype' /*case 'datatype'*/:\n\t\t\t\t\tcase 'all' /*case 'all'*/:\n\t\t\t\t\tcase 'attribute' /*case 'attribute'*/:\n\t\t\t\t\tcase 'extends' /*case 'extends'*/: break;\n\n\t\t\t\t\tcase 'row' /*case 'row'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* SmartTags (can be anything) */\n\t\t\t\tcase 'smarttags' /*case 'SmartTags'*/: break;\n\n\t\t\t\tdefault: seen = false; break;\n\t\t\t}\n\t\t\tif(seen) break;\n\t\t\t/* CustomDocumentProperties */\n\t\t\tif(Rn[3].match(/!\\[CDATA/)) break;\n\t\t\tif(!state[state.length-1][1]) throw 'Unrecognized tag: ' + Rn[3] + \"|\" + state.join(\"|\");\n\t\t\tif(state[state.length-1][0]===/*'CustomDocumentProperties'*/'customdocumentproperties') {\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\t\telse if(Rn[1]===\"/\") xlml_set_custprop(Custprops, raw_Rn3, cp, str.slice(pidx, Rn.index));\n\t\t\t\telse { cp = Rn; pidx = Rn.index + Rn[0].length; }\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(opts.WTF) throw 'Unrecognized tag: ' + Rn[3] + \"|\" + state.join(\"|\");\n\t}\n\tvar out = ({});\n\tif(!opts.bookSheets && !opts.bookProps) out.Sheets = sheets;\n\tout.SheetNames = sheetnames;\n\tout.Workbook = Workbook;\n\tout.SSF = SSF.get_table();\n\tout.Props = Props;\n\tout.Custprops = Custprops;\n\treturn out;\n}\n\nfunction parse_xlml(data, opts) {\n\tfix_read_opts(opts=opts||{});\n\tswitch(opts.type||\"base64\") {\n\t\tcase \"base64\": return parse_xlml_xml(Base64.decode(data), opts);\n\t\tcase \"binary\": case \"buffer\": case \"file\": return parse_xlml_xml(data, opts);\n\t\tcase \"array\": return parse_xlml_xml(a2s(data), opts);\n\t}\n}\n\n/* TODO */\nfunction write_props_xlml(wb, opts) {\n\tvar o = [];\n\t/* DocumentProperties */\n\tif(wb.Props) o.push(xlml_write_docprops(wb.Props, opts));\n\t/* CustomDocumentProperties */\n\tif(wb.Custprops) o.push(xlml_write_custprops(wb.Props, wb.Custprops, opts));\n\treturn o.join(\"\");\n}\n/* TODO */\nfunction write_wb_xlml() {\n\t/* OfficeDocumentSettings */\n\t/* ExcelWorkbook */\n\treturn \"\";\n}\n/* TODO */\nfunction write_sty_xlml(wb, opts) {\n\t/* Styles */\n\tvar styles = [''];\n\topts.cellXfs.forEach(function(xf, id) {\n\t\tvar payload = [];\n\t\tpayload.push(writextag('NumberFormat', null, {\"ss:Format\": escapexml(SSF._table[xf.numFmtId])}));\n\n\t\tvar o = {\"ss:ID\": \"s\" + (21+id)};\n\t\tstyles.push(writextag('Style', payload.join(\"\"), o));\n\t});\n\treturn writextag(\"Styles\", styles.join(\"\"));\n}\nfunction write_name_xlml(n) { return writextag(\"NamedRange\", null, {\"ss:Name\": n.Name, \"ss:RefersTo\":\"=\" + a1_to_rc(n.Ref, {r:0,c:0})}); }\nfunction write_names_xlml(wb) {\n\tif(!((wb||{}).Workbook||{}).Names) return \"\";\nvar names = wb.Workbook.Names;\n\tvar out = [];\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar n = names[i];\n\t\tif(n.Sheet != null) continue;\n\t\tif(n.Name.match(/^_xlfn\\./)) continue;\n\t\tout.push(write_name_xlml(n));\n\t}\n\treturn writextag(\"Names\", out.join(\"\"));\n}\nfunction write_ws_xlml_names(ws, opts, idx, wb) {\n\tif(!ws) return \"\";\n\tif(!((wb||{}).Workbook||{}).Names) return \"\";\nvar names = wb.Workbook.Names;\n\tvar out = [];\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar n = names[i];\n\t\tif(n.Sheet != idx) continue;\n\t\t/*switch(n.Name) {\n\t\t\tcase \"_\": continue;\n\t\t}*/\n\t\tif(n.Name.match(/^_xlfn\\./)) continue;\n\t\tout.push(write_name_xlml(n));\n\t}\n\treturn out.join(\"\");\n}\n/* WorksheetOptions */\nfunction write_ws_xlml_wsopts(ws, opts, idx, wb) {\n\tif(!ws) return \"\";\n\tvar o = [];\n\t/* NOTE: spec technically allows any order, but stick with implied order */\n\n\t/* FitToPage */\n\t/* DoNotDisplayColHeaders */\n\t/* DoNotDisplayRowHeaders */\n\t/* ViewableRange */\n\t/* Selection */\n\t/* GridlineColor */\n\t/* Name */\n\t/* ExcelWorksheetType */\n\t/* IntlMacro */\n\t/* Unsynced */\n\t/* Selected */\n\t/* CodeName */\n\n\tif(ws['!margins']) {\n\t\to.push(\"\");\n\t\tif(ws['!margins'].header) o.push(writextag(\"Header\", null, {'x:Margin':ws['!margins'].header}));\n\t\tif(ws['!margins'].footer) o.push(writextag(\"Footer\", null, {'x:Margin':ws['!margins'].footer}));\n\t\to.push(writextag(\"PageMargins\", null, {\n\t\t\t'x:Bottom': ws['!margins'].bottom || \"0.75\",\n\t\t\t'x:Left': ws['!margins'].left || \"0.7\",\n\t\t\t'x:Right': ws['!margins'].right || \"0.7\",\n\t\t\t'x:Top': ws['!margins'].top || \"0.75\"\n\t\t}));\n\t\to.push(\"\");\n\t}\n\n\t/* PageSetup */\n\t/* DisplayPageBreak */\n\t/* TransitionExpressionEvaluation */\n\t/* TransitionFormulaEntry */\n\t/* Print */\n\t/* Zoom */\n\t/* PageLayoutZoom */\n\t/* PageBreakZoom */\n\t/* ShowPageBreakZoom */\n\t/* DefaultRowHeight */\n\t/* DefaultColumnWidth */\n\t/* StandardWidth */\n\n\tif(wb && wb.Workbook && wb.Workbook.Sheets && wb.Workbook.Sheets[idx]) {\n\t\t/* Visible */\n\t\tif(wb.Workbook.Sheets[idx].Hidden) o.push(writextag(\"Visible\", (wb.Workbook.Sheets[idx].Hidden == 1 ? \"SheetHidden\" : \"SheetVeryHidden\"), {}));\n\t\telse {\n\t\t\t/* Selected */\n\t\t\tfor(var i = 0; i < idx; ++i) if(wb.Workbook.Sheets[i] && !wb.Workbook.Sheets[i].Hidden) break;\n\t\t\tif(i == idx) o.push(\"\");\n\t\t}\n\t}\n\n\t/* LeftColumnVisible */\n\n\tif(((((wb||{}).Workbook||{}).Views||[])[0]||{}).RTL) o.push(\"\");\n\n\t/* GridlineColorIndex */\n\t/* DisplayFormulas */\n\t/* DoNotDisplayGridlines */\n\t/* DoNotDisplayHeadings */\n\t/* DoNotDisplayOutline */\n\t/* ApplyAutomaticOutlineStyles */\n\t/* NoSummaryRowsBelowDetail */\n\t/* NoSummaryColumnsRightDetail */\n\t/* DoNotDisplayZeros */\n\t/* ActiveRow */\n\t/* ActiveColumn */\n\t/* FilterOn */\n\t/* RangeSelection */\n\t/* TopRowVisible */\n\t/* TopRowBottomPane */\n\t/* LeftColumnRightPane */\n\t/* ActivePane */\n\t/* SplitHorizontal */\n\t/* SplitVertical */\n\t/* FreezePanes */\n\t/* FrozenNoSplit */\n\t/* TabColorIndex */\n\t/* Panes */\n\n\t/* NOTE: Password not supported in XLML Format */\n\tif(ws['!protect']) {\n\t\to.push(writetag(\"ProtectContents\", \"True\"));\n\t\tif(ws['!protect'].objects) o.push(writetag(\"ProtectObjects\", \"True\"));\n\t\tif(ws['!protect'].scenarios) o.push(writetag(\"ProtectScenarios\", \"True\"));\n\t\tif(ws['!protect'].selectLockedCells != null && !ws['!protect'].selectLockedCells) o.push(writetag(\"EnableSelection\", \"NoSelection\"));\n\t\telse if(ws['!protect'].selectUnlockedCells != null && !ws['!protect'].selectUnlockedCells) o.push(writetag(\"EnableSelection\", \"UnlockedCells\"));\n\t[\n\t\t[ \"formatCells\", \"AllowFormatCells\" ],\n\t\t[ \"formatColumns\", \"AllowSizeCols\" ],\n\t\t[ \"formatRows\", \"AllowSizeRows\" ],\n\t\t[ \"insertColumns\", \"AllowInsertCols\" ],\n\t\t[ \"insertRows\", \"AllowInsertRows\" ],\n\t\t[ \"insertHyperlinks\", \"AllowInsertHyperlinks\" ],\n\t\t[ \"deleteColumns\", \"AllowDeleteCols\" ],\n\t\t[ \"deleteRows\", \"AllowDeleteRows\" ],\n\t\t[ \"sort\", \"AllowSort\" ],\n\t\t[ \"autoFilter\", \"AllowFilter\" ],\n\t\t[ \"pivotTables\", \"AllowUsePivotTables\" ]\n\t].forEach(function(x) { if(ws['!protect'][x[0]]) o.push(\"<\"+x[1]+\"/>\"); });\n\t}\n\n\tif(o.length == 0) return \"\";\n\treturn writextag(\"WorksheetOptions\", o.join(\"\"), {xmlns:XLMLNS.x});\n}\nfunction write_ws_xlml_comment(comments) {\n\treturn comments.map(function(c) {\n\t\t// TODO: formatted text\n\t\tvar t = xlml_unfixstr(c.t||\"\");\n\t\tvar d =writextag(\"ss:Data\", t, {\"xmlns\":\"http://www.w3.org/TR/REC-html40\"});\n\t\treturn writextag(\"Comment\", d, {\"ss:Author\":c.a});\n\t}).join(\"\");\n}\nfunction write_ws_xlml_cell(cell, ref, ws, opts, idx, wb, addr){\n\tif(!cell || (cell.v == undefined && cell.f == undefined)) return \"\";\n\n\tvar attr = {};\n\tif(cell.f) attr[\"ss:Formula\"] = \"=\" + escapexml(a1_to_rc(cell.f, addr));\n\tif(cell.F && cell.F.slice(0, ref.length) == ref) {\n\t\tvar end = decode_cell(cell.F.slice(ref.length + 1));\n\t\tattr[\"ss:ArrayRange\"] = \"RC:R\" + (end.r == addr.r ? \"\" : \"[\" + (end.r - addr.r) + \"]\") + \"C\" + (end.c == addr.c ? \"\" : \"[\" + (end.c - addr.c) + \"]\");\n\t}\n\n\tif(cell.l && cell.l.Target) {\n\t\tattr[\"ss:HRef\"] = escapexml(cell.l.Target);\n\t\tif(cell.l.Tooltip) attr[\"x:HRefScreenTip\"] = escapexml(cell.l.Tooltip);\n\t}\n\n\tif(ws['!merges']) {\n\t\tvar marr = ws['!merges'];\n\t\tfor(var mi = 0; mi != marr.length; ++mi) {\n\t\t\tif(marr[mi].s.c != addr.c || marr[mi].s.r != addr.r) continue;\n\t\t\tif(marr[mi].e.c > marr[mi].s.c) attr['ss:MergeAcross'] = marr[mi].e.c - marr[mi].s.c;\n\t\t\tif(marr[mi].e.r > marr[mi].s.r) attr['ss:MergeDown'] = marr[mi].e.r - marr[mi].s.r;\n\t\t}\n\t}\n\n\tvar t = \"\", p = \"\";\n\tswitch(cell.t) {\n\t\tcase 'z': if(!opts.sheetStubs) return \"\"; break;\n\t\tcase 'n': t = 'Number'; p = String(cell.v); break;\n\t\tcase 'b': t = 'Boolean'; p = (cell.v ? \"1\" : \"0\"); break;\n\t\tcase 'e': t = 'Error'; p = BErr[cell.v]; break;\n\t\tcase 'd': t = 'DateTime'; p = new Date(cell.v).toISOString(); if(cell.z == null) cell.z = cell.z || SSF._table[14]; break;\n\t\tcase 's': t = 'String'; p = escapexlml(cell.v||\"\"); break;\n\t}\n\t/* TODO: cell style */\n\tvar os = get_cell_style(opts.cellXfs, cell, opts);\n\tattr[\"ss:StyleID\"] = \"s\" + (21+os);\n\tattr[\"ss:Index\"] = addr.c + 1;\n\tvar _v = (cell.v != null ? p : \"\");\n\tvar m = cell.t == 'z' ? \"\" : ('' + _v + '');\n\n\tif((cell.c||[]).length > 0) m += write_ws_xlml_comment(cell.c);\n\n\treturn writextag(\"Cell\", m, attr);\n}\nfunction write_ws_xlml_row(R, row) {\n\tvar o = '';\n}\n/* TODO */\nfunction write_ws_xlml_table(ws, opts, idx, wb) {\n\tif(!ws['!ref']) return \"\";\n\tvar range = safe_decode_range(ws['!ref']);\n\tvar marr = ws['!merges'] || [], mi = 0;\n\tvar o = [];\n\tif(ws['!cols']) ws['!cols'].forEach(function(n, i) {\n\t\tprocess_col(n);\n\t\tvar w = !!n.width;\n\t\tvar p = col_obj_w(i, n);\n\t\tvar k = {\"ss:Index\":i+1};\n\t\tif(w) k['ss:Width'] = width2px(p.width);\n\t\tif(n.hidden) k['ss:Hidden']=\"1\";\n\t\to.push(writextag(\"Column\",null,k));\n\t});\n\tvar dense = Array.isArray(ws);\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\tvar row = [write_ws_xlml_row(R, (ws['!rows']||[])[R])];\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tvar skip = false;\n\t\t\tfor(mi = 0; mi != marr.length; ++mi) {\n\t\t\t\tif(marr[mi].s.c > C) continue;\n\t\t\t\tif(marr[mi].s.r > R) continue;\n\t\t\t\tif(marr[mi].e.c < C) continue;\n\t\t\t\tif(marr[mi].e.r < R) continue;\n\t\t\t\tif(marr[mi].s.c != C || marr[mi].s.r != R) skip = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(skip) continue;\n\t\t\tvar addr = {r:R,c:C};\n\t\t\tvar ref = encode_cell(addr), cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\trow.push(write_ws_xlml_cell(cell, ref, ws, opts, idx, wb, addr));\n\t\t}\n\t\trow.push(\"\");\n\t\tif(row.length > 2) o.push(row.join(\"\"));\n\t}\n\treturn o.join(\"\");\n}\nfunction write_ws_xlml(idx, opts, wb) {\n\tvar o = [];\n\tvar s = wb.SheetNames[idx];\n\tvar ws = wb.Sheets[s];\n\n\tvar t = ws ? write_ws_xlml_names(ws, opts, idx, wb) : \"\";\n\tif(t.length > 0) o.push(\"\" + t + \"\");\n\n\t/* Table */\n\tt = ws ? write_ws_xlml_table(ws, opts, idx, wb) : \"\";\n\tif(t.length > 0) o.push(\"\" + t + \"
\");\n\n\t/* WorksheetOptions */\n\to.push(write_ws_xlml_wsopts(ws, opts, idx, wb));\n\n\treturn o.join(\"\");\n}\nfunction write_xlml(wb, opts) {\n\tif(!opts) opts = {};\n\tif(!wb.SSF) wb.SSF = SSF.get_table();\n\tif(wb.SSF) {\n\t\tmake_ssf(SSF); SSF.load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t\topts.cellXfs = [];\n\t\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\t}\n\tvar d = [];\n\td.push(write_props_xlml(wb, opts));\n\td.push(write_wb_xlml(wb, opts));\n\td.push(\"\");\n\td.push(\"\");\n\tfor(var i = 0; i < wb.SheetNames.length; ++i)\n\t\td.push(writextag(\"Worksheet\", write_ws_xlml(i, opts, wb), {\"ss:Name\":escapexml(wb.SheetNames[i])}));\n\td[2] = write_sty_xlml(wb, opts);\n\td[3] = write_names_xlml(wb, opts);\n\treturn XML_HEADER + writextag(\"Workbook\", d.join(\"\"), {\n\t\t'xmlns': XLMLNS.ss,\n\t\t'xmlns:o': XLMLNS.o,\n\t\t'xmlns:x': XLMLNS.x,\n\t\t'xmlns:ss': XLMLNS.ss,\n\t\t'xmlns:dt': XLMLNS.dt,\n\t\t'xmlns:html': XLMLNS.html\n\t});\n}\n/* [MS-OLEDS] 2.3.8 CompObjStream */\nfunction parse_compobj(obj) {\n\tvar v = {};\n\tvar o = obj.content;\n/* [MS-OLEDS] 2.3.7 CompObjHeader -- All fields MUST be ignored */\n\to.l = 28;\n\n\tv.AnsiUserType = o.read_shift(0, \"lpstr-ansi\");\n\tv.AnsiClipboardFormat = parse_ClipboardFormatOrAnsiString(o);\n\n\tif(o.length - o.l <= 4) return v;\n\n\tvar m = o.read_shift(4);\n\tif(m == 0 || m > 40) return v;\n\to.l-=4; v.Reserved1 = o.read_shift(0, \"lpstr-ansi\");\n\n\tif(o.length - o.l <= 4) return v;\n\tm = o.read_shift(4);\n\tif(m !== 0x71b239f4) return v;\n\tv.UnicodeClipboardFormat = parse_ClipboardFormatOrUnicodeString(o);\n\n\tm = o.read_shift(4);\n\tif(m == 0 || m > 40) return v;\n\to.l-=4; v.Reserved2 = o.read_shift(0, \"lpwstr\");\n}\n\n/*\n\tContinue logic for:\n\t- 2.4.58 Continue\n\t- 2.4.59 ContinueBigName\n\t- 2.4.60 ContinueFrt\n\t- 2.4.61 ContinueFrt11\n\t- 2.4.62 ContinueFrt12\n*/\nfunction slurp(R, blob, length, opts) {\n\tvar l = length;\n\tvar bufs = [];\n\tvar d = blob.slice(blob.l,blob.l+l);\n\tif(opts && opts.enc && opts.enc.insitu) switch(R.n) {\n\tcase 'BOF': case 'FilePass': case 'FileLock': case 'InterfaceHdr': case 'RRDInfo': case 'RRDHead': case 'UsrExcl': break;\n\tdefault:\n\t\tif(d.length === 0) break;\n\t\topts.enc.insitu(d);\n\t}\n\tbufs.push(d);\n\tblob.l += l;\n\tvar next = (XLSRecordEnum[__readUInt16LE(blob,blob.l)]);\n\tvar start = 0;\n\twhile(next != null && next.n.slice(0,8) === 'Continue') {\n\t\tl = __readUInt16LE(blob,blob.l+2);\n\t\tstart = blob.l + 4;\n\t\tif(next.n == 'ContinueFrt') start += 4;\n\t\telse if(next.n.slice(0,11) == 'ContinueFrt') start += 12;\n\t\tbufs.push(blob.slice(start,blob.l+4+l));\n\t\tblob.l += 4+l;\n\t\tnext = (XLSRecordEnum[__readUInt16LE(blob, blob.l)]);\n\t}\n\tvar b = (bconcat(bufs));\n\tprep_blob(b, 0);\n\tvar ll = 0; b.lens = [];\n\tfor(var j = 0; j < bufs.length; ++j) { b.lens.push(ll); ll += bufs[j].length; }\n\treturn R.f(b, b.length, opts);\n}\n\nfunction safe_format_xf(p, opts, date1904) {\n\tif(p.t === 'z') return;\n\tif(!p.XF) return;\n\tvar fmtid = 0;\n\ttry {\n\t\tfmtid = p.z || p.XF.numFmtId || 0;\n\t\tif(opts.cellNF) p.z = SSF._table[fmtid];\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(!opts || opts.cellText !== false) try {\n\t\tif(p.t === 'e') { p.w = p.w || BErr[p.v]; }\n\t\telse if(fmtid === 0 || fmtid == \"General\") {\n\t\t\tif(p.t === 'n') {\n\t\t\t\tif((p.v|0) === p.v) p.w = SSF._general_int(p.v);\n\t\t\t\telse p.w = SSF._general_num(p.v);\n\t\t\t}\n\t\t\telse p.w = SSF._general(p.v);\n\t\t}\n\t\telse p.w = SSF.format(fmtid,p.v, {date1904:!!date1904});\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(opts.cellDates && fmtid && p.t == 'n' && SSF.is_date(SSF._table[fmtid] || String(fmtid))) {\n\t\tvar _d = SSF.parse_date_code(p.v); if(_d) { p.t = 'd'; p.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t}\n}\n\nfunction make_cell(val, ixfe, t) {\n\treturn ({v:val, ixfe:ixfe, t:t});\n}\n\n// 2.3.2\nfunction parse_workbook(blob, options) {\n\tvar wb = ({opts:{}});\n\tvar Sheets = {};\n\tif(DENSE != null && options.dense == null) options.dense = DENSE;\n\tvar out = ((options.dense ? [] : {}));\n\tvar Directory = {};\n\tvar range = ({});\n\tvar last_formula = null;\n\tvar sst = ([]);\n\tvar cur_sheet = \"\";\n\tvar Preamble = {};\n\tvar lastcell, last_cell = \"\", cc, cmnt, rngC, rngR;\n\tvar sharedf = {};\n\tvar arrayf = [];\n\tvar temp_val;\n\tvar country;\n\tvar cell_valid = true;\n\tvar XFs = []; /* XF records */\n\tvar palette = [];\n\tvar Workbook = ({ Sheets:[], WBProps:{date1904:false}, Views:[{}] }), wsprops = {};\n\tvar get_rgb = function getrgb(icv) {\n\t\tif(icv < 8) return XLSIcv[icv];\n\t\tif(icv < 64) return palette[icv-8] || XLSIcv[icv];\n\t\treturn XLSIcv[icv];\n\t};\n\tvar process_cell_style = function pcs(cell, line, options) {\n\t\tvar xfd = line.XF.data;\n\t\tif(!xfd || !xfd.patternType || !options || !options.cellStyles) return;\n\t\tline.s = ({});\n\t\tline.s.patternType = xfd.patternType;\n\t\tvar t;\n\t\tif((t = rgb2Hex(get_rgb(xfd.icvFore)))) { line.s.fgColor = {rgb:t}; }\n\t\tif((t = rgb2Hex(get_rgb(xfd.icvBack)))) { line.s.bgColor = {rgb:t}; }\n\t};\n\tvar addcell = function addcell(cell, line, options) {\n\t\tif(file_depth > 1) return;\n\t\tif(options.sheetRows && cell.r >= options.sheetRows) cell_valid = false;\n\t\tif(!cell_valid) return;\n\t\tif(options.cellStyles && line.XF && line.XF.data) process_cell_style(cell, line, options);\n\t\tdelete line.ixfe; delete line.XF;\n\t\tlastcell = cell;\n\t\tlast_cell = encode_cell(cell);\n\t\tif(!range || !range.s || !range.e) range = {s:{r:0,c:0},e:{r:0,c:0}};\n\t\tif(cell.r < range.s.r) range.s.r = cell.r;\n\t\tif(cell.c < range.s.c) range.s.c = cell.c;\n\t\tif(cell.r + 1 > range.e.r) range.e.r = cell.r + 1;\n\t\tif(cell.c + 1 > range.e.c) range.e.c = cell.c + 1;\n\t\tif(options.cellFormula && line.f) {\n\t\t\tfor(var afi = 0; afi < arrayf.length; ++afi) {\n\t\t\t\tif(arrayf[afi][0].s.c > cell.c || arrayf[afi][0].s.r > cell.r) continue;\n\t\t\t\tif(arrayf[afi][0].e.c < cell.c || arrayf[afi][0].e.r < cell.r) continue;\n\t\t\t\tline.F = encode_range(arrayf[afi][0]);\n\t\t\t\tif(arrayf[afi][0].s.c != cell.c || arrayf[afi][0].s.r != cell.r) delete line.f;\n\t\t\t\tif(line.f) line.f = \"\" + stringify_formula(arrayf[afi][1], range, cell, supbooks, opts);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t{\n\t\t\tif(options.dense) {\n\t\t\t\tif(!out[cell.r]) out[cell.r] = [];\n\t\t\t\tout[cell.r][cell.c] = line;\n\t\t\t} else out[last_cell] = line;\n\t\t}\n\t};\n\tvar opts = ({\n\t\tenc: false, // encrypted\n\t\tsbcch: 0, // cch in the preceding SupBook\n\t\tsnames: [], // sheetnames\n\t\tsharedf: sharedf, // shared formulae by address\n\t\tarrayf: arrayf, // array formulae array\n\t\trrtabid: [], // RRTabId\n\t\tlastuser: \"\", // Last User from WriteAccess\n\t\tbiff: 8, // BIFF version\n\t\tcodepage: 0, // CP from CodePage record\n\t\twinlocked: 0, // fLockWn from WinProtect\n\t\tcellStyles: !!options && !!options.cellStyles,\n\t\tWTF: !!options && !!options.wtf\n\t});\n\tif(options.password) opts.password = options.password;\n\tvar themes;\n\tvar merges = [];\n\tvar objects = [];\n\tvar colinfo = [], rowinfo = [];\n\t// eslint-disable-next-line no-unused-vars\n\tvar defwidth = 0, defheight = 0; // twips / MDW respectively\n\tvar seencol = false;\n\tvar supbooks = ([]); // 1-indexed, will hold extern names\n\tsupbooks.SheetNames = opts.snames;\n\tsupbooks.sharedf = opts.sharedf;\n\tsupbooks.arrayf = opts.arrayf;\n\tsupbooks.names = [];\n\tsupbooks.XTI = [];\n\tvar last_Rn = '';\n\tvar file_depth = 0; /* TODO: make a real stack */\n\tvar BIFF2Fmt = 0, BIFF2FmtTable = [];\n\tvar FilterDatabases = []; /* TODO: sort out supbooks and process elsewhere */\n\tvar last_lbl;\n\n\t/* explicit override for some broken writers */\n\topts.codepage = 1200;\n\tset_cp(1200);\n\tvar seen_codepage = false;\n\twhile(blob.l < blob.length - 1) {\n\t\tvar s = blob.l;\n\t\tvar RecordType = blob.read_shift(2);\n\t\tif(RecordType === 0 && last_Rn === 'EOF') break;\n\t\tvar length = (blob.l === blob.length ? 0 : blob.read_shift(2));\n\t\tvar R = XLSRecordEnum[RecordType];\n\t\t//console.log(RecordType.toString(16), RecordType, R, blob.l, length, blob.length);\n\t\t//if(!R) console.log(blob.slice(blob.l, blob.l + length));\n\t\tif(R && R.f) {\n\t\t\tif(options.bookSheets) {\n\t\t\t\tif(last_Rn === 'BoundSheet8' && R.n !== 'BoundSheet8') break;\n\t\t\t}\n\t\t\tlast_Rn = R.n;\n\t\t\tif(R.r === 2 || R.r == 12) {\n\t\t\t\tvar rt = blob.read_shift(2); length -= 2;\n\t\t\t\tif(!opts.enc && rt !== RecordType && (((rt&0xFF)<<8)|(rt>>8)) !== RecordType) throw new Error(\"rt mismatch: \" + rt + \"!=\" + RecordType);\n\t\t\t\tif(R.r == 12){ blob.l += 10; length -= 10; } // skip FRT\n\t\t\t}\n\t\t\t//console.error(R,blob.l,length,blob.length);\n\t\t\tvar val = ({});\n\t\t\tif(R.n === 'EOF') val = R.f(blob, length, opts);\n\t\t\telse val = slurp(R, blob, length, opts);\n\t\t\tvar Rn = R.n;\nif(file_depth == 0 && Rn != 'BOF') continue;\n\t\t\t/* nested switch statements to workaround V8 128 limit */\n\t\t\tswitch(Rn) {\n\t\t\t\t/* Workbook Options */\n\t\t\t\tcase 'Date1904':\nwb.opts.Date1904 = Workbook.WBProps.date1904 = val; break;\n\t\t\t\tcase 'WriteProtect': wb.opts.WriteProtect = true; break;\n\t\t\t\tcase 'FilePass':\n\t\t\t\t\tif(!opts.enc) blob.l = 0;\n\t\t\t\t\topts.enc = val;\n\t\t\t\t\tif(!options.password) throw new Error(\"File is password-protected\");\n\t\t\t\t\tif(val.valid == null) throw new Error(\"Encryption scheme unsupported\");\n\t\t\t\t\tif(!val.valid) throw new Error(\"Password is incorrect\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'WriteAccess': opts.lastuser = val; break;\n\t\t\t\tcase 'FileSharing': break; //TODO\n\t\t\t\tcase 'CodePage':\n\t\t\t\t\tvar cpval = Number(val);\n\t\t\t\t\t/* overrides based on test cases */\n\t\t\t\t\tswitch(cpval) {\n\t\t\t\t\t\tcase 0x5212: cpval = 1200; break;\n\t\t\t\t\t\tcase 0x8000: cpval = 10000; break;\n\t\t\t\t\t\tcase 0x8001: cpval = 1252; break;\n\t\t\t\t\t}\n\t\t\t\t\tset_cp(opts.codepage = cpval);\n\t\t\t\t\tseen_codepage = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'RRTabId': opts.rrtabid = val; break;\n\t\t\t\tcase 'WinProtect': opts.winlocked = val; break;\n\t\t\t\tcase 'Template': break; // TODO\n\t\t\t\tcase 'BookBool': break; // TODO\n\t\t\t\tcase 'UsesELFs': break;\n\t\t\t\tcase 'MTRSettings': break;\n\t\t\t\tcase 'RefreshAll':\n\t\t\t\tcase 'CalcCount':\n\t\t\t\tcase 'CalcDelta':\n\t\t\t\tcase 'CalcIter':\n\t\t\t\tcase 'CalcMode':\n\t\t\t\tcase 'CalcPrecision':\n\t\t\t\tcase 'CalcSaveRecalc':\n\t\t\t\t\twb.opts[Rn] = val; break;\n\t\t\t\tcase 'CalcRefMode': opts.CalcRefMode = val; break; // TODO: implement R1C1\n\t\t\t\tcase 'Uncalced': break;\n\t\t\t\tcase 'ForceFullCalculation': wb.opts.FullCalc = val; break;\n\t\t\t\tcase 'WsBool':\n\t\t\t\t\tif(val.fDialog) out[\"!type\"] = \"dialog\";\n\t\t\t\t\tbreak; // TODO\n\t\t\t\tcase 'XF':\n\t\t\t\t\tXFs.push(val); break;\n\t\t\t\tcase 'ExtSST': break; // TODO\n\t\t\t\tcase 'BookExt': break; // TODO\n\t\t\t\tcase 'RichTextStream': break;\n\t\t\t\tcase 'BkHim': break;\n\n\t\t\t\tcase 'SupBook':\n\t\t\t\t\tsupbooks.push([val]);\n\t\t\t\t\tsupbooks[supbooks.length-1].XTI = [];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ExternName':\n\t\t\t\t\tsupbooks[supbooks.length-1].push(val);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'Index': break; // TODO\n\t\t\t\tcase 'Lbl':\n\t\t\t\t\tlast_lbl = ({\n\t\t\t\t\t\tName: val.Name,\n\t\t\t\t\t\tRef: stringify_formula(val.rgce,range,null,supbooks,opts)\n\t\t\t\t\t});\n\t\t\t\t\tif(val.itab > 0) last_lbl.Sheet = val.itab - 1;\n\t\t\t\t\tsupbooks.names.push(last_lbl);\n\t\t\t\t\tif(!supbooks[0]) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\t\tsupbooks[supbooks.length-1].push(val);\n\t\t\t\t\tif(val.Name == \"_xlnm._FilterDatabase\" && val.itab > 0)\n\t\t\t\t\t\tif(val.rgce && val.rgce[0] && val.rgce[0][0] && val.rgce[0][0][0] == 'PtgArea3d')\n\t\t\t\t\t\t\tFilterDatabases[val.itab - 1] = { ref: encode_range(val.rgce[0][0][1][2]) };\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ExternCount': opts.ExternCount = val; break;\n\t\t\t\tcase 'ExternSheet':\n\t\t\t\t\tif(supbooks.length == 0) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\t\tsupbooks[supbooks.length - 1].XTI = supbooks[supbooks.length - 1].XTI.concat(val); supbooks.XTI = supbooks.XTI.concat(val); break;\n\t\t\t\tcase 'NameCmt':\n\t\t\t\t\t/* TODO: search for correct name */\n\t\t\t\t\tif(opts.biff < 8) break;\n\t\t\t\t\tif(last_lbl != null) last_lbl.Comment = val[1];\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Protect': out[\"!protect\"] = val; break; /* for sheet or book */\n\t\t\t\tcase 'Password': if(val !== 0 && opts.WTF) console.error(\"Password verifier: \" + val); break;\n\t\t\t\tcase 'Prot4Rev': case 'Prot4RevPass': break; /*TODO: Revision Control*/\n\n\t\t\t\tcase 'BoundSheet8': {\n\t\t\t\t\tDirectory[val.pos] = val;\n\t\t\t\t\topts.snames.push(val.name);\n\t\t\t\t} break;\n\t\t\t\tcase 'EOF': {\n\t\t\t\t\tif(--file_depth) break;\n\t\t\t\t\tif(range.e) {\n\t\t\t\t\t\tif(range.e.r > 0 && range.e.c > 0) {\n\t\t\t\t\t\t\trange.e.r--; range.e.c--;\n\t\t\t\t\t\t\tout[\"!ref\"] = encode_range(range);\n\t\t\t\t\t\t\tif(options.sheetRows && options.sheetRows <= range.e.r) {\n\t\t\t\t\t\t\t\tvar tmpri = range.e.r;\n\t\t\t\t\t\t\t\trange.e.r = options.sheetRows - 1;\n\t\t\t\t\t\t\t\tout[\"!fullref\"] = out[\"!ref\"];\n\t\t\t\t\t\t\t\tout[\"!ref\"] = encode_range(range);\n\t\t\t\t\t\t\t\trange.e.r = tmpri;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trange.e.r++; range.e.c++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(merges.length > 0) out[\"!merges\"] = merges;\n\t\t\t\t\t\tif(objects.length > 0) out[\"!objects\"] = objects;\n\t\t\t\t\t\tif(colinfo.length > 0) out[\"!cols\"] = colinfo;\n\t\t\t\t\t\tif(rowinfo.length > 0) out[\"!rows\"] = rowinfo;\n\t\t\t\t\t\tWorkbook.Sheets.push(wsprops);\n\t\t\t\t\t}\n\t\t\t\t\tif(cur_sheet === \"\") Preamble = out; else Sheets[cur_sheet] = out;\n\t\t\t\t\tout = ((options.dense ? [] : {}));\n\t\t\t\t} break;\n\t\t\t\tcase 'BOF': {\n\t\t\t\t\tif(opts.biff === 8) opts.biff = {\n0x0009:2,\n0x0209:3,\n0x0409:4\n\t\t\t\t\t}[RecordType] || {\n0x0200:2,\n0x0300:3,\n0x0400:4,\n0x0500:5,\n0x0600:8,\n0x0002:2,\n0x0007:2\n\t\t\t\t\t}[val.BIFFVer] || 8;\n\t\t\t\t\tif(opts.biff == 8 && val.BIFFVer == 0 && val.dt == 16) opts.biff = 2;\n\t\t\t\t\tif(file_depth++) break;\n\t\t\t\t\tcell_valid = true;\n\t\t\t\t\tout = ((options.dense ? [] : {}));\n\n\t\t\t\t\tif(opts.biff < 8 && !seen_codepage) { seen_codepage = true; set_cp(opts.codepage = options.codepage || 1252); }\n\t\t\t\t\tif(opts.biff < 5) {\n\t\t\t\t\t\tif(cur_sheet === \"\") cur_sheet = \"Sheet1\";\n\t\t\t\t\t\trange = {s:{r:0,c:0},e:{r:0,c:0}};\n\t\t\t\t\t\t/* fake BoundSheet8 */\n\t\t\t\t\t\tvar fakebs8 = {pos: blob.l - length, name:cur_sheet};\n\t\t\t\t\t\tDirectory[fakebs8.pos] = fakebs8;\n\t\t\t\t\t\topts.snames.push(cur_sheet);\n\t\t\t\t\t}\n\t\t\t\t\telse cur_sheet = (Directory[s] || {name:\"\"}).name;\n\t\t\t\t\tif(val.dt == 0x20) out[\"!type\"] = \"chart\";\n\t\t\t\t\tif(val.dt == 0x40) out[\"!type\"] = \"macro\";\n\t\t\t\t\tmerges = [];\n\t\t\t\t\tobjects = [];\n\t\t\t\t\topts.arrayf = arrayf = [];\n\t\t\t\t\tcolinfo = []; rowinfo = [];\n\t\t\t\t\tdefwidth = defheight = 0;\n\t\t\t\t\tseencol = false;\n\t\t\t\t\twsprops = {Hidden:(Directory[s]||{hs:0}).hs, name:cur_sheet };\n\t\t\t\t} break;\n\n\t\t\t\tcase 'Number': case 'BIFF2NUM': case 'BIFF2INT': {\n\t\t\t\t\tif(out[\"!type\"] == \"chart\") if(options.dense ? (out[val.r]||[])[val.c]: out[encode_cell({c:val.c, r:val.r})]) ++val.c;\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe]||{}, v:val.val, t:'n'});\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 'BoolErr': {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.val, t:val.t});\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 'RK': {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.rknum, t:'n'});\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 'MulRk': {\n\t\t\t\t\tfor(var j = val.c; j <= val.C; ++j) {\n\t\t\t\t\t\tvar ixfe = val.rkrec[j-val.c][0];\n\t\t\t\t\t\ttemp_val= ({ixfe:ixfe, XF:XFs[ixfe], v:val.rkrec[j-val.c][1], t:'n'});\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell({c:j, r:val.r}, temp_val, options);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 'Formula': {\n\t\t\t\t\tif(val.val == 'String') { last_formula = val; break; }\n\t\t\t\t\ttemp_val = make_cell(val.val, val.cell.ixfe, val.tt);\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(options.cellFormula) {\n\t\t\t\t\t\tvar _f = val.formula;\n\t\t\t\t\t\tif(_f && _f[0] && _f[0][0] && _f[0][0][0] == 'PtgExp') {\n\t\t\t\t\t\t\tvar _fr = _f[0][0][1][0], _fc = _f[0][0][1][1];\n\t\t\t\t\t\t\tvar _fe = encode_cell({r:_fr, c:_fc});\n\t\t\t\t\t\t\tif(sharedf[_fe]) temp_val.f = \"\"+stringify_formula(val.formula,range,val.cell,supbooks, opts);\n\t\t\t\t\t\t\telse temp_val.F = ((options.dense ? (out[_fr]||[])[_fc]: out[_fe]) || {}).F;\n\t\t\t\t\t\t} else temp_val.f = \"\"+stringify_formula(val.formula,range,val.cell,supbooks, opts);\n\t\t\t\t\t}\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell(val.cell, temp_val, options);\n\t\t\t\t\tlast_formula = val;\n\t\t\t\t} break;\n\t\t\t\tcase 'String': {\n\t\t\t\t\tif(last_formula) { /* technically always true */\n\t\t\t\t\t\tlast_formula.val = val;\n\t\t\t\t\t\ttemp_val = make_cell(val, last_formula.cell.ixfe, 's');\n\t\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\t\tif(options.cellFormula) {\n\t\t\t\t\t\t\ttemp_val.f = \"\"+stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell(last_formula.cell, temp_val, options);\n\t\t\t\t\t\tlast_formula = null;\n\t\t\t\t\t} else throw new Error(\"String record expects Formula\");\n\t\t\t\t} break;\n\t\t\t\tcase 'Array': {\n\t\t\t\t\tarrayf.push(val);\n\t\t\t\t\tvar _arraystart = encode_cell(val[0].s);\n\t\t\t\t\tcc = options.dense ? (out[val[0].s.r]||[])[val[0].s.c] : out[_arraystart];\n\t\t\t\t\tif(options.cellFormula && cc) {\n\t\t\t\t\t\tif(!last_formula) break; /* technically unreachable */\n\t\t\t\t\t\tif(!_arraystart || !cc) break;\n\t\t\t\t\t\tcc.f = \"\"+stringify_formula(val[1], range, val[0], supbooks, opts);\n\t\t\t\t\t\tcc.F = encode_range(val[0]);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 'ShrFmla': {\n\t\t\t\t\tif(!cell_valid) break;\n\t\t\t\t\tif(!options.cellFormula) break;\n\t\t\t\t\tif(last_cell) {\n\t\t\t\t\t\t/* TODO: capture range */\n\t\t\t\t\t\tif(!last_formula) break; /* technically unreachable */\n\t\t\t\t\t\tsharedf[encode_cell(last_formula.cell)]= val[0];\n\t\t\t\t\t\tcc = options.dense ? (out[last_formula.cell.r]||[])[last_formula.cell.c] : out[encode_cell(last_formula.cell)];\n\t\t\t\t\t\t(cc||{}).f = \"\"+stringify_formula(val[0], range, lastcell, supbooks, opts);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 'LabelSst':\n\t\t\t\t\ttemp_val=make_cell(sst[val.isst].t, val.ixfe, 's');\n\t\t\t\t\tif(sst[val.isst].h) temp_val.h = sst[val.isst].h;\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'Blank': if(options.sheetStubs) {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], t:'z'});\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 'MulBlank': if(options.sheetStubs) {\n\t\t\t\t\tfor(var _j = val.c; _j <= val.C; ++_j) {\n\t\t\t\t\t\tvar _ixfe = val.ixfe[_j-val.c];\n\t\t\t\t\t\ttemp_val= ({ixfe:_ixfe, XF:XFs[_ixfe], t:'z'});\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell({c:_j, r:val.r}, temp_val, options);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 'RString':\n\t\t\t\tcase 'Label': case 'BIFF2STR':\n\t\t\t\t\ttemp_val=make_cell(val.val, val.ixfe, 's');\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Dimensions': {\n\t\t\t\t\tif(file_depth === 1) range = val; /* TODO: stack */\n\t\t\t\t} break;\n\t\t\t\tcase 'SST': {\n\t\t\t\t\tsst = val;\n\t\t\t\t} break;\n\t\t\t\tcase 'Format': { /* val = [id, fmt] */\n\t\t\t\t\tif(opts.biff == 4) {\n\t\t\t\t\t\tBIFF2FmtTable[BIFF2Fmt++] = val[1];\n\t\t\t\t\t\tfor(var b4idx = 0; b4idx < BIFF2Fmt + 163; ++b4idx) if(SSF._table[b4idx] == val[1]) break;\n\t\t\t\t\t\tif(b4idx >= 163) SSF.load(val[1], BIFF2Fmt + 163);\n\t\t\t\t\t}\n\t\t\t\t\telse SSF.load(val[1], val[0]);\n\t\t\t\t} break;\n\t\t\t\tcase 'BIFF2FORMAT': {\n\t\t\t\t\tBIFF2FmtTable[BIFF2Fmt++] = val;\n\t\t\t\t\tfor(var b2idx = 0; b2idx < BIFF2Fmt + 163; ++b2idx) if(SSF._table[b2idx] == val) break;\n\t\t\t\t\tif(b2idx >= 163) SSF.load(val, BIFF2Fmt + 163);\n\t\t\t\t} break;\n\n\t\t\t\tcase 'MergeCells': merges = merges.concat(val); break;\n\n\t\t\t\tcase 'Obj': objects[val.cmo[0]] = opts.lastobj = val; break;\n\t\t\t\tcase 'TxO': opts.lastobj.TxO = val; break;\n\t\t\t\tcase 'ImData': opts.lastobj.ImData = val; break;\n\n\t\t\t\tcase 'HLink': {\n\t\t\t\t\tfor(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR)\n\t\t\t\t\t\tfor(rngC = val[0].s.c; rngC <= val[0].e.c; ++rngC) {\n\t\t\t\t\t\t\tcc = options.dense ? (out[rngR]||[])[rngC] : out[encode_cell({c:rngC,r:rngR})];\n\t\t\t\t\t\t\tif(cc) cc.l = val[1];\n\t\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 'HLinkTooltip': {\n\t\t\t\t\tfor(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR)\n\t\t\t\t\t\tfor(rngC = val[0].s.c; rngC <= val[0].e.c; ++rngC) {\n\t\t\t\t\t\t\tcc = options.dense ? (out[rngR]||[])[rngC] : out[encode_cell({c:rngC,r:rngR})];\n\t\t\t\t\t\t\tif(cc && cc.l) cc.l.Tooltip = val[1];\n\t\t\t\t\t\t\t}\n\t\t\t\t} break;\n\n\t\t\t\t/* Comments */\n\t\t\t\tcase 'Note': {\n\t\t\t\t\tif(opts.biff <= 5 && opts.biff >= 2) break; /* TODO: BIFF5 */\n\t\t\t\t\tcc = options.dense ? (out[val[0].r]||[])[val[0].c] : out[encode_cell(val[0])];\n\t\t\t\t\tvar noteobj = objects[val[2]];\n\t\t\t\t\tif(!cc) {\n\t\t\t\t\t\tif(options.dense) {\n\t\t\t\t\t\t\tif(!out[val[0].r]) out[val[0].r] = [];\n\t\t\t\t\t\t\tcc = out[val[0].r][val[0].c] = ({t:\"z\"});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcc = out[encode_cell(val[0])] = ({t:\"z\"});\n\t\t\t\t\t\t}\n\t\t\t\t\t\trange.e.r = Math.max(range.e.r, val[0].r);\n\t\t\t\t\t\trange.s.r = Math.min(range.s.r, val[0].r);\n\t\t\t\t\t\trange.e.c = Math.max(range.e.c, val[0].c);\n\t\t\t\t\t\trange.s.c = Math.min(range.s.c, val[0].c);\n\t\t\t\t\t}\n\t\t\t\t\tif(!cc.c) cc.c = [];\n\t\t\t\t\tcmnt = {a:val[1],t:noteobj.TxO.t};\n\t\t\t\t\tcc.c.push(cmnt);\n\t\t\t\t} break;\n\n\t\t\t\tdefault: switch(R.n) { /* nested */\n\t\t\t\tcase 'ClrtClient': break;\n\t\t\t\tcase 'XFExt': update_xfext(XFs[val.ixfe], val.ext); break;\n\n\t\t\t\tcase 'DefColWidth': defwidth = val; break;\n\t\t\t\tcase 'DefaultRowHeight': defheight = val[1]; break; // TODO: flags\n\n\t\t\t\tcase 'ColInfo': {\n\t\t\t\t\tif(!opts.cellStyles) break;\n\t\t\t\t\twhile(val.e >= val.s) {\n\t\t\t\t\t\tcolinfo[val.e--] = { width: val.w/256 };\n\t\t\t\t\t\tif(!seencol) { seencol = true; find_mdw_colw(val.w/256); }\n\t\t\t\t\t\tprocess_col(colinfo[val.e+1]);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 'Row': {\n\t\t\t\t\tvar rowobj = {};\n\t\t\t\t\tif(val.level != null) { rowinfo[val.r] = rowobj; rowobj.level = val.level; }\n\t\t\t\t\tif(val.hidden) { rowinfo[val.r] = rowobj; rowobj.hidden = true; }\n\t\t\t\t\tif(val.hpt) {\n\t\t\t\t\t\trowinfo[val.r] = rowobj;\n\t\t\t\t\t\trowobj.hpt = val.hpt; rowobj.hpx = pt2px(val.hpt);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\n\t\t\t\tcase 'LeftMargin':\n\t\t\t\tcase 'RightMargin':\n\t\t\t\tcase 'TopMargin':\n\t\t\t\tcase 'BottomMargin':\n\t\t\t\t\tif(!out['!margins']) default_margins(out['!margins'] = {});\n\t\t\t\t\tout['!margins'][Rn.slice(0,-6).toLowerCase()] = val;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Setup': // TODO\n\t\t\t\t\tif(!out['!margins']) default_margins(out['!margins'] = {});\n\t\t\t\t\tout['!margins'].header = val.header;\n\t\t\t\t\tout['!margins'].footer = val.footer;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Window2': // TODO\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tif(val.RTL) Workbook.Views[0].RTL = true;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Header': break; // TODO\n\t\t\t\tcase 'Footer': break; // TODO\n\t\t\t\tcase 'HCenter': break; // TODO\n\t\t\t\tcase 'VCenter': break; // TODO\n\t\t\t\tcase 'Pls': break; // TODO\n\t\t\t\tcase 'GCW': break;\n\t\t\t\tcase 'LHRecord': break;\n\t\t\t\tcase 'DBCell': break; // TODO\n\t\t\t\tcase 'EntExU2': break; // TODO\n\t\t\t\tcase 'SxView': break; // TODO\n\t\t\t\tcase 'Sxvd': break; // TODO\n\t\t\t\tcase 'SXVI': break; // TODO\n\t\t\t\tcase 'SXVDEx': break; // TODO\n\t\t\t\tcase 'SxIvd': break; // TODO\n\t\t\t\tcase 'SXString': break; // TODO\n\t\t\t\tcase 'Sync': break;\n\t\t\t\tcase 'Addin': break;\n\t\t\t\tcase 'SXDI': break; // TODO\n\t\t\t\tcase 'SXLI': break; // TODO\n\t\t\t\tcase 'SXEx': break; // TODO\n\t\t\t\tcase 'QsiSXTag': break; // TODO\n\t\t\t\tcase 'Selection': break;\n\t\t\t\tcase 'Feat': break;\n\t\t\t\tcase 'FeatHdr': case 'FeatHdr11': break;\n\t\t\t\tcase 'Feature11': case 'Feature12': case 'List12': break;\n\t\t\t\tcase 'Country': country = val; break;\n\t\t\t\tcase 'RecalcId': break;\n\t\t\t\tcase 'DxGCol': break; // TODO: htmlify\n\t\t\t\tcase 'Fbi': case 'Fbi2': case 'GelFrame': break;\n\t\t\t\tcase 'Font': break; // TODO\n\t\t\t\tcase 'XFCRC': break; // TODO\n\t\t\t\tcase 'Style': break; // TODO\n\t\t\t\tcase 'StyleExt': break; // TODO\n\t\t\t\tcase 'Palette': palette = val; break;\n\t\t\t\tcase 'Theme': themes = val; break;\n\t\t\t\t/* Protection */\n\t\t\t\tcase 'ScenarioProtect': break;\n\t\t\t\tcase 'ObjProtect': break;\n\n\t\t\t\t/* Conditional Formatting */\n\t\t\t\tcase 'CondFmt12': break;\n\n\t\t\t\t/* Table */\n\t\t\t\tcase 'Table': break; // TODO\n\t\t\t\tcase 'TableStyles': break; // TODO\n\t\t\t\tcase 'TableStyle': break; // TODO\n\t\t\t\tcase 'TableStyleElement': break; // TODO\n\n\t\t\t\t/* PivotTable */\n\t\t\t\tcase 'SXStreamID': break; // TODO\n\t\t\t\tcase 'SXVS': break; // TODO\n\t\t\t\tcase 'DConRef': break; // TODO\n\t\t\t\tcase 'SXAddl': break; // TODO\n\t\t\t\tcase 'DConBin': break; // TODO\n\t\t\t\tcase 'DConName': break; // TODO\n\t\t\t\tcase 'SXPI': break; // TODO\n\t\t\t\tcase 'SxFormat': break; // TODO\n\t\t\t\tcase 'SxSelect': break; // TODO\n\t\t\t\tcase 'SxRule': break; // TODO\n\t\t\t\tcase 'SxFilt': break; // TODO\n\t\t\t\tcase 'SxItm': break; // TODO\n\t\t\t\tcase 'SxDXF': break; // TODO\n\n\t\t\t\t/* Scenario Manager */\n\t\t\t\tcase 'ScenMan': break;\n\n\t\t\t\t/* Data Consolidation */\n\t\t\t\tcase 'DCon': break;\n\n\t\t\t\t/* Watched Cell */\n\t\t\t\tcase 'CellWatch': break;\n\n\t\t\t\t/* Print Settings */\n\t\t\t\tcase 'PrintRowCol': break;\n\t\t\t\tcase 'PrintGrid': break;\n\t\t\t\tcase 'PrintSize': break;\n\n\t\t\t\tcase 'XCT': break;\n\t\t\t\tcase 'CRN': break;\n\n\t\t\t\tcase 'Scl': {\n\t\t\t\t\t//console.log(\"Zoom Level:\", val[0]/val[1],val);\n\t\t\t\t} break;\n\t\t\t\tcase 'SheetExt': {\n\t\t\t\t\t/* empty */\n\t\t\t\t} break;\n\t\t\t\tcase 'SheetExtOptional': {\n\t\t\t\t\t/* empty */\n\t\t\t\t} break;\n\n\t\t\t\t/* VBA */\n\t\t\t\tcase 'ObNoMacros': {\n\t\t\t\t\t/* empty */\n\t\t\t\t} break;\n\t\t\t\tcase 'ObProj': {\n\t\t\t\t\t/* empty */\n\t\t\t\t} break;\n\t\t\t\tcase 'CodeName': {\nif(!cur_sheet) Workbook.WBProps.CodeName = val || \"ThisWorkbook\";\n\t\t\t\t\telse wsprops.CodeName = val || wsprops.name;\n\t\t\t\t} break;\n\t\t\t\tcase 'GUIDTypeLib': {\n\t\t\t\t\t/* empty */\n\t\t\t\t} break;\n\n\t\t\t\tcase 'WOpt': break; // TODO: WTF?\n\t\t\t\tcase 'PhoneticInfo': break;\n\n\t\t\t\tcase 'OleObjectSize': break;\n\n\t\t\t\t/* Differential Formatting */\n\t\t\t\tcase 'DXF': case 'DXFN': case 'DXFN12': case 'DXFN12List': case 'DXFN12NoCB': break;\n\n\t\t\t\t/* Data Validation */\n\t\t\t\tcase 'Dv': case 'DVal': break;\n\n\t\t\t\t/* Data Series */\n\t\t\t\tcase 'BRAI': case 'Series': case 'SeriesText': break;\n\n\t\t\t\t/* Data Connection */\n\t\t\t\tcase 'DConn': break;\n\t\t\t\tcase 'DbOrParamQry': break;\n\t\t\t\tcase 'DBQueryExt': break;\n\n\t\t\t\tcase 'OleDbConn': break;\n\t\t\t\tcase 'ExtString': break;\n\n\t\t\t\t/* Formatting */\n\t\t\t\tcase 'IFmtRecord': break;\n\t\t\t\tcase 'CondFmt': case 'CF': case 'CF12': case 'CFEx': break;\n\n\t\t\t\t/* Explicitly Ignored */\n\t\t\t\tcase 'Excel9File': break;\n\t\t\t\tcase 'Units': break;\n\t\t\t\tcase 'InterfaceHdr': case 'Mms': case 'InterfaceEnd': case 'DSF': break;\n\t\t\t\tcase 'BuiltInFnGroupCount': /* 2.4.30 0x0E or 0x10 but excel 2011 generates 0x11? */ break;\n\t\t\t\t/* View Stuff */\n\t\t\t\tcase 'Window1': case 'HideObj': case 'GridSet': case 'Guts':\n\t\t\t\tcase 'UserBView': case 'UserSViewBegin': case 'UserSViewEnd': break;\n\t\t\t\tcase 'Pane': break;\n\t\t\t\tdefault: switch(R.n) { /* nested */\n\t\t\t\t/* Chart */\n\t\t\t\tcase 'Dat':\n\t\t\t\tcase 'Begin': case 'End':\n\t\t\t\tcase 'StartBlock': case 'EndBlock':\n\t\t\t\tcase 'Frame': case 'Area':\n\t\t\t\tcase 'Axis': case 'AxisLine': case 'Tick': break;\n\t\t\t\tcase 'AxesUsed':\n\t\t\t\tcase 'CrtLayout12': case 'CrtLayout12A': case 'CrtLink': case 'CrtLine': case 'CrtMlFrt': case 'CrtMlFrtContinue': break;\n\t\t\t\tcase 'LineFormat': case 'AreaFormat':\n\t\t\t\tcase 'Chart': case 'Chart3d': case 'Chart3DBarShape': case 'ChartFormat': case 'ChartFrtInfo': break;\n\t\t\t\tcase 'PlotArea': case 'PlotGrowth': break;\n\t\t\t\tcase 'SeriesList': case 'SerParent': case 'SerAuxTrend': break;\n\t\t\t\tcase 'DataFormat': case 'SerToCrt': case 'FontX': break;\n\t\t\t\tcase 'CatSerRange': case 'AxcExt': case 'SerFmt': break;\n\t\t\t\tcase 'ShtProps': break;\n\t\t\t\tcase 'DefaultText': case 'Text': case 'CatLab': break;\n\t\t\t\tcase 'DataLabExtContents': break;\n\t\t\t\tcase 'Legend': case 'LegendException': break;\n\t\t\t\tcase 'Pie': case 'Scatter': break;\n\t\t\t\tcase 'PieFormat': case 'MarkerFormat': break;\n\t\t\t\tcase 'StartObject': case 'EndObject': break;\n\t\t\t\tcase 'AlRuns': case 'ObjectLink': break;\n\t\t\t\tcase 'SIIndex': break;\n\t\t\t\tcase 'AttachedLabel': case 'YMult': break;\n\n\t\t\t\t/* Chart Group */\n\t\t\t\tcase 'Line': case 'Bar': break;\n\t\t\t\tcase 'Surf': break;\n\n\t\t\t\t/* Axis Group */\n\t\t\t\tcase 'AxisParent': break;\n\t\t\t\tcase 'Pos': break;\n\t\t\t\tcase 'ValueRange': break;\n\n\t\t\t\t/* Pivot Chart */\n\t\t\t\tcase 'SXViewEx9': break; // TODO\n\t\t\t\tcase 'SXViewLink': break;\n\t\t\t\tcase 'PivotChartBits': break;\n\t\t\t\tcase 'SBaseRef': break;\n\t\t\t\tcase 'TextPropsStream': break;\n\n\t\t\t\t/* Chart Misc */\n\t\t\t\tcase 'LnExt': break;\n\t\t\t\tcase 'MkrExt': break;\n\t\t\t\tcase 'CrtCoopt': break;\n\n\t\t\t\t/* Query Table */\n\t\t\t\tcase 'Qsi': case 'Qsif': case 'Qsir': case 'QsiSXTag': break;\n\t\t\t\tcase 'TxtQry': break;\n\n\t\t\t\t/* Filter */\n\t\t\t\tcase 'FilterMode': break;\n\t\t\t\tcase 'AutoFilter': case 'AutoFilterInfo': break;\n\t\t\t\tcase 'AutoFilter12': break;\n\t\t\t\tcase 'DropDownObjIds': break;\n\t\t\t\tcase 'Sort': break;\n\t\t\t\tcase 'SortData': break;\n\n\t\t\t\t/* Drawing */\n\t\t\t\tcase 'ShapePropsStream': break;\n\t\t\t\tcase 'MsoDrawing': case 'MsoDrawingGroup': case 'MsoDrawingSelection': break;\n\t\t\t\t/* Pub Stuff */\n\t\t\t\tcase 'WebPub': case 'AutoWebPub': break;\n\n\t\t\t\t/* Print Stuff */\n\t\t\t\tcase 'HeaderFooter': case 'HFPicture': case 'PLV':\n\t\t\t\tcase 'HorizontalPageBreaks': case 'VerticalPageBreaks': break;\n\t\t\t\t/* Behavioral */\n\t\t\t\tcase 'Backup': case 'CompressPictures': case 'Compat12': break;\n\n\t\t\t\t/* Should not Happen */\n\t\t\t\tcase 'Continue': case 'ContinueFrt12': break;\n\n\t\t\t\t/* Future Records */\n\t\t\t\tcase 'FrtFontList': case 'FrtWrapper': break;\n\n\t\t\t\tdefault: switch(R.n) { /* nested */\n\t\t\t\t/* BIFF5 records */\n\t\t\t\tcase 'TabIdConf': case 'Radar': case 'RadarArea': case 'DropBar': case 'Intl': case 'CoordList': case 'SerAuxErrBar': break;\n\n\t\t\t\t/* BIFF2-4 records */\n\t\t\t\tcase 'BIFF2FONTCLR': case 'BIFF2FMTCNT': case 'BIFF2FONTXTRA': break;\n\t\t\t\tcase 'BIFF2XF': case 'BIFF3XF': case 'BIFF4XF': break;\n\t\t\t\tcase 'BIFF4FMTCNT': case 'BIFF2ROW': case 'BIFF2WINDOW2': break;\n\n\t\t\t\t/* Miscellaneous */\n\t\t\t\tcase 'SCENARIO': case 'DConBin': case 'PicF': case 'DataLabExt':\n\t\t\t\tcase 'Lel': case 'BopPop': case 'BopPopCustom': case 'RealTimeData':\n\t\t\t\tcase 'Name': break;\n\t\t\t\tcase 'LHNGraph': case 'FnGroupName': case 'AddMenu': case 'LPr': break;\n\t\t\t\tcase 'ListObj': case 'ListField': break;\n\t\t\t\tcase 'RRSort': break;\n\t\t\t\tcase 'BigName': break;\n\t\t\t\tcase 'ToolbarHdr': case 'ToolbarEnd': break;\n\t\t\t\tcase 'DDEObjName': break;\n\t\t\t\tcase 'FRTArchId$': break;\n\t\t\t\tdefault: if(options.WTF) throw 'Unrecognized Record ' + R.n;\n\t\t\t}}}}\n\t\t} else blob.l += length;\n\t}\n\twb.SheetNames=keys(Directory).sort(function(a,b) { return Number(a) - Number(b); }).map(function(x){return Directory[x].name;});\n\tif(!options.bookSheets) wb.Sheets=Sheets;\n\tif(wb.Sheets) FilterDatabases.forEach(function(r,i) { wb.Sheets[wb.SheetNames[i]]['!autofilter'] = r; });\n\twb.Preamble=Preamble;\n\twb.Strings = sst;\n\twb.SSF = SSF.get_table();\n\tif(opts.enc) wb.Encryption = opts.enc;\n\tif(themes) wb.Themes = themes;\n\twb.Metadata = {};\n\tif(country !== undefined) wb.Metadata.Country = country;\n\tif(supbooks.names.length > 0) Workbook.Names = supbooks.names;\n\twb.Workbook = Workbook;\n\treturn wb;\n}\n\n/* TODO: split props*/\nvar PSCLSID = {\n\tSI: \"e0859ff2f94f6810ab9108002b27b3d9\",\n\tDSI: \"02d5cdd59c2e1b10939708002b2cf9ae\",\n\tUDI: \"05d5cdd59c2e1b10939708002b2cf9ae\"\n};\nfunction parse_xls_props(cfb, props, o) {\n\t/* [MS-OSHARED] 2.3.3.2.2 Document Summary Information Property Set */\n\tvar DSI = CFB.find(cfb, '!DocumentSummaryInformation');\n\tif(DSI && DSI.size > 0) try {\n\t\tvar DocSummary = parse_PropertySetStream(DSI, DocSummaryPIDDSI, PSCLSID.DSI);\n\t\tfor(var d in DocSummary) props[d] = DocSummary[d];\n\t} catch(e) {if(o.WTF) throw e;/* empty */}\n\n\t/* [MS-OSHARED] 2.3.3.2.1 Summary Information Property Set*/\n\tvar SI = CFB.find(cfb, '!SummaryInformation');\n\tif(SI && SI.size > 0) try {\n\t\tvar Summary = parse_PropertySetStream(SI, SummaryPIDSI, PSCLSID.SI);\n\t\tfor(var s in Summary) if(props[s] == null) props[s] = Summary[s];\n\t} catch(e) {if(o.WTF) throw e;/* empty */}\n\n\tif(props.HeadingPairs && props.TitlesOfParts) {\n\t\tload_props_pairs(props.HeadingPairs, props.TitlesOfParts, props, o);\n\t\tdelete props.HeadingPairs; delete props.TitlesOfParts;\n\t}\n}\nfunction write_xls_props(wb, cfb) {\n\tvar DSEntries = [], SEntries = [], CEntries = [];\n\tvar i = 0, Keys;\n\tif(wb.Props) {\n\t\tKeys = keys(wb.Props);\n\t\t// $FlowIgnore\n\t\tfor(i = 0; i < Keys.length; ++i) (Object.prototype.hasOwnProperty.call(DocSummaryRE, Keys[i]) ? DSEntries : Object.prototype.hasOwnProperty.call(SummaryRE, Keys[i]) ? SEntries : CEntries).push([Keys[i], wb.Props[Keys[i]]]);\n\t}\n\tif(wb.Custprops) {\n\t\tKeys = keys(wb.Custprops);\n\t\t// $FlowIgnore\n\t\tfor(i = 0; i < Keys.length; ++i) if(!Object.prototype.hasOwnProperty.call((wb.Props||{}), Keys[i])) (Object.prototype.hasOwnProperty.call(DocSummaryRE, Keys[i]) ? DSEntries : Object.prototype.hasOwnProperty.call(SummaryRE, Keys[i]) ? SEntries : CEntries).push([Keys[i], wb.Custprops[Keys[i]]]);\n\t}\n\tvar CEntries2 = [];\n\tfor(i = 0; i < CEntries.length; ++i) {\n\t\tif(XLSPSSkip.indexOf(CEntries[i][0]) > -1) continue;\n\t\tif(CEntries[i][1] == null) continue;\n\t\tCEntries2.push(CEntries[i]);\n\t}\n\tif(SEntries.length) CFB.utils.cfb_add(cfb, \"/\\u0005SummaryInformation\", write_PropertySetStream(SEntries, PSCLSID.SI, SummaryRE, SummaryPIDSI));\n\tif(DSEntries.length || CEntries2.length) CFB.utils.cfb_add(cfb, \"/\\u0005DocumentSummaryInformation\", write_PropertySetStream(DSEntries, PSCLSID.DSI, DocSummaryRE, DocSummaryPIDDSI, CEntries2.length ? CEntries2 : null, PSCLSID.UDI));\n}\n\nfunction parse_xlscfb(cfb, options) {\nif(!options) options = {};\nfix_read_opts(options);\nreset_cp();\nif(options.codepage) set_ansi(options.codepage);\nvar CompObj, WB;\nif(cfb.FullPaths) {\n\tif(CFB.find(cfb, '/encryption')) throw new Error(\"File is password-protected\");\n\tCompObj = CFB.find(cfb, '!CompObj');\n\tWB = CFB.find(cfb, '/Workbook') || CFB.find(cfb, '/Book');\n} else {\n\tswitch(options.type) {\n\t\tcase 'base64': cfb = s2a(Base64.decode(cfb)); break;\n\t\tcase 'binary': cfb = s2a(cfb); break;\n\t\tcase 'buffer': break;\n\t\tcase 'array': if(!Array.isArray(cfb)) cfb = Array.prototype.slice.call(cfb); break;\n\t}\n\tprep_blob(cfb, 0);\n\tWB = ({content: cfb});\n}\nvar WorkbookP;\n\nvar _data;\nif(CompObj) parse_compobj(CompObj);\nif(options.bookProps && !options.bookSheets) WorkbookP = ({});\nelse {\n\tvar T = has_buf ? 'buffer' : 'array';\n\tif(WB && WB.content) WorkbookP = parse_workbook(WB.content, options);\n\t/* Quattro Pro 7-8 */\n\telse if((_data=CFB.find(cfb, 'PerfectOffice_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));\n\t/* Quattro Pro 9 */\n\telse if((_data=CFB.find(cfb, 'NativeContent_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));\n\telse throw new Error(\"Cannot find Workbook stream\");\n\tif(options.bookVBA && cfb.FullPaths && CFB.find(cfb, '/_VBA_PROJECT_CUR/VBA/dir')) WorkbookP.vbaraw = make_vba_xls(cfb);\n}\n\nvar props = {};\nif(cfb.FullPaths) parse_xls_props(cfb, props, options);\n\nWorkbookP.Props = WorkbookP.Custprops = props; /* TODO: split up properties */\nif(options.bookFiles) WorkbookP.cfb = cfb;\n/*WorkbookP.CompObjP = CompObjP; // TODO: storage? */\nreturn WorkbookP;\n}\n\n\nfunction write_xlscfb(wb, opts) {\n\tvar o = opts || {};\n\tvar cfb = CFB.utils.cfb_new({root:\"R\"});\n\tvar wbpath = \"/Workbook\";\n\tswitch(o.bookType || \"xls\") {\n\t\tcase \"xls\": o.bookType = \"biff8\";\n\t\t/* falls through */\n\t\tcase \"xla\": if(!o.bookType) o.bookType = \"xla\";\n\t\t/* falls through */\n\t\tcase \"biff8\": wbpath = \"/Workbook\"; o.biff = 8; break;\n\t\tcase \"biff5\": wbpath = \"/Book\"; o.biff = 5; break;\n\t\tdefault: throw new Error(\"invalid type \" + o.bookType + \" for XLS CFB\");\n\t}\n\tCFB.utils.cfb_add(cfb, wbpath, write_biff_buf(wb, o));\n\tif(o.biff == 8 && (wb.Props || wb.Custprops)) write_xls_props(wb, cfb);\n\t// TODO: SI, DSI, CO\n\tif(o.biff == 8 && wb.vbaraw) fill_vba_xls(cfb, CFB.read(wb.vbaraw, {type: typeof wb.vbaraw == \"string\" ? \"binary\" : \"buffer\"}));\n\treturn cfb;\n}\n/* [MS-XLSB] 2.3 Record Enumeration */\nvar XLSBRecordEnum = {\n0x0000: { n:\"BrtRowHdr\", f:parse_BrtRowHdr },\n0x0001: { n:\"BrtCellBlank\", f:parse_BrtCellBlank },\n0x0002: { n:\"BrtCellRk\", f:parse_BrtCellRk },\n0x0003: { n:\"BrtCellError\", f:parse_BrtCellError },\n0x0004: { n:\"BrtCellBool\", f:parse_BrtCellBool },\n0x0005: { n:\"BrtCellReal\", f:parse_BrtCellReal },\n0x0006: { n:\"BrtCellSt\", f:parse_BrtCellSt },\n0x0007: { n:\"BrtCellIsst\", f:parse_BrtCellIsst },\n0x0008: { n:\"BrtFmlaString\", f:parse_BrtFmlaString },\n0x0009: { n:\"BrtFmlaNum\", f:parse_BrtFmlaNum },\n0x000A: { n:\"BrtFmlaBool\", f:parse_BrtFmlaBool },\n0x000B: { n:\"BrtFmlaError\", f:parse_BrtFmlaError },\n0x0010: { n:\"BrtFRTArchID$\", f:parse_BrtFRTArchID$ },\n0x0013: { n:\"BrtSSTItem\", f:parse_RichStr },\n0x0014: { n:\"BrtPCDIMissing\" },\n0x0015: { n:\"BrtPCDINumber\" },\n0x0016: { n:\"BrtPCDIBoolean\" },\n0x0017: { n:\"BrtPCDIError\" },\n0x0018: { n:\"BrtPCDIString\" },\n0x0019: { n:\"BrtPCDIDatetime\" },\n0x001A: { n:\"BrtPCDIIndex\" },\n0x001B: { n:\"BrtPCDIAMissing\" },\n0x001C: { n:\"BrtPCDIANumber\" },\n0x001D: { n:\"BrtPCDIABoolean\" },\n0x001E: { n:\"BrtPCDIAError\" },\n0x001F: { n:\"BrtPCDIAString\" },\n0x0020: { n:\"BrtPCDIADatetime\" },\n0x0021: { n:\"BrtPCRRecord\" },\n0x0022: { n:\"BrtPCRRecordDt\" },\n0x0023: { n:\"BrtFRTBegin\" },\n0x0024: { n:\"BrtFRTEnd\" },\n0x0025: { n:\"BrtACBegin\" },\n0x0026: { n:\"BrtACEnd\" },\n0x0027: { n:\"BrtName\", f:parse_BrtName },\n0x0028: { n:\"BrtIndexRowBlock\" },\n0x002A: { n:\"BrtIndexBlock\" },\n0x002B: { n:\"BrtFont\", f:parse_BrtFont },\n0x002C: { n:\"BrtFmt\", f:parse_BrtFmt },\n0x002D: { n:\"BrtFill\", f:parse_BrtFill },\n0x002E: { n:\"BrtBorder\", f:parse_BrtBorder },\n0x002F: { n:\"BrtXF\", f:parse_BrtXF },\n0x0030: { n:\"BrtStyle\" },\n0x0031: { n:\"BrtCellMeta\" },\n0x0032: { n:\"BrtValueMeta\" },\n0x0033: { n:\"BrtMdb\" },\n0x0034: { n:\"BrtBeginFmd\" },\n0x0035: { n:\"BrtEndFmd\" },\n0x0036: { n:\"BrtBeginMdx\" },\n0x0037: { n:\"BrtEndMdx\" },\n0x0038: { n:\"BrtBeginMdxTuple\" },\n0x0039: { n:\"BrtEndMdxTuple\" },\n0x003A: { n:\"BrtMdxMbrIstr\" },\n0x003B: { n:\"BrtStr\" },\n0x003C: { n:\"BrtColInfo\", f:parse_ColInfo },\n0x003E: { n:\"BrtCellRString\" },\n0x003F: { n:\"BrtCalcChainItem$\", f:parse_BrtCalcChainItem$ },\n0x0040: { n:\"BrtDVal\", f:parse_BrtDVal },\n0x0041: { n:\"BrtSxvcellNum\" },\n0x0042: { n:\"BrtSxvcellStr\" },\n0x0043: { n:\"BrtSxvcellBool\" },\n0x0044: { n:\"BrtSxvcellErr\" },\n0x0045: { n:\"BrtSxvcellDate\" },\n0x0046: { n:\"BrtSxvcellNil\" },\n0x0080: { n:\"BrtFileVersion\" },\n0x0081: { n:\"BrtBeginSheet\" },\n0x0082: { n:\"BrtEndSheet\" },\n0x0083: { n:\"BrtBeginBook\", f:parsenoop, p:0 },\n0x0084: { n:\"BrtEndBook\" },\n0x0085: { n:\"BrtBeginWsViews\" },\n0x0086: { n:\"BrtEndWsViews\" },\n0x0087: { n:\"BrtBeginBookViews\" },\n0x0088: { n:\"BrtEndBookViews\" },\n0x0089: { n:\"BrtBeginWsView\", f:parse_BrtBeginWsView },\n0x008A: { n:\"BrtEndWsView\" },\n0x008B: { n:\"BrtBeginCsViews\" },\n0x008C: { n:\"BrtEndCsViews\" },\n0x008D: { n:\"BrtBeginCsView\" },\n0x008E: { n:\"BrtEndCsView\" },\n0x008F: { n:\"BrtBeginBundleShs\" },\n0x0090: { n:\"BrtEndBundleShs\" },\n0x0091: { n:\"BrtBeginSheetData\" },\n0x0092: { n:\"BrtEndSheetData\" },\n0x0093: { n:\"BrtWsProp\", f:parse_BrtWsProp },\n0x0094: { n:\"BrtWsDim\", f:parse_BrtWsDim, p:16 },\n0x0097: { n:\"BrtPane\", f:parse_BrtPane },\n0x0098: { n:\"BrtSel\" },\n0x0099: { n:\"BrtWbProp\", f:parse_BrtWbProp },\n0x009A: { n:\"BrtWbFactoid\" },\n0x009B: { n:\"BrtFileRecover\" },\n0x009C: { n:\"BrtBundleSh\", f:parse_BrtBundleSh },\n0x009D: { n:\"BrtCalcProp\" },\n0x009E: { n:\"BrtBookView\" },\n0x009F: { n:\"BrtBeginSst\", f:parse_BrtBeginSst },\n0x00A0: { n:\"BrtEndSst\" },\n0x00A1: { n:\"BrtBeginAFilter\", f:parse_UncheckedRfX },\n0x00A2: { n:\"BrtEndAFilter\" },\n0x00A3: { n:\"BrtBeginFilterColumn\" },\n0x00A4: { n:\"BrtEndFilterColumn\" },\n0x00A5: { n:\"BrtBeginFilters\" },\n0x00A6: { n:\"BrtEndFilters\" },\n0x00A7: { n:\"BrtFilter\" },\n0x00A8: { n:\"BrtColorFilter\" },\n0x00A9: { n:\"BrtIconFilter\" },\n0x00AA: { n:\"BrtTop10Filter\" },\n0x00AB: { n:\"BrtDynamicFilter\" },\n0x00AC: { n:\"BrtBeginCustomFilters\" },\n0x00AD: { n:\"BrtEndCustomFilters\" },\n0x00AE: { n:\"BrtCustomFilter\" },\n0x00AF: { n:\"BrtAFilterDateGroupItem\" },\n0x00B0: { n:\"BrtMergeCell\", f:parse_BrtMergeCell },\n0x00B1: { n:\"BrtBeginMergeCells\" },\n0x00B2: { n:\"BrtEndMergeCells\" },\n0x00B3: { n:\"BrtBeginPivotCacheDef\" },\n0x00B4: { n:\"BrtEndPivotCacheDef\" },\n0x00B5: { n:\"BrtBeginPCDFields\" },\n0x00B6: { n:\"BrtEndPCDFields\" },\n0x00B7: { n:\"BrtBeginPCDField\" },\n0x00B8: { n:\"BrtEndPCDField\" },\n0x00B9: { n:\"BrtBeginPCDSource\" },\n0x00BA: { n:\"BrtEndPCDSource\" },\n0x00BB: { n:\"BrtBeginPCDSRange\" },\n0x00BC: { n:\"BrtEndPCDSRange\" },\n0x00BD: { n:\"BrtBeginPCDFAtbl\" },\n0x00BE: { n:\"BrtEndPCDFAtbl\" },\n0x00BF: { n:\"BrtBeginPCDIRun\" },\n0x00C0: { n:\"BrtEndPCDIRun\" },\n0x00C1: { n:\"BrtBeginPivotCacheRecords\" },\n0x00C2: { n:\"BrtEndPivotCacheRecords\" },\n0x00C3: { n:\"BrtBeginPCDHierarchies\" },\n0x00C4: { n:\"BrtEndPCDHierarchies\" },\n0x00C5: { n:\"BrtBeginPCDHierarchy\" },\n0x00C6: { n:\"BrtEndPCDHierarchy\" },\n0x00C7: { n:\"BrtBeginPCDHFieldsUsage\" },\n0x00C8: { n:\"BrtEndPCDHFieldsUsage\" },\n0x00C9: { n:\"BrtBeginExtConnection\" },\n0x00CA: { n:\"BrtEndExtConnection\" },\n0x00CB: { n:\"BrtBeginECDbProps\" },\n0x00CC: { n:\"BrtEndECDbProps\" },\n0x00CD: { n:\"BrtBeginECOlapProps\" },\n0x00CE: { n:\"BrtEndECOlapProps\" },\n0x00CF: { n:\"BrtBeginPCDSConsol\" },\n0x00D0: { n:\"BrtEndPCDSConsol\" },\n0x00D1: { n:\"BrtBeginPCDSCPages\" },\n0x00D2: { n:\"BrtEndPCDSCPages\" },\n0x00D3: { n:\"BrtBeginPCDSCPage\" },\n0x00D4: { n:\"BrtEndPCDSCPage\" },\n0x00D5: { n:\"BrtBeginPCDSCPItem\" },\n0x00D6: { n:\"BrtEndPCDSCPItem\" },\n0x00D7: { n:\"BrtBeginPCDSCSets\" },\n0x00D8: { n:\"BrtEndPCDSCSets\" },\n0x00D9: { n:\"BrtBeginPCDSCSet\" },\n0x00DA: { n:\"BrtEndPCDSCSet\" },\n0x00DB: { n:\"BrtBeginPCDFGroup\" },\n0x00DC: { n:\"BrtEndPCDFGroup\" },\n0x00DD: { n:\"BrtBeginPCDFGItems\" },\n0x00DE: { n:\"BrtEndPCDFGItems\" },\n0x00DF: { n:\"BrtBeginPCDFGRange\" },\n0x00E0: { n:\"BrtEndPCDFGRange\" },\n0x00E1: { n:\"BrtBeginPCDFGDiscrete\" },\n0x00E2: { n:\"BrtEndPCDFGDiscrete\" },\n0x00E3: { n:\"BrtBeginPCDSDTupleCache\" },\n0x00E4: { n:\"BrtEndPCDSDTupleCache\" },\n0x00E5: { n:\"BrtBeginPCDSDTCEntries\" },\n0x00E6: { n:\"BrtEndPCDSDTCEntries\" },\n0x00E7: { n:\"BrtBeginPCDSDTCEMembers\" },\n0x00E8: { n:\"BrtEndPCDSDTCEMembers\" },\n0x00E9: { n:\"BrtBeginPCDSDTCEMember\" },\n0x00EA: { n:\"BrtEndPCDSDTCEMember\" },\n0x00EB: { n:\"BrtBeginPCDSDTCQueries\" },\n0x00EC: { n:\"BrtEndPCDSDTCQueries\" },\n0x00ED: { n:\"BrtBeginPCDSDTCQuery\" },\n0x00EE: { n:\"BrtEndPCDSDTCQuery\" },\n0x00EF: { n:\"BrtBeginPCDSDTCSets\" },\n0x00F0: { n:\"BrtEndPCDSDTCSets\" },\n0x00F1: { n:\"BrtBeginPCDSDTCSet\" },\n0x00F2: { n:\"BrtEndPCDSDTCSet\" },\n0x00F3: { n:\"BrtBeginPCDCalcItems\" },\n0x00F4: { n:\"BrtEndPCDCalcItems\" },\n0x00F5: { n:\"BrtBeginPCDCalcItem\" },\n0x00F6: { n:\"BrtEndPCDCalcItem\" },\n0x00F7: { n:\"BrtBeginPRule\" },\n0x00F8: { n:\"BrtEndPRule\" },\n0x00F9: { n:\"BrtBeginPRFilters\" },\n0x00FA: { n:\"BrtEndPRFilters\" },\n0x00FB: { n:\"BrtBeginPRFilter\" },\n0x00FC: { n:\"BrtEndPRFilter\" },\n0x00FD: { n:\"BrtBeginPNames\" },\n0x00FE: { n:\"BrtEndPNames\" },\n0x00FF: { n:\"BrtBeginPName\" },\n0x0100: { n:\"BrtEndPName\" },\n0x0101: { n:\"BrtBeginPNPairs\" },\n0x0102: { n:\"BrtEndPNPairs\" },\n0x0103: { n:\"BrtBeginPNPair\" },\n0x0104: { n:\"BrtEndPNPair\" },\n0x0105: { n:\"BrtBeginECWebProps\" },\n0x0106: { n:\"BrtEndECWebProps\" },\n0x0107: { n:\"BrtBeginEcWpTables\" },\n0x0108: { n:\"BrtEndECWPTables\" },\n0x0109: { n:\"BrtBeginECParams\" },\n0x010A: { n:\"BrtEndECParams\" },\n0x010B: { n:\"BrtBeginECParam\" },\n0x010C: { n:\"BrtEndECParam\" },\n0x010D: { n:\"BrtBeginPCDKPIs\" },\n0x010E: { n:\"BrtEndPCDKPIs\" },\n0x010F: { n:\"BrtBeginPCDKPI\" },\n0x0110: { n:\"BrtEndPCDKPI\" },\n0x0111: { n:\"BrtBeginDims\" },\n0x0112: { n:\"BrtEndDims\" },\n0x0113: { n:\"BrtBeginDim\" },\n0x0114: { n:\"BrtEndDim\" },\n0x0115: { n:\"BrtIndexPartEnd\" },\n0x0116: { n:\"BrtBeginStyleSheet\" },\n0x0117: { n:\"BrtEndStyleSheet\" },\n0x0118: { n:\"BrtBeginSXView\" },\n0x0119: { n:\"BrtEndSXVI\" },\n0x011A: { n:\"BrtBeginSXVI\" },\n0x011B: { n:\"BrtBeginSXVIs\" },\n0x011C: { n:\"BrtEndSXVIs\" },\n0x011D: { n:\"BrtBeginSXVD\" },\n0x011E: { n:\"BrtEndSXVD\" },\n0x011F: { n:\"BrtBeginSXVDs\" },\n0x0120: { n:\"BrtEndSXVDs\" },\n0x0121: { n:\"BrtBeginSXPI\" },\n0x0122: { n:\"BrtEndSXPI\" },\n0x0123: { n:\"BrtBeginSXPIs\" },\n0x0124: { n:\"BrtEndSXPIs\" },\n0x0125: { n:\"BrtBeginSXDI\" },\n0x0126: { n:\"BrtEndSXDI\" },\n0x0127: { n:\"BrtBeginSXDIs\" },\n0x0128: { n:\"BrtEndSXDIs\" },\n0x0129: { n:\"BrtBeginSXLI\" },\n0x012A: { n:\"BrtEndSXLI\" },\n0x012B: { n:\"BrtBeginSXLIRws\" },\n0x012C: { n:\"BrtEndSXLIRws\" },\n0x012D: { n:\"BrtBeginSXLICols\" },\n0x012E: { n:\"BrtEndSXLICols\" },\n0x012F: { n:\"BrtBeginSXFormat\" },\n0x0130: { n:\"BrtEndSXFormat\" },\n0x0131: { n:\"BrtBeginSXFormats\" },\n0x0132: { n:\"BrtEndSxFormats\" },\n0x0133: { n:\"BrtBeginSxSelect\" },\n0x0134: { n:\"BrtEndSxSelect\" },\n0x0135: { n:\"BrtBeginISXVDRws\" },\n0x0136: { n:\"BrtEndISXVDRws\" },\n0x0137: { n:\"BrtBeginISXVDCols\" },\n0x0138: { n:\"BrtEndISXVDCols\" },\n0x0139: { n:\"BrtEndSXLocation\" },\n0x013A: { n:\"BrtBeginSXLocation\" },\n0x013B: { n:\"BrtEndSXView\" },\n0x013C: { n:\"BrtBeginSXTHs\" },\n0x013D: { n:\"BrtEndSXTHs\" },\n0x013E: { n:\"BrtBeginSXTH\" },\n0x013F: { n:\"BrtEndSXTH\" },\n0x0140: { n:\"BrtBeginISXTHRws\" },\n0x0141: { n:\"BrtEndISXTHRws\" },\n0x0142: { n:\"BrtBeginISXTHCols\" },\n0x0143: { n:\"BrtEndISXTHCols\" },\n0x0144: { n:\"BrtBeginSXTDMPS\" },\n0x0145: { n:\"BrtEndSXTDMPs\" },\n0x0146: { n:\"BrtBeginSXTDMP\" },\n0x0147: { n:\"BrtEndSXTDMP\" },\n0x0148: { n:\"BrtBeginSXTHItems\" },\n0x0149: { n:\"BrtEndSXTHItems\" },\n0x014A: { n:\"BrtBeginSXTHItem\" },\n0x014B: { n:\"BrtEndSXTHItem\" },\n0x014C: { n:\"BrtBeginMetadata\" },\n0x014D: { n:\"BrtEndMetadata\" },\n0x014E: { n:\"BrtBeginEsmdtinfo\" },\n0x014F: { n:\"BrtMdtinfo\" },\n0x0150: { n:\"BrtEndEsmdtinfo\" },\n0x0151: { n:\"BrtBeginEsmdb\" },\n0x0152: { n:\"BrtEndEsmdb\" },\n0x0153: { n:\"BrtBeginEsfmd\" },\n0x0154: { n:\"BrtEndEsfmd\" },\n0x0155: { n:\"BrtBeginSingleCells\" },\n0x0156: { n:\"BrtEndSingleCells\" },\n0x0157: { n:\"BrtBeginList\" },\n0x0158: { n:\"BrtEndList\" },\n0x0159: { n:\"BrtBeginListCols\" },\n0x015A: { n:\"BrtEndListCols\" },\n0x015B: { n:\"BrtBeginListCol\" },\n0x015C: { n:\"BrtEndListCol\" },\n0x015D: { n:\"BrtBeginListXmlCPr\" },\n0x015E: { n:\"BrtEndListXmlCPr\" },\n0x015F: { n:\"BrtListCCFmla\" },\n0x0160: { n:\"BrtListTrFmla\" },\n0x0161: { n:\"BrtBeginExternals\" },\n0x0162: { n:\"BrtEndExternals\" },\n0x0163: { n:\"BrtSupBookSrc\", f:parse_RelID},\n0x0165: { n:\"BrtSupSelf\" },\n0x0166: { n:\"BrtSupSame\" },\n0x0167: { n:\"BrtSupTabs\" },\n0x0168: { n:\"BrtBeginSupBook\" },\n0x0169: { n:\"BrtPlaceholderName\" },\n0x016A: { n:\"BrtExternSheet\", f:parse_ExternSheet },\n0x016B: { n:\"BrtExternTableStart\" },\n0x016C: { n:\"BrtExternTableEnd\" },\n0x016E: { n:\"BrtExternRowHdr\" },\n0x016F: { n:\"BrtExternCellBlank\" },\n0x0170: { n:\"BrtExternCellReal\" },\n0x0171: { n:\"BrtExternCellBool\" },\n0x0172: { n:\"BrtExternCellError\" },\n0x0173: { n:\"BrtExternCellString\" },\n0x0174: { n:\"BrtBeginEsmdx\" },\n0x0175: { n:\"BrtEndEsmdx\" },\n0x0176: { n:\"BrtBeginMdxSet\" },\n0x0177: { n:\"BrtEndMdxSet\" },\n0x0178: { n:\"BrtBeginMdxMbrProp\" },\n0x0179: { n:\"BrtEndMdxMbrProp\" },\n0x017A: { n:\"BrtBeginMdxKPI\" },\n0x017B: { n:\"BrtEndMdxKPI\" },\n0x017C: { n:\"BrtBeginEsstr\" },\n0x017D: { n:\"BrtEndEsstr\" },\n0x017E: { n:\"BrtBeginPRFItem\" },\n0x017F: { n:\"BrtEndPRFItem\" },\n0x0180: { n:\"BrtBeginPivotCacheIDs\" },\n0x0181: { n:\"BrtEndPivotCacheIDs\" },\n0x0182: { n:\"BrtBeginPivotCacheID\" },\n0x0183: { n:\"BrtEndPivotCacheID\" },\n0x0184: { n:\"BrtBeginISXVIs\" },\n0x0185: { n:\"BrtEndISXVIs\" },\n0x0186: { n:\"BrtBeginColInfos\" },\n0x0187: { n:\"BrtEndColInfos\" },\n0x0188: { n:\"BrtBeginRwBrk\" },\n0x0189: { n:\"BrtEndRwBrk\" },\n0x018A: { n:\"BrtBeginColBrk\" },\n0x018B: { n:\"BrtEndColBrk\" },\n0x018C: { n:\"BrtBrk\" },\n0x018D: { n:\"BrtUserBookView\" },\n0x018E: { n:\"BrtInfo\" },\n0x018F: { n:\"BrtCUsr\" },\n0x0190: { n:\"BrtUsr\" },\n0x0191: { n:\"BrtBeginUsers\" },\n0x0193: { n:\"BrtEOF\" },\n0x0194: { n:\"BrtUCR\" },\n0x0195: { n:\"BrtRRInsDel\" },\n0x0196: { n:\"BrtRREndInsDel\" },\n0x0197: { n:\"BrtRRMove\" },\n0x0198: { n:\"BrtRREndMove\" },\n0x0199: { n:\"BrtRRChgCell\" },\n0x019A: { n:\"BrtRREndChgCell\" },\n0x019B: { n:\"BrtRRHeader\" },\n0x019C: { n:\"BrtRRUserView\" },\n0x019D: { n:\"BrtRRRenSheet\" },\n0x019E: { n:\"BrtRRInsertSh\" },\n0x019F: { n:\"BrtRRDefName\" },\n0x01A0: { n:\"BrtRRNote\" },\n0x01A1: { n:\"BrtRRConflict\" },\n0x01A2: { n:\"BrtRRTQSIF\" },\n0x01A3: { n:\"BrtRRFormat\" },\n0x01A4: { n:\"BrtRREndFormat\" },\n0x01A5: { n:\"BrtRRAutoFmt\" },\n0x01A6: { n:\"BrtBeginUserShViews\" },\n0x01A7: { n:\"BrtBeginUserShView\" },\n0x01A8: { n:\"BrtEndUserShView\" },\n0x01A9: { n:\"BrtEndUserShViews\" },\n0x01AA: { n:\"BrtArrFmla\", f:parse_BrtArrFmla },\n0x01AB: { n:\"BrtShrFmla\", f:parse_BrtShrFmla },\n0x01AC: { n:\"BrtTable\" },\n0x01AD: { n:\"BrtBeginExtConnections\" },\n0x01AE: { n:\"BrtEndExtConnections\" },\n0x01AF: { n:\"BrtBeginPCDCalcMems\" },\n0x01B0: { n:\"BrtEndPCDCalcMems\" },\n0x01B1: { n:\"BrtBeginPCDCalcMem\" },\n0x01B2: { n:\"BrtEndPCDCalcMem\" },\n0x01B3: { n:\"BrtBeginPCDHGLevels\" },\n0x01B4: { n:\"BrtEndPCDHGLevels\" },\n0x01B5: { n:\"BrtBeginPCDHGLevel\" },\n0x01B6: { n:\"BrtEndPCDHGLevel\" },\n0x01B7: { n:\"BrtBeginPCDHGLGroups\" },\n0x01B8: { n:\"BrtEndPCDHGLGroups\" },\n0x01B9: { n:\"BrtBeginPCDHGLGroup\" },\n0x01BA: { n:\"BrtEndPCDHGLGroup\" },\n0x01BB: { n:\"BrtBeginPCDHGLGMembers\" },\n0x01BC: { n:\"BrtEndPCDHGLGMembers\" },\n0x01BD: { n:\"BrtBeginPCDHGLGMember\" },\n0x01BE: { n:\"BrtEndPCDHGLGMember\" },\n0x01BF: { n:\"BrtBeginQSI\" },\n0x01C0: { n:\"BrtEndQSI\" },\n0x01C1: { n:\"BrtBeginQSIR\" },\n0x01C2: { n:\"BrtEndQSIR\" },\n0x01C3: { n:\"BrtBeginDeletedNames\" },\n0x01C4: { n:\"BrtEndDeletedNames\" },\n0x01C5: { n:\"BrtBeginDeletedName\" },\n0x01C6: { n:\"BrtEndDeletedName\" },\n0x01C7: { n:\"BrtBeginQSIFs\" },\n0x01C8: { n:\"BrtEndQSIFs\" },\n0x01C9: { n:\"BrtBeginQSIF\" },\n0x01CA: { n:\"BrtEndQSIF\" },\n0x01CB: { n:\"BrtBeginAutoSortScope\" },\n0x01CC: { n:\"BrtEndAutoSortScope\" },\n0x01CD: { n:\"BrtBeginConditionalFormatting\" },\n0x01CE: { n:\"BrtEndConditionalFormatting\" },\n0x01CF: { n:\"BrtBeginCFRule\" },\n0x01D0: { n:\"BrtEndCFRule\" },\n0x01D1: { n:\"BrtBeginIconSet\" },\n0x01D2: { n:\"BrtEndIconSet\" },\n0x01D3: { n:\"BrtBeginDatabar\" },\n0x01D4: { n:\"BrtEndDatabar\" },\n0x01D5: { n:\"BrtBeginColorScale\" },\n0x01D6: { n:\"BrtEndColorScale\" },\n0x01D7: { n:\"BrtCFVO\" },\n0x01D8: { n:\"BrtExternValueMeta\" },\n0x01D9: { n:\"BrtBeginColorPalette\" },\n0x01DA: { n:\"BrtEndColorPalette\" },\n0x01DB: { n:\"BrtIndexedColor\" },\n0x01DC: { n:\"BrtMargins\", f:parse_BrtMargins },\n0x01DD: { n:\"BrtPrintOptions\" },\n0x01DE: { n:\"BrtPageSetup\" },\n0x01DF: { n:\"BrtBeginHeaderFooter\" },\n0x01E0: { n:\"BrtEndHeaderFooter\" },\n0x01E1: { n:\"BrtBeginSXCrtFormat\" },\n0x01E2: { n:\"BrtEndSXCrtFormat\" },\n0x01E3: { n:\"BrtBeginSXCrtFormats\" },\n0x01E4: { n:\"BrtEndSXCrtFormats\" },\n0x01E5: { n:\"BrtWsFmtInfo\", f:parse_BrtWsFmtInfo },\n0x01E6: { n:\"BrtBeginMgs\" },\n0x01E7: { n:\"BrtEndMGs\" },\n0x01E8: { n:\"BrtBeginMGMaps\" },\n0x01E9: { n:\"BrtEndMGMaps\" },\n0x01EA: { n:\"BrtBeginMG\" },\n0x01EB: { n:\"BrtEndMG\" },\n0x01EC: { n:\"BrtBeginMap\" },\n0x01ED: { n:\"BrtEndMap\" },\n0x01EE: { n:\"BrtHLink\", f:parse_BrtHLink },\n0x01EF: { n:\"BrtBeginDCon\" },\n0x01F0: { n:\"BrtEndDCon\" },\n0x01F1: { n:\"BrtBeginDRefs\" },\n0x01F2: { n:\"BrtEndDRefs\" },\n0x01F3: { n:\"BrtDRef\" },\n0x01F4: { n:\"BrtBeginScenMan\" },\n0x01F5: { n:\"BrtEndScenMan\" },\n0x01F6: { n:\"BrtBeginSct\" },\n0x01F7: { n:\"BrtEndSct\" },\n0x01F8: { n:\"BrtSlc\" },\n0x01F9: { n:\"BrtBeginDXFs\" },\n0x01FA: { n:\"BrtEndDXFs\" },\n0x01FB: { n:\"BrtDXF\" },\n0x01FC: { n:\"BrtBeginTableStyles\" },\n0x01FD: { n:\"BrtEndTableStyles\" },\n0x01FE: { n:\"BrtBeginTableStyle\" },\n0x01FF: { n:\"BrtEndTableStyle\" },\n0x0200: { n:\"BrtTableStyleElement\" },\n0x0201: { n:\"BrtTableStyleClient\" },\n0x0202: { n:\"BrtBeginVolDeps\" },\n0x0203: { n:\"BrtEndVolDeps\" },\n0x0204: { n:\"BrtBeginVolType\" },\n0x0205: { n:\"BrtEndVolType\" },\n0x0206: { n:\"BrtBeginVolMain\" },\n0x0207: { n:\"BrtEndVolMain\" },\n0x0208: { n:\"BrtBeginVolTopic\" },\n0x0209: { n:\"BrtEndVolTopic\" },\n0x020A: { n:\"BrtVolSubtopic\" },\n0x020B: { n:\"BrtVolRef\" },\n0x020C: { n:\"BrtVolNum\" },\n0x020D: { n:\"BrtVolErr\" },\n0x020E: { n:\"BrtVolStr\" },\n0x020F: { n:\"BrtVolBool\" },\n0x0210: { n:\"BrtBeginCalcChain$\" },\n0x0211: { n:\"BrtEndCalcChain$\" },\n0x0212: { n:\"BrtBeginSortState\" },\n0x0213: { n:\"BrtEndSortState\" },\n0x0214: { n:\"BrtBeginSortCond\" },\n0x0215: { n:\"BrtEndSortCond\" },\n0x0216: { n:\"BrtBookProtection\" },\n0x0217: { n:\"BrtSheetProtection\" },\n0x0218: { n:\"BrtRangeProtection\" },\n0x0219: { n:\"BrtPhoneticInfo\" },\n0x021A: { n:\"BrtBeginECTxtWiz\" },\n0x021B: { n:\"BrtEndECTxtWiz\" },\n0x021C: { n:\"BrtBeginECTWFldInfoLst\" },\n0x021D: { n:\"BrtEndECTWFldInfoLst\" },\n0x021E: { n:\"BrtBeginECTwFldInfo\" },\n0x0224: { n:\"BrtFileSharing\" },\n0x0225: { n:\"BrtOleSize\" },\n0x0226: { n:\"BrtDrawing\", f:parse_RelID },\n0x0227: { n:\"BrtLegacyDrawing\" },\n0x0228: { n:\"BrtLegacyDrawingHF\" },\n0x0229: { n:\"BrtWebOpt\" },\n0x022A: { n:\"BrtBeginWebPubItems\" },\n0x022B: { n:\"BrtEndWebPubItems\" },\n0x022C: { n:\"BrtBeginWebPubItem\" },\n0x022D: { n:\"BrtEndWebPubItem\" },\n0x022E: { n:\"BrtBeginSXCondFmt\" },\n0x022F: { n:\"BrtEndSXCondFmt\" },\n0x0230: { n:\"BrtBeginSXCondFmts\" },\n0x0231: { n:\"BrtEndSXCondFmts\" },\n0x0232: { n:\"BrtBkHim\" },\n0x0234: { n:\"BrtColor\" },\n0x0235: { n:\"BrtBeginIndexedColors\" },\n0x0236: { n:\"BrtEndIndexedColors\" },\n0x0239: { n:\"BrtBeginMRUColors\" },\n0x023A: { n:\"BrtEndMRUColors\" },\n0x023C: { n:\"BrtMRUColor\" },\n0x023D: { n:\"BrtBeginDVals\" },\n0x023E: { n:\"BrtEndDVals\" },\n0x0241: { n:\"BrtSupNameStart\" },\n0x0242: { n:\"BrtSupNameValueStart\" },\n0x0243: { n:\"BrtSupNameValueEnd\" },\n0x0244: { n:\"BrtSupNameNum\" },\n0x0245: { n:\"BrtSupNameErr\" },\n0x0246: { n:\"BrtSupNameSt\" },\n0x0247: { n:\"BrtSupNameNil\" },\n0x0248: { n:\"BrtSupNameBool\" },\n0x0249: { n:\"BrtSupNameFmla\" },\n0x024A: { n:\"BrtSupNameBits\" },\n0x024B: { n:\"BrtSupNameEnd\" },\n0x024C: { n:\"BrtEndSupBook\" },\n0x024D: { n:\"BrtCellSmartTagProperty\" },\n0x024E: { n:\"BrtBeginCellSmartTag\" },\n0x024F: { n:\"BrtEndCellSmartTag\" },\n0x0250: { n:\"BrtBeginCellSmartTags\" },\n0x0251: { n:\"BrtEndCellSmartTags\" },\n0x0252: { n:\"BrtBeginSmartTags\" },\n0x0253: { n:\"BrtEndSmartTags\" },\n0x0254: { n:\"BrtSmartTagType\" },\n0x0255: { n:\"BrtBeginSmartTagTypes\" },\n0x0256: { n:\"BrtEndSmartTagTypes\" },\n0x0257: { n:\"BrtBeginSXFilters\" },\n0x0258: { n:\"BrtEndSXFilters\" },\n0x0259: { n:\"BrtBeginSXFILTER\" },\n0x025A: { n:\"BrtEndSXFilter\" },\n0x025B: { n:\"BrtBeginFills\" },\n0x025C: { n:\"BrtEndFills\" },\n0x025D: { n:\"BrtBeginCellWatches\" },\n0x025E: { n:\"BrtEndCellWatches\" },\n0x025F: { n:\"BrtCellWatch\" },\n0x0260: { n:\"BrtBeginCRErrs\" },\n0x0261: { n:\"BrtEndCRErrs\" },\n0x0262: { n:\"BrtCrashRecErr\" },\n0x0263: { n:\"BrtBeginFonts\" },\n0x0264: { n:\"BrtEndFonts\" },\n0x0265: { n:\"BrtBeginBorders\" },\n0x0266: { n:\"BrtEndBorders\" },\n0x0267: { n:\"BrtBeginFmts\" },\n0x0268: { n:\"BrtEndFmts\" },\n0x0269: { n:\"BrtBeginCellXFs\" },\n0x026A: { n:\"BrtEndCellXFs\" },\n0x026B: { n:\"BrtBeginStyles\" },\n0x026C: { n:\"BrtEndStyles\" },\n0x0271: { n:\"BrtBigName\" },\n0x0272: { n:\"BrtBeginCellStyleXFs\" },\n0x0273: { n:\"BrtEndCellStyleXFs\" },\n0x0274: { n:\"BrtBeginComments\" },\n0x0275: { n:\"BrtEndComments\" },\n0x0276: { n:\"BrtBeginCommentAuthors\" },\n0x0277: { n:\"BrtEndCommentAuthors\" },\n0x0278: { n:\"BrtCommentAuthor\", f:parse_BrtCommentAuthor },\n0x0279: { n:\"BrtBeginCommentList\" },\n0x027A: { n:\"BrtEndCommentList\" },\n0x027B: { n:\"BrtBeginComment\", f:parse_BrtBeginComment},\n0x027C: { n:\"BrtEndComment\" },\n0x027D: { n:\"BrtCommentText\", f:parse_BrtCommentText },\n0x027E: { n:\"BrtBeginOleObjects\" },\n0x027F: { n:\"BrtOleObject\" },\n0x0280: { n:\"BrtEndOleObjects\" },\n0x0281: { n:\"BrtBeginSxrules\" },\n0x0282: { n:\"BrtEndSxRules\" },\n0x0283: { n:\"BrtBeginActiveXControls\" },\n0x0284: { n:\"BrtActiveX\" },\n0x0285: { n:\"BrtEndActiveXControls\" },\n0x0286: { n:\"BrtBeginPCDSDTCEMembersSortBy\" },\n0x0288: { n:\"BrtBeginCellIgnoreECs\" },\n0x0289: { n:\"BrtCellIgnoreEC\" },\n0x028A: { n:\"BrtEndCellIgnoreECs\" },\n0x028B: { n:\"BrtCsProp\", f:parse_BrtCsProp },\n0x028C: { n:\"BrtCsPageSetup\" },\n0x028D: { n:\"BrtBeginUserCsViews\" },\n0x028E: { n:\"BrtEndUserCsViews\" },\n0x028F: { n:\"BrtBeginUserCsView\" },\n0x0290: { n:\"BrtEndUserCsView\" },\n0x0291: { n:\"BrtBeginPcdSFCIEntries\" },\n0x0292: { n:\"BrtEndPCDSFCIEntries\" },\n0x0293: { n:\"BrtPCDSFCIEntry\" },\n0x0294: { n:\"BrtBeginListParts\" },\n0x0295: { n:\"BrtListPart\" },\n0x0296: { n:\"BrtEndListParts\" },\n0x0297: { n:\"BrtSheetCalcProp\" },\n0x0298: { n:\"BrtBeginFnGroup\" },\n0x0299: { n:\"BrtFnGroup\" },\n0x029A: { n:\"BrtEndFnGroup\" },\n0x029B: { n:\"BrtSupAddin\" },\n0x029C: { n:\"BrtSXTDMPOrder\" },\n0x029D: { n:\"BrtCsProtection\" },\n0x029F: { n:\"BrtBeginWsSortMap\" },\n0x02A0: { n:\"BrtEndWsSortMap\" },\n0x02A1: { n:\"BrtBeginRRSort\" },\n0x02A2: { n:\"BrtEndRRSort\" },\n0x02A3: { n:\"BrtRRSortItem\" },\n0x02A4: { n:\"BrtFileSharingIso\" },\n0x02A5: { n:\"BrtBookProtectionIso\" },\n0x02A6: { n:\"BrtSheetProtectionIso\" },\n0x02A7: { n:\"BrtCsProtectionIso\" },\n0x02A8: { n:\"BrtRangeProtectionIso\" },\n0x02A9: { n:\"BrtDValList\" },\n0x0400: { n:\"BrtRwDescent\" },\n0x0401: { n:\"BrtKnownFonts\" },\n0x0402: { n:\"BrtBeginSXTupleSet\" },\n0x0403: { n:\"BrtEndSXTupleSet\" },\n0x0404: { n:\"BrtBeginSXTupleSetHeader\" },\n0x0405: { n:\"BrtEndSXTupleSetHeader\" },\n0x0406: { n:\"BrtSXTupleSetHeaderItem\" },\n0x0407: { n:\"BrtBeginSXTupleSetData\" },\n0x0408: { n:\"BrtEndSXTupleSetData\" },\n0x0409: { n:\"BrtBeginSXTupleSetRow\" },\n0x040A: { n:\"BrtEndSXTupleSetRow\" },\n0x040B: { n:\"BrtSXTupleSetRowItem\" },\n0x040C: { n:\"BrtNameExt\" },\n0x040D: { n:\"BrtPCDH14\" },\n0x040E: { n:\"BrtBeginPCDCalcMem14\" },\n0x040F: { n:\"BrtEndPCDCalcMem14\" },\n0x0410: { n:\"BrtSXTH14\" },\n0x0411: { n:\"BrtBeginSparklineGroup\" },\n0x0412: { n:\"BrtEndSparklineGroup\" },\n0x0413: { n:\"BrtSparkline\" },\n0x0414: { n:\"BrtSXDI14\" },\n0x0415: { n:\"BrtWsFmtInfoEx14\" },\n0x0416: { n:\"BrtBeginConditionalFormatting14\" },\n0x0417: { n:\"BrtEndConditionalFormatting14\" },\n0x0418: { n:\"BrtBeginCFRule14\" },\n0x0419: { n:\"BrtEndCFRule14\" },\n0x041A: { n:\"BrtCFVO14\" },\n0x041B: { n:\"BrtBeginDatabar14\" },\n0x041C: { n:\"BrtBeginIconSet14\" },\n0x041D: { n:\"BrtDVal14\", f: parse_BrtDVal14 },\n0x041E: { n:\"BrtBeginDVals14\" },\n0x041F: { n:\"BrtColor14\" },\n0x0420: { n:\"BrtBeginSparklines\" },\n0x0421: { n:\"BrtEndSparklines\" },\n0x0422: { n:\"BrtBeginSparklineGroups\" },\n0x0423: { n:\"BrtEndSparklineGroups\" },\n0x0425: { n:\"BrtSXVD14\" },\n0x0426: { n:\"BrtBeginSXView14\" },\n0x0427: { n:\"BrtEndSXView14\" },\n0x0428: { n:\"BrtBeginSXView16\" },\n0x0429: { n:\"BrtEndSXView16\" },\n0x042A: { n:\"BrtBeginPCD14\" },\n0x042B: { n:\"BrtEndPCD14\" },\n0x042C: { n:\"BrtBeginExtConn14\" },\n0x042D: { n:\"BrtEndExtConn14\" },\n0x042E: { n:\"BrtBeginSlicerCacheIDs\" },\n0x042F: { n:\"BrtEndSlicerCacheIDs\" },\n0x0430: { n:\"BrtBeginSlicerCacheID\" },\n0x0431: { n:\"BrtEndSlicerCacheID\" },\n0x0433: { n:\"BrtBeginSlicerCache\" },\n0x0434: { n:\"BrtEndSlicerCache\" },\n0x0435: { n:\"BrtBeginSlicerCacheDef\" },\n0x0436: { n:\"BrtEndSlicerCacheDef\" },\n0x0437: { n:\"BrtBeginSlicersEx\" },\n0x0438: { n:\"BrtEndSlicersEx\" },\n0x0439: { n:\"BrtBeginSlicerEx\" },\n0x043A: { n:\"BrtEndSlicerEx\" },\n0x043B: { n:\"BrtBeginSlicer\" },\n0x043C: { n:\"BrtEndSlicer\" },\n0x043D: { n:\"BrtSlicerCachePivotTables\" },\n0x043E: { n:\"BrtBeginSlicerCacheOlapImpl\" },\n0x043F: { n:\"BrtEndSlicerCacheOlapImpl\" },\n0x0440: { n:\"BrtBeginSlicerCacheLevelsData\" },\n0x0441: { n:\"BrtEndSlicerCacheLevelsData\" },\n0x0442: { n:\"BrtBeginSlicerCacheLevelData\" },\n0x0443: { n:\"BrtEndSlicerCacheLevelData\" },\n0x0444: { n:\"BrtBeginSlicerCacheSiRanges\" },\n0x0445: { n:\"BrtEndSlicerCacheSiRanges\" },\n0x0446: { n:\"BrtBeginSlicerCacheSiRange\" },\n0x0447: { n:\"BrtEndSlicerCacheSiRange\" },\n0x0448: { n:\"BrtSlicerCacheOlapItem\" },\n0x0449: { n:\"BrtBeginSlicerCacheSelections\" },\n0x044A: { n:\"BrtSlicerCacheSelection\" },\n0x044B: { n:\"BrtEndSlicerCacheSelections\" },\n0x044C: { n:\"BrtBeginSlicerCacheNative\" },\n0x044D: { n:\"BrtEndSlicerCacheNative\" },\n0x044E: { n:\"BrtSlicerCacheNativeItem\" },\n0x044F: { n:\"BrtRangeProtection14\" },\n0x0450: { n:\"BrtRangeProtectionIso14\" },\n0x0451: { n:\"BrtCellIgnoreEC14\" },\n0x0457: { n:\"BrtList14\" },\n0x0458: { n:\"BrtCFIcon\" },\n0x0459: { n:\"BrtBeginSlicerCachesPivotCacheIDs\" },\n0x045A: { n:\"BrtEndSlicerCachesPivotCacheIDs\" },\n0x045B: { n:\"BrtBeginSlicers\" },\n0x045C: { n:\"BrtEndSlicers\" },\n0x045D: { n:\"BrtWbProp14\" },\n0x045E: { n:\"BrtBeginSXEdit\" },\n0x045F: { n:\"BrtEndSXEdit\" },\n0x0460: { n:\"BrtBeginSXEdits\" },\n0x0461: { n:\"BrtEndSXEdits\" },\n0x0462: { n:\"BrtBeginSXChange\" },\n0x0463: { n:\"BrtEndSXChange\" },\n0x0464: { n:\"BrtBeginSXChanges\" },\n0x0465: { n:\"BrtEndSXChanges\" },\n0x0466: { n:\"BrtSXTupleItems\" },\n0x0468: { n:\"BrtBeginSlicerStyle\" },\n0x0469: { n:\"BrtEndSlicerStyle\" },\n0x046A: { n:\"BrtSlicerStyleElement\" },\n0x046B: { n:\"BrtBeginStyleSheetExt14\" },\n0x046C: { n:\"BrtEndStyleSheetExt14\" },\n0x046D: { n:\"BrtBeginSlicerCachesPivotCacheID\" },\n0x046E: { n:\"BrtEndSlicerCachesPivotCacheID\" },\n0x046F: { n:\"BrtBeginConditionalFormattings\" },\n0x0470: { n:\"BrtEndConditionalFormattings\" },\n0x0471: { n:\"BrtBeginPCDCalcMemExt\" },\n0x0472: { n:\"BrtEndPCDCalcMemExt\" },\n0x0473: { n:\"BrtBeginPCDCalcMemsExt\" },\n0x0474: { n:\"BrtEndPCDCalcMemsExt\" },\n0x0475: { n:\"BrtPCDField14\" },\n0x0476: { n:\"BrtBeginSlicerStyles\" },\n0x0477: { n:\"BrtEndSlicerStyles\" },\n0x0478: { n:\"BrtBeginSlicerStyleElements\" },\n0x0479: { n:\"BrtEndSlicerStyleElements\" },\n0x047A: { n:\"BrtCFRuleExt\" },\n0x047B: { n:\"BrtBeginSXCondFmt14\" },\n0x047C: { n:\"BrtEndSXCondFmt14\" },\n0x047D: { n:\"BrtBeginSXCondFmts14\" },\n0x047E: { n:\"BrtEndSXCondFmts14\" },\n0x0480: { n:\"BrtBeginSortCond14\" },\n0x0481: { n:\"BrtEndSortCond14\" },\n0x0482: { n:\"BrtEndDVals14\" },\n0x0483: { n:\"BrtEndIconSet14\" },\n0x0484: { n:\"BrtEndDatabar14\" },\n0x0485: { n:\"BrtBeginColorScale14\" },\n0x0486: { n:\"BrtEndColorScale14\" },\n0x0487: { n:\"BrtBeginSxrules14\" },\n0x0488: { n:\"BrtEndSxrules14\" },\n0x0489: { n:\"BrtBeginPRule14\" },\n0x048A: { n:\"BrtEndPRule14\" },\n0x048B: { n:\"BrtBeginPRFilters14\" },\n0x048C: { n:\"BrtEndPRFilters14\" },\n0x048D: { n:\"BrtBeginPRFilter14\" },\n0x048E: { n:\"BrtEndPRFilter14\" },\n0x048F: { n:\"BrtBeginPRFItem14\" },\n0x0490: { n:\"BrtEndPRFItem14\" },\n0x0491: { n:\"BrtBeginCellIgnoreECs14\" },\n0x0492: { n:\"BrtEndCellIgnoreECs14\" },\n0x0493: { n:\"BrtDxf14\" },\n0x0494: { n:\"BrtBeginDxF14s\" },\n0x0495: { n:\"BrtEndDxf14s\" },\n0x0499: { n:\"BrtFilter14\" },\n0x049A: { n:\"BrtBeginCustomFilters14\" },\n0x049C: { n:\"BrtCustomFilter14\" },\n0x049D: { n:\"BrtIconFilter14\" },\n0x049E: { n:\"BrtPivotCacheConnectionName\" },\n0x0800: { n:\"BrtBeginDecoupledPivotCacheIDs\" },\n0x0801: { n:\"BrtEndDecoupledPivotCacheIDs\" },\n0x0802: { n:\"BrtDecoupledPivotCacheID\" },\n0x0803: { n:\"BrtBeginPivotTableRefs\" },\n0x0804: { n:\"BrtEndPivotTableRefs\" },\n0x0805: { n:\"BrtPivotTableRef\" },\n0x0806: { n:\"BrtSlicerCacheBookPivotTables\" },\n0x0807: { n:\"BrtBeginSxvcells\" },\n0x0808: { n:\"BrtEndSxvcells\" },\n0x0809: { n:\"BrtBeginSxRow\" },\n0x080A: { n:\"BrtEndSxRow\" },\n0x080C: { n:\"BrtPcdCalcMem15\" },\n0x0813: { n:\"BrtQsi15\" },\n0x0814: { n:\"BrtBeginWebExtensions\" },\n0x0815: { n:\"BrtEndWebExtensions\" },\n0x0816: { n:\"BrtWebExtension\" },\n0x0817: { n:\"BrtAbsPath15\" },\n0x0818: { n:\"BrtBeginPivotTableUISettings\" },\n0x0819: { n:\"BrtEndPivotTableUISettings\" },\n0x081B: { n:\"BrtTableSlicerCacheIDs\" },\n0x081C: { n:\"BrtTableSlicerCacheID\" },\n0x081D: { n:\"BrtBeginTableSlicerCache\" },\n0x081E: { n:\"BrtEndTableSlicerCache\" },\n0x081F: { n:\"BrtSxFilter15\" },\n0x0820: { n:\"BrtBeginTimelineCachePivotCacheIDs\" },\n0x0821: { n:\"BrtEndTimelineCachePivotCacheIDs\" },\n0x0822: { n:\"BrtTimelineCachePivotCacheID\" },\n0x0823: { n:\"BrtBeginTimelineCacheIDs\" },\n0x0824: { n:\"BrtEndTimelineCacheIDs\" },\n0x0825: { n:\"BrtBeginTimelineCacheID\" },\n0x0826: { n:\"BrtEndTimelineCacheID\" },\n0x0827: { n:\"BrtBeginTimelinesEx\" },\n0x0828: { n:\"BrtEndTimelinesEx\" },\n0x0829: { n:\"BrtBeginTimelineEx\" },\n0x082A: { n:\"BrtEndTimelineEx\" },\n0x082B: { n:\"BrtWorkBookPr15\" },\n0x082C: { n:\"BrtPCDH15\" },\n0x082D: { n:\"BrtBeginTimelineStyle\" },\n0x082E: { n:\"BrtEndTimelineStyle\" },\n0x082F: { n:\"BrtTimelineStyleElement\" },\n0x0830: { n:\"BrtBeginTimelineStylesheetExt15\" },\n0x0831: { n:\"BrtEndTimelineStylesheetExt15\" },\n0x0832: { n:\"BrtBeginTimelineStyles\" },\n0x0833: { n:\"BrtEndTimelineStyles\" },\n0x0834: { n:\"BrtBeginTimelineStyleElements\" },\n0x0835: { n:\"BrtEndTimelineStyleElements\" },\n0x0836: { n:\"BrtDxf15\" },\n0x0837: { n:\"BrtBeginDxfs15\" },\n0x0838: { n:\"brtEndDxfs15\" },\n0x0839: { n:\"BrtSlicerCacheHideItemsWithNoData\" },\n0x083A: { n:\"BrtBeginItemUniqueNames\" },\n0x083B: { n:\"BrtEndItemUniqueNames\" },\n0x083C: { n:\"BrtItemUniqueName\" },\n0x083D: { n:\"BrtBeginExtConn15\" },\n0x083E: { n:\"BrtEndExtConn15\" },\n0x083F: { n:\"BrtBeginOledbPr15\" },\n0x0840: { n:\"BrtEndOledbPr15\" },\n0x0841: { n:\"BrtBeginDataFeedPr15\" },\n0x0842: { n:\"BrtEndDataFeedPr15\" },\n0x0843: { n:\"BrtTextPr15\" },\n0x0844: { n:\"BrtRangePr15\" },\n0x0845: { n:\"BrtDbCommand15\" },\n0x0846: { n:\"BrtBeginDbTables15\" },\n0x0847: { n:\"BrtEndDbTables15\" },\n0x0848: { n:\"BrtDbTable15\" },\n0x0849: { n:\"BrtBeginDataModel\" },\n0x084A: { n:\"BrtEndDataModel\" },\n0x084B: { n:\"BrtBeginModelTables\" },\n0x084C: { n:\"BrtEndModelTables\" },\n0x084D: { n:\"BrtModelTable\" },\n0x084E: { n:\"BrtBeginModelRelationships\" },\n0x084F: { n:\"BrtEndModelRelationships\" },\n0x0850: { n:\"BrtModelRelationship\" },\n0x0851: { n:\"BrtBeginECTxtWiz15\" },\n0x0852: { n:\"BrtEndECTxtWiz15\" },\n0x0853: { n:\"BrtBeginECTWFldInfoLst15\" },\n0x0854: { n:\"BrtEndECTWFldInfoLst15\" },\n0x0855: { n:\"BrtBeginECTWFldInfo15\" },\n0x0856: { n:\"BrtFieldListActiveItem\" },\n0x0857: { n:\"BrtPivotCacheIdVersion\" },\n0x0858: { n:\"BrtSXDI15\" },\n0x0859: { n:\"BrtBeginModelTimeGroupings\" },\n0x085A: { n:\"BrtEndModelTimeGroupings\" },\n0x085B: { n:\"BrtBeginModelTimeGrouping\" },\n0x085C: { n:\"BrtEndModelTimeGrouping\" },\n0x085D: { n:\"BrtModelTimeGroupingCalcCol\" },\n0x0C00: { n:\"BrtUid\" },\n0x0C01: { n:\"BrtRevisionPtr\" },\n0x13e7: { n:\"BrtBeginCalcFeatures\" },\n0x13e8: { n:\"BrtEndCalcFeatures\" },\n0x13e9: { n:\"BrtCalcFeature\" },\n0xFFFF: { n:\"\" }\n};\n\nvar XLSBRE = evert_key(XLSBRecordEnum, 'n');\n\n/* [MS-XLS] 2.3 Record Enumeration */\nvar XLSRecordEnum = {\n0x0003: { n:\"BIFF2NUM\", f:parse_BIFF2NUM },\n0x0004: { n:\"BIFF2STR\", f:parse_BIFF2STR },\n0x0006: { n:\"Formula\", f:parse_Formula },\n0x0009: { n:'BOF', f:parse_BOF },\n0x000a: { n:'EOF', f:parsenoop2 },\n0x000c: { n:\"CalcCount\", f:parseuint16 },\n0x000d: { n:\"CalcMode\", f:parseuint16 },\n0x000e: { n:\"CalcPrecision\", f:parsebool },\n0x000f: { n:\"CalcRefMode\", f:parsebool },\n0x0010: { n:\"CalcDelta\", f:parse_Xnum },\n0x0011: { n:\"CalcIter\", f:parsebool },\n0x0012: { n:\"Protect\", f:parsebool },\n0x0013: { n:\"Password\", f:parseuint16 },\n0x0014: { n:\"Header\", f:parse_XLHeaderFooter },\n0x0015: { n:\"Footer\", f:parse_XLHeaderFooter },\n0x0017: { n:\"ExternSheet\", f:parse_ExternSheet },\n0x0018: { n:\"Lbl\", f:parse_Lbl },\n0x0019: { n:\"WinProtect\", f:parsebool },\n0x001a: { n:\"VerticalPageBreaks\" },\n0x001b: { n:\"HorizontalPageBreaks\" },\n0x001c: { n:\"Note\", f:parse_Note },\n0x001d: { n:\"Selection\" },\n0x0022: { n:\"Date1904\", f:parsebool },\n0x0023: { n:\"ExternName\", f:parse_ExternName },\n0x0024: { n:\"COLWIDTH\" },\n0x0026: { n:\"LeftMargin\", f:parse_Xnum },\n0x0027: { n:\"RightMargin\", f:parse_Xnum },\n0x0028: { n:\"TopMargin\", f:parse_Xnum },\n0x0029: { n:\"BottomMargin\", f:parse_Xnum },\n0x002a: { n:\"PrintRowCol\", f:parsebool },\n0x002b: { n:\"PrintGrid\", f:parsebool },\n0x002f: { n:\"FilePass\", f:parse_FilePass },\n0x0031: { n:\"Font\", f:parse_Font },\n0x0033: { n:\"PrintSize\", f:parseuint16 },\n0x003c: { n:\"Continue\" },\n0x003d: { n:\"Window1\", f:parse_Window1 },\n0x0040: { n:\"Backup\", f:parsebool },\n0x0041: { n:\"Pane\", f:parse_Pane },\n0x0042: { n:'CodePage', f:parseuint16 },\n0x004d: { n:\"Pls\" },\n0x0050: { n:\"DCon\" },\n0x0051: { n:\"DConRef\" },\n0x0052: { n:\"DConName\" },\n0x0055: { n:\"DefColWidth\", f:parseuint16 },\n0x0059: { n:\"XCT\" },\n0x005a: { n:\"CRN\" },\n0x005b: { n:\"FileSharing\" },\n0x005c: { n:'WriteAccess', f:parse_WriteAccess },\n0x005d: { n:\"Obj\", f:parse_Obj },\n0x005e: { n:\"Uncalced\" },\n0x005f: { n:\"CalcSaveRecalc\", f:parsebool },\n0x0060: { n:\"Template\" },\n0x0061: { n:\"Intl\" },\n0x0063: { n:\"ObjProtect\", f:parsebool },\n0x007d: { n:\"ColInfo\", f:parse_ColInfo },\n0x0080: { n:\"Guts\", f:parse_Guts },\n0x0081: { n:\"WsBool\", f:parse_WsBool },\n0x0082: { n:\"GridSet\", f:parseuint16 },\n0x0083: { n:\"HCenter\", f:parsebool },\n0x0084: { n:\"VCenter\", f:parsebool },\n0x0085: { n:'BoundSheet8', f:parse_BoundSheet8 },\n0x0086: { n:\"WriteProtect\" },\n0x008c: { n:\"Country\", f:parse_Country },\n0x008d: { n:\"HideObj\", f:parseuint16 },\n0x0090: { n:\"Sort\" },\n0x0092: { n:\"Palette\", f:parse_Palette },\n0x0097: { n:\"Sync\" },\n0x0098: { n:\"LPr\" },\n0x0099: { n:\"DxGCol\" },\n0x009a: { n:\"FnGroupName\" },\n0x009b: { n:\"FilterMode\" },\n0x009c: { n:\"BuiltInFnGroupCount\", f:parseuint16 },\n0x009d: { n:\"AutoFilterInfo\" },\n0x009e: { n:\"AutoFilter\" },\n0x00a0: { n:\"Scl\", f:parse_Scl },\n0x00a1: { n:\"Setup\", f:parse_Setup },\n0x00ae: { n:\"ScenMan\" },\n0x00af: { n:\"SCENARIO\" },\n0x00b0: { n:\"SxView\" },\n0x00b1: { n:\"Sxvd\" },\n0x00b2: { n:\"SXVI\" },\n0x00b4: { n:\"SxIvd\" },\n0x00b5: { n:\"SXLI\" },\n0x00b6: { n:\"SXPI\" },\n0x00b8: { n:\"DocRoute\" },\n0x00b9: { n:\"RecipName\" },\n0x00bd: { n:\"MulRk\", f:parse_MulRk },\n0x00be: { n:\"MulBlank\", f:parse_MulBlank },\n0x00c1: { n:'Mms', f:parsenoop2 },\n0x00c5: { n:\"SXDI\" },\n0x00c6: { n:\"SXDB\" },\n0x00c7: { n:\"SXFDB\" },\n0x00c8: { n:\"SXDBB\" },\n0x00c9: { n:\"SXNum\" },\n0x00ca: { n:\"SxBool\", f:parsebool },\n0x00cb: { n:\"SxErr\" },\n0x00cc: { n:\"SXInt\" },\n0x00cd: { n:\"SXString\" },\n0x00ce: { n:\"SXDtr\" },\n0x00cf: { n:\"SxNil\" },\n0x00d0: { n:\"SXTbl\" },\n0x00d1: { n:\"SXTBRGIITM\" },\n0x00d2: { n:\"SxTbpg\" },\n0x00d3: { n:\"ObProj\" },\n0x00d5: { n:\"SXStreamID\" },\n0x00d7: { n:\"DBCell\" },\n0x00d8: { n:\"SXRng\" },\n0x00d9: { n:\"SxIsxoper\" },\n0x00da: { n:\"BookBool\", f:parseuint16 },\n0x00dc: { n:\"DbOrParamQry\" },\n0x00dd: { n:\"ScenarioProtect\", f:parsebool },\n0x00de: { n:\"OleObjectSize\" },\n0x00e0: { n:\"XF\", f:parse_XF },\n0x00e1: { n:'InterfaceHdr', f:parse_InterfaceHdr },\n0x00e2: { n:'InterfaceEnd', f:parsenoop2 },\n0x00e3: { n:\"SXVS\" },\n0x00e5: { n:\"MergeCells\", f:parse_MergeCells },\n0x00e9: { n:\"BkHim\" },\n0x00eb: { n:\"MsoDrawingGroup\" },\n0x00ec: { n:\"MsoDrawing\" },\n0x00ed: { n:\"MsoDrawingSelection\" },\n0x00ef: { n:\"PhoneticInfo\" },\n0x00f0: { n:\"SxRule\" },\n0x00f1: { n:\"SXEx\" },\n0x00f2: { n:\"SxFilt\" },\n0x00f4: { n:\"SxDXF\" },\n0x00f5: { n:\"SxItm\" },\n0x00f6: { n:\"SxName\" },\n0x00f7: { n:\"SxSelect\" },\n0x00f8: { n:\"SXPair\" },\n0x00f9: { n:\"SxFmla\" },\n0x00fb: { n:\"SxFormat\" },\n0x00fc: { n:\"SST\", f:parse_SST },\n0x00fd: { n:\"LabelSst\", f:parse_LabelSst },\n0x00ff: { n:\"ExtSST\", f:parse_ExtSST },\n0x0100: { n:\"SXVDEx\" },\n0x0103: { n:\"SXFormula\" },\n0x0122: { n:\"SXDBEx\" },\n0x0137: { n:\"RRDInsDel\" },\n0x0138: { n:\"RRDHead\" },\n0x013b: { n:\"RRDChgCell\" },\n0x013d: { n:\"RRTabId\", f:parseuint16a },\n0x013e: { n:\"RRDRenSheet\" },\n0x013f: { n:\"RRSort\" },\n0x0140: { n:\"RRDMove\" },\n0x014a: { n:\"RRFormat\" },\n0x014b: { n:\"RRAutoFmt\" },\n0x014d: { n:\"RRInsertSh\" },\n0x014e: { n:\"RRDMoveBegin\" },\n0x014f: { n:\"RRDMoveEnd\" },\n0x0150: { n:\"RRDInsDelBegin\" },\n0x0151: { n:\"RRDInsDelEnd\" },\n0x0152: { n:\"RRDConflict\" },\n0x0153: { n:\"RRDDefName\" },\n0x0154: { n:\"RRDRstEtxp\" },\n0x015f: { n:\"LRng\" },\n0x0160: { n:\"UsesELFs\", f:parsebool },\n0x0161: { n:\"DSF\", f:parsenoop2 },\n0x0191: { n:\"CUsr\" },\n0x0192: { n:\"CbUsr\" },\n0x0193: { n:\"UsrInfo\" },\n0x0194: { n:\"UsrExcl\" },\n0x0195: { n:\"FileLock\" },\n0x0196: { n:\"RRDInfo\" },\n0x0197: { n:\"BCUsrs\" },\n0x0198: { n:\"UsrChk\" },\n0x01a9: { n:\"UserBView\" },\n0x01aa: { n:\"UserSViewBegin\" },\n0x01ab: { n:\"UserSViewEnd\" },\n0x01ac: { n:\"RRDUserView\" },\n0x01ad: { n:\"Qsi\" },\n0x01ae: { n:\"SupBook\", f:parse_SupBook },\n0x01af: { n:\"Prot4Rev\", f:parsebool },\n0x01b0: { n:\"CondFmt\" },\n0x01b1: { n:\"CF\" },\n0x01b2: { n:\"DVal\" },\n0x01b5: { n:\"DConBin\" },\n0x01b6: { n:\"TxO\", f:parse_TxO },\n0x01b7: { n:\"RefreshAll\", f:parsebool },\n0x01b8: { n:\"HLink\", f:parse_HLink },\n0x01b9: { n:\"Lel\" },\n0x01ba: { n:\"CodeName\", f:parse_XLUnicodeString },\n0x01bb: { n:\"SXFDBType\" },\n0x01bc: { n:\"Prot4RevPass\", f:parseuint16 },\n0x01bd: { n:\"ObNoMacros\" },\n0x01be: { n:\"Dv\" },\n0x01c0: { n:\"Excel9File\", f:parsenoop2 },\n0x01c1: { n:\"RecalcId\", f:parse_RecalcId, r:2},\n0x01c2: { n:\"EntExU2\", f:parsenoop2 },\n0x0200: { n:\"Dimensions\", f:parse_Dimensions },\n0x0201: { n:\"Blank\", f:parse_Blank },\n0x0203: { n:\"Number\", f:parse_Number },\n0x0204: { n:\"Label\", f:parse_Label },\n0x0205: { n:\"BoolErr\", f:parse_BoolErr },\n0x0206: { n:\"Formula\", f:parse_Formula },\n0x0207: { n:\"String\", f:parse_String },\n0x0208: { n:'Row', f:parse_Row },\n0x020b: { n:\"Index\" },\n0x0221: { n:\"Array\", f:parse_Array },\n0x0225: { n:\"DefaultRowHeight\", f:parse_DefaultRowHeight },\n0x0236: { n:\"Table\" },\n0x023e: { n:\"Window2\", f:parse_Window2 },\n0x027e: { n:\"RK\", f:parse_RK },\n0x0293: { n:\"Style\" },\n0x0406: { n:\"Formula\", f:parse_Formula },\n0x0418: { n:\"BigName\" },\n0x041e: { n:\"Format\", f:parse_Format },\n0x043c: { n:\"ContinueBigName\" },\n0x04bc: { n:\"ShrFmla\", f:parse_ShrFmla },\n0x0800: { n:\"HLinkTooltip\", f:parse_HLinkTooltip },\n0x0801: { n:\"WebPub\" },\n0x0802: { n:\"QsiSXTag\" },\n0x0803: { n:\"DBQueryExt\" },\n0x0804: { n:\"ExtString\" },\n0x0805: { n:\"TxtQry\" },\n0x0806: { n:\"Qsir\" },\n0x0807: { n:\"Qsif\" },\n0x0808: { n:\"RRDTQSIF\" },\n0x0809: { n:'BOF', f:parse_BOF },\n0x080a: { n:\"OleDbConn\" },\n0x080b: { n:\"WOpt\" },\n0x080c: { n:\"SXViewEx\" },\n0x080d: { n:\"SXTH\" },\n0x080e: { n:\"SXPIEx\" },\n0x080f: { n:\"SXVDTEx\" },\n0x0810: { n:\"SXViewEx9\" },\n0x0812: { n:\"ContinueFrt\" },\n0x0813: { n:\"RealTimeData\" },\n0x0850: { n:\"ChartFrtInfo\" },\n0x0851: { n:\"FrtWrapper\" },\n0x0852: { n:\"StartBlock\" },\n0x0853: { n:\"EndBlock\" },\n0x0854: { n:\"StartObject\" },\n0x0855: { n:\"EndObject\" },\n0x0856: { n:\"CatLab\" },\n0x0857: { n:\"YMult\" },\n0x0858: { n:\"SXViewLink\" },\n0x0859: { n:\"PivotChartBits\" },\n0x085a: { n:\"FrtFontList\" },\n0x0862: { n:\"SheetExt\" },\n0x0863: { n:\"BookExt\", r:12},\n0x0864: { n:\"SXAddl\" },\n0x0865: { n:\"CrErr\" },\n0x0866: { n:\"HFPicture\" },\n0x0867: { n:'FeatHdr', f:parsenoop2 },\n0x0868: { n:\"Feat\" },\n0x086a: { n:\"DataLabExt\" },\n0x086b: { n:\"DataLabExtContents\" },\n0x086c: { n:\"CellWatch\" },\n0x0871: { n:\"FeatHdr11\" },\n0x0872: { n:\"Feature11\" },\n0x0874: { n:\"DropDownObjIds\" },\n0x0875: { n:\"ContinueFrt11\" },\n0x0876: { n:\"DConn\" },\n0x0877: { n:\"List12\" },\n0x0878: { n:\"Feature12\" },\n0x0879: { n:\"CondFmt12\" },\n0x087a: { n:\"CF12\" },\n0x087b: { n:\"CFEx\" },\n0x087c: { n:\"XFCRC\", f:parse_XFCRC, r:12 },\n0x087d: { n:\"XFExt\", f:parse_XFExt, r:12 },\n0x087e: { n:\"AutoFilter12\" },\n0x087f: { n:\"ContinueFrt12\" },\n0x0884: { n:\"MDTInfo\" },\n0x0885: { n:\"MDXStr\" },\n0x0886: { n:\"MDXTuple\" },\n0x0887: { n:\"MDXSet\" },\n0x0888: { n:\"MDXProp\" },\n0x0889: { n:\"MDXKPI\" },\n0x088a: { n:\"MDB\" },\n0x088b: { n:\"PLV\" },\n0x088c: { n:\"Compat12\", f:parsebool, r:12 },\n0x088d: { n:\"DXF\" },\n0x088e: { n:\"TableStyles\", r:12 },\n0x088f: { n:\"TableStyle\" },\n0x0890: { n:\"TableStyleElement\" },\n0x0892: { n:\"StyleExt\" },\n0x0893: { n:\"NamePublish\" },\n0x0894: { n:\"NameCmt\", f:parse_NameCmt, r:12 },\n0x0895: { n:\"SortData\" },\n0x0896: { n:\"Theme\", f:parse_Theme, r:12 },\n0x0897: { n:\"GUIDTypeLib\" },\n0x0898: { n:\"FnGrp12\" },\n0x0899: { n:\"NameFnGrp12\" },\n0x089a: { n:\"MTRSettings\", f:parse_MTRSettings, r:12 },\n0x089b: { n:\"CompressPictures\", f:parsenoop2 },\n0x089c: { n:\"HeaderFooter\" },\n0x089d: { n:\"CrtLayout12\" },\n0x089e: { n:\"CrtMlFrt\" },\n0x089f: { n:\"CrtMlFrtContinue\" },\n0x08a3: { n:\"ForceFullCalculation\", f:parse_ForceFullCalculation },\n0x08a4: { n:\"ShapePropsStream\" },\n0x08a5: { n:\"TextPropsStream\" },\n0x08a6: { n:\"RichTextStream\" },\n0x08a7: { n:\"CrtLayout12A\" },\n0x1001: { n:\"Units\" },\n0x1002: { n:\"Chart\" },\n0x1003: { n:\"Series\" },\n0x1006: { n:\"DataFormat\" },\n0x1007: { n:\"LineFormat\" },\n0x1009: { n:\"MarkerFormat\" },\n0x100a: { n:\"AreaFormat\" },\n0x100b: { n:\"PieFormat\" },\n0x100c: { n:\"AttachedLabel\" },\n0x100d: { n:\"SeriesText\" },\n0x1014: { n:\"ChartFormat\" },\n0x1015: { n:\"Legend\" },\n0x1016: { n:\"SeriesList\" },\n0x1017: { n:\"Bar\" },\n0x1018: { n:\"Line\" },\n0x1019: { n:\"Pie\" },\n0x101a: { n:\"Area\" },\n0x101b: { n:\"Scatter\" },\n0x101c: { n:\"CrtLine\" },\n0x101d: { n:\"Axis\" },\n0x101e: { n:\"Tick\" },\n0x101f: { n:\"ValueRange\" },\n0x1020: { n:\"CatSerRange\" },\n0x1021: { n:\"AxisLine\" },\n0x1022: { n:\"CrtLink\" },\n0x1024: { n:\"DefaultText\" },\n0x1025: { n:\"Text\" },\n0x1026: { n:\"FontX\", f:parseuint16 },\n0x1027: { n:\"ObjectLink\" },\n0x1032: { n:\"Frame\" },\n0x1033: { n:\"Begin\" },\n0x1034: { n:\"End\" },\n0x1035: { n:\"PlotArea\" },\n0x103a: { n:\"Chart3d\" },\n0x103c: { n:\"PicF\" },\n0x103d: { n:\"DropBar\" },\n0x103e: { n:\"Radar\" },\n0x103f: { n:\"Surf\" },\n0x1040: { n:\"RadarArea\" },\n0x1041: { n:\"AxisParent\" },\n0x1043: { n:\"LegendException\" },\n0x1044: { n:\"ShtProps\", f:parse_ShtProps },\n0x1045: { n:\"SerToCrt\" },\n0x1046: { n:\"AxesUsed\" },\n0x1048: { n:\"SBaseRef\" },\n0x104a: { n:\"SerParent\" },\n0x104b: { n:\"SerAuxTrend\" },\n0x104e: { n:\"IFmtRecord\" },\n0x104f: { n:\"Pos\" },\n0x1050: { n:\"AlRuns\" },\n0x1051: { n:\"BRAI\" },\n0x105b: { n:\"SerAuxErrBar\" },\n0x105c: { n:\"ClrtClient\", f:parse_ClrtClient },\n0x105d: { n:\"SerFmt\" },\n0x105f: { n:\"Chart3DBarShape\" },\n0x1060: { n:\"Fbi\" },\n0x1061: { n:\"BopPop\" },\n0x1062: { n:\"AxcExt\" },\n0x1063: { n:\"Dat\" },\n0x1064: { n:\"PlotGrowth\" },\n0x1065: { n:\"SIIndex\" },\n0x1066: { n:\"GelFrame\" },\n0x1067: { n:\"BopPopCustom\" },\n0x1068: { n:\"Fbi2\" },\n\n0x0000: { n:\"Dimensions\", f:parse_Dimensions },\n0x0002: { n:\"BIFF2INT\", f:parse_BIFF2INT },\n0x0005: { n:\"BoolErr\", f:parse_BoolErr },\n0x0007: { n:\"String\", f:parse_BIFF2STRING },\n0x0008: { n:\"BIFF2ROW\" },\n0x000b: { n:\"Index\" },\n0x0016: { n:\"ExternCount\", f:parseuint16 },\n0x001e: { n:\"BIFF2FORMAT\", f:parse_BIFF2Format },\n0x001f: { n:\"BIFF2FMTCNT\" }, /* 16-bit cnt of BIFF2FORMAT records */\n0x0020: { n:\"BIFF2COLINFO\" },\n0x0021: { n:\"Array\", f:parse_Array },\n0x0025: { n:\"DefaultRowHeight\", f:parse_DefaultRowHeight },\n0x0032: { n:\"BIFF2FONTXTRA\", f:parse_BIFF2FONTXTRA },\n0x0034: { n:\"DDEObjName\" },\n0x003e: { n:\"BIFF2WINDOW2\" },\n0x0043: { n:\"BIFF2XF\" },\n0x0045: { n:\"BIFF2FONTCLR\" },\n0x0056: { n:\"BIFF4FMTCNT\" }, /* 16-bit cnt, similar to BIFF2 */\n0x007e: { n:\"RK\" }, /* Not necessarily same as 0x027e */\n0x007f: { n:\"ImData\", f:parse_ImData },\n0x0087: { n:\"Addin\" },\n0x0088: { n:\"Edg\" },\n0x0089: { n:\"Pub\" },\n0x0091: { n:\"Sub\" },\n0x0094: { n:\"LHRecord\" },\n0x0095: { n:\"LHNGraph\" },\n0x0096: { n:\"Sound\" },\n0x00a9: { n:\"CoordList\" },\n0x00ab: { n:\"GCW\" },\n0x00bc: { n:\"ShrFmla\" }, /* Not necessarily same as 0x04bc */\n0x00bf: { n:\"ToolbarHdr\" },\n0x00c0: { n:\"ToolbarEnd\" },\n0x00c2: { n:\"AddMenu\" },\n0x00c3: { n:\"DelMenu\" },\n0x00d6: { n:\"RString\", f:parse_RString },\n0x00df: { n:\"UDDesc\" },\n0x00ea: { n:\"TabIdConf\" },\n0x0162: { n:\"XL5Modify\" },\n0x01a5: { n:\"FileSharing2\" },\n0x0209: { n:'BOF', f:parse_BOF },\n0x0218: { n:\"Lbl\", f:parse_Lbl },\n0x0223: { n:\"ExternName\", f:parse_ExternName },\n0x0231: { n:\"Font\" },\n0x0243: { n:\"BIFF3XF\" },\n0x0409: { n:'BOF', f:parse_BOF },\n0x0443: { n:\"BIFF4XF\" },\n0x086d: { n:\"FeatInfo\" },\n0x0873: { n:\"FeatInfo11\" },\n0x0881: { n:\"SXAddl12\" },\n0x08c0: { n:\"AutoWebPub\" },\n0x08c1: { n:\"ListObj\" },\n0x08c2: { n:\"ListField\" },\n0x08c3: { n:\"ListDV\" },\n0x08c4: { n:\"ListCondFmt\" },\n0x08c5: { n:\"ListCF\" },\n0x08c6: { n:\"FMQry\" },\n0x08c7: { n:\"FMSQry\" },\n0x08c8: { n:\"PLV\" },\n0x08c9: { n:\"LnExt\" },\n0x08ca: { n:\"MkrExt\" },\n0x08cb: { n:\"CrtCoopt\" },\n0x08d6: { n:\"FRTArchId$\", r:12 },\n\n0x7262: {}\n};\n\nvar XLSRE = evert_key(XLSRecordEnum, 'n');\nfunction write_biff_rec(ba, type, payload, length) {\n\tvar t = +type || +XLSRE[type];\n\tif(isNaN(t)) return;\n\tvar len = length || (payload||[]).length || 0;\n\tvar o = ba.next(4);\n\to.write_shift(2, t);\n\to.write_shift(2, len);\n\tif(len > 0 && is_buf(payload)) ba.push(payload);\n}\n\nfunction write_biff_continue(ba, type, payload, length) {\n\tvar len = length || (payload||[]).length || 0;\n\tif(len <= 8224) return write_biff_rec(ba, type, payload, len);\n\tvar t = +type || +XLSRE[type];\n\tif(isNaN(t)) return;\n\tvar parts = payload.parts || [], sidx = 0;\n\tvar i = 0, w = 0;\n\twhile(w + (parts[sidx] || 8224) <= 8224) { w+= (parts[sidx] || 8224); sidx++; }\n\tvar o = ba.next(4);\n\to.write_shift(2, t);\n\to.write_shift(2, w);\n\tba.push(payload.slice(i, i + w));\n\ti += w;\n\twhile(i < len) {\n\t\to = ba.next(4);\n\t\to.write_shift(2, 0x3c); // TODO: figure out correct continue type\n\t\tw = 0;\n\t\twhile(w + (parts[sidx] || 8224) <= 8224) { w+= (parts[sidx] || 8224); sidx++; }\n\t\to.write_shift(2, w);\n\t\tba.push(payload.slice(i, i+w)); i+= w;\n\t}\n}\n\nfunction write_BIFF2Cell(out, r, c) {\n\tif(!out) out = new_buf(7);\n\tout.write_shift(2, r);\n\tout.write_shift(2, c);\n\tout.write_shift(2, 0);\n\tout.write_shift(1, 0);\n\treturn out;\n}\n\nfunction write_BIFF2BERR(r, c, val, t) {\n\tvar out = new_buf(9);\n\twrite_BIFF2Cell(out, r, c);\n\tif(t == 'e') { out.write_shift(1, val); out.write_shift(1, 1); }\n\telse { out.write_shift(1, val?1:0); out.write_shift(1, 0); }\n\treturn out;\n}\n\n/* TODO: codepage, large strings */\nfunction write_BIFF2LABEL(r, c, val) {\n\tvar out = new_buf(8 + 2*val.length);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(1, val.length);\n\tout.write_shift(val.length, val, 'sbcs');\n\treturn out.l < out.length ? out.slice(0, out.l) : out;\n}\n\nfunction write_ws_biff2_cell(ba, cell, R, C) {\n\tif(cell.v != null) switch(cell.t) {\n\t\tcase 'd': case 'n':\n\t\t\tvar v = cell.t == 'd' ? datenum(parseDate(cell.v)) : cell.v;\n\t\t\tif((v == (v|0)) && (v >= 0) && (v < 65536))\n\t\t\t\twrite_biff_rec(ba, 0x0002, write_BIFF2INT(R, C, v));\n\t\t\telse\n\t\t\t\twrite_biff_rec(ba, 0x0003, write_BIFF2NUM(R,C, v));\n\t\t\treturn;\n\t\tcase 'b': case 'e': write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, cell.v, cell.t)); return;\n\t\t/* TODO: codepage, sst */\n\t\tcase 's': case 'str':\n\t\t\twrite_biff_rec(ba, 0x0004, write_BIFF2LABEL(R, C, cell.v));\n\t\t\treturn;\n\t}\n\twrite_biff_rec(ba, 0x0001, write_BIFF2Cell(null, R, C));\n}\n\nfunction write_ws_biff2(ba, ws, idx, opts) {\n\tvar dense = Array.isArray(ws);\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\"), ref, rr = \"\", cols = [];\n\tif(range.e.c > 0xFF || range.e.r > 0x3FFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:IV16384\");\n\t\trange.e.c = Math.min(range.e.c, 0xFF);\n\t\trange.e.r = Math.min(range.e.c, 0x3FFF);\n\t\tref = encode_range(range);\n\t}\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) continue;\n\t\t\t/* write cell */\n\t\t\twrite_ws_biff2_cell(ba, cell, R, C, opts);\n\t\t}\n\t}\n}\n\n/* Based on test files */\nfunction write_biff2_buf(wb, opts) {\n\tvar o = opts || {};\n\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\tvar ba = buf_array();\n\tvar idx = 0;\n\tfor(var i=0;i 0xFF || range.e.r >= MAX_ROWS) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:IV16384\");\n\t\trange.e.c = Math.min(range.e.c, 0xFF);\n\t\trange.e.r = Math.min(range.e.c, MAX_ROWS-1);\n\t}\n\n\twrite_biff_rec(ba, 0x0809, write_BOF(wb, 0x10, opts));\n\t/* [Uncalced] Index */\n\twrite_biff_rec(ba, \"CalcMode\", writeuint16(1));\n\twrite_biff_rec(ba, \"CalcCount\", writeuint16(100));\n\twrite_biff_rec(ba, \"CalcRefMode\", writebool(true));\n\twrite_biff_rec(ba, \"CalcIter\", writebool(false));\n\twrite_biff_rec(ba, \"CalcDelta\", write_Xnum(0.001));\n\twrite_biff_rec(ba, \"CalcSaveRecalc\", writebool(true));\n\twrite_biff_rec(ba, \"PrintRowCol\", writebool(false));\n\twrite_biff_rec(ba, \"PrintGrid\", writebool(false));\n\twrite_biff_rec(ba, \"GridSet\", writeuint16(1));\n\twrite_biff_rec(ba, \"Guts\", write_Guts([0,0]));\n\t/* DefaultRowHeight WsBool [Sync] [LPr] [HorizontalPageBreaks] [VerticalPageBreaks] */\n\t/* Header (string) */\n\t/* Footer (string) */\n\twrite_biff_rec(ba, \"HCenter\", writebool(false));\n\twrite_biff_rec(ba, \"VCenter\", writebool(false));\n\t/* ... */\n\twrite_biff_rec(ba, 0x200, write_Dimensions(range, opts));\n\t/* ... */\n\n\tif(b8) ws['!links'] = [];\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) continue;\n\t\t\t/* write cell */\n\t\t\twrite_ws_biff8_cell(ba, cell, R, C, opts);\n\t\t\tif(b8 && cell.l) ws['!links'].push([ref, cell.l]);\n\t\t}\n\t}\n\tvar cname = _sheet.CodeName || _sheet.name || s;\n\t/* ... */\n\tif(b8 && _WB.Views) write_biff_rec(ba, \"Window2\", write_Window2(_WB.Views[0]));\n\t/* ... */\n\tif(b8 && (ws['!merges']||[]).length) write_biff_rec(ba, \"MergeCells\", write_MergeCells(ws['!merges']));\n\t/* [LRng] *QUERYTABLE [PHONETICINFO] CONDFMTS */\n\tif(b8) write_ws_biff8_hlinks(ba, ws);\n\t/* [DVAL] */\n\twrite_biff_rec(ba, \"CodeName\", write_XLUnicodeString(cname, opts));\n\t/* *WebPub *CellWatch [SheetExt] */\n\tif(b8) write_FEAT(ba, ws);\n\t/* *FEAT11 *RECORD12 */\n\twrite_biff_rec(ba, \"EOF\");\n\treturn ba.end();\n}\n\n/* [MS-XLS] 2.1.7.20.3 */\nfunction write_biff8_global(wb, bufs, opts) {\n\tvar A = buf_array();\n\tvar _WB = ((wb||{}).Workbook||{});\n\tvar _sheets = (_WB.Sheets||[]);\n\tvar _wb = _WB.WBProps||{};\n\tvar b8 = opts.biff == 8, b5 = opts.biff == 5;\n\twrite_biff_rec(A, 0x0809, write_BOF(wb, 0x05, opts));\n\tif(opts.bookType == \"xla\") write_biff_rec(A, \"Addin\");\n\twrite_biff_rec(A, \"InterfaceHdr\", b8 ? writeuint16(0x04b0) : null);\n\twrite_biff_rec(A, \"Mms\", writezeroes(2));\n\tif(b5) write_biff_rec(A, \"ToolbarHdr\");\n\tif(b5) write_biff_rec(A, \"ToolbarEnd\");\n\twrite_biff_rec(A, \"InterfaceEnd\");\n\twrite_biff_rec(A, \"WriteAccess\", write_WriteAccess(\"SheetJS\", opts));\n\t/* [FileSharing] */\n\twrite_biff_rec(A, \"CodePage\", writeuint16(b8 ? 0x04b0 : 0x04E4));\n\t/* *2047 Lel */\n\tif(b8) write_biff_rec(A, \"DSF\", writeuint16(0));\n\tif(b8) write_biff_rec(A, \"Excel9File\");\n\twrite_biff_rec(A, \"RRTabId\", write_RRTabId(wb.SheetNames.length));\n\tif(b8 && wb.vbaraw) write_biff_rec(A, \"ObProj\");\n\t/* [ObNoMacros] */\n\tif(b8 && wb.vbaraw) {\n\t\tvar cname = _wb.CodeName || \"ThisWorkbook\";\n\t\twrite_biff_rec(A, \"CodeName\", write_XLUnicodeString(cname, opts));\n\t}\n\twrite_biff_rec(A, \"BuiltInFnGroupCount\", writeuint16(0x11));\n\t/* *FnGroupName *FnGrp12 */\n\t/* *Lbl */\n\t/* [OleObjectSize] */\n\twrite_biff_rec(A, \"WinProtect\", writebool(false));\n\twrite_biff_rec(A, \"Protect\", writebool(false));\n\twrite_biff_rec(A, \"Password\", writeuint16(0));\n\tif(b8) write_biff_rec(A, \"Prot4Rev\", writebool(false));\n\tif(b8) write_biff_rec(A, \"Prot4RevPass\", writeuint16(0));\n\twrite_biff_rec(A, \"Window1\", write_Window1(opts));\n\twrite_biff_rec(A, \"Backup\", writebool(false));\n\twrite_biff_rec(A, \"HideObj\", writeuint16(0));\n\twrite_biff_rec(A, \"Date1904\", writebool(safe1904(wb)==\"true\"));\n\twrite_biff_rec(A, \"CalcPrecision\", writebool(true));\n\tif(b8) write_biff_rec(A, \"RefreshAll\", writebool(false));\n\twrite_biff_rec(A, \"BookBool\", writeuint16(0));\n\t/* ... */\n\twrite_FONTS_biff8(A, wb, opts);\n\twrite_FMTS_biff8(A, wb.SSF, opts);\n\twrite_CELLXFS_biff8(A, opts);\n\t/* ... */\n\tif(b8) write_biff_rec(A, \"UsesELFs\", writebool(false));\n\tvar a = A.end();\n\n\tvar C = buf_array();\n\t/* METADATA [MTRSettings] [ForceFullCalculation] */\n\tif(b8) write_biff_rec(C, \"Country\", write_Country());\n\t/* *SUPBOOK *LBL *RTD [RecalcId] *HFPicture *MSODRAWINGGROUP */\n\n\t/* BIFF8: [SST *Continue] ExtSST */\n\tif(b8 && opts.Strings) write_biff_continue(C, \"SST\", write_SST(opts.Strings, opts));\n\n\t/* *WebPub [WOpt] [CrErr] [BookExt] *FeatHdr *DConn [THEME] [CompressPictures] [Compat12] [GUIDTypeLib] */\n\twrite_biff_rec(C, \"EOF\");\n\tvar c = C.end();\n\n\tvar B = buf_array();\n\tvar blen = 0, j = 0;\n\tfor(j = 0; j < wb.SheetNames.length; ++j) blen += (b8 ? 12 : 11) + (b8 ? 2 : 1) * wb.SheetNames[j].length;\n\tvar start = a.length + blen + c.length;\n\tfor(j = 0; j < wb.SheetNames.length; ++j) {\n\t\tvar _sheet = _sheets[j] || ({});\n\t\twrite_biff_rec(B, \"BoundSheet8\", write_BoundSheet8({pos:start, hs:_sheet.Hidden||0, dt:0, name:wb.SheetNames[j]}, opts));\n\t\tstart += bufs[j].length;\n\t}\n\t/* 1*BoundSheet8 */\n\tvar b = B.end();\n\tif(blen != b.length) throw new Error(\"BS8 \" + blen + \" != \" + b.length);\n\n\tvar out = [];\n\tif(a.length) out.push(a);\n\tif(b.length) out.push(b);\n\tif(c.length) out.push(c);\n\treturn __toBuffer([out]);\n}\n\n/* [MS-XLS] 2.1.7.20 Workbook Stream */\nfunction write_biff8_buf(wb, opts) {\n\tvar o = opts || {};\n\tvar bufs = [];\n\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = SSF.get_table();\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(SSF); SSF.load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\to.revssf = evert_num(wb.SSF); o.revssf[wb.SSF[65535]] = 0;\n\t\to.ssf = wb.SSF;\n\t}\n\n\to.Strings = []; o.Strings.Count = 0; o.Strings.Unique = 0;\n\tfix_write_opts(o);\n\n\to.cellXfs = [];\n\tget_cell_style(o.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tfor(var i = 0; i < wb.SheetNames.length; ++i) bufs[bufs.length] = write_ws_biff8(i, o, wb);\n\tbufs.unshift(write_biff8_global(wb, bufs, o));\n\treturn __toBuffer([bufs]);\n}\n\nfunction write_biff_buf(wb, opts) {\n\tvar o = opts || {};\n\tswitch(o.biff || 2) {\n\t\tcase 8: case 5: return write_biff8_buf(wb, opts);\n\t\tcase 4: case 3: case 2: return write_biff2_buf(wb, opts);\n\t}\n\tthrow new Error(\"invalid type \" + o.bookType + \" for BIFF\");\n}\n/* note: browser DOM element cannot see mso- style attrs, must parse */\nvar HTML_ = (function() {\n\tfunction html_to_sheet(str, _opts) {\n\t\tvar opts = _opts || {};\n\t\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\t\tvar ws = opts.dense ? ([]) : ({});\n\t\tstr = str.replace(//g, \"\");\n\t\tvar mtch = str.match(/\");\n\t\tvar mtch2 = str.match(/<\\/table/i);\n\t\tvar i = mtch.index, j = mtch2 && mtch2.index || str.length;\n\t\tvar rows = split_regex(str.slice(i, j), /(:?]*>)/i, \"\");\n\t\tvar R = -1, C = 0, RS = 0, CS = 0;\n\t\tvar range = {s:{r:10000000, c:10000000},e:{r:0,c:0}};\n\t\tvar merges = [];\n\t\tfor(i = 0; i < rows.length; ++i) {\n\t\t\tvar row = rows[i].trim();\n\t\t\tvar hd = row.slice(0,3).toLowerCase();\n\t\t\tif(hd == \"/i);\n\t\t\tfor(j = 0; j < cells.length; ++j) {\n\t\t\t\tvar cell = cells[j].trim();\n\t\t\t\tif(!cell.match(/\")) > -1) m = m.slice(cc+1);\n\t\t\t\tfor(var midx = 0; midx < merges.length; ++midx) {\n\t\t\t\t\tvar _merge = merges[midx];\n\t\t\t\t\tif(_merge.s.c == C && _merge.s.r < R && R <= _merge.e.r) { C = _merge.e.c + 1; midx = -1; }\n\t\t\t\t}\n\t\t\t\tvar tag = parsexmltag(cell.slice(0, cell.indexOf(\">\")));\n\t\t\t\tCS = tag.colspan ? +tag.colspan : 1;\n\t\t\t\tif((RS = +tag.rowspan)>1 || CS>1) merges.push({s:{r:R,c:C},e:{r:R + (RS||1) - 1, c:C + CS - 1}});\n\t\t\t\tvar _t = tag.t || \"\";\n\t\t\t\t/* TODO: generate stub cells */\n\t\t\t\tif(!m.length) { C += CS; continue; }\n\t\t\t\tm = htmldecode(m);\n\t\t\t\tif(range.s.r > R) range.s.r = R; if(range.e.r < R) range.e.r = R;\n\t\t\t\tif(range.s.c > C) range.s.c = C; if(range.e.c < C) range.e.c = C;\n\t\t\t\tif(!m.length) continue;\n\t\t\t\tvar o = {t:'s', v:m};\n\t\t\t\tif(opts.raw || !m.trim().length || _t == 's'){}\n\t\t\t\telse if(m === 'TRUE') o = {t:'b', v:true};\n\t\t\t\telse if(m === 'FALSE') o = {t:'b', v:false};\n\t\t\t\telse if(!isNaN(fuzzynum(m))) o = {t:'n', v:fuzzynum(m)};\n\t\t\t\telse if(!isNaN(fuzzydate(m).getDate())) {\n\t\t\t\t\to = ({t:'d', v:parseDate(m)});\n\t\t\t\t\tif(!opts.cellDates) o = ({t:'n', v:datenum(o.v)});\n\t\t\t\t\to.z = opts.dateNF || SSF._table[14];\n\t\t\t\t}\n\t\t\t\tif(opts.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = o; }\n\t\t\t\telse ws[encode_cell({r:R, c:C})] = o;\n\t\t\t\tC += CS;\n\t\t\t}\n\t\t}\n\t\tws['!ref'] = encode_range(range);\n\t\tif(merges.length) ws[\"!merges\"] = merges;\n\t\treturn ws;\n\t}\n\tfunction html_to_book(str, opts) {\n\t\treturn sheet_to_workbook(html_to_sheet(str, opts), opts);\n\t}\n\tfunction make_html_row(ws, r, R, o) {\n\t\tvar M = (ws['!merges'] ||[]);\n\t\tvar oo = [];\n\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\tvar RS = 0, CS = 0;\n\t\t\tfor(var j = 0; j < M.length; ++j) {\n\t\t\t\tif(M[j].s.r > R || M[j].s.c > C) continue;\n\t\t\t\tif(M[j].e.r < R || M[j].e.c < C) continue;\n\t\t\t\tif(M[j].s.r < R || M[j].s.c < C) { RS = -1; break; }\n\t\t\t\tRS = M[j].e.r - M[j].s.r + 1; CS = M[j].e.c - M[j].s.c + 1; break;\n\t\t\t}\n\t\t\tif(RS < 0) continue;\n\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\tvar cell = o.dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t/* TODO: html entities */\n\t\t\tvar w = (cell && cell.v != null) && (cell.h || escapehtml(cell.w || (format_cell(cell), cell.w) || \"\")) || \"\";\n\t\t\tvar sp = ({});\n\t\t\tif(RS > 1) sp.rowspan = RS;\n\t\t\tif(CS > 1) sp.colspan = CS;\n\t\t\tsp.t = cell && cell.t || 'z';\n\t\t\tif(o.editable) w = '' + w + '';\n\t\t\tsp.id = (o.id || \"sjs\") + \"-\" + coord;\n\t\t\tif(sp.t != \"z\") { sp.v = cell.v; if(cell.z != null) sp.z = cell.z; }\n\t\t\too.push(writextag('td', w, sp));\n\t\t}\n\t\tvar preamble = \"\";\n\t\treturn preamble + oo.join(\"\") + \"\";\n\t}\n\tfunction make_html_preamble(ws, R, o) {\n\t\tvar out = [];\n\t\treturn out.join(\"\") + '';\n\t}\n\tvar _BEGIN = 'SheetJS Table Export';\n\tvar _END = '';\n\tfunction sheet_to_html(ws, opts/*, wb:?Workbook*/) {\n\t\tvar o = opts || {};\n\t\tvar header = o.header != null ? o.header : _BEGIN;\n\t\tvar footer = o.footer != null ? o.footer : _END;\n\t\tvar out = [header];\n\t\tvar r = decode_range(ws['!ref']);\n\t\to.dense = Array.isArray(ws);\n\t\tout.push(make_html_preamble(ws, r, o));\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) out.push(make_html_row(ws, r, R, o));\n\t\tout.push(\"
\" + footer);\n\t\treturn out.join(\"\");\n\n\t}\n\treturn {\n\t\tto_workbook: html_to_book,\n\t\tto_sheet: html_to_sheet,\n\t\t_row: make_html_row,\n\t\tBEGIN: _BEGIN,\n\t\tEND: _END,\n\t\t_preamble: make_html_preamble,\n\t\tfrom_sheet: sheet_to_html\n\t};\n})();\n\nfunction sheet_add_dom(ws, table, _opts) {\n\tvar opts = _opts || {};\n\tif(DENSE != null) opts.dense = DENSE;\n\tvar or_R = 0, or_C = 0;\n\tif(opts.origin != null) {\n\t\tif(typeof opts.origin == 'number') or_R = opts.origin;\n\t\telse {\n\t\t\tvar _origin = typeof opts.origin == \"string\" ? decode_cell(opts.origin) : opts.origin;\n\t\t\tor_R = _origin.r; or_C = _origin.c;\n\t\t}\n\t}\n\tvar rows = table.getElementsByTagName('tr');\n\tvar sheetRows = Math.min(opts.sheetRows||10000000, rows.length);\n\tvar range = {s:{r:0,c:0},e:{r:or_R,c:or_C}};\n\tif(ws[\"!ref\"]) {\n\t\tvar _range = decode_range(ws[\"!ref\"]);\n\t\trange.s.r = Math.min(range.s.r, _range.s.r);\n\t\trange.s.c = Math.min(range.s.c, _range.s.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\tif(or_R == -1) range.e.r = or_R = _range.e.r + 1;\n\t}\n\tvar merges = [], midx = 0;\n\tvar rowinfo = ws[\"!rows\"] || (ws[\"!rows\"] = []);\n\tvar _R = 0, R = 0, _C = 0, C = 0, RS = 0, CS = 0;\n\tif(!ws[\"!cols\"]) ws['!cols'] = [];\n\tfor(; _R < rows.length && R < sheetRows; ++_R) {\n\t\tvar row = rows[_R];\n\t\tif (is_dom_element_hidden(row)) {\n\t\t\tif (opts.display) continue;\n\t\t\trowinfo[R] = {hidden: true};\n\t\t}\n\t\tvar elts = (row.children);\n\t\tfor(_C = C = 0; _C < elts.length; ++_C) {\n\t\t\tvar elt = elts[_C];\n\t\t\tif (opts.display && is_dom_element_hidden(elt)) continue;\n\t\t\tvar v = elt.hasAttribute('v') ? elt.getAttribute('v') : htmldecode(elt.innerHTML);\n\t\t\tvar z = elt.getAttribute('z');\n\t\t\tfor(midx = 0; midx < merges.length; ++midx) {\n\t\t\t\tvar m = merges[midx];\n\t\t\t\tif(m.s.c == C + or_C && m.s.r < R + or_R && R + or_R <= m.e.r) { C = m.e.c+1 - or_C; midx = -1; }\n\t\t\t}\n\t\t\t/* TODO: figure out how to extract nonstandard mso- style */\n\t\t\tCS = +elt.getAttribute(\"colspan\") || 1;\n\t\t\tif( ((RS = (+elt.getAttribute(\"rowspan\") || 1)))>1 || CS>1) merges.push({s:{r:R + or_R,c:C + or_C},e:{r:R + or_R + (RS||1) - 1, c:C + or_C + (CS||1) - 1}});\n\t\t\tvar o = {t:'s', v:v};\n\t\t\tvar _t = elt.getAttribute(\"t\") || \"\";\n\t\t\tif(v != null) {\n\t\t\t\tif(v.length == 0) o.t = _t || 'z';\n\t\t\t\telse if(opts.raw || v.trim().length == 0 || _t == \"s\"){}\n\t\t\t\telse if(v === 'TRUE') o = {t:'b', v:true};\n\t\t\t\telse if(v === 'FALSE') o = {t:'b', v:false};\n\t\t\t\telse if(!isNaN(fuzzynum(v))) o = {t:'n', v:fuzzynum(v)};\n\t\t\t\telse if(!isNaN(fuzzydate(v).getDate())) {\n\t\t\t\t\to = ({t:'d', v:parseDate(v)});\n\t\t\t\t\tif(!opts.cellDates) o = ({t:'n', v:datenum(o.v)});\n\t\t\t\t\to.z = opts.dateNF || SSF._table[14];\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(o.z === undefined && z != null) o.z = z;\n\t\t\tif(opts.dense) { if(!ws[R + or_R]) ws[R + or_R] = []; ws[R + or_R][C + or_C] = o; }\n\t\t\telse ws[encode_cell({c:C + or_C, r:R + or_R})] = o;\n\t\t\tif(range.e.c < C + or_C) range.e.c = C + or_C;\n\t\t\tC += CS;\n\t\t}\n\t\t++R;\n\t}\n\tif(merges.length) ws['!merges'] = (ws[\"!merges\"] || []).concat(merges);\n\trange.e.r = Math.max(range.e.r, R - 1 + or_R);\n\tws['!ref'] = encode_range(range);\n\tif(R >= sheetRows) ws['!fullref'] = encode_range((range.e.r = rows.length-_R+R-1 + or_R,range)); // We can count the real number of rows to parse but we don't to improve the performance\n\treturn ws;\n}\n\nfunction parse_dom_table(table, _opts) {\n\tvar opts = _opts || {};\n\tvar ws = opts.dense ? ([]) : ({});\n\treturn sheet_add_dom(ws, table, _opts);\n}\n\nfunction table_to_book(table, opts) {\n\treturn sheet_to_workbook(parse_dom_table(table, opts), opts);\n}\n\nfunction is_dom_element_hidden(element) {\n\tvar display = '';\n\tvar get_computed_style = get_get_computed_style_function(element);\n\tif(get_computed_style) display = get_computed_style(element).getPropertyValue('display');\n\tif(!display) display = element.style.display; // Fallback for cases when getComputedStyle is not available (e.g. an old browser or some Node.js environments) or doesn't work (e.g. if the element is not inserted to a document)\n\treturn display === 'none';\n}\n\n/* global getComputedStyle */\nfunction get_get_computed_style_function(element) {\n\t// The proper getComputedStyle implementation is the one defined in the element window\n\tif(element.ownerDocument.defaultView && typeof element.ownerDocument.defaultView.getComputedStyle === 'function') return element.ownerDocument.defaultView.getComputedStyle;\n\t// If it is not available, try to get one from the global namespace\n\tif(typeof getComputedStyle === 'function') return getComputedStyle;\n\treturn null;\n}\n/* OpenDocument */\nvar parse_content_xml = (function() {\n\n\tvar parse_text_p = function(text) {\n\t\t/* 6.1.2 White Space Characters */\n\t\tvar fixed = text\n\t\t\t.replace(/[\\t\\r\\n]/g, \" \").trim().replace(/ +/g, \" \")\n\t\t\t.replace(//g,\" \")\n\t\t\t.replace(//g, function($$,$1) { return Array(parseInt($1,10)+1).join(\" \"); })\n\t\t\t.replace(/]*\\/>/g,\"\\t\")\n\t\t\t.replace(//g,\"\\n\");\n\t\tvar v = unescapexml(fixed.replace(/<[^>]*>/g,\"\"));\n\n\t\treturn [v];\n\t};\n\n\tvar number_formats = {\n\t\t/* ods name: [short ssf fmt, long ssf fmt] */\n\t\tday: [\"d\", \"dd\"],\n\t\tmonth: [\"m\", \"mm\"],\n\t\tyear: [\"y\", \"yy\"],\n\t\thours: [\"h\", \"hh\"],\n\t\tminutes: [\"m\", \"mm\"],\n\t\tseconds: [\"s\", \"ss\"],\n\t\t\"am-pm\": [\"A/P\", \"AM/PM\"],\n\t\t\"day-of-week\": [\"ddd\", \"dddd\"],\n\t\tera: [\"e\", \"ee\"],\n\t\t/* there is no native representation of LO \"Q\" format */\n\t\tquarter: [\"\\\\Qm\", \"m\\\\\\\"th quarter\\\"\"]\n\t};\n\n\treturn function pcx(d, _opts) {\n\t\tvar opts = _opts || {};\n\t\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\t\tvar str = xlml_normalize(d);\n\t\tvar state = [], tmp;\n\t\tvar tag;\n\t\tvar NFtag = {name:\"\"}, NF = \"\", pidx = 0;\n\t\tvar sheetag;\n\t\tvar rowtag;\n\t\tvar Sheets = {}, SheetNames = [];\n\t\tvar ws = opts.dense ? ([]) : ({});\n\t\tvar Rn, q;\n\t\tvar ctag = ({value:\"\"});\n\t\tvar textp = \"\", textpidx = 0, textptag;\n\t\tvar textR = [];\n\t\tvar R = -1, C = -1, range = {s: {r:1000000,c:10000000}, e: {r:0, c:0}};\n\t\tvar row_ol = 0;\n\t\tvar number_format_map = {};\n\t\tvar merges = [], mrange = {}, mR = 0, mC = 0;\n\t\tvar rowinfo = [], rowpeat = 1, colpeat = 1;\n\t\tvar arrayf = [];\n\t\tvar WB = {Names:[]};\n\t\tvar atag = ({});\n\t\tvar _Ref = [\"\", \"\"];\n\t\tvar comments = [], comment = ({});\n\t\tvar creator = \"\", creatoridx = 0;\n\t\tvar isstub = false, intable = false;\n\t\tvar i = 0;\n\t\txlmlregex.lastIndex = 0;\n\t\tstr = str.replace(//mg,\"\").replace(//gm,\"\");\n\t\twhile((Rn = xlmlregex.exec(str))) switch((Rn[3]=Rn[3].replace(/_.*$/,\"\"))) {\n\n\t\t\tcase 'table': case '工作表': // 9.1.2 \n\t\t\t\tif(Rn[1]==='/') {\n\t\t\t\t\tif(range.e.c >= range.s.c && range.e.r >= range.s.r) ws['!ref'] = encode_range(range);\n\t\t\t\t\tif(opts.sheetRows > 0 && opts.sheetRows <= range.e.r) {\n\t\t\t\t\t\tws['!fullref'] = ws['!ref'];\n\t\t\t\t\t\trange.e.r = opts.sheetRows - 1;\n\t\t\t\t\t\tws['!ref'] = encode_range(range);\n\t\t\t\t\t}\n\t\t\t\t\tif(merges.length) ws['!merges'] = merges;\n\t\t\t\t\tif(rowinfo.length) ws[\"!rows\"] = rowinfo;\n\t\t\t\t\tsheetag.name = sheetag['名称'] || sheetag.name;\n\t\t\t\t\tif(typeof JSON !== 'undefined') JSON.stringify(sheetag);\n\t\t\t\t\tSheetNames.push(sheetag.name);\n\t\t\t\t\tSheets[sheetag.name] = ws;\n\t\t\t\t\tintable = false;\n\t\t\t\t}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\t\tsheetag = parsexmltag(Rn[0], false);\n\t\t\t\t\tR = C = -1;\n\t\t\t\t\trange.s.r = range.s.c = 10000000; range.e.r = range.e.c = 0;\n\t\t\t\t\tws = opts.dense ? ([]) : ({}); merges = [];\n\t\t\t\t\trowinfo = [];\n\t\t\t\t\tintable = true;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'table-row-group': // 9.1.9 \n\t\t\t\tif(Rn[1] === \"/\") --row_ol; else ++row_ol;\n\t\t\t\tbreak;\n\t\t\tcase 'table-row': case '行': // 9.1.3 \n\t\t\t\tif(Rn[1] === '/') { R+=rowpeat; rowpeat = 1; break; }\n\t\t\t\trowtag = parsexmltag(Rn[0], false);\n\t\t\t\tif(rowtag['行号']) R = rowtag['行号'] - 1; else if(R == -1) R = 0;\n\t\t\t\trowpeat = +rowtag['number-rows-repeated'] || 1;\n\t\t\t\t/* TODO: remove magic */\n\t\t\t\tif(rowpeat < 10) for(i = 0; i < rowpeat; ++i) if(row_ol > 0) rowinfo[R + i] = {level: row_ol};\n\t\t\t\tC = -1; break;\n\t\t\tcase 'covered-table-cell': // 9.1.5 \n\t\t\t\tif(Rn[1] !== '/') ++C;\n\t\t\t\tif(opts.sheetStubs) {\n\t\t\t\t\tif(opts.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = {t:'z'}; }\n\t\t\t\t\telse ws[encode_cell({r:R,c:C})] = {t:'z'};\n\t\t\t\t}\n\t\t\t\ttextp = \"\"; textR = [];\n\t\t\t\tbreak; /* stub */\n\t\t\tcase 'table-cell': case '数据':\n\t\t\t\tif(Rn[0].charAt(Rn[0].length-2) === '/') {\n\t\t\t\t\t++C;\n\t\t\t\t\tctag = parsexmltag(Rn[0], false);\n\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\tq = ({t:'z', v:null});\n\t\t\t\t\tif(ctag.formula && opts.cellFormula != false) q.f = ods_to_csf_formula(unescapexml(ctag.formula));\n\t\t\t\t\tif((ctag['数据类型'] || ctag['value-type']) == \"string\") {\n\t\t\t\t\t\tq.t = \"s\"; q.v = unescapexml(ctag['string-value'] || \"\");\n\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\tif(!ws[R]) ws[R] = [];\n\t\t\t\t\t\t\tws[R][C] = q;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tws[encode_cell({r:R,c:C})] = q;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tC+= colpeat-1;\n\t\t\t\t} else if(Rn[1]!=='/') {\n\t\t\t\t\t++C;\n\t\t\t\t\tcolpeat = 1;\n\t\t\t\t\tvar rptR = rowpeat ? R + rowpeat - 1 : R;\n\t\t\t\t\tif(C > range.e.c) range.e.c = C;\n\t\t\t\t\tif(C < range.s.c) range.s.c = C;\n\t\t\t\t\tif(R < range.s.r) range.s.r = R;\n\t\t\t\t\tif(rptR > range.e.r) range.e.r = rptR;\n\t\t\t\t\tctag = parsexmltag(Rn[0], false);\n\t\t\t\t\tcomments = []; comment = ({});\n\t\t\t\t\tq = ({t:ctag['数据类型'] || ctag['value-type'], v:null});\n\t\t\t\t\tif(opts.cellFormula) {\n\t\t\t\t\t\tif(ctag.formula) ctag.formula = unescapexml(ctag.formula);\n\t\t\t\t\t\tif(ctag['number-matrix-columns-spanned'] && ctag['number-matrix-rows-spanned']) {\n\t\t\t\t\t\t\tmR = parseInt(ctag['number-matrix-rows-spanned'],10) || 0;\n\t\t\t\t\t\t\tmC = parseInt(ctag['number-matrix-columns-spanned'],10) || 0;\n\t\t\t\t\t\t\tmrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}};\n\t\t\t\t\t\t\tq.F = encode_range(mrange);\n\t\t\t\t\t\t\tarrayf.push([mrange, q.F]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(ctag.formula) q.f = ods_to_csf_formula(ctag.formula);\n\t\t\t\t\t\telse for(i = 0; i < arrayf.length; ++i)\n\t\t\t\t\t\t\tif(R >= arrayf[i][0].s.r && R <= arrayf[i][0].e.r)\n\t\t\t\t\t\t\t\tif(C >= arrayf[i][0].s.c && C <= arrayf[i][0].e.c)\n\t\t\t\t\t\t\t\t\tq.F = arrayf[i][1];\n\t\t\t\t\t}\n\t\t\t\t\tif(ctag['number-columns-spanned'] || ctag['number-rows-spanned']) {\n\t\t\t\t\t\tmR = parseInt(ctag['number-rows-spanned'],10) || 0;\n\t\t\t\t\t\tmC = parseInt(ctag['number-columns-spanned'],10) || 0;\n\t\t\t\t\t\tmrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}};\n\t\t\t\t\t\tmerges.push(mrange);\n\t\t\t\t\t}\n\n\t\t\t\t\t/* 19.675.2 table:number-columns-repeated */\n\t\t\t\t\tif(ctag['number-columns-repeated']) colpeat = parseInt(ctag['number-columns-repeated'], 10);\n\n\t\t\t\t\t/* 19.385 office:value-type */\n\t\t\t\t\tswitch(q.t) {\n\t\t\t\t\t\tcase 'boolean': q.t = 'b'; q.v = parsexmlbool(ctag['boolean-value']); break;\n\t\t\t\t\t\tcase 'float': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'percentage': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'currency': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'date': q.t = 'd'; q.v = parseDate(ctag['date-value']);\n\t\t\t\t\t\t\tif(!opts.cellDates) { q.t = 'n'; q.v = datenum(q.v); }\n\t\t\t\t\t\t\tq.z = 'm/d/yy'; break;\n\t\t\t\t\t\tcase 'time': q.t = 'n'; q.v = parse_isodur(ctag['time-value'])/86400; break;\n\t\t\t\t\t\tcase 'number': q.t = 'n'; q.v = parseFloat(ctag['数据数值']); break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tif(q.t === 'string' || q.t === 'text' || !q.t) {\n\t\t\t\t\t\t\t\tq.t = 's';\n\t\t\t\t\t\t\t\tif(ctag['string-value'] != null) { textp = unescapexml(ctag['string-value']); textR = []; }\n\t\t\t\t\t\t\t} else throw new Error('Unsupported value type ' + q.t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tisstub = false;\n\t\t\t\t\tif(q.t === 's') {\n\t\t\t\t\t\tq.v = textp || '';\n\t\t\t\t\t\tif(textR.length) q.R = textR;\n\t\t\t\t\t\tisstub = textpidx == 0;\n\t\t\t\t\t}\n\t\t\t\t\tif(atag.Target) q.l = atag;\n\t\t\t\t\tif(comments.length > 0) { q.c = comments; comments = []; }\n\t\t\t\t\tif(textp && opts.cellText !== false) q.w = textp;\n\t\t\t\t\tif(isstub) { q.t = \"z\"; delete q.v; }\n\t\t\t\t\tif(!isstub || opts.sheetStubs) {\n\t\t\t\t\t\tif(!(opts.sheetRows && opts.sheetRows <= R)) {\n\t\t\t\t\t\t\tfor(var rpt = 0; rpt < rowpeat; ++rpt) {\n\t\t\t\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\t\t\tif(!ws[R + rpt]) ws[R + rpt] = [];\n\t\t\t\t\t\t\t\t\tws[R + rpt][C] = rpt == 0 ? q : dup(q);\n\t\t\t\t\t\t\t\t\twhile(--colpeat > 0) ws[R + rpt][C + colpeat] = dup(q);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tws[encode_cell({r:R + rpt,c:C})] = q;\n\t\t\t\t\t\t\t\t\twhile(--colpeat > 0) ws[encode_cell({r:R + rpt,c:C + colpeat})] = dup(q);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif(range.e.c <= C) range.e.c = C;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\tC += colpeat-1; colpeat = 0;\n\t\t\t\t\tq = {};\n\t\t\t\t\ttextp = \"\"; textR = [];\n\t\t\t\t}\n\t\t\t\tatag = ({});\n\t\t\t\tbreak; // 9.1.4 \n\n\t\t\t/* pure state */\n\t\t\tcase 'document': // TODO: is the root for FODS\n\t\t\tcase 'document-content': case '电子表格文档': // 3.1.3.2 \n\t\t\tcase 'spreadsheet': case '主体': // 3.7 \n\t\t\tcase 'scripts': // 3.12 \n\t\t\tcase 'styles': // TODO \n\t\t\tcase 'font-face-decls': // 3.14 \n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t\tbreak;\n\n\t\t\tcase 'annotation': // 14.1 \n\t\t\t\tif(Rn[1]==='/'){\n\t\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;\n\t\t\t\t\tcomment.t = textp;\n\t\t\t\t\tif(textR.length) comment.R = textR;\n\t\t\t\t\tcomment.a = creator;\n\t\t\t\t\tcomments.push(comment);\n\t\t\t\t}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {state.push([Rn[3], false]);}\n\t\t\t\tcreator = \"\"; creatoridx = 0;\n\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\tbreak;\n\n\t\t\tcase 'creator': // 4.3.2.7 \n\t\t\t\tif(Rn[1]==='/') { creator = str.slice(creatoridx,Rn.index); }\n\t\t\t\telse creatoridx = Rn.index + Rn[0].length;\n\t\t\t\tbreak;\n\n\t\t\t/* ignore state */\n\t\t\tcase 'meta': case '元数据': // TODO: FODS/UOF\n\t\t\tcase 'settings': // TODO: \n\t\t\tcase 'config-item-set': // TODO: \n\t\t\tcase 'config-item-map-indexed': // TODO: \n\t\t\tcase 'config-item-map-entry': // TODO: \n\t\t\tcase 'config-item-map-named': // TODO: \n\t\t\tcase 'shapes': // 9.2.8 \n\t\t\tcase 'frame': // 10.4.2 \n\t\t\tcase 'text-box': // 10.4.3 \n\t\t\tcase 'image': // 10.4.4 \n\t\t\tcase 'data-pilot-tables': // 9.6.2 \n\t\t\tcase 'list-style': // 16.30 \n\t\t\tcase 'form': // 13.13 \n\t\t\tcase 'dde-links': // 9.8 \n\t\t\tcase 'event-listeners': // TODO\n\t\t\tcase 'chart': // TODO\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], false]);\n\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\tbreak;\n\n\t\t\tcase 'scientific-number': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'currency-symbol': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'currency-style': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'number-style': // 16.27.2 \n\t\t\tcase 'percentage-style': // 16.27.9 \n\t\t\tcase 'date-style': // 16.27.10 \n\t\t\tcase 'time-style': // 16.27.18 \n\t\t\t\tif(Rn[1]==='/'){\n\t\t\t\t\tnumber_format_map[NFtag.name] = NF;\n\t\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;\n\t\t\t\t} else if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\t\tNF = \"\";\n\t\t\t\t\tNFtag = parsexmltag(Rn[0], false);\n\t\t\t\t\tstate.push([Rn[3], true]);\n\t\t\t\t} break;\n\n\t\t\tcase 'script': break; // 3.13 \n\t\t\tcase 'libraries': break; // TODO: \n\t\t\tcase 'automatic-styles': break; // 3.15.3 \n\t\t\tcase 'master-styles': break; // TODO: \n\n\t\t\tcase 'default-style': // TODO: \n\t\t\tcase 'page-layout': break; // TODO: \n\t\t\tcase 'style': // 16.2 \n\t\t\t\tbreak;\n\t\t\tcase 'map': break; // 16.3 \n\t\t\tcase 'font-face': break; // 16.21 \n\n\t\t\tcase 'paragraph-properties': break; // 17.6 \n\t\t\tcase 'table-properties': break; // 17.15 \n\t\t\tcase 'table-column-properties': break; // 17.16 \n\t\t\tcase 'table-row-properties': break; // 17.17 \n\t\t\tcase 'table-cell-properties': break; // 17.18 \n\n\t\t\tcase 'number': // 16.27.3 \n\t\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t\t\tNF += number_formats[Rn[3]][tag.style==='long'?1:0]; break;\n\t\t\t\t} break;\n\n\t\t\tcase 'fraction': break; // TODO 16.27.6 \n\n\t\t\tcase 'day': // 16.27.11 \n\t\t\tcase 'month': // 16.27.12 \n\t\t\tcase 'year': // 16.27.13 \n\t\t\tcase 'era': // 16.27.14 \n\t\t\tcase 'day-of-week': // 16.27.15 \n\t\t\tcase 'week-of-year': // 16.27.16 \n\t\t\tcase 'quarter': // 16.27.17 \n\t\t\tcase 'hours': // 16.27.19 \n\t\t\tcase 'minutes': // 16.27.20 \n\t\t\tcase 'seconds': // 16.27.21 \n\t\t\tcase 'am-pm': // 16.27.22 \n\t\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t\t\tNF += number_formats[Rn[3]][tag.style==='long'?1:0]; break;\n\t\t\t\t} break;\n\n\t\t\tcase 'boolean-style': break; // 16.27.23 \n\t\t\tcase 'boolean': break; // 16.27.24 \n\t\t\tcase 'text-style': break; // 16.27.25 \n\t\t\tcase 'text': // 16.27.26 \n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\t\telse if(Rn[1]===\"/\") switch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'number-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\t\tNF += str.slice(pidx, Rn.index);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\t\tbreak;\n\n\t\t\tcase 'named-range': // 9.4.12 \n\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t_Ref = ods_to_csf_3D(tag['cell-range-address']);\n\t\t\t\tvar nrange = ({Name:tag.name, Ref:_Ref[0] + '!' + _Ref[1]});\n\t\t\t\tif(intable) nrange.Sheet = SheetNames.length;\n\t\t\t\tWB.Names.push(nrange);\n\t\t\t\tbreak;\n\n\t\t\tcase 'text-content': break; // 16.27.27 \n\t\t\tcase 'text-properties': break; // 16.27.27 \n\t\t\tcase 'embedded-text': break; // 16.27.4 \n\n\t\t\tcase 'body': case '电子表格': break; // 3.3 16.9.6 19.726.3\n\n\t\t\tcase 'forms': break; // 12.25.2 13.2\n\t\t\tcase 'table-column': break; // 9.1.6 \n\t\t\tcase 'table-header-rows': break; // 9.1.7 \n\t\t\tcase 'table-rows': break; // 9.1.12 \n\t\t\t/* TODO: outline levels */\n\t\t\tcase 'table-column-group': break; // 9.1.10 \n\t\t\tcase 'table-header-columns': break; // 9.1.11 \n\t\t\tcase 'table-columns': break; // 9.1.12 \n\n\t\t\tcase 'null-date': break; // 9.4.2 TODO: date1904\n\n\t\t\tcase 'graphic-properties': break; // 17.21 \n\t\t\tcase 'calculation-settings': break; // 9.4.1 \n\t\t\tcase 'named-expressions': break; // 9.4.11 \n\t\t\tcase 'label-range': break; // 9.4.9 \n\t\t\tcase 'label-ranges': break; // 9.4.10 \n\t\t\tcase 'named-expression': break; // 9.4.13 \n\t\t\tcase 'sort': break; // 9.4.19 \n\t\t\tcase 'sort-by': break; // 9.4.20 \n\t\t\tcase 'sort-groups': break; // 9.4.22 \n\n\t\t\tcase 'tab': break; // 6.1.4 \n\t\t\tcase 'line-break': break; // 6.1.5 \n\t\t\tcase 'span': break; // 6.1.7 \n\t\t\tcase 'p': case '文本串': // 5.1.3 \n\t\t\t\tif(Rn[1]==='/' && (!ctag || !ctag['string-value'])) {\n\t\t\t\t\tvar ptp = parse_text_p(str.slice(textpidx,Rn.index), textptag);\n\t\t\t\t\ttextp = (textp.length > 0 ? textp + \"\\n\" : \"\") + ptp[0];\n\t\t\t\t} else { textptag = parsexmltag(Rn[0], false); textpidx = Rn.index + Rn[0].length; }\n\t\t\t\tbreak; // \n\t\t\tcase 's': break; // \n\n\t\t\tcase 'database-range': // 9.4.15 \n\t\t\t\tif(Rn[1]==='/') break;\n\t\t\t\ttry {\n\t\t\t\t\t_Ref = ods_to_csf_3D(parsexmltag(Rn[0])['target-range-address']);\n\t\t\t\t\tSheets[_Ref[0]]['!autofilter'] = { ref:_Ref[1] };\n\t\t\t\t} catch(e) {/* empty */}\n\t\t\t\tbreak;\n\n\t\t\tcase 'date': break; // <*:date>\n\n\t\t\tcase 'object': break; // 10.4.6.2 \n\t\t\tcase 'title': case '标题': break; // <*:title> OR \n\t\t\tcase 'desc': break; // <*:desc>\n\t\t\tcase 'binary-data': break; // 10.4.5 TODO: b64 blob\n\n\t\t\t/* 9.2 Advanced Tables */\n\t\t\tcase 'table-source': break; // 9.2.6\n\t\t\tcase 'scenario': break; // 9.2.6\n\n\t\t\tcase 'iteration': break; // 9.4.3 \n\t\t\tcase 'content-validations': break; // 9.4.4 \n\t\t\tcase 'filter': break; // 9.5.2 \n\t\t\tcase 'filter-and': break; // 9.5.3 \n\t\t\tcase 'filter-or': break; // 9.5.4 \n\t\t\tcase 'filter-condition': break; // 9.5.5 \n\n\t\t\tcase 'list-level-style-bullet': break; // 16.31 \n\t\t\tcase 'page-count': break; // TODO \n\t\t\tcase 'time': break; // TODO \n\n\t\t\t/* 9.3 Advanced Table Cells */\n\t\t\tcase 'cell-range-source': break; // 9.3.1 \n\t\t\tcase 'property': break; // 13.8 \n\n\t\t\tcase 'a': // 6.1.8 hyperlink\n\t\t\t\tif(Rn[1]!== '/') {\n\t\t\t\t\tatag = parsexmltag(Rn[0], false);\n\t\t\t\t\tif(!atag.href) break;\n\t\t\t\t\tatag.Target = atag.href; delete atag.href;\n\t\t\t\t\tif(atag.Target.charAt(0) == \"#\" && atag.Target.indexOf(\".\") > -1) {\n\t\t\t\t\t\t_Ref = ods_to_csf_3D(atag.Target.slice(1));\n\t\t\t\t\t\tatag.Target = \"#\" + _Ref[0] + \"!\" + _Ref[1];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t/* non-standard */\n\t\t\tcase 'table-protection': break;\n\t\t\tcase 'data-pilot-grand-total': break; // ';\n\treturn function wso() {\n\t\treturn XML_HEADER + payload;\n\t};\n})();\nvar write_content_ods = (function() {\n\t/* 6.1.2 White Space Characters */\n\tvar write_text_p = function(text) {\n\t\treturn escapexml(text)\n\t\t\t.replace(/ +/g, function($$){return '';})\n\t\t\t.replace(/\\t/g, \"\")\n\t\t\t.replace(/\\n/g, \"\")\n\t\t\t.replace(/^ /, \"\").replace(/ $/, \"\");\n\t};\n\n\tvar null_cell_xml = ' \\n';\n\tvar covered_cell_xml = ' \\n';\n\tvar write_ws = function(ws, wb, i) {\n\t\t/* Section 9 Tables */\n\t\tvar o = [];\n\t\to.push(' \\n');\n\t\tvar R=0,C=0, range = decode_range(ws['!ref']);\n\t\tvar marr = ws['!merges'] || [], mi = 0;\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(R = 0; R < range.s.r; ++R) o.push(' \\n');\n\t\tfor(; R <= range.e.r; ++R) {\n\t\t\to.push(' \\n');\n\t\t\tfor(C=0; C < range.s.c; ++C) o.push(null_cell_xml);\n\t\t\tfor(; C <= range.e.c; ++C) {\n\t\t\t\tvar skip = false, ct = {}, textp = \"\";\n\t\t\t\tfor(mi = 0; mi != marr.length; ++mi) {\n\t\t\t\t\tif(marr[mi].s.c > C) continue;\n\t\t\t\t\tif(marr[mi].s.r > R) continue;\n\t\t\t\t\tif(marr[mi].e.c < C) continue;\n\t\t\t\t\tif(marr[mi].e.r < R) continue;\n\t\t\t\t\tif(marr[mi].s.c != C || marr[mi].s.r != R) skip = true;\n\t\t\t\t\tct['table:number-columns-spanned'] = (marr[mi].e.c - marr[mi].s.c + 1);\n\t\t\t\t\tct['table:number-rows-spanned'] = (marr[mi].e.r - marr[mi].s.r + 1);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(skip) { o.push(covered_cell_xml); continue; }\n\t\t\t\tvar ref = encode_cell({r:R, c:C}), cell = dense ? (ws[R]||[])[C]: ws[ref];\n\t\t\t\tif(cell && cell.f) {\n\t\t\t\t\tct['table:formula'] = escapexml(csf_to_ods_formula(cell.f));\n\t\t\t\t\tif(cell.F) {\n\t\t\t\t\t\tif(cell.F.slice(0, ref.length) == ref) {\n\t\t\t\t\t\t\tvar _Fref = decode_range(cell.F);\n\t\t\t\t\t\t\tct['table:number-matrix-columns-spanned'] = (_Fref.e.c - _Fref.s.c + 1);\n\t\t\t\t\t\t\tct['table:number-matrix-rows-spanned'] = (_Fref.e.r - _Fref.s.r + 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(!cell) { o.push(null_cell_xml); continue; }\n\t\t\t\tswitch(cell.t) {\n\t\t\t\t\tcase 'b':\n\t\t\t\t\t\ttextp = (cell.v ? 'TRUE' : 'FALSE');\n\t\t\t\t\t\tct['office:value-type'] = \"boolean\";\n\t\t\t\t\t\tct['office:boolean-value'] = (cell.v ? 'true' : 'false');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'n':\n\t\t\t\t\t\ttextp = (cell.w||String(cell.v||0));\n\t\t\t\t\t\tct['office:value-type'] = \"float\";\n\t\t\t\t\t\tct['office:value'] = (cell.v||0);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 's': case 'str':\n\t\t\t\t\t\ttextp = cell.v == null ? \"\" : cell.v;\n\t\t\t\t\t\tct['office:value-type'] = \"string\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'd':\n\t\t\t\t\t\ttextp = (cell.w||(parseDate(cell.v).toISOString()));\n\t\t\t\t\t\tct['office:value-type'] = \"date\";\n\t\t\t\t\t\tct['office:date-value'] = (parseDate(cell.v).toISOString());\n\t\t\t\t\t\tct['table:style-name'] = \"ce1\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t//case 'e':\n\t\t\t\t\tdefault: o.push(null_cell_xml); continue;\n\t\t\t\t}\n\t\t\t\tvar text_p = write_text_p(textp);\n\t\t\t\tif(cell.l && cell.l.Target) {\n\t\t\t\t\tvar _tgt = cell.l.Target; _tgt = _tgt.charAt(0) == \"#\" ? \"#\" + csf_to_ods_3D(_tgt.slice(1)) : _tgt;\n\t\t\t\t\ttext_p = writextag('text:a', text_p, {'xlink:href': _tgt});\n\t\t\t\t}\n\t\t\t\to.push(' ' + writextag('table:table-cell', writextag('text:p', text_p, {}), ct) + '\\n');\n\t\t\t}\n\t\t\to.push(' \\n');\n\t\t}\n\t\to.push(' \\n');\n\t\treturn o.join(\"\");\n\t};\n\n\tvar write_automatic_styles_ods = function(o) {\n\t\to.push(' \\n');\n\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\to.push(' /\\n');\n\t\to.push(' \\n');\n\t\to.push(' /\\n');\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\n\t\t/* table */\n\t\to.push(' \\n'); // style:master-page-name=\"mp1\">\\n');\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\n\t\t/* table cells, text */\n\t\to.push(' \\n');\n\n\t\t/* page-layout */\n\n\t\to.push(' \\n');\n\t};\n\n\treturn function wcx(wb, opts) {\n\t\tvar o = [XML_HEADER];\n\t\t/* 3.1.3.2 */\n\t\tvar attr = wxt_helper({\n\t\t\t'xmlns:office': \"urn:oasis:names:tc:opendocument:xmlns:office:1.0\",\n\t\t\t'xmlns:table': \"urn:oasis:names:tc:opendocument:xmlns:table:1.0\",\n\t\t\t'xmlns:style': \"urn:oasis:names:tc:opendocument:xmlns:style:1.0\",\n\t\t\t'xmlns:text': \"urn:oasis:names:tc:opendocument:xmlns:text:1.0\",\n\t\t\t'xmlns:draw': \"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\",\n\t\t\t'xmlns:fo': \"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\",\n\t\t\t'xmlns:xlink': \"http://www.w3.org/1999/xlink\",\n\t\t\t'xmlns:dc': \"http://purl.org/dc/elements/1.1/\",\n\t\t\t'xmlns:meta': \"urn:oasis:names:tc:opendocument:xmlns:meta:1.0\",\n\t\t\t'xmlns:number': \"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\",\n\t\t\t'xmlns:presentation': \"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0\",\n\t\t\t'xmlns:svg': \"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\",\n\t\t\t'xmlns:chart': \"urn:oasis:names:tc:opendocument:xmlns:chart:1.0\",\n\t\t\t'xmlns:dr3d': \"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0\",\n\t\t\t'xmlns:math': \"http://www.w3.org/1998/Math/MathML\",\n\t\t\t'xmlns:form': \"urn:oasis:names:tc:opendocument:xmlns:form:1.0\",\n\t\t\t'xmlns:script': \"urn:oasis:names:tc:opendocument:xmlns:script:1.0\",\n\t\t\t'xmlns:ooo': \"http://openoffice.org/2004/office\",\n\t\t\t'xmlns:ooow': \"http://openoffice.org/2004/writer\",\n\t\t\t'xmlns:oooc': \"http://openoffice.org/2004/calc\",\n\t\t\t'xmlns:dom': \"http://www.w3.org/2001/xml-events\",\n\t\t\t'xmlns:xforms': \"http://www.w3.org/2002/xforms\",\n\t\t\t'xmlns:xsd': \"http://www.w3.org/2001/XMLSchema\",\n\t\t\t'xmlns:xsi': \"http://www.w3.org/2001/XMLSchema-instance\",\n\t\t\t'xmlns:sheet': \"urn:oasis:names:tc:opendocument:sh33tjs:1.0\",\n\t\t\t'xmlns:rpt': \"http://openoffice.org/2005/report\",\n\t\t\t'xmlns:of': \"urn:oasis:names:tc:opendocument:xmlns:of:1.2\",\n\t\t\t'xmlns:xhtml': \"http://www.w3.org/1999/xhtml\",\n\t\t\t'xmlns:grddl': \"http://www.w3.org/2003/g/data-view#\",\n\t\t\t'xmlns:tableooo': \"http://openoffice.org/2009/table\",\n\t\t\t'xmlns:drawooo': \"http://openoffice.org/2010/draw\",\n\t\t\t'xmlns:calcext': \"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0\",\n\t\t\t'xmlns:loext': \"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0\",\n\t\t\t'xmlns:field': \"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0\",\n\t\t\t'xmlns:formx': \"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0\",\n\t\t\t'xmlns:css3t': \"http://www.w3.org/TR/css3-text/\",\n\t\t\t'office:version': \"1.2\"\n\t\t});\n\n\t\tvar fods = wxt_helper({\n\t\t\t'xmlns:config': \"urn:oasis:names:tc:opendocument:xmlns:config:1.0\",\n\t\t\t'office:mimetype': \"application/vnd.oasis.opendocument.spreadsheet\"\n\t\t});\n\n\t\tif(opts.bookType == \"fods\") o.push('\\n');\n\t\telse o.push('\\n');\n\t\twrite_automatic_styles_ods(o);\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\tfor(var i = 0; i != wb.SheetNames.length; ++i) o.push(write_ws(wb.Sheets[wb.SheetNames[i]], wb, i, opts));\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\tif(opts.bookType == \"fods\") o.push('');\n\t\telse o.push('');\n\t\treturn o.join(\"\");\n\t};\n})();\n\nfunction write_ods(wb, opts) {\n\tif(opts.bookType == \"fods\") return write_content_ods(wb, opts);\n\nvar zip = zip_new();\n\tvar f = \"\";\n\n\tvar manifest = [];\n\tvar rdf = [];\n\n\t/* Part 3 Section 3.3 MIME Media Type */\n\tf = \"mimetype\";\n\tzip_add_file(zip, f, \"application/vnd.oasis.opendocument.spreadsheet\");\n\n\t/* Part 1 Section 2.2 Documents */\n\tf = \"content.xml\";\n\tzip_add_file(zip, f, write_content_ods(wb, opts));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"ContentFile\"]);\n\n\t/* TODO: these are hard-coded styles to satiate excel */\n\tf = \"styles.xml\";\n\tzip_add_file(zip, f, write_styles_ods(wb, opts));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"StylesFile\"]);\n\n\t/* TODO: this is hard-coded to satiate excel */\n\tf = \"meta.xml\";\n\tzip_add_file(zip, f, write_meta_ods());\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"MetadataFile\"]);\n\n\t/* Part 3 Section 6 Metadata Manifest File */\n\tf = \"manifest.rdf\";\n\tzip_add_file(zip, f, write_rdf(rdf/*, opts*/));\n\tmanifest.push([f, \"application/rdf+xml\"]);\n\n\t/* Part 3 Section 4 Manifest File */\n\tf = \"META-INF/manifest.xml\";\n\tzip_add_file(zip, f, write_manifest(manifest/*, opts*/));\n\n\treturn zip;\n}\n\nfunction write_sheet_index(wb, sheet) {\n\tif(!sheet) return 0;\n\tvar idx = wb.SheetNames.indexOf(sheet);\n\tif(idx == -1) throw new Error(\"Sheet not found: \" + sheet);\n\treturn idx;\n}\n\nfunction write_obj_str(factory) {\n\treturn function write_str(wb, o) {\n\t\tvar idx = write_sheet_index(wb, o.sheet);\n\t\treturn factory.from_sheet(wb.Sheets[wb.SheetNames[idx]], o, wb);\n\t};\n}\n\nvar write_htm_str = write_obj_str(HTML_);\nvar write_csv_str = write_obj_str({from_sheet:sheet_to_csv});\nvar write_slk_str = write_obj_str(typeof SYLK !== \"undefined\" ? SYLK : {});\nvar write_dif_str = write_obj_str(typeof DIF !== \"undefined\" ? DIF : {});\nvar write_prn_str = write_obj_str(typeof PRN !== \"undefined\" ? PRN : {});\nvar write_rtf_str = write_obj_str(typeof RTF !== \"undefined\" ? RTF : {});\nvar write_txt_str = write_obj_str({from_sheet:sheet_to_txt});\nvar write_dbf_buf = write_obj_str(typeof DBF !== \"undefined\" ? DBF : {});\nvar write_eth_str = write_obj_str(typeof ETH !== \"undefined\" ? ETH : {});\n\nfunction fix_opts_func(defaults) {\n\treturn function fix_opts(opts) {\n\t\tfor(var i = 0; i != defaults.length; ++i) {\n\t\t\tvar d = defaults[i];\n\t\t\tif(opts[d[0]] === undefined) opts[d[0]] = d[1];\n\t\t\tif(d[2] === 'n') opts[d[0]] = Number(opts[d[0]]);\n\t\t}\n\t};\n}\n\nvar fix_read_opts = function(opts) {\nfix_opts_func([\n\t['cellNF', false], /* emit cell number format string as .z */\n\t['cellHTML', true], /* emit html string as .h */\n\t['cellFormula', true], /* emit formulae as .f */\n\t['cellStyles', false], /* emits style/theme as .s */\n\t['cellText', true], /* emit formatted text as .w */\n\t['cellDates', false], /* emit date cells with type `d` */\n\n\t['sheetStubs', false], /* emit empty cells */\n\t['sheetRows', 0, 'n'], /* read n rows (0 = read all rows) */\n\n\t['bookDeps', false], /* parse calculation chains */\n\t['bookSheets', false], /* only try to get sheet names (no Sheets) */\n\t['bookProps', false], /* only try to get properties (no Sheets) */\n\t['bookFiles', false], /* include raw file structure (keys, files, cfb) */\n\t['bookVBA', false], /* include vba raw data (vbaraw) */\n\n\t['password',''], /* password */\n\t['WTF', false] /* WTF mode (throws errors) */\n])(opts);\n};\n\nvar fix_write_opts = fix_opts_func([\n\t['cellDates', false], /* write date cells with type `d` */\n\n\t['bookSST', false], /* Generate Shared String Table */\n\n\t['bookType', 'xlsx'], /* Type of workbook (xlsx/m/b) */\n\n\t['compression', false], /* Use file compression */\n\n\t['WTF', false] /* WTF mode (throws errors) */\n]);\nfunction get_sheet_type(n) {\n\tif(RELS.WS.indexOf(n) > -1) return \"sheet\";\n\tif(RELS.CS && n == RELS.CS) return \"chart\";\n\tif(RELS.DS && n == RELS.DS) return \"dialog\";\n\tif(RELS.MS && n == RELS.MS) return \"macro\";\n\treturn (n && n.length) ? n : \"sheet\";\n}\nfunction safe_parse_wbrels(wbrels, sheets) {\n\tif(!wbrels) return 0;\n\ttry {\n\t\twbrels = sheets.map(function pwbr(w) { if(!w.id) w.id = w.strRelID; return [w.name, wbrels['!id'][w.id].Target, get_sheet_type(wbrels['!id'][w.id].Type)]; });\n\t} catch(e) { return null; }\n\treturn !wbrels || wbrels.length === 0 ? null : wbrels;\n}\n\nfunction safe_parse_sheet(zip, path, relsPath, sheet, idx, sheetRels, sheets, stype, opts, wb, themes, styles) {\n\ttry {\n\t\tsheetRels[sheet]=parse_rels(getzipstr(zip, relsPath, true), path);\n\t\tvar data = getzipdata(zip, path);\n\t\tvar _ws;\n\t\tswitch(stype) {\n\t\t\tcase 'sheet': _ws = parse_ws(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tcase 'chart': _ws = parse_cs(data, path, idx, opts, sheetRels[sheet], wb, themes, styles);\n\t\t\t\tif(!_ws || !_ws['!drawel']) break;\n\t\t\t\tvar dfile = resolve_path(_ws['!drawel'].Target, path);\n\t\t\t\tvar drelsp = get_rels_path(dfile);\n\t\t\t\tvar draw = parse_drawing(getzipstr(zip, dfile, true), parse_rels(getzipstr(zip, drelsp, true), dfile));\n\t\t\t\tvar chartp = resolve_path(draw, dfile);\n\t\t\t\tvar crelsp = get_rels_path(chartp);\n\t\t\t\t_ws = parse_chart(getzipstr(zip, chartp, true), chartp, opts, parse_rels(getzipstr(zip, crelsp, true), chartp), wb, _ws);\n\t\t\t\tbreak;\n\t\t\tcase 'macro': _ws = parse_ms(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tcase 'dialog': _ws = parse_ds(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tdefault: throw new Error(\"Unrecognized sheet type \" + stype);\n\t\t}\n\t\tsheets[sheet] = _ws;\n\n\t\t/* scan rels for comments */\n\t\tvar comments = [];\n\t\tif(sheetRels && sheetRels[sheet]) keys(sheetRels[sheet]).forEach(function(n) {\n\t\t\tif(sheetRels[sheet][n].Type == RELS.CMNT) {\n\t\t\t\tvar dfile = resolve_path(sheetRels[sheet][n].Target, path);\n\t\t\t\tcomments = parse_cmnt(getzipdata(zip, dfile, true), dfile, opts);\n\t\t\t\tif(!comments || !comments.length) return;\n\t\t\t\tsheet_insert_comments(_ws, comments);\n\t\t\t}\n\t\t});\n\t} catch(e) { if(opts.WTF) throw e; }\n}\n\nfunction strip_front_slash(x) { return x.charAt(0) == '/' ? x.slice(1) : x; }\n\nfunction parse_zip(zip, opts) {\n\tmake_ssf(SSF);\n\topts = opts || {};\n\tfix_read_opts(opts);\n\n\t/* OpenDocument Part 3 Section 2.2.1 OpenDocument Package */\n\tif(safegetzipfile(zip, 'META-INF/manifest.xml')) return parse_ods(zip, opts);\n\t/* UOC */\n\tif(safegetzipfile(zip, 'objectdata.xml')) return parse_ods(zip, opts);\n\t/* Numbers */\n\tif(safegetzipfile(zip, 'Index/Document.iwa')) throw new Error('Unsupported NUMBERS file');\n\n\tvar entries = zipentries(zip);\n\tvar dir = parse_ct((getzipstr(zip, '[Content_Types].xml')));\n\tvar xlsb = false;\n\tvar sheets, binname;\n\tif(dir.workbooks.length === 0) {\n\t\tbinname = \"xl/workbook.xml\";\n\t\tif(getzipdata(zip,binname, true)) dir.workbooks.push(binname);\n\t}\n\tif(dir.workbooks.length === 0) {\n\t\tbinname = \"xl/workbook.bin\";\n\t\tif(!getzipdata(zip,binname,true)) throw new Error(\"Could not find workbook\");\n\t\tdir.workbooks.push(binname);\n\t\txlsb = true;\n\t}\n\tif(dir.workbooks[0].slice(-3) == \"bin\") xlsb = true;\n\n\tvar themes = ({});\n\tvar styles = ({});\n\tif(!opts.bookSheets && !opts.bookProps) {\n\t\tstrs = [];\n\t\tif(dir.sst) try { strs=parse_sst(getzipdata(zip, strip_front_slash(dir.sst)), dir.sst, opts); } catch(e) { if(opts.WTF) throw e; }\n\n\t\tif(opts.cellStyles && dir.themes.length) themes = parse_theme(getzipstr(zip, dir.themes[0].replace(/^\\//,''), true)||\"\",dir.themes[0], opts);\n\n\t\tif(dir.style) styles = parse_sty(getzipdata(zip, strip_front_slash(dir.style)), dir.style, themes, opts);\n\t}\n\n\t/*var externbooks = */dir.links.map(function(link) {\n\t\ttry {\n\t\t\tvar rels = parse_rels(getzipstr(zip, get_rels_path(strip_front_slash(link))), link);\n\t\t\treturn parse_xlink(getzipdata(zip, strip_front_slash(link)), rels, link, opts);\n\t\t} catch(e) {}\n\t});\n\n\tvar wb = parse_wb(getzipdata(zip, strip_front_slash(dir.workbooks[0])), dir.workbooks[0], opts);\n\n\tvar props = {}, propdata = \"\";\n\n\tif(dir.coreprops.length) {\n\t\tpropdata = getzipdata(zip, strip_front_slash(dir.coreprops[0]), true);\n\t\tif(propdata) props = parse_core_props(propdata);\n\t\tif(dir.extprops.length !== 0) {\n\t\t\tpropdata = getzipdata(zip, strip_front_slash(dir.extprops[0]), true);\n\t\t\tif(propdata) parse_ext_props(propdata, props, opts);\n\t\t}\n\t}\n\n\tvar custprops = {};\n\tif(!opts.bookSheets || opts.bookProps) {\n\t\tif (dir.custprops.length !== 0) {\n\t\t\tpropdata = getzipstr(zip, strip_front_slash(dir.custprops[0]), true);\n\t\t\tif(propdata) custprops = parse_cust_props(propdata, opts);\n\t\t}\n\t}\n\n\tvar out = ({});\n\tif(opts.bookSheets || opts.bookProps) {\n\t\tif(wb.Sheets) sheets = wb.Sheets.map(function pluck(x){ return x.name; });\n\t\telse if(props.Worksheets && props.SheetNames.length > 0) sheets=props.SheetNames;\n\t\tif(opts.bookProps) { out.Props = props; out.Custprops = custprops; }\n\t\tif(opts.bookSheets && typeof sheets !== 'undefined') out.SheetNames = sheets;\n\t\tif(opts.bookSheets ? out.SheetNames : opts.bookProps) return out;\n\t}\n\tsheets = {};\n\n\tvar deps = {};\n\tif(opts.bookDeps && dir.calcchain) deps=parse_cc(getzipdata(zip, strip_front_slash(dir.calcchain)),dir.calcchain,opts);\n\n\tvar i=0;\n\tvar sheetRels = ({});\n\tvar path, relsPath;\n\n\t{\n\t\tvar wbsheets = wb.Sheets;\n\t\tprops.Worksheets = wbsheets.length;\n\t\tprops.SheetNames = [];\n\t\tfor(var j = 0; j != wbsheets.length; ++j) {\n\t\t\tprops.SheetNames[j] = wbsheets[j].name;\n\t\t}\n\t}\n\n\tvar wbext = xlsb ? \"bin\" : \"xml\";\n\tvar wbrelsi = dir.workbooks[0].lastIndexOf(\"/\");\n\tvar wbrelsfile = (dir.workbooks[0].slice(0, wbrelsi+1) + \"_rels/\" + dir.workbooks[0].slice(wbrelsi+1) + \".rels\").replace(/^\\//,\"\");\n\tif(!safegetzipfile(zip, wbrelsfile)) wbrelsfile = 'xl/_rels/workbook.' + wbext + '.rels';\n\tvar wbrels = parse_rels(getzipstr(zip, wbrelsfile, true), wbrelsfile);\n\tif(wbrels) wbrels = safe_parse_wbrels(wbrels, wb.Sheets);\n\n\t/* Numbers iOS hack */\n\tvar nmode = (getzipdata(zip,\"xl/worksheets/sheet.xml\",true))?1:0;\n\twsloop: for(i = 0; i != props.Worksheets; ++i) {\n\t\tvar stype = \"sheet\";\n\t\tif(wbrels && wbrels[i]) {\n\t\t\tpath = 'xl/' + (wbrels[i][1]).replace(/[\\/]?xl\\//, \"\");\n\t\t\tif(!safegetzipfile(zip, path)) path = wbrels[i][1];\n\t\t\tif(!safegetzipfile(zip, path)) path = wbrelsfile.replace(/_rels\\/.*$/,\"\") + wbrels[i][1];\n\t\t\tstype = wbrels[i][2];\n\t\t} else {\n\t\t\tpath = 'xl/worksheets/sheet'+(i+1-nmode)+\".\" + wbext;\n\t\t\tpath = path.replace(/sheet0\\./,\"sheet.\");\n\t\t}\n\t\trelsPath = path.replace(/^(.*)(\\/)([^\\/]*)$/, \"$1/_rels/$3.rels\");\n\t\tif(opts && opts.sheets != null) switch(typeof opts.sheets) {\n\t\t\tcase \"number\": if(i != opts.sheets) continue wsloop; break;\n\t\t\tcase \"string\": if(props.SheetNames[i].toLowerCase() != opts.sheets.toLowerCase()) continue wsloop; break;\n\t\t\tdefault: if(Array.isArray && Array.isArray(opts.sheets)) {\n\t\t\t\tvar snjseen = false;\n\t\t\t\tfor(var snj = 0; snj != opts.sheets.length; ++snj) {\n\t\t\t\t\tif(typeof opts.sheets[snj] == \"number\" && opts.sheets[snj] == i) snjseen=1;\n\t\t\t\t\tif(typeof opts.sheets[snj] == \"string\" && opts.sheets[snj].toLowerCase() == props.SheetNames[i].toLowerCase()) snjseen = 1;\n\t\t\t\t}\n\t\t\t\tif(!snjseen) continue wsloop;\n\t\t\t}\n\t\t}\n\t\tsafe_parse_sheet(zip, path, relsPath, props.SheetNames[i], i, sheetRels, sheets, stype, opts, wb, themes, styles);\n\t}\n\n\tout = ({\n\t\tDirectory: dir,\n\t\tWorkbook: wb,\n\t\tProps: props,\n\t\tCustprops: custprops,\n\t\tDeps: deps,\n\t\tSheets: sheets,\n\t\tSheetNames: props.SheetNames,\n\t\tStrings: strs,\n\t\tStyles: styles,\n\t\tThemes: themes,\n\t\tSSF: SSF.get_table()\n\t});\n\tif(opts && opts.bookFiles) {\n\t\tout.keys = entries;\n\t\tout.files = zip.files;\n\t}\n\tif(opts && opts.bookVBA) {\n\t\tif(dir.vba.length > 0) out.vbaraw = getzipdata(zip,strip_front_slash(dir.vba[0]),true);\n\t\telse if(dir.defaults && dir.defaults.bin === CT_VBA) out.vbaraw = getzipdata(zip, 'xl/vbaProject.bin',true);\n\t}\n\treturn out;\n}\n\n/* [MS-OFFCRYPTO] 2.1.1 */\nfunction parse_xlsxcfb(cfb, _opts) {\n\tvar opts = _opts || {};\n\tvar f = 'Workbook', data = CFB.find(cfb, f);\n\ttry {\n\tf = '/!DataSpaces/Version';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\t/*var version = */parse_DataSpaceVersionInfo(data.content);\n\n\t/* 2.3.4.1 */\n\tf = '/!DataSpaces/DataSpaceMap';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar dsm = parse_DataSpaceMap(data.content);\n\tif(dsm.length !== 1 || dsm[0].comps.length !== 1 || dsm[0].comps[0].t !== 0 || dsm[0].name !== \"StrongEncryptionDataSpace\" || dsm[0].comps[0].v !== \"EncryptedPackage\")\n\t\tthrow new Error(\"ECMA-376 Encrypted file bad \" + f);\n\n\t/* 2.3.4.2 */\n\tf = '/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar seds = parse_DataSpaceDefinition(data.content);\n\tif(seds.length != 1 || seds[0] != \"StrongEncryptionTransform\")\n\t\tthrow new Error(\"ECMA-376 Encrypted file bad \" + f);\n\n\t/* 2.3.4.3 */\n\tf = '/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\t/*var hdr = */parse_Primary(data.content);\n\t} catch(e) {}\n\n\tf = '/EncryptionInfo';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar einfo = parse_EncryptionInfo(data.content);\n\n\t/* 2.3.4.4 */\n\tf = '/EncryptedPackage';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\n/*global decrypt_agile */\nif(einfo[0] == 0x04 && typeof decrypt_agile !== 'undefined') return decrypt_agile(einfo[1], data.content, opts.password || \"\", opts);\n/*global decrypt_std76 */\nif(einfo[0] == 0x02 && typeof decrypt_std76 !== 'undefined') return decrypt_std76(einfo[1], data.content, opts.password || \"\", opts);\n\tthrow new Error(\"File is password-protected\");\n}\n\nfunction write_zip(wb, opts) {\n\t_shapeid = 1024;\n\tif(opts.bookType == \"ods\") return write_ods(wb, opts);\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = SSF.get_table();\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(SSF); SSF.load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t}\n\topts.rels = {}; opts.wbrels = {};\n\topts.Strings = []; opts.Strings.Count = 0; opts.Strings.Unique = 0;\n\tif(browser_has_Map) opts.revStrings = new Map();\n\telse { opts.revStrings = {}; opts.revStrings.foo = []; delete opts.revStrings.foo; }\n\tvar wbext = opts.bookType == \"xlsb\" ? \"bin\" : \"xml\";\n\tvar vbafmt = VBAFMTS.indexOf(opts.bookType) > -1;\n\tvar ct = new_ct();\n\tfix_write_opts(opts = opts || {});\nvar zip = zip_new();\n\tvar f = \"\", rId = 0;\n\n\topts.cellXfs = [];\n\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tf = \"docProps/core.xml\";\n\tzip_add_file(zip, f, write_core_props(wb.Props, opts));\n\tct.coreprops.push(f);\n\tadd_rels(opts.rels, 2, f, RELS.CORE_PROPS);\n\nf = \"docProps/app.xml\";\n\tif(wb.Props && wb.Props.SheetNames){/* empty */}\n\telse if(!wb.Workbook || !wb.Workbook.Sheets) wb.Props.SheetNames = wb.SheetNames;\n\telse {\n\t\tvar _sn = [];\n\t\tfor(var _i = 0; _i < wb.SheetNames.length; ++_i)\n\t\t\tif((wb.Workbook.Sheets[_i]||{}).Hidden != 2) _sn.push(wb.SheetNames[_i]);\n\t\twb.Props.SheetNames = _sn;\n\t}\n\twb.Props.Worksheets = wb.Props.SheetNames.length;\n\tzip_add_file(zip, f, write_ext_props(wb.Props, opts));\n\tct.extprops.push(f);\n\tadd_rels(opts.rels, 3, f, RELS.EXT_PROPS);\n\n\tif(wb.Custprops !== wb.Props && keys(wb.Custprops||{}).length > 0) {\n\t\tf = \"docProps/custom.xml\";\n\t\tzip_add_file(zip, f, write_cust_props(wb.Custprops, opts));\n\t\tct.custprops.push(f);\n\t\tadd_rels(opts.rels, 4, f, RELS.CUST_PROPS);\n\t}\n\n\tfor(rId=1;rId <= wb.SheetNames.length; ++rId) {\n\t\tvar wsrels = {'!id':{}};\n\t\tvar ws = wb.Sheets[wb.SheetNames[rId-1]];\n\t\tvar _type = (ws || {})[\"!type\"] || \"sheet\";\n\t\tswitch(_type) {\n\t\tcase \"chart\":\n\t\t\t/* falls through */\n\t\tdefault:\n\t\t\tf = \"xl/worksheets/sheet\" + rId + \".\" + wbext;\n\t\t\tzip_add_file(zip, f, write_ws(rId-1, f, opts, wb, wsrels));\n\t\t\tct.sheets.push(f);\n\t\t\tadd_rels(opts.wbrels, -1, \"worksheets/sheet\" + rId + \".\" + wbext, RELS.WS[0]);\n\t\t}\n\n\t\tif(ws) {\n\t\t\tvar comments = ws['!comments'];\n\t\t\tvar need_vml = false;\n\t\t\tif(comments && comments.length > 0) {\n\t\t\t\tvar cf = \"xl/comments\" + rId + \".\" + wbext;\n\t\t\t\tzip_add_file(zip, cf, write_cmnt(comments, cf, opts));\n\t\t\t\tct.comments.push(cf);\n\t\t\t\tadd_rels(wsrels, -1, \"../comments\" + rId + \".\" + wbext, RELS.CMNT);\n\t\t\t\tneed_vml = true;\n\t\t\t}\n\t\t\tif(ws['!legacy']) {\n\t\t\t\tif(need_vml) zip_add_file(zip, \"xl/drawings/vmlDrawing\" + (rId) + \".vml\", write_comments_vml(rId, ws['!comments']));\n\t\t\t}\n\t\t\tdelete ws['!comments'];\n\t\t\tdelete ws['!legacy'];\n\t\t}\n\n\t\tif(wsrels['!id'].rId1) zip_add_file(zip, get_rels_path(f), write_rels(wsrels));\n\t}\n\n\tif(opts.Strings != null && opts.Strings.length > 0) {\n\t\tf = \"xl/sharedStrings.\" + wbext;\n\t\tzip_add_file(zip, f, write_sst(opts.Strings, f, opts));\n\t\tct.strs.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"sharedStrings.\" + wbext, RELS.SST);\n\t}\n\n\tf = \"xl/workbook.\" + wbext;\n\tzip_add_file(zip, f, write_wb(wb, f, opts));\n\tct.workbooks.push(f);\n\tadd_rels(opts.rels, 1, f, RELS.WB);\n\n\t/* TODO: something more intelligent with themes */\n\n\tf = \"xl/theme/theme1.xml\";\n\tzip_add_file(zip, f, write_theme(wb.Themes, opts));\n\tct.themes.push(f);\n\tadd_rels(opts.wbrels, -1, \"theme/theme1.xml\", RELS.THEME);\n\n\t/* TODO: something more intelligent with styles */\n\n\tf = \"xl/styles.\" + wbext;\n\tzip_add_file(zip, f, write_sty(wb, f, opts));\n\tct.styles.push(f);\n\tadd_rels(opts.wbrels, -1, \"styles.\" + wbext, RELS.STY);\n\n\tif(wb.vbaraw && vbafmt) {\n\t\tf = \"xl/vbaProject.bin\";\n\t\tzip_add_file(zip, f, wb.vbaraw);\n\t\tct.vba.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"vbaProject.bin\", RELS.VBA);\n\t}\n\n\tzip_add_file(zip, \"[Content_Types].xml\", write_ct(ct, opts));\n\tzip_add_file(zip, '_rels/.rels', write_rels(opts.rels));\n\tzip_add_file(zip, 'xl/_rels/workbook.' + wbext + '.rels', write_rels(opts.wbrels));\n\n\tdelete opts.revssf; delete opts.ssf;\n\treturn zip;\n}\nfunction firstbyte(f,o) {\n\tvar x = \"\";\n\tswitch((o||{}).type || \"base64\") {\n\t\tcase 'buffer': return [f[0], f[1], f[2], f[3], f[4], f[5], f[6], f[7]];\n\t\tcase 'base64': x = Base64.decode(f.slice(0,12)); break;\n\t\tcase 'binary': x = f; break;\n\t\tcase 'array': return [f[0], f[1], f[2], f[3], f[4], f[5], f[6], f[7]];\n\t\tdefault: throw new Error(\"Unrecognized type \" + (o && o.type || \"undefined\"));\n\t}\n\treturn [x.charCodeAt(0), x.charCodeAt(1), x.charCodeAt(2), x.charCodeAt(3), x.charCodeAt(4), x.charCodeAt(5), x.charCodeAt(6), x.charCodeAt(7)];\n}\n\nfunction read_cfb(cfb, opts) {\n\tif(CFB.find(cfb, \"EncryptedPackage\")) return parse_xlsxcfb(cfb, opts);\n\treturn parse_xlscfb(cfb, opts);\n}\n\nfunction read_zip(data, opts) {\nvar zip, d = data;\n\tvar o = opts||{};\n\tif(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? \"buffer\" : \"base64\";\n\tzip = zip_read(d, o);\n\treturn parse_zip(zip, o);\n}\n\nfunction read_plaintext(data, o) {\n\tvar i = 0;\n\tmain: while(i < data.length) switch(data.charCodeAt(i)) {\n\t\tcase 0x0A: case 0x0D: case 0x20: ++i; break;\n\t\tcase 0x3C: return parse_xlml(data.slice(i),o);\n\t\tdefault: break main;\n\t}\n\treturn PRN.to_workbook(data, o);\n}\n\nfunction read_plaintext_raw(data, o) {\n\tvar str = \"\", bytes = firstbyte(data, o);\n\tswitch(o.type) {\n\t\tcase 'base64': str = Base64.decode(data); break;\n\t\tcase 'binary': str = data; break;\n\t\tcase 'buffer': str = data.toString('binary'); break;\n\t\tcase 'array': str = cc2str(data); break;\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\tif(bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) str = utf8read(str);\n\treturn read_plaintext(str, o);\n}\n\nfunction read_utf16(data, o) {\n\tvar d = data;\n\tif(o.type == 'base64') d = Base64.decode(d);\n\td = cptable.utils.decode(1200, d.slice(2), 'str');\n\to.type = \"binary\";\n\treturn read_plaintext(d, o);\n}\n\nfunction bstrify(data) {\n\treturn !data.match(/[^\\x00-\\x7F]/) ? data : utf8write(data);\n}\n\nfunction read_prn(data, d, o, str) {\n\tif(str) { o.type = \"string\"; return PRN.to_workbook(data, o); }\n\treturn PRN.to_workbook(d, o);\n}\n\nfunction readSync(data, opts) {\n\treset_cp();\n\tif(typeof ArrayBuffer !== 'undefined' && data instanceof ArrayBuffer) return readSync(new Uint8Array(data), opts);\n\tvar d = data, n = [0,0,0,0], str = false;\n\tvar o = opts||{};\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\t_ssfopts = {};\n\tif(o.dateNF) _ssfopts.dateNF = o.dateNF;\n\tif(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? \"buffer\" : \"base64\";\n\tif(o.type == \"file\") { o.type = has_buf ? \"buffer\" : \"binary\"; d = read_binary(data); }\n\tif(o.type == \"string\") { str = true; o.type = \"binary\"; o.codepage = 65001; d = bstrify(data); }\n\tif(o.type == 'array' && typeof Uint8Array !== 'undefined' && data instanceof Uint8Array && typeof ArrayBuffer !== 'undefined') {\n\t\t// $FlowIgnore\n\t\tvar ab=new ArrayBuffer(3), vu=new Uint8Array(ab); vu.foo=\"bar\";\n\t\t// $FlowIgnore\n\t\tif(!vu.foo) {o=dup(o); o.type='array'; return readSync(ab2a(d), o);}\n\t}\n\tswitch((n = firstbyte(d, o))[0]) {\n\t\tcase 0xD0: if(n[1] === 0xCF && n[2] === 0x11 && n[3] === 0xE0 && n[4] === 0xA1 && n[5] === 0xB1 && n[6] === 0x1A && n[7] === 0xE1) return read_cfb(CFB.read(d, o), o); break;\n\t\tcase 0x09: if(n[1] <= 0x04) return parse_xlscfb(d, o); break;\n\t\tcase 0x3C: return parse_xlml(d, o);\n\t\tcase 0x49: if(n[1] === 0x44) return read_wb_ID(d, o); break;\n\t\tcase 0x54: if(n[1] === 0x41 && n[2] === 0x42 && n[3] === 0x4C) return DIF.to_workbook(d, o); break;\n\t\tcase 0x50: return (n[1] === 0x4B && n[2] < 0x09 && n[3] < 0x09) ? read_zip(d, o) : read_prn(data, d, o, str);\n\t\tcase 0xEF: return n[3] === 0x3C ? parse_xlml(d, o) : read_prn(data, d, o, str);\n\t\tcase 0xFF: if(n[1] === 0xFE) { return read_utf16(d, o); } break;\n\t\tcase 0x00: if(n[1] === 0x00 && n[2] >= 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o); break;\n\t\tcase 0x03: case 0x83: case 0x8B: case 0x8C: return DBF.to_workbook(d, o);\n\t\tcase 0x7B: if(n[1] === 0x5C && n[2] === 0x72 && n[3] === 0x74) return RTF.to_workbook(d, o); break;\n\t\tcase 0x0A: case 0x0D: case 0x20: return read_plaintext_raw(d, o);\n\t}\n\tif(DBF.versions.indexOf(n[0]) > -1 && n[2] <= 12 && n[3] <= 31) return DBF.to_workbook(d, o);\n\treturn read_prn(data, d, o, str);\n}\n\nfunction readFileSync(filename, opts) {\n\tvar o = opts||{}; o.type = 'file';\n\treturn readSync(filename, o);\n}\nfunction write_cfb_ctr(cfb, o) {\n\tswitch(o.type) {\n\t\tcase \"base64\": case \"binary\": break;\n\t\tcase \"buffer\": case \"array\": o.type = \"\"; break;\n\t\tcase \"file\": return write_dl(o.file, CFB.write(cfb, {type:has_buf ? 'buffer' : \"\"}));\n\t\tcase \"string\": throw new Error(\"'string' output type invalid for '\" + o.bookType + \"' files\");\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\treturn CFB.write(cfb, o);\n}\n\nfunction write_zip_type(wb, opts) {\n\tvar o = opts||{};\n\tvar z = write_zip(wb, o);\n\tvar oopts = {};\n\tif(o.compression) oopts.compression = 'DEFLATE';\n\tif(o.password) oopts.type = has_buf ? \"nodebuffer\" : \"string\";\n\telse switch(o.type) {\n\t\tcase \"base64\": oopts.type = \"base64\"; break;\n\t\tcase \"binary\": oopts.type = \"string\"; break;\n\t\tcase \"string\": throw new Error(\"'string' output type invalid for '\" + o.bookType + \"' files\");\n\t\tcase \"buffer\":\n\t\tcase \"file\": oopts.type = has_buf ? \"nodebuffer\" : \"string\"; break;\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\tvar out = z.FullPaths ? CFB.write(z, {fileType:\"zip\", type: {\"nodebuffer\": \"buffer\", \"string\": \"binary\"}[oopts.type] || oopts.type}) : z.generate(oopts);\n/*jshint -W083 */\n\tif(o.password && typeof encrypt_agile !== 'undefined') return write_cfb_ctr(encrypt_agile(out, o.password), o); // eslint-disable-line no-undef\n/*jshint +W083 */\n\tif(o.type === \"file\") return write_dl(o.file, out);\n\treturn o.type == \"string\" ? utf8read(out) : out;\n}\n\nfunction write_cfb_type(wb, opts) {\n\tvar o = opts||{};\n\tvar cfb = write_xlscfb(wb, o);\n\treturn write_cfb_ctr(cfb, o);\n}\n\nfunction write_string_type(out, opts, bom) {\n\tif(!bom) bom = \"\";\n\tvar o = bom + out;\n\tswitch(opts.type) {\n\t\tcase \"base64\": return Base64.encode(utf8write(o));\n\t\tcase \"binary\": return utf8write(o);\n\t\tcase \"string\": return out;\n\t\tcase \"file\": return write_dl(opts.file, o, 'utf8');\n\t\tcase \"buffer\": {\n\t\t\tif(has_buf) return Buffer_from(o, 'utf8');\n\t\t\telse return write_string_type(o, {type:'binary'}).split(\"\").map(function(c) { return c.charCodeAt(0); });\n\t\t}\n\t}\n\tthrow new Error(\"Unrecognized type \" + opts.type);\n}\n\nfunction write_stxt_type(out, opts) {\n\tswitch(opts.type) {\n\t\tcase \"base64\": return Base64.encode(out);\n\t\tcase \"binary\": return out;\n\t\tcase \"string\": return out; /* override in sheet_to_txt */\n\t\tcase \"file\": return write_dl(opts.file, out, 'binary');\n\t\tcase \"buffer\": {\n\t\t\tif(has_buf) return Buffer_from(out, 'binary');\n\t\t\telse return out.split(\"\").map(function(c) { return c.charCodeAt(0); });\n\t\t}\n\t}\n\tthrow new Error(\"Unrecognized type \" + opts.type);\n}\n\n/* TODO: test consistency */\nfunction write_binary_type(out, opts) {\n\tswitch(opts.type) {\n\t\tcase \"string\":\n\t\tcase \"base64\":\n\t\tcase \"binary\":\n\t\t\tvar bstr = \"\";\n\t\t\t// $FlowIgnore\n\t\t\tfor(var i = 0; i < out.length; ++i) bstr += String.fromCharCode(out[i]);\n\t\t\treturn opts.type == 'base64' ? Base64.encode(bstr) : opts.type == 'string' ? utf8read(bstr) : bstr;\n\t\tcase \"file\": return write_dl(opts.file, out);\n\t\tcase \"buffer\": return out;\n\t\tdefault: throw new Error(\"Unrecognized type \" + opts.type);\n\t}\n}\n\nfunction writeSync(wb, opts) {\n\treset_cp();\n\tcheck_wb(wb);\n\tvar o = opts||{};\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\tif(o.type == \"array\") { o.type = \"binary\"; var out = (writeSync(wb, o)); o.type = \"array\"; return s2ab(out); }\n\tswitch(o.bookType || 'xlsb') {\n\t\tcase 'xml':\n\t\tcase 'xlml': return write_string_type(write_xlml(wb, o), o);\n\t\tcase 'slk':\n\t\tcase 'sylk': return write_string_type(write_slk_str(wb, o), o);\n\t\tcase 'htm':\n\t\tcase 'html': return write_string_type(write_htm_str(wb, o), o);\n\t\tcase 'txt': return write_stxt_type(write_txt_str(wb, o), o);\n\t\tcase 'csv': return write_string_type(write_csv_str(wb, o), o, \"\\ufeff\");\n\t\tcase 'dif': return write_string_type(write_dif_str(wb, o), o);\n\t\tcase 'dbf': return write_binary_type(write_dbf_buf(wb, o), o);\n\t\tcase 'prn': return write_string_type(write_prn_str(wb, o), o);\n\t\tcase 'rtf': return write_string_type(write_rtf_str(wb, o), o);\n\t\tcase 'eth': return write_string_type(write_eth_str(wb, o), o);\n\t\tcase 'fods': return write_string_type(write_ods(wb, o), o);\n\t\tcase 'biff2': if(!o.biff) o.biff = 2; /* falls through */\n\t\tcase 'biff3': if(!o.biff) o.biff = 3; /* falls through */\n\t\tcase 'biff4': if(!o.biff) o.biff = 4; return write_binary_type(write_biff_buf(wb, o), o);\n\t\tcase 'biff5': if(!o.biff) o.biff = 5; /* falls through */\n\t\tcase 'biff8':\n\t\tcase 'xla':\n\t\tcase 'xls': if(!o.biff) o.biff = 8; return write_cfb_type(wb, o);\n\t\tcase 'xlsx':\n\t\tcase 'xlsm':\n\t\tcase 'xlam':\n\t\tcase 'xlsb':\n\t\tcase 'ods': return write_zip_type(wb, o);\n\t\tdefault: throw new Error (\"Unrecognized bookType |\" + o.bookType + \"|\");\n\t}\n}\n\nfunction resolve_book_type(o) {\n\tif(o.bookType) return;\n\tvar _BT = {\n\t\t\"xls\": \"biff8\",\n\t\t\"htm\": \"html\",\n\t\t\"slk\": \"sylk\",\n\t\t\"socialcalc\": \"eth\",\n\t\t\"Sh33tJS\": \"WTF\"\n\t};\n\tvar ext = o.file.slice(o.file.lastIndexOf(\".\")).toLowerCase();\n\tif(ext.match(/^\\.[a-z]+$/)) o.bookType = ext.slice(1);\n\to.bookType = _BT[o.bookType] || o.bookType;\n}\n\nfunction writeFileSync(wb, filename, opts) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\treturn writeSync(wb, o);\n}\n\nfunction writeFileAsync(filename, wb, opts, cb) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\to.type = 'buffer';\n\tvar _cb = cb; if(!(_cb instanceof Function)) _cb = (opts);\n\treturn _fs.writeFile(filename, writeSync(wb, o), _cb);\n}\nfunction make_json_row(sheet, r, R, cols, header, hdr, dense, o) {\n\tvar rr = encode_row(R);\n\tvar defval = o.defval, raw = o.raw || !Object.prototype.hasOwnProperty.call(o, \"raw\");\n\tvar isempty = true;\n\tvar row = (header === 1) ? [] : {};\n\tif(header !== 1) {\n\t\tif(Object.defineProperty) try { Object.defineProperty(row, '__rowNum__', {value:R, enumerable:false}); } catch(e) { row.__rowNum__ = R; }\n\t\telse row.__rowNum__ = R;\n\t}\n\tif(!dense || sheet[R]) for (var C = r.s.c; C <= r.e.c; ++C) {\n\t\tvar val = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\tif(val === undefined || val.t === undefined) {\n\t\t\tif(defval === undefined) continue;\n\t\t\tif(hdr[C] != null) { row[hdr[C]] = defval; }\n\t\t\tcontinue;\n\t\t}\n\t\tvar v = val.v;\n\t\tswitch(val.t){\n\t\t\tcase 'z': if(v == null) break; continue;\n\t\t\tcase 'e': v = void 0; break;\n\t\t\tcase 's': case 'd': case 'b': case 'n': break;\n\t\t\tdefault: throw new Error('unrecognized type ' + val.t);\n\t\t}\n\t\tif(hdr[C] != null) {\n\t\t\tif(v == null) {\n\t\t\t\tif(defval !== undefined) row[hdr[C]] = defval;\n\t\t\t\telse if(raw && v === null) row[hdr[C]] = null;\n\t\t\t\telse continue;\n\t\t\t} else {\n\t\t\t\trow[hdr[C]] = raw || (o.rawNumbers && val.t == \"n\") ? v : format_cell(val,v,o);\n\t\t\t}\n\t\t\tif(v != null) isempty = false;\n\t\t}\n\t}\n\treturn { row: row, isempty: isempty };\n}\n\n\nfunction sheet_to_json(sheet, opts) {\n\tif(sheet == null || sheet[\"!ref\"] == null) return [];\n\tvar val = {t:'n',v:0}, header = 0, offset = 1, hdr = [], v=0, vv=\"\";\n\tvar r = {s:{r:0,c:0},e:{r:0,c:0}};\n\tvar o = opts || {};\n\tvar range = o.range != null ? o.range : sheet[\"!ref\"];\n\tif(o.header === 1) header = 1;\n\telse if(o.header === \"A\") header = 2;\n\telse if(Array.isArray(o.header)) header = 3;\n\telse if(o.header == null) header = 0;\n\tswitch(typeof range) {\n\t\tcase 'string': r = safe_decode_range(range); break;\n\t\tcase 'number': r = safe_decode_range(sheet[\"!ref\"]); r.s.r = range; break;\n\t\tdefault: r = range;\n\t}\n\tif(header > 0) offset = 0;\n\tvar rr = encode_row(r.s.r);\n\tvar cols = [];\n\tvar out = [];\n\tvar outi = 0, counter = 0;\n\tvar dense = Array.isArray(sheet);\n\tvar R = r.s.r, C = 0, CC = 0;\n\tif(dense && !sheet[R]) sheet[R] = [];\n\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\tcols[C] = encode_col(C);\n\t\tval = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\tswitch(header) {\n\t\t\tcase 1: hdr[C] = C - r.s.c; break;\n\t\t\tcase 2: hdr[C] = cols[C]; break;\n\t\t\tcase 3: hdr[C] = o.header[C - r.s.c]; break;\n\t\t\tdefault:\n\t\t\t\tif(val == null) val = {w: \"__EMPTY\", t: \"s\"};\n\t\t\t\tvv = v = format_cell(val, null, o);\n\t\t\t\tcounter = 0;\n\t\t\t\tfor(CC = 0; CC < hdr.length; ++CC) if(hdr[CC] == vv) vv = v + \"_\" + (++counter);\n\t\t\t\thdr[C] = vv;\n\t\t}\n\t}\n\tfor (R = r.s.r + offset; R <= r.e.r; ++R) {\n\t\tvar row = make_json_row(sheet, r, R, cols, header, hdr, dense, o);\n\t\tif((row.isempty === false) || (header === 1 ? o.blankrows !== false : !!o.blankrows)) out[outi++] = row.row;\n\t}\n\tout.length = outi;\n\treturn out;\n}\n\nvar qreg = /\"/g;\nfunction make_csv_row(sheet, r, R, cols, fs, rs, FS, o) {\n\tvar isempty = true;\n\tvar row = [], txt = \"\", rr = encode_row(R);\n\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\tif (!cols[C]) continue;\n\t\tvar val = o.dense ? (sheet[R]||[])[C]: sheet[cols[C] + rr];\n\t\tif(val == null) txt = \"\";\n\t\telse if(val.v != null) {\n\t\t\tisempty = false;\n\t\t\ttxt = ''+(o.rawNumbers && val.t == \"n\" ? val.v : format_cell(val, null, o));\n\t\t\tfor(var i = 0, cc = 0; i !== txt.length; ++i) if((cc = txt.charCodeAt(i)) === fs || cc === rs || cc === 34 || o.forceQuotes) {txt = \"\\\"\" + txt.replace(qreg, '\"\"') + \"\\\"\"; break; }\n\t\t\tif(txt == \"ID\") txt = '\"ID\"';\n\t\t} else if(val.f != null && !val.F) {\n\t\t\tisempty = false;\n\t\t\ttxt = '=' + val.f; if(txt.indexOf(\",\") >= 0) txt = '\"' + txt.replace(qreg, '\"\"') + '\"';\n\t\t} else txt = \"\";\n\t\t/* NOTE: Excel CSV does not support array formulae */\n\t\trow.push(txt);\n\t}\n\tif(o.blankrows === false && isempty) return null;\n\treturn row.join(FS);\n}\n\nfunction sheet_to_csv(sheet, opts) {\n\tvar out = [];\n\tvar o = opts == null ? {} : opts;\n\tif(sheet == null || sheet[\"!ref\"] == null) return \"\";\n\tvar r = safe_decode_range(sheet[\"!ref\"]);\n\tvar FS = o.FS !== undefined ? o.FS : \",\", fs = FS.charCodeAt(0);\n\tvar RS = o.RS !== undefined ? o.RS : \"\\n\", rs = RS.charCodeAt(0);\n\tvar endregex = new RegExp((FS==\"|\" ? \"\\\\|\" : FS)+\"+$\");\n\tvar row = \"\", cols = [];\n\to.dense = Array.isArray(sheet);\n\tvar colinfo = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(var C = r.s.c; C <= r.e.c; ++C) if (!((colinfo[C]||{}).hidden)) cols[C] = encode_col(C);\n\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\tif ((rowinfo[R]||{}).hidden) continue;\n\t\trow = make_csv_row(sheet, r, R, cols, fs, rs, FS, o);\n\t\tif(row == null) { continue; }\n\t\tif(o.strip) row = row.replace(endregex,\"\");\n\t\tout.push(row + RS);\n\t}\n\tdelete o.dense;\n\treturn out.join(\"\");\n}\n\nfunction sheet_to_txt(sheet, opts) {\n\tif(!opts) opts = {}; opts.FS = \"\\t\"; opts.RS = \"\\n\";\n\tvar s = sheet_to_csv(sheet, opts);\n\tif(typeof cptable == 'undefined' || opts.type == 'string') return s;\n\tvar o = cptable.utils.encode(1200, s, 'str');\n\treturn String.fromCharCode(255) + String.fromCharCode(254) + o;\n}\n\nfunction sheet_to_formulae(sheet) {\n\tvar y = \"\", x, val=\"\";\n\tif(sheet == null || sheet[\"!ref\"] == null) return [];\n\tvar r = safe_decode_range(sheet['!ref']), rr = \"\", cols = [], C;\n\tvar cmds = [];\n\tvar dense = Array.isArray(sheet);\n\tfor(C = r.s.c; C <= r.e.c; ++C) cols[C] = encode_col(C);\n\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\t\ty = cols[C] + rr;\n\t\t\tx = dense ? (sheet[R]||[])[C] : sheet[y];\n\t\t\tval = \"\";\n\t\t\tif(x === undefined) continue;\n\t\t\telse if(x.F != null) {\n\t\t\t\ty = x.F;\n\t\t\t\tif(!x.f) continue;\n\t\t\t\tval = x.f;\n\t\t\t\tif(y.indexOf(\":\") == -1) y = y + \":\" + y;\n\t\t\t}\n\t\t\tif(x.f != null) val = x.f;\n\t\t\telse if(x.t == 'z') continue;\n\t\t\telse if(x.t == 'n' && x.v != null) val = \"\" + x.v;\n\t\t\telse if(x.t == 'b') val = x.v ? \"TRUE\" : \"FALSE\";\n\t\t\telse if(x.w !== undefined) val = \"'\" + x.w;\n\t\t\telse if(x.v === undefined) continue;\n\t\t\telse if(x.t == 's') val = \"'\" + x.v;\n\t\t\telse val = \"\"+x.v;\n\t\t\tcmds[cmds.length] = y + \"=\" + val;\n\t\t}\n\t}\n\treturn cmds;\n}\n\nfunction sheet_add_json(_ws, js, opts) {\n\tvar o = opts || {};\n\tvar offset = +!o.skipHeader;\n\tvar ws = _ws || ({});\n\tvar _R = 0, _C = 0;\n\tif(ws && o.origin != null) {\n\t\tif(typeof o.origin == 'number') _R = o.origin;\n\t\telse {\n\t\t\tvar _origin = typeof o.origin == \"string\" ? decode_cell(o.origin) : o.origin;\n\t\t\t_R = _origin.r; _C = _origin.c;\n\t\t}\n\t}\n\tvar cell;\n\tvar range = ({s: {c:0, r:0}, e: {c:_C, r:_R + js.length - 1 + offset}});\n\tif(ws['!ref']) {\n\t\tvar _range = safe_decode_range(ws['!ref']);\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\tif(_R == -1) { _R = _range.e.r + 1; range.e.r = _R + js.length - 1 + offset; }\n\t} else {\n\t\tif(_R == -1) { _R = 0; range.e.r = js.length - 1 + offset; }\n\t}\n\tvar hdr = o.header || [], C = 0;\n\n\tjs.forEach(function (JS, R) {\n\t\tkeys(JS).forEach(function(k) {\n\t\t\tif((C=hdr.indexOf(k)) == -1) hdr[C=hdr.length] = k;\n\t\t\tvar v = JS[k];\n\t\t\tvar t = 'z';\n\t\t\tvar z = \"\";\n\t\t\tvar ref = encode_cell({c:_C + C,r:_R + R + offset});\n\t\t\tcell = utils.sheet_get_cell(ws, ref);\n\t\t\tif(v && typeof v === 'object' && !(v instanceof Date)){\n\t\t\t\tws[ref] = v;\n\t\t\t} else {\n\t\t\t\tif(typeof v == 'number') t = 'n';\n\t\t\t\telse if(typeof v == 'boolean') t = 'b';\n\t\t\t\telse if(typeof v == 'string') t = 's';\n\t\t\t\telse if(v instanceof Date) {\n\t\t\t\t\tt = 'd';\n\t\t\t\t\tif(!o.cellDates) { t = 'n'; v = datenum(v); }\n\t\t\t\t\tz = (o.dateNF || SSF._table[14]);\n\t\t\t\t}\n\t\t\t\tif(!cell) ws[ref] = cell = ({t:t, v:v});\n\t\t\t\telse {\n\t\t\t\t\tcell.t = t; cell.v = v;\n\t\t\t\t\tdelete cell.w; delete cell.R;\n\t\t\t\t\tif(z) cell.z = z;\n\t\t\t\t}\n\t\t\t\tif(z) cell.z = z;\n\t\t\t}\n\t\t});\n\t});\n\trange.e.c = Math.max(range.e.c, _C + hdr.length - 1);\n\tvar __R = encode_row(_R);\n\tif(offset) for(C = 0; C < hdr.length; ++C) ws[encode_col(C + _C) + __R] = {t:'s', v:hdr[C]};\n\tws['!ref'] = encode_range(range);\n\treturn ws;\n}\nfunction json_to_sheet(js, opts) { return sheet_add_json(null, js, opts); }\n\nvar utils = {\n\tencode_col: encode_col,\n\tencode_row: encode_row,\n\tencode_cell: encode_cell,\n\tencode_range: encode_range,\n\tdecode_col: decode_col,\n\tdecode_row: decode_row,\n\tsplit_cell: split_cell,\n\tdecode_cell: decode_cell,\n\tdecode_range: decode_range,\n\tformat_cell: format_cell,\n\tget_formulae: sheet_to_formulae,\n\tmake_csv: sheet_to_csv,\n\tmake_json: sheet_to_json,\n\tmake_formulae: sheet_to_formulae,\n\tsheet_add_aoa: sheet_add_aoa,\n\tsheet_add_json: sheet_add_json,\n\tsheet_add_dom: sheet_add_dom,\n\taoa_to_sheet: aoa_to_sheet,\n\tjson_to_sheet: json_to_sheet,\n\ttable_to_sheet: parse_dom_table,\n\ttable_to_book: table_to_book,\n\tsheet_to_csv: sheet_to_csv,\n\tsheet_to_txt: sheet_to_txt,\n\tsheet_to_json: sheet_to_json,\n\tsheet_to_html: HTML_.from_sheet,\n\tsheet_to_formulae: sheet_to_formulae,\n\tsheet_to_row_object_array: sheet_to_json\n};\n\n(function(utils) {\nutils.consts = utils.consts || {};\nfunction add_consts(R/*Array*/) { R.forEach(function(a){ utils.consts[a[0]] = a[1]; }); }\n\nfunction get_default(x, y, z) { return x[y] != null ? x[y] : (x[y] = z); }\n\n/* get cell, creating a stub if necessary */\nfunction ws_get_cell_stub(ws, R, C) {\n\t/* A1 cell address */\n\tif(typeof R == \"string\") {\n\t\t/* dense */\n\t\tif(Array.isArray(ws)) {\n\t\t\tvar RC = decode_cell(R);\n\t\t\tif(!ws[RC.r]) ws[RC.r] = [];\n\t\t\treturn ws[RC.r][RC.c] || (ws[RC.r][RC.c] = {t:'z'});\n\t\t}\n\t\treturn ws[R] || (ws[R] = {t:'z'});\n\t}\n\t/* cell address object */\n\tif(typeof R != \"number\") return ws_get_cell_stub(ws, encode_cell(R));\n\t/* R and C are 0-based indices */\n\treturn ws_get_cell_stub(ws, encode_cell({r:R,c:C||0}));\n}\nutils.sheet_get_cell = ws_get_cell_stub;\n\n/* find sheet index for given name / validate index */\nfunction wb_sheet_idx(wb, sh) {\n\tif(typeof sh == \"number\") {\n\t\tif(sh >= 0 && wb.SheetNames.length > sh) return sh;\n\t\tthrow new Error(\"Cannot find sheet # \" + sh);\n\t} else if(typeof sh == \"string\") {\n\t\tvar idx = wb.SheetNames.indexOf(sh);\n\t\tif(idx > -1) return idx;\n\t\tthrow new Error(\"Cannot find sheet name |\" + sh + \"|\");\n\t} else throw new Error(\"Cannot find sheet |\" + sh + \"|\");\n}\n\n/* simple blank workbook object */\nutils.book_new = function() {\n\treturn { SheetNames: [], Sheets: {} };\n};\n\n/* add a worksheet to the end of a given workbook */\nutils.book_append_sheet = function(wb, ws, name) {\n\tif(!name) for(var i = 1; i <= 0xFFFF; ++i, name = undefined) if(wb.SheetNames.indexOf(name = \"Sheet\" + i) == -1) break;\n\tif(!name || wb.SheetNames.length >= 0xFFFF) throw new Error(\"Too many worksheets\");\n\tcheck_ws_name(name);\n\tif(wb.SheetNames.indexOf(name) >= 0) throw new Error(\"Worksheet with name |\" + name + \"| already exists!\");\n\n\twb.SheetNames.push(name);\n\twb.Sheets[name] = ws;\n};\n\n/* set sheet visibility (visible/hidden/very hidden) */\nutils.book_set_sheet_visibility = function(wb, sh, vis) {\n\tget_default(wb,\"Workbook\",{});\n\tget_default(wb.Workbook,\"Sheets\",[]);\n\n\tvar idx = wb_sheet_idx(wb, sh);\n\t// $FlowIgnore\n\tget_default(wb.Workbook.Sheets,idx, {});\n\n\tswitch(vis) {\n\t\tcase 0: case 1: case 2: break;\n\t\tdefault: throw new Error(\"Bad sheet visibility setting \" + vis);\n\t}\n\t// $FlowIgnore\n\twb.Workbook.Sheets[idx].Hidden = vis;\n};\nadd_consts([\n\t[\"SHEET_VISIBLE\", 0],\n\t[\"SHEET_HIDDEN\", 1],\n\t[\"SHEET_VERY_HIDDEN\", 2]\n]);\n\n/* set number format */\nutils.cell_set_number_format = function(cell, fmt) {\n\tcell.z = fmt;\n\treturn cell;\n};\n\n/* set cell hyperlink */\nutils.cell_set_hyperlink = function(cell, target, tooltip) {\n\tif(!target) {\n\t\tdelete cell.l;\n\t} else {\n\t\tcell.l = ({ Target: target });\n\t\tif(tooltip) cell.l.Tooltip = tooltip;\n\t}\n\treturn cell;\n};\nutils.cell_set_internal_link = function(cell, range, tooltip) { return utils.cell_set_hyperlink(cell, \"#\" + range, tooltip); };\n\n/* add to cell comments */\nutils.cell_add_comment = function(cell, text, author) {\n\tif(!cell.c) cell.c = [];\n\tcell.c.push({t:text, a:author||\"SheetJS\"});\n};\n\n/* set array formula and flush related cells */\nutils.sheet_set_array_formula = function(ws, range, formula) {\n\tvar rng = typeof range != \"string\" ? range : safe_decode_range(range);\n\tvar rngstr = typeof range == \"string\" ? range : encode_range(range);\n\tfor(var R = rng.s.r; R <= rng.e.r; ++R) for(var C = rng.s.c; C <= rng.e.c; ++C) {\n\t\tvar cell = ws_get_cell_stub(ws, R, C);\n\t\tcell.t = 'n';\n\t\tcell.F = rngstr;\n\t\tdelete cell.v;\n\t\tif(R == rng.s.r && C == rng.s.c) cell.f = formula;\n\t}\n\treturn ws;\n};\n\nreturn utils;\n})(utils);\n\nif(has_buf && typeof require != 'undefined') (function() {\n\tvar Readable = require('stream').Readable;\n\n\tvar write_csv_stream = function(sheet, opts) {\n\t\tvar stream = Readable();\n\t\tvar o = opts == null ? {} : opts;\n\t\tif(sheet == null || sheet[\"!ref\"] == null) { stream.push(null); return stream; }\n\t\tvar r = safe_decode_range(sheet[\"!ref\"]);\n\t\tvar FS = o.FS !== undefined ? o.FS : \",\", fs = FS.charCodeAt(0);\n\t\tvar RS = o.RS !== undefined ? o.RS : \"\\n\", rs = RS.charCodeAt(0);\n\t\tvar endregex = new RegExp((FS==\"|\" ? \"\\\\|\" : FS)+\"+$\");\n\t\tvar row = \"\", cols = [];\n\t\to.dense = Array.isArray(sheet);\n\t\tvar colinfo = o.skipHidden && sheet[\"!cols\"] || [];\n\t\tvar rowinfo = o.skipHidden && sheet[\"!rows\"] || [];\n\t\tfor(var C = r.s.c; C <= r.e.c; ++C) if (!((colinfo[C]||{}).hidden)) cols[C] = encode_col(C);\n\t\tvar R = r.s.r;\n\t\tvar BOM = false;\n\t\tstream._read = function() {\n\t\t\tif(!BOM) { BOM = true; return stream.push(\"\\uFEFF\"); }\n\t\t\twhile(R <= r.e.r) {\n\t\t\t\t++R;\n\t\t\t\tif ((rowinfo[R-1]||{}).hidden) continue;\n\t\t\t\trow = make_csv_row(sheet, r, R-1, cols, fs, rs, FS, o);\n\t\t\t\tif(row != null) {\n\t\t\t\t\tif(o.strip) row = row.replace(endregex,\"\");\n\t\t\t\t\tstream.push(row + RS);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(R > r.e.r) return stream.push(null);\n\t\t};\n\t\treturn stream;\n\t};\n\n\tvar write_html_stream = function(ws, opts) {\n\t\tvar stream = Readable();\n\n\t\tvar o = opts || {};\n\t\tvar header = o.header != null ? o.header : HTML_.BEGIN;\n\t\tvar footer = o.footer != null ? o.footer : HTML_.END;\n\t\tstream.push(header);\n\t\tvar r = decode_range(ws['!ref']);\n\t\to.dense = Array.isArray(ws);\n\t\tstream.push(HTML_._preamble(ws, r, o));\n\t\tvar R = r.s.r;\n\t\tvar end = false;\n\t\tstream._read = function() {\n\t\t\tif(R > r.e.r) {\n\t\t\t\tif(!end) { end = true; stream.push(\"\" + footer); }\n\t\t\t\treturn stream.push(null);\n\t\t\t}\n\t\t\twhile(R <= r.e.r) {\n\t\t\t\tstream.push(HTML_._row(ws, r, R, o));\n\t\t\t\t++R;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t};\n\t\treturn stream;\n\t};\n\n\tvar write_json_stream = function(sheet, opts) {\n\t\tvar stream = Readable({objectMode:true});\n\n\t\tif(sheet == null || sheet[\"!ref\"] == null) { stream.push(null); return stream; }\n\t\tvar val = {t:'n',v:0}, header = 0, offset = 1, hdr = [], v=0, vv=\"\";\n\t\tvar r = {s:{r:0,c:0},e:{r:0,c:0}};\n\t\tvar o = opts || {};\n\t\tvar range = o.range != null ? o.range : sheet[\"!ref\"];\n\t\tif(o.header === 1) header = 1;\n\t\telse if(o.header === \"A\") header = 2;\n\t\telse if(Array.isArray(o.header)) header = 3;\n\t\tswitch(typeof range) {\n\t\t\tcase 'string': r = safe_decode_range(range); break;\n\t\t\tcase 'number': r = safe_decode_range(sheet[\"!ref\"]); r.s.r = range; break;\n\t\t\tdefault: r = range;\n\t\t}\n\t\tif(header > 0) offset = 0;\n\t\tvar rr = encode_row(r.s.r);\n\t\tvar cols = [];\n\t\tvar counter = 0;\n\t\tvar dense = Array.isArray(sheet);\n\t\tvar R = r.s.r, C = 0, CC = 0;\n\t\tif(dense && !sheet[R]) sheet[R] = [];\n\t\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\t\tcols[C] = encode_col(C);\n\t\t\tval = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\t\tswitch(header) {\n\t\t\t\tcase 1: hdr[C] = C - r.s.c; break;\n\t\t\t\tcase 2: hdr[C] = cols[C]; break;\n\t\t\t\tcase 3: hdr[C] = o.header[C - r.s.c]; break;\n\t\t\t\tdefault:\n\t\t\t\t\tif(val == null) val = {w: \"__EMPTY\", t: \"s\"};\n\t\t\t\t\tvv = v = format_cell(val, null, o);\n\t\t\t\t\tcounter = 0;\n\t\t\t\t\tfor(CC = 0; CC < hdr.length; ++CC) if(hdr[CC] == vv) vv = v + \"_\" + (++counter);\n\t\t\t\t\thdr[C] = vv;\n\t\t\t}\n\t\t}\n\t\tR = r.s.r + offset;\n\t\tstream._read = function() {\n\t\t\tif(R > r.e.r) return stream.push(null);\n\t\t\twhile(R <= r.e.r) {\n\t\t\t\t//if ((rowinfo[R-1]||{}).hidden) continue;\n\t\t\t\tvar row = make_json_row(sheet, r, R, cols, header, hdr, dense, o);\n\t\t\t\t++R;\n\t\t\t\tif((row.isempty === false) || (header === 1 ? o.blankrows !== false : !!o.blankrows)) {\n\t\t\t\t\tstream.push(row.row);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\treturn stream;\n\t};\n\n\tXLSX.stream = {\n\t\tto_json: write_json_stream,\n\t\tto_html: write_html_stream,\n\t\tto_csv: write_csv_stream\n\t};\n})();\n\nif(typeof parse_xlscfb !== \"undefined\") XLSX.parse_xlscfb = parse_xlscfb;\nXLSX.parse_zip = parse_zip;\nXLSX.read = readSync; //xlsread\nXLSX.readFile = readFileSync; //readFile\nXLSX.readFileSync = readFileSync;\nXLSX.write = writeSync;\nXLSX.writeFile = writeFileSync;\nXLSX.writeFileSync = writeFileSync;\nXLSX.writeFileAsync = writeFileAsync;\nXLSX.utils = utils;\nXLSX.SSF = SSF;\nif(typeof CFB !== \"undefined\") XLSX.CFB = CFB;\n}\n/*global define */\nif(typeof exports !== 'undefined') make_xlsx_lib(exports);\nelse if(typeof module !== 'undefined' && module.exports) make_xlsx_lib(module.exports);\nelse if(typeof define === 'function' && define.amd) define(function() { if(!XLSX.version) make_xlsx_lib(XLSX); return XLSX; });\nelse make_xlsx_lib(XLSX);\n/*exported XLS, ODS */\nvar XLS = XLSX, ODS = XLSX;\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n","/*\n\nJSZip - A Javascript class for generating and reading zip files\n\n\n(c) 2009-2014 Stuart Knightley \nDual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/master/LICENSE.markdown.\n\nJSZip uses the library pako released under the MIT license :\nhttps://github.com/nodeca/pako/blob/master/LICENSE\n\nNote: since JSZip 3 removed critical functionality, this version assigns to the\n`JSZipSync` variable. Another JSZip version can be loaded in parallel.\n*/\n(function(e){\n\tif(\"object\"==typeof exports&&\"undefined\"!=typeof module&&\"undefined\"==typeof DO_NOT_EXPORT_JSZIP)module.exports=e();\n\telse if(\"function\"==typeof define&&define.amd&&\"undefined\"==typeof DO_NOT_EXPORT_JSZIP){JSZipSync=e();define([],e);}\n\telse{\n\t\tvar f;\n\t\t\"undefined\"!=typeof globalThis?f=globalThis:\n\t\t\"undefined\"!=typeof window?f=window:\n\t\t\"undefined\"!=typeof global?f=global:\n\t\t\"undefined\"!=typeof $ && $.global?f=$.global:\n\t\t\"undefined\"!=typeof self&&(f=self),f.JSZipSync=e()\n\t}\n}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error(\"Cannot find module '\"+o+\"'\")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o> 2;\n enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\n enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\n enc4 = chr3 & 63;\n\n if (isNaN(chr2)) {\n enc3 = enc4 = 64;\n }\n else if (isNaN(chr3)) {\n enc4 = 64;\n }\n\n output = output + _keyStr.charAt(enc1) + _keyStr.charAt(enc2) + _keyStr.charAt(enc3) + _keyStr.charAt(enc4);\n\n }\n\n return output;\n};\n\n// public method for decoding\nexports.decode = function(input, utf8) {\n var output = \"\";\n var chr1, chr2, chr3;\n var enc1, enc2, enc3, enc4;\n var i = 0;\n\n input = input.replace(/[^A-Za-z0-9\\+\\/\\=]/g, \"\");\n\n while (i < input.length) {\n\n enc1 = _keyStr.indexOf(input.charAt(i++));\n enc2 = _keyStr.indexOf(input.charAt(i++));\n enc3 = _keyStr.indexOf(input.charAt(i++));\n enc4 = _keyStr.indexOf(input.charAt(i++));\n\n chr1 = (enc1 << 2) | (enc2 >> 4);\n chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);\n chr3 = ((enc3 & 3) << 6) | enc4;\n\n output = output + String.fromCharCode(chr1);\n\n if (enc3 != 64) {\n output = output + String.fromCharCode(chr2);\n }\n if (enc4 != 64) {\n output = output + String.fromCharCode(chr3);\n }\n\n }\n\n return output;\n\n};\n\n},{}],2:[function(_dereq_,module,exports){\n'use strict';\nfunction CompressedObject() {\n this.compressedSize = 0;\n this.uncompressedSize = 0;\n this.crc32 = 0;\n this.compressionMethod = null;\n this.compressedContent = null;\n}\n\nCompressedObject.prototype = {\n /**\n * Return the decompressed content in an unspecified format.\n * The format will depend on the decompressor.\n * @return {Object} the decompressed content.\n */\n getContent: function() {\n return null; // see implementation\n },\n /**\n * Return the compressed content in an unspecified format.\n * The format will depend on the compressed conten source.\n * @return {Object} the compressed content.\n */\n getCompressedContent: function() {\n return null; // see implementation\n }\n};\nmodule.exports = CompressedObject;\n\n},{}],3:[function(_dereq_,module,exports){\n'use strict';\nexports.STORE = {\n magic: \"\\x00\\x00\",\n compress: function(content) {\n return content; // no compression\n },\n uncompress: function(content) {\n return content; // no compression\n },\n compressInputType: null,\n uncompressInputType: null\n};\nexports.DEFLATE = _dereq_('./flate');\n\n},{\"./flate\":8}],4:[function(_dereq_,module,exports){\n'use strict';\n\nvar utils = _dereq_('./utils');\n\nvar table = [\n 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA,\n 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3,\n 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988,\n 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91,\n 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE,\n 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7,\n 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC,\n 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5,\n 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172,\n 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B,\n 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940,\n 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59,\n 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116,\n 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F,\n 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924,\n 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D,\n 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A,\n 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433,\n 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818,\n 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01,\n 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E,\n 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457,\n 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C,\n 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65,\n 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2,\n 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB,\n 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0,\n 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9,\n 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086,\n 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F,\n 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4,\n 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD,\n 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A,\n 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683,\n 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8,\n 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1,\n 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE,\n 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7,\n 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC,\n 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5,\n 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252,\n 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B,\n 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60,\n 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79,\n 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236,\n 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F,\n 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04,\n 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D,\n 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A,\n 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713,\n 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38,\n 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21,\n 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E,\n 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777,\n 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C,\n 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45,\n 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2,\n 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB,\n 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0,\n 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9,\n 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6,\n 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF,\n 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94,\n 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D\n];\n\n/**\n *\n * Javascript crc32\n * http://www.webtoolkit.info/\n *\n */\nmodule.exports = function crc32(input, crc) {\n if (typeof input === \"undefined\" || !input.length) {\n return 0;\n }\n\n var isArray = utils.getTypeOf(input) !== \"string\";\n\n if (typeof(crc) == \"undefined\") {\n crc = 0;\n }\n var x = 0;\n var y = 0;\n var b = 0;\n\n crc = crc ^ (-1);\n for (var i = 0, iTop = input.length; i < iTop; i++) {\n b = isArray ? input[i] : input.charCodeAt(i);\n y = (crc ^ b) & 0xFF;\n x = table[y];\n crc = (crc >>> 8) ^ x;\n }\n\n return crc ^ (-1);\n};\n// vim: set shiftwidth=4 softtabstop=4:\n\n},{\"./utils\":21}],5:[function(_dereq_,module,exports){\n'use strict';\nvar utils = _dereq_('./utils');\n\nfunction DataReader(data) {\n this.data = null; // type : see implementation\n this.length = 0;\n this.index = 0;\n}\nDataReader.prototype = {\n /**\n * Check that the offset will not go too far.\n * @param {string} offset the additional offset to check.\n * @throws {Error} an Error if the offset is out of bounds.\n */\n checkOffset: function(offset) {\n this.checkIndex(this.index + offset);\n },\n /**\n * Check that the specifed index will not be too far.\n * @param {string} newIndex the index to check.\n * @throws {Error} an Error if the index is out of bounds.\n */\n checkIndex: function(newIndex) {\n if (this.length < newIndex || newIndex < 0) {\n throw new Error(\"End of data reached (data length = \" + this.length + \", asked index = \" + (newIndex) + \"). Corrupted zip ?\");\n }\n },\n /**\n * Change the index.\n * @param {number} newIndex The new index.\n * @throws {Error} if the new index is out of the data.\n */\n setIndex: function(newIndex) {\n this.checkIndex(newIndex);\n this.index = newIndex;\n },\n /**\n * Skip the next n bytes.\n * @param {number} n the number of bytes to skip.\n * @throws {Error} if the new index is out of the data.\n */\n skip: function(n) {\n this.setIndex(this.index + n);\n },\n /**\n * Get the byte at the specified index.\n * @param {number} i the index to use.\n * @return {number} a byte.\n */\n byteAt: function(i) {\n // see implementations\n },\n /**\n * Get the next number with a given byte size.\n * @param {number} size the number of bytes to read.\n * @return {number} the corresponding number.\n */\n readInt: function(size) {\n var result = 0,\n i;\n this.checkOffset(size);\n for (i = this.index + size - 1; i >= this.index; i--) {\n result = (result << 8) + this.byteAt(i);\n }\n this.index += size;\n return result;\n },\n /**\n * Get the next string with a given byte size.\n * @param {number} size the number of bytes to read.\n * @return {string} the corresponding string.\n */\n readString: function(size) {\n return utils.transformTo(\"string\", this.readData(size));\n },\n /**\n * Get raw data without conversion, bytes.\n * @param {number} size the number of bytes to read.\n * @return {Object} the raw data, implementation specific.\n */\n readData: function(size) {\n // see implementations\n },\n /**\n * Find the last occurence of a zip signature (4 bytes).\n * @param {string} sig the signature to find.\n * @return {number} the index of the last occurence, -1 if not found.\n */\n lastIndexOfSignature: function(sig) {\n // see implementations\n },\n /**\n * Get the next date.\n * @return {Date} the date.\n */\n readDate: function() {\n var dostime = this.readInt(4);\n return new Date(\n ((dostime >> 25) & 0x7f) + 1980, // year\n ((dostime >> 21) & 0x0f) - 1, // month\n (dostime >> 16) & 0x1f, // day\n (dostime >> 11) & 0x1f, // hour\n (dostime >> 5) & 0x3f, // minute\n (dostime & 0x1f) << 1); // second\n }\n};\nmodule.exports = DataReader;\n\n},{\"./utils\":21}],6:[function(_dereq_,module,exports){\n'use strict';\nexports.base64 = false;\nexports.binary = false;\nexports.dir = false;\nexports.createFolders = false;\nexports.date = null;\nexports.compression = null;\nexports.comment = null;\n\n},{}],7:[function(_dereq_,module,exports){\n'use strict';\nvar utils = _dereq_('./utils');\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.string2binary = function(str) {\n return utils.string2binary(str);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.string2Uint8Array = function(str) {\n return utils.transformTo(\"uint8array\", str);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.uint8Array2String = function(array) {\n return utils.transformTo(\"string\", array);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.string2Blob = function(str) {\n var buffer = utils.transformTo(\"arraybuffer\", str);\n return utils.arrayBuffer2Blob(buffer);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.arrayBuffer2Blob = function(buffer) {\n return utils.arrayBuffer2Blob(buffer);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.transformTo = function(outputType, input) {\n return utils.transformTo(outputType, input);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.getTypeOf = function(input) {\n return utils.getTypeOf(input);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.checkSupport = function(type) {\n return utils.checkSupport(type);\n};\n\n/**\n * @deprecated\n * This value will be removed in a future version without replacement.\n */\nexports.MAX_VALUE_16BITS = utils.MAX_VALUE_16BITS;\n\n/**\n * @deprecated\n * This value will be removed in a future version without replacement.\n */\nexports.MAX_VALUE_32BITS = utils.MAX_VALUE_32BITS;\n\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.pretty = function(str) {\n return utils.pretty(str);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.findCompression = function(compressionMethod) {\n return utils.findCompression(compressionMethod);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.isRegExp = function (object) {\n return utils.isRegExp(object);\n};\n\n\n},{\"./utils\":21}],8:[function(_dereq_,module,exports){\n'use strict';\nvar USE_TYPEDARRAY = (typeof Uint8Array !== 'undefined') && (typeof Uint16Array !== 'undefined') && (typeof Uint32Array !== 'undefined');\n\nvar pako = _dereq_(\"pako\");\nexports.uncompressInputType = USE_TYPEDARRAY ? \"uint8array\" : \"array\";\nexports.compressInputType = USE_TYPEDARRAY ? \"uint8array\" : \"array\";\n\nexports.magic = \"\\x08\\x00\";\nexports.compress = function(input) {\n return pako.deflateRaw(input);\n};\nexports.uncompress = function(input) {\n return pako.inflateRaw(input);\n};\n\n},{\"pako\":24}],9:[function(_dereq_,module,exports){\n'use strict';\n\nvar base64 = _dereq_('./base64');\n\n/**\nUsage:\n zip = new JSZip();\n zip.file(\"hello.txt\", \"Hello, World!\").file(\"tempfile\", \"nothing\");\n zip.folder(\"images\").file(\"smile.gif\", base64Data, {base64: true});\n zip.file(\"Xmas.txt\", \"Ho ho ho !\", {date : new Date(\"December 25, 2007 00:00:01\")});\n zip.remove(\"tempfile\");\n\n base64zip = zip.generate();\n\n**/\n\n/**\n * Representation a of zip file in js\n * @constructor\n * @param {String=|ArrayBuffer=|Uint8Array=} data the data to load, if any (optional).\n * @param {Object=} options the options for creating this objects (optional).\n */\nfunction JSZipSync(data, options) {\n // if this constructor is used without `new`, it adds `new` before itself:\n if(!(this instanceof JSZipSync)) return new JSZipSync(data, options);\n\n // object containing the files :\n // {\n // \"folder/\" : {...},\n // \"folder/data.txt\" : {...}\n // }\n this.files = {};\n\n this.comment = null;\n\n // Where we are in the hierarchy\n this.root = \"\";\n if (data) {\n this.load(data, options);\n }\n this.clone = function() {\n var newObj = new JSZipSync();\n for (var i in this) {\n if (typeof this[i] !== \"function\") {\n newObj[i] = this[i];\n }\n }\n return newObj;\n };\n}\nJSZipSync.prototype = _dereq_('./object');\nJSZipSync.prototype.load = _dereq_('./load');\nJSZipSync.support = _dereq_('./support');\nJSZipSync.defaults = _dereq_('./defaults');\n\n/**\n * @deprecated\n * This namespace will be removed in a future version without replacement.\n */\nJSZipSync.utils = _dereq_('./deprecatedPublicUtils');\n\nJSZipSync.base64 = {\n /**\n * @deprecated\n * This method will be removed in a future version without replacement.\n */\n encode : function(input) {\n return base64.encode(input);\n },\n /**\n * @deprecated\n * This method will be removed in a future version without replacement.\n */\n decode : function(input) {\n return base64.decode(input);\n }\n};\nJSZipSync.compressions = _dereq_('./compressions');\nmodule.exports = JSZipSync;\n\n},{\"./base64\":1,\"./compressions\":3,\"./defaults\":6,\"./deprecatedPublicUtils\":7,\"./load\":10,\"./object\":13,\"./support\":17}],10:[function(_dereq_,module,exports){\n'use strict';\nvar base64 = _dereq_('./base64');\nvar ZipEntries = _dereq_('./zipEntries');\nmodule.exports = function(data, options) {\n var files, zipEntries, i, input;\n options = options || {};\n if (options.base64) {\n data = base64.decode(data);\n }\n\n zipEntries = new ZipEntries(data, options);\n files = zipEntries.files;\n for (i = 0; i < files.length; i++) {\n input = files[i];\n this.file(input.fileName, input.decompressed, {\n binary: true,\n optimizedBinaryString: true,\n date: input.date,\n dir: input.dir,\n comment : input.fileComment.length ? input.fileComment : null,\n createFolders: options.createFolders\n });\n }\n if (zipEntries.zipComment.length) {\n this.comment = zipEntries.zipComment;\n }\n\n return this;\n};\n\n},{\"./base64\":1,\"./zipEntries\":22}],11:[function(_dereq_,module,exports){\n(function (Buffer){\n'use strict';\nvar Buffer_from = /*::(*/function(){}/*:: :any)*/;\nif(typeof Buffer !== 'undefined') {\n\tvar nbfs = !Buffer.from;\n\tif(!nbfs) try { Buffer.from(\"foo\", \"utf8\"); } catch(e) { nbfs = true; }\n\tBuffer_from = nbfs ? function(buf, enc) { return (enc) ? new Buffer(buf, enc) : new Buffer(buf); } : Buffer.from.bind(Buffer);\n\t// $FlowIgnore\n\tif(!Buffer.alloc) Buffer.alloc = function(n) { return new Buffer(n); };\n}\nmodule.exports = function(data, encoding){\n return typeof data == 'number' ? Buffer.alloc(data) : Buffer_from(data, encoding);\n};\nmodule.exports.test = function(b){\n return Buffer.isBuffer(b);\n};\n}).call(this,(typeof Buffer !== \"undefined\" ? Buffer : undefined))\n},{}],12:[function(_dereq_,module,exports){\n'use strict';\nvar Uint8ArrayReader = _dereq_('./uint8ArrayReader');\n\nfunction NodeBufferReader(data) {\n this.data = data;\n this.length = this.data.length;\n this.index = 0;\n}\nNodeBufferReader.prototype = new Uint8ArrayReader();\n\n/**\n * @see DataReader.readData\n */\nNodeBufferReader.prototype.readData = function(size) {\n this.checkOffset(size);\n var result = this.data.slice(this.index, this.index + size);\n this.index += size;\n return result;\n};\nmodule.exports = NodeBufferReader;\n\n},{\"./uint8ArrayReader\":18}],13:[function(_dereq_,module,exports){\n'use strict';\nvar support = _dereq_('./support');\nvar utils = _dereq_('./utils');\nvar crc32 = _dereq_('./crc32');\nvar signature = _dereq_('./signature');\nvar defaults = _dereq_('./defaults');\nvar base64 = _dereq_('./base64');\nvar compressions = _dereq_('./compressions');\nvar CompressedObject = _dereq_('./compressedObject');\nvar nodeBuffer = _dereq_('./nodeBuffer');\nvar utf8 = _dereq_('./utf8');\nvar StringWriter = _dereq_('./stringWriter');\nvar Uint8ArrayWriter = _dereq_('./uint8ArrayWriter');\n\n/**\n * Returns the raw data of a ZipObject, decompress the content if necessary.\n * @param {ZipObject} file the file to use.\n * @return {String|ArrayBuffer|Uint8Array|Buffer} the data.\n */\nvar getRawData = function(file) {\n if (file._data instanceof CompressedObject) {\n file._data = file._data.getContent();\n file.options.binary = true;\n file.options.base64 = false;\n\n if (utils.getTypeOf(file._data) === \"uint8array\") {\n var copy = file._data;\n // when reading an arraybuffer, the CompressedObject mechanism will keep it and subarray() a Uint8Array.\n // if we request a file in the same format, we might get the same Uint8Array or its ArrayBuffer (the original zip file).\n file._data = new Uint8Array(copy.length);\n // with an empty Uint8Array, Opera fails with a \"Offset larger than array size\"\n if (copy.length !== 0) {\n file._data.set(copy, 0);\n }\n }\n }\n return file._data;\n};\n\n/**\n * Returns the data of a ZipObject in a binary form. If the content is an unicode string, encode it.\n * @param {ZipObject} file the file to use.\n * @return {String|ArrayBuffer|Uint8Array|Buffer} the data.\n */\nvar getBinaryData = function(file) {\n var result = getRawData(file),\n type = utils.getTypeOf(result);\n if (type === \"string\") {\n if (!file.options.binary) {\n // unicode text !\n // unicode string => binary string is a painful process, check if we can avoid it.\n if (support.nodebuffer) {\n return nodeBuffer(result, \"utf-8\");\n }\n }\n return file.asBinary();\n }\n return result;\n};\n\n/**\n * Transform this._data into a string.\n * @param {function} filter a function String -> String, applied if not null on the result.\n * @return {String} the string representing this._data.\n */\nvar dataToString = function(asUTF8) {\n var result = getRawData(this);\n if (result === null || typeof result === \"undefined\") {\n return \"\";\n }\n // if the data is a base64 string, we decode it before checking the encoding !\n if (this.options.base64) {\n result = base64.decode(result);\n }\n if (asUTF8 && this.options.binary) {\n // JSZip.prototype.utf8decode supports arrays as input\n // skip to array => string step, utf8decode will do it.\n result = out.utf8decode(result);\n }\n else {\n // no utf8 transformation, do the array => string step.\n result = utils.transformTo(\"string\", result);\n }\n\n if (!asUTF8 && !this.options.binary) {\n result = utils.transformTo(\"string\", out.utf8encode(result));\n }\n return result;\n};\n/**\n * A simple object representing a file in the zip file.\n * @constructor\n * @param {string} name the name of the file\n * @param {String|ArrayBuffer|Uint8Array|Buffer} data the data\n * @param {Object} options the options of the file\n */\nvar ZipObject = function(name, data, options) {\n this.name = name;\n this.dir = options.dir;\n this.date = options.date;\n this.comment = options.comment;\n\n this._data = data;\n this.options = options;\n\n /*\n * This object contains initial values for dir and date.\n * With them, we can check if the user changed the deprecated metadata in\n * `ZipObject#options` or not.\n */\n this._initialMetadata = {\n dir : options.dir,\n date : options.date\n };\n};\n\nZipObject.prototype = {\n /**\n * Return the content as UTF8 string.\n * @return {string} the UTF8 string.\n */\n asText: function() {\n return dataToString.call(this, true);\n },\n /**\n * Returns the binary content.\n * @return {string} the content as binary.\n */\n asBinary: function() {\n return dataToString.call(this, false);\n },\n /**\n * Returns the content as a nodejs Buffer.\n * @return {Buffer} the content as a Buffer.\n */\n asNodeBuffer: function() {\n var result = getBinaryData(this);\n return utils.transformTo(\"nodebuffer\", result);\n },\n /**\n * Returns the content as an Uint8Array.\n * @return {Uint8Array} the content as an Uint8Array.\n */\n asUint8Array: function() {\n var result = getBinaryData(this);\n return utils.transformTo(\"uint8array\", result);\n },\n /**\n * Returns the content as an ArrayBuffer.\n * @return {ArrayBuffer} the content as an ArrayBufer.\n */\n asArrayBuffer: function() {\n return this.asUint8Array().buffer;\n }\n};\n\n/**\n * Transform an integer into a string in hexadecimal.\n * @private\n * @param {number} dec the number to convert.\n * @param {number} bytes the number of bytes to generate.\n * @returns {string} the result.\n */\nvar decToHex = function(dec, bytes) {\n var hex = \"\",\n i;\n for (i = 0; i < bytes; i++) {\n hex += String.fromCharCode(dec & 0xff);\n dec = dec >>> 8;\n }\n return hex;\n};\n\n/**\n * Merge the objects passed as parameters into a new one.\n * @private\n * @param {...Object} var_args All objects to merge.\n * @return {Object} a new object with the data of the others.\n */\nvar extend = function() {\n var result = {}, i, attr;\n for (i = 0; i < arguments.length; i++) { // arguments is not enumerable in some browsers\n for (attr in arguments[i]) {\n if (arguments[i].hasOwnProperty(attr) && typeof result[attr] === \"undefined\") {\n result[attr] = arguments[i][attr];\n }\n }\n }\n return result;\n};\n\n/**\n * Transforms the (incomplete) options from the user into the complete\n * set of options to create a file.\n * @private\n * @param {Object} o the options from the user.\n * @return {Object} the complete set of options.\n */\nvar prepareFileAttrs = function(o) {\n o = o || {};\n if (o.base64 === true && (o.binary === null || o.binary === undefined)) {\n o.binary = true;\n }\n o = extend(o, defaults);\n o.date = o.date || new Date();\n if (o.compression !== null) o.compression = o.compression.toUpperCase();\n\n return o;\n};\n\n/**\n * Add a file in the current folder.\n * @private\n * @param {string} name the name of the file\n * @param {String|ArrayBuffer|Uint8Array|Buffer} data the data of the file\n * @param {Object} o the options of the file\n * @return {Object} the new file.\n */\nvar fileAdd = function(name, data, o) {\n // be sure sub folders exist\n var dataType = utils.getTypeOf(data),\n parent;\n\n o = prepareFileAttrs(o);\n\n if (o.createFolders && (parent = parentFolder(name))) {\n folderAdd.call(this, parent, true);\n }\n\n if (o.dir || data === null || typeof data === \"undefined\") {\n o.base64 = false;\n o.binary = false;\n data = null;\n }\n else if (dataType === \"string\") {\n if (o.binary && !o.base64) {\n // optimizedBinaryString == true means that the file has already been filtered with a 0xFF mask\n if (o.optimizedBinaryString !== true) {\n // this is a string, not in a base64 format.\n // Be sure that this is a correct \"binary string\"\n data = utils.string2binary(data);\n }\n }\n }\n else { // arraybuffer, uint8array, ...\n o.base64 = false;\n o.binary = true;\n\n if (!dataType && !(data instanceof CompressedObject)) {\n throw new Error(\"The data of '\" + name + \"' is in an unsupported format !\");\n }\n\n // special case : it's way easier to work with Uint8Array than with ArrayBuffer\n if (dataType === \"arraybuffer\") {\n data = utils.transformTo(\"uint8array\", data);\n }\n }\n\n var object = new ZipObject(name, data, o);\n this.files[name] = object;\n return object;\n};\n\n/**\n * Find the parent folder of the path.\n * @private\n * @param {string} path the path to use\n * @return {string} the parent folder, or \"\"\n */\nvar parentFolder = function (path) {\n if (path.slice(-1) == '/') {\n path = path.substring(0, path.length - 1);\n }\n var lastSlash = path.lastIndexOf('/');\n return (lastSlash > 0) ? path.substring(0, lastSlash) : \"\";\n};\n\n/**\n * Add a (sub) folder in the current folder.\n * @private\n * @param {string} name the folder's name\n * @param {boolean=} [createFolders] If true, automatically create sub\n * folders. Defaults to false.\n * @return {Object} the new folder.\n */\nvar folderAdd = function(name, createFolders) {\n // Check the name ends with a /\n if (name.slice(-1) != \"/\") {\n name += \"/\"; // IE doesn't like substr(-1)\n }\n\n createFolders = (typeof createFolders !== 'undefined') ? createFolders : false;\n\n // Does this folder already exist?\n if (!this.files[name]) {\n fileAdd.call(this, name, null, {\n dir: true,\n createFolders: createFolders\n });\n }\n return this.files[name];\n};\n\n/**\n * Generate a JSZip.CompressedObject for a given zipOject.\n * @param {ZipObject} file the object to read.\n * @param {JSZip.compression} compression the compression to use.\n * @return {JSZip.CompressedObject} the compressed result.\n */\nvar generateCompressedObjectFrom = function(file, compression) {\n var result = new CompressedObject(),\n content;\n\n // the data has not been decompressed, we might reuse things !\n if (file._data instanceof CompressedObject) {\n result.uncompressedSize = file._data.uncompressedSize;\n result.crc32 = file._data.crc32;\n\n if (result.uncompressedSize === 0 || file.dir) {\n compression = compressions['STORE'];\n result.compressedContent = \"\";\n result.crc32 = 0;\n }\n else if (file._data.compressionMethod === compression.magic) {\n result.compressedContent = file._data.getCompressedContent();\n }\n else {\n content = file._data.getContent();\n // need to decompress / recompress\n result.compressedContent = compression.compress(utils.transformTo(compression.compressInputType, content));\n }\n }\n else {\n // have uncompressed data\n content = getBinaryData(file);\n if (!content || content.length === 0 || file.dir) {\n compression = compressions['STORE'];\n content = \"\";\n }\n result.uncompressedSize = content.length;\n result.crc32 = crc32(content);\n result.compressedContent = compression.compress(utils.transformTo(compression.compressInputType, content));\n }\n\n result.compressedSize = result.compressedContent.length;\n result.compressionMethod = compression.magic;\n\n return result;\n};\n\n/**\n * Generate the various parts used in the construction of the final zip file.\n * @param {string} name the file name.\n * @param {ZipObject} file the file content.\n * @param {JSZip.CompressedObject} compressedObject the compressed object.\n * @param {number} offset the current offset from the start of the zip file.\n * @return {object} the zip parts.\n */\nvar generateZipParts = function(name, file, compressedObject, offset) {\n var data = compressedObject.compressedContent,\n utfEncodedFileName = utils.transformTo(\"string\", utf8.utf8encode(file.name)),\n comment = file.comment || \"\",\n utfEncodedComment = utils.transformTo(\"string\", utf8.utf8encode(comment)),\n useUTF8ForFileName = utfEncodedFileName.length !== file.name.length,\n useUTF8ForComment = utfEncodedComment.length !== comment.length,\n o = file.options,\n dosTime,\n dosDate,\n extraFields = \"\",\n unicodePathExtraField = \"\",\n unicodeCommentExtraField = \"\",\n dir, date;\n\n\n // handle the deprecated options.dir\n if (file._initialMetadata.dir !== file.dir) {\n dir = file.dir;\n } else {\n dir = o.dir;\n }\n\n // handle the deprecated options.date\n if(file._initialMetadata.date !== file.date) {\n date = file.date;\n } else {\n date = o.date;\n }\n\n\n dosTime = date.getHours();\n dosTime = dosTime << 6;\n dosTime = dosTime | date.getMinutes();\n dosTime = dosTime << 5;\n dosTime = dosTime | date.getSeconds() / 2;\n\n dosDate = date.getFullYear() - 1980;\n dosDate = dosDate << 4;\n dosDate = dosDate | (date.getMonth() + 1);\n dosDate = dosDate << 5;\n dosDate = dosDate | date.getDate();\n\n if (useUTF8ForFileName) {\n // set the unicode path extra field. unzip needs at least one extra\n // field to correctly handle unicode path, so using the path is as good\n // as any other information. This could improve the situation with\n // other archive managers too.\n // This field is usually used without the utf8 flag, with a non\n // unicode path in the header (winrar, winzip). This helps (a bit)\n // with the messy Windows' default compressed folders feature but\n // breaks on p7zip which doesn't seek the unicode path extra field.\n // So for now, UTF-8 everywhere !\n unicodePathExtraField =\n // Version\n decToHex(1, 1) +\n // NameCRC32\n decToHex(crc32(utfEncodedFileName), 4) +\n // UnicodeName\n utfEncodedFileName;\n\n extraFields +=\n // Info-ZIP Unicode Path Extra Field\n \"\\x75\\x70\" +\n // size\n decToHex(unicodePathExtraField.length, 2) +\n // content\n unicodePathExtraField;\n }\n\n if(useUTF8ForComment) {\n\n unicodeCommentExtraField =\n // Version\n decToHex(1, 1) +\n // CommentCRC32\n decToHex(this.crc32(utfEncodedComment), 4) +\n // UnicodeName\n utfEncodedComment;\n\n extraFields +=\n // Info-ZIP Unicode Path Extra Field\n \"\\x75\\x63\" +\n // size\n decToHex(unicodeCommentExtraField.length, 2) +\n // content\n unicodeCommentExtraField;\n }\n\n var header = \"\";\n\n // version needed to extract\n header += \"\\x0A\\x00\";\n // general purpose bit flag\n // set bit 11 if utf8\n header += (useUTF8ForFileName || useUTF8ForComment) ? \"\\x00\\x08\" : \"\\x00\\x00\";\n // compression method\n header += compressedObject.compressionMethod;\n // last mod file time\n header += decToHex(dosTime, 2);\n // last mod file date\n header += decToHex(dosDate, 2);\n // crc-32\n header += decToHex(compressedObject.crc32, 4);\n // compressed size\n header += decToHex(compressedObject.compressedSize, 4);\n // uncompressed size\n header += decToHex(compressedObject.uncompressedSize, 4);\n // file name length\n header += decToHex(utfEncodedFileName.length, 2);\n // extra field length\n header += decToHex(extraFields.length, 2);\n\n\n var fileRecord = signature.LOCAL_FILE_HEADER + header + utfEncodedFileName + extraFields;\n\n var dirRecord = signature.CENTRAL_FILE_HEADER +\n // version made by (00: DOS)\n \"\\x14\\x00\" +\n // file header (common to file and central directory)\n header +\n // file comment length\n decToHex(utfEncodedComment.length, 2) +\n // disk number start\n \"\\x00\\x00\" +\n // internal file attributes TODO\n \"\\x00\\x00\" +\n // external file attributes\n (dir === true ? \"\\x10\\x00\\x00\\x00\" : \"\\x00\\x00\\x00\\x00\") +\n // relative offset of local header\n decToHex(offset, 4) +\n // file name\n utfEncodedFileName +\n // extra field\n extraFields +\n // file comment\n utfEncodedComment;\n\n return {\n fileRecord: fileRecord,\n dirRecord: dirRecord,\n compressedObject: compressedObject\n };\n};\n\n\n// return the actual prototype of JSZip\nvar out = {\n /**\n * Read an existing zip and merge the data in the current JSZip object.\n * The implementation is in jszip-load.js, don't forget to include it.\n * @param {String|ArrayBuffer|Uint8Array|Buffer} stream The stream to load\n * @param {Object} options Options for loading the stream.\n * options.base64 : is the stream in base64 ? default : false\n * @return {JSZip} the current JSZip object\n */\n load: function(stream, options) {\n throw new Error(\"Load method is not defined. Is the file jszip-load.js included ?\");\n },\n\n /**\n * Filter nested files/folders with the specified function.\n * @param {Function} search the predicate to use :\n * function (relativePath, file) {...}\n * It takes 2 arguments : the relative path and the file.\n * @return {Array} An array of matching elements.\n */\n filter: function(search) {\n var result = [],\n filename, relativePath, file, fileClone;\n for (filename in this.files) {\n if (!this.files.hasOwnProperty(filename)) {\n continue;\n }\n file = this.files[filename];\n // return a new object, don't let the user mess with our internal objects :)\n fileClone = new ZipObject(file.name, file._data, extend(file.options));\n relativePath = filename.slice(this.root.length, filename.length);\n if (filename.slice(0, this.root.length) === this.root && // the file is in the current root\n search(relativePath, fileClone)) { // and the file matches the function\n result.push(fileClone);\n }\n }\n return result;\n },\n\n /**\n * Add a file to the zip file, or search a file.\n * @param {string|RegExp} name The name of the file to add (if data is defined),\n * the name of the file to find (if no data) or a regex to match files.\n * @param {String|ArrayBuffer|Uint8Array|Buffer} data The file data, either raw or base64 encoded\n * @param {Object} o File options\n * @return {JSZip|Object|Array} this JSZip object (when adding a file),\n * a file (when searching by string) or an array of files (when searching by regex).\n */\n file: function(name, data, o) {\n if (arguments.length === 1) {\n if (utils.isRegExp(name)) {\n var regexp = name;\n return this.filter(function(relativePath, file) {\n return !file.dir && regexp.test(relativePath);\n });\n }\n else { // text\n return this.filter(function(relativePath, file) {\n return !file.dir && relativePath === name;\n })[0] || null;\n }\n }\n else { // more than one argument : we have data !\n name = this.root + name;\n fileAdd.call(this, name, data, o);\n }\n return this;\n },\n\n /**\n * Add a directory to the zip file, or search.\n * @param {String|RegExp} arg The name of the directory to add, or a regex to search folders.\n * @return {JSZip} an object with the new directory as the root, or an array containing matching folders.\n */\n folder: function(arg) {\n if (!arg) {\n return this;\n }\n\n if (utils.isRegExp(arg)) {\n return this.filter(function(relativePath, file) {\n return file.dir && arg.test(relativePath);\n });\n }\n\n // else, name is a new folder\n var name = this.root + arg;\n var newFolder = folderAdd.call(this, name);\n\n // Allow chaining by returning a new object with this folder as the root\n var ret = this.clone();\n ret.root = newFolder.name;\n return ret;\n },\n\n /**\n * Delete a file, or a directory and all sub-files, from the zip\n * @param {string} name the name of the file to delete\n * @return {JSZip} this JSZip object\n */\n remove: function(name) {\n name = this.root + name;\n var file = this.files[name];\n if (!file) {\n // Look for any folders\n if (name.slice(-1) != \"/\") {\n name += \"/\";\n }\n file = this.files[name];\n }\n\n if (file && !file.dir) {\n // file\n delete this.files[name];\n } else {\n // maybe a folder, delete recursively\n var kids = this.filter(function(relativePath, file) {\n return file.name.slice(0, name.length) === name;\n });\n for (var i = 0; i < kids.length; i++) {\n delete this.files[kids[i].name];\n }\n }\n\n return this;\n },\n\n /**\n * Generate the complete zip file\n * @param {Object} options the options to generate the zip file :\n * - base64, (deprecated, use type instead) true to generate base64.\n * - compression, \"STORE\" by default.\n * - type, \"base64\" by default. Values are : string, base64, uint8array, arraybuffer, blob.\n * @return {String|Uint8Array|ArrayBuffer|Buffer|Blob} the zip file\n */\n generate: function(options) {\n options = extend(options || {}, {\n base64: true,\n compression: \"STORE\",\n type: \"base64\",\n comment: null\n });\n\n utils.checkSupport(options.type);\n\n var zipData = [],\n localDirLength = 0,\n centralDirLength = 0,\n writer, i,\n utfEncodedComment = utils.transformTo(\"string\", this.utf8encode(options.comment || this.comment || \"\"));\n\n // first, generate all the zip parts.\n for (var name in this.files) {\n if (!this.files.hasOwnProperty(name)) {\n continue;\n }\n var file = this.files[name];\n\n var compressionName = file.options.compression || options.compression.toUpperCase();\n var compression = compressions[compressionName];\n if (!compression) {\n throw new Error(compressionName + \" is not a valid compression method !\");\n }\n\n var compressedObject = generateCompressedObjectFrom.call(this, file, compression);\n\n var zipPart = generateZipParts.call(this, name, file, compressedObject, localDirLength);\n localDirLength += zipPart.fileRecord.length + compressedObject.compressedSize;\n centralDirLength += zipPart.dirRecord.length;\n zipData.push(zipPart);\n }\n\n var dirEnd = \"\";\n\n // end of central dir signature\n dirEnd = signature.CENTRAL_DIRECTORY_END +\n // number of this disk\n \"\\x00\\x00\" +\n // number of the disk with the start of the central directory\n \"\\x00\\x00\" +\n // total number of entries in the central directory on this disk\n decToHex(zipData.length, 2) +\n // total number of entries in the central directory\n decToHex(zipData.length, 2) +\n // size of the central directory 4 bytes\n decToHex(centralDirLength, 4) +\n // offset of start of central directory with respect to the starting disk number\n decToHex(localDirLength, 4) +\n // .ZIP file comment length\n decToHex(utfEncodedComment.length, 2) +\n // .ZIP file comment\n utfEncodedComment;\n\n\n // we have all the parts (and the total length)\n // time to create a writer !\n var typeName = options.type.toLowerCase();\n if(typeName===\"uint8array\"||typeName===\"arraybuffer\"||typeName===\"blob\"||typeName===\"nodebuffer\") {\n writer = new Uint8ArrayWriter(localDirLength + centralDirLength + dirEnd.length);\n }else{\n writer = new StringWriter(localDirLength + centralDirLength + dirEnd.length);\n }\n\n for (i = 0; i < zipData.length; i++) {\n writer.append(zipData[i].fileRecord);\n writer.append(zipData[i].compressedObject.compressedContent);\n }\n for (i = 0; i < zipData.length; i++) {\n writer.append(zipData[i].dirRecord);\n }\n\n writer.append(dirEnd);\n\n var zip = writer.finalize();\n\n\n\n switch(options.type.toLowerCase()) {\n // case \"zip is an Uint8Array\"\n case \"uint8array\" :\n case \"arraybuffer\" :\n case \"nodebuffer\" :\n return utils.transformTo(options.type.toLowerCase(), zip);\n case \"blob\" :\n return utils.arrayBuffer2Blob(utils.transformTo(\"arraybuffer\", zip));\n // case \"zip is a string\"\n case \"base64\" :\n return (options.base64) ? base64.encode(zip) : zip;\n default : // case \"string\" :\n return zip;\n }\n\n },\n\n /**\n * @deprecated\n * This method will be removed in a future version without replacement.\n */\n crc32: function (input, crc) {\n return crc32(input, crc);\n },\n\n /**\n * @deprecated\n * This method will be removed in a future version without replacement.\n */\n utf8encode: function (string) {\n return utils.transformTo(\"string\", utf8.utf8encode(string));\n },\n\n /**\n * @deprecated\n * This method will be removed in a future version without replacement.\n */\n utf8decode: function (input) {\n return utf8.utf8decode(input);\n }\n};\nmodule.exports = out;\n\n},{\"./base64\":1,\"./compressedObject\":2,\"./compressions\":3,\"./crc32\":4,\"./defaults\":6,\"./nodeBuffer\":11,\"./signature\":14,\"./stringWriter\":16,\"./support\":17,\"./uint8ArrayWriter\":19,\"./utf8\":20,\"./utils\":21}],14:[function(_dereq_,module,exports){\n'use strict';\nexports.LOCAL_FILE_HEADER = \"PK\\x03\\x04\";\nexports.CENTRAL_FILE_HEADER = \"PK\\x01\\x02\";\nexports.CENTRAL_DIRECTORY_END = \"PK\\x05\\x06\";\nexports.ZIP64_CENTRAL_DIRECTORY_LOCATOR = \"PK\\x06\\x07\";\nexports.ZIP64_CENTRAL_DIRECTORY_END = \"PK\\x06\\x06\";\nexports.DATA_DESCRIPTOR = \"PK\\x07\\x08\";\n\n},{}],15:[function(_dereq_,module,exports){\n'use strict';\nvar DataReader = _dereq_('./dataReader');\nvar utils = _dereq_('./utils');\n\nfunction StringReader(data, optimizedBinaryString) {\n this.data = data;\n if (!optimizedBinaryString) {\n this.data = utils.string2binary(this.data);\n }\n this.length = this.data.length;\n this.index = 0;\n}\nStringReader.prototype = new DataReader();\n/**\n * @see DataReader.byteAt\n */\nStringReader.prototype.byteAt = function(i) {\n return this.data.charCodeAt(i);\n};\n/**\n * @see DataReader.lastIndexOfSignature\n */\nStringReader.prototype.lastIndexOfSignature = function(sig) {\n return this.data.lastIndexOf(sig);\n};\n/**\n * @see DataReader.readData\n */\nStringReader.prototype.readData = function(size) {\n this.checkOffset(size);\n // this will work because the constructor applied the \"& 0xff\" mask.\n var result = this.data.slice(this.index, this.index + size);\n this.index += size;\n return result;\n};\nmodule.exports = StringReader;\n\n},{\"./dataReader\":5,\"./utils\":21}],16:[function(_dereq_,module,exports){\n'use strict';\n\nvar utils = _dereq_('./utils');\n\n/**\n * An object to write any content to a string.\n * @constructor\n */\nvar StringWriter = function() {\n this.data = [];\n};\nStringWriter.prototype = {\n /**\n * Append any content to the current string.\n * @param {Object} input the content to add.\n */\n append: function(input) {\n input = utils.transformTo(\"string\", input);\n this.data.push(input);\n },\n /**\n * Finalize the construction an return the result.\n * @return {string} the generated string.\n */\n finalize: function() {\n return this.data.join(\"\");\n }\n};\n\nmodule.exports = StringWriter;\n\n},{\"./utils\":21}],17:[function(_dereq_,module,exports){\n(function (Buffer){\n'use strict';\nexports.base64 = true;\nexports.array = true;\nexports.string = true;\nexports.arraybuffer = typeof ArrayBuffer !== \"undefined\" && typeof Uint8Array !== \"undefined\";\n// contains true if JSZip can read/generate nodejs Buffer, false otherwise.\n// Browserify will provide a Buffer implementation for browsers, which is\n// an augmented Uint8Array (i.e., can be used as either Buffer or U8).\nexports.nodebuffer = typeof Buffer !== \"undefined\";\n// contains true if JSZip can read/generate Uint8Array, false otherwise.\nexports.uint8array = typeof Uint8Array !== \"undefined\";\n\nif (typeof ArrayBuffer === \"undefined\") {\n exports.blob = false;\n}\nelse {\n var buffer = new ArrayBuffer(0);\n try {\n exports.blob = new Blob([buffer], {\n type: \"application/zip\"\n }).size === 0;\n }\n catch (e) {\n try {\n var Builder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder;\n var builder = new Builder();\n builder.append(buffer);\n exports.blob = builder.getBlob('application/zip').size === 0;\n }\n catch (e) {\n exports.blob = false;\n }\n }\n}\n\n}).call(this,(typeof Buffer !== \"undefined\" ? Buffer : undefined))\n},{}],18:[function(_dereq_,module,exports){\n'use strict';\nvar DataReader = _dereq_('./dataReader');\n\nfunction Uint8ArrayReader(data) {\n if (data) {\n this.data = data;\n this.length = this.data.length;\n this.index = 0;\n }\n}\nUint8ArrayReader.prototype = new DataReader();\n/**\n * @see DataReader.byteAt\n */\nUint8ArrayReader.prototype.byteAt = function(i) {\n return this.data[i];\n};\n/**\n * @see DataReader.lastIndexOfSignature\n */\nUint8ArrayReader.prototype.lastIndexOfSignature = function(sig) {\n var sig0 = sig.charCodeAt(0),\n sig1 = sig.charCodeAt(1),\n sig2 = sig.charCodeAt(2),\n sig3 = sig.charCodeAt(3);\n for (var i = this.length - 4; i >= 0; --i) {\n if (this.data[i] === sig0 && this.data[i + 1] === sig1 && this.data[i + 2] === sig2 && this.data[i + 3] === sig3) {\n return i;\n }\n }\n\n return -1;\n};\n/**\n * @see DataReader.readData\n */\nUint8ArrayReader.prototype.readData = function(size) {\n this.checkOffset(size);\n if(size === 0) {\n // in IE10, when using subarray(idx, idx), we get the array [0x00] instead of [].\n return new Uint8Array(0);\n }\n var result = this.data.subarray(this.index, this.index + size);\n this.index += size;\n return result;\n};\nmodule.exports = Uint8ArrayReader;\n\n},{\"./dataReader\":5}],19:[function(_dereq_,module,exports){\n'use strict';\n\nvar utils = _dereq_('./utils');\n\n/**\n * An object to write any content to an Uint8Array.\n * @constructor\n * @param {number} length The length of the array.\n */\nvar Uint8ArrayWriter = function(length) {\n this.data = new Uint8Array(length);\n this.index = 0;\n};\nUint8ArrayWriter.prototype = {\n /**\n * Append any content to the current array.\n * @param {Object} input the content to add.\n */\n append: function(input) {\n if (input.length !== 0) {\n // with an empty Uint8Array, Opera fails with a \"Offset larger than array size\"\n input = utils.transformTo(\"uint8array\", input);\n this.data.set(input, this.index);\n this.index += input.length;\n }\n },\n /**\n * Finalize the construction an return the result.\n * @return {Uint8Array} the generated array.\n */\n finalize: function() {\n return this.data;\n }\n};\n\nmodule.exports = Uint8ArrayWriter;\n\n},{\"./utils\":21}],20:[function(_dereq_,module,exports){\n'use strict';\n\nvar utils = _dereq_('./utils');\nvar support = _dereq_('./support');\nvar nodeBuffer = _dereq_('./nodeBuffer');\n\n/**\n * The following functions come from pako, from pako/lib/utils/strings\n * released under the MIT license, see pako https://github.com/nodeca/pako/\n */\n\n// Table with utf8 lengths (calculated by first byte of sequence)\n// Note, that 5 & 6-byte values and some 4-byte values can not be represented in JS,\n// because max possible codepoint is 0x10ffff\nvar _utf8len = new Array(256);\nfor (var i=0; i<256; i++) {\n _utf8len[i] = (i >= 252 ? 6 : i >= 248 ? 5 : i >= 240 ? 4 : i >= 224 ? 3 : i >= 192 ? 2 : 1);\n}\n_utf8len[254]=_utf8len[254]=1; // Invalid sequence start\n\n// convert string to array (typed, when possible)\nvar string2buf = function (str) {\n var buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0;\n\n // count binary size\n for (m_pos = 0; m_pos < str_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if (((c & 0xfc00) === 0xd800) && (m_pos+1 < str_len)) {\n c2 = str.charCodeAt(m_pos+1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n buf_len += (c < 0x80) ? 1 : ((c < 0x800) ? 2 : ((c < 0x10000) ? 3 : 4));\n }\n\n // allocate buffer\n if (support.uint8array) {\n buf = new Uint8Array(buf_len);\n } else {\n buf = new Array(buf_len);\n }\n\n // convert\n for (i=0, m_pos = 0; i < buf_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if ((c & 0xfc00) === 0xd800 && (m_pos+1 < str_len)) {\n c2 = str.charCodeAt(m_pos+1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n if (c < 0x80) {\n /* one byte */\n buf[i++] = c;\n } else if (c < 0x800) {\n /* two bytes */\n buf[i++] = 0xC0 | (c >>> 6);\n buf[i++] = 0x80 | (c & 0x3f);\n } else if (c < 0x10000) {\n /* three bytes */\n buf[i++] = 0xE0 | (c >>> 12);\n buf[i++] = 0x80 | ((c >>> 6) & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n } else {\n /* four bytes */\n buf[i++] = 0xf0 | (c >>> 18);\n buf[i++] = 0x80 | ((c >>> 12) & 0x3f);\n buf[i++] = 0x80 | ((c >>> 6) & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n }\n }\n\n return buf;\n};\n\n// Calculate max possible position in utf8 buffer,\n// that will not break sequence. If that's not possible\n// - (very small limits) return max size as is.\n//\n// buf[] - utf8 bytes array\n// max - length limit (mandatory);\nvar utf8border = function(buf, max) {\n var pos;\n\n max = max || buf.length;\n if (max > buf.length) { max = buf.length; }\n\n // go back from last position, until start of sequence found\n pos = max-1;\n while (pos >= 0 && (buf[pos] & 0xC0) === 0x80) { pos--; }\n\n // Fuckup - very small and broken sequence,\n // return max, because we should return something anyway.\n if (pos < 0) { return max; }\n\n // If we came to start of buffer - that means vuffer is too small,\n // return max too.\n if (pos === 0) { return max; }\n\n return (pos + _utf8len[buf[pos]] > max) ? pos : max;\n};\n\n// convert array to string\nvar buf2string = function (buf) {\n var str, i, out, c, c_len;\n var len = buf.length;\n\n // Reserve max possible length (2 words per char)\n // NB: by unknown reasons, Array is significantly faster for\n // String.fromCharCode.apply than Uint16Array.\n var utf16buf = new Array(len*2);\n\n for (out=0, i=0; i 4) { utf16buf[out++] = 0xfffd; i += c_len-1; continue; }\n\n // apply mask on first byte\n c &= c_len === 2 ? 0x1f : c_len === 3 ? 0x0f : 0x07;\n // join the rest\n while (c_len > 1 && i < len) {\n c = (c << 6) | (buf[i++] & 0x3f);\n c_len--;\n }\n\n // terminated by end of string?\n if (c_len > 1) { utf16buf[out++] = 0xfffd; continue; }\n\n if (c < 0x10000) {\n utf16buf[out++] = c;\n } else {\n c -= 0x10000;\n utf16buf[out++] = 0xd800 | ((c >> 10) & 0x3ff);\n utf16buf[out++] = 0xdc00 | (c & 0x3ff);\n }\n }\n\n // shrinkBuf(utf16buf, out)\n if (utf16buf.length !== out) {\n if(utf16buf.subarray) {\n utf16buf = utf16buf.subarray(0, out);\n } else {\n utf16buf.length = out;\n }\n }\n\n // return String.fromCharCode.apply(null, utf16buf);\n return utils.applyFromCharCode(utf16buf);\n};\n\n\n// That's all for the pako functions.\n\n\n/**\n * Transform a javascript string into an array (typed if possible) of bytes,\n * UTF-8 encoded.\n * @param {String} str the string to encode\n * @return {Array|Uint8Array|Buffer} the UTF-8 encoded string.\n */\nexports.utf8encode = function utf8encode(str) {\n if (support.nodebuffer) {\n return nodeBuffer(str, \"utf-8\");\n }\n\n return string2buf(str);\n};\n\n\n/**\n * Transform a bytes array (or a representation) representing an UTF-8 encoded\n * string into a javascript string.\n * @param {Array|Uint8Array|Buffer} buf the data de decode\n * @return {String} the decoded string.\n */\nexports.utf8decode = function utf8decode(buf) {\n if (support.nodebuffer) {\n return utils.transformTo(\"nodebuffer\", buf).toString(\"utf-8\");\n }\n\n buf = utils.transformTo(support.uint8array ? \"uint8array\" : \"array\", buf);\n\n // return buf2string(buf);\n // Chrome prefers to work with \"small\" chunks of data\n // for the method buf2string.\n // Firefox and Chrome has their own shortcut, IE doesn't seem to really care.\n var result = [], k = 0, len = buf.length, chunk = 65536;\n while (k < len) {\n var nextBoundary = utf8border(buf, Math.min(k + chunk, len));\n if (support.uint8array) {\n result.push(buf2string(buf.subarray(k, nextBoundary)));\n } else {\n result.push(buf2string(buf.slice(k, nextBoundary)));\n }\n k = nextBoundary;\n }\n return result.join(\"\");\n\n};\n// vim: set shiftwidth=4 softtabstop=4:\n\n},{\"./nodeBuffer\":11,\"./support\":17,\"./utils\":21}],21:[function(_dereq_,module,exports){\n'use strict';\nvar support = _dereq_('./support');\nvar compressions = _dereq_('./compressions');\nvar nodeBuffer = _dereq_('./nodeBuffer');\n/**\n * Convert a string to a \"binary string\" : a string containing only char codes between 0 and 255.\n * @param {string} str the string to transform.\n * @return {String} the binary string.\n */\nexports.string2binary = function(str) {\n var result = \"\";\n for (var i = 0; i < str.length; i++) {\n result += String.fromCharCode(str.charCodeAt(i) & 0xff);\n }\n return result;\n};\nexports.arrayBuffer2Blob = function(buffer) {\n exports.checkSupport(\"blob\");\n\n try {\n // Blob constructor\n return new Blob([buffer], {\n type: \"application/zip\"\n });\n }\n catch (e) {\n\n try {\n // deprecated, browser only, old way\n var Builder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder;\n var builder = new Builder();\n builder.append(buffer);\n return builder.getBlob('application/zip');\n }\n catch (e) {\n\n // well, fuck ?!\n throw new Error(\"Bug : can't construct the Blob.\");\n }\n }\n\n\n};\n/**\n * The identity function.\n * @param {Object} input the input.\n * @return {Object} the same input.\n */\nfunction identity(input) {\n return input;\n}\n\n/**\n * Fill in an array with a string.\n * @param {String} str the string to use.\n * @param {Array|ArrayBuffer|Uint8Array|Buffer} array the array to fill in (will be mutated).\n * @return {Array|ArrayBuffer|Uint8Array|Buffer} the updated array.\n */\nfunction stringToArrayLike(str, array) {\n for (var i = 0; i < str.length; ++i) {\n array[i] = str.charCodeAt(i) & 0xFF;\n }\n return array;\n}\n\n/**\n * Transform an array-like object to a string.\n * @param {Array|ArrayBuffer|Uint8Array|Buffer} array the array to transform.\n * @return {String} the result.\n */\nfunction arrayLikeToString(array) {\n // Performances notes :\n // --------------------\n // String.fromCharCode.apply(null, array) is the fastest, see\n // see http://jsperf.com/converting-a-uint8array-to-a-string/2\n // but the stack is limited (and we can get huge arrays !).\n //\n // result += String.fromCharCode(array[i]); generate too many strings !\n //\n // This code is inspired by http://jsperf.com/arraybuffer-to-string-apply-performance/2\n var chunk = 65536;\n var result = [],\n len = array.length,\n type = exports.getTypeOf(array),\n k = 0,\n canUseApply = true;\n try {\n switch(type) {\n case \"uint8array\":\n String.fromCharCode.apply(null, new Uint8Array(0));\n break;\n case \"nodebuffer\":\n String.fromCharCode.apply(null, nodeBuffer(0));\n break;\n }\n } catch(e) {\n canUseApply = false;\n }\n\n // no apply : slow and painful algorithm\n // default browser on android 4.*\n if (!canUseApply) {\n var resultStr = \"\";\n for(var i = 0; i < array.length;i++) {\n resultStr += String.fromCharCode(array[i]);\n }\n return resultStr;\n }\n while (k < len && chunk > 1) {\n try {\n if (type === \"array\" || type === \"nodebuffer\") {\n result.push(String.fromCharCode.apply(null, array.slice(k, Math.min(k + chunk, len))));\n }\n else {\n result.push(String.fromCharCode.apply(null, array.subarray(k, Math.min(k + chunk, len))));\n }\n k += chunk;\n }\n catch (e) {\n chunk = Math.floor(chunk / 2);\n }\n }\n return result.join(\"\");\n}\n\nexports.applyFromCharCode = arrayLikeToString;\n\n\n/**\n * Copy the data from an array-like to an other array-like.\n * @param {Array|ArrayBuffer|Uint8Array|Buffer} arrayFrom the origin array.\n * @param {Array|ArrayBuffer|Uint8Array|Buffer} arrayTo the destination array which will be mutated.\n * @return {Array|ArrayBuffer|Uint8Array|Buffer} the updated destination array.\n */\nfunction arrayLikeToArrayLike(arrayFrom, arrayTo) {\n for (var i = 0; i < arrayFrom.length; i++) {\n arrayTo[i] = arrayFrom[i];\n }\n return arrayTo;\n}\n\n// a matrix containing functions to transform everything into everything.\nvar transform = {};\n\n// string to ?\ntransform[\"string\"] = {\n \"string\": identity,\n \"array\": function(input) {\n return stringToArrayLike(input, new Array(input.length));\n },\n \"arraybuffer\": function(input) {\n return transform[\"string\"][\"uint8array\"](input).buffer;\n },\n \"uint8array\": function(input) {\n return stringToArrayLike(input, new Uint8Array(input.length));\n },\n \"nodebuffer\": function(input) {\n return stringToArrayLike(input, nodeBuffer(input.length));\n }\n};\n\n// array to ?\ntransform[\"array\"] = {\n \"string\": arrayLikeToString,\n \"array\": identity,\n \"arraybuffer\": function(input) {\n return (new Uint8Array(input)).buffer;\n },\n \"uint8array\": function(input) {\n return new Uint8Array(input);\n },\n \"nodebuffer\": function(input) {\n return nodeBuffer(input);\n }\n};\n\n// arraybuffer to ?\ntransform[\"arraybuffer\"] = {\n \"string\": function(input) {\n return arrayLikeToString(new Uint8Array(input));\n },\n \"array\": function(input) {\n return arrayLikeToArrayLike(new Uint8Array(input), new Array(input.byteLength));\n },\n \"arraybuffer\": identity,\n \"uint8array\": function(input) {\n return new Uint8Array(input);\n },\n \"nodebuffer\": function(input) {\n return nodeBuffer(new Uint8Array(input));\n }\n};\n\n// uint8array to ?\ntransform[\"uint8array\"] = {\n \"string\": arrayLikeToString,\n \"array\": function(input) {\n return arrayLikeToArrayLike(input, new Array(input.length));\n },\n \"arraybuffer\": function(input) {\n return input.buffer;\n },\n \"uint8array\": identity,\n \"nodebuffer\": function(input) {\n return nodeBuffer(input);\n }\n};\n\n// nodebuffer to ?\ntransform[\"nodebuffer\"] = {\n \"string\": arrayLikeToString,\n \"array\": function(input) {\n return arrayLikeToArrayLike(input, new Array(input.length));\n },\n \"arraybuffer\": function(input) {\n return transform[\"nodebuffer\"][\"uint8array\"](input).buffer;\n },\n \"uint8array\": function(input) {\n return arrayLikeToArrayLike(input, new Uint8Array(input.length));\n },\n \"nodebuffer\": identity\n};\n\n/**\n * Transform an input into any type.\n * The supported output type are : string, array, uint8array, arraybuffer, nodebuffer.\n * If no output type is specified, the unmodified input will be returned.\n * @param {String} outputType the output type.\n * @param {String|Array|ArrayBuffer|Uint8Array|Buffer} input the input to convert.\n * @throws {Error} an Error if the browser doesn't support the requested output type.\n */\nexports.transformTo = function(outputType, input) {\n if (!input) {\n // undefined, null, etc\n // an empty string won't harm.\n input = \"\";\n }\n if (!outputType) {\n return input;\n }\n exports.checkSupport(outputType);\n var inputType = exports.getTypeOf(input);\n var result = transform[inputType][outputType](input);\n return result;\n};\n\n/**\n * Return the type of the input.\n * The type will be in a format valid for JSZip.utils.transformTo : string, array, uint8array, arraybuffer.\n * @param {Object} input the input to identify.\n * @return {String} the (lowercase) type of the input.\n */\nexports.getTypeOf = function(input) {\n if (typeof input === \"string\") {\n return \"string\";\n }\n if (Object.prototype.toString.call(input) === \"[object Array]\") {\n return \"array\";\n }\n if (support.nodebuffer && nodeBuffer.test(input)) {\n return \"nodebuffer\";\n }\n if (support.uint8array && input instanceof Uint8Array) {\n return \"uint8array\";\n }\n if (support.arraybuffer && input instanceof ArrayBuffer) {\n return \"arraybuffer\";\n }\n};\n\n/**\n * Throw an exception if the type is not supported.\n * @param {String} type the type to check.\n * @throws {Error} an Error if the browser doesn't support the requested type.\n */\nexports.checkSupport = function(type) {\n var supported = support[type.toLowerCase()];\n if (!supported) {\n throw new Error(type + \" is not supported by this browser\");\n }\n};\nexports.MAX_VALUE_16BITS = 65535;\nexports.MAX_VALUE_32BITS = -1; // well, \"\\xFF\\xFF\\xFF\\xFF\\xFF\\xFF\\xFF\\xFF\" is parsed as -1\n\n/**\n * Prettify a string read as binary.\n * @param {string} str the string to prettify.\n * @return {string} a pretty string.\n */\nexports.pretty = function(str) {\n var res = '',\n code, i;\n for (i = 0; i < (str || \"\").length; i++) {\n code = str.charCodeAt(i);\n res += '\\\\x' + (code < 16 ? \"0\" : \"\") + code.toString(16).toUpperCase();\n }\n return res;\n};\n\n/**\n * Find a compression registered in JSZip.\n * @param {string} compressionMethod the method magic to find.\n * @return {Object|null} the JSZip compression object, null if none found.\n */\nexports.findCompression = function(compressionMethod) {\n for (var method in compressions) {\n if (!compressions.hasOwnProperty(method)) {\n continue;\n }\n if (compressions[method].magic === compressionMethod) {\n return compressions[method];\n }\n }\n return null;\n};\n/**\n* Cross-window, cross-Node-context regular expression detection\n* @param {Object} object Anything\n* @return {Boolean} true if the object is a regular expression,\n* false otherwise\n*/\nexports.isRegExp = function (object) {\n return Object.prototype.toString.call(object) === \"[object RegExp]\";\n};\n\n\n},{\"./compressions\":3,\"./nodeBuffer\":11,\"./support\":17}],22:[function(_dereq_,module,exports){\n'use strict';\nvar StringReader = _dereq_('./stringReader');\nvar NodeBufferReader = _dereq_('./nodeBufferReader');\nvar Uint8ArrayReader = _dereq_('./uint8ArrayReader');\nvar utils = _dereq_('./utils');\nvar sig = _dereq_('./signature');\nvar ZipEntry = _dereq_('./zipEntry');\nvar support = _dereq_('./support');\nvar jszipProto = _dereq_('./object');\n// class ZipEntries {{{\n/**\n * All the entries in the zip file.\n * @constructor\n * @param {String|ArrayBuffer|Uint8Array} data the binary stream to load.\n * @param {Object} loadOptions Options for loading the stream.\n */\nfunction ZipEntries(data, loadOptions) {\n this.files = [];\n this.loadOptions = loadOptions;\n if (data) {\n this.load(data);\n }\n}\nZipEntries.prototype = {\n /**\n * Check that the reader is on the speficied signature.\n * @param {string} expectedSignature the expected signature.\n * @throws {Error} if it is an other signature.\n */\n checkSignature: function(expectedSignature) {\n var signature = this.reader.readString(4);\n if (signature !== expectedSignature) {\n throw new Error(\"Corrupted zip or bug : unexpected signature \" + \"(\" + utils.pretty(signature) + \", expected \" + utils.pretty(expectedSignature) + \")\");\n }\n },\n /**\n * Read the end of the central directory.\n */\n readBlockEndOfCentral: function() {\n this.diskNumber = this.reader.readInt(2);\n this.diskWithCentralDirStart = this.reader.readInt(2);\n this.centralDirRecordsOnThisDisk = this.reader.readInt(2);\n this.centralDirRecords = this.reader.readInt(2);\n this.centralDirSize = this.reader.readInt(4);\n this.centralDirOffset = this.reader.readInt(4);\n\n this.zipCommentLength = this.reader.readInt(2);\n // warning : the encoding depends of the system locale\n // On a linux machine with LANG=en_US.utf8, this field is utf8 encoded.\n // On a windows machine, this field is encoded with the localized windows code page.\n this.zipComment = this.reader.readString(this.zipCommentLength);\n // To get consistent behavior with the generation part, we will assume that\n // this is utf8 encoded.\n this.zipComment = jszipProto.utf8decode(this.zipComment);\n },\n /**\n * Read the end of the Zip 64 central directory.\n * Not merged with the method readEndOfCentral :\n * The end of central can coexist with its Zip64 brother,\n * I don't want to read the wrong number of bytes !\n */\n readBlockZip64EndOfCentral: function() {\n this.zip64EndOfCentralSize = this.reader.readInt(8);\n this.versionMadeBy = this.reader.readString(2);\n this.versionNeeded = this.reader.readInt(2);\n this.diskNumber = this.reader.readInt(4);\n this.diskWithCentralDirStart = this.reader.readInt(4);\n this.centralDirRecordsOnThisDisk = this.reader.readInt(8);\n this.centralDirRecords = this.reader.readInt(8);\n this.centralDirSize = this.reader.readInt(8);\n this.centralDirOffset = this.reader.readInt(8);\n\n this.zip64ExtensibleData = {};\n var extraDataSize = this.zip64EndOfCentralSize - 44,\n index = 0,\n extraFieldId,\n extraFieldLength,\n extraFieldValue;\n while (index < extraDataSize) {\n extraFieldId = this.reader.readInt(2);\n extraFieldLength = this.reader.readInt(4);\n extraFieldValue = this.reader.readString(extraFieldLength);\n this.zip64ExtensibleData[extraFieldId] = {\n id: extraFieldId,\n length: extraFieldLength,\n value: extraFieldValue\n };\n }\n },\n /**\n * Read the end of the Zip 64 central directory locator.\n */\n readBlockZip64EndOfCentralLocator: function() {\n this.diskWithZip64CentralDirStart = this.reader.readInt(4);\n this.relativeOffsetEndOfZip64CentralDir = this.reader.readInt(8);\n this.disksCount = this.reader.readInt(4);\n if (this.disksCount > 1) {\n throw new Error(\"Multi-volumes zip are not supported\");\n }\n },\n /**\n * Read the local files, based on the offset read in the central part.\n */\n readLocalFiles: function() {\n var i, file;\n for (i = 0; i < this.files.length; i++) {\n file = this.files[i];\n this.reader.setIndex(file.localHeaderOffset);\n this.checkSignature(sig.LOCAL_FILE_HEADER);\n file.readLocalPart(this.reader);\n file.handleUTF8();\n }\n },\n /**\n * Read the central directory.\n */\n readCentralDir: function() {\n var file;\n\n this.reader.setIndex(this.centralDirOffset);\n while (this.reader.readString(4) === sig.CENTRAL_FILE_HEADER) {\n file = new ZipEntry({\n zip64: this.zip64\n }, this.loadOptions);\n file.readCentralPart(this.reader);\n this.files.push(file);\n }\n },\n /**\n * Read the end of central directory.\n */\n readEndOfCentral: function() {\n var offset = this.reader.lastIndexOfSignature(sig.CENTRAL_DIRECTORY_END);\n if (offset === -1) {\n throw new Error(\"Corrupted zip : can't find end of central directory\");\n }\n this.reader.setIndex(offset);\n this.checkSignature(sig.CENTRAL_DIRECTORY_END);\n this.readBlockEndOfCentral();\n\n\n /* extract from the zip spec :\n 4) If one of the fields in the end of central directory\n record is too small to hold required data, the field\n should be set to -1 (0xFFFF or 0xFFFFFFFF) and the\n ZIP64 format record should be created.\n 5) The end of central directory record and the\n Zip64 end of central directory locator record must\n reside on the same disk when splitting or spanning\n an archive.\n */\n if (this.diskNumber === utils.MAX_VALUE_16BITS || this.diskWithCentralDirStart === utils.MAX_VALUE_16BITS || this.centralDirRecordsOnThisDisk === utils.MAX_VALUE_16BITS || this.centralDirRecords === utils.MAX_VALUE_16BITS || this.centralDirSize === utils.MAX_VALUE_32BITS || this.centralDirOffset === utils.MAX_VALUE_32BITS) {\n this.zip64 = true;\n\n /*\n Warning : the zip64 extension is supported, but ONLY if the 64bits integer read from\n the zip file can fit into a 32bits integer. This cannot be solved : Javascript represents\n all numbers as 64-bit double precision IEEE 754 floating point numbers.\n So, we have 53bits for integers and bitwise operations treat everything as 32bits.\n see https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/Bitwise_Operators\n and http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf section 8.5\n */\n\n // should look for a zip64 EOCD locator\n offset = this.reader.lastIndexOfSignature(sig.ZIP64_CENTRAL_DIRECTORY_LOCATOR);\n if (offset === -1) {\n throw new Error(\"Corrupted zip : can't find the ZIP64 end of central directory locator\");\n }\n this.reader.setIndex(offset);\n this.checkSignature(sig.ZIP64_CENTRAL_DIRECTORY_LOCATOR);\n this.readBlockZip64EndOfCentralLocator();\n\n // now the zip64 EOCD record\n this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir);\n this.checkSignature(sig.ZIP64_CENTRAL_DIRECTORY_END);\n this.readBlockZip64EndOfCentral();\n }\n },\n prepareReader: function(data) {\n var type = utils.getTypeOf(data);\n if (type === \"string\" && !support.uint8array) {\n this.reader = new StringReader(data, this.loadOptions.optimizedBinaryString);\n }\n else if (type === \"nodebuffer\") {\n this.reader = new NodeBufferReader(data);\n }\n else {\n this.reader = new Uint8ArrayReader(utils.transformTo(\"uint8array\", data));\n }\n },\n /**\n * Read a zip file and create ZipEntries.\n * @param {String|ArrayBuffer|Uint8Array|Buffer} data the binary string representing a zip file.\n */\n load: function(data) {\n this.prepareReader(data);\n this.readEndOfCentral();\n this.readCentralDir();\n this.readLocalFiles();\n }\n};\n// }}} end of ZipEntries\nmodule.exports = ZipEntries;\n\n},{\"./nodeBufferReader\":12,\"./object\":13,\"./signature\":14,\"./stringReader\":15,\"./support\":17,\"./uint8ArrayReader\":18,\"./utils\":21,\"./zipEntry\":23}],23:[function(_dereq_,module,exports){\n'use strict';\nvar StringReader = _dereq_('./stringReader');\nvar utils = _dereq_('./utils');\nvar CompressedObject = _dereq_('./compressedObject');\nvar jszipProto = _dereq_('./object');\n// class ZipEntry {{{\n/**\n * An entry in the zip file.\n * @constructor\n * @param {Object} options Options of the current file.\n * @param {Object} loadOptions Options for loading the stream.\n */\nfunction ZipEntry(options, loadOptions) {\n this.options = options;\n this.loadOptions = loadOptions;\n}\nZipEntry.prototype = {\n /**\n * say if the file is encrypted.\n * @return {boolean} true if the file is encrypted, false otherwise.\n */\n isEncrypted: function() {\n // bit 1 is set\n return (this.bitFlag & 0x0001) === 0x0001;\n },\n /**\n * say if the file has utf-8 filename/comment.\n * @return {boolean} true if the filename/comment is in utf-8, false otherwise.\n */\n useUTF8: function() {\n // bit 11 is set\n return (this.bitFlag & 0x0800) === 0x0800;\n },\n /**\n * Prepare the function used to generate the compressed content from this ZipFile.\n * @param {DataReader} reader the reader to use.\n * @param {number} from the offset from where we should read the data.\n * @param {number} length the length of the data to read.\n * @return {Function} the callback to get the compressed content (the type depends of the DataReader class).\n */\n prepareCompressedContent: function(reader, from, length) {\n return function() {\n var previousIndex = reader.index;\n reader.setIndex(from);\n var compressedFileData = reader.readData(length);\n reader.setIndex(previousIndex);\n\n return compressedFileData;\n };\n },\n /**\n * Prepare the function used to generate the uncompressed content from this ZipFile.\n * @param {DataReader} reader the reader to use.\n * @param {number} from the offset from where we should read the data.\n * @param {number} length the length of the data to read.\n * @param {JSZip.compression} compression the compression used on this file.\n * @param {number} uncompressedSize the uncompressed size to expect.\n * @return {Function} the callback to get the uncompressed content (the type depends of the DataReader class).\n */\n prepareContent: function(reader, from, length, compression, uncompressedSize) {\n return function() {\n\n var compressedFileData = utils.transformTo(compression.uncompressInputType, this.getCompressedContent());\n var uncompressedFileData = compression.uncompress(compressedFileData);\n\n if (uncompressedFileData.length !== uncompressedSize) {\n throw new Error(\"Bug : uncompressed data size mismatch\");\n }\n\n return uncompressedFileData;\n };\n },\n /**\n * Read the local part of a zip file and add the info in this object.\n * @param {DataReader} reader the reader to use.\n */\n readLocalPart: function(reader) {\n var compression, localExtraFieldsLength;\n\n // we already know everything from the central dir !\n // If the central dir data are false, we are doomed.\n // On the bright side, the local part is scary : zip64, data descriptors, both, etc.\n // The less data we get here, the more reliable this should be.\n // Let's skip the whole header and dash to the data !\n reader.skip(22);\n // in some zip created on windows, the filename stored in the central dir contains \\ instead of /.\n // Strangely, the filename here is OK.\n // I would love to treat these zip files as corrupted (see http://www.info-zip.org/FAQ.html#backslashes\n // or APPNOTE#4.4.17.1, \"All slashes MUST be forward slashes '/'\") but there are a lot of bad zip generators...\n // Search \"unzip mismatching \"local\" filename continuing with \"central\" filename version\" on\n // the internet.\n //\n // I think I see the logic here : the central directory is used to display\n // content and the local directory is used to extract the files. Mixing / and \\\n // may be used to display \\ to windows users and use / when extracting the files.\n // Unfortunately, this lead also to some issues : http://seclists.org/fulldisclosure/2009/Sep/394\n this.fileNameLength = reader.readInt(2);\n localExtraFieldsLength = reader.readInt(2); // can't be sure this will be the same as the central dir\n this.fileName = reader.readString(this.fileNameLength);\n reader.skip(localExtraFieldsLength);\n\n if (this.compressedSize == -1 || this.uncompressedSize == -1) {\n throw new Error(\"Bug or corrupted zip : didn't get enough informations from the central directory \" + \"(compressedSize == -1 || uncompressedSize == -1)\");\n }\n\n compression = utils.findCompression(this.compressionMethod);\n if (compression === null) { // no compression found\n throw new Error(\"Corrupted zip : compression \" + utils.pretty(this.compressionMethod) + \" unknown (inner file : \" + this.fileName + \")\");\n }\n this.decompressed = new CompressedObject();\n this.decompressed.compressedSize = this.compressedSize;\n this.decompressed.uncompressedSize = this.uncompressedSize;\n this.decompressed.crc32 = this.crc32;\n this.decompressed.compressionMethod = this.compressionMethod;\n this.decompressed.getCompressedContent = this.prepareCompressedContent(reader, reader.index, this.compressedSize, compression);\n this.decompressed.getContent = this.prepareContent(reader, reader.index, this.compressedSize, compression, this.uncompressedSize);\n\n // we need to compute the crc32...\n if (this.loadOptions.checkCRC32) {\n this.decompressed = utils.transformTo(\"string\", this.decompressed.getContent());\n if (jszipProto.crc32(this.decompressed) !== this.crc32) {\n throw new Error(\"Corrupted zip : CRC32 mismatch\");\n }\n }\n },\n\n /**\n * Read the central part of a zip file and add the info in this object.\n * @param {DataReader} reader the reader to use.\n */\n readCentralPart: function(reader) {\n this.versionMadeBy = reader.readString(2);\n this.versionNeeded = reader.readInt(2);\n this.bitFlag = reader.readInt(2);\n this.compressionMethod = reader.readString(2);\n this.date = reader.readDate();\n this.crc32 = reader.readInt(4);\n this.compressedSize = reader.readInt(4);\n this.uncompressedSize = reader.readInt(4);\n this.fileNameLength = reader.readInt(2);\n this.extraFieldsLength = reader.readInt(2);\n this.fileCommentLength = reader.readInt(2);\n this.diskNumberStart = reader.readInt(2);\n this.internalFileAttributes = reader.readInt(2);\n this.externalFileAttributes = reader.readInt(4);\n this.localHeaderOffset = reader.readInt(4);\n\n if (this.isEncrypted()) {\n throw new Error(\"Encrypted zip are not supported\");\n }\n\n this.fileName = reader.readString(this.fileNameLength);\n this.readExtraFields(reader);\n this.parseZIP64ExtraField(reader);\n this.fileComment = reader.readString(this.fileCommentLength);\n\n // warning, this is true only for zip with madeBy == DOS (plateform dependent feature)\n this.dir = this.externalFileAttributes & 0x00000010 ? true : false;\n },\n /**\n * Parse the ZIP64 extra field and merge the info in the current ZipEntry.\n * @param {DataReader} reader the reader to use.\n */\n parseZIP64ExtraField: function(reader) {\n\n if (!this.extraFields[0x0001]) {\n return;\n }\n\n // should be something, preparing the extra reader\n var extraReader = new StringReader(this.extraFields[0x0001].value);\n\n // I really hope that these 64bits integer can fit in 32 bits integer, because js\n // won't let us have more.\n if (this.uncompressedSize === utils.MAX_VALUE_32BITS) {\n this.uncompressedSize = extraReader.readInt(8);\n }\n if (this.compressedSize === utils.MAX_VALUE_32BITS) {\n this.compressedSize = extraReader.readInt(8);\n }\n if (this.localHeaderOffset === utils.MAX_VALUE_32BITS) {\n this.localHeaderOffset = extraReader.readInt(8);\n }\n if (this.diskNumberStart === utils.MAX_VALUE_32BITS) {\n this.diskNumberStart = extraReader.readInt(4);\n }\n },\n /**\n * Read the central part of a zip file and add the info in this object.\n * @param {DataReader} reader the reader to use.\n */\n readExtraFields: function(reader) {\n var start = reader.index,\n extraFieldId,\n extraFieldLength,\n extraFieldValue;\n\n this.extraFields = this.extraFields || {};\n\n while (reader.index < start + this.extraFieldsLength) {\n extraFieldId = reader.readInt(2);\n extraFieldLength = reader.readInt(2);\n extraFieldValue = reader.readString(extraFieldLength);\n\n this.extraFields[extraFieldId] = {\n id: extraFieldId,\n length: extraFieldLength,\n value: extraFieldValue\n };\n }\n },\n /**\n * Apply an UTF8 transformation if needed.\n */\n handleUTF8: function() {\n if (this.useUTF8()) {\n this.fileName = jszipProto.utf8decode(this.fileName);\n this.fileComment = jszipProto.utf8decode(this.fileComment);\n } else {\n var upath = this.findExtraFieldUnicodePath();\n if (upath !== null) {\n this.fileName = upath;\n }\n var ucomment = this.findExtraFieldUnicodeComment();\n if (ucomment !== null) {\n this.fileComment = ucomment;\n }\n }\n },\n\n /**\n * Find the unicode path declared in the extra field, if any.\n * @return {String} the unicode path, null otherwise.\n */\n findExtraFieldUnicodePath: function() {\n var upathField = this.extraFields[0x7075];\n if (upathField) {\n var extraReader = new StringReader(upathField.value);\n\n // wrong version\n if (extraReader.readInt(1) !== 1) {\n return null;\n }\n\n // the crc of the filename changed, this field is out of date.\n if (jszipProto.crc32(this.fileName) !== extraReader.readInt(4)) {\n return null;\n }\n\n return jszipProto.utf8decode(extraReader.readString(upathField.length - 5));\n }\n return null;\n },\n\n /**\n * Find the unicode comment declared in the extra field, if any.\n * @return {String} the unicode comment, null otherwise.\n */\n findExtraFieldUnicodeComment: function() {\n var ucommentField = this.extraFields[0x6375];\n if (ucommentField) {\n var extraReader = new StringReader(ucommentField.value);\n\n // wrong version\n if (extraReader.readInt(1) !== 1) {\n return null;\n }\n\n // the crc of the comment changed, this field is out of date.\n if (jszipProto.crc32(this.fileComment) !== extraReader.readInt(4)) {\n return null;\n }\n\n return jszipProto.utf8decode(extraReader.readString(ucommentField.length - 5));\n }\n return null;\n }\n};\nmodule.exports = ZipEntry;\n\n},{\"./compressedObject\":2,\"./object\":13,\"./stringReader\":15,\"./utils\":21}],24:[function(_dereq_,module,exports){\n// Top level file is just a mixin of submodules & constants\n'use strict';\n\nvar assign = _dereq_('./lib/utils/common').assign;\n\nvar deflate = _dereq_('./lib/deflate');\nvar inflate = _dereq_('./lib/inflate');\nvar constants = _dereq_('./lib/zlib/constants');\n\nvar pako = {};\n\nassign(pako, deflate, inflate, constants);\n\nmodule.exports = pako;\n},{\"./lib/deflate\":25,\"./lib/inflate\":26,\"./lib/utils/common\":27,\"./lib/zlib/constants\":30}],25:[function(_dereq_,module,exports){\n'use strict';\n\n\nvar zlib_deflate = _dereq_('./zlib/deflate.js');\nvar utils = _dereq_('./utils/common');\nvar strings = _dereq_('./utils/strings');\nvar msg = _dereq_('./zlib/messages');\nvar zstream = _dereq_('./zlib/zstream');\n\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\nvar Z_NO_FLUSH = 0;\nvar Z_FINISH = 4;\n\nvar Z_OK = 0;\nvar Z_STREAM_END = 1;\n\nvar Z_DEFAULT_COMPRESSION = -1;\n\nvar Z_DEFAULT_STRATEGY = 0;\n\nvar Z_DEFLATED = 8;\n\n/* ===========================================================================*/\n\n\n/**\n * class Deflate\n *\n * Generic JS-style wrapper for zlib calls. If you don't need\n * streaming behaviour - use more simple functions: [[deflate]],\n * [[deflateRaw]] and [[gzip]].\n **/\n\n/* internal\n * Deflate.chunks -> Array\n *\n * Chunks of output data, if [[Deflate#onData]] not overriden.\n **/\n\n/**\n * Deflate.result -> Uint8Array|Array\n *\n * Compressed result, generated by default [[Deflate#onData]]\n * and [[Deflate#onEnd]] handlers. Filled after you push last chunk\n * (call [[Deflate#push]] with `Z_FINISH` / `true` param).\n **/\n\n/**\n * Deflate.err -> Number\n *\n * Error code after deflate finished. 0 (Z_OK) on success.\n * You will not need it in real life, because deflate errors\n * are possible only on wrong options or bad `onData` / `onEnd`\n * custom handlers.\n **/\n\n/**\n * Deflate.msg -> String\n *\n * Error message, if [[Deflate.err]] != 0\n **/\n\n\n/**\n * new Deflate(options)\n * - options (Object): zlib deflate options.\n *\n * Creates new deflator instance with specified params. Throws exception\n * on bad params. Supported options:\n *\n * - `level`\n * - `windowBits`\n * - `memLevel`\n * - `strategy`\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Additional options, for internal needs:\n *\n * - `chunkSize` - size of generated data chunks (16K by default)\n * - `raw` (Boolean) - do raw deflate\n * - `gzip` (Boolean) - create gzip wrapper\n * - `to` (String) - if equal to 'string', then result will be \"binary string\"\n * (each char code [0..255])\n * - `header` (Object) - custom header for gzip\n * - `text` (Boolean) - true if compressed data believed to be text\n * - `time` (Number) - modification time, unix timestamp\n * - `os` (Number) - operation system code\n * - `extra` (Array) - array of bytes with extra data (max 65536)\n * - `name` (String) - file name (binary string)\n * - `comment` (String) - comment (binary string)\n * - `hcrc` (Boolean) - true if header crc should be added\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , chunk1 = Uint8Array([1,2,3,4,5,6,7,8,9])\n * , chunk2 = Uint8Array([10,11,12,13,14,15,16,17,18,19]);\n *\n * var deflate = new pako.Deflate({ level: 3});\n *\n * deflate.push(chunk1, false);\n * deflate.push(chunk2, true); // true -> last chunk\n *\n * if (deflate.err) { throw new Error(deflate.err); }\n *\n * console.log(deflate.result);\n * ```\n **/\nvar Deflate = function(options) {\n\n this.options = utils.assign({\n level: Z_DEFAULT_COMPRESSION,\n method: Z_DEFLATED,\n chunkSize: 16384,\n windowBits: 15,\n memLevel: 8,\n strategy: Z_DEFAULT_STRATEGY,\n to: ''\n }, options || {});\n\n var opt = this.options;\n\n if (opt.raw && (opt.windowBits > 0)) {\n opt.windowBits = -opt.windowBits;\n }\n\n else if (opt.gzip && (opt.windowBits > 0) && (opt.windowBits < 16)) {\n opt.windowBits += 16;\n }\n\n this.err = 0; // error code, if happens (0 = Z_OK)\n this.msg = ''; // error message\n this.ended = false; // used to avoid multiple onEnd() calls\n this.chunks = []; // chunks of compressed data\n\n this.strm = new zstream();\n this.strm.avail_out = 0;\n\n var status = zlib_deflate.deflateInit2(\n this.strm,\n opt.level,\n opt.method,\n opt.windowBits,\n opt.memLevel,\n opt.strategy\n );\n\n if (status !== Z_OK) {\n throw new Error(msg[status]);\n }\n\n if (opt.header) {\n zlib_deflate.deflateSetHeader(this.strm, opt.header);\n }\n};\n\n/**\n * Deflate#push(data[, mode]) -> Boolean\n * - data (Uint8Array|Array|String): input data. Strings will be converted to\n * utf8 byte sequence.\n * - mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes.\n * See constants. Skipped or `false` means Z_NO_FLUSH, `true` meansh Z_FINISH.\n *\n * Sends input data to deflate pipe, generating [[Deflate#onData]] calls with\n * new compressed chunks. Returns `true` on success. The last data block must have\n * mode Z_FINISH (or `true`). That flush internal pending buffers and call\n * [[Deflate#onEnd]].\n *\n * On fail call [[Deflate#onEnd]] with error code and return false.\n *\n * We strongly recommend to use `Uint8Array` on input for best speed (output\n * array format is detected automatically). Also, don't skip last param and always\n * use the same type in your code (boolean or number). That will improve JS speed.\n *\n * For regular `Array`-s make sure all elements are [0..255].\n *\n * ##### Example\n *\n * ```javascript\n * push(chunk, false); // push one of data chunks\n * ...\n * push(chunk, true); // push last chunk\n * ```\n **/\nDeflate.prototype.push = function(data, mode) {\n var strm = this.strm;\n var chunkSize = this.options.chunkSize;\n var status, _mode;\n\n if (this.ended) { return false; }\n\n _mode = (mode === ~~mode) ? mode : ((mode === true) ? Z_FINISH : Z_NO_FLUSH);\n\n // Convert data if needed\n if (typeof data === 'string') {\n // If we need to compress text, change encoding to utf8.\n strm.input = strings.string2buf(data);\n } else {\n strm.input = data;\n }\n\n strm.next_in = 0;\n strm.avail_in = strm.input.length;\n\n do {\n if (strm.avail_out === 0) {\n strm.output = new utils.Buf8(chunkSize);\n strm.next_out = 0;\n strm.avail_out = chunkSize;\n }\n status = zlib_deflate.deflate(strm, _mode); /* no bad return value */\n\n if (status !== Z_STREAM_END && status !== Z_OK) {\n this.onEnd(status);\n this.ended = true;\n return false;\n }\n if (strm.avail_out === 0 || (strm.avail_in === 0 && _mode === Z_FINISH)) {\n if (this.options.to === 'string') {\n this.onData(strings.buf2binstring(utils.shrinkBuf(strm.output, strm.next_out)));\n } else {\n this.onData(utils.shrinkBuf(strm.output, strm.next_out));\n }\n }\n } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== Z_STREAM_END);\n\n // Finalize on the last chunk.\n if (_mode === Z_FINISH) {\n status = zlib_deflate.deflateEnd(this.strm);\n this.onEnd(status);\n this.ended = true;\n return status === Z_OK;\n }\n\n return true;\n};\n\n\n/**\n * Deflate#onData(chunk) -> Void\n * - chunk (Uint8Array|Array|String): ouput data. Type of array depends\n * on js engine support. When string output requested, each chunk\n * will be string.\n *\n * By default, stores data blocks in `chunks[]` property and glue\n * those in `onEnd`. Override this handler, if you need another behaviour.\n **/\nDeflate.prototype.onData = function(chunk) {\n this.chunks.push(chunk);\n};\n\n\n/**\n * Deflate#onEnd(status) -> Void\n * - status (Number): deflate status. 0 (Z_OK) on success,\n * other if not.\n *\n * Called once after you tell deflate that input stream complete\n * or error happenned. By default - join collected chunks,\n * free memory and fill `results` / `err` properties.\n **/\nDeflate.prototype.onEnd = function(status) {\n // On success - join\n if (status === Z_OK) {\n if (this.options.to === 'string') {\n this.result = this.chunks.join('');\n } else {\n this.result = utils.flattenChunks(this.chunks);\n }\n }\n this.chunks = [];\n this.err = status;\n this.msg = this.strm.msg;\n};\n\n\n/**\n * deflate(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * Compress `data` with deflate alrorythm and `options`.\n *\n * Supported options are:\n *\n * - level\n * - windowBits\n * - memLevel\n * - strategy\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Sugar (options):\n *\n * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify\n * negative windowBits implicitly.\n * - `to` (String) - if equal to 'string', then result will be \"binary string\"\n * (each char code [0..255])\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , data = Uint8Array([1,2,3,4,5,6,7,8,9]);\n *\n * console.log(pako.deflate(data));\n * ```\n **/\nfunction deflate(input, options) {\n var deflator = new Deflate(options);\n\n deflator.push(input, true);\n\n // That will never happens, if you don't cheat with options :)\n if (deflator.err) { throw deflator.msg; }\n\n return deflator.result;\n}\n\n\n/**\n * deflateRaw(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * The same as [[deflate]], but creates raw data, without wrapper\n * (header and adler32 crc).\n **/\nfunction deflateRaw(input, options) {\n options = options || {};\n options.raw = true;\n return deflate(input, options);\n}\n\n\n/**\n * gzip(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * The same as [[deflate]], but create gzip wrapper instead of\n * deflate one.\n **/\nfunction gzip(input, options) {\n options = options || {};\n options.gzip = true;\n return deflate(input, options);\n}\n\n\nexports.Deflate = Deflate;\nexports.deflate = deflate;\nexports.deflateRaw = deflateRaw;\nexports.gzip = gzip;\n},{\"./utils/common\":27,\"./utils/strings\":28,\"./zlib/deflate.js\":32,\"./zlib/messages\":37,\"./zlib/zstream\":39}],26:[function(_dereq_,module,exports){\n'use strict';\n\n\nvar zlib_inflate = _dereq_('./zlib/inflate.js');\nvar utils = _dereq_('./utils/common');\nvar strings = _dereq_('./utils/strings');\nvar c = _dereq_('./zlib/constants');\nvar msg = _dereq_('./zlib/messages');\nvar zstream = _dereq_('./zlib/zstream');\nvar gzheader = _dereq_('./zlib/gzheader');\n\n\n/**\n * class Inflate\n *\n * Generic JS-style wrapper for zlib calls. If you don't need\n * streaming behaviour - use more simple functions: [[inflate]]\n * and [[inflateRaw]].\n **/\n\n/* internal\n * inflate.chunks -> Array\n *\n * Chunks of output data, if [[Inflate#onData]] not overriden.\n **/\n\n/**\n * Inflate.result -> Uint8Array|Array|String\n *\n * Uncompressed result, generated by default [[Inflate#onData]]\n * and [[Inflate#onEnd]] handlers. Filled after you push last chunk\n * (call [[Inflate#push]] with `Z_FINISH` / `true` param).\n **/\n\n/**\n * Inflate.err -> Number\n *\n * Error code after inflate finished. 0 (Z_OK) on success.\n * Should be checked if broken data possible.\n **/\n\n/**\n * Inflate.msg -> String\n *\n * Error message, if [[Inflate.err]] != 0\n **/\n\n\n/**\n * new Inflate(options)\n * - options (Object): zlib inflate options.\n *\n * Creates new inflator instance with specified params. Throws exception\n * on bad params. Supported options:\n *\n * - `windowBits`\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Additional options, for internal needs:\n *\n * - `chunkSize` - size of generated data chunks (16K by default)\n * - `raw` (Boolean) - do raw inflate\n * - `to` (String) - if equal to 'string', then result will be converted\n * from utf8 to utf16 (javascript) string. When string output requested,\n * chunk length can differ from `chunkSize`, depending on content.\n *\n * By default, when no options set, autodetect deflate/gzip data format via\n * wrapper header.\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , chunk1 = Uint8Array([1,2,3,4,5,6,7,8,9])\n * , chunk2 = Uint8Array([10,11,12,13,14,15,16,17,18,19]);\n *\n * var inflate = new pako.Inflate({ level: 3});\n *\n * inflate.push(chunk1, false);\n * inflate.push(chunk2, true); // true -> last chunk\n *\n * if (inflate.err) { throw new Error(inflate.err); }\n *\n * console.log(inflate.result);\n * ```\n **/\nvar Inflate = function(options) {\n\n this.options = utils.assign({\n chunkSize: 16384,\n windowBits: 0,\n to: ''\n }, options || {});\n\n var opt = this.options;\n\n // Force window size for `raw` data, if not set directly,\n // because we have no header for autodetect.\n if (opt.raw && (opt.windowBits >= 0) && (opt.windowBits < 16)) {\n opt.windowBits = -opt.windowBits;\n if (opt.windowBits === 0) { opt.windowBits = -15; }\n }\n\n // If `windowBits` not defined (and mode not raw) - set autodetect flag for gzip/deflate\n if ((opt.windowBits >= 0) && (opt.windowBits < 16) &&\n !(options && options.windowBits)) {\n opt.windowBits += 32;\n }\n\n // Gzip header has no info about windows size, we can do autodetect only\n // for deflate. So, if window size not set, force it to max when gzip possible\n if ((opt.windowBits > 15) && (opt.windowBits < 48)) {\n // bit 3 (16) -> gzipped data\n // bit 4 (32) -> autodetect gzip/deflate\n if ((opt.windowBits & 15) === 0) {\n opt.windowBits |= 15;\n }\n }\n\n this.err = 0; // error code, if happens (0 = Z_OK)\n this.msg = ''; // error message\n this.ended = false; // used to avoid multiple onEnd() calls\n this.chunks = []; // chunks of compressed data\n\n this.strm = new zstream();\n this.strm.avail_out = 0;\n\n var status = zlib_inflate.inflateInit2(\n this.strm,\n opt.windowBits\n );\n\n if (status !== c.Z_OK) {\n throw new Error(msg[status]);\n }\n\n this.header = new gzheader();\n\n zlib_inflate.inflateGetHeader(this.strm, this.header);\n};\n\n/**\n * Inflate#push(data[, mode]) -> Boolean\n * - data (Uint8Array|Array|String): input data\n * - mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes.\n * See constants. Skipped or `false` means Z_NO_FLUSH, `true` meansh Z_FINISH.\n *\n * Sends input data to inflate pipe, generating [[Inflate#onData]] calls with\n * new output chunks. Returns `true` on success. The last data block must have\n * mode Z_FINISH (or `true`). That flush internal pending buffers and call\n * [[Inflate#onEnd]].\n *\n * On fail call [[Inflate#onEnd]] with error code and return false.\n *\n * We strongly recommend to use `Uint8Array` on input for best speed (output\n * format is detected automatically). Also, don't skip last param and always\n * use the same type in your code (boolean or number). That will improve JS speed.\n *\n * For regular `Array`-s make sure all elements are [0..255].\n *\n * ##### Example\n *\n * ```javascript\n * push(chunk, false); // push one of data chunks\n * ...\n * push(chunk, true); // push last chunk\n * ```\n **/\nInflate.prototype.push = function(data, mode) {\n var strm = this.strm;\n var chunkSize = this.options.chunkSize;\n var status, _mode;\n var next_out_utf8, tail, utf8str;\n\n if (this.ended) { return false; }\n _mode = (mode === ~~mode) ? mode : ((mode === true) ? c.Z_FINISH : c.Z_NO_FLUSH);\n\n // Convert data if needed\n if (typeof data === 'string') {\n // Only binary strings can be decompressed on practice\n strm.input = strings.binstring2buf(data);\n } else {\n strm.input = data;\n }\n\n strm.next_in = 0;\n strm.avail_in = strm.input.length;\n\n do {\n if (strm.avail_out === 0) {\n strm.output = new utils.Buf8(chunkSize);\n strm.next_out = 0;\n strm.avail_out = chunkSize;\n }\n\n status = zlib_inflate.inflate(strm, c.Z_NO_FLUSH); /* no bad return value */\n\n if (status !== c.Z_STREAM_END && status !== c.Z_OK) {\n this.onEnd(status);\n this.ended = true;\n return false;\n }\n\n if (strm.next_out) {\n if (strm.avail_out === 0 || status === c.Z_STREAM_END || (strm.avail_in === 0 && _mode === c.Z_FINISH)) {\n\n if (this.options.to === 'string') {\n\n next_out_utf8 = strings.utf8border(strm.output, strm.next_out);\n\n tail = strm.next_out - next_out_utf8;\n utf8str = strings.buf2string(strm.output, next_out_utf8);\n\n // move tail\n strm.next_out = tail;\n strm.avail_out = chunkSize - tail;\n if (tail) { utils.arraySet(strm.output, strm.output, next_out_utf8, tail, 0); }\n\n this.onData(utf8str);\n\n } else {\n this.onData(utils.shrinkBuf(strm.output, strm.next_out));\n }\n }\n }\n } while ((strm.avail_in > 0) && status !== c.Z_STREAM_END);\n\n if (status === c.Z_STREAM_END) {\n _mode = c.Z_FINISH;\n }\n // Finalize on the last chunk.\n if (_mode === c.Z_FINISH) {\n status = zlib_inflate.inflateEnd(this.strm);\n this.onEnd(status);\n this.ended = true;\n return status === c.Z_OK;\n }\n\n return true;\n};\n\n\n/**\n * Inflate#onData(chunk) -> Void\n * - chunk (Uint8Array|Array|String): ouput data. Type of array depends\n * on js engine support. When string output requested, each chunk\n * will be string.\n *\n * By default, stores data blocks in `chunks[]` property and glue\n * those in `onEnd`. Override this handler, if you need another behaviour.\n **/\nInflate.prototype.onData = function(chunk) {\n this.chunks.push(chunk);\n};\n\n\n/**\n * Inflate#onEnd(status) -> Void\n * - status (Number): inflate status. 0 (Z_OK) on success,\n * other if not.\n *\n * Called once after you tell inflate that input stream complete\n * or error happenned. By default - join collected chunks,\n * free memory and fill `results` / `err` properties.\n **/\nInflate.prototype.onEnd = function(status) {\n // On success - join\n if (status === c.Z_OK) {\n if (this.options.to === 'string') {\n // Glue & convert here, until we teach pako to send\n // utf8 alligned strings to onData\n this.result = this.chunks.join('');\n } else {\n this.result = utils.flattenChunks(this.chunks);\n }\n }\n this.chunks = [];\n this.err = status;\n this.msg = this.strm.msg;\n};\n\n\n/**\n * inflate(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * Decompress `data` with inflate/ungzip and `options`. Autodetect\n * format via wrapper header by default. That's why we don't provide\n * separate `ungzip` method.\n *\n * Supported options are:\n *\n * - windowBits\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information.\n *\n * Sugar (options):\n *\n * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify\n * negative windowBits implicitly.\n * - `to` (String) - if equal to 'string', then result will be converted\n * from utf8 to utf16 (javascript) string. When string output requested,\n * chunk length can differ from `chunkSize`, depending on content.\n *\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , input = pako.deflate([1,2,3,4,5,6,7,8,9])\n * , output;\n *\n * try {\n * output = pako.inflate(input);\n * } catch (err)\n * console.log(err);\n * }\n * ```\n **/\nfunction inflate(input, options) {\n var inflator = new Inflate(options);\n\n inflator.push(input, true);\n\n // That will never happens, if you don't cheat with options :)\n if (inflator.err) { throw inflator.msg; }\n\n return inflator.result;\n}\n\n\n/**\n * inflateRaw(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * The same as [[inflate]], but creates raw data, without wrapper\n * (header and adler32 crc).\n **/\nfunction inflateRaw(input, options) {\n options = options || {};\n options.raw = true;\n return inflate(input, options);\n}\n\n\n/**\n * ungzip(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * Just shortcut to [[inflate]], because it autodetects format\n * by header.content. Done for convenience.\n **/\n\n\nexports.Inflate = Inflate;\nexports.inflate = inflate;\nexports.inflateRaw = inflateRaw;\nexports.ungzip = inflate;\n\n},{\"./utils/common\":27,\"./utils/strings\":28,\"./zlib/constants\":30,\"./zlib/gzheader\":33,\"./zlib/inflate.js\":35,\"./zlib/messages\":37,\"./zlib/zstream\":39}],27:[function(_dereq_,module,exports){\n'use strict';\n\n\nvar TYPED_OK = (typeof Uint8Array !== 'undefined') &&\n (typeof Uint16Array !== 'undefined') &&\n (typeof Int32Array !== 'undefined');\n\n\nexports.assign = function (obj /*from1, from2, from3, ...*/) {\n var sources = Array.prototype.slice.call(arguments, 1);\n while (sources.length) {\n var source = sources.shift();\n if (!source) { continue; }\n\n if (typeof(source) !== 'object') {\n throw new TypeError(source + 'must be non-object');\n }\n\n for (var p in source) {\n if (source.hasOwnProperty(p)) {\n obj[p] = source[p];\n }\n }\n }\n\n return obj;\n};\n\n\n// reduce buffer size, avoiding mem copy\nexports.shrinkBuf = function (buf, size) {\n if (buf.length === size) { return buf; }\n if (buf.subarray) { return buf.subarray(0, size); }\n buf.length = size;\n return buf;\n};\n\n\nvar fnTyped = {\n arraySet: function (dest, src, src_offs, len, dest_offs) {\n if (src.subarray && dest.subarray) {\n dest.set(src.subarray(src_offs, src_offs+len), dest_offs);\n return;\n }\n // Fallback to ordinary array\n for(var i=0; i= 252 ? 6 : i >= 248 ? 5 : i >= 240 ? 4 : i >= 224 ? 3 : i >= 192 ? 2 : 1);\n}\n_utf8len[254]=_utf8len[254]=1; // Invalid sequence start\n\n\n// convert string to array (typed, when possible)\nexports.string2buf = function (str) {\n var buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0;\n\n // count binary size\n for (m_pos = 0; m_pos < str_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if ((c & 0xfc00) === 0xd800 && (m_pos+1 < str_len)) {\n c2 = str.charCodeAt(m_pos+1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n buf_len += c < 0x80 ? 1 : c < 0x800 ? 2 : c < 0x10000 ? 3 : 4;\n }\n\n // allocate buffer\n buf = new utils.Buf8(buf_len);\n\n // convert\n for (i=0, m_pos = 0; i < buf_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if ((c & 0xfc00) === 0xd800 && (m_pos+1 < str_len)) {\n c2 = str.charCodeAt(m_pos+1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n if (c < 0x80) {\n /* one byte */\n buf[i++] = c;\n } else if (c < 0x800) {\n /* two bytes */\n buf[i++] = 0xC0 | (c >>> 6);\n buf[i++] = 0x80 | (c & 0x3f);\n } else if (c < 0x10000) {\n /* three bytes */\n buf[i++] = 0xE0 | (c >>> 12);\n buf[i++] = 0x80 | (c >>> 6 & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n } else {\n /* four bytes */\n buf[i++] = 0xf0 | (c >>> 18);\n buf[i++] = 0x80 | (c >>> 12 & 0x3f);\n buf[i++] = 0x80 | (c >>> 6 & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n }\n }\n\n return buf;\n};\n\n// Helper (used in 2 places)\nfunction buf2binstring(buf, len) {\n // use fallback for big arrays to avoid stack overflow\n if (len < 65537) {\n if ((buf.subarray && STR_APPLY_UIA_OK) || (!buf.subarray && STR_APPLY_OK)) {\n return String.fromCharCode.apply(null, utils.shrinkBuf(buf, len));\n }\n }\n\n var result = '';\n for(var i=0; i < len; i++) {\n result += String.fromCharCode(buf[i]);\n }\n return result;\n}\n\n\n// Convert byte array to binary string\nexports.buf2binstring = function(buf) {\n return buf2binstring(buf, buf.length);\n};\n\n\n// Convert binary string (typed, when possible)\nexports.binstring2buf = function(str) {\n var buf = new utils.Buf8(str.length);\n for(var i=0, len=buf.length; i < len; i++) {\n buf[i] = str.charCodeAt(i);\n }\n return buf;\n};\n\n\n// convert array to string\nexports.buf2string = function (buf, max) {\n var i, out, c, c_len;\n var len = max || buf.length;\n\n // Reserve max possible length (2 words per char)\n // NB: by unknown reasons, Array is significantly faster for\n // String.fromCharCode.apply than Uint16Array.\n var utf16buf = new Array(len*2);\n\n for (out=0, i=0; i 4) { utf16buf[out++] = 0xfffd; i += c_len-1; continue; }\n\n // apply mask on first byte\n c &= c_len === 2 ? 0x1f : c_len === 3 ? 0x0f : 0x07;\n // join the rest\n while (c_len > 1 && i < len) {\n c = (c << 6) | (buf[i++] & 0x3f);\n c_len--;\n }\n\n // terminated by end of string?\n if (c_len > 1) { utf16buf[out++] = 0xfffd; continue; }\n\n if (c < 0x10000) {\n utf16buf[out++] = c;\n } else {\n c -= 0x10000;\n utf16buf[out++] = 0xd800 | ((c >> 10) & 0x3ff);\n utf16buf[out++] = 0xdc00 | (c & 0x3ff);\n }\n }\n\n return buf2binstring(utf16buf, out);\n};\n\n\n// Calculate max possible position in utf8 buffer,\n// that will not break sequence. If that's not possible\n// - (very small limits) return max size as is.\n//\n// buf[] - utf8 bytes array\n// max - length limit (mandatory);\nexports.utf8border = function(buf, max) {\n var pos;\n\n max = max || buf.length;\n if (max > buf.length) { max = buf.length; }\n\n // go back from last position, until start of sequence found\n pos = max-1;\n while (pos >= 0 && (buf[pos] & 0xC0) === 0x80) { pos--; }\n\n // Fuckup - very small and broken sequence,\n // return max, because we should return something anyway.\n if (pos < 0) { return max; }\n\n // If we came to start of buffer - that means vuffer is too small,\n // return max too.\n if (pos === 0) { return max; }\n\n return (pos + _utf8len[buf[pos]] > max) ? pos : max;\n};\n\n},{\"./common\":27}],29:[function(_dereq_,module,exports){\n'use strict';\n\n// Note: adler32 takes 12% for level 0 and 2% for level 6.\n// It doesn't worth to make additional optimizationa as in original.\n// Small size is preferable.\n\nfunction adler32(adler, buf, len, pos) {\n var s1 = (adler & 0xffff) |0\n , s2 = ((adler >>> 16) & 0xffff) |0\n , n = 0;\n\n while (len !== 0) {\n // Set limit ~ twice less than 5552, to keep\n // s2 in 31-bits, because we force signed ints.\n // in other case %= will fail.\n n = len > 2000 ? 2000 : len;\n len -= n;\n\n do {\n s1 = (s1 + buf[pos++]) |0;\n s2 = (s2 + s1) |0;\n } while (--n);\n\n s1 %= 65521;\n s2 %= 65521;\n }\n\n return (s1 | (s2 << 16)) |0;\n}\n\n\nmodule.exports = adler32;\n},{}],30:[function(_dereq_,module,exports){\nmodule.exports = {\n\n /* Allowed flush values; see deflate() and inflate() below for details */\n Z_NO_FLUSH: 0,\n Z_PARTIAL_FLUSH: 1,\n Z_SYNC_FLUSH: 2,\n Z_FULL_FLUSH: 3,\n Z_FINISH: 4,\n Z_BLOCK: 5,\n Z_TREES: 6,\n\n /* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\n Z_OK: 0,\n Z_STREAM_END: 1,\n Z_NEED_DICT: 2,\n Z_ERRNO: -1,\n Z_STREAM_ERROR: -2,\n Z_DATA_ERROR: -3,\n //Z_MEM_ERROR: -4,\n Z_BUF_ERROR: -5,\n //Z_VERSION_ERROR: -6,\n\n /* compression levels */\n Z_NO_COMPRESSION: 0,\n Z_BEST_SPEED: 1,\n Z_BEST_COMPRESSION: 9,\n Z_DEFAULT_COMPRESSION: -1,\n\n\n Z_FILTERED: 1,\n Z_HUFFMAN_ONLY: 2,\n Z_RLE: 3,\n Z_FIXED: 4,\n Z_DEFAULT_STRATEGY: 0,\n\n /* Possible values of the data_type field (though see inflate()) */\n Z_BINARY: 0,\n Z_TEXT: 1,\n //Z_ASCII: 1, // = Z_TEXT (deprecated)\n Z_UNKNOWN: 2,\n\n /* The deflate compression method */\n Z_DEFLATED: 8\n //Z_NULL: null // Use -1 or null inline, depending on var type\n};\n},{}],31:[function(_dereq_,module,exports){\n'use strict';\n\n// Note: we can't get significant speed boost here.\n// So write code to minimize size - no pregenerated tables\n// and array tools dependencies.\n\n\n// Use ordinary array, since untyped makes no boost here\nfunction makeTable() {\n var c, table = [];\n\n for(var n =0; n < 256; n++){\n c = n;\n for(var k =0; k < 8; k++){\n c = ((c&1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));\n }\n table[n] = c;\n }\n\n return table;\n}\n\n// Create table on load. Just 255 signed longs. Not a problem.\nvar crcTable = makeTable();\n\n\nfunction crc32(crc, buf, len, pos) {\n var t = crcTable\n , end = pos + len;\n\n crc = crc ^ (-1);\n\n for (var i = pos; i < end; i++ ) {\n crc = (crc >>> 8) ^ t[(crc ^ buf[i]) & 0xFF];\n }\n\n return (crc ^ (-1)); // >>> 0;\n}\n\n\nmodule.exports = crc32;\n},{}],32:[function(_dereq_,module,exports){\n'use strict';\n\nvar utils = _dereq_('../utils/common');\nvar trees = _dereq_('./trees');\nvar adler32 = _dereq_('./adler32');\nvar crc32 = _dereq_('./crc32');\nvar msg = _dereq_('./messages');\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n/* Allowed flush values; see deflate() and inflate() below for details */\nvar Z_NO_FLUSH = 0;\nvar Z_PARTIAL_FLUSH = 1;\n//var Z_SYNC_FLUSH = 2;\nvar Z_FULL_FLUSH = 3;\nvar Z_FINISH = 4;\nvar Z_BLOCK = 5;\n//var Z_TREES = 6;\n\n\n/* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\nvar Z_OK = 0;\nvar Z_STREAM_END = 1;\n//var Z_NEED_DICT = 2;\n//var Z_ERRNO = -1;\nvar Z_STREAM_ERROR = -2;\nvar Z_DATA_ERROR = -3;\n//var Z_MEM_ERROR = -4;\nvar Z_BUF_ERROR = -5;\n//var Z_VERSION_ERROR = -6;\n\n\n/* compression levels */\n//var Z_NO_COMPRESSION = 0;\n//var Z_BEST_SPEED = 1;\n//var Z_BEST_COMPRESSION = 9;\nvar Z_DEFAULT_COMPRESSION = -1;\n\n\nvar Z_FILTERED = 1;\nvar Z_HUFFMAN_ONLY = 2;\nvar Z_RLE = 3;\nvar Z_FIXED = 4;\nvar Z_DEFAULT_STRATEGY = 0;\n\n/* Possible values of the data_type field (though see inflate()) */\n//var Z_BINARY = 0;\n//var Z_TEXT = 1;\n//var Z_ASCII = 1; // = Z_TEXT\nvar Z_UNKNOWN = 2;\n\n\n/* The deflate compression method */\nvar Z_DEFLATED = 8;\n\n/*============================================================================*/\n\n\nvar MAX_MEM_LEVEL = 9;\n/* Maximum value for memLevel in deflateInit2 */\nvar MAX_WBITS = 15;\n/* 32K LZ77 window */\nvar DEF_MEM_LEVEL = 8;\n\n\nvar LENGTH_CODES = 29;\n/* number of length codes, not counting the special END_BLOCK code */\nvar LITERALS = 256;\n/* number of literal bytes 0..255 */\nvar L_CODES = LITERALS + 1 + LENGTH_CODES;\n/* number of Literal or Length codes, including the END_BLOCK code */\nvar D_CODES = 30;\n/* number of distance codes */\nvar BL_CODES = 19;\n/* number of codes used to transfer the bit lengths */\nvar HEAP_SIZE = 2*L_CODES + 1;\n/* maximum heap size */\nvar MAX_BITS = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nvar MIN_MATCH = 3;\nvar MAX_MATCH = 258;\nvar MIN_LOOKAHEAD = (MAX_MATCH + MIN_MATCH + 1);\n\nvar PRESET_DICT = 0x20;\n\nvar INIT_STATE = 42;\nvar EXTRA_STATE = 69;\nvar NAME_STATE = 73;\nvar COMMENT_STATE = 91;\nvar HCRC_STATE = 103;\nvar BUSY_STATE = 113;\nvar FINISH_STATE = 666;\n\nvar BS_NEED_MORE = 1; /* block not completed, need more input or more output */\nvar BS_BLOCK_DONE = 2; /* block flush performed */\nvar BS_FINISH_STARTED = 3; /* finish started, need only more output at next deflate */\nvar BS_FINISH_DONE = 4; /* finish done, accept no more input or output */\n\nvar OS_CODE = 0x03; // Unix :) . Don't detect, use this default.\n\nfunction err(strm, errorCode) {\n strm.msg = msg[errorCode];\n return errorCode;\n}\n\nfunction rank(f) {\n return ((f) << 1) - ((f) > 4 ? 9 : 0);\n}\n\nfunction zero(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } }\n\n\n/* =========================================================================\n * Flush as much pending output as possible. All deflate() output goes\n * through this function so some applications may wish to modify it\n * to avoid allocating a large strm->output buffer and copying into it.\n * (See also read_buf()).\n */\nfunction flush_pending(strm) {\n var s = strm.state;\n\n //_tr_flush_bits(s);\n var len = s.pending;\n if (len > strm.avail_out) {\n len = strm.avail_out;\n }\n if (len === 0) { return; }\n\n utils.arraySet(strm.output, s.pending_buf, s.pending_out, len, strm.next_out);\n strm.next_out += len;\n s.pending_out += len;\n strm.total_out += len;\n strm.avail_out -= len;\n s.pending -= len;\n if (s.pending === 0) {\n s.pending_out = 0;\n }\n}\n\n\nfunction flush_block_only (s, last) {\n trees._tr_flush_block(s, (s.block_start >= 0 ? s.block_start : -1), s.strstart - s.block_start, last);\n s.block_start = s.strstart;\n flush_pending(s.strm);\n}\n\n\nfunction put_byte(s, b) {\n s.pending_buf[s.pending++] = b;\n}\n\n\n/* =========================================================================\n * Put a short in the pending buffer. The 16-bit value is put in MSB order.\n * IN assertion: the stream state is correct and there is enough room in\n * pending_buf.\n */\nfunction putShortMSB(s, b) {\n// put_byte(s, (Byte)(b >> 8));\n// put_byte(s, (Byte)(b & 0xff));\n s.pending_buf[s.pending++] = (b >>> 8) & 0xff;\n s.pending_buf[s.pending++] = b & 0xff;\n}\n\n\n/* ===========================================================================\n * Read a new buffer from the current input stream, update the adler32\n * and total number of bytes read. All deflate() input goes through\n * this function so some applications may wish to modify it to avoid\n * allocating a large strm->input buffer and copying from it.\n * (See also flush_pending()).\n */\nfunction read_buf(strm, buf, start, size) {\n var len = strm.avail_in;\n\n if (len > size) { len = size; }\n if (len === 0) { return 0; }\n\n strm.avail_in -= len;\n\n utils.arraySet(buf, strm.input, strm.next_in, len, start);\n if (strm.state.wrap === 1) {\n strm.adler = adler32(strm.adler, buf, len, start);\n }\n\n else if (strm.state.wrap === 2) {\n strm.adler = crc32(strm.adler, buf, len, start);\n }\n\n strm.next_in += len;\n strm.total_in += len;\n\n return len;\n}\n\n\n/* ===========================================================================\n * Set match_start to the longest match starting at the given string and\n * return its length. Matches shorter or equal to prev_length are discarded,\n * in which case the result is equal to prev_length and match_start is\n * garbage.\n * IN assertions: cur_match is the head of the hash chain for the current\n * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1\n * OUT assertion: the match length is not greater than s->lookahead.\n */\nfunction longest_match(s, cur_match) {\n var chain_length = s.max_chain_length; /* max hash chain length */\n var scan = s.strstart; /* current string */\n var match; /* matched string */\n var len; /* length of current match */\n var best_len = s.prev_length; /* best match length so far */\n var nice_match = s.nice_match; /* stop if match long enough */\n var limit = (s.strstart > (s.w_size - MIN_LOOKAHEAD)) ?\n s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0/*NIL*/;\n\n var _win = s.window; // shortcut\n\n var wmask = s.w_mask;\n var prev = s.prev;\n\n /* Stop when cur_match becomes <= limit. To simplify the code,\n * we prevent matches with the string of window index 0.\n */\n\n var strend = s.strstart + MAX_MATCH;\n var scan_end1 = _win[scan + best_len - 1];\n var scan_end = _win[scan + best_len];\n\n /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.\n * It is easy to get rid of this optimization if necessary.\n */\n // Assert(s->hash_bits >= 8 && MAX_MATCH == 258, \"Code too clever\");\n\n /* Do not waste too much time if we already have a good match: */\n if (s.prev_length >= s.good_match) {\n chain_length >>= 2;\n }\n /* Do not look for matches beyond the end of the input. This is necessary\n * to make deflate deterministic.\n */\n if (nice_match > s.lookahead) { nice_match = s.lookahead; }\n\n // Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, \"need lookahead\");\n\n do {\n // Assert(cur_match < s->strstart, \"no future\");\n match = cur_match;\n\n /* Skip to next match if the match length cannot increase\n * or if the match length is less than 2. Note that the checks below\n * for insufficient lookahead only occur occasionally for performance\n * reasons. Therefore uninitialized memory will be accessed, and\n * conditional jumps will be made that depend on those values.\n * However the length of the match is limited to the lookahead, so\n * the output of deflate is not affected by the uninitialized values.\n */\n\n if (_win[match + best_len] !== scan_end ||\n _win[match + best_len - 1] !== scan_end1 ||\n _win[match] !== _win[scan] ||\n _win[++match] !== _win[scan + 1]) {\n continue;\n }\n\n /* The check at best_len-1 can be removed because it will be made\n * again later. (This heuristic is not always a win.)\n * It is not necessary to compare scan[2] and match[2] since they\n * are always equal when the other bytes match, given that\n * the hash keys are equal and that HASH_BITS >= 8.\n */\n scan += 2;\n match++;\n // Assert(*scan == *match, \"match[2]?\");\n\n /* We check for insufficient lookahead only every 8th comparison;\n * the 256th check will be made at strstart+258.\n */\n do {\n /*jshint noempty:false*/\n } while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n scan < strend);\n\n // Assert(scan <= s->window+(unsigned)(s->window_size-1), \"wild scan\");\n\n len = MAX_MATCH - (strend - scan);\n scan = strend - MAX_MATCH;\n\n if (len > best_len) {\n s.match_start = cur_match;\n best_len = len;\n if (len >= nice_match) {\n break;\n }\n scan_end1 = _win[scan + best_len - 1];\n scan_end = _win[scan + best_len];\n }\n } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0);\n\n if (best_len <= s.lookahead) {\n return best_len;\n }\n return s.lookahead;\n}\n\n\n/* ===========================================================================\n * Fill the window when the lookahead becomes insufficient.\n * Updates strstart and lookahead.\n *\n * IN assertion: lookahead < MIN_LOOKAHEAD\n * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD\n * At least one byte has been read, or avail_in == 0; reads are\n * performed for at least two bytes (required for the zip translate_eol\n * option -- not supported here).\n */\nfunction fill_window(s) {\n var _w_size = s.w_size;\n var p, n, m, more, str;\n\n //Assert(s->lookahead < MIN_LOOKAHEAD, \"already enough lookahead\");\n\n do {\n more = s.window_size - s.lookahead - s.strstart;\n\n // JS ints have 32 bit, block below not needed\n /* Deal with !@#$% 64K limit: */\n //if (sizeof(int) <= 2) {\n // if (more == 0 && s->strstart == 0 && s->lookahead == 0) {\n // more = wsize;\n //\n // } else if (more == (unsigned)(-1)) {\n // /* Very unlikely, but possible on 16 bit machine if\n // * strstart == 0 && lookahead == 1 (input done a byte at time)\n // */\n // more--;\n // }\n //}\n\n\n /* If the window is almost full and there is insufficient lookahead,\n * move the upper half to the lower one to make room in the upper half.\n */\n if (s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) {\n\n utils.arraySet(s.window, s.window, _w_size, _w_size, 0);\n s.match_start -= _w_size;\n s.strstart -= _w_size;\n /* we now have strstart >= MAX_DIST */\n s.block_start -= _w_size;\n\n /* Slide the hash table (could be avoided with 32 bit values\n at the expense of memory usage). We slide even when level == 0\n to keep the hash table consistent if we switch back to level > 0\n later. (Using level 0 permanently is not an optimal usage of\n zlib, so we don't care about this pathological case.)\n */\n\n n = s.hash_size;\n p = n;\n do {\n m = s.head[--p];\n s.head[p] = (m >= _w_size ? m - _w_size : 0);\n } while (--n);\n\n n = _w_size;\n p = n;\n do {\n m = s.prev[--p];\n s.prev[p] = (m >= _w_size ? m - _w_size : 0);\n /* If n is not on any hash chain, prev[n] is garbage but\n * its value will never be used.\n */\n } while (--n);\n\n more += _w_size;\n }\n if (s.strm.avail_in === 0) {\n break;\n }\n\n /* If there was no sliding:\n * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&\n * more == window_size - lookahead - strstart\n * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)\n * => more >= window_size - 2*WSIZE + 2\n * In the BIG_MEM or MMAP case (not yet supported),\n * window_size == input_size + MIN_LOOKAHEAD &&\n * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.\n * Otherwise, window_size == 2*WSIZE so more >= 2.\n * If there was sliding, more >= WSIZE. So in all cases, more >= 2.\n */\n //Assert(more >= 2, \"more < 2\");\n n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more);\n s.lookahead += n;\n\n /* Initialize the hash value now that we have some input: */\n if (s.lookahead + s.insert >= MIN_MATCH) {\n str = s.strstart - s.insert;\n s.ins_h = s.window[str];\n\n /* UPDATE_HASH(s, s->ins_h, s->window[str + 1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + 1]) & s.hash_mask;\n//#if MIN_MATCH != 3\n// Call update_hash() MIN_MATCH-3 more times\n//#endif\n while (s.insert) {\n /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH-1]) & s.hash_mask;\n\n s.prev[str & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = str;\n str++;\n s.insert--;\n if (s.lookahead + s.insert < MIN_MATCH) {\n break;\n }\n }\n }\n /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,\n * but this is not important since only literal bytes will be emitted.\n */\n\n } while (s.lookahead < MIN_LOOKAHEAD && s.strm.avail_in !== 0);\n\n /* If the WIN_INIT bytes after the end of the current data have never been\n * written, then zero those bytes in order to avoid memory check reports of\n * the use of uninitialized (or uninitialised as Julian writes) bytes by\n * the longest match routines. Update the high water mark for the next\n * time through here. WIN_INIT is set to MAX_MATCH since the longest match\n * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead.\n */\n// if (s.high_water < s.window_size) {\n// var curr = s.strstart + s.lookahead;\n// var init = 0;\n//\n// if (s.high_water < curr) {\n// /* Previous high water mark below current data -- zero WIN_INIT\n// * bytes or up to end of window, whichever is less.\n// */\n// init = s.window_size - curr;\n// if (init > WIN_INIT)\n// init = WIN_INIT;\n// zmemzero(s->window + curr, (unsigned)init);\n// s->high_water = curr + init;\n// }\n// else if (s->high_water < (ulg)curr + WIN_INIT) {\n// /* High water mark at or above current data, but below current data\n// * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up\n// * to end of window, whichever is less.\n// */\n// init = (ulg)curr + WIN_INIT - s->high_water;\n// if (init > s->window_size - s->high_water)\n// init = s->window_size - s->high_water;\n// zmemzero(s->window + s->high_water, (unsigned)init);\n// s->high_water += init;\n// }\n// }\n//\n// Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD,\n// \"not enough room for search\");\n}\n\n/* ===========================================================================\n * Copy without compression as much as possible from the input stream, return\n * the current block state.\n * This function does not insert new strings in the dictionary since\n * uncompressible data is probably not useful. This function is used\n * only for the level=0 compression option.\n * NOTE: this function should be optimized to avoid extra copying from\n * window to pending_buf.\n */\nfunction deflate_stored(s, flush) {\n /* Stored blocks are limited to 0xffff bytes, pending_buf is limited\n * to pending_buf_size, and each stored block has a 5 byte header:\n */\n var max_block_size = 0xffff;\n\n if (max_block_size > s.pending_buf_size - 5) {\n max_block_size = s.pending_buf_size - 5;\n }\n\n /* Copy as much as possible from input to output: */\n for (;;) {\n /* Fill the window as much as possible: */\n if (s.lookahead <= 1) {\n\n //Assert(s->strstart < s->w_size+MAX_DIST(s) ||\n // s->block_start >= (long)s->w_size, \"slide too late\");\n// if (!(s.strstart < s.w_size + (s.w_size - MIN_LOOKAHEAD) ||\n// s.block_start >= s.w_size)) {\n// throw new Error(\"slide too late\");\n// }\n\n fill_window(s);\n if (s.lookahead === 0 && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n\n if (s.lookahead === 0) {\n break;\n }\n /* flush the current block */\n }\n //Assert(s->block_start >= 0L, \"block gone\");\n// if (s.block_start < 0) throw new Error(\"block gone\");\n\n s.strstart += s.lookahead;\n s.lookahead = 0;\n\n /* Emit a stored block if pending_buf will be full: */\n var max_start = s.block_start + max_block_size;\n\n if (s.strstart === 0 || s.strstart >= max_start) {\n /* strstart == 0 is possible when wraparound on 16-bit machine */\n s.lookahead = s.strstart - max_start;\n s.strstart = max_start;\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n\n\n }\n /* Flush if we may have to slide, otherwise block_start may become\n * negative and the data will be gone:\n */\n if (s.strstart - s.block_start >= (s.w_size - MIN_LOOKAHEAD)) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n\n s.insert = 0;\n\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n\n if (s.strstart > s.block_start) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n return BS_NEED_MORE;\n}\n\n/* ===========================================================================\n * Compress as much as possible from the input stream, return the current\n * block state.\n * This function does not perform lazy evaluation of matches and inserts\n * new strings in the dictionary only for unmatched strings or for short\n * matches. It is used only for the fast compression options.\n */\nfunction deflate_fast(s, flush) {\n var hash_head; /* head of the hash chain */\n var bflush; /* set if current block must be flushed */\n\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the next match, plus MIN_MATCH bytes to insert the\n * string following the next match.\n */\n if (s.lookahead < MIN_LOOKAHEAD) {\n fill_window(s);\n if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) {\n break; /* flush the current block */\n }\n }\n\n /* Insert the string window[strstart .. strstart+2] in the\n * dictionary, and set hash_head to the head of the hash chain:\n */\n hash_head = 0/*NIL*/;\n if (s.lookahead >= MIN_MATCH) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n\n /* Find the longest match, discarding those <= prev_length.\n * At this point we have always match_length < MIN_MATCH\n */\n if (hash_head !== 0/*NIL*/ && ((s.strstart - hash_head) <= (s.w_size - MIN_LOOKAHEAD))) {\n /* To simplify the code, we prevent matches with the string\n * of window index 0 (in particular we have to avoid a match\n * of the string with itself at the start of the input file).\n */\n s.match_length = longest_match(s, hash_head);\n /* longest_match() sets match_start */\n }\n if (s.match_length >= MIN_MATCH) {\n // check_match(s, s.strstart, s.match_start, s.match_length); // for debug only\n\n /*** _tr_tally_dist(s, s.strstart - s.match_start,\n s.match_length - MIN_MATCH, bflush); ***/\n bflush = trees._tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH);\n\n s.lookahead -= s.match_length;\n\n /* Insert new strings in the hash table only if the match length\n * is not too large. This saves time but degrades compression.\n */\n if (s.match_length <= s.max_lazy_match/*max_insert_length*/ && s.lookahead >= MIN_MATCH) {\n s.match_length--; /* string at strstart already in table */\n do {\n s.strstart++;\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n /* strstart never exceeds WSIZE-MAX_MATCH, so there are\n * always MIN_MATCH bytes ahead.\n */\n } while (--s.match_length !== 0);\n s.strstart++;\n } else\n {\n s.strstart += s.match_length;\n s.match_length = 0;\n s.ins_h = s.window[s.strstart];\n /* UPDATE_HASH(s, s.ins_h, s.window[s.strstart+1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + 1]) & s.hash_mask;\n\n//#if MIN_MATCH != 3\n// Call UPDATE_HASH() MIN_MATCH-3 more times\n//#endif\n /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not\n * matter since it will be recomputed at next deflate call.\n */\n }\n } else {\n /* No match, output a literal byte */\n //Tracevv((stderr,\"%c\", s.window[s.strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n\n s.lookahead--;\n s.strstart++;\n }\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = ((s.strstart < (MIN_MATCH-1)) ? s.strstart : MIN_MATCH-1);\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n}\n\n/* ===========================================================================\n * Same as above, but achieves better compression. We use a lazy\n * evaluation for matches: a match is finally adopted only if there is\n * no better match at the next window position.\n */\nfunction deflate_slow(s, flush) {\n var hash_head; /* head of hash chain */\n var bflush; /* set if current block must be flushed */\n\n var max_insert;\n\n /* Process the input block. */\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the next match, plus MIN_MATCH bytes to insert the\n * string following the next match.\n */\n if (s.lookahead < MIN_LOOKAHEAD) {\n fill_window(s);\n if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) { break; } /* flush the current block */\n }\n\n /* Insert the string window[strstart .. strstart+2] in the\n * dictionary, and set hash_head to the head of the hash chain:\n */\n hash_head = 0/*NIL*/;\n if (s.lookahead >= MIN_MATCH) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n\n /* Find the longest match, discarding those <= prev_length.\n */\n s.prev_length = s.match_length;\n s.prev_match = s.match_start;\n s.match_length = MIN_MATCH-1;\n\n if (hash_head !== 0/*NIL*/ && s.prev_length < s.max_lazy_match &&\n s.strstart - hash_head <= (s.w_size-MIN_LOOKAHEAD)/*MAX_DIST(s)*/) {\n /* To simplify the code, we prevent matches with the string\n * of window index 0 (in particular we have to avoid a match\n * of the string with itself at the start of the input file).\n */\n s.match_length = longest_match(s, hash_head);\n /* longest_match() sets match_start */\n\n if (s.match_length <= 5 &&\n (s.strategy === Z_FILTERED || (s.match_length === MIN_MATCH && s.strstart - s.match_start > 4096/*TOO_FAR*/))) {\n\n /* If prev_match is also MIN_MATCH, match_start is garbage\n * but we will ignore the current match anyway.\n */\n s.match_length = MIN_MATCH-1;\n }\n }\n /* If there was a match at the previous step and the current\n * match is not better, output the previous match:\n */\n if (s.prev_length >= MIN_MATCH && s.match_length <= s.prev_length) {\n max_insert = s.strstart + s.lookahead - MIN_MATCH;\n /* Do not insert strings in hash table beyond this. */\n\n //check_match(s, s.strstart-1, s.prev_match, s.prev_length);\n\n /***_tr_tally_dist(s, s.strstart - 1 - s.prev_match,\n s.prev_length - MIN_MATCH, bflush);***/\n bflush = trees._tr_tally(s, s.strstart - 1- s.prev_match, s.prev_length - MIN_MATCH);\n /* Insert in hash table all strings up to the end of the match.\n * strstart-1 and strstart are already inserted. If there is not\n * enough lookahead, the last two strings are not inserted in\n * the hash table.\n */\n s.lookahead -= s.prev_length-1;\n s.prev_length -= 2;\n do {\n if (++s.strstart <= max_insert) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n } while (--s.prev_length !== 0);\n s.match_available = 0;\n s.match_length = MIN_MATCH-1;\n s.strstart++;\n\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n } else if (s.match_available) {\n /* If there was no match at the previous position, output a\n * single literal. If there was a match but the current match\n * is longer, truncate the previous match to a single literal.\n */\n //Tracevv((stderr,\"%c\", s->window[s->strstart-1]));\n /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart-1]);\n\n if (bflush) {\n /*** FLUSH_BLOCK_ONLY(s, 0) ***/\n flush_block_only(s, false);\n /***/\n }\n s.strstart++;\n s.lookahead--;\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n } else {\n /* There is no previous match to compare with, wait for\n * the next step to decide.\n */\n s.match_available = 1;\n s.strstart++;\n s.lookahead--;\n }\n }\n //Assert (flush != Z_NO_FLUSH, \"no flush?\");\n if (s.match_available) {\n //Tracevv((stderr,\"%c\", s->window[s->strstart-1]));\n /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart-1]);\n\n s.match_available = 0;\n }\n s.insert = s.strstart < MIN_MATCH-1 ? s.strstart : MIN_MATCH-1;\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n return BS_BLOCK_DONE;\n}\n\n\n/* ===========================================================================\n * For Z_RLE, simply look for runs of bytes, generate matches only of distance\n * one. Do not maintain a hash table. (It will be regenerated if this run of\n * deflate switches away from Z_RLE.)\n */\nfunction deflate_rle(s, flush) {\n var bflush; /* set if current block must be flushed */\n var prev; /* byte at distance one to match */\n var scan, strend; /* scan goes up to strend for length of run */\n\n var _win = s.window;\n\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the longest run, plus one for the unrolled loop.\n */\n if (s.lookahead <= MAX_MATCH) {\n fill_window(s);\n if (s.lookahead <= MAX_MATCH && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) { break; } /* flush the current block */\n }\n\n /* See how many times the previous byte repeats */\n s.match_length = 0;\n if (s.lookahead >= MIN_MATCH && s.strstart > 0) {\n scan = s.strstart - 1;\n prev = _win[scan];\n if (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) {\n strend = s.strstart + MAX_MATCH;\n do {\n /*jshint noempty:false*/\n } while (prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n scan < strend);\n s.match_length = MAX_MATCH - (strend - scan);\n if (s.match_length > s.lookahead) {\n s.match_length = s.lookahead;\n }\n }\n //Assert(scan <= s->window+(uInt)(s->window_size-1), \"wild scan\");\n }\n\n /* Emit match if have run of MIN_MATCH or longer, else emit literal */\n if (s.match_length >= MIN_MATCH) {\n //check_match(s, s.strstart, s.strstart - 1, s.match_length);\n\n /*** _tr_tally_dist(s, 1, s.match_length - MIN_MATCH, bflush); ***/\n bflush = trees._tr_tally(s, 1, s.match_length - MIN_MATCH);\n\n s.lookahead -= s.match_length;\n s.strstart += s.match_length;\n s.match_length = 0;\n } else {\n /* No match, output a literal byte */\n //Tracevv((stderr,\"%c\", s->window[s->strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n\n s.lookahead--;\n s.strstart++;\n }\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = 0;\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n}\n\n/* ===========================================================================\n * For Z_HUFFMAN_ONLY, do not look for matches. Do not maintain a hash table.\n * (It will be regenerated if this run of deflate switches away from Huffman.)\n */\nfunction deflate_huff(s, flush) {\n var bflush; /* set if current block must be flushed */\n\n for (;;) {\n /* Make sure that we have a literal to write. */\n if (s.lookahead === 0) {\n fill_window(s);\n if (s.lookahead === 0) {\n if (flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n break; /* flush the current block */\n }\n }\n\n /* Output a literal byte */\n s.match_length = 0;\n //Tracevv((stderr,\"%c\", s->window[s->strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n s.lookahead--;\n s.strstart++;\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = 0;\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n}\n\n/* Values for max_lazy_match, good_match and max_chain_length, depending on\n * the desired pack level (0..9). The values given below have been tuned to\n * exclude worst case performance for pathological files. Better values may be\n * found for specific files.\n */\nvar Config = function (good_length, max_lazy, nice_length, max_chain, func) {\n this.good_length = good_length;\n this.max_lazy = max_lazy;\n this.nice_length = nice_length;\n this.max_chain = max_chain;\n this.func = func;\n};\n\nvar configuration_table;\n\nconfiguration_table = [\n /* good lazy nice chain */\n new Config(0, 0, 0, 0, deflate_stored), /* 0 store only */\n new Config(4, 4, 8, 4, deflate_fast), /* 1 max speed, no lazy matches */\n new Config(4, 5, 16, 8, deflate_fast), /* 2 */\n new Config(4, 6, 32, 32, deflate_fast), /* 3 */\n\n new Config(4, 4, 16, 16, deflate_slow), /* 4 lazy matches */\n new Config(8, 16, 32, 32, deflate_slow), /* 5 */\n new Config(8, 16, 128, 128, deflate_slow), /* 6 */\n new Config(8, 32, 128, 256, deflate_slow), /* 7 */\n new Config(32, 128, 258, 1024, deflate_slow), /* 8 */\n new Config(32, 258, 258, 4096, deflate_slow) /* 9 max compression */\n];\n\n\n/* ===========================================================================\n * Initialize the \"longest match\" routines for a new zlib stream\n */\nfunction lm_init(s) {\n s.window_size = 2 * s.w_size;\n\n /*** CLEAR_HASH(s); ***/\n zero(s.head); // Fill with NIL (= 0);\n\n /* Set the default configuration parameters:\n */\n s.max_lazy_match = configuration_table[s.level].max_lazy;\n s.good_match = configuration_table[s.level].good_length;\n s.nice_match = configuration_table[s.level].nice_length;\n s.max_chain_length = configuration_table[s.level].max_chain;\n\n s.strstart = 0;\n s.block_start = 0;\n s.lookahead = 0;\n s.insert = 0;\n s.match_length = s.prev_length = MIN_MATCH - 1;\n s.match_available = 0;\n s.ins_h = 0;\n}\n\n\nfunction DeflateState() {\n this.strm = null; /* pointer back to this zlib stream */\n this.status = 0; /* as the name implies */\n this.pending_buf = null; /* output still pending */\n this.pending_buf_size = 0; /* size of pending_buf */\n this.pending_out = 0; /* next pending byte to output to the stream */\n this.pending = 0; /* nb of bytes in the pending buffer */\n this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */\n this.gzhead = null; /* gzip header information to write */\n this.gzindex = 0; /* where in extra, name, or comment */\n this.method = Z_DEFLATED; /* can only be DEFLATED */\n this.last_flush = -1; /* value of flush param for previous deflate call */\n\n this.w_size = 0; /* LZ77 window size (32K by default) */\n this.w_bits = 0; /* log2(w_size) (8..16) */\n this.w_mask = 0; /* w_size - 1 */\n\n this.window = null;\n /* Sliding window. Input bytes are read into the second half of the window,\n * and move to the first half later to keep a dictionary of at least wSize\n * bytes. With this organization, matches are limited to a distance of\n * wSize-MAX_MATCH bytes, but this ensures that IO is always\n * performed with a length multiple of the block size.\n */\n\n this.window_size = 0;\n /* Actual size of window: 2*wSize, except when the user input buffer\n * is directly used as sliding window.\n */\n\n this.prev = null;\n /* Link to older string with same hash index. To limit the size of this\n * array to 64K, this link is maintained only for the last 32K strings.\n * An index in this array is thus a window index modulo 32K.\n */\n\n this.head = null; /* Heads of the hash chains or NIL. */\n\n this.ins_h = 0; /* hash index of string to be inserted */\n this.hash_size = 0; /* number of elements in hash table */\n this.hash_bits = 0; /* log2(hash_size) */\n this.hash_mask = 0; /* hash_size-1 */\n\n this.hash_shift = 0;\n /* Number of bits by which ins_h must be shifted at each input\n * step. It must be such that after MIN_MATCH steps, the oldest\n * byte no longer takes part in the hash key, that is:\n * hash_shift * MIN_MATCH >= hash_bits\n */\n\n this.block_start = 0;\n /* Window position at the beginning of the current output block. Gets\n * negative when the window is moved backwards.\n */\n\n this.match_length = 0; /* length of best match */\n this.prev_match = 0; /* previous match */\n this.match_available = 0; /* set if previous match exists */\n this.strstart = 0; /* start of string to insert */\n this.match_start = 0; /* start of matching string */\n this.lookahead = 0; /* number of valid bytes ahead in window */\n\n this.prev_length = 0;\n /* Length of the best match at previous step. Matches not greater than this\n * are discarded. This is used in the lazy match evaluation.\n */\n\n this.max_chain_length = 0;\n /* To speed up deflation, hash chains are never searched beyond this\n * length. A higher limit improves compression ratio but degrades the\n * speed.\n */\n\n this.max_lazy_match = 0;\n /* Attempt to find a better match only when the current match is strictly\n * smaller than this value. This mechanism is used only for compression\n * levels >= 4.\n */\n // That's alias to max_lazy_match, don't use directly\n //this.max_insert_length = 0;\n /* Insert new strings in the hash table only if the match length is not\n * greater than this length. This saves time but degrades compression.\n * max_insert_length is used only for compression levels <= 3.\n */\n\n this.level = 0; /* compression level (1..9) */\n this.strategy = 0; /* favor or force Huffman coding*/\n\n this.good_match = 0;\n /* Use a faster search when the previous match is longer than this */\n\n this.nice_match = 0; /* Stop searching when current match exceeds this */\n\n /* used by trees.c: */\n\n /* Didn't use ct_data typedef below to suppress compiler warning */\n\n // struct ct_data_s dyn_ltree[HEAP_SIZE]; /* literal and length tree */\n // struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */\n // struct ct_data_s bl_tree[2*BL_CODES+1]; /* Huffman tree for bit lengths */\n\n // Use flat array of DOUBLE size, with interleaved fata,\n // because JS does not support effective\n this.dyn_ltree = new utils.Buf16(HEAP_SIZE * 2);\n this.dyn_dtree = new utils.Buf16((2*D_CODES+1) * 2);\n this.bl_tree = new utils.Buf16((2*BL_CODES+1) * 2);\n zero(this.dyn_ltree);\n zero(this.dyn_dtree);\n zero(this.bl_tree);\n\n this.l_desc = null; /* desc. for literal tree */\n this.d_desc = null; /* desc. for distance tree */\n this.bl_desc = null; /* desc. for bit length tree */\n\n //ush bl_count[MAX_BITS+1];\n this.bl_count = new utils.Buf16(MAX_BITS+1);\n /* number of codes at each bit length for an optimal tree */\n\n //int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */\n this.heap = new utils.Buf16(2*L_CODES+1); /* heap used to build the Huffman trees */\n zero(this.heap);\n\n this.heap_len = 0; /* number of elements in the heap */\n this.heap_max = 0; /* element of largest frequency */\n /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used.\n * The same heap array is used to build all trees.\n */\n\n this.depth = new utils.Buf16(2*L_CODES+1); //uch depth[2*L_CODES+1];\n zero(this.depth);\n /* Depth of each subtree used as tie breaker for trees of equal frequency\n */\n\n this.l_buf = 0; /* buffer index for literals or lengths */\n\n this.lit_bufsize = 0;\n /* Size of match buffer for literals/lengths. There are 4 reasons for\n * limiting lit_bufsize to 64K:\n * - frequencies can be kept in 16 bit counters\n * - if compression is not successful for the first block, all input\n * data is still in the window so we can still emit a stored block even\n * when input comes from standard input. (This can also be done for\n * all blocks if lit_bufsize is not greater than 32K.)\n * - if compression is not successful for a file smaller than 64K, we can\n * even emit a stored file instead of a stored block (saving 5 bytes).\n * This is applicable only for zip (not gzip or zlib).\n * - creating new Huffman trees less frequently may not provide fast\n * adaptation to changes in the input data statistics. (Take for\n * example a binary file with poorly compressible code followed by\n * a highly compressible string table.) Smaller buffer sizes give\n * fast adaptation but have of course the overhead of transmitting\n * trees more frequently.\n * - I can't count above 4\n */\n\n this.last_lit = 0; /* running index in l_buf */\n\n this.d_buf = 0;\n /* Buffer index for distances. To simplify the code, d_buf and l_buf have\n * the same number of elements. To use different lengths, an extra flag\n * array would be necessary.\n */\n\n this.opt_len = 0; /* bit length of current block with optimal trees */\n this.static_len = 0; /* bit length of current block with static trees */\n this.matches = 0; /* number of string matches in current block */\n this.insert = 0; /* bytes at end of window left to insert */\n\n\n this.bi_buf = 0;\n /* Output buffer. bits are inserted starting at the bottom (least\n * significant bits).\n */\n this.bi_valid = 0;\n /* Number of valid bits in bi_buf. All bits above the last valid bit\n * are always zero.\n */\n\n // Used for window memory init. We safely ignore it for JS. That makes\n // sense only for pointers and memory check tools.\n //this.high_water = 0;\n /* High water mark offset in window for initialized bytes -- bytes above\n * this are set to zero in order to avoid memory check warnings when\n * longest match routines access bytes past the input. This is then\n * updated to the new high water mark.\n */\n}\n\n\nfunction deflateResetKeep(strm) {\n var s;\n\n if (!strm || !strm.state) {\n return err(strm, Z_STREAM_ERROR);\n }\n\n strm.total_in = strm.total_out = 0;\n strm.data_type = Z_UNKNOWN;\n\n s = strm.state;\n s.pending = 0;\n s.pending_out = 0;\n\n if (s.wrap < 0) {\n s.wrap = -s.wrap;\n /* was made negative by deflate(..., Z_FINISH); */\n }\n s.status = (s.wrap ? INIT_STATE : BUSY_STATE);\n strm.adler = (s.wrap === 2) ?\n 0 // crc32(0, Z_NULL, 0)\n :\n 1; // adler32(0, Z_NULL, 0)\n s.last_flush = Z_NO_FLUSH;\n trees._tr_init(s);\n return Z_OK;\n}\n\n\nfunction deflateReset(strm) {\n var ret = deflateResetKeep(strm);\n if (ret === Z_OK) {\n lm_init(strm.state);\n }\n return ret;\n}\n\n\nfunction deflateSetHeader(strm, head) {\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n if (strm.state.wrap !== 2) { return Z_STREAM_ERROR; }\n strm.state.gzhead = head;\n return Z_OK;\n}\n\n\nfunction deflateInit2(strm, level, method, windowBits, memLevel, strategy) {\n if (!strm) { // === Z_NULL\n return Z_STREAM_ERROR;\n }\n var wrap = 1;\n\n if (level === Z_DEFAULT_COMPRESSION) {\n level = 6;\n }\n\n if (windowBits < 0) { /* suppress zlib wrapper */\n wrap = 0;\n windowBits = -windowBits;\n }\n\n else if (windowBits > 15) {\n wrap = 2; /* write gzip wrapper instead */\n windowBits -= 16;\n }\n\n\n if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED ||\n windowBits < 8 || windowBits > 15 || level < 0 || level > 9 ||\n strategy < 0 || strategy > Z_FIXED) {\n return err(strm, Z_STREAM_ERROR);\n }\n\n\n if (windowBits === 8) {\n windowBits = 9;\n }\n /* until 256-byte window bug fixed */\n\n var s = new DeflateState();\n\n strm.state = s;\n s.strm = strm;\n\n s.wrap = wrap;\n s.gzhead = null;\n s.w_bits = windowBits;\n s.w_size = 1 << s.w_bits;\n s.w_mask = s.w_size - 1;\n\n s.hash_bits = memLevel + 7;\n s.hash_size = 1 << s.hash_bits;\n s.hash_mask = s.hash_size - 1;\n s.hash_shift = ~~((s.hash_bits + MIN_MATCH - 1) / MIN_MATCH);\n\n s.window = new utils.Buf8(s.w_size * 2);\n s.head = new utils.Buf16(s.hash_size);\n s.prev = new utils.Buf16(s.w_size);\n\n // Don't need mem init magic for JS.\n //s.high_water = 0; /* nothing written to s->window yet */\n\n s.lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */\n\n s.pending_buf_size = s.lit_bufsize * 4;\n s.pending_buf = new utils.Buf8(s.pending_buf_size);\n\n s.d_buf = s.lit_bufsize >> 1;\n s.l_buf = (1 + 2) * s.lit_bufsize;\n\n s.level = level;\n s.strategy = strategy;\n s.method = method;\n\n return deflateReset(strm);\n}\n\nfunction deflateInit(strm, level) {\n return deflateInit2(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY);\n}\n\n\nfunction deflate(strm, flush) {\n var old_flush, s;\n var beg, val; // for gzip header write only\n\n if (!strm || !strm.state ||\n flush > Z_BLOCK || flush < 0) {\n return strm ? err(strm, Z_STREAM_ERROR) : Z_STREAM_ERROR;\n }\n\n s = strm.state;\n\n if (!strm.output ||\n (!strm.input && strm.avail_in !== 0) ||\n (s.status === FINISH_STATE && flush !== Z_FINISH)) {\n return err(strm, (strm.avail_out === 0) ? Z_BUF_ERROR : Z_STREAM_ERROR);\n }\n\n s.strm = strm; /* just in case */\n old_flush = s.last_flush;\n s.last_flush = flush;\n\n /* Write the header */\n if (s.status === INIT_STATE) {\n\n if (s.wrap === 2) { // GZIP header\n strm.adler = 0; //crc32(0L, Z_NULL, 0);\n put_byte(s, 31);\n put_byte(s, 139);\n put_byte(s, 8);\n if (!s.gzhead) { // s->gzhead == Z_NULL\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, s.level === 9 ? 2 :\n (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n 4 : 0));\n put_byte(s, OS_CODE);\n s.status = BUSY_STATE;\n }\n else {\n put_byte(s, (s.gzhead.text ? 1 : 0) +\n (s.gzhead.hcrc ? 2 : 0) +\n (!s.gzhead.extra ? 0 : 4) +\n (!s.gzhead.name ? 0 : 8) +\n (!s.gzhead.comment ? 0 : 16)\n );\n put_byte(s, s.gzhead.time & 0xff);\n put_byte(s, (s.gzhead.time >> 8) & 0xff);\n put_byte(s, (s.gzhead.time >> 16) & 0xff);\n put_byte(s, (s.gzhead.time >> 24) & 0xff);\n put_byte(s, s.level === 9 ? 2 :\n (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n 4 : 0));\n put_byte(s, s.gzhead.os & 0xff);\n if (s.gzhead.extra && s.gzhead.extra.length) {\n put_byte(s, s.gzhead.extra.length & 0xff);\n put_byte(s, (s.gzhead.extra.length >> 8) & 0xff);\n }\n if (s.gzhead.hcrc) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending, 0);\n }\n s.gzindex = 0;\n s.status = EXTRA_STATE;\n }\n }\n else // DEFLATE header\n {\n var header = (Z_DEFLATED + ((s.w_bits - 8) << 4)) << 8;\n var level_flags = -1;\n\n if (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2) {\n level_flags = 0;\n } else if (s.level < 6) {\n level_flags = 1;\n } else if (s.level === 6) {\n level_flags = 2;\n } else {\n level_flags = 3;\n }\n header |= (level_flags << 6);\n if (s.strstart !== 0) { header |= PRESET_DICT; }\n header += 31 - (header % 31);\n\n s.status = BUSY_STATE;\n putShortMSB(s, header);\n\n /* Save the adler32 of the preset dictionary: */\n if (s.strstart !== 0) {\n putShortMSB(s, strm.adler >>> 16);\n putShortMSB(s, strm.adler & 0xffff);\n }\n strm.adler = 1; // adler32(0L, Z_NULL, 0);\n }\n }\n\n//#ifdef GZIP\n if (s.status === EXTRA_STATE) {\n if (s.gzhead.extra/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n\n while (s.gzindex < (s.gzhead.extra.length & 0xffff)) {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n break;\n }\n }\n put_byte(s, s.gzhead.extra[s.gzindex] & 0xff);\n s.gzindex++;\n }\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (s.gzindex === s.gzhead.extra.length) {\n s.gzindex = 0;\n s.status = NAME_STATE;\n }\n }\n else {\n s.status = NAME_STATE;\n }\n }\n if (s.status === NAME_STATE) {\n if (s.gzhead.name/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n //int val;\n\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n // JS specific: little magic to add zero terminator to end of string\n if (s.gzindex < s.gzhead.name.length) {\n val = s.gzhead.name.charCodeAt(s.gzindex++) & 0xff;\n } else {\n val = 0;\n }\n put_byte(s, val);\n } while (val !== 0);\n\n if (s.gzhead.hcrc && s.pending > beg){\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (val === 0) {\n s.gzindex = 0;\n s.status = COMMENT_STATE;\n }\n }\n else {\n s.status = COMMENT_STATE;\n }\n }\n if (s.status === COMMENT_STATE) {\n if (s.gzhead.comment/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n //int val;\n\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n // JS specific: little magic to add zero terminator to end of string\n if (s.gzindex < s.gzhead.comment.length) {\n val = s.gzhead.comment.charCodeAt(s.gzindex++) & 0xff;\n } else {\n val = 0;\n }\n put_byte(s, val);\n } while (val !== 0);\n\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (val === 0) {\n s.status = HCRC_STATE;\n }\n }\n else {\n s.status = HCRC_STATE;\n }\n }\n if (s.status === HCRC_STATE) {\n if (s.gzhead.hcrc) {\n if (s.pending + 2 > s.pending_buf_size) {\n flush_pending(strm);\n }\n if (s.pending + 2 <= s.pending_buf_size) {\n put_byte(s, strm.adler & 0xff);\n put_byte(s, (strm.adler >> 8) & 0xff);\n strm.adler = 0; //crc32(0L, Z_NULL, 0);\n s.status = BUSY_STATE;\n }\n }\n else {\n s.status = BUSY_STATE;\n }\n }\n//#endif\n\n /* Flush as much pending output as possible */\n if (s.pending !== 0) {\n flush_pending(strm);\n if (strm.avail_out === 0) {\n /* Since avail_out is 0, deflate will be called again with\n * more output space, but possibly with both pending and\n * avail_in equal to zero. There won't be anything to do,\n * but this is not an error situation so make sure we\n * return OK instead of BUF_ERROR at next call of deflate:\n */\n s.last_flush = -1;\n return Z_OK;\n }\n\n /* Make sure there is something to do and avoid duplicate consecutive\n * flushes. For repeated and useless calls with Z_FINISH, we keep\n * returning Z_STREAM_END instead of Z_BUF_ERROR.\n */\n } else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) &&\n flush !== Z_FINISH) {\n return err(strm, Z_BUF_ERROR);\n }\n\n /* User must not provide more input after the first FINISH: */\n if (s.status === FINISH_STATE && strm.avail_in !== 0) {\n return err(strm, Z_BUF_ERROR);\n }\n\n /* Start a new block or continue the current one.\n */\n if (strm.avail_in !== 0 || s.lookahead !== 0 ||\n (flush !== Z_NO_FLUSH && s.status !== FINISH_STATE)) {\n var bstate = (s.strategy === Z_HUFFMAN_ONLY) ? deflate_huff(s, flush) :\n (s.strategy === Z_RLE ? deflate_rle(s, flush) :\n configuration_table[s.level].func(s, flush));\n\n if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE) {\n s.status = FINISH_STATE;\n }\n if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) {\n if (strm.avail_out === 0) {\n s.last_flush = -1;\n /* avoid BUF_ERROR next call, see above */\n }\n return Z_OK;\n /* If flush != Z_NO_FLUSH && avail_out == 0, the next call\n * of deflate should use the same flush parameter to make sure\n * that the flush is complete. So we don't have to output an\n * empty block here, this will be done at next call. This also\n * ensures that for a very small output buffer, we emit at most\n * one empty block.\n */\n }\n if (bstate === BS_BLOCK_DONE) {\n if (flush === Z_PARTIAL_FLUSH) {\n trees._tr_align(s);\n }\n else if (flush !== Z_BLOCK) { /* FULL_FLUSH or SYNC_FLUSH */\n\n trees._tr_stored_block(s, 0, 0, false);\n /* For a full flush, this empty block will be recognized\n * as a special marker by inflate_sync().\n */\n if (flush === Z_FULL_FLUSH) {\n /*** CLEAR_HASH(s); ***/ /* forget history */\n zero(s.head); // Fill with NIL (= 0);\n\n if (s.lookahead === 0) {\n s.strstart = 0;\n s.block_start = 0;\n s.insert = 0;\n }\n }\n }\n flush_pending(strm);\n if (strm.avail_out === 0) {\n s.last_flush = -1; /* avoid BUF_ERROR at next call, see above */\n return Z_OK;\n }\n }\n }\n //Assert(strm->avail_out > 0, \"bug2\");\n //if (strm.avail_out <= 0) { throw new Error(\"bug2\");}\n\n if (flush !== Z_FINISH) { return Z_OK; }\n if (s.wrap <= 0) { return Z_STREAM_END; }\n\n /* Write the trailer */\n if (s.wrap === 2) {\n put_byte(s, strm.adler & 0xff);\n put_byte(s, (strm.adler >> 8) & 0xff);\n put_byte(s, (strm.adler >> 16) & 0xff);\n put_byte(s, (strm.adler >> 24) & 0xff);\n put_byte(s, strm.total_in & 0xff);\n put_byte(s, (strm.total_in >> 8) & 0xff);\n put_byte(s, (strm.total_in >> 16) & 0xff);\n put_byte(s, (strm.total_in >> 24) & 0xff);\n }\n else\n {\n putShortMSB(s, strm.adler >>> 16);\n putShortMSB(s, strm.adler & 0xffff);\n }\n\n flush_pending(strm);\n /* If avail_out is zero, the application will call deflate again\n * to flush the rest.\n */\n if (s.wrap > 0) { s.wrap = -s.wrap; }\n /* write the trailer only once! */\n return s.pending !== 0 ? Z_OK : Z_STREAM_END;\n}\n\nfunction deflateEnd(strm) {\n var status;\n\n if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) {\n return Z_STREAM_ERROR;\n }\n\n status = strm.state.status;\n if (status !== INIT_STATE &&\n status !== EXTRA_STATE &&\n status !== NAME_STATE &&\n status !== COMMENT_STATE &&\n status !== HCRC_STATE &&\n status !== BUSY_STATE &&\n status !== FINISH_STATE\n ) {\n return err(strm, Z_STREAM_ERROR);\n }\n\n strm.state = null;\n\n return status === BUSY_STATE ? err(strm, Z_DATA_ERROR) : Z_OK;\n}\n\n/* =========================================================================\n * Copy the source state to the destination state\n */\n//function deflateCopy(dest, source) {\n//\n//}\n\nexports.deflateInit = deflateInit;\nexports.deflateInit2 = deflateInit2;\nexports.deflateReset = deflateReset;\nexports.deflateResetKeep = deflateResetKeep;\nexports.deflateSetHeader = deflateSetHeader;\nexports.deflate = deflate;\nexports.deflateEnd = deflateEnd;\nexports.deflateInfo = 'pako deflate (from Nodeca project)';\n\n/* Not implemented\nexports.deflateBound = deflateBound;\nexports.deflateCopy = deflateCopy;\nexports.deflateSetDictionary = deflateSetDictionary;\nexports.deflateParams = deflateParams;\nexports.deflatePending = deflatePending;\nexports.deflatePrime = deflatePrime;\nexports.deflateTune = deflateTune;\n*/\n},{\"../utils/common\":27,\"./adler32\":29,\"./crc32\":31,\"./messages\":37,\"./trees\":38}],33:[function(_dereq_,module,exports){\n'use strict';\n\n\nfunction GZheader() {\n /* true if compressed data believed to be text */\n this.text = 0;\n /* modification time */\n this.time = 0;\n /* extra flags (not used when writing a gzip file) */\n this.xflags = 0;\n /* operating system */\n this.os = 0;\n /* pointer to extra field or Z_NULL if none */\n this.extra = null;\n /* extra field length (valid if extra != Z_NULL) */\n this.extra_len = 0; // Actually, we don't need it in JS,\n // but leave for few code modifications\n\n //\n // Setup limits is not necessary because in js we should not preallocate memory\n // for inflate use constant limit in 65536 bytes\n //\n\n /* space at extra (only when reading header) */\n // this.extra_max = 0;\n /* pointer to zero-terminated file name or Z_NULL */\n this.name = '';\n /* space at name (only when reading header) */\n // this.name_max = 0;\n /* pointer to zero-terminated comment or Z_NULL */\n this.comment = '';\n /* space at comment (only when reading header) */\n // this.comm_max = 0;\n /* true if there was or will be a header crc */\n this.hcrc = 0;\n /* true when done reading gzip header (not used when writing a gzip file) */\n this.done = false;\n}\n\nmodule.exports = GZheader;\n},{}],34:[function(_dereq_,module,exports){\n'use strict';\n\n// See state defs from inflate.js\nvar BAD = 30; /* got a data error -- remain here until reset */\nvar TYPE = 12; /* i: waiting for type bits, including last-flag bit */\n\n/*\n Decode literal, length, and distance codes and write out the resulting\n literal and match bytes until either not enough input or output is\n available, an end-of-block is encountered, or a data error is encountered.\n When large enough input and output buffers are supplied to inflate(), for\n example, a 16K input buffer and a 64K output buffer, more than 95% of the\n inflate execution time is spent in this routine.\n\n Entry assumptions:\n\n state.mode === LEN\n strm.avail_in >= 6\n strm.avail_out >= 258\n start >= strm.avail_out\n state.bits < 8\n\n On return, state.mode is one of:\n\n LEN -- ran out of enough output space or enough available input\n TYPE -- reached end of block code, inflate() to interpret next block\n BAD -- error in block data\n\n Notes:\n\n - The maximum input bits used by a length/distance pair is 15 bits for the\n length code, 5 bits for the length extra, 15 bits for the distance code,\n and 13 bits for the distance extra. This totals 48 bits, or six bytes.\n Therefore if strm.avail_in >= 6, then there is enough input to avoid\n checking for available input while decoding.\n\n - The maximum bytes that a single length/distance pair can output is 258\n bytes, which is the maximum length that can be coded. inflate_fast()\n requires strm.avail_out >= 258 for each loop to avoid checking for\n output space.\n */\nmodule.exports = function inflate_fast(strm, start) {\n var state;\n var _in; /* local strm.input */\n var last; /* have enough input while in < last */\n var _out; /* local strm.output */\n var beg; /* inflate()'s initial strm.output */\n var end; /* while out < end, enough space available */\n//#ifdef INFLATE_STRICT\n var dmax; /* maximum distance from zlib header */\n//#endif\n var wsize; /* window size or zero if not using window */\n var whave; /* valid bytes in the window */\n var wnext; /* window write index */\n var window; /* allocated sliding window, if wsize != 0 */\n var hold; /* local strm.hold */\n var bits; /* local strm.bits */\n var lcode; /* local strm.lencode */\n var dcode; /* local strm.distcode */\n var lmask; /* mask for first level of length codes */\n var dmask; /* mask for first level of distance codes */\n var here; /* retrieved table entry */\n var op; /* code bits, operation, extra bits, or */\n /* window position, window bytes to copy */\n var len; /* match length, unused bytes */\n var dist; /* match distance */\n var from; /* where to copy match from */\n var from_source;\n\n\n var input, output; // JS specific, because we have no pointers\n\n /* copy state to local variables */\n state = strm.state;\n //here = state.here;\n _in = strm.next_in;\n input = strm.input;\n last = _in + (strm.avail_in - 5);\n _out = strm.next_out;\n output = strm.output;\n beg = _out - (start - strm.avail_out);\n end = _out + (strm.avail_out - 257);\n//#ifdef INFLATE_STRICT\n dmax = state.dmax;\n//#endif\n wsize = state.wsize;\n whave = state.whave;\n wnext = state.wnext;\n window = state.window;\n hold = state.hold;\n bits = state.bits;\n lcode = state.lencode;\n dcode = state.distcode;\n lmask = (1 << state.lenbits) - 1;\n dmask = (1 << state.distbits) - 1;\n\n\n /* decode literals and length/distances until end-of-block or not enough\n input data or output space */\n\n top:\n do {\n if (bits < 15) {\n hold += input[_in++] << bits;\n bits += 8;\n hold += input[_in++] << bits;\n bits += 8;\n }\n\n here = lcode[hold & lmask];\n\n dolen:\n for (;;) { // Goto emulation\n op = here >>> 24/*here.bits*/;\n hold >>>= op;\n bits -= op;\n op = (here >>> 16) & 0xff/*here.op*/;\n if (op === 0) { /* literal */\n //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n // \"inflate: literal '%c'\\n\" :\n // \"inflate: literal 0x%02x\\n\", here.val));\n output[_out++] = here & 0xffff/*here.val*/;\n }\n else if (op & 16) { /* length base */\n len = here & 0xffff/*here.val*/;\n op &= 15; /* number of extra bits */\n if (op) {\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n }\n len += hold & ((1 << op) - 1);\n hold >>>= op;\n bits -= op;\n }\n //Tracevv((stderr, \"inflate: length %u\\n\", len));\n if (bits < 15) {\n hold += input[_in++] << bits;\n bits += 8;\n hold += input[_in++] << bits;\n bits += 8;\n }\n here = dcode[hold & dmask];\n\n dodist:\n for (;;) { // goto emulation\n op = here >>> 24/*here.bits*/;\n hold >>>= op;\n bits -= op;\n op = (here >>> 16) & 0xff/*here.op*/;\n\n if (op & 16) { /* distance base */\n dist = here & 0xffff/*here.val*/;\n op &= 15; /* number of extra bits */\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n }\n }\n dist += hold & ((1 << op) - 1);\n//#ifdef INFLATE_STRICT\n if (dist > dmax) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break top;\n }\n//#endif\n hold >>>= op;\n bits -= op;\n //Tracevv((stderr, \"inflate: distance %u\\n\", dist));\n op = _out - beg; /* max distance in output */\n if (dist > op) { /* see if copy from window */\n op = dist - op; /* distance back in window */\n if (op > whave) {\n if (state.sane) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break top;\n }\n\n// (!) This block is disabled in zlib defailts,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n// if (len <= op - whave) {\n// do {\n// output[_out++] = 0;\n// } while (--len);\n// continue top;\n// }\n// len -= op - whave;\n// do {\n// output[_out++] = 0;\n// } while (--op > whave);\n// if (op === 0) {\n// from = _out - dist;\n// do {\n// output[_out++] = output[from++];\n// } while (--len);\n// continue top;\n// }\n//#endif\n }\n from = 0; // window index\n from_source = window;\n if (wnext === 0) { /* very common case */\n from += wsize - op;\n if (op < len) { /* some from window */\n len -= op;\n do {\n output[_out++] = window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n else if (wnext < op) { /* wrap around window */\n from += wsize + wnext - op;\n op -= wnext;\n if (op < len) { /* some from end of window */\n len -= op;\n do {\n output[_out++] = window[from++];\n } while (--op);\n from = 0;\n if (wnext < len) { /* some from start of window */\n op = wnext;\n len -= op;\n do {\n output[_out++] = window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n }\n else { /* contiguous in window */\n from += wnext - op;\n if (op < len) { /* some from window */\n len -= op;\n do {\n output[_out++] = window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n while (len > 2) {\n output[_out++] = from_source[from++];\n output[_out++] = from_source[from++];\n output[_out++] = from_source[from++];\n len -= 3;\n }\n if (len) {\n output[_out++] = from_source[from++];\n if (len > 1) {\n output[_out++] = from_source[from++];\n }\n }\n }\n else {\n from = _out - dist; /* copy direct from output */\n do { /* minimum length is three */\n output[_out++] = output[from++];\n output[_out++] = output[from++];\n output[_out++] = output[from++];\n len -= 3;\n } while (len > 2);\n if (len) {\n output[_out++] = output[from++];\n if (len > 1) {\n output[_out++] = output[from++];\n }\n }\n }\n }\n else if ((op & 64) === 0) { /* 2nd level distance code */\n here = dcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n continue dodist;\n }\n else {\n strm.msg = 'invalid distance code';\n state.mode = BAD;\n break top;\n }\n\n break; // need to emulate goto via \"continue\"\n }\n }\n else if ((op & 64) === 0) { /* 2nd level length code */\n here = lcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n continue dolen;\n }\n else if (op & 32) { /* end-of-block */\n //Tracevv((stderr, \"inflate: end of block\\n\"));\n state.mode = TYPE;\n break top;\n }\n else {\n strm.msg = 'invalid literal/length code';\n state.mode = BAD;\n break top;\n }\n\n break; // need to emulate goto via \"continue\"\n }\n } while (_in < last && _out < end);\n\n /* return unused bytes (on entry, bits < 8, so in won't go too far back) */\n len = bits >> 3;\n _in -= len;\n bits -= len << 3;\n hold &= (1 << bits) - 1;\n\n /* update state and return */\n strm.next_in = _in;\n strm.next_out = _out;\n strm.avail_in = (_in < last ? 5 + (last - _in) : 5 - (_in - last));\n strm.avail_out = (_out < end ? 257 + (end - _out) : 257 - (_out - end));\n state.hold = hold;\n state.bits = bits;\n return;\n};\n\n},{}],35:[function(_dereq_,module,exports){\n'use strict';\n\n\nvar utils = _dereq_('../utils/common');\nvar adler32 = _dereq_('./adler32');\nvar crc32 = _dereq_('./crc32');\nvar inflate_fast = _dereq_('./inffast');\nvar inflate_table = _dereq_('./inftrees');\n\nvar CODES = 0;\nvar LENS = 1;\nvar DISTS = 2;\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n/* Allowed flush values; see deflate() and inflate() below for details */\n//var Z_NO_FLUSH = 0;\n//var Z_PARTIAL_FLUSH = 1;\n//var Z_SYNC_FLUSH = 2;\n//var Z_FULL_FLUSH = 3;\nvar Z_FINISH = 4;\nvar Z_BLOCK = 5;\nvar Z_TREES = 6;\n\n\n/* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\nvar Z_OK = 0;\nvar Z_STREAM_END = 1;\nvar Z_NEED_DICT = 2;\n//var Z_ERRNO = -1;\nvar Z_STREAM_ERROR = -2;\nvar Z_DATA_ERROR = -3;\nvar Z_MEM_ERROR = -4;\nvar Z_BUF_ERROR = -5;\n//var Z_VERSION_ERROR = -6;\n\n/* The deflate compression method */\nvar Z_DEFLATED = 8;\n\n\n/* STATES ====================================================================*/\n/* ===========================================================================*/\n\n\nvar HEAD = 1; /* i: waiting for magic header */\nvar FLAGS = 2; /* i: waiting for method and flags (gzip) */\nvar TIME = 3; /* i: waiting for modification time (gzip) */\nvar OS = 4; /* i: waiting for extra flags and operating system (gzip) */\nvar EXLEN = 5; /* i: waiting for extra length (gzip) */\nvar EXTRA = 6; /* i: waiting for extra bytes (gzip) */\nvar NAME = 7; /* i: waiting for end of file name (gzip) */\nvar COMMENT = 8; /* i: waiting for end of comment (gzip) */\nvar HCRC = 9; /* i: waiting for header crc (gzip) */\nvar DICTID = 10; /* i: waiting for dictionary check value */\nvar DICT = 11; /* waiting for inflateSetDictionary() call */\nvar TYPE = 12; /* i: waiting for type bits, including last-flag bit */\nvar TYPEDO = 13; /* i: same, but skip check to exit inflate on new block */\nvar STORED = 14; /* i: waiting for stored size (length and complement) */\nvar COPY_ = 15; /* i/o: same as COPY below, but only first time in */\nvar COPY = 16; /* i/o: waiting for input or output to copy stored block */\nvar TABLE = 17; /* i: waiting for dynamic block table lengths */\nvar LENLENS = 18; /* i: waiting for code length code lengths */\nvar CODELENS = 19; /* i: waiting for length/lit and distance code lengths */\nvar LEN_ = 20; /* i: same as LEN below, but only first time in */\nvar LEN = 21; /* i: waiting for length/lit/eob code */\nvar LENEXT = 22; /* i: waiting for length extra bits */\nvar DIST = 23; /* i: waiting for distance code */\nvar DISTEXT = 24; /* i: waiting for distance extra bits */\nvar MATCH = 25; /* o: waiting for output space to copy string */\nvar LIT = 26; /* o: waiting for output space to write literal */\nvar CHECK = 27; /* i: waiting for 32-bit check value */\nvar LENGTH = 28; /* i: waiting for 32-bit length (gzip) */\nvar DONE = 29; /* finished check, done -- remain here until reset */\nvar BAD = 30; /* got a data error -- remain here until reset */\nvar MEM = 31; /* got an inflate() memory error -- remain here until reset */\nvar SYNC = 32; /* looking for synchronization bytes to restart inflate() */\n\n/* ===========================================================================*/\n\n\n\nvar ENOUGH_LENS = 852;\nvar ENOUGH_DISTS = 592;\n//var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\n\nvar MAX_WBITS = 15;\n/* 32K LZ77 window */\nvar DEF_WBITS = MAX_WBITS;\n\n\nfunction ZSWAP32(q) {\n return (((q >>> 24) & 0xff) +\n ((q >>> 8) & 0xff00) +\n ((q & 0xff00) << 8) +\n ((q & 0xff) << 24));\n}\n\n\nfunction InflateState() {\n this.mode = 0; /* current inflate mode */\n this.last = false; /* true if processing last block */\n this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */\n this.havedict = false; /* true if dictionary provided */\n this.flags = 0; /* gzip header method and flags (0 if zlib) */\n this.dmax = 0; /* zlib header max distance (INFLATE_STRICT) */\n this.check = 0; /* protected copy of check value */\n this.total = 0; /* protected copy of output count */\n // TODO: may be {}\n this.head = null; /* where to save gzip header information */\n\n /* sliding window */\n this.wbits = 0; /* log base 2 of requested window size */\n this.wsize = 0; /* window size or zero if not using window */\n this.whave = 0; /* valid bytes in the window */\n this.wnext = 0; /* window write index */\n this.window = null; /* allocated sliding window, if needed */\n\n /* bit accumulator */\n this.hold = 0; /* input bit accumulator */\n this.bits = 0; /* number of bits in \"in\" */\n\n /* for string and stored block copying */\n this.length = 0; /* literal or length of data to copy */\n this.offset = 0; /* distance back to copy string from */\n\n /* for table and code decoding */\n this.extra = 0; /* extra bits needed */\n\n /* fixed and dynamic code tables */\n this.lencode = null; /* starting table for length/literal codes */\n this.distcode = null; /* starting table for distance codes */\n this.lenbits = 0; /* index bits for lencode */\n this.distbits = 0; /* index bits for distcode */\n\n /* dynamic table building */\n this.ncode = 0; /* number of code length code lengths */\n this.nlen = 0; /* number of length code lengths */\n this.ndist = 0; /* number of distance code lengths */\n this.have = 0; /* number of code lengths in lens[] */\n this.next = null; /* next available space in codes[] */\n\n this.lens = new utils.Buf16(320); /* temporary storage for code lengths */\n this.work = new utils.Buf16(288); /* work area for code table building */\n\n /*\n because we don't have pointers in js, we use lencode and distcode directly\n as buffers so we don't need codes\n */\n //this.codes = new utils.Buf32(ENOUGH); /* space for code tables */\n this.lendyn = null; /* dynamic table for length/literal codes (JS specific) */\n this.distdyn = null; /* dynamic table for distance codes (JS specific) */\n this.sane = 0; /* if false, allow invalid distance too far */\n this.back = 0; /* bits back of last unprocessed length/lit */\n this.was = 0; /* initial length of match */\n}\n\nfunction inflateResetKeep(strm) {\n var state;\n\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n strm.total_in = strm.total_out = state.total = 0;\n strm.msg = ''; /*Z_NULL*/\n if (state.wrap) { /* to support ill-conceived Java test suite */\n strm.adler = state.wrap & 1;\n }\n state.mode = HEAD;\n state.last = 0;\n state.havedict = 0;\n state.dmax = 32768;\n state.head = null/*Z_NULL*/;\n state.hold = 0;\n state.bits = 0;\n //state.lencode = state.distcode = state.next = state.codes;\n state.lencode = state.lendyn = new utils.Buf32(ENOUGH_LENS);\n state.distcode = state.distdyn = new utils.Buf32(ENOUGH_DISTS);\n\n state.sane = 1;\n state.back = -1;\n //Tracev((stderr, \"inflate: reset\\n\"));\n return Z_OK;\n}\n\nfunction inflateReset(strm) {\n var state;\n\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n state.wsize = 0;\n state.whave = 0;\n state.wnext = 0;\n return inflateResetKeep(strm);\n\n}\n\nfunction inflateReset2(strm, windowBits) {\n var wrap;\n var state;\n\n /* get the state */\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n\n /* extract wrap request from windowBits parameter */\n if (windowBits < 0) {\n wrap = 0;\n windowBits = -windowBits;\n }\n else {\n wrap = (windowBits >> 4) + 1;\n if (windowBits < 48) {\n windowBits &= 15;\n }\n }\n\n /* set number of window bits, free window if different */\n if (windowBits && (windowBits < 8 || windowBits > 15)) {\n return Z_STREAM_ERROR;\n }\n if (state.window !== null && state.wbits !== windowBits) {\n state.window = null;\n }\n\n /* update state and reset the rest of it */\n state.wrap = wrap;\n state.wbits = windowBits;\n return inflateReset(strm);\n}\n\nfunction inflateInit2(strm, windowBits) {\n var ret;\n var state;\n\n if (!strm) { return Z_STREAM_ERROR; }\n //strm.msg = Z_NULL; /* in case we return an error */\n\n state = new InflateState();\n\n //if (state === Z_NULL) return Z_MEM_ERROR;\n //Tracev((stderr, \"inflate: allocated\\n\"));\n strm.state = state;\n state.window = null/*Z_NULL*/;\n ret = inflateReset2(strm, windowBits);\n if (ret !== Z_OK) {\n strm.state = null/*Z_NULL*/;\n }\n return ret;\n}\n\nfunction inflateInit(strm) {\n return inflateInit2(strm, DEF_WBITS);\n}\n\n\n/*\n Return state with length and distance decoding tables and index sizes set to\n fixed code decoding. Normally this returns fixed tables from inffixed.h.\n If BUILDFIXED is defined, then instead this routine builds the tables the\n first time it's called, and returns those tables the first time and\n thereafter. This reduces the size of the code by about 2K bytes, in\n exchange for a little execution time. However, BUILDFIXED should not be\n used for threaded applications, since the rewriting of the tables and virgin\n may not be thread-safe.\n */\nvar virgin = true;\n\nvar lenfix, distfix; // We have no pointers in JS, so keep tables separate\n\nfunction fixedtables(state) {\n /* build fixed huffman tables if first call (may not be thread safe) */\n if (virgin) {\n var sym;\n\n lenfix = new utils.Buf32(512);\n distfix = new utils.Buf32(32);\n\n /* literal/length table */\n sym = 0;\n while (sym < 144) { state.lens[sym++] = 8; }\n while (sym < 256) { state.lens[sym++] = 9; }\n while (sym < 280) { state.lens[sym++] = 7; }\n while (sym < 288) { state.lens[sym++] = 8; }\n\n inflate_table(LENS, state.lens, 0, 288, lenfix, 0, state.work, {bits: 9});\n\n /* distance table */\n sym = 0;\n while (sym < 32) { state.lens[sym++] = 5; }\n\n inflate_table(DISTS, state.lens, 0, 32, distfix, 0, state.work, {bits: 5});\n\n /* do this just once */\n virgin = false;\n }\n\n state.lencode = lenfix;\n state.lenbits = 9;\n state.distcode = distfix;\n state.distbits = 5;\n}\n\n\n/*\n Update the window with the last wsize (normally 32K) bytes written before\n returning. If window does not exist yet, create it. This is only called\n when a window is already in use, or when output has been written during this\n inflate call, but the end of the deflate stream has not been reached yet.\n It is also called to create a window for dictionary data when a dictionary\n is loaded.\n\n Providing output buffers larger than 32K to inflate() should provide a speed\n advantage, since only the last 32K of output is copied to the sliding window\n upon return from inflate(), and since all distances after the first 32K of\n output will fall in the output data, making match copies simpler and faster.\n The advantage may be dependent on the size of the processor's data caches.\n */\nfunction updatewindow(strm, src, end, copy) {\n var dist;\n var state = strm.state;\n\n /* if it hasn't been done already, allocate space for the window */\n if (state.window === null) {\n state.wsize = 1 << state.wbits;\n state.wnext = 0;\n state.whave = 0;\n\n state.window = new utils.Buf8(state.wsize);\n }\n\n /* copy state->wsize or less output bytes into the circular window */\n if (copy >= state.wsize) {\n utils.arraySet(state.window,src, end - state.wsize, state.wsize, 0);\n state.wnext = 0;\n state.whave = state.wsize;\n }\n else {\n dist = state.wsize - state.wnext;\n if (dist > copy) {\n dist = copy;\n }\n //zmemcpy(state->window + state->wnext, end - copy, dist);\n utils.arraySet(state.window,src, end - copy, dist, state.wnext);\n copy -= dist;\n if (copy) {\n //zmemcpy(state->window, end - copy, copy);\n utils.arraySet(state.window,src, end - copy, copy, 0);\n state.wnext = copy;\n state.whave = state.wsize;\n }\n else {\n state.wnext += dist;\n if (state.wnext === state.wsize) { state.wnext = 0; }\n if (state.whave < state.wsize) { state.whave += dist; }\n }\n }\n return 0;\n}\n\nfunction inflate(strm, flush) {\n var state;\n var input, output; // input/output buffers\n var next; /* next input INDEX */\n var put; /* next output INDEX */\n var have, left; /* available input and output */\n var hold; /* bit buffer */\n var bits; /* bits in bit buffer */\n var _in, _out; /* save starting available input and output */\n var copy; /* number of stored or match bytes to copy */\n var from; /* where to copy match bytes from */\n var from_source;\n var here = 0; /* current decoding table entry */\n var here_bits, here_op, here_val; // paked \"here\" denormalized (JS specific)\n //var last; /* parent table entry */\n var last_bits, last_op, last_val; // paked \"last\" denormalized (JS specific)\n var len; /* length to copy for repeats, bits to drop */\n var ret; /* return code */\n var hbuf = new utils.Buf8(4); /* buffer for gzip header crc calculation */\n var opts;\n\n var n; // temporary var for NEED_BITS\n\n var order = /* permutation of code lengths */\n [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];\n\n\n if (!strm || !strm.state || !strm.output ||\n (!strm.input && strm.avail_in !== 0)) {\n return Z_STREAM_ERROR;\n }\n\n state = strm.state;\n if (state.mode === TYPE) { state.mode = TYPEDO; } /* skip check */\n\n\n //--- LOAD() ---\n put = strm.next_out;\n output = strm.output;\n left = strm.avail_out;\n next = strm.next_in;\n input = strm.input;\n have = strm.avail_in;\n hold = state.hold;\n bits = state.bits;\n //---\n\n _in = have;\n _out = left;\n ret = Z_OK;\n\n inf_leave: // goto emulation\n for (;;) {\n switch (state.mode) {\n case HEAD:\n if (state.wrap === 0) {\n state.mode = TYPEDO;\n break;\n }\n //=== NEEDBITS(16);\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if ((state.wrap & 2) && hold === 0x8b1f) { /* gzip header */\n state.check = 0/*crc32(0L, Z_NULL, 0)*/;\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = FLAGS;\n break;\n }\n state.flags = 0; /* expect zlib header */\n if (state.head) {\n state.head.done = false;\n }\n if (!(state.wrap & 1) || /* check if zlib header allowed */\n (((hold & 0xff)/*BITS(8)*/ << 8) + (hold >> 8)) % 31) {\n strm.msg = 'incorrect header check';\n state.mode = BAD;\n break;\n }\n if ((hold & 0x0f)/*BITS(4)*/ !== Z_DEFLATED) {\n strm.msg = 'unknown compression method';\n state.mode = BAD;\n break;\n }\n //--- DROPBITS(4) ---//\n hold >>>= 4;\n bits -= 4;\n //---//\n len = (hold & 0x0f)/*BITS(4)*/ + 8;\n if (state.wbits === 0) {\n state.wbits = len;\n }\n else if (len > state.wbits) {\n strm.msg = 'invalid window size';\n state.mode = BAD;\n break;\n }\n state.dmax = 1 << len;\n //Tracev((stderr, \"inflate: zlib header ok\\n\"));\n strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n state.mode = hold & 0x200 ? DICTID : TYPE;\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n break;\n case FLAGS:\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.flags = hold;\n if ((state.flags & 0xff) !== Z_DEFLATED) {\n strm.msg = 'unknown compression method';\n state.mode = BAD;\n break;\n }\n if (state.flags & 0xe000) {\n strm.msg = 'unknown header flags set';\n state.mode = BAD;\n break;\n }\n if (state.head) {\n state.head.text = ((hold >> 8) & 1);\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = TIME;\n /* falls through */\n case TIME:\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (state.head) {\n state.head.time = hold;\n }\n if (state.flags & 0x0200) {\n //=== CRC4(state.check, hold)\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n hbuf[2] = (hold >>> 16) & 0xff;\n hbuf[3] = (hold >>> 24) & 0xff;\n state.check = crc32(state.check, hbuf, 4, 0);\n //===\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = OS;\n /* falls through */\n case OS:\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (state.head) {\n state.head.xflags = (hold & 0xff);\n state.head.os = (hold >> 8);\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = EXLEN;\n /* falls through */\n case EXLEN:\n if (state.flags & 0x0400) {\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.length = hold;\n if (state.head) {\n state.head.extra_len = hold;\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n }\n else if (state.head) {\n state.head.extra = null/*Z_NULL*/;\n }\n state.mode = EXTRA;\n /* falls through */\n case EXTRA:\n if (state.flags & 0x0400) {\n copy = state.length;\n if (copy > have) { copy = have; }\n if (copy) {\n if (state.head) {\n len = state.head.extra_len - state.length;\n if (!state.head.extra) {\n // Use untyped array for more conveniend processing later\n state.head.extra = new Array(state.head.extra_len);\n }\n utils.arraySet(\n state.head.extra,\n input,\n next,\n // extra field is limited to 65536 bytes\n // - no need for additional size check\n copy,\n /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/\n len\n );\n //zmemcpy(state.head.extra + len, next,\n // len + copy > state.head.extra_max ?\n // state.head.extra_max - len : copy);\n }\n if (state.flags & 0x0200) {\n state.check = crc32(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n state.length -= copy;\n }\n if (state.length) { break inf_leave; }\n }\n state.length = 0;\n state.mode = NAME;\n /* falls through */\n case NAME:\n if (state.flags & 0x0800) {\n if (have === 0) { break inf_leave; }\n copy = 0;\n do {\n // TODO: 2 or 1 bytes?\n len = input[next + copy++];\n /* use constant limit because in js we should not preallocate memory */\n if (state.head && len &&\n (state.length < 65536 /*state.head.name_max*/)) {\n state.head.name += String.fromCharCode(len);\n }\n } while (len && copy < have);\n\n if (state.flags & 0x0200) {\n state.check = crc32(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n if (len) { break inf_leave; }\n }\n else if (state.head) {\n state.head.name = null;\n }\n state.length = 0;\n state.mode = COMMENT;\n /* falls through */\n case COMMENT:\n if (state.flags & 0x1000) {\n if (have === 0) { break inf_leave; }\n copy = 0;\n do {\n len = input[next + copy++];\n /* use constant limit because in js we should not preallocate memory */\n if (state.head && len &&\n (state.length < 65536 /*state.head.comm_max*/)) {\n state.head.comment += String.fromCharCode(len);\n }\n } while (len && copy < have);\n if (state.flags & 0x0200) {\n state.check = crc32(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n if (len) { break inf_leave; }\n }\n else if (state.head) {\n state.head.comment = null;\n }\n state.mode = HCRC;\n /* falls through */\n case HCRC:\n if (state.flags & 0x0200) {\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (hold !== (state.check & 0xffff)) {\n strm.msg = 'header crc mismatch';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n }\n if (state.head) {\n state.head.hcrc = ((state.flags >> 9) & 1);\n state.head.done = true;\n }\n strm.adler = state.check = 0 /*crc32(0L, Z_NULL, 0)*/;\n state.mode = TYPE;\n break;\n case DICTID:\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n strm.adler = state.check = ZSWAP32(hold);\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = DICT;\n /* falls through */\n case DICT:\n if (state.havedict === 0) {\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n return Z_NEED_DICT;\n }\n strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n state.mode = TYPE;\n /* falls through */\n case TYPE:\n if (flush === Z_BLOCK || flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case TYPEDO:\n if (state.last) {\n //--- BYTEBITS() ---//\n hold >>>= bits & 7;\n bits -= bits & 7;\n //---//\n state.mode = CHECK;\n break;\n }\n //=== NEEDBITS(3); */\n while (bits < 3) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.last = (hold & 0x01)/*BITS(1)*/;\n //--- DROPBITS(1) ---//\n hold >>>= 1;\n bits -= 1;\n //---//\n\n switch ((hold & 0x03)/*BITS(2)*/) {\n case 0: /* stored block */\n //Tracev((stderr, \"inflate: stored block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = STORED;\n break;\n case 1: /* fixed block */\n fixedtables(state);\n //Tracev((stderr, \"inflate: fixed codes block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = LEN_; /* decode codes */\n if (flush === Z_TREES) {\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n break inf_leave;\n }\n break;\n case 2: /* dynamic block */\n //Tracev((stderr, \"inflate: dynamic codes block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = TABLE;\n break;\n case 3:\n strm.msg = 'invalid block type';\n state.mode = BAD;\n }\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n break;\n case STORED:\n //--- BYTEBITS() ---// /* go to byte boundary */\n hold >>>= bits & 7;\n bits -= bits & 7;\n //---//\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if ((hold & 0xffff) !== ((hold >>> 16) ^ 0xffff)) {\n strm.msg = 'invalid stored block lengths';\n state.mode = BAD;\n break;\n }\n state.length = hold & 0xffff;\n //Tracev((stderr, \"inflate: stored length %u\\n\",\n // state.length));\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = COPY_;\n if (flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case COPY_:\n state.mode = COPY;\n /* falls through */\n case COPY:\n copy = state.length;\n if (copy) {\n if (copy > have) { copy = have; }\n if (copy > left) { copy = left; }\n if (copy === 0) { break inf_leave; }\n //--- zmemcpy(put, next, copy); ---\n utils.arraySet(output, input, next, copy, put);\n //---//\n have -= copy;\n next += copy;\n left -= copy;\n put += copy;\n state.length -= copy;\n break;\n }\n //Tracev((stderr, \"inflate: stored end\\n\"));\n state.mode = TYPE;\n break;\n case TABLE:\n //=== NEEDBITS(14); */\n while (bits < 14) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.nlen = (hold & 0x1f)/*BITS(5)*/ + 257;\n //--- DROPBITS(5) ---//\n hold >>>= 5;\n bits -= 5;\n //---//\n state.ndist = (hold & 0x1f)/*BITS(5)*/ + 1;\n //--- DROPBITS(5) ---//\n hold >>>= 5;\n bits -= 5;\n //---//\n state.ncode = (hold & 0x0f)/*BITS(4)*/ + 4;\n //--- DROPBITS(4) ---//\n hold >>>= 4;\n bits -= 4;\n //---//\n//#ifndef PKZIP_BUG_WORKAROUND\n if (state.nlen > 286 || state.ndist > 30) {\n strm.msg = 'too many length or distance symbols';\n state.mode = BAD;\n break;\n }\n//#endif\n //Tracev((stderr, \"inflate: table sizes ok\\n\"));\n state.have = 0;\n state.mode = LENLENS;\n /* falls through */\n case LENLENS:\n while (state.have < state.ncode) {\n //=== NEEDBITS(3);\n while (bits < 3) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.lens[order[state.have++]] = (hold & 0x07);//BITS(3);\n //--- DROPBITS(3) ---//\n hold >>>= 3;\n bits -= 3;\n //---//\n }\n while (state.have < 19) {\n state.lens[order[state.have++]] = 0;\n }\n // We have separate tables & no pointers. 2 commented lines below not needed.\n //state.next = state.codes;\n //state.lencode = state.next;\n // Switch to use dynamic table\n state.lencode = state.lendyn;\n state.lenbits = 7;\n\n opts = {bits: state.lenbits};\n ret = inflate_table(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts);\n state.lenbits = opts.bits;\n\n if (ret) {\n strm.msg = 'invalid code lengths set';\n state.mode = BAD;\n break;\n }\n //Tracev((stderr, \"inflate: code lengths ok\\n\"));\n state.have = 0;\n state.mode = CODELENS;\n /* falls through */\n case CODELENS:\n while (state.have < state.nlen + state.ndist) {\n for (;;) {\n here = state.lencode[hold & ((1 << state.lenbits) - 1)];/*BITS(state.lenbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if (here_val < 16) {\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.lens[state.have++] = here_val;\n }\n else {\n if (here_val === 16) {\n //=== NEEDBITS(here.bits + 2);\n n = here_bits + 2;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n if (state.have === 0) {\n strm.msg = 'invalid bit length repeat';\n state.mode = BAD;\n break;\n }\n len = state.lens[state.have - 1];\n copy = 3 + (hold & 0x03);//BITS(2);\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n }\n else if (here_val === 17) {\n //=== NEEDBITS(here.bits + 3);\n n = here_bits + 3;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n len = 0;\n copy = 3 + (hold & 0x07);//BITS(3);\n //--- DROPBITS(3) ---//\n hold >>>= 3;\n bits -= 3;\n //---//\n }\n else {\n //=== NEEDBITS(here.bits + 7);\n n = here_bits + 7;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n len = 0;\n copy = 11 + (hold & 0x7f);//BITS(7);\n //--- DROPBITS(7) ---//\n hold >>>= 7;\n bits -= 7;\n //---//\n }\n if (state.have + copy > state.nlen + state.ndist) {\n strm.msg = 'invalid bit length repeat';\n state.mode = BAD;\n break;\n }\n while (copy--) {\n state.lens[state.have++] = len;\n }\n }\n }\n\n /* handle error breaks in while */\n if (state.mode === BAD) { break; }\n\n /* check for end-of-block code (better have one) */\n if (state.lens[256] === 0) {\n strm.msg = 'invalid code -- missing end-of-block';\n state.mode = BAD;\n break;\n }\n\n /* build code tables -- note: do not change the lenbits or distbits\n values here (9 and 6) without reading the comments in inftrees.h\n concerning the ENOUGH constants, which depend on those values */\n state.lenbits = 9;\n\n opts = {bits: state.lenbits};\n ret = inflate_table(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts);\n // We have separate tables & no pointers. 2 commented lines below not needed.\n // state.next_index = opts.table_index;\n state.lenbits = opts.bits;\n // state.lencode = state.next;\n\n if (ret) {\n strm.msg = 'invalid literal/lengths set';\n state.mode = BAD;\n break;\n }\n\n state.distbits = 6;\n //state.distcode.copy(state.codes);\n // Switch to use dynamic table\n state.distcode = state.distdyn;\n opts = {bits: state.distbits};\n ret = inflate_table(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts);\n // We have separate tables & no pointers. 2 commented lines below not needed.\n // state.next_index = opts.table_index;\n state.distbits = opts.bits;\n // state.distcode = state.next;\n\n if (ret) {\n strm.msg = 'invalid distances set';\n state.mode = BAD;\n break;\n }\n //Tracev((stderr, 'inflate: codes ok\\n'));\n state.mode = LEN_;\n if (flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case LEN_:\n state.mode = LEN;\n /* falls through */\n case LEN:\n if (have >= 6 && left >= 258) {\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n inflate_fast(strm, _out);\n //--- LOAD() ---\n put = strm.next_out;\n output = strm.output;\n left = strm.avail_out;\n next = strm.next_in;\n input = strm.input;\n have = strm.avail_in;\n hold = state.hold;\n bits = state.bits;\n //---\n\n if (state.mode === TYPE) {\n state.back = -1;\n }\n break;\n }\n state.back = 0;\n for (;;) {\n here = state.lencode[hold & ((1 << state.lenbits) -1)]; /*BITS(state.lenbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if (here_bits <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if (here_op && (here_op & 0xf0) === 0) {\n last_bits = here_bits;\n last_op = here_op;\n last_val = here_val;\n for (;;) {\n here = state.lencode[last_val +\n ((hold & ((1 << (last_bits + last_op)) -1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((last_bits + here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n //--- DROPBITS(last.bits) ---//\n hold >>>= last_bits;\n bits -= last_bits;\n //---//\n state.back += last_bits;\n }\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.back += here_bits;\n state.length = here_val;\n if (here_op === 0) {\n //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n // \"inflate: literal '%c'\\n\" :\n // \"inflate: literal 0x%02x\\n\", here.val));\n state.mode = LIT;\n break;\n }\n if (here_op & 32) {\n //Tracevv((stderr, \"inflate: end of block\\n\"));\n state.back = -1;\n state.mode = TYPE;\n break;\n }\n if (here_op & 64) {\n strm.msg = 'invalid literal/length code';\n state.mode = BAD;\n break;\n }\n state.extra = here_op & 15;\n state.mode = LENEXT;\n /* falls through */\n case LENEXT:\n if (state.extra) {\n //=== NEEDBITS(state.extra);\n n = state.extra;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.length += hold & ((1 << state.extra) -1)/*BITS(state.extra)*/;\n //--- DROPBITS(state.extra) ---//\n hold >>>= state.extra;\n bits -= state.extra;\n //---//\n state.back += state.extra;\n }\n //Tracevv((stderr, \"inflate: length %u\\n\", state.length));\n state.was = state.length;\n state.mode = DIST;\n /* falls through */\n case DIST:\n for (;;) {\n here = state.distcode[hold & ((1 << state.distbits) -1)];/*BITS(state.distbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if ((here_op & 0xf0) === 0) {\n last_bits = here_bits;\n last_op = here_op;\n last_val = here_val;\n for (;;) {\n here = state.distcode[last_val +\n ((hold & ((1 << (last_bits + last_op)) -1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((last_bits + here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n //--- DROPBITS(last.bits) ---//\n hold >>>= last_bits;\n bits -= last_bits;\n //---//\n state.back += last_bits;\n }\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.back += here_bits;\n if (here_op & 64) {\n strm.msg = 'invalid distance code';\n state.mode = BAD;\n break;\n }\n state.offset = here_val;\n state.extra = (here_op) & 15;\n state.mode = DISTEXT;\n /* falls through */\n case DISTEXT:\n if (state.extra) {\n //=== NEEDBITS(state.extra);\n n = state.extra;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.offset += hold & ((1 << state.extra) -1)/*BITS(state.extra)*/;\n //--- DROPBITS(state.extra) ---//\n hold >>>= state.extra;\n bits -= state.extra;\n //---//\n state.back += state.extra;\n }\n//#ifdef INFLATE_STRICT\n if (state.offset > state.dmax) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break;\n }\n//#endif\n //Tracevv((stderr, \"inflate: distance %u\\n\", state.offset));\n state.mode = MATCH;\n /* falls through */\n case MATCH:\n if (left === 0) { break inf_leave; }\n copy = _out - left;\n if (state.offset > copy) { /* copy from window */\n copy = state.offset - copy;\n if (copy > state.whave) {\n if (state.sane) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break;\n }\n// (!) This block is disabled in zlib defailts,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n// Trace((stderr, \"inflate.c too far\\n\"));\n// copy -= state.whave;\n// if (copy > state.length) { copy = state.length; }\n// if (copy > left) { copy = left; }\n// left -= copy;\n// state.length -= copy;\n// do {\n// output[put++] = 0;\n// } while (--copy);\n// if (state.length === 0) { state.mode = LEN; }\n// break;\n//#endif\n }\n if (copy > state.wnext) {\n copy -= state.wnext;\n from = state.wsize - copy;\n }\n else {\n from = state.wnext - copy;\n }\n if (copy > state.length) { copy = state.length; }\n from_source = state.window;\n }\n else { /* copy from output */\n from_source = output;\n from = put - state.offset;\n copy = state.length;\n }\n if (copy > left) { copy = left; }\n left -= copy;\n state.length -= copy;\n do {\n output[put++] = from_source[from++];\n } while (--copy);\n if (state.length === 0) { state.mode = LEN; }\n break;\n case LIT:\n if (left === 0) { break inf_leave; }\n output[put++] = state.length;\n left--;\n state.mode = LEN;\n break;\n case CHECK:\n if (state.wrap) {\n //=== NEEDBITS(32);\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n // Use '|' insdead of '+' to make sure that result is signed\n hold |= input[next++] << bits;\n bits += 8;\n }\n //===//\n _out -= left;\n strm.total_out += _out;\n state.total += _out;\n if (_out) {\n strm.adler = state.check =\n /*UPDATE(state.check, put - _out, _out);*/\n (state.flags ? crc32(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out));\n\n }\n _out = left;\n // NB: crc32 stored as signed 32-bit int, ZSWAP32 returns signed too\n if ((state.flags ? hold : ZSWAP32(hold)) !== state.check) {\n strm.msg = 'incorrect data check';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n //Tracev((stderr, \"inflate: check matches trailer\\n\"));\n }\n state.mode = LENGTH;\n /* falls through */\n case LENGTH:\n if (state.wrap && state.flags) {\n //=== NEEDBITS(32);\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (hold !== (state.total & 0xffffffff)) {\n strm.msg = 'incorrect length check';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n //Tracev((stderr, \"inflate: length matches trailer\\n\"));\n }\n state.mode = DONE;\n /* falls through */\n case DONE:\n ret = Z_STREAM_END;\n break inf_leave;\n case BAD:\n ret = Z_DATA_ERROR;\n break inf_leave;\n case MEM:\n return Z_MEM_ERROR;\n case SYNC:\n /* falls through */\n default:\n return Z_STREAM_ERROR;\n }\n }\n\n // inf_leave <- here is real place for \"goto inf_leave\", emulated via \"break inf_leave\"\n\n /*\n Return from inflate(), updating the total counts and the check value.\n If there was no progress during the inflate() call, return a buffer\n error. Call updatewindow() to create and/or update the window state.\n Note: a memory error from inflate() is non-recoverable.\n */\n\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n\n if (state.wsize || (_out !== strm.avail_out && state.mode < BAD &&\n (state.mode < CHECK || flush !== Z_FINISH))) {\n if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out)) {\n state.mode = MEM;\n return Z_MEM_ERROR;\n }\n }\n _in -= strm.avail_in;\n _out -= strm.avail_out;\n strm.total_in += _in;\n strm.total_out += _out;\n state.total += _out;\n if (state.wrap && _out) {\n strm.adler = state.check = /*UPDATE(state.check, strm.next_out - _out, _out);*/\n (state.flags ? crc32(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out));\n }\n strm.data_type = state.bits + (state.last ? 64 : 0) +\n (state.mode === TYPE ? 128 : 0) +\n (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0);\n if (((_in === 0 && _out === 0) || flush === Z_FINISH) && ret === Z_OK) {\n ret = Z_BUF_ERROR;\n }\n return ret;\n}\n\nfunction inflateEnd(strm) {\n\n if (!strm || !strm.state /*|| strm->zfree == (free_func)0*/) {\n return Z_STREAM_ERROR;\n }\n\n var state = strm.state;\n if (state.window) {\n state.window = null;\n }\n strm.state = null;\n return Z_OK;\n}\n\nfunction inflateGetHeader(strm, head) {\n var state;\n\n /* check state */\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n if ((state.wrap & 2) === 0) { return Z_STREAM_ERROR; }\n\n /* save header structure */\n state.head = head;\n head.done = false;\n return Z_OK;\n}\n\n\nexports.inflateReset = inflateReset;\nexports.inflateReset2 = inflateReset2;\nexports.inflateResetKeep = inflateResetKeep;\nexports.inflateInit = inflateInit;\nexports.inflateInit2 = inflateInit2;\nexports.inflate = inflate;\nexports.inflateEnd = inflateEnd;\nexports.inflateGetHeader = inflateGetHeader;\nexports.inflateInfo = 'pako inflate (from Nodeca project)';\n\n/* Not implemented\nexports.inflateCopy = inflateCopy;\nexports.inflateGetDictionary = inflateGetDictionary;\nexports.inflateMark = inflateMark;\nexports.inflatePrime = inflatePrime;\nexports.inflateSetDictionary = inflateSetDictionary;\nexports.inflateSync = inflateSync;\nexports.inflateSyncPoint = inflateSyncPoint;\nexports.inflateUndermine = inflateUndermine;\n*/\n},{\"../utils/common\":27,\"./adler32\":29,\"./crc32\":31,\"./inffast\":34,\"./inftrees\":36}],36:[function(_dereq_,module,exports){\n'use strict';\n\n\nvar utils = _dereq_('../utils/common');\n\nvar MAXBITS = 15;\nvar ENOUGH_LENS = 852;\nvar ENOUGH_DISTS = 592;\n//var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\n\nvar CODES = 0;\nvar LENS = 1;\nvar DISTS = 2;\n\nvar lbase = [ /* Length codes 257..285 base */\n 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,\n 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0\n];\n\nvar lext = [ /* Length codes 257..285 extra */\n 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,\n 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78\n];\n\nvar dbase = [ /* Distance codes 0..29 base */\n 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,\n 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,\n 8193, 12289, 16385, 24577, 0, 0\n];\n\nvar dext = [ /* Distance codes 0..29 extra */\n 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22,\n 23, 23, 24, 24, 25, 25, 26, 26, 27, 27,\n 28, 28, 29, 29, 64, 64\n];\n\nmodule.exports = function inflate_table(type, lens, lens_index, codes, table, table_index, work, opts)\n{\n var bits = opts.bits;\n //here = opts.here; /* table entry for duplication */\n\n var len = 0; /* a code's length in bits */\n var sym = 0; /* index of code symbols */\n var min = 0, max = 0; /* minimum and maximum code lengths */\n var root = 0; /* number of index bits for root table */\n var curr = 0; /* number of index bits for current table */\n var drop = 0; /* code bits to drop for sub-table */\n var left = 0; /* number of prefix codes available */\n var used = 0; /* code entries in table used */\n var huff = 0; /* Huffman code */\n var incr; /* for incrementing code, index */\n var fill; /* index for replicating entries */\n var low; /* low bits for current root entry */\n var mask; /* mask for low root bits */\n var next; /* next available space in table */\n var base = null; /* base value table to use */\n var base_index = 0;\n// var shoextra; /* extra bits table to use */\n var end; /* use base and extra for symbol > end */\n var count = new utils.Buf16(MAXBITS+1); //[MAXBITS+1]; /* number of codes of each length */\n var offs = new utils.Buf16(MAXBITS+1); //[MAXBITS+1]; /* offsets in table for each length */\n var extra = null;\n var extra_index = 0;\n\n var here_bits, here_op, here_val;\n\n /*\n Process a set of code lengths to create a canonical Huffman code. The\n code lengths are lens[0..codes-1]. Each length corresponds to the\n symbols 0..codes-1. The Huffman code is generated by first sorting the\n symbols by length from short to long, and retaining the symbol order\n for codes with equal lengths. Then the code starts with all zero bits\n for the first code of the shortest length, and the codes are integer\n increments for the same length, and zeros are appended as the length\n increases. For the deflate format, these bits are stored backwards\n from their more natural integer increment ordering, and so when the\n decoding tables are built in the large loop below, the integer codes\n are incremented backwards.\n\n This routine assumes, but does not check, that all of the entries in\n lens[] are in the range 0..MAXBITS. The caller must assure this.\n 1..MAXBITS is interpreted as that code length. zero means that that\n symbol does not occur in this code.\n\n The codes are sorted by computing a count of codes for each length,\n creating from that a table of starting indices for each length in the\n sorted table, and then entering the symbols in order in the sorted\n table. The sorted table is work[], with that space being provided by\n the caller.\n\n The length counts are used for other purposes as well, i.e. finding\n the minimum and maximum length codes, determining if there are any\n codes at all, checking for a valid set of lengths, and looking ahead\n at length counts to determine sub-table sizes when building the\n decoding tables.\n */\n\n /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */\n for (len = 0; len <= MAXBITS; len++) {\n count[len] = 0;\n }\n for (sym = 0; sym < codes; sym++) {\n count[lens[lens_index + sym]]++;\n }\n\n /* bound code lengths, force root to be within code lengths */\n root = bits;\n for (max = MAXBITS; max >= 1; max--) {\n if (count[max] !== 0) { break; }\n }\n if (root > max) {\n root = max;\n }\n if (max === 0) { /* no symbols to code at all */\n //table.op[opts.table_index] = 64; //here.op = (var char)64; /* invalid code marker */\n //table.bits[opts.table_index] = 1; //here.bits = (var char)1;\n //table.val[opts.table_index++] = 0; //here.val = (var short)0;\n table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n\n //table.op[opts.table_index] = 64;\n //table.bits[opts.table_index] = 1;\n //table.val[opts.table_index++] = 0;\n table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n opts.bits = 1;\n return 0; /* no symbols, but wait for decoding to report error */\n }\n for (min = 1; min < max; min++) {\n if (count[min] !== 0) { break; }\n }\n if (root < min) {\n root = min;\n }\n\n /* check for an over-subscribed or incomplete set of lengths */\n left = 1;\n for (len = 1; len <= MAXBITS; len++) {\n left <<= 1;\n left -= count[len];\n if (left < 0) {\n return -1;\n } /* over-subscribed */\n }\n if (left > 0 && (type === CODES || max !== 1)) {\n return -1; /* incomplete set */\n }\n\n /* generate offsets into symbol table for each length for sorting */\n offs[1] = 0;\n for (len = 1; len < MAXBITS; len++) {\n offs[len + 1] = offs[len] + count[len];\n }\n\n /* sort symbols by length, by symbol order within each length */\n for (sym = 0; sym < codes; sym++) {\n if (lens[lens_index + sym] !== 0) {\n work[offs[lens[lens_index + sym]]++] = sym;\n }\n }\n\n /*\n Create and fill in decoding tables. In this loop, the table being\n filled is at next and has curr index bits. The code being used is huff\n with length len. That code is converted to an index by dropping drop\n bits off of the bottom. For codes where len is less than drop + curr,\n those top drop + curr - len bits are incremented through all values to\n fill the table with replicated entries.\n\n root is the number of index bits for the root table. When len exceeds\n root, sub-tables are created pointed to by the root entry with an index\n of the low root bits of huff. This is saved in low to check for when a\n new sub-table should be started. drop is zero when the root table is\n being filled, and drop is root when sub-tables are being filled.\n\n When a new sub-table is needed, it is necessary to look ahead in the\n code lengths to determine what size sub-table is needed. The length\n counts are used for this, and so count[] is decremented as codes are\n entered in the tables.\n\n used keeps track of how many table entries have been allocated from the\n provided *table space. It is checked for LENS and DIST tables against\n the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in\n the initial root table size constants. See the comments in inftrees.h\n for more information.\n\n sym increments through all symbols, and the loop terminates when\n all codes of length max, i.e. all codes, have been processed. This\n routine permits incomplete codes, so another loop after this one fills\n in the rest of the decoding tables with invalid code markers.\n */\n\n /* set up for code type */\n // poor man optimization - use if-else instead of switch,\n // to avoid deopts in old v8\n if (type === CODES) {\n base = extra = work; /* dummy value--not used */\n end = 19;\n } else if (type === LENS) {\n base = lbase;\n base_index -= 257;\n extra = lext;\n extra_index -= 257;\n end = 256;\n } else { /* DISTS */\n base = dbase;\n extra = dext;\n end = -1;\n }\n\n /* initialize opts for loop */\n huff = 0; /* starting code */\n sym = 0; /* starting code symbol */\n len = min; /* starting code length */\n next = table_index; /* current table to fill in */\n curr = root; /* current table index bits */\n drop = 0; /* current bits to drop from code for index */\n low = -1; /* trigger new sub-table when len > root */\n used = 1 << root; /* use root table entries */\n mask = used - 1; /* mask for comparing low */\n\n /* check available table space */\n if ((type === LENS && used > ENOUGH_LENS) ||\n (type === DISTS && used > ENOUGH_DISTS)) {\n return 1;\n }\n\n var i=0;\n /* process all codes and make table entries */\n for (;;) {\n i++;\n /* create table entry */\n here_bits = len - drop;\n if (work[sym] < end) {\n here_op = 0;\n here_val = work[sym];\n }\n else if (work[sym] > end) {\n here_op = extra[extra_index + work[sym]];\n here_val = base[base_index + work[sym]];\n }\n else {\n here_op = 32 + 64; /* end of block */\n here_val = 0;\n }\n\n /* replicate for those indices with low len bits equal to huff */\n incr = 1 << (len - drop);\n fill = 1 << curr;\n min = fill; /* save offset to next table */\n do {\n fill -= incr;\n table[next + (huff >> drop) + fill] = (here_bits << 24) | (here_op << 16) | here_val |0;\n } while (fill !== 0);\n\n /* backwards increment the len-bit code huff */\n incr = 1 << (len - 1);\n while (huff & incr) {\n incr >>= 1;\n }\n if (incr !== 0) {\n huff &= incr - 1;\n huff += incr;\n } else {\n huff = 0;\n }\n\n /* go to next symbol, update count, len */\n sym++;\n if (--count[len] === 0) {\n if (len === max) { break; }\n len = lens[lens_index + work[sym]];\n }\n\n /* create new sub-table if needed */\n if (len > root && (huff & mask) !== low) {\n /* if first time, transition to sub-tables */\n if (drop === 0) {\n drop = root;\n }\n\n /* increment past last table */\n next += min; /* here min is 1 << curr */\n\n /* determine length of next table */\n curr = len - drop;\n left = 1 << curr;\n while (curr + drop < max) {\n left -= count[curr + drop];\n if (left <= 0) { break; }\n curr++;\n left <<= 1;\n }\n\n /* check for enough space */\n used += 1 << curr;\n if ((type === LENS && used > ENOUGH_LENS) ||\n (type === DISTS && used > ENOUGH_DISTS)) {\n return 1;\n }\n\n /* point entry in root table to sub-table */\n low = huff & mask;\n /*table.op[low] = curr;\n table.bits[low] = root;\n table.val[low] = next - opts.table_index;*/\n table[low] = (root << 24) | (curr << 16) | (next - table_index) |0;\n }\n }\n\n /* fill in remaining table entry if code is incomplete (guaranteed to have\n at most one remaining entry, since if the code is incomplete, the\n maximum code length that was allowed to get this far is one bit) */\n if (huff !== 0) {\n //table.op[next + huff] = 64; /* invalid code marker */\n //table.bits[next + huff] = len - drop;\n //table.val[next + huff] = 0;\n table[next + huff] = ((len - drop) << 24) | (64 << 16) |0;\n }\n\n /* set return parameters */\n //opts.table_index += used;\n opts.bits = root;\n return 0;\n};\n\n},{\"../utils/common\":27}],37:[function(_dereq_,module,exports){\n'use strict';\n\nmodule.exports = {\n '2': 'need dictionary', /* Z_NEED_DICT 2 */\n '1': 'stream end', /* Z_STREAM_END 1 */\n '0': '', /* Z_OK 0 */\n '-1': 'file error', /* Z_ERRNO (-1) */\n '-2': 'stream error', /* Z_STREAM_ERROR (-2) */\n '-3': 'data error', /* Z_DATA_ERROR (-3) */\n '-4': 'insufficient memory', /* Z_MEM_ERROR (-4) */\n '-5': 'buffer error', /* Z_BUF_ERROR (-5) */\n '-6': 'incompatible version' /* Z_VERSION_ERROR (-6) */\n};\n},{}],38:[function(_dereq_,module,exports){\n'use strict';\n\n\nvar utils = _dereq_('../utils/common');\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n//var Z_FILTERED = 1;\n//var Z_HUFFMAN_ONLY = 2;\n//var Z_RLE = 3;\nvar Z_FIXED = 4;\n//var Z_DEFAULT_STRATEGY = 0;\n\n/* Possible values of the data_type field (though see inflate()) */\nvar Z_BINARY = 0;\nvar Z_TEXT = 1;\n//var Z_ASCII = 1; // = Z_TEXT\nvar Z_UNKNOWN = 2;\n\n/*============================================================================*/\n\n\nfunction zero(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } }\n\n// From zutil.h\n\nvar STORED_BLOCK = 0;\nvar STATIC_TREES = 1;\nvar DYN_TREES = 2;\n/* The three kinds of block type */\n\nvar MIN_MATCH = 3;\nvar MAX_MATCH = 258;\n/* The minimum and maximum match lengths */\n\n// From deflate.h\n/* ===========================================================================\n * Internal compression state.\n */\n\nvar LENGTH_CODES = 29;\n/* number of length codes, not counting the special END_BLOCK code */\n\nvar LITERALS = 256;\n/* number of literal bytes 0..255 */\n\nvar L_CODES = LITERALS + 1 + LENGTH_CODES;\n/* number of Literal or Length codes, including the END_BLOCK code */\n\nvar D_CODES = 30;\n/* number of distance codes */\n\nvar BL_CODES = 19;\n/* number of codes used to transfer the bit lengths */\n\nvar HEAP_SIZE = 2*L_CODES + 1;\n/* maximum heap size */\n\nvar MAX_BITS = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nvar Buf_size = 16;\n/* size of bit buffer in bi_buf */\n\n\n/* ===========================================================================\n * Constants\n */\n\nvar MAX_BL_BITS = 7;\n/* Bit length codes must not exceed MAX_BL_BITS bits */\n\nvar END_BLOCK = 256;\n/* end of block literal code */\n\nvar REP_3_6 = 16;\n/* repeat previous bit length 3-6 times (2 bits of repeat count) */\n\nvar REPZ_3_10 = 17;\n/* repeat a zero length 3-10 times (3 bits of repeat count) */\n\nvar REPZ_11_138 = 18;\n/* repeat a zero length 11-138 times (7 bits of repeat count) */\n\nvar extra_lbits = /* extra bits for each length code */\n [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];\n\nvar extra_dbits = /* extra bits for each distance code */\n [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];\n\nvar extra_blbits = /* extra bits for each bit length code */\n [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];\n\nvar bl_order =\n [16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];\n/* The lengths of the bit length codes are sent in order of decreasing\n * probability, to avoid transmitting the lengths for unused bit length codes.\n */\n\n/* ===========================================================================\n * Local data. These are initialized only once.\n */\n\n// We pre-fill arrays with 0 to avoid uninitialized gaps\n\nvar DIST_CODE_LEN = 512; /* see definition of array dist_code below */\n\n// !!!! Use flat array insdead of structure, Freq = i*2, Len = i*2+1\nvar static_ltree = new Array((L_CODES+2) * 2);\nzero(static_ltree);\n/* The static literal tree. Since the bit lengths are imposed, there is no\n * need for the L_CODES extra codes used during heap construction. However\n * The codes 286 and 287 are needed to build a canonical tree (see _tr_init\n * below).\n */\n\nvar static_dtree = new Array(D_CODES * 2);\nzero(static_dtree);\n/* The static distance tree. (Actually a trivial tree since all codes use\n * 5 bits.)\n */\n\nvar _dist_code = new Array(DIST_CODE_LEN);\nzero(_dist_code);\n/* Distance codes. The first 256 values correspond to the distances\n * 3 .. 258, the last 256 values correspond to the top 8 bits of\n * the 15 bit distances.\n */\n\nvar _length_code = new Array(MAX_MATCH-MIN_MATCH+1);\nzero(_length_code);\n/* length code for each normalized match length (0 == MIN_MATCH) */\n\nvar base_length = new Array(LENGTH_CODES);\nzero(base_length);\n/* First normalized length for each code (0 = MIN_MATCH) */\n\nvar base_dist = new Array(D_CODES);\nzero(base_dist);\n/* First normalized distance for each code (0 = distance of 1) */\n\n\nvar StaticTreeDesc = function (static_tree, extra_bits, extra_base, elems, max_length) {\n\n this.static_tree = static_tree; /* static tree or NULL */\n this.extra_bits = extra_bits; /* extra bits for each code or NULL */\n this.extra_base = extra_base; /* base index for extra_bits */\n this.elems = elems; /* max number of elements in the tree */\n this.max_length = max_length; /* max bit length for the codes */\n\n // show if `static_tree` has data or dummy - needed for monomorphic objects\n this.has_stree = static_tree && static_tree.length;\n};\n\n\nvar static_l_desc;\nvar static_d_desc;\nvar static_bl_desc;\n\n\nvar TreeDesc = function(dyn_tree, stat_desc) {\n this.dyn_tree = dyn_tree; /* the dynamic tree */\n this.max_code = 0; /* largest code with non zero frequency */\n this.stat_desc = stat_desc; /* the corresponding static tree */\n};\n\n\n\nfunction d_code(dist) {\n return dist < 256 ? _dist_code[dist] : _dist_code[256 + (dist >>> 7)];\n}\n\n\n/* ===========================================================================\n * Output a short LSB first on the stream.\n * IN assertion: there is enough room in pendingBuf.\n */\nfunction put_short (s, w) {\n// put_byte(s, (uch)((w) & 0xff));\n// put_byte(s, (uch)((ush)(w) >> 8));\n s.pending_buf[s.pending++] = (w) & 0xff;\n s.pending_buf[s.pending++] = (w >>> 8) & 0xff;\n}\n\n\n/* ===========================================================================\n * Send a value on a given number of bits.\n * IN assertion: length <= 16 and value fits in length bits.\n */\nfunction send_bits(s, value, length) {\n if (s.bi_valid > (Buf_size - length)) {\n s.bi_buf |= (value << s.bi_valid) & 0xffff;\n put_short(s, s.bi_buf);\n s.bi_buf = value >> (Buf_size - s.bi_valid);\n s.bi_valid += length - Buf_size;\n } else {\n s.bi_buf |= (value << s.bi_valid) & 0xffff;\n s.bi_valid += length;\n }\n}\n\n\nfunction send_code(s, c, tree) {\n send_bits(s, tree[c*2]/*.Code*/, tree[c*2 + 1]/*.Len*/);\n}\n\n\n/* ===========================================================================\n * Reverse the first len bits of a code, using straightforward code (a faster\n * method would use a table)\n * IN assertion: 1 <= len <= 15\n */\nfunction bi_reverse(code, len) {\n var res = 0;\n do {\n res |= code & 1;\n code >>>= 1;\n res <<= 1;\n } while (--len > 0);\n return res >>> 1;\n}\n\n\n/* ===========================================================================\n * Flush the bit buffer, keeping at most 7 bits in it.\n */\nfunction bi_flush(s) {\n if (s.bi_valid === 16) {\n put_short(s, s.bi_buf);\n s.bi_buf = 0;\n s.bi_valid = 0;\n\n } else if (s.bi_valid >= 8) {\n s.pending_buf[s.pending++] = s.bi_buf & 0xff;\n s.bi_buf >>= 8;\n s.bi_valid -= 8;\n }\n}\n\n\n/* ===========================================================================\n * Compute the optimal bit lengths for a tree and update the total bit length\n * for the current block.\n * IN assertion: the fields freq and dad are set, heap[heap_max] and\n * above are the tree nodes sorted by increasing frequency.\n * OUT assertions: the field len is set to the optimal bit length, the\n * array bl_count contains the frequencies for each bit length.\n * The length opt_len is updated; static_len is also updated if stree is\n * not null.\n */\nfunction gen_bitlen(s, desc)\n// deflate_state *s;\n// tree_desc *desc; /* the tree descriptor */\n{\n var tree = desc.dyn_tree;\n var max_code = desc.max_code;\n var stree = desc.stat_desc.static_tree;\n var has_stree = desc.stat_desc.has_stree;\n var extra = desc.stat_desc.extra_bits;\n var base = desc.stat_desc.extra_base;\n var max_length = desc.stat_desc.max_length;\n var h; /* heap index */\n var n, m; /* iterate over the tree elements */\n var bits; /* bit length */\n var xbits; /* extra bits */\n var f; /* frequency */\n var overflow = 0; /* number of elements with bit length too large */\n\n for (bits = 0; bits <= MAX_BITS; bits++) {\n s.bl_count[bits] = 0;\n }\n\n /* In a first pass, compute the optimal bit lengths (which may\n * overflow in the case of the bit length tree).\n */\n tree[s.heap[s.heap_max]*2 + 1]/*.Len*/ = 0; /* root of the heap */\n\n for (h = s.heap_max+1; h < HEAP_SIZE; h++) {\n n = s.heap[h];\n bits = tree[tree[n*2 +1]/*.Dad*/ * 2 + 1]/*.Len*/ + 1;\n if (bits > max_length) {\n bits = max_length;\n overflow++;\n }\n tree[n*2 + 1]/*.Len*/ = bits;\n /* We overwrite tree[n].Dad which is no longer needed */\n\n if (n > max_code) { continue; } /* not a leaf node */\n\n s.bl_count[bits]++;\n xbits = 0;\n if (n >= base) {\n xbits = extra[n-base];\n }\n f = tree[n * 2]/*.Freq*/;\n s.opt_len += f * (bits + xbits);\n if (has_stree) {\n s.static_len += f * (stree[n*2 + 1]/*.Len*/ + xbits);\n }\n }\n if (overflow === 0) { return; }\n\n // Trace((stderr,\"\\nbit length overflow\\n\"));\n /* This happens for example on obj2 and pic of the Calgary corpus */\n\n /* Find the first bit length which could increase: */\n do {\n bits = max_length-1;\n while (s.bl_count[bits] === 0) { bits--; }\n s.bl_count[bits]--; /* move one leaf down the tree */\n s.bl_count[bits+1] += 2; /* move one overflow item as its brother */\n s.bl_count[max_length]--;\n /* The brother of the overflow item also moves one step up,\n * but this does not affect bl_count[max_length]\n */\n overflow -= 2;\n } while (overflow > 0);\n\n /* Now recompute all bit lengths, scanning in increasing frequency.\n * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all\n * lengths instead of fixing only the wrong ones. This idea is taken\n * from 'ar' written by Haruhiko Okumura.)\n */\n for (bits = max_length; bits !== 0; bits--) {\n n = s.bl_count[bits];\n while (n !== 0) {\n m = s.heap[--h];\n if (m > max_code) { continue; }\n if (tree[m*2 + 1]/*.Len*/ !== bits) {\n // Trace((stderr,\"code %d bits %d->%d\\n\", m, tree[m].Len, bits));\n s.opt_len += (bits - tree[m*2 + 1]/*.Len*/)*tree[m*2]/*.Freq*/;\n tree[m*2 + 1]/*.Len*/ = bits;\n }\n n--;\n }\n }\n}\n\n\n/* ===========================================================================\n * Generate the codes for a given tree and bit counts (which need not be\n * optimal).\n * IN assertion: the array bl_count contains the bit length statistics for\n * the given tree and the field len is set for all tree elements.\n * OUT assertion: the field code is set for all tree elements of non\n * zero code length.\n */\nfunction gen_codes(tree, max_code, bl_count)\n// ct_data *tree; /* the tree to decorate */\n// int max_code; /* largest code with non zero frequency */\n// ushf *bl_count; /* number of codes at each bit length */\n{\n var next_code = new Array(MAX_BITS+1); /* next code value for each bit length */\n var code = 0; /* running code value */\n var bits; /* bit index */\n var n; /* code index */\n\n /* The distribution counts are first used to generate the code values\n * without bit reversal.\n */\n for (bits = 1; bits <= MAX_BITS; bits++) {\n next_code[bits] = code = (code + bl_count[bits-1]) << 1;\n }\n /* Check that the bit counts in bl_count are consistent. The last code\n * must be all ones.\n */\n //Assert (code + bl_count[MAX_BITS]-1 == (1< length code (0..28) */\n length = 0;\n for (code = 0; code < LENGTH_CODES-1; code++) {\n base_length[code] = length;\n for (n = 0; n < (1< dist code (0..29) */\n dist = 0;\n for (code = 0 ; code < 16; code++) {\n base_dist[code] = dist;\n for (n = 0; n < (1<>= 7; /* from now on, all distances are divided by 128 */\n for ( ; code < D_CODES; code++) {\n base_dist[code] = dist << 7;\n for (n = 0; n < (1<<(extra_dbits[code]-7)); n++) {\n _dist_code[256 + dist++] = code;\n }\n }\n //Assert (dist == 256, \"tr_static_init: 256+dist != 512\");\n\n /* Construct the codes of the static literal tree */\n for (bits = 0; bits <= MAX_BITS; bits++) {\n bl_count[bits] = 0;\n }\n\n n = 0;\n while (n <= 143) {\n static_ltree[n*2 + 1]/*.Len*/ = 8;\n n++;\n bl_count[8]++;\n }\n while (n <= 255) {\n static_ltree[n*2 + 1]/*.Len*/ = 9;\n n++;\n bl_count[9]++;\n }\n while (n <= 279) {\n static_ltree[n*2 + 1]/*.Len*/ = 7;\n n++;\n bl_count[7]++;\n }\n while (n <= 287) {\n static_ltree[n*2 + 1]/*.Len*/ = 8;\n n++;\n bl_count[8]++;\n }\n /* Codes 286 and 287 do not exist, but we must include them in the\n * tree construction to get a canonical Huffman tree (longest code\n * all ones)\n */\n gen_codes(static_ltree, L_CODES+1, bl_count);\n\n /* The static distance tree is trivial: */\n for (n = 0; n < D_CODES; n++) {\n static_dtree[n*2 + 1]/*.Len*/ = 5;\n static_dtree[n*2]/*.Code*/ = bi_reverse(n, 5);\n }\n\n // Now data ready and we can init static trees\n static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS+1, L_CODES, MAX_BITS);\n static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0, D_CODES, MAX_BITS);\n static_bl_desc =new StaticTreeDesc(new Array(0), extra_blbits, 0, BL_CODES, MAX_BL_BITS);\n\n //static_init_done = true;\n}\n\n\n/* ===========================================================================\n * Initialize a new block.\n */\nfunction init_block(s) {\n var n; /* iterates over tree elements */\n\n /* Initialize the trees. */\n for (n = 0; n < L_CODES; n++) { s.dyn_ltree[n*2]/*.Freq*/ = 0; }\n for (n = 0; n < D_CODES; n++) { s.dyn_dtree[n*2]/*.Freq*/ = 0; }\n for (n = 0; n < BL_CODES; n++) { s.bl_tree[n*2]/*.Freq*/ = 0; }\n\n s.dyn_ltree[END_BLOCK*2]/*.Freq*/ = 1;\n s.opt_len = s.static_len = 0;\n s.last_lit = s.matches = 0;\n}\n\n\n/* ===========================================================================\n * Flush the bit buffer and align the output on a byte boundary\n */\nfunction bi_windup(s)\n{\n if (s.bi_valid > 8) {\n put_short(s, s.bi_buf);\n } else if (s.bi_valid > 0) {\n //put_byte(s, (Byte)s->bi_buf);\n s.pending_buf[s.pending++] = s.bi_buf;\n }\n s.bi_buf = 0;\n s.bi_valid = 0;\n}\n\n/* ===========================================================================\n * Copy a stored block, storing first the length and its\n * one's complement if requested.\n */\nfunction copy_block(s, buf, len, header)\n//DeflateState *s;\n//charf *buf; /* the input data */\n//unsigned len; /* its length */\n//int header; /* true if block header must be written */\n{\n bi_windup(s); /* align on byte boundary */\n\n if (header) {\n put_short(s, len);\n put_short(s, ~len);\n }\n// while (len--) {\n// put_byte(s, *buf++);\n// }\n utils.arraySet(s.pending_buf, s.window, buf, len, s.pending);\n s.pending += len;\n}\n\n/* ===========================================================================\n * Compares to subtrees, using the tree depth as tie breaker when\n * the subtrees have equal frequency. This minimizes the worst case length.\n */\nfunction smaller(tree, n, m, depth) {\n var _n2 = n*2;\n var _m2 = m*2;\n return (tree[_n2]/*.Freq*/ < tree[_m2]/*.Freq*/ ||\n (tree[_n2]/*.Freq*/ === tree[_m2]/*.Freq*/ && depth[n] <= depth[m]));\n}\n\n/* ===========================================================================\n * Restore the heap property by moving down the tree starting at node k,\n * exchanging a node with the smallest of its two sons if necessary, stopping\n * when the heap property is re-established (each father smaller than its\n * two sons).\n */\nfunction pqdownheap(s, tree, k)\n// deflate_state *s;\n// ct_data *tree; /* the tree to restore */\n// int k; /* node to move down */\n{\n var v = s.heap[k];\n var j = k << 1; /* left son of k */\n while (j <= s.heap_len) {\n /* Set j to the smallest of the two sons: */\n if (j < s.heap_len &&\n smaller(tree, s.heap[j+1], s.heap[j], s.depth)) {\n j++;\n }\n /* Exit if v is smaller than both sons */\n if (smaller(tree, v, s.heap[j], s.depth)) { break; }\n\n /* Exchange v with the smallest son */\n s.heap[k] = s.heap[j];\n k = j;\n\n /* And continue down the tree, setting j to the left son of k */\n j <<= 1;\n }\n s.heap[k] = v;\n}\n\n\n// inlined manually\n// var SMALLEST = 1;\n\n/* ===========================================================================\n * Send the block data compressed using the given Huffman trees\n */\nfunction compress_block(s, ltree, dtree)\n// deflate_state *s;\n// const ct_data *ltree; /* literal tree */\n// const ct_data *dtree; /* distance tree */\n{\n var dist; /* distance of matched string */\n var lc; /* match length or unmatched char (if dist == 0) */\n var lx = 0; /* running index in l_buf */\n var code; /* the code to send */\n var extra; /* number of extra bits to send */\n\n if (s.last_lit !== 0) {\n do {\n dist = (s.pending_buf[s.d_buf + lx*2] << 8) | (s.pending_buf[s.d_buf + lx*2 + 1]);\n lc = s.pending_buf[s.l_buf + lx];\n lx++;\n\n if (dist === 0) {\n send_code(s, lc, ltree); /* send a literal byte */\n //Tracecv(isgraph(lc), (stderr,\" '%c' \", lc));\n } else {\n /* Here, lc is the match length - MIN_MATCH */\n code = _length_code[lc];\n send_code(s, code+LITERALS+1, ltree); /* send the length code */\n extra = extra_lbits[code];\n if (extra !== 0) {\n lc -= base_length[code];\n send_bits(s, lc, extra); /* send the extra length bits */\n }\n dist--; /* dist is now the match distance - 1 */\n code = d_code(dist);\n //Assert (code < D_CODES, \"bad d_code\");\n\n send_code(s, code, dtree); /* send the distance code */\n extra = extra_dbits[code];\n if (extra !== 0) {\n dist -= base_dist[code];\n send_bits(s, dist, extra); /* send the extra distance bits */\n }\n } /* literal or match pair ? */\n\n /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */\n //Assert((uInt)(s->pending) < s->lit_bufsize + 2*lx,\n // \"pendingBuf overflow\");\n\n } while (lx < s.last_lit);\n }\n\n send_code(s, END_BLOCK, ltree);\n}\n\n\n/* ===========================================================================\n * Construct one Huffman tree and assigns the code bit strings and lengths.\n * Update the total bit length for the current block.\n * IN assertion: the field freq is set for all tree elements.\n * OUT assertions: the fields len and code are set to the optimal bit length\n * and corresponding code. The length opt_len is updated; static_len is\n * also updated if stree is not null. The field max_code is set.\n */\nfunction build_tree(s, desc)\n// deflate_state *s;\n// tree_desc *desc; /* the tree descriptor */\n{\n var tree = desc.dyn_tree;\n var stree = desc.stat_desc.static_tree;\n var has_stree = desc.stat_desc.has_stree;\n var elems = desc.stat_desc.elems;\n var n, m; /* iterate over heap elements */\n var max_code = -1; /* largest code with non zero frequency */\n var node; /* new node being created */\n\n /* Construct the initial heap, with least frequent element in\n * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].\n * heap[0] is not used.\n */\n s.heap_len = 0;\n s.heap_max = HEAP_SIZE;\n\n for (n = 0; n < elems; n++) {\n if (tree[n * 2]/*.Freq*/ !== 0) {\n s.heap[++s.heap_len] = max_code = n;\n s.depth[n] = 0;\n\n } else {\n tree[n*2 + 1]/*.Len*/ = 0;\n }\n }\n\n /* The pkzip format requires that at least one distance code exists,\n * and that at least one bit should be sent even if there is only one\n * possible code. So to avoid special checks later on we force at least\n * two codes of non zero frequency.\n */\n while (s.heap_len < 2) {\n node = s.heap[++s.heap_len] = (max_code < 2 ? ++max_code : 0);\n tree[node * 2]/*.Freq*/ = 1;\n s.depth[node] = 0;\n s.opt_len--;\n\n if (has_stree) {\n s.static_len -= stree[node*2 + 1]/*.Len*/;\n }\n /* node is 0 or 1 so it does not have extra bits */\n }\n desc.max_code = max_code;\n\n /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,\n * establish sub-heaps of increasing lengths:\n */\n for (n = (s.heap_len >> 1/*int /2*/); n >= 1; n--) { pqdownheap(s, tree, n); }\n\n /* Construct the Huffman tree by repeatedly combining the least two\n * frequent nodes.\n */\n node = elems; /* next internal node of the tree */\n do {\n //pqremove(s, tree, n); /* n = node of least frequency */\n /*** pqremove ***/\n n = s.heap[1/*SMALLEST*/];\n s.heap[1/*SMALLEST*/] = s.heap[s.heap_len--];\n pqdownheap(s, tree, 1/*SMALLEST*/);\n /***/\n\n m = s.heap[1/*SMALLEST*/]; /* m = node of next least frequency */\n\n s.heap[--s.heap_max] = n; /* keep the nodes sorted by frequency */\n s.heap[--s.heap_max] = m;\n\n /* Create a new node father of n and m */\n tree[node * 2]/*.Freq*/ = tree[n * 2]/*.Freq*/ + tree[m * 2]/*.Freq*/;\n s.depth[node] = (s.depth[n] >= s.depth[m] ? s.depth[n] : s.depth[m]) + 1;\n tree[n*2 + 1]/*.Dad*/ = tree[m*2 + 1]/*.Dad*/ = node;\n\n /* and insert the new node in the heap */\n s.heap[1/*SMALLEST*/] = node++;\n pqdownheap(s, tree, 1/*SMALLEST*/);\n\n } while (s.heap_len >= 2);\n\n s.heap[--s.heap_max] = s.heap[1/*SMALLEST*/];\n\n /* At this point, the fields freq and dad are set. We can now\n * generate the bit lengths.\n */\n gen_bitlen(s, desc);\n\n /* The field len is now set, we can generate the bit codes */\n gen_codes(tree, max_code, s.bl_count);\n}\n\n\n/* ===========================================================================\n * Scan a literal or distance tree to determine the frequencies of the codes\n * in the bit length tree.\n */\nfunction scan_tree(s, tree, max_code)\n// deflate_state *s;\n// ct_data *tree; /* the tree to be scanned */\n// int max_code; /* and its largest code of non zero frequency */\n{\n var n; /* iterates over all tree elements */\n var prevlen = -1; /* last emitted length */\n var curlen; /* length of current code */\n\n var nextlen = tree[0*2 + 1]/*.Len*/; /* length of next code */\n\n var count = 0; /* repeat count of the current code */\n var max_count = 7; /* max repeat count */\n var min_count = 4; /* min repeat count */\n\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n }\n tree[(max_code+1)*2 + 1]/*.Len*/ = 0xffff; /* guard */\n\n for (n = 0; n <= max_code; n++) {\n curlen = nextlen;\n nextlen = tree[(n+1)*2 + 1]/*.Len*/;\n\n if (++count < max_count && curlen === nextlen) {\n continue;\n\n } else if (count < min_count) {\n s.bl_tree[curlen * 2]/*.Freq*/ += count;\n\n } else if (curlen !== 0) {\n\n if (curlen !== prevlen) { s.bl_tree[curlen * 2]/*.Freq*/++; }\n s.bl_tree[REP_3_6*2]/*.Freq*/++;\n\n } else if (count <= 10) {\n s.bl_tree[REPZ_3_10*2]/*.Freq*/++;\n\n } else {\n s.bl_tree[REPZ_11_138*2]/*.Freq*/++;\n }\n\n count = 0;\n prevlen = curlen;\n\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n\n } else if (curlen === nextlen) {\n max_count = 6;\n min_count = 3;\n\n } else {\n max_count = 7;\n min_count = 4;\n }\n }\n}\n\n\n/* ===========================================================================\n * Send a literal or distance tree in compressed form, using the codes in\n * bl_tree.\n */\nfunction send_tree(s, tree, max_code)\n// deflate_state *s;\n// ct_data *tree; /* the tree to be scanned */\n// int max_code; /* and its largest code of non zero frequency */\n{\n var n; /* iterates over all tree elements */\n var prevlen = -1; /* last emitted length */\n var curlen; /* length of current code */\n\n var nextlen = tree[0*2 + 1]/*.Len*/; /* length of next code */\n\n var count = 0; /* repeat count of the current code */\n var max_count = 7; /* max repeat count */\n var min_count = 4; /* min repeat count */\n\n /* tree[max_code+1].Len = -1; */ /* guard already set */\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n }\n\n for (n = 0; n <= max_code; n++) {\n curlen = nextlen;\n nextlen = tree[(n+1)*2 + 1]/*.Len*/;\n\n if (++count < max_count && curlen === nextlen) {\n continue;\n\n } else if (count < min_count) {\n do { send_code(s, curlen, s.bl_tree); } while (--count !== 0);\n\n } else if (curlen !== 0) {\n if (curlen !== prevlen) {\n send_code(s, curlen, s.bl_tree);\n count--;\n }\n //Assert(count >= 3 && count <= 6, \" 3_6?\");\n send_code(s, REP_3_6, s.bl_tree);\n send_bits(s, count-3, 2);\n\n } else if (count <= 10) {\n send_code(s, REPZ_3_10, s.bl_tree);\n send_bits(s, count-3, 3);\n\n } else {\n send_code(s, REPZ_11_138, s.bl_tree);\n send_bits(s, count-11, 7);\n }\n\n count = 0;\n prevlen = curlen;\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n\n } else if (curlen === nextlen) {\n max_count = 6;\n min_count = 3;\n\n } else {\n max_count = 7;\n min_count = 4;\n }\n }\n}\n\n\n/* ===========================================================================\n * Construct the Huffman tree for the bit lengths and return the index in\n * bl_order of the last bit length code to send.\n */\nfunction build_bl_tree(s) {\n var max_blindex; /* index of last bit length code of non zero freq */\n\n /* Determine the bit length frequencies for literal and distance trees */\n scan_tree(s, s.dyn_ltree, s.l_desc.max_code);\n scan_tree(s, s.dyn_dtree, s.d_desc.max_code);\n\n /* Build the bit length tree: */\n build_tree(s, s.bl_desc);\n /* opt_len now includes the length of the tree representations, except\n * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.\n */\n\n /* Determine the number of bit length codes to send. The pkzip format\n * requires that at least 4 bit length codes be sent. (appnote.txt says\n * 3 but the actual value used is 4.)\n */\n for (max_blindex = BL_CODES-1; max_blindex >= 3; max_blindex--) {\n if (s.bl_tree[bl_order[max_blindex]*2 + 1]/*.Len*/ !== 0) {\n break;\n }\n }\n /* Update opt_len to include the bit length tree and counts */\n s.opt_len += 3*(max_blindex+1) + 5+5+4;\n //Tracev((stderr, \"\\ndyn trees: dyn %ld, stat %ld\",\n // s->opt_len, s->static_len));\n\n return max_blindex;\n}\n\n\n/* ===========================================================================\n * Send the header for a block using dynamic Huffman trees: the counts, the\n * lengths of the bit length codes, the literal tree and the distance tree.\n * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.\n */\nfunction send_all_trees(s, lcodes, dcodes, blcodes)\n// deflate_state *s;\n// int lcodes, dcodes, blcodes; /* number of codes for each tree */\n{\n var rank; /* index in bl_order */\n\n //Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, \"not enough codes\");\n //Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,\n // \"too many codes\");\n //Tracev((stderr, \"\\nbl counts: \"));\n send_bits(s, lcodes-257, 5); /* not +255 as stated in appnote.txt */\n send_bits(s, dcodes-1, 5);\n send_bits(s, blcodes-4, 4); /* not -3 as stated in appnote.txt */\n for (rank = 0; rank < blcodes; rank++) {\n //Tracev((stderr, \"\\nbl code %2d \", bl_order[rank]));\n send_bits(s, s.bl_tree[bl_order[rank]*2 + 1]/*.Len*/, 3);\n }\n //Tracev((stderr, \"\\nbl tree: sent %ld\", s->bits_sent));\n\n send_tree(s, s.dyn_ltree, lcodes-1); /* literal tree */\n //Tracev((stderr, \"\\nlit tree: sent %ld\", s->bits_sent));\n\n send_tree(s, s.dyn_dtree, dcodes-1); /* distance tree */\n //Tracev((stderr, \"\\ndist tree: sent %ld\", s->bits_sent));\n}\n\n\n/* ===========================================================================\n * Check if the data type is TEXT or BINARY, using the following algorithm:\n * - TEXT if the two conditions below are satisfied:\n * a) There are no non-portable control characters belonging to the\n * \"black list\" (0..6, 14..25, 28..31).\n * b) There is at least one printable character belonging to the\n * \"white list\" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255).\n * - BINARY otherwise.\n * - The following partially-portable control characters form a\n * \"gray list\" that is ignored in this detection algorithm:\n * (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}).\n * IN assertion: the fields Freq of dyn_ltree are set.\n */\nfunction detect_data_type(s) {\n /* black_mask is the bit mask of black-listed bytes\n * set bits 0..6, 14..25, and 28..31\n * 0xf3ffc07f = binary 11110011111111111100000001111111\n */\n var black_mask = 0xf3ffc07f;\n var n;\n\n /* Check for non-textual (\"black-listed\") bytes. */\n for (n = 0; n <= 31; n++, black_mask >>>= 1) {\n if ((black_mask & 1) && (s.dyn_ltree[n*2]/*.Freq*/ !== 0)) {\n return Z_BINARY;\n }\n }\n\n /* Check for textual (\"white-listed\") bytes. */\n if (s.dyn_ltree[9 * 2]/*.Freq*/ !== 0 || s.dyn_ltree[10 * 2]/*.Freq*/ !== 0 ||\n s.dyn_ltree[13 * 2]/*.Freq*/ !== 0) {\n return Z_TEXT;\n }\n for (n = 32; n < LITERALS; n++) {\n if (s.dyn_ltree[n * 2]/*.Freq*/ !== 0) {\n return Z_TEXT;\n }\n }\n\n /* There are no \"black-listed\" or \"white-listed\" bytes:\n * this stream either is empty or has tolerated (\"gray-listed\") bytes only.\n */\n return Z_BINARY;\n}\n\n\nvar static_init_done = false;\n\n/* ===========================================================================\n * Initialize the tree data structures for a new zlib stream.\n */\nfunction _tr_init(s)\n{\n\n if (!static_init_done) {\n tr_static_init();\n static_init_done = true;\n }\n\n s.l_desc = new TreeDesc(s.dyn_ltree, static_l_desc);\n s.d_desc = new TreeDesc(s.dyn_dtree, static_d_desc);\n s.bl_desc = new TreeDesc(s.bl_tree, static_bl_desc);\n\n s.bi_buf = 0;\n s.bi_valid = 0;\n\n /* Initialize the first block of the first file: */\n init_block(s);\n}\n\n\n/* ===========================================================================\n * Send a stored block\n */\nfunction _tr_stored_block(s, buf, stored_len, last)\n//DeflateState *s;\n//charf *buf; /* input block */\n//ulg stored_len; /* length of input block */\n//int last; /* one if this is the last block for a file */\n{\n send_bits(s, (STORED_BLOCK<<1)+(last ? 1 : 0), 3); /* send block type */\n copy_block(s, buf, stored_len, true); /* with header */\n}\n\n\n/* ===========================================================================\n * Send one empty static block to give enough lookahead for inflate.\n * This takes 10 bits, of which 7 may remain in the bit buffer.\n */\nfunction _tr_align(s) {\n send_bits(s, STATIC_TREES<<1, 3);\n send_code(s, END_BLOCK, static_ltree);\n bi_flush(s);\n}\n\n\n/* ===========================================================================\n * Determine the best encoding for the current block: dynamic trees, static\n * trees or store, and output the encoded block to the zip file.\n */\nfunction _tr_flush_block(s, buf, stored_len, last)\n//DeflateState *s;\n//charf *buf; /* input block, or NULL if too old */\n//ulg stored_len; /* length of input block */\n//int last; /* one if this is the last block for a file */\n{\n var opt_lenb, static_lenb; /* opt_len and static_len in bytes */\n var max_blindex = 0; /* index of last bit length code of non zero freq */\n\n /* Build the Huffman trees unless a stored block is forced */\n if (s.level > 0) {\n\n /* Check if the file is binary or text */\n if (s.strm.data_type === Z_UNKNOWN) {\n s.strm.data_type = detect_data_type(s);\n }\n\n /* Construct the literal and distance trees */\n build_tree(s, s.l_desc);\n // Tracev((stderr, \"\\nlit data: dyn %ld, stat %ld\", s->opt_len,\n // s->static_len));\n\n build_tree(s, s.d_desc);\n // Tracev((stderr, \"\\ndist data: dyn %ld, stat %ld\", s->opt_len,\n // s->static_len));\n /* At this point, opt_len and static_len are the total bit lengths of\n * the compressed block data, excluding the tree representations.\n */\n\n /* Build the bit length tree for the above two trees, and get the index\n * in bl_order of the last bit length code to send.\n */\n max_blindex = build_bl_tree(s);\n\n /* Determine the best encoding. Compute the block lengths in bytes. */\n opt_lenb = (s.opt_len+3+7) >>> 3;\n static_lenb = (s.static_len+3+7) >>> 3;\n\n // Tracev((stderr, \"\\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u \",\n // opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,\n // s->last_lit));\n\n if (static_lenb <= opt_lenb) { opt_lenb = static_lenb; }\n\n } else {\n // Assert(buf != (char*)0, \"lost buf\");\n opt_lenb = static_lenb = stored_len + 5; /* force a stored block */\n }\n\n if ((stored_len+4 <= opt_lenb) && (buf !== -1)) {\n /* 4: two words for the lengths */\n\n /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.\n * Otherwise we can't have processed more than WSIZE input bytes since\n * the last block flush, because compression would have been\n * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to\n * transform a block into a stored block.\n */\n _tr_stored_block(s, buf, stored_len, last);\n\n } else if (s.strategy === Z_FIXED || static_lenb === opt_lenb) {\n\n send_bits(s, (STATIC_TREES<<1) + (last ? 1 : 0), 3);\n compress_block(s, static_ltree, static_dtree);\n\n } else {\n send_bits(s, (DYN_TREES<<1) + (last ? 1 : 0), 3);\n send_all_trees(s, s.l_desc.max_code+1, s.d_desc.max_code+1, max_blindex+1);\n compress_block(s, s.dyn_ltree, s.dyn_dtree);\n }\n // Assert (s->compressed_len == s->bits_sent, \"bad compressed size\");\n /* The above check is made mod 2^32, for files larger than 512 MB\n * and uLong implemented on 32 bits.\n */\n init_block(s);\n\n if (last) {\n bi_windup(s);\n }\n // Tracev((stderr,\"\\ncomprlen %lu(%lu) \", s->compressed_len>>3,\n // s->compressed_len-7*last));\n}\n\n/* ===========================================================================\n * Save the match info and tally the frequency counts. Return true if\n * the current block must be flushed.\n */\nfunction _tr_tally(s, dist, lc)\n// deflate_state *s;\n// unsigned dist; /* distance of matched string */\n// unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */\n{\n //var out_length, in_length, dcode;\n\n s.pending_buf[s.d_buf + s.last_lit * 2] = (dist >>> 8) & 0xff;\n s.pending_buf[s.d_buf + s.last_lit * 2 + 1] = dist & 0xff;\n\n s.pending_buf[s.l_buf + s.last_lit] = lc & 0xff;\n s.last_lit++;\n\n if (dist === 0) {\n /* lc is the unmatched char */\n s.dyn_ltree[lc*2]/*.Freq*/++;\n } else {\n s.matches++;\n /* Here, lc is the match length - MIN_MATCH */\n dist--; /* dist = match distance - 1 */\n //Assert((ush)dist < (ush)MAX_DIST(s) &&\n // (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&\n // (ush)d_code(dist) < (ush)D_CODES, \"_tr_tally: bad match\");\n\n s.dyn_ltree[(_length_code[lc]+LITERALS+1) * 2]/*.Freq*/++;\n s.dyn_dtree[d_code(dist) * 2]/*.Freq*/++;\n }\n\n// (!) This block is disabled in zlib defailts,\n// don't enable it for binary compatibility\n\n//#ifdef TRUNCATE_BLOCK\n// /* Try to guess if it is profitable to stop the current block here */\n// if ((s.last_lit & 0x1fff) === 0 && s.level > 2) {\n// /* Compute an upper bound for the compressed length */\n// out_length = s.last_lit*8;\n// in_length = s.strstart - s.block_start;\n//\n// for (dcode = 0; dcode < D_CODES; dcode++) {\n// out_length += s.dyn_dtree[dcode*2]/*.Freq*/ * (5 + extra_dbits[dcode]);\n// }\n// out_length >>>= 3;\n// //Tracev((stderr,\"\\nlast_lit %u, in %ld, out ~%ld(%ld%%) \",\n// // s->last_lit, in_length, out_length,\n// // 100L - out_length*100L/in_length));\n// if (s.matches < (s.last_lit>>1)/*int /2*/ && out_length < (in_length>>1)/*int /2*/) {\n// return true;\n// }\n// }\n//#endif\n\n return (s.last_lit === s.lit_bufsize-1);\n /* We avoid equality with lit_bufsize because of wraparound at 64K\n * on 16 bit machines and because stored blocks are restricted to\n * 64K-1 bytes.\n */\n}\n\nexports._tr_init = _tr_init;\nexports._tr_stored_block = _tr_stored_block;\nexports._tr_flush_block = _tr_flush_block;\nexports._tr_tally = _tr_tally;\nexports._tr_align = _tr_align;\n},{\"../utils/common\":27}],39:[function(_dereq_,module,exports){\n'use strict';\n\n\nfunction ZStream() {\n /* next input byte */\n this.input = null; // JS specific, because we have no pointers\n this.next_in = 0;\n /* number of bytes available at input */\n this.avail_in = 0;\n /* total number of input bytes read so far */\n this.total_in = 0;\n /* next output byte should be put there */\n this.output = null; // JS specific, because we have no pointers\n this.next_out = 0;\n /* remaining free space at output */\n this.avail_out = 0;\n /* total number of bytes output so far */\n this.total_out = 0;\n /* last error message, NULL if no error */\n this.msg = ''/*Z_NULL*/;\n /* not visible by applications */\n this.state = null;\n /* best guess about the data type: binary or text */\n this.data_type = 2/*Z_UNKNOWN*/;\n /* adler32 value of the uncompressed data */\n this.adler = 0;\n}\n\nmodule.exports = ZStream;\n},{}]},{},[9])\n(9)\n}));\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\nmodule.exports = (!STRICT_METHOD || !USES_TO_LENGTH) ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n} : [].forEach;\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/* cpexcel.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/*jshint -W100 */\nvar cptable = {version:\"1.14.0\"};\ncptable[437] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[620] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàąçêëèïîćÄĄĘęłôöĆûùŚÖܢ٥śƒŹŻóÓńŃźż¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[737] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρσςτυφχψ░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ωάέήϊίόύϋώΆΈΉΊΌΎΏ±≥≤ΪΫ÷≈°∙·√ⁿ²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[850] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø×ƒáíóúñѪº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈıÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýݯ´­±‗¾¶§÷¸°¨·¹³²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[852] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäůćçłëŐőîŹÄĆÉĹĺôöĽľŚśÖÜŤťŁ×čáíóúĄąŽžĘ꬟Ⱥ«»░▒▓│┤ÁÂĚŞ╣║╗╝Żż┐└┴┬├─┼Ăă╚╔╩╦╠═╬¤đĐĎËďŇÍÎě┘┌█▄ŢŮ▀ÓßÔŃńňŠšŔÚŕŰýÝţ´­˝˛ˇ˘§÷¸°¨˙űŘř■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[857] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîıÄÅÉæÆôöòûùİÖÜø£ØŞşáíóúñÑĞ𿮬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ºªÊËÈ�ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµ�×ÚÛÙìÿ¯´­±�¾¶§÷¸°¨·¹³²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[861] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèÐðÞÄÅÉæÆôöþûÝýÖÜø£Ø₧ƒáíóúÁÍÓÚ¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[865] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø₧ƒáíóúñѪº¿⌐¬½¼¡«¤░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[866] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[874] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€����…�����������‘’“”•–—�������� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[895] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ČüéďäĎŤčěĚĹÍľǪÄÁÉžŽôöÓůÚýÖÜŠĽÝŘťáíóúňŇŮÔšřŕŔ¼§«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[932] = (function(){ var d = [], e = {}, D = [], j;\nD[0] = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~���������������������������������。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙゚��������������������������������\".split(\"\");\nfor(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];}\nD[129] = \"���������������������������������������������������������������� 、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/\~∥|…‥‘’“”()〔〕[]{}〈〉《》「」『』【】+-±×�÷=≠<>≦≧∞∴♂♀°′″℃¥$¢£%#&*@§☆★○●◎◇◆□■△▲▽▼※〒→←↑↓〓�����������∈∋⊆⊇⊂⊃∪∩��������∧∨¬⇒⇔∀∃�����������∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬�������ʼn♯♭♪†‡¶����◯���\".split(\"\");\nfor(j = 0; j != D[129].length; ++j) if(D[129][j].charCodeAt(0) !== 0xFFFD) { e[D[129][j]] = 33024 + j; d[33024 + j] = D[129][j];}\nD[130] = \"�������������������������������������������������������������������������������0123456789�������ABCDEFGHIJKLMNOPQRSTUVWXYZ�������abcdefghijklmnopqrstuvwxyz����ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん��������������\".split(\"\");\nfor(j = 0; j != D[130].length; ++j) if(D[130][j].charCodeAt(0) !== 0xFFFD) { e[D[130][j]] = 33280 + j; d[33280 + j] = D[130][j];}\nD[131] = \"����������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミ�ムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ��������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�����������������������������������������\".split(\"\");\nfor(j = 0; j != D[131].length; ++j) if(D[131][j].charCodeAt(0) !== 0xFFFD) { e[D[131][j]] = 33536 + j; d[33536 + j] = D[131][j];}\nD[132] = \"����������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмн�опрстуфхцчшщъыьэюя�������������─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂�����������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[132].length; ++j) if(D[132][j].charCodeAt(0) !== 0xFFFD) { e[D[132][j]] = 33792 + j; d[33792 + j] = D[132][j];}\nD[135] = \"����������������������������������������������������������������①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ�㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡��������㍻�〝〟№㏍℡㊤㊥㊦㊧㊨㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪���������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[135].length; ++j) if(D[135][j].charCodeAt(0) !== 0xFFFD) { e[D[135][j]] = 34560 + j; d[34560 + j] = D[135][j];}\nD[136] = \"���������������������������������������������������������������������������������������������������������������������������������������������������������������亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭���\".split(\"\");\nfor(j = 0; j != D[136].length; ++j) if(D[136][j].charCodeAt(0) !== 0xFFFD) { e[D[136][j]] = 34816 + j; d[34816 + j] = D[136][j];}\nD[137] = \"����������������������������������������������������������������院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円�園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改���\".split(\"\");\nfor(j = 0; j != D[137].length; ++j) if(D[137][j].charCodeAt(0) !== 0xFFFD) { e[D[137][j]] = 35072 + j; d[35072 + j] = D[137][j];}\nD[138] = \"����������������������������������������������������������������魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫�橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄���\".split(\"\");\nfor(j = 0; j != D[138].length; ++j) if(D[138][j].charCodeAt(0) !== 0xFFFD) { e[D[138][j]] = 35328 + j; d[35328 + j] = D[138][j];}\nD[139] = \"����������������������������������������������������������������機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救�朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈���\".split(\"\");\nfor(j = 0; j != D[139].length; ++j) if(D[139][j].charCodeAt(0) !== 0xFFFD) { e[D[139][j]] = 35584 + j; d[35584 + j] = D[139][j];}\nD[140] = \"����������������������������������������������������������������掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨�劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向���\".split(\"\");\nfor(j = 0; j != D[140].length; ++j) if(D[140][j].charCodeAt(0) !== 0xFFFD) { e[D[140][j]] = 35840 + j; d[35840 + j] = D[140][j];}\nD[141] = \"����������������������������������������������������������������后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降�項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷���\".split(\"\");\nfor(j = 0; j != D[141].length; ++j) if(D[141][j].charCodeAt(0) !== 0xFFFD) { e[D[141][j]] = 36096 + j; d[36096 + j] = D[141][j];}\nD[142] = \"����������������������������������������������������������������察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止�死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周���\".split(\"\");\nfor(j = 0; j != D[142].length; ++j) if(D[142][j].charCodeAt(0) !== 0xFFFD) { e[D[142][j]] = 36352 + j; d[36352 + j] = D[142][j];}\nD[143] = \"����������������������������������������������������������������宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳�準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾���\".split(\"\");\nfor(j = 0; j != D[143].length; ++j) if(D[143][j].charCodeAt(0) !== 0xFFFD) { e[D[143][j]] = 36608 + j; d[36608 + j] = D[143][j];}\nD[144] = \"����������������������������������������������������������������拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨�逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線���\".split(\"\");\nfor(j = 0; j != D[144].length; ++j) if(D[144][j].charCodeAt(0) !== 0xFFFD) { e[D[144][j]] = 36864 + j; d[36864 + j] = D[144][j];}\nD[145] = \"����������������������������������������������������������������繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻�操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只���\".split(\"\");\nfor(j = 0; j != D[145].length; ++j) if(D[145][j].charCodeAt(0) !== 0xFFFD) { e[D[145][j]] = 37120 + j; d[37120 + j] = D[145][j];}\nD[146] = \"����������������������������������������������������������������叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄�逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓���\".split(\"\");\nfor(j = 0; j != D[146].length; ++j) if(D[146][j].charCodeAt(0) !== 0xFFFD) { e[D[146][j]] = 37376 + j; d[37376 + j] = D[146][j];}\nD[147] = \"����������������������������������������������������������������邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬�凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入���\".split(\"\");\nfor(j = 0; j != D[147].length; ++j) if(D[147][j].charCodeAt(0) !== 0xFFFD) { e[D[147][j]] = 37632 + j; d[37632 + j] = D[147][j];}\nD[148] = \"����������������������������������������������������������������如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅�楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美���\".split(\"\");\nfor(j = 0; j != D[148].length; ++j) if(D[148][j].charCodeAt(0) !== 0xFFFD) { e[D[148][j]] = 37888 + j; d[37888 + j] = D[148][j];}\nD[149] = \"����������������������������������������������������������������鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷�斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋���\".split(\"\");\nfor(j = 0; j != D[149].length; ++j) if(D[149][j].charCodeAt(0) !== 0xFFFD) { e[D[149][j]] = 38144 + j; d[38144 + j] = D[149][j];}\nD[150] = \"����������������������������������������������������������������法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆�摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒���\".split(\"\");\nfor(j = 0; j != D[150].length; ++j) if(D[150][j].charCodeAt(0) !== 0xFFFD) { e[D[150][j]] = 38400 + j; d[38400 + j] = D[150][j];}\nD[151] = \"����������������������������������������������������������������諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲�沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯���\".split(\"\");\nfor(j = 0; j != D[151].length; ++j) if(D[151][j].charCodeAt(0) !== 0xFFFD) { e[D[151][j]] = 38656 + j; d[38656 + j] = D[151][j];}\nD[152] = \"����������������������������������������������������������������蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕��������������������������������������������弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲���\".split(\"\");\nfor(j = 0; j != D[152].length; ++j) if(D[152][j].charCodeAt(0) !== 0xFFFD) { e[D[152][j]] = 38912 + j; d[38912 + j] = D[152][j];}\nD[153] = \"����������������������������������������������������������������僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭�凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨���\".split(\"\");\nfor(j = 0; j != D[153].length; ++j) if(D[153][j].charCodeAt(0) !== 0xFFFD) { e[D[153][j]] = 39168 + j; d[39168 + j] = D[153][j];}\nD[154] = \"����������������������������������������������������������������咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸�噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩���\".split(\"\");\nfor(j = 0; j != D[154].length; ++j) if(D[154][j].charCodeAt(0) !== 0xFFFD) { e[D[154][j]] = 39424 + j; d[39424 + j] = D[154][j];}\nD[155] = \"����������������������������������������������������������������奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀�它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏���\".split(\"\");\nfor(j = 0; j != D[155].length; ++j) if(D[155][j].charCodeAt(0) !== 0xFFFD) { e[D[155][j]] = 39680 + j; d[39680 + j] = D[155][j];}\nD[156] = \"����������������������������������������������������������������廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠�怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛���\".split(\"\");\nfor(j = 0; j != D[156].length; ++j) if(D[156][j].charCodeAt(0) !== 0xFFFD) { e[D[156][j]] = 39936 + j; d[39936 + j] = D[156][j];}\nD[157] = \"����������������������������������������������������������������戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫�捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼���\".split(\"\");\nfor(j = 0; j != D[157].length; ++j) if(D[157][j].charCodeAt(0) !== 0xFFFD) { e[D[157][j]] = 40192 + j; d[40192 + j] = D[157][j];}\nD[158] = \"����������������������������������������������������������������曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎�梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣���\".split(\"\");\nfor(j = 0; j != D[158].length; ++j) if(D[158][j].charCodeAt(0) !== 0xFFFD) { e[D[158][j]] = 40448 + j; d[40448 + j] = D[158][j];}\nD[159] = \"����������������������������������������������������������������檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯�麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌���\".split(\"\");\nfor(j = 0; j != D[159].length; ++j) if(D[159][j].charCodeAt(0) !== 0xFFFD) { e[D[159][j]] = 40704 + j; d[40704 + j] = D[159][j];}\nD[224] = \"����������������������������������������������������������������漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝�烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱���\".split(\"\");\nfor(j = 0; j != D[224].length; ++j) if(D[224][j].charCodeAt(0) !== 0xFFFD) { e[D[224][j]] = 57344 + j; d[57344 + j] = D[224][j];}\nD[225] = \"����������������������������������������������������������������瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿�痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬���\".split(\"\");\nfor(j = 0; j != D[225].length; ++j) if(D[225][j].charCodeAt(0) !== 0xFFFD) { e[D[225][j]] = 57600 + j; d[57600 + j] = D[225][j];}\nD[226] = \"����������������������������������������������������������������磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰�窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆���\".split(\"\");\nfor(j = 0; j != D[226].length; ++j) if(D[226][j].charCodeAt(0) !== 0xFFFD) { e[D[226][j]] = 57856 + j; d[57856 + j] = D[226][j];}\nD[227] = \"����������������������������������������������������������������紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷�縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋���\".split(\"\");\nfor(j = 0; j != D[227].length; ++j) if(D[227][j].charCodeAt(0) !== 0xFFFD) { e[D[227][j]] = 58112 + j; d[58112 + j] = D[227][j];}\nD[228] = \"����������������������������������������������������������������隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤�艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈���\".split(\"\");\nfor(j = 0; j != D[228].length; ++j) if(D[228][j].charCodeAt(0) !== 0xFFFD) { e[D[228][j]] = 58368 + j; d[58368 + j] = D[228][j];}\nD[229] = \"����������������������������������������������������������������蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬�蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞���\".split(\"\");\nfor(j = 0; j != D[229].length; ++j) if(D[229][j].charCodeAt(0) !== 0xFFFD) { e[D[229][j]] = 58624 + j; d[58624 + j] = D[229][j];}\nD[230] = \"����������������������������������������������������������������襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧�諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊���\".split(\"\");\nfor(j = 0; j != D[230].length; ++j) if(D[230][j].charCodeAt(0) !== 0xFFFD) { e[D[230][j]] = 58880 + j; d[58880 + j] = D[230][j];}\nD[231] = \"����������������������������������������������������������������蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜�轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮���\".split(\"\");\nfor(j = 0; j != D[231].length; ++j) if(D[231][j].charCodeAt(0) !== 0xFFFD) { e[D[231][j]] = 59136 + j; d[59136 + j] = D[231][j];}\nD[232] = \"����������������������������������������������������������������錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙�閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰���\".split(\"\");\nfor(j = 0; j != D[232].length; ++j) if(D[232][j].charCodeAt(0) !== 0xFFFD) { e[D[232][j]] = 59392 + j; d[59392 + j] = D[232][j];}\nD[233] = \"����������������������������������������������������������������顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃�騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈���\".split(\"\");\nfor(j = 0; j != D[233].length; ++j) if(D[233][j].charCodeAt(0) !== 0xFFFD) { e[D[233][j]] = 59648 + j; d[59648 + j] = D[233][j];}\nD[234] = \"����������������������������������������������������������������鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯�黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠堯槇遙瑤凜熙�������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[234].length; ++j) if(D[234][j].charCodeAt(0) !== 0xFFFD) { e[D[234][j]] = 59904 + j; d[59904 + j] = D[234][j];}\nD[237] = \"����������������������������������������������������������������纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏�塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱���\".split(\"\");\nfor(j = 0; j != D[237].length; ++j) if(D[237][j].charCodeAt(0) !== 0xFFFD) { e[D[237][j]] = 60672 + j; d[60672 + j] = D[237][j];}\nD[238] = \"����������������������������������������������������������������犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙�蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑��ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ¬¦'"���\".split(\"\");\nfor(j = 0; j != D[238].length; ++j) if(D[238][j].charCodeAt(0) !== 0xFFFD) { e[D[238][j]] = 60928 + j; d[60928 + j] = D[238][j];}\nD[250] = \"����������������������������������������������������������������ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ¬¦'"㈱№℡∵纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊�兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯���\".split(\"\");\nfor(j = 0; j != D[250].length; ++j) if(D[250][j].charCodeAt(0) !== 0xFFFD) { e[D[250][j]] = 64000 + j; d[64000 + j] = D[250][j];}\nD[251] = \"����������������������������������������������������������������涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神�祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙���\".split(\"\");\nfor(j = 0; j != D[251].length; ++j) if(D[251][j].charCodeAt(0) !== 0xFFFD) { e[D[251][j]] = 64256 + j; d[64256 + j] = D[251][j];}\nD[252] = \"����������������������������������������������������������������髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[252].length; ++j) if(D[252][j].charCodeAt(0) !== 0xFFFD) { e[D[252][j]] = 64512 + j; d[64512 + j] = D[252][j];}\nreturn {\"enc\": e, \"dec\": d }; })();\ncptable[936] = (function(){ var d = [], e = {}, D = [], j;\nD[0] = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];}\nD[129] = \"����������������������������������������������������������������丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳丵丷丼乀乁乂乄乆乊乑乕乗乚乛乢乣乤乥乧乨乪乫乬乭乮乯乲乴乵乶乷乸乹乺乻乼乽乿亀亁亂亃亄亅亇亊�亐亖亗亙亜亝亞亣亪亯亰亱亴亶亷亸亹亼亽亾仈仌仏仐仒仚仛仜仠仢仦仧仩仭仮仯仱仴仸仹仺仼仾伀伂伃伄伅伆伇伈伋伌伒伓伔伕伖伜伝伡伣伨伩伬伭伮伱伳伵伷伹伻伾伿佀佁佂佄佅佇佈佉佊佋佌佒佔佖佡佢佦佨佪佫佭佮佱佲併佷佸佹佺佽侀侁侂侅來侇侊侌侎侐侒侓侕侖侘侙侚侜侞侟価侢�\".split(\"\");\nfor(j = 0; j != D[129].length; ++j) if(D[129][j].charCodeAt(0) !== 0xFFFD) { e[D[129][j]] = 33024 + j; d[33024 + j] = D[129][j];}\nD[130] = \"����������������������������������������������������������������侤侫侭侰侱侲侳侴侶侷侸侹侺侻侼侽侾俀俁係俆俇俈俉俋俌俍俒俓俔俕俖俙俛俠俢俤俥俧俫俬俰俲俴俵俶俷俹俻俼俽俿倀倁倂倃倄倅倆倇倈倉倊�個倎倐們倓倕倖倗倛倝倞倠倢倣値倧倫倯倰倱倲倳倴倵倶倷倸倹倻倽倿偀偁偂偄偅偆偉偊偋偍偐偑偒偓偔偖偗偘偙偛偝偞偟偠偡偢偣偤偦偧偨偩偪偫偭偮偯偰偱偲偳側偵偸偹偺偼偽傁傂傃傄傆傇傉傊傋傌傎傏傐傑傒傓傔傕傖傗傘備傚傛傜傝傞傟傠傡傢傤傦傪傫傭傮傯傰傱傳傴債傶傷傸傹傼�\".split(\"\");\nfor(j = 0; j != D[130].length; ++j) if(D[130][j].charCodeAt(0) !== 0xFFFD) { e[D[130][j]] = 33280 + j; d[33280 + j] = D[130][j];}\nD[131] = \"����������������������������������������������������������������傽傾傿僀僁僂僃僄僅僆僇僈僉僊僋僌働僎僐僑僒僓僔僕僗僘僙僛僜僝僞僟僠僡僢僣僤僥僨僩僪僫僯僰僱僲僴僶僷僸價僺僼僽僾僿儀儁儂儃億儅儈�儉儊儌儍儎儏儐儑儓儔儕儖儗儘儙儚儛儜儝儞償儠儢儣儤儥儦儧儨儩優儫儬儭儮儯儰儱儲儳儴儵儶儷儸儹儺儻儼儽儾兂兇兊兌兎兏児兒兓兗兘兙兛兝兞兟兠兡兣兤兦內兩兪兯兲兺兾兿冃冄円冇冊冋冎冏冐冑冓冔冘冚冝冞冟冡冣冦冧冨冩冪冭冮冴冸冹冺冾冿凁凂凃凅凈凊凍凎凐凒凓凔凕凖凗�\".split(\"\");\nfor(j = 0; j != D[131].length; ++j) if(D[131][j].charCodeAt(0) !== 0xFFFD) { e[D[131][j]] = 33536 + j; d[33536 + j] = D[131][j];}\nD[132] = \"����������������������������������������������������������������凘凙凚凜凞凟凢凣凥処凧凨凩凪凬凮凱凲凴凷凾刄刅刉刋刌刏刐刓刔刕刜刞刟刡刢刣別刦刧刪刬刯刱刲刴刵刼刾剄剅剆則剈剉剋剎剏剒剓剕剗剘�剙剚剛剝剟剠剢剣剤剦剨剫剬剭剮剰剱剳剴創剶剷剸剹剺剻剼剾劀劃劄劅劆劇劉劊劋劌劍劎劏劑劒劔劕劖劗劘劙劚劜劤劥劦劧劮劯劰労劵劶劷劸効劺劻劼劽勀勁勂勄勅勆勈勊勌勍勎勏勑勓勔動勗務勚勛勜勝勞勠勡勢勣勥勦勧勨勩勪勫勬勭勮勯勱勲勳勴勵勶勷勸勻勼勽匁匂匃匄匇匉匊匋匌匎�\".split(\"\");\nfor(j = 0; j != D[132].length; ++j) if(D[132][j].charCodeAt(0) !== 0xFFFD) { e[D[132][j]] = 33792 + j; d[33792 + j] = D[132][j];}\nD[133] = \"����������������������������������������������������������������匑匒匓匔匘匛匜匞匟匢匤匥匧匨匩匫匬匭匯匰匱匲匳匴匵匶匷匸匼匽區卂卄卆卋卌卍卐協単卙卛卝卥卨卪卬卭卲卶卹卻卼卽卾厀厁厃厇厈厊厎厏�厐厑厒厓厔厖厗厙厛厜厞厠厡厤厧厪厫厬厭厯厰厱厲厳厴厵厷厸厹厺厼厽厾叀參叄叅叆叇収叏叐叒叓叕叚叜叝叞叡叢叧叴叺叾叿吀吂吅吇吋吔吘吙吚吜吢吤吥吪吰吳吶吷吺吽吿呁呂呄呅呇呉呌呍呎呏呑呚呝呞呟呠呡呣呥呧呩呪呫呬呭呮呯呰呴呹呺呾呿咁咃咅咇咈咉咊咍咑咓咗咘咜咞咟咠咡�\".split(\"\");\nfor(j = 0; j != D[133].length; ++j) if(D[133][j].charCodeAt(0) !== 0xFFFD) { e[D[133][j]] = 34048 + j; d[34048 + j] = D[133][j];}\nD[134] = \"����������������������������������������������������������������咢咥咮咰咲咵咶咷咹咺咼咾哃哅哊哋哖哘哛哠員哢哣哤哫哬哯哰哱哴哵哶哷哸哹哻哾唀唂唃唄唅唈唊唋唌唍唎唒唓唕唖唗唘唙唚唜唝唞唟唡唥唦�唨唩唫唭唲唴唵唶唸唹唺唻唽啀啂啅啇啈啋啌啍啎問啑啒啓啔啗啘啙啚啛啝啞啟啠啢啣啨啩啫啯啰啱啲啳啴啹啺啽啿喅喆喌喍喎喐喒喓喕喖喗喚喛喞喠喡喢喣喤喥喦喨喩喪喫喬喭單喯喰喲喴営喸喺喼喿嗀嗁嗂嗃嗆嗇嗈嗊嗋嗎嗏嗐嗕嗗嗘嗙嗚嗛嗞嗠嗢嗧嗩嗭嗮嗰嗱嗴嗶嗸嗹嗺嗻嗼嗿嘂嘃嘄嘅�\".split(\"\");\nfor(j = 0; j != D[134].length; ++j) if(D[134][j].charCodeAt(0) !== 0xFFFD) { e[D[134][j]] = 34304 + j; d[34304 + j] = D[134][j];}\nD[135] = \"����������������������������������������������������������������嘆嘇嘊嘋嘍嘐嘑嘒嘓嘔嘕嘖嘗嘙嘚嘜嘝嘠嘡嘢嘥嘦嘨嘩嘪嘫嘮嘯嘰嘳嘵嘷嘸嘺嘼嘽嘾噀噁噂噃噄噅噆噇噈噉噊噋噏噐噑噒噓噕噖噚噛噝噞噟噠噡�噣噥噦噧噭噮噯噰噲噳噴噵噷噸噹噺噽噾噿嚀嚁嚂嚃嚄嚇嚈嚉嚊嚋嚌嚍嚐嚑嚒嚔嚕嚖嚗嚘嚙嚚嚛嚜嚝嚞嚟嚠嚡嚢嚤嚥嚦嚧嚨嚩嚪嚫嚬嚭嚮嚰嚱嚲嚳嚴嚵嚶嚸嚹嚺嚻嚽嚾嚿囀囁囂囃囄囅囆囇囈囉囋囌囍囎囏囐囑囒囓囕囖囘囙囜団囥囦囧囨囩囪囬囮囯囲図囶囷囸囻囼圀圁圂圅圇國圌圍圎圏圐圑�\".split(\"\");\nfor(j = 0; j != D[135].length; ++j) if(D[135][j].charCodeAt(0) !== 0xFFFD) { e[D[135][j]] = 34560 + j; d[34560 + j] = D[135][j];}\nD[136] = \"����������������������������������������������������������������園圓圔圕圖圗團圙圚圛圝圞圠圡圢圤圥圦圧圫圱圲圴圵圶圷圸圼圽圿坁坃坄坅坆坈坉坋坒坓坔坕坖坘坙坢坣坥坧坬坮坰坱坲坴坵坸坹坺坽坾坿垀�垁垇垈垉垊垍垎垏垐垑垔垕垖垗垘垙垚垜垝垞垟垥垨垪垬垯垰垱垳垵垶垷垹垺垻垼垽垾垿埀埁埄埅埆埇埈埉埊埌埍埐埑埓埖埗埛埜埞埡埢埣埥埦埧埨埩埪埫埬埮埰埱埲埳埵埶執埻埼埾埿堁堃堄堅堈堉堊堌堎堏堐堒堓堔堖堗堘堚堛堜堝堟堢堣堥堦堧堨堩堫堬堭堮堯報堲堳場堶堷堸堹堺堻堼堽�\".split(\"\");\nfor(j = 0; j != D[136].length; ++j) if(D[136][j].charCodeAt(0) !== 0xFFFD) { e[D[136][j]] = 34816 + j; d[34816 + j] = D[136][j];}\nD[137] = \"����������������������������������������������������������������堾堿塀塁塂塃塅塆塇塈塉塊塋塎塏塐塒塓塕塖塗塙塚塛塜塝塟塠塡塢塣塤塦塧塨塩塪塭塮塯塰塱塲塳塴塵塶塷塸塹塺塻塼塽塿墂墄墆墇墈墊墋墌�墍墎墏墐墑墔墕墖増墘墛墜墝墠墡墢墣墤墥墦墧墪墫墬墭墮墯墰墱墲墳墴墵墶墷墸墹墺墻墽墾墿壀壂壃壄壆壇壈壉壊壋壌壍壎壏壐壒壓壔壖壗壘壙壚壛壜壝壞壟壠壡壢壣壥壦壧壨壩壪壭壯壱売壴壵壷壸壺壻壼壽壾壿夀夁夃夅夆夈変夊夋夌夎夐夑夒夓夗夘夛夝夞夠夡夢夣夦夨夬夰夲夳夵夶夻�\".split(\"\");\nfor(j = 0; j != D[137].length; ++j) if(D[137][j].charCodeAt(0) !== 0xFFFD) { e[D[137][j]] = 35072 + j; d[35072 + j] = D[137][j];}\nD[138] = \"����������������������������������������������������������������夽夾夿奀奃奅奆奊奌奍奐奒奓奙奛奜奝奞奟奡奣奤奦奧奨奩奪奫奬奭奮奯奰奱奲奵奷奺奻奼奾奿妀妅妉妋妌妎妏妐妑妔妕妘妚妛妜妝妟妠妡妢妦�妧妬妭妰妱妳妴妵妶妷妸妺妼妽妿姀姁姂姃姄姅姇姈姉姌姍姎姏姕姖姙姛姞姟姠姡姢姤姦姧姩姪姫姭姮姯姰姱姲姳姴姵姶姷姸姺姼姽姾娀娂娊娋娍娎娏娐娒娔娕娖娗娙娚娛娝娞娡娢娤娦娧娨娪娫娬娭娮娯娰娳娵娷娸娹娺娻娽娾娿婁婂婃婄婅婇婈婋婌婍婎婏婐婑婒婓婔婖婗婘婙婛婜婝婞婟婠�\".split(\"\");\nfor(j = 0; j != D[138].length; ++j) if(D[138][j].charCodeAt(0) !== 0xFFFD) { e[D[138][j]] = 35328 + j; d[35328 + j] = D[138][j];}\nD[139] = \"����������������������������������������������������������������婡婣婤婥婦婨婩婫婬婭婮婯婰婱婲婳婸婹婻婼婽婾媀媁媂媃媄媅媆媇媈媉媊媋媌媍媎媏媐媑媓媔媕媖媗媘媙媜媝媞媟媠媡媢媣媤媥媦媧媨媩媫媬�媭媮媯媰媱媴媶媷媹媺媻媼媽媿嫀嫃嫄嫅嫆嫇嫈嫊嫋嫍嫎嫏嫐嫑嫓嫕嫗嫙嫚嫛嫝嫞嫟嫢嫤嫥嫧嫨嫪嫬嫭嫮嫯嫰嫲嫳嫴嫵嫶嫷嫸嫹嫺嫻嫼嫽嫾嫿嬀嬁嬂嬃嬄嬅嬆嬇嬈嬊嬋嬌嬍嬎嬏嬐嬑嬒嬓嬔嬕嬘嬙嬚嬛嬜嬝嬞嬟嬠嬡嬢嬣嬤嬥嬦嬧嬨嬩嬪嬫嬬嬭嬮嬯嬰嬱嬳嬵嬶嬸嬹嬺嬻嬼嬽嬾嬿孁孂孃孄孅孆孇�\".split(\"\");\nfor(j = 0; j != D[139].length; ++j) if(D[139][j].charCodeAt(0) !== 0xFFFD) { e[D[139][j]] = 35584 + j; d[35584 + j] = D[139][j];}\nD[140] = \"����������������������������������������������������������������孈孉孊孋孌孍孎孏孒孖孞孠孡孧孨孫孭孮孯孲孴孶孷學孹孻孼孾孿宂宆宊宍宎宐宑宒宔宖実宧宨宩宬宭宮宯宱宲宷宺宻宼寀寁寃寈寉寊寋寍寎寏�寑寔寕寖寗寘寙寚寛寜寠寢寣實寧審寪寫寬寭寯寱寲寳寴寵寶寷寽対尀専尃尅將專尋尌對導尐尒尓尗尙尛尞尟尠尡尣尦尨尩尪尫尭尮尯尰尲尳尵尶尷屃屄屆屇屌屍屒屓屔屖屗屘屚屛屜屝屟屢層屧屨屩屪屫屬屭屰屲屳屴屵屶屷屸屻屼屽屾岀岃岄岅岆岇岉岊岋岎岏岒岓岕岝岞岟岠岡岤岥岦岧岨�\".split(\"\");\nfor(j = 0; j != D[140].length; ++j) if(D[140][j].charCodeAt(0) !== 0xFFFD) { e[D[140][j]] = 35840 + j; d[35840 + j] = D[140][j];}\nD[141] = \"����������������������������������������������������������������岪岮岯岰岲岴岶岹岺岻岼岾峀峂峃峅峆峇峈峉峊峌峍峎峏峐峑峓峔峕峖峗峘峚峛峜峝峞峟峠峢峣峧峩峫峬峮峯峱峲峳峴峵島峷峸峹峺峼峽峾峿崀�崁崄崅崈崉崊崋崌崍崏崐崑崒崓崕崗崘崙崚崜崝崟崠崡崢崣崥崨崪崫崬崯崰崱崲崳崵崶崷崸崹崺崻崼崿嵀嵁嵂嵃嵄嵅嵆嵈嵉嵍嵎嵏嵐嵑嵒嵓嵔嵕嵖嵗嵙嵚嵜嵞嵟嵠嵡嵢嵣嵤嵥嵦嵧嵨嵪嵭嵮嵰嵱嵲嵳嵵嵶嵷嵸嵹嵺嵻嵼嵽嵾嵿嶀嶁嶃嶄嶅嶆嶇嶈嶉嶊嶋嶌嶍嶎嶏嶐嶑嶒嶓嶔嶕嶖嶗嶘嶚嶛嶜嶞嶟嶠�\".split(\"\");\nfor(j = 0; j != D[141].length; ++j) if(D[141][j].charCodeAt(0) !== 0xFFFD) { e[D[141][j]] = 36096 + j; d[36096 + j] = D[141][j];}\nD[142] = \"����������������������������������������������������������������嶡嶢嶣嶤嶥嶦嶧嶨嶩嶪嶫嶬嶭嶮嶯嶰嶱嶲嶳嶴嶵嶶嶸嶹嶺嶻嶼嶽嶾嶿巀巁巂巃巄巆巇巈巉巊巋巌巎巏巐巑巒巓巔巕巖巗巘巙巚巜巟巠巣巤巪巬巭�巰巵巶巸巹巺巻巼巿帀帄帇帉帊帋帍帎帒帓帗帞帟帠帡帢帣帤帥帨帩帪師帬帯帰帲帳帴帵帶帹帺帾帿幀幁幃幆幇幈幉幊幋幍幎幏幐幑幒幓幖幗幘幙幚幜幝幟幠幣幤幥幦幧幨幩幪幫幬幭幮幯幰幱幵幷幹幾庁庂広庅庈庉庌庍庎庒庘庛庝庡庢庣庤庨庩庪庫庬庮庯庰庱庲庴庺庻庼庽庿廀廁廂廃廄廅�\".split(\"\");\nfor(j = 0; j != D[142].length; ++j) if(D[142][j].charCodeAt(0) !== 0xFFFD) { e[D[142][j]] = 36352 + j; d[36352 + j] = D[142][j];}\nD[143] = \"����������������������������������������������������������������廆廇廈廋廌廍廎廏廐廔廕廗廘廙廚廜廝廞廟廠廡廢廣廤廥廦廧廩廫廬廭廮廯廰廱廲廳廵廸廹廻廼廽弅弆弇弉弌弍弎弐弒弔弖弙弚弜弝弞弡弢弣弤�弨弫弬弮弰弲弳弴張弶強弸弻弽弾弿彁彂彃彄彅彆彇彈彉彊彋彌彍彎彏彑彔彙彚彛彜彞彟彠彣彥彧彨彫彮彯彲彴彵彶彸彺彽彾彿徃徆徍徎徏徑従徔徖徚徛徝從徟徠徢徣徤徥徦徧復徫徬徯徰徱徲徳徴徶徸徹徺徻徾徿忀忁忂忇忈忊忋忎忓忔忕忚忛応忞忟忢忣忥忦忨忩忬忯忰忲忳忴忶忷忹忺忼怇�\".split(\"\");\nfor(j = 0; j != D[143].length; ++j) if(D[143][j].charCodeAt(0) !== 0xFFFD) { e[D[143][j]] = 36608 + j; d[36608 + j] = D[143][j];}\nD[144] = \"����������������������������������������������������������������怈怉怋怌怐怑怓怗怘怚怞怟怢怣怤怬怭怮怰怱怲怳怴怶怷怸怹怺怽怾恀恄恅恆恇恈恉恊恌恎恏恑恓恔恖恗恘恛恜恞恟恠恡恥恦恮恱恲恴恵恷恾悀�悁悂悅悆悇悈悊悋悎悏悐悑悓悕悗悘悙悜悞悡悢悤悥悧悩悪悮悰悳悵悶悷悹悺悽悾悿惀惁惂惃惄惇惈惉惌惍惎惏惐惒惓惔惖惗惙惛惞惡惢惣惤惥惪惱惲惵惷惸惻惼惽惾惿愂愃愄愅愇愊愋愌愐愑愒愓愔愖愗愘愙愛愜愝愞愡愢愥愨愩愪愬愭愮愯愰愱愲愳愴愵愶愷愸愹愺愻愼愽愾慀慁慂慃慄慅慆�\".split(\"\");\nfor(j = 0; j != D[144].length; ++j) if(D[144][j].charCodeAt(0) !== 0xFFFD) { e[D[144][j]] = 36864 + j; d[36864 + j] = D[144][j];}\nD[145] = \"����������������������������������������������������������������慇慉態慍慏慐慒慓慔慖慗慘慙慚慛慜慞慟慠慡慣慤慥慦慩慪慫慬慭慮慯慱慲慳慴慶慸慹慺慻慼慽慾慿憀憁憂憃憄憅憆憇憈憉憊憌憍憏憐憑憒憓憕�憖憗憘憙憚憛憜憞憟憠憡憢憣憤憥憦憪憫憭憮憯憰憱憲憳憴憵憶憸憹憺憻憼憽憿懀懁懃懄懅懆懇應懌懍懎懏懐懓懕懖懗懘懙懚懛懜懝懞懟懠懡懢懣懤懥懧懨懩懪懫懬懭懮懯懰懱懲懳懴懶懷懸懹懺懻懼懽懾戀戁戂戃戄戅戇戉戓戔戙戜戝戞戠戣戦戧戨戩戫戭戯戰戱戲戵戶戸戹戺戻戼扂扄扅扆扊�\".split(\"\");\nfor(j = 0; j != D[145].length; ++j) if(D[145][j].charCodeAt(0) !== 0xFFFD) { e[D[145][j]] = 37120 + j; d[37120 + j] = D[145][j];}\nD[146] = \"����������������������������������������������������������������扏扐払扖扗扙扚扜扝扞扟扠扡扢扤扥扨扱扲扴扵扷扸扺扻扽抁抂抃抅抆抇抈抋抌抍抎抏抐抔抙抜抝択抣抦抧抩抪抭抮抯抰抲抳抴抶抷抸抺抾拀拁�拃拋拏拑拕拝拞拠拡拤拪拫拰拲拵拸拹拺拻挀挃挄挅挆挊挋挌挍挏挐挒挓挔挕挗挘挙挜挦挧挩挬挭挮挰挱挳挴挵挶挷挸挻挼挾挿捀捁捄捇捈捊捑捒捓捔捖捗捘捙捚捛捜捝捠捤捥捦捨捪捫捬捯捰捲捳捴捵捸捹捼捽捾捿掁掃掄掅掆掋掍掑掓掔掕掗掙掚掛掜掝掞掟採掤掦掫掯掱掲掵掶掹掻掽掿揀�\".split(\"\");\nfor(j = 0; j != D[146].length; ++j) if(D[146][j].charCodeAt(0) !== 0xFFFD) { e[D[146][j]] = 37376 + j; d[37376 + j] = D[146][j];}\nD[147] = \"����������������������������������������������������������������揁揂揃揅揇揈揊揋揌揑揓揔揕揗揘揙揚換揜揝揟揢揤揥揦揧揨揫揬揮揯揰揱揳揵揷揹揺揻揼揾搃搄搆搇搈搉搊損搎搑搒搕搖搗搘搙搚搝搟搢搣搤�搥搧搨搩搫搮搯搰搱搲搳搵搶搷搸搹搻搼搾摀摂摃摉摋摌摍摎摏摐摑摓摕摖摗摙摚摛摜摝摟摠摡摢摣摤摥摦摨摪摫摬摮摯摰摱摲摳摴摵摶摷摻摼摽摾摿撀撁撃撆撈撉撊撋撌撍撎撏撐撓撔撗撘撚撛撜撝撟撠撡撢撣撥撦撧撨撪撫撯撱撲撳撴撶撹撻撽撾撿擁擃擄擆擇擈擉擊擋擌擏擑擓擔擕擖擙據�\".split(\"\");\nfor(j = 0; j != D[147].length; ++j) if(D[147][j].charCodeAt(0) !== 0xFFFD) { e[D[147][j]] = 37632 + j; d[37632 + j] = D[147][j];}\nD[148] = \"����������������������������������������������������������������擛擜擝擟擠擡擣擥擧擨擩擪擫擬擭擮擯擰擱擲擳擴擵擶擷擸擹擺擻擼擽擾擿攁攂攃攄攅攆攇攈攊攋攌攍攎攏攐攑攓攔攕攖攗攙攚攛攜攝攞攟攠攡�攢攣攤攦攧攨攩攪攬攭攰攱攲攳攷攺攼攽敀敁敂敃敄敆敇敊敋敍敎敐敒敓敔敗敘敚敜敟敠敡敤敥敧敨敩敪敭敮敯敱敳敵敶數敹敺敻敼敽敾敿斀斁斂斃斄斅斆斈斉斊斍斎斏斒斔斕斖斘斚斝斞斠斢斣斦斨斪斬斮斱斲斳斴斵斶斷斸斺斻斾斿旀旂旇旈旉旊旍旐旑旓旔旕旘旙旚旛旜旝旞旟旡旣旤旪旫�\".split(\"\");\nfor(j = 0; j != D[148].length; ++j) if(D[148][j].charCodeAt(0) !== 0xFFFD) { e[D[148][j]] = 37888 + j; d[37888 + j] = D[148][j];}\nD[149] = \"����������������������������������������������������������������旲旳旴旵旸旹旻旼旽旾旿昁昄昅昇昈昉昋昍昐昑昒昖昗昘昚昛昜昞昡昢昣昤昦昩昪昫昬昮昰昲昳昷昸昹昺昻昽昿晀時晄晅晆晇晈晉晊晍晎晐晑晘�晙晛晜晝晞晠晢晣晥晧晩晪晫晬晭晱晲晳晵晸晹晻晼晽晿暀暁暃暅暆暈暉暊暋暍暎暏暐暒暓暔暕暘暙暚暛暜暞暟暠暡暢暣暤暥暦暩暪暫暬暭暯暰暱暲暳暵暶暷暸暺暻暼暽暿曀曁曂曃曄曅曆曇曈曉曊曋曌曍曎曏曐曑曒曓曔曕曖曗曘曚曞曟曠曡曢曣曤曥曧曨曪曫曬曭曮曯曱曵曶書曺曻曽朁朂會�\".split(\"\");\nfor(j = 0; j != D[149].length; ++j) if(D[149][j].charCodeAt(0) !== 0xFFFD) { e[D[149][j]] = 38144 + j; d[38144 + j] = D[149][j];}\nD[150] = \"����������������������������������������������������������������朄朅朆朇朌朎朏朑朒朓朖朘朙朚朜朞朠朡朢朣朤朥朧朩朮朰朲朳朶朷朸朹朻朼朾朿杁杄杅杇杊杋杍杒杔杕杗杘杙杚杛杝杢杣杤杦杧杫杬杮東杴杶�杸杹杺杻杽枀枂枃枅枆枈枊枌枍枎枏枑枒枓枔枖枙枛枟枠枡枤枦枩枬枮枱枲枴枹枺枻枼枽枾枿柀柂柅柆柇柈柉柊柋柌柍柎柕柖柗柛柟柡柣柤柦柧柨柪柫柭柮柲柵柶柷柸柹柺査柼柾栁栂栃栄栆栍栐栒栔栕栘栙栚栛栜栞栟栠栢栣栤栥栦栧栨栫栬栭栮栯栰栱栴栵栶栺栻栿桇桋桍桏桒桖桗桘桙桚桛�\".split(\"\");\nfor(j = 0; j != D[150].length; ++j) if(D[150][j].charCodeAt(0) !== 0xFFFD) { e[D[150][j]] = 38400 + j; d[38400 + j] = D[150][j];}\nD[151] = \"����������������������������������������������������������������桜桝桞桟桪桬桭桮桯桰桱桲桳桵桸桹桺桻桼桽桾桿梀梂梄梇梈梉梊梋梌梍梎梐梑梒梔梕梖梘梙梚梛梜條梞梟梠梡梣梤梥梩梪梫梬梮梱梲梴梶梷梸�梹梺梻梼梽梾梿棁棃棄棅棆棇棈棊棌棎棏棐棑棓棔棖棗棙棛棜棝棞棟棡棢棤棥棦棧棨棩棪棫棬棭棯棲棳棴棶棷棸棻棽棾棿椀椂椃椄椆椇椈椉椊椌椏椑椓椔椕椖椗椘椙椚椛検椝椞椡椢椣椥椦椧椨椩椪椫椬椮椯椱椲椳椵椶椷椸椺椻椼椾楀楁楃楄楅楆楇楈楉楊楋楌楍楎楏楐楑楒楓楕楖楘楙楛楜楟�\".split(\"\");\nfor(j = 0; j != D[151].length; ++j) if(D[151][j].charCodeAt(0) !== 0xFFFD) { e[D[151][j]] = 38656 + j; d[38656 + j] = D[151][j];}\nD[152] = \"����������������������������������������������������������������楡楢楤楥楧楨楩楪楬業楯楰楲楳楴極楶楺楻楽楾楿榁榃榅榊榋榌榎榏榐榑榒榓榖榗榙榚榝榞榟榠榡榢榣榤榥榦榩榪榬榮榯榰榲榳榵榶榸榹榺榼榽�榾榿槀槂槃槄槅槆槇槈槉構槍槏槑槒槓槕槖槗様槙槚槜槝槞槡槢槣槤槥槦槧槨槩槪槫槬槮槯槰槱槳槴槵槶槷槸槹槺槻槼槾樀樁樂樃樄樅樆樇樈樉樋樌樍樎樏樐樑樒樓樔樕樖標樚樛樜樝樞樠樢樣樤樥樦樧権樫樬樭樮樰樲樳樴樶樷樸樹樺樻樼樿橀橁橂橃橅橆橈橉橊橋橌橍橎橏橑橒橓橔橕橖橗橚�\".split(\"\");\nfor(j = 0; j != D[152].length; ++j) if(D[152][j].charCodeAt(0) !== 0xFFFD) { e[D[152][j]] = 38912 + j; d[38912 + j] = D[152][j];}\nD[153] = \"����������������������������������������������������������������橜橝橞機橠橢橣橤橦橧橨橩橪橫橬橭橮橯橰橲橳橴橵橶橷橸橺橻橽橾橿檁檂檃檅檆檇檈檉檊檋檌檍檏檒檓檔檕檖檘檙檚檛檜檝檞檟檡檢檣檤檥檦�檧檨檪檭檮檯檰檱檲檳檴檵檶檷檸檹檺檻檼檽檾檿櫀櫁櫂櫃櫄櫅櫆櫇櫈櫉櫊櫋櫌櫍櫎櫏櫐櫑櫒櫓櫔櫕櫖櫗櫘櫙櫚櫛櫜櫝櫞櫟櫠櫡櫢櫣櫤櫥櫦櫧櫨櫩櫪櫫櫬櫭櫮櫯櫰櫱櫲櫳櫴櫵櫶櫷櫸櫹櫺櫻櫼櫽櫾櫿欀欁欂欃欄欅欆欇欈欉權欋欌欍欎欏欐欑欒欓欔欕欖欗欘欙欚欛欜欝欞欟欥欦欨欩欪欫欬欭欮�\".split(\"\");\nfor(j = 0; j != D[153].length; ++j) if(D[153][j].charCodeAt(0) !== 0xFFFD) { e[D[153][j]] = 39168 + j; d[39168 + j] = D[153][j];}\nD[154] = \"����������������������������������������������������������������欯欰欱欳欴欵欶欸欻欼欽欿歀歁歂歄歅歈歊歋歍歎歏歐歑歒歓歔歕歖歗歘歚歛歜歝歞歟歠歡歨歩歫歬歭歮歯歰歱歲歳歴歵歶歷歸歺歽歾歿殀殅殈�殌殎殏殐殑殔殕殗殘殙殜殝殞殟殠殢殣殤殥殦殧殨殩殫殬殭殮殯殰殱殲殶殸殹殺殻殼殽殾毀毃毄毆毇毈毉毊毌毎毐毑毘毚毜毝毞毟毠毢毣毤毥毦毧毨毩毬毭毮毰毱毲毴毶毷毸毺毻毼毾毿氀氁氂氃氄氈氉氊氋氌氎氒気氜氝氞氠氣氥氫氬氭氱氳氶氷氹氺氻氼氾氿汃汄汅汈汋汌汍汎汏汑汒汓汖汘�\".split(\"\");\nfor(j = 0; j != D[154].length; ++j) if(D[154][j].charCodeAt(0) !== 0xFFFD) { e[D[154][j]] = 39424 + j; d[39424 + j] = D[154][j];}\nD[155] = \"����������������������������������������������������������������汙汚汢汣汥汦汧汫汬汭汮汯汱汳汵汷汸決汻汼汿沀沄沇沊沋沍沎沑沒沕沖沗沘沚沜沝沞沠沢沨沬沯沰沴沵沶沷沺泀況泂泃泆泇泈泋泍泎泏泑泒泘�泙泚泜泝泟泤泦泧泩泬泭泲泴泹泿洀洂洃洅洆洈洉洊洍洏洐洑洓洔洕洖洘洜洝洟洠洡洢洣洤洦洨洩洬洭洯洰洴洶洷洸洺洿浀浂浄浉浌浐浕浖浗浘浛浝浟浡浢浤浥浧浨浫浬浭浰浱浲浳浵浶浹浺浻浽浾浿涀涁涃涄涆涇涊涋涍涏涐涒涖涗涘涙涚涜涢涥涬涭涰涱涳涴涶涷涹涺涻涼涽涾淁淂淃淈淉淊�\".split(\"\");\nfor(j = 0; j != D[155].length; ++j) if(D[155][j].charCodeAt(0) !== 0xFFFD) { e[D[155][j]] = 39680 + j; d[39680 + j] = D[155][j];}\nD[156] = \"����������������������������������������������������������������淍淎淏淐淒淓淔淕淗淚淛淜淟淢淣淥淧淨淩淪淭淯淰淲淴淵淶淸淺淽淾淿渀渁渂渃渄渆渇済渉渋渏渒渓渕渘渙減渜渞渟渢渦渧渨渪測渮渰渱渳渵�渶渷渹渻渼渽渾渿湀湁湂湅湆湇湈湉湊湋湌湏湐湑湒湕湗湙湚湜湝湞湠湡湢湣湤湥湦湧湨湩湪湬湭湯湰湱湲湳湴湵湶湷湸湹湺湻湼湽満溁溂溄溇溈溊溋溌溍溎溑溒溓溔溕準溗溙溚溛溝溞溠溡溣溤溦溨溩溫溬溭溮溰溳溵溸溹溼溾溿滀滃滄滅滆滈滉滊滌滍滎滐滒滖滘滙滛滜滝滣滧滪滫滬滭滮滯�\".split(\"\");\nfor(j = 0; j != D[156].length; ++j) if(D[156][j].charCodeAt(0) !== 0xFFFD) { e[D[156][j]] = 39936 + j; d[39936 + j] = D[156][j];}\nD[157] = \"����������������������������������������������������������������滰滱滲滳滵滶滷滸滺滻滼滽滾滿漀漁漃漄漅漇漈漊漋漌漍漎漐漑漒漖漗漘漙漚漛漜漝漞漟漡漢漣漥漦漧漨漬漮漰漲漴漵漷漸漹漺漻漼漽漿潀潁潂�潃潄潅潈潉潊潌潎潏潐潑潒潓潔潕潖潗潙潚潛潝潟潠潡潣潤潥潧潨潩潪潫潬潯潰潱潳潵潶潷潹潻潽潾潿澀澁澂澃澅澆澇澊澋澏澐澑澒澓澔澕澖澗澘澙澚澛澝澞澟澠澢澣澤澥澦澨澩澪澫澬澭澮澯澰澱澲澴澵澷澸澺澻澼澽澾澿濁濃濄濅濆濇濈濊濋濌濍濎濏濐濓濔濕濖濗濘濙濚濛濜濝濟濢濣濤濥�\".split(\"\");\nfor(j = 0; j != D[157].length; ++j) if(D[157][j].charCodeAt(0) !== 0xFFFD) { e[D[157][j]] = 40192 + j; d[40192 + j] = D[157][j];}\nD[158] = \"����������������������������������������������������������������濦濧濨濩濪濫濬濭濰濱濲濳濴濵濶濷濸濹濺濻濼濽濾濿瀀瀁瀂瀃瀄瀅瀆瀇瀈瀉瀊瀋瀌瀍瀎瀏瀐瀒瀓瀔瀕瀖瀗瀘瀙瀜瀝瀞瀟瀠瀡瀢瀤瀥瀦瀧瀨瀩瀪�瀫瀬瀭瀮瀯瀰瀱瀲瀳瀴瀶瀷瀸瀺瀻瀼瀽瀾瀿灀灁灂灃灄灅灆灇灈灉灊灋灍灎灐灑灒灓灔灕灖灗灘灙灚灛灜灝灟灠灡灢灣灤灥灦灧灨灩灪灮灱灲灳灴灷灹灺灻災炁炂炃炄炆炇炈炋炌炍炏炐炑炓炗炘炚炛炞炟炠炡炢炣炤炥炦炧炨炩炪炰炲炴炵炶為炾炿烄烅烆烇烉烋烌烍烎烏烐烑烒烓烔烕烖烗烚�\".split(\"\");\nfor(j = 0; j != D[158].length; ++j) if(D[158][j].charCodeAt(0) !== 0xFFFD) { e[D[158][j]] = 40448 + j; d[40448 + j] = D[158][j];}\nD[159] = \"����������������������������������������������������������������烜烝烞烠烡烢烣烥烪烮烰烱烲烳烴烵烶烸烺烻烼烾烿焀焁焂焃焄焅焆焇焈焋焌焍焎焏焑焒焔焗焛焜焝焞焟焠無焢焣焤焥焧焨焩焪焫焬焭焮焲焳焴�焵焷焸焹焺焻焼焽焾焿煀煁煂煃煄煆煇煈煉煋煍煏煐煑煒煓煔煕煖煗煘煙煚煛煝煟煠煡煢煣煥煩煪煫煬煭煯煰煱煴煵煶煷煹煻煼煾煿熀熁熂熃熅熆熇熈熉熋熌熍熎熐熑熒熓熕熖熗熚熛熜熝熞熡熢熣熤熥熦熧熩熪熫熭熮熯熰熱熲熴熶熷熸熺熻熼熽熾熿燀燁燂燄燅燆燇燈燉燊燋燌燍燏燐燑燒燓�\".split(\"\");\nfor(j = 0; j != D[159].length; ++j) if(D[159][j].charCodeAt(0) !== 0xFFFD) { e[D[159][j]] = 40704 + j; d[40704 + j] = D[159][j];}\nD[160] = \"����������������������������������������������������������������燖燗燘燙燚燛燜燝燞營燡燢燣燤燦燨燩燪燫燬燭燯燰燱燲燳燴燵燶燷燸燺燻燼燽燾燿爀爁爂爃爄爅爇爈爉爊爋爌爍爎爏爐爑爒爓爔爕爖爗爘爙爚�爛爜爞爟爠爡爢爣爤爥爦爧爩爫爭爮爯爲爳爴爺爼爾牀牁牂牃牄牅牆牉牊牋牎牏牐牑牓牔牕牗牘牚牜牞牠牣牤牥牨牪牫牬牭牰牱牳牴牶牷牸牻牼牽犂犃犅犆犇犈犉犌犎犐犑犓犔犕犖犗犘犙犚犛犜犝犞犠犡犢犣犤犥犦犧犨犩犪犫犮犱犲犳犵犺犻犼犽犾犿狀狅狆狇狉狊狋狌狏狑狓狔狕狖狘狚狛�\".split(\"\");\nfor(j = 0; j != D[160].length; ++j) if(D[160][j].charCodeAt(0) !== 0xFFFD) { e[D[160][j]] = 40960 + j; d[40960 + j] = D[160][j];}\nD[161] = \"����������������������������������������������������������������������������������������������������������������������������������������������������������������� 、。·ˉˇ¨〃々—~‖…‘’“”〔〕〈〉《》「」『』〖〗【】±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵∴♂♀°′″℃$¤¢£‰§№☆★○●◎◇◆□■△▲※→←↑↓〓�\".split(\"\");\nfor(j = 0; j != D[161].length; ++j) if(D[161][j].charCodeAt(0) !== 0xFFFD) { e[D[161][j]] = 41216 + j; d[41216 + j] = D[161][j];}\nD[162] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ������⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇①②③④⑤⑥⑦⑧⑨⑩��㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩��ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ���\".split(\"\");\nfor(j = 0; j != D[162].length; ++j) if(D[162][j].charCodeAt(0) !== 0xFFFD) { e[D[162][j]] = 41472 + j; d[41472 + j] = D[162][j];}\nD[163] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������!"#¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|} ̄�\".split(\"\");\nfor(j = 0; j != D[163].length; ++j) if(D[163][j].charCodeAt(0) !== 0xFFFD) { e[D[163][j]] = 41728 + j; d[41728 + j] = D[163][j];}\nD[164] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������\".split(\"\");\nfor(j = 0; j != D[164].length; ++j) if(D[164][j].charCodeAt(0) !== 0xFFFD) { e[D[164][j]] = 41984 + j; d[41984 + j] = D[164][j];}\nD[165] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������\".split(\"\");\nfor(j = 0; j != D[165].length; ++j) if(D[165][j].charCodeAt(0) !== 0xFFFD) { e[D[165][j]] = 42240 + j; d[42240 + j] = D[165][j];}\nD[166] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�������︵︶︹︺︿﹀︽︾﹁﹂﹃﹄��︻︼︷︸︱�︳︴����������\".split(\"\");\nfor(j = 0; j != D[166].length; ++j) if(D[166][j].charCodeAt(0) !== 0xFFFD) { e[D[166][j]] = 42496 + j; d[42496 + j] = D[166][j];}\nD[167] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������\".split(\"\");\nfor(j = 0; j != D[167].length; ++j) if(D[167][j].charCodeAt(0) !== 0xFFFD) { e[D[167][j]] = 42752 + j; d[42752 + j] = D[167][j];}\nD[168] = \"����������������������������������������������������������������ˊˋ˙–―‥‵℅℉↖↗↘↙∕∟∣≒≦≧⊿═║╒╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡╢╣╤╥╦╧╨╩╪╫╬╭╮╯╰╱╲╳▁▂▃▄▅▆▇�█▉▊▋▌▍▎▏▓▔▕▼▽◢◣◤◥☉⊕〒〝〞�����������āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüêɑ�ńň�ɡ����ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ����������������������\".split(\"\");\nfor(j = 0; j != D[168].length; ++j) if(D[168][j].charCodeAt(0) !== 0xFFFD) { e[D[168][j]] = 43008 + j; d[43008 + j] = D[168][j];}\nD[169] = \"����������������������������������������������������������������〡〢〣〤〥〦〧〨〩㊣㎎㎏㎜㎝㎞㎡㏄㏎㏑㏒㏕︰¬¦�℡㈱�‐���ー゛゜ヽヾ〆ゝゞ﹉﹊﹋﹌﹍﹎﹏﹐﹑﹒﹔﹕﹖﹗﹙﹚﹛﹜﹝﹞﹟﹠﹡�﹢﹣﹤﹥﹦﹨﹩﹪﹫�������������〇�������������─━│┃┄┅┆┇┈┉┊┋┌┍┎┏┐┑┒┓└┕┖┗┘┙┚┛├┝┞┟┠┡┢┣┤┥┦┧┨┩┪┫┬┭┮┯┰┱┲┳┴┵┶┷┸┹┺┻┼┽┾┿╀╁╂╃╄╅╆╇╈╉╊╋����������������\".split(\"\");\nfor(j = 0; j != D[169].length; ++j) if(D[169][j].charCodeAt(0) !== 0xFFFD) { e[D[169][j]] = 43264 + j; d[43264 + j] = D[169][j];}\nD[170] = \"����������������������������������������������������������������狜狝狟狢狣狤狥狦狧狪狫狵狶狹狽狾狿猀猂猄猅猆猇猈猉猋猌猍猏猐猑猒猔猘猙猚猟猠猣猤猦猧猨猭猯猰猲猳猵猶猺猻猼猽獀獁獂獃獄獅獆獇獈�獉獊獋獌獎獏獑獓獔獕獖獘獙獚獛獜獝獞獟獡獢獣獤獥獦獧獨獩獪獫獮獰獱�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[170].length; ++j) if(D[170][j].charCodeAt(0) !== 0xFFFD) { e[D[170][j]] = 43520 + j; d[43520 + j] = D[170][j];}\nD[171] = \"����������������������������������������������������������������獲獳獴獵獶獷獸獹獺獻獼獽獿玀玁玂玃玅玆玈玊玌玍玏玐玒玓玔玕玗玘玙玚玜玝玞玠玡玣玤玥玦玧玨玪玬玭玱玴玵玶玸玹玼玽玾玿珁珃珄珅珆珇�珋珌珎珒珓珔珕珖珗珘珚珛珜珝珟珡珢珣珤珦珨珪珫珬珮珯珰珱珳珴珵珶珷�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[171].length; ++j) if(D[171][j].charCodeAt(0) !== 0xFFFD) { e[D[171][j]] = 43776 + j; d[43776 + j] = D[171][j];}\nD[172] = \"����������������������������������������������������������������珸珹珺珻珼珽現珿琀琁琂琄琇琈琋琌琍琎琑琒琓琔琕琖琗琘琙琜琝琞琟琠琡琣琤琧琩琫琭琯琱琲琷琸琹琺琻琽琾琿瑀瑂瑃瑄瑅瑆瑇瑈瑉瑊瑋瑌瑍�瑎瑏瑐瑑瑒瑓瑔瑖瑘瑝瑠瑡瑢瑣瑤瑥瑦瑧瑨瑩瑪瑫瑬瑮瑯瑱瑲瑳瑴瑵瑸瑹瑺�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[172].length; ++j) if(D[172][j].charCodeAt(0) !== 0xFFFD) { e[D[172][j]] = 44032 + j; d[44032 + j] = D[172][j];}\nD[173] = \"����������������������������������������������������������������瑻瑼瑽瑿璂璄璅璆璈璉璊璌璍璏璑璒璓璔璕璖璗璘璙璚璛璝璟璠璡璢璣璤璥璦璪璫璬璭璮璯環璱璲璳璴璵璶璷璸璹璻璼璽璾璿瓀瓁瓂瓃瓄瓅瓆瓇�瓈瓉瓊瓋瓌瓍瓎瓏瓐瓑瓓瓔瓕瓖瓗瓘瓙瓚瓛瓝瓟瓡瓥瓧瓨瓩瓪瓫瓬瓭瓰瓱瓲�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[173].length; ++j) if(D[173][j].charCodeAt(0) !== 0xFFFD) { e[D[173][j]] = 44288 + j; d[44288 + j] = D[173][j];}\nD[174] = \"����������������������������������������������������������������瓳瓵瓸瓹瓺瓻瓼瓽瓾甀甁甂甃甅甆甇甈甉甊甋甌甎甐甒甔甕甖甗甛甝甞甠甡產産甤甦甧甪甮甴甶甹甼甽甿畁畂畃畄畆畇畉畊畍畐畑畒畓畕畖畗畘�畝畞畟畠畡畢畣畤畧畨畩畫畬畭畮畯異畱畳畵當畷畺畻畼畽畾疀疁疂疄疅疇�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[174].length; ++j) if(D[174][j].charCodeAt(0) !== 0xFFFD) { e[D[174][j]] = 44544 + j; d[44544 + j] = D[174][j];}\nD[175] = \"����������������������������������������������������������������疈疉疊疌疍疎疐疓疕疘疛疜疞疢疦疧疨疩疪疭疶疷疺疻疿痀痁痆痋痌痎痏痐痑痓痗痙痚痜痝痟痠痡痥痩痬痭痮痯痲痳痵痶痷痸痺痻痽痾瘂瘄瘆瘇�瘈瘉瘋瘍瘎瘏瘑瘒瘓瘔瘖瘚瘜瘝瘞瘡瘣瘧瘨瘬瘮瘯瘱瘲瘶瘷瘹瘺瘻瘽癁療癄�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[175].length; ++j) if(D[175][j].charCodeAt(0) !== 0xFFFD) { e[D[175][j]] = 44800 + j; d[44800 + j] = D[175][j];}\nD[176] = \"����������������������������������������������������������������癅癆癇癈癉癊癋癎癏癐癑癒癓癕癗癘癙癚癛癝癟癠癡癢癤癥癦癧癨癩癪癬癭癮癰癱癲癳癴癵癶癷癹発發癿皀皁皃皅皉皊皌皍皏皐皒皔皕皗皘皚皛�皜皝皞皟皠皡皢皣皥皦皧皨皩皪皫皬皭皯皰皳皵皶皷皸皹皺皻皼皽皾盀盁盃啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥�\".split(\"\");\nfor(j = 0; j != D[176].length; ++j) if(D[176][j].charCodeAt(0) !== 0xFFFD) { e[D[176][j]] = 45056 + j; d[45056 + j] = D[176][j];}\nD[177] = \"����������������������������������������������������������������盄盇盉盋盌盓盕盙盚盜盝盞盠盡盢監盤盦盧盨盩盪盫盬盭盰盳盵盶盷盺盻盽盿眀眂眃眅眆眊県眎眏眐眑眒眓眔眕眖眗眘眛眜眝眞眡眣眤眥眧眪眫�眬眮眰眱眲眳眴眹眻眽眾眿睂睄睅睆睈睉睊睋睌睍睎睏睒睓睔睕睖睗睘睙睜薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳�\".split(\"\");\nfor(j = 0; j != D[177].length; ++j) if(D[177][j].charCodeAt(0) !== 0xFFFD) { e[D[177][j]] = 45312 + j; d[45312 + j] = D[177][j];}\nD[178] = \"����������������������������������������������������������������睝睞睟睠睤睧睩睪睭睮睯睰睱睲睳睴睵睶睷睸睺睻睼瞁瞂瞃瞆瞇瞈瞉瞊瞋瞏瞐瞓瞔瞕瞖瞗瞘瞙瞚瞛瞜瞝瞞瞡瞣瞤瞦瞨瞫瞭瞮瞯瞱瞲瞴瞶瞷瞸瞹瞺�瞼瞾矀矁矂矃矄矅矆矇矈矉矊矋矌矎矏矐矑矒矓矔矕矖矘矙矚矝矞矟矠矡矤病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖�\".split(\"\");\nfor(j = 0; j != D[178].length; ++j) if(D[178][j].charCodeAt(0) !== 0xFFFD) { e[D[178][j]] = 45568 + j; d[45568 + j] = D[178][j];}\nD[179] = \"����������������������������������������������������������������矦矨矪矯矰矱矲矴矵矷矹矺矻矼砃砄砅砆砇砈砊砋砎砏砐砓砕砙砛砞砠砡砢砤砨砪砫砮砯砱砲砳砵砶砽砿硁硂硃硄硆硈硉硊硋硍硏硑硓硔硘硙硚�硛硜硞硟硠硡硢硣硤硥硦硧硨硩硯硰硱硲硳硴硵硶硸硹硺硻硽硾硿碀碁碂碃场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚�\".split(\"\");\nfor(j = 0; j != D[179].length; ++j) if(D[179][j].charCodeAt(0) !== 0xFFFD) { e[D[179][j]] = 45824 + j; d[45824 + j] = D[179][j];}\nD[180] = \"����������������������������������������������������������������碄碅碆碈碊碋碏碐碒碔碕碖碙碝碞碠碢碤碦碨碩碪碫碬碭碮碯碵碶碷碸確碻碼碽碿磀磂磃磄磆磇磈磌磍磎磏磑磒磓磖磗磘磚磛磜磝磞磟磠磡磢磣�磤磥磦磧磩磪磫磭磮磯磰磱磳磵磶磸磹磻磼磽磾磿礀礂礃礄礆礇礈礉礊礋礌础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮�\".split(\"\");\nfor(j = 0; j != D[180].length; ++j) if(D[180][j].charCodeAt(0) !== 0xFFFD) { e[D[180][j]] = 46080 + j; d[46080 + j] = D[180][j];}\nD[181] = \"����������������������������������������������������������������礍礎礏礐礑礒礔礕礖礗礘礙礚礛礜礝礟礠礡礢礣礥礦礧礨礩礪礫礬礭礮礯礰礱礲礳礵礶礷礸礹礽礿祂祃祄祅祇祊祋祌祍祎祏祐祑祒祔祕祘祙祡祣�祤祦祩祪祫祬祮祰祱祲祳祴祵祶祹祻祼祽祾祿禂禃禆禇禈禉禋禌禍禎禐禑禒怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠�\".split(\"\");\nfor(j = 0; j != D[181].length; ++j) if(D[181][j].charCodeAt(0) !== 0xFFFD) { e[D[181][j]] = 46336 + j; d[46336 + j] = D[181][j];}\nD[182] = \"����������������������������������������������������������������禓禔禕禖禗禘禙禛禜禝禞禟禠禡禢禣禤禥禦禨禩禪禫禬禭禮禯禰禱禲禴禵禶禷禸禼禿秂秄秅秇秈秊秌秎秏秐秓秔秖秗秙秚秛秜秝秞秠秡秢秥秨秪�秬秮秱秲秳秴秵秶秷秹秺秼秾秿稁稄稅稇稈稉稊稌稏稐稑稒稓稕稖稘稙稛稜丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二�\".split(\"\");\nfor(j = 0; j != D[182].length; ++j) if(D[182][j].charCodeAt(0) !== 0xFFFD) { e[D[182][j]] = 46592 + j; d[46592 + j] = D[182][j];}\nD[183] = \"����������������������������������������������������������������稝稟稡稢稤稥稦稧稨稩稪稫稬稭種稯稰稱稲稴稵稶稸稺稾穀穁穂穃穄穅穇穈穉穊穋穌積穎穏穐穒穓穔穕穖穘穙穚穛穜穝穞穟穠穡穢穣穤穥穦穧穨�穩穪穫穬穭穮穯穱穲穳穵穻穼穽穾窂窅窇窉窊窋窌窎窏窐窓窔窙窚窛窞窡窢贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服�\".split(\"\");\nfor(j = 0; j != D[183].length; ++j) if(D[183][j].charCodeAt(0) !== 0xFFFD) { e[D[183][j]] = 46848 + j; d[46848 + j] = D[183][j];}\nD[184] = \"����������������������������������������������������������������窣窤窧窩窪窫窮窯窰窱窲窴窵窶窷窸窹窺窻窼窽窾竀竁竂竃竄竅竆竇竈竉竊竌竍竎竏竐竑竒竓竔竕竗竘竚竛竜竝竡竢竤竧竨竩竪竫竬竮竰竱竲竳�竴竵競竷竸竻竼竾笀笁笂笅笇笉笌笍笎笐笒笓笖笗笘笚笜笝笟笡笢笣笧笩笭浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹�\".split(\"\");\nfor(j = 0; j != D[184].length; ++j) if(D[184][j].charCodeAt(0) !== 0xFFFD) { e[D[184][j]] = 47104 + j; d[47104 + j] = D[184][j];}\nD[185] = \"����������������������������������������������������������������笯笰笲笴笵笶笷笹笻笽笿筀筁筂筃筄筆筈筊筍筎筓筕筗筙筜筞筟筡筣筤筥筦筧筨筩筪筫筬筭筯筰筳筴筶筸筺筼筽筿箁箂箃箄箆箇箈箉箊箋箌箎箏�箑箒箓箖箘箙箚箛箞箟箠箣箤箥箮箯箰箲箳箵箶箷箹箺箻箼箽箾箿節篂篃範埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈�\".split(\"\");\nfor(j = 0; j != D[185].length; ++j) if(D[185][j].charCodeAt(0) !== 0xFFFD) { e[D[185][j]] = 47360 + j; d[47360 + j] = D[185][j];}\nD[186] = \"����������������������������������������������������������������篅篈築篊篋篍篎篏篐篒篔篕篖篗篘篛篜篞篟篠篢篣篤篧篨篩篫篬篭篯篰篲篳篴篵篶篸篹篺篻篽篿簀簁簂簃簄簅簆簈簉簊簍簎簐簑簒簓簔簕簗簘簙�簚簛簜簝簞簠簡簢簣簤簥簨簩簫簬簭簮簯簰簱簲簳簴簵簶簷簹簺簻簼簽簾籂骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖�\".split(\"\");\nfor(j = 0; j != D[186].length; ++j) if(D[186][j].charCodeAt(0) !== 0xFFFD) { e[D[186][j]] = 47616 + j; d[47616 + j] = D[186][j];}\nD[187] = \"����������������������������������������������������������������籃籄籅籆籇籈籉籊籋籌籎籏籐籑籒籓籔籕籖籗籘籙籚籛籜籝籞籟籠籡籢籣籤籥籦籧籨籩籪籫籬籭籮籯籰籱籲籵籶籷籸籹籺籾籿粀粁粂粃粄粅粆粇�粈粊粋粌粍粎粏粐粓粔粖粙粚粛粠粡粣粦粧粨粩粫粬粭粯粰粴粵粶粷粸粺粻弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕�\".split(\"\");\nfor(j = 0; j != D[187].length; ++j) if(D[187][j].charCodeAt(0) !== 0xFFFD) { e[D[187][j]] = 47872 + j; d[47872 + j] = D[187][j];}\nD[188] = \"����������������������������������������������������������������粿糀糂糃糄糆糉糋糎糏糐糑糒糓糔糘糚糛糝糞糡糢糣糤糥糦糧糩糪糫糬糭糮糰糱糲糳糴糵糶糷糹糺糼糽糾糿紀紁紂紃約紅紆紇紈紉紋紌納紎紏紐�紑紒紓純紕紖紗紘紙級紛紜紝紞紟紡紣紤紥紦紨紩紪紬紭紮細紱紲紳紴紵紶肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件�\".split(\"\");\nfor(j = 0; j != D[188].length; ++j) if(D[188][j].charCodeAt(0) !== 0xFFFD) { e[D[188][j]] = 48128 + j; d[48128 + j] = D[188][j];}\nD[189] = \"����������������������������������������������������������������紷紸紹紺紻紼紽紾紿絀絁終絃組絅絆絇絈絉絊絋経絍絎絏結絑絒絓絔絕絖絗絘絙絚絛絜絝絞絟絠絡絢絣絤絥給絧絨絩絪絫絬絭絯絰統絲絳絴絵絶�絸絹絺絻絼絽絾絿綀綁綂綃綄綅綆綇綈綉綊綋綌綍綎綏綐綑綒經綔綕綖綗綘健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸�\".split(\"\");\nfor(j = 0; j != D[189].length; ++j) if(D[189][j].charCodeAt(0) !== 0xFFFD) { e[D[189][j]] = 48384 + j; d[48384 + j] = D[189][j];}\nD[190] = \"����������������������������������������������������������������継続綛綜綝綞綟綠綡綢綣綤綥綧綨綩綪綫綬維綯綰綱網綳綴綵綶綷綸綹綺綻綼綽綾綿緀緁緂緃緄緅緆緇緈緉緊緋緌緍緎総緐緑緒緓緔緕緖緗緘緙�線緛緜緝緞緟締緡緢緣緤緥緦緧編緩緪緫緬緭緮緯緰緱緲緳練緵緶緷緸緹緺尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻�\".split(\"\");\nfor(j = 0; j != D[190].length; ++j) if(D[190][j].charCodeAt(0) !== 0xFFFD) { e[D[190][j]] = 48640 + j; d[48640 + j] = D[190][j];}\nD[191] = \"����������������������������������������������������������������緻緼緽緾緿縀縁縂縃縄縅縆縇縈縉縊縋縌縍縎縏縐縑縒縓縔縕縖縗縘縙縚縛縜縝縞縟縠縡縢縣縤縥縦縧縨縩縪縫縬縭縮縯縰縱縲縳縴縵縶縷縸縹�縺縼總績縿繀繂繃繄繅繆繈繉繊繋繌繍繎繏繐繑繒繓織繕繖繗繘繙繚繛繜繝俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀�\".split(\"\");\nfor(j = 0; j != D[191].length; ++j) if(D[191][j].charCodeAt(0) !== 0xFFFD) { e[D[191][j]] = 48896 + j; d[48896 + j] = D[191][j];}\nD[192] = \"����������������������������������������������������������������繞繟繠繡繢繣繤繥繦繧繨繩繪繫繬繭繮繯繰繱繲繳繴繵繶繷繸繹繺繻繼繽繾繿纀纁纃纄纅纆纇纈纉纊纋續纍纎纏纐纑纒纓纔纕纖纗纘纙纚纜纝纞�纮纴纻纼绖绤绬绹缊缐缞缷缹缻缼缽缾缿罀罁罃罆罇罈罉罊罋罌罍罎罏罒罓馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐�\".split(\"\");\nfor(j = 0; j != D[192].length; ++j) if(D[192][j].charCodeAt(0) !== 0xFFFD) { e[D[192][j]] = 49152 + j; d[49152 + j] = D[192][j];}\nD[193] = \"����������������������������������������������������������������罖罙罛罜罝罞罠罣罤罥罦罧罫罬罭罯罰罳罵罶罷罸罺罻罼罽罿羀羂羃羄羅羆羇羈羉羋羍羏羐羑羒羓羕羖羗羘羙羛羜羠羢羣羥羦羨義羪羫羬羭羮羱�羳羴羵羶羷羺羻羾翀翂翃翄翆翇翈翉翋翍翏翐翑習翓翖翗翙翚翛翜翝翞翢翣痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿�\".split(\"\");\nfor(j = 0; j != D[193].length; ++j) if(D[193][j].charCodeAt(0) !== 0xFFFD) { e[D[193][j]] = 49408 + j; d[49408 + j] = D[193][j];}\nD[194] = \"����������������������������������������������������������������翤翧翨翪翫翬翭翯翲翴翵翶翷翸翹翺翽翾翿耂耇耈耉耊耎耏耑耓耚耛耝耞耟耡耣耤耫耬耭耮耯耰耲耴耹耺耼耾聀聁聄聅聇聈聉聎聏聐聑聓聕聖聗�聙聛聜聝聞聟聠聡聢聣聤聥聦聧聨聫聬聭聮聯聰聲聳聴聵聶職聸聹聺聻聼聽隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫�\".split(\"\");\nfor(j = 0; j != D[194].length; ++j) if(D[194][j].charCodeAt(0) !== 0xFFFD) { e[D[194][j]] = 49664 + j; d[49664 + j] = D[194][j];}\nD[195] = \"����������������������������������������������������������������聾肁肂肅肈肊肍肎肏肐肑肒肔肕肗肙肞肣肦肧肨肬肰肳肵肶肸肹肻胅胇胈胉胊胋胏胐胑胒胓胔胕胘胟胠胢胣胦胮胵胷胹胻胾胿脀脁脃脄脅脇脈脋�脌脕脗脙脛脜脝脟脠脡脢脣脤脥脦脧脨脩脪脫脭脮脰脳脴脵脷脹脺脻脼脽脿谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸�\".split(\"\");\nfor(j = 0; j != D[195].length; ++j) if(D[195][j].charCodeAt(0) !== 0xFFFD) { e[D[195][j]] = 49920 + j; d[49920 + j] = D[195][j];}\nD[196] = \"����������������������������������������������������������������腀腁腂腃腄腅腇腉腍腎腏腒腖腗腘腛腜腝腞腟腡腢腣腤腦腨腪腫腬腯腲腳腵腶腷腸膁膃膄膅膆膇膉膋膌膍膎膐膒膓膔膕膖膗膙膚膞膟膠膡膢膤膥�膧膩膫膬膭膮膯膰膱膲膴膵膶膷膸膹膼膽膾膿臄臅臇臈臉臋臍臎臏臐臑臒臓摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁�\".split(\"\");\nfor(j = 0; j != D[196].length; ++j) if(D[196][j].charCodeAt(0) !== 0xFFFD) { e[D[196][j]] = 50176 + j; d[50176 + j] = D[196][j];}\nD[197] = \"����������������������������������������������������������������臔臕臖臗臘臙臚臛臜臝臞臟臠臡臢臤臥臦臨臩臫臮臯臰臱臲臵臶臷臸臹臺臽臿舃與興舉舊舋舎舏舑舓舕舖舗舘舙舚舝舠舤舥舦舧舩舮舲舺舼舽舿�艀艁艂艃艅艆艈艊艌艍艎艐艑艒艓艔艕艖艗艙艛艜艝艞艠艡艢艣艤艥艦艧艩拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗�\".split(\"\");\nfor(j = 0; j != D[197].length; ++j) if(D[197][j].charCodeAt(0) !== 0xFFFD) { e[D[197][j]] = 50432 + j; d[50432 + j] = D[197][j];}\nD[198] = \"����������������������������������������������������������������艪艫艬艭艱艵艶艷艸艻艼芀芁芃芅芆芇芉芌芐芓芔芕芖芚芛芞芠芢芣芧芲芵芶芺芻芼芿苀苂苃苅苆苉苐苖苙苚苝苢苧苨苩苪苬苭苮苰苲苳苵苶苸�苺苼苽苾苿茀茊茋茍茐茒茓茖茘茙茝茞茟茠茡茢茣茤茥茦茩茪茮茰茲茷茻茽啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐�\".split(\"\");\nfor(j = 0; j != D[198].length; ++j) if(D[198][j].charCodeAt(0) !== 0xFFFD) { e[D[198][j]] = 50688 + j; d[50688 + j] = D[198][j];}\nD[199] = \"����������������������������������������������������������������茾茿荁荂荄荅荈荊荋荌荍荎荓荕荖荗荘荙荝荢荰荱荲荳荴荵荶荹荺荾荿莀莁莂莃莄莇莈莊莋莌莍莏莐莑莔莕莖莗莙莚莝莟莡莢莣莤莥莦莧莬莭莮�莯莵莻莾莿菂菃菄菆菈菉菋菍菎菐菑菒菓菕菗菙菚菛菞菢菣菤菦菧菨菫菬菭恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠�\".split(\"\");\nfor(j = 0; j != D[199].length; ++j) if(D[199][j].charCodeAt(0) !== 0xFFFD) { e[D[199][j]] = 50944 + j; d[50944 + j] = D[199][j];}\nD[200] = \"����������������������������������������������������������������菮華菳菴菵菶菷菺菻菼菾菿萀萂萅萇萈萉萊萐萒萓萔萕萖萗萙萚萛萞萟萠萡萢萣萩萪萫萬萭萮萯萰萲萳萴萵萶萷萹萺萻萾萿葀葁葂葃葄葅葇葈葉�葊葋葌葍葎葏葐葒葓葔葕葖葘葝葞葟葠葢葤葥葦葧葨葪葮葯葰葲葴葷葹葻葼取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁�\".split(\"\");\nfor(j = 0; j != D[200].length; ++j) if(D[200][j].charCodeAt(0) !== 0xFFFD) { e[D[200][j]] = 51200 + j; d[51200 + j] = D[200][j];}\nD[201] = \"����������������������������������������������������������������葽葾葿蒀蒁蒃蒄蒅蒆蒊蒍蒏蒐蒑蒒蒓蒔蒕蒖蒘蒚蒛蒝蒞蒟蒠蒢蒣蒤蒥蒦蒧蒨蒩蒪蒫蒬蒭蒮蒰蒱蒳蒵蒶蒷蒻蒼蒾蓀蓂蓃蓅蓆蓇蓈蓋蓌蓎蓏蓒蓔蓕蓗�蓘蓙蓚蓛蓜蓞蓡蓢蓤蓧蓨蓩蓪蓫蓭蓮蓯蓱蓲蓳蓴蓵蓶蓷蓸蓹蓺蓻蓽蓾蔀蔁蔂伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳�\".split(\"\");\nfor(j = 0; j != D[201].length; ++j) if(D[201][j].charCodeAt(0) !== 0xFFFD) { e[D[201][j]] = 51456 + j; d[51456 + j] = D[201][j];}\nD[202] = \"����������������������������������������������������������������蔃蔄蔅蔆蔇蔈蔉蔊蔋蔍蔎蔏蔐蔒蔔蔕蔖蔘蔙蔛蔜蔝蔞蔠蔢蔣蔤蔥蔦蔧蔨蔩蔪蔭蔮蔯蔰蔱蔲蔳蔴蔵蔶蔾蔿蕀蕁蕂蕄蕅蕆蕇蕋蕌蕍蕎蕏蕐蕑蕒蕓蕔蕕�蕗蕘蕚蕛蕜蕝蕟蕠蕡蕢蕣蕥蕦蕧蕩蕪蕫蕬蕭蕮蕯蕰蕱蕳蕵蕶蕷蕸蕼蕽蕿薀薁省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱�\".split(\"\");\nfor(j = 0; j != D[202].length; ++j) if(D[202][j].charCodeAt(0) !== 0xFFFD) { e[D[202][j]] = 51712 + j; d[51712 + j] = D[202][j];}\nD[203] = \"����������������������������������������������������������������薂薃薆薈薉薊薋薌薍薎薐薑薒薓薔薕薖薗薘薙薚薝薞薟薠薡薢薣薥薦薧薩薫薬薭薱薲薳薴薵薶薸薺薻薼薽薾薿藀藂藃藄藅藆藇藈藊藋藌藍藎藑藒�藔藖藗藘藙藚藛藝藞藟藠藡藢藣藥藦藧藨藪藫藬藭藮藯藰藱藲藳藴藵藶藷藸恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔�\".split(\"\");\nfor(j = 0; j != D[203].length; ++j) if(D[203][j].charCodeAt(0) !== 0xFFFD) { e[D[203][j]] = 51968 + j; d[51968 + j] = D[203][j];}\nD[204] = \"����������������������������������������������������������������藹藺藼藽藾蘀蘁蘂蘃蘄蘆蘇蘈蘉蘊蘋蘌蘍蘎蘏蘐蘒蘓蘔蘕蘗蘘蘙蘚蘛蘜蘝蘞蘟蘠蘡蘢蘣蘤蘥蘦蘨蘪蘫蘬蘭蘮蘯蘰蘱蘲蘳蘴蘵蘶蘷蘹蘺蘻蘽蘾蘿虀�虁虂虃虄虅虆虇虈虉虊虋虌虒虓處虖虗虘虙虛虜虝號虠虡虣虤虥虦虧虨虩虪獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃�\".split(\"\");\nfor(j = 0; j != D[204].length; ++j) if(D[204][j].charCodeAt(0) !== 0xFFFD) { e[D[204][j]] = 52224 + j; d[52224 + j] = D[204][j];}\nD[205] = \"����������������������������������������������������������������虭虯虰虲虳虴虵虶虷虸蚃蚄蚅蚆蚇蚈蚉蚎蚏蚐蚑蚒蚔蚖蚗蚘蚙蚚蚛蚞蚟蚠蚡蚢蚥蚦蚫蚭蚮蚲蚳蚷蚸蚹蚻蚼蚽蚾蚿蛁蛂蛃蛅蛈蛌蛍蛒蛓蛕蛖蛗蛚蛜�蛝蛠蛡蛢蛣蛥蛦蛧蛨蛪蛫蛬蛯蛵蛶蛷蛺蛻蛼蛽蛿蜁蜄蜅蜆蜋蜌蜎蜏蜐蜑蜔蜖汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威�\".split(\"\");\nfor(j = 0; j != D[205].length; ++j) if(D[205][j].charCodeAt(0) !== 0xFFFD) { e[D[205][j]] = 52480 + j; d[52480 + j] = D[205][j];}\nD[206] = \"����������������������������������������������������������������蜙蜛蜝蜟蜠蜤蜦蜧蜨蜪蜫蜬蜭蜯蜰蜲蜳蜵蜶蜸蜹蜺蜼蜽蝀蝁蝂蝃蝄蝅蝆蝊蝋蝍蝏蝐蝑蝒蝔蝕蝖蝘蝚蝛蝜蝝蝞蝟蝡蝢蝦蝧蝨蝩蝪蝫蝬蝭蝯蝱蝲蝳蝵�蝷蝸蝹蝺蝿螀螁螄螆螇螉螊螌螎螏螐螑螒螔螕螖螘螙螚螛螜螝螞螠螡螢螣螤巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺�\".split(\"\");\nfor(j = 0; j != D[206].length; ++j) if(D[206][j].charCodeAt(0) !== 0xFFFD) { e[D[206][j]] = 52736 + j; d[52736 + j] = D[206][j];}\nD[207] = \"����������������������������������������������������������������螥螦螧螩螪螮螰螱螲螴螶螷螸螹螻螼螾螿蟁蟂蟃蟄蟅蟇蟈蟉蟌蟍蟎蟏蟐蟔蟕蟖蟗蟘蟙蟚蟜蟝蟞蟟蟡蟢蟣蟤蟦蟧蟨蟩蟫蟬蟭蟯蟰蟱蟲蟳蟴蟵蟶蟷蟸�蟺蟻蟼蟽蟿蠀蠁蠂蠄蠅蠆蠇蠈蠉蠋蠌蠍蠎蠏蠐蠑蠒蠔蠗蠘蠙蠚蠜蠝蠞蠟蠠蠣稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓�\".split(\"\");\nfor(j = 0; j != D[207].length; ++j) if(D[207][j].charCodeAt(0) !== 0xFFFD) { e[D[207][j]] = 52992 + j; d[52992 + j] = D[207][j];}\nD[208] = \"����������������������������������������������������������������蠤蠥蠦蠧蠨蠩蠪蠫蠬蠭蠮蠯蠰蠱蠳蠴蠵蠶蠷蠸蠺蠻蠽蠾蠿衁衂衃衆衇衈衉衊衋衎衏衐衑衒術衕衖衘衚衛衜衝衞衟衠衦衧衪衭衯衱衳衴衵衶衸衹衺�衻衼袀袃袆袇袉袊袌袎袏袐袑袓袔袕袗袘袙袚袛袝袞袟袠袡袣袥袦袧袨袩袪小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄�\".split(\"\");\nfor(j = 0; j != D[208].length; ++j) if(D[208][j].charCodeAt(0) !== 0xFFFD) { e[D[208][j]] = 53248 + j; d[53248 + j] = D[208][j];}\nD[209] = \"����������������������������������������������������������������袬袮袯袰袲袳袴袵袶袸袹袺袻袽袾袿裀裃裄裇裈裊裋裌裍裏裐裑裓裖裗裚裛補裝裞裠裡裦裧裩裪裫裬裭裮裯裲裵裶裷裺裻製裿褀褁褃褄褅褆複褈�褉褋褌褍褎褏褑褔褕褖褗褘褜褝褞褟褠褢褣褤褦褧褨褩褬褭褮褯褱褲褳褵褷选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶�\".split(\"\");\nfor(j = 0; j != D[209].length; ++j) if(D[209][j].charCodeAt(0) !== 0xFFFD) { e[D[209][j]] = 53504 + j; d[53504 + j] = D[209][j];}\nD[210] = \"����������������������������������������������������������������褸褹褺褻褼褽褾褿襀襂襃襅襆襇襈襉襊襋襌襍襎襏襐襑襒襓襔襕襖襗襘襙襚襛襜襝襠襡襢襣襤襥襧襨襩襪襫襬襭襮襯襰襱襲襳襴襵襶襷襸襹襺襼�襽襾覀覂覄覅覇覈覉覊見覌覍覎規覐覑覒覓覔覕視覗覘覙覚覛覜覝覞覟覠覡摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐�\".split(\"\");\nfor(j = 0; j != D[210].length; ++j) if(D[210][j].charCodeAt(0) !== 0xFFFD) { e[D[210][j]] = 53760 + j; d[53760 + j] = D[210][j];}\nD[211] = \"����������������������������������������������������������������覢覣覤覥覦覧覨覩親覫覬覭覮覯覰覱覲観覴覵覶覷覸覹覺覻覼覽覾覿觀觃觍觓觔觕觗觘觙觛觝觟觠觡觢觤觧觨觩觪觬觭觮觰觱觲觴觵觶觷觸觹觺�觻觼觽觾觿訁訂訃訄訅訆計訉訊訋訌訍討訏訐訑訒訓訔訕訖託記訙訚訛訜訝印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉�\".split(\"\");\nfor(j = 0; j != D[211].length; ++j) if(D[211][j].charCodeAt(0) !== 0xFFFD) { e[D[211][j]] = 54016 + j; d[54016 + j] = D[211][j];}\nD[212] = \"����������������������������������������������������������������訞訟訠訡訢訣訤訥訦訧訨訩訪訫訬設訮訯訰許訲訳訴訵訶訷訸訹診註証訽訿詀詁詂詃詄詅詆詇詉詊詋詌詍詎詏詐詑詒詓詔評詖詗詘詙詚詛詜詝詞�詟詠詡詢詣詤詥試詧詨詩詪詫詬詭詮詯詰話該詳詴詵詶詷詸詺詻詼詽詾詿誀浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧�\".split(\"\");\nfor(j = 0; j != D[212].length; ++j) if(D[212][j].charCodeAt(0) !== 0xFFFD) { e[D[212][j]] = 54272 + j; d[54272 + j] = D[212][j];}\nD[213] = \"����������������������������������������������������������������誁誂誃誄誅誆誇誈誋誌認誎誏誐誑誒誔誕誖誗誘誙誚誛誜誝語誟誠誡誢誣誤誥誦誧誨誩說誫説読誮誯誰誱課誳誴誵誶誷誸誹誺誻誼誽誾調諀諁諂�諃諄諅諆談諈諉諊請諌諍諎諏諐諑諒諓諔諕論諗諘諙諚諛諜諝諞諟諠諡諢諣铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政�\".split(\"\");\nfor(j = 0; j != D[213].length; ++j) if(D[213][j].charCodeAt(0) !== 0xFFFD) { e[D[213][j]] = 54528 + j; d[54528 + j] = D[213][j];}\nD[214] = \"����������������������������������������������������������������諤諥諦諧諨諩諪諫諬諭諮諯諰諱諲諳諴諵諶諷諸諹諺諻諼諽諾諿謀謁謂謃謄謅謆謈謉謊謋謌謍謎謏謐謑謒謓謔謕謖謗謘謙謚講謜謝謞謟謠謡謢謣�謤謥謧謨謩謪謫謬謭謮謯謰謱謲謳謴謵謶謷謸謹謺謻謼謽謾謿譀譁譂譃譄譅帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑�\".split(\"\");\nfor(j = 0; j != D[214].length; ++j) if(D[214][j].charCodeAt(0) !== 0xFFFD) { e[D[214][j]] = 54784 + j; d[54784 + j] = D[214][j];}\nD[215] = \"����������������������������������������������������������������譆譇譈證譊譋譌譍譎譏譐譑譒譓譔譕譖譗識譙譚譛譜譝譞譟譠譡譢譣譤譥譧譨譩譪譫譭譮譯議譱譲譳譴譵譶護譸譹譺譻譼譽譾譿讀讁讂讃讄讅讆�讇讈讉變讋讌讍讎讏讐讑讒讓讔讕讖讗讘讙讚讛讜讝讞讟讬讱讻诇诐诪谉谞住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座������\".split(\"\");\nfor(j = 0; j != D[215].length; ++j) if(D[215][j].charCodeAt(0) !== 0xFFFD) { e[D[215][j]] = 55040 + j; d[55040 + j] = D[215][j];}\nD[216] = \"����������������������������������������������������������������谸谹谺谻谼谽谾谿豀豂豃豄豅豈豊豋豍豎豏豐豑豒豓豔豖豗豘豙豛豜豝豞豟豠豣豤豥豦豧豨豩豬豭豮豯豰豱豲豴豵豶豷豻豼豽豾豿貀貁貃貄貆貇�貈貋貍貎貏貐貑貒貓貕貖貗貙貚貛貜貝貞貟負財貢貣貤貥貦貧貨販貪貫責貭亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝�\".split(\"\");\nfor(j = 0; j != D[216].length; ++j) if(D[216][j].charCodeAt(0) !== 0xFFFD) { e[D[216][j]] = 55296 + j; d[55296 + j] = D[216][j];}\nD[217] = \"����������������������������������������������������������������貮貯貰貱貲貳貴貵貶買貸貹貺費貼貽貾貿賀賁賂賃賄賅賆資賈賉賊賋賌賍賎賏賐賑賒賓賔賕賖賗賘賙賚賛賜賝賞賟賠賡賢賣賤賥賦賧賨賩質賫賬�賭賮賯賰賱賲賳賴賵賶賷賸賹賺賻購賽賾賿贀贁贂贃贄贅贆贇贈贉贊贋贌贍佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼�\".split(\"\");\nfor(j = 0; j != D[217].length; ++j) if(D[217][j].charCodeAt(0) !== 0xFFFD) { e[D[217][j]] = 55552 + j; d[55552 + j] = D[217][j];}\nD[218] = \"����������������������������������������������������������������贎贏贐贑贒贓贔贕贖贗贘贙贚贛贜贠赑赒赗赟赥赨赩赪赬赮赯赱赲赸赹赺赻赼赽赾赿趀趂趃趆趇趈趉趌趍趎趏趐趒趓趕趖趗趘趙趚趛趜趝趞趠趡�趢趤趥趦趧趨趩趪趫趬趭趮趯趰趲趶趷趹趻趽跀跁跂跅跇跈跉跊跍跐跒跓跔凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺�\".split(\"\");\nfor(j = 0; j != D[218].length; ++j) if(D[218][j].charCodeAt(0) !== 0xFFFD) { e[D[218][j]] = 55808 + j; d[55808 + j] = D[218][j];}\nD[219] = \"����������������������������������������������������������������跕跘跙跜跠跡跢跥跦跧跩跭跮跰跱跲跴跶跼跾跿踀踁踂踃踄踆踇踈踋踍踎踐踑踒踓踕踖踗踘踙踚踛踜踠踡踤踥踦踧踨踫踭踰踲踳踴踶踷踸踻踼踾�踿蹃蹅蹆蹌蹍蹎蹏蹐蹓蹔蹕蹖蹗蹘蹚蹛蹜蹝蹞蹟蹠蹡蹢蹣蹤蹥蹧蹨蹪蹫蹮蹱邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝�\".split(\"\");\nfor(j = 0; j != D[219].length; ++j) if(D[219][j].charCodeAt(0) !== 0xFFFD) { e[D[219][j]] = 56064 + j; d[56064 + j] = D[219][j];}\nD[220] = \"����������������������������������������������������������������蹳蹵蹷蹸蹹蹺蹻蹽蹾躀躂躃躄躆躈躉躊躋躌躍躎躑躒躓躕躖躗躘躙躚躛躝躟躠躡躢躣躤躥躦躧躨躩躪躭躮躰躱躳躴躵躶躷躸躹躻躼躽躾躿軀軁軂�軃軄軅軆軇軈軉車軋軌軍軏軐軑軒軓軔軕軖軗軘軙軚軛軜軝軞軟軠軡転軣軤堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥�\".split(\"\");\nfor(j = 0; j != D[220].length; ++j) if(D[220][j].charCodeAt(0) !== 0xFFFD) { e[D[220][j]] = 56320 + j; d[56320 + j] = D[220][j];}\nD[221] = \"����������������������������������������������������������������軥軦軧軨軩軪軫軬軭軮軯軰軱軲軳軴軵軶軷軸軹軺軻軼軽軾軿輀輁輂較輄輅輆輇輈載輊輋輌輍輎輏輐輑輒輓輔輕輖輗輘輙輚輛輜輝輞輟輠輡輢輣�輤輥輦輧輨輩輪輫輬輭輮輯輰輱輲輳輴輵輶輷輸輹輺輻輼輽輾輿轀轁轂轃轄荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺�\".split(\"\");\nfor(j = 0; j != D[221].length; ++j) if(D[221][j].charCodeAt(0) !== 0xFFFD) { e[D[221][j]] = 56576 + j; d[56576 + j] = D[221][j];}\nD[222] = \"����������������������������������������������������������������轅轆轇轈轉轊轋轌轍轎轏轐轑轒轓轔轕轖轗轘轙轚轛轜轝轞轟轠轡轢轣轤轥轪辀辌辒辝辠辡辢辤辥辦辧辪辬辭辮辯農辳辴辵辷辸辺辻込辿迀迃迆�迉迊迋迌迍迏迒迖迗迚迠迡迣迧迬迯迱迲迴迵迶迺迻迼迾迿逇逈逌逎逓逕逘蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖�\".split(\"\");\nfor(j = 0; j != D[222].length; ++j) if(D[222][j].charCodeAt(0) !== 0xFFFD) { e[D[222][j]] = 56832 + j; d[56832 + j] = D[222][j];}\nD[223] = \"����������������������������������������������������������������這逜連逤逥逧逨逩逪逫逬逰週進逳逴逷逹逺逽逿遀遃遅遆遈遉遊運遌過達違遖遙遚遜遝遞遟遠遡遤遦遧適遪遫遬遯遰遱遲遳遶遷選遹遺遻遼遾邁�還邅邆邇邉邊邌邍邎邏邐邒邔邖邘邚邜邞邟邠邤邥邧邨邩邫邭邲邷邼邽邿郀摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼�\".split(\"\");\nfor(j = 0; j != D[223].length; ++j) if(D[223][j].charCodeAt(0) !== 0xFFFD) { e[D[223][j]] = 57088 + j; d[57088 + j] = D[223][j];}\nD[224] = \"����������������������������������������������������������������郂郃郆郈郉郋郌郍郒郔郕郖郘郙郚郞郟郠郣郤郥郩郪郬郮郰郱郲郳郵郶郷郹郺郻郼郿鄀鄁鄃鄅鄆鄇鄈鄉鄊鄋鄌鄍鄎鄏鄐鄑鄒鄓鄔鄕鄖鄗鄘鄚鄛鄜�鄝鄟鄠鄡鄤鄥鄦鄧鄨鄩鄪鄫鄬鄭鄮鄰鄲鄳鄴鄵鄶鄷鄸鄺鄻鄼鄽鄾鄿酀酁酂酄唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼�\".split(\"\");\nfor(j = 0; j != D[224].length; ++j) if(D[224][j].charCodeAt(0) !== 0xFFFD) { e[D[224][j]] = 57344 + j; d[57344 + j] = D[224][j];}\nD[225] = \"����������������������������������������������������������������酅酇酈酑酓酔酕酖酘酙酛酜酟酠酦酧酨酫酭酳酺酻酼醀醁醂醃醄醆醈醊醎醏醓醔醕醖醗醘醙醜醝醞醟醠醡醤醥醦醧醨醩醫醬醰醱醲醳醶醷醸醹醻�醼醽醾醿釀釁釂釃釄釅釆釈釋釐釒釓釔釕釖釗釘釙釚釛針釞釟釠釡釢釣釤釥帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺�\".split(\"\");\nfor(j = 0; j != D[225].length; ++j) if(D[225][j].charCodeAt(0) !== 0xFFFD) { e[D[225][j]] = 57600 + j; d[57600 + j] = D[225][j];}\nD[226] = \"����������������������������������������������������������������釦釧釨釩釪釫釬釭釮釯釰釱釲釳釴釵釶釷釸釹釺釻釼釽釾釿鈀鈁鈂鈃鈄鈅鈆鈇鈈鈉鈊鈋鈌鈍鈎鈏鈐鈑鈒鈓鈔鈕鈖鈗鈘鈙鈚鈛鈜鈝鈞鈟鈠鈡鈢鈣鈤�鈥鈦鈧鈨鈩鈪鈫鈬鈭鈮鈯鈰鈱鈲鈳鈴鈵鈶鈷鈸鈹鈺鈻鈼鈽鈾鈿鉀鉁鉂鉃鉄鉅狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧饨饩饪饫饬饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂�\".split(\"\");\nfor(j = 0; j != D[226].length; ++j) if(D[226][j].charCodeAt(0) !== 0xFFFD) { e[D[226][j]] = 57856 + j; d[57856 + j] = D[226][j];}\nD[227] = \"����������������������������������������������������������������鉆鉇鉈鉉鉊鉋鉌鉍鉎鉏鉐鉑鉒鉓鉔鉕鉖鉗鉘鉙鉚鉛鉜鉝鉞鉟鉠鉡鉢鉣鉤鉥鉦鉧鉨鉩鉪鉫鉬鉭鉮鉯鉰鉱鉲鉳鉵鉶鉷鉸鉹鉺鉻鉼鉽鉾鉿銀銁銂銃銄銅�銆銇銈銉銊銋銌銍銏銐銑銒銓銔銕銖銗銘銙銚銛銜銝銞銟銠銡銢銣銤銥銦銧恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾�\".split(\"\");\nfor(j = 0; j != D[227].length; ++j) if(D[227][j].charCodeAt(0) !== 0xFFFD) { e[D[227][j]] = 58112 + j; d[58112 + j] = D[227][j];}\nD[228] = \"����������������������������������������������������������������銨銩銪銫銬銭銯銰銱銲銳銴銵銶銷銸銹銺銻銼銽銾銿鋀鋁鋂鋃鋄鋅鋆鋇鋉鋊鋋鋌鋍鋎鋏鋐鋑鋒鋓鋔鋕鋖鋗鋘鋙鋚鋛鋜鋝鋞鋟鋠鋡鋢鋣鋤鋥鋦鋧鋨�鋩鋪鋫鋬鋭鋮鋯鋰鋱鋲鋳鋴鋵鋶鋷鋸鋹鋺鋻鋼鋽鋾鋿錀錁錂錃錄錅錆錇錈錉洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑�\".split(\"\");\nfor(j = 0; j != D[228].length; ++j) if(D[228][j].charCodeAt(0) !== 0xFFFD) { e[D[228][j]] = 58368 + j; d[58368 + j] = D[228][j];}\nD[229] = \"����������������������������������������������������������������錊錋錌錍錎錏錐錑錒錓錔錕錖錗錘錙錚錛錜錝錞錟錠錡錢錣錤錥錦錧錨錩錪錫錬錭錮錯錰錱録錳錴錵錶錷錸錹錺錻錼錽錿鍀鍁鍂鍃鍄鍅鍆鍇鍈鍉�鍊鍋鍌鍍鍎鍏鍐鍑鍒鍓鍔鍕鍖鍗鍘鍙鍚鍛鍜鍝鍞鍟鍠鍡鍢鍣鍤鍥鍦鍧鍨鍩鍫濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣�\".split(\"\");\nfor(j = 0; j != D[229].length; ++j) if(D[229][j].charCodeAt(0) !== 0xFFFD) { e[D[229][j]] = 58624 + j; d[58624 + j] = D[229][j];}\nD[230] = \"����������������������������������������������������������������鍬鍭鍮鍯鍰鍱鍲鍳鍴鍵鍶鍷鍸鍹鍺鍻鍼鍽鍾鍿鎀鎁鎂鎃鎄鎅鎆鎇鎈鎉鎊鎋鎌鎍鎎鎐鎑鎒鎓鎔鎕鎖鎗鎘鎙鎚鎛鎜鎝鎞鎟鎠鎡鎢鎣鎤鎥鎦鎧鎨鎩鎪鎫�鎬鎭鎮鎯鎰鎱鎲鎳鎴鎵鎶鎷鎸鎹鎺鎻鎼鎽鎾鎿鏀鏁鏂鏃鏄鏅鏆鏇鏈鏉鏋鏌鏍妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩�\".split(\"\");\nfor(j = 0; j != D[230].length; ++j) if(D[230][j].charCodeAt(0) !== 0xFFFD) { e[D[230][j]] = 58880 + j; d[58880 + j] = D[230][j];}\nD[231] = \"����������������������������������������������������������������鏎鏏鏐鏑鏒鏓鏔鏕鏗鏘鏙鏚鏛鏜鏝鏞鏟鏠鏡鏢鏣鏤鏥鏦鏧鏨鏩鏪鏫鏬鏭鏮鏯鏰鏱鏲鏳鏴鏵鏶鏷鏸鏹鏺鏻鏼鏽鏾鏿鐀鐁鐂鐃鐄鐅鐆鐇鐈鐉鐊鐋鐌鐍�鐎鐏鐐鐑鐒鐓鐔鐕鐖鐗鐘鐙鐚鐛鐜鐝鐞鐟鐠鐡鐢鐣鐤鐥鐦鐧鐨鐩鐪鐫鐬鐭鐮纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡缢缣缤缥缦缧缪缫缬缭缯缰缱缲缳缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬�\".split(\"\");\nfor(j = 0; j != D[231].length; ++j) if(D[231][j].charCodeAt(0) !== 0xFFFD) { e[D[231][j]] = 59136 + j; d[59136 + j] = D[231][j];}\nD[232] = \"����������������������������������������������������������������鐯鐰鐱鐲鐳鐴鐵鐶鐷鐸鐹鐺鐻鐼鐽鐿鑀鑁鑂鑃鑄鑅鑆鑇鑈鑉鑊鑋鑌鑍鑎鑏鑐鑑鑒鑓鑔鑕鑖鑗鑘鑙鑚鑛鑜鑝鑞鑟鑠鑡鑢鑣鑤鑥鑦鑧鑨鑩鑪鑬鑭鑮鑯�鑰鑱鑲鑳鑴鑵鑶鑷鑸鑹鑺鑻鑼鑽鑾鑿钀钁钂钃钄钑钖钘铇铏铓铔铚铦铻锜锠琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹�\".split(\"\");\nfor(j = 0; j != D[232].length; ++j) if(D[232][j].charCodeAt(0) !== 0xFFFD) { e[D[232][j]] = 59392 + j; d[59392 + j] = D[232][j];}\nD[233] = \"����������������������������������������������������������������锧锳锽镃镈镋镕镚镠镮镴镵長镸镹镺镻镼镽镾門閁閂閃閄閅閆閇閈閉閊開閌閍閎閏閐閑閒間閔閕閖閗閘閙閚閛閜閝閞閟閠閡関閣閤閥閦閧閨閩閪�閫閬閭閮閯閰閱閲閳閴閵閶閷閸閹閺閻閼閽閾閿闀闁闂闃闄闅闆闇闈闉闊闋椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋�\".split(\"\");\nfor(j = 0; j != D[233].length; ++j) if(D[233][j].charCodeAt(0) !== 0xFFFD) { e[D[233][j]] = 59648 + j; d[59648 + j] = D[233][j];}\nD[234] = \"����������������������������������������������������������������闌闍闎闏闐闑闒闓闔闕闖闗闘闙闚闛關闝闞闟闠闡闢闣闤闥闦闧闬闿阇阓阘阛阞阠阣阤阥阦阧阨阩阫阬阭阯阰阷阸阹阺阾陁陃陊陎陏陑陒陓陖陗�陘陙陚陜陝陞陠陣陥陦陫陭陮陯陰陱陳陸陹険陻陼陽陾陿隀隁隂隃隄隇隉隊辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰�\".split(\"\");\nfor(j = 0; j != D[234].length; ++j) if(D[234][j].charCodeAt(0) !== 0xFFFD) { e[D[234][j]] = 59904 + j; d[59904 + j] = D[234][j];}\nD[235] = \"����������������������������������������������������������������隌階隑隒隓隕隖隚際隝隞隟隠隡隢隣隤隥隦隨隩險隫隬隭隮隯隱隲隴隵隷隸隺隻隿雂雃雈雊雋雐雑雓雔雖雗雘雙雚雛雜雝雞雟雡離難雤雥雦雧雫�雬雭雮雰雱雲雴雵雸雺電雼雽雿霂霃霅霊霋霌霐霑霒霔霕霗霘霙霚霛霝霟霠搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻�\".split(\"\");\nfor(j = 0; j != D[235].length; ++j) if(D[235][j].charCodeAt(0) !== 0xFFFD) { e[D[235][j]] = 60160 + j; d[60160 + j] = D[235][j];}\nD[236] = \"����������������������������������������������������������������霡霢霣霤霥霦霧霨霩霫霬霮霯霱霳霴霵霶霷霺霻霼霽霿靀靁靂靃靄靅靆靇靈靉靊靋靌靍靎靏靐靑靔靕靗靘靚靜靝靟靣靤靦靧靨靪靫靬靭靮靯靰靱�靲靵靷靸靹靺靻靽靾靿鞀鞁鞂鞃鞄鞆鞇鞈鞉鞊鞌鞎鞏鞐鞓鞕鞖鞗鞙鞚鞛鞜鞝臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐�\".split(\"\");\nfor(j = 0; j != D[236].length; ++j) if(D[236][j].charCodeAt(0) !== 0xFFFD) { e[D[236][j]] = 60416 + j; d[60416 + j] = D[236][j];}\nD[237] = \"����������������������������������������������������������������鞞鞟鞡鞢鞤鞥鞦鞧鞨鞩鞪鞬鞮鞰鞱鞳鞵鞶鞷鞸鞹鞺鞻鞼鞽鞾鞿韀韁韂韃韄韅韆韇韈韉韊韋韌韍韎韏韐韑韒韓韔韕韖韗韘韙韚韛韜韝韞韟韠韡韢韣�韤韥韨韮韯韰韱韲韴韷韸韹韺韻韼韽韾響頀頁頂頃頄項順頇須頉頊頋頌頍頎怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨�\".split(\"\");\nfor(j = 0; j != D[237].length; ++j) if(D[237][j].charCodeAt(0) !== 0xFFFD) { e[D[237][j]] = 60672 + j; d[60672 + j] = D[237][j];}\nD[238] = \"����������������������������������������������������������������頏預頑頒頓頔頕頖頗領頙頚頛頜頝頞頟頠頡頢頣頤頥頦頧頨頩頪頫頬頭頮頯頰頱頲頳頴頵頶頷頸頹頺頻頼頽頾頿顀顁顂顃顄顅顆顇顈顉顊顋題額�顎顏顐顑顒顓顔顕顖顗願顙顚顛顜顝類顟顠顡顢顣顤顥顦顧顨顩顪顫顬顭顮睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶钷钸钹钺钼钽钿铄铈铉铊铋铌铍铎铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪�\".split(\"\");\nfor(j = 0; j != D[238].length; ++j) if(D[238][j].charCodeAt(0) !== 0xFFFD) { e[D[238][j]] = 60928 + j; d[60928 + j] = D[238][j];}\nD[239] = \"����������������������������������������������������������������顯顰顱顲顳顴颋颎颒颕颙颣風颩颪颫颬颭颮颯颰颱颲颳颴颵颶颷颸颹颺颻颼颽颾颿飀飁飂飃飄飅飆飇飈飉飊飋飌飍飏飐飔飖飗飛飜飝飠飡飢飣飤�飥飦飩飪飫飬飭飮飯飰飱飲飳飴飵飶飷飸飹飺飻飼飽飾飿餀餁餂餃餄餅餆餇铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒锓锔锕锖锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤镥镦镧镨镩镪镫镬镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔�\".split(\"\");\nfor(j = 0; j != D[239].length; ++j) if(D[239][j].charCodeAt(0) !== 0xFFFD) { e[D[239][j]] = 61184 + j; d[61184 + j] = D[239][j];}\nD[240] = \"����������������������������������������������������������������餈餉養餋餌餎餏餑餒餓餔餕餖餗餘餙餚餛餜餝餞餟餠餡餢餣餤餥餦餧館餩餪餫餬餭餯餰餱餲餳餴餵餶餷餸餹餺餻餼餽餾餿饀饁饂饃饄饅饆饇饈饉�饊饋饌饍饎饏饐饑饒饓饖饗饘饙饚饛饜饝饞饟饠饡饢饤饦饳饸饹饻饾馂馃馉稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨鸩鸪鸫鸬鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦鹧鹨鹩鹪鹫鹬鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙�\".split(\"\");\nfor(j = 0; j != D[240].length; ++j) if(D[240][j].charCodeAt(0) !== 0xFFFD) { e[D[240][j]] = 61440 + j; d[61440 + j] = D[240][j];}\nD[241] = \"����������������������������������������������������������������馌馎馚馛馜馝馞馟馠馡馢馣馤馦馧馩馪馫馬馭馮馯馰馱馲馳馴馵馶馷馸馹馺馻馼馽馾馿駀駁駂駃駄駅駆駇駈駉駊駋駌駍駎駏駐駑駒駓駔駕駖駗駘�駙駚駛駜駝駞駟駠駡駢駣駤駥駦駧駨駩駪駫駬駭駮駯駰駱駲駳駴駵駶駷駸駹瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃�\".split(\"\");\nfor(j = 0; j != D[241].length; ++j) if(D[241][j].charCodeAt(0) !== 0xFFFD) { e[D[241][j]] = 61696 + j; d[61696 + j] = D[241][j];}\nD[242] = \"����������������������������������������������������������������駺駻駼駽駾駿騀騁騂騃騄騅騆騇騈騉騊騋騌騍騎騏騐騑騒験騔騕騖騗騘騙騚騛騜騝騞騟騠騡騢騣騤騥騦騧騨騩騪騫騬騭騮騯騰騱騲騳騴騵騶騷騸�騹騺騻騼騽騾騿驀驁驂驃驄驅驆驇驈驉驊驋驌驍驎驏驐驑驒驓驔驕驖驗驘驙颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒�\".split(\"\");\nfor(j = 0; j != D[242].length; ++j) if(D[242][j].charCodeAt(0) !== 0xFFFD) { e[D[242][j]] = 61952 + j; d[61952 + j] = D[242][j];}\nD[243] = \"����������������������������������������������������������������驚驛驜驝驞驟驠驡驢驣驤驥驦驧驨驩驪驫驲骃骉骍骎骔骕骙骦骩骪骫骬骭骮骯骲骳骴骵骹骻骽骾骿髃髄髆髇髈髉髊髍髎髏髐髒體髕髖髗髙髚髛髜�髝髞髠髢髣髤髥髧髨髩髪髬髮髰髱髲髳髴髵髶髷髸髺髼髽髾髿鬀鬁鬂鬄鬅鬆蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋�\".split(\"\");\nfor(j = 0; j != D[243].length; ++j) if(D[243][j].charCodeAt(0) !== 0xFFFD) { e[D[243][j]] = 62208 + j; d[62208 + j] = D[243][j];}\nD[244] = \"����������������������������������������������������������������鬇鬉鬊鬋鬌鬍鬎鬐鬑鬒鬔鬕鬖鬗鬘鬙鬚鬛鬜鬝鬞鬠鬡鬢鬤鬥鬦鬧鬨鬩鬪鬫鬬鬭鬮鬰鬱鬳鬴鬵鬶鬷鬸鬹鬺鬽鬾鬿魀魆魊魋魌魎魐魒魓魕魖魗魘魙魚�魛魜魝魞魟魠魡魢魣魤魥魦魧魨魩魪魫魬魭魮魯魰魱魲魳魴魵魶魷魸魹魺魻簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤�\".split(\"\");\nfor(j = 0; j != D[244].length; ++j) if(D[244][j].charCodeAt(0) !== 0xFFFD) { e[D[244][j]] = 62464 + j; d[62464 + j] = D[244][j];}\nD[245] = \"����������������������������������������������������������������魼魽魾魿鮀鮁鮂鮃鮄鮅鮆鮇鮈鮉鮊鮋鮌鮍鮎鮏鮐鮑鮒鮓鮔鮕鮖鮗鮘鮙鮚鮛鮜鮝鮞鮟鮠鮡鮢鮣鮤鮥鮦鮧鮨鮩鮪鮫鮬鮭鮮鮯鮰鮱鮲鮳鮴鮵鮶鮷鮸鮹鮺�鮻鮼鮽鮾鮿鯀鯁鯂鯃鯄鯅鯆鯇鯈鯉鯊鯋鯌鯍鯎鯏鯐鯑鯒鯓鯔鯕鯖鯗鯘鯙鯚鯛酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜�\".split(\"\");\nfor(j = 0; j != D[245].length; ++j) if(D[245][j].charCodeAt(0) !== 0xFFFD) { e[D[245][j]] = 62720 + j; d[62720 + j] = D[245][j];}\nD[246] = \"����������������������������������������������������������������鯜鯝鯞鯟鯠鯡鯢鯣鯤鯥鯦鯧鯨鯩鯪鯫鯬鯭鯮鯯鯰鯱鯲鯳鯴鯵鯶鯷鯸鯹鯺鯻鯼鯽鯾鯿鰀鰁鰂鰃鰄鰅鰆鰇鰈鰉鰊鰋鰌鰍鰎鰏鰐鰑鰒鰓鰔鰕鰖鰗鰘鰙鰚�鰛鰜鰝鰞鰟鰠鰡鰢鰣鰤鰥鰦鰧鰨鰩鰪鰫鰬鰭鰮鰯鰰鰱鰲鰳鰴鰵鰶鰷鰸鰹鰺鰻觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅龆龇龈龉龊龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞鲟鲠鲡鲢鲣鲥鲦鲧鲨鲩鲫鲭鲮鲰鲱鲲鲳鲴鲵鲶鲷鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋�\".split(\"\");\nfor(j = 0; j != D[246].length; ++j) if(D[246][j].charCodeAt(0) !== 0xFFFD) { e[D[246][j]] = 62976 + j; d[62976 + j] = D[246][j];}\nD[247] = \"����������������������������������������������������������������鰼鰽鰾鰿鱀鱁鱂鱃鱄鱅鱆鱇鱈鱉鱊鱋鱌鱍鱎鱏鱐鱑鱒鱓鱔鱕鱖鱗鱘鱙鱚鱛鱜鱝鱞鱟鱠鱡鱢鱣鱤鱥鱦鱧鱨鱩鱪鱫鱬鱭鱮鱯鱰鱱鱲鱳鱴鱵鱶鱷鱸鱹鱺�鱻鱽鱾鲀鲃鲄鲉鲊鲌鲏鲓鲖鲗鲘鲙鲝鲪鲬鲯鲹鲾鲿鳀鳁鳂鳈鳉鳑鳒鳚鳛鳠鳡鳌鳍鳎鳏鳐鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄�\".split(\"\");\nfor(j = 0; j != D[247].length; ++j) if(D[247][j].charCodeAt(0) !== 0xFFFD) { e[D[247][j]] = 63232 + j; d[63232 + j] = D[247][j];}\nD[248] = \"����������������������������������������������������������������鳣鳤鳥鳦鳧鳨鳩鳪鳫鳬鳭鳮鳯鳰鳱鳲鳳鳴鳵鳶鳷鳸鳹鳺鳻鳼鳽鳾鳿鴀鴁鴂鴃鴄鴅鴆鴇鴈鴉鴊鴋鴌鴍鴎鴏鴐鴑鴒鴓鴔鴕鴖鴗鴘鴙鴚鴛鴜鴝鴞鴟鴠鴡�鴢鴣鴤鴥鴦鴧鴨鴩鴪鴫鴬鴭鴮鴯鴰鴱鴲鴳鴴鴵鴶鴷鴸鴹鴺鴻鴼鴽鴾鴿鵀鵁鵂�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[248].length; ++j) if(D[248][j].charCodeAt(0) !== 0xFFFD) { e[D[248][j]] = 63488 + j; d[63488 + j] = D[248][j];}\nD[249] = \"����������������������������������������������������������������鵃鵄鵅鵆鵇鵈鵉鵊鵋鵌鵍鵎鵏鵐鵑鵒鵓鵔鵕鵖鵗鵘鵙鵚鵛鵜鵝鵞鵟鵠鵡鵢鵣鵤鵥鵦鵧鵨鵩鵪鵫鵬鵭鵮鵯鵰鵱鵲鵳鵴鵵鵶鵷鵸鵹鵺鵻鵼鵽鵾鵿鶀鶁�鶂鶃鶄鶅鶆鶇鶈鶉鶊鶋鶌鶍鶎鶏鶐鶑鶒鶓鶔鶕鶖鶗鶘鶙鶚鶛鶜鶝鶞鶟鶠鶡鶢�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[249].length; ++j) if(D[249][j].charCodeAt(0) !== 0xFFFD) { e[D[249][j]] = 63744 + j; d[63744 + j] = D[249][j];}\nD[250] = \"����������������������������������������������������������������鶣鶤鶥鶦鶧鶨鶩鶪鶫鶬鶭鶮鶯鶰鶱鶲鶳鶴鶵鶶鶷鶸鶹鶺鶻鶼鶽鶾鶿鷀鷁鷂鷃鷄鷅鷆鷇鷈鷉鷊鷋鷌鷍鷎鷏鷐鷑鷒鷓鷔鷕鷖鷗鷘鷙鷚鷛鷜鷝鷞鷟鷠鷡�鷢鷣鷤鷥鷦鷧鷨鷩鷪鷫鷬鷭鷮鷯鷰鷱鷲鷳鷴鷵鷶鷷鷸鷹鷺鷻鷼鷽鷾鷿鸀鸁鸂�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[250].length; ++j) if(D[250][j].charCodeAt(0) !== 0xFFFD) { e[D[250][j]] = 64000 + j; d[64000 + j] = D[250][j];}\nD[251] = \"����������������������������������������������������������������鸃鸄鸅鸆鸇鸈鸉鸊鸋鸌鸍鸎鸏鸐鸑鸒鸓鸔鸕鸖鸗鸘鸙鸚鸛鸜鸝鸞鸤鸧鸮鸰鸴鸻鸼鹀鹍鹐鹒鹓鹔鹖鹙鹝鹟鹠鹡鹢鹥鹮鹯鹲鹴鹵鹶鹷鹸鹹鹺鹻鹼鹽麀�麁麃麄麅麆麉麊麌麍麎麏麐麑麔麕麖麗麘麙麚麛麜麞麠麡麢麣麤麥麧麨麩麪�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[251].length; ++j) if(D[251][j].charCodeAt(0) !== 0xFFFD) { e[D[251][j]] = 64256 + j; d[64256 + j] = D[251][j];}\nD[252] = \"����������������������������������������������������������������麫麬麭麮麯麰麱麲麳麵麶麷麹麺麼麿黀黁黂黃黅黆黇黈黊黋黌黐黒黓黕黖黗黙黚點黡黣黤黦黨黫黬黭黮黰黱黲黳黴黵黶黷黸黺黽黿鼀鼁鼂鼃鼄鼅�鼆鼇鼈鼉鼊鼌鼏鼑鼒鼔鼕鼖鼘鼚鼛鼜鼝鼞鼟鼡鼣鼤鼥鼦鼧鼨鼩鼪鼫鼭鼮鼰鼱�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[252].length; ++j) if(D[252][j].charCodeAt(0) !== 0xFFFD) { e[D[252][j]] = 64512 + j; d[64512 + j] = D[252][j];}\nD[253] = \"����������������������������������������������������������������鼲鼳鼴鼵鼶鼸鼺鼼鼿齀齁齂齃齅齆齇齈齉齊齋齌齍齎齏齒齓齔齕齖齗齘齙齚齛齜齝齞齟齠齡齢齣齤齥齦齧齨齩齪齫齬齭齮齯齰齱齲齳齴齵齶齷齸�齹齺齻齼齽齾龁龂龍龎龏龐龑龒龓龔龕龖龗龘龜龝龞龡龢龣龤龥郎凉秊裏隣�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[253].length; ++j) if(D[253][j].charCodeAt(0) !== 0xFFFD) { e[D[253][j]] = 64768 + j; d[64768 + j] = D[253][j];}\nD[254] = \"����������������������������������������������������������������兀嗀﨎﨏﨑﨓﨔礼﨟蘒﨡﨣﨤﨧﨨﨩��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[254].length; ++j) if(D[254][j].charCodeAt(0) !== 0xFFFD) { e[D[254][j]] = 65024 + j; d[65024 + j] = D[254][j];}\nreturn {\"enc\": e, \"dec\": d }; })();\ncptable[949] = (function(){ var d = [], e = {}, D = [], j;\nD[0] = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];}\nD[129] = \"�����������������������������������������������������������������갂갃갅갆갋갌갍갎갏갘갞갟갡갢갣갥갦갧갨갩갪갫갮갲갳갴������갵갶갷갺갻갽갾갿걁걂걃걄걅걆걇걈걉걊걌걎걏걐걑걒걓걕������걖걗걙걚걛걝걞걟걠걡걢걣걤걥걦걧걨걩걪걫걬걭걮걯걲걳걵걶걹걻걼걽걾걿겂겇겈겍겎겏겑겒겓겕겖겗겘겙겚겛겞겢겣겤겥겦겧겫겭겮겱겲겳겴겵겶겷겺겾겿곀곂곃곅곆곇곉곊곋곍곎곏곐곑곒곓곔곖곘곙곚곛곜곝곞곟곢곣곥곦곩곫곭곮곲곴곷곸곹곺곻곾곿괁괂괃괅괇괈괉괊괋괎괐괒괓�\".split(\"\");\nfor(j = 0; j != D[129].length; ++j) if(D[129][j].charCodeAt(0) !== 0xFFFD) { e[D[129][j]] = 33024 + j; d[33024 + j] = D[129][j];}\nD[130] = \"�����������������������������������������������������������������괔괕괖괗괙괚괛괝괞괟괡괢괣괤괥괦괧괨괪괫괮괯괰괱괲괳������괶괷괹괺괻괽괾괿굀굁굂굃굆굈굊굋굌굍굎굏굑굒굓굕굖굗������굙굚굛굜굝굞굟굠굢굤굥굦굧굨굩굪굫굮굯굱굲굷굸굹굺굾궀궃궄궅궆궇궊궋궍궎궏궑궒궓궔궕궖궗궘궙궚궛궞궟궠궡궢궣궥궦궧궨궩궪궫궬궭궮궯궰궱궲궳궴궵궶궸궹궺궻궼궽궾궿귂귃귅귆귇귉귊귋귌귍귎귏귒귔귕귖귗귘귙귚귛귝귞귟귡귢귣귥귦귧귨귩귪귫귬귭귮귯귰귱귲귳귴귵귶귷�\".split(\"\");\nfor(j = 0; j != D[130].length; ++j) if(D[130][j].charCodeAt(0) !== 0xFFFD) { e[D[130][j]] = 33280 + j; d[33280 + j] = D[130][j];}\nD[131] = \"�����������������������������������������������������������������귺귻귽귾긂긃긄긅긆긇긊긌긎긏긐긑긒긓긕긖긗긘긙긚긛긜������긝긞긟긠긡긢긣긤긥긦긧긨긩긪긫긬긭긮긯긲긳긵긶긹긻긼������긽긾긿깂깄깇깈깉깋깏깑깒깓깕깗깘깙깚깛깞깢깣깤깦깧깪깫깭깮깯깱깲깳깴깵깶깷깺깾깿꺀꺁꺂꺃꺆꺇꺈꺉꺊꺋꺍꺎꺏꺐꺑꺒꺓꺔꺕꺖꺗꺘꺙꺚꺛꺜꺝꺞꺟꺠꺡꺢꺣꺤꺥꺦꺧꺨꺩꺪꺫꺬꺭꺮꺯꺰꺱꺲꺳꺴꺵꺶꺷꺸꺹꺺꺻꺿껁껂껃껅껆껇껈껉껊껋껎껒껓껔껕껖껗껚껛껝껞껟껠껡껢껣껤껥�\".split(\"\");\nfor(j = 0; j != D[131].length; ++j) if(D[131][j].charCodeAt(0) !== 0xFFFD) { e[D[131][j]] = 33536 + j; d[33536 + j] = D[131][j];}\nD[132] = \"�����������������������������������������������������������������껦껧껩껪껬껮껯껰껱껲껳껵껶껷껹껺껻껽껾껿꼀꼁꼂꼃꼄꼅������꼆꼉꼊꼋꼌꼎꼏꼑꼒꼓꼔꼕꼖꼗꼘꼙꼚꼛꼜꼝꼞꼟꼠꼡꼢꼣������꼤꼥꼦꼧꼨꼩꼪꼫꼮꼯꼱꼳꼵꼶꼷꼸꼹꼺꼻꼾꽀꽄꽅꽆꽇꽊꽋꽌꽍꽎꽏꽑꽒꽓꽔꽕꽖꽗꽘꽙꽚꽛꽞꽟꽠꽡꽢꽣꽦꽧꽨꽩꽪꽫꽬꽭꽮꽯꽰꽱꽲꽳꽴꽵꽶꽷꽸꽺꽻꽼꽽꽾꽿꾁꾂꾃꾅꾆꾇꾉꾊꾋꾌꾍꾎꾏꾒꾓꾔꾖꾗꾘꾙꾚꾛꾝꾞꾟꾠꾡꾢꾣꾤꾥꾦꾧꾨꾩꾪꾫꾬꾭꾮꾯꾰꾱꾲꾳꾴꾵꾶꾷꾺꾻꾽꾾�\".split(\"\");\nfor(j = 0; j != D[132].length; ++j) if(D[132][j].charCodeAt(0) !== 0xFFFD) { e[D[132][j]] = 33792 + j; d[33792 + j] = D[132][j];}\nD[133] = \"�����������������������������������������������������������������꾿꿁꿂꿃꿄꿅꿆꿊꿌꿏꿐꿑꿒꿓꿕꿖꿗꿘꿙꿚꿛꿝꿞꿟꿠꿡������꿢꿣꿤꿥꿦꿧꿪꿫꿬꿭꿮꿯꿲꿳꿵꿶꿷꿹꿺꿻꿼꿽꿾꿿뀂뀃������뀅뀆뀇뀈뀉뀊뀋뀍뀎뀏뀑뀒뀓뀕뀖뀗뀘뀙뀚뀛뀞뀟뀠뀡뀢뀣뀤뀥뀦뀧뀩뀪뀫뀬뀭뀮뀯뀰뀱뀲뀳뀴뀵뀶뀷뀸뀹뀺뀻뀼뀽뀾뀿끀끁끂끃끆끇끉끋끍끏끐끑끒끖끘끚끛끜끞끟끠끡끢끣끤끥끦끧끨끩끪끫끬끭끮끯끰끱끲끳끴끵끶끷끸끹끺끻끾끿낁낂낃낅낆낇낈낉낊낋낎낐낒낓낔낕낖낗낛낝낞낣낤�\".split(\"\");\nfor(j = 0; j != D[133].length; ++j) if(D[133][j].charCodeAt(0) !== 0xFFFD) { e[D[133][j]] = 34048 + j; d[34048 + j] = D[133][j];}\nD[134] = \"�����������������������������������������������������������������낥낦낧낪낰낲낶낷낹낺낻낽낾낿냀냁냂냃냆냊냋냌냍냎냏냒������냓냕냖냗냙냚냛냜냝냞냟냡냢냣냤냦냧냨냩냪냫냬냭냮냯냰������냱냲냳냴냵냶냷냸냹냺냻냼냽냾냿넀넁넂넃넄넅넆넇넊넍넎넏넑넔넕넖넗넚넞넟넠넡넢넦넧넩넪넫넭넮넯넰넱넲넳넶넺넻넼넽넾넿녂녃녅녆녇녉녊녋녌녍녎녏녒녓녖녗녙녚녛녝녞녟녡녢녣녤녥녦녧녨녩녪녫녬녭녮녯녰녱녲녳녴녵녶녷녺녻녽녾녿놁놃놄놅놆놇놊놌놎놏놐놑놕놖놗놙놚놛놝�\".split(\"\");\nfor(j = 0; j != D[134].length; ++j) if(D[134][j].charCodeAt(0) !== 0xFFFD) { e[D[134][j]] = 34304 + j; d[34304 + j] = D[134][j];}\nD[135] = \"�����������������������������������������������������������������놞놟놠놡놢놣놤놥놦놧놩놪놫놬놭놮놯놰놱놲놳놴놵놶놷놸������놹놺놻놼놽놾놿뇀뇁뇂뇃뇄뇅뇆뇇뇈뇉뇊뇋뇍뇎뇏뇑뇒뇓뇕������뇖뇗뇘뇙뇚뇛뇞뇠뇡뇢뇣뇤뇥뇦뇧뇪뇫뇭뇮뇯뇱뇲뇳뇴뇵뇶뇷뇸뇺뇼뇾뇿눀눁눂눃눆눇눉눊눍눎눏눐눑눒눓눖눘눚눛눜눝눞눟눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눵눶눷눸눹눺눻눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉙뉚뉛뉝뉞뉟뉡뉢뉣뉤뉥뉦뉧뉪뉫뉬뉭뉮�\".split(\"\");\nfor(j = 0; j != D[135].length; ++j) if(D[135][j].charCodeAt(0) !== 0xFFFD) { e[D[135][j]] = 34560 + j; d[34560 + j] = D[135][j];}\nD[136] = \"�����������������������������������������������������������������뉯뉰뉱뉲뉳뉶뉷뉸뉹뉺뉻뉽뉾뉿늀늁늂늃늆늇늈늊늋늌늍늎������늏늒늓늕늖늗늛늜늝늞늟늢늤늧늨늩늫늭늮늯늱늲늳늵늶늷������늸늹늺늻늼늽늾늿닀닁닂닃닄닅닆닇닊닋닍닎닏닑닓닔닕닖닗닚닜닞닟닠닡닣닧닩닪닰닱닲닶닼닽닾댂댃댅댆댇댉댊댋댌댍댎댏댒댖댗댘댙댚댛댝댞댟댠댡댢댣댤댥댦댧댨댩댪댫댬댭댮댯댰댱댲댳댴댵댶댷댸댹댺댻댼댽댾댿덀덁덂덃덄덅덆덇덈덉덊덋덌덍덎덏덐덑덒덓덗덙덚덝덠덡덢덣�\".split(\"\");\nfor(j = 0; j != D[136].length; ++j) if(D[136][j].charCodeAt(0) !== 0xFFFD) { e[D[136][j]] = 34816 + j; d[34816 + j] = D[136][j];}\nD[137] = \"�����������������������������������������������������������������덦덨덪덬덭덯덲덳덵덶덷덹덺덻덼덽덾덿뎂뎆뎇뎈뎉뎊뎋뎍������뎎뎏뎑뎒뎓뎕뎖뎗뎘뎙뎚뎛뎜뎝뎞뎟뎢뎣뎤뎥뎦뎧뎩뎪뎫뎭������뎮뎯뎰뎱뎲뎳뎴뎵뎶뎷뎸뎹뎺뎻뎼뎽뎾뎿돀돁돂돃돆돇돉돊돍돏돑돒돓돖돘돚돜돞돟돡돢돣돥돦돧돩돪돫돬돭돮돯돰돱돲돳돴돵돶돷돸돹돺돻돽돾돿됀됁됂됃됄됅됆됇됈됉됊됋됌됍됎됏됑됒됓됔됕됖됗됙됚됛됝됞됟됡됢됣됤됥됦됧됪됬됭됮됯됰됱됲됳됵됶됷됸됹됺됻됼됽됾됿둀둁둂둃둄�\".split(\"\");\nfor(j = 0; j != D[137].length; ++j) if(D[137][j].charCodeAt(0) !== 0xFFFD) { e[D[137][j]] = 35072 + j; d[35072 + j] = D[137][j];}\nD[138] = \"�����������������������������������������������������������������둅둆둇둈둉둊둋둌둍둎둏둒둓둕둖둗둙둚둛둜둝둞둟둢둤둦������둧둨둩둪둫둭둮둯둰둱둲둳둴둵둶둷둸둹둺둻둼둽둾둿뒁뒂������뒃뒄뒅뒆뒇뒉뒊뒋뒌뒍뒎뒏뒐뒑뒒뒓뒔뒕뒖뒗뒘뒙뒚뒛뒜뒞뒟뒠뒡뒢뒣뒥뒦뒧뒩뒪뒫뒭뒮뒯뒰뒱뒲뒳뒴뒶뒸뒺뒻뒼뒽뒾뒿듁듂듃듅듆듇듉듊듋듌듍듎듏듑듒듓듔듖듗듘듙듚듛듞듟듡듢듥듧듨듩듪듫듮듰듲듳듴듵듶듷듹듺듻듼듽듾듿딀딁딂딃딄딅딆딇딈딉딊딋딌딍딎딏딐딑딒딓딖딗딙딚딝�\".split(\"\");\nfor(j = 0; j != D[138].length; ++j) if(D[138][j].charCodeAt(0) !== 0xFFFD) { e[D[138][j]] = 35328 + j; d[35328 + j] = D[138][j];}\nD[139] = \"�����������������������������������������������������������������딞딟딠딡딢딣딦딫딬딭딮딯딲딳딵딶딷딹딺딻딼딽딾딿땂땆������땇땈땉땊땎땏땑땒땓땕땖땗땘땙땚땛땞땢땣땤땥땦땧땨땩땪������땫땬땭땮땯땰땱땲땳땴땵땶땷땸땹땺땻땼땽땾땿떀떁떂떃떄떅떆떇떈떉떊떋떌떍떎떏떐떑떒떓떔떕떖떗떘떙떚떛떜떝떞떟떢떣떥떦떧떩떬떭떮떯떲떶떷떸떹떺떾떿뗁뗂뗃뗅뗆뗇뗈뗉뗊뗋뗎뗒뗓뗔뗕뗖뗗뗙뗚뗛뗜뗝뗞뗟뗠뗡뗢뗣뗤뗥뗦뗧뗨뗩뗪뗫뗭뗮뗯뗰뗱뗲뗳뗴뗵뗶뗷뗸뗹뗺뗻뗼뗽뗾뗿�\".split(\"\");\nfor(j = 0; j != D[139].length; ++j) if(D[139][j].charCodeAt(0) !== 0xFFFD) { e[D[139][j]] = 35584 + j; d[35584 + j] = D[139][j];}\nD[140] = \"�����������������������������������������������������������������똀똁똂똃똄똅똆똇똈똉똊똋똌똍똎똏똒똓똕똖똗똙똚똛똜똝������똞똟똠똡똢똣똤똦똧똨똩똪똫똭똮똯똰똱똲똳똵똶똷똸똹똺������똻똼똽똾똿뙀뙁뙂뙃뙄뙅뙆뙇뙉뙊뙋뙌뙍뙎뙏뙐뙑뙒뙓뙔뙕뙖뙗뙘뙙뙚뙛뙜뙝뙞뙟뙠뙡뙢뙣뙥뙦뙧뙩뙪뙫뙬뙭뙮뙯뙰뙱뙲뙳뙴뙵뙶뙷뙸뙹뙺뙻뙼뙽뙾뙿뚀뚁뚂뚃뚄뚅뚆뚇뚈뚉뚊뚋뚌뚍뚎뚏뚐뚑뚒뚓뚔뚕뚖뚗뚘뚙뚚뚛뚞뚟뚡뚢뚣뚥뚦뚧뚨뚩뚪뚭뚮뚯뚰뚲뚳뚴뚵뚶뚷뚸뚹뚺뚻뚼뚽뚾뚿뛀뛁뛂�\".split(\"\");\nfor(j = 0; j != D[140].length; ++j) if(D[140][j].charCodeAt(0) !== 0xFFFD) { e[D[140][j]] = 35840 + j; d[35840 + j] = D[140][j];}\nD[141] = \"�����������������������������������������������������������������뛃뛄뛅뛆뛇뛈뛉뛊뛋뛌뛍뛎뛏뛐뛑뛒뛓뛕뛖뛗뛘뛙뛚뛛뛜뛝������뛞뛟뛠뛡뛢뛣뛤뛥뛦뛧뛨뛩뛪뛫뛬뛭뛮뛯뛱뛲뛳뛵뛶뛷뛹뛺������뛻뛼뛽뛾뛿뜂뜃뜄뜆뜇뜈뜉뜊뜋뜌뜍뜎뜏뜐뜑뜒뜓뜔뜕뜖뜗뜘뜙뜚뜛뜜뜝뜞뜟뜠뜡뜢뜣뜤뜥뜦뜧뜪뜫뜭뜮뜱뜲뜳뜴뜵뜶뜷뜺뜼뜽뜾뜿띀띁띂띃띅띆띇띉띊띋띍띎띏띐띑띒띓띖띗띘띙띚띛띜띝띞띟띡띢띣띥띦띧띩띪띫띬띭띮띯띲띴띶띷띸띹띺띻띾띿랁랂랃랅랆랇랈랉랊랋랎랓랔랕랚랛랝랞�\".split(\"\");\nfor(j = 0; j != D[141].length; ++j) if(D[141][j].charCodeAt(0) !== 0xFFFD) { e[D[141][j]] = 36096 + j; d[36096 + j] = D[141][j];}\nD[142] = \"�����������������������������������������������������������������랟랡랢랣랤랥랦랧랪랮랯랰랱랲랳랶랷랹랺랻랼랽랾랿럀럁������럂럃럄럅럆럈럊럋럌럍럎럏럐럑럒럓럔럕럖럗럘럙럚럛럜럝������럞럟럠럡럢럣럤럥럦럧럨럩럪럫럮럯럱럲럳럵럶럷럸럹럺럻럾렂렃렄렅렆렊렋렍렎렏렑렒렓렔렕렖렗렚렜렞렟렠렡렢렣렦렧렩렪렫렭렮렯렰렱렲렳렶렺렻렼렽렾렿롁롂롃롅롆롇롈롉롊롋롌롍롎롏롐롒롔롕롖롗롘롙롚롛롞롟롡롢롣롥롦롧롨롩롪롫롮롰롲롳롴롵롶롷롹롺롻롽롾롿뢀뢁뢂뢃뢄�\".split(\"\");\nfor(j = 0; j != D[142].length; ++j) if(D[142][j].charCodeAt(0) !== 0xFFFD) { e[D[142][j]] = 36352 + j; d[36352 + j] = D[142][j];}\nD[143] = \"�����������������������������������������������������������������뢅뢆뢇뢈뢉뢊뢋뢌뢎뢏뢐뢑뢒뢓뢔뢕뢖뢗뢘뢙뢚뢛뢜뢝뢞뢟������뢠뢡뢢뢣뢤뢥뢦뢧뢩뢪뢫뢬뢭뢮뢯뢱뢲뢳뢵뢶뢷뢹뢺뢻뢼뢽������뢾뢿룂룄룆룇룈룉룊룋룍룎룏룑룒룓룕룖룗룘룙룚룛룜룞룠룢룣룤룥룦룧룪룫룭룮룯룱룲룳룴룵룶룷룺룼룾룿뤀뤁뤂뤃뤅뤆뤇뤈뤉뤊뤋뤌뤍뤎뤏뤐뤑뤒뤓뤔뤕뤖뤗뤙뤚뤛뤜뤝뤞뤟뤡뤢뤣뤤뤥뤦뤧뤨뤩뤪뤫뤬뤭뤮뤯뤰뤱뤲뤳뤴뤵뤶뤷뤸뤹뤺뤻뤾뤿륁륂륃륅륆륇륈륉륊륋륍륎륐륒륓륔륕륖륗�\".split(\"\");\nfor(j = 0; j != D[143].length; ++j) if(D[143][j].charCodeAt(0) !== 0xFFFD) { e[D[143][j]] = 36608 + j; d[36608 + j] = D[143][j];}\nD[144] = \"�����������������������������������������������������������������륚륛륝륞륟륡륢륣륤륥륦륧륪륬륮륯륰륱륲륳륶륷륹륺륻륽������륾륿릀릁릂릃릆릈릋릌릏릐릑릒릓릔릕릖릗릘릙릚릛릜릝릞������릟릠릡릢릣릤릥릦릧릨릩릪릫릮릯릱릲릳릵릶릷릸릹릺릻릾맀맂맃맄맅맆맇맊맋맍맓맔맕맖맗맚맜맟맠맢맦맧맩맪맫맭맮맯맰맱맲맳맶맻맼맽맾맿먂먃먄먅먆먇먉먊먋먌먍먎먏먐먑먒먓먔먖먗먘먙먚먛먜먝먞먟먠먡먢먣먤먥먦먧먨먩먪먫먬먭먮먯먰먱먲먳먴먵먶먷먺먻먽먾먿멁멃멄멅멆�\".split(\"\");\nfor(j = 0; j != D[144].length; ++j) if(D[144][j].charCodeAt(0) !== 0xFFFD) { e[D[144][j]] = 36864 + j; d[36864 + j] = D[144][j];}\nD[145] = \"�����������������������������������������������������������������멇멊멌멏멐멑멒멖멗멙멚멛멝멞멟멠멡멢멣멦멪멫멬멭멮멯������멲멳멵멶멷멹멺멻멼멽멾멿몀몁몂몆몈몉몊몋몍몎몏몐몑몒������몓몔몕몖몗몘몙몚몛몜몝몞몟몠몡몢몣몤몥몦몧몪몭몮몯몱몳몴몵몶몷몺몼몾몿뫀뫁뫂뫃뫅뫆뫇뫉뫊뫋뫌뫍뫎뫏뫐뫑뫒뫓뫔뫕뫖뫗뫚뫛뫜뫝뫞뫟뫠뫡뫢뫣뫤뫥뫦뫧뫨뫩뫪뫫뫬뫭뫮뫯뫰뫱뫲뫳뫴뫵뫶뫷뫸뫹뫺뫻뫽뫾뫿묁묂묃묅묆묇묈묉묊묋묌묎묐묒묓묔묕묖묗묙묚묛묝묞묟묡묢묣묤묥묦묧�\".split(\"\");\nfor(j = 0; j != D[145].length; ++j) if(D[145][j].charCodeAt(0) !== 0xFFFD) { e[D[145][j]] = 37120 + j; d[37120 + j] = D[145][j];}\nD[146] = \"�����������������������������������������������������������������묨묪묬묭묮묯묰묱묲묳묷묹묺묿뭀뭁뭂뭃뭆뭈뭊뭋뭌뭎뭑뭒������뭓뭕뭖뭗뭙뭚뭛뭜뭝뭞뭟뭠뭢뭤뭥뭦뭧뭨뭩뭪뭫뭭뭮뭯뭰뭱������뭲뭳뭴뭵뭶뭷뭸뭹뭺뭻뭼뭽뭾뭿뮀뮁뮂뮃뮄뮅뮆뮇뮉뮊뮋뮍뮎뮏뮑뮒뮓뮔뮕뮖뮗뮘뮙뮚뮛뮜뮝뮞뮟뮠뮡뮢뮣뮥뮦뮧뮩뮪뮫뮭뮮뮯뮰뮱뮲뮳뮵뮶뮸뮹뮺뮻뮼뮽뮾뮿믁믂믃믅믆믇믉믊믋믌믍믎믏믑믒믔믕믖믗믘믙믚믛믜믝믞믟믠믡믢믣믤믥믦믧믨믩믪믫믬믭믮믯믰믱믲믳믴믵믶믷믺믻믽믾밁�\".split(\"\");\nfor(j = 0; j != D[146].length; ++j) if(D[146][j].charCodeAt(0) !== 0xFFFD) { e[D[146][j]] = 37376 + j; d[37376 + j] = D[146][j];}\nD[147] = \"�����������������������������������������������������������������밃밄밅밆밇밊밎밐밒밓밙밚밠밡밢밣밦밨밪밫밬밮밯밲밳밵������밶밷밹밺밻밼밽밾밿뱂뱆뱇뱈뱊뱋뱎뱏뱑뱒뱓뱔뱕뱖뱗뱘뱙������뱚뱛뱜뱞뱟뱠뱡뱢뱣뱤뱥뱦뱧뱨뱩뱪뱫뱬뱭뱮뱯뱰뱱뱲뱳뱴뱵뱶뱷뱸뱹뱺뱻뱼뱽뱾뱿벀벁벂벃벆벇벉벊벍벏벐벑벒벓벖벘벛벜벝벞벟벢벣벥벦벩벪벫벬벭벮벯벲벶벷벸벹벺벻벾벿볁볂볃볅볆볇볈볉볊볋볌볎볒볓볔볖볗볙볚볛볝볞볟볠볡볢볣볤볥볦볧볨볩볪볫볬볭볮볯볰볱볲볳볷볹볺볻볽�\".split(\"\");\nfor(j = 0; j != D[147].length; ++j) if(D[147][j].charCodeAt(0) !== 0xFFFD) { e[D[147][j]] = 37632 + j; d[37632 + j] = D[147][j];}\nD[148] = \"�����������������������������������������������������������������볾볿봀봁봂봃봆봈봊봋봌봍봎봏봑봒봓봕봖봗봘봙봚봛봜봝������봞봟봠봡봢봣봥봦봧봨봩봪봫봭봮봯봰봱봲봳봴봵봶봷봸봹������봺봻봼봽봾봿뵁뵂뵃뵄뵅뵆뵇뵊뵋뵍뵎뵏뵑뵒뵓뵔뵕뵖뵗뵚뵛뵜뵝뵞뵟뵠뵡뵢뵣뵥뵦뵧뵩뵪뵫뵬뵭뵮뵯뵰뵱뵲뵳뵴뵵뵶뵷뵸뵹뵺뵻뵼뵽뵾뵿붂붃붅붆붋붌붍붎붏붒붔붖붗붘붛붝붞붟붠붡붢붣붥붦붧붨붩붪붫붬붭붮붯붱붲붳붴붵붶붷붹붺붻붼붽붾붿뷀뷁뷂뷃뷄뷅뷆뷇뷈뷉뷊뷋뷌뷍뷎뷏뷐뷑�\".split(\"\");\nfor(j = 0; j != D[148].length; ++j) if(D[148][j].charCodeAt(0) !== 0xFFFD) { e[D[148][j]] = 37888 + j; d[37888 + j] = D[148][j];}\nD[149] = \"�����������������������������������������������������������������뷒뷓뷖뷗뷙뷚뷛뷝뷞뷟뷠뷡뷢뷣뷤뷥뷦뷧뷨뷪뷫뷬뷭뷮뷯뷱������뷲뷳뷵뷶뷷뷹뷺뷻뷼뷽뷾뷿븁븂븄븆븇븈븉븊븋븎븏븑븒븓������븕븖븗븘븙븚븛븞븠븡븢븣븤븥븦븧븨븩븪븫븬븭븮븯븰븱븲븳븴븵븶븷븸븹븺븻븼븽븾븿빀빁빂빃빆빇빉빊빋빍빏빐빑빒빓빖빘빜빝빞빟빢빣빥빦빧빩빫빬빭빮빯빲빶빷빸빹빺빾빿뺁뺂뺃뺅뺆뺇뺈뺉뺊뺋뺎뺒뺓뺔뺕뺖뺗뺚뺛뺜뺝뺞뺟뺠뺡뺢뺣뺤뺥뺦뺧뺩뺪뺫뺬뺭뺮뺯뺰뺱뺲뺳뺴뺵뺶뺷�\".split(\"\");\nfor(j = 0; j != D[149].length; ++j) if(D[149][j].charCodeAt(0) !== 0xFFFD) { e[D[149][j]] = 38144 + j; d[38144 + j] = D[149][j];}\nD[150] = \"�����������������������������������������������������������������뺸뺹뺺뺻뺼뺽뺾뺿뻀뻁뻂뻃뻄뻅뻆뻇뻈뻉뻊뻋뻌뻍뻎뻏뻒뻓������뻕뻖뻙뻚뻛뻜뻝뻞뻟뻡뻢뻦뻧뻨뻩뻪뻫뻭뻮뻯뻰뻱뻲뻳뻴뻵������뻶뻷뻸뻹뻺뻻뻼뻽뻾뻿뼀뼂뼃뼄뼅뼆뼇뼊뼋뼌뼍뼎뼏뼐뼑뼒뼓뼔뼕뼖뼗뼚뼞뼟뼠뼡뼢뼣뼤뼥뼦뼧뼨뼩뼪뼫뼬뼭뼮뼯뼰뼱뼲뼳뼴뼵뼶뼷뼸뼹뼺뼻뼼뼽뼾뼿뽂뽃뽅뽆뽇뽉뽊뽋뽌뽍뽎뽏뽒뽓뽔뽖뽗뽘뽙뽚뽛뽜뽝뽞뽟뽠뽡뽢뽣뽤뽥뽦뽧뽨뽩뽪뽫뽬뽭뽮뽯뽰뽱뽲뽳뽴뽵뽶뽷뽸뽹뽺뽻뽼뽽뽾뽿뾀뾁뾂�\".split(\"\");\nfor(j = 0; j != D[150].length; ++j) if(D[150][j].charCodeAt(0) !== 0xFFFD) { e[D[150][j]] = 38400 + j; d[38400 + j] = D[150][j];}\nD[151] = \"�����������������������������������������������������������������뾃뾄뾅뾆뾇뾈뾉뾊뾋뾌뾍뾎뾏뾐뾑뾒뾓뾕뾖뾗뾘뾙뾚뾛뾜뾝������뾞뾟뾠뾡뾢뾣뾤뾥뾦뾧뾨뾩뾪뾫뾬뾭뾮뾯뾱뾲뾳뾴뾵뾶뾷뾸������뾹뾺뾻뾼뾽뾾뾿뿀뿁뿂뿃뿄뿆뿇뿈뿉뿊뿋뿎뿏뿑뿒뿓뿕뿖뿗뿘뿙뿚뿛뿝뿞뿠뿢뿣뿤뿥뿦뿧뿨뿩뿪뿫뿬뿭뿮뿯뿰뿱뿲뿳뿴뿵뿶뿷뿸뿹뿺뿻뿼뿽뿾뿿쀀쀁쀂쀃쀄쀅쀆쀇쀈쀉쀊쀋쀌쀍쀎쀏쀐쀑쀒쀓쀔쀕쀖쀗쀘쀙쀚쀛쀜쀝쀞쀟쀠쀡쀢쀣쀤쀥쀦쀧쀨쀩쀪쀫쀬쀭쀮쀯쀰쀱쀲쀳쀴쀵쀶쀷쀸쀹쀺쀻쀽쀾쀿�\".split(\"\");\nfor(j = 0; j != D[151].length; ++j) if(D[151][j].charCodeAt(0) !== 0xFFFD) { e[D[151][j]] = 38656 + j; d[38656 + j] = D[151][j];}\nD[152] = \"�����������������������������������������������������������������쁀쁁쁂쁃쁄쁅쁆쁇쁈쁉쁊쁋쁌쁍쁎쁏쁐쁒쁓쁔쁕쁖쁗쁙쁚쁛������쁝쁞쁟쁡쁢쁣쁤쁥쁦쁧쁪쁫쁬쁭쁮쁯쁰쁱쁲쁳쁴쁵쁶쁷쁸쁹������쁺쁻쁼쁽쁾쁿삀삁삂삃삄삅삆삇삈삉삊삋삌삍삎삏삒삓삕삖삗삙삚삛삜삝삞삟삢삤삦삧삨삩삪삫삮삱삲삷삸삹삺삻삾샂샃샄샆샇샊샋샍샎샏샑샒샓샔샕샖샗샚샞샟샠샡샢샣샦샧샩샪샫샭샮샯샰샱샲샳샶샸샺샻샼샽샾샿섁섂섃섅섆섇섉섊섋섌섍섎섏섑섒섓섔섖섗섘섙섚섛섡섢섥섨섩섪섫섮�\".split(\"\");\nfor(j = 0; j != D[152].length; ++j) if(D[152][j].charCodeAt(0) !== 0xFFFD) { e[D[152][j]] = 38912 + j; d[38912 + j] = D[152][j];}\nD[153] = \"�����������������������������������������������������������������섲섳섴섵섷섺섻섽섾섿셁셂셃셄셅셆셇셊셎셏셐셑셒셓셖셗������셙셚셛셝셞셟셠셡셢셣셦셪셫셬셭셮셯셱셲셳셵셶셷셹셺셻������셼셽셾셿솀솁솂솃솄솆솇솈솉솊솋솏솑솒솓솕솗솘솙솚솛솞솠솢솣솤솦솧솪솫솭솮솯솱솲솳솴솵솶솷솸솹솺솻솼솾솿쇀쇁쇂쇃쇅쇆쇇쇉쇊쇋쇍쇎쇏쇐쇑쇒쇓쇕쇖쇙쇚쇛쇜쇝쇞쇟쇡쇢쇣쇥쇦쇧쇩쇪쇫쇬쇭쇮쇯쇲쇴쇵쇶쇷쇸쇹쇺쇻쇾쇿숁숂숃숅숆숇숈숉숊숋숎숐숒숓숔숕숖숗숚숛숝숞숡숢숣�\".split(\"\");\nfor(j = 0; j != D[153].length; ++j) if(D[153][j].charCodeAt(0) !== 0xFFFD) { e[D[153][j]] = 39168 + j; d[39168 + j] = D[153][j];}\nD[154] = \"�����������������������������������������������������������������숤숥숦숧숪숬숮숰숳숵숶숷숸숹숺숻숼숽숾숿쉀쉁쉂쉃쉄쉅������쉆쉇쉉쉊쉋쉌쉍쉎쉏쉒쉓쉕쉖쉗쉙쉚쉛쉜쉝쉞쉟쉡쉢쉣쉤쉦������쉧쉨쉩쉪쉫쉮쉯쉱쉲쉳쉵쉶쉷쉸쉹쉺쉻쉾슀슂슃슄슅슆슇슊슋슌슍슎슏슑슒슓슔슕슖슗슙슚슜슞슟슠슡슢슣슦슧슩슪슫슮슯슰슱슲슳슶슸슺슻슼슽슾슿싀싁싂싃싄싅싆싇싈싉싊싋싌싍싎싏싐싑싒싓싔싕싖싗싘싙싚싛싞싟싡싢싥싦싧싨싩싪싮싰싲싳싴싵싷싺싽싾싿쌁쌂쌃쌄쌅쌆쌇쌊쌋쌎쌏�\".split(\"\");\nfor(j = 0; j != D[154].length; ++j) if(D[154][j].charCodeAt(0) !== 0xFFFD) { e[D[154][j]] = 39424 + j; d[39424 + j] = D[154][j];}\nD[155] = \"�����������������������������������������������������������������쌐쌑쌒쌖쌗쌙쌚쌛쌝쌞쌟쌠쌡쌢쌣쌦쌧쌪쌫쌬쌭쌮쌯쌰쌱쌲������쌳쌴쌵쌶쌷쌸쌹쌺쌻쌼쌽쌾쌿썀썁썂썃썄썆썇썈썉썊썋썌썍������썎썏썐썑썒썓썔썕썖썗썘썙썚썛썜썝썞썟썠썡썢썣썤썥썦썧썪썫썭썮썯썱썳썴썵썶썷썺썻썾썿쎀쎁쎂쎃쎅쎆쎇쎉쎊쎋쎍쎎쎏쎐쎑쎒쎓쎔쎕쎖쎗쎘쎙쎚쎛쎜쎝쎞쎟쎠쎡쎢쎣쎤쎥쎦쎧쎨쎩쎪쎫쎬쎭쎮쎯쎰쎱쎲쎳쎴쎵쎶쎷쎸쎹쎺쎻쎼쎽쎾쎿쏁쏂쏃쏄쏅쏆쏇쏈쏉쏊쏋쏌쏍쏎쏏쏐쏑쏒쏓쏔쏕쏖쏗쏚�\".split(\"\");\nfor(j = 0; j != D[155].length; ++j) if(D[155][j].charCodeAt(0) !== 0xFFFD) { e[D[155][j]] = 39680 + j; d[39680 + j] = D[155][j];}\nD[156] = \"�����������������������������������������������������������������쏛쏝쏞쏡쏣쏤쏥쏦쏧쏪쏫쏬쏮쏯쏰쏱쏲쏳쏶쏷쏹쏺쏻쏼쏽쏾������쏿쐀쐁쐂쐃쐄쐅쐆쐇쐉쐊쐋쐌쐍쐎쐏쐑쐒쐓쐔쐕쐖쐗쐘쐙쐚������쐛쐜쐝쐞쐟쐠쐡쐢쐣쐥쐦쐧쐨쐩쐪쐫쐭쐮쐯쐱쐲쐳쐵쐶쐷쐸쐹쐺쐻쐾쐿쑀쑁쑂쑃쑄쑅쑆쑇쑉쑊쑋쑌쑍쑎쑏쑐쑑쑒쑓쑔쑕쑖쑗쑘쑙쑚쑛쑜쑝쑞쑟쑠쑡쑢쑣쑦쑧쑩쑪쑫쑭쑮쑯쑰쑱쑲쑳쑶쑷쑸쑺쑻쑼쑽쑾쑿쒁쒂쒃쒄쒅쒆쒇쒈쒉쒊쒋쒌쒍쒎쒏쒐쒑쒒쒓쒕쒖쒗쒘쒙쒚쒛쒝쒞쒟쒠쒡쒢쒣쒤쒥쒦쒧쒨쒩�\".split(\"\");\nfor(j = 0; j != D[156].length; ++j) if(D[156][j].charCodeAt(0) !== 0xFFFD) { e[D[156][j]] = 39936 + j; d[39936 + j] = D[156][j];}\nD[157] = \"�����������������������������������������������������������������쒪쒫쒬쒭쒮쒯쒰쒱쒲쒳쒴쒵쒶쒷쒹쒺쒻쒽쒾쒿쓀쓁쓂쓃쓄쓅������쓆쓇쓈쓉쓊쓋쓌쓍쓎쓏쓐쓑쓒쓓쓔쓕쓖쓗쓘쓙쓚쓛쓜쓝쓞쓟������쓠쓡쓢쓣쓤쓥쓦쓧쓨쓪쓫쓬쓭쓮쓯쓲쓳쓵쓶쓷쓹쓻쓼쓽쓾씂씃씄씅씆씇씈씉씊씋씍씎씏씑씒씓씕씖씗씘씙씚씛씝씞씟씠씡씢씣씤씥씦씧씪씫씭씮씯씱씲씳씴씵씶씷씺씼씾씿앀앁앂앃앆앇앋앏앐앑앒앖앚앛앜앟앢앣앥앦앧앩앪앫앬앭앮앯앲앶앷앸앹앺앻앾앿얁얂얃얅얆얈얉얊얋얎얐얒얓얔�\".split(\"\");\nfor(j = 0; j != D[157].length; ++j) if(D[157][j].charCodeAt(0) !== 0xFFFD) { e[D[157][j]] = 40192 + j; d[40192 + j] = D[157][j];}\nD[158] = \"�����������������������������������������������������������������얖얙얚얛얝얞얟얡얢얣얤얥얦얧얨얪얫얬얭얮얯얰얱얲얳얶������얷얺얿엀엁엂엃엋엍엏엒엓엕엖엗엙엚엛엜엝엞엟엢엤엦엧������엨엩엪엫엯엱엲엳엵엸엹엺엻옂옃옄옉옊옋옍옎옏옑옒옓옔옕옖옗옚옝옞옟옠옡옢옣옦옧옩옪옫옯옱옲옶옸옺옼옽옾옿왂왃왅왆왇왉왊왋왌왍왎왏왒왖왗왘왙왚왛왞왟왡왢왣왤왥왦왧왨왩왪왫왭왮왰왲왳왴왵왶왷왺왻왽왾왿욁욂욃욄욅욆욇욊욌욎욏욐욑욒욓욖욗욙욚욛욝욞욟욠욡욢욣욦�\".split(\"\");\nfor(j = 0; j != D[158].length; ++j) if(D[158][j].charCodeAt(0) !== 0xFFFD) { e[D[158][j]] = 40448 + j; d[40448 + j] = D[158][j];}\nD[159] = \"�����������������������������������������������������������������욨욪욫욬욭욮욯욲욳욵욶욷욻욼욽욾욿웂웄웆웇웈웉웊웋웎������웏웑웒웓웕웖웗웘웙웚웛웞웟웢웣웤웥웦웧웪웫웭웮웯웱웲������웳웴웵웶웷웺웻웼웾웿윀윁윂윃윆윇윉윊윋윍윎윏윐윑윒윓윖윘윚윛윜윝윞윟윢윣윥윦윧윩윪윫윬윭윮윯윲윴윶윸윹윺윻윾윿읁읂읃읅읆읇읈읉읋읎읐읙읚읛읝읞읟읡읢읣읤읥읦읧읩읪읬읭읮읯읰읱읲읳읶읷읹읺읻읿잀잁잂잆잋잌잍잏잒잓잕잙잛잜잝잞잟잢잧잨잩잪잫잮잯잱잲잳잵잶잷�\".split(\"\");\nfor(j = 0; j != D[159].length; ++j) if(D[159][j].charCodeAt(0) !== 0xFFFD) { e[D[159][j]] = 40704 + j; d[40704 + j] = D[159][j];}\nD[160] = \"�����������������������������������������������������������������잸잹잺잻잾쟂쟃쟄쟅쟆쟇쟊쟋쟍쟏쟑쟒쟓쟔쟕쟖쟗쟙쟚쟛쟜������쟞쟟쟠쟡쟢쟣쟥쟦쟧쟩쟪쟫쟭쟮쟯쟰쟱쟲쟳쟴쟵쟶쟷쟸쟹쟺������쟻쟼쟽쟾쟿젂젃젅젆젇젉젋젌젍젎젏젒젔젗젘젙젚젛젞젟젡젢젣젥젦젧젨젩젪젫젮젰젲젳젴젵젶젷젹젺젻젽젾젿졁졂졃졄졅졆졇졊졋졎졏졐졑졒졓졕졖졗졘졙졚졛졜졝졞졟졠졡졢졣졤졥졦졧졨졩졪졫졬졭졮졯졲졳졵졶졷졹졻졼졽졾졿좂좄좈좉좊좎좏좐좑좒좓좕좖좗좘좙좚좛좜좞좠좢좣좤�\".split(\"\");\nfor(j = 0; j != D[160].length; ++j) if(D[160][j].charCodeAt(0) !== 0xFFFD) { e[D[160][j]] = 40960 + j; d[40960 + j] = D[160][j];}\nD[161] = \"�����������������������������������������������������������������좥좦좧좩좪좫좬좭좮좯좰좱좲좳좴좵좶좷좸좹좺좻좾좿죀죁������죂죃죅죆죇죉죊죋죍죎죏죐죑죒죓죖죘죚죛죜죝죞죟죢죣죥������죦죧죨죩죪죫죬죭죮죯죰죱죲죳죴죶죷죸죹죺죻죾죿줁줂줃줇줈줉줊줋줎 、。·‥…¨〃­―∥\∼‘’“”〔〕〈〉《》「」『』【】±×÷≠≤≥∞∴°′″℃Å¢£¥♂♀∠⊥⌒∂∇≡≒§※☆★○●◎◇◆□■△▲▽▼→←↑↓↔〓≪≫√∽∝∵∫∬∈∋⊆⊇⊂⊃∪∩∧∨¬�\".split(\"\");\nfor(j = 0; j != D[161].length; ++j) if(D[161][j].charCodeAt(0) !== 0xFFFD) { e[D[161][j]] = 41216 + j; d[41216 + j] = D[161][j];}\nD[162] = \"�����������������������������������������������������������������줐줒줓줔줕줖줗줙줚줛줜줝줞줟줠줡줢줣줤줥줦줧줨줩줪줫������줭줮줯줰줱줲줳줵줶줷줸줹줺줻줼줽줾줿쥀쥁쥂쥃쥄쥅쥆쥇������쥈쥉쥊쥋쥌쥍쥎쥏쥒쥓쥕쥖쥗쥙쥚쥛쥜쥝쥞쥟쥢쥤쥥쥦쥧쥨쥩쥪쥫쥭쥮쥯⇒⇔∀∃´~ˇ˘˝˚˙¸˛¡¿ː∮∑∏¤℉‰◁◀▷▶♤♠♡♥♧♣⊙◈▣◐◑▒▤▥▨▧▦▩♨☏☎☜☞¶†‡↕↗↙↖↘♭♩♪♬㉿㈜№㏇™㏂㏘℡€®������������������������\".split(\"\");\nfor(j = 0; j != D[162].length; ++j) if(D[162][j].charCodeAt(0) !== 0xFFFD) { e[D[162][j]] = 41472 + j; d[41472 + j] = D[162][j];}\nD[163] = \"�����������������������������������������������������������������쥱쥲쥳쥵쥶쥷쥸쥹쥺쥻쥽쥾쥿즀즁즂즃즄즅즆즇즊즋즍즎즏������즑즒즓즔즕즖즗즚즜즞즟즠즡즢즣즤즥즦즧즨즩즪즫즬즭즮������즯즰즱즲즳즴즵즶즷즸즹즺즻즼즽즾즿짂짃짅짆짉짋짌짍짎짏짒짔짗짘짛!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[₩]^_`abcdefghijklmnopqrstuvwxyz{|} ̄�\".split(\"\");\nfor(j = 0; j != D[163].length; ++j) if(D[163][j].charCodeAt(0) !== 0xFFFD) { e[D[163][j]] = 41728 + j; d[41728 + j] = D[163][j];}\nD[164] = \"�����������������������������������������������������������������짞짟짡짣짥짦짨짩짪짫짮짲짳짴짵짶짷짺짻짽짾짿쨁쨂쨃쨄������쨅쨆쨇쨊쨎쨏쨐쨑쨒쨓쨕쨖쨗쨙쨚쨛쨜쨝쨞쨟쨠쨡쨢쨣쨤쨥������쨦쨧쨨쨪쨫쨬쨭쨮쨯쨰쨱쨲쨳쨴쨵쨶쨷쨸쨹쨺쨻쨼쨽쨾쨿쩀쩁쩂쩃쩄쩅쩆ㄱㄲㄳㄴㄵㄶㄷㄸㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅃㅄㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎㅏㅐㅑㅒㅓㅔㅕㅖㅗㅘㅙㅚㅛㅜㅝㅞㅟㅠㅡㅢㅣㅤㅥㅦㅧㅨㅩㅪㅫㅬㅭㅮㅯㅰㅱㅲㅳㅴㅵㅶㅷㅸㅹㅺㅻㅼㅽㅾㅿㆀㆁㆂㆃㆄㆅㆆㆇㆈㆉㆊㆋㆌㆍㆎ�\".split(\"\");\nfor(j = 0; j != D[164].length; ++j) if(D[164][j].charCodeAt(0) !== 0xFFFD) { e[D[164][j]] = 41984 + j; d[41984 + j] = D[164][j];}\nD[165] = \"�����������������������������������������������������������������쩇쩈쩉쩊쩋쩎쩏쩑쩒쩓쩕쩖쩗쩘쩙쩚쩛쩞쩢쩣쩤쩥쩦쩧쩩쩪������쩫쩬쩭쩮쩯쩰쩱쩲쩳쩴쩵쩶쩷쩸쩹쩺쩻쩼쩾쩿쪀쪁쪂쪃쪅쪆������쪇쪈쪉쪊쪋쪌쪍쪎쪏쪐쪑쪒쪓쪔쪕쪖쪗쪙쪚쪛쪜쪝쪞쪟쪠쪡쪢쪣쪤쪥쪦쪧ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ�����ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ�������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�������\".split(\"\");\nfor(j = 0; j != D[165].length; ++j) if(D[165][j].charCodeAt(0) !== 0xFFFD) { e[D[165][j]] = 42240 + j; d[42240 + j] = D[165][j];}\nD[166] = \"�����������������������������������������������������������������쪨쪩쪪쪫쪬쪭쪮쪯쪰쪱쪲쪳쪴쪵쪶쪷쪸쪹쪺쪻쪾쪿쫁쫂쫃쫅������쫆쫇쫈쫉쫊쫋쫎쫐쫒쫔쫕쫖쫗쫚쫛쫜쫝쫞쫟쫡쫢쫣쫤쫥쫦쫧������쫨쫩쫪쫫쫭쫮쫯쫰쫱쫲쫳쫵쫶쫷쫸쫹쫺쫻쫼쫽쫾쫿쬀쬁쬂쬃쬄쬅쬆쬇쬉쬊─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂┒┑┚┙┖┕┎┍┞┟┡┢┦┧┩┪┭┮┱┲┵┶┹┺┽┾╀╁╃╄╅╆╇╈╉╊���������������������������\".split(\"\");\nfor(j = 0; j != D[166].length; ++j) if(D[166][j].charCodeAt(0) !== 0xFFFD) { e[D[166][j]] = 42496 + j; d[42496 + j] = D[166][j];}\nD[167] = \"�����������������������������������������������������������������쬋쬌쬍쬎쬏쬑쬒쬓쬕쬖쬗쬙쬚쬛쬜쬝쬞쬟쬢쬣쬤쬥쬦쬧쬨쬩������쬪쬫쬬쬭쬮쬯쬰쬱쬲쬳쬴쬵쬶쬷쬸쬹쬺쬻쬼쬽쬾쬿쭀쭂쭃쭄������쭅쭆쭇쭊쭋쭍쭎쭏쭑쭒쭓쭔쭕쭖쭗쭚쭛쭜쭞쭟쭠쭡쭢쭣쭥쭦쭧쭨쭩쭪쭫쭬㎕㎖㎗ℓ㎘㏄㎣㎤㎥㎦㎙㎚㎛㎜㎝㎞㎟㎠㎡㎢㏊㎍㎎㎏㏏㎈㎉㏈㎧㎨㎰㎱㎲㎳㎴㎵㎶㎷㎸㎹㎀㎁㎂㎃㎄㎺㎻㎼㎽㎾㎿㎐㎑㎒㎓㎔Ω㏀㏁㎊㎋㎌㏖㏅㎭㎮㎯㏛㎩㎪㎫㎬㏝㏐㏓㏃㏉㏜㏆����������������\".split(\"\");\nfor(j = 0; j != D[167].length; ++j) if(D[167][j].charCodeAt(0) !== 0xFFFD) { e[D[167][j]] = 42752 + j; d[42752 + j] = D[167][j];}\nD[168] = \"�����������������������������������������������������������������쭭쭮쭯쭰쭱쭲쭳쭴쭵쭶쭷쭺쭻쭼쭽쭾쭿쮀쮁쮂쮃쮄쮅쮆쮇쮈������쮉쮊쮋쮌쮍쮎쮏쮐쮑쮒쮓쮔쮕쮖쮗쮘쮙쮚쮛쮝쮞쮟쮠쮡쮢쮣������쮤쮥쮦쮧쮨쮩쮪쮫쮬쮭쮮쮯쮰쮱쮲쮳쮴쮵쮶쮷쮹쮺쮻쮼쮽쮾쮿쯀쯁쯂쯃쯄ÆÐªĦ�IJ�ĿŁØŒºÞŦŊ�㉠㉡㉢㉣㉤㉥㉦㉧㉨㉩㉪㉫㉬㉭㉮㉯㉰㉱㉲㉳㉴㉵㉶㉷㉸㉹㉺㉻ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮½⅓⅔¼¾⅛⅜⅝⅞�\".split(\"\");\nfor(j = 0; j != D[168].length; ++j) if(D[168][j].charCodeAt(0) !== 0xFFFD) { e[D[168][j]] = 43008 + j; d[43008 + j] = D[168][j];}\nD[169] = \"�����������������������������������������������������������������쯅쯆쯇쯈쯉쯊쯋쯌쯍쯎쯏쯐쯑쯒쯓쯕쯖쯗쯘쯙쯚쯛쯜쯝쯞쯟������쯠쯡쯢쯣쯥쯦쯨쯪쯫쯬쯭쯮쯯쯰쯱쯲쯳쯴쯵쯶쯷쯸쯹쯺쯻쯼������쯽쯾쯿찀찁찂찃찄찅찆찇찈찉찊찋찎찏찑찒찓찕찖찗찘찙찚찛찞찟찠찣찤æđðħıijĸŀłøœßþŧŋʼn㈀㈁㈂㈃㈄㈅㈆㈇㈈㈉㈊㈋㈌㈍㈎㈏㈐㈑㈒㈓㈔㈕㈖㈗㈘㈙㈚㈛⒜⒝⒞⒟⒠⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂¹²³⁴ⁿ₁₂₃₄�\".split(\"\");\nfor(j = 0; j != D[169].length; ++j) if(D[169][j].charCodeAt(0) !== 0xFFFD) { e[D[169][j]] = 43264 + j; d[43264 + j] = D[169][j];}\nD[170] = \"�����������������������������������������������������������������찥찦찪찫찭찯찱찲찳찴찵찶찷찺찿챀챁챂챃챆챇챉챊챋챍챎������챏챐챑챒챓챖챚챛챜챝챞챟챡챢챣챥챧챩챪챫챬챭챮챯챱챲������챳챴챶챷챸챹챺챻챼챽챾챿첀첁첂첃첄첅첆첇첈첉첊첋첌첍첎첏첐첑첒첓ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������\".split(\"\");\nfor(j = 0; j != D[170].length; ++j) if(D[170][j].charCodeAt(0) !== 0xFFFD) { e[D[170][j]] = 43520 + j; d[43520 + j] = D[170][j];}\nD[171] = \"�����������������������������������������������������������������첔첕첖첗첚첛첝첞첟첡첢첣첤첥첦첧첪첮첯첰첱첲첳첶첷첹������첺첻첽첾첿쳀쳁쳂쳃쳆쳈쳊쳋쳌쳍쳎쳏쳑쳒쳓쳕쳖쳗쳘쳙쳚������쳛쳜쳝쳞쳟쳠쳡쳢쳣쳥쳦쳧쳨쳩쳪쳫쳭쳮쳯쳱쳲쳳쳴쳵쳶쳷쳸쳹쳺쳻쳼쳽ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������\".split(\"\");\nfor(j = 0; j != D[171].length; ++j) if(D[171][j].charCodeAt(0) !== 0xFFFD) { e[D[171][j]] = 43776 + j; d[43776 + j] = D[171][j];}\nD[172] = \"�����������������������������������������������������������������쳾쳿촀촂촃촄촅촆촇촊촋촍촎촏촑촒촓촔촕촖촗촚촜촞촟촠������촡촢촣촥촦촧촩촪촫촭촮촯촰촱촲촳촴촵촶촷촸촺촻촼촽촾������촿쵀쵁쵂쵃쵄쵅쵆쵇쵈쵉쵊쵋쵌쵍쵎쵏쵐쵑쵒쵓쵔쵕쵖쵗쵘쵙쵚쵛쵝쵞쵟АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������\".split(\"\");\nfor(j = 0; j != D[172].length; ++j) if(D[172][j].charCodeAt(0) !== 0xFFFD) { e[D[172][j]] = 44032 + j; d[44032 + j] = D[172][j];}\nD[173] = \"�����������������������������������������������������������������쵡쵢쵣쵥쵦쵧쵨쵩쵪쵫쵮쵰쵲쵳쵴쵵쵶쵷쵹쵺쵻쵼쵽쵾쵿춀������춁춂춃춄춅춆춇춉춊춋춌춍춎춏춐춑춒춓춖춗춙춚춛춝춞춟������춠춡춢춣춦춨춪춫춬춭춮춯춱춲춳춴춵춶춷춸춹춺춻춼춽춾춿췀췁췂췃췅�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[173].length; ++j) if(D[173][j].charCodeAt(0) !== 0xFFFD) { e[D[173][j]] = 44288 + j; d[44288 + j] = D[173][j];}\nD[174] = \"�����������������������������������������������������������������췆췇췈췉췊췋췍췎췏췑췒췓췔췕췖췗췘췙췚췛췜췝췞췟췠췡������췢췣췤췥췦췧췩췪췫췭췮췯췱췲췳췴췵췶췷췺췼췾췿츀츁츂������츃츅츆츇츉츊츋츍츎츏츐츑츒츓츕츖츗츘츚츛츜츝츞츟츢츣츥츦츧츩츪츫�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[174].length; ++j) if(D[174][j].charCodeAt(0) !== 0xFFFD) { e[D[174][j]] = 44544 + j; d[44544 + j] = D[174][j];}\nD[175] = \"�����������������������������������������������������������������츬츭츮츯츲츴츶츷츸츹츺츻츼츽츾츿칀칁칂칃칄칅칆칇칈칉������칊칋칌칍칎칏칐칑칒칓칔칕칖칗칚칛칝칞칢칣칤칥칦칧칪칬������칮칯칰칱칲칳칶칷칹칺칻칽칾칿캀캁캂캃캆캈캊캋캌캍캎캏캒캓캕캖캗캙�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[175].length; ++j) if(D[175][j].charCodeAt(0) !== 0xFFFD) { e[D[175][j]] = 44800 + j; d[44800 + j] = D[175][j];}\nD[176] = \"�����������������������������������������������������������������캚캛캜캝캞캟캢캦캧캨캩캪캫캮캯캰캱캲캳캴캵캶캷캸캹캺������캻캼캽캾캿컀컂컃컄컅컆컇컈컉컊컋컌컍컎컏컐컑컒컓컔컕������컖컗컘컙컚컛컜컝컞컟컠컡컢컣컦컧컩컪컭컮컯컰컱컲컳컶컺컻컼컽컾컿가각간갇갈갉갊감갑값갓갔강갖갗같갚갛개객갠갤갬갭갯갰갱갸갹갼걀걋걍걔걘걜거걱건걷걸걺검겁것겄겅겆겉겊겋게겐겔겜겝겟겠겡겨격겪견겯결겸겹겻겼경곁계곈곌곕곗고곡곤곧골곪곬곯곰곱곳공곶과곽관괄괆�\".split(\"\");\nfor(j = 0; j != D[176].length; ++j) if(D[176][j].charCodeAt(0) !== 0xFFFD) { e[D[176][j]] = 45056 + j; d[45056 + j] = D[176][j];}\nD[177] = \"�����������������������������������������������������������������켂켃켅켆켇켉켊켋켌켍켎켏켒켔켖켗켘켙켚켛켝켞켟켡켢켣������켥켦켧켨켩켪켫켮켲켳켴켵켶켷켹켺켻켼켽켾켿콀콁콂콃콄������콅콆콇콈콉콊콋콌콍콎콏콐콑콒콓콖콗콙콚콛콝콞콟콠콡콢콣콦콨콪콫콬괌괍괏광괘괜괠괩괬괭괴괵괸괼굄굅굇굉교굔굘굡굣구국군굳굴굵굶굻굼굽굿궁궂궈궉권궐궜궝궤궷귀귁귄귈귐귑귓규균귤그극근귿글긁금급긋긍긔기긱긴긷길긺김깁깃깅깆깊까깍깎깐깔깖깜깝깟깠깡깥깨깩깬깰깸�\".split(\"\");\nfor(j = 0; j != D[177].length; ++j) if(D[177][j].charCodeAt(0) !== 0xFFFD) { e[D[177][j]] = 45312 + j; d[45312 + j] = D[177][j];}\nD[178] = \"�����������������������������������������������������������������콭콮콯콲콳콵콶콷콹콺콻콼콽콾콿쾁쾂쾃쾄쾆쾇쾈쾉쾊쾋쾍������쾎쾏쾐쾑쾒쾓쾔쾕쾖쾗쾘쾙쾚쾛쾜쾝쾞쾟쾠쾢쾣쾤쾥쾦쾧쾩������쾪쾫쾬쾭쾮쾯쾱쾲쾳쾴쾵쾶쾷쾸쾹쾺쾻쾼쾽쾾쾿쿀쿁쿂쿃쿅쿆쿇쿈쿉쿊쿋깹깻깼깽꺄꺅꺌꺼꺽꺾껀껄껌껍껏껐껑께껙껜껨껫껭껴껸껼꼇꼈꼍꼐꼬꼭꼰꼲꼴꼼꼽꼿꽁꽂꽃꽈꽉꽐꽜꽝꽤꽥꽹꾀꾄꾈꾐꾑꾕꾜꾸꾹꾼꿀꿇꿈꿉꿋꿍꿎꿔꿜꿨꿩꿰꿱꿴꿸뀀뀁뀄뀌뀐뀔뀜뀝뀨끄끅끈끊끌끎끓끔끕끗끙�\".split(\"\");\nfor(j = 0; j != D[178].length; ++j) if(D[178][j].charCodeAt(0) !== 0xFFFD) { e[D[178][j]] = 45568 + j; d[45568 + j] = D[178][j];}\nD[179] = \"�����������������������������������������������������������������쿌쿍쿎쿏쿐쿑쿒쿓쿔쿕쿖쿗쿘쿙쿚쿛쿜쿝쿞쿟쿢쿣쿥쿦쿧쿩������쿪쿫쿬쿭쿮쿯쿲쿴쿶쿷쿸쿹쿺쿻쿽쿾쿿퀁퀂퀃퀅퀆퀇퀈퀉퀊������퀋퀌퀍퀎퀏퀐퀒퀓퀔퀕퀖퀗퀙퀚퀛퀜퀝퀞퀟퀠퀡퀢퀣퀤퀥퀦퀧퀨퀩퀪퀫퀬끝끼끽낀낄낌낍낏낑나낙낚난낟날낡낢남납낫났낭낮낯낱낳내낵낸낼냄냅냇냈냉냐냑냔냘냠냥너넉넋넌널넒넓넘넙넛넜넝넣네넥넨넬넴넵넷넸넹녀녁년녈념녑녔녕녘녜녠노녹논놀놂놈놉놋농높놓놔놘놜놨뇌뇐뇔뇜뇝�\".split(\"\");\nfor(j = 0; j != D[179].length; ++j) if(D[179][j].charCodeAt(0) !== 0xFFFD) { e[D[179][j]] = 45824 + j; d[45824 + j] = D[179][j];}\nD[180] = \"�����������������������������������������������������������������퀮퀯퀰퀱퀲퀳퀶퀷퀹퀺퀻퀽퀾퀿큀큁큂큃큆큈큊큋큌큍큎큏������큑큒큓큕큖큗큙큚큛큜큝큞큟큡큢큣큤큥큦큧큨큩큪큫큮큯������큱큲큳큵큶큷큸큹큺큻큾큿킀킂킃킄킅킆킇킈킉킊킋킌킍킎킏킐킑킒킓킔뇟뇨뇩뇬뇰뇹뇻뇽누눅눈눋눌눔눕눗눙눠눴눼뉘뉜뉠뉨뉩뉴뉵뉼늄늅늉느늑는늘늙늚늠늡늣능늦늪늬늰늴니닉닌닐닒님닙닛닝닢다닥닦단닫달닭닮닯닳담답닷닸당닺닻닿대댁댄댈댐댑댓댔댕댜더덕덖던덛덜덞덟덤덥�\".split(\"\");\nfor(j = 0; j != D[180].length; ++j) if(D[180][j].charCodeAt(0) !== 0xFFFD) { e[D[180][j]] = 46080 + j; d[46080 + j] = D[180][j];}\nD[181] = \"�����������������������������������������������������������������킕킖킗킘킙킚킛킜킝킞킟킠킡킢킣킦킧킩킪킫킭킮킯킰킱킲������킳킶킸킺킻킼킽킾킿탂탃탅탆탇탊탋탌탍탎탏탒탖탗탘탙탚������탛탞탟탡탢탣탥탦탧탨탩탪탫탮탲탳탴탵탶탷탹탺탻탼탽탾탿턀턁턂턃턄덧덩덫덮데덱덴델뎀뎁뎃뎄뎅뎌뎐뎔뎠뎡뎨뎬도독돈돋돌돎돐돔돕돗동돛돝돠돤돨돼됐되된될됨됩됫됴두둑둔둘둠둡둣둥둬뒀뒈뒝뒤뒨뒬뒵뒷뒹듀듄듈듐듕드득든듣들듦듬듭듯등듸디딕딘딛딜딤딥딧딨딩딪따딱딴딸�\".split(\"\");\nfor(j = 0; j != D[181].length; ++j) if(D[181][j].charCodeAt(0) !== 0xFFFD) { e[D[181][j]] = 46336 + j; d[46336 + j] = D[181][j];}\nD[182] = \"�����������������������������������������������������������������턅턆턇턈턉턊턋턌턎턏턐턑턒턓턔턕턖턗턘턙턚턛턜턝턞턟������턠턡턢턣턤턥턦턧턨턩턪턫턬턭턮턯턲턳턵턶턷턹턻턼턽턾������턿텂텆텇텈텉텊텋텎텏텑텒텓텕텖텗텘텙텚텛텞텠텢텣텤텥텦텧텩텪텫텭땀땁땃땄땅땋때땍땐땔땜땝땟땠땡떠떡떤떨떪떫떰떱떳떴떵떻떼떽뗀뗄뗌뗍뗏뗐뗑뗘뗬또똑똔똘똥똬똴뙈뙤뙨뚜뚝뚠뚤뚫뚬뚱뛔뛰뛴뛸뜀뜁뜅뜨뜩뜬뜯뜰뜸뜹뜻띄띈띌띔띕띠띤띨띰띱띳띵라락란랄람랍랏랐랑랒랖랗�\".split(\"\");\nfor(j = 0; j != D[182].length; ++j) if(D[182][j].charCodeAt(0) !== 0xFFFD) { e[D[182][j]] = 46592 + j; d[46592 + j] = D[182][j];}\nD[183] = \"�����������������������������������������������������������������텮텯텰텱텲텳텴텵텶텷텸텹텺텻텽텾텿톀톁톂톃톅톆톇톉톊������톋톌톍톎톏톐톑톒톓톔톕톖톗톘톙톚톛톜톝톞톟톢톣톥톦톧������톩톪톫톬톭톮톯톲톴톶톷톸톹톻톽톾톿퇁퇂퇃퇄퇅퇆퇇퇈퇉퇊퇋퇌퇍퇎퇏래랙랜랠램랩랫랬랭랴략랸럇량러럭런럴럼럽럿렀렁렇레렉렌렐렘렙렛렝려력련렬렴렵렷렸령례롄롑롓로록론롤롬롭롯롱롸롼뢍뢨뢰뢴뢸룀룁룃룅료룐룔룝룟룡루룩룬룰룸룹룻룽뤄뤘뤠뤼뤽륀륄륌륏륑류륙륜률륨륩�\".split(\"\");\nfor(j = 0; j != D[183].length; ++j) if(D[183][j].charCodeAt(0) !== 0xFFFD) { e[D[183][j]] = 46848 + j; d[46848 + j] = D[183][j];}\nD[184] = \"�����������������������������������������������������������������퇐퇑퇒퇓퇔퇕퇖퇗퇙퇚퇛퇜퇝퇞퇟퇠퇡퇢퇣퇤퇥퇦퇧퇨퇩퇪������퇫퇬퇭퇮퇯퇰퇱퇲퇳퇵퇶퇷퇹퇺퇻퇼퇽퇾퇿툀툁툂툃툄툅툆������툈툊툋툌툍툎툏툑툒툓툔툕툖툗툘툙툚툛툜툝툞툟툠툡툢툣툤툥툦툧툨툩륫륭르륵른를름릅릇릉릊릍릎리릭린릴림립릿링마막만많맏말맑맒맘맙맛망맞맡맣매맥맨맬맴맵맷맸맹맺먀먁먈먕머먹먼멀멂멈멉멋멍멎멓메멕멘멜멤멥멧멨멩며멱면멸몃몄명몇몌모목몫몬몰몲몸몹못몽뫄뫈뫘뫙뫼�\".split(\"\");\nfor(j = 0; j != D[184].length; ++j) if(D[184][j].charCodeAt(0) !== 0xFFFD) { e[D[184][j]] = 47104 + j; d[47104 + j] = D[184][j];}\nD[185] = \"�����������������������������������������������������������������툪툫툮툯툱툲툳툵툶툷툸툹툺툻툾퉀퉂퉃퉄퉅퉆퉇퉉퉊퉋퉌������퉍퉎퉏퉐퉑퉒퉓퉔퉕퉖퉗퉘퉙퉚퉛퉝퉞퉟퉠퉡퉢퉣퉥퉦퉧퉨������퉩퉪퉫퉬퉭퉮퉯퉰퉱퉲퉳퉴퉵퉶퉷퉸퉹퉺퉻퉼퉽퉾퉿튂튃튅튆튇튉튊튋튌묀묄묍묏묑묘묜묠묩묫무묵묶문묻물묽묾뭄뭅뭇뭉뭍뭏뭐뭔뭘뭡뭣뭬뮈뮌뮐뮤뮨뮬뮴뮷므믄믈믐믓미믹민믿밀밂밈밉밋밌밍및밑바박밖밗반받발밝밞밟밤밥밧방밭배백밴밸뱀뱁뱃뱄뱅뱉뱌뱍뱐뱝버벅번벋벌벎범법벗�\".split(\"\");\nfor(j = 0; j != D[185].length; ++j) if(D[185][j].charCodeAt(0) !== 0xFFFD) { e[D[185][j]] = 47360 + j; d[47360 + j] = D[185][j];}\nD[186] = \"�����������������������������������������������������������������튍튎튏튒튓튔튖튗튘튙튚튛튝튞튟튡튢튣튥튦튧튨튩튪튫튭������튮튯튰튲튳튴튵튶튷튺튻튽튾틁틃틄틅틆틇틊틌틍틎틏틐틑������틒틓틕틖틗틙틚틛틝틞틟틠틡틢틣틦틧틨틩틪틫틬틭틮틯틲틳틵틶틷틹틺벙벚베벡벤벧벨벰벱벳벴벵벼벽변별볍볏볐병볕볘볜보복볶본볼봄봅봇봉봐봔봤봬뵀뵈뵉뵌뵐뵘뵙뵤뵨부북분붇불붉붊붐붑붓붕붙붚붜붤붰붸뷔뷕뷘뷜뷩뷰뷴뷸븀븃븅브븍븐블븜븝븟비빅빈빌빎빔빕빗빙빚빛빠빡빤�\".split(\"\");\nfor(j = 0; j != D[186].length; ++j) if(D[186][j].charCodeAt(0) !== 0xFFFD) { e[D[186][j]] = 47616 + j; d[47616 + j] = D[186][j];}\nD[187] = \"�����������������������������������������������������������������틻틼틽틾틿팂팄팆팇팈팉팊팋팏팑팒팓팕팗팘팙팚팛팞팢팣������팤팦팧팪팫팭팮팯팱팲팳팴팵팶팷팺팾팿퍀퍁퍂퍃퍆퍇퍈퍉������퍊퍋퍌퍍퍎퍏퍐퍑퍒퍓퍔퍕퍖퍗퍘퍙퍚퍛퍜퍝퍞퍟퍠퍡퍢퍣퍤퍥퍦퍧퍨퍩빨빪빰빱빳빴빵빻빼빽뺀뺄뺌뺍뺏뺐뺑뺘뺙뺨뻐뻑뻔뻗뻘뻠뻣뻤뻥뻬뼁뼈뼉뼘뼙뼛뼜뼝뽀뽁뽄뽈뽐뽑뽕뾔뾰뿅뿌뿍뿐뿔뿜뿟뿡쀼쁑쁘쁜쁠쁨쁩삐삑삔삘삠삡삣삥사삭삯산삳살삵삶삼삽삿샀상샅새색샌샐샘샙샛샜생샤�\".split(\"\");\nfor(j = 0; j != D[187].length; ++j) if(D[187][j].charCodeAt(0) !== 0xFFFD) { e[D[187][j]] = 47872 + j; d[47872 + j] = D[187][j];}\nD[188] = \"�����������������������������������������������������������������퍪퍫퍬퍭퍮퍯퍰퍱퍲퍳퍴퍵퍶퍷퍸퍹퍺퍻퍾퍿펁펂펃펅펆펇������펈펉펊펋펎펒펓펔펕펖펗펚펛펝펞펟펡펢펣펤펥펦펧펪펬펮������펯펰펱펲펳펵펶펷펹펺펻펽펾펿폀폁폂폃폆폇폊폋폌폍폎폏폑폒폓폔폕폖샥샨샬샴샵샷샹섀섄섈섐섕서석섞섟선섣설섦섧섬섭섯섰성섶세섹센셀셈셉셋셌셍셔셕션셜셤셥셧셨셩셰셴셸솅소속솎손솔솖솜솝솟송솥솨솩솬솰솽쇄쇈쇌쇔쇗쇘쇠쇤쇨쇰쇱쇳쇼쇽숀숄숌숍숏숑수숙순숟술숨숩숫숭�\".split(\"\");\nfor(j = 0; j != D[188].length; ++j) if(D[188][j].charCodeAt(0) !== 0xFFFD) { e[D[188][j]] = 48128 + j; d[48128 + j] = D[188][j];}\nD[189] = \"�����������������������������������������������������������������폗폙폚폛폜폝폞폟폠폢폤폥폦폧폨폩폪폫폮폯폱폲폳폵폶폷������폸폹폺폻폾퐀퐂퐃퐄퐅퐆퐇퐉퐊퐋퐌퐍퐎퐏퐐퐑퐒퐓퐔퐕퐖������퐗퐘퐙퐚퐛퐜퐞퐟퐠퐡퐢퐣퐤퐥퐦퐧퐨퐩퐪퐫퐬퐭퐮퐯퐰퐱퐲퐳퐴퐵퐶퐷숯숱숲숴쉈쉐쉑쉔쉘쉠쉥쉬쉭쉰쉴쉼쉽쉿슁슈슉슐슘슛슝스슥슨슬슭슴습슷승시식신싣실싫심십싯싱싶싸싹싻싼쌀쌈쌉쌌쌍쌓쌔쌕쌘쌜쌤쌥쌨쌩썅써썩썬썰썲썸썹썼썽쎄쎈쎌쏀쏘쏙쏜쏟쏠쏢쏨쏩쏭쏴쏵쏸쐈쐐쐤쐬쐰�\".split(\"\");\nfor(j = 0; j != D[189].length; ++j) if(D[189][j].charCodeAt(0) !== 0xFFFD) { e[D[189][j]] = 48384 + j; d[48384 + j] = D[189][j];}\nD[190] = \"�����������������������������������������������������������������퐸퐹퐺퐻퐼퐽퐾퐿푁푂푃푅푆푇푈푉푊푋푌푍푎푏푐푑푒푓������푔푕푖푗푘푙푚푛푝푞푟푡푢푣푥푦푧푨푩푪푫푬푮푰푱푲������푳푴푵푶푷푺푻푽푾풁풃풄풅풆풇풊풌풎풏풐풑풒풓풕풖풗풘풙풚풛풜풝쐴쐼쐽쑈쑤쑥쑨쑬쑴쑵쑹쒀쒔쒜쒸쒼쓩쓰쓱쓴쓸쓺쓿씀씁씌씐씔씜씨씩씬씰씸씹씻씽아악안앉않알앍앎앓암압앗았앙앝앞애액앤앨앰앱앳앴앵야약얀얄얇얌얍얏양얕얗얘얜얠얩어억언얹얻얼얽얾엄업없엇었엉엊엌엎�\".split(\"\");\nfor(j = 0; j != D[190].length; ++j) if(D[190][j].charCodeAt(0) !== 0xFFFD) { e[D[190][j]] = 48640 + j; d[48640 + j] = D[190][j];}\nD[191] = \"�����������������������������������������������������������������풞풟풠풡풢풣풤풥풦풧풨풪풫풬풭풮풯풰풱풲풳풴풵풶풷풸������풹풺풻풼풽풾풿퓀퓁퓂퓃퓄퓅퓆퓇퓈퓉퓊퓋퓍퓎퓏퓑퓒퓓퓕������퓖퓗퓘퓙퓚퓛퓝퓞퓠퓡퓢퓣퓤퓥퓦퓧퓩퓪퓫퓭퓮퓯퓱퓲퓳퓴퓵퓶퓷퓹퓺퓼에엑엔엘엠엡엣엥여역엮연열엶엷염엽엾엿였영옅옆옇예옌옐옘옙옛옜오옥온올옭옮옰옳옴옵옷옹옻와왁완왈왐왑왓왔왕왜왝왠왬왯왱외왹왼욀욈욉욋욍요욕욘욜욤욥욧용우욱운울욹욺움웁웃웅워웍원월웜웝웠웡웨�\".split(\"\");\nfor(j = 0; j != D[191].length; ++j) if(D[191][j].charCodeAt(0) !== 0xFFFD) { e[D[191][j]] = 48896 + j; d[48896 + j] = D[191][j];}\nD[192] = \"�����������������������������������������������������������������퓾퓿픀픁픂픃픅픆픇픉픊픋픍픎픏픐픑픒픓픖픘픙픚픛픜픝������픞픟픠픡픢픣픤픥픦픧픨픩픪픫픬픭픮픯픰픱픲픳픴픵픶픷������픸픹픺픻픾픿핁핂핃핅핆핇핈핉핊핋핎핐핒핓핔핕핖핗핚핛핝핞핟핡핢핣웩웬웰웸웹웽위윅윈윌윔윕윗윙유육윤율윰윱윳융윷으윽은을읊음읍읏응읒읓읔읕읖읗의읜읠읨읫이익인일읽읾잃임입잇있잉잊잎자작잔잖잗잘잚잠잡잣잤장잦재잭잰잴잼잽잿쟀쟁쟈쟉쟌쟎쟐쟘쟝쟤쟨쟬저적전절젊�\".split(\"\");\nfor(j = 0; j != D[192].length; ++j) if(D[192][j].charCodeAt(0) !== 0xFFFD) { e[D[192][j]] = 49152 + j; d[49152 + j] = D[192][j];}\nD[193] = \"�����������������������������������������������������������������핤핦핧핪핬핮핯핰핱핲핳핶핷핹핺핻핽핾핿햀햁햂햃햆햊햋������햌햍햎햏햑햒햓햔햕햖햗햘햙햚햛햜햝햞햟햠햡햢햣햤햦햧������햨햩햪햫햬햭햮햯햰햱햲햳햴햵햶햷햸햹햺햻햼햽햾햿헀헁헂헃헄헅헆헇점접젓정젖제젝젠젤젬젭젯젱져젼졀졈졉졌졍졔조족존졸졺좀좁좃종좆좇좋좌좍좔좝좟좡좨좼좽죄죈죌죔죕죗죙죠죡죤죵주죽준줄줅줆줌줍줏중줘줬줴쥐쥑쥔쥘쥠쥡쥣쥬쥰쥴쥼즈즉즌즐즘즙즛증지직진짇질짊짐집짓�\".split(\"\");\nfor(j = 0; j != D[193].length; ++j) if(D[193][j].charCodeAt(0) !== 0xFFFD) { e[D[193][j]] = 49408 + j; d[49408 + j] = D[193][j];}\nD[194] = \"�����������������������������������������������������������������헊헋헍헎헏헑헓헔헕헖헗헚헜헞헟헠헡헢헣헦헧헩헪헫헭헮������헯헰헱헲헳헶헸헺헻헼헽헾헿혂혃혅혆혇혉혊혋혌혍혎혏혒������혖혗혘혙혚혛혝혞혟혡혢혣혥혦혧혨혩혪혫혬혮혯혰혱혲혳혴혵혶혷혺혻징짖짙짚짜짝짠짢짤짧짬짭짯짰짱째짹짼쨀쨈쨉쨋쨌쨍쨔쨘쨩쩌쩍쩐쩔쩜쩝쩟쩠쩡쩨쩽쪄쪘쪼쪽쫀쫄쫌쫍쫏쫑쫓쫘쫙쫠쫬쫴쬈쬐쬔쬘쬠쬡쭁쭈쭉쭌쭐쭘쭙쭝쭤쭸쭹쮜쮸쯔쯤쯧쯩찌찍찐찔찜찝찡찢찧차착찬찮찰참찹찻�\".split(\"\");\nfor(j = 0; j != D[194].length; ++j) if(D[194][j].charCodeAt(0) !== 0xFFFD) { e[D[194][j]] = 49664 + j; d[49664 + j] = D[194][j];}\nD[195] = \"�����������������������������������������������������������������혽혾혿홁홂홃홄홆홇홊홌홎홏홐홒홓홖홗홙홚홛홝홞홟홠홡������홢홣홤홥홦홨홪홫홬홭홮홯홲홳홵홶홷홸홹홺홻홼홽홾홿횀������횁횂횄횆횇횈횉횊횋횎횏횑횒횓횕횖횗횘횙횚횛횜횞횠횢횣횤횥횦횧횩횪찼창찾채책챈챌챔챕챗챘챙챠챤챦챨챰챵처척천철첨첩첫첬청체첵첸첼쳄쳅쳇쳉쳐쳔쳤쳬쳰촁초촉촌촐촘촙촛총촤촨촬촹최쵠쵤쵬쵭쵯쵱쵸춈추축춘출춤춥춧충춰췄췌췐취췬췰췸췹췻췽츄츈츌츔츙츠측츤츨츰츱츳층�\".split(\"\");\nfor(j = 0; j != D[195].length; ++j) if(D[195][j].charCodeAt(0) !== 0xFFFD) { e[D[195][j]] = 49920 + j; d[49920 + j] = D[195][j];}\nD[196] = \"�����������������������������������������������������������������횫횭횮횯횱횲횳횴횵횶횷횸횺횼횽횾횿훀훁훂훃훆훇훉훊훋������훍훎훏훐훒훓훕훖훘훚훛훜훝훞훟훡훢훣훥훦훧훩훪훫훬훭������훮훯훱훲훳훴훶훷훸훹훺훻훾훿휁휂휃휅휆휇휈휉휊휋휌휍휎휏휐휒휓휔치칙친칟칠칡침칩칫칭카칵칸칼캄캅캇캉캐캑캔캘캠캡캣캤캥캬캭컁커컥컨컫컬컴컵컷컸컹케켁켄켈켐켑켓켕켜켠켤켬켭켯켰켱켸코콕콘콜콤콥콧콩콰콱콴콸쾀쾅쾌쾡쾨쾰쿄쿠쿡쿤쿨쿰쿱쿳쿵쿼퀀퀄퀑퀘퀭퀴퀵퀸퀼�\".split(\"\");\nfor(j = 0; j != D[196].length; ++j) if(D[196][j].charCodeAt(0) !== 0xFFFD) { e[D[196][j]] = 50176 + j; d[50176 + j] = D[196][j];}\nD[197] = \"�����������������������������������������������������������������휕휖휗휚휛휝휞휟휡휢휣휤휥휦휧휪휬휮휯휰휱휲휳휶휷휹������휺휻휽휾휿흀흁흂흃흅흆흈흊흋흌흍흎흏흒흓흕흚흛흜흝흞������흟흢흤흦흧흨흪흫흭흮흯흱흲흳흵흶흷흸흹흺흻흾흿힀힂힃힄힅힆힇힊힋큄큅큇큉큐큔큘큠크큭큰클큼큽킁키킥킨킬킴킵킷킹타탁탄탈탉탐탑탓탔탕태택탠탤탬탭탯탰탱탸턍터턱턴털턺텀텁텃텄텅테텍텐텔템텝텟텡텨텬텼톄톈토톡톤톨톰톱톳통톺톼퇀퇘퇴퇸툇툉툐투툭툰툴툼툽툿퉁퉈퉜�\".split(\"\");\nfor(j = 0; j != D[197].length; ++j) if(D[197][j].charCodeAt(0) !== 0xFFFD) { e[D[197][j]] = 50432 + j; d[50432 + j] = D[197][j];}\nD[198] = \"�����������������������������������������������������������������힍힎힏힑힒힓힔힕힖힗힚힜힞힟힠힡힢힣������������������������������������������������������������������������������퉤튀튁튄튈튐튑튕튜튠튤튬튱트특튼튿틀틂틈틉틋틔틘틜틤틥티틱틴틸팀팁팃팅파팍팎판팔팖팜팝팟팠팡팥패팩팬팰팸팹팻팼팽퍄퍅퍼퍽펀펄펌펍펏펐펑페펙펜펠펨펩펫펭펴편펼폄폅폈평폐폘폡폣포폭폰폴폼폽폿퐁�\".split(\"\");\nfor(j = 0; j != D[198].length; ++j) if(D[198][j].charCodeAt(0) !== 0xFFFD) { e[D[198][j]] = 50688 + j; d[50688 + j] = D[198][j];}\nD[199] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������퐈퐝푀푄표푠푤푭푯푸푹푼푿풀풂품풉풋풍풔풩퓌퓐퓔퓜퓟퓨퓬퓰퓸퓻퓽프픈플픔픕픗피픽핀필핌핍핏핑하학한할핥함합핫항해핵핸핼햄햅햇했행햐향허헉헌헐헒험헙헛헝헤헥헨헬헴헵헷헹혀혁현혈혐협혓혔형혜혠�\".split(\"\");\nfor(j = 0; j != D[199].length; ++j) if(D[199][j].charCodeAt(0) !== 0xFFFD) { e[D[199][j]] = 50944 + j; d[50944 + j] = D[199][j];}\nD[200] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������혤혭호혹혼홀홅홈홉홋홍홑화확환활홧황홰홱홴횃횅회획횐횔횝횟횡효횬횰횹횻후훅훈훌훑훔훗훙훠훤훨훰훵훼훽휀휄휑휘휙휜휠휨휩휫휭휴휵휸휼흄흇흉흐흑흔흖흗흘흙흠흡흣흥흩희흰흴흼흽힁히힉힌힐힘힙힛힝�\".split(\"\");\nfor(j = 0; j != D[200].length; ++j) if(D[200][j].charCodeAt(0) !== 0xFFFD) { e[D[200][j]] = 51200 + j; d[51200 + j] = D[200][j];}\nD[202] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������伽佳假價加可呵哥嘉嫁家暇架枷柯歌珂痂稼苛茄街袈訶賈跏軻迦駕刻却各恪慤殼珏脚覺角閣侃刊墾奸姦干幹懇揀杆柬桿澗癎看磵稈竿簡肝艮艱諫間乫喝曷渴碣竭葛褐蝎鞨勘坎堪嵌感憾戡敢柑橄減甘疳監瞰紺邯鑑鑒龕�\".split(\"\");\nfor(j = 0; j != D[202].length; ++j) if(D[202][j].charCodeAt(0) !== 0xFFFD) { e[D[202][j]] = 51712 + j; d[51712 + j] = D[202][j];}\nD[203] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������匣岬甲胛鉀閘剛堈姜岡崗康强彊慷江畺疆糠絳綱羌腔舡薑襁講鋼降鱇介价個凱塏愷愾慨改槪漑疥皆盖箇芥蓋豈鎧開喀客坑更粳羹醵倨去居巨拒据據擧渠炬祛距踞車遽鉅鋸乾件健巾建愆楗腱虔蹇鍵騫乞傑杰桀儉劍劒檢�\".split(\"\");\nfor(j = 0; j != D[203].length; ++j) if(D[203][j].charCodeAt(0) !== 0xFFFD) { e[D[203][j]] = 51968 + j; d[51968 + j] = D[203][j];}\nD[204] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������瞼鈐黔劫怯迲偈憩揭擊格檄激膈覡隔堅牽犬甄絹繭肩見譴遣鵑抉決潔結缺訣兼慊箝謙鉗鎌京俓倞傾儆勁勍卿坰境庚徑慶憬擎敬景暻更梗涇炅烱璟璥瓊痙硬磬竟競絅經耕耿脛莖警輕逕鏡頃頸驚鯨係啓堺契季屆悸戒桂械�\".split(\"\");\nfor(j = 0; j != D[204].length; ++j) if(D[204][j].charCodeAt(0) !== 0xFFFD) { e[D[204][j]] = 52224 + j; d[52224 + j] = D[204][j];}\nD[205] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������棨溪界癸磎稽系繫繼計誡谿階鷄古叩告呱固姑孤尻庫拷攷故敲暠枯槁沽痼皐睾稿羔考股膏苦苽菰藁蠱袴誥賈辜錮雇顧高鼓哭斛曲梏穀谷鵠困坤崑昆梱棍滾琨袞鯤汨滑骨供公共功孔工恐恭拱控攻珙空蚣貢鞏串寡戈果瓜�\".split(\"\");\nfor(j = 0; j != D[205].length; ++j) if(D[205][j].charCodeAt(0) !== 0xFFFD) { e[D[205][j]] = 52480 + j; d[52480 + j] = D[205][j];}\nD[206] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������科菓誇課跨過鍋顆廓槨藿郭串冠官寬慣棺款灌琯瓘管罐菅觀貫關館刮恝括适侊光匡壙廣曠洸炚狂珖筐胱鑛卦掛罫乖傀塊壞怪愧拐槐魁宏紘肱轟交僑咬喬嬌嶠巧攪敎校橋狡皎矯絞翹膠蕎蛟較轎郊餃驕鮫丘久九仇俱具勾�\".split(\"\");\nfor(j = 0; j != D[206].length; ++j) if(D[206][j].charCodeAt(0) !== 0xFFFD) { e[D[206][j]] = 52736 + j; d[52736 + j] = D[206][j];}\nD[207] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������區口句咎嘔坵垢寇嶇廐懼拘救枸柩構歐毆毬求溝灸狗玖球瞿矩究絿耉臼舅舊苟衢謳購軀逑邱鉤銶駒驅鳩鷗龜國局菊鞠鞫麴君窘群裙軍郡堀屈掘窟宮弓穹窮芎躬倦券勸卷圈拳捲權淃眷厥獗蕨蹶闕机櫃潰詭軌饋句晷歸貴�\".split(\"\");\nfor(j = 0; j != D[207].length; ++j) if(D[207][j].charCodeAt(0) !== 0xFFFD) { e[D[207][j]] = 52992 + j; d[52992 + j] = D[207][j];}\nD[208] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������鬼龜叫圭奎揆槻珪硅窺竅糾葵規赳逵閨勻均畇筠菌鈞龜橘克剋劇戟棘極隙僅劤勤懃斤根槿瑾筋芹菫覲謹近饉契今妗擒昑檎琴禁禽芩衾衿襟金錦伋及急扱汲級給亘兢矜肯企伎其冀嗜器圻基埼夔奇妓寄岐崎己幾忌技旗旣�\".split(\"\");\nfor(j = 0; j != D[208].length; ++j) if(D[208][j].charCodeAt(0) !== 0xFFFD) { e[D[208][j]] = 53248 + j; d[53248 + j] = D[208][j];}\nD[209] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������朞期杞棋棄機欺氣汽沂淇玘琦琪璂璣畸畿碁磯祁祇祈祺箕紀綺羈耆耭肌記譏豈起錡錤飢饑騎騏驥麒緊佶吉拮桔金喫儺喇奈娜懦懶拏拿癩羅蘿螺裸邏那樂洛烙珞落諾酪駱亂卵暖欄煖爛蘭難鸞捏捺南嵐枏楠湳濫男藍襤拉�\".split(\"\");\nfor(j = 0; j != D[209].length; ++j) if(D[209][j].charCodeAt(0) !== 0xFFFD) { e[D[209][j]] = 53504 + j; d[53504 + j] = D[209][j];}\nD[210] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������納臘蠟衲囊娘廊朗浪狼郎乃來內奈柰耐冷女年撚秊念恬拈捻寧寗努勞奴弩怒擄櫓爐瑙盧老蘆虜路露駑魯鷺碌祿綠菉錄鹿論壟弄濃籠聾膿農惱牢磊腦賂雷尿壘屢樓淚漏累縷陋嫩訥杻紐勒肋凜凌稜綾能菱陵尼泥匿溺多茶�\".split(\"\");\nfor(j = 0; j != D[210].length; ++j) if(D[210][j].charCodeAt(0) !== 0xFFFD) { e[D[210][j]] = 53760 + j; d[53760 + j] = D[210][j];}\nD[211] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������丹亶但單團壇彖斷旦檀段湍短端簞緞蛋袒鄲鍛撻澾獺疸達啖坍憺擔曇淡湛潭澹痰聃膽蕁覃談譚錟沓畓答踏遝唐堂塘幢戇撞棠當糖螳黨代垈坮大對岱帶待戴擡玳臺袋貸隊黛宅德悳倒刀到圖堵塗導屠島嶋度徒悼挑掉搗桃�\".split(\"\");\nfor(j = 0; j != D[211].length; ++j) if(D[211][j].charCodeAt(0) !== 0xFFFD) { e[D[211][j]] = 54016 + j; d[54016 + j] = D[211][j];}\nD[212] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������棹櫂淘渡滔濤燾盜睹禱稻萄覩賭跳蹈逃途道都鍍陶韜毒瀆牘犢獨督禿篤纛讀墩惇敦旽暾沌焞燉豚頓乭突仝冬凍動同憧東桐棟洞潼疼瞳童胴董銅兜斗杜枓痘竇荳讀豆逗頭屯臀芚遁遯鈍得嶝橙燈登等藤謄鄧騰喇懶拏癩羅�\".split(\"\");\nfor(j = 0; j != D[212].length; ++j) if(D[212][j].charCodeAt(0) !== 0xFFFD) { e[D[212][j]] = 54272 + j; d[54272 + j] = D[212][j];}\nD[213] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������蘿螺裸邏樂洛烙珞絡落諾酪駱丹亂卵欄欒瀾爛蘭鸞剌辣嵐擥攬欖濫籃纜藍襤覽拉臘蠟廊朗浪狼琅瑯螂郞來崍徠萊冷掠略亮倆兩凉梁樑粮粱糧良諒輛量侶儷勵呂廬慮戾旅櫚濾礪藜蠣閭驢驪麗黎力曆歷瀝礫轢靂憐戀攣漣�\".split(\"\");\nfor(j = 0; j != D[213].length; ++j) if(D[213][j].charCodeAt(0) !== 0xFFFD) { e[D[213][j]] = 54528 + j; d[54528 + j] = D[213][j];}\nD[214] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������煉璉練聯蓮輦連鍊冽列劣洌烈裂廉斂殮濂簾獵令伶囹寧岺嶺怜玲笭羚翎聆逞鈴零靈領齡例澧禮醴隷勞怒撈擄櫓潞瀘爐盧老蘆虜路輅露魯鷺鹵碌祿綠菉錄鹿麓論壟弄朧瀧瓏籠聾儡瀨牢磊賂賚賴雷了僚寮廖料燎療瞭聊蓼�\".split(\"\");\nfor(j = 0; j != D[214].length; ++j) if(D[214][j].charCodeAt(0) !== 0xFFFD) { e[D[214][j]] = 54784 + j; d[54784 + j] = D[214][j];}\nD[215] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������遼鬧龍壘婁屢樓淚漏瘻累縷蔞褸鏤陋劉旒柳榴流溜瀏琉瑠留瘤硫謬類六戮陸侖倫崙淪綸輪律慄栗率隆勒肋凜凌楞稜綾菱陵俚利厘吏唎履悧李梨浬犁狸理璃異痢籬罹羸莉裏裡里釐離鯉吝潾燐璘藺躪隣鱗麟林淋琳臨霖砬�\".split(\"\");\nfor(j = 0; j != D[215].length; ++j) if(D[215][j].charCodeAt(0) !== 0xFFFD) { e[D[215][j]] = 55040 + j; d[55040 + j] = D[215][j];}\nD[216] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������立笠粒摩瑪痲碼磨馬魔麻寞幕漠膜莫邈万卍娩巒彎慢挽晩曼滿漫灣瞞萬蔓蠻輓饅鰻唜抹末沫茉襪靺亡妄忘忙望網罔芒茫莽輞邙埋妹媒寐昧枚梅每煤罵買賣邁魅脈貊陌驀麥孟氓猛盲盟萌冪覓免冕勉棉沔眄眠綿緬面麵滅�\".split(\"\");\nfor(j = 0; j != D[216].length; ++j) if(D[216][j].charCodeAt(0) !== 0xFFFD) { e[D[216][j]] = 55296 + j; d[55296 + j] = D[216][j];}\nD[217] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������蔑冥名命明暝椧溟皿瞑茗蓂螟酩銘鳴袂侮冒募姆帽慕摸摹暮某模母毛牟牡瑁眸矛耗芼茅謀謨貌木沐牧目睦穆鶩歿沒夢朦蒙卯墓妙廟描昴杳渺猫竗苗錨務巫憮懋戊拇撫无楙武毋無珷畝繆舞茂蕪誣貿霧鵡墨默們刎吻問文�\".split(\"\");\nfor(j = 0; j != D[217].length; ++j) if(D[217][j].charCodeAt(0) !== 0xFFFD) { e[D[217][j]] = 55552 + j; d[55552 + j] = D[217][j];}\nD[218] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������汶紊紋聞蚊門雯勿沕物味媚尾嵋彌微未梶楣渼湄眉米美薇謎迷靡黴岷悶愍憫敏旻旼民泯玟珉緡閔密蜜謐剝博拍搏撲朴樸泊珀璞箔粕縛膊舶薄迫雹駁伴半反叛拌搬攀斑槃泮潘班畔瘢盤盼磐磻礬絆般蟠返頒飯勃拔撥渤潑�\".split(\"\");\nfor(j = 0; j != D[218].length; ++j) if(D[218][j].charCodeAt(0) !== 0xFFFD) { e[D[218][j]] = 55808 + j; d[55808 + j] = D[218][j];}\nD[219] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������發跋醱鉢髮魃倣傍坊妨尨幇彷房放方旁昉枋榜滂磅紡肪膀舫芳蒡蚌訪謗邦防龐倍俳北培徘拜排杯湃焙盃背胚裴裵褙賠輩配陪伯佰帛柏栢白百魄幡樊煩燔番磻繁蕃藩飜伐筏罰閥凡帆梵氾汎泛犯範范法琺僻劈壁擘檗璧癖�\".split(\"\");\nfor(j = 0; j != D[219].length; ++j) if(D[219][j].charCodeAt(0) !== 0xFFFD) { e[D[219][j]] = 56064 + j; d[56064 + j] = D[219][j];}\nD[220] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������碧蘗闢霹便卞弁變辨辯邊別瞥鱉鼈丙倂兵屛幷昞昺柄棅炳甁病秉竝輧餠騈保堡報寶普步洑湺潽珤甫菩補褓譜輔伏僕匐卜宓復服福腹茯蔔複覆輹輻馥鰒本乶俸奉封峯峰捧棒烽熢琫縫蓬蜂逢鋒鳳不付俯傅剖副否咐埠夫婦�\".split(\"\");\nfor(j = 0; j != D[220].length; ++j) if(D[220][j].charCodeAt(0) !== 0xFFFD) { e[D[220][j]] = 56320 + j; d[56320 + j] = D[220][j];}\nD[221] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������孚孵富府復扶敷斧浮溥父符簿缶腐腑膚艀芙莩訃負賦賻赴趺部釜阜附駙鳧北分吩噴墳奔奮忿憤扮昐汾焚盆粉糞紛芬賁雰不佛弗彿拂崩朋棚硼繃鵬丕備匕匪卑妃婢庇悲憊扉批斐枇榧比毖毗毘沸泌琵痺砒碑秕秘粃緋翡肥�\".split(\"\");\nfor(j = 0; j != D[221].length; ++j) if(D[221][j].charCodeAt(0) !== 0xFFFD) { e[D[221][j]] = 56576 + j; d[56576 + j] = D[221][j];}\nD[222] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������脾臂菲蜚裨誹譬費鄙非飛鼻嚬嬪彬斌檳殯浜濱瀕牝玭貧賓頻憑氷聘騁乍事些仕伺似使俟僿史司唆嗣四士奢娑寫寺射巳師徙思捨斜斯柶査梭死沙泗渣瀉獅砂社祀祠私篩紗絲肆舍莎蓑蛇裟詐詞謝賜赦辭邪飼駟麝削數朔索�\".split(\"\");\nfor(j = 0; j != D[222].length; ++j) if(D[222][j].charCodeAt(0) !== 0xFFFD) { e[D[222][j]] = 56832 + j; d[56832 + j] = D[222][j];}\nD[223] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������傘刪山散汕珊産疝算蒜酸霰乷撒殺煞薩三參杉森渗芟蔘衫揷澁鈒颯上傷像償商喪嘗孀尙峠常床庠廂想桑橡湘爽牀狀相祥箱翔裳觴詳象賞霜塞璽賽嗇塞穡索色牲生甥省笙墅壻嶼序庶徐恕抒捿敍暑曙書栖棲犀瑞筮絮緖署�\".split(\"\");\nfor(j = 0; j != D[223].length; ++j) if(D[223][j].charCodeAt(0) !== 0xFFFD) { e[D[223][j]] = 57088 + j; d[57088 + j] = D[223][j];}\nD[224] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������胥舒薯西誓逝鋤黍鼠夕奭席惜昔晳析汐淅潟石碩蓆釋錫仙僊先善嬋宣扇敾旋渲煽琁瑄璇璿癬禪線繕羨腺膳船蘚蟬詵跣選銑鐥饍鮮卨屑楔泄洩渫舌薛褻設說雪齧剡暹殲纖蟾贍閃陝攝涉燮葉城姓宬性惺成星晟猩珹盛省筬�\".split(\"\");\nfor(j = 0; j != D[224].length; ++j) if(D[224][j].charCodeAt(0) !== 0xFFFD) { e[D[224][j]] = 57344 + j; d[57344 + j] = D[224][j];}\nD[225] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������聖聲腥誠醒世勢歲洗稅笹細說貰召嘯塑宵小少巢所掃搔昭梳沼消溯瀟炤燒甦疏疎瘙笑篠簫素紹蔬蕭蘇訴逍遡邵銷韶騷俗屬束涑粟續謖贖速孫巽損蓀遜飡率宋悚松淞訟誦送頌刷殺灑碎鎖衰釗修受嗽囚垂壽嫂守岫峀帥愁�\".split(\"\");\nfor(j = 0; j != D[225].length; ++j) if(D[225][j].charCodeAt(0) !== 0xFFFD) { e[D[225][j]] = 57600 + j; d[57600 + j] = D[225][j];}\nD[226] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������戍手授搜收數樹殊水洙漱燧狩獸琇璲瘦睡秀穗竪粹綏綬繡羞脩茱蒐蓚藪袖誰讐輸遂邃酬銖銹隋隧隨雖需須首髓鬚叔塾夙孰宿淑潚熟琡璹肅菽巡徇循恂旬栒楯橓殉洵淳珣盾瞬筍純脣舜荀蓴蕣詢諄醇錞順馴戌術述鉥崇崧�\".split(\"\");\nfor(j = 0; j != D[226].length; ++j) if(D[226][j].charCodeAt(0) !== 0xFFFD) { e[D[226][j]] = 57856 + j; d[57856 + j] = D[226][j];}\nD[227] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������嵩瑟膝蝨濕拾習褶襲丞乘僧勝升承昇繩蠅陞侍匙嘶始媤尸屎屍市弑恃施是時枾柴猜矢示翅蒔蓍視試詩諡豕豺埴寔式息拭植殖湜熄篒蝕識軾食飾伸侁信呻娠宸愼新晨燼申神紳腎臣莘薪藎蜃訊身辛辰迅失室實悉審尋心沁�\".split(\"\");\nfor(j = 0; j != D[227].length; ++j) if(D[227][j].charCodeAt(0) !== 0xFFFD) { e[D[227][j]] = 58112 + j; d[58112 + j] = D[227][j];}\nD[228] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������沈深瀋甚芯諶什十拾雙氏亞俄兒啞娥峨我牙芽莪蛾衙訝阿雅餓鴉鵝堊岳嶽幄惡愕握樂渥鄂鍔顎鰐齷安岸按晏案眼雁鞍顔鮟斡謁軋閼唵岩巖庵暗癌菴闇壓押狎鴨仰央怏昻殃秧鴦厓哀埃崖愛曖涯碍艾隘靄厄扼掖液縊腋額�\".split(\"\");\nfor(j = 0; j != D[228].length; ++j) if(D[228][j].charCodeAt(0) !== 0xFFFD) { e[D[228][j]] = 58368 + j; d[58368 + j] = D[228][j];}\nD[229] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������櫻罌鶯鸚也倻冶夜惹揶椰爺耶若野弱掠略約若葯蒻藥躍亮佯兩凉壤孃恙揚攘敭暘梁楊樣洋瀁煬痒瘍禳穰糧羊良襄諒讓釀陽量養圄御於漁瘀禦語馭魚齬億憶抑檍臆偃堰彦焉言諺孼蘖俺儼嚴奄掩淹嶪業円予余勵呂女如廬�\".split(\"\");\nfor(j = 0; j != D[229].length; ++j) if(D[229][j].charCodeAt(0) !== 0xFFFD) { e[D[229][j]] = 58624 + j; d[58624 + j] = D[229][j];}\nD[230] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������旅歟汝濾璵礖礪與艅茹輿轝閭餘驪麗黎亦力域役易曆歷疫繹譯轢逆驛嚥堧姸娟宴年延憐戀捐挻撚椽沇沿涎涓淵演漣烟然煙煉燃燕璉硏硯秊筵緣練縯聯衍軟輦蓮連鉛鍊鳶列劣咽悅涅烈熱裂說閱厭廉念捻染殮炎焰琰艶苒�\".split(\"\");\nfor(j = 0; j != D[230].length; ++j) if(D[230][j].charCodeAt(0) !== 0xFFFD) { e[D[230][j]] = 58880 + j; d[58880 + j] = D[230][j];}\nD[231] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������簾閻髥鹽曄獵燁葉令囹塋寧嶺嶸影怜映暎楹榮永泳渶潁濚瀛瀯煐營獰玲瑛瑩瓔盈穎纓羚聆英詠迎鈴鍈零霙靈領乂倪例刈叡曳汭濊猊睿穢芮藝蘂禮裔詣譽豫醴銳隸霓預五伍俉傲午吾吳嗚塢墺奧娛寤悟惡懊敖旿晤梧汚澳�\".split(\"\");\nfor(j = 0; j != D[231].length; ++j) if(D[231][j].charCodeAt(0) !== 0xFFFD) { e[D[231][j]] = 59136 + j; d[59136 + j] = D[231][j];}\nD[232] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������烏熬獒筽蜈誤鰲鼇屋沃獄玉鈺溫瑥瘟穩縕蘊兀壅擁瓮甕癰翁邕雍饔渦瓦窩窪臥蛙蝸訛婉完宛梡椀浣玩琓琬碗緩翫脘腕莞豌阮頑曰往旺枉汪王倭娃歪矮外嵬巍猥畏了僚僥凹堯夭妖姚寥寮尿嶢拗搖撓擾料曜樂橈燎燿瑤療�\".split(\"\");\nfor(j = 0; j != D[232].length; ++j) if(D[232][j].charCodeAt(0) !== 0xFFFD) { e[D[232][j]] = 59392 + j; d[59392 + j] = D[232][j];}\nD[233] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������窈窯繇繞耀腰蓼蟯要謠遙遼邀饒慾欲浴縟褥辱俑傭冗勇埇墉容庸慂榕涌湧溶熔瑢用甬聳茸蓉踊鎔鏞龍于佑偶優又友右宇寓尤愚憂旴牛玗瑀盂祐禑禹紆羽芋藕虞迂遇郵釪隅雨雩勖彧旭昱栯煜稶郁頊云暈橒殞澐熉耘芸蕓�\".split(\"\");\nfor(j = 0; j != D[233].length; ++j) if(D[233][j].charCodeAt(0) !== 0xFFFD) { e[D[233][j]] = 59648 + j; d[59648 + j] = D[233][j];}\nD[234] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������運隕雲韻蔚鬱亐熊雄元原員圓園垣媛嫄寃怨愿援沅洹湲源爰猿瑗苑袁轅遠阮院願鴛月越鉞位偉僞危圍委威尉慰暐渭爲瑋緯胃萎葦蔿蝟衛褘謂違韋魏乳侑儒兪劉唯喩孺宥幼幽庾悠惟愈愉揄攸有杻柔柚柳楡楢油洧流游溜�\".split(\"\");\nfor(j = 0; j != D[234].length; ++j) if(D[234][j].charCodeAt(0) !== 0xFFFD) { e[D[234][j]] = 59904 + j; d[59904 + j] = D[234][j];}\nD[235] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������濡猶猷琉瑜由留癒硫紐維臾萸裕誘諛諭踰蹂遊逾遺酉釉鍮類六堉戮毓肉育陸倫允奫尹崙淪潤玧胤贇輪鈗閏律慄栗率聿戎瀜絨融隆垠恩慇殷誾銀隱乙吟淫蔭陰音飮揖泣邑凝應膺鷹依倚儀宜意懿擬椅毅疑矣義艤薏蟻衣誼�\".split(\"\");\nfor(j = 0; j != D[235].length; ++j) if(D[235][j].charCodeAt(0) !== 0xFFFD) { e[D[235][j]] = 60160 + j; d[60160 + j] = D[235][j];}\nD[236] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������議醫二以伊利吏夷姨履已弛彛怡易李梨泥爾珥理異痍痢移罹而耳肄苡荑裏裡貽貳邇里離飴餌匿溺瀷益翊翌翼謚人仁刃印吝咽因姻寅引忍湮燐璘絪茵藺蚓認隣靭靷鱗麟一佚佾壹日溢逸鎰馹任壬妊姙恁林淋稔臨荏賃入卄�\".split(\"\");\nfor(j = 0; j != D[236].length; ++j) if(D[236][j].charCodeAt(0) !== 0xFFFD) { e[D[236][j]] = 60416 + j; d[60416 + j] = D[236][j];}\nD[237] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������立笠粒仍剩孕芿仔刺咨姉姿子字孜恣慈滋炙煮玆瓷疵磁紫者自茨蔗藉諮資雌作勺嚼斫昨灼炸爵綽芍酌雀鵲孱棧殘潺盞岑暫潛箴簪蠶雜丈仗匠場墻壯奬將帳庄張掌暲杖樟檣欌漿牆狀獐璋章粧腸臟臧莊葬蔣薔藏裝贓醬長�\".split(\"\");\nfor(j = 0; j != D[237].length; ++j) if(D[237][j].charCodeAt(0) !== 0xFFFD) { e[D[237][j]] = 60672 + j; d[60672 + j] = D[237][j];}\nD[238] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������障再哉在宰才材栽梓渽滓災縡裁財載齋齎爭箏諍錚佇低儲咀姐底抵杵楮樗沮渚狙猪疽箸紵苧菹著藷詛貯躇這邸雎齟勣吊嫡寂摘敵滴狄炙的積笛籍績翟荻謫賊赤跡蹟迪迹適鏑佃佺傳全典前剪塡塼奠專展廛悛戰栓殿氈澱�\".split(\"\");\nfor(j = 0; j != D[238].length; ++j) if(D[238][j].charCodeAt(0) !== 0xFFFD) { e[D[238][j]] = 60928 + j; d[60928 + j] = D[238][j];}\nD[239] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������煎琠田甸畑癲筌箋箭篆纏詮輾轉鈿銓錢鐫電顚顫餞切截折浙癤竊節絶占岾店漸点粘霑鮎點接摺蝶丁井亭停偵呈姃定幀庭廷征情挺政整旌晶晸柾楨檉正汀淀淨渟湞瀞炡玎珽町睛碇禎程穽精綎艇訂諪貞鄭酊釘鉦鋌錠霆靖�\".split(\"\");\nfor(j = 0; j != D[239].length; ++j) if(D[239][j].charCodeAt(0) !== 0xFFFD) { e[D[239][j]] = 61184 + j; d[61184 + j] = D[239][j];}\nD[240] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������靜頂鼎制劑啼堤帝弟悌提梯濟祭第臍薺製諸蹄醍除際霽題齊俎兆凋助嘲弔彫措操早晁曺曹朝條棗槽漕潮照燥爪璪眺祖祚租稠窕粗糟組繰肇藻蚤詔調趙躁造遭釣阻雕鳥族簇足鏃存尊卒拙猝倧宗從悰慫棕淙琮種終綜縱腫�\".split(\"\");\nfor(j = 0; j != D[240].length; ++j) if(D[240][j].charCodeAt(0) !== 0xFFFD) { e[D[240][j]] = 61440 + j; d[61440 + j] = D[240][j];}\nD[241] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������踪踵鍾鐘佐坐左座挫罪主住侏做姝胄呪周嗾奏宙州廚晝朱柱株注洲湊澍炷珠疇籌紂紬綢舟蛛註誅走躊輳週酎酒鑄駐竹粥俊儁准埈寯峻晙樽浚準濬焌畯竣蠢逡遵雋駿茁中仲衆重卽櫛楫汁葺增憎曾拯烝甑症繒蒸證贈之只�\".split(\"\");\nfor(j = 0; j != D[241].length; ++j) if(D[241][j].charCodeAt(0) !== 0xFFFD) { e[D[241][j]] = 61696 + j; d[61696 + j] = D[241][j];}\nD[242] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������咫地址志持指摯支旨智枝枳止池沚漬知砥祉祗紙肢脂至芝芷蜘誌識贄趾遲直稙稷織職唇嗔塵振搢晉晋桭榛殄津溱珍瑨璡畛疹盡眞瞋秦縉縝臻蔯袗診賑軫辰進鎭陣陳震侄叱姪嫉帙桎瓆疾秩窒膣蛭質跌迭斟朕什執潗緝輯�\".split(\"\");\nfor(j = 0; j != D[242].length; ++j) if(D[242][j].charCodeAt(0) !== 0xFFFD) { e[D[242][j]] = 61952 + j; d[61952 + j] = D[242][j];}\nD[243] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������鏶集徵懲澄且侘借叉嗟嵯差次此磋箚茶蹉車遮捉搾着窄錯鑿齪撰澯燦璨瓚竄簒纂粲纘讚贊鑽餐饌刹察擦札紮僭參塹慘慙懺斬站讒讖倉倡創唱娼廠彰愴敞昌昶暢槍滄漲猖瘡窓脹艙菖蒼債埰寀寨彩採砦綵菜蔡采釵冊柵策�\".split(\"\");\nfor(j = 0; j != D[243].length; ++j) if(D[243][j].charCodeAt(0) !== 0xFFFD) { e[D[243][j]] = 62208 + j; d[62208 + j] = D[243][j];}\nD[244] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������責凄妻悽處倜刺剔尺慽戚拓擲斥滌瘠脊蹠陟隻仟千喘天川擅泉淺玔穿舛薦賤踐遷釧闡阡韆凸哲喆徹撤澈綴輟轍鐵僉尖沾添甛瞻簽籤詹諂堞妾帖捷牒疊睫諜貼輒廳晴淸聽菁請靑鯖切剃替涕滯締諦逮遞體初剿哨憔抄招梢�\".split(\"\");\nfor(j = 0; j != D[244].length; ++j) if(D[244][j].charCodeAt(0) !== 0xFFFD) { e[D[244][j]] = 62464 + j; d[62464 + j] = D[244][j];}\nD[245] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������椒楚樵炒焦硝礁礎秒稍肖艸苕草蕉貂超酢醋醮促囑燭矗蜀觸寸忖村邨叢塚寵悤憁摠總聰蔥銃撮催崔最墜抽推椎楸樞湫皺秋芻萩諏趨追鄒酋醜錐錘鎚雛騶鰍丑畜祝竺筑築縮蓄蹙蹴軸逐春椿瑃出朮黜充忠沖蟲衝衷悴膵萃�\".split(\"\");\nfor(j = 0; j != D[245].length; ++j) if(D[245][j].charCodeAt(0) !== 0xFFFD) { e[D[245][j]] = 62720 + j; d[62720 + j] = D[245][j];}\nD[246] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������贅取吹嘴娶就炊翠聚脆臭趣醉驟鷲側仄厠惻測層侈値嗤峙幟恥梔治淄熾痔痴癡稚穉緇緻置致蚩輜雉馳齒則勅飭親七柒漆侵寢枕沈浸琛砧針鍼蟄秤稱快他咤唾墮妥惰打拖朶楕舵陀馱駝倬卓啄坼度托拓擢晫柝濁濯琢琸託�\".split(\"\");\nfor(j = 0; j != D[246].length; ++j) if(D[246][j].charCodeAt(0) !== 0xFFFD) { e[D[246][j]] = 62976 + j; d[62976 + j] = D[246][j];}\nD[247] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������鐸呑嘆坦彈憚歎灘炭綻誕奪脫探眈耽貪塔搭榻宕帑湯糖蕩兌台太怠態殆汰泰笞胎苔跆邰颱宅擇澤撑攄兎吐土討慟桶洞痛筒統通堆槌腿褪退頹偸套妬投透鬪慝特闖坡婆巴把播擺杷波派爬琶破罷芭跛頗判坂板版瓣販辦鈑�\".split(\"\");\nfor(j = 0; j != D[247].length; ++j) if(D[247][j].charCodeAt(0) !== 0xFFFD) { e[D[247][j]] = 63232 + j; d[63232 + j] = D[247][j];}\nD[248] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������阪八叭捌佩唄悖敗沛浿牌狽稗覇貝彭澎烹膨愎便偏扁片篇編翩遍鞭騙貶坪平枰萍評吠嬖幣廢弊斃肺蔽閉陛佈包匍匏咆哺圃布怖抛抱捕暴泡浦疱砲胞脯苞葡蒲袍褒逋鋪飽鮑幅暴曝瀑爆輻俵剽彪慓杓標漂瓢票表豹飇飄驃�\".split(\"\");\nfor(j = 0; j != D[248].length; ++j) if(D[248][j].charCodeAt(0) !== 0xFFFD) { e[D[248][j]] = 63488 + j; d[63488 + j] = D[248][j];}\nD[249] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������品稟楓諷豊風馮彼披疲皮被避陂匹弼必泌珌畢疋筆苾馝乏逼下何厦夏廈昰河瑕荷蝦賀遐霞鰕壑學虐謔鶴寒恨悍旱汗漢澣瀚罕翰閑閒限韓割轄函含咸啣喊檻涵緘艦銜陷鹹合哈盒蛤閤闔陜亢伉姮嫦巷恒抗杭桁沆港缸肛航�\".split(\"\");\nfor(j = 0; j != D[249].length; ++j) if(D[249][j].charCodeAt(0) !== 0xFFFD) { e[D[249][j]] = 63744 + j; d[63744 + j] = D[249][j];}\nD[250] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������行降項亥偕咳垓奚孩害懈楷海瀣蟹解該諧邂駭骸劾核倖幸杏荇行享向嚮珦鄕響餉饗香噓墟虛許憲櫶獻軒歇險驗奕爀赫革俔峴弦懸晛泫炫玄玹現眩睍絃絢縣舷衒見賢鉉顯孑穴血頁嫌俠協夾峽挾浹狹脅脇莢鋏頰亨兄刑型�\".split(\"\");\nfor(j = 0; j != D[250].length; ++j) if(D[250][j].charCodeAt(0) !== 0xFFFD) { e[D[250][j]] = 64000 + j; d[64000 + j] = D[250][j];}\nD[251] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������形泂滎瀅灐炯熒珩瑩荊螢衡逈邢鎣馨兮彗惠慧暳蕙蹊醯鞋乎互呼壕壺好岵弧戶扈昊晧毫浩淏湖滸澔濠濩灝狐琥瑚瓠皓祜糊縞胡芦葫蒿虎號蝴護豪鎬頀顥惑或酷婚昏混渾琿魂忽惚笏哄弘汞泓洪烘紅虹訌鴻化和嬅樺火畵�\".split(\"\");\nfor(j = 0; j != D[251].length; ++j) if(D[251][j].charCodeAt(0) !== 0xFFFD) { e[D[251][j]] = 64256 + j; d[64256 + j] = D[251][j];}\nD[252] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������禍禾花華話譁貨靴廓擴攫確碻穫丸喚奐宦幻患換歡晥桓渙煥環紈還驩鰥活滑猾豁闊凰幌徨恍惶愰慌晃晄榥況湟滉潢煌璜皇篁簧荒蝗遑隍黃匯回廻徊恢悔懷晦會檜淮澮灰獪繪膾茴蛔誨賄劃獲宖橫鐄哮嚆孝效斅曉梟涍淆�\".split(\"\");\nfor(j = 0; j != D[252].length; ++j) if(D[252][j].charCodeAt(0) !== 0xFFFD) { e[D[252][j]] = 64512 + j; d[64512 + j] = D[252][j];}\nD[253] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������爻肴酵驍侯候厚后吼喉嗅帿後朽煦珝逅勛勳塤壎焄熏燻薰訓暈薨喧暄煊萱卉喙毁彙徽揮暉煇諱輝麾休携烋畦虧恤譎鷸兇凶匈洶胸黑昕欣炘痕吃屹紇訖欠欽歆吸恰洽翕興僖凞喜噫囍姬嬉希憙憘戱晞曦熙熹熺犧禧稀羲詰�\".split(\"\");\nfor(j = 0; j != D[253].length; ++j) if(D[253][j].charCodeAt(0) !== 0xFFFD) { e[D[253][j]] = 64768 + j; d[64768 + j] = D[253][j];}\nreturn {\"enc\": e, \"dec\": d }; })();\ncptable[950] = (function(){ var d = [], e = {}, D = [], j;\nD[0] = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];}\nD[161] = \"���������������������������������������������������������������� ,、。.‧;:?!︰…‥﹐﹑﹒·﹔﹕﹖﹗|–︱—︳╴︴﹏()︵︶{}︷︸〔〕︹︺【】︻︼《》︽︾〈〉︿﹀「」﹁﹂『』﹃﹄﹙﹚����������������������������������﹛﹜﹝﹞‘’“”〝〞‵′#&*※§〃○●△▲◎☆★◇◆□■▽▼㊣℅¯ ̄_ˍ﹉﹊﹍﹎﹋﹌﹟﹠﹡+-×÷±√<>=≦≧≠∞≒≡﹢﹣﹤﹥﹦~∩∪⊥∠∟⊿㏒㏑∫∮∵∴♀♂⊕⊙↑↓←→↖↗↙↘∥∣/�\".split(\"\");\nfor(j = 0; j != D[161].length; ++j) if(D[161][j].charCodeAt(0) !== 0xFFFD) { e[D[161][j]] = 41216 + j; d[41216 + j] = D[161][j];}\nD[162] = \"����������������������������������������������������������������\∕﹨$¥〒¢£%@℃℉﹩﹪﹫㏕㎜㎝㎞㏎㎡㎎㎏㏄°兙兛兞兝兡兣嗧瓩糎▁▂▃▄▅▆▇█▏▎▍▌▋▊▉┼┴┬┤├▔─│▕┌┐└┘╭����������������������������������╮╰╯═╞╪╡◢◣◥◤╱╲╳0123456789ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ〡〢〣〤〥〦〧〨〩十卄卅ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuv�\".split(\"\");\nfor(j = 0; j != D[162].length; ++j) if(D[162][j].charCodeAt(0) !== 0xFFFD) { e[D[162][j]] = 41472 + j; d[41472 + j] = D[162][j];}\nD[163] = \"����������������������������������������������������������������wxyzΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρστυφχψωㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏ����������������������������������ㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ˙ˉˊˇˋ���������������������������������€������������������������������\".split(\"\");\nfor(j = 0; j != D[163].length; ++j) if(D[163][j].charCodeAt(0) !== 0xFFFD) { e[D[163][j]] = 41728 + j; d[41728 + j] = D[163][j];}\nD[164] = \"����������������������������������������������������������������一乙丁七乃九了二人儿入八几刀刁力匕十卜又三下丈上丫丸凡久么也乞于亡兀刃勺千叉口土士夕大女子孑孓寸小尢尸山川工己已巳巾干廾弋弓才����������������������������������丑丐不中丰丹之尹予云井互五亢仁什仃仆仇仍今介仄元允內六兮公冗凶分切刈勻勾勿化匹午升卅卞厄友及反壬天夫太夭孔少尤尺屯巴幻廿弔引心戈戶手扎支文斗斤方日曰月木欠止歹毋比毛氏水火爪父爻片牙牛犬王丙�\".split(\"\");\nfor(j = 0; j != D[164].length; ++j) if(D[164][j].charCodeAt(0) !== 0xFFFD) { e[D[164][j]] = 41984 + j; d[41984 + j] = D[164][j];}\nD[165] = \"����������������������������������������������������������������世丕且丘主乍乏乎以付仔仕他仗代令仙仞充兄冉冊冬凹出凸刊加功包匆北匝仟半卉卡占卯卮去可古右召叮叩叨叼司叵叫另只史叱台句叭叻四囚外����������������������������������央失奴奶孕它尼巨巧左市布平幼弁弘弗必戊打扔扒扑斥旦朮本未末札正母民氐永汁汀氾犯玄玉瓜瓦甘生用甩田由甲申疋白皮皿目矛矢石示禾穴立丞丟乒乓乩亙交亦亥仿伉伙伊伕伍伐休伏仲件任仰仳份企伋光兇兆先全�\".split(\"\");\nfor(j = 0; j != D[165].length; ++j) if(D[165][j].charCodeAt(0) !== 0xFFFD) { e[D[165][j]] = 42240 + j; d[42240 + j] = D[165][j];}\nD[166] = \"����������������������������������������������������������������共再冰列刑划刎刖劣匈匡匠印危吉吏同吊吐吁吋各向名合吃后吆吒因回囝圳地在圭圬圯圩夙多夷夸妄奸妃好她如妁字存宇守宅安寺尖屹州帆并年����������������������������������式弛忙忖戎戌戍成扣扛托收早旨旬旭曲曳有朽朴朱朵次此死氖汝汗汙江池汐汕污汛汍汎灰牟牝百竹米糸缶羊羽老考而耒耳聿肉肋肌臣自至臼舌舛舟艮色艾虫血行衣西阡串亨位住佇佗佞伴佛何估佐佑伽伺伸佃佔似但佣�\".split(\"\");\nfor(j = 0; j != D[166].length; ++j) if(D[166][j].charCodeAt(0) !== 0xFFFD) { e[D[166][j]] = 42496 + j; d[42496 + j] = D[166][j];}\nD[167] = \"����������������������������������������������������������������作你伯低伶余佝佈佚兌克免兵冶冷別判利刪刨劫助努劬匣即卵吝吭吞吾否呎吧呆呃吳呈呂君吩告吹吻吸吮吵吶吠吼呀吱含吟听囪困囤囫坊坑址坍����������������������������������均坎圾坐坏圻壯夾妝妒妨妞妣妙妖妍妤妓妊妥孝孜孚孛完宋宏尬局屁尿尾岐岑岔岌巫希序庇床廷弄弟彤形彷役忘忌志忍忱快忸忪戒我抄抗抖技扶抉扭把扼找批扳抒扯折扮投抓抑抆改攻攸旱更束李杏材村杜杖杞杉杆杠�\".split(\"\");\nfor(j = 0; j != D[167].length; ++j) if(D[167][j].charCodeAt(0) !== 0xFFFD) { e[D[167][j]] = 42752 + j; d[42752 + j] = D[167][j];}\nD[168] = \"����������������������������������������������������������������杓杗步每求汞沙沁沈沉沅沛汪決沐汰沌汨沖沒汽沃汲汾汴沆汶沍沔沘沂灶灼災灸牢牡牠狄狂玖甬甫男甸皂盯矣私秀禿究系罕肖肓肝肘肛肚育良芒����������������������������������芋芍見角言谷豆豕貝赤走足身車辛辰迂迆迅迄巡邑邢邪邦那酉釆里防阮阱阪阬並乖乳事些亞享京佯依侍佳使佬供例來侃佰併侈佩佻侖佾侏侑佺兔兒兕兩具其典冽函刻券刷刺到刮制剁劾劻卒協卓卑卦卷卸卹取叔受味呵�\".split(\"\");\nfor(j = 0; j != D[168].length; ++j) if(D[168][j].charCodeAt(0) !== 0xFFFD) { e[D[168][j]] = 43008 + j; d[43008 + j] = D[168][j];}\nD[169] = \"����������������������������������������������������������������咖呸咕咀呻呷咄咒咆呼咐呱呶和咚呢周咋命咎固垃坷坪坩坡坦坤坼夜奉奇奈奄奔妾妻委妹妮姑姆姐姍始姓姊妯妳姒姅孟孤季宗定官宜宙宛尚屈居����������������������������������屆岷岡岸岩岫岱岳帘帚帖帕帛帑幸庚店府底庖延弦弧弩往征彿彼忝忠忽念忿怏怔怯怵怖怪怕怡性怩怫怛或戕房戾所承拉拌拄抿拂抹拒招披拓拔拋拈抨抽押拐拙拇拍抵拚抱拘拖拗拆抬拎放斧於旺昔易昌昆昂明昀昏昕昊�\".split(\"\");\nfor(j = 0; j != D[169].length; ++j) if(D[169][j].charCodeAt(0) !== 0xFFFD) { e[D[169][j]] = 43264 + j; d[43264 + j] = D[169][j];}\nD[170] = \"����������������������������������������������������������������昇服朋杭枋枕東果杳杷枇枝林杯杰板枉松析杵枚枓杼杪杲欣武歧歿氓氛泣注泳沱泌泥河沽沾沼波沫法泓沸泄油況沮泗泅泱沿治泡泛泊沬泯泜泖泠����������������������������������炕炎炒炊炙爬爭爸版牧物狀狎狙狗狐玩玨玟玫玥甽疝疙疚的盂盲直知矽社祀祁秉秈空穹竺糾罔羌羋者肺肥肢肱股肫肩肴肪肯臥臾舍芳芝芙芭芽芟芹花芬芥芯芸芣芰芾芷虎虱初表軋迎返近邵邸邱邶采金長門阜陀阿阻附�\".split(\"\");\nfor(j = 0; j != D[170].length; ++j) if(D[170][j].charCodeAt(0) !== 0xFFFD) { e[D[170][j]] = 43520 + j; d[43520 + j] = D[170][j];}\nD[171] = \"����������������������������������������������������������������陂隹雨青非亟亭亮信侵侯便俠俑俏保促侶俘俟俊俗侮俐俄係俚俎俞侷兗冒冑冠剎剃削前剌剋則勇勉勃勁匍南卻厚叛咬哀咨哎哉咸咦咳哇哂咽咪品����������������������������������哄哈咯咫咱咻咩咧咿囿垂型垠垣垢城垮垓奕契奏奎奐姜姘姿姣姨娃姥姪姚姦威姻孩宣宦室客宥封屎屏屍屋峙峒巷帝帥帟幽庠度建弈弭彥很待徊律徇後徉怒思怠急怎怨恍恰恨恢恆恃恬恫恪恤扁拜挖按拼拭持拮拽指拱拷�\".split(\"\");\nfor(j = 0; j != D[171].length; ++j) if(D[171][j].charCodeAt(0) !== 0xFFFD) { e[D[171][j]] = 43776 + j; d[43776 + j] = D[171][j];}\nD[172] = \"����������������������������������������������������������������拯括拾拴挑挂政故斫施既春昭映昧是星昨昱昤曷柿染柱柔某柬架枯柵柩柯柄柑枴柚查枸柏柞柳枰柙柢柝柒歪殃殆段毒毗氟泉洋洲洪流津洌洱洞洗����������������������������������活洽派洶洛泵洹洧洸洩洮洵洎洫炫為炳炬炯炭炸炮炤爰牲牯牴狩狠狡玷珊玻玲珍珀玳甚甭畏界畎畋疫疤疥疢疣癸皆皇皈盈盆盃盅省盹相眉看盾盼眇矜砂研砌砍祆祉祈祇禹禺科秒秋穿突竿竽籽紂紅紀紉紇約紆缸美羿耄�\".split(\"\");\nfor(j = 0; j != D[172].length; ++j) if(D[172][j].charCodeAt(0) !== 0xFFFD) { e[D[172][j]] = 44032 + j; d[44032 + j] = D[172][j];}\nD[173] = \"����������������������������������������������������������������耐耍耑耶胖胥胚胃胄背胡胛胎胞胤胝致舢苧范茅苣苛苦茄若茂茉苒苗英茁苜苔苑苞苓苟苯茆虐虹虻虺衍衫要觔計訂訃貞負赴赳趴軍軌述迦迢迪迥����������������������������������迭迫迤迨郊郎郁郃酋酊重閂限陋陌降面革韋韭音頁風飛食首香乘亳倌倍倣俯倦倥俸倩倖倆值借倚倒們俺倀倔倨俱倡個候倘俳修倭倪俾倫倉兼冤冥冢凍凌准凋剖剜剔剛剝匪卿原厝叟哨唐唁唷哼哥哲唆哺唔哩哭員唉哮哪�\".split(\"\");\nfor(j = 0; j != D[173].length; ++j) if(D[173][j].charCodeAt(0) !== 0xFFFD) { e[D[173][j]] = 44288 + j; d[44288 + j] = D[173][j];}\nD[174] = \"����������������������������������������������������������������哦唧唇哽唏圃圄埂埔埋埃堉夏套奘奚娑娘娜娟娛娓姬娠娣娩娥娌娉孫屘宰害家宴宮宵容宸射屑展屐峭峽峻峪峨峰島崁峴差席師庫庭座弱徒徑徐恙����������������������������������恣恥恐恕恭恩息悄悟悚悍悔悌悅悖扇拳挈拿捎挾振捕捂捆捏捉挺捐挽挪挫挨捍捌效敉料旁旅時晉晏晃晒晌晅晁書朔朕朗校核案框桓根桂桔栩梳栗桌桑栽柴桐桀格桃株桅栓栘桁殊殉殷氣氧氨氦氤泰浪涕消涇浦浸海浙涓�\".split(\"\");\nfor(j = 0; j != D[174].length; ++j) if(D[174][j].charCodeAt(0) !== 0xFFFD) { e[D[174][j]] = 44544 + j; d[44544 + j] = D[174][j];}\nD[175] = \"����������������������������������������������������������������浬涉浮浚浴浩涌涊浹涅浥涔烊烘烤烙烈烏爹特狼狹狽狸狷玆班琉珮珠珪珞畔畝畜畚留疾病症疲疳疽疼疹痂疸皋皰益盍盎眩真眠眨矩砰砧砸砝破砷����������������������������������砥砭砠砟砲祕祐祠祟祖神祝祗祚秤秣秧租秦秩秘窄窈站笆笑粉紡紗紋紊素索純紐紕級紜納紙紛缺罟羔翅翁耆耘耕耙耗耽耿胱脂胰脅胭胴脆胸胳脈能脊胼胯臭臬舀舐航舫舨般芻茫荒荔荊茸荐草茵茴荏茲茹茶茗荀茱茨荃�\".split(\"\");\nfor(j = 0; j != D[175].length; ++j) if(D[175][j].charCodeAt(0) !== 0xFFFD) { e[D[175][j]] = 44800 + j; d[44800 + j] = D[175][j];}\nD[176] = \"����������������������������������������������������������������虔蚊蚪蚓蚤蚩蚌蚣蚜衰衷袁袂衽衹記訐討訌訕訊託訓訖訏訑豈豺豹財貢起躬軒軔軏辱送逆迷退迺迴逃追逅迸邕郡郝郢酒配酌釘針釗釜釙閃院陣陡����������������������������������陛陝除陘陞隻飢馬骨高鬥鬲鬼乾偺偽停假偃偌做偉健偶偎偕偵側偷偏倏偯偭兜冕凰剪副勒務勘動匐匏匙匿區匾參曼商啪啦啄啞啡啃啊唱啖問啕唯啤唸售啜唬啣唳啁啗圈國圉域堅堊堆埠埤基堂堵執培夠奢娶婁婉婦婪婀�\".split(\"\");\nfor(j = 0; j != D[176].length; ++j) if(D[176][j].charCodeAt(0) !== 0xFFFD) { e[D[176][j]] = 45056 + j; d[45056 + j] = D[176][j];}\nD[177] = \"����������������������������������������������������������������娼婢婚婆婊孰寇寅寄寂宿密尉專將屠屜屝崇崆崎崛崖崢崑崩崔崙崤崧崗巢常帶帳帷康庸庶庵庾張強彗彬彩彫得徙從徘御徠徜恿患悉悠您惋悴惦悽����������������������������������情悻悵惜悼惘惕惆惟悸惚惇戚戛扈掠控捲掖探接捷捧掘措捱掩掉掃掛捫推掄授掙採掬排掏掀捻捩捨捺敝敖救教敗啟敏敘敕敔斜斛斬族旋旌旎晝晚晤晨晦晞曹勗望梁梯梢梓梵桿桶梱梧梗械梃棄梭梆梅梔條梨梟梡梂欲殺�\".split(\"\");\nfor(j = 0; j != D[177].length; ++j) if(D[177][j].charCodeAt(0) !== 0xFFFD) { e[D[177][j]] = 45312 + j; d[45312 + j] = D[177][j];}\nD[178] = \"����������������������������������������������������������������毫毬氫涎涼淳淙液淡淌淤添淺清淇淋涯淑涮淞淹涸混淵淅淒渚涵淚淫淘淪深淮淨淆淄涪淬涿淦烹焉焊烽烯爽牽犁猜猛猖猓猙率琅琊球理現琍瓠瓶����������������������������������瓷甜產略畦畢異疏痔痕疵痊痍皎盔盒盛眷眾眼眶眸眺硫硃硎祥票祭移窒窕笠笨笛第符笙笞笮粒粗粕絆絃統紮紹紼絀細紳組累終紲紱缽羞羚翌翎習耜聊聆脯脖脣脫脩脰脤舂舵舷舶船莎莞莘荸莢莖莽莫莒莊莓莉莠荷荻荼�\".split(\"\");\nfor(j = 0; j != D[178].length; ++j) if(D[178][j].charCodeAt(0) !== 0xFFFD) { e[D[178][j]] = 45568 + j; d[45568 + j] = D[178][j];}\nD[179] = \"����������������������������������������������������������������莆莧處彪蛇蛀蚶蛄蚵蛆蛋蚱蚯蛉術袞袈被袒袖袍袋覓規訪訝訣訥許設訟訛訢豉豚販責貫貨貪貧赧赦趾趺軛軟這逍通逗連速逝逐逕逞造透逢逖逛途����������������������������������部郭都酗野釵釦釣釧釭釩閉陪陵陳陸陰陴陶陷陬雀雪雩章竟頂頃魚鳥鹵鹿麥麻傢傍傅備傑傀傖傘傚最凱割剴創剩勞勝勛博厥啻喀喧啼喊喝喘喂喜喪喔喇喋喃喳單喟唾喲喚喻喬喱啾喉喫喙圍堯堪場堤堰報堡堝堠壹壺奠�\".split(\"\");\nfor(j = 0; j != D[179].length; ++j) if(D[179][j].charCodeAt(0) !== 0xFFFD) { e[D[179][j]] = 45824 + j; d[45824 + j] = D[179][j];}\nD[180] = \"����������������������������������������������������������������婷媚婿媒媛媧孳孱寒富寓寐尊尋就嵌嵐崴嵇巽幅帽幀幃幾廊廁廂廄弼彭復循徨惑惡悲悶惠愜愣惺愕惰惻惴慨惱愎惶愉愀愒戟扉掣掌描揀揩揉揆揍����������������������������������插揣提握揖揭揮捶援揪換摒揚揹敞敦敢散斑斐斯普晰晴晶景暑智晾晷曾替期朝棺棕棠棘棗椅棟棵森棧棹棒棲棣棋棍植椒椎棉棚楮棻款欺欽殘殖殼毯氮氯氬港游湔渡渲湧湊渠渥渣減湛湘渤湖湮渭渦湯渴湍渺測湃渝渾滋�\".split(\"\");\nfor(j = 0; j != D[180].length; ++j) if(D[180][j].charCodeAt(0) !== 0xFFFD) { e[D[180][j]] = 46080 + j; d[46080 + j] = D[180][j];}\nD[181] = \"����������������������������������������������������������������溉渙湎湣湄湲湩湟焙焚焦焰無然煮焜牌犄犀猶猥猴猩琺琪琳琢琥琵琶琴琯琛琦琨甥甦畫番痢痛痣痙痘痞痠登發皖皓皴盜睏短硝硬硯稍稈程稅稀窘����������������������������������窗窖童竣等策筆筐筒答筍筋筏筑粟粥絞結絨絕紫絮絲絡給絢絰絳善翔翕耋聒肅腕腔腋腑腎脹腆脾腌腓腴舒舜菩萃菸萍菠菅萋菁華菱菴著萊菰萌菌菽菲菊萸萎萄菜萇菔菟虛蛟蛙蛭蛔蛛蛤蛐蛞街裁裂袱覃視註詠評詞証詁�\".split(\"\");\nfor(j = 0; j != D[181].length; ++j) if(D[181][j].charCodeAt(0) !== 0xFFFD) { e[D[181][j]] = 46336 + j; d[46336 + j] = D[181][j];}\nD[182] = \"����������������������������������������������������������������詔詛詐詆訴診訶詖象貂貯貼貳貽賁費賀貴買貶貿貸越超趁跎距跋跚跑跌跛跆軻軸軼辜逮逵週逸進逶鄂郵鄉郾酣酥量鈔鈕鈣鈉鈞鈍鈐鈇鈑閔閏開閑����������������������������������間閒閎隊階隋陽隅隆隍陲隄雁雅雄集雇雯雲韌項順須飧飪飯飩飲飭馮馭黃黍黑亂傭債傲傳僅傾催傷傻傯僇剿剷剽募勦勤勢勣匯嗟嗨嗓嗦嗎嗜嗇嗑嗣嗤嗯嗚嗡嗅嗆嗥嗉園圓塞塑塘塗塚塔填塌塭塊塢塒塋奧嫁嫉嫌媾媽媼�\".split(\"\");\nfor(j = 0; j != D[182].length; ++j) if(D[182][j].charCodeAt(0) !== 0xFFFD) { e[D[182][j]] = 46592 + j; d[46592 + j] = D[182][j];}\nD[183] = \"����������������������������������������������������������������媳嫂媲嵩嵯幌幹廉廈弒彙徬微愚意慈感想愛惹愁愈慎慌慄慍愾愴愧愍愆愷戡戢搓搾搞搪搭搽搬搏搜搔損搶搖搗搆敬斟新暗暉暇暈暖暄暘暍會榔業����������������������������������楚楷楠楔極椰概楊楨楫楞楓楹榆楝楣楛歇歲毀殿毓毽溢溯滓溶滂源溝滇滅溥溘溼溺溫滑準溜滄滔溪溧溴煎煙煩煤煉照煜煬煦煌煥煞煆煨煖爺牒猷獅猿猾瑯瑚瑕瑟瑞瑁琿瑙瑛瑜當畸瘀痰瘁痲痱痺痿痴痳盞盟睛睫睦睞督�\".split(\"\");\nfor(j = 0; j != D[183].length; ++j) if(D[183][j].charCodeAt(0) !== 0xFFFD) { e[D[183][j]] = 46848 + j; d[46848 + j] = D[183][j];}\nD[184] = \"����������������������������������������������������������������睹睪睬睜睥睨睢矮碎碰碗碘碌碉硼碑碓硿祺祿禁萬禽稜稚稠稔稟稞窟窠筷節筠筮筧粱粳粵經絹綑綁綏絛置罩罪署義羨群聖聘肆肄腱腰腸腥腮腳腫����������������������������������腹腺腦舅艇蒂葷落萱葵葦葫葉葬葛萼萵葡董葩葭葆虞虜號蛹蜓蜈蜇蜀蛾蛻蜂蜃蜆蜊衙裟裔裙補裘裝裡裊裕裒覜解詫該詳試詩詰誇詼詣誠話誅詭詢詮詬詹詻訾詨豢貊貉賊資賈賄貲賃賂賅跡跟跨路跳跺跪跤跦躲較載軾輊�\".split(\"\");\nfor(j = 0; j != D[184].length; ++j) if(D[184][j].charCodeAt(0) !== 0xFFFD) { e[D[184][j]] = 47104 + j; d[47104 + j] = D[184][j];}\nD[185] = \"����������������������������������������������������������������辟農運遊道遂達逼違遐遇遏過遍遑逾遁鄒鄗酬酪酩釉鈷鉗鈸鈽鉀鈾鉛鉋鉤鉑鈴鉉鉍鉅鈹鈿鉚閘隘隔隕雍雋雉雊雷電雹零靖靴靶預頑頓頊頒頌飼飴����������������������������������飽飾馳馱馴髡鳩麂鼎鼓鼠僧僮僥僖僭僚僕像僑僱僎僩兢凳劃劂匱厭嗾嘀嘛嘗嗽嘔嘆嘉嘍嘎嗷嘖嘟嘈嘐嗶團圖塵塾境墓墊塹墅塽壽夥夢夤奪奩嫡嫦嫩嫗嫖嫘嫣孵寞寧寡寥實寨寢寤察對屢嶄嶇幛幣幕幗幔廓廖弊彆彰徹慇�\".split(\"\");\nfor(j = 0; j != D[185].length; ++j) if(D[185][j].charCodeAt(0) !== 0xFFFD) { e[D[185][j]] = 47360 + j; d[47360 + j] = D[185][j];}\nD[186] = \"����������������������������������������������������������������愿態慷慢慣慟慚慘慵截撇摘摔撤摸摟摺摑摧搴摭摻敲斡旗旖暢暨暝榜榨榕槁榮槓構榛榷榻榫榴槐槍榭槌榦槃榣歉歌氳漳演滾漓滴漩漾漠漬漏漂漢����������������������������������滿滯漆漱漸漲漣漕漫漯澈漪滬漁滲滌滷熔熙煽熊熄熒爾犒犖獄獐瑤瑣瑪瑰瑭甄疑瘧瘍瘋瘉瘓盡監瞄睽睿睡磁碟碧碳碩碣禎福禍種稱窪窩竭端管箕箋筵算箝箔箏箸箇箄粹粽精綻綰綜綽綾綠緊綴網綱綺綢綿綵綸維緒緇綬�\".split(\"\");\nfor(j = 0; j != D[186].length; ++j) if(D[186][j].charCodeAt(0) !== 0xFFFD) { e[D[186][j]] = 47616 + j; d[47616 + j] = D[186][j];}\nD[187] = \"����������������������������������������������������������������罰翠翡翟聞聚肇腐膀膏膈膊腿膂臧臺與舔舞艋蓉蒿蓆蓄蒙蒞蒲蒜蓋蒸蓀蓓蒐蒼蓑蓊蜿蜜蜻蜢蜥蜴蜘蝕蜷蜩裳褂裴裹裸製裨褚裯誦誌語誣認誡誓誤����������������������������������說誥誨誘誑誚誧豪貍貌賓賑賒赫趙趕跼輔輒輕輓辣遠遘遜遣遙遞遢遝遛鄙鄘鄞酵酸酷酴鉸銀銅銘銖鉻銓銜銨鉼銑閡閨閩閣閥閤隙障際雌雒需靼鞅韶頗領颯颱餃餅餌餉駁骯骰髦魁魂鳴鳶鳳麼鼻齊億儀僻僵價儂儈儉儅凜�\".split(\"\");\nfor(j = 0; j != D[187].length; ++j) if(D[187][j].charCodeAt(0) !== 0xFFFD) { e[D[187][j]] = 47872 + j; d[47872 + j] = D[187][j];}\nD[188] = \"����������������������������������������������������������������劇劈劉劍劊勰厲嘮嘻嘹嘲嘿嘴嘩噓噎噗噴嘶嘯嘰墀墟增墳墜墮墩墦奭嬉嫻嬋嫵嬌嬈寮寬審寫層履嶝嶔幢幟幡廢廚廟廝廣廠彈影德徵慶慧慮慝慕憂����������������������������������慼慰慫慾憧憐憫憎憬憚憤憔憮戮摩摯摹撞撲撈撐撰撥撓撕撩撒撮播撫撚撬撙撢撳敵敷數暮暫暴暱樣樟槨樁樞標槽模樓樊槳樂樅槭樑歐歎殤毅毆漿潼澄潑潦潔澆潭潛潸潮澎潺潰潤澗潘滕潯潠潟熟熬熱熨牖犛獎獗瑩璋璃�\".split(\"\");\nfor(j = 0; j != D[188].length; ++j) if(D[188][j].charCodeAt(0) !== 0xFFFD) { e[D[188][j]] = 48128 + j; d[48128 + j] = D[188][j];}\nD[189] = \"����������������������������������������������������������������瑾璀畿瘠瘩瘟瘤瘦瘡瘢皚皺盤瞎瞇瞌瞑瞋磋磅確磊碾磕碼磐稿稼穀稽稷稻窯窮箭箱範箴篆篇篁箠篌糊締練緯緻緘緬緝編緣線緞緩綞緙緲緹罵罷羯����������������������������������翩耦膛膜膝膠膚膘蔗蔽蔚蓮蔬蔭蔓蔑蔣蔡蔔蓬蔥蓿蔆螂蝴蝶蝠蝦蝸蝨蝙蝗蝌蝓衛衝褐複褒褓褕褊誼諒談諄誕請諸課諉諂調誰論諍誶誹諛豌豎豬賠賞賦賤賬賭賢賣賜質賡赭趟趣踫踐踝踢踏踩踟踡踞躺輝輛輟輩輦輪輜輞�\".split(\"\");\nfor(j = 0; j != D[189].length; ++j) if(D[189][j].charCodeAt(0) !== 0xFFFD) { e[D[189][j]] = 48384 + j; d[48384 + j] = D[189][j];}\nD[190] = \"����������������������������������������������������������������輥適遮遨遭遷鄰鄭鄧鄱醇醉醋醃鋅銻銷鋪銬鋤鋁銳銼鋒鋇鋰銲閭閱霄霆震霉靠鞍鞋鞏頡頫頜颳養餓餒餘駝駐駟駛駑駕駒駙骷髮髯鬧魅魄魷魯鴆鴉����������������������������������鴃麩麾黎墨齒儒儘儔儐儕冀冪凝劑劓勳噙噫噹噩噤噸噪器噥噱噯噬噢噶壁墾壇壅奮嬝嬴學寰導彊憲憑憩憊懍憶憾懊懈戰擅擁擋撻撼據擄擇擂操撿擒擔撾整曆曉暹曄曇暸樽樸樺橙橫橘樹橄橢橡橋橇樵機橈歙歷氅濂澱澡�\".split(\"\");\nfor(j = 0; j != D[190].length; ++j) if(D[190][j].charCodeAt(0) !== 0xFFFD) { e[D[190][j]] = 48640 + j; d[48640 + j] = D[190][j];}\nD[191] = \"����������������������������������������������������������������濃澤濁澧澳激澹澶澦澠澴熾燉燐燒燈燕熹燎燙燜燃燄獨璜璣璘璟璞瓢甌甍瘴瘸瘺盧盥瞠瞞瞟瞥磨磚磬磧禦積穎穆穌穋窺篙簑築篤篛篡篩篦糕糖縊����������������������������������縑縈縛縣縞縝縉縐罹羲翰翱翮耨膳膩膨臻興艘艙蕊蕙蕈蕨蕩蕃蕉蕭蕪蕞螃螟螞螢融衡褪褲褥褫褡親覦諦諺諫諱謀諜諧諮諾謁謂諷諭諳諶諼豫豭貓賴蹄踱踴蹂踹踵輻輯輸輳辨辦遵遴選遲遼遺鄴醒錠錶鋸錳錯錢鋼錫錄錚�\".split(\"\");\nfor(j = 0; j != D[191].length; ++j) if(D[191][j].charCodeAt(0) !== 0xFFFD) { e[D[191][j]] = 48896 + j; d[48896 + j] = D[191][j];}\nD[192] = \"����������������������������������������������������������������錐錦錡錕錮錙閻隧隨險雕霎霑霖霍霓霏靛靜靦鞘頰頸頻頷頭頹頤餐館餞餛餡餚駭駢駱骸骼髻髭鬨鮑鴕鴣鴦鴨鴒鴛默黔龍龜優償儡儲勵嚎嚀嚐嚅嚇����������������������������������嚏壕壓壑壎嬰嬪嬤孺尷屨嶼嶺嶽嶸幫彌徽應懂懇懦懋戲戴擎擊擘擠擰擦擬擱擢擭斂斃曙曖檀檔檄檢檜櫛檣橾檗檐檠歜殮毚氈濘濱濟濠濛濤濫濯澀濬濡濩濕濮濰燧營燮燦燥燭燬燴燠爵牆獰獲璩環璦璨癆療癌盪瞳瞪瞰瞬�\".split(\"\");\nfor(j = 0; j != D[192].length; ++j) if(D[192][j].charCodeAt(0) !== 0xFFFD) { e[D[192][j]] = 49152 + j; d[49152 + j] = D[192][j];}\nD[193] = \"����������������������������������������������������������������瞧瞭矯磷磺磴磯礁禧禪穗窿簇簍篾篷簌篠糠糜糞糢糟糙糝縮績繆縷縲繃縫總縱繅繁縴縹繈縵縿縯罄翳翼聱聲聰聯聳臆臃膺臂臀膿膽臉膾臨舉艱薪����������������������������������薄蕾薜薑薔薯薛薇薨薊虧蟀蟑螳蟒蟆螫螻螺蟈蟋褻褶襄褸褽覬謎謗謙講謊謠謝謄謐豁谿豳賺賽購賸賻趨蹉蹋蹈蹊轄輾轂轅輿避遽還邁邂邀鄹醣醞醜鍍鎂錨鍵鍊鍥鍋錘鍾鍬鍛鍰鍚鍔闊闋闌闈闆隱隸雖霜霞鞠韓顆颶餵騁�\".split(\"\");\nfor(j = 0; j != D[193].length; ++j) if(D[193][j].charCodeAt(0) !== 0xFFFD) { e[D[193][j]] = 49408 + j; d[49408 + j] = D[193][j];}\nD[194] = \"����������������������������������������������������������������駿鮮鮫鮪鮭鴻鴿麋黏點黜黝黛鼾齋叢嚕嚮壙壘嬸彝懣戳擴擲擾攆擺擻擷斷曜朦檳檬櫃檻檸櫂檮檯歟歸殯瀉瀋濾瀆濺瀑瀏燻燼燾燸獷獵璧璿甕癖癘����������������������������������癒瞽瞿瞻瞼礎禮穡穢穠竄竅簫簧簪簞簣簡糧織繕繞繚繡繒繙罈翹翻職聶臍臏舊藏薩藍藐藉薰薺薹薦蟯蟬蟲蟠覆覲觴謨謹謬謫豐贅蹙蹣蹦蹤蹟蹕軀轉轍邇邃邈醫醬釐鎔鎊鎖鎢鎳鎮鎬鎰鎘鎚鎗闔闖闐闕離雜雙雛雞霤鞣鞦�\".split(\"\");\nfor(j = 0; j != D[194].length; ++j) if(D[194][j].charCodeAt(0) !== 0xFFFD) { e[D[194][j]] = 49664 + j; d[49664 + j] = D[194][j];}\nD[195] = \"����������������������������������������������������������������鞭韹額顏題顎顓颺餾餿餽餮馥騎髁鬃鬆魏魎魍鯊鯉鯽鯈鯀鵑鵝鵠黠鼕鼬儳嚥壞壟壢寵龐廬懲懷懶懵攀攏曠曝櫥櫝櫚櫓瀛瀟瀨瀚瀝瀕瀘爆爍牘犢獸����������������������������������獺璽瓊瓣疇疆癟癡矇礙禱穫穩簾簿簸簽簷籀繫繭繹繩繪羅繳羶羹羸臘藩藝藪藕藤藥藷蟻蠅蠍蟹蟾襠襟襖襞譁譜識證譚譎譏譆譙贈贊蹼蹲躇蹶蹬蹺蹴轔轎辭邊邋醱醮鏡鏑鏟鏃鏈鏜鏝鏖鏢鏍鏘鏤鏗鏨關隴難霪霧靡韜韻類�\".split(\"\");\nfor(j = 0; j != D[195].length; ++j) if(D[195][j].charCodeAt(0) !== 0xFFFD) { e[D[195][j]] = 49920 + j; d[49920 + j] = D[195][j];}\nD[196] = \"����������������������������������������������������������������願顛颼饅饉騖騙鬍鯨鯧鯖鯛鶉鵡鵲鵪鵬麒麗麓麴勸嚨嚷嚶嚴嚼壤孀孃孽寶巉懸懺攘攔攙曦朧櫬瀾瀰瀲爐獻瓏癢癥礦礪礬礫竇競籌籃籍糯糰辮繽繼����������������������������������纂罌耀臚艦藻藹蘑藺蘆蘋蘇蘊蠔蠕襤覺觸議譬警譯譟譫贏贍躉躁躅躂醴釋鐘鐃鏽闡霰飄饒饑馨騫騰騷騵鰓鰍鹹麵黨鼯齟齣齡儷儸囁囀囂夔屬巍懼懾攝攜斕曩櫻欄櫺殲灌爛犧瓖瓔癩矓籐纏續羼蘗蘭蘚蠣蠢蠡蠟襪襬覽譴�\".split(\"\");\nfor(j = 0; j != D[196].length; ++j) if(D[196][j].charCodeAt(0) !== 0xFFFD) { e[D[196][j]] = 50176 + j; d[50176 + j] = D[196][j];}\nD[197] = \"����������������������������������������������������������������護譽贓躊躍躋轟辯醺鐮鐳鐵鐺鐸鐲鐫闢霸霹露響顧顥饗驅驃驀騾髏魔魑鰭鰥鶯鶴鷂鶸麝黯鼙齜齦齧儼儻囈囊囉孿巔巒彎懿攤權歡灑灘玀瓤疊癮癬����������������������������������禳籠籟聾聽臟襲襯觼讀贖贗躑躓轡酈鑄鑑鑒霽霾韃韁顫饕驕驍髒鬚鱉鰱鰾鰻鷓鷗鼴齬齪龔囌巖戀攣攫攪曬欐瓚竊籤籣籥纓纖纔臢蘸蘿蠱變邐邏鑣鑠鑤靨顯饜驚驛驗髓體髑鱔鱗鱖鷥麟黴囑壩攬灞癱癲矗罐羈蠶蠹衢讓讒�\".split(\"\");\nfor(j = 0; j != D[197].length; ++j) if(D[197][j].charCodeAt(0) !== 0xFFFD) { e[D[197][j]] = 50432 + j; d[50432 + j] = D[197][j];}\nD[198] = \"����������������������������������������������������������������讖艷贛釀鑪靂靈靄韆顰驟鬢魘鱟鷹鷺鹼鹽鼇齷齲廳欖灣籬籮蠻觀躡釁鑲鑰顱饞髖鬣黌灤矚讚鑷韉驢驥纜讜躪釅鑽鑾鑼鱷鱸黷豔鑿鸚爨驪鬱鸛鸞籲���������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[198].length; ++j) if(D[198][j].charCodeAt(0) !== 0xFFFD) { e[D[198][j]] = 50688 + j; d[50688 + j] = D[198][j];}\nD[201] = \"����������������������������������������������������������������乂乜凵匚厂万丌乇亍囗兀屮彳丏冇与丮亓仂仉仈冘勼卬厹圠夃夬尐巿旡殳毌气爿丱丼仨仜仩仡仝仚刌匜卌圢圣夗夯宁宄尒尻屴屳帄庀庂忉戉扐氕����������������������������������氶汃氿氻犮犰玊禸肊阞伎优伬仵伔仱伀价伈伝伂伅伢伓伄仴伒冱刓刉刐劦匢匟卍厊吇囡囟圮圪圴夼妀奼妅奻奾奷奿孖尕尥屼屺屻屾巟幵庄异弚彴忕忔忏扜扞扤扡扦扢扙扠扚扥旯旮朾朹朸朻机朿朼朳氘汆汒汜汏汊汔汋�\".split(\"\");\nfor(j = 0; j != D[201].length; ++j) if(D[201][j].charCodeAt(0) !== 0xFFFD) { e[D[201][j]] = 51456 + j; d[51456 + j] = D[201][j];}\nD[202] = \"����������������������������������������������������������������汌灱牞犴犵玎甪癿穵网艸艼芀艽艿虍襾邙邗邘邛邔阢阤阠阣佖伻佢佉体佤伾佧佒佟佁佘伭伳伿佡冏冹刜刞刡劭劮匉卣卲厎厏吰吷吪呔呅吙吜吥吘����������������������������������吽呏呁吨吤呇囮囧囥坁坅坌坉坋坒夆奀妦妘妠妗妎妢妐妏妧妡宎宒尨尪岍岏岈岋岉岒岊岆岓岕巠帊帎庋庉庌庈庍弅弝彸彶忒忑忐忭忨忮忳忡忤忣忺忯忷忻怀忴戺抃抌抎抏抔抇扱扻扺扰抁抈扷扽扲扴攷旰旴旳旲旵杅杇�\".split(\"\");\nfor(j = 0; j != D[202].length; ++j) if(D[202][j].charCodeAt(0) !== 0xFFFD) { e[D[202][j]] = 51712 + j; d[51712 + j] = D[202][j];}\nD[203] = \"����������������������������������������������������������������杙杕杌杈杝杍杚杋毐氙氚汸汧汫沄沋沏汱汯汩沚汭沇沕沜汦汳汥汻沎灴灺牣犿犽狃狆狁犺狅玕玗玓玔玒町甹疔疕皁礽耴肕肙肐肒肜芐芏芅芎芑芓����������������������������������芊芃芄豸迉辿邟邡邥邞邧邠阰阨阯阭丳侘佼侅佽侀侇佶佴侉侄佷佌侗佪侚佹侁佸侐侜侔侞侒侂侕佫佮冞冼冾刵刲刳剆刱劼匊匋匼厒厔咇呿咁咑咂咈呫呺呾呥呬呴呦咍呯呡呠咘呣呧呤囷囹坯坲坭坫坱坰坶垀坵坻坳坴坢�\".split(\"\");\nfor(j = 0; j != D[203].length; ++j) if(D[203][j].charCodeAt(0) !== 0xFFFD) { e[D[203][j]] = 51968 + j; d[51968 + j] = D[203][j];}\nD[204] = \"����������������������������������������������������������������坨坽夌奅妵妺姏姎妲姌姁妶妼姃姖妱妽姀姈妴姇孢孥宓宕屄屇岮岤岠岵岯岨岬岟岣岭岢岪岧岝岥岶岰岦帗帔帙弨弢弣弤彔徂彾彽忞忥怭怦怙怲怋����������������������������������怴怊怗怳怚怞怬怢怍怐怮怓怑怌怉怜戔戽抭抴拑抾抪抶拊抮抳抯抻抩抰抸攽斨斻昉旼昄昒昈旻昃昋昍昅旽昑昐曶朊枅杬枎枒杶杻枘枆构杴枍枌杺枟枑枙枃杽极杸杹枔欥殀歾毞氝沓泬泫泮泙沶泔沭泧沷泐泂沺泃泆泭泲�\".split(\"\");\nfor(j = 0; j != D[204].length; ++j) if(D[204][j].charCodeAt(0) !== 0xFFFD) { e[D[204][j]] = 52224 + j; d[52224 + j] = D[204][j];}\nD[205] = \"����������������������������������������������������������������泒泝沴沊沝沀泞泀洰泍泇沰泹泏泩泑炔炘炅炓炆炄炑炖炂炚炃牪狖狋狘狉狜狒狔狚狌狑玤玡玭玦玢玠玬玝瓝瓨甿畀甾疌疘皯盳盱盰盵矸矼矹矻矺����������������������������������矷祂礿秅穸穻竻籵糽耵肏肮肣肸肵肭舠芠苀芫芚芘芛芵芧芮芼芞芺芴芨芡芩苂芤苃芶芢虰虯虭虮豖迒迋迓迍迖迕迗邲邴邯邳邰阹阽阼阺陃俍俅俓侲俉俋俁俔俜俙侻侳俛俇俖侺俀侹俬剄剉勀勂匽卼厗厖厙厘咺咡咭咥哏�\".split(\"\");\nfor(j = 0; j != D[205].length; ++j) if(D[205][j].charCodeAt(0) !== 0xFFFD) { e[D[205][j]] = 52480 + j; d[52480 + j] = D[205][j];}\nD[206] = \"����������������������������������������������������������������哃茍咷咮哖咶哅哆咠呰咼咢咾呲哞咰垵垞垟垤垌垗垝垛垔垘垏垙垥垚垕壴复奓姡姞姮娀姱姝姺姽姼姶姤姲姷姛姩姳姵姠姾姴姭宨屌峐峘峌峗峋峛����������������������������������峞峚峉峇峊峖峓峔峏峈峆峎峟峸巹帡帢帣帠帤庰庤庢庛庣庥弇弮彖徆怷怹恔恲恞恅恓恇恉恛恌恀恂恟怤恄恘恦恮扂扃拏挍挋拵挎挃拫拹挏挌拸拶挀挓挔拺挕拻拰敁敃斪斿昶昡昲昵昜昦昢昳昫昺昝昴昹昮朏朐柁柲柈枺�\".split(\"\");\nfor(j = 0; j != D[206].length; ++j) if(D[206][j].charCodeAt(0) !== 0xFFFD) { e[D[206][j]] = 52736 + j; d[52736 + j] = D[206][j];}\nD[207] = \"����������������������������������������������������������������柜枻柸柘柀枷柅柫柤柟枵柍枳柷柶柮柣柂枹柎柧柰枲柼柆柭柌枮柦柛柺柉柊柃柪柋欨殂殄殶毖毘毠氠氡洨洴洭洟洼洿洒洊泚洳洄洙洺洚洑洀洝浂����������������������������������洁洘洷洃洏浀洇洠洬洈洢洉洐炷炟炾炱炰炡炴炵炩牁牉牊牬牰牳牮狊狤狨狫狟狪狦狣玅珌珂珈珅玹玶玵玴珫玿珇玾珃珆玸珋瓬瓮甮畇畈疧疪癹盄眈眃眄眅眊盷盻盺矧矨砆砑砒砅砐砏砎砉砃砓祊祌祋祅祄秕种秏秖秎窀�\".split(\"\");\nfor(j = 0; j != D[207].length; ++j) if(D[207][j].charCodeAt(0) !== 0xFFFD) { e[D[207][j]] = 52992 + j; d[52992 + j] = D[207][j];}\nD[208] = \"����������������������������������������������������������������穾竑笀笁籺籸籹籿粀粁紃紈紁罘羑羍羾耇耎耏耔耷胘胇胠胑胈胂胐胅胣胙胜胊胕胉胏胗胦胍臿舡芔苙苾苹茇苨茀苕茺苫苖苴苬苡苲苵茌苻苶苰苪����������������������������������苤苠苺苳苭虷虴虼虳衁衎衧衪衩觓訄訇赲迣迡迮迠郱邽邿郕郅邾郇郋郈釔釓陔陏陑陓陊陎倞倅倇倓倢倰倛俵俴倳倷倬俶俷倗倜倠倧倵倯倱倎党冔冓凊凄凅凈凎剡剚剒剞剟剕剢勍匎厞唦哢唗唒哧哳哤唚哿唄唈哫唑唅哱�\".split(\"\");\nfor(j = 0; j != D[208].length; ++j) if(D[208][j].charCodeAt(0) !== 0xFFFD) { e[D[208][j]] = 53248 + j; d[53248 + j] = D[208][j];}\nD[209] = \"����������������������������������������������������������������唊哻哷哸哠唎唃唋圁圂埌堲埕埒垺埆垽垼垸垶垿埇埐垹埁夎奊娙娖娭娮娕娏娗娊娞娳孬宧宭宬尃屖屔峬峿峮峱峷崀峹帩帨庨庮庪庬弳弰彧恝恚恧����������������������������������恁悢悈悀悒悁悝悃悕悛悗悇悜悎戙扆拲挐捖挬捄捅挶捃揤挹捋捊挼挩捁挴捘捔捙挭捇挳捚捑挸捗捀捈敊敆旆旃旄旂晊晟晇晑朒朓栟栚桉栲栳栻桋桏栖栱栜栵栫栭栯桎桄栴栝栒栔栦栨栮桍栺栥栠欬欯欭欱欴歭肂殈毦毤�\".split(\"\");\nfor(j = 0; j != D[209].length; ++j) if(D[209][j].charCodeAt(0) !== 0xFFFD) { e[D[209][j]] = 53504 + j; d[53504 + j] = D[209][j];}\nD[210] = \"����������������������������������������������������������������毨毣毢毧氥浺浣浤浶洍浡涒浘浢浭浯涑涍淯浿涆浞浧浠涗浰浼浟涂涘洯浨涋浾涀涄洖涃浻浽浵涐烜烓烑烝烋缹烢烗烒烞烠烔烍烅烆烇烚烎烡牂牸����������������������������������牷牶猀狺狴狾狶狳狻猁珓珙珥珖玼珧珣珩珜珒珛珔珝珚珗珘珨瓞瓟瓴瓵甡畛畟疰痁疻痄痀疿疶疺皊盉眝眛眐眓眒眣眑眕眙眚眢眧砣砬砢砵砯砨砮砫砡砩砳砪砱祔祛祏祜祓祒祑秫秬秠秮秭秪秜秞秝窆窉窅窋窌窊窇竘笐�\".split(\"\");\nfor(j = 0; j != D[210].length; ++j) if(D[210][j].charCodeAt(0) !== 0xFFFD) { e[D[210][j]] = 53760 + j; d[53760 + j] = D[210][j];}\nD[211] = \"����������������������������������������������������������������笄笓笅笏笈笊笎笉笒粄粑粊粌粈粍粅紞紝紑紎紘紖紓紟紒紏紌罜罡罞罠罝罛羖羒翃翂翀耖耾耹胺胲胹胵脁胻脀舁舯舥茳茭荄茙荑茥荖茿荁茦茜茢����������������������������������荂荎茛茪茈茼荍茖茤茠茷茯茩荇荅荌荓茞茬荋茧荈虓虒蚢蚨蚖蚍蚑蚞蚇蚗蚆蚋蚚蚅蚥蚙蚡蚧蚕蚘蚎蚝蚐蚔衃衄衭衵衶衲袀衱衿衯袃衾衴衼訒豇豗豻貤貣赶赸趵趷趶軑軓迾迵适迿迻逄迼迶郖郠郙郚郣郟郥郘郛郗郜郤酐�\".split(\"\");\nfor(j = 0; j != D[211].length; ++j) if(D[211][j].charCodeAt(0) !== 0xFFFD) { e[D[211][j]] = 54016 + j; d[54016 + j] = D[211][j];}\nD[212] = \"����������������������������������������������������������������酎酏釕釢釚陜陟隼飣髟鬯乿偰偪偡偞偠偓偋偝偲偈偍偁偛偊偢倕偅偟偩偫偣偤偆偀偮偳偗偑凐剫剭剬剮勖勓匭厜啵啶唼啍啐唴唪啑啢唶唵唰啒啅����������������������������������唌唲啥啎唹啈唭唻啀啋圊圇埻堔埢埶埜埴堀埭埽堈埸堋埳埏堇埮埣埲埥埬埡堎埼堐埧堁堌埱埩埰堍堄奜婠婘婕婧婞娸娵婭婐婟婥婬婓婤婗婃婝婒婄婛婈媎娾婍娹婌婰婩婇婑婖婂婜孲孮寁寀屙崞崋崝崚崠崌崨崍崦崥崏�\".split(\"\");\nfor(j = 0; j != D[212].length; ++j) if(D[212][j].charCodeAt(0) !== 0xFFFD) { e[D[212][j]] = 54272 + j; d[54272 + j] = D[212][j];}\nD[213] = \"����������������������������������������������������������������崰崒崣崟崮帾帴庱庴庹庲庳弶弸徛徖徟悊悐悆悾悰悺惓惔惏惤惙惝惈悱惛悷惊悿惃惍惀挲捥掊掂捽掽掞掭掝掗掫掎捯掇掐据掯捵掜捭掮捼掤挻掟����������������������������������捸掅掁掑掍捰敓旍晥晡晛晙晜晢朘桹梇梐梜桭桮梮梫楖桯梣梬梩桵桴梲梏桷梒桼桫桲梪梀桱桾梛梖梋梠梉梤桸桻梑梌梊桽欶欳欷欸殑殏殍殎殌氪淀涫涴涳湴涬淩淢涷淶淔渀淈淠淟淖涾淥淜淝淛淴淊涽淭淰涺淕淂淏淉�\".split(\"\");\nfor(j = 0; j != D[213].length; ++j) if(D[213][j].charCodeAt(0) !== 0xFFFD) { e[D[213][j]] = 54528 + j; d[54528 + j] = D[213][j];}\nD[214] = \"����������������������������������������������������������������淐淲淓淽淗淍淣涻烺焍烷焗烴焌烰焄烳焐烼烿焆焓焀烸烶焋焂焎牾牻牼牿猝猗猇猑猘猊猈狿猏猞玈珶珸珵琄琁珽琇琀珺珼珿琌琋珴琈畤畣痎痒痏����������������������������������痋痌痑痐皏皉盓眹眯眭眱眲眴眳眽眥眻眵硈硒硉硍硊硌砦硅硐祤祧祩祪祣祫祡离秺秸秶秷窏窔窐笵筇笴笥笰笢笤笳笘笪笝笱笫笭笯笲笸笚笣粔粘粖粣紵紽紸紶紺絅紬紩絁絇紾紿絊紻紨罣羕羜羝羛翊翋翍翐翑翇翏翉耟�\".split(\"\");\nfor(j = 0; j != D[214].length; ++j) if(D[214][j].charCodeAt(0) !== 0xFFFD) { e[D[214][j]] = 54784 + j; d[54784 + j] = D[214][j];}\nD[215] = \"����������������������������������������������������������������耞耛聇聃聈脘脥脙脛脭脟脬脞脡脕脧脝脢舑舸舳舺舴舲艴莐莣莨莍荺荳莤荴莏莁莕莙荵莔莩荽莃莌莝莛莪莋荾莥莯莈莗莰荿莦莇莮荶莚虙虖蚿蚷����������������������������������蛂蛁蛅蚺蚰蛈蚹蚳蚸蛌蚴蚻蚼蛃蚽蚾衒袉袕袨袢袪袚袑袡袟袘袧袙袛袗袤袬袌袓袎覂觖觙觕訰訧訬訞谹谻豜豝豽貥赽赻赹趼跂趹趿跁軘軞軝軜軗軠軡逤逋逑逜逌逡郯郪郰郴郲郳郔郫郬郩酖酘酚酓酕釬釴釱釳釸釤釹釪�\".split(\"\");\nfor(j = 0; j != D[215].length; ++j) if(D[215][j].charCodeAt(0) !== 0xFFFD) { e[D[215][j]] = 55040 + j; d[55040 + j] = D[215][j];}\nD[216] = \"����������������������������������������������������������������釫釷釨釮镺閆閈陼陭陫陱陯隿靪頄飥馗傛傕傔傞傋傣傃傌傎傝偨傜傒傂傇兟凔匒匑厤厧喑喨喥喭啷噅喢喓喈喏喵喁喣喒喤啽喌喦啿喕喡喎圌堩堷����������������������������������堙堞堧堣堨埵塈堥堜堛堳堿堶堮堹堸堭堬堻奡媯媔媟婺媢媞婸媦婼媥媬媕媮娷媄媊媗媃媋媩婻婽媌媜媏媓媝寪寍寋寔寑寊寎尌尰崷嵃嵫嵁嵋崿崵嵑嵎嵕崳崺嵒崽崱嵙嵂崹嵉崸崼崲崶嵀嵅幄幁彘徦徥徫惉悹惌惢惎惄愔�\".split(\"\");\nfor(j = 0; j != D[216].length; ++j) if(D[216][j].charCodeAt(0) !== 0xFFFD) { e[D[216][j]] = 55296 + j; d[55296 + j] = D[216][j];}\nD[217] = \"����������������������������������������������������������������惲愊愖愅惵愓惸惼惾惁愃愘愝愐惿愄愋扊掔掱掰揎揥揨揯揃撝揳揊揠揶揕揲揵摡揟掾揝揜揄揘揓揂揇揌揋揈揰揗揙攲敧敪敤敜敨敥斌斝斞斮旐旒����������������������������������晼晬晻暀晱晹晪晲朁椌棓椄棜椪棬棪棱椏棖棷棫棤棶椓椐棳棡椇棌椈楰梴椑棯棆椔棸棐棽棼棨椋椊椗棎棈棝棞棦棴棑椆棔棩椕椥棇欹欻欿欼殔殗殙殕殽毰毲毳氰淼湆湇渟湉溈渼渽湅湢渫渿湁湝湳渜渳湋湀湑渻渃渮湞�\".split(\"\");\nfor(j = 0; j != D[217].length; ++j) if(D[217][j].charCodeAt(0) !== 0xFFFD) { e[D[217][j]] = 55552 + j; d[55552 + j] = D[217][j];}\nD[218] = \"����������������������������������������������������������������湨湜湡渱渨湠湱湫渹渢渰湓湥渧湸湤湷湕湹湒湦渵渶湚焠焞焯烻焮焱焣焥焢焲焟焨焺焛牋牚犈犉犆犅犋猒猋猰猢猱猳猧猲猭猦猣猵猌琮琬琰琫琖����������������������������������琚琡琭琱琤琣琝琩琠琲瓻甯畯畬痧痚痡痦痝痟痤痗皕皒盚睆睇睄睍睅睊睎睋睌矞矬硠硤硥硜硭硱硪确硰硩硨硞硢祴祳祲祰稂稊稃稌稄窙竦竤筊笻筄筈筌筎筀筘筅粢粞粨粡絘絯絣絓絖絧絪絏絭絜絫絒絔絩絑絟絎缾缿罥�\".split(\"\");\nfor(j = 0; j != D[218].length; ++j) if(D[218][j].charCodeAt(0) !== 0xFFFD) { e[D[218][j]] = 55808 + j; d[55808 + j] = D[218][j];}\nD[219] = \"����������������������������������������������������������������罦羢羠羡翗聑聏聐胾胔腃腊腒腏腇脽腍脺臦臮臷臸臹舄舼舽舿艵茻菏菹萣菀菨萒菧菤菼菶萐菆菈菫菣莿萁菝菥菘菿菡菋菎菖菵菉萉萏菞萑萆菂菳����������������������������������菕菺菇菑菪萓菃菬菮菄菻菗菢萛菛菾蛘蛢蛦蛓蛣蛚蛪蛝蛫蛜蛬蛩蛗蛨蛑衈衖衕袺裗袹袸裀袾袶袼袷袽袲褁裉覕覘覗觝觚觛詎詍訹詙詀詗詘詄詅詒詈詑詊詌詏豟貁貀貺貾貰貹貵趄趀趉跘跓跍跇跖跜跏跕跙跈跗跅軯軷軺�\".split(\"\");\nfor(j = 0; j != D[219].length; ++j) if(D[219][j].charCodeAt(0) !== 0xFFFD) { e[D[219][j]] = 56064 + j; d[56064 + j] = D[219][j];}\nD[220] = \"����������������������������������������������������������������軹軦軮軥軵軧軨軶軫軱軬軴軩逭逴逯鄆鄬鄄郿郼鄈郹郻鄁鄀鄇鄅鄃酡酤酟酢酠鈁鈊鈥鈃鈚鈦鈏鈌鈀鈒釿釽鈆鈄鈧鈂鈜鈤鈙鈗鈅鈖镻閍閌閐隇陾隈����������������������������������隉隃隀雂雈雃雱雰靬靰靮頇颩飫鳦黹亃亄亶傽傿僆傮僄僊傴僈僂傰僁傺傱僋僉傶傸凗剺剸剻剼嗃嗛嗌嗐嗋嗊嗝嗀嗔嗄嗩喿嗒喍嗏嗕嗢嗖嗈嗲嗍嗙嗂圔塓塨塤塏塍塉塯塕塎塝塙塥塛堽塣塱壼嫇嫄嫋媺媸媱媵媰媿嫈媻嫆�\".split(\"\");\nfor(j = 0; j != D[220].length; ++j) if(D[220][j].charCodeAt(0) !== 0xFFFD) { e[D[220][j]] = 56320 + j; d[56320 + j] = D[220][j];}\nD[221] = \"����������������������������������������������������������������媷嫀嫊媴媶嫍媹媐寖寘寙尟尳嵱嵣嵊嵥嵲嵬嵞嵨嵧嵢巰幏幎幊幍幋廅廌廆廋廇彀徯徭惷慉慊愫慅愶愲愮慆愯慏愩慀戠酨戣戥戤揅揱揫搐搒搉搠搤����������������������������������搳摃搟搕搘搹搷搢搣搌搦搰搨摁搵搯搊搚摀搥搧搋揧搛搮搡搎敯斒旓暆暌暕暐暋暊暙暔晸朠楦楟椸楎楢楱椿楅楪椹楂楗楙楺楈楉椵楬椳椽楥棰楸椴楩楀楯楄楶楘楁楴楌椻楋椷楜楏楑椲楒椯楻椼歆歅歃歂歈歁殛嗀毻毼�\".split(\"\");\nfor(j = 0; j != D[221].length; ++j) if(D[221][j].charCodeAt(0) !== 0xFFFD) { e[D[221][j]] = 56576 + j; d[56576 + j] = D[221][j];}\nD[222] = \"����������������������������������������������������������������毹毷毸溛滖滈溏滀溟溓溔溠溱溹滆滒溽滁溞滉溷溰滍溦滏溲溾滃滜滘溙溒溎溍溤溡溿溳滐滊溗溮溣煇煔煒煣煠煁煝煢煲煸煪煡煂煘煃煋煰煟煐煓����������������������������������煄煍煚牏犍犌犑犐犎猼獂猻猺獀獊獉瑄瑊瑋瑒瑑瑗瑀瑏瑐瑎瑂瑆瑍瑔瓡瓿瓾瓽甝畹畷榃痯瘏瘃痷痾痼痹痸瘐痻痶痭痵痽皙皵盝睕睟睠睒睖睚睩睧睔睙睭矠碇碚碔碏碄碕碅碆碡碃硹碙碀碖硻祼禂祽祹稑稘稙稒稗稕稢稓�\".split(\"\");\nfor(j = 0; j != D[222].length; ++j) if(D[222][j].charCodeAt(0) !== 0xFFFD) { e[D[222][j]] = 56832 + j; d[56832 + j] = D[222][j];}\nD[223] = \"����������������������������������������������������������������稛稐窣窢窞竫筦筤筭筴筩筲筥筳筱筰筡筸筶筣粲粴粯綈綆綀綍絿綅絺綎絻綃絼綌綔綄絽綒罭罫罧罨罬羦羥羧翛翜耡腤腠腷腜腩腛腢腲朡腞腶腧腯����������������������������������腄腡舝艉艄艀艂艅蓱萿葖葶葹蒏蒍葥葑葀蒆葧萰葍葽葚葙葴葳葝蔇葞萷萺萴葺葃葸萲葅萩菙葋萯葂萭葟葰萹葎葌葒葯蓅蒎萻葇萶萳葨葾葄萫葠葔葮葐蜋蜄蛷蜌蛺蛖蛵蝍蛸蜎蜉蜁蛶蜍蜅裖裋裍裎裞裛裚裌裐覅覛觟觥觤�\".split(\"\");\nfor(j = 0; j != D[223].length; ++j) if(D[223][j].charCodeAt(0) !== 0xFFFD) { e[D[223][j]] = 57088 + j; d[57088 + j] = D[223][j];}\nD[224] = \"����������������������������������������������������������������觡觠觢觜触詶誆詿詡訿詷誂誄詵誃誁詴詺谼豋豊豥豤豦貆貄貅賌赨赩趑趌趎趏趍趓趔趐趒跰跠跬跱跮跐跩跣跢跧跲跫跴輆軿輁輀輅輇輈輂輋遒逿����������������������������������遄遉逽鄐鄍鄏鄑鄖鄔鄋鄎酮酯鉈鉒鈰鈺鉦鈳鉥鉞銃鈮鉊鉆鉭鉬鉏鉠鉧鉯鈶鉡鉰鈱鉔鉣鉐鉲鉎鉓鉌鉖鈲閟閜閞閛隒隓隑隗雎雺雽雸雵靳靷靸靲頏頍頎颬飶飹馯馲馰馵骭骫魛鳪鳭鳧麀黽僦僔僗僨僳僛僪僝僤僓僬僰僯僣僠�\".split(\"\");\nfor(j = 0; j != D[224].length; ++j) if(D[224][j].charCodeAt(0) !== 0xFFFD) { e[D[224][j]] = 57344 + j; d[57344 + j] = D[224][j];}\nD[225] = \"����������������������������������������������������������������凘劀劁勩勫匰厬嘧嘕嘌嘒嗼嘏嘜嘁嘓嘂嗺嘝嘄嗿嗹墉塼墐墘墆墁塿塴墋塺墇墑墎塶墂墈塻墔墏壾奫嫜嫮嫥嫕嫪嫚嫭嫫嫳嫢嫠嫛嫬嫞嫝嫙嫨嫟孷寠����������������������������������寣屣嶂嶀嵽嶆嵺嶁嵷嶊嶉嶈嵾嵼嶍嵹嵿幘幙幓廘廑廗廎廜廕廙廒廔彄彃彯徶愬愨慁慞慱慳慒慓慲慬憀慴慔慺慛慥愻慪慡慖戩戧戫搫摍摛摝摴摶摲摳摽摵摦撦摎撂摞摜摋摓摠摐摿搿摬摫摙摥摷敳斠暡暠暟朅朄朢榱榶槉�\".split(\"\");\nfor(j = 0; j != D[225].length; ++j) if(D[225][j].charCodeAt(0) !== 0xFFFD) { e[D[225][j]] = 57600 + j; d[57600 + j] = D[225][j];}\nD[226] = \"����������������������������������������������������������������榠槎榖榰榬榼榑榙榎榧榍榩榾榯榿槄榽榤槔榹槊榚槏榳榓榪榡榞槙榗榐槂榵榥槆歊歍歋殞殟殠毃毄毾滎滵滱漃漥滸漷滻漮漉潎漙漚漧漘漻漒滭漊����������������������������������漶潳滹滮漭潀漰漼漵滫漇漎潃漅滽滶漹漜滼漺漟漍漞漈漡熇熐熉熀熅熂熏煻熆熁熗牄牓犗犕犓獃獍獑獌瑢瑳瑱瑵瑲瑧瑮甀甂甃畽疐瘖瘈瘌瘕瘑瘊瘔皸瞁睼瞅瞂睮瞀睯睾瞃碲碪碴碭碨硾碫碞碥碠碬碢碤禘禊禋禖禕禔禓�\".split(\"\");\nfor(j = 0; j != D[226].length; ++j) if(D[226][j].charCodeAt(0) !== 0xFFFD) { e[D[226][j]] = 57856 + j; d[57856 + j] = D[226][j];}\nD[227] = \"����������������������������������������������������������������禗禈禒禐稫穊稰稯稨稦窨窫窬竮箈箜箊箑箐箖箍箌箛箎箅箘劄箙箤箂粻粿粼粺綧綷緂綣綪緁緀緅綝緎緄緆緋緌綯綹綖綼綟綦綮綩綡緉罳翢翣翥翞����������������������������������耤聝聜膉膆膃膇膍膌膋舕蒗蒤蒡蒟蒺蓎蓂蒬蒮蒫蒹蒴蓁蓍蒪蒚蒱蓐蒝蒧蒻蒢蒔蓇蓌蒛蒩蒯蒨蓖蒘蒶蓏蒠蓗蓔蓒蓛蒰蒑虡蜳蜣蜨蝫蝀蜮蜞蜡蜙蜛蝃蜬蝁蜾蝆蜠蜲蜪蜭蜼蜒蜺蜱蜵蝂蜦蜧蜸蜤蜚蜰蜑裷裧裱裲裺裾裮裼裶裻�\".split(\"\");\nfor(j = 0; j != D[227].length; ++j) if(D[227][j].charCodeAt(0) !== 0xFFFD) { e[D[227][j]] = 58112 + j; d[58112 + j] = D[227][j];}\nD[228] = \"����������������������������������������������������������������裰裬裫覝覡覟覞觩觫觨誫誙誋誒誏誖谽豨豩賕賏賗趖踉踂跿踍跽踊踃踇踆踅跾踀踄輐輑輎輍鄣鄜鄠鄢鄟鄝鄚鄤鄡鄛酺酲酹酳銥銤鉶銛鉺銠銔銪銍����������������������������������銦銚銫鉹銗鉿銣鋮銎銂銕銢鉽銈銡銊銆銌銙銧鉾銇銩銝銋鈭隞隡雿靘靽靺靾鞃鞀鞂靻鞄鞁靿韎韍頖颭颮餂餀餇馝馜駃馹馻馺駂馽駇骱髣髧鬾鬿魠魡魟鳱鳲鳵麧僿儃儰僸儆儇僶僾儋儌僽儊劋劌勱勯噈噂噌嘵噁噊噉噆噘�\".split(\"\");\nfor(j = 0; j != D[228].length; ++j) if(D[228][j].charCodeAt(0) !== 0xFFFD) { e[D[228][j]] = 58368 + j; d[58368 + j] = D[228][j];}\nD[229] = \"����������������������������������������������������������������噚噀嘳嘽嘬嘾嘸嘪嘺圚墫墝墱墠墣墯墬墥墡壿嫿嫴嫽嫷嫶嬃嫸嬂嫹嬁嬇嬅嬏屧嶙嶗嶟嶒嶢嶓嶕嶠嶜嶡嶚嶞幩幝幠幜緳廛廞廡彉徲憋憃慹憱憰憢憉����������������������������������憛憓憯憭憟憒憪憡憍慦憳戭摮摰撖撠撅撗撜撏撋撊撌撣撟摨撱撘敶敺敹敻斲斳暵暰暩暲暷暪暯樀樆樗槥槸樕槱槤樠槿槬槢樛樝槾樧槲槮樔槷槧橀樈槦槻樍槼槫樉樄樘樥樏槶樦樇槴樖歑殥殣殢殦氁氀毿氂潁漦潾澇濆澒�\".split(\"\");\nfor(j = 0; j != D[229].length; ++j) if(D[229][j].charCodeAt(0) !== 0xFFFD) { e[D[229][j]] = 58624 + j; d[58624 + j] = D[229][j];}\nD[230] = \"����������������������������������������������������������������澍澉澌潢潏澅潚澖潶潬澂潕潲潒潐潗澔澓潝漀潡潫潽潧澐潓澋潩潿澕潣潷潪潻熲熯熛熰熠熚熩熵熝熥熞熤熡熪熜熧熳犘犚獘獒獞獟獠獝獛獡獚獙����������������������������������獢璇璉璊璆璁瑽璅璈瑼瑹甈甇畾瘥瘞瘙瘝瘜瘣瘚瘨瘛皜皝皞皛瞍瞏瞉瞈磍碻磏磌磑磎磔磈磃磄磉禚禡禠禜禢禛歶稹窲窴窳箷篋箾箬篎箯箹篊箵糅糈糌糋緷緛緪緧緗緡縃緺緦緶緱緰緮緟罶羬羰羭翭翫翪翬翦翨聤聧膣膟�\".split(\"\");\nfor(j = 0; j != D[230].length; ++j) if(D[230][j].charCodeAt(0) !== 0xFFFD) { e[D[230][j]] = 58880 + j; d[58880 + j] = D[230][j];}\nD[231] = \"����������������������������������������������������������������膞膕膢膙膗舖艏艓艒艐艎艑蔤蔻蔏蔀蔩蔎蔉蔍蔟蔊蔧蔜蓻蔫蓺蔈蔌蓴蔪蓲蔕蓷蓫蓳蓼蔒蓪蓩蔖蓾蔨蔝蔮蔂蓽蔞蓶蔱蔦蓧蓨蓰蓯蓹蔘蔠蔰蔋蔙蔯虢����������������������������������蝖蝣蝤蝷蟡蝳蝘蝔蝛蝒蝡蝚蝑蝞蝭蝪蝐蝎蝟蝝蝯蝬蝺蝮蝜蝥蝏蝻蝵蝢蝧蝩衚褅褌褔褋褗褘褙褆褖褑褎褉覢覤覣觭觰觬諏諆誸諓諑諔諕誻諗誾諀諅諘諃誺誽諙谾豍貏賥賟賙賨賚賝賧趠趜趡趛踠踣踥踤踮踕踛踖踑踙踦踧�\".split(\"\");\nfor(j = 0; j != D[231].length; ++j) if(D[231][j].charCodeAt(0) !== 0xFFFD) { e[D[231][j]] = 59136 + j; d[59136 + j] = D[231][j];}\nD[232] = \"����������������������������������������������������������������踔踒踘踓踜踗踚輬輤輘輚輠輣輖輗遳遰遯遧遫鄯鄫鄩鄪鄲鄦鄮醅醆醊醁醂醄醀鋐鋃鋄鋀鋙銶鋏鋱鋟鋘鋩鋗鋝鋌鋯鋂鋨鋊鋈鋎鋦鋍鋕鋉鋠鋞鋧鋑鋓����������������������������������銵鋡鋆銴镼閬閫閮閰隤隢雓霅霈霂靚鞊鞎鞈韐韏頞頝頦頩頨頠頛頧颲餈飺餑餔餖餗餕駜駍駏駓駔駎駉駖駘駋駗駌骳髬髫髳髲髱魆魃魧魴魱魦魶魵魰魨魤魬鳼鳺鳽鳿鳷鴇鴀鳹鳻鴈鴅鴄麃黓鼏鼐儜儓儗儚儑凞匴叡噰噠噮�\".split(\"\");\nfor(j = 0; j != D[232].length; ++j) if(D[232][j].charCodeAt(0) !== 0xFFFD) { e[D[232][j]] = 59392 + j; d[59392 + j] = D[232][j];}\nD[233] = \"����������������������������������������������������������������噳噦噣噭噲噞噷圜圛壈墽壉墿墺壂墼壆嬗嬙嬛嬡嬔嬓嬐嬖嬨嬚嬠嬞寯嶬嶱嶩嶧嶵嶰嶮嶪嶨嶲嶭嶯嶴幧幨幦幯廩廧廦廨廥彋徼憝憨憖懅憴懆懁懌憺����������������������������������憿憸憌擗擖擐擏擉撽撉擃擛擳擙攳敿敼斢曈暾曀曊曋曏暽暻暺曌朣樴橦橉橧樲橨樾橝橭橶橛橑樨橚樻樿橁橪橤橐橏橔橯橩橠樼橞橖橕橍橎橆歕歔歖殧殪殫毈毇氄氃氆澭濋澣濇澼濎濈潞濄澽澞濊澨瀄澥澮澺澬澪濏澿澸�\".split(\"\");\nfor(j = 0; j != D[233].length; ++j) if(D[233][j].charCodeAt(0) !== 0xFFFD) { e[D[233][j]] = 59648 + j; d[59648 + j] = D[233][j];}\nD[234] = \"����������������������������������������������������������������澢濉澫濍澯澲澰燅燂熿熸燖燀燁燋燔燊燇燏熽燘熼燆燚燛犝犞獩獦獧獬獥獫獪瑿璚璠璔璒璕璡甋疀瘯瘭瘱瘽瘳瘼瘵瘲瘰皻盦瞚瞝瞡瞜瞛瞢瞣瞕瞙����������������������������������瞗磝磩磥磪磞磣磛磡磢磭磟磠禤穄穈穇窶窸窵窱窷篞篣篧篝篕篥篚篨篹篔篪篢篜篫篘篟糒糔糗糐糑縒縡縗縌縟縠縓縎縜縕縚縢縋縏縖縍縔縥縤罃罻罼罺羱翯耪耩聬膱膦膮膹膵膫膰膬膴膲膷膧臲艕艖艗蕖蕅蕫蕍蕓蕡蕘�\".split(\"\");\nfor(j = 0; j != D[234].length; ++j) if(D[234][j].charCodeAt(0) !== 0xFFFD) { e[D[234][j]] = 59904 + j; d[59904 + j] = D[234][j];}\nD[235] = \"����������������������������������������������������������������蕀蕆蕤蕁蕢蕄蕑蕇蕣蔾蕛蕱蕎蕮蕵蕕蕧蕠薌蕦蕝蕔蕥蕬虣虥虤螛螏螗螓螒螈螁螖螘蝹螇螣螅螐螑螝螄螔螜螚螉褞褦褰褭褮褧褱褢褩褣褯褬褟觱諠����������������������������������諢諲諴諵諝謔諤諟諰諈諞諡諨諿諯諻貑貒貐賵賮賱賰賳赬赮趥趧踳踾踸蹀蹅踶踼踽蹁踰踿躽輶輮輵輲輹輷輴遶遹遻邆郺鄳鄵鄶醓醐醑醍醏錧錞錈錟錆錏鍺錸錼錛錣錒錁鍆錭錎錍鋋錝鋺錥錓鋹鋷錴錂錤鋿錩錹錵錪錔錌�\".split(\"\");\nfor(j = 0; j != D[235].length; ++j) if(D[235][j].charCodeAt(0) !== 0xFFFD) { e[D[235][j]] = 60160 + j; d[60160 + j] = D[235][j];}\nD[236] = \"����������������������������������������������������������������錋鋾錉錀鋻錖閼闍閾閹閺閶閿閵閽隩雔霋霒霐鞙鞗鞔韰韸頵頯頲餤餟餧餩馞駮駬駥駤駰駣駪駩駧骹骿骴骻髶髺髹髷鬳鮀鮅鮇魼魾魻鮂鮓鮒鮐魺鮕����������������������������������魽鮈鴥鴗鴠鴞鴔鴩鴝鴘鴢鴐鴙鴟麈麆麇麮麭黕黖黺鼒鼽儦儥儢儤儠儩勴嚓嚌嚍嚆嚄嚃噾嚂噿嚁壖壔壏壒嬭嬥嬲嬣嬬嬧嬦嬯嬮孻寱寲嶷幬幪徾徻懃憵憼懧懠懥懤懨懞擯擩擣擫擤擨斁斀斶旚曒檍檖檁檥檉檟檛檡檞檇檓檎�\".split(\"\");\nfor(j = 0; j != D[236].length; ++j) if(D[236][j].charCodeAt(0) !== 0xFFFD) { e[D[236][j]] = 60416 + j; d[60416 + j] = D[236][j];}\nD[237] = \"����������������������������������������������������������������檕檃檨檤檑橿檦檚檅檌檒歛殭氉濌澩濴濔濣濜濭濧濦濞濲濝濢濨燡燱燨燲燤燰燢獳獮獯璗璲璫璐璪璭璱璥璯甐甑甒甏疄癃癈癉癇皤盩瞵瞫瞲瞷瞶����������������������������������瞴瞱瞨矰磳磽礂磻磼磲礅磹磾礄禫禨穜穛穖穘穔穚窾竀竁簅簏篲簀篿篻簎篴簋篳簂簉簃簁篸篽簆篰篱簐簊糨縭縼繂縳顈縸縪繉繀繇縩繌縰縻縶繄縺罅罿罾罽翴翲耬膻臄臌臊臅臇膼臩艛艚艜薃薀薏薧薕薠薋薣蕻薤薚薞�\".split(\"\");\nfor(j = 0; j != D[237].length; ++j) if(D[237][j].charCodeAt(0) !== 0xFFFD) { e[D[237][j]] = 60672 + j; d[60672 + j] = D[237][j];}\nD[238] = \"����������������������������������������������������������������蕷蕼薉薡蕺蕸蕗薎薖薆薍薙薝薁薢薂薈薅蕹蕶薘薐薟虨螾螪螭蟅螰螬螹螵螼螮蟉蟃蟂蟌螷螯蟄蟊螴螶螿螸螽蟞螲褵褳褼褾襁襒褷襂覭覯覮觲觳謞����������������������������������謘謖謑謅謋謢謏謒謕謇謍謈謆謜謓謚豏豰豲豱豯貕貔賹赯蹎蹍蹓蹐蹌蹇轃轀邅遾鄸醚醢醛醙醟醡醝醠鎡鎃鎯鍤鍖鍇鍼鍘鍜鍶鍉鍐鍑鍠鍭鎏鍌鍪鍹鍗鍕鍒鍏鍱鍷鍻鍡鍞鍣鍧鎀鍎鍙闇闀闉闃闅閷隮隰隬霠霟霘霝霙鞚鞡鞜�\".split(\"\");\nfor(j = 0; j != D[238].length; ++j) if(D[238][j].charCodeAt(0) !== 0xFFFD) { e[D[238][j]] = 60928 + j; d[60928 + j] = D[238][j];}\nD[239] = \"����������������������������������������������������������������鞞鞝韕韔韱顁顄顊顉顅顃餥餫餬餪餳餲餯餭餱餰馘馣馡騂駺駴駷駹駸駶駻駽駾駼騃骾髾髽鬁髼魈鮚鮨鮞鮛鮦鮡鮥鮤鮆鮢鮠鮯鴳鵁鵧鴶鴮鴯鴱鴸鴰����������������������������������鵅鵂鵃鴾鴷鵀鴽翵鴭麊麉麍麰黈黚黻黿鼤鼣鼢齔龠儱儭儮嚘嚜嚗嚚嚝嚙奰嬼屩屪巀幭幮懘懟懭懮懱懪懰懫懖懩擿攄擽擸攁攃擼斔旛曚曛曘櫅檹檽櫡櫆檺檶檷櫇檴檭歞毉氋瀇瀌瀍瀁瀅瀔瀎濿瀀濻瀦濼濷瀊爁燿燹爃燽獶�\".split(\"\");\nfor(j = 0; j != D[239].length; ++j) if(D[239][j].charCodeAt(0) !== 0xFFFD) { e[D[239][j]] = 61184 + j; d[61184 + j] = D[239][j];}\nD[240] = \"����������������������������������������������������������������璸瓀璵瓁璾璶璻瓂甔甓癜癤癙癐癓癗癚皦皽盬矂瞺磿礌礓礔礉礐礒礑禭禬穟簜簩簙簠簟簭簝簦簨簢簥簰繜繐繖繣繘繢繟繑繠繗繓羵羳翷翸聵臑臒����������������������������������臐艟艞薴藆藀藃藂薳薵薽藇藄薿藋藎藈藅薱薶藒蘤薸薷薾虩蟧蟦蟢蟛蟫蟪蟥蟟蟳蟤蟔蟜蟓蟭蟘蟣螤蟗蟙蠁蟴蟨蟝襓襋襏襌襆襐襑襉謪謧謣謳謰謵譇謯謼謾謱謥謷謦謶謮謤謻謽謺豂豵貙貘貗賾贄贂贀蹜蹢蹠蹗蹖蹞蹥蹧�\".split(\"\");\nfor(j = 0; j != D[240].length; ++j) if(D[240][j].charCodeAt(0) !== 0xFFFD) { e[D[240][j]] = 61440 + j; d[61440 + j] = D[240][j];}\nD[241] = \"����������������������������������������������������������������蹛蹚蹡蹝蹩蹔轆轇轈轋鄨鄺鄻鄾醨醥醧醯醪鎵鎌鎒鎷鎛鎝鎉鎧鎎鎪鎞鎦鎕鎈鎙鎟鎍鎱鎑鎲鎤鎨鎴鎣鎥闒闓闑隳雗雚巂雟雘雝霣霢霥鞬鞮鞨鞫鞤鞪����������������������������������鞢鞥韗韙韖韘韺顐顑顒颸饁餼餺騏騋騉騍騄騑騊騅騇騆髀髜鬈鬄鬅鬩鬵魊魌魋鯇鯆鯃鮿鯁鮵鮸鯓鮶鯄鮹鮽鵜鵓鵏鵊鵛鵋鵙鵖鵌鵗鵒鵔鵟鵘鵚麎麌黟鼁鼀鼖鼥鼫鼪鼩鼨齌齕儴儵劖勷厴嚫嚭嚦嚧嚪嚬壚壝壛夒嬽嬾嬿巃幰�\".split(\"\");\nfor(j = 0; j != D[241].length; ++j) if(D[241][j].charCodeAt(0) !== 0xFFFD) { e[D[241][j]] = 61696 + j; d[61696 + j] = D[241][j];}\nD[242] = \"����������������������������������������������������������������徿懻攇攐攍攉攌攎斄旞旝曞櫧櫠櫌櫑櫙櫋櫟櫜櫐櫫櫏櫍櫞歠殰氌瀙瀧瀠瀖瀫瀡瀢瀣瀩瀗瀤瀜瀪爌爊爇爂爅犥犦犤犣犡瓋瓅璷瓃甖癠矉矊矄矱礝礛����������������������������������礡礜礗礞禰穧穨簳簼簹簬簻糬糪繶繵繸繰繷繯繺繲繴繨罋罊羃羆羷翽翾聸臗臕艤艡艣藫藱藭藙藡藨藚藗藬藲藸藘藟藣藜藑藰藦藯藞藢蠀蟺蠃蟶蟷蠉蠌蠋蠆蟼蠈蟿蠊蠂襢襚襛襗襡襜襘襝襙覈覷覶觶譐譈譊譀譓譖譔譋譕�\".split(\"\");\nfor(j = 0; j != D[242].length; ++j) if(D[242][j].charCodeAt(0) !== 0xFFFD) { e[D[242][j]] = 61952 + j; d[61952 + j] = D[242][j];}\nD[243] = \"����������������������������������������������������������������譑譂譒譗豃豷豶貚贆贇贉趬趪趭趫蹭蹸蹳蹪蹯蹻軂轒轑轏轐轓辴酀鄿醰醭鏞鏇鏏鏂鏚鏐鏹鏬鏌鏙鎩鏦鏊鏔鏮鏣鏕鏄鏎鏀鏒鏧镽闚闛雡霩霫霬霨霦����������������������������������鞳鞷鞶韝韞韟顜顙顝顗颿颽颻颾饈饇饃馦馧騚騕騥騝騤騛騢騠騧騣騞騜騔髂鬋鬊鬎鬌鬷鯪鯫鯠鯞鯤鯦鯢鯰鯔鯗鯬鯜鯙鯥鯕鯡鯚鵷鶁鶊鶄鶈鵱鶀鵸鶆鶋鶌鵽鵫鵴鵵鵰鵩鶅鵳鵻鶂鵯鵹鵿鶇鵨麔麑黀黼鼭齀齁齍齖齗齘匷嚲�\".split(\"\");\nfor(j = 0; j != D[243].length; ++j) if(D[243][j].charCodeAt(0) !== 0xFFFD) { e[D[243][j]] = 62208 + j; d[62208 + j] = D[243][j];}\nD[244] = \"����������������������������������������������������������������嚵嚳壣孅巆巇廮廯忀忁懹攗攖攕攓旟曨曣曤櫳櫰櫪櫨櫹櫱櫮櫯瀼瀵瀯瀷瀴瀱灂瀸瀿瀺瀹灀瀻瀳灁爓爔犨獽獼璺皫皪皾盭矌矎矏矍矲礥礣礧礨礤礩����������������������������������禲穮穬穭竷籉籈籊籇籅糮繻繾纁纀羺翿聹臛臙舋艨艩蘢藿蘁藾蘛蘀藶蘄蘉蘅蘌藽蠙蠐蠑蠗蠓蠖襣襦覹觷譠譪譝譨譣譥譧譭趮躆躈躄轙轖轗轕轘轚邍酃酁醷醵醲醳鐋鐓鏻鐠鐏鐔鏾鐕鐐鐨鐙鐍鏵鐀鏷鐇鐎鐖鐒鏺鐉鏸鐊鏿�\".split(\"\");\nfor(j = 0; j != D[244].length; ++j) if(D[244][j].charCodeAt(0) !== 0xFFFD) { e[D[244][j]] = 62464 + j; d[62464 + j] = D[244][j];}\nD[245] = \"����������������������������������������������������������������鏼鐌鏶鐑鐆闞闠闟霮霯鞹鞻韽韾顠顢顣顟飁飂饐饎饙饌饋饓騲騴騱騬騪騶騩騮騸騭髇髊髆鬐鬒鬑鰋鰈鯷鰅鰒鯸鱀鰇鰎鰆鰗鰔鰉鶟鶙鶤鶝鶒鶘鶐鶛����������������������������������鶠鶔鶜鶪鶗鶡鶚鶢鶨鶞鶣鶿鶩鶖鶦鶧麙麛麚黥黤黧黦鼰鼮齛齠齞齝齙龑儺儹劘劗囃嚽嚾孈孇巋巏廱懽攛欂櫼欃櫸欀灃灄灊灈灉灅灆爝爚爙獾甗癪矐礭礱礯籔籓糲纊纇纈纋纆纍罍羻耰臝蘘蘪蘦蘟蘣蘜蘙蘧蘮蘡蘠蘩蘞蘥�\".split(\"\");\nfor(j = 0; j != D[245].length; ++j) if(D[245][j].charCodeAt(0) !== 0xFFFD) { e[D[245][j]] = 62720 + j; d[62720 + j] = D[245][j];}\nD[246] = \"����������������������������������������������������������������蠩蠝蠛蠠蠤蠜蠫衊襭襩襮襫觺譹譸譅譺譻贐贔趯躎躌轞轛轝酆酄酅醹鐿鐻鐶鐩鐽鐼鐰鐹鐪鐷鐬鑀鐱闥闤闣霵霺鞿韡顤飉飆飀饘饖騹騽驆驄驂驁騺����������������������������������騿髍鬕鬗鬘鬖鬺魒鰫鰝鰜鰬鰣鰨鰩鰤鰡鶷鶶鶼鷁鷇鷊鷏鶾鷅鷃鶻鶵鷎鶹鶺鶬鷈鶱鶭鷌鶳鷍鶲鹺麜黫黮黭鼛鼘鼚鼱齎齥齤龒亹囆囅囋奱孋孌巕巑廲攡攠攦攢欋欈欉氍灕灖灗灒爞爟犩獿瓘瓕瓙瓗癭皭礵禴穰穱籗籜籙籛籚�\".split(\"\");\nfor(j = 0; j != D[246].length; ++j) if(D[246][j].charCodeAt(0) !== 0xFFFD) { e[D[246][j]] = 62976 + j; d[62976 + j] = D[246][j];}\nD[247] = \"����������������������������������������������������������������糴糱纑罏羇臞艫蘴蘵蘳蘬蘲蘶蠬蠨蠦蠪蠥襱覿覾觻譾讄讂讆讅譿贕躕躔躚躒躐躖躗轠轢酇鑌鑐鑊鑋鑏鑇鑅鑈鑉鑆霿韣顪顩飋饔饛驎驓驔驌驏驈驊����������������������������������驉驒驐髐鬙鬫鬻魖魕鱆鱈鰿鱄鰹鰳鱁鰼鰷鰴鰲鰽鰶鷛鷒鷞鷚鷋鷐鷜鷑鷟鷩鷙鷘鷖鷵鷕鷝麶黰鼵鼳鼲齂齫龕龢儽劙壨壧奲孍巘蠯彏戁戃戄攩攥斖曫欑欒欏毊灛灚爢玂玁玃癰矔籧籦纕艬蘺虀蘹蘼蘱蘻蘾蠰蠲蠮蠳襶襴襳觾�\".split(\"\");\nfor(j = 0; j != D[247].length; ++j) if(D[247][j].charCodeAt(0) !== 0xFFFD) { e[D[247][j]] = 63232 + j; d[63232 + j] = D[247][j];}\nD[248] = \"����������������������������������������������������������������讌讎讋讈豅贙躘轤轣醼鑢鑕鑝鑗鑞韄韅頀驖驙鬞鬟鬠鱒鱘鱐鱊鱍鱋鱕鱙鱌鱎鷻鷷鷯鷣鷫鷸鷤鷶鷡鷮鷦鷲鷰鷢鷬鷴鷳鷨鷭黂黐黲黳鼆鼜鼸鼷鼶齃齏����������������������������������齱齰齮齯囓囍孎屭攭曭曮欓灟灡灝灠爣瓛瓥矕礸禷禶籪纗羉艭虃蠸蠷蠵衋讔讕躞躟躠躝醾醽釂鑫鑨鑩雥靆靃靇韇韥驞髕魙鱣鱧鱦鱢鱞鱠鸂鷾鸇鸃鸆鸅鸀鸁鸉鷿鷽鸄麠鼞齆齴齵齶囔攮斸欘欙欗欚灢爦犪矘矙礹籩籫糶纚�\".split(\"\");\nfor(j = 0; j != D[248].length; ++j) if(D[248][j].charCodeAt(0) !== 0xFFFD) { e[D[248][j]] = 63488 + j; d[63488 + j] = D[248][j];}\nD[249] = \"����������������������������������������������������������������纘纛纙臠臡虆虇虈襹襺襼襻觿讘讙躥躤躣鑮鑭鑯鑱鑳靉顲饟鱨鱮鱭鸋鸍鸐鸏鸒鸑麡黵鼉齇齸齻齺齹圞灦籯蠼趲躦釃鑴鑸鑶鑵驠鱴鱳鱱鱵鸔鸓黶鼊����������������������������������龤灨灥糷虪蠾蠽蠿讞貜躩軉靋顳顴飌饡馫驤驦驧鬤鸕鸗齈戇欞爧虌躨钂钀钁驩驨鬮鸙爩虋讟钃鱹麷癵驫鱺鸝灩灪麤齾齉龘碁銹裏墻恒粧嫺╔╦╗╠╬╣╚╩╝╒╤╕╞╪╡╘╧╛╓╥╖╟╫╢╙╨╜║═╭╮╰╯▓�\".split(\"\");\nfor(j = 0; j != D[249].length; ++j) if(D[249][j].charCodeAt(0) !== 0xFFFD) { e[D[249][j]] = 63744 + j; d[63744 + j] = D[249][j];}\nreturn {\"enc\": e, \"dec\": d }; })();\ncptable[1250] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬­®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1251] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—�™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬­®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1252] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1253] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›���� ΅Ά£¤¥¦§¨©�«¬­®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1254] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“”•–—˜™š›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖרÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1255] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰�‹�����‘’“”•–—˜™�›���� ¡¢£₪¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹ�ֻּֽ־ֿ׀ׁׂ׃װױײ׳״�������אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1256] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œ‌‍ں ،¢£¤¥¦§¨©ھ«¬­®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûü‎‏ے\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1257] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“”•–—�™�›�¯˛� �¢£¤�¦§Ø©Ŗ«¬­®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1258] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“”•–—˜™�›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖרÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10000] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10006] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦­ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ�\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10007] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°¢£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµ∂ЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10008] = (function(){ var d = [], e = {}, D = [], j;\nD[0] = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€���������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];}\nD[161] = \"����������������������������������������������������������������������������������������������������������������������������������������������������������������� 、。・ˉˇ¨〃々―~�…‘’“”〔〕〈〉《》「」『』〖〗【】±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵∴♂♀°′″℃$¤¢£‰§№☆★○●◎◇◆□■△▲※→←↑↓〓�\".split(\"\");\nfor(j = 0; j != D[161].length; ++j) if(D[161][j].charCodeAt(0) !== 0xFFFD) { e[D[161][j]] = 41216 + j; d[41216 + j] = D[161][j];}\nD[162] = \"���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇①②③④⑤⑥⑦⑧⑨⑩��㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩��ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ���\".split(\"\");\nfor(j = 0; j != D[162].length; ++j) if(D[162][j].charCodeAt(0) !== 0xFFFD) { e[D[162][j]] = 41472 + j; d[41472 + j] = D[162][j];}\nD[163] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������!"#¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|} ̄�\".split(\"\");\nfor(j = 0; j != D[163].length; ++j) if(D[163][j].charCodeAt(0) !== 0xFFFD) { e[D[163][j]] = 41728 + j; d[41728 + j] = D[163][j];}\nD[164] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������\".split(\"\");\nfor(j = 0; j != D[164].length; ++j) if(D[164][j].charCodeAt(0) !== 0xFFFD) { e[D[164][j]] = 41984 + j; d[41984 + j] = D[164][j];}\nD[165] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������\".split(\"\");\nfor(j = 0; j != D[165].length; ++j) if(D[165][j].charCodeAt(0) !== 0xFFFD) { e[D[165][j]] = 42240 + j; d[42240 + j] = D[165][j];}\nD[166] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω���������������������������������������\".split(\"\");\nfor(j = 0; j != D[166].length; ++j) if(D[166][j].charCodeAt(0) !== 0xFFFD) { e[D[166][j]] = 42496 + j; d[42496 + j] = D[166][j];}\nD[167] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������\".split(\"\");\nfor(j = 0; j != D[167].length; ++j) if(D[167][j].charCodeAt(0) !== 0xFFFD) { e[D[167][j]] = 42752 + j; d[42752 + j] = D[167][j];}\nD[168] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüê����������ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ����������������������\".split(\"\");\nfor(j = 0; j != D[168].length; ++j) if(D[168][j].charCodeAt(0) !== 0xFFFD) { e[D[168][j]] = 43008 + j; d[43008 + j] = D[168][j];}\nD[169] = \"��������������������������������������������������������������������������������������������������������������������������������������������������������������������─━│┃┄┅┆┇┈┉┊┋┌┍┎┏┐┑┒┓└┕┖┗┘┙┚┛├┝┞┟┠┡┢┣┤┥┦┧┨┩┪┫┬┭┮┯┰┱┲┳┴┵┶┷┸┹┺┻┼┽┾┿╀╁╂╃╄╅╆╇╈╉╊╋����������������\".split(\"\");\nfor(j = 0; j != D[169].length; ++j) if(D[169][j].charCodeAt(0) !== 0xFFFD) { e[D[169][j]] = 43264 + j; d[43264 + j] = D[169][j];}\nD[176] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥�\".split(\"\");\nfor(j = 0; j != D[176].length; ++j) if(D[176][j].charCodeAt(0) !== 0xFFFD) { e[D[176][j]] = 45056 + j; d[45056 + j] = D[176][j];}\nD[177] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳�\".split(\"\");\nfor(j = 0; j != D[177].length; ++j) if(D[177][j].charCodeAt(0) !== 0xFFFD) { e[D[177][j]] = 45312 + j; d[45312 + j] = D[177][j];}\nD[178] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖�\".split(\"\");\nfor(j = 0; j != D[178].length; ++j) if(D[178][j].charCodeAt(0) !== 0xFFFD) { e[D[178][j]] = 45568 + j; d[45568 + j] = D[178][j];}\nD[179] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚�\".split(\"\");\nfor(j = 0; j != D[179].length; ++j) if(D[179][j].charCodeAt(0) !== 0xFFFD) { e[D[179][j]] = 45824 + j; d[45824 + j] = D[179][j];}\nD[180] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮�\".split(\"\");\nfor(j = 0; j != D[180].length; ++j) if(D[180][j].charCodeAt(0) !== 0xFFFD) { e[D[180][j]] = 46080 + j; d[46080 + j] = D[180][j];}\nD[181] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠�\".split(\"\");\nfor(j = 0; j != D[181].length; ++j) if(D[181][j].charCodeAt(0) !== 0xFFFD) { e[D[181][j]] = 46336 + j; d[46336 + j] = D[181][j];}\nD[182] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二�\".split(\"\");\nfor(j = 0; j != D[182].length; ++j) if(D[182][j].charCodeAt(0) !== 0xFFFD) { e[D[182][j]] = 46592 + j; d[46592 + j] = D[182][j];}\nD[183] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服�\".split(\"\");\nfor(j = 0; j != D[183].length; ++j) if(D[183][j].charCodeAt(0) !== 0xFFFD) { e[D[183][j]] = 46848 + j; d[46848 + j] = D[183][j];}\nD[184] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹�\".split(\"\");\nfor(j = 0; j != D[184].length; ++j) if(D[184][j].charCodeAt(0) !== 0xFFFD) { e[D[184][j]] = 47104 + j; d[47104 + j] = D[184][j];}\nD[185] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈�\".split(\"\");\nfor(j = 0; j != D[185].length; ++j) if(D[185][j].charCodeAt(0) !== 0xFFFD) { e[D[185][j]] = 47360 + j; d[47360 + j] = D[185][j];}\nD[186] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖�\".split(\"\");\nfor(j = 0; j != D[186].length; ++j) if(D[186][j].charCodeAt(0) !== 0xFFFD) { e[D[186][j]] = 47616 + j; d[47616 + j] = D[186][j];}\nD[187] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕�\".split(\"\");\nfor(j = 0; j != D[187].length; ++j) if(D[187][j].charCodeAt(0) !== 0xFFFD) { e[D[187][j]] = 47872 + j; d[47872 + j] = D[187][j];}\nD[188] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件�\".split(\"\");\nfor(j = 0; j != D[188].length; ++j) if(D[188][j].charCodeAt(0) !== 0xFFFD) { e[D[188][j]] = 48128 + j; d[48128 + j] = D[188][j];}\nD[189] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸�\".split(\"\");\nfor(j = 0; j != D[189].length; ++j) if(D[189][j].charCodeAt(0) !== 0xFFFD) { e[D[189][j]] = 48384 + j; d[48384 + j] = D[189][j];}\nD[190] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻�\".split(\"\");\nfor(j = 0; j != D[190].length; ++j) if(D[190][j].charCodeAt(0) !== 0xFFFD) { e[D[190][j]] = 48640 + j; d[48640 + j] = D[190][j];}\nD[191] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀�\".split(\"\");\nfor(j = 0; j != D[191].length; ++j) if(D[191][j].charCodeAt(0) !== 0xFFFD) { e[D[191][j]] = 48896 + j; d[48896 + j] = D[191][j];}\nD[192] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐�\".split(\"\");\nfor(j = 0; j != D[192].length; ++j) if(D[192][j].charCodeAt(0) !== 0xFFFD) { e[D[192][j]] = 49152 + j; d[49152 + j] = D[192][j];}\nD[193] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿�\".split(\"\");\nfor(j = 0; j != D[193].length; ++j) if(D[193][j].charCodeAt(0) !== 0xFFFD) { e[D[193][j]] = 49408 + j; d[49408 + j] = D[193][j];}\nD[194] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫�\".split(\"\");\nfor(j = 0; j != D[194].length; ++j) if(D[194][j].charCodeAt(0) !== 0xFFFD) { e[D[194][j]] = 49664 + j; d[49664 + j] = D[194][j];}\nD[195] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸�\".split(\"\");\nfor(j = 0; j != D[195].length; ++j) if(D[195][j].charCodeAt(0) !== 0xFFFD) { e[D[195][j]] = 49920 + j; d[49920 + j] = D[195][j];}\nD[196] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁�\".split(\"\");\nfor(j = 0; j != D[196].length; ++j) if(D[196][j].charCodeAt(0) !== 0xFFFD) { e[D[196][j]] = 50176 + j; d[50176 + j] = D[196][j];}\nD[197] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗�\".split(\"\");\nfor(j = 0; j != D[197].length; ++j) if(D[197][j].charCodeAt(0) !== 0xFFFD) { e[D[197][j]] = 50432 + j; d[50432 + j] = D[197][j];}\nD[198] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐�\".split(\"\");\nfor(j = 0; j != D[198].length; ++j) if(D[198][j].charCodeAt(0) !== 0xFFFD) { e[D[198][j]] = 50688 + j; d[50688 + j] = D[198][j];}\nD[199] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠�\".split(\"\");\nfor(j = 0; j != D[199].length; ++j) if(D[199][j].charCodeAt(0) !== 0xFFFD) { e[D[199][j]] = 50944 + j; d[50944 + j] = D[199][j];}\nD[200] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁�\".split(\"\");\nfor(j = 0; j != D[200].length; ++j) if(D[200][j].charCodeAt(0) !== 0xFFFD) { e[D[200][j]] = 51200 + j; d[51200 + j] = D[200][j];}\nD[201] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳�\".split(\"\");\nfor(j = 0; j != D[201].length; ++j) if(D[201][j].charCodeAt(0) !== 0xFFFD) { e[D[201][j]] = 51456 + j; d[51456 + j] = D[201][j];}\nD[202] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱�\".split(\"\");\nfor(j = 0; j != D[202].length; ++j) if(D[202][j].charCodeAt(0) !== 0xFFFD) { e[D[202][j]] = 51712 + j; d[51712 + j] = D[202][j];}\nD[203] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔�\".split(\"\");\nfor(j = 0; j != D[203].length; ++j) if(D[203][j].charCodeAt(0) !== 0xFFFD) { e[D[203][j]] = 51968 + j; d[51968 + j] = D[203][j];}\nD[204] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃�\".split(\"\");\nfor(j = 0; j != D[204].length; ++j) if(D[204][j].charCodeAt(0) !== 0xFFFD) { e[D[204][j]] = 52224 + j; d[52224 + j] = D[204][j];}\nD[205] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威�\".split(\"\");\nfor(j = 0; j != D[205].length; ++j) if(D[205][j].charCodeAt(0) !== 0xFFFD) { e[D[205][j]] = 52480 + j; d[52480 + j] = D[205][j];}\nD[206] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺�\".split(\"\");\nfor(j = 0; j != D[206].length; ++j) if(D[206][j].charCodeAt(0) !== 0xFFFD) { e[D[206][j]] = 52736 + j; d[52736 + j] = D[206][j];}\nD[207] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓�\".split(\"\");\nfor(j = 0; j != D[207].length; ++j) if(D[207][j].charCodeAt(0) !== 0xFFFD) { e[D[207][j]] = 52992 + j; d[52992 + j] = D[207][j];}\nD[208] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄�\".split(\"\");\nfor(j = 0; j != D[208].length; ++j) if(D[208][j].charCodeAt(0) !== 0xFFFD) { e[D[208][j]] = 53248 + j; d[53248 + j] = D[208][j];}\nD[209] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶�\".split(\"\");\nfor(j = 0; j != D[209].length; ++j) if(D[209][j].charCodeAt(0) !== 0xFFFD) { e[D[209][j]] = 53504 + j; d[53504 + j] = D[209][j];}\nD[210] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐�\".split(\"\");\nfor(j = 0; j != D[210].length; ++j) if(D[210][j].charCodeAt(0) !== 0xFFFD) { e[D[210][j]] = 53760 + j; d[53760 + j] = D[210][j];}\nD[211] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉�\".split(\"\");\nfor(j = 0; j != D[211].length; ++j) if(D[211][j].charCodeAt(0) !== 0xFFFD) { e[D[211][j]] = 54016 + j; d[54016 + j] = D[211][j];}\nD[212] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧�\".split(\"\");\nfor(j = 0; j != D[212].length; ++j) if(D[212][j].charCodeAt(0) !== 0xFFFD) { e[D[212][j]] = 54272 + j; d[54272 + j] = D[212][j];}\nD[213] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政�\".split(\"\");\nfor(j = 0; j != D[213].length; ++j) if(D[213][j].charCodeAt(0) !== 0xFFFD) { e[D[213][j]] = 54528 + j; d[54528 + j] = D[213][j];}\nD[214] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑�\".split(\"\");\nfor(j = 0; j != D[214].length; ++j) if(D[214][j].charCodeAt(0) !== 0xFFFD) { e[D[214][j]] = 54784 + j; d[54784 + j] = D[214][j];}\nD[215] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座������\".split(\"\");\nfor(j = 0; j != D[215].length; ++j) if(D[215][j].charCodeAt(0) !== 0xFFFD) { e[D[215][j]] = 55040 + j; d[55040 + j] = D[215][j];}\nD[216] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝�\".split(\"\");\nfor(j = 0; j != D[216].length; ++j) if(D[216][j].charCodeAt(0) !== 0xFFFD) { e[D[216][j]] = 55296 + j; d[55296 + j] = D[216][j];}\nD[217] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼�\".split(\"\");\nfor(j = 0; j != D[217].length; ++j) if(D[217][j].charCodeAt(0) !== 0xFFFD) { e[D[217][j]] = 55552 + j; d[55552 + j] = D[217][j];}\nD[218] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺�\".split(\"\");\nfor(j = 0; j != D[218].length; ++j) if(D[218][j].charCodeAt(0) !== 0xFFFD) { e[D[218][j]] = 55808 + j; d[55808 + j] = D[218][j];}\nD[219] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝�\".split(\"\");\nfor(j = 0; j != D[219].length; ++j) if(D[219][j].charCodeAt(0) !== 0xFFFD) { e[D[219][j]] = 56064 + j; d[56064 + j] = D[219][j];}\nD[220] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥�\".split(\"\");\nfor(j = 0; j != D[220].length; ++j) if(D[220][j].charCodeAt(0) !== 0xFFFD) { e[D[220][j]] = 56320 + j; d[56320 + j] = D[220][j];}\nD[221] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺�\".split(\"\");\nfor(j = 0; j != D[221].length; ++j) if(D[221][j].charCodeAt(0) !== 0xFFFD) { e[D[221][j]] = 56576 + j; d[56576 + j] = D[221][j];}\nD[222] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖�\".split(\"\");\nfor(j = 0; j != D[222].length; ++j) if(D[222][j].charCodeAt(0) !== 0xFFFD) { e[D[222][j]] = 56832 + j; d[56832 + j] = D[222][j];}\nD[223] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼�\".split(\"\");\nfor(j = 0; j != D[223].length; ++j) if(D[223][j].charCodeAt(0) !== 0xFFFD) { e[D[223][j]] = 57088 + j; d[57088 + j] = D[223][j];}\nD[224] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼�\".split(\"\");\nfor(j = 0; j != D[224].length; ++j) if(D[224][j].charCodeAt(0) !== 0xFFFD) { e[D[224][j]] = 57344 + j; d[57344 + j] = D[224][j];}\nD[225] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺�\".split(\"\");\nfor(j = 0; j != D[225].length; ++j) if(D[225][j].charCodeAt(0) !== 0xFFFD) { e[D[225][j]] = 57600 + j; d[57600 + j] = D[225][j];}\nD[226] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧饨饩饪饫饬饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂�\".split(\"\");\nfor(j = 0; j != D[226].length; ++j) if(D[226][j].charCodeAt(0) !== 0xFFFD) { e[D[226][j]] = 57856 + j; d[57856 + j] = D[226][j];}\nD[227] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾�\".split(\"\");\nfor(j = 0; j != D[227].length; ++j) if(D[227][j].charCodeAt(0) !== 0xFFFD) { e[D[227][j]] = 58112 + j; d[58112 + j] = D[227][j];}\nD[228] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑�\".split(\"\");\nfor(j = 0; j != D[228].length; ++j) if(D[228][j].charCodeAt(0) !== 0xFFFD) { e[D[228][j]] = 58368 + j; d[58368 + j] = D[228][j];}\nD[229] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣�\".split(\"\");\nfor(j = 0; j != D[229].length; ++j) if(D[229][j].charCodeAt(0) !== 0xFFFD) { e[D[229][j]] = 58624 + j; d[58624 + j] = D[229][j];}\nD[230] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩�\".split(\"\");\nfor(j = 0; j != D[230].length; ++j) if(D[230][j].charCodeAt(0) !== 0xFFFD) { e[D[230][j]] = 58880 + j; d[58880 + j] = D[230][j];}\nD[231] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡缢缣缤缥缦缧缪缫缬缭缯缰缱缲缳缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬�\".split(\"\");\nfor(j = 0; j != D[231].length; ++j) if(D[231][j].charCodeAt(0) !== 0xFFFD) { e[D[231][j]] = 59136 + j; d[59136 + j] = D[231][j];}\nD[232] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹�\".split(\"\");\nfor(j = 0; j != D[232].length; ++j) if(D[232][j].charCodeAt(0) !== 0xFFFD) { e[D[232][j]] = 59392 + j; d[59392 + j] = D[232][j];}\nD[233] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋�\".split(\"\");\nfor(j = 0; j != D[233].length; ++j) if(D[233][j].charCodeAt(0) !== 0xFFFD) { e[D[233][j]] = 59648 + j; d[59648 + j] = D[233][j];}\nD[234] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰�\".split(\"\");\nfor(j = 0; j != D[234].length; ++j) if(D[234][j].charCodeAt(0) !== 0xFFFD) { e[D[234][j]] = 59904 + j; d[59904 + j] = D[234][j];}\nD[235] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻�\".split(\"\");\nfor(j = 0; j != D[235].length; ++j) if(D[235][j].charCodeAt(0) !== 0xFFFD) { e[D[235][j]] = 60160 + j; d[60160 + j] = D[235][j];}\nD[236] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐�\".split(\"\");\nfor(j = 0; j != D[236].length; ++j) if(D[236][j].charCodeAt(0) !== 0xFFFD) { e[D[236][j]] = 60416 + j; d[60416 + j] = D[236][j];}\nD[237] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨�\".split(\"\");\nfor(j = 0; j != D[237].length; ++j) if(D[237][j].charCodeAt(0) !== 0xFFFD) { e[D[237][j]] = 60672 + j; d[60672 + j] = D[237][j];}\nD[238] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶钷钸钹钺钼钽钿铄铈铉铊铋铌铍铎铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪�\".split(\"\");\nfor(j = 0; j != D[238].length; ++j) if(D[238][j].charCodeAt(0) !== 0xFFFD) { e[D[238][j]] = 60928 + j; d[60928 + j] = D[238][j];}\nD[239] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒锓锔锕锖锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤镥镦镧镨镩镪镫镬镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔�\".split(\"\");\nfor(j = 0; j != D[239].length; ++j) if(D[239][j].charCodeAt(0) !== 0xFFFD) { e[D[239][j]] = 61184 + j; d[61184 + j] = D[239][j];}\nD[240] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨鸩鸪鸫鸬鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦鹧鹨鹩鹪鹫鹬鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙�\".split(\"\");\nfor(j = 0; j != D[240].length; ++j) if(D[240][j].charCodeAt(0) !== 0xFFFD) { e[D[240][j]] = 61440 + j; d[61440 + j] = D[240][j];}\nD[241] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃�\".split(\"\");\nfor(j = 0; j != D[241].length; ++j) if(D[241][j].charCodeAt(0) !== 0xFFFD) { e[D[241][j]] = 61696 + j; d[61696 + j] = D[241][j];}\nD[242] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒�\".split(\"\");\nfor(j = 0; j != D[242].length; ++j) if(D[242][j].charCodeAt(0) !== 0xFFFD) { e[D[242][j]] = 61952 + j; d[61952 + j] = D[242][j];}\nD[243] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋�\".split(\"\");\nfor(j = 0; j != D[243].length; ++j) if(D[243][j].charCodeAt(0) !== 0xFFFD) { e[D[243][j]] = 62208 + j; d[62208 + j] = D[243][j];}\nD[244] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤�\".split(\"\");\nfor(j = 0; j != D[244].length; ++j) if(D[244][j].charCodeAt(0) !== 0xFFFD) { e[D[244][j]] = 62464 + j; d[62464 + j] = D[244][j];}\nD[245] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜�\".split(\"\");\nfor(j = 0; j != D[245].length; ++j) if(D[245][j].charCodeAt(0) !== 0xFFFD) { e[D[245][j]] = 62720 + j; d[62720 + j] = D[245][j];}\nD[246] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅龆龇龈龉龊龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞鲟鲠鲡鲢鲣鲥鲦鲧鲨鲩鲫鲭鲮鲰鲱鲲鲳鲴鲵鲶鲷鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋�\".split(\"\");\nfor(j = 0; j != D[246].length; ++j) if(D[246][j].charCodeAt(0) !== 0xFFFD) { e[D[246][j]] = 62976 + j; d[62976 + j] = D[246][j];}\nD[247] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������鳌鳍鳎鳏鳐鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄�\".split(\"\");\nfor(j = 0; j != D[247].length; ++j) if(D[247][j].charCodeAt(0) !== 0xFFFD) { e[D[247][j]] = 63232 + j; d[63232 + j] = D[247][j];}\nreturn {\"enc\": e, \"dec\": d }; })();\ncptable[10029] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10079] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüݰ¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10081] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙ�ˆ˜¯˘˙˚¸˝˛ˇ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\n// eslint-disable-next-line no-undef\nif (typeof module !== 'undefined' && module.exports && typeof DO_NOT_EXPORT_CODEPAGE === 'undefined') module.exports = cptable;\n/* cputils.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/* vim: set ft=javascript: */\n/*jshint newcap: false */\n(function(root, factory) {\n /*jshint ignore:start */\n /*eslint-disable */\n \"use strict\";\n if(typeof cptable === \"undefined\") {\n if(typeof require !== \"undefined\"){\n var cpt = cptable;\n if (typeof module !== 'undefined' && module.exports && typeof DO_NOT_EXPORT_CODEPAGE === 'undefined') module.exports = factory(cpt);\n else root.cptable = factory(cpt);\n } else throw new Error(\"cptable not found\");\n } else cptable = factory(cptable);\n /*eslint-enable */\n /*jshint ignore:end */\n}(this, function(cpt){\n \"use strict\";\n /*global module, Buffer */\n var magic = {\n \"1200\":\"utf16le\",\n \"1201\":\"utf16be\",\n \"12000\":\"utf32le\",\n \"12001\":\"utf32be\",\n \"16969\":\"utf64le\",\n \"20127\":\"ascii\",\n \"65000\":\"utf7\",\n \"65001\":\"utf8\"\n };\n\n var sbcs_cache = [874,1250,1251,1252,1253,1254,1255,1256,10000];\n var dbcs_cache = [932,936,949,950];\n var magic_cache = [65001];\n var magic_decode = {};\n var magic_encode = {};\n var cpdcache = {};\n var cpecache = {};\n\n var sfcc = function sfcc(x) { return String.fromCharCode(x); };\n var cca = function cca(x) { return x.charCodeAt(0); };\n\n var has_buf = (typeof Buffer !== 'undefined');\n var Buffer_from = function(){};\n if(has_buf) {\n var nbfs = !Buffer.from;\n if(!nbfs) try { Buffer.from(\"foo\", \"utf8\"); } catch(e) { nbfs = true; }\n Buffer_from = nbfs ? function(buf, enc) { return (enc) ? new Buffer(buf, enc) : new Buffer(buf); } : Buffer.from.bind(Buffer);\n // $FlowIgnore\n if(!Buffer.allocUnsafe) Buffer.allocUnsafe = function(n) { return new Buffer(n); };\n\n var mdl = 1024, mdb = Buffer.allocUnsafe(mdl);\n var make_EE = function make_EE(E){\n var EE = Buffer.allocUnsafe(65536);\n for(var i = 0; i < 65536;++i) EE[i] = 0;\n var keys = Object.keys(E), len = keys.length;\n for(var ee = 0, e = keys[ee]; ee < len; ++ee) {\n if(!(e = keys[ee])) continue;\n EE[e.charCodeAt(0)] = E[e];\n }\n return EE;\n };\n var sbcs_encode = function make_sbcs_encode(cp) {\n var EE = make_EE(cpt[cp].enc);\n return function sbcs_e(data, ofmt) {\n var len = data.length;\n var out, i=0, j=0, D=0, w=0;\n if(typeof data === 'string') {\n out = Buffer.allocUnsafe(len);\n for(i = 0; i < len; ++i) out[i] = EE[data.charCodeAt(i)];\n } else if(Buffer.isBuffer(data)) {\n out = Buffer.allocUnsafe(2*len);\n j = 0;\n for(i = 0; i < len; ++i) {\n D = data[i];\n if(D < 128) out[j++] = EE[D];\n else if(D < 224) { out[j++] = EE[((D&31)<<6)+(data[i+1]&63)]; ++i; }\n else if(D < 240) { out[j++] = EE[((D&15)<<12)+((data[i+1]&63)<<6)+(data[i+2]&63)]; i+=2; }\n else {\n w = ((D&7)<<18)+((data[i+1]&63)<<12)+((data[i+2]&63)<<6)+(data[i+3]&63); i+=3;\n if(w < 65536) out[j++] = EE[w];\n else { w -= 65536; out[j++] = EE[0xD800 + ((w>>10)&1023)]; out[j++] = EE[0xDC00 + (w&1023)]; }\n }\n }\n out = out.slice(0,j);\n } else {\n out = Buffer.allocUnsafe(len);\n for(i = 0; i < len; ++i) out[i] = EE[data[i].charCodeAt(0)];\n }\n if(!ofmt || ofmt === 'buf') return out;\n if(ofmt !== 'arr') return out.toString('binary');\n return [].slice.call(out);\n };\n };\n var sbcs_decode = function make_sbcs_decode(cp) {\n var D = cpt[cp].dec;\n var DD = Buffer.allocUnsafe(131072), d=0, c=\"\";\n for(d=0;d>8;\n }\n return function sbcs_d(data) {\n var len = data.length, i=0, j=0;\n if(2 * len > mdl) { mdl = 2 * len; mdb = Buffer.allocUnsafe(mdl); }\n if(Buffer.isBuffer(data)) {\n for(i = 0; i < len; i++) {\n j = 2*data[i];\n mdb[2*i] = DD[j]; mdb[2*i+1] = DD[j+1];\n }\n } else if(typeof data === \"string\") {\n for(i = 0; i < len; i++) {\n j = 2*data.charCodeAt(i);\n mdb[2*i] = DD[j]; mdb[2*i+1] = DD[j+1];\n }\n } else {\n for(i = 0; i < len; i++) {\n j = 2*data[i];\n mdb[2*i] = DD[j]; mdb[2*i+1] = DD[j+1];\n }\n }\n return mdb.slice(0, 2 * len).toString('ucs2');\n };\n };\n var dbcs_encode = function make_dbcs_encode(cp) {\n var E = cpt[cp].enc;\n var EE = Buffer.allocUnsafe(131072);\n for(var i = 0; i < 131072; ++i) EE[i] = 0;\n var keys = Object.keys(E);\n for(var ee = 0, e = keys[ee]; ee < keys.length; ++ee) {\n if(!(e = keys[ee])) continue;\n var f = e.charCodeAt(0);\n EE[2*f] = E[e] & 255; EE[2*f+1] = E[e]>>8;\n }\n return function dbcs_e(data, ofmt) {\n var len = data.length, out = Buffer.allocUnsafe(2*len), i=0, j=0, jj=0, k=0, D=0;\n if(typeof data === 'string') {\n for(i = k = 0; i < len; ++i) {\n j = data.charCodeAt(i)*2;\n out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j];\n }\n out = out.slice(0,k);\n } else if(Buffer.isBuffer(data)) {\n for(i = k = 0; i < len; ++i) {\n D = data[i];\n if(D < 128) j = D;\n else if(D < 224) { j = ((D&31)<<6)+(data[i+1]&63); ++i; }\n else if(D < 240) { j = ((D&15)<<12)+((data[i+1]&63)<<6)+(data[i+2]&63); i+=2; }\n else { j = ((D&7)<<18)+((data[i+1]&63)<<12)+((data[i+2]&63)<<6)+(data[i+3]&63); i+=3; }\n if(j<65536) { j*=2; out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j]; }\n else { jj = j-65536;\n j=2*(0xD800 + ((jj>>10)&1023)); out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j];\n j=2*(0xDC00 + (jj&1023)); out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j];\n }\n }\n out = out.slice(0,k);\n } else {\n for(i = k = 0; i < len; i++) {\n j = data[i].charCodeAt(0)*2;\n out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j];\n }\n }\n if(!ofmt || ofmt === 'buf') return out;\n if(ofmt !== 'arr') return out.toString('binary');\n return [].slice.call(out);\n };\n };\n var dbcs_decode = function make_dbcs_decode(cp) {\n var D = cpt[cp].dec;\n var DD = Buffer.allocUnsafe(131072), d=0, c, w=0, j=0, i=0;\n for(i = 0; i < 65536; ++i) { DD[2*i] = 0xFF; DD[2*i+1] = 0xFD;}\n for(d = 0; d < D.length; ++d) {\n if(!(c=D[d])) continue;\n w = c.charCodeAt(0);\n j = 2*d;\n DD[j] = w&255; DD[j+1] = w>>8;\n }\n return function dbcs_d(data) {\n var len = data.length, out = Buffer.allocUnsafe(2*len), i=0, j=0, k=0;\n if(Buffer.isBuffer(data)) {\n for(i = 0; i < len; i++) {\n j = 2*data[i];\n if(DD[j]===0xFF && DD[j+1]===0xFD) { j=2*((data[i]<<8)+data[i+1]); ++i; }\n out[k++] = DD[j]; out[k++] = DD[j+1];\n }\n } else if(typeof data === \"string\") {\n for(i = 0; i < len; i++) {\n j = 2*data.charCodeAt(i);\n if(DD[j]===0xFF && DD[j+1]===0xFD) { j=2*((data.charCodeAt(i)<<8)+data.charCodeAt(i+1)); ++i; }\n out[k++] = DD[j]; out[k++] = DD[j+1];\n }\n } else {\n for(i = 0; i < len; i++) {\n j = 2*data[i];\n if(DD[j]===0xFF && DD[j+1]===0xFD) { j=2*((data[i]<<8)+data[i+1]); ++i; }\n out[k++] = DD[j]; out[k++] = DD[j+1];\n }\n }\n return out.slice(0,k).toString('ucs2');\n };\n };\n magic_decode[65001] = function utf8_d(data) {\n if(typeof data === \"string\") return utf8_d(data.split(\"\").map(cca));\n var len = data.length, w = 0, ww = 0;\n if(4 * len > mdl) { mdl = 4 * len; mdb = Buffer.allocUnsafe(mdl); }\n var i = 0;\n if(len >= 3 && data[0] == 0xEF) if(data[1] == 0xBB && data[2] == 0xBF) i = 3;\n for(var j = 1, k = 0, D = 0; i < len; i+=j) {\n j = 1; D = data[i];\n if(D < 128) w = D;\n else if(D < 224) { w=(D&31)*64+(data[i+1]&63); j=2; }\n else if(D < 240) { w=((D&15)<<12)+(data[i+1]&63)*64+(data[i+2]&63); j=3; }\n else { w=(D&7)*262144+((data[i+1]&63)<<12)+(data[i+2]&63)*64+(data[i+3]&63); j=4; }\n if(w < 65536) { mdb[k++] = w&255; mdb[k++] = w>>8; }\n else {\n w -= 65536; ww = 0xD800 + ((w>>10)&1023); w = 0xDC00 + (w&1023);\n mdb[k++] = ww&255; mdb[k++] = ww>>>8; mdb[k++] = w&255; mdb[k++] = (w>>>8)&255;\n }\n }\n return mdb.slice(0,k).toString('ucs2');\n };\n magic_encode[65001] = function utf8_e(data, ofmt) {\n if(has_buf && Buffer.isBuffer(data)) {\n if(!ofmt || ofmt === 'buf') return data;\n if(ofmt !== 'arr') return data.toString('binary');\n return [].slice.call(data);\n }\n var len = data.length, w = 0, ww = 0, j = 0;\n var direct = typeof data === \"string\";\n if(4 * len > mdl) { mdl = 4 * len; mdb = Buffer.allocUnsafe(mdl); }\n for(var i = 0; i < len; ++i) {\n w = direct ? data.charCodeAt(i) : data[i].charCodeAt(0);\n if(w <= 0x007F) mdb[j++] = w;\n else if(w <= 0x07FF) {\n mdb[j++] = 192 + (w >> 6);\n mdb[j++] = 128 + (w&63);\n } else if(w >= 0xD800 && w <= 0xDFFF) {\n w -= 0xD800; ++i;\n ww = (direct ? data.charCodeAt(i) : data[i].charCodeAt(0)) - 0xDC00 + (w << 10);\n mdb[j++] = 240 + ((ww>>>18) & 0x07);\n mdb[j++] = 144 + ((ww>>>12) & 0x3F);\n mdb[j++] = 128 + ((ww>>>6) & 0x3F);\n mdb[j++] = 128 + (ww & 0x3F);\n } else {\n mdb[j++] = 224 + (w >> 12);\n mdb[j++] = 128 + ((w >> 6)&63);\n mdb[j++] = 128 + (w&63);\n }\n }\n if(!ofmt || ofmt === 'buf') return mdb.slice(0,j);\n if(ofmt !== 'arr') return mdb.slice(0,j).toString('binary');\n return [].slice.call(mdb, 0, j);\n };\n }\n\n var encache = function encache() {\n if(has_buf) {\n if(cpdcache[sbcs_cache[0]]) return;\n var i=0, s=0;\n for(i = 0; i < sbcs_cache.length; ++i) {\n s = sbcs_cache[i];\n if(cpt[s]) {\n cpdcache[s] = sbcs_decode(s);\n cpecache[s] = sbcs_encode(s);\n }\n }\n for(i = 0; i < dbcs_cache.length; ++i) {\n s = dbcs_cache[i];\n if(cpt[s]) {\n cpdcache[s] = dbcs_decode(s);\n cpecache[s] = dbcs_encode(s);\n }\n }\n for(i = 0; i < magic_cache.length; ++i) {\n s = magic_cache[i];\n if(magic_decode[s]) cpdcache[s] = magic_decode[s];\n if(magic_encode[s]) cpecache[s] = magic_encode[s];\n }\n }\n };\n var null_enc = function(data, ofmt) { void ofmt; return \"\"; };\n var cp_decache = function cp_decache(cp) { delete cpdcache[cp]; delete cpecache[cp]; };\n var decache = function decache() {\n if(has_buf) {\n if(!cpdcache[sbcs_cache[0]]) return;\n sbcs_cache.forEach(cp_decache);\n dbcs_cache.forEach(cp_decache);\n magic_cache.forEach(cp_decache);\n }\n last_enc = null_enc; last_cp = 0;\n };\n var cache = {\n encache: encache,\n decache: decache,\n sbcs: sbcs_cache,\n dbcs: dbcs_cache\n };\n\n encache();\n\n var BM = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n var SetD = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'(),-./:?\";\n var last_enc = null_enc, last_cp = 0;\n var encode = function encode(cp, data, ofmt) {\n if(cp === last_cp && last_enc) { return last_enc(data, ofmt); }\n if(cpecache[cp]) { last_enc = cpecache[last_cp=cp]; return last_enc(data, ofmt); }\n if(has_buf && Buffer.isBuffer(data)) data = data.toString('utf8');\n var len = data.length;\n var out = has_buf ? Buffer.allocUnsafe(4*len) : [], w=0, i=0, j = 0, ww=0;\n var C = cpt[cp], E, M = \"\";\n var isstr = typeof data === 'string';\n if(C && (E=C.enc)) for(i = 0; i < len; ++i, ++j) {\n w = E[isstr? data.charAt(i) : data[i]];\n if(w > 255) {\n out[j] = w>>8;\n out[++j] = w&255;\n } else out[j] = w&255;\n }\n else if((M=magic[cp])) switch(M) {\n case \"utf8\":\n if(has_buf && isstr) { out = Buffer_from(data, M); j = out.length; break; }\n for(i = 0; i < len; ++i, ++j) {\n w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);\n if(w <= 0x007F) out[j] = w;\n else if(w <= 0x07FF) {\n out[j] = 192 + (w >> 6);\n out[++j] = 128 + (w&63);\n } else if(w >= 0xD800 && w <= 0xDFFF) {\n w -= 0xD800;\n ww = (isstr ? data.charCodeAt(++i) : data[++i].charCodeAt(0)) - 0xDC00 + (w << 10);\n out[j] = 240 + ((ww>>>18) & 0x07);\n out[++j] = 144 + ((ww>>>12) & 0x3F);\n out[++j] = 128 + ((ww>>>6) & 0x3F);\n out[++j] = 128 + (ww & 0x3F);\n } else {\n out[j] = 224 + (w >> 12);\n out[++j] = 128 + ((w >> 6)&63);\n out[++j] = 128 + (w&63);\n }\n }\n break;\n case \"ascii\":\n if(has_buf && typeof data === \"string\") { out = Buffer_from(data, M); j = out.length; break; }\n for(i = 0; i < len; ++i, ++j) {\n w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);\n if(w <= 0x007F) out[j] = w;\n else throw new Error(\"bad ascii \" + w);\n }\n break;\n case \"utf16le\":\n if(has_buf && typeof data === \"string\") { out = Buffer_from(data, M); j = out.length; break; }\n for(i = 0; i < len; ++i) {\n w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);\n out[j++] = w&255;\n out[j++] = w>>8;\n }\n break;\n case \"utf16be\":\n for(i = 0; i < len; ++i) {\n w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);\n out[j++] = w>>8;\n out[j++] = w&255;\n }\n break;\n case \"utf32le\":\n for(i = 0; i < len; ++i) {\n w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);\n if(w >= 0xD800 && w <= 0xDFFF) w = 0x10000 + ((w - 0xD800) << 10) + (data[++i].charCodeAt(0) - 0xDC00);\n out[j++] = w&255; w >>= 8;\n out[j++] = w&255; w >>= 8;\n out[j++] = w&255; w >>= 8;\n out[j++] = w&255;\n }\n break;\n case \"utf32be\":\n for(i = 0; i < len; ++i) {\n w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);\n if(w >= 0xD800 && w <= 0xDFFF) w = 0x10000 + ((w - 0xD800) << 10) + (data[++i].charCodeAt(0) - 0xDC00);\n out[j+3] = w&255; w >>= 8;\n out[j+2] = w&255; w >>= 8;\n out[j+1] = w&255; w >>= 8;\n out[j] = w&255;\n j+=4;\n }\n break;\n case \"utf7\":\n for(i = 0; i < len; i++) {\n var c = isstr ? data.charAt(i) : data[i].charAt(0);\n if(c === \"+\") { out[j++] = 0x2b; out[j++] = 0x2d; continue; }\n if(SetD.indexOf(c) > -1) { out[j++] = c.charCodeAt(0); continue; }\n var tt = encode(1201, c);\n out[j++] = 0x2b;\n out[j++] = BM.charCodeAt(tt[0]>>2);\n out[j++] = BM.charCodeAt(((tt[0]&0x03)<<4) + ((tt[1]||0)>>4));\n out[j++] = BM.charCodeAt(((tt[1]&0x0F)<<2) + ((tt[2]||0)>>6));\n out[j++] = 0x2d;\n }\n break;\n default: throw new Error(\"Unsupported magic: \" + cp + \" \" + magic[cp]);\n }\n else throw new Error(\"Unrecognized CP: \" + cp);\n out = out.slice(0,j);\n if(!has_buf) return (ofmt == 'str') ? (out).map(sfcc).join(\"\") : out;\n if(!ofmt || ofmt === 'buf') return out;\n if(ofmt !== 'arr') return out.toString('binary');\n return [].slice.call(out);\n };\n var decode = function decode(cp, data) {\n var F; if((F=cpdcache[cp])) return F(data);\n if(typeof data === \"string\") return decode(cp, data.split(\"\").map(cca));\n var len = data.length, out = new Array(len), s=\"\", w=0, i=0, j=1, k=0, ww=0;\n var C = cpt[cp], D, M=\"\";\n if(C && (D=C.dec)) {\n for(i = 0; i < len; i+=j) {\n j = 2;\n s = D[(data[i]<<8)+ data[i+1]];\n if(!s) {\n j = 1;\n s = D[data[i]];\n }\n if(!s) throw new Error('Unrecognized code: ' + data[i] + ' ' + data[i+j-1] + ' ' + i + ' ' + j + ' ' + D[data[i]]);\n out[k++] = s;\n }\n }\n else if((M=magic[cp])) switch(M) {\n case \"utf8\":\n if(len >= 3 && data[0] == 0xEF) if(data[1] == 0xBB && data[2] == 0xBF) i = 3;\n for(; i < len; i+=j) {\n j = 1;\n if(data[i] < 128) w = data[i];\n else if(data[i] < 224) { w=(data[i]&31)*64+(data[i+1]&63); j=2; }\n else if(data[i] < 240) { w=((data[i]&15)<<12)+(data[i+1]&63)*64+(data[i+2]&63); j=3; }\n else { w=(data[i]&7)*262144+((data[i+1]&63)<<12)+(data[i+2]&63)*64+(data[i+3]&63); j=4; }\n if(w < 65536) { out[k++] = String.fromCharCode(w); }\n else {\n w -= 65536; ww = 0xD800 + ((w>>10)&1023); w = 0xDC00 + (w&1023);\n out[k++] = String.fromCharCode(ww); out[k++] = String.fromCharCode(w);\n }\n }\n break;\n case \"ascii\":\n if(has_buf && Buffer.isBuffer(data)) return data.toString(M);\n for(i = 0; i < len; i++) out[i] = String.fromCharCode(data[i]);\n k = len; break;\n case \"utf16le\":\n if(len >= 2 && data[0] == 0xFF) if(data[1] == 0xFE) i = 2;\n if(has_buf && Buffer.isBuffer(data)) return data.toString(M);\n j = 2;\n for(; i+1 < len; i+=j) {\n out[k++] = String.fromCharCode((data[i+1]<<8) + data[i]);\n }\n break;\n case \"utf16be\":\n if(len >= 2 && data[0] == 0xFE) if(data[1] == 0xFF) i = 2;\n j = 2;\n for(; i+1 < len; i+=j) {\n out[k++] = String.fromCharCode((data[i]<<8) + data[i+1]);\n }\n break;\n case \"utf32le\":\n if(len >= 4 && data[0] == 0xFF) if(data[1] == 0xFE && data[2] === 0 && data[3] === 0) i = 4;\n j = 4;\n for(; i < len; i+=j) {\n w = (data[i+3]<<24) + (data[i+2]<<16) + (data[i+1]<<8) + (data[i]);\n if(w > 0xFFFF) {\n w -= 0x10000;\n out[k++] = String.fromCharCode(0xD800 + ((w >> 10) & 0x3FF));\n out[k++] = String.fromCharCode(0xDC00 + (w & 0x3FF));\n }\n else out[k++] = String.fromCharCode(w);\n }\n break;\n case \"utf32be\":\n if(len >= 4 && data[3] == 0xFF) if(data[2] == 0xFE && data[1] === 0 && data[0] === 0) i = 4;\n j = 4;\n for(; i < len; i+=j) {\n w = (data[i]<<24) + (data[i+1]<<16) + (data[i+2]<<8) + (data[i+3]);\n if(w > 0xFFFF) {\n w -= 0x10000;\n out[k++] = String.fromCharCode(0xD800 + ((w >> 10) & 0x3FF));\n out[k++] = String.fromCharCode(0xDC00 + (w & 0x3FF));\n }\n else out[k++] = String.fromCharCode(w);\n }\n break;\n case \"utf7\":\n if(len >= 4 && data[0] == 0x2B && data[1] == 0x2F && data[2] == 0x76) {\n if(len >= 5 && data[3] == 0x38 && data[4] == 0x2D) i = 5;\n else if(data[3] == 0x38 || data[3] == 0x39 || data[3] == 0x2B || data[3] == 0x2F) i = 4;\n }\n for(; i < len; i+=j) {\n if(data[i] !== 0x2b) { j=1; out[k++] = String.fromCharCode(data[i]); continue; }\n j=1;\n if(data[i+1] === 0x2d) { j = 2; out[k++] = \"+\"; continue; }\n // eslint-disable-next-line no-useless-escape\n while(String.fromCharCode(data[i+j]).match(/[A-Za-z0-9+\\/]/)) j++;\n var dash = 0;\n if(data[i+j] === 0x2d) { ++j; dash=1; }\n var tt = [];\n var o64 = \"\";\n var c1=0, c2=0, c3=0;\n var e1=0, e2=0, e3=0, e4=0;\n for(var l = 1; l < j - dash;) {\n e1 = BM.indexOf(String.fromCharCode(data[i+l++]));\n e2 = BM.indexOf(String.fromCharCode(data[i+l++]));\n c1 = e1 << 2 | e2 >> 4;\n tt.push(c1);\n e3 = BM.indexOf(String.fromCharCode(data[i+l++]));\n if(e3 === -1) break;\n c2 = (e2 & 15) << 4 | e3 >> 2;\n tt.push(c2);\n e4 = BM.indexOf(String.fromCharCode(data[i+l++]));\n if(e4 === -1) break;\n c3 = (e3 & 3) << 6 | e4;\n if(e4 < 64) tt.push(c3);\n }\n o64 = decode(1201, tt);\n for(l = 0; l < o64.length; ++l) out[k++] = o64.charAt(l);\n }\n break;\n default: throw new Error(\"Unsupported magic: \" + cp + \" \" + magic[cp]);\n }\n else throw new Error(\"Unrecognized CP: \" + cp);\n return out.slice(0,k).join(\"\");\n };\n var hascp = function hascp(cp) { return !!(cpt[cp] || magic[cp]); };\n cpt.utils = { decode: decode, encode: encode, hascp: hascp, magic: magic, cache:cache };\n return cpt;\n}));\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, next, step;\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES\n ? boundFunction(anObject(step = iterable[index])[0], step[1])\n : boundFunction(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n\niterate.stop = function (result) {\n return new Result(true, result);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","/*!\n * Vue.js v2.6.12\n * (c) 2014-2020 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return ''\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (target) {\n targetStack.push(target);\n Dep.target = target;\n}\n\nfunction popTarget () {\n targetStack.pop();\n Dep.target = targetStack[targetStack.length - 1];\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n protoAugment(value, arrayMethods);\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false)\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n if (!valid) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n var expectedValue = styleValue(value, expectedType);\n var receivedValue = styleValue(value, receivedType);\n // check if we need to specify expected value\n if (expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n !isBoolean(expectedType, receivedType)) {\n message += \" with value \" + expectedValue;\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + receivedValue + \".\";\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n}\n\nfunction isExplicable (value) {\n var explicitTypes = ['string', 'number', 'boolean'];\n return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n\nvar isUsingMicroTask = false;\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n isUsingMicroTask = true;\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n isUsingMicroTask = true;\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Technically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals. ' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g.