diff --git a/cp/public/assets/js/jspdf.plugin.autotable.min.js b/cp/public/assets/js/jspdf.plugin.autotable.min.js new file mode 100644 index 0000000..384d491 --- /dev/null +++ b/cp/public/assets/js/jspdf.plugin.autotable.min.js @@ -0,0 +1,10 @@ +/*! + * + * jsPDF AutoTable plugin v3.8.4 + * + * Copyright (c) 2024 Simon Bengtsson, https://github.com/simonbengtsson/jsPDF-AutoTable + * Licensed under the MIT License. + * http://opensource.org/licenses/mit-license + * + */ +!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e(function(){try{return require("jspdf")}catch(t){}}());else if("function"==typeof define&&define.amd)define(["jspdf"],e);else{var n="object"==typeof exports?e(function(){try{return require("jspdf")}catch(t){}}()):e(t.jspdf);for(var o in n)("object"==typeof exports?exports:t)[o]=n[o]}}("undefined"!=typeof globalThis?globalThis:void 0!==this?this:"undefined"!=typeof window?window:"undefined"!=typeof self?self:global,(function(t){return function(){"use strict";var e={172:function(t,e){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function o(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(o.prototype=e.prototype,new o)});Object.defineProperty(e,"__esModule",{value:!0}),e.CellHookData=e.HookData=void 0;var r=function(t,e,n){this.table=e,this.pageNumber=e.pageNumber,this.pageCount=this.pageNumber,this.settings=e.settings,this.cursor=n,this.doc=t.getDocument()};e.HookData=r;var i=function(t){function e(e,n,o,r,i,l){var a=t.call(this,e,n,l)||this;return a.cell=o,a.row=r,a.column=i,a.section=r.section,a}return o(e,t),e}(r);e.CellHookData=i},340:function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var o=n(4),r=n(136),i=n(744),l=n(776),a=n(664),s=n(972);e.default=function(t){t.API.autoTable=function(){for(var t,e=[],n=0;n {}}) instead."),t.API.autoTable.globalDefaults||(t.API.autoTable.globalDefaults={}),t.API.autoTable.globalDefaults.addPageContent=e,this},t.API.autoTableAddPage=function(){return console.error("Use of deprecated function: autoTableAddPage. Use doc.addPage()"),this.addPage(),this}}},136:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e,n,o,r){o=o||{};var i=r.internal.scaleFactor,l=r.internal.getFontSize()/i,a=l*(r.getLineHeightFactor?r.getLineHeightFactor():1.15),s="",u=1;if("middle"!==o.valign&&"bottom"!==o.valign&&"center"!==o.halign&&"right"!==o.halign||(u=(s="string"==typeof t?t.split(/\r\n|\r|\n/g):t).length||1),n+=l*(2-1.15),"middle"===o.valign?n-=u/2*a:"bottom"===o.valign&&(n-=u*a),"center"===o.halign||"right"===o.halign){var d=l;if("center"===o.halign&&(d*=.5),s&&u>=1){for(var h=0;h0,o=e||0===e;return n&&o?"DF":n?"S":o?"F":null}function o(t,e){var n,o,r,i;if(t=t||e,Array.isArray(t)){if(t.length>=4)return{top:t[0],right:t[1],bottom:t[2],left:t[3]};if(3===t.length)return{top:t[0],right:t[1],bottom:t[2],left:t[1]};if(2===t.length)return{top:t[0],right:t[1],bottom:t[0],left:t[1]};t=1===t.length?t[0]:e}return"object"==typeof t?("number"==typeof t.vertical&&(t.top=t.vertical,t.bottom=t.vertical),"number"==typeof t.horizontal&&(t.right=t.horizontal,t.left=t.horizontal),{left:null!==(n=t.left)&&void 0!==n?n:e,top:null!==(o=t.top)&&void 0!==o?o:e,right:null!==(r=t.right)&&void 0!==r?r:e,bottom:null!==(i=t.bottom)&&void 0!==i?i:e}):("number"!=typeof t&&(t=e),{top:t,right:t,bottom:t,left:t})}Object.defineProperty(e,"__esModule",{value:!0}),e.getPageAvailableWidth=e.parseSpacing=e.getFillStyle=e.addTableBorder=e.getStringWidth=void 0,e.getStringWidth=function(t,e,n){return n.applyStyles(e,!0),(Array.isArray(t)?t:[t]).map((function(t){return n.getTextWidth(t)})).reduce((function(t,e){return Math.max(t,e)}),0)},e.addTableBorder=function(t,e,o,r){var i=e.settings.tableLineWidth,l=e.settings.tableLineColor;t.applyStyles({lineWidth:i,lineColor:l});var a=n(i,!1);a&&t.rect(o.x,o.y,e.getWidth(t.pageSize().width),r.y-o.y,a)},e.getFillStyle=n,e.parseSpacing=o,e.getPageAvailableWidth=function(t,e){var n=o(e.settings.margin,0);return t.pageSize().width-(n.left+n.right)}},796:function(t,e){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function o(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(o.prototype=e.prototype,new o)});Object.defineProperty(e,"__esModule",{value:!0}),e.getTheme=e.defaultStyles=e.HtmlRowInput=void 0;var r=function(t){function e(e){var n=t.call(this)||this;return n._element=e,n}return o(e,t),e}(Array);e.HtmlRowInput=r,e.defaultStyles=function(t){return{font:"helvetica",fontStyle:"normal",overflow:"linebreak",fillColor:!1,textColor:20,halign:"left",valign:"top",fontSize:10,cellPadding:5/t,lineColor:200,lineWidth:0,cellWidth:"auto",minCellHeight:0,minCellWidth:0}},e.getTheme=function(t){return{striped:{table:{fillColor:255,textColor:80,fontStyle:"normal"},head:{textColor:255,fillColor:[41,128,185],fontStyle:"bold"},body:{},foot:{textColor:255,fillColor:[41,128,185],fontStyle:"bold"},alternateRow:{fillColor:245}},grid:{table:{fillColor:255,textColor:80,fontStyle:"normal",lineWidth:.1},head:{textColor:255,fillColor:[26,188,156],fontStyle:"bold",lineWidth:0},body:{},foot:{textColor:255,fillColor:[26,188,156],fontStyle:"bold",lineWidth:0},alternateRow:{}},plain:{head:{fontStyle:"bold"},foot:{fontStyle:"bold"}}}[t]}},903:function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0}),e.parseCss=void 0;var o=n(420);function r(t,e){var n=i(t,e);if(!n)return null;var o=n.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d*\.?\d*))?\)$/);if(!o||!Array.isArray(o))return null;var r=[parseInt(o[1]),parseInt(o[2]),parseInt(o[3])];return 0===parseInt(o[4])||isNaN(r[0])||isNaN(r[1])||isNaN(r[2])?null:r}function i(t,e){var n=e(t);return"rgba(0, 0, 0, 0)"===n||"transparent"===n||"initial"===n||"inherit"===n?null==t.parentElement?null:i(t.parentElement,e):n}e.parseCss=function(t,e,n,i,l){var a={},s=96/72,u=r(e,(function(t){return l.getComputedStyle(t).backgroundColor}));null!=u&&(a.fillColor=u);var d=r(e,(function(t){return l.getComputedStyle(t).color}));null!=d&&(a.textColor=d);var h=function(t,e){var n=[t.paddingTop,t.paddingRight,t.paddingBottom,t.paddingLeft],r=96/(72/e),i=(parseInt(t.lineHeight)-parseInt(t.fontSize))/e/2,l=n.map((function(t){return parseInt(t||"0")/r})),a=(0,o.parseSpacing)(l,0);i>a.top&&(a.top=i);i>a.bottom&&(a.bottom=i);return a}(i,n);h&&(a.cellPadding=h);var c="borderTopColor",f=s*n,g=i.borderTopWidth;if(i.borderBottomWidth===g&&i.borderRightWidth===g&&i.borderLeftWidth===g){var p=(parseFloat(g)||0)/f;p&&(a.lineWidth=p)}else a.lineWidth={top:(parseFloat(i.borderTopWidth)||0)/f,right:(parseFloat(i.borderRightWidth)||0)/f,bottom:(parseFloat(i.borderBottomWidth)||0)/f,left:(parseFloat(i.borderLeftWidth)||0)/f},a.lineWidth.top||(a.lineWidth.right?c="borderRightColor":a.lineWidth.bottom?c="borderBottomColor":a.lineWidth.left&&(c="borderLeftColor"));var y=r(e,(function(t){return l.getComputedStyle(t)[c]}));null!=y&&(a.lineColor=y);var v=["left","right","center","justify"];-1!==v.indexOf(i.textAlign)&&(a.halign=i.textAlign),-1!==(v=["middle","bottom","top"]).indexOf(i.verticalAlign)&&(a.valign=i.verticalAlign);var m=parseInt(i.fontSize||"");isNaN(m)||(a.fontSize=m/s);var b=function(t){var e="";("bold"===t.fontWeight||"bolder"===t.fontWeight||parseInt(t.fontWeight)>=700)&&(e="bold");"italic"!==t.fontStyle&&"oblique"!==t.fontStyle||(e+="italic");return e}(i);b&&(a.fontStyle=b);var w=(i.fontFamily||"").toLowerCase();return-1!==t.indexOf(w)&&(a.font=w),a}},744:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.DocHandler=void 0;var n={},o=function(){function t(t){this.jsPDFDocument=t,this.userStyles={textColor:t.getTextColor?this.jsPDFDocument.getTextColor():0,fontSize:t.internal.getFontSize(),fontStyle:t.internal.getFont().fontStyle,font:t.internal.getFont().fontName,lineWidth:t.getLineWidth?this.jsPDFDocument.getLineWidth():0,lineColor:t.getDrawColor?this.jsPDFDocument.getDrawColor():0}}return t.setDefaults=function(t,e){void 0===e&&(e=null),e?e.__autoTableDocumentDefaults=t:n=t},t.unifyColor=function(t){return Array.isArray(t)?t:"number"==typeof t?[t,t,t]:"string"==typeof t?[t]:null},t.prototype.applyStyles=function(e,n){var o,r,i;void 0===n&&(n=!1),e.fontStyle&&this.jsPDFDocument.setFontStyle&&this.jsPDFDocument.setFontStyle(e.fontStyle);var l=this.jsPDFDocument.internal.getFont(),a=l.fontStyle,s=l.fontName;if(e.font&&(s=e.font),e.fontStyle){a=e.fontStyle;var u=this.getFontList()[s];u&&-1===u.indexOf(a)&&(this.jsPDFDocument.setFontStyle&&this.jsPDFDocument.setFontStyle(u[0]),a=u[0])}if(this.jsPDFDocument.setFont(s,a),e.fontSize&&this.jsPDFDocument.setFontSize(e.fontSize),!n){var d=t.unifyColor(e.fillColor);d&&(o=this.jsPDFDocument).setFillColor.apply(o,d),(d=t.unifyColor(e.textColor))&&(r=this.jsPDFDocument).setTextColor.apply(r,d),(d=t.unifyColor(e.lineColor))&&(i=this.jsPDFDocument).setDrawColor.apply(i,d),"number"==typeof e.lineWidth&&this.jsPDFDocument.setLineWidth(e.lineWidth)}},t.prototype.splitTextToSize=function(t,e,n){return this.jsPDFDocument.splitTextToSize(t,e,n)},t.prototype.rect=function(t,e,n,o,r){return this.jsPDFDocument.rect(t,e,n,o,r)},t.prototype.getLastAutoTable=function(){return this.jsPDFDocument.lastAutoTable||null},t.prototype.getTextWidth=function(t){return this.jsPDFDocument.getTextWidth(t)},t.prototype.getDocument=function(){return this.jsPDFDocument},t.prototype.setPage=function(t){this.jsPDFDocument.setPage(t)},t.prototype.addPage=function(){return this.jsPDFDocument.addPage()},t.prototype.getFontList=function(){return this.jsPDFDocument.getFontList()},t.prototype.getGlobalOptions=function(){return n||{}},t.prototype.getDocumentOptions=function(){return this.jsPDFDocument.__autoTableDocumentDefaults||{}},t.prototype.pageSize=function(){var t=this.jsPDFDocument.internal.pageSize;return null==t.width&&(t={width:t.getWidth(),height:t.getHeight()}),t},t.prototype.scaleFactor=function(){return this.jsPDFDocument.internal.scaleFactor},t.prototype.getLineHeightFactor=function(){var t=this.jsPDFDocument;return t.getLineHeightFactor?t.getLineHeightFactor():1.15},t.prototype.getLineHeight=function(t){return t/this.scaleFactor()*this.getLineHeightFactor()},t.prototype.pageNumber=function(){var t=this.jsPDFDocument.internal.getCurrentPageInfo();return t?t.pageNumber:this.jsPDFDocument.internal.getNumberOfPages()},t}();e.DocHandler=o},4:function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0}),e.parseHtml=void 0;var o=n(903),r=n(796);function i(t,e,n,i,a,s){for(var u=new r.HtmlRowInput(i),d=0;d0&&(a||"none"!==g.display))return u}function l(t){var e=t.cloneNode(!0);return e.innerHTML=e.innerHTML.replace(/\n/g,"").replace(/ +/g," "),e.innerHTML=e.innerHTML.split(//).map((function(t){return t.trim()})).join("\n"),e.innerText||e.textContent||""}e.parseHtml=function(t,e,n,o,r){var l,a,s;void 0===o&&(o=!1),void 0===r&&(r=!1),s="string"==typeof e?n.document.querySelector(e):e;var u=Object.keys(t.getFontList()),d=t.scaleFactor(),h=[],c=[],f=[];if(!s)return console.error("Html table could not be found with input: ",e),{head:h,body:c,foot:f};for(var g=0;g0?"_".concat(i):"")};r.push(l)}})),r}(r,i,l);return{columns:u,head:r,body:i,foot:l}}(n,h,d);return{id:e.tableId,content:p,hooks:f,styles:c,settings:g}}},792:function(t,e){function n(t){t.rowHeight?(console.error("Use of deprecated style rowHeight. It is renamed to minCellHeight."),t.minCellHeight||(t.minCellHeight=t.rowHeight)):t.columnWidth&&(console.error("Use of deprecated style columnWidth. It is renamed to cellWidth."),t.cellWidth||(t.cellWidth=t.columnWidth))}Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e,o,r){for(var i=function(e){e&&"object"!=typeof e&&console.error("The options parameter should be of type object, is: "+typeof e),void 0!==e.extendWidth&&(e.tableWidth=e.extendWidth?"auto":"wrap",console.error("Use of deprecated option: extendWidth, use tableWidth instead.")),void 0!==e.margins&&(void 0===e.margin&&(e.margin=e.margins),console.error("Use of deprecated option: margins, use margin instead.")),e.startY&&"number"!=typeof e.startY&&(console.error("Invalid value for startY option",e.startY),delete e.startY),!e.didDrawPage&&(e.afterPageContent||e.beforePageContent||e.afterPageAdd)&&(console.error("The afterPageContent, beforePageContent and afterPageAdd hooks are deprecated. Use didDrawPage instead"),e.didDrawPage=function(n){t.applyStyles(t.userStyles),e.beforePageContent&&e.beforePageContent(n),t.applyStyles(t.userStyles),e.afterPageContent&&e.afterPageContent(n),t.applyStyles(t.userStyles),e.afterPageAdd&&n.pageNumber>1&&n.afterPageAdd(n),t.applyStyles(t.userStyles)}),["createdHeaderCell","drawHeaderRow","drawRow","drawHeaderCell"].forEach((function(t){e[t]&&console.error('The "'.concat(t,'" hook has changed in version 3.0, check the changelog for how to migrate.'))})),[["showFoot","showFooter"],["showHead","showHeader"],["didDrawPage","addPageContent"],["didParseCell","createdCell"],["headStyles","headerStyles"]].forEach((function(t){var n=t[0],o=t[1];e[o]&&(console.error("Use of deprecated option ".concat(o,". Use ").concat(n," instead")),e[n]=e[o])})),[["padding","cellPadding"],["lineHeight","rowHeight"],"fontSize","overflow"].forEach((function(t){var n="string"==typeof t?t:t[0],o="string"==typeof t?t:t[1];void 0!==e[n]&&(void 0===e.styles[o]&&(e.styles[o]=e[n]),console.error("Use of deprecated option: "+n+", use the style "+o+" instead."))}));for(var o=0,r=["styles","bodyStyles","headStyles","footStyles"];o1})).length>0},t.prototype.canEntireRowFit=function(t,e){return this.getMaxCellHeight(e)<=t},t.prototype.getMinimumRowHeight=function(t,e){var n=this;return t.reduce((function(t,o){var r=n.cells[o.index];if(!r)return 0;var i=e.getLineHeight(r.styles.fontSize),l=r.padding("vertical")+i;return l>t?l:t}),0)},t}();e.Row=a;var s=function(){function t(t,e,n){var o,r;this.contentHeight=0,this.contentWidth=0,this.wrappedWidth=0,this.minReadableWidth=0,this.minWidth=0,this.width=0,this.height=0,this.x=0,this.y=0,this.styles=e,this.section=n,this.raw=t;var i=t;null==t||"object"!=typeof t||Array.isArray(t)?(this.rowSpan=1,this.colSpan=1):(this.rowSpan=t.rowSpan||1,this.colSpan=t.colSpan||1,i=null!==(r=null!==(o=t.content)&&void 0!==o?o:t.title)&&void 0!==r?r:t,t._element&&(this.raw=t._element));var l=null!=i?""+i:"";this.text=l.split(/\r\n|\r|\n/g)}return t.prototype.getTextPos=function(){var t,e;if("top"===this.styles.valign)t=this.y+this.padding("top");else if("bottom"===this.styles.valign)t=this.y+this.height-this.padding("bottom");else{var n=this.height-this.padding("vertical");t=this.y+n/2+this.padding("top")}if("right"===this.styles.halign)e=this.x+this.width-this.padding("right");else if("center"===this.styles.halign){var o=this.width-this.padding("horizontal");e=this.x+o/2+this.padding("left")}else e=this.x+this.padding("left");return{x:e,y:t}},t.prototype.getContentHeight=function(t,e){void 0===e&&(e=1.15);var n=(Array.isArray(this.text)?this.text.length:1)*(this.styles.fontSize/t*e)+this.padding("vertical");return Math.max(n,this.styles.minCellHeight)},t.prototype.padding=function(t){var e=(0,i.parseSpacing)(this.styles.cellPadding,0);return"vertical"===t?e.top+e.bottom:"horizontal"===t?e.left+e.right:e[t]},t}();e.Cell=s;var u=function(){function t(t,e,n){this.wrappedWidth=0,this.minReadableWidth=0,this.minWidth=0,this.width=0,this.dataKey=t,this.raw=e,this.index=n}return t.prototype.getMaxCustomCellWidth=function(t){for(var e=0,n=0,o=t.allRows();n0?n:null}function d(t,e,n,o,r,i,s){var u,d=(0,l.getTheme)(o);"head"===t?u=r.headStyles:"body"===t?u=r.bodyStyles:"foot"===t&&(u=r.footStyles);var h=(0,a.assign)({},d.table,d[t],r.styles,u),c=r.columnStyles[e.dataKey]||r.columnStyles[e.index]||{},f="body"===t?c:{},g="body"===t&&n%2==0?(0,a.assign)({},d.alternateRow,r.alternateRowStyles):{},p=(0,l.defaultStyles)(i),y=(0,a.assign)({},p,h,g,f);return(0,a.assign)(y,s)}e.createTable=function(t,e){var n=new o.DocHandler(t),l=function(t,e){var n=t.content,o=function(t){return t.map((function(t,e){var n,o,i;return i="object"==typeof t&&null!==(o=null!==(n=t.dataKey)&&void 0!==n?n:t.key)&&void 0!==o?o:e,new r.Column(i,t,e)}))}(n.columns);if(0===n.head.length){(i=u(o,"head"))&&n.head.push(i)}if(0===n.foot.length){var i;(i=u(o,"foot"))&&n.foot.push(i)}var l=t.settings.theme,a=t.styles;return{columns:o,head:s("head",n.head,o,a,l,e),body:s("body",n.body,o,a,l,e),foot:s("foot",n.foot,o,a,l,e)}}(e,n.scaleFactor()),a=new r.Table(e,l);return(0,i.calculateWidths)(n,a),n.applyStyles(n.userStyles),a}},664:function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0}),e.addPage=e.drawTable=void 0;var o=n(420),r=n(260),i=n(744),l=n(356),a=n(136),s=n(224);function u(t,e,n,o){var r=e.settings;t.applyStyles(t.userStyles),"firstPage"!==r.showHead&&"everyPage"!==r.showHead||e.head.forEach((function(r){return g(t,e,r,n,o)}))}function d(t,e,n,o,r,i){t.applyStyles(t.userStyles),i=null!=i?i:e.body.length;var l=Math.min(n+i,e.body.length),a=-1;return e.body.slice(n,l).forEach((function(i,l){var s=n+l===e.body.length-1,u=y(t,e,s,o);i.canEntireRowFit(u,r)&&(g(t,e,i,o,r),a=n+l)})),a}function h(t,e,n,o){var r=e.settings;t.applyStyles(t.userStyles),"lastPage"!==r.showFoot&&"everyPage"!==r.showFoot||e.foot.forEach((function(r){return g(t,e,r,n,o)}))}function c(t,e,n){var o=n.getLineHeight(t.styles.fontSize),r=t.padding("vertical"),i=Math.floor((e-r)/o);return Math.max(0,i)}function f(t,e,n,o,i,a,s){var u=y(t,e,o,a);if(n.canEntireRowFit(u,s))g(t,e,n,a,s);else if(function(t,e,n,o){var r=t.pageSize().height,i=o.settings.margin,l=r-(i.top+i.bottom);"body"===e.section&&(l-=o.getHeadHeight(o.columns)+o.getFootHeight(o.columns));var a=e.getMinimumRowHeight(o.columns,t),s=al)return console.error("Will not be able to print row ".concat(e.index," correctly since it's minimum height is larger than page height")),!0;if(!s)return!1;var u=e.hasRowSpan(o.columns);return e.getMaxCellHeight(o.columns)>l?(u&&console.error("The content of row ".concat(e.index," will not be drawn correctly since drawing rows with a height larger than the page height and has cells with rowspans is not supported.")),!0):!u&&"avoid"!==o.settings.rowPageBreak}(t,n,u,e)){var d=function(t,e,n,o){var i={};t.spansMultiplePages=!0,t.height=0;for(var a=0,s=0,u=n.columns;sf&&(h.text=b.text.splice(f,b.text.length));var g=o.scaleFactor(),p=o.getLineHeightFactor();b.contentHeight=b.getContentHeight(g,p),b.contentHeight>=e&&(b.contentHeight=e,h.styles.minCellHeight-=e),b.contentHeight>t.height&&(t.height=b.contentHeight),h.contentHeight=h.getContentHeight(g,p),h.contentHeight>a&&(a=h.contentHeight),i[d.index]=h}}var y=new r.Row(t.raw,-1,t.section,i,!0);y.height=a;for(var v=0,m=n.columns;vb.pageSize().height)&&(m(b),c.y=a.top),e.callWillDrawPageHooks(b,c);var w=(0,l.assign)({},c);e.startPageNumber=b.pageNumber(),n.horizontalPageBreak?function(t,e,n,o){var r=(0,s.calculateAllColumnsCanFitInPage)(t,e),i=e.settings;if("afterAllRows"===i.horizontalPageBreakBehaviour)r.forEach((function(r,i){t.applyStyles(t.userStyles),i>0?v(t,e,n,o,r.columns,!0):u(t,e,o,r.columns),function(t,e,n,o,r){t.applyStyles(t.userStyles),e.body.forEach((function(i,l){var a=l===e.body.length-1;f(t,e,i,a,n,o,r)}))}(t,e,n,o,r.columns),h(t,e,o,r.columns)}));else for(var l=-1,a=r[0],c=function(){var i=l;if(a){t.applyStyles(t.userStyles);var s=a.columns;l>=0?v(t,e,n,o,s,!0):u(t,e,o,s),i=d(t,e,l+1,o,s),h(t,e,o,s)}var c=i-l;r.slice(1).forEach((function(r){t.applyStyles(t.userStyles),v(t,e,n,o,r.columns,!0),d(t,e,l+1,o,r.columns,c),h(t,e,o,r.columns)})),l=i};l=c))break;d=!1,a.push(h),s.push(e.columns[h]),i-=c,h++}return{colIndexes:a,columns:s,lastIndex:h-1}}e.calculateAllColumnsCanFitInPage=function(t,e){for(var n=[],o=0;on(t)}));c.length&&(e=r(c,e,n))}return e}function i(t,e,n,r,i){return t.map((function(t){return function(t,e,n,r,i){var l=1e4*r.scaleFactor();if(e=Math.ceil(e*l)/l,e>=(0,o.getStringWidth)(t,n,r))return t;for(;e<(0,o.getStringWidth)(t+i,n,r)&&!(t.length<=1);)t=t.substring(0,t.length-1);return t.trim()+i}(t,e,n,r,i)}))}e.calculateWidths=function(t,e){!function(t,e){var n=t.scaleFactor(),r=e.settings.horizontalPageBreak,i=(0,o.getPageAvailableWidth)(t,e);e.allRows().forEach((function(l){for(var a=0,s=e.columns;ai?(d.minWidth=i,d.wrappedWidth=i):(d.minWidth=d.contentWidth,d.wrappedWidth=d.contentWidth);else{var g=10/n;d.minWidth=d.styles.minCellWidth||g,d.wrappedWidth=d.contentWidth,d.minWidth>d.wrappedWidth&&(d.wrappedWidth=d.minWidth)}}}})),e.allRows().forEach((function(t){for(var n=0,o=e.columns;n1&&!r.minWidth&&(r.minWidth=i.minWidth),i.colSpan>1&&!r.wrappedWidth&&(r.wrappedWidth=i.minWidth))}}))}(t,e);var n=[],l=0;e.columns.forEach((function(t){var o=t.getMaxCustomCellWidth(e);o?t.width=o:(t.width=t.wrappedWidth,n.push(t)),l+=t.width}));var a=e.getWidth(t.pageSize().width)-l;a&&(a=r(n,a,(function(t){return Math.max(t.minReadableWidth,t.minWidth)}))),a&&(a=r(n,a,(function(t){return t.minWidth}))),a=Math.abs(a),!e.settings.horizontalPageBreak&&a>.1/t.scaleFactor()&&(a=a<1?a:Math.round(a),console.warn("Of the table content, ".concat(a," units width could not fit page"))),function(t){for(var e=t.allRows(),n=0;n1&&t.columns[a+1])i+=s.width,delete o.cells[s.index];else if(r){var u=r;delete o.cells[s.index],r=null,u.width=s.width+i}else{if(!(u=o.cells[s.index]))continue;if(l=u.colSpan,i=0,u.colSpan>1){r=u,i+=s.width;continue}u.width=s.width+i}}}(e),function(t,e){for(var n={count:0,height:0},o=0,r=t.allRows();o1&&n.count*n.height0&&n.height>f&&(f=n.height),f>l.height&&(l.height=f)}}n.count--}}(e,t),function(t){for(var e={},n=1,o=t.allRows(),r=0;r1)n--,delete i.cells[s.index];else if(u)u.cell.height+=i.height,n=u.cell.colSpan,delete i.cells[s.index],u.left--,u.left<=1&&delete e[s.index];else{var d=i.cells[s.index];if(!d)continue;if(d.height=i.height,d.rowSpan>1){var h=o.length-r,c=d.rowSpan>h?h:d.rowSpan;e[s.index]={cell:d,left:c,row:i}}}}}(e)},e.resizeColumns=r,e.ellipsize=i},964:function(e){if(void 0===t){var n=new Error("Cannot find module 'undefined'");throw n.code="MODULE_NOT_FOUND",n}e.exports=t}},n={};function o(t){var r=n[t];if(void 0!==r)return r.exports;var i=n[t]={exports:{}};return e[t].call(i.exports,i,i.exports,o),i.exports}var r={};return function(){var t=r;Object.defineProperty(t,"__esModule",{value:!0}),t.Cell=t.Column=t.Row=t.Table=t.CellHookData=t.__drawTable=t.__createTable=t.applyPlugin=void 0;var e=o(340),n=o(776),i=o(664),l=o(972),a=o(260);Object.defineProperty(t,"Table",{enumerable:!0,get:function(){return a.Table}});var s=o(172);Object.defineProperty(t,"CellHookData",{enumerable:!0,get:function(){return s.CellHookData}});var u=o(260);function d(t){(0,e.default)(t)}Object.defineProperty(t,"Cell",{enumerable:!0,get:function(){return u.Cell}}),Object.defineProperty(t,"Column",{enumerable:!0,get:function(){return u.Column}}),Object.defineProperty(t,"Row",{enumerable:!0,get:function(){return u.Row}}),t.applyPlugin=d,t.__createTable=function(t,e){var o=(0,n.parseInput)(t,e);return(0,l.createTable)(t,o)},t.__drawTable=function(t,e){(0,i.drawTable)(t,e)};try{var h=o(964);h.jsPDF&&(h=h.jsPDF),d(h)}catch(t){}t.default=function(t,e){var o=(0,n.parseInput)(t,e),r=(0,l.createTable)(t,o);(0,i.drawTable)(t,r)}}(),r}()})); \ No newline at end of file diff --git a/cp/public/assets/js/jspdf.umd.min.js b/cp/public/assets/js/jspdf.umd.min.js new file mode 100644 index 0000000..5793b5a --- /dev/null +++ b/cp/public/assets/js/jspdf.umd.min.js @@ -0,0 +1,398 @@ +/** @license + * + * jsPDF - PDF Document creation from JavaScript + * Version 2.5.2 Built on 2024-09-17T13:29:57.856Z + * CommitID 00000000 + * + * Copyright (c) 2010-2021 James Hall , https://github.com/MrRio/jsPDF + * 2015-2021 yWorks GmbH, http://www.yworks.com + * 2015-2021 Lukas Holländer , https://github.com/HackbrettXXX + * 2016-2018 Aras Abbasi + * 2010 Aaron Spike, https://github.com/acspike + * 2012 Willow Systems Corporation, https://github.com/willowsystems + * 2012 Pablo Hess, https://github.com/pablohess + * 2012 Florian Jenett, https://github.com/fjenett + * 2013 Warren Weckesser, https://github.com/warrenweckesser + * 2013 Youssef Beddad, https://github.com/lifof + * 2013 Lee Driscoll, https://github.com/lsdriscoll + * 2013 Stefan Slonevskiy, https://github.com/stefslon + * 2013 Jeremy Morel, https://github.com/jmorel + * 2013 Christoph Hartmann, https://github.com/chris-rock + * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria + * 2014 James Makes, https://github.com/dollaruw + * 2014 Diego Casorran, https://github.com/diegocr + * 2014 Steven Spungin, https://github.com/Flamenco + * 2014 Kenneth Glassey, https://github.com/Gavvers + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * Contributor(s): + * siefkenj, ahwolf, rickygu, Midnith, saintclair, eaparango, + * kim3er, mfo, alnorth, Flamenco + */ + +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t=t||self).jspdf={})}(this,(function(t){"use strict";function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var r=function(){return"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this}();function n(){r.console&&"function"==typeof r.console.log&&r.console.log.apply(r.console,arguments)}var i={log:n,warn:function(t){r.console&&("function"==typeof r.console.warn?r.console.warn.apply(r.console,arguments):n.call(null,arguments))},error:function(t){r.console&&("function"==typeof r.console.error?r.console.error.apply(r.console,arguments):n(t))}};function a(t,e,r){var n=new XMLHttpRequest;n.open("GET",t),n.responseType="blob",n.onload=function(){l(n.response,e,r)},n.onerror=function(){i.error("could not download file")},n.send()}function o(t){var e=new XMLHttpRequest;e.open("HEAD",t,!1);try{e.send()}catch(t){}return e.status>=200&&e.status<=299}function s(t){try{t.dispatchEvent(new MouseEvent("click"))}catch(r){var e=document.createEvent("MouseEvents");e.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),t.dispatchEvent(e)}}var c,u,l=r.saveAs||("object"!==("undefined"==typeof window?"undefined":e(window))||window!==r?function(){}:"undefined"!=typeof HTMLAnchorElement&&"download"in HTMLAnchorElement.prototype?function(t,e,n){var i=r.URL||r.webkitURL,c=document.createElement("a");e=e||t.name||"download",c.download=e,c.rel="noopener","string"==typeof t?(c.href=t,c.origin!==location.origin?o(c.href)?a(t,e,n):s(c,c.target="_blank"):s(c)):(c.href=i.createObjectURL(t),setTimeout((function(){i.revokeObjectURL(c.href)}),4e4),setTimeout((function(){s(c)}),0))}:"msSaveOrOpenBlob"in navigator?function(t,r,n){if(r=r||t.name||"download","string"==typeof t)if(o(t))a(t,r,n);else{var c=document.createElement("a");c.href=t,c.target="_blank",setTimeout((function(){s(c)}))}else navigator.msSaveOrOpenBlob(function(t,r){return void 0===r?r={autoBom:!1}:"object"!==e(r)&&(i.warn("Deprecated: Expected third argument to be a object"),r={autoBom:!r}),r.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(t.type)?new Blob([String.fromCharCode(65279),t],{type:t.type}):t}(t,n),r)}:function(t,n,i,o){if((o=o||open("","_blank"))&&(o.document.title=o.document.body.innerText="downloading..."),"string"==typeof t)return a(t,n,i);var s="application/octet-stream"===t.type,c=/constructor/i.test(r.HTMLElement)||r.safari,u=/CriOS\/[\d]+/.test(navigator.userAgent);if((u||s&&c)&&"object"===("undefined"==typeof FileReader?"undefined":e(FileReader))){var l=new FileReader;l.onloadend=function(){var t=l.result;t=u?t:t.replace(/^data:[^;]*;/,"data:attachment/file;"),o?o.location.href=t:location=t,o=null},l.readAsDataURL(t)}else{var h=r.URL||r.webkitURL,f=h.createObjectURL(t);o?o.location=f:location.href=f,o=null,setTimeout((function(){h.revokeObjectURL(f)}),4e4)}}); +/** + * A class to parse color values + * @author Stoyan Stefanov + * {@link http://www.phpied.com/rgb-color-parser-in-javascript/} + * @license Use it if you like it + */function h(t){var e;t=t||"",this.ok=!1,"#"==t.charAt(0)&&(t=t.substr(1,6));t={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dodgerblue:"1e90ff",feldspar:"d19275",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgrey:"d3d3d3",lightgreen:"90ee90",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslateblue:"8470ff",lightslategray:"778899",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370d8",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"d87093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",red:"ff0000",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",violetred:"d02090",wheat:"f5deb3",white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32"}[t=(t=t.replace(/ /g,"")).toLowerCase()]||t;for(var r=[{re:/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,example:["rgb(123, 234, 45)","rgb(255,234,245)"],process:function(t){return[parseInt(t[1]),parseInt(t[2]),parseInt(t[3])]}},{re:/^(\w{2})(\w{2})(\w{2})$/,example:["#00ff00","336699"],process:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/^(\w{1})(\w{1})(\w{1})$/,example:["#fb0","f0f"],process:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}}],n=0;n255?255:this.r,this.g=this.g<0||isNaN(this.g)?0:this.g>255?255:this.g,this.b=this.b<0||isNaN(this.b)?0:this.b>255?255:this.b,this.toRGB=function(){return"rgb("+this.r+", "+this.g+", "+this.b+")"},this.toHex=function(){var t=this.r.toString(16),e=this.g.toString(16),r=this.b.toString(16);return 1==t.length&&(t="0"+t),1==e.length&&(e="0"+e),1==r.length&&(r="0"+r),"#"+t+e+r}} +/** + * @license + * Joseph Myers does not specify a particular license for his work. + * + * Author: Joseph Myers + * Accessed from: http://www.myersdaily.org/joseph/javascript/md5.js + * + * Modified by: Owen Leong + */ +function f(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];r=p(r,n,i,a,e[0],7,-680876936),a=p(a,r,n,i,e[1],12,-389564586),i=p(i,a,r,n,e[2],17,606105819),n=p(n,i,a,r,e[3],22,-1044525330),r=p(r,n,i,a,e[4],7,-176418897),a=p(a,r,n,i,e[5],12,1200080426),i=p(i,a,r,n,e[6],17,-1473231341),n=p(n,i,a,r,e[7],22,-45705983),r=p(r,n,i,a,e[8],7,1770035416),a=p(a,r,n,i,e[9],12,-1958414417),i=p(i,a,r,n,e[10],17,-42063),n=p(n,i,a,r,e[11],22,-1990404162),r=p(r,n,i,a,e[12],7,1804603682),a=p(a,r,n,i,e[13],12,-40341101),i=p(i,a,r,n,e[14],17,-1502002290),r=g(r,n=p(n,i,a,r,e[15],22,1236535329),i,a,e[1],5,-165796510),a=g(a,r,n,i,e[6],9,-1069501632),i=g(i,a,r,n,e[11],14,643717713),n=g(n,i,a,r,e[0],20,-373897302),r=g(r,n,i,a,e[5],5,-701558691),a=g(a,r,n,i,e[10],9,38016083),i=g(i,a,r,n,e[15],14,-660478335),n=g(n,i,a,r,e[4],20,-405537848),r=g(r,n,i,a,e[9],5,568446438),a=g(a,r,n,i,e[14],9,-1019803690),i=g(i,a,r,n,e[3],14,-187363961),n=g(n,i,a,r,e[8],20,1163531501),r=g(r,n,i,a,e[13],5,-1444681467),a=g(a,r,n,i,e[2],9,-51403784),i=g(i,a,r,n,e[7],14,1735328473),r=m(r,n=g(n,i,a,r,e[12],20,-1926607734),i,a,e[5],4,-378558),a=m(a,r,n,i,e[8],11,-2022574463),i=m(i,a,r,n,e[11],16,1839030562),n=m(n,i,a,r,e[14],23,-35309556),r=m(r,n,i,a,e[1],4,-1530992060),a=m(a,r,n,i,e[4],11,1272893353),i=m(i,a,r,n,e[7],16,-155497632),n=m(n,i,a,r,e[10],23,-1094730640),r=m(r,n,i,a,e[13],4,681279174),a=m(a,r,n,i,e[0],11,-358537222),i=m(i,a,r,n,e[3],16,-722521979),n=m(n,i,a,r,e[6],23,76029189),r=m(r,n,i,a,e[9],4,-640364487),a=m(a,r,n,i,e[12],11,-421815835),i=m(i,a,r,n,e[15],16,530742520),r=v(r,n=m(n,i,a,r,e[2],23,-995338651),i,a,e[0],6,-198630844),a=v(a,r,n,i,e[7],10,1126891415),i=v(i,a,r,n,e[14],15,-1416354905),n=v(n,i,a,r,e[5],21,-57434055),r=v(r,n,i,a,e[12],6,1700485571),a=v(a,r,n,i,e[3],10,-1894986606),i=v(i,a,r,n,e[10],15,-1051523),n=v(n,i,a,r,e[1],21,-2054922799),r=v(r,n,i,a,e[8],6,1873313359),a=v(a,r,n,i,e[15],10,-30611744),i=v(i,a,r,n,e[6],15,-1560198380),n=v(n,i,a,r,e[13],21,1309151649),r=v(r,n,i,a,e[4],6,-145523070),a=v(a,r,n,i,e[11],10,-1120210379),i=v(i,a,r,n,e[2],15,718787259),n=v(n,i,a,r,e[9],21,-343485551),t[0]=S(r,t[0]),t[1]=S(n,t[1]),t[2]=S(i,t[2]),t[3]=S(a,t[3])}function d(t,e,r,n,i,a){return e=S(S(e,t),S(n,a)),S(e<>>32-i,r)}function p(t,e,r,n,i,a,o){return d(e&r|~e&n,t,e,i,a,o)}function g(t,e,r,n,i,a,o){return d(e&n|r&~n,t,e,i,a,o)}function m(t,e,r,n,i,a,o){return d(e^r^n,t,e,i,a,o)}function v(t,e,r,n,i,a,o){return d(r^(e|~n),t,e,i,a,o)}function b(t){var e,r=t.length,n=[1732584193,-271733879,-1732584194,271733878];for(e=64;e<=t.length;e+=64)f(n,y(t.substring(e-64,e)));t=t.substring(e-64);var i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(e=0;e>2]|=t.charCodeAt(e)<<(e%4<<3);if(i[e>>2]|=128<<(e%4<<3),e>55)for(f(n,i),e=0;e<16;e++)i[e]=0;return i[14]=8*r,f(n,i),n}function y(t){var e,r=[];for(e=0;e<64;e+=4)r[e>>2]=t.charCodeAt(e)+(t.charCodeAt(e+1)<<8)+(t.charCodeAt(e+2)<<16)+(t.charCodeAt(e+3)<<24);return r}c=r.atob.bind(r),u=r.btoa.bind(r);var w="0123456789abcdef".split("");function N(t){for(var e="",r=0;r<4;r++)e+=w[t>>8*r+4&15]+w[t>>8*r&15];return e}function L(t){return String.fromCharCode((255&t)>>0,(65280&t)>>8,(16711680&t)>>16,(4278190080&t)>>24)}function A(t){return function(t){return t.map(L).join("")}(b(t))}var x="5d41402abc4b2a76b9719d911017c592"!=function(t){for(var e=0;e>16)+(e>>16)+(r>>16)<<16|65535&r}return t+e&4294967295} +/** + * @license + * FPDF is released under a permissive license: there is no usage restriction. + * You may embed it freely in your application (commercial or not), with or + * without modifications. + * + * Reference: http://www.fpdf.org/en/script/script37.php + */function _(t,e){var r,n,i,a;if(t!==r){for(var o=(i=t,a=1+(256/t.length>>0),new Array(a+1).join(i)),s=[],c=0;c<256;c++)s[c]=c;var u=0;for(c=0;c<256;c++){var l=s[c];u=(u+l+o.charCodeAt(c))%256,s[c]=s[u],s[u]=l}r=t,n=s}else s=n;var h=e.length,f=0,d=0,p="";for(c=0;c€/\f©þdSiz";var a=(e+this.padding).substr(0,32),o=(r+this.padding).substr(0,32);this.O=this.processOwnerPassword(a,o),this.P=-(1+(255^i)),this.encryptionKey=A(a+this.O+this.lsbFirstWord(this.P)+this.hexToBytes(n)).substr(0,5),this.U=_(this.encryptionKey,this.padding)}function F(t){if(/[^\u0000-\u00ff]/.test(t))throw new Error("Invalid PDF Name Object: "+t+", Only accept ASCII characters.");for(var e="",r=t.length,n=0;n126)e+="#"+("0"+i.toString(16)).slice(-2);else e+=t[n]}return e}function I(t){if("object"!==e(t))throw new Error("Invalid Context passed to initialize PubSub (jsPDF-module)");var n={};this.subscribe=function(t,e,r){if(r=r||!1,"string"!=typeof t||"function"!=typeof e||"boolean"!=typeof r)throw new Error("Invalid arguments passed to PubSub.subscribe (jsPDF-module)");n.hasOwnProperty(t)||(n[t]={});var i=Math.random().toString(35);return n[t][i]=[e,!!r],i},this.unsubscribe=function(t){for(var e in n)if(n[e][t])return delete n[e][t],0===Object.keys(n[e]).length&&delete n[e],!0;return!1},this.publish=function(e){if(n.hasOwnProperty(e)){var a=Array.prototype.slice.call(arguments,1),o=[];for(var s in n[e]){var c=n[e][s];try{c[0].apply(t,a)}catch(t){r.console&&i.error("jsPDF PubSub Error",t.message,t)}c[1]&&o.push(s)}o.length&&o.forEach(this.unsubscribe)}},this.getTopics=function(){return n}}function C(t){if(!(this instanceof C))return new C(t);var e="opacity,stroke-opacity".split(",");for(var r in t)t.hasOwnProperty(r)&&e.indexOf(r)>=0&&(this[r]=t[r]);this.id="",this.objectNumber=-1}function j(t,e){this.gState=t,this.matrix=e,this.id="",this.objectNumber=-1}function O(t,e,r,n,i){if(!(this instanceof O))return new O(t,e,r,n,i);this.type="axial"===t?2:3,this.coords=e,this.colors=r,j.call(this,n,i)}function B(t,e,r,n,i){if(!(this instanceof B))return new B(t,e,r,n,i);this.boundingBox=t,this.xStep=e,this.yStep=r,this.stream="",this.cloneIndex=0,j.call(this,n,i)}function M(t){var n,a="string"==typeof arguments[0]?arguments[0]:"p",o=arguments[1],s=arguments[2],c=arguments[3],f=[],d=1,p=16,g="S",m=null;"object"===e(t=t||{})&&(a=t.orientation,o=t.unit||o,s=t.format||s,c=t.compress||t.compressPdf||c,null!==(m=t.encryption||null)&&(m.userPassword=m.userPassword||"",m.ownerPassword=m.ownerPassword||"",m.userPermissions=m.userPermissions||[]),d="number"==typeof t.userUnit?Math.abs(t.userUnit):1,void 0!==t.precision&&(n=t.precision),void 0!==t.floatPrecision&&(p=t.floatPrecision),g=t.defaultPathOperation||"S"),f=t.filters||(!0===c?["FlateEncode"]:f),o=o||"mm",a=(""+(a||"P")).toLowerCase();var v=t.putOnlyUsedFonts||!1,b={},y={internal:{},__private__:{}};y.__private__.PubSub=I;var w="1.3",N=y.__private__.getPdfVersion=function(){return w};y.__private__.setPdfVersion=function(t){w=t};var L={a0:[2383.94,3370.39],a1:[1683.78,2383.94],a2:[1190.55,1683.78],a3:[841.89,1190.55],a4:[595.28,841.89],a5:[419.53,595.28],a6:[297.64,419.53],a7:[209.76,297.64],a8:[147.4,209.76],a9:[104.88,147.4],a10:[73.7,104.88],b0:[2834.65,4008.19],b1:[2004.09,2834.65],b2:[1417.32,2004.09],b3:[1000.63,1417.32],b4:[708.66,1000.63],b5:[498.9,708.66],b6:[354.33,498.9],b7:[249.45,354.33],b8:[175.75,249.45],b9:[124.72,175.75],b10:[87.87,124.72],c0:[2599.37,3676.54],c1:[1836.85,2599.37],c2:[1298.27,1836.85],c3:[918.43,1298.27],c4:[649.13,918.43],c5:[459.21,649.13],c6:[323.15,459.21],c7:[229.61,323.15],c8:[161.57,229.61],c9:[113.39,161.57],c10:[79.37,113.39],dl:[311.81,623.62],letter:[612,792],"government-letter":[576,756],legal:[612,1008],"junior-legal":[576,360],ledger:[1224,792],tabloid:[792,1224],"credit-card":[153,243]};y.__private__.getPageFormats=function(){return L};var A=y.__private__.getPageFormat=function(t){return L[t]};s=s||"a4";var x={COMPAT:"compat",ADVANCED:"advanced"},S=x.COMPAT;function _(){this.saveGraphicsState(),ht(new Vt(_t,0,0,-_t,0,Rr()*_t).toString()+" cm"),this.setFontSize(this.getFontSize()/_t),g="n",S=x.ADVANCED}function P(){this.restoreGraphicsState(),g="S",S=x.COMPAT}var j=y.__private__.combineFontStyleAndFontWeight=function(t,e){if("bold"==t&&"normal"==e||"bold"==t&&400==e||"normal"==t&&"italic"==e||"bold"==t&&"italic"==e)throw new Error("Invalid Combination of fontweight and fontstyle");return e&&(t=400==e||"normal"===e?"italic"===t?"italic":"normal":700!=e&&"bold"!==e||"normal"!==t?(700==e?"bold":e)+""+t:"bold"),t};y.advancedAPI=function(t){var e=S===x.COMPAT;return e&&_.call(this),"function"!=typeof t||(t(this),e&&P.call(this)),this},y.compatAPI=function(t){var e=S===x.ADVANCED;return e&&P.call(this),"function"!=typeof t||(t(this),e&&_.call(this)),this},y.isAdvancedAPI=function(){return S===x.ADVANCED};var E,q=function(t){if(S!==x.ADVANCED)throw new Error(t+" is only available in 'advanced' API mode. You need to call advancedAPI() first.")},D=y.roundToPrecision=y.__private__.roundToPrecision=function(t,e){var r=n||e;if(isNaN(t)||isNaN(r))throw new Error("Invalid argument passed to jsPDF.roundToPrecision");return t.toFixed(r).replace(/0+$/,"")};E=y.hpf=y.__private__.hpf="number"==typeof p?function(t){if(isNaN(t))throw new Error("Invalid argument passed to jsPDF.hpf");return D(t,p)}:"smart"===p?function(t){if(isNaN(t))throw new Error("Invalid argument passed to jsPDF.hpf");return D(t,t>-1&&t<1?16:5)}:function(t){if(isNaN(t))throw new Error("Invalid argument passed to jsPDF.hpf");return D(t,16)};var R=y.f2=y.__private__.f2=function(t){if(isNaN(t))throw new Error("Invalid argument passed to jsPDF.f2");return D(t,2)},T=y.__private__.f3=function(t){if(isNaN(t))throw new Error("Invalid argument passed to jsPDF.f3");return D(t,3)},U=y.scale=y.__private__.scale=function(t){if(isNaN(t))throw new Error("Invalid argument passed to jsPDF.scale");return S===x.COMPAT?t*_t:S===x.ADVANCED?t:void 0},z=function(t){return S===x.COMPAT?Rr()-t:S===x.ADVANCED?t:void 0},H=function(t){return U(z(t))};y.__private__.setPrecision=y.setPrecision=function(t){"number"==typeof parseInt(t,10)&&(n=parseInt(t,10))};var W,V="00000000000000000000000000000000",G=y.__private__.getFileId=function(){return V},Y=y.__private__.setFileId=function(t){return V=void 0!==t&&/^[a-fA-F0-9]{32}$/.test(t)?t.toUpperCase():V.split("").map((function(){return"ABCDEF0123456789".charAt(Math.floor(16*Math.random()))})).join(""),null!==m&&(Ye=new k(m.userPermissions,m.userPassword,m.ownerPassword,V)),V};y.setFileId=function(t){return Y(t),this},y.getFileId=function(){return G()};var J=y.__private__.convertDateToPDFDate=function(t){var e=t.getTimezoneOffset(),r=e<0?"+":"-",n=Math.floor(Math.abs(e/60)),i=Math.abs(e%60),a=[r,Q(n),"'",Q(i),"'"].join("");return["D:",t.getFullYear(),Q(t.getMonth()+1),Q(t.getDate()),Q(t.getHours()),Q(t.getMinutes()),Q(t.getSeconds()),a].join("")},X=y.__private__.convertPDFDateToDate=function(t){var e=parseInt(t.substr(2,4),10),r=parseInt(t.substr(6,2),10)-1,n=parseInt(t.substr(8,2),10),i=parseInt(t.substr(10,2),10),a=parseInt(t.substr(12,2),10),o=parseInt(t.substr(14,2),10);return new Date(e,r,n,i,a,o,0)},K=y.__private__.setCreationDate=function(t){var e;if(void 0===t&&(t=new Date),t instanceof Date)e=J(t);else{if(!/^D:(20[0-2][0-9]|203[0-7]|19[7-9][0-9])(0[0-9]|1[0-2])([0-2][0-9]|3[0-1])(0[0-9]|1[0-9]|2[0-3])(0[0-9]|[1-5][0-9])(0[0-9]|[1-5][0-9])(\+0[0-9]|\+1[0-4]|-0[0-9]|-1[0-1])'(0[0-9]|[1-5][0-9])'?$/.test(t))throw new Error("Invalid argument passed to jsPDF.setCreationDate");e=t}return W=e},Z=y.__private__.getCreationDate=function(t){var e=W;return"jsDate"===t&&(e=X(W)),e};y.setCreationDate=function(t){return K(t),this},y.getCreationDate=function(t){return Z(t)};var $,Q=y.__private__.padd2=function(t){return("0"+parseInt(t)).slice(-2)},tt=y.__private__.padd2Hex=function(t){return("00"+(t=t.toString())).substr(t.length)},et=0,rt=[],nt=[],it=0,at=[],ot=[],st=!1,ct=nt,ut=function(){et=0,it=0,nt=[],rt=[],at=[],Qt=Kt(),te=Kt()};y.__private__.setCustomOutputDestination=function(t){st=!0,ct=t};var lt=function(t){st||(ct=t)};y.__private__.resetCustomOutputDestination=function(){st=!1,ct=nt};var ht=y.__private__.out=function(t){return t=t.toString(),it+=t.length+1,ct.push(t),ct},ft=y.__private__.write=function(t){return ht(1===arguments.length?t.toString():Array.prototype.join.call(arguments," "))},dt=y.__private__.getArrayBuffer=function(t){for(var e=t.length,r=new ArrayBuffer(e),n=new Uint8Array(r);e--;)n[e]=t.charCodeAt(e);return r},pt=[["Helvetica","helvetica","normal","WinAnsiEncoding"],["Helvetica-Bold","helvetica","bold","WinAnsiEncoding"],["Helvetica-Oblique","helvetica","italic","WinAnsiEncoding"],["Helvetica-BoldOblique","helvetica","bolditalic","WinAnsiEncoding"],["Courier","courier","normal","WinAnsiEncoding"],["Courier-Bold","courier","bold","WinAnsiEncoding"],["Courier-Oblique","courier","italic","WinAnsiEncoding"],["Courier-BoldOblique","courier","bolditalic","WinAnsiEncoding"],["Times-Roman","times","normal","WinAnsiEncoding"],["Times-Bold","times","bold","WinAnsiEncoding"],["Times-Italic","times","italic","WinAnsiEncoding"],["Times-BoldItalic","times","bolditalic","WinAnsiEncoding"],["ZapfDingbats","zapfdingbats","normal",null],["Symbol","symbol","normal",null]];y.__private__.getStandardFonts=function(){return pt};var gt=t.fontSize||16;y.__private__.setFontSize=y.setFontSize=function(t){return gt=S===x.ADVANCED?t/_t:t,this};var mt,vt=y.__private__.getFontSize=y.getFontSize=function(){return S===x.COMPAT?gt:gt*_t},bt=t.R2L||!1;y.__private__.setR2L=y.setR2L=function(t){return bt=t,this},y.__private__.getR2L=y.getR2L=function(){return bt};var yt,wt=y.__private__.setZoomMode=function(t){var e=[void 0,null,"fullwidth","fullheight","fullpage","original"];if(/^(?:\d+\.\d*|\d*\.\d+|\d+)%$/.test(t))mt=t;else if(isNaN(t)){if(-1===e.indexOf(t))throw new Error('zoom must be Integer (e.g. 2), a percentage Value (e.g. 300%) or fullwidth, fullheight, fullpage, original. "'+t+'" is not recognized.');mt=t}else mt=parseInt(t,10)};y.__private__.getZoomMode=function(){return mt};var Nt,Lt=y.__private__.setPageMode=function(t){if(-1==[void 0,null,"UseNone","UseOutlines","UseThumbs","FullScreen"].indexOf(t))throw new Error('Page mode must be one of UseNone, UseOutlines, UseThumbs, or FullScreen. "'+t+'" is not recognized.');yt=t};y.__private__.getPageMode=function(){return yt};var At=y.__private__.setLayoutMode=function(t){if(-1==[void 0,null,"continuous","single","twoleft","tworight","two"].indexOf(t))throw new Error('Layout mode must be one of continuous, single, twoleft, tworight. "'+t+'" is not recognized.');Nt=t};y.__private__.getLayoutMode=function(){return Nt},y.__private__.setDisplayMode=y.setDisplayMode=function(t,e,r){return wt(t),At(e),Lt(r),this};var xt={title:"",subject:"",author:"",keywords:"",creator:""};y.__private__.getDocumentProperty=function(t){if(-1===Object.keys(xt).indexOf(t))throw new Error("Invalid argument passed to jsPDF.getDocumentProperty");return xt[t]},y.__private__.getDocumentProperties=function(){return xt},y.__private__.setDocumentProperties=y.setProperties=y.setDocumentProperties=function(t){for(var e in xt)xt.hasOwnProperty(e)&&t[e]&&(xt[e]=t[e]);return this},y.__private__.setDocumentProperty=function(t,e){if(-1===Object.keys(xt).indexOf(t))throw new Error("Invalid arguments passed to jsPDF.setDocumentProperty");return xt[t]=e};var St,_t,Pt,kt,Ft,It={},Ct={},jt=[],Ot={},Bt={},Mt={},Et={},qt=null,Dt=0,Rt=[],Tt=new I(y),Ut=t.hotfixes||[],zt={},Ht={},Wt=[],Vt=function t(e,r,n,i,a,o){if(!(this instanceof t))return new t(e,r,n,i,a,o);isNaN(e)&&(e=1),isNaN(r)&&(r=0),isNaN(n)&&(n=0),isNaN(i)&&(i=1),isNaN(a)&&(a=0),isNaN(o)&&(o=0),this._matrix=[e,r,n,i,a,o]};Object.defineProperty(Vt.prototype,"sx",{get:function(){return this._matrix[0]},set:function(t){this._matrix[0]=t}}),Object.defineProperty(Vt.prototype,"shy",{get:function(){return this._matrix[1]},set:function(t){this._matrix[1]=t}}),Object.defineProperty(Vt.prototype,"shx",{get:function(){return this._matrix[2]},set:function(t){this._matrix[2]=t}}),Object.defineProperty(Vt.prototype,"sy",{get:function(){return this._matrix[3]},set:function(t){this._matrix[3]=t}}),Object.defineProperty(Vt.prototype,"tx",{get:function(){return this._matrix[4]},set:function(t){this._matrix[4]=t}}),Object.defineProperty(Vt.prototype,"ty",{get:function(){return this._matrix[5]},set:function(t){this._matrix[5]=t}}),Object.defineProperty(Vt.prototype,"a",{get:function(){return this._matrix[0]},set:function(t){this._matrix[0]=t}}),Object.defineProperty(Vt.prototype,"b",{get:function(){return this._matrix[1]},set:function(t){this._matrix[1]=t}}),Object.defineProperty(Vt.prototype,"c",{get:function(){return this._matrix[2]},set:function(t){this._matrix[2]=t}}),Object.defineProperty(Vt.prototype,"d",{get:function(){return this._matrix[3]},set:function(t){this._matrix[3]=t}}),Object.defineProperty(Vt.prototype,"e",{get:function(){return this._matrix[4]},set:function(t){this._matrix[4]=t}}),Object.defineProperty(Vt.prototype,"f",{get:function(){return this._matrix[5]},set:function(t){this._matrix[5]=t}}),Object.defineProperty(Vt.prototype,"rotation",{get:function(){return Math.atan2(this.shx,this.sx)}}),Object.defineProperty(Vt.prototype,"scaleX",{get:function(){return this.decompose().scale.sx}}),Object.defineProperty(Vt.prototype,"scaleY",{get:function(){return this.decompose().scale.sy}}),Object.defineProperty(Vt.prototype,"isIdentity",{get:function(){return 1===this.sx&&(0===this.shy&&(0===this.shx&&(1===this.sy&&(0===this.tx&&0===this.ty))))}}),Vt.prototype.join=function(t){return[this.sx,this.shy,this.shx,this.sy,this.tx,this.ty].map(E).join(t)},Vt.prototype.multiply=function(t){var e=t.sx*this.sx+t.shy*this.shx,r=t.sx*this.shy+t.shy*this.sy,n=t.shx*this.sx+t.sy*this.shx,i=t.shx*this.shy+t.sy*this.sy,a=t.tx*this.sx+t.ty*this.shx+this.tx,o=t.tx*this.shy+t.ty*this.sy+this.ty;return new Vt(e,r,n,i,a,o)},Vt.prototype.decompose=function(){var t=this.sx,e=this.shy,r=this.shx,n=this.sy,i=this.tx,a=this.ty,o=Math.sqrt(t*t+e*e),s=(t/=o)*r+(e/=o)*n;r-=t*s,n-=e*s;var c=Math.sqrt(r*r+n*n);return s/=c,t*(n/=c)>16&255,i=u>>8&255,a=255&u}if(void 0===i||void 0===o&&n===i&&i===a)if("string"==typeof n)r=n+" "+s[0];else switch(t.precision){case 2:r=R(n/255)+" "+s[0];break;case 3:default:r=T(n/255)+" "+s[0]}else if(void 0===o||"object"===e(o)){if(o&&!isNaN(o.a)&&0===o.a)return r=["1.","1.","1.",s[1]].join(" ");if("string"==typeof n)r=[n,i,a,s[1]].join(" ");else switch(t.precision){case 2:r=[R(n/255),R(i/255),R(a/255),s[1]].join(" ");break;default:case 3:r=[T(n/255),T(i/255),T(a/255),s[1]].join(" ")}}else if("string"==typeof n)r=[n,i,a,o,s[2]].join(" ");else switch(t.precision){case 2:r=[R(n),R(i),R(a),R(o),s[2]].join(" ");break;case 3:default:r=[T(n),T(i),T(a),T(o),s[2]].join(" ")}return r},ne=y.__private__.getFilters=function(){return f},ie=y.__private__.putStream=function(t){var e=(t=t||{}).data||"",r=t.filters||ne(),n=t.alreadyAppliedFilters||[],i=t.addLength1||!1,a=e.length,o=t.objectId,s=function(t){return t};if(null!==m&&void 0===o)throw new Error("ObjectId must be passed to putStream for file encryption");null!==m&&(s=Ye.encryptor(o,0));var c={};!0===r&&(r=["FlateEncode"]);var u=t.additionalKeyValues||[],l=(c=void 0!==M.API.processDataByFilters?M.API.processDataByFilters(e,r):{data:e,reverseChain:[]}).reverseChain+(Array.isArray(n)?n.join(" "):n.toString());if(0!==c.data.length&&(u.push({key:"Length",value:c.data.length}),!0===i&&u.push({key:"Length1",value:a})),0!=l.length)if(l.split("/").length-1==1)u.push({key:"Filter",value:l});else{u.push({key:"Filter",value:"["+l+"]"});for(var h=0;h>"),0!==c.data.length&&(ht("stream"),ht(s(c.data)),ht("endstream"))},ae=y.__private__.putPage=function(t){var e=t.number,r=t.data,n=t.objId,i=t.contentsObjId;Zt(n,!0),ht("<>"),ht("endobj");var a=r.join("\n");return S===x.ADVANCED&&(a+="\nQ"),Zt(i,!0),ie({data:a,filters:ne(),objectId:i}),ht("endobj"),n},oe=y.__private__.putPages=function(){var t,e,r=[];for(t=1;t<=Dt;t++)Rt[t].objId=Kt(),Rt[t].contentsObjId=Kt();for(t=1;t<=Dt;t++)r.push(ae({number:t,data:ot[t],objId:Rt[t].objId,contentsObjId:Rt[t].contentsObjId,mediaBox:Rt[t].mediaBox,cropBox:Rt[t].cropBox,bleedBox:Rt[t].bleedBox,trimBox:Rt[t].trimBox,artBox:Rt[t].artBox,userUnit:Rt[t].userUnit,rootDictionaryObjId:Qt,resourceDictionaryObjId:te}));Zt(Qt,!0),ht("<>"),ht("endobj"),Tt.publish("postPutPages")},se=function(t){Tt.publish("putFont",{font:t,out:ht,newObject:Xt,putStream:ie}),!0!==t.isAlreadyPutted&&(t.objectNumber=Xt(),ht("<<"),ht("/Type /Font"),ht("/BaseFont /"+F(t.postScriptName)),ht("/Subtype /Type1"),"string"==typeof t.encoding&&ht("/Encoding /"+t.encoding),ht("/FirstChar 32"),ht("/LastChar 255"),ht(">>"),ht("endobj"))},ce=function(){for(var t in It)It.hasOwnProperty(t)&&(!1===v||!0===v&&b.hasOwnProperty(t))&&se(It[t])},ue=function(t){t.objectNumber=Xt();var e=[];e.push({key:"Type",value:"/XObject"}),e.push({key:"Subtype",value:"/Form"}),e.push({key:"BBox",value:"["+[E(t.x),E(t.y),E(t.x+t.width),E(t.y+t.height)].join(" ")+"]"}),e.push({key:"Matrix",value:"["+t.matrix.toString()+"]"});var r=t.pages[1].join("\n");ie({data:r,additionalKeyValues:e,objectId:t.objectNumber}),ht("endobj")},le=function(){for(var t in zt)zt.hasOwnProperty(t)&&ue(zt[t])},he=function(t,e){var r,n=[],i=1/(e-1);for(r=0;r<1;r+=i)n.push(r);if(n.push(1),0!=t[0].offset){var a={offset:0,color:t[0].color};t.unshift(a)}if(1!=t[t.length-1].offset){var o={offset:1,color:t[t.length-1].color};t.push(o)}for(var s="",c=0,u=0;ut[c+1].offset;)c++;var l=t[c].offset,h=(r-l)/(t[c+1].offset-l),f=t[c].color,d=t[c+1].color;s+=tt(Math.round((1-h)*f[0]+h*d[0]).toString(16))+tt(Math.round((1-h)*f[1]+h*d[1]).toString(16))+tt(Math.round((1-h)*f[2]+h*d[2]).toString(16))}return s.trim()},fe=function(t,e){e||(e=21);var r=Xt(),n=he(t.colors,e),i=[];i.push({key:"FunctionType",value:"0"}),i.push({key:"Domain",value:"[0.0 1.0]"}),i.push({key:"Size",value:"["+e+"]"}),i.push({key:"BitsPerSample",value:"8"}),i.push({key:"Range",value:"[0.0 1.0 0.0 1.0 0.0 1.0]"}),i.push({key:"Decode",value:"[0.0 1.0 0.0 1.0 0.0 1.0]"}),ie({data:n,additionalKeyValues:i,alreadyAppliedFilters:["/ASCIIHexDecode"],objectId:r}),ht("endobj"),t.objectNumber=Xt(),ht("<< /ShadingType "+t.type),ht("/ColorSpace /DeviceRGB");var a="/Coords ["+E(parseFloat(t.coords[0]))+" "+E(parseFloat(t.coords[1]))+" ";2===t.type?a+=E(parseFloat(t.coords[2]))+" "+E(parseFloat(t.coords[3])):a+=E(parseFloat(t.coords[2]))+" "+E(parseFloat(t.coords[3]))+" "+E(parseFloat(t.coords[4]))+" "+E(parseFloat(t.coords[5])),ht(a+="]"),t.matrix&&ht("/Matrix ["+t.matrix.toString()+"]"),ht("/Function "+r+" 0 R"),ht("/Extend [true true]"),ht(">>"),ht("endobj")},de=function(t,e){var r=Kt(),n=Xt();e.push({resourcesOid:r,objectOid:n}),t.objectNumber=n;var i=[];i.push({key:"Type",value:"/Pattern"}),i.push({key:"PatternType",value:"1"}),i.push({key:"PaintType",value:"1"}),i.push({key:"TilingType",value:"1"}),i.push({key:"BBox",value:"["+t.boundingBox.map(E).join(" ")+"]"}),i.push({key:"XStep",value:E(t.xStep)}),i.push({key:"YStep",value:E(t.yStep)}),i.push({key:"Resources",value:r+" 0 R"}),t.matrix&&i.push({key:"Matrix",value:"["+t.matrix.toString()+"]"}),ie({data:t.stream,additionalKeyValues:i,objectId:t.objectNumber}),ht("endobj")},pe=function(t){var e;for(e in Ot)Ot.hasOwnProperty(e)&&(Ot[e]instanceof O?fe(Ot[e]):Ot[e]instanceof B&&de(Ot[e],t))},ge=function(t){for(var e in t.objectNumber=Xt(),ht("<<"),t)switch(e){case"opacity":ht("/ca "+R(t[e]));break;case"stroke-opacity":ht("/CA "+R(t[e]))}ht(">>"),ht("endobj")},me=function(){var t;for(t in Mt)Mt.hasOwnProperty(t)&&ge(Mt[t])},ve=function(){for(var t in ht("/XObject <<"),zt)zt.hasOwnProperty(t)&&zt[t].objectNumber>=0&&ht("/"+t+" "+zt[t].objectNumber+" 0 R");Tt.publish("putXobjectDict"),ht(">>")},be=function(){Ye.oid=Xt(),ht("<<"),ht("/Filter /Standard"),ht("/V "+Ye.v),ht("/R "+Ye.r),ht("/U <"+Ye.toHexString(Ye.U)+">"),ht("/O <"+Ye.toHexString(Ye.O)+">"),ht("/P "+Ye.P),ht(">>"),ht("endobj")},ye=function(){for(var t in ht("/Font <<"),It)It.hasOwnProperty(t)&&(!1===v||!0===v&&b.hasOwnProperty(t))&&ht("/"+t+" "+It[t].objectNumber+" 0 R");ht(">>")},we=function(){if(Object.keys(Ot).length>0){for(var t in ht("/Shading <<"),Ot)Ot.hasOwnProperty(t)&&Ot[t]instanceof O&&Ot[t].objectNumber>=0&&ht("/"+t+" "+Ot[t].objectNumber+" 0 R");Tt.publish("putShadingPatternDict"),ht(">>")}},Ne=function(t){if(Object.keys(Ot).length>0){for(var e in ht("/Pattern <<"),Ot)Ot.hasOwnProperty(e)&&Ot[e]instanceof y.TilingPattern&&Ot[e].objectNumber>=0&&Ot[e].objectNumber>")}},Le=function(){if(Object.keys(Mt).length>0){var t;for(t in ht("/ExtGState <<"),Mt)Mt.hasOwnProperty(t)&&Mt[t].objectNumber>=0&&ht("/"+t+" "+Mt[t].objectNumber+" 0 R");Tt.publish("putGStateDict"),ht(">>")}},Ae=function(t){Zt(t.resourcesOid,!0),ht("<<"),ht("/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]"),ye(),we(),Ne(t.objectOid),Le(),ve(),ht(">>"),ht("endobj")},xe=function(){var t=[];ce(),me(),le(),pe(t),Tt.publish("putResources"),t.forEach(Ae),Ae({resourcesOid:te,objectOid:Number.MAX_SAFE_INTEGER}),Tt.publish("postPutResources")},Se=function(){Tt.publish("putAdditionalObjects");for(var t=0;t>8&&(c=!0);t=s.join("")}for(r=t.length;void 0===c&&0!==r;)t.charCodeAt(r-1)>>8&&(c=!0),r--;if(!c)return t;for(s=e.noBOM?[]:[254,255],r=0,n=t.length;r>8)>>8)throw new Error("Character at position "+r+" of string '"+t+"' exceeds 16bits. Cannot be encoded into UCS-2 BE");s.push(l),s.push(u-(l<<8))}return String.fromCharCode.apply(void 0,s)},Ce=y.__private__.pdfEscape=y.pdfEscape=function(t,e){return Ie(t,e).replace(/\\/g,"\\\\").replace(/\(/g,"\\(").replace(/\)/g,"\\)")},je=y.__private__.beginPage=function(t){ot[++Dt]=[],Rt[Dt]={objId:0,contentsObjId:0,userUnit:Number(d),artBox:null,bleedBox:null,cropBox:null,trimBox:null,mediaBox:{bottomLeftX:0,bottomLeftY:0,topRightX:Number(t[0]),topRightY:Number(t[1])}},Me(Dt),lt(ot[$])},Oe=function(t,e){var r,n,o;switch(a=e||a,"string"==typeof t&&(r=A(t.toLowerCase()),Array.isArray(r)&&(n=r[0],o=r[1])),Array.isArray(t)&&(n=t[0]*_t,o=t[1]*_t),isNaN(n)&&(n=s[0],o=s[1]),(n>14400||o>14400)&&(i.warn("A page in a PDF can not be wider or taller than 14400 userUnit. jsPDF limits the width/height to 14400"),n=Math.min(14400,n),o=Math.min(14400,o)),s=[n,o],a.substr(0,1)){case"l":o>n&&(s=[o,n]);break;case"p":n>o&&(s=[o,n])}je(s),pr(fr),ht(Lr),0!==kr&&ht(kr+" J"),0!==Fr&&ht(Fr+" j"),Tt.publish("addPage",{pageNumber:Dt})},Be=function(t){t>0&&t<=Dt&&(ot.splice(t,1),Rt.splice(t,1),Dt--,$>Dt&&($=Dt),this.setPage($))},Me=function(t){t>0&&t<=Dt&&($=t)},Ee=y.__private__.getNumberOfPages=y.getNumberOfPages=function(){return ot.length-1},qe=function(t,e,r){var n,a=void 0;return r=r||{},t=void 0!==t?t:It[St].fontName,e=void 0!==e?e:It[St].fontStyle,n=t.toLowerCase(),void 0!==Ct[n]&&void 0!==Ct[n][e]?a=Ct[n][e]:void 0!==Ct[t]&&void 0!==Ct[t][e]?a=Ct[t][e]:!1===r.disableWarning&&i.warn("Unable to look up font label for font '"+t+"', '"+e+"'. Refer to getFontList() for available fonts."),a||r.noFallback||null==(a=Ct.times[e])&&(a=Ct.times.normal),a},De=y.__private__.putInfo=function(){var t=Xt(),e=function(t){return t};for(var r in null!==m&&(e=Ye.encryptor(t,0)),ht("<<"),ht("/Producer ("+Ce(e("jsPDF "+M.version))+")"),xt)xt.hasOwnProperty(r)&&xt[r]&&ht("/"+r.substr(0,1).toUpperCase()+r.substr(1)+" ("+Ce(e(xt[r]))+")");ht("/CreationDate ("+Ce(e(W))+")"),ht(">>"),ht("endobj")},Re=y.__private__.putCatalog=function(t){var e=(t=t||{}).rootDictionaryObjId||Qt;switch(Xt(),ht("<<"),ht("/Type /Catalog"),ht("/Pages "+e+" 0 R"),mt||(mt="fullwidth"),mt){case"fullwidth":ht("/OpenAction [3 0 R /FitH null]");break;case"fullheight":ht("/OpenAction [3 0 R /FitV null]");break;case"fullpage":ht("/OpenAction [3 0 R /Fit]");break;case"original":ht("/OpenAction [3 0 R /XYZ null null 1]");break;default:var r=""+mt;"%"===r.substr(r.length-1)&&(mt=parseInt(mt)/100),"number"==typeof mt&&ht("/OpenAction [3 0 R /XYZ null null "+R(mt)+"]")}switch(Nt||(Nt="continuous"),Nt){case"continuous":ht("/PageLayout /OneColumn");break;case"single":ht("/PageLayout /SinglePage");break;case"two":case"twoleft":ht("/PageLayout /TwoColumnLeft");break;case"tworight":ht("/PageLayout /TwoColumnRight")}yt&&ht("/PageMode /"+yt),Tt.publish("putCatalog"),ht(">>"),ht("endobj")},Te=y.__private__.putTrailer=function(){ht("trailer"),ht("<<"),ht("/Size "+(et+1)),ht("/Root "+et+" 0 R"),ht("/Info "+(et-1)+" 0 R"),null!==m&&ht("/Encrypt "+Ye.oid+" 0 R"),ht("/ID [ <"+V+"> <"+V+"> ]"),ht(">>")},Ue=y.__private__.putHeader=function(){ht("%PDF-"+w),ht("%ºß¬à")},ze=y.__private__.putXRef=function(){var t="0000000000";ht("xref"),ht("0 "+(et+1)),ht("0000000000 65535 f ");for(var e=1;e<=et;e++){"function"==typeof rt[e]?ht((t+rt[e]()).slice(-10)+" 00000 n "):void 0!==rt[e]?ht((t+rt[e]).slice(-10)+" 00000 n "):ht("0000000000 00000 n ")}},He=y.__private__.buildDocument=function(){ut(),lt(nt),Tt.publish("buildDocument"),Ue(),oe(),Se(),xe(),null!==m&&be(),De(),Re();var t=it;return ze(),Te(),ht("startxref"),ht(""+t),ht("%%EOF"),lt(ot[$]),nt.join("\n")},We=y.__private__.getBlob=function(t){return new Blob([dt(t)],{type:"application/pdf"})},Ve=y.output=y.__private__.output=Fe((function(t,e){switch("string"==typeof(e=e||{})?e={filename:e}:e.filename=e.filename||"generated.pdf",t){case void 0:return He();case"save":y.save(e.filename);break;case"arraybuffer":return dt(He());case"blob":return We(He());case"bloburi":case"bloburl":if(void 0!==r.URL&&"function"==typeof r.URL.createObjectURL)return r.URL&&r.URL.createObjectURL(We(He()))||void 0;i.warn("bloburl is not supported by your system, because URL.createObjectURL is not supported by your browser.");break;case"datauristring":case"dataurlstring":var n="",a=He();try{n=u(a)}catch(t){n=u(unescape(encodeURIComponent(a)))}return"data:application/pdf;filename="+e.filename+";base64,"+n;case"pdfobjectnewwindow":if("[object Window]"===Object.prototype.toString.call(r)){var o="https://cdnjs.cloudflare.com/ajax/libs/pdfobject/2.1.1/pdfobject.min.js",s=' integrity="sha512-4ze/a9/4jqu+tX9dfOqJYSvyYd5M6qum/3HpCLr+/Jqf0whc37VUbkpNGHR7/8pSnCFw47T1fmIpwBV7UySh3g==" crossorigin="anonymous"';e.pdfObjectUrl&&(o=e.pdfObjectUrl,s="");var c='\";\r\n var nW = globalObject.open();\r\n\r\n if (nW !== null) {\r\n nW.document.write(htmlForNewWindow);\r\n }\r\n return nW;\r\n } else {\r\n throw new Error(\r\n \"The option pdfobjectnewwindow just works in a browser-environment.\"\r\n );\r\n }\r\n case \"pdfjsnewwindow\":\r\n if (\r\n Object.prototype.toString.call(globalObject) === \"[object Window]\"\r\n ) {\r\n var pdfJsUrl = options.pdfJsUrl || \"examples/PDF.js/web/viewer.html\";\r\n var htmlForPDFjsNewWindow =\r\n \"\" +\r\n \"\" +\r\n '' +\r\n \"\";\r\n var dataURLNewWindow = globalObject.open();\r\n if (dataURLNewWindow !== null) {\r\n dataURLNewWindow.document.write(htmlForDataURLNewWindow);\r\n dataURLNewWindow.document.title = options.filename;\r\n }\r\n if (dataURLNewWindow || typeof safari === \"undefined\")\r\n return dataURLNewWindow;\r\n } else {\r\n throw new Error(\r\n \"The option dataurlnewwindow just works in a browser-environment.\"\r\n );\r\n }\r\n break;\r\n case \"datauri\":\r\n case \"dataurl\":\r\n return (globalObject.document.location.href = this.output(\r\n \"datauristring\",\r\n options\r\n ));\r\n default:\r\n return null;\r\n }\r\n }));\r\n\r\n /**\r\n * Used to see if a supplied hotfix was requested when the pdf instance was created.\r\n * @param {string} hotfixName - The name of the hotfix to check.\r\n * @returns {boolean}\r\n */\r\n var hasHotfix = function(hotfixName) {\r\n return (\r\n Array.isArray(hotfixes) === true && hotfixes.indexOf(hotfixName) > -1\r\n );\r\n };\r\n\r\n switch (unit) {\r\n case \"pt\":\r\n scaleFactor = 1;\r\n break;\r\n case \"mm\":\r\n scaleFactor = 72 / 25.4;\r\n break;\r\n case \"cm\":\r\n scaleFactor = 72 / 2.54;\r\n break;\r\n case \"in\":\r\n scaleFactor = 72;\r\n break;\r\n case \"px\":\r\n if (hasHotfix(\"px_scaling\") == true) {\r\n scaleFactor = 72 / 96;\r\n } else {\r\n scaleFactor = 96 / 72;\r\n }\r\n break;\r\n case \"pc\":\r\n scaleFactor = 12;\r\n break;\r\n case \"em\":\r\n scaleFactor = 12;\r\n break;\r\n case \"ex\":\r\n scaleFactor = 6;\r\n break;\r\n default:\r\n if (typeof unit === \"number\") {\r\n scaleFactor = unit;\r\n } else {\r\n throw new Error(\"Invalid unit: \" + unit);\r\n }\r\n }\r\n\r\n var encryption = null;\r\n setCreationDate();\r\n setFileId();\r\n\r\n var getEncryptor = function(objectId) {\r\n if (encryptionOptions !== null) {\r\n return encryption.encryptor(objectId, 0);\r\n }\r\n return function(data) {\r\n return data;\r\n };\r\n };\r\n\r\n //---------------------------------------\r\n // Public API\r\n\r\n var getPageInfo = (API.__private__.getPageInfo = API.getPageInfo = function(\r\n pageNumberOneBased\r\n ) {\r\n if (isNaN(pageNumberOneBased) || pageNumberOneBased % 1 !== 0) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getPageInfo\");\r\n }\r\n var objId = pagesContext[pageNumberOneBased].objId;\r\n return {\r\n objId: objId,\r\n pageNumber: pageNumberOneBased,\r\n pageContext: pagesContext[pageNumberOneBased]\r\n };\r\n });\r\n\r\n var getPageInfoByObjId = (API.__private__.getPageInfoByObjId = function(\r\n objId\r\n ) {\r\n if (isNaN(objId) || objId % 1 !== 0) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getPageInfoByObjId\");\r\n }\r\n for (var pageNumber in pagesContext) {\r\n if (pagesContext[pageNumber].objId === objId) {\r\n break;\r\n }\r\n }\r\n return getPageInfo(pageNumber);\r\n });\r\n\r\n var getCurrentPageInfo = (API.__private__.getCurrentPageInfo = API.getCurrentPageInfo = function() {\r\n return {\r\n objId: pagesContext[currentPage].objId,\r\n pageNumber: currentPage,\r\n pageContext: pagesContext[currentPage]\r\n };\r\n });\r\n\r\n /**\r\n * Adds (and transfers the focus to) new page to the PDF document.\r\n * @param format {String/Array} The format of the new page. Can be:
  • a0 - a10
  • b0 - b10
  • c0 - c10
  • dl
  • letter
  • government-letter
  • legal
  • junior-legal
  • ledger
  • tabloid
  • credit-card

\r\n * Default is \"a4\". If you want to use your own format just pass instead of one of the above predefined formats the size as an number-array, e.g. [595.28, 841.89]\r\n * @param orientation {string} Orientation of the new page. Possible values are \"portrait\" or \"landscape\" (or shortcuts \"p\" (Default), \"l\").\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n *\r\n * @memberof jsPDF#\r\n * @name addPage\r\n */\r\n API.addPage = function() {\r\n _addPage.apply(this, arguments);\r\n return this;\r\n };\r\n /**\r\n * Adds (and transfers the focus to) new page to the PDF document.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n *\r\n * @memberof jsPDF#\r\n * @name setPage\r\n * @param {number} page Switch the active page to the page number specified (indexed starting at 1).\r\n * @example\r\n * doc = jsPDF()\r\n * doc.addPage()\r\n * doc.addPage()\r\n * doc.text('I am on page 3', 10, 10)\r\n * doc.setPage(1)\r\n * doc.text('I am on page 1', 10, 10)\r\n */\r\n API.setPage = function() {\r\n _setPage.apply(this, arguments);\r\n setOutputDestination.call(this, pages[currentPage]);\r\n return this;\r\n };\r\n\r\n /**\r\n * @name insertPage\r\n * @memberof jsPDF#\r\n *\r\n * @function\r\n * @instance\r\n * @param {Object} beforePage\r\n * @returns {jsPDF}\r\n */\r\n API.insertPage = function(beforePage) {\r\n this.addPage();\r\n this.movePage(currentPage, beforePage);\r\n return this;\r\n };\r\n\r\n /**\r\n * @name movePage\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {number} targetPage\r\n * @param {number} beforePage\r\n * @returns {jsPDF}\r\n */\r\n API.movePage = function(targetPage, beforePage) {\r\n var tmpPages, tmpPagesContext;\r\n if (targetPage > beforePage) {\r\n tmpPages = pages[targetPage];\r\n tmpPagesContext = pagesContext[targetPage];\r\n for (var i = targetPage; i > beforePage; i--) {\r\n pages[i] = pages[i - 1];\r\n pagesContext[i] = pagesContext[i - 1];\r\n }\r\n pages[beforePage] = tmpPages;\r\n pagesContext[beforePage] = tmpPagesContext;\r\n this.setPage(beforePage);\r\n } else if (targetPage < beforePage) {\r\n tmpPages = pages[targetPage];\r\n tmpPagesContext = pagesContext[targetPage];\r\n for (var j = targetPage; j < beforePage; j++) {\r\n pages[j] = pages[j + 1];\r\n pagesContext[j] = pagesContext[j + 1];\r\n }\r\n pages[beforePage] = tmpPages;\r\n pagesContext[beforePage] = tmpPagesContext;\r\n this.setPage(beforePage);\r\n }\r\n return this;\r\n };\r\n\r\n /**\r\n * Deletes a page from the PDF.\r\n * @name deletePage\r\n * @memberof jsPDF#\r\n * @function\r\n * @param {number} targetPage\r\n * @instance\r\n * @returns {jsPDF}\r\n */\r\n API.deletePage = function() {\r\n _deletePage.apply(this, arguments);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds text to page. Supports adding multiline text when 'text' argument is an Array of Strings.\r\n *\r\n * @function\r\n * @instance\r\n * @param {String|Array} text String or array of strings to be added to the page. Each line is shifted one line down per font, spacing settings declared before this call.\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page.\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page.\r\n * @param {Object} [options] - Collection of settings signaling how the text must be encoded.\r\n * @param {string} [options.align=left] - The alignment of the text, possible values: left, center, right, justify.\r\n * @param {string} [options.baseline=alphabetic] - Sets text baseline used when drawing the text, possible values: alphabetic, ideographic, bottom, top, middle, hanging\r\n * @param {number|Matrix} [options.angle=0] - Rotate the text clockwise or counterclockwise. Expects the angle in degree.\r\n * @param {number} [options.rotationDirection=1] - Direction of the rotation. 0 = clockwise, 1 = counterclockwise.\r\n * @param {number} [options.charSpace=0] - The space between each letter.\r\n * @param {number} [options.horizontalScale=1] - Horizontal scale of the text as a factor of the regular size.\r\n * @param {number} [options.lineHeightFactor=1.15] - The lineheight of each line.\r\n * @param {Object} [options.flags] - Flags for to8bitStream.\r\n * @param {boolean} [options.flags.noBOM=true] - Don't add BOM to Unicode-text.\r\n * @param {boolean} [options.flags.autoencode=true] - Autoencode the Text.\r\n * @param {number} [options.maxWidth=0] - Split the text by given width, 0 = no split.\r\n * @param {string} [options.renderingMode=fill] - Set how the text should be rendered, possible values: fill, stroke, fillThenStroke, invisible, fillAndAddForClipping, strokeAndAddPathForClipping, fillThenStrokeAndAddToPathForClipping, addToPathForClipping.\r\n * @param {boolean} [options.isInputVisual] - Option for the BidiEngine\r\n * @param {boolean} [options.isOutputVisual] - Option for the BidiEngine\r\n * @param {boolean} [options.isInputRtl] - Option for the BidiEngine\r\n * @param {boolean} [options.isOutputRtl] - Option for the BidiEngine\r\n * @param {boolean} [options.isSymmetricSwapping] - Option for the BidiEngine\r\n * @param {number|Matrix} transform If transform is a number the text will be rotated by this value around the anchor set by x and y.\r\n *\r\n * If it is a Matrix, this matrix gets directly applied to the text, which allows shearing\r\n * effects etc.; the x and y offsets are then applied AFTER the coordinate system has been established by this\r\n * matrix. This means passing a rotation matrix that is equivalent to some rotation angle will in general yield a\r\n * DIFFERENT result. A matrix is only allowed in \"advanced\" API mode.\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name text\r\n */\r\n API.__private__.text = API.text = function(text, x, y, options, transform) {\r\n /*\r\n * Inserts something like this into PDF\r\n * BT\r\n * /F1 16 Tf % Font name + size\r\n * 16 TL % How many units down for next line in multiline text\r\n * 0 g % color\r\n * 28.35 813.54 Td % position\r\n * (line one) Tj\r\n * T* (line two) Tj\r\n * T* (line three) Tj\r\n * ET\r\n */\r\n options = options || {};\r\n var scope = options.scope || this;\r\n var payload, da, angle, align, charSpace, maxWidth, flags, horizontalScale;\r\n\r\n // Pre-August-2012 the order of arguments was function(x, y, text, flags)\r\n // in effort to make all calls have similar signature like\r\n // function(data, coordinates... , miscellaneous)\r\n // this method had its args flipped.\r\n // code below allows backward compatibility with old arg order.\r\n if (\r\n typeof text === \"number\" &&\r\n typeof x === \"number\" &&\r\n (typeof y === \"string\" || Array.isArray(y))\r\n ) {\r\n var tmp = y;\r\n y = x;\r\n x = text;\r\n text = tmp;\r\n }\r\n\r\n var transformationMatrix;\r\n\r\n if (arguments[3] instanceof Matrix === false) {\r\n flags = arguments[3];\r\n angle = arguments[4];\r\n align = arguments[5];\r\n\r\n if (typeof flags !== \"object\" || flags === null) {\r\n if (typeof angle === \"string\") {\r\n align = angle;\r\n angle = null;\r\n }\r\n if (typeof flags === \"string\") {\r\n align = flags;\r\n flags = null;\r\n }\r\n if (typeof flags === \"number\") {\r\n angle = flags;\r\n flags = null;\r\n }\r\n options = {\r\n flags: flags,\r\n angle: angle,\r\n align: align\r\n };\r\n }\r\n } else {\r\n advancedApiModeTrap(\r\n \"The transform parameter of text() with a Matrix value\"\r\n );\r\n transformationMatrix = transform;\r\n }\r\n\r\n if (isNaN(x) || isNaN(y) || typeof text === \"undefined\" || text === null) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.text\");\r\n }\r\n\r\n if (text.length === 0) {\r\n return scope;\r\n }\r\n\r\n var xtra = \"\";\r\n var isHex = false;\r\n var lineHeight =\r\n typeof options.lineHeightFactor === \"number\"\r\n ? options.lineHeightFactor\r\n : lineHeightFactor;\r\n var scaleFactor = scope.internal.scaleFactor;\r\n\r\n function ESC(s) {\r\n s = s.split(\"\\t\").join(Array(options.TabLen || 9).join(\" \"));\r\n return pdfEscape(s, flags);\r\n }\r\n\r\n function transformTextToSpecialArray(text) {\r\n //we don't want to destroy original text array, so cloning it\r\n var sa = text.concat();\r\n var da = [];\r\n var len = sa.length;\r\n var curDa;\r\n //we do array.join('text that must not be PDFescaped\")\r\n //thus, pdfEscape each component separately\r\n while (len--) {\r\n curDa = sa.shift();\r\n if (typeof curDa === \"string\") {\r\n da.push(curDa);\r\n } else {\r\n if (\r\n Array.isArray(text) &&\r\n (curDa.length === 1 ||\r\n (curDa[1] === undefined && curDa[2] === undefined))\r\n ) {\r\n da.push(curDa[0]);\r\n } else {\r\n da.push([curDa[0], curDa[1], curDa[2]]);\r\n }\r\n }\r\n }\r\n return da;\r\n }\r\n\r\n function processTextByFunction(text, processingFunction) {\r\n var result;\r\n if (typeof text === \"string\") {\r\n result = processingFunction(text)[0];\r\n } else if (Array.isArray(text)) {\r\n //we don't want to destroy original text array, so cloning it\r\n var sa = text.concat();\r\n var da = [];\r\n var len = sa.length;\r\n var curDa;\r\n var tmpResult;\r\n //we do array.join('text that must not be PDFescaped\")\r\n //thus, pdfEscape each component separately\r\n while (len--) {\r\n curDa = sa.shift();\r\n if (typeof curDa === \"string\") {\r\n da.push(processingFunction(curDa)[0]);\r\n } else if (Array.isArray(curDa) && typeof curDa[0] === \"string\") {\r\n tmpResult = processingFunction(curDa[0], curDa[1], curDa[2]);\r\n da.push([tmpResult[0], tmpResult[1], tmpResult[2]]);\r\n }\r\n }\r\n result = da;\r\n }\r\n return result;\r\n }\r\n\r\n //Check if text is of type String\r\n var textIsOfTypeString = false;\r\n var tmpTextIsOfTypeString = true;\r\n\r\n if (typeof text === \"string\") {\r\n textIsOfTypeString = true;\r\n } else if (Array.isArray(text)) {\r\n //we don't want to destroy original text array, so cloning it\r\n var sa = text.concat();\r\n da = [];\r\n var len = sa.length;\r\n var curDa;\r\n //we do array.join('text that must not be PDFescaped\")\r\n //thus, pdfEscape each component separately\r\n while (len--) {\r\n curDa = sa.shift();\r\n if (\r\n typeof curDa !== \"string\" ||\r\n (Array.isArray(curDa) && typeof curDa[0] !== \"string\")\r\n ) {\r\n tmpTextIsOfTypeString = false;\r\n }\r\n }\r\n textIsOfTypeString = tmpTextIsOfTypeString;\r\n }\r\n if (textIsOfTypeString === false) {\r\n throw new Error(\r\n 'Type of text must be string or Array. \"' +\r\n text +\r\n '\" is not recognized.'\r\n );\r\n }\r\n\r\n //If there are any newlines in text, we assume\r\n //the user wanted to print multiple lines, so break the\r\n //text up into an array. If the text is already an array,\r\n //we assume the user knows what they are doing.\r\n //Convert text into an array anyway to simplify\r\n //later code.\r\n\r\n if (typeof text === \"string\") {\r\n if (text.match(/[\\r?\\n]/)) {\r\n text = text.split(/\\r\\n|\\r|\\n/g);\r\n } else {\r\n text = [text];\r\n }\r\n }\r\n\r\n //baseline\r\n var height = activeFontSize / scope.internal.scaleFactor;\r\n var descent = height * (lineHeight - 1);\r\n\r\n switch (options.baseline) {\r\n case \"bottom\":\r\n y -= descent;\r\n break;\r\n case \"top\":\r\n y += height - descent;\r\n break;\r\n case \"hanging\":\r\n y += height - 2 * descent;\r\n break;\r\n case \"middle\":\r\n y += height / 2 - descent;\r\n break;\r\n case \"ideographic\":\r\n case \"alphabetic\":\r\n default:\r\n // do nothing, everything is fine\r\n break;\r\n }\r\n\r\n //multiline\r\n maxWidth = options.maxWidth || 0;\r\n\r\n if (maxWidth > 0) {\r\n if (typeof text === \"string\") {\r\n text = scope.splitTextToSize(text, maxWidth);\r\n } else if (Object.prototype.toString.call(text) === \"[object Array]\") {\r\n text = text.reduce(function(acc, textLine) {\r\n return acc.concat(scope.splitTextToSize(textLine, maxWidth));\r\n }, []);\r\n }\r\n }\r\n\r\n //creating Payload-Object to make text byRef\r\n payload = {\r\n text: text,\r\n x: x,\r\n y: y,\r\n options: options,\r\n mutex: {\r\n pdfEscape: pdfEscape,\r\n activeFontKey: activeFontKey,\r\n fonts: fonts,\r\n activeFontSize: activeFontSize\r\n }\r\n };\r\n events.publish(\"preProcessText\", payload);\r\n\r\n text = payload.text;\r\n options = payload.options;\r\n\r\n //angle\r\n angle = options.angle;\r\n\r\n if (\r\n transformationMatrix instanceof Matrix === false &&\r\n angle &&\r\n typeof angle === \"number\"\r\n ) {\r\n angle *= Math.PI / 180;\r\n\r\n if (options.rotationDirection === 0) {\r\n angle = -angle;\r\n }\r\n\r\n if (apiMode === ApiMode.ADVANCED) {\r\n angle = -angle;\r\n }\r\n\r\n var c = Math.cos(angle);\r\n var s = Math.sin(angle);\r\n transformationMatrix = new Matrix(c, s, -s, c, 0, 0);\r\n } else if (angle && angle instanceof Matrix) {\r\n transformationMatrix = angle;\r\n }\r\n\r\n if (apiMode === ApiMode.ADVANCED && !transformationMatrix) {\r\n transformationMatrix = identityMatrix;\r\n }\r\n\r\n //charSpace\r\n\r\n charSpace = options.charSpace || activeCharSpace;\r\n\r\n if (typeof charSpace !== \"undefined\") {\r\n xtra += hpf(scale(charSpace)) + \" Tc\\n\";\r\n this.setCharSpace(this.getCharSpace() || 0);\r\n }\r\n\r\n horizontalScale = options.horizontalScale;\r\n if (typeof horizontalScale !== \"undefined\") {\r\n xtra += hpf(horizontalScale * 100) + \" Tz\\n\";\r\n }\r\n\r\n //lang\r\n\r\n var lang = options.lang;\r\n\r\n if (lang) {\r\n // xtra += \"/Lang (\" + lang +\")\\n\";\r\n }\r\n\r\n //renderingMode\r\n var renderingMode = -1;\r\n var parmRenderingMode =\r\n typeof options.renderingMode !== \"undefined\"\r\n ? options.renderingMode\r\n : options.stroke;\r\n var pageContext = scope.internal.getCurrentPageInfo().pageContext;\r\n\r\n switch (parmRenderingMode) {\r\n case 0:\r\n case false:\r\n case \"fill\":\r\n renderingMode = 0;\r\n break;\r\n case 1:\r\n case true:\r\n case \"stroke\":\r\n renderingMode = 1;\r\n break;\r\n case 2:\r\n case \"fillThenStroke\":\r\n renderingMode = 2;\r\n break;\r\n case 3:\r\n case \"invisible\":\r\n renderingMode = 3;\r\n break;\r\n case 4:\r\n case \"fillAndAddForClipping\":\r\n renderingMode = 4;\r\n break;\r\n case 5:\r\n case \"strokeAndAddPathForClipping\":\r\n renderingMode = 5;\r\n break;\r\n case 6:\r\n case \"fillThenStrokeAndAddToPathForClipping\":\r\n renderingMode = 6;\r\n break;\r\n case 7:\r\n case \"addToPathForClipping\":\r\n renderingMode = 7;\r\n break;\r\n }\r\n\r\n var usedRenderingMode =\r\n typeof pageContext.usedRenderingMode !== \"undefined\"\r\n ? pageContext.usedRenderingMode\r\n : -1;\r\n\r\n //if the coder wrote it explicitly to use a specific\r\n //renderingMode, then use it\r\n if (renderingMode !== -1) {\r\n xtra += renderingMode + \" Tr\\n\";\r\n //otherwise check if we used the rendering Mode already\r\n //if so then set the rendering Mode...\r\n } else if (usedRenderingMode !== -1) {\r\n xtra += \"0 Tr\\n\";\r\n }\r\n\r\n if (renderingMode !== -1) {\r\n pageContext.usedRenderingMode = renderingMode;\r\n }\r\n\r\n //align\r\n align = options.align || \"left\";\r\n var leading = activeFontSize * lineHeight;\r\n var pageWidth = scope.internal.pageSize.getWidth();\r\n var activeFont = fonts[activeFontKey];\r\n charSpace = options.charSpace || activeCharSpace;\r\n maxWidth = options.maxWidth || 0;\r\n\r\n var lineWidths;\r\n flags = Object.assign({ autoencode: true, noBOM: true }, options.flags);\r\n\r\n var wordSpacingPerLine = [];\r\n var findWidth = function(v) {\r\n return (\r\n (scope.getStringUnitWidth(v, {\r\n font: activeFont,\r\n charSpace: charSpace,\r\n fontSize: activeFontSize,\r\n doKerning: false\r\n }) *\r\n activeFontSize) /\r\n scaleFactor\r\n );\r\n };\r\n if (Object.prototype.toString.call(text) === \"[object Array]\") {\r\n da = transformTextToSpecialArray(text);\r\n var newY;\r\n if (align !== \"left\") {\r\n lineWidths = da.map(findWidth);\r\n }\r\n //The first line uses the \"main\" Td setting,\r\n //and the subsequent lines are offset by the\r\n //previous line's x coordinate.\r\n var prevWidth = 0;\r\n var newX;\r\n if (align === \"right\") {\r\n //The passed in x coordinate defines the\r\n //rightmost point of the text.\r\n x -= lineWidths[0];\r\n text = [];\r\n len = da.length;\r\n for (var i = 0; i < len; i++) {\r\n if (i === 0) {\r\n newX = getHorizontalCoordinate(x);\r\n newY = getVerticalCoordinate(y);\r\n } else {\r\n newX = scale(prevWidth - lineWidths[i]);\r\n newY = -leading;\r\n }\r\n text.push([da[i], newX, newY]);\r\n prevWidth = lineWidths[i];\r\n }\r\n } else if (align === \"center\") {\r\n //The passed in x coordinate defines\r\n //the center point.\r\n x -= lineWidths[0] / 2;\r\n text = [];\r\n len = da.length;\r\n for (var j = 0; j < len; j++) {\r\n if (j === 0) {\r\n newX = getHorizontalCoordinate(x);\r\n newY = getVerticalCoordinate(y);\r\n } else {\r\n newX = scale((prevWidth - lineWidths[j]) / 2);\r\n newY = -leading;\r\n }\r\n text.push([da[j], newX, newY]);\r\n prevWidth = lineWidths[j];\r\n }\r\n } else if (align === \"left\") {\r\n text = [];\r\n len = da.length;\r\n for (var h = 0; h < len; h++) {\r\n text.push(da[h]);\r\n }\r\n } else if (align === \"justify\" && activeFont.encoding === \"Identity-H\") {\r\n // when using unicode fonts, wordSpacePerLine does not apply\r\n text = [];\r\n len = da.length;\r\n maxWidth = maxWidth !== 0 ? maxWidth : pageWidth;\r\n let backToStartX = 0;\r\n for (var l = 0; l < len; l++) {\r\n newY = l === 0 ? getVerticalCoordinate(y) : -leading;\r\n newX = l === 0 ? getHorizontalCoordinate(x) : backToStartX;\r\n if (l < len - 1) {\r\n let spacing = scale(\r\n (maxWidth - lineWidths[l]) / (da[l].split(\" \").length - 1)\r\n );\r\n let words = da[l].split(\" \");\r\n text.push([words[0] + \" \", newX, newY]);\r\n backToStartX = 0; // distance to reset back to the left\r\n for (let i = 1; i < words.length; i++) {\r\n let shiftAmount =\r\n (findWidth(words[i - 1] + \" \" + words[i]) -\r\n findWidth(words[i])) *\r\n scaleFactor +\r\n spacing;\r\n if (i == words.length - 1) text.push([words[i], shiftAmount, 0]);\r\n else text.push([words[i] + \" \", shiftAmount, 0]);\r\n backToStartX -= shiftAmount;\r\n }\r\n } else {\r\n text.push([da[l], newX, newY]);\r\n }\r\n }\r\n text.push([\"\", backToStartX, 0]);\r\n } else if (align === \"justify\") {\r\n text = [];\r\n len = da.length;\r\n maxWidth = maxWidth !== 0 ? maxWidth : pageWidth;\r\n for (var l = 0; l < len; l++) {\r\n newY = l === 0 ? getVerticalCoordinate(y) : -leading;\r\n newX = l === 0 ? getHorizontalCoordinate(x) : 0;\r\n if (l < len - 1) {\r\n wordSpacingPerLine.push(\r\n hpf(\r\n scale(\r\n (maxWidth - lineWidths[l]) / (da[l].split(\" \").length - 1)\r\n )\r\n )\r\n );\r\n } else {\r\n wordSpacingPerLine.push(0);\r\n }\r\n text.push([da[l], newX, newY]);\r\n }\r\n } else {\r\n throw new Error(\r\n 'Unrecognized alignment option, use \"left\", \"center\", \"right\" or \"justify\".'\r\n );\r\n }\r\n }\r\n\r\n //R2L\r\n var doReversing = typeof options.R2L === \"boolean\" ? options.R2L : R2L;\r\n if (doReversing === true) {\r\n text = processTextByFunction(text, function(text, posX, posY) {\r\n return [\r\n text\r\n .split(\"\")\r\n .reverse()\r\n .join(\"\"),\r\n posX,\r\n posY\r\n ];\r\n });\r\n }\r\n\r\n //creating Payload-Object to make text byRef\r\n payload = {\r\n text: text,\r\n x: x,\r\n y: y,\r\n options: options,\r\n mutex: {\r\n pdfEscape: pdfEscape,\r\n activeFontKey: activeFontKey,\r\n fonts: fonts,\r\n activeFontSize: activeFontSize\r\n }\r\n };\r\n events.publish(\"postProcessText\", payload);\r\n\r\n text = payload.text;\r\n isHex = payload.mutex.isHex || false;\r\n\r\n //Escaping\r\n var activeFontEncoding = fonts[activeFontKey].encoding;\r\n\r\n if (\r\n activeFontEncoding === \"WinAnsiEncoding\" ||\r\n activeFontEncoding === \"StandardEncoding\"\r\n ) {\r\n text = processTextByFunction(text, function(text, posX, posY) {\r\n return [ESC(text), posX, posY];\r\n });\r\n }\r\n\r\n da = transformTextToSpecialArray(text);\r\n\r\n text = [];\r\n var STRING = 0;\r\n var ARRAY = 1;\r\n var variant = Array.isArray(da[0]) ? ARRAY : STRING;\r\n var posX;\r\n var posY;\r\n var content;\r\n var wordSpacing = \"\";\r\n\r\n var generatePosition = function(\r\n parmPosX,\r\n parmPosY,\r\n parmTransformationMatrix\r\n ) {\r\n var position = \"\";\r\n if (parmTransformationMatrix instanceof Matrix) {\r\n // It is kind of more intuitive to apply a plain rotation around the text anchor set by x and y\r\n // but when the user supplies an arbitrary transformation matrix, the x and y offsets should be applied\r\n // in the coordinate system established by this matrix\r\n if (typeof options.angle === \"number\") {\r\n parmTransformationMatrix = matrixMult(\r\n parmTransformationMatrix,\r\n new Matrix(1, 0, 0, 1, parmPosX, parmPosY)\r\n );\r\n } else {\r\n parmTransformationMatrix = matrixMult(\r\n new Matrix(1, 0, 0, 1, parmPosX, parmPosY),\r\n parmTransformationMatrix\r\n );\r\n }\r\n\r\n if (apiMode === ApiMode.ADVANCED) {\r\n parmTransformationMatrix = matrixMult(\r\n new Matrix(1, 0, 0, -1, 0, 0),\r\n parmTransformationMatrix\r\n );\r\n }\r\n\r\n position = parmTransformationMatrix.join(\" \") + \" Tm\\n\";\r\n } else {\r\n position = hpf(parmPosX) + \" \" + hpf(parmPosY) + \" Td\\n\";\r\n }\r\n return position;\r\n };\r\n\r\n for (var lineIndex = 0; lineIndex < da.length; lineIndex++) {\r\n wordSpacing = \"\";\r\n\r\n switch (variant) {\r\n case ARRAY:\r\n content =\r\n (isHex ? \"<\" : \"(\") + da[lineIndex][0] + (isHex ? \">\" : \")\");\r\n posX = parseFloat(da[lineIndex][1]);\r\n posY = parseFloat(da[lineIndex][2]);\r\n break;\r\n case STRING:\r\n content = (isHex ? \"<\" : \"(\") + da[lineIndex] + (isHex ? \">\" : \")\");\r\n posX = getHorizontalCoordinate(x);\r\n posY = getVerticalCoordinate(y);\r\n break;\r\n }\r\n\r\n if (\r\n typeof wordSpacingPerLine !== \"undefined\" &&\r\n typeof wordSpacingPerLine[lineIndex] !== \"undefined\"\r\n ) {\r\n wordSpacing = wordSpacingPerLine[lineIndex] + \" Tw\\n\";\r\n }\r\n\r\n if (lineIndex === 0) {\r\n text.push(\r\n wordSpacing +\r\n generatePosition(posX, posY, transformationMatrix) +\r\n content\r\n );\r\n } else if (variant === STRING) {\r\n text.push(wordSpacing + content);\r\n } else if (variant === ARRAY) {\r\n text.push(\r\n wordSpacing +\r\n generatePosition(posX, posY, transformationMatrix) +\r\n content\r\n );\r\n }\r\n }\r\n\r\n text = variant === STRING ? text.join(\" Tj\\nT* \") : text.join(\" Tj\\n\");\r\n text += \" Tj\\n\";\r\n\r\n var result = \"BT\\n/\";\r\n result += activeFontKey + \" \" + activeFontSize + \" Tf\\n\"; // font face, style, size\r\n result += hpf(activeFontSize * lineHeight) + \" TL\\n\"; // line spacing\r\n result += textColor + \"\\n\";\r\n result += xtra;\r\n result += text;\r\n result += \"ET\";\r\n\r\n out(result);\r\n usedFonts[activeFontKey] = true;\r\n return scope;\r\n };\r\n\r\n // PDF supports these path painting and clip path operators:\r\n //\r\n // S - stroke\r\n // s - close/stroke\r\n // f (F) - fill non-zero\r\n // f* - fill evenodd\r\n // B - fill stroke nonzero\r\n // B* - fill stroke evenodd\r\n // b - close fill stroke nonzero\r\n // b* - close fill stroke evenodd\r\n // n - nothing (consume path)\r\n // W - clip nonzero\r\n // W* - clip evenodd\r\n //\r\n // In order to keep the API small, we omit the close-and-fill/stroke operators and provide a separate close()\r\n // method.\r\n /**\r\n *\r\n * @name clip\r\n * @function\r\n * @instance\r\n * @param {string} rule Only possible value is 'evenodd'\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @description All .clip() after calling drawing ops with a style argument of null.\r\n */\r\n var clip = (API.__private__.clip = API.clip = function(rule) {\r\n // Call .clip() after calling drawing ops with a style argument of null\r\n // W is the PDF clipping op\r\n if (\"evenodd\" === rule) {\r\n out(\"W*\");\r\n } else {\r\n out(\"W\");\r\n }\r\n return this;\r\n });\r\n\r\n /**\r\n * @name clipEvenOdd\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @description Modify the current clip path by intersecting it with the current path using the even-odd rule. Note\r\n * that this will NOT consume the current path. In order to only use this path for clipping call\r\n * {@link API.discardPath} afterwards.\r\n */\r\n API.clipEvenOdd = function() {\r\n return clip(\"evenodd\");\r\n };\r\n\r\n /**\r\n * Consumes the current path without any effect. Mainly used in combination with {@link clip} or\r\n * {@link clipEvenOdd}. The PDF \"n\" operator.\r\n * @name discardPath\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.__private__.discardPath = API.discardPath = function() {\r\n out(\"n\");\r\n return this;\r\n };\r\n\r\n var isValidStyle = (API.__private__.isValidStyle = function(style) {\r\n var validStyleVariants = [\r\n undefined,\r\n null,\r\n \"S\",\r\n \"D\",\r\n \"F\",\r\n \"DF\",\r\n \"FD\",\r\n \"f\",\r\n \"f*\",\r\n \"B\",\r\n \"B*\",\r\n \"n\"\r\n ];\r\n var result = false;\r\n if (validStyleVariants.indexOf(style) !== -1) {\r\n result = true;\r\n }\r\n return result;\r\n });\r\n\r\n API.__private__.setDefaultPathOperation = API.setDefaultPathOperation = function(\r\n operator\r\n ) {\r\n if (isValidStyle(operator)) {\r\n defaultPathOperation = operator;\r\n }\r\n return this;\r\n };\r\n\r\n var getStyle = (API.__private__.getStyle = API.getStyle = function(style) {\r\n // see path-painting operators in PDF spec\r\n var op = defaultPathOperation; // stroke\r\n\r\n switch (style) {\r\n case \"D\":\r\n case \"S\":\r\n op = \"S\"; // stroke\r\n break;\r\n case \"F\":\r\n op = \"f\"; // fill\r\n break;\r\n case \"FD\":\r\n case \"DF\":\r\n op = \"B\";\r\n break;\r\n case \"f\":\r\n case \"f*\":\r\n case \"B\":\r\n case \"B*\":\r\n /*\r\n Allow direct use of these PDF path-painting operators:\r\n - f fill using nonzero winding number rule\r\n - f* fill using even-odd rule\r\n - B fill then stroke with fill using non-zero winding number rule\r\n - B* fill then stroke with fill using even-odd rule\r\n */\r\n op = style;\r\n break;\r\n }\r\n return op;\r\n });\r\n\r\n /**\r\n * Close the current path. The PDF \"h\" operator.\r\n * @name close\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n var close = (API.close = function() {\r\n out(\"h\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Stroke the path. The PDF \"S\" operator.\r\n * @name stroke\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.stroke = function() {\r\n out(\"S\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill the current path using the nonzero winding number rule. If a pattern is provided, the path will be filled\r\n * with this pattern, otherwise with the current fill color. Equivalent to the PDF \"f\" operator.\r\n * @name fill\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be filled with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fill = function(pattern) {\r\n fillWithOptionalPattern(\"f\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill the current path using the even-odd rule. The PDF f* operator.\r\n * @see API.fill\r\n * @name fillEvenOdd\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be filled with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillEvenOdd = function(pattern) {\r\n fillWithOptionalPattern(\"f*\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill using the nonzero winding number rule and then stroke the current Path. The PDF \"B\" operator.\r\n * @see API.fill\r\n * @name fillStroke\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be stroked with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillStroke = function(pattern) {\r\n fillWithOptionalPattern(\"B\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill using the even-odd rule and then stroke the current Path. The PDF \"B\" operator.\r\n * @see API.fill\r\n * @name fillStrokeEvenOdd\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be fill-stroked with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillStrokeEvenOdd = function(pattern) {\r\n fillWithOptionalPattern(\"B*\", pattern);\r\n return this;\r\n };\r\n\r\n var fillWithOptionalPattern = function(style, pattern) {\r\n if (typeof pattern === \"object\") {\r\n fillWithPattern(pattern, style);\r\n } else {\r\n out(style);\r\n }\r\n };\r\n\r\n var putStyle = function(style) {\r\n if (\r\n style === null ||\r\n (apiMode === ApiMode.ADVANCED && style === undefined)\r\n ) {\r\n return;\r\n }\r\n\r\n style = getStyle(style);\r\n\r\n // stroking / filling / both the path\r\n out(style);\r\n };\r\n\r\n function cloneTilingPattern(patternKey, boundingBox, xStep, yStep, matrix) {\r\n var clone = new TilingPattern(\r\n boundingBox || this.boundingBox,\r\n xStep || this.xStep,\r\n yStep || this.yStep,\r\n this.gState,\r\n matrix || this.matrix\r\n );\r\n clone.stream = this.stream;\r\n var key = patternKey + \"$$\" + this.cloneIndex++ + \"$$\";\r\n addPattern(key, clone);\r\n return clone;\r\n }\r\n\r\n var fillWithPattern = function(patternData, style) {\r\n var patternId = patternMap[patternData.key];\r\n var pattern = patterns[patternId];\r\n\r\n if (pattern instanceof ShadingPattern) {\r\n out(\"q\");\r\n\r\n out(clipRuleFromStyle(style));\r\n\r\n if (pattern.gState) {\r\n API.setGState(pattern.gState);\r\n }\r\n out(patternData.matrix.toString() + \" cm\");\r\n out(\"/\" + patternId + \" sh\");\r\n out(\"Q\");\r\n } else if (pattern instanceof TilingPattern) {\r\n // pdf draws patterns starting at the bottom left corner and they are not affected by the global transformation,\r\n // so we must flip them\r\n var matrix = new Matrix(1, 0, 0, -1, 0, getPageHeight());\r\n\r\n if (patternData.matrix) {\r\n matrix = matrix.multiply(patternData.matrix || identityMatrix);\r\n // we cannot apply a matrix to the pattern on use so we must abuse the pattern matrix and create new instances\r\n // for each use\r\n patternId = cloneTilingPattern.call(\r\n pattern,\r\n patternData.key,\r\n patternData.boundingBox,\r\n patternData.xStep,\r\n patternData.yStep,\r\n matrix\r\n ).id;\r\n }\r\n\r\n out(\"q\");\r\n out(\"/Pattern cs\");\r\n out(\"/\" + patternId + \" scn\");\r\n\r\n if (pattern.gState) {\r\n API.setGState(pattern.gState);\r\n }\r\n\r\n out(style);\r\n out(\"Q\");\r\n }\r\n };\r\n\r\n var clipRuleFromStyle = function(style) {\r\n switch (style) {\r\n case \"f\":\r\n case \"F\":\r\n return \"W n\";\r\n case \"f*\":\r\n return \"W* n\";\r\n case \"B\":\r\n return \"W S\";\r\n case \"B*\":\r\n return \"W* S\";\r\n\r\n // these two are for compatibility reasons (in the past, calling any primitive method with a shading pattern\r\n // and \"n\"/\"S\" as style would still fill/fill and stroke the path)\r\n case \"S\":\r\n return \"W S\";\r\n case \"n\":\r\n return \"W n\";\r\n }\r\n };\r\n\r\n /**\r\n * Begin a new subpath by moving the current point to coordinates (x, y). The PDF \"m\" operator.\r\n * @param {number} x\r\n * @param {number} y\r\n * @name moveTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var moveTo = (API.moveTo = function(x, y) {\r\n out(hpf(scale(x)) + \" \" + hpf(transformScaleY(y)) + \" m\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Append a straight line segment from the current point to the point (x, y). The PDF \"l\" operator.\r\n * @param {number} x\r\n * @param {number} y\r\n * @memberof jsPDF#\r\n * @name lineTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var lineTo = (API.lineTo = function(x, y) {\r\n out(hpf(scale(x)) + \" \" + hpf(transformScaleY(y)) + \" l\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Append a cubic Bézier curve to the current path. The curve shall extend from the current point to the point\r\n * (x3, y3), using (x1, y1) and (x2, y2) as Bézier control points. The new current point shall be (x3, x3).\r\n * @param {number} x1\r\n * @param {number} y1\r\n * @param {number} x2\r\n * @param {number} y2\r\n * @param {number} x3\r\n * @param {number} y3\r\n * @memberof jsPDF#\r\n * @name curveTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var curveTo = (API.curveTo = function(x1, y1, x2, y2, x3, y3) {\r\n out(\r\n [\r\n hpf(scale(x1)),\r\n hpf(transformScaleY(y1)),\r\n hpf(scale(x2)),\r\n hpf(transformScaleY(y2)),\r\n hpf(scale(x3)),\r\n hpf(transformScaleY(y3)),\r\n \"c\"\r\n ].join(\" \")\r\n );\r\n return this;\r\n });\r\n\r\n /**\r\n * Draw a line on the current page.\r\n *\r\n * @name line\r\n * @function\r\n * @instance\r\n * @param {number} x1\r\n * @param {number} y1\r\n * @param {number} x2\r\n * @param {number} y2\r\n * @param {string} style A string specifying the painting style or null. Valid styles include: 'S' [default] - stroke, 'F' - fill, and 'DF' (or 'FD') - fill then stroke. A null value postpones setting the style so that a shape may be composed using multiple method calls. The last drawing method call used to define the shape should not have a null style argument. default: 'S'\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.__private__.line = API.line = function(x1, y1, x2, y2, style) {\r\n if (\r\n isNaN(x1) ||\r\n isNaN(y1) ||\r\n isNaN(x2) ||\r\n isNaN(y2) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.line\");\r\n }\r\n if (apiMode === ApiMode.COMPAT) {\r\n return this.lines([[x2 - x1, y2 - y1]], x1, y1, [1, 1], style || \"S\");\r\n } else {\r\n return this.lines([[x2 - x1, y2 - y1]], x1, y1, [1, 1]).stroke();\r\n }\r\n };\r\n\r\n /**\r\n * @typedef {Object} PatternData\r\n * {Matrix|undefined} matrix\r\n * {Number|undefined} xStep\r\n * {Number|undefined} yStep\r\n * {Array.|undefined} boundingBox\r\n */\r\n\r\n /**\r\n * Adds series of curves (straight lines or cubic bezier curves) to canvas, starting at `x`, `y` coordinates.\r\n * All data points in `lines` are relative to last line origin.\r\n * `x`, `y` become x1,y1 for first line / curve in the set.\r\n * For lines you only need to specify [x2, y2] - (ending point) vector against x1, y1 starting point.\r\n * For bezier curves you need to specify [x2,y2,x3,y3,x4,y4] - vectors to control points 1, 2, ending point. All vectors are against the start of the curve - x1,y1.\r\n *\r\n * @example .lines([[2,2],[-2,2],[1,1,2,2,3,3],[2,1]], 212,110, [1,1], 'F', false) // line, line, bezier curve, line\r\n * @param {Array} lines Array of *vector* shifts as pairs (lines) or sextets (cubic bezier curves).\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} scale (Defaults to [1.0,1.0]) x,y Scaling factor for all vectors. Elements can be any floating number Sub-one makes drawing smaller. Over-one grows the drawing. Negative flips the direction.\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @param {Boolean=} closed If true, the path is closed with a straight line from the end of the last curve to the starting point.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name lines\r\n */\r\n API.__private__.lines = API.lines = function(\r\n lines,\r\n x,\r\n y,\r\n scale,\r\n style,\r\n closed\r\n ) {\r\n var scalex, scaley, i, l, leg, x2, y2, x3, y3, x4, y4, tmp;\r\n\r\n // Pre-August-2012 the order of arguments was function(x, y, lines, scale, style)\r\n // in effort to make all calls have similar signature like\r\n // function(content, coordinateX, coordinateY , miscellaneous)\r\n // this method had its args flipped.\r\n // code below allows backward compatibility with old arg order.\r\n if (typeof lines === \"number\") {\r\n tmp = y;\r\n y = x;\r\n x = lines;\r\n lines = tmp;\r\n }\r\n\r\n scale = scale || [1, 1];\r\n closed = closed || false;\r\n\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n !Array.isArray(lines) ||\r\n !Array.isArray(scale) ||\r\n !isValidStyle(style) ||\r\n typeof closed !== \"boolean\"\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.lines\");\r\n }\r\n\r\n // starting point\r\n moveTo(x, y);\r\n\r\n scalex = scale[0];\r\n scaley = scale[1];\r\n l = lines.length;\r\n //, x2, y2 // bezier only. In page default measurement \"units\", *after* scaling\r\n //, x3, y3 // bezier only. In page default measurement \"units\", *after* scaling\r\n // ending point for all, lines and bezier. . In page default measurement \"units\", *after* scaling\r\n x4 = x; // last / ending point = starting point for first item.\r\n y4 = y; // last / ending point = starting point for first item.\r\n\r\n for (i = 0; i < l; i++) {\r\n leg = lines[i];\r\n if (leg.length === 2) {\r\n // simple line\r\n x4 = leg[0] * scalex + x4; // here last x4 was prior ending point\r\n y4 = leg[1] * scaley + y4; // here last y4 was prior ending point\r\n lineTo(x4, y4);\r\n } else {\r\n // bezier curve\r\n x2 = leg[0] * scalex + x4; // here last x4 is prior ending point\r\n y2 = leg[1] * scaley + y4; // here last y4 is prior ending point\r\n x3 = leg[2] * scalex + x4; // here last x4 is prior ending point\r\n y3 = leg[3] * scaley + y4; // here last y4 is prior ending point\r\n x4 = leg[4] * scalex + x4; // here last x4 was prior ending point\r\n y4 = leg[5] * scaley + y4; // here last y4 was prior ending point\r\n curveTo(x2, y2, x3, y3, x4, y4);\r\n }\r\n }\r\n\r\n if (closed) {\r\n close();\r\n }\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Similar to {@link API.lines} but all coordinates are interpreted as absolute coordinates instead of relative.\r\n * @param {Array} lines An array of {op: operator, c: coordinates} object, where op is one of \"m\" (move to), \"l\" (line to)\r\n * \"c\" (cubic bezier curve) and \"h\" (close (sub)path)). c is an array of coordinates. \"m\" and \"l\" expect two, \"c\"\r\n * six and \"h\" an empty array (or undefined).\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name path\r\n */\r\n API.path = function(lines) {\r\n for (var i = 0; i < lines.length; i++) {\r\n var leg = lines[i];\r\n var coords = leg.c;\r\n switch (leg.op) {\r\n case \"m\":\r\n moveTo(coords[0], coords[1]);\r\n break;\r\n case \"l\":\r\n lineTo(coords[0], coords[1]);\r\n break;\r\n case \"c\":\r\n curveTo.apply(this, coords);\r\n break;\r\n case \"h\":\r\n close();\r\n break;\r\n }\r\n }\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a rectangle to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} w Width (in units declared at inception of PDF document)\r\n * @param {number} h Height (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name rect\r\n */\r\n API.__private__.rect = API.rect = function(x, y, w, h, style) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h) || !isValidStyle(style)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.rect\");\r\n }\r\n if (apiMode === ApiMode.COMPAT) {\r\n h = -h;\r\n }\r\n\r\n out(\r\n [\r\n hpf(scale(x)),\r\n hpf(transformScaleY(y)),\r\n hpf(scale(w)),\r\n hpf(scale(h)),\r\n \"re\"\r\n ].join(\" \")\r\n );\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a triangle to PDF.\r\n *\r\n * @param {number} x1 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y1 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} x2 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y2 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} x3 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y3 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name triangle\r\n */\r\n API.__private__.triangle = API.triangle = function(\r\n x1,\r\n y1,\r\n x2,\r\n y2,\r\n x3,\r\n y3,\r\n style\r\n ) {\r\n if (\r\n isNaN(x1) ||\r\n isNaN(y1) ||\r\n isNaN(x2) ||\r\n isNaN(y2) ||\r\n isNaN(x3) ||\r\n isNaN(y3) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.triangle\");\r\n }\r\n this.lines(\r\n [\r\n [x2 - x1, y2 - y1], // vector to point 2\r\n [x3 - x2, y3 - y2], // vector to point 3\r\n [x1 - x3, y1 - y3] // closing vector back to point 1\r\n ],\r\n x1,\r\n y1, // start of path\r\n [1, 1],\r\n style,\r\n true\r\n );\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a rectangle with rounded corners to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} w Width (in units declared at inception of PDF document)\r\n * @param {number} h Height (in units declared at inception of PDF document)\r\n * @param {number} rx Radius along x axis (in units declared at inception of PDF document)\r\n * @param {number} ry Radius along y axis (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name roundedRect\r\n */\r\n API.__private__.roundedRect = API.roundedRect = function(\r\n x,\r\n y,\r\n w,\r\n h,\r\n rx,\r\n ry,\r\n style\r\n ) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(w) ||\r\n isNaN(h) ||\r\n isNaN(rx) ||\r\n isNaN(ry) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.roundedRect\");\r\n }\r\n var MyArc = (4 / 3) * (Math.SQRT2 - 1);\r\n\r\n rx = Math.min(rx, w * 0.5);\r\n ry = Math.min(ry, h * 0.5);\r\n\r\n this.lines(\r\n [\r\n [w - 2 * rx, 0],\r\n [rx * MyArc, 0, rx, ry - ry * MyArc, rx, ry],\r\n [0, h - 2 * ry],\r\n [0, ry * MyArc, -(rx * MyArc), ry, -rx, ry],\r\n [-w + 2 * rx, 0],\r\n [-(rx * MyArc), 0, -rx, -(ry * MyArc), -rx, -ry],\r\n [0, -h + 2 * ry],\r\n [0, -(ry * MyArc), rx * MyArc, -ry, rx, -ry]\r\n ],\r\n x + rx,\r\n y, // start of path\r\n [1, 1],\r\n style,\r\n true\r\n );\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds an ellipse to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} rx Radius along x axis (in units declared at inception of PDF document)\r\n * @param {number} ry Radius along y axis (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name ellipse\r\n */\r\n API.__private__.ellipse = API.ellipse = function(x, y, rx, ry, style) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(rx) ||\r\n isNaN(ry) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.ellipse\");\r\n }\r\n var lx = (4 / 3) * (Math.SQRT2 - 1) * rx,\r\n ly = (4 / 3) * (Math.SQRT2 - 1) * ry;\r\n\r\n moveTo(x + rx, y);\r\n curveTo(x + rx, y - ly, x + lx, y - ry, x, y - ry);\r\n curveTo(x - lx, y - ry, x - rx, y - ly, x - rx, y);\r\n curveTo(x - rx, y + ly, x - lx, y + ry, x, y + ry);\r\n curveTo(x + lx, y + ry, x + rx, y + ly, x + rx, y);\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds an circle to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} r Radius (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name circle\r\n */\r\n API.__private__.circle = API.circle = function(x, y, r, style) {\r\n if (isNaN(x) || isNaN(y) || isNaN(r) || !isValidStyle(style)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.circle\");\r\n }\r\n return this.ellipse(x, y, r, r, style);\r\n };\r\n\r\n /**\r\n * Sets text font face, variant for upcoming text elements.\r\n * See output of jsPDF.getFontList() for possible font names, styles.\r\n *\r\n * @param {string} fontName Font name or family. Example: \"times\".\r\n * @param {string} fontStyle Font style or variant. Example: \"italic\".\r\n * @param {number | string} fontWeight Weight of the Font. Example: \"normal\" | 400\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setFont\r\n */\r\n API.setFont = function(fontName, fontStyle, fontWeight) {\r\n if (fontWeight) {\r\n fontStyle = combineFontStyleAndFontWeight(fontStyle, fontWeight);\r\n }\r\n activeFontKey = getFont(fontName, fontStyle, {\r\n disableWarning: false\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Gets text font face, variant for upcoming text elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {Object}\r\n * @memberof jsPDF#\r\n * @name getFont\r\n */\r\n var getFontEntry = (API.__private__.getFont = API.getFont = function() {\r\n return fonts[getFont.apply(API, arguments)];\r\n });\r\n\r\n /**\r\n * Returns an object - a tree of fontName to fontStyle relationships available to\r\n * active PDF document.\r\n *\r\n * @public\r\n * @function\r\n * @instance\r\n * @returns {Object} Like {'times':['normal', 'italic', ... ], 'arial':['normal', 'bold', ... ], ... }\r\n * @memberof jsPDF#\r\n * @name getFontList\r\n */\r\n API.__private__.getFontList = API.getFontList = function() {\r\n var list = {},\r\n fontName,\r\n fontStyle;\r\n\r\n for (fontName in fontmap) {\r\n if (fontmap.hasOwnProperty(fontName)) {\r\n list[fontName] = [];\r\n for (fontStyle in fontmap[fontName]) {\r\n if (fontmap[fontName].hasOwnProperty(fontStyle)) {\r\n list[fontName].push(fontStyle);\r\n }\r\n }\r\n }\r\n }\r\n return list;\r\n };\r\n\r\n /**\r\n * Add a custom font to the current instance.\r\n *\r\n * @param {string} postScriptName PDF specification full name for the font.\r\n * @param {string} id PDF-document-instance-specific label assinged to the font.\r\n * @param {string} fontStyle Style of the Font.\r\n * @param {number | string} fontWeight Weight of the Font.\r\n * @param {Object} encoding Encoding_name-to-Font_metrics_object mapping.\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @name addFont\r\n * @returns {string} fontId\r\n */\r\n API.addFont = function(\r\n postScriptName,\r\n fontName,\r\n fontStyle,\r\n fontWeight,\r\n encoding\r\n ) {\r\n var encodingOptions = [\r\n \"StandardEncoding\",\r\n \"MacRomanEncoding\",\r\n \"Identity-H\",\r\n \"WinAnsiEncoding\"\r\n ];\r\n if (arguments[3] && encodingOptions.indexOf(arguments[3]) !== -1) {\r\n //IE 11 fix\r\n encoding = arguments[3];\r\n } else if (arguments[3] && encodingOptions.indexOf(arguments[3]) == -1) {\r\n fontStyle = combineFontStyleAndFontWeight(fontStyle, fontWeight);\r\n }\r\n encoding = encoding || \"Identity-H\";\r\n return addFont.call(this, postScriptName, fontName, fontStyle, encoding);\r\n };\r\n\r\n var lineWidth = options.lineWidth || 0.200025; // 2mm\r\n /**\r\n * Gets the line width, default: 0.200025.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} lineWidth\r\n * @memberof jsPDF#\r\n * @name getLineWidth\r\n */\r\n var getLineWidth = (API.__private__.getLineWidth = API.getLineWidth = function() {\r\n return lineWidth;\r\n });\r\n\r\n /**\r\n * Sets line width for upcoming lines.\r\n *\r\n * @param {number} width Line width (in units declared at inception of PDF document).\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineWidth\r\n */\r\n var setLineWidth = (API.__private__.setLineWidth = API.setLineWidth = function(\r\n width\r\n ) {\r\n lineWidth = width;\r\n out(hpf(scale(width)) + \" w\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Sets the dash pattern for upcoming lines.\r\n *\r\n * To reset the settings simply call the method without any parameters.\r\n * @param {Array} dashArray An array containing 0-2 numbers. The first number sets the length of the\r\n * dashes, the second number the length of the gaps. If the second number is missing, the gaps are considered\r\n * to be as long as the dashes. An empty array means solid, unbroken lines.\r\n * @param {number} dashPhase The phase lines start with.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineDashPattern\r\n */\r\n API.__private__.setLineDash = jsPDF.API.setLineDash = jsPDF.API.setLineDashPattern = function(\r\n dashArray,\r\n dashPhase\r\n ) {\r\n dashArray = dashArray || [];\r\n dashPhase = dashPhase || 0;\r\n\r\n if (isNaN(dashPhase) || !Array.isArray(dashArray)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.setLineDash\");\r\n }\r\n\r\n dashArray = dashArray\r\n .map(function(x) {\r\n return hpf(scale(x));\r\n })\r\n .join(\" \");\r\n dashPhase = hpf(scale(dashPhase));\r\n\r\n out(\"[\" + dashArray + \"] \" + dashPhase + \" d\");\r\n return this;\r\n };\r\n\r\n var lineHeightFactor;\r\n\r\n var getLineHeight = (API.__private__.getLineHeight = API.getLineHeight = function() {\r\n return activeFontSize * lineHeightFactor;\r\n });\r\n\r\n API.__private__.getLineHeight = API.getLineHeight = function() {\r\n return activeFontSize * lineHeightFactor;\r\n };\r\n\r\n /**\r\n * Sets the LineHeightFactor of proportion.\r\n *\r\n * @param {number} value LineHeightFactor value. Default: 1.15.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineHeightFactor\r\n */\r\n var setLineHeightFactor = (API.__private__.setLineHeightFactor = API.setLineHeightFactor = function(\r\n value\r\n ) {\r\n value = value || 1.15;\r\n if (typeof value === \"number\") {\r\n lineHeightFactor = value;\r\n }\r\n return this;\r\n });\r\n\r\n /**\r\n * Gets the LineHeightFactor, default: 1.15.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} lineHeightFactor\r\n * @memberof jsPDF#\r\n * @name getLineHeightFactor\r\n */\r\n var getLineHeightFactor = (API.__private__.getLineHeightFactor = API.getLineHeightFactor = function() {\r\n return lineHeightFactor;\r\n });\r\n\r\n setLineHeightFactor(options.lineHeight);\r\n\r\n var getHorizontalCoordinate = (API.__private__.getHorizontalCoordinate = function(\r\n value\r\n ) {\r\n return scale(value);\r\n });\r\n\r\n var getVerticalCoordinate = (API.__private__.getVerticalCoordinate = function(\r\n value\r\n ) {\r\n if (apiMode === ApiMode.ADVANCED) {\r\n return value;\r\n } else {\r\n var pageHeight =\r\n pagesContext[currentPage].mediaBox.topRightY -\r\n pagesContext[currentPage].mediaBox.bottomLeftY;\r\n return pageHeight - scale(value);\r\n }\r\n });\r\n\r\n var getHorizontalCoordinateString = (API.__private__.getHorizontalCoordinateString = API.getHorizontalCoordinateString = function(\r\n value\r\n ) {\r\n return hpf(getHorizontalCoordinate(value));\r\n });\r\n\r\n var getVerticalCoordinateString = (API.__private__.getVerticalCoordinateString = API.getVerticalCoordinateString = function(\r\n value\r\n ) {\r\n return hpf(getVerticalCoordinate(value));\r\n });\r\n\r\n var strokeColor = options.strokeColor || \"0 G\";\r\n\r\n /**\r\n * Gets the stroke color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getDrawColor\r\n */\r\n API.__private__.getStrokeColor = API.getDrawColor = function() {\r\n return decodeColorString(strokeColor);\r\n };\r\n\r\n /**\r\n * Sets the stroke color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setDrawColor\r\n */\r\n API.__private__.setStrokeColor = API.setDrawColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"draw\",\r\n precision: 2\r\n };\r\n\r\n strokeColor = encodeColorString(options);\r\n out(strokeColor);\r\n return this;\r\n };\r\n\r\n var fillColor = options.fillColor || \"0 g\";\r\n\r\n /**\r\n * Gets the fill color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getFillColor\r\n */\r\n API.__private__.getFillColor = API.getFillColor = function() {\r\n return decodeColorString(fillColor);\r\n };\r\n\r\n /**\r\n * Sets the fill color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setFillColor\r\n */\r\n API.__private__.setFillColor = API.setFillColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"fill\",\r\n precision: 2\r\n };\r\n\r\n fillColor = encodeColorString(options);\r\n out(fillColor);\r\n return this;\r\n };\r\n\r\n var textColor = options.textColor || \"0 g\";\r\n /**\r\n * Gets the text color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getTextColor\r\n */\r\n var getTextColor = (API.__private__.getTextColor = API.getTextColor = function() {\r\n return decodeColorString(textColor);\r\n });\r\n /**\r\n * Sets the text color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setTextColor\r\n */\r\n API.__private__.setTextColor = API.setTextColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"text\",\r\n precision: 3\r\n };\r\n textColor = encodeColorString(options);\r\n\r\n return this;\r\n };\r\n\r\n var activeCharSpace = options.charSpace;\r\n\r\n /**\r\n * Get global value of CharSpace.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} charSpace\r\n * @memberof jsPDF#\r\n * @name getCharSpace\r\n */\r\n var getCharSpace = (API.__private__.getCharSpace = API.getCharSpace = function() {\r\n return parseFloat(activeCharSpace || 0);\r\n });\r\n\r\n /**\r\n * Set global value of CharSpace.\r\n *\r\n * @param {number} charSpace\r\n * @function\r\n * @instance\r\n * @returns {jsPDF} jsPDF-instance\r\n * @memberof jsPDF#\r\n * @name setCharSpace\r\n */\r\n API.__private__.setCharSpace = API.setCharSpace = function(charSpace) {\r\n if (isNaN(charSpace)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.setCharSpace\");\r\n }\r\n activeCharSpace = charSpace;\r\n return this;\r\n };\r\n\r\n var lineCapID = 0;\r\n /**\r\n * Is an Object providing a mapping from human-readable to\r\n * integer flag values designating the varieties of line cap\r\n * and join styles.\r\n *\r\n * @memberof jsPDF#\r\n * @name CapJoinStyles\r\n */\r\n API.CapJoinStyles = {\r\n 0: 0,\r\n butt: 0,\r\n but: 0,\r\n miter: 0,\r\n 1: 1,\r\n round: 1,\r\n rounded: 1,\r\n circle: 1,\r\n 2: 2,\r\n projecting: 2,\r\n project: 2,\r\n square: 2,\r\n bevel: 2\r\n };\r\n\r\n /**\r\n * Sets the line cap styles.\r\n * See {jsPDF.CapJoinStyles} for variants.\r\n *\r\n * @param {String|Number} style A string or number identifying the type of line cap.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineCap\r\n */\r\n API.__private__.setLineCap = API.setLineCap = function(style) {\r\n var id = API.CapJoinStyles[style];\r\n if (id === undefined) {\r\n throw new Error(\r\n \"Line cap style of '\" +\r\n style +\r\n \"' is not recognized. See or extend .CapJoinStyles property for valid styles\"\r\n );\r\n }\r\n lineCapID = id;\r\n out(id + \" J\");\r\n\r\n return this;\r\n };\r\n\r\n var lineJoinID = 0;\r\n /**\r\n * Sets the line join styles.\r\n * See {jsPDF.CapJoinStyles} for variants.\r\n *\r\n * @param {String|Number} style A string or number identifying the type of line join.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineJoin\r\n */\r\n API.__private__.setLineJoin = API.setLineJoin = function(style) {\r\n var id = API.CapJoinStyles[style];\r\n if (id === undefined) {\r\n throw new Error(\r\n \"Line join style of '\" +\r\n style +\r\n \"' is not recognized. See or extend .CapJoinStyles property for valid styles\"\r\n );\r\n }\r\n lineJoinID = id;\r\n out(id + \" j\");\r\n\r\n return this;\r\n };\r\n\r\n var miterLimit;\r\n /**\r\n * Sets the miterLimit property, which effects the maximum miter length.\r\n *\r\n * @param {number} length The length of the miter\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineMiterLimit\r\n */\r\n API.__private__.setLineMiterLimit = API.__private__.setMiterLimit = API.setLineMiterLimit = API.setMiterLimit = function(\r\n length\r\n ) {\r\n length = length || 0;\r\n if (isNaN(length)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.setLineMiterLimit\");\r\n }\r\n out(hpf(scale(length)) + \" M\");\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * An object representing a pdf graphics state.\r\n * @class GState\r\n */\r\n\r\n /**\r\n *\r\n * @param parameters A parameter object that contains all properties this graphics state wants to set.\r\n * Supported are: opacity, stroke-opacity\r\n * @constructor\r\n */\r\n API.GState = GState;\r\n\r\n /**\r\n * Sets a either previously added {@link GState} (via {@link addGState}) or a new {@link GState}.\r\n * @param {String|GState} gState If type is string, a previously added GState is used, if type is GState\r\n * it will be added before use.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setGState\r\n */\r\n API.setGState = function(gState) {\r\n if (typeof gState === \"string\") {\r\n gState = gStates[gStatesMap[gState]];\r\n } else {\r\n gState = addGState(null, gState);\r\n }\r\n\r\n if (!gState.equals(activeGState)) {\r\n out(\"/\" + gState.id + \" gs\");\r\n activeGState = gState;\r\n }\r\n };\r\n\r\n /**\r\n * Adds a new Graphics State. Duplicates are automatically eliminated.\r\n * @param {String} key Might also be null, if no later reference to this gState is needed\r\n * @param {Object} gState The gState object\r\n */\r\n var addGState = function(key, gState) {\r\n // only add it if it is not already present (the keys provided by the user must be unique!)\r\n if (key && gStatesMap[key]) return;\r\n var duplicate = false;\r\n for (var s in gStates) {\r\n if (gStates.hasOwnProperty(s)) {\r\n if (gStates[s].equals(gState)) {\r\n duplicate = true;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (duplicate) {\r\n gState = gStates[s];\r\n } else {\r\n var gStateKey = \"GS\" + (Object.keys(gStates).length + 1).toString(10);\r\n gStates[gStateKey] = gState;\r\n gState.id = gStateKey;\r\n }\r\n\r\n // several user keys may point to the same GState object\r\n key && (gStatesMap[key] = gState.id);\r\n\r\n events.publish(\"addGState\", gState);\r\n\r\n return gState;\r\n };\r\n\r\n /**\r\n * Adds a new {@link GState} for later use. See {@link setGState}.\r\n * @param {String} key\r\n * @param {GState} gState\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n *\r\n * @memberof jsPDF#\r\n * @name addGState\r\n */\r\n API.addGState = function(key, gState) {\r\n addGState(key, gState);\r\n return this;\r\n };\r\n\r\n /**\r\n * Saves the current graphics state (\"pushes it on the stack\"). It can be restored by {@link restoreGraphicsState}\r\n * later. Here, the general pdf graphics state is meant, also including the current transformation matrix,\r\n * fill and stroke colors etc.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name saveGraphicsState\r\n */\r\n API.saveGraphicsState = function() {\r\n out(\"q\");\r\n // as we cannot set font key and size independently we must keep track of both\r\n fontStateStack.push({\r\n key: activeFontKey,\r\n size: activeFontSize,\r\n color: textColor\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Restores a previously saved graphics state saved by {@link saveGraphicsState} (\"pops the stack\").\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name restoreGraphicsState\r\n */\r\n API.restoreGraphicsState = function() {\r\n out(\"Q\");\r\n\r\n // restore previous font state\r\n var fontState = fontStateStack.pop();\r\n activeFontKey = fontState.key;\r\n activeFontSize = fontState.size;\r\n textColor = fontState.color;\r\n\r\n activeGState = null;\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * Appends this matrix to the left of all previously applied matrices.\r\n *\r\n * @param {Matrix} matrix\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setCurrentTransformationMatrix\r\n */\r\n API.setCurrentTransformationMatrix = function(matrix) {\r\n out(matrix.toString() + \" cm\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Inserts a debug comment into the generated pdf.\r\n * @function\r\n * @instance\r\n * @param {String} text\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name comment\r\n */\r\n API.comment = function(text) {\r\n out(\"#\" + text);\r\n return this;\r\n };\r\n\r\n /**\r\n * Point\r\n */\r\n var Point = function(x, y) {\r\n var _x = x || 0;\r\n Object.defineProperty(this, \"x\", {\r\n enumerable: true,\r\n get: function() {\r\n return _x;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _x = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _y = y || 0;\r\n Object.defineProperty(this, \"y\", {\r\n enumerable: true,\r\n get: function() {\r\n return _y;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _y = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _type = \"pt\";\r\n Object.defineProperty(this, \"type\", {\r\n enumerable: true,\r\n get: function() {\r\n return _type;\r\n },\r\n set: function(value) {\r\n _type = value.toString();\r\n }\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Rectangle\r\n */\r\n var Rectangle = function(x, y, w, h) {\r\n Point.call(this, x, y);\r\n this.type = \"rect\";\r\n\r\n var _w = w || 0;\r\n Object.defineProperty(this, \"w\", {\r\n enumerable: true,\r\n get: function() {\r\n return _w;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _w = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _h = h || 0;\r\n Object.defineProperty(this, \"h\", {\r\n enumerable: true,\r\n get: function() {\r\n return _h;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _h = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * FormObject/RenderTarget\r\n */\r\n\r\n var RenderTarget = function() {\r\n this.page = page;\r\n this.currentPage = currentPage;\r\n this.pages = pages.slice(0);\r\n this.pagesContext = pagesContext.slice(0);\r\n this.x = pageX;\r\n this.y = pageY;\r\n this.matrix = pageMatrix;\r\n this.width = getPageWidth(currentPage);\r\n this.height = getPageHeight(currentPage);\r\n this.outputDestination = outputDestination;\r\n\r\n this.id = \"\"; // set by endFormObject()\r\n this.objectNumber = -1; // will be set by putXObject()\r\n };\r\n\r\n RenderTarget.prototype.restore = function() {\r\n page = this.page;\r\n currentPage = this.currentPage;\r\n pagesContext = this.pagesContext;\r\n pages = this.pages;\r\n pageX = this.x;\r\n pageY = this.y;\r\n pageMatrix = this.matrix;\r\n setPageWidth(currentPage, this.width);\r\n setPageHeight(currentPage, this.height);\r\n outputDestination = this.outputDestination;\r\n };\r\n\r\n var beginNewRenderTarget = function(x, y, width, height, matrix) {\r\n // save current state\r\n renderTargetStack.push(new RenderTarget());\r\n\r\n // clear pages\r\n page = currentPage = 0;\r\n pages = [];\r\n pageX = x;\r\n pageY = y;\r\n\r\n pageMatrix = matrix;\r\n\r\n beginPage([width, height]);\r\n };\r\n\r\n var endFormObject = function(key) {\r\n // only add it if it is not already present (the keys provided by the user must be unique!)\r\n if (renderTargetMap[key]) {\r\n renderTargetStack.pop().restore();\r\n return;\r\n }\r\n\r\n // save the created xObject\r\n var newXObject = new RenderTarget();\r\n\r\n var xObjectId = \"Xo\" + (Object.keys(renderTargets).length + 1).toString(10);\r\n newXObject.id = xObjectId;\r\n\r\n renderTargetMap[key] = xObjectId;\r\n renderTargets[xObjectId] = newXObject;\r\n\r\n events.publish(\"addFormObject\", newXObject);\r\n\r\n // restore state from stack\r\n renderTargetStack.pop().restore();\r\n };\r\n\r\n /**\r\n * Starts a new pdf form object, which means that all consequent draw calls target a new independent object\r\n * until {@link endFormObject} is called. The created object can be referenced and drawn later using\r\n * {@link doFormObject}. Nested form objects are possible.\r\n * x, y, width, height set the bounding box that is used to clip the content.\r\n *\r\n * @param {number} x\r\n * @param {number} y\r\n * @param {number} width\r\n * @param {number} height\r\n * @param {Matrix} matrix The matrix that will be applied to convert the form objects coordinate system to\r\n * the parent's.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name beginFormObject\r\n */\r\n API.beginFormObject = function(x, y, width, height, matrix) {\r\n // The user can set the output target to a new form object. Nested form objects are possible.\r\n // Currently, they use the resource dictionary of the surrounding stream. This should be changed, as\r\n // the PDF-Spec states:\r\n // \"In PDF 1.2 and later versions, form XObjects may be independent of the content streams in which\r\n // they appear, and this is strongly recommended although not requiredIn PDF 1.2 and later versions,\r\n // form XObjects may be independent of the content streams in which they appear, and this is strongly\r\n // recommended although not required\"\r\n beginNewRenderTarget(x, y, width, height, matrix);\r\n return this;\r\n };\r\n\r\n /**\r\n * Completes and saves the form object.\r\n * @param {String} key The key by which this form object can be referenced.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name endFormObject\r\n */\r\n API.endFormObject = function(key) {\r\n endFormObject(key);\r\n return this;\r\n };\r\n\r\n /**\r\n * Draws the specified form object by referencing to the respective pdf XObject created with\r\n * {@link API.beginFormObject} and {@link endFormObject}.\r\n * The location is determined by matrix.\r\n *\r\n * @param {String} key The key to the form object.\r\n * @param {Matrix} matrix The matrix applied before drawing the form object.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name doFormObject\r\n */\r\n API.doFormObject = function(key, matrix) {\r\n var xObject = renderTargets[renderTargetMap[key]];\r\n out(\"q\");\r\n out(matrix.toString() + \" cm\");\r\n out(\"/\" + xObject.id + \" Do\");\r\n out(\"Q\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Returns the form object specified by key.\r\n * @param key {String}\r\n * @returns {{x: number, y: number, width: number, height: number, matrix: Matrix}}\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name getFormObject\r\n */\r\n API.getFormObject = function(key) {\r\n var xObject = renderTargets[renderTargetMap[key]];\r\n return {\r\n x: xObject.x,\r\n y: xObject.y,\r\n width: xObject.width,\r\n height: xObject.height,\r\n matrix: xObject.matrix\r\n };\r\n };\r\n\r\n /**\r\n * Saves as PDF document. An alias of jsPDF.output('save', 'filename.pdf').\r\n * Uses FileSaver.js-method saveAs.\r\n *\r\n * @memberof jsPDF#\r\n * @name save\r\n * @function\r\n * @instance\r\n * @param {string} filename The filename including extension.\r\n * @param {Object} options An Object with additional options, possible options: 'returnPromise'.\r\n * @returns {jsPDF|Promise} jsPDF-instance */\r\n API.save = function(filename, options) {\r\n filename = filename || \"generated.pdf\";\r\n\r\n options = options || {};\r\n options.returnPromise = options.returnPromise || false;\r\n\r\n if (options.returnPromise === false) {\r\n saveAs(getBlob(buildDocument()), filename);\r\n if (typeof saveAs.unload === \"function\") {\r\n if (globalObject.setTimeout) {\r\n setTimeout(saveAs.unload, 911);\r\n }\r\n }\r\n return this;\r\n } else {\r\n return new Promise(function(resolve, reject) {\r\n try {\r\n var result = saveAs(getBlob(buildDocument()), filename);\r\n if (typeof saveAs.unload === \"function\") {\r\n if (globalObject.setTimeout) {\r\n setTimeout(saveAs.unload, 911);\r\n }\r\n }\r\n resolve(result);\r\n } catch (e) {\r\n reject(e.message);\r\n }\r\n });\r\n }\r\n\r\n };\r\n\r\n // applying plugins (more methods) ON TOP of built-in API.\r\n // this is intentional as we allow plugins to override\r\n // built-ins\r\n for (var plugin in jsPDF.API) {\r\n if (jsPDF.API.hasOwnProperty(plugin)) {\r\n if (plugin === \"events\" && jsPDF.API.events.length) {\r\n (function(events, newEvents) {\r\n // jsPDF.API.events is a JS Array of Arrays\r\n // where each Array is a pair of event name, handler\r\n // Events were added by plugins to the jsPDF instantiator.\r\n // These are always added to the new instance and some ran\r\n // during instantiation.\r\n var eventname, handler_and_args, i;\r\n\r\n for (i = newEvents.length - 1; i !== -1; i--) {\r\n // subscribe takes 3 args: 'topic', function, runonce_flag\r\n // if undefined, runonce is false.\r\n // users can attach callback directly,\r\n // or they can attach an array with [callback, runonce_flag]\r\n // that's what the \"apply\" magic is for below.\r\n eventname = newEvents[i][0];\r\n handler_and_args = newEvents[i][1];\r\n events.subscribe.apply(\r\n events,\r\n [eventname].concat(\r\n typeof handler_and_args === \"function\"\r\n ? [handler_and_args]\r\n : handler_and_args\r\n )\r\n );\r\n }\r\n })(events, jsPDF.API.events);\r\n } else {\r\n API[plugin] = jsPDF.API[plugin];\r\n }\r\n }\r\n }\r\n\r\n var getPageWidth = (API.getPageWidth = function(pageNumber) {\r\n pageNumber = pageNumber || currentPage;\r\n return (\r\n (pagesContext[pageNumber].mediaBox.topRightX -\r\n pagesContext[pageNumber].mediaBox.bottomLeftX) /\r\n scaleFactor\r\n );\r\n });\r\n\r\n var setPageWidth = (API.setPageWidth = function(pageNumber, value) {\r\n pagesContext[pageNumber].mediaBox.topRightX =\r\n value * scaleFactor + pagesContext[pageNumber].mediaBox.bottomLeftX;\r\n });\r\n\r\n var getPageHeight = (API.getPageHeight = function(pageNumber) {\r\n pageNumber = pageNumber || currentPage;\r\n return (\r\n (pagesContext[pageNumber].mediaBox.topRightY -\r\n pagesContext[pageNumber].mediaBox.bottomLeftY) /\r\n scaleFactor\r\n );\r\n });\r\n\r\n var setPageHeight = (API.setPageHeight = function(pageNumber, value) {\r\n pagesContext[pageNumber].mediaBox.topRightY =\r\n value * scaleFactor + pagesContext[pageNumber].mediaBox.bottomLeftY;\r\n });\r\n\r\n /**\r\n * Object exposing internal API to plugins\r\n * @public\r\n * @ignore\r\n */\r\n API.internal = {\r\n pdfEscape: pdfEscape,\r\n getStyle: getStyle,\r\n getFont: getFontEntry,\r\n getFontSize: getFontSize,\r\n getCharSpace: getCharSpace,\r\n getTextColor: getTextColor,\r\n getLineHeight: getLineHeight,\r\n getLineHeightFactor: getLineHeightFactor,\r\n getLineWidth: getLineWidth,\r\n write: write,\r\n getHorizontalCoordinate: getHorizontalCoordinate,\r\n getVerticalCoordinate: getVerticalCoordinate,\r\n getCoordinateString: getHorizontalCoordinateString,\r\n getVerticalCoordinateString: getVerticalCoordinateString,\r\n collections: {},\r\n newObject: newObject,\r\n newAdditionalObject: newAdditionalObject,\r\n newObjectDeferred: newObjectDeferred,\r\n newObjectDeferredBegin: newObjectDeferredBegin,\r\n getFilters: getFilters,\r\n putStream: putStream,\r\n events: events,\r\n scaleFactor: scaleFactor,\r\n pageSize: {\r\n getWidth: function() {\r\n return getPageWidth(currentPage);\r\n },\r\n setWidth: function(value) {\r\n setPageWidth(currentPage, value);\r\n },\r\n getHeight: function() {\r\n return getPageHeight(currentPage);\r\n },\r\n setHeight: function(value) {\r\n setPageHeight(currentPage, value);\r\n }\r\n },\r\n encryptionOptions: encryptionOptions,\r\n encryption: encryption,\r\n getEncryptor: getEncryptor,\r\n output: output,\r\n getNumberOfPages: getNumberOfPages,\r\n pages: pages,\r\n out: out,\r\n f2: f2,\r\n f3: f3,\r\n getPageInfo: getPageInfo,\r\n getPageInfoByObjId: getPageInfoByObjId,\r\n getCurrentPageInfo: getCurrentPageInfo,\r\n getPDFVersion: getPdfVersion,\r\n Point: Point,\r\n Rectangle: Rectangle,\r\n Matrix: Matrix,\r\n hasHotfix: hasHotfix //Expose the hasHotfix check so plugins can also check them.\r\n };\r\n\r\n Object.defineProperty(API.internal.pageSize, \"width\", {\r\n get: function() {\r\n return getPageWidth(currentPage);\r\n },\r\n set: function(value) {\r\n setPageWidth(currentPage, value);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(API.internal.pageSize, \"height\", {\r\n get: function() {\r\n return getPageHeight(currentPage);\r\n },\r\n set: function(value) {\r\n setPageHeight(currentPage, value);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n\r\n //////////////////////////////////////////////////////\r\n // continuing initialization of jsPDF Document object\r\n //////////////////////////////////////////////////////\r\n // Add the first page automatically\r\n addFonts.call(API, standardFonts);\r\n activeFontKey = \"F1\";\r\n _addPage(format, orientation);\r\n\r\n events.publish(\"initialized\");\r\n return API;\r\n}\r\n\r\n/**\r\n * jsPDF.API is a STATIC property of jsPDF class.\r\n * jsPDF.API is an object you can add methods and properties to.\r\n * The methods / properties you add will show up in new jsPDF objects.\r\n *\r\n * One property is prepopulated. It is the 'events' Object. Plugin authors can add topics,\r\n * callbacks to this object. These will be reassigned to all new instances of jsPDF.\r\n *\r\n * @static\r\n * @public\r\n * @memberof jsPDF#\r\n * @name API\r\n *\r\n * @example\r\n * jsPDF.API.mymethod = function(){\r\n * // 'this' will be ref to internal API object. see jsPDF source\r\n * // , so you can refer to built-in methods like so:\r\n * // this.line(....)\r\n * // this.text(....)\r\n * }\r\n * var pdfdoc = new jsPDF()\r\n * pdfdoc.mymethod() // <- !!!!!!\r\n */\r\njsPDF.API = {\r\n events: []\r\n};\r\n/**\r\n * The version of jsPDF.\r\n * @name version\r\n * @type {string}\r\n * @memberof jsPDF#\r\n */\r\njsPDF.version = \"0.0.0\";\r\n\r\nexport { jsPDF, ShadingPattern, TilingPattern, GState };\r\nexport default jsPDF;\r\n","/* global jsPDF */\n/**\n * @license\n * Copyright (c) 2016 Alexander Weidt,\n * https://github.com/BiggA94\n *\n * Licensed under the MIT License. http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF AcroForm Plugin\n * @module AcroForm\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\nvar jsPDFAPI = jsPDF.API;\nvar scaleFactor = 1;\n\nvar pdfEscape = function(value) {\n return value\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\\(/g, \"\\\\(\")\n .replace(/\\)/g, \"\\\\)\");\n};\nvar pdfUnescape = function(value) {\n return value\n .replace(/\\\\\\\\/g, \"\\\\\")\n .replace(/\\\\\\(/g, \"(\")\n .replace(/\\\\\\)/g, \")\");\n};\n\nvar f2 = function(number) {\n return number.toFixed(2); // Ie, %.2f\n};\n\nvar f5 = function(number) {\n return number.toFixed(5); // Ie, %.2f\n};\n\njsPDFAPI.__acroform__ = {};\nvar inherit = function(child, parent) {\n child.prototype = Object.create(parent.prototype);\n child.prototype.constructor = child;\n};\n\nvar scale = function(x) {\n return x * scaleFactor;\n};\n\nvar createFormXObject = function(formObject) {\n var xobj = new AcroFormXObject();\n var height = AcroFormAppearance.internal.getHeight(formObject) || 0;\n var width = AcroFormAppearance.internal.getWidth(formObject) || 0;\n xobj.BBox = [0, 0, Number(f2(width)), Number(f2(height))];\n return xobj;\n};\n\n/**\n * Bit-Operations\n */\nvar setBit = (jsPDFAPI.__acroform__.setBit = function(number, bitPosition) {\n number = number || 0;\n bitPosition = bitPosition || 0;\n\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.setBit\"\n );\n }\n var bitMask = 1 << bitPosition;\n\n number |= bitMask;\n\n return number;\n});\n\nvar clearBit = (jsPDFAPI.__acroform__.clearBit = function(number, bitPosition) {\n number = number || 0;\n bitPosition = bitPosition || 0;\n\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.clearBit\"\n );\n }\n var bitMask = 1 << bitPosition;\n\n number &= ~bitMask;\n\n return number;\n});\n\nvar getBit = (jsPDFAPI.__acroform__.getBit = function(number, bitPosition) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.getBit\"\n );\n }\n return (number & (1 << bitPosition)) === 0 ? 0 : 1;\n});\n\n/*\n * Ff starts counting the bit position at 1 and not like javascript at 0\n */\nvar getBitForPdf = (jsPDFAPI.__acroform__.getBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.getBitForPdf\"\n );\n }\n return getBit(number, bitPosition - 1);\n});\n\nvar setBitForPdf = (jsPDFAPI.__acroform__.setBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.setBitForPdf\"\n );\n }\n return setBit(number, bitPosition - 1);\n});\n\nvar clearBitForPdf = (jsPDFAPI.__acroform__.clearBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.clearBitForPdf\"\n );\n }\n return clearBit(number, bitPosition - 1);\n});\n\nvar calculateCoordinates = (jsPDFAPI.__acroform__.calculateCoordinates = function(\n args,\n scope\n) {\n var getHorizontalCoordinate = scope.internal.getHorizontalCoordinate;\n var getVerticalCoordinate = scope.internal.getVerticalCoordinate;\n var x = args[0];\n var y = args[1];\n var w = args[2];\n var h = args[3];\n\n var coordinates = {};\n\n coordinates.lowerLeft_X = getHorizontalCoordinate(x) || 0;\n coordinates.lowerLeft_Y = getVerticalCoordinate(y + h) || 0;\n coordinates.upperRight_X = getHorizontalCoordinate(x + w) || 0;\n coordinates.upperRight_Y = getVerticalCoordinate(y) || 0;\n\n return [\n Number(f2(coordinates.lowerLeft_X)),\n Number(f2(coordinates.lowerLeft_Y)),\n Number(f2(coordinates.upperRight_X)),\n Number(f2(coordinates.upperRight_Y))\n ];\n});\n\nvar calculateAppearanceStream = function(formObject) {\n if (formObject.appearanceStreamContent) {\n return formObject.appearanceStreamContent;\n }\n\n if (!formObject.V && !formObject.DV) {\n return;\n }\n\n // else calculate it\n\n var stream = [];\n var text = formObject._V || formObject.DV;\n var calcRes = calculateX(formObject, text);\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n\n //PDF 32000-1:2008, page 444\n stream.push(\"/Tx BMC\");\n stream.push(\"q\");\n stream.push(\"BT\"); // Begin Text\n stream.push(formObject.scope.__private__.encodeColorString(formObject.color));\n stream.push(\"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf\");\n stream.push(\"1 0 0 1 0 0 Tm\"); // Transformation Matrix\n stream.push(calcRes.text);\n stream.push(\"ET\"); // End Text\n stream.push(\"Q\");\n stream.push(\"EMC\");\n\n var appearanceStreamContent = createFormXObject(formObject);\n appearanceStreamContent.scope = formObject.scope;\n appearanceStreamContent.stream = stream.join(\"\\n\");\n return appearanceStreamContent;\n};\n\nvar calculateX = function(formObject, text) {\n var maxFontSize =\n formObject.fontSize === 0 ? formObject.maxFontSize : formObject.fontSize;\n var returnValue = {\n text: \"\",\n fontSize: \"\"\n };\n // Remove Brackets\n text = text.substr(0, 1) == \"(\" ? text.substr(1) : text;\n text =\n text.substr(text.length - 1) == \")\"\n ? text.substr(0, text.length - 1)\n : text;\n // split into array of words\n var textSplit = text.split(\" \");\n if (formObject.multiline) {\n textSplit = textSplit.map(word => word.split(\"\\n\"));\n } else {\n textSplit = textSplit.map(word => [word]);\n }\n\n var fontSize = maxFontSize; // The Starting fontSize (The Maximum)\n var lineSpacing = 2;\n var borderPadding = 2;\n\n var height = AcroFormAppearance.internal.getHeight(formObject) || 0;\n height = height < 0 ? -height : height;\n var width = AcroFormAppearance.internal.getWidth(formObject) || 0;\n width = width < 0 ? -width : width;\n\n var isSmallerThanWidth = function(i, lastLine, fontSize) {\n if (i + 1 < textSplit.length) {\n var tmp = lastLine + \" \" + textSplit[i + 1][0];\n var TextWidth = calculateFontSpace(tmp, formObject, fontSize).width;\n var FieldWidth = width - 2 * borderPadding;\n return TextWidth <= FieldWidth;\n } else {\n return false;\n }\n };\n\n fontSize++;\n FontSize: while (fontSize > 0) {\n text = \"\";\n fontSize--;\n var textHeight = calculateFontSpace(\"3\", formObject, fontSize).height;\n var startY = formObject.multiline\n ? height - fontSize\n : (height - textHeight) / 2;\n startY += lineSpacing;\n var startX;\n\n var lastY = startY;\n var firstWordInLine = 0,\n lastWordInLine = 0;\n var lastLength;\n var currWord = 0;\n\n if (fontSize <= 0) {\n // In case, the Text doesn't fit at all\n fontSize = 12;\n text = \"(...) Tj\\n\";\n text +=\n \"% Width of Text: \" +\n calculateFontSpace(text, formObject, fontSize).width +\n \", FieldWidth:\" +\n width +\n \"\\n\";\n break;\n }\n\n var lastLine = \"\";\n var lineCount = 0;\n Line: for (var i = 0; i < textSplit.length; i++) {\n if (textSplit.hasOwnProperty(i)) {\n let isWithNewLine = false;\n if (textSplit[i].length !== 1 && currWord !== textSplit[i].length - 1) {\n if (\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n continue FontSize;\n }\n\n lastLine += textSplit[i][currWord];\n isWithNewLine = true;\n lastWordInLine = i;\n i--;\n } else {\n lastLine += textSplit[i][currWord] + \" \";\n lastLine =\n lastLine.substr(lastLine.length - 1) == \" \"\n ? lastLine.substr(0, lastLine.length - 1)\n : lastLine;\n var key = parseInt(i);\n var nextLineIsSmaller = isSmallerThanWidth(key, lastLine, fontSize);\n var isLastWord = i >= textSplit.length - 1;\n\n if (nextLineIsSmaller && !isLastWord) {\n lastLine += \" \";\n currWord = 0;\n continue; // Line\n } else if (!nextLineIsSmaller && !isLastWord) {\n if (!formObject.multiline) {\n continue FontSize;\n } else {\n if (\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n // If the Text is higher than the\n // FieldObject\n continue FontSize;\n }\n lastWordInLine = key;\n // go on\n }\n } else if (isLastWord) {\n lastWordInLine = key;\n } else {\n if (\n formObject.multiline &&\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n // If the Text is higher than the FieldObject\n continue FontSize;\n }\n }\n }\n // Remove last blank\n\n var line = \"\";\n\n for (var x = firstWordInLine; x <= lastWordInLine; x++) {\n var currLine = textSplit[x];\n if (formObject.multiline) {\n if (x === lastWordInLine) {\n line += currLine[currWord] + \" \";\n currWord = (currWord + 1) % currLine.length;\n continue;\n }\n if (x === firstWordInLine) {\n line += currLine[currLine.length - 1] + \" \";\n continue;\n }\n }\n line += currLine[0] + \" \";\n }\n\n // Remove last blank\n line =\n line.substr(line.length - 1) == \" \"\n ? line.substr(0, line.length - 1)\n : line;\n // lastLength -= blankSpace.width;\n lastLength = calculateFontSpace(line, formObject, fontSize).width;\n\n // Calculate startX\n switch (formObject.textAlign) {\n case \"right\":\n startX = width - lastLength - borderPadding;\n break;\n case \"center\":\n startX = (width - lastLength) / 2;\n break;\n case \"left\":\n default:\n startX = borderPadding;\n break;\n }\n text += f2(startX) + \" \" + f2(lastY) + \" Td\\n\";\n text += \"(\" + pdfEscape(line) + \") Tj\\n\";\n // reset X in PDF\n text += -f2(startX) + \" 0 Td\\n\";\n\n // After a Line, adjust y position\n lastY = -(fontSize + lineSpacing);\n\n // Reset for next iteration step\n lastLength = 0;\n firstWordInLine = isWithNewLine ? lastWordInLine : lastWordInLine + 1;\n lineCount++;\n\n lastLine = \"\";\n continue Line;\n }\n }\n break;\n }\n\n returnValue.text = text;\n returnValue.fontSize = fontSize;\n\n return returnValue;\n};\n\n/**\n * Small workaround for calculating the TextMetric approximately.\n *\n * @param text\n * @param fontsize\n * @returns {TextMetrics} (Has Height and Width)\n */\nvar calculateFontSpace = function(text, formObject, fontSize) {\n var font = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n );\n var width =\n formObject.scope.getStringUnitWidth(text, {\n font: font,\n fontSize: parseFloat(fontSize),\n charSpace: 0\n }) * parseFloat(fontSize);\n var height =\n formObject.scope.getStringUnitWidth(\"3\", {\n font: font,\n fontSize: parseFloat(fontSize),\n charSpace: 0\n }) *\n parseFloat(fontSize) *\n 1.5;\n return { height: height, width: width };\n};\n\nvar acroformPluginTemplate = {\n fields: [],\n xForms: [],\n /**\n * acroFormDictionaryRoot contains information about the AcroForm\n * Dictionary 0: The Event-Token, the AcroFormDictionaryCallback has\n * 1: The Object ID of the Root\n */\n acroFormDictionaryRoot: null,\n /**\n * After the PDF gets evaluated, the reference to the root has to be\n * reset, this indicates, whether the root has already been printed\n * out\n */\n printedOut: false,\n internal: null,\n isInitialized: false\n};\n\nvar annotReferenceCallback = function(scope) {\n //set objId to undefined and force it to get a new objId on buildDocument\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId = undefined;\n var fields = scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields;\n for (var i in fields) {\n if (fields.hasOwnProperty(i)) {\n var formObject = fields[i];\n //set objId to undefined and force it to get a new objId on buildDocument\n formObject.objId = undefined;\n // add Annot Reference!\n if (formObject.hasAnnotation) {\n // If theres an Annotation Widget in the Form Object, put the\n // Reference in the /Annot array\n createAnnotationReference(formObject, scope);\n }\n }\n }\n};\n\nvar putForm = function(formObject) {\n if (formObject.scope.internal.acroformPlugin.printedOut) {\n formObject.scope.internal.acroformPlugin.printedOut = false;\n formObject.scope.internal.acroformPlugin.acroFormDictionaryRoot = null;\n }\n formObject.scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(\n formObject\n );\n};\n/**\n * Create the Reference to the widgetAnnotation, so that it gets referenced\n * in the Annot[] int the+ (Requires the Annotation Plugin)\n */\nvar createAnnotationReference = function(object, scope) {\n var options = {\n type: \"reference\",\n object: object\n };\n var findEntry = function(entry) {\n return entry.type === options.type && entry.object === options.object;\n };\n if (\n scope.internal\n .getPageInfo(object.page)\n .pageContext.annotations.find(findEntry) === undefined\n ) {\n scope.internal\n .getPageInfo(object.page)\n .pageContext.annotations.push(options);\n }\n};\n\n// Callbacks\n\nvar putCatalogCallback = function(scope) {\n // Put reference to AcroForm to DocumentCatalog\n if (\n typeof scope.internal.acroformPlugin.acroFormDictionaryRoot !== \"undefined\"\n ) {\n // for safety, shouldn't normally be the case\n scope.internal.write(\n \"/AcroForm \" +\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId +\n \" \" +\n 0 +\n \" R\"\n );\n } else {\n throw new Error(\"putCatalogCallback: Root missing.\");\n }\n};\n\n/**\n * Adds /Acroform X 0 R to Document Catalog, and creates the AcroForm\n * Dictionary\n */\nvar AcroFormDictionaryCallback = function(scope) {\n // Remove event\n scope.internal.events.unsubscribe(\n scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID\n );\n delete scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID;\n scope.internal.acroformPlugin.printedOut = true;\n};\n\n/**\n * Creates the single Fields and writes them into the Document\n *\n * If fieldArray is set, use the fields that are inside it instead of the\n * fields from the AcroRoot (for the FormXObjects...)\n */\nvar createFieldCallback = function(fieldArray, scope) {\n var standardFields = !fieldArray;\n\n if (!fieldArray) {\n // in case there is no fieldArray specified, we want to print out\n // the Fields of the AcroForm\n // Print out Root\n scope.internal.newObjectDeferredBegin(\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId,\n true\n );\n scope.internal.acroformPlugin.acroFormDictionaryRoot.putStream();\n }\n\n fieldArray =\n fieldArray || scope.internal.acroformPlugin.acroFormDictionaryRoot.Kids;\n\n for (var i in fieldArray) {\n if (fieldArray.hasOwnProperty(i)) {\n var fieldObject = fieldArray[i];\n var keyValueList = [];\n var oldRect = fieldObject.Rect;\n\n if (fieldObject.Rect) {\n fieldObject.Rect = calculateCoordinates(fieldObject.Rect, scope);\n }\n\n // Start Writing the Object\n scope.internal.newObjectDeferredBegin(fieldObject.objId, true);\n\n fieldObject.DA = AcroFormAppearance.createDefaultAppearanceStream(\n fieldObject\n );\n\n if (\n typeof fieldObject === \"object\" &&\n typeof fieldObject.getKeyValueListForStream === \"function\"\n ) {\n keyValueList = fieldObject.getKeyValueListForStream();\n }\n\n fieldObject.Rect = oldRect;\n\n if (\n fieldObject.hasAppearanceStream &&\n !fieldObject.appearanceStreamContent\n ) {\n // Calculate Appearance\n var appearance = calculateAppearanceStream(fieldObject);\n keyValueList.push({ key: \"AP\", value: \"<>\" });\n\n scope.internal.acroformPlugin.xForms.push(appearance);\n }\n\n // Assume AppearanceStreamContent is a Array with N,R,D (at least\n // one of them!)\n if (fieldObject.appearanceStreamContent) {\n var appearanceStreamString = \"\";\n // Iterate over N,R and D\n for (var k in fieldObject.appearanceStreamContent) {\n if (fieldObject.appearanceStreamContent.hasOwnProperty(k)) {\n var value = fieldObject.appearanceStreamContent[k];\n appearanceStreamString += \"/\" + k + \" \";\n appearanceStreamString += \"<<\";\n if (Object.keys(value).length >= 1 || Array.isArray(value)) {\n // appearanceStream is an Array or Object!\n for (var i in value) {\n if (value.hasOwnProperty(i)) {\n var obj = value[i];\n if (typeof obj === \"function\") {\n // if Function is referenced, call it in order\n // to get the FormXObject\n obj = obj.call(scope, fieldObject);\n }\n appearanceStreamString += \"/\" + i + \" \" + obj + \" \";\n\n // In case the XForm is already used, e.g. OffState\n // of CheckBoxes, don't add it\n if (!(scope.internal.acroformPlugin.xForms.indexOf(obj) >= 0))\n scope.internal.acroformPlugin.xForms.push(obj);\n }\n }\n } else {\n obj = value;\n if (typeof obj === \"function\") {\n // if Function is referenced, call it in order to\n // get the FormXObject\n obj = obj.call(scope, fieldObject);\n }\n appearanceStreamString += \"/\" + i + \" \" + obj;\n if (!(scope.internal.acroformPlugin.xForms.indexOf(obj) >= 0))\n scope.internal.acroformPlugin.xForms.push(obj);\n }\n appearanceStreamString += \">>\";\n }\n }\n\n // appearance stream is a normal Object..\n keyValueList.push({\n key: \"AP\",\n value: \"<<\\n\" + appearanceStreamString + \">>\"\n });\n }\n\n scope.internal.putStream({\n additionalKeyValues: keyValueList,\n objectId: fieldObject.objId\n });\n\n scope.internal.out(\"endobj\");\n }\n }\n if (standardFields) {\n createXFormObjectCallback(scope.internal.acroformPlugin.xForms, scope);\n }\n};\n\nvar createXFormObjectCallback = function(fieldArray, scope) {\n for (var i in fieldArray) {\n if (fieldArray.hasOwnProperty(i)) {\n var key = i;\n var fieldObject = fieldArray[i];\n // Start Writing the Object\n scope.internal.newObjectDeferredBegin(fieldObject.objId, true);\n\n if (\n typeof fieldObject === \"object\" &&\n typeof fieldObject.putStream === \"function\"\n ) {\n fieldObject.putStream();\n }\n delete fieldArray[key];\n }\n }\n};\n\nvar initializeAcroForm = function(scope, formObject) {\n formObject.scope = scope;\n if (\n scope.internal !== undefined &&\n (scope.internal.acroformPlugin === undefined ||\n scope.internal.acroformPlugin.isInitialized === false)\n ) {\n AcroFormField.FieldNum = 0;\n scope.internal.acroformPlugin = JSON.parse(\n JSON.stringify(acroformPluginTemplate)\n );\n if (scope.internal.acroformPlugin.acroFormDictionaryRoot) {\n throw new Error(\"Exception while creating AcroformDictionary\");\n }\n scaleFactor = scope.internal.scaleFactor;\n // The Object Number of the AcroForm Dictionary\n scope.internal.acroformPlugin.acroFormDictionaryRoot = new AcroFormDictionary();\n scope.internal.acroformPlugin.acroFormDictionaryRoot.scope = scope;\n\n // add Callback for creating the AcroForm Dictionary\n scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID = scope.internal.events.subscribe(\n \"postPutResources\",\n function() {\n AcroFormDictionaryCallback(scope);\n }\n );\n\n scope.internal.events.subscribe(\"buildDocument\", function() {\n annotReferenceCallback(scope);\n }); // buildDocument\n\n // Register event, that is triggered when the DocumentCatalog is\n // written, in order to add /AcroForm\n\n scope.internal.events.subscribe(\"putCatalog\", function() {\n putCatalogCallback(scope);\n });\n\n // Register event, that creates all Fields\n scope.internal.events.subscribe(\"postPutPages\", function(fieldArray) {\n createFieldCallback(fieldArray, scope);\n });\n\n scope.internal.acroformPlugin.isInitialized = true;\n }\n};\n\n//PDF 32000-1:2008, page 26, 7.3.6\nvar arrayToPdfArray = (jsPDFAPI.__acroform__.arrayToPdfArray = function(\n array,\n objId,\n scope\n) {\n var encryptor = function(data) {\n return data;\n };\n if (Array.isArray(array)) {\n var content = \"[\";\n for (var i = 0; i < array.length; i++) {\n if (i !== 0) {\n content += \" \";\n }\n switch (typeof array[i]) {\n case \"boolean\":\n case \"number\":\n case \"object\":\n content += array[i].toString();\n break;\n case \"string\":\n if (array[i].substr(0, 1) !== \"/\") {\n if (typeof objId !== \"undefined\" && scope)\n encryptor = scope.internal.getEncryptor(objId);\n content += \"(\" + pdfEscape(encryptor(array[i].toString())) + \")\";\n } else {\n content += array[i].toString();\n }\n break;\n }\n }\n content += \"]\";\n return content;\n }\n throw new Error(\n \"Invalid argument passed to jsPDF.__acroform__.arrayToPdfArray\"\n );\n});\nfunction getMatches(string, regex, index) {\n index || (index = 1); // default to the first capturing group\n var matches = [];\n var match;\n while ((match = regex.exec(string))) {\n matches.push(match[index]);\n }\n return matches;\n}\nvar pdfArrayToStringArray = function(array) {\n var result = [];\n if (typeof array === \"string\") {\n result = getMatches(array, /\\((.*?)\\)/g);\n }\n return result;\n};\n\nvar toPdfString = function(string, objId, scope) {\n var encryptor = function(data) {\n return data;\n };\n if (typeof objId !== \"undefined\" && scope)\n encryptor = scope.internal.getEncryptor(objId);\n string = string || \"\";\n string.toString();\n string = \"(\" + pdfEscape(encryptor(string)) + \")\";\n return string;\n};\n\n// ##########################\n// Classes\n// ##########################\n\n/**\n * @class AcroFormPDFObject\n * @classdesc A AcroFormPDFObject\n */\nvar AcroFormPDFObject = function() {\n this._objId = undefined;\n this._scope = undefined;\n\n /**\n * @name AcroFormPDFObject#objId\n * @type {any}\n */\n Object.defineProperty(this, \"objId\", {\n get: function() {\n if (typeof this._objId === \"undefined\") {\n if (typeof this.scope === \"undefined\") {\n return undefined;\n }\n this._objId = this.scope.internal.newObjectDeferred();\n }\n return this._objId;\n },\n set: function(value) {\n this._objId = value;\n }\n });\n Object.defineProperty(this, \"scope\", {\n value: this._scope,\n writable: true\n });\n};\n\n/**\n * @function AcroFormPDFObject.toString\n */\nAcroFormPDFObject.prototype.toString = function() {\n return this.objId + \" 0 R\";\n};\n\nAcroFormPDFObject.prototype.putStream = function() {\n var keyValueList = this.getKeyValueListForStream();\n this.scope.internal.putStream({\n data: this.stream,\n additionalKeyValues: keyValueList,\n objectId: this.objId\n });\n this.scope.internal.out(\"endobj\");\n};\n\n/**\n * Returns an key-value-List of all non-configurable Variables from the Object\n *\n * @name getKeyValueListForStream\n * @returns {string}\n */\nAcroFormPDFObject.prototype.getKeyValueListForStream = function() {\n var keyValueList = [];\n var keys = Object.getOwnPropertyNames(this).filter(function(key) {\n return (\n key != \"content\" &&\n key != \"appearanceStreamContent\" &&\n key != \"scope\" &&\n key != \"objId\" &&\n key.substring(0, 1) != \"_\"\n );\n });\n\n for (var i in keys) {\n if (Object.getOwnPropertyDescriptor(this, keys[i]).configurable === false) {\n var key = keys[i];\n var value = this[key];\n\n if (value) {\n if (Array.isArray(value)) {\n keyValueList.push({\n key: key,\n value: arrayToPdfArray(value, this.objId, this.scope)\n });\n } else if (value instanceof AcroFormPDFObject) {\n // In case it is a reference to another PDFObject,\n // take the reference number\n value.scope = this.scope;\n keyValueList.push({ key: key, value: value.objId + \" 0 R\" });\n } else if (typeof value !== \"function\") {\n keyValueList.push({ key: key, value: value });\n }\n }\n }\n }\n return keyValueList;\n};\n\nvar AcroFormXObject = function() {\n AcroFormPDFObject.call(this);\n\n Object.defineProperty(this, \"Type\", {\n value: \"/XObject\",\n configurable: false,\n writable: true\n });\n\n Object.defineProperty(this, \"Subtype\", {\n value: \"/Form\",\n configurable: false,\n writable: true\n });\n\n Object.defineProperty(this, \"FormType\", {\n value: 1,\n configurable: false,\n writable: true\n });\n\n var _BBox = [];\n Object.defineProperty(this, \"BBox\", {\n configurable: false,\n get: function() {\n return _BBox;\n },\n set: function(value) {\n _BBox = value;\n }\n });\n\n Object.defineProperty(this, \"Resources\", {\n value: \"2 0 R\",\n configurable: false,\n writable: true\n });\n\n var _stream;\n Object.defineProperty(this, \"stream\", {\n enumerable: false,\n configurable: true,\n set: function(value) {\n _stream = value.trim();\n },\n get: function() {\n if (_stream) {\n return _stream;\n } else {\n return null;\n }\n }\n });\n};\n\ninherit(AcroFormXObject, AcroFormPDFObject);\n\nvar AcroFormDictionary = function() {\n AcroFormPDFObject.call(this);\n\n var _Kids = [];\n\n Object.defineProperty(this, \"Kids\", {\n enumerable: false,\n configurable: true,\n get: function() {\n if (_Kids.length > 0) {\n return _Kids;\n } else {\n return undefined;\n }\n }\n });\n Object.defineProperty(this, \"Fields\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _Kids;\n }\n });\n\n // Default Appearance\n var _DA;\n Object.defineProperty(this, \"DA\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_DA) {\n return undefined;\n }\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n return \"(\" + pdfEscape(encryptor(_DA)) + \")\";\n },\n set: function(value) {\n _DA = value;\n }\n });\n};\n\ninherit(AcroFormDictionary, AcroFormPDFObject);\n\n/**\n * The Field Object contains the Variables, that every Field needs\n *\n * @class AcroFormField\n * @classdesc An AcroForm FieldObject\n */\nvar AcroFormField = function() {\n AcroFormPDFObject.call(this);\n\n //Annotation-Flag See Table 165\n var _F = 4;\n Object.defineProperty(this, \"F\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _F;\n },\n set: function(value) {\n if (!isNaN(value)) {\n _F = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute F supplied.'\n );\n }\n }\n });\n\n /**\n * (PDF 1.2) If set, print the annotation when the page is printed. If clear, never print the annotation, regardless of wether is is displayed on the screen.\n * NOTE 2 This can be useful for annotations representing interactive pushbuttons, which would serve no meaningful purpose on the printed page.\n *\n * @name AcroFormField#showWhenPrinted\n * @default true\n * @type {boolean}\n */\n Object.defineProperty(this, \"showWhenPrinted\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(_F, 3));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.F = setBitForPdf(_F, 3);\n } else {\n this.F = clearBitForPdf(_F, 3);\n }\n }\n });\n\n var _Ff = 0;\n Object.defineProperty(this, \"Ff\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _Ff;\n },\n set: function(value) {\n if (!isNaN(value)) {\n _Ff = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute Ff supplied.'\n );\n }\n }\n });\n\n var _Rect = [];\n Object.defineProperty(this, \"Rect\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (_Rect.length === 0) {\n return undefined;\n }\n return _Rect;\n },\n set: function(value) {\n if (typeof value !== \"undefined\") {\n _Rect = value;\n } else {\n _Rect = [];\n }\n }\n });\n\n /**\n * The x-position of the field.\n *\n * @name AcroFormField#x\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"x\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[0])) {\n return 0;\n }\n return _Rect[0];\n },\n set: function(value) {\n _Rect[0] = value;\n }\n });\n\n /**\n * The y-position of the field.\n *\n * @name AcroFormField#y\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"y\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[1])) {\n return 0;\n }\n return _Rect[1];\n },\n set: function(value) {\n _Rect[1] = value;\n }\n });\n\n /**\n * The width of the field.\n *\n * @name AcroFormField#width\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"width\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[2])) {\n return 0;\n }\n return _Rect[2];\n },\n set: function(value) {\n _Rect[2] = value;\n }\n });\n\n /**\n * The height of the field.\n *\n * @name AcroFormField#height\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"height\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[3])) {\n return 0;\n }\n return _Rect[3];\n },\n set: function(value) {\n _Rect[3] = value;\n }\n });\n\n var _FT = \"\";\n Object.defineProperty(this, \"FT\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _FT;\n },\n set: function(value) {\n switch (value) {\n case \"/Btn\":\n case \"/Tx\":\n case \"/Ch\":\n case \"/Sig\":\n _FT = value;\n break;\n default:\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute FT supplied.'\n );\n }\n }\n });\n\n var _T = null;\n\n Object.defineProperty(this, \"T\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (!_T || _T.length < 1) {\n // In case of a Child from a Radio´Group, you don't need a FieldName\n if (this instanceof AcroFormChildClass) {\n return undefined;\n }\n _T = \"FieldObject\" + AcroFormField.FieldNum++;\n }\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n return \"(\" + pdfEscape(encryptor(_T)) + \")\";\n },\n set: function(value) {\n _T = value.toString();\n }\n });\n\n /**\n * (Optional) The partial field name (see 12.7.3.2, “Field Names”).\n *\n * @name AcroFormField#fieldName\n * @default null\n * @type {string}\n */\n Object.defineProperty(this, \"fieldName\", {\n configurable: true,\n enumerable: true,\n get: function() {\n return _T;\n },\n set: function(value) {\n _T = value;\n }\n });\n\n var _fontName = \"helvetica\";\n /**\n * The fontName of the font to be used.\n *\n * @name AcroFormField#fontName\n * @default 'helvetica'\n * @type {string}\n */\n Object.defineProperty(this, \"fontName\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontName;\n },\n set: function(value) {\n _fontName = value;\n }\n });\n\n var _fontStyle = \"normal\";\n /**\n * The fontStyle of the font to be used.\n *\n * @name AcroFormField#fontStyle\n * @default 'normal'\n * @type {string}\n */\n Object.defineProperty(this, \"fontStyle\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontStyle;\n },\n set: function(value) {\n _fontStyle = value;\n }\n });\n\n var _fontSize = 0;\n /**\n * The fontSize of the font to be used.\n *\n * @name AcroFormField#fontSize\n * @default 0 (for auto)\n * @type {number}\n */\n Object.defineProperty(this, \"fontSize\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontSize;\n },\n set: function(value) {\n _fontSize = value;\n }\n });\n\n var _maxFontSize = undefined;\n /**\n * The maximum fontSize of the font to be used.\n *\n * @name AcroFormField#maxFontSize\n * @default 0 (for auto)\n * @type {number}\n */\n Object.defineProperty(this, \"maxFontSize\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (_maxFontSize === undefined) {\n // use the old default value here - the value is some kind of random as it depends on the scaleFactor (user unit)\n // (\"50\" is transformed to the \"user space\" but then used in \"pdf space\")\n return 50 / scaleFactor;\n } else {\n return _maxFontSize;\n }\n },\n set: function(value) {\n _maxFontSize = value;\n }\n });\n\n var _color = \"black\";\n /**\n * The color of the text\n *\n * @name AcroFormField#color\n * @default 'black'\n * @type {string|rgba}\n */\n Object.defineProperty(this, \"color\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _color;\n },\n set: function(value) {\n _color = value;\n }\n });\n\n var _DA = \"/F1 0 Tf 0 g\";\n // Defines the default appearance (Needed for variable Text)\n Object.defineProperty(this, \"DA\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (\n !_DA ||\n this instanceof AcroFormChildClass ||\n this instanceof AcroFormTextField\n ) {\n return undefined;\n }\n return toPdfString(_DA, this.objId, this.scope);\n },\n set: function(value) {\n value = value.toString();\n _DA = value;\n }\n });\n\n var _DV = null;\n Object.defineProperty(this, \"DV\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_DV) {\n return undefined;\n }\n if (this instanceof AcroFormButton === false) {\n return toPdfString(_DV, this.objId, this.scope);\n }\n return _DV;\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === false) {\n if (value.substr(0, 1) === \"(\") {\n _DV = pdfUnescape(value.substr(1, value.length - 2));\n } else {\n _DV = pdfUnescape(value);\n }\n } else {\n _DV = value;\n }\n }\n });\n\n /**\n * (Optional; inheritable) The default value to which the field reverts when a reset-form action is executed (see 12.7.5.3, “Reset-Form Action”). The format of this value is the same as that of value.\n *\n * @name AcroFormField#defaultValue\n * @default null\n * @type {any}\n */\n Object.defineProperty(this, \"defaultValue\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (this instanceof AcroFormButton === true) {\n return pdfUnescape(_DV.substr(1, _DV.length - 1));\n } else {\n return _DV;\n }\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === true) {\n _DV = \"/\" + value;\n } else {\n _DV = value;\n }\n }\n });\n\n var _V = null;\n Object.defineProperty(this, \"_V\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_V) {\n return undefined;\n }\n return _V;\n },\n set: function(value) {\n this.V = value;\n }\n });\n Object.defineProperty(this, \"V\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_V) {\n return undefined;\n }\n if (this instanceof AcroFormButton === false) {\n return toPdfString(_V, this.objId, this.scope);\n }\n return _V;\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === false) {\n if (value.substr(0, 1) === \"(\") {\n _V = pdfUnescape(value.substr(1, value.length - 2));\n } else {\n _V = pdfUnescape(value);\n }\n } else {\n _V = value;\n }\n }\n });\n\n /**\n * (Optional; inheritable) The field’s value, whose format varies depending on the field type. See the descriptions of individual field types for further information.\n *\n * @name AcroFormField#value\n * @default null\n * @type {any}\n */\n Object.defineProperty(this, \"value\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (this instanceof AcroFormButton === true) {\n return pdfUnescape(_V.substr(1, _V.length - 1));\n } else {\n return _V;\n }\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === true) {\n _V = \"/\" + value;\n } else {\n _V = value;\n }\n }\n });\n\n /**\n * Check if field has annotations\n *\n * @name AcroFormField#hasAnnotation\n * @readonly\n * @type {boolean}\n */\n Object.defineProperty(this, \"hasAnnotation\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return this.Rect;\n }\n });\n\n Object.defineProperty(this, \"Type\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return this.hasAnnotation ? \"/Annot\" : null;\n }\n });\n\n Object.defineProperty(this, \"Subtype\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return this.hasAnnotation ? \"/Widget\" : null;\n }\n });\n\n var _hasAppearanceStream = false;\n /**\n * true if field has an appearanceStream\n *\n * @name AcroFormField#hasAppearanceStream\n * @readonly\n * @type {boolean}\n */\n Object.defineProperty(this, \"hasAppearanceStream\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _hasAppearanceStream;\n },\n set: function(value) {\n value = Boolean(value);\n _hasAppearanceStream = value;\n }\n });\n\n /**\n * The page on which the AcroFormField is placed\n *\n * @name AcroFormField#page\n * @type {number}\n */\n var _page;\n Object.defineProperty(this, \"page\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_page) {\n return undefined;\n }\n return _page;\n },\n set: function(value) {\n _page = value;\n }\n });\n\n /**\n * If set, the user may not change the value of the field. Any associated widget annotations will not interact with the user; that is, they will not respond to mouse clicks or change their appearance in response to mouse motions. This flag is useful for fields whose values are computed or imported from a database.\n *\n * @name AcroFormField#readOnly\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"readOnly\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 1));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 1);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 1);\n }\n }\n });\n\n /**\n * If set, the field shall have a value at the time it is exported by a submitform action (see 12.7.5.2, “Submit-Form Action”).\n *\n * @name AcroFormField#required\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"required\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 2));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 2);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 2);\n }\n }\n });\n\n /**\n * If set, the field shall not be exported by a submit-form action (see 12.7.5.2, “Submit-Form Action”)\n *\n * @name AcroFormField#noExport\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"noExport\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 3));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 3);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 3);\n }\n }\n });\n\n var _Q = null;\n Object.defineProperty(this, \"Q\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (_Q === null) {\n return undefined;\n }\n return _Q;\n },\n set: function(value) {\n if ([0, 1, 2].indexOf(value) !== -1) {\n _Q = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute Q supplied.'\n );\n }\n }\n });\n\n /**\n * (Optional; inheritable) A code specifying the form of quadding (justification) that shall be used in displaying the text:\n * 'left', 'center', 'right'\n *\n * @name AcroFormField#textAlign\n * @default 'left'\n * @type {string}\n */\n Object.defineProperty(this, \"textAlign\", {\n get: function() {\n var result;\n switch (_Q) {\n case 0:\n default:\n result = \"left\";\n break;\n case 1:\n result = \"center\";\n break;\n case 2:\n result = \"right\";\n break;\n }\n return result;\n },\n configurable: true,\n enumerable: true,\n set: function(value) {\n switch (value) {\n case \"right\":\n case 2:\n _Q = 2;\n break;\n case \"center\":\n case 1:\n _Q = 1;\n break;\n case \"left\":\n case 0:\n default:\n _Q = 0;\n }\n }\n });\n};\n\ninherit(AcroFormField, AcroFormPDFObject);\n\n/**\n * @class AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormChoiceField = function() {\n AcroFormField.call(this);\n // Field Type = Choice Field\n this.FT = \"/Ch\";\n // options\n this.V = \"()\";\n\n this.fontName = \"zapfdingbats\";\n // Top Index\n var _TI = 0;\n\n Object.defineProperty(this, \"TI\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _TI;\n },\n set: function(value) {\n _TI = value;\n }\n });\n\n /**\n * (Optional) For scrollable list boxes, the top index (the index in the Opt array of the first option visible in the list). Default value: 0.\n *\n * @name AcroFormChoiceField#topIndex\n * @default 0\n * @type {number}\n */\n Object.defineProperty(this, \"topIndex\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _TI;\n },\n set: function(value) {\n _TI = value;\n }\n });\n\n var _Opt = [];\n Object.defineProperty(this, \"Opt\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return arrayToPdfArray(_Opt, this.objId, this.scope);\n },\n set: function(value) {\n _Opt = pdfArrayToStringArray(value);\n }\n });\n\n /**\n * @memberof AcroFormChoiceField\n * @name getOptions\n * @function\n * @instance\n * @returns {array} array of Options\n */\n this.getOptions = function() {\n return _Opt;\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name setOptions\n * @function\n * @instance\n * @param {array} value\n */\n this.setOptions = function(value) {\n _Opt = value;\n if (this.sort) {\n _Opt.sort();\n }\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name addOption\n * @function\n * @instance\n * @param {string} value\n */\n this.addOption = function(value) {\n value = value || \"\";\n value = value.toString();\n _Opt.push(value);\n if (this.sort) {\n _Opt.sort();\n }\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name removeOption\n * @function\n * @instance\n * @param {string} value\n * @param {boolean} allEntries (default: false)\n */\n this.removeOption = function(value, allEntries) {\n allEntries = allEntries || false;\n value = value || \"\";\n value = value.toString();\n\n while (_Opt.indexOf(value) !== -1) {\n _Opt.splice(_Opt.indexOf(value), 1);\n if (allEntries === false) {\n break;\n }\n }\n };\n\n /**\n * If set, the field is a combo box; if clear, the field is a list box.\n *\n * @name AcroFormChoiceField#combo\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"combo\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 18));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 18);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 18);\n }\n }\n });\n\n /**\n * If set, the combo box shall include an editable text box as well as a drop-down list; if clear, it shall include only a drop-down list. This flag shall be used only if the Combo flag is set.\n *\n * @name AcroFormChoiceField#edit\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"edit\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 19));\n },\n set: function(value) {\n //PDF 32000-1:2008, page 444\n if (this.combo === true) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 19);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 19);\n }\n }\n }\n });\n\n /**\n * If set, the field’s option items shall be sorted alphabetically. This flag is intended for use by writers, not by readers. Conforming readers shall display the options in the order in which they occur in the Opt array (see Table 231).\n *\n * @name AcroFormChoiceField#sort\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"sort\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 20));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 20);\n _Opt.sort();\n } else {\n this.Ff = clearBitForPdf(this.Ff, 20);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, more than one of the field’s option items may be selected simultaneously; if clear, at most one item shall be selected\n *\n * @name AcroFormChoiceField#multiSelect\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"multiSelect\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 22));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 22);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 22);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, text entered in the field shall not be spellchecked. This flag shall not be used unless the Combo and Edit flags are both set.\n *\n * @name AcroFormChoiceField#doNotSpellCheck\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotSpellCheck\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 23));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 23);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 23);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, the new value shall be committed as soon as a selection is made (commonly with the pointing device). In this case, supplying a value for a field involves three actions: selecting the field for fill-in, selecting a choice for the fill-in value, and leaving that field, which finalizes or “commits” the data choice and triggers any actions associated with the entry or changing of this data. If this flag is on, then processing does not wait for leaving the field action to occur, but immediately proceeds to the third step.\n * This option enables applications to perform an action once a selection is made, without requiring the user to exit the field. If clear, the new value is not committed until the user exits the field.\n *\n * @name AcroFormChoiceField#commitOnSelChange\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"commitOnSelChange\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 27));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 27);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 27);\n }\n }\n });\n\n this.hasAppearanceStream = false;\n};\ninherit(AcroFormChoiceField, AcroFormField);\n\n/**\n * @class AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormListBox = function() {\n AcroFormChoiceField.call(this);\n this.fontName = \"helvetica\";\n\n //PDF 32000-1:2008, page 444\n this.combo = false;\n};\ninherit(AcroFormListBox, AcroFormChoiceField);\n\n/**\n * @class AcroFormComboBox\n * @extends AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormComboBox = function() {\n AcroFormListBox.call(this);\n this.combo = true;\n};\ninherit(AcroFormComboBox, AcroFormListBox);\n\n/**\n * @class AcroFormEditBox\n * @extends AcroFormComboBox\n * @extends AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormEditBox = function() {\n AcroFormComboBox.call(this);\n this.edit = true;\n};\ninherit(AcroFormEditBox, AcroFormComboBox);\n\n/**\n * @class AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormButton = function() {\n AcroFormField.call(this);\n this.FT = \"/Btn\";\n\n /**\n * (Radio buttons only) If set, exactly one radio button shall be selected at all times; selecting the currently selected button has no effect. If clear, clicking the selected button deselects it, leaving no button selected.\n *\n * @name AcroFormButton#noToggleToOff\n * @type {boolean}\n */\n Object.defineProperty(this, \"noToggleToOff\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 15));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 15);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 15);\n }\n }\n });\n\n /**\n * If set, the field is a set of radio buttons; if clear, the field is a checkbox. This flag may be set only if the Pushbutton flag is clear.\n *\n * @name AcroFormButton#radio\n * @type {boolean}\n */\n Object.defineProperty(this, \"radio\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 16));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 16);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 16);\n }\n }\n });\n\n /**\n * If set, the field is a pushbutton that does not retain a permanent value.\n *\n * @name AcroFormButton#pushButton\n * @type {boolean}\n */\n Object.defineProperty(this, \"pushButton\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 17));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 17);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 17);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, a group of radio buttons within a radio button field that use the same value for the on state will turn on and off in unison; that is if one is checked, they are all checked. If clear, the buttons are mutually exclusive (the same behavior as HTML radio buttons).\n *\n * @name AcroFormButton#radioIsUnison\n * @type {boolean}\n */\n Object.defineProperty(this, \"radioIsUnison\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 26));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 26);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 26);\n }\n }\n });\n\n var _MK = {};\n Object.defineProperty(this, \"MK\", {\n enumerable: false,\n configurable: false,\n get: function() {\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n if (Object.keys(_MK).length !== 0) {\n var result = [];\n result.push(\"<<\");\n var key;\n for (key in _MK) {\n result.push(\"/\" + key + \" (\" + pdfEscape(encryptor(_MK[key])) + \")\");\n }\n result.push(\">>\");\n return result.join(\"\\n\");\n }\n return undefined;\n },\n set: function(value) {\n if (typeof value === \"object\") {\n _MK = value;\n }\n }\n });\n\n /**\n * From the PDF reference:\n * (Optional, button fields only) The widget annotation's normal caption which shall be displayed when it is not interacting with the user.\n * Unlike the remaining entries listed in this Table which apply only to widget annotations associated with pushbutton fields (see Pushbuttons in 12.7.4.2, \"Button Fields\"), the CA entry may be used with any type of button field, including check boxes (see Check Boxes in 12.7.4.2, \"Button Fields\") and radio buttons (Radio Buttons in 12.7.4.2, \"Button Fields\").\n *\n * - '8' = Cross,\n * - 'l' = Circle,\n * - '' = nothing\n * @name AcroFormButton#caption\n * @type {string}\n */\n Object.defineProperty(this, \"caption\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MK.CA || \"\";\n },\n set: function(value) {\n if (typeof value === \"string\") {\n _MK.CA = value;\n }\n }\n });\n\n var _AS;\n Object.defineProperty(this, \"AS\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _AS;\n },\n set: function(value) {\n _AS = value;\n }\n });\n\n /**\n * (Required if the appearance dictionary AP contains one or more subdictionaries; PDF 1.2) The annotation's appearance state, which selects the applicable appearance stream from an appearance subdictionary (see Section 12.5.5, \"Appearance Streams\")\n *\n * @name AcroFormButton#appearanceState\n * @type {any}\n */\n Object.defineProperty(this, \"appearanceState\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _AS.substr(1, _AS.length - 1);\n },\n set: function(value) {\n _AS = \"/\" + value;\n }\n });\n};\ninherit(AcroFormButton, AcroFormField);\n\n/**\n * @class AcroFormPushButton\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormPushButton = function() {\n AcroFormButton.call(this);\n this.pushButton = true;\n};\ninherit(AcroFormPushButton, AcroFormButton);\n\n/**\n * @class AcroFormRadioButton\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormRadioButton = function() {\n AcroFormButton.call(this);\n this.radio = true;\n this.pushButton = false;\n\n var _Kids = [];\n Object.defineProperty(this, \"Kids\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _Kids;\n },\n set: function(value) {\n if (typeof value !== \"undefined\") {\n _Kids = value;\n } else {\n _Kids = [];\n }\n }\n });\n};\ninherit(AcroFormRadioButton, AcroFormButton);\n\n/**\n * The Child class of a RadioButton (the radioGroup) -> The single Buttons\n *\n * @class AcroFormChildClass\n * @extends AcroFormField\n * @ignore\n */\nvar AcroFormChildClass = function() {\n AcroFormField.call(this);\n\n var _parent;\n Object.defineProperty(this, \"Parent\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _parent;\n },\n set: function(value) {\n _parent = value;\n }\n });\n\n var _optionName;\n Object.defineProperty(this, \"optionName\", {\n enumerable: false,\n configurable: true,\n get: function() {\n return _optionName;\n },\n set: function(value) {\n _optionName = value;\n }\n });\n\n var _MK = {};\n Object.defineProperty(this, \"MK\", {\n enumerable: false,\n configurable: false,\n get: function() {\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n var result = [];\n result.push(\"<<\");\n var key;\n for (key in _MK) {\n result.push(\"/\" + key + \" (\" + pdfEscape(encryptor(_MK[key])) + \")\");\n }\n result.push(\">>\");\n return result.join(\"\\n\");\n },\n set: function(value) {\n if (typeof value === \"object\") {\n _MK = value;\n }\n }\n });\n\n /**\n * From the PDF reference:\n * (Optional, button fields only) The widget annotation's normal caption which shall be displayed when it is not interacting with the user.\n * Unlike the remaining entries listed in this Table which apply only to widget annotations associated with pushbutton fields (see Pushbuttons in 12.7.4.2, \"Button Fields\"), the CA entry may be used with any type of button field, including check boxes (see Check Boxes in 12.7.4.2, \"Button Fields\") and radio buttons (Radio Buttons in 12.7.4.2, \"Button Fields\").\n *\n * - '8' = Cross,\n * - 'l' = Circle,\n * - '' = nothing\n * @name AcroFormButton#caption\n * @type {string}\n */\n Object.defineProperty(this, \"caption\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MK.CA || \"\";\n },\n set: function(value) {\n if (typeof value === \"string\") {\n _MK.CA = value;\n }\n }\n });\n\n var _AS;\n Object.defineProperty(this, \"AS\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _AS;\n },\n set: function(value) {\n _AS = value;\n }\n });\n\n /**\n * (Required if the appearance dictionary AP contains one or more subdictionaries; PDF 1.2) The annotation's appearance state, which selects the applicable appearance stream from an appearance subdictionary (see Section 12.5.5, \"Appearance Streams\")\n *\n * @name AcroFormButton#appearanceState\n * @type {any}\n */\n Object.defineProperty(this, \"appearanceState\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _AS.substr(1, _AS.length - 1);\n },\n set: function(value) {\n _AS = \"/\" + value;\n }\n });\n this.caption = \"l\";\n this.appearanceState = \"Off\";\n // todo: set AppearanceType as variable that can be set from the\n // outside...\n this._AppearanceType = AcroFormAppearance.RadioButton.Circle;\n // The Default appearanceType is the Circle\n this.appearanceStreamContent = this._AppearanceType.createAppearanceStream(\n this.optionName\n );\n};\ninherit(AcroFormChildClass, AcroFormField);\n\nAcroFormRadioButton.prototype.setAppearance = function(appearance) {\n if (!(\"createAppearanceStream\" in appearance && \"getCA\" in appearance)) {\n throw new Error(\n \"Couldn't assign Appearance to RadioButton. Appearance was Invalid!\"\n );\n }\n for (var objId in this.Kids) {\n if (this.Kids.hasOwnProperty(objId)) {\n var child = this.Kids[objId];\n child.appearanceStreamContent = appearance.createAppearanceStream(\n child.optionName\n );\n child.caption = appearance.getCA();\n }\n }\n};\n\nAcroFormRadioButton.prototype.createOption = function(name) {\n // Create new Child for RadioGroup\n var child = new AcroFormChildClass();\n child.Parent = this;\n child.optionName = name;\n // Add to Parent\n this.Kids.push(child);\n\n addField.call(this.scope, child);\n\n return child;\n};\n\n/**\n * @class AcroFormCheckBox\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormCheckBox = function() {\n AcroFormButton.call(this);\n\n this.fontName = \"zapfdingbats\";\n this.caption = \"3\";\n this.appearanceState = \"On\";\n this.value = \"On\";\n this.textAlign = \"center\";\n this.appearanceStreamContent = AcroFormAppearance.CheckBox.createAppearanceStream();\n};\ninherit(AcroFormCheckBox, AcroFormButton);\n\n/**\n * @class AcroFormTextField\n * @extends AcroFormField\n */\nvar AcroFormTextField = function() {\n AcroFormField.call(this);\n this.FT = \"/Tx\";\n\n /**\n * If set, the field may contain multiple lines of text; if clear, the field’s text shall be restricted to a single line.\n *\n * @name AcroFormTextField#multiline\n * @type {boolean}\n */\n Object.defineProperty(this, \"multiline\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 13));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 13);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 13);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, the text entered in the field represents the pathname of a file whose contents shall be submitted as the value of the field.\n *\n * @name AcroFormTextField#fileSelect\n * @type {boolean}\n */\n Object.defineProperty(this, \"fileSelect\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 21));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 21);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 21);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, text entered in the field shall not be spell-checked.\n *\n * @name AcroFormTextField#doNotSpellCheck\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotSpellCheck\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 23));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 23);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 23);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, the field shall not scroll (horizontally for single-line fields, vertically for multiple-line fields) to accommodate more text than fits within its annotation rectangle. Once the field is full, no further text shall be accepted for interactive form filling; for noninteractive form filling, the filler should take care not to add more character than will visibly fit in the defined area.\n *\n * @name AcroFormTextField#doNotScroll\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotScroll\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 24));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 24);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 24);\n }\n }\n });\n\n /**\n * (PDF 1.5) May be set only if the MaxLen entry is present in the text field dictionary (see Table 229) and if the Multiline, Password, and FileSelect flags are clear. If set, the field shall be automatically divided into as many equally spaced positions, or combs, as the value of MaxLen, and the text is laid out into those combs.\n *\n * @name AcroFormTextField#comb\n * @type {boolean}\n */\n Object.defineProperty(this, \"comb\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 25));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 25);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 25);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, the value of this field shall be a rich text string (see 12.7.3.4, “Rich Text Strings”). If the field has a value, the RV entry of the field dictionary (Table 222) shall specify the rich text string.\n *\n * @name AcroFormTextField#richText\n * @type {boolean}\n */\n Object.defineProperty(this, \"richText\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 26));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 26);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 26);\n }\n }\n });\n\n var _MaxLen = null;\n Object.defineProperty(this, \"MaxLen\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _MaxLen;\n },\n set: function(value) {\n _MaxLen = value;\n }\n });\n\n /**\n * (Optional; inheritable) The maximum length of the field’s text, in characters.\n *\n * @name AcroFormTextField#maxLength\n * @type {number}\n */\n Object.defineProperty(this, \"maxLength\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MaxLen;\n },\n set: function(value) {\n if (Number.isInteger(value)) {\n _MaxLen = value;\n }\n }\n });\n\n Object.defineProperty(this, \"hasAppearanceStream\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return this.V || this.DV;\n }\n });\n};\ninherit(AcroFormTextField, AcroFormField);\n\n/**\n * @class AcroFormPasswordField\n * @extends AcroFormTextField\n * @extends AcroFormField\n */\nvar AcroFormPasswordField = function() {\n AcroFormTextField.call(this);\n\n /**\n * If set, the field is intended for entering a secure password that should not be echoed visibly to the screen. Characters typed from the keyboard shall instead be echoed in some unreadable form, such as asterisks or bullet characters.\n * NOTE To protect password confidentiality, readers should never store the value of the text field in the PDF file if this flag is set.\n *\n * @name AcroFormTextField#password\n * @type {boolean}\n */\n Object.defineProperty(this, \"password\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 14));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 14);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 14);\n }\n }\n });\n this.password = true;\n};\ninherit(AcroFormPasswordField, AcroFormTextField);\n\n// Contains Methods for creating standard appearances\nvar AcroFormAppearance = {\n CheckBox: {\n createAppearanceStream: function() {\n var appearance = {\n N: {\n On: AcroFormAppearance.CheckBox.YesNormal\n },\n D: {\n On: AcroFormAppearance.CheckBox.YesPushDown,\n Off: AcroFormAppearance.CheckBox.OffPushDown\n }\n };\n\n return appearance;\n },\n /**\n * Returns the standard On Appearance for a CheckBox\n *\n * @returns {AcroFormXObject}\n */\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var calcRes = calculateX(formObject, formObject.caption);\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n stream.push(\"BMC\");\n stream.push(\"q\");\n stream.push(\"0 0 1 rg\");\n stream.push(\n \"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf \" + encodedColor\n );\n stream.push(\"BT\");\n stream.push(calcRes.text);\n stream.push(\"ET\");\n stream.push(\"Q\");\n stream.push(\"EMC\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var stream = [];\n var height = AcroFormAppearance.internal.getHeight(formObject);\n var width = AcroFormAppearance.internal.getWidth(formObject);\n var calcRes = calculateX(formObject, formObject.caption);\n stream.push(\"1 g\");\n stream.push(\"0 0 \" + f2(width) + \" \" + f2(height) + \" re\");\n stream.push(\"f\");\n stream.push(\"q\");\n stream.push(\"0 0 1 rg\");\n stream.push(\"0 0 \" + f2(width - 1) + \" \" + f2(height - 1) + \" re\");\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(\"0 g\");\n stream.push(\"BT\");\n stream.push(\n \"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf \" + encodedColor\n );\n stream.push(calcRes.text);\n stream.push(\"ET\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n\n /**\n * Returns the standard Off Appearance for a CheckBox\n *\n * @returns {AcroFormXObject}\n */\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n },\n\n RadioButton: {\n Circle: {\n createAppearanceStream: function(name) {\n var appearanceStreamContent = {\n D: {\n Off: AcroFormAppearance.RadioButton.Circle.OffPushDown\n },\n N: {}\n };\n appearanceStreamContent.N[name] =\n AcroFormAppearance.RadioButton.Circle.YesNormal;\n appearanceStreamContent.D[name] =\n AcroFormAppearance.RadioButton.Circle.YesPushDown;\n return appearanceStreamContent;\n },\n getCA: function() {\n return \"l\";\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n // Make the Radius of the Circle relative to min(height, width) of formObject\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n var c = AcroFormAppearance.internal.Bezier_C;\n var DotRadiusBezier = Number((DotRadius * c).toFixed(5));\n /*\n * The Following is a Circle created with Bezier-Curves.\n */\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(DotRadius + \" 0 m\");\n stream.push(\n DotRadius +\n \" \" +\n DotRadiusBezier +\n \" \" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" 0 \" +\n DotRadius +\n \" c\"\n );\n stream.push(\n \"-\" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\n \"-\" +\n DotRadius +\n \" -\" +\n DotRadiusBezier +\n \" -\" +\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" 0 -\" +\n DotRadius +\n \" c\"\n );\n stream.push(\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n // Save results for later use; no need to waste\n // processor ticks on doing math\n var k = Number((DotRadius * 2).toFixed(5));\n var kc = Number((k * AcroFormAppearance.internal.Bezier_C).toFixed(5));\n var dc = Number(\n (DotRadius * AcroFormAppearance.internal.Bezier_C).toFixed(5)\n );\n\n stream.push(\"0.749023 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(k + \" 0 m\");\n stream.push(k + \" \" + kc + \" \" + kc + \" \" + k + \" 0 \" + k + \" c\");\n stream.push(\n \"-\" + kc + \" \" + k + \" -\" + k + \" \" + kc + \" -\" + k + \" 0 c\"\n );\n stream.push(\n \"-\" + k + \" -\" + kc + \" -\" + kc + \" -\" + k + \" 0 -\" + k + \" c\"\n );\n stream.push(kc + \" -\" + k + \" \" + k + \" -\" + kc + \" \" + k + \" 0 c\");\n stream.push(\"f\");\n stream.push(\"Q\");\n stream.push(\"0 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(DotRadius + \" 0 m\");\n stream.push(\n \"\" +\n DotRadius +\n \" \" +\n dc +\n \" \" +\n dc +\n \" \" +\n DotRadius +\n \" 0 \" +\n DotRadius +\n \" c\"\n );\n stream.push(\n \"-\" +\n dc +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadius +\n \" \" +\n dc +\n \" -\" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\n \"-\" +\n DotRadius +\n \" -\" +\n dc +\n \" -\" +\n dc +\n \" -\" +\n DotRadius +\n \" 0 -\" +\n DotRadius +\n \" c\"\n );\n stream.push(\n dc +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadius +\n \" -\" +\n dc +\n \" \" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n // Save results for later use; no need to waste\n // processor ticks on doing math\n var k = Number((DotRadius * 2).toFixed(5));\n var kc = Number((k * AcroFormAppearance.internal.Bezier_C).toFixed(5));\n\n stream.push(\"0.749023 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(k + \" 0 m\");\n stream.push(k + \" \" + kc + \" \" + kc + \" \" + k + \" 0 \" + k + \" c\");\n stream.push(\n \"-\" + kc + \" \" + k + \" -\" + k + \" \" + kc + \" -\" + k + \" 0 c\"\n );\n stream.push(\n \"-\" + k + \" -\" + kc + \" -\" + kc + \" -\" + k + \" 0 -\" + k + \" c\"\n );\n stream.push(kc + \" -\" + k + \" \" + k + \" -\" + kc + \" \" + k + \" 0 c\");\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n },\n\n Cross: {\n /**\n * Creates the Actual AppearanceDictionary-References\n *\n * @param {string} name\n * @returns {Object}\n * @ignore\n */\n createAppearanceStream: function(name) {\n var appearanceStreamContent = {\n D: {\n Off: AcroFormAppearance.RadioButton.Cross.OffPushDown\n },\n N: {}\n };\n appearanceStreamContent.N[name] =\n AcroFormAppearance.RadioButton.Cross.YesNormal;\n appearanceStreamContent.D[name] =\n AcroFormAppearance.RadioButton.Cross.YesPushDown;\n return appearanceStreamContent;\n },\n getCA: function() {\n return \"8\";\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var cross = AcroFormAppearance.internal.calculateCross(formObject);\n stream.push(\"q\");\n stream.push(\n \"1 1 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject) - 2) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject) - 2) +\n \" re\"\n );\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(f2(cross.x1.x) + \" \" + f2(cross.x1.y) + \" m\");\n stream.push(f2(cross.x2.x) + \" \" + f2(cross.x2.y) + \" l\");\n stream.push(f2(cross.x4.x) + \" \" + f2(cross.x4.y) + \" m\");\n stream.push(f2(cross.x3.x) + \" \" + f2(cross.x3.y) + \" l\");\n stream.push(\"s\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var cross = AcroFormAppearance.internal.calculateCross(formObject);\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n stream.push(\"q\");\n stream.push(\n \"1 1 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject) - 2) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject) - 2) +\n \" re\"\n );\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(f2(cross.x1.x) + \" \" + f2(cross.x1.y) + \" m\");\n stream.push(f2(cross.x2.x) + \" \" + f2(cross.x2.y) + \" l\");\n stream.push(f2(cross.x4.x) + \" \" + f2(cross.x4.y) + \" m\");\n stream.push(f2(cross.x3.x) + \" \" + f2(cross.x3.y) + \" l\");\n stream.push(\"s\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n }\n },\n\n /**\n * Returns the standard Appearance\n *\n * @returns {AcroFormXObject}\n */\n createDefaultAppearanceStream: function(formObject) {\n // Set Helvetica to Standard Font (size: auto)\n // Color: Black\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var fontSize = formObject.fontSize;\n var result = \"/\" + fontKey + \" \" + fontSize + \" Tf \" + encodedColor;\n return result;\n }\n};\n\nAcroFormAppearance.internal = {\n Bezier_C: 0.551915024494,\n\n calculateCross: function(formObject) {\n var width = AcroFormAppearance.internal.getWidth(formObject);\n var height = AcroFormAppearance.internal.getHeight(formObject);\n var a = Math.min(width, height);\n\n var cross = {\n x1: {\n // upperLeft\n x: (width - a) / 2,\n y: (height - a) / 2 + a // height - borderPadding\n },\n x2: {\n // lowerRight\n x: (width - a) / 2 + a,\n y: (height - a) / 2 // borderPadding\n },\n x3: {\n // lowerLeft\n x: (width - a) / 2,\n y: (height - a) / 2 // borderPadding\n },\n x4: {\n // upperRight\n x: (width - a) / 2 + a,\n y: (height - a) / 2 + a // height - borderPadding\n }\n };\n\n return cross;\n }\n};\nAcroFormAppearance.internal.getWidth = function(formObject) {\n var result = 0;\n if (typeof formObject === \"object\") {\n result = scale(formObject.Rect[2]);\n }\n return result;\n};\nAcroFormAppearance.internal.getHeight = function(formObject) {\n var result = 0;\n if (typeof formObject === \"object\") {\n result = scale(formObject.Rect[3]);\n }\n return result;\n};\n\n// Public:\n\n/**\n * Add an AcroForm-Field to the jsPDF-instance\n *\n * @name addField\n * @function\n * @instance\n * @param {Object} fieldObject\n * @returns {jsPDF}\n */\nvar addField = (jsPDFAPI.addField = function(fieldObject) {\n initializeAcroForm(this, fieldObject);\n\n if (fieldObject instanceof AcroFormField) {\n putForm(fieldObject);\n } else {\n throw new Error(\"Invalid argument passed to jsPDF.addField.\");\n }\n fieldObject.page = fieldObject.scope.internal.getCurrentPageInfo().pageNumber;\n return this;\n});\n\njsPDFAPI.AcroFormChoiceField = AcroFormChoiceField;\njsPDFAPI.AcroFormListBox = AcroFormListBox;\njsPDFAPI.AcroFormComboBox = AcroFormComboBox;\njsPDFAPI.AcroFormEditBox = AcroFormEditBox;\njsPDFAPI.AcroFormButton = AcroFormButton;\njsPDFAPI.AcroFormPushButton = AcroFormPushButton;\njsPDFAPI.AcroFormRadioButton = AcroFormRadioButton;\njsPDFAPI.AcroFormCheckBox = AcroFormCheckBox;\njsPDFAPI.AcroFormTextField = AcroFormTextField;\njsPDFAPI.AcroFormPasswordField = AcroFormPasswordField;\njsPDFAPI.AcroFormAppearance = AcroFormAppearance;\n\njsPDFAPI.AcroForm = {\n ChoiceField: AcroFormChoiceField,\n ListBox: AcroFormListBox,\n ComboBox: AcroFormComboBox,\n EditBox: AcroFormEditBox,\n Button: AcroFormButton,\n PushButton: AcroFormPushButton,\n RadioButton: AcroFormRadioButton,\n CheckBox: AcroFormCheckBox,\n TextField: AcroFormTextField,\n PasswordField: AcroFormPasswordField,\n Appearance: AcroFormAppearance\n};\n\njsPDF.AcroForm = {\n ChoiceField: AcroFormChoiceField,\n ListBox: AcroFormListBox,\n ComboBox: AcroFormComboBox,\n EditBox: AcroFormEditBox,\n Button: AcroFormButton,\n PushButton: AcroFormPushButton,\n RadioButton: AcroFormRadioButton,\n CheckBox: AcroFormCheckBox,\n TextField: AcroFormTextField,\n PasswordField: AcroFormPasswordField,\n Appearance: AcroFormAppearance\n};\n\nvar AcroForm = jsPDF.AcroForm;\n\nexport {\n AcroForm,\n AcroFormChoiceField,\n AcroFormListBox,\n AcroFormComboBox,\n AcroFormEditBox,\n AcroFormButton,\n AcroFormPushButton,\n AcroFormRadioButton,\n AcroFormCheckBox,\n AcroFormTextField,\n AcroFormPasswordField,\n AcroFormAppearance\n};\n","function toLookup(arr) {\n return arr.reduce(function(lookup, name, index) {\n lookup[name] = index;\n\n return lookup;\n }, {});\n}\n\nvar fontStyleOrder = {\n italic: [\"italic\", \"oblique\", \"normal\"],\n oblique: [\"oblique\", \"italic\", \"normal\"],\n normal: [\"normal\", \"oblique\", \"italic\"]\n};\n\nvar fontStretchOrder = [\n \"ultra-condensed\",\n \"extra-condensed\",\n \"condensed\",\n \"semi-condensed\",\n \"normal\",\n \"semi-expanded\",\n \"expanded\",\n \"extra-expanded\",\n \"ultra-expanded\"\n];\n\n// For a given font-stretch value, we need to know where to start our search\n// from in the fontStretchOrder list.\nvar fontStretchLookup = toLookup(fontStretchOrder);\n\nvar fontWeights = [100, 200, 300, 400, 500, 600, 700, 800, 900];\nvar fontWeightsLookup = toLookup(fontWeights);\n\nfunction normalizeFontStretch(stretch) {\n stretch = stretch || \"normal\";\n\n return typeof fontStretchLookup[stretch] === \"number\" ? stretch : \"normal\";\n}\n\nfunction normalizeFontStyle(style) {\n style = style || \"normal\";\n\n return fontStyleOrder[style] ? style : \"normal\";\n}\n\nfunction normalizeFontWeight(weight) {\n if (!weight) {\n return 400;\n }\n\n if (typeof weight === \"number\") {\n // Ignore values which aren't valid font-weights.\n return weight >= 100 && weight <= 900 && weight % 100 === 0 ? weight : 400;\n }\n\n if (/^\\d00$/.test(weight)) {\n return parseInt(weight);\n }\n\n switch (weight) {\n case \"bold\":\n return 700;\n\n case \"normal\":\n default:\n return 400;\n }\n}\n\nexport function normalizeFontFace(fontFace) {\n var family = fontFace.family.replace(/\"|'/g, \"\").toLowerCase();\n\n var style = normalizeFontStyle(fontFace.style);\n var weight = normalizeFontWeight(fontFace.weight);\n var stretch = normalizeFontStretch(fontFace.stretch);\n\n return {\n family: family,\n style: style,\n weight: weight,\n stretch: stretch,\n src: fontFace.src || [],\n\n // The ref property maps this font-face to the font\n // added by the .addFont() method.\n ref: fontFace.ref || {\n name: family,\n style: [stretch, style, weight].join(\" \")\n }\n };\n}\n\n/**\n * Turns a list of font-faces into a map, for easier lookup when resolving\n * fonts.\n * @private\n */\nexport function buildFontFaceMap(fontFaces) {\n var map = {};\n\n for (var i = 0; i < fontFaces.length; ++i) {\n var normalized = normalizeFontFace(fontFaces[i]);\n\n var name = normalized.family;\n var stretch = normalized.stretch;\n var style = normalized.style;\n var weight = normalized.weight;\n\n map[name] = map[name] || {};\n\n map[name][stretch] = map[name][stretch] || {};\n map[name][stretch][style] = map[name][stretch][style] || {};\n map[name][stretch][style][weight] = normalized;\n }\n\n return map;\n}\n\n/**\n * Searches a map of stretches, weights, etc. in the given direction and\n * then, if no match has been found, in the opposite directions.\n *\n * @param {Object.} matchingSet A map of the various font variations.\n * @param {any[]} order The order of the different variations\n * @param {number} pivot The starting point of the search in the order list.\n * @param {number} dir The initial direction of the search (desc = -1, asc = 1)\n * @private\n */\n\nfunction searchFromPivot(matchingSet, order, pivot, dir) {\n var i;\n\n for (i = pivot; i >= 0 && i < order.length; i += dir) {\n if (matchingSet[order[i]]) {\n return matchingSet[order[i]];\n }\n }\n\n for (i = pivot; i >= 0 && i < order.length; i -= dir) {\n if (matchingSet[order[i]]) {\n return matchingSet[order[i]];\n }\n }\n}\n\nfunction resolveFontStretch(stretch, matchingSet) {\n if (matchingSet[stretch]) {\n return matchingSet[stretch];\n }\n\n var pivot = fontStretchLookup[stretch];\n\n // If the font-stretch value is normal or more condensed, we want to\n // start with a descending search, otherwise we should do ascending.\n var dir = pivot <= fontStretchLookup[\"normal\"] ? -1 : 1;\n var match = searchFromPivot(matchingSet, fontStretchOrder, pivot, dir);\n\n if (!match) {\n // Since a font-family cannot exist without having at least one stretch value\n // we should never reach this point.\n throw new Error(\n \"Could not find a matching font-stretch value for \" + stretch\n );\n }\n\n return match;\n}\n\nfunction resolveFontStyle(fontStyle, matchingSet) {\n if (matchingSet[fontStyle]) {\n return matchingSet[fontStyle];\n }\n\n var ordering = fontStyleOrder[fontStyle];\n\n for (var i = 0; i < ordering.length; ++i) {\n if (matchingSet[ordering[i]]) {\n return matchingSet[ordering[i]];\n }\n }\n\n // Since a font-family cannot exist without having at least one style value\n // we should never reach this point.\n throw new Error(\"Could not find a matching font-style for \" + fontStyle);\n}\n\nfunction resolveFontWeight(weight, matchingSet) {\n if (matchingSet[weight]) {\n return matchingSet[weight];\n }\n\n if (weight === 400 && matchingSet[500]) {\n return matchingSet[500];\n }\n\n if (weight === 500 && matchingSet[400]) {\n return matchingSet[400];\n }\n\n var pivot = fontWeightsLookup[weight];\n\n // If the font-stretch value is normal or more condensed, we want to\n // start with a descending search, otherwise we should do ascending.\n var dir = weight < 400 ? -1 : 1;\n var match = searchFromPivot(matchingSet, fontWeights, pivot, dir);\n\n if (!match) {\n // Since a font-family cannot exist without having at least one stretch value\n // we should never reach this point.\n throw new Error(\n \"Could not find a matching font-weight for value \" + weight\n );\n }\n\n return match;\n}\n\nvar defaultGenericFontFamilies = {\n \"sans-serif\": \"helvetica\",\n fixed: \"courier\",\n monospace: \"courier\",\n terminal: \"courier\",\n cursive: \"times\",\n fantasy: \"times\",\n serif: \"times\"\n};\n\nvar systemFonts = {\n caption: \"times\",\n icon: \"times\",\n menu: \"times\",\n \"message-box\": \"times\",\n \"small-caption\": \"times\",\n \"status-bar\": \"times\"\n};\n\nfunction ruleToString(rule) {\n return [rule.stretch, rule.style, rule.weight, rule.family].join(\" \");\n}\n\nexport function resolveFontFace(fontFaceMap, rules, opts) {\n opts = opts || {};\n\n var defaultFontFamily = opts.defaultFontFamily || \"times\";\n var genericFontFamilies = Object.assign(\n {},\n defaultGenericFontFamilies,\n opts.genericFontFamilies || {}\n );\n\n var rule = null;\n var matches = null;\n\n for (var i = 0; i < rules.length; ++i) {\n rule = normalizeFontFace(rules[i]);\n\n if (genericFontFamilies[rule.family]) {\n rule.family = genericFontFamilies[rule.family];\n }\n\n if (fontFaceMap.hasOwnProperty(rule.family)) {\n matches = fontFaceMap[rule.family];\n\n break;\n }\n }\n\n // Always fallback to a known font family.\n matches = matches || fontFaceMap[defaultFontFamily];\n\n if (!matches) {\n // At this point we should definitiely have a font family, but if we\n // don't there is something wrong with our configuration\n throw new Error(\n \"Could not find a font-family for the rule '\" +\n ruleToString(rule) +\n \"' and default family '\" +\n defaultFontFamily +\n \"'.\"\n );\n }\n\n matches = resolveFontStretch(rule.stretch, matches);\n matches = resolveFontStyle(rule.style, matches);\n matches = resolveFontWeight(rule.weight, matches);\n\n if (!matches) {\n // We should've fount\n throw new Error(\n \"Failed to resolve a font for the rule '\" + ruleToString(rule) + \"'.\"\n );\n }\n\n return matches;\n}\n\n/**\n * Builds a style id for use with the addFont() method.\n * @param {FontFace} font\n * @private\n */\nexport function toStyleName(font) {\n return [font.weight, font.style, font.stretch].join(\" \");\n}\n\nfunction eatWhiteSpace(input) {\n return input.trimLeft();\n}\n\nfunction parseQuotedFontFamily(input, quote) {\n var index = 0;\n\n while (index < input.length) {\n var current = input.charAt(index);\n\n if (current === quote) {\n return [input.substring(0, index), input.substring(index + 1)];\n }\n\n index += 1;\n }\n\n // Unexpected end of input\n return null;\n}\n\nfunction parseNonQuotedFontFamily(input) {\n // It implements part of the identifier parser here: https://www.w3.org/TR/CSS21/syndata.html#value-def-identifier\n //\n // NOTE: This parser pretty much ignores escaped identifiers and that there is a thing called unicode.\n //\n // Breakdown of regexp:\n // -[a-z_] - when identifier starts with a hyphen, you're not allowed to have another hyphen or a digit\n // [a-z_] - allow a-z and underscore at beginning of input\n // [a-z0-9_-]* - after that, anything goes\n var match = input.match(/^(-[a-z_]|[a-z_])[a-z0-9_-]*/i);\n\n // non quoted value contains illegal characters\n if (match === null) {\n return null;\n }\n\n return [match[0], input.substring(match[0].length)];\n}\n\nvar defaultFont = [\"times\"];\n\nexport function parseFontFamily(input) {\n var result = [];\n var ch, parsed;\n var remaining = input.trim();\n\n if (remaining === \"\") {\n return defaultFont;\n }\n\n if (remaining in systemFonts) {\n return [systemFonts[remaining]];\n }\n\n while (remaining !== \"\") {\n parsed = null;\n remaining = eatWhiteSpace(remaining);\n ch = remaining.charAt(0);\n\n switch (ch) {\n case '\"':\n case \"'\":\n parsed = parseQuotedFontFamily(remaining.substring(1), ch);\n break;\n\n default:\n parsed = parseNonQuotedFontFamily(remaining);\n break;\n }\n\n if (parsed === null) {\n return defaultFont;\n }\n\n result.push(parsed[0]);\n\n remaining = eatWhiteSpace(parsed[1]);\n\n // We expect end of input or a comma separator here\n if (remaining !== \"\" && remaining.charAt(0) !== \",\") {\n return defaultFont;\n }\n\n remaining = remaining.replace(/^,/, \"\");\n }\n\n return result;\n}\n","/** @license\n * jsPDF addImage plugin\n * Copyright (c) 2012 Jason Siefken, https://github.com/siefkenj/\n * 2013 Chris Dowling, https://github.com/gingerchris\n * 2013 Trinh Ho, https://github.com/ineedfat\n * 2013 Edwin Alejandro Perez, https://github.com/eaparango\n * 2013 Norah Smith, https://github.com/burnburnrocket\n * 2014 Diego Casorran, https://github.com/diegocr\n * 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n/**\n * @name addImage\n * @module\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { atob, btoa } from \"../libs/AtobBtoa.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var namespace = \"addImage_\";\n jsPDFAPI.__addimage__ = {};\n\n var UNKNOWN = \"UNKNOWN\";\n\n // Heuristic selection of a good batch for large array .apply. Not limiting make the call overflow.\n // With too small batch iteration will be slow as more calls are made,\n // higher values cause larger and slower garbage collection.\n var ARRAY_APPLY_BATCH = 8192;\n\n var imageFileTypeHeaders = {\n PNG: [[0x89, 0x50, 0x4e, 0x47]],\n TIFF: [\n [0x4d, 0x4d, 0x00, 0x2a], //Motorola\n [0x49, 0x49, 0x2a, 0x00] //Intel\n ],\n JPEG: [\n [\n 0xff,\n 0xd8,\n 0xff,\n 0xe0,\n undefined,\n undefined,\n 0x4a,\n 0x46,\n 0x49,\n 0x46,\n 0x00\n ], //JFIF\n [\n 0xff,\n 0xd8,\n 0xff,\n 0xe1,\n undefined,\n undefined,\n 0x45,\n 0x78,\n 0x69,\n 0x66,\n 0x00,\n 0x00\n ], //Exif\n [0xff, 0xd8, 0xff, 0xdb], //JPEG RAW\n [0xff, 0xd8, 0xff, 0xee] //EXIF RAW\n ],\n JPEG2000: [[0x00, 0x00, 0x00, 0x0c, 0x6a, 0x50, 0x20, 0x20]],\n GIF87a: [[0x47, 0x49, 0x46, 0x38, 0x37, 0x61]],\n GIF89a: [[0x47, 0x49, 0x46, 0x38, 0x39, 0x61]],\n WEBP: [\n [\n 0x52,\n 0x49,\n 0x46,\n 0x46,\n undefined,\n undefined,\n undefined,\n undefined,\n 0x57,\n 0x45,\n 0x42,\n 0x50\n ]\n ],\n BMP: [\n [0x42, 0x4d], //BM - Windows 3.1x, 95, NT, ... etc.\n [0x42, 0x41], //BA - OS/2 struct bitmap array\n [0x43, 0x49], //CI - OS/2 struct color icon\n [0x43, 0x50], //CP - OS/2 const color pointer\n [0x49, 0x43], //IC - OS/2 struct icon\n [0x50, 0x54] //PT - OS/2 pointer\n ]\n };\n\n /**\n * Recognize filetype of Image by magic-bytes\n *\n * https://en.wikipedia.org/wiki/List_of_file_signatures\n *\n * @name getImageFileTypeByImageData\n * @public\n * @function\n * @param {string|arraybuffer} imageData imageData as binary String or arraybuffer\n * @param {string} format format of file if filetype-recognition fails, e.g. 'JPEG'\n *\n * @returns {string} filetype of Image\n */\n var getImageFileTypeByImageData = (jsPDFAPI.__addimage__.getImageFileTypeByImageData = function(\n imageData,\n fallbackFormat\n ) {\n fallbackFormat = fallbackFormat || UNKNOWN;\n var i;\n var j;\n var result = UNKNOWN;\n var headerSchemata;\n var compareResult;\n var fileType;\n\n if (\n fallbackFormat === \"RGBA\" ||\n (imageData.data !== undefined &&\n imageData.data instanceof Uint8ClampedArray &&\n \"height\" in imageData &&\n \"width\" in imageData)\n ) {\n return \"RGBA\";\n }\n\n if (isArrayBufferView(imageData)) {\n for (fileType in imageFileTypeHeaders) {\n headerSchemata = imageFileTypeHeaders[fileType];\n for (i = 0; i < headerSchemata.length; i += 1) {\n compareResult = true;\n for (j = 0; j < headerSchemata[i].length; j += 1) {\n if (headerSchemata[i][j] === undefined) {\n continue;\n }\n if (headerSchemata[i][j] !== imageData[j]) {\n compareResult = false;\n break;\n }\n }\n if (compareResult === true) {\n result = fileType;\n break;\n }\n }\n }\n } else {\n for (fileType in imageFileTypeHeaders) {\n headerSchemata = imageFileTypeHeaders[fileType];\n for (i = 0; i < headerSchemata.length; i += 1) {\n compareResult = true;\n for (j = 0; j < headerSchemata[i].length; j += 1) {\n if (headerSchemata[i][j] === undefined) {\n continue;\n }\n if (headerSchemata[i][j] !== imageData.charCodeAt(j)) {\n compareResult = false;\n break;\n }\n }\n if (compareResult === true) {\n result = fileType;\n break;\n }\n }\n }\n }\n\n if (result === UNKNOWN && fallbackFormat !== UNKNOWN) {\n result = fallbackFormat;\n }\n return result;\n });\n\n // Image functionality ported from pdf.js\n var putImage = function(image) {\n var out = this.internal.write;\n var putStream = this.internal.putStream;\n var getFilters = this.internal.getFilters;\n\n var filter = getFilters();\n while (filter.indexOf(\"FlateEncode\") !== -1) {\n filter.splice(filter.indexOf(\"FlateEncode\"), 1);\n }\n\n image.objectId = this.internal.newObject();\n\n var additionalKeyValues = [];\n additionalKeyValues.push({ key: \"Type\", value: \"/XObject\" });\n additionalKeyValues.push({ key: \"Subtype\", value: \"/Image\" });\n additionalKeyValues.push({ key: \"Width\", value: image.width });\n additionalKeyValues.push({ key: \"Height\", value: image.height });\n\n if (image.colorSpace === color_spaces.INDEXED) {\n additionalKeyValues.push({\n key: \"ColorSpace\",\n value:\n \"[/Indexed /DeviceRGB \" +\n // if an indexed png defines more than one colour with transparency, we've created a sMask\n (image.palette.length / 3 - 1) +\n \" \" +\n (\"sMask\" in image && typeof image.sMask !== \"undefined\"\n ? image.objectId + 2\n : image.objectId + 1) +\n \" 0 R]\"\n });\n } else {\n additionalKeyValues.push({\n key: \"ColorSpace\",\n value: \"/\" + image.colorSpace\n });\n if (image.colorSpace === color_spaces.DEVICE_CMYK) {\n additionalKeyValues.push({ key: \"Decode\", value: \"[1 0 1 0 1 0 1 0]\" });\n }\n }\n additionalKeyValues.push({\n key: \"BitsPerComponent\",\n value: image.bitsPerComponent\n });\n if (\n \"decodeParameters\" in image &&\n typeof image.decodeParameters !== \"undefined\"\n ) {\n additionalKeyValues.push({\n key: \"DecodeParms\",\n value: \"<<\" + image.decodeParameters + \">>\"\n });\n }\n if (\"transparency\" in image && Array.isArray(image.transparency)) {\n var transparency = \"\",\n i = 0,\n len = image.transparency.length;\n for (; i < len; i++)\n transparency +=\n image.transparency[i] + \" \" + image.transparency[i] + \" \";\n\n additionalKeyValues.push({\n key: \"Mask\",\n value: \"[\" + transparency + \"]\"\n });\n }\n if (typeof image.sMask !== \"undefined\") {\n additionalKeyValues.push({\n key: \"SMask\",\n value: image.objectId + 1 + \" 0 R\"\n });\n }\n\n var alreadyAppliedFilters =\n typeof image.filter !== \"undefined\" ? [\"/\" + image.filter] : undefined;\n\n putStream({\n data: image.data,\n additionalKeyValues: additionalKeyValues,\n alreadyAppliedFilters: alreadyAppliedFilters,\n objectId: image.objectId\n });\n\n out(\"endobj\");\n\n // Soft mask\n if (\"sMask\" in image && typeof image.sMask !== \"undefined\") {\n var decodeParameters =\n \"/Predictor \" +\n image.predictor +\n \" /Colors 1 /BitsPerComponent \" +\n image.bitsPerComponent +\n \" /Columns \" +\n image.width;\n var sMask = {\n width: image.width,\n height: image.height,\n colorSpace: \"DeviceGray\",\n bitsPerComponent: image.bitsPerComponent,\n decodeParameters: decodeParameters,\n data: image.sMask\n };\n if (\"filter\" in image) {\n sMask.filter = image.filter;\n }\n putImage.call(this, sMask);\n }\n\n //Palette\n if (image.colorSpace === color_spaces.INDEXED) {\n var objId = this.internal.newObject();\n //out('<< /Filter / ' + img['f'] +' /Length ' + img['pal'].length + '>>');\n //putStream(zlib.compress(img['pal']));\n putStream({\n data: arrayBufferToBinaryString(new Uint8Array(image.palette)),\n objectId: objId\n });\n out(\"endobj\");\n }\n };\n var putResourcesCallback = function() {\n var images = this.internal.collections[namespace + \"images\"];\n for (var i in images) {\n putImage.call(this, images[i]);\n }\n };\n var putXObjectsDictCallback = function() {\n var images = this.internal.collections[namespace + \"images\"],\n out = this.internal.write,\n image;\n for (var i in images) {\n image = images[i];\n out(\"/I\" + image.index, image.objectId, \"0\", \"R\");\n }\n };\n\n var checkCompressValue = function(value) {\n if (value && typeof value === \"string\") value = value.toUpperCase();\n return value in jsPDFAPI.image_compression ? value : image_compression.NONE;\n };\n\n var initialize = function() {\n if (!this.internal.collections[namespace + \"images\"]) {\n this.internal.collections[namespace + \"images\"] = {};\n this.internal.events.subscribe(\"putResources\", putResourcesCallback);\n this.internal.events.subscribe(\"putXobjectDict\", putXObjectsDictCallback);\n }\n };\n\n var getImages = function() {\n var images = this.internal.collections[namespace + \"images\"];\n initialize.call(this);\n return images;\n };\n var getImageIndex = function() {\n return Object.keys(this.internal.collections[namespace + \"images\"]).length;\n };\n var notDefined = function(value) {\n return typeof value === \"undefined\" || value === null || value.length === 0;\n };\n var generateAliasFromImageData = function(imageData) {\n if (typeof imageData === \"string\" || isArrayBufferView(imageData)) {\n return sHashCode(imageData);\n } else if (isArrayBufferView(imageData.data)) {\n return sHashCode(imageData.data);\n }\n\n return null;\n };\n\n var isImageTypeSupported = function(type) {\n return typeof jsPDFAPI[\"process\" + type.toUpperCase()] === \"function\";\n };\n\n var isDOMElement = function(object) {\n return typeof object === \"object\" && object.nodeType === 1;\n };\n\n var getImageDataFromElement = function(element, format) {\n //if element is an image which uses data url definition, just return the dataurl\n if (element.nodeName === \"IMG\" && element.hasAttribute(\"src\")) {\n var src = \"\" + element.getAttribute(\"src\");\n\n //is base64 encoded dataUrl, directly process it\n if (src.indexOf(\"data:image/\") === 0) {\n return atob(\n unescape(src)\n .split(\"base64,\")\n .pop()\n );\n }\n\n //it is probably an url, try to load it\n var tmpImageData = jsPDFAPI.loadFile(src, true);\n if (tmpImageData !== undefined) {\n return tmpImageData;\n }\n }\n\n if (element.nodeName === \"CANVAS\") {\n if (element.width === 0 || element.height === 0) {\n throw new Error(\n \"Given canvas must have data. Canvas width: \" +\n element.width +\n \", height: \" +\n element.height\n );\n }\n var mimeType;\n switch (format) {\n case \"PNG\":\n mimeType = \"image/png\";\n break;\n case \"WEBP\":\n mimeType = \"image/webp\";\n break;\n case \"JPEG\":\n case \"JPG\":\n default:\n mimeType = \"image/jpeg\";\n break;\n }\n return atob(\n element\n .toDataURL(mimeType, 1.0)\n .split(\"base64,\")\n .pop()\n );\n }\n };\n\n var checkImagesForAlias = function(alias) {\n var images = this.internal.collections[namespace + \"images\"];\n if (images) {\n for (var e in images) {\n if (alias === images[e].alias) {\n return images[e];\n }\n }\n }\n };\n\n var determineWidthAndHeight = function(width, height, image) {\n if (!width && !height) {\n width = -96;\n height = -96;\n }\n if (width < 0) {\n width = (-1 * image.width * 72) / width / this.internal.scaleFactor;\n }\n if (height < 0) {\n height = (-1 * image.height * 72) / height / this.internal.scaleFactor;\n }\n if (width === 0) {\n width = (height * image.width) / image.height;\n }\n if (height === 0) {\n height = (width * image.height) / image.width;\n }\n\n return [width, height];\n };\n\n var writeImageToPDF = function(x, y, width, height, image, rotation) {\n var dims = determineWidthAndHeight.call(this, width, height, image),\n coord = this.internal.getCoordinateString,\n vcoord = this.internal.getVerticalCoordinateString;\n\n var images = getImages.call(this);\n\n width = dims[0];\n height = dims[1];\n images[image.index] = image;\n\n if (rotation) {\n rotation *= Math.PI / 180;\n var c = Math.cos(rotation);\n var s = Math.sin(rotation);\n //like in pdf Reference do it 4 digits instead of 2\n var f4 = function(number) {\n return number.toFixed(4);\n };\n var rotationTransformationMatrix = [\n f4(c),\n f4(s),\n f4(s * -1),\n f4(c),\n 0,\n 0,\n \"cm\"\n ];\n }\n this.internal.write(\"q\"); //Save graphics state\n if (rotation) {\n this.internal.write(\n [1, \"0\", \"0\", 1, coord(x), vcoord(y + height), \"cm\"].join(\" \")\n ); //Translate\n this.internal.write(rotationTransformationMatrix.join(\" \")); //Rotate\n this.internal.write(\n [coord(width), \"0\", \"0\", coord(height), \"0\", \"0\", \"cm\"].join(\" \")\n ); //Scale\n } else {\n this.internal.write(\n [\n coord(width),\n \"0\",\n \"0\",\n coord(height),\n coord(x),\n vcoord(y + height),\n \"cm\"\n ].join(\" \")\n ); //Translate and Scale\n }\n\n if (this.isAdvancedAPI()) {\n // draw image bottom up when in \"advanced\" API mode\n this.internal.write([1, 0, 0, -1, 0, 0, \"cm\"].join(\" \"));\n }\n\n this.internal.write(\"/I\" + image.index + \" Do\"); //Paint Image\n this.internal.write(\"Q\"); //Restore graphics state\n };\n\n /**\n * COLOR SPACES\n */\n var color_spaces = (jsPDFAPI.color_spaces = {\n DEVICE_RGB: \"DeviceRGB\",\n DEVICE_GRAY: \"DeviceGray\",\n DEVICE_CMYK: \"DeviceCMYK\",\n CAL_GREY: \"CalGray\",\n CAL_RGB: \"CalRGB\",\n LAB: \"Lab\",\n ICC_BASED: \"ICCBased\",\n INDEXED: \"Indexed\",\n PATTERN: \"Pattern\",\n SEPARATION: \"Separation\",\n DEVICE_N: \"DeviceN\"\n });\n\n /**\n * DECODE METHODS\n */\n jsPDFAPI.decode = {\n DCT_DECODE: \"DCTDecode\",\n FLATE_DECODE: \"FlateDecode\",\n LZW_DECODE: \"LZWDecode\",\n JPX_DECODE: \"JPXDecode\",\n JBIG2_DECODE: \"JBIG2Decode\",\n ASCII85_DECODE: \"ASCII85Decode\",\n ASCII_HEX_DECODE: \"ASCIIHexDecode\",\n RUN_LENGTH_DECODE: \"RunLengthDecode\",\n CCITT_FAX_DECODE: \"CCITTFaxDecode\"\n };\n\n /**\n * IMAGE COMPRESSION TYPES\n */\n var image_compression = (jsPDFAPI.image_compression = {\n NONE: \"NONE\",\n FAST: \"FAST\",\n MEDIUM: \"MEDIUM\",\n SLOW: \"SLOW\"\n });\n\n /**\n * @name sHashCode\n * @function\n * @param {string} data\n * @returns {string}\n */\n var sHashCode = (jsPDFAPI.__addimage__.sHashCode = function(data) {\n var hash = 0,\n i,\n len;\n\n if (typeof data === \"string\") {\n len = data.length;\n for (i = 0; i < len; i++) {\n hash = (hash << 5) - hash + data.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n } else if (isArrayBufferView(data)) {\n len = data.byteLength / 2;\n for (i = 0; i < len; i++) {\n hash = (hash << 5) - hash + data[i];\n hash |= 0; // Convert to 32bit integer\n }\n }\n return hash;\n });\n\n /**\n * Validates if given String is a valid Base64-String\n *\n * @name validateStringAsBase64\n * @public\n * @function\n * @param {String} possible Base64-String\n *\n * @returns {boolean}\n */\n var validateStringAsBase64 = (jsPDFAPI.__addimage__.validateStringAsBase64 = function(\n possibleBase64String\n ) {\n possibleBase64String = possibleBase64String || \"\";\n possibleBase64String.toString().trim();\n\n var result = true;\n\n if (possibleBase64String.length === 0) {\n result = false;\n }\n\n if (possibleBase64String.length % 4 !== 0) {\n result = false;\n }\n\n if (\n /^[A-Za-z0-9+/]+$/.test(\n possibleBase64String.substr(0, possibleBase64String.length - 2)\n ) === false\n ) {\n result = false;\n }\n\n if (\n /^[A-Za-z0-9/][A-Za-z0-9+/]|[A-Za-z0-9+/]=|==$/.test(\n possibleBase64String.substr(-2)\n ) === false\n ) {\n result = false;\n }\n return result;\n });\n\n /**\n * Strips out and returns info from a valid base64 data URI\n *\n * @name extractImageFromDataUrl\n * @function\n * @param {string} dataUrl a valid data URI of format 'data:[][;base64],'\n * @returns {Array}an Array containing the following\n * [0] the complete data URI\n * [1] \n * [2] format - the second part of the mime-type i.e 'png' in 'image/png'\n * [4] \n */\n var extractImageFromDataUrl = (jsPDFAPI.__addimage__.extractImageFromDataUrl = function(\n dataUrl\n ) {\n dataUrl = dataUrl || \"\";\n var dataUrlParts = dataUrl.split(\"base64,\");\n var result = null;\n\n if (dataUrlParts.length === 2) {\n var extractedInfo = /^data:(\\w*\\/\\w*);*(charset=(?!charset=)[\\w=-]*)*;*$/.exec(\n dataUrlParts[0]\n );\n if (Array.isArray(extractedInfo)) {\n result = {\n mimeType: extractedInfo[1],\n charset: extractedInfo[2],\n data: dataUrlParts[1]\n };\n }\n }\n return result;\n });\n\n /**\n * Check to see if ArrayBuffer is supported\n *\n * @name supportsArrayBuffer\n * @function\n * @returns {boolean}\n */\n var supportsArrayBuffer = (jsPDFAPI.__addimage__.supportsArrayBuffer = function() {\n return (\n typeof ArrayBuffer !== \"undefined\" && typeof Uint8Array !== \"undefined\"\n );\n });\n\n /**\n * Tests supplied object to determine if ArrayBuffer\n *\n * @name isArrayBuffer\n * @function\n * @param {Object} object an Object\n *\n * @returns {boolean}\n */\n jsPDFAPI.__addimage__.isArrayBuffer = function(object) {\n return supportsArrayBuffer() && object instanceof ArrayBuffer;\n };\n\n /**\n * Tests supplied object to determine if it implements the ArrayBufferView (TypedArray) interface\n *\n * @name isArrayBufferView\n * @function\n * @param {Object} object an Object\n * @returns {boolean}\n */\n var isArrayBufferView = (jsPDFAPI.__addimage__.isArrayBufferView = function(\n object\n ) {\n return (\n supportsArrayBuffer() &&\n typeof Uint32Array !== \"undefined\" &&\n (object instanceof Int8Array ||\n object instanceof Uint8Array ||\n (typeof Uint8ClampedArray !== \"undefined\" &&\n object instanceof Uint8ClampedArray) ||\n object instanceof Int16Array ||\n object instanceof Uint16Array ||\n object instanceof Int32Array ||\n object instanceof Uint32Array ||\n object instanceof Float32Array ||\n object instanceof Float64Array)\n );\n });\n\n /**\n * Convert Binary String to ArrayBuffer\n *\n * @name binaryStringToUint8Array\n * @public\n * @function\n * @param {string} BinaryString with ImageData\n * @returns {Uint8Array}\n */\n var binaryStringToUint8Array = (jsPDFAPI.__addimage__.binaryStringToUint8Array = function(\n binary_string\n ) {\n var len = binary_string.length;\n var bytes = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n return bytes;\n });\n\n /**\n * Convert the Buffer to a Binary String\n *\n * @name arrayBufferToBinaryString\n * @public\n * @function\n * @param {ArrayBuffer|ArrayBufferView} ArrayBuffer buffer or bufferView with ImageData\n *\n * @returns {String}\n */\n var arrayBufferToBinaryString = (jsPDFAPI.__addimage__.arrayBufferToBinaryString = function(\n buffer\n ) {\n var out = \"\";\n // There are calls with both ArrayBuffer and already converted Uint8Array or other BufferView.\n // Do not copy the array if input is already an array.\n var buf = isArrayBufferView(buffer) ? buffer : new Uint8Array(buffer);\n for (var i = 0; i < buf.length; i += ARRAY_APPLY_BATCH) {\n // Limit the amount of characters being parsed to prevent overflow.\n // Note that while TextDecoder would be faster, it does not have the same\n // functionality as fromCharCode with any provided encodings as of 3/2021.\n out += String.fromCharCode.apply(\n null,\n buf.subarray(i, i + ARRAY_APPLY_BATCH)\n );\n }\n return out;\n });\n\n /**\n * Possible parameter for addImage, an RGBA buffer with size.\n *\n * @typedef {Object} RGBAData\n * @property {Uint8ClampedArray} data - Single dimensional array of RGBA values. For example from canvas getImageData.\n * @property {number} width - Image width as the data does not carry this information in itself.\n * @property {number} height - Image height as the data does not carry this information in itself.\n */\n\n /**\n * Adds an Image to the PDF.\n *\n * @name addImage\n * @public\n * @function\n * @param {string|HTMLImageElement|HTMLCanvasElement|Uint8Array|RGBAData} imageData imageData as base64 encoded DataUrl or Image-HTMLElement or Canvas-HTMLElement or object containing RGBA array (like output from canvas.getImageData).\n * @param {string} format format of file if filetype-recognition fails or in case of a Canvas-Element needs to be specified (default for Canvas is JPEG), e.g. 'JPEG', 'PNG', 'WEBP'\n * @param {number} x x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param {number} y y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param {number} width width of the image (in units declared at inception of PDF document)\n * @param {number} height height of the Image (in units declared at inception of PDF document)\n * @param {string} alias alias of the image (if used multiple times)\n * @param {string} compression compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW'\n * @param {number} rotation rotation of the image in degrees (0-359)\n *\n * @returns jsPDF\n */\n jsPDFAPI.addImage = function() {\n var imageData, format, x, y, w, h, alias, compression, rotation;\n\n imageData = arguments[0];\n if (typeof arguments[1] === \"number\") {\n format = UNKNOWN;\n x = arguments[1];\n y = arguments[2];\n w = arguments[3];\n h = arguments[4];\n alias = arguments[5];\n compression = arguments[6];\n rotation = arguments[7];\n } else {\n format = arguments[1];\n x = arguments[2];\n y = arguments[3];\n w = arguments[4];\n h = arguments[5];\n alias = arguments[6];\n compression = arguments[7];\n rotation = arguments[8];\n }\n\n if (\n typeof imageData === \"object\" &&\n !isDOMElement(imageData) &&\n \"imageData\" in imageData\n ) {\n var options = imageData;\n\n imageData = options.imageData;\n format = options.format || format || UNKNOWN;\n x = options.x || x || 0;\n y = options.y || y || 0;\n w = options.w || options.width || w;\n h = options.h || options.height || h;\n alias = options.alias || alias;\n compression = options.compression || compression;\n rotation = options.rotation || options.angle || rotation;\n }\n\n //If compression is not explicitly set, determine if we should use compression\n var filter = this.internal.getFilters();\n if (compression === undefined && filter.indexOf(\"FlateEncode\") !== -1) {\n compression = \"SLOW\";\n }\n\n if (isNaN(x) || isNaN(y)) {\n throw new Error(\"Invalid coordinates passed to jsPDF.addImage\");\n }\n\n initialize.call(this);\n\n var image = processImageData.call(\n this,\n imageData,\n format,\n alias,\n compression\n );\n\n writeImageToPDF.call(this, x, y, w, h, image, rotation);\n\n return this;\n };\n\n var processImageData = function(imageData, format, alias, compression) {\n var result, dataAsBinaryString;\n\n if (\n typeof imageData === \"string\" &&\n getImageFileTypeByImageData(imageData) === UNKNOWN\n ) {\n imageData = unescape(imageData);\n var tmpImageData = convertBase64ToBinaryString(imageData, false);\n\n if (tmpImageData !== \"\") {\n imageData = tmpImageData;\n } else {\n tmpImageData = jsPDFAPI.loadFile(imageData, true);\n if (tmpImageData !== undefined) {\n imageData = tmpImageData;\n }\n }\n }\n\n if (isDOMElement(imageData)) {\n imageData = getImageDataFromElement(imageData, format);\n }\n\n format = getImageFileTypeByImageData(imageData, format);\n if (!isImageTypeSupported(format)) {\n throw new Error(\n \"addImage does not support files of type '\" +\n format +\n \"', please ensure that a plugin for '\" +\n format +\n \"' support is added.\"\n );\n }\n\n // now do the heavy lifting\n\n if (notDefined(alias)) {\n alias = generateAliasFromImageData(imageData);\n }\n result = checkImagesForAlias.call(this, alias);\n\n if (!result) {\n if (supportsArrayBuffer()) {\n // no need to convert if imageData is already uint8array\n if (!(imageData instanceof Uint8Array) && format !== \"RGBA\") {\n dataAsBinaryString = imageData;\n imageData = binaryStringToUint8Array(imageData);\n }\n }\n\n result = this[\"process\" + format.toUpperCase()](\n imageData,\n getImageIndex.call(this),\n alias,\n checkCompressValue(compression),\n dataAsBinaryString\n );\n }\n\n if (!result) {\n throw new Error(\"An unknown error occurred whilst processing the image.\");\n }\n return result;\n };\n\n /**\n * @name convertBase64ToBinaryString\n * @function\n * @param {string} stringData\n * @returns {string} binary string\n */\n var convertBase64ToBinaryString = (jsPDFAPI.__addimage__.convertBase64ToBinaryString = function(\n stringData,\n throwError\n ) {\n throwError = typeof throwError === \"boolean\" ? throwError : true;\n var base64Info;\n var imageData = \"\";\n var rawData;\n\n if (typeof stringData === \"string\") {\n base64Info = extractImageFromDataUrl(stringData);\n rawData = base64Info !== null ? base64Info.data : stringData;\n\n try {\n imageData = atob(rawData);\n } catch (e) {\n if (throwError) {\n if (!validateStringAsBase64(rawData)) {\n throw new Error(\n \"Supplied Data is not a valid base64-String jsPDF.convertBase64ToBinaryString \"\n );\n } else {\n throw new Error(\n \"atob-Error in jsPDF.convertBase64ToBinaryString \" + e.message\n );\n }\n }\n }\n }\n return imageData;\n });\n\n /**\n * @name getImageProperties\n * @function\n * @param {Object} imageData\n * @returns {Object}\n */\n jsPDFAPI.getImageProperties = function(imageData) {\n var image;\n var tmpImageData = \"\";\n var format;\n\n if (isDOMElement(imageData)) {\n imageData = getImageDataFromElement(imageData);\n }\n\n if (\n typeof imageData === \"string\" &&\n getImageFileTypeByImageData(imageData) === UNKNOWN\n ) {\n tmpImageData = convertBase64ToBinaryString(imageData, false);\n\n if (tmpImageData === \"\") {\n tmpImageData = jsPDFAPI.loadFile(imageData) || \"\";\n }\n imageData = tmpImageData;\n }\n\n format = getImageFileTypeByImageData(imageData);\n if (!isImageTypeSupported(format)) {\n throw new Error(\n \"addImage does not support files of type '\" +\n format +\n \"', please ensure that a plugin for '\" +\n format +\n \"' support is added.\"\n );\n }\n\n if (supportsArrayBuffer() && !(imageData instanceof Uint8Array)) {\n imageData = binaryStringToUint8Array(imageData);\n }\n\n image = this[\"process\" + format.toUpperCase()](imageData);\n\n if (!image) {\n throw new Error(\"An unknown error occurred whilst processing the image\");\n }\n\n image.fileType = format;\n\n return image;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF Annotations PlugIn\n *\n * There are many types of annotations in a PDF document. Annotations are placed\n * on a page at a particular location. They are not 'attached' to an object.\n *
\n * This plugin current supports
\n *
  • Goto Page (set pageNumber and top in options)\n *
  • Goto Name (set name and top in options)\n *
  • Goto URL (set url in options)\n *

    \n * \tThe destination magnification factor can also be specified when goto is a page number or a named destination. (see documentation below)\n * (set magFactor in options). XYZ is the default.\n *

    \n *

    \n * Links, Text, Popup, and FreeText are supported.\n *

    \n *

    \n * Options In PDF spec Not Implemented Yet\n *

  • link border\n *
  • named target\n *
  • page coordinates\n *
  • destination page scaling and layout\n *
  • actions other than URL and GotoPage\n *
  • background / hover actions\n *

    \n * @name annotations\n * @module\n */\n\n/*\n Destination Magnification Factors\n See PDF 1.3 Page 386 for meanings and options\n\n [supported]\n\tXYZ (options; left top zoom)\n\tFit (no options)\n\tFitH (options: top)\n\tFitV (options: left)\n\n\t[not supported]\n\tFitR\n\tFitB\n\tFitBH\n\tFitBV\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var notEmpty = function(obj) {\n if (typeof obj != \"undefined\") {\n if (obj != \"\") {\n return true;\n }\n }\n };\n\n jsPDF.API.events.push([\n \"addPage\",\n function(addPageData) {\n var pageInfo = this.internal.getPageInfo(addPageData.pageNumber);\n pageInfo.pageContext.annotations = [];\n }\n ]);\n\n jsPDFAPI.events.push([\n \"putPage\",\n function(putPageData) {\n var getHorizontalCoordinateString = this.internal.getCoordinateString;\n var getVerticalCoordinateString = this.internal\n .getVerticalCoordinateString;\n var pageInfo = this.internal.getPageInfoByObjId(putPageData.objId);\n var pageAnnos = putPageData.pageContext.annotations;\n\n var anno, rect, line;\n var found = false;\n for (var a = 0; a < pageAnnos.length && !found; a++) {\n anno = pageAnnos[a];\n switch (anno.type) {\n case \"link\":\n if (\n notEmpty(anno.options.url) ||\n notEmpty(anno.options.pageNumber)\n ) {\n found = true;\n }\n break;\n case \"reference\":\n case \"text\":\n case \"freetext\":\n found = true;\n break;\n }\n }\n if (found == false) {\n return;\n }\n\n this.internal.write(\"/Annots [\");\n for (var i = 0; i < pageAnnos.length; i++) {\n anno = pageAnnos[i];\n var escape = this.internal.pdfEscape;\n var encryptor = this.internal.getEncryptor(putPageData.objId);\n\n switch (anno.type) {\n case \"reference\":\n // References to Widget Annotations (for AcroForm Fields)\n this.internal.write(\" \" + anno.object.objId + \" 0 R \");\n break;\n case \"text\":\n // Create a an object for both the text and the popup\n var objText = this.internal.newAdditionalObject();\n var objPopup = this.internal.newAdditionalObject();\n var encryptorText = this.internal.getEncryptor(objText.objId);\n\n var title = anno.title || \"Note\";\n rect =\n \"/Rect [\" +\n getHorizontalCoordinateString(anno.bounds.x) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y + anno.bounds.h) +\n \" \" +\n getHorizontalCoordinateString(anno.bounds.x + anno.bounds.w) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y) +\n \"] \";\n\n line =\n \"<>\";\n objText.content = line;\n\n var parent = objText.objId + \" 0 R\";\n var popoff = 30;\n rect =\n \"/Rect [\" +\n getHorizontalCoordinateString(anno.bounds.x + popoff) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y + anno.bounds.h) +\n \" \" +\n getHorizontalCoordinateString(\n anno.bounds.x + anno.bounds.w + popoff\n ) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y) +\n \"] \";\n line =\n \"<>\";\n objPopup.content = line;\n\n this.internal.write(objText.objId, \"0 R\", objPopup.objId, \"0 R\");\n\n break;\n case \"freetext\":\n rect =\n \"/Rect [\" +\n getHorizontalCoordinateString(anno.bounds.x) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y) +\n \" \" +\n getHorizontalCoordinateString(anno.bounds.x + anno.bounds.w) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y + anno.bounds.h) +\n \"] \";\n var color = anno.color || \"#000000\";\n line =\n \"<>\";\n this.internal.write(line);\n break;\n case \"link\":\n if (anno.options.name) {\n var loc = this.annotations._nameMap[anno.options.name];\n anno.options.pageNumber = loc.page;\n anno.options.top = loc.y;\n } else {\n if (!anno.options.top) {\n anno.options.top = 0;\n }\n }\n\n rect =\n \"/Rect [\" +\n anno.finalBounds.x +\n \" \" +\n anno.finalBounds.y +\n \" \" +\n anno.finalBounds.w +\n \" \" +\n anno.finalBounds.h +\n \"] \";\n\n line = \"\";\n if (anno.options.url) {\n line =\n \"<>\";\n } else if (anno.options.pageNumber) {\n // first page is 0\n var info = this.internal.getPageInfo(anno.options.pageNumber);\n line =\n \"<>\";\n this.internal.write(line);\n }\n break;\n }\n }\n this.internal.write(\"]\");\n }\n ]);\n\n /**\n * @name createAnnotation\n * @function\n * @param {Object} options\n */\n jsPDFAPI.createAnnotation = function(options) {\n var pageInfo = this.internal.getCurrentPageInfo();\n switch (options.type) {\n case \"link\":\n this.link(\n options.bounds.x,\n options.bounds.y,\n options.bounds.w,\n options.bounds.h,\n options\n );\n break;\n case \"text\":\n case \"freetext\":\n pageInfo.pageContext.annotations.push(options);\n break;\n }\n };\n\n /**\n * Create a link\n *\n * valid options\n *
  • pageNumber or url [required]\n *

    If pageNumber is specified, top and zoom may also be specified

    \n * @name link\n * @function\n * @param {number} x\n * @param {number} y\n * @param {number} w\n * @param {number} h\n * @param {Object} options\n */\n jsPDFAPI.link = function(x, y, w, h, options) {\n var pageInfo = this.internal.getCurrentPageInfo();\n var getHorizontalCoordinateString = this.internal.getCoordinateString;\n var getVerticalCoordinateString = this.internal.getVerticalCoordinateString;\n\n pageInfo.pageContext.annotations.push({\n finalBounds: {\n x: getHorizontalCoordinateString(x),\n y: getVerticalCoordinateString(y),\n w: getHorizontalCoordinateString(x + w),\n h: getVerticalCoordinateString(y + h)\n },\n options: options,\n type: \"link\"\n });\n };\n\n /**\n * Currently only supports single line text.\n * Returns the width of the text/link\n *\n * @name textWithLink\n * @function\n * @param {string} text\n * @param {number} x\n * @param {number} y\n * @param {Object} options\n * @returns {number} width the width of the text/link\n */\n jsPDFAPI.textWithLink = function(text, x, y, options) {\n var totalLineWidth = this.getTextWidth(text);\n var lineHeight = this.internal.getLineHeight() / this.internal.scaleFactor;\n var linkHeight, linkWidth;\n\n // Checking if maxWidth option is passed to determine lineWidth and number of lines for each line\n if (options.maxWidth !== undefined) {\n var { maxWidth } = options;\n linkWidth = maxWidth;\n var numOfLines = this.splitTextToSize(text, linkWidth).length;\n linkHeight = Math.ceil(lineHeight * numOfLines);\n } else {\n linkWidth = totalLineWidth;\n linkHeight = lineHeight;\n }\n\n this.text(text, x, y, options);\n\n //TODO We really need the text baseline height to do this correctly.\n // Or ability to draw text on top, bottom, center, or baseline.\n y += lineHeight * 0.2;\n //handle x position based on the align option\n if (options.align === \"center\") {\n x = x - totalLineWidth / 2; //since starting from center move the x position by half of text width\n }\n if (options.align === \"right\") {\n x = x - totalLineWidth;\n }\n this.link(x, y - lineHeight, linkWidth, linkHeight, options);\n return totalLineWidth;\n };\n\n //TODO move into external library\n /**\n * @name getTextWidth\n * @function\n * @param {string} text\n * @returns {number} txtWidth\n */\n jsPDFAPI.getTextWidth = function(text) {\n var fontSize = this.internal.getFontSize();\n var txtWidth =\n (this.getStringUnitWidth(text) * fontSize) / this.internal.scaleFactor;\n return txtWidth;\n };\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF arabic parser PlugIn\n *\n * @name arabic\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Arabic shape substitutions: char code => (isolated, final, initial, medial).\n * Arabic Substition A\n */\n var arabicSubstitionA = {\n 0x0621: [0xfe80], // ARABIC LETTER HAMZA\n 0x0622: [0xfe81, 0xfe82], // ARABIC LETTER ALEF WITH MADDA ABOVE\n 0x0623: [0xfe83, 0xfe84], // ARABIC LETTER ALEF WITH HAMZA ABOVE\n 0x0624: [0xfe85, 0xfe86], // ARABIC LETTER WAW WITH HAMZA ABOVE\n 0x0625: [0xfe87, 0xfe88], // ARABIC LETTER ALEF WITH HAMZA BELOW\n 0x0626: [0xfe89, 0xfe8a, 0xfe8b, 0xfe8c], // ARABIC LETTER YEH WITH HAMZA ABOVE\n 0x0627: [0xfe8d, 0xfe8e], // ARABIC LETTER ALEF\n 0x0628: [0xfe8f, 0xfe90, 0xfe91, 0xfe92], // ARABIC LETTER BEH\n 0x0629: [0xfe93, 0xfe94], // ARABIC LETTER TEH MARBUTA\n 0x062a: [0xfe95, 0xfe96, 0xfe97, 0xfe98], // ARABIC LETTER TEH\n 0x062b: [0xfe99, 0xfe9a, 0xfe9b, 0xfe9c], // ARABIC LETTER THEH\n 0x062c: [0xfe9d, 0xfe9e, 0xfe9f, 0xfea0], // ARABIC LETTER JEEM\n 0x062d: [0xfea1, 0xfea2, 0xfea3, 0xfea4], // ARABIC LETTER HAH\n 0x062e: [0xfea5, 0xfea6, 0xfea7, 0xfea8], // ARABIC LETTER KHAH\n 0x062f: [0xfea9, 0xfeaa], // ARABIC LETTER DAL\n 0x0630: [0xfeab, 0xfeac], // ARABIC LETTER THAL\n 0x0631: [0xfead, 0xfeae], // ARABIC LETTER REH\n 0x0632: [0xfeaf, 0xfeb0], // ARABIC LETTER ZAIN\n 0x0633: [0xfeb1, 0xfeb2, 0xfeb3, 0xfeb4], // ARABIC LETTER SEEN\n 0x0634: [0xfeb5, 0xfeb6, 0xfeb7, 0xfeb8], // ARABIC LETTER SHEEN\n 0x0635: [0xfeb9, 0xfeba, 0xfebb, 0xfebc], // ARABIC LETTER SAD\n 0x0636: [0xfebd, 0xfebe, 0xfebf, 0xfec0], // ARABIC LETTER DAD\n 0x0637: [0xfec1, 0xfec2, 0xfec3, 0xfec4], // ARABIC LETTER TAH\n 0x0638: [0xfec5, 0xfec6, 0xfec7, 0xfec8], // ARABIC LETTER ZAH\n 0x0639: [0xfec9, 0xfeca, 0xfecb, 0xfecc], // ARABIC LETTER AIN\n 0x063a: [0xfecd, 0xfece, 0xfecf, 0xfed0], // ARABIC LETTER GHAIN\n 0x0641: [0xfed1, 0xfed2, 0xfed3, 0xfed4], // ARABIC LETTER FEH\n 0x0642: [0xfed5, 0xfed6, 0xfed7, 0xfed8], // ARABIC LETTER QAF\n 0x0643: [0xfed9, 0xfeda, 0xfedb, 0xfedc], // ARABIC LETTER KAF\n 0x0644: [0xfedd, 0xfede, 0xfedf, 0xfee0], // ARABIC LETTER LAM\n 0x0645: [0xfee1, 0xfee2, 0xfee3, 0xfee4], // ARABIC LETTER MEEM\n 0x0646: [0xfee5, 0xfee6, 0xfee7, 0xfee8], // ARABIC LETTER NOON\n 0x0647: [0xfee9, 0xfeea, 0xfeeb, 0xfeec], // ARABIC LETTER HEH\n 0x0648: [0xfeed, 0xfeee], // ARABIC LETTER WAW\n 0x0649: [0xfeef, 0xfef0, 64488, 64489], // ARABIC LETTER ALEF MAKSURA\n 0x064a: [0xfef1, 0xfef2, 0xfef3, 0xfef4], // ARABIC LETTER YEH\n 0x0671: [0xfb50, 0xfb51], // ARABIC LETTER ALEF WASLA\n 0x0677: [0xfbdd], // ARABIC LETTER U WITH HAMZA ABOVE\n 0x0679: [0xfb66, 0xfb67, 0xfb68, 0xfb69], // ARABIC LETTER TTEH\n 0x067a: [0xfb5e, 0xfb5f, 0xfb60, 0xfb61], // ARABIC LETTER TTEHEH\n 0x067b: [0xfb52, 0xfb53, 0xfb54, 0xfb55], // ARABIC LETTER BEEH\n 0x067e: [0xfb56, 0xfb57, 0xfb58, 0xfb59], // ARABIC LETTER PEH\n 0x067f: [0xfb62, 0xfb63, 0xfb64, 0xfb65], // ARABIC LETTER TEHEH\n 0x0680: [0xfb5a, 0xfb5b, 0xfb5c, 0xfb5d], // ARABIC LETTER BEHEH\n 0x0683: [0xfb76, 0xfb77, 0xfb78, 0xfb79], // ARABIC LETTER NYEH\n 0x0684: [0xfb72, 0xfb73, 0xfb74, 0xfb75], // ARABIC LETTER DYEH\n 0x0686: [0xfb7a, 0xfb7b, 0xfb7c, 0xfb7d], // ARABIC LETTER TCHEH\n 0x0687: [0xfb7e, 0xfb7f, 0xfb80, 0xfb81], // ARABIC LETTER TCHEHEH\n 0x0688: [0xfb88, 0xfb89], // ARABIC LETTER DDAL\n 0x068c: [0xfb84, 0xfb85], // ARABIC LETTER DAHAL\n 0x068d: [0xfb82, 0xfb83], // ARABIC LETTER DDAHAL\n 0x068e: [0xfb86, 0xfb87], // ARABIC LETTER DUL\n 0x0691: [0xfb8c, 0xfb8d], // ARABIC LETTER RREH\n 0x0698: [0xfb8a, 0xfb8b], // ARABIC LETTER JEH\n 0x06a4: [0xfb6a, 0xfb6b, 0xfb6c, 0xfb6d], // ARABIC LETTER VEH\n 0x06a6: [0xfb6e, 0xfb6f, 0xfb70, 0xfb71], // ARABIC LETTER PEHEH\n 0x06a9: [0xfb8e, 0xfb8f, 0xfb90, 0xfb91], // ARABIC LETTER KEHEH\n 0x06ad: [0xfbd3, 0xfbd4, 0xfbd5, 0xfbd6], // ARABIC LETTER NG\n 0x06af: [0xfb92, 0xfb93, 0xfb94, 0xfb95], // ARABIC LETTER GAF\n 0x06b1: [0xfb9a, 0xfb9b, 0xfb9c, 0xfb9d], // ARABIC LETTER NGOEH\n 0x06b3: [0xfb96, 0xfb97, 0xfb98, 0xfb99], // ARABIC LETTER GUEH\n 0x06ba: [0xfb9e, 0xfb9f], // ARABIC LETTER NOON GHUNNA\n 0x06bb: [0xfba0, 0xfba1, 0xfba2, 0xfba3], // ARABIC LETTER RNOON\n 0x06be: [0xfbaa, 0xfbab, 0xfbac, 0xfbad], // ARABIC LETTER HEH DOACHASHMEE\n 0x06c0: [0xfba4, 0xfba5], // ARABIC LETTER HEH WITH YEH ABOVE\n 0x06c1: [0xfba6, 0xfba7, 0xfba8, 0xfba9], // ARABIC LETTER HEH GOAL\n 0x06c5: [0xfbe0, 0xfbe1], // ARABIC LETTER KIRGHIZ OE\n 0x06c6: [0xfbd9, 0xfbda], // ARABIC LETTER OE\n 0x06c7: [0xfbd7, 0xfbd8], // ARABIC LETTER U\n 0x06c8: [0xfbdb, 0xfbdc], // ARABIC LETTER YU\n 0x06c9: [0xfbe2, 0xfbe3], // ARABIC LETTER KIRGHIZ YU\n 0x06cb: [0xfbde, 0xfbdf], // ARABIC LETTER VE\n 0x06cc: [0xfbfc, 0xfbfd, 0xfbfe, 0xfbff], // ARABIC LETTER FARSI YEH\n 0x06d0: [0xfbe4, 0xfbe5, 0xfbe6, 0xfbe7], //ARABIC LETTER E\n 0x06d2: [0xfbae, 0xfbaf], // ARABIC LETTER YEH BARREE\n 0x06d3: [0xfbb0, 0xfbb1] // ARABIC LETTER YEH BARREE WITH HAMZA ABOVE\n };\n\n /*\n var ligaturesSubstitutionA = {\n 0xFBEA: []// ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM\n };\n */\n\n var ligatures = {\n 0xfedf: {\n 0xfe82: 0xfef5, // ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM\n 0xfe84: 0xfef7, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM\n 0xfe88: 0xfef9, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM\n 0xfe8e: 0xfefb // ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM\n },\n 0xfee0: {\n 0xfe82: 0xfef6, // ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM\n 0xfe84: 0xfef8, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM\n 0xfe88: 0xfefa, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM\n 0xfe8e: 0xfefc // ARABIC LIGATURE LAM WITH ALEF FINAL FORM\n },\n 0xfe8d: { 0xfedf: { 0xfee0: { 0xfeea: 0xfdf2 } } }, // ALLAH\n 0x0651: {\n 0x064c: 0xfc5e, // Shadda + Dammatan\n 0x064d: 0xfc5f, // Shadda + Kasratan\n 0x064e: 0xfc60, // Shadda + Fatha\n 0x064f: 0xfc61, // Shadda + Damma\n 0x0650: 0xfc62 // Shadda + Kasra\n }\n };\n\n var arabic_diacritics = {\n 1612: 64606, // Shadda + Dammatan\n 1613: 64607, // Shadda + Kasratan\n 1614: 64608, // Shadda + Fatha\n 1615: 64609, // Shadda + Damma\n 1616: 64610 // Shadda + Kasra\n };\n\n var alfletter = [1570, 1571, 1573, 1575];\n\n var noChangeInForm = -1;\n var isolatedForm = 0;\n var finalForm = 1;\n var initialForm = 2;\n var medialForm = 3;\n\n jsPDFAPI.__arabicParser__ = {};\n\n //private\n var isInArabicSubstitutionA = (jsPDFAPI.__arabicParser__.isInArabicSubstitutionA = function(\n letter\n ) {\n return typeof arabicSubstitionA[letter.charCodeAt(0)] !== \"undefined\";\n });\n\n var isArabicLetter = (jsPDFAPI.__arabicParser__.isArabicLetter = function(\n letter\n ) {\n return (\n typeof letter === \"string\" &&\n /^[\\u0600-\\u06FF\\u0750-\\u077F\\u08A0-\\u08FF\\uFB50-\\uFDFF\\uFE70-\\uFEFF]+$/.test(\n letter\n )\n );\n });\n\n var isArabicEndLetter = (jsPDFAPI.__arabicParser__.isArabicEndLetter = function(\n letter\n ) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length <= 2\n );\n });\n\n var isArabicAlfLetter = (jsPDFAPI.__arabicParser__.isArabicAlfLetter = function(\n letter\n ) {\n return (\n isArabicLetter(letter) && alfletter.indexOf(letter.charCodeAt(0)) >= 0\n );\n });\n\n jsPDFAPI.__arabicParser__.arabicLetterHasIsolatedForm = function(letter) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length >= 1\n );\n };\n\n var arabicLetterHasFinalForm = (jsPDFAPI.__arabicParser__.arabicLetterHasFinalForm = function(\n letter\n ) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length >= 2\n );\n });\n\n jsPDFAPI.__arabicParser__.arabicLetterHasInitialForm = function(letter) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length >= 3\n );\n };\n\n var arabicLetterHasMedialForm = (jsPDFAPI.__arabicParser__.arabicLetterHasMedialForm = function(\n letter\n ) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length == 4\n );\n });\n\n var resolveLigatures = (jsPDFAPI.__arabicParser__.resolveLigatures = function(\n letters\n ) {\n var i = 0;\n var tmpLigatures = ligatures;\n var result = \"\";\n var effectedLetters = 0;\n\n for (i = 0; i < letters.length; i += 1) {\n if (typeof tmpLigatures[letters.charCodeAt(i)] !== \"undefined\") {\n effectedLetters++;\n tmpLigatures = tmpLigatures[letters.charCodeAt(i)];\n\n if (typeof tmpLigatures === \"number\") {\n result += String.fromCharCode(tmpLigatures);\n tmpLigatures = ligatures;\n effectedLetters = 0;\n }\n if (i === letters.length - 1) {\n tmpLigatures = ligatures;\n result += letters.charAt(i - (effectedLetters - 1));\n i = i - (effectedLetters - 1);\n effectedLetters = 0;\n }\n } else {\n tmpLigatures = ligatures;\n result += letters.charAt(i - effectedLetters);\n i = i - effectedLetters;\n effectedLetters = 0;\n }\n }\n\n return result;\n });\n\n jsPDFAPI.__arabicParser__.isArabicDiacritic = function(letter) {\n return (\n letter !== undefined &&\n arabic_diacritics[letter.charCodeAt(0)] !== undefined\n );\n };\n\n var getCorrectForm = (jsPDFAPI.__arabicParser__.getCorrectForm = function(\n currentChar,\n beforeChar,\n nextChar\n ) {\n if (!isArabicLetter(currentChar)) {\n return -1;\n }\n\n if (isInArabicSubstitutionA(currentChar) === false) {\n return noChangeInForm;\n }\n if (\n !arabicLetterHasFinalForm(currentChar) ||\n (!isArabicLetter(beforeChar) && !isArabicLetter(nextChar)) ||\n (!isArabicLetter(nextChar) && isArabicEndLetter(beforeChar)) ||\n (isArabicEndLetter(currentChar) && !isArabicLetter(beforeChar)) ||\n (isArabicEndLetter(currentChar) && isArabicAlfLetter(beforeChar)) ||\n (isArabicEndLetter(currentChar) && isArabicEndLetter(beforeChar))\n ) {\n return isolatedForm;\n }\n\n if (\n arabicLetterHasMedialForm(currentChar) &&\n isArabicLetter(beforeChar) &&\n !isArabicEndLetter(beforeChar) &&\n isArabicLetter(nextChar) &&\n arabicLetterHasFinalForm(nextChar)\n ) {\n return medialForm;\n }\n\n if (isArabicEndLetter(currentChar) || !isArabicLetter(nextChar)) {\n return finalForm;\n }\n return initialForm;\n });\n\n /**\n * @name processArabic\n * @function\n * @param {string} text\n * @returns {string}\n */\n var parseArabic = function(text) {\n text = text || \"\";\n\n var result = \"\";\n var i = 0;\n var j = 0;\n var position = 0;\n var currentLetter = \"\";\n var prevLetter = \"\";\n var nextLetter = \"\";\n\n var words = text.split(\"\\\\s+\");\n var newWords = [];\n for (i = 0; i < words.length; i += 1) {\n newWords.push(\"\");\n for (j = 0; j < words[i].length; j += 1) {\n currentLetter = words[i][j];\n prevLetter = words[i][j - 1];\n nextLetter = words[i][j + 1];\n if (isArabicLetter(currentLetter)) {\n position = getCorrectForm(currentLetter, prevLetter, nextLetter);\n if (position !== -1) {\n newWords[i] += String.fromCharCode(\n arabicSubstitionA[currentLetter.charCodeAt(0)][position]\n );\n } else {\n newWords[i] += currentLetter;\n }\n } else {\n newWords[i] += currentLetter;\n }\n }\n\n newWords[i] = resolveLigatures(newWords[i]);\n }\n result = newWords.join(\" \");\n\n return result;\n };\n\n var processArabic = (jsPDFAPI.__arabicParser__.processArabic = jsPDFAPI.processArabic = function() {\n var text =\n typeof arguments[0] === \"string\" ? arguments[0] : arguments[0].text;\n var tmpText = [];\n var result;\n\n if (Array.isArray(text)) {\n var i = 0;\n tmpText = [];\n for (i = 0; i < text.length; i += 1) {\n if (Array.isArray(text[i])) {\n tmpText.push([parseArabic(text[i][0]), text[i][1], text[i][2]]);\n } else {\n tmpText.push([parseArabic(text[i])]);\n }\n }\n result = tmpText;\n } else {\n result = parseArabic(text);\n }\n if (typeof arguments[0] === \"string\") {\n return result;\n } else {\n arguments[0].text = result;\n return arguments[0];\n }\n });\n\n jsPDFAPI.events.push([\"preProcessText\", processArabic]);\n})(jsPDF.API);\n","/** @license\n * jsPDF Autoprint Plugin\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name autoprint\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Makes the PDF automatically open the print-Dialog when opened in a PDF-viewer.\n *\n * @name autoPrint\n * @function\n * @param {Object} options (optional) Set the attribute variant to 'non-conform' (default) or 'javascript' to activate different methods of automatic printing when opening in a PDF-viewer .\n * @returns {jsPDF}\n * @example\n * var doc = new jsPDF();\n * doc.text(10, 10, 'This is a test');\n * doc.autoPrint({variant: 'non-conform'});\n * doc.save('autoprint.pdf');\n */\n jsPDFAPI.autoPrint = function(options) {\n \"use strict\";\n var refAutoPrintTag;\n options = options || {};\n options.variant = options.variant || \"non-conform\";\n\n switch (options.variant) {\n case \"javascript\":\n //https://github.com/Rob--W/pdf.js/commit/c676ecb5a0f54677b9f3340c3ef2cf42225453bb\n this.addJS(\"print({});\");\n break;\n case \"non-conform\":\n default:\n this.internal.events.subscribe(\"postPutResources\", function() {\n refAutoPrintTag = this.internal.newObject();\n this.internal.out(\"<<\");\n this.internal.out(\"/S /Named\");\n this.internal.out(\"/Type /Action\");\n this.internal.out(\"/N /Print\");\n this.internal.out(\">>\");\n this.internal.out(\"endobj\");\n });\n\n this.internal.events.subscribe(\"putCatalog\", function() {\n this.internal.out(\"/OpenAction \" + refAutoPrintTag + \" 0 R\");\n });\n break;\n }\n return this;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF Canvas PlugIn\n * This plugin mimics the HTML5 Canvas\n *\n * The goal is to provide a way for current canvas users to print directly to a PDF.\n * @name canvas\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @class Canvas\n * @classdesc A Canvas Wrapper for jsPDF\n */\n var Canvas = function() {\n var jsPdfInstance = undefined;\n Object.defineProperty(this, \"pdf\", {\n get: function() {\n return jsPdfInstance;\n },\n set: function(value) {\n jsPdfInstance = value;\n }\n });\n\n var _width = 150;\n /**\n * The height property is a positive integer reflecting the height HTML attribute of the element interpreted in CSS pixels. When the attribute is not specified, or if it is set to an invalid value, like a negative, the default value of 150 is used.\n * This is one of the two properties, the other being width, that controls the size of the canvas.\n *\n * @name width\n */\n Object.defineProperty(this, \"width\", {\n get: function() {\n return _width;\n },\n set: function(value) {\n if (isNaN(value) || Number.isInteger(value) === false || value < 0) {\n _width = 150;\n } else {\n _width = value;\n }\n if (this.getContext(\"2d\").pageWrapXEnabled) {\n this.getContext(\"2d\").pageWrapX = _width + 1;\n }\n }\n });\n\n var _height = 300;\n /**\n * The width property is a positive integer reflecting the width HTML attribute of the element interpreted in CSS pixels. When the attribute is not specified, or if it is set to an invalid value, like a negative, the default value of 300 is used.\n * This is one of the two properties, the other being height, that controls the size of the canvas.\n *\n * @name height\n */\n Object.defineProperty(this, \"height\", {\n get: function() {\n return _height;\n },\n set: function(value) {\n if (isNaN(value) || Number.isInteger(value) === false || value < 0) {\n _height = 300;\n } else {\n _height = value;\n }\n if (this.getContext(\"2d\").pageWrapYEnabled) {\n this.getContext(\"2d\").pageWrapY = _height + 1;\n }\n }\n });\n\n var _childNodes = [];\n Object.defineProperty(this, \"childNodes\", {\n get: function() {\n return _childNodes;\n },\n set: function(value) {\n _childNodes = value;\n }\n });\n\n var _style = {};\n Object.defineProperty(this, \"style\", {\n get: function() {\n return _style;\n },\n set: function(value) {\n _style = value;\n }\n });\n\n Object.defineProperty(this, \"parentNode\", {});\n };\n\n /**\n * The getContext() method returns a drawing context on the canvas, or null if the context identifier is not supported.\n *\n * @name getContext\n * @function\n * @param {string} contextType Is a String containing the context identifier defining the drawing context associated to the canvas. Possible value is \"2d\", leading to the creation of a Context2D object representing a two-dimensional rendering context.\n * @param {object} contextAttributes\n */\n Canvas.prototype.getContext = function(contextType, contextAttributes) {\n contextType = contextType || \"2d\";\n var key;\n\n if (contextType !== \"2d\") {\n return null;\n }\n for (key in contextAttributes) {\n if (this.pdf.context2d.hasOwnProperty(key)) {\n this.pdf.context2d[key] = contextAttributes[key];\n }\n }\n this.pdf.context2d._canvas = this;\n return this.pdf.context2d;\n };\n\n /**\n * The toDataURL() method is just a stub to throw an error if accidently called.\n *\n * @name toDataURL\n * @function\n */\n Canvas.prototype.toDataURL = function() {\n throw new Error(\"toDataURL is not implemented.\");\n };\n\n jsPDFAPI.events.push([\n \"initialized\",\n function() {\n this.canvas = new Canvas();\n this.canvas.pdf = this;\n }\n ]);\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com\n * 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n * 2013 Lee Driscoll, https://github.com/lsdriscoll\n * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n * 2014 James Hall, james@parall.ax\n * 2014 Diego Casorran, https://github.com/diegocr\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name cell\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var NO_MARGINS = { left: 0, top: 0, bottom: 0, right: 0 };\n\n var px2pt = (0.264583 * 72) / 25.4;\n var printingHeaderRow = false;\n\n var _initialize = function() {\n if (typeof this.internal.__cell__ === \"undefined\") {\n this.internal.__cell__ = {};\n this.internal.__cell__.padding = 3;\n this.internal.__cell__.headerFunction = undefined;\n this.internal.__cell__.margins = Object.assign({}, NO_MARGINS);\n this.internal.__cell__.margins.width = this.getPageWidth();\n _reset.call(this);\n }\n };\n\n var _reset = function() {\n this.internal.__cell__.lastCell = new Cell();\n this.internal.__cell__.pages = 1;\n };\n\n var Cell = function() {\n var _x = arguments[0];\n Object.defineProperty(this, \"x\", {\n enumerable: true,\n get: function() {\n return _x;\n },\n set: function(value) {\n _x = value;\n }\n });\n var _y = arguments[1];\n Object.defineProperty(this, \"y\", {\n enumerable: true,\n get: function() {\n return _y;\n },\n set: function(value) {\n _y = value;\n }\n });\n var _width = arguments[2];\n Object.defineProperty(this, \"width\", {\n enumerable: true,\n get: function() {\n return _width;\n },\n set: function(value) {\n _width = value;\n }\n });\n var _height = arguments[3];\n Object.defineProperty(this, \"height\", {\n enumerable: true,\n get: function() {\n return _height;\n },\n set: function(value) {\n _height = value;\n }\n });\n var _text = arguments[4];\n Object.defineProperty(this, \"text\", {\n enumerable: true,\n get: function() {\n return _text;\n },\n set: function(value) {\n _text = value;\n }\n });\n var _lineNumber = arguments[5];\n Object.defineProperty(this, \"lineNumber\", {\n enumerable: true,\n get: function() {\n return _lineNumber;\n },\n set: function(value) {\n _lineNumber = value;\n }\n });\n var _align = arguments[6];\n Object.defineProperty(this, \"align\", {\n enumerable: true,\n get: function() {\n return _align;\n },\n set: function(value) {\n _align = value;\n }\n });\n\n return this;\n };\n\n Cell.prototype.clone = function() {\n return new Cell(\n this.x,\n this.y,\n this.width,\n this.height,\n this.text,\n this.lineNumber,\n this.align\n );\n };\n\n Cell.prototype.toArray = function() {\n return [\n this.x,\n this.y,\n this.width,\n this.height,\n this.text,\n this.lineNumber,\n this.align\n ];\n };\n\n /**\n * @name setHeaderFunction\n * @function\n * @param {function} func\n */\n jsPDFAPI.setHeaderFunction = function(func) {\n _initialize.call(this);\n this.internal.__cell__.headerFunction =\n typeof func === \"function\" ? func : undefined;\n return this;\n };\n\n /**\n * @name getTextDimensions\n * @function\n * @param {string} txt\n * @returns {Object} dimensions\n */\n jsPDFAPI.getTextDimensions = function(text, options) {\n _initialize.call(this);\n options = options || {};\n var fontSize = options.fontSize || this.getFontSize();\n var font = options.font || this.getFont();\n var scaleFactor = options.scaleFactor || this.internal.scaleFactor;\n var width = 0;\n var amountOfLines = 0;\n var height = 0;\n var tempWidth = 0;\n var scope = this;\n\n if (!Array.isArray(text) && typeof text !== \"string\") {\n if (typeof text === \"number\") {\n text = String(text);\n } else {\n throw new Error(\n \"getTextDimensions expects text-parameter to be of type String or type Number or an Array of Strings.\"\n );\n }\n }\n\n const maxWidth = options.maxWidth;\n if (maxWidth > 0) {\n if (typeof text === \"string\") {\n text = this.splitTextToSize(text, maxWidth);\n } else if (Object.prototype.toString.call(text) === \"[object Array]\") {\n text = text.reduce(function(acc, textLine) {\n return acc.concat(scope.splitTextToSize(textLine, maxWidth));\n }, []);\n }\n } else {\n // Without the else clause, it will not work if you do not pass along maxWidth\n text = Array.isArray(text) ? text : [text];\n }\n\n for (var i = 0; i < text.length; i++) {\n tempWidth = this.getStringUnitWidth(text[i], { font: font }) * fontSize;\n if (width < tempWidth) {\n width = tempWidth;\n }\n }\n\n if (width !== 0) {\n amountOfLines = text.length;\n }\n\n width = width / scaleFactor;\n height = Math.max(\n (amountOfLines * fontSize * this.getLineHeightFactor() -\n fontSize * (this.getLineHeightFactor() - 1)) /\n scaleFactor,\n 0\n );\n return { w: width, h: height };\n };\n\n /**\n * @name cellAddPage\n * @function\n */\n jsPDFAPI.cellAddPage = function() {\n _initialize.call(this);\n\n this.addPage();\n\n var margins = this.internal.__cell__.margins || NO_MARGINS;\n this.internal.__cell__.lastCell = new Cell(\n margins.left,\n margins.top,\n undefined,\n undefined\n );\n this.internal.__cell__.pages += 1;\n\n return this;\n };\n\n /**\n * @name cell\n * @function\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n * @param {string} text\n * @param {number} lineNumber lineNumber\n * @param {string} align\n * @return {jsPDF} jsPDF-instance\n */\n var cell = (jsPDFAPI.cell = function() {\n var currentCell;\n\n if (arguments[0] instanceof Cell) {\n currentCell = arguments[0];\n } else {\n currentCell = new Cell(\n arguments[0],\n arguments[1],\n arguments[2],\n arguments[3],\n arguments[4],\n arguments[5]\n );\n }\n _initialize.call(this);\n var lastCell = this.internal.__cell__.lastCell;\n var padding = this.internal.__cell__.padding;\n var margins = this.internal.__cell__.margins || NO_MARGINS;\n var tableHeaderRow = this.internal.__cell__.tableHeaderRow;\n var printHeaders = this.internal.__cell__.printHeaders;\n // If this is not the first cell, we must change its position\n if (typeof lastCell.lineNumber !== \"undefined\") {\n if (lastCell.lineNumber === currentCell.lineNumber) {\n //Same line\n currentCell.x = (lastCell.x || 0) + (lastCell.width || 0);\n currentCell.y = lastCell.y || 0;\n } else {\n //New line\n if (\n lastCell.y + lastCell.height + currentCell.height + margins.bottom >\n this.getPageHeight()\n ) {\n this.cellAddPage();\n currentCell.y = margins.top;\n if (printHeaders && tableHeaderRow) {\n this.printHeaderRow(currentCell.lineNumber, true);\n currentCell.y += tableHeaderRow[0].height;\n }\n } else {\n currentCell.y = lastCell.y + lastCell.height || currentCell.y;\n }\n }\n }\n\n if (typeof currentCell.text[0] !== \"undefined\") {\n this.rect(\n currentCell.x,\n currentCell.y,\n currentCell.width,\n currentCell.height,\n printingHeaderRow === true ? \"FD\" : undefined\n );\n if (currentCell.align === \"right\") {\n this.text(\n currentCell.text,\n currentCell.x + currentCell.width - padding,\n currentCell.y + padding,\n { align: \"right\", baseline: \"top\" }\n );\n } else if (currentCell.align === \"center\") {\n this.text(\n currentCell.text,\n currentCell.x + currentCell.width / 2,\n currentCell.y + padding,\n {\n align: \"center\",\n baseline: \"top\",\n maxWidth: currentCell.width - padding - padding\n }\n );\n } else {\n this.text(\n currentCell.text,\n currentCell.x + padding,\n currentCell.y + padding,\n {\n align: \"left\",\n baseline: \"top\",\n maxWidth: currentCell.width - padding - padding\n }\n );\n }\n }\n this.internal.__cell__.lastCell = currentCell;\n return this;\n });\n\n /**\n * Create a table from a set of data.\n * @name table\n * @function\n * @param {Integer} [x] : left-position for top-left corner of table\n * @param {Integer} [y] top-position for top-left corner of table\n * @param {Object[]} [data] An array of objects containing key-value pairs corresponding to a row of data.\n * @param {String[]} [headers] Omit or null to auto-generate headers at a performance cost\n\n * @param {Object} [config.printHeaders] True to print column headers at the top of every page\n * @param {Object} [config.autoSize] True to dynamically set the column widths to match the widest cell value\n * @param {Object} [config.margins] margin values for left, top, bottom, and width\n * @param {Object} [config.fontSize] Integer fontSize to use (optional)\n * @param {Object} [config.padding] cell-padding in pt to use (optional)\n * @param {Object} [config.headerBackgroundColor] default is #c8c8c8 (optional)\n * @param {Object} [config.headerTextColor] default is #000 (optional)\n * @param {Object} [config.rowStart] callback to handle before print each row (optional)\n * @param {Object} [config.cellStart] callback to handle before print each cell (optional)\n * @returns {jsPDF} jsPDF-instance\n */\n\n jsPDFAPI.table = function(x, y, data, headers, config) {\n _initialize.call(this);\n if (!data) {\n throw new Error(\"No data for PDF table.\");\n }\n\n config = config || {};\n\n var headerNames = [],\n headerLabels = [],\n headerAligns = [],\n i,\n columnMatrix = {},\n columnWidths = {},\n column,\n columnMinWidths = [],\n j,\n tableHeaderConfigs = [],\n //set up defaults. If a value is provided in config, defaults will be overwritten:\n autoSize = config.autoSize || false,\n printHeaders = config.printHeaders === false ? false : true,\n fontSize =\n config.css && typeof config.css[\"font-size\"] !== \"undefined\"\n ? config.css[\"font-size\"] * 16\n : config.fontSize || 12,\n margins =\n config.margins ||\n Object.assign({ width: this.getPageWidth() }, NO_MARGINS),\n padding = typeof config.padding === \"number\" ? config.padding : 3,\n headerBackgroundColor = config.headerBackgroundColor || \"#c8c8c8\",\n headerTextColor = config.headerTextColor || \"#000\";\n\n _reset.call(this);\n\n this.internal.__cell__.printHeaders = printHeaders;\n this.internal.__cell__.margins = margins;\n this.internal.__cell__.table_font_size = fontSize;\n this.internal.__cell__.padding = padding;\n this.internal.__cell__.headerBackgroundColor = headerBackgroundColor;\n this.internal.__cell__.headerTextColor = headerTextColor;\n this.setFontSize(fontSize);\n\n // Set header values\n if (headers === undefined || headers === null) {\n // No headers defined so we derive from data\n headerNames = Object.keys(data[0]);\n headerLabels = headerNames;\n headerAligns = headerNames.map(function() {\n return \"left\";\n });\n } else if (Array.isArray(headers) && typeof headers[0] === \"object\") {\n headerNames = headers.map(function(header) {\n return header.name;\n });\n headerLabels = headers.map(function(header) {\n return header.prompt || header.name || \"\";\n });\n headerAligns = headers.map(function(header) {\n return header.align || \"left\";\n });\n // Split header configs into names and prompts\n for (i = 0; i < headers.length; i += 1) {\n columnWidths[headers[i].name] = headers[i].width * px2pt;\n }\n } else if (Array.isArray(headers) && typeof headers[0] === \"string\") {\n headerNames = headers;\n headerLabels = headerNames;\n headerAligns = headerNames.map(function() {\n return \"left\";\n });\n }\n\n if (\n autoSize ||\n (Array.isArray(headers) && typeof headers[0] === \"string\")\n ) {\n var headerName;\n for (i = 0; i < headerNames.length; i += 1) {\n headerName = headerNames[i];\n\n // Create a matrix of columns e.g., {column_title: [row1_Record, row2_Record]}\n\n columnMatrix[headerName] = data.map(function(rec) {\n return rec[headerName];\n });\n\n // get header width\n this.setFont(undefined, \"bold\");\n columnMinWidths.push(\n this.getTextDimensions(headerLabels[i], {\n fontSize: this.internal.__cell__.table_font_size,\n scaleFactor: this.internal.scaleFactor\n }).w\n );\n column = columnMatrix[headerName];\n\n // get cell widths\n this.setFont(undefined, \"normal\");\n for (j = 0; j < column.length; j += 1) {\n columnMinWidths.push(\n this.getTextDimensions(column[j], {\n fontSize: this.internal.__cell__.table_font_size,\n scaleFactor: this.internal.scaleFactor\n }).w\n );\n }\n\n // get final column width\n columnWidths[headerName] =\n Math.max.apply(null, columnMinWidths) + padding + padding;\n\n //have to reset\n columnMinWidths = [];\n }\n }\n\n // -- Construct the table\n\n if (printHeaders) {\n var row = {};\n for (i = 0; i < headerNames.length; i += 1) {\n row[headerNames[i]] = {};\n row[headerNames[i]].text = headerLabels[i];\n row[headerNames[i]].align = headerAligns[i];\n }\n\n var rowHeight = calculateLineHeight.call(this, row, columnWidths);\n\n // Construct the header row\n tableHeaderConfigs = headerNames.map(function(value) {\n return new Cell(\n x,\n y,\n columnWidths[value],\n rowHeight,\n row[value].text,\n undefined,\n row[value].align\n );\n });\n\n // Store the table header config\n this.setTableHeaderRow(tableHeaderConfigs);\n\n // Print the header for the start of the table\n this.printHeaderRow(1, false);\n }\n\n // Construct the data rows\n\n var align = headers.reduce(function(pv, cv) {\n pv[cv.name] = cv.align;\n return pv;\n }, {});\n for (i = 0; i < data.length; i += 1) {\n if (\"rowStart\" in config && config.rowStart instanceof Function) {\n config.rowStart(\n {\n row: i,\n data: data[i]\n },\n this\n );\n }\n var lineHeight = calculateLineHeight.call(this, data[i], columnWidths);\n\n for (j = 0; j < headerNames.length; j += 1) {\n var cellData = data[i][headerNames[j]];\n if (\"cellStart\" in config && config.cellStart instanceof Function) {\n config.cellStart(\n {\n row: i,\n col: j,\n data: cellData\n },\n this\n );\n }\n cell.call(\n this,\n new Cell(\n x,\n y,\n columnWidths[headerNames[j]],\n lineHeight,\n cellData,\n i + 2,\n align[headerNames[j]]\n )\n );\n }\n }\n this.internal.__cell__.table_x = x;\n this.internal.__cell__.table_y = y;\n return this;\n };\n\n /**\n * Calculate the height for containing the highest column\n *\n * @name calculateLineHeight\n * @function\n * @param {Object[]} model is the line of data we want to calculate the height of\n * @param {Integer[]} columnWidths is size of each column\n * @returns {number} lineHeight\n * @private\n */\n var calculateLineHeight = function calculateLineHeight(model, columnWidths) {\n var padding = this.internal.__cell__.padding;\n var fontSize = this.internal.__cell__.table_font_size;\n var scaleFactor = this.internal.scaleFactor;\n\n return Object.keys(model)\n .map(function(key) {\n var value = model[key];\n return this.splitTextToSize(\n value.hasOwnProperty(\"text\") ? value.text : value,\n columnWidths[key] - padding - padding\n );\n }, this)\n .map(function(value) {\n return (\n (this.getLineHeightFactor() * value.length * fontSize) / scaleFactor +\n padding +\n padding\n );\n }, this)\n .reduce(function(pv, cv) {\n return Math.max(pv, cv);\n }, 0);\n };\n\n /**\n * Store the config for outputting a table header\n *\n * @name setTableHeaderRow\n * @function\n * @param {Object[]} config\n * An array of cell configs that would define a header row: Each config matches the config used by jsPDFAPI.cell\n * except the lineNumber parameter is excluded\n */\n jsPDFAPI.setTableHeaderRow = function(config) {\n _initialize.call(this);\n this.internal.__cell__.tableHeaderRow = config;\n };\n\n /**\n * Output the store header row\n *\n * @name printHeaderRow\n * @function\n * @param {number} lineNumber The line number to output the header at\n * @param {boolean} new_page\n */\n jsPDFAPI.printHeaderRow = function(lineNumber, new_page) {\n _initialize.call(this);\n if (!this.internal.__cell__.tableHeaderRow) {\n throw new Error(\"Property tableHeaderRow does not exist.\");\n }\n\n var tableHeaderCell;\n\n printingHeaderRow = true;\n if (typeof this.internal.__cell__.headerFunction === \"function\") {\n var position = this.internal.__cell__.headerFunction(\n this,\n this.internal.__cell__.pages\n );\n this.internal.__cell__.lastCell = new Cell(\n position[0],\n position[1],\n position[2],\n position[3],\n undefined,\n -1\n );\n }\n this.setFont(undefined, \"bold\");\n\n var tempHeaderConf = [];\n for (var i = 0; i < this.internal.__cell__.tableHeaderRow.length; i += 1) {\n tableHeaderCell = this.internal.__cell__.tableHeaderRow[i].clone();\n if (new_page) {\n tableHeaderCell.y = this.internal.__cell__.margins.top || 0;\n tempHeaderConf.push(tableHeaderCell);\n }\n tableHeaderCell.lineNumber = lineNumber;\n var currentTextColor = this.getTextColor();\n this.setTextColor(this.internal.__cell__.headerTextColor);\n this.setFillColor(this.internal.__cell__.headerBackgroundColor);\n cell.call(this, tableHeaderCell);\n this.setTextColor(currentTextColor);\n }\n if (tempHeaderConf.length > 0) {\n this.setTableHeaderRow(tempHeaderConf);\n }\n this.setFont(undefined, \"normal\");\n printingHeaderRow = false;\n };\n})(jsPDF.API);\n","/* eslint-disable no-fallthrough */\r\n/* eslint-disable no-console */\r\n/**\r\n * @license\r\n * jsPDF Context2D PlugIn Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\r\n *\r\n * Licensed under the MIT License. http://opensource.org/licenses/mit-license\r\n */\r\n\r\nimport { jsPDF } from \"../jspdf.js\";\r\nimport { RGBColor } from \"../libs/rgbcolor.js\";\r\nimport { console } from \"../libs/console.js\";\r\nimport {\r\n buildFontFaceMap,\r\n parseFontFamily,\r\n resolveFontFace\r\n} from \"../libs/fontFace.js\";\r\n\r\n/**\r\n * This plugin mimics the HTML5 CanvasRenderingContext2D.\r\n *\r\n * The goal is to provide a way for current canvas implementations to print directly to a PDF.\r\n *\r\n * @name context2d\r\n * @module\r\n */\r\n(function(jsPDFAPI) {\r\n \"use strict\";\r\n var ContextLayer = function(ctx) {\r\n ctx = ctx || {};\r\n this.isStrokeTransparent = ctx.isStrokeTransparent || false;\r\n this.strokeOpacity = ctx.strokeOpacity || 1;\r\n this.strokeStyle = ctx.strokeStyle || \"#000000\";\r\n this.fillStyle = ctx.fillStyle || \"#000000\";\r\n this.isFillTransparent = ctx.isFillTransparent || false;\r\n this.fillOpacity = ctx.fillOpacity || 1;\r\n this.font = ctx.font || \"10px sans-serif\";\r\n this.textBaseline = ctx.textBaseline || \"alphabetic\";\r\n this.textAlign = ctx.textAlign || \"left\";\r\n this.lineWidth = ctx.lineWidth || 1;\r\n this.lineJoin = ctx.lineJoin || \"miter\";\r\n this.lineCap = ctx.lineCap || \"butt\";\r\n this.path = ctx.path || [];\r\n this.transform =\r\n typeof ctx.transform !== \"undefined\"\r\n ? ctx.transform.clone()\r\n : new Matrix();\r\n this.globalCompositeOperation = ctx.globalCompositeOperation || \"normal\";\r\n this.globalAlpha = ctx.globalAlpha || 1.0;\r\n this.clip_path = ctx.clip_path || [];\r\n this.currentPoint = ctx.currentPoint || new Point();\r\n this.miterLimit = ctx.miterLimit || 10.0;\r\n this.lastPoint = ctx.lastPoint || new Point();\r\n this.lineDashOffset = ctx.lineDashOffset || 0.0;\r\n this.lineDash = ctx.lineDash || [];\r\n this.margin = ctx.margin || [0, 0, 0, 0];\r\n this.prevPageLastElemOffset = ctx.prevPageLastElemOffset || 0;\r\n\r\n this.ignoreClearRect =\r\n typeof ctx.ignoreClearRect === \"boolean\" ? ctx.ignoreClearRect : true;\r\n return this;\r\n };\r\n\r\n //stub\r\n var f2,\r\n getHorizontalCoordinateString,\r\n getVerticalCoordinateString,\r\n getHorizontalCoordinate,\r\n getVerticalCoordinate,\r\n Point,\r\n Rectangle,\r\n Matrix,\r\n _ctx;\r\n jsPDFAPI.events.push([\r\n \"initialized\",\r\n function() {\r\n this.context2d = new Context2D(this);\r\n\r\n f2 = this.internal.f2;\r\n getHorizontalCoordinateString = this.internal.getCoordinateString;\r\n getVerticalCoordinateString = this.internal.getVerticalCoordinateString;\r\n getHorizontalCoordinate = this.internal.getHorizontalCoordinate;\r\n getVerticalCoordinate = this.internal.getVerticalCoordinate;\r\n Point = this.internal.Point;\r\n Rectangle = this.internal.Rectangle;\r\n Matrix = this.internal.Matrix;\r\n _ctx = new ContextLayer();\r\n }\r\n ]);\r\n\r\n var Context2D = function(pdf) {\r\n Object.defineProperty(this, \"canvas\", {\r\n get: function() {\r\n return { parentNode: false, style: false };\r\n }\r\n });\r\n\r\n var _pdf = pdf;\r\n Object.defineProperty(this, \"pdf\", {\r\n get: function() {\r\n return _pdf;\r\n }\r\n });\r\n\r\n var _pageWrapXEnabled = false;\r\n /**\r\n * @name pageWrapXEnabled\r\n * @type {boolean}\r\n * @default false\r\n */\r\n Object.defineProperty(this, \"pageWrapXEnabled\", {\r\n get: function() {\r\n return _pageWrapXEnabled;\r\n },\r\n set: function(value) {\r\n _pageWrapXEnabled = Boolean(value);\r\n }\r\n });\r\n\r\n var _pageWrapYEnabled = false;\r\n /**\r\n * @name pageWrapYEnabled\r\n * @type {boolean}\r\n * @default true\r\n */\r\n Object.defineProperty(this, \"pageWrapYEnabled\", {\r\n get: function() {\r\n return _pageWrapYEnabled;\r\n },\r\n set: function(value) {\r\n _pageWrapYEnabled = Boolean(value);\r\n }\r\n });\r\n\r\n var _posX = 0;\r\n /**\r\n * @name posX\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"posX\", {\r\n get: function() {\r\n return _posX;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _posX = value;\r\n }\r\n }\r\n });\r\n\r\n var _posY = 0;\r\n /**\r\n * @name posY\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"posY\", {\r\n get: function() {\r\n return _posY;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _posY = value;\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Gets or sets the page margin when using auto paging. Has no effect when {@link autoPaging} is off.\r\n * @name margin\r\n * @type {number|number[]}\r\n * @default [0, 0, 0, 0]\r\n */\r\n Object.defineProperty(this, \"margin\", {\r\n get: function() {\r\n return _ctx.margin;\r\n },\r\n set: function(value) {\r\n var margin;\r\n if (typeof value === \"number\") {\r\n margin = [value, value, value, value];\r\n } else {\r\n margin = new Array(4);\r\n margin[0] = value[0];\r\n margin[1] = value.length >= 2 ? value[1] : margin[0];\r\n margin[2] = value.length >= 3 ? value[2] : margin[0];\r\n margin[3] = value.length >= 4 ? value[3] : margin[1];\r\n }\r\n _ctx.margin = margin;\r\n }\r\n });\r\n\r\n var _autoPaging = false;\r\n /**\r\n * Gets or sets the auto paging mode. When auto paging is enabled, the context2d will automatically draw on the\r\n * next page if a shape or text chunk doesn't fit entirely on the current page. The context2d will create new\r\n * pages if required.\r\n *\r\n * Context2d supports different modes:\r\n *
      \r\n *
    • \r\n * false: Auto paging is disabled.\r\n *
    • \r\n *
    • \r\n * true or 'slice': Will cut shapes or text chunks across page breaks. Will possibly\r\n * slice text in half, making it difficult to read.\r\n *
    • \r\n *
    • \r\n * 'text': Trys not to cut text in half across page breaks. Works best for documents consisting\r\n * mostly of a single column of text.\r\n *
    • \r\n *
    \r\n * @name Context2D#autoPaging\r\n * @type {boolean|\"slice\"|\"text\"}\r\n * @default false\r\n */\r\n Object.defineProperty(this, \"autoPaging\", {\r\n get: function() {\r\n return _autoPaging;\r\n },\r\n set: function(value) {\r\n _autoPaging = value;\r\n }\r\n });\r\n\r\n var lastBreak = 0;\r\n /**\r\n * @name lastBreak\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"lastBreak\", {\r\n get: function() {\r\n return lastBreak;\r\n },\r\n set: function(value) {\r\n lastBreak = value;\r\n }\r\n });\r\n\r\n var pageBreaks = [];\r\n /**\r\n * Y Position of page breaks.\r\n * @name pageBreaks\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"pageBreaks\", {\r\n get: function() {\r\n return pageBreaks;\r\n },\r\n set: function(value) {\r\n pageBreaks = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name ctx\r\n * @type {object}\r\n * @default {}\r\n */\r\n Object.defineProperty(this, \"ctx\", {\r\n get: function() {\r\n return _ctx;\r\n },\r\n set: function(value) {\r\n if (value instanceof ContextLayer) {\r\n _ctx = value;\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * @name path\r\n * @type {array}\r\n * @default []\r\n */\r\n Object.defineProperty(this, \"path\", {\r\n get: function() {\r\n return _ctx.path;\r\n },\r\n set: function(value) {\r\n _ctx.path = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name ctxStack\r\n * @type {array}\r\n * @default []\r\n */\r\n var _ctxStack = [];\r\n Object.defineProperty(this, \"ctxStack\", {\r\n get: function() {\r\n return _ctxStack;\r\n },\r\n set: function(value) {\r\n _ctxStack = value;\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the color, gradient, or pattern used to fill the drawing\r\n *\r\n * @name fillStyle\r\n * @default #000000\r\n * @property {(color|gradient|pattern)} value The color of the drawing. Default value is #000000
    \r\n * A gradient object (linear or radial) used to fill the drawing (not supported by context2d)
    \r\n * A pattern object to use to fill the drawing (not supported by context2d)\r\n */\r\n Object.defineProperty(this, \"fillStyle\", {\r\n get: function() {\r\n return this.ctx.fillStyle;\r\n },\r\n set: function(value) {\r\n var rgba;\r\n rgba = getRGBA(value);\r\n\r\n this.ctx.fillStyle = rgba.style;\r\n this.ctx.isFillTransparent = rgba.a === 0;\r\n this.ctx.fillOpacity = rgba.a;\r\n\r\n this.pdf.setFillColor(rgba.r, rgba.g, rgba.b, { a: rgba.a });\r\n this.pdf.setTextColor(rgba.r, rgba.g, rgba.b, { a: rgba.a });\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the color, gradient, or pattern used for strokes\r\n *\r\n * @name strokeStyle\r\n * @default #000000\r\n * @property {color} color A CSS color value that indicates the stroke color of the drawing. Default value is #000000 (not supported by context2d)\r\n * @property {gradient} gradient A gradient object (linear or radial) used to create a gradient stroke (not supported by context2d)\r\n * @property {pattern} pattern A pattern object used to create a pattern stroke (not supported by context2d)\r\n */\r\n Object.defineProperty(this, \"strokeStyle\", {\r\n get: function() {\r\n return this.ctx.strokeStyle;\r\n },\r\n set: function(value) {\r\n var rgba = getRGBA(value);\r\n\r\n this.ctx.strokeStyle = rgba.style;\r\n this.ctx.isStrokeTransparent = rgba.a === 0;\r\n this.ctx.strokeOpacity = rgba.a;\r\n\r\n if (rgba.a === 0) {\r\n this.pdf.setDrawColor(255, 255, 255);\r\n } else if (rgba.a === 1) {\r\n this.pdf.setDrawColor(rgba.r, rgba.g, rgba.b);\r\n } else {\r\n this.pdf.setDrawColor(rgba.r, rgba.g, rgba.b);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the style of the end caps for a line\r\n *\r\n * @name lineCap\r\n * @default butt\r\n * @property {(butt|round|square)} lineCap butt A flat edge is added to each end of the line
    \r\n * round A rounded end cap is added to each end of the line
    \r\n * square A square end cap is added to each end of the line
    \r\n */\r\n Object.defineProperty(this, \"lineCap\", {\r\n get: function() {\r\n return this.ctx.lineCap;\r\n },\r\n set: function(value) {\r\n if ([\"butt\", \"round\", \"square\"].indexOf(value) !== -1) {\r\n this.ctx.lineCap = value;\r\n this.pdf.setLineCap(value);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the current line width\r\n *\r\n * @name lineWidth\r\n * @default 1\r\n * @property {number} lineWidth The current line width, in pixels\r\n */\r\n Object.defineProperty(this, \"lineWidth\", {\r\n get: function() {\r\n return this.ctx.lineWidth;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n this.ctx.lineWidth = value;\r\n this.pdf.setLineWidth(value);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the type of corner created, when two lines meet\r\n */\r\n Object.defineProperty(this, \"lineJoin\", {\r\n get: function() {\r\n return this.ctx.lineJoin;\r\n },\r\n set: function(value) {\r\n if ([\"bevel\", \"round\", \"miter\"].indexOf(value) !== -1) {\r\n this.ctx.lineJoin = value;\r\n this.pdf.setLineJoin(value);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * A number specifying the miter limit ratio in coordinate space units. Zero, negative, Infinity, and NaN values are ignored. The default value is 10.0.\r\n *\r\n * @name miterLimit\r\n * @default 10\r\n */\r\n Object.defineProperty(this, \"miterLimit\", {\r\n get: function() {\r\n return this.ctx.miterLimit;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n this.ctx.miterLimit = value;\r\n this.pdf.setMiterLimit(value);\r\n }\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"textBaseline\", {\r\n get: function() {\r\n return this.ctx.textBaseline;\r\n },\r\n set: function(value) {\r\n this.ctx.textBaseline = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"textAlign\", {\r\n get: function() {\r\n return this.ctx.textAlign;\r\n },\r\n set: function(value) {\r\n if ([\"right\", \"end\", \"center\", \"left\", \"start\"].indexOf(value) !== -1) {\r\n this.ctx.textAlign = value;\r\n }\r\n }\r\n });\r\n\r\n var _fontFaceMap = null;\r\n\r\n function getFontFaceMap(pdf, fontFaces) {\r\n if (_fontFaceMap === null) {\r\n var fontMap = pdf.getFontList();\r\n\r\n var convertedFontFaces = convertToFontFaces(fontMap);\r\n\r\n _fontFaceMap = buildFontFaceMap(convertedFontFaces.concat(fontFaces));\r\n }\r\n\r\n return _fontFaceMap;\r\n }\r\n\r\n function convertToFontFaces(fontMap) {\r\n var fontFaces = [];\r\n\r\n Object.keys(fontMap).forEach(function(family) {\r\n var styles = fontMap[family];\r\n\r\n styles.forEach(function(style) {\r\n var fontFace = null;\r\n\r\n switch (style) {\r\n case \"bold\":\r\n fontFace = {\r\n family: family,\r\n weight: \"bold\"\r\n };\r\n break;\r\n\r\n case \"italic\":\r\n fontFace = {\r\n family: family,\r\n style: \"italic\"\r\n };\r\n break;\r\n\r\n case \"bolditalic\":\r\n fontFace = {\r\n family: family,\r\n weight: \"bold\",\r\n style: \"italic\"\r\n };\r\n break;\r\n\r\n case \"\":\r\n case \"normal\":\r\n fontFace = {\r\n family: family\r\n };\r\n break;\r\n }\r\n\r\n // If font-face is still null here, it is a font with some styling we don't recognize and\r\n // cannot map or it is a font added via the fontFaces option of .html().\r\n if (fontFace !== null) {\r\n fontFace.ref = {\r\n name: family,\r\n style: style\r\n };\r\n\r\n fontFaces.push(fontFace);\r\n }\r\n });\r\n });\r\n\r\n return fontFaces;\r\n }\r\n\r\n var _fontFaces = null;\r\n /**\r\n * A map of available font-faces, as passed in the options of\r\n * .html(). If set a limited implementation of the font style matching\r\n * algorithm defined by https://www.w3.org/TR/css-fonts-3/#font-matching-algorithm\r\n * will be used. If not set it will fallback to previous behavior.\r\n */\r\n\r\n Object.defineProperty(this, \"fontFaces\", {\r\n get: function() {\r\n return _fontFaces;\r\n },\r\n set: function(value) {\r\n _fontFaceMap = null;\r\n _fontFaces = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"font\", {\r\n get: function() {\r\n return this.ctx.font;\r\n },\r\n set: function(value) {\r\n this.ctx.font = value;\r\n var rx, matches;\r\n\r\n //source: https://stackoverflow.com/a/10136041\r\n // eslint-disable-next-line no-useless-escape\r\n rx = /^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))(?:\\s*\\/\\s*(normal|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])))?\\s*([-_,\\\"\\'\\sa-z]+?)\\s*$/i;\r\n matches = rx.exec(value);\r\n if (matches !== null) {\r\n var fontStyle = matches[1];\r\n var fontVariant = matches[2];\r\n var fontWeight = matches[3];\r\n var fontSize = matches[4];\r\n var lineHeight = matches[5];\r\n var fontFamily = matches[6];\r\n } else {\r\n return;\r\n }\r\n var rxFontSize = /^([.\\d]+)((?:%|in|[cem]m|ex|p[ctx]))$/i;\r\n var fontSizeUnit = rxFontSize.exec(fontSize)[2];\r\n\r\n if (\"px\" === fontSizeUnit) {\r\n fontSize = Math.floor(\r\n parseFloat(fontSize) * this.pdf.internal.scaleFactor\r\n );\r\n } else if (\"em\" === fontSizeUnit) {\r\n fontSize = Math.floor(parseFloat(fontSize) * this.pdf.getFontSize());\r\n } else {\r\n fontSize = Math.floor(\r\n parseFloat(fontSize) * this.pdf.internal.scaleFactor\r\n );\r\n }\r\n\r\n this.pdf.setFontSize(fontSize);\r\n var parts = parseFontFamily(fontFamily);\r\n\r\n if (this.fontFaces) {\r\n var fontFaceMap = getFontFaceMap(this.pdf, this.fontFaces);\r\n\r\n var rules = parts.map(function(ff) {\r\n return {\r\n family: ff,\r\n stretch: \"normal\", // TODO: Extract font-stretch from font rule (perhaps write proper parser for it?)\r\n weight: fontWeight,\r\n style: fontStyle\r\n };\r\n });\r\n\r\n var font = resolveFontFace(fontFaceMap, rules);\r\n this.pdf.setFont(font.ref.name, font.ref.style);\r\n return;\r\n }\r\n\r\n var style = \"\";\r\n if (\r\n fontWeight === \"bold\" ||\r\n parseInt(fontWeight, 10) >= 700 ||\r\n fontStyle === \"bold\"\r\n ) {\r\n style = \"bold\";\r\n }\r\n\r\n if (fontStyle === \"italic\") {\r\n style += \"italic\";\r\n }\r\n\r\n if (style.length === 0) {\r\n style = \"normal\";\r\n }\r\n var jsPdfFontName = \"\";\r\n\r\n var fallbackFonts = {\r\n arial: \"Helvetica\",\r\n Arial: \"Helvetica\",\r\n verdana: \"Helvetica\",\r\n Verdana: \"Helvetica\",\r\n helvetica: \"Helvetica\",\r\n Helvetica: \"Helvetica\",\r\n \"sans-serif\": \"Helvetica\",\r\n fixed: \"Courier\",\r\n monospace: \"Courier\",\r\n terminal: \"Courier\",\r\n cursive: \"Times\",\r\n fantasy: \"Times\",\r\n serif: \"Times\"\r\n };\r\n\r\n for (var i = 0; i < parts.length; i++) {\r\n if (\r\n this.pdf.internal.getFont(parts[i], style, {\r\n noFallback: true,\r\n disableWarning: true\r\n }) !== undefined\r\n ) {\r\n jsPdfFontName = parts[i];\r\n break;\r\n } else if (\r\n style === \"bolditalic\" &&\r\n this.pdf.internal.getFont(parts[i], \"bold\", {\r\n noFallback: true,\r\n disableWarning: true\r\n }) !== undefined\r\n ) {\r\n jsPdfFontName = parts[i];\r\n style = \"bold\";\r\n } else if (\r\n this.pdf.internal.getFont(parts[i], \"normal\", {\r\n noFallback: true,\r\n disableWarning: true\r\n }) !== undefined\r\n ) {\r\n jsPdfFontName = parts[i];\r\n style = \"normal\";\r\n break;\r\n }\r\n }\r\n if (jsPdfFontName === \"\") {\r\n for (var j = 0; j < parts.length; j++) {\r\n if (fallbackFonts[parts[j]]) {\r\n jsPdfFontName = fallbackFonts[parts[j]];\r\n break;\r\n }\r\n }\r\n }\r\n jsPdfFontName = jsPdfFontName === \"\" ? \"Times\" : jsPdfFontName;\r\n this.pdf.setFont(jsPdfFontName, style);\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"globalCompositeOperation\", {\r\n get: function() {\r\n return this.ctx.globalCompositeOperation;\r\n },\r\n set: function(value) {\r\n this.ctx.globalCompositeOperation = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"globalAlpha\", {\r\n get: function() {\r\n return this.ctx.globalAlpha;\r\n },\r\n set: function(value) {\r\n this.ctx.globalAlpha = value;\r\n }\r\n });\r\n\r\n /**\r\n * A float specifying the amount of the line dash offset. The default value is 0.0.\r\n *\r\n * @name lineDashOffset\r\n * @default 0.0\r\n */\r\n Object.defineProperty(this, \"lineDashOffset\", {\r\n get: function() {\r\n return this.ctx.lineDashOffset;\r\n },\r\n set: function(value) {\r\n this.ctx.lineDashOffset = value;\r\n setLineDash.call(this);\r\n }\r\n });\r\n\r\n // Not HTML API\r\n Object.defineProperty(this, \"lineDash\", {\r\n get: function() {\r\n return this.ctx.lineDash;\r\n },\r\n set: function(value) {\r\n this.ctx.lineDash = value;\r\n setLineDash.call(this);\r\n }\r\n });\r\n\r\n // Not HTML API\r\n Object.defineProperty(this, \"ignoreClearRect\", {\r\n get: function() {\r\n return this.ctx.ignoreClearRect;\r\n },\r\n set: function(value) {\r\n this.ctx.ignoreClearRect = Boolean(value);\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * Sets the line dash pattern used when stroking lines.\r\n * @name setLineDash\r\n * @function\r\n * @description It uses an array of values that specify alternating lengths of lines and gaps which describe the pattern.\r\n */\r\n Context2D.prototype.setLineDash = function(dashArray) {\r\n this.lineDash = dashArray;\r\n };\r\n\r\n /**\r\n * gets the current line dash pattern.\r\n * @name getLineDash\r\n * @function\r\n * @returns {Array} An Array of numbers that specify distances to alternately draw a line and a gap (in coordinate space units). If the number, when setting the elements, is odd, the elements of the array get copied and concatenated. For example, setting the line dash to [5, 15, 25] will result in getting back [5, 15, 25, 5, 15, 25].\r\n */\r\n Context2D.prototype.getLineDash = function() {\r\n if (this.lineDash.length % 2) {\r\n // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/getLineDash#return_value\r\n return this.lineDash.concat(this.lineDash);\r\n } else {\r\n // The copied value is returned to prevent contamination from outside.\r\n return this.lineDash.slice();\r\n }\r\n };\r\n\r\n Context2D.prototype.fill = function() {\r\n pathPreProcess.call(this, \"fill\", false);\r\n };\r\n\r\n /**\r\n * Actually draws the path you have defined\r\n *\r\n * @name stroke\r\n * @function\r\n * @description The stroke() method actually draws the path you have defined with all those moveTo() and lineTo() methods. The default color is black.\r\n */\r\n Context2D.prototype.stroke = function() {\r\n pathPreProcess.call(this, \"stroke\", false);\r\n };\r\n\r\n /**\r\n * Begins a path, or resets the current\r\n *\r\n * @name beginPath\r\n * @function\r\n * @description The beginPath() method begins a path, or resets the current path.\r\n */\r\n Context2D.prototype.beginPath = function() {\r\n this.path = [\r\n {\r\n type: \"begin\"\r\n }\r\n ];\r\n };\r\n\r\n /**\r\n * Moves the path to the specified point in the canvas, without creating a line\r\n *\r\n * @name moveTo\r\n * @function\r\n * @param x {Number} The x-coordinate of where to move the path to\r\n * @param y {Number} The y-coordinate of where to move the path to\r\n */\r\n Context2D.prototype.moveTo = function(x, y) {\r\n if (isNaN(x) || isNaN(y)) {\r\n console.error(\"jsPDF.context2d.moveTo: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.moveTo\");\r\n }\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(x, y));\r\n\r\n this.path.push({\r\n type: \"mt\",\r\n x: pt.x,\r\n y: pt.y\r\n });\r\n this.ctx.lastPoint = new Point(x, y);\r\n };\r\n\r\n /**\r\n * Creates a path from the current point back to the starting point\r\n *\r\n * @name closePath\r\n * @function\r\n * @description The closePath() method creates a path from the current point back to the starting point.\r\n */\r\n Context2D.prototype.closePath = function() {\r\n var pathBegin = new Point(0, 0);\r\n var i = 0;\r\n for (i = this.path.length - 1; i !== -1; i--) {\r\n if (this.path[i].type === \"begin\") {\r\n if (\r\n typeof this.path[i + 1] === \"object\" &&\r\n typeof this.path[i + 1].x === \"number\"\r\n ) {\r\n pathBegin = new Point(this.path[i + 1].x, this.path[i + 1].y);\r\n break;\r\n }\r\n }\r\n }\r\n this.path.push({\r\n type: \"close\"\r\n });\r\n this.ctx.lastPoint = new Point(pathBegin.x, pathBegin.y);\r\n };\r\n\r\n /**\r\n * Adds a new point and creates a line to that point from the last specified point in the canvas\r\n *\r\n * @name lineTo\r\n * @function\r\n * @param x The x-coordinate of where to create the line to\r\n * @param y The y-coordinate of where to create the line to\r\n * @description The lineTo() method adds a new point and creates a line TO that point FROM the last specified point in the canvas (this method does not draw the line).\r\n */\r\n Context2D.prototype.lineTo = function(x, y) {\r\n if (isNaN(x) || isNaN(y)) {\r\n console.error(\"jsPDF.context2d.lineTo: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.lineTo\");\r\n }\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(x, y));\r\n\r\n this.path.push({\r\n type: \"lt\",\r\n x: pt.x,\r\n y: pt.y\r\n });\r\n this.ctx.lastPoint = new Point(pt.x, pt.y);\r\n };\r\n\r\n /**\r\n * Clips a region of any shape and size from the original canvas\r\n *\r\n * @name clip\r\n * @function\r\n * @description The clip() method clips a region of any shape and size from the original canvas.\r\n */\r\n Context2D.prototype.clip = function() {\r\n this.ctx.clip_path = JSON.parse(JSON.stringify(this.path));\r\n pathPreProcess.call(this, null, true);\r\n };\r\n\r\n /**\r\n * Creates a cubic Bézier curve\r\n *\r\n * @name quadraticCurveTo\r\n * @function\r\n * @param cpx {Number} The x-coordinate of the Bézier control point\r\n * @param cpy {Number} The y-coordinate of the Bézier control point\r\n * @param x {Number} The x-coordinate of the ending point\r\n * @param y {Number} The y-coordinate of the ending point\r\n * @description The quadraticCurveTo() method adds a point to the current path by using the specified control points that represent a quadratic Bézier curve.

    A quadratic Bézier curve requires two points. The first point is a control point that is used in the quadratic Bézier calculation and the second point is the ending point for the curve. The starting point for the curve is the last point in the current path. If a path does not exist, use the beginPath() and moveTo() methods to define a starting point.\r\n */\r\n Context2D.prototype.quadraticCurveTo = function(cpx, cpy, x, y) {\r\n if (isNaN(x) || isNaN(y) || isNaN(cpx) || isNaN(cpy)) {\r\n console.error(\r\n \"jsPDF.context2d.quadraticCurveTo: Invalid arguments\",\r\n arguments\r\n );\r\n throw new Error(\r\n \"Invalid arguments passed to jsPDF.context2d.quadraticCurveTo\"\r\n );\r\n }\r\n\r\n var pt0 = this.ctx.transform.applyToPoint(new Point(x, y));\r\n var pt1 = this.ctx.transform.applyToPoint(new Point(cpx, cpy));\r\n\r\n this.path.push({\r\n type: \"qct\",\r\n x1: pt1.x,\r\n y1: pt1.y,\r\n x: pt0.x,\r\n y: pt0.y\r\n });\r\n this.ctx.lastPoint = new Point(pt0.x, pt0.y);\r\n };\r\n\r\n /**\r\n * Creates a cubic Bézier curve\r\n *\r\n * @name bezierCurveTo\r\n * @function\r\n * @param cp1x {Number} The x-coordinate of the first Bézier control point\r\n * @param cp1y {Number} The y-coordinate of the first Bézier control point\r\n * @param cp2x {Number} The x-coordinate of the second Bézier control point\r\n * @param cp2y {Number} The y-coordinate of the second Bézier control point\r\n * @param x {Number} The x-coordinate of the ending point\r\n * @param y {Number} The y-coordinate of the ending point\r\n * @description The bezierCurveTo() method adds a point to the current path by using the specified control points that represent a cubic Bézier curve.

    A cubic bezier curve requires three points. The first two points are control points that are used in the cubic Bézier calculation and the last point is the ending point for the curve. The starting point for the curve is the last point in the current path. If a path does not exist, use the beginPath() and moveTo() methods to define a starting point.\r\n */\r\n Context2D.prototype.bezierCurveTo = function(cp1x, cp1y, cp2x, cp2y, x, y) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(cp1x) ||\r\n isNaN(cp1y) ||\r\n isNaN(cp2x) ||\r\n isNaN(cp2y)\r\n ) {\r\n console.error(\r\n \"jsPDF.context2d.bezierCurveTo: Invalid arguments\",\r\n arguments\r\n );\r\n throw new Error(\r\n \"Invalid arguments passed to jsPDF.context2d.bezierCurveTo\"\r\n );\r\n }\r\n var pt0 = this.ctx.transform.applyToPoint(new Point(x, y));\r\n var pt1 = this.ctx.transform.applyToPoint(new Point(cp1x, cp1y));\r\n var pt2 = this.ctx.transform.applyToPoint(new Point(cp2x, cp2y));\r\n\r\n this.path.push({\r\n type: \"bct\",\r\n x1: pt1.x,\r\n y1: pt1.y,\r\n x2: pt2.x,\r\n y2: pt2.y,\r\n x: pt0.x,\r\n y: pt0.y\r\n });\r\n this.ctx.lastPoint = new Point(pt0.x, pt0.y);\r\n };\r\n\r\n /**\r\n * Creates an arc/curve (used to create circles, or parts of circles)\r\n *\r\n * @name arc\r\n * @function\r\n * @param x {Number} The x-coordinate of the center of the circle\r\n * @param y {Number} The y-coordinate of the center of the circle\r\n * @param radius {Number} The radius of the circle\r\n * @param startAngle {Number} The starting angle, in radians (0 is at the 3 o'clock position of the arc's circle)\r\n * @param endAngle {Number} The ending angle, in radians\r\n * @param counterclockwise {Boolean} Optional. Specifies whether the drawing should be counterclockwise or clockwise. False is default, and indicates clockwise, while true indicates counter-clockwise.\r\n * @description The arc() method creates an arc/curve (used to create circles, or parts of circles).\r\n */\r\n Context2D.prototype.arc = function(\r\n x,\r\n y,\r\n radius,\r\n startAngle,\r\n endAngle,\r\n counterclockwise\r\n ) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(radius) ||\r\n isNaN(startAngle) ||\r\n isNaN(endAngle)\r\n ) {\r\n console.error(\"jsPDF.context2d.arc: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.arc\");\r\n }\r\n counterclockwise = Boolean(counterclockwise);\r\n\r\n if (!this.ctx.transform.isIdentity) {\r\n var xpt = this.ctx.transform.applyToPoint(new Point(x, y));\r\n x = xpt.x;\r\n y = xpt.y;\r\n\r\n var x_radPt = this.ctx.transform.applyToPoint(new Point(0, radius));\r\n var x_radPt0 = this.ctx.transform.applyToPoint(new Point(0, 0));\r\n radius = Math.sqrt(\r\n Math.pow(x_radPt.x - x_radPt0.x, 2) +\r\n Math.pow(x_radPt.y - x_radPt0.y, 2)\r\n );\r\n }\r\n if (Math.abs(endAngle - startAngle) >= 2 * Math.PI) {\r\n startAngle = 0;\r\n endAngle = 2 * Math.PI;\r\n }\r\n\r\n this.path.push({\r\n type: \"arc\",\r\n x: x,\r\n y: y,\r\n radius: radius,\r\n startAngle: startAngle,\r\n endAngle: endAngle,\r\n counterclockwise: counterclockwise\r\n });\r\n // this.ctx.lastPoint(new Point(pt.x,pt.y));\r\n };\r\n\r\n /**\r\n * Creates an arc/curve between two tangents\r\n *\r\n * @name arcTo\r\n * @function\r\n * @param x1 {Number} The x-coordinate of the first tangent\r\n * @param y1 {Number} The y-coordinate of the first tangent\r\n * @param x2 {Number} The x-coordinate of the second tangent\r\n * @param y2 {Number} The y-coordinate of the second tangent\r\n * @param radius The radius of the arc\r\n * @description The arcTo() method creates an arc/curve between two tangents on the canvas.\r\n */\r\n // eslint-disable-next-line no-unused-vars\r\n Context2D.prototype.arcTo = function(x1, y1, x2, y2, radius) {\r\n throw new Error(\"arcTo not implemented.\");\r\n };\r\n\r\n /**\r\n * Creates a rectangle\r\n *\r\n * @name rect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle, in pixels\r\n * @param h {Number} The height of the rectangle, in pixels\r\n * @description The rect() method creates a rectangle.\r\n */\r\n Context2D.prototype.rect = function(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.rect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.rect\");\r\n }\r\n this.moveTo(x, y);\r\n this.lineTo(x + w, y);\r\n this.lineTo(x + w, y + h);\r\n this.lineTo(x, y + h);\r\n this.lineTo(x, y);\r\n this.lineTo(x + w, y);\r\n this.lineTo(x, y);\r\n };\r\n\r\n /**\r\n * Draws a \"filled\" rectangle\r\n *\r\n * @name fillRect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle, in pixels\r\n * @param h {Number} The height of the rectangle, in pixels\r\n * @description The fillRect() method draws a \"filled\" rectangle. The default color of the fill is black.\r\n */\r\n Context2D.prototype.fillRect = function(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.fillRect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.fillRect\");\r\n }\r\n if (isFillTransparent.call(this)) {\r\n return;\r\n }\r\n var tmp = {};\r\n if (this.lineCap !== \"butt\") {\r\n tmp.lineCap = this.lineCap;\r\n this.lineCap = \"butt\";\r\n }\r\n if (this.lineJoin !== \"miter\") {\r\n tmp.lineJoin = this.lineJoin;\r\n this.lineJoin = \"miter\";\r\n }\r\n\r\n this.beginPath();\r\n this.rect(x, y, w, h);\r\n this.fill();\r\n\r\n if (tmp.hasOwnProperty(\"lineCap\")) {\r\n this.lineCap = tmp.lineCap;\r\n }\r\n if (tmp.hasOwnProperty(\"lineJoin\")) {\r\n this.lineJoin = tmp.lineJoin;\r\n }\r\n };\r\n\r\n /**\r\n * Draws a rectangle (no fill)\r\n *\r\n * @name strokeRect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle, in pixels\r\n * @param h {Number} The height of the rectangle, in pixels\r\n * @description The strokeRect() method draws a rectangle (no fill). The default color of the stroke is black.\r\n */\r\n Context2D.prototype.strokeRect = function strokeRect(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.strokeRect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.strokeRect\");\r\n }\r\n if (isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n this.beginPath();\r\n this.rect(x, y, w, h);\r\n this.stroke();\r\n };\r\n\r\n /**\r\n * Clears the specified pixels within a given rectangle\r\n *\r\n * @name clearRect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle to clear, in pixels\r\n * @param h {Number} The height of the rectangle to clear, in pixels\r\n * @description We cannot clear PDF commands that were already written to PDF, so we use white instead.
    \r\n * As a special case, read a special flag (ignoreClearRect) and do nothing if it is set.\r\n * This results in all calls to clearRect() to do nothing, and keep the canvas transparent.\r\n * This flag is stored in the save/restore context and is managed the same way as other drawing states.\r\n *\r\n */\r\n Context2D.prototype.clearRect = function(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.clearRect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.clearRect\");\r\n }\r\n if (this.ignoreClearRect) {\r\n return;\r\n }\r\n\r\n this.fillStyle = \"#ffffff\";\r\n this.fillRect(x, y, w, h);\r\n };\r\n\r\n /**\r\n * Saves the state of the current context\r\n *\r\n * @name save\r\n * @function\r\n */\r\n Context2D.prototype.save = function(doStackPush) {\r\n doStackPush = typeof doStackPush === \"boolean\" ? doStackPush : true;\r\n var tmpPageNumber = this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n for (var i = 0; i < this.pdf.internal.getNumberOfPages(); i++) {\r\n this.pdf.setPage(i + 1);\r\n this.pdf.internal.out(\"q\");\r\n }\r\n this.pdf.setPage(tmpPageNumber);\r\n\r\n if (doStackPush) {\r\n this.ctx.fontSize = this.pdf.internal.getFontSize();\r\n var ctx = new ContextLayer(this.ctx);\r\n this.ctxStack.push(this.ctx);\r\n this.ctx = ctx;\r\n }\r\n };\r\n\r\n /**\r\n * Returns previously saved path state and attributes\r\n *\r\n * @name restore\r\n * @function\r\n */\r\n Context2D.prototype.restore = function(doStackPop) {\r\n doStackPop = typeof doStackPop === \"boolean\" ? doStackPop : true;\r\n var tmpPageNumber = this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n for (var i = 0; i < this.pdf.internal.getNumberOfPages(); i++) {\r\n this.pdf.setPage(i + 1);\r\n this.pdf.internal.out(\"Q\");\r\n }\r\n this.pdf.setPage(tmpPageNumber);\r\n\r\n if (doStackPop && this.ctxStack.length !== 0) {\r\n this.ctx = this.ctxStack.pop();\r\n this.fillStyle = this.ctx.fillStyle;\r\n this.strokeStyle = this.ctx.strokeStyle;\r\n this.font = this.ctx.font;\r\n this.lineCap = this.ctx.lineCap;\r\n this.lineWidth = this.ctx.lineWidth;\r\n this.lineJoin = this.ctx.lineJoin;\r\n this.lineDash = this.ctx.lineDash;\r\n this.lineDashOffset = this.ctx.lineDashOffset;\r\n }\r\n };\r\n\r\n /**\r\n * @name toDataURL\r\n * @function\r\n */\r\n Context2D.prototype.toDataURL = function() {\r\n throw new Error(\"toDataUrl not implemented.\");\r\n };\r\n\r\n //helper functions\r\n\r\n /**\r\n * Get the decimal values of r, g, b and a\r\n *\r\n * @name getRGBA\r\n * @function\r\n * @private\r\n * @ignore\r\n */\r\n var getRGBA = function(style) {\r\n var rxRgb = /rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)/;\r\n var rxRgba = /rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*([\\d.]+)\\s*\\)/;\r\n var rxTransparent = /transparent|rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*0+\\s*\\)/;\r\n\r\n var r, g, b, a;\r\n\r\n if (style.isCanvasGradient === true) {\r\n style = style.getColor();\r\n }\r\n\r\n if (!style) {\r\n return { r: 0, g: 0, b: 0, a: 0, style: style };\r\n }\r\n\r\n if (rxTransparent.test(style)) {\r\n r = 0;\r\n g = 0;\r\n b = 0;\r\n a = 0;\r\n } else {\r\n var matches = rxRgb.exec(style);\r\n if (matches !== null) {\r\n r = parseInt(matches[1]);\r\n g = parseInt(matches[2]);\r\n b = parseInt(matches[3]);\r\n a = 1;\r\n } else {\r\n matches = rxRgba.exec(style);\r\n if (matches !== null) {\r\n r = parseInt(matches[1]);\r\n g = parseInt(matches[2]);\r\n b = parseInt(matches[3]);\r\n a = parseFloat(matches[4]);\r\n } else {\r\n a = 1;\r\n\r\n if (typeof style === \"string\" && style.charAt(0) !== \"#\") {\r\n var rgbColor = new RGBColor(style);\r\n if (rgbColor.ok) {\r\n style = rgbColor.toHex();\r\n } else {\r\n style = \"#000000\";\r\n }\r\n }\r\n\r\n if (style.length === 4) {\r\n r = style.substring(1, 2);\r\n r += r;\r\n g = style.substring(2, 3);\r\n g += g;\r\n b = style.substring(3, 4);\r\n b += b;\r\n } else {\r\n r = style.substring(1, 3);\r\n g = style.substring(3, 5);\r\n b = style.substring(5, 7);\r\n }\r\n r = parseInt(r, 16);\r\n g = parseInt(g, 16);\r\n b = parseInt(b, 16);\r\n }\r\n }\r\n }\r\n return { r: r, g: g, b: b, a: a, style: style };\r\n };\r\n\r\n /**\r\n * @name isFillTransparent\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns {Boolean}\r\n */\r\n var isFillTransparent = function() {\r\n return this.ctx.isFillTransparent || this.globalAlpha == 0;\r\n };\r\n\r\n /**\r\n * @name isStrokeTransparent\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns {Boolean}\r\n */\r\n var isStrokeTransparent = function() {\r\n return Boolean(this.ctx.isStrokeTransparent || this.globalAlpha == 0);\r\n };\r\n\r\n /**\r\n * Draws \"filled\" text on the canvas\r\n *\r\n * @name fillText\r\n * @function\r\n * @param text {String} Specifies the text that will be written on the canvas\r\n * @param x {Number} The x coordinate where to start painting the text (relative to the canvas)\r\n * @param y {Number} The y coordinate where to start painting the text (relative to the canvas)\r\n * @param maxWidth {Number} Optional. The maximum allowed width of the text, in pixels\r\n * @description The fillText() method draws filled text on the canvas. The default color of the text is black.\r\n */\r\n Context2D.prototype.fillText = function(text, x, y, maxWidth) {\r\n if (isNaN(x) || isNaN(y) || typeof text !== \"string\") {\r\n console.error(\"jsPDF.context2d.fillText: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.fillText\");\r\n }\r\n maxWidth = isNaN(maxWidth) ? undefined : maxWidth;\r\n if (isFillTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n var degs = rad2deg(this.ctx.transform.rotation);\r\n\r\n // We only use X axis as scale hint\r\n var scale = this.ctx.transform.scaleX;\r\n\r\n putText.call(this, {\r\n text: text,\r\n x: x,\r\n y: y,\r\n scale: scale,\r\n angle: degs,\r\n align: this.textAlign,\r\n maxWidth: maxWidth\r\n });\r\n };\r\n\r\n /**\r\n * Draws text on the canvas (no fill)\r\n *\r\n * @name strokeText\r\n * @function\r\n * @param text {String} Specifies the text that will be written on the canvas\r\n * @param x {Number} The x coordinate where to start painting the text (relative to the canvas)\r\n * @param y {Number} The y coordinate where to start painting the text (relative to the canvas)\r\n * @param maxWidth {Number} Optional. The maximum allowed width of the text, in pixels\r\n * @description The strokeText() method draws text (with no fill) on the canvas. The default color of the text is black.\r\n */\r\n Context2D.prototype.strokeText = function(text, x, y, maxWidth) {\r\n if (isNaN(x) || isNaN(y) || typeof text !== \"string\") {\r\n console.error(\"jsPDF.context2d.strokeText: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.strokeText\");\r\n }\r\n if (isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n maxWidth = isNaN(maxWidth) ? undefined : maxWidth;\r\n\r\n var degs = rad2deg(this.ctx.transform.rotation);\r\n var scale = this.ctx.transform.scaleX;\r\n\r\n putText.call(this, {\r\n text: text,\r\n x: x,\r\n y: y,\r\n scale: scale,\r\n renderingMode: \"stroke\",\r\n angle: degs,\r\n align: this.textAlign,\r\n maxWidth: maxWidth\r\n });\r\n };\r\n\r\n /**\r\n * Returns an object that contains the width of the specified text\r\n *\r\n * @name measureText\r\n * @function\r\n * @param text {String} The text to be measured\r\n * @description The measureText() method returns an object that contains the width of the specified text, in pixels.\r\n * @returns {Number}\r\n */\r\n Context2D.prototype.measureText = function(text) {\r\n if (typeof text !== \"string\") {\r\n console.error(\r\n \"jsPDF.context2d.measureText: Invalid arguments\",\r\n arguments\r\n );\r\n throw new Error(\r\n \"Invalid arguments passed to jsPDF.context2d.measureText\"\r\n );\r\n }\r\n var pdf = this.pdf;\r\n var k = this.pdf.internal.scaleFactor;\r\n\r\n var fontSize = pdf.internal.getFontSize();\r\n var txtWidth =\r\n (pdf.getStringUnitWidth(text) * fontSize) / pdf.internal.scaleFactor;\r\n txtWidth *= Math.round(((k * 96) / 72) * 10000) / 10000;\r\n\r\n var TextMetrics = function(options) {\r\n options = options || {};\r\n var _width = options.width || 0;\r\n Object.defineProperty(this, \"width\", {\r\n get: function() {\r\n return _width;\r\n }\r\n });\r\n return this;\r\n };\r\n return new TextMetrics({ width: txtWidth });\r\n };\r\n\r\n //Transformations\r\n\r\n /**\r\n * Scales the current drawing bigger or smaller\r\n *\r\n * @name scale\r\n * @function\r\n * @param scalewidth {Number} Scales the width of the current drawing (1=100%, 0.5=50%, 2=200%, etc.)\r\n * @param scaleheight {Number} Scales the height of the current drawing (1=100%, 0.5=50%, 2=200%, etc.)\r\n * @description The scale() method scales the current drawing, bigger or smaller.\r\n */\r\n Context2D.prototype.scale = function(scalewidth, scaleheight) {\r\n if (isNaN(scalewidth) || isNaN(scaleheight)) {\r\n console.error(\"jsPDF.context2d.scale: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.scale\");\r\n }\r\n var matrix = new Matrix(scalewidth, 0.0, 0.0, scaleheight, 0.0, 0.0);\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Rotates the current drawing\r\n *\r\n * @name rotate\r\n * @function\r\n * @param angle {Number} The rotation angle, in radians.\r\n * @description To calculate from degrees to radians: degrees*Math.PI/180.
    \r\n * Example: to rotate 5 degrees, specify the following: 5*Math.PI/180\r\n */\r\n Context2D.prototype.rotate = function(angle) {\r\n if (isNaN(angle)) {\r\n console.error(\"jsPDF.context2d.rotate: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.rotate\");\r\n }\r\n var matrix = new Matrix(\r\n Math.cos(angle),\r\n Math.sin(angle),\r\n -Math.sin(angle),\r\n Math.cos(angle),\r\n 0.0,\r\n 0.0\r\n );\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Remaps the (0,0) position on the canvas\r\n *\r\n * @name translate\r\n * @function\r\n * @param x {Number} The value to add to horizontal (x) coordinates\r\n * @param y {Number} The value to add to vertical (y) coordinates\r\n * @description The translate() method remaps the (0,0) position on the canvas.\r\n */\r\n Context2D.prototype.translate = function(x, y) {\r\n if (isNaN(x) || isNaN(y)) {\r\n console.error(\"jsPDF.context2d.translate: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.translate\");\r\n }\r\n var matrix = new Matrix(1.0, 0.0, 0.0, 1.0, x, y);\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Replaces the current transformation matrix for the drawing\r\n *\r\n * @name transform\r\n * @function\r\n * @param a {Number} Horizontal scaling\r\n * @param b {Number} Horizontal skewing\r\n * @param c {Number} Vertical skewing\r\n * @param d {Number} Vertical scaling\r\n * @param e {Number} Horizontal moving\r\n * @param f {Number} Vertical moving\r\n * @description Each object on the canvas has a current transformation matrix.

    The transform() method replaces the current transformation matrix. It multiplies the current transformation matrix with the matrix described by:



    a c e

    b d f

    0 0 1

    In other words, the transform() method lets you scale, rotate, move, and skew the current context.\r\n */\r\n Context2D.prototype.transform = function(a, b, c, d, e, f) {\r\n if (isNaN(a) || isNaN(b) || isNaN(c) || isNaN(d) || isNaN(e) || isNaN(f)) {\r\n console.error(\"jsPDF.context2d.transform: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.transform\");\r\n }\r\n var matrix = new Matrix(a, b, c, d, e, f);\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Resets the current transform to the identity matrix. Then runs transform()\r\n *\r\n * @name setTransform\r\n * @function\r\n * @param a {Number} Horizontal scaling\r\n * @param b {Number} Horizontal skewing\r\n * @param c {Number} Vertical skewing\r\n * @param d {Number} Vertical scaling\r\n * @param e {Number} Horizontal moving\r\n * @param f {Number} Vertical moving\r\n * @description Each object on the canvas has a current transformation matrix.

    The setTransform() method resets the current transform to the identity matrix, and then runs transform() with the same arguments.

    In other words, the setTransform() method lets you scale, rotate, move, and skew the current context.\r\n */\r\n Context2D.prototype.setTransform = function(a, b, c, d, e, f) {\r\n a = isNaN(a) ? 1 : a;\r\n b = isNaN(b) ? 0 : b;\r\n c = isNaN(c) ? 0 : c;\r\n d = isNaN(d) ? 1 : d;\r\n e = isNaN(e) ? 0 : e;\r\n f = isNaN(f) ? 0 : f;\r\n this.ctx.transform = new Matrix(a, b, c, d, e, f);\r\n };\r\n\r\n /**\r\n * Should only be used if pageWrapYEnabled is true\r\n *\r\n * @name setPageByYPosition\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns One-based Page Number\r\n */\r\n var setPageByYPosition = function(y) {\r\n if (this.pageWrapYEnabled) {\r\n this.lastBreak = 0;\r\n var manualBreaks = 0;\r\n var autoBreaks = 0;\r\n for (var i = 0; i < this.pageBreaks.length; i++) {\r\n if (y >= this.pageBreaks[i]) {\r\n manualBreaks++;\r\n if (this.lastBreak === 0) {\r\n autoBreaks++;\r\n }\r\n var spaceBetweenLastBreak = this.pageBreaks[i] - this.lastBreak;\r\n this.lastBreak = this.pageBreaks[i];\r\n var pagesSinceLastBreak = Math.floor(\r\n spaceBetweenLastBreak / this.pageWrapY\r\n );\r\n autoBreaks += pagesSinceLastBreak;\r\n }\r\n }\r\n if (this.lastBreak === 0) {\r\n var pagesSinceLastBreak = Math.floor(y / this.pageWrapY) + 1;\r\n autoBreaks += pagesSinceLastBreak;\r\n }\r\n return autoBreaks + manualBreaks;\r\n } else {\r\n return this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n }\r\n };\r\n\r\n var hasMargins = function() {\r\n return (\r\n this.margin[0] > 0 ||\r\n this.margin[1] > 0 ||\r\n this.margin[2] > 0 ||\r\n this.margin[3] > 0\r\n );\r\n };\r\n\r\n /**\r\n * Draws an image, canvas, or video onto the canvas\r\n *\r\n * @function\r\n * @param img {} Specifies the image, canvas, or video element to use\r\n * @param sx {Number} Optional. The x coordinate where to start clipping\r\n * @param sy {Number} Optional. The y coordinate where to start clipping\r\n * @param swidth {Number} Optional. The width of the clipped image\r\n * @param sheight {Number} Optional. The height of the clipped image\r\n * @param x {Number} The x coordinate where to place the image on the canvas\r\n * @param y {Number} The y coordinate where to place the image on the canvas\r\n * @param width {Number} Optional. The width of the image to use (stretch or reduce the image)\r\n * @param height {Number} Optional. The height of the image to use (stretch or reduce the image)\r\n */\r\n Context2D.prototype.drawImage = function(\r\n img,\r\n sx,\r\n sy,\r\n swidth,\r\n sheight,\r\n x,\r\n y,\r\n width,\r\n height\r\n ) {\r\n var imageProperties = this.pdf.getImageProperties(img);\r\n var factorX = 1;\r\n var factorY = 1;\r\n var isClip;\r\n\r\n var clipFactorX = 1;\r\n var clipFactorY = 1;\r\n\r\n if (typeof swidth !== \"undefined\" && typeof width !== \"undefined\") {\r\n isClip = true;\r\n clipFactorX = width / swidth;\r\n clipFactorY = height / sheight;\r\n factorX = ((imageProperties.width / swidth) * width) / swidth;\r\n factorY = ((imageProperties.height / sheight) * height) / sheight;\r\n }\r\n\r\n //is sx and sy are set and x and y not, set x and y with values of sx and sy\r\n if (typeof x === \"undefined\") {\r\n x = sx;\r\n y = sy;\r\n sx = 0;\r\n sy = 0;\r\n }\r\n\r\n if (typeof swidth !== \"undefined\" && typeof width === \"undefined\") {\r\n width = swidth;\r\n height = sheight;\r\n }\r\n if (typeof swidth === \"undefined\" && typeof width === \"undefined\") {\r\n width = imageProperties.width;\r\n height = imageProperties.height;\r\n }\r\n\r\n var decomposedTransformationMatrix = this.ctx.transform.decompose();\r\n var angle = rad2deg(decomposedTransformationMatrix.rotate.shx);\r\n var matrix = new Matrix();\r\n matrix = matrix.multiply(decomposedTransformationMatrix.translate);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.skew);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.scale);\r\n var xRect = matrix.applyToRectangle(\r\n new Rectangle(\r\n x - sx * clipFactorX,\r\n y - sy * clipFactorY,\r\n swidth * factorX,\r\n sheight * factorY\r\n )\r\n );\r\n var pageArray = getPagesByPath.call(this, xRect);\r\n var pages = [];\r\n for (var ii = 0; ii < pageArray.length; ii += 1) {\r\n if (pages.indexOf(pageArray[ii]) === -1) {\r\n pages.push(pageArray[ii]);\r\n }\r\n }\r\n\r\n sortPages(pages);\r\n\r\n var clipPath;\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var i = min; i < max + 1; i++) {\r\n this.pdf.setPage(i);\r\n\r\n var pageWidthMinusMargins =\r\n this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1];\r\n var topMargin = i === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusMargins =\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var previousPageHeightSum =\r\n i === 1 ? 0 : firstPageHeight + (i - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n drawPaths.call(this, \"fill\", true);\r\n this.path = tmpPaths;\r\n }\r\n var tmpRect = JSON.parse(JSON.stringify(xRect));\r\n tmpRect = pathPositionRedo(\r\n [tmpRect],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n const needsClipping = (i > min || i < max) && hasMargins.call(this);\r\n\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n this.pdf.addImage(\r\n img,\r\n \"JPEG\",\r\n tmpRect.x,\r\n tmpRect.y,\r\n tmpRect.w,\r\n tmpRect.h,\r\n null,\r\n null,\r\n angle\r\n );\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n } else {\r\n this.pdf.addImage(\r\n img,\r\n \"JPEG\",\r\n xRect.x,\r\n xRect.y,\r\n xRect.w,\r\n xRect.h,\r\n null,\r\n null,\r\n angle\r\n );\r\n }\r\n };\r\n\r\n var getPagesByPath = function(path, pageWrapX, pageWrapY) {\r\n var result = [];\r\n pageWrapX = pageWrapX || this.pdf.internal.pageSize.width;\r\n pageWrapY =\r\n pageWrapY ||\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var yOffset = this.posY + this.ctx.prevPageLastElemOffset;\r\n\r\n switch (path.type) {\r\n default:\r\n case \"mt\":\r\n case \"lt\":\r\n result.push(Math.floor((path.y + yOffset) / pageWrapY) + 1);\r\n break;\r\n case \"arc\":\r\n result.push(\r\n Math.floor((path.y + yOffset - path.radius) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor((path.y + yOffset + path.radius) / pageWrapY) + 1\r\n );\r\n break;\r\n case \"qct\":\r\n var rectOfQuadraticCurve = getQuadraticCurveBoundary(\r\n this.ctx.lastPoint.x,\r\n this.ctx.lastPoint.y,\r\n path.x1,\r\n path.y1,\r\n path.x,\r\n path.y\r\n );\r\n result.push(\r\n Math.floor((rectOfQuadraticCurve.y + yOffset) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor(\r\n (rectOfQuadraticCurve.y + rectOfQuadraticCurve.h + yOffset) /\r\n pageWrapY\r\n ) + 1\r\n );\r\n break;\r\n case \"bct\":\r\n var rectOfBezierCurve = getBezierCurveBoundary(\r\n this.ctx.lastPoint.x,\r\n this.ctx.lastPoint.y,\r\n path.x1,\r\n path.y1,\r\n path.x2,\r\n path.y2,\r\n path.x,\r\n path.y\r\n );\r\n result.push(\r\n Math.floor((rectOfBezierCurve.y + yOffset) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor(\r\n (rectOfBezierCurve.y + rectOfBezierCurve.h + yOffset) / pageWrapY\r\n ) + 1\r\n );\r\n break;\r\n case \"rect\":\r\n result.push(Math.floor((path.y + yOffset) / pageWrapY) + 1);\r\n result.push(Math.floor((path.y + path.h + yOffset) / pageWrapY) + 1);\r\n }\r\n\r\n for (var i = 0; i < result.length; i += 1) {\r\n while (this.pdf.internal.getNumberOfPages() < result[i]) {\r\n addPage.call(this);\r\n }\r\n }\r\n return result;\r\n };\r\n\r\n var addPage = function() {\r\n var fillStyle = this.fillStyle;\r\n var strokeStyle = this.strokeStyle;\r\n var font = this.font;\r\n var lineCap = this.lineCap;\r\n var lineWidth = this.lineWidth;\r\n var lineJoin = this.lineJoin;\r\n this.pdf.addPage();\r\n this.fillStyle = fillStyle;\r\n this.strokeStyle = strokeStyle;\r\n this.font = font;\r\n this.lineCap = lineCap;\r\n this.lineWidth = lineWidth;\r\n this.lineJoin = lineJoin;\r\n };\r\n\r\n var pathPositionRedo = function(paths, x, y) {\r\n for (var i = 0; i < paths.length; i++) {\r\n switch (paths[i].type) {\r\n case \"bct\":\r\n paths[i].x2 += x;\r\n paths[i].y2 += y;\r\n case \"qct\":\r\n paths[i].x1 += x;\r\n paths[i].y1 += y;\r\n case \"mt\":\r\n case \"lt\":\r\n case \"arc\":\r\n default:\r\n paths[i].x += x;\r\n paths[i].y += y;\r\n }\r\n }\r\n return paths;\r\n };\r\n\r\n var sortPages = function(pages) {\r\n return pages.sort(function(a, b) {\r\n return a - b;\r\n });\r\n };\r\n\r\n var pathPreProcess = function(rule, isClip) {\r\n var fillStyle = this.fillStyle;\r\n var strokeStyle = this.strokeStyle;\r\n var lineCap = this.lineCap;\r\n var oldLineWidth = this.lineWidth;\r\n var lineWidth = Math.abs(oldLineWidth * this.ctx.transform.scaleX);\r\n var lineJoin = this.lineJoin;\r\n\r\n var origPath = JSON.parse(JSON.stringify(this.path));\r\n var xPath = JSON.parse(JSON.stringify(this.path));\r\n var clipPath;\r\n var tmpPath;\r\n var pages = [];\r\n\r\n for (var i = 0; i < xPath.length; i++) {\r\n if (typeof xPath[i].x !== \"undefined\") {\r\n var page = getPagesByPath.call(this, xPath[i]);\r\n\r\n for (var ii = 0; ii < page.length; ii += 1) {\r\n if (pages.indexOf(page[ii]) === -1) {\r\n pages.push(page[ii]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n for (var j = 0; j < pages.length; j++) {\r\n while (this.pdf.internal.getNumberOfPages() < pages[j]) {\r\n addPage.call(this);\r\n }\r\n }\r\n sortPages(pages);\r\n\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var k = min; k < max + 1; k++) {\r\n this.pdf.setPage(k);\r\n\r\n this.fillStyle = fillStyle;\r\n this.strokeStyle = strokeStyle;\r\n this.lineCap = lineCap;\r\n this.lineWidth = lineWidth;\r\n this.lineJoin = lineJoin;\r\n\r\n var pageWidthMinusMargins =\r\n this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1];\r\n var topMargin = k === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusMargins =\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var previousPageHeightSum =\r\n k === 1 ? 0 : firstPageHeight + (k - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n drawPaths.call(this, rule, true);\r\n this.path = tmpPaths;\r\n }\r\n tmpPath = JSON.parse(JSON.stringify(origPath));\r\n this.path = pathPositionRedo(\r\n tmpPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n if (isClip === false || k === 0) {\r\n const needsClipping = (k > min || k < max) && hasMargins.call(this);\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n drawPaths.call(this, rule, isClip);\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n this.lineWidth = oldLineWidth;\r\n }\r\n } else {\r\n this.lineWidth = lineWidth;\r\n drawPaths.call(this, rule, isClip);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n this.path = origPath;\r\n };\r\n\r\n /**\r\n * Processes the paths\r\n *\r\n * @function\r\n * @param rule {String}\r\n * @param isClip {Boolean}\r\n * @private\r\n * @ignore\r\n */\r\n var drawPaths = function(rule, isClip) {\r\n if (rule === \"stroke\" && !isClip && isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n if (rule !== \"stroke\" && !isClip && isFillTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n var moves = [];\r\n\r\n //var alpha = (this.ctx.fillOpacity < 1) ? this.ctx.fillOpacity : this.ctx.globalAlpha;\r\n var delta;\r\n var xPath = this.path;\r\n for (var i = 0; i < xPath.length; i++) {\r\n var pt = xPath[i];\r\n\r\n switch (pt.type) {\r\n case \"begin\":\r\n moves.push({\r\n begin: true\r\n });\r\n break;\r\n\r\n case \"close\":\r\n moves.push({\r\n close: true\r\n });\r\n break;\r\n\r\n case \"mt\":\r\n moves.push({\r\n start: pt,\r\n deltas: [],\r\n abs: []\r\n });\r\n break;\r\n\r\n case \"lt\":\r\n var iii = moves.length;\r\n if (xPath[i - 1] && !isNaN(xPath[i - 1].x)) {\r\n delta = [pt.x - xPath[i - 1].x, pt.y - xPath[i - 1].y];\r\n if (iii > 0) {\r\n for (iii; iii >= 0; iii--) {\r\n if (\r\n moves[iii - 1].close !== true &&\r\n moves[iii - 1].begin !== true\r\n ) {\r\n moves[iii - 1].deltas.push(delta);\r\n moves[iii - 1].abs.push(pt);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n\r\n case \"bct\":\r\n delta = [\r\n pt.x1 - xPath[i - 1].x,\r\n pt.y1 - xPath[i - 1].y,\r\n pt.x2 - xPath[i - 1].x,\r\n pt.y2 - xPath[i - 1].y,\r\n pt.x - xPath[i - 1].x,\r\n pt.y - xPath[i - 1].y\r\n ];\r\n moves[moves.length - 1].deltas.push(delta);\r\n break;\r\n\r\n case \"qct\":\r\n var x1 = xPath[i - 1].x + (2.0 / 3.0) * (pt.x1 - xPath[i - 1].x);\r\n var y1 = xPath[i - 1].y + (2.0 / 3.0) * (pt.y1 - xPath[i - 1].y);\r\n var x2 = pt.x + (2.0 / 3.0) * (pt.x1 - pt.x);\r\n var y2 = pt.y + (2.0 / 3.0) * (pt.y1 - pt.y);\r\n var x3 = pt.x;\r\n var y3 = pt.y;\r\n delta = [\r\n x1 - xPath[i - 1].x,\r\n y1 - xPath[i - 1].y,\r\n x2 - xPath[i - 1].x,\r\n y2 - xPath[i - 1].y,\r\n x3 - xPath[i - 1].x,\r\n y3 - xPath[i - 1].y\r\n ];\r\n moves[moves.length - 1].deltas.push(delta);\r\n break;\r\n\r\n case \"arc\":\r\n moves.push({\r\n deltas: [],\r\n abs: [],\r\n arc: true\r\n });\r\n\r\n if (Array.isArray(moves[moves.length - 1].abs)) {\r\n moves[moves.length - 1].abs.push(pt);\r\n }\r\n break;\r\n }\r\n }\r\n var style;\r\n if (!isClip) {\r\n if (rule === \"stroke\") {\r\n style = \"stroke\";\r\n } else {\r\n style = \"fill\";\r\n }\r\n } else {\r\n style = null;\r\n }\r\n\r\n var began = false;\r\n for (var k = 0; k < moves.length; k++) {\r\n if (moves[k].arc) {\r\n var arcs = moves[k].abs;\r\n\r\n for (var ii = 0; ii < arcs.length; ii++) {\r\n var arc = arcs[ii];\r\n\r\n if (arc.type === \"arc\") {\r\n drawArc.call(\r\n this,\r\n arc.x,\r\n arc.y,\r\n arc.radius,\r\n arc.startAngle,\r\n arc.endAngle,\r\n arc.counterclockwise,\r\n undefined,\r\n isClip,\r\n !began\r\n );\r\n } else {\r\n drawLine.call(this, arc.x, arc.y);\r\n }\r\n began = true;\r\n }\r\n } else if (moves[k].close === true) {\r\n this.pdf.internal.out(\"h\");\r\n began = false;\r\n } else if (moves[k].begin !== true) {\r\n var x = moves[k].start.x;\r\n var y = moves[k].start.y;\r\n drawLines.call(this, moves[k].deltas, x, y);\r\n began = true;\r\n }\r\n }\r\n\r\n if (style) {\r\n putStyle.call(this, style);\r\n }\r\n if (isClip) {\r\n doClip.call(this);\r\n }\r\n };\r\n\r\n var getBaseline = function(y) {\r\n var height =\r\n this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor;\r\n var descent = height * (this.pdf.internal.getLineHeightFactor() - 1);\r\n switch (this.ctx.textBaseline) {\r\n case \"bottom\":\r\n return y - descent;\r\n case \"top\":\r\n return y + height - descent;\r\n case \"hanging\":\r\n return y + height - 2 * descent;\r\n case \"middle\":\r\n return y + height / 2 - descent;\r\n case \"ideographic\":\r\n // TODO not implemented\r\n return y;\r\n case \"alphabetic\":\r\n default:\r\n return y;\r\n }\r\n };\r\n\r\n var getTextBottom = function(yBaseLine) {\r\n var height =\r\n this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor;\r\n var descent = height * (this.pdf.internal.getLineHeightFactor() - 1);\r\n return yBaseLine + descent;\r\n };\r\n\r\n Context2D.prototype.createLinearGradient = function createLinearGradient() {\r\n var canvasGradient = function canvasGradient() {};\r\n\r\n canvasGradient.colorStops = [];\r\n canvasGradient.addColorStop = function(offset, color) {\r\n this.colorStops.push([offset, color]);\r\n };\r\n\r\n canvasGradient.getColor = function() {\r\n if (this.colorStops.length === 0) {\r\n return \"#000000\";\r\n }\r\n\r\n return this.colorStops[0][1];\r\n };\r\n\r\n canvasGradient.isCanvasGradient = true;\r\n return canvasGradient;\r\n };\r\n Context2D.prototype.createPattern = function createPattern() {\r\n return this.createLinearGradient();\r\n };\r\n Context2D.prototype.createRadialGradient = function createRadialGradient() {\r\n return this.createLinearGradient();\r\n };\r\n\r\n /**\r\n *\r\n * @param x Edge point X\r\n * @param y Edge point Y\r\n * @param r Radius\r\n * @param a1 start angle\r\n * @param a2 end angle\r\n * @param counterclockwise\r\n * @param style\r\n * @param isClip\r\n */\r\n var drawArc = function(\r\n x,\r\n y,\r\n r,\r\n a1,\r\n a2,\r\n counterclockwise,\r\n style,\r\n isClip,\r\n includeMove\r\n ) {\r\n // http://hansmuller-flex.blogspot.com/2011/10/more-about-approximating-circular-arcs.html\r\n var curves = createArc.call(this, r, a1, a2, counterclockwise);\r\n\r\n for (var i = 0; i < curves.length; i++) {\r\n var curve = curves[i];\r\n if (i === 0) {\r\n if (includeMove) {\r\n doMove.call(this, curve.x1 + x, curve.y1 + y);\r\n } else {\r\n drawLine.call(this, curve.x1 + x, curve.y1 + y);\r\n }\r\n }\r\n drawCurve.call(\r\n this,\r\n x,\r\n y,\r\n curve.x2,\r\n curve.y2,\r\n curve.x3,\r\n curve.y3,\r\n curve.x4,\r\n curve.y4\r\n );\r\n }\r\n\r\n if (!isClip) {\r\n putStyle.call(this, style);\r\n } else {\r\n doClip.call(this);\r\n }\r\n };\r\n\r\n var putStyle = function(style) {\r\n switch (style) {\r\n case \"stroke\":\r\n this.pdf.internal.out(\"S\");\r\n break;\r\n case \"fill\":\r\n this.pdf.internal.out(\"f\");\r\n break;\r\n }\r\n };\r\n\r\n var doClip = function() {\r\n this.pdf.clip();\r\n this.pdf.discardPath();\r\n };\r\n\r\n var doMove = function(x, y) {\r\n this.pdf.internal.out(\r\n getHorizontalCoordinateString(x) +\r\n \" \" +\r\n getVerticalCoordinateString(y) +\r\n \" m\"\r\n );\r\n };\r\n\r\n var putText = function(options) {\r\n var textAlign;\r\n switch (options.align) {\r\n case \"right\":\r\n case \"end\":\r\n textAlign = \"right\";\r\n break;\r\n case \"center\":\r\n textAlign = \"center\";\r\n break;\r\n case \"left\":\r\n case \"start\":\r\n default:\r\n textAlign = \"left\";\r\n break;\r\n }\r\n\r\n var textDimensions = this.pdf.getTextDimensions(options.text);\r\n var yBaseLine = getBaseline.call(this, options.y);\r\n var yBottom = getTextBottom.call(this, yBaseLine);\r\n var yTop = yBottom - textDimensions.h;\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(options.x, yBaseLine));\r\n var decomposedTransformationMatrix = this.ctx.transform.decompose();\r\n var matrix = new Matrix();\r\n matrix = matrix.multiply(decomposedTransformationMatrix.translate);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.skew);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.scale);\r\n\r\n var baselineRect = this.ctx.transform.applyToRectangle(\r\n new Rectangle(options.x, yBaseLine, textDimensions.w, textDimensions.h)\r\n );\r\n var textBounds = matrix.applyToRectangle(\r\n new Rectangle(options.x, yTop, textDimensions.w, textDimensions.h)\r\n );\r\n var pageArray = getPagesByPath.call(this, textBounds);\r\n var pages = [];\r\n for (var ii = 0; ii < pageArray.length; ii += 1) {\r\n if (pages.indexOf(pageArray[ii]) === -1) {\r\n pages.push(pageArray[ii]);\r\n }\r\n }\r\n\r\n sortPages(pages);\r\n\r\n var clipPath, oldSize, oldLineWidth;\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var i = min; i < max + 1; i++) {\r\n this.pdf.setPage(i);\r\n\r\n var topMargin = i === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusBottomMargin =\r\n this.pdf.internal.pageSize.height - this.margin[2];\r\n var pageHeightMinusMargins =\r\n pageHeightMinusBottomMargin - this.margin[0];\r\n var pageWidthMinusRightMargin =\r\n this.pdf.internal.pageSize.width - this.margin[1];\r\n var pageWidthMinusMargins = pageWidthMinusRightMargin - this.margin[3];\r\n var previousPageHeightSum =\r\n i === 1 ? 0 : firstPageHeight + (i - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -1 * previousPageHeightSum + topMargin\r\n );\r\n drawPaths.call(this, \"fill\", true);\r\n this.path = tmpPaths;\r\n }\r\n var textBoundsOnPage = pathPositionRedo(\r\n [JSON.parse(JSON.stringify(textBounds))],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n if (options.scale >= 0.01) {\r\n oldSize = this.pdf.internal.getFontSize();\r\n this.pdf.setFontSize(oldSize * options.scale);\r\n oldLineWidth = this.lineWidth;\r\n this.lineWidth = oldLineWidth * options.scale;\r\n }\r\n\r\n var doSlice = this.autoPaging !== \"text\";\r\n\r\n if (\r\n doSlice ||\r\n textBoundsOnPage.y + textBoundsOnPage.h <= pageHeightMinusBottomMargin\r\n ) {\r\n if (\r\n doSlice ||\r\n (textBoundsOnPage.y >= topMargin &&\r\n textBoundsOnPage.x <= pageWidthMinusRightMargin)\r\n ) {\r\n var croppedText = doSlice\r\n ? options.text\r\n : this.pdf.splitTextToSize(\r\n options.text,\r\n options.maxWidth ||\r\n pageWidthMinusRightMargin - textBoundsOnPage.x\r\n )[0];\r\n var baseLineRectOnPage = pathPositionRedo(\r\n [JSON.parse(JSON.stringify(baselineRect))],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum +\r\n topMargin +\r\n this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n const needsClipping =\r\n doSlice && (i > min || i < max) && hasMargins.call(this);\r\n\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n\r\n this.pdf.text(\r\n croppedText,\r\n baseLineRectOnPage.x,\r\n baseLineRectOnPage.y,\r\n {\r\n angle: options.angle,\r\n align: textAlign,\r\n renderingMode: options.renderingMode\r\n }\r\n );\r\n\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n } else {\r\n // This text is the last element of the page, but it got cut off due to the margin\r\n // so we render it in the next page\r\n\r\n if (textBoundsOnPage.y < pageHeightMinusBottomMargin) {\r\n // As a result, all other elements have their y offset increased\r\n this.ctx.prevPageLastElemOffset +=\r\n pageHeightMinusBottomMargin - textBoundsOnPage.y;\r\n }\r\n }\r\n\r\n if (options.scale >= 0.01) {\r\n this.pdf.setFontSize(oldSize);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n }\r\n } else {\r\n if (options.scale >= 0.01) {\r\n oldSize = this.pdf.internal.getFontSize();\r\n this.pdf.setFontSize(oldSize * options.scale);\r\n oldLineWidth = this.lineWidth;\r\n this.lineWidth = oldLineWidth * options.scale;\r\n }\r\n this.pdf.text(options.text, pt.x + this.posX, pt.y + this.posY, {\r\n angle: options.angle,\r\n align: textAlign,\r\n renderingMode: options.renderingMode,\r\n maxWidth: options.maxWidth\r\n });\r\n\r\n if (options.scale >= 0.01) {\r\n this.pdf.setFontSize(oldSize);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n }\r\n };\r\n\r\n var drawLine = function(x, y, prevX, prevY) {\r\n prevX = prevX || 0;\r\n prevY = prevY || 0;\r\n\r\n this.pdf.internal.out(\r\n getHorizontalCoordinateString(x + prevX) +\r\n \" \" +\r\n getVerticalCoordinateString(y + prevY) +\r\n \" l\"\r\n );\r\n };\r\n\r\n var drawLines = function(lines, x, y) {\r\n return this.pdf.lines(lines, x, y, null, null);\r\n };\r\n\r\n var drawCurve = function(x, y, x1, y1, x2, y2, x3, y3) {\r\n this.pdf.internal.out(\r\n [\r\n f2(getHorizontalCoordinate(x1 + x)),\r\n f2(getVerticalCoordinate(y1 + y)),\r\n f2(getHorizontalCoordinate(x2 + x)),\r\n f2(getVerticalCoordinate(y2 + y)),\r\n f2(getHorizontalCoordinate(x3 + x)),\r\n f2(getVerticalCoordinate(y3 + y)),\r\n \"c\"\r\n ].join(\" \")\r\n );\r\n };\r\n\r\n /**\r\n * Return a array of objects that represent bezier curves which approximate the circular arc centered at the origin, from startAngle to endAngle (radians) with the specified radius.\r\n *\r\n * Each bezier curve is an object with four points, where x1,y1 and x4,y4 are the arc's end points and x2,y2 and x3,y3 are the cubic bezier's control points.\r\n * @function createArc\r\n */\r\n var createArc = function(radius, startAngle, endAngle, anticlockwise) {\r\n var EPSILON = 0.00001; // Roughly 1/1000th of a degree, see below\r\n var twoPi = Math.PI * 2;\r\n var halfPi = Math.PI / 2.0;\r\n\r\n while (startAngle > endAngle) {\r\n startAngle = startAngle - twoPi;\r\n }\r\n var totalAngle = Math.abs(endAngle - startAngle);\r\n if (totalAngle < twoPi) {\r\n if (anticlockwise) {\r\n totalAngle = twoPi - totalAngle;\r\n }\r\n }\r\n\r\n // Compute the sequence of arc curves, up to PI/2 at a time.\r\n var curves = [];\r\n\r\n // clockwise or counterclockwise\r\n var sgn = anticlockwise ? -1 : +1;\r\n\r\n var a1 = startAngle;\r\n for (; totalAngle > EPSILON; ) {\r\n var remain = sgn * Math.min(totalAngle, halfPi);\r\n var a2 = a1 + remain;\r\n curves.push(createSmallArc.call(this, radius, a1, a2));\r\n totalAngle -= Math.abs(a2 - a1);\r\n a1 = a2;\r\n }\r\n\r\n return curves;\r\n };\r\n\r\n /**\r\n * Cubic bezier approximation of a circular arc centered at the origin, from (radians) a1 to a2, where a2-a1 < pi/2. The arc's radius is r.\r\n *\r\n * Returns an object with four points, where x1,y1 and x4,y4 are the arc's end points and x2,y2 and x3,y3 are the cubic bezier's control points.\r\n *\r\n * This algorithm is based on the approach described in: A. Riškus, \"Approximation of a Cubic Bezier Curve by Circular Arcs and Vice Versa,\" Information Technology and Control, 35(4), 2006 pp. 371-378.\r\n */\r\n var createSmallArc = function(r, a1, a2) {\r\n var a = (a2 - a1) / 2.0;\r\n\r\n var x4 = r * Math.cos(a);\r\n var y4 = r * Math.sin(a);\r\n var x1 = x4;\r\n var y1 = -y4;\r\n\r\n var q1 = x1 * x1 + y1 * y1;\r\n var q2 = q1 + x1 * x4 + y1 * y4;\r\n var k2 = ((4 / 3) * (Math.sqrt(2 * q1 * q2) - q2)) / (x1 * y4 - y1 * x4);\r\n\r\n var x2 = x1 - k2 * y1;\r\n var y2 = y1 + k2 * x1;\r\n var x3 = x2;\r\n var y3 = -y2;\r\n\r\n var ar = a + a1;\r\n var cos_ar = Math.cos(ar);\r\n var sin_ar = Math.sin(ar);\r\n\r\n return {\r\n x1: r * Math.cos(a1),\r\n y1: r * Math.sin(a1),\r\n x2: x2 * cos_ar - y2 * sin_ar,\r\n y2: x2 * sin_ar + y2 * cos_ar,\r\n x3: x3 * cos_ar - y3 * sin_ar,\r\n y3: x3 * sin_ar + y3 * cos_ar,\r\n x4: r * Math.cos(a2),\r\n y4: r * Math.sin(a2)\r\n };\r\n };\r\n\r\n var rad2deg = function(value) {\r\n return (value * 180) / Math.PI;\r\n };\r\n\r\n var getQuadraticCurveBoundary = function(sx, sy, cpx, cpy, ex, ey) {\r\n var midX1 = sx + (cpx - sx) * 0.5;\r\n var midY1 = sy + (cpy - sy) * 0.5;\r\n var midX2 = ex + (cpx - ex) * 0.5;\r\n var midY2 = ey + (cpy - ey) * 0.5;\r\n var resultX1 = Math.min(sx, ex, midX1, midX2);\r\n var resultX2 = Math.max(sx, ex, midX1, midX2);\r\n var resultY1 = Math.min(sy, ey, midY1, midY2);\r\n var resultY2 = Math.max(sy, ey, midY1, midY2);\r\n return new Rectangle(\r\n resultX1,\r\n resultY1,\r\n resultX2 - resultX1,\r\n resultY2 - resultY1\r\n );\r\n };\r\n\r\n //De Casteljau algorithm\r\n var getBezierCurveBoundary = function(ax, ay, bx, by, cx, cy, dx, dy) {\r\n var tobx = bx - ax;\r\n var toby = by - ay;\r\n var tocx = cx - bx;\r\n var tocy = cy - by;\r\n var todx = dx - cx;\r\n var tody = dy - cy;\r\n var precision = 40;\r\n var d,\r\n i,\r\n px,\r\n py,\r\n qx,\r\n qy,\r\n rx,\r\n ry,\r\n tx,\r\n ty,\r\n sx,\r\n sy,\r\n x,\r\n y,\r\n minx,\r\n miny,\r\n maxx,\r\n maxy,\r\n toqx,\r\n toqy,\r\n torx,\r\n tory,\r\n totx,\r\n toty;\r\n for (i = 0; i < precision + 1; i++) {\r\n d = i / precision;\r\n px = ax + d * tobx;\r\n py = ay + d * toby;\r\n qx = bx + d * tocx;\r\n qy = by + d * tocy;\r\n rx = cx + d * todx;\r\n ry = cy + d * tody;\r\n toqx = qx - px;\r\n toqy = qy - py;\r\n torx = rx - qx;\r\n tory = ry - qy;\r\n\r\n sx = px + d * toqx;\r\n sy = py + d * toqy;\r\n tx = qx + d * torx;\r\n ty = qy + d * tory;\r\n totx = tx - sx;\r\n toty = ty - sy;\r\n\r\n x = sx + d * totx;\r\n y = sy + d * toty;\r\n if (i == 0) {\r\n minx = x;\r\n miny = y;\r\n maxx = x;\r\n maxy = y;\r\n } else {\r\n minx = Math.min(minx, x);\r\n miny = Math.min(miny, y);\r\n maxx = Math.max(maxx, x);\r\n maxy = Math.max(maxy, y);\r\n }\r\n }\r\n return new Rectangle(\r\n Math.round(minx),\r\n Math.round(miny),\r\n Math.round(maxx - minx),\r\n Math.round(maxy - miny)\r\n );\r\n };\r\n\r\n var getPrevLineDashValue = function(lineDash, lineDashOffset) {\r\n return JSON.stringify({\r\n lineDash: lineDash,\r\n lineDashOffset: lineDashOffset\r\n });\r\n };\r\n\r\n var setLineDash = function() {\r\n // Avoid unnecessary line dash declarations.\r\n if (\r\n !this.prevLineDash &&\r\n !this.ctx.lineDash.length &&\r\n !this.ctx.lineDashOffset\r\n ) {\r\n return;\r\n }\r\n\r\n // Avoid unnecessary line dash declarations.\r\n const nextLineDash = getPrevLineDashValue(\r\n this.ctx.lineDash,\r\n this.ctx.lineDashOffset\r\n );\r\n if (this.prevLineDash !== nextLineDash) {\r\n this.pdf.setLineDash(this.ctx.lineDash, this.ctx.lineDashOffset);\r\n this.prevLineDash = nextLineDash;\r\n }\r\n };\r\n})(jsPDF.API);\r\n","// DEFLATE is a complex format; to read this code, you should probably check the RFC first:\n// https://tools.ietf.org/html/rfc1951\n// You may also wish to take a look at the guide I made about this program:\n// https://gist.github.com/101arrowz/253f31eb5abc3d9275ab943003ffecad\n// Some of the following code is similar to that of UZIP.js:\n// https://github.com/photopea/UZIP.js\n// However, the vast majority of the codebase has diverged from UZIP.js to increase performance and reduce bundle size.\n// Sometimes 0 will appear where -1 would be more appropriate. This is because using a uint\n// is better for memory in most engines (I *think*).\nvar ch2 = {};\nvar wk = (function (c, id, msg, transfer, cb) {\n var w = new Worker(ch2[id] || (ch2[id] = URL.createObjectURL(new Blob([\n c + ';addEventListener(\"error\",function(e){e=e.error;postMessage({$e$:[e.message,e.code,e.stack]})})'\n ], { type: 'text/javascript' }))));\n w.onmessage = function (e) {\n var d = e.data, ed = d.$e$;\n if (ed) {\n var err = new Error(ed[0]);\n err['code'] = ed[1];\n err.stack = ed[2];\n cb(err, null);\n }\n else\n cb(null, d);\n };\n w.postMessage(msg, transfer);\n return w;\n});\n\n// aliases for shorter compressed code (most minifers don't do this)\nvar u8 = Uint8Array, u16 = Uint16Array, i32 = Int32Array;\n// fixed length extra bits\nvar fleb = new u8([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, /* unused */ 0, 0, /* impossible */ 0]);\n// fixed distance extra bits\nvar fdeb = new u8([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, /* unused */ 0, 0]);\n// code length index map\nvar clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);\n// get base, reverse index map from extra bits\nvar freb = function (eb, start) {\n var b = new u16(31);\n for (var i = 0; i < 31; ++i) {\n b[i] = start += 1 << eb[i - 1];\n }\n // numbers here are at max 18 bits\n var r = new i32(b[30]);\n for (var i = 1; i < 30; ++i) {\n for (var j = b[i]; j < b[i + 1]; ++j) {\n r[j] = ((j - b[i]) << 5) | i;\n }\n }\n return { b: b, r: r };\n};\nvar _a = freb(fleb, 2), fl = _a.b, revfl = _a.r;\n// we can ignore the fact that the other numbers are wrong; they never happen anyway\nfl[28] = 258, revfl[258] = 28;\nvar _b = freb(fdeb, 0), fd = _b.b, revfd = _b.r;\n// map of value to reverse (assuming 16 bits)\nvar rev = new u16(32768);\nfor (var i = 0; i < 32768; ++i) {\n // reverse table algorithm from SO\n var x = ((i & 0xAAAA) >> 1) | ((i & 0x5555) << 1);\n x = ((x & 0xCCCC) >> 2) | ((x & 0x3333) << 2);\n x = ((x & 0xF0F0) >> 4) | ((x & 0x0F0F) << 4);\n rev[i] = (((x & 0xFF00) >> 8) | ((x & 0x00FF) << 8)) >> 1;\n}\n// create huffman tree from u8 \"map\": index -> code length for code index\n// mb (max bits) must be at most 15\n// TODO: optimize/split up?\nvar hMap = (function (cd, mb, r) {\n var s = cd.length;\n // index\n var i = 0;\n // u16 \"map\": index -> # of codes with bit length = index\n var l = new u16(mb);\n // length of cd must be 288 (total # of codes)\n for (; i < s; ++i) {\n if (cd[i])\n ++l[cd[i] - 1];\n }\n // u16 \"map\": index -> minimum code for bit length = index\n var le = new u16(mb);\n for (i = 1; i < mb; ++i) {\n le[i] = (le[i - 1] + l[i - 1]) << 1;\n }\n var co;\n if (r) {\n // u16 \"map\": index -> number of actual bits, symbol for code\n co = new u16(1 << mb);\n // bits to remove for reverser\n var rvb = 15 - mb;\n for (i = 0; i < s; ++i) {\n // ignore 0 lengths\n if (cd[i]) {\n // num encoding both symbol and bits read\n var sv = (i << 4) | cd[i];\n // free bits\n var r_1 = mb - cd[i];\n // start value\n var v = le[cd[i] - 1]++ << r_1;\n // m is end value\n for (var m = v | ((1 << r_1) - 1); v <= m; ++v) {\n // every 16 bit value starting with the code yields the same result\n co[rev[v] >> rvb] = sv;\n }\n }\n }\n }\n else {\n co = new u16(s);\n for (i = 0; i < s; ++i) {\n if (cd[i]) {\n co[i] = rev[le[cd[i] - 1]++] >> (15 - cd[i]);\n }\n }\n }\n return co;\n});\n// fixed length tree\nvar flt = new u8(288);\nfor (var i = 0; i < 144; ++i)\n flt[i] = 8;\nfor (var i = 144; i < 256; ++i)\n flt[i] = 9;\nfor (var i = 256; i < 280; ++i)\n flt[i] = 7;\nfor (var i = 280; i < 288; ++i)\n flt[i] = 8;\n// fixed distance tree\nvar fdt = new u8(32);\nfor (var i = 0; i < 32; ++i)\n fdt[i] = 5;\n// fixed length map\nvar flm = /*#__PURE__*/ hMap(flt, 9, 0), flrm = /*#__PURE__*/ hMap(flt, 9, 1);\n// fixed distance map\nvar fdm = /*#__PURE__*/ hMap(fdt, 5, 0), fdrm = /*#__PURE__*/ hMap(fdt, 5, 1);\n// find max of array\nvar max = function (a) {\n var m = a[0];\n for (var i = 1; i < a.length; ++i) {\n if (a[i] > m)\n m = a[i];\n }\n return m;\n};\n// read d, starting at bit p and mask with m\nvar bits = function (d, p, m) {\n var o = (p / 8) | 0;\n return ((d[o] | (d[o + 1] << 8)) >> (p & 7)) & m;\n};\n// read d, starting at bit p continuing for at least 16 bits\nvar bits16 = function (d, p) {\n var o = (p / 8) | 0;\n return ((d[o] | (d[o + 1] << 8) | (d[o + 2] << 16)) >> (p & 7));\n};\n// get end of byte\nvar shft = function (p) { return ((p + 7) / 8) | 0; };\n// typed array slice - allows garbage collector to free original reference,\n// while being more compatible than .slice\nvar slc = function (v, s, e) {\n if (s == null || s < 0)\n s = 0;\n if (e == null || e > v.length)\n e = v.length;\n // can't use .constructor in case user-supplied\n return new u8(v.subarray(s, e));\n};\n/**\n * Codes for errors generated within this library\n */\nexport var FlateErrorCode = {\n UnexpectedEOF: 0,\n InvalidBlockType: 1,\n InvalidLengthLiteral: 2,\n InvalidDistance: 3,\n StreamFinished: 4,\n NoStreamHandler: 5,\n InvalidHeader: 6,\n NoCallback: 7,\n InvalidUTF8: 8,\n ExtraFieldTooLong: 9,\n InvalidDate: 10,\n FilenameTooLong: 11,\n StreamFinishing: 12,\n InvalidZipData: 13,\n UnknownCompressionMethod: 14\n};\n// error codes\nvar ec = [\n 'unexpected EOF',\n 'invalid block type',\n 'invalid length/literal',\n 'invalid distance',\n 'stream finished',\n 'no stream handler',\n ,\n 'no callback',\n 'invalid UTF-8 data',\n 'extra field too long',\n 'date not in range 1980-2099',\n 'filename too long',\n 'stream finishing',\n 'invalid zip data'\n // determined by unknown compression method\n];\n;\nvar err = function (ind, msg, nt) {\n var e = new Error(msg || ec[ind]);\n e.code = ind;\n if (Error.captureStackTrace)\n Error.captureStackTrace(e, err);\n if (!nt)\n throw e;\n return e;\n};\n// expands raw DEFLATE data\nvar inflt = function (dat, st, buf, dict) {\n // source length dict length\n var sl = dat.length, dl = dict ? dict.length : 0;\n if (!sl || st.f && !st.l)\n return buf || new u8(0);\n var noBuf = !buf;\n // have to estimate size\n var resize = noBuf || st.i != 2;\n // no state\n var noSt = st.i;\n // Assumes roughly 33% compression ratio average\n if (noBuf)\n buf = new u8(sl * 3);\n // ensure buffer can fit at least l elements\n var cbuf = function (l) {\n var bl = buf.length;\n // need to increase size to fit\n if (l > bl) {\n // Double or set to necessary, whichever is greater\n var nbuf = new u8(Math.max(bl * 2, l));\n nbuf.set(buf);\n buf = nbuf;\n }\n };\n // last chunk bitpos bytes\n var final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n;\n // total bits\n var tbts = sl * 8;\n do {\n if (!lm) {\n // BFINAL - this is only 1 when last chunk is next\n final = bits(dat, pos, 1);\n // type: 0 = no compression, 1 = fixed huffman, 2 = dynamic huffman\n var type = bits(dat, pos + 1, 3);\n pos += 3;\n if (!type) {\n // go to end of byte boundary\n var s = shft(pos) + 4, l = dat[s - 4] | (dat[s - 3] << 8), t = s + l;\n if (t > sl) {\n if (noSt)\n err(0);\n break;\n }\n // ensure size\n if (resize)\n cbuf(bt + l);\n // Copy over uncompressed data\n buf.set(dat.subarray(s, t), bt);\n // Get new bitpos, update byte count\n st.b = bt += l, st.p = pos = t * 8, st.f = final;\n continue;\n }\n else if (type == 1)\n lm = flrm, dm = fdrm, lbt = 9, dbt = 5;\n else if (type == 2) {\n // literal lengths\n var hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4;\n var tl = hLit + bits(dat, pos + 5, 31) + 1;\n pos += 14;\n // length+distance tree\n var ldt = new u8(tl);\n // code length tree\n var clt = new u8(19);\n for (var i = 0; i < hcLen; ++i) {\n // use index map to get real code\n clt[clim[i]] = bits(dat, pos + i * 3, 7);\n }\n pos += hcLen * 3;\n // code lengths bits\n var clb = max(clt), clbmsk = (1 << clb) - 1;\n // code lengths map\n var clm = hMap(clt, clb, 1);\n for (var i = 0; i < tl;) {\n var r = clm[bits(dat, pos, clbmsk)];\n // bits read\n pos += r & 15;\n // symbol\n var s = r >> 4;\n // code length to copy\n if (s < 16) {\n ldt[i++] = s;\n }\n else {\n // copy count\n var c = 0, n = 0;\n if (s == 16)\n n = 3 + bits(dat, pos, 3), pos += 2, c = ldt[i - 1];\n else if (s == 17)\n n = 3 + bits(dat, pos, 7), pos += 3;\n else if (s == 18)\n n = 11 + bits(dat, pos, 127), pos += 7;\n while (n--)\n ldt[i++] = c;\n }\n }\n // length tree distance tree\n var lt = ldt.subarray(0, hLit), dt = ldt.subarray(hLit);\n // max length bits\n lbt = max(lt);\n // max dist bits\n dbt = max(dt);\n lm = hMap(lt, lbt, 1);\n dm = hMap(dt, dbt, 1);\n }\n else\n err(1);\n if (pos > tbts) {\n if (noSt)\n err(0);\n break;\n }\n }\n // Make sure the buffer can hold this + the largest possible addition\n // Maximum chunk size (practically, theoretically infinite) is 2^17\n if (resize)\n cbuf(bt + 131072);\n var lms = (1 << lbt) - 1, dms = (1 << dbt) - 1;\n var lpos = pos;\n for (;; lpos = pos) {\n // bits read, code\n var c = lm[bits16(dat, pos) & lms], sym = c >> 4;\n pos += c & 15;\n if (pos > tbts) {\n if (noSt)\n err(0);\n break;\n }\n if (!c)\n err(2);\n if (sym < 256)\n buf[bt++] = sym;\n else if (sym == 256) {\n lpos = pos, lm = null;\n break;\n }\n else {\n var add = sym - 254;\n // no extra bits needed if less\n if (sym > 264) {\n // index\n var i = sym - 257, b = fleb[i];\n add = bits(dat, pos, (1 << b) - 1) + fl[i];\n pos += b;\n }\n // dist\n var d = dm[bits16(dat, pos) & dms], dsym = d >> 4;\n if (!d)\n err(3);\n pos += d & 15;\n var dt = fd[dsym];\n if (dsym > 3) {\n var b = fdeb[dsym];\n dt += bits16(dat, pos) & (1 << b) - 1, pos += b;\n }\n if (pos > tbts) {\n if (noSt)\n err(0);\n break;\n }\n if (resize)\n cbuf(bt + 131072);\n var end = bt + add;\n if (bt < dt) {\n var shift = dl - dt, dend = Math.min(dt, end);\n if (shift + bt < 0)\n err(3);\n for (; bt < dend; ++bt)\n buf[bt] = dict[shift + bt];\n }\n for (; bt < end; ++bt)\n buf[bt] = buf[bt - dt];\n }\n }\n st.l = lm, st.p = lpos, st.b = bt, st.f = final;\n if (lm)\n final = 1, st.m = lbt, st.d = dm, st.n = dbt;\n } while (!final);\n // don't reallocate for streams or user buffers\n return bt != buf.length && noBuf ? slc(buf, 0, bt) : buf.subarray(0, bt);\n};\n// starting at p, write the minimum number of bits that can hold v to d\nvar wbits = function (d, p, v) {\n v <<= p & 7;\n var o = (p / 8) | 0;\n d[o] |= v;\n d[o + 1] |= v >> 8;\n};\n// starting at p, write the minimum number of bits (>8) that can hold v to d\nvar wbits16 = function (d, p, v) {\n v <<= p & 7;\n var o = (p / 8) | 0;\n d[o] |= v;\n d[o + 1] |= v >> 8;\n d[o + 2] |= v >> 16;\n};\n// creates code lengths from a frequency table\nvar hTree = function (d, mb) {\n // Need extra info to make a tree\n var t = [];\n for (var i = 0; i < d.length; ++i) {\n if (d[i])\n t.push({ s: i, f: d[i] });\n }\n var s = t.length;\n var t2 = t.slice();\n if (!s)\n return { t: et, l: 0 };\n if (s == 1) {\n var v = new u8(t[0].s + 1);\n v[t[0].s] = 1;\n return { t: v, l: 1 };\n }\n t.sort(function (a, b) { return a.f - b.f; });\n // after i2 reaches last ind, will be stopped\n // freq must be greater than largest possible number of symbols\n t.push({ s: -1, f: 25001 });\n var l = t[0], r = t[1], i0 = 0, i1 = 1, i2 = 2;\n t[0] = { s: -1, f: l.f + r.f, l: l, r: r };\n // efficient algorithm from UZIP.js\n // i0 is lookbehind, i2 is lookahead - after processing two low-freq\n // symbols that combined have high freq, will start processing i2 (high-freq,\n // non-composite) symbols instead\n // see https://reddit.com/r/photopea/comments/ikekht/uzipjs_questions/\n while (i1 != s - 1) {\n l = t[t[i0].f < t[i2].f ? i0++ : i2++];\n r = t[i0 != i1 && t[i0].f < t[i2].f ? i0++ : i2++];\n t[i1++] = { s: -1, f: l.f + r.f, l: l, r: r };\n }\n var maxSym = t2[0].s;\n for (var i = 1; i < s; ++i) {\n if (t2[i].s > maxSym)\n maxSym = t2[i].s;\n }\n // code lengths\n var tr = new u16(maxSym + 1);\n // max bits in tree\n var mbt = ln(t[i1 - 1], tr, 0);\n if (mbt > mb) {\n // more algorithms from UZIP.js\n // TODO: find out how this code works (debt)\n // ind debt\n var i = 0, dt = 0;\n // left cost\n var lft = mbt - mb, cst = 1 << lft;\n t2.sort(function (a, b) { return tr[b.s] - tr[a.s] || a.f - b.f; });\n for (; i < s; ++i) {\n var i2_1 = t2[i].s;\n if (tr[i2_1] > mb) {\n dt += cst - (1 << (mbt - tr[i2_1]));\n tr[i2_1] = mb;\n }\n else\n break;\n }\n dt >>= lft;\n while (dt > 0) {\n var i2_2 = t2[i].s;\n if (tr[i2_2] < mb)\n dt -= 1 << (mb - tr[i2_2]++ - 1);\n else\n ++i;\n }\n for (; i >= 0 && dt; --i) {\n var i2_3 = t2[i].s;\n if (tr[i2_3] == mb) {\n --tr[i2_3];\n ++dt;\n }\n }\n mbt = mb;\n }\n return { t: new u8(tr), l: mbt };\n};\n// get the max length and assign length codes\nvar ln = function (n, l, d) {\n return n.s == -1\n ? Math.max(ln(n.l, l, d + 1), ln(n.r, l, d + 1))\n : (l[n.s] = d);\n};\n// length codes generation\nvar lc = function (c) {\n var s = c.length;\n // Note that the semicolon was intentional\n while (s && !c[--s])\n ;\n var cl = new u16(++s);\n // ind num streak\n var cli = 0, cln = c[0], cls = 1;\n var w = function (v) { cl[cli++] = v; };\n for (var i = 1; i <= s; ++i) {\n if (c[i] == cln && i != s)\n ++cls;\n else {\n if (!cln && cls > 2) {\n for (; cls > 138; cls -= 138)\n w(32754);\n if (cls > 2) {\n w(cls > 10 ? ((cls - 11) << 5) | 28690 : ((cls - 3) << 5) | 12305);\n cls = 0;\n }\n }\n else if (cls > 3) {\n w(cln), --cls;\n for (; cls > 6; cls -= 6)\n w(8304);\n if (cls > 2)\n w(((cls - 3) << 5) | 8208), cls = 0;\n }\n while (cls--)\n w(cln);\n cls = 1;\n cln = c[i];\n }\n }\n return { c: cl.subarray(0, cli), n: s };\n};\n// calculate the length of output from tree, code lengths\nvar clen = function (cf, cl) {\n var l = 0;\n for (var i = 0; i < cl.length; ++i)\n l += cf[i] * cl[i];\n return l;\n};\n// writes a fixed block\n// returns the new bit pos\nvar wfblk = function (out, pos, dat) {\n // no need to write 00 as type: TypedArray defaults to 0\n var s = dat.length;\n var o = shft(pos + 2);\n out[o] = s & 255;\n out[o + 1] = s >> 8;\n out[o + 2] = out[o] ^ 255;\n out[o + 3] = out[o + 1] ^ 255;\n for (var i = 0; i < s; ++i)\n out[o + i + 4] = dat[i];\n return (o + 4 + s) * 8;\n};\n// writes a block\nvar wblk = function (dat, out, final, syms, lf, df, eb, li, bs, bl, p) {\n wbits(out, p++, final);\n ++lf[256];\n var _a = hTree(lf, 15), dlt = _a.t, mlb = _a.l;\n var _b = hTree(df, 15), ddt = _b.t, mdb = _b.l;\n var _c = lc(dlt), lclt = _c.c, nlc = _c.n;\n var _d = lc(ddt), lcdt = _d.c, ndc = _d.n;\n var lcfreq = new u16(19);\n for (var i = 0; i < lclt.length; ++i)\n ++lcfreq[lclt[i] & 31];\n for (var i = 0; i < lcdt.length; ++i)\n ++lcfreq[lcdt[i] & 31];\n var _e = hTree(lcfreq, 7), lct = _e.t, mlcb = _e.l;\n var nlcc = 19;\n for (; nlcc > 4 && !lct[clim[nlcc - 1]]; --nlcc)\n ;\n var flen = (bl + 5) << 3;\n var ftlen = clen(lf, flt) + clen(df, fdt) + eb;\n var dtlen = clen(lf, dlt) + clen(df, ddt) + eb + 14 + 3 * nlcc + clen(lcfreq, lct) + 2 * lcfreq[16] + 3 * lcfreq[17] + 7 * lcfreq[18];\n if (bs >= 0 && flen <= ftlen && flen <= dtlen)\n return wfblk(out, p, dat.subarray(bs, bs + bl));\n var lm, ll, dm, dl;\n wbits(out, p, 1 + (dtlen < ftlen)), p += 2;\n if (dtlen < ftlen) {\n lm = hMap(dlt, mlb, 0), ll = dlt, dm = hMap(ddt, mdb, 0), dl = ddt;\n var llm = hMap(lct, mlcb, 0);\n wbits(out, p, nlc - 257);\n wbits(out, p + 5, ndc - 1);\n wbits(out, p + 10, nlcc - 4);\n p += 14;\n for (var i = 0; i < nlcc; ++i)\n wbits(out, p + 3 * i, lct[clim[i]]);\n p += 3 * nlcc;\n var lcts = [lclt, lcdt];\n for (var it = 0; it < 2; ++it) {\n var clct = lcts[it];\n for (var i = 0; i < clct.length; ++i) {\n var len = clct[i] & 31;\n wbits(out, p, llm[len]), p += lct[len];\n if (len > 15)\n wbits(out, p, (clct[i] >> 5) & 127), p += clct[i] >> 12;\n }\n }\n }\n else {\n lm = flm, ll = flt, dm = fdm, dl = fdt;\n }\n for (var i = 0; i < li; ++i) {\n var sym = syms[i];\n if (sym > 255) {\n var len = (sym >> 18) & 31;\n wbits16(out, p, lm[len + 257]), p += ll[len + 257];\n if (len > 7)\n wbits(out, p, (sym >> 23) & 31), p += fleb[len];\n var dst = sym & 31;\n wbits16(out, p, dm[dst]), p += dl[dst];\n if (dst > 3)\n wbits16(out, p, (sym >> 5) & 8191), p += fdeb[dst];\n }\n else {\n wbits16(out, p, lm[sym]), p += ll[sym];\n }\n }\n wbits16(out, p, lm[256]);\n return p + ll[256];\n};\n// deflate options (nice << 13) | chain\nvar deo = /*#__PURE__*/ new i32([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]);\n// empty\nvar et = /*#__PURE__*/ new u8(0);\n// compresses data into a raw DEFLATE buffer\nvar dflt = function (dat, lvl, plvl, pre, post, st) {\n var s = st.z || dat.length;\n var o = new u8(pre + s + 5 * (1 + Math.ceil(s / 7000)) + post);\n // writing to this writes to the output buffer\n var w = o.subarray(pre, o.length - post);\n var lst = st.l;\n var pos = (st.r || 0) & 7;\n if (lvl) {\n if (pos)\n w[0] = st.r >> 3;\n var opt = deo[lvl - 1];\n var n = opt >> 13, c = opt & 8191;\n var msk_1 = (1 << plvl) - 1;\n // prev 2-byte val map curr 2-byte val map\n var prev = st.p || new u16(32768), head = st.h || new u16(msk_1 + 1);\n var bs1_1 = Math.ceil(plvl / 3), bs2_1 = 2 * bs1_1;\n var hsh = function (i) { return (dat[i] ^ (dat[i + 1] << bs1_1) ^ (dat[i + 2] << bs2_1)) & msk_1; };\n // 24576 is an arbitrary number of maximum symbols per block\n // 424 buffer for last block\n var syms = new i32(25000);\n // length/literal freq distance freq\n var lf = new u16(288), df = new u16(32);\n // l/lcnt exbits index l/lind waitdx blkpos\n var lc_1 = 0, eb = 0, i = st.i || 0, li = 0, wi = st.w || 0, bs = 0;\n for (; i + 2 < s; ++i) {\n // hash value\n var hv = hsh(i);\n // index mod 32768 previous index mod\n var imod = i & 32767, pimod = head[hv];\n prev[imod] = pimod;\n head[hv] = imod;\n // We always should modify head and prev, but only add symbols if\n // this data is not yet processed (\"wait\" for wait index)\n if (wi <= i) {\n // bytes remaining\n var rem = s - i;\n if ((lc_1 > 7000 || li > 24576) && (rem > 423 || !lst)) {\n pos = wblk(dat, w, 0, syms, lf, df, eb, li, bs, i - bs, pos);\n li = lc_1 = eb = 0, bs = i;\n for (var j = 0; j < 286; ++j)\n lf[j] = 0;\n for (var j = 0; j < 30; ++j)\n df[j] = 0;\n }\n // len dist chain\n var l = 2, d = 0, ch_1 = c, dif = imod - pimod & 32767;\n if (rem > 2 && hv == hsh(i - dif)) {\n var maxn = Math.min(n, rem) - 1;\n var maxd = Math.min(32767, i);\n // max possible length\n // not capped at dif because decompressors implement \"rolling\" index population\n var ml = Math.min(258, rem);\n while (dif <= maxd && --ch_1 && imod != pimod) {\n if (dat[i + l] == dat[i + l - dif]) {\n var nl = 0;\n for (; nl < ml && dat[i + nl] == dat[i + nl - dif]; ++nl)\n ;\n if (nl > l) {\n l = nl, d = dif;\n // break out early when we reach \"nice\" (we are satisfied enough)\n if (nl > maxn)\n break;\n // now, find the rarest 2-byte sequence within this\n // length of literals and search for that instead.\n // Much faster than just using the start\n var mmd = Math.min(dif, nl - 2);\n var md = 0;\n for (var j = 0; j < mmd; ++j) {\n var ti = i - dif + j & 32767;\n var pti = prev[ti];\n var cd = ti - pti & 32767;\n if (cd > md)\n md = cd, pimod = ti;\n }\n }\n }\n // check the previous match\n imod = pimod, pimod = prev[imod];\n dif += imod - pimod & 32767;\n }\n }\n // d will be nonzero only when a match was found\n if (d) {\n // store both dist and len data in one int32\n // Make sure this is recognized as a len/dist with 28th bit (2^28)\n syms[li++] = 268435456 | (revfl[l] << 18) | revfd[d];\n var lin = revfl[l] & 31, din = revfd[d] & 31;\n eb += fleb[lin] + fdeb[din];\n ++lf[257 + lin];\n ++df[din];\n wi = i + l;\n ++lc_1;\n }\n else {\n syms[li++] = dat[i];\n ++lf[dat[i]];\n }\n }\n }\n for (i = Math.max(i, wi); i < s; ++i) {\n syms[li++] = dat[i];\n ++lf[dat[i]];\n }\n pos = wblk(dat, w, lst, syms, lf, df, eb, li, bs, i - bs, pos);\n if (!lst) {\n st.r = (pos & 7) | w[(pos / 8) | 0] << 3;\n // shft(pos) now 1 less if pos & 7 != 0\n pos -= 7;\n st.h = head, st.p = prev, st.i = i, st.w = wi;\n }\n }\n else {\n for (var i = st.w || 0; i < s + lst; i += 65535) {\n // end\n var e = i + 65535;\n if (e >= s) {\n // write final block\n w[(pos / 8) | 0] = lst;\n e = s;\n }\n pos = wfblk(w, pos + 1, dat.subarray(i, e));\n }\n st.i = s;\n }\n return slc(o, 0, pre + shft(pos) + post);\n};\n// CRC32 table\nvar crct = /*#__PURE__*/ (function () {\n var t = new Int32Array(256);\n for (var i = 0; i < 256; ++i) {\n var c = i, k = 9;\n while (--k)\n c = ((c & 1) && -306674912) ^ (c >>> 1);\n t[i] = c;\n }\n return t;\n})();\n// CRC32\nvar crc = function () {\n var c = -1;\n return {\n p: function (d) {\n // closures have awful performance\n var cr = c;\n for (var i = 0; i < d.length; ++i)\n cr = crct[(cr & 255) ^ d[i]] ^ (cr >>> 8);\n c = cr;\n },\n d: function () { return ~c; }\n };\n};\n// Adler32\nvar adler = function () {\n var a = 1, b = 0;\n return {\n p: function (d) {\n // closures have awful performance\n var n = a, m = b;\n var l = d.length | 0;\n for (var i = 0; i != l;) {\n var e = Math.min(i + 2655, l);\n for (; i < e; ++i)\n m += n += d[i];\n n = (n & 65535) + 15 * (n >> 16), m = (m & 65535) + 15 * (m >> 16);\n }\n a = n, b = m;\n },\n d: function () {\n a %= 65521, b %= 65521;\n return (a & 255) << 24 | (a & 0xFF00) << 8 | (b & 255) << 8 | (b >> 8);\n }\n };\n};\n;\n// deflate with opts\nvar dopt = function (dat, opt, pre, post, st) {\n if (!st) {\n st = { l: 1 };\n if (opt.dictionary) {\n var dict = opt.dictionary.subarray(-32768);\n var newDat = new u8(dict.length + dat.length);\n newDat.set(dict);\n newDat.set(dat, dict.length);\n dat = newDat;\n st.w = dict.length;\n }\n }\n return dflt(dat, opt.level == null ? 6 : opt.level, opt.mem == null ? Math.ceil(Math.max(8, Math.min(13, Math.log(dat.length))) * 1.5) : (12 + opt.mem), pre, post, st);\n};\n// Walmart object spread\nvar mrg = function (a, b) {\n var o = {};\n for (var k in a)\n o[k] = a[k];\n for (var k in b)\n o[k] = b[k];\n return o;\n};\n// worker clone\n// This is possibly the craziest part of the entire codebase, despite how simple it may seem.\n// The only parameter to this function is a closure that returns an array of variables outside of the function scope.\n// We're going to try to figure out the variable names used in the closure as strings because that is crucial for workerization.\n// We will return an object mapping of true variable name to value (basically, the current scope as a JS object).\n// The reason we can't just use the original variable names is minifiers mangling the toplevel scope.\n// This took me three weeks to figure out how to do.\nvar wcln = function (fn, fnStr, td) {\n var dt = fn();\n var st = fn.toString();\n var ks = st.slice(st.indexOf('[') + 1, st.lastIndexOf(']')).replace(/\\s+/g, '').split(',');\n for (var i = 0; i < dt.length; ++i) {\n var v = dt[i], k = ks[i];\n if (typeof v == 'function') {\n fnStr += ';' + k + '=';\n var st_1 = v.toString();\n if (v.prototype) {\n // for global objects\n if (st_1.indexOf('[native code]') != -1) {\n var spInd = st_1.indexOf(' ', 8) + 1;\n fnStr += st_1.slice(spInd, st_1.indexOf('(', spInd));\n }\n else {\n fnStr += st_1;\n for (var t in v.prototype)\n fnStr += ';' + k + '.prototype.' + t + '=' + v.prototype[t].toString();\n }\n }\n else\n fnStr += st_1;\n }\n else\n td[k] = v;\n }\n return fnStr;\n};\nvar ch = [];\n// clone bufs\nvar cbfs = function (v) {\n var tl = [];\n for (var k in v) {\n if (v[k].buffer) {\n tl.push((v[k] = new v[k].constructor(v[k])).buffer);\n }\n }\n return tl;\n};\n// use a worker to execute code\nvar wrkr = function (fns, init, id, cb) {\n if (!ch[id]) {\n var fnStr = '', td_1 = {}, m = fns.length - 1;\n for (var i = 0; i < m; ++i)\n fnStr = wcln(fns[i], fnStr, td_1);\n ch[id] = { c: wcln(fns[m], fnStr, td_1), e: td_1 };\n }\n var td = mrg({}, ch[id].e);\n return wk(ch[id].c + ';onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage=' + init.toString() + '}', id, td, cbfs(td), cb);\n};\n// base async inflate fn\nvar bInflt = function () { return [u8, u16, i32, fleb, fdeb, clim, fl, fd, flrm, fdrm, rev, ec, hMap, max, bits, bits16, shft, slc, err, inflt, inflateSync, pbf, gopt]; };\nvar bDflt = function () { return [u8, u16, i32, fleb, fdeb, clim, revfl, revfd, flm, flt, fdm, fdt, rev, deo, et, hMap, wbits, wbits16, hTree, ln, lc, clen, wfblk, wblk, shft, slc, dflt, dopt, deflateSync, pbf]; };\n// gzip extra\nvar gze = function () { return [gzh, gzhl, wbytes, crc, crct]; };\n// gunzip extra\nvar guze = function () { return [gzs, gzl]; };\n// zlib extra\nvar zle = function () { return [zlh, wbytes, adler]; };\n// unzlib extra\nvar zule = function () { return [zls]; };\n// post buf\nvar pbf = function (msg) { return postMessage(msg, [msg.buffer]); };\n// get opts\nvar gopt = function (o) { return o && {\n out: o.size && new u8(o.size),\n dictionary: o.dictionary\n}; };\n// async helper\nvar cbify = function (dat, opts, fns, init, id, cb) {\n var w = wrkr(fns, init, id, function (err, dat) {\n w.terminate();\n cb(err, dat);\n });\n w.postMessage([dat, opts], opts.consume ? [dat.buffer] : []);\n return function () { w.terminate(); };\n};\n// auto stream\nvar astrm = function (strm) {\n strm.ondata = function (dat, final) { return postMessage([dat, final], [dat.buffer]); };\n return function (ev) { return strm.push(ev.data[0], ev.data[1]); };\n};\n// async stream attach\nvar astrmify = function (fns, strm, opts, init, id, ext) {\n var t;\n var w = wrkr(fns, init, id, function (err, dat) {\n if (err)\n w.terminate(), strm.ondata.call(strm, err);\n else if (!Array.isArray(dat))\n ext(dat);\n else {\n if (dat[1])\n w.terminate();\n strm.ondata.call(strm, err, dat[0], dat[1]);\n }\n });\n w.postMessage(opts);\n strm.push = function (d, f) {\n if (!strm.ondata)\n err(5);\n if (t)\n strm.ondata(err(4, 0, 1), null, !!f);\n w.postMessage([d, t = f], [d.buffer]);\n };\n strm.terminate = function () { w.terminate(); };\n};\n// read 2 bytes\nvar b2 = function (d, b) { return d[b] | (d[b + 1] << 8); };\n// read 4 bytes\nvar b4 = function (d, b) { return (d[b] | (d[b + 1] << 8) | (d[b + 2] << 16) | (d[b + 3] << 24)) >>> 0; };\nvar b8 = function (d, b) { return b4(d, b) + (b4(d, b + 4) * 4294967296); };\n// write bytes\nvar wbytes = function (d, b, v) {\n for (; v; ++b)\n d[b] = v, v >>>= 8;\n};\n// gzip header\nvar gzh = function (c, o) {\n var fn = o.filename;\n c[0] = 31, c[1] = 139, c[2] = 8, c[8] = o.level < 2 ? 4 : o.level == 9 ? 2 : 0, c[9] = 3; // assume Unix\n if (o.mtime != 0)\n wbytes(c, 4, Math.floor(new Date(o.mtime || Date.now()) / 1000));\n if (fn) {\n c[3] = 8;\n for (var i = 0; i <= fn.length; ++i)\n c[i + 10] = fn.charCodeAt(i);\n }\n};\n// gzip footer: -8 to -4 = CRC, -4 to -0 is length\n// gzip start\nvar gzs = function (d) {\n if (d[0] != 31 || d[1] != 139 || d[2] != 8)\n err(6, 'invalid gzip data');\n var flg = d[3];\n var st = 10;\n if (flg & 4)\n st += (d[10] | d[11] << 8) + 2;\n for (var zs = (flg >> 3 & 1) + (flg >> 4 & 1); zs > 0; zs -= !d[st++])\n ;\n return st + (flg & 2);\n};\n// gzip length\nvar gzl = function (d) {\n var l = d.length;\n return (d[l - 4] | d[l - 3] << 8 | d[l - 2] << 16 | d[l - 1] << 24) >>> 0;\n};\n// gzip header length\nvar gzhl = function (o) { return 10 + (o.filename ? o.filename.length + 1 : 0); };\n// zlib header\nvar zlh = function (c, o) {\n var lv = o.level, fl = lv == 0 ? 0 : lv < 6 ? 1 : lv == 9 ? 3 : 2;\n c[0] = 120, c[1] = (fl << 6) | (o.dictionary && 32);\n c[1] |= 31 - ((c[0] << 8) | c[1]) % 31;\n if (o.dictionary) {\n var h = adler();\n h.p(o.dictionary);\n wbytes(c, 2, h.d());\n }\n};\n// zlib start\nvar zls = function (d, dict) {\n if ((d[0] & 15) != 8 || (d[0] >> 4) > 7 || ((d[0] << 8 | d[1]) % 31))\n err(6, 'invalid zlib data');\n if ((d[1] >> 5 & 1) == +!dict)\n err(6, 'invalid zlib data: ' + (d[1] & 32 ? 'need' : 'unexpected') + ' dictionary');\n return (d[1] >> 3 & 4) + 2;\n};\nfunction StrmOpt(opts, cb) {\n if (typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n return opts;\n}\n/**\n * Streaming DEFLATE compression\n */\nvar Deflate = /*#__PURE__*/ (function () {\n function Deflate(opts, cb) {\n if (typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n this.o = opts || {};\n this.s = { l: 0, i: 32768, w: 32768, z: 32768 };\n // Buffer length must always be 0 mod 32768 for index calculations to be correct when modifying head and prev\n // 98304 = 32768 (lookback) + 65536 (common chunk size)\n this.b = new u8(98304);\n if (this.o.dictionary) {\n var dict = this.o.dictionary.subarray(-32768);\n this.b.set(dict, 32768 - dict.length);\n this.s.i = 32768 - dict.length;\n }\n }\n Deflate.prototype.p = function (c, f) {\n this.ondata(dopt(c, this.o, 0, 0, this.s), f);\n };\n /**\n * Pushes a chunk to be deflated\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Deflate.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n if (this.s.l)\n err(4);\n var endLen = chunk.length + this.s.z;\n if (endLen > this.b.length) {\n if (endLen > 2 * this.b.length - 32768) {\n var newBuf = new u8(endLen & -32768);\n newBuf.set(this.b.subarray(0, this.s.z));\n this.b = newBuf;\n }\n var split = this.b.length - this.s.z;\n if (split) {\n this.b.set(chunk.subarray(0, split), this.s.z);\n this.s.z = this.b.length;\n this.p(this.b, false);\n }\n this.b.set(this.b.subarray(-32768));\n this.b.set(chunk.subarray(split), 32768);\n this.s.z = chunk.length - split + 32768;\n this.s.i = 32766, this.s.w = 32768;\n }\n else {\n this.b.set(chunk, this.s.z);\n this.s.z += chunk.length;\n }\n this.s.l = final & 1;\n if (this.s.z > this.s.w + 8191 || final) {\n this.p(this.b, final || false);\n this.s.w = this.s.i, this.s.i -= 2;\n }\n };\n return Deflate;\n}());\nexport { Deflate };\n/**\n * Asynchronous streaming DEFLATE compression\n */\nvar AsyncDeflate = /*#__PURE__*/ (function () {\n function AsyncDeflate(opts, cb) {\n astrmify([\n bDflt,\n function () { return [astrm, Deflate]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Deflate(ev.data);\n onmessage = astrm(strm);\n }, 6);\n }\n return AsyncDeflate;\n}());\nexport { AsyncDeflate };\nexport function deflate(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bDflt,\n ], function (ev) { return pbf(deflateSync(ev.data[0], ev.data[1])); }, 0, cb);\n}\n/**\n * Compresses data with DEFLATE without any wrapper\n * @param data The data to compress\n * @param opts The compression options\n * @returns The deflated version of the data\n */\nexport function deflateSync(data, opts) {\n return dopt(data, opts || {}, 0, 0);\n}\n/**\n * Streaming DEFLATE decompression\n */\nvar Inflate = /*#__PURE__*/ (function () {\n function Inflate(opts, cb) {\n // no StrmOpt here to avoid adding to workerizer\n if (typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n var dict = opts && opts.dictionary && opts.dictionary.subarray(-32768);\n this.s = { i: 0, b: dict ? dict.length : 0 };\n this.o = new u8(32768);\n this.p = new u8(0);\n if (dict)\n this.o.set(dict);\n }\n Inflate.prototype.e = function (c) {\n if (!this.ondata)\n err(5);\n if (this.d)\n err(4);\n if (!this.p.length)\n this.p = c;\n else if (c.length) {\n var n = new u8(this.p.length + c.length);\n n.set(this.p), n.set(c, this.p.length), this.p = n;\n }\n };\n Inflate.prototype.c = function (final) {\n this.s.i = +(this.d = final || false);\n var bts = this.s.b;\n var dt = inflt(this.p, this.s, this.o);\n this.ondata(slc(dt, bts, this.s.b), this.d);\n this.o = slc(dt, this.s.b - 32768), this.s.b = this.o.length;\n this.p = slc(this.p, (this.s.p / 8) | 0), this.s.p &= 7;\n };\n /**\n * Pushes a chunk to be inflated\n * @param chunk The chunk to push\n * @param final Whether this is the final chunk\n */\n Inflate.prototype.push = function (chunk, final) {\n this.e(chunk), this.c(final);\n };\n return Inflate;\n}());\nexport { Inflate };\n/**\n * Asynchronous streaming DEFLATE decompression\n */\nvar AsyncInflate = /*#__PURE__*/ (function () {\n function AsyncInflate(opts, cb) {\n astrmify([\n bInflt,\n function () { return [astrm, Inflate]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Inflate(ev.data);\n onmessage = astrm(strm);\n }, 7);\n }\n return AsyncInflate;\n}());\nexport { AsyncInflate };\nexport function inflate(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bInflt\n ], function (ev) { return pbf(inflateSync(ev.data[0], gopt(ev.data[1]))); }, 1, cb);\n}\n/**\n * Expands DEFLATE data with no wrapper\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */\nexport function inflateSync(data, opts) {\n return inflt(data, { i: 2 }, opts && opts.out, opts && opts.dictionary);\n}\n// before you yell at me for not just using extends, my reason is that TS inheritance is hard to workerize.\n/**\n * Streaming GZIP compression\n */\nvar Gzip = /*#__PURE__*/ (function () {\n function Gzip(opts, cb) {\n this.c = crc();\n this.l = 0;\n this.v = 1;\n Deflate.call(this, opts, cb);\n }\n /**\n * Pushes a chunk to be GZIPped\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Gzip.prototype.push = function (chunk, final) {\n this.c.p(chunk);\n this.l += chunk.length;\n Deflate.prototype.push.call(this, chunk, final);\n };\n Gzip.prototype.p = function (c, f) {\n var raw = dopt(c, this.o, this.v && gzhl(this.o), f && 8, this.s);\n if (this.v)\n gzh(raw, this.o), this.v = 0;\n if (f)\n wbytes(raw, raw.length - 8, this.c.d()), wbytes(raw, raw.length - 4, this.l);\n this.ondata(raw, f);\n };\n return Gzip;\n}());\nexport { Gzip };\n/**\n * Asynchronous streaming GZIP compression\n */\nvar AsyncGzip = /*#__PURE__*/ (function () {\n function AsyncGzip(opts, cb) {\n astrmify([\n bDflt,\n gze,\n function () { return [astrm, Deflate, Gzip]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Gzip(ev.data);\n onmessage = astrm(strm);\n }, 8);\n }\n return AsyncGzip;\n}());\nexport { AsyncGzip };\nexport function gzip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bDflt,\n gze,\n function () { return [gzipSync]; }\n ], function (ev) { return pbf(gzipSync(ev.data[0], ev.data[1])); }, 2, cb);\n}\n/**\n * Compresses data with GZIP\n * @param data The data to compress\n * @param opts The compression options\n * @returns The gzipped version of the data\n */\nexport function gzipSync(data, opts) {\n if (!opts)\n opts = {};\n var c = crc(), l = data.length;\n c.p(data);\n var d = dopt(data, opts, gzhl(opts), 8), s = d.length;\n return gzh(d, opts), wbytes(d, s - 8, c.d()), wbytes(d, s - 4, l), d;\n}\n/**\n * Streaming single or multi-member GZIP decompression\n */\nvar Gunzip = /*#__PURE__*/ (function () {\n function Gunzip(opts, cb) {\n this.v = 1;\n this.r = 0;\n Inflate.call(this, opts, cb);\n }\n /**\n * Pushes a chunk to be GUNZIPped\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Gunzip.prototype.push = function (chunk, final) {\n Inflate.prototype.e.call(this, chunk);\n this.r += chunk.length;\n if (this.v) {\n var p = this.p.subarray(this.v - 1);\n var s = p.length > 3 ? gzs(p) : 4;\n if (s > p.length) {\n if (!final)\n return;\n }\n else if (this.v > 1 && this.onmember) {\n this.onmember(this.r - p.length);\n }\n this.p = p.subarray(s), this.v = 0;\n }\n // necessary to prevent TS from using the closure value\n // This allows for workerization to function correctly\n Inflate.prototype.c.call(this, final);\n // process concatenated GZIP\n if (this.s.f && !this.s.l) {\n this.v = shft(this.s.p) + 9;\n this.s = { i: 0 };\n this.o = new u8(0);\n if (this.p.length)\n this.push(new u8(0), final);\n }\n };\n return Gunzip;\n}());\nexport { Gunzip };\n/**\n * Asynchronous streaming single or multi-member GZIP decompression\n */\nvar AsyncGunzip = /*#__PURE__*/ (function () {\n function AsyncGunzip(opts, cb) {\n var _this_1 = this;\n astrmify([\n bInflt,\n guze,\n function () { return [astrm, Inflate, Gunzip]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Gunzip(ev.data);\n strm.onmember = function (offset) { return postMessage(offset); };\n onmessage = astrm(strm);\n }, 9, function (offset) { return _this_1.onmember && _this_1.onmember(offset); });\n }\n return AsyncGunzip;\n}());\nexport { AsyncGunzip };\nexport function gunzip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bInflt,\n guze,\n function () { return [gunzipSync]; }\n ], function (ev) { return pbf(gunzipSync(ev.data[0], ev.data[1])); }, 3, cb);\n}\n/**\n * Expands GZIP data\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */\nexport function gunzipSync(data, opts) {\n var st = gzs(data);\n if (st + 8 > data.length)\n err(6, 'invalid gzip data');\n return inflt(data.subarray(st, -8), { i: 2 }, opts && opts.out || new u8(gzl(data)), opts && opts.dictionary);\n}\n/**\n * Streaming Zlib compression\n */\nvar Zlib = /*#__PURE__*/ (function () {\n function Zlib(opts, cb) {\n this.c = adler();\n this.v = 1;\n Deflate.call(this, opts, cb);\n }\n /**\n * Pushes a chunk to be zlibbed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Zlib.prototype.push = function (chunk, final) {\n this.c.p(chunk);\n Deflate.prototype.push.call(this, chunk, final);\n };\n Zlib.prototype.p = function (c, f) {\n var raw = dopt(c, this.o, this.v && (this.o.dictionary ? 6 : 2), f && 4, this.s);\n if (this.v)\n zlh(raw, this.o), this.v = 0;\n if (f)\n wbytes(raw, raw.length - 4, this.c.d());\n this.ondata(raw, f);\n };\n return Zlib;\n}());\nexport { Zlib };\n/**\n * Asynchronous streaming Zlib compression\n */\nvar AsyncZlib = /*#__PURE__*/ (function () {\n function AsyncZlib(opts, cb) {\n astrmify([\n bDflt,\n zle,\n function () { return [astrm, Deflate, Zlib]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Zlib(ev.data);\n onmessage = astrm(strm);\n }, 10);\n }\n return AsyncZlib;\n}());\nexport { AsyncZlib };\nexport function zlib(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bDflt,\n zle,\n function () { return [zlibSync]; }\n ], function (ev) { return pbf(zlibSync(ev.data[0], ev.data[1])); }, 4, cb);\n}\n/**\n * Compress data with Zlib\n * @param data The data to compress\n * @param opts The compression options\n * @returns The zlib-compressed version of the data\n */\nexport function zlibSync(data, opts) {\n if (!opts)\n opts = {};\n var a = adler();\n a.p(data);\n var d = dopt(data, opts, opts.dictionary ? 6 : 2, 4);\n return zlh(d, opts), wbytes(d, d.length - 4, a.d()), d;\n}\n/**\n * Streaming Zlib decompression\n */\nvar Unzlib = /*#__PURE__*/ (function () {\n function Unzlib(opts, cb) {\n Inflate.call(this, opts, cb);\n this.v = opts && opts.dictionary ? 2 : 1;\n }\n /**\n * Pushes a chunk to be unzlibbed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Unzlib.prototype.push = function (chunk, final) {\n Inflate.prototype.e.call(this, chunk);\n if (this.v) {\n if (this.p.length < 6 && !final)\n return;\n this.p = this.p.subarray(zls(this.p, this.v - 1)), this.v = 0;\n }\n if (final) {\n if (this.p.length < 4)\n err(6, 'invalid zlib data');\n this.p = this.p.subarray(0, -4);\n }\n // necessary to prevent TS from using the closure value\n // This allows for workerization to function correctly\n Inflate.prototype.c.call(this, final);\n };\n return Unzlib;\n}());\nexport { Unzlib };\n/**\n * Asynchronous streaming Zlib decompression\n */\nvar AsyncUnzlib = /*#__PURE__*/ (function () {\n function AsyncUnzlib(opts, cb) {\n astrmify([\n bInflt,\n zule,\n function () { return [astrm, Inflate, Unzlib]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Unzlib(ev.data);\n onmessage = astrm(strm);\n }, 11);\n }\n return AsyncUnzlib;\n}());\nexport { AsyncUnzlib };\nexport function unzlib(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bInflt,\n zule,\n function () { return [unzlibSync]; }\n ], function (ev) { return pbf(unzlibSync(ev.data[0], gopt(ev.data[1]))); }, 5, cb);\n}\n/**\n * Expands Zlib data\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */\nexport function unzlibSync(data, opts) {\n return inflt(data.subarray(zls(data, opts && opts.dictionary), -4), { i: 2 }, opts && opts.out, opts && opts.dictionary);\n}\n// Default algorithm for compression (used because having a known output size allows faster decompression)\nexport { gzip as compress, AsyncGzip as AsyncCompress };\nexport { gzipSync as compressSync, Gzip as Compress };\n/**\n * Streaming GZIP, Zlib, or raw DEFLATE decompression\n */\nvar Decompress = /*#__PURE__*/ (function () {\n function Decompress(opts, cb) {\n this.G = Gunzip;\n this.I = Inflate;\n this.Z = Unzlib;\n this.o = StrmOpt.call(this, opts, cb) || {};\n }\n /**\n * Pushes a chunk to be decompressed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Decompress.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n if (!this.s) {\n if (this.p && this.p.length) {\n var n = new u8(this.p.length + chunk.length);\n n.set(this.p), n.set(chunk, this.p.length);\n }\n else\n this.p = chunk;\n if (this.p.length > 2) {\n var _this_2 = this;\n // enables reuse of this method by AsyncDecompress\n var cb = function () { _this_2.ondata.apply(_this_2, arguments); };\n this.s = (this.p[0] == 31 && this.p[1] == 139 && this.p[2] == 8)\n ? new this.G(this.o, cb)\n : ((this.p[0] & 15) != 8 || (this.p[0] >> 4) > 7 || ((this.p[0] << 8 | this.p[1]) % 31))\n ? new this.I(this.o, cb)\n : new this.Z(this.o, cb);\n this.s.push(this.p, final);\n this.p = null;\n }\n }\n else\n this.s.push(chunk, final);\n };\n return Decompress;\n}());\nexport { Decompress };\n/**\n * Asynchronous streaming GZIP, Zlib, or raw DEFLATE decompression\n */\nvar AsyncDecompress = /*#__PURE__*/ (function () {\n function AsyncDecompress(opts, cb) {\n this.G = AsyncGunzip;\n this.I = AsyncInflate;\n this.Z = AsyncUnzlib;\n Decompress.call(this, opts, cb);\n }\n /**\n * Pushes a chunk to be decompressed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n AsyncDecompress.prototype.push = function (chunk, final) {\n Decompress.prototype.push.call(this, chunk, final);\n };\n return AsyncDecompress;\n}());\nexport { AsyncDecompress };\nexport function decompress(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return (data[0] == 31 && data[1] == 139 && data[2] == 8)\n ? gunzip(data, opts, cb)\n : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31))\n ? inflate(data, opts, cb)\n : unzlib(data, opts, cb);\n}\n/**\n * Expands compressed GZIP, Zlib, or raw DEFLATE data, automatically detecting the format\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */\nexport function decompressSync(data, opts) {\n return (data[0] == 31 && data[1] == 139 && data[2] == 8)\n ? gunzipSync(data, opts)\n : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31))\n ? inflateSync(data, opts)\n : unzlibSync(data, opts);\n}\n// flatten a directory structure\nvar fltn = function (d, p, t, o) {\n for (var k in d) {\n var val = d[k], n = p + k, op = o;\n if (Array.isArray(val))\n op = mrg(o, val[1]), val = val[0];\n if (val instanceof u8)\n t[n] = [val, op];\n else {\n t[n += '/'] = [new u8(0), op];\n fltn(val, n, t, o);\n }\n }\n};\n// text encoder\nvar te = typeof TextEncoder != 'undefined' && /*#__PURE__*/ new TextEncoder();\n// text decoder\nvar td = typeof TextDecoder != 'undefined' && /*#__PURE__*/ new TextDecoder();\n// text decoder stream\nvar tds = 0;\ntry {\n td.decode(et, { stream: true });\n tds = 1;\n}\ncatch (e) { }\n// decode UTF8\nvar dutf8 = function (d) {\n for (var r = '', i = 0;;) {\n var c = d[i++];\n var eb = (c > 127) + (c > 223) + (c > 239);\n if (i + eb > d.length)\n return { s: r, r: slc(d, i - 1) };\n if (!eb)\n r += String.fromCharCode(c);\n else if (eb == 3) {\n c = ((c & 15) << 18 | (d[i++] & 63) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63)) - 65536,\n r += String.fromCharCode(55296 | (c >> 10), 56320 | (c & 1023));\n }\n else if (eb & 1)\n r += String.fromCharCode((c & 31) << 6 | (d[i++] & 63));\n else\n r += String.fromCharCode((c & 15) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63));\n }\n};\n/**\n * Streaming UTF-8 decoding\n */\nvar DecodeUTF8 = /*#__PURE__*/ (function () {\n /**\n * Creates a UTF-8 decoding stream\n * @param cb The callback to call whenever data is decoded\n */\n function DecodeUTF8(cb) {\n this.ondata = cb;\n if (tds)\n this.t = new TextDecoder();\n else\n this.p = et;\n }\n /**\n * Pushes a chunk to be decoded from UTF-8 binary\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n DecodeUTF8.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n final = !!final;\n if (this.t) {\n this.ondata(this.t.decode(chunk, { stream: true }), final);\n if (final) {\n if (this.t.decode().length)\n err(8);\n this.t = null;\n }\n return;\n }\n if (!this.p)\n err(4);\n var dat = new u8(this.p.length + chunk.length);\n dat.set(this.p);\n dat.set(chunk, this.p.length);\n var _a = dutf8(dat), s = _a.s, r = _a.r;\n if (final) {\n if (r.length)\n err(8);\n this.p = null;\n }\n else\n this.p = r;\n this.ondata(s, final);\n };\n return DecodeUTF8;\n}());\nexport { DecodeUTF8 };\n/**\n * Streaming UTF-8 encoding\n */\nvar EncodeUTF8 = /*#__PURE__*/ (function () {\n /**\n * Creates a UTF-8 decoding stream\n * @param cb The callback to call whenever data is encoded\n */\n function EncodeUTF8(cb) {\n this.ondata = cb;\n }\n /**\n * Pushes a chunk to be encoded to UTF-8\n * @param chunk The string data to push\n * @param final Whether this is the last chunk\n */\n EncodeUTF8.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n if (this.d)\n err(4);\n this.ondata(strToU8(chunk), this.d = final || false);\n };\n return EncodeUTF8;\n}());\nexport { EncodeUTF8 };\n/**\n * Converts a string into a Uint8Array for use with compression/decompression methods\n * @param str The string to encode\n * @param latin1 Whether or not to interpret the data as Latin-1. This should\n * not need to be true unless decoding a binary string.\n * @returns The string encoded in UTF-8/Latin-1 binary\n */\nexport function strToU8(str, latin1) {\n if (latin1) {\n var ar_1 = new u8(str.length);\n for (var i = 0; i < str.length; ++i)\n ar_1[i] = str.charCodeAt(i);\n return ar_1;\n }\n if (te)\n return te.encode(str);\n var l = str.length;\n var ar = new u8(str.length + (str.length >> 1));\n var ai = 0;\n var w = function (v) { ar[ai++] = v; };\n for (var i = 0; i < l; ++i) {\n if (ai + 5 > ar.length) {\n var n = new u8(ai + 8 + ((l - i) << 1));\n n.set(ar);\n ar = n;\n }\n var c = str.charCodeAt(i);\n if (c < 128 || latin1)\n w(c);\n else if (c < 2048)\n w(192 | (c >> 6)), w(128 | (c & 63));\n else if (c > 55295 && c < 57344)\n c = 65536 + (c & 1023 << 10) | (str.charCodeAt(++i) & 1023),\n w(240 | (c >> 18)), w(128 | ((c >> 12) & 63)), w(128 | ((c >> 6) & 63)), w(128 | (c & 63));\n else\n w(224 | (c >> 12)), w(128 | ((c >> 6) & 63)), w(128 | (c & 63));\n }\n return slc(ar, 0, ai);\n}\n/**\n * Converts a Uint8Array to a string\n * @param dat The data to decode to string\n * @param latin1 Whether or not to interpret the data as Latin-1. This should\n * not need to be true unless encoding to binary string.\n * @returns The original UTF-8/Latin-1 string\n */\nexport function strFromU8(dat, latin1) {\n if (latin1) {\n var r = '';\n for (var i = 0; i < dat.length; i += 16384)\n r += String.fromCharCode.apply(null, dat.subarray(i, i + 16384));\n return r;\n }\n else if (td) {\n return td.decode(dat);\n }\n else {\n var _a = dutf8(dat), s = _a.s, r = _a.r;\n if (r.length)\n err(8);\n return s;\n }\n}\n;\n// deflate bit flag\nvar dbf = function (l) { return l == 1 ? 3 : l < 6 ? 2 : l == 9 ? 1 : 0; };\n// skip local zip header\nvar slzh = function (d, b) { return b + 30 + b2(d, b + 26) + b2(d, b + 28); };\n// read zip header\nvar zh = function (d, b, z) {\n var fnl = b2(d, b + 28), fn = strFromU8(d.subarray(b + 46, b + 46 + fnl), !(b2(d, b + 8) & 2048)), es = b + 46 + fnl, bs = b4(d, b + 20);\n var _a = z && bs == 4294967295 ? z64e(d, es) : [bs, b4(d, b + 24), b4(d, b + 42)], sc = _a[0], su = _a[1], off = _a[2];\n return [b2(d, b + 10), sc, su, fn, es + b2(d, b + 30) + b2(d, b + 32), off];\n};\n// read zip64 extra field\nvar z64e = function (d, b) {\n for (; b2(d, b) != 1; b += 4 + b2(d, b + 2))\n ;\n return [b8(d, b + 12), b8(d, b + 4), b8(d, b + 20)];\n};\n// extra field length\nvar exfl = function (ex) {\n var le = 0;\n if (ex) {\n for (var k in ex) {\n var l = ex[k].length;\n if (l > 65535)\n err(9);\n le += l + 4;\n }\n }\n return le;\n};\n// write zip header\nvar wzh = function (d, b, f, fn, u, c, ce, co) {\n var fl = fn.length, ex = f.extra, col = co && co.length;\n var exl = exfl(ex);\n wbytes(d, b, ce != null ? 0x2014B50 : 0x4034B50), b += 4;\n if (ce != null)\n d[b++] = 20, d[b++] = f.os;\n d[b] = 20, b += 2; // spec compliance? what's that?\n d[b++] = (f.flag << 1) | (c < 0 && 8), d[b++] = u && 8;\n d[b++] = f.compression & 255, d[b++] = f.compression >> 8;\n var dt = new Date(f.mtime == null ? Date.now() : f.mtime), y = dt.getFullYear() - 1980;\n if (y < 0 || y > 119)\n err(10);\n wbytes(d, b, (y << 25) | ((dt.getMonth() + 1) << 21) | (dt.getDate() << 16) | (dt.getHours() << 11) | (dt.getMinutes() << 5) | (dt.getSeconds() >> 1)), b += 4;\n if (c != -1) {\n wbytes(d, b, f.crc);\n wbytes(d, b + 4, c < 0 ? -c - 2 : c);\n wbytes(d, b + 8, f.size);\n }\n wbytes(d, b + 12, fl);\n wbytes(d, b + 14, exl), b += 16;\n if (ce != null) {\n wbytes(d, b, col);\n wbytes(d, b + 6, f.attrs);\n wbytes(d, b + 10, ce), b += 14;\n }\n d.set(fn, b);\n b += fl;\n if (exl) {\n for (var k in ex) {\n var exf = ex[k], l = exf.length;\n wbytes(d, b, +k);\n wbytes(d, b + 2, l);\n d.set(exf, b + 4), b += 4 + l;\n }\n }\n if (col)\n d.set(co, b), b += col;\n return b;\n};\n// write zip footer (end of central directory)\nvar wzf = function (o, b, c, d, e) {\n wbytes(o, b, 0x6054B50); // skip disk\n wbytes(o, b + 8, c);\n wbytes(o, b + 10, c);\n wbytes(o, b + 12, d);\n wbytes(o, b + 16, e);\n};\n/**\n * A pass-through stream to keep data uncompressed in a ZIP archive.\n */\nvar ZipPassThrough = /*#__PURE__*/ (function () {\n /**\n * Creates a pass-through stream that can be added to ZIP archives\n * @param filename The filename to associate with this data stream\n */\n function ZipPassThrough(filename) {\n this.filename = filename;\n this.c = crc();\n this.size = 0;\n this.compression = 0;\n }\n /**\n * Processes a chunk and pushes to the output stream. You can override this\n * method in a subclass for custom behavior, but by default this passes\n * the data through. You must call this.ondata(err, chunk, final) at some\n * point in this method.\n * @param chunk The chunk to process\n * @param final Whether this is the last chunk\n */\n ZipPassThrough.prototype.process = function (chunk, final) {\n this.ondata(null, chunk, final);\n };\n /**\n * Pushes a chunk to be added. If you are subclassing this with a custom\n * compression algorithm, note that you must push data from the source\n * file only, pre-compression.\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n ZipPassThrough.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n this.c.p(chunk);\n this.size += chunk.length;\n if (final)\n this.crc = this.c.d();\n this.process(chunk, final || false);\n };\n return ZipPassThrough;\n}());\nexport { ZipPassThrough };\n// I don't extend because TypeScript extension adds 1kB of runtime bloat\n/**\n * Streaming DEFLATE compression for ZIP archives. Prefer using AsyncZipDeflate\n * for better performance\n */\nvar ZipDeflate = /*#__PURE__*/ (function () {\n /**\n * Creates a DEFLATE stream that can be added to ZIP archives\n * @param filename The filename to associate with this data stream\n * @param opts The compression options\n */\n function ZipDeflate(filename, opts) {\n var _this_1 = this;\n if (!opts)\n opts = {};\n ZipPassThrough.call(this, filename);\n this.d = new Deflate(opts, function (dat, final) {\n _this_1.ondata(null, dat, final);\n });\n this.compression = 8;\n this.flag = dbf(opts.level);\n }\n ZipDeflate.prototype.process = function (chunk, final) {\n try {\n this.d.push(chunk, final);\n }\n catch (e) {\n this.ondata(e, null, final);\n }\n };\n /**\n * Pushes a chunk to be deflated\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n ZipDeflate.prototype.push = function (chunk, final) {\n ZipPassThrough.prototype.push.call(this, chunk, final);\n };\n return ZipDeflate;\n}());\nexport { ZipDeflate };\n/**\n * Asynchronous streaming DEFLATE compression for ZIP archives\n */\nvar AsyncZipDeflate = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous DEFLATE stream that can be added to ZIP archives\n * @param filename The filename to associate with this data stream\n * @param opts The compression options\n */\n function AsyncZipDeflate(filename, opts) {\n var _this_1 = this;\n if (!opts)\n opts = {};\n ZipPassThrough.call(this, filename);\n this.d = new AsyncDeflate(opts, function (err, dat, final) {\n _this_1.ondata(err, dat, final);\n });\n this.compression = 8;\n this.flag = dbf(opts.level);\n this.terminate = this.d.terminate;\n }\n AsyncZipDeflate.prototype.process = function (chunk, final) {\n this.d.push(chunk, final);\n };\n /**\n * Pushes a chunk to be deflated\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n AsyncZipDeflate.prototype.push = function (chunk, final) {\n ZipPassThrough.prototype.push.call(this, chunk, final);\n };\n return AsyncZipDeflate;\n}());\nexport { AsyncZipDeflate };\n// TODO: Better tree shaking\n/**\n * A zippable archive to which files can incrementally be added\n */\nvar Zip = /*#__PURE__*/ (function () {\n /**\n * Creates an empty ZIP archive to which files can be added\n * @param cb The callback to call whenever data for the generated ZIP archive\n * is available\n */\n function Zip(cb) {\n this.ondata = cb;\n this.u = [];\n this.d = 1;\n }\n /**\n * Adds a file to the ZIP archive\n * @param file The file stream to add\n */\n Zip.prototype.add = function (file) {\n var _this_1 = this;\n if (!this.ondata)\n err(5);\n // finishing or finished\n if (this.d & 2)\n this.ondata(err(4 + (this.d & 1) * 8, 0, 1), null, false);\n else {\n var f = strToU8(file.filename), fl_1 = f.length;\n var com = file.comment, o = com && strToU8(com);\n var u = fl_1 != file.filename.length || (o && (com.length != o.length));\n var hl_1 = fl_1 + exfl(file.extra) + 30;\n if (fl_1 > 65535)\n this.ondata(err(11, 0, 1), null, false);\n var header = new u8(hl_1);\n wzh(header, 0, file, f, u, -1);\n var chks_1 = [header];\n var pAll_1 = function () {\n for (var _i = 0, chks_2 = chks_1; _i < chks_2.length; _i++) {\n var chk = chks_2[_i];\n _this_1.ondata(null, chk, false);\n }\n chks_1 = [];\n };\n var tr_1 = this.d;\n this.d = 0;\n var ind_1 = this.u.length;\n var uf_1 = mrg(file, {\n f: f,\n u: u,\n o: o,\n t: function () {\n if (file.terminate)\n file.terminate();\n },\n r: function () {\n pAll_1();\n if (tr_1) {\n var nxt = _this_1.u[ind_1 + 1];\n if (nxt)\n nxt.r();\n else\n _this_1.d = 1;\n }\n tr_1 = 1;\n }\n });\n var cl_1 = 0;\n file.ondata = function (err, dat, final) {\n if (err) {\n _this_1.ondata(err, dat, final);\n _this_1.terminate();\n }\n else {\n cl_1 += dat.length;\n chks_1.push(dat);\n if (final) {\n var dd = new u8(16);\n wbytes(dd, 0, 0x8074B50);\n wbytes(dd, 4, file.crc);\n wbytes(dd, 8, cl_1);\n wbytes(dd, 12, file.size);\n chks_1.push(dd);\n uf_1.c = cl_1, uf_1.b = hl_1 + cl_1 + 16, uf_1.crc = file.crc, uf_1.size = file.size;\n if (tr_1)\n uf_1.r();\n tr_1 = 1;\n }\n else if (tr_1)\n pAll_1();\n }\n };\n this.u.push(uf_1);\n }\n };\n /**\n * Ends the process of adding files and prepares to emit the final chunks.\n * This *must* be called after adding all desired files for the resulting\n * ZIP file to work properly.\n */\n Zip.prototype.end = function () {\n var _this_1 = this;\n if (this.d & 2) {\n this.ondata(err(4 + (this.d & 1) * 8, 0, 1), null, true);\n return;\n }\n if (this.d)\n this.e();\n else\n this.u.push({\n r: function () {\n if (!(_this_1.d & 1))\n return;\n _this_1.u.splice(-1, 1);\n _this_1.e();\n },\n t: function () { }\n });\n this.d = 3;\n };\n Zip.prototype.e = function () {\n var bt = 0, l = 0, tl = 0;\n for (var _i = 0, _a = this.u; _i < _a.length; _i++) {\n var f = _a[_i];\n tl += 46 + f.f.length + exfl(f.extra) + (f.o ? f.o.length : 0);\n }\n var out = new u8(tl + 22);\n for (var _b = 0, _c = this.u; _b < _c.length; _b++) {\n var f = _c[_b];\n wzh(out, bt, f, f.f, f.u, -f.c - 2, l, f.o);\n bt += 46 + f.f.length + exfl(f.extra) + (f.o ? f.o.length : 0), l += f.b;\n }\n wzf(out, bt, this.u.length, tl, l);\n this.ondata(null, out, true);\n this.d = 2;\n };\n /**\n * A method to terminate any internal workers used by the stream. Subsequent\n * calls to add() will fail.\n */\n Zip.prototype.terminate = function () {\n for (var _i = 0, _a = this.u; _i < _a.length; _i++) {\n var f = _a[_i];\n f.t();\n }\n this.d = 2;\n };\n return Zip;\n}());\nexport { Zip };\nexport function zip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n var r = {};\n fltn(data, '', r, opts);\n var k = Object.keys(r);\n var lft = k.length, o = 0, tot = 0;\n var slft = lft, files = new Array(lft);\n var term = [];\n var tAll = function () {\n for (var i = 0; i < term.length; ++i)\n term[i]();\n };\n var cbd = function (a, b) {\n mt(function () { cb(a, b); });\n };\n mt(function () { cbd = cb; });\n var cbf = function () {\n var out = new u8(tot + 22), oe = o, cdl = tot - o;\n tot = 0;\n for (var i = 0; i < slft; ++i) {\n var f = files[i];\n try {\n var l = f.c.length;\n wzh(out, tot, f, f.f, f.u, l);\n var badd = 30 + f.f.length + exfl(f.extra);\n var loc = tot + badd;\n out.set(f.c, loc);\n wzh(out, o, f, f.f, f.u, l, tot, f.m), o += 16 + badd + (f.m ? f.m.length : 0), tot = loc + l;\n }\n catch (e) {\n return cbd(e, null);\n }\n }\n wzf(out, o, files.length, cdl, oe);\n cbd(null, out);\n };\n if (!lft)\n cbf();\n var _loop_1 = function (i) {\n var fn = k[i];\n var _a = r[fn], file = _a[0], p = _a[1];\n var c = crc(), size = file.length;\n c.p(file);\n var f = strToU8(fn), s = f.length;\n var com = p.comment, m = com && strToU8(com), ms = m && m.length;\n var exl = exfl(p.extra);\n var compression = p.level == 0 ? 0 : 8;\n var cbl = function (e, d) {\n if (e) {\n tAll();\n cbd(e, null);\n }\n else {\n var l = d.length;\n files[i] = mrg(p, {\n size: size,\n crc: c.d(),\n c: d,\n f: f,\n m: m,\n u: s != fn.length || (m && (com.length != ms)),\n compression: compression\n });\n o += 30 + s + exl + l;\n tot += 76 + 2 * (s + exl) + (ms || 0) + l;\n if (!--lft)\n cbf();\n }\n };\n if (s > 65535)\n cbl(err(11, 0, 1), null);\n if (!compression)\n cbl(null, file);\n else if (size < 160000) {\n try {\n cbl(null, deflateSync(file, p));\n }\n catch (e) {\n cbl(e, null);\n }\n }\n else\n term.push(deflate(file, p, cbl));\n };\n // Cannot use lft because it can decrease\n for (var i = 0; i < slft; ++i) {\n _loop_1(i);\n }\n return tAll;\n}\n/**\n * Synchronously creates a ZIP file. Prefer using `zip` for better performance\n * with more than one file.\n * @param data The directory structure for the ZIP archive\n * @param opts The main options, merged with per-file options\n * @returns The generated ZIP archive\n */\nexport function zipSync(data, opts) {\n if (!opts)\n opts = {};\n var r = {};\n var files = [];\n fltn(data, '', r, opts);\n var o = 0;\n var tot = 0;\n for (var fn in r) {\n var _a = r[fn], file = _a[0], p = _a[1];\n var compression = p.level == 0 ? 0 : 8;\n var f = strToU8(fn), s = f.length;\n var com = p.comment, m = com && strToU8(com), ms = m && m.length;\n var exl = exfl(p.extra);\n if (s > 65535)\n err(11);\n var d = compression ? deflateSync(file, p) : file, l = d.length;\n var c = crc();\n c.p(file);\n files.push(mrg(p, {\n size: file.length,\n crc: c.d(),\n c: d,\n f: f,\n m: m,\n u: s != fn.length || (m && (com.length != ms)),\n o: o,\n compression: compression\n }));\n o += 30 + s + exl + l;\n tot += 76 + 2 * (s + exl) + (ms || 0) + l;\n }\n var out = new u8(tot + 22), oe = o, cdl = tot - o;\n for (var i = 0; i < files.length; ++i) {\n var f = files[i];\n wzh(out, f.o, f, f.f, f.u, f.c.length);\n var badd = 30 + f.f.length + exfl(f.extra);\n out.set(f.c, f.o + badd);\n wzh(out, o, f, f.f, f.u, f.c.length, f.o, f.m), o += 16 + badd + (f.m ? f.m.length : 0);\n }\n wzf(out, o, files.length, cdl, oe);\n return out;\n}\n/**\n * Streaming pass-through decompression for ZIP archives\n */\nvar UnzipPassThrough = /*#__PURE__*/ (function () {\n function UnzipPassThrough() {\n }\n UnzipPassThrough.prototype.push = function (data, final) {\n this.ondata(null, data, final);\n };\n UnzipPassThrough.compression = 0;\n return UnzipPassThrough;\n}());\nexport { UnzipPassThrough };\n/**\n * Streaming DEFLATE decompression for ZIP archives. Prefer AsyncZipInflate for\n * better performance.\n */\nvar UnzipInflate = /*#__PURE__*/ (function () {\n /**\n * Creates a DEFLATE decompression that can be used in ZIP archives\n */\n function UnzipInflate() {\n var _this_1 = this;\n this.i = new Inflate(function (dat, final) {\n _this_1.ondata(null, dat, final);\n });\n }\n UnzipInflate.prototype.push = function (data, final) {\n try {\n this.i.push(data, final);\n }\n catch (e) {\n this.ondata(e, null, final);\n }\n };\n UnzipInflate.compression = 8;\n return UnzipInflate;\n}());\nexport { UnzipInflate };\n/**\n * Asynchronous streaming DEFLATE decompression for ZIP archives\n */\nvar AsyncUnzipInflate = /*#__PURE__*/ (function () {\n /**\n * Creates a DEFLATE decompression that can be used in ZIP archives\n */\n function AsyncUnzipInflate(_, sz) {\n var _this_1 = this;\n if (sz < 320000) {\n this.i = new Inflate(function (dat, final) {\n _this_1.ondata(null, dat, final);\n });\n }\n else {\n this.i = new AsyncInflate(function (err, dat, final) {\n _this_1.ondata(err, dat, final);\n });\n this.terminate = this.i.terminate;\n }\n }\n AsyncUnzipInflate.prototype.push = function (data, final) {\n if (this.i.terminate)\n data = slc(data, 0);\n this.i.push(data, final);\n };\n AsyncUnzipInflate.compression = 8;\n return AsyncUnzipInflate;\n}());\nexport { AsyncUnzipInflate };\n/**\n * A ZIP archive decompression stream that emits files as they are discovered\n */\nvar Unzip = /*#__PURE__*/ (function () {\n /**\n * Creates a ZIP decompression stream\n * @param cb The callback to call whenever a file in the ZIP archive is found\n */\n function Unzip(cb) {\n this.onfile = cb;\n this.k = [];\n this.o = {\n 0: UnzipPassThrough\n };\n this.p = et;\n }\n /**\n * Pushes a chunk to be unzipped\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Unzip.prototype.push = function (chunk, final) {\n var _this_1 = this;\n if (!this.onfile)\n err(5);\n if (!this.p)\n err(4);\n if (this.c > 0) {\n var len = Math.min(this.c, chunk.length);\n var toAdd = chunk.subarray(0, len);\n this.c -= len;\n if (this.d)\n this.d.push(toAdd, !this.c);\n else\n this.k[0].push(toAdd);\n chunk = chunk.subarray(len);\n if (chunk.length)\n return this.push(chunk, final);\n }\n else {\n var f = 0, i = 0, is = void 0, buf = void 0;\n if (!this.p.length)\n buf = chunk;\n else if (!chunk.length)\n buf = this.p;\n else {\n buf = new u8(this.p.length + chunk.length);\n buf.set(this.p), buf.set(chunk, this.p.length);\n }\n var l = buf.length, oc = this.c, add = oc && this.d;\n var _loop_2 = function () {\n var _a;\n var sig = b4(buf, i);\n if (sig == 0x4034B50) {\n f = 1, is = i;\n this_1.d = null;\n this_1.c = 0;\n var bf = b2(buf, i + 6), cmp_1 = b2(buf, i + 8), u = bf & 2048, dd = bf & 8, fnl = b2(buf, i + 26), es = b2(buf, i + 28);\n if (l > i + 30 + fnl + es) {\n var chks_3 = [];\n this_1.k.unshift(chks_3);\n f = 2;\n var sc_1 = b4(buf, i + 18), su_1 = b4(buf, i + 22);\n var fn_1 = strFromU8(buf.subarray(i + 30, i += 30 + fnl), !u);\n if (sc_1 == 4294967295) {\n _a = dd ? [-2] : z64e(buf, i), sc_1 = _a[0], su_1 = _a[1];\n }\n else if (dd)\n sc_1 = -1;\n i += es;\n this_1.c = sc_1;\n var d_1;\n var file_1 = {\n name: fn_1,\n compression: cmp_1,\n start: function () {\n if (!file_1.ondata)\n err(5);\n if (!sc_1)\n file_1.ondata(null, et, true);\n else {\n var ctr = _this_1.o[cmp_1];\n if (!ctr)\n file_1.ondata(err(14, 'unknown compression type ' + cmp_1, 1), null, false);\n d_1 = sc_1 < 0 ? new ctr(fn_1) : new ctr(fn_1, sc_1, su_1);\n d_1.ondata = function (err, dat, final) { file_1.ondata(err, dat, final); };\n for (var _i = 0, chks_4 = chks_3; _i < chks_4.length; _i++) {\n var dat = chks_4[_i];\n d_1.push(dat, false);\n }\n if (_this_1.k[0] == chks_3 && _this_1.c)\n _this_1.d = d_1;\n else\n d_1.push(et, true);\n }\n },\n terminate: function () {\n if (d_1 && d_1.terminate)\n d_1.terminate();\n }\n };\n if (sc_1 >= 0)\n file_1.size = sc_1, file_1.originalSize = su_1;\n this_1.onfile(file_1);\n }\n return \"break\";\n }\n else if (oc) {\n if (sig == 0x8074B50) {\n is = i += 12 + (oc == -2 && 8), f = 3, this_1.c = 0;\n return \"break\";\n }\n else if (sig == 0x2014B50) {\n is = i -= 4, f = 3, this_1.c = 0;\n return \"break\";\n }\n }\n };\n var this_1 = this;\n for (; i < l - 4; ++i) {\n var state_1 = _loop_2();\n if (state_1 === \"break\")\n break;\n }\n this.p = et;\n if (oc < 0) {\n var dat = f ? buf.subarray(0, is - 12 - (oc == -2 && 8) - (b4(buf, is - 16) == 0x8074B50 && 4)) : buf.subarray(0, i);\n if (add)\n add.push(dat, !!f);\n else\n this.k[+(f == 2)].push(dat);\n }\n if (f & 2)\n return this.push(buf.subarray(i), final);\n this.p = buf.subarray(i);\n }\n if (final) {\n if (this.c)\n err(13);\n this.p = null;\n }\n };\n /**\n * Registers a decoder with the stream, allowing for files compressed with\n * the compression type provided to be expanded correctly\n * @param decoder The decoder constructor\n */\n Unzip.prototype.register = function (decoder) {\n this.o[decoder.compression] = decoder;\n };\n return Unzip;\n}());\nexport { Unzip };\nvar mt = typeof queueMicrotask == 'function' ? queueMicrotask : typeof setTimeout == 'function' ? setTimeout : function (fn) { fn(); };\nexport function unzip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n var term = [];\n var tAll = function () {\n for (var i = 0; i < term.length; ++i)\n term[i]();\n };\n var files = {};\n var cbd = function (a, b) {\n mt(function () { cb(a, b); });\n };\n mt(function () { cbd = cb; });\n var e = data.length - 22;\n for (; b4(data, e) != 0x6054B50; --e) {\n if (!e || data.length - e > 65558) {\n cbd(err(13, 0, 1), null);\n return tAll;\n }\n }\n ;\n var lft = b2(data, e + 8);\n if (lft) {\n var c = lft;\n var o = b4(data, e + 16);\n var z = o == 4294967295 || c == 65535;\n if (z) {\n var ze = b4(data, e - 12);\n z = b4(data, ze) == 0x6064B50;\n if (z) {\n c = lft = b4(data, ze + 32);\n o = b4(data, ze + 48);\n }\n }\n var fltr = opts && opts.filter;\n var _loop_3 = function (i) {\n var _a = zh(data, o, z), c_1 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);\n o = no;\n var cbl = function (e, d) {\n if (e) {\n tAll();\n cbd(e, null);\n }\n else {\n if (d)\n files[fn] = d;\n if (!--lft)\n cbd(null, files);\n }\n };\n if (!fltr || fltr({\n name: fn,\n size: sc,\n originalSize: su,\n compression: c_1\n })) {\n if (!c_1)\n cbl(null, slc(data, b, b + sc));\n else if (c_1 == 8) {\n var infl = data.subarray(b, b + sc);\n if (sc < 320000) {\n try {\n cbl(null, inflateSync(infl, { out: new u8(su) }));\n }\n catch (e) {\n cbl(e, null);\n }\n }\n else\n term.push(inflate(infl, { size: su }, cbl));\n }\n else\n cbl(err(14, 'unknown compression type ' + c_1, 1), null);\n }\n else\n cbl(null, null);\n };\n for (var i = 0; i < c; ++i) {\n _loop_3(i);\n }\n }\n else\n cbd(null, {});\n return tAll;\n}\n/**\n * Synchronously decompresses a ZIP archive. Prefer using `unzip` for better\n * performance with more than one file.\n * @param data The raw compressed ZIP file\n * @param opts The ZIP extraction options\n * @returns The decompressed files\n */\nexport function unzipSync(data, opts) {\n var files = {};\n var e = data.length - 22;\n for (; b4(data, e) != 0x6054B50; --e) {\n if (!e || data.length - e > 65558)\n err(13);\n }\n ;\n var c = b2(data, e + 8);\n if (!c)\n return {};\n var o = b4(data, e + 16);\n var z = o == 4294967295 || c == 65535;\n if (z) {\n var ze = b4(data, e - 12);\n z = b4(data, ze) == 0x6064B50;\n if (z) {\n c = b4(data, ze + 32);\n o = b4(data, ze + 48);\n }\n }\n var fltr = opts && opts.filter;\n for (var i = 0; i < c; ++i) {\n var _a = zh(data, o, z), c_2 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);\n o = no;\n if (!fltr || fltr({\n name: fn,\n size: sc,\n originalSize: su,\n compression: c_2\n })) {\n if (!c_2)\n files[fn] = slc(data, b, b + sc);\n else if (c_2 == 8)\n files[fn] = inflateSync(data.subarray(b, b + sc), { out: new u8(su) });\n else\n err(14, 'unknown compression type ' + c_2);\n }\n }\n return files;\n}\n","/**\n * @license\n * jsPDF filters PlugIn\n * Copyright (c) 2014 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { zlibSync } from \"../libs/fflate.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var ASCII85Encode = function(a) {\n var b, c, d, e, f, g, h, i, j, k;\n // eslint-disable-next-line no-control-regex\n for (\n !/[^\\x00-\\xFF]/.test(a),\n b = \"\\x00\\x00\\x00\\x00\".slice(a.length % 4 || 4),\n a += b,\n c = [],\n d = 0,\n e = a.length;\n e > d;\n d += 4\n )\n (f =\n (a.charCodeAt(d) << 24) +\n (a.charCodeAt(d + 1) << 16) +\n (a.charCodeAt(d + 2) << 8) +\n a.charCodeAt(d + 3)),\n 0 !== f\n ? ((k = f % 85),\n (f = (f - k) / 85),\n (j = f % 85),\n (f = (f - j) / 85),\n (i = f % 85),\n (f = (f - i) / 85),\n (h = f % 85),\n (f = (f - h) / 85),\n (g = f % 85),\n c.push(g + 33, h + 33, i + 33, j + 33, k + 33))\n : c.push(122);\n return (\n (function(a, b) {\n for (var c = b; c > 0; c--) a.pop();\n })(c, b.length),\n String.fromCharCode.apply(String, c) + \"~>\"\n );\n };\n\n var ASCII85Decode = function(a) {\n var c,\n d,\n e,\n f,\n g,\n h = String,\n l = \"length\",\n w = 255,\n x = \"charCodeAt\",\n y = \"slice\",\n z = \"replace\";\n for (\n \"~>\" === a[y](-2),\n a = a[y](0, -2)\n [z](/\\s/g, \"\")\n [z](\"z\", \"!!!!!\"),\n c = \"uuuuu\"[y](a[l] % 5 || 5),\n a += c,\n e = [],\n f = 0,\n g = a[l];\n g > f;\n f += 5\n )\n (d =\n 52200625 * (a[x](f) - 33) +\n 614125 * (a[x](f + 1) - 33) +\n 7225 * (a[x](f + 2) - 33) +\n 85 * (a[x](f + 3) - 33) +\n (a[x](f + 4) - 33)),\n e.push(w & (d >> 24), w & (d >> 16), w & (d >> 8), w & d);\n return (\n (function(a, b) {\n for (var c = b; c > 0; c--) a.pop();\n })(e, c[l]),\n h.fromCharCode.apply(h, e)\n );\n };\n\n var ASCIIHexEncode = function(value) {\n return (\n value\n .split(\"\")\n .map(function(value) {\n return (\"0\" + value.charCodeAt().toString(16)).slice(-2);\n })\n .join(\"\") + \">\"\n );\n };\n\n var ASCIIHexDecode = function(value) {\n var regexCheckIfHex = new RegExp(/^([0-9A-Fa-f]{2})+$/);\n value = value.replace(/\\s/g, \"\");\n if (value.indexOf(\">\") !== -1) {\n value = value.substr(0, value.indexOf(\">\"));\n }\n if (value.length % 2) {\n value += \"0\";\n }\n if (regexCheckIfHex.test(value) === false) {\n return \"\";\n }\n var result = \"\";\n for (var i = 0; i < value.length; i += 2) {\n result += String.fromCharCode(\"0x\" + (value[i] + value[i + 1]));\n }\n return result;\n };\n /*\n var FlatePredictors = {\n None: 1,\n TIFF: 2,\n PNG_None: 10,\n PNG_Sub: 11,\n PNG_Up: 12,\n PNG_Average: 13,\n PNG_Paeth: 14,\n PNG_Optimum: 15\n };\n */\n\n var FlateEncode = function(data) {\n var arr = new Uint8Array(data.length);\n var i = data.length;\n while (i--) {\n arr[i] = data.charCodeAt(i);\n }\n arr = zlibSync(arr);\n data = arr.reduce(function(data, byte) {\n return data + String.fromCharCode(byte);\n }, \"\");\n return data;\n };\n\n jsPDFAPI.processDataByFilters = function(origData, filterChain) {\n \"use strict\";\n var i = 0;\n var data = origData || \"\";\n var reverseChain = [];\n filterChain = filterChain || [];\n\n if (typeof filterChain === \"string\") {\n filterChain = [filterChain];\n }\n\n for (i = 0; i < filterChain.length; i += 1) {\n switch (filterChain[i]) {\n case \"ASCII85Decode\":\n case \"/ASCII85Decode\":\n data = ASCII85Decode(data);\n reverseChain.push(\"/ASCII85Encode\");\n break;\n case \"ASCII85Encode\":\n case \"/ASCII85Encode\":\n data = ASCII85Encode(data);\n reverseChain.push(\"/ASCII85Decode\");\n break;\n case \"ASCIIHexDecode\":\n case \"/ASCIIHexDecode\":\n data = ASCIIHexDecode(data);\n reverseChain.push(\"/ASCIIHexEncode\");\n break;\n case \"ASCIIHexEncode\":\n case \"/ASCIIHexEncode\":\n data = ASCIIHexEncode(data);\n reverseChain.push(\"/ASCIIHexDecode\");\n break;\n case \"FlateEncode\":\n case \"/FlateEncode\":\n data = FlateEncode(data);\n reverseChain.push(\"/FlateDecode\");\n break;\n default:\n throw new Error(\n 'The filter: \"' + filterChain[i] + '\" is not implemented'\n );\n }\n }\n\n return { data: data, reverseChain: reverseChain.reverse().join(\" \") };\n };\n})(jsPDF.API);\n","/**\n * @license\n * jsPDF fileloading PlugIn\n * Copyright (c) 2018 Aras Abbasi (aras.abbasi@gmail.com)\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name fileloading\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @name loadFile\n * @function\n * @param {string} url\n * @param {boolean} sync\n * @param {function} callback\n * @returns {string|undefined} result\n */\n jsPDFAPI.loadFile = function(url, sync, callback) {\n return browserRequest(url, sync, callback);\n\n };\n\n /**\n * @name loadImageFile\n * @function\n * @param {string} path\n * @param {boolean} sync\n * @param {function} callback\n */\n jsPDFAPI.loadImageFile = jsPDFAPI.loadFile;\n\n function browserRequest(url, sync, callback) {\n sync = sync === false ? false : true;\n callback = typeof callback === \"function\" ? callback : function() {};\n var result = undefined;\n\n var xhr = function(url, sync, callback) {\n var request = new XMLHttpRequest();\n var i = 0;\n\n var sanitizeUnicode = function(data) {\n var dataLength = data.length;\n var charArray = [];\n var StringFromCharCode = String.fromCharCode;\n\n //Transform Unicode to ASCII\n for (i = 0; i < dataLength; i += 1) {\n charArray.push(StringFromCharCode(data.charCodeAt(i) & 0xff));\n }\n return charArray.join(\"\");\n };\n\n request.open(\"GET\", url, !sync);\n // XHR binary charset opt by Marcus Granado 2006 [http://mgran.blogspot.com]\n request.overrideMimeType(\"text/plain; charset=x-user-defined\");\n\n if (sync === false) {\n request.onload = function() {\n if (request.status === 200) {\n callback(sanitizeUnicode(this.responseText));\n } else {\n callback(undefined);\n }\n };\n }\n request.send(null);\n\n if (sync && request.status === 200) {\n return sanitizeUnicode(request.responseText);\n }\n };\n try {\n result = xhr(url, sync, callback);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n return result;\n }\n\n function nodeReadFile(url, sync, callback) {\n sync = sync === false ? false : true;\n var result = undefined;\n\n var fs = require(\"fs\");\n var path = require(\"path\");\n\n url = path.resolve(url);\n if (sync) {\n try {\n result = fs.readFileSync(url, { encoding: \"latin1\" });\n } catch (e) {\n return undefined;\n }\n } else {\n fs.readFile(url, { encoding: \"latin1\" }, function(err, data) {\n if (!callback) {\n return;\n }\n if (err) {\n callback(undefined);\n }\n callback(data);\n });\n }\n\n return result;\n }\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2018 Erik Koopmans\n * Released under the MIT License.\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { normalizeFontFace } from \"../libs/fontFace.js\";\nimport { globalObject } from \"../libs/globalObject.js\";\n\n/**\n * jsPDF html PlugIn\n *\n * @name html\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n function loadHtml2Canvas() {\n return (function() {\n if (globalObject[\"html2canvas\"]) {\n return Promise.resolve(globalObject[\"html2canvas\"]);\n }\n\n\n if (typeof exports === \"object\" && typeof module !== \"undefined\") {\n return new Promise(function(resolve, reject) {\n try {\n resolve(require(\"html2canvas\"));\n } catch (e) {\n reject(e);\n }\n });\n }\n if (typeof define === \"function\" && define.amd) {\n return new Promise(function(resolve, reject) {\n try {\n require([\"html2canvas\"], resolve);\n } catch (e) {\n reject(e);\n }\n });\n }\n return Promise.reject(new Error(\"Could not load html2canvas\"));\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load html2canvas: \" + e));\n })\n .then(function(html2canvas) {\n return html2canvas.default ? html2canvas.default : html2canvas;\n });\n }\n\n function loadDomPurify() {\n return (function() {\n if (globalObject[\"DOMPurify\"]) {\n return Promise.resolve(globalObject[\"DOMPurify\"]);\n }\n\n\n if (typeof exports === \"object\" && typeof module !== \"undefined\") {\n return new Promise(function(resolve, reject) {\n try {\n resolve(require(\"dompurify\"));\n } catch (e) {\n reject(e);\n }\n });\n }\n if (typeof define === \"function\" && define.amd) {\n return new Promise(function(resolve, reject) {\n try {\n require([\"dompurify\"], resolve);\n } catch (e) {\n reject(e);\n }\n });\n }\n return Promise.reject(new Error(\"Could not load dompurify\"));\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load dompurify: \" + e));\n })\n .then(function(dompurify) {\n return dompurify.default ? dompurify.default : dompurify;\n });\n }\n\n /**\n * Determine the type of a variable/object.\n *\n * @private\n * @ignore\n */\n var objType = function(obj) {\n var type = typeof obj;\n if (type === \"undefined\") return \"undefined\";\n else if (type === \"string\" || obj instanceof String) return \"string\";\n else if (type === \"number\" || obj instanceof Number) return \"number\";\n else if (type === \"function\" || obj instanceof Function) return \"function\";\n else if (!!obj && obj.constructor === Array) return \"array\";\n else if (obj && obj.nodeType === 1) return \"element\";\n else if (type === \"object\") return \"object\";\n else return \"unknown\";\n };\n\n /**\n * Create an HTML element with optional className, innerHTML, and style.\n *\n * @private\n * @ignore\n */\n var createElement = function(tagName, opt) {\n var el = document.createElement(tagName);\n if (opt.className) el.className = opt.className;\n if (opt.innerHTML && opt.dompurify) {\n el.innerHTML = opt.dompurify.sanitize(opt.innerHTML);\n }\n for (var key in opt.style) {\n el.style[key] = opt.style[key];\n }\n return el;\n };\n\n /**\n * Deep-clone a node and preserve contents/properties.\n *\n * @private\n * @ignore\n */\n var cloneNode = function(node, javascriptEnabled) {\n // Recursively clone the node.\n var clone =\n node.nodeType === 3\n ? document.createTextNode(node.nodeValue)\n : node.cloneNode(false);\n for (var child = node.firstChild; child; child = child.nextSibling) {\n if (\n javascriptEnabled === true ||\n child.nodeType !== 1 ||\n child.nodeName !== \"SCRIPT\"\n ) {\n clone.appendChild(cloneNode(child, javascriptEnabled));\n }\n }\n\n if (node.nodeType === 1) {\n // Preserve contents/properties of special nodes.\n if (node.nodeName === \"CANVAS\") {\n clone.width = node.width;\n clone.height = node.height;\n clone.getContext(\"2d\").drawImage(node, 0, 0);\n } else if (node.nodeName === \"TEXTAREA\" || node.nodeName === \"SELECT\") {\n clone.value = node.value;\n }\n\n // Preserve the node's scroll position when it loads.\n clone.addEventListener(\n \"load\",\n function() {\n clone.scrollTop = node.scrollTop;\n clone.scrollLeft = node.scrollLeft;\n },\n true\n );\n }\n\n // Return the cloned node.\n return clone;\n };\n\n /* ----- CONSTRUCTOR ----- */\n\n var Worker = function Worker(opt) {\n // Create the root parent for the proto chain, and the starting Worker.\n var root = Object.assign(\n Worker.convert(Promise.resolve()),\n JSON.parse(JSON.stringify(Worker.template))\n );\n var self = Worker.convert(Promise.resolve(), root);\n\n // Set progress, optional settings, and return.\n self = self.setProgress(1, Worker, 1, [Worker]);\n self = self.set(opt);\n return self;\n };\n\n // Boilerplate for subclassing Promise.\n Worker.prototype = Object.create(Promise.prototype);\n Worker.prototype.constructor = Worker;\n\n // Converts/casts promises into Workers.\n Worker.convert = function convert(promise, inherit) {\n // Uses prototypal inheritance to receive changes made to ancestors' properties.\n promise.__proto__ = inherit || Worker.prototype;\n return promise;\n };\n\n Worker.template = {\n prop: {\n src: null,\n container: null,\n overlay: null,\n canvas: null,\n img: null,\n pdf: null,\n pageSize: null,\n callback: function() {}\n },\n progress: {\n val: 0,\n state: null,\n n: 0,\n stack: []\n },\n opt: {\n filename: \"file.pdf\",\n margin: [0, 0, 0, 0],\n enableLinks: true,\n x: 0,\n y: 0,\n html2canvas: {},\n jsPDF: {},\n backgroundColor: \"transparent\"\n }\n };\n\n /* ----- FROM / TO ----- */\n\n Worker.prototype.from = function from(src, type) {\n function getType(src) {\n switch (objType(src)) {\n case \"string\":\n return \"string\";\n case \"element\":\n return src.nodeName.toLowerCase() === \"canvas\" ? \"canvas\" : \"element\";\n default:\n return \"unknown\";\n }\n }\n\n return this.then(function from_main() {\n type = type || getType(src);\n switch (type) {\n case \"string\":\n return this.then(loadDomPurify).then(function(dompurify) {\n return this.set({\n src: createElement(\"div\", {\n innerHTML: src,\n dompurify: dompurify\n })\n });\n });\n case \"element\":\n return this.set({ src: src });\n case \"canvas\":\n return this.set({ canvas: src });\n case \"img\":\n return this.set({ img: src });\n default:\n return this.error(\"Unknown source type.\");\n }\n });\n };\n\n Worker.prototype.to = function to(target) {\n // Route the 'to' request to the appropriate method.\n switch (target) {\n case \"container\":\n return this.toContainer();\n case \"canvas\":\n return this.toCanvas();\n case \"img\":\n return this.toImg();\n case \"pdf\":\n return this.toPdf();\n default:\n return this.error(\"Invalid target.\");\n }\n };\n\n Worker.prototype.toContainer = function toContainer() {\n // Set up function prerequisites.\n var prereqs = [\n function checkSrc() {\n return (\n this.prop.src || this.error(\"Cannot duplicate - no source HTML.\")\n );\n },\n function checkPageSize() {\n return this.prop.pageSize || this.setPageSize();\n }\n ];\n return this.thenList(prereqs).then(function toContainer_main() {\n // Define the CSS styles for the container and its overlay parent.\n var overlayCSS = {\n position: \"fixed\",\n overflow: \"hidden\",\n zIndex: 1000,\n left: \"-100000px\",\n right: 0,\n bottom: 0,\n top: 0\n };\n var containerCSS = {\n position: \"relative\",\n display: \"inline-block\",\n width:\n (typeof this.opt.width === \"number\" &&\n !isNaN(this.opt.width) &&\n typeof this.opt.windowWidth === \"number\" &&\n !isNaN(this.opt.windowWidth)\n ? this.opt.windowWidth\n : Math.max(\n this.prop.src.clientWidth,\n this.prop.src.scrollWidth,\n this.prop.src.offsetWidth\n )) + \"px\",\n left: 0,\n right: 0,\n top: 0,\n margin: \"auto\",\n backgroundColor: this.opt.backgroundColor\n }; // Set the overlay to hidden (could be changed in the future to provide a print preview).\n\n var source = cloneNode(\n this.prop.src,\n this.opt.html2canvas.javascriptEnabled\n );\n\n if (source.tagName === \"BODY\") {\n containerCSS.height =\n Math.max(\n document.body.scrollHeight,\n document.body.offsetHeight,\n document.documentElement.clientHeight,\n document.documentElement.scrollHeight,\n document.documentElement.offsetHeight\n ) + \"px\";\n }\n\n this.prop.overlay = createElement(\"div\", {\n className: \"html2pdf__overlay\",\n style: overlayCSS\n });\n this.prop.container = createElement(\"div\", {\n className: \"html2pdf__container\",\n style: containerCSS\n });\n this.prop.container.appendChild(source);\n this.prop.container.firstChild.appendChild(\n createElement(\"div\", {\n style: {\n clear: \"both\",\n border: \"0 none transparent\",\n margin: 0,\n padding: 0,\n height: 0\n }\n })\n );\n this.prop.container.style.float = \"none\";\n this.prop.overlay.appendChild(this.prop.container);\n document.body.appendChild(this.prop.overlay);\n this.prop.container.firstChild.style.position = \"relative\";\n this.prop.container.height =\n Math.max(\n this.prop.container.firstChild.clientHeight,\n this.prop.container.firstChild.scrollHeight,\n this.prop.container.firstChild.offsetHeight\n ) + \"px\";\n });\n };\n\n Worker.prototype.toCanvas = function toCanvas() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContainer() {\n return (\n document.body.contains(this.prop.container) || this.toContainer()\n );\n }\n ];\n\n // Fulfill prereqs then create the canvas.\n return this.thenList(prereqs)\n .then(loadHtml2Canvas)\n .then(function toCanvas_main(html2canvas) {\n // Handle old-fashioned 'onrendered' argument.\n var options = Object.assign({}, this.opt.html2canvas);\n delete options.onrendered;\n\n return html2canvas(this.prop.container, options);\n })\n .then(function toCanvas_post(canvas) {\n // Handle old-fashioned 'onrendered' argument.\n var onRendered = this.opt.html2canvas.onrendered || function() {};\n onRendered(canvas);\n\n this.prop.canvas = canvas;\n document.body.removeChild(this.prop.overlay);\n });\n };\n\n Worker.prototype.toContext2d = function toContext2d() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContainer() {\n return (\n document.body.contains(this.prop.container) || this.toContainer()\n );\n }\n ];\n\n // Fulfill prereqs then create the canvas.\n return this.thenList(prereqs)\n .then(loadHtml2Canvas)\n .then(function toContext2d_main(html2canvas) {\n // Handle old-fashioned 'onrendered' argument.\n\n var pdf = this.opt.jsPDF;\n var fontFaces = this.opt.fontFaces;\n\n var scale =\n typeof this.opt.width === \"number\" &&\n !isNaN(this.opt.width) &&\n typeof this.opt.windowWidth === \"number\" &&\n !isNaN(this.opt.windowWidth)\n ? this.opt.width / this.opt.windowWidth\n : 1;\n\n var options = Object.assign(\n {\n async: true,\n allowTaint: true,\n scale: scale,\n scrollX: this.opt.scrollX || 0,\n scrollY: this.opt.scrollY || 0,\n backgroundColor: \"#ffffff\",\n imageTimeout: 15000,\n logging: true,\n proxy: null,\n removeContainer: true,\n foreignObjectRendering: false,\n useCORS: false\n },\n this.opt.html2canvas\n );\n delete options.onrendered;\n\n pdf.context2d.autoPaging =\n typeof this.opt.autoPaging === \"undefined\"\n ? true\n : this.opt.autoPaging;\n pdf.context2d.posX = this.opt.x;\n pdf.context2d.posY = this.opt.y;\n pdf.context2d.margin = this.opt.margin;\n pdf.context2d.fontFaces = fontFaces;\n\n if (fontFaces) {\n for (var i = 0; i < fontFaces.length; ++i) {\n var font = fontFaces[i];\n var src = font.src.find(function(src) {\n return src.format === \"truetype\";\n });\n\n if (src) {\n pdf.addFont(src.url, font.ref.name, font.ref.style);\n }\n }\n }\n\n options.windowHeight = options.windowHeight || 0;\n options.windowHeight =\n options.windowHeight == 0\n ? Math.max(\n this.prop.container.clientHeight,\n this.prop.container.scrollHeight,\n this.prop.container.offsetHeight\n )\n : options.windowHeight;\n\n pdf.context2d.save(true);\n return html2canvas(this.prop.container, options);\n })\n .then(function toContext2d_post(canvas) {\n this.opt.jsPDF.context2d.restore(true);\n\n // Handle old-fashioned 'onrendered' argument.\n var onRendered = this.opt.html2canvas.onrendered || function() {};\n onRendered(canvas);\n\n this.prop.canvas = canvas;\n document.body.removeChild(this.prop.overlay);\n });\n };\n\n Worker.prototype.toImg = function toImg() {\n // Set up function prerequisites.\n var prereqs = [\n function checkCanvas() {\n return this.prop.canvas || this.toCanvas();\n }\n ];\n\n // Fulfill prereqs then create the image.\n return this.thenList(prereqs).then(function toImg_main() {\n var imgData = this.prop.canvas.toDataURL(\n \"image/\" + this.opt.image.type,\n this.opt.image.quality\n );\n this.prop.img = document.createElement(\"img\");\n this.prop.img.src = imgData;\n });\n };\n\n Worker.prototype.toPdf = function toPdf() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContext2d() {\n return this.toContext2d();\n }\n //function checkCanvas() { return this.prop.canvas || this.toCanvas(); }\n ];\n\n // Fulfill prereqs then create the image.\n return this.thenList(prereqs).then(function toPdf_main() {\n // Create local copies of frequently used properties.\n this.prop.pdf = this.prop.pdf || this.opt.jsPDF;\n });\n };\n\n /* ----- OUTPUT / SAVE ----- */\n\n Worker.prototype.output = function output(type, options, src) {\n // Redirect requests to the correct function (outputPdf / outputImg).\n src = src || \"pdf\";\n if (src.toLowerCase() === \"img\" || src.toLowerCase() === \"image\") {\n return this.outputImg(type, options);\n } else {\n return this.outputPdf(type, options);\n }\n };\n\n Worker.prototype.outputPdf = function outputPdf(type, options) {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs then perform the appropriate output.\n return this.thenList(prereqs).then(function outputPdf_main() {\n /* Currently implemented output types:\n * https://rawgit.com/MrRio/jsPDF/master/docs/jspdf.js.html#line992\n * save(options), arraybuffer, blob, bloburi/bloburl,\n * datauristring/dataurlstring, dataurlnewwindow, datauri/dataurl\n */\n return this.prop.pdf.output(type, options);\n });\n };\n\n Worker.prototype.outputImg = function outputImg(type) {\n // Set up function prerequisites.\n var prereqs = [\n function checkImg() {\n return this.prop.img || this.toImg();\n }\n ];\n\n // Fulfill prereqs then perform the appropriate output.\n return this.thenList(prereqs).then(function outputImg_main() {\n switch (type) {\n case undefined:\n case \"img\":\n return this.prop.img;\n case \"datauristring\":\n case \"dataurlstring\":\n return this.prop.img.src;\n case \"datauri\":\n case \"dataurl\":\n return (document.location.href = this.prop.img.src);\n default:\n throw 'Image output type \"' + type + '\" is not supported.';\n }\n });\n };\n\n Worker.prototype.save = function save(filename) {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs, update the filename (if provided), and save the PDF.\n return this.thenList(prereqs)\n .set(filename ? { filename: filename } : null)\n .then(function save_main() {\n this.prop.pdf.save(this.opt.filename);\n });\n };\n\n Worker.prototype.doCallback = function doCallback() {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs, update the filename (if provided), and save the PDF.\n return this.thenList(prereqs).then(function doCallback_main() {\n this.prop.callback(this.prop.pdf);\n });\n };\n\n /* ----- SET / GET ----- */\n\n Worker.prototype.set = function set(opt) {\n // TODO: Implement ordered pairs?\n\n // Silently ignore invalid or empty input.\n if (objType(opt) !== \"object\") {\n return this;\n }\n\n // Build an array of setter functions to queue.\n var fns = Object.keys(opt || {}).map(function(key) {\n if (key in Worker.template.prop) {\n // Set pre-defined properties.\n return function set_prop() {\n this.prop[key] = opt[key];\n };\n } else {\n switch (key) {\n case \"margin\":\n return this.setMargin.bind(this, opt.margin);\n case \"jsPDF\":\n return function set_jsPDF() {\n this.opt.jsPDF = opt.jsPDF;\n return this.setPageSize();\n };\n case \"pageSize\":\n return this.setPageSize.bind(this, opt.pageSize);\n default:\n // Set any other properties in opt.\n return function set_opt() {\n this.opt[key] = opt[key];\n };\n }\n }\n }, this);\n\n // Set properties within the promise chain.\n return this.then(function set_main() {\n return this.thenList(fns);\n });\n };\n\n Worker.prototype.get = function get(key, cbk) {\n return this.then(function get_main() {\n // Fetch the requested property, either as a predefined prop or in opt.\n var val = key in Worker.template.prop ? this.prop[key] : this.opt[key];\n return cbk ? cbk(val) : val;\n });\n };\n\n Worker.prototype.setMargin = function setMargin(margin) {\n return this.then(function setMargin_main() {\n // Parse the margin property.\n switch (objType(margin)) {\n case \"number\":\n margin = [margin, margin, margin, margin];\n // eslint-disable-next-line no-fallthrough\n case \"array\":\n if (margin.length === 2) {\n margin = [margin[0], margin[1], margin[0], margin[1]];\n }\n if (margin.length === 4) {\n break;\n }\n // eslint-disable-next-line no-fallthrough\n default:\n return this.error(\"Invalid margin array.\");\n }\n\n // Set the margin property, then update pageSize.\n this.opt.margin = margin;\n }).then(this.setPageSize);\n };\n\n Worker.prototype.setPageSize = function setPageSize(pageSize) {\n function toPx(val, k) {\n return Math.floor(((val * k) / 72) * 96);\n }\n\n return this.then(function setPageSize_main() {\n // Retrieve page-size based on jsPDF settings, if not explicitly provided.\n pageSize = pageSize || jsPDF.getPageSize(this.opt.jsPDF);\n\n // Add 'inner' field if not present.\n if (!pageSize.hasOwnProperty(\"inner\")) {\n pageSize.inner = {\n width: pageSize.width - this.opt.margin[1] - this.opt.margin[3],\n height: pageSize.height - this.opt.margin[0] - this.opt.margin[2]\n };\n pageSize.inner.px = {\n width: toPx(pageSize.inner.width, pageSize.k),\n height: toPx(pageSize.inner.height, pageSize.k)\n };\n pageSize.inner.ratio = pageSize.inner.height / pageSize.inner.width;\n }\n\n // Attach pageSize to this.\n this.prop.pageSize = pageSize;\n });\n };\n\n Worker.prototype.setProgress = function setProgress(val, state, n, stack) {\n // Immediately update all progress values.\n if (val != null) this.progress.val = val;\n if (state != null) this.progress.state = state;\n if (n != null) this.progress.n = n;\n if (stack != null) this.progress.stack = stack;\n this.progress.ratio = this.progress.val / this.progress.state;\n\n // Return this for command chaining.\n return this;\n };\n\n Worker.prototype.updateProgress = function updateProgress(\n val,\n state,\n n,\n stack\n ) {\n // Immediately update all progress values, using setProgress.\n return this.setProgress(\n val ? this.progress.val + val : null,\n state ? state : null,\n n ? this.progress.n + n : null,\n stack ? this.progress.stack.concat(stack) : null\n );\n };\n\n /* ----- PROMISE MAPPING ----- */\n\n Worker.prototype.then = function then(onFulfilled, onRejected) {\n // Wrap `this` for encapsulation.\n var self = this;\n\n return this.thenCore(onFulfilled, onRejected, function then_main(\n onFulfilled,\n onRejected\n ) {\n // Update progress while queuing, calling, and resolving `then`.\n self.updateProgress(null, null, 1, [onFulfilled]);\n return Promise.prototype.then\n .call(this, function then_pre(val) {\n self.updateProgress(null, onFulfilled);\n return val;\n })\n .then(onFulfilled, onRejected)\n .then(function then_post(val) {\n self.updateProgress(1);\n return val;\n });\n });\n };\n\n Worker.prototype.thenCore = function thenCore(\n onFulfilled,\n onRejected,\n thenBase\n ) {\n // Handle optional thenBase parameter.\n thenBase = thenBase || Promise.prototype.then;\n\n // Wrap `this` for encapsulation and bind it to the promise handlers.\n var self = this;\n if (onFulfilled) {\n onFulfilled = onFulfilled.bind(self);\n }\n if (onRejected) {\n onRejected = onRejected.bind(self);\n }\n\n // Cast self into a Promise to avoid polyfills recursively defining `then`.\n var isNative =\n Promise.toString().indexOf(\"[native code]\") !== -1 &&\n Promise.name === \"Promise\";\n var selfPromise = isNative\n ? self\n : Worker.convert(Object.assign({}, self), Promise.prototype);\n\n // Return the promise, after casting it into a Worker and preserving props.\n var returnVal = thenBase.call(selfPromise, onFulfilled, onRejected);\n return Worker.convert(returnVal, self.__proto__);\n };\n\n Worker.prototype.thenExternal = function thenExternal(\n onFulfilled,\n onRejected\n ) {\n // Call `then` and return a standard promise (exits the Worker chain).\n return Promise.prototype.then.call(this, onFulfilled, onRejected);\n };\n\n Worker.prototype.thenList = function thenList(fns) {\n // Queue a series of promise 'factories' into the promise chain.\n var self = this;\n fns.forEach(function thenList_forEach(fn) {\n self = self.thenCore(fn);\n });\n return self;\n };\n\n Worker.prototype[\"catch\"] = function(onRejected) {\n // Bind `this` to the promise handler, call `catch`, and return a Worker.\n if (onRejected) {\n onRejected = onRejected.bind(this);\n }\n var returnVal = Promise.prototype[\"catch\"].call(this, onRejected);\n return Worker.convert(returnVal, this);\n };\n\n Worker.prototype.catchExternal = function catchExternal(onRejected) {\n // Call `catch` and return a standard promise (exits the Worker chain).\n return Promise.prototype[\"catch\"].call(this, onRejected);\n };\n\n Worker.prototype.error = function error(msg) {\n // Throw the error in the Promise chain.\n return this.then(function error_main() {\n throw new Error(msg);\n });\n };\n\n /* ----- ALIASES ----- */\n\n Worker.prototype.using = Worker.prototype.set;\n Worker.prototype.saveAs = Worker.prototype.save;\n Worker.prototype.export = Worker.prototype.output;\n Worker.prototype.run = Worker.prototype.then;\n\n // Get dimensions of a PDF page, as determined by jsPDF.\n jsPDF.getPageSize = function(orientation, unit, format) {\n // Decode options object\n if (typeof orientation === \"object\") {\n var options = orientation;\n orientation = options.orientation;\n unit = options.unit || unit;\n format = options.format || format;\n }\n\n // Default options\n unit = unit || \"mm\";\n format = format || \"a4\";\n orientation = (\"\" + (orientation || \"P\")).toLowerCase();\n var format_as_string = (\"\" + format).toLowerCase();\n\n // Size in pt of various paper formats\n var pageFormats = {\n a0: [2383.94, 3370.39],\n a1: [1683.78, 2383.94],\n a2: [1190.55, 1683.78],\n a3: [841.89, 1190.55],\n a4: [595.28, 841.89],\n a5: [419.53, 595.28],\n a6: [297.64, 419.53],\n a7: [209.76, 297.64],\n a8: [147.4, 209.76],\n a9: [104.88, 147.4],\n a10: [73.7, 104.88],\n b0: [2834.65, 4008.19],\n b1: [2004.09, 2834.65],\n b2: [1417.32, 2004.09],\n b3: [1000.63, 1417.32],\n b4: [708.66, 1000.63],\n b5: [498.9, 708.66],\n b6: [354.33, 498.9],\n b7: [249.45, 354.33],\n b8: [175.75, 249.45],\n b9: [124.72, 175.75],\n b10: [87.87, 124.72],\n c0: [2599.37, 3676.54],\n c1: [1836.85, 2599.37],\n c2: [1298.27, 1836.85],\n c3: [918.43, 1298.27],\n c4: [649.13, 918.43],\n c5: [459.21, 649.13],\n c6: [323.15, 459.21],\n c7: [229.61, 323.15],\n c8: [161.57, 229.61],\n c9: [113.39, 161.57],\n c10: [79.37, 113.39],\n dl: [311.81, 623.62],\n letter: [612, 792],\n \"government-letter\": [576, 756],\n legal: [612, 1008],\n \"junior-legal\": [576, 360],\n ledger: [1224, 792],\n tabloid: [792, 1224],\n \"credit-card\": [153, 243]\n };\n\n var k;\n // Unit conversion\n switch (unit) {\n case \"pt\":\n k = 1;\n break;\n case \"mm\":\n k = 72 / 25.4;\n break;\n case \"cm\":\n k = 72 / 2.54;\n break;\n case \"in\":\n k = 72;\n break;\n case \"px\":\n k = 72 / 96;\n break;\n case \"pc\":\n k = 12;\n break;\n case \"em\":\n k = 12;\n break;\n case \"ex\":\n k = 6;\n break;\n default:\n throw \"Invalid unit: \" + unit;\n }\n var pageHeight = 0;\n var pageWidth = 0;\n\n // Dimensions are stored as user units and converted to points on output\n if (pageFormats.hasOwnProperty(format_as_string)) {\n pageHeight = pageFormats[format_as_string][1] / k;\n pageWidth = pageFormats[format_as_string][0] / k;\n } else {\n try {\n pageHeight = format[1];\n pageWidth = format[0];\n } catch (err) {\n throw new Error(\"Invalid format: \" + format);\n }\n }\n\n var tmp;\n // Handle page orientation\n if (orientation === \"p\" || orientation === \"portrait\") {\n orientation = \"p\";\n if (pageWidth > pageHeight) {\n tmp = pageWidth;\n pageWidth = pageHeight;\n pageHeight = tmp;\n }\n } else if (orientation === \"l\" || orientation === \"landscape\") {\n orientation = \"l\";\n if (pageHeight > pageWidth) {\n tmp = pageWidth;\n pageWidth = pageHeight;\n pageHeight = tmp;\n }\n } else {\n throw \"Invalid orientation: \" + orientation;\n }\n\n // Return information (k is the unit conversion ratio from pts)\n var info = {\n width: pageWidth,\n height: pageHeight,\n unit: unit,\n k: k,\n orientation: orientation\n };\n return info;\n };\n\n /**\n * @typedef FontFace\n *\n * The font-face type implements an interface similar to that of the font-face CSS rule,\n * and is used by jsPDF to match fonts when the font property of CanvasRenderingContext2D\n * is updated.\n *\n * All properties expect values similar to those in the font-face CSS rule. A difference\n * is the font-family, which do not need to be enclosed in double-quotes when containing\n * spaces like in CSS.\n *\n * @property {string} family The name of the font-family.\n * @property {string|undefined} style The style that this font-face defines, e.g. 'italic'.\n * @property {string|number|undefined} weight The weight of the font, either as a string or a number (400, 500, 600, e.g.)\n * @property {string|undefined} stretch The stretch of the font, e.g. condensed, normal, expanded.\n * @property {Object[]} src A list of URLs from where fonts of various formats can be fetched.\n * @property {string} [src] url A URL to a font of a specific format.\n * @property {string} [src] format Format of the font referenced by the URL.\n */\n\n /**\n * Generate a PDF from an HTML element or string using.\n *\n * @name html\n * @function\n * @param {HTMLElement|string} source The source HTMLElement or a string containing HTML.\n * @param {Object} [options] Collection of settings\n * @param {function} [options.callback] The mandatory callback-function gets as first parameter the current jsPDF instance\n * @param {(number|number[])=} [options.margin] Page margins [top, right, bottom, left]. Default is 0.\n * @param {(boolean|'slice'|'text')=} [options.autoPaging] The auto paging mode.\n *
      \n *
    • \n * false: Auto paging is disabled.\n *
    • \n *
    • \n * true or 'slice': Will cut shapes or text chunks across page breaks. Will possibly\n * slice text in half, making it difficult to read.\n *
    • \n *
    • \n * 'text': Trys not to cut text in half across page breaks. Works best for documents consisting\n * mostly of a single column of text.\n *
    • \n *
    \n * Default is true.\n * @param {string} [options.filename] name of the file\n * @param {HTMLOptionImage} [options.image] image settings when converting HTML to image\n * @param {Html2CanvasOptions} [options.html2canvas] html2canvas options\n * @param {FontFace[]} [options.fontFaces] A list of font-faces to match when resolving fonts. Fonts will be added to the PDF based on the specified URL. If omitted, the font match algorithm falls back to old algorithm.\n * @param {jsPDF} [options.jsPDF] jsPDF instance\n * @param {number=} [options.x] x position on the PDF document in jsPDF units.\n * @param {number=} [options.y] y position on the PDF document in jsPDF units.\n * @param {number=} [options.width] The target width in the PDF document in jsPDF units. The rendered element will be\n * scaled such that it fits into the specified width. Has no effect if either the html2canvas.scale is\n * specified or the windowWidth option is NOT specified.\n * @param {number=} [options.windowWidth] The window width in CSS pixels. In contrast to the\n * html2canvas.windowWidth option, this option affects the actual container size while rendering and\n * does NOT affect CSS media queries. This option only has an effect, if the width option is also specified.\n *\n * @example\n * var doc = new jsPDF();\n *\n * doc.html(document.body, {\n * callback: function (doc) {\n * doc.save();\n * },\n * x: 10,\n * y: 10\n * });\n */\n jsPDFAPI.html = function(src, options) {\n \"use strict\";\n\n options = options || {};\n options.callback = options.callback || function() {};\n options.html2canvas = options.html2canvas || {};\n options.html2canvas.canvas = options.html2canvas.canvas || this.canvas;\n options.jsPDF = options.jsPDF || this;\n options.fontFaces = options.fontFaces\n ? options.fontFaces.map(normalizeFontFace)\n : null;\n\n // Create a new worker with the given options.\n var worker = new Worker(options);\n\n if (!options.worker) {\n // If worker is not set to true, perform the traditional 'simple' operation.\n return worker.from(src).doCallback();\n } else {\n // Otherwise, return the worker for new Promise-based operation.\n return worker;\n }\n };\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF JavaScript plugin\n *\n * @name javascript\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n var jsNamesObj, jsJsObj, text;\n /**\n * @name addJS\n * @function\n * @param {string} javascript The javascript to be embedded into the PDF-file.\n * @returns {jsPDF}\n */\n jsPDFAPI.addJS = function(javascript) {\n text = javascript;\n this.internal.events.subscribe(\"postPutResources\", function() {\n jsNamesObj = this.internal.newObject();\n this.internal.out(\"<<\");\n this.internal.out(\"/Names [(EmbeddedJS) \" + (jsNamesObj + 1) + \" 0 R]\");\n this.internal.out(\">>\");\n this.internal.out(\"endobj\");\n\n jsJsObj = this.internal.newObject();\n this.internal.out(\"<<\");\n this.internal.out(\"/S /JavaScript\");\n this.internal.out(\"/JS (\" + text + \")\");\n this.internal.out(\">>\");\n this.internal.out(\"endobj\");\n });\n this.internal.events.subscribe(\"putCatalog\", function() {\n if (jsNamesObj !== undefined && jsJsObj !== undefined) {\n this.internal.out(\"/Names <>\");\n }\n });\n return this;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF Outline PlugIn\n *\n * Generates a PDF Outline\n * @name outline\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var namesOid;\n //var destsGoto = [];\n\n jsPDFAPI.events.push([\n \"postPutResources\",\n function() {\n var pdf = this;\n var rx = /^(\\d+) 0 obj$/;\n\n // Write action goto objects for each page\n // this.outline.destsGoto = [];\n // for (var i = 0; i < totalPages; i++) {\n // var id = pdf.internal.newObject();\n // this.outline.destsGoto.push(id);\n // pdf.internal.write(\"<> endobj\");\n // }\n //\n // for (var i = 0; i < dests.length; i++) {\n // pdf.internal.write(\"(page_\" + (i + 1) + \")\" + dests[i] + \" 0\n // R\");\n // }\n //\n if (this.outline.root.children.length > 0) {\n var lines = pdf.outline.render().split(/\\r\\n/);\n for (var i = 0; i < lines.length; i++) {\n var line = lines[i];\n var m = rx.exec(line);\n if (m != null) {\n var oid = m[1];\n pdf.internal.newObjectDeferredBegin(oid, false);\n }\n pdf.internal.write(line);\n }\n }\n\n // This code will write named destination for each page reference\n // (page_1, etc)\n if (this.outline.createNamedDestinations) {\n var totalPages = this.internal.pages.length;\n // WARNING: this assumes jsPDF starts on page 3 and pageIDs\n // follow 5, 7, 9, etc\n // Write destination objects for each page\n var dests = [];\n for (var i = 0; i < totalPages; i++) {\n var id = pdf.internal.newObject();\n dests.push(id);\n var info = pdf.internal.getPageInfo(i + 1);\n pdf.internal.write(\n \"<< /D[\" + info.objId + \" 0 R /XYZ null null null]>> endobj\"\n );\n }\n\n // assign a name for each destination\n var names2Oid = pdf.internal.newObject();\n pdf.internal.write(\"<< /Names [ \");\n for (var i = 0; i < dests.length; i++) {\n pdf.internal.write(\"(page_\" + (i + 1) + \")\" + dests[i] + \" 0 R\");\n }\n pdf.internal.write(\" ] >>\", \"endobj\");\n\n // var kids = pdf.internal.newObject();\n // pdf.internal.write('<< /Kids [ ' + names2Oid + ' 0 R');\n // pdf.internal.write(' ] >>', 'endobj');\n\n namesOid = pdf.internal.newObject();\n pdf.internal.write(\"<< /Dests \" + names2Oid + \" 0 R\");\n pdf.internal.write(\">>\", \"endobj\");\n }\n }\n ]);\n\n jsPDFAPI.events.push([\n \"putCatalog\",\n function() {\n var pdf = this;\n if (pdf.outline.root.children.length > 0) {\n pdf.internal.write(\n \"/Outlines\",\n this.outline.makeRef(this.outline.root)\n );\n if (this.outline.createNamedDestinations) {\n pdf.internal.write(\"/Names \" + namesOid + \" 0 R\");\n }\n // Open with Bookmarks showing\n // pdf.internal.write(\"/PageMode /UseOutlines\");\n }\n }\n ]);\n\n jsPDFAPI.events.push([\n \"initialized\",\n function() {\n var pdf = this;\n\n pdf.outline = {\n createNamedDestinations: false,\n root: {\n children: []\n }\n };\n\n /**\n * Options: pageNumber\n */\n pdf.outline.add = function(parent, title, options) {\n var item = {\n title: title,\n options: options,\n children: []\n };\n if (parent == null) {\n parent = this.root;\n }\n parent.children.push(item);\n return item;\n };\n\n pdf.outline.render = function() {\n this.ctx = {};\n this.ctx.val = \"\";\n this.ctx.pdf = pdf;\n\n this.genIds_r(this.root);\n this.renderRoot(this.root);\n this.renderItems(this.root);\n\n return this.ctx.val;\n };\n\n pdf.outline.genIds_r = function(node) {\n node.id = pdf.internal.newObjectDeferred();\n for (var i = 0; i < node.children.length; i++) {\n this.genIds_r(node.children[i]);\n }\n };\n\n pdf.outline.renderRoot = function(node) {\n this.objStart(node);\n this.line(\"/Type /Outlines\");\n if (node.children.length > 0) {\n this.line(\"/First \" + this.makeRef(node.children[0]));\n this.line(\n \"/Last \" + this.makeRef(node.children[node.children.length - 1])\n );\n }\n this.line(\n \"/Count \" +\n this.count_r(\n {\n count: 0\n },\n node\n )\n );\n this.objEnd();\n };\n\n pdf.outline.renderItems = function(node) {\n var getVerticalCoordinateString = this.ctx.pdf.internal\n .getVerticalCoordinateString;\n for (var i = 0; i < node.children.length; i++) {\n var item = node.children[i];\n this.objStart(item);\n\n this.line(\"/Title \" + this.makeString(item.title));\n\n this.line(\"/Parent \" + this.makeRef(node));\n if (i > 0) {\n this.line(\"/Prev \" + this.makeRef(node.children[i - 1]));\n }\n if (i < node.children.length - 1) {\n this.line(\"/Next \" + this.makeRef(node.children[i + 1]));\n }\n if (item.children.length > 0) {\n this.line(\"/First \" + this.makeRef(item.children[0]));\n this.line(\n \"/Last \" + this.makeRef(item.children[item.children.length - 1])\n );\n }\n\n var count = (this.count = this.count_r(\n {\n count: 0\n },\n item\n ));\n if (count > 0) {\n this.line(\"/Count \" + count);\n }\n\n if (item.options) {\n if (item.options.pageNumber) {\n // Explicit Destination\n //WARNING this assumes page ids are 3,5,7, etc.\n var info = pdf.internal.getPageInfo(item.options.pageNumber);\n this.line(\n \"/Dest \" +\n \"[\" +\n info.objId +\n \" 0 R /XYZ 0 \" +\n getVerticalCoordinateString(0) +\n \" 0]\"\n );\n // this line does not work on all clients (pageNumber instead of page ref)\n //this.line('/Dest ' + '[' + (item.options.pageNumber - 1) + ' /XYZ 0 ' + this.ctx.pdf.internal.pageSize.getHeight() + ' 0]');\n\n // Named Destination\n // this.line('/Dest (page_' + (item.options.pageNumber) + ')');\n\n // Action Destination\n // var id = pdf.internal.newObject();\n // pdf.internal.write('<> endobj');\n // this.line('/A ' + id + ' 0 R' );\n }\n }\n this.objEnd();\n }\n for (var z = 0; z < node.children.length; z++) {\n this.renderItems(node.children[z]);\n }\n };\n\n pdf.outline.line = function(text) {\n this.ctx.val += text + \"\\r\\n\";\n };\n\n pdf.outline.makeRef = function(node) {\n return node.id + \" 0 R\";\n };\n\n pdf.outline.makeString = function(val) {\n return \"(\" + pdf.internal.pdfEscape(val) + \")\";\n };\n\n pdf.outline.objStart = function(node) {\n this.ctx.val += \"\\r\\n\" + node.id + \" 0 obj\" + \"\\r\\n<<\\r\\n\";\n };\n\n pdf.outline.objEnd = function() {\n this.ctx.val += \">> \\r\\n\" + \"endobj\" + \"\\r\\n\";\n };\n\n pdf.outline.count_r = function(ctx, node) {\n for (var i = 0; i < node.children.length; i++) {\n ctx.count++;\n this.count_r(ctx, node.children[i]);\n }\n return ctx.count;\n };\n }\n ]);\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF jpeg Support PlugIn\n *\n * @name jpeg_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * 0xc0 (SOF) Huffman - Baseline DCT\n * 0xc1 (SOF) Huffman - Extended sequential DCT\n * 0xc2 Progressive DCT (SOF2)\n * 0xc3 Spatial (sequential) lossless (SOF3)\n * 0xc4 Differential sequential DCT (SOF5)\n * 0xc5 Differential progressive DCT (SOF6)\n * 0xc6 Differential spatial (SOF7)\n * 0xc7\n */\n var markers = [0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7];\n\n //takes a string imgData containing the raw bytes of\n //a jpeg image and returns [width, height]\n //Algorithm from: http://www.64lines.com/jpeg-width-height\n var getJpegInfo = function(imgData) {\n var width, height, numcomponents;\n var blockLength = imgData.charCodeAt(4) * 256 + imgData.charCodeAt(5);\n var len = imgData.length;\n var result = { width: 0, height: 0, numcomponents: 1 };\n for (var i = 4; i < len; i += 2) {\n i += blockLength;\n if (markers.indexOf(imgData.charCodeAt(i + 1)) !== -1) {\n height = imgData.charCodeAt(i + 5) * 256 + imgData.charCodeAt(i + 6);\n width = imgData.charCodeAt(i + 7) * 256 + imgData.charCodeAt(i + 8);\n numcomponents = imgData.charCodeAt(i + 9);\n result = { width: width, height: height, numcomponents: numcomponents };\n break;\n } else {\n blockLength =\n imgData.charCodeAt(i + 2) * 256 + imgData.charCodeAt(i + 3);\n }\n }\n return result;\n };\n\n /**\n * @ignore\n */\n jsPDFAPI.processJPEG = function(\n data,\n index,\n alias,\n compression,\n dataAsBinaryString,\n colorSpace\n ) {\n var filter = this.decode.DCT_DECODE,\n bpc = 8,\n dims,\n result = null;\n\n if (\n typeof data === \"string\" ||\n this.__addimage__.isArrayBuffer(data) ||\n this.__addimage__.isArrayBufferView(data)\n ) {\n // if we already have a stored binary string rep use that\n data = dataAsBinaryString || data;\n data = this.__addimage__.isArrayBuffer(data)\n ? new Uint8Array(data)\n : data;\n data = this.__addimage__.isArrayBufferView(data)\n ? this.__addimage__.arrayBufferToBinaryString(data)\n : data;\n\n dims = getJpegInfo(data);\n switch (dims.numcomponents) {\n case 1:\n colorSpace = this.color_spaces.DEVICE_GRAY;\n break;\n case 4:\n colorSpace = this.color_spaces.DEVICE_CMYK;\n break;\n case 3:\n colorSpace = this.color_spaces.DEVICE_RGB;\n break;\n }\n\n result = {\n data: data,\n width: dims.width,\n height: dims.height,\n colorSpace: colorSpace,\n bitsPerComponent: bpc,\n filter: filter,\n index: index,\n alias: alias\n };\n }\n return result;\n };\n})(jsPDF.API);\n","// Generated by CoffeeScript 1.4.0\n\n/**\n * @license\n * PNG.js\n * Copyright (c) 2011 Devon Govett\n * MIT LICENSE\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of this\n * software and associated documentation files (the \"Software\"), to deal in the Software\n * without restriction, including without limitation the rights to use, copy, modify, merge,\n * publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons\n * to whom the Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all copies or\n * substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING\n * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport { unzlibSync } from \"./fflate.js\";\nimport { globalObject } from \"./globalObject.js\";\n\nvar PNG = (function() {\n var APNG_BLEND_OP_OVER,\n APNG_BLEND_OP_SOURCE,\n APNG_DISPOSE_OP_BACKGROUND,\n APNG_DISPOSE_OP_NONE,\n APNG_DISPOSE_OP_PREVIOUS,\n makeImage,\n scratchCanvas,\n scratchCtx;\n\n APNG_DISPOSE_OP_NONE = 0;\n\n APNG_DISPOSE_OP_BACKGROUND = 1;\n\n APNG_DISPOSE_OP_PREVIOUS = 2;\n\n APNG_BLEND_OP_SOURCE = 0;\n\n APNG_BLEND_OP_OVER = 1;\n\n function PNG(data) {\n var chunkSize,\n colors,\n palLen,\n delayDen,\n delayNum,\n frame,\n i,\n index,\n key,\n section,\n palShort,\n text,\n _i,\n _j,\n _ref;\n this.data = data;\n this.pos = 8;\n this.palette = [];\n this.imgData = [];\n this.transparency = {};\n this.animation = null;\n this.text = {};\n frame = null;\n while (true) {\n chunkSize = this.readUInt32();\n section = function() {\n var _i, _results;\n _results = [];\n for (i = _i = 0; _i < 4; i = ++_i) {\n _results.push(String.fromCharCode(this.data[this.pos++]));\n }\n return _results;\n }\n .call(this)\n .join(\"\");\n switch (section) {\n case \"IHDR\":\n this.width = this.readUInt32();\n this.height = this.readUInt32();\n this.bits = this.data[this.pos++];\n this.colorType = this.data[this.pos++];\n this.compressionMethod = this.data[this.pos++];\n this.filterMethod = this.data[this.pos++];\n this.interlaceMethod = this.data[this.pos++];\n break;\n case \"acTL\":\n this.animation = {\n numFrames: this.readUInt32(),\n numPlays: this.readUInt32() || Infinity,\n frames: []\n };\n break;\n case \"PLTE\":\n this.palette = this.read(chunkSize);\n break;\n case \"fcTL\":\n if (frame) {\n this.animation.frames.push(frame);\n }\n this.pos += 4;\n frame = {\n width: this.readUInt32(),\n height: this.readUInt32(),\n xOffset: this.readUInt32(),\n yOffset: this.readUInt32()\n };\n delayNum = this.readUInt16();\n delayDen = this.readUInt16() || 100;\n frame.delay = (1000 * delayNum) / delayDen;\n frame.disposeOp = this.data[this.pos++];\n frame.blendOp = this.data[this.pos++];\n frame.data = [];\n break;\n case \"IDAT\":\n case \"fdAT\":\n if (section === \"fdAT\") {\n this.pos += 4;\n chunkSize -= 4;\n }\n data = (frame != null ? frame.data : void 0) || this.imgData;\n for (\n i = _i = 0;\n 0 <= chunkSize ? _i < chunkSize : _i > chunkSize;\n i = 0 <= chunkSize ? ++_i : --_i\n ) {\n data.push(this.data[this.pos++]);\n }\n break;\n case \"tRNS\":\n this.transparency = {};\n switch (this.colorType) {\n case 3:\n palLen = this.palette.length / 3;\n this.transparency.indexed = this.read(chunkSize);\n if (this.transparency.indexed.length > palLen)\n throw new Error(\"More transparent colors than palette size\");\n /*\n * According to the PNG spec trns should be increased to the same size as palette if shorter\n */\n //palShort = 255 - this.transparency.indexed.length;\n palShort = palLen - this.transparency.indexed.length;\n if (palShort > 0) {\n for (\n i = _j = 0;\n 0 <= palShort ? _j < palShort : _j > palShort;\n i = 0 <= palShort ? ++_j : --_j\n ) {\n this.transparency.indexed.push(255);\n }\n }\n break;\n case 0:\n this.transparency.grayscale = this.read(chunkSize)[0];\n break;\n case 2:\n this.transparency.rgb = this.read(chunkSize);\n }\n break;\n case \"tEXt\":\n text = this.read(chunkSize);\n index = text.indexOf(0);\n key = String.fromCharCode.apply(String, text.slice(0, index));\n this.text[key] = String.fromCharCode.apply(\n String,\n text.slice(index + 1)\n );\n break;\n case \"IEND\":\n if (frame) {\n this.animation.frames.push(frame);\n }\n this.colors = function() {\n switch (this.colorType) {\n case 0:\n case 3:\n case 4:\n return 1;\n case 2:\n case 6:\n return 3;\n }\n }.call(this);\n this.hasAlphaChannel = (_ref = this.colorType) === 4 || _ref === 6;\n colors = this.colors + (this.hasAlphaChannel ? 1 : 0);\n this.pixelBitlength = this.bits * colors;\n this.colorSpace = function() {\n switch (this.colors) {\n case 1:\n return \"DeviceGray\";\n case 3:\n return \"DeviceRGB\";\n }\n }.call(this);\n this.imgData = new Uint8Array(this.imgData);\n return;\n default:\n this.pos += chunkSize;\n }\n this.pos += 4;\n if (this.pos > this.data.length) {\n throw new Error(\"Incomplete or corrupt PNG file\");\n }\n }\n }\n\n PNG.prototype.read = function(bytes) {\n var i, _i, _results;\n _results = [];\n for (\n i = _i = 0;\n 0 <= bytes ? _i < bytes : _i > bytes;\n i = 0 <= bytes ? ++_i : --_i\n ) {\n _results.push(this.data[this.pos++]);\n }\n return _results;\n };\n\n PNG.prototype.readUInt32 = function() {\n var b1, b2, b3, b4;\n b1 = this.data[this.pos++] << 24;\n b2 = this.data[this.pos++] << 16;\n b3 = this.data[this.pos++] << 8;\n b4 = this.data[this.pos++];\n return b1 | b2 | b3 | b4;\n };\n\n PNG.prototype.readUInt16 = function() {\n var b1, b2;\n b1 = this.data[this.pos++] << 8;\n b2 = this.data[this.pos++];\n return b1 | b2;\n };\n\n PNG.prototype.decodePixels = function(data) {\n var pixelBytes = this.pixelBitlength / 8;\n var fullPixels = new Uint8Array(this.width * this.height * pixelBytes);\n var pos = 0;\n var _this = this;\n\n if (data == null) {\n data = this.imgData;\n }\n if (data.length === 0) {\n return new Uint8Array(0);\n }\n\n data = unzlibSync(data);\n function pass(x0, y0, dx, dy) {\n var abyte,\n c,\n col,\n i,\n left,\n length,\n p,\n pa,\n paeth,\n pb,\n pc,\n pixels,\n row,\n scanlineLength,\n upper,\n upperLeft,\n _i,\n _j,\n _k,\n _l,\n _m;\n var w = Math.ceil((_this.width - x0) / dx),\n h = Math.ceil((_this.height - y0) / dy);\n var isFull = _this.width == w && _this.height == h;\n scanlineLength = pixelBytes * w;\n pixels = isFull ? fullPixels : new Uint8Array(scanlineLength * h);\n length = data.length;\n row = 0;\n c = 0;\n while (row < h && pos < length) {\n switch (data[pos++]) {\n case 0:\n for (i = _i = 0; _i < scanlineLength; i = _i += 1) {\n pixels[c++] = data[pos++];\n }\n break;\n case 1:\n for (i = _j = 0; _j < scanlineLength; i = _j += 1) {\n abyte = data[pos++];\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n pixels[c++] = (abyte + left) % 256;\n }\n break;\n case 2:\n for (i = _k = 0; _k < scanlineLength; i = _k += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n upper =\n row &&\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n pixels[c++] = (upper + abyte) % 256;\n }\n break;\n case 3:\n for (i = _l = 0; _l < scanlineLength; i = _l += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n upper =\n row &&\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n pixels[c++] = (abyte + Math.floor((left + upper) / 2)) % 256;\n }\n break;\n case 4:\n for (i = _m = 0; _m < scanlineLength; i = _m += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n if (row === 0) {\n upper = upperLeft = 0;\n } else {\n upper =\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n upperLeft =\n col &&\n pixels[\n (row - 1) * scanlineLength +\n (col - 1) * pixelBytes +\n (i % pixelBytes)\n ];\n }\n p = left + upper - upperLeft;\n pa = Math.abs(p - left);\n pb = Math.abs(p - upper);\n pc = Math.abs(p - upperLeft);\n if (pa <= pb && pa <= pc) {\n paeth = left;\n } else if (pb <= pc) {\n paeth = upper;\n } else {\n paeth = upperLeft;\n }\n pixels[c++] = (abyte + paeth) % 256;\n }\n break;\n default:\n throw new Error(\"Invalid filter algorithm: \" + data[pos - 1]);\n }\n if (!isFull) {\n var fullPos = ((y0 + row * dy) * _this.width + x0) * pixelBytes;\n var partPos = row * scanlineLength;\n for (i = 0; i < w; i += 1) {\n for (var j = 0; j < pixelBytes; j += 1)\n fullPixels[fullPos++] = pixels[partPos++];\n fullPos += (dx - 1) * pixelBytes;\n }\n }\n row++;\n }\n }\n if (_this.interlaceMethod == 1) {\n /*\n 1 6 4 6 2 6 4 6\n 7 7 7 7 7 7 7 7\n 5 6 5 6 5 6 5 6\n 7 7 7 7 7 7 7 7\n 3 6 4 6 3 6 4 6\n 7 7 7 7 7 7 7 7\n 5 6 5 6 5 6 5 6\n 7 7 7 7 7 7 7 7\n */\n pass(0, 0, 8, 8); // 1\n /* NOTE these seem to follow the pattern:\n * pass(x, 0, 2*x, 2*x);\n * pass(0, x, x, 2*x);\n * with x being 4, 2, 1.\n */\n pass(4, 0, 8, 8); // 2\n pass(0, 4, 4, 8); // 3\n\n pass(2, 0, 4, 4); // 4\n pass(0, 2, 2, 4); // 5\n\n pass(1, 0, 2, 2); // 6\n pass(0, 1, 1, 2); // 7\n } else {\n pass(0, 0, 1, 1);\n }\n return fullPixels;\n };\n\n PNG.prototype.decodePalette = function() {\n var c, i, length, palette, pos, ret, transparency, _i, _ref, _ref1;\n palette = this.palette;\n transparency = this.transparency.indexed || [];\n ret = new Uint8Array((transparency.length || 0) + palette.length);\n pos = 0;\n length = palette.length;\n c = 0;\n for (i = _i = 0, _ref = length; _i < _ref; i = _i += 3) {\n ret[pos++] = palette[i];\n ret[pos++] = palette[i + 1];\n ret[pos++] = palette[i + 2];\n ret[pos++] = (_ref1 = transparency[c++]) != null ? _ref1 : 255;\n }\n return ret;\n };\n\n PNG.prototype.copyToImageData = function(imageData, pixels) {\n var alpha, colors, data, i, input, j, k, length, palette, v, _ref;\n colors = this.colors;\n palette = null;\n alpha = this.hasAlphaChannel;\n if (this.palette.length) {\n palette =\n (_ref = this._decodedPalette) != null\n ? _ref\n : (this._decodedPalette = this.decodePalette());\n colors = 4;\n alpha = true;\n }\n data = imageData.data || imageData;\n length = data.length;\n input = palette || pixels;\n i = j = 0;\n if (colors === 1) {\n while (i < length) {\n k = palette ? pixels[i / 4] * 4 : j;\n v = input[k++];\n data[i++] = v;\n data[i++] = v;\n data[i++] = v;\n data[i++] = alpha ? input[k++] : 255;\n j = k;\n }\n } else {\n while (i < length) {\n k = palette ? pixels[i / 4] * 4 : j;\n data[i++] = input[k++];\n data[i++] = input[k++];\n data[i++] = input[k++];\n data[i++] = alpha ? input[k++] : 255;\n j = k;\n }\n }\n };\n\n PNG.prototype.decode = function() {\n var ret;\n ret = new Uint8Array(this.width * this.height * 4);\n this.copyToImageData(ret, this.decodePixels());\n return ret;\n };\n\n var hasBrowserCanvas = function() {\n if (Object.prototype.toString.call(globalObject) === \"[object Window]\") {\n try {\n scratchCanvas = globalObject.document.createElement(\"canvas\");\n scratchCtx = scratchCanvas.getContext(\"2d\");\n } catch (e) {\n return false;\n }\n return true;\n }\n return false;\n };\n\n hasBrowserCanvas();\n\n makeImage = function(imageData) {\n if (hasBrowserCanvas() === true) {\n var img;\n scratchCtx.width = imageData.width;\n scratchCtx.height = imageData.height;\n scratchCtx.clearRect(0, 0, imageData.width, imageData.height);\n scratchCtx.putImageData(imageData, 0, 0);\n img = new Image();\n img.src = scratchCanvas.toDataURL();\n return img;\n }\n throw new Error(\"This method requires a Browser with Canvas-capability.\");\n };\n\n PNG.prototype.decodeFrames = function(ctx) {\n var frame, i, imageData, pixels, _i, _len, _ref, _results;\n if (!this.animation) {\n return;\n }\n _ref = this.animation.frames;\n _results = [];\n for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) {\n frame = _ref[i];\n imageData = ctx.createImageData(frame.width, frame.height);\n pixels = this.decodePixels(new Uint8Array(frame.data));\n this.copyToImageData(imageData, pixels);\n frame.imageData = imageData;\n _results.push((frame.image = makeImage(imageData)));\n }\n return _results;\n };\n\n PNG.prototype.renderFrame = function(ctx, number) {\n var frame, frames, prev;\n frames = this.animation.frames;\n frame = frames[number];\n prev = frames[number - 1];\n if (number === 0) {\n ctx.clearRect(0, 0, this.width, this.height);\n }\n if (\n (prev != null ? prev.disposeOp : void 0) === APNG_DISPOSE_OP_BACKGROUND\n ) {\n ctx.clearRect(prev.xOffset, prev.yOffset, prev.width, prev.height);\n } else if (\n (prev != null ? prev.disposeOp : void 0) === APNG_DISPOSE_OP_PREVIOUS\n ) {\n ctx.putImageData(prev.imageData, prev.xOffset, prev.yOffset);\n }\n if (frame.blendOp === APNG_BLEND_OP_SOURCE) {\n ctx.clearRect(frame.xOffset, frame.yOffset, frame.width, frame.height);\n }\n return ctx.drawImage(frame.image, frame.xOffset, frame.yOffset);\n };\n\n PNG.prototype.animate = function(ctx) {\n var doFrame,\n frameNumber,\n frames,\n numFrames,\n numPlays,\n _ref,\n _this = this;\n frameNumber = 0;\n (_ref = this.animation),\n (numFrames = _ref.numFrames),\n (frames = _ref.frames),\n (numPlays = _ref.numPlays);\n return (doFrame = function() {\n var f, frame;\n f = frameNumber++ % numFrames;\n frame = frames[f];\n _this.renderFrame(ctx, f);\n if (numFrames > 1 && frameNumber / numFrames < numPlays) {\n return (_this.animation._timeout = setTimeout(doFrame, frame.delay));\n }\n })();\n };\n\n PNG.prototype.stopAnimation = function() {\n var _ref;\n return clearTimeout(\n (_ref = this.animation) != null ? _ref._timeout : void 0\n );\n };\n\n PNG.prototype.render = function(canvas) {\n var ctx, data;\n if (canvas._png) {\n canvas._png.stopAnimation();\n }\n canvas._png = this;\n canvas.width = this.width;\n canvas.height = this.height;\n ctx = canvas.getContext(\"2d\");\n if (this.animation) {\n this.decodeFrames(ctx);\n return this.animate(ctx);\n } else {\n data = ctx.createImageData(this.width, this.height);\n this.copyToImageData(data, this.decodePixels());\n return ctx.putImageData(data, 0, 0);\n }\n };\n\n return PNG;\n})();\n\nexport { PNG };\n","/** @license\n * MIT license.\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n * 2014 Diego Casorran, https://github.com/diegocr\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF split_text_to_size plugin\n *\n * @name split_text_to_size\n * @module\n */\n(function(API) {\n \"use strict\";\n /**\n * Returns an array of length matching length of the 'word' string, with each\n * cell occupied by the width of the char in that position.\n *\n * @name getCharWidthsArray\n * @function\n * @param {string} text\n * @param {Object} options\n * @returns {Array}\n */\n var getCharWidthsArray = (API.getCharWidthsArray = function(text, options) {\n options = options || {};\n\n var activeFont = options.font || this.internal.getFont();\n var fontSize = options.fontSize || this.internal.getFontSize();\n var charSpace = options.charSpace || this.internal.getCharSpace();\n\n var widths = options.widths\n ? options.widths\n : activeFont.metadata.Unicode.widths;\n var widthsFractionOf = widths.fof ? widths.fof : 1;\n var kerning = options.kerning\n ? options.kerning\n : activeFont.metadata.Unicode.kerning;\n var kerningFractionOf = kerning.fof ? kerning.fof : 1;\n var doKerning = options.doKerning === false ? false : true;\n var kerningValue = 0;\n\n var i;\n var length = text.length;\n var char_code;\n var prior_char_code = 0; //for kerning\n var default_char_width = widths[0] || widthsFractionOf;\n var output = [];\n\n for (i = 0; i < length; i++) {\n char_code = text.charCodeAt(i);\n\n if (typeof activeFont.metadata.widthOfString === \"function\") {\n output.push(\n (activeFont.metadata.widthOfGlyph(\n activeFont.metadata.characterToGlyph(char_code)\n ) +\n charSpace * (1000 / fontSize) || 0) / 1000\n );\n } else {\n if (\n doKerning &&\n typeof kerning[char_code] === \"object\" &&\n !isNaN(parseInt(kerning[char_code][prior_char_code], 10))\n ) {\n kerningValue =\n kerning[char_code][prior_char_code] / kerningFractionOf;\n } else {\n kerningValue = 0;\n }\n output.push(\n (widths[char_code] || default_char_width) / widthsFractionOf +\n kerningValue\n );\n }\n prior_char_code = char_code;\n }\n\n return output;\n });\n\n /**\n * Returns a widths of string in a given font, if the font size is set as 1 point.\n *\n * In other words, this is \"proportional\" value. For 1 unit of font size, the length\n * of the string will be that much.\n *\n * Multiply by font size to get actual width in *points*\n * Then divide by 72 to get inches or divide by (72/25.6) to get 'mm' etc.\n *\n * @name getStringUnitWidth\n * @public\n * @function\n * @param {string} text\n * @param {string} options\n * @returns {number} result\n */\n var getStringUnitWidth = (API.getStringUnitWidth = function(text, options) {\n options = options || {};\n\n var fontSize = options.fontSize || this.internal.getFontSize();\n var font = options.font || this.internal.getFont();\n var charSpace = options.charSpace || this.internal.getCharSpace();\n var result = 0;\n\n if (API.processArabic) {\n text = API.processArabic(text);\n }\n\n if (typeof font.metadata.widthOfString === \"function\") {\n result =\n font.metadata.widthOfString(text, fontSize, charSpace) / fontSize;\n } else {\n result = getCharWidthsArray\n .apply(this, arguments)\n .reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n }\n return result;\n });\n\n /**\n returns array of lines\n */\n var splitLongWord = function(word, widths_array, firstLineMaxLen, maxLen) {\n var answer = [];\n\n // 1st, chop off the piece that can fit on the hanging line.\n var i = 0,\n l = word.length,\n workingLen = 0;\n while (i !== l && workingLen + widths_array[i] < firstLineMaxLen) {\n workingLen += widths_array[i];\n i++;\n }\n // this is first line.\n answer.push(word.slice(0, i));\n\n // 2nd. Split the rest into maxLen pieces.\n var startOfLine = i;\n workingLen = 0;\n while (i !== l) {\n if (workingLen + widths_array[i] > maxLen) {\n answer.push(word.slice(startOfLine, i));\n workingLen = 0;\n startOfLine = i;\n }\n workingLen += widths_array[i];\n i++;\n }\n if (startOfLine !== i) {\n answer.push(word.slice(startOfLine, i));\n }\n\n return answer;\n };\n\n // Note, all sizing inputs for this function must be in \"font measurement units\"\n // By default, for PDF, it's \"point\".\n var splitParagraphIntoLines = function(text, maxlen, options) {\n // at this time works only on Western scripts, ones with space char\n // separating the words. Feel free to expand.\n\n if (!options) {\n options = {};\n }\n\n var line = [],\n lines = [line],\n line_length = options.textIndent || 0,\n separator_length = 0,\n current_word_length = 0,\n word,\n widths_array,\n words = text.split(\" \"),\n spaceCharWidth = getCharWidthsArray.apply(this, [\" \", options])[0],\n i,\n l,\n tmp,\n lineIndent;\n\n if (options.lineIndent === -1) {\n lineIndent = words[0].length + 2;\n } else {\n lineIndent = options.lineIndent || 0;\n }\n if (lineIndent) {\n var pad = Array(lineIndent).join(\" \"),\n wrds = [];\n words.map(function(wrd) {\n wrd = wrd.split(/\\s*\\n/);\n if (wrd.length > 1) {\n wrds = wrds.concat(\n wrd.map(function(wrd, idx) {\n return (idx && wrd.length ? \"\\n\" : \"\") + wrd;\n })\n );\n } else {\n wrds.push(wrd[0]);\n }\n });\n words = wrds;\n lineIndent = getStringUnitWidth.apply(this, [pad, options]);\n }\n\n for (i = 0, l = words.length; i < l; i++) {\n var force = 0;\n\n word = words[i];\n if (lineIndent && word[0] == \"\\n\") {\n word = word.substr(1);\n force = 1;\n }\n widths_array = getCharWidthsArray.apply(this, [word, options]);\n current_word_length = widths_array.reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n\n if (\n line_length + separator_length + current_word_length > maxlen ||\n force\n ) {\n if (current_word_length > maxlen) {\n // this happens when you have space-less long URLs for example.\n // we just chop these to size. We do NOT insert hiphens\n tmp = splitLongWord.apply(this, [\n word,\n widths_array,\n maxlen - (line_length + separator_length),\n maxlen\n ]);\n // first line we add to existing line object\n line.push(tmp.shift()); // it's ok to have extra space indicator there\n // last line we make into new line object\n line = [tmp.pop()];\n // lines in the middle we apped to lines object as whole lines\n while (tmp.length) {\n lines.push([tmp.shift()]); // single fragment occupies whole line\n }\n current_word_length = widths_array\n .slice(word.length - (line[0] ? line[0].length : 0))\n .reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n } else {\n // just put it on a new line\n line = [word];\n }\n\n // now we attach new line to lines\n lines.push(line);\n line_length = current_word_length + lineIndent;\n separator_length = spaceCharWidth;\n } else {\n line.push(word);\n\n line_length += separator_length + current_word_length;\n separator_length = spaceCharWidth;\n }\n }\n\n var postProcess;\n if (lineIndent) {\n postProcess = function(ln, idx) {\n return (idx ? pad : \"\") + ln.join(\" \");\n };\n } else {\n postProcess = function(ln) {\n return ln.join(\" \");\n };\n }\n\n return lines.map(postProcess);\n };\n\n /**\n * Splits a given string into an array of strings. Uses 'size' value\n * (in measurement units declared as default for the jsPDF instance)\n * and the font's \"widths\" and \"Kerning\" tables, where available, to\n * determine display length of a given string for a given font.\n *\n * We use character's 100% of unit size (height) as width when Width\n * table or other default width is not available.\n *\n * @name splitTextToSize\n * @public\n * @function\n * @param {string} text Unencoded, regular JavaScript (Unicode, UTF-16 / UCS-2) string.\n * @param {number} size Nominal number, measured in units default to this instance of jsPDF.\n * @param {Object} options Optional flags needed for chopper to do the right thing.\n * @returns {Array} array Array with strings chopped to size.\n */\n API.splitTextToSize = function(text, maxlen, options) {\n \"use strict\";\n\n options = options || {};\n\n var fsize = options.fontSize || this.internal.getFontSize(),\n newOptions = function(options) {\n var widths = {\n 0: 1\n },\n kerning = {};\n\n if (!options.widths || !options.kerning) {\n var f = this.internal.getFont(options.fontName, options.fontStyle),\n encoding = \"Unicode\";\n // NOT UTF8, NOT UTF16BE/LE, NOT UCS2BE/LE\n // Actual JavaScript-native String's 16bit char codes used.\n // no multi-byte logic here\n\n if (f.metadata[encoding]) {\n return {\n widths: f.metadata[encoding].widths || widths,\n kerning: f.metadata[encoding].kerning || kerning\n };\n } else {\n return {\n font: f.metadata,\n fontSize: this.internal.getFontSize(),\n charSpace: this.internal.getCharSpace()\n };\n }\n } else {\n return {\n widths: options.widths,\n kerning: options.kerning\n };\n }\n }.call(this, options);\n\n // first we split on end-of-line chars\n var paragraphs;\n if (Array.isArray(text)) {\n paragraphs = text;\n } else {\n paragraphs = String(text).split(/\\r?\\n/);\n }\n\n // now we convert size (max length of line) into \"font size units\"\n // at present time, the \"font size unit\" is always 'point'\n // 'proportional' means, \"in proportion to font size\"\n var fontUnit_maxLen = (1.0 * this.internal.scaleFactor * maxlen) / fsize;\n // at this time, fsize is always in \"points\" regardless of the default measurement unit of the doc.\n // this may change in the future?\n // until then, proportional_maxlen is likely to be in 'points'\n\n // If first line is to be indented (shorter or longer) than maxLen\n // we indicate that by using CSS-style \"text-indent\" option.\n // here it's in font units too (which is likely 'points')\n // it can be negative (which makes the first line longer than maxLen)\n newOptions.textIndent = options.textIndent\n ? (options.textIndent * 1.0 * this.internal.scaleFactor) / fsize\n : 0;\n newOptions.lineIndent = options.lineIndent;\n\n var i,\n l,\n output = [];\n for (i = 0, l = paragraphs.length; i < l; i++) {\n output = output.concat(\n splitParagraphIntoLines.apply(this, [\n paragraphs[i],\n fontUnit_maxLen,\n newOptions\n ])\n );\n }\n\n return output;\n };\n})(jsPDF.API);\n","/**\n * @license\n * (c) Dean McNamee , 2013.\n *\n * https://github.com/deanm/omggif\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n *\n * omggif is a JavaScript implementation of a GIF 89a encoder and decoder,\n * including animation and compression. It does not rely on any specific\n * underlying system, so should run in the browser, Node, or Plask.\n */\n\n\"use strict\";\n\nimport { console } from \"./console.js\";\n\nfunction GifWriter(buf, width, height, gopts) {\n var p = 0;\n\n var gopts = gopts === undefined ? {} : gopts;\n var loop_count = gopts.loop === undefined ? null : gopts.loop;\n var global_palette = gopts.palette === undefined ? null : gopts.palette;\n\n if (width <= 0 || height <= 0 || width > 65535 || height > 65535)\n throw new Error(\"Width/Height invalid.\");\n\n function check_palette_and_num_colors(palette) {\n var num_colors = palette.length;\n if (num_colors < 2 || num_colors > 256 || num_colors & (num_colors - 1)) {\n throw new Error(\n \"Invalid code/color length, must be power of 2 and 2 .. 256.\"\n );\n }\n return num_colors;\n }\n\n // - Header.\n buf[p++] = 0x47;\n buf[p++] = 0x49;\n buf[p++] = 0x46; // GIF\n buf[p++] = 0x38;\n buf[p++] = 0x39;\n buf[p++] = 0x61; // 89a\n\n // Handling of Global Color Table (palette) and background index.\n var gp_num_colors_pow2 = 0;\n var background = 0;\n if (global_palette !== null) {\n var gp_num_colors = check_palette_and_num_colors(global_palette);\n while ((gp_num_colors >>= 1)) ++gp_num_colors_pow2;\n gp_num_colors = 1 << gp_num_colors_pow2;\n --gp_num_colors_pow2;\n if (gopts.background !== undefined) {\n background = gopts.background;\n if (background >= gp_num_colors)\n throw new Error(\"Background index out of range.\");\n // The GIF spec states that a background index of 0 should be ignored, so\n // this is probably a mistake and you really want to set it to another\n // slot in the palette. But actually in the end most browsers, etc end\n // up ignoring this almost completely (including for dispose background).\n if (background === 0)\n throw new Error(\"Background index explicitly passed as 0.\");\n }\n }\n\n // - Logical Screen Descriptor.\n // NOTE(deanm): w/h apparently ignored by implementations, but set anyway.\n buf[p++] = width & 0xff;\n buf[p++] = (width >> 8) & 0xff;\n buf[p++] = height & 0xff;\n buf[p++] = (height >> 8) & 0xff;\n // NOTE: Indicates 0-bpp original color resolution (unused?).\n buf[p++] = (global_palette !== null ? 0x80 : 0) | gp_num_colors_pow2; // Global Color Table Flag. // NOTE: No sort flag (unused?).\n buf[p++] = background; // Background Color Index.\n buf[p++] = 0; // Pixel aspect ratio (unused?).\n\n // - Global Color Table\n if (global_palette !== null) {\n for (var i = 0, il = global_palette.length; i < il; ++i) {\n var rgb = global_palette[i];\n buf[p++] = (rgb >> 16) & 0xff;\n buf[p++] = (rgb >> 8) & 0xff;\n buf[p++] = rgb & 0xff;\n }\n }\n\n if (loop_count !== null) {\n // Netscape block for looping.\n if (loop_count < 0 || loop_count > 65535)\n throw new Error(\"Loop count invalid.\");\n // Extension code, label, and length.\n buf[p++] = 0x21;\n buf[p++] = 0xff;\n buf[p++] = 0x0b;\n // NETSCAPE2.0\n buf[p++] = 0x4e;\n buf[p++] = 0x45;\n buf[p++] = 0x54;\n buf[p++] = 0x53;\n buf[p++] = 0x43;\n buf[p++] = 0x41;\n buf[p++] = 0x50;\n buf[p++] = 0x45;\n buf[p++] = 0x32;\n buf[p++] = 0x2e;\n buf[p++] = 0x30;\n // Sub-block\n buf[p++] = 0x03;\n buf[p++] = 0x01;\n buf[p++] = loop_count & 0xff;\n buf[p++] = (loop_count >> 8) & 0xff;\n buf[p++] = 0x00; // Terminator.\n }\n\n var ended = false;\n\n this.addFrame = function(x, y, w, h, indexed_pixels, opts) {\n if (ended === true) {\n --p;\n ended = false;\n } // Un-end.\n\n opts = opts === undefined ? {} : opts;\n\n // TODO(deanm): Bounds check x, y. Do they need to be within the virtual\n // canvas width/height, I imagine?\n if (x < 0 || y < 0 || x > 65535 || y > 65535)\n throw new Error(\"x/y invalid.\");\n\n if (w <= 0 || h <= 0 || w > 65535 || h > 65535)\n throw new Error(\"Width/Height invalid.\");\n\n if (indexed_pixels.length < w * h)\n throw new Error(\"Not enough pixels for the frame size.\");\n\n var using_local_palette = true;\n var palette = opts.palette;\n if (palette === undefined || palette === null) {\n using_local_palette = false;\n palette = global_palette;\n }\n\n if (palette === undefined || palette === null)\n throw new Error(\"Must supply either a local or global palette.\");\n\n var num_colors = check_palette_and_num_colors(palette);\n\n // Compute the min_code_size (power of 2), destroying num_colors.\n var min_code_size = 0;\n while ((num_colors >>= 1)) ++min_code_size;\n num_colors = 1 << min_code_size; // Now we can easily get it back.\n\n var delay = opts.delay === undefined ? 0 : opts.delay;\n\n // From the spec:\n // 0 - No disposal specified. The decoder is\n // not required to take any action.\n // 1 - Do not dispose. The graphic is to be left\n // in place.\n // 2 - Restore to background color. The area used by the\n // graphic must be restored to the background color.\n // 3 - Restore to previous. The decoder is required to\n // restore the area overwritten by the graphic with\n // what was there prior to rendering the graphic.\n // 4-7 - To be defined.\n // NOTE(deanm): Dispose background doesn't really work, apparently most\n // browsers ignore the background palette index and clear to transparency.\n var disposal = opts.disposal === undefined ? 0 : opts.disposal;\n if (disposal < 0 || disposal > 3)\n // 4-7 is reserved.\n throw new Error(\"Disposal out of range.\");\n\n var use_transparency = false;\n var transparent_index = 0;\n if (opts.transparent !== undefined && opts.transparent !== null) {\n use_transparency = true;\n transparent_index = opts.transparent;\n if (transparent_index < 0 || transparent_index >= num_colors)\n throw new Error(\"Transparent color index.\");\n }\n\n if (disposal !== 0 || use_transparency || delay !== 0) {\n // - Graphics Control Extension\n buf[p++] = 0x21;\n buf[p++] = 0xf9; // Extension / Label.\n buf[p++] = 4; // Byte size.\n\n buf[p++] = (disposal << 2) | (use_transparency === true ? 1 : 0);\n buf[p++] = delay & 0xff;\n buf[p++] = (delay >> 8) & 0xff;\n buf[p++] = transparent_index; // Transparent color index.\n buf[p++] = 0; // Block Terminator.\n }\n\n // - Image Descriptor\n buf[p++] = 0x2c; // Image Seperator.\n buf[p++] = x & 0xff;\n buf[p++] = (x >> 8) & 0xff; // Left.\n buf[p++] = y & 0xff;\n buf[p++] = (y >> 8) & 0xff; // Top.\n buf[p++] = w & 0xff;\n buf[p++] = (w >> 8) & 0xff;\n buf[p++] = h & 0xff;\n buf[p++] = (h >> 8) & 0xff;\n // NOTE: No sort flag (unused?).\n // TODO(deanm): Support interlace.\n buf[p++] = using_local_palette === true ? 0x80 | (min_code_size - 1) : 0;\n\n // - Local Color Table\n if (using_local_palette === true) {\n for (var i = 0, il = palette.length; i < il; ++i) {\n var rgb = palette[i];\n buf[p++] = (rgb >> 16) & 0xff;\n buf[p++] = (rgb >> 8) & 0xff;\n buf[p++] = rgb & 0xff;\n }\n }\n\n p = GifWriterOutputLZWCodeStream(\n buf,\n p,\n min_code_size < 2 ? 2 : min_code_size,\n indexed_pixels\n );\n\n return p;\n };\n\n this.end = function() {\n if (ended === false) {\n buf[p++] = 0x3b; // Trailer.\n ended = true;\n }\n return p;\n };\n\n this.getOutputBuffer = function() {\n return buf;\n };\n this.setOutputBuffer = function(v) {\n buf = v;\n };\n this.getOutputBufferPosition = function() {\n return p;\n };\n this.setOutputBufferPosition = function(v) {\n p = v;\n };\n}\n\n// Main compression routine, palette indexes -> LZW code stream.\n// |index_stream| must have at least one entry.\nfunction GifWriterOutputLZWCodeStream(buf, p, min_code_size, index_stream) {\n buf[p++] = min_code_size;\n var cur_subblock = p++; // Pointing at the length field.\n\n var clear_code = 1 << min_code_size;\n var code_mask = clear_code - 1;\n var eoi_code = clear_code + 1;\n var next_code = eoi_code + 1;\n\n var cur_code_size = min_code_size + 1; // Number of bits per code.\n var cur_shift = 0;\n // We have at most 12-bit codes, so we should have to hold a max of 19\n // bits here (and then we would write out).\n var cur = 0;\n\n function emit_bytes_to_buffer(bit_block_size) {\n while (cur_shift >= bit_block_size) {\n buf[p++] = cur & 0xff;\n cur >>= 8;\n cur_shift -= 8;\n if (p === cur_subblock + 256) {\n // Finished a subblock.\n buf[cur_subblock] = 255;\n cur_subblock = p++;\n }\n }\n }\n\n function emit_code(c) {\n cur |= c << cur_shift;\n cur_shift += cur_code_size;\n emit_bytes_to_buffer(8);\n }\n\n // I am not an expert on the topic, and I don't want to write a thesis.\n // However, it is good to outline here the basic algorithm and the few data\n // structures and optimizations here that make this implementation fast.\n // The basic idea behind LZW is to build a table of previously seen runs\n // addressed by a short id (herein called output code). All data is\n // referenced by a code, which represents one or more values from the\n // original input stream. All input bytes can be referenced as the same\n // value as an output code. So if you didn't want any compression, you\n // could more or less just output the original bytes as codes (there are\n // some details to this, but it is the idea). In order to achieve\n // compression, values greater then the input range (codes can be up to\n // 12-bit while input only 8-bit) represent a sequence of previously seen\n // inputs. The decompressor is able to build the same mapping while\n // decoding, so there is always a shared common knowledge between the\n // encoding and decoder, which is also important for \"timing\" aspects like\n // how to handle variable bit width code encoding.\n //\n // One obvious but very important consequence of the table system is there\n // is always a unique id (at most 12-bits) to map the runs. 'A' might be\n // 4, then 'AA' might be 10, 'AAA' 11, 'AAAA' 12, etc. This relationship\n // can be used for an effecient lookup strategy for the code mapping. We\n // need to know if a run has been seen before, and be able to map that run\n // to the output code. Since we start with known unique ids (input bytes),\n // and then from those build more unique ids (table entries), we can\n // continue this chain (almost like a linked list) to always have small\n // integer values that represent the current byte chains in the encoder.\n // This means instead of tracking the input bytes (AAAABCD) to know our\n // current state, we can track the table entry for AAAABC (it is guaranteed\n // to exist by the nature of the algorithm) and the next character D.\n // Therefor the tuple of (table_entry, byte) is guaranteed to also be\n // unique. This allows us to create a simple lookup key for mapping input\n // sequences to codes (table indices) without having to store or search\n // any of the code sequences. So if 'AAAA' has a table entry of 12, the\n // tuple of ('AAAA', K) for any input byte K will be unique, and can be our\n // key. This leads to a integer value at most 20-bits, which can always\n // fit in an SMI value and be used as a fast sparse array / object key.\n\n // Output code for the current contents of the index buffer.\n var ib_code = index_stream[0] & code_mask; // Load first input index.\n var code_table = {}; // Key'd on our 20-bit \"tuple\".\n\n emit_code(clear_code); // Spec says first code should be a clear code.\n\n // First index already loaded, process the rest of the stream.\n for (var i = 1, il = index_stream.length; i < il; ++i) {\n var k = index_stream[i] & code_mask;\n var cur_key = (ib_code << 8) | k; // (prev, k) unique tuple.\n var cur_code = code_table[cur_key]; // buffer + k.\n\n // Check if we have to create a new code table entry.\n if (cur_code === undefined) {\n // We don't have buffer + k.\n // Emit index buffer (without k).\n // This is an inline version of emit_code, because this is the core\n // writing routine of the compressor (and V8 cannot inline emit_code\n // because it is a closure here in a different context). Additionally\n // we can call emit_byte_to_buffer less often, because we can have\n // 30-bits (from our 31-bit signed SMI), and we know our codes will only\n // be 12-bits, so can safely have 18-bits there without overflow.\n // emit_code(ib_code);\n cur |= ib_code << cur_shift;\n cur_shift += cur_code_size;\n while (cur_shift >= 8) {\n buf[p++] = cur & 0xff;\n cur >>= 8;\n cur_shift -= 8;\n if (p === cur_subblock + 256) {\n // Finished a subblock.\n buf[cur_subblock] = 255;\n cur_subblock = p++;\n }\n }\n\n if (next_code === 4096) {\n // Table full, need a clear.\n emit_code(clear_code);\n next_code = eoi_code + 1;\n cur_code_size = min_code_size + 1;\n code_table = {};\n } else {\n // Table not full, insert a new entry.\n // Increase our variable bit code sizes if necessary. This is a bit\n // tricky as it is based on \"timing\" between the encoding and\n // decoder. From the encoders perspective this should happen after\n // we've already emitted the index buffer and are about to create the\n // first table entry that would overflow our current code bit size.\n if (next_code >= 1 << cur_code_size) ++cur_code_size;\n code_table[cur_key] = next_code++; // Insert into code table.\n }\n\n ib_code = k; // Index buffer to single input k.\n } else {\n ib_code = cur_code; // Index buffer to sequence in code table.\n }\n }\n\n emit_code(ib_code); // There will still be something in the index buffer.\n emit_code(eoi_code); // End Of Information.\n\n // Flush / finalize the sub-blocks stream to the buffer.\n emit_bytes_to_buffer(1);\n\n // Finish the sub-blocks, writing out any unfinished lengths and\n // terminating with a sub-block of length 0. If we have already started\n // but not yet used a sub-block it can just become the terminator.\n if (cur_subblock + 1 === p) {\n // Started but unused.\n buf[cur_subblock] = 0;\n } else {\n // Started and used, write length and additional terminator block.\n buf[cur_subblock] = p - cur_subblock - 1;\n buf[p++] = 0;\n }\n return p;\n}\n\nfunction GifReader(buf) {\n var p = 0;\n\n // - Header (GIF87a or GIF89a).\n if (\n buf[p++] !== 0x47 ||\n buf[p++] !== 0x49 ||\n buf[p++] !== 0x46 ||\n buf[p++] !== 0x38 ||\n ((buf[p++] + 1) & 0xfd) !== 0x38 ||\n buf[p++] !== 0x61\n ) {\n throw new Error(\"Invalid GIF 87a/89a header.\");\n }\n\n // - Logical Screen Descriptor.\n var width = buf[p++] | (buf[p++] << 8);\n var height = buf[p++] | (buf[p++] << 8);\n var pf0 = buf[p++]; // .\n var global_palette_flag = pf0 >> 7;\n var num_global_colors_pow2 = pf0 & 0x7;\n var num_global_colors = 1 << (num_global_colors_pow2 + 1);\n var background = buf[p++];\n buf[p++]; // Pixel aspect ratio (unused?).\n\n var global_palette_offset = null;\n var global_palette_size = null;\n\n if (global_palette_flag) {\n global_palette_offset = p;\n global_palette_size = num_global_colors;\n p += num_global_colors * 3; // Seek past palette.\n }\n\n var no_eof = true;\n\n var frames = [];\n\n var delay = 0;\n var transparent_index = null;\n var disposal = 0; // 0 - No disposal specified.\n var loop_count = null;\n\n this.width = width;\n this.height = height;\n\n while (no_eof && p < buf.length) {\n switch (buf[p++]) {\n case 0x21: // Graphics Control Extension Block\n switch (buf[p++]) {\n case 0xff: // Application specific block\n // Try if it's a Netscape block (with animation loop counter).\n if (\n buf[p] !== 0x0b || // 21 FF already read, check block size.\n // NETSCAPE2.0\n (buf[p + 1] == 0x4e &&\n buf[p + 2] == 0x45 &&\n buf[p + 3] == 0x54 &&\n buf[p + 4] == 0x53 &&\n buf[p + 5] == 0x43 &&\n buf[p + 6] == 0x41 &&\n buf[p + 7] == 0x50 &&\n buf[p + 8] == 0x45 &&\n buf[p + 9] == 0x32 &&\n buf[p + 10] == 0x2e &&\n buf[p + 11] == 0x30 &&\n // Sub-block\n buf[p + 12] == 0x03 &&\n buf[p + 13] == 0x01 &&\n buf[p + 16] == 0)\n ) {\n p += 14;\n loop_count = buf[p++] | (buf[p++] << 8);\n p++; // Skip terminator.\n } else {\n // We don't know what it is, just try to get past it.\n p += 12;\n while (true) {\n // Seek through subblocks.\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n p += block_size;\n }\n }\n break;\n\n case 0xf9: // Graphics Control Extension\n if (buf[p++] !== 0x4 || buf[p + 4] !== 0)\n throw new Error(\"Invalid graphics extension block.\");\n var pf1 = buf[p++];\n delay = buf[p++] | (buf[p++] << 8);\n transparent_index = buf[p++];\n if ((pf1 & 1) === 0) transparent_index = null;\n disposal = (pf1 >> 2) & 0x7;\n p++; // Skip terminator.\n break;\n\n case 0xfe: // Comment Extension.\n while (true) {\n // Seek through subblocks.\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n // console.log(buf.slice(p, p+block_size).toString('ascii'));\n p += block_size;\n }\n break;\n\n default:\n throw new Error(\n \"Unknown graphic control label: 0x\" + buf[p - 1].toString(16)\n );\n }\n break;\n\n case 0x2c: // Image Descriptor.\n var x = buf[p++] | (buf[p++] << 8);\n var y = buf[p++] | (buf[p++] << 8);\n var w = buf[p++] | (buf[p++] << 8);\n var h = buf[p++] | (buf[p++] << 8);\n var pf2 = buf[p++];\n var local_palette_flag = pf2 >> 7;\n var interlace_flag = (pf2 >> 6) & 1;\n var num_local_colors_pow2 = pf2 & 0x7;\n var num_local_colors = 1 << (num_local_colors_pow2 + 1);\n var palette_offset = global_palette_offset;\n var palette_size = global_palette_size;\n var has_local_palette = false;\n if (local_palette_flag) {\n var has_local_palette = true;\n palette_offset = p; // Override with local palette.\n palette_size = num_local_colors;\n p += num_local_colors * 3; // Seek past palette.\n }\n\n var data_offset = p;\n\n p++; // codesize\n while (true) {\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n p += block_size;\n }\n\n frames.push({\n x: x,\n y: y,\n width: w,\n height: h,\n has_local_palette: has_local_palette,\n palette_offset: palette_offset,\n palette_size: palette_size,\n data_offset: data_offset,\n data_length: p - data_offset,\n transparent_index: transparent_index,\n interlaced: !!interlace_flag,\n delay: delay,\n disposal: disposal\n });\n break;\n\n case 0x3b: // Trailer Marker (end of file).\n no_eof = false;\n break;\n\n default:\n throw new Error(\"Unknown gif block: 0x\" + buf[p - 1].toString(16));\n break;\n }\n }\n\n this.numFrames = function() {\n return frames.length;\n };\n\n this.loopCount = function() {\n return loop_count;\n };\n\n this.frameInfo = function(frame_num) {\n if (frame_num < 0 || frame_num >= frames.length)\n throw new Error(\"Frame index out of range.\");\n return frames[frame_num];\n };\n\n this.decodeAndBlitFrameBGRA = function(frame_num, pixels) {\n var frame = this.frameInfo(frame_num);\n var num_pixels = frame.width * frame.height;\n var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices.\n GifReaderLZWOutputIndexStream(\n buf,\n frame.data_offset,\n index_stream,\n num_pixels\n );\n var palette_offset = frame.palette_offset;\n\n // NOTE(deanm): It seems to be much faster to compare index to 256 than\n // to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in\n // the profile, not sure if it's related to using a Uint8Array.\n var trans = frame.transparent_index;\n if (trans === null) trans = 256;\n\n // We are possibly just blitting to a portion of the entire frame.\n // That is a subrect within the framerect, so the additional pixels\n // must be skipped over after we finished a scanline.\n var framewidth = frame.width;\n var framestride = width - framewidth;\n var xleft = framewidth; // Number of subrect pixels left in scanline.\n\n // Output indices of the top left and bottom right corners of the subrect.\n var opbeg = (frame.y * width + frame.x) * 4;\n var opend = ((frame.y + frame.height) * width + frame.x) * 4;\n var op = opbeg;\n\n var scanstride = framestride * 4;\n\n // Use scanstride to skip past the rows when interlacing. This is skipping\n // 7 rows for the first two passes, then 3 then 1.\n if (frame.interlaced === true) {\n scanstride += width * 4 * 7; // Pass 1.\n }\n\n var interlaceskip = 8; // Tracking the row interval in the current pass.\n\n for (var i = 0, il = index_stream.length; i < il; ++i) {\n var index = index_stream[i];\n\n if (xleft === 0) {\n // Beginning of new scan line\n op += scanstride;\n xleft = framewidth;\n if (op >= opend) {\n // Catch the wrap to switch passes when interlacing.\n scanstride = framestride * 4 + width * 4 * (interlaceskip - 1);\n // interlaceskip / 2 * 4 is interlaceskip << 1.\n op = opbeg + (framewidth + framestride) * (interlaceskip << 1);\n interlaceskip >>= 1;\n }\n }\n\n if (index === trans) {\n op += 4;\n } else {\n var r = buf[palette_offset + index * 3];\n var g = buf[palette_offset + index * 3 + 1];\n var b = buf[palette_offset + index * 3 + 2];\n pixels[op++] = b;\n pixels[op++] = g;\n pixels[op++] = r;\n pixels[op++] = 255;\n }\n --xleft;\n }\n };\n\n // I will go to copy and paste hell one day...\n this.decodeAndBlitFrameRGBA = function(frame_num, pixels) {\n var frame = this.frameInfo(frame_num);\n var num_pixels = frame.width * frame.height;\n var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices.\n GifReaderLZWOutputIndexStream(\n buf,\n frame.data_offset,\n index_stream,\n num_pixels\n );\n var palette_offset = frame.palette_offset;\n\n // NOTE(deanm): It seems to be much faster to compare index to 256 than\n // to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in\n // the profile, not sure if it's related to using a Uint8Array.\n var trans = frame.transparent_index;\n if (trans === null) trans = 256;\n\n // We are possibly just blitting to a portion of the entire frame.\n // That is a subrect within the framerect, so the additional pixels\n // must be skipped over after we finished a scanline.\n var framewidth = frame.width;\n var framestride = width - framewidth;\n var xleft = framewidth; // Number of subrect pixels left in scanline.\n\n // Output indices of the top left and bottom right corners of the subrect.\n var opbeg = (frame.y * width + frame.x) * 4;\n var opend = ((frame.y + frame.height) * width + frame.x) * 4;\n var op = opbeg;\n\n var scanstride = framestride * 4;\n\n // Use scanstride to skip past the rows when interlacing. This is skipping\n // 7 rows for the first two passes, then 3 then 1.\n if (frame.interlaced === true) {\n scanstride += width * 4 * 7; // Pass 1.\n }\n\n var interlaceskip = 8; // Tracking the row interval in the current pass.\n\n for (var i = 0, il = index_stream.length; i < il; ++i) {\n var index = index_stream[i];\n\n if (xleft === 0) {\n // Beginning of new scan line\n op += scanstride;\n xleft = framewidth;\n if (op >= opend) {\n // Catch the wrap to switch passes when interlacing.\n scanstride = framestride * 4 + width * 4 * (interlaceskip - 1);\n // interlaceskip / 2 * 4 is interlaceskip << 1.\n op = opbeg + (framewidth + framestride) * (interlaceskip << 1);\n interlaceskip >>= 1;\n }\n }\n\n if (index === trans) {\n op += 4;\n } else {\n var r = buf[palette_offset + index * 3];\n var g = buf[palette_offset + index * 3 + 1];\n var b = buf[palette_offset + index * 3 + 2];\n pixels[op++] = r;\n pixels[op++] = g;\n pixels[op++] = b;\n pixels[op++] = 255;\n }\n --xleft;\n }\n };\n}\n\nfunction GifReaderLZWOutputIndexStream(code_stream, p, output, output_length) {\n var min_code_size = code_stream[p++];\n\n var clear_code = 1 << min_code_size;\n var eoi_code = clear_code + 1;\n var next_code = eoi_code + 1;\n\n var cur_code_size = min_code_size + 1; // Number of bits per code.\n // NOTE: This shares the same name as the encoder, but has a different\n // meaning here. Here this masks each code coming from the code stream.\n var code_mask = (1 << cur_code_size) - 1;\n var cur_shift = 0;\n var cur = 0;\n\n var op = 0; // Output pointer.\n\n var subblock_size = code_stream[p++];\n\n // TODO(deanm): Would using a TypedArray be any faster? At least it would\n // solve the fast mode / backing store uncertainty.\n // var code_table = Array(4096);\n var code_table = new Int32Array(4096); // Can be signed, we only use 20 bits.\n\n var prev_code = null; // Track code-1.\n\n while (true) {\n // Read up to two bytes, making sure we always 12-bits for max sized code.\n while (cur_shift < 16) {\n if (subblock_size === 0) break; // No more data to be read.\n\n cur |= code_stream[p++] << cur_shift;\n cur_shift += 8;\n\n if (subblock_size === 1) {\n // Never let it get to 0 to hold logic above.\n subblock_size = code_stream[p++]; // Next subblock.\n } else {\n --subblock_size;\n }\n }\n\n // TODO(deanm): We should never really get here, we should have received\n // and EOI.\n if (cur_shift < cur_code_size) break;\n\n var code = cur & code_mask;\n cur >>= cur_code_size;\n cur_shift -= cur_code_size;\n\n // TODO(deanm): Maybe should check that the first code was a clear code,\n // at least this is what you're supposed to do. But actually our encoder\n // now doesn't emit a clear code first anyway.\n if (code === clear_code) {\n // We don't actually have to clear the table. This could be a good idea\n // for greater error checking, but we don't really do any anyway. We\n // will just track it with next_code and overwrite old entries.\n\n next_code = eoi_code + 1;\n cur_code_size = min_code_size + 1;\n code_mask = (1 << cur_code_size) - 1;\n\n // Don't update prev_code ?\n prev_code = null;\n continue;\n } else if (code === eoi_code) {\n break;\n }\n\n // We have a similar situation as the decoder, where we want to store\n // variable length entries (code table entries), but we want to do in a\n // faster manner than an array of arrays. The code below stores sort of a\n // linked list within the code table, and then \"chases\" through it to\n // construct the dictionary entries. When a new entry is created, just the\n // last byte is stored, and the rest (prefix) of the entry is only\n // referenced by its table entry. Then the code chases through the\n // prefixes until it reaches a single byte code. We have to chase twice,\n // first to compute the length, and then to actually copy the data to the\n // output (backwards, since we know the length). The alternative would be\n // storing something in an intermediate stack, but that doesn't make any\n // more sense. I implemented an approach where it also stored the length\n // in the code table, although it's a bit tricky because you run out of\n // bits (12 + 12 + 8), but I didn't measure much improvements (the table\n // entries are generally not the long). Even when I created benchmarks for\n // very long table entries the complexity did not seem worth it.\n // The code table stores the prefix entry in 12 bits and then the suffix\n // byte in 8 bits, so each entry is 20 bits.\n\n var chase_code = code < next_code ? code : prev_code;\n\n // Chase what we will output, either {CODE} or {CODE-1}.\n var chase_length = 0;\n var chase = chase_code;\n while (chase > clear_code) {\n chase = code_table[chase] >> 8;\n ++chase_length;\n }\n\n var k = chase;\n\n var op_end = op + chase_length + (chase_code !== code ? 1 : 0);\n if (op_end > output_length) {\n console.log(\"Warning, gif stream longer than expected.\");\n return;\n }\n\n // Already have the first byte from the chase, might as well write it fast.\n output[op++] = k;\n\n op += chase_length;\n var b = op; // Track pointer, writing backwards.\n\n if (chase_code !== code)\n // The case of emitting {CODE-1} + k.\n output[op++] = k;\n\n chase = chase_code;\n while (chase_length--) {\n chase = code_table[chase];\n output[--b] = chase & 0xff; // Write backwards.\n chase >>= 8; // Pull down to the prefix code.\n }\n\n if (prev_code !== null && next_code < 4096) {\n code_table[next_code++] = (prev_code << 8) | k;\n // TODO(deanm): Figure out this clearing vs code growth logic better. I\n // have an feeling that it should just happen somewhere else, for now it\n // is awkward between when we grow past the max and then hit a clear code.\n // For now just check if we hit the max 12-bits (then a clear code should\n // follow, also of course encoded in 12-bits).\n if (next_code >= code_mask + 1 && cur_code_size < 12) {\n ++cur_code_size;\n code_mask = (code_mask << 1) | 1;\n }\n }\n\n prev_code = code;\n }\n\n if (op !== output_length) {\n console.log(\"Warning, gif stream shorter than expected.\");\n }\n\n return output;\n}\n\nexport { GifReader, GifWriter };\n","/**\n * @license\n Copyright (c) 2008, Adobe Systems Incorporated\n All rights reserved.\n\n Redistribution and use in source and binary forms, with or without \n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright notice, \n this list of conditions and the following disclaimer.\n \n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the \n documentation and/or other materials provided with the distribution.\n \n * Neither the name of Adobe Systems Incorporated nor the names of its \n contributors may be used to endorse or promote products derived from \n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\n IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\n THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR \n CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n/*\nJPEG encoder ported to JavaScript and optimized by Andreas Ritter, www.bytestrom.eu, 11/2009\n\nBasic GUI blocking jpeg encoder\n*/\n\nfunction JPEGEncoder(quality) {\n var ffloor = Math.floor;\n var YTable = new Array(64);\n var UVTable = new Array(64);\n var fdtbl_Y = new Array(64);\n var fdtbl_UV = new Array(64);\n var YDC_HT;\n var UVDC_HT;\n var YAC_HT;\n var UVAC_HT;\n\n var bitcode = new Array(65535);\n var category = new Array(65535);\n var outputfDCTQuant = new Array(64);\n var DU = new Array(64);\n var byteout = [];\n var bytenew = 0;\n var bytepos = 7;\n\n var YDU = new Array(64);\n var UDU = new Array(64);\n var VDU = new Array(64);\n var clt = new Array(256);\n var RGB_YUV_TABLE = new Array(2048);\n var currentQuality;\n\n var ZigZag = [\n 0,\n 1,\n 5,\n 6,\n 14,\n 15,\n 27,\n 28,\n 2,\n 4,\n 7,\n 13,\n 16,\n 26,\n 29,\n 42,\n 3,\n 8,\n 12,\n 17,\n 25,\n 30,\n 41,\n 43,\n 9,\n 11,\n 18,\n 24,\n 31,\n 40,\n 44,\n 53,\n 10,\n 19,\n 23,\n 32,\n 39,\n 45,\n 52,\n 54,\n 20,\n 22,\n 33,\n 38,\n 46,\n 51,\n 55,\n 60,\n 21,\n 34,\n 37,\n 47,\n 50,\n 56,\n 59,\n 61,\n 35,\n 36,\n 48,\n 49,\n 57,\n 58,\n 62,\n 63\n ];\n\n var std_dc_luminance_nrcodes = [\n 0,\n 0,\n 1,\n 5,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var std_dc_luminance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_luminance_nrcodes = [\n 0,\n 0,\n 2,\n 1,\n 3,\n 3,\n 2,\n 4,\n 3,\n 5,\n 5,\n 4,\n 4,\n 0,\n 0,\n 1,\n 0x7d\n ];\n var std_ac_luminance_values = [\n 0x01,\n 0x02,\n 0x03,\n 0x00,\n 0x04,\n 0x11,\n 0x05,\n 0x12,\n 0x21,\n 0x31,\n 0x41,\n 0x06,\n 0x13,\n 0x51,\n 0x61,\n 0x07,\n 0x22,\n 0x71,\n 0x14,\n 0x32,\n 0x81,\n 0x91,\n 0xa1,\n 0x08,\n 0x23,\n 0x42,\n 0xb1,\n 0xc1,\n 0x15,\n 0x52,\n 0xd1,\n 0xf0,\n 0x24,\n 0x33,\n 0x62,\n 0x72,\n 0x82,\n 0x09,\n 0x0a,\n 0x16,\n 0x17,\n 0x18,\n 0x19,\n 0x1a,\n 0x25,\n 0x26,\n 0x27,\n 0x28,\n 0x29,\n 0x2a,\n 0x34,\n 0x35,\n 0x36,\n 0x37,\n 0x38,\n 0x39,\n 0x3a,\n 0x43,\n 0x44,\n 0x45,\n 0x46,\n 0x47,\n 0x48,\n 0x49,\n 0x4a,\n 0x53,\n 0x54,\n 0x55,\n 0x56,\n 0x57,\n 0x58,\n 0x59,\n 0x5a,\n 0x63,\n 0x64,\n 0x65,\n 0x66,\n 0x67,\n 0x68,\n 0x69,\n 0x6a,\n 0x73,\n 0x74,\n 0x75,\n 0x76,\n 0x77,\n 0x78,\n 0x79,\n 0x7a,\n 0x83,\n 0x84,\n 0x85,\n 0x86,\n 0x87,\n 0x88,\n 0x89,\n 0x8a,\n 0x92,\n 0x93,\n 0x94,\n 0x95,\n 0x96,\n 0x97,\n 0x98,\n 0x99,\n 0x9a,\n 0xa2,\n 0xa3,\n 0xa4,\n 0xa5,\n 0xa6,\n 0xa7,\n 0xa8,\n 0xa9,\n 0xaa,\n 0xb2,\n 0xb3,\n 0xb4,\n 0xb5,\n 0xb6,\n 0xb7,\n 0xb8,\n 0xb9,\n 0xba,\n 0xc2,\n 0xc3,\n 0xc4,\n 0xc5,\n 0xc6,\n 0xc7,\n 0xc8,\n 0xc9,\n 0xca,\n 0xd2,\n 0xd3,\n 0xd4,\n 0xd5,\n 0xd6,\n 0xd7,\n 0xd8,\n 0xd9,\n 0xda,\n 0xe1,\n 0xe2,\n 0xe3,\n 0xe4,\n 0xe5,\n 0xe6,\n 0xe7,\n 0xe8,\n 0xe9,\n 0xea,\n 0xf1,\n 0xf2,\n 0xf3,\n 0xf4,\n 0xf5,\n 0xf6,\n 0xf7,\n 0xf8,\n 0xf9,\n 0xfa\n ];\n\n var std_dc_chrominance_nrcodes = [\n 0,\n 0,\n 3,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var std_dc_chrominance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_chrominance_nrcodes = [\n 0,\n 0,\n 2,\n 1,\n 2,\n 4,\n 4,\n 3,\n 4,\n 7,\n 5,\n 4,\n 4,\n 0,\n 1,\n 2,\n 0x77\n ];\n var std_ac_chrominance_values = [\n 0x00,\n 0x01,\n 0x02,\n 0x03,\n 0x11,\n 0x04,\n 0x05,\n 0x21,\n 0x31,\n 0x06,\n 0x12,\n 0x41,\n 0x51,\n 0x07,\n 0x61,\n 0x71,\n 0x13,\n 0x22,\n 0x32,\n 0x81,\n 0x08,\n 0x14,\n 0x42,\n 0x91,\n 0xa1,\n 0xb1,\n 0xc1,\n 0x09,\n 0x23,\n 0x33,\n 0x52,\n 0xf0,\n 0x15,\n 0x62,\n 0x72,\n 0xd1,\n 0x0a,\n 0x16,\n 0x24,\n 0x34,\n 0xe1,\n 0x25,\n 0xf1,\n 0x17,\n 0x18,\n 0x19,\n 0x1a,\n 0x26,\n 0x27,\n 0x28,\n 0x29,\n 0x2a,\n 0x35,\n 0x36,\n 0x37,\n 0x38,\n 0x39,\n 0x3a,\n 0x43,\n 0x44,\n 0x45,\n 0x46,\n 0x47,\n 0x48,\n 0x49,\n 0x4a,\n 0x53,\n 0x54,\n 0x55,\n 0x56,\n 0x57,\n 0x58,\n 0x59,\n 0x5a,\n 0x63,\n 0x64,\n 0x65,\n 0x66,\n 0x67,\n 0x68,\n 0x69,\n 0x6a,\n 0x73,\n 0x74,\n 0x75,\n 0x76,\n 0x77,\n 0x78,\n 0x79,\n 0x7a,\n 0x82,\n 0x83,\n 0x84,\n 0x85,\n 0x86,\n 0x87,\n 0x88,\n 0x89,\n 0x8a,\n 0x92,\n 0x93,\n 0x94,\n 0x95,\n 0x96,\n 0x97,\n 0x98,\n 0x99,\n 0x9a,\n 0xa2,\n 0xa3,\n 0xa4,\n 0xa5,\n 0xa6,\n 0xa7,\n 0xa8,\n 0xa9,\n 0xaa,\n 0xb2,\n 0xb3,\n 0xb4,\n 0xb5,\n 0xb6,\n 0xb7,\n 0xb8,\n 0xb9,\n 0xba,\n 0xc2,\n 0xc3,\n 0xc4,\n 0xc5,\n 0xc6,\n 0xc7,\n 0xc8,\n 0xc9,\n 0xca,\n 0xd2,\n 0xd3,\n 0xd4,\n 0xd5,\n 0xd6,\n 0xd7,\n 0xd8,\n 0xd9,\n 0xda,\n 0xe2,\n 0xe3,\n 0xe4,\n 0xe5,\n 0xe6,\n 0xe7,\n 0xe8,\n 0xe9,\n 0xea,\n 0xf2,\n 0xf3,\n 0xf4,\n 0xf5,\n 0xf6,\n 0xf7,\n 0xf8,\n 0xf9,\n 0xfa\n ];\n\n function initQuantTables(sf) {\n var YQT = [\n 16,\n 11,\n 10,\n 16,\n 24,\n 40,\n 51,\n 61,\n 12,\n 12,\n 14,\n 19,\n 26,\n 58,\n 60,\n 55,\n 14,\n 13,\n 16,\n 24,\n 40,\n 57,\n 69,\n 56,\n 14,\n 17,\n 22,\n 29,\n 51,\n 87,\n 80,\n 62,\n 18,\n 22,\n 37,\n 56,\n 68,\n 109,\n 103,\n 77,\n 24,\n 35,\n 55,\n 64,\n 81,\n 104,\n 113,\n 92,\n 49,\n 64,\n 78,\n 87,\n 103,\n 121,\n 120,\n 101,\n 72,\n 92,\n 95,\n 98,\n 112,\n 100,\n 103,\n 99\n ];\n\n for (var i = 0; i < 64; i++) {\n var t = ffloor((YQT[i] * sf + 50) / 100);\n t = Math.min(Math.max(t, 1), 255);\n YTable[ZigZag[i]] = t;\n }\n var UVQT = [\n 17,\n 18,\n 24,\n 47,\n 99,\n 99,\n 99,\n 99,\n 18,\n 21,\n 26,\n 66,\n 99,\n 99,\n 99,\n 99,\n 24,\n 26,\n 56,\n 99,\n 99,\n 99,\n 99,\n 99,\n 47,\n 66,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99\n ];\n for (var j = 0; j < 64; j++) {\n var u = ffloor((UVQT[j] * sf + 50) / 100);\n u = Math.min(Math.max(u, 1), 255);\n UVTable[ZigZag[j]] = u;\n }\n var aasf = [\n 1.0,\n 1.387039845,\n 1.306562965,\n 1.175875602,\n 1.0,\n 0.785694958,\n 0.5411961,\n 0.275899379\n ];\n var k = 0;\n for (var row = 0; row < 8; row++) {\n for (var col = 0; col < 8; col++) {\n fdtbl_Y[k] = 1.0 / (YTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0);\n fdtbl_UV[k] = 1.0 / (UVTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0);\n k++;\n }\n }\n }\n\n function computeHuffmanTbl(nrcodes, std_table) {\n var codevalue = 0;\n var pos_in_table = 0;\n var HT = new Array();\n for (var k = 1; k <= 16; k++) {\n for (var j = 1; j <= nrcodes[k]; j++) {\n HT[std_table[pos_in_table]] = [];\n HT[std_table[pos_in_table]][0] = codevalue;\n HT[std_table[pos_in_table]][1] = k;\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n }\n\n function initHuffmanTbl() {\n YDC_HT = computeHuffmanTbl(\n std_dc_luminance_nrcodes,\n std_dc_luminance_values\n );\n UVDC_HT = computeHuffmanTbl(\n std_dc_chrominance_nrcodes,\n std_dc_chrominance_values\n );\n YAC_HT = computeHuffmanTbl(\n std_ac_luminance_nrcodes,\n std_ac_luminance_values\n );\n UVAC_HT = computeHuffmanTbl(\n std_ac_chrominance_nrcodes,\n std_ac_chrominance_values\n );\n }\n\n function initCategoryNumber() {\n var nrlower = 1;\n var nrupper = 2;\n for (var cat = 1; cat <= 15; cat++) {\n //Positive numbers\n for (var nr = nrlower; nr < nrupper; nr++) {\n category[32767 + nr] = cat;\n bitcode[32767 + nr] = [];\n bitcode[32767 + nr][1] = cat;\n bitcode[32767 + nr][0] = nr;\n }\n //Negative numbers\n for (var nrneg = -(nrupper - 1); nrneg <= -nrlower; nrneg++) {\n category[32767 + nrneg] = cat;\n bitcode[32767 + nrneg] = [];\n bitcode[32767 + nrneg][1] = cat;\n bitcode[32767 + nrneg][0] = nrupper - 1 + nrneg;\n }\n nrlower <<= 1;\n nrupper <<= 1;\n }\n }\n\n function initRGBYUVTable() {\n for (var i = 0; i < 256; i++) {\n RGB_YUV_TABLE[i] = 19595 * i;\n RGB_YUV_TABLE[(i + 256) >> 0] = 38470 * i;\n RGB_YUV_TABLE[(i + 512) >> 0] = 7471 * i + 0x8000;\n RGB_YUV_TABLE[(i + 768) >> 0] = -11059 * i;\n RGB_YUV_TABLE[(i + 1024) >> 0] = -21709 * i;\n RGB_YUV_TABLE[(i + 1280) >> 0] = 32768 * i + 0x807fff;\n RGB_YUV_TABLE[(i + 1536) >> 0] = -27439 * i;\n RGB_YUV_TABLE[(i + 1792) >> 0] = -5329 * i;\n }\n }\n\n // IO functions\n function writeBits(bs) {\n var value = bs[0];\n var posval = bs[1] - 1;\n while (posval >= 0) {\n if (value & (1 << posval)) {\n bytenew |= 1 << bytepos;\n }\n posval--;\n bytepos--;\n if (bytepos < 0) {\n if (bytenew == 0xff) {\n writeByte(0xff);\n writeByte(0);\n } else {\n writeByte(bytenew);\n }\n bytepos = 7;\n bytenew = 0;\n }\n }\n }\n\n function writeByte(value) {\n //byteout.push(clt[value]); // write char directly instead of converting later\n byteout.push(value);\n }\n\n function writeWord(value) {\n writeByte((value >> 8) & 0xff);\n writeByte(value & 0xff);\n }\n\n // DCT & quantization core\n function fDCTQuant(data, fdtbl) {\n var d0, d1, d2, d3, d4, d5, d6, d7;\n /* Pass 1: process rows. */\n var dataOff = 0;\n var i;\n var I8 = 8;\n var I64 = 64;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 1];\n d2 = data[dataOff + 2];\n d3 = data[dataOff + 3];\n d4 = data[dataOff + 4];\n d5 = data[dataOff + 5];\n d6 = data[dataOff + 6];\n d7 = data[dataOff + 7];\n\n var tmp0 = d0 + d7;\n var tmp7 = d0 - d7;\n var tmp1 = d1 + d6;\n var tmp6 = d1 - d6;\n var tmp2 = d2 + d5;\n var tmp5 = d2 - d5;\n var tmp3 = d3 + d4;\n var tmp4 = d3 - d4;\n\n /* Even part */\n var tmp10 = tmp0 + tmp3; /* phase 2 */\n var tmp13 = tmp0 - tmp3;\n var tmp11 = tmp1 + tmp2;\n var tmp12 = tmp1 - tmp2;\n\n data[dataOff] = tmp10 + tmp11; /* phase 3 */\n data[dataOff + 4] = tmp10 - tmp11;\n\n var z1 = (tmp12 + tmp13) * 0.707106781; /* c4 */\n data[dataOff + 2] = tmp13 + z1; /* phase 5 */\n data[dataOff + 6] = tmp13 - z1;\n\n /* Odd part */\n tmp10 = tmp4 + tmp5; /* phase 2 */\n tmp11 = tmp5 + tmp6;\n tmp12 = tmp6 + tmp7;\n\n /* The rotator is modified from fig 4-8 to avoid extra negations. */\n var z5 = (tmp10 - tmp12) * 0.382683433; /* c6 */\n var z2 = 0.5411961 * tmp10 + z5; /* c2-c6 */\n var z4 = 1.306562965 * tmp12 + z5; /* c2+c6 */\n var z3 = tmp11 * 0.707106781; /* c4 */\n\n var z11 = tmp7 + z3; /* phase 5 */\n var z13 = tmp7 - z3;\n\n data[dataOff + 5] = z13 + z2; /* phase 6 */\n data[dataOff + 3] = z13 - z2;\n data[dataOff + 1] = z11 + z4;\n data[dataOff + 7] = z11 - z4;\n\n dataOff += 8; /* advance pointer to next row */\n }\n\n /* Pass 2: process columns. */\n dataOff = 0;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 8];\n d2 = data[dataOff + 16];\n d3 = data[dataOff + 24];\n d4 = data[dataOff + 32];\n d5 = data[dataOff + 40];\n d6 = data[dataOff + 48];\n d7 = data[dataOff + 56];\n\n var tmp0p2 = d0 + d7;\n var tmp7p2 = d0 - d7;\n var tmp1p2 = d1 + d6;\n var tmp6p2 = d1 - d6;\n var tmp2p2 = d2 + d5;\n var tmp5p2 = d2 - d5;\n var tmp3p2 = d3 + d4;\n var tmp4p2 = d3 - d4;\n\n /* Even part */\n var tmp10p2 = tmp0p2 + tmp3p2; /* phase 2 */\n var tmp13p2 = tmp0p2 - tmp3p2;\n var tmp11p2 = tmp1p2 + tmp2p2;\n var tmp12p2 = tmp1p2 - tmp2p2;\n\n data[dataOff] = tmp10p2 + tmp11p2; /* phase 3 */\n data[dataOff + 32] = tmp10p2 - tmp11p2;\n\n var z1p2 = (tmp12p2 + tmp13p2) * 0.707106781; /* c4 */\n data[dataOff + 16] = tmp13p2 + z1p2; /* phase 5 */\n data[dataOff + 48] = tmp13p2 - z1p2;\n\n /* Odd part */\n tmp10p2 = tmp4p2 + tmp5p2; /* phase 2 */\n tmp11p2 = tmp5p2 + tmp6p2;\n tmp12p2 = tmp6p2 + tmp7p2;\n\n /* The rotator is modified from fig 4-8 to avoid extra negations. */\n var z5p2 = (tmp10p2 - tmp12p2) * 0.382683433; /* c6 */\n var z2p2 = 0.5411961 * tmp10p2 + z5p2; /* c2-c6 */\n var z4p2 = 1.306562965 * tmp12p2 + z5p2; /* c2+c6 */\n var z3p2 = tmp11p2 * 0.707106781; /* c4 */\n\n var z11p2 = tmp7p2 + z3p2; /* phase 5 */\n var z13p2 = tmp7p2 - z3p2;\n\n data[dataOff + 40] = z13p2 + z2p2; /* phase 6 */\n data[dataOff + 24] = z13p2 - z2p2;\n data[dataOff + 8] = z11p2 + z4p2;\n data[dataOff + 56] = z11p2 - z4p2;\n\n dataOff++; /* advance pointer to next column */\n }\n\n // Quantize/descale the coefficients\n var fDCTQuant;\n for (i = 0; i < I64; ++i) {\n // Apply the quantization and scaling factor & Round to nearest integer\n fDCTQuant = data[i] * fdtbl[i];\n outputfDCTQuant[i] =\n fDCTQuant > 0.0 ? (fDCTQuant + 0.5) | 0 : (fDCTQuant - 0.5) | 0;\n //outputfDCTQuant[i] = fround(fDCTQuant);\n }\n return outputfDCTQuant;\n }\n\n function writeAPP0() {\n writeWord(0xffe0); // marker\n writeWord(16); // length\n writeByte(0x4a); // J\n writeByte(0x46); // F\n writeByte(0x49); // I\n writeByte(0x46); // F\n writeByte(0); // = \"JFIF\",'\\0'\n writeByte(1); // versionhi\n writeByte(1); // versionlo\n writeByte(0); // xyunits\n writeWord(1); // xdensity\n writeWord(1); // ydensity\n writeByte(0); // thumbnwidth\n writeByte(0); // thumbnheight\n }\n\n function writeSOF0(width, height) {\n writeWord(0xffc0); // marker\n writeWord(17); // length, truecolor YUV JPG\n writeByte(8); // precision\n writeWord(height);\n writeWord(width);\n writeByte(3); // nrofcomponents\n writeByte(1); // IdY\n writeByte(0x11); // HVY\n writeByte(0); // QTY\n writeByte(2); // IdU\n writeByte(0x11); // HVU\n writeByte(1); // QTU\n writeByte(3); // IdV\n writeByte(0x11); // HVV\n writeByte(1); // QTV\n }\n\n function writeDQT() {\n writeWord(0xffdb); // marker\n writeWord(132); // length\n writeByte(0);\n for (var i = 0; i < 64; i++) {\n writeByte(YTable[i]);\n }\n writeByte(1);\n for (var j = 0; j < 64; j++) {\n writeByte(UVTable[j]);\n }\n }\n\n function writeDHT() {\n writeWord(0xffc4); // marker\n writeWord(0x01a2); // length\n\n writeByte(0); // HTYDCinfo\n for (var i = 0; i < 16; i++) {\n writeByte(std_dc_luminance_nrcodes[i + 1]);\n }\n for (var j = 0; j <= 11; j++) {\n writeByte(std_dc_luminance_values[j]);\n }\n\n writeByte(0x10); // HTYACinfo\n for (var k = 0; k < 16; k++) {\n writeByte(std_ac_luminance_nrcodes[k + 1]);\n }\n for (var l = 0; l <= 161; l++) {\n writeByte(std_ac_luminance_values[l]);\n }\n\n writeByte(1); // HTUDCinfo\n for (var m = 0; m < 16; m++) {\n writeByte(std_dc_chrominance_nrcodes[m + 1]);\n }\n for (var n = 0; n <= 11; n++) {\n writeByte(std_dc_chrominance_values[n]);\n }\n\n writeByte(0x11); // HTUACinfo\n for (var o = 0; o < 16; o++) {\n writeByte(std_ac_chrominance_nrcodes[o + 1]);\n }\n for (var p = 0; p <= 161; p++) {\n writeByte(std_ac_chrominance_values[p]);\n }\n }\n\n function writeSOS() {\n writeWord(0xffda); // marker\n writeWord(12); // length\n writeByte(3); // nrofcomponents\n writeByte(1); // IdY\n writeByte(0); // HTY\n writeByte(2); // IdU\n writeByte(0x11); // HTU\n writeByte(3); // IdV\n writeByte(0x11); // HTV\n writeByte(0); // Ss\n writeByte(0x3f); // Se\n writeByte(0); // Bf\n }\n\n function processDU(CDU, fdtbl, DC, HTDC, HTAC) {\n var EOB = HTAC[0x00];\n var M16zeroes = HTAC[0xf0];\n var pos;\n var I16 = 16;\n var I63 = 63;\n var I64 = 64;\n var DU_DCT = fDCTQuant(CDU, fdtbl);\n //ZigZag reorder\n for (var j = 0; j < I64; ++j) {\n DU[ZigZag[j]] = DU_DCT[j];\n }\n var Diff = DU[0] - DC;\n DC = DU[0];\n //Encode DC\n if (Diff == 0) {\n writeBits(HTDC[0]); // Diff might be 0\n } else {\n pos = 32767 + Diff;\n writeBits(HTDC[category[pos]]);\n writeBits(bitcode[pos]);\n }\n //Encode ACs\n var end0pos = 63; // was const... which is crazy\n while (end0pos > 0 && DU[end0pos] == 0) {\n end0pos--;\n }\n //end0pos = first element in reverse order !=0\n if (end0pos == 0) {\n writeBits(EOB);\n return DC;\n }\n var i = 1;\n var lng;\n while (i <= end0pos) {\n var startpos = i;\n while (DU[i] == 0 && i <= end0pos) {\n ++i;\n }\n var nrzeroes = i - startpos;\n if (nrzeroes >= I16) {\n lng = nrzeroes >> 4;\n for (var nrmarker = 1; nrmarker <= lng; ++nrmarker)\n writeBits(M16zeroes);\n nrzeroes = nrzeroes & 0xf;\n }\n pos = 32767 + DU[i];\n writeBits(HTAC[(nrzeroes << 4) + category[pos]]);\n writeBits(bitcode[pos]);\n i++;\n }\n if (end0pos != I63) {\n writeBits(EOB);\n }\n return DC;\n }\n\n function initCharLookupTable() {\n var sfcc = String.fromCharCode;\n for (var i = 0; i < 256; i++) {\n ///// ACHTUNG // 255\n clt[i] = sfcc(i);\n }\n }\n\n this.encode = function(\n image,\n quality // image data object\n ) {\n if (quality) setQuality(quality);\n\n // Initialize bit writer\n byteout = new Array();\n bytenew = 0;\n bytepos = 7;\n\n // Add JPEG headers\n writeWord(0xffd8); // SOI\n writeAPP0();\n writeDQT();\n writeSOF0(image.width, image.height);\n writeDHT();\n writeSOS();\n\n // Encode 8x8 macroblocks\n var DCY = 0;\n var DCU = 0;\n var DCV = 0;\n\n bytenew = 0;\n bytepos = 7;\n\n this.encode.displayName = \"_encode_\";\n\n var imageData = image.data;\n var width = image.width;\n var height = image.height;\n\n var quadWidth = width * 4;\n\n var x,\n y = 0;\n var r, g, b;\n var start, p, col, row, pos;\n while (y < height) {\n x = 0;\n while (x < quadWidth) {\n start = quadWidth * y + x;\n col = -1;\n row = 0;\n\n for (pos = 0; pos < 64; pos++) {\n row = pos >> 3; // /8\n col = (pos & 7) * 4; // %8\n p = start + row * quadWidth + col;\n\n if (y + row >= height) {\n // padding bottom\n p -= quadWidth * (y + 1 + row - height);\n }\n\n if (x + col >= quadWidth) {\n // padding right\n p -= x + col - quadWidth + 4;\n }\n\n r = imageData[p++];\n g = imageData[p++];\n b = imageData[p++];\n\n /* // calculate YUV values dynamically\n\t\t\t\t\tYDU[pos]=((( 0.29900)*r+( 0.58700)*g+( 0.11400)*b))-128; //-0x80\n\t\t\t\t\tUDU[pos]=(((-0.16874)*r+(-0.33126)*g+( 0.50000)*b));\n\t\t\t\t\tVDU[pos]=((( 0.50000)*r+(-0.41869)*g+(-0.08131)*b));\n\t\t\t\t\t*/\n\n // use lookup table (slightly faster)\n YDU[pos] =\n ((RGB_YUV_TABLE[r] +\n RGB_YUV_TABLE[(g + 256) >> 0] +\n RGB_YUV_TABLE[(b + 512) >> 0]) >>\n 16) -\n 128;\n UDU[pos] =\n ((RGB_YUV_TABLE[(r + 768) >> 0] +\n RGB_YUV_TABLE[(g + 1024) >> 0] +\n RGB_YUV_TABLE[(b + 1280) >> 0]) >>\n 16) -\n 128;\n VDU[pos] =\n ((RGB_YUV_TABLE[(r + 1280) >> 0] +\n RGB_YUV_TABLE[(g + 1536) >> 0] +\n RGB_YUV_TABLE[(b + 1792) >> 0]) >>\n 16) -\n 128;\n }\n\n DCY = processDU(YDU, fdtbl_Y, DCY, YDC_HT, YAC_HT);\n DCU = processDU(UDU, fdtbl_UV, DCU, UVDC_HT, UVAC_HT);\n DCV = processDU(VDU, fdtbl_UV, DCV, UVDC_HT, UVAC_HT);\n x += 32;\n }\n y += 8;\n }\n\n ////////////////////////////////////////////////////////////////\n\n // Do the bit alignment of the EOI marker\n if (bytepos >= 0) {\n var fillbits = [];\n fillbits[1] = bytepos + 1;\n fillbits[0] = (1 << (bytepos + 1)) - 1;\n writeBits(fillbits);\n }\n\n writeWord(0xffd9); //EOI\n\n return new Uint8Array(byteout);\n };\n\n function setQuality(quality) {\n quality = Math.min(Math.max(quality, 1), 100);\n\n if (currentQuality == quality) return; // don't recalc if unchanged\n\n var sf =\n quality < 50 ? Math.floor(5000 / quality) : Math.floor(200 - quality * 2);\n\n initQuantTables(sf);\n currentQuality = quality;\n //console.log('Quality set to: '+quality +'%');\n }\n\n function init() {\n quality = quality || 50;\n // Create tables\n initCharLookupTable();\n initHuffmanTbl();\n initCategoryNumber();\n initRGBYUVTable();\n\n setQuality(quality);\n }\n init();\n}\n\nexport { JPEGEncoder };\n","/**\n * @author shaozilee\n *\n * Bmp format decoder,support 1bit 4bit 8bit 24bit bmp\n *\n */\n\nimport { console } from \"./console.js\";\n\nfunction BmpDecoder(buffer, is_with_alpha) {\n this.pos = 0;\n this.buffer = buffer;\n this.datav = new DataView(buffer.buffer);\n this.is_with_alpha = !!is_with_alpha;\n this.bottom_up = true;\n this.flag =\n String.fromCharCode(this.buffer[0]) + String.fromCharCode(this.buffer[1]);\n this.pos += 2;\n if ([\"BM\", \"BA\", \"CI\", \"CP\", \"IC\", \"PT\"].indexOf(this.flag) === -1)\n throw new Error(\"Invalid BMP File\");\n this.parseHeader();\n this.parseBGR();\n}\n\nBmpDecoder.prototype.parseHeader = function() {\n this.fileSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.reserved = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.offset = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.headerSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.width = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.height = this.datav.getInt32(this.pos, true);\n this.pos += 4;\n this.planes = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n this.bitPP = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n this.compress = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.rawSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.hr = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.vr = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.colors = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.importantColors = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n\n if (this.bitPP === 16 && this.is_with_alpha) {\n this.bitPP = 15;\n }\n if (this.bitPP < 15) {\n var len = this.colors === 0 ? 1 << this.bitPP : this.colors;\n this.palette = new Array(len);\n for (var i = 0; i < len; i++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var quad = this.datav.getUint8(this.pos++, true);\n this.palette[i] = {\n red: red,\n green: green,\n blue: blue,\n quad: quad\n };\n }\n }\n if (this.height < 0) {\n this.height *= -1;\n this.bottom_up = false;\n }\n};\n\nBmpDecoder.prototype.parseBGR = function() {\n this.pos = this.offset;\n try {\n var bitn = \"bit\" + this.bitPP;\n var len = this.width * this.height * 4;\n this.data = new Uint8Array(len);\n\n this[bitn]();\n } catch (e) {\n console.log(\"bit decode error:\" + e);\n }\n};\n\nBmpDecoder.prototype.bit1 = function() {\n var xlen = Math.ceil(this.width / 8);\n var mode = xlen % 4;\n var y;\n for (y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < xlen; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 8 * 4;\n for (var i = 0; i < 8; i++) {\n if (x * 8 + i < this.width) {\n var rgb = this.palette[(b >> (7 - i)) & 0x1];\n this.data[location + i * 4] = rgb.blue;\n this.data[location + i * 4 + 1] = rgb.green;\n this.data[location + i * 4 + 2] = rgb.red;\n this.data[location + i * 4 + 3] = 0xff;\n } else {\n break;\n }\n }\n }\n\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit4 = function() {\n var xlen = Math.ceil(this.width / 2);\n var mode = xlen % 4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < xlen; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 2 * 4;\n\n var before = b >> 4;\n var after = b & 0x0f;\n\n var rgb = this.palette[before];\n this.data[location] = rgb.blue;\n this.data[location + 1] = rgb.green;\n this.data[location + 2] = rgb.red;\n this.data[location + 3] = 0xff;\n\n if (x * 2 + 1 >= this.width) break;\n\n rgb = this.palette[after];\n this.data[location + 4] = rgb.blue;\n this.data[location + 4 + 1] = rgb.green;\n this.data[location + 4 + 2] = rgb.red;\n this.data[location + 4 + 3] = 0xff;\n }\n\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit8 = function() {\n var mode = this.width % 4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n if (b < this.palette.length) {\n var rgb = this.palette[b];\n this.data[location] = rgb.red;\n this.data[location + 1] = rgb.green;\n this.data[location + 2] = rgb.blue;\n this.data[location + 3] = 0xff;\n } else {\n this.data[location] = 0xff;\n this.data[location + 1] = 0xff;\n this.data[location + 2] = 0xff;\n this.data[location + 3] = 0xff;\n }\n }\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit15 = function() {\n var dif_w = this.width % 3;\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var B = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n var blue = (((B & _1_5) / _1_5) * 255) | 0;\n var green = ((((B >> 5) & _1_5) / _1_5) * 255) | 0;\n var red = ((((B >> 10) & _1_5) / _1_5) * 255) | 0;\n var alpha = B >> 15 ? 0xff : 0x00;\n\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit16 = function() {\n var dif_w = this.width % 3;\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n var _111111 = parseInt(\"111111\", 2),\n _1_6 = _111111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var B = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n var alpha = 0xff;\n var blue = (((B & _1_5) / _1_5) * 255) | 0;\n var green = ((((B >> 5) & _1_6) / _1_6) * 255) | 0;\n var red = (((B >> 11) / _1_5) * 255) | 0;\n\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit24 = function() {\n //when height > 0\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = 0xff;\n }\n //skip extra bytes\n this.pos += this.width % 4;\n }\n};\n\n/**\n * add 32bit decode func\n * @author soubok\n */\nBmpDecoder.prototype.bit32 = function() {\n //when height > 0\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var alpha = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n //this.pos += (this.width % 4);\n }\n};\n\nBmpDecoder.prototype.getData = function() {\n return this.data;\n};\n\nexport { BmpDecoder };\n","function WebPDecoder(imageData) {\n /** @license\n * Copyright 2011 Google Inc.\n *\n * This code is licensed under the same terms as WebM:\n * Software License Agreement: http://www.webmproject.org/license/software/\n * Additional IP Rights Grant: http://www.webmproject.org/license/additional/\n * -----------------------------------------------------------------------------\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\n * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * -----------------------------------------------------------------------------\n *\n * Copyright 2011-2017 Dominik Homberger\n * Libwebp Javascript / libwebpjs - the libwebp implementation in javascript (v0.6.0)\n *\n * Author: Dominik Homberger (dominik.homberger@gmail.com)\n */\n\n var self = this;\n var UpsampleRgbLinePair,\n UpsampleBgrLinePair,\n UpsampleRgbaLinePair,\n UpsampleBgraLinePair,\n UpsampleArgbLinePair,\n UpsampleArgbLinePair,\n UpsampleRgba4444LinePair,\n UpsampleRgb565LinePair;\n\n function x(F) {\n if (!F) throw Error(\"assert :P\");\n }\n function fa(F, L, J) {\n for (var H = 0; 4 > H; H++) if (F[L + H] != J.charCodeAt(H)) return !0;\n return !1;\n }\n function I(F, L, J, H, Z) {\n for (var O = 0; O < Z; O++) F[L + O] = J[H + O];\n }\n function M(F, L, J, H) {\n for (var Z = 0; Z < H; Z++) F[L + Z] = J;\n }\n function V(F) {\n return new Int32Array(F);\n }\n function wa(F, L) {\n for (var J = [], H = 0; H < F; H++) J.push(new L());\n return J;\n }\n function wb() {\n function F(J, H, Z) {\n for (var O = Z[H], L = 0; L < O; L++) {\n J.push(Z.length > H + 1 ? [] : 0);\n if (Z.length < H + 1) break;\n F(J[L], H + 1, Z);\n }\n }\n var L = [];\n F(L, 0, [3, 11]);\n return L;\n }\n function Ed(F, L) {\n function J(H, O, F) {\n for (var Z = F[O], ma = 0; ma < Z; ma++) {\n H.push(F.length > O + 1 ? [] : new L());\n if (F.length < O + 1) break;\n J(H[ma], O + 1, F);\n }\n }\n var H = [];\n J(H, 0, F);\n return H;\n }\n var _WebPDecoder = function() {\n var self = this;\n function F() {\n V(55);\n }\n function L(a, b) {\n for (var c = (1 << (b - 1)) >>> 0; a & c; ) c >>>= 1;\n return c ? (a & (c - 1)) + c : a;\n }\n function J(a, b, c, d, e) {\n x(!(d % c));\n do (d -= c), (a[b + d] = e);\n while (0 < d);\n }\n function H(a, b, c, d, e, f) {\n var g = b,\n h = 1 << c,\n k,\n l,\n m = V(16),\n n = V(16);\n x(0 != e);\n x(null != d);\n x(null != a);\n x(0 < c);\n for (l = 0; l < e; ++l) {\n if (15 < d[l]) return 0;\n ++m[d[l]];\n }\n if (m[0] == e) return 0;\n n[1] = 0;\n for (k = 1; 15 > k; ++k) {\n if (m[k] > 1 << k) return 0;\n n[k + 1] = n[k] + m[k];\n }\n for (l = 0; l < e; ++l) (k = d[l]), 0 < d[l] && (f[n[k]++] = l);\n if (1 == n[15])\n return (d = new O()), (d.g = 0), (d.value = f[0]), J(a, g, 1, h, d), h;\n var r = -1,\n q = h - 1,\n t = 0,\n v = 1,\n p = 1,\n u,\n w = 1 << c;\n l = 0;\n k = 1;\n for (e = 2; k <= c; ++k, e <<= 1) {\n p <<= 1;\n v += p;\n p -= m[k];\n if (0 > p) return 0;\n for (; 0 < m[k]; --m[k])\n (d = new O()),\n (d.g = k),\n (d.value = f[l++]),\n J(a, g + t, e, w, d),\n (t = L(t, k));\n }\n k = c + 1;\n for (e = 2; 15 >= k; ++k, e <<= 1) {\n p <<= 1;\n v += p;\n p -= m[k];\n if (0 > p) return 0;\n for (; 0 < m[k]; --m[k]) {\n d = new O();\n if ((t & q) != r) {\n g += w;\n r = k;\n for (u = 1 << (r - c); 15 > r; ) {\n u -= m[r];\n if (0 >= u) break;\n ++r;\n u <<= 1;\n }\n u = r - c;\n w = 1 << u;\n h += w;\n r = t & q;\n a[b + r].g = u + c;\n a[b + r].value = g - b - r;\n }\n d.g = k - c;\n d.value = f[l++];\n J(a, g + (t >> c), e, w, d);\n t = L(t, k);\n }\n }\n return v != 2 * n[15] - 1 ? 0 : h;\n }\n function Z(a, b, c, d, e) {\n x(2328 >= e);\n if (512 >= e) var f = V(512);\n else if (((f = V(e)), null == f)) return 0;\n return H(a, b, c, d, e, f);\n }\n function O() {\n this.value = this.g = 0;\n }\n function Fd() {\n this.value = this.g = 0;\n }\n function Ub() {\n this.G = wa(5, O);\n this.H = V(5);\n this.jc = this.Qb = this.qb = this.nd = 0;\n this.pd = wa(xb, Fd);\n }\n function ma(a, b, c, d) {\n x(null != a);\n x(null != b);\n x(2147483648 > d);\n a.Ca = 254;\n a.I = 0;\n a.b = -8;\n a.Ka = 0;\n a.oa = b;\n a.pa = c;\n a.Jd = b;\n a.Yc = c + d;\n a.Zc = 4 <= d ? c + d - 4 + 1 : c;\n Qa(a);\n }\n function na(a, b) {\n for (var c = 0; 0 < b--; ) c |= K(a, 128) << b;\n return c;\n }\n function ca(a, b) {\n var c = na(a, b);\n return G(a) ? -c : c;\n }\n function cb(a, b, c, d) {\n var e,\n f = 0;\n x(null != a);\n x(null != b);\n x(4294967288 > d);\n a.Sb = d;\n a.Ra = 0;\n a.u = 0;\n a.h = 0;\n 4 < d && (d = 4);\n for (e = 0; e < d; ++e) f += b[c + e] << (8 * e);\n a.Ra = f;\n a.bb = d;\n a.oa = b;\n a.pa = c;\n }\n function Vb(a) {\n for (; 8 <= a.u && a.bb < a.Sb; )\n (a.Ra >>>= 8),\n (a.Ra += (a.oa[a.pa + a.bb] << (ob - 8)) >>> 0),\n ++a.bb,\n (a.u -= 8);\n db(a) && ((a.h = 1), (a.u = 0));\n }\n function D(a, b) {\n x(0 <= b);\n if (!a.h && b <= Gd) {\n var c = pb(a) & Hd[b];\n a.u += b;\n Vb(a);\n return c;\n }\n a.h = 1;\n return (a.u = 0);\n }\n function Wb() {\n this.b = this.Ca = this.I = 0;\n this.oa = [];\n this.pa = 0;\n this.Jd = [];\n this.Yc = 0;\n this.Zc = [];\n this.Ka = 0;\n }\n function Ra() {\n this.Ra = 0;\n this.oa = [];\n this.h = this.u = this.bb = this.Sb = this.pa = 0;\n }\n function pb(a) {\n return (a.Ra >>> (a.u & (ob - 1))) >>> 0;\n }\n function db(a) {\n x(a.bb <= a.Sb);\n return a.h || (a.bb == a.Sb && a.u > ob);\n }\n function qb(a, b) {\n a.u = b;\n a.h = db(a);\n }\n function Sa(a) {\n a.u >= Xb && (x(a.u >= Xb), Vb(a));\n }\n function Qa(a) {\n x(null != a && null != a.oa);\n a.pa < a.Zc\n ? ((a.I = (a.oa[a.pa++] | (a.I << 8)) >>> 0), (a.b += 8))\n : (x(null != a && null != a.oa),\n a.pa < a.Yc\n ? ((a.b += 8), (a.I = a.oa[a.pa++] | (a.I << 8)))\n : a.Ka\n ? (a.b = 0)\n : ((a.I <<= 8), (a.b += 8), (a.Ka = 1)));\n }\n function G(a) {\n return na(a, 1);\n }\n function K(a, b) {\n var c = a.Ca;\n 0 > a.b && Qa(a);\n var d = a.b,\n e = (c * b) >>> 8,\n f = (a.I >>> d > e) + 0;\n f ? ((c -= e), (a.I -= ((e + 1) << d) >>> 0)) : (c = e + 1);\n d = c;\n for (e = 0; 256 <= d; ) (e += 8), (d >>= 8);\n d = 7 ^ (e + Id[d]);\n a.b -= d;\n a.Ca = (c << d) - 1;\n return f;\n }\n function ra(a, b, c) {\n a[b + 0] = (c >> 24) & 255;\n a[b + 1] = (c >> 16) & 255;\n a[b + 2] = (c >> 8) & 255;\n a[b + 3] = (c >> 0) & 255;\n }\n function Ta(a, b) {\n return (a[b + 0] << 0) | (a[b + 1] << 8);\n }\n function Yb(a, b) {\n return Ta(a, b) | (a[b + 2] << 16);\n }\n function Ha(a, b) {\n return Ta(a, b) | (Ta(a, b + 2) << 16);\n }\n function Zb(a, b) {\n var c = 1 << b;\n x(null != a);\n x(0 < b);\n a.X = V(c);\n if (null == a.X) return 0;\n a.Mb = 32 - b;\n a.Xa = b;\n return 1;\n }\n function $b(a, b) {\n x(null != a);\n x(null != b);\n x(a.Xa == b.Xa);\n I(b.X, 0, a.X, 0, 1 << b.Xa);\n }\n function ac() {\n this.X = [];\n this.Xa = this.Mb = 0;\n }\n function bc(a, b, c, d) {\n x(null != c);\n x(null != d);\n var e = c[0],\n f = d[0];\n 0 == e && (e = (a * f + b / 2) / b);\n 0 == f && (f = (b * e + a / 2) / a);\n if (0 >= e || 0 >= f) return 0;\n c[0] = e;\n d[0] = f;\n return 1;\n }\n function xa(a, b) {\n return (a + (1 << b) - 1) >>> b;\n }\n function yb(a, b) {\n return (\n (((((a & 4278255360) + (b & 4278255360)) >>> 0) & 4278255360) +\n ((((a & 16711935) + (b & 16711935)) >>> 0) & 16711935)) >>>\n 0\n );\n }\n function X(a, b) {\n self[b] = function(b, d, e, f, g, h, k) {\n var c;\n for (c = 0; c < g; ++c) {\n var m = self[a](h[k + c - 1], e, f + c);\n h[k + c] = yb(b[d + c], m);\n }\n };\n }\n function Jd() {\n this.ud = this.hd = this.jd = 0;\n }\n function aa(a, b) {\n return ((((a ^ b) & 4278124286) >>> 1) + (a & b)) >>> 0;\n }\n function sa(a) {\n if (0 <= a && 256 > a) return a;\n if (0 > a) return 0;\n if (255 < a) return 255;\n }\n function eb(a, b) {\n return sa(a + ((a - b + 0.5) >> 1));\n }\n function Ia(a, b, c) {\n return Math.abs(b - c) - Math.abs(a - c);\n }\n function cc(a, b, c, d, e, f, g) {\n d = f[g - 1];\n for (c = 0; c < e; ++c) f[g + c] = d = yb(a[b + c], d);\n }\n function Kd(a, b, c, d, e) {\n var f;\n for (f = 0; f < c; ++f) {\n var g = a[b + f],\n h = (g >> 8) & 255,\n k = g & 16711935,\n k = k + ((h << 16) + h),\n k = k & 16711935;\n d[e + f] = ((g & 4278255360) + k) >>> 0;\n }\n }\n function dc(a, b) {\n b.jd = (a >> 0) & 255;\n b.hd = (a >> 8) & 255;\n b.ud = (a >> 16) & 255;\n }\n function Ld(a, b, c, d, e, f) {\n var g;\n for (g = 0; g < d; ++g) {\n var h = b[c + g],\n k = h >>> 8,\n l = h >>> 16,\n m = h,\n l = l + ((((a.jd << 24) >> 24) * ((k << 24) >> 24)) >>> 5),\n l = l & 255,\n m = m + ((((a.hd << 24) >> 24) * ((k << 24) >> 24)) >>> 5),\n m = m + ((((a.ud << 24) >> 24) * ((l << 24) >> 24)) >>> 5),\n m = m & 255;\n e[f + g] = (h & 4278255360) + (l << 16) + m;\n }\n }\n function ec(a, b, c, d, e) {\n self[b] = function(a, b, c, k, l, m, n, r, q) {\n for (k = n; k < r; ++k)\n for (n = 0; n < q; ++n) l[m++] = e(c[d(a[b++])]);\n };\n self[a] = function(a, b, h, k, l, m, n) {\n var f = 8 >> a.b,\n g = a.Ea,\n t = a.K[0],\n v = a.w;\n if (8 > f)\n for (a = (1 << a.b) - 1, v = (1 << f) - 1; b < h; ++b) {\n var p = 0,\n u;\n for (u = 0; u < g; ++u)\n u & a || (p = d(k[l++])), (m[n++] = e(t[p & v])), (p >>= f);\n }\n else self[\"VP8LMapColor\" + c](k, l, t, v, m, n, b, h, g);\n };\n }\n function Md(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 16) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 0) & 255;\n }\n }\n function Nd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 16) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 0) & 255;\n d[e++] = (f >> 24) & 255;\n }\n }\n function Od(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++],\n g = ((f >> 16) & 240) | ((f >> 12) & 15),\n f = ((f >> 0) & 240) | ((f >> 28) & 15);\n d[e++] = g;\n d[e++] = f;\n }\n }\n function Pd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++],\n g = ((f >> 16) & 248) | ((f >> 13) & 7),\n f = ((f >> 5) & 224) | ((f >> 3) & 31);\n d[e++] = g;\n d[e++] = f;\n }\n }\n function Qd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 0) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 16) & 255;\n }\n }\n function fb(a, b, c, d, e, f) {\n if (0 == f)\n for (c = b + c; b < c; )\n (f = a[b++]),\n ra(\n d,\n ((f[0] >> 24) |\n ((f[1] >> 8) & 65280) |\n ((f[2] << 8) & 16711680) |\n (f[3] << 24)) >>>\n 0\n ),\n (e += 32);\n else I(d, e, a, b, c);\n }\n function gb(a, b) {\n self[b][0] = self[a + \"0\"];\n self[b][1] = self[a + \"1\"];\n self[b][2] = self[a + \"2\"];\n self[b][3] = self[a + \"3\"];\n self[b][4] = self[a + \"4\"];\n self[b][5] = self[a + \"5\"];\n self[b][6] = self[a + \"6\"];\n self[b][7] = self[a + \"7\"];\n self[b][8] = self[a + \"8\"];\n self[b][9] = self[a + \"9\"];\n self[b][10] = self[a + \"10\"];\n self[b][11] = self[a + \"11\"];\n self[b][12] = self[a + \"12\"];\n self[b][13] = self[a + \"13\"];\n self[b][14] = self[a + \"0\"];\n self[b][15] = self[a + \"0\"];\n }\n function hb(a) {\n return a == zb || a == Ab || a == Ja || a == Bb;\n }\n function Rd() {\n this.eb = [];\n this.size = this.A = this.fb = 0;\n }\n function Sd() {\n this.y = [];\n this.f = [];\n this.ea = [];\n this.F = [];\n this.Tc = this.Ed = this.Cd = this.Fd = this.lb = this.Db = this.Ab = this.fa = this.J = this.W = this.N = this.O = 0;\n }\n function Cb() {\n this.Rd = this.height = this.width = this.S = 0;\n this.f = {};\n this.f.RGBA = new Rd();\n this.f.kb = new Sd();\n this.sd = null;\n }\n function Td() {\n this.width = [0];\n this.height = [0];\n this.Pd = [0];\n this.Qd = [0];\n this.format = [0];\n }\n function Ud() {\n this.Id = this.fd = this.Md = this.hb = this.ib = this.da = this.bd = this.cd = this.j = this.v = this.Da = this.Sd = this.ob = 0;\n }\n function Vd(a) {\n alert(\"todo:WebPSamplerProcessPlane\");\n return a.T;\n }\n function Wd(a, b) {\n var c = a.T,\n d = b.ba.f.RGBA,\n e = d.eb,\n f = d.fb + a.ka * d.A,\n g = P[b.ba.S],\n h = a.y,\n k = a.O,\n l = a.f,\n m = a.N,\n n = a.ea,\n r = a.W,\n q = b.cc,\n t = b.dc,\n v = b.Mc,\n p = b.Nc,\n u = a.ka,\n w = a.ka + a.T,\n y = a.U,\n A = (y + 1) >> 1;\n 0 == u\n ? g(h, k, null, null, l, m, n, r, l, m, n, r, e, f, null, null, y)\n : (g(b.ec, b.fc, h, k, q, t, v, p, l, m, n, r, e, f - d.A, e, f, y),\n ++c);\n for (; u + 2 < w; u += 2)\n (q = l),\n (t = m),\n (v = n),\n (p = r),\n (m += a.Rc),\n (r += a.Rc),\n (f += 2 * d.A),\n (k += 2 * a.fa),\n g(h, k - a.fa, h, k, q, t, v, p, l, m, n, r, e, f - d.A, e, f, y);\n k += a.fa;\n a.j + w < a.o\n ? (I(b.ec, b.fc, h, k, y),\n I(b.cc, b.dc, l, m, A),\n I(b.Mc, b.Nc, n, r, A),\n c--)\n : w & 1 ||\n g(\n h,\n k,\n null,\n null,\n l,\n m,\n n,\n r,\n l,\n m,\n n,\n r,\n e,\n f + d.A,\n null,\n null,\n y\n );\n return c;\n }\n function Xd(a, b, c) {\n var d = a.F,\n e = [a.J];\n if (null != d) {\n var f = a.U,\n g = b.ba.S,\n h = g == ya || g == Ja;\n b = b.ba.f.RGBA;\n var k = [0],\n l = a.ka;\n k[0] = a.T;\n a.Kb &&\n (0 == l ? --k[0] : (--l, (e[0] -= a.width)),\n a.j + a.ka + a.T == a.o && (k[0] = a.o - a.j - l));\n var m = b.eb,\n l = b.fb + l * b.A;\n a = fc(d, e[0], a.width, f, k, m, l + (h ? 0 : 3), b.A);\n x(c == k);\n a && hb(g) && za(m, l, h, f, k, b.A);\n }\n return 0;\n }\n function gc(a) {\n var b = a.ma,\n c = b.ba.S,\n d = 11 > c,\n e = c == Ua || c == Va || c == ya || c == Db || 12 == c || hb(c);\n b.memory = null;\n b.Ib = null;\n b.Jb = null;\n b.Nd = null;\n if (!hc(b.Oa, a, e ? 11 : 12)) return 0;\n e && hb(c) && ic();\n if (a.da) alert(\"todo:use_scaling\");\n else {\n if (d) {\n if (((b.Ib = Vd), a.Kb)) {\n c = (a.U + 1) >> 1;\n b.memory = V(a.U + 2 * c);\n if (null == b.memory) return 0;\n b.ec = b.memory;\n b.fc = 0;\n b.cc = b.ec;\n b.dc = b.fc + a.U;\n b.Mc = b.cc;\n b.Nc = b.dc + c;\n b.Ib = Wd;\n ic();\n }\n } else alert(\"todo:EmitYUV\");\n e && ((b.Jb = Xd), d && Aa());\n }\n if (d && !jc) {\n for (a = 0; 256 > a; ++a)\n (Yd[a] = (89858 * (a - 128) + Ba) >> Wa),\n (Zd[a] = -22014 * (a - 128) + Ba),\n ($d[a] = -45773 * (a - 128)),\n (ae[a] = (113618 * (a - 128) + Ba) >> Wa);\n for (a = ta; a < Eb; ++a)\n (b = (76283 * (a - 16) + Ba) >> Wa),\n (be[a - ta] = ga(b, 255)),\n (ce[a - ta] = ga((b + 8) >> 4, 15));\n jc = 1;\n }\n return 1;\n }\n function kc(a) {\n var b = a.ma,\n c = a.U,\n d = a.T;\n x(!(a.ka & 1));\n if (0 >= c || 0 >= d) return 0;\n c = b.Ib(a, b);\n null != b.Jb && b.Jb(a, b, c);\n b.Dc += c;\n return 1;\n }\n function lc(a) {\n a.ma.memory = null;\n }\n function mc(a, b, c, d) {\n if (47 != D(a, 8)) return 0;\n b[0] = D(a, 14) + 1;\n c[0] = D(a, 14) + 1;\n d[0] = D(a, 1);\n return 0 != D(a, 3) ? 0 : !a.h;\n }\n function ib(a, b) {\n if (4 > a) return a + 1;\n var c = (a - 2) >> 1;\n return ((2 + (a & 1)) << c) + D(b, c) + 1;\n }\n function nc(a, b) {\n if (120 < b) return b - 120;\n var c = de[b - 1],\n c = (c >> 4) * a + (8 - (c & 15));\n return 1 <= c ? c : 1;\n }\n function ua(a, b, c) {\n var d = pb(c);\n b += d & 255;\n var e = a[b].g - 8;\n 0 < e &&\n (qb(c, c.u + 8),\n (d = pb(c)),\n (b += a[b].value),\n (b += d & ((1 << e) - 1)));\n qb(c, c.u + a[b].g);\n return a[b].value;\n }\n function ub(a, b, c) {\n c.g += a.g;\n c.value += (a.value << b) >>> 0;\n x(8 >= c.g);\n return a.g;\n }\n function ha(a, b, c) {\n var d = a.xc;\n b = 0 == d ? 0 : a.vc[a.md * (c >> d) + (b >> d)];\n x(b < a.Wb);\n return a.Ya[b];\n }\n function oc(a, b, c, d) {\n var e = a.ab,\n f = a.c * b,\n g = a.C;\n b = g + b;\n var h = c,\n k = d;\n d = a.Ta;\n for (c = a.Ua; 0 < e--; ) {\n var l = a.gc[e],\n m = g,\n n = b,\n r = h,\n q = k,\n k = d,\n h = c,\n t = l.Ea;\n x(m < n);\n x(n <= l.nc);\n switch (l.hc) {\n case 2:\n pc(r, q, (n - m) * t, k, h);\n break;\n case 0:\n var v = l,\n p = m,\n u = n,\n w = k,\n y = h,\n A = v.Ea;\n 0 == p &&\n (ee(r, q, null, null, 1, w, y),\n cc(r, q + 1, 0, 0, A - 1, w, y + 1),\n (q += A),\n (y += A),\n ++p);\n for (\n var E = 1 << v.b,\n B = E - 1,\n C = xa(A, v.b),\n N = v.K,\n v = v.w + (p >> v.b) * C;\n p < u;\n\n ) {\n var z = N,\n Q = v,\n S = 1;\n for (fe(r, q, w, y - A, 1, w, y); S < A; ) {\n var K = qc[(z[Q++] >> 8) & 15],\n D = (S & ~B) + E;\n D > A && (D = A);\n K(r, q + +S, w, y + S - A, D - S, w, y + S);\n S = D;\n }\n q += A;\n y += A;\n ++p;\n p & B || (v += C);\n }\n n != l.nc && I(k, h - t, k, h + (n - m - 1) * t, t);\n break;\n case 1:\n t = r;\n u = q;\n r = l.Ea;\n q = 1 << l.b;\n w = q - 1;\n y = r & ~w;\n A = r - y;\n p = xa(r, l.b);\n E = l.K;\n for (l = l.w + (m >> l.b) * p; m < n; ) {\n B = E;\n C = l;\n N = new Jd();\n v = u + y;\n for (z = u + r; u < v; )\n dc(B[C++], N), Fb(N, t, u, q, k, h), (u += q), (h += q);\n u < z &&\n (dc(B[C++], N), Fb(N, t, u, A, k, h), (u += A), (h += A));\n ++m;\n m & w || (l += p);\n }\n break;\n case 3:\n if (r == k && q == h && 0 < l.b) {\n y = (n - m) * xa(l.Ea, l.b);\n t = h + (n - m) * t - y;\n u = k;\n r = t;\n q = k;\n w = h;\n A = y;\n p = [];\n for (y = A - 1; 0 <= y; --y) p[y] = q[w + y];\n for (y = A - 1; 0 <= y; --y) u[r + y] = p[y];\n rc(l, m, n, k, t, k, h);\n } else rc(l, m, n, r, q, k, h);\n }\n h = d;\n k = c;\n }\n k != c && I(d, c, h, k, f);\n }\n function ge(a, b) {\n var c = a.V,\n d = a.Ba + a.c * a.C,\n e = b - a.C;\n x(b <= a.l.o);\n x(16 >= e);\n if (0 < e) {\n var f = a.l,\n g = a.Ta,\n h = a.Ua,\n k = f.width;\n oc(a, e, c, d);\n h = [h];\n c = a.C;\n d = b;\n e = h;\n x(c < d);\n x(f.v < f.va);\n d > f.o && (d = f.o);\n if (c < f.j) {\n var l = f.j - c,\n c = f.j;\n e[0] += l * k;\n }\n c >= d\n ? (c = 0)\n : ((e[0] += 4 * f.v),\n (f.ka = c - f.j),\n (f.U = f.va - f.v),\n (f.T = d - c),\n (c = 1));\n if (c) {\n h = h[0];\n c = a.ca;\n if (11 > c.S) {\n for (\n var m = c.f.RGBA,\n d = c.S,\n e = f.U,\n f = f.T,\n l = m.eb,\n n = m.A,\n r = f,\n m = m.fb + a.Ma * m.A;\n 0 < r--;\n\n ) {\n var q = g,\n t = h,\n v = e,\n p = l,\n u = m;\n switch (d) {\n case Ca:\n sc(q, t, v, p, u);\n break;\n case Ua:\n Gb(q, t, v, p, u);\n break;\n case zb:\n Gb(q, t, v, p, u);\n za(p, u, 0, v, 1, 0);\n break;\n case tc:\n uc(q, t, v, p, u);\n break;\n case Va:\n fb(q, t, v, p, u, 1);\n break;\n case Ab:\n fb(q, t, v, p, u, 1);\n za(p, u, 0, v, 1, 0);\n break;\n case ya:\n fb(q, t, v, p, u, 0);\n break;\n case Ja:\n fb(q, t, v, p, u, 0);\n za(p, u, 1, v, 1, 0);\n break;\n case Db:\n Hb(q, t, v, p, u);\n break;\n case Bb:\n Hb(q, t, v, p, u);\n vc(p, u, v, 1, 0);\n break;\n case wc:\n xc(q, t, v, p, u);\n break;\n default:\n x(0);\n }\n h += k;\n m += n;\n }\n a.Ma += f;\n } else alert(\"todo:EmitRescaledRowsYUVA\");\n x(a.Ma <= c.height);\n }\n }\n a.C = b;\n x(a.C <= a.i);\n }\n function yc(a) {\n var b;\n if (0 < a.ua) return 0;\n for (b = 0; b < a.Wb; ++b) {\n var c = a.Ya[b].G,\n d = a.Ya[b].H;\n if (\n 0 < c[1][d[1] + 0].g ||\n 0 < c[2][d[2] + 0].g ||\n 0 < c[3][d[3] + 0].g\n )\n return 0;\n }\n return 1;\n }\n function zc(a, b, c, d, e, f) {\n if (0 != a.Z) {\n var g = a.qd,\n h = a.rd;\n for (x(null != ia[a.Z]); b < c; ++b)\n ia[a.Z](g, h, d, e, d, e, f), (g = d), (h = e), (e += f);\n a.qd = g;\n a.rd = h;\n }\n }\n function Ib(a, b) {\n var c = a.l.ma,\n d = 0 == c.Z || 1 == c.Z ? a.l.j : a.C,\n d = a.C < d ? d : a.C;\n x(b <= a.l.o);\n if (b > d) {\n var e = a.l.width,\n f = c.ca,\n g = c.tb + e * d,\n h = a.V,\n k = a.Ba + a.c * d,\n l = a.gc;\n x(1 == a.ab);\n x(3 == l[0].hc);\n he(l[0], d, b, h, k, f, g);\n zc(c, d, b, f, g, e);\n }\n a.C = a.Ma = b;\n }\n function Jb(a, b, c, d, e, f, g) {\n var h = a.$ / d,\n k = a.$ % d,\n l = a.m,\n m = a.s,\n n = c + a.$,\n r = n;\n e = c + d * e;\n var q = c + d * f,\n t = 280 + m.ua,\n v = a.Pb ? h : 16777216,\n p = 0 < m.ua ? m.Wa : null,\n u = m.wc,\n w = n < q ? ha(m, k, h) : null;\n x(a.C < f);\n x(q <= e);\n var y = !1;\n a: for (;;) {\n for (; y || n < q; ) {\n var A = 0;\n if (h >= v) {\n var v = a,\n E = n - c;\n x(v.Pb);\n v.wd = v.m;\n v.xd = E;\n 0 < v.s.ua && $b(v.s.Wa, v.s.vb);\n v = h + ie;\n }\n k & u || (w = ha(m, k, h));\n x(null != w);\n w.Qb && ((b[n] = w.qb), (y = !0));\n if (!y)\n if ((Sa(l), w.jc)) {\n var A = l,\n E = b,\n B = n,\n C = w.pd[pb(A) & (xb - 1)];\n x(w.jc);\n 256 > C.g\n ? (qb(A, A.u + C.g), (E[B] = C.value), (A = 0))\n : (qb(A, A.u + C.g - 256), x(256 <= C.value), (A = C.value));\n 0 == A && (y = !0);\n } else A = ua(w.G[0], w.H[0], l);\n if (l.h) break;\n if (y || 256 > A) {\n if (!y)\n if (w.nd) b[n] = (w.qb | (A << 8)) >>> 0;\n else {\n Sa(l);\n y = ua(w.G[1], w.H[1], l);\n Sa(l);\n E = ua(w.G[2], w.H[2], l);\n B = ua(w.G[3], w.H[3], l);\n if (l.h) break;\n b[n] = ((B << 24) | (y << 16) | (A << 8) | E) >>> 0;\n }\n y = !1;\n ++n;\n ++k;\n if (\n k >= d &&\n ((k = 0),\n ++h,\n null != g && h <= f && !(h % 16) && g(a, h),\n null != p)\n )\n for (; r < n; )\n (A = b[r++]),\n (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n } else if (280 > A) {\n A = ib(A - 256, l);\n E = ua(w.G[4], w.H[4], l);\n Sa(l);\n E = ib(E, l);\n E = nc(d, E);\n if (l.h) break;\n if (n - c < E || e - n < A) break a;\n else for (B = 0; B < A; ++B) b[n + B] = b[n + B - E];\n n += A;\n for (k += A; k >= d; )\n (k -= d), ++h, null != g && h <= f && !(h % 16) && g(a, h);\n x(n <= e);\n k & u && (w = ha(m, k, h));\n if (null != p)\n for (; r < n; )\n (A = b[r++]),\n (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n } else if (A < t) {\n y = A - 280;\n for (x(null != p); r < n; )\n (A = b[r++]), (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n A = n;\n E = p;\n x(!(y >>> E.Xa));\n b[A] = E.X[y];\n y = !0;\n } else break a;\n y || x(l.h == db(l));\n }\n if (a.Pb && l.h && n < e)\n x(a.m.h),\n (a.a = 5),\n (a.m = a.wd),\n (a.$ = a.xd),\n 0 < a.s.ua && $b(a.s.vb, a.s.Wa);\n else if (l.h) break a;\n else null != g && g(a, h > f ? f : h), (a.a = 0), (a.$ = n - c);\n return 1;\n }\n a.a = 3;\n return 0;\n }\n function Ac(a) {\n x(null != a);\n a.vc = null;\n a.yc = null;\n a.Ya = null;\n var b = a.Wa;\n null != b && (b.X = null);\n a.vb = null;\n x(null != a);\n }\n function Bc() {\n var a = new je();\n if (null == a) return null;\n a.a = 0;\n a.xb = Cc;\n gb(\"Predictor\", \"VP8LPredictors\");\n gb(\"Predictor\", \"VP8LPredictors_C\");\n gb(\"PredictorAdd\", \"VP8LPredictorsAdd\");\n gb(\"PredictorAdd\", \"VP8LPredictorsAdd_C\");\n pc = Kd;\n Fb = Ld;\n sc = Md;\n Gb = Nd;\n Hb = Od;\n xc = Pd;\n uc = Qd;\n self.VP8LMapColor32b = ke;\n self.VP8LMapColor8b = le;\n return a;\n }\n function rb(a, b, c, d, e) {\n var f = 1,\n g = [a],\n h = [b],\n k = d.m,\n l = d.s,\n m = null,\n n = 0;\n a: for (;;) {\n if (c)\n for (; f && D(k, 1); ) {\n var r = g,\n q = h,\n t = d,\n v = 1,\n p = t.m,\n u = t.gc[t.ab],\n w = D(p, 2);\n if (t.Oc & (1 << w)) f = 0;\n else {\n t.Oc |= 1 << w;\n u.hc = w;\n u.Ea = r[0];\n u.nc = q[0];\n u.K = [null];\n ++t.ab;\n x(4 >= t.ab);\n switch (w) {\n case 0:\n case 1:\n u.b = D(p, 3) + 2;\n v = rb(xa(u.Ea, u.b), xa(u.nc, u.b), 0, t, u.K);\n u.K = u.K[0];\n break;\n case 3:\n var y = D(p, 8) + 1,\n A = 16 < y ? 0 : 4 < y ? 1 : 2 < y ? 2 : 3;\n r[0] = xa(u.Ea, A);\n u.b = A;\n var v = rb(y, 1, 0, t, u.K),\n E;\n if ((E = v)) {\n var B,\n C = y,\n N = u,\n z = 1 << (8 >> N.b),\n Q = V(z);\n if (null == Q) E = 0;\n else {\n var S = N.K[0],\n K = N.w;\n Q[0] = N.K[0][0];\n for (B = 1; B < 1 * C; ++B) Q[B] = yb(S[K + B], Q[B - 1]);\n for (; B < 4 * z; ++B) Q[B] = 0;\n N.K[0] = null;\n N.K[0] = Q;\n E = 1;\n }\n }\n v = E;\n break;\n case 2:\n break;\n default:\n x(0);\n }\n f = v;\n }\n }\n g = g[0];\n h = h[0];\n if (f && D(k, 1) && ((n = D(k, 4)), (f = 1 <= n && 11 >= n), !f)) {\n d.a = 3;\n break a;\n }\n var H;\n if ((H = f))\n b: {\n var F = d,\n G = g,\n L = h,\n J = n,\n T = c,\n Da,\n ba,\n X = F.m,\n R = F.s,\n P = [null],\n U,\n W = 1,\n aa = 0,\n na = me[J];\n c: for (;;) {\n if (T && D(X, 1)) {\n var ca = D(X, 3) + 2,\n ga = xa(G, ca),\n ka = xa(L, ca),\n qa = ga * ka;\n if (!rb(ga, ka, 0, F, P)) break c;\n P = P[0];\n R.xc = ca;\n for (Da = 0; Da < qa; ++Da) {\n var ia = (P[Da] >> 8) & 65535;\n P[Da] = ia;\n ia >= W && (W = ia + 1);\n }\n }\n if (X.h) break c;\n for (ba = 0; 5 > ba; ++ba) {\n var Y = Dc[ba];\n !ba && 0 < J && (Y += 1 << J);\n aa < Y && (aa = Y);\n }\n var ma = wa(W * na, O);\n var ua = W,\n va = wa(ua, Ub);\n if (null == va) var la = null;\n else x(65536 >= ua), (la = va);\n var ha = V(aa);\n if (null == la || null == ha || null == ma) {\n F.a = 1;\n break c;\n }\n var pa = ma;\n for (Da = U = 0; Da < W; ++Da) {\n var ja = la[Da],\n da = ja.G,\n ea = ja.H,\n Fa = 0,\n ra = 1,\n Ha = 0;\n for (ba = 0; 5 > ba; ++ba) {\n Y = Dc[ba];\n da[ba] = pa;\n ea[ba] = U;\n !ba && 0 < J && (Y += 1 << J);\n d: {\n var sa,\n za = Y,\n ta = F,\n oa = ha,\n db = pa,\n eb = U,\n Ia = 0,\n Ka = ta.m,\n fb = D(Ka, 1);\n M(oa, 0, 0, za);\n if (fb) {\n var gb = D(Ka, 1) + 1,\n hb = D(Ka, 1),\n Ja = D(Ka, 0 == hb ? 1 : 8);\n oa[Ja] = 1;\n 2 == gb && ((Ja = D(Ka, 8)), (oa[Ja] = 1));\n var ya = 1;\n } else {\n var Ua = V(19),\n Va = D(Ka, 4) + 4;\n if (19 < Va) {\n ta.a = 3;\n var Aa = 0;\n break d;\n }\n for (sa = 0; sa < Va; ++sa) Ua[ne[sa]] = D(Ka, 3);\n var Ba = void 0,\n sb = void 0,\n Wa = ta,\n ib = Ua,\n Ca = za,\n Xa = oa,\n Oa = 0,\n La = Wa.m,\n Ya = 8,\n Za = wa(128, O);\n e: for (;;) {\n if (!Z(Za, 0, 7, ib, 19)) break e;\n if (D(La, 1)) {\n var kb = 2 + 2 * D(La, 3),\n Ba = 2 + D(La, kb);\n if (Ba > Ca) break e;\n } else Ba = Ca;\n for (sb = 0; sb < Ca && Ba--; ) {\n Sa(La);\n var $a = Za[0 + (pb(La) & 127)];\n qb(La, La.u + $a.g);\n var jb = $a.value;\n if (16 > jb) (Xa[sb++] = jb), 0 != jb && (Ya = jb);\n else {\n var lb = 16 == jb,\n ab = jb - 16,\n mb = oe[ab],\n bb = D(La, pe[ab]) + mb;\n if (sb + bb > Ca) break e;\n else\n for (var nb = lb ? Ya : 0; 0 < bb--; )\n Xa[sb++] = nb;\n }\n }\n Oa = 1;\n break e;\n }\n Oa || (Wa.a = 3);\n ya = Oa;\n }\n (ya = ya && !Ka.h) && (Ia = Z(db, eb, 8, oa, za));\n ya && 0 != Ia ? (Aa = Ia) : ((ta.a = 3), (Aa = 0));\n }\n if (0 == Aa) break c;\n ra && 1 == qe[ba] && (ra = 0 == pa[U].g);\n Fa += pa[U].g;\n U += Aa;\n if (3 >= ba) {\n var Pa = ha[0],\n tb;\n for (tb = 1; tb < Y; ++tb) ha[tb] > Pa && (Pa = ha[tb]);\n Ha += Pa;\n }\n }\n ja.nd = ra;\n ja.Qb = 0;\n ra &&\n ((ja.qb =\n ((da[3][ea[3] + 0].value << 24) |\n (da[1][ea[1] + 0].value << 16) |\n da[2][ea[2] + 0].value) >>>\n 0),\n 0 == Fa &&\n 256 > da[0][ea[0] + 0].value &&\n ((ja.Qb = 1), (ja.qb += da[0][ea[0] + 0].value << 8)));\n ja.jc = !ja.Qb && 6 > Ha;\n if (ja.jc) {\n var Ga,\n Ea = ja;\n for (Ga = 0; Ga < xb; ++Ga) {\n var Ma = Ga,\n Na = Ea.pd[Ma],\n vb = Ea.G[0][Ea.H[0] + Ma];\n 256 <= vb.value\n ? ((Na.g = vb.g + 256), (Na.value = vb.value))\n : ((Na.g = 0),\n (Na.value = 0),\n (Ma >>= ub(vb, 8, Na)),\n (Ma >>= ub(Ea.G[1][Ea.H[1] + Ma], 16, Na)),\n (Ma >>= ub(Ea.G[2][Ea.H[2] + Ma], 0, Na)),\n ub(Ea.G[3][Ea.H[3] + Ma], 24, Na));\n }\n }\n }\n R.vc = P;\n R.Wb = W;\n R.Ya = la;\n R.yc = ma;\n H = 1;\n break b;\n }\n H = 0;\n }\n f = H;\n if (!f) {\n d.a = 3;\n break a;\n }\n if (0 < n) {\n if (((l.ua = 1 << n), !Zb(l.Wa, n))) {\n d.a = 1;\n f = 0;\n break a;\n }\n } else l.ua = 0;\n var Qa = d,\n cb = g,\n ob = h,\n Ra = Qa.s,\n Ta = Ra.xc;\n Qa.c = cb;\n Qa.i = ob;\n Ra.md = xa(cb, Ta);\n Ra.wc = 0 == Ta ? -1 : (1 << Ta) - 1;\n if (c) {\n d.xb = re;\n break a;\n }\n m = V(g * h);\n if (null == m) {\n d.a = 1;\n f = 0;\n break a;\n }\n f = (f = Jb(d, m, 0, g, h, h, null)) && !k.h;\n break a;\n }\n f\n ? (null != e ? (e[0] = m) : (x(null == m), x(c)), (d.$ = 0), c || Ac(l))\n : Ac(l);\n return f;\n }\n function Ec(a, b) {\n var c = a.c * a.i,\n d = c + b + 16 * b;\n x(a.c <= b);\n a.V = V(d);\n if (null == a.V) return (a.Ta = null), (a.Ua = 0), (a.a = 1), 0;\n a.Ta = a.V;\n a.Ua = a.Ba + c + b;\n return 1;\n }\n function se(a, b) {\n var c = a.C,\n d = b - c,\n e = a.V,\n f = a.Ba + a.c * c;\n for (x(b <= a.l.o); 0 < d; ) {\n var g = 16 < d ? 16 : d,\n h = a.l.ma,\n k = a.l.width,\n l = k * g,\n m = h.ca,\n n = h.tb + k * c,\n r = a.Ta,\n q = a.Ua;\n oc(a, g, e, f);\n Fc(r, q, m, n, l);\n zc(h, c, c + g, m, n, k);\n d -= g;\n e += g * a.c;\n c += g;\n }\n x(c == b);\n a.C = a.Ma = b;\n }\n function te(a, b) {\n var c = [0],\n d = [0],\n e = [0];\n a: for (;;) {\n if (null == a) return 0;\n if (null == b) return (a.a = 2), 0;\n a.l = b;\n a.a = 0;\n cb(a.m, b.data, b.w, b.ha);\n if (!mc(a.m, c, d, e)) {\n a.a = 3;\n break a;\n }\n a.xb = Cc;\n b.width = c[0];\n b.height = d[0];\n if (!rb(c[0], d[0], 1, a, null)) break a;\n return 1;\n }\n x(0 != a.a);\n return 0;\n }\n function ue() {\n this.ub = this.yd = this.td = this.Rb = 0;\n }\n function ve() {\n this.Kd = this.Ld = this.Ud = this.Td = this.i = this.c = 0;\n }\n function we() {\n this.Fb = this.Bb = this.Cb = 0;\n this.Zb = V(4);\n this.Lb = V(4);\n }\n function Gc() {\n this.Yb = wb();\n }\n function xe() {\n this.jb = V(3);\n this.Wc = Ed([4, 8], Gc);\n this.Xc = Ed([4, 17], Gc);\n }\n function ye() {\n this.Pc = this.wb = this.Tb = this.zd = 0;\n this.vd = new V(4);\n this.od = new V(4);\n }\n function Xa() {\n this.ld = this.La = this.dd = this.tc = 0;\n }\n function Hc() {\n this.Na = this.la = 0;\n }\n function ze() {\n this.Sc = [0, 0];\n this.Eb = [0, 0];\n this.Qc = [0, 0];\n this.ia = this.lc = 0;\n }\n function Kb() {\n this.ad = V(384);\n this.Za = 0;\n this.Ob = V(16);\n this.$b = this.Ad = this.ia = this.Gc = this.Hc = this.Dd = 0;\n }\n function Ae() {\n this.uc = this.M = this.Nb = 0;\n this.wa = Array(new Xa());\n this.Y = 0;\n this.ya = Array(new Kb());\n this.aa = 0;\n this.l = new Oa();\n }\n function Ic() {\n this.y = V(16);\n this.f = V(8);\n this.ea = V(8);\n }\n function Be() {\n this.cb = this.a = 0;\n this.sc = \"\";\n this.m = new Wb();\n this.Od = new ue();\n this.Kc = new ve();\n this.ed = new ye();\n this.Qa = new we();\n this.Ic = this.$c = this.Aa = 0;\n this.D = new Ae();\n this.Xb = this.Va = this.Hb = this.zb = this.yb = this.Ub = this.za = 0;\n this.Jc = wa(8, Wb);\n this.ia = 0;\n new F();\n this.pb = wa(4, ze);\n this.Pa = new xe();\n this.Bd = this.kc = 0;\n this.Ac = [];\n this.Bc = 0;\n this.zc = [0, 0, 0, 0];\n this.Gd = Array(new Ic());\n this.Hd = 0;\n this.rb = Array(new Hc());\n this.sb = 0;\n this.wa = Array(new Xa());\n this.Y = 0;\n this.oc = [];\n this.pc = 0;\n this.sa = [];\n this.ta = 0;\n this.qa = [];\n this.ra = 0;\n this.Ha = [];\n this.B = this.R = this.Ia = 0;\n this.Ec = [];\n this.M = this.ja = this.Vb = this.Fc = 0;\n this.ya = Array(new Kb());\n this.L = this.aa = 0;\n this.gd = Ed([4, 2], Xa);\n this.ga = null;\n this.Fa = [];\n this.Cc = this.qc = this.P = 0;\n this.Gb = [];\n this.Uc = 0;\n this.mb = [];\n this.nb = 0;\n this.rc = [];\n this.Ga = this.Vc = 0;\n }\n function ga(a, b) {\n return 0 > a ? 0 : a > b ? b : a;\n }\n function Oa() {\n this.T = this.U = this.ka = this.height = this.width = 0;\n this.y = [];\n this.f = [];\n this.ea = [];\n this.Rc = this.fa = this.W = this.N = this.O = 0;\n this.ma = \"void\";\n this.put = \"VP8IoPutHook\";\n this.ac = \"VP8IoSetupHook\";\n this.bc = \"VP8IoTeardownHook\";\n this.ha = this.Kb = 0;\n this.data = [];\n this.hb = this.ib = this.da = this.o = this.j = this.va = this.v = this.Da = this.ob = this.w = 0;\n this.F = [];\n this.J = 0;\n }\n function Ce() {\n var a = new Be();\n null != a &&\n ((a.a = 0), (a.sc = \"OK\"), (a.cb = 0), (a.Xb = 0), oa || (oa = De));\n return a;\n }\n function T(a, b, c) {\n 0 == a.a && ((a.a = b), (a.sc = c), (a.cb = 0));\n return 0;\n }\n function Jc(a, b, c) {\n return 3 <= c && 157 == a[b + 0] && 1 == a[b + 1] && 42 == a[b + 2];\n }\n function Kc(a, b) {\n if (null == a) return 0;\n a.a = 0;\n a.sc = \"OK\";\n if (null == b) return T(a, 2, \"null VP8Io passed to VP8GetHeaders()\");\n var c = b.data;\n var d = b.w;\n var e = b.ha;\n if (4 > e) return T(a, 7, \"Truncated header.\");\n var f = c[d + 0] | (c[d + 1] << 8) | (c[d + 2] << 16);\n var g = a.Od;\n g.Rb = !(f & 1);\n g.td = (f >> 1) & 7;\n g.yd = (f >> 4) & 1;\n g.ub = f >> 5;\n if (3 < g.td) return T(a, 3, \"Incorrect keyframe parameters.\");\n if (!g.yd) return T(a, 4, \"Frame not displayable.\");\n d += 3;\n e -= 3;\n var h = a.Kc;\n if (g.Rb) {\n if (7 > e) return T(a, 7, \"cannot parse picture header\");\n if (!Jc(c, d, e)) return T(a, 3, \"Bad code word\");\n h.c = ((c[d + 4] << 8) | c[d + 3]) & 16383;\n h.Td = c[d + 4] >> 6;\n h.i = ((c[d + 6] << 8) | c[d + 5]) & 16383;\n h.Ud = c[d + 6] >> 6;\n d += 7;\n e -= 7;\n a.za = (h.c + 15) >> 4;\n a.Ub = (h.i + 15) >> 4;\n b.width = h.c;\n b.height = h.i;\n b.Da = 0;\n b.j = 0;\n b.v = 0;\n b.va = b.width;\n b.o = b.height;\n b.da = 0;\n b.ib = b.width;\n b.hb = b.height;\n b.U = b.width;\n b.T = b.height;\n f = a.Pa;\n M(f.jb, 0, 255, f.jb.length);\n f = a.Qa;\n x(null != f);\n f.Cb = 0;\n f.Bb = 0;\n f.Fb = 1;\n M(f.Zb, 0, 0, f.Zb.length);\n M(f.Lb, 0, 0, f.Lb);\n }\n if (g.ub > e) return T(a, 7, \"bad partition length\");\n f = a.m;\n ma(f, c, d, g.ub);\n d += g.ub;\n e -= g.ub;\n g.Rb && ((h.Ld = G(f)), (h.Kd = G(f)));\n h = a.Qa;\n var k = a.Pa,\n l;\n x(null != f);\n x(null != h);\n h.Cb = G(f);\n if (h.Cb) {\n h.Bb = G(f);\n if (G(f)) {\n h.Fb = G(f);\n for (l = 0; 4 > l; ++l) h.Zb[l] = G(f) ? ca(f, 7) : 0;\n for (l = 0; 4 > l; ++l) h.Lb[l] = G(f) ? ca(f, 6) : 0;\n }\n if (h.Bb) for (l = 0; 3 > l; ++l) k.jb[l] = G(f) ? na(f, 8) : 255;\n } else h.Bb = 0;\n if (f.Ka) return T(a, 3, \"cannot parse segment header\");\n h = a.ed;\n h.zd = G(f);\n h.Tb = na(f, 6);\n h.wb = na(f, 3);\n h.Pc = G(f);\n if (h.Pc && G(f)) {\n for (k = 0; 4 > k; ++k) G(f) && (h.vd[k] = ca(f, 6));\n for (k = 0; 4 > k; ++k) G(f) && (h.od[k] = ca(f, 6));\n }\n a.L = 0 == h.Tb ? 0 : h.zd ? 1 : 2;\n if (f.Ka) return T(a, 3, \"cannot parse filter header\");\n l = d;\n var m = e;\n e = l;\n d = l + m;\n h = m;\n a.Xb = (1 << na(a.m, 2)) - 1;\n k = a.Xb;\n if (m < 3 * k) c = 7;\n else {\n l += 3 * k;\n h -= 3 * k;\n for (m = 0; m < k; ++m) {\n var n = c[e + 0] | (c[e + 1] << 8) | (c[e + 2] << 16);\n n > h && (n = h);\n ma(a.Jc[+m], c, l, n);\n l += n;\n h -= n;\n e += 3;\n }\n ma(a.Jc[+k], c, l, h);\n c = l < d ? 0 : 5;\n }\n if (0 != c) return T(a, c, \"cannot parse partitions\");\n l = a.m;\n c = na(l, 7);\n e = G(l) ? ca(l, 4) : 0;\n d = G(l) ? ca(l, 4) : 0;\n h = G(l) ? ca(l, 4) : 0;\n k = G(l) ? ca(l, 4) : 0;\n l = G(l) ? ca(l, 4) : 0;\n m = a.Qa;\n for (n = 0; 4 > n; ++n) {\n if (m.Cb) {\n var r = m.Zb[n];\n m.Fb || (r += c);\n } else if (0 < n) {\n a.pb[n] = a.pb[0];\n continue;\n } else r = c;\n var q = a.pb[n];\n q.Sc[0] = Lb[ga(r + e, 127)];\n q.Sc[1] = Mb[ga(r + 0, 127)];\n q.Eb[0] = 2 * Lb[ga(r + d, 127)];\n q.Eb[1] = (101581 * Mb[ga(r + h, 127)]) >> 16;\n 8 > q.Eb[1] && (q.Eb[1] = 8);\n q.Qc[0] = Lb[ga(r + k, 117)];\n q.Qc[1] = Mb[ga(r + l, 127)];\n q.lc = r + l;\n }\n if (!g.Rb) return T(a, 4, \"Not a key frame.\");\n G(f);\n g = a.Pa;\n for (c = 0; 4 > c; ++c) {\n for (e = 0; 8 > e; ++e)\n for (d = 0; 3 > d; ++d)\n for (h = 0; 11 > h; ++h)\n (k = K(f, Ee[c][e][d][h]) ? na(f, 8) : Fe[c][e][d][h]),\n (g.Wc[c][e].Yb[d][h] = k);\n for (e = 0; 17 > e; ++e) g.Xc[c][e] = g.Wc[c][Ge[e]];\n }\n a.kc = G(f);\n a.kc && (a.Bd = na(f, 8));\n return (a.cb = 1);\n }\n function De(a, b, c, d, e, f, g) {\n var h = b[e].Yb[c];\n for (c = 0; 16 > e; ++e) {\n if (!K(a, h[c + 0])) return e;\n for (; !K(a, h[c + 1]); )\n if (((h = b[++e].Yb[0]), (c = 0), 16 == e)) return 16;\n var k = b[e + 1].Yb;\n if (K(a, h[c + 2])) {\n var l = a,\n m = h,\n n = c;\n var r = 0;\n if (K(l, m[n + 3]))\n if (K(l, m[n + 6])) {\n h = 0;\n r = K(l, m[n + 8]);\n m = K(l, m[n + 9 + r]);\n n = 2 * r + m;\n r = 0;\n for (m = He[n]; m[h]; ++h) r += r + K(l, m[h]);\n r += 3 + (8 << n);\n } else\n K(l, m[n + 7])\n ? ((r = 7 + 2 * K(l, 165)), (r += K(l, 145)))\n : (r = 5 + K(l, 159));\n else K(l, m[n + 4]) ? (r = 3 + K(l, m[n + 5])) : (r = 2);\n h = k[2];\n } else (r = 1), (h = k[1]);\n k = g + Ie[e];\n l = a;\n 0 > l.b && Qa(l);\n var m = l.b,\n n = l.Ca >> 1,\n q = (n - (l.I >> m)) >> 31;\n --l.b;\n l.Ca += q;\n l.Ca |= 1;\n l.I -= ((n + 1) & q) << m;\n f[k] = ((r ^ q) - q) * d[(0 < e) + 0];\n }\n return 16;\n }\n function Lc(a) {\n var b = a.rb[a.sb - 1];\n b.la = 0;\n b.Na = 0;\n M(a.zc, 0, 0, a.zc.length);\n a.ja = 0;\n }\n function Je(a, b) {\n for (a.M = 0; a.M < a.Va; ++a.M) {\n var c = a.Jc[a.M & a.Xb],\n d = a.m,\n e = a,\n f;\n for (f = 0; f < e.za; ++f) {\n var g = d;\n var h = e;\n var k = h.Ac,\n l = h.Bc + 4 * f,\n m = h.zc,\n n = h.ya[h.aa + f];\n h.Qa.Bb\n ? (n.$b = K(g, h.Pa.jb[0])\n ? 2 + K(g, h.Pa.jb[2])\n : K(g, h.Pa.jb[1]))\n : (n.$b = 0);\n h.kc && (n.Ad = K(g, h.Bd));\n n.Za = !K(g, 145) + 0;\n if (n.Za) {\n var r = n.Ob,\n q = 0;\n for (h = 0; 4 > h; ++h) {\n var t = m[0 + h];\n var v;\n for (v = 0; 4 > v; ++v) {\n t = Ke[k[l + v]][t];\n for (var p = Mc[K(g, t[0])]; 0 < p; )\n p = Mc[2 * p + K(g, t[p])];\n t = -p;\n k[l + v] = t;\n }\n I(r, q, k, l, 4);\n q += 4;\n m[0 + h] = t;\n }\n } else\n (t = K(g, 156) ? (K(g, 128) ? 1 : 3) : K(g, 163) ? 2 : 0),\n (n.Ob[0] = t),\n M(k, l, t, 4),\n M(m, 0, t, 4);\n n.Dd = K(g, 142) ? (K(g, 114) ? (K(g, 183) ? 1 : 3) : 2) : 0;\n }\n if (e.m.Ka) return T(a, 7, \"Premature end-of-partition0 encountered.\");\n for (; a.ja < a.za; ++a.ja) {\n d = a;\n e = c;\n g = d.rb[d.sb - 1];\n k = d.rb[d.sb + d.ja];\n f = d.ya[d.aa + d.ja];\n if ((l = d.kc ? f.Ad : 0))\n (g.la = k.la = 0),\n f.Za || (g.Na = k.Na = 0),\n (f.Hc = 0),\n (f.Gc = 0),\n (f.ia = 0);\n else {\n var u,\n w,\n g = k,\n k = e,\n l = d.Pa.Xc,\n m = d.ya[d.aa + d.ja],\n n = d.pb[m.$b];\n h = m.ad;\n r = 0;\n q = d.rb[d.sb - 1];\n t = v = 0;\n M(h, r, 0, 384);\n if (m.Za) {\n var y = 0;\n var A = l[3];\n } else {\n p = V(16);\n var E = g.Na + q.Na;\n E = oa(k, l[1], E, n.Eb, 0, p, 0);\n g.Na = q.Na = (0 < E) + 0;\n if (1 < E) Nc(p, 0, h, r);\n else {\n var B = (p[0] + 3) >> 3;\n for (p = 0; 256 > p; p += 16) h[r + p] = B;\n }\n y = 1;\n A = l[0];\n }\n var C = g.la & 15;\n var N = q.la & 15;\n for (p = 0; 4 > p; ++p) {\n var z = N & 1;\n for (B = w = 0; 4 > B; ++B)\n (E = z + (C & 1)),\n (E = oa(k, A, E, n.Sc, y, h, r)),\n (z = E > y),\n (C = (C >> 1) | (z << 7)),\n (w = (w << 2) | (3 < E ? 3 : 1 < E ? 2 : 0 != h[r + 0])),\n (r += 16);\n C >>= 4;\n N = (N >> 1) | (z << 7);\n v = ((v << 8) | w) >>> 0;\n }\n A = C;\n y = N >> 4;\n for (u = 0; 4 > u; u += 2) {\n w = 0;\n C = g.la >> (4 + u);\n N = q.la >> (4 + u);\n for (p = 0; 2 > p; ++p) {\n z = N & 1;\n for (B = 0; 2 > B; ++B)\n (E = z + (C & 1)),\n (E = oa(k, l[2], E, n.Qc, 0, h, r)),\n (z = 0 < E),\n (C = (C >> 1) | (z << 3)),\n (w = (w << 2) | (3 < E ? 3 : 1 < E ? 2 : 0 != h[r + 0])),\n (r += 16);\n C >>= 2;\n N = (N >> 1) | (z << 5);\n }\n t |= w << (4 * u);\n A |= (C << 4) << u;\n y |= (N & 240) << u;\n }\n g.la = A;\n q.la = y;\n m.Hc = v;\n m.Gc = t;\n m.ia = t & 43690 ? 0 : n.ia;\n l = !(v | t);\n }\n 0 < d.L &&\n ((d.wa[d.Y + d.ja] = d.gd[f.$b][f.Za]),\n (d.wa[d.Y + d.ja].La |= !l));\n if (e.Ka) return T(a, 7, \"Premature end-of-file encountered.\");\n }\n Lc(a);\n c = a;\n d = b;\n e = 1;\n f = c.D;\n g = 0 < c.L && c.M >= c.zb && c.M <= c.Va;\n if (0 == c.Aa)\n a: {\n (f.M = c.M), (f.uc = g), Oc(c, f), (e = 1);\n w = c.D;\n f = w.Nb;\n t = Ya[c.L];\n g = t * c.R;\n k = (t / 2) * c.B;\n p = 16 * f * c.R;\n B = 8 * f * c.B;\n l = c.sa;\n m = c.ta - g + p;\n n = c.qa;\n h = c.ra - k + B;\n r = c.Ha;\n q = c.Ia - k + B;\n C = w.M;\n N = 0 == C;\n v = C >= c.Va - 1;\n 2 == c.Aa && Oc(c, w);\n if (w.uc)\n for (E = c, z = E.D.M, x(E.D.uc), w = E.yb; w < E.Hb; ++w) {\n var Q = E;\n y = w;\n A = z;\n var S = Q.D,\n D = S.Nb;\n u = Q.R;\n var S = S.wa[S.Y + y],\n F = Q.sa,\n H = Q.ta + 16 * D * u + 16 * y,\n J = S.dd,\n G = S.tc;\n if (0 != G)\n if ((x(3 <= G), 1 == Q.L))\n 0 < y && Pc(F, H, u, G + 4),\n S.La && Qc(F, H, u, G),\n 0 < A && Rc(F, H, u, G + 4),\n S.La && Sc(F, H, u, G);\n else {\n var L = Q.B,\n O = Q.qa,\n P = Q.ra + 8 * D * L + 8 * y,\n R = Q.Ha,\n Q = Q.Ia + 8 * D * L + 8 * y,\n D = S.ld;\n 0 < y &&\n (Tc(F, H, u, G + 4, J, D),\n Uc(O, P, R, Q, L, G + 4, J, D));\n S.La && (Vc(F, H, u, G, J, D), Wc(O, P, R, Q, L, G, J, D));\n 0 < A &&\n (Xc(F, H, u, G + 4, J, D),\n Yc(O, P, R, Q, L, G + 4, J, D));\n S.La && (Zc(F, H, u, G, J, D), $c(O, P, R, Q, L, G, J, D));\n }\n }\n c.ia && alert(\"todo:DitherRow\");\n if (null != d.put) {\n w = 16 * C;\n C = 16 * (C + 1);\n N\n ? ((d.y = c.sa),\n (d.O = c.ta + p),\n (d.f = c.qa),\n (d.N = c.ra + B),\n (d.ea = c.Ha),\n (d.W = c.Ia + B))\n : ((w -= t),\n (d.y = l),\n (d.O = m),\n (d.f = n),\n (d.N = h),\n (d.ea = r),\n (d.W = q));\n v || (C -= t);\n C > d.o && (C = d.o);\n d.F = null;\n d.J = null;\n if (\n null != c.Fa &&\n 0 < c.Fa.length &&\n w < C &&\n ((d.J = Le(c, d, w, C - w)),\n (d.F = c.mb),\n null == d.F && 0 == d.F.length)\n ) {\n e = T(c, 3, \"Could not decode alpha data.\");\n break a;\n }\n w < d.j &&\n ((t = d.j - w),\n (w = d.j),\n x(!(t & 1)),\n (d.O += c.R * t),\n (d.N += c.B * (t >> 1)),\n (d.W += c.B * (t >> 1)),\n null != d.F && (d.J += d.width * t));\n w < C &&\n ((d.O += d.v),\n (d.N += d.v >> 1),\n (d.W += d.v >> 1),\n null != d.F && (d.J += d.v),\n (d.ka = w - d.j),\n (d.U = d.va - d.v),\n (d.T = C - w),\n (e = d.put(d)));\n }\n f + 1 != c.Ic ||\n v ||\n (I(c.sa, c.ta - g, l, m + 16 * c.R, g),\n I(c.qa, c.ra - k, n, h + 8 * c.B, k),\n I(c.Ha, c.Ia - k, r, q + 8 * c.B, k));\n }\n if (!e) return T(a, 6, \"Output aborted.\");\n }\n return 1;\n }\n function Me(a, b) {\n if (null == a) return 0;\n if (null == b) return T(a, 2, \"NULL VP8Io parameter in VP8Decode().\");\n if (!a.cb && !Kc(a, b)) return 0;\n x(a.cb);\n if (null == b.ac || b.ac(b)) {\n b.ob && (a.L = 0);\n var c = Ya[a.L];\n 2 == a.L\n ? ((a.yb = 0), (a.zb = 0))\n : ((a.yb = (b.v - c) >> 4),\n (a.zb = (b.j - c) >> 4),\n 0 > a.yb && (a.yb = 0),\n 0 > a.zb && (a.zb = 0));\n a.Va = (b.o + 15 + c) >> 4;\n a.Hb = (b.va + 15 + c) >> 4;\n a.Hb > a.za && (a.Hb = a.za);\n a.Va > a.Ub && (a.Va = a.Ub);\n if (0 < a.L) {\n var d = a.ed;\n for (c = 0; 4 > c; ++c) {\n var e;\n if (a.Qa.Cb) {\n var f = a.Qa.Lb[c];\n a.Qa.Fb || (f += d.Tb);\n } else f = d.Tb;\n for (e = 0; 1 >= e; ++e) {\n var g = a.gd[c][e],\n h = f;\n d.Pc && ((h += d.vd[0]), e && (h += d.od[0]));\n h = 0 > h ? 0 : 63 < h ? 63 : h;\n if (0 < h) {\n var k = h;\n 0 < d.wb &&\n ((k = 4 < d.wb ? k >> 2 : k >> 1),\n k > 9 - d.wb && (k = 9 - d.wb));\n 1 > k && (k = 1);\n g.dd = k;\n g.tc = 2 * h + k;\n g.ld = 40 <= h ? 2 : 15 <= h ? 1 : 0;\n } else g.tc = 0;\n g.La = e;\n }\n }\n }\n c = 0;\n } else T(a, 6, \"Frame setup failed\"), (c = a.a);\n if ((c = 0 == c)) {\n if (c) {\n a.$c = 0;\n 0 < a.Aa || (a.Ic = Ne);\n b: {\n c = a.Ic;\n var k = a.za,\n d = 4 * k,\n l = 32 * k,\n m = k + 1,\n n = 0 < a.L ? k * (0 < a.Aa ? 2 : 1) : 0,\n r = (2 == a.Aa ? 2 : 1) * k;\n e = ((3 * (16 * c + Ya[a.L])) / 2) * l;\n f = null != a.Fa && 0 < a.Fa.length ? a.Kc.c * a.Kc.i : 0;\n g = d + 832 + e + f;\n if (g != g) c = 0;\n else {\n if (g > a.Vb) {\n a.Vb = 0;\n a.Ec = V(g);\n a.Fc = 0;\n if (null == a.Ec) {\n c = T(a, 1, \"no memory during frame initialization.\");\n break b;\n }\n a.Vb = g;\n }\n g = a.Ec;\n h = a.Fc;\n a.Ac = g;\n a.Bc = h;\n h += d;\n a.Gd = wa(l, Ic);\n a.Hd = 0;\n a.rb = wa(m + 1, Hc);\n a.sb = 1;\n a.wa = n ? wa(n, Xa) : null;\n a.Y = 0;\n a.D.Nb = 0;\n a.D.wa = a.wa;\n a.D.Y = a.Y;\n 0 < a.Aa && (a.D.Y += k);\n x(!0);\n a.oc = g;\n a.pc = h;\n h += 832;\n a.ya = wa(r, Kb);\n a.aa = 0;\n a.D.ya = a.ya;\n a.D.aa = a.aa;\n 2 == a.Aa && (a.D.aa += k);\n a.R = 16 * k;\n a.B = 8 * k;\n l = Ya[a.L];\n k = l * a.R;\n l = (l / 2) * a.B;\n a.sa = g;\n a.ta = h + k;\n a.qa = a.sa;\n a.ra = a.ta + 16 * c * a.R + l;\n a.Ha = a.qa;\n a.Ia = a.ra + 8 * c * a.B + l;\n a.$c = 0;\n h += e;\n a.mb = f ? g : null;\n a.nb = f ? h : null;\n x(h + f <= a.Fc + a.Vb);\n Lc(a);\n M(a.Ac, a.Bc, 0, d);\n c = 1;\n }\n }\n if (c) {\n b.ka = 0;\n b.y = a.sa;\n b.O = a.ta;\n b.f = a.qa;\n b.N = a.ra;\n b.ea = a.Ha;\n b.Vd = a.Ia;\n b.fa = a.R;\n b.Rc = a.B;\n b.F = null;\n b.J = 0;\n if (!ad) {\n for (c = -255; 255 >= c; ++c) bd[255 + c] = 0 > c ? -c : c;\n for (c = -1020; 1020 >= c; ++c)\n cd[1020 + c] = -128 > c ? -128 : 127 < c ? 127 : c;\n for (c = -112; 112 >= c; ++c)\n dd[112 + c] = -16 > c ? -16 : 15 < c ? 15 : c;\n for (c = -255; 510 >= c; ++c)\n ed[255 + c] = 0 > c ? 0 : 255 < c ? 255 : c;\n ad = 1;\n }\n Nc = Oe;\n Za = Pe;\n Nb = Qe;\n pa = Re;\n Ob = Se;\n fd = Te;\n Xc = Ue;\n Tc = Ve;\n Yc = We;\n Uc = Xe;\n Zc = Ye;\n Vc = Ze;\n $c = $e;\n Wc = af;\n Rc = gd;\n Pc = hd;\n Sc = bf;\n Qc = cf;\n W[0] = df;\n W[1] = ef;\n W[2] = ff;\n W[3] = gf;\n W[4] = hf;\n W[5] = jf;\n W[6] = kf;\n W[7] = lf;\n W[8] = mf;\n W[9] = nf;\n Y[0] = of;\n Y[1] = pf;\n Y[2] = qf;\n Y[3] = rf;\n Y[4] = sf;\n Y[5] = tf;\n Y[6] = uf;\n ka[0] = vf;\n ka[1] = wf;\n ka[2] = xf;\n ka[3] = yf;\n ka[4] = zf;\n ka[5] = Af;\n ka[6] = Bf;\n c = 1;\n } else c = 0;\n }\n c && (c = Je(a, b));\n null != b.bc && b.bc(b);\n c &= 1;\n }\n if (!c) return 0;\n a.cb = 0;\n return c;\n }\n function qa(a, b, c, d, e) {\n e = a[b + c + 32 * d] + (e >> 3);\n a[b + c + 32 * d] = e & -256 ? (0 > e ? 0 : 255) : e;\n }\n function kb(a, b, c, d, e, f) {\n qa(a, b, 0, c, d + e);\n qa(a, b, 1, c, d + f);\n qa(a, b, 2, c, d - f);\n qa(a, b, 3, c, d - e);\n }\n function da(a) {\n return ((20091 * a) >> 16) + a;\n }\n function id(a, b, c, d) {\n var e = 0,\n f;\n var g = V(16);\n for (f = 0; 4 > f; ++f) {\n var h = a[b + 0] + a[b + 8];\n var k = a[b + 0] - a[b + 8];\n var l = ((35468 * a[b + 4]) >> 16) - da(a[b + 12]);\n var m = da(a[b + 4]) + ((35468 * a[b + 12]) >> 16);\n g[e + 0] = h + m;\n g[e + 1] = k + l;\n g[e + 2] = k - l;\n g[e + 3] = h - m;\n e += 4;\n b++;\n }\n for (f = e = 0; 4 > f; ++f)\n (a = g[e + 0] + 4),\n (h = a + g[e + 8]),\n (k = a - g[e + 8]),\n (l = ((35468 * g[e + 4]) >> 16) - da(g[e + 12])),\n (m = da(g[e + 4]) + ((35468 * g[e + 12]) >> 16)),\n qa(c, d, 0, 0, h + m),\n qa(c, d, 1, 0, k + l),\n qa(c, d, 2, 0, k - l),\n qa(c, d, 3, 0, h - m),\n e++,\n (d += 32);\n }\n function Te(a, b, c, d) {\n var e = a[b + 0] + 4,\n f = (35468 * a[b + 4]) >> 16,\n g = da(a[b + 4]),\n h = (35468 * a[b + 1]) >> 16;\n a = da(a[b + 1]);\n kb(c, d, 0, e + g, a, h);\n kb(c, d, 1, e + f, a, h);\n kb(c, d, 2, e - f, a, h);\n kb(c, d, 3, e - g, a, h);\n }\n function Pe(a, b, c, d, e) {\n id(a, b, c, d);\n e && id(a, b + 16, c, d + 4);\n }\n function Qe(a, b, c, d) {\n Za(a, b + 0, c, d, 1);\n Za(a, b + 32, c, d + 128, 1);\n }\n function Re(a, b, c, d) {\n a = a[b + 0] + 4;\n var e;\n for (e = 0; 4 > e; ++e) for (b = 0; 4 > b; ++b) qa(c, d, b, e, a);\n }\n function Se(a, b, c, d) {\n a[b + 0] && pa(a, b + 0, c, d);\n a[b + 16] && pa(a, b + 16, c, d + 4);\n a[b + 32] && pa(a, b + 32, c, d + 128);\n a[b + 48] && pa(a, b + 48, c, d + 128 + 4);\n }\n function Oe(a, b, c, d) {\n var e = V(16),\n f;\n for (f = 0; 4 > f; ++f) {\n var g = a[b + 0 + f] + a[b + 12 + f];\n var h = a[b + 4 + f] + a[b + 8 + f];\n var k = a[b + 4 + f] - a[b + 8 + f];\n var l = a[b + 0 + f] - a[b + 12 + f];\n e[0 + f] = g + h;\n e[8 + f] = g - h;\n e[4 + f] = l + k;\n e[12 + f] = l - k;\n }\n for (f = 0; 4 > f; ++f)\n (a = e[0 + 4 * f] + 3),\n (g = a + e[3 + 4 * f]),\n (h = e[1 + 4 * f] + e[2 + 4 * f]),\n (k = e[1 + 4 * f] - e[2 + 4 * f]),\n (l = a - e[3 + 4 * f]),\n (c[d + 0] = (g + h) >> 3),\n (c[d + 16] = (l + k) >> 3),\n (c[d + 32] = (g - h) >> 3),\n (c[d + 48] = (l - k) >> 3),\n (d += 64);\n }\n function Pb(a, b, c) {\n var d = b - 32,\n e = R,\n f = 255 - a[d - 1],\n g;\n for (g = 0; g < c; ++g) {\n var h = e,\n k = f + a[b - 1],\n l;\n for (l = 0; l < c; ++l) a[b + l] = h[k + a[d + l]];\n b += 32;\n }\n }\n function ef(a, b) {\n Pb(a, b, 4);\n }\n function wf(a, b) {\n Pb(a, b, 8);\n }\n function pf(a, b) {\n Pb(a, b, 16);\n }\n function qf(a, b) {\n var c;\n for (c = 0; 16 > c; ++c) I(a, b + 32 * c, a, b - 32, 16);\n }\n function rf(a, b) {\n var c;\n for (c = 16; 0 < c; --c) M(a, b, a[b - 1], 16), (b += 32);\n }\n function $a(a, b, c) {\n var d;\n for (d = 0; 16 > d; ++d) M(b, c + 32 * d, a, 16);\n }\n function of(a, b) {\n var c = 16,\n d;\n for (d = 0; 16 > d; ++d) c += a[b - 1 + 32 * d] + a[b + d - 32];\n $a(c >> 5, a, b);\n }\n function sf(a, b) {\n var c = 8,\n d;\n for (d = 0; 16 > d; ++d) c += a[b - 1 + 32 * d];\n $a(c >> 4, a, b);\n }\n function tf(a, b) {\n var c = 8,\n d;\n for (d = 0; 16 > d; ++d) c += a[b + d - 32];\n $a(c >> 4, a, b);\n }\n function uf(a, b) {\n $a(128, a, b);\n }\n function z(a, b, c) {\n return (a + 2 * b + c + 2) >> 2;\n }\n function ff(a, b) {\n var c = b - 32,\n c = new Uint8Array([\n z(a[c - 1], a[c + 0], a[c + 1]),\n z(a[c + 0], a[c + 1], a[c + 2]),\n z(a[c + 1], a[c + 2], a[c + 3]),\n z(a[c + 2], a[c + 3], a[c + 4])\n ]),\n d;\n for (d = 0; 4 > d; ++d) I(a, b + 32 * d, c, 0, c.length);\n }\n function gf(a, b) {\n var c = a[b - 1],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96];\n ra(a, b + 0, 16843009 * z(a[b - 1 - 32], c, d));\n ra(a, b + 32, 16843009 * z(c, d, e));\n ra(a, b + 64, 16843009 * z(d, e, f));\n ra(a, b + 96, 16843009 * z(e, f, f));\n }\n function df(a, b) {\n var c = 4,\n d;\n for (d = 0; 4 > d; ++d) c += a[b + d - 32] + a[b - 1 + 32 * d];\n c >>= 3;\n for (d = 0; 4 > d; ++d) M(a, b + 32 * d, c, 4);\n }\n function hf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 - 32],\n g = a[b + 0 - 32],\n h = a[b + 1 - 32],\n k = a[b + 2 - 32],\n l = a[b + 3 - 32];\n a[b + 0 + 96] = z(d, e, a[b - 1 + 96]);\n a[b + 1 + 96] = a[b + 0 + 64] = z(c, d, e);\n a[b + 2 + 96] = a[b + 1 + 64] = a[b + 0 + 32] = z(f, c, d);\n a[b + 3 + 96] = a[b + 2 + 64] = a[b + 1 + 32] = a[b + 0 + 0] = z(g, f, c);\n a[b + 3 + 64] = a[b + 2 + 32] = a[b + 1 + 0] = z(h, g, f);\n a[b + 3 + 32] = a[b + 2 + 0] = z(k, h, g);\n a[b + 3 + 0] = z(l, k, h);\n }\n function kf(a, b) {\n var c = a[b + 1 - 32],\n d = a[b + 2 - 32],\n e = a[b + 3 - 32],\n f = a[b + 4 - 32],\n g = a[b + 5 - 32],\n h = a[b + 6 - 32],\n k = a[b + 7 - 32];\n a[b + 0 + 0] = z(a[b + 0 - 32], c, d);\n a[b + 1 + 0] = a[b + 0 + 32] = z(c, d, e);\n a[b + 2 + 0] = a[b + 1 + 32] = a[b + 0 + 64] = z(d, e, f);\n a[b + 3 + 0] = a[b + 2 + 32] = a[b + 1 + 64] = a[b + 0 + 96] = z(e, f, g);\n a[b + 3 + 32] = a[b + 2 + 64] = a[b + 1 + 96] = z(f, g, h);\n a[b + 3 + 64] = a[b + 2 + 96] = z(g, h, k);\n a[b + 3 + 96] = z(h, k, k);\n }\n function jf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 - 32],\n g = a[b + 0 - 32],\n h = a[b + 1 - 32],\n k = a[b + 2 - 32],\n l = a[b + 3 - 32];\n a[b + 0 + 0] = a[b + 1 + 64] = (f + g + 1) >> 1;\n a[b + 1 + 0] = a[b + 2 + 64] = (g + h + 1) >> 1;\n a[b + 2 + 0] = a[b + 3 + 64] = (h + k + 1) >> 1;\n a[b + 3 + 0] = (k + l + 1) >> 1;\n a[b + 0 + 96] = z(e, d, c);\n a[b + 0 + 64] = z(d, c, f);\n a[b + 0 + 32] = a[b + 1 + 96] = z(c, f, g);\n a[b + 1 + 32] = a[b + 2 + 96] = z(f, g, h);\n a[b + 2 + 32] = a[b + 3 + 96] = z(g, h, k);\n a[b + 3 + 32] = z(h, k, l);\n }\n function lf(a, b) {\n var c = a[b + 0 - 32],\n d = a[b + 1 - 32],\n e = a[b + 2 - 32],\n f = a[b + 3 - 32],\n g = a[b + 4 - 32],\n h = a[b + 5 - 32],\n k = a[b + 6 - 32],\n l = a[b + 7 - 32];\n a[b + 0 + 0] = (c + d + 1) >> 1;\n a[b + 1 + 0] = a[b + 0 + 64] = (d + e + 1) >> 1;\n a[b + 2 + 0] = a[b + 1 + 64] = (e + f + 1) >> 1;\n a[b + 3 + 0] = a[b + 2 + 64] = (f + g + 1) >> 1;\n a[b + 0 + 32] = z(c, d, e);\n a[b + 1 + 32] = a[b + 0 + 96] = z(d, e, f);\n a[b + 2 + 32] = a[b + 1 + 96] = z(e, f, g);\n a[b + 3 + 32] = a[b + 2 + 96] = z(f, g, h);\n a[b + 3 + 64] = z(g, h, k);\n a[b + 3 + 96] = z(h, k, l);\n }\n function nf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96];\n a[b + 0 + 0] = (c + d + 1) >> 1;\n a[b + 2 + 0] = a[b + 0 + 32] = (d + e + 1) >> 1;\n a[b + 2 + 32] = a[b + 0 + 64] = (e + f + 1) >> 1;\n a[b + 1 + 0] = z(c, d, e);\n a[b + 3 + 0] = a[b + 1 + 32] = z(d, e, f);\n a[b + 3 + 32] = a[b + 1 + 64] = z(e, f, f);\n a[b + 3 + 64] = a[b + 2 + 64] = a[b + 0 + 96] = a[b + 1 + 96] = a[\n b + 2 + 96\n ] = a[b + 3 + 96] = f;\n }\n function mf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96],\n g = a[b - 1 - 32],\n h = a[b + 0 - 32],\n k = a[b + 1 - 32],\n l = a[b + 2 - 32];\n a[b + 0 + 0] = a[b + 2 + 32] = (c + g + 1) >> 1;\n a[b + 0 + 32] = a[b + 2 + 64] = (d + c + 1) >> 1;\n a[b + 0 + 64] = a[b + 2 + 96] = (e + d + 1) >> 1;\n a[b + 0 + 96] = (f + e + 1) >> 1;\n a[b + 3 + 0] = z(h, k, l);\n a[b + 2 + 0] = z(g, h, k);\n a[b + 1 + 0] = a[b + 3 + 32] = z(c, g, h);\n a[b + 1 + 32] = a[b + 3 + 64] = z(d, c, g);\n a[b + 1 + 64] = a[b + 3 + 96] = z(e, d, c);\n a[b + 1 + 96] = z(f, e, d);\n }\n function xf(a, b) {\n var c;\n for (c = 0; 8 > c; ++c) I(a, b + 32 * c, a, b - 32, 8);\n }\n function yf(a, b) {\n var c;\n for (c = 0; 8 > c; ++c) M(a, b, a[b - 1], 8), (b += 32);\n }\n function lb(a, b, c) {\n var d;\n for (d = 0; 8 > d; ++d) M(b, c + 32 * d, a, 8);\n }\n function vf(a, b) {\n var c = 8,\n d;\n for (d = 0; 8 > d; ++d) c += a[b + d - 32] + a[b - 1 + 32 * d];\n lb(c >> 4, a, b);\n }\n function Af(a, b) {\n var c = 4,\n d;\n for (d = 0; 8 > d; ++d) c += a[b + d - 32];\n lb(c >> 3, a, b);\n }\n function zf(a, b) {\n var c = 4,\n d;\n for (d = 0; 8 > d; ++d) c += a[b - 1 + 32 * d];\n lb(c >> 3, a, b);\n }\n function Bf(a, b) {\n lb(128, a, b);\n }\n function ab(a, b, c) {\n var d = a[b - c],\n e = a[b + 0],\n f = 3 * (e - d) + Qb[1020 + a[b - 2 * c] - a[b + c]],\n g = mb[112 + ((f + 4) >> 3)];\n a[b - c] = R[255 + d + mb[112 + ((f + 3) >> 3)]];\n a[b + 0] = R[255 + e - g];\n }\n function jd(a, b, c, d) {\n var e = a[b + 0],\n f = a[b + c];\n return U[255 + a[b - 2 * c] - a[b - c]] > d || U[255 + f - e] > d;\n }\n function kd(a, b, c, d) {\n return (\n 4 * U[255 + a[b - c] - a[b + 0]] + U[255 + a[b - 2 * c] - a[b + c]] <= d\n );\n }\n function ld(a, b, c, d, e) {\n var f = a[b - 3 * c],\n g = a[b - 2 * c],\n h = a[b - c],\n k = a[b + 0],\n l = a[b + c],\n m = a[b + 2 * c],\n n = a[b + 3 * c];\n return 4 * U[255 + h - k] + U[255 + g - l] > d\n ? 0\n : U[255 + a[b - 4 * c] - f] <= e &&\n U[255 + f - g] <= e &&\n U[255 + g - h] <= e &&\n U[255 + n - m] <= e &&\n U[255 + m - l] <= e &&\n U[255 + l - k] <= e;\n }\n function gd(a, b, c, d) {\n var e = 2 * d + 1;\n for (d = 0; 16 > d; ++d) kd(a, b + d, c, e) && ab(a, b + d, c);\n }\n function hd(a, b, c, d) {\n var e = 2 * d + 1;\n for (d = 0; 16 > d; ++d) kd(a, b + d * c, 1, e) && ab(a, b + d * c, 1);\n }\n function bf(a, b, c, d) {\n var e;\n for (e = 3; 0 < e; --e) (b += 4 * c), gd(a, b, c, d);\n }\n function cf(a, b, c, d) {\n var e;\n for (e = 3; 0 < e; --e) (b += 4), hd(a, b, c, d);\n }\n function ea(a, b, c, d, e, f, g, h) {\n for (f = 2 * f + 1; 0 < e--; ) {\n if (ld(a, b, c, f, g))\n if (jd(a, b, c, h)) ab(a, b, c);\n else {\n var k = a,\n l = b,\n m = c,\n n = k[l - 2 * m],\n r = k[l - m],\n q = k[l + 0],\n t = k[l + m],\n v = k[l + 2 * m],\n p = Qb[1020 + 3 * (q - r) + Qb[1020 + n - t]],\n u = (27 * p + 63) >> 7,\n w = (18 * p + 63) >> 7,\n p = (9 * p + 63) >> 7;\n k[l - 3 * m] = R[255 + k[l - 3 * m] + p];\n k[l - 2 * m] = R[255 + n + w];\n k[l - m] = R[255 + r + u];\n k[l + 0] = R[255 + q - u];\n k[l + m] = R[255 + t - w];\n k[l + 2 * m] = R[255 + v - p];\n }\n b += d;\n }\n }\n function Fa(a, b, c, d, e, f, g, h) {\n for (f = 2 * f + 1; 0 < e--; ) {\n if (ld(a, b, c, f, g))\n if (jd(a, b, c, h)) ab(a, b, c);\n else {\n var k = a,\n l = b,\n m = c,\n n = k[l - m],\n r = k[l + 0],\n q = k[l + m],\n t = 3 * (r - n),\n v = mb[112 + ((t + 4) >> 3)],\n t = mb[112 + ((t + 3) >> 3)],\n p = (v + 1) >> 1;\n k[l - 2 * m] = R[255 + k[l - 2 * m] + p];\n k[l - m] = R[255 + n + t];\n k[l + 0] = R[255 + r - v];\n k[l + m] = R[255 + q - p];\n }\n b += d;\n }\n }\n function Ue(a, b, c, d, e, f) {\n ea(a, b, c, 1, 16, d, e, f);\n }\n function Ve(a, b, c, d, e, f) {\n ea(a, b, 1, c, 16, d, e, f);\n }\n function Ye(a, b, c, d, e, f) {\n var g;\n for (g = 3; 0 < g; --g) (b += 4 * c), Fa(a, b, c, 1, 16, d, e, f);\n }\n function Ze(a, b, c, d, e, f) {\n var g;\n for (g = 3; 0 < g; --g) (b += 4), Fa(a, b, 1, c, 16, d, e, f);\n }\n function We(a, b, c, d, e, f, g, h) {\n ea(a, b, e, 1, 8, f, g, h);\n ea(c, d, e, 1, 8, f, g, h);\n }\n function Xe(a, b, c, d, e, f, g, h) {\n ea(a, b, 1, e, 8, f, g, h);\n ea(c, d, 1, e, 8, f, g, h);\n }\n function $e(a, b, c, d, e, f, g, h) {\n Fa(a, b + 4 * e, e, 1, 8, f, g, h);\n Fa(c, d + 4 * e, e, 1, 8, f, g, h);\n }\n function af(a, b, c, d, e, f, g, h) {\n Fa(a, b + 4, 1, e, 8, f, g, h);\n Fa(c, d + 4, 1, e, 8, f, g, h);\n }\n function Cf() {\n this.ba = new Cb();\n this.ec = [];\n this.cc = [];\n this.Mc = [];\n this.Dc = this.Nc = this.dc = this.fc = 0;\n this.Oa = new Ud();\n this.memory = 0;\n this.Ib = \"OutputFunc\";\n this.Jb = \"OutputAlphaFunc\";\n this.Nd = \"OutputRowFunc\";\n }\n function md() {\n this.data = [];\n this.offset = this.kd = this.ha = this.w = 0;\n this.na = [];\n this.xa = this.gb = this.Ja = this.Sa = this.P = 0;\n }\n function Df() {\n this.nc = this.Ea = this.b = this.hc = 0;\n this.K = [];\n this.w = 0;\n }\n function Ef() {\n this.ua = 0;\n this.Wa = new ac();\n this.vb = new ac();\n this.md = this.xc = this.wc = 0;\n this.vc = [];\n this.Wb = 0;\n this.Ya = new Ub();\n this.yc = new O();\n }\n function je() {\n this.xb = this.a = 0;\n this.l = new Oa();\n this.ca = new Cb();\n this.V = [];\n this.Ba = 0;\n this.Ta = [];\n this.Ua = 0;\n this.m = new Ra();\n this.Pb = 0;\n this.wd = new Ra();\n this.Ma = this.$ = this.C = this.i = this.c = this.xd = 0;\n this.s = new Ef();\n this.ab = 0;\n this.gc = wa(4, Df);\n this.Oc = 0;\n }\n function Ff() {\n this.Lc = this.Z = this.$a = this.i = this.c = 0;\n this.l = new Oa();\n this.ic = 0;\n this.ca = [];\n this.tb = 0;\n this.qd = null;\n this.rd = 0;\n }\n function Rb(a, b, c, d, e, f, g) {\n a = null == a ? 0 : a[b + 0];\n for (b = 0; b < g; ++b) (e[f + b] = (a + c[d + b]) & 255), (a = e[f + b]);\n }\n function Gf(a, b, c, d, e, f, g) {\n if (null == a) Rb(null, null, c, d, e, f, g);\n else {\n var h;\n for (h = 0; h < g; ++h) e[f + h] = (a[b + h] + c[d + h]) & 255;\n }\n }\n function Hf(a, b, c, d, e, f, g) {\n if (null == a) Rb(null, null, c, d, e, f, g);\n else {\n var h = a[b + 0],\n k = h,\n l = h,\n m;\n for (m = 0; m < g; ++m)\n (h = a[b + m]),\n (k = l + h - k),\n (l = (c[d + m] + (k & -256 ? (0 > k ? 0 : 255) : k)) & 255),\n (k = h),\n (e[f + m] = l);\n }\n }\n function Le(a, b, c, d) {\n var e = b.width,\n f = b.o;\n x(null != a && null != b);\n if (0 > c || 0 >= d || c + d > f) return null;\n if (!a.Cc) {\n if (null == a.ga) {\n a.ga = new Ff();\n var g;\n (g = null == a.ga) ||\n ((g = b.width * b.o),\n x(0 == a.Gb.length),\n (a.Gb = V(g)),\n (a.Uc = 0),\n null == a.Gb\n ? (g = 0)\n : ((a.mb = a.Gb), (a.nb = a.Uc), (a.rc = null), (g = 1)),\n (g = !g));\n if (!g) {\n g = a.ga;\n var h = a.Fa,\n k = a.P,\n l = a.qc,\n m = a.mb,\n n = a.nb,\n r = k + 1,\n q = l - 1,\n t = g.l;\n x(null != h && null != m && null != b);\n ia[0] = null;\n ia[1] = Rb;\n ia[2] = Gf;\n ia[3] = Hf;\n g.ca = m;\n g.tb = n;\n g.c = b.width;\n g.i = b.height;\n x(0 < g.c && 0 < g.i);\n if (1 >= l) b = 0;\n else if (\n ((g.$a = (h[k + 0] >> 0) & 3),\n (g.Z = (h[k + 0] >> 2) & 3),\n (g.Lc = (h[k + 0] >> 4) & 3),\n (k = (h[k + 0] >> 6) & 3),\n 0 > g.$a || 1 < g.$a || 4 <= g.Z || 1 < g.Lc || k)\n )\n b = 0;\n else if (\n ((t.put = kc),\n (t.ac = gc),\n (t.bc = lc),\n (t.ma = g),\n (t.width = b.width),\n (t.height = b.height),\n (t.Da = b.Da),\n (t.v = b.v),\n (t.va = b.va),\n (t.j = b.j),\n (t.o = b.o),\n g.$a)\n )\n b: {\n x(1 == g.$a), (b = Bc());\n c: for (;;) {\n if (null == b) {\n b = 0;\n break b;\n }\n x(null != g);\n g.mc = b;\n b.c = g.c;\n b.i = g.i;\n b.l = g.l;\n b.l.ma = g;\n b.l.width = g.c;\n b.l.height = g.i;\n b.a = 0;\n cb(b.m, h, r, q);\n if (!rb(g.c, g.i, 1, b, null)) break c;\n 1 == b.ab && 3 == b.gc[0].hc && yc(b.s)\n ? ((g.ic = 1),\n (h = b.c * b.i),\n (b.Ta = null),\n (b.Ua = 0),\n (b.V = V(h)),\n (b.Ba = 0),\n null == b.V ? ((b.a = 1), (b = 0)) : (b = 1))\n : ((g.ic = 0), (b = Ec(b, g.c)));\n if (!b) break c;\n b = 1;\n break b;\n }\n g.mc = null;\n b = 0;\n }\n else b = q >= g.c * g.i;\n g = !b;\n }\n if (g) return null;\n 1 != a.ga.Lc ? (a.Ga = 0) : (d = f - c);\n }\n x(null != a.ga);\n x(c + d <= f);\n a: {\n h = a.ga;\n b = h.c;\n f = h.l.o;\n if (0 == h.$a) {\n r = a.rc;\n q = a.Vc;\n t = a.Fa;\n k = a.P + 1 + c * b;\n l = a.mb;\n m = a.nb + c * b;\n x(k <= a.P + a.qc);\n if (0 != h.Z)\n for (x(null != ia[h.Z]), g = 0; g < d; ++g)\n ia[h.Z](r, q, t, k, l, m, b),\n (r = l),\n (q = m),\n (m += b),\n (k += b);\n else\n for (g = 0; g < d; ++g)\n I(l, m, t, k, b), (r = l), (q = m), (m += b), (k += b);\n a.rc = r;\n a.Vc = q;\n } else {\n x(null != h.mc);\n b = c + d;\n g = h.mc;\n x(null != g);\n x(b <= g.i);\n if (g.C >= b) b = 1;\n else if ((h.ic || Aa(), h.ic)) {\n var h = g.V,\n r = g.Ba,\n q = g.c,\n v = g.i,\n t = 1,\n k = g.$ / q,\n l = g.$ % q,\n m = g.m,\n n = g.s,\n p = g.$,\n u = q * v,\n w = q * b,\n y = n.wc,\n A = p < w ? ha(n, l, k) : null;\n x(p <= u);\n x(b <= v);\n x(yc(n));\n c: for (;;) {\n for (; !m.h && p < w; ) {\n l & y || (A = ha(n, l, k));\n x(null != A);\n Sa(m);\n v = ua(A.G[0], A.H[0], m);\n if (256 > v)\n (h[r + p] = v),\n ++p,\n ++l,\n l >= q && ((l = 0), ++k, k <= b && !(k % 16) && Ib(g, k));\n else if (280 > v) {\n var v = ib(v - 256, m);\n var E = ua(A.G[4], A.H[4], m);\n Sa(m);\n E = ib(E, m);\n E = nc(q, E);\n if (p >= E && u - p >= v) {\n var B;\n for (B = 0; B < v; ++B) h[r + p + B] = h[r + p + B - E];\n } else {\n t = 0;\n break c;\n }\n p += v;\n for (l += v; l >= q; )\n (l -= q), ++k, k <= b && !(k % 16) && Ib(g, k);\n p < w && l & y && (A = ha(n, l, k));\n } else {\n t = 0;\n break c;\n }\n x(m.h == db(m));\n }\n Ib(g, k > b ? b : k);\n break c;\n }\n !t || (m.h && p < u) ? ((t = 0), (g.a = m.h ? 5 : 3)) : (g.$ = p);\n b = t;\n } else b = Jb(g, g.V, g.Ba, g.c, g.i, b, se);\n if (!b) {\n d = 0;\n break a;\n }\n }\n c + d >= f && (a.Cc = 1);\n d = 1;\n }\n if (!d) return null;\n if (\n a.Cc &&\n ((d = a.ga), null != d && (d.mc = null), (a.ga = null), 0 < a.Ga)\n )\n return alert(\"todo:WebPDequantizeLevels\"), null;\n }\n return a.nb + c * e;\n }\n function If(a, b, c, d, e, f) {\n for (; 0 < e--; ) {\n var g = a,\n h = b + (c ? 1 : 0),\n k = a,\n l = b + (c ? 0 : 3),\n m;\n for (m = 0; m < d; ++m) {\n var n = k[l + 4 * m];\n 255 != n &&\n ((n *= 32897),\n (g[h + 4 * m + 0] = (g[h + 4 * m + 0] * n) >> 23),\n (g[h + 4 * m + 1] = (g[h + 4 * m + 1] * n) >> 23),\n (g[h + 4 * m + 2] = (g[h + 4 * m + 2] * n) >> 23));\n }\n b += f;\n }\n }\n function Jf(a, b, c, d, e) {\n for (; 0 < d--; ) {\n var f;\n for (f = 0; f < c; ++f) {\n var g = a[b + 2 * f + 0],\n h = a[b + 2 * f + 1],\n k = h & 15,\n l = 4369 * k,\n h = (((h & 240) | (h >> 4)) * l) >> 16;\n a[b + 2 * f + 0] =\n (((((g & 240) | (g >> 4)) * l) >> 16) & 240) |\n ((((((g & 15) | (g << 4)) * l) >> 16) >> 4) & 15);\n a[b + 2 * f + 1] = (h & 240) | k;\n }\n b += e;\n }\n }\n function Kf(a, b, c, d, e, f, g, h) {\n var k = 255,\n l,\n m;\n for (m = 0; m < e; ++m) {\n for (l = 0; l < d; ++l) {\n var n = a[b + l];\n f[g + 4 * l] = n;\n k &= n;\n }\n b += c;\n g += h;\n }\n return 255 != k;\n }\n function Lf(a, b, c, d, e) {\n var f;\n for (f = 0; f < e; ++f) c[d + f] = a[b + f] >> 8;\n }\n function Aa() {\n za = If;\n vc = Jf;\n fc = Kf;\n Fc = Lf;\n }\n function va(a, b, c) {\n self[a] = function(a, e, f, g, h, k, l, m, n, r, q, t, v, p, u, w, y) {\n var d,\n E = (y - 1) >> 1;\n var B = h[k + 0] | (l[m + 0] << 16);\n var C = n[r + 0] | (q[t + 0] << 16);\n x(null != a);\n var z = (3 * B + C + 131074) >> 2;\n b(a[e + 0], z & 255, z >> 16, v, p);\n null != f &&\n ((z = (3 * C + B + 131074) >> 2),\n b(f[g + 0], z & 255, z >> 16, u, w));\n for (d = 1; d <= E; ++d) {\n var D = h[k + d] | (l[m + d] << 16);\n var G = n[r + d] | (q[t + d] << 16);\n var F = B + D + C + G + 524296;\n var H = (F + 2 * (D + C)) >> 3;\n F = (F + 2 * (B + G)) >> 3;\n z = (H + B) >> 1;\n B = (F + D) >> 1;\n b(a[e + 2 * d - 1], z & 255, z >> 16, v, p + (2 * d - 1) * c);\n b(a[e + 2 * d - 0], B & 255, B >> 16, v, p + (2 * d - 0) * c);\n null != f &&\n ((z = (F + C) >> 1),\n (B = (H + G) >> 1),\n b(f[g + 2 * d - 1], z & 255, z >> 16, u, w + (2 * d - 1) * c),\n b(f[g + 2 * d + 0], B & 255, B >> 16, u, w + (2 * d + 0) * c));\n B = D;\n C = G;\n }\n y & 1 ||\n ((z = (3 * B + C + 131074) >> 2),\n b(a[e + y - 1], z & 255, z >> 16, v, p + (y - 1) * c),\n null != f &&\n ((z = (3 * C + B + 131074) >> 2),\n b(f[g + y - 1], z & 255, z >> 16, u, w + (y - 1) * c)));\n };\n }\n function ic() {\n P[Ca] = Mf;\n P[Ua] = nd;\n P[tc] = Nf;\n P[Va] = od;\n P[ya] = pd;\n P[Db] = qd;\n P[wc] = Of;\n P[zb] = nd;\n P[Ab] = od;\n P[Ja] = pd;\n P[Bb] = qd;\n }\n function Sb(a) {\n return a & ~Pf ? (0 > a ? 0 : 255) : a >> rd;\n }\n function bb(a, b) {\n return Sb(((19077 * a) >> 8) + ((26149 * b) >> 8) - 14234);\n }\n function nb(a, b, c) {\n return Sb(\n ((19077 * a) >> 8) - ((6419 * b) >> 8) - ((13320 * c) >> 8) + 8708\n );\n }\n function Pa(a, b) {\n return Sb(((19077 * a) >> 8) + ((33050 * b) >> 8) - 17685);\n }\n function Ga(a, b, c, d, e) {\n d[e + 0] = bb(a, c);\n d[e + 1] = nb(a, b, c);\n d[e + 2] = Pa(a, b);\n }\n function Tb(a, b, c, d, e) {\n d[e + 0] = Pa(a, b);\n d[e + 1] = nb(a, b, c);\n d[e + 2] = bb(a, c);\n }\n function sd(a, b, c, d, e) {\n var f = nb(a, b, c);\n b = ((f << 3) & 224) | (Pa(a, b) >> 3);\n d[e + 0] = (bb(a, c) & 248) | (f >> 5);\n d[e + 1] = b;\n }\n function td(a, b, c, d, e) {\n var f = (Pa(a, b) & 240) | 15;\n d[e + 0] = (bb(a, c) & 240) | (nb(a, b, c) >> 4);\n d[e + 1] = f;\n }\n function ud(a, b, c, d, e) {\n d[e + 0] = 255;\n Ga(a, b, c, d, e + 1);\n }\n function vd(a, b, c, d, e) {\n Tb(a, b, c, d, e);\n d[e + 3] = 255;\n }\n function wd(a, b, c, d, e) {\n Ga(a, b, c, d, e);\n d[e + 3] = 255;\n }\n function ga(a, b) {\n return 0 > a ? 0 : a > b ? b : a;\n }\n function la(a, b, c) {\n self[a] = function(a, e, f, g, h, k, l, m, n) {\n for (var d = m + (n & -2) * c; m != d; )\n b(a[e + 0], f[g + 0], h[k + 0], l, m),\n b(a[e + 1], f[g + 0], h[k + 0], l, m + c),\n (e += 2),\n ++g,\n ++k,\n (m += 2 * c);\n n & 1 && b(a[e + 0], f[g + 0], h[k + 0], l, m);\n };\n }\n function xd(a, b, c) {\n return 0 == c ? (0 == a ? (0 == b ? 6 : 5) : 0 == b ? 4 : 0) : c;\n }\n function yd(a, b, c, d, e) {\n switch (a >>> 30) {\n case 3:\n Za(b, c, d, e, 0);\n break;\n case 2:\n fd(b, c, d, e);\n break;\n case 1:\n pa(b, c, d, e);\n }\n }\n function Oc(a, b) {\n var c,\n d,\n e = b.M,\n f = b.Nb,\n g = a.oc,\n h = a.pc + 40,\n k = a.oc,\n l = a.pc + 584,\n m = a.oc,\n n = a.pc + 600;\n for (c = 0; 16 > c; ++c) g[h + 32 * c - 1] = 129;\n for (c = 0; 8 > c; ++c)\n (k[l + 32 * c - 1] = 129), (m[n + 32 * c - 1] = 129);\n 0 < e\n ? (g[h - 1 - 32] = k[l - 1 - 32] = m[n - 1 - 32] = 129)\n : (M(g, h - 32 - 1, 127, 21),\n M(k, l - 32 - 1, 127, 9),\n M(m, n - 32 - 1, 127, 9));\n for (d = 0; d < a.za; ++d) {\n var r = b.ya[b.aa + d];\n if (0 < d) {\n for (c = -1; 16 > c; ++c) I(g, h + 32 * c - 4, g, h + 32 * c + 12, 4);\n for (c = -1; 8 > c; ++c)\n I(k, l + 32 * c - 4, k, l + 32 * c + 4, 4),\n I(m, n + 32 * c - 4, m, n + 32 * c + 4, 4);\n }\n var q = a.Gd,\n t = a.Hd + d,\n v = r.ad,\n p = r.Hc;\n 0 < e &&\n (I(g, h - 32, q[t].y, 0, 16),\n I(k, l - 32, q[t].f, 0, 8),\n I(m, n - 32, q[t].ea, 0, 8));\n if (r.Za) {\n var u = g;\n var w = h - 32 + 16;\n 0 < e &&\n (d >= a.za - 1\n ? M(u, w, q[t].y[15], 4)\n : I(u, w, q[t + 1].y, 0, 4));\n for (c = 0; 4 > c; c++)\n u[w + 128 + c] = u[w + 256 + c] = u[w + 384 + c] = u[w + 0 + c];\n for (c = 0; 16 > c; ++c, p <<= 2)\n (u = g), (w = h + zd[c]), W[r.Ob[c]](u, w), yd(p, v, 16 * +c, u, w);\n } else if (((u = xd(d, e, r.Ob[0])), Y[u](g, h), 0 != p))\n for (c = 0; 16 > c; ++c, p <<= 2) yd(p, v, 16 * +c, g, h + zd[c]);\n c = r.Gc;\n u = xd(d, e, r.Dd);\n ka[u](k, l);\n ka[u](m, n);\n r = c >> 0;\n p = v;\n u = k;\n w = l;\n r & 255 && (r & 170 ? Nb(p, 256, u, w) : Ob(p, 256, u, w));\n c >>= 8;\n r = m;\n p = n;\n c & 255 && (c & 170 ? Nb(v, 320, r, p) : Ob(v, 320, r, p));\n e < a.Ub - 1 &&\n (I(q[t].y, 0, g, h + 480, 16),\n I(q[t].f, 0, k, l + 224, 8),\n I(q[t].ea, 0, m, n + 224, 8));\n c = 8 * f * a.B;\n q = a.sa;\n t = a.ta + 16 * d + 16 * f * a.R;\n v = a.qa;\n r = a.ra + 8 * d + c;\n p = a.Ha;\n u = a.Ia + 8 * d + c;\n for (c = 0; 16 > c; ++c) I(q, t + c * a.R, g, h + 32 * c, 16);\n for (c = 0; 8 > c; ++c)\n I(v, r + c * a.B, k, l + 32 * c, 8),\n I(p, u + c * a.B, m, n + 32 * c, 8);\n }\n }\n function Ad(a, b, c, d, e, f, g, h, k) {\n var l = [0],\n m = [0],\n n = 0,\n r = null != k ? k.kd : 0,\n q = null != k ? k : new md();\n if (null == a || 12 > c) return 7;\n q.data = a;\n q.w = b;\n q.ha = c;\n b = [b];\n c = [c];\n q.gb = [q.gb];\n a: {\n var t = b;\n var v = c;\n var p = q.gb;\n x(null != a);\n x(null != v);\n x(null != p);\n p[0] = 0;\n if (12 <= v[0] && !fa(a, t[0], \"RIFF\")) {\n if (fa(a, t[0] + 8, \"WEBP\")) {\n p = 3;\n break a;\n }\n var u = Ha(a, t[0] + 4);\n if (12 > u || 4294967286 < u) {\n p = 3;\n break a;\n }\n if (r && u > v[0] - 8) {\n p = 7;\n break a;\n }\n p[0] = u;\n t[0] += 12;\n v[0] -= 12;\n }\n p = 0;\n }\n if (0 != p) return p;\n u = 0 < q.gb[0];\n for (c = c[0]; ; ) {\n t = [0];\n n = [n];\n a: {\n var w = a;\n v = b;\n p = c;\n var y = n,\n A = l,\n z = m,\n B = t;\n y[0] = 0;\n if (8 > p[0]) p = 7;\n else {\n if (!fa(w, v[0], \"VP8X\")) {\n if (10 != Ha(w, v[0] + 4)) {\n p = 3;\n break a;\n }\n if (18 > p[0]) {\n p = 7;\n break a;\n }\n var C = Ha(w, v[0] + 8);\n var D = 1 + Yb(w, v[0] + 12);\n w = 1 + Yb(w, v[0] + 15);\n if (2147483648 <= D * w) {\n p = 3;\n break a;\n }\n null != B && (B[0] = C);\n null != A && (A[0] = D);\n null != z && (z[0] = w);\n v[0] += 18;\n p[0] -= 18;\n y[0] = 1;\n }\n p = 0;\n }\n }\n n = n[0];\n t = t[0];\n if (0 != p) return p;\n v = !!(t & 2);\n if (!u && n) return 3;\n null != f && (f[0] = !!(t & 16));\n null != g && (g[0] = v);\n null != h && (h[0] = 0);\n g = l[0];\n t = m[0];\n if (n && v && null == k) {\n p = 0;\n break;\n }\n if (4 > c) {\n p = 7;\n break;\n }\n if ((u && n) || (!u && !n && !fa(a, b[0], \"ALPH\"))) {\n c = [c];\n q.na = [q.na];\n q.P = [q.P];\n q.Sa = [q.Sa];\n a: {\n C = a;\n p = b;\n u = c;\n var y = q.gb,\n A = q.na,\n z = q.P,\n B = q.Sa;\n D = 22;\n x(null != C);\n x(null != u);\n w = p[0];\n var F = u[0];\n x(null != A);\n x(null != B);\n A[0] = null;\n z[0] = null;\n for (B[0] = 0; ; ) {\n p[0] = w;\n u[0] = F;\n if (8 > F) {\n p = 7;\n break a;\n }\n var G = Ha(C, w + 4);\n if (4294967286 < G) {\n p = 3;\n break a;\n }\n var H = (8 + G + 1) & -2;\n D += H;\n if (0 < y && D > y) {\n p = 3;\n break a;\n }\n if (!fa(C, w, \"VP8 \") || !fa(C, w, \"VP8L\")) {\n p = 0;\n break a;\n }\n if (F[0] < H) {\n p = 7;\n break a;\n }\n fa(C, w, \"ALPH\") || ((A[0] = C), (z[0] = w + 8), (B[0] = G));\n w += H;\n F -= H;\n }\n }\n c = c[0];\n q.na = q.na[0];\n q.P = q.P[0];\n q.Sa = q.Sa[0];\n if (0 != p) break;\n }\n c = [c];\n q.Ja = [q.Ja];\n q.xa = [q.xa];\n a: if (\n ((y = a),\n (p = b),\n (u = c),\n (A = q.gb[0]),\n (z = q.Ja),\n (B = q.xa),\n (C = p[0]),\n (w = !fa(y, C, \"VP8 \")),\n (D = !fa(y, C, \"VP8L\")),\n x(null != y),\n x(null != u),\n x(null != z),\n x(null != B),\n 8 > u[0])\n )\n p = 7;\n else {\n if (w || D) {\n y = Ha(y, C + 4);\n if (12 <= A && y > A - 12) {\n p = 3;\n break a;\n }\n if (r && y > u[0] - 8) {\n p = 7;\n break a;\n }\n z[0] = y;\n p[0] += 8;\n u[0] -= 8;\n B[0] = D;\n } else\n (B[0] = 5 <= u[0] && 47 == y[C + 0] && !(y[C + 4] >> 5)),\n (z[0] = u[0]);\n p = 0;\n }\n c = c[0];\n q.Ja = q.Ja[0];\n q.xa = q.xa[0];\n b = b[0];\n if (0 != p) break;\n if (4294967286 < q.Ja) return 3;\n null == h || v || (h[0] = q.xa ? 2 : 1);\n g = [g];\n t = [t];\n if (q.xa) {\n if (5 > c) {\n p = 7;\n break;\n }\n h = g;\n r = t;\n v = f;\n null == a || 5 > c\n ? (a = 0)\n : 5 <= c && 47 == a[b + 0] && !(a[b + 4] >> 5)\n ? ((u = [0]),\n (y = [0]),\n (A = [0]),\n (z = new Ra()),\n cb(z, a, b, c),\n mc(z, u, y, A)\n ? (null != h && (h[0] = u[0]),\n null != r && (r[0] = y[0]),\n null != v && (v[0] = A[0]),\n (a = 1))\n : (a = 0))\n : (a = 0);\n } else {\n if (10 > c) {\n p = 7;\n break;\n }\n h = t;\n null == a || 10 > c || !Jc(a, b + 3, c - 3)\n ? (a = 0)\n : ((r = a[b + 0] | (a[b + 1] << 8) | (a[b + 2] << 16)),\n (v = ((a[b + 7] << 8) | a[b + 6]) & 16383),\n (a = ((a[b + 9] << 8) | a[b + 8]) & 16383),\n r & 1 ||\n 3 < ((r >> 1) & 7) ||\n !((r >> 4) & 1) ||\n r >> 5 >= q.Ja ||\n !v ||\n !a\n ? (a = 0)\n : (g && (g[0] = v), h && (h[0] = a), (a = 1)));\n }\n if (!a) return 3;\n g = g[0];\n t = t[0];\n if (n && (l[0] != g || m[0] != t)) return 3;\n null != k &&\n ((k[0] = q),\n (k.offset = b - k.w),\n x(4294967286 > b - k.w),\n x(k.offset == k.ha - c));\n break;\n }\n return 0 == p || (7 == p && n && null == k)\n ? (null != f && (f[0] |= null != q.na && 0 < q.na.length),\n null != d && (d[0] = g),\n null != e && (e[0] = t),\n 0)\n : p;\n }\n function hc(a, b, c) {\n var d = b.width,\n e = b.height,\n f = 0,\n g = 0,\n h = d,\n k = e;\n b.Da = null != a && 0 < a.Da;\n if (\n b.Da &&\n ((h = a.cd),\n (k = a.bd),\n (f = a.v),\n (g = a.j),\n 11 > c || ((f &= -2), (g &= -2)),\n 0 > f || 0 > g || 0 >= h || 0 >= k || f + h > d || g + k > e)\n )\n return 0;\n b.v = f;\n b.j = g;\n b.va = f + h;\n b.o = g + k;\n b.U = h;\n b.T = k;\n b.da = null != a && 0 < a.da;\n if (b.da) {\n c = [a.ib];\n f = [a.hb];\n if (!bc(h, k, c, f)) return 0;\n b.ib = c[0];\n b.hb = f[0];\n }\n b.ob = null != a && a.ob;\n b.Kb = null == a || !a.Sd;\n b.da && ((b.ob = b.ib < (3 * d) / 4 && b.hb < (3 * e) / 4), (b.Kb = 0));\n return 1;\n }\n function Bd(a) {\n if (null == a) return 2;\n if (11 > a.S) {\n var b = a.f.RGBA;\n b.fb += (a.height - 1) * b.A;\n b.A = -b.A;\n } else\n (b = a.f.kb),\n (a = a.height),\n (b.O += (a - 1) * b.fa),\n (b.fa = -b.fa),\n (b.N += ((a - 1) >> 1) * b.Ab),\n (b.Ab = -b.Ab),\n (b.W += ((a - 1) >> 1) * b.Db),\n (b.Db = -b.Db),\n null != b.F && ((b.J += (a - 1) * b.lb), (b.lb = -b.lb));\n return 0;\n }\n function Cd(a, b, c, d) {\n if (null == d || 0 >= a || 0 >= b) return 2;\n if (null != c) {\n if (c.Da) {\n var e = c.cd,\n f = c.bd,\n g = c.v & -2,\n h = c.j & -2;\n if (0 > g || 0 > h || 0 >= e || 0 >= f || g + e > a || h + f > b)\n return 2;\n a = e;\n b = f;\n }\n if (c.da) {\n e = [c.ib];\n f = [c.hb];\n if (!bc(a, b, e, f)) return 2;\n a = e[0];\n b = f[0];\n }\n }\n d.width = a;\n d.height = b;\n a: {\n var k = d.width;\n var l = d.height;\n a = d.S;\n if (0 >= k || 0 >= l || !(a >= Ca && 13 > a)) a = 2;\n else {\n if (0 >= d.Rd && null == d.sd) {\n var g = (f = e = b = 0),\n h = k * Dd[a],\n m = h * l;\n 11 > a ||\n ((b = (k + 1) / 2),\n (f = ((l + 1) / 2) * b),\n 12 == a && ((e = k), (g = e * l)));\n l = V(m + 2 * f + g);\n if (null == l) {\n a = 1;\n break a;\n }\n d.sd = l;\n 11 > a\n ? ((k = d.f.RGBA),\n (k.eb = l),\n (k.fb = 0),\n (k.A = h),\n (k.size = m))\n : ((k = d.f.kb),\n (k.y = l),\n (k.O = 0),\n (k.fa = h),\n (k.Fd = m),\n (k.f = l),\n (k.N = 0 + m),\n (k.Ab = b),\n (k.Cd = f),\n (k.ea = l),\n (k.W = 0 + m + f),\n (k.Db = b),\n (k.Ed = f),\n 12 == a && ((k.F = l), (k.J = 0 + m + 2 * f)),\n (k.Tc = g),\n (k.lb = e));\n }\n b = 1;\n e = d.S;\n f = d.width;\n g = d.height;\n if (e >= Ca && 13 > e)\n if (11 > e)\n (a = d.f.RGBA),\n (h = Math.abs(a.A)),\n (b &= h * (g - 1) + f <= a.size),\n (b &= h >= f * Dd[e]),\n (b &= null != a.eb);\n else {\n a = d.f.kb;\n h = (f + 1) / 2;\n m = (g + 1) / 2;\n k = Math.abs(a.fa);\n var l = Math.abs(a.Ab),\n n = Math.abs(a.Db),\n r = Math.abs(a.lb),\n q = r * (g - 1) + f;\n b &= k * (g - 1) + f <= a.Fd;\n b &= l * (m - 1) + h <= a.Cd;\n b &= n * (m - 1) + h <= a.Ed;\n b = b & (k >= f) & (l >= h) & (n >= h);\n b &= null != a.y;\n b &= null != a.f;\n b &= null != a.ea;\n 12 == e && ((b &= r >= f), (b &= q <= a.Tc), (b &= null != a.F));\n }\n else b = 0;\n a = b ? 0 : 2;\n }\n }\n if (0 != a) return a;\n null != c && c.fd && (a = Bd(d));\n return a;\n }\n var xb = 64,\n Hd = [\n 0,\n 1,\n 3,\n 7,\n 15,\n 31,\n 63,\n 127,\n 255,\n 511,\n 1023,\n 2047,\n 4095,\n 8191,\n 16383,\n 32767,\n 65535,\n 131071,\n 262143,\n 524287,\n 1048575,\n 2097151,\n 4194303,\n 8388607,\n 16777215\n ],\n Gd = 24,\n ob = 32,\n Xb = 8,\n Id = [\n 0,\n 0,\n 1,\n 1,\n 2,\n 2,\n 2,\n 2,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7\n ];\n X(\"Predictor0\", \"PredictorAdd0\");\n self.Predictor0 = function() {\n return 4278190080;\n };\n self.Predictor1 = function(a) {\n return a;\n };\n self.Predictor2 = function(a, b, c) {\n return b[c + 0];\n };\n self.Predictor3 = function(a, b, c) {\n return b[c + 1];\n };\n self.Predictor4 = function(a, b, c) {\n return b[c - 1];\n };\n self.Predictor5 = function(a, b, c) {\n return aa(aa(a, b[c + 1]), b[c + 0]);\n };\n self.Predictor6 = function(a, b, c) {\n return aa(a, b[c - 1]);\n };\n self.Predictor7 = function(a, b, c) {\n return aa(a, b[c + 0]);\n };\n self.Predictor8 = function(a, b, c) {\n return aa(b[c - 1], b[c + 0]);\n };\n self.Predictor9 = function(a, b, c) {\n return aa(b[c + 0], b[c + 1]);\n };\n self.Predictor10 = function(a, b, c) {\n return aa(aa(a, b[c - 1]), aa(b[c + 0], b[c + 1]));\n };\n self.Predictor11 = function(a, b, c) {\n var d = b[c + 0];\n b = b[c - 1];\n return 0 >=\n Ia((d >> 24) & 255, (a >> 24) & 255, (b >> 24) & 255) +\n Ia((d >> 16) & 255, (a >> 16) & 255, (b >> 16) & 255) +\n Ia((d >> 8) & 255, (a >> 8) & 255, (b >> 8) & 255) +\n Ia(d & 255, a & 255, b & 255)\n ? d\n : a;\n };\n self.Predictor12 = function(a, b, c) {\n var d = b[c + 0];\n b = b[c - 1];\n return (\n ((sa(((a >> 24) & 255) + ((d >> 24) & 255) - ((b >> 24) & 255)) << 24) |\n (sa(((a >> 16) & 255) + ((d >> 16) & 255) - ((b >> 16) & 255)) <<\n 16) |\n (sa(((a >> 8) & 255) + ((d >> 8) & 255) - ((b >> 8) & 255)) << 8) |\n sa((a & 255) + (d & 255) - (b & 255))) >>>\n 0\n );\n };\n self.Predictor13 = function(a, b, c) {\n var d = b[c - 1];\n a = aa(a, b[c + 0]);\n return (\n ((eb((a >> 24) & 255, (d >> 24) & 255) << 24) |\n (eb((a >> 16) & 255, (d >> 16) & 255) << 16) |\n (eb((a >> 8) & 255, (d >> 8) & 255) << 8) |\n eb((a >> 0) & 255, (d >> 0) & 255)) >>>\n 0\n );\n };\n var ee = self.PredictorAdd0;\n self.PredictorAdd1 = cc;\n X(\"Predictor2\", \"PredictorAdd2\");\n X(\"Predictor3\", \"PredictorAdd3\");\n X(\"Predictor4\", \"PredictorAdd4\");\n X(\"Predictor5\", \"PredictorAdd5\");\n X(\"Predictor6\", \"PredictorAdd6\");\n X(\"Predictor7\", \"PredictorAdd7\");\n X(\"Predictor8\", \"PredictorAdd8\");\n X(\"Predictor9\", \"PredictorAdd9\");\n X(\"Predictor10\", \"PredictorAdd10\");\n X(\"Predictor11\", \"PredictorAdd11\");\n X(\"Predictor12\", \"PredictorAdd12\");\n X(\"Predictor13\", \"PredictorAdd13\");\n var fe = self.PredictorAdd2;\n ec(\n \"ColorIndexInverseTransform\",\n \"MapARGB\",\n \"32b\",\n function(a) {\n return (a >> 8) & 255;\n },\n function(a) {\n return a;\n }\n );\n ec(\n \"VP8LColorIndexInverseTransformAlpha\",\n \"MapAlpha\",\n \"8b\",\n function(a) {\n return a;\n },\n function(a) {\n return (a >> 8) & 255;\n }\n );\n var rc = self.ColorIndexInverseTransform,\n ke = self.MapARGB,\n he = self.VP8LColorIndexInverseTransformAlpha,\n le = self.MapAlpha,\n pc,\n qc = (self.VP8LPredictorsAdd = []);\n qc.length = 16;\n (self.VP8LPredictors = []).length = 16;\n (self.VP8LPredictorsAdd_C = []).length = 16;\n (self.VP8LPredictors_C = []).length = 16;\n var Fb,\n sc,\n Gb,\n Hb,\n xc,\n uc,\n bd = V(511),\n cd = V(2041),\n dd = V(225),\n ed = V(767),\n ad = 0,\n Qb = cd,\n mb = dd,\n R = ed,\n U = bd,\n Ca = 0,\n Ua = 1,\n tc = 2,\n Va = 3,\n ya = 4,\n Db = 5,\n wc = 6,\n zb = 7,\n Ab = 8,\n Ja = 9,\n Bb = 10,\n pe = [2, 3, 7],\n oe = [3, 3, 11],\n Dc = [280, 256, 256, 256, 40],\n qe = [0, 1, 1, 1, 0],\n ne = [17, 18, 0, 1, 2, 3, 4, 5, 16, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],\n de = [\n 24,\n 7,\n 23,\n 25,\n 40,\n 6,\n 39,\n 41,\n 22,\n 26,\n 38,\n 42,\n 56,\n 5,\n 55,\n 57,\n 21,\n 27,\n 54,\n 58,\n 37,\n 43,\n 72,\n 4,\n 71,\n 73,\n 20,\n 28,\n 53,\n 59,\n 70,\n 74,\n 36,\n 44,\n 88,\n 69,\n 75,\n 52,\n 60,\n 3,\n 87,\n 89,\n 19,\n 29,\n 86,\n 90,\n 35,\n 45,\n 68,\n 76,\n 85,\n 91,\n 51,\n 61,\n 104,\n 2,\n 103,\n 105,\n 18,\n 30,\n 102,\n 106,\n 34,\n 46,\n 84,\n 92,\n 67,\n 77,\n 101,\n 107,\n 50,\n 62,\n 120,\n 1,\n 119,\n 121,\n 83,\n 93,\n 17,\n 31,\n 100,\n 108,\n 66,\n 78,\n 118,\n 122,\n 33,\n 47,\n 117,\n 123,\n 49,\n 63,\n 99,\n 109,\n 82,\n 94,\n 0,\n 116,\n 124,\n 65,\n 79,\n 16,\n 32,\n 98,\n 110,\n 48,\n 115,\n 125,\n 81,\n 95,\n 64,\n 114,\n 126,\n 97,\n 111,\n 80,\n 113,\n 127,\n 96,\n 112\n ],\n me = [\n 2954,\n 2956,\n 2958,\n 2962,\n 2970,\n 2986,\n 3018,\n 3082,\n 3212,\n 3468,\n 3980,\n 5004\n ],\n ie = 8,\n Lb = [\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 17,\n 18,\n 19,\n 20,\n 20,\n 21,\n 21,\n 22,\n 22,\n 23,\n 23,\n 24,\n 25,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 43,\n 44,\n 45,\n 46,\n 46,\n 47,\n 48,\n 49,\n 50,\n 51,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 59,\n 60,\n 61,\n 62,\n 63,\n 64,\n 65,\n 66,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 75,\n 76,\n 76,\n 77,\n 78,\n 79,\n 80,\n 81,\n 82,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 91,\n 93,\n 95,\n 96,\n 98,\n 100,\n 101,\n 102,\n 104,\n 106,\n 108,\n 110,\n 112,\n 114,\n 116,\n 118,\n 122,\n 124,\n 126,\n 128,\n 130,\n 132,\n 134,\n 136,\n 138,\n 140,\n 143,\n 145,\n 148,\n 151,\n 154,\n 157\n ],\n Mb = [\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 18,\n 19,\n 20,\n 21,\n 22,\n 23,\n 24,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 43,\n 44,\n 45,\n 46,\n 47,\n 48,\n 49,\n 50,\n 51,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 60,\n 62,\n 64,\n 66,\n 68,\n 70,\n 72,\n 74,\n 76,\n 78,\n 80,\n 82,\n 84,\n 86,\n 88,\n 90,\n 92,\n 94,\n 96,\n 98,\n 100,\n 102,\n 104,\n 106,\n 108,\n 110,\n 112,\n 114,\n 116,\n 119,\n 122,\n 125,\n 128,\n 131,\n 134,\n 137,\n 140,\n 143,\n 146,\n 149,\n 152,\n 155,\n 158,\n 161,\n 164,\n 167,\n 170,\n 173,\n 177,\n 181,\n 185,\n 189,\n 193,\n 197,\n 201,\n 205,\n 209,\n 213,\n 217,\n 221,\n 225,\n 229,\n 234,\n 239,\n 245,\n 249,\n 254,\n 259,\n 264,\n 269,\n 274,\n 279,\n 284\n ],\n oa = null,\n He = [\n [173, 148, 140, 0],\n [176, 155, 140, 135, 0],\n [180, 157, 141, 134, 130, 0],\n [254, 254, 243, 230, 196, 177, 153, 140, 133, 130, 129, 0]\n ],\n Ie = [0, 1, 4, 8, 5, 2, 3, 6, 9, 12, 13, 10, 7, 11, 14, 15],\n Mc = [-0, 1, -1, 2, -2, 3, 4, 6, -3, 5, -4, -5, -6, 7, -7, 8, -8, -9],\n Fe = [\n [\n [\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [253, 136, 254, 255, 228, 219, 128, 128, 128, 128, 128],\n [189, 129, 242, 255, 227, 213, 255, 219, 128, 128, 128],\n [106, 126, 227, 252, 214, 209, 255, 255, 128, 128, 128]\n ],\n [\n [1, 98, 248, 255, 236, 226, 255, 255, 128, 128, 128],\n [181, 133, 238, 254, 221, 234, 255, 154, 128, 128, 128],\n [78, 134, 202, 247, 198, 180, 255, 219, 128, 128, 128]\n ],\n [\n [1, 185, 249, 255, 243, 255, 128, 128, 128, 128, 128],\n [184, 150, 247, 255, 236, 224, 128, 128, 128, 128, 128],\n [77, 110, 216, 255, 236, 230, 128, 128, 128, 128, 128]\n ],\n [\n [1, 101, 251, 255, 241, 255, 128, 128, 128, 128, 128],\n [170, 139, 241, 252, 236, 209, 255, 255, 128, 128, 128],\n [37, 116, 196, 243, 228, 255, 255, 255, 128, 128, 128]\n ],\n [\n [1, 204, 254, 255, 245, 255, 128, 128, 128, 128, 128],\n [207, 160, 250, 255, 238, 128, 128, 128, 128, 128, 128],\n [102, 103, 231, 255, 211, 171, 128, 128, 128, 128, 128]\n ],\n [\n [1, 152, 252, 255, 240, 255, 128, 128, 128, 128, 128],\n [177, 135, 243, 255, 234, 225, 128, 128, 128, 128, 128],\n [80, 129, 211, 255, 194, 224, 128, 128, 128, 128, 128]\n ],\n [\n [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [246, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [255, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [198, 35, 237, 223, 193, 187, 162, 160, 145, 155, 62],\n [131, 45, 198, 221, 172, 176, 220, 157, 252, 221, 1],\n [68, 47, 146, 208, 149, 167, 221, 162, 255, 223, 128]\n ],\n [\n [1, 149, 241, 255, 221, 224, 255, 255, 128, 128, 128],\n [184, 141, 234, 253, 222, 220, 255, 199, 128, 128, 128],\n [81, 99, 181, 242, 176, 190, 249, 202, 255, 255, 128]\n ],\n [\n [1, 129, 232, 253, 214, 197, 242, 196, 255, 255, 128],\n [99, 121, 210, 250, 201, 198, 255, 202, 128, 128, 128],\n [23, 91, 163, 242, 170, 187, 247, 210, 255, 255, 128]\n ],\n [\n [1, 200, 246, 255, 234, 255, 128, 128, 128, 128, 128],\n [109, 178, 241, 255, 231, 245, 255, 255, 128, 128, 128],\n [44, 130, 201, 253, 205, 192, 255, 255, 128, 128, 128]\n ],\n [\n [1, 132, 239, 251, 219, 209, 255, 165, 128, 128, 128],\n [94, 136, 225, 251, 218, 190, 255, 255, 128, 128, 128],\n [22, 100, 174, 245, 186, 161, 255, 199, 128, 128, 128]\n ],\n [\n [1, 182, 249, 255, 232, 235, 128, 128, 128, 128, 128],\n [124, 143, 241, 255, 227, 234, 128, 128, 128, 128, 128],\n [35, 77, 181, 251, 193, 211, 255, 205, 128, 128, 128]\n ],\n [\n [1, 157, 247, 255, 236, 231, 255, 255, 128, 128, 128],\n [121, 141, 235, 255, 225, 227, 255, 255, 128, 128, 128],\n [45, 99, 188, 251, 195, 217, 255, 224, 128, 128, 128]\n ],\n [\n [1, 1, 251, 255, 213, 255, 128, 128, 128, 128, 128],\n [203, 1, 248, 255, 255, 128, 128, 128, 128, 128, 128],\n [137, 1, 177, 255, 224, 255, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [253, 9, 248, 251, 207, 208, 255, 192, 128, 128, 128],\n [175, 13, 224, 243, 193, 185, 249, 198, 255, 255, 128],\n [73, 17, 171, 221, 161, 179, 236, 167, 255, 234, 128]\n ],\n [\n [1, 95, 247, 253, 212, 183, 255, 255, 128, 128, 128],\n [239, 90, 244, 250, 211, 209, 255, 255, 128, 128, 128],\n [155, 77, 195, 248, 188, 195, 255, 255, 128, 128, 128]\n ],\n [\n [1, 24, 239, 251, 218, 219, 255, 205, 128, 128, 128],\n [201, 51, 219, 255, 196, 186, 128, 128, 128, 128, 128],\n [69, 46, 190, 239, 201, 218, 255, 228, 128, 128, 128]\n ],\n [\n [1, 191, 251, 255, 255, 128, 128, 128, 128, 128, 128],\n [223, 165, 249, 255, 213, 255, 128, 128, 128, 128, 128],\n [141, 124, 248, 255, 255, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 16, 248, 255, 255, 128, 128, 128, 128, 128, 128],\n [190, 36, 230, 255, 236, 255, 128, 128, 128, 128, 128],\n [149, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 226, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [247, 192, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [240, 128, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 134, 252, 255, 255, 128, 128, 128, 128, 128, 128],\n [213, 62, 250, 255, 255, 128, 128, 128, 128, 128, 128],\n [55, 93, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [202, 24, 213, 235, 186, 191, 220, 160, 240, 175, 255],\n [126, 38, 182, 232, 169, 184, 228, 174, 255, 187, 128],\n [61, 46, 138, 219, 151, 178, 240, 170, 255, 216, 128]\n ],\n [\n [1, 112, 230, 250, 199, 191, 247, 159, 255, 255, 128],\n [166, 109, 228, 252, 211, 215, 255, 174, 128, 128, 128],\n [39, 77, 162, 232, 172, 180, 245, 178, 255, 255, 128]\n ],\n [\n [1, 52, 220, 246, 198, 199, 249, 220, 255, 255, 128],\n [124, 74, 191, 243, 183, 193, 250, 221, 255, 255, 128],\n [24, 71, 130, 219, 154, 170, 243, 182, 255, 255, 128]\n ],\n [\n [1, 182, 225, 249, 219, 240, 255, 224, 128, 128, 128],\n [149, 150, 226, 252, 216, 205, 255, 171, 128, 128, 128],\n [28, 108, 170, 242, 183, 194, 254, 223, 255, 255, 128]\n ],\n [\n [1, 81, 230, 252, 204, 203, 255, 192, 128, 128, 128],\n [123, 102, 209, 247, 188, 196, 255, 233, 128, 128, 128],\n [20, 95, 153, 243, 164, 173, 255, 203, 128, 128, 128]\n ],\n [\n [1, 222, 248, 255, 216, 213, 128, 128, 128, 128, 128],\n [168, 175, 246, 252, 235, 205, 255, 255, 128, 128, 128],\n [47, 116, 215, 255, 211, 212, 255, 255, 128, 128, 128]\n ],\n [\n [1, 121, 236, 253, 212, 214, 255, 255, 128, 128, 128],\n [141, 84, 213, 252, 201, 202, 255, 219, 128, 128, 128],\n [42, 80, 160, 240, 162, 185, 255, 205, 128, 128, 128]\n ],\n [\n [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [244, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [238, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ]\n ],\n Ke = [\n [\n [231, 120, 48, 89, 115, 113, 120, 152, 112],\n [152, 179, 64, 126, 170, 118, 46, 70, 95],\n [175, 69, 143, 80, 85, 82, 72, 155, 103],\n [56, 58, 10, 171, 218, 189, 17, 13, 152],\n [114, 26, 17, 163, 44, 195, 21, 10, 173],\n [121, 24, 80, 195, 26, 62, 44, 64, 85],\n [144, 71, 10, 38, 171, 213, 144, 34, 26],\n [170, 46, 55, 19, 136, 160, 33, 206, 71],\n [63, 20, 8, 114, 114, 208, 12, 9, 226],\n [81, 40, 11, 96, 182, 84, 29, 16, 36]\n ],\n [\n [134, 183, 89, 137, 98, 101, 106, 165, 148],\n [72, 187, 100, 130, 157, 111, 32, 75, 80],\n [66, 102, 167, 99, 74, 62, 40, 234, 128],\n [41, 53, 9, 178, 241, 141, 26, 8, 107],\n [74, 43, 26, 146, 73, 166, 49, 23, 157],\n [65, 38, 105, 160, 51, 52, 31, 115, 128],\n [104, 79, 12, 27, 217, 255, 87, 17, 7],\n [87, 68, 71, 44, 114, 51, 15, 186, 23],\n [47, 41, 14, 110, 182, 183, 21, 17, 194],\n [66, 45, 25, 102, 197, 189, 23, 18, 22]\n ],\n [\n [88, 88, 147, 150, 42, 46, 45, 196, 205],\n [43, 97, 183, 117, 85, 38, 35, 179, 61],\n [39, 53, 200, 87, 26, 21, 43, 232, 171],\n [56, 34, 51, 104, 114, 102, 29, 93, 77],\n [39, 28, 85, 171, 58, 165, 90, 98, 64],\n [34, 22, 116, 206, 23, 34, 43, 166, 73],\n [107, 54, 32, 26, 51, 1, 81, 43, 31],\n [68, 25, 106, 22, 64, 171, 36, 225, 114],\n [34, 19, 21, 102, 132, 188, 16, 76, 124],\n [62, 18, 78, 95, 85, 57, 50, 48, 51]\n ],\n [\n [193, 101, 35, 159, 215, 111, 89, 46, 111],\n [60, 148, 31, 172, 219, 228, 21, 18, 111],\n [112, 113, 77, 85, 179, 255, 38, 120, 114],\n [40, 42, 1, 196, 245, 209, 10, 25, 109],\n [88, 43, 29, 140, 166, 213, 37, 43, 154],\n [61, 63, 30, 155, 67, 45, 68, 1, 209],\n [100, 80, 8, 43, 154, 1, 51, 26, 71],\n [142, 78, 78, 16, 255, 128, 34, 197, 171],\n [41, 40, 5, 102, 211, 183, 4, 1, 221],\n [51, 50, 17, 168, 209, 192, 23, 25, 82]\n ],\n [\n [138, 31, 36, 171, 27, 166, 38, 44, 229],\n [67, 87, 58, 169, 82, 115, 26, 59, 179],\n [63, 59, 90, 180, 59, 166, 93, 73, 154],\n [40, 40, 21, 116, 143, 209, 34, 39, 175],\n [47, 15, 16, 183, 34, 223, 49, 45, 183],\n [46, 17, 33, 183, 6, 98, 15, 32, 183],\n [57, 46, 22, 24, 128, 1, 54, 17, 37],\n [65, 32, 73, 115, 28, 128, 23, 128, 205],\n [40, 3, 9, 115, 51, 192, 18, 6, 223],\n [87, 37, 9, 115, 59, 77, 64, 21, 47]\n ],\n [\n [104, 55, 44, 218, 9, 54, 53, 130, 226],\n [64, 90, 70, 205, 40, 41, 23, 26, 57],\n [54, 57, 112, 184, 5, 41, 38, 166, 213],\n [30, 34, 26, 133, 152, 116, 10, 32, 134],\n [39, 19, 53, 221, 26, 114, 32, 73, 255],\n [31, 9, 65, 234, 2, 15, 1, 118, 73],\n [75, 32, 12, 51, 192, 255, 160, 43, 51],\n [88, 31, 35, 67, 102, 85, 55, 186, 85],\n [56, 21, 23, 111, 59, 205, 45, 37, 192],\n [55, 38, 70, 124, 73, 102, 1, 34, 98]\n ],\n [\n [125, 98, 42, 88, 104, 85, 117, 175, 82],\n [95, 84, 53, 89, 128, 100, 113, 101, 45],\n [75, 79, 123, 47, 51, 128, 81, 171, 1],\n [57, 17, 5, 71, 102, 57, 53, 41, 49],\n [38, 33, 13, 121, 57, 73, 26, 1, 85],\n [41, 10, 67, 138, 77, 110, 90, 47, 114],\n [115, 21, 2, 10, 102, 255, 166, 23, 6],\n [101, 29, 16, 10, 85, 128, 101, 196, 26],\n [57, 18, 10, 102, 102, 213, 34, 20, 43],\n [117, 20, 15, 36, 163, 128, 68, 1, 26]\n ],\n [\n [102, 61, 71, 37, 34, 53, 31, 243, 192],\n [69, 60, 71, 38, 73, 119, 28, 222, 37],\n [68, 45, 128, 34, 1, 47, 11, 245, 171],\n [62, 17, 19, 70, 146, 85, 55, 62, 70],\n [37, 43, 37, 154, 100, 163, 85, 160, 1],\n [63, 9, 92, 136, 28, 64, 32, 201, 85],\n [75, 15, 9, 9, 64, 255, 184, 119, 16],\n [86, 6, 28, 5, 64, 255, 25, 248, 1],\n [56, 8, 17, 132, 137, 255, 55, 116, 128],\n [58, 15, 20, 82, 135, 57, 26, 121, 40]\n ],\n [\n [164, 50, 31, 137, 154, 133, 25, 35, 218],\n [51, 103, 44, 131, 131, 123, 31, 6, 158],\n [86, 40, 64, 135, 148, 224, 45, 183, 128],\n [22, 26, 17, 131, 240, 154, 14, 1, 209],\n [45, 16, 21, 91, 64, 222, 7, 1, 197],\n [56, 21, 39, 155, 60, 138, 23, 102, 213],\n [83, 12, 13, 54, 192, 255, 68, 47, 28],\n [85, 26, 85, 85, 128, 128, 32, 146, 171],\n [18, 11, 7, 63, 144, 171, 4, 4, 246],\n [35, 27, 10, 146, 174, 171, 12, 26, 128]\n ],\n [\n [190, 80, 35, 99, 180, 80, 126, 54, 45],\n [85, 126, 47, 87, 176, 51, 41, 20, 32],\n [101, 75, 128, 139, 118, 146, 116, 128, 85],\n [56, 41, 15, 176, 236, 85, 37, 9, 62],\n [71, 30, 17, 119, 118, 255, 17, 18, 138],\n [101, 38, 60, 138, 55, 70, 43, 26, 142],\n [146, 36, 19, 30, 171, 255, 97, 27, 20],\n [138, 45, 61, 62, 219, 1, 81, 188, 64],\n [32, 41, 20, 117, 151, 142, 20, 21, 163],\n [112, 19, 12, 61, 195, 128, 48, 4, 24]\n ]\n ],\n Ee = [\n [\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [176, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [223, 241, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 244, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [234, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 246, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [239, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 253, 255, 254, 255, 255, 255, 255, 255, 255],\n [250, 255, 254, 255, 254, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [225, 252, 241, 253, 255, 255, 254, 255, 255, 255, 255],\n [234, 250, 241, 250, 253, 255, 253, 254, 255, 255, 255]\n ],\n [\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [223, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [238, 253, 254, 254, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [247, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [186, 251, 250, 255, 255, 255, 255, 255, 255, 255, 255],\n [234, 251, 244, 254, 255, 255, 255, 255, 255, 255, 255],\n [251, 251, 243, 253, 254, 255, 254, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [236, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 253, 253, 254, 254, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 254, 252, 254, 255, 255, 255, 255, 255, 255, 255],\n [248, 254, 249, 253, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [246, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 254, 251, 254, 254, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [248, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 254, 254, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [245, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 251, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ]\n ],\n Ge = [0, 1, 2, 3, 6, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 0],\n Nc,\n Y = [],\n W = [],\n ka = [],\n Za,\n fd,\n Nb,\n pa,\n Ob,\n Xc,\n Tc,\n Yc,\n Uc,\n Zc,\n Vc,\n $c,\n Wc,\n Rc,\n Pc,\n Sc,\n Qc,\n re = 1,\n Cc = 2,\n ia = [],\n za,\n vc,\n fc,\n Fc,\n P = [];\n va(\"UpsampleRgbLinePair\", Ga, 3);\n va(\"UpsampleBgrLinePair\", Tb, 3);\n va(\"UpsampleRgbaLinePair\", wd, 4);\n va(\"UpsampleBgraLinePair\", vd, 4);\n va(\"UpsampleArgbLinePair\", ud, 4);\n va(\"UpsampleRgba4444LinePair\", td, 2);\n va(\"UpsampleRgb565LinePair\", sd, 2);\n var Mf = self.UpsampleRgbLinePair,\n Nf = self.UpsampleBgrLinePair,\n nd = self.UpsampleRgbaLinePair,\n od = self.UpsampleBgraLinePair,\n pd = self.UpsampleArgbLinePair,\n qd = self.UpsampleRgba4444LinePair,\n Of = self.UpsampleRgb565LinePair,\n Wa = 16,\n Ba = 1 << (Wa - 1),\n ta = -227,\n Eb = 482,\n rd = 6,\n Pf = (256 << rd) - 1,\n jc = 0,\n Yd = V(256),\n ae = V(256),\n $d = V(256),\n Zd = V(256),\n be = V(Eb - ta),\n ce = V(Eb - ta);\n la(\"YuvToRgbRow\", Ga, 3);\n la(\"YuvToBgrRow\", Tb, 3);\n la(\"YuvToRgbaRow\", wd, 4);\n la(\"YuvToBgraRow\", vd, 4);\n la(\"YuvToArgbRow\", ud, 4);\n la(\"YuvToRgba4444Row\", td, 2);\n la(\"YuvToRgb565Row\", sd, 2);\n var zd = [\n 0,\n 4,\n 8,\n 12,\n 128,\n 132,\n 136,\n 140,\n 256,\n 260,\n 264,\n 268,\n 384,\n 388,\n 392,\n 396\n ],\n Ya = [0, 2, 8],\n Qf = [8, 7, 6, 4, 4, 2, 2, 2, 1, 1, 1, 1],\n Ne = 1;\n this.WebPDecodeRGBA = function(a, b, c, d, e) {\n var f = Ua;\n var g = new Cf(),\n h = new Cb();\n g.ba = h;\n h.S = f;\n h.width = [h.width];\n h.height = [h.height];\n var k = h.width;\n var l = h.height,\n m = new Td();\n if (null == m || null == a) var n = 2;\n else\n x(null != m),\n (n = Ad(a, b, c, m.width, m.height, m.Pd, m.Qd, m.format, null));\n 0 != n\n ? (k = 0)\n : (null != k && (k[0] = m.width[0]),\n null != l && (l[0] = m.height[0]),\n (k = 1));\n if (k) {\n h.width = h.width[0];\n h.height = h.height[0];\n null != d && (d[0] = h.width);\n null != e && (e[0] = h.height);\n b: {\n d = new Oa();\n e = new md();\n e.data = a;\n e.w = b;\n e.ha = c;\n e.kd = 1;\n b = [0];\n x(null != e);\n a = Ad(e.data, e.w, e.ha, null, null, null, b, null, e);\n (0 == a || 7 == a) && b[0] && (a = 4);\n b = a;\n if (0 == b) {\n x(null != g);\n d.data = e.data;\n d.w = e.w + e.offset;\n d.ha = e.ha - e.offset;\n d.put = kc;\n d.ac = gc;\n d.bc = lc;\n d.ma = g;\n if (e.xa) {\n a = Bc();\n if (null == a) {\n g = 1;\n break b;\n }\n if (te(a, d)) {\n b = Cd(d.width, d.height, g.Oa, g.ba);\n if ((d = 0 == b)) {\n c: {\n d = a;\n d: for (;;) {\n if (null == d) {\n d = 0;\n break c;\n }\n x(null != d.s.yc);\n x(null != d.s.Ya);\n x(0 < d.s.Wb);\n c = d.l;\n x(null != c);\n e = c.ma;\n x(null != e);\n if (0 != d.xb) {\n d.ca = e.ba;\n d.tb = e.tb;\n x(null != d.ca);\n if (!hc(e.Oa, c, Va)) {\n d.a = 2;\n break d;\n }\n if (!Ec(d, c.width)) break d;\n if (c.da) break d;\n (c.da || hb(d.ca.S)) && Aa();\n 11 > d.ca.S ||\n (alert(\"todo:WebPInitConvertARGBToYUV\"),\n null != d.ca.f.kb.F && Aa());\n if (\n d.Pb &&\n 0 < d.s.ua &&\n null == d.s.vb.X &&\n !Zb(d.s.vb, d.s.Wa.Xa)\n ) {\n d.a = 1;\n break d;\n }\n d.xb = 0;\n }\n if (!Jb(d, d.V, d.Ba, d.c, d.i, c.o, ge)) break d;\n e.Dc = d.Ma;\n d = 1;\n break c;\n }\n x(0 != d.a);\n d = 0;\n }\n d = !d;\n }\n d && (b = a.a);\n } else b = a.a;\n } else {\n a = new Ce();\n if (null == a) {\n g = 1;\n break b;\n }\n a.Fa = e.na;\n a.P = e.P;\n a.qc = e.Sa;\n if (Kc(a, d)) {\n if (((b = Cd(d.width, d.height, g.Oa, g.ba)), 0 == b)) {\n a.Aa = 0;\n c = g.Oa;\n e = a;\n x(null != e);\n if (null != c) {\n k = c.Md;\n k = 0 > k ? 0 : 100 < k ? 255 : (255 * k) / 100;\n if (0 < k) {\n for (l = m = 0; 4 > l; ++l)\n (n = e.pb[l]),\n 12 > n.lc &&\n (n.ia = (k * Qf[0 > n.lc ? 0 : n.lc]) >> 3),\n (m |= n.ia);\n m && (alert(\"todo:VP8InitRandom\"), (e.ia = 1));\n }\n e.Ga = c.Id;\n 100 < e.Ga ? (e.Ga = 100) : 0 > e.Ga && (e.Ga = 0);\n }\n Me(a, d) || (b = a.a);\n }\n } else b = a.a;\n }\n 0 == b && null != g.Oa && g.Oa.fd && (b = Bd(g.ba));\n }\n g = b;\n }\n f = 0 != g ? null : 11 > f ? h.f.RGBA.eb : h.f.kb.y;\n } else f = null;\n return f;\n };\n var Dd = [3, 4, 3, 4, 4, 2, 2, 4, 4, 4, 2, 1, 1];\n };\n new _WebPDecoder();\n\n /** @license\n * Copyright (c) 2017 Dominik Homberger\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nhttps://webpjs.appspot.com\nWebPRiffParser dominikhlbg@gmail.com\n*/\n\n function memcmp(data, data_off, str, size) {\n for (var i = 0; i < size; i++)\n if (data[data_off + i] != str.charCodeAt(i)) return true;\n return false;\n }\n\n function GetTag(data, data_off) {\n var str = \"\";\n for (var i = 0; i < 4; i++) str += String.fromCharCode(data[data_off++]);\n return str;\n }\n\n function GetLE16(data, data_off) {\n return (data[data_off + 0] << 0) | (data[data_off + 1] << 8);\n }\n\n function GetLE24(data, data_off) {\n return (\n ((data[data_off + 0] << 0) |\n (data[data_off + 1] << 8) |\n (data[data_off + 2] << 16)) >>>\n 0\n );\n }\n\n function GetLE32(data, data_off) {\n return (\n ((data[data_off + 0] << 0) |\n (data[data_off + 1] << 8) |\n (data[data_off + 2] << 16) |\n (data[data_off + 3] << 24)) >>>\n 0\n );\n }\n\n function WebPRiffParser(src, src_off) {\n var imagearray = {};\n var i = 0;\n var alpha_chunk = false;\n var alpha_size = 0;\n var alpha_offset = 0;\n imagearray[\"frames\"] = [];\n if (memcmp(src, src_off, \"RIFF\", 4)) return;\n src_off += 4;\n var riff_size = GetLE32(src, src_off) + 8;\n src_off += 8;\n\n while (src_off < src.length) {\n var fourcc = GetTag(src, src_off);\n src_off += 4;\n\n var payload_size = GetLE32(src, src_off);\n src_off += 4;\n var payload_size_padded = payload_size + (payload_size & 1);\n\n switch (fourcc) {\n case \"VP8 \":\n case \"VP8L\":\n if (typeof imagearray[\"frames\"][i] === \"undefined\")\n imagearray[\"frames\"][i] = {};\n var obj = imagearray[\"frames\"][i];\n var height = [0];\n var width = [0];\n obj[\"src_off\"] = alpha_chunk ? alpha_offset : src_off - 8;\n obj[\"src_size\"] = alpha_size + payload_size + 8;\n //var rgba = webpdecoder.WebPDecodeRGBA(src,(alpha_chunk?alpha_offset:src_off-8),alpha_size+payload_size+8,width,height);\n //imagearray[i]={'rgba':rgba,'width':width[0],'height':height[0]};\n i++;\n if (alpha_chunk) {\n alpha_chunk = false;\n alpha_size = 0;\n alpha_offset = 0;\n }\n break;\n case \"VP8X\":\n var obj = (imagearray[\"header\"] = {});\n var feature_flags = (obj[\"feature_flags\"] = src[src_off]);\n var src_off_ = src_off + 4;\n var canvas_width = (obj[\"canvas_width\"] = 1 + GetLE24(src, src_off_));\n src_off_ += 3;\n var canvas_height = (obj[\"canvas_height\"] =\n 1 + GetLE24(src, src_off_));\n src_off_ += 3;\n break;\n case \"ALPH\":\n alpha_chunk = true;\n alpha_size = payload_size_padded + 8;\n alpha_offset = src_off - 8;\n break;\n\n case \"ANIM\":\n var obj = imagearray[\"header\"];\n var bgcolor = (obj[\"bgcolor\"] = GetLE32(src, src_off));\n src_off_ = src_off + 4;\n\n var loop_count = (obj[\"loop_count\"] = GetLE16(src, src_off_));\n src_off_ += 2;\n break;\n case \"ANMF\":\n var offset_x = 0,\n offset_y = 0,\n width = 0,\n height = 0,\n duration = 0,\n blend = 0,\n dispose = 0,\n temp = 0;\n var obj = (imagearray[\"frames\"][i] = {});\n obj[\"offset_x\"] = offset_x = 2 * GetLE24(src, src_off);\n src_off += 3;\n obj[\"offset_y\"] = offset_y = 2 * GetLE24(src, src_off);\n src_off += 3;\n obj[\"width\"] = width = 1 + GetLE24(src, src_off);\n src_off += 3;\n obj[\"height\"] = height = 1 + GetLE24(src, src_off);\n src_off += 3;\n obj[\"duration\"] = duration = GetLE24(src, src_off);\n src_off += 3;\n temp = src[src_off++];\n obj[\"dispose\"] = dispose = temp & 1;\n obj[\"blend\"] = blend = (temp >> 1) & 1;\n break;\n default:\n }\n if (fourcc != \"ANMF\") src_off += payload_size_padded;\n }\n return imagearray;\n }\n\n var height = [0];\n var width = [0];\n var pixels = [];\n var webpdecoder = new _WebPDecoder();\n\n var response = imageData;\n var imagearray = WebPRiffParser(response, 0);\n imagearray[\"response\"] = response;\n imagearray[\"rgbaoutput\"] = true;\n imagearray[\"dataurl\"] = false;\n\n var header = imagearray[\"header\"] ? imagearray[\"header\"] : null;\n var frames = imagearray[\"frames\"] ? imagearray[\"frames\"] : null;\n\n if (header) {\n header[\"loop_counter\"] = header[\"loop_count\"];\n height = [header[\"canvas_height\"]];\n width = [header[\"canvas_width\"]];\n\n var blend = false;\n for (var f = 0; f < frames.length; f++)\n if (frames[f][\"blend\"] == 0) {\n blend = true;\n break;\n }\n }\n\n var frame = frames[0];\n var rgba = webpdecoder.WebPDecodeRGBA(\n response,\n frame[\"src_off\"],\n frame[\"src_size\"],\n width,\n height\n );\n frame[\"rgba\"] = rgba;\n frame[\"imgwidth\"] = width[0];\n frame[\"imgheight\"] = height[0];\n\n for (var i = 0; i < width[0] * height[0] * 4; i++) {\n pixels[i] = rgba[i];\n }\n\n this.width = width;\n this.height = height;\n this.data = pixels;\n return this;\n}\n\nWebPDecoder.prototype.getData = function() {\n return this.data;\n};\n\nexport { WebPDecoder };\n","/**\n * @license\n *\n * Copyright (c) 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { zlibSync } from \"../libs/fflate.js\";\nimport { PNG } from \"../libs/png.js\";\n\n/**\n * jsPDF PNG PlugIn\n * @name png_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /*\n * @see http://www.w3.org/TR/PNG-Chunks.html\n *\n Color Allowed Interpretation\n Type Bit Depths\n\n 0 1,2,4,8,16 Each pixel is a grayscale sample.\n\n 2 8,16 Each pixel is an R,G,B triple.\n\n 3 1,2,4,8 Each pixel is a palette index;\n a PLTE chunk must appear.\n\n 4 8,16 Each pixel is a grayscale sample,\n followed by an alpha sample.\n\n 6 8,16 Each pixel is an R,G,B triple,\n followed by an alpha sample.\n */\n\n /*\n * PNG filter method types\n *\n * @see http://www.w3.org/TR/PNG-Filters.html\n * @see http://www.libpng.org/pub/png/book/chapter09.html\n *\n * This is what the value 'Predictor' in decode params relates to\n *\n * 15 is \"optimal prediction\", which means the prediction algorithm can change from line to line.\n * In that case, you actually have to read the first byte off each line for the prediction algorthim (which should be 0-4, corresponding to PDF 10-14) and select the appropriate unprediction algorithm based on that byte.\n *\n 0 None\n 1 Sub\n 2 Up\n 3 Average\n 4 Paeth\n */\n\n var canCompress = function(value) {\n return value !== jsPDFAPI.image_compression.NONE && hasCompressionJS();\n };\n\n var hasCompressionJS = function() {\n return typeof zlibSync === \"function\";\n };\n var compressBytes = function(bytes, lineLength, colorsPerPixel, compression) {\n var level = 4;\n var filter_method = filterUp;\n\n switch (compression) {\n case jsPDFAPI.image_compression.FAST:\n level = 1;\n filter_method = filterSub;\n break;\n\n case jsPDFAPI.image_compression.MEDIUM:\n level = 6;\n filter_method = filterAverage;\n break;\n\n case jsPDFAPI.image_compression.SLOW:\n level = 9;\n filter_method = filterPaeth;\n break;\n }\n\n bytes = applyPngFilterMethod(\n bytes,\n lineLength,\n colorsPerPixel,\n filter_method\n );\n var dat = zlibSync(bytes, { level: level });\n return jsPDFAPI.__addimage__.arrayBufferToBinaryString(dat);\n };\n\n var applyPngFilterMethod = function(\n bytes,\n lineLength,\n colorsPerPixel,\n filter_method\n ) {\n var lines = bytes.length / lineLength,\n result = new Uint8Array(bytes.length + lines),\n filter_methods = getFilterMethods(),\n line,\n prevLine,\n offset;\n\n for (var i = 0; i < lines; i += 1) {\n offset = i * lineLength;\n line = bytes.subarray(offset, offset + lineLength);\n\n if (filter_method) {\n result.set(filter_method(line, colorsPerPixel, prevLine), offset + i);\n } else {\n var len = filter_methods.length,\n results = [];\n\n for (var j; j < len; j += 1) {\n results[j] = filter_methods[j](line, colorsPerPixel, prevLine);\n }\n\n var ind = getIndexOfSmallestSum(results.concat());\n\n result.set(results[ind], offset + i);\n }\n\n prevLine = line;\n }\n\n return result;\n };\n\n var filterNone = function(line) {\n /*var result = new Uint8Array(line.length + 1);\n result[0] = 0;\n result.set(line, 1);*/\n\n var result = Array.apply([], line);\n result.unshift(0);\n\n return result;\n };\n\n var filterSub = function(line, colorsPerPixel) {\n var result = [],\n len = line.length,\n left;\n\n result[0] = 1;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n result[i + 1] = (line[i] - left + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var filterUp = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n up;\n\n result[0] = 2;\n\n for (var i = 0; i < len; i += 1) {\n up = (prevLine && prevLine[i]) || 0;\n result[i + 1] = (line[i] - up + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var filterAverage = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n left,\n up;\n\n result[0] = 3;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n up = (prevLine && prevLine[i]) || 0;\n result[i + 1] = (line[i] + 0x0100 - ((left + up) >>> 1)) & 0xff;\n }\n\n return result;\n };\n\n var filterPaeth = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n left,\n up,\n upLeft,\n paeth;\n\n result[0] = 4;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n up = (prevLine && prevLine[i]) || 0;\n upLeft = (prevLine && prevLine[i - colorsPerPixel]) || 0;\n paeth = paethPredictor(left, up, upLeft);\n result[i + 1] = (line[i] - paeth + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var paethPredictor = function(left, up, upLeft) {\n if (left === up && up === upLeft) {\n return left;\n }\n var pLeft = Math.abs(up - upLeft),\n pUp = Math.abs(left - upLeft),\n pUpLeft = Math.abs(left + up - upLeft - upLeft);\n return pLeft <= pUp && pLeft <= pUpLeft\n ? left\n : pUp <= pUpLeft\n ? up\n : upLeft;\n };\n\n var getFilterMethods = function() {\n return [filterNone, filterSub, filterUp, filterAverage, filterPaeth];\n };\n\n var getIndexOfSmallestSum = function(arrays) {\n var sum = arrays.map(function(value) {\n return value.reduce(function(pv, cv) {\n return pv + Math.abs(cv);\n }, 0);\n });\n return sum.indexOf(Math.min.apply(null, sum));\n };\n\n var getPredictorFromCompression = function(compression) {\n var predictor;\n switch (compression) {\n case jsPDFAPI.image_compression.FAST:\n predictor = 11;\n break;\n\n case jsPDFAPI.image_compression.MEDIUM:\n predictor = 13;\n break;\n\n case jsPDFAPI.image_compression.SLOW:\n predictor = 14;\n break;\n\n default:\n predictor = 12;\n break;\n }\n return predictor;\n };\n\n /**\n * @name processPNG\n * @function\n * @ignore\n */\n jsPDFAPI.processPNG = function(imageData, index, alias, compression) {\n \"use strict\";\n\n var colorSpace,\n filter = this.decode.FLATE_DECODE,\n bitsPerComponent,\n image,\n decodeParameters = \"\",\n trns,\n colors,\n pal,\n smask,\n pixels,\n len,\n alphaData,\n imgData,\n hasColors,\n pixel,\n i,\n n;\n\n if (this.__addimage__.isArrayBuffer(imageData))\n imageData = new Uint8Array(imageData);\n\n if (this.__addimage__.isArrayBufferView(imageData)) {\n image = new PNG(imageData);\n imageData = image.imgData;\n bitsPerComponent = image.bits;\n colorSpace = image.colorSpace;\n colors = image.colors;\n\n /*\n * colorType 6 - Each pixel is an R,G,B triple, followed by an alpha sample.\n *\n * colorType 4 - Each pixel is a grayscale sample, followed by an alpha sample.\n *\n * Extract alpha to create two separate images, using the alpha as a sMask\n */\n if ([4, 6].indexOf(image.colorType) !== -1) {\n /*\n * processes 8 bit RGBA and grayscale + alpha images\n */\n if (image.bits === 8) {\n pixels =\n image.pixelBitlength == 32\n ? new Uint32Array(image.decodePixels().buffer)\n : image.pixelBitlength == 16\n ? new Uint16Array(image.decodePixels().buffer)\n : new Uint8Array(image.decodePixels().buffer);\n len = pixels.length;\n imgData = new Uint8Array(len * image.colors);\n alphaData = new Uint8Array(len);\n var pDiff = image.pixelBitlength - image.bits;\n i = 0;\n n = 0;\n var pbl;\n\n for (; i < len; i++) {\n pixel = pixels[i];\n pbl = 0;\n\n while (pbl < pDiff) {\n imgData[n++] = (pixel >>> pbl) & 0xff;\n pbl = pbl + image.bits;\n }\n\n alphaData[i] = (pixel >>> pbl) & 0xff;\n }\n }\n\n /*\n * processes 16 bit RGBA and grayscale + alpha images\n */\n if (image.bits === 16) {\n pixels = new Uint32Array(image.decodePixels().buffer);\n len = pixels.length;\n imgData = new Uint8Array(\n len * (32 / image.pixelBitlength) * image.colors\n );\n alphaData = new Uint8Array(len * (32 / image.pixelBitlength));\n hasColors = image.colors > 1;\n i = 0;\n n = 0;\n var a = 0;\n\n while (i < len) {\n pixel = pixels[i++];\n\n imgData[n++] = (pixel >>> 0) & 0xff;\n\n if (hasColors) {\n imgData[n++] = (pixel >>> 16) & 0xff;\n\n pixel = pixels[i++];\n imgData[n++] = (pixel >>> 0) & 0xff;\n }\n\n alphaData[a++] = (pixel >>> 16) & 0xff;\n }\n bitsPerComponent = 8;\n }\n\n if (canCompress(compression)) {\n imageData = compressBytes(\n imgData,\n image.width * image.colors,\n image.colors,\n compression\n );\n smask = compressBytes(alphaData, image.width, 1, compression);\n } else {\n imageData = imgData;\n smask = alphaData;\n filter = undefined;\n }\n }\n\n /*\n * Indexed png. Each pixel is a palette index.\n */\n if (image.colorType === 3) {\n colorSpace = this.color_spaces.INDEXED;\n pal = image.palette;\n\n if (image.transparency.indexed) {\n var trans = image.transparency.indexed;\n var total = 0;\n i = 0;\n len = trans.length;\n\n for (; i < len; ++i) {\n total += trans[i];\n }\n\n total = total / 255;\n\n /*\n * a single color is specified as 100% transparent (0),\n * so we set trns to use a /Mask with that index\n */\n if (total === len - 1 && trans.indexOf(0) !== -1) {\n trns = [trans.indexOf(0)];\n\n /*\n * there's more than one colour within the palette that specifies\n * a transparency value less than 255, so we unroll the pixels to create an image sMask\n */\n } else if (total !== len) {\n pixels = image.decodePixels();\n alphaData = new Uint8Array(pixels.length);\n i = 0;\n len = pixels.length;\n\n for (; i < len; i++) {\n alphaData[i] = trans[pixels[i]];\n }\n\n smask = compressBytes(alphaData, image.width, 1);\n }\n }\n }\n\n var predictor = getPredictorFromCompression(compression);\n\n if (filter === this.decode.FLATE_DECODE) {\n decodeParameters = \"/Predictor \" + predictor + \" \";\n }\n decodeParameters +=\n \"/Colors \" +\n colors +\n \" /BitsPerComponent \" +\n bitsPerComponent +\n \" /Columns \" +\n image.width;\n\n if (\n this.__addimage__.isArrayBuffer(imageData) ||\n this.__addimage__.isArrayBufferView(imageData)\n ) {\n imageData = this.__addimage__.arrayBufferToBinaryString(imageData);\n }\n\n if (\n (smask && this.__addimage__.isArrayBuffer(smask)) ||\n this.__addimage__.isArrayBufferView(smask)\n ) {\n smask = this.__addimage__.arrayBufferToBinaryString(smask);\n }\n\n return {\n alias: alias,\n data: imageData,\n index: index,\n filter: filter,\n decodeParameters: decodeParameters,\n transparency: trns,\n palette: pal,\n sMask: smask,\n predictor: predictor,\n width: image.width,\n height: image.height,\n bitsPerComponent: bitsPerComponent,\n colorSpace: colorSpace\n };\n }\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { GifReader } from \"../libs/omggif.js\";\nimport { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\n\n/**\n * jsPDF Gif Support PlugIn\n *\n * @name gif_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processGIF89A = function(imageData, index, alias, compression) {\n var reader = new GifReader(imageData);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = [];\n\n reader.decodeAndBlitFrameRGBA(0, pixels);\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n\n jsPDFAPI.processGIF87A = jsPDFAPI.processGIF89A;\n})(jsPDF.API);\n","import { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\nimport { BmpDecoder } from \"../libs/BMPDecoder.js\";\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @license\n * Copyright (c) 2018 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF bmp Support PlugIn\n * @name bmp_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processBMP = function(imageData, index, alias, compression) {\n var reader = new BmpDecoder(imageData, false);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = reader.getData();\n\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2019 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\nimport { WebPDecoder } from \"../libs/WebPDecoder.js\";\n\n/**\n * jsPDF webp Support PlugIn\n *\n * @name webp_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processWEBP = function(imageData, index, alias, compression) {\n var reader = new WebPDecoder(imageData, false);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = reader.getData();\n\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n})(jsPDF.API);\n","/**\n * @license\n *\n * Copyright (c) 2021 Antti Palola, https://github.com/Pantura\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF RGBA array PlugIn\n * @name rgba_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @name processRGBA\n * @function\n *\n * Process RGBA Array. This is a one-dimension array with pixel data [red, green, blue, alpha, red, green, ...].\n * RGBA array data can be obtained from DOM canvas getImageData.\n * @ignore\n */\n jsPDFAPI.processRGBA = function(imageData, index, alias) {\n \"use strict\";\n\n var imagePixels = imageData.data;\n var length = imagePixels.length;\n // jsPDF takes alpha data separately so extract that.\n var rgbOut = new Uint8Array((length / 4) * 3);\n var alphaOut = new Uint8Array(length / 4);\n var outIndex = 0;\n var alphaIndex = 0;\n\n for (var i = 0; i < length; i += 4) {\n var r = imagePixels[i];\n var g = imagePixels[i + 1];\n var b = imagePixels[i + 2];\n var alpha = imagePixels[i + 3];\n rgbOut[outIndex++] = r;\n rgbOut[outIndex++] = g;\n rgbOut[outIndex++] = b;\n alphaOut[alphaIndex++] = alpha;\n }\n\n var rgbData = this.__addimage__.arrayBufferToBinaryString(rgbOut);\n var alphaData = this.__addimage__.arrayBufferToBinaryString(alphaOut);\n\n return {\n alpha: alphaData,\n data: rgbData,\n index: index,\n alias: alias,\n colorSpace: \"DeviceRGB\",\n bitsPerComponent: 8,\n width: imageData.width,\n height: imageData.height\n };\n };\n})(jsPDF.API);\n","/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF setLanguage Plugin\n *\n * @name setLanguage\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Add Language Tag to the generated PDF\n *\n * @name setLanguage\n * @function\n * @param {string} langCode The Language code as ISO-639-1 (e.g. 'en') or as country language code (e.g. 'en-GB').\n * @returns {jsPDF}\n * @example\n * var doc = new jsPDF()\n * doc.text(10, 10, 'This is a test')\n * doc.setLanguage(\"en-US\")\n * doc.save('english.pdf')\n */\n jsPDFAPI.setLanguage = function(langCode) {\n \"use strict\";\n\n var langCodes = {\n af: \"Afrikaans\",\n sq: \"Albanian\",\n ar: \"Arabic (Standard)\",\n \"ar-DZ\": \"Arabic (Algeria)\",\n \"ar-BH\": \"Arabic (Bahrain)\",\n \"ar-EG\": \"Arabic (Egypt)\",\n \"ar-IQ\": \"Arabic (Iraq)\",\n \"ar-JO\": \"Arabic (Jordan)\",\n \"ar-KW\": \"Arabic (Kuwait)\",\n \"ar-LB\": \"Arabic (Lebanon)\",\n \"ar-LY\": \"Arabic (Libya)\",\n \"ar-MA\": \"Arabic (Morocco)\",\n \"ar-OM\": \"Arabic (Oman)\",\n \"ar-QA\": \"Arabic (Qatar)\",\n \"ar-SA\": \"Arabic (Saudi Arabia)\",\n \"ar-SY\": \"Arabic (Syria)\",\n \"ar-TN\": \"Arabic (Tunisia)\",\n \"ar-AE\": \"Arabic (U.A.E.)\",\n \"ar-YE\": \"Arabic (Yemen)\",\n an: \"Aragonese\",\n hy: \"Armenian\",\n as: \"Assamese\",\n ast: \"Asturian\",\n az: \"Azerbaijani\",\n eu: \"Basque\",\n be: \"Belarusian\",\n bn: \"Bengali\",\n bs: \"Bosnian\",\n br: \"Breton\",\n bg: \"Bulgarian\",\n my: \"Burmese\",\n ca: \"Catalan\",\n ch: \"Chamorro\",\n ce: \"Chechen\",\n zh: \"Chinese\",\n \"zh-HK\": \"Chinese (Hong Kong)\",\n \"zh-CN\": \"Chinese (PRC)\",\n \"zh-SG\": \"Chinese (Singapore)\",\n \"zh-TW\": \"Chinese (Taiwan)\",\n cv: \"Chuvash\",\n co: \"Corsican\",\n cr: \"Cree\",\n hr: \"Croatian\",\n cs: \"Czech\",\n da: \"Danish\",\n nl: \"Dutch (Standard)\",\n \"nl-BE\": \"Dutch (Belgian)\",\n en: \"English\",\n \"en-AU\": \"English (Australia)\",\n \"en-BZ\": \"English (Belize)\",\n \"en-CA\": \"English (Canada)\",\n \"en-IE\": \"English (Ireland)\",\n \"en-JM\": \"English (Jamaica)\",\n \"en-NZ\": \"English (New Zealand)\",\n \"en-PH\": \"English (Philippines)\",\n \"en-ZA\": \"English (South Africa)\",\n \"en-TT\": \"English (Trinidad & Tobago)\",\n \"en-GB\": \"English (United Kingdom)\",\n \"en-US\": \"English (United States)\",\n \"en-ZW\": \"English (Zimbabwe)\",\n eo: \"Esperanto\",\n et: \"Estonian\",\n fo: \"Faeroese\",\n fj: \"Fijian\",\n fi: \"Finnish\",\n fr: \"French (Standard)\",\n \"fr-BE\": \"French (Belgium)\",\n \"fr-CA\": \"French (Canada)\",\n \"fr-FR\": \"French (France)\",\n \"fr-LU\": \"French (Luxembourg)\",\n \"fr-MC\": \"French (Monaco)\",\n \"fr-CH\": \"French (Switzerland)\",\n fy: \"Frisian\",\n fur: \"Friulian\",\n gd: \"Gaelic (Scots)\",\n \"gd-IE\": \"Gaelic (Irish)\",\n gl: \"Galacian\",\n ka: \"Georgian\",\n de: \"German (Standard)\",\n \"de-AT\": \"German (Austria)\",\n \"de-DE\": \"German (Germany)\",\n \"de-LI\": \"German (Liechtenstein)\",\n \"de-LU\": \"German (Luxembourg)\",\n \"de-CH\": \"German (Switzerland)\",\n el: \"Greek\",\n gu: \"Gujurati\",\n ht: \"Haitian\",\n he: \"Hebrew\",\n hi: \"Hindi\",\n hu: \"Hungarian\",\n is: \"Icelandic\",\n id: \"Indonesian\",\n iu: \"Inuktitut\",\n ga: \"Irish\",\n it: \"Italian (Standard)\",\n \"it-CH\": \"Italian (Switzerland)\",\n ja: \"Japanese\",\n kn: \"Kannada\",\n ks: \"Kashmiri\",\n kk: \"Kazakh\",\n km: \"Khmer\",\n ky: \"Kirghiz\",\n tlh: \"Klingon\",\n ko: \"Korean\",\n \"ko-KP\": \"Korean (North Korea)\",\n \"ko-KR\": \"Korean (South Korea)\",\n la: \"Latin\",\n lv: \"Latvian\",\n lt: \"Lithuanian\",\n lb: \"Luxembourgish\",\n mk: \"North Macedonia\",\n ms: \"Malay\",\n ml: \"Malayalam\",\n mt: \"Maltese\",\n mi: \"Maori\",\n mr: \"Marathi\",\n mo: \"Moldavian\",\n nv: \"Navajo\",\n ng: \"Ndonga\",\n ne: \"Nepali\",\n no: \"Norwegian\",\n nb: \"Norwegian (Bokmal)\",\n nn: \"Norwegian (Nynorsk)\",\n oc: \"Occitan\",\n or: \"Oriya\",\n om: \"Oromo\",\n fa: \"Persian\",\n \"fa-IR\": \"Persian/Iran\",\n pl: \"Polish\",\n pt: \"Portuguese\",\n \"pt-BR\": \"Portuguese (Brazil)\",\n pa: \"Punjabi\",\n \"pa-IN\": \"Punjabi (India)\",\n \"pa-PK\": \"Punjabi (Pakistan)\",\n qu: \"Quechua\",\n rm: \"Rhaeto-Romanic\",\n ro: \"Romanian\",\n \"ro-MO\": \"Romanian (Moldavia)\",\n ru: \"Russian\",\n \"ru-MO\": \"Russian (Moldavia)\",\n sz: \"Sami (Lappish)\",\n sg: \"Sango\",\n sa: \"Sanskrit\",\n sc: \"Sardinian\",\n sd: \"Sindhi\",\n si: \"Singhalese\",\n sr: \"Serbian\",\n sk: \"Slovak\",\n sl: \"Slovenian\",\n so: \"Somani\",\n sb: \"Sorbian\",\n es: \"Spanish\",\n \"es-AR\": \"Spanish (Argentina)\",\n \"es-BO\": \"Spanish (Bolivia)\",\n \"es-CL\": \"Spanish (Chile)\",\n \"es-CO\": \"Spanish (Colombia)\",\n \"es-CR\": \"Spanish (Costa Rica)\",\n \"es-DO\": \"Spanish (Dominican Republic)\",\n \"es-EC\": \"Spanish (Ecuador)\",\n \"es-SV\": \"Spanish (El Salvador)\",\n \"es-GT\": \"Spanish (Guatemala)\",\n \"es-HN\": \"Spanish (Honduras)\",\n \"es-MX\": \"Spanish (Mexico)\",\n \"es-NI\": \"Spanish (Nicaragua)\",\n \"es-PA\": \"Spanish (Panama)\",\n \"es-PY\": \"Spanish (Paraguay)\",\n \"es-PE\": \"Spanish (Peru)\",\n \"es-PR\": \"Spanish (Puerto Rico)\",\n \"es-ES\": \"Spanish (Spain)\",\n \"es-UY\": \"Spanish (Uruguay)\",\n \"es-VE\": \"Spanish (Venezuela)\",\n sx: \"Sutu\",\n sw: \"Swahili\",\n sv: \"Swedish\",\n \"sv-FI\": \"Swedish (Finland)\",\n \"sv-SV\": \"Swedish (Sweden)\",\n ta: \"Tamil\",\n tt: \"Tatar\",\n te: \"Teluga\",\n th: \"Thai\",\n tig: \"Tigre\",\n ts: \"Tsonga\",\n tn: \"Tswana\",\n tr: \"Turkish\",\n tk: \"Turkmen\",\n uk: \"Ukrainian\",\n hsb: \"Upper Sorbian\",\n ur: \"Urdu\",\n ve: \"Venda\",\n vi: \"Vietnamese\",\n vo: \"Volapuk\",\n wa: \"Walloon\",\n cy: \"Welsh\",\n xh: \"Xhosa\",\n ji: \"Yiddish\",\n zu: \"Zulu\"\n };\n\n if (this.internal.languageSettings === undefined) {\n this.internal.languageSettings = {};\n this.internal.languageSettings.isSubscribed = false;\n }\n\n if (langCodes[langCode] !== undefined) {\n this.internal.languageSettings.languageCode = langCode;\n if (this.internal.languageSettings.isSubscribed === false) {\n this.internal.events.subscribe(\"putCatalog\", function() {\n this.internal.write(\n \"/Lang (\" + this.internal.languageSettings.languageCode + \")\"\n );\n });\n this.internal.languageSettings.isSubscribed = true;\n }\n }\n return this;\n };\n})(jsPDF.API);\n","/** @license\n jsPDF standard_fonts_metrics plugin\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n * MIT license.\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n * \n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * This file adds the standard font metrics to jsPDF.\n *\n * Font metrics data is reprocessed derivative of contents of\n * \"Font Metrics for PDF Core 14 Fonts\" package, which exhibits the following copyright and license:\n *\n * Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.\n *\n * This file and the 14 PostScript(R) AFM files it accompanies may be used,\n * copied, and distributed for any purpose and without charge, with or without\n * modification, provided that all copyright notices are retained; that the AFM\n * files are not distributed without this file; that all modifications to this\n * file or any of the AFM files are prominently noted in the modified file(s);\n * and that this paragraph is not modified. Adobe Systems has no responsibility\n * or obligation to support the use of the AFM files.\n *\n * @name standard_fonts_metrics\n * @module\n */\n\n(function(API) {\n \"use strict\";\n API.__fontmetrics__ = API.__fontmetrics__ || {};\n\n var decoded = \"0123456789abcdef\",\n encoded = \"klmnopqrstuvwxyz\",\n mappingUncompress = {},\n mappingCompress = {};\n\n for (var i = 0; i < encoded.length; i++) {\n mappingUncompress[encoded[i]] = decoded[i];\n mappingCompress[decoded[i]] = encoded[i];\n }\n\n var hex = function(value) {\n return \"0x\" + parseInt(value, 10).toString(16);\n };\n\n var compress = (API.__fontmetrics__.compress = function(data) {\n var vals = [\"{\"];\n var value, keystring, valuestring, numberprefix;\n\n for (var key in data) {\n value = data[key];\n\n if (!isNaN(parseInt(key, 10))) {\n key = parseInt(key, 10);\n keystring = hex(key).slice(2);\n keystring =\n keystring.slice(0, -1) + mappingCompress[keystring.slice(-1)];\n } else {\n keystring = \"'\" + key + \"'\";\n }\n\n if (typeof value == \"number\") {\n if (value < 0) {\n valuestring = hex(value).slice(3);\n numberprefix = \"-\";\n } else {\n valuestring = hex(value).slice(2);\n numberprefix = \"\";\n }\n valuestring =\n numberprefix +\n valuestring.slice(0, -1) +\n mappingCompress[valuestring.slice(-1)];\n } else {\n if (typeof value === \"object\") {\n valuestring = compress(value);\n } else {\n throw new Error(\n \"Don't know what to do with value type \" + typeof value + \".\"\n );\n }\n }\n vals.push(keystring + valuestring);\n }\n vals.push(\"}\");\n return vals.join(\"\");\n });\n\n /**\n * Uncompresses data compressed into custom, base16-like format.\n *\n * @public\n * @function\n * @param\n * @returns {Type}\n */\n var uncompress = (API.__fontmetrics__.uncompress = function(data) {\n if (typeof data !== \"string\") {\n throw new Error(\"Invalid argument passed to uncompress.\");\n }\n\n var output = {},\n sign = 1,\n stringparts, // undef. will be [] in string mode\n activeobject = output,\n parentchain = [],\n parent_key_pair,\n keyparts = \"\",\n valueparts = \"\",\n key, // undef. will be Truthy when Key is resolved.\n datalen = data.length - 1, // stripping ending }\n ch;\n\n for (var i = 1; i < datalen; i += 1) {\n // - { } ' are special.\n\n ch = data[i];\n\n if (ch == \"'\") {\n if (stringparts) {\n // end of string mode\n key = stringparts.join(\"\");\n stringparts = undefined;\n } else {\n // start of string mode\n stringparts = [];\n }\n } else if (stringparts) {\n stringparts.push(ch);\n } else if (ch == \"{\") {\n // start of object\n parentchain.push([activeobject, key]);\n activeobject = {};\n key = undefined;\n } else if (ch == \"}\") {\n // end of object\n parent_key_pair = parentchain.pop();\n parent_key_pair[0][parent_key_pair[1]] = activeobject;\n key = undefined;\n activeobject = parent_key_pair[0];\n } else if (ch == \"-\") {\n sign = -1;\n } else {\n // must be number\n if (key === undefined) {\n if (mappingUncompress.hasOwnProperty(ch)) {\n keyparts += mappingUncompress[ch];\n key = parseInt(keyparts, 16) * sign;\n sign = +1;\n keyparts = \"\";\n } else {\n keyparts += ch;\n }\n } else {\n if (mappingUncompress.hasOwnProperty(ch)) {\n valueparts += mappingUncompress[ch];\n activeobject[key] = parseInt(valueparts, 16) * sign;\n sign = +1;\n key = undefined;\n valueparts = \"\";\n } else {\n valueparts += ch;\n }\n }\n }\n }\n return output;\n });\n\n // encoding = 'Unicode'\n // NOT UTF8, NOT UTF16BE/LE, NOT UCS2BE/LE. NO clever BOM behavior\n // Actual 16bit char codes used.\n // no multi-byte logic here\n\n // Unicode characters to WinAnsiEncoding:\n // {402: 131, 8211: 150, 8212: 151, 8216: 145, 8217: 146, 8218: 130, 8220: 147, 8221: 148, 8222: 132, 8224: 134, 8225: 135, 8226: 149, 8230: 133, 8364: 128, 8240:137, 8249: 139, 8250: 155, 710: 136, 8482: 153, 338: 140, 339: 156, 732: 152, 352: 138, 353: 154, 376: 159, 381: 142, 382: 158}\n // as you can see, all Unicode chars are outside of 0-255 range. No char code conflicts.\n // this means that you can give Win cp1252 encoded strings to jsPDF for rendering directly\n // as well as give strings with some (supported by these fonts) Unicode characters and\n // these will be mapped to win cp1252\n // for example, you can send char code (cp1252) 0x80 or (unicode) 0x20AC, getting \"Euro\" glyph displayed in both cases.\n\n var encodingBlock = {\n codePages: [\"WinAnsiEncoding\"],\n WinAnsiEncoding: uncompress(\n \"{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}\"\n )\n };\n var encodings = {\n Unicode: {\n Courier: encodingBlock,\n \"Courier-Bold\": encodingBlock,\n \"Courier-BoldOblique\": encodingBlock,\n \"Courier-Oblique\": encodingBlock,\n Helvetica: encodingBlock,\n \"Helvetica-Bold\": encodingBlock,\n \"Helvetica-BoldOblique\": encodingBlock,\n \"Helvetica-Oblique\": encodingBlock,\n \"Times-Roman\": encodingBlock,\n \"Times-Bold\": encodingBlock,\n \"Times-BoldItalic\": encodingBlock,\n \"Times-Italic\": encodingBlock\n //\t, 'Symbol'\n //\t, 'ZapfDingbats'\n }\n };\n\n var fontMetrics = {\n Unicode: {\n // all sizing numbers are n/fontMetricsFractionOf = one font size unit\n // this means that if fontMetricsFractionOf = 1000, and letter A's width is 476, it's\n // width is 476/1000 or 47.6% of its height (regardless of font size)\n // At this time this value applies to \"widths\" and \"kerning\" numbers.\n\n // char code 0 represents \"default\" (average) width - use it for chars missing in this table.\n // key 'fof' represents the \"fontMetricsFractionOf\" value\n\n \"Courier-Oblique\": uncompress(\n \"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"\n ),\n \"Times-BoldItalic\": uncompress(\n \"{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}\"\n ),\n \"Helvetica-Bold\": uncompress(\n \"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"\n ),\n Courier: uncompress(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Courier-BoldOblique\": uncompress(\n \"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"\n ),\n \"Times-Bold\": uncompress(\n \"{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}\"\n ),\n Symbol: uncompress(\n \"{'widths'{k3uaw4r19m3m2k1t2l2l202m2y2n3m2p5n202q6o3k3m2s2l2t2l2v3r2w1t3m3m2y1t2z1wbk2sbl3r'fof'6o3n3m3o3m3p3m3q3m3r3m3s3m3t3m3u1w3v1w3w3r3x3r3y3r3z2wbp3t3l3m5v2l5x2l5z3m2q4yfr3r7v3k7w1o7x3k}'kerning'{'fof'-6o}}\"\n ),\n Helvetica: uncompress(\n \"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"\n ),\n \"Helvetica-BoldOblique\": uncompress(\n \"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"\n ),\n ZapfDingbats: uncompress(\"{'widths'{k4u2k1w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Courier-Bold\": uncompress(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Times-Italic\": uncompress(\n \"{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}\"\n ),\n \"Times-Roman\": uncompress(\n \"{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}\"\n ),\n \"Helvetica-Oblique\": uncompress(\n \"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"\n )\n }\n };\n\n /*\n\tThis event handler is fired when a new jsPDF object is initialized\n\tThis event handler appends metrics data to standard fonts within\n\tthat jsPDF instance. The metrics are mapped over Unicode character\n\tcodes, NOT CIDs or other codes matching the StandardEncoding table of the\n\tstandard PDF fonts.\n\tFuture:\n\tAlso included is the encoding maping table, converting Unicode (UCS-2, UTF-16)\n\tchar codes to StandardEncoding character codes. The encoding table is to be used\n\tsomewhere around \"pdfEscape\" call.\n\t*/\n API.events.push([\n \"addFont\",\n function(data) {\n var font = data.font;\n\n var metrics = fontMetrics[\"Unicode\"][font.postScriptName];\n if (metrics) {\n font.metadata[\"Unicode\"] = {};\n font.metadata[\"Unicode\"].widths = metrics.widths;\n font.metadata[\"Unicode\"].kerning = metrics.kerning;\n }\n\n var encodingBlock = encodings[\"Unicode\"][font.postScriptName];\n if (encodingBlock) {\n font.metadata[\"Unicode\"].encoding = encodingBlock;\n font.encoding = encodingBlock.codePages[0];\n }\n }\n ]); // end of adding event handler\n})(jsPDF.API);\n","/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { atob } from \"../libs/AtobBtoa.js\";\n\n/**\n * @name ttfsupport\n * @module\n */\n(function(jsPDF) {\n \"use strict\";\n\n var binaryStringToUint8Array = function(binary_string) {\n var len = binary_string.length;\n var bytes = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n return bytes;\n };\n\n var addFont = function(font, file) {\n // eslint-disable-next-line no-control-regex\n if (/^\\x00\\x01\\x00\\x00/.test(file)) {\n file = binaryStringToUint8Array(file);\n } else {\n file = binaryStringToUint8Array(atob(file));\n }\n font.metadata = jsPDF.API.TTFFont.open(file);\n font.metadata.Unicode = font.metadata.Unicode || {\n encoding: {},\n kerning: {},\n widths: []\n };\n font.metadata.glyIdsUsed = [0];\n };\n\n jsPDF.API.events.push([\n \"addFont\",\n function(data) {\n var file = undefined;\n var font = data.font;\n var instance = data.instance;\n if (font.isStandardFont) {\n return;\n }\n if (typeof instance !== \"undefined\") {\n if (instance.existsFileInVFS(font.postScriptName) === false) {\n file = instance.loadFile(font.postScriptName);\n } else {\n file = instance.getFileFromVFS(font.postScriptName);\n }\n if (typeof file !== \"string\") {\n throw new Error(\n \"Font is not stored as string-data in vFS, import fonts or remove declaration doc.addFont('\" +\n font.postScriptName +\n \"').\"\n );\n }\n addFont(font, file);\n } else {\n throw new Error(\n \"Font does not exist in vFS, import fonts or remove declaration doc.addFont('\" +\n font.postScriptName +\n \"').\"\n );\n }\n }\n ]); // end of adding event handler\n})(jsPDF);\n","/** @license\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { console } from \"../libs/console.js\";\nimport { globalObject } from \"../libs/globalObject.js\";\n\n/**\n * jsPDF SVG plugin\n *\n * @name svg\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n function loadCanvg() {\n return (function() {\n if (globalObject[\"canvg\"]) {\n return Promise.resolve(globalObject[\"canvg\"]);\n }\n\n\n if (typeof exports === \"object\" && typeof module !== \"undefined\") {\n return new Promise(function(resolve, reject) {\n try {\n resolve(require(\"canvg\"));\n } catch (e) {\n reject(e);\n }\n });\n }\n if (typeof define === \"function\" && define.amd) {\n return new Promise(function(resolve, reject) {\n try {\n require([\"canvg\"], resolve);\n } catch (e) {\n reject(e);\n }\n });\n }\n return Promise.reject(new Error(\"Could not load canvg\"));\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load canvg: \" + e));\n })\n .then(function(canvg) {\n return canvg.default ? canvg.default : canvg;\n });\n }\n\n /**\n * Parses SVG XML and saves it as image into the PDF.\n *\n * Depends on canvas-element and canvg\n *\n * @name addSvgAsImage\n * @public\n * @function\n * @param {string} SVG-Data as Text\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param {number} width of SVG-Image (in units declared at inception of PDF document)\n * @param {number} height of SVG-Image (in units declared at inception of PDF document)\n * @param {string} alias of SVG-Image (if used multiple times)\n * @param {string} compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW'\n * @param {number} rotation of the image in degrees (0-359)\n *\n * @returns jsPDF jsPDF-instance\n */\n jsPDFAPI.addSvgAsImage = function(\n svg,\n x,\n y,\n w,\n h,\n alias,\n compression,\n rotation\n ) {\n if (isNaN(x) || isNaN(y)) {\n console.error(\"jsPDF.addSvgAsImage: Invalid coordinates\", arguments);\n throw new Error(\"Invalid coordinates passed to jsPDF.addSvgAsImage\");\n }\n\n if (isNaN(w) || isNaN(h)) {\n console.error(\"jsPDF.addSvgAsImage: Invalid measurements\", arguments);\n throw new Error(\n \"Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage\"\n );\n }\n\n var canvas = document.createElement(\"canvas\");\n canvas.width = w;\n canvas.height = h;\n var ctx = canvas.getContext(\"2d\");\n ctx.fillStyle = \"#fff\"; /// set white fill style\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n\n var options = {\n ignoreMouse: true,\n ignoreAnimation: true,\n ignoreDimensions: true\n };\n var doc = this;\n return loadCanvg()\n .then(\n function(canvg) {\n return canvg.fromString(ctx, svg, options);\n },\n function() {\n return Promise.reject(new Error(\"Could not load canvg.\"));\n }\n )\n .then(function(instance) {\n return instance.render(options);\n })\n .then(function() {\n doc.addImage(\n canvas.toDataURL(\"image/jpeg\", 1.0),\n x,\n y,\n w,\n h,\n compression,\n rotation\n );\n });\n };\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF total_pages plugin\n * @name total_pages\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n /**\n * @name putTotalPages\n * @function\n * @param {string} pageExpression Regular Expression\n * @returns {jsPDF} jsPDF-instance\n */\n\n jsPDFAPI.putTotalPages = function(pageExpression) {\n \"use strict\";\n\n var replaceExpression;\n var totalNumberOfPages = 0;\n if (parseInt(this.internal.getFont().id.substr(1), 10) < 15) {\n replaceExpression = new RegExp(pageExpression, \"g\");\n totalNumberOfPages = this.internal.getNumberOfPages();\n } else {\n replaceExpression = new RegExp(\n this.pdfEscape16(pageExpression, this.internal.getFont()),\n \"g\"\n );\n totalNumberOfPages = this.pdfEscape16(\n this.internal.getNumberOfPages() + \"\",\n this.internal.getFont()\n );\n }\n\n for (var n = 1; n <= this.internal.getNumberOfPages(); n++) {\n for (var i = 0; i < this.internal.pages[n].length; i++) {\n this.internal.pages[n][i] = this.internal.pages[n][i].replace(\n replaceExpression,\n totalNumberOfPages\n );\n }\n }\n\n return this;\n };\n})(jsPDF.API);\n","/**\n * @license\n * jsPDF viewerPreferences Plugin\n * @author Aras Abbasi (github.com/arasabbasi)\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * Adds the ability to set ViewerPreferences and by thus\n * controlling the way the document is to be presented on the\n * screen or in print.\n * @name viewerpreferences\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n /**\n * Set the ViewerPreferences of the generated PDF\n *\n * @name viewerPreferences\n * @function\n * @public\n * @param {Object} options Array with the ViewerPreferences
    \n * Example: doc.viewerPreferences({\"FitWindow\":true});
    \n *
    \n * You can set following preferences:
    \n *
    \n * HideToolbar (boolean)
    \n * Default value: false
    \n *
    \n * HideMenubar (boolean)
    \n * Default value: false.
    \n *
    \n * HideWindowUI (boolean)
    \n * Default value: false.
    \n *
    \n * FitWindow (boolean)
    \n * Default value: false.
    \n *
    \n * CenterWindow (boolean)
    \n * Default value: false
    \n *
    \n * DisplayDocTitle (boolean)
    \n * Default value: false.
    \n *
    \n * NonFullScreenPageMode (string)
    \n * Possible values: UseNone, UseOutlines, UseThumbs, UseOC
    \n * Default value: UseNone
    \n *
    \n * Direction (string)
    \n * Possible values: L2R, R2L
    \n * Default value: L2R.
    \n *
    \n * ViewArea (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox.
    \n *
    \n * ViewClip (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox
    \n *
    \n * PrintArea (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox
    \n *
    \n * PrintClip (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox.
    \n *
    \n * PrintScaling (string)
    \n * Possible values: AppDefault, None
    \n * Default value: AppDefault.
    \n *
    \n * Duplex (string)
    \n * Possible values: Simplex, DuplexFlipLongEdge, DuplexFlipShortEdge\n * Default value: none
    \n *
    \n * PickTrayByPDFSize (boolean)
    \n * Default value: false
    \n *
    \n * PrintPageRange (Array)
    \n * Example: [[1,5], [7,9]]
    \n * Default value: as defined by PDF viewer application
    \n *
    \n * NumCopies (Number)
    \n * Possible values: 1, 2, 3, 4, 5
    \n * Default value: 1
    \n *
    \n * For more information see the PDF Reference, sixth edition on Page 577\n * @param {boolean} doReset True to reset the settings\n * @function\n * @returns jsPDF jsPDF-instance\n * @example\n * var doc = new jsPDF()\n * doc.text('This is a test', 10, 10)\n * doc.viewerPreferences({'FitWindow': true}, true)\n * doc.save(\"viewerPreferences.pdf\")\n *\n * // Example printing 10 copies, using cropbox, and hiding UI.\n * doc.viewerPreferences({\n * 'HideWindowUI': true,\n * 'PrintArea': 'CropBox',\n * 'NumCopies': 10\n * })\n */\n jsPDFAPI.viewerPreferences = function(options, doReset) {\n options = options || {};\n doReset = doReset || false;\n\n var configuration;\n var configurationTemplate = {\n HideToolbar: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n HideMenubar: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n HideWindowUI: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n FitWindow: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n CenterWindow: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n DisplayDocTitle: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.4\n },\n NonFullScreenPageMode: {\n defaultValue: \"UseNone\",\n value: \"UseNone\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"UseNone\", \"UseOutlines\", \"UseThumbs\", \"UseOC\"],\n pdfVersion: 1.3\n },\n Direction: {\n defaultValue: \"L2R\",\n value: \"L2R\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"L2R\", \"R2L\"],\n pdfVersion: 1.3\n },\n ViewArea: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n ViewClip: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintArea: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintClip: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintScaling: {\n defaultValue: \"AppDefault\",\n value: \"AppDefault\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"AppDefault\", \"None\"],\n pdfVersion: 1.6\n },\n Duplex: {\n defaultValue: \"\",\n value: \"none\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\n \"Simplex\",\n \"DuplexFlipShortEdge\",\n \"DuplexFlipLongEdge\",\n \"none\"\n ],\n pdfVersion: 1.7\n },\n PickTrayByPDFSize: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.7\n },\n PrintPageRange: {\n defaultValue: \"\",\n value: \"\",\n type: \"array\",\n explicitSet: false,\n valueSet: null,\n pdfVersion: 1.7\n },\n NumCopies: {\n defaultValue: 1,\n value: 1,\n type: \"integer\",\n explicitSet: false,\n valueSet: null,\n pdfVersion: 1.7\n }\n };\n\n var configurationKeys = Object.keys(configurationTemplate);\n\n var rangeArray = [];\n var i = 0;\n var j = 0;\n var k = 0;\n var isValid;\n\n var method;\n var value;\n\n function arrayContainsElement(array, element) {\n var iterator;\n var result = false;\n\n for (iterator = 0; iterator < array.length; iterator += 1) {\n if (array[iterator] === element) {\n result = true;\n }\n }\n return result;\n }\n\n if (this.internal.viewerpreferences === undefined) {\n this.internal.viewerpreferences = {};\n this.internal.viewerpreferences.configuration = JSON.parse(\n JSON.stringify(configurationTemplate)\n );\n this.internal.viewerpreferences.isSubscribed = false;\n }\n configuration = this.internal.viewerpreferences.configuration;\n\n if (options === \"reset\" || doReset === true) {\n var len = configurationKeys.length;\n\n for (k = 0; k < len; k += 1) {\n configuration[configurationKeys[k]].value =\n configuration[configurationKeys[k]].defaultValue;\n configuration[configurationKeys[k]].explicitSet = false;\n }\n }\n\n if (typeof options === \"object\") {\n for (method in options) {\n value = options[method];\n if (\n arrayContainsElement(configurationKeys, method) &&\n value !== undefined\n ) {\n if (\n configuration[method].type === \"boolean\" &&\n typeof value === \"boolean\"\n ) {\n configuration[method].value = value;\n } else if (\n configuration[method].type === \"name\" &&\n arrayContainsElement(configuration[method].valueSet, value)\n ) {\n configuration[method].value = value;\n } else if (\n configuration[method].type === \"integer\" &&\n Number.isInteger(value)\n ) {\n configuration[method].value = value;\n } else if (configuration[method].type === \"array\") {\n for (i = 0; i < value.length; i += 1) {\n isValid = true;\n if (value[i].length === 1 && typeof value[i][0] === \"number\") {\n rangeArray.push(String(value[i] - 1));\n } else if (value[i].length > 1) {\n for (j = 0; j < value[i].length; j += 1) {\n if (typeof value[i][j] !== \"number\") {\n isValid = false;\n }\n }\n if (isValid === true) {\n rangeArray.push([value[i][0] - 1, value[i][1] - 1].join(\" \"));\n }\n }\n }\n configuration[method].value = \"[\" + rangeArray.join(\" \") + \"]\";\n } else {\n configuration[method].value = configuration[method].defaultValue;\n }\n\n configuration[method].explicitSet = true;\n }\n }\n }\n\n if (this.internal.viewerpreferences.isSubscribed === false) {\n this.internal.events.subscribe(\"putCatalog\", function() {\n var pdfDict = [];\n var vPref;\n for (vPref in configuration) {\n if (configuration[vPref].explicitSet === true) {\n if (configuration[vPref].type === \"name\") {\n pdfDict.push(\"/\" + vPref + \" /\" + configuration[vPref].value);\n } else {\n pdfDict.push(\"/\" + vPref + \" \" + configuration[vPref].value);\n }\n }\n }\n if (pdfDict.length !== 0) {\n this.internal.write(\n \"/ViewerPreferences\\n<<\\n\" + pdfDict.join(\"\\n\") + \"\\n>>\"\n );\n }\n });\n this.internal.viewerpreferences.isSubscribed = true;\n }\n\n this.internal.viewerpreferences.configuration = configuration;\n return this;\n };\n})(jsPDF.API);\n","/** ====================================================================\n * @license\n * jsPDF XMP metadata plugin\n * Copyright (c) 2016 Jussi Utunen, u-jussi@suomi24.fi\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name xmp_metadata\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var postPutResources = function() {\n var xmpmeta_beginning = '';\n var rdf_beginning =\n '';\n var rdf_ending = \"\";\n var xmpmeta_ending = \"\";\n var utf8_xmpmeta_beginning = unescape(\n encodeURIComponent(xmpmeta_beginning)\n );\n var utf8_rdf_beginning = unescape(encodeURIComponent(rdf_beginning));\n var utf8_metadata = unescape(\n encodeURIComponent(this.internal.__metadata__.metadata)\n );\n var utf8_rdf_ending = unescape(encodeURIComponent(rdf_ending));\n var utf8_xmpmeta_ending = unescape(encodeURIComponent(xmpmeta_ending));\n\n var total_len =\n utf8_rdf_beginning.length +\n utf8_metadata.length +\n utf8_rdf_ending.length +\n utf8_xmpmeta_beginning.length +\n utf8_xmpmeta_ending.length;\n\n this.internal.__metadata__.metadata_object_number = this.internal.newObject();\n this.internal.write(\n \"<< /Type /Metadata /Subtype /XML /Length \" + total_len + \" >>\"\n );\n this.internal.write(\"stream\");\n this.internal.write(\n utf8_xmpmeta_beginning +\n utf8_rdf_beginning +\n utf8_metadata +\n utf8_rdf_ending +\n utf8_xmpmeta_ending\n );\n this.internal.write(\"endstream\");\n this.internal.write(\"endobj\");\n };\n\n var putCatalog = function() {\n if (this.internal.__metadata__.metadata_object_number) {\n this.internal.write(\n \"/Metadata \" +\n this.internal.__metadata__.metadata_object_number +\n \" 0 R\"\n );\n }\n };\n\n /**\n * Adds XMP formatted metadata to PDF\n *\n * @name addMetadata\n * @function\n * @param {String} metadata The actual metadata to be added. The metadata shall be stored as XMP simple value. Note that if the metadata string contains XML markup characters \"<\", \">\" or \"&\", those characters should be written using XML entities.\n * @param {String} namespaceuri Sets the namespace URI for the metadata. Last character should be slash or hash.\n * @returns {jsPDF} jsPDF-instance\n */\n jsPDFAPI.addMetadata = function(metadata, namespaceuri) {\n if (typeof this.internal.__metadata__ === \"undefined\") {\n this.internal.__metadata__ = {\n metadata: metadata,\n namespaceuri: namespaceuri || \"http://jspdf.default.namespaceuri/\"\n };\n this.internal.events.subscribe(\"putCatalog\", putCatalog);\n\n this.internal.events.subscribe(\"postPutResources\", postPutResources);\n }\n return this;\n };\n})(jsPDF.API);\n","import { jsPDF } from \"../jspdf.js\";\nimport { toPDFName } from \"../libs/pdfname.js\";\n\n/**\n * @name utf8\n * @module\n */\n(function(jsPDF) {\n \"use strict\";\n var jsPDFAPI = jsPDF.API;\n\n /***************************************************************************************************/\n /* function : pdfEscape16 */\n /* comment : The character id of a 2-byte string is converted to a hexadecimal number by obtaining */\n /* the corresponding glyph id and width, and then adding padding to the string. */\n /***************************************************************************************************/\n var pdfEscape16 = (jsPDFAPI.pdfEscape16 = function(text, font) {\n var widths = font.metadata.Unicode.widths;\n var padz = [\"\", \"0\", \"00\", \"000\", \"0000\"];\n var ar = [\"\"];\n for (var i = 0, l = text.length, t; i < l; ++i) {\n t = font.metadata.characterToGlyph(text.charCodeAt(i));\n font.metadata.glyIdsUsed.push(t);\n font.metadata.toUnicode[t] = text.charCodeAt(i);\n if (widths.indexOf(t) == -1) {\n widths.push(t);\n widths.push([parseInt(font.metadata.widthOfGlyph(t), 10)]);\n }\n if (t == \"0\") {\n //Spaces are not allowed in cmap.\n return ar.join(\"\");\n } else {\n t = t.toString(16);\n ar.push(padz[4 - t.length], t);\n }\n }\n return ar.join(\"\");\n });\n\n var toUnicodeCmap = function(map) {\n var code, codes, range, unicode, unicodeMap, _i, _len;\n unicodeMap =\n \"/CIDInit /ProcSet findresource begin\\n12 dict begin\\nbegincmap\\n/CIDSystemInfo <<\\n /Registry (Adobe)\\n /Ordering (UCS)\\n /Supplement 0\\n>> def\\n/CMapName /Adobe-Identity-UCS def\\n/CMapType 2 def\\n1 begincodespacerange\\n<0000>\\nendcodespacerange\";\n codes = Object.keys(map).sort(function(a, b) {\n return a - b;\n });\n\n range = [];\n for (_i = 0, _len = codes.length; _i < _len; _i++) {\n code = codes[_i];\n if (range.length >= 100) {\n unicodeMap +=\n \"\\n\" +\n range.length +\n \" beginbfchar\\n\" +\n range.join(\"\\n\") +\n \"\\nendbfchar\";\n range = [];\n }\n\n if (\n map[code] !== undefined &&\n map[code] !== null &&\n typeof map[code].toString === \"function\"\n ) {\n unicode = (\"0000\" + map[code].toString(16)).slice(-4);\n code = (\"0000\" + (+code).toString(16)).slice(-4);\n range.push(\"<\" + code + \"><\" + unicode + \">\");\n }\n }\n\n if (range.length) {\n unicodeMap +=\n \"\\n\" +\n range.length +\n \" beginbfchar\\n\" +\n range.join(\"\\n\") +\n \"\\nendbfchar\\n\";\n }\n unicodeMap +=\n \"endcmap\\nCMapName currentdict /CMap defineresource pop\\nend\\nend\";\n return unicodeMap;\n };\n\n var identityHFunction = function(options) {\n var font = options.font;\n var out = options.out;\n var newObject = options.newObject;\n var putStream = options.putStream;\n\n if (\n font.metadata instanceof jsPDF.API.TTFFont &&\n font.encoding === \"Identity-H\"\n ) {\n //Tag with Identity-H\n var widths = font.metadata.Unicode.widths;\n var data = font.metadata.subset.encode(font.metadata.glyIdsUsed, 1);\n var pdfOutput = data;\n var pdfOutput2 = \"\";\n for (var i = 0; i < pdfOutput.length; i++) {\n pdfOutput2 += String.fromCharCode(pdfOutput[i]);\n }\n var fontTable = newObject();\n putStream({ data: pdfOutput2, addLength1: true, objectId: fontTable });\n out(\"endobj\");\n\n var cmap = newObject();\n var cmapData = toUnicodeCmap(font.metadata.toUnicode);\n putStream({ data: cmapData, addLength1: true, objectId: cmap });\n out(\"endobj\");\n\n var fontDescriptor = newObject();\n out(\"<<\");\n out(\"/Type /FontDescriptor\");\n out(\"/FontName /\" + toPDFName(font.fontName));\n out(\"/FontFile2 \" + fontTable + \" 0 R\");\n out(\"/FontBBox \" + jsPDF.API.PDFObject.convert(font.metadata.bbox));\n out(\"/Flags \" + font.metadata.flags);\n out(\"/StemV \" + font.metadata.stemV);\n out(\"/ItalicAngle \" + font.metadata.italicAngle);\n out(\"/Ascent \" + font.metadata.ascender);\n out(\"/Descent \" + font.metadata.decender);\n out(\"/CapHeight \" + font.metadata.capHeight);\n out(\">>\");\n out(\"endobj\");\n\n var DescendantFont = newObject();\n out(\"<<\");\n out(\"/Type /Font\");\n out(\"/BaseFont /\" + toPDFName(font.fontName));\n out(\"/FontDescriptor \" + fontDescriptor + \" 0 R\");\n out(\"/W \" + jsPDF.API.PDFObject.convert(widths));\n out(\"/CIDToGIDMap /Identity\");\n out(\"/DW 1000\");\n out(\"/Subtype /CIDFontType2\");\n out(\"/CIDSystemInfo\");\n out(\"<<\");\n out(\"/Supplement 0\");\n out(\"/Registry (Adobe)\");\n out(\"/Ordering (\" + font.encoding + \")\");\n out(\">>\");\n out(\">>\");\n out(\"endobj\");\n\n font.objectNumber = newObject();\n out(\"<<\");\n out(\"/Type /Font\");\n out(\"/Subtype /Type0\");\n out(\"/ToUnicode \" + cmap + \" 0 R\");\n out(\"/BaseFont /\" + toPDFName(font.fontName));\n out(\"/Encoding /\" + font.encoding);\n out(\"/DescendantFonts [\" + DescendantFont + \" 0 R]\");\n out(\">>\");\n out(\"endobj\");\n\n font.isAlreadyPutted = true;\n }\n };\n\n jsPDFAPI.events.push([\n \"putFont\",\n function(args) {\n identityHFunction(args);\n }\n ]);\n\n var winAnsiEncodingFunction = function(options) {\n var font = options.font;\n var out = options.out;\n var newObject = options.newObject;\n var putStream = options.putStream;\n\n if (\n font.metadata instanceof jsPDF.API.TTFFont &&\n font.encoding === \"WinAnsiEncoding\"\n ) {\n //Tag with WinAnsi encoding\n var data = font.metadata.rawData;\n var pdfOutput = data;\n var pdfOutput2 = \"\";\n for (var i = 0; i < pdfOutput.length; i++) {\n pdfOutput2 += String.fromCharCode(pdfOutput[i]);\n }\n var fontTable = newObject();\n putStream({ data: pdfOutput2, addLength1: true, objectId: fontTable });\n out(\"endobj\");\n\n var cmap = newObject();\n var cmapData = toUnicodeCmap(font.metadata.toUnicode);\n putStream({ data: cmapData, addLength1: true, objectId: cmap });\n out(\"endobj\");\n\n var fontDescriptor = newObject();\n out(\"<<\");\n out(\"/Descent \" + font.metadata.decender);\n out(\"/CapHeight \" + font.metadata.capHeight);\n out(\"/StemV \" + font.metadata.stemV);\n out(\"/Type /FontDescriptor\");\n out(\"/FontFile2 \" + fontTable + \" 0 R\");\n out(\"/Flags 96\");\n out(\"/FontBBox \" + jsPDF.API.PDFObject.convert(font.metadata.bbox));\n out(\"/FontName /\" + toPDFName(font.fontName));\n out(\"/ItalicAngle \" + font.metadata.italicAngle);\n out(\"/Ascent \" + font.metadata.ascender);\n out(\">>\");\n out(\"endobj\");\n font.objectNumber = newObject();\n for (var j = 0; j < font.metadata.hmtx.widths.length; j++) {\n font.metadata.hmtx.widths[j] = parseInt(\n font.metadata.hmtx.widths[j] * (1000 / font.metadata.head.unitsPerEm)\n ); //Change the width of Em units to Point units.\n }\n out(\n \"<>\"\n );\n out(\"endobj\");\n font.isAlreadyPutted = true;\n }\n };\n\n jsPDFAPI.events.push([\n \"putFont\",\n function(args) {\n winAnsiEncodingFunction(args);\n }\n ]);\n\n var utf8TextFunction = function(args) {\n var text = args.text || \"\";\n var x = args.x;\n var y = args.y;\n var options = args.options || {};\n var mutex = args.mutex || {};\n\n var pdfEscape = mutex.pdfEscape;\n var activeFontKey = mutex.activeFontKey;\n var fonts = mutex.fonts;\n var key = activeFontKey;\n\n var str = \"\",\n s = 0,\n cmapConfirm;\n var strText = \"\";\n var encoding = fonts[key].encoding;\n\n if (fonts[key].encoding !== \"Identity-H\") {\n return {\n text: text,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n }\n strText = text;\n\n key = activeFontKey;\n if (Array.isArray(text)) {\n strText = text[0];\n }\n for (s = 0; s < strText.length; s += 1) {\n if (fonts[key].metadata.hasOwnProperty(\"cmap\")) {\n cmapConfirm =\n fonts[key].metadata.cmap.unicode.codeMap[strText[s].charCodeAt(0)];\n /*\n if (Object.prototype.toString.call(text) === '[object Array]') {\n var i = 0;\n // for (i = 0; i < text.length; i += 1) {\n if (Object.prototype.toString.call(text[s]) === '[object Array]') {\n cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s][0].charCodeAt(0)]; //Make sure the cmap has the corresponding glyph id\n } else {\n\n }\n //}\n\n } else {\n cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s].charCodeAt(0)]; //Make sure the cmap has the corresponding glyph id\n }*/\n }\n if (!cmapConfirm) {\n if (\n strText[s].charCodeAt(0) < 256 &&\n fonts[key].metadata.hasOwnProperty(\"Unicode\")\n ) {\n str += strText[s];\n } else {\n str += \"\";\n }\n } else {\n str += strText[s];\n }\n }\n var result = \"\";\n if (parseInt(key.slice(1)) < 14 || encoding === \"WinAnsiEncoding\") {\n //For the default 13 font\n result = pdfEscape(str, key)\n .split(\"\")\n .map(function(cv) {\n return cv.charCodeAt(0).toString(16);\n })\n .join(\"\");\n } else if (encoding === \"Identity-H\") {\n result = pdfEscape16(str, fonts[key]);\n }\n mutex.isHex = true;\n\n return {\n text: result,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n };\n\n var utf8EscapeFunction = function(parms) {\n var text = parms.text || \"\",\n x = parms.x,\n y = parms.y,\n options = parms.options,\n mutex = parms.mutex;\n var tmpText = [];\n var args = {\n text: text,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n\n if (Array.isArray(text)) {\n var i = 0;\n for (i = 0; i < text.length; i += 1) {\n if (Array.isArray(text[i])) {\n if (text[i].length === 3) {\n tmpText.push([\n utf8TextFunction(Object.assign({}, args, { text: text[i][0] }))\n .text,\n text[i][1],\n text[i][2]\n ]);\n } else {\n tmpText.push(\n utf8TextFunction(Object.assign({}, args, { text: text[i] })).text\n );\n }\n } else {\n tmpText.push(\n utf8TextFunction(Object.assign({}, args, { text: text[i] })).text\n );\n }\n }\n parms.text = tmpText;\n } else {\n parms.text = utf8TextFunction(\n Object.assign({}, args, { text: text })\n ).text;\n }\n };\n\n jsPDFAPI.events.push([\"postProcessText\", utf8EscapeFunction]);\n})(jsPDF);\n","/**\n * @license\n * jsPDF virtual FileSystem functionality\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * Use the vFS to handle files\n *\n * @name vFS\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var _initializeVFS = function() {\n if (typeof this.internal.vFS === \"undefined\") {\n this.internal.vFS = {};\n }\n return true;\n };\n\n /**\n * Check if the file exists in the vFS\n *\n * @name existsFileInVFS\n * @function\n * @param {string} Possible filename in the vFS.\n * @returns {boolean}\n * @example\n * doc.existsFileInVFS(\"someFile.txt\");\n */\n jsPDFAPI.existsFileInVFS = function(filename) {\n _initializeVFS.call(this);\n return typeof this.internal.vFS[filename] !== \"undefined\";\n };\n\n /**\n * Add a file to the vFS\n *\n * @name addFileToVFS\n * @function\n * @param {string} filename The name of the file which should be added.\n * @param {string} filecontent The content of the file.\n * @returns {jsPDF}\n * @example\n * doc.addFileToVFS(\"someFile.txt\", \"BADFACE1\");\n */\n jsPDFAPI.addFileToVFS = function(filename, filecontent) {\n _initializeVFS.call(this);\n this.internal.vFS[filename] = filecontent;\n return this;\n };\n\n /**\n * Get the file from the vFS\n *\n * @name getFileFromVFS\n * @function\n * @param {string} The name of the file which gets requested.\n * @returns {string}\n * @example\n * doc.getFileFromVFS(\"someFile.txt\");\n */\n jsPDFAPI.getFileFromVFS = function(filename) {\n _initializeVFS.call(this);\n\n if (typeof this.internal.vFS[filename] !== \"undefined\") {\n return this.internal.vFS[filename];\n }\n return null;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Unicode Bidi Engine based on the work of Alex Shensis (@asthensis)\n * MIT License\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n(function(jsPDF) {\n \"use strict\";\n /**\n * Table of Unicode types.\n *\n * Generated by:\n *\n * var bidi = require(\"./bidi/index\");\n * var bidi_accumulate = bidi.slice(0, 256).concat(bidi.slice(0x0500, 0x0500 + 256 * 3)).\n * concat(bidi.slice(0x2000, 0x2000 + 256)).concat(bidi.slice(0xFB00, 0xFB00 + 256)).\n * concat(bidi.slice(0xFE00, 0xFE00 + 2 * 256));\n *\n * for( var i = 0; i < bidi_accumulate.length; i++) {\n * \tif(bidi_accumulate[i] === undefined || bidi_accumulate[i] === 'ON')\n * \t\tbidi_accumulate[i] = 'N'; //mark as neutral to conserve space and substitute undefined\n * }\n * var bidiAccumulateStr = 'return [ \"' + bidi_accumulate.toString().replace(/,/g, '\", \"') + '\" ];';\n * require(\"fs\").writeFile('unicode-types.js', bidiAccumulateStr);\n *\n * Based on:\n * https://github.com/mathiasbynens/unicode-8.0.0\n */\n var bidiUnicodeTypes = [\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"S\",\n \"B\",\n \"S\",\n \"WS\",\n \"B\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"B\",\n \"B\",\n \"B\",\n \"S\",\n \"WS\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ES\",\n \"CS\",\n \"ES\",\n \"CS\",\n \"CS\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"B\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"CS\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"BN\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"EN\",\n \"EN\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"EN\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"N\",\n \"N\",\n \"AL\",\n \"ET\",\n \"ET\",\n \"AL\",\n \"CS\",\n \"AL\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"ET\",\n \"AN\",\n \"AN\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AN\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\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\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"L\",\n \"R\",\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\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"B\",\n \"LRE\",\n \"RLE\",\n \"PDF\",\n \"LRO\",\n \"RLO\",\n \"CS\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\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\",\n \"N\",\n \"CS\",\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\",\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 \"WS\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"N\",\n \"LRI\",\n \"RLI\",\n \"FSI\",\n \"PDI\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"EN\",\n \"L\",\n \"N\",\n \"N\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\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\",\n \"N\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\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\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\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 \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"NSM\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"ES\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\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\",\n \"N\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\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\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\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\",\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\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"N\",\n \"N\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"N\",\n \"BN\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ES\",\n \"CS\",\n \"ES\",\n \"CS\",\n \"CS\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\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\",\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 * Unicode Bidi algorithm compliant Bidi engine.\n * For reference see http://unicode.org/reports/tr9/\n */\n\n /**\n * constructor ( options )\n *\n * Initializes Bidi engine\n *\n * @param {Object} See 'setOptions' below for detailed description.\n * options are cashed between invocation of 'doBidiReorder' method\n *\n * sample usage pattern of BidiEngine:\n * var opt = {\n * \tisInputVisual: true,\n * \tisInputRtl: false,\n * \tisOutputVisual: false,\n * \tisOutputRtl: false,\n * \tisSymmetricSwapping: true\n * }\n * var sourceToTarget = [], levels = [];\n * var bidiEng = Globalize.bidiEngine(opt);\n * var src = \"text string to be reordered\";\n * var ret = bidiEng.doBidiReorder(src, sourceToTarget, levels);\n */\n\n jsPDF.__bidiEngine__ = jsPDF.prototype.__bidiEngine__ = function(options) {\n var _UNICODE_TYPES = _bidiUnicodeTypes;\n\n var _STATE_TABLE_LTR = [\n [0, 3, 0, 1, 0, 0, 0],\n [0, 3, 0, 1, 2, 2, 0],\n [0, 3, 0, 0x11, 2, 0, 1],\n [0, 3, 5, 5, 4, 1, 0],\n [0, 3, 0x15, 0x15, 4, 0, 1],\n [0, 3, 5, 5, 4, 2, 0]\n ];\n\n var _STATE_TABLE_RTL = [\n [2, 0, 1, 1, 0, 1, 0],\n [2, 0, 1, 1, 0, 2, 0],\n [2, 0, 2, 1, 3, 2, 0],\n [2, 0, 2, 0x21, 3, 1, 1]\n ];\n\n var _TYPE_NAMES_MAP = { L: 0, R: 1, EN: 2, AN: 3, N: 4, B: 5, S: 6 };\n\n var _UNICODE_RANGES_MAP = {\n 0: 0,\n 5: 1,\n 6: 2,\n 7: 3,\n 0x20: 4,\n 0xfb: 5,\n 0xfe: 6,\n 0xff: 7\n };\n\n var _SWAP_TABLE = [\n \"\\u0028\",\n \"\\u0029\",\n \"\\u0028\",\n \"\\u003C\",\n \"\\u003E\",\n \"\\u003C\",\n \"\\u005B\",\n \"\\u005D\",\n \"\\u005B\",\n \"\\u007B\",\n \"\\u007D\",\n \"\\u007B\",\n \"\\u00AB\",\n \"\\u00BB\",\n \"\\u00AB\",\n \"\\u2039\",\n \"\\u203A\",\n \"\\u2039\",\n \"\\u2045\",\n \"\\u2046\",\n \"\\u2045\",\n \"\\u207D\",\n \"\\u207E\",\n \"\\u207D\",\n \"\\u208D\",\n \"\\u208E\",\n \"\\u208D\",\n \"\\u2264\",\n \"\\u2265\",\n \"\\u2264\",\n \"\\u2329\",\n \"\\u232A\",\n \"\\u2329\",\n \"\\uFE59\",\n \"\\uFE5A\",\n \"\\uFE59\",\n \"\\uFE5B\",\n \"\\uFE5C\",\n \"\\uFE5B\",\n \"\\uFE5D\",\n \"\\uFE5E\",\n \"\\uFE5D\",\n \"\\uFE64\",\n \"\\uFE65\",\n \"\\uFE64\"\n ];\n\n var _LTR_RANGES_REG_EXPR = new RegExp(\n /^([1-4|9]|1[0-9]|2[0-9]|3[0168]|4[04589]|5[012]|7[78]|159|16[0-9]|17[0-2]|21[569]|22[03489]|250)$/\n );\n\n var _lastArabic = false,\n _hasUbatAl,\n _hasUbatB,\n _hasUbatS,\n DIR_LTR = 0,\n DIR_RTL = 1,\n _isInVisual,\n _isInRtl,\n _isOutVisual,\n _isOutRtl,\n _isSymmetricSwapping,\n _dir = DIR_LTR;\n\n this.__bidiEngine__ = {};\n\n var _init = function(text, sourceToTargetMap) {\n if (sourceToTargetMap) {\n for (var i = 0; i < text.length; i++) {\n sourceToTargetMap[i] = i;\n }\n }\n if (_isInRtl === undefined) {\n _isInRtl = _isContextualDirRtl(text);\n }\n if (_isOutRtl === undefined) {\n _isOutRtl = _isContextualDirRtl(text);\n }\n };\n\n // for reference see 3.2 in http://unicode.org/reports/tr9/\n //\n var _getCharType = function(ch) {\n var charCode = ch.charCodeAt(),\n range = charCode >> 8,\n rangeIdx = _UNICODE_RANGES_MAP[range];\n\n if (rangeIdx !== undefined) {\n return _UNICODE_TYPES[rangeIdx * 256 + (charCode & 0xff)];\n } else if (range === 0xfc || range === 0xfd) {\n return \"AL\";\n } else if (_LTR_RANGES_REG_EXPR.test(range)) {\n //unlikely case\n return \"L\";\n } else if (range === 8) {\n // even less likely\n return \"R\";\n }\n return \"N\"; //undefined type, mark as neutral\n };\n\n var _isContextualDirRtl = function(text) {\n for (var i = 0, charType; i < text.length; i++) {\n charType = _getCharType(text.charAt(i));\n if (charType === \"L\") {\n return false;\n } else if (charType === \"R\") {\n return true;\n }\n }\n return false;\n };\n\n // for reference see 3.3.4 & 3.3.5 in http://unicode.org/reports/tr9/\n //\n var _resolveCharType = function(chars, types, resolvedTypes, index) {\n var cType = types[index],\n wType,\n nType,\n i,\n len;\n switch (cType) {\n case \"L\":\n case \"R\":\n _lastArabic = false;\n break;\n case \"N\":\n case \"AN\":\n break;\n\n case \"EN\":\n if (_lastArabic) {\n cType = \"AN\";\n }\n break;\n\n case \"AL\":\n _lastArabic = true;\n _hasUbatAl = true;\n cType = \"R\";\n break;\n\n case \"WS\":\n cType = \"N\";\n break;\n\n case \"CS\":\n if (\n index < 1 ||\n index + 1 >= types.length ||\n ((wType = resolvedTypes[index - 1]) !== \"EN\" && wType !== \"AN\") ||\n ((nType = types[index + 1]) !== \"EN\" && nType !== \"AN\")\n ) {\n cType = \"N\";\n } else if (_lastArabic) {\n nType = \"AN\";\n }\n cType = nType === wType ? nType : \"N\";\n break;\n\n case \"ES\":\n wType = index > 0 ? resolvedTypes[index - 1] : \"B\";\n cType =\n wType === \"EN\" &&\n index + 1 < types.length &&\n types[index + 1] === \"EN\"\n ? \"EN\"\n : \"N\";\n break;\n\n case \"ET\":\n if (index > 0 && resolvedTypes[index - 1] === \"EN\") {\n cType = \"EN\";\n break;\n } else if (_lastArabic) {\n cType = \"N\";\n break;\n }\n i = index + 1;\n len = types.length;\n while (i < len && types[i] === \"ET\") {\n i++;\n }\n if (i < len && types[i] === \"EN\") {\n cType = \"EN\";\n } else {\n cType = \"N\";\n }\n break;\n\n case \"NSM\":\n if (_isInVisual && !_isInRtl) {\n //V->L\n len = types.length;\n i = index + 1;\n while (i < len && types[i] === \"NSM\") {\n i++;\n }\n if (i < len) {\n var c = chars[index];\n var rtlCandidate = (c >= 0x0591 && c <= 0x08ff) || c === 0xfb1e;\n wType = types[i];\n if (rtlCandidate && (wType === \"R\" || wType === \"AL\")) {\n cType = \"R\";\n break;\n }\n }\n }\n if (index < 1 || (wType = types[index - 1]) === \"B\") {\n cType = \"N\";\n } else {\n cType = resolvedTypes[index - 1];\n }\n break;\n\n case \"B\":\n _lastArabic = false;\n _hasUbatB = true;\n cType = _dir;\n break;\n\n case \"S\":\n _hasUbatS = true;\n cType = \"N\";\n break;\n\n case \"LRE\":\n case \"RLE\":\n case \"LRO\":\n case \"RLO\":\n case \"PDF\":\n _lastArabic = false;\n break;\n case \"BN\":\n cType = \"N\";\n break;\n }\n return cType;\n };\n\n var _handleUbatS = function(types, levels, length) {\n for (var i = 0; i < length; i++) {\n if (types[i] === \"S\") {\n levels[i] = _dir;\n for (var j = i - 1; j >= 0; j--) {\n if (types[j] === \"WS\") {\n levels[j] = _dir;\n } else {\n break;\n }\n }\n }\n }\n };\n\n var _invertString = function(text, sourceToTargetMap, levels) {\n var charArray = text.split(\"\");\n if (levels) {\n _computeLevels(charArray, levels, { hiLevel: _dir });\n }\n charArray.reverse();\n sourceToTargetMap && sourceToTargetMap.reverse();\n return charArray.join(\"\");\n };\n\n // For reference see 3.3 in http://unicode.org/reports/tr9/\n //\n var _computeLevels = function(chars, levels, params) {\n var action,\n condition,\n i,\n index,\n newLevel,\n prevState,\n condPos = -1,\n len = chars.length,\n newState = 0,\n resolvedTypes = [],\n stateTable = _dir ? _STATE_TABLE_RTL : _STATE_TABLE_LTR,\n types = [];\n\n _lastArabic = false;\n _hasUbatAl = false;\n _hasUbatB = false;\n _hasUbatS = false;\n for (i = 0; i < len; i++) {\n types[i] = _getCharType(chars[i]);\n }\n for (index = 0; index < len; index++) {\n prevState = newState;\n resolvedTypes[index] = _resolveCharType(\n chars,\n types,\n resolvedTypes,\n index\n );\n newState = stateTable[prevState][_TYPE_NAMES_MAP[resolvedTypes[index]]];\n action = newState & 0xf0;\n newState &= 0x0f;\n levels[index] = newLevel = stateTable[newState][5];\n if (action > 0) {\n if (action === 0x10) {\n for (i = condPos; i < index; i++) {\n levels[i] = 1;\n }\n condPos = -1;\n } else {\n condPos = -1;\n }\n }\n condition = stateTable[newState][6];\n if (condition) {\n if (condPos === -1) {\n condPos = index;\n }\n } else {\n if (condPos > -1) {\n for (i = condPos; i < index; i++) {\n levels[i] = newLevel;\n }\n condPos = -1;\n }\n }\n if (types[index] === \"B\") {\n levels[index] = 0;\n }\n params.hiLevel |= newLevel;\n }\n if (_hasUbatS) {\n _handleUbatS(types, levels, len);\n }\n };\n\n // for reference see 3.4 in http://unicode.org/reports/tr9/\n //\n var _invertByLevel = function(\n level,\n charArray,\n sourceToTargetMap,\n levels,\n params\n ) {\n if (params.hiLevel < level) {\n return;\n }\n if (level === 1 && _dir === DIR_RTL && !_hasUbatB) {\n charArray.reverse();\n sourceToTargetMap && sourceToTargetMap.reverse();\n return;\n }\n var ch,\n high,\n end,\n low,\n len = charArray.length,\n start = 0;\n\n while (start < len) {\n if (levels[start] >= level) {\n end = start + 1;\n while (end < len && levels[end] >= level) {\n end++;\n }\n for (low = start, high = end - 1; low < high; low++, high--) {\n ch = charArray[low];\n charArray[low] = charArray[high];\n charArray[high] = ch;\n if (sourceToTargetMap) {\n ch = sourceToTargetMap[low];\n sourceToTargetMap[low] = sourceToTargetMap[high];\n sourceToTargetMap[high] = ch;\n }\n }\n start = end;\n }\n start++;\n }\n };\n\n // for reference see 7 & BD16 in http://unicode.org/reports/tr9/\n //\n var _symmetricSwap = function(charArray, levels, params) {\n if (params.hiLevel !== 0 && _isSymmetricSwapping) {\n for (var i = 0, index; i < charArray.length; i++) {\n if (levels[i] === 1) {\n index = _SWAP_TABLE.indexOf(charArray[i]);\n if (index >= 0) {\n charArray[i] = _SWAP_TABLE[index + 1];\n }\n }\n }\n }\n };\n\n var _reorder = function(text, sourceToTargetMap, levels) {\n var charArray = text.split(\"\"),\n params = { hiLevel: _dir };\n\n if (!levels) {\n levels = [];\n }\n _computeLevels(charArray, levels, params);\n _symmetricSwap(charArray, levels, params);\n _invertByLevel(DIR_RTL + 1, charArray, sourceToTargetMap, levels, params);\n _invertByLevel(DIR_RTL, charArray, sourceToTargetMap, levels, params);\n return charArray.join(\"\");\n };\n\n // doBidiReorder( text, sourceToTargetMap, levels )\n // Performs Bidi reordering by implementing Unicode Bidi algorithm.\n // Returns reordered string\n // @text [String]:\n // - input string to be reordered, this is input parameter\n // $sourceToTargetMap [Array] (optional)\n // - resultant mapping between input and output strings, this is output parameter\n // $levels [Array] (optional)\n // - array of calculated Bidi levels, , this is output parameter\n this.__bidiEngine__.doBidiReorder = function(\n text,\n sourceToTargetMap,\n levels\n ) {\n _init(text, sourceToTargetMap);\n if (!_isInVisual && _isOutVisual && !_isOutRtl) {\n // LLTR->VLTR, LRTL->VLTR\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else if (_isInVisual && _isOutVisual && _isInRtl ^ _isOutRtl) {\n // VRTL->VLTR, VLTR->VRTL\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _invertString(text, sourceToTargetMap, levels);\n } else if (!_isInVisual && _isOutVisual && _isOutRtl) {\n // LLTR->VRTL, LRTL->VRTL\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n } else if (_isInVisual && !_isInRtl && !_isOutVisual && !_isOutRtl) {\n // VLTR->LLTR\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else if (_isInVisual && !_isOutVisual && _isInRtl ^ _isOutRtl) {\n // VLTR->LRTL, VRTL->LLTR\n text = _invertString(text, sourceToTargetMap);\n if (_isInRtl) {\n //LLTR -> VLTR\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else {\n //LRTL -> VRTL\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n }\n } else if (_isInVisual && _isInRtl && !_isOutVisual && _isOutRtl) {\n // VRTL->LRTL\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n } else if (!_isInVisual && !_isOutVisual && _isInRtl ^ _isOutRtl) {\n // LRTL->LLTR, LLTR->LRTL\n var isSymmetricSwappingOrig = _isSymmetricSwapping;\n if (_isInRtl) {\n //LRTL->LLTR\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n _dir = DIR_LTR;\n _isSymmetricSwapping = false;\n text = _reorder(text, sourceToTargetMap, levels);\n _isSymmetricSwapping = isSymmetricSwappingOrig;\n } else {\n //LLTR->LRTL\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n _dir = DIR_RTL;\n _isSymmetricSwapping = false;\n text = _reorder(text, sourceToTargetMap, levels);\n _isSymmetricSwapping = isSymmetricSwappingOrig;\n text = _invertString(text, sourceToTargetMap);\n }\n }\n return text;\n };\n\n /**\n * @name setOptions( options )\n * @function\n * Sets options for Bidi conversion\n * @param {Object}:\n * - isInputVisual {boolean} (defaults to false): allowed values: true(Visual mode), false(Logical mode)\n * - isInputRtl {boolean}: allowed values true(Right-to-left direction), false (Left-to-right directiion), undefined(Contectual direction, i.e.direction defined by first strong character of input string)\n * - isOutputVisual {boolean} (defaults to false): allowed values: true(Visual mode), false(Logical mode)\n * - isOutputRtl {boolean}: allowed values true(Right-to-left direction), false (Left-to-right directiion), undefined(Contectual direction, i.e.direction defined by first strong characterof input string)\n * - isSymmetricSwapping {boolean} (defaults to false): allowed values true(needs symmetric swapping), false (no need in symmetric swapping),\n */\n this.__bidiEngine__.setOptions = function(options) {\n if (options) {\n _isInVisual = options.isInputVisual;\n _isOutVisual = options.isOutputVisual;\n _isInRtl = options.isInputRtl;\n _isOutRtl = options.isOutputRtl;\n _isSymmetricSwapping = options.isSymmetricSwapping;\n }\n };\n\n this.__bidiEngine__.setOptions(options);\n return this.__bidiEngine__;\n };\n\n var _bidiUnicodeTypes = bidiUnicodeTypes;\n\n var bidiEngine = new jsPDF.__bidiEngine__({ isInputVisual: true });\n\n var bidiEngineFunction = function(args) {\n var text = args.text;\n var x = args.x;\n var y = args.y;\n var options = args.options || {};\n var mutex = args.mutex || {};\n var lang = options.lang;\n var tmpText = [];\n\n options.isInputVisual =\n typeof options.isInputVisual === \"boolean\" ? options.isInputVisual : true;\n bidiEngine.setOptions(options);\n\n if (Object.prototype.toString.call(text) === \"[object Array]\") {\n var i = 0;\n tmpText = [];\n for (i = 0; i < text.length; i += 1) {\n if (Object.prototype.toString.call(text[i]) === \"[object Array]\") {\n tmpText.push([\n bidiEngine.doBidiReorder(text[i][0]),\n text[i][1],\n text[i][2]\n ]);\n } else {\n tmpText.push([bidiEngine.doBidiReorder(text[i])]);\n }\n }\n args.text = tmpText;\n } else {\n args.text = bidiEngine.doBidiReorder(text);\n }\n bidiEngine.setOptions({ isInputVisual: true });\n };\n\n jsPDF.API.events.push([\"postProcessText\", bidiEngineFunction]);\n})(jsPDF);\n","/* eslint-disable no-control-regex */\n/************************************************\n * Title : custom font *\n * Start Data : 2017. 01. 22. *\n * Comment : TEXT API *\n ************************************************/\n\n/******************************\n * jsPDF extension API Design *\n * ****************************/\n\nimport { jsPDF } from \"../jspdf.js\";\n\njsPDF.API.TTFFont = (function() {\n /************************************************************************/\n /* function : open */\n /* comment : Decode the encoded ttf content and create a TTFFont object. */\n /************************************************************************/\n TTFFont.open = function(file) {\n return new TTFFont(file);\n };\n /***************************************************************/\n /* function : TTFFont gernerator */\n /* comment : Decode TTF contents are parsed, Data, */\n /* Subset object is created, and registerTTF function is called.*/\n /***************************************************************/\n function TTFFont(rawData) {\n var data;\n this.rawData = rawData;\n data = this.contents = new Data(rawData);\n this.contents.pos = 4;\n if (data.readString(4) === \"ttcf\") {\n throw new Error(\"TTCF not supported.\");\n } else {\n data.pos = 0;\n this.parse();\n this.subset = new Subset(this);\n this.registerTTF();\n }\n }\n /********************************************************/\n /* function : parse */\n /* comment : TTF Parses the file contents by each table.*/\n /********************************************************/\n TTFFont.prototype.parse = function() {\n this.directory = new Directory(this.contents);\n this.head = new HeadTable(this);\n this.name = new NameTable(this);\n this.cmap = new CmapTable(this);\n this.toUnicode = {};\n this.hhea = new HheaTable(this);\n this.maxp = new MaxpTable(this);\n this.hmtx = new HmtxTable(this);\n this.post = new PostTable(this);\n this.os2 = new OS2Table(this);\n this.loca = new LocaTable(this);\n this.glyf = new GlyfTable(this);\n this.ascender =\n (this.os2.exists && this.os2.ascender) || this.hhea.ascender;\n this.decender =\n (this.os2.exists && this.os2.decender) || this.hhea.decender;\n this.lineGap = (this.os2.exists && this.os2.lineGap) || this.hhea.lineGap;\n return (this.bbox = [\n this.head.xMin,\n this.head.yMin,\n this.head.xMax,\n this.head.yMax\n ]);\n };\n /***************************************************************/\n /* function : registerTTF */\n /* comment : Get the value to assign pdf font descriptors. */\n /***************************************************************/\n TTFFont.prototype.registerTTF = function() {\n var e, hi, low, raw, _ref;\n this.scaleFactor = 1000.0 / this.head.unitsPerEm;\n this.bbox = function() {\n var _i, _len, _ref, _results;\n _ref = this.bbox;\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n e = _ref[_i];\n _results.push(Math.round(e * this.scaleFactor));\n }\n return _results;\n }.call(this);\n this.stemV = 0;\n if (this.post.exists) {\n raw = this.post.italic_angle;\n hi = raw >> 16;\n low = raw & 0xff;\n if ((hi & 0x8000) !== 0) {\n hi = -((hi ^ 0xffff) + 1);\n }\n this.italicAngle = +(\"\" + hi + \".\" + low);\n } else {\n this.italicAngle = 0;\n }\n this.ascender = Math.round(this.ascender * this.scaleFactor);\n this.decender = Math.round(this.decender * this.scaleFactor);\n this.lineGap = Math.round(this.lineGap * this.scaleFactor);\n this.capHeight = (this.os2.exists && this.os2.capHeight) || this.ascender;\n this.xHeight = (this.os2.exists && this.os2.xHeight) || 0;\n this.familyClass = ((this.os2.exists && this.os2.familyClass) || 0) >> 8;\n this.isSerif =\n (_ref = this.familyClass) === 1 ||\n _ref === 2 ||\n _ref === 3 ||\n _ref === 4 ||\n _ref === 5 ||\n _ref === 7;\n this.isScript = this.familyClass === 10;\n this.flags = 0;\n if (this.post.isFixedPitch) {\n this.flags |= 1 << 0;\n }\n if (this.isSerif) {\n this.flags |= 1 << 1;\n }\n if (this.isScript) {\n this.flags |= 1 << 3;\n }\n if (this.italicAngle !== 0) {\n this.flags |= 1 << 6;\n }\n this.flags |= 1 << 5;\n if (!this.cmap.unicode) {\n throw new Error(\"No unicode cmap for font\");\n }\n };\n TTFFont.prototype.characterToGlyph = function(character) {\n var _ref;\n return (\n ((_ref = this.cmap.unicode) != null ? _ref.codeMap[character] : void 0) ||\n 0\n );\n };\n TTFFont.prototype.widthOfGlyph = function(glyph) {\n var scale;\n scale = 1000.0 / this.head.unitsPerEm;\n return this.hmtx.forGlyph(glyph).advance * scale;\n };\n TTFFont.prototype.widthOfString = function(string, size, charSpace) {\n var charCode, i, scale, width, _ref;\n string = \"\" + string;\n width = 0;\n for (\n i = 0, _ref = string.length;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n charCode = string.charCodeAt(i);\n width +=\n this.widthOfGlyph(this.characterToGlyph(charCode)) +\n charSpace * (1000 / size) || 0;\n }\n scale = size / 1000;\n return width * scale;\n };\n TTFFont.prototype.lineHeight = function(size, includeGap) {\n var gap;\n if (includeGap == null) {\n includeGap = false;\n }\n gap = includeGap ? this.lineGap : 0;\n return ((this.ascender + gap - this.decender) / 1000) * size;\n };\n return TTFFont;\n})();\n\n/************************************************************************************************/\n/* function : Data */\n/* comment : The ttf data decoded and stored in an array is read and written to the Data object.*/\n/************************************************************************************************/\nvar Data = (function() {\n function Data(data) {\n this.data = data != null ? data : [];\n this.pos = 0;\n this.length = this.data.length;\n }\n Data.prototype.readByte = function() {\n return this.data[this.pos++];\n };\n Data.prototype.writeByte = function(byte) {\n return (this.data[this.pos++] = byte);\n };\n Data.prototype.readUInt32 = function() {\n var b1, b2, b3, b4;\n b1 = this.readByte() * 0x1000000;\n b2 = this.readByte() << 16;\n b3 = this.readByte() << 8;\n b4 = this.readByte();\n return b1 + b2 + b3 + b4;\n };\n Data.prototype.writeUInt32 = function(val) {\n this.writeByte((val >>> 24) & 0xff);\n this.writeByte((val >> 16) & 0xff);\n this.writeByte((val >> 8) & 0xff);\n return this.writeByte(val & 0xff);\n };\n Data.prototype.readInt32 = function() {\n var int;\n int = this.readUInt32();\n if (int >= 0x80000000) {\n return int - 0x100000000;\n } else {\n return int;\n }\n };\n Data.prototype.writeInt32 = function(val) {\n if (val < 0) {\n val += 0x100000000;\n }\n return this.writeUInt32(val);\n };\n Data.prototype.readUInt16 = function() {\n var b1, b2;\n b1 = this.readByte() << 8;\n b2 = this.readByte();\n return b1 | b2;\n };\n Data.prototype.writeUInt16 = function(val) {\n this.writeByte((val >> 8) & 0xff);\n return this.writeByte(val & 0xff);\n };\n Data.prototype.readInt16 = function() {\n var int;\n int = this.readUInt16();\n if (int >= 0x8000) {\n return int - 0x10000;\n } else {\n return int;\n }\n };\n Data.prototype.writeInt16 = function(val) {\n if (val < 0) {\n val += 0x10000;\n }\n return this.writeUInt16(val);\n };\n Data.prototype.readString = function(length) {\n var i, ret;\n ret = [];\n for (\n i = 0;\n 0 <= length ? i < length : i > length;\n i = 0 <= length ? ++i : --i\n ) {\n ret[i] = String.fromCharCode(this.readByte());\n }\n return ret.join(\"\");\n };\n Data.prototype.writeString = function(val) {\n var i, _ref, _results;\n _results = [];\n for (\n i = 0, _ref = val.length;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n _results.push(this.writeByte(val.charCodeAt(i)));\n }\n return _results;\n };\n /*Data.prototype.stringAt = function (pos, length) {\n this.pos = pos;\n return this.readString(length);\n };*/\n Data.prototype.readShort = function() {\n return this.readInt16();\n };\n Data.prototype.writeShort = function(val) {\n return this.writeInt16(val);\n };\n Data.prototype.readLongLong = function() {\n var b1, b2, b3, b4, b5, b6, b7, b8;\n b1 = this.readByte();\n b2 = this.readByte();\n b3 = this.readByte();\n b4 = this.readByte();\n b5 = this.readByte();\n b6 = this.readByte();\n b7 = this.readByte();\n b8 = this.readByte();\n if (b1 & 0x80) {\n return (\n ((b1 ^ 0xff) * 0x100000000000000 +\n (b2 ^ 0xff) * 0x1000000000000 +\n (b3 ^ 0xff) * 0x10000000000 +\n (b4 ^ 0xff) * 0x100000000 +\n (b5 ^ 0xff) * 0x1000000 +\n (b6 ^ 0xff) * 0x10000 +\n (b7 ^ 0xff) * 0x100 +\n (b8 ^ 0xff) +\n 1) *\n -1\n );\n }\n return (\n b1 * 0x100000000000000 +\n b2 * 0x1000000000000 +\n b3 * 0x10000000000 +\n b4 * 0x100000000 +\n b5 * 0x1000000 +\n b6 * 0x10000 +\n b7 * 0x100 +\n b8\n );\n };\n Data.prototype.writeLongLong = function(val) {\n var high, low;\n high = Math.floor(val / 0x100000000);\n low = val & 0xffffffff;\n this.writeByte((high >> 24) & 0xff);\n this.writeByte((high >> 16) & 0xff);\n this.writeByte((high >> 8) & 0xff);\n this.writeByte(high & 0xff);\n this.writeByte((low >> 24) & 0xff);\n this.writeByte((low >> 16) & 0xff);\n this.writeByte((low >> 8) & 0xff);\n return this.writeByte(low & 0xff);\n };\n Data.prototype.readInt = function() {\n return this.readInt32();\n };\n Data.prototype.writeInt = function(val) {\n return this.writeInt32(val);\n };\n /*Data.prototype.slice = function (start, end) {\n return this.data.slice(start, end);\n };*/\n Data.prototype.read = function(bytes) {\n var buf, i;\n buf = [];\n for (\n i = 0;\n 0 <= bytes ? i < bytes : i > bytes;\n i = 0 <= bytes ? ++i : --i\n ) {\n buf.push(this.readByte());\n }\n return buf;\n };\n Data.prototype.write = function(bytes) {\n var byte, i, _len, _results;\n _results = [];\n for (i = 0, _len = bytes.length; i < _len; i++) {\n byte = bytes[i];\n _results.push(this.writeByte(byte));\n }\n return _results;\n };\n return Data;\n})();\n\nvar Directory = (function() {\n var checksum;\n\n /*****************************************************************************************************/\n /* function : Directory generator */\n /* comment : Initialize the offset, tag, length, and checksum for each table for the font to be used.*/\n /*****************************************************************************************************/\n function Directory(data) {\n var entry, i, _ref;\n this.scalarType = data.readInt();\n this.tableCount = data.readShort();\n this.searchRange = data.readShort();\n this.entrySelector = data.readShort();\n this.rangeShift = data.readShort();\n this.tables = {};\n for (\n i = 0, _ref = this.tableCount;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n entry = {\n tag: data.readString(4),\n checksum: data.readInt(),\n offset: data.readInt(),\n length: data.readInt()\n };\n this.tables[entry.tag] = entry;\n }\n }\n /********************************************************************************************************/\n /* function : encode */\n /* comment : It encodes and stores the font table object and information used for the directory object. */\n /********************************************************************************************************/\n Directory.prototype.encode = function(tables) {\n var adjustment,\n directory,\n directoryLength,\n entrySelector,\n headOffset,\n log2,\n offset,\n rangeShift,\n searchRange,\n sum,\n table,\n tableCount,\n tableData,\n tag;\n tableCount = Object.keys(tables).length;\n log2 = Math.log(2);\n searchRange = Math.floor(Math.log(tableCount) / log2) * 16;\n entrySelector = Math.floor(searchRange / log2);\n rangeShift = tableCount * 16 - searchRange;\n directory = new Data();\n directory.writeInt(this.scalarType);\n directory.writeShort(tableCount);\n directory.writeShort(searchRange);\n directory.writeShort(entrySelector);\n directory.writeShort(rangeShift);\n directoryLength = tableCount * 16;\n offset = directory.pos + directoryLength;\n headOffset = null;\n tableData = [];\n for (tag in tables) {\n table = tables[tag];\n directory.writeString(tag);\n directory.writeInt(checksum(table));\n directory.writeInt(offset);\n directory.writeInt(table.length);\n tableData = tableData.concat(table);\n if (tag === \"head\") {\n headOffset = offset;\n }\n offset += table.length;\n while (offset % 4) {\n tableData.push(0);\n offset++;\n }\n }\n directory.write(tableData);\n sum = checksum(directory.data);\n adjustment = 0xb1b0afba - sum;\n directory.pos = headOffset + 8;\n directory.writeUInt32(adjustment);\n return directory.data;\n };\n /***************************************************************/\n /* function : checksum */\n /* comment : Duplicate the table for the tag. */\n /***************************************************************/\n checksum = function(data) {\n var i, sum, tmp, _ref;\n data = __slice.call(data);\n while (data.length % 4) {\n data.push(0);\n }\n tmp = new Data(data);\n sum = 0;\n for (i = 0, _ref = data.length; i < _ref; i = i += 4) {\n sum += tmp.readUInt32();\n }\n return sum & 0xffffffff;\n };\n return Directory;\n})();\n\nvar Table,\n __hasProp = {}.hasOwnProperty,\n __extends = function(child, parent) {\n for (var key in parent) {\n if (__hasProp.call(parent, key)) child[key] = parent[key];\n }\n\n function ctor() {\n this.constructor = child;\n }\n ctor.prototype = parent.prototype;\n child.prototype = new ctor();\n child.__super__ = parent.prototype;\n return child;\n };\n\n/***************************************************************/\n/* function : Table */\n/* comment : Save info for each table, and parse the table. */\n/***************************************************************/\nTable = (function() {\n function Table(file) {\n var info;\n this.file = file;\n info = this.file.directory.tables[this.tag];\n this.exists = !!info;\n if (info) {\n (this.offset = info.offset), (this.length = info.length);\n this.parse(this.file.contents);\n }\n }\n Table.prototype.parse = function() {};\n Table.prototype.encode = function() {};\n Table.prototype.raw = function() {\n if (!this.exists) {\n return null;\n }\n this.file.contents.pos = this.offset;\n return this.file.contents.read(this.length);\n };\n return Table;\n})();\n\nvar HeadTable = (function(_super) {\n __extends(HeadTable, _super);\n\n function HeadTable() {\n return HeadTable.__super__.constructor.apply(this, arguments);\n }\n HeadTable.prototype.tag = \"head\";\n HeadTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.revision = data.readInt();\n this.checkSumAdjustment = data.readInt();\n this.magicNumber = data.readInt();\n this.flags = data.readShort();\n this.unitsPerEm = data.readShort();\n this.created = data.readLongLong();\n this.modified = data.readLongLong();\n this.xMin = data.readShort();\n this.yMin = data.readShort();\n this.xMax = data.readShort();\n this.yMax = data.readShort();\n this.macStyle = data.readShort();\n this.lowestRecPPEM = data.readShort();\n this.fontDirectionHint = data.readShort();\n this.indexToLocFormat = data.readShort();\n return (this.glyphDataFormat = data.readShort());\n };\n HeadTable.prototype.encode = function(indexToLocFormat) {\n var table;\n table = new Data();\n table.writeInt(this.version);\n table.writeInt(this.revision);\n table.writeInt(this.checkSumAdjustment);\n table.writeInt(this.magicNumber);\n table.writeShort(this.flags);\n table.writeShort(this.unitsPerEm);\n table.writeLongLong(this.created);\n table.writeLongLong(this.modified);\n table.writeShort(this.xMin);\n table.writeShort(this.yMin);\n table.writeShort(this.xMax);\n table.writeShort(this.yMax);\n table.writeShort(this.macStyle);\n table.writeShort(this.lowestRecPPEM);\n table.writeShort(this.fontDirectionHint);\n table.writeShort(indexToLocFormat);\n table.writeShort(this.glyphDataFormat);\n return table.data;\n };\n return HeadTable;\n})(Table);\n\n/************************************************************************************/\n/* function : CmapEntry */\n/* comment : Cmap Initializes and encodes object information (required by pdf spec).*/\n/************************************************************************************/\nvar CmapEntry = (function() {\n function CmapEntry(data, offset) {\n var code,\n count,\n endCode,\n glyphId,\n glyphIds,\n i,\n idDelta,\n idRangeOffset,\n index,\n saveOffset,\n segCount,\n segCountX2,\n start,\n startCode,\n tail,\n _j,\n _k,\n _len;\n this.platformID = data.readUInt16();\n this.encodingID = data.readShort();\n this.offset = offset + data.readInt();\n saveOffset = data.pos;\n data.pos = this.offset;\n this.format = data.readUInt16();\n this.length = data.readUInt16();\n this.language = data.readUInt16();\n this.isUnicode =\n (this.platformID === 3 && this.encodingID === 1 && this.format === 4) ||\n (this.platformID === 0 && this.format === 4);\n this.codeMap = {};\n switch (this.format) {\n case 0:\n for (i = 0; i < 256; ++i) {\n this.codeMap[i] = data.readByte();\n }\n break;\n case 4:\n segCountX2 = data.readUInt16();\n segCount = segCountX2 / 2;\n data.pos += 6;\n endCode = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n data.pos += 2;\n startCode = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n idDelta = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n idRangeOffset = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n count = (this.length - data.pos + this.offset) / 2;\n glyphIds = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= count ? _j < count : _j > count;\n i = 0 <= count ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n for (i = _j = 0, _len = endCode.length; _j < _len; i = ++_j) {\n tail = endCode[i];\n start = startCode[i];\n for (\n code = _k = start;\n start <= tail ? _k <= tail : _k >= tail;\n code = start <= tail ? ++_k : --_k\n ) {\n if (idRangeOffset[i] === 0) {\n glyphId = code + idDelta[i];\n } else {\n index = idRangeOffset[i] / 2 + (code - start) - (segCount - i);\n glyphId = glyphIds[index] || 0;\n if (glyphId !== 0) {\n glyphId += idDelta[i];\n }\n }\n this.codeMap[code] = glyphId & 0xffff;\n }\n }\n }\n data.pos = saveOffset;\n }\n CmapEntry.encode = function(charmap, encoding) {\n var charMap,\n code,\n codeMap,\n codes,\n delta,\n deltas,\n diff,\n endCode,\n endCodes,\n entrySelector,\n glyphIDs,\n i,\n id,\n indexes,\n last,\n map,\n nextID,\n offset,\n old,\n rangeOffsets,\n rangeShift,\n searchRange,\n segCount,\n segCountX2,\n startCode,\n startCodes,\n startGlyph,\n subtable,\n _i,\n _j,\n _k,\n _l,\n _len,\n _len1,\n _len2,\n _len3,\n _len4,\n _len5,\n _len6,\n _len7,\n _m,\n _n,\n _name,\n _o,\n _p,\n _q;\n subtable = new Data();\n codes = Object.keys(charmap).sort(function(a, b) {\n return a - b;\n });\n switch (encoding) {\n case \"macroman\":\n id = 0;\n indexes = (function() {\n var _results = [];\n for (i = 0; i < 256; ++i) {\n _results.push(0);\n }\n return _results;\n })();\n map = {\n 0: 0\n };\n codeMap = {};\n for (_i = 0, _len = codes.length; _i < _len; _i++) {\n code = codes[_i];\n if (map[(_name = charmap[code])] == null) {\n map[_name] = ++id;\n }\n codeMap[code] = {\n old: charmap[code],\n new: map[charmap[code]]\n };\n indexes[code] = map[charmap[code]];\n }\n subtable.writeUInt16(1);\n subtable.writeUInt16(0);\n subtable.writeUInt32(12);\n subtable.writeUInt16(0);\n subtable.writeUInt16(262);\n subtable.writeUInt16(0);\n subtable.write(indexes);\n return {\n charMap: codeMap,\n subtable: subtable.data,\n maxGlyphID: id + 1\n };\n case \"unicode\":\n startCodes = [];\n endCodes = [];\n nextID = 0;\n map = {};\n charMap = {};\n last = diff = null;\n for (_j = 0, _len1 = codes.length; _j < _len1; _j++) {\n code = codes[_j];\n old = charmap[code];\n if (map[old] == null) {\n map[old] = ++nextID;\n }\n charMap[code] = {\n old: old,\n new: map[old]\n };\n delta = map[old] - code;\n if (last == null || delta !== diff) {\n if (last) {\n endCodes.push(last);\n }\n startCodes.push(code);\n diff = delta;\n }\n last = code;\n }\n if (last) {\n endCodes.push(last);\n }\n endCodes.push(0xffff);\n startCodes.push(0xffff);\n segCount = startCodes.length;\n segCountX2 = segCount * 2;\n searchRange = 2 * Math.pow(Math.log(segCount) / Math.LN2, 2);\n entrySelector = Math.log(searchRange / 2) / Math.LN2;\n rangeShift = 2 * segCount - searchRange;\n deltas = [];\n rangeOffsets = [];\n glyphIDs = [];\n for (i = _k = 0, _len2 = startCodes.length; _k < _len2; i = ++_k) {\n startCode = startCodes[i];\n endCode = endCodes[i];\n if (startCode === 0xffff) {\n deltas.push(0);\n rangeOffsets.push(0);\n break;\n }\n startGlyph = charMap[startCode][\"new\"];\n if (startCode - startGlyph >= 0x8000) {\n deltas.push(0);\n rangeOffsets.push(2 * (glyphIDs.length + segCount - i));\n for (\n code = _l = startCode;\n startCode <= endCode ? _l <= endCode : _l >= endCode;\n code = startCode <= endCode ? ++_l : --_l\n ) {\n glyphIDs.push(charMap[code][\"new\"]);\n }\n } else {\n deltas.push(startGlyph - startCode);\n rangeOffsets.push(0);\n }\n }\n subtable.writeUInt16(3);\n subtable.writeUInt16(1);\n subtable.writeUInt32(12);\n subtable.writeUInt16(4);\n subtable.writeUInt16(16 + segCount * 8 + glyphIDs.length * 2);\n subtable.writeUInt16(0);\n subtable.writeUInt16(segCountX2);\n subtable.writeUInt16(searchRange);\n subtable.writeUInt16(entrySelector);\n subtable.writeUInt16(rangeShift);\n for (_m = 0, _len3 = endCodes.length; _m < _len3; _m++) {\n code = endCodes[_m];\n subtable.writeUInt16(code);\n }\n subtable.writeUInt16(0);\n for (_n = 0, _len4 = startCodes.length; _n < _len4; _n++) {\n code = startCodes[_n];\n subtable.writeUInt16(code);\n }\n for (_o = 0, _len5 = deltas.length; _o < _len5; _o++) {\n delta = deltas[_o];\n subtable.writeUInt16(delta);\n }\n for (_p = 0, _len6 = rangeOffsets.length; _p < _len6; _p++) {\n offset = rangeOffsets[_p];\n subtable.writeUInt16(offset);\n }\n for (_q = 0, _len7 = glyphIDs.length; _q < _len7; _q++) {\n id = glyphIDs[_q];\n subtable.writeUInt16(id);\n }\n return {\n charMap: charMap,\n subtable: subtable.data,\n maxGlyphID: nextID + 1\n };\n }\n };\n return CmapEntry;\n})();\n\nvar CmapTable = (function(_super) {\n __extends(CmapTable, _super);\n\n function CmapTable() {\n return CmapTable.__super__.constructor.apply(this, arguments);\n }\n CmapTable.prototype.tag = \"cmap\";\n CmapTable.prototype.parse = function(data) {\n var entry, i, tableCount;\n data.pos = this.offset;\n this.version = data.readUInt16();\n tableCount = data.readUInt16();\n this.tables = [];\n this.unicode = null;\n for (\n i = 0;\n 0 <= tableCount ? i < tableCount : i > tableCount;\n i = 0 <= tableCount ? ++i : --i\n ) {\n entry = new CmapEntry(data, this.offset);\n this.tables.push(entry);\n if (entry.isUnicode) {\n if (this.unicode == null) {\n this.unicode = entry;\n }\n }\n }\n return true;\n };\n /*************************************************************************/\n /* function : encode */\n /* comment : Encode the cmap table corresponding to the input character. */\n /*************************************************************************/\n CmapTable.encode = function(charmap, encoding) {\n var result, table;\n if (encoding == null) {\n encoding = \"macroman\";\n }\n result = CmapEntry.encode(charmap, encoding);\n table = new Data();\n table.writeUInt16(0);\n table.writeUInt16(1);\n result.table = table.data.concat(result.subtable);\n return result;\n };\n return CmapTable;\n})(Table);\n\nvar HheaTable = (function(_super) {\n __extends(HheaTable, _super);\n\n function HheaTable() {\n return HheaTable.__super__.constructor.apply(this, arguments);\n }\n HheaTable.prototype.tag = \"hhea\";\n HheaTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.ascender = data.readShort();\n this.decender = data.readShort();\n this.lineGap = data.readShort();\n this.advanceWidthMax = data.readShort();\n this.minLeftSideBearing = data.readShort();\n this.minRightSideBearing = data.readShort();\n this.xMaxExtent = data.readShort();\n this.caretSlopeRise = data.readShort();\n this.caretSlopeRun = data.readShort();\n this.caretOffset = data.readShort();\n data.pos += 4 * 2;\n this.metricDataFormat = data.readShort();\n return (this.numberOfMetrics = data.readUInt16());\n };\n /*HheaTable.prototype.encode = function (ids) {\n var i, table, _i, _ref;\n table = new Data;\n table.writeInt(this.version);\n table.writeShort(this.ascender);\n table.writeShort(this.decender);\n table.writeShort(this.lineGap);\n table.writeShort(this.advanceWidthMax);\n table.writeShort(this.minLeftSideBearing);\n table.writeShort(this.minRightSideBearing);\n table.writeShort(this.xMaxExtent);\n table.writeShort(this.caretSlopeRise);\n table.writeShort(this.caretSlopeRun);\n table.writeShort(this.caretOffset);\n for (i = _i = 0, _ref = 4 * 2; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n table.writeByte(0);\n }\n table.writeShort(this.metricDataFormat);\n table.writeUInt16(ids.length);\n return table.data;\n };*/\n return HheaTable;\n})(Table);\n\nvar OS2Table = (function(_super) {\n __extends(OS2Table, _super);\n\n function OS2Table() {\n return OS2Table.__super__.constructor.apply(this, arguments);\n }\n OS2Table.prototype.tag = \"OS/2\";\n OS2Table.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readUInt16();\n this.averageCharWidth = data.readShort();\n this.weightClass = data.readUInt16();\n this.widthClass = data.readUInt16();\n this.type = data.readShort();\n this.ySubscriptXSize = data.readShort();\n this.ySubscriptYSize = data.readShort();\n this.ySubscriptXOffset = data.readShort();\n this.ySubscriptYOffset = data.readShort();\n this.ySuperscriptXSize = data.readShort();\n this.ySuperscriptYSize = data.readShort();\n this.ySuperscriptXOffset = data.readShort();\n this.ySuperscriptYOffset = data.readShort();\n this.yStrikeoutSize = data.readShort();\n this.yStrikeoutPosition = data.readShort();\n this.familyClass = data.readShort();\n this.panose = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 10; ++i) {\n _results.push(data.readByte());\n }\n return _results;\n })();\n this.charRange = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 4; ++i) {\n _results.push(data.readInt());\n }\n return _results;\n })();\n this.vendorID = data.readString(4);\n this.selection = data.readShort();\n this.firstCharIndex = data.readShort();\n this.lastCharIndex = data.readShort();\n if (this.version > 0) {\n this.ascent = data.readShort();\n this.descent = data.readShort();\n this.lineGap = data.readShort();\n this.winAscent = data.readShort();\n this.winDescent = data.readShort();\n this.codePageRange = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 2; i = ++i) {\n _results.push(data.readInt());\n }\n return _results;\n })();\n if (this.version > 1) {\n this.xHeight = data.readShort();\n this.capHeight = data.readShort();\n this.defaultChar = data.readShort();\n this.breakChar = data.readShort();\n return (this.maxContext = data.readShort());\n }\n }\n };\n /*OS2Table.prototype.encode = function () {\n return this.raw();\n };*/\n return OS2Table;\n})(Table);\n\nvar PostTable = (function(_super) {\n var POSTSCRIPT_GLYPHS;\n __extends(PostTable, _super);\n\n function PostTable() {\n return PostTable.__super__.constructor.apply(this, arguments);\n }\n PostTable.prototype.tag = \"post\";\n PostTable.prototype.parse = function(data) {\n var length, numberOfGlyphs, _results;\n data.pos = this.offset;\n this.format = data.readInt();\n this.italicAngle = data.readInt();\n this.underlinePosition = data.readShort();\n this.underlineThickness = data.readShort();\n this.isFixedPitch = data.readInt();\n this.minMemType42 = data.readInt();\n this.maxMemType42 = data.readInt();\n this.minMemType1 = data.readInt();\n this.maxMemType1 = data.readInt();\n switch (this.format) {\n case 0x00010000:\n break;\n case 0x00020000:\n numberOfGlyphs = data.readUInt16();\n this.glyphNameIndex = [];\n var i;\n for (\n i = 0;\n 0 <= numberOfGlyphs ? i < numberOfGlyphs : i > numberOfGlyphs;\n i = 0 <= numberOfGlyphs ? ++i : --i\n ) {\n this.glyphNameIndex.push(data.readUInt16());\n }\n this.names = [];\n _results = [];\n while (data.pos < this.offset + this.length) {\n length = data.readByte();\n _results.push(this.names.push(data.readString(length)));\n }\n return _results;\n case 0x00025000:\n numberOfGlyphs = data.readUInt16();\n return (this.offsets = data.read(numberOfGlyphs));\n case 0x00030000:\n break;\n case 0x00040000:\n return (this.map = function() {\n var _j, _ref, _results1;\n _results1 = [];\n for (\n i = _j = 0, _ref = this.file.maxp.numGlyphs;\n 0 <= _ref ? _j < _ref : _j > _ref;\n i = 0 <= _ref ? ++_j : --_j\n ) {\n _results1.push(data.readUInt32());\n }\n return _results1;\n }.call(this));\n }\n };\n /*PostTable.prototype.glyphFor = function (code) {\n var index;\n switch (this.format) {\n case 0x00010000:\n return POSTSCRIPT_GLYPHS[code] || '.notdef';\n case 0x00020000:\n index = this.glyphNameIndex[code];\n if (index <= 257) {\n return POSTSCRIPT_GLYPHS[index];\n }\n else {\n return this.names[index - 258] || '.notdef';\n }\n break;\n case 0x00025000:\n return POSTSCRIPT_GLYPHS[code + this.offsets[code]] || '.notdef';\n case 0x00030000:\n return '.notdef';\n case 0x00040000:\n return this.map[code] || 0xFFFF;\n }\n };*/\n /*PostTable.prototype.encode = function (mapping) {\n var id, index, indexes, position, post, raw, string, strings, table, _i, _j, _k, _len, _len1, _len2;\n if (!this.exists) {\n return null;\n }\n raw = this.raw();\n if (this.format === 0x00030000) {\n return raw;\n }\n table = new Data(raw.slice(0, 32));\n table.writeUInt32(0x00020000);\n table.pos = 32;\n indexes = [];\n strings = [];\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n post = this.glyphFor(id);\n position = POSTSCRIPT_GLYPHS.indexOf(post);\n if (position !== -1) {\n indexes.push(position);\n }\n else {\n indexes.push(257 + strings.length);\n strings.push(post);\n }\n }\n table.writeUInt16(Object.keys(mapping).length);\n for (_j = 0, _len1 = indexes.length; _j < _len1; _j++) {\n index = indexes[_j];\n table.writeUInt16(index);\n }\n for (_k = 0, _len2 = strings.length; _k < _len2; _k++) {\n string = strings[_k];\n table.writeByte(string.length);\n table.writeString(string);\n }\n return table.data;\n };*/\n POSTSCRIPT_GLYPHS = \".notdef .null nonmarkingreturn space exclam quotedbl numbersign dollar percent\\nampersand quotesingle parenleft parenright asterisk plus comma hyphen period slash\\nzero one two three four five six seven eight nine colon semicolon less equal greater\\nquestion at A B C D E F G H I J K L M N O P Q R S T U V W X Y Z\\nbracketleft backslash bracketright asciicircum underscore grave\\na b c d e f g h i j k l m n o p q r s t u v w x y z\\nbraceleft bar braceright asciitilde Adieresis Aring Ccedilla Eacute Ntilde Odieresis\\nUdieresis aacute agrave acircumflex adieresis atilde aring ccedilla eacute egrave\\necircumflex edieresis iacute igrave icircumflex idieresis ntilde oacute ograve\\nocircumflex odieresis otilde uacute ugrave ucircumflex udieresis dagger degree cent\\nsterling section bullet paragraph germandbls registered copyright trademark acute\\ndieresis notequal AE Oslash infinity plusminus lessequal greaterequal yen mu\\npartialdiff summation product pi integral ordfeminine ordmasculine Omega ae oslash\\nquestiondown exclamdown logicalnot radical florin approxequal Delta guillemotleft\\nguillemotright ellipsis nonbreakingspace Agrave Atilde Otilde OE oe endash emdash\\nquotedblleft quotedblright quoteleft quoteright divide lozenge ydieresis Ydieresis\\nfraction currency guilsinglleft guilsinglright fi fl daggerdbl periodcentered\\nquotesinglbase quotedblbase perthousand Acircumflex Ecircumflex Aacute Edieresis\\nEgrave Iacute Icircumflex Idieresis Igrave Oacute Ocircumflex apple Ograve Uacute\\nUcircumflex Ugrave dotlessi circumflex tilde macron breve dotaccent ring cedilla\\nhungarumlaut ogonek caron Lslash lslash Scaron scaron Zcaron zcaron brokenbar Eth\\neth Yacute yacute Thorn thorn minus multiply onesuperior twosuperior threesuperior\\nonehalf onequarter threequarters franc Gbreve gbreve Idotaccent Scedilla scedilla\\nCacute cacute Ccaron ccaron dcroat\".split(\n /\\s+/g\n );\n return PostTable;\n})(Table);\n\n/*********************************************************************************************************/\n/* function : NameEntry */\n/* comment : Store copyright information, platformID, encodingID, and languageID in the NameEntry object.*/\n/*********************************************************************************************************/\nvar NameEntry = (function() {\n function NameEntry(raw, entry) {\n this.raw = raw;\n this.length = raw.length;\n this.platformID = entry.platformID;\n this.encodingID = entry.encodingID;\n this.languageID = entry.languageID;\n }\n return NameEntry;\n})();\n\nvar NameTable = (function(_super) {\n var subsetTag;\n __extends(NameTable, _super);\n\n function NameTable() {\n return NameTable.__super__.constructor.apply(this, arguments);\n }\n NameTable.prototype.tag = \"name\";\n NameTable.prototype.parse = function(data) {\n var count,\n entries,\n entry,\n i,\n name,\n stringOffset,\n strings,\n text,\n _j,\n _len,\n _name;\n data.pos = this.offset;\n data.readShort(); //format\n count = data.readShort();\n stringOffset = data.readShort();\n entries = [];\n for (\n i = 0;\n 0 <= count ? i < count : i > count;\n i = 0 <= count ? ++i : --i\n ) {\n entries.push({\n platformID: data.readShort(),\n encodingID: data.readShort(),\n languageID: data.readShort(),\n nameID: data.readShort(),\n length: data.readShort(),\n offset: this.offset + stringOffset + data.readShort()\n });\n }\n strings = {};\n for (i = _j = 0, _len = entries.length; _j < _len; i = ++_j) {\n entry = entries[i];\n data.pos = entry.offset;\n text = data.readString(entry.length);\n name = new NameEntry(text, entry);\n if (strings[(_name = entry.nameID)] == null) {\n strings[_name] = [];\n }\n strings[entry.nameID].push(name);\n }\n this.strings = strings;\n this.copyright = strings[0];\n this.fontFamily = strings[1];\n this.fontSubfamily = strings[2];\n this.uniqueSubfamily = strings[3];\n this.fontName = strings[4];\n this.version = strings[5];\n try {\n this.postscriptName = strings[6][0].raw.replace(\n /[\\x00-\\x19\\x80-\\xff]/g,\n \"\"\n );\n } catch (e) {\n this.postscriptName = strings[4][0].raw.replace(\n /[\\x00-\\x19\\x80-\\xff]/g,\n \"\"\n );\n }\n this.trademark = strings[7];\n this.manufacturer = strings[8];\n this.designer = strings[9];\n this.description = strings[10];\n this.vendorUrl = strings[11];\n this.designerUrl = strings[12];\n this.license = strings[13];\n this.licenseUrl = strings[14];\n this.preferredFamily = strings[15];\n this.preferredSubfamily = strings[17];\n this.compatibleFull = strings[18];\n return (this.sampleText = strings[19]);\n };\n subsetTag = \"AAAAAA\";\n /*NameTable.prototype.encode = function () {\n var id, list, nameID, nameTable, postscriptName, strCount, strTable, string, strings, table, val, _i, _len, _ref;\n strings = {};\n _ref = this.strings;\n for (id in _ref) {\n val = _ref[id];\n strings[id] = val;\n }\n postscriptName = new NameEntry(\"\" + subsetTag + \"+\" + this.postscriptName, {\n platformID: 1\n , encodingID: 0\n , languageID: 0\n });\n strings[6] = [postscriptName];\n subsetTag = successorOf(subsetTag);\n strCount = 0;\n for (id in strings) {\n list = strings[id];\n if (list != null) {\n strCount += list.length;\n }\n }\n table = new Data;\n strTable = new Data;\n table.writeShort(0);\n table.writeShort(strCount);\n table.writeShort(6 + 12 * strCount);\n for (nameID in strings) {\n list = strings[nameID];\n if (list != null) {\n for (_i = 0, _len = list.length; _i < _len; _i++) {\n string = list[_i];\n table.writeShort(string.platformID);\n table.writeShort(string.encodingID);\n table.writeShort(string.languageID);\n table.writeShort(nameID);\n table.writeShort(string.length);\n table.writeShort(strTable.pos);\n strTable.writeString(string.raw);\n }\n }\n }\n return nameTable = {\n postscriptName: postscriptName.raw\n , table: table.data.concat(strTable.data)\n };\n };*/\n return NameTable;\n})(Table);\n\nvar MaxpTable = (function(_super) {\n __extends(MaxpTable, _super);\n\n function MaxpTable() {\n return MaxpTable.__super__.constructor.apply(this, arguments);\n }\n MaxpTable.prototype.tag = \"maxp\";\n MaxpTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.numGlyphs = data.readUInt16();\n this.maxPoints = data.readUInt16();\n this.maxContours = data.readUInt16();\n this.maxCompositePoints = data.readUInt16();\n this.maxComponentContours = data.readUInt16();\n this.maxZones = data.readUInt16();\n this.maxTwilightPoints = data.readUInt16();\n this.maxStorage = data.readUInt16();\n this.maxFunctionDefs = data.readUInt16();\n this.maxInstructionDefs = data.readUInt16();\n this.maxStackElements = data.readUInt16();\n this.maxSizeOfInstructions = data.readUInt16();\n this.maxComponentElements = data.readUInt16();\n return (this.maxComponentDepth = data.readUInt16());\n };\n /*MaxpTable.prototype.encode = function (ids) {\n var table;\n table = new Data;\n table.writeInt(this.version);\n table.writeUInt16(ids.length);\n table.writeUInt16(this.maxPoints);\n table.writeUInt16(this.maxContours);\n table.writeUInt16(this.maxCompositePoints);\n table.writeUInt16(this.maxComponentContours);\n table.writeUInt16(this.maxZones);\n table.writeUInt16(this.maxTwilightPoints);\n table.writeUInt16(this.maxStorage);\n table.writeUInt16(this.maxFunctionDefs);\n table.writeUInt16(this.maxInstructionDefs);\n table.writeUInt16(this.maxStackElements);\n table.writeUInt16(this.maxSizeOfInstructions);\n table.writeUInt16(this.maxComponentElements);\n table.writeUInt16(this.maxComponentDepth);\n return table.data;\n };*/\n return MaxpTable;\n})(Table);\n\nvar HmtxTable = (function(_super) {\n __extends(HmtxTable, _super);\n\n function HmtxTable() {\n return HmtxTable.__super__.constructor.apply(this, arguments);\n }\n HmtxTable.prototype.tag = \"hmtx\";\n HmtxTable.prototype.parse = function(data) {\n var i, last, lsbCount, m, _j, _ref, _results;\n data.pos = this.offset;\n this.metrics = [];\n for (\n i = 0, _ref = this.file.hhea.numberOfMetrics;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n this.metrics.push({\n advance: data.readUInt16(),\n lsb: data.readInt16()\n });\n }\n lsbCount = this.file.maxp.numGlyphs - this.file.hhea.numberOfMetrics;\n this.leftSideBearings = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= lsbCount ? _j < lsbCount : _j > lsbCount;\n i = 0 <= lsbCount ? ++_j : --_j\n ) {\n _results.push(data.readInt16());\n }\n return _results;\n })();\n this.widths = function() {\n var _j, _len, _ref1, _results;\n _ref1 = this.metrics;\n _results = [];\n for (_j = 0, _len = _ref1.length; _j < _len; _j++) {\n m = _ref1[_j];\n _results.push(m.advance);\n }\n return _results;\n }.call(this);\n last = this.widths[this.widths.length - 1];\n _results = [];\n for (\n i = _j = 0;\n 0 <= lsbCount ? _j < lsbCount : _j > lsbCount;\n i = 0 <= lsbCount ? ++_j : --_j\n ) {\n _results.push(this.widths.push(last));\n }\n return _results;\n };\n /***************************************************************/\n /* function : forGlyph */\n /* comment : Returns the advance width and lsb for this glyph. */\n /***************************************************************/\n HmtxTable.prototype.forGlyph = function(id) {\n if (id in this.metrics) {\n return this.metrics[id];\n }\n return {\n advance: this.metrics[this.metrics.length - 1].advance,\n lsb: this.leftSideBearings[id - this.metrics.length]\n };\n };\n /*HmtxTable.prototype.encode = function (mapping) {\n var id, metric, table, _i, _len;\n table = new Data;\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n metric = this.forGlyph(id);\n table.writeUInt16(metric.advance);\n table.writeUInt16(metric.lsb);\n }\n return table.data;\n };*/\n return HmtxTable;\n})(Table);\n\nvar __slice = [].slice;\n\nvar GlyfTable = (function(_super) {\n __extends(GlyfTable, _super);\n\n function GlyfTable() {\n return GlyfTable.__super__.constructor.apply(this, arguments);\n }\n GlyfTable.prototype.tag = \"glyf\";\n GlyfTable.prototype.parse = function() {\n return (this.cache = {});\n };\n GlyfTable.prototype.glyphFor = function(id) {\n var data,\n index,\n length,\n loca,\n numberOfContours,\n raw,\n xMax,\n xMin,\n yMax,\n yMin;\n if (id in this.cache) {\n return this.cache[id];\n }\n loca = this.file.loca;\n data = this.file.contents;\n index = loca.indexOf(id);\n length = loca.lengthOf(id);\n if (length === 0) {\n return (this.cache[id] = null);\n }\n data.pos = this.offset + index;\n raw = new Data(data.read(length));\n numberOfContours = raw.readShort();\n xMin = raw.readShort();\n yMin = raw.readShort();\n xMax = raw.readShort();\n yMax = raw.readShort();\n if (numberOfContours === -1) {\n this.cache[id] = new CompoundGlyph(raw, xMin, yMin, xMax, yMax);\n } else {\n this.cache[id] = new SimpleGlyph(\n raw,\n numberOfContours,\n xMin,\n yMin,\n xMax,\n yMax\n );\n }\n return this.cache[id];\n };\n GlyfTable.prototype.encode = function(glyphs, mapping, old2new) {\n var glyph, id, offsets, table, _i, _len;\n table = [];\n offsets = [];\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n glyph = glyphs[id];\n offsets.push(table.length);\n if (glyph) {\n table = table.concat(glyph.encode(old2new));\n }\n }\n offsets.push(table.length);\n return {\n table: table,\n offsets: offsets\n };\n };\n return GlyfTable;\n})(Table);\n\nvar SimpleGlyph = (function() {\n /**************************************************************************/\n /* function : SimpleGlyph */\n /* comment : Stores raw, xMin, yMin, xMax, and yMax values for this glyph.*/\n /**************************************************************************/\n function SimpleGlyph(raw, numberOfContours, xMin, yMin, xMax, yMax) {\n this.raw = raw;\n this.numberOfContours = numberOfContours;\n this.xMin = xMin;\n this.yMin = yMin;\n this.xMax = xMax;\n this.yMax = yMax;\n this.compound = false;\n }\n SimpleGlyph.prototype.encode = function() {\n return this.raw.data;\n };\n return SimpleGlyph;\n})();\n\nvar CompoundGlyph = (function() {\n var ARG_1_AND_2_ARE_WORDS,\n MORE_COMPONENTS,\n WE_HAVE_AN_X_AND_Y_SCALE,\n WE_HAVE_A_SCALE,\n WE_HAVE_A_TWO_BY_TWO,\n WE_HAVE_INSTRUCTIONS;\n ARG_1_AND_2_ARE_WORDS = 0x0001;\n WE_HAVE_A_SCALE = 0x0008;\n MORE_COMPONENTS = 0x0020;\n WE_HAVE_AN_X_AND_Y_SCALE = 0x0040;\n WE_HAVE_A_TWO_BY_TWO = 0x0080;\n WE_HAVE_INSTRUCTIONS = 0x0100;\n\n /********************************************************************************************************************/\n /* function : CompoundGlypg generator */\n /* comment : It stores raw, xMin, yMin, xMax, yMax, glyph id, and glyph offset for the corresponding compound glyph.*/\n /********************************************************************************************************************/\n function CompoundGlyph(raw, xMin, yMin, xMax, yMax) {\n var data, flags;\n this.raw = raw;\n this.xMin = xMin;\n this.yMin = yMin;\n this.xMax = xMax;\n this.yMax = yMax;\n this.compound = true;\n this.glyphIDs = [];\n this.glyphOffsets = [];\n data = this.raw;\n while (true) {\n flags = data.readShort();\n this.glyphOffsets.push(data.pos);\n this.glyphIDs.push(data.readUInt16());\n if (!(flags & MORE_COMPONENTS)) {\n break;\n }\n if (flags & ARG_1_AND_2_ARE_WORDS) {\n data.pos += 4;\n } else {\n data.pos += 2;\n }\n if (flags & WE_HAVE_A_TWO_BY_TWO) {\n data.pos += 8;\n } else if (flags & WE_HAVE_AN_X_AND_Y_SCALE) {\n data.pos += 4;\n } else if (flags & WE_HAVE_A_SCALE) {\n data.pos += 2;\n }\n }\n }\n /****************************************************************************************************************/\n /* function : CompoundGlypg encode */\n /* comment : After creating a table for the characters you typed, you call directory.encode to encode the table.*/\n /****************************************************************************************************************/\n CompoundGlyph.prototype.encode = function() {\n var i, result, _len, _ref;\n result = new Data(__slice.call(this.raw.data));\n _ref = this.glyphIDs;\n for (i = 0, _len = _ref.length; i < _len; ++i) {\n result.pos = this.glyphOffsets[i];\n }\n return result.data;\n };\n return CompoundGlyph;\n})();\n\nvar LocaTable = (function(_super) {\n __extends(LocaTable, _super);\n\n function LocaTable() {\n return LocaTable.__super__.constructor.apply(this, arguments);\n }\n LocaTable.prototype.tag = \"loca\";\n LocaTable.prototype.parse = function(data) {\n var format, i;\n data.pos = this.offset;\n format = this.file.head.indexToLocFormat;\n if (format === 0) {\n return (this.offsets = function() {\n var _ref, _results;\n _results = [];\n for (i = 0, _ref = this.length; i < _ref; i += 2) {\n _results.push(data.readUInt16() * 2);\n }\n return _results;\n }.call(this));\n } else {\n return (this.offsets = function() {\n var _ref, _results;\n _results = [];\n for (i = 0, _ref = this.length; i < _ref; i += 4) {\n _results.push(data.readUInt32());\n }\n return _results;\n }.call(this));\n }\n };\n LocaTable.prototype.indexOf = function(id) {\n return this.offsets[id];\n };\n LocaTable.prototype.lengthOf = function(id) {\n return this.offsets[id + 1] - this.offsets[id];\n };\n LocaTable.prototype.encode = function(offsets, activeGlyphs) {\n var LocaTable = new Uint32Array(this.offsets.length);\n var glyfPtr = 0;\n var listGlyf = 0;\n for (var k = 0; k < LocaTable.length; ++k) {\n LocaTable[k] = glyfPtr;\n if (listGlyf < activeGlyphs.length && activeGlyphs[listGlyf] == k) {\n ++listGlyf;\n LocaTable[k] = glyfPtr;\n var start = this.offsets[k];\n var len = this.offsets[k + 1] - start;\n if (len > 0) {\n glyfPtr += len;\n }\n }\n }\n var newLocaTable = new Array(LocaTable.length * 4);\n for (var j = 0; j < LocaTable.length; ++j) {\n newLocaTable[4 * j + 3] = LocaTable[j] & 0x000000ff;\n newLocaTable[4 * j + 2] = (LocaTable[j] & 0x0000ff00) >> 8;\n newLocaTable[4 * j + 1] = (LocaTable[j] & 0x00ff0000) >> 16;\n newLocaTable[4 * j] = (LocaTable[j] & 0xff000000) >> 24;\n }\n return newLocaTable;\n };\n return LocaTable;\n})(Table);\n\n/************************************************************************************/\n/* function : invert */\n/* comment : Change the object's (key: value) to create an object with (value: key).*/\n/************************************************************************************/\nvar invert = function(object) {\n var key, ret, val;\n ret = {};\n for (key in object) {\n val = object[key];\n ret[val] = key;\n }\n return ret;\n};\n\n/*var successorOf = function (input) {\n var added, alphabet, carry, i, index, isUpperCase, last, length, next, result;\n alphabet = 'abcdefghijklmnopqrstuvwxyz';\n length = alphabet.length;\n result = input;\n i = input.length;\n while (i >= 0) {\n last = input.charAt(--i);\n if (isNaN(last)) {\n index = alphabet.indexOf(last.toLowerCase());\n if (index === -1) {\n next = last;\n carry = true;\n }\n else {\n next = alphabet.charAt((index + 1) % length);\n isUpperCase = last === last.toUpperCase();\n if (isUpperCase) {\n next = next.toUpperCase();\n }\n carry = index + 1 >= length;\n if (carry && i === 0) {\n added = isUpperCase ? 'A' : 'a';\n result = added + next + result.slice(1);\n break;\n }\n }\n }\n else {\n next = +last + 1;\n carry = next > 9;\n if (carry) {\n next = 0;\n }\n if (carry && i === 0) {\n result = '1' + next + result.slice(1);\n break;\n }\n }\n result = result.slice(0, i) + next + result.slice(i + 1);\n if (!carry) {\n break;\n }\n }\n return result;\n };*/\n\nvar Subset = (function() {\n function Subset(font) {\n this.font = font;\n this.subset = {};\n this.unicodes = {};\n this.next = 33;\n }\n /*Subset.prototype.use = function (character) {\n var i, _i, _ref;\n if (typeof character === 'string') {\n for (i = _i = 0, _ref = character.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n this.use(character.charCodeAt(i));\n }\n return;\n }\n if (!this.unicodes[character]) {\n this.subset[this.next] = character;\n return this.unicodes[character] = this.next++;\n }\n };*/\n /*Subset.prototype.encodeText = function (text) {\n var char, i, string, _i, _ref;\n string = '';\n for (i = _i = 0, _ref = text.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n char = this.unicodes[text.charCodeAt(i)];\n string += String.fromCharCode(char);\n }\n return string;\n };*/\n /***************************************************************/\n /* function : generateCmap */\n /* comment : Returns the unicode cmap for this font. */\n /***************************************************************/\n Subset.prototype.generateCmap = function() {\n var mapping, roman, unicode, unicodeCmap, _ref;\n unicodeCmap = this.font.cmap.tables[0].codeMap;\n mapping = {};\n _ref = this.subset;\n for (roman in _ref) {\n unicode = _ref[roman];\n mapping[roman] = unicodeCmap[unicode];\n }\n return mapping;\n };\n /*Subset.prototype.glyphIDs = function () {\n var ret, roman, unicode, unicodeCmap, val, _ref;\n unicodeCmap = this.font.cmap.tables[0].codeMap;\n ret = [0];\n _ref = this.subset;\n for (roman in _ref) {\n unicode = _ref[roman];\n val = unicodeCmap[unicode];\n if ((val != null) && __indexOf.call(ret, val) < 0) {\n ret.push(val);\n }\n }\n return ret.sort();\n };*/\n /******************************************************************/\n /* function : glyphsFor */\n /* comment : Returns simple glyph objects for the input character.*/\n /******************************************************************/\n Subset.prototype.glyphsFor = function(glyphIDs) {\n var additionalIDs, glyph, glyphs, id, _i, _len, _ref;\n glyphs = {};\n for (_i = 0, _len = glyphIDs.length; _i < _len; _i++) {\n id = glyphIDs[_i];\n glyphs[id] = this.font.glyf.glyphFor(id);\n }\n additionalIDs = [];\n for (id in glyphs) {\n glyph = glyphs[id];\n if (glyph != null ? glyph.compound : void 0) {\n additionalIDs.push.apply(additionalIDs, glyph.glyphIDs);\n }\n }\n if (additionalIDs.length > 0) {\n _ref = this.glyphsFor(additionalIDs);\n for (id in _ref) {\n glyph = _ref[id];\n glyphs[id] = glyph;\n }\n }\n return glyphs;\n };\n /***************************************************************/\n /* function : encode */\n /* comment : Encode various tables for the characters you use. */\n /***************************************************************/\n Subset.prototype.encode = function(glyID, indexToLocFormat) {\n var cmap,\n code,\n glyf,\n glyphs,\n id,\n ids,\n loca,\n new2old,\n newIDs,\n nextGlyphID,\n old2new,\n oldID,\n oldIDs,\n tables,\n _ref;\n cmap = CmapTable.encode(this.generateCmap(), \"unicode\");\n glyphs = this.glyphsFor(glyID);\n old2new = {\n 0: 0\n };\n _ref = cmap.charMap;\n for (code in _ref) {\n ids = _ref[code];\n old2new[ids.old] = ids[\"new\"];\n }\n nextGlyphID = cmap.maxGlyphID;\n for (oldID in glyphs) {\n if (!(oldID in old2new)) {\n old2new[oldID] = nextGlyphID++;\n }\n }\n new2old = invert(old2new);\n newIDs = Object.keys(new2old).sort(function(a, b) {\n return a - b;\n });\n oldIDs = (function() {\n var _i, _len, _results;\n _results = [];\n for (_i = 0, _len = newIDs.length; _i < _len; _i++) {\n id = newIDs[_i];\n _results.push(new2old[id]);\n }\n return _results;\n })();\n glyf = this.font.glyf.encode(glyphs, oldIDs, old2new);\n loca = this.font.loca.encode(glyf.offsets, oldIDs);\n tables = {\n cmap: this.font.cmap.raw(),\n glyf: glyf.table,\n loca: loca,\n hmtx: this.font.hmtx.raw(),\n hhea: this.font.hhea.raw(),\n maxp: this.font.maxp.raw(),\n post: this.font.post.raw(),\n name: this.font.name.raw(),\n head: this.font.head.encode(indexToLocFormat)\n };\n if (this.font.os2.exists) {\n tables[\"OS/2\"] = this.font.os2.raw();\n }\n return this.font.directory.encode(tables);\n };\n return Subset;\n})();\n\njsPDF.API.PDFObject = (function() {\n var pad;\n\n function PDFObject() {}\n pad = function(str, length) {\n return (Array(length + 1).join(\"0\") + str).slice(-length);\n };\n /*****************************************************************************/\n /* function : convert */\n /* comment :Converts pdf tag's / FontBBox and array values in / W to strings */\n /*****************************************************************************/\n PDFObject.convert = function(object) {\n var e, items, key, out, val;\n if (Array.isArray(object)) {\n items = (function() {\n var _i, _len, _results;\n _results = [];\n for (_i = 0, _len = object.length; _i < _len; _i++) {\n e = object[_i];\n _results.push(PDFObject.convert(e));\n }\n return _results;\n })().join(\" \");\n return \"[\" + items + \"]\";\n } else if (typeof object === \"string\") {\n return \"/\" + object;\n } else if (object != null ? object.isString : void 0) {\n return \"(\" + object + \")\";\n } else if (object instanceof Date) {\n return (\n \"(D:\" +\n pad(object.getUTCFullYear(), 4) +\n pad(object.getUTCMonth(), 2) +\n pad(object.getUTCDate(), 2) +\n pad(object.getUTCHours(), 2) +\n pad(object.getUTCMinutes(), 2) +\n pad(object.getUTCSeconds(), 2) +\n \"Z)\"\n );\n } else if ({}.toString.call(object) === \"[object Object]\") {\n out = [\"<<\"];\n for (key in object) {\n val = object[key];\n out.push(\"/\" + key + \" \" + PDFObject.convert(val));\n }\n out.push(\">>\");\n return out.join(\"\\n\");\n } else {\n return \"\" + object;\n }\n };\n return PDFObject;\n})();\n"],"names":["globalObject","window","global","self","this","consoleLog","console","log","apply","arguments","warn","str","call","error","download","url","name","opts","xhr","XMLHttpRequest","open","responseType","onload","saveAs","response","onerror","send","corsEnabled","e","status","click","node","dispatchEvent","MouseEvent","evt","document","createEvent","initMouseEvent","atob","btoa","_global","HTMLAnchorElement","prototype","blob","URL","webkitURL","a","createElement","rel","href","origin","location","target","createObjectURL","setTimeout","revokeObjectURL","navigator","msSaveOrOpenBlob","autoBom","_typeof","test","type","Blob","String","fromCharCode","bom","popup","title","body","innerText","force","isSafari","HTMLElement","safari","isChromeIOS","userAgent","FileReader","reader","onloadend","result","replace","readAsDataURL","RGBColor","color_string","channels","ok","charAt","substr","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","feldspar","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslateblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","violetred","wheat","white","whitesmoke","yellow","yellowgreen","toLowerCase","color_defs","re","example","process","bits","parseInt","i","length","processor","exec","r","g","b","isNaN","toRGB","toHex","toString","md5cycle","x","k","c","d","ff","gg","hh","ii","add32","cmn","q","s","t","md51","n","state","md5blk","substring","tail","charCodeAt","md5blks","bind","hex_chr","split","rhex","j","singleToByteString","md5Bin","map","join","toByteString","md5Check","hex","lsw","rc4","key","data","lastKey","lastState","num","Array","out","permissionOptions","print","modify","copy","PDFSecurity","permissions","userPassword","ownerPassword","fileId","v","protection","forEach","perm","Error","padding","paddedUserPassword","paddedOwnerPassword","O","processOwnerPassword","P","encryptionKey","lsbFirstWord","hexToBytes","U","toPDFName","strLength","charCode","slice","PubSub","context","topics","subscribe","topic","callback","once","hasOwnProperty","token","Math","random","unsubscribe","Object","keys","publish","args","tokens","sub","ex","message","push","getTopics","GState","parameters","supported","p","indexOf","id","objectNumber","Pattern","gState","matrix","ShadingPattern","coords","colors","TilingPattern","boundingBox","xStep","yStep","stream","cloneIndex","jsPDF","options","precision","orientation","unit","format","compressPdf","filters","userUnit","floatPrecision","defaultPathOperation","encryptionOptions","compress","encryption","userPermissions","abs","putOnlyUsedFonts","usedFonts","API","internal","__private__","pdfVersion","getPdfVersion","setPdfVersion","value","pageFormats","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","a10","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","b10","c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","c10","dl","letter","legal","ledger","tabloid","getPageFormats","getPageFormat","ApiMode","COMPAT","ADVANCED","apiMode","advancedAPI","saveGraphicsState","Matrix","scaleFactor","getPageHeight","setFontSize","getFontSize","compatAPI","restoreGraphicsState","combineFontStyleAndFontWeight","fontStyle","fontWeight","doSwitch","isAdvancedAPI","hpf","advancedApiModeTrap","methodName","roundToPrecision","number","parmPrecision","tmpPrecision","toFixed","f2","f3","scale","transformY","y","transformScaleY","setPrecision","creationDate","getFileId","setFileId","toUpperCase","floor","convertDateToPDFDate","parmDate","tzoffset","getTimezoneOffset","tzsign","tzhour","tzmin","timeZoneString","padd2","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","convertPDFDateToDate","parmPDFDate","year","month","date","hour","minutes","seconds","Date","setCreationDate","tmpCreationDateString","getCreationDate","currentPage","padd2Hex","hexString","offsets","content","contentLength","additionalObjects","pages","hasCustomDestination","outputDestination","resetDocument","rootDictionaryObjId","newObjectDeferred","resourceDictionaryObjId","setCustomOutputDestination","destination","setOutputDestination","resetCustomOutputDestination","string","write","getArrayBuffer","len","ab","ArrayBuffer","u8","Uint8Array","standardFonts","getStandardFonts","activeFontSize","fontSize","size","zoomMode","R2L","setR2L","getR2L","pageMode","setZoomMode","zoom","validZoomModes","undefined","getZoomMode","layoutMode","setPageMode","pmode","getPageMode","setLayoutMode","layout","getLayoutMode","setDisplayMode","documentProperties","subject","author","keywords","creator","getDocumentProperty","getDocumentProperties","setDocumentProperties","setProperties","properties","property","setDocumentProperty","activeFontKey","pageX","pageY","pageMatrix","fonts","fontmap","fontStateStack","patterns","patternMap","gStates","gStatesMap","activeGState","page","pagesContext","events","hotfixes","renderTargets","renderTargetMap","renderTargetStack","sx","shy","shx","sy","tx","ty","_matrix","defineProperty","get","set","atan2","decompose","separator","multiply","f","scaleX","sqrt","shear","scaleY","translate","rotate","skew","inversed","quot","aInv","bInv","cInv","dInv","applyToPoint","pt","Point","applyToRectangle","rect","pt1","pt2","w","h","Rectangle","clone","matrixMult","m1","m2","identityMatrix","unitMatrix","addPattern","pattern","patternKey","addShadingPattern","beginTilingPattern","beginNewRenderTarget","endTilingPattern","pop","restore","newObject","oid","newObjectDeferredBegin","doOutput","newAdditionalObject","obj","objId","decodeColorString","color","colorEncoded","floatVal","parseFloat","colorAsRGB","encodeColorString","ch1","ch2","ch3","ch4","letterArray","pdfColorType","rgbColor","getFilters","putStream","alreadyAppliedFilters","addLength1","valueOfLength1","objectId","encryptor","processedData","keyValues","additionalKeyValues","filterAsString","processDataByFilters","reverseChain","isArray","decodeParmsArray","putPage","pageNumber","pageObjectNumber","pageContentsObjId","contentsObjId","mediaBox","bottomLeftX","bottomLeftY","topRightX","topRightY","cropBox","bleedBox","trimBox","artBox","pageContext","pageContent","putPages","pageObjectNumbers","kids","putFont","font","isAlreadyPutted","postScriptName","encoding","putFonts","fontKey","putXObject","xObject","width","height","putXObjects","xObjectKey","interpolateAndEncodeRGBStream","numberSamples","tValues","dT","offset","unshift","index","aColor","bColor","round","trim","putShadingPattern","funcObjectNumber","putTilingPattern","deferredResourceDictionaryIds","resourcesObjectId","patternObjectId","resourcesOid","objectOid","putPatterns","putGState","putGStates","gStateKey","putXobjectDict","putEncryptionDict","toHexString","putFontDict","putShadingPatternDict","putTilingPatternDict","putGStatesDict","putResourceDictionary","objectIds","putResources","Number","MAX_SAFE_INTEGER","putAdditionalObjects","addFontToFontDictionary","fontName","addFont","isStandardFont","metadata","instance","addFonts","arrayOfFonts","l","parts","dictionary","SAFE","fn","foo","stack","m","alert","bar","to8bitStream","text","flags","sourceEncoding","encodingBlock","outputEncoding","newtext","isUnicode","ch","bch","autoencode","codePages","noBOM","pdfEscape","beginPage","_setPage","_addPage","parmFormat","parmOrientation","dimensions","min","setLineWidth","lineWidth","strokeColor","lineCapID","lineJoinID","_deletePage","splice","setPage","getNumberOfPages","getFont","fontNameLowerCase","disableWarning","noFallback","putInfo","version","putCatalog","tmpRootDictionaryObjId","pcn","putTrailer","putHeader","putXRef","buildDocument","offsetOfXRef","getBlob","output","filename","save","dataURI","pdfDocument","unescape","encodeURIComponent","pdfObjectUrl","integrity","htmlForNewWindow","JSON","stringify","nW","htmlForPDFjsNewWindow","pdfJsUrl","PDFjsNewWindow","scope","documentElement","querySelector","contentWindow","PDFViewerApplication","htmlForDataURLNewWindow","dataURLNewWindow","hasHotfix","hotfixName","getEncryptor","getPageInfo","pageNumberOneBased","getPageInfoByObjId","getCurrentPageInfo","addPage","insertPage","beforePage","movePage","targetPage","tmpPages","tmpPagesContext","deletePage","transform","payload","da","angle","align","charSpace","maxWidth","horizontalScale","transformationMatrix","tmp","xtra","isHex","lineHeight","lineHeightFactor","ESC","TabLen","transformTextToSpecialArray","curDa","sa","concat","shift","processTextByFunction","processingFunction","tmpResult","textIsOfTypeString","tmpTextIsOfTypeString","match","descent","baseline","splitTextToSize","reduce","acc","textLine","mutex","PI","rotationDirection","cos","sin","activeCharSpace","setCharSpace","getCharSpace","lang","renderingMode","parmRenderingMode","stroke","usedRenderingMode","lineWidths","leading","pageWidth","pageSize","getWidth","activeFont","assign","wordSpacingPerLine","findWidth","getStringUnitWidth","doKerning","newY","newX","prevWidth","getHorizontalCoordinate","getVerticalCoordinate","backToStartX","spacing","words","shiftAmount","doReversing","posX","posY","reverse","activeFontEncoding","STRING","ARRAY","variant","wordSpacing","generatePosition","parmPosX","parmPosY","parmTransformationMatrix","position","lineIndex","textColor","clip","rule","clipEvenOdd","discardPath","isValidStyle","style","setDefaultPathOperation","operator","getStyle","op","close","fill","fillWithOptionalPattern","fillEvenOdd","fillStroke","fillStrokeEvenOdd","fillWithPattern","putStyle","cloneTilingPattern","patternData","patternId","clipRuleFromStyle","setGState","moveTo","lineTo","curveTo","x1","y1","x2","y2","x3","y3","line","lines","closed","scalex","scaley","leg","x4","y4","path","triangle","roundedRect","rx","ry","MyArc","SQRT2","ellipse","lx","ly","circle","setFont","getFontEntry","getFontList","list","encodingOptions","getLineWidth","setLineDash","setLineDashPattern","dashArray","dashPhase","getLineHeight","setLineHeightFactor","getLineHeightFactor","getHorizontalCoordinateString","getVerticalCoordinateString","getStrokeColor","getDrawColor","setStrokeColor","setDrawColor","fillColor","getFillColor","setFillColor","getTextColor","setTextColor","CapJoinStyles","butt","but","miter","rounded","projecting","project","square","bevel","setLineCap","setLineJoin","setLineMiterLimit","setMiterLimit","addGState","equals","duplicate","fontState","setCurrentTransformationMatrix","comment","_x","enumerable","_y","_type","_w","_h","RenderTarget","getPageWidth","setPageWidth","setPageHeight","endFormObject","newXObject","xObjectId","plugin","beginFormObject","doFormObject","getFormObject","returnPromise","unload","Promise","resolve","reject","newEvents","eventname","handler_and_args","getCoordinateString","collections","setWidth","getHeight","setHeight","getPDFVersion","configurable","byteString","byte","bytes","generation","other","ignore","count","jsPDFAPI","pdfUnescape","f5","__acroform__","inherit","child","parent","create","constructor","createFormXObject","formObject","xobj","AcroFormXObject","AcroFormAppearance","BBox","setBit","bitPosition","clearBit","getBit","getBitForPdf","setBitForPdf","clearBitForPdf","calculateCoordinates","coordinates","lowerLeft_X","lowerLeft_Y","upperRight_X","upperRight_Y","calculateAppearanceStream","appearanceStreamContent","V","DV","_V","calcRes","calculateX","maxFontSize","returnValue","textSplit","multiline","word","isSmallerThanWidth","lastLine","calculateFontSpace","FontSize","startX","lastLength","textHeight","startY","lastY","firstWordInLine","lastWordInLine","currWord","lineCount","isWithNewLine","nextLineIsSmaller","isLastWord","currLine","textAlign","acroformPluginTemplate","fields","xForms","acroFormDictionaryRoot","printedOut","isInitialized","createAnnotationReference","object","annotations","find","entry","createXFormObjectCallback","fieldArray","fieldObject","initializeAcroForm","acroformPlugin","AcroFormField","FieldNum","parse","AcroFormDictionary","_eventID","AcroFormDictionaryCallback","Fields","hasAnnotation","annotReferenceCallback","putCatalogCallback","standardFields","Kids","keyValueList","oldRect","Rect","DA","createDefaultAppearanceStream","getKeyValueListForStream","hasAppearanceStream","appearance","appearanceStreamString","createFieldCallback","arrayToPdfArray","array","toPdfString","AcroFormPDFObject","_objId","_scope","writable","getOwnPropertyNames","filter","getOwnPropertyDescriptor","_stream","_BBox","_DA","_Kids","_F","Boolean","F","_Ff","_Rect","_FT","_T","AcroFormChildClass","_fontName","_fontStyle","_fontSize","_maxFontSize","_color","AcroFormTextField","_DV","AcroFormButton","_page","_hasAppearanceStream","Ff","_Q","AcroFormChoiceField","FT","_TI","_Opt","regex","matches","getMatches","getOptions","setOptions","sort","addOption","removeOption","allEntries","combo","AcroFormListBox","AcroFormComboBox","AcroFormEditBox","edit","_AS","_MK","CA","AcroFormPushButton","pushButton","AcroFormRadioButton","radio","_parent","_optionName","caption","appearanceState","_AppearanceType","RadioButton","Circle","createAppearanceStream","optionName","setAppearance","getCA","createOption","Parent","addField","AcroFormCheckBox","CheckBox","_MaxLen","isInteger","AcroFormPasswordField","password","N","On","YesNormal","D","YesPushDown","Off","OffPushDown","encodedColor","DotRadius","Bezier_C","DotRadiusBezier","kc","dc","Cross","cross","calculateCross","AcroForm","ChoiceField","ListBox","ComboBox","EditBox","Button","PushButton","TextField","PasswordField","Appearance","toLookup","arr","lookup","__addimage__","UNKNOWN","imageFileTypeHeaders","PNG","TIFF","JPEG","JPEG2000","GIF87a","GIF89a","WEBP","BMP","getImageFileTypeByImageData","imageData","fallbackFormat","headerSchemata","compareResult","fileType","Uint8ClampedArray","isArrayBufferView","putImage","image","colorSpace","color_spaces","INDEXED","palette","sMask","DEVICE_CMYK","bitsPerComponent","decodeParameters","transparency","predictor","arrayBufferToBinaryString","putResourcesCallback","images","putXObjectsDictCallback","initialize","getImages","getImageIndex","isImageTypeSupported","isDOMElement","nodeType","getImageDataFromElement","element","nodeName","hasAttribute","src","getAttribute","tmpImageData","loadFile","mimeType","toDataURL","checkImagesForAlias","alias","determineWidthAndHeight","writeImageToPDF","rotation","dims","coord","vcoord","f4","rotationTransformationMatrix","DEVICE_RGB","DEVICE_GRAY","CAL_GREY","CAL_RGB","LAB","ICC_BASED","PATTERN","SEPARATION","DEVICE_N","decode","DCT_DECODE","FLATE_DECODE","LZW_DECODE","JPX_DECODE","JBIG2_DECODE","ASCII85_DECODE","ASCII_HEX_DECODE","RUN_LENGTH_DECODE","CCITT_FAX_DECODE","image_compression","NONE","FAST","MEDIUM","SLOW","sHashCode","hash","byteLength","validateStringAsBase64","possibleBase64String","extractImageFromDataUrl","dataUrl","dataUrlParts","extractedInfo","charset","supportsArrayBuffer","isArrayBuffer","Uint32Array","Int8Array","Int16Array","Uint16Array","Int32Array","Float32Array","Float64Array","binaryStringToUint8Array","binary_string","buffer","buf","subarray","addImage","compression","processImageData","dataAsBinaryString","convertBase64ToBinaryString","generateAliasFromImageData","checkCompressValue","stringData","throwError","base64Info","rawData","getImageProperties","notEmpty","addPageData","putPageData","anno","pageInfo","pageAnnos","found","escape","objText","objPopup","encryptorText","bounds","contents","loc","_nameMap","top","finalBounds","magFactor","left","createAnnotation","link","textWithLink","linkHeight","linkWidth","totalLineWidth","getTextWidth","numOfLines","ceil","arabicSubstitionA","ligatures","arabic_diacritics","alfletter","__arabicParser__","isInArabicSubstitutionA","isArabicLetter","isArabicEndLetter","isArabicAlfLetter","arabicLetterHasIsolatedForm","arabicLetterHasFinalForm","arabicLetterHasInitialForm","arabicLetterHasMedialForm","resolveLigatures","letters","tmpLigatures","effectedLetters","isArabicDiacritic","getCorrectForm","currentChar","beforeChar","nextChar","parseArabic","currentLetter","prevLetter","nextLetter","newWords","processArabic","tmpText","autoPrint","refAutoPrintTag","addJS","Canvas","jsPdfInstance","_width","getContext","pageWrapXEnabled","pageWrapX","_height","pageWrapYEnabled","pageWrapY","_childNodes","_style","contextType","contextAttributes","pdf","context2d","_canvas","canvas","NO_MARGINS","bottom","right","printingHeaderRow","_initialize","__cell__","headerFunction","margins","_reset","lastCell","Cell","_text","_lineNumber","_align","lineNumber","toArray","setHeaderFunction","func","getTextDimensions","amountOfLines","tempWidth","max","cellAddPage","cell","currentCell","tableHeaderRow","printHeaders","printHeaderRow","table","headers","config","column","headerName","headerNames","headerLabels","headerAligns","columnMatrix","columnWidths","columnMinWidths","tableHeaderConfigs","autoSize","css","headerBackgroundColor","headerTextColor","table_font_size","header","prompt","rec","row","rowHeight","calculateLineHeight","setTableHeaderRow","pv","cv","rowStart","Function","cellData","cellStart","col","table_x","table_y","model","new_page","tableHeaderCell","tempHeaderConf","currentTextColor","fontStyleOrder","italic","oblique","normal","fontStretchOrder","fontStretchLookup","fontWeights","fontWeightsLookup","normalizeFontFace","fontFace","family","normalizeFontStyle","weight","normalizeFontWeight","stretch","normalizeFontStretch","ref","searchFromPivot","matchingSet","order","pivot","dir","defaultGenericFontFamilies","fixed","monospace","terminal","cursive","fantasy","serif","systemFonts","icon","menu","ruleToString","resolveFontFace","fontFaceMap","rules","defaultFontFamily","genericFontFamilies","resolveFontStretch","ordering","resolveFontStyle","resolveFontWeight","eatWhiteSpace","input","trimLeft","parseQuotedFontFamily","quote","parseNonQuotedFontFamily","defaultFont","_ctx","ContextLayer","ctx","isStrokeTransparent","strokeOpacity","strokeStyle","fillStyle","isFillTransparent","fillOpacity","textBaseline","lineJoin","lineCap","globalCompositeOperation","globalAlpha","clip_path","currentPoint","miterLimit","lastPoint","lineDashOffset","lineDash","margin","prevPageLastElemOffset","ignoreClearRect","Context2D","parentNode","_pdf","_pageWrapXEnabled","_pageWrapYEnabled","_posX","_posY","_autoPaging","lastBreak","pageBreaks","_ctxStack","rgba","getRGBA","_fontFaceMap","getFontFaceMap","fontFaces","convertedFontFaces","fontMap","convertToFontFaces","normalized","buildFontFaceMap","_fontFaces","fontFamily","fontSizeUnit","parsed","remaining","parseFontFamily","jsPdfFontName","fallbackFonts","arial","Arial","verdana","Verdana","helvetica","Helvetica","getLineDash","pathPreProcess","beginPath","closePath","pathBegin","quadraticCurveTo","cpx","cpy","pt0","bezierCurveTo","cp1x","cp1y","cp2x","cp2y","arc","radius","startAngle","endAngle","counterclockwise","isIdentity","xpt","x_radPt","x_radPt0","pow","arcTo","fillRect","strokeRect","clearRect","doStackPush","tmpPageNumber","ctxStack","doStackPop","isCanvasGradient","getColor","fillText","degs","rad2deg","putText","strokeText","measureText","txtWidth","TextMetrics","scalewidth","scaleheight","setTransform","hasMargins","drawImage","img","swidth","sheight","imageProperties","factorX","factorY","clipFactorX","clipFactorY","clipPath","decomposedTransformationMatrix","xRect","pageArray","getPagesByPath","sortPages","autoPaging","pageWidthMinusMargins","topMargin","firstPageHeight","pageHeightMinusMargins","previousPageHeightSum","tmpPaths","pathPositionRedo","drawPaths","tmpRect","needsClipping","yOffset","rectOfQuadraticCurve","getQuadraticCurveBoundary","rectOfBezierCurve","getBezierCurveBoundary","paths","isClip","tmpPath","oldLineWidth","origPath","xPath","delta","moves","begin","start","deltas","iii","began","arcs","drawArc","drawLine","drawLines","doClip","getBaseline","getTextBottom","yBaseLine","createLinearGradient","canvasGradient","colorStops","addColorStop","createPattern","createRadialGradient","includeMove","curves","createArc","curve","doMove","drawCurve","textDimensions","yTop","oldSize","baselineRect","textBounds","pageHeightMinusBottomMargin","pageWidthMinusRightMargin","textBoundsOnPage","doSlice","croppedText","baseLineRectOnPage","prevX","prevY","anticlockwise","twoPi","halfPi","totalAngle","sgn","createSmallArc","q1","q2","k2","ar","cos_ar","sin_ar","ey","midX1","midY1","midX2","midY2","resultX1","resultX2","resultY1","resultY2","ax","ay","bx","by","cx","cy","dx","dy","px","py","qx","qy","minx","miny","maxx","maxy","tobx","toby","tocx","tocy","todx","tody","prevLineDash","nextLineDash","u16","i32","fleb","fdeb","clim","freb","eb","_a","fl","revfl","_b","fd","revfd","rev","hMap","cd","mb","co","le","rvb","sv","r_1","flt","fdt","flm","flrm","fdm","fdrm","o","bits16","shft","slc","ec","err","ind","msg","nt","code","captureStackTrace","wbits","wbits16","hTree","t2","et","i0","i1","i2","maxSym","tr","mbt","ln","dt","lft","cst","i2_1","i2_2","i2_3","lc","cl","cli","cln","cls","clen","cf","wfblk","pos","dat","wblk","final","syms","lf","df","li","bs","bl","dlt","mlb","ddt","mdb","_c","lclt","nlc","_d","lcdt","ndc","lcfreq","_e","lct","mlcb","nlcc","lm","ll","dm","flen","ftlen","dtlen","llm","lcts","it","clct","sym","dst","deo","adler","dopt","opt","pre","post","st","dict","newDat","lvl","plvl","z","lst","msk_1","prev","head","bs1_1","bs2_1","hsh","lc_1","wi","hv","imod","pimod","rem","ch_1","dif","maxn","maxd","ml","nl","mmd","md","ti","lin","din","dflt","level","mem","wbytes","zlibSync","lv","zlh","unzlibSync","sl","noBuf","resize","noSt","cbuf","nbuf","bt","lbt","dbt","tbts","hLit","hcLen","tl","ldt","clt","clb","clbmsk","clm","lt","lms","dms","lpos","add","dsym","end","dend","inflt","td","TextDecoder","ASCII85Encode","ASCII85Decode","ASCIIHexDecode","regexCheckIfHex","RegExp","FlateEncode","origData","filterChain","sync","request","sanitizeUnicode","dataLength","charArray","StringFromCharCode","overrideMimeType","responseText","browserRequest","loadImageFile","loadHtml2Canvas","exports","module","require","define","amd","catch","then","html2canvas","default","loadDomPurify","dompurify","objType","tagName","el","className","innerHTML","sanitize","Worker","root","convert","template","setProgress","promise","__proto__","prop","container","overlay","progress","val","enableLinks","backgroundColor","from","getType","to","toContainer","toCanvas","toImg","toPdf","thenList","setPageSize","containerCSS","display","windowWidth","clientWidth","scrollWidth","offsetWidth","source","cloneNode","javascriptEnabled","createTextNode","nodeValue","firstChild","nextSibling","appendChild","addEventListener","scrollTop","scrollLeft","scrollHeight","offsetHeight","clientHeight","overflow","zIndex","clear","border","float","prereqs","contains","onrendered","removeChild","toContext2d","async","allowTaint","scrollX","scrollY","imageTimeout","logging","proxy","removeContainer","foreignObjectRendering","useCORS","windowHeight","imgData","quality","outputImg","outputPdf","doCallback","fns","setMargin","cbk","toPx","getPageSize","inner","ratio","updateProgress","onFulfilled","onRejected","thenCore","thenBase","selfPromise","returnVal","thenExternal","catchExternal","using","export","run","format_as_string","pageHeight","html","worker","jsNamesObj","jsJsObj","javascript","namesOid","outline","children","render","createNamedDestinations","totalPages","dests","info","names2Oid","makeRef","item","genIds_r","renderRoot","renderItems","objStart","count_r","objEnd","makeString","markers","processJPEG","blockLength","numcomponents","getJpegInfo","getCharWidthsArray","splitLongWord","splitParagraphIntoLines","makeImage","scratchCanvas","scratchCtx","chunkSize","palLen","delayDen","delayNum","frame","section","palShort","_i","_j","_ref","animation","readUInt32","_results","colorType","compressionMethod","filterMethod","interlaceMethod","numFrames","numPlays","Infinity","frames","read","xOffset","readUInt16","delay","disposeOp","blendOp","indexed","grayscale","rgb","hasAlphaChannel","pixelBitlength","decodePixels","pixelBytes","fullPixels","_this","pass","x0","y0","abyte","pa","paeth","pb","pc","pixels","scanlineLength","upper","upperLeft","_k","_l","_m","isFull","fullPos","partPos","decodePalette","ret","_ref1","copyToImageData","alpha","_decodedPalette","hasBrowserCanvas","putImageData","Image","decodeFrames","_len","createImageData","renderFrame","animate","doFrame","frameNumber","_timeout","stopAnimation","clearTimeout","_png","GifReader","pf0","global_palette_flag","num_global_colors","global_palette_offset","global_palette_size","no_eof","transparent_index","disposal","loop_count","block_size","pf1","pf2","interlace_flag","num_local_colors","palette_offset","palette_size","has_local_palette","data_offset","data_length","interlaced","loopCount","frameInfo","frame_num","decodeAndBlitFrameBGRA","num_pixels","index_stream","GifReaderLZWOutputIndexStream","trans","framewidth","framestride","xleft","opbeg","opend","scanstride","interlaceskip","il","decodeAndBlitFrameRGBA","code_stream","output_length","min_code_size","clear_code","eoi_code","next_code","cur_code_size","code_mask","cur_shift","cur","subblock_size","code_table","prev_code","chase_code","chase_length","chase","JPEGEncoder","YDC_HT","UVDC_HT","YAC_HT","UVAC_HT","currentQuality","ffloor","YTable","UVTable","fdtbl_Y","fdtbl_UV","bitcode","category","outputfDCTQuant","DU","byteout","bytenew","bytepos","YDU","UDU","VDU","RGB_YUV_TABLE","ZigZag","std_dc_luminance_nrcodes","std_dc_luminance_values","std_ac_luminance_nrcodes","std_ac_luminance_values","std_dc_chrominance_nrcodes","std_dc_chrominance_values","std_ac_chrominance_nrcodes","std_ac_chrominance_values","computeHuffmanTbl","nrcodes","std_table","codevalue","pos_in_table","HT","writeBits","posval","writeByte","writeWord","processDU","CDU","fdtbl","DC","HTDC","HTAC","EOB","M16zeroes","DU_DCT","d0","d1","d2","d3","d4","d5","d6","d7","fDCTQuant","dataOff","tmp0","tmp7","tmp1","tmp6","tmp2","tmp5","tmp3","tmp4","tmp10","tmp13","tmp11","tmp12","z1","z5","z2","z4","z3","z11","z13","tmp0p2","tmp7p2","tmp1p2","tmp6p2","tmp2p2","tmp5p2","tmp3p2","tmp4p2","tmp10p2","tmp13p2","tmp11p2","tmp12p2","z1p2","z5p2","z2p2","z4p2","z3p2","z11p2","z13p2","Diff","end0pos","lng","startpos","nrzeroes","nrmarker","setQuality","sf","YQT","UVQT","u","aasf","initQuantTables","encode","writeDQT","writeSOF0","writeDHT","DCY","DCU","DCV","displayName","quadWidth","fillbits","sfcc","initCharLookupTable","nrlower","nrupper","cat","nr","nrneg","initCategoryNumber","initRGBYUVTable","BmpDecoder","is_with_alpha","datav","DataView","bottom_up","flag","parseHeader","parseBGR","WebPDecoder","fa","L","J","H","I","Z","M","wa","Ed","ma","_WebPDecoder","Fd","Ub","G","jc","Qb","qb","nd","pd","xb","Ca","Ka","oa","Jd","Yc","Zc","Qa","na","K","ca","cb","Sb","Ra","bb","Vb","ob","db","Gd","Hd","Wb","Sa","Xb","Id","ra","Ta","Yb","Ha","Zb","X","Mb","Xa","$b","ac","bc","xa","yb","ud","hd","jd","aa","Ia","cc","Kd","Ld","Ea","Md","Nd","Od","Pd","Qd","fb","gb","hb","zb","Ab","Ja","Bb","Rd","A","Sd","ea","Tc","Cd","lb","Db","W","Cb","S","RGBA","kb","sd","Td","Ud","ib","bd","Da","Vd","T","Wd","ba","ka","Mc","Nc","fc","Rc","Xd","ya","Kb","za","gc","Ua","Va","memory","Ib","Jb","hc","Oa","ic","Aa","Yd","Ba","Wa","Zd","$d","ae","ta","Eb","be","ga","ce","Dc","mc","nc","de","ua","ub","ha","xc","vc","Ya","oc","C","ee","E","B","Q","fe","qc","Fb","rc","ge","va","Ma","sc","Gb","tc","uc","Hb","wc","yc","zc","qd","rd","ia","tb","he","$","Pb","wd","xd","vb","ie","Ac","Bc","je","Cc","VP8LMapColor32b","ke","VP8LMapColor8b","rb","Oc","R","me","qa","Y","la","ja","Fa","ne","sb","La","Za","$a","jb","oe","pe","nb","qe","Pa","Ga","Na","Ec","se","Fc","ue","yd","Rb","ve","we","Lb","Gc","wb","xe","Wc","Xc","ye","Pc","Tb","zd","vd","od","ld","dd","Hc","ze","Sc","Qc","ad","Ob","Ad","Dd","Ae","Nb","Ic","Be","Kc","ed","$c","Jc","Bd","gd","Uc","Vc","put","Ce","De","Ee","Fe","Ge","He","Ie","Lc","Me","Ne","Oe","Pe","Qe","Re","Se","Te","Ue","Ve","We","Xe","Ye","Ze","$e","af","bf","ef","gf","hf","jf","kf","mf","nf","of","pf","qf","rf","tf","uf","vf","wf","xf","yf","zf","Af","Bf","Ke","Le","Je","kd","Cf","Df","Ef","Gf","Hf","If","Jf","Kf","Lf","Mf","Nf","Of","Pf","Predictor0","Predictor1","Predictor2","Predictor3","Predictor4","Predictor5","Predictor6","Predictor7","Predictor8","Predictor9","Predictor10","Predictor11","Predictor12","Predictor13","PredictorAdd0","PredictorAdd1","PredictorAdd2","ColorIndexInverseTransform","MapARGB","VP8LColorIndexInverseTransformAlpha","MapAlpha","VP8LPredictorsAdd","VP8LPredictors","VP8LPredictorsAdd_C","VP8LPredictors_C","UpsampleRgbLinePair","UpsampleBgrLinePair","UpsampleRgbaLinePair","UpsampleBgraLinePair","UpsampleArgbLinePair","UpsampleRgba4444LinePair","UpsampleRgb565LinePair","Qf","WebPDecodeRGBA","te","GetTag","data_off","GetLE24","GetLE32","webpdecoder","imagearray","src_off","alpha_chunk","alpha_size","alpha_offset","memcmp","fourcc","payload_size","payload_size_padded","src_off_","temp","WebPRiffParser","hasCompressionJS","compressBytes","lineLength","colorsPerPixel","filter_method","filterUp","filterSub","filterAverage","filterPaeth","applyPngFilterMethod","prevLine","filter_methods","getFilterMethods","results","getIndexOfSmallestSum","filterNone","up","upLeft","paethPredictor","pLeft","pUp","pUpLeft","arrays","sum","processPNG","trns","pal","smask","alphaData","hasColors","pixel","pbl","pDiff","total","getPredictorFromCompression","processGIF89A","rawImageData","processGIF87A","fileSize","getUint32","reserved","headerSize","getInt32","planes","getUint16","bitPP","rawSize","hr","vr","importantColors","getUint8","quad","bitn","bit1","xlen","mode","bit4","before","after","bit8","bit15","dif_w","_1_5","bit16","_1_6","bit24","bit32","getData","processBMP","processWEBP","processRGBA","imagePixels","rgbOut","alphaOut","outIndex","alphaIndex","rgbData","setLanguage","langCode","languageSettings","isSubscribed","sq","an","hy","as","ast","az","eu","bn","br","bg","my","zh","cr","cs","en","eo","fo","fj","fi","fr","fy","fur","gl","gu","ht","hi","hu","is","iu","kn","ks","kk","km","ky","tlh","ko","mk","ms","mt","mi","mr","mo","nv","ng","no","nn","or","om","pl","qu","rm","ro","ru","sz","sg","si","sr","sk","so","es","sw","tt","th","tig","ts","tn","tk","uk","hsb","ur","vi","vo","xh","ji","zu","languageCode","char_code","widths","Unicode","widthsFractionOf","fof","kerning","kerningFractionOf","kerningValue","prior_char_code","default_char_width","widthOfString","widthOfGlyph","characterToGlyph","widths_array","firstLineMaxLen","maxLen","answer","workingLen","startOfLine","maxlen","lineIndent","postProcess","line_length","textIndent","separator_length","current_word_length","spaceCharWidth","pad","wrds","wrd","idx","paragraphs","fsize","newOptions","fontUnit_maxLen","__fontmetrics__","encoded","mappingUncompress","mappingCompress","keystring","valuestring","numberprefix","vals","uncompress","stringparts","parent_key_pair","sign","activeobject","parentchain","keyparts","valueparts","datalen","WinAnsiEncoding","encodings","Courier","fontMetrics","Symbol","ZapfDingbats","metrics","file","existsFileInVFS","getFileFromVFS","TTFFont","glyIdsUsed","loadCanvg","canvg","addSvgAsImage","svg","ignoreMouse","ignoreAnimation","ignoreDimensions","doc","fromString","putTotalPages","pageExpression","replaceExpression","totalNumberOfPages","pdfEscape16","viewerPreferences","doReset","configuration","isValid","method","configurationTemplate","HideToolbar","defaultValue","explicitSet","valueSet","HideMenubar","HideWindowUI","FitWindow","CenterWindow","DisplayDocTitle","NonFullScreenPageMode","Direction","ViewArea","ViewClip","PrintArea","PrintClip","PrintScaling","Duplex","PickTrayByPDFSize","PrintPageRange","NumCopies","configurationKeys","rangeArray","arrayContainsElement","iterator","viewerpreferences","vPref","pdfDict","postPutResources","rdf_beginning","__metadata__","namespaceuri","utf8_xmpmeta_beginning","utf8_rdf_beginning","utf8_metadata","utf8_rdf_ending","utf8_xmpmeta_ending","total_len","metadata_object_number","addMetadata","padz","toUnicode","toUnicodeCmap","codes","range","unicode","unicodeMap","pdfOutput","subset","pdfOutput2","fontTable","cmap","fontDescriptor","PDFObject","bbox","stemV","italicAngle","ascender","decender","capHeight","DescendantFont","identityHFunction","hmtx","unitsPerEm","winAnsiEncodingFunction","utf8TextFunction","cmapConfirm","strText","codeMap","parms","_initializeVFS","vFS","addFileToVFS","filecontent","__bidiEngine__","_hasUbatB","_hasUbatS","_isInVisual","_isInRtl","_isOutVisual","_isOutRtl","_isSymmetricSwapping","_UNICODE_TYPES","_bidiUnicodeTypes","_STATE_TABLE_LTR","_STATE_TABLE_RTL","_TYPE_NAMES_MAP","EN","AN","_UNICODE_RANGES_MAP","_SWAP_TABLE","_LTR_RANGES_REG_EXPR","_lastArabic","_dir","_getCharType","rangeIdx","_isContextualDirRtl","charType","_resolveCharType","chars","types","resolvedTypes","wType","nType","cType","rtlCandidate","_invertString","sourceToTargetMap","levels","_computeLevels","hiLevel","params","action","newLevel","prevState","condPos","newState","stateTable","_handleUbatS","_invertByLevel","high","low","_reorder","_symmetricSwap","DIR_RTL","doBidiReorder","_init","isSymmetricSwappingOrig","isInputVisual","isOutputVisual","isInputRtl","isOutputRtl","isSymmetricSwapping","bidiEngine","Data","readString","Subset","registerTTF","directory","Directory","HeadTable","NameTable","CmapTable","hhea","HheaTable","maxp","MaxpTable","HmtxTable","PostTable","os2","OS2Table","loca","LocaTable","glyf","GlyfTable","exists","lineGap","xMin","yMin","xMax","yMax","raw","italic_angle","xHeight","familyClass","isSerif","isScript","isFixedPitch","character","glyph","forGlyph","advance","includeGap","gap","Table","readByte","writeUInt32","readInt32","int","writeInt32","writeUInt16","readInt16","writeInt16","writeString","readShort","writeShort","readLongLong","writeLongLong","readInt","writeInt","checksum","scalarType","tableCount","searchRange","entrySelector","rangeShift","tables","tag","adjustment","directoryLength","headOffset","log2","tableData","__slice","__hasProp","__extends","ctor","__super__","_super","revision","checkSumAdjustment","magicNumber","created","modified","macStyle","lowestRecPPEM","fontDirectionHint","indexToLocFormat","glyphDataFormat","CmapEntry","endCode","glyphId","glyphIds","idDelta","idRangeOffset","saveOffset","segCount","segCountX2","startCode","platformID","encodingID","language","charmap","charMap","diff","endCodes","glyphIDs","indexes","last","nextID","old","rangeOffsets","startCodes","startGlyph","subtable","_len1","_len2","_len3","_len4","_len5","_len6","_len7","_n","_name","_o","_p","_q","new","maxGlyphID","LN2","advanceWidthMax","minLeftSideBearing","minRightSideBearing","xMaxExtent","caretSlopeRise","caretSlopeRun","caretOffset","metricDataFormat","numberOfMetrics","averageCharWidth","weightClass","widthClass","ySubscriptXSize","ySubscriptYSize","ySubscriptXOffset","ySubscriptYOffset","ySuperscriptXSize","ySuperscriptYSize","ySuperscriptXOffset","ySuperscriptYOffset","yStrikeoutSize","yStrikeoutPosition","panose","charRange","vendorID","selection","firstCharIndex","lastCharIndex","ascent","winAscent","winDescent","codePageRange","defaultChar","breakChar","maxContext","numberOfGlyphs","underlinePosition","underlineThickness","minMemType42","maxMemType42","minMemType1","maxMemType1","glyphNameIndex","names","_results1","numGlyphs","NameEntry","languageID","entries","stringOffset","strings","nameID","copyright","fontSubfamily","uniqueSubfamily","postscriptName","trademark","manufacturer","designer","description","vendorUrl","designerUrl","license","licenseUrl","preferredFamily","preferredSubfamily","compatibleFull","sampleText","maxPoints","maxContours","maxCompositePoints","maxComponentContours","maxZones","maxTwilightPoints","maxStorage","maxFunctionDefs","maxInstructionDefs","maxStackElements","maxSizeOfInstructions","maxComponentElements","maxComponentDepth","lsbCount","lsb","leftSideBearings","cache","glyphFor","numberOfContours","lengthOf","CompoundGlyph","SimpleGlyph","glyphs","mapping","old2new","compound","glyphOffsets","activeGlyphs","glyfPtr","listGlyf","newLocaTable","unicodes","next","generateCmap","roman","unicodeCmap","glyphsFor","additionalIDs","glyID","ids","new2old","newIDs","nextGlyphID","oldID","oldIDs","invert","isString","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds"],"mappings":"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YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAO,YACxB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,YACD,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,MA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EAAkB,IAAIt7D,MAAM,IAC5Bu7D,EAAK,IAAIv7D,MAAM,IACfw7D,EAAU,GACVC,EAAU,EACVC,EAAU,EAEVC,EAAM,IAAI37D,MAAM,IAChB47D,EAAM,IAAI57D,MAAM,IAChB67D,EAAM,IAAI77D,MAAM,IAChB0nD,EAAM,IAAI1nD,MAAM,KAChB87D,EAAgB,IAAI97D,MAAM,MAG1B+7D,EAAS,CACX,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IAGEC,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEEC,EAA0B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC7DC,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEC,EAA0B,CAC5B,EACA,EACA,EACA,EACA,EACA,GACA,EACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,EACA,GACA,IACA,GACA,GACA,IACA,IACA,IACA,EACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,IACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAGEC,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEEC,EAA4B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC/DC,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEC,EAA4B,CAC9B,EACA,EACA,EACA,EACA,GACA,EACA,EACA,GACA,GACA,EACA,GACA,GACA,GACA,EACA,GACA,IACA,GACA,GACA,GACA,IACA,EACA,GACA,GACA,IACA,IACA,IACA,IACA,EACA,GACA,GACA,GACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,GACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,cAuKOC,EAAkBC,EAASC,WAC9BC,EAAY,EACZC,EAAe,EACfC,EAAK,IAAI78D,MACJvC,EAAI,EAAGA,GAAK,GAAIA,IAAK,KACvB,IAAIwB,EAAI,EAAGA,GAAKw9D,EAAQh/D,GAAIwB,IAC/B49D,EAAGH,EAAUE,IAAiB,GAC9BC,EAAGH,EAAUE,IAAe,GAAKD,EACjCE,EAAGH,EAAUE,IAAe,GAAKn/D,EACjCm/D,IACAD,IAEFA,GAAa,SAERE,WA2DAC,EAAU3a,WACbp8C,EAAQo8C,EAAG,GACX4a,EAAS5a,EAAG,GAAK,EACd4a,GAAU,GACXh3D,EAAS,GAAKg3D,IAChBtB,GAAW,GAAKC,GAElBqB,MACArB,EACc,IACG,KAAXD,GACFuB,EAAU,KACVA,EAAU,IAEVA,EAAUvB,GAEZC,EAAU,EACVD,EAAU,YAKPuB,EAAUj3D,GAEjBy1D,EAAQt4D,KAAK6C,YAGNk3D,EAAUl3D,GACjBi3D,EAAWj3D,GAAS,EAAK,KACzBi3D,EAAkB,IAARj3D,YAyOHm3D,EAAUC,EAAKC,EAAOC,EAAIC,EAAMC,WAGnC5b,EAFA6b,EAAMD,EAAK,GACXE,EAAYF,EAAK,KAKjBG,WA5Oa99D,EAAMw9D,OACnBO,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAG5BthE,EAkHAuhE,EAnHAC,EAAU,MAITxhE,EAAI,EAAGA,EAFH,IAEaA,EAAG,CACvB+gE,EAAK/9D,EAAKw+D,GACVR,EAAKh+D,EAAKw+D,EAAU,GACpBP,EAAKj+D,EAAKw+D,EAAU,GACpBN,EAAKl+D,EAAKw+D,EAAU,GACpBL,EAAKn+D,EAAKw+D,EAAU,GACpBJ,EAAKp+D,EAAKw+D,EAAU,GACpBH,EAAKr+D,EAAKw+D,EAAU,OAGhBC,EAAOV,GAFXO,EAAKt+D,EAAKw+D,EAAU,IAGhBE,EAAOX,EAAKO,EACZK,EAAOX,EAAKK,EACZO,EAAOZ,EAAKK,EACZQ,EAAOZ,EAAKG,EACZU,EAAOb,EAAKG,EACZW,EAAOb,EAAKC,EACZa,EAAOd,EAAKC,EAGZc,EAAQR,EAAOM,EACfG,EAAQT,EAAOM,EACfI,EAAQR,EAAOE,EACfO,EAAQT,EAAOE,EAEnB7+D,EAAKw+D,GAAWS,EAAQE,EACxBn/D,EAAKw+D,EAAU,GAAKS,EAAQE,MAExBE,EAAuB,YAAjBD,EAAQF,GAClBl/D,EAAKw+D,EAAU,GAAKU,EAAQG,EAC5Br/D,EAAKw+D,EAAU,GAAKU,EAAQG,MAQxBC,EAAuB,aAL3BL,EAAQD,EAAOF,IAEfM,EAAQR,EAAOF,IAIXa,EAAK,SAAYN,EAAQK,EACzBE,EAAK,YAAcJ,EAAQE,EAC3BG,EAAa,YAPjBN,EAAQL,EAAOF,GASXc,EAAMhB,EAAOe,EACbE,EAAMjB,EAAOe,EAEjBz/D,EAAKw+D,EAAU,GAAKmB,EAAMJ,EAC1Bv/D,EAAKw+D,EAAU,GAAKmB,EAAMJ,EAC1Bv/D,EAAKw+D,EAAU,GAAKkB,EAAMF,EAC1Bx/D,EAAKw+D,EAAU,GAAKkB,EAAMF,EAE1BhB,GAAW,MAIbA,EAAU,EACLxhE,EAAI,EAAGA,EA1DH,IA0DaA,EAAG,CACvB+gE,EAAK/9D,EAAKw+D,GACVR,EAAKh+D,EAAKw+D,EAAU,GACpBP,EAAKj+D,EAAKw+D,EAAU,IACpBN,EAAKl+D,EAAKw+D,EAAU,IACpBL,EAAKn+D,EAAKw+D,EAAU,IACpBJ,EAAKp+D,EAAKw+D,EAAU,IACpBH,EAAKr+D,EAAKw+D,EAAU,QAGhBoB,EAAS7B,GAFbO,EAAKt+D,EAAKw+D,EAAU,KAGhBqB,EAAS9B,EAAKO,EACdwB,EAAS9B,EAAKK,EACd0B,EAAS/B,EAAKK,EACd2B,EAAS/B,EAAKG,EACd6B,EAAShC,EAAKG,EACd8B,EAAShC,EAAKC,EACdgC,EAASjC,EAAKC,EAGdiC,EAAUR,EAASM,EACnBG,EAAUT,EAASM,EACnBI,EAAUR,EAASE,EACnBO,EAAUT,EAASE,EAEvBhgE,EAAKw+D,GAAW4B,EAAUE,EAC1BtgE,EAAKw+D,EAAU,IAAM4B,EAAUE,MAE3BE,EAA6B,YAArBD,EAAUF,GACtBrgE,EAAKw+D,EAAU,IAAM6B,EAAUG,EAC/BxgE,EAAKw+D,EAAU,IAAM6B,EAAUG,MAQ3BC,EAA6B,aALjCL,EAAUD,EAASF,IAEnBM,EAAUR,EAASF,IAIfa,EAAO,SAAYN,EAAUK,EAC7BE,EAAO,YAAcJ,EAAUE,EAC/BG,EAAiB,YAPrBN,EAAUL,EAASF,GASfc,EAAQhB,EAASe,EACjBE,EAAQjB,EAASe,EAErB5gE,EAAKw+D,EAAU,IAAMsC,EAAQJ,EAC7B1gE,EAAKw+D,EAAU,IAAMsC,EAAQJ,EAC7B1gE,EAAKw+D,EAAU,GAAKqC,EAAQF,EAC5B3gE,EAAKw+D,EAAU,IAAMqC,EAAQF,EAE7BnC,QAKGxhE,EAAI,EAAGA,EAjHF,KAiHaA,EAErBuhE,EAAYv+D,EAAKhD,GAAKwgE,EAAMxgE,GAC5B0+D,EAAgB1+D,GACduhE,EAAY,EAAOA,EAAY,GAAO,EAAKA,EAAY,GAAO,SAG3D7C,EA8GM6C,CAAUhB,EAAKC,GAEnBn+D,EAAI,EAAGA,EAHN,KAGiBA,EACzBs8D,EAAGQ,EAAO98D,IAAMy+D,EAAOz+D,OAErB0hE,EAAOpF,EAAG,GAAK8B,EACnBA,EAAK9B,EAAG,GAEI,GAARoF,EACF7D,EAAUQ,EAAK,KAGfR,EAAUQ,EAAKjC,EADf1Z,EAAM,MAAQgf,KAEd7D,EAAU1B,EAAQzZ,aAGhBif,EAAU,GACPA,EAAU,GAAoB,GAAfrF,EAAGqF,IACvBA,OAGa,GAAXA,SACF9D,EAAUU,GACHH,UAGLwD,EADAjkE,EAAI,EAEDA,GAAKgkE,GAAS,SACfE,EAAWlkE,EACC,GAAT2+D,EAAG3+D,IAAWA,GAAKgkE,KACtBhkE,MAEAmkE,EAAWnkE,EAAIkkE,KACfC,GApCI,GAoCa,CACnBF,EAAME,GAAY,MACb,IAAIC,EAAW,EAAGA,GAAYH,IAAOG,EACxClE,EAAUW,GACZsD,GAAsB,GAExBpf,EAAM,MAAQ4Z,EAAG3+D,GACjBkgE,EAAUS,GAAMwD,GAAY,GAAK1F,EAAS1Z,KAC1Cmb,EAAU1B,EAAQzZ,IAClB/kD,WA5CQ,IA8CNgkE,GACF9D,EAAUU,GAELH,WA8HA4D,EAAWnS,IAClBA,EAAUvsD,KAAKsb,IAAItb,KAAKmnC,IAAIolB,EAAS,GAAI,KAErCgM,GAAkBhM,eA1qBCoS,WACnBC,EAAM,CACR,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IAGOvkE,EAAI,EAAGA,EAAI,GAAIA,IAAK,KACvBwB,EAAI28D,GAAQoG,EAAIvkE,GAAKskE,EAAK,IAAM,KACpC9iE,EAAImE,KAAKsb,IAAItb,KAAKmnC,IAAItrC,EAAG,GAAI,KAC7B48D,EAAOe,EAAOn/D,IAAMwB,UAElBgjE,EAAO,CACT,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IAEOniE,EAAI,EAAGA,EAAI,GAAIA,IAAK,KACvBoiE,EAAItG,GAAQqG,EA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K,MAAQtM,EAAEw3E,OACT14E,IAAOwN,GAAKF,GAAKwV,EAAKtV,GAAKgB,GAAKtN,EAAEy3E,GAAMnrE,GAAK,MAAQtM,EAAEulC,QAE5Dj5B,EAAI,EACTtM,EAAIsM,EAAI,EAAI,UAGZ,GAAKtM,SACD8M,GAAKA,EAAE2gD,KAAOztD,EAAIuhF,GAAGx0E,IADV/M,MAIjB2zE,GAAK,GACPmB,GAAK,CACH,EACA,EACA,EACA,EACA,GACA,GACA,GACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,QACA,QACA,QACA,QACA,UAEFD,GAAK,GACLF,GAAK,GACLM,GAAK,EACLC,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,E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G,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,IACpEvD,GAAK,CACH,GACA,EACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,EACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,EACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,GACA,GACA,EACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,IACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,IACA,GACA,IACA,GACA,IACA,IACA,GACA,KAEFiD,GAAK,CACH,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEFX,GAAK,EACLsC,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEFhK,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEF3B,GAAK,KACLmO,GAAK,CACH,CAAC,IAAK,IAAK,IAAK,GAChB,CAAC,IAAK,IAAK,IAAK,IAAK,GACrB,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,GAC1B,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAE1DC,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,IACxDrJ,GAAK,EAAE,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,G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AK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,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JC,GAAI,4BACK,2BACA,0BACA,0BACA,8BACA,0BACA,uBACTC,GAAI,UACJC,IAAK,WACL5N,GAAI,yBACK,iBACT6N,GAAI,WACJzW,GAAI,WACJiC,GAAI,4BACK,2BACA,2BACA,iCACA,8BACA,uBACThhB,GAAI,QACJy1B,GAAI,WACJC,GAAI,UACJ1S,GAAI,SACJ2S,GAAI,QACJC,GAAI,YACJC,GAAI,YACJ78E,GAAI,aACJ88E,GAAI,YACJnV,GAAI,QACJxnB,GAAI,6BACK,wBACTkrB,GAAI,WACJ0R,GAAI,UACJC,GAAI,WACJC,GAAI,SACJC,GAAI,QACJC,GAAI,UACJC,IAAK,UACLC,GAAI,iBACK,+BACA,uBACTjS,GAAI,QACJpoB,GAAI,UACJqB,GAAI,aACJygB,GAAI,gBACJwY,GAAI,kBACJC,GAAI,QACJn7B,GAAI,YACJo7B,GAAI,UACJC,GAAI,QACJC,GAAI,UACJC,GAAI,YACJC,GAAI,SACJC,GAAI,SACJtS,GAAI,SACJuS,GAAI,YACJ/R,GAAI,qBACJgS,GAAI,sBACJxV,GAAI,UACJyV,GAAI,QACJC,GAAI,QACJte,GAAI,kBACK,eACTue,GAAI,SACJpuE,GAAI,qBACK,sBACT0hD,GAAI,kBACK,0BACA,qBACT2sB,GAAI,UACJC,GAAI,iBACJC,GAAI,mBACK,sBACTC,GAAI,kBACK,qBACTC,GAAI,iBACJC,GAAI,QACJn/D,GAAI,WACJ+pD,GAAI,YACJ/D,GAAI,SACJoZ,GAAI,aACJC,GAAI,UACJC,GAAI,SACJx7B,GAAI,YACJy7B,GAAI,SACJpT,GAAI,UACJqT,GAAI,kBACK,8BACA,4BACA,0BACA,6BACA,+BACA,uCACA,4BACA,gCACA,8BACA,6BACA,2BACA,8BACA,2BACA,6BACA,yBACA,gCACA,0BACA,4BACA,sBACT5wE,GAAI,OACJ6wE,GAAI,UACJzjC,GAAI,kBACK,4BACA,mBACTmsB,GAAI,QACJuX,GAAI,QACJhK,GAAI,SACJiK,GAAI,OACJC,IAAK,QACLC,GAAI,SACJC,GAAI,SACJliC,GAAI,UACJmiC,GAAI,UACJ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IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,IACA,MACA,MACA,IACA,MACA,MACA,IACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,KACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,KACA,IACA,IACA,IACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KA8jBEkD,EAAa,IAAIxsF,EAAM6oF,eAAe,CAAEsD,eAAe,IAoC3DnsF,EAAMkB,IAAI4L,OAAOnO,KAAK,CAAC,kBAlCE,SAASL,OAC5B6Z,EAAO7Z,EAAK6Z,KAGZlY,GAFI3B,EAAKrF,EACLqF,EAAK0H,EACC1H,EAAK2B,SAAW,IAG1BwiC,GAFQnkC,EAAKghB,MACNrf,EAAQ6f,KACL,OAEd7f,EAAQksF,cAC2B,kBAA1BlsF,EAAQksF,eAA8BlsF,EAAQksF,cACvDK,EAAWl5D,WAAWrzB,GAEuB,mBAAzC9B,OAAOlS,UAAU8M,SAAS5O,KAAKguB,GAA4B,KACzD9f,EAAI,MACRoqC,EAAU,GACLpqC,EAAI,EAAGA,EAAI8f,EAAK7f,OAAQD,GAAK,EACgB,mBAA5C8F,OAAOlS,UAAU8M,SAAS5O,KAAKguB,EAAK9f,IACtCoqC,EAAQ9jC,KAAK,CACX6tF,EAAWR,cAAc7zE,EAAK9f,GAAG,IACjC8f,EAAK9f,GAAG,GACR8f,EAAK9f,GAAG,KAGVoqC,EAAQ9jC,KAAK,CAAC6tF,EAAWR,cAAc7zE,EAAK9f,MAGhDiG,EAAK6Z,KAAOsqB,OAEZnkC,EAAK6Z,KAAOq0E,EAAWR,cAAc7zE,GAEvCq0E,EAAWl5D,WAAW,CAAE64D,eAAe,OArnF3C,CAynFGnsF,GCpnFHA,EAAMkB,IAAI4hF,QAAW,oBAaVA,EAAQ/jD,OACX1jC,UACC0jC,QAAUA,EACf1jC,EAAO1R,KAAKk2C,SAAW,IAAI4sD,GAAK1tD,QAC3Bc,SAASud,IAAM,EACO,SAAvB/hD,EAAKqxF,WAAW,SACZ,IAAIlwF,MAAM,uBAEhBnB,EAAK+hD,IAAM,OACN5tB,aACA23D,OAAS,IAAIwF,GAAOhjG,WACpBijG,qBAnBT9J,EAAQn4F,KAAO,SAASg4F,UACf,IAAIG,EAAQH,IAyBrBG,EAAQ72F,UAAUujC,MAAQ,uBACnBq9D,UAAY,IAAIC,GAAUnjG,KAAKk2C,eAC/B2gB,KAAO,IAAIusC,GAAUpjG,WACrBY,KAAO,IAAIyiG,GAAUrjG,WACrB29F,KAAO,IAAI2F,GAAUtjG,WACrBi9F,UAAY,QACZsG,KAAO,IAAIC,GAAUxjG,WACrByjG,KAAO,IAAIC,GAAU1jG,WACrBs+F,KAAO,IAAIqF,GAAU3jG,WACrBm2D,KAAO,IAAIytC,GAAU5jG,WACrB6jG,IAAM,IAAIC,GAAS9jG,WACnB+jG,KAAO,IAAIC,GAAUhkG,WACrBikG,KAAO,IAAIC,GAAUlkG,WACrBi+F,SACFj+F,KAAK6jG,IAAIM,QAAUnkG,KAAK6jG,IAAI5F,UAAaj+F,KAAKujG,KAAKtF,cACjDC,SACFl+F,KAAK6jG,IAAIM,QAAUnkG,KAAK6jG,IAAI3F,UAAal+F,KAAKujG,KAAKrF,cACjDkG,QAAWpkG,KAAK6jG,IAAIM,QAAUnkG,KAAK6jG,IAAIO,SAAYpkG,KAAKujG,KAAKa,QAC1DpkG,KAAK89F,KAAO,CAClB99F,KAAK62D,KAAKwtC,KACVrkG,KAAK62D,KAAKytC,KACVtkG,KAAK62D,KAAK0tC,KACVvkG,KAAK62D,KAAK2tC,OAOdrL,EAAQ72F,UAAU2gG,YAAc,eAC1BzhG,EAAG0wF,EAAI+P,EAAKwC,EAAKz/B,UAChBlqD,YAAc,IAAS9a,KAAK62D,KAAK0nC,gBACjCT,KAAO,eACNh5B,EAAIyD,EAAMvD,EAAMG,MAEpBA,EAAW,GACNL,EAAK,EAAGyD,GAFbvD,EAAOhlE,KAAK89F,MAEanvF,OAAQm2D,EAAKyD,EAAMzD,IAC1CtjE,EAAIwjE,EAAKF,GACTK,EAASnwD,KAAKX,KAAKqX,MAAMlqB,EAAIxB,KAAK8a,qBAE7BqqD,GACP3kE,KAAKR,WACF+9F,MAAQ,EACT/9F,KAAKm2D,KAAKguC,QAGZlC,EAAY,KAFZwC,EAAMzkG,KAAKm2D,KAAKuuC,cAGM,IAAZ,OAFVxS,EAAKuS,GAAO,OAGVvS,IAAuB,GAAV,MAALA,UAEL8L,cAAqB9L,EAAK,IAAM+P,SAEhCjE,YAAc,OAEhBC,SAAW5pF,KAAKqX,MAAM1rB,KAAKi+F,SAAWj+F,KAAK8a,kBAC3CojF,SAAW7pF,KAAKqX,MAAM1rB,KAAKk+F,SAAWl+F,KAAK8a,kBAC3CspF,QAAU/vF,KAAKqX,MAAM1rB,KAAKokG,QAAUpkG,KAAK8a,kBACzCqjF,UAAan+F,KAAK6jG,IAAIM,QAAUnkG,KAAK6jG,IAAI1F,WAAcn+F,KAAKi+F,cAC5D0G,QAAW3kG,KAAK6jG,IAAIM,QAAUnkG,KAAK6jG,IAAIc,SAAY,OACnDC,aAAgB5kG,KAAK6jG,IAAIM,QAAUnkG,KAAK6jG,IAAIe,aAAgB,IAAM,OAClEC,QAC2B,KAA7B7/B,EAAOhlE,KAAK4kG,cACJ,IAAT5/B,GACS,IAATA,GACS,IAATA,GACS,IAATA,GACS,IAATA,OACG8/B,SAAgC,KAArB9kG,KAAK4kG,iBAChBn2E,MAAQ,EACTzuB,KAAKm2D,KAAK4uC,oBACPt2E,OAAS,GAEZzuB,KAAK6kG,eACFp2E,OAAS,GAEZzuB,KAAK8kG,gBACFr2E,OAAS,GAES,IAArBzuB,KAAKg+F,mBACFvvE,OAAS,SAEXA,OAAS,IACTzuB,KAAK29F,KAAKN,cACP,IAAIxqF,MAAM,6BAGpBsmF,EAAQ72F,UAAU2zF,iBAAmB,SAAS+O,OACxChgC,SAE6B,OAA7BA,EAAOhlE,KAAK29F,KAAKN,SAAmBr4B,EAAK45B,QAAQoG,QAAa,IAChE,GAGJ7L,EAAQ72F,UAAU0zF,aAAe,SAASiP,OACpC9oF,SACJA,EAAQ,IAASnc,KAAK62D,KAAK0nC,WACpBv+F,KAAKs+F,KAAK4G,SAASD,GAAOE,QAAUhpF,GAE7Cg9E,EAAQ72F,UAAUyzF,cAAgB,SAASr2E,EAAQY,EAAMyT,OACnDrgB,EAAUhF,EAAUmc,EAAOm6C,MAE/Bn6C,EAAQ,EAENnc,EAAI,EAAGs2D,GAHTtlD,EAAS,GAAKA,GAGS/Q,OACrB,GAAKq2D,EAAOt2D,EAAIs2D,EAAOt2D,EAAIs2D,EAC3Bt2D,EAAI,GAAKs2D,IAASt2D,IAAMA,EAExBgF,EAAWgM,EAAOjP,WAAW/B,GAC7Bmc,GACE7qB,KAAKg2F,aAAah2F,KAAKi2F,iBAAiBviF,IACtCqgB,GAAa,IAAOzT,IAAS,SAG5BuK,GADCvK,EAAO,MAGjB64E,EAAQ72F,UAAUgyB,WAAa,SAAShU,EAAM8kF,OACxCC,SACc,MAAdD,IACFA,GAAa,GAEfC,EAAMD,EAAaplG,KAAKokG,QAAU,GACzBpkG,KAAKi+F,SAAWoH,EAAMrlG,KAAKk+F,UAAY,IAAQ59E,GAEnD64E,EA1JY,GAiKrB,IA+RImM,GA/RAxC,GAAQ,oBACDA,EAAKpxF,QACPA,KAAe,MAARA,EAAeA,EAAO,QAC7B+hD,IAAM,OACN9kD,OAAS3O,KAAK0R,KAAK/C,cAE1Bm0F,EAAKxgG,UAAUijG,SAAW,kBACjBvlG,KAAK0R,KAAK1R,KAAKyzD,QAExBqvC,EAAKxgG,UAAUwsE,UAAY,SAASnuC,UAC1B3gC,KAAK0R,KAAK1R,KAAKyzD,OAAS9yB,GAElCmiE,EAAKxgG,UAAU4iE,WAAa,kBAEH,SAAlBllE,KAAKulG,YACLvlG,KAAKulG,YAAc,KACnBvlG,KAAKulG,YAAc,GACnBvlG,KAAKulG,YAGZzC,EAAKxgG,UAAUkjG,YAAc,SAASloC,eAC/BwR,UAAWxR,IAAQ,GAAM,UACzBwR,UAAWxR,GAAO,GAAM,UACxBwR,UAAWxR,GAAO,EAAK,KACrBt9D,KAAK8uE,UAAgB,IAANxR,IAExBwlC,EAAKxgG,UAAUmjG,UAAY,eACrBC,SACJA,EAAM1lG,KAAKklE,eACA,WACFwgC,EAAM,WAENA,GAGX5C,EAAKxgG,UAAUqjG,WAAa,SAASroC,UAC/BA,EAAM,IACRA,GAAO,YAEFt9D,KAAKwlG,YAAYloC,IAE1BwlC,EAAKxgG,UAAUwjE,WAAa,kBAErB9lE,KAAKulG,YAAc,EACnBvlG,KAAKulG,YAGZzC,EAAKxgG,UAAUsjG,YAAc,SAAStoC,eAC/BwR,UAAWxR,GAAO,EAAK,KACrBt9D,KAAK8uE,UAAgB,IAANxR,IAExBwlC,EAAKxgG,UAAUujG,UAAY,eACrBH,SACJA,EAAM1lG,KAAK8lE,eACA,MACF4/B,EAAM,MAENA,GAGX5C,EAAKxgG,UAAUwjG,WAAa,SAASxoC,UAC/BA,EAAM,IACRA,GAAO,OAEFt9D,KAAK4lG,YAAYtoC,IAE1BwlC,EAAKxgG,UAAUygG,WAAa,SAASp0F,OAC/BD,EAAGo5D,MACPA,EAAM,GAEJp5D,EAAI,EACJ,GAAKC,EAASD,EAAIC,EAASD,EAAIC,EAC/BD,EAAI,GAAKC,IAAWD,IAAMA,EAE1Bo5D,EAAIp5D,GAAK/K,OAAOC,aAAa5D,KAAKulG,mBAE7Bz9B,EAAI32D,KAAK,KAElB2xF,EAAKxgG,UAAUyjG,YAAc,SAASzoC,OAChC5uD,EAAGs2D,EAAMG,MACbA,EAAW,GAETz2D,EAAI,EAAGs2D,EAAO1H,EAAI3uD,OAClB,GAAKq2D,EAAOt2D,EAAIs2D,EAAOt2D,EAAIs2D,EAC3Bt2D,EAAI,GAAKs2D,IAASt2D,IAAMA,EAExBy2D,EAASnwD,KAAKhV,KAAK8uE,UAAUxR,EAAI7sD,WAAW/B,YAEvCy2D,GAMT29B,EAAKxgG,UAAU0jG,UAAY,kBAClBhmG,KAAK6lG,aAEd/C,EAAKxgG,UAAU2jG,WAAa,SAAS3oC,UAC5Bt9D,KAAK8lG,WAAWxoC,IAEzBwlC,EAAKxgG,UAAU4jG,aAAe,eACxBvtF,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,SAChCP,EAAK3Y,KAAKulG,WACV3sF,EAAK5Y,KAAKulG,WACV1sF,EAAK7Y,KAAKulG,WACVzsF,EAAK9Y,KAAKulG,WACVxsF,EAAK/Y,KAAKulG,WACVvsF,EAAKhZ,KAAKulG,WACVtsF,EAAKjZ,KAAKulG,WACVrsF,EAAKlZ,KAAKulG,WACD,IAAL5sF,GAWC,GATc,mBAAR,IAALA,GACc,iBAAR,IAALC,GACa,eAAR,IAALC,GACa,YAAR,IAALC,GACa,UAAR,IAALC,GACa,OAAR,IAALC,GACa,KAAR,IAALC,IACK,IAALC,GACD,GAKC,kBAALP,EACK,gBAALC,EACK,cAALC,EACK,WAALC,EACK,SAALC,EACK,MAALC,EACK,IAALC,EACAC,GAGJ4pF,EAAKxgG,UAAU6jG,cAAgB,SAAS7oC,OAClC0kC,EAAMC,SACVD,EAAO3tF,KAAKuI,MAAM0gD,EAAM,YACxB2kC,EAAY,WAAN3kC,OACDwR,UAAWkzB,GAAQ,GAAM,UACzBlzB,UAAWkzB,GAAQ,GAAM,UACzBlzB,UAAWkzB,GAAQ,EAAK,UACxBlzB,UAAiB,IAAPkzB,QACVlzB,UAAWmzB,GAAO,GAAM,UACxBnzB,UAAWmzB,GAAO,GAAM,UACxBnzB,UAAWmzB,GAAO,EAAK,KACrBjiG,KAAK8uE,UAAgB,IAANmzB,IAExBa,EAAKxgG,UAAU8jG,QAAU,kBAChBpmG,KAAKylG,aAEd3C,EAAKxgG,UAAU+jG,SAAW,SAAS/oC,UAC1Bt9D,KAAK2lG,WAAWroC,IAKzBwlC,EAAKxgG,UAAUsjE,KAAO,SAAShlC,OACzB4T,EAAK9lC,MACT8lC,EAAM,GAEJ9lC,EAAI,EACJ,GAAKkyB,EAAQlyB,EAAIkyB,EAAQlyB,EAAIkyB,EAC7BlyB,EAAI,GAAKkyB,IAAUlyB,IAAMA,EAEzB8lC,EAAIx/B,KAAKhV,KAAKulG,mBAET/wD,GAETsuD,EAAKxgG,UAAUqd,MAAQ,SAASihB,OAC1BD,EAAMjyB,EAAG65D,EAAMpD,MACnBA,EAAW,GACNz2D,EAAI,EAAG65D,EAAO3nC,EAAMjyB,OAAQD,EAAI65D,EAAM75D,IACzCiyB,EAAOC,EAAMlyB,GACby2D,EAASnwD,KAAKhV,KAAK8uE,UAAUnuC,WAExBwkC,GAEF29B,EAlLG,GAqLRK,GAAa,eACXmD,WAMKnD,EAAUzxF,OACb2zB,EAAO32B,EAAGs2D,WACTuhC,WAAa70F,EAAK00F,eAClBI,WAAa90F,EAAKs0F,iBAClBS,YAAc/0F,EAAKs0F,iBACnBU,cAAgBh1F,EAAKs0F,iBACrBW,WAAaj1F,EAAKs0F,iBAClBY,OAAS,GAEZl4F,EAAI,EAAGs2D,EAAOhlE,KAAKwmG,WACnB,GAAKxhC,EAAOt2D,EAAIs2D,EAAOt2D,EAAIs2D,EAC3Bt2D,EAAI,GAAKs2D,IAASt2D,IAAMA,EAExB22B,EAAQ,CACNwhE,IAAKn1F,EAAKqxF,WAAW,GACrBuD,SAAU50F,EAAK00F,UACf/6E,OAAQ3Z,EAAK00F,UACbz3F,OAAQ+C,EAAK00F,gBAEVQ,OAAOvhE,EAAMwhE,KAAOxhE,SAO7B89D,EAAU7gG,UAAUgxE,OAAS,SAASszB,OAChCE,EACF5D,EACA6D,EACAL,EACAM,EACAC,EACA57E,EACAs7E,EACAF,EAEA1qD,EACAyqD,EACAU,EACAL,MAgBGA,KAfLL,EAAahyF,OAAOC,KAAKmyF,GAAQj4F,OACjCs4F,EAAO5yF,KAAKlU,IAAI,GAChBsmG,EAAwD,GAA1CpyF,KAAKuI,MAAMvI,KAAKlU,IAAIqmG,GAAcS,GAChDP,EAAgBryF,KAAKuI,MAAM6pF,EAAcQ,GACzCN,EAA0B,GAAbH,EAAkBC,GAC/BvD,EAAY,IAAIJ,IACNuD,SAASrmG,KAAKumG,YACxBrD,EAAU+C,WAAWO,GACrBtD,EAAU+C,WAAWQ,GACrBvD,EAAU+C,WAAWS,GACrBxD,EAAU+C,WAAWU,GACrBI,EAA+B,GAAbP,EAClBn7E,EAAS63E,EAAUzvC,IAAMszC,EACzBC,EAAa,KACbE,EAAY,GACAN,MACV7qD,EAAQ6qD,EAAOC,GACf3D,EAAU6C,YAAYc,GACtB3D,EAAUmD,SAASC,EAASvqD,IAC5BmnD,EAAUmD,SAASh7E,GACnB63E,EAAUmD,SAAStqD,EAAMptC,QACzBu4F,EAAYA,EAAUryE,OAAOknB,GACjB,SAAR8qD,IACFG,EAAa37E,GAEfA,GAAU0wB,EAAMptC,OACT0c,EAAS,GACd67E,EAAUlyF,KAAK,GACfqW,WAGJ63E,EAAUvjF,MAAMunF,GAEhBJ,EAAa,WADPR,EAASpD,EAAUxxF,MAEzBwxF,EAAUzvC,IAAMuzC,EAAa,EAC7B9D,EAAUsC,YAAYsB,GACf5D,EAAUxxF,MAMnB40F,EAAW,SAAS50F,OACdhD,EAAGq+E,EAAK54D,EAAK6wC,MACjBtzD,EAAOy1F,GAAQ3mG,KAAKkR,GACbA,EAAK/C,OAAS,GACnB+C,EAAKsD,KAAK,OAEZmf,EAAM,IAAI2uE,GAAKpxF,GACfq7E,EAAM,EACDr+E,EAAI,EAAGs2D,EAAOtzD,EAAK/C,OAAQD,EAAIs2D,EAAMt2D,EAAIA,GAAK,EACjDq+E,GAAO54D,EAAI+wC,oBAEA,WAAN6nB,GAEFoW,EAvGQ,GA2GfiE,GAAY,GAAGjzF,eACfkzF,GAAY,SAAS/lE,EAAOC,OACrB,IAAI9vB,KAAO8vB,EACV6lE,GAAU5mG,KAAK+gC,EAAQ9vB,KAAM6vB,EAAM7vB,GAAO8vB,EAAO9vB,aAG9C61F,SACF7lE,YAAcH,SAErBgmE,EAAKhlG,UAAYi/B,EAAOj/B,UACxBg/B,EAAMh/B,UAAY,IAAIglG,EACtBhmE,EAAMimE,UAAYhmE,EAAOj/B,UAClBg/B,GA8BP8hE,GAAa,SAASoE,YAGfpE,WACAA,EAAUmE,UAAU9lE,YAAYrhC,MAAMJ,KAAMK,kBAHrDgnG,GAAUjE,EAAWoE,GAKrBpE,EAAU9gG,UAAUukG,IAAM,OAC1BzD,EAAU9gG,UAAUujC,MAAQ,SAASn0B,UACnCA,EAAK+hD,IAAMzzD,KAAKqrB,YACXqF,QAAUhf,EAAK00F,eACfqB,SAAW/1F,EAAK00F,eAChBsB,mBAAqBh2F,EAAK00F,eAC1BuB,YAAcj2F,EAAK00F,eACnB33E,MAAQ/c,EAAKs0F,iBACbzH,WAAa7sF,EAAKs0F,iBAClB4B,QAAUl2F,EAAKw0F,oBACf2B,SAAWn2F,EAAKw0F,oBAChB7B,KAAO3yF,EAAKs0F,iBACZ1B,KAAO5yF,EAAKs0F,iBACZzB,KAAO7yF,EAAKs0F,iBACZxB,KAAO9yF,EAAKs0F,iBACZ8B,SAAWp2F,EAAKs0F,iBAChB+B,cAAgBr2F,EAAKs0F,iBACrBgC,kBAAoBt2F,EAAKs0F,iBACzBiC,iBAAmBv2F,EAAKs0F,YACrBhmG,KAAKkoG,gBAAkBx2F,EAAKs0F,aAEtC5C,EAAU9gG,UAAUgxE,OAAS,SAAS20B,OAChClsD,SACJA,EAAQ,IAAI+mD,IACNuD,SAASrmG,KAAK0wB,SACpBqrB,EAAMsqD,SAASrmG,KAAKynG,UACpB1rD,EAAMsqD,SAASrmG,KAAK0nG,oBACpB3rD,EAAMsqD,SAASrmG,KAAK2nG,aACpB5rD,EAAMkqD,WAAWjmG,KAAKyuB,OACtBstB,EAAMkqD,WAAWjmG,KAAKu+F,YACtBxiD,EAAMoqD,cAAcnmG,KAAK4nG,SACzB7rD,EAAMoqD,cAAcnmG,KAAK6nG,UACzB9rD,EAAMkqD,WAAWjmG,KAAKqkG,MACtBtoD,EAAMkqD,WAAWjmG,KAAKskG,MACtBvoD,EAAMkqD,WAAWjmG,KAAKukG,MACtBxoD,EAAMkqD,WAAWjmG,KAAKwkG,MACtBzoD,EAAMkqD,WAAWjmG,KAAK8nG,UACtB/rD,EAAMkqD,WAAWjmG,KAAK+nG,eACtBhsD,EAAMkqD,WAAWjmG,KAAKgoG,mBACtBjsD,EAAMkqD,WAAWgC,GACjBlsD,EAAMkqD,WAAWjmG,KAAKkoG,iBACfnsD,EAAMrqC,MAER0xF,EAjDQ,CAvBjBkC,GAAS,oBACEA,EAAMtM,OACT/1B,OACC+1B,KAAOA,EACZ/1B,EAAOjjE,KAAKg5F,KAAKkK,UAAU0D,OAAO5mG,KAAK6mG,UAClC1C,SAAWlhC,EACZA,SACI53C,OAAS43C,EAAK53C,OAAUrrB,KAAK2O,OAASs0D,EAAKt0D,YAC5Ck3B,MAAM7lC,KAAKg5F,KAAK9iD,kBAGzBovD,EAAMhjG,UAAUujC,MAAQ,aACxBy/D,EAAMhjG,UAAUgxE,OAAS,aACzBgyB,EAAMhjG,UAAUmiG,IAAM,kBACfzkG,KAAKmkG,aAGLnL,KAAK9iD,SAASud,IAAMzzD,KAAKqrB,OACvBrrB,KAAKg5F,KAAK9iD,SAAS0vB,KAAK5lE,KAAK2O,SAH3B,MAKJ22F,EApBA,IA+EL6C,GAAa,oBACNA,EAAUz2F,EAAM2Z,OACnBwmC,EACF7wB,EACAonE,EACAC,EACAC,EACA55F,EACA65F,EACAC,EAEAC,EACAC,EACAC,EACAr+C,EACAs+C,EACAp4F,EACAu0D,EACAwC,EACAgB,cACGsgC,WAAan3F,EAAKo0D,kBAClBgjC,WAAap3F,EAAKs0F,iBAClB36E,OAASA,EAAS3Z,EAAK00F,UAC5BqC,EAAa/2F,EAAK+hD,IAClB/hD,EAAK+hD,IAAMzzD,KAAKqrB,YACX3U,OAAShF,EAAKo0D,kBACdn3D,OAAS+C,EAAKo0D,kBACdijC,SAAWr3F,EAAKo0D,kBAChBh3C,UACkB,IAApB9uB,KAAK6oG,YAAwC,IAApB7oG,KAAK8oG,YAAoC,IAAhB9oG,KAAK0W,QACnC,IAApB1W,KAAK6oG,YAAoC,IAAhB7oG,KAAK0W,YAC5BkoF,QAAU,GACP5+F,KAAK0W,aACN,MACEhI,EAAI,EAAGA,EAAI,MAAOA,OAChBkwF,QAAQlwF,GAAKgD,EAAK6zF,sBAGtB,MACHoD,EAAaj3F,EAAKo0D,aAClB4iC,EAAWC,EAAa,EACxBj3F,EAAK+hD,KAAO,EACZ20C,EAAW,eACLrjC,EAAII,MACRA,EAAW,GAETz2D,EAAIq2D,EAAK,EACT,GAAK2jC,EAAW3jC,EAAK2jC,EAAW3jC,EAAK2jC,EACrCh6F,EAAI,GAAKg6F,IAAa3jC,IAAOA,EAE7BI,EAASnwD,KAAKtD,EAAKo0D,qBAEdX,EAVE,GAYXzzD,EAAK+hD,KAAO,EACZm1C,EAAa,eACP7jC,EAAII,MACRA,EAAW,GAETz2D,EAAIq2D,EAAK,EACT,GAAK2jC,EAAW3jC,EAAK2jC,EAAW3jC,EAAK2jC,EACrCh6F,EAAI,GAAKg6F,IAAa3jC,IAAOA,EAE7BI,EAASnwD,KAAKtD,EAAKo0D,qBAEdX,EAVI,GAYbojC,EAAW,eACLxjC,EAAII,MACRA,EAAW,GAETz2D,EAAIq2D,EAAK,EACT,GAAK2jC,EAAW3jC,EAAK2jC,EAAW3jC,EAAK2jC,EACrCh6F,EAAI,GAAKg6F,IAAa3jC,IAAOA,EAE7BI,EAASnwD,KAAKtD,EAAKo0D,qBAEdX,EAVE,GAYXqjC,EAAiB,eACXzjC,EAAII,MACRA,EAAW,GAETz2D,EAAIq2D,EAAK,EACT,GAAK2jC,EAAW3jC,EAAK2jC,EAAW3jC,EAAK2jC,EACrCh6F,EAAI,GAAKg6F,IAAa3jC,IAAOA,EAE7BI,EAASnwD,KAAKtD,EAAKo0D,qBAEdX,EAVQ,GAYjBnkC,GAAShhC,KAAK2O,OAAS+C,EAAK+hD,IAAMzzD,KAAKqrB,QAAU,EACjDi9E,EAAY,eACNvjC,EAAII,MACRA,EAAW,GAETz2D,EAAIq2D,EAAK,EACT,GAAK/jC,EAAQ+jC,EAAK/jC,EAAQ+jC,EAAK/jC,EAC/BtyB,EAAI,GAAKsyB,IAAU+jC,IAAOA,EAE1BI,EAASnwD,KAAKtD,EAAKo0D,qBAEdX,EAVG,GAYPz2D,EAAIq2D,EAAK,EAAGwD,EAAO6/B,EAAQz5F,OAAQo2D,EAAKwD,EAAM75D,IAAMq2D,MACvDv0D,EAAO43F,EAAQ15F,GAGbmjD,EAAO0V,EAFTjd,EAAQs+C,EAAUl6F,GAGhB47C,GAAS95C,EAAO+2D,GAAM/2D,EAAO+2D,GAAM/2D,EACnCqhD,EAAOvH,GAAS95C,IAAS+2D,IAAOA,EAEP,IAArBihC,EAAc95F,GAChB25F,EAAUx2C,EAAO02C,EAAQ75F,GAIT,KADhB25F,EAAUC,EADFE,EAAc95F,GAAK,GAAKmjD,EAAOvH,IAAUo+C,EAAWh6F,KAC/B,KAE3B25F,GAAWE,EAAQ75F,SAGlBkwF,QAAQ/sC,GAAkB,MAAVw2C,EAI7B32F,EAAK+hD,IAAMg1C,SAEbN,EAAU70B,OAAS,SAAS01B,EAASx+E,OAC/By+E,EACFp3C,EACA+sC,EACAzB,EACAhzC,EACAI,EACA2+C,EACAd,EACAe,EACAzC,EACA0C,EACA16F,EACA6G,EACA8zF,EACAC,EACAp4F,EACAq4F,EACAl+E,EACAm+E,EACAC,EACA9C,EACAF,EACAiC,EACAC,EACAC,EACAc,EACAC,EACAC,EACA9kC,EACAC,EACAwC,EACAC,EACAe,EACAshC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACA1iC,EACA2iC,EACAC,EACAC,EACAC,EACAC,SACFZ,EAAW,IAAI9G,GACf3F,EAAQ3oF,OAAOC,KAAKu0F,GAASp/D,MAAK,SAASlnC,EAAGsM,UACrCtM,EAAIsM,KAELwb,OACD,eACHjV,EAAK,EACL8zF,EAAW,eACLlkC,EAAW,OACVz2D,EAAI,EAAGA,EAAI,MAAOA,EACrBy2D,EAASnwD,KAAK,UAETmwD,EALE,GAOXj0D,EAAM,GACD,GAEL0tF,EAAU,GACL95B,EAAK,EAAGyD,EAAO40B,EAAMxuF,OAAQm2D,EAAKyD,EAAMzD,IAEP,MAAhC5zD,EAAKm5F,EAAQrB,EADjBn3C,EAAOsrC,EAAMr4B,OAEX5zD,EAAIm5F,KAAW90F,GAEjBqpF,EAAQ/sC,GAAQ,CACd23C,IAAKR,EAAQn3C,GACb44C,IAAKv5F,EAAI83F,EAAQn3C,KAEnBw3C,EAAQx3C,GAAQ3gD,EAAI83F,EAAQn3C,WAE9B+3C,EAAShE,YAAY,GACrBgE,EAAShE,YAAY,GACrBgE,EAASpE,YAAY,IACrBoE,EAAShE,YAAY,GACrBgE,EAAShE,YAAY,KACrBgE,EAAShE,YAAY,GACrBgE,EAASjqF,MAAM0pF,GACR,CACLJ,QAASrK,EACTgL,SAAUA,EAASl4F,KACnBg5F,WAAYn1F,EAAK,OAEhB,cACHm0F,EAAa,GACbP,EAAW,GACXI,EAAS,EACTr4F,EAAM,GACN+3F,EAAU,GACVK,EAAOJ,EAAO,KACTnkC,EAAK,EAAG8kC,EAAQ1M,EAAMxuF,OAAQo2D,EAAK8kC,EAAO9kC,IAG7B,MAAZ7zD,EADJs4F,EAAMR,EADNn3C,EAAOsrC,EAAMp4B,OAGX7zD,EAAIs4F,KAASD,GAEfN,EAAQp3C,GAAQ,CACd23C,IAAKA,EACLiB,IAAKv5F,EAAIs4F,IAEXr/C,EAAQj5C,EAAIs4F,GAAO33C,EACP,MAARy3C,GAAgBn/C,IAAU++C,IACxBI,GACFH,EAASn0F,KAAKs0F,GAEhBI,EAAW10F,KAAK68C,GAChBq3C,EAAO/+C,GAETm/C,EAAOz3C,MAELy3C,GACFH,EAASn0F,KAAKs0F,GAEhBH,EAASn0F,KAAK,OACd00F,EAAW10F,KAAK,OAEhB2zF,EAAwB,GADxBD,EAAWgB,EAAW/6F,QAEtB83F,EAAc,EAAIpyF,KAAKkyC,IAAIlyC,KAAKlU,IAAIuoG,GAAYr0F,KAAKs2F,IAAK,GAC1DjE,EAAgBryF,KAAKlU,IAAIsmG,EAAc,GAAKpyF,KAAKs2F,IACjDhE,EAAa,EAAI+B,EAAWjC,EAC5Bl8C,EAAS,GACTk/C,EAAe,GACfL,EAAW,GACN16F,EAAI64D,EAAK,EAAGuiC,EAAQJ,EAAW/6F,OAAQ44D,EAAKuiC,EAAOp7F,IAAM64D,EAAI,IAChEqhC,EAAYc,EAAWh7F,GACvB05F,EAAUe,EAASz6F,GACD,QAAdk6F,EAAsB,CACxBr+C,EAAOv1C,KAAK,GACZy0F,EAAaz0F,KAAK,YAIhB4zF,GADJe,EAAaV,EAAQL,GAAR,MACiB,UAC5Br+C,EAAOv1C,KAAK,GACZy0F,EAAaz0F,KAAK,GAAKo0F,EAASz6F,OAAS+5F,EAAWh6F,IAElDmjD,EAAO2V,EAAKohC,EACZA,GAAaR,EAAU5gC,GAAM4gC,EAAU5gC,GAAM4gC,EAC7Cv2C,EAAO+2C,GAAaR,IAAY5gC,IAAOA,EAEvC4hC,EAASp0F,KAAKi0F,EAAQp3C,GAAR,UAGhBtH,EAAOv1C,KAAK20F,EAAaf,GACzBa,EAAaz0F,KAAK,OAGtB40F,EAAShE,YAAY,GACrBgE,EAAShE,YAAY,GACrBgE,EAASpE,YAAY,IACrBoE,EAAShE,YAAY,GACrBgE,EAAShE,YAAY,GAAgB,EAAX8C,EAAiC,EAAlBU,EAASz6F,QAClDi7F,EAAShE,YAAY,GACrBgE,EAAShE,YAAY+C,GACrBiB,EAAShE,YAAYa,GACrBmD,EAAShE,YAAYc,GACrBkD,EAAShE,YAAYe,GAChBl/B,EAAK,EAAGsiC,EAAQZ,EAASx6F,OAAQ84D,EAAKsiC,EAAOtiC,IAChD5V,EAAOs3C,EAAS1hC,GAChBmiC,EAAShE,YAAY/zC,OAEvB+3C,EAAShE,YAAY,GAChBwE,EAAK,EAAGJ,EAAQN,EAAW/6F,OAAQy7F,EAAKJ,EAAOI,IAClDv4C,EAAO63C,EAAWU,GAClBR,EAAShE,YAAY/zC,OAElBy4C,EAAK,EAAGL,EAAQ1/C,EAAO57C,OAAQ27F,EAAKL,EAAOK,IAC9CngD,EAAQI,EAAO+/C,GACfV,EAAShE,YAAYz7C,OAElBogD,EAAK,EAAGL,EAAQT,EAAa96F,OAAQ47F,EAAKL,EAAOK,IACpDl/E,EAASo+E,EAAac,GACtBX,EAAShE,YAAYv6E,OAElBm/E,EAAK,EAAGL,EAAQf,EAASz6F,OAAQ67F,EAAKL,EAAOK,IAChDj1F,EAAK6zF,EAASoB,GACdZ,EAAShE,YAAYrwF,SAEhB,CACL0zF,QAASA,EACTW,SAAUA,EAASl4F,KACnBg5F,WAAYnB,EAAS,KAItBpB,EA7TQ,GAgUb7E,GAAa,SAASkE,YAGflE,WACAA,EAAUiE,UAAU9lE,YAAYrhC,MAAMJ,KAAMK,kBAHrDgnG,GAAU/D,EAAWkE,GAKrBlE,EAAUhhG,UAAUukG,IAAM,OAC1BvD,EAAUhhG,UAAUujC,MAAQ,SAASn0B,OAC/B2zB,EAAO32B,EAAG83F,MACd90F,EAAK+hD,IAAMzzD,KAAKqrB,YACXqF,QAAUhf,EAAKo0D,aACpB0gC,EAAa90F,EAAKo0D,kBACb8gC,OAAS,QACTvJ,QAAU,KAEb3uF,EAAI,EACJ,GAAK83F,EAAa93F,EAAI83F,EAAa93F,EAAI83F,EACvC93F,EAAI,GAAK83F,IAAe93F,IAAMA,EAE9B22B,EAAQ,IAAI8iE,GAAUz2F,EAAM1R,KAAKqrB,aAC5Bu7E,OAAO5xF,KAAKqwB,GACbA,EAAMvW,WACY,MAAhB9uB,KAAKq9F,eACFA,QAAUh4D,UAId,GAMTi+D,EAAUhwB,OAAS,SAAS01B,EAASx+E,OAC/B7lB,EAAQo3C,SACI,MAAZvxB,IACFA,EAAW,YAEb7lB,EAASwjG,GAAU70B,OAAO01B,EAASx+E,IACnCuxB,EAAQ,IAAI+mD,IACN8C,YAAY,GAClB7pD,EAAM6pD,YAAY,GAClBjhG,EAAOo3C,MAAQA,EAAMrqC,KAAKmjB,OAAOlwB,EAAOilG,UACjCjlG,GAEF2+F,EA7CQ,CA8CdgC,IAEC9B,GAAa,SAASgE,YAGfhE,WACAA,EAAU+D,UAAU9lE,YAAYrhC,MAAMJ,KAAMK,kBAHrDgnG,GAAU7D,EAAWgE,GAKrBhE,EAAUlhG,UAAUukG,IAAM,OAC1BrD,EAAUlhG,UAAUujC,MAAQ,SAASn0B,UACnCA,EAAK+hD,IAAMzzD,KAAKqrB,YACXqF,QAAUhf,EAAK00F,eACfnI,SAAWvsF,EAAKs0F,iBAChB9H,SAAWxsF,EAAKs0F,iBAChB5B,QAAU1yF,EAAKs0F,iBACf4E,gBAAkBl5F,EAAKs0F,iBACvB6E,mBAAqBn5F,EAAKs0F,iBAC1B8E,oBAAsBp5F,EAAKs0F,iBAC3B+E,WAAar5F,EAAKs0F,iBAClBgF,eAAiBt5F,EAAKs0F,iBACtBiF,cAAgBv5F,EAAKs0F,iBACrBkF,YAAcx5F,EAAKs0F,YACxBt0F,EAAK+hD,KAAO,OACP03C,iBAAmBz5F,EAAKs0F,YACrBhmG,KAAKorG,gBAAkB15F,EAAKo0D,cAuB/B09B,EA7CQ,CA8Cd8B,IAECxB,GAAY,SAAS0D,YAGd1D,WACAA,EAASyD,UAAU9lE,YAAYrhC,MAAMJ,KAAMK,kBAHpDgnG,GAAUvD,EAAU0D,GAKpB1D,EAASxhG,UAAUukG,IAAM,OACzB/C,EAASxhG,UAAUujC,MAAQ,SAASn0B,MAClCA,EAAK+hD,IAAMzzD,KAAKqrB,YACXqF,QAAUhf,EAAKo0D,kBACfulC,iBAAmB35F,EAAKs0F,iBACxBsF,YAAc55F,EAAKo0D,kBACnBylC,WAAa75F,EAAKo0D,kBAClBriE,KAAOiO,EAAKs0F,iBACZwF,gBAAkB95F,EAAKs0F,iBACvByF,gBAAkB/5F,EAAKs0F,iBACvB0F,kBAAoBh6F,EAAKs0F,iBACzB2F,kBAAoBj6F,EAAKs0F,iBACzB4F,kBAAoBl6F,EAAKs0F,iBACzB6F,kBAAoBn6F,EAAKs0F,iBACzB8F,oBAAsBp6F,EAAKs0F,iBAC3B+F,oBAAsBr6F,EAAKs0F,iBAC3BgG,eAAiBt6F,EAAKs0F,iBACtBiG,mBAAqBv6F,EAAKs0F,iBAC1BpB,YAAclzF,EAAKs0F,iBACnBkG,OAAU,eACTx9F,EAAGy2D,MACPA,EAAW,GACNz2D,EAAI,EAAGA,EAAI,KAAMA,EACpBy2D,EAASnwD,KAAKtD,EAAK6zF,mBAEdpgC,EANM,QAQVgnC,UAAa,eACZz9F,EAAGy2D,MACPA,EAAW,GACNz2D,EAAI,EAAGA,EAAI,IAAKA,EACnBy2D,EAASnwD,KAAKtD,EAAK00F,kBAEdjhC,EANS,QAQbinC,SAAW16F,EAAKqxF,WAAW,QAC3BsJ,UAAY36F,EAAKs0F,iBACjBsG,eAAiB56F,EAAKs0F,iBACtBuG,cAAgB76F,EAAKs0F,YACtBhmG,KAAK0wB,QAAU,SACZ87E,OAAS96F,EAAKs0F,iBACd3wE,QAAU3jB,EAAKs0F,iBACf5B,QAAU1yF,EAAKs0F,iBACfyG,UAAY/6F,EAAKs0F,iBACjB0G,WAAah7F,EAAKs0F,iBAClB2G,cAAiB,eAChBj+F,EAAGy2D,MACPA,EAAW,GACNz2D,EAAI,EAAGA,EAAI,EAAGA,IAAMA,EACvBy2D,EAASnwD,KAAKtD,EAAK00F,kBAEdjhC,EANa,GAQlBnlE,KAAK0wB,QAAU,eACZi0E,QAAUjzF,EAAKs0F,iBACf7H,UAAYzsF,EAAKs0F,iBACjB4G,YAAcl7F,EAAKs0F,iBACnB6G,UAAYn7F,EAAKs0F,YACdhmG,KAAK8sG,WAAap7F,EAAKs0F,aAO9BlC,EAvEO,CAwEbwB,IAEC1B,GAAa,SAAS4D,YAIf5D,WACAA,EAAU2D,UAAU9lE,YAAYrhC,MAAMJ,KAAMK,kBAHrDgnG,GAAUzD,EAAW4D,GAKrB5D,EAAUthG,UAAUukG,IAAM,OAC1BjD,EAAUthG,UAAUujC,MAAQ,SAASn0B,OAC/B/C,EAAQo+F,EAAgB5nC,SAC5BzzD,EAAK+hD,IAAMzzD,KAAKqrB,YACX3U,OAAShF,EAAK00F,eACdpI,YAActsF,EAAK00F,eACnB4G,kBAAoBt7F,EAAKs0F,iBACzBiH,mBAAqBv7F,EAAKs0F,iBAC1BjB,aAAerzF,EAAK00F,eACpB8G,aAAex7F,EAAK00F,eACpB+G,aAAez7F,EAAK00F,eACpBgH,YAAc17F,EAAK00F,eACnBiH,YAAc37F,EAAK00F,UAChBpmG,KAAK0W,aACN,iBAEA,WAGChI,MAFJq+F,EAAiBr7F,EAAKo0D,kBACjBwnC,eAAiB,GAGpB5+F,EAAI,EACJ,GAAKq+F,EAAiBr+F,EAAIq+F,EAAiBr+F,EAAIq+F,EAC/Cr+F,EAAI,GAAKq+F,IAAmBr+F,IAAMA,OAE7B4+F,eAAet4F,KAAKtD,EAAKo0D,uBAE3BynC,MAAQ,GACbpoC,EAAW,GACJzzD,EAAK+hD,IAAMzzD,KAAKqrB,OAASrrB,KAAK2O,QACnCA,EAAS+C,EAAK6zF,WACdpgC,EAASnwD,KAAKhV,KAAKutG,MAAMv4F,KAAKtD,EAAKqxF,WAAWp0F,YAEzCw2D,OACJ,cACH4nC,EAAiBr7F,EAAKo0D,aACd9lE,KAAK2e,QAAUjN,EAAKk0D,KAAKmnC,QAC9B,kBAEA,cACK/sG,KAAKkR,IAAM,eACb6zD,EAAIC,EAAMwoC,MACdA,EAAY,GAEV9+F,EAAIq2D,EAAK,EAAGC,EAAOhlE,KAAKg5F,KAAKyK,KAAKgK,UAClC,GAAKzoC,EAAOD,EAAKC,EAAOD,EAAKC,EAC7Bt2D,EAAI,GAAKs2D,IAASD,IAAOA,EAEzByoC,EAAUx4F,KAAKtD,EAAKwzD,qBAEfsoC,GACPhtG,KAAKR,QAkEN4jG,EA5HQ,CA6Hd0B,IAMCoI,YACiBjJ,EAAKp/D,QACjBo/D,IAAMA,OACN91F,OAAS81F,EAAI91F,YACbk6F,WAAaxjE,EAAMwjE,gBACnBC,WAAazjE,EAAMyjE,gBACnB6E,WAAatoE,EAAMsoE,YAKxBtK,GAAa,SAASmE,YAIfnE,WACAA,EAAUkE,UAAU9lE,YAAYrhC,MAAMJ,KAAMK,kBAHrDgnG,GAAUhE,EAAWmE,GAKrBnE,EAAU/gG,UAAUukG,IAAM,OAC1BxD,EAAU/gG,UAAUujC,MAAQ,SAASn0B,OAC/BsvB,EACF4sE,EACAvoE,EACA32B,EACA9N,EACAitG,EACAC,EACAt/E,EACAu2C,EACAwD,EACA8hC,MACF34F,EAAK+hD,IAAMzzD,KAAKqrB,OAChB3Z,EAAKs0F,YACLhlE,EAAQtvB,EAAKs0F,YACb6H,EAAen8F,EAAKs0F,YACpB4H,EAAU,GAERl/F,EAAI,EACJ,GAAKsyB,EAAQtyB,EAAIsyB,EAAQtyB,EAAIsyB,EAC7BtyB,EAAI,GAAKsyB,IAAUtyB,IAAMA,EAEzBk/F,EAAQ54F,KAAK,CACX6zF,WAAYn3F,EAAKs0F,YACjB8C,WAAYp3F,EAAKs0F,YACjB2H,WAAYj8F,EAAKs0F,YACjB+H,OAAQr8F,EAAKs0F,YACbr3F,OAAQ+C,EAAKs0F,YACb36E,OAAQrrB,KAAKqrB,OAASwiF,EAAen8F,EAAKs0F,kBAG9C8H,EAAU,GACLp/F,EAAIq2D,EAAK,EAAGwD,EAAOqlC,EAAQj/F,OAAQo2D,EAAKwD,EAAM75D,IAAMq2D,EACvD1/B,EAAQuoE,EAAQl/F,GAChBgD,EAAK+hD,IAAMpuB,EAAMha,OACjBmD,EAAO9c,EAAKqxF,WAAW19D,EAAM12B,QAC7B/N,EAAO,IAAI8sG,GAAUl/E,EAAM6W,GACY,MAAnCyoE,EAASzD,EAAQhlE,EAAM0oE,UACzBD,EAAQzD,GAAS,IAEnByD,EAAQzoE,EAAM0oE,QAAQ/4F,KAAKpU,QAExBktG,QAAUA,OACVE,UAAYF,EAAQ,QACpB3pD,WAAa2pD,EAAQ,QACrBG,cAAgBH,EAAQ,QACxBI,gBAAkBJ,EAAQ,QAC1BxgF,SAAWwgF,EAAQ,QACnBp9E,QAAUo9E,EAAQ,YAEhBK,eAAiBL,EAAQ,GAAG,GAAGrJ,IAAI7/F,QACtC,wBACA,IAEF,MAAOpD,QACF2sG,eAAiBL,EAAQ,GAAG,GAAGrJ,IAAI7/F,QACtC,wBACA,gBAGCwpG,UAAYN,EAAQ,QACpBO,aAAeP,EAAQ,QACvBQ,SAAWR,EAAQ,QACnBS,YAAcT,EAAQ,SACtBU,UAAYV,EAAQ,SACpBW,YAAcX,EAAQ,SACtBY,QAAUZ,EAAQ,SAClBa,WAAab,EAAQ,SACrBc,gBAAkBd,EAAQ,SAC1Be,mBAAqBf,EAAQ,SAC7BgB,eAAiBhB,EAAQ,IACtB9tG,KAAK+uG,WAAajB,EAAQ,KAkD7BzK,EAjIQ,CAkIdiC,IAEC5B,GAAa,SAAS8D,YAGf9D,WACAA,EAAU6D,UAAU9lE,YAAYrhC,MAAMJ,KAAMK,kBAHrDgnG,GAAU3D,EAAW8D,GAKrB9D,EAAUphG,UAAUukG,IAAM,OAC1BnD,EAAUphG,UAAUujC,MAAQ,SAASn0B,UACnCA,EAAK+hD,IAAMzzD,KAAKqrB,YACXqF,QAAUhf,EAAK00F,eACfqH,UAAY/7F,EAAKo0D,kBACjBkpC,UAAYt9F,EAAKo0D,kBACjBmpC,YAAcv9F,EAAKo0D,kBACnBopC,mBAAqBx9F,EAAKo0D,kBAC1BqpC,qBAAuBz9F,EAAKo0D,kBAC5BspC,SAAW19F,EAAKo0D,kBAChBupC,kBAAoB39F,EAAKo0D,kBACzBwpC,WAAa59F,EAAKo0D,kBAClBypC,gBAAkB79F,EAAKo0D,kBACvB0pC,mBAAqB99F,EAAKo0D,kBAC1B2pC,iBAAmB/9F,EAAKo0D,kBACxB4pC,sBAAwBh+F,EAAKo0D,kBAC7B6pC,qBAAuBj+F,EAAKo0D,aACzB9lE,KAAK4vG,kBAAoBl+F,EAAKo0D,cAsBjC49B,EA7CQ,CA8Cd4B,IAEC3B,GAAa,SAAS6D,YAGf7D,WACAA,EAAU4D,UAAU9lE,YAAYrhC,MAAMJ,KAAMK,kBAHrDgnG,GAAU1D,EAAW6D,GAKrB7D,EAAUrhG,UAAUukG,IAAM,OAC1BlD,EAAUrhG,UAAUujC,MAAQ,SAASn0B,OAC/BhD,EAAG46F,EAAMuG,EAAUzhF,EAAG22C,EAAIC,EAAMG,MACpCzzD,EAAK+hD,IAAMzzD,KAAKqrB,YACX0tE,QAAU,GAEbrqF,EAAI,EAAGs2D,EAAOhlE,KAAKg5F,KAAKuK,KAAK6H,gBAC7B,GAAKpmC,EAAOt2D,EAAIs2D,EAAOt2D,EAAIs2D,EAC3Bt2D,EAAI,GAAKs2D,IAASt2D,IAAMA,OAEnBqqF,QAAQ/jF,KAAK,CAChBmwF,QAASzzF,EAAKo0D,aACdgqC,IAAKp+F,EAAKm0F,kBAGdgK,EAAW7vG,KAAKg5F,KAAKyK,KAAKgK,UAAYztG,KAAKg5F,KAAKuK,KAAK6H,qBAChD2E,iBAAoB,eACnBhrC,EAAII,MACRA,EAAW,GAETz2D,EAAIq2D,EAAK,EACT,GAAK8qC,EAAW9qC,EAAK8qC,EAAW9qC,EAAK8qC,EACrCnhG,EAAI,GAAKmhG,IAAa9qC,IAAOA,EAE7BI,EAASnwD,KAAKtD,EAAKm0F,oBAEd1gC,EAVgB,QAYpBmwB,OAAS,eACRvwB,EAAIwD,EAAMR,EAAO5C,MAErBA,EAAW,GACNJ,EAAK,EAAGwD,GAFbR,EAAQ/nE,KAAK+4F,SAEapqF,OAAQo2D,EAAKwD,EAAMxD,IAC3C32C,EAAI25C,EAAMhD,GACVI,EAASnwD,KAAKoZ,EAAE+2E,gBAEXhgC,GACP3kE,KAAKR,MACPspG,EAAOtpG,KAAKs1F,OAAOt1F,KAAKs1F,OAAO3mF,OAAS,GACxCw2D,EAAW,GAETz2D,EAAIq2D,EAAK,EACT,GAAK8qC,EAAW9qC,EAAK8qC,EAAW9qC,EAAK8qC,EACrCnhG,EAAI,GAAKmhG,IAAa9qC,IAAOA,EAE7BI,EAASnwD,KAAKhV,KAAKs1F,OAAOtgF,KAAKs0F,WAE1BnkC,GAMTw+B,EAAUrhG,UAAU4iG,SAAW,SAAS3vF,UAClCA,KAAMvV,KAAK+4F,QACN/4F,KAAK+4F,QAAQxjF,GAEf,CACL4vF,QAASnlG,KAAK+4F,QAAQ/4F,KAAK+4F,QAAQpqF,OAAS,GAAGw2F,QAC/C2K,IAAK9vG,KAAK+vG,iBAAiBx6F,EAAKvV,KAAK+4F,QAAQpqF,UAc1Cg1F,EA/EQ,CAgFd2B,IAEC6B,GAAU,GAAGxzF,MAEbuwF,GAAa,SAASsD,YAGftD,WACAA,EAAUqD,UAAU9lE,YAAYrhC,MAAMJ,KAAMK,kBAHrDgnG,GAAUnD,EAAWsD,GAKrBtD,EAAU5hG,UAAUukG,IAAM,OAC1B3C,EAAU5hG,UAAUujC,MAAQ,kBAClB7lC,KAAKgwG,MAAQ,IAEvB9L,EAAU5hG,UAAU2tG,SAAW,SAAS16F,OAClC7D,EACF6Z,EACA5c,EACAo1F,EACAmM,EACAzL,EACAF,EACAF,EACAG,EACAF,SACE/uF,KAAMvV,KAAKgwG,MACNhwG,KAAKgwG,MAAMz6F,IAEpBwuF,EAAO/jG,KAAKg5F,KAAK+K,KACjBryF,EAAO1R,KAAKg5F,KAAK9iD,SACjB3qB,EAAQw4E,EAAKzuF,QAAQC,GAEN,KADf5G,EAASo1F,EAAKoM,SAAS56F,IAEbvV,KAAKgwG,MAAMz6F,GAAM,MAE3B7D,EAAK+hD,IAAMzzD,KAAKqrB,OAASE,EAEzB2kF,GADAzL,EAAM,IAAI3B,GAAKpxF,EAAKk0D,KAAKj3D,KACFq3F,YACvB3B,EAAOI,EAAIuB,YACX1B,EAAOG,EAAIuB,YACXzB,EAAOE,EAAIuB,YACXxB,EAAOC,EAAIuB,iBAEJgK,MAAMz6F,IADa,IAAtB26F,EACe,IAAIE,GAAc3L,EAAKJ,EAAMC,EAAMC,EAAMC,GAEzC,IAAI6L,GACnB5L,EACAyL,EACA7L,EACAC,EACAC,EACAC,GAGGxkG,KAAKgwG,MAAMz6F,MAEpB2uF,EAAU5hG,UAAUgxE,OAAS,SAASg9B,EAAQC,EAASC,OACjDvL,EAAWtmF,EAASo9B,EAAO+oB,EAAIyD,MACnCxsB,EAAQ,GACRp9B,EAAU,GACLmmD,EAAK,EAAGyD,EAAOgoC,EAAQ5hG,OAAQm2D,EAAKyD,EAAMzD,IAE7CmgC,EAAQqL,EADHC,EAAQzrC,IAEbnmD,EAAQ3J,KAAK+mC,EAAMptC,QACfs2F,IACFlpD,EAAQA,EAAMlnB,OAAOowE,EAAM3xB,OAAOk9B,YAGtC7xF,EAAQ3J,KAAK+mC,EAAMptC,QACZ,CACLotC,MAAOA,EACPp9B,QAASA,IAGNulF,EAtEQ,CAuEdoB,IAEC+K,GAAe,oBAKRA,EAAY5L,EAAKyL,EAAkB7L,EAAMC,EAAMC,EAAMC,QACvDC,IAAMA,OACNyL,iBAAmBA,OACnB7L,KAAOA,OACPC,KAAOA,OACPC,KAAOA,OACPC,KAAOA,OACPiM,UAAW,SAElBJ,EAAY/tG,UAAUgxE,OAAS,kBACtBtzE,KAAKykG,IAAI/yF,MAEX2+F,EAjBU,GAoBfD,GAAiB,oBAkBVA,EAAc3L,EAAKJ,EAAMC,EAAMC,EAAMC,OACxC9yF,EAAM+c,WACLg2E,IAAMA,OACNJ,KAAOA,OACPC,KAAOA,OACPC,KAAOA,OACPC,KAAOA,OACPiM,UAAW,OACXrH,SAAW,QACXsH,aAAe,GACpBh/F,EAAO1R,KAAKykG,IAEVh2E,EAAQ/c,EAAKs0F,iBACR0K,aAAa17F,KAAKtD,EAAK+hD,UACvB21C,SAASp0F,KAAKtD,EAAKo0D,cAvBV,GAwBRr3C,GAIJ/c,EAAK+hD,KA9Ba,EA6BhBhlC,EACU,EAEA,EA5BK,IA8BfA,EACF/c,EAAK+hD,KAAO,EAhCS,GAiCZhlC,EACT/c,EAAK+hD,KAAO,EApCA,EAqCHhlC,IACT/c,EAAK+hD,KAAO,UAvCM,EACN,EACA,GACS,GACJ,IA2CvB28C,EAAc9tG,UAAUgxE,OAAS,eAC3B5kE,EAAG/J,EAAQ4jE,MACf5jE,EAAS,IAAIm+F,GAAKqE,GAAQ3mG,KAAKR,KAAKykG,IAAI/yF,OAEnChD,EAAI,EAAG65D,EADLvoE,KAAKopG,SACYz6F,OAAQD,EAAI65D,IAAQ75D,EAC1C/J,EAAO8uD,IAAMzzD,KAAK0wG,aAAahiG,UAE1B/J,EAAO+M,MAET0+F,EA/DY,GAkEjBpM,GAAa,SAASwD,YAGfxD,WACAA,EAAUuD,UAAU9lE,YAAYrhC,MAAMJ,KAAMK,kBAHrDgnG,GAAUrD,EAAWwD,GAKrBxD,EAAU1hG,UAAUukG,IAAM,OAC1B7C,EAAU1hG,UAAUujC,MAAQ,SAASn0B,OAC/BgF,EAAQhI,SACZgD,EAAK+hD,IAAMzzD,KAAKqrB,OAChB3U,EAAS1W,KAAKg5F,KAAKniC,KAAKoxC,iBAEdjoG,KAAK2e,QADA,IAAXjI,EACqB,eACjBsuD,EAAMG,MACVA,EAAW,GACNz2D,EAAI,EAAGs2D,EAAOhlE,KAAK2O,OAAQD,EAAIs2D,EAAMt2D,GAAK,EAC7Cy2D,EAASnwD,KAAyB,EAApBtD,EAAKo0D,qBAEdX,GACP3kE,KAAKR,MAEgB,eACjBglE,EAAMG,MACVA,EAAW,GACNz2D,EAAI,EAAGs2D,EAAOhlE,KAAK2O,OAAQD,EAAIs2D,EAAMt2D,GAAK,EAC7Cy2D,EAASnwD,KAAKtD,EAAKwzD,qBAEdC,GACP3kE,KAAKR,OAGXgkG,EAAU1hG,UAAUgT,QAAU,SAASC,UAC9BvV,KAAK2e,QAAQpJ,IAEtByuF,EAAU1hG,UAAU6tG,SAAW,SAAS56F,UAC/BvV,KAAK2e,QAAQpJ,EAAK,GAAKvV,KAAK2e,QAAQpJ,IAE7CyuF,EAAU1hG,UAAUgxE,OAAS,SAAS30D,EAASgyF,WACzC3M,EAAY,IAAIlwD,YAAY9zC,KAAK2e,QAAQhQ,QACzCiiG,EAAU,EACVC,EAAW,EACNthG,EAAI,EAAGA,EAAIy0F,EAAUr1F,SAAUY,KACtCy0F,EAAUz0F,GAAKqhG,EACXC,EAAWF,EAAahiG,QAAUgiG,EAAaE,IAAathG,EAAG,GAC/DshG,EACF7M,EAAUz0F,GAAKqhG,MACXtmD,EAAQtqD,KAAK2e,QAAQpP,GACrBsQ,EAAM7f,KAAK2e,QAAQpP,EAAI,GAAK+6C,EAC5BzqC,EAAM,IACR+wF,GAAW/wF,WAIbixF,EAAe,IAAIh/F,MAAyB,EAAnBkyF,EAAUr1F,QAC9BoC,EAAI,EAAGA,EAAIizF,EAAUr1F,SAAUoC,EACtC+/F,EAAa,EAAI//F,EAAI,GAAoB,IAAfizF,EAAUjzF,GACpC+/F,EAAa,EAAI//F,EAAI,IAAqB,MAAfizF,EAAUjzF,KAAoB,EACzD+/F,EAAa,EAAI//F,EAAI,IAAqB,SAAfizF,EAAUjzF,KAAoB,GACzD+/F,EAAa,EAAI//F,IAAqB,WAAfizF,EAAUjzF,KAAoB,UAEhD+/F,GAEF9M,EA9DQ,CA+DdsB,IA+DCtC,GAAU,oBACHA,EAAO34E,QACTA,KAAOA,OACPmzE,OAAS,QACTuT,SAAW,QACXC,KAAO,UA4BdhO,EAAO1gG,UAAU2uG,aAAe,eAC1BV,EAASW,EAAO7T,EAAS8T,EAAansC,MAIrCksC,KAHLC,EAAcnxG,KAAKqqB,KAAKszE,KAAKiJ,OAAO,GAAGhI,QACvC2R,EAAU,GACVvrC,EAAOhlE,KAAKw9F,OAEVH,EAAUr4B,EAAKksC,GACfX,EAAQW,GAASC,EAAY9T,UAExBkT,GAoBTvN,EAAO1gG,UAAU8uG,UAAY,SAAShI,OAChCiI,EAAepM,EAAOqL,EAAQ/6F,EAAIuvD,EAAIyD,EAAMvD,MAChDsrC,EAAS,GACJxrC,EAAK,EAAGyD,EAAO6gC,EAASz6F,OAAQm2D,EAAKyD,EAAMzD,IAE9CwrC,EADA/6F,EAAK6zF,EAAStkC,IACD9kE,KAAKqqB,KAAK45E,KAAKgM,SAAS16F,OAGlCA,KADL87F,EAAgB,GACLf,GAEI,OADbrL,EAAQqL,EAAO/6F,IACK0vF,EAAMwL,cAAW,IACnCY,EAAcr8F,KAAK5U,MAAMixG,EAAepM,EAAMmE,aAG9CiI,EAAc1iG,OAAS,MAEpB4G,KADLyvD,EAAOhlE,KAAKoxG,UAAUC,GAEpBpM,EAAQjgC,EAAKzvD,GACb+6F,EAAO/6F,GAAM0vF,SAGVqL,GAMTtN,EAAO1gG,UAAUgxE,OAAS,SAASg+B,EAAOrJ,OACpCtK,EACF9rC,EACAoyC,EACAqM,EACA/6F,EACAg8F,EACAxN,EACAyN,EACAC,EACAC,EACAlB,EACAmB,EACAC,EACAhL,EACA5hC,MAOGnT,KANL8rC,EAAO2F,GAAUhwB,OAAOtzE,KAAKixG,eAAgB,WAC7CX,EAAStwG,KAAKoxG,UAAUE,GACxBd,EAAU,GACL,GAELxrC,EAAO24B,EAAKsL,QAGVuH,GADAe,EAAMvsC,EAAKnT,IACC23C,KAAO+H,EAAG,QAGnBI,KADLD,EAAc/T,EAAK+M,WACL4F,EACNqB,KAASnB,IACbA,EAAQmB,GAASD,YAGrBF,EAlLS,SAAStsE,OAChBzzB,EAAKq2D,MAEJr2D,KADLq2D,EAAM,GACM5iC,EAEV4iC,EADM5iC,EAAOzzB,IACFA,SAENq2D,EA2KK+pC,CAAOrB,GACjBiB,EAASj9F,OAAOC,KAAK+8F,GAAS5nE,MAAK,SAASlnC,EAAGsM,UACtCtM,EAAIsM,KAEb4iG,EAAU,eACJ9sC,EAAIyD,EAAMpD,MACdA,EAAW,GACNL,EAAK,EAAGyD,EAAOkpC,EAAO9iG,OAAQm2D,EAAKyD,EAAMzD,IAC5CvvD,EAAKk8F,EAAO3sC,GACZK,EAASnwD,KAAKw8F,EAAQj8F,WAEjB4vD,EAPC,GASV8+B,EAAOjkG,KAAKqqB,KAAK45E,KAAK3wB,OAAOg9B,EAAQsB,EAAQpB,GAC7CzM,EAAO/jG,KAAKqqB,KAAK05E,KAAKzwB,OAAO2wB,EAAKtlF,QAASizF,GAC3ChL,EAAS,CACPjJ,KAAM39F,KAAKqqB,KAAKszE,KAAK8G,MACrBR,KAAMA,EAAKloD,MACXgoD,KAAMA,EACNzF,KAAMt+F,KAAKqqB,KAAKi0E,KAAKmG,MACrBlB,KAAMvjG,KAAKqqB,KAAKk5E,KAAKkB,MACrBhB,KAAMzjG,KAAKqqB,KAAKo5E,KAAKgB,MACrBtuC,KAAMn2D,KAAKqqB,KAAK8rC,KAAKsuC,MACrB7jG,KAAMZ,KAAKqqB,KAAKzpB,KAAK6jG,MACrB5tC,KAAM72D,KAAKqqB,KAAKwsC,KAAKyc,OAAO20B,IAE1BjoG,KAAKqqB,KAAKw5E,IAAIM,SAChByC,EAAO,QAAU5mG,KAAKqqB,KAAKw5E,IAAIY,OAE1BzkG,KAAKqqB,KAAK64E,UAAU5vB,OAAOszB,IAE7B5D,EAxJK,GA2Jd3sF,EAAMkB,IAAIsmF,UAAa,eACjB7G,WAEK6G,YACT7G,EAAM,SAASz2F,EAAKoO,UACVmD,MAAMnD,EAAS,GAAGwC,KAAK,KAAO5Q,GAAKoT,OAAOhF,IAMpDkvF,EAAUhhC,QAAU,SAAS33B,OACvB1jC,EAAUiQ,EAAKM,EAAKurD,KACpBxrD,MAAMiX,QAAQmc,SAUT,IATE,eACH4/B,EAAIyD,EAAMpD,MACdA,EAAW,GACNL,EAAK,EAAGyD,EAAOrjC,EAAOv2B,OAAQm2D,EAAKyD,EAAMzD,IAC5CtjE,EAAI0jC,EAAO4/B,GACXK,EAASnwD,KAAK6oF,EAAUhhC,QAAQr7D,WAE3B2jE,EAPA,GAQJh0D,KAAK,KACW,IAChB,GAAsB,iBAAX+zB,QACT,IAAMA,EACR,GAAc,MAAVA,EAAiBA,EAAO4sE,cAAW,QACrC,IAAM5sE,EAAS,IACjB,GAAIA,aAAkB9mB,WAEzB,MACA44E,EAAI9xD,EAAO6sE,iBAAkB,GAC7B/a,EAAI9xD,EAAO8sE,cAAe,GAC1Bhb,EAAI9xD,EAAO+sE,aAAc,GACzBjb,EAAI9xD,EAAOgtE,cAAe,GAC1Blb,EAAI9xD,EAAOitE,gBAAiB,GAC5Bnb,EAAI9xD,EAAOktE,gBAAiB,GAC5B,KAEG,GAAiC,oBAA7B,GAAGhjG,SAAS5O,KAAK0kC,GAA+B,KAEpDzzB,KADLM,EAAM,CAAC,MACKmzB,EACVo4B,EAAMp4B,EAAOzzB,GACbM,EAAIiD,KAAK,IAAMvD,EAAM,IAAMosF,EAAUhhC,QAAQS,WAE/CvrD,EAAIiD,KAAK,MACFjD,EAAIZ,KAAK,YAET,GAAK+zB,GAGT24D,EAnDc"} \ No newline at end of file diff --git a/cp/public/assets/js/xlsx.full.min.js b/cp/public/assets/js/xlsx.full.min.js new file mode 100644 index 0000000..21471af --- /dev/null +++ b/cp/public/assets/js/xlsx.full.min.js @@ -0,0 +1,24 @@ +/*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */ +var DO_NOT_EXPORT_CODEPAGE=true;var cptable={version:"1.15.0"};cptable[437]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[620]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàąçêëèïîćÄĄĘęłôöĆûùŚÖܢ٥śƒŹŻóÓńŃźż¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[737]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρσςτυφχψ░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ωάέήϊίόύϋώΆΈΉΊΌΎΏ±≥≤ΪΫ÷≈°∙·√ⁿ²■ ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[850]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø×ƒáíóúñѪº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈıÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýݯ´­±‗¾¶§÷¸°¨·¹³²■ ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[852]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäůćçłëŐőîŹÄĆÉĹĺôöĽľŚśÖÜŤťŁ×čáíóúĄąŽžĘ꬟Ⱥ«»░▒▓│┤ÁÂĚŞ╣║╗╝Żż┐└┴┬├─┼Ăă╚╔╩╦╠═╬¤đĐĎËďŇÍÎě┘┌█▄ŢŮ▀ÓßÔŃńňŠšŔÚŕŰýÝţ´­˝˛ˇ˘§÷¸°¨˙űŘř■ ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[857]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîıÄÅÉæÆôöòûùİÖÜø£ØŞşáíóúñÑĞ𿮬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ºªÊËÈ�ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµ�×ÚÛÙìÿ¯´­±�¾¶§÷¸°¨·¹³²■ ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[861]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèÐðÞÄÅÉæÆôöþûÝýÖÜø£Ø₧ƒáíóúÁÍÓÚ¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[865]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø₧ƒáíóúñѪº¿⌐¬½¼¡«¤░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[866]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■ ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[874]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€����…�����������‘’“”•–—�������� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[895]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ČüéďäĎŤčěĚĹÍľǪÄÁÉžŽôöÓůÚýÖÜŠĽÝŘťáíóúňŇŮÔšřŕŔ¼§«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[932]=function(){var e=[],r={},t=[],a;t[0]="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~���������������������������������。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙゚��������������������������������".split("");for(a=0;a!=t[0].length;++a)if(t[0][a].charCodeAt(0)!==65533){r[t[0][a]]=0+a;e[0+a]=t[0][a]}t[129]="���������������������������������������������������������������� 、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/\~∥|…‥‘’“”()〔〕[]{}〈〉《》「」『』【】+-±×�÷=≠<>≦≧∞∴♂♀°′″℃¥$¢£%#&*@§☆★○●◎◇◆□■△▲▽▼※〒→←↑↓〓�����������∈∋⊆⊇⊂⊃∪∩��������∧∨¬⇒⇔∀∃�����������∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬�������ʼn♯♭♪†‡¶����◯���".split("");for(a=0;a!=t[129].length;++a)if(t[129][a].charCodeAt(0)!==65533){r[t[129][a]]=33024+a;e[33024+a]=t[129][a]}t[130]="�������������������������������������������������������������������������������0123456789�������ABCDEFGHIJKLMNOPQRSTUVWXYZ�������abcdefghijklmnopqrstuvwxyz����ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん��������������".split("");for(a=0;a!=t[130].length;++a)if(t[130][a].charCodeAt(0)!==65533){r[t[130][a]]=33280+a;e[33280+a]=t[130][a]}t[131]="����������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミ�ムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ��������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�����������������������������������������".split("");for(a=0;a!=t[131].length;++a)if(t[131][a].charCodeAt(0)!==65533){r[t[131][a]]=33536+a;e[33536+a]=t[131][a]}t[132]="����������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмн�опрстуфхцчшщъыьэюя�������������─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂�����������������������������������������������������������������".split("");for(a=0;a!=t[132].length;++a)if(t[132][a].charCodeAt(0)!==65533){r[t[132][a]]=33792+a;e[33792+a]=t[132][a]}t[135]="����������������������������������������������������������������①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ�㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡��������㍻�〝〟№㏍℡㊤㊥㊦㊧㊨㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪���������������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[135].length;++a)if(t[135][a].charCodeAt(0)!==65533){r[t[135][a]]=34560+a;e[34560+a]=t[135][a]}t[136]="���������������������������������������������������������������������������������������������������������������������������������������������������������������亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭���".split("");for(a=0;a!=t[136].length;++a)if(t[136][a].charCodeAt(0)!==65533){r[t[136][a]]=34816+a;e[34816+a]=t[136][a]}t[137]="����������������������������������������������������������������院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円�園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改���".split("");for(a=0;a!=t[137].length;++a)if(t[137][a].charCodeAt(0)!==65533){r[t[137][a]]=35072+a;e[35072+a]=t[137][a]}t[138]="����������������������������������������������������������������魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫�橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄���".split("");for(a=0;a!=t[138].length;++a)if(t[138][a].charCodeAt(0)!==65533){r[t[138][a]]=35328+a;e[35328+a]=t[138][a]}t[139]="����������������������������������������������������������������機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救�朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈���".split("");for(a=0;a!=t[139].length;++a)if(t[139][a].charCodeAt(0)!==65533){r[t[139][a]]=35584+a;e[35584+a]=t[139][a]}t[140]="����������������������������������������������������������������掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨�劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向���".split("");for(a=0;a!=t[140].length;++a)if(t[140][a].charCodeAt(0)!==65533){r[t[140][a]]=35840+a;e[35840+a]=t[140][a]}t[141]="����������������������������������������������������������������后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降�項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷���".split("");for(a=0;a!=t[141].length;++a)if(t[141][a].charCodeAt(0)!==65533){r[t[141][a]]=36096+a;e[36096+a]=t[141][a]}t[142]="����������������������������������������������������������������察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止�死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周���".split("");for(a=0;a!=t[142].length;++a)if(t[142][a].charCodeAt(0)!==65533){r[t[142][a]]=36352+a;e[36352+a]=t[142][a]}t[143]="����������������������������������������������������������������宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳�準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾���".split("");for(a=0;a!=t[143].length;++a)if(t[143][a].charCodeAt(0)!==65533){r[t[143][a]]=36608+a;e[36608+a]=t[143][a]}t[144]="����������������������������������������������������������������拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨�逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線���".split("");for(a=0;a!=t[144].length;++a)if(t[144][a].charCodeAt(0)!==65533){r[t[144][a]]=36864+a;e[36864+a]=t[144][a]}t[145]="����������������������������������������������������������������繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻�操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只���".split("");for(a=0;a!=t[145].length;++a)if(t[145][a].charCodeAt(0)!==65533){r[t[145][a]]=37120+a;e[37120+a]=t[145][a]}t[146]="����������������������������������������������������������������叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄�逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓���".split("");for(a=0;a!=t[146].length;++a)if(t[146][a].charCodeAt(0)!==65533){r[t[146][a]]=37376+a;e[37376+a]=t[146][a]}t[147]="����������������������������������������������������������������邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬�凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入���".split("");for(a=0;a!=t[147].length;++a)if(t[147][a].charCodeAt(0)!==65533){r[t[147][a]]=37632+a;e[37632+a]=t[147][a]}t[148]="����������������������������������������������������������������如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅�楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美���".split("");for(a=0;a!=t[148].length;++a)if(t[148][a].charCodeAt(0)!==65533){r[t[148][a]]=37888+a;e[37888+a]=t[148][a]}t[149]="����������������������������������������������������������������鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷�斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋���".split("");for(a=0;a!=t[149].length;++a)if(t[149][a].charCodeAt(0)!==65533){r[t[149][a]]=38144+a;e[38144+a]=t[149][a]}t[150]="����������������������������������������������������������������法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆�摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒���".split("");for(a=0;a!=t[150].length;++a)if(t[150][a].charCodeAt(0)!==65533){r[t[150][a]]=38400+a;e[38400+a]=t[150][a]}t[151]="����������������������������������������������������������������諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲�沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯���".split("");for(a=0;a!=t[151].length;++a)if(t[151][a].charCodeAt(0)!==65533){r[t[151][a]]=38656+a;e[38656+a]=t[151][a]}t[152]="����������������������������������������������������������������蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕��������������������������������������������弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲���".split("");for(a=0;a!=t[152].length;++a)if(t[152][a].charCodeAt(0)!==65533){r[t[152][a]]=38912+a;e[38912+a]=t[152][a]}t[153]="����������������������������������������������������������������僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭�凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨���".split("");for(a=0;a!=t[153].length;++a)if(t[153][a].charCodeAt(0)!==65533){r[t[153][a]]=39168+a;e[39168+a]=t[153][a]}t[154]="����������������������������������������������������������������咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸�噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩���".split("");for(a=0;a!=t[154].length;++a)if(t[154][a].charCodeAt(0)!==65533){r[t[154][a]]=39424+a;e[39424+a]=t[154][a]}t[155]="����������������������������������������������������������������奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀�它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏���".split("");for(a=0;a!=t[155].length;++a)if(t[155][a].charCodeAt(0)!==65533){r[t[155][a]]=39680+a;e[39680+a]=t[155][a]}t[156]="����������������������������������������������������������������廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠�怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛���".split("");for(a=0;a!=t[156].length;++a)if(t[156][a].charCodeAt(0)!==65533){r[t[156][a]]=39936+a;e[39936+a]=t[156][a]}t[157]="����������������������������������������������������������������戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫�捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼���".split("");for(a=0;a!=t[157].length;++a)if(t[157][a].charCodeAt(0)!==65533){r[t[157][a]]=40192+a;e[40192+a]=t[157][a]}t[158]="����������������������������������������������������������������曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎�梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣���".split("");for(a=0;a!=t[158].length;++a)if(t[158][a].charCodeAt(0)!==65533){r[t[158][a]]=40448+a;e[40448+a]=t[158][a]}t[159]="����������������������������������������������������������������檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯�麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌���".split("");for(a=0;a!=t[159].length;++a)if(t[159][a].charCodeAt(0)!==65533){r[t[159][a]]=40704+a;e[40704+a]=t[159][a]}t[224]="����������������������������������������������������������������漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝�烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱���".split("");for(a=0;a!=t[224].length;++a)if(t[224][a].charCodeAt(0)!==65533){r[t[224][a]]=57344+a;e[57344+a]=t[224][a]}t[225]="����������������������������������������������������������������瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿�痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬���".split("");for(a=0;a!=t[225].length;++a)if(t[225][a].charCodeAt(0)!==65533){r[t[225][a]]=57600+a;e[57600+a]=t[225][a]}t[226]="����������������������������������������������������������������磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰�窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆���".split("");for(a=0;a!=t[226].length;++a)if(t[226][a].charCodeAt(0)!==65533){r[t[226][a]]=57856+a;e[57856+a]=t[226][a]}t[227]="����������������������������������������������������������������紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷�縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋���".split("");for(a=0;a!=t[227].length;++a)if(t[227][a].charCodeAt(0)!==65533){r[t[227][a]]=58112+a;e[58112+a]=t[227][a]}t[228]="����������������������������������������������������������������隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤�艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈���".split("");for(a=0;a!=t[228].length;++a)if(t[228][a].charCodeAt(0)!==65533){r[t[228][a]]=58368+a;e[58368+a]=t[228][a]}t[229]="����������������������������������������������������������������蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬�蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞���".split("");for(a=0;a!=t[229].length;++a)if(t[229][a].charCodeAt(0)!==65533){r[t[229][a]]=58624+a;e[58624+a]=t[229][a]}t[230]="����������������������������������������������������������������襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧�諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊���".split("");for(a=0;a!=t[230].length;++a)if(t[230][a].charCodeAt(0)!==65533){r[t[230][a]]=58880+a;e[58880+a]=t[230][a]}t[231]="����������������������������������������������������������������蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜�轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮���".split("");for(a=0;a!=t[231].length;++a)if(t[231][a].charCodeAt(0)!==65533){r[t[231][a]]=59136+a;e[59136+a]=t[231][a]}t[232]="����������������������������������������������������������������錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙�閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰���".split("");for(a=0;a!=t[232].length;++a)if(t[232][a].charCodeAt(0)!==65533){r[t[232][a]]=59392+a;e[59392+a]=t[232][a]}t[233]="����������������������������������������������������������������顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃�騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈���".split("");for(a=0;a!=t[233].length;++a)if(t[233][a].charCodeAt(0)!==65533){r[t[233][a]]=59648+a;e[59648+a]=t[233][a]}t[234]="����������������������������������������������������������������鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯�黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠堯槇遙瑤凜熙�������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[234].length;++a)if(t[234][a].charCodeAt(0)!==65533){r[t[234][a]]=59904+a;e[59904+a]=t[234][a]}t[237]="����������������������������������������������������������������纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏�塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱���".split("");for(a=0;a!=t[237].length;++a)if(t[237][a].charCodeAt(0)!==65533){r[t[237][a]]=60672+a;e[60672+a]=t[237][a]}t[238]="����������������������������������������������������������������犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙�蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑��ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ¬¦'"���".split("");for(a=0;a!=t[238].length;++a)if(t[238][a].charCodeAt(0)!==65533){r[t[238][a]]=60928+a;e[60928+a]=t[238][a]}t[250]="����������������������������������������������������������������ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ¬¦'"㈱№℡∵纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊�兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯���".split("");for(a=0;a!=t[250].length;++a)if(t[250][a].charCodeAt(0)!==65533){r[t[250][a]]=64e3+a;e[64e3+a]=t[250][a]}t[251]="����������������������������������������������������������������涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神�祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙���".split("");for(a=0;a!=t[251].length;++a)if(t[251][a].charCodeAt(0)!==65533){r[t[251][a]]=64256+a;e[64256+a]=t[251][a]}t[252]="����������������������������������������������������������������髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[252].length;++a)if(t[252][a].charCodeAt(0)!==65533){r[t[252][a]]=64512+a;e[64512+a]=t[252][a]}return{enc:r,dec:e}}();cptable[936]=function(){var e=[],r={},t=[],a;t[0]="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�������������������������������������������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[0].length;++a)if(t[0][a].charCodeAt(0)!==65533){r[t[0][a]]=0+a;e[0+a]=t[0][a]}t[129]="����������������������������������������������������������������丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳丵丷丼乀乁乂乄乆乊乑乕乗乚乛乢乣乤乥乧乨乪乫乬乭乮乯乲乴乵乶乷乸乹乺乻乼乽乿亀亁亂亃亄亅亇亊�亐亖亗亙亜亝亞亣亪亯亰亱亴亶亷亸亹亼亽亾仈仌仏仐仒仚仛仜仠仢仦仧仩仭仮仯仱仴仸仹仺仼仾伀伂伃伄伅伆伇伈伋伌伒伓伔伕伖伜伝伡伣伨伩伬伭伮伱伳伵伷伹伻伾伿佀佁佂佄佅佇佈佉佊佋佌佒佔佖佡佢佦佨佪佫佭佮佱佲併佷佸佹佺佽侀侁侂侅來侇侊侌侎侐侒侓侕侖侘侙侚侜侞侟価侢�".split("");for(a=0;a!=t[129].length;++a)if(t[129][a].charCodeAt(0)!==65533){r[t[129][a]]=33024+a;e[33024+a]=t[129][a]}t[130]="����������������������������������������������������������������侤侫侭侰侱侲侳侴侶侷侸侹侺侻侼侽侾俀俁係俆俇俈俉俋俌俍俒俓俔俕俖俙俛俠俢俤俥俧俫俬俰俲俴俵俶俷俹俻俼俽俿倀倁倂倃倄倅倆倇倈倉倊�個倎倐們倓倕倖倗倛倝倞倠倢倣値倧倫倯倰倱倲倳倴倵倶倷倸倹倻倽倿偀偁偂偄偅偆偉偊偋偍偐偑偒偓偔偖偗偘偙偛偝偞偟偠偡偢偣偤偦偧偨偩偪偫偭偮偯偰偱偲偳側偵偸偹偺偼偽傁傂傃傄傆傇傉傊傋傌傎傏傐傑傒傓傔傕傖傗傘備傚傛傜傝傞傟傠傡傢傤傦傪傫傭傮傯傰傱傳傴債傶傷傸傹傼�".split("");for(a=0;a!=t[130].length;++a)if(t[130][a].charCodeAt(0)!==65533){r[t[130][a]]=33280+a;e[33280+a]=t[130][a]}t[131]="����������������������������������������������������������������傽傾傿僀僁僂僃僄僅僆僇僈僉僊僋僌働僎僐僑僒僓僔僕僗僘僙僛僜僝僞僟僠僡僢僣僤僥僨僩僪僫僯僰僱僲僴僶僷僸價僺僼僽僾僿儀儁儂儃億儅儈�儉儊儌儍儎儏儐儑儓儔儕儖儗儘儙儚儛儜儝儞償儠儢儣儤儥儦儧儨儩優儫儬儭儮儯儰儱儲儳儴儵儶儷儸儹儺儻儼儽儾兂兇兊兌兎兏児兒兓兗兘兙兛兝兞兟兠兡兣兤兦內兩兪兯兲兺兾兿冃冄円冇冊冋冎冏冐冑冓冔冘冚冝冞冟冡冣冦冧冨冩冪冭冮冴冸冹冺冾冿凁凂凃凅凈凊凍凎凐凒凓凔凕凖凗�".split("");for(a=0;a!=t[131].length;++a)if(t[131][a].charCodeAt(0)!==65533){r[t[131][a]]=33536+a;e[33536+a]=t[131][a]}t[132]="����������������������������������������������������������������凘凙凚凜凞凟凢凣凥処凧凨凩凪凬凮凱凲凴凷凾刄刅刉刋刌刏刐刓刔刕刜刞刟刡刢刣別刦刧刪刬刯刱刲刴刵刼刾剄剅剆則剈剉剋剎剏剒剓剕剗剘�剙剚剛剝剟剠剢剣剤剦剨剫剬剭剮剰剱剳剴創剶剷剸剹剺剻剼剾劀劃劄劅劆劇劉劊劋劌劍劎劏劑劒劔劕劖劗劘劙劚劜劤劥劦劧劮劯劰労劵劶劷劸効劺劻劼劽勀勁勂勄勅勆勈勊勌勍勎勏勑勓勔動勗務勚勛勜勝勞勠勡勢勣勥勦勧勨勩勪勫勬勭勮勯勱勲勳勴勵勶勷勸勻勼勽匁匂匃匄匇匉匊匋匌匎�".split("");for(a=0;a!=t[132].length;++a)if(t[132][a].charCodeAt(0)!==65533){r[t[132][a]]=33792+a;e[33792+a]=t[132][a]}t[133]="����������������������������������������������������������������匑匒匓匔匘匛匜匞匟匢匤匥匧匨匩匫匬匭匯匰匱匲匳匴匵匶匷匸匼匽區卂卄卆卋卌卍卐協単卙卛卝卥卨卪卬卭卲卶卹卻卼卽卾厀厁厃厇厈厊厎厏�厐厑厒厓厔厖厗厙厛厜厞厠厡厤厧厪厫厬厭厯厰厱厲厳厴厵厷厸厹厺厼厽厾叀參叄叅叆叇収叏叐叒叓叕叚叜叝叞叡叢叧叴叺叾叿吀吂吅吇吋吔吘吙吚吜吢吤吥吪吰吳吶吷吺吽吿呁呂呄呅呇呉呌呍呎呏呑呚呝呞呟呠呡呣呥呧呩呪呫呬呭呮呯呰呴呹呺呾呿咁咃咅咇咈咉咊咍咑咓咗咘咜咞咟咠咡�".split("");for(a=0;a!=t[133].length;++a)if(t[133][a].charCodeAt(0)!==65533){r[t[133][a]]=34048+a;e[34048+a]=t[133][a]}t[134]="����������������������������������������������������������������咢咥咮咰咲咵咶咷咹咺咼咾哃哅哊哋哖哘哛哠員哢哣哤哫哬哯哰哱哴哵哶哷哸哹哻哾唀唂唃唄唅唈唊唋唌唍唎唒唓唕唖唗唘唙唚唜唝唞唟唡唥唦�唨唩唫唭唲唴唵唶唸唹唺唻唽啀啂啅啇啈啋啌啍啎問啑啒啓啔啗啘啙啚啛啝啞啟啠啢啣啨啩啫啯啰啱啲啳啴啹啺啽啿喅喆喌喍喎喐喒喓喕喖喗喚喛喞喠喡喢喣喤喥喦喨喩喪喫喬喭單喯喰喲喴営喸喺喼喿嗀嗁嗂嗃嗆嗇嗈嗊嗋嗎嗏嗐嗕嗗嗘嗙嗚嗛嗞嗠嗢嗧嗩嗭嗮嗰嗱嗴嗶嗸嗹嗺嗻嗼嗿嘂嘃嘄嘅�".split("");for(a=0;a!=t[134].length;++a)if(t[134][a].charCodeAt(0)!==65533){r[t[134][a]]=34304+a;e[34304+a]=t[134][a]}t[135]="����������������������������������������������������������������嘆嘇嘊嘋嘍嘐嘑嘒嘓嘔嘕嘖嘗嘙嘚嘜嘝嘠嘡嘢嘥嘦嘨嘩嘪嘫嘮嘯嘰嘳嘵嘷嘸嘺嘼嘽嘾噀噁噂噃噄噅噆噇噈噉噊噋噏噐噑噒噓噕噖噚噛噝噞噟噠噡�噣噥噦噧噭噮噯噰噲噳噴噵噷噸噹噺噽噾噿嚀嚁嚂嚃嚄嚇嚈嚉嚊嚋嚌嚍嚐嚑嚒嚔嚕嚖嚗嚘嚙嚚嚛嚜嚝嚞嚟嚠嚡嚢嚤嚥嚦嚧嚨嚩嚪嚫嚬嚭嚮嚰嚱嚲嚳嚴嚵嚶嚸嚹嚺嚻嚽嚾嚿囀囁囂囃囄囅囆囇囈囉囋囌囍囎囏囐囑囒囓囕囖囘囙囜団囥囦囧囨囩囪囬囮囯囲図囶囷囸囻囼圀圁圂圅圇國圌圍圎圏圐圑�".split("");for(a=0;a!=t[135].length;++a)if(t[135][a].charCodeAt(0)!==65533){r[t[135][a]]=34560+a;e[34560+a]=t[135][a]}t[136]="����������������������������������������������������������������園圓圔圕圖圗團圙圚圛圝圞圠圡圢圤圥圦圧圫圱圲圴圵圶圷圸圼圽圿坁坃坄坅坆坈坉坋坒坓坔坕坖坘坙坢坣坥坧坬坮坰坱坲坴坵坸坹坺坽坾坿垀�垁垇垈垉垊垍垎垏垐垑垔垕垖垗垘垙垚垜垝垞垟垥垨垪垬垯垰垱垳垵垶垷垹垺垻垼垽垾垿埀埁埄埅埆埇埈埉埊埌埍埐埑埓埖埗埛埜埞埡埢埣埥埦埧埨埩埪埫埬埮埰埱埲埳埵埶執埻埼埾埿堁堃堄堅堈堉堊堌堎堏堐堒堓堔堖堗堘堚堛堜堝堟堢堣堥堦堧堨堩堫堬堭堮堯報堲堳場堶堷堸堹堺堻堼堽�".split("");for(a=0;a!=t[136].length;++a)if(t[136][a].charCodeAt(0)!==65533){r[t[136][a]]=34816+a;e[34816+a]=t[136][a]}t[137]="����������������������������������������������������������������堾堿塀塁塂塃塅塆塇塈塉塊塋塎塏塐塒塓塕塖塗塙塚塛塜塝塟塠塡塢塣塤塦塧塨塩塪塭塮塯塰塱塲塳塴塵塶塷塸塹塺塻塼塽塿墂墄墆墇墈墊墋墌�墍墎墏墐墑墔墕墖増墘墛墜墝墠墡墢墣墤墥墦墧墪墫墬墭墮墯墰墱墲墳墴墵墶墷墸墹墺墻墽墾墿壀壂壃壄壆壇壈壉壊壋壌壍壎壏壐壒壓壔壖壗壘壙壚壛壜壝壞壟壠壡壢壣壥壦壧壨壩壪壭壯壱売壴壵壷壸壺壻壼壽壾壿夀夁夃夅夆夈変夊夋夌夎夐夑夒夓夗夘夛夝夞夠夡夢夣夦夨夬夰夲夳夵夶夻�".split("");for(a=0;a!=t[137].length;++a)if(t[137][a].charCodeAt(0)!==65533){r[t[137][a]]=35072+a;e[35072+a]=t[137][a]}t[138]="����������������������������������������������������������������夽夾夿奀奃奅奆奊奌奍奐奒奓奙奛奜奝奞奟奡奣奤奦奧奨奩奪奫奬奭奮奯奰奱奲奵奷奺奻奼奾奿妀妅妉妋妌妎妏妐妑妔妕妘妚妛妜妝妟妠妡妢妦�妧妬妭妰妱妳妴妵妶妷妸妺妼妽妿姀姁姂姃姄姅姇姈姉姌姍姎姏姕姖姙姛姞姟姠姡姢姤姦姧姩姪姫姭姮姯姰姱姲姳姴姵姶姷姸姺姼姽姾娀娂娊娋娍娎娏娐娒娔娕娖娗娙娚娛娝娞娡娢娤娦娧娨娪娫娬娭娮娯娰娳娵娷娸娹娺娻娽娾娿婁婂婃婄婅婇婈婋婌婍婎婏婐婑婒婓婔婖婗婘婙婛婜婝婞婟婠�".split("");for(a=0;a!=t[138].length;++a)if(t[138][a].charCodeAt(0)!==65533){r[t[138][a]]=35328+a;e[35328+a]=t[138][a]}t[139]="����������������������������������������������������������������婡婣婤婥婦婨婩婫婬婭婮婯婰婱婲婳婸婹婻婼婽婾媀媁媂媃媄媅媆媇媈媉媊媋媌媍媎媏媐媑媓媔媕媖媗媘媙媜媝媞媟媠媡媢媣媤媥媦媧媨媩媫媬�媭媮媯媰媱媴媶媷媹媺媻媼媽媿嫀嫃嫄嫅嫆嫇嫈嫊嫋嫍嫎嫏嫐嫑嫓嫕嫗嫙嫚嫛嫝嫞嫟嫢嫤嫥嫧嫨嫪嫬嫭嫮嫯嫰嫲嫳嫴嫵嫶嫷嫸嫹嫺嫻嫼嫽嫾嫿嬀嬁嬂嬃嬄嬅嬆嬇嬈嬊嬋嬌嬍嬎嬏嬐嬑嬒嬓嬔嬕嬘嬙嬚嬛嬜嬝嬞嬟嬠嬡嬢嬣嬤嬥嬦嬧嬨嬩嬪嬫嬬嬭嬮嬯嬰嬱嬳嬵嬶嬸嬹嬺嬻嬼嬽嬾嬿孁孂孃孄孅孆孇�".split("");for(a=0;a!=t[139].length;++a)if(t[139][a].charCodeAt(0)!==65533){r[t[139][a]]=35584+a;e[35584+a]=t[139][a]}t[140]="����������������������������������������������������������������孈孉孊孋孌孍孎孏孒孖孞孠孡孧孨孫孭孮孯孲孴孶孷學孹孻孼孾孿宂宆宊宍宎宐宑宒宔宖実宧宨宩宬宭宮宯宱宲宷宺宻宼寀寁寃寈寉寊寋寍寎寏�寑寔寕寖寗寘寙寚寛寜寠寢寣實寧審寪寫寬寭寯寱寲寳寴寵寶寷寽対尀専尃尅將專尋尌對導尐尒尓尗尙尛尞尟尠尡尣尦尨尩尪尫尭尮尯尰尲尳尵尶尷屃屄屆屇屌屍屒屓屔屖屗屘屚屛屜屝屟屢層屧屨屩屪屫屬屭屰屲屳屴屵屶屷屸屻屼屽屾岀岃岄岅岆岇岉岊岋岎岏岒岓岕岝岞岟岠岡岤岥岦岧岨�".split("");for(a=0;a!=t[140].length;++a)if(t[140][a].charCodeAt(0)!==65533){r[t[140][a]]=35840+a;e[35840+a]=t[140][a]}t[141]="����������������������������������������������������������������岪岮岯岰岲岴岶岹岺岻岼岾峀峂峃峅峆峇峈峉峊峌峍峎峏峐峑峓峔峕峖峗峘峚峛峜峝峞峟峠峢峣峧峩峫峬峮峯峱峲峳峴峵島峷峸峹峺峼峽峾峿崀�崁崄崅崈崉崊崋崌崍崏崐崑崒崓崕崗崘崙崚崜崝崟崠崡崢崣崥崨崪崫崬崯崰崱崲崳崵崶崷崸崹崺崻崼崿嵀嵁嵂嵃嵄嵅嵆嵈嵉嵍嵎嵏嵐嵑嵒嵓嵔嵕嵖嵗嵙嵚嵜嵞嵟嵠嵡嵢嵣嵤嵥嵦嵧嵨嵪嵭嵮嵰嵱嵲嵳嵵嵶嵷嵸嵹嵺嵻嵼嵽嵾嵿嶀嶁嶃嶄嶅嶆嶇嶈嶉嶊嶋嶌嶍嶎嶏嶐嶑嶒嶓嶔嶕嶖嶗嶘嶚嶛嶜嶞嶟嶠�".split("");for(a=0;a!=t[141].length;++a)if(t[141][a].charCodeAt(0)!==65533){r[t[141][a]]=36096+a;e[36096+a]=t[141][a]}t[142]="����������������������������������������������������������������嶡嶢嶣嶤嶥嶦嶧嶨嶩嶪嶫嶬嶭嶮嶯嶰嶱嶲嶳嶴嶵嶶嶸嶹嶺嶻嶼嶽嶾嶿巀巁巂巃巄巆巇巈巉巊巋巌巎巏巐巑巒巓巔巕巖巗巘巙巚巜巟巠巣巤巪巬巭�巰巵巶巸巹巺巻巼巿帀帄帇帉帊帋帍帎帒帓帗帞帟帠帡帢帣帤帥帨帩帪師帬帯帰帲帳帴帵帶帹帺帾帿幀幁幃幆幇幈幉幊幋幍幎幏幐幑幒幓幖幗幘幙幚幜幝幟幠幣幤幥幦幧幨幩幪幫幬幭幮幯幰幱幵幷幹幾庁庂広庅庈庉庌庍庎庒庘庛庝庡庢庣庤庨庩庪庫庬庮庯庰庱庲庴庺庻庼庽庿廀廁廂廃廄廅�".split("");for(a=0;a!=t[142].length;++a)if(t[142][a].charCodeAt(0)!==65533){r[t[142][a]]=36352+a;e[36352+a]=t[142][a]}t[143]="����������������������������������������������������������������廆廇廈廋廌廍廎廏廐廔廕廗廘廙廚廜廝廞廟廠廡廢廣廤廥廦廧廩廫廬廭廮廯廰廱廲廳廵廸廹廻廼廽弅弆弇弉弌弍弎弐弒弔弖弙弚弜弝弞弡弢弣弤�弨弫弬弮弰弲弳弴張弶強弸弻弽弾弿彁彂彃彄彅彆彇彈彉彊彋彌彍彎彏彑彔彙彚彛彜彞彟彠彣彥彧彨彫彮彯彲彴彵彶彸彺彽彾彿徃徆徍徎徏徑従徔徖徚徛徝從徟徠徢徣徤徥徦徧復徫徬徯徰徱徲徳徴徶徸徹徺徻徾徿忀忁忂忇忈忊忋忎忓忔忕忚忛応忞忟忢忣忥忦忨忩忬忯忰忲忳忴忶忷忹忺忼怇�".split("");for(a=0;a!=t[143].length;++a)if(t[143][a].charCodeAt(0)!==65533){r[t[143][a]]=36608+a;e[36608+a]=t[143][a]}t[144]="����������������������������������������������������������������怈怉怋怌怐怑怓怗怘怚怞怟怢怣怤怬怭怮怰怱怲怳怴怶怷怸怹怺怽怾恀恄恅恆恇恈恉恊恌恎恏恑恓恔恖恗恘恛恜恞恟恠恡恥恦恮恱恲恴恵恷恾悀�悁悂悅悆悇悈悊悋悎悏悐悑悓悕悗悘悙悜悞悡悢悤悥悧悩悪悮悰悳悵悶悷悹悺悽悾悿惀惁惂惃惄惇惈惉惌惍惎惏惐惒惓惔惖惗惙惛惞惡惢惣惤惥惪惱惲惵惷惸惻惼惽惾惿愂愃愄愅愇愊愋愌愐愑愒愓愔愖愗愘愙愛愜愝愞愡愢愥愨愩愪愬愭愮愯愰愱愲愳愴愵愶愷愸愹愺愻愼愽愾慀慁慂慃慄慅慆�".split("");for(a=0;a!=t[144].length;++a)if(t[144][a].charCodeAt(0)!==65533){r[t[144][a]]=36864+a;e[36864+a]=t[144][a]}t[145]="����������������������������������������������������������������慇慉態慍慏慐慒慓慔慖慗慘慙慚慛慜慞慟慠慡慣慤慥慦慩慪慫慬慭慮慯慱慲慳慴慶慸慹慺慻慼慽慾慿憀憁憂憃憄憅憆憇憈憉憊憌憍憏憐憑憒憓憕�憖憗憘憙憚憛憜憞憟憠憡憢憣憤憥憦憪憫憭憮憯憰憱憲憳憴憵憶憸憹憺憻憼憽憿懀懁懃懄懅懆懇應懌懍懎懏懐懓懕懖懗懘懙懚懛懜懝懞懟懠懡懢懣懤懥懧懨懩懪懫懬懭懮懯懰懱懲懳懴懶懷懸懹懺懻懼懽懾戀戁戂戃戄戅戇戉戓戔戙戜戝戞戠戣戦戧戨戩戫戭戯戰戱戲戵戶戸戹戺戻戼扂扄扅扆扊�".split("");for(a=0;a!=t[145].length;++a)if(t[145][a].charCodeAt(0)!==65533){r[t[145][a]]=37120+a;e[37120+a]=t[145][a]}t[146]="����������������������������������������������������������������扏扐払扖扗扙扚扜扝扞扟扠扡扢扤扥扨扱扲扴扵扷扸扺扻扽抁抂抃抅抆抇抈抋抌抍抎抏抐抔抙抜抝択抣抦抧抩抪抭抮抯抰抲抳抴抶抷抸抺抾拀拁�拃拋拏拑拕拝拞拠拡拤拪拫拰拲拵拸拹拺拻挀挃挄挅挆挊挋挌挍挏挐挒挓挔挕挗挘挙挜挦挧挩挬挭挮挰挱挳挴挵挶挷挸挻挼挾挿捀捁捄捇捈捊捑捒捓捔捖捗捘捙捚捛捜捝捠捤捥捦捨捪捫捬捯捰捲捳捴捵捸捹捼捽捾捿掁掃掄掅掆掋掍掑掓掔掕掗掙掚掛掜掝掞掟採掤掦掫掯掱掲掵掶掹掻掽掿揀�".split("");for(a=0;a!=t[146].length;++a)if(t[146][a].charCodeAt(0)!==65533){r[t[146][a]]=37376+a;e[37376+a]=t[146][a]}t[147]="����������������������������������������������������������������揁揂揃揅揇揈揊揋揌揑揓揔揕揗揘揙揚換揜揝揟揢揤揥揦揧揨揫揬揮揯揰揱揳揵揷揹揺揻揼揾搃搄搆搇搈搉搊損搎搑搒搕搖搗搘搙搚搝搟搢搣搤�搥搧搨搩搫搮搯搰搱搲搳搵搶搷搸搹搻搼搾摀摂摃摉摋摌摍摎摏摐摑摓摕摖摗摙摚摛摜摝摟摠摡摢摣摤摥摦摨摪摫摬摮摯摰摱摲摳摴摵摶摷摻摼摽摾摿撀撁撃撆撈撉撊撋撌撍撎撏撐撓撔撗撘撚撛撜撝撟撠撡撢撣撥撦撧撨撪撫撯撱撲撳撴撶撹撻撽撾撿擁擃擄擆擇擈擉擊擋擌擏擑擓擔擕擖擙據�".split("");for(a=0;a!=t[147].length;++a)if(t[147][a].charCodeAt(0)!==65533){r[t[147][a]]=37632+a;e[37632+a]=t[147][a]}t[148]="����������������������������������������������������������������擛擜擝擟擠擡擣擥擧擨擩擪擫擬擭擮擯擰擱擲擳擴擵擶擷擸擹擺擻擼擽擾擿攁攂攃攄攅攆攇攈攊攋攌攍攎攏攐攑攓攔攕攖攗攙攚攛攜攝攞攟攠攡�攢攣攤攦攧攨攩攪攬攭攰攱攲攳攷攺攼攽敀敁敂敃敄敆敇敊敋敍敎敐敒敓敔敗敘敚敜敟敠敡敤敥敧敨敩敪敭敮敯敱敳敵敶數敹敺敻敼敽敾敿斀斁斂斃斄斅斆斈斉斊斍斎斏斒斔斕斖斘斚斝斞斠斢斣斦斨斪斬斮斱斲斳斴斵斶斷斸斺斻斾斿旀旂旇旈旉旊旍旐旑旓旔旕旘旙旚旛旜旝旞旟旡旣旤旪旫�".split("");for(a=0;a!=t[148].length;++a)if(t[148][a].charCodeAt(0)!==65533){r[t[148][a]]=37888+a;e[37888+a]=t[148][a]}t[149]="����������������������������������������������������������������旲旳旴旵旸旹旻旼旽旾旿昁昄昅昇昈昉昋昍昐昑昒昖昗昘昚昛昜昞昡昢昣昤昦昩昪昫昬昮昰昲昳昷昸昹昺昻昽昿晀時晄晅晆晇晈晉晊晍晎晐晑晘�晙晛晜晝晞晠晢晣晥晧晩晪晫晬晭晱晲晳晵晸晹晻晼晽晿暀暁暃暅暆暈暉暊暋暍暎暏暐暒暓暔暕暘暙暚暛暜暞暟暠暡暢暣暤暥暦暩暪暫暬暭暯暰暱暲暳暵暶暷暸暺暻暼暽暿曀曁曂曃曄曅曆曇曈曉曊曋曌曍曎曏曐曑曒曓曔曕曖曗曘曚曞曟曠曡曢曣曤曥曧曨曪曫曬曭曮曯曱曵曶書曺曻曽朁朂會�".split("");for(a=0;a!=t[149].length;++a)if(t[149][a].charCodeAt(0)!==65533){r[t[149][a]]=38144+a;e[38144+a]=t[149][a]}t[150]="����������������������������������������������������������������朄朅朆朇朌朎朏朑朒朓朖朘朙朚朜朞朠朡朢朣朤朥朧朩朮朰朲朳朶朷朸朹朻朼朾朿杁杄杅杇杊杋杍杒杔杕杗杘杙杚杛杝杢杣杤杦杧杫杬杮東杴杶�杸杹杺杻杽枀枂枃枅枆枈枊枌枍枎枏枑枒枓枔枖枙枛枟枠枡枤枦枩枬枮枱枲枴枹枺枻枼枽枾枿柀柂柅柆柇柈柉柊柋柌柍柎柕柖柗柛柟柡柣柤柦柧柨柪柫柭柮柲柵柶柷柸柹柺査柼柾栁栂栃栄栆栍栐栒栔栕栘栙栚栛栜栞栟栠栢栣栤栥栦栧栨栫栬栭栮栯栰栱栴栵栶栺栻栿桇桋桍桏桒桖桗桘桙桚桛�".split("");for(a=0;a!=t[150].length;++a)if(t[150][a].charCodeAt(0)!==65533){r[t[150][a]]=38400+a;e[38400+a]=t[150][a]}t[151]="����������������������������������������������������������������桜桝桞桟桪桬桭桮桯桰桱桲桳桵桸桹桺桻桼桽桾桿梀梂梄梇梈梉梊梋梌梍梎梐梑梒梔梕梖梘梙梚梛梜條梞梟梠梡梣梤梥梩梪梫梬梮梱梲梴梶梷梸�梹梺梻梼梽梾梿棁棃棄棅棆棇棈棊棌棎棏棐棑棓棔棖棗棙棛棜棝棞棟棡棢棤棥棦棧棨棩棪棫棬棭棯棲棳棴棶棷棸棻棽棾棿椀椂椃椄椆椇椈椉椊椌椏椑椓椔椕椖椗椘椙椚椛検椝椞椡椢椣椥椦椧椨椩椪椫椬椮椯椱椲椳椵椶椷椸椺椻椼椾楀楁楃楄楅楆楇楈楉楊楋楌楍楎楏楐楑楒楓楕楖楘楙楛楜楟�".split("");for(a=0;a!=t[151].length;++a)if(t[151][a].charCodeAt(0)!==65533){r[t[151][a]]=38656+a;e[38656+a]=t[151][a]}t[152]="����������������������������������������������������������������楡楢楤楥楧楨楩楪楬業楯楰楲楳楴極楶楺楻楽楾楿榁榃榅榊榋榌榎榏榐榑榒榓榖榗榙榚榝榞榟榠榡榢榣榤榥榦榩榪榬榮榯榰榲榳榵榶榸榹榺榼榽�榾榿槀槂槃槄槅槆槇槈槉構槍槏槑槒槓槕槖槗様槙槚槜槝槞槡槢槣槤槥槦槧槨槩槪槫槬槮槯槰槱槳槴槵槶槷槸槹槺槻槼槾樀樁樂樃樄樅樆樇樈樉樋樌樍樎樏樐樑樒樓樔樕樖標樚樛樜樝樞樠樢樣樤樥樦樧権樫樬樭樮樰樲樳樴樶樷樸樹樺樻樼樿橀橁橂橃橅橆橈橉橊橋橌橍橎橏橑橒橓橔橕橖橗橚�".split("");for(a=0;a!=t[152].length;++a)if(t[152][a].charCodeAt(0)!==65533){r[t[152][a]]=38912+a;e[38912+a]=t[152][a]; +}t[153]="����������������������������������������������������������������橜橝橞機橠橢橣橤橦橧橨橩橪橫橬橭橮橯橰橲橳橴橵橶橷橸橺橻橽橾橿檁檂檃檅檆檇檈檉檊檋檌檍檏檒檓檔檕檖檘檙檚檛檜檝檞檟檡檢檣檤檥檦�檧檨檪檭檮檯檰檱檲檳檴檵檶檷檸檹檺檻檼檽檾檿櫀櫁櫂櫃櫄櫅櫆櫇櫈櫉櫊櫋櫌櫍櫎櫏櫐櫑櫒櫓櫔櫕櫖櫗櫘櫙櫚櫛櫜櫝櫞櫟櫠櫡櫢櫣櫤櫥櫦櫧櫨櫩櫪櫫櫬櫭櫮櫯櫰櫱櫲櫳櫴櫵櫶櫷櫸櫹櫺櫻櫼櫽櫾櫿欀欁欂欃欄欅欆欇欈欉權欋欌欍欎欏欐欑欒欓欔欕欖欗欘欙欚欛欜欝欞欟欥欦欨欩欪欫欬欭欮�".split("");for(a=0;a!=t[153].length;++a)if(t[153][a].charCodeAt(0)!==65533){r[t[153][a]]=39168+a;e[39168+a]=t[153][a]}t[154]="����������������������������������������������������������������欯欰欱欳欴欵欶欸欻欼欽欿歀歁歂歄歅歈歊歋歍歎歏歐歑歒歓歔歕歖歗歘歚歛歜歝歞歟歠歡歨歩歫歬歭歮歯歰歱歲歳歴歵歶歷歸歺歽歾歿殀殅殈�殌殎殏殐殑殔殕殗殘殙殜殝殞殟殠殢殣殤殥殦殧殨殩殫殬殭殮殯殰殱殲殶殸殹殺殻殼殽殾毀毃毄毆毇毈毉毊毌毎毐毑毘毚毜毝毞毟毠毢毣毤毥毦毧毨毩毬毭毮毰毱毲毴毶毷毸毺毻毼毾毿氀氁氂氃氄氈氉氊氋氌氎氒気氜氝氞氠氣氥氫氬氭氱氳氶氷氹氺氻氼氾氿汃汄汅汈汋汌汍汎汏汑汒汓汖汘�".split("");for(a=0;a!=t[154].length;++a)if(t[154][a].charCodeAt(0)!==65533){r[t[154][a]]=39424+a;e[39424+a]=t[154][a]}t[155]="����������������������������������������������������������������汙汚汢汣汥汦汧汫汬汭汮汯汱汳汵汷汸決汻汼汿沀沄沇沊沋沍沎沑沒沕沖沗沘沚沜沝沞沠沢沨沬沯沰沴沵沶沷沺泀況泂泃泆泇泈泋泍泎泏泑泒泘�泙泚泜泝泟泤泦泧泩泬泭泲泴泹泿洀洂洃洅洆洈洉洊洍洏洐洑洓洔洕洖洘洜洝洟洠洡洢洣洤洦洨洩洬洭洯洰洴洶洷洸洺洿浀浂浄浉浌浐浕浖浗浘浛浝浟浡浢浤浥浧浨浫浬浭浰浱浲浳浵浶浹浺浻浽浾浿涀涁涃涄涆涇涊涋涍涏涐涒涖涗涘涙涚涜涢涥涬涭涰涱涳涴涶涷涹涺涻涼涽涾淁淂淃淈淉淊�".split("");for(a=0;a!=t[155].length;++a)if(t[155][a].charCodeAt(0)!==65533){r[t[155][a]]=39680+a;e[39680+a]=t[155][a]}t[156]="����������������������������������������������������������������淍淎淏淐淒淓淔淕淗淚淛淜淟淢淣淥淧淨淩淪淭淯淰淲淴淵淶淸淺淽淾淿渀渁渂渃渄渆渇済渉渋渏渒渓渕渘渙減渜渞渟渢渦渧渨渪測渮渰渱渳渵�渶渷渹渻渼渽渾渿湀湁湂湅湆湇湈湉湊湋湌湏湐湑湒湕湗湙湚湜湝湞湠湡湢湣湤湥湦湧湨湩湪湬湭湯湰湱湲湳湴湵湶湷湸湹湺湻湼湽満溁溂溄溇溈溊溋溌溍溎溑溒溓溔溕準溗溙溚溛溝溞溠溡溣溤溦溨溩溫溬溭溮溰溳溵溸溹溼溾溿滀滃滄滅滆滈滉滊滌滍滎滐滒滖滘滙滛滜滝滣滧滪滫滬滭滮滯�".split("");for(a=0;a!=t[156].length;++a)if(t[156][a].charCodeAt(0)!==65533){r[t[156][a]]=39936+a;e[39936+a]=t[156][a]}t[157]="����������������������������������������������������������������滰滱滲滳滵滶滷滸滺滻滼滽滾滿漀漁漃漄漅漇漈漊漋漌漍漎漐漑漒漖漗漘漙漚漛漜漝漞漟漡漢漣漥漦漧漨漬漮漰漲漴漵漷漸漹漺漻漼漽漿潀潁潂�潃潄潅潈潉潊潌潎潏潐潑潒潓潔潕潖潗潙潚潛潝潟潠潡潣潤潥潧潨潩潪潫潬潯潰潱潳潵潶潷潹潻潽潾潿澀澁澂澃澅澆澇澊澋澏澐澑澒澓澔澕澖澗澘澙澚澛澝澞澟澠澢澣澤澥澦澨澩澪澫澬澭澮澯澰澱澲澴澵澷澸澺澻澼澽澾澿濁濃濄濅濆濇濈濊濋濌濍濎濏濐濓濔濕濖濗濘濙濚濛濜濝濟濢濣濤濥�".split("");for(a=0;a!=t[157].length;++a)if(t[157][a].charCodeAt(0)!==65533){r[t[157][a]]=40192+a;e[40192+a]=t[157][a]}t[158]="����������������������������������������������������������������濦濧濨濩濪濫濬濭濰濱濲濳濴濵濶濷濸濹濺濻濼濽濾濿瀀瀁瀂瀃瀄瀅瀆瀇瀈瀉瀊瀋瀌瀍瀎瀏瀐瀒瀓瀔瀕瀖瀗瀘瀙瀜瀝瀞瀟瀠瀡瀢瀤瀥瀦瀧瀨瀩瀪�瀫瀬瀭瀮瀯瀰瀱瀲瀳瀴瀶瀷瀸瀺瀻瀼瀽瀾瀿灀灁灂灃灄灅灆灇灈灉灊灋灍灎灐灑灒灓灔灕灖灗灘灙灚灛灜灝灟灠灡灢灣灤灥灦灧灨灩灪灮灱灲灳灴灷灹灺灻災炁炂炃炄炆炇炈炋炌炍炏炐炑炓炗炘炚炛炞炟炠炡炢炣炤炥炦炧炨炩炪炰炲炴炵炶為炾炿烄烅烆烇烉烋烌烍烎烏烐烑烒烓烔烕烖烗烚�".split("");for(a=0;a!=t[158].length;++a)if(t[158][a].charCodeAt(0)!==65533){r[t[158][a]]=40448+a;e[40448+a]=t[158][a]}t[159]="����������������������������������������������������������������烜烝烞烠烡烢烣烥烪烮烰烱烲烳烴烵烶烸烺烻烼烾烿焀焁焂焃焄焅焆焇焈焋焌焍焎焏焑焒焔焗焛焜焝焞焟焠無焢焣焤焥焧焨焩焪焫焬焭焮焲焳焴�焵焷焸焹焺焻焼焽焾焿煀煁煂煃煄煆煇煈煉煋煍煏煐煑煒煓煔煕煖煗煘煙煚煛煝煟煠煡煢煣煥煩煪煫煬煭煯煰煱煴煵煶煷煹煻煼煾煿熀熁熂熃熅熆熇熈熉熋熌熍熎熐熑熒熓熕熖熗熚熛熜熝熞熡熢熣熤熥熦熧熩熪熫熭熮熯熰熱熲熴熶熷熸熺熻熼熽熾熿燀燁燂燄燅燆燇燈燉燊燋燌燍燏燐燑燒燓�".split("");for(a=0;a!=t[159].length;++a)if(t[159][a].charCodeAt(0)!==65533){r[t[159][a]]=40704+a;e[40704+a]=t[159][a]}t[160]="����������������������������������������������������������������燖燗燘燙燚燛燜燝燞營燡燢燣燤燦燨燩燪燫燬燭燯燰燱燲燳燴燵燶燷燸燺燻燼燽燾燿爀爁爂爃爄爅爇爈爉爊爋爌爍爎爏爐爑爒爓爔爕爖爗爘爙爚�爛爜爞爟爠爡爢爣爤爥爦爧爩爫爭爮爯爲爳爴爺爼爾牀牁牂牃牄牅牆牉牊牋牎牏牐牑牓牔牕牗牘牚牜牞牠牣牤牥牨牪牫牬牭牰牱牳牴牶牷牸牻牼牽犂犃犅犆犇犈犉犌犎犐犑犓犔犕犖犗犘犙犚犛犜犝犞犠犡犢犣犤犥犦犧犨犩犪犫犮犱犲犳犵犺犻犼犽犾犿狀狅狆狇狉狊狋狌狏狑狓狔狕狖狘狚狛�".split("");for(a=0;a!=t[160].length;++a)if(t[160][a].charCodeAt(0)!==65533){r[t[160][a]]=40960+a;e[40960+a]=t[160][a]}t[161]="����������������������������������������������������������������������������������������������������������������������������������������������������������������� 、。·ˉˇ¨〃々—~‖…‘’“”〔〕〈〉《》「」『』〖〗【】±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵∴♂♀°′″℃$¤¢£‰§№☆★○●◎◇◆□■△▲※→←↑↓〓�".split("");for(a=0;a!=t[161].length;++a)if(t[161][a].charCodeAt(0)!==65533){r[t[161][a]]=41216+a;e[41216+a]=t[161][a]}t[162]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ������⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇①②③④⑤⑥⑦⑧⑨⑩��㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩��ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ���".split("");for(a=0;a!=t[162].length;++a)if(t[162][a].charCodeAt(0)!==65533){r[t[162][a]]=41472+a;e[41472+a]=t[162][a]}t[163]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������!"#¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|} ̄�".split("");for(a=0;a!=t[163].length;++a)if(t[163][a].charCodeAt(0)!==65533){r[t[163][a]]=41728+a;e[41728+a]=t[163][a]}t[164]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������".split("");for(a=0;a!=t[164].length;++a)if(t[164][a].charCodeAt(0)!==65533){r[t[164][a]]=41984+a;e[41984+a]=t[164][a]}t[165]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������".split("");for(a=0;a!=t[165].length;++a)if(t[165][a].charCodeAt(0)!==65533){r[t[165][a]]=42240+a;e[42240+a]=t[165][a]}t[166]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�������︵︶︹︺︿﹀︽︾﹁﹂﹃﹄��︻︼︷︸︱�︳︴����������".split("");for(a=0;a!=t[166].length;++a)if(t[166][a].charCodeAt(0)!==65533){r[t[166][a]]=42496+a;e[42496+a]=t[166][a]}t[167]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������".split("");for(a=0;a!=t[167].length;++a)if(t[167][a].charCodeAt(0)!==65533){r[t[167][a]]=42752+a;e[42752+a]=t[167][a]}t[168]="����������������������������������������������������������������ˊˋ˙–―‥‵℅℉↖↗↘↙∕∟∣≒≦≧⊿═║╒╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡╢╣╤╥╦╧╨╩╪╫╬╭╮╯╰╱╲╳▁▂▃▄▅▆▇�█▉▊▋▌▍▎▏▓▔▕▼▽◢◣◤◥☉⊕〒〝〞�����������āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüêɑ�ńň�ɡ����ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ����������������������".split("");for(a=0;a!=t[168].length;++a)if(t[168][a].charCodeAt(0)!==65533){r[t[168][a]]=43008+a;e[43008+a]=t[168][a]}t[169]="����������������������������������������������������������������〡〢〣〤〥〦〧〨〩㊣㎎㎏㎜㎝㎞㎡㏄㏎㏑㏒㏕︰¬¦�℡㈱�‐���ー゛゜ヽヾ〆ゝゞ﹉﹊﹋﹌﹍﹎﹏﹐﹑﹒﹔﹕﹖﹗﹙﹚﹛﹜﹝﹞﹟﹠﹡�﹢﹣﹤﹥﹦﹨﹩﹪﹫�������������〇�������������─━│┃┄┅┆┇┈┉┊┋┌┍┎┏┐┑┒┓└┕┖┗┘┙┚┛├┝┞┟┠┡┢┣┤┥┦┧┨┩┪┫┬┭┮┯┰┱┲┳┴┵┶┷┸┹┺┻┼┽┾┿╀╁╂╃╄╅╆╇╈╉╊╋����������������".split("");for(a=0;a!=t[169].length;++a)if(t[169][a].charCodeAt(0)!==65533){r[t[169][a]]=43264+a;e[43264+a]=t[169][a]}t[170]="����������������������������������������������������������������狜狝狟狢狣狤狥狦狧狪狫狵狶狹狽狾狿猀猂猄猅猆猇猈猉猋猌猍猏猐猑猒猔猘猙猚猟猠猣猤猦猧猨猭猯猰猲猳猵猶猺猻猼猽獀獁獂獃獄獅獆獇獈�獉獊獋獌獎獏獑獓獔獕獖獘獙獚獛獜獝獞獟獡獢獣獤獥獦獧獨獩獪獫獮獰獱�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[170].length;++a)if(t[170][a].charCodeAt(0)!==65533){r[t[170][a]]=43520+a;e[43520+a]=t[170][a]}t[171]="����������������������������������������������������������������獲獳獴獵獶獷獸獹獺獻獼獽獿玀玁玂玃玅玆玈玊玌玍玏玐玒玓玔玕玗玘玙玚玜玝玞玠玡玣玤玥玦玧玨玪玬玭玱玴玵玶玸玹玼玽玾玿珁珃珄珅珆珇�珋珌珎珒珓珔珕珖珗珘珚珛珜珝珟珡珢珣珤珦珨珪珫珬珮珯珰珱珳珴珵珶珷�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[171].length;++a)if(t[171][a].charCodeAt(0)!==65533){r[t[171][a]]=43776+a;e[43776+a]=t[171][a]}t[172]="����������������������������������������������������������������珸珹珺珻珼珽現珿琀琁琂琄琇琈琋琌琍琎琑琒琓琔琕琖琗琘琙琜琝琞琟琠琡琣琤琧琩琫琭琯琱琲琷琸琹琺琻琽琾琿瑀瑂瑃瑄瑅瑆瑇瑈瑉瑊瑋瑌瑍�瑎瑏瑐瑑瑒瑓瑔瑖瑘瑝瑠瑡瑢瑣瑤瑥瑦瑧瑨瑩瑪瑫瑬瑮瑯瑱瑲瑳瑴瑵瑸瑹瑺�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[172].length;++a)if(t[172][a].charCodeAt(0)!==65533){r[t[172][a]]=44032+a;e[44032+a]=t[172][a]}t[173]="����������������������������������������������������������������瑻瑼瑽瑿璂璄璅璆璈璉璊璌璍璏璑璒璓璔璕璖璗璘璙璚璛璝璟璠璡璢璣璤璥璦璪璫璬璭璮璯環璱璲璳璴璵璶璷璸璹璻璼璽璾璿瓀瓁瓂瓃瓄瓅瓆瓇�瓈瓉瓊瓋瓌瓍瓎瓏瓐瓑瓓瓔瓕瓖瓗瓘瓙瓚瓛瓝瓟瓡瓥瓧瓨瓩瓪瓫瓬瓭瓰瓱瓲�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[173].length;++a)if(t[173][a].charCodeAt(0)!==65533){r[t[173][a]]=44288+a;e[44288+a]=t[173][a]}t[174]="����������������������������������������������������������������瓳瓵瓸瓹瓺瓻瓼瓽瓾甀甁甂甃甅甆甇甈甉甊甋甌甎甐甒甔甕甖甗甛甝甞甠甡產産甤甦甧甪甮甴甶甹甼甽甿畁畂畃畄畆畇畉畊畍畐畑畒畓畕畖畗畘�畝畞畟畠畡畢畣畤畧畨畩畫畬畭畮畯異畱畳畵當畷畺畻畼畽畾疀疁疂疄疅疇�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[174].length;++a)if(t[174][a].charCodeAt(0)!==65533){r[t[174][a]]=44544+a;e[44544+a]=t[174][a]}t[175]="����������������������������������������������������������������疈疉疊疌疍疎疐疓疕疘疛疜疞疢疦疧疨疩疪疭疶疷疺疻疿痀痁痆痋痌痎痏痐痑痓痗痙痚痜痝痟痠痡痥痩痬痭痮痯痲痳痵痶痷痸痺痻痽痾瘂瘄瘆瘇�瘈瘉瘋瘍瘎瘏瘑瘒瘓瘔瘖瘚瘜瘝瘞瘡瘣瘧瘨瘬瘮瘯瘱瘲瘶瘷瘹瘺瘻瘽癁療癄�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[175].length;++a)if(t[175][a].charCodeAt(0)!==65533){r[t[175][a]]=44800+a;e[44800+a]=t[175][a]}t[176]="����������������������������������������������������������������癅癆癇癈癉癊癋癎癏癐癑癒癓癕癗癘癙癚癛癝癟癠癡癢癤癥癦癧癨癩癪癬癭癮癰癱癲癳癴癵癶癷癹発發癿皀皁皃皅皉皊皌皍皏皐皒皔皕皗皘皚皛�皜皝皞皟皠皡皢皣皥皦皧皨皩皪皫皬皭皯皰皳皵皶皷皸皹皺皻皼皽皾盀盁盃啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥�".split("");for(a=0;a!=t[176].length;++a)if(t[176][a].charCodeAt(0)!==65533){r[t[176][a]]=45056+a;e[45056+a]=t[176][a]}t[177]="����������������������������������������������������������������盄盇盉盋盌盓盕盙盚盜盝盞盠盡盢監盤盦盧盨盩盪盫盬盭盰盳盵盶盷盺盻盽盿眀眂眃眅眆眊県眎眏眐眑眒眓眔眕眖眗眘眛眜眝眞眡眣眤眥眧眪眫�眬眮眰眱眲眳眴眹眻眽眾眿睂睄睅睆睈睉睊睋睌睍睎睏睒睓睔睕睖睗睘睙睜薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳�".split("");for(a=0;a!=t[177].length;++a)if(t[177][a].charCodeAt(0)!==65533){r[t[177][a]]=45312+a;e[45312+a]=t[177][a]}t[178]="����������������������������������������������������������������睝睞睟睠睤睧睩睪睭睮睯睰睱睲睳睴睵睶睷睸睺睻睼瞁瞂瞃瞆瞇瞈瞉瞊瞋瞏瞐瞓瞔瞕瞖瞗瞘瞙瞚瞛瞜瞝瞞瞡瞣瞤瞦瞨瞫瞭瞮瞯瞱瞲瞴瞶瞷瞸瞹瞺�瞼瞾矀矁矂矃矄矅矆矇矈矉矊矋矌矎矏矐矑矒矓矔矕矖矘矙矚矝矞矟矠矡矤病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖�".split("");for(a=0;a!=t[178].length;++a)if(t[178][a].charCodeAt(0)!==65533){r[t[178][a]]=45568+a;e[45568+a]=t[178][a]}t[179]="����������������������������������������������������������������矦矨矪矯矰矱矲矴矵矷矹矺矻矼砃砄砅砆砇砈砊砋砎砏砐砓砕砙砛砞砠砡砢砤砨砪砫砮砯砱砲砳砵砶砽砿硁硂硃硄硆硈硉硊硋硍硏硑硓硔硘硙硚�硛硜硞硟硠硡硢硣硤硥硦硧硨硩硯硰硱硲硳硴硵硶硸硹硺硻硽硾硿碀碁碂碃场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚�".split("");for(a=0;a!=t[179].length;++a)if(t[179][a].charCodeAt(0)!==65533){r[t[179][a]]=45824+a;e[45824+a]=t[179][a]}t[180]="����������������������������������������������������������������碄碅碆碈碊碋碏碐碒碔碕碖碙碝碞碠碢碤碦碨碩碪碫碬碭碮碯碵碶碷碸確碻碼碽碿磀磂磃磄磆磇磈磌磍磎磏磑磒磓磖磗磘磚磛磜磝磞磟磠磡磢磣�磤磥磦磧磩磪磫磭磮磯磰磱磳磵磶磸磹磻磼磽磾磿礀礂礃礄礆礇礈礉礊礋礌础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮�".split("");for(a=0;a!=t[180].length;++a)if(t[180][a].charCodeAt(0)!==65533){r[t[180][a]]=46080+a;e[46080+a]=t[180][a]}t[181]="����������������������������������������������������������������礍礎礏礐礑礒礔礕礖礗礘礙礚礛礜礝礟礠礡礢礣礥礦礧礨礩礪礫礬礭礮礯礰礱礲礳礵礶礷礸礹礽礿祂祃祄祅祇祊祋祌祍祎祏祐祑祒祔祕祘祙祡祣�祤祦祩祪祫祬祮祰祱祲祳祴祵祶祹祻祼祽祾祿禂禃禆禇禈禉禋禌禍禎禐禑禒怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠�".split("");for(a=0;a!=t[181].length;++a)if(t[181][a].charCodeAt(0)!==65533){r[t[181][a]]=46336+a;e[46336+a]=t[181][a]}t[182]="����������������������������������������������������������������禓禔禕禖禗禘禙禛禜禝禞禟禠禡禢禣禤禥禦禨禩禪禫禬禭禮禯禰禱禲禴禵禶禷禸禼禿秂秄秅秇秈秊秌秎秏秐秓秔秖秗秙秚秛秜秝秞秠秡秢秥秨秪�秬秮秱秲秳秴秵秶秷秹秺秼秾秿稁稄稅稇稈稉稊稌稏稐稑稒稓稕稖稘稙稛稜丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二�".split("");for(a=0;a!=t[182].length;++a)if(t[182][a].charCodeAt(0)!==65533){r[t[182][a]]=46592+a;e[46592+a]=t[182][a]}t[183]="����������������������������������������������������������������稝稟稡稢稤稥稦稧稨稩稪稫稬稭種稯稰稱稲稴稵稶稸稺稾穀穁穂穃穄穅穇穈穉穊穋穌積穎穏穐穒穓穔穕穖穘穙穚穛穜穝穞穟穠穡穢穣穤穥穦穧穨�穩穪穫穬穭穮穯穱穲穳穵穻穼穽穾窂窅窇窉窊窋窌窎窏窐窓窔窙窚窛窞窡窢贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服�".split("");for(a=0;a!=t[183].length;++a)if(t[183][a].charCodeAt(0)!==65533){r[t[183][a]]=46848+a;e[46848+a]=t[183][a]}t[184]="����������������������������������������������������������������窣窤窧窩窪窫窮窯窰窱窲窴窵窶窷窸窹窺窻窼窽窾竀竁竂竃竄竅竆竇竈竉竊竌竍竎竏竐竑竒竓竔竕竗竘竚竛竜竝竡竢竤竧竨竩竪竫竬竮竰竱竲竳�竴竵競竷竸竻竼竾笀笁笂笅笇笉笌笍笎笐笒笓笖笗笘笚笜笝笟笡笢笣笧笩笭浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹�".split("");for(a=0;a!=t[184].length;++a)if(t[184][a].charCodeAt(0)!==65533){r[t[184][a]]=47104+a;e[47104+a]=t[184][a]}t[185]="����������������������������������������������������������������笯笰笲笴笵笶笷笹笻笽笿筀筁筂筃筄筆筈筊筍筎筓筕筗筙筜筞筟筡筣筤筥筦筧筨筩筪筫筬筭筯筰筳筴筶筸筺筼筽筿箁箂箃箄箆箇箈箉箊箋箌箎箏�箑箒箓箖箘箙箚箛箞箟箠箣箤箥箮箯箰箲箳箵箶箷箹箺箻箼箽箾箿節篂篃範埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈�".split("");for(a=0;a!=t[185].length;++a)if(t[185][a].charCodeAt(0)!==65533){r[t[185][a]]=47360+a;e[47360+a]=t[185][a]}t[186]="����������������������������������������������������������������篅篈築篊篋篍篎篏篐篒篔篕篖篗篘篛篜篞篟篠篢篣篤篧篨篩篫篬篭篯篰篲篳篴篵篶篸篹篺篻篽篿簀簁簂簃簄簅簆簈簉簊簍簎簐簑簒簓簔簕簗簘簙�簚簛簜簝簞簠簡簢簣簤簥簨簩簫簬簭簮簯簰簱簲簳簴簵簶簷簹簺簻簼簽簾籂骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖�".split("");for(a=0;a!=t[186].length;++a)if(t[186][a].charCodeAt(0)!==65533){r[t[186][a]]=47616+a;e[47616+a]=t[186][a]}t[187]="����������������������������������������������������������������籃籄籅籆籇籈籉籊籋籌籎籏籐籑籒籓籔籕籖籗籘籙籚籛籜籝籞籟籠籡籢籣籤籥籦籧籨籩籪籫籬籭籮籯籰籱籲籵籶籷籸籹籺籾籿粀粁粂粃粄粅粆粇�粈粊粋粌粍粎粏粐粓粔粖粙粚粛粠粡粣粦粧粨粩粫粬粭粯粰粴粵粶粷粸粺粻弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕�".split("");for(a=0;a!=t[187].length;++a)if(t[187][a].charCodeAt(0)!==65533){r[t[187][a]]=47872+a;e[47872+a]=t[187][a]}t[188]="����������������������������������������������������������������粿糀糂糃糄糆糉糋糎糏糐糑糒糓糔糘糚糛糝糞糡糢糣糤糥糦糧糩糪糫糬糭糮糰糱糲糳糴糵糶糷糹糺糼糽糾糿紀紁紂紃約紅紆紇紈紉紋紌納紎紏紐�紑紒紓純紕紖紗紘紙級紛紜紝紞紟紡紣紤紥紦紨紩紪紬紭紮細紱紲紳紴紵紶肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件�".split("");for(a=0;a!=t[188].length;++a)if(t[188][a].charCodeAt(0)!==65533){r[t[188][a]]=48128+a;e[48128+a]=t[188][a]}t[189]="����������������������������������������������������������������紷紸紹紺紻紼紽紾紿絀絁終絃組絅絆絇絈絉絊絋経絍絎絏結絑絒絓絔絕絖絗絘絙絚絛絜絝絞絟絠絡絢絣絤絥給絧絨絩絪絫絬絭絯絰統絲絳絴絵絶�絸絹絺絻絼絽絾絿綀綁綂綃綄綅綆綇綈綉綊綋綌綍綎綏綐綑綒經綔綕綖綗綘健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸�".split("");for(a=0;a!=t[189].length;++a)if(t[189][a].charCodeAt(0)!==65533){r[t[189][a]]=48384+a;e[48384+a]=t[189][a]}t[190]="����������������������������������������������������������������継続綛綜綝綞綟綠綡綢綣綤綥綧綨綩綪綫綬維綯綰綱網綳綴綵綶綷綸綹綺綻綼綽綾綿緀緁緂緃緄緅緆緇緈緉緊緋緌緍緎総緐緑緒緓緔緕緖緗緘緙�線緛緜緝緞緟締緡緢緣緤緥緦緧編緩緪緫緬緭緮緯緰緱緲緳練緵緶緷緸緹緺尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻�".split("");for(a=0;a!=t[190].length;++a)if(t[190][a].charCodeAt(0)!==65533){r[t[190][a]]=48640+a;e[48640+a]=t[190][a]}t[191]="����������������������������������������������������������������緻緼緽緾緿縀縁縂縃縄縅縆縇縈縉縊縋縌縍縎縏縐縑縒縓縔縕縖縗縘縙縚縛縜縝縞縟縠縡縢縣縤縥縦縧縨縩縪縫縬縭縮縯縰縱縲縳縴縵縶縷縸縹�縺縼總績縿繀繂繃繄繅繆繈繉繊繋繌繍繎繏繐繑繒繓織繕繖繗繘繙繚繛繜繝俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀�".split("");for(a=0;a!=t[191].length;++a)if(t[191][a].charCodeAt(0)!==65533){r[t[191][a]]=48896+a;e[48896+a]=t[191][a]}t[192]="����������������������������������������������������������������繞繟繠繡繢繣繤繥繦繧繨繩繪繫繬繭繮繯繰繱繲繳繴繵繶繷繸繹繺繻繼繽繾繿纀纁纃纄纅纆纇纈纉纊纋續纍纎纏纐纑纒纓纔纕纖纗纘纙纚纜纝纞�纮纴纻纼绖绤绬绹缊缐缞缷缹缻缼缽缾缿罀罁罃罆罇罈罉罊罋罌罍罎罏罒罓馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐�".split("");for(a=0;a!=t[192].length;++a)if(t[192][a].charCodeAt(0)!==65533){r[t[192][a]]=49152+a;e[49152+a]=t[192][a]}t[193]="����������������������������������������������������������������罖罙罛罜罝罞罠罣罤罥罦罧罫罬罭罯罰罳罵罶罷罸罺罻罼罽罿羀羂羃羄羅羆羇羈羉羋羍羏羐羑羒羓羕羖羗羘羙羛羜羠羢羣羥羦羨義羪羫羬羭羮羱�羳羴羵羶羷羺羻羾翀翂翃翄翆翇翈翉翋翍翏翐翑習翓翖翗翙翚翛翜翝翞翢翣痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿�".split("");for(a=0;a!=t[193].length;++a)if(t[193][a].charCodeAt(0)!==65533){r[t[193][a]]=49408+a;e[49408+a]=t[193][a]}t[194]="����������������������������������������������������������������翤翧翨翪翫翬翭翯翲翴翵翶翷翸翹翺翽翾翿耂耇耈耉耊耎耏耑耓耚耛耝耞耟耡耣耤耫耬耭耮耯耰耲耴耹耺耼耾聀聁聄聅聇聈聉聎聏聐聑聓聕聖聗�聙聛聜聝聞聟聠聡聢聣聤聥聦聧聨聫聬聭聮聯聰聲聳聴聵聶職聸聹聺聻聼聽隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫�".split("");for(a=0;a!=t[194].length;++a)if(t[194][a].charCodeAt(0)!==65533){r[t[194][a]]=49664+a;e[49664+a]=t[194][a]}t[195]="����������������������������������������������������������������聾肁肂肅肈肊肍肎肏肐肑肒肔肕肗肙肞肣肦肧肨肬肰肳肵肶肸肹肻胅胇胈胉胊胋胏胐胑胒胓胔胕胘胟胠胢胣胦胮胵胷胹胻胾胿脀脁脃脄脅脇脈脋�脌脕脗脙脛脜脝脟脠脡脢脣脤脥脦脧脨脩脪脫脭脮脰脳脴脵脷脹脺脻脼脽脿谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸�".split("");for(a=0;a!=t[195].length;++a)if(t[195][a].charCodeAt(0)!==65533){r[t[195][a]]=49920+a;e[49920+a]=t[195][a]}t[196]="����������������������������������������������������������������腀腁腂腃腄腅腇腉腍腎腏腒腖腗腘腛腜腝腞腟腡腢腣腤腦腨腪腫腬腯腲腳腵腶腷腸膁膃膄膅膆膇膉膋膌膍膎膐膒膓膔膕膖膗膙膚膞膟膠膡膢膤膥�膧膩膫膬膭膮膯膰膱膲膴膵膶膷膸膹膼膽膾膿臄臅臇臈臉臋臍臎臏臐臑臒臓摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁�".split("");for(a=0;a!=t[196].length;++a)if(t[196][a].charCodeAt(0)!==65533){r[t[196][a]]=50176+a;e[50176+a]=t[196][a]}t[197]="����������������������������������������������������������������臔臕臖臗臘臙臚臛臜臝臞臟臠臡臢臤臥臦臨臩臫臮臯臰臱臲臵臶臷臸臹臺臽臿舃與興舉舊舋舎舏舑舓舕舖舗舘舙舚舝舠舤舥舦舧舩舮舲舺舼舽舿�艀艁艂艃艅艆艈艊艌艍艎艐艑艒艓艔艕艖艗艙艛艜艝艞艠艡艢艣艤艥艦艧艩拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗�".split("");for(a=0;a!=t[197].length;++a)if(t[197][a].charCodeAt(0)!==65533){r[t[197][a]]=50432+a;e[50432+a]=t[197][a]}t[198]="����������������������������������������������������������������艪艫艬艭艱艵艶艷艸艻艼芀芁芃芅芆芇芉芌芐芓芔芕芖芚芛芞芠芢芣芧芲芵芶芺芻芼芿苀苂苃苅苆苉苐苖苙苚苝苢苧苨苩苪苬苭苮苰苲苳苵苶苸�苺苼苽苾苿茀茊茋茍茐茒茓茖茘茙茝茞茟茠茡茢茣茤茥茦茩茪茮茰茲茷茻茽啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐�".split("");for(a=0;a!=t[198].length;++a)if(t[198][a].charCodeAt(0)!==65533){r[t[198][a]]=50688+a;e[50688+a]=t[198][a]}t[199]="����������������������������������������������������������������茾茿荁荂荄荅荈荊荋荌荍荎荓荕荖荗荘荙荝荢荰荱荲荳荴荵荶荹荺荾荿莀莁莂莃莄莇莈莊莋莌莍莏莐莑莔莕莖莗莙莚莝莟莡莢莣莤莥莦莧莬莭莮�莯莵莻莾莿菂菃菄菆菈菉菋菍菎菐菑菒菓菕菗菙菚菛菞菢菣菤菦菧菨菫菬菭恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠�".split("");for(a=0;a!=t[199].length;++a)if(t[199][a].charCodeAt(0)!==65533){r[t[199][a]]=50944+a;e[50944+a]=t[199][a]}t[200]="����������������������������������������������������������������菮華菳菴菵菶菷菺菻菼菾菿萀萂萅萇萈萉萊萐萒萓萔萕萖萗萙萚萛萞萟萠萡萢萣萩萪萫萬萭萮萯萰萲萳萴萵萶萷萹萺萻萾萿葀葁葂葃葄葅葇葈葉�葊葋葌葍葎葏葐葒葓葔葕葖葘葝葞葟葠葢葤葥葦葧葨葪葮葯葰葲葴葷葹葻葼取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁�".split("");for(a=0;a!=t[200].length;++a)if(t[200][a].charCodeAt(0)!==65533){r[t[200][a]]=51200+a;e[51200+a]=t[200][a]}t[201]="����������������������������������������������������������������葽葾葿蒀蒁蒃蒄蒅蒆蒊蒍蒏蒐蒑蒒蒓蒔蒕蒖蒘蒚蒛蒝蒞蒟蒠蒢蒣蒤蒥蒦蒧蒨蒩蒪蒫蒬蒭蒮蒰蒱蒳蒵蒶蒷蒻蒼蒾蓀蓂蓃蓅蓆蓇蓈蓋蓌蓎蓏蓒蓔蓕蓗�蓘蓙蓚蓛蓜蓞蓡蓢蓤蓧蓨蓩蓪蓫蓭蓮蓯蓱蓲蓳蓴蓵蓶蓷蓸蓹蓺蓻蓽蓾蔀蔁蔂伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳�".split("");for(a=0;a!=t[201].length;++a)if(t[201][a].charCodeAt(0)!==65533){r[t[201][a]]=51456+a;e[51456+a]=t[201][a]}t[202]="����������������������������������������������������������������蔃蔄蔅蔆蔇蔈蔉蔊蔋蔍蔎蔏蔐蔒蔔蔕蔖蔘蔙蔛蔜蔝蔞蔠蔢蔣蔤蔥蔦蔧蔨蔩蔪蔭蔮蔯蔰蔱蔲蔳蔴蔵蔶蔾蔿蕀蕁蕂蕄蕅蕆蕇蕋蕌蕍蕎蕏蕐蕑蕒蕓蕔蕕�蕗蕘蕚蕛蕜蕝蕟蕠蕡蕢蕣蕥蕦蕧蕩蕪蕫蕬蕭蕮蕯蕰蕱蕳蕵蕶蕷蕸蕼蕽蕿薀薁省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱�".split("");for(a=0;a!=t[202].length;++a)if(t[202][a].charCodeAt(0)!==65533){r[t[202][a]]=51712+a;e[51712+a]=t[202][a]}t[203]="����������������������������������������������������������������薂薃薆薈薉薊薋薌薍薎薐薑薒薓薔薕薖薗薘薙薚薝薞薟薠薡薢薣薥薦薧薩薫薬薭薱薲薳薴薵薶薸薺薻薼薽薾薿藀藂藃藄藅藆藇藈藊藋藌藍藎藑藒�藔藖藗藘藙藚藛藝藞藟藠藡藢藣藥藦藧藨藪藫藬藭藮藯藰藱藲藳藴藵藶藷藸恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔�".split("");for(a=0;a!=t[203].length;++a)if(t[203][a].charCodeAt(0)!==65533){r[t[203][a]]=51968+a;e[51968+a]=t[203][a]}t[204]="����������������������������������������������������������������藹藺藼藽藾蘀蘁蘂蘃蘄蘆蘇蘈蘉蘊蘋蘌蘍蘎蘏蘐蘒蘓蘔蘕蘗蘘蘙蘚蘛蘜蘝蘞蘟蘠蘡蘢蘣蘤蘥蘦蘨蘪蘫蘬蘭蘮蘯蘰蘱蘲蘳蘴蘵蘶蘷蘹蘺蘻蘽蘾蘿虀�虁虂虃虄虅虆虇虈虉虊虋虌虒虓處虖虗虘虙虛虜虝號虠虡虣虤虥虦虧虨虩虪獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃�".split("");for(a=0;a!=t[204].length;++a)if(t[204][a].charCodeAt(0)!==65533){r[t[204][a]]=52224+a;e[52224+a]=t[204][a]}t[205]="����������������������������������������������������������������虭虯虰虲虳虴虵虶虷虸蚃蚄蚅蚆蚇蚈蚉蚎蚏蚐蚑蚒蚔蚖蚗蚘蚙蚚蚛蚞蚟蚠蚡蚢蚥蚦蚫蚭蚮蚲蚳蚷蚸蚹蚻蚼蚽蚾蚿蛁蛂蛃蛅蛈蛌蛍蛒蛓蛕蛖蛗蛚蛜�蛝蛠蛡蛢蛣蛥蛦蛧蛨蛪蛫蛬蛯蛵蛶蛷蛺蛻蛼蛽蛿蜁蜄蜅蜆蜋蜌蜎蜏蜐蜑蜔蜖汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威�".split("");for(a=0;a!=t[205].length;++a)if(t[205][a].charCodeAt(0)!==65533){r[t[205][a]]=52480+a;e[52480+a]=t[205][a]}t[206]="����������������������������������������������������������������蜙蜛蜝蜟蜠蜤蜦蜧蜨蜪蜫蜬蜭蜯蜰蜲蜳蜵蜶蜸蜹蜺蜼蜽蝀蝁蝂蝃蝄蝅蝆蝊蝋蝍蝏蝐蝑蝒蝔蝕蝖蝘蝚蝛蝜蝝蝞蝟蝡蝢蝦蝧蝨蝩蝪蝫蝬蝭蝯蝱蝲蝳蝵�蝷蝸蝹蝺蝿螀螁螄螆螇螉螊螌螎螏螐螑螒螔螕螖螘螙螚螛螜螝螞螠螡螢螣螤巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺�".split("");for(a=0;a!=t[206].length;++a)if(t[206][a].charCodeAt(0)!==65533){r[t[206][a]]=52736+a;e[52736+a]=t[206][a]}t[207]="����������������������������������������������������������������螥螦螧螩螪螮螰螱螲螴螶螷螸螹螻螼螾螿蟁蟂蟃蟄蟅蟇蟈蟉蟌蟍蟎蟏蟐蟔蟕蟖蟗蟘蟙蟚蟜蟝蟞蟟蟡蟢蟣蟤蟦蟧蟨蟩蟫蟬蟭蟯蟰蟱蟲蟳蟴蟵蟶蟷蟸�蟺蟻蟼蟽蟿蠀蠁蠂蠄蠅蠆蠇蠈蠉蠋蠌蠍蠎蠏蠐蠑蠒蠔蠗蠘蠙蠚蠜蠝蠞蠟蠠蠣稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓�".split("");for(a=0;a!=t[207].length;++a)if(t[207][a].charCodeAt(0)!==65533){r[t[207][a]]=52992+a;e[52992+a]=t[207][a]}t[208]="����������������������������������������������������������������蠤蠥蠦蠧蠨蠩蠪蠫蠬蠭蠮蠯蠰蠱蠳蠴蠵蠶蠷蠸蠺蠻蠽蠾蠿衁衂衃衆衇衈衉衊衋衎衏衐衑衒術衕衖衘衚衛衜衝衞衟衠衦衧衪衭衯衱衳衴衵衶衸衹衺�衻衼袀袃袆袇袉袊袌袎袏袐袑袓袔袕袗袘袙袚袛袝袞袟袠袡袣袥袦袧袨袩袪小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄�".split("");for(a=0;a!=t[208].length;++a)if(t[208][a].charCodeAt(0)!==65533){r[t[208][a]]=53248+a;e[53248+a]=t[208][a]}t[209]="����������������������������������������������������������������袬袮袯袰袲袳袴袵袶袸袹袺袻袽袾袿裀裃裄裇裈裊裋裌裍裏裐裑裓裖裗裚裛補裝裞裠裡裦裧裩裪裫裬裭裮裯裲裵裶裷裺裻製裿褀褁褃褄褅褆複褈�褉褋褌褍褎褏褑褔褕褖褗褘褜褝褞褟褠褢褣褤褦褧褨褩褬褭褮褯褱褲褳褵褷选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶�".split("");for(a=0;a!=t[209].length;++a)if(t[209][a].charCodeAt(0)!==65533){r[t[209][a]]=53504+a;e[53504+a]=t[209][a]}t[210]="����������������������������������������������������������������褸褹褺褻褼褽褾褿襀襂襃襅襆襇襈襉襊襋襌襍襎襏襐襑襒襓襔襕襖襗襘襙襚襛襜襝襠襡襢襣襤襥襧襨襩襪襫襬襭襮襯襰襱襲襳襴襵襶襷襸襹襺襼�襽襾覀覂覄覅覇覈覉覊見覌覍覎規覐覑覒覓覔覕視覗覘覙覚覛覜覝覞覟覠覡摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐�".split("");for(a=0;a!=t[210].length;++a)if(t[210][a].charCodeAt(0)!==65533){r[t[210][a]]=53760+a;e[53760+a]=t[210][a]}t[211]="����������������������������������������������������������������覢覣覤覥覦覧覨覩親覫覬覭覮覯覰覱覲観覴覵覶覷覸覹覺覻覼覽覾覿觀觃觍觓觔觕觗觘觙觛觝觟觠觡觢觤觧觨觩觪觬觭觮觰觱觲觴觵觶觷觸觹觺�觻觼觽觾觿訁訂訃訄訅訆計訉訊訋訌訍討訏訐訑訒訓訔訕訖託記訙訚訛訜訝印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉�".split("");for(a=0;a!=t[211].length;++a)if(t[211][a].charCodeAt(0)!==65533){r[t[211][a]]=54016+a;e[54016+a]=t[211][a]}t[212]="����������������������������������������������������������������訞訟訠訡訢訣訤訥訦訧訨訩訪訫訬設訮訯訰許訲訳訴訵訶訷訸訹診註証訽訿詀詁詂詃詄詅詆詇詉詊詋詌詍詎詏詐詑詒詓詔評詖詗詘詙詚詛詜詝詞�詟詠詡詢詣詤詥試詧詨詩詪詫詬詭詮詯詰話該詳詴詵詶詷詸詺詻詼詽詾詿誀浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧�".split("");for(a=0;a!=t[212].length;++a)if(t[212][a].charCodeAt(0)!==65533){r[t[212][a]]=54272+a;e[54272+a]=t[212][a]}t[213]="����������������������������������������������������������������誁誂誃誄誅誆誇誈誋誌認誎誏誐誑誒誔誕誖誗誘誙誚誛誜誝語誟誠誡誢誣誤誥誦誧誨誩說誫説読誮誯誰誱課誳誴誵誶誷誸誹誺誻誼誽誾調諀諁諂�諃諄諅諆談諈諉諊請諌諍諎諏諐諑諒諓諔諕論諗諘諙諚諛諜諝諞諟諠諡諢諣铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政�".split("");for(a=0;a!=t[213].length;++a)if(t[213][a].charCodeAt(0)!==65533){r[t[213][a]]=54528+a;e[54528+a]=t[213][a]}t[214]="����������������������������������������������������������������諤諥諦諧諨諩諪諫諬諭諮諯諰諱諲諳諴諵諶諷諸諹諺諻諼諽諾諿謀謁謂謃謄謅謆謈謉謊謋謌謍謎謏謐謑謒謓謔謕謖謗謘謙謚講謜謝謞謟謠謡謢謣�謤謥謧謨謩謪謫謬謭謮謯謰謱謲謳謴謵謶謷謸謹謺謻謼謽謾謿譀譁譂譃譄譅帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑�".split("");for(a=0;a!=t[214].length;++a)if(t[214][a].charCodeAt(0)!==65533){r[t[214][a]]=54784+a;e[54784+a]=t[214][a]}t[215]="����������������������������������������������������������������譆譇譈證譊譋譌譍譎譏譐譑譒譓譔譕譖譗識譙譚譛譜譝譞譟譠譡譢譣譤譥譧譨譩譪譫譭譮譯議譱譲譳譴譵譶護譸譹譺譻譼譽譾譿讀讁讂讃讄讅讆�讇讈讉變讋讌讍讎讏讐讑讒讓讔讕讖讗讘讙讚讛讜讝讞讟讬讱讻诇诐诪谉谞住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座������".split("");for(a=0;a!=t[215].length;++a)if(t[215][a].charCodeAt(0)!==65533){r[t[215][a]]=55040+a;e[55040+a]=t[215][a]}t[216]="����������������������������������������������������������������谸谹谺谻谼谽谾谿豀豂豃豄豅豈豊豋豍豎豏豐豑豒豓豔豖豗豘豙豛豜豝豞豟豠豣豤豥豦豧豨豩豬豭豮豯豰豱豲豴豵豶豷豻豼豽豾豿貀貁貃貄貆貇�貈貋貍貎貏貐貑貒貓貕貖貗貙貚貛貜貝貞貟負財貢貣貤貥貦貧貨販貪貫責貭亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝�".split("");for(a=0;a!=t[216].length;++a)if(t[216][a].charCodeAt(0)!==65533){r[t[216][a]]=55296+a;e[55296+a]=t[216][a]}t[217]="����������������������������������������������������������������貮貯貰貱貲貳貴貵貶買貸貹貺費貼貽貾貿賀賁賂賃賄賅賆資賈賉賊賋賌賍賎賏賐賑賒賓賔賕賖賗賘賙賚賛賜賝賞賟賠賡賢賣賤賥賦賧賨賩質賫賬�賭賮賯賰賱賲賳賴賵賶賷賸賹賺賻購賽賾賿贀贁贂贃贄贅贆贇贈贉贊贋贌贍佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼�".split("");for(a=0;a!=t[217].length;++a)if(t[217][a].charCodeAt(0)!==65533){r[t[217][a]]=55552+a;e[55552+a]=t[217][a]}t[218]="����������������������������������������������������������������贎贏贐贑贒贓贔贕贖贗贘贙贚贛贜贠赑赒赗赟赥赨赩赪赬赮赯赱赲赸赹赺赻赼赽赾赿趀趂趃趆趇趈趉趌趍趎趏趐趒趓趕趖趗趘趙趚趛趜趝趞趠趡�趢趤趥趦趧趨趩趪趫趬趭趮趯趰趲趶趷趹趻趽跀跁跂跅跇跈跉跊跍跐跒跓跔凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺�".split("");for(a=0;a!=t[218].length;++a)if(t[218][a].charCodeAt(0)!==65533){r[t[218][a]]=55808+a;e[55808+a]=t[218][a]}t[219]="����������������������������������������������������������������跕跘跙跜跠跡跢跥跦跧跩跭跮跰跱跲跴跶跼跾跿踀踁踂踃踄踆踇踈踋踍踎踐踑踒踓踕踖踗踘踙踚踛踜踠踡踤踥踦踧踨踫踭踰踲踳踴踶踷踸踻踼踾�踿蹃蹅蹆蹌蹍蹎蹏蹐蹓蹔蹕蹖蹗蹘蹚蹛蹜蹝蹞蹟蹠蹡蹢蹣蹤蹥蹧蹨蹪蹫蹮蹱邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝�".split("");for(a=0;a!=t[219].length;++a)if(t[219][a].charCodeAt(0)!==65533){r[t[219][a]]=56064+a;e[56064+a]=t[219][a]}t[220]="����������������������������������������������������������������蹳蹵蹷蹸蹹蹺蹻蹽蹾躀躂躃躄躆躈躉躊躋躌躍躎躑躒躓躕躖躗躘躙躚躛躝躟躠躡躢躣躤躥躦躧躨躩躪躭躮躰躱躳躴躵躶躷躸躹躻躼躽躾躿軀軁軂�軃軄軅軆軇軈軉車軋軌軍軏軐軑軒軓軔軕軖軗軘軙軚軛軜軝軞軟軠軡転軣軤堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥�".split("");for(a=0;a!=t[220].length;++a)if(t[220][a].charCodeAt(0)!==65533){r[t[220][a]]=56320+a;e[56320+a]=t[220][a]}t[221]="����������������������������������������������������������������軥軦軧軨軩軪軫軬軭軮軯軰軱軲軳軴軵軶軷軸軹軺軻軼軽軾軿輀輁輂較輄輅輆輇輈載輊輋輌輍輎輏輐輑輒輓輔輕輖輗輘輙輚輛輜輝輞輟輠輡輢輣�輤輥輦輧輨輩輪輫輬輭輮輯輰輱輲輳輴輵輶輷輸輹輺輻輼輽輾輿轀轁轂轃轄荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺�".split("");for(a=0;a!=t[221].length;++a)if(t[221][a].charCodeAt(0)!==65533){r[t[221][a]]=56576+a;e[56576+a]=t[221][a]}t[222]="����������������������������������������������������������������轅轆轇轈轉轊轋轌轍轎轏轐轑轒轓轔轕轖轗轘轙轚轛轜轝轞轟轠轡轢轣轤轥轪辀辌辒辝辠辡辢辤辥辦辧辪辬辭辮辯農辳辴辵辷辸辺辻込辿迀迃迆�迉迊迋迌迍迏迒迖迗迚迠迡迣迧迬迯迱迲迴迵迶迺迻迼迾迿逇逈逌逎逓逕逘蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖�".split("");for(a=0;a!=t[222].length;++a)if(t[222][a].charCodeAt(0)!==65533){r[t[222][a]]=56832+a;e[56832+a]=t[222][a]}t[223]="����������������������������������������������������������������這逜連逤逥逧逨逩逪逫逬逰週進逳逴逷逹逺逽逿遀遃遅遆遈遉遊運遌過達違遖遙遚遜遝遞遟遠遡遤遦遧適遪遫遬遯遰遱遲遳遶遷選遹遺遻遼遾邁�還邅邆邇邉邊邌邍邎邏邐邒邔邖邘邚邜邞邟邠邤邥邧邨邩邫邭邲邷邼邽邿郀摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼�".split("");for(a=0;a!=t[223].length;++a)if(t[223][a].charCodeAt(0)!==65533){r[t[223][a]]=57088+a;e[57088+a]=t[223][a]}t[224]="����������������������������������������������������������������郂郃郆郈郉郋郌郍郒郔郕郖郘郙郚郞郟郠郣郤郥郩郪郬郮郰郱郲郳郵郶郷郹郺郻郼郿鄀鄁鄃鄅鄆鄇鄈鄉鄊鄋鄌鄍鄎鄏鄐鄑鄒鄓鄔鄕鄖鄗鄘鄚鄛鄜�鄝鄟鄠鄡鄤鄥鄦鄧鄨鄩鄪鄫鄬鄭鄮鄰鄲鄳鄴鄵鄶鄷鄸鄺鄻鄼鄽鄾鄿酀酁酂酄唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼�".split("");for(a=0;a!=t[224].length;++a)if(t[224][a].charCodeAt(0)!==65533){r[t[224][a]]=57344+a;e[57344+a]=t[224][a]}t[225]="����������������������������������������������������������������酅酇酈酑酓酔酕酖酘酙酛酜酟酠酦酧酨酫酭酳酺酻酼醀醁醂醃醄醆醈醊醎醏醓醔醕醖醗醘醙醜醝醞醟醠醡醤醥醦醧醨醩醫醬醰醱醲醳醶醷醸醹醻�醼醽醾醿釀釁釂釃釄釅釆釈釋釐釒釓釔釕釖釗釘釙釚釛針釞釟釠釡釢釣釤釥帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺�".split("");for(a=0;a!=t[225].length;++a)if(t[225][a].charCodeAt(0)!==65533){r[t[225][a]]=57600+a;e[57600+a]=t[225][a]}t[226]="����������������������������������������������������������������釦釧釨釩釪釫釬釭釮釯釰釱釲釳釴釵釶釷釸釹釺釻釼釽釾釿鈀鈁鈂鈃鈄鈅鈆鈇鈈鈉鈊鈋鈌鈍鈎鈏鈐鈑鈒鈓鈔鈕鈖鈗鈘鈙鈚鈛鈜鈝鈞鈟鈠鈡鈢鈣鈤�鈥鈦鈧鈨鈩鈪鈫鈬鈭鈮鈯鈰鈱鈲鈳鈴鈵鈶鈷鈸鈹鈺鈻鈼鈽鈾鈿鉀鉁鉂鉃鉄鉅狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧饨饩饪饫饬饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂�".split("");for(a=0;a!=t[226].length;++a)if(t[226][a].charCodeAt(0)!==65533){r[t[226][a]]=57856+a;e[57856+a]=t[226][a]}t[227]="����������������������������������������������������������������鉆鉇鉈鉉鉊鉋鉌鉍鉎鉏鉐鉑鉒鉓鉔鉕鉖鉗鉘鉙鉚鉛鉜鉝鉞鉟鉠鉡鉢鉣鉤鉥鉦鉧鉨鉩鉪鉫鉬鉭鉮鉯鉰鉱鉲鉳鉵鉶鉷鉸鉹鉺鉻鉼鉽鉾鉿銀銁銂銃銄銅�銆銇銈銉銊銋銌銍銏銐銑銒銓銔銕銖銗銘銙銚銛銜銝銞銟銠銡銢銣銤銥銦銧恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾�".split("");for(a=0;a!=t[227].length;++a)if(t[227][a].charCodeAt(0)!==65533){r[t[227][a]]=58112+a;e[58112+a]=t[227][a]}t[228]="����������������������������������������������������������������銨銩銪銫銬銭銯銰銱銲銳銴銵銶銷銸銹銺銻銼銽銾銿鋀鋁鋂鋃鋄鋅鋆鋇鋉鋊鋋鋌鋍鋎鋏鋐鋑鋒鋓鋔鋕鋖鋗鋘鋙鋚鋛鋜鋝鋞鋟鋠鋡鋢鋣鋤鋥鋦鋧鋨�鋩鋪鋫鋬鋭鋮鋯鋰鋱鋲鋳鋴鋵鋶鋷鋸鋹鋺鋻鋼鋽鋾鋿錀錁錂錃錄錅錆錇錈錉洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑�".split("");for(a=0;a!=t[228].length;++a)if(t[228][a].charCodeAt(0)!==65533){r[t[228][a]]=58368+a;e[58368+a]=t[228][a]}t[229]="����������������������������������������������������������������錊錋錌錍錎錏錐錑錒錓錔錕錖錗錘錙錚錛錜錝錞錟錠錡錢錣錤錥錦錧錨錩錪錫錬錭錮錯錰錱録錳錴錵錶錷錸錹錺錻錼錽錿鍀鍁鍂鍃鍄鍅鍆鍇鍈鍉�鍊鍋鍌鍍鍎鍏鍐鍑鍒鍓鍔鍕鍖鍗鍘鍙鍚鍛鍜鍝鍞鍟鍠鍡鍢鍣鍤鍥鍦鍧鍨鍩鍫濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣�".split("");for(a=0;a!=t[229].length;++a)if(t[229][a].charCodeAt(0)!==65533){r[t[229][a]]=58624+a;e[58624+a]=t[229][a]}t[230]="����������������������������������������������������������������鍬鍭鍮鍯鍰鍱鍲鍳鍴鍵鍶鍷鍸鍹鍺鍻鍼鍽鍾鍿鎀鎁鎂鎃鎄鎅鎆鎇鎈鎉鎊鎋鎌鎍鎎鎐鎑鎒鎓鎔鎕鎖鎗鎘鎙鎚鎛鎜鎝鎞鎟鎠鎡鎢鎣鎤鎥鎦鎧鎨鎩鎪鎫�鎬鎭鎮鎯鎰鎱鎲鎳鎴鎵鎶鎷鎸鎹鎺鎻鎼鎽鎾鎿鏀鏁鏂鏃鏄鏅鏆鏇鏈鏉鏋鏌鏍妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩�".split("");for(a=0;a!=t[230].length;++a)if(t[230][a].charCodeAt(0)!==65533){r[t[230][a]]=58880+a;e[58880+a]=t[230][a]}t[231]="����������������������������������������������������������������鏎鏏鏐鏑鏒鏓鏔鏕鏗鏘鏙鏚鏛鏜鏝鏞鏟鏠鏡鏢鏣鏤鏥鏦鏧鏨鏩鏪鏫鏬鏭鏮鏯鏰鏱鏲鏳鏴鏵鏶鏷鏸鏹鏺鏻鏼鏽鏾鏿鐀鐁鐂鐃鐄鐅鐆鐇鐈鐉鐊鐋鐌鐍�鐎鐏鐐鐑鐒鐓鐔鐕鐖鐗鐘鐙鐚鐛鐜鐝鐞鐟鐠鐡鐢鐣鐤鐥鐦鐧鐨鐩鐪鐫鐬鐭鐮纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡缢缣缤缥缦缧缪缫缬缭缯缰缱缲缳缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬�".split("");for(a=0;a!=t[231].length;++a)if(t[231][a].charCodeAt(0)!==65533){r[t[231][a]]=59136+a;e[59136+a]=t[231][a]}t[232]="����������������������������������������������������������������鐯鐰鐱鐲鐳鐴鐵鐶鐷鐸鐹鐺鐻鐼鐽鐿鑀鑁鑂鑃鑄鑅鑆鑇鑈鑉鑊鑋鑌鑍鑎鑏鑐鑑鑒鑓鑔鑕鑖鑗鑘鑙鑚鑛鑜鑝鑞鑟鑠鑡鑢鑣鑤鑥鑦鑧鑨鑩鑪鑬鑭鑮鑯�鑰鑱鑲鑳鑴鑵鑶鑷鑸鑹鑺鑻鑼鑽鑾鑿钀钁钂钃钄钑钖钘铇铏铓铔铚铦铻锜锠琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹�".split("");for(a=0;a!=t[232].length;++a)if(t[232][a].charCodeAt(0)!==65533){r[t[232][a]]=59392+a;e[59392+a]=t[232][a]}t[233]="����������������������������������������������������������������锧锳锽镃镈镋镕镚镠镮镴镵長镸镹镺镻镼镽镾門閁閂閃閄閅閆閇閈閉閊開閌閍閎閏閐閑閒間閔閕閖閗閘閙閚閛閜閝閞閟閠閡関閣閤閥閦閧閨閩閪�閫閬閭閮閯閰閱閲閳閴閵閶閷閸閹閺閻閼閽閾閿闀闁闂闃闄闅闆闇闈闉闊闋椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋�".split("");for(a=0;a!=t[233].length;++a)if(t[233][a].charCodeAt(0)!==65533){r[t[233][a]]=59648+a;e[59648+a]=t[233][a]}t[234]="����������������������������������������������������������������闌闍闎闏闐闑闒闓闔闕闖闗闘闙闚闛關闝闞闟闠闡闢闣闤闥闦闧闬闿阇阓阘阛阞阠阣阤阥阦阧阨阩阫阬阭阯阰阷阸阹阺阾陁陃陊陎陏陑陒陓陖陗�陘陙陚陜陝陞陠陣陥陦陫陭陮陯陰陱陳陸陹険陻陼陽陾陿隀隁隂隃隄隇隉隊辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰�".split("");for(a=0;a!=t[234].length;++a)if(t[234][a].charCodeAt(0)!==65533){r[t[234][a]]=59904+a;e[59904+a]=t[234][a]}t[235]="����������������������������������������������������������������隌階隑隒隓隕隖隚際隝隞隟隠隡隢隣隤隥隦隨隩險隫隬隭隮隯隱隲隴隵隷隸隺隻隿雂雃雈雊雋雐雑雓雔雖雗雘雙雚雛雜雝雞雟雡離難雤雥雦雧雫�雬雭雮雰雱雲雴雵雸雺電雼雽雿霂霃霅霊霋霌霐霑霒霔霕霗霘霙霚霛霝霟霠搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻�".split("");for(a=0;a!=t[235].length;++a)if(t[235][a].charCodeAt(0)!==65533){r[t[235][a]]=60160+a;e[60160+a]=t[235][a]}t[236]="����������������������������������������������������������������霡霢霣霤霥霦霧霨霩霫霬霮霯霱霳霴霵霶霷霺霻霼霽霿靀靁靂靃靄靅靆靇靈靉靊靋靌靍靎靏靐靑靔靕靗靘靚靜靝靟靣靤靦靧靨靪靫靬靭靮靯靰靱�靲靵靷靸靹靺靻靽靾靿鞀鞁鞂鞃鞄鞆鞇鞈鞉鞊鞌鞎鞏鞐鞓鞕鞖鞗鞙鞚鞛鞜鞝臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐�".split(""); +for(a=0;a!=t[236].length;++a)if(t[236][a].charCodeAt(0)!==65533){r[t[236][a]]=60416+a;e[60416+a]=t[236][a]}t[237]="����������������������������������������������������������������鞞鞟鞡鞢鞤鞥鞦鞧鞨鞩鞪鞬鞮鞰鞱鞳鞵鞶鞷鞸鞹鞺鞻鞼鞽鞾鞿韀韁韂韃韄韅韆韇韈韉韊韋韌韍韎韏韐韑韒韓韔韕韖韗韘韙韚韛韜韝韞韟韠韡韢韣�韤韥韨韮韯韰韱韲韴韷韸韹韺韻韼韽韾響頀頁頂頃頄項順頇須頉頊頋頌頍頎怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨�".split("");for(a=0;a!=t[237].length;++a)if(t[237][a].charCodeAt(0)!==65533){r[t[237][a]]=60672+a;e[60672+a]=t[237][a]}t[238]="����������������������������������������������������������������頏預頑頒頓頔頕頖頗領頙頚頛頜頝頞頟頠頡頢頣頤頥頦頧頨頩頪頫頬頭頮頯頰頱頲頳頴頵頶頷頸頹頺頻頼頽頾頿顀顁顂顃顄顅顆顇顈顉顊顋題額�顎顏顐顑顒顓顔顕顖顗願顙顚顛顜顝類顟顠顡顢顣顤顥顦顧顨顩顪顫顬顭顮睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶钷钸钹钺钼钽钿铄铈铉铊铋铌铍铎铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪�".split("");for(a=0;a!=t[238].length;++a)if(t[238][a].charCodeAt(0)!==65533){r[t[238][a]]=60928+a;e[60928+a]=t[238][a]}t[239]="����������������������������������������������������������������顯顰顱顲顳顴颋颎颒颕颙颣風颩颪颫颬颭颮颯颰颱颲颳颴颵颶颷颸颹颺颻颼颽颾颿飀飁飂飃飄飅飆飇飈飉飊飋飌飍飏飐飔飖飗飛飜飝飠飡飢飣飤�飥飦飩飪飫飬飭飮飯飰飱飲飳飴飵飶飷飸飹飺飻飼飽飾飿餀餁餂餃餄餅餆餇铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒锓锔锕锖锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤镥镦镧镨镩镪镫镬镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔�".split("");for(a=0;a!=t[239].length;++a)if(t[239][a].charCodeAt(0)!==65533){r[t[239][a]]=61184+a;e[61184+a]=t[239][a]}t[240]="����������������������������������������������������������������餈餉養餋餌餎餏餑餒餓餔餕餖餗餘餙餚餛餜餝餞餟餠餡餢餣餤餥餦餧館餩餪餫餬餭餯餰餱餲餳餴餵餶餷餸餹餺餻餼餽餾餿饀饁饂饃饄饅饆饇饈饉�饊饋饌饍饎饏饐饑饒饓饖饗饘饙饚饛饜饝饞饟饠饡饢饤饦饳饸饹饻饾馂馃馉稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨鸩鸪鸫鸬鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦鹧鹨鹩鹪鹫鹬鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙�".split("");for(a=0;a!=t[240].length;++a)if(t[240][a].charCodeAt(0)!==65533){r[t[240][a]]=61440+a;e[61440+a]=t[240][a]}t[241]="����������������������������������������������������������������馌馎馚馛馜馝馞馟馠馡馢馣馤馦馧馩馪馫馬馭馮馯馰馱馲馳馴馵馶馷馸馹馺馻馼馽馾馿駀駁駂駃駄駅駆駇駈駉駊駋駌駍駎駏駐駑駒駓駔駕駖駗駘�駙駚駛駜駝駞駟駠駡駢駣駤駥駦駧駨駩駪駫駬駭駮駯駰駱駲駳駴駵駶駷駸駹瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃�".split("");for(a=0;a!=t[241].length;++a)if(t[241][a].charCodeAt(0)!==65533){r[t[241][a]]=61696+a;e[61696+a]=t[241][a]}t[242]="����������������������������������������������������������������駺駻駼駽駾駿騀騁騂騃騄騅騆騇騈騉騊騋騌騍騎騏騐騑騒験騔騕騖騗騘騙騚騛騜騝騞騟騠騡騢騣騤騥騦騧騨騩騪騫騬騭騮騯騰騱騲騳騴騵騶騷騸�騹騺騻騼騽騾騿驀驁驂驃驄驅驆驇驈驉驊驋驌驍驎驏驐驑驒驓驔驕驖驗驘驙颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒�".split("");for(a=0;a!=t[242].length;++a)if(t[242][a].charCodeAt(0)!==65533){r[t[242][a]]=61952+a;e[61952+a]=t[242][a]}t[243]="����������������������������������������������������������������驚驛驜驝驞驟驠驡驢驣驤驥驦驧驨驩驪驫驲骃骉骍骎骔骕骙骦骩骪骫骬骭骮骯骲骳骴骵骹骻骽骾骿髃髄髆髇髈髉髊髍髎髏髐髒體髕髖髗髙髚髛髜�髝髞髠髢髣髤髥髧髨髩髪髬髮髰髱髲髳髴髵髶髷髸髺髼髽髾髿鬀鬁鬂鬄鬅鬆蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋�".split("");for(a=0;a!=t[243].length;++a)if(t[243][a].charCodeAt(0)!==65533){r[t[243][a]]=62208+a;e[62208+a]=t[243][a]}t[244]="����������������������������������������������������������������鬇鬉鬊鬋鬌鬍鬎鬐鬑鬒鬔鬕鬖鬗鬘鬙鬚鬛鬜鬝鬞鬠鬡鬢鬤鬥鬦鬧鬨鬩鬪鬫鬬鬭鬮鬰鬱鬳鬴鬵鬶鬷鬸鬹鬺鬽鬾鬿魀魆魊魋魌魎魐魒魓魕魖魗魘魙魚�魛魜魝魞魟魠魡魢魣魤魥魦魧魨魩魪魫魬魭魮魯魰魱魲魳魴魵魶魷魸魹魺魻簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤�".split("");for(a=0;a!=t[244].length;++a)if(t[244][a].charCodeAt(0)!==65533){r[t[244][a]]=62464+a;e[62464+a]=t[244][a]}t[245]="����������������������������������������������������������������魼魽魾魿鮀鮁鮂鮃鮄鮅鮆鮇鮈鮉鮊鮋鮌鮍鮎鮏鮐鮑鮒鮓鮔鮕鮖鮗鮘鮙鮚鮛鮜鮝鮞鮟鮠鮡鮢鮣鮤鮥鮦鮧鮨鮩鮪鮫鮬鮭鮮鮯鮰鮱鮲鮳鮴鮵鮶鮷鮸鮹鮺�鮻鮼鮽鮾鮿鯀鯁鯂鯃鯄鯅鯆鯇鯈鯉鯊鯋鯌鯍鯎鯏鯐鯑鯒鯓鯔鯕鯖鯗鯘鯙鯚鯛酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜�".split("");for(a=0;a!=t[245].length;++a)if(t[245][a].charCodeAt(0)!==65533){r[t[245][a]]=62720+a;e[62720+a]=t[245][a]}t[246]="����������������������������������������������������������������鯜鯝鯞鯟鯠鯡鯢鯣鯤鯥鯦鯧鯨鯩鯪鯫鯬鯭鯮鯯鯰鯱鯲鯳鯴鯵鯶鯷鯸鯹鯺鯻鯼鯽鯾鯿鰀鰁鰂鰃鰄鰅鰆鰇鰈鰉鰊鰋鰌鰍鰎鰏鰐鰑鰒鰓鰔鰕鰖鰗鰘鰙鰚�鰛鰜鰝鰞鰟鰠鰡鰢鰣鰤鰥鰦鰧鰨鰩鰪鰫鰬鰭鰮鰯鰰鰱鰲鰳鰴鰵鰶鰷鰸鰹鰺鰻觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅龆龇龈龉龊龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞鲟鲠鲡鲢鲣鲥鲦鲧鲨鲩鲫鲭鲮鲰鲱鲲鲳鲴鲵鲶鲷鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋�".split("");for(a=0;a!=t[246].length;++a)if(t[246][a].charCodeAt(0)!==65533){r[t[246][a]]=62976+a;e[62976+a]=t[246][a]}t[247]="����������������������������������������������������������������鰼鰽鰾鰿鱀鱁鱂鱃鱄鱅鱆鱇鱈鱉鱊鱋鱌鱍鱎鱏鱐鱑鱒鱓鱔鱕鱖鱗鱘鱙鱚鱛鱜鱝鱞鱟鱠鱡鱢鱣鱤鱥鱦鱧鱨鱩鱪鱫鱬鱭鱮鱯鱰鱱鱲鱳鱴鱵鱶鱷鱸鱹鱺�鱻鱽鱾鲀鲃鲄鲉鲊鲌鲏鲓鲖鲗鲘鲙鲝鲪鲬鲯鲹鲾鲿鳀鳁鳂鳈鳉鳑鳒鳚鳛鳠鳡鳌鳍鳎鳏鳐鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄�".split("");for(a=0;a!=t[247].length;++a)if(t[247][a].charCodeAt(0)!==65533){r[t[247][a]]=63232+a;e[63232+a]=t[247][a]}t[248]="����������������������������������������������������������������鳣鳤鳥鳦鳧鳨鳩鳪鳫鳬鳭鳮鳯鳰鳱鳲鳳鳴鳵鳶鳷鳸鳹鳺鳻鳼鳽鳾鳿鴀鴁鴂鴃鴄鴅鴆鴇鴈鴉鴊鴋鴌鴍鴎鴏鴐鴑鴒鴓鴔鴕鴖鴗鴘鴙鴚鴛鴜鴝鴞鴟鴠鴡�鴢鴣鴤鴥鴦鴧鴨鴩鴪鴫鴬鴭鴮鴯鴰鴱鴲鴳鴴鴵鴶鴷鴸鴹鴺鴻鴼鴽鴾鴿鵀鵁鵂�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[248].length;++a)if(t[248][a].charCodeAt(0)!==65533){r[t[248][a]]=63488+a;e[63488+a]=t[248][a]}t[249]="����������������������������������������������������������������鵃鵄鵅鵆鵇鵈鵉鵊鵋鵌鵍鵎鵏鵐鵑鵒鵓鵔鵕鵖鵗鵘鵙鵚鵛鵜鵝鵞鵟鵠鵡鵢鵣鵤鵥鵦鵧鵨鵩鵪鵫鵬鵭鵮鵯鵰鵱鵲鵳鵴鵵鵶鵷鵸鵹鵺鵻鵼鵽鵾鵿鶀鶁�鶂鶃鶄鶅鶆鶇鶈鶉鶊鶋鶌鶍鶎鶏鶐鶑鶒鶓鶔鶕鶖鶗鶘鶙鶚鶛鶜鶝鶞鶟鶠鶡鶢�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[249].length;++a)if(t[249][a].charCodeAt(0)!==65533){r[t[249][a]]=63744+a;e[63744+a]=t[249][a]}t[250]="����������������������������������������������������������������鶣鶤鶥鶦鶧鶨鶩鶪鶫鶬鶭鶮鶯鶰鶱鶲鶳鶴鶵鶶鶷鶸鶹鶺鶻鶼鶽鶾鶿鷀鷁鷂鷃鷄鷅鷆鷇鷈鷉鷊鷋鷌鷍鷎鷏鷐鷑鷒鷓鷔鷕鷖鷗鷘鷙鷚鷛鷜鷝鷞鷟鷠鷡�鷢鷣鷤鷥鷦鷧鷨鷩鷪鷫鷬鷭鷮鷯鷰鷱鷲鷳鷴鷵鷶鷷鷸鷹鷺鷻鷼鷽鷾鷿鸀鸁鸂�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[250].length;++a)if(t[250][a].charCodeAt(0)!==65533){r[t[250][a]]=64e3+a;e[64e3+a]=t[250][a]}t[251]="����������������������������������������������������������������鸃鸄鸅鸆鸇鸈鸉鸊鸋鸌鸍鸎鸏鸐鸑鸒鸓鸔鸕鸖鸗鸘鸙鸚鸛鸜鸝鸞鸤鸧鸮鸰鸴鸻鸼鹀鹍鹐鹒鹓鹔鹖鹙鹝鹟鹠鹡鹢鹥鹮鹯鹲鹴鹵鹶鹷鹸鹹鹺鹻鹼鹽麀�麁麃麄麅麆麉麊麌麍麎麏麐麑麔麕麖麗麘麙麚麛麜麞麠麡麢麣麤麥麧麨麩麪�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[251].length;++a)if(t[251][a].charCodeAt(0)!==65533){r[t[251][a]]=64256+a;e[64256+a]=t[251][a]}t[252]="����������������������������������������������������������������麫麬麭麮麯麰麱麲麳麵麶麷麹麺麼麿黀黁黂黃黅黆黇黈黊黋黌黐黒黓黕黖黗黙黚點黡黣黤黦黨黫黬黭黮黰黱黲黳黴黵黶黷黸黺黽黿鼀鼁鼂鼃鼄鼅�鼆鼇鼈鼉鼊鼌鼏鼑鼒鼔鼕鼖鼘鼚鼛鼜鼝鼞鼟鼡鼣鼤鼥鼦鼧鼨鼩鼪鼫鼭鼮鼰鼱�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[252].length;++a)if(t[252][a].charCodeAt(0)!==65533){r[t[252][a]]=64512+a;e[64512+a]=t[252][a]}t[253]="����������������������������������������������������������������鼲鼳鼴鼵鼶鼸鼺鼼鼿齀齁齂齃齅齆齇齈齉齊齋齌齍齎齏齒齓齔齕齖齗齘齙齚齛齜齝齞齟齠齡齢齣齤齥齦齧齨齩齪齫齬齭齮齯齰齱齲齳齴齵齶齷齸�齹齺齻齼齽齾龁龂龍龎龏龐龑龒龓龔龕龖龗龘龜龝龞龡龢龣龤龥郎凉秊裏隣�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[253].length;++a)if(t[253][a].charCodeAt(0)!==65533){r[t[253][a]]=64768+a;e[64768+a]=t[253][a]}t[254]="����������������������������������������������������������������兀嗀﨎﨏﨑﨓﨔礼﨟蘒﨡﨣﨤﨧﨨﨩��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[254].length;++a)if(t[254][a].charCodeAt(0)!==65533){r[t[254][a]]=65024+a;e[65024+a]=t[254][a]}return{enc:r,dec:e}}();cptable[949]=function(){var e=[],r={},t=[],a;t[0]="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[0].length;++a)if(t[0][a].charCodeAt(0)!==65533){r[t[0][a]]=0+a;e[0+a]=t[0][a]}t[129]="�����������������������������������������������������������������갂갃갅갆갋갌갍갎갏갘갞갟갡갢갣갥갦갧갨갩갪갫갮갲갳갴������갵갶갷갺갻갽갾갿걁걂걃걄걅걆걇걈걉걊걌걎걏걐걑걒걓걕������걖걗걙걚걛걝걞걟걠걡걢걣걤걥걦걧걨걩걪걫걬걭걮걯걲걳걵걶걹걻걼걽걾걿겂겇겈겍겎겏겑겒겓겕겖겗겘겙겚겛겞겢겣겤겥겦겧겫겭겮겱겲겳겴겵겶겷겺겾겿곀곂곃곅곆곇곉곊곋곍곎곏곐곑곒곓곔곖곘곙곚곛곜곝곞곟곢곣곥곦곩곫곭곮곲곴곷곸곹곺곻곾곿괁괂괃괅괇괈괉괊괋괎괐괒괓�".split("");for(a=0;a!=t[129].length;++a)if(t[129][a].charCodeAt(0)!==65533){r[t[129][a]]=33024+a;e[33024+a]=t[129][a]}t[130]="�����������������������������������������������������������������괔괕괖괗괙괚괛괝괞괟괡괢괣괤괥괦괧괨괪괫괮괯괰괱괲괳������괶괷괹괺괻괽괾괿굀굁굂굃굆굈굊굋굌굍굎굏굑굒굓굕굖굗������굙굚굛굜굝굞굟굠굢굤굥굦굧굨굩굪굫굮굯굱굲굷굸굹굺굾궀궃궄궅궆궇궊궋궍궎궏궑궒궓궔궕궖궗궘궙궚궛궞궟궠궡궢궣궥궦궧궨궩궪궫궬궭궮궯궰궱궲궳궴궵궶궸궹궺궻궼궽궾궿귂귃귅귆귇귉귊귋귌귍귎귏귒귔귕귖귗귘귙귚귛귝귞귟귡귢귣귥귦귧귨귩귪귫귬귭귮귯귰귱귲귳귴귵귶귷�".split("");for(a=0;a!=t[130].length;++a)if(t[130][a].charCodeAt(0)!==65533){r[t[130][a]]=33280+a;e[33280+a]=t[130][a]}t[131]="�����������������������������������������������������������������귺귻귽귾긂긃긄긅긆긇긊긌긎긏긐긑긒긓긕긖긗긘긙긚긛긜������긝긞긟긠긡긢긣긤긥긦긧긨긩긪긫긬긭긮긯긲긳긵긶긹긻긼������긽긾긿깂깄깇깈깉깋깏깑깒깓깕깗깘깙깚깛깞깢깣깤깦깧깪깫깭깮깯깱깲깳깴깵깶깷깺깾깿꺀꺁꺂꺃꺆꺇꺈꺉꺊꺋꺍꺎꺏꺐꺑꺒꺓꺔꺕꺖꺗꺘꺙꺚꺛꺜꺝꺞꺟꺠꺡꺢꺣꺤꺥꺦꺧꺨꺩꺪꺫꺬꺭꺮꺯꺰꺱꺲꺳꺴꺵꺶꺷꺸꺹꺺꺻꺿껁껂껃껅껆껇껈껉껊껋껎껒껓껔껕껖껗껚껛껝껞껟껠껡껢껣껤껥�".split("");for(a=0;a!=t[131].length;++a)if(t[131][a].charCodeAt(0)!==65533){r[t[131][a]]=33536+a;e[33536+a]=t[131][a]}t[132]="�����������������������������������������������������������������껦껧껩껪껬껮껯껰껱껲껳껵껶껷껹껺껻껽껾껿꼀꼁꼂꼃꼄꼅������꼆꼉꼊꼋꼌꼎꼏꼑꼒꼓꼔꼕꼖꼗꼘꼙꼚꼛꼜꼝꼞꼟꼠꼡꼢꼣������꼤꼥꼦꼧꼨꼩꼪꼫꼮꼯꼱꼳꼵꼶꼷꼸꼹꼺꼻꼾꽀꽄꽅꽆꽇꽊꽋꽌꽍꽎꽏꽑꽒꽓꽔꽕꽖꽗꽘꽙꽚꽛꽞꽟꽠꽡꽢꽣꽦꽧꽨꽩꽪꽫꽬꽭꽮꽯꽰꽱꽲꽳꽴꽵꽶꽷꽸꽺꽻꽼꽽꽾꽿꾁꾂꾃꾅꾆꾇꾉꾊꾋꾌꾍꾎꾏꾒꾓꾔꾖꾗꾘꾙꾚꾛꾝꾞꾟꾠꾡꾢꾣꾤꾥꾦꾧꾨꾩꾪꾫꾬꾭꾮꾯꾰꾱꾲꾳꾴꾵꾶꾷꾺꾻꾽꾾�".split("");for(a=0;a!=t[132].length;++a)if(t[132][a].charCodeAt(0)!==65533){r[t[132][a]]=33792+a;e[33792+a]=t[132][a]}t[133]="�����������������������������������������������������������������꾿꿁꿂꿃꿄꿅꿆꿊꿌꿏꿐꿑꿒꿓꿕꿖꿗꿘꿙꿚꿛꿝꿞꿟꿠꿡������꿢꿣꿤꿥꿦꿧꿪꿫꿬꿭꿮꿯꿲꿳꿵꿶꿷꿹꿺꿻꿼꿽꿾꿿뀂뀃������뀅뀆뀇뀈뀉뀊뀋뀍뀎뀏뀑뀒뀓뀕뀖뀗뀘뀙뀚뀛뀞뀟뀠뀡뀢뀣뀤뀥뀦뀧뀩뀪뀫뀬뀭뀮뀯뀰뀱뀲뀳뀴뀵뀶뀷뀸뀹뀺뀻뀼뀽뀾뀿끀끁끂끃끆끇끉끋끍끏끐끑끒끖끘끚끛끜끞끟끠끡끢끣끤끥끦끧끨끩끪끫끬끭끮끯끰끱끲끳끴끵끶끷끸끹끺끻끾끿낁낂낃낅낆낇낈낉낊낋낎낐낒낓낔낕낖낗낛낝낞낣낤�".split("");for(a=0;a!=t[133].length;++a)if(t[133][a].charCodeAt(0)!==65533){r[t[133][a]]=34048+a;e[34048+a]=t[133][a]}t[134]="�����������������������������������������������������������������낥낦낧낪낰낲낶낷낹낺낻낽낾낿냀냁냂냃냆냊냋냌냍냎냏냒������냓냕냖냗냙냚냛냜냝냞냟냡냢냣냤냦냧냨냩냪냫냬냭냮냯냰������냱냲냳냴냵냶냷냸냹냺냻냼냽냾냿넀넁넂넃넄넅넆넇넊넍넎넏넑넔넕넖넗넚넞넟넠넡넢넦넧넩넪넫넭넮넯넰넱넲넳넶넺넻넼넽넾넿녂녃녅녆녇녉녊녋녌녍녎녏녒녓녖녗녙녚녛녝녞녟녡녢녣녤녥녦녧녨녩녪녫녬녭녮녯녰녱녲녳녴녵녶녷녺녻녽녾녿놁놃놄놅놆놇놊놌놎놏놐놑놕놖놗놙놚놛놝�".split("");for(a=0;a!=t[134].length;++a)if(t[134][a].charCodeAt(0)!==65533){r[t[134][a]]=34304+a;e[34304+a]=t[134][a]}t[135]="�����������������������������������������������������������������놞놟놠놡놢놣놤놥놦놧놩놪놫놬놭놮놯놰놱놲놳놴놵놶놷놸������놹놺놻놼놽놾놿뇀뇁뇂뇃뇄뇅뇆뇇뇈뇉뇊뇋뇍뇎뇏뇑뇒뇓뇕������뇖뇗뇘뇙뇚뇛뇞뇠뇡뇢뇣뇤뇥뇦뇧뇪뇫뇭뇮뇯뇱뇲뇳뇴뇵뇶뇷뇸뇺뇼뇾뇿눀눁눂눃눆눇눉눊눍눎눏눐눑눒눓눖눘눚눛눜눝눞눟눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눵눶눷눸눹눺눻눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉙뉚뉛뉝뉞뉟뉡뉢뉣뉤뉥뉦뉧뉪뉫뉬뉭뉮�".split("");for(a=0;a!=t[135].length;++a)if(t[135][a].charCodeAt(0)!==65533){r[t[135][a]]=34560+a;e[34560+a]=t[135][a]}t[136]="�����������������������������������������������������������������뉯뉰뉱뉲뉳뉶뉷뉸뉹뉺뉻뉽뉾뉿늀늁늂늃늆늇늈늊늋늌늍늎������늏늒늓늕늖늗늛늜늝늞늟늢늤늧늨늩늫늭늮늯늱늲늳늵늶늷������늸늹늺늻늼늽늾늿닀닁닂닃닄닅닆닇닊닋닍닎닏닑닓닔닕닖닗닚닜닞닟닠닡닣닧닩닪닰닱닲닶닼닽닾댂댃댅댆댇댉댊댋댌댍댎댏댒댖댗댘댙댚댛댝댞댟댠댡댢댣댤댥댦댧댨댩댪댫댬댭댮댯댰댱댲댳댴댵댶댷댸댹댺댻댼댽댾댿덀덁덂덃덄덅덆덇덈덉덊덋덌덍덎덏덐덑덒덓덗덙덚덝덠덡덢덣�".split("");for(a=0;a!=t[136].length;++a)if(t[136][a].charCodeAt(0)!==65533){r[t[136][a]]=34816+a;e[34816+a]=t[136][a]}t[137]="�����������������������������������������������������������������덦덨덪덬덭덯덲덳덵덶덷덹덺덻덼덽덾덿뎂뎆뎇뎈뎉뎊뎋뎍������뎎뎏뎑뎒뎓뎕뎖뎗뎘뎙뎚뎛뎜뎝뎞뎟뎢뎣뎤뎥뎦뎧뎩뎪뎫뎭������뎮뎯뎰뎱뎲뎳뎴뎵뎶뎷뎸뎹뎺뎻뎼뎽뎾뎿돀돁돂돃돆돇돉돊돍돏돑돒돓돖돘돚돜돞돟돡돢돣돥돦돧돩돪돫돬돭돮돯돰돱돲돳돴돵돶돷돸돹돺돻돽돾돿됀됁됂됃됄됅됆됇됈됉됊됋됌됍됎됏됑됒됓됔됕됖됗됙됚됛됝됞됟됡됢됣됤됥됦됧됪됬됭됮됯됰됱됲됳됵됶됷됸됹됺됻됼됽됾됿둀둁둂둃둄�".split("");for(a=0;a!=t[137].length;++a)if(t[137][a].charCodeAt(0)!==65533){r[t[137][a]]=35072+a;e[35072+a]=t[137][a]}t[138]="�����������������������������������������������������������������둅둆둇둈둉둊둋둌둍둎둏둒둓둕둖둗둙둚둛둜둝둞둟둢둤둦������둧둨둩둪둫둭둮둯둰둱둲둳둴둵둶둷둸둹둺둻둼둽둾둿뒁뒂������뒃뒄뒅뒆뒇뒉뒊뒋뒌뒍뒎뒏뒐뒑뒒뒓뒔뒕뒖뒗뒘뒙뒚뒛뒜뒞뒟뒠뒡뒢뒣뒥뒦뒧뒩뒪뒫뒭뒮뒯뒰뒱뒲뒳뒴뒶뒸뒺뒻뒼뒽뒾뒿듁듂듃듅듆듇듉듊듋듌듍듎듏듑듒듓듔듖듗듘듙듚듛듞듟듡듢듥듧듨듩듪듫듮듰듲듳듴듵듶듷듹듺듻듼듽듾듿딀딁딂딃딄딅딆딇딈딉딊딋딌딍딎딏딐딑딒딓딖딗딙딚딝�".split("");for(a=0;a!=t[138].length;++a)if(t[138][a].charCodeAt(0)!==65533){r[t[138][a]]=35328+a;e[35328+a]=t[138][a]}t[139]="�����������������������������������������������������������������딞딟딠딡딢딣딦딫딬딭딮딯딲딳딵딶딷딹딺딻딼딽딾딿땂땆������땇땈땉땊땎땏땑땒땓땕땖땗땘땙땚땛땞땢땣땤땥땦땧땨땩땪������땫땬땭땮땯땰땱땲땳땴땵땶땷땸땹땺땻땼땽땾땿떀떁떂떃떄떅떆떇떈떉떊떋떌떍떎떏떐떑떒떓떔떕떖떗떘떙떚떛떜떝떞떟떢떣떥떦떧떩떬떭떮떯떲떶떷떸떹떺떾떿뗁뗂뗃뗅뗆뗇뗈뗉뗊뗋뗎뗒뗓뗔뗕뗖뗗뗙뗚뗛뗜뗝뗞뗟뗠뗡뗢뗣뗤뗥뗦뗧뗨뗩뗪뗫뗭뗮뗯뗰뗱뗲뗳뗴뗵뗶뗷뗸뗹뗺뗻뗼뗽뗾뗿�".split("");for(a=0;a!=t[139].length;++a)if(t[139][a].charCodeAt(0)!==65533){r[t[139][a]]=35584+a;e[35584+a]=t[139][a]}t[140]="�����������������������������������������������������������������똀똁똂똃똄똅똆똇똈똉똊똋똌똍똎똏똒똓똕똖똗똙똚똛똜똝������똞똟똠똡똢똣똤똦똧똨똩똪똫똭똮똯똰똱똲똳똵똶똷똸똹똺������똻똼똽똾똿뙀뙁뙂뙃뙄뙅뙆뙇뙉뙊뙋뙌뙍뙎뙏뙐뙑뙒뙓뙔뙕뙖뙗뙘뙙뙚뙛뙜뙝뙞뙟뙠뙡뙢뙣뙥뙦뙧뙩뙪뙫뙬뙭뙮뙯뙰뙱뙲뙳뙴뙵뙶뙷뙸뙹뙺뙻뙼뙽뙾뙿뚀뚁뚂뚃뚄뚅뚆뚇뚈뚉뚊뚋뚌뚍뚎뚏뚐뚑뚒뚓뚔뚕뚖뚗뚘뚙뚚뚛뚞뚟뚡뚢뚣뚥뚦뚧뚨뚩뚪뚭뚮뚯뚰뚲뚳뚴뚵뚶뚷뚸뚹뚺뚻뚼뚽뚾뚿뛀뛁뛂�".split("");for(a=0;a!=t[140].length;++a)if(t[140][a].charCodeAt(0)!==65533){r[t[140][a]]=35840+a;e[35840+a]=t[140][a]}t[141]="�����������������������������������������������������������������뛃뛄뛅뛆뛇뛈뛉뛊뛋뛌뛍뛎뛏뛐뛑뛒뛓뛕뛖뛗뛘뛙뛚뛛뛜뛝������뛞뛟뛠뛡뛢뛣뛤뛥뛦뛧뛨뛩뛪뛫뛬뛭뛮뛯뛱뛲뛳뛵뛶뛷뛹뛺������뛻뛼뛽뛾뛿뜂뜃뜄뜆뜇뜈뜉뜊뜋뜌뜍뜎뜏뜐뜑뜒뜓뜔뜕뜖뜗뜘뜙뜚뜛뜜뜝뜞뜟뜠뜡뜢뜣뜤뜥뜦뜧뜪뜫뜭뜮뜱뜲뜳뜴뜵뜶뜷뜺뜼뜽뜾뜿띀띁띂띃띅띆띇띉띊띋띍띎띏띐띑띒띓띖띗띘띙띚띛띜띝띞띟띡띢띣띥띦띧띩띪띫띬띭띮띯띲띴띶띷띸띹띺띻띾띿랁랂랃랅랆랇랈랉랊랋랎랓랔랕랚랛랝랞�".split("");for(a=0;a!=t[141].length;++a)if(t[141][a].charCodeAt(0)!==65533){r[t[141][a]]=36096+a;e[36096+a]=t[141][a]}t[142]="�����������������������������������������������������������������랟랡랢랣랤랥랦랧랪랮랯랰랱랲랳랶랷랹랺랻랼랽랾랿럀럁������럂럃럄럅럆럈럊럋럌럍럎럏럐럑럒럓럔럕럖럗럘럙럚럛럜럝������럞럟럠럡럢럣럤럥럦럧럨럩럪럫럮럯럱럲럳럵럶럷럸럹럺럻럾렂렃렄렅렆렊렋렍렎렏렑렒렓렔렕렖렗렚렜렞렟렠렡렢렣렦렧렩렪렫렭렮렯렰렱렲렳렶렺렻렼렽렾렿롁롂롃롅롆롇롈롉롊롋롌롍롎롏롐롒롔롕롖롗롘롙롚롛롞롟롡롢롣롥롦롧롨롩롪롫롮롰롲롳롴롵롶롷롹롺롻롽롾롿뢀뢁뢂뢃뢄�".split("");for(a=0;a!=t[142].length;++a)if(t[142][a].charCodeAt(0)!==65533){r[t[142][a]]=36352+a;e[36352+a]=t[142][a]}t[143]="�����������������������������������������������������������������뢅뢆뢇뢈뢉뢊뢋뢌뢎뢏뢐뢑뢒뢓뢔뢕뢖뢗뢘뢙뢚뢛뢜뢝뢞뢟������뢠뢡뢢뢣뢤뢥뢦뢧뢩뢪뢫뢬뢭뢮뢯뢱뢲뢳뢵뢶뢷뢹뢺뢻뢼뢽������뢾뢿룂룄룆룇룈룉룊룋룍룎룏룑룒룓룕룖룗룘룙룚룛룜룞룠룢룣룤룥룦룧룪룫룭룮룯룱룲룳룴룵룶룷룺룼룾룿뤀뤁뤂뤃뤅뤆뤇뤈뤉뤊뤋뤌뤍뤎뤏뤐뤑뤒뤓뤔뤕뤖뤗뤙뤚뤛뤜뤝뤞뤟뤡뤢뤣뤤뤥뤦뤧뤨뤩뤪뤫뤬뤭뤮뤯뤰뤱뤲뤳뤴뤵뤶뤷뤸뤹뤺뤻뤾뤿륁륂륃륅륆륇륈륉륊륋륍륎륐륒륓륔륕륖륗�".split("");for(a=0;a!=t[143].length;++a)if(t[143][a].charCodeAt(0)!==65533){r[t[143][a]]=36608+a;e[36608+a]=t[143][a]}t[144]="�����������������������������������������������������������������륚륛륝륞륟륡륢륣륤륥륦륧륪륬륮륯륰륱륲륳륶륷륹륺륻륽������륾륿릀릁릂릃릆릈릋릌릏릐릑릒릓릔릕릖릗릘릙릚릛릜릝릞������릟릠릡릢릣릤릥릦릧릨릩릪릫릮릯릱릲릳릵릶릷릸릹릺릻릾맀맂맃맄맅맆맇맊맋맍맓맔맕맖맗맚맜맟맠맢맦맧맩맪맫맭맮맯맰맱맲맳맶맻맼맽맾맿먂먃먄먅먆먇먉먊먋먌먍먎먏먐먑먒먓먔먖먗먘먙먚먛먜먝먞먟먠먡먢먣먤먥먦먧먨먩먪먫먬먭먮먯먰먱먲먳먴먵먶먷먺먻먽먾먿멁멃멄멅멆�".split("");for(a=0;a!=t[144].length;++a)if(t[144][a].charCodeAt(0)!==65533){r[t[144][a]]=36864+a;e[36864+a]=t[144][a]}t[145]="�����������������������������������������������������������������멇멊멌멏멐멑멒멖멗멙멚멛멝멞멟멠멡멢멣멦멪멫멬멭멮멯������멲멳멵멶멷멹멺멻멼멽멾멿몀몁몂몆몈몉몊몋몍몎몏몐몑몒������몓몔몕몖몗몘몙몚몛몜몝몞몟몠몡몢몣몤몥몦몧몪몭몮몯몱몳몴몵몶몷몺몼몾몿뫀뫁뫂뫃뫅뫆뫇뫉뫊뫋뫌뫍뫎뫏뫐뫑뫒뫓뫔뫕뫖뫗뫚뫛뫜뫝뫞뫟뫠뫡뫢뫣뫤뫥뫦뫧뫨뫩뫪뫫뫬뫭뫮뫯뫰뫱뫲뫳뫴뫵뫶뫷뫸뫹뫺뫻뫽뫾뫿묁묂묃묅묆묇묈묉묊묋묌묎묐묒묓묔묕묖묗묙묚묛묝묞묟묡묢묣묤묥묦묧�".split("");for(a=0;a!=t[145].length;++a)if(t[145][a].charCodeAt(0)!==65533){r[t[145][a]]=37120+a;e[37120+a]=t[145][a]}t[146]="�����������������������������������������������������������������묨묪묬묭묮묯묰묱묲묳묷묹묺묿뭀뭁뭂뭃뭆뭈뭊뭋뭌뭎뭑뭒������뭓뭕뭖뭗뭙뭚뭛뭜뭝뭞뭟뭠뭢뭤뭥뭦뭧뭨뭩뭪뭫뭭뭮뭯뭰뭱������뭲뭳뭴뭵뭶뭷뭸뭹뭺뭻뭼뭽뭾뭿뮀뮁뮂뮃뮄뮅뮆뮇뮉뮊뮋뮍뮎뮏뮑뮒뮓뮔뮕뮖뮗뮘뮙뮚뮛뮜뮝뮞뮟뮠뮡뮢뮣뮥뮦뮧뮩뮪뮫뮭뮮뮯뮰뮱뮲뮳뮵뮶뮸뮹뮺뮻뮼뮽뮾뮿믁믂믃믅믆믇믉믊믋믌믍믎믏믑믒믔믕믖믗믘믙믚믛믜믝믞믟믠믡믢믣믤믥믦믧믨믩믪믫믬믭믮믯믰믱믲믳믴믵믶믷믺믻믽믾밁�".split("");for(a=0;a!=t[146].length;++a)if(t[146][a].charCodeAt(0)!==65533){r[t[146][a]]=37376+a;e[37376+a]=t[146][a]}t[147]="�����������������������������������������������������������������밃밄밅밆밇밊밎밐밒밓밙밚밠밡밢밣밦밨밪밫밬밮밯밲밳밵������밶밷밹밺밻밼밽밾밿뱂뱆뱇뱈뱊뱋뱎뱏뱑뱒뱓뱔뱕뱖뱗뱘뱙������뱚뱛뱜뱞뱟뱠뱡뱢뱣뱤뱥뱦뱧뱨뱩뱪뱫뱬뱭뱮뱯뱰뱱뱲뱳뱴뱵뱶뱷뱸뱹뱺뱻뱼뱽뱾뱿벀벁벂벃벆벇벉벊벍벏벐벑벒벓벖벘벛벜벝벞벟벢벣벥벦벩벪벫벬벭벮벯벲벶벷벸벹벺벻벾벿볁볂볃볅볆볇볈볉볊볋볌볎볒볓볔볖볗볙볚볛볝볞볟볠볡볢볣볤볥볦볧볨볩볪볫볬볭볮볯볰볱볲볳볷볹볺볻볽�".split("");for(a=0;a!=t[147].length;++a)if(t[147][a].charCodeAt(0)!==65533){r[t[147][a]]=37632+a;e[37632+a]=t[147][a]}t[148]="�����������������������������������������������������������������볾볿봀봁봂봃봆봈봊봋봌봍봎봏봑봒봓봕봖봗봘봙봚봛봜봝������봞봟봠봡봢봣봥봦봧봨봩봪봫봭봮봯봰봱봲봳봴봵봶봷봸봹������봺봻봼봽봾봿뵁뵂뵃뵄뵅뵆뵇뵊뵋뵍뵎뵏뵑뵒뵓뵔뵕뵖뵗뵚뵛뵜뵝뵞뵟뵠뵡뵢뵣뵥뵦뵧뵩뵪뵫뵬뵭뵮뵯뵰뵱뵲뵳뵴뵵뵶뵷뵸뵹뵺뵻뵼뵽뵾뵿붂붃붅붆붋붌붍붎붏붒붔붖붗붘붛붝붞붟붠붡붢붣붥붦붧붨붩붪붫붬붭붮붯붱붲붳붴붵붶붷붹붺붻붼붽붾붿뷀뷁뷂뷃뷄뷅뷆뷇뷈뷉뷊뷋뷌뷍뷎뷏뷐뷑�".split("");for(a=0;a!=t[148].length;++a)if(t[148][a].charCodeAt(0)!==65533){r[t[148][a]]=37888+a;e[37888+a]=t[148][a]}t[149]="�����������������������������������������������������������������뷒뷓뷖뷗뷙뷚뷛뷝뷞뷟뷠뷡뷢뷣뷤뷥뷦뷧뷨뷪뷫뷬뷭뷮뷯뷱������뷲뷳뷵뷶뷷뷹뷺뷻뷼뷽뷾뷿븁븂븄븆븇븈븉븊븋븎븏븑븒븓������븕븖븗븘븙븚븛븞븠븡븢븣븤븥븦븧븨븩븪븫븬븭븮븯븰븱븲븳븴븵븶븷븸븹븺븻븼븽븾븿빀빁빂빃빆빇빉빊빋빍빏빐빑빒빓빖빘빜빝빞빟빢빣빥빦빧빩빫빬빭빮빯빲빶빷빸빹빺빾빿뺁뺂뺃뺅뺆뺇뺈뺉뺊뺋뺎뺒뺓뺔뺕뺖뺗뺚뺛뺜뺝뺞뺟뺠뺡뺢뺣뺤뺥뺦뺧뺩뺪뺫뺬뺭뺮뺯뺰뺱뺲뺳뺴뺵뺶뺷�".split("");for(a=0;a!=t[149].length;++a)if(t[149][a].charCodeAt(0)!==65533){r[t[149][a]]=38144+a;e[38144+a]=t[149][a]}t[150]="�����������������������������������������������������������������뺸뺹뺺뺻뺼뺽뺾뺿뻀뻁뻂뻃뻄뻅뻆뻇뻈뻉뻊뻋뻌뻍뻎뻏뻒뻓������뻕뻖뻙뻚뻛뻜뻝뻞뻟뻡뻢뻦뻧뻨뻩뻪뻫뻭뻮뻯뻰뻱뻲뻳뻴뻵������뻶뻷뻸뻹뻺뻻뻼뻽뻾뻿뼀뼂뼃뼄뼅뼆뼇뼊뼋뼌뼍뼎뼏뼐뼑뼒뼓뼔뼕뼖뼗뼚뼞뼟뼠뼡뼢뼣뼤뼥뼦뼧뼨뼩뼪뼫뼬뼭뼮뼯뼰뼱뼲뼳뼴뼵뼶뼷뼸뼹뼺뼻뼼뼽뼾뼿뽂뽃뽅뽆뽇뽉뽊뽋뽌뽍뽎뽏뽒뽓뽔뽖뽗뽘뽙뽚뽛뽜뽝뽞뽟뽠뽡뽢뽣뽤뽥뽦뽧뽨뽩뽪뽫뽬뽭뽮뽯뽰뽱뽲뽳뽴뽵뽶뽷뽸뽹뽺뽻뽼뽽뽾뽿뾀뾁뾂�".split("");for(a=0;a!=t[150].length;++a)if(t[150][a].charCodeAt(0)!==65533){r[t[150][a]]=38400+a;e[38400+a]=t[150][a]}t[151]="�����������������������������������������������������������������뾃뾄뾅뾆뾇뾈뾉뾊뾋뾌뾍뾎뾏뾐뾑뾒뾓뾕뾖뾗뾘뾙뾚뾛뾜뾝������뾞뾟뾠뾡뾢뾣뾤뾥뾦뾧뾨뾩뾪뾫뾬뾭뾮뾯뾱뾲뾳뾴뾵뾶뾷뾸������뾹뾺뾻뾼뾽뾾뾿뿀뿁뿂뿃뿄뿆뿇뿈뿉뿊뿋뿎뿏뿑뿒뿓뿕뿖뿗뿘뿙뿚뿛뿝뿞뿠뿢뿣뿤뿥뿦뿧뿨뿩뿪뿫뿬뿭뿮뿯뿰뿱뿲뿳뿴뿵뿶뿷뿸뿹뿺뿻뿼뿽뿾뿿쀀쀁쀂쀃쀄쀅쀆쀇쀈쀉쀊쀋쀌쀍쀎쀏쀐쀑쀒쀓쀔쀕쀖쀗쀘쀙쀚쀛쀜쀝쀞쀟쀠쀡쀢쀣쀤쀥쀦쀧쀨쀩쀪쀫쀬쀭쀮쀯쀰쀱쀲쀳쀴쀵쀶쀷쀸쀹쀺쀻쀽쀾쀿�".split("");for(a=0;a!=t[151].length;++a)if(t[151][a].charCodeAt(0)!==65533){r[t[151][a]]=38656+a;e[38656+a]=t[151][a]}t[152]="�����������������������������������������������������������������쁀쁁쁂쁃쁄쁅쁆쁇쁈쁉쁊쁋쁌쁍쁎쁏쁐쁒쁓쁔쁕쁖쁗쁙쁚쁛������쁝쁞쁟쁡쁢쁣쁤쁥쁦쁧쁪쁫쁬쁭쁮쁯쁰쁱쁲쁳쁴쁵쁶쁷쁸쁹������쁺쁻쁼쁽쁾쁿삀삁삂삃삄삅삆삇삈삉삊삋삌삍삎삏삒삓삕삖삗삙삚삛삜삝삞삟삢삤삦삧삨삩삪삫삮삱삲삷삸삹삺삻삾샂샃샄샆샇샊샋샍샎샏샑샒샓샔샕샖샗샚샞샟샠샡샢샣샦샧샩샪샫샭샮샯샰샱샲샳샶샸샺샻샼샽샾샿섁섂섃섅섆섇섉섊섋섌섍섎섏섑섒섓섔섖섗섘섙섚섛섡섢섥섨섩섪섫섮�".split("");for(a=0;a!=t[152].length;++a)if(t[152][a].charCodeAt(0)!==65533){r[t[152][a]]=38912+a;e[38912+a]=t[152][a]}t[153]="�����������������������������������������������������������������섲섳섴섵섷섺섻섽섾섿셁셂셃셄셅셆셇셊셎셏셐셑셒셓셖셗������셙셚셛셝셞셟셠셡셢셣셦셪셫셬셭셮셯셱셲셳셵셶셷셹셺셻������셼셽셾셿솀솁솂솃솄솆솇솈솉솊솋솏솑솒솓솕솗솘솙솚솛솞솠솢솣솤솦솧솪솫솭솮솯솱솲솳솴솵솶솷솸솹솺솻솼솾솿쇀쇁쇂쇃쇅쇆쇇쇉쇊쇋쇍쇎쇏쇐쇑쇒쇓쇕쇖쇙쇚쇛쇜쇝쇞쇟쇡쇢쇣쇥쇦쇧쇩쇪쇫쇬쇭쇮쇯쇲쇴쇵쇶쇷쇸쇹쇺쇻쇾쇿숁숂숃숅숆숇숈숉숊숋숎숐숒숓숔숕숖숗숚숛숝숞숡숢숣�".split("");for(a=0;a!=t[153].length;++a)if(t[153][a].charCodeAt(0)!==65533){r[t[153][a]]=39168+a;e[39168+a]=t[153][a]}t[154]="�����������������������������������������������������������������숤숥숦숧숪숬숮숰숳숵숶숷숸숹숺숻숼숽숾숿쉀쉁쉂쉃쉄쉅������쉆쉇쉉쉊쉋쉌쉍쉎쉏쉒쉓쉕쉖쉗쉙쉚쉛쉜쉝쉞쉟쉡쉢쉣쉤쉦������쉧쉨쉩쉪쉫쉮쉯쉱쉲쉳쉵쉶쉷쉸쉹쉺쉻쉾슀슂슃슄슅슆슇슊슋슌슍슎슏슑슒슓슔슕슖슗슙슚슜슞슟슠슡슢슣슦슧슩슪슫슮슯슰슱슲슳슶슸슺슻슼슽슾슿싀싁싂싃싄싅싆싇싈싉싊싋싌싍싎싏싐싑싒싓싔싕싖싗싘싙싚싛싞싟싡싢싥싦싧싨싩싪싮싰싲싳싴싵싷싺싽싾싿쌁쌂쌃쌄쌅쌆쌇쌊쌋쌎쌏�".split("");for(a=0;a!=t[154].length;++a)if(t[154][a].charCodeAt(0)!==65533){r[t[154][a]]=39424+a;e[39424+a]=t[154][a]}t[155]="�����������������������������������������������������������������쌐쌑쌒쌖쌗쌙쌚쌛쌝쌞쌟쌠쌡쌢쌣쌦쌧쌪쌫쌬쌭쌮쌯쌰쌱쌲������쌳쌴쌵쌶쌷쌸쌹쌺쌻쌼쌽쌾쌿썀썁썂썃썄썆썇썈썉썊썋썌썍������썎썏썐썑썒썓썔썕썖썗썘썙썚썛썜썝썞썟썠썡썢썣썤썥썦썧썪썫썭썮썯썱썳썴썵썶썷썺썻썾썿쎀쎁쎂쎃쎅쎆쎇쎉쎊쎋쎍쎎쎏쎐쎑쎒쎓쎔쎕쎖쎗쎘쎙쎚쎛쎜쎝쎞쎟쎠쎡쎢쎣쎤쎥쎦쎧쎨쎩쎪쎫쎬쎭쎮쎯쎰쎱쎲쎳쎴쎵쎶쎷쎸쎹쎺쎻쎼쎽쎾쎿쏁쏂쏃쏄쏅쏆쏇쏈쏉쏊쏋쏌쏍쏎쏏쏐쏑쏒쏓쏔쏕쏖쏗쏚�".split("");for(a=0;a!=t[155].length;++a)if(t[155][a].charCodeAt(0)!==65533){r[t[155][a]]=39680+a;e[39680+a]=t[155][a]}t[156]="�����������������������������������������������������������������쏛쏝쏞쏡쏣쏤쏥쏦쏧쏪쏫쏬쏮쏯쏰쏱쏲쏳쏶쏷쏹쏺쏻쏼쏽쏾������쏿쐀쐁쐂쐃쐄쐅쐆쐇쐉쐊쐋쐌쐍쐎쐏쐑쐒쐓쐔쐕쐖쐗쐘쐙쐚������쐛쐜쐝쐞쐟쐠쐡쐢쐣쐥쐦쐧쐨쐩쐪쐫쐭쐮쐯쐱쐲쐳쐵쐶쐷쐸쐹쐺쐻쐾쐿쑀쑁쑂쑃쑄쑅쑆쑇쑉쑊쑋쑌쑍쑎쑏쑐쑑쑒쑓쑔쑕쑖쑗쑘쑙쑚쑛쑜쑝쑞쑟쑠쑡쑢쑣쑦쑧쑩쑪쑫쑭쑮쑯쑰쑱쑲쑳쑶쑷쑸쑺쑻쑼쑽쑾쑿쒁쒂쒃쒄쒅쒆쒇쒈쒉쒊쒋쒌쒍쒎쒏쒐쒑쒒쒓쒕쒖쒗쒘쒙쒚쒛쒝쒞쒟쒠쒡쒢쒣쒤쒥쒦쒧쒨쒩�".split("");for(a=0;a!=t[156].length;++a)if(t[156][a].charCodeAt(0)!==65533){r[t[156][a]]=39936+a;e[39936+a]=t[156][a]}t[157]="�����������������������������������������������������������������쒪쒫쒬쒭쒮쒯쒰쒱쒲쒳쒴쒵쒶쒷쒹쒺쒻쒽쒾쒿쓀쓁쓂쓃쓄쓅������쓆쓇쓈쓉쓊쓋쓌쓍쓎쓏쓐쓑쓒쓓쓔쓕쓖쓗쓘쓙쓚쓛쓜쓝쓞쓟������쓠쓡쓢쓣쓤쓥쓦쓧쓨쓪쓫쓬쓭쓮쓯쓲쓳쓵쓶쓷쓹쓻쓼쓽쓾씂씃씄씅씆씇씈씉씊씋씍씎씏씑씒씓씕씖씗씘씙씚씛씝씞씟씠씡씢씣씤씥씦씧씪씫씭씮씯씱씲씳씴씵씶씷씺씼씾씿앀앁앂앃앆앇앋앏앐앑앒앖앚앛앜앟앢앣앥앦앧앩앪앫앬앭앮앯앲앶앷앸앹앺앻앾앿얁얂얃얅얆얈얉얊얋얎얐얒얓얔�".split("");for(a=0;a!=t[157].length;++a)if(t[157][a].charCodeAt(0)!==65533){r[t[157][a]]=40192+a;e[40192+a]=t[157][a]}t[158]="�����������������������������������������������������������������얖얙얚얛얝얞얟얡얢얣얤얥얦얧얨얪얫얬얭얮얯얰얱얲얳얶������얷얺얿엀엁엂엃엋엍엏엒엓엕엖엗엙엚엛엜엝엞엟엢엤엦엧������엨엩엪엫엯엱엲엳엵엸엹엺엻옂옃옄옉옊옋옍옎옏옑옒옓옔옕옖옗옚옝옞옟옠옡옢옣옦옧옩옪옫옯옱옲옶옸옺옼옽옾옿왂왃왅왆왇왉왊왋왌왍왎왏왒왖왗왘왙왚왛왞왟왡왢왣왤왥왦왧왨왩왪왫왭왮왰왲왳왴왵왶왷왺왻왽왾왿욁욂욃욄욅욆욇욊욌욎욏욐욑욒욓욖욗욙욚욛욝욞욟욠욡욢욣욦�".split("");for(a=0;a!=t[158].length;++a)if(t[158][a].charCodeAt(0)!==65533){r[t[158][a]]=40448+a;e[40448+a]=t[158][a]}t[159]="�����������������������������������������������������������������욨욪욫욬욭욮욯욲욳욵욶욷욻욼욽욾욿웂웄웆웇웈웉웊웋웎������웏웑웒웓웕웖웗웘웙웚웛웞웟웢웣웤웥웦웧웪웫웭웮웯웱웲������웳웴웵웶웷웺웻웼웾웿윀윁윂윃윆윇윉윊윋윍윎윏윐윑윒윓윖윘윚윛윜윝윞윟윢윣윥윦윧윩윪윫윬윭윮윯윲윴윶윸윹윺윻윾윿읁읂읃읅읆읇읈읉읋읎읐읙읚읛읝읞읟읡읢읣읤읥읦읧읩읪읬읭읮읯읰읱읲읳읶읷읹읺읻읿잀잁잂잆잋잌잍잏잒잓잕잙잛잜잝잞잟잢잧잨잩잪잫잮잯잱잲잳잵잶잷�".split("");for(a=0;a!=t[159].length;++a)if(t[159][a].charCodeAt(0)!==65533){r[t[159][a]]=40704+a;e[40704+a]=t[159][a]}t[160]="�����������������������������������������������������������������잸잹잺잻잾쟂쟃쟄쟅쟆쟇쟊쟋쟍쟏쟑쟒쟓쟔쟕쟖쟗쟙쟚쟛쟜������쟞쟟쟠쟡쟢쟣쟥쟦쟧쟩쟪쟫쟭쟮쟯쟰쟱쟲쟳쟴쟵쟶쟷쟸쟹쟺������쟻쟼쟽쟾쟿젂젃젅젆젇젉젋젌젍젎젏젒젔젗젘젙젚젛젞젟젡젢젣젥젦젧젨젩젪젫젮젰젲젳젴젵젶젷젹젺젻젽젾젿졁졂졃졄졅졆졇졊졋졎졏졐졑졒졓졕졖졗졘졙졚졛졜졝졞졟졠졡졢졣졤졥졦졧졨졩졪졫졬졭졮졯졲졳졵졶졷졹졻졼졽졾졿좂좄좈좉좊좎좏좐좑좒좓좕좖좗좘좙좚좛좜좞좠좢좣좤�".split("");for(a=0;a!=t[160].length;++a)if(t[160][a].charCodeAt(0)!==65533){r[t[160][a]]=40960+a;e[40960+a]=t[160][a]}t[161]="�����������������������������������������������������������������좥좦좧좩좪좫좬좭좮좯좰좱좲좳좴좵좶좷좸좹좺좻좾좿죀죁������죂죃죅죆죇죉죊죋죍죎죏죐죑죒죓죖죘죚죛죜죝죞죟죢죣죥������죦죧죨죩죪죫죬죭죮죯죰죱죲죳죴죶죷죸죹죺죻죾죿줁줂줃줇줈줉줊줋줎 、。·‥…¨〃­―∥\∼‘’“”〔〕〈〉《》「」『』【】±×÷≠≤≥∞∴°′″℃Å¢£¥♂♀∠⊥⌒∂∇≡≒§※☆★○●◎◇◆□■△▲▽▼→←↑↓↔〓≪≫√∽∝∵∫∬∈∋⊆⊇⊂⊃∪∩∧∨¬�".split("");for(a=0;a!=t[161].length;++a)if(t[161][a].charCodeAt(0)!==65533){r[t[161][a]]=41216+a;e[41216+a]=t[161][a]}t[162]="�����������������������������������������������������������������줐줒줓줔줕줖줗줙줚줛줜줝줞줟줠줡줢줣줤줥줦줧줨줩줪줫������줭줮줯줰줱줲줳줵줶줷줸줹줺줻줼줽줾줿쥀쥁쥂쥃쥄쥅쥆쥇������쥈쥉쥊쥋쥌쥍쥎쥏쥒쥓쥕쥖쥗쥙쥚쥛쥜쥝쥞쥟쥢쥤쥥쥦쥧쥨쥩쥪쥫쥭쥮쥯⇒⇔∀∃´~ˇ˘˝˚˙¸˛¡¿ː∮∑∏¤℉‰◁◀▷▶♤♠♡♥♧♣⊙◈▣◐◑▒▤▥▨▧▦▩♨☏☎☜☞¶†‡↕↗↙↖↘♭♩♪♬㉿㈜№㏇™㏂㏘℡€®������������������������".split("");for(a=0;a!=t[162].length;++a)if(t[162][a].charCodeAt(0)!==65533){r[t[162][a]]=41472+a;e[41472+a]=t[162][a]}t[163]="�����������������������������������������������������������������쥱쥲쥳쥵쥶쥷쥸쥹쥺쥻쥽쥾쥿즀즁즂즃즄즅즆즇즊즋즍즎즏������즑즒즓즔즕즖즗즚즜즞즟즠즡즢즣즤즥즦즧즨즩즪즫즬즭즮������즯즰즱즲즳즴즵즶즷즸즹즺즻즼즽즾즿짂짃짅짆짉짋짌짍짎짏짒짔짗짘짛!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[₩]^_`abcdefghijklmnopqrstuvwxyz{|} ̄�".split("");for(a=0;a!=t[163].length;++a)if(t[163][a].charCodeAt(0)!==65533){r[t[163][a]]=41728+a;e[41728+a]=t[163][a]}t[164]="�����������������������������������������������������������������짞짟짡짣짥짦짨짩짪짫짮짲짳짴짵짶짷짺짻짽짾짿쨁쨂쨃쨄������쨅쨆쨇쨊쨎쨏쨐쨑쨒쨓쨕쨖쨗쨙쨚쨛쨜쨝쨞쨟쨠쨡쨢쨣쨤쨥������쨦쨧쨨쨪쨫쨬쨭쨮쨯쨰쨱쨲쨳쨴쨵쨶쨷쨸쨹쨺쨻쨼쨽쨾쨿쩀쩁쩂쩃쩄쩅쩆ㄱㄲㄳㄴㄵㄶㄷㄸㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅃㅄㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎㅏㅐㅑㅒㅓㅔㅕㅖㅗㅘㅙㅚㅛㅜㅝㅞㅟㅠㅡㅢㅣㅤㅥㅦㅧㅨㅩㅪㅫㅬㅭㅮㅯㅰㅱㅲㅳㅴㅵㅶㅷㅸㅹㅺㅻㅼㅽㅾㅿㆀㆁㆂㆃㆄㆅㆆㆇㆈㆉㆊㆋㆌㆍㆎ�".split("");for(a=0;a!=t[164].length;++a)if(t[164][a].charCodeAt(0)!==65533){r[t[164][a]]=41984+a;e[41984+a]=t[164][a]}t[165]="�����������������������������������������������������������������쩇쩈쩉쩊쩋쩎쩏쩑쩒쩓쩕쩖쩗쩘쩙쩚쩛쩞쩢쩣쩤쩥쩦쩧쩩쩪������쩫쩬쩭쩮쩯쩰쩱쩲쩳쩴쩵쩶쩷쩸쩹쩺쩻쩼쩾쩿쪀쪁쪂쪃쪅쪆������쪇쪈쪉쪊쪋쪌쪍쪎쪏쪐쪑쪒쪓쪔쪕쪖쪗쪙쪚쪛쪜쪝쪞쪟쪠쪡쪢쪣쪤쪥쪦쪧ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ�����ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ�������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�������".split("");for(a=0;a!=t[165].length;++a)if(t[165][a].charCodeAt(0)!==65533){r[t[165][a]]=42240+a;e[42240+a]=t[165][a]}t[166]="�����������������������������������������������������������������쪨쪩쪪쪫쪬쪭쪮쪯쪰쪱쪲쪳쪴쪵쪶쪷쪸쪹쪺쪻쪾쪿쫁쫂쫃쫅������쫆쫇쫈쫉쫊쫋쫎쫐쫒쫔쫕쫖쫗쫚쫛쫜쫝쫞쫟쫡쫢쫣쫤쫥쫦쫧������쫨쫩쫪쫫쫭쫮쫯쫰쫱쫲쫳쫵쫶쫷쫸쫹쫺쫻쫼쫽쫾쫿쬀쬁쬂쬃쬄쬅쬆쬇쬉쬊─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂┒┑┚┙┖┕┎┍┞┟┡┢┦┧┩┪┭┮┱┲┵┶┹┺┽┾╀╁╃╄╅╆╇╈╉╊���������������������������".split("");for(a=0;a!=t[166].length;++a)if(t[166][a].charCodeAt(0)!==65533){r[t[166][a]]=42496+a;e[42496+a]=t[166][a]}t[167]="�����������������������������������������������������������������쬋쬌쬍쬎쬏쬑쬒쬓쬕쬖쬗쬙쬚쬛쬜쬝쬞쬟쬢쬣쬤쬥쬦쬧쬨쬩������쬪쬫쬬쬭쬮쬯쬰쬱쬲쬳쬴쬵쬶쬷쬸쬹쬺쬻쬼쬽쬾쬿쭀쭂쭃쭄������쭅쭆쭇쭊쭋쭍쭎쭏쭑쭒쭓쭔쭕쭖쭗쭚쭛쭜쭞쭟쭠쭡쭢쭣쭥쭦쭧쭨쭩쭪쭫쭬㎕㎖㎗ℓ㎘㏄㎣㎤㎥㎦㎙㎚㎛㎜㎝㎞㎟㎠㎡㎢㏊㎍㎎㎏㏏㎈㎉㏈㎧㎨㎰㎱㎲㎳㎴㎵㎶㎷㎸㎹㎀㎁㎂㎃㎄㎺㎻㎼㎽㎾㎿㎐㎑㎒㎓㎔Ω㏀㏁㎊㎋㎌㏖㏅㎭㎮㎯㏛㎩㎪㎫㎬㏝㏐㏓㏃㏉㏜㏆����������������".split("");for(a=0;a!=t[167].length;++a)if(t[167][a].charCodeAt(0)!==65533){r[t[167][a]]=42752+a;e[42752+a]=t[167][a]}t[168]="�����������������������������������������������������������������쭭쭮쭯쭰쭱쭲쭳쭴쭵쭶쭷쭺쭻쭼쭽쭾쭿쮀쮁쮂쮃쮄쮅쮆쮇쮈������쮉쮊쮋쮌쮍쮎쮏쮐쮑쮒쮓쮔쮕쮖쮗쮘쮙쮚쮛쮝쮞쮟쮠쮡쮢쮣������쮤쮥쮦쮧쮨쮩쮪쮫쮬쮭쮮쮯쮰쮱쮲쮳쮴쮵쮶쮷쮹쮺쮻쮼쮽쮾쮿쯀쯁쯂쯃쯄ÆÐªĦ�IJ�ĿŁØŒºÞŦŊ�㉠㉡㉢㉣㉤㉥㉦㉧㉨㉩㉪㉫㉬㉭㉮㉯㉰㉱㉲㉳㉴㉵㉶㉷㉸㉹㉺㉻ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮½⅓⅔¼¾⅛⅜⅝⅞�".split("");for(a=0;a!=t[168].length;++a)if(t[168][a].charCodeAt(0)!==65533){r[t[168][a]]=43008+a;e[43008+a]=t[168][a]}t[169]="�����������������������������������������������������������������쯅쯆쯇쯈쯉쯊쯋쯌쯍쯎쯏쯐쯑쯒쯓쯕쯖쯗쯘쯙쯚쯛쯜쯝쯞쯟������쯠쯡쯢쯣쯥쯦쯨쯪쯫쯬쯭쯮쯯쯰쯱쯲쯳쯴쯵쯶쯷쯸쯹쯺쯻쯼������쯽쯾쯿찀찁찂찃찄찅찆찇찈찉찊찋찎찏찑찒찓찕찖찗찘찙찚찛찞찟찠찣찤æđðħıijĸŀłøœßþŧŋʼn㈀㈁㈂㈃㈄㈅㈆㈇㈈㈉㈊㈋㈌㈍㈎㈏㈐㈑㈒㈓㈔㈕㈖㈗㈘㈙㈚㈛⒜⒝⒞⒟⒠⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂¹²³⁴ⁿ₁₂₃₄�".split("");for(a=0;a!=t[169].length;++a)if(t[169][a].charCodeAt(0)!==65533){r[t[169][a]]=43264+a;e[43264+a]=t[169][a]}t[170]="�����������������������������������������������������������������찥찦찪찫찭찯찱찲찳찴찵찶찷찺찿챀챁챂챃챆챇챉챊챋챍챎������챏챐챑챒챓챖챚챛챜챝챞챟챡챢챣챥챧챩챪챫챬챭챮챯챱챲������챳챴챶챷챸챹챺챻챼챽챾챿첀첁첂첃첄첅첆첇첈첉첊첋첌첍첎첏첐첑첒첓ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������".split("");for(a=0;a!=t[170].length;++a)if(t[170][a].charCodeAt(0)!==65533){r[t[170][a]]=43520+a;e[43520+a]=t[170][a]}t[171]="�����������������������������������������������������������������첔첕첖첗첚첛첝첞첟첡첢첣첤첥첦첧첪첮첯첰첱첲첳첶첷첹������첺첻첽첾첿쳀쳁쳂쳃쳆쳈쳊쳋쳌쳍쳎쳏쳑쳒쳓쳕쳖쳗쳘쳙쳚������쳛쳜쳝쳞쳟쳠쳡쳢쳣쳥쳦쳧쳨쳩쳪쳫쳭쳮쳯쳱쳲쳳쳴쳵쳶쳷쳸쳹쳺쳻쳼쳽ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������".split("");for(a=0;a!=t[171].length;++a)if(t[171][a].charCodeAt(0)!==65533){r[t[171][a]]=43776+a;e[43776+a]=t[171][a]}t[172]="�����������������������������������������������������������������쳾쳿촀촂촃촄촅촆촇촊촋촍촎촏촑촒촓촔촕촖촗촚촜촞촟촠������촡촢촣촥촦촧촩촪촫촭촮촯촰촱촲촳촴촵촶촷촸촺촻촼촽촾������촿쵀쵁쵂쵃쵄쵅쵆쵇쵈쵉쵊쵋쵌쵍쵎쵏쵐쵑쵒쵓쵔쵕쵖쵗쵘쵙쵚쵛쵝쵞쵟АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������".split("");for(a=0;a!=t[172].length;++a)if(t[172][a].charCodeAt(0)!==65533){r[t[172][a]]=44032+a;e[44032+a]=t[172][a]}t[173]="�����������������������������������������������������������������쵡쵢쵣쵥쵦쵧쵨쵩쵪쵫쵮쵰쵲쵳쵴쵵쵶쵷쵹쵺쵻쵼쵽쵾쵿춀������춁춂춃춄춅춆춇춉춊춋춌춍춎춏춐춑춒춓춖춗춙춚춛춝춞춟������춠춡춢춣춦춨춪춫춬춭춮춯춱춲춳춴춵춶춷춸춹춺춻춼춽춾춿췀췁췂췃췅�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[173].length;++a)if(t[173][a].charCodeAt(0)!==65533){r[t[173][a]]=44288+a;e[44288+a]=t[173][a]}t[174]="�����������������������������������������������������������������췆췇췈췉췊췋췍췎췏췑췒췓췔췕췖췗췘췙췚췛췜췝췞췟췠췡������췢췣췤췥췦췧췩췪췫췭췮췯췱췲췳췴췵췶췷췺췼췾췿츀츁츂������츃츅츆츇츉츊츋츍츎츏츐츑츒츓츕츖츗츘츚츛츜츝츞츟츢츣츥츦츧츩츪츫�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[174].length;++a)if(t[174][a].charCodeAt(0)!==65533){r[t[174][a]]=44544+a;e[44544+a]=t[174][a]}t[175]="�����������������������������������������������������������������츬츭츮츯츲츴츶츷츸츹츺츻츼츽츾츿칀칁칂칃칄칅칆칇칈칉������칊칋칌칍칎칏칐칑칒칓칔칕칖칗칚칛칝칞칢칣칤칥칦칧칪칬������칮칯칰칱칲칳칶칷칹칺칻칽칾칿캀캁캂캃캆캈캊캋캌캍캎캏캒캓캕캖캗캙�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[175].length;++a)if(t[175][a].charCodeAt(0)!==65533){r[t[175][a]]=44800+a;e[44800+a]=t[175][a]}t[176]="�����������������������������������������������������������������캚캛캜캝캞캟캢캦캧캨캩캪캫캮캯캰캱캲캳캴캵캶캷캸캹캺������캻캼캽캾캿컀컂컃컄컅컆컇컈컉컊컋컌컍컎컏컐컑컒컓컔컕������컖컗컘컙컚컛컜컝컞컟컠컡컢컣컦컧컩컪컭컮컯컰컱컲컳컶컺컻컼컽컾컿가각간갇갈갉갊감갑값갓갔강갖갗같갚갛개객갠갤갬갭갯갰갱갸갹갼걀걋걍걔걘걜거걱건걷걸걺검겁것겄겅겆겉겊겋게겐겔겜겝겟겠겡겨격겪견겯결겸겹겻겼경곁계곈곌곕곗고곡곤곧골곪곬곯곰곱곳공곶과곽관괄괆�".split("");for(a=0;a!=t[176].length;++a)if(t[176][a].charCodeAt(0)!==65533){r[t[176][a]]=45056+a;e[45056+a]=t[176][a]}t[177]="�����������������������������������������������������������������켂켃켅켆켇켉켊켋켌켍켎켏켒켔켖켗켘켙켚켛켝켞켟켡켢켣������켥켦켧켨켩켪켫켮켲켳켴켵켶켷켹켺켻켼켽켾켿콀콁콂콃콄������콅콆콇콈콉콊콋콌콍콎콏콐콑콒콓콖콗콙콚콛콝콞콟콠콡콢콣콦콨콪콫콬괌괍괏광괘괜괠괩괬괭괴괵괸괼굄굅굇굉교굔굘굡굣구국군굳굴굵굶굻굼굽굿궁궂궈궉권궐궜궝궤궷귀귁귄귈귐귑귓규균귤그극근귿글긁금급긋긍긔기긱긴긷길긺김깁깃깅깆깊까깍깎깐깔깖깜깝깟깠깡깥깨깩깬깰깸�".split("");for(a=0;a!=t[177].length;++a)if(t[177][a].charCodeAt(0)!==65533){r[t[177][a]]=45312+a;e[45312+a]=t[177][a]}t[178]="�����������������������������������������������������������������콭콮콯콲콳콵콶콷콹콺콻콼콽콾콿쾁쾂쾃쾄쾆쾇쾈쾉쾊쾋쾍������쾎쾏쾐쾑쾒쾓쾔쾕쾖쾗쾘쾙쾚쾛쾜쾝쾞쾟쾠쾢쾣쾤쾥쾦쾧쾩������쾪쾫쾬쾭쾮쾯쾱쾲쾳쾴쾵쾶쾷쾸쾹쾺쾻쾼쾽쾾쾿쿀쿁쿂쿃쿅쿆쿇쿈쿉쿊쿋깹깻깼깽꺄꺅꺌꺼꺽꺾껀껄껌껍껏껐껑께껙껜껨껫껭껴껸껼꼇꼈꼍꼐꼬꼭꼰꼲꼴꼼꼽꼿꽁꽂꽃꽈꽉꽐꽜꽝꽤꽥꽹꾀꾄꾈꾐꾑꾕꾜꾸꾹꾼꿀꿇꿈꿉꿋꿍꿎꿔꿜꿨꿩꿰꿱꿴꿸뀀뀁뀄뀌뀐뀔뀜뀝뀨끄끅끈끊끌끎끓끔끕끗끙�".split("");for(a=0;a!=t[178].length;++a)if(t[178][a].charCodeAt(0)!==65533){r[t[178][a]]=45568+a;e[45568+a]=t[178][a]}t[179]="�����������������������������������������������������������������쿌쿍쿎쿏쿐쿑쿒쿓쿔쿕쿖쿗쿘쿙쿚쿛쿜쿝쿞쿟쿢쿣쿥쿦쿧쿩������쿪쿫쿬쿭쿮쿯쿲쿴쿶쿷쿸쿹쿺쿻쿽쿾쿿퀁퀂퀃퀅퀆퀇퀈퀉퀊������퀋퀌퀍퀎퀏퀐퀒퀓퀔퀕퀖퀗퀙퀚퀛퀜퀝퀞퀟퀠퀡퀢퀣퀤퀥퀦퀧퀨퀩퀪퀫퀬끝끼끽낀낄낌낍낏낑나낙낚난낟날낡낢남납낫났낭낮낯낱낳내낵낸낼냄냅냇냈냉냐냑냔냘냠냥너넉넋넌널넒넓넘넙넛넜넝넣네넥넨넬넴넵넷넸넹녀녁년녈념녑녔녕녘녜녠노녹논놀놂놈놉놋농높놓놔놘놜놨뇌뇐뇔뇜뇝�".split("");for(a=0;a!=t[179].length;++a)if(t[179][a].charCodeAt(0)!==65533){r[t[179][a]]=45824+a;e[45824+a]=t[179][a]}t[180]="�����������������������������������������������������������������퀮퀯퀰퀱퀲퀳퀶퀷퀹퀺퀻퀽퀾퀿큀큁큂큃큆큈큊큋큌큍큎큏������큑큒큓큕큖큗큙큚큛큜큝큞큟큡큢큣큤큥큦큧큨큩큪큫큮큯������큱큲큳큵큶큷큸큹큺큻큾큿킀킂킃킄킅킆킇킈킉킊킋킌킍킎킏킐킑킒킓킔뇟뇨뇩뇬뇰뇹뇻뇽누눅눈눋눌눔눕눗눙눠눴눼뉘뉜뉠뉨뉩뉴뉵뉼늄늅늉느늑는늘늙늚늠늡늣능늦늪늬늰늴니닉닌닐닒님닙닛닝닢다닥닦단닫달닭닮닯닳담답닷닸당닺닻닿대댁댄댈댐댑댓댔댕댜더덕덖던덛덜덞덟덤덥�".split("");for(a=0;a!=t[180].length;++a)if(t[180][a].charCodeAt(0)!==65533){r[t[180][a]]=46080+a;e[46080+a]=t[180][a]}t[181]="�����������������������������������������������������������������킕킖킗킘킙킚킛킜킝킞킟킠킡킢킣킦킧킩킪킫킭킮킯킰킱킲������킳킶킸킺킻킼킽킾킿탂탃탅탆탇탊탋탌탍탎탏탒탖탗탘탙탚������탛탞탟탡탢탣탥탦탧탨탩탪탫탮탲탳탴탵탶탷탹탺탻탼탽탾탿턀턁턂턃턄덧덩덫덮데덱덴델뎀뎁뎃뎄뎅뎌뎐뎔뎠뎡뎨뎬도독돈돋돌돎돐돔돕돗동돛돝돠돤돨돼됐되된될됨됩됫됴두둑둔둘둠둡둣둥둬뒀뒈뒝뒤뒨뒬뒵뒷뒹듀듄듈듐듕드득든듣들듦듬듭듯등듸디딕딘딛딜딤딥딧딨딩딪따딱딴딸�".split("");for(a=0;a!=t[181].length;++a)if(t[181][a].charCodeAt(0)!==65533){r[t[181][a]]=46336+a;e[46336+a]=t[181][a]}t[182]="�����������������������������������������������������������������턅턆턇턈턉턊턋턌턎턏턐턑턒턓턔턕턖턗턘턙턚턛턜턝턞턟������턠턡턢턣턤턥턦턧턨턩턪턫턬턭턮턯턲턳턵턶턷턹턻턼턽턾������턿텂텆텇텈텉텊텋텎텏텑텒텓텕텖텗텘텙텚텛텞텠텢텣텤텥텦텧텩텪텫텭땀땁땃땄땅땋때땍땐땔땜땝땟땠땡떠떡떤떨떪떫떰떱떳떴떵떻떼떽뗀뗄뗌뗍뗏뗐뗑뗘뗬또똑똔똘똥똬똴뙈뙤뙨뚜뚝뚠뚤뚫뚬뚱뛔뛰뛴뛸뜀뜁뜅뜨뜩뜬뜯뜰뜸뜹뜻띄띈띌띔띕띠띤띨띰띱띳띵라락란랄람랍랏랐랑랒랖랗�".split("");for(a=0;a!=t[182].length;++a)if(t[182][a].charCodeAt(0)!==65533){r[t[182][a]]=46592+a;e[46592+a]=t[182][a]}t[183]="�����������������������������������������������������������������텮텯텰텱텲텳텴텵텶텷텸텹텺텻텽텾텿톀톁톂톃톅톆톇톉톊������톋톌톍톎톏톐톑톒톓톔톕톖톗톘톙톚톛톜톝톞톟톢톣톥톦톧������톩톪톫톬톭톮톯톲톴톶톷톸톹톻톽톾톿퇁퇂퇃퇄퇅퇆퇇퇈퇉퇊퇋퇌퇍퇎퇏래랙랜랠램랩랫랬랭랴략랸럇량러럭런럴럼럽럿렀렁렇레렉렌렐렘렙렛렝려력련렬렴렵렷렸령례롄롑롓로록론롤롬롭롯롱롸롼뢍뢨뢰뢴뢸룀룁룃룅료룐룔룝룟룡루룩룬룰룸룹룻룽뤄뤘뤠뤼뤽륀륄륌륏륑류륙륜률륨륩�".split("");for(a=0;a!=t[183].length;++a)if(t[183][a].charCodeAt(0)!==65533){r[t[183][a]]=46848+a;e[46848+a]=t[183][a]}t[184]="�����������������������������������������������������������������퇐퇑퇒퇓퇔퇕퇖퇗퇙퇚퇛퇜퇝퇞퇟퇠퇡퇢퇣퇤퇥퇦퇧퇨퇩퇪������퇫퇬퇭퇮퇯퇰퇱퇲퇳퇵퇶퇷퇹퇺퇻퇼퇽퇾퇿툀툁툂툃툄툅툆������툈툊툋툌툍툎툏툑툒툓툔툕툖툗툘툙툚툛툜툝툞툟툠툡툢툣툤툥툦툧툨툩륫륭르륵른를름릅릇릉릊릍릎리릭린릴림립릿링마막만많맏말맑맒맘맙맛망맞맡맣매맥맨맬맴맵맷맸맹맺먀먁먈먕머먹먼멀멂멈멉멋멍멎멓메멕멘멜멤멥멧멨멩며멱면멸몃몄명몇몌모목몫몬몰몲몸몹못몽뫄뫈뫘뫙뫼�".split("");for(a=0;a!=t[184].length;++a)if(t[184][a].charCodeAt(0)!==65533){r[t[184][a]]=47104+a;e[47104+a]=t[184][a]}t[185]="�����������������������������������������������������������������툪툫툮툯툱툲툳툵툶툷툸툹툺툻툾퉀퉂퉃퉄퉅퉆퉇퉉퉊퉋퉌������퉍퉎퉏퉐퉑퉒퉓퉔퉕퉖퉗퉘퉙퉚퉛퉝퉞퉟퉠퉡퉢퉣퉥퉦퉧퉨������퉩퉪퉫퉬퉭퉮퉯퉰퉱퉲퉳퉴퉵퉶퉷퉸퉹퉺퉻퉼퉽퉾퉿튂튃튅튆튇튉튊튋튌묀묄묍묏묑묘묜묠묩묫무묵묶문묻물묽묾뭄뭅뭇뭉뭍뭏뭐뭔뭘뭡뭣뭬뮈뮌뮐뮤뮨뮬뮴뮷므믄믈믐믓미믹민믿밀밂밈밉밋밌밍및밑바박밖밗반받발밝밞밟밤밥밧방밭배백밴밸뱀뱁뱃뱄뱅뱉뱌뱍뱐뱝버벅번벋벌벎범법벗�".split("");for(a=0;a!=t[185].length;++a)if(t[185][a].charCodeAt(0)!==65533){r[t[185][a]]=47360+a;e[47360+a]=t[185][a]}t[186]="�����������������������������������������������������������������튍튎튏튒튓튔튖튗튘튙튚튛튝튞튟튡튢튣튥튦튧튨튩튪튫튭������튮튯튰튲튳튴튵튶튷튺튻튽튾틁틃틄틅틆틇틊틌틍틎틏틐틑������틒틓틕틖틗틙틚틛틝틞틟틠틡틢틣틦틧틨틩틪틫틬틭틮틯틲틳틵틶틷틹틺벙벚베벡벤벧벨벰벱벳벴벵벼벽변별볍볏볐병볕볘볜보복볶본볼봄봅봇봉봐봔봤봬뵀뵈뵉뵌뵐뵘뵙뵤뵨부북분붇불붉붊붐붑붓붕붙붚붜붤붰붸뷔뷕뷘뷜뷩뷰뷴뷸븀븃븅브븍븐블븜븝븟비빅빈빌빎빔빕빗빙빚빛빠빡빤�".split("");for(a=0;a!=t[186].length;++a)if(t[186][a].charCodeAt(0)!==65533){r[t[186][a]]=47616+a;e[47616+a]=t[186][a]}t[187]="�����������������������������������������������������������������틻틼틽틾틿팂팄팆팇팈팉팊팋팏팑팒팓팕팗팘팙팚팛팞팢팣������팤팦팧팪팫팭팮팯팱팲팳팴팵팶팷팺팾팿퍀퍁퍂퍃퍆퍇퍈퍉������퍊퍋퍌퍍퍎퍏퍐퍑퍒퍓퍔퍕퍖퍗퍘퍙퍚퍛퍜퍝퍞퍟퍠퍡퍢퍣퍤퍥퍦퍧퍨퍩빨빪빰빱빳빴빵빻빼빽뺀뺄뺌뺍뺏뺐뺑뺘뺙뺨뻐뻑뻔뻗뻘뻠뻣뻤뻥뻬뼁뼈뼉뼘뼙뼛뼜뼝뽀뽁뽄뽈뽐뽑뽕뾔뾰뿅뿌뿍뿐뿔뿜뿟뿡쀼쁑쁘쁜쁠쁨쁩삐삑삔삘삠삡삣삥사삭삯산삳살삵삶삼삽삿샀상샅새색샌샐샘샙샛샜생샤�".split("");for(a=0;a!=t[187].length;++a)if(t[187][a].charCodeAt(0)!==65533){r[t[187][a]]=47872+a;e[47872+a]=t[187][a]}t[188]="�����������������������������������������������������������������퍪퍫퍬퍭퍮퍯퍰퍱퍲퍳퍴퍵퍶퍷퍸퍹퍺퍻퍾퍿펁펂펃펅펆펇������펈펉펊펋펎펒펓펔펕펖펗펚펛펝펞펟펡펢펣펤펥펦펧펪펬펮������펯펰펱펲펳펵펶펷펹펺펻펽펾펿폀폁폂폃폆폇폊폋폌폍폎폏폑폒폓폔폕폖샥샨샬샴샵샷샹섀섄섈섐섕서석섞섟선섣설섦섧섬섭섯섰성섶세섹센셀셈셉셋셌셍셔셕션셜셤셥셧셨셩셰셴셸솅소속솎손솔솖솜솝솟송솥솨솩솬솰솽쇄쇈쇌쇔쇗쇘쇠쇤쇨쇰쇱쇳쇼쇽숀숄숌숍숏숑수숙순숟술숨숩숫숭�".split("");for(a=0;a!=t[188].length;++a)if(t[188][a].charCodeAt(0)!==65533){r[t[188][a]]=48128+a;e[48128+a]=t[188][a]}t[189]="�����������������������������������������������������������������폗폙폚폛폜폝폞폟폠폢폤폥폦폧폨폩폪폫폮폯폱폲폳폵폶폷������폸폹폺폻폾퐀퐂퐃퐄퐅퐆퐇퐉퐊퐋퐌퐍퐎퐏퐐퐑퐒퐓퐔퐕퐖������퐗퐘퐙퐚퐛퐜퐞퐟퐠퐡퐢퐣퐤퐥퐦퐧퐨퐩퐪퐫퐬퐭퐮퐯퐰퐱퐲퐳퐴퐵퐶퐷숯숱숲숴쉈쉐쉑쉔쉘쉠쉥쉬쉭쉰쉴쉼쉽쉿슁슈슉슐슘슛슝스슥슨슬슭슴습슷승시식신싣실싫심십싯싱싶싸싹싻싼쌀쌈쌉쌌쌍쌓쌔쌕쌘쌜쌤쌥쌨쌩썅써썩썬썰썲썸썹썼썽쎄쎈쎌쏀쏘쏙쏜쏟쏠쏢쏨쏩쏭쏴쏵쏸쐈쐐쐤쐬쐰�".split("");for(a=0;a!=t[189].length;++a)if(t[189][a].charCodeAt(0)!==65533){r[t[189][a]]=48384+a;e[48384+a]=t[189][a]}t[190]="�����������������������������������������������������������������퐸퐹퐺퐻퐼퐽퐾퐿푁푂푃푅푆푇푈푉푊푋푌푍푎푏푐푑푒푓������푔푕푖푗푘푙푚푛푝푞푟푡푢푣푥푦푧푨푩푪푫푬푮푰푱푲������푳푴푵푶푷푺푻푽푾풁풃풄풅풆풇풊풌풎풏풐풑풒풓풕풖풗풘풙풚풛풜풝쐴쐼쐽쑈쑤쑥쑨쑬쑴쑵쑹쒀쒔쒜쒸쒼쓩쓰쓱쓴쓸쓺쓿씀씁씌씐씔씜씨씩씬씰씸씹씻씽아악안앉않알앍앎앓암압앗았앙앝앞애액앤앨앰앱앳앴앵야약얀얄얇얌얍얏양얕얗얘얜얠얩어억언얹얻얼얽얾엄업없엇었엉엊엌엎�".split("");for(a=0;a!=t[190].length;++a)if(t[190][a].charCodeAt(0)!==65533){r[t[190][a]]=48640+a;e[48640+a]=t[190][a]}t[191]="�����������������������������������������������������������������풞풟풠풡풢풣풤풥풦풧풨풪풫풬풭풮풯풰풱풲풳풴풵풶풷풸������풹풺풻풼풽풾풿퓀퓁퓂퓃퓄퓅퓆퓇퓈퓉퓊퓋퓍퓎퓏퓑퓒퓓퓕������퓖퓗퓘퓙퓚퓛퓝퓞퓠퓡퓢퓣퓤퓥퓦퓧퓩퓪퓫퓭퓮퓯퓱퓲퓳퓴퓵퓶퓷퓹퓺퓼에엑엔엘엠엡엣엥여역엮연열엶엷염엽엾엿였영옅옆옇예옌옐옘옙옛옜오옥온올옭옮옰옳옴옵옷옹옻와왁완왈왐왑왓왔왕왜왝왠왬왯왱외왹왼욀욈욉욋욍요욕욘욜욤욥욧용우욱운울욹욺움웁웃웅워웍원월웜웝웠웡웨�".split("");for(a=0;a!=t[191].length;++a)if(t[191][a].charCodeAt(0)!==65533){r[t[191][a]]=48896+a;e[48896+a]=t[191][a]}t[192]="�����������������������������������������������������������������퓾퓿픀픁픂픃픅픆픇픉픊픋픍픎픏픐픑픒픓픖픘픙픚픛픜픝������픞픟픠픡픢픣픤픥픦픧픨픩픪픫픬픭픮픯픰픱픲픳픴픵픶픷������픸픹픺픻픾픿핁핂핃핅핆핇핈핉핊핋핎핐핒핓핔핕핖핗핚핛핝핞핟핡핢핣웩웬웰웸웹웽위윅윈윌윔윕윗윙유육윤율윰윱윳융윷으윽은을읊음읍읏응읒읓읔읕읖읗의읜읠읨읫이익인일읽읾잃임입잇있잉잊잎자작잔잖잗잘잚잠잡잣잤장잦재잭잰잴잼잽잿쟀쟁쟈쟉쟌쟎쟐쟘쟝쟤쟨쟬저적전절젊�".split("");for(a=0;a!=t[192].length;++a)if(t[192][a].charCodeAt(0)!==65533){r[t[192][a]]=49152+a;e[49152+a]=t[192][a]}t[193]="�����������������������������������������������������������������핤핦핧핪핬핮핯핰핱핲핳핶핷핹핺핻핽핾핿햀햁햂햃햆햊햋������햌햍햎햏햑햒햓햔햕햖햗햘햙햚햛햜햝햞햟햠햡햢햣햤햦햧������햨햩햪햫햬햭햮햯햰햱햲햳햴햵햶햷햸햹햺햻햼햽햾햿헀헁헂헃헄헅헆헇점접젓정젖제젝젠젤젬젭젯젱져젼졀졈졉졌졍졔조족존졸졺좀좁좃종좆좇좋좌좍좔좝좟좡좨좼좽죄죈죌죔죕죗죙죠죡죤죵주죽준줄줅줆줌줍줏중줘줬줴쥐쥑쥔쥘쥠쥡쥣쥬쥰쥴쥼즈즉즌즐즘즙즛증지직진짇질짊짐집짓�".split(""); +for(a=0;a!=t[193].length;++a)if(t[193][a].charCodeAt(0)!==65533){r[t[193][a]]=49408+a;e[49408+a]=t[193][a]}t[194]="�����������������������������������������������������������������헊헋헍헎헏헑헓헔헕헖헗헚헜헞헟헠헡헢헣헦헧헩헪헫헭헮������헯헰헱헲헳헶헸헺헻헼헽헾헿혂혃혅혆혇혉혊혋혌혍혎혏혒������혖혗혘혙혚혛혝혞혟혡혢혣혥혦혧혨혩혪혫혬혮혯혰혱혲혳혴혵혶혷혺혻징짖짙짚짜짝짠짢짤짧짬짭짯짰짱째짹짼쨀쨈쨉쨋쨌쨍쨔쨘쨩쩌쩍쩐쩔쩜쩝쩟쩠쩡쩨쩽쪄쪘쪼쪽쫀쫄쫌쫍쫏쫑쫓쫘쫙쫠쫬쫴쬈쬐쬔쬘쬠쬡쭁쭈쭉쭌쭐쭘쭙쭝쭤쭸쭹쮜쮸쯔쯤쯧쯩찌찍찐찔찜찝찡찢찧차착찬찮찰참찹찻�".split("");for(a=0;a!=t[194].length;++a)if(t[194][a].charCodeAt(0)!==65533){r[t[194][a]]=49664+a;e[49664+a]=t[194][a]}t[195]="�����������������������������������������������������������������혽혾혿홁홂홃홄홆홇홊홌홎홏홐홒홓홖홗홙홚홛홝홞홟홠홡������홢홣홤홥홦홨홪홫홬홭홮홯홲홳홵홶홷홸홹홺홻홼홽홾홿횀������횁횂횄횆횇횈횉횊횋횎횏횑횒횓횕횖횗횘횙횚횛횜횞횠횢횣횤횥횦횧횩횪찼창찾채책챈챌챔챕챗챘챙챠챤챦챨챰챵처척천철첨첩첫첬청체첵첸첼쳄쳅쳇쳉쳐쳔쳤쳬쳰촁초촉촌촐촘촙촛총촤촨촬촹최쵠쵤쵬쵭쵯쵱쵸춈추축춘출춤춥춧충춰췄췌췐취췬췰췸췹췻췽츄츈츌츔츙츠측츤츨츰츱츳층�".split("");for(a=0;a!=t[195].length;++a)if(t[195][a].charCodeAt(0)!==65533){r[t[195][a]]=49920+a;e[49920+a]=t[195][a]}t[196]="�����������������������������������������������������������������횫횭횮횯횱횲횳횴횵횶횷횸횺횼횽횾횿훀훁훂훃훆훇훉훊훋������훍훎훏훐훒훓훕훖훘훚훛훜훝훞훟훡훢훣훥훦훧훩훪훫훬훭������훮훯훱훲훳훴훶훷훸훹훺훻훾훿휁휂휃휅휆휇휈휉휊휋휌휍휎휏휐휒휓휔치칙친칟칠칡침칩칫칭카칵칸칼캄캅캇캉캐캑캔캘캠캡캣캤캥캬캭컁커컥컨컫컬컴컵컷컸컹케켁켄켈켐켑켓켕켜켠켤켬켭켯켰켱켸코콕콘콜콤콥콧콩콰콱콴콸쾀쾅쾌쾡쾨쾰쿄쿠쿡쿤쿨쿰쿱쿳쿵쿼퀀퀄퀑퀘퀭퀴퀵퀸퀼�".split("");for(a=0;a!=t[196].length;++a)if(t[196][a].charCodeAt(0)!==65533){r[t[196][a]]=50176+a;e[50176+a]=t[196][a]}t[197]="�����������������������������������������������������������������휕휖휗휚휛휝휞휟휡휢휣휤휥휦휧휪휬휮휯휰휱휲휳휶휷휹������휺휻휽휾휿흀흁흂흃흅흆흈흊흋흌흍흎흏흒흓흕흚흛흜흝흞������흟흢흤흦흧흨흪흫흭흮흯흱흲흳흵흶흷흸흹흺흻흾흿힀힂힃힄힅힆힇힊힋큄큅큇큉큐큔큘큠크큭큰클큼큽킁키킥킨킬킴킵킷킹타탁탄탈탉탐탑탓탔탕태택탠탤탬탭탯탰탱탸턍터턱턴털턺텀텁텃텄텅테텍텐텔템텝텟텡텨텬텼톄톈토톡톤톨톰톱톳통톺톼퇀퇘퇴퇸툇툉툐투툭툰툴툼툽툿퉁퉈퉜�".split("");for(a=0;a!=t[197].length;++a)if(t[197][a].charCodeAt(0)!==65533){r[t[197][a]]=50432+a;e[50432+a]=t[197][a]}t[198]="�����������������������������������������������������������������힍힎힏힑힒힓힔힕힖힗힚힜힞힟힠힡힢힣������������������������������������������������������������������������������퉤튀튁튄튈튐튑튕튜튠튤튬튱트특튼튿틀틂틈틉틋틔틘틜틤틥티틱틴틸팀팁팃팅파팍팎판팔팖팜팝팟팠팡팥패팩팬팰팸팹팻팼팽퍄퍅퍼퍽펀펄펌펍펏펐펑페펙펜펠펨펩펫펭펴편펼폄폅폈평폐폘폡폣포폭폰폴폼폽폿퐁�".split("");for(a=0;a!=t[198].length;++a)if(t[198][a].charCodeAt(0)!==65533){r[t[198][a]]=50688+a;e[50688+a]=t[198][a]}t[199]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������퐈퐝푀푄표푠푤푭푯푸푹푼푿풀풂품풉풋풍풔풩퓌퓐퓔퓜퓟퓨퓬퓰퓸퓻퓽프픈플픔픕픗피픽핀필핌핍핏핑하학한할핥함합핫항해핵핸핼햄햅햇했행햐향허헉헌헐헒험헙헛헝헤헥헨헬헴헵헷헹혀혁현혈혐협혓혔형혜혠�".split("");for(a=0;a!=t[199].length;++a)if(t[199][a].charCodeAt(0)!==65533){r[t[199][a]]=50944+a;e[50944+a]=t[199][a]}t[200]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������혤혭호혹혼홀홅홈홉홋홍홑화확환활홧황홰홱홴횃횅회획횐횔횝횟횡효횬횰횹횻후훅훈훌훑훔훗훙훠훤훨훰훵훼훽휀휄휑휘휙휜휠휨휩휫휭휴휵휸휼흄흇흉흐흑흔흖흗흘흙흠흡흣흥흩희흰흴흼흽힁히힉힌힐힘힙힛힝�".split("");for(a=0;a!=t[200].length;++a)if(t[200][a].charCodeAt(0)!==65533){r[t[200][a]]=51200+a;e[51200+a]=t[200][a]}t[202]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������伽佳假價加可呵哥嘉嫁家暇架枷柯歌珂痂稼苛茄街袈訶賈跏軻迦駕刻却各恪慤殼珏脚覺角閣侃刊墾奸姦干幹懇揀杆柬桿澗癎看磵稈竿簡肝艮艱諫間乫喝曷渴碣竭葛褐蝎鞨勘坎堪嵌感憾戡敢柑橄減甘疳監瞰紺邯鑑鑒龕�".split("");for(a=0;a!=t[202].length;++a)if(t[202][a].charCodeAt(0)!==65533){r[t[202][a]]=51712+a;e[51712+a]=t[202][a]}t[203]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������匣岬甲胛鉀閘剛堈姜岡崗康强彊慷江畺疆糠絳綱羌腔舡薑襁講鋼降鱇介价個凱塏愷愾慨改槪漑疥皆盖箇芥蓋豈鎧開喀客坑更粳羹醵倨去居巨拒据據擧渠炬祛距踞車遽鉅鋸乾件健巾建愆楗腱虔蹇鍵騫乞傑杰桀儉劍劒檢�".split("");for(a=0;a!=t[203].length;++a)if(t[203][a].charCodeAt(0)!==65533){r[t[203][a]]=51968+a;e[51968+a]=t[203][a]}t[204]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������瞼鈐黔劫怯迲偈憩揭擊格檄激膈覡隔堅牽犬甄絹繭肩見譴遣鵑抉決潔結缺訣兼慊箝謙鉗鎌京俓倞傾儆勁勍卿坰境庚徑慶憬擎敬景暻更梗涇炅烱璟璥瓊痙硬磬竟競絅經耕耿脛莖警輕逕鏡頃頸驚鯨係啓堺契季屆悸戒桂械�".split("");for(a=0;a!=t[204].length;++a)if(t[204][a].charCodeAt(0)!==65533){r[t[204][a]]=52224+a;e[52224+a]=t[204][a]}t[205]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������棨溪界癸磎稽系繫繼計誡谿階鷄古叩告呱固姑孤尻庫拷攷故敲暠枯槁沽痼皐睾稿羔考股膏苦苽菰藁蠱袴誥賈辜錮雇顧高鼓哭斛曲梏穀谷鵠困坤崑昆梱棍滾琨袞鯤汨滑骨供公共功孔工恐恭拱控攻珙空蚣貢鞏串寡戈果瓜�".split("");for(a=0;a!=t[205].length;++a)if(t[205][a].charCodeAt(0)!==65533){r[t[205][a]]=52480+a;e[52480+a]=t[205][a]}t[206]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������科菓誇課跨過鍋顆廓槨藿郭串冠官寬慣棺款灌琯瓘管罐菅觀貫關館刮恝括适侊光匡壙廣曠洸炚狂珖筐胱鑛卦掛罫乖傀塊壞怪愧拐槐魁宏紘肱轟交僑咬喬嬌嶠巧攪敎校橋狡皎矯絞翹膠蕎蛟較轎郊餃驕鮫丘久九仇俱具勾�".split("");for(a=0;a!=t[206].length;++a)if(t[206][a].charCodeAt(0)!==65533){r[t[206][a]]=52736+a;e[52736+a]=t[206][a]}t[207]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������區口句咎嘔坵垢寇嶇廐懼拘救枸柩構歐毆毬求溝灸狗玖球瞿矩究絿耉臼舅舊苟衢謳購軀逑邱鉤銶駒驅鳩鷗龜國局菊鞠鞫麴君窘群裙軍郡堀屈掘窟宮弓穹窮芎躬倦券勸卷圈拳捲權淃眷厥獗蕨蹶闕机櫃潰詭軌饋句晷歸貴�".split("");for(a=0;a!=t[207].length;++a)if(t[207][a].charCodeAt(0)!==65533){r[t[207][a]]=52992+a;e[52992+a]=t[207][a]}t[208]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������鬼龜叫圭奎揆槻珪硅窺竅糾葵規赳逵閨勻均畇筠菌鈞龜橘克剋劇戟棘極隙僅劤勤懃斤根槿瑾筋芹菫覲謹近饉契今妗擒昑檎琴禁禽芩衾衿襟金錦伋及急扱汲級給亘兢矜肯企伎其冀嗜器圻基埼夔奇妓寄岐崎己幾忌技旗旣�".split("");for(a=0;a!=t[208].length;++a)if(t[208][a].charCodeAt(0)!==65533){r[t[208][a]]=53248+a;e[53248+a]=t[208][a]}t[209]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������朞期杞棋棄機欺氣汽沂淇玘琦琪璂璣畸畿碁磯祁祇祈祺箕紀綺羈耆耭肌記譏豈起錡錤飢饑騎騏驥麒緊佶吉拮桔金喫儺喇奈娜懦懶拏拿癩羅蘿螺裸邏那樂洛烙珞落諾酪駱亂卵暖欄煖爛蘭難鸞捏捺南嵐枏楠湳濫男藍襤拉�".split("");for(a=0;a!=t[209].length;++a)if(t[209][a].charCodeAt(0)!==65533){r[t[209][a]]=53504+a;e[53504+a]=t[209][a]}t[210]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������納臘蠟衲囊娘廊朗浪狼郎乃來內奈柰耐冷女年撚秊念恬拈捻寧寗努勞奴弩怒擄櫓爐瑙盧老蘆虜路露駑魯鷺碌祿綠菉錄鹿論壟弄濃籠聾膿農惱牢磊腦賂雷尿壘屢樓淚漏累縷陋嫩訥杻紐勒肋凜凌稜綾能菱陵尼泥匿溺多茶�".split("");for(a=0;a!=t[210].length;++a)if(t[210][a].charCodeAt(0)!==65533){r[t[210][a]]=53760+a;e[53760+a]=t[210][a]}t[211]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������丹亶但單團壇彖斷旦檀段湍短端簞緞蛋袒鄲鍛撻澾獺疸達啖坍憺擔曇淡湛潭澹痰聃膽蕁覃談譚錟沓畓答踏遝唐堂塘幢戇撞棠當糖螳黨代垈坮大對岱帶待戴擡玳臺袋貸隊黛宅德悳倒刀到圖堵塗導屠島嶋度徒悼挑掉搗桃�".split("");for(a=0;a!=t[211].length;++a)if(t[211][a].charCodeAt(0)!==65533){r[t[211][a]]=54016+a;e[54016+a]=t[211][a]}t[212]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������棹櫂淘渡滔濤燾盜睹禱稻萄覩賭跳蹈逃途道都鍍陶韜毒瀆牘犢獨督禿篤纛讀墩惇敦旽暾沌焞燉豚頓乭突仝冬凍動同憧東桐棟洞潼疼瞳童胴董銅兜斗杜枓痘竇荳讀豆逗頭屯臀芚遁遯鈍得嶝橙燈登等藤謄鄧騰喇懶拏癩羅�".split("");for(a=0;a!=t[212].length;++a)if(t[212][a].charCodeAt(0)!==65533){r[t[212][a]]=54272+a;e[54272+a]=t[212][a]}t[213]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������蘿螺裸邏樂洛烙珞絡落諾酪駱丹亂卵欄欒瀾爛蘭鸞剌辣嵐擥攬欖濫籃纜藍襤覽拉臘蠟廊朗浪狼琅瑯螂郞來崍徠萊冷掠略亮倆兩凉梁樑粮粱糧良諒輛量侶儷勵呂廬慮戾旅櫚濾礪藜蠣閭驢驪麗黎力曆歷瀝礫轢靂憐戀攣漣�".split("");for(a=0;a!=t[213].length;++a)if(t[213][a].charCodeAt(0)!==65533){r[t[213][a]]=54528+a;e[54528+a]=t[213][a]}t[214]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������煉璉練聯蓮輦連鍊冽列劣洌烈裂廉斂殮濂簾獵令伶囹寧岺嶺怜玲笭羚翎聆逞鈴零靈領齡例澧禮醴隷勞怒撈擄櫓潞瀘爐盧老蘆虜路輅露魯鷺鹵碌祿綠菉錄鹿麓論壟弄朧瀧瓏籠聾儡瀨牢磊賂賚賴雷了僚寮廖料燎療瞭聊蓼�".split("");for(a=0;a!=t[214].length;++a)if(t[214][a].charCodeAt(0)!==65533){r[t[214][a]]=54784+a;e[54784+a]=t[214][a]}t[215]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������遼鬧龍壘婁屢樓淚漏瘻累縷蔞褸鏤陋劉旒柳榴流溜瀏琉瑠留瘤硫謬類六戮陸侖倫崙淪綸輪律慄栗率隆勒肋凜凌楞稜綾菱陵俚利厘吏唎履悧李梨浬犁狸理璃異痢籬罹羸莉裏裡里釐離鯉吝潾燐璘藺躪隣鱗麟林淋琳臨霖砬�".split("");for(a=0;a!=t[215].length;++a)if(t[215][a].charCodeAt(0)!==65533){r[t[215][a]]=55040+a;e[55040+a]=t[215][a]}t[216]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������立笠粒摩瑪痲碼磨馬魔麻寞幕漠膜莫邈万卍娩巒彎慢挽晩曼滿漫灣瞞萬蔓蠻輓饅鰻唜抹末沫茉襪靺亡妄忘忙望網罔芒茫莽輞邙埋妹媒寐昧枚梅每煤罵買賣邁魅脈貊陌驀麥孟氓猛盲盟萌冪覓免冕勉棉沔眄眠綿緬面麵滅�".split("");for(a=0;a!=t[216].length;++a)if(t[216][a].charCodeAt(0)!==65533){r[t[216][a]]=55296+a;e[55296+a]=t[216][a]}t[217]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������蔑冥名命明暝椧溟皿瞑茗蓂螟酩銘鳴袂侮冒募姆帽慕摸摹暮某模母毛牟牡瑁眸矛耗芼茅謀謨貌木沐牧目睦穆鶩歿沒夢朦蒙卯墓妙廟描昴杳渺猫竗苗錨務巫憮懋戊拇撫无楙武毋無珷畝繆舞茂蕪誣貿霧鵡墨默們刎吻問文�".split("");for(a=0;a!=t[217].length;++a)if(t[217][a].charCodeAt(0)!==65533){r[t[217][a]]=55552+a;e[55552+a]=t[217][a]}t[218]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������汶紊紋聞蚊門雯勿沕物味媚尾嵋彌微未梶楣渼湄眉米美薇謎迷靡黴岷悶愍憫敏旻旼民泯玟珉緡閔密蜜謐剝博拍搏撲朴樸泊珀璞箔粕縛膊舶薄迫雹駁伴半反叛拌搬攀斑槃泮潘班畔瘢盤盼磐磻礬絆般蟠返頒飯勃拔撥渤潑�".split("");for(a=0;a!=t[218].length;++a)if(t[218][a].charCodeAt(0)!==65533){r[t[218][a]]=55808+a;e[55808+a]=t[218][a]}t[219]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������發跋醱鉢髮魃倣傍坊妨尨幇彷房放方旁昉枋榜滂磅紡肪膀舫芳蒡蚌訪謗邦防龐倍俳北培徘拜排杯湃焙盃背胚裴裵褙賠輩配陪伯佰帛柏栢白百魄幡樊煩燔番磻繁蕃藩飜伐筏罰閥凡帆梵氾汎泛犯範范法琺僻劈壁擘檗璧癖�".split("");for(a=0;a!=t[219].length;++a)if(t[219][a].charCodeAt(0)!==65533){r[t[219][a]]=56064+a;e[56064+a]=t[219][a]}t[220]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������碧蘗闢霹便卞弁變辨辯邊別瞥鱉鼈丙倂兵屛幷昞昺柄棅炳甁病秉竝輧餠騈保堡報寶普步洑湺潽珤甫菩補褓譜輔伏僕匐卜宓復服福腹茯蔔複覆輹輻馥鰒本乶俸奉封峯峰捧棒烽熢琫縫蓬蜂逢鋒鳳不付俯傅剖副否咐埠夫婦�".split("");for(a=0;a!=t[220].length;++a)if(t[220][a].charCodeAt(0)!==65533){r[t[220][a]]=56320+a;e[56320+a]=t[220][a]}t[221]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������孚孵富府復扶敷斧浮溥父符簿缶腐腑膚艀芙莩訃負賦賻赴趺部釜阜附駙鳧北分吩噴墳奔奮忿憤扮昐汾焚盆粉糞紛芬賁雰不佛弗彿拂崩朋棚硼繃鵬丕備匕匪卑妃婢庇悲憊扉批斐枇榧比毖毗毘沸泌琵痺砒碑秕秘粃緋翡肥�".split("");for(a=0;a!=t[221].length;++a)if(t[221][a].charCodeAt(0)!==65533){r[t[221][a]]=56576+a;e[56576+a]=t[221][a]}t[222]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������脾臂菲蜚裨誹譬費鄙非飛鼻嚬嬪彬斌檳殯浜濱瀕牝玭貧賓頻憑氷聘騁乍事些仕伺似使俟僿史司唆嗣四士奢娑寫寺射巳師徙思捨斜斯柶査梭死沙泗渣瀉獅砂社祀祠私篩紗絲肆舍莎蓑蛇裟詐詞謝賜赦辭邪飼駟麝削數朔索�".split("");for(a=0;a!=t[222].length;++a)if(t[222][a].charCodeAt(0)!==65533){r[t[222][a]]=56832+a;e[56832+a]=t[222][a]}t[223]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������傘刪山散汕珊産疝算蒜酸霰乷撒殺煞薩三參杉森渗芟蔘衫揷澁鈒颯上傷像償商喪嘗孀尙峠常床庠廂想桑橡湘爽牀狀相祥箱翔裳觴詳象賞霜塞璽賽嗇塞穡索色牲生甥省笙墅壻嶼序庶徐恕抒捿敍暑曙書栖棲犀瑞筮絮緖署�".split("");for(a=0;a!=t[223].length;++a)if(t[223][a].charCodeAt(0)!==65533){r[t[223][a]]=57088+a;e[57088+a]=t[223][a]}t[224]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������胥舒薯西誓逝鋤黍鼠夕奭席惜昔晳析汐淅潟石碩蓆釋錫仙僊先善嬋宣扇敾旋渲煽琁瑄璇璿癬禪線繕羨腺膳船蘚蟬詵跣選銑鐥饍鮮卨屑楔泄洩渫舌薛褻設說雪齧剡暹殲纖蟾贍閃陝攝涉燮葉城姓宬性惺成星晟猩珹盛省筬�".split("");for(a=0;a!=t[224].length;++a)if(t[224][a].charCodeAt(0)!==65533){r[t[224][a]]=57344+a;e[57344+a]=t[224][a]}t[225]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������聖聲腥誠醒世勢歲洗稅笹細說貰召嘯塑宵小少巢所掃搔昭梳沼消溯瀟炤燒甦疏疎瘙笑篠簫素紹蔬蕭蘇訴逍遡邵銷韶騷俗屬束涑粟續謖贖速孫巽損蓀遜飡率宋悚松淞訟誦送頌刷殺灑碎鎖衰釗修受嗽囚垂壽嫂守岫峀帥愁�".split("");for(a=0;a!=t[225].length;++a)if(t[225][a].charCodeAt(0)!==65533){r[t[225][a]]=57600+a;e[57600+a]=t[225][a]}t[226]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������戍手授搜收數樹殊水洙漱燧狩獸琇璲瘦睡秀穗竪粹綏綬繡羞脩茱蒐蓚藪袖誰讐輸遂邃酬銖銹隋隧隨雖需須首髓鬚叔塾夙孰宿淑潚熟琡璹肅菽巡徇循恂旬栒楯橓殉洵淳珣盾瞬筍純脣舜荀蓴蕣詢諄醇錞順馴戌術述鉥崇崧�".split("");for(a=0;a!=t[226].length;++a)if(t[226][a].charCodeAt(0)!==65533){r[t[226][a]]=57856+a;e[57856+a]=t[226][a]}t[227]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������嵩瑟膝蝨濕拾習褶襲丞乘僧勝升承昇繩蠅陞侍匙嘶始媤尸屎屍市弑恃施是時枾柴猜矢示翅蒔蓍視試詩諡豕豺埴寔式息拭植殖湜熄篒蝕識軾食飾伸侁信呻娠宸愼新晨燼申神紳腎臣莘薪藎蜃訊身辛辰迅失室實悉審尋心沁�".split("");for(a=0;a!=t[227].length;++a)if(t[227][a].charCodeAt(0)!==65533){r[t[227][a]]=58112+a;e[58112+a]=t[227][a]}t[228]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������沈深瀋甚芯諶什十拾雙氏亞俄兒啞娥峨我牙芽莪蛾衙訝阿雅餓鴉鵝堊岳嶽幄惡愕握樂渥鄂鍔顎鰐齷安岸按晏案眼雁鞍顔鮟斡謁軋閼唵岩巖庵暗癌菴闇壓押狎鴨仰央怏昻殃秧鴦厓哀埃崖愛曖涯碍艾隘靄厄扼掖液縊腋額�".split("");for(a=0;a!=t[228].length;++a)if(t[228][a].charCodeAt(0)!==65533){r[t[228][a]]=58368+a;e[58368+a]=t[228][a]}t[229]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������櫻罌鶯鸚也倻冶夜惹揶椰爺耶若野弱掠略約若葯蒻藥躍亮佯兩凉壤孃恙揚攘敭暘梁楊樣洋瀁煬痒瘍禳穰糧羊良襄諒讓釀陽量養圄御於漁瘀禦語馭魚齬億憶抑檍臆偃堰彦焉言諺孼蘖俺儼嚴奄掩淹嶪業円予余勵呂女如廬�".split("");for(a=0;a!=t[229].length;++a)if(t[229][a].charCodeAt(0)!==65533){r[t[229][a]]=58624+a;e[58624+a]=t[229][a]}t[230]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������旅歟汝濾璵礖礪與艅茹輿轝閭餘驪麗黎亦力域役易曆歷疫繹譯轢逆驛嚥堧姸娟宴年延憐戀捐挻撚椽沇沿涎涓淵演漣烟然煙煉燃燕璉硏硯秊筵緣練縯聯衍軟輦蓮連鉛鍊鳶列劣咽悅涅烈熱裂說閱厭廉念捻染殮炎焰琰艶苒�".split("");for(a=0;a!=t[230].length;++a)if(t[230][a].charCodeAt(0)!==65533){r[t[230][a]]=58880+a;e[58880+a]=t[230][a]}t[231]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������簾閻髥鹽曄獵燁葉令囹塋寧嶺嶸影怜映暎楹榮永泳渶潁濚瀛瀯煐營獰玲瑛瑩瓔盈穎纓羚聆英詠迎鈴鍈零霙靈領乂倪例刈叡曳汭濊猊睿穢芮藝蘂禮裔詣譽豫醴銳隸霓預五伍俉傲午吾吳嗚塢墺奧娛寤悟惡懊敖旿晤梧汚澳�".split("");for(a=0;a!=t[231].length;++a)if(t[231][a].charCodeAt(0)!==65533){r[t[231][a]]=59136+a;e[59136+a]=t[231][a]}t[232]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������烏熬獒筽蜈誤鰲鼇屋沃獄玉鈺溫瑥瘟穩縕蘊兀壅擁瓮甕癰翁邕雍饔渦瓦窩窪臥蛙蝸訛婉完宛梡椀浣玩琓琬碗緩翫脘腕莞豌阮頑曰往旺枉汪王倭娃歪矮外嵬巍猥畏了僚僥凹堯夭妖姚寥寮尿嶢拗搖撓擾料曜樂橈燎燿瑤療�".split("");for(a=0;a!=t[232].length;++a)if(t[232][a].charCodeAt(0)!==65533){r[t[232][a]]=59392+a;e[59392+a]=t[232][a]}t[233]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������窈窯繇繞耀腰蓼蟯要謠遙遼邀饒慾欲浴縟褥辱俑傭冗勇埇墉容庸慂榕涌湧溶熔瑢用甬聳茸蓉踊鎔鏞龍于佑偶優又友右宇寓尤愚憂旴牛玗瑀盂祐禑禹紆羽芋藕虞迂遇郵釪隅雨雩勖彧旭昱栯煜稶郁頊云暈橒殞澐熉耘芸蕓�".split("");for(a=0;a!=t[233].length;++a)if(t[233][a].charCodeAt(0)!==65533){r[t[233][a]]=59648+a;e[59648+a]=t[233][a]}t[234]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������運隕雲韻蔚鬱亐熊雄元原員圓園垣媛嫄寃怨愿援沅洹湲源爰猿瑗苑袁轅遠阮院願鴛月越鉞位偉僞危圍委威尉慰暐渭爲瑋緯胃萎葦蔿蝟衛褘謂違韋魏乳侑儒兪劉唯喩孺宥幼幽庾悠惟愈愉揄攸有杻柔柚柳楡楢油洧流游溜�".split("");for(a=0;a!=t[234].length;++a)if(t[234][a].charCodeAt(0)!==65533){r[t[234][a]]=59904+a;e[59904+a]=t[234][a]}t[235]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������濡猶猷琉瑜由留癒硫紐維臾萸裕誘諛諭踰蹂遊逾遺酉釉鍮類六堉戮毓肉育陸倫允奫尹崙淪潤玧胤贇輪鈗閏律慄栗率聿戎瀜絨融隆垠恩慇殷誾銀隱乙吟淫蔭陰音飮揖泣邑凝應膺鷹依倚儀宜意懿擬椅毅疑矣義艤薏蟻衣誼�".split("");for(a=0;a!=t[235].length;++a)if(t[235][a].charCodeAt(0)!==65533){r[t[235][a]]=60160+a;e[60160+a]=t[235][a]}t[236]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������議醫二以伊利吏夷姨履已弛彛怡易李梨泥爾珥理異痍痢移罹而耳肄苡荑裏裡貽貳邇里離飴餌匿溺瀷益翊翌翼謚人仁刃印吝咽因姻寅引忍湮燐璘絪茵藺蚓認隣靭靷鱗麟一佚佾壹日溢逸鎰馹任壬妊姙恁林淋稔臨荏賃入卄�".split("");for(a=0;a!=t[236].length;++a)if(t[236][a].charCodeAt(0)!==65533){r[t[236][a]]=60416+a;e[60416+a]=t[236][a]}t[237]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������立笠粒仍剩孕芿仔刺咨姉姿子字孜恣慈滋炙煮玆瓷疵磁紫者自茨蔗藉諮資雌作勺嚼斫昨灼炸爵綽芍酌雀鵲孱棧殘潺盞岑暫潛箴簪蠶雜丈仗匠場墻壯奬將帳庄張掌暲杖樟檣欌漿牆狀獐璋章粧腸臟臧莊葬蔣薔藏裝贓醬長�".split("");for(a=0;a!=t[237].length;++a)if(t[237][a].charCodeAt(0)!==65533){r[t[237][a]]=60672+a;e[60672+a]=t[237][a]}t[238]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������障再哉在宰才材栽梓渽滓災縡裁財載齋齎爭箏諍錚佇低儲咀姐底抵杵楮樗沮渚狙猪疽箸紵苧菹著藷詛貯躇這邸雎齟勣吊嫡寂摘敵滴狄炙的積笛籍績翟荻謫賊赤跡蹟迪迹適鏑佃佺傳全典前剪塡塼奠專展廛悛戰栓殿氈澱�".split("");for(a=0;a!=t[238].length;++a)if(t[238][a].charCodeAt(0)!==65533){r[t[238][a]]=60928+a;e[60928+a]=t[238][a]}t[239]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������煎琠田甸畑癲筌箋箭篆纏詮輾轉鈿銓錢鐫電顚顫餞切截折浙癤竊節絶占岾店漸点粘霑鮎點接摺蝶丁井亭停偵呈姃定幀庭廷征情挺政整旌晶晸柾楨檉正汀淀淨渟湞瀞炡玎珽町睛碇禎程穽精綎艇訂諪貞鄭酊釘鉦鋌錠霆靖�".split("");for(a=0;a!=t[239].length;++a)if(t[239][a].charCodeAt(0)!==65533){r[t[239][a]]=61184+a;e[61184+a]=t[239][a]}t[240]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������靜頂鼎制劑啼堤帝弟悌提梯濟祭第臍薺製諸蹄醍除際霽題齊俎兆凋助嘲弔彫措操早晁曺曹朝條棗槽漕潮照燥爪璪眺祖祚租稠窕粗糟組繰肇藻蚤詔調趙躁造遭釣阻雕鳥族簇足鏃存尊卒拙猝倧宗從悰慫棕淙琮種終綜縱腫�".split("");for(a=0;a!=t[240].length;++a)if(t[240][a].charCodeAt(0)!==65533){r[t[240][a]]=61440+a;e[61440+a]=t[240][a]}t[241]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������踪踵鍾鐘佐坐左座挫罪主住侏做姝胄呪周嗾奏宙州廚晝朱柱株注洲湊澍炷珠疇籌紂紬綢舟蛛註誅走躊輳週酎酒鑄駐竹粥俊儁准埈寯峻晙樽浚準濬焌畯竣蠢逡遵雋駿茁中仲衆重卽櫛楫汁葺增憎曾拯烝甑症繒蒸證贈之只�".split("");for(a=0;a!=t[241].length;++a)if(t[241][a].charCodeAt(0)!==65533){r[t[241][a]]=61696+a;e[61696+a]=t[241][a]}t[242]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������咫地址志持指摯支旨智枝枳止池沚漬知砥祉祗紙肢脂至芝芷蜘誌識贄趾遲直稙稷織職唇嗔塵振搢晉晋桭榛殄津溱珍瑨璡畛疹盡眞瞋秦縉縝臻蔯袗診賑軫辰進鎭陣陳震侄叱姪嫉帙桎瓆疾秩窒膣蛭質跌迭斟朕什執潗緝輯�".split("");for(a=0;a!=t[242].length;++a)if(t[242][a].charCodeAt(0)!==65533){r[t[242][a]]=61952+a;e[61952+a]=t[242][a]}t[243]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������鏶集徵懲澄且侘借叉嗟嵯差次此磋箚茶蹉車遮捉搾着窄錯鑿齪撰澯燦璨瓚竄簒纂粲纘讚贊鑽餐饌刹察擦札紮僭參塹慘慙懺斬站讒讖倉倡創唱娼廠彰愴敞昌昶暢槍滄漲猖瘡窓脹艙菖蒼債埰寀寨彩採砦綵菜蔡采釵冊柵策�".split("");for(a=0;a!=t[243].length;++a)if(t[243][a].charCodeAt(0)!==65533){r[t[243][a]]=62208+a;e[62208+a]=t[243][a]}t[244]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������責凄妻悽處倜刺剔尺慽戚拓擲斥滌瘠脊蹠陟隻仟千喘天川擅泉淺玔穿舛薦賤踐遷釧闡阡韆凸哲喆徹撤澈綴輟轍鐵僉尖沾添甛瞻簽籤詹諂堞妾帖捷牒疊睫諜貼輒廳晴淸聽菁請靑鯖切剃替涕滯締諦逮遞體初剿哨憔抄招梢�".split("");for(a=0;a!=t[244].length;++a)if(t[244][a].charCodeAt(0)!==65533){r[t[244][a]]=62464+a;e[62464+a]=t[244][a]}t[245]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������椒楚樵炒焦硝礁礎秒稍肖艸苕草蕉貂超酢醋醮促囑燭矗蜀觸寸忖村邨叢塚寵悤憁摠總聰蔥銃撮催崔最墜抽推椎楸樞湫皺秋芻萩諏趨追鄒酋醜錐錘鎚雛騶鰍丑畜祝竺筑築縮蓄蹙蹴軸逐春椿瑃出朮黜充忠沖蟲衝衷悴膵萃�".split("");for(a=0;a!=t[245].length;++a)if(t[245][a].charCodeAt(0)!==65533){r[t[245][a]]=62720+a;e[62720+a]=t[245][a]}t[246]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������贅取吹嘴娶就炊翠聚脆臭趣醉驟鷲側仄厠惻測層侈値嗤峙幟恥梔治淄熾痔痴癡稚穉緇緻置致蚩輜雉馳齒則勅飭親七柒漆侵寢枕沈浸琛砧針鍼蟄秤稱快他咤唾墮妥惰打拖朶楕舵陀馱駝倬卓啄坼度托拓擢晫柝濁濯琢琸託�".split("");for(a=0;a!=t[246].length;++a)if(t[246][a].charCodeAt(0)!==65533){r[t[246][a]]=62976+a;e[62976+a]=t[246][a]}t[247]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������鐸呑嘆坦彈憚歎灘炭綻誕奪脫探眈耽貪塔搭榻宕帑湯糖蕩兌台太怠態殆汰泰笞胎苔跆邰颱宅擇澤撑攄兎吐土討慟桶洞痛筒統通堆槌腿褪退頹偸套妬投透鬪慝特闖坡婆巴把播擺杷波派爬琶破罷芭跛頗判坂板版瓣販辦鈑�".split("");for(a=0;a!=t[247].length;++a)if(t[247][a].charCodeAt(0)!==65533){r[t[247][a]]=63232+a;e[63232+a]=t[247][a]}t[248]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������阪八叭捌佩唄悖敗沛浿牌狽稗覇貝彭澎烹膨愎便偏扁片篇編翩遍鞭騙貶坪平枰萍評吠嬖幣廢弊斃肺蔽閉陛佈包匍匏咆哺圃布怖抛抱捕暴泡浦疱砲胞脯苞葡蒲袍褒逋鋪飽鮑幅暴曝瀑爆輻俵剽彪慓杓標漂瓢票表豹飇飄驃�".split("");for(a=0;a!=t[248].length;++a)if(t[248][a].charCodeAt(0)!==65533){r[t[248][a]]=63488+a;e[63488+a]=t[248][a]}t[249]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������品稟楓諷豊風馮彼披疲皮被避陂匹弼必泌珌畢疋筆苾馝乏逼下何厦夏廈昰河瑕荷蝦賀遐霞鰕壑學虐謔鶴寒恨悍旱汗漢澣瀚罕翰閑閒限韓割轄函含咸啣喊檻涵緘艦銜陷鹹合哈盒蛤閤闔陜亢伉姮嫦巷恒抗杭桁沆港缸肛航�".split("");for(a=0;a!=t[249].length;++a)if(t[249][a].charCodeAt(0)!==65533){r[t[249][a]]=63744+a;e[63744+a]=t[249][a]}t[250]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������行降項亥偕咳垓奚孩害懈楷海瀣蟹解該諧邂駭骸劾核倖幸杏荇行享向嚮珦鄕響餉饗香噓墟虛許憲櫶獻軒歇險驗奕爀赫革俔峴弦懸晛泫炫玄玹現眩睍絃絢縣舷衒見賢鉉顯孑穴血頁嫌俠協夾峽挾浹狹脅脇莢鋏頰亨兄刑型�".split("");for(a=0;a!=t[250].length;++a)if(t[250][a].charCodeAt(0)!==65533){r[t[250][a]]=64e3+a;e[64e3+a]=t[250][a]}t[251]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������形泂滎瀅灐炯熒珩瑩荊螢衡逈邢鎣馨兮彗惠慧暳蕙蹊醯鞋乎互呼壕壺好岵弧戶扈昊晧毫浩淏湖滸澔濠濩灝狐琥瑚瓠皓祜糊縞胡芦葫蒿虎號蝴護豪鎬頀顥惑或酷婚昏混渾琿魂忽惚笏哄弘汞泓洪烘紅虹訌鴻化和嬅樺火畵�".split("");for(a=0;a!=t[251].length;++a)if(t[251][a].charCodeAt(0)!==65533){r[t[251][a]]=64256+a;e[64256+a]=t[251][a]}t[252]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������禍禾花華話譁貨靴廓擴攫確碻穫丸喚奐宦幻患換歡晥桓渙煥環紈還驩鰥活滑猾豁闊凰幌徨恍惶愰慌晃晄榥況湟滉潢煌璜皇篁簧荒蝗遑隍黃匯回廻徊恢悔懷晦會檜淮澮灰獪繪膾茴蛔誨賄劃獲宖橫鐄哮嚆孝效斅曉梟涍淆�".split("");for(a=0;a!=t[252].length;++a)if(t[252][a].charCodeAt(0)!==65533){r[t[252][a]]=64512+a;e[64512+a]=t[252][a]}t[253]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������爻肴酵驍侯候厚后吼喉嗅帿後朽煦珝逅勛勳塤壎焄熏燻薰訓暈薨喧暄煊萱卉喙毁彙徽揮暉煇諱輝麾休携烋畦虧恤譎鷸兇凶匈洶胸黑昕欣炘痕吃屹紇訖欠欽歆吸恰洽翕興僖凞喜噫囍姬嬉希憙憘戱晞曦熙熹熺犧禧稀羲詰�".split("");for(a=0;a!=t[253].length;++a)if(t[253][a].charCodeAt(0)!==65533){r[t[253][a]]=64768+a;e[64768+a]=t[253][a]}return{enc:r,dec:e}}();cptable[950]=function(){var e=[],r={},t=[],a;t[0]="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[0].length;++a)if(t[0][a].charCodeAt(0)!==65533){r[t[0][a]]=0+a;e[0+a]=t[0][a]}t[161]="���������������������������������������������������������������� ,、。.‧;:?!︰…‥﹐﹑﹒·﹔﹕﹖﹗|–︱—︳╴︴﹏()︵︶{}︷︸〔〕︹︺【】︻︼《》︽︾〈〉︿﹀「」﹁﹂『』﹃﹄﹙﹚����������������������������������﹛﹜﹝﹞‘’“”〝〞‵′#&*※§〃○●△▲◎☆★◇◆□■▽▼㊣℅¯ ̄_ˍ﹉﹊﹍﹎﹋﹌﹟﹠﹡+-×÷±√<>=≦≧≠∞≒≡﹢﹣﹤﹥﹦~∩∪⊥∠∟⊿㏒㏑∫∮∵∴♀♂⊕⊙↑↓←→↖↗↙↘∥∣/�".split("");for(a=0;a!=t[161].length;++a)if(t[161][a].charCodeAt(0)!==65533){r[t[161][a]]=41216+a;e[41216+a]=t[161][a]}t[162]="����������������������������������������������������������������\∕﹨$¥〒¢£%@℃℉﹩﹪﹫㏕㎜㎝㎞㏎㎡㎎㎏㏄°兙兛兞兝兡兣嗧瓩糎▁▂▃▄▅▆▇█▏▎▍▌▋▊▉┼┴┬┤├▔─│▕┌┐└┘╭����������������������������������╮╰╯═╞╪╡◢◣◥◤╱╲╳0123456789ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ〡〢〣〤〥〦〧〨〩十卄卅ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuv�".split("");for(a=0;a!=t[162].length;++a)if(t[162][a].charCodeAt(0)!==65533){r[t[162][a]]=41472+a;e[41472+a]=t[162][a]}t[163]="����������������������������������������������������������������wxyzΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρστυφχψωㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏ����������������������������������ㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ˙ˉˊˇˋ���������������������������������€������������������������������".split("");for(a=0;a!=t[163].length;++a)if(t[163][a].charCodeAt(0)!==65533){r[t[163][a]]=41728+a;e[41728+a]=t[163][a]}t[164]="����������������������������������������������������������������一乙丁七乃九了二人儿入八几刀刁力匕十卜又三下丈上丫丸凡久么也乞于亡兀刃勺千叉口土士夕大女子孑孓寸小尢尸山川工己已巳巾干廾弋弓才����������������������������������丑丐不中丰丹之尹予云井互五亢仁什仃仆仇仍今介仄元允內六兮公冗凶分切刈勻勾勿化匹午升卅卞厄友及反壬天夫太夭孔少尤尺屯巴幻廿弔引心戈戶手扎支文斗斤方日曰月木欠止歹毋比毛氏水火爪父爻片牙牛犬王丙�".split("");for(a=0;a!=t[164].length;++a)if(t[164][a].charCodeAt(0)!==65533){r[t[164][a]]=41984+a;e[41984+a]=t[164][a]}t[165]="����������������������������������������������������������������世丕且丘主乍乏乎以付仔仕他仗代令仙仞充兄冉冊冬凹出凸刊加功包匆北匝仟半卉卡占卯卮去可古右召叮叩叨叼司叵叫另只史叱台句叭叻四囚外����������������������������������央失奴奶孕它尼巨巧左市布平幼弁弘弗必戊打扔扒扑斥旦朮本未末札正母民氐永汁汀氾犯玄玉瓜瓦甘生用甩田由甲申疋白皮皿目矛矢石示禾穴立丞丟乒乓乩亙交亦亥仿伉伙伊伕伍伐休伏仲件任仰仳份企伋光兇兆先全�".split("");for(a=0;a!=t[165].length;++a)if(t[165][a].charCodeAt(0)!==65533){r[t[165][a]]=42240+a;e[42240+a]=t[165][a]}t[166]="����������������������������������������������������������������共再冰列刑划刎刖劣匈匡匠印危吉吏同吊吐吁吋各向名合吃后吆吒因回囝圳地在圭圬圯圩夙多夷夸妄奸妃好她如妁字存宇守宅安寺尖屹州帆并年����������������������������������式弛忙忖戎戌戍成扣扛托收早旨旬旭曲曳有朽朴朱朵次此死氖汝汗汙江池汐汕污汛汍汎灰牟牝百竹米糸缶羊羽老考而耒耳聿肉肋肌臣自至臼舌舛舟艮色艾虫血行衣西阡串亨位住佇佗佞伴佛何估佐佑伽伺伸佃佔似但佣�".split("");for(a=0;a!=t[166].length;++a)if(t[166][a].charCodeAt(0)!==65533){r[t[166][a]]=42496+a;e[42496+a]=t[166][a]}t[167]="����������������������������������������������������������������作你伯低伶余佝佈佚兌克免兵冶冷別判利刪刨劫助努劬匣即卵吝吭吞吾否呎吧呆呃吳呈呂君吩告吹吻吸吮吵吶吠吼呀吱含吟听囪困囤囫坊坑址坍����������������������������������均坎圾坐坏圻壯夾妝妒妨妞妣妙妖妍妤妓妊妥孝孜孚孛完宋宏尬局屁尿尾岐岑岔岌巫希序庇床廷弄弟彤形彷役忘忌志忍忱快忸忪戒我抄抗抖技扶抉扭把扼找批扳抒扯折扮投抓抑抆改攻攸旱更束李杏材村杜杖杞杉杆杠�".split("");for(a=0;a!=t[167].length;++a)if(t[167][a].charCodeAt(0)!==65533){r[t[167][a]]=42752+a;e[42752+a]=t[167][a]}t[168]="����������������������������������������������������������������杓杗步每求汞沙沁沈沉沅沛汪決沐汰沌汨沖沒汽沃汲汾汴沆汶沍沔沘沂灶灼災灸牢牡牠狄狂玖甬甫男甸皂盯矣私秀禿究系罕肖肓肝肘肛肚育良芒����������������������������������芋芍見角言谷豆豕貝赤走足身車辛辰迂迆迅迄巡邑邢邪邦那酉釆里防阮阱阪阬並乖乳事些亞享京佯依侍佳使佬供例來侃佰併侈佩佻侖佾侏侑佺兔兒兕兩具其典冽函刻券刷刺到刮制剁劾劻卒協卓卑卦卷卸卹取叔受味呵�".split("");for(a=0;a!=t[168].length;++a)if(t[168][a].charCodeAt(0)!==65533){r[t[168][a]]=43008+a;e[43008+a]=t[168][a]}t[169]="����������������������������������������������������������������咖呸咕咀呻呷咄咒咆呼咐呱呶和咚呢周咋命咎固垃坷坪坩坡坦坤坼夜奉奇奈奄奔妾妻委妹妮姑姆姐姍始姓姊妯妳姒姅孟孤季宗定官宜宙宛尚屈居����������������������������������屆岷岡岸岩岫岱岳帘帚帖帕帛帑幸庚店府底庖延弦弧弩往征彿彼忝忠忽念忿怏怔怯怵怖怪怕怡性怩怫怛或戕房戾所承拉拌拄抿拂抹拒招披拓拔拋拈抨抽押拐拙拇拍抵拚抱拘拖拗拆抬拎放斧於旺昔易昌昆昂明昀昏昕昊�".split("");for(a=0;a!=t[169].length;++a)if(t[169][a].charCodeAt(0)!==65533){r[t[169][a]]=43264+a;e[43264+a]=t[169][a]}t[170]="����������������������������������������������������������������昇服朋杭枋枕東果杳杷枇枝林杯杰板枉松析杵枚枓杼杪杲欣武歧歿氓氛泣注泳沱泌泥河沽沾沼波沫法泓沸泄油況沮泗泅泱沿治泡泛泊沬泯泜泖泠����������������������������������炕炎炒炊炙爬爭爸版牧物狀狎狙狗狐玩玨玟玫玥甽疝疙疚的盂盲直知矽社祀祁秉秈空穹竺糾罔羌羋者肺肥肢肱股肫肩肴肪肯臥臾舍芳芝芙芭芽芟芹花芬芥芯芸芣芰芾芷虎虱初表軋迎返近邵邸邱邶采金長門阜陀阿阻附�".split("");for(a=0;a!=t[170].length;++a)if(t[170][a].charCodeAt(0)!==65533){r[t[170][a]]=43520+a;e[43520+a]=t[170][a]}t[171]="����������������������������������������������������������������陂隹雨青非亟亭亮信侵侯便俠俑俏保促侶俘俟俊俗侮俐俄係俚俎俞侷兗冒冑冠剎剃削前剌剋則勇勉勃勁匍南卻厚叛咬哀咨哎哉咸咦咳哇哂咽咪品����������������������������������哄哈咯咫咱咻咩咧咿囿垂型垠垣垢城垮垓奕契奏奎奐姜姘姿姣姨娃姥姪姚姦威姻孩宣宦室客宥封屎屏屍屋峙峒巷帝帥帟幽庠度建弈弭彥很待徊律徇後徉怒思怠急怎怨恍恰恨恢恆恃恬恫恪恤扁拜挖按拼拭持拮拽指拱拷�".split("");for(a=0;a!=t[171].length;++a)if(t[171][a].charCodeAt(0)!==65533){r[t[171][a]]=43776+a;e[43776+a]=t[171][a]}t[172]="����������������������������������������������������������������拯括拾拴挑挂政故斫施既春昭映昧是星昨昱昤曷柿染柱柔某柬架枯柵柩柯柄柑枴柚查枸柏柞柳枰柙柢柝柒歪殃殆段毒毗氟泉洋洲洪流津洌洱洞洗����������������������������������活洽派洶洛泵洹洧洸洩洮洵洎洫炫為炳炬炯炭炸炮炤爰牲牯牴狩狠狡玷珊玻玲珍珀玳甚甭畏界畎畋疫疤疥疢疣癸皆皇皈盈盆盃盅省盹相眉看盾盼眇矜砂研砌砍祆祉祈祇禹禺科秒秋穿突竿竽籽紂紅紀紉紇約紆缸美羿耄�".split("");for(a=0;a!=t[172].length;++a)if(t[172][a].charCodeAt(0)!==65533){r[t[172][a]]=44032+a;e[44032+a]=t[172][a]}t[173]="����������������������������������������������������������������耐耍耑耶胖胥胚胃胄背胡胛胎胞胤胝致舢苧范茅苣苛苦茄若茂茉苒苗英茁苜苔苑苞苓苟苯茆虐虹虻虺衍衫要觔計訂訃貞負赴赳趴軍軌述迦迢迪迥����������������������������������迭迫迤迨郊郎郁郃酋酊重閂限陋陌降面革韋韭音頁風飛食首香乘亳倌倍倣俯倦倥俸倩倖倆值借倚倒們俺倀倔倨俱倡個候倘俳修倭倪俾倫倉兼冤冥冢凍凌准凋剖剜剔剛剝匪卿原厝叟哨唐唁唷哼哥哲唆哺唔哩哭員唉哮哪�".split("");for(a=0;a!=t[173].length;++a)if(t[173][a].charCodeAt(0)!==65533){r[t[173][a]]=44288+a;e[44288+a]=t[173][a]}t[174]="����������������������������������������������������������������哦唧唇哽唏圃圄埂埔埋埃堉夏套奘奚娑娘娜娟娛娓姬娠娣娩娥娌娉孫屘宰害家宴宮宵容宸射屑展屐峭峽峻峪峨峰島崁峴差席師庫庭座弱徒徑徐恙����������������������������������恣恥恐恕恭恩息悄悟悚悍悔悌悅悖扇拳挈拿捎挾振捕捂捆捏捉挺捐挽挪挫挨捍捌效敉料旁旅時晉晏晃晒晌晅晁書朔朕朗校核案框桓根桂桔栩梳栗桌桑栽柴桐桀格桃株桅栓栘桁殊殉殷氣氧氨氦氤泰浪涕消涇浦浸海浙涓�".split("");for(a=0;a!=t[174].length;++a)if(t[174][a].charCodeAt(0)!==65533){r[t[174][a]]=44544+a;e[44544+a]=t[174][a]}t[175]="����������������������������������������������������������������浬涉浮浚浴浩涌涊浹涅浥涔烊烘烤烙烈烏爹特狼狹狽狸狷玆班琉珮珠珪珞畔畝畜畚留疾病症疲疳疽疼疹痂疸皋皰益盍盎眩真眠眨矩砰砧砸砝破砷����������������������������������砥砭砠砟砲祕祐祠祟祖神祝祗祚秤秣秧租秦秩秘窄窈站笆笑粉紡紗紋紊素索純紐紕級紜納紙紛缺罟羔翅翁耆耘耕耙耗耽耿胱脂胰脅胭胴脆胸胳脈能脊胼胯臭臬舀舐航舫舨般芻茫荒荔荊茸荐草茵茴荏茲茹茶茗荀茱茨荃�".split("");for(a=0;a!=t[175].length;++a)if(t[175][a].charCodeAt(0)!==65533){r[t[175][a]]=44800+a;e[44800+a]=t[175][a]}t[176]="����������������������������������������������������������������虔蚊蚪蚓蚤蚩蚌蚣蚜衰衷袁袂衽衹記訐討訌訕訊託訓訖訏訑豈豺豹財貢起躬軒軔軏辱送逆迷退迺迴逃追逅迸邕郡郝郢酒配酌釘針釗釜釙閃院陣陡����������������������������������陛陝除陘陞隻飢馬骨高鬥鬲鬼乾偺偽停假偃偌做偉健偶偎偕偵側偷偏倏偯偭兜冕凰剪副勒務勘動匐匏匙匿區匾參曼商啪啦啄啞啡啃啊唱啖問啕唯啤唸售啜唬啣唳啁啗圈國圉域堅堊堆埠埤基堂堵執培夠奢娶婁婉婦婪婀�".split("");for(a=0;a!=t[176].length;++a)if(t[176][a].charCodeAt(0)!==65533){r[t[176][a]]=45056+a;e[45056+a]=t[176][a]}t[177]="����������������������������������������������������������������娼婢婚婆婊孰寇寅寄寂宿密尉專將屠屜屝崇崆崎崛崖崢崑崩崔崙崤崧崗巢常帶帳帷康庸庶庵庾張強彗彬彩彫得徙從徘御徠徜恿患悉悠您惋悴惦悽����������������������������������情悻悵惜悼惘惕惆惟悸惚惇戚戛扈掠控捲掖探接捷捧掘措捱掩掉掃掛捫推掄授掙採掬排掏掀捻捩捨捺敝敖救教敗啟敏敘敕敔斜斛斬族旋旌旎晝晚晤晨晦晞曹勗望梁梯梢梓梵桿桶梱梧梗械梃棄梭梆梅梔條梨梟梡梂欲殺�".split("");for(a=0;a!=t[177].length;++a)if(t[177][a].charCodeAt(0)!==65533){r[t[177][a]]=45312+a;e[45312+a]=t[177][a]}t[178]="����������������������������������������������������������������毫毬氫涎涼淳淙液淡淌淤添淺清淇淋涯淑涮淞淹涸混淵淅淒渚涵淚淫淘淪深淮淨淆淄涪淬涿淦烹焉焊烽烯爽牽犁猜猛猖猓猙率琅琊球理現琍瓠瓶����������������������������������瓷甜產略畦畢異疏痔痕疵痊痍皎盔盒盛眷眾眼眶眸眺硫硃硎祥票祭移窒窕笠笨笛第符笙笞笮粒粗粕絆絃統紮紹紼絀細紳組累終紲紱缽羞羚翌翎習耜聊聆脯脖脣脫脩脰脤舂舵舷舶船莎莞莘荸莢莖莽莫莒莊莓莉莠荷荻荼�".split("");for(a=0;a!=t[178].length;++a)if(t[178][a].charCodeAt(0)!==65533){r[t[178][a]]=45568+a;e[45568+a]=t[178][a]}t[179]="����������������������������������������������������������������莆莧處彪蛇蛀蚶蛄蚵蛆蛋蚱蚯蛉術袞袈被袒袖袍袋覓規訪訝訣訥許設訟訛訢豉豚販責貫貨貪貧赧赦趾趺軛軟這逍通逗連速逝逐逕逞造透逢逖逛途����������������������������������部郭都酗野釵釦釣釧釭釩閉陪陵陳陸陰陴陶陷陬雀雪雩章竟頂頃魚鳥鹵鹿麥麻傢傍傅備傑傀傖傘傚最凱割剴創剩勞勝勛博厥啻喀喧啼喊喝喘喂喜喪喔喇喋喃喳單喟唾喲喚喻喬喱啾喉喫喙圍堯堪場堤堰報堡堝堠壹壺奠�".split("");for(a=0;a!=t[179].length;++a)if(t[179][a].charCodeAt(0)!==65533){r[t[179][a]]=45824+a;e[45824+a]=t[179][a]}t[180]="����������������������������������������������������������������婷媚婿媒媛媧孳孱寒富寓寐尊尋就嵌嵐崴嵇巽幅帽幀幃幾廊廁廂廄弼彭復循徨惑惡悲悶惠愜愣惺愕惰惻惴慨惱愎惶愉愀愒戟扉掣掌描揀揩揉揆揍����������������������������������插揣提握揖揭揮捶援揪換摒揚揹敞敦敢散斑斐斯普晰晴晶景暑智晾晷曾替期朝棺棕棠棘棗椅棟棵森棧棹棒棲棣棋棍植椒椎棉棚楮棻款欺欽殘殖殼毯氮氯氬港游湔渡渲湧湊渠渥渣減湛湘渤湖湮渭渦湯渴湍渺測湃渝渾滋�".split("");for(a=0;a!=t[180].length;++a)if(t[180][a].charCodeAt(0)!==65533){r[t[180][a]]=46080+a;e[46080+a]=t[180][a]}t[181]="����������������������������������������������������������������溉渙湎湣湄湲湩湟焙焚焦焰無然煮焜牌犄犀猶猥猴猩琺琪琳琢琥琵琶琴琯琛琦琨甥甦畫番痢痛痣痙痘痞痠登發皖皓皴盜睏短硝硬硯稍稈程稅稀窘����������������������������������窗窖童竣等策筆筐筒答筍筋筏筑粟粥絞結絨絕紫絮絲絡給絢絰絳善翔翕耋聒肅腕腔腋腑腎脹腆脾腌腓腴舒舜菩萃菸萍菠菅萋菁華菱菴著萊菰萌菌菽菲菊萸萎萄菜萇菔菟虛蛟蛙蛭蛔蛛蛤蛐蛞街裁裂袱覃視註詠評詞証詁�".split("");for(a=0;a!=t[181].length;++a)if(t[181][a].charCodeAt(0)!==65533){r[t[181][a]]=46336+a;e[46336+a]=t[181][a]}t[182]="����������������������������������������������������������������詔詛詐詆訴診訶詖象貂貯貼貳貽賁費賀貴買貶貿貸越超趁跎距跋跚跑跌跛跆軻軸軼辜逮逵週逸進逶鄂郵鄉郾酣酥量鈔鈕鈣鈉鈞鈍鈐鈇鈑閔閏開閑����������������������������������間閒閎隊階隋陽隅隆隍陲隄雁雅雄集雇雯雲韌項順須飧飪飯飩飲飭馮馭黃黍黑亂傭債傲傳僅傾催傷傻傯僇剿剷剽募勦勤勢勣匯嗟嗨嗓嗦嗎嗜嗇嗑嗣嗤嗯嗚嗡嗅嗆嗥嗉園圓塞塑塘塗塚塔填塌塭塊塢塒塋奧嫁嫉嫌媾媽媼�".split("");for(a=0;a!=t[182].length;++a)if(t[182][a].charCodeAt(0)!==65533){r[t[182][a]]=46592+a;e[46592+a]=t[182][a]}t[183]="����������������������������������������������������������������媳嫂媲嵩嵯幌幹廉廈弒彙徬微愚意慈感想愛惹愁愈慎慌慄慍愾愴愧愍愆愷戡戢搓搾搞搪搭搽搬搏搜搔損搶搖搗搆敬斟新暗暉暇暈暖暄暘暍會榔業����������������������������������楚楷楠楔極椰概楊楨楫楞楓楹榆楝楣楛歇歲毀殿毓毽溢溯滓溶滂源溝滇滅溥溘溼溺溫滑準溜滄滔溪溧溴煎煙煩煤煉照煜煬煦煌煥煞煆煨煖爺牒猷獅猿猾瑯瑚瑕瑟瑞瑁琿瑙瑛瑜當畸瘀痰瘁痲痱痺痿痴痳盞盟睛睫睦睞督�".split("");for(a=0;a!=t[183].length;++a)if(t[183][a].charCodeAt(0)!==65533){r[t[183][a]]=46848+a;e[46848+a]=t[183][a]}t[184]="����������������������������������������������������������������睹睪睬睜睥睨睢矮碎碰碗碘碌碉硼碑碓硿祺祿禁萬禽稜稚稠稔稟稞窟窠筷節筠筮筧粱粳粵經絹綑綁綏絛置罩罪署義羨群聖聘肆肄腱腰腸腥腮腳腫����������������������������������腹腺腦舅艇蒂葷落萱葵葦葫葉葬葛萼萵葡董葩葭葆虞虜號蛹蜓蜈蜇蜀蛾蛻蜂蜃蜆蜊衙裟裔裙補裘裝裡裊裕裒覜解詫該詳試詩詰誇詼詣誠話誅詭詢詮詬詹詻訾詨豢貊貉賊資賈賄貲賃賂賅跡跟跨路跳跺跪跤跦躲較載軾輊�".split(""); +for(a=0;a!=t[184].length;++a)if(t[184][a].charCodeAt(0)!==65533){r[t[184][a]]=47104+a;e[47104+a]=t[184][a]}t[185]="����������������������������������������������������������������辟農運遊道遂達逼違遐遇遏過遍遑逾遁鄒鄗酬酪酩釉鈷鉗鈸鈽鉀鈾鉛鉋鉤鉑鈴鉉鉍鉅鈹鈿鉚閘隘隔隕雍雋雉雊雷電雹零靖靴靶預頑頓頊頒頌飼飴����������������������������������飽飾馳馱馴髡鳩麂鼎鼓鼠僧僮僥僖僭僚僕像僑僱僎僩兢凳劃劂匱厭嗾嘀嘛嘗嗽嘔嘆嘉嘍嘎嗷嘖嘟嘈嘐嗶團圖塵塾境墓墊塹墅塽壽夥夢夤奪奩嫡嫦嫩嫗嫖嫘嫣孵寞寧寡寥實寨寢寤察對屢嶄嶇幛幣幕幗幔廓廖弊彆彰徹慇�".split("");for(a=0;a!=t[185].length;++a)if(t[185][a].charCodeAt(0)!==65533){r[t[185][a]]=47360+a;e[47360+a]=t[185][a]}t[186]="����������������������������������������������������������������愿態慷慢慣慟慚慘慵截撇摘摔撤摸摟摺摑摧搴摭摻敲斡旗旖暢暨暝榜榨榕槁榮槓構榛榷榻榫榴槐槍榭槌榦槃榣歉歌氳漳演滾漓滴漩漾漠漬漏漂漢����������������������������������滿滯漆漱漸漲漣漕漫漯澈漪滬漁滲滌滷熔熙煽熊熄熒爾犒犖獄獐瑤瑣瑪瑰瑭甄疑瘧瘍瘋瘉瘓盡監瞄睽睿睡磁碟碧碳碩碣禎福禍種稱窪窩竭端管箕箋筵算箝箔箏箸箇箄粹粽精綻綰綜綽綾綠緊綴網綱綺綢綿綵綸維緒緇綬�".split("");for(a=0;a!=t[186].length;++a)if(t[186][a].charCodeAt(0)!==65533){r[t[186][a]]=47616+a;e[47616+a]=t[186][a]}t[187]="����������������������������������������������������������������罰翠翡翟聞聚肇腐膀膏膈膊腿膂臧臺與舔舞艋蓉蒿蓆蓄蒙蒞蒲蒜蓋蒸蓀蓓蒐蒼蓑蓊蜿蜜蜻蜢蜥蜴蜘蝕蜷蜩裳褂裴裹裸製裨褚裯誦誌語誣認誡誓誤����������������������������������說誥誨誘誑誚誧豪貍貌賓賑賒赫趙趕跼輔輒輕輓辣遠遘遜遣遙遞遢遝遛鄙鄘鄞酵酸酷酴鉸銀銅銘銖鉻銓銜銨鉼銑閡閨閩閣閥閤隙障際雌雒需靼鞅韶頗領颯颱餃餅餌餉駁骯骰髦魁魂鳴鳶鳳麼鼻齊億儀僻僵價儂儈儉儅凜�".split("");for(a=0;a!=t[187].length;++a)if(t[187][a].charCodeAt(0)!==65533){r[t[187][a]]=47872+a;e[47872+a]=t[187][a]}t[188]="����������������������������������������������������������������劇劈劉劍劊勰厲嘮嘻嘹嘲嘿嘴嘩噓噎噗噴嘶嘯嘰墀墟增墳墜墮墩墦奭嬉嫻嬋嫵嬌嬈寮寬審寫層履嶝嶔幢幟幡廢廚廟廝廣廠彈影德徵慶慧慮慝慕憂����������������������������������慼慰慫慾憧憐憫憎憬憚憤憔憮戮摩摯摹撞撲撈撐撰撥撓撕撩撒撮播撫撚撬撙撢撳敵敷數暮暫暴暱樣樟槨樁樞標槽模樓樊槳樂樅槭樑歐歎殤毅毆漿潼澄潑潦潔澆潭潛潸潮澎潺潰潤澗潘滕潯潠潟熟熬熱熨牖犛獎獗瑩璋璃�".split("");for(a=0;a!=t[188].length;++a)if(t[188][a].charCodeAt(0)!==65533){r[t[188][a]]=48128+a;e[48128+a]=t[188][a]}t[189]="����������������������������������������������������������������瑾璀畿瘠瘩瘟瘤瘦瘡瘢皚皺盤瞎瞇瞌瞑瞋磋磅確磊碾磕碼磐稿稼穀稽稷稻窯窮箭箱範箴篆篇篁箠篌糊締練緯緻緘緬緝編緣線緞緩綞緙緲緹罵罷羯����������������������������������翩耦膛膜膝膠膚膘蔗蔽蔚蓮蔬蔭蔓蔑蔣蔡蔔蓬蔥蓿蔆螂蝴蝶蝠蝦蝸蝨蝙蝗蝌蝓衛衝褐複褒褓褕褊誼諒談諄誕請諸課諉諂調誰論諍誶誹諛豌豎豬賠賞賦賤賬賭賢賣賜質賡赭趟趣踫踐踝踢踏踩踟踡踞躺輝輛輟輩輦輪輜輞�".split("");for(a=0;a!=t[189].length;++a)if(t[189][a].charCodeAt(0)!==65533){r[t[189][a]]=48384+a;e[48384+a]=t[189][a]}t[190]="����������������������������������������������������������������輥適遮遨遭遷鄰鄭鄧鄱醇醉醋醃鋅銻銷鋪銬鋤鋁銳銼鋒鋇鋰銲閭閱霄霆震霉靠鞍鞋鞏頡頫頜颳養餓餒餘駝駐駟駛駑駕駒駙骷髮髯鬧魅魄魷魯鴆鴉����������������������������������鴃麩麾黎墨齒儒儘儔儐儕冀冪凝劑劓勳噙噫噹噩噤噸噪器噥噱噯噬噢噶壁墾壇壅奮嬝嬴學寰導彊憲憑憩憊懍憶憾懊懈戰擅擁擋撻撼據擄擇擂操撿擒擔撾整曆曉暹曄曇暸樽樸樺橙橫橘樹橄橢橡橋橇樵機橈歙歷氅濂澱澡�".split("");for(a=0;a!=t[190].length;++a)if(t[190][a].charCodeAt(0)!==65533){r[t[190][a]]=48640+a;e[48640+a]=t[190][a]}t[191]="����������������������������������������������������������������濃澤濁澧澳激澹澶澦澠澴熾燉燐燒燈燕熹燎燙燜燃燄獨璜璣璘璟璞瓢甌甍瘴瘸瘺盧盥瞠瞞瞟瞥磨磚磬磧禦積穎穆穌穋窺篙簑築篤篛篡篩篦糕糖縊����������������������������������縑縈縛縣縞縝縉縐罹羲翰翱翮耨膳膩膨臻興艘艙蕊蕙蕈蕨蕩蕃蕉蕭蕪蕞螃螟螞螢融衡褪褲褥褫褡親覦諦諺諫諱謀諜諧諮諾謁謂諷諭諳諶諼豫豭貓賴蹄踱踴蹂踹踵輻輯輸輳辨辦遵遴選遲遼遺鄴醒錠錶鋸錳錯錢鋼錫錄錚�".split("");for(a=0;a!=t[191].length;++a)if(t[191][a].charCodeAt(0)!==65533){r[t[191][a]]=48896+a;e[48896+a]=t[191][a]}t[192]="����������������������������������������������������������������錐錦錡錕錮錙閻隧隨險雕霎霑霖霍霓霏靛靜靦鞘頰頸頻頷頭頹頤餐館餞餛餡餚駭駢駱骸骼髻髭鬨鮑鴕鴣鴦鴨鴒鴛默黔龍龜優償儡儲勵嚎嚀嚐嚅嚇����������������������������������嚏壕壓壑壎嬰嬪嬤孺尷屨嶼嶺嶽嶸幫彌徽應懂懇懦懋戲戴擎擊擘擠擰擦擬擱擢擭斂斃曙曖檀檔檄檢檜櫛檣橾檗檐檠歜殮毚氈濘濱濟濠濛濤濫濯澀濬濡濩濕濮濰燧營燮燦燥燭燬燴燠爵牆獰獲璩環璦璨癆療癌盪瞳瞪瞰瞬�".split("");for(a=0;a!=t[192].length;++a)if(t[192][a].charCodeAt(0)!==65533){r[t[192][a]]=49152+a;e[49152+a]=t[192][a]}t[193]="����������������������������������������������������������������瞧瞭矯磷磺磴磯礁禧禪穗窿簇簍篾篷簌篠糠糜糞糢糟糙糝縮績繆縷縲繃縫總縱繅繁縴縹繈縵縿縯罄翳翼聱聲聰聯聳臆臃膺臂臀膿膽臉膾臨舉艱薪����������������������������������薄蕾薜薑薔薯薛薇薨薊虧蟀蟑螳蟒蟆螫螻螺蟈蟋褻褶襄褸褽覬謎謗謙講謊謠謝謄謐豁谿豳賺賽購賸賻趨蹉蹋蹈蹊轄輾轂轅輿避遽還邁邂邀鄹醣醞醜鍍鎂錨鍵鍊鍥鍋錘鍾鍬鍛鍰鍚鍔闊闋闌闈闆隱隸雖霜霞鞠韓顆颶餵騁�".split("");for(a=0;a!=t[193].length;++a)if(t[193][a].charCodeAt(0)!==65533){r[t[193][a]]=49408+a;e[49408+a]=t[193][a]}t[194]="����������������������������������������������������������������駿鮮鮫鮪鮭鴻鴿麋黏點黜黝黛鼾齋叢嚕嚮壙壘嬸彝懣戳擴擲擾攆擺擻擷斷曜朦檳檬櫃檻檸櫂檮檯歟歸殯瀉瀋濾瀆濺瀑瀏燻燼燾燸獷獵璧璿甕癖癘����������������������������������癒瞽瞿瞻瞼礎禮穡穢穠竄竅簫簧簪簞簣簡糧織繕繞繚繡繒繙罈翹翻職聶臍臏舊藏薩藍藐藉薰薺薹薦蟯蟬蟲蟠覆覲觴謨謹謬謫豐贅蹙蹣蹦蹤蹟蹕軀轉轍邇邃邈醫醬釐鎔鎊鎖鎢鎳鎮鎬鎰鎘鎚鎗闔闖闐闕離雜雙雛雞霤鞣鞦�".split("");for(a=0;a!=t[194].length;++a)if(t[194][a].charCodeAt(0)!==65533){r[t[194][a]]=49664+a;e[49664+a]=t[194][a]}t[195]="����������������������������������������������������������������鞭韹額顏題顎顓颺餾餿餽餮馥騎髁鬃鬆魏魎魍鯊鯉鯽鯈鯀鵑鵝鵠黠鼕鼬儳嚥壞壟壢寵龐廬懲懷懶懵攀攏曠曝櫥櫝櫚櫓瀛瀟瀨瀚瀝瀕瀘爆爍牘犢獸����������������������������������獺璽瓊瓣疇疆癟癡矇礙禱穫穩簾簿簸簽簷籀繫繭繹繩繪羅繳羶羹羸臘藩藝藪藕藤藥藷蟻蠅蠍蟹蟾襠襟襖襞譁譜識證譚譎譏譆譙贈贊蹼蹲躇蹶蹬蹺蹴轔轎辭邊邋醱醮鏡鏑鏟鏃鏈鏜鏝鏖鏢鏍鏘鏤鏗鏨關隴難霪霧靡韜韻類�".split("");for(a=0;a!=t[195].length;++a)if(t[195][a].charCodeAt(0)!==65533){r[t[195][a]]=49920+a;e[49920+a]=t[195][a]}t[196]="����������������������������������������������������������������願顛颼饅饉騖騙鬍鯨鯧鯖鯛鶉鵡鵲鵪鵬麒麗麓麴勸嚨嚷嚶嚴嚼壤孀孃孽寶巉懸懺攘攔攙曦朧櫬瀾瀰瀲爐獻瓏癢癥礦礪礬礫竇競籌籃籍糯糰辮繽繼����������������������������������纂罌耀臚艦藻藹蘑藺蘆蘋蘇蘊蠔蠕襤覺觸議譬警譯譟譫贏贍躉躁躅躂醴釋鐘鐃鏽闡霰飄饒饑馨騫騰騷騵鰓鰍鹹麵黨鼯齟齣齡儷儸囁囀囂夔屬巍懼懾攝攜斕曩櫻欄櫺殲灌爛犧瓖瓔癩矓籐纏續羼蘗蘭蘚蠣蠢蠡蠟襪襬覽譴�".split("");for(a=0;a!=t[196].length;++a)if(t[196][a].charCodeAt(0)!==65533){r[t[196][a]]=50176+a;e[50176+a]=t[196][a]}t[197]="����������������������������������������������������������������護譽贓躊躍躋轟辯醺鐮鐳鐵鐺鐸鐲鐫闢霸霹露響顧顥饗驅驃驀騾髏魔魑鰭鰥鶯鶴鷂鶸麝黯鼙齜齦齧儼儻囈囊囉孿巔巒彎懿攤權歡灑灘玀瓤疊癮癬����������������������������������禳籠籟聾聽臟襲襯觼讀贖贗躑躓轡酈鑄鑑鑒霽霾韃韁顫饕驕驍髒鬚鱉鰱鰾鰻鷓鷗鼴齬齪龔囌巖戀攣攫攪曬欐瓚竊籤籣籥纓纖纔臢蘸蘿蠱變邐邏鑣鑠鑤靨顯饜驚驛驗髓體髑鱔鱗鱖鷥麟黴囑壩攬灞癱癲矗罐羈蠶蠹衢讓讒�".split("");for(a=0;a!=t[197].length;++a)if(t[197][a].charCodeAt(0)!==65533){r[t[197][a]]=50432+a;e[50432+a]=t[197][a]}t[198]="����������������������������������������������������������������讖艷贛釀鑪靂靈靄韆顰驟鬢魘鱟鷹鷺鹼鹽鼇齷齲廳欖灣籬籮蠻觀躡釁鑲鑰顱饞髖鬣黌灤矚讚鑷韉驢驥纜讜躪釅鑽鑾鑼鱷鱸黷豔鑿鸚爨驪鬱鸛鸞籲���������������������������������������������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[198].length;++a)if(t[198][a].charCodeAt(0)!==65533){r[t[198][a]]=50688+a;e[50688+a]=t[198][a]}t[201]="����������������������������������������������������������������乂乜凵匚厂万丌乇亍囗兀屮彳丏冇与丮亓仂仉仈冘勼卬厹圠夃夬尐巿旡殳毌气爿丱丼仨仜仩仡仝仚刌匜卌圢圣夗夯宁宄尒尻屴屳帄庀庂忉戉扐氕����������������������������������氶汃氿氻犮犰玊禸肊阞伎优伬仵伔仱伀价伈伝伂伅伢伓伄仴伒冱刓刉刐劦匢匟卍厊吇囡囟圮圪圴夼妀奼妅奻奾奷奿孖尕尥屼屺屻屾巟幵庄异弚彴忕忔忏扜扞扤扡扦扢扙扠扚扥旯旮朾朹朸朻机朿朼朳氘汆汒汜汏汊汔汋�".split("");for(a=0;a!=t[201].length;++a)if(t[201][a].charCodeAt(0)!==65533){r[t[201][a]]=51456+a;e[51456+a]=t[201][a]}t[202]="����������������������������������������������������������������汌灱牞犴犵玎甪癿穵网艸艼芀艽艿虍襾邙邗邘邛邔阢阤阠阣佖伻佢佉体佤伾佧佒佟佁佘伭伳伿佡冏冹刜刞刡劭劮匉卣卲厎厏吰吷吪呔呅吙吜吥吘����������������������������������吽呏呁吨吤呇囮囧囥坁坅坌坉坋坒夆奀妦妘妠妗妎妢妐妏妧妡宎宒尨尪岍岏岈岋岉岒岊岆岓岕巠帊帎庋庉庌庈庍弅弝彸彶忒忑忐忭忨忮忳忡忤忣忺忯忷忻怀忴戺抃抌抎抏抔抇扱扻扺扰抁抈扷扽扲扴攷旰旴旳旲旵杅杇�".split("");for(a=0;a!=t[202].length;++a)if(t[202][a].charCodeAt(0)!==65533){r[t[202][a]]=51712+a;e[51712+a]=t[202][a]}t[203]="����������������������������������������������������������������杙杕杌杈杝杍杚杋毐氙氚汸汧汫沄沋沏汱汯汩沚汭沇沕沜汦汳汥汻沎灴灺牣犿犽狃狆狁犺狅玕玗玓玔玒町甹疔疕皁礽耴肕肙肐肒肜芐芏芅芎芑芓����������������������������������芊芃芄豸迉辿邟邡邥邞邧邠阰阨阯阭丳侘佼侅佽侀侇佶佴侉侄佷佌侗佪侚佹侁佸侐侜侔侞侒侂侕佫佮冞冼冾刵刲刳剆刱劼匊匋匼厒厔咇呿咁咑咂咈呫呺呾呥呬呴呦咍呯呡呠咘呣呧呤囷囹坯坲坭坫坱坰坶垀坵坻坳坴坢�".split("");for(a=0;a!=t[203].length;++a)if(t[203][a].charCodeAt(0)!==65533){r[t[203][a]]=51968+a;e[51968+a]=t[203][a]}t[204]="����������������������������������������������������������������坨坽夌奅妵妺姏姎妲姌姁妶妼姃姖妱妽姀姈妴姇孢孥宓宕屄屇岮岤岠岵岯岨岬岟岣岭岢岪岧岝岥岶岰岦帗帔帙弨弢弣弤彔徂彾彽忞忥怭怦怙怲怋����������������������������������怴怊怗怳怚怞怬怢怍怐怮怓怑怌怉怜戔戽抭抴拑抾抪抶拊抮抳抯抻抩抰抸攽斨斻昉旼昄昒昈旻昃昋昍昅旽昑昐曶朊枅杬枎枒杶杻枘枆构杴枍枌杺枟枑枙枃杽极杸杹枔欥殀歾毞氝沓泬泫泮泙沶泔沭泧沷泐泂沺泃泆泭泲�".split("");for(a=0;a!=t[204].length;++a)if(t[204][a].charCodeAt(0)!==65533){r[t[204][a]]=52224+a;e[52224+a]=t[204][a]}t[205]="����������������������������������������������������������������泒泝沴沊沝沀泞泀洰泍泇沰泹泏泩泑炔炘炅炓炆炄炑炖炂炚炃牪狖狋狘狉狜狒狔狚狌狑玤玡玭玦玢玠玬玝瓝瓨甿畀甾疌疘皯盳盱盰盵矸矼矹矻矺����������������������������������矷祂礿秅穸穻竻籵糽耵肏肮肣肸肵肭舠芠苀芫芚芘芛芵芧芮芼芞芺芴芨芡芩苂芤苃芶芢虰虯虭虮豖迒迋迓迍迖迕迗邲邴邯邳邰阹阽阼阺陃俍俅俓侲俉俋俁俔俜俙侻侳俛俇俖侺俀侹俬剄剉勀勂匽卼厗厖厙厘咺咡咭咥哏�".split("");for(a=0;a!=t[205].length;++a)if(t[205][a].charCodeAt(0)!==65533){r[t[205][a]]=52480+a;e[52480+a]=t[205][a]}t[206]="����������������������������������������������������������������哃茍咷咮哖咶哅哆咠呰咼咢咾呲哞咰垵垞垟垤垌垗垝垛垔垘垏垙垥垚垕壴复奓姡姞姮娀姱姝姺姽姼姶姤姲姷姛姩姳姵姠姾姴姭宨屌峐峘峌峗峋峛����������������������������������峞峚峉峇峊峖峓峔峏峈峆峎峟峸巹帡帢帣帠帤庰庤庢庛庣庥弇弮彖徆怷怹恔恲恞恅恓恇恉恛恌恀恂恟怤恄恘恦恮扂扃拏挍挋拵挎挃拫拹挏挌拸拶挀挓挔拺挕拻拰敁敃斪斿昶昡昲昵昜昦昢昳昫昺昝昴昹昮朏朐柁柲柈枺�".split("");for(a=0;a!=t[206].length;++a)if(t[206][a].charCodeAt(0)!==65533){r[t[206][a]]=52736+a;e[52736+a]=t[206][a]}t[207]="����������������������������������������������������������������柜枻柸柘柀枷柅柫柤柟枵柍枳柷柶柮柣柂枹柎柧柰枲柼柆柭柌枮柦柛柺柉柊柃柪柋欨殂殄殶毖毘毠氠氡洨洴洭洟洼洿洒洊泚洳洄洙洺洚洑洀洝浂����������������������������������洁洘洷洃洏浀洇洠洬洈洢洉洐炷炟炾炱炰炡炴炵炩牁牉牊牬牰牳牮狊狤狨狫狟狪狦狣玅珌珂珈珅玹玶玵玴珫玿珇玾珃珆玸珋瓬瓮甮畇畈疧疪癹盄眈眃眄眅眊盷盻盺矧矨砆砑砒砅砐砏砎砉砃砓祊祌祋祅祄秕种秏秖秎窀�".split("");for(a=0;a!=t[207].length;++a)if(t[207][a].charCodeAt(0)!==65533){r[t[207][a]]=52992+a;e[52992+a]=t[207][a]}t[208]="����������������������������������������������������������������穾竑笀笁籺籸籹籿粀粁紃紈紁罘羑羍羾耇耎耏耔耷胘胇胠胑胈胂胐胅胣胙胜胊胕胉胏胗胦胍臿舡芔苙苾苹茇苨茀苕茺苫苖苴苬苡苲苵茌苻苶苰苪����������������������������������苤苠苺苳苭虷虴虼虳衁衎衧衪衩觓訄訇赲迣迡迮迠郱邽邿郕郅邾郇郋郈釔釓陔陏陑陓陊陎倞倅倇倓倢倰倛俵俴倳倷倬俶俷倗倜倠倧倵倯倱倎党冔冓凊凄凅凈凎剡剚剒剞剟剕剢勍匎厞唦哢唗唒哧哳哤唚哿唄唈哫唑唅哱�".split("");for(a=0;a!=t[208].length;++a)if(t[208][a].charCodeAt(0)!==65533){r[t[208][a]]=53248+a;e[53248+a]=t[208][a]}t[209]="����������������������������������������������������������������唊哻哷哸哠唎唃唋圁圂埌堲埕埒垺埆垽垼垸垶垿埇埐垹埁夎奊娙娖娭娮娕娏娗娊娞娳孬宧宭宬尃屖屔峬峿峮峱峷崀峹帩帨庨庮庪庬弳弰彧恝恚恧����������������������������������恁悢悈悀悒悁悝悃悕悛悗悇悜悎戙扆拲挐捖挬捄捅挶捃揤挹捋捊挼挩捁挴捘捔捙挭捇挳捚捑挸捗捀捈敊敆旆旃旄旂晊晟晇晑朒朓栟栚桉栲栳栻桋桏栖栱栜栵栫栭栯桎桄栴栝栒栔栦栨栮桍栺栥栠欬欯欭欱欴歭肂殈毦毤�".split("");for(a=0;a!=t[209].length;++a)if(t[209][a].charCodeAt(0)!==65533){r[t[209][a]]=53504+a;e[53504+a]=t[209][a]}t[210]="����������������������������������������������������������������毨毣毢毧氥浺浣浤浶洍浡涒浘浢浭浯涑涍淯浿涆浞浧浠涗浰浼浟涂涘洯浨涋浾涀涄洖涃浻浽浵涐烜烓烑烝烋缹烢烗烒烞烠烔烍烅烆烇烚烎烡牂牸����������������������������������牷牶猀狺狴狾狶狳狻猁珓珙珥珖玼珧珣珩珜珒珛珔珝珚珗珘珨瓞瓟瓴瓵甡畛畟疰痁疻痄痀疿疶疺皊盉眝眛眐眓眒眣眑眕眙眚眢眧砣砬砢砵砯砨砮砫砡砩砳砪砱祔祛祏祜祓祒祑秫秬秠秮秭秪秜秞秝窆窉窅窋窌窊窇竘笐�".split("");for(a=0;a!=t[210].length;++a)if(t[210][a].charCodeAt(0)!==65533){r[t[210][a]]=53760+a;e[53760+a]=t[210][a]}t[211]="����������������������������������������������������������������笄笓笅笏笈笊笎笉笒粄粑粊粌粈粍粅紞紝紑紎紘紖紓紟紒紏紌罜罡罞罠罝罛羖羒翃翂翀耖耾耹胺胲胹胵脁胻脀舁舯舥茳茭荄茙荑茥荖茿荁茦茜茢����������������������������������荂荎茛茪茈茼荍茖茤茠茷茯茩荇荅荌荓茞茬荋茧荈虓虒蚢蚨蚖蚍蚑蚞蚇蚗蚆蚋蚚蚅蚥蚙蚡蚧蚕蚘蚎蚝蚐蚔衃衄衭衵衶衲袀衱衿衯袃衾衴衼訒豇豗豻貤貣赶赸趵趷趶軑軓迾迵适迿迻逄迼迶郖郠郙郚郣郟郥郘郛郗郜郤酐�".split("");for(a=0;a!=t[211].length;++a)if(t[211][a].charCodeAt(0)!==65533){r[t[211][a]]=54016+a;e[54016+a]=t[211][a]}t[212]="����������������������������������������������������������������酎酏釕釢釚陜陟隼飣髟鬯乿偰偪偡偞偠偓偋偝偲偈偍偁偛偊偢倕偅偟偩偫偣偤偆偀偮偳偗偑凐剫剭剬剮勖勓匭厜啵啶唼啍啐唴唪啑啢唶唵唰啒啅����������������������������������唌唲啥啎唹啈唭唻啀啋圊圇埻堔埢埶埜埴堀埭埽堈埸堋埳埏堇埮埣埲埥埬埡堎埼堐埧堁堌埱埩埰堍堄奜婠婘婕婧婞娸娵婭婐婟婥婬婓婤婗婃婝婒婄婛婈媎娾婍娹婌婰婩婇婑婖婂婜孲孮寁寀屙崞崋崝崚崠崌崨崍崦崥崏�".split("");for(a=0;a!=t[212].length;++a)if(t[212][a].charCodeAt(0)!==65533){r[t[212][a]]=54272+a;e[54272+a]=t[212][a]}t[213]="����������������������������������������������������������������崰崒崣崟崮帾帴庱庴庹庲庳弶弸徛徖徟悊悐悆悾悰悺惓惔惏惤惙惝惈悱惛悷惊悿惃惍惀挲捥掊掂捽掽掞掭掝掗掫掎捯掇掐据掯捵掜捭掮捼掤挻掟����������������������������������捸掅掁掑掍捰敓旍晥晡晛晙晜晢朘桹梇梐梜桭桮梮梫楖桯梣梬梩桵桴梲梏桷梒桼桫桲梪梀桱桾梛梖梋梠梉梤桸桻梑梌梊桽欶欳欷欸殑殏殍殎殌氪淀涫涴涳湴涬淩淢涷淶淔渀淈淠淟淖涾淥淜淝淛淴淊涽淭淰涺淕淂淏淉�".split("");for(a=0;a!=t[213].length;++a)if(t[213][a].charCodeAt(0)!==65533){r[t[213][a]]=54528+a;e[54528+a]=t[213][a]}t[214]="����������������������������������������������������������������淐淲淓淽淗淍淣涻烺焍烷焗烴焌烰焄烳焐烼烿焆焓焀烸烶焋焂焎牾牻牼牿猝猗猇猑猘猊猈狿猏猞玈珶珸珵琄琁珽琇琀珺珼珿琌琋珴琈畤畣痎痒痏����������������������������������痋痌痑痐皏皉盓眹眯眭眱眲眴眳眽眥眻眵硈硒硉硍硊硌砦硅硐祤祧祩祪祣祫祡离秺秸秶秷窏窔窐笵筇笴笥笰笢笤笳笘笪笝笱笫笭笯笲笸笚笣粔粘粖粣紵紽紸紶紺絅紬紩絁絇紾紿絊紻紨罣羕羜羝羛翊翋翍翐翑翇翏翉耟�".split("");for(a=0;a!=t[214].length;++a)if(t[214][a].charCodeAt(0)!==65533){r[t[214][a]]=54784+a;e[54784+a]=t[214][a]}t[215]="����������������������������������������������������������������耞耛聇聃聈脘脥脙脛脭脟脬脞脡脕脧脝脢舑舸舳舺舴舲艴莐莣莨莍荺荳莤荴莏莁莕莙荵莔莩荽莃莌莝莛莪莋荾莥莯莈莗莰荿莦莇莮荶莚虙虖蚿蚷����������������������������������蛂蛁蛅蚺蚰蛈蚹蚳蚸蛌蚴蚻蚼蛃蚽蚾衒袉袕袨袢袪袚袑袡袟袘袧袙袛袗袤袬袌袓袎覂觖觙觕訰訧訬訞谹谻豜豝豽貥赽赻赹趼跂趹趿跁軘軞軝軜軗軠軡逤逋逑逜逌逡郯郪郰郴郲郳郔郫郬郩酖酘酚酓酕釬釴釱釳釸釤釹釪�".split("");for(a=0;a!=t[215].length;++a)if(t[215][a].charCodeAt(0)!==65533){r[t[215][a]]=55040+a;e[55040+a]=t[215][a]}t[216]="����������������������������������������������������������������釫釷釨釮镺閆閈陼陭陫陱陯隿靪頄飥馗傛傕傔傞傋傣傃傌傎傝偨傜傒傂傇兟凔匒匑厤厧喑喨喥喭啷噅喢喓喈喏喵喁喣喒喤啽喌喦啿喕喡喎圌堩堷����������������������������������堙堞堧堣堨埵塈堥堜堛堳堿堶堮堹堸堭堬堻奡媯媔媟婺媢媞婸媦婼媥媬媕媮娷媄媊媗媃媋媩婻婽媌媜媏媓媝寪寍寋寔寑寊寎尌尰崷嵃嵫嵁嵋崿崵嵑嵎嵕崳崺嵒崽崱嵙嵂崹嵉崸崼崲崶嵀嵅幄幁彘徦徥徫惉悹惌惢惎惄愔�".split("");for(a=0;a!=t[216].length;++a)if(t[216][a].charCodeAt(0)!==65533){r[t[216][a]]=55296+a;e[55296+a]=t[216][a]}t[217]="����������������������������������������������������������������惲愊愖愅惵愓惸惼惾惁愃愘愝愐惿愄愋扊掔掱掰揎揥揨揯揃撝揳揊揠揶揕揲揵摡揟掾揝揜揄揘揓揂揇揌揋揈揰揗揙攲敧敪敤敜敨敥斌斝斞斮旐旒����������������������������������晼晬晻暀晱晹晪晲朁椌棓椄棜椪棬棪棱椏棖棷棫棤棶椓椐棳棡椇棌椈楰梴椑棯棆椔棸棐棽棼棨椋椊椗棎棈棝棞棦棴棑椆棔棩椕椥棇欹欻欿欼殔殗殙殕殽毰毲毳氰淼湆湇渟湉溈渼渽湅湢渫渿湁湝湳渜渳湋湀湑渻渃渮湞�".split("");for(a=0;a!=t[217].length;++a)if(t[217][a].charCodeAt(0)!==65533){r[t[217][a]]=55552+a;e[55552+a]=t[217][a]}t[218]="����������������������������������������������������������������湨湜湡渱渨湠湱湫渹渢渰湓湥渧湸湤湷湕湹湒湦渵渶湚焠焞焯烻焮焱焣焥焢焲焟焨焺焛牋牚犈犉犆犅犋猒猋猰猢猱猳猧猲猭猦猣猵猌琮琬琰琫琖����������������������������������琚琡琭琱琤琣琝琩琠琲瓻甯畯畬痧痚痡痦痝痟痤痗皕皒盚睆睇睄睍睅睊睎睋睌矞矬硠硤硥硜硭硱硪确硰硩硨硞硢祴祳祲祰稂稊稃稌稄窙竦竤筊笻筄筈筌筎筀筘筅粢粞粨粡絘絯絣絓絖絧絪絏絭絜絫絒絔絩絑絟絎缾缿罥�".split("");for(a=0;a!=t[218].length;++a)if(t[218][a].charCodeAt(0)!==65533){r[t[218][a]]=55808+a;e[55808+a]=t[218][a]}t[219]="����������������������������������������������������������������罦羢羠羡翗聑聏聐胾胔腃腊腒腏腇脽腍脺臦臮臷臸臹舄舼舽舿艵茻菏菹萣菀菨萒菧菤菼菶萐菆菈菫菣莿萁菝菥菘菿菡菋菎菖菵菉萉萏菞萑萆菂菳����������������������������������菕菺菇菑菪萓菃菬菮菄菻菗菢萛菛菾蛘蛢蛦蛓蛣蛚蛪蛝蛫蛜蛬蛩蛗蛨蛑衈衖衕袺裗袹袸裀袾袶袼袷袽袲褁裉覕覘覗觝觚觛詎詍訹詙詀詗詘詄詅詒詈詑詊詌詏豟貁貀貺貾貰貹貵趄趀趉跘跓跍跇跖跜跏跕跙跈跗跅軯軷軺�".split("");for(a=0;a!=t[219].length;++a)if(t[219][a].charCodeAt(0)!==65533){r[t[219][a]]=56064+a;e[56064+a]=t[219][a]}t[220]="����������������������������������������������������������������軹軦軮軥軵軧軨軶軫軱軬軴軩逭逴逯鄆鄬鄄郿郼鄈郹郻鄁鄀鄇鄅鄃酡酤酟酢酠鈁鈊鈥鈃鈚鈦鈏鈌鈀鈒釿釽鈆鈄鈧鈂鈜鈤鈙鈗鈅鈖镻閍閌閐隇陾隈����������������������������������隉隃隀雂雈雃雱雰靬靰靮頇颩飫鳦黹亃亄亶傽傿僆傮僄僊傴僈僂傰僁傺傱僋僉傶傸凗剺剸剻剼嗃嗛嗌嗐嗋嗊嗝嗀嗔嗄嗩喿嗒喍嗏嗕嗢嗖嗈嗲嗍嗙嗂圔塓塨塤塏塍塉塯塕塎塝塙塥塛堽塣塱壼嫇嫄嫋媺媸媱媵媰媿嫈媻嫆�".split("");for(a=0;a!=t[220].length;++a)if(t[220][a].charCodeAt(0)!==65533){r[t[220][a]]=56320+a;e[56320+a]=t[220][a]}t[221]="����������������������������������������������������������������媷嫀嫊媴媶嫍媹媐寖寘寙尟尳嵱嵣嵊嵥嵲嵬嵞嵨嵧嵢巰幏幎幊幍幋廅廌廆廋廇彀徯徭惷慉慊愫慅愶愲愮慆愯慏愩慀戠酨戣戥戤揅揱揫搐搒搉搠搤����������������������������������搳摃搟搕搘搹搷搢搣搌搦搰搨摁搵搯搊搚摀搥搧搋揧搛搮搡搎敯斒旓暆暌暕暐暋暊暙暔晸朠楦楟椸楎楢楱椿楅楪椹楂楗楙楺楈楉椵楬椳椽楥棰楸椴楩楀楯楄楶楘楁楴楌椻楋椷楜楏楑椲楒椯楻椼歆歅歃歂歈歁殛嗀毻毼�".split("");for(a=0;a!=t[221].length;++a)if(t[221][a].charCodeAt(0)!==65533){r[t[221][a]]=56576+a;e[56576+a]=t[221][a]}t[222]="����������������������������������������������������������������毹毷毸溛滖滈溏滀溟溓溔溠溱溹滆滒溽滁溞滉溷溰滍溦滏溲溾滃滜滘溙溒溎溍溤溡溿溳滐滊溗溮溣煇煔煒煣煠煁煝煢煲煸煪煡煂煘煃煋煰煟煐煓����������������������������������煄煍煚牏犍犌犑犐犎猼獂猻猺獀獊獉瑄瑊瑋瑒瑑瑗瑀瑏瑐瑎瑂瑆瑍瑔瓡瓿瓾瓽甝畹畷榃痯瘏瘃痷痾痼痹痸瘐痻痶痭痵痽皙皵盝睕睟睠睒睖睚睩睧睔睙睭矠碇碚碔碏碄碕碅碆碡碃硹碙碀碖硻祼禂祽祹稑稘稙稒稗稕稢稓�".split("");for(a=0;a!=t[222].length;++a)if(t[222][a].charCodeAt(0)!==65533){r[t[222][a]]=56832+a;e[56832+a]=t[222][a]}t[223]="����������������������������������������������������������������稛稐窣窢窞竫筦筤筭筴筩筲筥筳筱筰筡筸筶筣粲粴粯綈綆綀綍絿綅絺綎絻綃絼綌綔綄絽綒罭罫罧罨罬羦羥羧翛翜耡腤腠腷腜腩腛腢腲朡腞腶腧腯����������������������������������腄腡舝艉艄艀艂艅蓱萿葖葶葹蒏蒍葥葑葀蒆葧萰葍葽葚葙葴葳葝蔇葞萷萺萴葺葃葸萲葅萩菙葋萯葂萭葟葰萹葎葌葒葯蓅蒎萻葇萶萳葨葾葄萫葠葔葮葐蜋蜄蛷蜌蛺蛖蛵蝍蛸蜎蜉蜁蛶蜍蜅裖裋裍裎裞裛裚裌裐覅覛觟觥觤�".split("");for(a=0;a!=t[223].length;++a)if(t[223][a].charCodeAt(0)!==65533){r[t[223][a]]=57088+a;e[57088+a]=t[223][a]}t[224]="����������������������������������������������������������������觡觠觢觜触詶誆詿詡訿詷誂誄詵誃誁詴詺谼豋豊豥豤豦貆貄貅賌赨赩趑趌趎趏趍趓趔趐趒跰跠跬跱跮跐跩跣跢跧跲跫跴輆軿輁輀輅輇輈輂輋遒逿����������������������������������遄遉逽鄐鄍鄏鄑鄖鄔鄋鄎酮酯鉈鉒鈰鈺鉦鈳鉥鉞銃鈮鉊鉆鉭鉬鉏鉠鉧鉯鈶鉡鉰鈱鉔鉣鉐鉲鉎鉓鉌鉖鈲閟閜閞閛隒隓隑隗雎雺雽雸雵靳靷靸靲頏頍頎颬飶飹馯馲馰馵骭骫魛鳪鳭鳧麀黽僦僔僗僨僳僛僪僝僤僓僬僰僯僣僠�".split("");for(a=0;a!=t[224].length;++a)if(t[224][a].charCodeAt(0)!==65533){r[t[224][a]]=57344+a;e[57344+a]=t[224][a]}t[225]="����������������������������������������������������������������凘劀劁勩勫匰厬嘧嘕嘌嘒嗼嘏嘜嘁嘓嘂嗺嘝嘄嗿嗹墉塼墐墘墆墁塿塴墋塺墇墑墎塶墂墈塻墔墏壾奫嫜嫮嫥嫕嫪嫚嫭嫫嫳嫢嫠嫛嫬嫞嫝嫙嫨嫟孷寠����������������������������������寣屣嶂嶀嵽嶆嵺嶁嵷嶊嶉嶈嵾嵼嶍嵹嵿幘幙幓廘廑廗廎廜廕廙廒廔彄彃彯徶愬愨慁慞慱慳慒慓慲慬憀慴慔慺慛慥愻慪慡慖戩戧戫搫摍摛摝摴摶摲摳摽摵摦撦摎撂摞摜摋摓摠摐摿搿摬摫摙摥摷敳斠暡暠暟朅朄朢榱榶槉�".split("");for(a=0;a!=t[225].length;++a)if(t[225][a].charCodeAt(0)!==65533){r[t[225][a]]=57600+a;e[57600+a]=t[225][a]}t[226]="����������������������������������������������������������������榠槎榖榰榬榼榑榙榎榧榍榩榾榯榿槄榽榤槔榹槊榚槏榳榓榪榡榞槙榗榐槂榵榥槆歊歍歋殞殟殠毃毄毾滎滵滱漃漥滸漷滻漮漉潎漙漚漧漘漻漒滭漊����������������������������������漶潳滹滮漭潀漰漼漵滫漇漎潃漅滽滶漹漜滼漺漟漍漞漈漡熇熐熉熀熅熂熏煻熆熁熗牄牓犗犕犓獃獍獑獌瑢瑳瑱瑵瑲瑧瑮甀甂甃畽疐瘖瘈瘌瘕瘑瘊瘔皸瞁睼瞅瞂睮瞀睯睾瞃碲碪碴碭碨硾碫碞碥碠碬碢碤禘禊禋禖禕禔禓�".split("");for(a=0;a!=t[226].length;++a)if(t[226][a].charCodeAt(0)!==65533){r[t[226][a]]=57856+a;e[57856+a]=t[226][a]}t[227]="����������������������������������������������������������������禗禈禒禐稫穊稰稯稨稦窨窫窬竮箈箜箊箑箐箖箍箌箛箎箅箘劄箙箤箂粻粿粼粺綧綷緂綣綪緁緀緅綝緎緄緆緋緌綯綹綖綼綟綦綮綩綡緉罳翢翣翥翞����������������������������������耤聝聜膉膆膃膇膍膌膋舕蒗蒤蒡蒟蒺蓎蓂蒬蒮蒫蒹蒴蓁蓍蒪蒚蒱蓐蒝蒧蒻蒢蒔蓇蓌蒛蒩蒯蒨蓖蒘蒶蓏蒠蓗蓔蓒蓛蒰蒑虡蜳蜣蜨蝫蝀蜮蜞蜡蜙蜛蝃蜬蝁蜾蝆蜠蜲蜪蜭蜼蜒蜺蜱蜵蝂蜦蜧蜸蜤蜚蜰蜑裷裧裱裲裺裾裮裼裶裻�".split("");for(a=0;a!=t[227].length;++a)if(t[227][a].charCodeAt(0)!==65533){r[t[227][a]]=58112+a;e[58112+a]=t[227][a]}t[228]="����������������������������������������������������������������裰裬裫覝覡覟覞觩觫觨誫誙誋誒誏誖谽豨豩賕賏賗趖踉踂跿踍跽踊踃踇踆踅跾踀踄輐輑輎輍鄣鄜鄠鄢鄟鄝鄚鄤鄡鄛酺酲酹酳銥銤鉶銛鉺銠銔銪銍����������������������������������銦銚銫鉹銗鉿銣鋮銎銂銕銢鉽銈銡銊銆銌銙銧鉾銇銩銝銋鈭隞隡雿靘靽靺靾鞃鞀鞂靻鞄鞁靿韎韍頖颭颮餂餀餇馝馜駃馹馻馺駂馽駇骱髣髧鬾鬿魠魡魟鳱鳲鳵麧僿儃儰僸儆儇僶僾儋儌僽儊劋劌勱勯噈噂噌嘵噁噊噉噆噘�".split("");for(a=0;a!=t[228].length;++a)if(t[228][a].charCodeAt(0)!==65533){r[t[228][a]]=58368+a;e[58368+a]=t[228][a]}t[229]="����������������������������������������������������������������噚噀嘳嘽嘬嘾嘸嘪嘺圚墫墝墱墠墣墯墬墥墡壿嫿嫴嫽嫷嫶嬃嫸嬂嫹嬁嬇嬅嬏屧嶙嶗嶟嶒嶢嶓嶕嶠嶜嶡嶚嶞幩幝幠幜緳廛廞廡彉徲憋憃慹憱憰憢憉����������������������������������憛憓憯憭憟憒憪憡憍慦憳戭摮摰撖撠撅撗撜撏撋撊撌撣撟摨撱撘敶敺敹敻斲斳暵暰暩暲暷暪暯樀樆樗槥槸樕槱槤樠槿槬槢樛樝槾樧槲槮樔槷槧橀樈槦槻樍槼槫樉樄樘樥樏槶樦樇槴樖歑殥殣殢殦氁氀毿氂潁漦潾澇濆澒�".split("");for(a=0;a!=t[229].length;++a)if(t[229][a].charCodeAt(0)!==65533){r[t[229][a]]=58624+a;e[58624+a]=t[229][a]}t[230]="����������������������������������������������������������������澍澉澌潢潏澅潚澖潶潬澂潕潲潒潐潗澔澓潝漀潡潫潽潧澐潓澋潩潿澕潣潷潪潻熲熯熛熰熠熚熩熵熝熥熞熤熡熪熜熧熳犘犚獘獒獞獟獠獝獛獡獚獙����������������������������������獢璇璉璊璆璁瑽璅璈瑼瑹甈甇畾瘥瘞瘙瘝瘜瘣瘚瘨瘛皜皝皞皛瞍瞏瞉瞈磍碻磏磌磑磎磔磈磃磄磉禚禡禠禜禢禛歶稹窲窴窳箷篋箾箬篎箯箹篊箵糅糈糌糋緷緛緪緧緗緡縃緺緦緶緱緰緮緟罶羬羰羭翭翫翪翬翦翨聤聧膣膟�".split("");for(a=0;a!=t[230].length;++a)if(t[230][a].charCodeAt(0)!==65533){r[t[230][a]]=58880+a;e[58880+a]=t[230][a]}t[231]="����������������������������������������������������������������膞膕膢膙膗舖艏艓艒艐艎艑蔤蔻蔏蔀蔩蔎蔉蔍蔟蔊蔧蔜蓻蔫蓺蔈蔌蓴蔪蓲蔕蓷蓫蓳蓼蔒蓪蓩蔖蓾蔨蔝蔮蔂蓽蔞蓶蔱蔦蓧蓨蓰蓯蓹蔘蔠蔰蔋蔙蔯虢����������������������������������蝖蝣蝤蝷蟡蝳蝘蝔蝛蝒蝡蝚蝑蝞蝭蝪蝐蝎蝟蝝蝯蝬蝺蝮蝜蝥蝏蝻蝵蝢蝧蝩衚褅褌褔褋褗褘褙褆褖褑褎褉覢覤覣觭觰觬諏諆誸諓諑諔諕誻諗誾諀諅諘諃誺誽諙谾豍貏賥賟賙賨賚賝賧趠趜趡趛踠踣踥踤踮踕踛踖踑踙踦踧�".split("");for(a=0;a!=t[231].length;++a)if(t[231][a].charCodeAt(0)!==65533){r[t[231][a]]=59136+a;e[59136+a]=t[231][a]}t[232]="����������������������������������������������������������������踔踒踘踓踜踗踚輬輤輘輚輠輣輖輗遳遰遯遧遫鄯鄫鄩鄪鄲鄦鄮醅醆醊醁醂醄醀鋐鋃鋄鋀鋙銶鋏鋱鋟鋘鋩鋗鋝鋌鋯鋂鋨鋊鋈鋎鋦鋍鋕鋉鋠鋞鋧鋑鋓����������������������������������銵鋡鋆銴镼閬閫閮閰隤隢雓霅霈霂靚鞊鞎鞈韐韏頞頝頦頩頨頠頛頧颲餈飺餑餔餖餗餕駜駍駏駓駔駎駉駖駘駋駗駌骳髬髫髳髲髱魆魃魧魴魱魦魶魵魰魨魤魬鳼鳺鳽鳿鳷鴇鴀鳹鳻鴈鴅鴄麃黓鼏鼐儜儓儗儚儑凞匴叡噰噠噮�".split("");for(a=0;a!=t[232].length;++a)if(t[232][a].charCodeAt(0)!==65533){r[t[232][a]]=59392+a;e[59392+a]=t[232][a]}t[233]="����������������������������������������������������������������噳噦噣噭噲噞噷圜圛壈墽壉墿墺壂墼壆嬗嬙嬛嬡嬔嬓嬐嬖嬨嬚嬠嬞寯嶬嶱嶩嶧嶵嶰嶮嶪嶨嶲嶭嶯嶴幧幨幦幯廩廧廦廨廥彋徼憝憨憖懅憴懆懁懌憺����������������������������������憿憸憌擗擖擐擏擉撽撉擃擛擳擙攳敿敼斢曈暾曀曊曋曏暽暻暺曌朣樴橦橉橧樲橨樾橝橭橶橛橑樨橚樻樿橁橪橤橐橏橔橯橩橠樼橞橖橕橍橎橆歕歔歖殧殪殫毈毇氄氃氆澭濋澣濇澼濎濈潞濄澽澞濊澨瀄澥澮澺澬澪濏澿澸�".split("");for(a=0;a!=t[233].length;++a)if(t[233][a].charCodeAt(0)!==65533){r[t[233][a]]=59648+a;e[59648+a]=t[233][a]}t[234]="����������������������������������������������������������������澢濉澫濍澯澲澰燅燂熿熸燖燀燁燋燔燊燇燏熽燘熼燆燚燛犝犞獩獦獧獬獥獫獪瑿璚璠璔璒璕璡甋疀瘯瘭瘱瘽瘳瘼瘵瘲瘰皻盦瞚瞝瞡瞜瞛瞢瞣瞕瞙����������������������������������瞗磝磩磥磪磞磣磛磡磢磭磟磠禤穄穈穇窶窸窵窱窷篞篣篧篝篕篥篚篨篹篔篪篢篜篫篘篟糒糔糗糐糑縒縡縗縌縟縠縓縎縜縕縚縢縋縏縖縍縔縥縤罃罻罼罺羱翯耪耩聬膱膦膮膹膵膫膰膬膴膲膷膧臲艕艖艗蕖蕅蕫蕍蕓蕡蕘�".split("");for(a=0;a!=t[234].length;++a)if(t[234][a].charCodeAt(0)!==65533){r[t[234][a]]=59904+a;e[59904+a]=t[234][a]}t[235]="����������������������������������������������������������������蕀蕆蕤蕁蕢蕄蕑蕇蕣蔾蕛蕱蕎蕮蕵蕕蕧蕠薌蕦蕝蕔蕥蕬虣虥虤螛螏螗螓螒螈螁螖螘蝹螇螣螅螐螑螝螄螔螜螚螉褞褦褰褭褮褧褱褢褩褣褯褬褟觱諠����������������������������������諢諲諴諵諝謔諤諟諰諈諞諡諨諿諯諻貑貒貐賵賮賱賰賳赬赮趥趧踳踾踸蹀蹅踶踼踽蹁踰踿躽輶輮輵輲輹輷輴遶遹遻邆郺鄳鄵鄶醓醐醑醍醏錧錞錈錟錆錏鍺錸錼錛錣錒錁鍆錭錎錍鋋錝鋺錥錓鋹鋷錴錂錤鋿錩錹錵錪錔錌�".split("");for(a=0;a!=t[235].length;++a)if(t[235][a].charCodeAt(0)!==65533){r[t[235][a]]=60160+a;e[60160+a]=t[235][a]}t[236]="����������������������������������������������������������������錋鋾錉錀鋻錖閼闍閾閹閺閶閿閵閽隩雔霋霒霐鞙鞗鞔韰韸頵頯頲餤餟餧餩馞駮駬駥駤駰駣駪駩駧骹骿骴骻髶髺髹髷鬳鮀鮅鮇魼魾魻鮂鮓鮒鮐魺鮕����������������������������������魽鮈鴥鴗鴠鴞鴔鴩鴝鴘鴢鴐鴙鴟麈麆麇麮麭黕黖黺鼒鼽儦儥儢儤儠儩勴嚓嚌嚍嚆嚄嚃噾嚂噿嚁壖壔壏壒嬭嬥嬲嬣嬬嬧嬦嬯嬮孻寱寲嶷幬幪徾徻懃憵憼懧懠懥懤懨懞擯擩擣擫擤擨斁斀斶旚曒檍檖檁檥檉檟檛檡檞檇檓檎�".split("");for(a=0;a!=t[236].length;++a)if(t[236][a].charCodeAt(0)!==65533){r[t[236][a]]=60416+a;e[60416+a]=t[236][a]}t[237]="����������������������������������������������������������������檕檃檨檤檑橿檦檚檅檌檒歛殭氉濌澩濴濔濣濜濭濧濦濞濲濝濢濨燡燱燨燲燤燰燢獳獮獯璗璲璫璐璪璭璱璥璯甐甑甒甏疄癃癈癉癇皤盩瞵瞫瞲瞷瞶����������������������������������瞴瞱瞨矰磳磽礂磻磼磲礅磹磾礄禫禨穜穛穖穘穔穚窾竀竁簅簏篲簀篿篻簎篴簋篳簂簉簃簁篸篽簆篰篱簐簊糨縭縼繂縳顈縸縪繉繀繇縩繌縰縻縶繄縺罅罿罾罽翴翲耬膻臄臌臊臅臇膼臩艛艚艜薃薀薏薧薕薠薋薣蕻薤薚薞�".split("");for(a=0;a!=t[237].length;++a)if(t[237][a].charCodeAt(0)!==65533){r[t[237][a]]=60672+a;e[60672+a]=t[237][a]}t[238]="����������������������������������������������������������������蕷蕼薉薡蕺蕸蕗薎薖薆薍薙薝薁薢薂薈薅蕹蕶薘薐薟虨螾螪螭蟅螰螬螹螵螼螮蟉蟃蟂蟌螷螯蟄蟊螴螶螿螸螽蟞螲褵褳褼褾襁襒褷襂覭覯覮觲觳謞����������������������������������謘謖謑謅謋謢謏謒謕謇謍謈謆謜謓謚豏豰豲豱豯貕貔賹赯蹎蹍蹓蹐蹌蹇轃轀邅遾鄸醚醢醛醙醟醡醝醠鎡鎃鎯鍤鍖鍇鍼鍘鍜鍶鍉鍐鍑鍠鍭鎏鍌鍪鍹鍗鍕鍒鍏鍱鍷鍻鍡鍞鍣鍧鎀鍎鍙闇闀闉闃闅閷隮隰隬霠霟霘霝霙鞚鞡鞜�".split("");for(a=0;a!=t[238].length;++a)if(t[238][a].charCodeAt(0)!==65533){r[t[238][a]]=60928+a;e[60928+a]=t[238][a]}t[239]="����������������������������������������������������������������鞞鞝韕韔韱顁顄顊顉顅顃餥餫餬餪餳餲餯餭餱餰馘馣馡騂駺駴駷駹駸駶駻駽駾駼騃骾髾髽鬁髼魈鮚鮨鮞鮛鮦鮡鮥鮤鮆鮢鮠鮯鴳鵁鵧鴶鴮鴯鴱鴸鴰����������������������������������鵅鵂鵃鴾鴷鵀鴽翵鴭麊麉麍麰黈黚黻黿鼤鼣鼢齔龠儱儭儮嚘嚜嚗嚚嚝嚙奰嬼屩屪巀幭幮懘懟懭懮懱懪懰懫懖懩擿攄擽擸攁攃擼斔旛曚曛曘櫅檹檽櫡櫆檺檶檷櫇檴檭歞毉氋瀇瀌瀍瀁瀅瀔瀎濿瀀濻瀦濼濷瀊爁燿燹爃燽獶�".split("");for(a=0;a!=t[239].length;++a)if(t[239][a].charCodeAt(0)!==65533){r[t[239][a]]=61184+a;e[61184+a]=t[239][a]}t[240]="����������������������������������������������������������������璸瓀璵瓁璾璶璻瓂甔甓癜癤癙癐癓癗癚皦皽盬矂瞺磿礌礓礔礉礐礒礑禭禬穟簜簩簙簠簟簭簝簦簨簢簥簰繜繐繖繣繘繢繟繑繠繗繓羵羳翷翸聵臑臒����������������������������������臐艟艞薴藆藀藃藂薳薵薽藇藄薿藋藎藈藅薱薶藒蘤薸薷薾虩蟧蟦蟢蟛蟫蟪蟥蟟蟳蟤蟔蟜蟓蟭蟘蟣螤蟗蟙蠁蟴蟨蟝襓襋襏襌襆襐襑襉謪謧謣謳謰謵譇謯謼謾謱謥謷謦謶謮謤謻謽謺豂豵貙貘貗賾贄贂贀蹜蹢蹠蹗蹖蹞蹥蹧�".split("");for(a=0;a!=t[240].length;++a)if(t[240][a].charCodeAt(0)!==65533){r[t[240][a]]=61440+a;e[61440+a]=t[240][a]}t[241]="����������������������������������������������������������������蹛蹚蹡蹝蹩蹔轆轇轈轋鄨鄺鄻鄾醨醥醧醯醪鎵鎌鎒鎷鎛鎝鎉鎧鎎鎪鎞鎦鎕鎈鎙鎟鎍鎱鎑鎲鎤鎨鎴鎣鎥闒闓闑隳雗雚巂雟雘雝霣霢霥鞬鞮鞨鞫鞤鞪����������������������������������鞢鞥韗韙韖韘韺顐顑顒颸饁餼餺騏騋騉騍騄騑騊騅騇騆髀髜鬈鬄鬅鬩鬵魊魌魋鯇鯆鯃鮿鯁鮵鮸鯓鮶鯄鮹鮽鵜鵓鵏鵊鵛鵋鵙鵖鵌鵗鵒鵔鵟鵘鵚麎麌黟鼁鼀鼖鼥鼫鼪鼩鼨齌齕儴儵劖勷厴嚫嚭嚦嚧嚪嚬壚壝壛夒嬽嬾嬿巃幰�".split("");for(a=0;a!=t[241].length;++a)if(t[241][a].charCodeAt(0)!==65533){r[t[241][a]]=61696+a;e[61696+a]=t[241][a]}t[242]="����������������������������������������������������������������徿懻攇攐攍攉攌攎斄旞旝曞櫧櫠櫌櫑櫙櫋櫟櫜櫐櫫櫏櫍櫞歠殰氌瀙瀧瀠瀖瀫瀡瀢瀣瀩瀗瀤瀜瀪爌爊爇爂爅犥犦犤犣犡瓋瓅璷瓃甖癠矉矊矄矱礝礛����������������������������������礡礜礗礞禰穧穨簳簼簹簬簻糬糪繶繵繸繰繷繯繺繲繴繨罋罊羃羆羷翽翾聸臗臕艤艡艣藫藱藭藙藡藨藚藗藬藲藸藘藟藣藜藑藰藦藯藞藢蠀蟺蠃蟶蟷蠉蠌蠋蠆蟼蠈蟿蠊蠂襢襚襛襗襡襜襘襝襙覈覷覶觶譐譈譊譀譓譖譔譋譕�".split("");for(a=0;a!=t[242].length;++a)if(t[242][a].charCodeAt(0)!==65533){r[t[242][a]]=61952+a;e[61952+a]=t[242][a]}t[243]="����������������������������������������������������������������譑譂譒譗豃豷豶貚贆贇贉趬趪趭趫蹭蹸蹳蹪蹯蹻軂轒轑轏轐轓辴酀鄿醰醭鏞鏇鏏鏂鏚鏐鏹鏬鏌鏙鎩鏦鏊鏔鏮鏣鏕鏄鏎鏀鏒鏧镽闚闛雡霩霫霬霨霦����������������������������������鞳鞷鞶韝韞韟顜顙顝顗颿颽颻颾饈饇饃馦馧騚騕騥騝騤騛騢騠騧騣騞騜騔髂鬋鬊鬎鬌鬷鯪鯫鯠鯞鯤鯦鯢鯰鯔鯗鯬鯜鯙鯥鯕鯡鯚鵷鶁鶊鶄鶈鵱鶀鵸鶆鶋鶌鵽鵫鵴鵵鵰鵩鶅鵳鵻鶂鵯鵹鵿鶇鵨麔麑黀黼鼭齀齁齍齖齗齘匷嚲�".split("");for(a=0;a!=t[243].length;++a)if(t[243][a].charCodeAt(0)!==65533){r[t[243][a]]=62208+a;e[62208+a]=t[243][a]}t[244]="����������������������������������������������������������������嚵嚳壣孅巆巇廮廯忀忁懹攗攖攕攓旟曨曣曤櫳櫰櫪櫨櫹櫱櫮櫯瀼瀵瀯瀷瀴瀱灂瀸瀿瀺瀹灀瀻瀳灁爓爔犨獽獼璺皫皪皾盭矌矎矏矍矲礥礣礧礨礤礩����������������������������������禲穮穬穭竷籉籈籊籇籅糮繻繾纁纀羺翿聹臛臙舋艨艩蘢藿蘁藾蘛蘀藶蘄蘉蘅蘌藽蠙蠐蠑蠗蠓蠖襣襦覹觷譠譪譝譨譣譥譧譭趮躆躈躄轙轖轗轕轘轚邍酃酁醷醵醲醳鐋鐓鏻鐠鐏鐔鏾鐕鐐鐨鐙鐍鏵鐀鏷鐇鐎鐖鐒鏺鐉鏸鐊鏿�".split("");for(a=0;a!=t[244].length;++a)if(t[244][a].charCodeAt(0)!==65533){r[t[244][a]]=62464+a;e[62464+a]=t[244][a]}t[245]="����������������������������������������������������������������鏼鐌鏶鐑鐆闞闠闟霮霯鞹鞻韽韾顠顢顣顟飁飂饐饎饙饌饋饓騲騴騱騬騪騶騩騮騸騭髇髊髆鬐鬒鬑鰋鰈鯷鰅鰒鯸鱀鰇鰎鰆鰗鰔鰉鶟鶙鶤鶝鶒鶘鶐鶛����������������������������������鶠鶔鶜鶪鶗鶡鶚鶢鶨鶞鶣鶿鶩鶖鶦鶧麙麛麚黥黤黧黦鼰鼮齛齠齞齝齙龑儺儹劘劗囃嚽嚾孈孇巋巏廱懽攛欂櫼欃櫸欀灃灄灊灈灉灅灆爝爚爙獾甗癪矐礭礱礯籔籓糲纊纇纈纋纆纍罍羻耰臝蘘蘪蘦蘟蘣蘜蘙蘧蘮蘡蘠蘩蘞蘥�".split("");for(a=0;a!=t[245].length;++a)if(t[245][a].charCodeAt(0)!==65533){r[t[245][a]]=62720+a;e[62720+a]=t[245][a]}t[246]="����������������������������������������������������������������蠩蠝蠛蠠蠤蠜蠫衊襭襩襮襫觺譹譸譅譺譻贐贔趯躎躌轞轛轝酆酄酅醹鐿鐻鐶鐩鐽鐼鐰鐹鐪鐷鐬鑀鐱闥闤闣霵霺鞿韡顤飉飆飀饘饖騹騽驆驄驂驁騺����������������������������������騿髍鬕鬗鬘鬖鬺魒鰫鰝鰜鰬鰣鰨鰩鰤鰡鶷鶶鶼鷁鷇鷊鷏鶾鷅鷃鶻鶵鷎鶹鶺鶬鷈鶱鶭鷌鶳鷍鶲鹺麜黫黮黭鼛鼘鼚鼱齎齥齤龒亹囆囅囋奱孋孌巕巑廲攡攠攦攢欋欈欉氍灕灖灗灒爞爟犩獿瓘瓕瓙瓗癭皭礵禴穰穱籗籜籙籛籚�".split("");for(a=0;a!=t[246].length;++a)if(t[246][a].charCodeAt(0)!==65533){r[t[246][a]]=62976+a;e[62976+a]=t[246][a]}t[247]="����������������������������������������������������������������糴糱纑罏羇臞艫蘴蘵蘳蘬蘲蘶蠬蠨蠦蠪蠥襱覿覾觻譾讄讂讆讅譿贕躕躔躚躒躐躖躗轠轢酇鑌鑐鑊鑋鑏鑇鑅鑈鑉鑆霿韣顪顩飋饔饛驎驓驔驌驏驈驊����������������������������������驉驒驐髐鬙鬫鬻魖魕鱆鱈鰿鱄鰹鰳鱁鰼鰷鰴鰲鰽鰶鷛鷒鷞鷚鷋鷐鷜鷑鷟鷩鷙鷘鷖鷵鷕鷝麶黰鼵鼳鼲齂齫龕龢儽劙壨壧奲孍巘蠯彏戁戃戄攩攥斖曫欑欒欏毊灛灚爢玂玁玃癰矔籧籦纕艬蘺虀蘹蘼蘱蘻蘾蠰蠲蠮蠳襶襴襳觾�".split("");for(a=0;a!=t[247].length;++a)if(t[247][a].charCodeAt(0)!==65533){r[t[247][a]]=63232+a;e[63232+a]=t[247][a]}t[248]="����������������������������������������������������������������讌讎讋讈豅贙躘轤轣醼鑢鑕鑝鑗鑞韄韅頀驖驙鬞鬟鬠鱒鱘鱐鱊鱍鱋鱕鱙鱌鱎鷻鷷鷯鷣鷫鷸鷤鷶鷡鷮鷦鷲鷰鷢鷬鷴鷳鷨鷭黂黐黲黳鼆鼜鼸鼷鼶齃齏����������������������������������齱齰齮齯囓囍孎屭攭曭曮欓灟灡灝灠爣瓛瓥矕礸禷禶籪纗羉艭虃蠸蠷蠵衋讔讕躞躟躠躝醾醽釂鑫鑨鑩雥靆靃靇韇韥驞髕魙鱣鱧鱦鱢鱞鱠鸂鷾鸇鸃鸆鸅鸀鸁鸉鷿鷽鸄麠鼞齆齴齵齶囔攮斸欘欙欗欚灢爦犪矘矙礹籩籫糶纚�".split("");for(a=0;a!=t[248].length;++a)if(t[248][a].charCodeAt(0)!==65533){r[t[248][a]]=63488+a;e[63488+a]=t[248][a]}t[249]="����������������������������������������������������������������纘纛纙臠臡虆虇虈襹襺襼襻觿讘讙躥躤躣鑮鑭鑯鑱鑳靉顲饟鱨鱮鱭鸋鸍鸐鸏鸒鸑麡黵鼉齇齸齻齺齹圞灦籯蠼趲躦釃鑴鑸鑶鑵驠鱴鱳鱱鱵鸔鸓黶鼊����������������������������������龤灨灥糷虪蠾蠽蠿讞貜躩軉靋顳顴飌饡馫驤驦驧鬤鸕鸗齈戇欞爧虌躨钂钀钁驩驨鬮鸙爩虋讟钃鱹麷癵驫鱺鸝灩灪麤齾齉龘碁銹裏墻恒粧嫺╔╦╗╠╬╣╚╩╝╒╤╕╞╪╡╘╧╛╓╥╖╟╫╢╙╨╜║═╭╮╰╯▓�".split("");for(a=0;a!=t[249].length;++a)if(t[249][a].charCodeAt(0)!==65533){r[t[249][a]]=63744+a;e[63744+a]=t[249][a]}return{enc:r,dec:e}}();cptable[1250]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬­®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1251]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—�™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬­®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1252]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1253]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›���� ΅Ά£¤¥¦§¨©�«¬­®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1254]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“”•–—˜™š›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖרÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1255]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰�‹�����‘’“”•–—˜™�›���� ¡¢£₪¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹ�ֻּֽ־ֿ׀ׁׂ׃װױײ׳״�������אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1256]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œ‌‍ں ،¢£¤¥¦§¨©ھ«¬­®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûü‎‏ے",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1257]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“”•–—�™�›�¯˛� �¢£¤�¦§Ø©Ŗ«¬­®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1258]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“”•–—˜™�›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖרÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1e4]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[10006]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦­ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ�",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[10007]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°¢£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµ∂ЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[10008]=function(){var e=[],r={},t=[],a;t[0]="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€���������������������������������������������������������������������������������������".split("");for(a=0;a!=t[0].length;++a)if(t[0][a].charCodeAt(0)!==65533){r[t[0][a]]=0+a;e[0+a]=t[0][a]}t[161]="����������������������������������������������������������������������������������������������������������������������������������������������������������������� 、。・ˉˇ¨〃々―~�…‘’“”〔〕〈〉《》「」『』〖〗【】±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵∴♂♀°′″℃$¤¢£‰§№☆★○●◎◇◆□■△▲※→←↑↓〓�".split("");for(a=0;a!=t[161].length;++a)if(t[161][a].charCodeAt(0)!==65533){r[t[161][a]]=41216+a;e[41216+a]=t[161][a]}t[162]="���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇①②③④⑤⑥⑦⑧⑨⑩��㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩��ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ���".split("");for(a=0;a!=t[162].length;++a)if(t[162][a].charCodeAt(0)!==65533){r[t[162][a]]=41472+a;e[41472+a]=t[162][a]}t[163]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������!"#¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|} ̄�".split("");for(a=0;a!=t[163].length;++a)if(t[163][a].charCodeAt(0)!==65533){r[t[163][a]]=41728+a;e[41728+a]=t[163][a]}t[164]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������".split("");for(a=0;a!=t[164].length;++a)if(t[164][a].charCodeAt(0)!==65533){r[t[164][a]]=41984+a;e[41984+a]=t[164][a]}t[165]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������".split("");for(a=0;a!=t[165].length;++a)if(t[165][a].charCodeAt(0)!==65533){r[t[165][a]]=42240+a;e[42240+a]=t[165][a]}t[166]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω���������������������������������������".split("");for(a=0;a!=t[166].length;++a)if(t[166][a].charCodeAt(0)!==65533){ +r[t[166][a]]=42496+a;e[42496+a]=t[166][a]}t[167]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������".split("");for(a=0;a!=t[167].length;++a)if(t[167][a].charCodeAt(0)!==65533){r[t[167][a]]=42752+a;e[42752+a]=t[167][a]}t[168]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüê����������ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ����������������������".split("");for(a=0;a!=t[168].length;++a)if(t[168][a].charCodeAt(0)!==65533){r[t[168][a]]=43008+a;e[43008+a]=t[168][a]}t[169]="��������������������������������������������������������������������������������������������������������������������������������������������������������������������─━│┃┄┅┆┇┈┉┊┋┌┍┎┏┐┑┒┓└┕┖┗┘┙┚┛├┝┞┟┠┡┢┣┤┥┦┧┨┩┪┫┬┭┮┯┰┱┲┳┴┵┶┷┸┹┺┻┼┽┾┿╀╁╂╃╄╅╆╇╈╉╊╋����������������".split("");for(a=0;a!=t[169].length;++a)if(t[169][a].charCodeAt(0)!==65533){r[t[169][a]]=43264+a;e[43264+a]=t[169][a]}t[176]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥�".split("");for(a=0;a!=t[176].length;++a)if(t[176][a].charCodeAt(0)!==65533){r[t[176][a]]=45056+a;e[45056+a]=t[176][a]}t[177]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳�".split("");for(a=0;a!=t[177].length;++a)if(t[177][a].charCodeAt(0)!==65533){r[t[177][a]]=45312+a;e[45312+a]=t[177][a]}t[178]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖�".split("");for(a=0;a!=t[178].length;++a)if(t[178][a].charCodeAt(0)!==65533){r[t[178][a]]=45568+a;e[45568+a]=t[178][a]}t[179]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚�".split("");for(a=0;a!=t[179].length;++a)if(t[179][a].charCodeAt(0)!==65533){r[t[179][a]]=45824+a;e[45824+a]=t[179][a]}t[180]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮�".split("");for(a=0;a!=t[180].length;++a)if(t[180][a].charCodeAt(0)!==65533){r[t[180][a]]=46080+a;e[46080+a]=t[180][a]}t[181]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠�".split("");for(a=0;a!=t[181].length;++a)if(t[181][a].charCodeAt(0)!==65533){r[t[181][a]]=46336+a;e[46336+a]=t[181][a]}t[182]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二�".split("");for(a=0;a!=t[182].length;++a)if(t[182][a].charCodeAt(0)!==65533){r[t[182][a]]=46592+a;e[46592+a]=t[182][a]}t[183]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服�".split("");for(a=0;a!=t[183].length;++a)if(t[183][a].charCodeAt(0)!==65533){r[t[183][a]]=46848+a;e[46848+a]=t[183][a]}t[184]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹�".split("");for(a=0;a!=t[184].length;++a)if(t[184][a].charCodeAt(0)!==65533){r[t[184][a]]=47104+a;e[47104+a]=t[184][a]}t[185]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈�".split("");for(a=0;a!=t[185].length;++a)if(t[185][a].charCodeAt(0)!==65533){r[t[185][a]]=47360+a;e[47360+a]=t[185][a]}t[186]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖�".split("");for(a=0;a!=t[186].length;++a)if(t[186][a].charCodeAt(0)!==65533){r[t[186][a]]=47616+a;e[47616+a]=t[186][a]}t[187]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕�".split("");for(a=0;a!=t[187].length;++a)if(t[187][a].charCodeAt(0)!==65533){r[t[187][a]]=47872+a;e[47872+a]=t[187][a]}t[188]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件�".split("");for(a=0;a!=t[188].length;++a)if(t[188][a].charCodeAt(0)!==65533){r[t[188][a]]=48128+a;e[48128+a]=t[188][a]}t[189]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸�".split("");for(a=0;a!=t[189].length;++a)if(t[189][a].charCodeAt(0)!==65533){r[t[189][a]]=48384+a;e[48384+a]=t[189][a]}t[190]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻�".split("");for(a=0;a!=t[190].length;++a)if(t[190][a].charCodeAt(0)!==65533){r[t[190][a]]=48640+a;e[48640+a]=t[190][a]}t[191]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀�".split("");for(a=0;a!=t[191].length;++a)if(t[191][a].charCodeAt(0)!==65533){r[t[191][a]]=48896+a;e[48896+a]=t[191][a]}t[192]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐�".split("");for(a=0;a!=t[192].length;++a)if(t[192][a].charCodeAt(0)!==65533){r[t[192][a]]=49152+a;e[49152+a]=t[192][a]}t[193]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿�".split("");for(a=0;a!=t[193].length;++a)if(t[193][a].charCodeAt(0)!==65533){r[t[193][a]]=49408+a;e[49408+a]=t[193][a]}t[194]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫�".split("");for(a=0;a!=t[194].length;++a)if(t[194][a].charCodeAt(0)!==65533){r[t[194][a]]=49664+a;e[49664+a]=t[194][a]}t[195]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸�".split("");for(a=0;a!=t[195].length;++a)if(t[195][a].charCodeAt(0)!==65533){r[t[195][a]]=49920+a;e[49920+a]=t[195][a]}t[196]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁�".split("");for(a=0;a!=t[196].length;++a)if(t[196][a].charCodeAt(0)!==65533){r[t[196][a]]=50176+a;e[50176+a]=t[196][a]}t[197]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗�".split("");for(a=0;a!=t[197].length;++a)if(t[197][a].charCodeAt(0)!==65533){r[t[197][a]]=50432+a;e[50432+a]=t[197][a]}t[198]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐�".split("");for(a=0;a!=t[198].length;++a)if(t[198][a].charCodeAt(0)!==65533){r[t[198][a]]=50688+a;e[50688+a]=t[198][a]}t[199]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠�".split("");for(a=0;a!=t[199].length;++a)if(t[199][a].charCodeAt(0)!==65533){r[t[199][a]]=50944+a;e[50944+a]=t[199][a]}t[200]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁�".split("");for(a=0;a!=t[200].length;++a)if(t[200][a].charCodeAt(0)!==65533){r[t[200][a]]=51200+a;e[51200+a]=t[200][a]}t[201]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳�".split("");for(a=0;a!=t[201].length;++a)if(t[201][a].charCodeAt(0)!==65533){r[t[201][a]]=51456+a;e[51456+a]=t[201][a]}t[202]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱�".split("");for(a=0;a!=t[202].length;++a)if(t[202][a].charCodeAt(0)!==65533){r[t[202][a]]=51712+a;e[51712+a]=t[202][a]}t[203]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔�".split("");for(a=0;a!=t[203].length;++a)if(t[203][a].charCodeAt(0)!==65533){r[t[203][a]]=51968+a;e[51968+a]=t[203][a]}t[204]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃�".split("");for(a=0;a!=t[204].length;++a)if(t[204][a].charCodeAt(0)!==65533){r[t[204][a]]=52224+a;e[52224+a]=t[204][a]}t[205]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威�".split("");for(a=0;a!=t[205].length;++a)if(t[205][a].charCodeAt(0)!==65533){r[t[205][a]]=52480+a;e[52480+a]=t[205][a]}t[206]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺�".split("");for(a=0;a!=t[206].length;++a)if(t[206][a].charCodeAt(0)!==65533){r[t[206][a]]=52736+a;e[52736+a]=t[206][a]}t[207]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓�".split("");for(a=0;a!=t[207].length;++a)if(t[207][a].charCodeAt(0)!==65533){r[t[207][a]]=52992+a;e[52992+a]=t[207][a]}t[208]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄�".split("");for(a=0;a!=t[208].length;++a)if(t[208][a].charCodeAt(0)!==65533){r[t[208][a]]=53248+a;e[53248+a]=t[208][a]}t[209]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶�".split("");for(a=0;a!=t[209].length;++a)if(t[209][a].charCodeAt(0)!==65533){r[t[209][a]]=53504+a;e[53504+a]=t[209][a]}t[210]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐�".split("");for(a=0;a!=t[210].length;++a)if(t[210][a].charCodeAt(0)!==65533){r[t[210][a]]=53760+a;e[53760+a]=t[210][a]}t[211]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉�".split("");for(a=0;a!=t[211].length;++a)if(t[211][a].charCodeAt(0)!==65533){r[t[211][a]]=54016+a;e[54016+a]=t[211][a]}t[212]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧�".split("");for(a=0;a!=t[212].length;++a)if(t[212][a].charCodeAt(0)!==65533){r[t[212][a]]=54272+a;e[54272+a]=t[212][a]}t[213]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政�".split("");for(a=0;a!=t[213].length;++a)if(t[213][a].charCodeAt(0)!==65533){r[t[213][a]]=54528+a;e[54528+a]=t[213][a]}t[214]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑�".split("");for(a=0;a!=t[214].length;++a)if(t[214][a].charCodeAt(0)!==65533){r[t[214][a]]=54784+a;e[54784+a]=t[214][a]}t[215]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座������".split("");for(a=0;a!=t[215].length;++a)if(t[215][a].charCodeAt(0)!==65533){r[t[215][a]]=55040+a;e[55040+a]=t[215][a]}t[216]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝�".split("");for(a=0;a!=t[216].length;++a)if(t[216][a].charCodeAt(0)!==65533){r[t[216][a]]=55296+a;e[55296+a]=t[216][a]}t[217]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼�".split("");for(a=0;a!=t[217].length;++a)if(t[217][a].charCodeAt(0)!==65533){r[t[217][a]]=55552+a;e[55552+a]=t[217][a]}t[218]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺�".split("");for(a=0;a!=t[218].length;++a)if(t[218][a].charCodeAt(0)!==65533){r[t[218][a]]=55808+a;e[55808+a]=t[218][a]}t[219]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝�".split("");for(a=0;a!=t[219].length;++a)if(t[219][a].charCodeAt(0)!==65533){r[t[219][a]]=56064+a;e[56064+a]=t[219][a]}t[220]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥�".split("");for(a=0;a!=t[220].length;++a)if(t[220][a].charCodeAt(0)!==65533){r[t[220][a]]=56320+a;e[56320+a]=t[220][a]}t[221]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺�".split("");for(a=0;a!=t[221].length;++a)if(t[221][a].charCodeAt(0)!==65533){r[t[221][a]]=56576+a;e[56576+a]=t[221][a]}t[222]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖�".split("");for(a=0;a!=t[222].length;++a)if(t[222][a].charCodeAt(0)!==65533){r[t[222][a]]=56832+a;e[56832+a]=t[222][a]}t[223]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼�".split("");for(a=0;a!=t[223].length;++a)if(t[223][a].charCodeAt(0)!==65533){r[t[223][a]]=57088+a;e[57088+a]=t[223][a]}t[224]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼�".split("");for(a=0;a!=t[224].length;++a)if(t[224][a].charCodeAt(0)!==65533){r[t[224][a]]=57344+a;e[57344+a]=t[224][a]}t[225]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺�".split("");for(a=0;a!=t[225].length;++a)if(t[225][a].charCodeAt(0)!==65533){r[t[225][a]]=57600+a;e[57600+a]=t[225][a]}t[226]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧饨饩饪饫饬饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂�".split("");for(a=0;a!=t[226].length;++a)if(t[226][a].charCodeAt(0)!==65533){r[t[226][a]]=57856+a;e[57856+a]=t[226][a]}t[227]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾�".split("");for(a=0;a!=t[227].length;++a)if(t[227][a].charCodeAt(0)!==65533){r[t[227][a]]=58112+a;e[58112+a]=t[227][a]}t[228]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑�".split("");for(a=0;a!=t[228].length;++a)if(t[228][a].charCodeAt(0)!==65533){r[t[228][a]]=58368+a;e[58368+a]=t[228][a]}t[229]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣�".split("");for(a=0;a!=t[229].length;++a)if(t[229][a].charCodeAt(0)!==65533){r[t[229][a]]=58624+a;e[58624+a]=t[229][a]}t[230]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩�".split("");for(a=0;a!=t[230].length;++a)if(t[230][a].charCodeAt(0)!==65533){r[t[230][a]]=58880+a;e[58880+a]=t[230][a]}t[231]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡缢缣缤缥缦缧缪缫缬缭缯缰缱缲缳缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬�".split("");for(a=0;a!=t[231].length;++a)if(t[231][a].charCodeAt(0)!==65533){r[t[231][a]]=59136+a;e[59136+a]=t[231][a]}t[232]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹�".split("");for(a=0;a!=t[232].length;++a)if(t[232][a].charCodeAt(0)!==65533){r[t[232][a]]=59392+a;e[59392+a]=t[232][a]}t[233]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋�".split("");for(a=0;a!=t[233].length;++a)if(t[233][a].charCodeAt(0)!==65533){r[t[233][a]]=59648+a;e[59648+a]=t[233][a]}t[234]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰�".split("");for(a=0;a!=t[234].length;++a)if(t[234][a].charCodeAt(0)!==65533){r[t[234][a]]=59904+a;e[59904+a]=t[234][a]}t[235]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻�".split("");for(a=0;a!=t[235].length;++a)if(t[235][a].charCodeAt(0)!==65533){r[t[235][a]]=60160+a;e[60160+a]=t[235][a]}t[236]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐�".split("");for(a=0;a!=t[236].length;++a)if(t[236][a].charCodeAt(0)!==65533){r[t[236][a]]=60416+a;e[60416+a]=t[236][a]}t[237]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨�".split("");for(a=0;a!=t[237].length;++a)if(t[237][a].charCodeAt(0)!==65533){r[t[237][a]]=60672+a;e[60672+a]=t[237][a]}t[238]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶钷钸钹钺钼钽钿铄铈铉铊铋铌铍铎铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪�".split("");for(a=0;a!=t[238].length;++a)if(t[238][a].charCodeAt(0)!==65533){r[t[238][a]]=60928+a;e[60928+a]=t[238][a]}t[239]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒锓锔锕锖锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤镥镦镧镨镩镪镫镬镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔�".split("");for(a=0;a!=t[239].length;++a)if(t[239][a].charCodeAt(0)!==65533){r[t[239][a]]=61184+a;e[61184+a]=t[239][a]}t[240]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨鸩鸪鸫鸬鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦鹧鹨鹩鹪鹫鹬鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙�".split("");for(a=0;a!=t[240].length;++a)if(t[240][a].charCodeAt(0)!==65533){r[t[240][a]]=61440+a;e[61440+a]=t[240][a]}t[241]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃�".split("");for(a=0;a!=t[241].length;++a)if(t[241][a].charCodeAt(0)!==65533){r[t[241][a]]=61696+a;e[61696+a]=t[241][a]}t[242]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒�".split("");for(a=0;a!=t[242].length;++a)if(t[242][a].charCodeAt(0)!==65533){r[t[242][a]]=61952+a;e[61952+a]=t[242][a]}t[243]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋�".split("");for(a=0;a!=t[243].length;++a)if(t[243][a].charCodeAt(0)!==65533){r[t[243][a]]=62208+a;e[62208+a]=t[243][a]}t[244]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤�".split("");for(a=0;a!=t[244].length;++a)if(t[244][a].charCodeAt(0)!==65533){r[t[244][a]]=62464+a;e[62464+a]=t[244][a]}t[245]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜�".split("");for(a=0;a!=t[245].length;++a)if(t[245][a].charCodeAt(0)!==65533){r[t[245][a]]=62720+a;e[62720+a]=t[245][a]}t[246]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅龆龇龈龉龊龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞鲟鲠鲡鲢鲣鲥鲦鲧鲨鲩鲫鲭鲮鲰鲱鲲鲳鲴鲵鲶鲷鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋�".split("");for(a=0;a!=t[246].length;++a)if(t[246][a].charCodeAt(0)!==65533){r[t[246][a]]=62976+a;e[62976+a]=t[246][a]}t[247]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������鳌鳍鳎鳏鳐鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄�".split("");for(a=0;a!=t[247].length;++a)if(t[247][a].charCodeAt(0)!==65533){r[t[247][a]]=63232+a;e[63232+a]=t[247][a]}return{enc:r,dec:e}}();cptable[10029]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[10079]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüݰ¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[10081]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙ�ˆ˜¯˘˙˚¸˝˛ˇ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[28591]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();if(typeof module!=="undefined"&&module.exports&&typeof DO_NOT_EXPORT_CODEPAGE==="undefined")module.exports=cptable;(function(e,r){"use strict";if(typeof cptable==="undefined"){if(typeof require!=="undefined"){var t=cptable;if(typeof module!=="undefined"&&module.exports&&typeof DO_NOT_EXPORT_CODEPAGE==="undefined")module.exports=r(t);else e.cptable=r(t)}else throw new Error("cptable not found")}else cptable=r(cptable)})(this,function(e){"use strict";var r={1200:"utf16le",1201:"utf16be",12000:"utf32le",12001:"utf32be",16969:"utf64le",20127:"ascii",65000:"utf7",65001:"utf8"};var t=[874,1250,1251,1252,1253,1254,1255,1256,1e4];var a=[932,936,949,950];var n=[65001];var i={};var s={};var f={};var l={};var o=function D(e){return String.fromCharCode(e)};var c=function P(e){return e.charCodeAt(0)};var h=typeof Buffer!=="undefined";var u=function(){};if(h){var d=!Buffer.from;if(!d)try{Buffer.from("foo","utf8")}catch(v){d=true}u=d?function(e,r){return r?new Buffer(e,r):new Buffer(e)}:Buffer.from.bind(Buffer);if(!Buffer.allocUnsafe)Buffer.allocUnsafe=function(e){return new Buffer(e)};var p=1024,m=Buffer.allocUnsafe(p);var g=function L(e){var r=Buffer.allocUnsafe(65536);for(var t=0;t<65536;++t)r[t]=0;var a=Object.keys(e),n=a.length;for(var i=0,s=a[i];i>10&1023)];n[s++]=t[56320+(l&1023)]}}}n=n.slice(0,s)}else{n=Buffer.allocUnsafe(a);for(i=0;i>8}return function f(e){var r=e.length,t=0,n=0;if(2*r>p){p=2*r;m=Buffer.allocUnsafe(p)}if(Buffer.isBuffer(e)){for(t=0;t>8}return function o(e,r){var t=e.length,n=Buffer.allocUnsafe(2*t),i=0,s=0,f=0,l=0,o=0;if(typeof e==="string"){for(i=l=0;i0)n[l++]=a[s]}n=n.slice(0,l)}else if(Buffer.isBuffer(e)){for(i=l=0;i0)n[l++]=a[s]}else{f=s-65536;s=2*(55296+(f>>10&1023));n[l++]=a[s+1]||a[s];if(a[s+1]>0)n[l++]=a[s];s=2*(56320+(f&1023));n[l++]=a[s+1]||a[s];if(a[s+1]>0)n[l++]=a[s]}}n=n.slice(0,l)}else{for(i=l=0;i0)n[l++]=a[s]}}if(!r||r==="buf")return n;if(r!=="arr")return n.toString("binary");return[].slice.call(n)}};var A=function W(r){var t=e[r].dec;var a=Buffer.allocUnsafe(131072),n=0,i,s=0,f=0,l=0;for(l=0;l<65536;++l){a[2*l]=255;a[2*l+1]=253}for(n=0;n>8}return function o(e){var r=e.length,t=Buffer.allocUnsafe(2*r),n=0,i=0,s=0;if(Buffer.isBuffer(e)){for(n=0;np){p=4*r;m=Buffer.allocUnsafe(p)}var n=0;if(r>=3&&e[0]==239)if(e[1]==187&&e[2]==191)n=3;for(var i=1,s=0,f=0;n>8}else{t-=65536;a=55296+(t>>10&1023);t=56320+(t&1023);m[s++]=a&255;m[s++]=a>>>8;m[s++]=t&255;m[s++]=t>>>8&255}}return m.slice(0,s).toString("ucs2")};s[65001]=function H(e,r){if(h&&Buffer.isBuffer(e)){if(!r||r==="buf")return e;if(r!=="arr")return e.toString("binary");return[].slice.call(e)}var t=e.length,a=0,n=0,i=0;var s=typeof e==="string";if(4*t>p){p=4*t;m=Buffer.allocUnsafe(p)}for(var f=0;f>6);m[i++]=128+(a&63)}else if(a>=55296&&a<=57343){a-=55296;++f;n=(s?e.charCodeAt(f):e[f].charCodeAt(0))-56320+(a<<10);m[i++]=240+(n>>>18&7);m[i++]=144+(n>>>12&63);m[i++]=128+(n>>>6&63);m[i++]=128+(n&63)}else{m[i++]=224+(a>>12);m[i++]=128+(a>>6&63);m[i++]=128+(a&63)}}if(!r||r==="buf")return m.slice(0,i);if(r!=="arr")return m.slice(0,i).toString("binary");return[].slice.call(m,0,i)}}var T=function V(){if(h){if(f[t[0]])return;var r=0,o=0;for(r=0;r255){s[d]=f>>8;s[++d]=f&255}else s[d]=f&255}else if(g=r[t])switch(g){case"utf8":if(h&&b){s=u(a,g);d=s.length;break}for(c=0;c>6);s[++d]=128+(f&63)}else if(f>=55296&&f<=57343){f-=55296;v=(b?a.charCodeAt(++c):a[++c].charCodeAt(0))-56320+(f<<10);s[d]=240+(v>>>18&7);s[++d]=144+(v>>>12&63);s[++d]=128+(v>>>6&63);s[++d]=128+(v&63)}else{s[d]=224+(f>>12);s[++d]=128+(f>>6&63);s[++d]=128+(f&63)}}break;case"ascii":if(h&&typeof a==="string"){s=u(a,g);d=s.length;break}for(c=0;c>8}break;case"utf16be":for(c=0;c>8;s[d++]=f&255}break;case"utf32le":for(c=0;c=55296&&f<=57343)f=65536+(f-55296<<10)+(a[++c].charCodeAt(0)-56320);s[d++]=f&255;f>>=8;s[d++]=f&255;f>>=8;s[d++]=f&255;f>>=8;s[d++]=f&255}break;case"utf32be":for(c=0;c=55296&&f<=57343)f=65536+(f-55296<<10)+(a[++c].charCodeAt(0)-56320);s[d+3]=f&255;f>>=8;s[d+2]=f&255;f>>=8;s[d+1]=f&255;f>>=8;s[d]=f&255;d+=4}break;case"utf7":for(c=0;c-1){s[d++]=w.charCodeAt(0);continue}var k=G(1201,w);s[d++]=43;s[d++]=S.charCodeAt(k[0]>>2);s[d++]=S.charCodeAt(((k[0]&3)<<4)+((k[1]||0)>>4));s[d++]=S.charCodeAt(((k[1]&15)<<2)+((k[2]||0)>>6));s[d++]=45}break;default:throw new Error("Unsupported magic: "+t+" "+r[t]);}else throw new Error("Unrecognized CP: "+t);s=s.slice(0,d);if(!h)return n=="str"?s.map(o).join(""):s;if(!n||n==="buf")return s;if(n!=="arr")return s.toString("binary");return[].slice.call(s)};var N=function j(t,a){var n;if(n=f[t])return n(a);if(typeof a==="string")return j(t,a.split("").map(c));var i=a.length,s=new Array(i),l="",o=0,u=0,d=1,v=0,p=0;var m=e[t],g,b="";if(m&&(g=m.dec)){for(u=0;u=3&&a[0]==239)if(a[1]==187&&a[2]==191)u=3;for(;u>10&1023);o=56320+(o&1023);s[v++]=String.fromCharCode(p);s[v++]=String.fromCharCode(o)}}break;case"ascii":if(h&&Buffer.isBuffer(a))return a.toString(b);for(u=0;u=2&&a[0]==255)if(a[1]==254)u=2;if(h&&Buffer.isBuffer(a))return a.toString(b);d=2;for(;u+1=2&&a[0]==254)if(a[1]==255)u=2;d=2;for(;u+1=4&&a[0]==255)if(a[1]==254&&a[2]===0&&a[3]===0)u=4;d=4;for(;u65535){o-=65536;s[v++]=String.fromCharCode(55296+(o>>10&1023));s[v++]=String.fromCharCode(56320+(o&1023))}else s[v++]=String.fromCharCode(o)}break;case"utf32be":if(i>=4&&a[3]==255)if(a[2]==254&&a[1]===0&&a[0]===0)u=4;d=4;for(;u65535){o-=65536;s[v++]=String.fromCharCode(55296+(o>>10&1023));s[v++]=String.fromCharCode(56320+(o&1023))}else s[v++]=String.fromCharCode(o)}break;case"utf7":if(i>=4&&a[0]==43&&a[1]==47&&a[2]==118){if(i>=5&&a[3]==56&&a[4]==45)u=5;else if(a[3]==56||a[3]==57||a[3]==43||a[3]==47)u=4}for(;u>4;k.push(T);x=S.indexOf(String.fromCharCode(a[u+I++]));if(x===-1)break;y=(_&15)<<4|x>>2;k.push(y);O=S.indexOf(String.fromCharCode(a[u+I++]));if(O===-1)break;E=(x&3)<<6|O;if(O<64)k.push(E)}A=j(1201,k);for(I=0;I>1;++t)r[t]=String.fromCharCode(e.charCodeAt(2*t)+(e.charCodeAt(2*t+1)<<8));return r.join("")}function u(e){var r=[];for(var t=0;t>1;++t)r[t]=String.fromCharCode(e[2*t]+(e[2*t+1]<<8));return r.join("")}function d(e){var r=[];for(var t=0;t>1;++t)r[t]=String.fromCharCode(e.charCodeAt(2*t+1)+(e.charCodeAt(2*t)<<8));return r.join("")}var v=function(e){var r=e.charCodeAt(0),t=e.charCodeAt(1);if(r==255&&t==254)return h(e.slice(2));if(r==254&&t==255)return d(e.slice(2));if(r==65279)return e.slice(1);return e};var p=function fA(e){return String.fromCharCode(e)};var m=function lA(e){return String.fromCharCode(e)};function g(e){a=e;l=function(e){r=e;s(e)};v=function(e){if(e.charCodeAt(0)===255&&e.charCodeAt(1)===254){return a.utils.decode(1200,c(e.slice(2)))}return e};p=function n(e){if(r===1200)return String.fromCharCode(e);return a.utils.decode(r,[e&255,e>>8])[0]};m=function i(e){return a.utils.decode(t,[e])[0]};ma()}var b=null;var w=true;var k="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function A(e){var r="";var t=0,a=0,n=0,i=0,s=0,f=0,l=0;for(var o=0;o>2;a=e.charCodeAt(o++);s=(t&3)<<4|a>>4;n=e.charCodeAt(o++);f=(a&15)<<2|n>>6;l=n&63;if(isNaN(a)){f=l=64}else if(isNaN(n)){l=64}r+=k.charAt(i)+k.charAt(s)+k.charAt(f)+k.charAt(l)}return r}function T(e){var r="";var t=0,a=0,n=0,i=0,s=0,f=0,l=0;for(var o=0;o255)t=95;i=t>>2;a=e.charCodeAt(o++);if(a>255)a=95;s=(t&3)<<4|a>>4;n=e.charCodeAt(o++);if(n>255)n=95;f=(a&15)<<2|n>>6;l=n&63;if(isNaN(a)){f=l=64}else if(isNaN(n)){l=64}r+=k.charAt(i)+k.charAt(s)+k.charAt(f)+k.charAt(l)}return r}function y(e){var r="";var t=0,a=0,n=0,i=0,s=0,f=0,l=0;for(var o=0;o>2;a=e[o++];s=(t&3)<<4|a>>4;n=e[o++];f=(a&15)<<2|n>>6;l=n&63;if(isNaN(a)){f=l=64}else if(isNaN(n)){l=64}r+=k.charAt(i)+k.charAt(s)+k.charAt(f)+k.charAt(l)}return r}function E(e){var r="";var t=0,a=0,n=0,i=0,s=0,f=0,l=0;if(e.slice(0,5)=="data:"){var o=e.slice(0,1024).indexOf(";base64,");if(o>-1)e=e.slice(o+8)}e=e.replace(/[^\w\+\/\=]/g,"");for(var o=0;o>4;r+=String.fromCharCode(t);f=k.indexOf(e.charAt(o++));a=(s&15)<<4|f>>2;if(f!==64){r+=String.fromCharCode(a)}l=k.indexOf(e.charAt(o++));n=(f&3)<<6|l;if(l!==64){r+=String.fromCharCode(n)}}return r}var C=function(){return typeof Buffer!=="undefined"&&typeof undefined!=="undefined"&&typeof{}!=="undefined"&&!!{}.node}();var _=function(){if(typeof Buffer!=="undefined"){var e=!Buffer.from;if(!e)try{Buffer.from("foo","utf8")}catch(r){e=true}return e?function(e,r){return r?new Buffer(e,r):new Buffer(e)}:Buffer.from.bind(Buffer)}return function(){}}();var S=function(){if(typeof Buffer==="undefined")return false;var e=_([65,0]);if(!e)return false;var r=e.toString("utf16le");return r.length==1}();function x(e){if(C)return Buffer.alloc?Buffer.alloc(e):new Buffer(e);return typeof Uint8Array!="undefined"?new Uint8Array(e):new Array(e)}function O(e){if(C)return Buffer.allocUnsafe?Buffer.allocUnsafe(e):new Buffer(e);return typeof Uint8Array!="undefined"?new Uint8Array(e):new Array(e)}var I=function oA(e){if(C)return _(e,"binary");return e.split("").map(function(e){return e.charCodeAt(0)&255})};function R(e){if(typeof ArrayBuffer==="undefined")return I(e);var r=new ArrayBuffer(e.length),t=new Uint8Array(r);for(var a=0;a!=e.length;++a)t[a]=e.charCodeAt(a)&255;return r}function N(e){if(Array.isArray(e))return e.map(function(e){return String.fromCharCode(e)}).join("");var r=[];for(var t=0;t>6&31;n[t++]=128|s&63}else if(s>=55296&&s<57344){s=(s&1023)+64;var f=e.charCodeAt(++i)&1023;n[t++]=240|s>>8&7;n[t++]=128|s>>2&63;n[t++]=128|f>>6&15|(s&3)<<4;n[t++]=128|f&63}else{n[t++]=224|s>>12&15;n[t++]=128|s>>6&63;n[t++]=128|s&63}if(t>a){r.push(n.slice(0,t));t=0;n=x(65535);a=65530}}r.push(n.slice(0,t));return P(r)}var M=/\u0000/g,U=/[\u0001-\u0006]/g;function B(e){var r="",t=e.length-1;while(t>=0)r+=e.charAt(t--);return r}function W(e,r){var t=""+e;return t.length>=r?t:Tr("0",r-t.length)+t}function z(e,r){var t=""+e;return t.length>=r?t:Tr(" ",r-t.length)+t}function H(e,r){var t=""+e;return t.length>=r?t:t+Tr(" ",r-t.length)}function V(e,r){var t=""+Math.round(e);return t.length>=r?t:Tr("0",r-t.length)+t}function X(e,r){var t=""+e;return t.length>=r?t:Tr("0",r-t.length)+t}var G=Math.pow(2,32);function j(e,r){if(e>G||e<-G)return V(e,r);var t=Math.round(e);return X(t,r)}function K(e,r){r=r||0;return e.length>=7+r&&(e.charCodeAt(r)|32)===103&&(e.charCodeAt(r+1)|32)===101&&(e.charCodeAt(r+2)|32)===110&&(e.charCodeAt(r+3)|32)===101&&(e.charCodeAt(r+4)|32)===114&&(e.charCodeAt(r+5)|32)===97&&(e.charCodeAt(r+6)|32)===108}var Y=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]];var Z=[["J","Jan","January"],["F","Feb","February"],["M","Mar","March"],["A","Apr","April"],["M","May","May"],["J","Jun","June"],["J","Jul","July"],["A","Aug","August"],["S","Sep","September"],["O","Oct","October"],["N","Nov","November"],["D","Dec","December"]];function J(e){if(!e)e={};e[0]="General";e[1]="0";e[2]="0.00";e[3]="#,##0";e[4]="#,##0.00";e[9]="0%";e[10]="0.00%";e[11]="0.00E+00";e[12]="# ?/?";e[13]="# ??/??";e[14]="m/d/yy";e[15]="d-mmm-yy";e[16]="d-mmm";e[17]="mmm-yy";e[18]="h:mm AM/PM";e[19]="h:mm:ss AM/PM";e[20]="h:mm";e[21]="h:mm:ss";e[22]="m/d/yy h:mm";e[37]="#,##0 ;(#,##0)";e[38]="#,##0 ;[Red](#,##0)";e[39]="#,##0.00;(#,##0.00)";e[40]="#,##0.00;[Red](#,##0.00)";e[45]="mm:ss";e[46]="[h]:mm:ss";e[47]="mmss.0";e[48]="##0.0E+0";e[49]="@";e[56]='"上午/下午 "hh"時"mm"分"ss"秒 "';return e}var q={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"m/d/yy",15:"d-mmm-yy",16:"d-mmm",17:"mmm-yy",18:"h:mm AM/PM",19:"h:mm:ss AM/PM",20:"h:mm",21:"h:mm:ss",22:"m/d/yy h:mm",37:"#,##0 ;(#,##0)",38:"#,##0 ;[Red](#,##0)",39:"#,##0.00;(#,##0.00)",40:"#,##0.00;[Red](#,##0.00)",45:"mm:ss",46:"[h]:mm:ss",47:"mmss.0",48:"##0.0E+0",49:"@",56:'"上午/下午 "hh"時"mm"分"ss"秒 "'};var Q={5:37,6:38,7:39,8:40,23:0,24:0,25:0,26:0,27:14,28:14,29:14,30:14,31:14,50:14,51:14,52:14,53:14,54:14,55:14,56:14,57:14,58:14,59:1,60:2,61:3,62:4,67:9,68:10,69:12,70:13,71:14,72:14,73:15,74:16,75:17,76:20,77:21,78:22,79:45,80:46,81:47,82:0};var ee={5:'"$"#,##0_);\\("$"#,##0\\)',63:'"$"#,##0_);\\("$"#,##0\\)',6:'"$"#,##0_);[Red]\\("$"#,##0\\)',64:'"$"#,##0_);[Red]\\("$"#,##0\\)',7:'"$"#,##0.00_);\\("$"#,##0.00\\)',65:'"$"#,##0.00_);\\("$"#,##0.00\\)',8:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',66:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',41:'_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)',42:'_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)',43:'_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)',44:'_("$"* #,##0.00_);_("$"* \\(#,##0.00\\);_("$"* "-"??_);_(@_)'};function re(e,r,t){var a=e<0?-1:1;var n=e*a;var i=0,s=1,f=0;var l=1,o=0,c=0;var h=Math.floor(n);while(or){if(o>r){c=l;f=i}else{c=o;f=s}}if(!t)return[0,a*f,c];var u=Math.floor(a*f/c);return[u,a*f-u*c,c]}function te(e){var r=e.toPrecision(16);if(r.indexOf("e")>-1){var t=r.slice(0,r.indexOf("e"));t=t.indexOf(".")>-1?t.slice(0,t.slice(0,2)=="0."?17:16):t.slice(0,15)+Tr("0",t.length-15);return t+r.slice(r.indexOf("e"))}var a=r.indexOf(".")>-1?r.slice(0,r.slice(0,2)=="0."?17:16):r.slice(0,15)+Tr("0",r.length-15);return Number(a)}function ae(e,r,t){if(e>2958465||e<0)return null;e=te(e);var a=e|0,n=Math.floor(86400*(e-a)),i=0;var s=[];var f={D:a,T:n,u:86400*(e-a)-n,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(f.u)<1e-6)f.u=0;if(r&&r.date1904)a+=1462;if(f.u>.9999){f.u=0;if(++n==86400){f.T=n=0;++a;++f.D}}if(a===60){s=t?[1317,10,29]:[1900,2,29];i=3}else if(a===0){s=t?[1317,8,29]:[1900,1,0];i=6}else{if(a>60)--a;var l=new Date(1900,0,1);l.setDate(l.getDate()+a-1);s=[l.getFullYear(),l.getMonth()+1,l.getDate()];i=l.getDay();if(a<60)i=(i+6)%7;if(t)i=ce(l,s)}f.y=s[0];f.m=s[1];f.d=s[2];f.S=n%60;n=Math.floor(n/60);f.M=n%60;n=Math.floor(n/60);f.H=n;f.q=i;return f}function ne(e){return e.indexOf(".")==-1?e:e.replace(/(?:\.0*|(\.\d*[1-9])0+)$/,"$1")}function ie(e){if(e.indexOf("E")==-1)return e;return e.replace(/(?:\.0*|(\.\d*[1-9])0+)[Ee]/,"$1E").replace(/(E[+-])(\d)$/,"$10$2")}function se(e){var r=e<0?12:11;var t=ne(e.toFixed(12));if(t.length<=r)return t;t=e.toPrecision(10);if(t.length<=r)return t;return e.toExponential(5)}function fe(e){var r=ne(e.toFixed(11));return r.length>(e<0?12:11)||r==="0"||r==="-0"?e.toPrecision(6):r}function le(e){if(!isFinite(e))return isNaN(e)?"#NUM!":"#DIV/0!";var r=Math.floor(Math.log(Math.abs(e))*Math.LOG10E),t;if(r>=-4&&r<=-1)t=e.toPrecision(10+r);else if(Math.abs(r)<=9)t=se(e);else if(r===10)t=e.toFixed(10).substr(0,12);else t=fe(e);return ne(ie(t.toUpperCase()))}function oe(e,r){switch(typeof e){case"string":return e;case"boolean":return e?"TRUE":"FALSE";case"number":return(e|0)===e?e.toString(10):le(e);case"undefined":return"";case"object":if(e==null)return"";if(e instanceof Date)return ze(14,dr(e,r&&r.date1904),r);}throw new Error("unsupported value in General format: "+e)}function ce(e,r){r[0]-=581;var t=e.getDay();if(e<60)t=(t+6)%7;return t}function he(e,r,t,a){var n="",i=0,s=0,f=t.y,l,o=0;switch(e){case 98:f=t.y+543;case 121:switch(r.length){case 1:;case 2:l=f%100;o=2;break;default:l=f%1e4;o=4;break;}break;case 109:switch(r.length){case 1:;case 2:l=t.m;o=r.length;break;case 3:return Z[t.m-1][1];case 5:return Z[t.m-1][0];default:return Z[t.m-1][2];}break;case 100:switch(r.length){case 1:;case 2:l=t.d;o=r.length;break;case 3:return Y[t.q][0];default:return Y[t.q][1];}break;case 104:switch(r.length){case 1:;case 2:l=1+(t.H+11)%12;o=r.length;break;default:throw"bad hour format: "+r;}break;case 72:switch(r.length){case 1:;case 2:l=t.H;o=r.length;break;default:throw"bad hour format: "+r;}break;case 77:switch(r.length){case 1:;case 2:l=t.M;o=r.length;break;default:throw"bad minute format: "+r;}break;case 115:if(r!="s"&&r!="ss"&&r!=".0"&&r!=".00"&&r!=".000")throw"bad second format: "+r;if(t.u===0&&(r=="s"||r=="ss"))return W(t.S,r.length);if(a>=2)s=a===3?1e3:100;else s=a===1?10:1;i=Math.round(s*(t.S+t.u));if(i>=60*s)i=0;if(r==="s")return i===0?"0":""+i/s;n=W(i,2+a);if(r==="ss")return n.substr(0,2);return"."+n.substr(2,r.length-1);case 90:switch(r){case"[h]":;case"[hh]":l=t.D*24+t.H;break;case"[m]":;case"[mm]":l=(t.D*24+t.H)*60+t.M;break;case"[s]":;case"[ss]":l=((t.D*24+t.H)*60+t.M)*60+(a==0?Math.round(t.S+t.u):t.S);break;default:throw"bad abstime format: "+r;}o=r.length===3?1:2;break;case 101:l=f;o=1;break;}var c=o>0?W(l,o):"";return c}function ue(e){var r=3;if(e.length<=r)return e;var t=e.length%r,a=e.substr(0,t);for(;t!=e.length;t+=r)a+=(a.length>0?",":"")+e.substr(t,r);return a}var de=/%/g;function ve(e,r,t){var a=r.replace(de,""),n=r.length-a.length;return Fe(e,a,t*Math.pow(10,2*n))+Tr("%",n)}function pe(e,r,t){var a=r.length-1;while(r.charCodeAt(a-1)===44)--a;return Fe(e,r.substr(0,a),t/Math.pow(10,3*(r.length-a)))}function me(e,r){var t;var a=e.indexOf("E")-e.indexOf(".")-1;if(e.match(/^#+0.0E\+0$/)){if(r==0)return"0.0E+0";else if(r<0)return"-"+me(e,-r);var n=e.indexOf(".");if(n===-1)n=e.indexOf("E");var i=Math.floor(Math.log(r)*Math.LOG10E)%n;if(i<0)i+=n;t=(r/Math.pow(10,i)).toPrecision(a+1+(n+i)%n);if(t.indexOf("e")===-1){var s=Math.floor(Math.log(r)*Math.LOG10E);if(t.indexOf(".")===-1)t=t.charAt(0)+"."+t.substr(1)+"E+"+(s-t.length+i);else t+="E+"+(s-i);while(t.substr(0,2)==="0."){t=t.charAt(0)+t.substr(2,n)+"."+t.substr(2+n);t=t.replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.")}t=t.replace(/\+-/,"-")}t=t.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function(e,r,t,a){return r+t+a.substr(0,(n+i)%n)+"."+a.substr(i)+"E"})}else t=r.toExponential(a);if(e.match(/E\+00$/)&&t.match(/e[+-]\d$/))t=t.substr(0,t.length-1)+"0"+t.charAt(t.length-1);if(e.match(/E\-/)&&t.match(/e\+/))t=t.replace(/e\+/,"e");return t.replace("e","E")}var ge=/# (\?+)( ?)\/( ?)(\d+)/;function be(e,r,t){var a=parseInt(e[4],10),n=Math.round(r*a),i=Math.floor(n/a);var s=n-i*a,f=a;return t+(i===0?"":""+i)+" "+(s===0?Tr(" ",e[1].length+1+e[4].length):z(s,e[1].length)+e[2]+"/"+e[3]+W(f,e[4].length))}function we(e,r,t){return t+(r===0?"":""+r)+Tr(" ",e[1].length+2+e[4].length)}var ke=/^#*0*\.([0#]+)/;var Ae=/\)[^)]*[0#]/;var Te=/\(###\) ###\\?-####/;function ye(e){var r="",t;for(var a=0;a!=e.length;++a)switch(t=e.charCodeAt(a)){case 35:break;case 63:r+=" ";break;case 48:r+="0";break;default:r+=String.fromCharCode(t);}return r}function Ee(e,r){var t=Math.pow(10,r);return""+Math.round(e*t)/t}function Ce(e,r){var t=e-Math.floor(e),a=Math.pow(10,r);if(r<(""+Math.round(t*a)).length)return 0;return Math.round(t*a)}function _e(e,r){if(r<(""+Math.round((e-Math.floor(e))*Math.pow(10,r))).length){return 1}return 0}function Se(e){if(e<2147483647&&e>-2147483648)return""+(e>=0?e|0:e-1|0);return""+Math.floor(e)}function xe(e,r,t){if(e.charCodeAt(0)===40&&!r.match(Ae)){var a=r.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");if(t>=0)return xe("n",a,t);return"("+xe("n",a,-t)+")"}if(r.charCodeAt(r.length-1)===44)return pe(e,r,t);if(r.indexOf("%")!==-1)return ve(e,r,t);if(r.indexOf("E")!==-1)return me(r,t);if(r.charCodeAt(0)===36)return"$"+xe(e,r.substr(r.charAt(1)==" "?2:1),t);var n;var i,s,f,l=Math.abs(t),o=t<0?"-":"";if(r.match(/^00+$/))return o+j(l,r.length);if(r.match(/^[#?]+$/)){n=j(t,0);if(n==="0")n="";return n.length>r.length?n:ye(r.substr(0,r.length-n.length))+n}if(i=r.match(ge))return be(i,l,o);if(r.match(/^#+0+$/))return o+j(l,r.length-r.indexOf("0"));if(i=r.match(ke)){n=Ee(t,i[1].length).replace(/^([^\.]+)$/,"$1."+ye(i[1])).replace(/\.$/,"."+ye(i[1])).replace(/\.(\d*)$/,function(e,r){return"."+r+Tr("0",ye(i[1]).length-r.length)});return r.indexOf("0.")!==-1?n:n.replace(/^0\./,".")}r=r.replace(/^#+([0.])/,"$1");if(i=r.match(/^(0*)\.(#*)$/)){return o+Ee(l,i[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,i[1].length?"0.":".")}if(i=r.match(/^#{1,3},##0(\.?)$/))return o+ue(j(l,0));if(i=r.match(/^#,##0\.([#0]*0)$/)){return t<0?"-"+xe(e,r,-t):ue(""+(Math.floor(t)+_e(t,i[1].length)))+"."+W(Ce(t,i[1].length),i[1].length)}if(i=r.match(/^#,#*,#0/))return xe(e,r.replace(/^#,#*,/,""),t);if(i=r.match(/^([0#]+)(\\?-([0#]+))+$/)){n=B(xe(e,r.replace(/[\\-]/g,""),t));s=0;return B(B(r.replace(/\\/g,"")).replace(/[0#]/g,function(e){return s=0)return Ne("n",a,t);return"("+Ne("n",a,-t)+")"}if(r.charCodeAt(r.length-1)===44)return Oe(e,r,t);if(r.indexOf("%")!==-1)return Ie(e,r,t);if(r.indexOf("E")!==-1)return Re(r,t);if(r.charCodeAt(0)===36)return"$"+Ne(e,r.substr(r.charAt(1)==" "?2:1),t);var n;var i,s,f,l=Math.abs(t),o=t<0?"-":"";if(r.match(/^00+$/))return o+W(l,r.length);if(r.match(/^[#?]+$/)){n=""+t;if(t===0)n="";return n.length>r.length?n:ye(r.substr(0,r.length-n.length))+n}if(i=r.match(ge))return we(i,l,o);if(r.match(/^#+0+$/))return o+W(l,r.length-r.indexOf("0"));if(i=r.match(ke)){n=(""+t).replace(/^([^\.]+)$/,"$1."+ye(i[1])).replace(/\.$/,"."+ye(i[1]));n=n.replace(/\.(\d*)$/,function(e,r){return"."+r+Tr("0",ye(i[1]).length-r.length)});return r.indexOf("0.")!==-1?n:n.replace(/^0\./,".")}r=r.replace(/^#+([0.])/,"$1");if(i=r.match(/^(0*)\.(#*)$/)){return o+(""+l).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,i[1].length?"0.":".")}if(i=r.match(/^#{1,3},##0(\.?)$/))return o+ue(""+l);if(i=r.match(/^#,##0\.([#0]*0)$/)){return t<0?"-"+Ne(e,r,-t):ue(""+t)+"."+Tr("0",i[1].length)}if(i=r.match(/^#,#*,#0/))return Ne(e,r.replace(/^#,#*,/,""),t);if(i=r.match(/^([0#]+)(\\?-([0#]+))+$/)){n=B(Ne(e,r.replace(/[\\-]/g,""),t));s=0;return B(B(r.replace(/\\/g,"")).replace(/[0#]/g,function(e){return s-1||t=="\\"&&e.charAt(r+1)=="-"&&"0#".indexOf(e.charAt(r+2))>-1)){}break;case"?":while(e.charAt(++r)===t){}break;case"*":++r;if(e.charAt(r)==" "||e.charAt(r)=="*")++r;break;case"(":;case")":++r;break;case"1":;case"2":;case"3":;case"4":;case"5":;case"6":;case"7":;case"8":;case"9":while(r-1){}break;case" ":++r;break;default:++r;break;}}return false}function Me(e,r,t,a){var n=[],i="",s=0,f="",l="t",o,c,h;var u="H";while(s=12?e.charAt(s+2):f;p.t="T";u="h";s+=3}else if(e.substr(s,5).toUpperCase()==="AM/PM"){if(o!=null)p.v=o.H>=12?"PM":"AM";p.t="T";s+=5;u="h"}else if(e.substr(s,5).toUpperCase()==="上午/下午"){if(o!=null)p.v=o.H>=12?"下午":"上午";p.t="T";s+=5;u="h"}else{p.t="t";++s}if(o==null&&p.t==="T")return"";n[n.length]=p;l=f;break;case"[":i=f;while(e.charAt(s++)!=="]"&&s-1){i=(i.match(/\$([^-\[\]]*)/)||[])[1]||"$";if(!Le(e))n[n.length]={t:"t",v:i}}break;case".":if(o!=null){i=f;while(++s-1)i+=f;n[n.length]={t:"n",v:i};break;case"?":i=f;while(e.charAt(++s)===f)i+=f;n[n.length]={t:f,v:i};l=f;break;case"*":++s;if(e.charAt(s)==" "||e.charAt(s)=="*")++s;break;case"(":;case")":n[n.length]={t:a===1?"t":f,v:f};++s;break;case"1":;case"2":;case"3":;case"4":;case"5":;case"6":;case"7":;case"8":;case"9":i=f;while(s-1)i+=e.charAt(s);n[n.length]={t:"D",v:i};break;case" ":n[n.length]={t:f,v:f};++s;break;case"$":n[n.length]={t:"t",v:"$"};++s;break;default:if(",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP".indexOf(f)===-1)throw new Error("unrecognized character "+f+" in "+e);n[n.length]={t:"t",v:f};++s;break;}}var m=0,g=0,b;for(s=n.length-1,l="t";s>=0;--s){switch(n[s].t){case"h":;case"H":n[s].t=u;l="h";if(m<1)m=1;break;case"s":if(b=n[s].v.match(/\.0+$/)){g=Math.max(g,b[0].length-1);m=4}if(m<3)m=3;case"d":;case"y":;case"e":l=n[s].t;break;case"M":l=n[s].t;if(m<2)m=2;break;case"m":if(l==="s"){n[s].t="M";if(m<2)m=2}break;case"X":break;case"Z":if(m<1&&n[s].v.match(/[Hh]/))m=1;if(m<2&&n[s].v.match(/[Mm]/))m=2;if(m<3&&n[s].v.match(/[Ss]/))m=3;}}var w;switch(m){case 0:break;case 1:;case 2:;case 3:if(o.u>=.5){o.u=0;++o.S}if(o.S>=60){o.S=0;++o.M}if(o.M>=60){o.M=0;++o.H}if(o.H>=24){o.H=0;++o.D;w=ae(o.D);w.u=o.u;w.S=o.S;w.M=o.M;w.H=o.H;o=w}break;case 4:switch(g){case 1:o.u=Math.round(o.u*10)/10;break;case 2:o.u=Math.round(o.u*100)/100;break;case 3:o.u=Math.round(o.u*1e3)/1e3;break;}if(o.u>=1){o.u=0;++o.S}if(o.S>=60){o.S=0;++o.M}if(o.M>=60){o.M=0;++o.H}if(o.H>=24){o.H=0;++o.D;w=ae(o.D);w.u=o.u;w.S=o.S;w.M=o.M;w.H=o.H;o=w}break;}var k="",A;for(s=0;s0){if(k.charCodeAt(0)==40){y=r<0&&k.charCodeAt(0)===45?-r:r;E=Fe("n",k,y)}else{y=r<0&&a>1?-r:r;E=Fe("n",k,y);if(y<0&&n[0]&&n[0].t=="t"){E=E.substr(1);n[0].v="-"+n[0].v}}A=E.length-1;var C=n.length;for(s=0;s-1){C=s;break}var _=n.length;if(C===n.length&&E.indexOf("E")===-1){for(s=n.length-1;s>=0;--s){if(n[s]==null||"n?".indexOf(n[s].t)===-1)continue;if(A>=n[s].v.length-1){A-=n[s].v.length;n[s].v=E.substr(A+1,n[s].v.length)}else if(A<0)n[s].v="";else{n[s].v=E.substr(0,A+1);A=-1}n[s].t="t";_=s}if(A>=0&&_=0;--s){if(n[s]==null||"n?".indexOf(n[s].t)===-1)continue;c=n[s].v.indexOf(".")>-1&&s===C?n[s].v.indexOf(".")-1:n[s].v.length-1;T=n[s].v.substr(c+1);for(;c>=0;--c){if(A>=0&&(n[s].v.charAt(c)==="0"||n[s].v.charAt(c)==="#"))T=E.charAt(A--)+T}n[s].v=T;n[s].t="t";_=s}if(A>=0&&_-1&&s===C?n[s].v.indexOf(".")+1:0;T=n[s].v.substr(0,c);for(;c-1){y=a>1&&r<0&&s>0&&n[s-1].v==="-"?-r:r;n[s].v=Fe(n[s].t,n[s].v,y);n[s].t="t"}var S="";for(s=0;s!==n.length;++s)if(n[s]!=null)S+=n[s].v;return S}var Ue=/\[(=|>[=]?|<[>=]?)(-?\d+(?:\.\d*)?)\]/;function Be(e,r){if(r==null)return false;var t=parseFloat(r[2]);switch(r[1]){case"=":if(e==t)return true;break;case">":if(e>t)return true;break;case"<":if(e":if(e!=t)return true;break;case">=":if(e>=t)return true;break;case"<=":if(e<=t)return true;break;}return false}function We(e,r){var t=De(e);var a=t.length,n=t[a-1].indexOf("@");if(a<4&&n>-1)--a;if(t.length>4)throw new Error("cannot find right format for |"+t.join("|")+"|");if(typeof r!=="number")return[4,t.length===4||n>-1?t[t.length-1]:"@"];if(typeof r==="number"&&!isFinite(r))r=0;switch(t.length){case 1:t=n>-1?["General","General","General",t[0]]:[t[0],t[0],t[0],"@"];break;case 2:t=n>-1?[t[0],t[0],t[0],t[1]]:[t[0],t[1],t[0],"@"];break;case 3:t=n>-1?[t[0],t[1],t[0],t[2]]:[t[0],t[1],t[2],"@"];break;case 4:break;}var i=r>0?t[0]:r<0?t[1]:t[2];if(t[0].indexOf("[")===-1&&t[1].indexOf("[")===-1)return[a,i];if(t[0].match(/\[[=<>]/)!=null||t[1].match(/\[[=<>]/)!=null){var s=t[0].match(Ue);var f=t[1].match(Ue);return Be(r,s)?[a,t[0]]:Be(r,f)?[a,t[1]]:[a,t[s!=null&&f!=null?2:1]]}return[a,i]}function ze(e,r,t){if(t==null)t={};var a="";switch(typeof e){case"string":if(e=="m/d/yy"&&t.dateNF)a=t.dateNF;else a=e;break;case"number":if(e==14&&t.dateNF)a=t.dateNF;else a=(t.table!=null?t.table:q)[e];if(a==null)a=t.table&&t.table[Q[e]]||q[Q[e]];if(a==null)a=ee[e]||"General";break;}if(K(a,0))return oe(r,t);if(r instanceof Date)r=dr(r,t.date1904);var n=We(a,r);if(K(n[1]))return oe(r,t);if(r===true)r="TRUE";else if(r===false)r="FALSE";else if(r===""||r==null)return"";else if(isNaN(r)&&n[1].indexOf("0")>-1)return"#NUM!";else if(!isFinite(r)&&n[1].indexOf("0")>-1)return"#DIV/0!";return Me(n[1],r,t,n[0])}function He(e,r){if(typeof r!="number"){r=+r||-1;for(var t=0;t<392;++t){if(q[t]==undefined){if(r<0)r=t;continue}if(q[t]==e){r=t;break}}if(r<0)r=391}q[r]=e;return r}function Ve(e){for(var r=0;r!=392;++r)if(e[r]!==undefined)He(e[r],r)}function $e(){q=J()}var Xe={format:ze,load:He,_table:q,load_table:Ve,parse_date_code:ae,is_date:Le,get_table:function cA(){return Xe._table=q}};var Ge={5:'"$"#,##0_);\\("$"#,##0\\)',6:'"$"#,##0_);[Red]\\("$"#,##0\\)',7:'"$"#,##0.00_);\\("$"#,##0.00\\)',8:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',23:"General",24:"General",25:"General",26:"General",27:"m/d/yy",28:"m/d/yy",29:"m/d/yy",30:"m/d/yy",31:"m/d/yy",32:"h:mm:ss",33:"h:mm:ss",34:"h:mm:ss",35:"h:mm:ss",36:"m/d/yy",41:'_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)',42:'_("$"* #,##0_);_("$"* (#,##0);_("$"* "-"_);_(@_)',43:'_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)',44:'_("$"* #,##0.00_);_("$"* (#,##0.00);_("$"* "-"??_);_(@_)',50:"m/d/yy",51:"m/d/yy",52:"m/d/yy",53:"m/d/yy",54:"m/d/yy",55:"m/d/yy",56:"m/d/yy",57:"m/d/yy",58:"m/d/yy",59:"0",60:"0.00",61:"#,##0",62:"#,##0.00",63:'"$"#,##0_);\\("$"#,##0\\)',64:'"$"#,##0_);[Red]\\("$"#,##0\\)',65:'"$"#,##0.00_);\\("$"#,##0.00\\)',66:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',67:"0%",68:"0.00%",69:"# ?/?",70:"# ??/??",71:"m/d/yy",72:"m/d/yy",73:"d-mmm-yy",74:"d-mmm",75:"mmm-yy",76:"h:mm",77:"h:mm:ss",78:"m/d/yy h:mm",79:"mm:ss",80:"[h]:mm:ss",81:"mmss.0"};var je=/[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;function Ke(e){var r=typeof e=="number"?q[e]:e;r=r.replace(je,"(\\d+)");je.lastIndex=0;return new RegExp("^"+r+"$")}function Ye(e,r,t){var a=-1,n=-1,i=-1,s=-1,f=-1,l=-1;(r.match(je)||[]).forEach(function(e,r){var o=parseInt(t[r+1],10);switch(e.toLowerCase().charAt(0)){case"y":a=o;break;case"d":i=o;break;case"h":s=o;break;case"s":l=o;break;case"m":if(s>=0)f=o;else n=o;break;}});je.lastIndex=0;if(l>=0&&f==-1&&n>=0){f=n;n=-1}var o=(""+(a>=0?a:(new Date).getFullYear())).slice(-4)+"-"+("00"+(n>=1?n:1)).slice(-2)+"-"+("00"+(i>=1?i:1)).slice(-2);if(o.length==7)o="0"+o;if(o.length==8)o="20"+o;var c=("00"+(s>=0?s:0)).slice(-2)+":"+("00"+(f>=0?f:0)).slice(-2)+":"+("00"+(l>=0?l:0)).slice(-2);if(s==-1&&f==-1&&l==-1)return o;if(a==-1&&n==-1&&i==-1)return c;return o+"T"+c}var Ze={"d.m":"d\\.m"};function Je(e,r){return He(Ze[e]||e,r)}var qe=function(){var e={};e.version="1.2.0";function r(){var e=0,r=new Array(256);for(var t=0;t!=256;++t){e=t;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;r[t]=e}return typeof Int32Array!=="undefined"?new Int32Array(r):r}var t=r();function a(e){var r=0,t=0,a=0,n=typeof Int32Array!=="undefined"?new Int32Array(4096):new Array(4096);for(a=0;a!=256;++a)n[a]=e[a];for(a=0;a!=256;++a){t=e[a];for(r=256+a;r<4096;r+=256)t=n[r]=t>>>8^e[t&255]}var i=[];for(a=1;a!=16;++a)i[a-1]=typeof Int32Array!=="undefined"&&typeof n.subarray=="function"?n.subarray(a*256,a*256+256):n.slice(a*256,a*256+256);return i}var n=a(t);var i=n[0],s=n[1],f=n[2],l=n[3],o=n[4];var c=n[5],h=n[6],u=n[7],d=n[8],v=n[9];var p=n[10],m=n[11],g=n[12],b=n[13],w=n[14];function k(e,r){var a=r^-1;for(var n=0,i=e.length;n>>8^t[(a^e.charCodeAt(n++))&255];return~a}function A(e,r){var a=r^-1,n=e.length-15,k=0;for(;k>8&255]^g[e[k++]^a>>16&255]^m[e[k++]^a>>>24]^p[e[k++]]^v[e[k++]]^d[e[k++]]^u[e[k++]]^h[e[k++]]^c[e[k++]]^o[e[k++]]^l[e[k++]]^f[e[k++]]^s[e[k++]]^i[e[k++]]^t[e[k++]];n+=15;while(k>>8^t[(a^e[k++])&255];return~a}function T(e,r){var a=r^-1;for(var n=0,i=e.length,s=0,f=0;n>>8^t[(a^s)&255]}else if(s<2048){a=a>>>8^t[(a^(192|s>>6&31))&255];a=a>>>8^t[(a^(128|s&63))&255]}else if(s>=55296&&s<57344){s=(s&1023)+64;f=e.charCodeAt(n++)&1023;a=a>>>8^t[(a^(240|s>>8&7))&255];a=a>>>8^t[(a^(128|s>>2&63))&255];a=a>>>8^t[(a^(128|f>>6&15|(s&3)<<4))&255];a=a>>>8^t[(a^(128|f&63))&255]}else{a=a>>>8^t[(a^(224|s>>12&15))&255];a=a>>>8^t[(a^(128|s>>6&63))&255];a=a>>>8^t[(a^(128|s&63))&255]}}return~a}e.table=t;e.bstr=k;e.buf=A;e.str=T;return e}();var Qe=function hA(){var e={};e.version="1.2.2";function r(e,r){var t=e.split("/"),a=r.split("/");for(var n=0,i=0,s=Math.min(t.length,a.length);n>>1;e._W(2,t);var a=r.getFullYear()-1980;a=a<<4|r.getMonth()+1;a=a<<5|r.getDate();e._W(2,a)}function i(e){var r=e._R(2)&65535;var t=e._R(2)&65535;var a=new Date;var n=t&31;t>>>=5;var i=t&15;t>>>=4;a.setMilliseconds(0);a.setFullYear(t+1980);a.setMonth(i-1);a.setDate(n);var s=r&31;r>>>=5;var f=r&63;r>>>=6;a.setHours(r);a.setMinutes(f);a.setSeconds(s<<1);return a}function s(e){Oa(e,0);var r={};var t=0;while(e.l<=e.length-4){var a=e._R(2);var n=e._R(2),i=e.l+n;var s={};switch(a){case 21589:{t=e._R(1);if(t&1)s.mtime=e._R(4);if(n>5){if(t&2)s.atime=e._R(4);if(t&4)s.ctime=e._R(4)}if(s.mtime)s.mt=new Date(s.mtime*1e3)}break;case 1:{var f=e._R(4),l=e._R(4);s.usz=l*Math.pow(2,32)+f;f=e._R(4);l=e._R(4);s.csz=l*Math.pow(2,32)+f}break;}e.l=i;r[a]=s}return r}var f;function l(){return f||(f=er)}function o(e,r){if(e[0]==80&&e[1]==75)return Re(e,r);if((e[0]|32)==109&&(e[1]|32)==105)return We(e,r);if(e.length<512)throw new Error("CFB file size "+e.length+" < 512");var t=3;var a=512;var n=0;var i=0;var s=0;var f=0;var l=0;var o=[];var v=e.slice(0,512);Oa(v,0);var m=c(v);t=m[0];switch(t){case 3:a=512;break;case 4:a=4096;break;case 0:if(m[1]==0)return Re(e,r);default:throw new Error("Major Version: Expected 3 or 4 saw "+t);}if(a!==512){v=e.slice(0,a);Oa(v,28)}var w=e.slice(0,a);h(v,t);var k=v._R(4,"i");if(t===3&&k!==0)throw new Error("# Directory Sectors: Expected 0 saw "+k);v.l+=4;s=v._R(4,"i");v.l+=4;v.chk("00100000","Mini Stream Cutoff Size: ");f=v._R(4,"i");n=v._R(4,"i");l=v._R(4,"i");i=v._R(4,"i");for(var A=-1,T=0;T<109;++T){A=v._R(4,"i");if(A<0)break;o[T]=A}var y=u(e,a);p(l,i,y,a,o);var E=g(y,s,o,a);if(s0&&f!==L)E[f].name="!MiniFAT";E[o[0]].name="!FAT";E.fat_addrs=o;E.ssz=a;var C={},_=[],S=[],x=[];b(s,E,y,_,n,C,S,f);d(S,x,_);_.shift();var O={FileIndex:S,FullPaths:x};if(r&&r.raw)O.raw={header:w,sectors:y};return O}function c(e){if(e[e.l]==80&&e[e.l+1]==75)return[0,0];e.chk(B,"Header Signature: ");e.l+=16;var r=e._R(2,"u");return[e._R(2,"u"),r]}function h(e,r){var t=9;e.l+=2;switch(t=e._R(2)){case 9:if(r!=3)throw new Error("Sector Shift: Expected 9 saw "+t);break;case 12:if(r!=4)throw new Error("Sector Shift: Expected 12 saw "+t);break;default:throw new Error("Sector Shift: Expected 9 or 12 saw "+t);}e.chk("0600","Mini Sector Shift: ");e.chk("000000000000","Reserved: ")}function u(e,r){var t=Math.ceil(e.length/r)-1;var a=[];for(var n=1;n0&&s>=0){i.push(r.slice(s*D,s*D+D));n-=D;s=Aa(t,s*4)}if(i.length===0)return Ra(0);return P(i).slice(0,e.size)}function p(e,r,t,a,n){var i=L;if(e===L){if(r!==0)throw new Error("DIFAT chain shorter than expected")}else if(e!==-1){var s=t[e],f=(a>>>2)-1;if(!s)return;for(var l=0;l=1)p(Aa(s,a-4),r-1,t,a,n)}}function m(e,r,t,a,n){var i=[],s=[];if(!n)n=[];var f=a-1,l=0,o=0;for(l=r;l>=0;){n[l]=true;i[i.length]=l;s.push(e[l]);var c=t[Math.floor(l*4/a)];o=l*4&f;if(a<4+o)throw new Error("FAT boundary crossed: "+l+" 4 "+a);if(!e[c])break;l=Aa(e[c],o)}return{nodes:i,data:Zt([s])}}function g(e,r,t,a){var n=e.length,i=[];var s=[],f=[],l=[];var o=a-1,c=0,h=0,u=0,d=0;for(c=0;c=n)u-=n;if(s[u])continue;l=[];var v=[];for(h=u;h>=0;){v[h]=true;s[h]=true;f[f.length]=h;l.push(e[h]);var p=t[Math.floor(h*4/a)];d=h*4&o;if(a<4+d)throw new Error("FAT boundary crossed: "+h+" 4 "+a);if(!e[p])break;h=Aa(e[p],d);if(v[h])break}i[u]={nodes:f,data:Zt([l])}}return i}function b(e,r,t,a,n,i,s,f){var l=0,o=a.length?2:0;var c=r[e].data;var h=0,u=0,d;for(;h0&&l!==L)r[l].name="!StreamData"}else if(g.size>=4096){g.storage="fat";if(r[g.start]===undefined)r[g.start]=m(t,g.start,r.fat_addrs,r.ssz);r[g.start].name=g.name;g.content=r[g.start].data.slice(0,g.size)}else{g.storage="minifat";if(g.size<0)g.size=0;else if(l!==L&&g.start!==L&&r[l]){g.content=v(g,r[l].data,(r[f]||{}).data)}}if(g.content)Oa(g.content,0);i[d]=g;s.push(g)}}function w(e,r){return new Date((ka(e,r+4)/1e7*Math.pow(2,32)+ka(e,r)/1e7-11644473600)*1e3)}function k(e,r){l();return o(f.readFileSync(e),r)}function T(e,r){var t=r&&r.type;if(!t){if(C&&Buffer.isBuffer(e))t="buffer"}switch(t||"base64"){case"file":return k(e,r);case"base64":return o(I(E(e)),r);case"binary":return o(I(e),r);}return o(e,r)}function y(e,r){var t=r||{},a=t.root||"Root Entry";if(!e.FullPaths)e.FullPaths=[];if(!e.FileIndex)e.FileIndex=[];if(e.FullPaths.length!==e.FileIndex.length)throw new Error("inconsistent CFB structure");if(e.FullPaths.length===0){e.FullPaths[0]=a+"/";e.FileIndex[0]={name:a,type:5}}if(t.CLSID)e.FileIndex[0].clsid=t.CLSID;S(e)}function S(e){var r="Sh33tJ5";if(Qe.find(e,"/"+r))return;var t=Ra(4);t[0]=55;t[1]=t[3]=50;t[2]=54;e.FileIndex.push({name:r,type:2,content:t,size:4,L:69,R:69,C:69});e.FullPaths.push(e.FullPaths[0]+r);R(e)}function R(e,n){y(e);var i=false,s=false;for(var f=e.FullPaths.length-1;f>=0;--f){var l=e.FileIndex[f];switch(l.type){case 0:if(s)i=true;else{e.FileIndex.pop();e.FullPaths.pop()}break;case 1:;case 2:;case 5:s=true;if(isNaN(l.R*l.L*l.C))i=true;if(l.R>-1&&l.L>-1&&l.R==l.L)i=true;break;default:i=true;break;}}if(!i&&!n)return;var o=new Date(1987,1,19),c=0;var h=Object.create?Object.create(null):{};var u=[];for(f=0;f1?1:-1;v.size=0;v.type=5}else if(p.slice(-1)=="/"){for(c=f+1;c=u.length?-1:c;for(c=f+1;c=u.length?-1:c;v.type=1}else{if(t(e.FullPaths[f+1]||"")==t(p))v.R=f+1;v.type=2}}}function N(e,r){var t=r||{};if(t.fileType=="mad")return ze(e,t);R(e);switch(t.fileType){case"zip":return Fe(e,t);}var a=function(e){var r=0,t=0;for(var a=0;a0){if(i<4096)r+=i+63>>6;else t+=i+511>>9}}var s=e.FullPaths.length+3>>2;var f=r+7>>3;var l=r+127>>7;var o=f+t+s+l;var c=o+127>>7;var h=c<=109?0:Math.ceil((c-109)/127);while(o+c+h+127>>7>c)h=++c<=109?0:Math.ceil((c-109)/127);var u=[1,h,c,l,s,t,r,0];e.FileIndex[0].size=r<<6;u[7]=(e.FileIndex[0].start=u[0]+u[1]+u[2]+u[3]+u[4]+u[5])+(u[6]+7>>3);return u}(e);var n=Ra(a[7]<<9);var i=0,s=0;{for(i=0;i<8;++i)n._W(1,W[i]);for(i=0;i<8;++i)n._W(2,0);n._W(2,62);n._W(2,3);n._W(2,65534);n._W(2,9);n._W(2,6);for(i=0;i<3;++i)n._W(2,0);n._W(4,0);n._W(4,a[2]);n._W(4,a[0]+a[1]+a[2]+a[3]-1);n._W(4,0);n._W(4,1<<12);n._W(4,a[3]?a[0]+a[1]+a[2]-1:L);n._W(4,a[3]);n._W(-4,a[1]?a[0]-1:L);n._W(4,a[1]);for(i=0;i<109;++i)n._W(-4,i>9)}f(a[6]+7>>3);while(n.l&511)n._W(-4,H.ENDOFCHAIN);s=i=0;for(l=0;l=4096)continue;c.start=s;f(o+63>>6)}while(n.l&511)n._W(-4,H.ENDOFCHAIN);for(i=0;i31){console.error("Name "+u+" will be truncated to "+u.slice(0,31));u=u.slice(0,31)}o=2*(u.length+1);n._W(64,u,"utf16le");n._W(2,o);n._W(1,c.type);n._W(1,c.color);n._W(-4,c.L);n._W(-4,c.R);n._W(-4,c.C);if(!c.clsid)for(l=0;l<4;++l)n._W(4,0);else n._W(16,c.clsid,"hex");n._W(4,c.state||0);n._W(4,0);n._W(4,0);n._W(4,0);n._W(4,0);n._W(4,c.start);n._W(4,c.size);n._W(4,0)}for(i=1;i=4096){n.l=c.start+1<<9;if(C&&Buffer.isBuffer(c.content)){c.content.copy(n,n.l,0,c.size);n.l+=c.size+511&-512}else{for(l=0;l0&&c.size<4096){if(C&&Buffer.isBuffer(c.content)){c.content.copy(n,n.l,0,c.size);n.l+=c.size+63&-64}else{for(l=0;l>16|r>>8|r)&255}var ee=typeof Uint8Array!=="undefined";var re=ee?new Uint8Array(1<<8):[];for(var te=0;te<1<<8;++te)re[te]=Q(te);function ae(e,r){var t=re[e&255];if(r<=8)return t>>>8-r;t=t<<8|re[e>>8&255];if(r<=16)return t>>>16-r;t=t<<8|re[e>>16&255];return t>>>24-r}function ne(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=6?0:e[a+1]<<8))>>>t&3}function ie(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=5?0:e[a+1]<<8))>>>t&7}function se(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=4?0:e[a+1]<<8))>>>t&15}function fe(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=3?0:e[a+1]<<8))>>>t&31}function le(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=1?0:e[a+1]<<8))>>>t&127}function oe(e,r,t){var a=r&7,n=r>>>3,i=(1<>>a;if(t<8-a)return s&i;s|=e[n+1]<<8-a;if(t<16-a)return s&i;s|=e[n+2]<<16-a;if(t<24-a)return s&i;s|=e[n+3]<<24-a;return s&i}function ce(e,r,t){var a=r&7,n=r>>>3;if(a<=5)e[n]|=(t&7)<>8-a}return r+3}function he(e,r,t){var a=r&7,n=r>>>3;t=(t&1)<>>3;t<<=a;e[n]|=t&255;t>>>=8;e[n+1]=t;return r+8}function de(e,r,t){var a=r&7,n=r>>>3;t<<=a;e[n]|=t&255;t>>>=8;e[n+1]=t&255;e[n+2]=t>>>8;return r+16}function ve(e,r){var t=e.length,a=2*t>r?2*t:r+5,n=0;if(t>=r)return e;if(C){var i=O(a);if(e.copy)e.copy(i);else for(;n>a-h;for(s=(1<=0;--s)r[f|s<0)r[r.l++]=e[t++]}return r.l}function i(r,t){var n=0;var i=0;var s=ee?new Uint16Array(32768):[];while(i0)t[t.l++]=r[i++];n=t.l*8;continue}n=ce(t,n,+!!(i+f==r.length)+2);var l=0;while(f-- >0){var o=r[i];l=(l<<5^o)&32767;var c=-1,h=0;if(c=s[l]){c|=i&~32767;if(c>i)c-=32768;if(c2){o=a[h];if(o<=22)n=ue(t,n,re[o+1]>>1)-1;else{ue(t,n,3);n+=5;ue(t,n,re[o-23]>>5);n+=3}var u=o<8?0:o-4>>2;if(u>0){de(t,n,h-J[o]);n+=u}o=e[i-c];n=ue(t,n,re[o]>>3);n-=3;var d=o<4?0:o-2>>1;if(d>0){de(t,n,i-c-q[o]);n+=d}for(var v=0;v>8-v;for(var p=(1<<7-v)-1;p>=0;--p)Ee[d|p<>>=3){case 16:i=3+ne(e,r);r+=2;d=m[m.length-1];while(i-- >0)m.push(d);break;case 17:i=3+ie(e,r);r+=3;while(i-- >0)m.push(0);break;case 18:i=11+le(e,r);r+=7;while(i-- >0)m.push(0);break;default:m.push(d);if(l>>0;var f=0,l=0;while((a&1)==0){a=ie(e,t);t+=3;if(a>>>1==0){if(t&7)t+=8-(t&7);var o=e[t>>>3]|e[(t>>>3)+1]<<8;t+=32;if(o>0){if(!r&&s0){n[i++]=e[t>>>3];t+=8}}continue}else if(a>>1==1){f=9;l=5}else{t=Se(e,t);f=Ce;l=_e}for(;;){if(!r&&s>>1==1?ge[c]:Te[c];t+=h&15;h>>>=4;if((h>>>8&255)===0)n[i++]=h;else if(h==256)break;else{h-=257;var u=h<8?0:h-4>>2;if(u>5)u=0;var d=i+J[h];if(u>0){d+=oe(e,t,u);t+=u}c=oe(e,t,l);h=a>>>1==1?be[c]:ye[c];t+=h&15;h>>>=4;var v=h<4?0:h-2>>1;var p=q[h];if(v>0){p+=oe(e,t,v);t+=v}if(!r&&s>>3];return[n.slice(0,i),t+7>>>3]}function Oe(e,r){var t=e.slice(e.l||0); +var a=xe(t,r);e.l+=a[1];return a[0]}function Ie(e,r){if(e){if(typeof console!=="undefined")console.error(r)}else throw new Error(r)}function Re(e,r){var t=e;Oa(t,0);var a=[],n=[];var i={FileIndex:a,FullPaths:n};y(i,{root:r.root});var f=t.length-4;while((t[f]!=80||t[f+1]!=75||t[f+2]!=5||t[f+3]!=6)&&f>=0)--f;t.l=f+4;t.l+=4;var l=t._R(2);t.l+=6;var o=t._R(4);t.l=o;for(f=0;f0){t=t.slice(0,t.length-1);t=t.slice(0,t.lastIndexOf("/")+1);if(i.slice(0,t.length)==t)break}}var s=(a[1]||"").match(/boundary="(.*?)"/);if(!s)throw new Error("MAD cannot find boundary");var f="--"+(s[1]||"");var l=[],o=[];var c={FileIndex:l,FullPaths:o};y(c);var h,u=0;for(n=0;n=32&&d<128)++h;var p=h>=u*4/5;n.push(a);n.push("Content-Location: "+(t.root||"file:///C:/SheetJS/")+s);n.push("Content-Transfer-Encoding: "+(p?"quoted-printable":"base64"));n.push("Content-Type: "+Pe(f,s));n.push("");n.push(p?Me(c):Le(c))}n.push(a+"--\r\n");return n.join("\r\n")}function He(e){var r={};y(r,e);return r}function Ve(e,r,t,n){var i=n&&n.unsafe;if(!i)y(e);var s=!i&&Qe.find(e,r);if(!s){var f=e.FullPaths[0];if(r.slice(0,f.length)==f)f=r;else{if(f.slice(-1)!="/")f+="/";f=(f+r).replace("//","/")}s={name:a(r),type:2};e.FileIndex.push(s);e.FullPaths.push(f);if(!i)Qe.utils.cfb_gc(e)}s.content=t;s.size=t?t.length:0;if(n){if(n.CLSID)s.clsid=n.CLSID;if(n.mt)s.mt=n.mt;if(n.ct)s.ct=n.ct}return s}function $e(e,r){y(e);var t=Qe.find(e,r);if(t)for(var a=0;a=60&&e<61)return e;var r=new Date;r.setTime((e>60?e:e+1)*24*60*60*1e3+cr);return r}function pr(e){var r=0,t=0,a=false;var n=e.match(/P([0-9\.]+Y)?([0-9\.]+M)?([0-9\.]+D)?T([0-9\.]+H)?([0-9\.]+M)?([0-9\.]+S)?/);if(!n)throw new Error("|"+e+"| is not an ISO8601 Duration");for(var i=1;i!=n.length;++i){if(!n[i])continue;t=1;if(i>3)a=true;switch(n[i].slice(n[i].length-1)){case"Y":throw new Error("Unsupported ISO Duration Field: "+n[i].slice(n[i].length-1));case"D":t*=24;case"H":t*=60;case"M":if(!a)throw new Error("Unsupported ISO Duration Field: M");else t*=60;case"S":break;}r+=t*parseInt(n[i],10)}return r}var mr=/^(\d+):(\d+)(:\d+)?(\.\d+)?$/;var gr=/^(\d+)-(\d+)-(\d+)$/;var br=/^(\d+)-(\d+)-(\d+)[T ](\d+):(\d+)(:\d+)?(\.\d+)?$/;function wr(e,r){if(e instanceof Date)return e;var t=e.match(mr);if(t)return new Date((r?ur:hr)+((parseInt(t[1],10)*60+parseInt(t[2],10))*60+(t[3]?parseInt(t[3].slice(1),10):0))*1e3+(t[4]?parseInt((t[4]+"000").slice(1,4),10):0));t=e.match(gr);if(t)return new Date(Date.UTC(+t[1],+t[2]-1,+t[3],0,0,0,0));t=e.match(br);if(t)return new Date(Date.UTC(+t[1],+t[2]-1,+t[3],+t[4],+t[5],t[6]&&parseInt(t[6].slice(1),10)||0,t[7]&&parseInt((t[7]+"0000").slice(1,4),10)||0));var a=new Date(e);return a}function kr(e,r){if(C&&Buffer.isBuffer(e)){if(r&&S){if(e[0]==255&&e[1]==254)return Rt(e.slice(2).toString("utf16le"));if(e[1]==254&&e[2]==255)return Rt(d(e.slice(2).toString("binary")))}return e.toString("binary")}if(typeof TextDecoder!=="undefined")try{if(r){if(e[0]==255&&e[1]==254)return Rt(new TextDecoder("utf-16le").decode(e.slice(2)));if(e[0]==254&&e[1]==255)return Rt(new TextDecoder("utf-16be").decode(e.slice(2)))}var t={"€":"€","‚":"‚","ƒ":"ƒ","„":"„","…":"…","†":"†","‡":"‡","ˆ":"ˆ","‰":"‰","Š":"Š","‹":"‹","Œ":"Œ","Ž":"Ž","‘":"‘","’":"’","“":"“","”":"”","•":"•","–":"–","—":"—","˜":"˜","™":"™","š":"š","›":"›","œ":"œ","ž":"ž","Ÿ":"Ÿ"};if(Array.isArray(e))e=new Uint8Array(e);return new TextDecoder("latin1").decode(e).replace(/[€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ]/g,function(e){return t[e]||e})}catch(a){}var n=[],i=0;try{for(i=0;i3&&Ir.indexOf(r)==-1)return i}else if(r.replace(/[ap]m?/,"").match(/[a-z]/))return i;if(s<0||s>8099||e.match(/[^-0-9:,\/\\\ ]/))return i;return n}var Nr=function(){var e="abacaba".split(/(:?b)/i).length==5;return function r(t,a,n){if(e||typeof a=="string")return t.split(a);var i=t.split(a),s=[i[0]];for(var f=1;f-1){var i=e.indexOf(t,n+r.length);if(i==-1)break;a.push(e.slice(n,i+t.length));n=e.indexOf(r,i+t.length)}return a.length>0?a:null}function Mr(e,r,t){var a=[],n=0;var i=e.indexOf(r);if(i==-1)return e;while(i>-1){a.push(e.slice(n,i));var s=e.indexOf(t,i+r.length);if(s==-1)break;if((i=e.indexOf(r,n=s+t.length))==-1)a.push(e.slice(n))}return a.join("")}var Ur={" ":1,"\t":1,"\r":1,"\n":1,">":1};function Br(e,r){var t=e.indexOf("<"+r),a=r.length+1,n=e.length;while(t>=0&&t<=n-a&&!Ur[e.charAt(t+a)])t=e.indexOf("<"+r,t+1);if(t===-1)return null;var i=e.indexOf(">",t+r.length);if(i===-1)return null;var s="";var f=e.indexOf(s,i);if(f==-1)return null;return[e.slice(t,f+s.length),e.slice(i+1,f)]}var Wr=function(){var e={};return function r(t,a){var n=e[a];if(!n)e[a]=n=[new RegExp("<(?:\\w+:)?"+a+"\\b[^<>]*>","g"),new RegExp("","g")];n[0].lastIndex=n[1].lastIndex=0;var i=n[0].exec(t);if(!i)return null;var s=i.index;var f=n[0].lastIndex;n[1].lastIndex=n[0].lastIndex;i=n[1].exec(t);if(!i)return null;var l=i.index;var o=n[1].lastIndex;return[t.slice(s,o),t.slice(f,l)]}}();var zr=function(){var e={};return function r(t,a){var n=[];var i=e[a];if(!i)e[a]=i=[new RegExp("<(?:\\w+:)?"+a+"\\b[^<>]*>","g"),new RegExp("","g")];i[0].lastIndex=i[1].lastIndex=0;var s;while(s=i[0].exec(t)){var f=s.index;i[1].lastIndex=i[0].lastIndex;s=i[1].exec(t);if(!s)return null;var l=i[1].lastIndex;n.push(t.slice(f,l));i[0].lastIndex=i[1].lastIndex}return n.length==0?null:n}}();var Hr=function(){var e={};return function r(t,a){var n=[];var i=e[a];if(!i)e[a]=i=[new RegExp("<(?:\\w+:)?"+a+"\\b[^<>]*>","g"),new RegExp("","g")];i[0].lastIndex=i[1].lastIndex=0;var s;var f=0,l=0;while(s=i[0].exec(t)){f=s.index;n.push(t.slice(l,f));l=f;i[1].lastIndex=i[0].lastIndex;s=i[1].exec(t);if(!s)return null;l=i[1].lastIndex;i[0].lastIndex=i[1].lastIndex}n.push(t.slice(l));return n.length==0?"":n.join("")}}();var Vr=function(){var e={};return function r(t,a){var n=[];var i=e[a];if(!i)e[a]=i=[new RegExp("<"+a+"\\b[^<>]*>","ig"),new RegExp("","ig")];i[0].lastIndex=i[1].lastIndex=0;var s;while(s=i[0].exec(t)){var f=s.index;i[1].lastIndex=i[0].lastIndex;s=i[1].exec(t);if(!s)return null;var l=i[1].lastIndex;n.push(t.slice(f,l));i[0].lastIndex=i[1].lastIndex}return n.length==0?null:n}}();function $r(e){if(!e)return null;if(e.content&&e.type)return kr(e.content,true);if(e.data)return v(e.data);if(e.asNodeBuffer&&C)return v(e.asNodeBuffer().toString("binary"));if(e.asBinary)return v(e.asBinary());if(e._data&&e._data.getContent)return v(kr(Array.prototype.slice.call(e._data.getContent(),0)));return null}function Xr(e){if(!e)return null;if(e.data)return c(e.data);if(e.asNodeBuffer&&C)return e.asNodeBuffer();if(e._data&&e._data.getContent){var r=e._data.getContent();if(typeof r=="string")return c(r);return Array.prototype.slice.call(r)}if(e.content&&e.type)return e.content;return null}function Gr(e){return e&&e.name.slice(-4)===".bin"?Xr(e):$r(e)}function jr(e,r){var t=e.FullPaths||ir(e.files);var a=r.toLowerCase().replace(/[\/]/g,"\\"),n=a.replace(/\\/g,"/");for(var i=0;i\/]+)\s*=\s*((?:")([^"]*)(?:")|(?:')([^']*)(?:')|([^'">\s]+))/g;var it=/<[\/\?]?[a-zA-Z0-9:_-]+(?:\s+[^"\s?<>\/]+\s*=\s*(?:"[^"]*"|'[^']*'|[^'"<>\s=]+))*\s*[\/\?]?>/gm,st=/<[^<>]*>/g;var ft=at.match(it)?it:st;var lt=/<\w*:/,ot=/<(\/?)\w+:/;function ct(e,r,t){var a={};var n=0,i=0;for(;n!==e.length;++n)if((i=e.charCodeAt(n))===32||i===10||i===13)break;if(!r)a[0]=e.slice(0,n);if(n===e.length)return a;var s=e.match(nt),f=0,l="",o=0,c="",h="",u=1;if(s)for(o=0;o!=s.length;++o){h=s[o].slice(1);for(i=0;i!=h.length;++i)if(h.charCodeAt(i)===61)break;c=h.slice(0,i).trim();while(h.charCodeAt(i+1)==32)++i;u=(n=h.charCodeAt(i+1))==34||n==39?1:0;l=h.slice(i+1+u,h.length-u);for(f=0;f!=c.length;++f)if(c.charCodeAt(f)===58)break;if(f===c.length){if(c.indexOf("_")>0)c=c.slice(0,c.indexOf("_"));a[c]=l;if(!t)a[c.toLowerCase()]=l}else{var d=(f===5&&c.slice(0,5)==="xmlns"?"xmlns":"")+c.slice(f+1);if(a[d]&&c.slice(f-3,f)=="ext")continue;a[d]=l;if(!t)a[d.toLowerCase()]=l}}return a}function ht(e,r,t){var a={};var n=0,i=0;for(;n!==e.length;++n)if((i=e.charCodeAt(n))===32||i===10||i===13)break;if(!r)a[0]=e.slice(0,n);if(n===e.length)return a;var s=e.match(nt),f=0,l="",o=0,c="",h="",u=1;if(s)for(o=0;o!=s.length;++o){h=s[o].slice(1);for(i=0;i!=h.length;++i)if(h.charCodeAt(i)===61)break;c=h.slice(0,i).trim();while(h.charCodeAt(i+1)==32)++i;u=(n=h.charCodeAt(i+1))==34||n==39?1:0;l=h.slice(i+1+u,h.length-u);if(c.indexOf("_")>0)c=c.slice(0,c.indexOf("_"));a[c]=l;if(!t)a[c.toLowerCase()]=l}return a}function ut(e){return e.replace(ot,"<$1")}var dt={""":'"',"'":"'",">":">","<":"<","&":"&"};var vt=fr(dt);var pt=function(){var e=/&(?:quot|apos|gt|lt|amp|#x?([\da-fA-F]+));/gi,r=/_x([\da-fA-F]{4})_/gi;function t(a){var n=a+"",i=n.indexOf("-1?16:10))||e}).replace(r,function(e,r){return String.fromCharCode(parseInt(r,16))});var s=n.indexOf("]]>");return t(n.slice(0,i))+n.slice(i+9,s)+t(n.slice(s+3))}return function a(e,r){var a=t(e);return r?a.replace(/\r\n/g,"\n"):a}}();var mt=/[&<>'"]/g,gt=/[\u0000-\u0008\u000b-\u001f\uFFFE-\uFFFF]/g;function bt(e){var r=e+"";return r.replace(mt,function(e){return vt[e]}).replace(gt,function(e){return"_x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+"_"})}function wt(e){return bt(e).replace(/ /g,"_x0020_")}var kt=/[\u0000-\u001f]/g;function At(e){var r=e+"";return r.replace(mt,function(e){return vt[e]}).replace(/\n/g,"
    ").replace(kt,function(e){return"&#x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+";"})}function Tt(e){var r=e+"";return r.replace(mt,function(e){return vt[e]}).replace(kt,function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"})}var yt=function(){var e=/&#(\d+);/g;function r(e,r){return String.fromCharCode(parseInt(r,10))}return function t(a){return a.replace(e,r)}}();function Et(e){return e.replace(/(\r\n|[\r\n])/g," ")}function Ct(e){switch(e){case 1:;case true:;case"1":;case"true":return true;case 0:;case false:;case"0":;case"false":return false;}return false}function _t(e){var r="",t=0,a=0,n=0,i=0,s=0,f=0;while(t191&&a<224){s=(a&31)<<6;s|=n&63;r+=String.fromCharCode(s);continue}i=e.charCodeAt(t++);if(a<240){r+=String.fromCharCode((a&15)<<12|(n&63)<<6|i&63);continue}s=e.charCodeAt(t++);f=((a&7)<<18|(n&63)<<12|(i&63)<<6|s&63)-65536;r+=String.fromCharCode(55296+(f>>>10&1023));r+=String.fromCharCode(56320+(f&1023))}return r}function St(e){var r=x(2*e.length),t,a,n=1,i=0,s=0,f;for(a=0;a>>10&1023);t=56320+(t&1023)}if(s!==0){r[i++]=s&255;r[i++]=s>>>8;s=0}r[i++]=t%256;r[i++]=t>>>8}return r.slice(0,i).toString("ucs2")}function xt(e){return _(e,"binary").toString("utf8")}var Ot="foo bar baz☃🍣";var It=C&&(xt(Ot)==_t(Ot)&&xt||St(Ot)==_t(Ot)&&St)||_t;var Rt=C?function(e){return _(e,"utf8").toString("binary")}:function(e){var r=[],t=0,a=0,n=0;while(t>6)));r.push(String.fromCharCode(128+(a&63)));break;case a>=55296&&a<57344:a-=55296;n=e.charCodeAt(t++)-56320+(a<<10);r.push(String.fromCharCode(240+(n>>18&7)));r.push(String.fromCharCode(144+(n>>12&63)));r.push(String.fromCharCode(128+(n>>6&63)));r.push(String.fromCharCode(128+(n&63)));break;default:r.push(String.fromCharCode(224+(a>>12)));r.push(String.fromCharCode(128+(a>>6&63)));r.push(String.fromCharCode(128+(a&63)));}}return r.join("")};var Nt=function(){var e=[["nbsp"," "],["middot","·"],["quot",'"'],["apos","'"],["gt",">"],["lt","<"],["amp","&"]].map(function(e){return[new RegExp("&"+e[0]+";","ig"),e[1]]});return function r(t){var a=t.replace(/^[\t\n\r ]+/,"").replace(/(^|[^\t\n\r ])[\t\n\r ]+$/,"$1").replace(/>\s+/g,">").replace(/\b\s+/g,"\n").replace(/<[^<>]*>/g,"");for(var n=0;n/g,Dt=/<(?:vt:)([^<"'>]*)>([\s\S]*)"+r+""}function Ut(e){return ir(e).map(function(r){return" "+r+'="'+e[r]+'"'}).join("")}function Bt(e,r,t){return"<"+e+(t!=null?Ut(t):"")+(r!=null?(r.match(Lt)?' xml:space="preserve"':"")+">"+r+""}function Wt(e,r){try{return e.toISOString().replace(/\.\d*/,"")}catch(t){if(r)throw t}return""}function zt(e,r){switch(typeof e){case"string":var t=Bt("vt:lpwstr",bt(e));if(r)t=t.replace(/"/g,"_x0022_");return t;case"number":return Bt((e|0)==e?"vt:i4":"vt:r8",bt(String(e)));case"boolean":return Bt("vt:bool",e?"true":"false");}if(e instanceof Date)return Bt("vt:filetime",Wt(e));throw new Error("Unable to serialize "+e)}function Ht(e){if(C&&Buffer.isBuffer(e))return e.toString("utf8");if(typeof e==="string")return e;if(typeof Uint8Array!=="undefined"&&e instanceof Uint8Array)return It(N(D(e)));throw new Error("Bad input format: expected Buffer or string")}var Vt=/<([\/]?)([^\s?>:\/"]+)(?:\s+[^<>=?"'\s]+="[^"]*?")*\s*[\/]?>/gm;var $t={CORE_PROPS:"http://schemas.openxmlformats.org/package/2006/metadata/core-properties",CUST_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties",EXT_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties",CT:"http://schemas.openxmlformats.org/package/2006/content-types",RELS:"http://schemas.openxmlformats.org/package/2006/relationships",TCMNT:"http://schemas.microsoft.com/office/spreadsheetml/2018/threadedcomments",dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/",dcmitype:"http://purl.org/dc/dcmitype/",mx:"http://schemas.microsoft.com/office/mac/excel/2008/main",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",sjs:"http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties",vt:"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes",xsi:"http://www.w3.org/2001/XMLSchema-instance",xsd:"http://www.w3.org/2001/XMLSchema"};var Xt=["http://schemas.openxmlformats.org/spreadsheetml/2006/main","http://purl.oclc.org/ooxml/spreadsheetml/main","http://schemas.microsoft.com/office/excel/2006/main","http://schemas.microsoft.com/office/excel/2006/2"];var Gt={o:"urn:schemas-microsoft-com:office:office",x:"urn:schemas-microsoft-com:office:excel",ss:"urn:schemas-microsoft-com:office:spreadsheet",dt:"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882",mv:"http://macVmlSchemaUri",v:"urn:schemas-microsoft-com:vml",html:"http://www.w3.org/TR/REC-html40"};function jt(e,r){var t=1-2*(e[r+7]>>>7);var a=((e[r+7]&127)<<4)+(e[r+6]>>>4&15);var n=e[r+6]&15;for(var i=5;i>=0;--i)n=n*256+e[r+i];if(a==2047)return n==0?t*Infinity:NaN;if(a==0)a=-1022;else{a-=1023;n+=Math.pow(2,52)}return t*Math.pow(2,a-52)*n}function Kt(e,r,t){var a=(r<0||1/r==-Infinity?1:0)<<7,n=0,i=0;var s=a?-r:r;if(!isFinite(s)){n=2047;i=isNaN(r)?26985:0}else if(s==0)n=i=0;else{n=Math.floor(Math.log(s)/Math.LN2);i=s*Math.pow(2,52-n);if(n<=-1023&&(!isFinite(i)||i>4|a}var Yt=function(e){var r=[],t=10240;for(var a=0;a0&&Buffer.isBuffer(e[0][0])?Buffer.concat(e[0].map(function(e){return Buffer.isBuffer(e)?e:_(e)})):Yt(e)}:Yt;var Jt=function(e,r,t){var a=[];for(var n=r;n0?ta(e,r+4,r+4+t-1):""};var na=aa;var ia=function(e,r){var t=ka(e,r);return t>0?ta(e,r+4,r+4+t-1):""};var sa=ia;var fa=function(e,r){var t=2*ka(e,r);return t>0?ta(e,r+4,r+4+t-1):""};var la=fa;var oa=function dA(e,r){var t=ka(e,r);return t>0?qt(e,r+4,r+4+t):""};var ca=oa;var ha=function(e,r){ +var t=ka(e,r);return t>0?ta(e,r+4,r+4+t):""};var ua=ha;var da=function(e,r){return jt(e,r)};var va=da;var pa=function vA(e){return Array.isArray(e)||typeof Uint8Array!=="undefined"&&e instanceof Uint8Array};if(C){na=function pA(e,r){if(!Buffer.isBuffer(e))return aa(e,r);var t=e.readUInt32LE(r);return t>0?e.toString("utf8",r+4,r+4+t-1):""};sa=function mA(e,r){if(!Buffer.isBuffer(e))return ia(e,r);var t=e.readUInt32LE(r);return t>0?e.toString("utf8",r+4,r+4+t-1):""};la=function gA(e,r){if(!Buffer.isBuffer(e)||!S)return fa(e,r);var t=2*e.readUInt32LE(r);return e.toString("utf16le",r+4,r+4+t-1)};ca=function bA(e,r){if(!Buffer.isBuffer(e)||!S)return oa(e,r);var t=e.readUInt32LE(r);return e.toString("utf16le",r+4,r+4+t)};ua=function wA(e,r){if(!Buffer.isBuffer(e))return ha(e,r);var t=e.readUInt32LE(r);return e.toString("utf8",r+4,r+4+t)};va=function kA(e,r){if(Buffer.isBuffer(e))return e.readDoubleLE(r);return da(e,r)};pa=function AA(e){return Buffer.isBuffer(e)||Array.isArray(e)||typeof Uint8Array!=="undefined"&&e instanceof Uint8Array}}function ma(){qt=function(e,r,t){return a.utils.decode(1200,e.slice(r,t)).replace(M,"")};ta=function(e,r,t){return a.utils.decode(65001,e.slice(r,t))};na=function(e,r){var n=ka(e,r);return n>0?a.utils.decode(t,e.slice(r+4,r+4+n-1)):""};sa=function(e,t){var n=ka(e,t);return n>0?a.utils.decode(r,e.slice(t+4,t+4+n-1)):""};la=function(e,r){var t=2*ka(e,r);return t>0?a.utils.decode(1200,e.slice(r+4,r+4+t-1)):""};ca=function(e,r){var t=ka(e,r);return t>0?a.utils.decode(1200,e.slice(r+4,r+4+t)):""};ua=function(e,r){var t=ka(e,r);return t>0?a.utils.decode(65001,e.slice(r+4,r+4+t)):""}}if(typeof a!=="undefined")ma();var ga=function(e,r){return e[r]};var ba=function(e,r){return e[r+1]*(1<<8)+e[r]};var wa=function(e,r){var t=e[r+1]*(1<<8)+e[r];return t<32768?t:(65535-t+1)*-1};var ka=function(e,r){return e[r+3]*(1<<24)+(e[r+2]<<16)+(e[r+1]<<8)+e[r]};var Aa=function(e,r){return e[r+3]<<24|e[r+2]<<16|e[r+1]<<8|e[r]};var Ta=function(e,r){return e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3]};function ya(e,t){var n="",i,s,f=[],l,o,c,h;switch(t){case"dbcs":h=this.l;if(C&&Buffer.isBuffer(this)&&S)n=this.slice(this.l,this.l+2*e).toString("utf16le");else for(c=0;c0?Aa:Ta)(this,this.l);this.l+=4;return i}else{s=ka(this,this.l);this.l+=4}return s;case 8:;case-8:if(t==="f"){if(e==8)s=va(this,this.l);else s=va([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);this.l+=8;return s}else e=8;case 16:n=ea(this,this.l,e);break;};}this.l+=e;return n}var Ea=function(e,r,t){e[t]=r&255;e[t+1]=r>>>8&255;e[t+2]=r>>>16&255;e[t+3]=r>>>24&255};var Ca=function(e,r,t){e[t]=r&255;e[t+1]=r>>8&255;e[t+2]=r>>16&255;e[t+3]=r>>24&255};var _a=function(e,r,t){e[t]=r&255;e[t+1]=r>>>8&255};function Sa(e,n,i){var s=0,f=0;if(i==="dbcs"){for(f=0;f!=n.length;++f)_a(this,n.charCodeAt(f),this.l+2*f);s=2*n.length}else if(i==="sbcs"||i=="cpstr"){if(typeof a!=="undefined"&&t==874){for(f=0;f!=n.length;++f){var l=a.utils.encode(t,n.charAt(f));this[this.l+f]=l[0]}s=n.length}else if(typeof a!=="undefined"&&i=="cpstr"){l=a.utils.encode(r,n);if(l.length==n.length)for(f=0;f>8}while(this.l>>=8;this[this.l+1]=n&255;break;case 3:s=3;this[this.l]=n&255;n>>>=8;this[this.l+1]=n&255;n>>>=8;this[this.l+2]=n&255;break;case 4:s=4;Ea(this,n,this.l);break;case 8:s=8;if(i==="f"){Kt(this,n,this.l);break};case 16:break;case-4:s=4;Ca(this,n,this.l);break;}this.l+=s;return this}function xa(e,r){var t=ea(this,this.l,e.length>>1);if(t!==e)throw new Error(r+"Expected "+e+" saw "+t);this.l+=e.length>>1}function Oa(e,r){e.l=r;e._R=ya;e.chk=xa;e._W=Sa}function Ia(e,r){e.l+=r}function Ra(e){var r=x(e);Oa(r,0);return r}function Na(e,r,t){if(!e)return;var a,n,i;Oa(e,e.l||0);var s=e.length,f=0,l=0;while(e.ln.l){n=n.slice(0,n.l);n.l=n.length}if(n.length>0)e.push(n)}n=null};var s=function u(e){if(n&&e=128?1:0)+1;if(a>=128)++i;if(a>=16384)++i;if(a>=2097152)++i;var s=e.next(i);if(n<=127)s._W(1,n);else{s._W(1,(n&127)+128);s._W(1,n>>7)}for(var f=0;f!=4;++f){if(a>=128){s._W(1,(a&127)+128);a>>=7}else{s._W(1,a);break}}if(a>0&&pa(t))e.push(t)}function Pa(e,r,t){var a=Ar(e);if(r.s){if(a.cRel)a.c+=r.s.c;if(a.rRel)a.r+=r.s.r}else{if(a.cRel)a.c+=r.c;if(a.rRel)a.r+=r.r}if(!t||t.biff<12){while(a.c>=256)a.c-=256;while(a.r>=65536)a.r-=65536}return a}function La(e,r,t){var a=Ar(e);a.s=Pa(a.s,r.s,t);a.e=Pa(a.e,r.s,t);return a}function Ma(e,r){if(e.cRel&&e.c<0){e=Ar(e);while(e.c<0)e.c+=r>8?16384:256}if(e.rRel&&e.r<0){e=Ar(e);while(e.r<0)e.r+=r>8?1048576:r>5?65536:16384}var t=Ya(e);if(!e.cRel&&e.cRel!=null)t=Xa(t);if(!e.rRel&&e.rRel!=null)t=za(t);return t}function Ua(e,r){if(e.s.r==0&&!e.s.rRel){if(e.e.r==(r.biff>=12?1048575:r.biff>=8?65536:16384)&&!e.e.rRel){return(e.s.cRel?"":"$")+$a(e.s.c)+":"+(e.e.cRel?"":"$")+$a(e.e.c)}}if(e.s.c==0&&!e.s.cRel){if(e.e.c==(r.biff>=12?16383:255)&&!e.e.cRel){return(e.s.rRel?"":"$")+Wa(e.s.r)+":"+(e.e.rRel?"":"$")+Wa(e.e.r)}}return Ma(e.s,r.biff)+":"+Ma(e.e,r.biff)}if(typeof cptable!=="undefined")g(cptable);else if(typeof module!=="undefined"&&typeof require!=="undefined"){g(undefined)}function Ba(e){return parseInt(Ha(e),10)-1}function Wa(e){return""+(e+1)}function za(e){return e.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")}function Ha(e){return e.replace(/\$(\d+)$/,"$1")}function Va(e){var r=Ga(e),t=0,a=0;for(;a!==r.length;++a)t=26*t+r.charCodeAt(a)-64;return t-1}function $a(e){if(e<0)throw new Error("invalid column "+e);var r="";for(++e;e;e=Math.floor((e-1)/26))r=String.fromCharCode((e-1)%26+65)+r;return r}function Xa(e){return e.replace(/^([A-Z])/,"$$$1")}function Ga(e){return e.replace(/^\$([A-Z])/,"$1")}function ja(e){return e.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")}function Ka(e){var r=0,t=0;for(var a=0;a=48&&n<=57)r=10*r+(n-48);else if(n>=65&&n<=90)t=26*t+(n-64)}return{c:t-1,r:r-1}}function Ya(e){var r=e.c+1;var t="";for(;r;r=(r-1)/26|0)t=String.fromCharCode((r-1)%26+65)+t;return t+(e.r+1)}function Za(e){var r=e.indexOf(":");if(r==-1)return{s:Ka(e),e:Ka(e)};return{s:Ka(e.slice(0,r)),e:Ka(e.slice(r+1))}}function Ja(e,r){if(typeof r==="undefined"||typeof r==="number"){return Ja(e.s,e.e)}if(typeof e!=="string")e=Ya(e);if(typeof r!=="string")r=Ya(r);return e==r?e:e+":"+r}function qa(e){var r=Za(e);return"$"+$a(r.s.c)+"$"+Wa(r.s.r)+":$"+$a(r.e.c)+"$"+Wa(r.e.r)}function Qa(e,r){if(!e&&!(r&&r.biff<=5&&r.biff>=2))throw new Error("empty sheet name");if(/[^\w\u4E00-\u9FFF\u3040-\u30FF]/.test(e))return"'"+e.replace(/'/g,"''")+"'";return e}function en(e){var r={s:{c:0,r:0},e:{c:0,r:0}};var t=0,a=0,n=0;var i=e.length;for(t=0;a26)break;t=26*t+n}r.s.c=--t;for(t=0;a9)break;t=10*t+n}r.s.r=--t;if(a===i||n!=10){r.e.c=r.s.c;r.e.r=r.s.r;return r}++a;for(t=0;a!=i;++a){if((n=e.charCodeAt(a)-64)<1||n>26)break;t=26*t+n}r.e.c=--t;for(t=0;a!=i;++a){if((n=e.charCodeAt(a)-48)<0||n>9)break;t=10*t+n}r.e.r=--t;return r}function rn(e,r){var t=e.t=="d"&&r instanceof Date;if(e.z!=null)try{return e.w=ze(e.z,t?dr(r):r)}catch(a){}try{return e.w=ze((e.XF||{}).numFmtId||(t?14:0),t?dr(r):r)}catch(a){return""+r}}function tn(e,r,t){if(e==null||e.t==null||e.t=="z")return"";if(e.w!==undefined)return e.w;if(e.t=="d"&&!e.z&&t&&t.dateNF)e.z=t.dateNF;if(e.t=="e")return ci[e.v]||e.v;if(r==undefined)return rn(e,e.v);return rn(e,r)}function an(e,r){var t=r&&r.sheet?r.sheet:"Sheet1";var a={};a[t]=e;return{SheetNames:[t],Sheets:a}}function nn(e){var r={};var t=e||{};if(t.dense)r["!data"]=[];return r}function sn(e,r,t){var a=t||{};var n=e?e["!data"]!=null:a.dense;if(b!=null&&n==null)n=b;var i=e||(n?{"!data":[]}:{});if(n&&!i["!data"])i["!data"]=[];var s=0,f=0;if(i&&a.origin!=null){if(typeof a.origin=="number")s=a.origin;else{var l=typeof a.origin=="string"?Ka(a.origin):a.origin;s=l.r;f=l.c}}var o={s:{c:1e7,r:1e7},e:{c:0,r:0}};if(i["!ref"]){var c=en(i["!ref"]);o.s.c=c.s.c;o.s.r=c.s.r;o.e.c=Math.max(o.e.c,c.e.c);o.e.r=Math.max(o.e.r,c.e.r);if(s==-1)o.e.r=s=i["!ref"]?c.e.r+1:0}else{o.s.c=o.e.c=o.s.r=o.e.r=0}var h=[],u=false;for(var d=0;d!=r.length;++d){if(!r[d])continue;if(!Array.isArray(r[d]))throw new Error("aoa_to_sheet expects an array of arrays");var v=s+d;if(n){if(!i["!data"][v])i["!data"][v]=[];h=i["!data"][v]}var p=r[d];for(var m=0;m!=p.length;++m){if(typeof p[m]==="undefined")continue;var g={v:p[m],t:""};var w=f+m;if(o.s.r>v)o.s.r=v;if(o.s.c>w)o.s.c=w;if(o.e.r0)r._W(0,e,"dbcs");return t?r.slice(0,r.l):r}function un(e){return{ich:e._R(2),ifnt:e._R(2)}}function dn(e,r){if(!r)r=Ra(4);r._W(2,e.ich||0);r._W(2,e.ifnt||0);return r}function vn(e,r){var t=e.l;var a=e._R(1);var n=cn(e);var i=[];var s={t:n,h:n};if((a&1)!==0){var f=e._R(4);for(var l=0;l!=f;++l)i.push(un(e));s.r=i}else s.r=[{ich:0,ifnt:0}];e.l=t+r;return s}function pn(e,r){var t=false;if(r==null){t=true;r=Ra(15+4*e.t.length)}r._W(1,0);hn(e.t,r);return t?r.slice(0,r.l):r}var mn=vn;function gn(e,r){var t=false;if(r==null){t=true;r=Ra(23+4*e.t.length)}r._W(1,1);hn(e.t,r);r._W(4,1);dn({ich:0,ifnt:0},r);return t?r.slice(0,r.l):r}function bn(e){var r=e._R(4);var t=e._R(2);t+=e._R(1)<<16;e.l++;return{c:r,iStyleRef:t}}function wn(e,r){if(r==null)r=Ra(8);r._W(-4,e.c);r._W(3,e.iStyleRef||e.s);r._W(1,0);return r}function kn(e){var r=e._R(2);r+=e._R(1)<<16;e.l++;return{c:-1,iStyleRef:r}}function An(e,r){if(r==null)r=Ra(4);r._W(3,e.iStyleRef||e.s);r._W(1,0);return r}var Tn=cn;var yn=hn;function En(e){var r=e._R(4);return r===0||r===4294967295?"":e._R(r,"dbcs")}function Cn(e,r){var t=false;if(r==null){t=true;r=Ra(127)}r._W(4,e.length>0?e.length:4294967295);if(e.length>0)r._W(0,e,"dbcs");return t?r.slice(0,r.l):r}var _n=cn;var Sn=En;var xn=Cn;function On(e){var r=e.slice(e.l,e.l+4);var t=r[0]&1,a=r[0]&2;e.l+=4;var n=a===0?va([0,0,0,0,r[0]&252,r[1],r[2],r[3]],0):Aa(r,0)>>2;return t?n/100:n}function In(e,r){if(r==null)r=Ra(4);var t=0,a=0,n=e*100;if(e==(e|0)&&e>=-(1<<29)&&e<1<<29){a=1}else if(n==(n|0)&&n>=-(1<<29)&&n<1<<29){a=1;t=1}if(a)r._W(-4,((t?n:e)<<2)+(t+2));else throw new Error("unsupported RkNumber "+e)}function Rn(e){var r={s:{},e:{}};r.s.r=e._R(4);r.e.r=e._R(4);r.s.c=e._R(4);r.e.c=e._R(4);return r}function Nn(e,r){if(!r)r=Ra(16);r._W(4,e.s.r);r._W(4,e.e.r);r._W(4,e.s.c);r._W(4,e.e.c);return r}var Fn=Rn;var Dn=Nn;function Pn(e){if(e.length-e.l<8)throw"XLS Xnum Buffer underflow";return e._R(8,"f")}function Ln(e,r){return(r||Ra(8))._W(8,e,"f")}function Mn(e){var r={};var t=e._R(1);var a=t>>>1;var n=e._R(1);var i=e._R(2,"i");var s=e._R(1);var f=e._R(1);var l=e._R(1);e.l++;switch(a){case 0:r.auto=1;break;case 1:r.index=n;var o=oi[n];if(o)r.rgb=Zo(o);break;case 2:r.rgb=Zo([s,f,l]);break;case 3:r.theme=n;break;}if(i!=0)r.tint=i>0?i/32767:i/32768;return r}function Un(e,r){if(!r)r=Ra(8);if(!e||e.auto){r._W(4,0);r._W(4,0);return r}if(e.index!=null){r._W(1,2);r._W(1,e.index)}else if(e.theme!=null){r._W(1,6);r._W(1,e.theme)}else{r._W(1,5);r._W(1,0)}var t=e.tint||0;if(t>0)t*=32767;else if(t<0)t*=32768;r._W(2,t);if(!e.rgb||e.theme!=null){r._W(2,0);r._W(1,0);r._W(1,0)}else{var a=e.rgb||"FFFFFF";if(typeof a=="number")a=("000000"+a.toString(16)).slice(-6);r._W(1,parseInt(a.slice(0,2),16));r._W(1,parseInt(a.slice(2,4),16));r._W(1,parseInt(a.slice(4,6),16));r._W(1,255)}return r}function Bn(e){var r=e._R(1);e.l++;var t={fBold:r&1,fItalic:r&2,fUnderline:r&4,fStrikeout:r&8,fOutline:r&16,fShadow:r&32,fCondense:r&64,fExtend:r&128};return t}function Wn(e,r){if(!r)r=Ra(2);var t=(e.italic?2:0)|(e.strike?8:0)|(e.outline?16:0)|(e.shadow?32:0)|(e.condense?64:0)|(e.extend?128:0);r._W(1,t);r._W(1,0);return r}function zn(e,r){var t={2:"BITMAP",3:"METAFILEPICT",8:"DIB",14:"ENHMETAFILE"};var a=e._R(4);switch(a){case 0:return"";case 4294967295:;case 4294967294:return t[e._R(4)]||"";}if(a>400)throw new Error("Unsupported Clipboard: "+a.toString(16));e.l-=4;return e._R(0,r==1?"lpstr":"lpwstr")}function Hn(e){return zn(e,1)}function Vn(e){return zn(e,2)}var $n=2;var Xn=3;var Gn=11;var jn=12;var Kn=19;var Yn=64;var Zn=65;var Jn=71;var qn=4108;var Qn=4126;var ei=80;var ri=81;var ti=[ei,ri];var ai={1:{n:"CodePage",t:$n},2:{n:"Category",t:ei},3:{n:"PresentationFormat",t:ei},4:{n:"ByteCount",t:Xn},5:{n:"LineCount",t:Xn},6:{n:"ParagraphCount",t:Xn},7:{n:"SlideCount",t:Xn},8:{n:"NoteCount",t:Xn},9:{n:"HiddenCount",t:Xn},10:{n:"MultimediaClipCount",t:Xn},11:{n:"ScaleCrop",t:Gn},12:{n:"HeadingPairs",t:qn},13:{n:"TitlesOfParts",t:Qn},14:{n:"Manager",t:ei},15:{n:"Company",t:ei},16:{n:"LinksUpToDate",t:Gn},17:{n:"CharacterCount",t:Xn},19:{n:"SharedDoc",t:Gn},22:{n:"HyperlinksChanged",t:Gn},23:{n:"AppVersion",t:Xn,p:"version"},24:{n:"DigSig",t:Zn},26:{n:"ContentType",t:ei},27:{n:"ContentStatus",t:ei},28:{n:"Language",t:ei},29:{n:"Version",t:ei},255:{},2147483648:{n:"Locale",t:Kn},2147483651:{n:"Behavior",t:Kn},1919054434:{}};var ni={1:{n:"CodePage",t:$n},2:{n:"Title",t:ei},3:{n:"Subject",t:ei},4:{n:"Author",t:ei},5:{n:"Keywords",t:ei},6:{n:"Comments",t:ei},7:{n:"Template",t:ei},8:{n:"LastAuthor",t:ei},9:{n:"RevNumber",t:ei},10:{n:"EditTime",t:Yn},11:{n:"LastPrinted",t:Yn},12:{n:"CreatedDate",t:Yn},13:{n:"ModifiedDate",t:Yn},14:{n:"PageCount",t:Xn},15:{n:"WordCount",t:Xn},16:{n:"CharCount",t:Xn},17:{n:"Thumbnail",t:Jn},18:{n:"Application",t:ei},19:{n:"DocSecurity",t:Xn},255:{},2147483648:{n:"Locale",t:Kn},2147483651:{n:"Behavior",t:Kn},1919054434:{}};var ii={1:"US",2:"CA",3:"",7:"RU",20:"EG",30:"GR",31:"NL",32:"BE",33:"FR",34:"ES",36:"HU",39:"IT",41:"CH",43:"AT",44:"GB",45:"DK",46:"SE",47:"NO",48:"PL",49:"DE",52:"MX",55:"BR",61:"AU",64:"NZ",66:"TH",81:"JP",82:"KR",84:"VN",86:"CN",90:"TR",105:"JS",213:"DZ",216:"MA",218:"LY",351:"PT",354:"IS",358:"FI",420:"CZ",886:"TW",961:"LB",962:"JO",963:"SY",964:"IQ",965:"KW",966:"SA",971:"AE",972:"IL",974:"QA",981:"IR",65535:"US"};var si=[null,"solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];function fi(e){return e.map(function(e){return[e>>16&255,e>>8&255,e&255]})}var li=fi([0,16777215,16711680,65280,255,16776960,16711935,65535,0,16777215,16711680,65280,255,16776960,16711935,65535,8388608,32768,128,8421376,8388736,32896,12632256,8421504,10066431,10040166,16777164,13434879,6684774,16744576,26316,13421823,128,16711935,16776960,65535,8388736,8388608,32896,255,52479,13434879,13434828,16777113,10079487,16751052,13408767,16764057,3368703,3394764,10079232,16763904,16750848,16737792,6710937,9868950,13158,3381606,13056,3355392,10040064,10040166,3355545,3355443,0,16777215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);var oi=Ar(li);var ci={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"};var hi={"#NULL!":0,"#DIV/0!":7,"#VALUE!":15,"#REF!":23,"#NAME?":29,"#NUM!":36,"#N/A":42,"#GETTING_DATA":43,"#WTF?":255};var ui=["_xlnm.Consolidate_Area","_xlnm.Auto_Open","_xlnm.Auto_Close","_xlnm.Extract","_xlnm.Database","_xlnm.Criteria","_xlnm.Print_Area","_xlnm.Print_Titles","_xlnm.Recorder","_xlnm.Data_Form","_xlnm.Auto_Activate","_xlnm.Auto_Deactivate","_xlnm.Sheet_Title","_xlnm._FilterDatabase"];var di={"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":"workbooks","application/vnd.ms-excel.sheet.macroEnabled.main+xml":"workbooks","application/vnd.ms-excel.sheet.binary.macroEnabled.main":"workbooks","application/vnd.ms-excel.addin.macroEnabled.main+xml":"workbooks","application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":"workbooks","application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":"sheets","application/vnd.ms-excel.worksheet":"sheets","application/vnd.ms-excel.binIndexWs":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":"charts","application/vnd.ms-excel.chartsheet":"charts","application/vnd.ms-excel.macrosheet+xml":"macros","application/vnd.ms-excel.macrosheet":"macros","application/vnd.ms-excel.intlmacrosheet":"TODO","application/vnd.ms-excel.binIndexMs":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":"dialogs","application/vnd.ms-excel.dialogsheet":"dialogs","application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml":"strs","application/vnd.ms-excel.sharedStrings":"strs","application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":"styles","application/vnd.ms-excel.styles":"styles","application/vnd.openxmlformats-package.core-properties+xml":"coreprops","application/vnd.openxmlformats-officedocument.custom-properties+xml":"custprops","application/vnd.openxmlformats-officedocument.extended-properties+xml":"extprops","application/vnd.openxmlformats-officedocument.customXmlProperties+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":"comments","application/vnd.ms-excel.comments":"comments","application/vnd.ms-excel.threadedcomments+xml":"threadedcomments","application/vnd.ms-excel.person+xml":"people","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml":"metadata","application/vnd.ms-excel.sheetMetadata":"metadata","application/vnd.ms-excel.pivotTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.chart+xml":"TODO","application/vnd.ms-office.chartcolorstyle+xml":"TODO","application/vnd.ms-office.chartstyle+xml":"TODO","application/vnd.ms-office.chartex+xml":"TODO","application/vnd.ms-excel.calcChain":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings":"TODO","application/vnd.ms-office.activeX":"TODO","application/vnd.ms-office.activeX+xml":"TODO","application/vnd.ms-excel.attachedToolbars":"TODO","application/vnd.ms-excel.connections":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":"TODO","application/vnd.ms-excel.externalLink":"links","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml":"links","application/vnd.ms-excel.pivotCacheDefinition":"TODO","application/vnd.ms-excel.pivotCacheRecords":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml":"TODO","application/vnd.ms-excel.queryTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml":"TODO","application/vnd.ms-excel.userNames":"TODO","application/vnd.ms-excel.revisionHeaders":"TODO","application/vnd.ms-excel.revisionLog":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml":"TODO","application/vnd.ms-excel.tableSingleCells":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml":"TODO","application/vnd.ms-excel.slicer":"TODO","application/vnd.ms-excel.slicerCache":"TODO","application/vnd.ms-excel.slicer+xml":"TODO","application/vnd.ms-excel.slicerCache+xml":"TODO","application/vnd.ms-excel.wsSortMap":"TODO","application/vnd.ms-excel.table":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":"TODO","application/vnd.openxmlformats-officedocument.theme+xml":"themes","application/vnd.openxmlformats-officedocument.themeOverride+xml":"TODO","application/vnd.ms-excel.Timeline+xml":"TODO","application/vnd.ms-excel.TimelineCache+xml":"TODO","application/vnd.ms-office.vbaProject":"vba","application/vnd.ms-office.vbaProjectSignature":"TODO","application/vnd.ms-office.volatileDependencies":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml":"TODO","application/vnd.ms-excel.controlproperties+xml":"TODO","application/vnd.openxmlformats-officedocument.model+data":"TODO","application/vnd.ms-excel.Survey+xml":"TODO","application/vnd.openxmlformats-officedocument.drawing+xml":"drawings","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml":"TODO","application/vnd.openxmlformats-officedocument.vmlDrawing":"TODO","application/vnd.openxmlformats-package.relationships+xml":"rels","application/vnd.openxmlformats-officedocument.oleObject":"TODO","image/png":"TODO",sheet:"js"};var vi={workbooks:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml",xlsm:"application/vnd.ms-excel.sheet.macroEnabled.main+xml",xlsb:"application/vnd.ms-excel.sheet.binary.macroEnabled.main",xlam:"application/vnd.ms-excel.addin.macroEnabled.main+xml",xltx:"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml"},strs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",xlsb:"application/vnd.ms-excel.sharedStrings"},comments:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml",xlsb:"application/vnd.ms-excel.comments"},sheets:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",xlsb:"application/vnd.ms-excel.worksheet"},charts:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml",xlsb:"application/vnd.ms-excel.chartsheet"},dialogs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml",xlsb:"application/vnd.ms-excel.dialogsheet"},macros:{xlsx:"application/vnd.ms-excel.macrosheet+xml",xlsb:"application/vnd.ms-excel.macrosheet"},metadata:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml",xlsb:"application/vnd.ms-excel.sheetMetadata"},styles:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",xlsb:"application/vnd.ms-excel.styles"}};function pi(){return{workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],threadedcomments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],people:[],TODO:[],xmlns:""}}function mi(e){var r=pi();if(!e||!e.match)return r;var t={};(e.match(ft)||[]).forEach(function(e){var a=ct(e);switch(a[0].replace(lt,"<")){case"0?r.calcchains[0]:"";r.sst=r.strs.length>0?r.strs[0]:"";r.style=r.styles.length>0?r.styles[0]:"";r.defaults=t;delete r.calcchains;return r}function gi(e,r,t){var a=or(di);var n=[],i;if(!t){n[n.length]=at;n[n.length]=Bt("Types",null,{xmlns:$t.CT,"xmlns:xsd":$t.xsd,"xmlns:xsi":$t.xsi});n=n.concat([["xml","application/xml"],["bin","application/vnd.ms-excel.sheet.binary.macroEnabled.main"],["vml","application/vnd.openxmlformats-officedocument.vmlDrawing"],["data","application/vnd.openxmlformats-officedocument.model+data"],["bmp","image/bmp"],["png","image/png"],["gif","image/gif"],["emf","image/x-emf"],["wmf","image/x-wmf"],["jpg","image/jpeg"],["jpeg","image/jpeg"],["tif","image/tiff"],["tiff","image/tiff"],["pdf","application/pdf"],["rels","application/vnd.openxmlformats-package.relationships+xml"]].map(function(e){return Bt("Default",null,{Extension:e[0],ContentType:e[1]})}))}var s=function(t){if(e[t]&&e[t].length>0){i=e[t][0];n[n.length]=Bt("Override",null,{PartName:(i[0]=="/"?"":"/")+i,ContentType:vi[t][r.bookType]||vi[t]["xlsx"]})}};var f=function(t){(e[t]||[]).forEach(function(e){n[n.length]=Bt("Override",null,{PartName:(e[0]=="/"?"":"/")+e,ContentType:vi[t][r.bookType]||vi[t]["xlsx"]})})};var l=function(r){(e[r]||[]).forEach(function(e){n[n.length]=Bt("Override",null,{PartName:(e[0]=="/"?"":"/")+e,ContentType:a[r][0]})})};s("workbooks");f("sheets");f("charts");l("themes");["strs","styles"].forEach(s);["coreprops","extprops","custprops"].forEach(l);l("vba");l("comments");l("threadedcomments");l("drawings");f("metadata");l("people");if(!t&&n.length>2){n[n.length]="";n[1]=n[1].replace("/>",">")}return n.join("")}var bi={WB:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",SHEET:"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument",HLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",VML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing",XPATH:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath",XMISS:"http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing",XLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink",CXML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml",CXMLP:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps",CMNT:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments",CORE_PROPS:"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties",EXT_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties",CUST_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties",SST:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings",STY:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",THEME:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",CHART:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart",CHARTEX:"http://schemas.microsoft.com/office/2014/relationships/chartEx",CS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet",WS:["http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet","http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet"],DS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet",MS:"http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet",IMG:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",DRAW:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing",XLMETA:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata",TCMNT:"http://schemas.microsoft.com/office/2017/10/relationships/threadedComment",PEOPLE:"http://schemas.microsoft.com/office/2017/10/relationships/person",CONN:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/connections",VBA:"http://schemas.microsoft.com/office/2006/relationships/vbaProject"};function wi(e){var r=e.lastIndexOf("/");return e.slice(0,r+1)+"_rels/"+e.slice(r+1)+".rels"}function ki(e,r){var t={"!id":{}};if(!e)return t;if(r.charAt(0)!=="/"){ +r="/"+r}var a={};(e.match(ft)||[]).forEach(function(e){var n=ct(e);if(n[0]==="2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function Ti(e,r,t,a,n,i){if(!n)n={};if(!e["!id"])e["!id"]={};if(!e["!idx"])e["!idx"]=1;if(r<0)for(r=e["!idx"];e["!id"]["rId"+r];++r){}e["!idx"]=r+1;n.Id="rId"+r;n.Type=a;n.Target=t;if(i)n.TargetMode=i;else if([bi.HLINK,bi.XPATH,bi.XMISS].indexOf(n.Type)>-1)n.TargetMode="External";if(e["!id"][n.Id])throw new Error("Cannot rewrite rId "+r);e["!id"][n.Id]=n;e[("/"+n.Target).replace("//","/")]=n;return r}var yi="application/vnd.oasis.opendocument.spreadsheet";function Ei(e,r){var t=Ht(e);var a;var n;while(a=Vt.exec(t))switch(a[3]){case"manifest":break;case"file-entry":n=ct(a[0],false);if(n.path=="/"&&n.type!==yi)throw new Error("This OpenDocument is not a spreadsheet");break;case"encryption-data":;case"algorithm":;case"start-key-generation":;case"key-derivation":throw new Error("Unsupported ODS Encryption");default:if(r&&r.WTF)throw a;}}function Ci(e){var r=[at];r.push('\n');r.push(' \n');for(var t=0;t\n');r.push("");return r.join("")}function _i(e,r,t){return[' \n',' \n'," \n"].join("")}function Si(e,r){return[' \n',' \n'," \n"].join("")}function xi(e){var r=[at];r.push('\n');for(var t=0;t!=e.length;++t){r.push(_i(e[t][0],e[t][1]));r.push(Si("",e[t][0]))}r.push(_i("","Document","pkg"));r.push("");return r.join("")}function Oi(r,t){return'SheetJS '+e.version+""}var Ii=[["cp:category","Category"],["cp:contentStatus","ContentStatus"],["cp:keywords","Keywords"],["cp:lastModifiedBy","LastAuthor"],["cp:lastPrinted","LastPrinted"],["cp:revision","RevNumber"],["cp:version","Version"],["dc:creator","Author"],["dc:description","Comments"],["dc:identifier","Identifier"],["dc:language","Language"],["dc:subject","Subject"],["dc:title","Title"],["dcterms:created","CreatedDate","date"],["dcterms:modified","ModifiedDate","date"]];function Ri(e){var r={};e=It(e);for(var t=0;t0)r[a[1]]=pt(n[1]);if(a[2]==="date"&&r[a[1]])r[a[1]]=wr(r[a[1]])}return r}function Ni(e,r,t,a,n){if(n[e]!=null||r==null||r==="")return;n[e]=r;r=bt(r);a[a.length]=t?Bt(e,r,t):Mt(e,r)}function Fi(e,r){var t=r||{};var a=[at,Bt("cp:coreProperties",null,{"xmlns:cp":$t.CORE_PROPS,"xmlns:dc":$t.dc,"xmlns:dcterms":$t.dcterms,"xmlns:dcmitype":$t.dcmitype,"xmlns:xsi":$t.xsi})],n={};if(!e&&!t.Props)return a.join("");if(e){if(e.CreatedDate!=null)Ni("dcterms:created",typeof e.CreatedDate==="string"?e.CreatedDate:Wt(e.CreatedDate,t.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n);if(e.ModifiedDate!=null)Ni("dcterms:modified",typeof e.ModifiedDate==="string"?e.ModifiedDate:Wt(e.ModifiedDate,t.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n)}for(var i=0;i!=Ii.length;++i){var s=Ii[i];var f=t.Props&&t.Props[s[1]]!=null?t.Props[s[1]]:e?e[s[1]]:null;if(f===true)f="1";else if(f===false)f="0";else if(typeof f=="number")f=String(f);if(f!=null)Ni(s[0],f,null,a,n)}if(a.length>2){a[a.length]="";a[1]=a[1].replace("/>",">")}return a.join("")}var Di=[["Application","Application","string"],["AppVersion","AppVersion","string"],["Company","Company","string"],["DocSecurity","DocSecurity","string"],["Manager","Manager","string"],["HyperlinksChanged","HyperlinksChanged","bool"],["SharedDoc","SharedDoc","bool"],["LinksUpToDate","LinksUpToDate","bool"],["ScaleCrop","ScaleCrop","bool"],["HeadingPairs","HeadingPairs","raw"],["TitlesOfParts","TitlesOfParts","raw"]];var Pi=["Worksheets","SheetNames","NamedRanges","DefinedNames","Chartsheets","ChartNames"];function Li(e,r,t,a){var n=[];if(typeof e=="string")n=Pt(e,a);else for(var i=0;i0)for(var o=0;o!==n.length;o+=2){l=+n[o+1].v;switch(n[o].v){case"Worksheets":;case"工作表":;case"Листы":;case"أوراق العمل":;case"ワークシート":;case"גליונות עבודה":;case"Arbeitsblätter":;case"Çalışma Sayfaları":;case"Feuilles de calcul":;case"Fogli di lavoro":;case"Folhas de cálculo":;case"Planilhas":;case"Regneark":;case"Hojas de cálculo":;case"Werkbladen":t.Worksheets=l;t.SheetNames=s.slice(f,f+l);break;case"Named Ranges":;case"Rangos con nombre":;case"名前付き一覧":;case"Benannte Bereiche":;case"Navngivne områder":t.NamedRanges=l;t.DefinedNames=s.slice(f,f+l);break;case"Charts":;case"Diagramme":t.Chartsheets=l;t.ChartNames=s.slice(f,f+l);break;}f+=l}}function Mi(e,r,t){var a={};if(!r)r={};e=It(e);Di.forEach(function(t){var n=(Wr(e,t[0])||[])[1];switch(t[2]){case"string":if(n)r[t[1]]=pt(n);break;case"bool":r[t[1]]=n==="true";break;case"raw":var i=Br(e,t[0]);if(i&&i.length>0)a[t[1]]=i[1];break;}});if(a.HeadingPairs&&a.TitlesOfParts)Li(a.HeadingPairs,a.TitlesOfParts,r,t);return r}function Ui(e){var r=[],t=Bt;if(!e)e={};e.Application="SheetJS";r[r.length]=at;r[r.length]=Bt("Properties",null,{xmlns:$t.EXT_PROPS,"xmlns:vt":$t.vt});Di.forEach(function(a){if(e[a[1]]===undefined)return;var n;switch(a[2]){case"string":n=bt(String(e[a[1]]));break;case"bool":n=e[a[1]]?"true":"false";break;}if(n!==undefined)r[r.length]=t(a[0],n)});r[r.length]=t("HeadingPairs",t("vt:vector",t("vt:variant","Worksheets")+t("vt:variant",t("vt:i4",String(e.Worksheets))),{size:2,baseType:"variant"}));r[r.length]=t("TitlesOfParts",t("vt:vector",e.SheetNames.map(function(e){return""+bt(e)+""}).join(""),{size:e.Worksheets,baseType:"lpstr"}));if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}var Bi=/<[^<>]+>[^<]*/g;function Wi(e,r){var t={},a="";var n=e.match(Bi);if(n)for(var i=0;i!=n.length;++i){var s=n[i],f=ct(s);switch(ut(f[0])){case"":a=null;break;default:if(s.indexOf("");var o=l[0].slice(4),c=l[1];switch(o){case"lpstr":;case"bstr":;case"lpwstr":t[a]=pt(c);break;case"bool":t[a]=Ct(c);break;case"i1":;case"i2":;case"i4":;case"i8":;case"int":;case"uint":t[a]=parseInt(c,10);break;case"r4":;case"r8":;case"decimal":t[a]=parseFloat(c);break;case"filetime":;case"date":t[a]=wr(c);break;case"cy":;case"error":t[a]=pt(c);break;default:if(o.slice(-1)=="/")break;if(r.WTF&&typeof console!=="undefined")console.warn("Unexpected",s,o,l);}}else if(s.slice(0,2)==="2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}var Hi={Title:"Title",Subject:"Subject",Author:"Author",Keywords:"Keywords",Comments:"Description",LastAuthor:"LastAuthor",RevNumber:"Revision",Application:"AppName",LastPrinted:"LastPrinted",CreatedDate:"Created",ModifiedDate:"LastSaved",Category:"Category",Manager:"Manager",Company:"Company",AppVersion:"Version",ContentStatus:"ContentStatus",Identifier:"Identifier",Language:"Language"};var Vi;function $i(e,r,t){if(!Vi)Vi=fr(Hi);r=Vi[r]||r;e[r]=t}function Xi(e,r){var t=[];ir(Hi).map(function(e){for(var r=0;r'+n.join("")+""}function ji(e){var r=e._R(4),t=e._R(4);return new Date((t/1e7*Math.pow(2,32)+r/1e7-11644473600)*1e3).toISOString().replace(/\.000/,"")}function Ki(e){var r=typeof e=="string"?new Date(Date.parse(e)):e;var t=r.getTime()/1e3+11644473600;var a=t%Math.pow(2,32),n=(t-a)/Math.pow(2,32);a*=1e7;n*=1e7;var i=a/Math.pow(2,32)|0;if(i>0){a=a%Math.pow(2,32);n+=i}var s=Ra(8);s._W(4,a);s._W(4,n);return s}function Yi(e,r,t){var a=e.l;var n=e._R(0,"lpstr-cp");if(t)while(e.l-a&3)++e.l;return n}function Zi(e,r,t){var a=e._R(0,"lpwstr");if(t)e.l+=4-(a.length+1&3)&3;return a}function Ji(e,r,t){if(r===31)return Zi(e);return Yi(e,r,t)}function qi(e,r,t){return Ji(e,r,t===false?0:4)}function Qi(e,r){if(!r)throw new Error("VtUnalignedString must have positive length");return Ji(e,r,0)}function es(e){var r=e._R(4);var t=[];for(var a=0;a!=r;++a){var n=e.l;t[a]=e._R(0,"lpwstr").replace(M,"");if(e.l-n&2)e.l+=2}return t}function rs(e){var r=e._R(4);var t=[];for(var a=0;a!=r;++a)t[a]=e._R(0,"lpstr-cp").replace(M,"");return t}function ts(e){var r=e.l;var t=fs(e,ri);if(e[e.l]==0&&e[e.l+1]==0&&e.l-r&2)e.l+=2;var a=fs(e,Xn);return[t,a]}function as(e){var r=e._R(4);var t=[];for(var a=0;a>2+1<<2;return a}function is(e){var r=e._R(4);var t=e.slice(e.l,e.l+r);e.l+=r;if((r&3)>0)e.l+=4-(r&3)&3;return t}function ss(e){var r={};r.Size=e._R(4);e.l+=r.Size+3-(r.Size-1)%4;return r}function fs(e,r,t){var a=e._R(2),n,i=t||{};e.l+=2;if(r!==jn)if(a!==r&&ti.indexOf(r)===-1&&!((r&65534)==4126&&(a&65534)==4126))throw new Error("Expected type "+r+" saw "+a);switch(r===jn?a:r){case 2:n=e._R(2,"i");if(!i.raw)e.l+=2;return n;case 3:n=e._R(4,"i");return n;case 11:return e._R(4)!==0;case 19:n=e._R(4);return n;case 30:e.l+=4;val=qi(e,e[e.l-4]).replace(/(^|[^\u0000])\u0000+$/,"$1");break;case 31:e.l+=4;val=qi(e,e[e.l-4]).replace(/(^|[^\u0000])\u0000+$/,"$1");break;case 64:return ji(e);case 65:return is(e);case 71:return ss(e);case 80:return qi(e,a,!i.raw).replace(M,"");case 81:return Qi(e,a).replace(M,"");case 4108:return as(e);case 4126:;case 4127:return a==4127?es(e):rs(e);default:throw new Error("TypedPropertyValue unrecognized type "+r+" "+a);}}function ls(e,r){var t=Ra(4),a=Ra(4);t._W(4,e==80?31:e);switch(e){case 3:a._W(-4,r);break;case 5:a=Ra(8);a._W(8,r,"f");break;case 11:a._W(4,r?1:0);break;case 64:a=Ki(r);break;case 31:;case 80:a=Ra(4+2*(r.length+1)+(r.length%2?0:2));a._W(4,r.length+1);a._W(0,r,"dbcs");while(a.l!=a.length)a._W(1,0);break;default:throw new Error("TypedPropertyValue unrecognized type "+e+" "+r);}return P([t,a])}function os(e,r){var t=e.l;var a=e._R(4);var n=e._R(4);var i=[],s=0;var f=0;var o=-1,c={};for(s=0;s!=n;++s){var h=e._R(4);var u=e._R(4);i[s]=[h,u+t]}i.sort(function(e,r){return e[1]-r[1]});var d={};for(s=0;s!=n;++s){if(e.l!==i[s][1]){var v=true;if(s>0&&r)switch(r[i[s-1][0]].t){case 2:if(e.l+2===i[s][1]){e.l+=2;v=false}break;case 80:if(e.l<=i[s][1]){e.l=i[s][1];v=false}break;case 4108:if(e.l<=i[s][1]){e.l=i[s][1];v=false}break;}if((!r||s==0)&&e.l<=i[s][1]){v=false;e.l=i[s][1]}if(v)throw new Error("Read Error: Expected address "+i[s][1]+" at "+e.l+" :"+s)}if(r){if(i[s][0]==0&&i.length>s+1&&i[s][1]==i[s+1][1])continue;var p=r[i[s][0]];d[p.n]=fs(e,p.t,{raw:true});if(p.p==="version")d[p.n]=String(d[p.n]>>16)+"."+("0000"+String(d[p.n]&65535)).slice(-4);if(p.n=="CodePage")switch(d[p.n]){case 0:d[p.n]=1252;case 874:;case 932:;case 936:;case 949:;case 950:;case 1250:;case 1251:;case 1253:;case 1254:;case 1255:;case 1256:;case 1257:;case 1258:;case 1e4:;case 1200:;case 1201:;case 1252:;case 65e3:;case-536:;case 65001:;case-535:l(f=d[p.n]>>>0&65535);break;default:throw new Error("Unsupported CodePage: "+d[p.n]);}}else{if(i[s][0]===1){f=d.CodePage=fs(e,$n);l(f);if(o!==-1){var m=e.l;e.l=i[o][1];c=ns(e,f);e.l=m}}else if(i[s][0]===0){if(f===0){o=s;e.l=i[s+1][1];continue}c=ns(e,f)}else{var g=c[i[s][0]];var b;switch(e[e.l]){case 65:e.l+=4;b=is(e);break;case 30:e.l+=4;b=qi(e,e[e.l-4]).replace(/(^|[^\u0000])\u0000+$/,"$1");break;case 31:e.l+=4;b=qi(e,e[e.l-4]).replace(/(^|[^\u0000])\u0000+$/,"$1");break;case 3:e.l+=4;b=e._R(4,"i");break;case 19:e.l+=4;b=e._R(4);break;case 5:e.l+=4;b=e._R(8,"f");break;case 11:e.l+=4;b=bs(e,4);break;case 64:e.l+=4;b=wr(ji(e));break;default:throw new Error("unparsed value: "+e[e.l]);}d[g]=b}}}e.l=t+a;return d}var cs=["CodePage","Thumbnail","_PID_LINKBASE","_PID_HLINKS","SystemIdentifier","FMTID"];function hs(e){switch(typeof e){case"boolean":return 11;case"number":return(e|0)==e?3:5;case"string":return 31;case"object":if(e instanceof Date)return 64;break;}return-1}function us(e,r,t){var a=Ra(8),n=[],i=[];var s=8,f=0;var l=Ra(8),o=Ra(8);l._W(4,2);l._W(4,1200);o._W(4,1);i.push(l);n.push(o);s+=8+l.length;if(!r){o=Ra(8);o._W(4,0);n.unshift(o);var c=[Ra(4)];c[0]._W(4,e.length);for(f=0;f-1||Pi.indexOf(e[f][0])>-1)continue;if(e[f][1]==null)continue;var u=e[f][1],d=0;if(r){d=+r[e[f][0]];var v=t[d];if(v.p=="version"&&typeof u=="string"){var p=u.split(".");u=(+p[0]<<16)+(+p[1]||0)}l=ls(v.t,u)}else{var m=hs(u);if(m==-1){m=31;u=String(u)}l=ls(m,u)}i.push(l);o=Ra(8);o._W(4,!r?2+f:d);n.push(o);s+=8+l.length}var g=8*(i.length+1);for(f=0;f=12?2:1);var i="sbcs-cont";var s=r;if(a&&a.biff>=8)r=1200;if(!a||a.biff==8){var f=e._R(1);if(f){i="dbcs-cont"}}else if(a.biff==12){i="wstr"}if(a.biff>=2&&a.biff<=5)i="cpstr";var l=n?e._R(n,i):"";r=s;return l}function _s(e){var t=r;r=1200;var a=e._R(2),n=e._R(1);var i=n&4,s=n&8;var f=1+(n&1);var l=0,o;var c={};if(s)l=e._R(2);if(i)o=e._R(4);var h=f==2?"dbcs-cont":"sbcs-cont";var u=a===0?"":e._R(a,h);if(s)e.l+=4*l;if(i)e.l+=o;c.t=u;if(!s){c.raw=""+c.t+"";c.r=c.t}r=t;return c}function Ss(e){var r=e.t||"",t=1;var a=Ra(3+(t>1?2:0));a._W(2,r.length);a._W(1,(t>1?8:0)|1);if(t>1)a._W(2,t);var n=Ra(2*r.length);n._W(2*r.length,r,"utf16le");var i=[a,n];return P(i)}function xs(e,r,t){var a;if(t){if(t.biff>=2&&t.biff<=5)return e._R(r,"cpstr");if(t.biff>=12)return e._R(r,"dbcs-cont")}var n=e._R(1);if(n===0){a=e._R(r,"sbcs-cont")}else{a=e._R(r,"dbcs-cont")}return a}function Os(e,r,t){var a=e._R(t&&t.biff==2?1:2);if(a===0){e.l++;return""}return xs(e,a,t)}function Is(e,r,t){if(t.biff>5)return Os(e,r,t);var a=e._R(1);if(a===0){e.l++;return""}return e._R(a,t.biff<=4||!e.lens?"cpstr":"sbcs-cont")}function Rs(e,r,t){if(!t)t=Ra(3+2*e.length);t._W(2,e.length);t._W(1,1);t._W(31,e,"utf16le");return t}function Ns(e){var r=e._R(1);e.l++;var t=e._R(2);e.l+=2;return[r,t]}function Fs(e){var r=e._R(4),t=e.l;var a=false;if(r>24){e.l+=r-24;if(e._R(16)==="795881f43b1d7f48af2c825dc4852763")a=true;e.l=t}var n=e._R((a?r-24:r)>>1,"utf16le").replace(M,"");if(a)e.l+=24;return n}function Ds(e){var r=e._R(2);var t="";while(r-- >0)t+="../";var a=e._R(0,"lpstr-ansi");e.l+=2;if(e._R(2)!=57005)throw new Error("Bad FileMoniker");var n=e._R(4);if(n===0)return t+a.replace(/\\/g,"/");var i=e._R(4);if(e._R(2)!=3)throw new Error("Bad FileMoniker");var s=e._R(i>>1,"utf16le").replace(M,"");return t+s}function Ps(e,r){var t=e._R(16);r-=16;switch(t){case"e0c9ea79f9bace118c8200aa004ba90b":return Fs(e,r);case"0303000000000000c000000000000046":return Ds(e,r);default:throw new Error("Unsupported Moniker "+t);}}function Ls(e){var r=e._R(4);var t=r>0?e._R(r,"utf16le").replace(M,""):"";return t}function Ms(e,r){if(!r)r=Ra(6+e.length*2);r._W(4,1+e.length);for(var t=0;t-1?31:23;switch(a.charAt(0)){case"#":i=28;break;case".":i&=~2;break;}r._W(4,2);r._W(4,i);var s=[8,6815827,6619237,4849780,83];for(t=0;t-1?a.slice(0,n):a;r._W(4,2*(f.length+1));for(t=0;t-1?a.slice(n+1):"",r)}else{s="03 03 00 00 00 00 00 00 c0 00 00 00 00 00 00 46".split(" ");for(t=0;t8?4:2;var n=e._R(a),i=e._R(a,"i"),s=e._R(a,"i");return[n,i,s]}function js(e){var r=e._R(2);var t=On(e);return[r,t]}function Ks(e,r,t){e.l+=4;r-=4;var a=e.l+r;var n=Cs(e,r,t);var i=e._R(2);a-=e.l;if(i!==a)throw new Error("Malformed AddinUdf: padding = "+a+" != "+i);e.l+=i;return n}function Ys(e){var r=e._R(2);var t=e._R(2);var a=e._R(2);var n=e._R(2);return{s:{c:a,r:r},e:{c:n,r:t}}}function Zs(e,r){if(!r)r=Ra(8);r._W(2,e.s.r);r._W(2,e.e.r);r._W(2,e.s.c);r._W(2,e.e.c);return r}function Js(e){var r=e._R(2);var t=e._R(2);var a=e._R(1);var n=e._R(1);return{s:{c:a,r:r},e:{c:n,r:t}}}var qs=Js;function Qs(e){e.l+=4;var r=e._R(2);var t=e._R(2);var a=e._R(2);e.l+=12;return[t,r,a]}function ef(e){var r={};e.l+=4;e.l+=16;r.fSharedNote=e._R(2);e.l+=4;return r}function rf(e){var r={};e.l+=4;e.cf=e._R(2);return r}function tf(e){e.l+=2;e.l+=e._R(2)}var af={0:tf,4:tf,5:tf,6:tf,7:rf,8:tf,9:tf,10:tf,11:tf,12:tf,13:ef,14:tf,15:tf,16:tf,17:tf,18:tf,19:tf,20:tf,21:Qs};function nf(e,r){var t=e.l+r;var a=[];while(e.l=2){t.dt=e._R(2);e.l-=2}switch(t.BIFFVer){case 1536:;case 1280:;case 1024:;case 768:;case 512:;case 2:;case 7:break;default:if(r>6)throw new Error("Unexpected BIFF Ver "+t.BIFFVer);}e._R(r);return t}function ff(e,r,t){var a=1536,n=16;switch(t.bookType){case"biff8":break;case"biff5":a=1280;n=8;break;case"biff4":a=4;n=6;break;case"biff3":a=3;n=6;break;case"biff2":a=2;n=4;break;case"xla":break;default:throw new Error("unsupported BIFF version");}var i=Ra(n);i._W(2,a);i._W(2,r);if(n>4)i._W(2,29282);if(n>6)i._W(2,1997);if(n>8){i._W(2,49161);i._W(2,1);i._W(2,1798);i._W(2,0)}return i}function lf(e,r){if(r===0)return 1200;if(e._R(2)!==1200){}return 1200}function of(e,r,t){if(t.enc){e.l+=r;return""}var a=e.l;var n=Is(e,0,t);e._R(r+a-e.l);return n}function cf(e,r){var t=!r||r.biff==8;var a=Ra(t?112:54);a._W(r.biff==8?2:1,7);if(t)a._W(1,0);a._W(4,859007059);a._W(4,5458548|(t?0:536870912));while(a.l=8?2:1;var a=Ra(8+t*e.name.length);a._W(4,e.pos);a._W(1,e.hs||0);a._W(1,e.dt);a._W(1,e.name.length);if(r.biff>=8)a._W(1,1);a._W(t*e.name.length,e.name,r.biff<8?"sbcs":"utf16le");var n=a.slice(0,a.l);n.l=a.l;return n}function vf(e,r){var t=e.l+r;var a=e._R(4);var n=e._R(4);var i=[];for(var s=0;s!=n&&e.l>15);n&=32767}var i={Unsynced:a&1,DyZero:(a&2)>>1,ExAsc:(a&4)>>2,ExDsc:(a&8)>>3};return[i,n]}function Af(e){var r=e._R(2),t=e._R(2),a=e._R(2),n=e._R(2);var i=e._R(2),s=e._R(2),f=e._R(2);var l=e._R(2),o=e._R(2);return{Pos:[r,t],Dim:[a,n],Flags:i,CurTab:s,FirstTab:f,Selected:l,TabRatio:o}}function Tf(){var e=Ra(18);e._W(2,0);e._W(2,0);e._W(2,29280);e._W(2,17600);e._W(2,56);e._W(2,0);e._W(2,0);e._W(2,1);e._W(2,500);return e}function yf(e,r,t){if(t&&t.biff>=2&&t.biff<5)return{};var a=e._R(2);return{RTL:a&64}}function Ef(e){var r=Ra(18),t=1718;if(e&&e.RTL)t|=64;r._W(2,t);r._W(4,0);r._W(4,64);r._W(4,0);r._W(4,0);return r}function Cf(){}function _f(e,r,t){var a={dyHeight:e._R(2),fl:e._R(2)};switch(t&&t.biff||8){case 2:break;case 3:;case 4:e.l+=2;break;default:e.l+=10;break;}a.name=Cs(e,0,t);return a}function Sf(e,r){var t=e.name||"Arial";var a=r&&r.biff==5,n=a?15+t.length:16+2*t.length;var i=Ra(n);i._W(2,(e.sz||12)*20);i._W(4,0);i._W(2,400);i._W(4,0);i._W(2,0);i._W(1,t.length);if(!a)i._W(1,1);i._W((a?1:2)*t.length,t,a?"sbcs":"utf16le");return i}function xf(e,r,t){var a=Hs(e,r,t);a.isst=e._R(4);return a}function Of(e,r,t,a){var n=Ra(10);Vs(e,r,a,n);n._W(4,t);return n}function If(e,r,t){if(t.biffguess&&t.biff==2)t.biff=5;var a=e.l+r;var n=Hs(e,r,t);var i=Os(e,a-e.l,t);n.val=i;return n}function Rf(e,r,t,a,n){var i=!n||n.biff==8;var s=Ra(6+2+ +i+(1+i)*t.length);Vs(e,r,a,s);s._W(2,t.length);if(i)s._W(1,1);s._W((1+i)*t.length,t,i?"utf16le":"sbcs");return s}function Nf(e,r,t){var a=e._R(2);var n=Is(e,0,t);return[a,n]}function Ff(e,r,t,a){var n=t&&t.biff==5;if(!a)a=Ra(n?3+r.length:5+2*r.length);a._W(2,e);a._W(n?1:2,r.length);if(!n)a._W(1,1);a._W((n?1:2)*r.length,r,n?"sbcs":"utf16le");var i=a.length>a.l?a.slice(0,a.l):a;if(i.l==null)i.l=i.length;return i}var Df=Is;function Pf(e){var r=Ra(1+e.length);r._W(1,e.length);r._W(e.length,e,"sbcs");return r}function Lf(e){var r=Ra(3+e.length);r.l+=2;r._W(1,e.length);r._W(e.length,e,"sbcs");return r}function Mf(e,r,t){var a=e.l+r;var n=t.biff==8||!t.biff?4:2;var i=e._R(n),s=e._R(n);var f=e._R(2),l=e._R(2);e.l=a;return{s:{r:i,c:f},e:{r:s,c:l}}}function Uf(e,r){var t=r.biff==8||!r.biff?4:2;var a=Ra(2*t+6);a._W(t,e.s.r);a._W(t,e.e.r+1);a._W(2,e.s.c);a._W(2,e.e.c+1);a._W(2,0);return a}function Bf(e){var r=e._R(2),t=e._R(2);var a=js(e);return{r:r,c:t,ixfe:a[0],rknum:a[1]}}function Wf(e,r){var t=e.l+r-2;var a=e._R(2),n=e._R(2);var i=[];while(e.l>26];if(!a.cellStyles)return n;n.alc=i&7;n.fWrap=i>>3&1;n.alcV=i>>4&7;n.fJustLast=i>>7&1;n.trot=i>>8&255;n.cIndent=i>>16&15;n.fShrinkToFit=i>>20&1;n.iReadOrder=i>>22&2;n.fAtrNum=i>>26&1;n.fAtrFnt=i>>27&1;n.fAtrAlc=i>>28&1;n.fAtrBdr=i>>29&1;n.fAtrPat=i>>30&1;n.fAtrProt=i>>31&1;n.dgLeft=s&15;n.dgRight=s>>4&15;n.dgTop=s>>8&15;n.dgBottom=s>>12&15;n.icvLeft=s>>16&127;n.icvRight=s>>23&127;n.grbitDiag=s>>30&3;n.icvTop=f&127;n.icvBottom=f>>7&127;n.icvDiag=f>>14&127;n.dgDiag=f>>21&15;n.icvFore=l&127;n.icvBack=l>>7&127;n.fsxButton=l>>14&1;return n}function Vf(e,r,t){var a={};a.ifnt=e._R(2);a.numFmtId=e._R(2);a.flags=e._R(2);a.fStyle=a.flags>>2&1;r-=6;a.data=Hf(e,r,a.fStyle,t);return a}function $f(e,r,t,a){var n=t&&t.biff==5;if(!a)a=Ra(n?16:20);a._W(2,0);if(e.style){a._W(2,e.numFmtId||0);a._W(2,65524)}else{a._W(2,e.numFmtId||0);a._W(2,r<<4)}var i=0;if(e.numFmtId>0&&n)i|=1024;a._W(4,i);a._W(4,0);if(!n)a._W(4,0);a._W(2,0);return a}function Xf(e){var r={};r.ifnt=e._R(1);e.l++;r.flags=e._R(1);r.numFmtId=r.flags&63;r.flags>>=6;r.fStyle=0;r.data={};return r}function Gf(e){var r=Ra(4);r.l+=2;r._W(1,e.numFmtId);r.l++;return r}function jf(e){var r=Ra(12);r.l++;r._W(1,e.numFmtId);r.l+=10;return r}var Kf=jf;function Yf(e){var r={};r.ifnt=e._R(1);r.numFmtId=e._R(1);r.flags=e._R(2);r.fStyle=r.flags>>2&1;r.data={}; +return r}function Zf(e){var r={};r.ifnt=e._R(1);r.numFmtId=e._R(1);r.flags=e._R(2);r.fStyle=r.flags>>2&1;r.data={};return r}function Jf(e){e.l+=4;var r=[e._R(2),e._R(2)];if(r[0]!==0)r[0]--;if(r[1]!==0)r[1]--;if(r[0]>7||r[1]>7)throw new Error("Bad Gutters: "+r.join("|"));return r}function qf(e){var r=Ra(8);r._W(4,0);r._W(2,e[0]?e[0]+1:0);r._W(2,e[1]?e[1]+1:0);return r}function Qf(e,r,t){var a=Hs(e,6,t);var n=ys(e,2);a.val=n;a.t=n===true||n===false?"b":"e";return a}function el(e,r,t,a,n,i){var s=Ra(8);Vs(e,r,a,s);Es(t,i,s);return s}function rl(e,r,t){if(t.biffguess&&t.biff==2)t.biff=5;var a=Hs(e,6,t);var n=Pn(e,8);a.val=n;return a}function tl(e,r,t,a){var n=Ra(14);Vs(e,r,a,n);Ln(t,n);return n}var al=Xs;function nl(e,r,t){var a=e.l+r;var n=e._R(2);var i=e._R(2);t.sbcch=i;if(i==1025||i==14849)return[i,n];if(i<1||i>255)throw new Error("Unexpected SupBook type: "+i);var s=xs(e,i);var f=[];while(a>e.l)f.push(Os(e));return[i,n,s,f]}function il(e,r,t){var a=e._R(2);var n;var i={fBuiltIn:a&1,fWantAdvise:a>>>1&1,fWantPict:a>>>2&1,fOle:a>>>3&1,fOleLink:a>>>4&1,cf:a>>>5&1023,fIcon:a>>>15&1};if(t.sbcch===14849)n=Ks(e,r-2,t);i.body=n||e._R(r-2);if(typeof n==="string")i.Name=n;return i}function sl(e,r,t){var a=e.l+r;var n=e._R(2);var i=e._R(1);var s=e._R(1);var f=e._R(t&&t.biff==2?1:2);var l=0;if(!t||t.biff>=5){if(t.biff!=5)e.l+=2;l=e._R(2);if(t.biff==5)e.l+=2;e.l+=4}var o=xs(e,s,t);if(n&32)o=ui[o.charCodeAt(0)];var c=a-e.l;if(t&&t.biff==2)--c;var h=a==e.l||f===0||!(c>0)?[]:Wd(e,c,t,f);return{chKey:i,Name:o,itab:l,rgce:h}}function fl(e,r,t){if(t.biff<8)return ll(e,r,t);if(!(t.biff>8)&&r==e[e.l]+(e[e.l+1]==3?1:0)+1)return ll(e,r,t);var a=[],n=e.l+r,i=e._R(t.biff>8?4:2);while(i--!==0)a.push(Gs(e,t.biff>8?12:6,t));if(e.l!=n)throw new Error("Bad ExternSheet: "+e.l+" != "+n);return a}function ll(e,r,t){if(e[e.l+1]==3)e[e.l]++;var a=Cs(e,r,t);return a.charCodeAt(0)==3?a.slice(1):a}function ol(e,r,t){if(t.biff<8){e.l+=r;return}var a=e._R(2);var n=e._R(2);var i=xs(e,a,t);var s=xs(e,n,t);return[i,s]}function cl(e,r,t){var a=Js(e,6);e.l++;var n=e._R(1);r-=8;return[zd(e,r,t),n,a]}function hl(e,r,t){var a=qs(e,6);switch(t.biff){case 2:e.l++;r-=7;break;case 3:;case 4:e.l+=2;r-=8;break;default:e.l+=6;r-=12;}return[a,Ud(e,r,t,a)]}function ul(e){var r=e._R(4)!==0;var t=e._R(4)!==0;var a=e._R(4);return[r,t,a]}function dl(e,r,t){var a=e._R(2),n=e._R(2);var i=e._R(2),s=e._R(2);var f=Is(e,0,t);return[{r:a,c:n},f,s,i]}function vl(e,r,t){if(t&&t.biff<8){var a=e._R(2),n=e._R(2);if(a==65535||a==-1)return;var i=e._R(2);var s=e._R(Math.min(i,2048),"cpstr");return[{r:a,c:n},s]}return dl(e,r,t)}function pl(e,r,t,a){var n=Ra(6+(a||e.length));n._W(2,r);n._W(2,t);n._W(2,a||e.length);n._W(e.length,e,"sbcs");return n}function ml(e,r){var t=[];var a=e._R(2);while(a--)t.push(Ys(e,r));return t}function gl(e){var r=Ra(2+e.length*8);r._W(2,e.length);for(var t=0;t=(c?f:2*f))break}if(n.length!==f&&n.length!==f*2){throw new Error("cchText: "+f+" != "+n.length)}e.l=a+r;return{t:n}}catch(u){e.l=a+r;return{t:n}}}function Tl(e,r){var t=Ys(e,8);e.l+=16;var a=Us(e,r-24);return[t,a]}function yl(e){var r=Ra(24);var t=Ka(e[0]);r._W(2,t.r);r._W(2,t.r);r._W(2,t.c);r._W(2,t.c);var a="d0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b".split(" ");for(var n=0;n<16;++n)r._W(1,parseInt(a[n],16));return P([r,Bs(e[1])])}function El(e,r){e._R(2);var t=Ys(e,8);var a=e._R((r-10)/2,"dbcs-cont");a=a.replace(M,"");return[t,a]}function Cl(e){var r=e[1].Tooltip;var t=Ra(10+2*(r.length+1));t._W(2,2048);var a=Ka(e[0]);t._W(2,a.r);t._W(2,a.r);t._W(2,a.c);t._W(2,a.c);for(var n=0;n0)t.push(zs(e,8));return t}function Ol(e){var r=e._R(2);var t=[];while(r-- >0)t.push(zs(e,8));return t}function Il(e){e.l+=2;var r={cxfs:0,crc:0};r.cxfs=e._R(2);r.crc=e._R(4);return r}function Rl(e,r,t){if(!t.cellStyles)return Ia(e,r);var a=t&&t.biff>=12?4:2;var n=e._R(a);var i=e._R(a);var s=e._R(a);var f=e._R(a);var l=e._R(2);if(a==2)e.l+=2;var o={s:n,e:i,w:s,ixfe:f,flags:l};if(t.biff>=5||!t.biff)o.level=l>>8&7;return o}function Nl(e,r){var t=Ra(12);t._W(2,r);t._W(2,r);t._W(2,e.width*256);t._W(2,0);var a=0;if(e.hidden)a|=1;t._W(1,a);a=e.level||0;t._W(1,a);t._W(2,0);return t}function Fl(e,r){var t={};if(r<32)return t;e.l+=16;t.header=Pn(e,8);t.footer=Pn(e,8);e.l+=2;return t}function Dl(e,r,t){var a={area:false};if(t.biff!=5){e.l+=r;return a}var n=e._R(1);e.l+=3;if(n&16)a.area=true;return a}function Pl(e){var r=Ra(2*e);for(var t=0;t1048576)c=1e6;if(s!=2)h=i._R(2);var u=i._R(2);var d=t.codepage||1252;if(s!=2){i.l+=16;i._R(1);if(i[i.l]!==0)d=e[i[i.l]];i.l+=1;i.l+=2}if(o)i.l+=36;var v=[],p={};var m=Math.min(i.length,s==2?521:h-10-(l?264:0));var g=o?32:11;while(i.l0){if(i[i.l]===42){i.l+=u;continue}++i.l;n[++b]=[];w=0;for(w=0;w!=v.length;++w){var k=i.slice(i.l,i.l+v[w].len);i.l+=v[w].len;Oa(k,0);var A=typeof a!=="undefined"?a.utils.decode(d,k):N(k);switch(v[w].type){case"C":if(A.trim().length)n[b][w]=A.replace(/([^\s])\s+$/,"$1");break;case"D":if(A.length===8){n[b][w]=new Date(Date.UTC(+A.slice(0,4),+A.slice(4,6)-1,+A.slice(6,8),0,0,0,0));if(!(t&&t.UTC)){n[b][w]=Fr(n[b][w])}}else n[b][w]=A;break;case"F":n[b][w]=parseFloat(A.trim());break;case"+":;case"I":n[b][w]=o?k._R(-4,"i")^2147483648:k._R(4,"i");break;case"L":switch(A.trim().toUpperCase()){case"Y":;case"T":n[b][w]=true;break;case"N":;case"F":n[b][w]=false;break;case"":;case"\0":;case"?":break;default:throw new Error("DBF Unrecognized L:|"+A+"|");}break;case"M":if(!f)throw new Error("DBF Unexpected MEMO for type "+s.toString(16));n[b][w]="##MEMO##"+(o?parseInt(A.trim(),10):k._R(4));break;case"N":A=A.replace(/\u0000/g,"").trim();if(A&&A!=".")n[b][w]=+A||0;break;case"@":n[b][w]=new Date(k._R(-8,"f")-621356832e5);break;case"T":{var T=k._R(4),y=k._R(4);if(T==0&&y==0)break;n[b][w]=new Date((T-2440588)*864e5+y);if(!(t&&t.UTC))n[b][w]=Fr(n[b][w])}break;case"Y":n[b][w]=k._R(4,"i")/1e4+k._R(4,"i")/1e4*Math.pow(2,32);break;case"O":n[b][w]=-k._R(-8,"f");break;case"B":if(l&&v[w].len==8){n[b][w]=k._R(8,"f");break};case"G":;case"P":k.l+=v[w].len;break;case"0":if(v[w].name==="_NullFlags")break;default:throw new Error("DBF Unsupported data type "+v[w].type);}}}if(s!=2)if(i.l=0)l(+f.codepage);if(f.type=="string")throw new Error("Cannot write DBF to JS string");var h=Fa();var u=Dk(i,{header:1,raw:true,cellDates:true});var d=u[0],v=u.slice(1),p=i["!cols"]||[];var m=0,g=0,b=0,w=1;for(m=0;m250)_=250;C=((p[m]||{}).DBF||{}).type;if(C=="C"){if(p[m].DBF.len>_)_=p[m].DBF.len}if(E=="B"&&C=="N"){E="N";y[m]=p[m].DBF.dec;_=p[m].DBF.len}T[m]=E=="C"||C=="N"?_:o[E]||0;w+=T[m];A[m]=E}var x=h.next(32);x._W(4,318902576);x._W(4,v.length);x._W(2,296+32*b);x._W(2,w);for(m=0;m<4;++m)x._W(4,0);var O=+n[r]||3;x._W(4,0|O<<8);if(e[O]!=+f.codepage){if(f.codepage)console.error("DBF Unsupported codepage "+r+", using 1252");r=1252}for(m=0,g=0;mT[g])D=D.slice(0,T[g]);for(b=0;b":190,"?":191,"{":223};var r=new RegExp("N("+ir(e).join("|").replace(/\|\|\|/,"|\\||").replace(/([?()+])/g,"\\$1").replace("{","\\{")+"|\\|)","gm");try{r=new RegExp("N("+ir(e).join("|").replace(/\|\|\|/,"|\\||").replace(/([?()+])/g,"\\$1")+"|\\|)","gm")}catch(t){}var n=function(r,t){var a=e[t];return typeof a=="number"?m(a):a};var i=function(e,r,t){var a=r.charCodeAt(0)-32<<4|t.charCodeAt(0)-48;return a==59?e:m(a)};e["|"]=254;var s=function(e){return e.replace(/\n/g," :").replace(/\r/g," =")};function f(e,r){switch(r.type){case"base64":return o(E(e),r);case"binary":return o(e,r);case"buffer":return o(C&&Buffer.isBuffer(e)?e.toString("binary"):N(e),r);case"array":return o(kr(e),r);}throw new Error("Unrecognized type "+r.type)}function o(e,t){var s=e.split(/[\n\r]+/),f=-1,o=-1,c=0,h=0,u=[];var d=[];var v=null;var p={},m=[],g=[],b=[];var w=0,k;var A={Workbook:{WBProps:{},Names:[]}};if(+t.codepage>=0)l(+t.codepage);for(;c!==s.length;++c){w=0;var T=s[c].trim().replace(/\x1B([\x20-\x2F])([\x30-\x3F])/g,i).replace(r,n);var y=T.replace(/;;/g,"\0").split(";").map(function(e){return e.replace(/\u0000/g,";")});var E=y[0],C;if(T.length>0)switch(E){case"ID":break;case"E":break;case"B":break;case"O":for(h=1;h=1&&_<=4)A.Workbook.WBProps.date1904=true}break;}break;case"W":break;case"P":switch(y[1].charAt(0)){case"P":d.push(T.slice(3).replace(/;;/g,";"));break;}break;case"NN":{var S={Sheet:0};for(h=1;h-1&&u[N][F];if(!M||!M[1])throw new Error("SYLK shared formula cannot find base");D=iu(M[1],{r:f-N,c:o-F})}if(D){if(!u[f][o])u[f][o]={t:"n",f:D};else u[f][o].f=D}if(L){if(!u[f][o])u[f][o]={t:"z"};u[f][o].c=[{a:"SheetJSYLK",t:L}]}break;case"F":var U=0;for(h=1;h0){m[f].hpt=w;m[f].hpx=dc(w)}else if(w===0)m[f].hidden=true;break;default:if(t&&t.WTF)throw new Error("SYLK bad record "+T);}if(U<1)v=null;break;default:if(t&&t.WTF)throw new Error("SYLK bad record "+T);}}if(m.length>0)p["!rows"]=m;if(g.length>0)p["!cols"]=g;g.forEach(function(e){oc(e)});if(t&&t.sheetRows)u=u.slice(0,t.sheetRows);return[u,p,A]}function c(e,r){var t=f(e,r);var a=t[0],n=t[1],i=t[2];var s=Ar(r);s.date1904=(((i||{}).Workbook||{}).WBProps||{}).date1904;var l=fn(a,s);ir(n).forEach(function(e){l[e]=n[e]});var o=an(l,r);ir(i).forEach(function(e){o[e]=i[e]});o.bookType="sylk";return o}function h(e,r,t,a,n,i){var s="C;Y"+(t+1)+";X"+(a+1)+";K";switch(e.t){case"n":s+=isFinite(e.v)?e.v||0:ci[isNaN(e.v)?36:7];if(e.f&&!e.F)s+=";E"+nu(e.f,{r:t,c:a});break;case"b":s+=e.v?"TRUE":"FALSE";break;case"e":s+=e.w||ci[e.v]||e.v;break;case"d":s+=dr(wr(e.v,i),i);break;case"s":s+='"'+(e.v==null?"":String(e.v)).replace(/"/g,"").replace(/;/g,";;")+'"';break;}return s}function u(e,r,t){var a="C;Y"+(r+1)+";X"+(t+1)+";A";a+=s(e.map(function(e){return e.t}).join(""));return a}function d(e,r){r.forEach(function(r,t){var a="F;W"+(t+1)+" "+(t+1)+" ";if(r.hidden)a+="0";else{if(typeof r.width=="number"&&!r.wpx)r.wpx=nc(r.width);if(typeof r.wpx=="number"&&!r.wch)r.wch=ic(r.wpx);if(typeof r.wch=="number")a+=Math.round(r.wch)}if(a.charAt(a.length-1)!=" ")e.push(a)})}function v(e,r){r.forEach(function(r,t){var a="F;";if(r.hidden)a+="M0;";else if(r.hpt)a+="M"+20*r.hpt+";";else if(r.hpx)a+="M"+20*uc(r.hpx)+";";if(a.length>2)e.push(a+"R"+(t+1))})}function p(e,r,t){if(!r)r={};r._formats=["General"];var a=["ID;PSheetJS;N;E"],n=[];var i=en(e["!ref"]||"A1"),s;var f=e["!data"]!=null;var l="\r\n";var o=(((t||{}).Workbook||{}).WBProps||{}).date1904;var c="General";a.push("P;PGeneral");var p=i.s.r,m=i.s.c,g=[];if(e["!ref"])for(p=i.s.r;p<=i.e.r;++p){if(f&&!e["!data"][p])continue;g=[];for(m=i.s.c;m<=i.e.c;++m){s=f?e["!data"][p][m]:e[$a(m)+Wa(p)];if(!s||!s.c)continue;g.push(u(s.c,p,m))}if(g.length)n.push(g.join(l))}if(e["!ref"])for(p=i.s.r;p<=i.e.r;++p){if(f&&!e["!data"][p])continue;g=[];for(m=i.s.c;m<=i.e.c;++m){s=f?e["!data"][p][m]:e[$a(m)+Wa(p)];if(!s||s.v==null&&(!s.f||s.F))continue;if((s.z||(s.t=="d"?q[14]:"General"))!=c){var b=r._formats.indexOf(s.z);if(b==-1){r._formats.push(s.z);b=r._formats.length-1;a.push("P;P"+s.z.replace(/;/g,";;"))}g.push("F;P"+b+";Y"+(p+1)+";X"+(m+1))}g.push(h(s,e,p,m,r,o))}n.push(g.join(l))}a.push("F;P0;DG0G8;M255");if(e["!cols"])d(a,e["!cols"]);if(e["!rows"])v(a,e["!rows"]);if(e["!ref"])a.push("B;Y"+(i.e.r-i.s.r+1)+";X"+(i.e.c-i.s.c+1)+";D"+[i.s.c,i.s.r,i.e.c,i.e.r].join(" "));a.push("O;L;D;B"+(o?";V4":"")+";K47;G100 0.001");delete r._formats;return a.join(l)+l+n.join(l)+l+"E"+l}return{to_workbook:c,from_sheet:p}}();var eo=function(){function e(e,t){switch(t.type){case"base64":return r(E(e),t);case"binary":return r(e,t);case"buffer":return r(C&&Buffer.isBuffer(e)?e.toString("binary"):N(e),t);case"array":return r(kr(e),t);}throw new Error("Unrecognized type "+t.type)}function r(e,r){var t=e.split("\n"),a=-1,n=-1,i=0,s=[];for(;i!==t.length;++i){if(t[i].trim()==="BOT"){s[++a]=[];n=0;continue}if(a<0)continue;var f=t[i].trim().split(",");var l=f[0],o=f[1];++i;var c=t[i]||"";while((c.match(/["]/g)||[]).length&1&&i=0&&i[s].length===0)--s;var f=10,l=0;var o=0;for(;o<=s;++o){l=i[o].indexOf(" ");if(l==-1)l=i[o].length;else l++;f=Math.max(f,l)}for(o=0;o<=s;++o){n[o]=[];var c=0;e(i[o].slice(0,f).trim(),n,o,c,a);for(c=1;c<=(i[o].length-f)/10+1;++c)e(i[o].slice(f+(c-1)*10,f+c*10).trim(),n,o,c,a)}if(a.sheetRows)n=n.slice(0,a.sheetRows);return n}var t={44:",",9:"\t",59:";",124:"|"};var n={44:3,9:2,59:1,124:0};function i(e){var r={},a=false,i=0,s=0;for(;i0)g();n["!ref"]=Ja(s);return n}function f(e,t){if(!(t&&t.PRN))return s(e,t);if(t.FS)return s(e,t);if(e.slice(0,4)=="sep=")return s(e,t);if(e.indexOf("\t")>=0||e.indexOf(",")>=0||e.indexOf(";")>=0)return s(e,t);return fn(r(e,t),t)}function l(e,r){var t="",n=r.type=="string"?[0,0,0,0]:lk(e,r);switch(r.type){case"base64":t=E(e);break;case"binary":t=e;break;case"buffer":if(r.codepage==65001)t=e.toString("utf8");else if(r.codepage&&typeof a!=="undefined")t=a.utils.decode(r.codepage,e);else t=C&&Buffer.isBuffer(e)?e.toString("binary"):N(e);break;case"array":t=kr(e);break;case"string":t=e;break;default:throw new Error("Unrecognized type "+r.type);}if(n[0]==239&&n[1]==187&&n[2]==191)t=It(t.slice(3));else if(r.type!="string"&&r.type!="buffer"&&r.codepage==65001)t=It(t);else if(r.type=="binary"&&typeof a!=="undefined"&&r.codepage)t=a.utils.decode(r.codepage,a.utils.encode(28591,t));if(t.slice(0,19)=="socialcalc:version:")return ro.to_sheet(r.type=="string"?t:It(t),r);return f(t,r)}function o(e,r){return an(l(e,r),r)}function c(e){var r=[];if(!e["!ref"])return"";var t=en(e["!ref"]),a;var n=e["!data"]!=null;for(var i=t.s.r;i<=t.e.r;++i){var s=[];for(var f=t.s.c;f<=t.e.c;++f){var l=Ya({r:i,c:f});a=n?(e["!data"][i]||[])[f]:e[l];if(!a||a.v==null){s.push(" ");continue}var o=(a.w||(tn(a),a.w)||"").slice(0,10);while(o.length<10)o+=" ";s.push(o+(f===0?" ":""))}r.push(s.join(""))}return r.join("\n")}return{to_workbook:o,to_sheet:l,from_sheet:c}}();function ao(e,r){var t=r||{},a=!!t.WTF;t.WTF=true;try{var n=Ql.to_workbook(e,t);t.WTF=a;return n}catch(i){t.WTF=a;if(i.message.indexOf("SYLK bad record ID")==-1&&a)throw i;return to.to_workbook(e,r)}}var no=function(){function e(e,r,t){if(!e)return;Oa(e,e.l||0);var a=t.Enum||V;while(e.l=16&&r[14]==5&&r[15]===108)throw new Error("Unsupported Works 3 for Mac file")}}if(r[2]==2){n.Enum=V;e(r,function(e,r,a){switch(a){case 0:n.vers=e;if(e>=4096)n.qpro=true;break;case 255:n.vers=e;n.works=true;break;case 6:d=e;break;case 204:if(e)f=e;break;case 222:f=e;break;case 15:;case 51:if((!n.qpro&&!n.works||a==51)&&e[1].v.charCodeAt(0)<48)e[1].v=e[1].v.slice(1);if(n.works||n.works2)e[1].v=e[1].v.replace(/\r\n/g,"\n");case 13:;case 14:;case 16:if((e[2]&112)==112&&(e[2]&15)>1&&(e[2]&15)<15){e[1].z=n.dateNF||t[(e[2]&15)-1]||q[14];if(n.cellDates){e[1].v=vr(e[1].v);e[1].t=typeof e[1].v=="number"?"n":"d"}}if(n.qpro){if(e[3]>l){i["!ref"]=Ja(d);o[s]=i;c.push(s);i={};if(n.dense)u=i["!data"]=[];d={s:{r:0,c:0},e:{r:0,c:0}};l=e[3];s=f||"Sheet"+(l+1);f=""}}var h=n.dense?(u[e[0].r]||[])[e[0].c]:i[Ya(e[0])];if(h){h.t=e[1].t;h.v=e[1].v;if(e[1].z!=null)h.z=e[1].z;if(e[1].f!=null)h.f=e[1].f;p=h;break}if(n.dense){if(!u[e[0].r])u[e[0].r]=[];u[e[0].r][e[0].c]=e[1]}else i[Ya(e[0])]=e[1];p=e[1];break;case 21509:n.works2=true;break;case 21506:{if(e==5281){p.z="hh:mm:ss";if(n.cellDates&&p.t=="n"){p.v=vr(p.v);p.t=typeof p.v=="number"?"n":"d"}}}break;}},n)}else if(r[2]==26||r[2]==14){n.Enum=$;if(r[2]==14){n.qpro=true;r.l=0}e(r,function(e,r,t){switch(t){case 204:s=e;break;case 22:if(e[1].v.charCodeAt(0)<48)e[1].v=e[1].v.slice(1);e[1].v=e[1].v.replace(/\x0F./g,function(e){return String.fromCharCode(e.charCodeAt(1)-32)}).replace(/\r\n/g,"\n");case 23:;case 24:;case 25:;case 37:;case 39:;case 40:if(e[3]>l){i["!ref"]=Ja(d);o[s]=i;c.push(s);i={};if(n.dense)u=i["!data"]=[];d={s:{r:0,c:0},e:{r:0,c:0}};l=e[3];s="Sheet"+(l+1)}if(v>0&&e[0].r>=v)break;if(n.dense){if(!u[e[0].r])u[e[0].r]=[];u[e[0].r][e[0].c]=e[1]}else i[Ya(e[0])]=e[1];if(d.e.c=0)l(+t.codepage);if(t.type=="string")throw new Error("Cannot write WK1 to JS string");var a=Fa();if(!e["!ref"])throw new Error("Cannot export empty sheet to WK1");var n=en(e["!ref"]);var i=e["!data"]!=null;var f=[];qg(a,0,s(1030));qg(a,6,c(n));var o=Math.min(n.e.r,8191);for(var h=n.s.c;h<=n.e.c;++h)f[h]=$a(h);for(var u=n.s.r;u<=o;++u){var d=Wa(u);for(h=n.s.c;h<=n.e.c;++h){var p=i?(e["!data"][u]||[])[h]:e[f[h]+d];if(!p||p.t=="z")continue;switch(p.t){case"n":if((p.v|0)==p.v&&p.v>=-32768&&p.v<=32767)qg(a,13,g(u,h,p));else qg(a,14,k(u,h,p));break;case"d":var m=dr(p.v);if((m|0)==m&&m>=-32768&&m<=32767)qg(a,13,g(u,h,{t:"n",v:m,z:p.z||q[14]}));else qg(a,14,k(u,h,{t:"n",v:m,z:p.z||q[14]}));break;default:var b=tn(p);qg(a,15,v(u,h,b.slice(0,239)));}}}qg(a,1);return a.end()}function i(e,r){var t=r||{};if(+t.codepage>=0)l(+t.codepage);if(t.type=="string")throw new Error("Cannot write WK3 to JS string");var a=Fa();qg(a,0,f(e));for(var n=0,i=0;n8191)t=8191;r._W(2,t);r._W(1,n);r._W(1,a);r._W(2,0);r._W(2,0);r._W(1,1);r._W(1,2);r._W(4,0);r._W(4,0);return r}function o(e,r,t){var a={s:{c:0,r:0},e:{c:0,r:0}};if(r==8&&t.qpro){a.s.c=e._R(1);e.l++;a.s.r=e._R(2);a.e.c=e._R(1);e.l++;a.e.r=e._R(2);return a}a.s.c=e._R(2);a.s.r=e._R(2);if(r==12&&t.qpro)e.l+=2;a.e.c=e._R(2);a.e.r=e._R(2);if(r==12&&t.qpro)e.l+=2;if(a.s.c==65535)a.s.c=a.e.c=a.s.r=a.e.r=0;return a}function c(e){var r=Ra(8);r._W(2,e.s.c);r._W(2,e.s.r);r._W(2,e.e.c);r._W(2,e.e.r);return r}function h(e,r,t){var a=[{c:0,r:0},{t:"n",v:0},0,0];if(t.qpro&&t.vers!=20768){a[0].c=e._R(1);a[3]=e._R(1);a[0].r=e._R(2);e.l+=2}else if(t.works){a[0].c=e._R(2);a[0].r=e._R(2);a[2]=e._R(2)}else{a[2]=e._R(1);a[0].c=e._R(2);a[0].r=e._R(2)}return a}function u(e){if(e.z&&Le(e.z)){return 240|(t.indexOf(e.z)+1||2)}return 255}function d(e,r,t){var a=e.l+r;var n=h(e,r,t);n[1].t="s";if((t.vers&65534)==20768){e.l++;var i=e._R(1);n[1].v=e._R(i,"utf8");return n}if(t.qpro)e.l++;n[1].v=e._R(a-e.l,"cstr");return n}function v(e,r,t){var a=Ra(7+t.length);a._W(1,255);a._W(2,r);a._W(2,e);a._W(1,39);for(var n=0;n=128?95:i)}a._W(1,0);return a}function p(e,r,t){var a=e.l+r;var n=h(e,r,t);n[1].t="s";if(t.vers==20768){var i=e._R(1);n[1].v=e._R(i,"utf8");return n}n[1].v=e._R(a-e.l,"cstr");return n}function m(e,r,t){var a=h(e,r,t);a[1].v=e._R(2,"i");return a}function g(e,r,t){var a=Ra(7);a._W(1,u(t));a._W(2,r);a._W(2,e);a._W(2,t.v,"i");return a}function w(e,r,t){var a=h(e,r,t);a[1].v=e._R(8,"f");return a}function k(e,r,t){var a=Ra(13);a._W(1,u(t));a._W(2,r);a._W(2,e);a._W(8,t.v,"f");return a}function A(e,r,t){var a=e.l+r;var n=h(e,r,t);n[1].v=e._R(8,"f");if(t.qpro)e.l=a;else{var i=e._R(2);_(e.slice(e.l,e.l+i),n);e.l+=i}return n}function T(e,r,t){var a=r&32768;r&=~32768;r=(a?e:0)+(r>=8192?r-16384:r);return(a?"":"$")+(t?$a(r):Wa(r))}var y={31:["NA",0],33:["ABS",1],34:["TRUNC",1],35:["SQRT",1],36:["LOG",1],37:["LN",1],38:["PI",0],39:["SIN",1],40:["COS",1],41:["TAN",1],42:["ATAN2",2],43:["ATAN",1],44:["ASIN",1],45:["ACOS",1],46:["EXP",1],47:["MOD",2],49:["ISNA",1],50:["ISERR",1],51:["FALSE",0],52:["TRUE",0],53:["RAND",0],54:["DATE",3],63:["ROUND",2],64:["TIME",3],68:["ISNUMBER",1],69:["ISTEXT",1],70:["LEN",1],71:["VALUE",1],73:["MID",3],74:["CHAR",1],80:["SUM",69],81:["AVERAGEA",69],82:["COUNTA",69],83:["MINA",69],84:["MAXA",69],102:["UPPER",1],103:["LOWER",1],107:["PROPER",1],109:["TRIM",1],111:["T",1]};var C=["","","","","","","","","","+","-","*","/","^","=","<>","<=",">=","<",">","","","","","&","","","","","","",""];function _(e,r){Oa(e,0);var t=[],a=0,n="",i="",s="",f="";while(e.lt.length){console.error("WK1 bad formula parse 0x"+l.toString(16)+":|"+t.join("|")+"|");return}var u=t.slice(-a);t.length-=a;t.push(y[l][0]+"("+u.join(",")+")")}else if(l<=7)return console.error("WK1 invalid opcode "+l.toString(16));else if(l<=24)return console.error("WK1 unsupported op "+l.toString(16));else if(l<=30)return console.error("WK1 invalid opcode "+l.toString(16));else if(l<=115)return console.error("WK1 unsupported function opcode "+l.toString(16));else return console.error("WK1 unrecognized opcode "+l.toString(16));}}if(t.length==1)r[1].f=""+t[0];else console.error("WK1 bad formula parse |"+t.join("|")+"|")}function S(e){var r=[{c:0,r:0},{t:"n",v:0},0];r[0].r=e._R(2);r[3]=e[e.l++];r[0].c=e[e.l++];return r}function x(e,r){var t=S(e,r);t[1].t="s";t[1].v=e._R(r-4,"cstr");return t}function O(e,r,t,a){var n=Ra(6+a.length);n._W(2,e);n._W(1,t);n._W(1,r);n._W(1,39);for(var i=0;i=128?95:s)}n._W(1,0);return n}function R(e,r){var t=S(e,r);t[1].v=e._R(2);var a=t[1].v>>1;if(t[1].v&1){switch(a&7){case 0:a=(a>>3)*5e3;break;case 1:a=(a>>3)*500;break;case 2:a=(a>>3)/20;break;case 3:a=(a>>3)/200;break;case 4:a=(a>>3)/2e3;break;case 5:a=(a>>3)/2e4;break;case 6:a=(a>>3)/16;break;case 7:a=(a>>3)/64;break;}}t[1].v=a;return t}function N(e,r){var t=S(e,r);var a=e._R(4);var n=e._R(4);var i=e._R(2);if(i==65535){if(a===0&&n===3221225472){t[1].t="e";t[1].v=15}else if(a===0&&n===3489660928){t[1].t="e";t[1].v=42}else t[1].v=0;return t}var s=i&32768;i=(i&32767)-16446;t[1].v=(1-s*2)*(n*Math.pow(2,i+32)+a*Math.pow(2,i));return t}function F(e,r,t,a){var n=Ra(14);n._W(2,e);n._W(1,t);n._W(1,r);if(a==0){n._W(4,0);n._W(4,0);n._W(2,65535);return n}var i=0,s=0,f=0,l=0;if(a<0){i=1;a=-a}s=Math.log2(a)|0;a/=Math.pow(2,s-31);l=a>>>0;if((l&2147483648)==0){a/=2;++s;l=a>>>0}a-=l;l|=2147483648;l>>>=0;a*=Math.pow(2,32);f=a>>>0;n._W(4,f);n._W(4,l);s+=16383+(i?32768:0);n._W(2,s);return n}function D(e,r){var t=N(e,14);e.l+=r-14;return t}function P(e,r){var t=S(e,r);var a=e._R(4);t[1].v=a>>6;return t}function L(e,r){var t=S(e,r);var a=e._R(8,"f");t[1].v=a;return t}function M(e,r){var t=L(e,12);e.l+=r-12;return t}function U(e,r){return e[e.l+r-1]==0?e._R(r,"cstr"):""}function B(e,r){var t=e[e.l++];if(t>r-1)t=r-1;var a="";while(a.length127?95:n}t[t.l++]=0;return t}var V={0:{n:"BOF",f:ks},1:{n:"EOF"},2:{n:"CALCMODE"},3:{n:"CALCORDER"},4:{n:"SPLIT"},5:{n:"SYNC"},6:{n:"RANGE",f:o},7:{n:"WINDOW1"},8:{n:"COLW1"},9:{n:"WINTWO"},10:{n:"COLW2"},11:{n:"NAME"},12:{n:"BLANK"},13:{n:"INTEGER",f:m},14:{n:"NUMBER",f:w},15:{n:"LABEL",f:d},16:{n:"FORMULA",f:A},24:{n:"TABLE"},25:{n:"ORANGE"},26:{n:"PRANGE"},27:{n:"SRANGE"},28:{n:"FRANGE"},29:{n:"KRANGE1"},32:{n:"HRANGE"},35:{n:"KRANGE2"},36:{n:"PROTEC"},37:{n:"FOOTER"},38:{n:"HEADER"},39:{n:"SETUP"},40:{n:"MARGINS"},41:{n:"LABELFMT"},42:{n:"TITLES"},43:{n:"SHEETJS"},45:{n:"GRAPH"},46:{n:"NGRAPH"},47:{n:"CALCCOUNT"},48:{n:"UNFORMATTED"},49:{n:"CURSORW12"},50:{n:"WINDOW"},51:{n:"STRING",f:p},55:{n:"PASSWORD"},56:{n:"LOCKED"},60:{n:"QUERY"},61:{n:"QUERYNAME"},62:{n:"PRINT"},63:{n:"PRINTNAME"},64:{n:"GRAPH2"},65:{n:"GRAPHNAME"},66:{n:"ZOOM"},67:{n:"SYMSPLIT"},68:{n:"NSROWS"},69:{n:"NSCOLS"},70:{n:"RULER"},71:{n:"NNAME"},72:{n:"ACOMM"},73:{n:"AMACRO"},74:{n:"PARSE"},102:{n:"PRANGES??"},103:{n:"RRANGES??"},104:{n:"FNAME??"},105:{n:"MRANGES??"},204:{n:"SHEETNAMECS",f:U},222:{n:"SHEETNAMELP",f:B},255:{n:"BOF",f:ks},21506:{n:"WKSNF",f:ks},65535:{n:""}};var $={0:{n:"BOF"},1:{n:"EOF"},2:{n:"PASSWORD"},3:{n:"CALCSET"},4:{n:"WINDOWSET"},5:{n:"SHEETCELLPTR"},6:{n:"SHEETLAYOUT"},7:{n:"COLUMNWIDTH"},8:{n:"HIDDENCOLUMN"},9:{n:"USERRANGE"},10:{n:"SYSTEMRANGE"},11:{n:"ZEROFORCE"},12:{n:"SORTKEYDIR"},13:{n:"FILESEAL"},14:{n:"DATAFILLNUMS"},15:{n:"PRINTMAIN"},16:{n:"PRINTSTRING"},17:{n:"GRAPHMAIN"},18:{n:"GRAPHSTRING"},19:{n:"??"},20:{n:"ERRCELL"},21:{n:"NACELL"},22:{n:"LABEL16",f:x},23:{n:"NUMBER17",f:N},24:{n:"NUMBER18",f:R},25:{n:"FORMULA19",f:D},26:{n:"FORMULA1A"},27:{n:"XFORMAT",f:z},28:{n:"DTLABELMISC"},29:{n:"DTLABELCELL"},30:{n:"GRAPHWINDOW"},31:{n:"CPA"},32:{n:"LPLAUTO"},33:{n:"QUERY"},34:{n:"HIDDENSHEET"},35:{n:"??"},37:{n:"NUMBER25",f:P},38:{n:"??"},39:{n:"NUMBER27",f:L},40:{n:"FORMULA28",f:M},142:{n:"??"},147:{n:"??"},150:{n:"??"},151:{n:"??"},152:{n:"??"},153:{n:"??"},154:{n:"??"},155:{n:"??"},156:{n:"??"},163:{n:"??"},174:{n:"??"},175:{n:"??"},176:{n:"??"},177:{n:"??"},184:{n:"??"},185:{n:"??"},186:{n:"??"},187:{n:"??"},188:{n:"??"},195:{n:"??"},201:{n:"??"},204:{n:"SHEETNAMECS",f:U},205:{n:"??"},206:{n:"??"},207:{n:"??"},208:{n:"??"},256:{n:"??"},259:{n:"??"},260:{n:"??"},261:{n:"??"},262:{n:"??"},263:{n:"??"},265:{n:"??"},266:{n:"??"},267:{n:"??"},268:{n:"??"},270:{n:"??"},271:{n:"??"},384:{n:"??"},389:{n:"??"},390:{n:"??"},393:{n:"??"},396:{n:"??"},512:{n:"??"},514:{n:"??"},513:{n:"??"},516:{n:"??"},517:{n:"??"},640:{n:"??"},641:{n:"??"},642:{n:"??"},643:{n:"??"},644:{n:"??"},645:{n:"??"},646:{n:"??"},647:{n:"??"},648:{n:"??"},658:{n:"??"},659:{n:"??"},660:{n:"??"},661:{n:"??"},662:{n:"??"},665:{n:"??"},666:{n:"??"},768:{n:"??"},772:{n:"??"},1537:{n:"SHEETINFOQP",f:W},1600:{n:"??"},1602:{n:"??"},1793:{n:"??"},1794:{n:"??"},1795:{n:"??"},1796:{n:"??"},1920:{n:"??"},2048:{n:"??"},2049:{n:"??"},2052:{n:"??"},2688:{n:"??"},10998:{n:"??"},12849:{n:"??"},28233:{n:"??"},28484:{n:"??"},65535:{n:""}};var X={5:"dd-mmm-yy",6:"dd-mmm",7:"mmm-yy",8:"mm/dd/yy",10:"hh:mm:ss AM/PM",11:"hh:mm AM/PM",14:"dd-mmm-yyyy",15:"mmm-yyyy",34:"0.00",50:"0.00;[Red]0.00",66:"0.00;(0.00)",82:"0.00;[Red](0.00)",162:'"$"#,##0.00;\\("$"#,##0.00\\)',288:"0%",304:"0E+00",320:"# ?/?"};function G(e){var r=e._R(2);var t=e._R(1);if(t!=0)throw"unsupported QPW string type "+t.toString(16);return e._R(r,"sbcs-cont")}function j(e,r){Oa(e,0);var t=r||{};if(b!=null&&t.dense==null)t.dense=b;var a={};if(t.dense)a["!data"]=[];var n=[],i="",s=[];var f={s:{r:-1,c:-1},e:{r:-1,c:-1}};var l=0,o=0,c=0,h=0;var u={SheetNames:[],Sheets:{}};var d=[];e:while(e.l255||f.s.r>999999)break;if(f.e.cc)f.s.c=c;h=m._R(4);if(f.s.r>h)f.s.r=h;h=m._R(4);if(f.e.rh)f.s.r=h;if(f.e.r0&&l>=0){if(_&32)switch(_&31){case 2:C={t:"n",v:C.v+O&65535};break;case 3:C={t:"n",v:C.v+O&65535};if(C.v>32767)C.v-=65536;break;case 7:C={t:"s",v:n[o=o+O>>>0]};break;default:throw"Cannot apply delta for QPW cell type "+(_&31);}else switch(_&31){case 1:C={t:"z"};break;case 2:C={t:"n",v:m._R(2)};break;case 7:C={t:"s",v:n[o=m._R(4)-1]};break;default:throw"Cannot apply repeat for QPW cell type "+(_&31);}if(S!=-1);if(!(!t.sheetStubs&&C.t=="z")){if(a["!data"]!=null){if(!a["!data"][h])a["!data"][h]=[];a["!data"][h][c]=C}else a[E+Wa(h)]=C}++h;--l}}}break;case 3074:{c=m._R(2);h=m._R(4);var R=G(m);if(a["!data"]!=null){if(!a["!data"][h])a["!data"][h]=[];a["!data"][h][c]={t:"s",v:R}}else a[$a(c)+Wa(h)]={t:"s",v:R}}break;default:break;}e.l+=p}return u}return{sheet_to_wk1:n,book_to_wk3:i,to_workbook:r}}();function io(e){var r={},t=e.match(ft),a=0;var n=false;if(t)for(;a!=t.length;++a){var s=ct(t[a]);switch(s[0].replace(/<\w*:/g,"<")){case"":;case"":r.shadow=1;break;case"":break;case"":;case"":r.outline=1;break;case"":break;case"":;case"":r.strike=1;break;case"":break;case"":;case"":r.u=1;break;case"":break;case"":;case"":r.b=1;break;case"":break;case"":;case"":r.i=1;break;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"":break;case"":n=false;break;default:if(s[0].charCodeAt(1)!==47&&!n)throw new Error("Unrecognized rich format "+s[0]);}}return r}var so=function(){function e(e){var r=Wr(e,"t");if(!r)return{t:"s",v:""};var t={t:"s",v:pt(r[1])};var a=Wr(e,"rPr");if(a)t.s=io(a[1]);return t}var r=/<(?:\w+:)?r>/g,t=/<\/(?:\w+:)?r>/;return function a(n){return n.replace(r,"").split(t).map(e).filter(function(e){return e.v})}}();var fo=function TA(){var e=/(\r\n|\n)/g;function r(e,r,t){var a=[];if(e.u)a.push("text-decoration: underline;");if(e.uval)a.push("text-underline-style:"+e.uval+";");if(e.sz)a.push("font-size:"+e.sz+"pt;");if(e.outline)a.push("text-effect: outline;");if(e.shadow)a.push("text-shadow: auto;");r.push('');if(e.b){r.push("");t.push("")}if(e.i){r.push("");t.push("")}if(e.strike){r.push("");t.push("")}var n=e.valign||"";if(n=="superscript"||n=="super")n="sup";else if(n=="subscript")n="sub";if(n!=""){r.push("<"+n+">");t.push("")}t.push("");return e}function t(t){var a=[[],t.v,[]];if(!t.v)return"";if(t.s)r(t.s,a[0],a[2]);return a[0].join("")+a[1].replace(e,"
    ")+a[2].join("")}return function a(e){return e.map(t).join("")}}();var lo=/<(?:\w+:)?t\b[^<>]*>([^<]*)<\/(?:\w+:)?t>/g,oo=/<(?:\w+:)?r\b[^<>]*>/;function co(e,r){var t=r?r.cellHTML:true;var a={};if(!e)return{t:""};if(e.match(/^\s*<(?:\w+:)?t[^>]*>/)){a.t=pt(It(e.slice(e.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]||""),true);a.r=It(e);if(t)a.h=At(a.t)}else if(e.match(oo)){a.r=It(e);a.t=pt(It((Hr(e,"rPh").match(lo)||[]).join("").replace(ft,"")),true);if(t)a.h=fo(so(a.r))}return a}var ho=/<(?:\w+:)?(?:si|sstItem)>/g;var uo=/<\/(?:\w+:)?(?:si|sstItem)>/;function vo(e,r){var t=[],a="";if(!e)return t;var n=Wr(e,"sst");if(n){a=n[1].replace(ho,"").split(uo);for(var i=0;i!=a.length;++i){var s=co(a[i].trim(),r);if(s!=null)t[t.length]=s}n=ct(n[0].slice(0,n[0].indexOf(">")));t.Count=n.count;t.Unique=n.uniqueCount}return t}var po=/^\s|\s$|[\t\n\r]/;function mo(e,r){if(!r.bookSST)return"";var t=[at];t[t.length]=Bt("sst",null,{xmlns:Xt[0],count:e.Count,uniqueCount:e.Unique});for(var a=0;a!=e.length;++a){if(e[a]==null)continue;var n=e[a];var i="";if(n.r)i+=n.r;else{i+=""}i+="";t[t.length]=i}if(t.length>2){t[t.length]="";t[1]=t[1].replace("/>",">")}return t.join("")}function go(e){return[e._R(4),e._R(4)]}function bo(e,r){var t=[];var a=false;Na(e,function n(e,i,s){switch(s){case 159:t.Count=e[0];t.Unique=e[1];break;case 19:t.push(e);break;case 160:return true;case 35:a=true;break;case 36:a=false;break;default:if(i.T){}if(!a||r.WTF)throw new Error("Unexpected record 0x"+s.toString(16));}});return t}function wo(e,r){if(!r)r=Ra(8);r._W(4,e.Count);r._W(4,e.Unique);return r}var ko=pn;function Ao(e){var r=Fa();Da(r,159,wo(e));for(var t=0;t=4)e.l+=r-4;return t}function Eo(e){var r={};r.id=e._R(0,"lpp4");r.R=yo(e,4);r.U=yo(e,4);r.W=yo(e,4);return r}function Co(e){var r=e._R(4);var t=e.l+r-4;var a={};var n=e._R(4);var i=[];while(n-- >0)i.push({t:e._R(4),v:e._R(0,"lpp4")});a.name=e._R(0,"lpp4");a.comps=i;if(e.l!=t)throw new Error("Bad DataSpaceMapEntry: "+e.l+" != "+t);return a}function _o(e){var r=[];e.l+=4;var t=e._R(4);while(t-- >0)r.push(Co(e));return r}function So(e){var r=[];e.l+=4;var t=e._R(4);while(t-- >0)r.push(e._R(0,"lpp4"));return r}function xo(e){var r={};e._R(4);e.l+=4;r.id=e._R(0,"lpp4");r.name=e._R(0,"lpp4");r.R=yo(e,4);r.U=yo(e,4);r.W=yo(e,4);return r}function Oo(e){var r=xo(e);r.ename=e._R(0,"8lpp4");r.blksz=e._R(4);r.cmode=e._R(4);if(e._R(4)!=4)throw new Error("Bad !Primary record");return r}function Io(e,r){var t=e.l+r;var a={};a.Flags=e._R(4)&63;e.l+=4;a.AlgID=e._R(4);var n=false;switch(a.AlgID){case 26126:;case 26127:;case 26128:n=a.Flags==36;break;case 26625:n=a.Flags==4;break;case 0:n=a.Flags==16||a.Flags==4||a.Flags==36;break;default:throw"Unrecognized encryption algorithm: "+a.AlgID;}if(!n)throw new Error("Encryption Flags/AlgID mismatch");a.AlgIDHash=e._R(4);a.KeySize=e._R(4);a.ProviderType=e._R(4);e.l+=8;a.CSPName=e._R(t-e.l>>1,"utf16le");e.l=t;return a}function Ro(e,r){var t={},a=e.l+r;e.l+=4;t.Salt=e.slice(e.l,e.l+16);e.l+=16;t.Verifier=e.slice(e.l,e.l+16);e.l+=16;e._R(4);t.VerifierHash=e.slice(e.l,a);e.l=a;return t}function No(e){var r=yo(e);switch(r.Minor){case 2:return[r.Minor,Fo(e,r)];case 3:return[r.Minor,Do(e,r)];case 4:return[r.Minor,Po(e,r)];}throw new Error("ECMA-376 Encrypted file unrecognized Version: "+r.Minor)}function Fo(e){var r=e._R(4);if((r&63)!=36)throw new Error("EncryptionInfo mismatch");var t=e._R(4);var a=Io(e,t);var n=Ro(e,e.length-e.l);return{t:"Std",h:a,v:n}}function Do(){throw new Error("File is password-protected: ECMA-376 Extensible")}function Po(e){var r=["saltSize","blockSize","keyBits","hashSize","cipherAlgorithm","cipherChaining","hashAlgorithm","saltValue"];e.l+=4;var t=e._R(e.length-e.l,"utf8");var a={};t.replace(ft,function n(e){var t=ct(e);switch(ut(t[0])){case"":break;case"":;case"":break;case"":break;case"4||a.Major<2)throw new Error("unrecognized major version code: "+a.Major);t.Flags=e._R(4);r-=4;var n=e._R(4);r-=4;t.EncryptionHeader=Io(e,n);r-=n;t.EncryptionVerifier=Ro(e,r);return t}function Mo(e){var r={};var t=r.EncryptionVersionInfo=yo(e,4);if(t.Major!=1||t.Minor!=1)throw"unrecognized version code "+t.Major+" : "+t.Minor;r.Salt=e._R(16);r.EncryptedVerifier=e._R(16);r.EncryptedVerifierHash=e._R(16);return r}function Uo(e){var r=0,t;var a=To(e);var n=a.length+1,i,s;var f,l,o;t=x(n);t[0]=a.length;for(i=1;i!=n;++i)t[i]=a[i-1];for(i=n-1;i>=0;--i){s=t[i];f=(r&16384)===0?0:1;l=r<<1&32767;o=f|l;r=o^s}return r^52811}var Bo=function(){var e=[187,255,255,186,255,255,185,128,0,190,15,0,191,15,0];var r=[57840,7439,52380,33984,4364,3600,61902,12606,6258,57657,54287,34041,10252,43370,20163];var t=[44796,19929,39858,10053,20106,40212,10761,31585,63170,64933,60267,50935,40399,11199,17763,35526,1453,2906,5812,11624,23248,885,1770,3540,7080,14160,28320,56640,55369,41139,20807,41614,21821,43642,17621,28485,56970,44341,19019,38038,14605,29210,60195,50791,40175,10751,21502,43004,24537,18387,36774,3949,7898,15796,31592,63184,47201,24803,49606,37805,14203,28406,56812,17824,35648,1697,3394,6788,13576,27152,43601,17539,35078,557,1114,2228,4456,30388,60776,51953,34243,7079,14158,28316,14128,28256,56512,43425,17251,34502,7597,13105,26210,52420,35241,883,1766,3532,4129,8258,16516,33032,4657,9314,18628];var a=function(e){return(e/2|e*128)&255};var n=function(e,r){return a(e^r)};var i=function(e){var a=r[e.length-1];var n=104;for(var i=e.length-1;i>=0;--i){var s=e[i];for(var f=0;f!=7;++f){if(s&64)a^=t[n];s*=2;--n}}return a};return function(r){var t=To(r);var a=i(t);var s=t.length;var f=x(16);for(var l=0;l!=16;++l)f[l]=0;var o,c,h;if((s&1)===1){o=a>>8;f[s]=n(e[0],o);--s;o=a&255;c=t[t.length-1];f[s]=n(c,o)}while(s>0){--s;o=a>>8;f[s]=n(t[s],o);--s;o=a&255;f[s]=n(t[s],o)}s=15;h=15-t.length;while(h>0){o=a>>8;f[s]=n(e[h],o);--s;--h;o=a&255;f[s]=n(t[s],o);--s;--h}return f}}();var Wo=function(e,r,t,a,n){if(!n)n=r;if(!a)a=Bo(e);var i,s;for(i=0;i!=r.length;++i){s=r[i];s^=a[t];s=(s>>5|s<<3)&255;n[i]=s;++t}return[n,t,a]};var zo=function(e){var r=0,t=Bo(e);return function(e){var a=Wo("",e,r,t);r=a[1];return a[0]}};function Ho(e,r,t,a){var n={key:ks(e),verificationBytes:ks(e)};if(t.password)n.verifier=Uo(t.password);a.valid=n.verificationBytes===n.verifier;if(a.valid)a.insitu=zo(t.password);return n}function Vo(e,r,t){var a=t||{};a.Info=e._R(2);e.l-=2;if(a.Info===1)a.Data=Mo(e,r);else a.Data=Lo(e,r);return a}function $o(e,r,t){var a={Type:t.biff>=8?e._R(2):0};if(a.Type)Vo(e,r-2,a);else Ho(e,t.biff>=8?r:r-2,t,a);return a}function Xo(e,r){switch(r.type){case"base64":return Go(E(e),r);case"binary":return Go(e,r);case"buffer":return Go(C&&Buffer.isBuffer(e)?e.toString("binary"):N(e),r);case"array":return Go(kr(e),r);}throw new Error("Unrecognized type "+r.type)}function Go(e,r){var t=r||{};var a={};var n=t.dense;if(n)a["!data"]=[];var i=Lr(e,"\\trowd","\\row");if(!i)throw new Error("RTF missing table");var s={s:{c:0,r:0},e:{c:0,r:i.length-1}};var f=[];i.forEach(function(e,r){if(n)f=a["!data"][r]=[];var i=/\\[\w\-]+\b/g;var l=0;var o;var c=-1;var h=[];while((o=i.exec(e))!=null){var u=e.slice(l,i.lastIndex-o[0].length);if(u.charCodeAt(0)==32)u=u.slice(1);if(u.length)h.push(u);switch(o[0]){case"\\cell":++c;if(h.length){var d={v:h.join(""),t:"s"};if(d.v=="TRUE"||d.v=="FALSE"){d.v=d.v=="TRUE";d.t="b"}else if(!isNaN(yr(d.v))){d.t="n";if(t.cellText!==false)d.w=d.v;d.v=yr(d.v)}else if(hi[d.v]!=null){d.t="e";d.w=d.v;d.v=hi[d.v]}if(n)f[c]=d;else a[Ya({r:r,c:c})]=d}h=[];break;case"\\par":h.push("\n");break;}l=i.lastIndex}if(c>s.e.c)s.e.c=c});a["!ref"]=Ja(s);return a}function jo(e,r){var t=an(Xo(e,r),r);t.bookType="rtf";return t}function Ko(e,r){var t=["{\\rtf1\\ansi"];if(!e["!ref"])return t[0]+"}";var a=en(e["!ref"]),n;var i=e["!data"]!=null,s=[];for(var f=a.s.r;f<=a.e.r;++f){t.push("\\trowd\\trautofit1");for(var l=a.s.c;l<=a.e.c;++l)t.push("\\cellx"+(l+1));t.push("\\pard\\intbl");if(i)s=e["!data"][f]||[];for(l=a.s.c;l<=a.e.c;++l){var o=Ya({r:f,c:l});n=i?s[l]:e[o];if(!n||n.v==null&&(!n.f||n.F)){t.push(" \\cell");continue}t.push(" "+(n.w||(tn(n),n.w)||"").replace(/[\r\n]/g,"\\par "));t.push("\\cell")}t.push("\\pard\\intbl\\row")}return t.join("")+"}"}function Yo(e){var r=e.slice(e[0]==="#"?1:0).slice(0,6);return[parseInt(r.slice(0,2),16),parseInt(r.slice(2,4),16),parseInt(r.slice(4,6),16)]}function Zo(e){for(var r=0,t=1;r!=3;++r)t=t*256+(e[r]>255?255:e[r]<0?0:e[r]);return t.toString(16).toUpperCase().slice(1)}function Jo(e){var r=e[0]/255,t=e[1]/255,a=e[2]/255;var n=Math.max(r,t,a),i=Math.min(r,t,a),s=n-i;if(s===0)return[0,0,r];var f=0,l=0,o=n+i;l=s/(o>1?2-o:o);switch(n){case r:f=((t-a)/s+6)%6;break;case t:f=(a-r)/s+2;break;case a:f=(r-t)/s+4;break;}return[f/6,l,o/2]}function qo(e){var r=e[0],t=e[1],a=e[2];var n=t*2*(a<.5?a:1-a),i=a-n/2;var s=[i,i,i],f=6*r;var l;if(t!==0)switch(f|0){case 0:;case 6:l=n*f;s[0]+=n;s[1]+=l;break;case 1:l=n*(2-f);s[0]+=l;s[1]+=n;break;case 2:l=n*(f-2);s[1]+=n;s[2]+=l;break;case 3:l=n*(4-f);s[1]+=l;s[2]+=n;break;case 4:l=n*(f-4);s[2]+=n;s[0]+=l;break;case 5:l=n*(6-f);s[2]+=l;s[0]+=n;break;}for(var o=0;o!=3;++o)s[o]=Math.round(s[o]*255);return s}function Qo(e,r){if(r===0)return e;var t=Jo(Yo(e));if(r<0)t[2]=t[2]*(1+r);else t[2]=1-(1-t[2])*(1-r);return Zo(qo(t))}var ec=6,rc=15,tc=1,ac=ec;function nc(e){return Math.floor((e+Math.round(128/ac)/256)*ac)}function ic(e){return Math.floor((e-5)/ac*100+.5)/100}function sc(e){return Math.round((e*ac+5)/ac*256)/256}function fc(e){return sc(ic(nc(e)))}function lc(e){var r=Math.abs(e-fc(e)),t=ac;if(r>.005)for(ac=tc;ac":;case"":break;case"":;case"":n={};if(t.diagonalUp)n.diagonalUp=Ct(t.diagonalUp);if(t.diagonalDown)n.diagonalDown=Ct(t.diagonalDown);r.Borders.push(n);break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":break;case"":;case"":break;case"":;case"":break;case"":i=false;break;default:if(a&&a.WTF){if(!i)throw new Error("unrecognized "+t[0]+" in borders")};}})}function mc(e,r,t,a){r.Fills=[];var n={};var i=false;(e.match(ft)||[]).forEach(function(e){var t=ct(e);switch(ut(t[0])){case"":;case"":break;case"":;case"":n={};r.Fills.push(n);break;case"":break;case"":break;case"":r.Fills.push(n);n={};break;case"":if(t.patternType)n.patternType=t.patternType;break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":break;case"":break;case"":break;case"":break;case"":;case"":break;case"":i=false;break;default:if(a&&a.WTF){if(!i)throw new Error("unrecognized "+t[0]+" in fills")};}})}function gc(e,r,t,a){r.Fonts=[];var n={};var s=false;(e.match(ft)||[]).forEach(function(e){var f=ct(e);switch(ut(f[0])){case"":;case"":break;case"":break;case"":;case"":r.Fonts.push(n);n={};break;case"":;case"":break;case"":n.bold=1;break;case"":;case"":n.italic=1;break;case"":;case"":n.underline=1;break;case"":;case"":n.strike=1;break;case"":;case"":n.outline=1;break;case"":;case"":n.shadow=1;break;case"":;case"":n.condense=1;break;case"":;case"":n.extend=1;break;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":break;case"":s=false;break;default:if(a&&a.WTF){if(!s)throw new Error("unrecognized "+f[0]+" in fonts")};}})}function bc(e,r,t){r.NumberFmt=[];var a=ir(q);for(var n=0;n":;case"":;case"":break;case"0){if(l>392){for(l=392;l>60;--l)if(r.NumberFmt[l]==null)break;r.NumberFmt[l]=f}Je(f,l)}}break;case"":break;default:if(t.WTF)throw new Error("unrecognized "+s[0]+" in numFmts");}}}function wc(e){var r=[""];[[5,8],[23,26],[41,44],[50,392]].forEach(function(t){for(var a=t[0];a<=t[1];++a)if(e[a]!=null)r[r.length]=Bt("numFmt",null,{numFmtId:a,formatCode:bt(e[a])})});if(r.length===1)return"";r[r.length]="";r[0]=Bt("numFmts",null,{count:r.length-2}).replace("/>",">");return r.join("")}var kc=["numFmtId","fillId","fontId","borderId","xfId"];var Ac=["applyAlignment","applyBorder","applyFill","applyFont","applyNumberFormat","applyProtection","pivotButton","quotePrefix"];function Tc(e,r,t){r.CellXf=[];var a;var n=false;(e.match(ft)||[]).forEach(function(e){var i=ct(e),s=0;switch(ut(i[0])){case"":;case"":;case"":break;case"":;case"":a=i;delete a[0];for(s=0;s392){for(s=392;s>60;--s)if(r.NumberFmt[a.numFmtId]==r.NumberFmt[s]){a.numFmtId=s;break}}r.CellXf.push(a);break;case"":break;case"":;case"":var f={};if(i.vertical)f.vertical=i.vertical;if(i.horizontal)f.horizontal=i.horizontal;if(i.textRotation!=null)f.textRotation=i.textRotation;if(i.indent)f.indent=i.indent;if(i.wrapText)f.wrapText=Ct(i.wrapText);a.alignment=f;break;case"":break;case"":break;case"":;case"":break;case"":n=true;break;case"":n=false;break;case"":;case"":break;case"":n=false;break;default:if(t&&t.WTF){if(!n)throw new Error("unrecognized "+i[0]+" in cellXfs")};}})}function yc(e){var r=[];r[r.length]=Bt("cellXfs",null);e.forEach(function(e){r[r.length]=Bt("xf",null,e)});r[r.length]="";if(r.length===2)return"";r[0]=Bt("cellXfs",null,{count:r.length-2}).replace("/>",">");return r.join("")}var Ec=function yA(){return function e(r,t,a){var n={};if(!r)return n;r=Pr(Mr(r,""));var i;if(i=Wr(r,"numFmts"))bc(i[0],n,a);if(i=Wr(r,"fonts"))gc(i[0],n,t,a);if(i=Wr(r,"fills"))mc(i[0],n,t,a);if(i=Wr(r,"borders"))pc(i[0],n,t,a);if(i=Wr(r,"cellXfs"))Tc(i[0],n,a);return n}}();function Cc(e,r){var t=[at,Bt("styleSheet",null,{xmlns:Xt[0],"xmlns:vt":$t.vt})],a;if(e.SSF&&(a=wc(e.SSF))!=null)t[t.length]=a;t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';if(a=yc(r.cellXfs))t[t.length]=a;t[t.length]='';t[t.length]='';t[t.length]='';if(t.length>2){t[t.length]="";t[1]=t[1].replace("/>",">")}return t.join("")}function _c(e,r){var t=e._R(2);var a=cn(e,r-2);return[t,a]}function Sc(e,r,t){if(!t)t=Ra(6+4*r.length);t._W(2,e);hn(r,t);var a=t.length>t.l?t.slice(0,t.l):t;if(t.l==null)t.l=t.length;return a}function xc(e,r,t){var a={};a.sz=e._R(2)/20;var n=Bn(e,2,t);if(n.fItalic)a.italic=1;if(n.fCondense)a.condense=1;if(n.fExtend)a.extend=1;if(n.fShadow)a.shadow=1;if(n.fOutline)a.outline=1;if(n.fStrikeout)a.strike=1;var i=e._R(2);if(i===700)a.bold=1;switch(e._R(2)){case 1:a.vertAlign="superscript";break;case 2:a.vertAlign="subscript";break;}var s=e._R(1);if(s!=0)a.underline=s;var f=e._R(1);if(f>0)a.family=f;var l=e._R(1);if(l>0)a.charset=l;e.l++;a.color=Mn(e,8);switch(e._R(1)){case 1:a.scheme="major";break;case 2:a.scheme="minor";break;}a.name=cn(e,r-21);return a}function Oc(e,r){if(!r)r=Ra(25+4*32);r._W(2,e.sz*20);Wn(e,r);r._W(2,e.bold?700:400);var t=0;if(e.vertAlign=="superscript")t=1;else if(e.vertAlign=="subscript")t=2;r._W(2,t);r._W(1,e.underline||0);r._W(1,e.family||0);r._W(1,e.charset||0);r._W(1,0);Un(e.color,r);var a=0;if(e.scheme=="major")a=1;if(e.scheme=="minor")a=2;r._W(1,a);hn(e.name,r);return r.length>r.l?r.slice(0,r.l):r}var Ic=["none","solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];var Rc;var Nc=Ia;function Fc(e,r){if(!r)r=Ra(4*3+8*7+16*1);if(!Rc)Rc=fr(Ic);var t=Rc[e.patternType];if(t==null)t=40;r._W(4,t);var a=0;if(t!=40){Un({auto:1},r);Un({auto:1},r);for(;a<12;++a)r._W(4,0)}else{for(;a<4;++a)r._W(4,0);for(;a<12;++a)r._W(4,0)}return r.length>r.l?r.slice(0,r.l):r}function Dc(e,r){var t=e.l+r;var a=e._R(2);var n=e._R(2);e.l=t;return{ixfe:a,numFmtId:n}}function Pc(e,r,t){if(!t)t=Ra(16);t._W(2,r||0);t._W(2,e.numFmtId||0);t._W(2,0);t._W(2,0);t._W(2,0);t._W(1,0);t._W(1,0);var a=0;t._W(1,a);t._W(1,0);t._W(1,0);t._W(1,0);return t}function Lc(e,r){if(!r)r=Ra(10);r._W(1,0);r._W(1,0);r._W(4,0);r._W(4,0);return r}var Mc=Ia;function Uc(e,r){if(!r)r=Ra(51);r._W(1,0);Lc(null,r);Lc(null,r);Lc(null,r);Lc(null,r);Lc(null,r);return r.length>r.l?r.slice(0,r.l):r}function Bc(e,r){if(!r)r=Ra(12+4*10);r._W(4,e.xfId);r._W(2,1);r._W(1,+e.builtinId);r._W(1,0);Cn(e.name||"",r);return r.length>r.l?r.slice(0,r.l):r}function Wc(e,r,t){var a=Ra(4+256*2*4);a._W(4,e);Cn(r,a);Cn(t,a);return a.length>a.l?a.slice(0,a.l):a}function zc(e,r,t){var a={};a.NumberFmt=[];for(var n in q)a.NumberFmt[n]=q[n];a.CellXf=[];a.Fonts=[];var i=[];var s=false;Na(e,function f(e,n,l){switch(l){case 44:a.NumberFmt[e[0]]=e[1];Je(e[1],e[0]);break;case 43:a.Fonts.push(e);if(e.color.theme!=null&&r&&r.themeElements&&r.themeElements.clrScheme){e.color.rgb=Qo(r.themeElements.clrScheme[e.color.theme].rgb,e.color.tint||0)}break;case 1025:break;case 45:break;case 46:break;case 47:if(i[i.length-1]==617){a.CellXf.push(e)}break;case 48:;case 507:;case 572:;case 475:break;case 1171:;case 2102:;case 1130:;case 512:;case 2095:;case 3072:break;case 35:s=true;break;case 36:s=false;break;case 37:i.push(l);s=true;break;case 38:i.pop();s=false;break;default:if(n.T>0)i.push(l);else if(n.T<0)i.pop();else if(!s||t.WTF&&i[i.length-1]!=37)throw new Error("Unexpected record 0x"+l.toString(16));}});return a}function Hc(e,r){if(!r)return;var t=0;[[5,8],[23,26],[41,44],[50,392]].forEach(function(e){for(var a=e[0];a<=e[1];++a)if(r[a]!=null)++t});if(t==0)return;Da(e,615,on(t));[[5,8],[23,26],[41,44],[50,392]].forEach(function(t){for(var a=t[0];a<=t[1];++a)if(r[a]!=null)Da(e,44,Sc(a,r[a]))});Da(e,616)}function Vc(e){var r=1;if(r==0)return;Da(e,611,on(r));Da(e,43,Oc({sz:12,color:{theme:1},name:"Calibri",family:2,scheme:"minor"}));Da(e,612)}function $c(e){var r=2;if(r==0)return;Da(e,603,on(r));Da(e,45,Fc({patternType:"none"}));Da(e,45,Fc({patternType:"gray125"}));Da(e,604)}function Xc(e){var r=1;if(r==0)return;Da(e,613,on(r));Da(e,46,Uc({}));Da(e,614)}function Gc(e){var r=1;Da(e,626,on(r));Da(e,47,Pc({numFmtId:0,fontId:0,fillId:0,borderId:0},65535));Da(e,627)}function jc(e,r){Da(e,617,on(r.length));r.forEach(function(r){Da(e,47,Pc(r,0))});Da(e,618)}function Kc(e){var r=1;Da(e,619,on(r));Da(e,48,Bc({xfId:0,builtinId:0,name:"Normal"}));Da(e,620)}function Yc(e){var r=0;Da(e,505,on(r));Da(e,506)}function Zc(e){var r=0;Da(e,508,Wc(r,"TableStyleMedium9","PivotStyleMedium4"));Da(e,509)}function Jc(){return}function qc(e,r){var t=Fa();Da(t,278);Hc(t,e.SSF);Vc(t,e);$c(t,e);Xc(t,e);Gc(t,e);jc(t,r.cellXfs);Kc(t,e);Yc(t,e);Zc(t,e);Jc(t,e);Da(t,279);return t.end()}var Qc=["","","","","","","","","","","",""];function eh(e,r,t){r.themeElements.clrScheme=[];var a={};(e[0].match(ft)||[]).forEach(function(e){var n=ct(e);switch(n[0]){case"":break;case"":break;case"":break;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":if(n[0].charAt(1)==="/"){r.themeElements.clrScheme[Qc.indexOf(n[0])]=a;a={}}else{a.name=n[0].slice(3,n[0].length-1)}break;default:if(t&&t.WTF)throw new Error("Unrecognized "+n[0]+" in clrScheme");}})}function rh(){}function th(){}function ah(e,r,t){r.themeElements={};var a;if(!(a=Br(e,"a:clrScheme")))throw new Error("clrScheme not found in themeElements");eh(a,r,t);if(!(a=Br(e,"a:fontScheme")))throw new Error("fontScheme not found in themeElements");rh(a,r,t);if(!(a=Br(e,"a:fmtScheme")))throw new Error("fmtScheme not found in themeElements");th(a,r,t)}function nh(e,r){if(!e||e.length===0)e=ih();var t;var a={};if(!(t=Br(e,"a:themeElements")))throw new Error("themeElements not found in theme");ah(t[0],a,r);a.raw=e;return a}function ih(e,r){if(r&&r.themeXLSX)return r.themeXLSX;if(e&&typeof e.raw=="string")return e.raw;var t=[at];t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";return t.join("")}function sh(e,r,t){var a=e.l+r;var n=e._R(4);if(n===124226)return;if(!t.cellStyles){e.l=a;return}var i=e.slice(e.l);e.l=a;var s;try{s=rt(i,{type:"array"})}catch(f){return}var l=Zr(s,"theme/theme/theme1.xml",true);if(!l)return;return nh(l,t)}function fh(e){return e._R(4)}function lh(e){var r={};r.xclrType=e._R(2);r.nTintShade=e._R(2);switch(r.xclrType){case 0:e.l+=4;break;case 1:r.xclrValue=oh(e,4);break;case 2:r.xclrValue=Ws(e,4);break;case 3:r.xclrValue=fh(e,4);break;case 4:e.l+=4;break;}e.l+=8;return r}function oh(e,r){return Ia(e,r)}function ch(e,r){return Ia(e,r)}function hh(e){var r=e._R(2);var t=e._R(2)-4;var a=[r];switch(r){case 4:;case 5:;case 7:;case 8:;case 9:;case 10:;case 11:;case 13:a[1]=lh(e,t);break;case 6:a[1]=ch(e,t);break;case 14:;case 15:a[1]=e._R(t===1?1:2);break;default:throw new Error("Unrecognized ExtProp type: "+r+" "+t);}return a}function uh(e,r){var t=e.l+r;e.l+=2;var a=e._R(2);e.l+=2;var n=e._R(2);var i=[];while(n-- >0)i.push(hh(e,t-e.l));return{ixfe:a,ext:i}}function dh(e,r){r.forEach(function(e){switch(e[0]){case 4:break;case 5:break;case 6:break;case 7:break;case 8:break;case 9:break;case 10:break;case 11:break;case 13:break;case 14:break;case 15:break;}})}function vh(e,r){return{flags:e._R(4),version:e._R(4),name:cn(e,r-8)}}function ph(e){var r=Ra(12+2*e.name.length);r._W(4,e.flags);r._W(4,e.version);hn(e.name,r);return r.slice(0,r.l)}function mh(e){var r=[];var t=e._R(4);while(t-- >0)r.push([e._R(4),e._R(4)]);return r}function gh(e){var r=Ra(4+8*e.length);r._W(4,e.length);for(var t=0;t":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":i=2;break;case"":i=2;break;case"":;case"":;case"":break;case"":n=false;break;case"\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n');return e.join("")}function Ch(e){var r=[];if(!e)return r;var t=1;(e.match(ft)||[]).forEach(function(e){var a=ct(e);switch(a[0]){case"":;case"":break;case"]*r:id="([^<>"]*)"/)||["",""])[1];return r["!id"][t].Target}function Rh(e,r,t){var a=0; +(zr(e,"shape")||[]).forEach(function(e){var n="";var i=true;var s=-1;var f=-1,l=-1;e.replace(ft,function(r,t){var a=ct(r);switch(ut(a[0])){case"":i=false;break;case"":s=t+r.length;break;case"":f=+e.slice(s,t).trim();break;case"":s=t+r.length;break;case"":l=+e.slice(s,t).trim();break;}return""});switch(n){case"Note":var o=Hk(r,f>=0&&l>=0?Ya({r:f,c:l}):t[a].ref);if(o.c){o.c.hidden=i}++a;break;}})}function Nh(e,r,t){var a=[21600,21600];var n=["m0,0l0",a[1],a[0],a[1],a[0],"0xe"].join(",");var i=[Bt("xml",null,{"xmlns:v":Gt.v,"xmlns:o":Gt.o,"xmlns:x":Gt.x,"xmlns:mv":Gt.mv}).replace(/\/>/,">"),Bt("o:shapelayout",Bt("o:idmap",null,{"v:ext":"edit",data:e}),{"v:ext":"edit"})];var s=65536*e;var f=r||[];if(f.length>0)i.push(Bt("v:shapetype",[Bt("v:stroke",null,{joinstyle:"miter"}),Bt("v:path",null,{gradientshapeok:"t","o:connecttype":"rect"})].join(""),{id:"_x0000_t202",coordsize:a.join(","),"o:spt":202,path:n}));f.forEach(function(e){++s;i.push(Fh(e,s))});i.push("");return i.join("")}function Fh(e,r,t){var a=Ka(e[0]);var n={color2:"#BEFF82",type:"gradient"};if(n.type=="gradient")n.angle="-180";var i=n.type=="gradient"?Bt("o:fill",null,{type:"gradientUnscaled","v:ext":"view"}):null;var s=Bt("v:fill",i,n);var f={on:"t",obscured:"t"};return["",s,Bt("v:shadow",null,f),Bt("v:path",null,{"o:connecttype":"none"}),'
    ','',"","",Mt("x:Anchor",[a.c+1,0,a.r+1,0,a.c+3,20,a.r+5,20].join(",")),Mt("x:AutoFill","False"),Mt("x:Row",String(a.r)),Mt("x:Column",String(a.c)),e[1].hidden?"":"","",""].join("")}function Dh(e,r,t,a){var n=e["!data"]!=null;var i;r.forEach(function(r){var s=Ka(r.ref);if(s.r<0||s.c<0)return;if(n){if(!e["!data"][s.r])e["!data"][s.r]=[];i=e["!data"][s.r][s.c]}else i=e[r.ref];if(!i){i={t:"z"};if(n)e["!data"][s.r][s.c]=i;else e[r.ref]=i;var f=en(e["!ref"]||"BDWGO1000001:A1");if(f.s.r>s.r)f.s.r=s.r;if(f.e.rs.c)f.s.c=s.c;if(f.e.c=0;--c){if(!t&&i.c[c].T)return;if(t&&!i.c[c].T)i.c.splice(c,1)}if(t&&a)for(c=0;c/))return[];var t=[];var a=[];var n=Wr(e,"authors");if(n&&n[1])n[1].split(/<\/\w*:?author>/).forEach(function(e){if(e===""||e.trim()==="")return;var r=e.match(/<(?:\w+:)?author[^<>]*>(.*)/);if(r)t.push(r[1])});var i=Wr(e,"commentList");if(i&&i[1])i[1].split(/<\/\w*:?comment>/).forEach(function(e){if(e===""||e.trim()==="")return;var n=e.match(/<(?:\w+:)?comment[^<>]*>/);if(!n)return;var i=ct(n[0]);var s={author:i.authorId&&t[i.authorId]||"sheetjsghost",ref:i.ref,guid:i.guid};var f=Ka(i.ref);if(r.sheetRows&&r.sheetRows<=f.r)return;var l=Wr(e,"text");var o=!!l&&!!l[1]&&co(l[1])||{r:"",t:"",h:""};s.r=o.r;if(o.r=="")o.t=o.h="";s.t=(o.t||"").replace(/\r\n/g,"\n").replace(/\r/g,"\n");if(r.cellHTML)s.h=o.h;a.push(s)});return a}function Lh(e){var r=[at,Bt("comments",null,{xmlns:Xt[0]})];var t=[];r.push("");e.forEach(function(e){e[1].forEach(function(e){var a=bt(e.a);if(t.indexOf(a)==-1){t.push(a);r.push(""+a+"")}if(e.T&&e.ID&&t.indexOf("tc="+e.ID)==-1){t.push("tc="+e.ID);r.push(""+"tc="+e.ID+"")}})});if(t.length==0){t.push("SheetJ5");r.push("SheetJ5")}r.push("");r.push("");e.forEach(function(e){var a=0,n=[],i=0;if(e[1][0]&&e[1][0].T&&e[1][0].ID)a=t.indexOf("tc="+e[1][0].ID);e[1].forEach(function(e){if(e.a)a=t.indexOf(bt(e.a));if(e.T)++i;n.push(e.t==null?"":bt(e.t))});if(i===0){e[1].forEach(function(a){r.push('');r.push(Mt("t",a.t==null?"":bt(a.t)));r.push("")})}else{if(e[1][0]&&e[1][0].T&&e[1][0].ID)a=t.indexOf("tc="+e[1][0].ID);r.push('');var s="Comment:\n "+n[0]+"\n";for(var f=1;f")}});r.push("");if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function Mh(e,r){var t=[];var a=false,n={},i=0;e.replace(ft,function s(f,l){var o=ct(f);switch(ut(o[0])){case"":break;case"":if(n.t!=null)t.push(n);break;case"":;case"":n.t=e.slice(i,l).replace(/\r\n/g,"\n").replace(/\r/g,"\n");break;case"":a=true;break;case"":a=false;break;case"":;case"
    ":;case"":break;case"":a=false;break;default:if(!a&&r.WTF)throw new Error("unrecognized "+o[0]+" in threaded comments");}return f});return t}function Uh(e,r,t){var a=[at,Bt("ThreadedComments",null,{xmlns:$t.TCMNT}).replace(/[\/]>/,">")];e.forEach(function(e){var n="";(e[1]||[]).forEach(function(i,s){if(!i.T){delete i.ID;return}if(i.a&&r.indexOf(i.a)==-1)r.push(i.a);var f={ref:e[0],id:"{54EE7951-7262-4200-6969-"+("000000000000"+t.tcid++).slice(-12)+"}"};if(s==0)n=f.id;else f.parentId=n;i.ID=f.id;if(i.a)f.personId="{54EE7950-7262-4200-6969-"+("000000000000"+r.indexOf(i.a)).slice(-12)+"}";a.push(Bt("threadedComment",Mt("text",i.t||""),f))})});a.push("");return a.join("")}function Bh(e,r){var t=[];var a=false;e.replace(ft,function n(e){var n=ct(e);switch(ut(n[0])){case"":break;case"":break;case"":;case"":;case"":break;case"":a=false;break;default:if(!a&&r.WTF)throw new Error("unrecognized "+n[0]+" in threaded comments");}return e});return t}function Wh(e){var r=[at,Bt("personList",null,{xmlns:$t.TCMNT,"xmlns:x":Xt[0]}).replace(/[\/]>/,">")];e.forEach(function(e,t){r.push(Bt("person",null,{displayName:e,id:"{54EE7950-7262-4200-6969-"+("000000000000"+t).slice(-12)+"}",userId:e,providerId:"None"}))});r.push("");return r.join("")}function zh(e){var r={};r.iauthor=e._R(4);var t=Fn(e,16);r.rfx=t.s;r.ref=Ya(t.s);e.l+=16;return r}function Hh(e,r){if(r==null)r=Ra(36);r._W(4,e[1].iauthor);Dn(e[0],r);r._W(4,0);r._W(4,0);r._W(4,0);r._W(4,0);return r}var Vh=cn;function $h(e){return hn(e.slice(0,54))}function Xh(e,r){var t=[];var a=[];var n={};var i=false;Na(e,function s(e,f,l){switch(l){case 632:a.push(e);break;case 635:n=e;break;case 637:n.t=e.t;n.h=e.h;n.r=e.r;break;case 636:n.author=a[n.iauthor];delete n.iauthor;if(r.sheetRows&&n.rfx&&r.sheetRows<=n.rfx.r)break;if(!n.t)n.t="";delete n.rfx;t.push(n);break;case 3072:break;case 35:i=true;break;case 36:i=false;break;case 37:break;case 38:break;default:if(f.T){}else if(!i||r.WTF)throw new Error("Unexpected record 0x"+l.toString(16));}});return t}function Gh(e){var r=Fa();var t=[];Da(r,628);Da(r,630);e.forEach(function(e){e[1].forEach(function(e){if(t.indexOf(e.a)>-1)return;t.push(e.a.slice(0,54));Da(r,632,$h(e.a));if(e.T&&e.ID&&t.indexOf("tc="+e.ID)==-1){t.push("tc="+e.ID);Da(r,632,$h("tc="+e.ID))}})});Da(r,631);Da(r,633);e.forEach(function(e){e[1].forEach(function(a){var n=-1;if(a.ID)n=t.indexOf("tc="+a.ID);if(n==-1&&e[1][0].T&&e[1][0].ID)n=t.indexOf("tc="+e[1][0].ID);if(n==-1)n=t.indexOf(a.a);a.iauthor=n;var i={s:Ka(e[0]),e:Ka(e[0])};Da(r,635,Hh([i,a]));if(a.t&&a.t.length>0)Da(r,637,gn(a));Da(r,636);delete a.iauthor})});Da(r,634);Da(r,629);return r.end()}var jh="application/vnd.ms-office.vbaProject";function Kh(e){var r=Qe.utils.cfb_new({root:"R"});e.FullPaths.forEach(function(t,a){if(t.slice(-1)==="/"||!t.match(/_VBA_PROJECT_CUR/))return;var n=t.replace(/^[^\/]*/,"R").replace(/\/_VBA_PROJECT_CUR\u0000*/,"");Qe.utils.cfb_add(r,n,e.FileIndex[a].content)});return Qe.write(r)}function Yh(e,r){r.FullPaths.forEach(function(t,a){if(a==0)return;var n=t.replace(/^[\/]*[^\/]*[\/]/,"/_VBA_PROJECT_CUR/");if(n.slice(-1)!=="/")Qe.utils.cfb_add(e,n,r.FileIndex[a].content)})}var Zh=["xlsb","xlsm","xlam","biff8","xla"];function Jh(){return{"!type":"dialog"}}function qh(){return{"!type":"dialog"}}function Qh(){return{"!type":"macro"}}function eu(){return{"!type":"macro"}}var ru=function(){var e=/(^|[^A-Za-z_])R(\[?-?\d+\]|[1-9]\d*|)C(\[?-?\d+\]|[1-9]\d*|)(?![A-Za-z0-9_])/g;var r={r:0,c:0};function t(e,t,a,n){var i=false,s=false;if(a.length==0)s=true;else if(a.charAt(0)=="["){s=true;a=a.slice(1,-1)}if(n.length==0)i=true;else if(n.charAt(0)=="["){i=true;n=n.slice(1,-1)}var f=a.length>0?parseInt(a,10)|0:0,l=n.length>0?parseInt(n,10)|0:0;if(i)l+=r.c;else--l;if(s)f+=r.r;else--f;return t+(i?"":"$")+$a(l)+(s?"":"$")+Wa(f)}return function a(n,i){r=i;return n.replace(e,t)}}();var tu=/(^|[^._A-Z0-9])(\$?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])(\$?)(\d{1,7})(?![_.\(A-Za-z0-9])/g;try{tu=/(^|[^._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}catch(au){}var nu=function(){return function e(r,t){return r.replace(tu,function(e,r,a,n,i,s){var f=Va(n)-(a?0:t.c);var l=Ba(s)-(i?0:t.r);var o=i=="$"?l+1:l==0?"":"["+l+"]";var c=a=="$"?f+1:f==0?"":"["+f+"]";return r+"R"+o+"C"+c})}}();function iu(e,r){return e.replace(tu,function(e,t,a,n,i,s){return t+(a=="$"?a+n:$a(Va(n)+r.c))+(i=="$"?i+s:Wa(Ba(s)+r.r))})}function su(e,r,t){var a=Za(r),n=a.s,i=Ka(t);var s={r:i.r-n.r,c:i.c-n.c};return iu(e,s)}function fu(e){if(e.length==1)return false;return true}function lu(e){return e.replace(/_xlfn\./g,"")}function ou(e){e.l+=1;return}function cu(e,r){var t=e._R(r==1?1:2);return[t&16383,t>>14&1,t>>15&1]}function hu(e,r,t){var a=2;if(t){if(t.biff>=2&&t.biff<=5)return uu(e,r,t);else if(t.biff==12)a=4}var n=e._R(a),i=e._R(a);var s=cu(e,2);var f=cu(e,2);return{s:{r:n,c:s[0],cRel:s[1],rRel:s[2]},e:{r:i,c:f[0],cRel:f[1],rRel:f[2]}}}function uu(e){var r=cu(e,2),t=cu(e,2);var a=e._R(1);var n=e._R(1);return{s:{r:r[0],c:a,cRel:r[1],rRel:r[2]},e:{r:t[0],c:n,cRel:t[1],rRel:t[2]}}}function du(e,r,t){if(t.biff<8)return uu(e,r,t);var a=e._R(t.biff==12?4:2),n=e._R(t.biff==12?4:2);var i=cu(e,2);var s=cu(e,2);return{s:{r:a,c:i[0],cRel:i[1],rRel:i[2]},e:{r:n,c:s[0],cRel:s[1],rRel:s[2]}}}function vu(e,r,t){if(t&&t.biff>=2&&t.biff<=5)return pu(e,r,t);var a=e._R(t&&t.biff==12?4:2);var n=cu(e,2);return{r:a,c:n[0],cRel:n[1],rRel:n[2]}}function pu(e){var r=cu(e,2);var t=e._R(1);return{r:r[0],c:t,cRel:r[1],rRel:r[2]}}function mu(e){var r=e._R(2);var t=e._R(2);return{r:r,c:t&255,fQuoted:!!(t&16384),cRel:t>>15,rRel:t>>15}}function gu(e,r,t){var a=t&&t.biff?t.biff:8;if(a>=2&&a<=5)return bu(e,r,t);var n=e._R(a>=12?4:2);var i=e._R(2);var s=(i&16384)>>14,f=(i&32768)>>15;i&=16383;if(f==1)while(n>524287)n-=1048576;if(s==1)while(i>8191)i=i-16384;return{r:n,c:i,cRel:s,rRel:f}}function bu(e){var r=e._R(2);var t=e._R(1);var a=(r&32768)>>15,n=(r&16384)>>14;r&=16383;if(a==1&&r>=8192)r=r-16384;if(n==1&&t>=128)t=t-256;return{r:r,c:t,cRel:n,rRel:a}}function wu(e,r,t){var a=(e[e.l++]&96)>>5;var n=hu(e,t.biff>=2&&t.biff<=5?6:8,t);return[a,n]}function ku(e,r,t){var a=(e[e.l++]&96)>>5;var n=e._R(2,"i");var i=8;if(t)switch(t.biff){case 5:e.l+=12;i=6;break;case 12:i=12;break;}var s=hu(e,i,t);return[a,n,s]}function Au(e,r,t){var a=(e[e.l++]&96)>>5;e.l+=t&&t.biff>8?12:t.biff<8?6:8;return[a]}function Tu(e,r,t){var a=(e[e.l++]&96)>>5;var n=e._R(2);var i=8;if(t)switch(t.biff){case 5:e.l+=12;i=6;break;case 12:i=12;break;}e.l+=i;return[a,n]}function yu(e,r,t){var a=(e[e.l++]&96)>>5;var n=du(e,r-1,t);return[a,n]}function Eu(e,r,t){var a=(e[e.l++]&96)>>5;e.l+=t.biff==2?6:t.biff==12?14:7;return[a]}function Cu(e){var r=e[e.l+1]&1;var t=1;e.l+=4;return[r,t]}function _u(e,r,t){e.l+=2;var a=e._R(t&&t.biff==2?1:2);var n=[];for(var i=0;i<=a;++i)n.push(e._R(t&&t.biff==2?1:2));return n}function Su(e,r,t){var a=e[e.l+1]&255?1:0;e.l+=2;return[a,e._R(t&&t.biff==2?1:2)]}function xu(e,r,t){var a=e[e.l+1]&255?1:0;e.l+=2;return[a,e._R(t&&t.biff==2?1:2)]}function Ou(e){var r=e[e.l+1]&255?1:0;e.l+=2;return[r,e._R(2)]}function Iu(e,r,t){var a=e[e.l+1]&255?1:0;e.l+=t&&t.biff==2?3:4;return[a]}function Ru(e){var r=e._R(1),t=e._R(1);return[r,t]}function Nu(e){e._R(2);return Ru(e,2)}function Fu(e){e._R(2);return Ru(e,2)}function Du(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=vu(e,0,t);return[a,n]}function Pu(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=gu(e,0,t);return[a,n]}function Lu(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=e._R(2);if(t&&t.biff==5)e.l+=12;var i=vu(e,0,t);return[a,n,i]}function Mu(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=e._R(t&&t.biff<=3?1:2);return[hv[n],cv[n],a]}function Uu(e,r,t){var a=e[e.l++];var n=e._R(1),i=t&&t.biff<=3?[a==88?-1:0,e._R(1)]:Bu(e);return[n,(i[0]===0?cv:ov)[i[1]]]}function Bu(e){return[e[e.l+1]>>7,e._R(2)&32767]}function Wu(e,r,t){e.l+=t&&t.biff==2?3:4;return}function zu(e,r,t){e.l++;if(t&&t.biff==12)return[e._R(4,"i"),0];var a=e._R(2);var n=e._R(t&&t.biff==2?1:2);return[a,n]}function Hu(e){e.l++;return ci[e._R(1)]}function Vu(e){e.l++;return e._R(2)}function $u(e){e.l++;return e._R(1)!==0}function Xu(e){e.l++;return Pn(e,8)}function Gu(e,r,t){e.l++;return Cs(e,r-1,t)}function ju(e,r){var t=[e._R(1)];if(r==12)switch(t[0]){case 2:t[0]=4;break;case 4:t[0]=16;break;case 0:t[0]=1;break;case 1:t[0]=2;break;}switch(t[0]){case 4:t[1]=bs(e,1)?"TRUE":"FALSE";if(r!=12)e.l+=7;break;case 37:;case 16:t[1]=ci[e[e.l]];e.l+=r==12?4:8;break;case 0:e.l+=8;break;case 1:t[1]=Pn(e,8);break;case 2:t[1]=Is(e,0,{biff:r>0&&r<8?2:r});break;default:throw new Error("Bad SerAr: "+t[0]);}return t}function Ku(e,r,t){var a=e._R(t.biff==12?4:2);var n=[];for(var i=0;i!=a;++i)n.push((t.biff==12?Fn:Ys)(e,8));return n}function Yu(e,r,t){var a=0,n=0;if(t.biff==12){a=e._R(4);n=e._R(4)}else{n=1+e._R(1);a=1+e._R(2)}if(t.biff>=2&&t.biff<8){--a;if(--n==0)n=256}for(var i=0,s=[];i!=a&&(s[i]=[]);++i)for(var f=0;f!=n;++f)s[i][f]=ju(e,t.biff);return s}function Zu(e,r,t){var a=e._R(1)>>>5&3;var n=!t||t.biff>=8?4:2;var i=e._R(n);switch(t.biff){case 2:e.l+=5;break;case 3:;case 4:e.l+=8;break;case 5:e.l+=12;break;}return[a,0,i]}function Ju(e,r,t){if(t.biff==5)return qu(e,r,t);var a=e._R(1)>>>5&3;var n=e._R(2);var i=e._R(4);return[a,n,i]}function qu(e){var r=e._R(1)>>>5&3;var t=e._R(2,"i");e.l+=8;var a=e._R(2);e.l+=12;return[r,t,a]}function Qu(e,r,t){var a=e._R(1)>>>5&3;e.l+=t&&t.biff==2?3:4;var n=e._R(t&&t.biff==2?1:2);return[a,n]}function ed(e,r,t){var a=e._R(1)>>>5&3;var n=e._R(t&&t.biff==2?1:2);return[a,n]}function rd(e,r,t){var a=e._R(1)>>>5&3;e.l+=4;if(t.biff<8)e.l--;if(t.biff==12)e.l+=2;return[a]}function td(e,r,t){var a=(e[e.l++]&96)>>5;var n=e._R(2);var i=4;if(t)switch(t.biff){case 5:i=15;break;case 12:i=6;break;}e.l+=i;return[a,n]}var ad=Ia;var nd=Ia;var id=Ia;function sd(e,r,t){e.l+=2;return[mu(e,4,t)]}function fd(e){e.l+=6;return[]}var ld=sd;var od=fd;var cd=fd;var hd=sd;function ud(e){e.l+=2;return[ks(e),e._R(2)&1]}var dd=sd;var vd=ud;var pd=fd;var md=sd;var gd=sd;var bd=["Data","All","Headers","??","?Data2","??","?DataHeaders","??","Totals","??","??","??","?DataTotals","??","??","??","?Current"];function wd(e){e.l+=2;var r=e._R(2);var t=e._R(2);var a=e._R(4);var n=e._R(2);var i=e._R(2);var s=bd[t>>2&31];return{ixti:r,coltype:t&3,rt:s,idx:a,c:n,C:i}}function kd(e){e.l+=2;return[e._R(4)]}function Ad(e,r,t){e.l+=5;e.l+=2;e.l+=t.biff==2?1:4;return["PTGSHEET"]}function Td(e,r,t){e.l+=t.biff==2?4:5;return["PTGENDSHEET"]}function yd(e){var r=e._R(1)>>>5&3;var t=e._R(2);return[r,t]}function Ed(e){var r=e._R(1)>>>5&3;var t=e._R(2);return[r,t]}function Cd(e){e.l+=4;return[0,0]}var _d={1:{n:"PtgExp",f:zu},2:{n:"PtgTbl",f:id},3:{n:"PtgAdd",f:ou},4:{n:"PtgSub",f:ou},5:{n:"PtgMul",f:ou},6:{n:"PtgDiv",f:ou},7:{n:"PtgPower",f:ou},8:{n:"PtgConcat",f:ou},9:{n:"PtgLt",f:ou},10:{n:"PtgLe",f:ou},11:{n:"PtgEq",f:ou},12:{n:"PtgGe",f:ou},13:{n:"PtgGt",f:ou},14:{n:"PtgNe",f:ou},15:{n:"PtgIsect",f:ou},16:{n:"PtgUnion",f:ou},17:{n:"PtgRange",f:ou},18:{n:"PtgUplus",f:ou},19:{n:"PtgUminus",f:ou},20:{n:"PtgPercent",f:ou},21:{n:"PtgParen",f:ou},22:{n:"PtgMissArg",f:ou},23:{n:"PtgStr",f:Gu},26:{n:"PtgSheet",f:Ad},27:{n:"PtgEndSheet",f:Td},28:{n:"PtgErr",f:Hu},29:{n:"PtgBool",f:$u},30:{n:"PtgInt",f:Vu},31:{n:"PtgNum",f:Xu},32:{n:"PtgArray",f:Eu},33:{n:"PtgFunc",f:Mu},34:{n:"PtgFuncVar",f:Uu},35:{n:"PtgName",f:Zu},36:{n:"PtgRef",f:Du},37:{n:"PtgArea",f:wu},38:{n:"PtgMemArea",f:Qu},39:{n:"PtgMemErr",f:ad},40:{n:"PtgMemNoMem",f:nd},41:{n:"PtgMemFunc",f:ed},42:{n:"PtgRefErr",f:rd},43:{n:"PtgAreaErr",f:Au},44:{n:"PtgRefN",f:Pu},45:{n:"PtgAreaN",f:yu},46:{n:"PtgMemAreaN",f:yd},47:{n:"PtgMemNoMemN",f:Ed},57:{n:"PtgNameX",f:Ju},58:{n:"PtgRef3d",f:Lu},59:{n:"PtgArea3d",f:ku},60:{n:"PtgRefErr3d",f:td},61:{n:"PtgAreaErr3d",f:Tu},255:{}};var Sd={64:32,96:32,65:33,97:33,66:34,98:34,67:35,99:35,68:36,100:36,69:37,101:37,70:38,102:38,71:39,103:39,72:40,104:40,73:41,105:41,74:42,106:42,75:43,107:43,76:44,108:44,77:45,109:45,78:46,110:46,79:47,111:47,88:34,120:34,89:57,121:57,90:58,122:58,91:59,123:59,92:60,124:60,93:61,125:61};var xd={1:{n:"PtgElfLel",f:ud},2:{n:"PtgElfRw",f:md},3:{n:"PtgElfCol",f:ld},6:{n:"PtgElfRwV",f:gd},7:{n:"PtgElfColV",f:hd},10:{n:"PtgElfRadical",f:dd},11:{n:"PtgElfRadicalS",f:pd},13:{n:"PtgElfColS",f:od},15:{n:"PtgElfColSV",f:cd},16:{n:"PtgElfRadicalLel",f:vd},25:{n:"PtgList",f:wd},29:{n:"PtgSxName",f:kd},255:{}};var Od={0:{n:"PtgAttrNoop",f:Cd},1:{n:"PtgAttrSemi",f:Iu},2:{n:"PtgAttrIf",f:xu},4:{n:"PtgAttrChoose",f:_u},8:{n:"PtgAttrGoto",f:Su},16:{n:"PtgAttrSum",f:Wu},32:{n:"PtgAttrBaxcel",f:Cu},33:{n:"PtgAttrBaxcel",f:Cu},64:{n:"PtgAttrSpace",f:Nu},65:{n:"PtgAttrSpaceSemi",f:Fu},128:{n:"PtgAttrIfError",f:Ou},255:{}};function Id(e,r,t,a){if(a.biff<8)return Ia(e,r);var n=e.l+r;var i=[];for(var s=0;s!==t.length;++s){switch(t[s][0]){case"PtgArray":t[s][1]=Yu(e,0,a);i.push(t[s][1]);break;case"PtgMemArea":t[s][2]=Ku(e,t[s][1],a);i.push(t[s][2]);break;case"PtgExp":if(a&&a.biff==12){t[s][1][1]=e._R(4);i.push(t[s][1])}break;case"PtgList":;case"PtgElfRadicalS":;case"PtgElfColS":;case"PtgElfColSV":throw"Unsupported "+t[s][0];default:break;}}r=n-e.l;if(r!==0)i.push(Ia(e,r));return i}function Rd(e,r,t){var a=e.l+r;var n,i,s=[];while(a!=e.l){r=a-e.l;i=e[e.l];n=_d[i]||_d[Sd[i]];if(i===24||i===25)n=(i===24?xd:Od)[e[e.l+1]];if(!n||!n.f){Ia(e,r)}else{s.push([n.n,n.f(e,r,t)])}}return s}function Nd(e){var r=[];for(var t=0;t=",PtgGt:">",PtgLe:"<=",PtgLt:"<",PtgMul:"*",PtgNe:"<>",PtgPower:"^",PtgSub:"-"};function Dd(e,r){var t=e.lastIndexOf("!"),a=r.lastIndexOf("!");if(t==-1&&a==-1)return e+":"+r;if(t>0&&a>0&&e.slice(0,t).toLowerCase()==r.slice(0,a).toLowerCase())return e+":"+r.slice(a+1);console.error("Cannot hydrate range",e,r);return e+":"+r}function Pd(e,r,t){if(!e)return"SH33TJSERR0";if(t.biff>8&&(!e.XTI||!e.XTI[r]))return e.SheetNames[r];if(!e.XTI)return"SH33TJSERR6";var a=e.XTI[r];if(t.biff<8){if(r>1e4)r-=65536;if(r<0)r=-r;return r==0?"":e.XTI[r-1]}if(!a)return"SH33TJSERR1";var n="";if(t.biff>8)switch(e[a[0]][0]){case 357:n=a[1]==-1?"#REF":e.SheetNames[a[1]];return a[1]==a[2]?n:n+":"+e.SheetNames[a[2]];case 358:if(t.SID!=null)return e.SheetNames[t.SID];return"SH33TJSSAME"+e[a[0]][0];case 355:;default:return"SH33TJSSRC"+e[a[0]][0];}switch(e[a[0]][0][0]){case 1025:n=a[1]==-1?"#REF":e.SheetNames[a[1]]||"SH33TJSERR3";return a[1]==a[2]?n:n+":"+e.SheetNames[a[2]];case 14849:return e[a[0]].slice(1).map(function(e){return e.Name}).join(";;");default:if(!e[a[0]][0][3])return"SH33TJSERR2";n=a[1]==-1?"#REF":e[a[0]][0][3][a[1]]||"SH33TJSERR4";return a[1]==a[2]?n:n+":"+e[a[0]][0][3][a[2]];}}function Ld(e,r,t){var a=Pd(e,r,t);return a=="#REF"?a:Qa(a,t)}function Md(e,r,t,a,n){var i=n&&n.biff||8;var s={s:{c:0,r:0},e:{c:0,r:0}};var f=[],l,o,c,h=0,u=0,d,v="";if(!e[0]||!e[0][0])return"";var p=-1,m="";for(var g=0,b=e[0].length;g=0){switch(e[0][p][1][0]){case 0:m=Tr(" ",e[0][p][1][1]);break;case 1:m=Tr("\r",e[0][p][1][1]);break;default:m="";if(n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+e[0][p][1][0]);}o=o+m;p=-1}f.push(o+Fd[w[0]]+l);break;case"PtgIsect":l=f.pop();o=f.pop();f.push(o+" "+l);break;case"PtgUnion":l=f.pop();o=f.pop();f.push(o+","+l);break;case"PtgRange":l=f.pop();o=f.pop();f.push(Dd(o,l));break;case"PtgAttrChoose":break;case"PtgAttrGoto":break;case"PtgAttrIf":break;case"PtgAttrIfError":break;case"PtgRef":c=Pa(w[1][1],s,n);f.push(Ma(c,i));break;case"PtgRefN":c=t?Pa(w[1][1],t,n):w[1][1];f.push(Ma(c,i));break;case"PtgRef3d":h=w[1][1];c=Pa(w[1][2],s,n);v=Ld(a,h,n);var k=v;f.push(v+"!"+Ma(c,i));break;case"PtgFunc":;case"PtgFuncVar":var A=w[1][0],T=w[1][1];if(!A)A=0;A&=127;var y=A==0?[]:f.slice(-A);f.length-=A;if(T==="User")T=y.shift();f.push(T+"("+y.join(",")+")");break;case"PtgBool":f.push(w[1]?"TRUE":"FALSE");break;case"PtgInt":f.push(w[1]);break;case"PtgNum":f.push(String(w[1]));break;case"PtgStr":f.push('"'+w[1].replace(/"/g,'""')+'"');break;case"PtgErr":f.push(w[1]);break;case"PtgAreaN":d=La(w[1][1],t?{s:t}:s,n);f.push(Ua(d,n));break;case"PtgArea":d=La(w[1][1],s,n);f.push(Ua(d,n));break;case"PtgArea3d":h=w[1][1];d=w[1][2];v=Ld(a,h,n);f.push(v+"!"+Ua(d,n));break;case"PtgAttrSum":f.push("SUM("+f.pop()+")");break;case"PtgAttrBaxcel":;case"PtgAttrSemi":break;case"PtgName":u=w[1][2];var E=(a.names||[])[u-1]||(a[0]||[])[u];var C=E?E.Name:"SH33TJSNAME"+String(u);if(C&&C.slice(0,6)=="_xlfn."&&!n.xlfn)C=C.slice(6);f.push(C);break;case"PtgNameX":var _=w[1][1];u=w[1][2];var S;if(n.biff<=5){if(_<0)_=-_;if(a[_])S=a[_][u]}else{var x="";if(((a[_]||[])[0]||[])[0]==14849){}else if(((a[_]||[])[0]||[])[0]==1025){if(a[_][u]&&a[_][u].itab>0){x=a.SheetNames[a[_][u].itab-1]+"!"}}else x=a.SheetNames[u-1]+"!";if(a[_]&&a[_][u])x+=a[_][u].Name;else if(a[0]&&a[0][u])x+=a[0][u].Name;else{var O=(Pd(a,_,n)||"").split(";;");if(O[u-1])x=O[u-1];else x+="SH33TJSERRX"}f.push(x);break}if(!S)S={Name:"SH33TJSERRY"};f.push(S.Name);break;case"PtgParen":var I="(",R=")";if(p>=0){m="";switch(e[0][p][1][0]){case 2:I=Tr(" ",e[0][p][1][1])+I;break;case 3:I=Tr("\r",e[0][p][1][1])+I;break;case 4:R=Tr(" ",e[0][p][1][1])+R;break;case 5:R=Tr("\r",e[0][p][1][1])+R;break;default:if(n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+e[0][p][1][0]);}p=-1}f.push(I+f.pop()+R);break;case"PtgRefErr":f.push("#REF!");break;case"PtgRefErr3d":f.push("#REF!");break;case"PtgExp":c={c:w[1][1],r:w[1][0]};var N={c:t.c,r:t.r};if(a.sharedf[Ya(c)]){var F=a.sharedf[Ya(c)];f.push(Md(F,s,N,a,n))}else{var D=false;for(l=0;l!=a.arrayf.length;++l){o=a.arrayf[l];if(c.co[0].e.c)continue;if(c.ro[0].e.r)continue;f.push(Md(o[1],s,N,a,n));D=true;break}if(!D)f.push(w[1])}break;case"PtgArray":f.push("{"+Nd(w[1])+"}");break;case"PtgMemArea":break;case"PtgAttrSpace":;case"PtgAttrSpaceSemi":p=g;break;case"PtgTbl":break;case"PtgMemErr":break;case"PtgMissArg":f.push("");break;case"PtgAreaErr":f.push("#REF!");break;case"PtgAreaErr3d":f.push("#REF!");break;case"PtgList":f.push("Table"+w[1].idx+"[#"+w[1].rt+"]");break;case"PtgMemAreaN":;case"PtgMemNoMemN":;case"PtgAttrNoop":;case"PtgSheet":;case"PtgEndSheet":break;case"PtgMemFunc":break;case"PtgMemNoMem":break;case"PtgElfCol":;case"PtgElfColS":;case"PtgElfColSV":;case"PtgElfColV":;case"PtgElfLel":;case"PtgElfRadical":;case"PtgElfRadicalLel":;case"PtgElfRadicalS":;case"PtgElfRw":;case"PtgElfRwV":throw new Error("Unsupported ELFs");case"PtgSxName":throw new Error("Unrecognized Formula Token: "+String(w));default:throw new Error("Unrecognized Formula Token: "+String(w));}var P=["PtgAttrSpace","PtgAttrSpaceSemi","PtgAttrGoto"];if(n.biff!=3)if(p>=0&&P.indexOf(e[0][g][0])==-1){w=e[0][p];var L=true;switch(w[1][0]){case 4:L=false;case 0:m=Tr(" ",w[1][1]);break;case 5:L=false;case 1:m=Tr("\r",w[1][1]);break;default:m="";if(n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+w[1][0]);}f.push((L?m:"")+f.pop()+(L?"":m));p=-1}}if(f.length>1&&n.WTF)throw new Error("bad formula stack");if(f[0]=="TRUE")return true;if(f[0]=="FALSE")return false;return f[0]}function Ud(e,r,t){var a=e.l+r,n=t.biff==2?1:2;var i,s=e._R(n);if(s==65535)return[[],Ia(e,r-2)];var f=Rd(e,s,t);if(r!==s+n)i=Id(e,r-s-n,f,t);e.l=a;return[f,i]}function Bd(e,r,t){var a=e.l+r,n=t.biff==2?1:2;var i,s=e._R(n);if(s==65535)return[[],Ia(e,r-2)];var f=Rd(e,s,t);if(r!==s+n)i=Id(e,r-s-n,f,t);e.l=a;return[f,i]}function Wd(e,r,t,a){var n=e.l+r;var i=Rd(e,a,t);var s;if(n!==e.l)s=Id(e,n-e.l,i,t);return[i,s]}function zd(e,r,t){var a=e.l+r;var n,i=e._R(2);var s=Rd(e,i,t);if(i==65535)return[[],Ia(e,r-2)];if(r!==i+2)n=Id(e,a-i-2,s,t);return[s,n]}function Hd(e){var r;if(ba(e,e.l+6)!==65535)return[Pn(e),"n"];switch(e[e.l]){case 0:e.l+=8;return["String","s"];case 1:r=e[e.l+2]===1;e.l+=8;return[r,"b"];case 2:r=e[e.l+2];e.l+=8;return[r,"e"];case 3:e.l+=8;return["","s"];}return[]}function Vd(e){if(e==null){var r=Ra(8);r._W(1,3);r._W(1,0);r._W(2,0);r._W(2,0);r._W(2,65535);return r}else if(typeof e=="number")return Ln(e);return Ln(0)}function $d(e,r,t){var a=e.l+r;var n=Hs(e,6,t);var i=Hd(e,8);var s=e._R(1);if(t.biff!=2){e._R(1);if(t.biff>=5){e._R(4)}}var f=Bd(e,a-e.l,t);return{cell:n,val:i[0],formula:f,shared:s>>3&1,tt:i[1]}}function Xd(e,r,t,a,n){var i=Vs(r,t,n);var s=Vd(e.v);var f=Ra(6);var l=1|32;f._W(2,l);f._W(4,0);var o=Ra(e.bf.length);for(var c=0;c0?Id(e,i,n,t):null;return[n,s]}var jd=Gd;var Kd=Gd;var Yd=Gd;var Zd=Gd;function Jd(e){if((e|0)==e&&e=0){var r=Ra(11);r._W(4,3);r._W(1,30);r._W(2,e);r._W(4,0);return r}var t=Ra(17);t._W(4,11);t._W(1,31);t._W(8,e);t._W(4,0);return t}function qd(e){var r=Ra(10);r._W(4,2);r._W(1,28);r._W(1,e);r._W(4,0);return r}function Qd(e){var r=Ra(10);r._W(4,2);r._W(1,29);r._W(1,e?1:0);r._W(4,0);return r}function ev(e){var r=Ra(7);r._W(4,3+2*e.length);r._W(1,23);r._W(2,e.length);var t=Ra(2*e.length);t._W(2*e.length,e,"utf16le");var a=Ra(4);a._W(4,0);return P([r,t,a])}function rv(e){var r=Ka(e);var t=Ra(15);t._W(4,7);t._W(1,4|1<<5);t._W(4,r.r);t._W(2,r.c|(e.charAt(0)=="$"?0:1)<<14|(e.match(/\$\d/)?0:1)<<15);t._W(4,0);return t}function tv(e,r){var t=e.lastIndexOf("!");var a=e.slice(0,t);e=e.slice(t+1);var n=Ka(e);if(a.charAt(0)=="'")a=a.slice(1,-1).replace(/''/g,"'");var i=Ra(17);i._W(4,9);i._W(1,26|1<<5);i._W(2,2+r.SheetNames.map(function(e){return e.toLowerCase()}).indexOf(a.toLowerCase()));i._W(4,n.r);i._W(2,n.c|(e.charAt(0)=="$"?0:1)<<14|(e.match(/\$\d/)?0:1)<<15);i._W(4,0);return i}function av(e,r){var t=e.lastIndexOf("!");var a=e.slice(0,t);e=e.slice(t+1);if(a.charAt(0)=="'")a=a.slice(1,-1).replace(/''/g,"'");var n=Ra(17);n._W(4,9);n._W(1,28|1<<5);n._W(2,2+r.SheetNames.map(function(e){return e.toLowerCase()}).indexOf(a.toLowerCase()));n._W(4,0);n._W(2,0);n._W(4,0);return n}function nv(e){var r=e.split(":"),t=r[0];var a=Ra(23);a._W(4,15);t=r[0];var n=Ka(t);a._W(1,4|1<<5);a._W(4,n.r);a._W(2,n.c|(t.charAt(0)=="$"?0:1)<<14|(t.match(/\$\d/)?0:1)<<15);a._W(4,0);t=r[1];n=Ka(t);a._W(1,4|1<<5);a._W(4,n.r);a._W(2,n.c|(t.charAt(0)=="$"?0:1)<<14|(t.match(/\$\d/)?0:1)<<15);a._W(4,0);a._W(1,17);a._W(4,0);return a}function iv(e,r){var t=e.lastIndexOf("!");var a=e.slice(0,t);e=e.slice(t+1);if(a.charAt(0)=="'")a=a.slice(1,-1).replace(/''/g,"'");var n=e.split(":");var i=Ra(27);i._W(4,19);var s=n[0],f=Ka(s);i._W(1,26|1<<5);i._W(2,2+r.SheetNames.map(function(e){return e.toLowerCase()}).indexOf(a.toLowerCase()));i._W(4,f.r);i._W(2,f.c|(s.charAt(0)=="$"?0:1)<<14|(s.match(/\$\d/)?0:1)<<15);s=n[1];f=Ka(s);i._W(1,26|1<<5);i._W(2,2+r.SheetNames.map(function(e){return e.toLowerCase()}).indexOf(a.toLowerCase()));i._W(4,f.r);i._W(2,f.c|(s.charAt(0)=="$"?0:1)<<14|(s.match(/\$\d/)?0:1)<<15);i._W(1,17);i._W(4,0);return i}function sv(e,r){var t=e.lastIndexOf("!");var a=e.slice(0,t);e=e.slice(t+1);if(a.charAt(0)=="'")a=a.slice(1,-1).replace(/''/g,"'");var n=Za(e);var i=Ra(23);i._W(4,15);i._W(1,27|1<<5);i._W(2,2+r.SheetNames.map(function(e){return e.toLowerCase()}).indexOf(a.toLowerCase()));i._W(4,n.s.r);i._W(4,n.e.r);i._W(2,n.s.c);i._W(2,n.e.c);i._W(4,0);return i}function fv(e,r){if(typeof e=="number")return Jd(e);if(typeof e=="boolean")return Qd(e);if(/^#(DIV\/0!|GETTING_DATA|N\/A|NAME\?|NULL!|NUM!|REF!|VALUE!)$/.test(e))return qd(+hi[e]);if(e.match(/^\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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})$/))return rv(e);if(e.match(/^\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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})$/))return nv(e);if(e.match(/^#REF!\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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})$/))return sv(e,r);if(e.match(/^(?:'[^\\\/?*\[\]:]*'|[^'][^\\\/?*\[\]:'`~!@#$%^()\-=+{}|;,<.>]*)!\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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})$/))return tv(e,r);if(e.match(/^(?:'[^\\\/?*\[\]:]*'|[^'][^\\\/?*\[\]:'`~!@#$%^()\-=+{}|;,<.>]*)!\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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})$/))return iv(e,r); +if(/^(?:'[^\\\/?*\[\]:]*'|[^'][^\\\/?*\[\]:'`~!@#$%^()\-=+{}|;,<.>]*)!#REF!$/.test(e))return av(e,r);if(/^".*"$/.test(e))return ev(e);if(/^[+-]\d+$/.test(e))return Jd(parseInt(e,10));throw"Formula |"+e+"| not supported for XLSB"}var lv=fv;var ov={0:"BEEP",1:"OPEN",2:"OPEN.LINKS",3:"CLOSE.ALL",4:"SAVE",5:"SAVE.AS",6:"FILE.DELETE",7:"PAGE.SETUP",8:"PRINT",9:"PRINTER.SETUP",10:"QUIT",11:"NEW.WINDOW",12:"ARRANGE.ALL",13:"WINDOW.SIZE",14:"WINDOW.MOVE",15:"FULL",16:"CLOSE",17:"RUN",22:"SET.PRINT.AREA",23:"SET.PRINT.TITLES",24:"SET.PAGE.BREAK",25:"REMOVE.PAGE.BREAK",26:"FONT",27:"DISPLAY",28:"PROTECT.DOCUMENT",29:"PRECISION",30:"A1.R1C1",31:"CALCULATE.NOW",32:"CALCULATION",34:"DATA.FIND",35:"EXTRACT",36:"DATA.DELETE",37:"SET.DATABASE",38:"SET.CRITERIA",39:"SORT",40:"DATA.SERIES",41:"TABLE",42:"FORMAT.NUMBER",43:"ALIGNMENT",44:"STYLE",45:"BORDER",46:"CELL.PROTECTION",47:"COLUMN.WIDTH",48:"UNDO",49:"CUT",50:"COPY",51:"PASTE",52:"CLEAR",53:"PASTE.SPECIAL",54:"EDIT.DELETE",55:"INSERT",56:"FILL.RIGHT",57:"FILL.DOWN",61:"DEFINE.NAME",62:"CREATE.NAMES",63:"FORMULA.GOTO",64:"FORMULA.FIND",65:"SELECT.LAST.CELL",66:"SHOW.ACTIVE.CELL",67:"GALLERY.AREA",68:"GALLERY.BAR",69:"GALLERY.COLUMN",70:"GALLERY.LINE",71:"GALLERY.PIE",72:"GALLERY.SCATTER",73:"COMBINATION",74:"PREFERRED",75:"ADD.OVERLAY",76:"GRIDLINES",77:"SET.PREFERRED",78:"AXES",79:"LEGEND",80:"ATTACH.TEXT",81:"ADD.ARROW",82:"SELECT.CHART",83:"SELECT.PLOT.AREA",84:"PATTERNS",85:"MAIN.CHART",86:"OVERLAY",87:"SCALE",88:"FORMAT.LEGEND",89:"FORMAT.TEXT",90:"EDIT.REPEAT",91:"PARSE",92:"JUSTIFY",93:"HIDE",94:"UNHIDE",95:"WORKSPACE",96:"FORMULA",97:"FORMULA.FILL",98:"FORMULA.ARRAY",99:"DATA.FIND.NEXT",100:"DATA.FIND.PREV",101:"FORMULA.FIND.NEXT",102:"FORMULA.FIND.PREV",103:"ACTIVATE",104:"ACTIVATE.NEXT",105:"ACTIVATE.PREV",106:"UNLOCKED.NEXT",107:"UNLOCKED.PREV",108:"COPY.PICTURE",109:"SELECT",110:"DELETE.NAME",111:"DELETE.FORMAT",112:"VLINE",113:"HLINE",114:"VPAGE",115:"HPAGE",116:"VSCROLL",117:"HSCROLL",118:"ALERT",119:"NEW",120:"CANCEL.COPY",121:"SHOW.CLIPBOARD",122:"MESSAGE",124:"PASTE.LINK",125:"APP.ACTIVATE",126:"DELETE.ARROW",127:"ROW.HEIGHT",128:"FORMAT.MOVE",129:"FORMAT.SIZE",130:"FORMULA.REPLACE",131:"SEND.KEYS",132:"SELECT.SPECIAL",133:"APPLY.NAMES",134:"REPLACE.FONT",135:"FREEZE.PANES",136:"SHOW.INFO",137:"SPLIT",138:"ON.WINDOW",139:"ON.DATA",140:"DISABLE.INPUT",142:"OUTLINE",143:"LIST.NAMES",144:"FILE.CLOSE",145:"SAVE.WORKBOOK",146:"DATA.FORM",147:"COPY.CHART",148:"ON.TIME",149:"WAIT",150:"FORMAT.FONT",151:"FILL.UP",152:"FILL.LEFT",153:"DELETE.OVERLAY",155:"SHORT.MENUS",159:"SET.UPDATE.STATUS",161:"COLOR.PALETTE",162:"DELETE.STYLE",163:"WINDOW.RESTORE",164:"WINDOW.MAXIMIZE",166:"CHANGE.LINK",167:"CALCULATE.DOCUMENT",168:"ON.KEY",169:"APP.RESTORE",170:"APP.MOVE",171:"APP.SIZE",172:"APP.MINIMIZE",173:"APP.MAXIMIZE",174:"BRING.TO.FRONT",175:"SEND.TO.BACK",185:"MAIN.CHART.TYPE",186:"OVERLAY.CHART.TYPE",187:"SELECT.END",188:"OPEN.MAIL",189:"SEND.MAIL",190:"STANDARD.FONT",191:"CONSOLIDATE",192:"SORT.SPECIAL",193:"GALLERY.3D.AREA",194:"GALLERY.3D.COLUMN",195:"GALLERY.3D.LINE",196:"GALLERY.3D.PIE",197:"VIEW.3D",198:"GOAL.SEEK",199:"WORKGROUP",200:"FILL.GROUP",201:"UPDATE.LINK",202:"PROMOTE",203:"DEMOTE",204:"SHOW.DETAIL",206:"UNGROUP",207:"OBJECT.PROPERTIES",208:"SAVE.NEW.OBJECT",209:"SHARE",210:"SHARE.NAME",211:"DUPLICATE",212:"APPLY.STYLE",213:"ASSIGN.TO.OBJECT",214:"OBJECT.PROTECTION",215:"HIDE.OBJECT",216:"SET.EXTRACT",217:"CREATE.PUBLISHER",218:"SUBSCRIBE.TO",219:"ATTRIBUTES",220:"SHOW.TOOLBAR",222:"PRINT.PREVIEW",223:"EDIT.COLOR",224:"SHOW.LEVELS",225:"FORMAT.MAIN",226:"FORMAT.OVERLAY",227:"ON.RECALC",228:"EDIT.SERIES",229:"DEFINE.STYLE",240:"LINE.PRINT",243:"ENTER.DATA",249:"GALLERY.RADAR",250:"MERGE.STYLES",251:"EDITION.OPTIONS",252:"PASTE.PICTURE",253:"PASTE.PICTURE.LINK",254:"SPELLING",256:"ZOOM",259:"INSERT.OBJECT",260:"WINDOW.MINIMIZE",265:"SOUND.NOTE",266:"SOUND.PLAY",267:"FORMAT.SHAPE",268:"EXTEND.POLYGON",269:"FORMAT.AUTO",272:"GALLERY.3D.BAR",273:"GALLERY.3D.SURFACE",274:"FILL.AUTO",276:"CUSTOMIZE.TOOLBAR",277:"ADD.TOOL",278:"EDIT.OBJECT",279:"ON.DOUBLECLICK",280:"ON.ENTRY",281:"WORKBOOK.ADD",282:"WORKBOOK.MOVE",283:"WORKBOOK.COPY",284:"WORKBOOK.OPTIONS",285:"SAVE.WORKSPACE",288:"CHART.WIZARD",289:"DELETE.TOOL",290:"MOVE.TOOL",291:"WORKBOOK.SELECT",292:"WORKBOOK.ACTIVATE",293:"ASSIGN.TO.TOOL",295:"COPY.TOOL",296:"RESET.TOOL",297:"CONSTRAIN.NUMERIC",298:"PASTE.TOOL",302:"WORKBOOK.NEW",305:"SCENARIO.CELLS",306:"SCENARIO.DELETE",307:"SCENARIO.ADD",308:"SCENARIO.EDIT",309:"SCENARIO.SHOW",310:"SCENARIO.SHOW.NEXT",311:"SCENARIO.SUMMARY",312:"PIVOT.TABLE.WIZARD",313:"PIVOT.FIELD.PROPERTIES",314:"PIVOT.FIELD",315:"PIVOT.ITEM",316:"PIVOT.ADD.FIELDS",318:"OPTIONS.CALCULATION",319:"OPTIONS.EDIT",320:"OPTIONS.VIEW",321:"ADDIN.MANAGER",322:"MENU.EDITOR",323:"ATTACH.TOOLBARS",324:"VBAActivate",325:"OPTIONS.CHART",328:"VBA.INSERT.FILE",330:"VBA.PROCEDURE.DEFINITION",336:"ROUTING.SLIP",338:"ROUTE.DOCUMENT",339:"MAIL.LOGON",342:"INSERT.PICTURE",343:"EDIT.TOOL",344:"GALLERY.DOUGHNUT",350:"CHART.TREND",352:"PIVOT.ITEM.PROPERTIES",354:"WORKBOOK.INSERT",355:"OPTIONS.TRANSITION",356:"OPTIONS.GENERAL",370:"FILTER.ADVANCED",373:"MAIL.ADD.MAILER",374:"MAIL.DELETE.MAILER",375:"MAIL.REPLY",376:"MAIL.REPLY.ALL",377:"MAIL.FORWARD",378:"MAIL.NEXT.LETTER",379:"DATA.LABEL",380:"INSERT.TITLE",381:"FONT.PROPERTIES",382:"MACRO.OPTIONS",383:"WORKBOOK.HIDE",384:"WORKBOOK.UNHIDE",385:"WORKBOOK.DELETE",386:"WORKBOOK.NAME",388:"GALLERY.CUSTOM",390:"ADD.CHART.AUTOFORMAT",391:"DELETE.CHART.AUTOFORMAT",392:"CHART.ADD.DATA",393:"AUTO.OUTLINE",394:"TAB.ORDER",395:"SHOW.DIALOG",396:"SELECT.ALL",397:"UNGROUP.SHEETS",398:"SUBTOTAL.CREATE",399:"SUBTOTAL.REMOVE",400:"RENAME.OBJECT",412:"WORKBOOK.SCROLL",413:"WORKBOOK.NEXT",414:"WORKBOOK.PREV",415:"WORKBOOK.TAB.SPLIT",416:"FULL.SCREEN",417:"WORKBOOK.PROTECT",420:"SCROLLBAR.PROPERTIES",421:"PIVOT.SHOW.PAGES",422:"TEXT.TO.COLUMNS",423:"FORMAT.CHARTTYPE",424:"LINK.FORMAT",425:"TRACER.DISPLAY",430:"TRACER.NAVIGATE",431:"TRACER.CLEAR",432:"TRACER.ERROR",433:"PIVOT.FIELD.GROUP",434:"PIVOT.FIELD.UNGROUP",435:"CHECKBOX.PROPERTIES",436:"LABEL.PROPERTIES",437:"LISTBOX.PROPERTIES",438:"EDITBOX.PROPERTIES",439:"PIVOT.REFRESH",440:"LINK.COMBO",441:"OPEN.TEXT",442:"HIDE.DIALOG",443:"SET.DIALOG.FOCUS",444:"ENABLE.OBJECT",445:"PUSHBUTTON.PROPERTIES",446:"SET.DIALOG.DEFAULT",447:"FILTER",448:"FILTER.SHOW.ALL",449:"CLEAR.OUTLINE",450:"FUNCTION.WIZARD",451:"ADD.LIST.ITEM",452:"SET.LIST.ITEM",453:"REMOVE.LIST.ITEM",454:"SELECT.LIST.ITEM",455:"SET.CONTROL.VALUE",456:"SAVE.COPY.AS",458:"OPTIONS.LISTS.ADD",459:"OPTIONS.LISTS.DELETE",460:"SERIES.AXES",461:"SERIES.X",462:"SERIES.Y",463:"ERRORBAR.X",464:"ERRORBAR.Y",465:"FORMAT.CHART",466:"SERIES.ORDER",467:"MAIL.LOGOFF",468:"CLEAR.ROUTING.SLIP",469:"APP.ACTIVATE.MICROSOFT",470:"MAIL.EDIT.MAILER",471:"ON.SHEET",472:"STANDARD.WIDTH",473:"SCENARIO.MERGE",474:"SUMMARY.INFO",475:"FIND.FILE",476:"ACTIVE.CELL.FONT",477:"ENABLE.TIPWIZARD",478:"VBA.MAKE.ADDIN",480:"INSERTDATATABLE",481:"WORKGROUP.OPTIONS",482:"MAIL.SEND.MAILER",485:"AUTOCORRECT",489:"POST.DOCUMENT",491:"PICKLIST",493:"VIEW.SHOW",494:"VIEW.DEFINE",495:"VIEW.DELETE",509:"SHEET.BACKGROUND",510:"INSERT.MAP.OBJECT",511:"OPTIONS.MENONO",517:"MSOCHECKS",518:"NORMAL",519:"LAYOUT",520:"RM.PRINT.AREA",521:"CLEAR.PRINT.AREA",522:"ADD.PRINT.AREA",523:"MOVE.BRK",545:"HIDECURR.NOTE",546:"HIDEALL.NOTES",547:"DELETE.NOTE",548:"TRAVERSE.NOTES",549:"ACTIVATE.NOTES",620:"PROTECT.REVISIONS",621:"UNPROTECT.REVISIONS",647:"OPTIONS.ME",653:"WEB.PUBLISH",667:"NEWWEBQUERY",673:"PIVOT.TABLE.CHART",753:"OPTIONS.SAVE",755:"OPTIONS.SPELL",808:"HIDEALL.INKANNOTS"};var cv={0:"COUNT",1:"IF",2:"ISNA",3:"ISERROR",4:"SUM",5:"AVERAGE",6:"MIN",7:"MAX",8:"ROW",9:"COLUMN",10:"NA",11:"NPV",12:"STDEV",13:"DOLLAR",14:"FIXED",15:"SIN",16:"COS",17:"TAN",18:"ATAN",19:"PI",20:"SQRT",21:"EXP",22:"LN",23:"LOG10",24:"ABS",25:"INT",26:"SIGN",27:"ROUND",28:"LOOKUP",29:"INDEX",30:"REPT",31:"MID",32:"LEN",33:"VALUE",34:"TRUE",35:"FALSE",36:"AND",37:"OR",38:"NOT",39:"MOD",40:"DCOUNT",41:"DSUM",42:"DAVERAGE",43:"DMIN",44:"DMAX",45:"DSTDEV",46:"VAR",47:"DVAR",48:"TEXT",49:"LINEST",50:"TREND",51:"LOGEST",52:"GROWTH",53:"GOTO",54:"HALT",55:"RETURN",56:"PV",57:"FV",58:"NPER",59:"PMT",60:"RATE",61:"MIRR",62:"IRR",63:"RAND",64:"MATCH",65:"DATE",66:"TIME",67:"DAY",68:"MONTH",69:"YEAR",70:"WEEKDAY",71:"HOUR",72:"MINUTE",73:"SECOND",74:"NOW",75:"AREAS",76:"ROWS",77:"COLUMNS",78:"OFFSET",79:"ABSREF",80:"RELREF",81:"ARGUMENT",82:"SEARCH",83:"TRANSPOSE",84:"ERROR",85:"STEP",86:"TYPE",87:"ECHO",88:"SET.NAME",89:"CALLER",90:"DEREF",91:"WINDOWS",92:"SERIES",93:"DOCUMENTS",94:"ACTIVE.CELL",95:"SELECTION",96:"RESULT",97:"ATAN2",98:"ASIN",99:"ACOS",100:"CHOOSE",101:"HLOOKUP",102:"VLOOKUP",103:"LINKS",104:"INPUT",105:"ISREF",106:"GET.FORMULA",107:"GET.NAME",108:"SET.VALUE",109:"LOG",110:"EXEC",111:"CHAR",112:"LOWER",113:"UPPER",114:"PROPER",115:"LEFT",116:"RIGHT",117:"EXACT",118:"TRIM",119:"REPLACE",120:"SUBSTITUTE",121:"CODE",122:"NAMES",123:"DIRECTORY",124:"FIND",125:"CELL",126:"ISERR",127:"ISTEXT",128:"ISNUMBER",129:"ISBLANK",130:"T",131:"N",132:"FOPEN",133:"FCLOSE",134:"FSIZE",135:"FREADLN",136:"FREAD",137:"FWRITELN",138:"FWRITE",139:"FPOS",140:"DATEVALUE",141:"TIMEVALUE",142:"SLN",143:"SYD",144:"DDB",145:"GET.DEF",146:"REFTEXT",147:"TEXTREF",148:"INDIRECT",149:"REGISTER",150:"CALL",151:"ADD.BAR",152:"ADD.MENU",153:"ADD.COMMAND",154:"ENABLE.COMMAND",155:"CHECK.COMMAND",156:"RENAME.COMMAND",157:"SHOW.BAR",158:"DELETE.MENU",159:"DELETE.COMMAND",160:"GET.CHART.ITEM",161:"DIALOG.BOX",162:"CLEAN",163:"MDETERM",164:"MINVERSE",165:"MMULT",166:"FILES",167:"IPMT",168:"PPMT",169:"COUNTA",170:"CANCEL.KEY",171:"FOR",172:"WHILE",173:"BREAK",174:"NEXT",175:"INITIATE",176:"REQUEST",177:"POKE",178:"EXECUTE",179:"TERMINATE",180:"RESTART",181:"HELP",182:"GET.BAR",183:"PRODUCT",184:"FACT",185:"GET.CELL",186:"GET.WORKSPACE",187:"GET.WINDOW",188:"GET.DOCUMENT",189:"DPRODUCT",190:"ISNONTEXT",191:"GET.NOTE",192:"NOTE",193:"STDEVP",194:"VARP",195:"DSTDEVP",196:"DVARP",197:"TRUNC",198:"ISLOGICAL",199:"DCOUNTA",200:"DELETE.BAR",201:"UNREGISTER",204:"USDOLLAR",205:"FINDB",206:"SEARCHB",207:"REPLACEB",208:"LEFTB",209:"RIGHTB",210:"MIDB",211:"LENB",212:"ROUNDUP",213:"ROUNDDOWN",214:"ASC",215:"DBCS",216:"RANK",219:"ADDRESS",220:"DAYS360",221:"TODAY",222:"VDB",223:"ELSE",224:"ELSE.IF",225:"END.IF",226:"FOR.CELL",227:"MEDIAN",228:"SUMPRODUCT",229:"SINH",230:"COSH",231:"TANH",232:"ASINH",233:"ACOSH",234:"ATANH",235:"DGET",236:"CREATE.OBJECT",237:"VOLATILE",238:"LAST.ERROR",239:"CUSTOM.UNDO",240:"CUSTOM.REPEAT",241:"FORMULA.CONVERT",242:"GET.LINK.INFO",243:"TEXT.BOX",244:"INFO",245:"GROUP",246:"GET.OBJECT",247:"DB",248:"PAUSE",251:"RESUME",252:"FREQUENCY",253:"ADD.TOOLBAR",254:"DELETE.TOOLBAR",255:"User",256:"RESET.TOOLBAR",257:"EVALUATE",258:"GET.TOOLBAR",259:"GET.TOOL",260:"SPELLING.CHECK",261:"ERROR.TYPE",262:"APP.TITLE",263:"WINDOW.TITLE",264:"SAVE.TOOLBAR",265:"ENABLE.TOOL",266:"PRESS.TOOL",267:"REGISTER.ID",268:"GET.WORKBOOK",269:"AVEDEV",270:"BETADIST",271:"GAMMALN",272:"BETAINV",273:"BINOMDIST",274:"CHIDIST",275:"CHIINV",276:"COMBIN",277:"CONFIDENCE",278:"CRITBINOM",279:"EVEN",280:"EXPONDIST",281:"FDIST",282:"FINV",283:"FISHER",284:"FISHERINV",285:"FLOOR",286:"GAMMADIST",287:"GAMMAINV",288:"CEILING",289:"HYPGEOMDIST",290:"LOGNORMDIST",291:"LOGINV",292:"NEGBINOMDIST",293:"NORMDIST",294:"NORMSDIST",295:"NORMINV",296:"NORMSINV",297:"STANDARDIZE",298:"ODD",299:"PERMUT",300:"POISSON",301:"TDIST",302:"WEIBULL",303:"SUMXMY2",304:"SUMX2MY2",305:"SUMX2PY2",306:"CHITEST",307:"CORREL",308:"COVAR",309:"FORECAST",310:"FTEST",311:"INTERCEPT",312:"PEARSON",313:"RSQ",314:"STEYX",315:"SLOPE",316:"TTEST",317:"PROB",318:"DEVSQ",319:"GEOMEAN",320:"HARMEAN",321:"SUMSQ",322:"KURT",323:"SKEW",324:"ZTEST",325:"LARGE",326:"SMALL",327:"QUARTILE",328:"PERCENTILE",329:"PERCENTRANK",330:"MODE",331:"TRIMMEAN",332:"TINV",334:"MOVIE.COMMAND",335:"GET.MOVIE",336:"CONCATENATE",337:"POWER",338:"PIVOT.ADD.DATA",339:"GET.PIVOT.TABLE",340:"GET.PIVOT.FIELD",341:"GET.PIVOT.ITEM",342:"RADIANS",343:"DEGREES",344:"SUBTOTAL",345:"SUMIF",346:"COUNTIF",347:"COUNTBLANK",348:"SCENARIO.GET",349:"OPTIONS.LISTS.GET",350:"ISPMT",351:"DATEDIF",352:"DATESTRING",353:"NUMBERSTRING",354:"ROMAN",355:"OPEN.DIALOG",356:"SAVE.DIALOG",357:"VIEW.GET",358:"GETPIVOTDATA",359:"HYPERLINK",360:"PHONETIC",361:"AVERAGEA",362:"MAXA",363:"MINA",364:"STDEVPA",365:"VARPA",366:"STDEVA",367:"VARA",368:"BAHTTEXT",369:"THAIDAYOFWEEK",370:"THAIDIGIT",371:"THAIMONTHOFYEAR",372:"THAINUMSOUND",373:"THAINUMSTRING",374:"THAISTRINGLENGTH",375:"ISTHAIDIGIT",376:"ROUNDBAHTDOWN",377:"ROUNDBAHTUP",378:"THAIYEAR",379:"RTD",380:"CUBEVALUE",381:"CUBEMEMBER",382:"CUBEMEMBERPROPERTY",383:"CUBERANKEDMEMBER",384:"HEX2BIN",385:"HEX2DEC",386:"HEX2OCT",387:"DEC2BIN",388:"DEC2HEX",389:"DEC2OCT",390:"OCT2BIN",391:"OCT2HEX",392:"OCT2DEC",393:"BIN2DEC",394:"BIN2OCT",395:"BIN2HEX",396:"IMSUB",397:"IMDIV",398:"IMPOWER",399:"IMABS",400:"IMSQRT",401:"IMLN",402:"IMLOG2",403:"IMLOG10",404:"IMSIN",405:"IMCOS",406:"IMEXP",407:"IMARGUMENT",408:"IMCONJUGATE",409:"IMAGINARY",410:"IMREAL",411:"COMPLEX",412:"IMSUM",413:"IMPRODUCT",414:"SERIESSUM",415:"FACTDOUBLE",416:"SQRTPI",417:"QUOTIENT",418:"DELTA",419:"GESTEP",420:"ISEVEN",421:"ISODD",422:"MROUND",423:"ERF",424:"ERFC",425:"BESSELJ",426:"BESSELK",427:"BESSELY",428:"BESSELI",429:"XIRR",430:"XNPV",431:"PRICEMAT",432:"YIELDMAT",433:"INTRATE",434:"RECEIVED",435:"DISC",436:"PRICEDISC",437:"YIELDDISC",438:"TBILLEQ",439:"TBILLPRICE",440:"TBILLYIELD",441:"PRICE",442:"YIELD",443:"DOLLARDE",444:"DOLLARFR",445:"NOMINAL",446:"EFFECT",447:"CUMPRINC",448:"CUMIPMT",449:"EDATE",450:"EOMONTH",451:"YEARFRAC",452:"COUPDAYBS",453:"COUPDAYS",454:"COUPDAYSNC",455:"COUPNCD",456:"COUPNUM",457:"COUPPCD",458:"DURATION",459:"MDURATION",460:"ODDLPRICE",461:"ODDLYIELD",462:"ODDFPRICE",463:"ODDFYIELD",464:"RANDBETWEEN",465:"WEEKNUM",466:"AMORDEGRC",467:"AMORLINC",468:"CONVERT",724:"SHEETJS",469:"ACCRINT",470:"ACCRINTM",471:"WORKDAY",472:"NETWORKDAYS",473:"GCD",474:"MULTINOMIAL",475:"LCM",476:"FVSCHEDULE",477:"CUBEKPIMEMBER",478:"CUBESET",479:"CUBESETCOUNT",480:"IFERROR",481:"COUNTIFS",482:"SUMIFS",483:"AVERAGEIF",484:"AVERAGEIFS"};var hv={2:1,3:1,10:0,15:1,16:1,17:1,18:1,19:0,20:1,21:1,22:1,23:1,24:1,25:1,26:1,27:2,30:2,31:3,32:1,33:1,34:0,35:0,38:1,39:2,40:3,41:3,42:3,43:3,44:3,45:3,47:3,48:2,53:1,61:3,63:0,65:3,66:3,67:1,68:1,69:1,70:1,71:1,72:1,73:1,74:0,75:1,76:1,77:1,79:2,80:2,83:1,85:0,86:1,89:0,90:1,94:0,95:0,97:2,98:1,99:1,101:3,102:3,105:1,106:1,108:2,111:1,112:1,113:1,114:1,117:2,118:1,119:4,121:1,126:1,127:1,128:1,129:1,130:1,131:1,133:1,134:1,135:1,136:2,137:2,138:2,140:1,141:1,142:3,143:4,144:4,161:1,162:1,163:1,164:1,165:2,172:1,175:2,176:2,177:3,178:2,179:1,184:1,186:1,189:3,190:1,195:3,196:3,197:1,198:1,199:3,201:1,207:4,210:3,211:1,212:2,213:2,214:1,215:1,225:0,229:1,230:1,231:1,232:1,233:1,234:1,235:3,244:1,247:4,252:2,257:1,261:1,271:1,273:4,274:2,275:2,276:2,277:3,278:3,279:1,280:3,281:3,282:3,283:1,284:1,285:2,286:4,287:3,288:2,289:4,290:3,291:3,292:3,293:4,294:1,295:3,296:1,297:3,298:1,299:2,300:3,301:3,302:4,303:2,304:2,305:2,306:2,307:2,308:2,309:3,310:2,311:2,312:2,313:2,314:2,315:2,316:4,325:2,326:2,327:2,328:2,331:2,332:2,337:2,342:1,343:1,346:2,347:1,350:4,351:3,352:1,353:2,360:1,368:1,369:1,370:1,371:1,372:1,373:1,374:1,375:1,376:1,377:1,378:1,382:3,385:1,392:1,393:1,396:2,397:2,398:2,399:1,400:1,401:1,402:1,403:1,404:1,405:1,406:1,407:1,408:1,409:1,410:1,414:4,415:1,416:1,417:2,420:1,421:1,422:2,424:1,425:2,426:2,427:2,428:2,430:3,438:3,439:3,440:3,443:2,444:2,445:2,446:2,447:6,448:6,449:2,450:2,464:2,468:3,476:2,479:1,480:2,65535:0};function uv(e){if(e.slice(0,3)=="of:")e=e.slice(3);if(e.charCodeAt(0)==61){e=e.slice(1);if(e.charCodeAt(0)==61)e=e.slice(1)}e=e.replace(/COM\.MICROSOFT\./g,"");e=e.replace(/\[((?:\.[A-Z]+[0-9]+)(?::\.[A-Z]+[0-9]+)?)\]/g,function(e,r){return r.replace(/\./g,"")});e=e.replace(/\$'([^']|'')+'/g,function(e){return e.slice(1)});e=e.replace(/\$([^\]\. #$]+)/g,function(e,r){return r.match(/^([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})?$/)?e:r});e=e.replace(/\[.(#[A-Z]*[?!])\]/g,"$1");return e.replace(/[;~]/g,",").replace(/\|/g,";")}function dv(e){var r="of:="+e.replace(tu,"$1[.$2$3$4$5]").replace(/\]:\[/g,":");return r.replace(/;/g,"|").replace(/,/g,";")}function vv(e){e=e.replace(/\$'([^']|'')+'/g,function(e){return e.slice(1)});e=e.replace(/\$([^\]\. #$]+)/g,function(e,r){return r.match(/^([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})?$/)?e:r});var r=e.split(":");var t=r[0].split(".")[0];return[t,r[0].split(".")[1]+(r.length>1?":"+(r[1].split(".")[1]||r[1].split(".")[0]):"")]}function pv(e){return e.replace(/!/,".").replace(/:/,":.")}var mv={};var gv={};var bv=typeof Map!=="undefined";function wv(e,r,t){var a=0,n=e.length;if(t){if(bv?t.has(r):Object.prototype.hasOwnProperty.call(t,r)){var i=bv?t.get(r):t[r];for(;a-1){t.width=sc(a);t.customWidth=1}else if(r.width!=null)t.width=r.width;if(r.hidden)t.hidden=true;if(r.level!=null){t.outlineLevel=t.level=r.level}return t}function Av(e,r){if(!e)return;var t=[.7,.7,.75,.75,.3,.3];if(r=="xlml")t=[1,1,1,1,.5,.5];if(e.left==null)e.left=t[0];if(e.right==null)e.right=t[1];if(e.top==null)e.top=t[2];if(e.bottom==null)e.bottom=t[3];if(e.header==null)e.header=t[4];if(e.footer==null)e.footer=t[5]}function Tv(e,r,t){var a=t.revssf[r.z!=null?r.z:"General"];var n=60,i=e.length;if(a==null&&t.ssf){for(;n<392;++n)if(t.ssf[n]==null){Je(r.z,n);t.ssf[n]=r.z;t.revssf[r.z]=a=n;break}}for(n=0;n!=i;++n)if(e[n].numFmtId===a)return n;e[i]={numFmtId:a,fontId:0,fillId:0,borderId:0,xfId:0,applyNumberFormat:1};return i}function yv(e,r,t,a,n,i,s){try{if(a.cellNF)e.z=q[r]}catch(f){if(a.WTF)throw f}if(e.t==="z"&&!a.cellStyles)return;if(e.t==="d"&&typeof e.v==="string")e.v=wr(e.v);if((!a||a.cellText!==false)&&e.t!=="z")try{if(q[r]==null)Je(Ge[r]||"General",r);if(e.t==="e")e.w=e.w||ci[e.v];else if(r===0){if(e.t==="n"){if((e.v|0)===e.v)e.w=e.v.toString(10);else e.w=le(e.v)}else if(e.t==="d"){var l=dr(e.v,!!s);if((l|0)===l)e.w=l.toString(10);else e.w=le(l)}else if(e.v===undefined)return"";else e.w=oe(e.v,gv)}else if(e.t==="d")e.w=ze(r,dr(e.v,!!s),gv);else e.w=ze(r,e.v,gv)}catch(f){if(a.WTF)throw f}if(!a.cellStyles)return;if(t!=null)try{e.s=i.Fills[t];if(e.s.fgColor&&e.s.fgColor.theme&&!e.s.fgColor.rgb){e.s.fgColor.rgb=Qo(n.themeElements.clrScheme[e.s.fgColor.theme].rgb,e.s.fgColor.tint||0);if(a.WTF)e.s.fgColor.raw_rgb=n.themeElements.clrScheme[e.s.fgColor.theme].rgb}if(e.s.bgColor&&e.s.bgColor.theme){e.s.bgColor.rgb=Qo(n.themeElements.clrScheme[e.s.bgColor.theme].rgb,e.s.bgColor.tint||0);if(a.WTF)e.s.bgColor.raw_rgb=n.themeElements.clrScheme[e.s.bgColor.theme].rgb}}catch(f){if(a.WTF&&i.Fills)throw f}}function Ev(e,r,t){if(e&&e["!ref"]){var a=en(e["!ref"]);if(a.e.c=0&&t.s.c>=0)e["!ref"]=Ja(t)}var _v=/<(?:\w+:)?mergeCell ref=["'][A-Z0-9:]+['"]\s*[\/]?>/g;var Sv=/<(?:\w+:)?hyperlink [^<>]*>/gm;var xv=/"(\w*:\w*)"/;var Ov=/<(?:\w+:)?col\b[^<>]*[\/]?>/g;var Iv=/<(?:\w+:)?autoFilter[^>]*/g;var Rv=/<(?:\w+:)?pageMargins[^<>]*\/>/g;var Nv=/<(?:\w+:)?sheetPr\b[^<>]*?\/>/;function Fv(e,r,t,a,n,i,s){if(!e)return e;if(!a)a={"!id":{}};if(b!=null&&r.dense==null)r.dense=b;var f={};if(r.dense)f["!data"]=[];var l={s:{r:2e6,c:2e6},e:{r:0,c:0}};var o="",c="";var h=Wr(e,"sheetData");if(h){o=e.slice(0,h.index);c=e.slice(h.index+h[0].length)}else o=c=e;var u=o.match(Nv);if(u)Pv(u[0],f,n,t);else if(u=Wr(o,"sheetPr"))Lv(u[0],u[1]||"",f,n,t,s,i);var d=(o.match(/<(?:\w*:)?dimension/)||{index:-1}).index;if(d>0){var v=o.slice(d,d+50).match(xv);if(v&&!(r&&r.nodim))Cv(f,v[1])}var p=Wr(o,"sheetViews");if(p&&p[1])Yv(p[1],n);var m=[];if(r.cellStyles){var g=o.match(Ov);if(g)$v(m,g)}if(h)qv(h[1],f,r,l,i,s,n);var w=c.match(Iv);if(w)f["!autofilter"]=Gv(w[0]);var k=[];var A=c.match(_v);if(A)for(d=0;d!=A.length;++d)k[d]=en(A[d].slice(A[d].indexOf("=")+2));var T=c.match(Sv);if(T)zv(f,T,a);var y=c.match(Rv);if(y)f["!margins"]=Hv(ct(y[0]));var E;if(E=c.match(/legacyDrawing r:id="(.*?)"/))f["!legrel"]=E[1];if(r&&r.nodim)l.s.c=l.s.r=0;if(!f["!ref"]&&l.e.c>=l.s.c&&l.e.r>=l.s.r)f["!ref"]=Ja(l);if(r.sheetRows>0&&f["!ref"]){var C=en(f["!ref"]);if(r.sheetRows<=+C.e.r){C.e.r=r.sheetRows-1;if(C.e.r>l.e.r)C.e.r=l.e.r;if(C.e.rl.e.c)C.e.c=l.e.c;if(C.e.c0)f["!cols"]=m;if(k.length>0)f["!merges"]=k;if(a["!id"][f["!legrel"]])f["!legdrawel"]=a["!id"][f["!legrel"]];return f}function Dv(e){if(e.length===0)return"";var r='';for(var t=0;t!=e.length;++t)r+='';return r+""}function Pv(e,r,t,a){var n=ct(e);if(!t.Sheets[a])t.Sheets[a]={};if(n.codeName)t.Sheets[a].CodeName=pt(It(n.codeName))}function Lv(e,r,t,a,n){Pv(e.slice(0,e.indexOf(">")),t,a,n)}function Mv(e,r,t,a,n){var i=false;var s={},f=null;if(a.bookType!=="xlsx"&&r.vbaraw){var l=r.SheetNames[t];try{if(r.Workbook)l=r.Workbook.Sheets[t].CodeName||l}catch(o){}i=true;s.codeName=Rt(bt(l))}if(e&&e["!outline"]){var c={summaryBelow:1,summaryRight:1};if(e["!outline"].above)c.summaryBelow=0;if(e["!outline"].left)c.summaryRight=0;f=(f||"")+Bt("outlinePr",null,c)}if(!i&&!f)return;n[n.length]=Bt("sheetPr",f,s)}var Uv=["objects","scenarios","selectLockedCells","selectUnlockedCells"];var Bv=["formatColumns","formatRows","formatCells","insertColumns","insertRows","insertHyperlinks","deleteColumns","deleteRows","sort","autoFilter","pivotTables"];function Wv(e){var r={sheet:1};Uv.forEach(function(t){if(e[t]!=null&&e[t])r[t]="1"});Bv.forEach(function(t){if(e[t]!=null&&!e[t])r[t]="0"});if(e.password)r.password=Uo(e.password).toString(16).toUpperCase();return Bt("sheetProtection",null,r)}function zv(e,r,t){var a=e["!data"]!=null;for(var n=0;n!=r.length;++n){var i=ct(It(r[n]),true);if(!i.ref)return;var s=((t||{})["!id"]||[])[i.id];if(s){i.Target=s.Target;if(i.location)i.Target+="#"+pt(i.location)}else{i.Target="#"+pt(i.location);s={Target:i.Target,TargetMode:"Internal"}}i.Rel=s;if(i.tooltip){i.Tooltip=i.tooltip;delete i.tooltip}var f=en(i.ref);for(var l=f.s.r;l<=f.e.r;++l)for(var o=f.s.c;o<=f.e.c;++o){var c=$a(o)+Wa(l);if(a){if(!e["!data"][l])e["!data"][l]=[];if(!e["!data"][l][o])e["!data"][l][o]={t:"z",v:undefined};e["!data"][l][o].l=i}else{if(!e[c])e[c]={t:"z",v:undefined};e[c].l=i}}}}function Hv(e){var r={};["left","right","top","bottom","header","footer"].forEach(function(t){if(e[t])r[t]=parseFloat(e[t])});return r}function Vv(e){Av(e);return Bt("pageMargins",null,e)}function $v(e,r){var t=false;for(var a=0;a!=r.length;++a){var n=ct(r[a],true);if(n.hidden)n.hidden=Ct(n.hidden);var i=parseInt(n.min,10)-1,s=parseInt(n.max,10)-1;if(n.outlineLevel)n.level=+n.outlineLevel||0;delete n.min;delete n.max;n.width=+n.width;if(!t&&n.width){t=true;lc(n.width)}oc(n);while(i<=s)e[i++]=Ar(n)}}function Xv(e,r){var t=[""],a;for(var n=0;n!=r.length;++n){if(!(a=r[n]))continue;t[t.length]=Bt("col",null,kv(n,a))}t[t.length]="";return t.join("")}function Gv(e){var r={ref:(e.match(/ref="([^"]*)"/)||[])[1]};return r}function jv(e,r,t,a){var n=typeof e.ref=="string"?e.ref:Ja(e.ref);if(!t.Workbook)t.Workbook={Sheets:[]};if(!t.Workbook.Names)t.Workbook.Names=[];var i=t.Workbook.Names;var s=Za(n);if(s.s.r==s.e.r){s.e.r=Za(r["!ref"]).e.r;n=Ja(s)}for(var f=0;fa-z][^<>]*)?\/?>/g;function Yv(e,r){if(!r.Views)r.Views=[{}];(e.match(Kv)||[]).forEach(function(e,t){var a=ct(e);if(!r.Views[t])r.Views[t]={};if(+a.zoomScale)r.Views[t].zoom=+a.zoomScale;if(a.rightToLeft&&Ct(a.rightToLeft))r.Views[t].RTL=true})}function Zv(e,r,t,a){var n={workbookViewId:"0"};if((((a||{}).Workbook||{}).Views||[])[0])n.rightToLeft=a.Workbook.Views[0].RTL?"1":"0";return Bt("sheetViews",Bt("sheetView",null,n),{})}function Jv(e,r,t,a,n,i,s){if(e.c)t["!comments"].push([r,e.c]);if((e.v===undefined||e.t==="z"&&!(a||{}).sheetStubs)&&typeof e.f!=="string"&&typeof e.z=="undefined")return"";var f="";var l=e.t,o=e.v;if(e.t!=="z")switch(e.t){case"b":f=e.v?"1":"0";break;case"n":if(isNaN(e.v)){e.t="e";f=ci[e.v=36]}else if(!isFinite(e.v)){e.t="e";f=ci[e.v=7]}else f=""+e.v;break;case"e":f=ci[e.v];break;case"d":if(a&&a.cellDates){var c=wr(e.v,s);f=c.toISOString();if(c.getUTCFullYear()<1900)f=f.slice(f.indexOf("T")+1).replace("Z","")}else{e=Ar(e);e.t="n";f=""+(e.v=dr(wr(e.v,s),s))}if(typeof e.z==="undefined")e.z=q[14];break;default:f=e.v;break;}var h=e.t=="z"||e.v==null?"":Mt("v",bt(f)),u={r:r};var d=Tv(a.cellXfs,e,a);if(d!==0)u.s=d;switch(e.t){case"n":break;case"d":u.t="d";break;case"b":u.t="b";break;case"e":u.t="e";break;case"z":break;default:if(e.v==null){delete e.t;break}if(e.v.length>32767)throw new Error("Text length must not exceed 32767 characters");if(a&&a.bookSST){h=Mt("v",""+wv(a.Strings,e.v,a.revStrings));u.t="s";break}else u.t="str";break;}if(e.t!=l){e.t=l;e.v=o}if(typeof e.f=="string"&&e.f){var v=e.F&&e.F.slice(0,r.length)==r?{t:"array",ref:e.F}:null;h=Bt("f",bt(e.f),v)+(e.v!=null?h:"")}if(e.l){e.l.display=bt(f);t["!links"].push([r,e.l])}if(e.D)u.cm=1;return Bt("c",h,u)}var qv=function(){var e=/<(?:\w+:)?c[ \/>]/,r=/<\/(?:\w+:)?row>/;var t=/r=["']([^"']*)["']/;var a=/ref=["']([^"']*)["']/;return function n(i,s,f,l,o,c,h){var u=0,d="",v=[],p=[],m=0,g=0,b=0,w="",k;var A,T=0,y=0;var E,C;var _=0,S=0;var x=Array.isArray(c.CellXf),O;var I=[];var R=[];var N=s["!data"]!=null;var F=[],D={},P=false;var L=!!f.sheetStubs;var M=!!((h||{}).WBProps||{}).date1904;for(var U=i.split(r),B=0,W=U.length;B!=W;++B){d=U[B].trim();var z=d.length;if(z===0)continue;var H=0;e:for(u=0;u":if(d[u-1]!="/"){++u;break e}if(f&&f.cellStyles){A=ct(d.slice(H,u),true);T=A.r!=null?parseInt(A.r,10):T+1;y=-1;if(f.sheetRows&&f.sheetRows=u)break;A=ct(d.slice(H,u),true);T=A.r!=null?parseInt(A.r,10):T+1;y=-1;if(f.sheetRows&&f.sheetRowsT-1)l.s.r=T-1;if(l.e.r":"")+d;if(p!=null&&p.length===2){m=0;w=p[1];for(g=0;g!=w.length;++g){if((b=w.charCodeAt(g)-64)<1||b>26)break;m=26*m+b}--m;y=m}else++y;for(g=0;g!=d.length;++g)if(d.charCodeAt(g)===62)break;++g;A=ct(d.slice(0,g),true);if(!A.r)A.r=Ya({r:T-1,c:y});w=d.slice(g);k={t:""};if((p=Wr(w,"v"))!=null&&p[1]!=="")k.v=pt(p[1]);if(f.cellFormula){if((p=Wr(w,"f"))!=null){if(p[1]==""){if(p[0].indexOf('t="shared"')>-1){C=ct(p[0]);if(R[C.si])k.f=su(R[C.si][1],R[C.si][2],A.r)}}else{k.f=pt(It(p[1]),true);if(!f.xlfn)k.f=lu(k.f);if(p[0].indexOf('t="array"')>-1){k.F=(w.match(a)||[])[1];if(k.F.indexOf(":")>-1)I.push([en(k.F),k.F])}else if(p[0].indexOf('t="shared"')>-1){C=ct(p[0]);var $=pt(It(p[1]));if(!f.xlfn)$=lu($);R[parseInt(C.si,10)]=[C,$,A.r]}}}else if(p=w.match(/]*\/>/)){C=ct(p[0]);if(R[C.si])k.f=su(R[C.si][1],R[C.si][2],A.r)}var X=Ka(A.r);for(g=0;g=I[g][0].s.r&&X.r<=I[g][0].e.r)if(X.c>=I[g][0].s.c&&X.c<=I[g][0].e.c)k.F=I[g][1]}if(A.t==null&&k.v===undefined){if(k.f||k.F){k.v=0;k.t="n"}else if(!L)continue;else k.t="z"}else k.t=A.t||"n";if(l.s.c>y)l.s.c=y;if(l.e.cj.r)l.s.r=j.r;if(l.e.r0)s["!rows"]=F}}();function Qv(e,r,t,a){var n=[],i=[],s=en(e["!ref"]),f="",l,o="",c=[],h=0,u=0,d=e["!rows"];var v=e["!data"]!=null,p=v?e["!data"]:[];var m={r:o},g,b=-1;var w=(((a||{}).Workbook||{}).WBProps||{}).date1904;for(u=s.s.c;u<=s.e.c;++u)c[u]=$a(u);for(h=s.s.r;h<=s.e.r;++h){i=[];o=Wa(h);var k=v?p[h]:[];for(u=s.s.c;u<=s.e.c;++u){l=c[u]+o;var A=v?k[u]:e[l];if(A===undefined)continue;if((f=Jv(A,l,e,r,t,a,w))!=null)i.push(f)}if(i.length>0||d&&d[h]){m={r:o};if(d&&d[h]){g=d[h];if(g.hidden)m.hidden=1;b=-1;if(g.hpx)b=uc(g.hpx);else if(g.hpt)b=g.hpt;if(b>-1){m.ht=b;m.customHeight=1}if(g.level){m.outlineLevel=g.level}}n[n.length]=Bt("row",i.join(""),m)}}if(d)for(;h-1){m.ht=b;m.customHeight=1}if(g.level){m.outlineLevel=g.level}n[n.length]=Bt("row","",m)}}return n.join("")}function ep(e,r,t,a){var n=[at,Bt("worksheet",null,{xmlns:Xt[0],"xmlns:r":$t.r})];var i=t.SheetNames[e],s=0,f="";var l=t.Sheets[i];if(l==null)l={};var o=l["!ref"]||"A1";var c=en(o);if(c.e.c>16383||c.e.r>1048575){if(r.WTF)throw new Error("Range "+o+" exceeds format limit A1:XFD1048576");c.e.c=Math.min(c.e.c,16383);c.e.r=Math.min(c.e.c,1048575);o=Ja(c)}if(!a)a={};l["!comments"]=[];var h=[];Mv(l,t,e,r,n);n[n.length]=Bt("dimension",null,{ref:o});n[n.length]=Zv(l,r,e,t);if(r.sheetFormat)n[n.length]=Bt("sheetFormatPr",null,{defaultRowHeight:r.sheetFormat.defaultRowHeight||"16",baseColWidth:r.sheetFormat.baseColWidth||"10",outlineLevelRow:r.sheetFormat.outlineLevelRow||"7"});if(l["!cols"]!=null&&l["!cols"].length>0)n[n.length]=Xv(l,l["!cols"]);n[s=n.length]="";l["!links"]=[];if(l["!ref"]!=null){f=Qv(l,r,e,t,a);if(f.length>0)n[n.length]=f}if(n.length>s+1){n[n.length]="";n[s]=n[s].replace("/>",">")}if(l["!protect"])n[n.length]=Wv(l["!protect"]);if(l["!autofilter"]!=null)n[n.length]=jv(l["!autofilter"],l,t,e);if(l["!merges"]!=null&&l["!merges"].length>0)n[n.length]=Dv(l["!merges"]);var u=-1,d,v=-1;if(l["!links"].length>0){n[n.length]="";l["!links"].forEach(function(e){if(!e[1].Target)return;d={ref:e[0]};if(e[1].Target.charAt(0)!="#"){v=Ti(a,-1,bt(e[1].Target).replace(/#[\s\S]*$/,""),bi.HLINK);d["r:id"]="rId"+v}if((u=e[1].Target.indexOf("#"))>-1)d.location=bt(e[1].Target.slice(u+1)); +if(e[1].Tooltip)d.tooltip=bt(e[1].Tooltip);d.display=e[1].display;n[n.length]=Bt("hyperlink",null,d)});n[n.length]=""}delete l["!links"];if(l["!margins"]!=null)n[n.length]=Vv(l["!margins"]);if(!r||r.ignoreEC||r.ignoreEC==void 0)n[n.length]=Mt("ignoredErrors",Bt("ignoredError",null,{numberStoredAsText:1,sqref:o}));if(h.length>0){v=Ti(a,-1,"../drawings/drawing"+(e+1)+".xml",bi.DRAW);n[n.length]=Bt("drawing",null,{"r:id":"rId"+v});l["!drawing"]=h}if(l["!comments"].length>0){v=Ti(a,-1,"../drawings/vmlDrawing"+(e+1)+".vml",bi.VML);n[n.length]=Bt("legacyDrawing",null,{"r:id":"rId"+v});l["!legacy"]=v}if(n.length>1){n[n.length]="";n[1]=n[1].replace("/>",">")}return n.join("")}function rp(e,r){var t={};var a=e.l+r;t.r=e._R(4);e.l+=4;var n=e._R(2);e.l+=1;var i=e._R(1);e.l=a;if(i&7)t.level=i&7;if(i&16)t.hidden=true;if(i&32)t.hpt=n/20;return t}function tp(e,r,t){var a=Ra(17+8*16);var n=(t["!rows"]||[])[e]||{};a._W(4,e);a._W(4,0);var i=320;if(n.hpx)i=uc(n.hpx)*20;else if(n.hpt)i=n.hpt*20;a._W(2,i);a._W(1,0);var s=0;if(n.level)s|=n.level;if(n.hidden)s|=16;if(n.hpx||n.hpt)s|=32;a._W(1,s);a._W(1,0);var f=0,l=a.l;a.l+=4;var o={r:e,c:0};var c=t["!data"]!=null;for(var h=0;h<16;++h){if(r.s.c>h+1<<10||r.e.ca.l?a.slice(0,a.l):a}function ap(e,r,t,a){var n=tp(a,t,r);if(n.length>17||(r["!rows"]||[])[a])Da(e,0,n)}var np=Fn;var ip=Dn;function sp(){}function fp(e,r){var t={};var a=e[e.l];++e.l;t.above=!(a&64);t.left=!(a&128);e.l+=18;t.name=Tn(e,r-19);return t}function lp(e,r,t){if(t==null)t=Ra(84+4*e.length);var a=192;if(r){if(r.above)a&=~64;if(r.left)a&=~128}t._W(1,a);for(var n=1;n<3;++n)t._W(1,0);Un({auto:1},t);t._W(-4,-1);t._W(-4,-1);yn(e,t);return t.slice(0,t.l)}function op(e){var r=bn(e);return[r]}function cp(e,r,t){if(t==null)t=Ra(8);return wn(r,t)}function hp(e){var r=kn(e);return[r]}function up(e,r,t){if(t==null)t=Ra(4);return An(r,t)}function dp(e){var r=bn(e);var t=e._R(1);return[r,t,"b"]}function vp(e,r,t){if(t==null)t=Ra(9);wn(r,t);t._W(1,e.v?1:0);return t}function pp(e){var r=kn(e);var t=e._R(1);return[r,t,"b"]}function mp(e,r,t){if(t==null)t=Ra(5);An(r,t);t._W(1,e.v?1:0);return t}function gp(e){var r=bn(e);var t=e._R(1);return[r,t,"e"]}function bp(e,r,t){if(t==null)t=Ra(9);wn(r,t);t._W(1,e.v);return t}function wp(e){var r=kn(e);var t=e._R(1);return[r,t,"e"]}function kp(e,r,t){if(t==null)t=Ra(8);An(r,t);t._W(1,e.v);t._W(2,0);t._W(1,0);return t}function Ap(e){var r=bn(e);var t=e._R(4);return[r,t,"s"]}function Tp(e,r,t){if(t==null)t=Ra(12);wn(r,t);t._W(4,r.v);return t}function yp(e){var r=kn(e);var t=e._R(4);return[r,t,"s"]}function Ep(e,r,t){if(t==null)t=Ra(8);An(r,t);t._W(4,r.v);return t}function Cp(e){var r=bn(e);var t=Pn(e);return[r,t,"n"]}function _p(e,r,t){if(t==null)t=Ra(16);wn(r,t);Ln(e.v,t);return t}function Sp(e){var r=kn(e);var t=Pn(e);return[r,t,"n"]}function xp(e,r,t){if(t==null)t=Ra(12);An(r,t);Ln(e.v,t);return t}function Op(e){var r=bn(e);var t=On(e);return[r,t,"n"]}function Ip(e,r,t){if(t==null)t=Ra(12);wn(r,t);In(e.v,t);return t}function Rp(e){var r=kn(e);var t=On(e);return[r,t,"n"]}function Np(e,r,t){if(t==null)t=Ra(8);An(r,t);In(e.v,t);return t}function Fp(e){var r=bn(e);var t=vn(e);return[r,t,"is"]}function Dp(e){var r=bn(e);var t=cn(e);return[r,t,"str"]}function Pp(e,r,t){var a=e.v==null?"":String(e.v);if(t==null)t=Ra(12+4*e.v.length);wn(r,t);hn(a,t);return t.length>t.l?t.slice(0,t.l):t}function Lp(e){var r=kn(e);var t=cn(e);return[r,t,"str"]}function Mp(e,r,t){var a=e.v==null?"":String(e.v);if(t==null)t=Ra(8+4*a.length);An(r,t);hn(a,t);return t.length>t.l?t.slice(0,t.l):t}function Up(e,r,t){var a=e.l+r;var n=bn(e);n.r=t["!row"];var i=e._R(1);var s=[n,i,"b"];if(t.cellFormula){e.l+=2;var f=Kd(e,a-e.l,t);s[3]=Md(f,null,n,t.supbooks,t)}else e.l=a;return s}function Bp(e,r,t){var a=e.l+r;var n=bn(e);n.r=t["!row"];var i=e._R(1);var s=[n,i,"e"];if(t.cellFormula){e.l+=2;var f=Kd(e,a-e.l,t);s[3]=Md(f,null,n,t.supbooks,t)}else e.l=a;return s}function Wp(e,r,t){var a=e.l+r;var n=bn(e);n.r=t["!row"];var i=Pn(e);var s=[n,i,"n"];if(t.cellFormula){e.l+=2;var f=Kd(e,a-e.l,t);s[3]=Md(f,null,n,t.supbooks,t)}else e.l=a;return s}function zp(e,r,t){var a=e.l+r;var n=bn(e);n.r=t["!row"];var i=cn(e);var s=[n,i,"str"];if(t.cellFormula){e.l+=2;var f=Kd(e,a-e.l,t);s[3]=Md(f,null,n,t.supbooks,t)}else e.l=a;return s}var Hp=Fn;var Vp=Dn;function $p(e,r){if(r==null)r=Ra(4);r._W(4,e);return r}function Xp(e,r){var t=e.l+r;var a=Fn(e,16);var n=En(e);var i=cn(e);var s=cn(e);var f=cn(e);e.l=t;var l={rfx:a,relId:n,loc:i,display:f};if(s)l.Tooltip=s;return l}function Gp(e,r){var t=Ra(50+4*(e[1].Target.length+(e[1].Tooltip||"").length));Dn({s:Ka(e[0]),e:Ka(e[0])},t);xn("rId"+r,t);var a=e[1].Target.indexOf("#");var n=a==-1?"":e[1].Target.slice(a+1);hn(n||"",t);hn(e[1].Tooltip||"",t);hn("",t);return t.slice(0,t.l)}function jp(){}function Kp(e,r,t){var a=e.l+r;var n=Rn(e,16);var i=e._R(1);var s=[n];s[2]=i;if(t.cellFormula){var f=jd(e,a-e.l,t);s[1]=f}else e.l=a;return s}function Yp(e,r,t){var a=e.l+r;var n=Fn(e,16);var i=[n];if(t.cellFormula){var s=Zd(e,a-e.l,t);i[1]=s;e.l=a}else e.l=a;return i}function Zp(e,r,t){if(t==null)t=Ra(18);var a=kv(e,r);t._W(-4,e);t._W(-4,e);t._W(4,(a.width||10)*256);t._W(4,0);var n=0;if(r.hidden)n|=1;if(typeof a.width=="number")n|=2;if(r.level)n|=r.level<<8;t._W(2,n);return t}var Jp=["left","right","top","bottom","header","footer"];function qp(e){var r={};Jp.forEach(function(t){r[t]=Pn(e,8)});return r}function Qp(e,r){if(r==null)r=Ra(6*8);Av(e);Jp.forEach(function(t){Ln(e[t],r)});return r}function em(e){var r=e._R(2);e.l+=28;return{RTL:r&32}}function rm(e,r,t){if(t==null)t=Ra(30);var a=924;if((((r||{}).Views||[])[0]||{}).RTL)a|=32;t._W(2,a);t._W(4,0);t._W(4,0);t._W(4,0);t._W(1,0);t._W(1,0);t._W(2,0);t._W(2,100);t._W(2,0);t._W(2,0);t._W(2,0);t._W(4,0);return t}function tm(e){var r=Ra(24);r._W(4,4);r._W(4,1);Dn(e,r);return r}function am(e,r){if(r==null)r=Ra(16*4+2);r._W(2,e.password?Uo(e.password):0);r._W(4,1);[["objects",false],["scenarios",false],["formatCells",true],["formatColumns",true],["formatRows",true],["insertColumns",true],["insertRows",true],["insertHyperlinks",true],["deleteColumns",true],["deleteRows",true],["selectLockedCells",false],["sort",true],["autoFilter",true],["pivotTables",true],["selectUnlockedCells",false]].forEach(function(t){if(t[1])r._W(4,e[t[0]]!=null&&!e[t[0]]?1:0);else r._W(4,e[t[0]]!=null&&e[t[0]]?0:1)});return r}function nm(){}function im(){}function sm(e,r,t,a,n,i,s){if(!e)return e;var f=r||{};if(!a)a={"!id":{}};if(b!=null&&f.dense==null)f.dense=b;var l={};if(f.dense)l["!data"]=[];var o;var c={s:{r:2e6,c:2e6},e:{r:0,c:0}};var h=[];var u=false,d=false;var v,p,m,g,w,k,A,T,y;var E=[];f.biff=12;f["!row"]=0;var C=0,_=false;var S=[];var x={};var O=f.supbooks||n.supbooks||[[]];O.sharedf=x;O.arrayf=S;O.SheetNames=n.SheetNames||n.Sheets.map(function(e){return e.name});if(!f.supbooks){f.supbooks=O;if(n.Names)for(var I=0;I0);w=e[0].c==-1?w+1:e[0].c;if(f.dense){if(!l["!data"][g])l["!data"][g]=[];l["!data"][g][w]=p}else l[$a(w)+T]=p;if(f.cellFormula){_=false;for(C=0;C=I[0].s.r&&v.r<=I[0].e.r)if(w>=I[0].s.c&&w<=I[0].e.c){p.F=Ja(I[0]);_=true}}if(!_&&e.length>3)p.f=e[3]}if(c.s.r>v.r)c.s.r=v.r;if(c.s.c>w)c.s.c=w;if(c.e.rv.r)c.s.r=v.r;if(c.s.c>w)c.s.c=w;if(c.e.r=e.s){R[e.e--]={width:e.w/256,hidden:!!(e.flags&1),level:e.level};if(!F){F=true;lc(e.w/256)}oc(R[e.e+1])}break;case 551:if(e)l["!legrel"]=e;break;case 161:l["!autofilter"]={ref:Ja(e)};break;case 476:l["!margins"]=e;break;case 147:if(!n.Sheets[t])n.Sheets[t]={};if(e.name)n.Sheets[t].CodeName=e.name;if(e.above||e.left)l["!outline"]={above:e.above,left:e.left};break;case 137:if(!n.Views)n.Views=[{}];if(!n.Views[0])n.Views[0]={};if(e.RTL)n.Views[0].RTL=true;break;case 485:break;case 64:;case 1053:break;case 151:break;case 152:;case 175:;case 644:;case 625:;case 562:;case 396:;case 1112:;case 1146:;case 471:;case 1050:;case 649:;case 1105:;case 589:;case 607:;case 564:;case 1055:;case 168:;case 174:;case 1180:;case 499:;case 507:;case 550:;case 171:;case 167:;case 1177:;case 169:;case 1181:;case 552:;case 661:;case 639:;case 478:;case 537:;case 477:;case 536:;case 1103:;case 680:;case 1104:;case 1024:;case 663:;case 535:;case 678:;case 504:;case 1043:;case 428:;case 170:;case 3072:;case 50:;case 2070:;case 1045:break;case 35:u=true;break;case 36:u=false;break;case 37:h.push(b);u=true;break;case 38:h.pop();u=false;break;default:if(r.T){}else if(!u||f.WTF)throw new Error("Unexpected record 0x"+b.toString(16));}},f);delete f.supbooks;delete f["!row"];if(!l["!ref"]&&(c.s.r<2e6||o&&(o.e.r>0||o.e.c>0||o.s.r>0||o.s.c>0)))l["!ref"]=Ja(o||c);if(f.sheetRows&&l["!ref"]){var M=en(l["!ref"]);if(f.sheetRows<=+M.e.r){M.e.r=f.sheetRows-1;if(M.e.r>c.e.r)M.e.r=c.e.r;if(M.e.rc.e.c)M.e.c=c.e.c;if(M.e.c0)l["!merges"]=E;if(R.length>0)l["!cols"]=R;if(N.length>0)l["!rows"]=N;if(a["!id"][l["!legrel"]])l["!legdrawel"]=a["!id"][l["!legrel"]];return l}function fm(e,r,t,a,n,i,s,f){var l={r:t,c:a};if(r.c)i["!comments"].push([Ya(l),r.c]);if(r.v===undefined)return false;var o="";switch(r.t){case"b":o=r.v?"1":"0";break;case"d":r=Ar(r);r.z=r.z||q[14];r.v=dr(wr(r.v,f),f);r.t="n";break;case"n":;case"e":o=""+r.v;break;default:o=r.v;break;}l.s=Tv(n.cellXfs,r,n);if(r.l)i["!links"].push([Ya(l),r.l]);switch(r.t){case"s":;case"str":if(n.bookSST){o=wv(n.Strings,r.v==null?"":String(r.v),n.revStrings);l.t="s";l.v=o;if(s)Da(e,18,Ep(r,l));else Da(e,7,Tp(r,l))}else{l.t="str";if(s)Da(e,17,Mp(r,l));else Da(e,6,Pp(r,l))}return true;case"n":if(r.v==(r.v|0)&&r.v>-1e3&&r.v<1e3){if(s)Da(e,13,Np(r,l));else Da(e,2,Ip(r,l))}else if(!isFinite(r.v)){l.t="e";if(isNaN(r.v)){if(s)Da(e,14,kp({t:"e",v:36},l));else Da(e,3,bp({t:"e",v:36},l))}else{if(s)Da(e,14,kp({t:"e",v:7},l));else Da(e,3,bp({t:"e",v:7},l))}}else{if(s)Da(e,16,xp(r,l));else Da(e,5,_p(r,l))}return true;case"b":l.t="b";if(s)Da(e,15,mp(r,l));else Da(e,4,vp(r,l));return true;case"e":l.t="e";if(s)Da(e,14,kp(r,l));else Da(e,3,bp(r,l));return true;}if(s)Da(e,12,up(r,l));else Da(e,1,cp(r,l));return true}function lm(e,r,t,a,n){var i=en(r["!ref"]||"A1"),s="",f=[];var l=(((n||{}).Workbook||{}).WBProps||{}).date1904;Da(e,145);var o=r["!data"]!=null,c=o?r["!data"][i.s.r]:[];var h=i.e.r;if(r["!rows"])h=Math.max(i.e.r,r["!rows"].length-1);for(var u=i.s.r;u<=h;++u){s=Wa(u);if(o)c=r["!data"][u];ap(e,r,i,u);if(o&&!c)continue;var d=false;if(u<=i.e.r)for(var v=i.s.c;v<=i.e.c;++v){if(u===i.s.r)f[v]=$a(v);var p=o?c[v]:r[f[v]+s];if(!p){d=false;continue}d=fm(e,p,u,v,a,r,d,l)}}Da(e,146)}function om(e,r){if(!r||!r["!merges"])return;Da(e,177,$p(r["!merges"].length));r["!merges"].forEach(function(r){Da(e,176,Vp(r))});Da(e,178)}function cm(e,r){if(!r||!r["!cols"])return;Da(e,390);r["!cols"].forEach(function(r,t){if(r)Da(e,60,Zp(t,r))});Da(e,391)}function hm(e,r){if(!r||!r["!ref"])return;Da(e,648);Da(e,649,tm(en(r["!ref"])));Da(e,650)}function um(e,r,t){r["!links"].forEach(function(r){if(!r[1].Target)return;var a=Ti(t,-1,r[1].Target.replace(/#[\s\S]*$/,""),bi.HLINK);Da(e,494,Gp(r,a))});delete r["!links"]}function dm(e,r,t,a){if(r["!comments"].length>0){var n=Ti(a,-1,"../drawings/vmlDrawing"+(t+1)+".vml",bi.VML);Da(e,551,xn("rId"+n));r["!legacy"]=n}}function vm(e,r,t,a){if(!r["!autofilter"])return;var n=r["!autofilter"];var i=typeof n.ref==="string"?n.ref:Ja(n.ref);if(!t.Workbook)t.Workbook={Sheets:[]};if(!t.Workbook.Names)t.Workbook.Names=[];var s=t.Workbook.Names;var f=Za(i);if(f.s.r==f.e.r){f.e.r=Za(r["!ref"]).e.r;i=Ja(f)}for(var l=0;l16383||o.e.r>1048575){if(r.WTF)throw new Error("Range "+(s["!ref"]||"A1")+" exceeds format limit A1:XFD1048576");o.e.c=Math.min(o.e.c,16383);o.e.r=Math.min(o.e.c,1048575)}s["!links"]=[];s["!comments"]=[];Da(n,129);if(t.vbaraw||s["!outline"])Da(n,147,lp(f,s["!outline"]));Da(n,148,ip(o));pm(n,s,t.Workbook);mm(n,s);cm(n,s,e,r,t);lm(n,s,e,r,t);gm(n,s);vm(n,s,t,e);om(n,s);um(n,s,a);if(s["!margins"])Da(n,476,Qp(s["!margins"]));if(!r||r.ignoreEC||r.ignoreEC==void 0)hm(n,s);dm(n,s,e,a);Da(n,130);return n.end()}function wm(e){var r=[];var t=e.match(/^/);var a;(e.match(/\/]*>([^<])<\/c:v><\/c:pt>/gm)||[]).forEach(function(e){var a=e.match(/\/]*>([^<]*)<\/c:v><\/c:pt>/);if(!a)return;r[+a[1]]=t?+a[2]:a[2]});var n=pt((Br(e,"c:formatCode")||["","General"])[1]);(Lr(e,"","")||[]).forEach(function(e){a=e.replace(/<[^<>]*>/g,"")});return[r,n,a]}function km(e,r,t,a,n,i){var s=i||{"!type":"chart"};if(!e)return i;var f=0,l=0,o="A";var c={s:{r:2e6,c:2e6},e:{r:0,c:0}};(Lr(e,"","")||[]).forEach(function(e){var r=wm(e);c.s.r=c.s.c=0;c.e.c=f;o=$a(f);r[0].forEach(function(e,t){if(s["!data"]){if(!s["!data"][t])s["!data"][t]=[];s["!data"][t][f]={t:"n",v:e,z:r[1]}}else s[o+Wa(t)]={t:"n",v:e,z:r[1]};l=t});if(c.e.r0)s["!ref"]=Ja(c);return s}function Am(e,r,t,a,n){if(!e)return e;if(!a)a={"!id":{}};var i={"!type":"chart","!drawel":null,"!rel":""};var s;var f=e.match(Nv);if(f)Pv(f[0],i,n,t);if(s=e.match(/drawing r:id="(.*?)"/))i["!rel"]=s[1];if(a["!id"][i["!rel"]])i["!drawel"]=a["!id"][i["!rel"]];return i}function Tm(e,r){e.l+=10;var t=cn(e,r-10);return{name:t}}function ym(e,r,t,a,n){if(!e)return e;if(!a)a={"!id":{}};var i={"!type":"chart","!drawel":null,"!rel":""};var s=[];var f=false;Na(e,function l(e,a,o){switch(o){case 550:i["!rel"]=e;break;case 651:if(!n.Sheets[t])n.Sheets[t]={};if(e.name)n.Sheets[t].CodeName=e.name;break;case 562:;case 652:;case 669:;case 679:;case 551:;case 552:;case 476:;case 3072:break;case 35:f=true;break;case 36:f=false;break;case 37:s.push(o);break;case 38:s.pop();break;default:if(a.T>0)s.push(o);else if(a.T<0)s.pop();else if(!f||r.WTF)throw new Error("Unexpected record 0x"+o.toString(16));}},r);if(a["!id"][i["!rel"]])i["!drawel"]=a["!id"][i["!rel"]];return i}var Em=[["allowRefreshQuery",false,"bool"],["autoCompressPictures",true,"bool"],["backupFile",false,"bool"],["checkCompatibility",false,"bool"],["CodeName",""],["date1904",false,"bool"],["defaultThemeVersion",0,"int"],["filterPrivacy",false,"bool"],["hidePivotFieldList",false,"bool"],["promptedSolutions",false,"bool"],["publishItems",false,"bool"],["refreshAllConnections",false,"bool"],["saveExternalLinkValues",true,"bool"],["showBorderUnselectedTables",true,"bool"],["showInkAnnotation",true,"bool"],["showObjects","all"],["showPivotChartFilter",false,"bool"],["updateLinks","userSet"]];var Cm=[["activeTab",0,"int"],["autoFilterDateGrouping",true,"bool"],["firstSheet",0,"int"],["minimized",false,"bool"],["showHorizontalScroll",true,"bool"],["showSheetTabs",true,"bool"],["showVerticalScroll",true,"bool"],["tabRatio",600,"int"],["visibility","visible"]];var _m=[];var Sm=[["calcCompleted","true"],["calcMode","auto"],["calcOnSave","true"],["concurrentCalc","true"],["fullCalcOnLoad","false"],["fullPrecision","true"],["iterate","false"],["iterateCount","100"],["iterateDelta","0.001"],["refMode","A1"]];function xm(e,r){for(var t=0;t!=e.length;++t){var a=e[t];for(var n=0;n!=r.length;++n){var i=r[n];if(a[i[0]]==null)a[i[0]]=i[1];else switch(i[2]){case"bool":if(typeof a[i[0]]=="string")a[i[0]]=Ct(a[i[0]]);break;case"int":if(typeof a[i[0]]=="string")a[i[0]]=parseInt(a[i[0]],10);break;}}}}function Om(e,r){for(var t=0;t!=r.length;++t){var a=r[t];if(e[a[0]]==null)e[a[0]]=a[1];else switch(a[2]){case"bool":if(typeof e[a[0]]=="string")e[a[0]]=Ct(e[a[0]]);break;case"int":if(typeof e[a[0]]=="string")e[a[0]]=parseInt(e[a[0]],10);break;}}}function Im(e){Om(e.WBProps,Em);Om(e.CalcPr,Sm);xm(e.WBView,Cm);xm(e.Sheets,_m);gv.date1904=Ct(e.WBProps.date1904)}function Rm(e){if(!e.Workbook)return"false";if(!e.Workbook.WBProps)return"false";return Ct(e.Workbook.WBProps.date1904)?"true":"false"}var Nm=":][*?/\\".split("");function Fm(e,r){try{if(e=="")throw new Error("Sheet name cannot be blank");if(e.length>31)throw new Error("Sheet name cannot exceed 31 chars");if(e.charCodeAt(0)==39||e.charCodeAt(e.length-1)==39)throw new Error("Sheet name cannot start or end with apostrophe (')");if(e.toLowerCase()=="history")throw new Error("Sheet name cannot be 'History'");Nm.forEach(function(r){if(e.indexOf(r)==-1)return;throw new Error("Sheet name cannot contain : \\ / ? * [ ]")})}catch(t){if(r)return false;throw t}return true}function Dm(e,r,t){e.forEach(function(a,n){Fm(a);for(var i=0;i22)throw new Error("Bad Code Name: Worksheet"+s)}})}function Pm(e){if(!e||!e.SheetNames||!e.Sheets)throw new Error("Invalid Workbook");if(!e.SheetNames.length)throw new Error("Workbook is empty");var r=e.Workbook&&e.Workbook.Sheets||[];Dm(e.SheetNames,r,!!e.vbaraw);for(var t=0;t":break;case"":;case"":break;case"":break;case"":Em.forEach(function(e){if(c[e[0]]==null)return;switch(e[2]){case"bool":t.WBProps[e[0]]=Ct(c[e[0]]);break;case"int":t.WBProps[e[0]]=parseInt(c[e[0]],10);break;default:t.WBProps[e[0]]=c[e[0]];}});if(c.codeName)t.WBProps.CodeName=It(c.codeName);break;case"":break;case"":break;case"":;case"":break;case"":delete c[0];t.WBView.push(c);break;case"":break;case"":;case"":break;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":a=false;break;case"":{i.Ref=pt(It(e.slice(s,o)));t.Names.push(i)}break;case"":break;case"":delete c[0];t.CalcPr=c;break;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"":break;case"":break;case"":break;case"":;case"":break;case"":;case"":;case"":break;case"":a=false;break;case"":a=true;break;case"":a=false;break;case"0;var a={codeName:"ThisWorkbook"};if(e.Workbook&&e.Workbook.WBProps){Em.forEach(function(r){if(e.Workbook.WBProps[r[0]]==null)return;if(e.Workbook.WBProps[r[0]]==r[1])return;a[r[0]]=e.Workbook.WBProps[r[0]]});if(e.Workbook.WBProps.CodeName){a.codeName=e.Workbook.WBProps.CodeName;delete a.CodeName}}r[r.length]=Bt("workbookPr",null,a);var n=e.Workbook&&e.Workbook.Sheets||[];var i=0;if(n&&n[0]&&!!n[0].Hidden){r[r.length]="";for(i=0;i!=e.SheetNames.length;++i){if(!n[i])break;if(!n[i].Hidden)break}if(i==e.SheetNames.length)i=0;r[r.length]='';r[r.length]=""}r[r.length]="";for(i=0;i!=e.SheetNames.length;++i){var s={name:bt(e.SheetNames[i].slice(0,31))};s.sheetId=""+(i+1);s["r:id"]="rId"+(i+1);if(n[i])switch(n[i].Hidden){case 1:s.state="hidden";break;case 2:s.state="veryHidden";break;}r[r.length]=Bt("sheet",null,s)}r[r.length]="";if(t){r[r.length]="";if(e.Workbook&&e.Workbook.Names)e.Workbook.Names.forEach(function(e){var t={name:e.Name};if(e.Comment)t.comment=e.Comment;if(e.Sheet!=null)t.localSheetId=""+e.Sheet;if(e.Hidden)t.hidden="1";if(!e.Ref)return;r[r.length]=Bt("definedName",bt(e.Ref),t)});r[r.length]=""}if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function Bm(e,r){var t={};t.Hidden=e._R(4);t.iTabID=e._R(4);t.strRelID=Sn(e,r-8);t.name=cn(e);return t}function Wm(e,r){if(!r)r=Ra(127);r._W(4,e.Hidden);r._W(4,e.iTabID);xn(e.strRelID,r);hn(e.name.slice(0,31),r);return r.length>r.l?r.slice(0,r.l):r}function zm(e,r){var t={};var a=e._R(4);t.defaultThemeVersion=e._R(4);var n=r>8?cn(e):"";if(n.length>0)t.CodeName=n;t.autoCompressPictures=!!(a&65536);t.backupFile=!!(a&64);t.checkCompatibility=!!(a&4096);t.date1904=!!(a&1);t.filterPrivacy=!!(a&8);t.hidePivotFieldList=!!(a&1024);t.promptedSolutions=!!(a&16);t.publishItems=!!(a&2048);t.refreshAllConnections=!!(a&262144);t.saveExternalLinkValues=!!(a&128);t.showBorderUnselectedTables=!!(a&4);t.showInkAnnotation=!!(a&32);t.showObjects=["all","placeholders","none"][a>>13&3];t.showPivotChartFilter=!!(a&32768);t.updateLinks=["userSet","never","always"][a>>8&3];return t}function Hm(e,r){if(!r)r=Ra(72);var t=0;if(e){if(e.date1904)t|=1;if(e.filterPrivacy)t|=8}r._W(4,t);r._W(4,0);yn(e&&e.CodeName||"ThisWorkbook",r);return r.slice(0,r.l)}function Vm(e,r){var t={};e._R(4);t.ArchID=e._R(4);e.l+=r-8;return t}function $m(e,r,t){var a=e.l+r;var n=e._R(4);e.l+=1;var i=e._R(4);var s=_n(e);var f;var l="";try{f=Yd(e,0,t);try{l=En(e)}catch(o){}}catch(o){console.error("Could not parse defined name "+s)}if(n&32)s="_xlnm."+s;e.l=a;var c={Name:s,Ptg:f,Flags:n};if(i<268435455)c.Sheet=i;if(l)c.Comment=l;return c}function Xm(e,r){var t=Ra(9);var a=0;var n=e.Name;if(ui.indexOf(n)>-1){a|=32;n=n.slice(6)}t._W(4,a);t._W(1,0);t._W(4,e.Sheet==null?4294967295:e.Sheet);var i=[t,hn(n),lv(e.Ref,r)];if(e.Comment)i.push(Cn(e.Comment));else{var s=Ra(4);s._W(4,4294967295);i.push(s)}return P(i)}function Gm(e,r){var t={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var a=[];var n=false;if(!r)r={};r.biff=12;var i=[];var s=[[]];s.SheetNames=[];s.XTI=[];Zg[16]={n:"BrtFRTArchID$",f:Vm};Na(e,function f(e,l,o){switch(o){case 156:s.SheetNames.push(e.name);t.Sheets.push(e);break;case 153:t.WBProps=e;break;case 39:if(e.Sheet!=null)r.SID=e.Sheet;e.Ref=e.Ptg?Md(e.Ptg,null,null,s,r):"#REF!";delete r.SID;delete e.Ptg;i.push(e);break;case 1036:break;case 357:;case 358:;case 355:;case 667:if(!s[0].length)s[0]=[o,e];else s.push([o,e]);s[s.length-1].XTI=[];break;case 362:if(s.length===0){s[0]=[];s[0].XTI=[]}s[s.length-1].XTI=s[s.length-1].XTI.concat(e);s.XTI=s.XTI.concat(e);break;case 361:break;case 2071:;case 158:;case 143:;case 664:;case 353:break;case 3072:;case 3073:;case 534:;case 677:;case 157:;case 610:;case 2050:;case 155:;case 548:;case 676:;case 128:;case 665:;case 2128:;case 2125:;case 549:;case 2053:;case 596:;case 2076:;case 2075:;case 2082:;case 397:;case 154:;case 1117:;case 553:;case 2091:break;case 35:a.push(o);n=true;break;case 36:a.pop();n=false;break;case 37:a.push(o);n=true;break;case 38:a.pop();n=false;break;case 16:break;default:if(l.T){}else if(!n||r.WTF&&a[a.length-1]!=37&&a[a.length-1]!=35)throw new Error("Unexpected record 0x"+o.toString(16));}},r);Im(t);t.Names=i;t.supbooks=s;return t}function jm(e,r){Da(e,143);for(var t=0;t!=r.SheetNames.length;++t){var a=r.Workbook&&r.Workbook.Sheets&&r.Workbook.Sheets[t]&&r.Workbook.Sheets[t].Hidden||0;var n={Hidden:a,iTabID:t+1,strRelID:"rId"+(t+1),name:r.SheetNames[t]};Da(e,156,Wm(n))}Da(e,144)}function Km(r,t){if(!t)t=Ra(127);for(var a=0;a!=4;++a)t._W(4,0);hn("SheetJS",t);hn(e.version,t);hn(e.version,t);hn("7262",t);return t.length>t.l?t.slice(0,t.l):t}function Ym(e,r){if(!r)r=Ra(29);r._W(-4,0);r._W(-4,460);r._W(4,28800);r._W(4,17600);r._W(4,500);r._W(4,e);r._W(4,e);var t=120;r._W(1,t);return r.length>r.l?r.slice(0,r.l):r}function Zm(e,r){if(!r.Workbook||!r.Workbook.Sheets)return;var t=r.Workbook.Sheets;var a=0,n=-1,i=-1;for(;an)return;Da(e,135);Da(e,158,Ym(n));Da(e,136)}function Jm(e,r){if(!r.Workbook||!r.Workbook.Names)return;r.Workbook.Names.forEach(function(t){try{if(t.Flags&14)return;Da(e,39,Xm(t,r))}catch(a){console.error("Could not serialize defined name "+JSON.stringify(t))}})}function qm(e){var r=e.SheetNames.length;var t=Ra(12*r+28);t._W(4,r+2);t._W(4,0);t._W(4,-2);t._W(4,-2);t._W(4,0);t._W(4,-1);t._W(4,-1);for(var a=0;a-1?pt(r||e).replace(/<[^<>]*>/g,""):a.r;break;case"DateTime":if(e.slice(-1)!="Z")e+="Z";a.v=dr(wr(e,c),c);if(a.v!==a.v)a.v=pt(e);if(!h||h=="General")h="yyyy-mm-dd";case"Number":if(a.v===undefined)a.v=+e;if(!a.t)a.t="n";break;case"Error":a.t="e";a.v=hi[e];if(o.cellText!==false)a.w=e;break;default:if(e==""&&r==""){a.t="z"}else{a.t="s";a.v=yt(r||e)}break;}wg(a,h,o,c);if(o.cellFormula!==false){if(a.Formula){var g=pt(a.Formula);if(g.charCodeAt(0)==61)g=g.slice(1);a.f=ru(g,n);delete a.Formula;if(a.ArrayRange=="RC")a.F=ru("RC:RC",n);else if(a.ArrayRange){a.F=ru(a.ArrayRange,n);l.push([en(a.F),a.F])}}else{for(p=0;p=l[p][0].s.r&&n.r<=l[p][0].e.r)if(n.c>=l[p][0].s.c&&n.c<=l[p][0].e.c)a.F=l[p][1]}}if(o.cellStyles){v.forEach(function(e){if(!d.patternType&&e.patternType)d.patternType=e.patternType});a.s=d}if(a.StyleID!==undefined)a.ixfe=a.StyleID}function Tg(e){return ui.indexOf("_xlnm."+e)>-1?"_xlnm."+e:e}function yg(e){e.t=e.v||"";e.t=e.t.replace(/\r\n/g,"\n").replace(/\r/g,"\n");e.v=e.w=e.ixfe=undefined}function Eg(e,r){var t=r||{};$e();var n=v(Ht(e));if(t.type=="binary"||t.type=="array"||t.type=="base64"){if(typeof a!=="undefined")n=a.utils.decode(65001,c(n));else n=It(n)}var i=n.slice(0,1024).toLowerCase(),s=false;i=i.replace(/".*?"/g,"");if((i.indexOf(">")&1023)>Math.min(i.indexOf(",")&1023,i.indexOf(";")&1023)){var f=Ar(t);f.type="string";return to.to_workbook(n,f)}if(i.indexOf("=0)s=true});if(s)return Cb(n,t);mg={"General Number":"General","General Date":q[22],"Long Date":"dddd, mmmm dd, yyyy","Medium Date":q[15],"Short Date":q[14],"Long Time":q[19],"Medium Time":q[18],"Short Time":q[20],Currency:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',Fixed:q[2],Standard:q[4],Percent:q[10],Scientific:q[11],"Yes/No":'"Yes";"Yes";"No";@',"True/False":'"True";"True";"False";@',"On/Off":'"Yes";"Yes";"No";@'};var l;var o=[],h;if(b!=null&&t.dense==null)t.dense=b;var u={},d=[],p={},m="";if(t.dense)p["!data"]=[];var g={},w={};var k=vg(''),A=0;var T=0,y=0;var E={s:{r:2e6,c:2e6},e:{r:0,c:0}};var C={},_={};var S="",x=0;var O=[];var I={},R={},N=0,F=[];var D=[],P={};var L=[],M,U=false;var B=[];var W=[],z={},H=0,V=0;var $={Sheets:[],WBProps:{date1904:false}},X={};Vt.lastIndex=0;n=Mr(n,"");var G="";while(l=Vt.exec(n))switch(l[3]=(G=l[3]).toLowerCase()){case"data":if(G=="data"){if(l[1]==="/"){if((h=o.pop())[0]!==l[3])throw new Error("Bad state: "+h.join("|"))}else if(l[0].charAt(l[0].length-2)!=="/")o.push([l[3],true]);break}if(o[o.length-1][1])break;if(l[1]==="/")Ag(n.slice(A,l.index),S,k,o[o.length-1][0]=="comment"?P:g,{c:T,r:y},C,L[T],w,B,t,$.WBProps.date1904);else{S="";k=vg(l[0]);A=l.index+l[0].length}break;case"cell":if(l[1]==="/"){if(D.length>0)g.c=D;if((!t.sheetRows||t.sheetRows>y)&&g.v!==void 0){if(t.dense){if(!p["!data"][y])p["!data"][y]=[];p["!data"][y][T]=g}else p[$a(T)+Wa(y)]=g}if(g.HRef){g.l={Target:pt(g.HRef)};if(g.HRefScreenTip)g.l.Tooltip=g.HRefScreenTip;delete g.HRef;delete g.HRefScreenTip}if(g.MergeAcross||g.MergeDown){H=T+(parseInt(g.MergeAcross,10)|0);V=y+(parseInt(g.MergeDown,10)|0);if(H>T||V>y)O.push({s:{c:T,r:y},e:{c:H,r:V}})}if(!t.sheetStubs){if(g.MergeAcross)T=H+1;else++T}else if(g.MergeAcross||g.MergeDown){for(var j=T;j<=H;++j){for(var K=y;K<=V;++K){if(j>T||K>y){if(t.dense){if(!p["!data"][K])p["!data"][K]=[];p["!data"][K][j]={t:"z"}}else p[$a(j)+Wa(K)]={t:"z"}}}}T=H+1}else++T}else{g=pg(l[0]);if(g.Index)T=+g.Index-1;if(TE.e.c)E.e.c=T;if(l[0].slice(-2)==="/>")++T;D=[]}break;case"row":if(l[1]==="/"||l[0].slice(-2)==="/>"){if(yE.e.r)E.e.r=y;if(l[0].slice(-2)==="/>"){w=vg(l[0]);if(w.Index)y=+w.Index-1}T=0;++y}else{w=vg(l[0]);if(w.Index)y=+w.Index-1;z={};if(w.AutoFitHeight=="0"||w.Height){z.hpx=parseInt(w.Height,10);z.hpt=uc(z.hpx);W[y]=z}if(w.Hidden=="1"){z.hidden=true;W[y]=z}}break;case"worksheet":if(l[1]==="/"){if((h=o.pop())[0]!==l[3])throw new Error("Bad state: "+h.join("|"));d.push(m);if(E.s.r<=E.e.r&&E.s.c<=E.e.c){p["!ref"]=Ja(E);if(t.sheetRows&&t.sheetRows<=E.e.r){p["!fullref"]=p["!ref"];E.e.r=t.sheetRows-1;p["!ref"]=Ja(E)}}if(O.length)p["!merges"]=O;if(L.length>0)p["!cols"]=L;if(W.length>0)p["!rows"]=W;u[m]=p}else{E={s:{r:2e6,c:2e6},e:{r:0,c:0}};y=T=0;o.push([l[3],false]);h=vg(l[0]);m=pt(h.Name);p={};if(t.dense)p["!data"]=[];O=[];B=[];W=[];X={name:m,Hidden:0};$.Sheets.push(X)}break;case"table":if(l[1]==="/"){if((h=o.pop())[0]!==l[3])throw new Error("Bad state: "+h.join("|"))}else if(l[0].slice(-2)=="/>")break;else{o.push([l[3],false]);L=[];U=false}break;case"style":if(l[1]==="/")kg(C,_,t);else _=vg(l[0]);break;case"numberformat":_.nf=pt(vg(l[0]).Format||"General");if(mg[_.nf])_.nf=mg[_.nf];for(var Y=0;Y!=392;++Y)if(q[Y]==_.nf)break;if(Y==392)for(Y=57;Y!=392;++Y)if(q[Y]==null){Je(_.nf,Y);break}break;case"column":if(o[o.length-1][0]!=="table")break;if(l[1]==="/")break;M=vg(l[0]);if(M.Hidden){M.hidden=true;delete M.Hidden}if(M.Width)M.wpx=parseInt(M.Width,10);if(!U&&M.wpx>10){U=true;ac=ec;for(var Z=0;Z0)ee.Sheet=$.Sheets.length-1;$.Names.push(ee);break;case"namedcell":break;case"b":break;case"i":break;case"u":break;case"s":break;case"em":break;case"h2":break;case"h3":break;case"sub":break;case"sup":break;case"span":break;case"alignment":break;case"borders":break;case"border":break;case"font":if(l[0].slice(-2)==="/>")break;else if(l[1]==="/")S+=n.slice(x,l.index);else x=l.index+l[0].length;break;case"interior":if(!t.cellStyles)break;_.Interior=vg(l[0]);break;case"protection":break;case"author":;case"title":;case"description":;case"created":;case"keywords":;case"subject":;case"category":;case"company":;case"lastauthor":;case"lastsaved":;case"lastprinted":;case"version":;case"revision":;case"totaltime":;case"hyperlinkbase":;case"manager":;case"contentstatus":;case"identifier":;case"language":;case"appname":if(l[0].slice(-2)==="/>")break;else if(l[1]==="/")$i(I,G,n.slice(N,l.index));else N=l.index+l[0].length;break;case"paragraphs":break;case"styles":;case"workbook":if(l[1]==="/"){if((h=o.pop())[0]!==l[3])throw new Error("Bad state: "+h.join("|"))}else o.push([l[3],false]);break;case"comment":if(l[1]==="/"){if((h=o.pop())[0]!==l[3])throw new Error("Bad state: "+h.join("|"));yg(P);D.push(P)}else{o.push([l[3],false]);h=vg(l[0]);if(!Ct(h["ShowAlways"]||"0"))D.hidden=true;P={a:h.Author}}break;case"autofilter":if(l[1]==="/"){if((h=o.pop())[0]!==l[3])throw new Error("Bad state: "+h.join("|"))}else if(l[0].charAt(l[0].length-2)!=="/"){var re=vg(l[0]);p["!autofilter"]={ref:ru(re.Range).replace(/\$/g,"")};o.push([l[3],true])}break;case"name":break;case"datavalidation":if(l[1]==="/"){if((h=o.pop())[0]!==l[3])throw new Error("Bad state: "+h.join("|"))}else{if(l[0].charAt(l[0].length-2)!=="/")o.push([l[3],true])}break;case"pixelsperinch":break;case"componentoptions":;case"documentproperties":;case"customdocumentproperties":;case"officedocumentsettings":;case"pivottable":;case"pivotcache":;case"names":;case"mapinfo":;case"pagebreaks":;case"querytable":;case"sorting":;case"schema":;case"conditionalformatting":;case"smarttagtype":;case"smarttags":;case"excelworkbook":;case"workbookoptions":;case"worksheetoptions":if(l[1]==="/"){if((h=o.pop())[0]!==l[3])throw new Error("Bad state: "+h.join("|"))}else if(l[0].charAt(l[0].length-2)!=="/")o.push([l[3],true]);break;case"null":break;default:if(o.length==0&&l[3]=="document")return Mb(n,t);if(o.length==0&&l[3]=="uof")return Mb(n,t);var te=true;switch(o[o.length-1][0]){case"officedocumentsettings":switch(l[3]){case"allowpng":break;case"removepersonalinformation":break;case"downloadcomponents":break;case"locationofcomponents":break;case"colors":break;case"color":break;case"index":break;case"rgb":break;case"targetscreensize":break;case"readonlyrecommended":break;default:te=false;}break;case"componentoptions":switch(l[3]){case"toolbar":break;case"hideofficelogo":break;case"spreadsheetautofit":break;case"label":break;case"caption":break;case"maxheight":break;case"maxwidth":break;case"nextsheetnumber":break;default:te=false;}break;case"excelworkbook":switch(l[3]){case"date1904":$.WBProps.date1904=true;break;case"hidehorizontalscrollbar":break;case"hideverticalscrollbar":break;case"hideworkbooktabs":break;case"windowheight":break;case"windowwidth":break;case"windowtopx":break;case"windowtopy":break;case"tabratio":break;case"protectstructure":break;case"protectwindow":break;case"protectwindows":break;case"activesheet":break;case"displayinknotes":break;case"firstvisiblesheet":break;case"supbook":break;case"sheetname":break;case"sheetindex":break;case"sheetindexfirst":break;case"sheetindexlast":break;case"dll":break;case"acceptlabelsinformulas":break;case"donotsavelinkvalues":break;case"iteration":break;case"maxiterations":break;case"maxchange":break;case"path":break;case"xct":break;case"count":break;case"selectedsheets":break;case"calculation":break;case"uncalced":break;case"startupprompt":break;case"crn":break;case"externname":break;case"formula":break;case"colfirst":break;case"collast":break;case"wantadvise":break;case"boolean":break;case"error":break;case"text":break;case"ole":break;case"noautorecover":break;case"publishobjects":break;case"donotcalculatebeforesave":break;case"number":break;case"refmoder1c1":break;case"embedsavesmarttags":break;default:te=false;}break;case"workbookoptions":switch(l[3]){case"owcversion":break;case"height":break;case"width":break;default:te=false;}break;case"worksheetoptions":switch(l[3]){case"visible":if(l[0].slice(-2)==="/>"){}else if(l[1]==="/")switch(n.slice(N,l.index)){case"SheetHidden":X.Hidden=1;break;case"SheetVeryHidden":X.Hidden=2;break;}else N=l.index+l[0].length;break;case"header":if(!p["!margins"])Av(p["!margins"]={},"xlml");if(!isNaN(+ct(l[0]).Margin))p["!margins"].header=+ct(l[0]).Margin;break;case"footer":if(!p["!margins"])Av(p["!margins"]={},"xlml");if(!isNaN(+ct(l[0]).Margin))p["!margins"].footer=+ct(l[0]).Margin;break;case"pagemargins":var ae=ct(l[0]);if(!p["!margins"])Av(p["!margins"]={},"xlml");if(!isNaN(+ae.Top))p["!margins"].top=+ae.Top;if(!isNaN(+ae.Left))p["!margins"].left=+ae.Left;if(!isNaN(+ae.Right))p["!margins"].right=+ae.Right;if(!isNaN(+ae.Bottom))p["!margins"].bottom=+ae.Bottom;break;case"displayrighttoleft":if(!$.Views)$.Views=[];if(!$.Views[0])$.Views[0]={};$.Views[0].RTL=true;break;case"freezepanes":break;case"frozennosplit":break;case"splithorizontal":;case"splitvertical":break;case"donotdisplaygridlines":break;case"activerow":break;case"activecol":break;case"toprowbottompane":break;case"leftcolumnrightpane":break;case"unsynced":break;case"print":break;case"printerrors":break;case"panes":break;case"scale":break;case"pane":break;case"number":break;case"layout":break;case"pagesetup":break;case"selected":break;case"protectobjects":break;case"enableselection":break;case"protectscenarios":break;case"validprinterinfo":break;case"horizontalresolution":break;case"verticalresolution":break;case"numberofcopies":break;case"activepane":break;case"toprowvisible":break;case"leftcolumnvisible":break;case"fittopage":break;case"rangeselection":break;case"papersizeindex":break;case"pagelayoutzoom":break;case"pagebreakzoom":break;case"filteron":break;case"fitwidth":break;case"fitheight":break;case"commentslayout":break;case"zoom":break;case"lefttoright":break;case"gridlines":break;case"allowsort":break;case"allowfilter":break;case"allowinsertrows":break;case"allowdeleterows":break;case"allowinsertcols":break;case"allowdeletecols":break;case"allowinserthyperlinks":break;case"allowformatcells":break;case"allowsizecols":break;case"allowsizerows":break;case"nosummaryrowsbelowdetail":if(!p["!outline"])p["!outline"]={};p["!outline"].above=true;break;case"tabcolorindex":break;case"donotdisplayheadings":break;case"showpagelayoutzoom":break;case"nosummarycolumnsrightdetail":if(!p["!outline"])p["!outline"]={};p["!outline"].left=true;break;case"blackandwhite":break;case"donotdisplayzeros":break;case"displaypagebreak":break;case"rowcolheadings":break;case"donotdisplayoutline":break;case"noorientation":break;case"allowusepivottables":break;case"zeroheight":break;case"viewablerange":break;case"selection":break;case"protectcontents":break;default:te=false;}break;case"pivottable":;case"pivotcache":switch(l[3]){case"immediateitemsondrop":break;case"showpagemultipleitemlabel":break;case"compactrowindent":break;case"location":break;case"pivotfield":break;case"orientation":break;case"layoutform":break;case"layoutsubtotallocation":break;case"layoutcompactrow":break;case"position":break;case"pivotitem":break;case"datatype":break;case"datafield":break;case"sourcename":break;case"parentfield":break;case"ptlineitems":break;case"ptlineitem":break;case"countofsameitems":break;case"item":break;case"itemtype":break;case"ptsource":break;case"cacheindex":break;case"consolidationreference":break;case"filename":break;case"reference":break;case"nocolumngrand":break;case"norowgrand":break;case"blanklineafteritems":break;case"hidden":break;case"subtotal":break;case"basefield":break;case"mapchilditems":break;case"function":break;case"refreshonfileopen":break;case"printsettitles":break;case"mergelabels":break;case"defaultversion":break;case"refreshname":break;case"refreshdate":break;case"refreshdatecopy":break;case"versionlastrefresh":break;case"versionlastupdate":break;case"versionupdateablemin":break;case"versionrefreshablemin":break;case"calculation":break;default:te=false;}break;case"pagebreaks":switch(l[3]){case"colbreaks":break;case"colbreak":break;case"rowbreaks":break;case"rowbreak":break;case"colstart":break;case"colend":break;case"rowend":break;default:te=false;}break;case"autofilter":switch(l[3]){case"autofiltercolumn":break;case"autofiltercondition":break;case"autofilterand":break;case"autofilteror":break;default:te=false;}break;case"querytable":switch(l[3]){case"id":break;case"autoformatfont":break;case"autoformatpattern":break;case"querysource":break;case"querytype":break;case"enableredirections":break;case"refreshedinxl9":break;case"urlstring":break;case"htmltables":break;case"connection":break;case"commandtext":break;case"refreshinfo":break;case"notitles":break;case"nextid":break;case"columninfo":break;case"overwritecells":break;case"donotpromptforfile":break;case"textwizardsettings":break;case"source":break;case"number":break;case"decimal":break;case"thousandseparator":break;case"trailingminusnumbers":break;case"formatsettings":break;case"fieldtype":break;case"delimiters":break;case"tab":break;case"comma":break;case"autoformatname":break;case"versionlastedit":break;case"versionlastrefresh":break;default:te=false;}break;case"datavalidation":switch(l[3]){case"range":break;case"type":break;case"min":break;case"max":break;case"sort":break;case"descending":break;case"order":break;case"casesensitive":break;case"value":break;case"errorstyle":break;case"errormessage":break;case"errortitle":break;case"inputmessage":break;case"inputtitle":break;case"combohide":break;case"inputhide":break;case"condition":break;case"qualifier":break;case"useblank":break;case"value1":break;case"value2":break;case"format":break;case"cellrangelist":break;default:te=false;}break;case"sorting":;case"conditionalformatting":switch(l[3]){case"range":break;case"type":break;case"min":break;case"max":break;case"sort":break;case"descending":break;case"order":break;case"casesensitive":break;case"value":break;case"errorstyle":break;case"errormessage":break;case"errortitle":break;case"cellrangelist":break;case"inputmessage":break;case"inputtitle":break;case"combohide":break;case"inputhide":break;case"condition":break;case"qualifier":break;case"useblank":break;case"value1":break;case"value2":break;case"format":break;default:te=false;}break;case"mapinfo":;case"schema":;case"data":switch(l[3]){case"map":break;case"entry":break;case"range":break;case"xpath":break;case"field":break;case"xsdtype":break;case"filteron":break;case"aggregate":break;case"elementtype":break;case"attributetype":break;case"schema":;case"element":;case"complextype":;case"datatype":;case"all":;case"attribute":;case"extends":break;case"row":break;default:te=false;}break;case"smarttags":break;default:te=false;break;}if(te)break;if(l[3].match(/!\[CDATA/))break;if(!o[o.length-1][1])throw"Unrecognized tag: "+l[3]+"|"+o.join("|");if(o[o.length-1][0]==="customdocumentproperties"){if(l[0].slice(-2)==="/>")break;else if(l[1]==="/")bg(R,G,F,n.slice(N,l.index));else{F=l;N=l.index+l[0].length}break}if(t.WTF)throw"Unrecognized tag: "+l[3]+"|"+o.join("|");}var ne={};if(!t.bookSheets&&!t.bookProps)ne.Sheets=u;ne.SheetNames=d;ne.Workbook=$;ne.SSF=Ar(q);ne.Props=I;ne.Custprops=R;ne.bookType="xlml";return ne}function Cg(e,r){Jw(r=r||{});switch(r.type||"base64"){case"base64":return Eg(E(e),r);case"binary":;case"buffer":;case"file":return Eg(e,r);case"array":return Eg(N(e),r);}}function _g(e,r){var t=[];if(e.Props)t.push(Xi(e.Props,r));if(e.Custprops)t.push(Gi(e.Props,e.Custprops,r));return t.join("")}function Sg(e){if((((e||{}).Workbook||{}).WBProps||{}).date1904)return'';return""}function xg(e,r){var t=[''];r.cellXfs.forEach(function(e,r){var a=[];a.push(Bt("NumberFormat",null,{"ss:Format":bt(q[e.numFmtId])}));var n={"ss:ID":"s"+(21+r)};t.push(Bt("Style",a.join(""),n))});return Bt("Styles",t.join(""))}function Og(e){return Bt("NamedRange",null,{"ss:Name":e.Name.slice(0,6)=="_xlnm."?e.Name.slice(6):e.Name,"ss:RefersTo":"="+nu(e.Ref,{r:0,c:0})})}function Ig(e){if(!((e||{}).Workbook||{}).Names)return"";var r=e.Workbook.Names;var t=[];for(var a=0;a");if(e["!margins"].header)n.push(Bt("Header",null,{"x:Margin":e["!margins"].header}));if(e["!margins"].footer)n.push(Bt("Footer",null,{"x:Margin":e["!margins"].footer}));n.push(Bt("PageMargins",null,{"x:Bottom":e["!margins"].bottom||"0.75","x:Left":e["!margins"].left||"0.7","x:Right":e["!margins"].right||"0.7","x:Top":e["!margins"].top||"0.75"}));n.push("")}if(a&&a.Workbook&&a.Workbook.Sheets&&a.Workbook.Sheets[t]){if(a.Workbook.Sheets[t].Hidden)n.push(Bt("Visible",a.Workbook.Sheets[t].Hidden==1?"SheetHidden":"SheetVeryHidden",{}));else{for(var i=0;i")}}if(((((a||{}).Workbook||{}).Views||[])[0]||{}).RTL)n.push("");if(e["!protect"]){n.push(Mt("ProtectContents","True"));if(e["!protect"].objects)n.push(Mt("ProtectObjects","True"));if(e["!protect"].scenarios)n.push(Mt("ProtectScenarios","True"));if(e["!protect"].selectLockedCells!=null&&!e["!protect"].selectLockedCells)n.push(Mt("EnableSelection","NoSelection"));else if(e["!protect"].selectUnlockedCells!=null&&!e["!protect"].selectUnlockedCells)n.push(Mt("EnableSelection","UnlockedCells"));[["formatCells","AllowFormatCells"],["formatColumns","AllowSizeCols"],["formatRows","AllowSizeRows"],["insertColumns","AllowInsertCols"],["insertRows","AllowInsertRows"],["insertHyperlinks","AllowInsertHyperlinks"],["deleteColumns","AllowDeleteCols"],["deleteRows","AllowDeleteRows"],["sort","AllowSort"],["autoFilter","AllowFilter"],["pivotTables","AllowUsePivotTables"]].forEach(function(r){if(e["!protect"][r[0]])n.push("<"+r[1]+"/>")})}if(n.length==0)return"";return Bt("WorksheetOptions",n.join(""),{xmlns:Gt.x})}function Fg(e){return e.map(function(r){var t=Et(r.t||"");var a=Bt("ss:Data",t,{xmlns:"http://www.w3.org/TR/REC-html40"});var n={};if(r.a)n["ss:Author"]=r.a;if(!e.hidden)n["ss:ShowAlways"]="1";return Bt("Comment",a,n)}).join("")}function Dg(e,r,t,a,n,i,s){if(!e||e.v==undefined&&e.f==undefined)return"";var f={};if(e.f)f["ss:Formula"]="="+bt(nu(e.f,s));if(e.F&&e.F.slice(0,r.length)==r){var l=Ka(e.F.slice(r.length+1));f["ss:ArrayRange"]="RC:R"+(l.r==s.r?"":"["+(l.r-s.r)+"]")+"C"+(l.c==s.c?"":"["+(l.c-s.c)+"]")}if(e.l&&e.l.Target){f["ss:HRef"]=bt(e.l.Target);if(e.l.Tooltip)f["x:HRefScreenTip"]=bt(e.l.Tooltip)}if(t["!merges"]){var o=t["!merges"];for(var c=0;c!=o.length;++c){if(o[c].s.c!=s.c||o[c].s.r!=s.r)continue;if(o[c].e.c>o[c].s.c)f["ss:MergeAcross"]=o[c].e.c-o[c].s.c;if(o[c].e.r>o[c].s.r)f["ss:MergeDown"]=o[c].e.r-o[c].s.r}}var h="",u="";switch(e.t){case"z":if(!a.sheetStubs)return"";break;case"n":{if(!isFinite(e.v)){h="Error";u=ci[isNaN(e.v)?36:7]}else{h="Number";u=String(e.v)}}break;case"b":h="Boolean";u=e.v?"1":"0";break;case"e":h="Error";u=ci[e.v];break;case"d":h="DateTime";u=new Date(e.v).toISOString();if(e.z==null)e.z=e.z||q[14];break;case"s":h="String";u=Tt(e.v||"");break;}var d=Tv(a.cellXfs,e,a);f["ss:StyleID"]="s"+(21+d);f["ss:Index"]=s.c+1;var v=e.v!=null?u:"";var p=e.t=="z"?"":''+v+"";if((e.c||[]).length>0)p+=Fg(e.c);return Bt("Cell",p,f)}function Pg(e,r){var t='"}function Lg(e,r,t,a){if(!e["!ref"])return"";var n=en(e["!ref"]);var i=e["!merges"]||[],s=0;var f=[];if(e["!cols"])e["!cols"].forEach(function(e,r){oc(e);var t=!!e.width;var a=kv(r,e);var n={"ss:Index":r+1};if(t)n["ss:Width"]=nc(a.width);if(e.hidden)n["ss:Hidden"]="1";f.push(Bt("Column",null,n))});var l=e["!data"]!=null;var o={r:0,c:0};for(var c=n.s.r;c<=n.e.r;++c){var h=[Pg(c,(e["!rows"]||[])[c])];o.r=c;for(var u=n.s.c;u<=n.e.c;++u){o.c=u;var d=false;for(s=0;s!=i.length;++s){if(i[s].s.c>u)continue;if(i[s].s.r>c)continue;if(i[s].e.c");if(h.length>2)f.push(h.join(""))}return f.join("")}function Mg(e,r,t){var a=[];var n=t.SheetNames[e];var i=t.Sheets[n];var s=i?Rg(i,r,e,t):"";if(s.length>0)a.push(""+s+"");s=i?Lg(i,r,e,t):"";if(s.length>0)a.push(""+s+"
    ");a.push(Ng(i,r,e,t));if(i&&i["!autofilter"])a.push('');return a.join("")}function Ug(e,r){if(!r)r={};if(!e.SSF)e.SSF=Ar(q);if(e.SSF){$e();Ve(e.SSF);r.revssf=lr(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF;r.cellXfs=[];Tv(r.cellXfs,{},{revssf:{General:0}})}var t=[];t.push(_g(e,r));t.push(Sg(e,r));t.push("");t.push(Ig(e,r));for(var a=0;a40)return r;t.l-=4;r.Reserved1=t._R(0,"lpstr-ansi");if(t.length-t.l<=4)return r;a=t._R(4);if(a!==1907505652)return r;r.UnicodeClipboardFormat=Vn(t);a=t._R(4);if(a==0||a>40)return r;t.l-=4;r.Reserved2=t._R(0,"lpwstr")}var Wg=[60,1084,2066,2165,2175];function zg(e,r,t,a,n){var i=a;var s=[];var f=t.slice(t.l,t.l+i);if(n&&n.enc&&n.enc.insitu&&f.length>0)switch(e){case 9:;case 521:;case 1033:;case 2057:;case 47:;case 405:;case 225:;case 406:;case 312:;case 404:;case 10:break;case 133:break;default:n.enc.insitu(f);}s.push(f);t.l+=i;var l=ba(t,t.l),o=Jg[l];var c=0;while(o!=null&&Wg.indexOf(l)>-1){i=ba(t,t.l+2);c=t.l+4;if(l==2066)c+=4;else if(l==2165||l==2175){c+=12}f=t.slice(c,t.l+4+i);s.push(f);t.l+=4+i;o=Jg[l=ba(t,t.l)]}var h=P(s);Oa(h,0);var u=0;h.lens=[];for(var d=0;d1)return;if(t.sheetRows&&e.r>=t.sheetRows)return;if(t.cellStyles&&r.XF&&r.XF.data)O(r,t);delete r.ixfe;delete r.XF;u=e;d=Ya(e);if(!s||!s.s||!s.e)s={s:{r:0,c:0},e:{r:0,c:0}};if(e.rs.e.r)s.e.r=e.r+1;if(e.c+1>s.e.c)s.e.c=e.c+1;if(t.cellFormula&&r.f){for(var a=0;ae.c||k[a][0].s.r>e.r)continue;if(k[a][0].e.c>8)!==j)throw new Error("rt mismatch: "+Z+"!="+j);if(Y.r==12){e.l+=10;K-=10}}var J={};if(j===10)J=Y.f(e,K,R);else J=zg(j,Y,e,K,R);if(W==0&&[9,521,1033,2057].indexOf(B)===-1)continue;switch(j){case 34:t.opts.Date1904=C.WBProps.date1904=J;break;case 134:t.opts.WriteProtect=true;break;case 47:if(!R.enc)e.l=0;R.enc=J;if(!r.password)throw new Error("File is password-protected");if(J.valid==null)throw new Error("Encryption scheme unsupported");if(!J.valid)throw new Error("Password is incorrect");break;case 92:R.lastuser=J;break;case 66:var Q=Number(J);switch(Q){case 21010:Q=1200;break;case 32768:Q=1e4;break;case 32769:Q=1252;break;}l(R.codepage=Q);X=true;break;case 317:R.rrtabid=J;break;case 25:R.winlocked=J;break;case 439:t.opts["RefreshAll"]=J;break;case 12:t.opts["CalcCount"]=J;break;case 16:t.opts["CalcDelta"]=J;break;case 17:t.opts["CalcIter"]=J;break;case 13:t.opts["CalcMode"]=J;break;case 14:t.opts["CalcPrecision"]=J;break;case 95:t.opts["CalcSaveRecalc"]=J;break;case 15:R.CalcRefMode=J;break;case 2211:t.opts.FullCalc=J;break;case 129:if(J.fDialog)n["!type"]="dialog";if(!J.fBelow)(n["!outline"]||(n["!outline"]={})).above=true;if(!J.fRight)(n["!outline"]||(n["!outline"]={})).left=true;break;case 67:;case 579:;case 1091:;case 224:y.push(J);break;case 430:U.push([J]);U[U.length-1].XTI=[];break;case 35:;case 547:U[U.length-1].push(J);break;case 24:;case 536:$={Name:J.Name,Ref:Md(J.rgce,s,null,U,R)};if(J.itab>0)$.Sheet=J.itab-1;U.names.push($);if(!U[0]){U[0]=[];U[0].XTI=[]}U[U.length-1].push(J);if(J.Name=="_xlnm._FilterDatabase"&&J.itab>0)if(J.rgce&&J.rgce[0]&&J.rgce[0][0]&&J.rgce[0][0][0]=="PtgArea3d")V[J.itab-1]={ref:Ja(J.rgce[0][0][1][2])};break;case 22:R.ExternCount=J;break;case 23:if(U.length==0){U[0]=[];U[0].XTI=[]}U[U.length-1].XTI=U[U.length-1].XTI.concat(J);U.XTI=U.XTI.concat(J);break;case 2196:if(R.biff<8)break;if($!=null)$.Comment=J[1];break;case 18:n["!protect"]=J;break;case 19:if(J!==0&&R.WTF)console.error("Password verifier: "+J);break;case 133:{i[R.biff==4?R.snames.length:J.pos]=J;R.snames.push(J.name)}break;case 10:{if(--W?!S:S)break;if(s.e){if(s.e.r>0&&s.e.c>0){s.e.r--;s.e.c--;n["!ref"]=Ja(s);if(r.sheetRows&&r.sheetRows<=s.e.r){var ee=s.e.r;s.e.r=r.sheetRows-1;n["!fullref"]=n["!ref"];n["!ref"]=Ja(s);s.e.r=ee}s.e.r++;s.e.c++}if(F.length>0)n["!merges"]=F;if(D.length>0)n["!objects"]=D;if(P.length>0)n["!cols"]=P;if(L.length>0)n["!rows"]=L;C.Sheets.push(_)}if(c==="")h=n;else a[c]=n;n={};if(r.dense)n["!data"]=[]}break;case 9:;case 521:;case 1033:;case 2057:{if(R.biff===8)R.biff={9:2,521:3,1033:4}[j]||{512:2,768:3,1024:4,1280:5,1536:8,2:2,7:2}[J.BIFFVer]||8;R.biffguess=J.BIFFVer==0;if(J.BIFFVer==0&&J.dt==4096){R.biff=5;X=true;l(R.codepage=28591)}if(R.biff==4&&J.dt&256)S=true;if(R.biff==8&&J.BIFFVer==0&&J.dt==16)R.biff=2;if(W++&&!S)break;n={};if(r.dense)n["!data"]=[];if(R.biff<8&&!X){X=true;l(R.codepage=r.codepage||1252)}if(R.biff==4&&S){c=(i[R.snames.indexOf(c)+1]||{name:""}).name}else if(R.biff<5||J.BIFFVer==0&&J.dt==4096){if(c==="")c="Sheet1";s={s:{r:0,c:0},e:{r:0,c:0}};var re={pos:e.l-K,name:c};i[re.pos]=re;R.snames.push(c)}else c=(i[G]||{name:""}).name;if(J.dt==32)n["!type"]="chart";if(J.dt==64)n["!type"]="macro";F=[];D=[];R.arrayf=k=[];P=[];L=[];M=false;_={Hidden:(i[G]||{hs:0}).hs,name:c}}break;case 515:;case 3:;case 2:{if(n["!type"]=="chart")if(r.dense?(n["!data"][J.r]||[])[J.c]:n[$a(J.c)+Wa(J.r)])++J.c;A={ixfe:J.ixfe,XF:y[J.ixfe]||{},v:J.val,t:"n"};if(z>0)A.z=A.XF&&A.XF.numFmtId&&H[A.XF.numFmtId]||H[A.ixfe>>8&63];Hg(A,r,t.opts.Date1904);I({c:J.c,r:J.r},A,r)}break;case 5:;case 517:{A={ixfe:J.ixfe,XF:y[J.ixfe],v:J.val,t:J.t};if(z>0)A.z=A.XF&&A.XF.numFmtId&&H[A.XF.numFmtId]||H[A.ixfe>>8&63];Hg(A,r,t.opts.Date1904); +I({c:J.c,r:J.r},A,r)}break;case 638:{A={ixfe:J.ixfe,XF:y[J.ixfe],v:J.rknum,t:"n"};if(z>0)A.z=A.XF&&A.XF.numFmtId&&H[A.XF.numFmtId]||H[A.ixfe>>8&63];Hg(A,r,t.opts.Date1904);I({c:J.c,r:J.r},A,r)}break;case 189:{for(var te=J.c;te<=J.C;++te){var ae=J.rkrec[te-J.c][0];A={ixfe:ae,XF:y[ae],v:J.rkrec[te-J.c][1],t:"n"};if(z>0)A.z=A.XF&&A.XF.numFmtId&&H[A.XF.numFmtId]||H[A.ixfe>>8&63];Hg(A,r,t.opts.Date1904);I({c:te,r:J.r},A,r)}}break;case 6:;case 518:;case 1030:{if(J.val=="String"){f=J;break}A=Vg(J.val,J.cell.ixfe,J.tt);A.XF=y[A.ixfe];if(r.cellFormula){var ne=J.formula;if(ne&&ne[0]&&ne[0][0]&&ne[0][0][0]=="PtgExp"){var ie=ne[0][0][1][0],se=ne[0][0][1][1];var fe=Ya({r:ie,c:se});if(w[fe])A.f=""+Md(J.formula,s,J.cell,U,R);else A.F=((r.dense?(n["!data"][ie]||[])[se]:n[fe])||{}).F}else A.f=""+Md(J.formula,s,J.cell,U,R)}if(z>0)A.z=A.XF&&A.XF.numFmtId&&H[A.XF.numFmtId]||H[A.ixfe>>8&63];Hg(A,r,t.opts.Date1904);I(J.cell,A,r);f=J}break;case 7:;case 519:{if(f){f.val=J;A=Vg(J,f.cell.ixfe,"s");A.XF=y[A.ixfe];if(r.cellFormula){A.f=""+Md(f.formula,s,f.cell,U,R)}if(z>0)A.z=A.XF&&A.XF.numFmtId&&H[A.XF.numFmtId]||H[A.ixfe>>8&63];Hg(A,r,t.opts.Date1904);I(f.cell,A,r);f=null}else throw new Error("String record expects Formula")}break;case 33:;case 545:{k.push(J);var le=Ya(J[0].s);v=r.dense?(n["!data"][J[0].s.r]||[])[J[0].s.c]:n[le];if(r.cellFormula&&v){if(!f)break;if(!le||!v)break;v.f=""+Md(J[1],s,J[0],U,R);v.F=Ja(J[0])}}break;case 1212:{if(!r.cellFormula)break;if(d){if(!f)break;w[Ya(f.cell)]=J[0];v=r.dense?(n["!data"][f.cell.r]||[])[f.cell.c]:n[Ya(f.cell)];(v||{}).f=""+Md(J[0],s,u,U,R)}}break;case 253:A=Vg(o[J.isst].t,J.ixfe,"s");if(o[J.isst].h)A.h=o[J.isst].h;A.XF=y[A.ixfe];if(z>0)A.z=A.XF&&A.XF.numFmtId&&H[A.XF.numFmtId]||H[A.ixfe>>8&63];Hg(A,r,t.opts.Date1904);I({c:J.c,r:J.r},A,r);break;case 513:if(r.sheetStubs){A={ixfe:J.ixfe,XF:y[J.ixfe],t:"z"};if(z>0)A.z=A.XF&&A.XF.numFmtId&&H[A.XF.numFmtId]||H[A.ixfe>>8&63];Hg(A,r,t.opts.Date1904);I({c:J.c,r:J.r},A,r)}break;case 190:if(r.sheetStubs){for(var oe=J.c;oe<=J.C;++oe){var ce=J.ixfe[oe-J.c];A={ixfe:ce,XF:y[ce],t:"z"};if(z>0)A.z=A.XF&&A.XF.numFmtId&&H[A.XF.numFmtId]||H[A.ixfe>>8&63];Hg(A,r,t.opts.Date1904);I({c:oe,r:J.r},A,r)}}break;case 214:;case 516:;case 4:A=Vg(J.val,J.ixfe,"s");A.XF=y[A.ixfe];if(z>0)A.z=A.XF&&A.XF.numFmtId&&H[A.XF.numFmtId]||H[A.ixfe>>8&63];Hg(A,r,t.opts.Date1904);I({c:J.c,r:J.r},A,r);break;case 0:;case 512:{if(W===1)s=J}break;case 252:{o=J}break;case 1054:{if(R.biff>=3&&R.biff<=4){H[z++]=J[1];for(var he=0;he=163)Je(J[1],z+163)}else Je(J[1],J[0])}break;case 30:{H[z++]=J;for(var ue=0;ue=163)Je(J,z+163)}break;case 229:F=F.concat(J);break;case 93:D[J.cmo[0]]=R.lastobj=J;break;case 438:R.lastobj.TxO=J;break;case 127:R.lastobj.ImData=J;break;case 440:{for(g=J[0].s.r;g<=J[0].e.r;++g)for(m=J[0].s.c;m<=J[0].e.c;++m){v=r.dense?(n["!data"][g]||[])[m]:n[Ya({c:m,r:g})];if(v)v.l=J[1]}}break;case 2048:{for(g=J[0].s.r;g<=J[0].e.r;++g)for(m=J[0].s.c;m<=J[0].e.c;++m){v=r.dense?(n["!data"][g]||[])[m]:n[Ya({c:m,r:g})];if(v&&v.l)v.l.Tooltip=J[1]}}break;case 28:{v=r.dense?(n["!data"][J[0].r]||[])[J[0].c]:n[Ya(J[0])];if(!v){if(r.dense){if(!n["!data"][J[0].r])n["!data"][J[0].r]=[];v=n["!data"][J[0].r][J[0].c]={t:"z"}}else{v=n[Ya(J[0])]={t:"z"}}s.e.r=Math.max(s.e.r,J[0].r);s.s.r=Math.min(s.s.r,J[0].r);s.e.c=Math.max(s.e.c,J[0].c);s.s.c=Math.min(s.s.c,J[0].c)}if(!v.c)v.c=[];if(R.biff<=5&&R.biff>=2)p={a:"SheetJ5",t:J[1]};else{var de=D[J[2]];p={a:J[1],t:de.TxO.t};if(J[3]!=null&&!(J[3]&2))v.c.hidden=true}v.c.push(p)}break;case 2173:dh(y[J.ixfe],J.ext);break;case 125:{if(!R.cellStyles)break;while(J.e>=J.s){P[J.e--]={width:J.w/256,level:J.level||0,hidden:!!(J.flags&1)};if(!M){M=true;lc(J.w/256)}oc(P[J.e+1])}}break;case 520:{var ve={};if(J.level!=null){L[J.r]=ve;ve.level=J.level}if(J.hidden){L[J.r]=ve;ve.hidden=true}if(J.hpt){L[J.r]=ve;ve.hpt=J.hpt;ve.hpx=dc(J.hpt)}}break;case 38:;case 39:;case 40:;case 41:if(!n["!margins"])Av(n["!margins"]={});n["!margins"][{38:"left",39:"right",40:"top",41:"bottom"}[j]]=J;break;case 161:if(!n["!margins"])Av(n["!margins"]={});n["!margins"].header=J.header;n["!margins"].footer=J.footer;break;case 574:if(J.RTL)C.Views[0].RTL=true;break;case 146:E=J;break;case 2198:N=J;break;case 140:T=J;break;case 442:{if(!c)C.WBProps.CodeName=J||"ThisWorkbook";else _.CodeName=J||_.name}break;}}else{if(!Y)console.error("Missing Info for XLS Record 0x"+j.toString(16));e.l+=K}}t.SheetNames=ir(i).sort(function(e,r){return Number(e)-Number(r)}).map(function(e){return i[e].name});if(!r.bookSheets)t.Sheets=a;if(!t.SheetNames.length&&h["!ref"]){t.SheetNames.push("Sheet1");if(t.Sheets)t.Sheets["Sheet1"]=h}else t.Preamble=h;if(t.Sheets)V.forEach(function(e,r){t.Sheets[t.SheetNames[r]]["!autofilter"]=e});t.Strings=o;t.SSF=Ar(q);if(R.enc)t.Encryption=R.enc;if(N)t.Themes=N;t.Metadata={};if(T!==undefined)t.Metadata.Country=T;if(U.names.length>0)C.Names=U.names;t.Workbook=C;return t}var Xg={SI:"e0859ff2f94f6810ab9108002b27b3d9",DSI:"02d5cdd59c2e1b10939708002b2cf9ae",UDI:"05d5cdd59c2e1b10939708002b2cf9ae"};function Gg(e,r,t){var a=Qe.find(e,"/!DocumentSummaryInformation");if(a&&a.size>0)try{var n=ds(a,ai,Xg.DSI);for(var i in n)r[i]=n[i]}catch(s){if(t.WTF)throw s}var f=Qe.find(e,"/!SummaryInformation");if(f&&f.size>0)try{var l=ds(f,ni,Xg.SI);for(var o in l)if(r[o]==null)r[o]=l[o]}catch(s){if(t.WTF)throw s}if(r.HeadingPairs&&r.TitlesOfParts){Li(r.HeadingPairs,r.TitlesOfParts,r,t);delete r.HeadingPairs;delete r.TitlesOfParts}}function jg(e,r){var t=[],a=[],n=[];var i=0,s;var f=sr(ai,"n");var l=sr(ni,"n");if(e.Props){s=ir(e.Props);for(i=0;i-1||Pi.indexOf(n[i][0])>-1)continue;if(n[i][1]==null)continue;o.push(n[i])}if(a.length)Qe.utils.cfb_add(r,"/SummaryInformation",vs(a,Xg.SI,l,ni));if(t.length||o.length)Qe.utils.cfb_add(r,"/DocumentSummaryInformation",vs(t,Xg.DSI,f,ai,o.length?o:null,Xg.UDI))}function Kg(e,r){if(!r)r={};Jw(r);o();if(r.codepage)s(r.codepage);var t,a;if(e.FullPaths){if(Qe.find(e,"/encryption"))throw new Error("File is password-protected");t=Qe.find(e,"!CompObj");a=Qe.find(e,"/Workbook")||Qe.find(e,"/Book")}else{switch(r.type){case"base64":e=I(E(e));break;case"binary":e=I(e);break;case"buffer":break;case"array":if(!Array.isArray(e))e=Array.prototype.slice.call(e);break;}Oa(e,0);a={content:e}}var n;var i;if(t)Bg(t);if(r.bookProps&&!r.bookSheets)n={};else{var f=C?"buffer":"array";if(a&&a.content)n=$g(a.content,r);else if((i=Qe.find(e,"PerfectOffice_MAIN"))&&i.content)n=no.to_workbook(i.content,(r.type=f,r));else if((i=Qe.find(e,"NativeContent_MAIN"))&&i.content)n=no.to_workbook(i.content,(r.type=f,r));else if((i=Qe.find(e,"MN0"))&&i.content)throw new Error("Unsupported Works 4 for Mac file");else throw new Error("Cannot find Workbook stream");if(r.bookVBA&&e.FullPaths&&Qe.find(e,"/_VBA_PROJECT_CUR/VBA/dir"))n.vbaraw=Kh(e)}var l={};if(e.FullPaths)Gg(e,l,r);n.Props=n.Custprops=l;if(r.bookFiles)n.cfb=e;return n}function Yg(e,r){var t=r||{};var a=Qe.utils.cfb_new({root:"R"});var n="/Workbook";switch(t.bookType||"xls"){case"xls":t.bookType="biff8";case"xla":if(!t.bookType)t.bookType="xla";case"biff8":n="/Workbook";t.biff=8;break;case"biff5":n="/Book";t.biff=5;break;default:throw new Error("invalid type "+t.bookType+" for XLS CFB");}Qe.utils.cfb_add(a,n,kb(e,t));if(t.biff==8&&(e.Props||e.Custprops))jg(e,a);if(t.biff==8&&e.vbaraw)Yh(a,Qe.read(e.vbaraw,{type:typeof e.vbaraw=="string"?"binary":"buffer"}));return a}var Zg={0:{f:rp},1:{f:op},2:{f:Op},3:{f:gp},4:{f:dp},5:{f:Cp},6:{f:Dp},7:{f:Ap},8:{f:zp},9:{f:Wp},10:{f:Up},11:{f:Bp},12:{f:hp},13:{f:Rp},14:{f:wp},15:{f:pp},16:{f:Sp},17:{f:Lp},18:{f:yp},19:{f:vn},20:{},21:{},22:{},23:{},24:{},25:{},26:{},27:{},28:{},29:{},30:{},31:{},32:{},33:{},34:{},35:{T:1},36:{T:-1},37:{T:1},38:{T:-1},39:{f:$m},40:{},42:{},43:{f:xc},44:{f:_c},45:{f:Nc},46:{f:Mc},47:{f:Dc},48:{},49:{f:ln},50:{},51:{f:mh},52:{T:1},53:{T:-1},54:{T:1},55:{T:-1},56:{T:1},57:{T:-1},58:{},59:{},60:{f:Rl},62:{f:Fp},63:{f:_h},64:{f:nm},65:{},66:{},67:{},68:{},69:{},70:{},128:{},129:{T:1},130:{T:-1},131:{T:1,f:Ia,p:0},132:{T:-1},133:{T:1},134:{T:-1},135:{T:1},136:{T:-1},137:{T:1,f:em},138:{T:-1},139:{T:1},140:{T:-1},141:{T:1},142:{T:-1},143:{T:1},144:{T:-1},145:{T:1},146:{T:-1},147:{f:fp},148:{f:np,p:16},151:{f:jp},152:{},153:{f:zm},154:{},155:{},156:{f:Bm},157:{},158:{},159:{T:1,f:go},160:{T:-1},161:{T:1,f:Fn},162:{T:-1},163:{T:1},164:{T:-1},165:{T:1},166:{T:-1},167:{},168:{},169:{},170:{},171:{},172:{T:1},173:{T:-1},174:{},175:{},176:{f:Hp},177:{T:1},178:{T:-1},179:{T:1},180:{T:-1},181:{T:1},182:{T:-1},183:{T:1},184:{T:-1},185:{T:1},186:{T:-1},187:{T:1},188:{T:-1},189:{T:1},190:{T:-1},191:{T:1},192:{T:-1},193:{T:1},194:{T:-1},195:{T:1},196:{T:-1},197:{T:1},198:{T:-1},199:{T:1},200:{T:-1},201:{T:1},202:{T:-1},203:{T:1},204:{T:-1},205:{T:1},206:{T:-1},207:{T:1},208:{T:-1},209:{T:1},210:{T:-1},211:{T:1},212:{T:-1},213:{T:1},214:{T:-1},215:{T:1},216:{T:-1},217:{T:1},218:{T:-1},219:{T:1},220:{T:-1},221:{T:1},222:{T:-1},223:{T:1},224:{T:-1},225:{T:1},226:{T:-1},227:{T:1},228:{T:-1},229:{T:1},230:{T:-1},231:{T:1},232:{T:-1},233:{T:1},234:{T:-1},235:{T:1},236:{T:-1},237:{T:1},238:{T:-1},239:{T:1},240:{T:-1},241:{T:1},242:{T:-1},243:{T:1},244:{T:-1},245:{T:1},246:{T:-1},247:{T:1},248:{T:-1},249:{T:1},250:{T:-1},251:{T:1},252:{T:-1},253:{T:1},254:{T:-1},255:{T:1},256:{T:-1},257:{T:1},258:{T:-1},259:{T:1},260:{T:-1},261:{T:1},262:{T:-1},263:{T:1},264:{T:-1},265:{T:1},266:{T:-1},267:{T:1},268:{T:-1},269:{T:1},270:{T:-1},271:{T:1},272:{T:-1},273:{T:1},274:{T:-1},275:{T:1},276:{T:-1},277:{},278:{T:1},279:{T:-1},280:{T:1},281:{T:-1},282:{T:1},283:{T:1},284:{T:-1},285:{T:1},286:{T:-1},287:{T:1},288:{T:-1},289:{T:1},290:{T:-1},291:{T:1},292:{T:-1},293:{T:1},294:{T:-1},295:{T:1},296:{T:-1},297:{T:1},298:{T:-1},299:{T:1},300:{T:-1},301:{T:1},302:{T:-1},303:{T:1},304:{T:-1},305:{T:1},306:{T:-1},307:{T:1},308:{T:-1},309:{T:1},310:{T:-1},311:{T:1},312:{T:-1},313:{T:-1},314:{T:1},315:{T:-1},316:{T:1},317:{T:-1},318:{T:1},319:{T:-1},320:{T:1},321:{T:-1},322:{T:1},323:{T:-1},324:{T:1},325:{T:-1},326:{T:1},327:{T:-1},328:{T:1},329:{T:-1},330:{T:1},331:{T:-1},332:{T:1},333:{T:-1},334:{T:1},335:{f:vh},336:{T:-1},337:{f:wh,T:1},338:{T:-1},339:{T:1},340:{T:-1},341:{T:1},342:{T:-1},343:{T:1},344:{T:-1},345:{T:1},346:{T:-1},347:{T:1},348:{T:-1},349:{T:1},350:{T:-1},351:{},352:{},353:{T:1},354:{T:-1},355:{f:Sn},357:{},358:{},359:{},360:{T:1},361:{},362:{f:fl},363:{},364:{},366:{},367:{},368:{},369:{},370:{},371:{},372:{T:1},373:{T:-1},374:{T:1},375:{T:-1},376:{T:1},377:{T:-1},378:{T:1},379:{T:-1},380:{T:1},381:{T:-1},382:{T:1},383:{T:-1},384:{T:1},385:{T:-1},386:{T:1},387:{T:-1},388:{T:1},389:{T:-1},390:{T:1},391:{T:-1},392:{T:1},393:{T:-1},394:{T:1},395:{T:-1},396:{},397:{},398:{},399:{},400:{},401:{T:1},403:{},404:{},405:{},406:{},407:{},408:{},409:{},410:{},411:{},412:{},413:{},414:{},415:{},416:{},417:{},418:{},419:{},420:{},421:{},422:{T:1},423:{T:1},424:{T:-1},425:{T:-1},426:{f:Kp},427:{f:Yp},428:{},429:{T:1},430:{T:-1},431:{T:1},432:{T:-1},433:{T:1},434:{T:-1},435:{T:1},436:{T:-1},437:{T:1},438:{T:-1},439:{T:1},440:{T:-1},441:{T:1},442:{T:-1},443:{T:1},444:{T:-1},445:{T:1},446:{T:-1},447:{T:1},448:{T:-1},449:{T:1},450:{T:-1},451:{T:1},452:{T:-1},453:{T:1},454:{T:-1},455:{T:1},456:{T:-1},457:{T:1},458:{T:-1},459:{T:1},460:{T:-1},461:{T:1},462:{T:-1},463:{T:1},464:{T:-1},465:{T:1},466:{T:-1},467:{T:1},468:{T:-1},469:{T:1},470:{T:-1},471:{},472:{},473:{T:1},474:{T:-1},475:{},476:{f:qp},477:{},478:{},479:{T:1},480:{T:-1},481:{T:1},482:{T:-1},483:{T:1},484:{T:-1},485:{f:sp},486:{T:1},487:{T:-1},488:{T:1},489:{T:-1},490:{T:1},491:{T:-1},492:{T:1},493:{T:-1},494:{f:Xp},495:{T:1},496:{T:-1},497:{T:1},498:{T:-1},499:{},500:{T:1},501:{T:-1},502:{T:1},503:{T:-1},504:{},505:{T:1},506:{T:-1},507:{},508:{T:1},509:{T:-1},510:{T:1},511:{T:-1},512:{},513:{},514:{T:1},515:{T:-1},516:{T:1},517:{T:-1},518:{T:1},519:{T:-1},520:{T:1},521:{T:-1},522:{},523:{},524:{},525:{},526:{},527:{},528:{T:1},529:{T:-1},530:{T:1},531:{T:-1},532:{T:1},533:{T:-1},534:{},535:{},536:{},537:{},538:{T:1},539:{T:-1},540:{T:1},541:{T:-1},542:{T:1},548:{},549:{},550:{f:Sn},551:{f:En},552:{},553:{},554:{T:1},555:{T:-1},556:{T:1},557:{T:-1},558:{T:1},559:{T:-1},560:{T:1},561:{T:-1},562:{},564:{},565:{T:1},566:{T:-1},569:{T:1},570:{T:-1},572:{},573:{T:1},574:{T:-1},577:{},578:{},579:{},580:{},581:{},582:{},583:{},584:{},585:{},586:{},587:{},588:{T:-1},589:{},590:{T:1},591:{T:-1},592:{T:1},593:{T:-1},594:{T:1},595:{T:-1},596:{},597:{T:1},598:{T:-1},599:{T:1},600:{T:-1},601:{T:1},602:{T:-1},603:{T:1},604:{T:-1},605:{T:1},606:{T:-1},607:{},608:{T:1},609:{T:-1},610:{},611:{T:1},612:{T:-1},613:{T:1},614:{T:-1},615:{T:1},616:{T:-1},617:{T:1},618:{T:-1},619:{T:1},620:{T:-1},625:{},626:{T:1},627:{T:-1},628:{T:1},629:{T:-1},630:{T:1},631:{T:-1},632:{f:Vh},633:{T:1},634:{T:-1},635:{T:1,f:zh},636:{T:-1},637:{f:mn},638:{T:1},639:{},640:{T:-1},641:{T:1},642:{T:-1},643:{T:1},644:{},645:{T:-1},646:{T:1},648:{T:1},649:{},650:{T:-1},651:{f:Tm},652:{},653:{T:1},654:{T:-1},655:{T:1},656:{T:-1},657:{T:1},658:{T:-1},659:{},660:{T:1},661:{},662:{T:-1},663:{},664:{T:1},665:{},666:{T:-1},667:{},668:{},669:{},671:{T:1},672:{T:-1},673:{T:1},674:{T:-1},675:{},676:{},677:{},678:{},679:{},680:{},681:{},1024:{},1025:{},1026:{T:1},1027:{T:-1},1028:{T:1},1029:{T:-1},1030:{},1031:{T:1},1032:{T:-1},1033:{T:1},1034:{T:-1},1035:{},1036:{},1037:{},1038:{T:1},1039:{T:-1},1040:{},1041:{T:1},1042:{T:-1},1043:{},1044:{},1045:{},1046:{T:1},1047:{T:-1},1048:{T:1},1049:{T:-1},1050:{},1051:{T:1},1052:{T:1},1053:{f:im},1054:{T:1},1055:{},1056:{T:1},1057:{T:-1},1058:{T:1},1059:{T:-1},1061:{},1062:{T:1},1063:{T:-1},1064:{T:1},1065:{T:-1},1066:{T:1},1067:{T:-1},1068:{T:1},1069:{T:-1},1070:{T:1},1071:{T:-1},1072:{T:1},1073:{T:-1},1075:{T:1},1076:{T:-1},1077:{T:1},1078:{T:-1},1079:{T:1},1080:{T:-1},1081:{T:1},1082:{T:-1},1083:{T:1},1084:{T:-1},1085:{},1086:{T:1},1087:{T:-1},1088:{T:1},1089:{T:-1},1090:{T:1},1091:{T:-1},1092:{T:1},1093:{T:-1},1094:{T:1},1095:{T:-1},1096:{},1097:{T:1},1098:{},1099:{T:-1},1100:{T:1},1101:{T:-1},1102:{},1103:{},1104:{},1105:{},1111:{},1112:{},1113:{T:1},1114:{T:-1},1115:{T:1},1116:{T:-1},1117:{},1118:{T:1},1119:{T:-1},1120:{T:1},1121:{T:-1},1122:{T:1},1123:{T:-1},1124:{T:1},1125:{T:-1},1126:{},1128:{T:1},1129:{T:-1},1130:{},1131:{T:1},1132:{T:-1},1133:{T:1},1134:{T:-1},1135:{T:1},1136:{T:-1},1137:{T:1},1138:{T:-1},1139:{T:1},1140:{T:-1},1141:{},1142:{T:1},1143:{T:-1},1144:{T:1},1145:{T:-1},1146:{},1147:{T:1},1148:{T:-1},1149:{T:1},1150:{T:-1},1152:{T:1},1153:{T:-1},1154:{T:-1},1155:{T:-1},1156:{T:-1},1157:{T:1},1158:{T:-1},1159:{T:1},1160:{T:-1},1161:{T:1},1162:{T:-1},1163:{T:1},1164:{T:-1},1165:{T:1},1166:{T:-1},1167:{T:1},1168:{T:-1},1169:{T:1},1170:{T:-1},1171:{},1172:{T:1},1173:{T:-1},1177:{},1178:{T:1},1180:{},1181:{},1182:{},2048:{T:1},2049:{T:-1},2050:{},2051:{T:1},2052:{T:-1},2053:{},2054:{},2055:{T:1},2056:{T:-1},2057:{T:1},2058:{T:-1},2060:{},2067:{},2068:{T:1},2069:{T:-1},2070:{},2071:{},2072:{T:1},2073:{T:-1},2075:{},2076:{},2077:{T:1},2078:{T:-1},2079:{},2080:{T:1},2081:{T:-1},2082:{},2083:{T:1},2084:{T:-1},2085:{T:1},2086:{T:-1},2087:{T:1},2088:{T:-1},2089:{T:1},2090:{T:-1},2091:{},2092:{},2093:{T:1},2094:{T:-1},2095:{},2096:{T:1},2097:{T:-1},2098:{T:1},2099:{T:-1},2100:{T:1},2101:{T:-1},2102:{},2103:{T:1},2104:{T:-1},2105:{},2106:{T:1},2107:{T:-1},2108:{},2109:{T:1},2110:{T:-1},2111:{T:1},2112:{T:-1},2113:{T:1},2114:{T:-1},2115:{},2116:{},2117:{},2118:{T:1},2119:{T:-1},2120:{},2121:{T:1},2122:{T:-1},2123:{T:1},2124:{T:-1},2125:{},2126:{T:1},2127:{T:-1},2128:{},2129:{T:1},2130:{T:-1},2131:{T:1},2132:{T:-1},2133:{T:1},2134:{},2135:{},2136:{},2137:{T:1},2138:{T:-1},2139:{T:1},2140:{T:-1},2141:{},3072:{},3073:{},4096:{T:1},4097:{T:-1},5002:{T:1},5003:{T:-1},5081:{T:1},5082:{T:-1},5083:{},5084:{T:1},5085:{T:-1},5086:{T:1},5087:{T:-1},5088:{},5089:{},5090:{},5092:{T:1},5093:{T:-1},5094:{},5095:{T:1},5096:{T:-1},5097:{},5099:{},65535:{n:""}};var Jg={6:{f:$d},10:{f:ps},12:{f:ks},13:{f:ks},14:{f:bs},15:{f:bs},16:{f:Pn},17:{f:bs},18:{f:bs},19:{f:ks},20:{f:al},21:{f:al},23:{f:fl},24:{f:sl},25:{f:bs},26:{},27:{},28:{f:vl},29:{},34:{f:bs},35:{f:il},38:{f:Pn},39:{f:Pn},40:{f:Pn},41:{f:Pn},42:{f:bs},43:{f:bs},47:{f:$o},49:{f:_f},51:{f:ks},60:{},61:{f:Af},64:{f:bs},65:{f:Cf},66:{f:ks},77:{},80:{},81:{},82:{},85:{f:ks},89:{},90:{},91:{},92:{f:of},93:{f:bl},94:{},95:{f:bs},96:{},97:{},99:{f:bs},125:{f:Rl},128:{f:Jf},129:{f:hf},130:{f:ks},131:{f:bs},132:{f:bs},133:{f:uf},134:{},140:{f:_l},141:{f:ks},144:{},146:{f:Ol},151:{},152:{},153:{},154:{},155:{},156:{f:ks},157:{},158:{},160:{f:Ml},161:{f:Fl},174:{},175:{},176:{},177:{},178:{},180:{},181:{},182:{},184:{},185:{},189:{f:Wf},190:{f:zf},193:{f:ps},197:{},198:{},199:{},200:{},201:{},202:{f:bs},203:{},204:{},205:{},206:{},207:{},208:{},209:{},210:{},211:{},213:{},215:{},216:{},217:{},218:{f:ks},220:{},221:{f:bs},222:{},224:{f:Vf},225:{f:lf},226:{f:ps},227:{},229:{f:ml},233:{},235:{},236:{},237:{},239:{},240:{},241:{},242:{},244:{},245:{},246:{},247:{},248:{},249:{},251:{},252:{f:vf},253:{f:xf},255:{f:mf},256:{},259:{},290:{},311:{},312:{},315:{},317:{f:Ts},318:{},319:{},320:{},330:{},331:{},333:{},334:{},335:{},336:{},337:{},338:{},339:{},340:{},351:{},352:{f:bs},353:{f:ps},401:{},402:{},403:{},404:{},405:{},406:{},407:{},408:{},425:{},426:{},427:{},428:{},429:{},430:{f:nl},431:{f:bs},432:{},433:{},434:{},437:{},438:{f:Al},439:{f:bs},440:{f:Tl},441:{},442:{f:Os},443:{},444:{f:ks},445:{},446:{},448:{f:ps},449:{f:wf,r:2},450:{f:ps},512:{f:Mf},513:{f:Ll},515:{f:rl},516:{f:If},517:{f:Qf},519:{f:Ul},520:{f:gf},523:{},545:{f:hl},549:{f:kf},566:{},574:{f:yf},638:{f:Bf},659:{},1048:{},1054:{f:Nf},1084:{},1212:{f:cl},2048:{f:El},2049:{},2050:{},2051:{},2052:{},2053:{},2054:{},2055:{},2056:{},2057:{f:sf},2058:{},2059:{},2060:{},2061:{},2062:{},2063:{},2064:{},2066:{},2067:{},2128:{},2129:{},2130:{},2131:{},2132:{},2133:{},2134:{},2135:{},2136:{},2137:{},2138:{},2146:{},2147:{r:12},2148:{},2149:{},2150:{},2151:{f:ps},2152:{},2154:{},2155:{},2156:{},2161:{},2162:{},2164:{},2165:{},2166:{},2167:{},2168:{},2169:{},2170:{},2171:{},2172:{f:Il,r:12},2173:{f:uh,r:12},2174:{},2175:{},2180:{},2181:{},2182:{},2183:{},2184:{},2185:{},2186:{},2187:{},2188:{f:bs,r:12},2189:{},2190:{r:12},2191:{},2192:{},2194:{},2195:{},2196:{f:ol,r:12},2197:{},2198:{f:sh,r:12},2199:{},2200:{},2201:{},2202:{f:ul,r:12},2203:{f:ps},2204:{},2205:{},2206:{},2207:{},2211:{f:bf},2212:{},2213:{},2214:{},2215:{},4097:{},4098:{},4099:{},4102:{},4103:{},4105:{},4106:{},4107:{},4108:{},4109:{},4116:{},4117:{},4118:{},4119:{},4120:{},4121:{},4122:{},4123:{},4124:{},4125:{},4126:{},4127:{},4128:{},4129:{},4130:{},4132:{},4133:{},4134:{f:ks},4135:{},4146:{},4147:{},4148:{},4149:{},4154:{},4156:{},4157:{},4158:{},4159:{},4160:{},4161:{},4163:{},4164:{f:Dl},4165:{},4166:{},4168:{},4170:{},4171:{},4174:{},4175:{},4176:{},4177:{},4187:{},4188:{f:xl},4189:{},4191:{},4192:{},4193:{},4194:{},4195:{},4196:{},4197:{},4198:{},4199:{},4200:{},0:{f:Mf},1:{},2:{f:$l},3:{f:Hl},4:{f:zl},5:{f:jl},7:{f:Gl},8:{},9:{f:sf},11:{},22:{f:ks},30:{f:Df},31:{},32:{},33:{f:hl},36:{},37:{f:kf},50:{f:Kl},62:{},52:{},67:{f:Xf},68:{f:ks},69:{},86:{},126:{},127:{f:Bl},135:{},136:{},137:{},143:{f:Zl},145:{},148:{},149:{},150:{},169:{},171:{},188:{},191:{},192:{},194:{},195:{},214:{f:Yl},223:{},234:{},354:{},421:{},518:{f:$d},521:{f:sf},536:{f:sl},547:{f:il},561:{},579:{f:Yf},1030:{f:$d},1033:{f:sf},1091:{f:Zf},2157:{},2163:{},2177:{},2240:{},2241:{},2242:{},2243:{},2244:{},2245:{},2246:{},2247:{},2248:{},2249:{},2250:{},2251:{},2262:{r:12},101:{},102:{},105:{},106:{},107:{},109:{},112:{},114:{},29282:{}};function qg(e,r,t,a){var n=r;if(isNaN(n))return;var i=a||(t||[]).length||0;var s=e.next(4);s._W(2,n);s._W(2,i);if(i>0&&pa(t))e.push(t)}function Qg(e,r,t,a){var n=a||(t||[]).length||0;if(n<=8224)return qg(e,r,t,n);var i=r;if(isNaN(i))return;var s=t.parts||[],f=0;var l=0,o=0;while(o+(s[f]||8224)<=8224){o+=s[f]||8224;f++}var c=e.next(4);c._W(2,i);c._W(2,o);e.push(t.slice(l,l+o));l+=o;while(l=0&&l<65536)qg(e,2,Xl(t,a,l,f,s));else if(isNaN(l))qg(e,5,eb(t,a,36,"e"));else if(!isFinite(l))qg(e,5,eb(t,a,7,"e"));else qg(e,3,Vl(t,a,l,f,s));return;case"b":;case"e":qg(e,5,eb(t,a,r.v,r.t));return;case"s":;case"str":qg(e,4,rb(t,a,r.v==null?"":String(r.v).slice(0,255)));return;}qg(e,1,Wl(null,t,a))}function nb(e,r,t,a,n){var i=r["!data"]!=null;var s=en(r["!ref"]||"A1"),f="",l=[];if(s.e.c>255||s.e.r>16383){if(a.WTF)throw new Error("Range "+(r["!ref"]||"A1")+" exceeds format limit A1:IV16384");s.e.c=Math.min(s.e.c,255);s.e.r=Math.min(s.e.r,16383)}var o=(((n||{}).Workbook||{}).WBProps||{}).date1904;var c=[],h=[];for(var u=s.s.c;u<=s.e.c;++u)l[u]=$a(u);for(var d=s.s.r;d<=s.e.r;++d){if(i)c=r["!data"][d]||[];f=Wa(d);for(u=s.s.c;u<=s.e.c;++u){var v=i?c[u]:r[l[u]+f];if(!v)continue;ab(e,v,d,u,a,o);if(v.c)h.push([v.c,d,u])}}tb(e,h)}function ib(e,r){var t=r||{};var a=Fa();var n=0;for(var i=0;i255||d.e.r>=v){if(r.WTF)throw new Error("Range "+(i["!ref"]||"A1")+" exceeds format limit A1:IV"+v);d.e.c=Math.min(d.e.c,255);d.e.r=Math.min(d.e.r,v-1)}qg(a,2057,ff(t,16,r));qg(a,13,As(1));qg(a,12,As(100));qg(a,15,ws(true));qg(a,17,ws(false));qg(a,16,Ln(.001));qg(a,95,ws(true));qg(a,42,ws(false));qg(a,43,ws(false));qg(a,130,As(1));qg(a,128,qf([0,0]));qg(a,131,ws(false));qg(a,132,ws(false));if(o)pb(a,i["!cols"]);qg(a,512,Uf(d,r));var p=(((t||{}).Workbook||{}).WBProps||{}).date1904;if(o)i["!links"]=[];for(var m=d.s.c;m<=d.e.c;++m)u[m]=$a(m);var g=[];var b=[];for(var w=d.s.r;w<=d.e.r;++w){if(l)b=i["!data"][w]||[];h=Wa(w);for(m=d.s.c;m<=d.e.c;++m){var k=l?b[m]:i[u[m]+h];if(!k)continue;mb(a,k,w,m,r,p);if(o&&k.l)i["!links"].push([u[m]+h,k.l]);if(k.c)g.push([k.c,w,m])}}var A=f.CodeName||f.name||n;if(o)ob(a,g);else tb(a,g);if(o)qg(a,574,Ef((s.Views||[])[0]));if(o&&(i["!merges"]||[]).length)qg(a,229,gl(i["!merges"]));if(o)vb(a,i);qg(a,442,Rs(A,r));if(o)ub(a,i);qg(a,10);return a.end()}function bb(e,r,t){var a=Fa();var n=(e||{}).Workbook||{};var i=n.Sheets||[];var s=n.WBProps||{};var f=t.biff==8,l=t.biff==5;qg(a,2057,ff(e,5,t));if(t.bookType=="xla")qg(a,135);qg(a,225,f?As(1200):null);qg(a,193,ms(2));if(l)qg(a,191);if(l)qg(a,192);qg(a,226);qg(a,92,cf("SheetJS",t));qg(a,66,As(f?1200:1252));if(f)qg(a,353,As(0));if(f)qg(a,448);qg(a,317,Pl(e.SheetNames.length));if(f&&e.vbaraw)qg(a,211);if(f&&e.vbaraw){var o=s.CodeName||"ThisWorkbook";qg(a,442,Rs(o,t))}qg(a,156,As(17));qg(a,25,ws(false));qg(a,18,ws(false));qg(a,19,As(0));if(f)qg(a,431,ws(false));if(f)qg(a,444,As(0));qg(a,61,Tf(t));qg(a,64,ws(false));qg(a,141,As(0));qg(a,34,ws(Rm(e)=="true"));qg(a,14,ws(true));if(f)qg(a,439,ws(false));qg(a,218,As(0));cb(a,e,t);hb(a,e.SSF,t);db(a,t);if(f)qg(a,352,ws(false));var c=a.end();var h=Fa();if(f)qg(h,140,Sl());if(f&&fb.length)qg(h,235,lb());if(f&&t.Strings)Qg(h,252,pf(t.Strings,t));qg(h,10);var u=h.end();var d=Fa();var v=0,p=0;for(p=0;p255){if(typeof console!="undefined"&&console.error)console.error("Worksheet '"+e.SheetNames[t]+"' extends beyond column IV (255). Data may be lost.")}if(n.e.r>65535){if(typeof console!="undefined"&&console.error)console.error("Worksheet '"+e.SheetNames[t]+"' extends beyond row 65536. Data may be lost.")}}var i=r||{};switch(i.biff||2){case 8:;case 5:return wb(e,r);case 4:;case 3:;case 2:return ib(e,r);}throw new Error("invalid type "+i.bookType+" for BIFF")}function Ab(e,r){var t=r||{};var a=t.dense!=null?t.dense:b;var n={}; +if(a)n["!data"]=[];e=Mr(e,"");var i=e.match(/");var s=e.match(/<\/table/i);var f=i.index,l=s&&s.index||e.length;var o=Nr(e.slice(f,l),/(:?]*>)/i,"");var c=-1,h=0,u=0,d=0;var v={s:{r:1e7,c:1e7},e:{r:0,c:0}};var p=[];for(f=0;f/i);for(l=0;l"))>-1)A=A.slice(T+1);for(var y=0;y")));d=C.colspan?+C.colspan:1;if((u=+C.rowspan)>1||d>1)p.push({s:{r:c,c:h},e:{r:c+(u||1)-1,c:h+d-1}});var _=C.t||C["data-t"]||"";if(!A.length){h+=d;continue}A=Nt(A);if(v.s.r>c)v.s.r=c;if(v.e.rh)v.s.c=h;if(v.e.ct||n[h].s.c>l)continue;if(n[h].e.r1)s.rowspan=o;if(c>1)s.colspan=c;if(a.editable)v=''+v+"";else if(d){s["data-t"]=d&&d.t||"z";if(d.v!=null)s["data-v"]=At(d.v instanceof Date?d.v.toISOString():d.v);if(d.z!=null)s["data-z"]=d.z;if(d.l&&(d.l.Target||"#").charAt(0)!="#")v=''+v+""}s.id=(a.id||"sjs")+"-"+u;i.push(Bt("td",v,s))}var p="";return p+i.join("")+""}var yb='SheetJS Table Export';var Eb="";function Cb(e,r){var t=Vr(e,"table");if(!t||t.length==0)throw new Error("Invalid HTML: could not find
    ");if(t.length==1){var a=an(Ab(t[0],r),r);a.bookType="html";return a}var n=$k();t.forEach(function(e,t){Xk(n,Ab(e,r),"Sheet"+(t+1))});n.bookType="html";return n}function _b(e,r,t){var a=[];return a.join("")+""}function Sb(e,r){var t=r||{};var a=t.header!=null?t.header:yb;var n=t.footer!=null?t.footer:Eb;var i=[a];var s=Za(e["!ref"]||"A1");i.push(_b(e,s,t));if(e["!ref"])for(var f=s.s.r;f<=s.e.r;++f)i.push(Tb(e,s,f,t));i.push("
    "+n);return i.join("")}function xb(e,r,t){var a=r.rows;if(!a){throw"Unsupported origin when "+r.tagName+" is not a TABLE"}var n=t||{};var i=e["!data"]!=null;var s=0,f=0;if(n.origin!=null){if(typeof n.origin=="number")s=n.origin;else{var l=typeof n.origin=="string"?Ka(n.origin):n.origin;s=l.r;f=l.c}}var o=Math.min(n.sheetRows||1e7,a.length);var c={s:{r:0,c:0},e:{r:s,c:f}};if(e["!ref"]){var h=Za(e["!ref"]);c.s.r=Math.min(c.s.r,h.s.r);c.s.c=Math.min(c.s.c,h.s.c);c.e.r=Math.max(c.e.r,h.e.r);c.e.c=Math.max(c.e.c,h.e.c);if(s==-1)c.e.r=s=h.e.r+1}var u=[],d=0;var v=e["!rows"]||(e["!rows"]=[]);var p=0,m=0,g=0,b=0,w=0,k=0;if(!e["!cols"])e["!cols"]=[];for(;p1||k>1)u.push({s:{r:m+s,c:b+f},e:{r:m+s+(w||1)-1,c:b+f+(k||1)-1}});var S={t:"s",v:E};var x=y.getAttribute("data-t")||y.getAttribute("t")||"";if(E!=null){if(E.length==0)S.t=x||"z";else if(n.raw||E.trim().length==0||x=="s"){}else if(x=="e"&&ci[+E])S={t:"e",v:+E,w:ci[+E]};else if(E==="TRUE")S={t:"b",v:true};else if(E==="FALSE")S={t:"b",v:false};else if(!isNaN(yr(E)))S={t:"n",v:yr(E)};else if(!isNaN(Rr(E).getDate())){S={t:"d",v:wr(E)};if(n.UTC)S.v=Dr(S.v);if(!n.cellDates)S={t:"n",v:dr(S.v)};S.z=n.dateNF||q[14]}else if(E.charCodeAt(0)==35&&hi[E]!=null)S={t:"e",v:hi[E],w:E}}if(S.z===undefined&&C!=null)S.z=C;var O="",I=y.getElementsByTagName("A");if(I&&I.length)for(var R=0;R=o)e["!fullref"]=Ja((c.e.r=a.length-p+m-1+s,c));return e}function Ob(e,r){var t=r||{};var a={};if(t.dense)a["!data"]=[];return xb(a,e,r)}function Ib(e,r){var t=an(Ob(e,r),r);return t}function Rb(e){var r="";var t=Nb(e);if(t)r=t(e).getPropertyValue("display");if(!r)r=e.style&&e.style.display;return r==="none"}function Nb(e){if(e.ownerDocument.defaultView&&typeof e.ownerDocument.defaultView.getComputedStyle==="function")return e.ownerDocument.defaultView.getComputedStyle;if(typeof getComputedStyle==="function")return getComputedStyle;return null}function Fb(e){var r=e.replace(/[\t\r\n]/g," ").trim().replace(/ +/g," ").replace(//g," ").replace(//g,function(e,r){return Array(parseInt(r,10)+1).join(" ")}).replace(/]*\/>/g,"\t").replace(//g,"\n");var t=pt(r.replace(/<[^<>]*>/g,""));return[t]}function Db(e,r,t){var a=t||{};var n=Ht(e);Vt.lastIndex=0;n=Pr(Mr(n,""));var i,s,f="",l="",o,c=0,h=-1,u=false,d="";while(i=Vt.exec(n)){switch(i[3]=i[3].replace(/_[\s\S]*$/,"")){case"number-style":;case"currency-style":;case"percentage-style":;case"date-style":;case"time-style":;case"text-style":if(i[1]==="/"){u=false;if(s["truncate-on-overflow"]=="false"){if(f.match(/h/))f=f.replace(/h+/,"[$&]");else if(f.match(/m/))f=f.replace(/m+/,"[$&]");else if(f.match(/s/))f=f.replace(/s+/,"[$&]")}a[s.name]=f;f=""}else if(i[0].charAt(i[0].length-2)!=="/"){u=true;f="";s=ct(i[0],false)}break;case"boolean-style":if(i[1]==="/"){u=false;a[s.name]="General";f=""}else if(i[0].charAt(i[0].length-2)!=="/"){u=true;f="";s=ct(i[0],false)}break;case"boolean":f+="General";break;case"text":if(i[1]==="/"){d=n.slice(h,Vt.lastIndex-i[0].length);if(d=="%"&&s[0]=="=0")f=a[o["apply-style-name"]]+";"+f;else console.error("ODS number format may be incorrect: "+o["condition"]);break;case"number":if(i[1]==="/")break;o=ct(i[0],false);l="";l+=Tr("0",+o["min-integer-digits"]||1);if(Ct(o["grouping"]))l=ue(Tr("#",Math.max(0,4-l.length))+l);if(+o["min-decimal-places"]||+o["decimal-places"])l+=".";if(+o["min-decimal-places"])l+=Tr("0",+o["min-decimal-places"]||1);if(+o["decimal-places"]-(+o["min-decimal-places"]||0))l+=Tr("0",+o["decimal-places"]-(+o["min-decimal-places"]||0));f+=l;break;case"embedded-text":if(i[1]==="/"){if(c==0)f+='"'+n.slice(h,Vt.lastIndex-i[0].length).replace(/"/g,'""')+'"';else f=f.slice(0,c)+'"'+n.slice(h,Vt.lastIndex-i[0].length).replace(/"/g,'""')+'"'+f.slice(c)}else if(i[0].charAt(i[0].length-2)!=="/"){h=Vt.lastIndex;c=-+ct(i[0],false)["position"]||0}break;}}return a}function Pb(e,r,t){var a=r||{};if(b!=null&&a.dense==null)a.dense=b;var n=Ht(e);var i=[],s;var f;var l,o="",c=0;var h;var u;var d={},v=[];var p={};if(a.dense)p["!data"]=[];var m,g;var w={value:""},k={};var A="",T=0,y,E="",C=0;var _=[],S=[];var x=-1,O=-1,I={s:{r:1e6,c:1e7},e:{r:0,c:0}};var R=0;var N=t||{},F={};var D=[],P={},L=0,M=0;var U=[],B=1,W=1;var z=[];var H={Names:[],WBProps:{}};var V={};var $=["",""];var X=[],G={};var j="",K=0;var Y=false,Z=false;var J=0;Vt.lastIndex=0;n=Pr(Mr(n,""));while(m=Vt.exec(n))switch(m[3]=m[3].replace(/_[\s\S]*$/,"")){case"table":;case"工作表":if(m[1]==="/"){if(I.e.c>=I.s.c&&I.e.r>=I.s.r)p["!ref"]=Ja(I);else p["!ref"]="A1:A1";if(a.sheetRows>0&&a.sheetRows<=I.e.r){p["!fullref"]=p["!ref"];I.e.r=a.sheetRows-1;p["!ref"]=Ja(I)}if(D.length)p["!merges"]=D;if(U.length)p["!rows"]=U;h.name=h["名称"]||h.name;if(typeof JSON!=="undefined")JSON.stringify(h);v.push(h.name);d[h.name]=p;Z=false}else if(m[0].charAt(m[0].length-2)!=="/"){h=ct(m[0],false);x=O=-1;I.s.r=I.s.c=1e7;I.e.r=I.e.c=0;p={};if(a.dense)p["!data"]=[];D=[];U=[];Z=true}break;case"table-row-group":if(m[1]==="/")--R;else++R;break;case"table-row":;case"行":if(m[1]==="/"){x+=B;B=1;break}u=ct(m[0],false);if(u["行号"])x=u["行号"]-1;else if(x==-1)x=0;B=+u["number-rows-repeated"]||1;if(B<10)for(J=0;J0)U[x+J]={level:R};O=-1;break;case"covered-table-cell":if(m[1]!=="/"){++O;w=ct(m[0],false);W=parseInt(w["number-columns-repeated"]||"1",10)||1;if(a.sheetStubs){while(W-- >0){if(a.dense){if(!p["!data"][x])p["!data"][x]=[];p["!data"][x][O]={t:"z"}}else p[Ya({r:x,c:O})]={t:"z"};++O}--O}else O+=W-1}A="";_=[];break;case"table-cell":;case"数据":if(m[0].charAt(m[0].length-2)==="/"){++O;w=ct(m[0],false);W=parseInt(w["number-columns-repeated"]||"1",10)||1;g={t:"z",v:null};if(w.formula&&a.cellFormula!=false)g.f=uv(pt(w.formula));if(w["style-name"]&&F[w["style-name"]])g.z=F[w["style-name"]];if((w["数据类型"]||w["value-type"])=="string"){g.t="s";g.v=pt(w["string-value"]||"");if(a.dense){if(!p["!data"][x])p["!data"][x]=[];p["!data"][x][O]=g}else{p[$a(O)+Wa(x)]=g}}O+=W-1}else if(m[1]!=="/"){++O;A=E="";T=C=0;_=[];S=[];W=1;var q=B?x+B-1:x;if(O>I.e.c)I.e.c=O;if(OI.e.r)I.e.r=q;w=ct(m[0],false);k=ht(m[0],true);X=[];G={};g={t:w["数据类型"]||w["value-type"],v:null};if(w["style-name"]&&F[w["style-name"]])g.z=F[w["style-name"]];if(a.cellFormula){if(w.formula)w.formula=pt(w.formula);if(w["number-matrix-columns-spanned"]&&w["number-matrix-rows-spanned"]){L=parseInt(w["number-matrix-rows-spanned"],10)||0;M=parseInt(w["number-matrix-columns-spanned"],10)||0;P={s:{r:x,c:O},e:{r:x+L-1,c:O+M-1}};g.F=Ja(P);z.push([P,g.F])}if(w.formula)g.f=uv(w.formula);else for(J=0;J=z[J][0].s.r&&x<=z[J][0].e.r)if(O>=z[J][0].s.c&&O<=z[J][0].e.c)g.F=z[J][1]}if(w["number-columns-spanned"]||w["number-rows-spanned"]){L=parseInt(w["number-rows-spanned"]||"1",10)||1;M=parseInt(w["number-columns-spanned"]||"1",10)||1;if(L*M>1){P={s:{r:x,c:O},e:{r:x+L-1,c:O+M-1}};D.push(P)}}if(w["number-columns-repeated"])W=parseInt(w["number-columns-repeated"],10);switch(g.t){case"boolean":g.t="b";g.v=Ct(w["boolean-value"])||+w["boolean-value"]>=1;break;case"float":g.t="n";g.v=parseFloat(w.value);if(a.cellDates&&g.z&&Le(g.z)){g.v=vr(g.v+(H.WBProps.date1904?1462:0));g.t=typeof g.v=="number"?"n":"d"}break;case"percentage":g.t="n";g.v=parseFloat(w.value);break;case"currency":g.t="n";g.v=parseFloat(w.value);break;case"date":g.t="d";g.v=wr(w["date-value"],H.WBProps.date1904);if(!a.cellDates){g.t="n";g.v=dr(g.v,H.WBProps.date1904)}if(!g.z)g.z="m/d/yy";break;case"time":g.t="n";g.v=pr(w["time-value"])/86400;if(a.cellDates){g.v=vr(g.v);g.t=typeof g.v=="number"?"n":"d"}if(!g.z)g.z="HH:MM:SS";break;case"number":g.t="n";g.v=parseFloat(w["数据数值"]);break;default:if(g.t==="string"||g.t==="text"||!g.t){g.t="s";if(w["string-value"]!=null){A=pt(w["string-value"]);_=[]}}else throw new Error("Unsupported value type "+g.t);}}else{Y=false;if(k["calcext:value-type"]=="error"&&hi[A]!=null){g.t="e";g.w=A;g.v=hi[A]}if(g.t==="s"){g.v=A||"";if(_.length)g.R=_;Y=T==0}if(V.Target)g.l=V;if(X.length>0){g.c=X;X=[]}if(A&&a.cellText!==false)g.w=A;if(Y){g.t="z";delete g.v}if(!Y||a.sheetStubs){if(!(a.sheetRows&&a.sheetRows<=x)){for(var Q=0;Q0)p["!data"][x+Q][O+W]=Ar(g)}else{p[Ya({r:x+Q,c:O})]=g;while(--W>0)p[Ya({r:x+Q,c:O+W})]=Ar(g)}if(I.e.c<=O)I.e.c=O}}}W=parseInt(w["number-columns-repeated"]||"1",10);O+=W-1;W=0;g={};A="";_=[]}V={};break;case"document":;case"document-content":;case"电子表格文档":;case"spreadsheet":;case"主体":;case"scripts":;case"styles":;case"font-face-decls":;case"master-styles":if(m[1]==="/"){if((s=i.pop())[0]!==m[3])throw"Bad state: "+s}else if(m[0].charAt(m[0].length-2)!=="/")i.push([m[3],true]);break;case"annotation":if(m[1]==="/"){if((s=i.pop())[0]!==m[3])throw"Bad state: "+s;G.t=A;if(_.length)G.R=_;G.a=j;X.push(G);A=E;T=C;_=S}else if(m[0].charAt(m[0].length-2)!=="/"){i.push([m[3],false]);var ee=ct(m[0],true);if(!(ee["display"]&&Ct(ee["display"])))X.hidden=true;E=A;C=T;S=_;A="";T=0;_=[]}j="";K=0;break;case"creator":if(m[1]==="/"){j=n.slice(K,m.index)}else K=m.index+m[0].length;break;case"meta":;case"元数据":;case"settings":;case"config-item-set":;case"config-item-map-indexed":;case"config-item-map-entry":;case"config-item-map-named":;case"shapes":;case"frame":;case"text-box":;case"image":;case"data-pilot-tables":;case"list-style":;case"form":;case"dde-links":;case"event-listeners":;case"chart":if(m[1]==="/"){if((s=i.pop())[0]!==m[3])throw"Bad state: "+s}else if(m[0].charAt(m[0].length-2)!=="/")i.push([m[3],false]);A="";T=0;_=[];break;case"scientific-number":;case"currency-symbol":;case"fill-character":break;case"text-style":;case"boolean-style":;case"number-style":;case"currency-style":;case"percentage-style":;case"date-style":;case"time-style":if(m[1]==="/"){var re=Vt.lastIndex;Db(n.slice(l,Vt.lastIndex),r,N);Vt.lastIndex=re}else if(m[0].charAt(m[0].length-2)!=="/"){l=Vt.lastIndex-m[0].length}break;case"script":break;case"libraries":break;case"automatic-styles":break;case"default-style":;case"page-layout":break;case"style":{var te=ct(m[0],false);if(te["family"]=="table-cell"&&N[te["data-style-name"]])F[te["name"]]=N[te["data-style-name"]]}break;case"map":break;case"font-face":break;case"paragraph-properties":break;case"table-properties":break;case"table-column-properties":break;case"table-row-properties":break;case"table-cell-properties":break;case"number":break;case"fraction":break;case"day":;case"month":;case"year":;case"era":;case"day-of-week":;case"week-of-year":;case"quarter":;case"hours":;case"minutes":;case"seconds":;case"am-pm":break;case"boolean":break;case"text":if(m[0].slice(-2)==="/>")break;else if(m[1]==="/")switch(i[i.length-1][0]){case"number-style":;case"date-style":;case"time-style":o+=n.slice(c,m.index);break;}else c=m.index+m[0].length;break;case"named-range":f=ct(m[0],false);$=vv(f["cell-range-address"]);var ae={Name:f.name,Ref:$[0]+"!"+$[1]};if(Z)ae.Sheet=v.length;H.Names.push(ae);break;case"text-content":break;case"text-properties":break;case"embedded-text":break;case"body":;case"电子表格":break;case"forms":break;case"table-column":break;case"table-header-rows":break;case"table-rows":break;case"table-column-group":break;case"table-header-columns":break;case"table-columns":break;case"null-date":f=ct(m[0],false);switch(f["date-value"]){case"1904-01-01":H.WBProps.date1904=true;break;}break;case"graphic-properties":break;case"calculation-settings":break;case"named-expressions":break;case"label-range":break;case"label-ranges":break;case"named-expression":break;case"sort":break;case"sort-by":break;case"sort-groups":break;case"tab":break;case"line-break":break;case"span":break;case"p":;case"文本串":if(["master-styles"].indexOf(i[i.length-1][0])>-1)break;if(m[1]==="/"&&(!w||!w["string-value"])){var ne=Fb(n.slice(T,m.index),y);A=(A.length>0?A+"\n":"")+ne[0]}else if(m[0].slice(-2)=="/>"){A+="\n"}else{y=ct(m[0],false);T=m.index+m[0].length}break;case"s":break;case"database-range":if(m[1]==="/")break;try{$=vv(ct(m[0])["target-range-address"]);d[$[0]]["!autofilter"]={ref:$[1]}}catch(ie){}break;case"date":break;case"object":break;case"title":;case"标题":break;case"desc":break;case"binary-data":break;case"table-source":break;case"scenario":break;case"iteration":break;case"content-validations":break;case"content-validation":break;case"help-message":break;case"error-message":break;case"database-ranges":break;case"filter":break;case"filter-and":break;case"filter-or":break;case"filter-condition":break;case"filter-set-item":break;case"list-level-style-bullet":break;case"list-level-style-number":break;case"list-level-properties":break;case"sender-firstname":;case"sender-lastname":;case"sender-initials":;case"sender-title":;case"sender-position":;case"sender-email":;case"sender-phone-private":;case"sender-fax":;case"sender-company":;case"sender-phone-work":;case"sender-street":;case"sender-city":;case"sender-postal-code":;case"sender-country":;case"sender-state-or-province":;case"author-name":;case"author-initials":;case"chapter":;case"file-name":;case"template-name":;case"sheet-name":break;case"event-listener":break;case"initial-creator":;case"creation-date":;case"print-date":;case"generator":;case"document-statistic":;case"user-defined":;case"editing-duration":;case"editing-cycles":break;case"config-item":break;case"page-number":break;case"page-count":break;case"time":break;case"cell-range-source":break;case"detective":break;case"operation":break;case"highlighted-range":break;case"data-pilot-table":;case"source-cell-range":;case"source-service":;case"data-pilot-field":;case"data-pilot-level":;case"data-pilot-subtotals":;case"data-pilot-subtotal":;case"data-pilot-members":;case"data-pilot-member":;case"data-pilot-display-info":;case"data-pilot-sort-info":;case"data-pilot-layout-info":;case"data-pilot-field-reference":;case"data-pilot-groups":;case"data-pilot-group":;case"data-pilot-group-member":break;case"rect":break;case"dde-connection-decls":;case"dde-connection-decl":;case"dde-link":;case"dde-source":break;case"properties":break;case"property":break;case"a":if(m[1]!=="/"){V=ct(m[0],false);if(!V.href)break;V.Target=pt(V.href);delete V.href;if(V.Target.charAt(0)=="#"&&V.Target.indexOf(".")>-1){$=vv(V.Target.slice(1));V.Target="#"+$[0]+"!"+$[1]}else if(V.Target.match(/^\.\.[\\\/]/))V.Target=V.Target.slice(3)}break;case"table-protection":break;case"data-pilot-grand-total":break;case"office-document-common-attrs":break;default:switch(m[2]){case"dc:":;case"calcext:":;case"loext:":;case"ooo:":;case"chartooo:":;case"draw:":;case"style:":;case"chart:":;case"form:":;case"uof:":;case"表:":;case"字:":break;default:if(a.WTF)throw new Error(m);};}var se={Sheets:d,SheetNames:v,Workbook:H};if(a.bookSheets)delete se.Sheets;return se}function Lb(e,r){r=r||{};if(jr(e,"META-INF/manifest.xml"))Ei(Yr(e,"META-INF/manifest.xml"),r);var t=Zr(e,"styles.xml");var a=t&&Db(It(t),r);var n=Zr(e,"content.xml");if(!n)throw new Error("Missing content.xml in ODS / UOF file");var i=Pb(It(n),r,a);if(jr(e,"meta.xml"))i.Props=Ri(Yr(e,"meta.xml"));i.bookType="ods";return i}function Mb(e,r){var t=Pb(e,r);t.bookType="fods";return t}var Ub=function(){var e=["",'',"",'',"",'',"",""].join("");var r=""+e+"";return function t(){return at+r}}();function Bb(e,r){var t="number",a="",n={"style:name":r},i="",s=0;e=e.replace(/"[$]"/g,"$");e:{if(e.indexOf(";")>-1){console.error("Unsupported ODS Style Map exported. Using first branch of "+e);e=e.slice(0,e.indexOf(";"))}if(e=="@"){t="text";a="";break e}if(e.indexOf(/\$/)>-1){t="currency"}if(e[s]=='"'){i="";while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;if(e[s+1]=="*"){s++;a+=""+bt(i.replace(/""/g,'"'))+""}else{a+=""+bt(i.replace(/""/g,'"'))+""}e=e.slice(s+1);s=0}var f=e.match(/# (\?+)\/(\?+)/);if(f){a+=Bt("number:fraction",null,{"number:min-integer-digits":0,"number:min-numerator-digits":f[1].length,"number:max-denominator-value":Math.max(+f[1].replace(/./g,"9"),+f[2].replace(/./g,"9"))});break e}if(f=e.match(/# (\?+)\/(\d+)/)){a+=Bt("number:fraction",null,{"number:min-integer-digits":0,"number:min-numerator-digits":f[1].length,"number:denominator-value":+f[2]});break e}if(f=e.match(/\b(\d+)(|\.\d+)%/)){t="percentage";a+=Bt("number:number",null,{"number:decimal-places":f[2]&&f.length-1||0,"number:min-decimal-places":f[2]&&f.length-1||0,"number:min-integer-digits":f[1].length})+"%";break e}var l=false;if(["y","m","d"].indexOf(e[0])>-1){t="date";r:for(;s";break;case"yyy":;case"yyyy":a+='';break;case"mmmmm":console.error("ODS has no equivalent of format |mmmmm|");case"m":;case"mm":;case"mmm":;case"mmmm":a+='';break;case"d":;case"dd":a+='';break;case"ddd":;case"dddd":a+='';break;}break;case'"':while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;a+=""+bt(i.slice(1).replace(/""/g,'"'))+"";break;case"\\":i=e[++s];a+=""+bt(i)+"";break;case"/":;case":":a+=""+bt(i)+"";break;default:console.error("unrecognized character "+i+" in ODF format "+e);}if(!l)break e;e=e.slice(s+1);s=0}if(e.match(/^\[?[hms]/)){if(t=="number")t="time";if(e.match(/\[/)){e=e.replace(/[\[\]]/g,"");n["number:truncate-on-overflow"]="false"}for(;s';break;case"m":;case"mm":a+='';break;case"s":;case"ss":if(e[s+1]==".")do{i+=e[s+1];++s}while(e[s+1]=="0");a+='";break;}break;case'"':while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;a+=""+bt(i.slice(1).replace(/""/g,'"'))+"";break;case"/":;case":":a+=""+bt(i)+"";break;case"a":if(e.slice(s,s+3).toLowerCase()=="a/p"){a+="";s+=2;break}if(e.slice(s,s+5).toLowerCase()=="am/pm"){a+="";s+=4;break};default:console.error("unrecognized character "+i+" in ODF format "+e);}break e}if(e.indexOf(/\$/)>-1){t="currency"}if(e[0]=="$"){a+='$';e=e.slice(1);s=0}s=0;if(e[s]=='"'){while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;if(e[s+1]=="*"){s++;a+=""+bt(i.replace(/""/g,'"'))+""}else{a+=""+bt(i.replace(/""/g,'"'))+""}e=e.slice(s+1);s=0}var c=e.match(/([#0][0#,]*)(\.[0#]*|)(E[+]?0*|)/i);if(!c||!c[0])console.error("Could not find numeric part of "+e);else{var h=c[1].replace(/,/g,"");a+="-1?' number:grouping="true"':"")+(c[2]&&' number:decimal-places="'+(c[2].length-1)+'"'||' number:decimal-places="0"')+(c[3]&&c[3].indexOf("+")>-1?' number:forced-exponent-sign="true"':"")+(c[3]?' number:min-exponent-digits="'+c[3].match(/0+/)[0].length+'"':"")+">"+"";s=c.index+c[0].length}if(e[s]=='"'){i="";while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;a+=""+bt(i.replace(/""/g,'"'))+""}}if(!a){console.error("Could not generate ODS number format for |"+e+"|");return""}return Bt("number:"+t+"-style",a,n)}function Wb(e,r,t){var a=[];for(var n=0;n\n"+a.map(function(e){var r=(t==-1?"$":"")+pv(e.Ref);return" "+Bt("table:named-range",null,{"table:name":e.Name,"table:cell-range-address":r,"table:base-cell-address":r.replace(/[\.][^\.]*$/,".$A$1")})}).join("\n")+"\n \n"}var zb=function(){var e=function(e,r){return bt(e).replace(/ +/g,function(e){return''}).replace(/\t/g,"").replace(/\n/g,r?"":"").replace(/^ /,"").replace(/ $/,"")};var r=" \n";var t=function(t,a,n,i,s,f){var l=[];l.push(' \n');var o=0,c=0,h=Za(t["!ref"]||"A1");var u=t["!merges"]||[],d=0;var v=t["!data"]!=null;if(t["!cols"]){for(c=0;c<=h.e.c;++c)l.push(" \n")}var p="",m=t["!rows"]||[];for(o=0;o\n")}for(;o<=h.e.r;++o){p=m[o]?' table:style-name="ro'+m[o].ods+'"':"";l.push(" \n");for(c=0;cc)continue;if(u[d].s.r>o)continue;if(u[d].e.c\n");continue}var k=Ya({r:o,c:c}),A=v?(t["!data"][o]||[])[c]:t[k];if(A&&A.f){b["table:formula"]=bt(dv(A.f));if(A.F){if(A.F.slice(0,k.length)==k){var T=Za(A.F);b["table:number-matrix-columns-spanned"]=T.e.c-T.s.c+1;b["table:number-matrix-rows-spanned"]=T.e.r-T.s.r+1}}}if(!A){l.push(r);continue}switch(A.t){case"b":w=A.v?"TRUE":"FALSE";b["office:value-type"]="boolean";b["office:boolean-value"]=A.v?"true":"false";break;case"n":if(!isFinite(A.v)){if(isNaN(A.v)){w="#NUM!";b["table:formula"]="of:=#NUM!"}else{w="#DIV/0!";b["table:formula"]="of:="+(A.v<0?"-":"")+"1/0"}b["office:string-value"]="";b["office:value-type"]="string";b["calcext:value-type"]="error"}else{w=A.w||String(A.v||0);b["office:value-type"]="float";b["office:value"]=A.v||0}break;case"s":;case"str":w=A.v==null?"":A.v;b["office:value-type"]="string";break;case"d":w=A.w||wr(A.v,f).toISOString();b["office:value-type"]="date";b["office:date-value"]=wr(A.v,f).toISOString();b["table:style-name"]="ce1";break;default:l.push(r);continue;}var y=e(w);if(A.l&&A.l.Target){var E=A.l.Target;E=E.charAt(0)=="#"?"#"+pv(E.slice(1)):E;if(E.charAt(0)!="#"&&!E.match(/^\w+:/))E="../"+E;y=Bt("text:a",y,{"xlink:href":E.replace(/&/g,"&")})}if(s[A.z])b["table:style-name"]="ce"+s[A.z].slice(1);var C=Bt("text:p",y,{});if(A.c){var _="",S="",x={};for(var O=0;O"+e(A.c[O].t)+""}if(!A.c.hidden)x["office:display"]=true;C=Bt("office:annotation",S,x)+C}l.push(" "+Bt("table:table-cell",C,b)+"\n")}l.push(" \n")}if((a.Workbook||{}).Names)l.push(Wb(a.Workbook.Names,a.SheetNames,n));l.push(" \n");return l.join("")};var a=function(e,r){e.push(" \n");var t=0;r.SheetNames.map(function(e){return r.Sheets[e]}).forEach(function(r){if(!r)return;if(r["!cols"]){for(var a=0;a\n');e.push(' \n');e.push(" \n");++t}}});var a=0;r.SheetNames.map(function(e){return r.Sheets[e]}).forEach(function(r){if(!r)return;if(r["!rows"]){for(var t=0;t\n');e.push(' \n');e.push(" \n");++a}}});e.push(' \n');e.push(' \n');e.push(" \n");e.push(' \n');e.push(' \n');e.push(" /\n");e.push(' \n');e.push(" /\n");e.push(" \n");e.push(" \n");var n={};var i=69;r.SheetNames.map(function(e){return r.Sheets[e]}).forEach(function(r){if(!r)return;var t=r["!data"]!=null;if(!r["!ref"])return;var a=Za(r["!ref"]);for(var s=0;s<=a.e.r;++s)for(var f=0;f<=a.e.c;++f){var l=t?(r["!data"][s]||[])[f]:r[Ya({r:s,c:f})];if(!l||!l.z||l.z.toLowerCase()=="general")continue;if(!n[l.z]){var o=Bb(l.z,"N"+i);if(o){n[l.z]="N"+i;++i;e.push(o+"\n")}}}});e.push(' \n');ir(n).forEach(function(r){e.push('\n')});e.push(" \n");return n};return function n(e,r){var n=[at];var i=Ut({"xmlns:office":"urn:oasis:names:tc:opendocument:xmlns:office:1.0","xmlns:table":"urn:oasis:names:tc:opendocument:xmlns:table:1.0","xmlns:style":"urn:oasis:names:tc:opendocument:xmlns:style:1.0","xmlns:text":"urn:oasis:names:tc:opendocument:xmlns:text:1.0","xmlns:draw":"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0","xmlns:fo":"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0","xmlns:xlink":"http://www.w3.org/1999/xlink","xmlns:dc":"http://purl.org/dc/elements/1.1/","xmlns:meta":"urn:oasis:names:tc:opendocument:xmlns:meta:1.0","xmlns:number":"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0","xmlns:presentation":"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0","xmlns:svg":"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0","xmlns:chart":"urn:oasis:names:tc:opendocument:xmlns:chart:1.0","xmlns:dr3d":"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0","xmlns:math":"http://www.w3.org/1998/Math/MathML","xmlns:form":"urn:oasis:names:tc:opendocument:xmlns:form:1.0","xmlns:script":"urn:oasis:names:tc:opendocument:xmlns:script:1.0","xmlns:ooo":"http://openoffice.org/2004/office","xmlns:ooow":"http://openoffice.org/2004/writer","xmlns:oooc":"http://openoffice.org/2004/calc","xmlns:dom":"http://www.w3.org/2001/xml-events","xmlns:xforms":"http://www.w3.org/2002/xforms","xmlns:xsd":"http://www.w3.org/2001/XMLSchema","xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","xmlns:sheet":"urn:oasis:names:tc:opendocument:sh33tjs:1.0","xmlns:rpt":"http://openoffice.org/2005/report","xmlns:of":"urn:oasis:names:tc:opendocument:xmlns:of:1.2","xmlns:xhtml":"http://www.w3.org/1999/xhtml","xmlns:grddl":"http://www.w3.org/2003/g/data-view#","xmlns:tableooo":"http://openoffice.org/2009/table","xmlns:drawooo":"http://openoffice.org/2010/draw","xmlns:calcext":"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0","xmlns:loext":"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0","xmlns:field":"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0","xmlns:formx":"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0","xmlns:css3t":"http://www.w3.org/TR/css3-text/","office:version":"1.2"});var s=Ut({"xmlns:config":"urn:oasis:names:tc:opendocument:xmlns:config:1.0","office:mimetype":"application/vnd.oasis.opendocument.spreadsheet"});if(r.bookType=="fods"){n.push("\n");n.push(Oi().replace(/]*?>/,"").replace(/<\/office:document-meta>/,"")+"\n")}else n.push("\n");var f=a(n,e);n.push(" \n");n.push(" \n");if(((e.Workbook||{}).WBProps||{}).date1904)n.push(' \n \n \n');for(var l=0;l!=e.SheetNames.length;++l)n.push(t(e.Sheets[e.SheetNames[l]],e,l,r,f,((e.Workbook||{}).WBProps||{}).date1904));if((e.Workbook||{}).Names)n.push(Wb(e.Workbook.Names,e.SheetNames,-1));n.push(" \n");n.push(" \n");if(r.bookType=="fods")n.push("");else n.push("");return n.join("")}}();function Hb(e,r){if(r.bookType=="fods")return zb(e,r);var t=et();var a="";var n=[];var i=[];a="mimetype";Qr(t,a,"application/vnd.oasis.opendocument.spreadsheet");a="content.xml";Qr(t,a,zb(e,r));n.push([a,"text/xml"]);i.push([a,"ContentFile"]);a="styles.xml";Qr(t,a,Ub(e,r));n.push([a,"text/xml"]);i.push([a,"StylesFile"]);a="meta.xml";Qr(t,a,at+Oi());n.push([a,"text/xml"]);i.push([a,"MetadataFile"]);a="manifest.rdf";Qr(t,a,xi(i));n.push([a,"application/rdf+xml"]);a="META-INF/manifest.xml";Qr(t,a,Ci(n));return t}var Vb=function(){try{if(typeof Uint8Array=="undefined")return"slice";if(typeof Uint8Array.prototype.subarray=="undefined")return"slice";if(typeof Buffer!=="undefined"){if(typeof Buffer.prototype.subarray=="undefined")return"slice";if((typeof Buffer.from=="function"?Buffer.from([72,62]):new Buffer([72,62]))instanceof Uint8Array)return"subarray";return"slice"}return"subarray"}catch(e){return"slice"}}();function $b(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Xb(e){return typeof TextDecoder!="undefined"?(new TextDecoder).decode(e):It(N(e))}function Gb(e){return typeof TextEncoder!="undefined"?(new TextEncoder).encode(e):I(Rt(e))}function jb(e){var r=0;for(var t=0;t>1&1431655765;e=(e&858993459)+(e>>2&858993459);return(e+(e>>4)&252645135)*16843009>>>24}function Yb(e,r){var t=(e[r+15]&127)<<7|e[r+14]>>1;var a=e[r+14]&1;for(var n=r+13;n>=r;--n)a=a*256+e[n];return(e[r+15]&128?-a:a)*Math.pow(10,t-6176)}function Zb(e,r,t){var a=Math.floor(t==0?0:Math.LOG10E*Math.log(Math.abs(t)))+6176-16;var n=t/Math.pow(10,a-6176);e[r+15]|=a>>7;e[r+14]|=(a&127)<<1;for(var i=0;n>=1;++i,n/=256)e[r+i]=n&255;e[r+15]|=t>=0?0:128}function Jb(e,r){var t=r.l;var a=e[t]&127;e:if(e[t++]>=128){a|=(e[t]&127)<<7;if(e[t++]<128)break e;a|=(e[t]&127)<<14;if(e[t++]<128)break e;a|=(e[t]&127)<<21;if(e[t++]<128)break e;a+=(e[t]&127)*Math.pow(2,28);++t;if(e[t++]<128)break e;a+=(e[t]&127)*Math.pow(2,35);++t;if(e[t++]<128)break e;a+=(e[t]&127)*Math.pow(2,42);++t;if(e[t++]<128)break e}r.l=t;return a}function qb(e){var r=new Uint8Array(7);r[0]=e&127;var t=1;e:if(e>127){r[t-1]|=128;r[t]=e>>7&127;++t;if(e<=16383)break e;r[t-1]|=128;r[t]=e>>14&127;++t;if(e<=2097151)break e;r[t-1]|=128;r[t]=e>>21&127;++t;if(e<=268435455)break e;r[t-1]|=128;r[t]=e/256>>>21&127;++t;if(e<=34359738367)break e;r[t-1]|=128;r[t]=e/65536>>>21&127;++t;if(e<=4398046511103)break e;r[t-1]|=128;r[t]=e/16777216>>>21&127;++t}return r[Vb](0,t)}function Qb(e){var r={l:0};var t=[];while(r.l=128){t|=(e[r]&127)<<7;if(e[r++]<128)break e;t|=(e[r]&127)<<14;if(e[r++]<128)break e;t|=(e[r]&127)<<21;if(e[r++]<128)break e;t|=(e[r]&127)<<28;a=e[r]>>4&7;if(e[r++]<128)break e;a|=(e[r]&127)<<3;if(e[r++]<128)break e;a|=(e[r]&127)<<10;if(e[r++]<128)break e;a|=(e[r]&127)<<17;if(e[r++]<128)break e;a|=(e[r]&127)<<24;if(e[r++]<128)break e;a|=(e[r]&127)<<31}return[t>>>0,a>>>0]}function aw(e){var r=[],t={l:0};while(t.l=128);s=e[Vb](t.l,f);t.l=f}break;case 1:{s=e[Vb](f,f+8);t.l=f+8}break;case 2:{var l=Jb(e,t);s=e[Vb](t.l,t.l+l);t.l+=l}break;case 5:{s=e[Vb](f,f+4);t.l=f+4}break;default:throw new Error("PB Type ".concat(i," for Field ").concat(n," at offset ").concat(a));}var o={data:s,type:i};if(r[n]==null)r[n]=[];r[n].push(o)}return r}function nw(e){var r=[];e.forEach(function(e,t){if(t==0)return;e.forEach(function(e){if(!e.data)return;r.push(qb(t*8+e.type));if(e.type==2)r.push(qb(e.data.length));r.push(e.data)})});return jb(r)}function iw(e,r){return(e==null?void 0:e.map(function(e){return r(e.data)}))||[]}function sw(e){var r;var t=[],a={l:0};while(a.l>>0>0;t.push(s)}return t}function fw(e){var r=[];e.forEach(function(e){var t=[[],[{data:qb(e.id),type:0}],[]];if(e.merge!=null)t[3]=[{data:qb(+!!e.merge),type:0}];var a=[];e.messages.forEach(function(e){a.push(e.data);e.meta[3]=[{type:0,data:qb(e.data.length)}];t[2].push({data:nw(e.meta),type:2})});var n=nw(t);r.push(qb(n.length));r.push(n);a.forEach(function(e){return r.push(e)})});return jb(r)}function lw(e,r){if(e!=0)throw new Error("Unexpected Snappy chunk type ".concat(e));var t={l:0};var a=Jb(r,t);var n=[];var i=t.l;while(i>2;if(f<60)++f;else{var l=f-59;f=r[i];if(l>1)f|=r[i+1]<<8;if(l>2)f|=r[i+2]<<16;if(l>3)f|=r[i+3]<<24;f>>>=0;f++;i+=l}n.push(r[Vb](i,i+f));i+=f;continue}else{var o=0,c=0;if(s==1){c=(r[i]>>2&7)+4;o=(r[i++]&224)<<3;o|=r[i++]}else{c=(r[i++]>>2)+1;if(s==2){o=r[i]|r[i+1]<<8;i+=2}else{o=(r[i]|r[i+1]<<8|r[i+2]<<16|r[i+3]<<24)>>>0;i+=4}}if(o==0)throw new Error("Invalid offset 0");var h=n.length-1,u=o;while(h>=0&&u>=n[h].length){u-=n[h].length;--h}if(h<0){if(u==0)u=n[h=0].length;else throw new Error("Invalid offset beyond length")}if(c0){n.push(n[h][Vb](n[h].length-u));c-=u}++h;while(c>=n[h].length){n.push(n[h]);c-=n[h].length;++h}if(c)n.push(n[h][Vb](0,c))}if(n.length>25)n=[jb(n)]}}var d=0;for(var v=0;v>8&255]))}else if(a<=16777216){s+=4;r.push(new Uint8Array([248,a-1&255,a-1>>8&255,a-1>>16&255]))}else if(a<=4294967296){s+=5;r.push(new Uint8Array([252,a-1&255,a-1>>8&255,a-1>>16&255,a-1>>>24&255]))}r.push(e[Vb](t,t+a));s+=a;n[0]=0;n[1]=s&255;n[2]=s>>8&255;n[3]=s>>16&255;t+=a}return jb(r)}var hw=function(){return{sst:[],rsst:[],ofmt:[],nfmt:[],fmla:[],ferr:[],cmnt:[]}};function uw(e,r,t,a,n){var i,s,f,l;var o=r&255,c=r>>8;var h=c>=5?n:a;e:if(t&(c>4?8:4)&&e.t=="n"&&o==7){var u=((i=h[7])==null?void 0:i[0])?rw(h[7][0].data):-1;if(u==-1)break e;var d=((s=h[15])==null?void 0:s[0])?rw(h[15][0].data):-1;var v=((f=h[16])==null?void 0:f[0])?rw(h[16][0].data):-1;var p=((l=h[40])==null?void 0:l[0])?rw(h[40][0].data):-1;var m=e.v,g=m;r:if(p){if(m==0){d=v=2;break r}if(m>=604800)d=1;else if(m>=86400)d=2;else if(m>=3600)d=4;else if(m>=60)d=8;else if(m>=1)d=16;else d=32;if(Math.floor(m)!=m)v=32;else if(m%60)v=16;else if(m%3600)v=8;else if(m%86400)v=4;else if(m%604800)v=2;if(v=2){g=m/86400;if(v>2){g|=0;m-=86400*g}w.push('d"d"');b.push(g+(u==2?" day"+(g==1?"":"s"):u==1?"d":""))}if(d<=4&&v>=4){g=m/3600;if(v>4){g|=0;m-=3600*g}w.push((d>=4?"[h]":"h")+'"h"');b.push(g+(u==2?" hour"+(g==1?"":"s"):u==1?"h":""))}if(d<=8&&v>=8){g=m/60;if(v>8){g|=0;m-=60*g}w.push((d>=8?"[m]":"m")+'"m"');if(u==0)b.push((d==8&&v==8||g>=10?"":"0")+g);else b.push(g+(u==2?" minute"+(g==1?"":"s"):u==1?"m":""))}if(d<=16&&v>=16){g=m;if(v>16){g|=0;m-=g}w.push((d>=16?"[s]":"s")+'"s"');if(u==0)b.push((v==16&&d==16||g>=10?"":"0")+g);else b.push(g+(u==2?" second"+(g==1?"":"s"):u==1?"s":""))}if(v>=32){g=Math.round(1e3*m);if(d<32)w.push('.000"ms"');if(u==0)b.push((g>=100?"":g>=10?"0":"00")+g);else b.push(g+(u==2?" millisecond"+(g==1?"":"s"):u==1?"ms":""))}e.w=b.join(u==0?":":" ");e.z=w.join(u==0?'":"':" ");if(u==0)e.w=e.w.replace(/:(\d\d\d)$/,".$1")}}function dw(e,r,t,a){var n=$b(e);var i=n.getUint32(4,true);var s=-1,f=-1,l=-1,o=NaN,c=0,h=new Date(Date.UTC(2001,0,1));var u=t>1?12:8;if(i&2){l=n.getUint32(u,true);u+=4}u+=Kb(i&(t>1?3468:396))*4;if(i&512){s=n.getUint32(u,true);u+=4}u+=Kb(i&(t>1?12288:4096))*4;if(i&16){f=n.getUint32(u,true);u+=4}if(i&32){o=n.getFloat64(u,true);u+=8}if(i&64){h.setTime(h.getTime()+(c=n.getFloat64(u,true))*1e3);u+=8}if(t>1){i=n.getUint32(8,true)>>>16;if(i&255){if(l==-1)l=n.getUint32(u,true);u+=4}}var d;var v=e[t>=4?1:2];switch(v){case 0:return void 0;case 2:d={t:"n",v:o};break;case 3:d={t:"s",v:r.sst[f]};break;case 5:{if(a==null?void 0:a.cellDates)d={t:"d",v:h};else d={t:"n",v:c/86400+35430,z:q[14]}}break;case 6:d={t:"b",v:o>0};break;case 7:d={t:"n",v:o};break;case 8:d={t:"e",v:0};break;case 9:{if(s>-1){var p=r.rsst[s];d={t:"s",v:p.v};if(p.l)d.l={Target:p.l}}else throw new Error("Unsupported cell type ".concat(e[Vb](0,4)))}break;default:throw new Error("Unsupported cell type ".concat(e[Vb](0,4)));}if(l>-1)uw(d,v|t<<8,i,r.ofmt[l],r.nfmt[l]);if(v==7)d.v/=86400;return d}function vw(e,r,t){var a=$b(e);var n=a.getUint32(4,true);var i=a.getUint32(8,true);var s=12;var f=-1,l=-1,o=-1,c=NaN,h=NaN,u=0,d=new Date(Date.UTC(2001,0,1)),v=-1,p=-1;if(i&1){c=Yb(e,s);s+=16}if(i&2){h=a.getFloat64(s,true);s+=8}if(i&4){d.setTime(d.getTime()+(u=a.getFloat64(s,true))*1e3);s+=8}if(i&8){l=a.getUint32(s,true);s+=4}if(i&16){f=a.getUint32(s,true);s+=4}s+=Kb(i&480)*4;if(i&512){p=a.getUint32(s,true);s+=4}s+=Kb(i&1024)*4;if(i&2048){v=a.getUint32(s,true);s+=4}var m;var g=e[1];switch(g){case 0:m={t:"z"};break;case 2:m={t:"n",v:c};break;case 3:m={t:"s",v:r.sst[l]};break;case 5:{if(t==null?void 0:t.cellDates)m={t:"d",v:d};else m={t:"n",v:u/86400+35430,z:q[14]}}break;case 6:m={t:"b",v:h>0};break;case 7:m={t:"n",v:h};break;case 8:m={t:"e",v:0};break;case 9:{if(f>-1){var b=r.rsst[f];m={t:"s",v:b.v};if(b.l)m.l={Target:b.l}}else throw new Error("Unsupported cell type ".concat(e[1]," : ").concat(i&31," : ").concat(e[Vb](0,4)))}break;case 10:m={t:"n",v:c};break;default:throw new Error("Unsupported cell type ".concat(e[1]," : ").concat(i&31," : ").concat(e[Vb](0,4)));}s+=Kb(i&4096)*4;if(i&516096){if(o==-1)o=a.getUint32(s,true);s+=4}if(i&524288){var w=a.getUint32(s,true);s+=4;if(r.cmnt[w])m.c=_w(r.cmnt[w])}if(o>-1)uw(m,g|5<<8,i>>13,r.ofmt[o],r.nfmt[o]);if(g==7)m.v/=86400;return m}function pw(e,r){var t=new Uint8Array(32),a=$b(t),n=12,i=0;t[0]=5;switch(e.t){case"n":if(e.z&&Le(e.z)){t[1]=5;a.setFloat64(n,(vr(e.v+1462).getTime()-Date.UTC(2001,0,1))/1e3,true);i|=4;n+=8;break}else{t[1]=2;Zb(t,n,e.v);i|=1;n+=16}break;case"b":t[1]=6;a.setFloat64(n,e.v?1:0,true);i|=2;n+=8;break;case"s":{var s=e.v==null?"":String(e.v);if(e.l){var f=r.rsst.findIndex(function(r){var t;return r.v==s&&r.l==((t=e.l)==null?void 0:t.Target)});if(f==-1)r.rsst[f=r.rsst.length]={v:s,l:e.l.Target};t[1]=9;a.setUint32(n,f,true);i|=16;n+=4}else{var l=r.sst.indexOf(s);if(l==-1)r.sst[l=r.sst.length]=s;t[1]=3;a.setUint32(n,l,true);i|=8;n+=4}}break;case"d":t[1]=5;a.setFloat64(n,(e.v.getTime()-Date.UTC(2001,0,1))/1e3,true);i|=4;n+=8;break;case"z":t[1]=0;break;default:throw"unsupported cell type "+e.t;}if(e.c){r.cmnt.push(Sw(e.c));a.setUint32(n,r.cmnt.length-1,true);i|=524288;n+=4}a.setUint32(8,i,true);return t[Vb](0,n)}function mw(e,r){var t=new Uint8Array(32),a=$b(t),n=12,i=0,s="";t[0]=4;switch(e.t){case"n":break;case"b":break;case"s":{s=e.v==null?"":String(e.v);if(e.l){var f=r.rsst.findIndex(function(r){var t;return r.v==s&&r.l==((t=e.l)==null?void 0:t.Target)});if(f==-1)r.rsst[f=r.rsst.length]={v:s,l:e.l.Target};t[1]=9;a.setUint32(n,f,true);i|=512;n+=4}else{}}break;case"d":break;case"e":break;case"z":break;default:throw"unsupported cell type "+e.t;}if(e.c){a.setUint32(n,r.cmnt.length-1,true);i|=4096;n+=4}switch(e.t){case"n":t[1]=2;a.setFloat64(n,e.v,true);i|=32;n+=8;break;case"b":t[1]=6;a.setFloat64(n,e.v?1:0,true);i|=32;n+=8;break;case"s":{s=e.v==null?"":String(e.v);if(e.l){}else{var l=r.sst.indexOf(s);if(l==-1)r.sst[l=r.sst.length]=s;t[1]=3;a.setUint32(n,l,true);i|=16;n+=4}}break;case"d":t[1]=5;a.setFloat64(n,(e.v.getTime()-Date.UTC(2001,0,1))/1e3,true);i|=64;n+=8;break;case"z":t[1]=0;break;default:throw"unsupported cell type "+e.t;}a.setUint32(8,i,true);return t[Vb](0,n)}function gw(e,r,t){switch(e[0]){case 0:;case 1:;case 2:;case 3:;case 4:return dw(e,r,e[0],t);case 5:return vw(e,r,t);default:throw new Error("Unsupported payload version ".concat(e[0]));}}function bw(e){var r=aw(e);return rw(r[1][0].data)}function ww(e){return nw([[],[{type:0,data:qb(e)}]])}function kw(e,r){var t;var a=((t=e.messages[0].meta[5])==null?void 0:t[0])?Qb(e.messages[0].meta[5][0].data):[];var n=a.indexOf(r);if(n==-1){a.push(r);e.messages[0].meta[5]=[{type:2,data:ew(a)}]}}function Aw(e,r){var t;var a=((t=e.messages[0].meta[5])==null?void 0:t[0])?Qb(e.messages[0].meta[5][0].data):[];e.messages[0].meta[5]=[{type:2,data:ew(a.filter(function(e){return e!=r}))}]}function Tw(e,r){var t=aw(r.data);var a=rw(t[1][0].data);var n=t[3];var i=[];(n||[]).forEach(function(r){var t,n;var s=aw(r.data);if(!s[1])return;var f=rw(s[1][0].data)>>>0;switch(a){case 1:i[f]=Xb(s[3][0].data);break;case 8:{var l=e[bw(s[9][0].data)][0];var o=aw(l.data);var c=e[bw(o[1][0].data)][0];var h=rw(c.meta[1][0].data);if(h!=2001)throw new Error("2000 unexpected reference to ".concat(h));var u=aw(c.data);var d={v:u[3].map(function(e){return Xb(e.data)}).join("")};i[f]=d;e:if((t=u==null?void 0:u[11])==null?void 0:t[0]){var v=(n=aw(u[11][0].data))==null?void 0:n[1];if(!v)break e;v.forEach(function(r){var t,a,n;var i=aw(r.data);if((t=i[2])==null?void 0:t[0]){var s=e[bw((a=i[2])==null?void 0:a[0].data)][0];var f=rw(s.meta[1][0].data);switch(f){case 2032:var l=aw(s.data);if(((n=l==null?void 0:l[2])==null?void 0:n[0])&&!d.l)d.l=Xb(l[2][0].data);break;case 2039:break;default:console.log("unrecognized ObjectAttribute type ".concat(f));}}})}}break;case 2:i[f]=aw(s[6][0].data);break;case 3:i[f]=aw(s[5][0].data);break;case 10:{var p=e[bw(s[10][0].data)][0];i[f]=Cw(e,p.data)}break;default:throw a;}});return i}function yw(e,r){var t,a,n,i,s,f,l,o,c,h,u,d,v,p;var m=aw(e);var g=rw(m[1][0].data)>>>0;var b=rw(m[2][0].data)>>>0;var w=((a=(t=m[8])==null?void 0:t[0])==null?void 0:a.data)&&rw(m[8][0].data)>0||false;var k,A;if(((i=(n=m[7])==null?void 0:n[0])==null?void 0:i.data)&&r!=0){k=(f=(s=m[7])==null?void 0:s[0])==null?void 0:f.data;A=(o=(l=m[6])==null?void 0:l[0])==null?void 0:o.data}else if(((h=(c=m[4])==null?void 0:c[0])==null?void 0:h.data)&&r!=1){k=(d=(u=m[4])==null?void 0:u[0])==null?void 0:d.data;A=(p=(v=m[3])==null?void 0:v[0])==null?void 0:p.data}else throw"NUMBERS Tile missing ".concat(r," cell storage");var T=w?4:1;var y=$b(k);var E=[];for(var C=0;C=1)S[E[E.length-1][0]]=A[Vb](E[E.length-1][1]*T);return{R:g,cells:S}}function Ew(e,r){var t;var a=aw(r.data);var n=-1;if((t=a==null?void 0:a[7])==null?void 0:t[0]){if(rw(a[7][0].data)>>>0)n=1;else n=0}var i=iw(a[5],function(e){return yw(e,n)});return{nrows:rw(a[4][0].data)>>>0,data:i.reduce(function(e,r){if(!e[r.R])e[r.R]=[];r.cells.forEach(function(t,a){if(e[r.R][a])throw new Error("Duplicate cell r=".concat(r.R," c=").concat(a));e[r.R][a]=t});return e},[])}}function Cw(e,r){var t,a,n,i,s,f,l,o,c,h;var u={t:"",a:""};var d=aw(r);if((a=(t=d==null?void 0:d[1])==null?void 0:t[0])==null?void 0:a.data)u.t=Xb((i=(n=d==null?void 0:d[1])==null?void 0:n[0])==null?void 0:i.data)||"";if((f=(s=d==null?void 0:d[3])==null?void 0:s[0])==null?void 0:f.data){var v=e[bw((o=(l=d==null?void 0:d[3])==null?void 0:l[0])==null?void 0:o.data)][0];var p=aw(v.data);if((h=(c=p[1])==null?void 0:c[0])==null?void 0:h.data)u.a=Xb(p[1][0].data)}if(d==null?void 0:d[4]){u.replies=[];d[4].forEach(function(r){var t=e[bw(r.data)][0];u.replies.push(Cw(e,t.data))})}return u}function _w(e){var r=[];r.push({t:e.t||"",a:e.a,T:e.replies&&e.replies.length>0});if(e.replies)e.replies.forEach(function(e){r.push({t:e.t||"",a:e.a,T:true})});return r}function Sw(e){var r={a:"",t:"",replies:[]};for(var t=0;t>>0)-1;if(w.e.r<0)throw new Error("Invalid row varint ".concat(b[6][0].data));w.e.c=(rw(b[7][0].data)>>>0)-1;if(w.e.c<0)throw new Error("Invalid col varint ".concat(b[7][0].data));t["!ref"]=Ja(w);var k=t["!data"]!=null,A=t;var T=aw(b[4][0].data);var y=hw();if((n=T[4])==null?void 0:n[0])y.sst=Tw(e,e[bw(T[4][0].data)][0]);if((i=T[6])==null?void 0:i[0])y.fmla=Tw(e,e[bw(T[6][0].data)][0]);if((s=T[11])==null?void 0:s[0])y.ofmt=Tw(e,e[bw(T[11][0].data)][0]);if((f=T[12])==null?void 0:f[0])y.ferr=Tw(e,e[bw(T[12][0].data)][0]);if((l=T[17])==null?void 0:l[0])y.rsst=Tw(e,e[bw(T[17][0].data)][0]);if((o=T[19])==null?void 0:o[0])y.cmnt=Tw(e,e[bw(T[19][0].data)][0]);if((c=T[22])==null?void 0:c[0])y.nfmt=Tw(e,e[bw(T[22][0].data)][0]);var E=aw(T[3][0].data);var C=0;if(!((h=T[9])==null?void 0:h[0]))throw"NUMBERS file missing row tree";var _=aw(T[9][0].data)[1].map(function(e){return aw(e.data)});_.forEach(function(r){C=rw(r[1][0].data);var n=rw(r[2][0].data);var i=E[1][n];if(!i)throw"NUMBERS missing tile "+n;var s=aw(i.data);var f=e[bw(s[2][0].data)][0];var l=rw(f.meta[1][0].data);if(l!=6002)throw new Error("6001 unexpected reference to ".concat(l));var o=Ew(e,f);o.data.forEach(function(e,r){e.forEach(function(e,n){var i=gw(e,y,a);if(i){if(k){if(!A["!data"][C+r])A["!data"][C+r]=[];A["!data"][C+r][n]=i}else{t[$a(n)+Wa(C+r)]=i}}})});C+=o.nrows});if((u=T[13])==null?void 0:u[0]){var S=e[bw(T[13][0].data)][0];var x=rw(S.meta[1][0].data);if(x!=6144)throw new Error("Expected merge type 6144, found ".concat(x));t["!merges"]=(d=aw(S.data))==null?void 0:d[1].map(function(e){var r=aw(e.data);var t=$b(aw(r[1][0].data)[1][0].data),a=$b(aw(r[2][0].data)[1][0].data);return{s:{r:t.getUint16(0,true),c:t.getUint16(2,true)},e:{r:t.getUint16(0,true)+a.getUint16(0,true)-1,c:t.getUint16(2,true)+a.getUint16(2,true)-1}}})}if(!((v=t["!merges"])==null?void 0:v.length)&&((p=b[47])==null?void 0:p[0])){var O=aw(b[47][0].data);if((m=O[2])==null?void 0:m[0]){var I=aw(O[2][0].data);if((g=I[3])==null?void 0:g[0]){t["!merges"]=iw(I[3],function(e){var r,t,a,n,i;var s=aw(e);var f=aw(s[2][0].data);var l=aw(f[1][0].data);if(!((r=l[1])==null?void 0:r[0]))return;var o=aw(l[1][0].data);var c=rw(o[1][0].data);if(c!=67)return;var h=aw(o[40][0].data);if(!((t=h[3])==null?void 0:t[0])||!((a=h[4])==null?void 0:a[0]))return;var u=aw(h[3][0].data);var d=aw(h[4][0].data);var v=rw(u[1][0].data);var p=((n=u[2])==null?void 0:n[0])?rw(u[2][0].data):v;var m=rw(d[1][0].data);var g=((i=d[2])==null?void 0:i[0])?rw(d[2][0].data):m;return{s:{r:m,c:v},e:{r:g,c:p}}}).filter(function(e){return e!=null})}}}}function Ow(e,r,t){var a=aw(r.data);var n={"!ref":"A1"};if(t==null?void 0:t.dense)n["!data"]=[];var i=e[bw(a[2][0].data)];var s=rw(i[0].meta[1][0].data);if(s!=6001)throw new Error("6000 unexpected reference to ".concat(s));xw(e,i[0],n,t);return n}function Iw(e,r,t){var a;var n=aw(r.data);var i={name:((a=n[1])==null?void 0:a[0])?Xb(n[1][0].data):"",sheets:[]};var s=iw(n[2],bw);s.forEach(function(r){e[r].forEach(function(r){var a=rw(r.meta[1][0].data);if(a==6e3)i.sheets.push(Ow(e,r,t))})});return i}function Rw(e,r,t){var a;var n=$k();n.Workbook={WBProps:{date1904:true}};var i=aw(r.data);if((a=i[2])==null?void 0:a[0])throw new Error("Keynote presentations are not supported");var s=iw(i[1],bw);s.forEach(function(r){e[r].forEach(function(r){var a=rw(r.meta[1][0].data);if(a==2){var i=Iw(e,r,t);i.sheets.forEach(function(e,r){Xk(n,e,r==0?i.name:i.name+"_"+r,true)})}})});if(n.SheetNames.length==0)throw new Error("Empty NUMBERS file");n.bookType="numbers";return n}function Nw(e,r){var t,a,n,i,s,f,l;var o={},c=[];e.FullPaths.forEach(function(e){if(e.match(/\.iwpv2/))throw new Error("Unsupported password protection")});e.FileIndex.forEach(function(e){if(!e.name.match(/\.iwa$/))return;if(e.content[0]!=0)return;var r;try{r=ow(e.content)}catch(t){return console.log("?? "+e.content.length+" "+(t.message||t))}var a;try{a=sw(r)}catch(t){return console.log("## "+(t.message||t))}a.forEach(function(e){o[e.id]=e.messages;c.push(e.id)})});if(!c.length)throw new Error("File has no messages");if(((n=(a=(t=o==null?void 0:o[1])==null?void 0:t[0].meta)==null?void 0:a[1])==null?void 0:n[0].data)&&rw(o[1][0].meta[1][0].data)==1e4)throw new Error("Pages documents are not supported");var h=((l=(f=(s=(i=o==null?void 0:o[1])==null?void 0:i[0])==null?void 0:s.meta)==null?void 0:f[1])==null?void 0:l[0].data)&&rw(o[1][0].meta[1][0].data)==1&&o[1][0];if(!h)c.forEach(function(e){o[e].forEach(function(e){var r=rw(e.meta[1][0].data)>>>0;if(r==1){if(!h)h=e;else throw new Error("Document has multiple roots")}})});if(!h)throw new Error("Cannot find Document root");return Rw(o,h,r)}function Fw(e,r,t){var a,n,i;var s=[[],[{type:0,data:qb(0)}],[{type:0,data:qb(0)}],[{type:2,data:new Uint8Array([])}],[{type:2,data:new Uint8Array(Array.from({length:510},function(){return 255}))}],[{type:0,data:qb(5)}],[{type:2,data:new Uint8Array([])}],[{type:2,data:new Uint8Array(Array.from({length:510},function(){return 255}))}],[{type:0,data:qb(1)}]];if(!((a=s[6])==null?void 0:a[0])||!((n=s[7])==null?void 0:n[0]))throw"Mutation only works on post-BNC storages!";var f=0;if(s[7][0].data.length<2*e.length){var l=new Uint8Array(2*e.length);l.set(s[7][0].data);s[7][0].data=l}if(s[4][0].data.length<2*e.length){var o=new Uint8Array(2*e.length);o.set(s[4][0].data);s[4][0].data=o}var c=$b(s[7][0].data),h=0,u=[];var d=$b(s[4][0].data),v=0,p=[];var m=t?4:1;for(var g=0;g1)throw new Error("Template NUMBERS file must have exactly one sheet");e.SheetNames.forEach(function(r,s){if(s>=1){Gw(t,a,s+1);n=zw(t,a,1);i=iw(aw(n.messages[0].data)[1],bw)}jw(t,a,e.Sheets[r],r,s,i[s])});return t}function Ww(e,r,t,a){var n=Qe.find(e,r[t].location);if(!n)throw"Could not find ".concat(r[t].location," in Numbers template");var i=sw(ow(n.content));var s=i.find(function(e){return e.id==t});a(s,i);n.content=cw(fw(i));n.size=n.content.length}function zw(e,r,t){var a=Qe.find(e,r[t].location);if(!a)throw"Could not find ".concat(r[t].location," in Numbers template");var n=sw(ow(a.content));var i=n.find(function(e){return e.id==t});return i}function Hw(e,r,t){e[3].push({type:2,data:nw([[],[{type:0,data:qb(r)}],[{type:2,data:Gb(t.replace(/-[\s\S]*$/,""))}],[{type:2,data:Gb(t)}],[{type:2,data:new Uint8Array([2,0,0])}],[{type:2,data:new Uint8Array([2,0,0])}],[],[],[],[],[{type:0,data:qb(0)}],[],[{type:0,data:qb(0)}]])});e[1]=[{type:0,data:qb(Math.max(r+1,rw(e[1][0].data)))}]}function Vw(e,r,t,a,n,i){if(!i)i=Pw({deps:[],location:"",type:r},n);var s="".concat(a,"-").concat(i,".iwa");n[i].location="Root Entry"+s;Qe.utils.cfb_add(e,s,cw(fw([{id:i,messages:[Dw(r,nw(t))]}])));var f=s.replace(/^[\/]/,"").replace(/^Index\//,"").replace(/\.iwa$/,"");Ww(e,n,2,function(e){var r=aw(e.messages[0].data);Hw(r,i||0,f);e.messages[0].data=nw(r)});return i}function $w(e,r,t,a){var n=r[t].location.replace(/^Root Entry\//,"").replace(/^Index\//,"").replace(/\.iwa$/,"");var i=e[3].findIndex(function(e){var r,t;var a=aw(e.data);if((r=a[3])==null?void 0:r[0])return Xb(a[3][0].data)==n;if(((t=a[2])==null?void 0:t[0])&&Xb(a[2][0].data)==n)return true;return false});var s=aw(e[3][i].data);if(!s[6])s[6]=[];(Array.isArray(a)?a:[a]).forEach(function(e){s[6].push({type:2,data:nw([[],[{type:0,data:qb(e)}]])})});e[3][i].data=nw(s)}function Xw(e,r,t,a){var n=r[t].location.replace(/^Root Entry\//,"").replace(/^Index\//,"").replace(/\.iwa$/,"");var i=e[3].findIndex(function(e){var r,t;var a=aw(e.data);if((r=a[3])==null?void 0:r[0])return Xb(a[3][0].data)==n;if(((t=a[2])==null?void 0:t[0])&&Xb(a[2][0].data)==n)return true;return false});var s=aw(e[3][i].data);if(!s[6])s[6]=[];s[6]=s[6].filter(function(e){return rw(aw(e.data)[1][0].data)!=a});e[3][i].data=nw(s)}function Gw(e,r,t){var a=-1,n=-1;var i={};Ww(e,r,1,function(t,s){var f=aw(t.messages[0].data); +a=bw(aw(t.messages[0].data)[1][0].data);n=Pw({deps:[1],location:r[a].location,type:2},r);i[a]=n;kw(t,n);f[1].push({type:2,data:ww(n)});var l=zw(e,r,a);l.id=n;if(r[1].location==r[n].location)s.push(l);else Ww(e,r,n,function(e,r){return r.push(l)});t.messages[0].data=nw(f)});var s=-1;Ww(e,r,n,function(t,a){var f=aw(t.messages[0].data);for(var l=3;l<=69;++l)delete f[l];var o=iw(f[2],bw);o.forEach(function(e){return Aw(t,e)});s=Pw({deps:[n],location:r[o[0]].location,type:r[o[0]].type},r);kw(t,s);i[o[0]]=s;f[2]=[{type:2,data:ww(s)}];var c=zw(e,r,o[0]);c.id=s;if(r[o[0]].location==r[n].location)a.push(c);else{Ww(e,r,2,function(e){var t=aw(e.messages[0].data);$w(t,r,n,s);e.messages[0].data=nw(t)});Ww(e,r,s,function(e,r){return r.push(c)})}t.messages[0].data=nw(f)});var f=-1;Ww(e,r,s,function(t,a){var n=aw(t.messages[0].data);var l=aw(n[1][0].data);for(var o=3;o<=69;++o)delete l[o];var c=bw(l[2][0].data);l[2][0].data=ww(i[c]);n[1][0].data=nw(l);var h=bw(n[2][0].data);Aw(t,h);f=Pw({deps:[s],location:r[h].location,type:r[h].type},r);kw(t,f);i[h]=f;n[2][0].data=ww(f);var u=zw(e,r,h);u.id=f;if(r[s].location==r[f].location)a.push(u);else Ww(e,r,f,function(e,r){return r.push(u)});t.messages[0].data=nw(n)});Ww(e,r,f,function(a,n){var s,l;var o=aw(a.messages[0].data);var c=Xb(o[1][0].data),h=c.replace(/-[A-Z0-9]*/,"-".concat(("0000"+t.toString(16)).slice(-4)));o[1][0].data=Gb(h);[12,13,29,31,32,33,39,44,47,81,82,84].forEach(function(e){return delete o[e]});if(o[45]){var u=aw(o[45][0].data);var d=bw(u[1][0].data);Aw(a,d);delete o[45]}if(o[70]){var v=aw(o[70][0].data);(s=v[2])==null?void 0:s.forEach(function(e){var r=aw(e.data);[2,3].map(function(e){return r[e][0]}).forEach(function(e){var r=aw(e.data);if(!r[8])return;var t=bw(r[8][0].data);Aw(a,t)})});delete o[70]}[46,30,34,35,36,38,48,49,60,61,62,63,64,71,72,73,74,75,85,86,87,88,89].forEach(function(e){if(!o[e])return;var r=bw(o[e][0].data);delete o[e];Aw(a,r)});var p=aw(o[4][0].data);{[2,4,5,6,11,12,13,15,16,17,18,19,20,21,22].forEach(function(t){var s;if(!((s=p[t])==null?void 0:s[0]))return;var l=bw(p[t][0].data);var o=Pw({deps:[f],location:r[l].location,type:r[l].type},r);Aw(a,l);kw(a,o);i[l]=o;var c=zw(e,r,l);c.id=o;if(r[l].location==r[f].location)n.push(c);else{r[o].location=r[l].location.replace(l.toString(),o.toString());if(r[o].location==r[l].location)r[o].location=r[o].location.replace(/\.iwa/,"-".concat(o,".iwa"));Qe.utils.cfb_add(e,r[o].location,cw(fw([c])));var h=r[o].location.replace(/^Root Entry\//,"").replace(/^Index\//,"").replace(/\.iwa$/,"");Ww(e,r,2,function(e){var t=aw(e.messages[0].data);Hw(t,o,h);$w(t,r,f,o);e.messages[0].data=nw(t)})}p[t][0].data=ww(o)});var m=aw(p[1][0].data);{(l=m[2])==null?void 0:l.forEach(function(t){var s=bw(t.data);var l=Pw({deps:[f],location:r[s].location,type:r[s].type},r);Aw(a,s);kw(a,l);i[s]=l;var o=zw(e,r,s);o.id=l;if(r[s].location==r[f].location){n.push(o)}else{r[l].location=r[s].location.replace(s.toString(),l.toString());if(r[l].location==r[s].location)r[l].location=r[l].location.replace(/\.iwa/,"-".concat(l,".iwa"));Qe.utils.cfb_add(e,r[l].location,cw(fw([o])));var c=r[l].location.replace(/^Root Entry\//,"").replace(/^Index\//,"").replace(/\.iwa$/,"");Ww(e,r,2,function(e){var t=aw(e.messages[0].data);Hw(t,l,c);$w(t,r,f,l);e.messages[0].data=nw(t)})}t.data=ww(l)})}p[1][0].data=nw(m);var g=aw(p[3][0].data);{g[1].forEach(function(t){var n=aw(t.data);var s=bw(n[2][0].data);var l=i[s];if(!i[s]){l=Pw({deps:[f],location:"",type:r[s].type},r);r[l].location="Root Entry/Index/Tables/Tile-".concat(l,".iwa");i[s]=l;var o=zw(e,r,s);o.id=l;Aw(a,s);kw(a,l);Qe.utils.cfb_add(e,"/Index/Tables/Tile-".concat(l,".iwa"),cw(fw([o])));Ww(e,r,2,function(e){var t=aw(e.messages[0].data);t[3].push({type:2,data:nw([[],[{type:0,data:qb(l)}],[{type:2,data:Gb("Tables/Tile")}],[{type:2,data:Gb("Tables/Tile-".concat(l))}],[{type:2,data:new Uint8Array([2,0,0])}],[{type:2,data:new Uint8Array([2,0,0])}],[],[],[],[],[{type:0,data:qb(0)}],[],[{type:0,data:qb(0)}]])});t[1]=[{type:0,data:qb(Math.max(l+1,rw(t[1][0].data)))}];$w(t,r,f,l);e.messages[0].data=nw(t)})}n[2][0].data=ww(l);t.data=nw(n)})}p[3][0].data=nw(g)}o[4][0].data=nw(p);a.messages[0].data=nw(o)})}function jw(e,r,t,a,n,i){var s=[];Ww(e,r,i,function(e){var r=aw(e.messages[0].data);{r[1]=[{type:2,data:Gb(a)}];s=iw(r[2],bw)}e.messages[0].data=nw(r)});var f=zw(e,r,s[0]);var l=bw(aw(f.messages[0].data)[2][0].data);Ww(e,r,l,function(a,n){return Yw(e,r,t,a,n,l)})}var Kw=true;function Yw(e,r,t,a,n,i){if(!t["!ref"])throw new Error("Cannot export empty sheet to NUMBERS");var s=Za(t["!ref"]);s.s.r=s.s.c=0;var f=false;if(s.e.c>999){f=true;s.e.c=999}if(s.e.r>999999){f=true;s.e.r=999999}if(f)console.error("Truncating to ".concat(Ja(s)));var l=[];if(t["!data"])l=t["!data"];else{var o=[];for(var c=0;c<=s.e.c;++c)o[c]=$a(c);for(var h=0;h<=s.e.r;++h){l[h]=[];var u=""+(h+1);for(c=0;c<=s.e.c;++c){var d=t[o[c]+u];if(!d)continue;l[h][c]=d}}}var v={cmnt:[{a:"~54ee77S~",t:"... the people who are crazy enough to think they can change the world, are the ones who do."}],ferr:[],fmla:[],nfmt:[],ofmt:[],rsst:[{v:"~54ee77S~",l:"https://sheetjs.com/"}],sst:["~Sh33tJ5~"]};var p=aw(a.messages[0].data);{p[6][0].data=qb(s.e.r+1);p[7][0].data=qb(s.e.c+1);delete p[46];var m=aw(p[4][0].data);{var g=bw(aw(m[1][0].data)[2][0].data);Ww(e,r,g,function(e,r){var t;var a=aw(e.messages[0].data);if((t=a==null?void 0:a[2])==null?void 0:t[0])for(var n=0;n1){var P=bw(m[19][0].data);var L={},M=0;Ww(e,r,P,function(t){var a=aw(t.messages[0].data);{a[3]=[];v.cmnt.forEach(function(n,i){if(i==0)return;var s=[];if(n.replies)n.replies.forEach(function(t){if(!L[t.a||""])L[t.a||""]=Vw(e,212,[[],[{type:2,data:Gb(t.a||"")}],[{type:2,data:Uw(++M)}],[],[{type:0,data:qb(0)}]],"/Index/Tables/DataList",r);var a=L[t.a||""];var n=Vw(e,3056,[[],[{type:2,data:Gb(t.t||"")}],[{type:2,data:nw([[],[{type:1,data:new Uint8Array([0,0,0,128,116,109,182,65])}]])}],[{type:2,data:ww(a)}]],"/Index/Tables/DataList",r);Ww(e,r,n,function(e){return kw(e,a)});s.push(n);Ww(e,r,2,function(e){var t=aw(e.messages[0].data);$w(t,r,n,a);e.messages[0].data=nw(t)})});if(!L[n.a||""])L[n.a||""]=Vw(e,212,[[],[{type:2,data:Gb(n.a||"")}],[{type:2,data:Uw(++M)}],[],[{type:0,data:qb(0)}]],"/Index/Tables/DataList",r);var f=L[n.a||""];var l=Vw(e,3056,[[],[{type:2,data:Gb(n.t||"")}],[{type:2,data:nw([[],[{type:1,data:new Uint8Array([0,0,0,128,116,109,182,65])}]])}],[{type:2,data:ww(f)}],s.map(function(e){return{type:2,data:ww(e)}}),[{type:2,data:nw([[],[{type:0,data:qb(i)}],[{type:0,data:qb(0)}]])}]],"/Index/Tables/DataList",r);Ww(e,r,l,function(e){kw(e,f);s.forEach(function(r){return kw(e,r)})});a[3].push({type:2,data:nw([[],[{type:0,data:qb(i)}],[{type:0,data:qb(1)}],[],[],[],[],[],[],[],[{type:2,data:ww(l)}]])});kw(t,l);Ww(e,r,2,function(e){var t=aw(e.messages[0].data);$w(t,r,P,l);$w(t,r,l,f);if(s.length)$w(t,r,l,s);e.messages[0].data=nw(t)})})}a[2][0].data=qb(v.cmnt.length+1);t.messages[0].data=nw(a)})}}p[4][0].data=nw(m)}a.messages[0].data=nw(p)}function Zw(e){return function r(t){for(var a=0;a!=e.length;++a){var n=e[a];if(t[n[0]]===undefined)t[n[0]]=n[1];if(n[2]==="n")t[n[0]]=Number(t[n[0]])}}}function Jw(e){Zw([["cellNF",false],["cellHTML",true],["cellFormula",true],["cellStyles",false],["cellText",true],["cellDates",false],["sheetStubs",false],["sheetRows",0,"n"],["bookDeps",false],["bookSheets",false],["bookProps",false],["bookFiles",false],["bookVBA",false],["password",""],["WTF",false]])(e)}function qw(e){Zw([["cellDates",false],["bookSST",false],["bookType","xlsx"],["compression",false],["WTF",false]])(e)}function Qw(e){if(bi.WS.indexOf(e)>-1)return"sheet";if(bi.CS&&e==bi.CS)return"chart";if(bi.DS&&e==bi.DS)return"dialog";if(bi.MS&&e==bi.MS)return"macro";return e&&e.length?e:"sheet"}function ek(e,r){if(!e)return 0;try{e=r.map(function a(r){if(!r.id)r.id=r.strRelID;return[r.name,e["!id"][r.id].Target,Qw(e["!id"][r.id].Type)]})}catch(t){return null}return!e||e.length===0?null:e}function rk(e,r,t,a,n,i,s,f){if(!e||!e["!legdrawel"])return;var l=tt(e["!legdrawel"].Target,a);var o=Zr(t,l,true);if(o)Rh(It(o),e,f||[])}function tk(e,r,t,a,n,i,s,f,l,o,c,h){try{i[a]=ki(Zr(e,t,true),r);var u=Yr(e,r);var d;switch(f){case"sheet":d=tg(u,r,n,l,i[a],o,c,h);break;case"chart":d=ag(u,r,n,l,i[a],o,c,h);if(!d||!d["!drawel"])break;var v=tt(d["!drawel"].Target,r);var p=wi(v);var m=Ih(Zr(e,v,true),ki(Zr(e,p,true),v));var g=tt(m,v);var b=wi(g);d=km(Zr(e,g,true),g,l,ki(Zr(e,b,true),g),o,d);break;case"macro":d=ng(u,r,n,l,i[a],o,c,h);break;case"dialog":d=ig(u,r,n,l,i[a],o,c,h);break;default:throw new Error("Unrecognized sheet type "+f);}s[a]=d;var w=[],k=[];if(i&&i[a])ir(i[a]).forEach(function(t){var n="";if(i[a][t].Type==bi.CMNT){n=tt(i[a][t].Target,r);w=lg(Yr(e,n,true),n,l);if(!w||!w.length)return;Dh(d,w,false)}if(i[a][t].Type==bi.TCMNT){n=tt(i[a][t].Target,r);k=k.concat(Mh(Yr(e,n,true),l))}});if(k&&k.length)Dh(d,k,true,l.people||[]);rk(d,f,e,r,n,l,o,w)}catch(A){if(l.WTF)throw A}}function ak(e){return e.charAt(0)=="/"?e.slice(1):e}function nk(e,r){$e();r=r||{};Jw(r);if(jr(e,"META-INF/manifest.xml"))return Lb(e,r);if(jr(e,"objectdata.xml"))return Lb(e,r);if(jr(e,"Index/Document.iwa")){if(typeof Uint8Array=="undefined")throw new Error("NUMBERS file parsing requires Uint8Array support");if(typeof Nw!="undefined"){if(e.FileIndex)return Nw(e,r);var t=Qe.utils.cfb_new();qr(e).forEach(function(r){Qr(t,r,Jr(e,r))});return Nw(t,r)}throw new Error("Unsupported NUMBERS file")}if(!jr(e,"[Content_Types].xml")){if(jr(e,"index.xml.gz"))throw new Error("Unsupported NUMBERS 08 file");if(jr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");var a=Qe.find(e,"Index.zip");if(a){r=Ar(r);delete r.type;if(typeof a.content=="string")r.type="binary";if(typeof Bun!=="undefined"&&Buffer.isBuffer(a.content))return mk(new Uint8Array(a.content),r);return mk(a.content,r)}throw new Error("Unsupported ZIP file")}var n=qr(e);var i=mi(Zr(e,"[Content_Types].xml"));var s=false;var f,l;if(i.workbooks.length===0){l="xl/workbook.xml";if(Yr(e,l,true))i.workbooks.push(l)}if(i.workbooks.length===0){l="xl/workbook.bin";if(!Yr(e,l,true))throw new Error("Could not find workbook");i.workbooks.push(l);s=true}if(i.workbooks[0].slice(-3)=="bin")s=true;var o={};var c={};if(!r.bookSheets&&!r.bookProps){mv=[];if(i.sst)try{mv=fg(Yr(e,ak(i.sst)),i.sst,r)}catch(h){if(r.WTF)throw h}if(r.cellStyles&&i.themes.length)o=nh(Zr(e,i.themes[0].replace(/^\//,""),true)||"",r);if(i.style)c=sg(Yr(e,ak(i.style)),i.style,o,r)}i.links.map(function(t){try{var a=ki(Zr(e,wi(ak(t))),t);return cg(Yr(e,ak(t)),a,t,r)}catch(n){}});var u=rg(Yr(e,ak(i.workbooks[0])),i.workbooks[0],r);var d={},v="";if(i.coreprops.length){v=Yr(e,ak(i.coreprops[0]),true);if(v)d=Ri(v);if(i.extprops.length!==0){v=Yr(e,ak(i.extprops[0]),true);if(v)Mi(v,d,r)}}var p={};if(!r.bookSheets||r.bookProps){if(i.custprops.length!==0){v=Zr(e,ak(i.custprops[0]),true);if(v)p=Wi(v,r)}}var m={};if(r.bookSheets||r.bookProps){if(u.Sheets)f=u.Sheets.map(function N(e){return e.name});else if(d.Worksheets&&d.SheetNames.length>0)f=d.SheetNames;if(r.bookProps){m.Props=d;m.Custprops=p}if(r.bookSheets&&typeof f!=="undefined")m.SheetNames=f;if(r.bookSheets?m.SheetNames:r.bookProps)return m}f={};var g={};if(r.bookDeps&&i.calcchain)g=og(Yr(e,ak(i.calcchain)),i.calcchain,r);var b=0;var w={};var k,A;{var T=u.Sheets;d.Worksheets=T.length;d.SheetNames=[];for(var y=0;y!=T.length;++y){d.SheetNames[y]=T[y].name}}var E=s?"bin":"xml";var C=i.workbooks[0].lastIndexOf("/");var _=(i.workbooks[0].slice(0,C+1)+"_rels/"+i.workbooks[0].slice(C+1)+".rels").replace(/^\//,"");if(!jr(e,_))_="xl/_rels/workbook."+E+".rels";var S=ki(Zr(e,_,true),_.replace(/_rels.*/,"s5s"));if((i.metadata||[]).length>=1){r.xlmeta=hg(Yr(e,ak(i.metadata[0])),i.metadata[0],r)}if((i.people||[]).length>=1){r.people=Bh(Yr(e,ak(i.people[0])),r)}if(S)S=ek(S,u.Sheets);var x=Yr(e,"xl/worksheets/sheet.xml",true)?1:0;e:for(b=0;b!=d.Worksheets;++b){var O="sheet";if(S&&S[b]){k="xl/"+S[b][1].replace(/[\/]?xl\//,"");if(!jr(e,k))k=S[b][1];if(!jr(e,k))k=_.replace(/_rels\/[\S\s]*$/,"")+S[b][1];O=S[b][2]}else{k="xl/worksheets/sheet"+(b+1-x)+"."+E;k=k.replace(/sheet0\./,"sheet.")}A=k.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels");if(r&&r.sheets!=null)switch(typeof r.sheets){case"number":if(b!=r.sheets)continue e;break;case"string":if(d.SheetNames[b].toLowerCase()!=r.sheets.toLowerCase())continue e;break;default:if(Array.isArray&&Array.isArray(r.sheets)){var I=false;for(var R=0;R!=r.sheets.length;++R){if(typeof r.sheets[R]=="number"&&r.sheets[R]==b)I=1;if(typeof r.sheets[R]=="string"&&r.sheets[R].toLowerCase()==d.SheetNames[b].toLowerCase())I=1}if(!I)continue e};}tk(e,k,A,d.SheetNames[b],b,w,f,O,r,u,o,c)}m={Directory:i,Workbook:u,Props:d,Custprops:p,Deps:g,Sheets:f,SheetNames:d.SheetNames,Strings:mv,Styles:c,Themes:o,SSF:Ar(q)};if(r&&r.bookFiles){if(e.files){m.keys=n;m.files=e.files}else{m.keys=[];m.files={};e.FullPaths.forEach(function(r,t){r=r.replace(/^Root Entry[\/]/,"");m.keys.push(r);m.files[r]=e.FileIndex[t]})}}if(r&&r.bookVBA){if(i.vba.length>0)m.vbaraw=Yr(e,ak(i.vba[0]),true);else if(i.defaults&&i.defaults.bin===jh)m.vbaraw=Yr(e,"xl/vbaProject.bin",true)}m.bookType=s?"xlsb":"xlsx";return m}function ik(e,r){var t=r||{};var a="Workbook",n=Qe.find(e,a);try{a="/!DataSpaces/Version";n=Qe.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);Eo(n.content);a="/!DataSpaces/DataSpaceMap";n=Qe.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var i=_o(n.content);if(i.length!==1||i[0].comps.length!==1||i[0].comps[0].t!==0||i[0].name!=="StrongEncryptionDataSpace"||i[0].comps[0].v!=="EncryptedPackage")throw new Error("ECMA-376 Encrypted file bad "+a);a="/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace";n=Qe.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var s=So(n.content);if(s.length!=1||s[0]!="StrongEncryptionTransform")throw new Error("ECMA-376 Encrypted file bad "+a);a="/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary";n=Qe.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);Oo(n.content)}catch(f){}a="/EncryptionInfo";n=Qe.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var l=No(n.content);a="/EncryptedPackage";n=Qe.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);if(l[0]==4&&typeof decrypt_agile!=="undefined")return decrypt_agile(l[1],n.content,t.password||"",t);if(l[0]==2&&typeof decrypt_std76!=="undefined")return decrypt_std76(l[1],n.content,t.password||"",t);throw new Error("File is password-protected")}function sk(e,r){if(e&&!e.SSF){e.SSF=Ar(q)}if(e&&e.SSF){$e();Ve(e.SSF);r.revssf=lr(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF}r.rels={};r.wbrels={};r.Strings=[];r.Strings.Count=0;r.Strings.Unique=0;if(bv)r.revStrings=new Map;else{r.revStrings={};r.revStrings.foo=[];delete r.revStrings.foo}var t="bin";var a=true;var n=pi();qw(r=r||{});var i=et();var s="",f=0;r.cellXfs=[];Tv(r.cellXfs,{},{revssf:{General:0}});if(!e.Props)e.Props={};s="docProps/core.xml";Qr(i,s,Fi(e.Props,r));n.coreprops.push(s);Ti(r.rels,2,s,bi.CORE_PROPS);s="docProps/app.xml";if(e.Props&&e.Props.SheetNames){}else if(!e.Workbook||!e.Workbook.Sheets)e.Props.SheetNames=e.SheetNames;else{var l=[];for(var o=0;o0){s="docProps/custom.xml";Qr(i,s,zi(e.Custprops,r));n.custprops.push(s);Ti(r.rels,4,s,bi.CUST_PROPS)}var c=["SheetJ5"];r.tcid=0;for(f=1;f<=e.SheetNames.length;++f){var h={"!id":{}};var u=e.Sheets[e.SheetNames[f-1]];var d=(u||{})["!type"]||"sheet";switch(d){case"chart":;default:s="xl/worksheets/sheet"+f+"."+t;Qr(i,s,bm(f-1,r,e,h));n.sheets.push(s);Ti(r.wbrels,-1,"worksheets/sheet"+f+"."+t,bi.WS[0]);}if(u){var v=u["!comments"];var p=false;var m="";if(v&&v.length>0){var g=false;v.forEach(function(e){e[1].forEach(function(e){if(e.T==true)g=true})});if(g){m="xl/threadedComments/threadedComment"+f+".xml";Qr(i,m,Uh(v,c,r));n.threadedcomments.push(m);Ti(h,-1,"../threadedComments/threadedComment"+f+".xml",bi.TCMNT)}m="xl/comments"+f+"."+t;Qr(i,m,Gh(v,r));n.comments.push(m);Ti(h,-1,"../comments"+f+"."+t,bi.CMNT);p=true}if(u["!legacy"]){if(p)Qr(i,"xl/drawings/vmlDrawing"+f+".vml",Nh(f,u["!comments"]))}delete u["!comments"];delete u["!legacy"]}if(h["!id"].rId1)Qr(i,wi(s),Ai(h))}if(r.Strings!=null&&r.Strings.length>0){s="xl/sharedStrings."+t;Qr(i,s,Ao(r.Strings,r));n.strs.push(s);Ti(r.wbrels,-1,"sharedStrings."+t,bi.SST)}s="xl/workbook."+t;Qr(i,s,eg(e,r));n.workbooks.push(s);Ti(r.rels,1,s,bi.WB);s="xl/theme/theme1.xml";var b=ih(e.Themes,r);Qr(i,s,b);n.themes.push(s);Ti(r.wbrels,-1,"theme/theme1.xml",bi.THEME);s="xl/styles."+t;Qr(i,s,qc(e,r));n.styles.push(s);Ti(r.wbrels,-1,"styles."+t,bi.STY);if(e.vbaraw&&a){s="xl/vbaProject.bin";Qr(i,s,e.vbaraw);n.vba.push(s);Ti(r.wbrels,-1,"vbaProject.bin",bi.VBA)}s="xl/metadata."+t;Qr(i,s,Th());n.metadata.push(s);Ti(r.wbrels,-1,"metadata."+t,bi.XLMETA);if(c.length>1){s="xl/persons/person.xml";Qr(i,s,Wh(c,r));n.people.push(s);Ti(r.wbrels,-1,"persons/person.xml",bi.PEOPLE)}Qr(i,"[Content_Types].xml",gi(n,r));Qr(i,"_rels/.rels",Ai(r.rels));Qr(i,"xl/_rels/workbook."+t+".rels",Ai(r.wbrels));delete r.revssf;delete r.ssf;return i}function fk(e,r){if(e&&!e.SSF){e.SSF=Ar(q)}if(e&&e.SSF){$e();Ve(e.SSF);r.revssf=lr(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF}r.rels={};r.wbrels={};r.Strings=[];r.Strings.Count=0;r.Strings.Unique=0;if(bv)r.revStrings=new Map;else{r.revStrings={};r.revStrings.foo=[];delete r.revStrings.foo}var t="xml";var a=Zh.indexOf(r.bookType)>-1;var n=pi();qw(r=r||{});var i=et();var s="",f=0;r.cellXfs=[];Tv(r.cellXfs,{},{revssf:{General:0}});if(!e.Props)e.Props={};s="docProps/core.xml";Qr(i,s,Fi(e.Props,r));n.coreprops.push(s);Ti(r.rels,2,s,bi.CORE_PROPS);s="docProps/app.xml";if(e.Props&&e.Props.SheetNames){}else if(!e.Workbook||!e.Workbook.Sheets)e.Props.SheetNames=e.SheetNames;else{var l=[];for(var o=0;o0){s="docProps/custom.xml";Qr(i,s,zi(e.Custprops,r));n.custprops.push(s);Ti(r.rels,4,s,bi.CUST_PROPS)}var c=["SheetJ5"];r.tcid=0;for(f=1;f<=e.SheetNames.length;++f){var h={"!id":{}};var u=e.Sheets[e.SheetNames[f-1]];var d=(u||{})["!type"]||"sheet";switch(d){case"chart":;default:s="xl/worksheets/sheet"+f+"."+t;Qr(i,s,ep(f-1,r,e,h));n.sheets.push(s);Ti(r.wbrels,-1,"worksheets/sheet"+f+"."+t,bi.WS[0]);}if(u){var v=u["!comments"];var p=false;var m="";if(v&&v.length>0){var g=false;v.forEach(function(e){e[1].forEach(function(e){if(e.T==true)g=true})});if(g){m="xl/threadedComments/threadedComment"+f+".xml";Qr(i,m,Uh(v,c,r));n.threadedcomments.push(m);Ti(h,-1,"../threadedComments/threadedComment"+f+".xml",bi.TCMNT)}m="xl/comments"+f+"."+t;Qr(i,m,Lh(v,r));n.comments.push(m);Ti(h,-1,"../comments"+f+"."+t,bi.CMNT);p=true}if(u["!legacy"]){if(p)Qr(i,"xl/drawings/vmlDrawing"+f+".vml",Nh(f,u["!comments"]))}delete u["!comments"];delete u["!legacy"]}if(h["!id"].rId1)Qr(i,wi(s),Ai(h))}if(r.Strings!=null&&r.Strings.length>0){s="xl/sharedStrings."+t;Qr(i,s,mo(r.Strings,r));n.strs.push(s);Ti(r.wbrels,-1,"sharedStrings."+t,bi.SST)}s="xl/workbook."+t;Qr(i,s,Um(e,r));n.workbooks.push(s);Ti(r.rels,1,s,bi.WB);s="xl/theme/theme1.xml";Qr(i,s,ih(e.Themes,r));n.themes.push(s);Ti(r.wbrels,-1,"theme/theme1.xml",bi.THEME);s="xl/styles."+t;Qr(i,s,Cc(e,r));n.styles.push(s);Ti(r.wbrels,-1,"styles."+t,bi.STY);if(e.vbaraw&&a){s="xl/vbaProject.bin";Qr(i,s,e.vbaraw);n.vba.push(s);Ti(r.wbrels,-1,"vbaProject.bin",bi.VBA)}s="xl/metadata."+t;Qr(i,s,Eh());n.metadata.push(s);Ti(r.wbrels,-1,"metadata."+t,bi.XLMETA);if(c.length>1){s="xl/persons/person.xml";Qr(i,s,Wh(c,r));n.people.push(s);Ti(r.wbrels,-1,"persons/person.xml",bi.PEOPLE)}Qr(i,"[Content_Types].xml",gi(n,r));Qr(i,"_rels/.rels",Ai(r.rels));Qr(i,"xl/_rels/workbook."+t+".rels",Ai(r.wbrels));delete r.revssf;delete r.ssf;return i}function lk(e,r){var t="";switch((r||{}).type||"base64"){case"buffer":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];case"base64":t=E(e.slice(0,12));break;case"binary":t=e;break;case"array":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];default:throw new Error("Unrecognized type "+(r&&r.type||"undefined"));}return[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3),t.charCodeAt(4),t.charCodeAt(5),t.charCodeAt(6),t.charCodeAt(7)]}function ok(e,r){if(Qe.find(e,"EncryptedPackage"))return ik(e,r);return Kg(e,r)}function ck(e,r){var t,a=e;var n=r||{};if(!n.type)n.type=C&&Buffer.isBuffer(e)?"buffer":"base64";t=rt(a,n);return nk(t,n)}function hk(e,r){var t=0;e:while(t=2&&i[3]===0)return no.to_workbook(n,t);if(i[2]===0&&(i[3]===8||i[3]===9))return no.to_workbook(n,t)}break;case 3:;case 131:;case 139:;case 140:return ql.to_workbook(n,t);case 123:if(i[1]===92&&i[2]===114&&i[3]===116)return jo(n,t);break;case 10:;case 13:;case 32:return uk(n,t);case 137:if(i[1]===80&&i[2]===78&&i[3]===71)throw new Error("PNG Image File is not a spreadsheet");break;case 8:if(i[1]===231)throw new Error("Unsupported Multiplan 1.x file!");break;case 12:if(i[1]===236)throw new Error("Unsupported Multiplan 2.x file!");if(i[1]===237)throw new Error("Unsupported Multiplan 3.x file!");break;}if(Jl.indexOf(i[0])>-1&&i[2]<=12&&i[3]<=31)return ql.to_workbook(n,t);return pk(e,n,t,s)}function gk(e,r){var t=r||{};t.type="file";return mk(e,t)}function bk(e,r){switch(r.type){case"base64":;case"binary":break;case"buffer":;case"array":r.type="";break;case"file":return ar(r.file,Qe.write(e,{type:C?"buffer":""}));case"string":throw new Error("'string' output type invalid for '"+r.bookType+"' files");default:throw new Error("Unrecognized type "+r.type);}return Qe.write(e,r)}function wk(e,r){switch(r.bookType){case"ods":return Hb(e,r);case"numbers":return Bw(e,r);case"xlsb":return sk(e,r);default:return fk(e,r);}}function kk(e,r){var t=Ar(r||{});var a=wk(e,t);return Tk(a,t)}function Ak(e,r){var t=Ar(r||{});var a=fk(e,t);return Tk(a,t)}function Tk(e,r){var t={};var a=C?"nodebuffer":typeof Uint8Array!=="undefined"?"array":"string";if(r.compression)t.compression="DEFLATE";if(r.password)t.type=a;else switch(r.type){case"base64":t.type="base64";break;case"binary":t.type="string";break;case"string":throw new Error("'string' output type invalid for '"+r.bookType+"' files");case"buffer":;case"file":t.type=a;break;default:throw new Error("Unrecognized type "+r.type);}var n=e.FullPaths?Qe.write(e,{fileType:"zip",type:{nodebuffer:"buffer",string:"binary"}[t.type]||t.type,compression:!!r.compression}):e.generate(t);if(typeof Deno!=="undefined"){if(typeof n=="string"){if(r.type=="binary"||r.type=="base64")return n;n=new Uint8Array(R(n))}}if(r.password&&typeof encrypt_agile!=="undefined")return bk(encrypt_agile(n,r.password),r);if(r.type==="file")return ar(r.file,n);return r.type=="string"?It(n):n}function yk(e,r){var t=r||{};var a=Yg(e,t);return bk(a,t)}function Ek(e,r,t){if(!t)t="";var a=t+e;switch(r.type){case"base64":return A(Rt(a));case"binary":return Rt(a);case"string":return e;case"file":return ar(r.file,a,"utf8");case"buffer":{if(C)return _(a,"utf8");else if(typeof TextEncoder!=="undefined")return(new TextEncoder).encode(a);else return Ek(a,{type:"binary"}).split("").map(function(e){return e.charCodeAt(0)})};}throw new Error("Unrecognized type "+r.type)}function Ck(e,r){switch(r.type){case"base64":return T(e);case"binary":return e;case"string":return e;case"file":return ar(r.file,e,"binary");case"buffer":{if(C)return _(e,"binary");else return e.split("").map(function(e){return e.charCodeAt(0)})};}throw new Error("Unrecognized type "+r.type)}function _k(e,r){switch(r.type){case"string":;case"base64":;case"binary":var t="";for(var a=0;a0)n=0;var h=Wa(l.s.r);var u=[];var d=[];var v=0,p=0;var m=e["!data"]!=null;var g=l.s.r,b=0;var w={};if(m&&!e["!data"][g])e["!data"][g]=[];var k=o.skipHidden&&e["!cols"]||[];var A=o.skipHidden&&e["!rows"]||[];for(b=l.s.c;b<=l.e.c;++b){if((k[b]||{}).hidden)continue;u[b]=$a(b);t=m?e["!data"][g][b]:e[u[b]+h];switch(a){case 1:i[b]=b-l.s.c;break;case 2:i[b]=u[b];break;case 3:i[b]=o.header[b-l.s.c];break;default:if(t==null)t={w:"__EMPTY",t:"s"};f=s=tn(t,null,o);p=w[s]||0;if(!p)w[s]=1;else{do{f=s+"_"+p++}while(w[f]);w[s]=p;w[f]=1}i[b]=f;}}for(g=l.s.r+n;g<=l.e.r;++g){if((A[g]||{}).hidden)continue;var T=Fk(e,l,g,u,a,i,o);if(T.isempty===false||(a===1?o.blankrows!==false:!!o.blankrows))d[v++]=T.row}d.length=v;return d}var Pk=/"/g;function Lk(e,r,t,a,n,i,s,f,l){var o=true;var c=[],h="",u=Wa(t);var d=e["!data"]!=null;var v=d&&e["!data"][t]||[];for(var p=r.s.c;p<=r.e.c;++p){if(!a[p])continue;var m=d?v[p]:e[a[p]+u];if(m==null)h="";else if(m.v!=null){o=false;h=""+(l.rawNumbers&&m.t=="n"?m.v:tn(m,null,l));for(var g=0,b=0;g!==h.length;++g)if((b=h.charCodeAt(g))===n||b===i||b===34||l.forceQuotes){h='"'+h.replace(Pk,'""')+'"';break}if(h=="ID"&&f==0&&c.length==0)h='"ID"'}else if(m.f!=null&&!m.F){o=false;h="="+m.f;if(h.indexOf(",")>=0)h='"'+h.replace(Pk,'""')+'"'}else h="";c.push(h)}if(l.strip)while(c[c.length-1]==="")--c.length;if(l.blankrows===false&&o)return null;return c.join(s)}function Mk(e,r){var t=[];var a=r==null?{}:r;if(e==null||e["!ref"]==null)return"";var n=en(e["!ref"]);var i=a.FS!==undefined?a.FS:",",s=i.charCodeAt(0);var f=a.RS!==undefined?a.RS:"\n",l=f.charCodeAt(0);var o="",c=[];var h=a.skipHidden&&e["!cols"]||[];var u=a.skipHidden&&e["!rows"]||[];for(var d=n.s.c;d<=n.e.c;++d)if(!(h[d]||{}).hidden)c[d]=$a(d);var v=0;for(var p=n.s.r;p<=n.e.r;++p){if((u[p]||{}).hidden)continue;o=Lk(e,n,p,c,s,l,i,v,a);if(o==null){continue}if(o||a.blankrows!==false)t.push((v++?f:"")+o)}return t.join("")}function Uk(e,r){if(!r)r={};r.FS="\t";r.RS="\n";var t=Mk(e,r);if(typeof a=="undefined"||r.type=="string")return t;var n=a.utils.encode(1200,t,"str");return String.fromCharCode(255)+String.fromCharCode(254)+n}function Bk(e,r){var t="",a,n="";if(e==null||e["!ref"]==null)return[];var i=en(e["!ref"]),s="",f=[],l;var o=[];var c=e["!data"]!=null;for(l=i.s.c;l<=i.e.c;++l)f[l]=$a(l);for(var h=i.s.r;h<=i.e.r;++h){s=Wa(h);for(l=i.s.c;l<=i.e.c;++l){t=f[l]+s;a=c?(e["!data"][h]||[])[l]:e[t];n="";if(a===undefined)continue;else if(a.F!=null){t=a.F;if(!a.f)continue;n=a.f;if(t.indexOf(":")==-1)t=t+":"+t}if(a.f!=null)n=a.f;else if(r&&r.values===false)continue;else if(a.t=="z")continue;else if(a.t=="n"&&a.v!=null)n=""+a.v;else if(a.t=="b")n=a.v?"TRUE":"FALSE";else if(a.w!==undefined)n="'"+a.w;else if(a.v===undefined)continue;else if(a.t=="s")n="'"+a.v;else n=""+a.v;o[o.length]=t+"="+n}}return o}function Wk(e,r,t){var a=t||{};var n=e?e["!data"]!=null:a.dense;if(b!=null&&n==null)n=b;var i=+!a.skipHeader;var s=e||{};if(!e&&n)s["!data"]=[];var f=0,l=0;if(s&&a.origin!=null){if(typeof a.origin=="number")f=a.origin;else{var o=typeof a.origin=="string"?Ka(a.origin):a.origin;f=o.r;l=o.c}}var c={s:{c:0,r:0},e:{c:l,r:f+r.length-1+i}};if(s["!ref"]){var h=en(s["!ref"]);c.e.c=Math.max(c.e.c,h.e.c);c.e.r=Math.max(c.e.r,h.e.r);if(f==-1){f=h.e.r+1;c.e.r=f+r.length-1+i}}else{if(f==-1){f=0;c.e.r=r.length-1+i}}var u=a.header||[],d=0;var v=[];r.forEach(function(e,r){if(n&&!s["!data"][f+r+i])s["!data"][f+r+i]=[];if(n)v=s["!data"][f+r+i];ir(e).forEach(function(t){if((d=u.indexOf(t))==-1)u[d=u.length]=t;var o=e[t];var c="z";var h="";var p=n?"":$a(l+d)+Wa(f+r+i);var m=n?v[l+d]:s[p];if(o&&typeof o==="object"&&!(o instanceof Date)){if(n)v[l+d]=o;else s[p]=o}else{if(typeof o=="number")c="n";else if(typeof o=="boolean")c="b";else if(typeof o=="string")c="s";else if(o instanceof Date){c="d";if(!a.UTC)o=Dr(o);if(!a.cellDates){c="n";o=dr(o)}h=m!=null&&m.z&&Le(m.z)?m.z:a.dateNF||q[14]}else if(o===null&&a.nullError){c="e";o=0}if(!m){if(!n)s[p]=m={t:c,v:o};else v[l+d]=m={t:c,v:o}}else{m.t=c;m.v=o;delete m.w;delete m.R;if(h)m.z=h}if(h)m.z=h}})});c.e.c=Math.max(c.e.c,l+u.length-1);var p=Wa(f);if(n&&!s["!data"][f])s["!data"][f]=[];if(i)for(d=0;d=0&&e.SheetNames.length>r)return r;throw new Error("Cannot find sheet # "+r)}else if(typeof r=="string"){var t=e.SheetNames.indexOf(r);if(t>-1)return t;throw new Error("Cannot find sheet name |"+r+"|")}else throw new Error("Cannot find sheet |"+r+"|")}function $k(e,r){var t={SheetNames:[],Sheets:{}};if(e)Xk(t,e,r||"Sheet1");return t}function Xk(e,r,t,a){var n=1;if(!t)for(;n<=65535;++n,t=undefined)if(e.SheetNames.indexOf(t="Sheet"+n)==-1)break;if(!t||e.SheetNames.length>=65535)throw new Error("Too many worksheets");if(a&&e.SheetNames.indexOf(t)>=0&&t.length<32){var i=t.match(/\d+$/);n=i&&+i[0]||0;var s=i&&t.slice(0,i.index)||t;for(++n;n<=65535;++n)if(e.SheetNames.indexOf(t=s+n)==-1)break}Fm(t);if(e.SheetNames.indexOf(t)>=0)throw new Error("Worksheet with name |"+t+"| already exists!");e.SheetNames.push(t);e.Sheets[t]=r;return t}function Gk(e,r,t){if(!e.Workbook)e.Workbook={};if(!e.Workbook.Sheets)e.Workbook.Sheets=[];var a=Vk(e,r);if(!e.Workbook.Sheets[a])e.Workbook.Sheets[a]={};switch(t){case 0:;case 1:;case 2:break;default:throw new Error("Bad sheet visibility setting "+t);}e.Workbook.Sheets[a].Hidden=t}function jk(e,r){e.z=r;return e}function Kk(e,r,t){if(!r){delete e.l}else{e.l={Target:r};if(t)e.l.Tooltip=t}return e}function Yk(e,r,t){return Kk(e,"#"+r,t)}function Zk(e,r,t){if(!e.c)e.c=[];e.c.push({t:r,a:t||"SheetJS"})}function Jk(e,r,t,a){var n=typeof r!="string"?r:en(r);var i=typeof r=="string"?r:Ja(r);for(var s=n.s.r;s<=n.e.r;++s)for(var f=n.s.c;f<=n.e.c;++f){var l=Hk(e,s,f);l.t="n";l.F=i;delete l.v;if(s==n.s.r&&f==n.s.c){l.f=t;if(a)l.D=true}}var o=Za(e["!ref"]);if(o.s.r>n.s.r)o.s.r=n.s.r;if(o.s.c>n.s.c)o.s.c=n.s.c;if(o.e.rs.e.r){if(!l){l=true;t.push(""+i)}return t.push(null)}while(f<=s.e.r){t.push(Tb(e,s,f,a));++f;break}};return t}function aA(e,r){var t=Qk({objectMode:true});if(e==null||e["!ref"]==null){t.push(null);return t}var a={t:"n",v:0},n=0,i=1,s=[],f=0,l="";var o={s:{r:0,c:0},e:{r:0,c:0}};var c=r||{};var h=c.range!=null?c.range:e["!ref"];if(c.header===1)n=1;else if(c.header==="A")n=2;else if(Array.isArray(c.header))n=3;switch(typeof h){case"string":o=en(h);break;case"number":o=en(e["!ref"]);o.s.r=h;break;default:o=h;}if(n>0)i=0;var u=Wa(o.s.r);var d=[];var v=0;var p=e["!data"]!=null;var m=o.s.r,g=0;var b={};if(p&&!e["!data"][m])e["!data"][m]=[];var w=c.skipHidden&&e["!cols"]||[];var k=c.skipHidden&&e["!rows"]||[];for(g=o.s.c;g<=o.e.c;++g){if((w[g]||{}).hidden)continue;d[g]=$a(g);a=p?e["!data"][m][g]:e[d[g]+u];switch(n){case 1:s[g]=g-o.s.c;break;case 2:s[g]=d[g];break;case 3:s[g]=c.header[g-o.s.c];break;default:if(a==null)a={w:"__EMPTY",t:"s"};l=f=tn(a,null,c);v=b[f]||0;if(!v)b[f]=1;else{do{l=f+"_"+v++}while(b[l]);b[f]=v;b[l]=1}s[g]=l;}}m=o.s.r+i;t._read=function(){while(m<=o.e.r){if((k[m-1]||{}).hidden)continue;var r=Fk(e,o,m,d,n,s,c);++m;if(r.isempty===false||(n===1?c.blankrows!==false:!!c.blankrows)){t.push(r.row);return}}return t.push(null)};return t}function nA(e,r){var t=Qk();var a=r==null?{}:r;var n=+a.stride||10;if(!e.SSF)e.SSF=Ar(q);if(e.SSF){$e();Ve(e.SSF);a.revssf=lr(e.SSF);a.revssf[e.SSF[65535]]=0;a.ssf=e.SSF;a.cellXfs=[];Tv(a.cellXfs,{},{revssf:{General:0}})}e.SheetNames.forEach(function(r){var t=e.Sheets[r];if(!t||!t["!ref"])return;var n=Za(t["!ref"]);var i=t["!data"]!=null;var s=i?t["!data"]:[];var f={r:0,c:0};for(var l=n.s.r;l<=n.e.r;++l){f.r=l;if(i&&!s[l])continue;for(var o=n.s.c;o<=n.e.c;++o){f.c=o;var c=i?s[l][o]:t[$a(o)+Wa(l)];if(!c)continue;if(c.t=="d"&&c.z==null){c=Ar(c);c.z=q[14]}void Tv(a.cellXfs,c,a)}}});var i=xg(e,a);var s=0,f=0,l=e.Sheets[e.SheetNames[f]],o=en(l),c=-1,h=false;var u=[],d=0,v=false,p=[],m={r:0,c:0};t._read=function(){switch(s){case 0:{s=1;t.push(at);t.push("")}break;case 1:{s=2;t.push(_g(e,a));t.push(Sg(e,a))}break;case 2:{s=3;t.push(i);t.push(Ig(e,a))}break;case 3:{h=false;if(f>=e.SheetNames.length){s=-1;t.push("");break}t.push("");l=e.Sheets[e.SheetNames[f]];if(!l){t.push("");return void++f}var r=Rg(l,a,f,e);if(r.length)t.push(""+r+"");if(!l["!ref"])return s=5;o=en(l["!ref"]);c=o.s.r;s=4}break;case 4:{if(c<0||c>o.e.r){if(h)t.push("");return void(s=5)}if(c<=o.s.r){if(l["!cols"])l["!cols"].forEach(function(e,r){oc(e);var a=!!e.width;var n=kv(r,e);var i={"ss:Index":r+1};if(a)i["ss:Width"]=nc(n.width);if(e.hidden)i["ss:Hidden"]="1";if(!h){h=true;t.push("")}t.push(Bt("Column",null,i))});v=l["!data"]!=null;if(v)p=l["!data"];m.r=m.c=0}for(var g=0;c<=o.e.r&&gw)continue;if(u[d].s.r>c)continue;if(u[d].e.c");if(!h){h=true;t.push("
    ")}t.push(b.join(""))}}break;case 5:{t.push(Ng(l,a,f,e));if(l&&l["!autofilter"])t.push('');t.push("");f++;c=-1;return void(s=3)};case-1:{s=-2;t.push("")}break;case-2:t.push(null);break;}};return t}var iA={to_json:aA,to_html:tA,to_csv:rA,to_xlml:nA,set_readable:eA};if(typeof Kg!=="undefined")e.parse_xlscfb=Kg;e.parse_zip=nk;e.read=mk;e.readFile=gk;e.readFileSync=gk;e.write=xk;e.writeFile=Ik;e.writeFileSync=Ik;e.writeFileAsync=Nk;e.utils=qk;e.writeXLSX=Sk;e.writeFileXLSX=Rk;e.set_fs=rr;e.set_cptable=g;e.SSF=Xe;if(typeof iA!=="undefined")e.stream=iA;if(typeof Qe!=="undefined")e.CFB=Qe;if(typeof require!=="undefined"){var sA=undefined;if((sA||{}).Readable)eA(sA.Readable);try{er=undefined}catch(au){}}}if(typeof exports!=="undefined")make_xlsx_lib(exports);else if(typeof module!=="undefined"&&module.exports)make_xlsx_lib(module.exports);else if(typeof define==="function"&&define.amd)define("xlsx",function(){if(!XLSX.version)make_xlsx_lib(XLSX);return XLSX});else make_xlsx_lib(XLSX);if(typeof window!=="undefined"&&!window.XLSX)try{window.XLSX=XLSX}catch(e){} diff --git a/cp/public/assets/js/xlsx.full.min.map b/cp/public/assets/js/xlsx.full.min.map new file mode 100644 index 0000000..80ac129 --- /dev/null +++ b/cp/public/assets/js/xlsx.full.min.map @@ -0,0 +1 @@ +{"version":3,"sources":["misc/suppress_export.js","dist/cpexcel.js","dist/xlsx.js"],"names":["DO_NOT_EXPORT_CODEPAGE","cptable","version","d","D","e","i","length","charCodeAt","charAt","enc","dec","j","split","module","exports","root","factory","require","cpt","Error","this","magic","1200","1201","12000","12001","16969","20127","65000","65001","sbcs_cache","dbcs_cache","magic_cache","magic_decode","magic_encode","cpdcache","cpecache","sfcc","x","String","fromCharCode","cca","has_buf","Buffer","Buffer_from","nbfs","from","buf","bind","allocUnsafe","n","mdl","mdb","make_EE","E","EE","keys","Object","len","ee","sbcs_encode","make_sbcs_encode","cp","sbcs_e","data","ofmt","out","w","isBuffer","slice","toString","call","sbcs_decode","make_sbcs_decode","DD","c","sbcs_d","dbcs_encode","make_dbcs_encode","f","dbcs_e","jj","k","dbcs_decode","make_dbcs_decode","dbcs_d","utf8_d","map","ww","utf8_e","direct","encache","s","null_enc","cp_decache","decache","forEach","last_enc","last_cp","cache","sbcs","dbcs","BM","SetD","encode","C","M","isstr","indexOf","tt","join","decode","F","Array","match","dash","o64","c1","c2","c3","e1","e2","e3","e4","l","push","hascp","utils","XLSX","make_xlsx_lib","current_codepage","current_ansi","$cptable","VALID_ANSI","CS2CP","0","1","2","77","128","129","130","134","136","161","162","163","177","178","186","204","222","238","255","69","set_ansi","reset_ansi","set_cp","reset_cp","char_codes","o","utf16leread","utf16lereadu","utf16beread","debom","_getchar","_gc1","_getansi","_ga1","set_cptable","_gc2","_ga2","cpdoit","DENSE","DIF_XL","Base64_map","Base64_encode","input","isNaN","Base64_encode_pass","Base64_encode_arr","Base64_decode","replace","undefined","node","buf_utf16le","new_raw_buf","alloc","Uint8Array","new_unsafe_buf","s2a","s2ab","ArrayBuffer","view","a2s","isArray","a2u","ab2a","bconcat","bufs","concat","maxlen","set","apply","utf8decode","content","widx","L","ridx","chr0","chr1","_strrev","pad0","v","t","fill","pad_","rpad_","pad0r1","Math","round","pad0r2","p2_32","pow","pad0r","SSF_isgeneral","days","months","SSF_init_table","table_fmt","3","4","9","10","11","12","13","14","15","16","17","18","19","20","21","22","37","38","39","40","45","46","47","48","49","56","SSF_default_map","5","6","7","8","23","24","25","26","27","28","29","30","31","50","51","52","53","54","55","57","58","59","60","61","62","67","68","70","71","72","73","74","75","76","78","79","80","81","82","SSF_default_str","63","64","65","66","41","42","43","44","SSF_frac","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","floor","q","SSF_normalize_xl_unsafe","toPrecision","m","Number","SSF_parse_date_code","opts","b2","date","time","dow","dout","T","u","y","H","S","abs","date1904","Date","setDate","getDate","getFullYear","getMonth","getDay","SSF_fix_hijri","SSF_strip_decimal","SSF_normalize_exp","SSF_small_exp","toFixed","toExponential","SSF_large_exp","SSF_general_num","isFinite","V","log","LOG10E","substr","toUpperCase","SSF_general","SSF_format","datenum","SSF_write_date","type","fmt","val","ss0","ss","outl","outstr","commaify","pct1","write_num_pct","sfmt","mul","write_num","write_num_cm","idx","write_num_exp","period","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","_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","SSF_split_fmt","in_str","SSF_abstime","fmt_is_date","eval_fmt","flen","lst","dt","hr","toLowerCase","bt","ssm","_dt","nstr","vv","myv","ostr","decpt","lasti","retval","cfregex2","chkcond","thresh","parseFloat","choose_fmt","lat","m1","m2","dateNF","table","SSF_load","SSF_load_table","tbl","make_ssf","SSF","format","load","_table","load_table","parse_date_code","is_date","get_table","SSFImplicit","32","33","34","35","36","dateNFregex","dateNF_regex","lastIndex","RegExp","dateNF_fix","Y","datestr","timestr","bad_formats","d.m","SSF__load","CRC32","signed_crc_table","Int32Array","T0","slice_by_16_tables","subarray","TT","T1","T2","T3","T4","T5","T6","T7","T8","T9","Ta","Tb","Tc","Td","Te","Tf","crc32_bstr","bstr","seed","crc32_buf","crc32_str","CFB","_CFB","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","sz1","sz2","usz","csz","fs","get_fs","_fs","parse","file","options","parse_zip","parse_mad","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","shift","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","seen","minifat_store","namelen","__utf16le","color","clsid","state","ct","read_date","storage","offset","__readUInt32LE","read_file","readFileSync","read","init_cfb","cfb","CLSID","seed_cfb","nm","find","rebuild_cfb","gc","_file","pop","now","fullPaths","create","HEADER_CLSID","sort","elt","_write","_opts","fileType","write_mad","write_zip","mini_size","fat_size","mini_cnt","mfat_cnt","fat_base","fat_cnt","difat_cnt","HEADER_SIG","chainit","consts","DIFSECT","FATSECT","_nm","console","error","copy","path","UCFullPaths","UCPaths","UCPath","MAXREGSECT","FREESECT","HEADER_MINOR_VERSION","MAXREGSID","NOSTREAM","EntryTypes","write_file","writeFileSync","write","_zlib","use_zlib","zlib","InflateRaw","InflRaw","_processChunk","_finishFlushFlag","bytesRead","message","_inflateRawSync","_inflate","_deflateRawSync","deflateRawSync","_deflate","CLEN_ORDER","LEN_LN","DST_LN","bit_swap_8","use_typed_arrays","bitswap8","bit_swap_n","b","rev","read_bits_2","bl","h","read_bits_3","read_bits_4","read_bits_5","read_bits_7","read_bits_n","write_bits_3","write_bits_1","write_bits_8","write_bits_16","realloc","a","zero_fill_array","build_tree","clens","cmap","MAX","ccode","bl_count","Uint16Array","ctree","cleni","fix_lmap","fix_dmap","dlens","_deflateRaw","_deflateRawIIFE","DST_LN_RE","LEN_LN_RE","write_stored","boff","write_huff_fixed","addrs","hash","mlen","len_eb","dst_eb","off","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","dst","warn_or_throw","wrn","msg","fcnt","start_cd","efsz","fcsz","EF","parse_local_file","meth","crc32","_csz","_usz","ef","cfb_add","unsafe","cdirs","method","compression","desc","fp","fi","crcs","sz_cd","namebuf","ContentTypeMap","htm","xml","gif","jpg","png","mso","thmx","sh33tj5","get_content_type","ctype","ext","write_base64_76","write_quoted_printable","text","encoded","si","end","tmp","parse_quoted_printable","di","line","oi","parse_mime","fname","cte","fdata","trim","row","test","mboundary","boundary","start_di","ca","cstr","dispcnt","csl","qp","cfb_new","fpath","cfb_gc","cfb_del","splice","cfb_mov","old_name","new_name","writeFile","ReadShift","CheckField","_inflateRaw","set_fs","blobify","write_dl","Deno","TextEncoder","utf8write","IE_SaveFile","Blob","navigator","msSaveBlob","saveAs","URL","document","createElement","createObjectURL","url","chrome","downloads","download","revokeObjectURL","setTimeout","href","body","appendChild","click","removeChild","b64","$","File","Folder","open","encoding","close","read_binary","infile","ks","o2","prototype","hasOwnProperty","evert_key","obj","key","K","evert","evert_num","evert_arr","dnthresh","UTC","dnthresh1","dnthresh2","epoch","getTime","res","numdate","setTime","parse_isodur","sec","pdre1","pdre2","pdre3","parseDate","cc2str","arr","debomit","TextDecoder","€","‚","ƒ","„","…","†","‡","ˆ","‰","Š","‹","Œ","Ž","‘","’","“","”","•","–","—","˜","™","š","›","œ","ž","Ÿ","dup","JSON","stringify","fuzzynum","NaN","wt","FDRE1","FDRE2","FDISO","utc_append_works","valueOf","fuzzytime1","fuzzytime2","lower_months","fuzzydate","local_to_utc","lower","lnos","getYear","split_regex","safe_split_regex","re","def","utc_to_local","utc","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","local","getMilliseconds","remove_doctype","preamble","index","str_match_ng","ei","str_remove_ng","last","xml_boundary"," ","\t","\r","\n",">","str_match_xml","tag","sf","et","str_match_xml_ns","str_match_xml_ns_cache","exec","str_match_xml_ns_g","str_remove_xml_ns_g","str_remove_xml_ns_cache","str_match_xml_ig","getdatastr","asNodeBuffer","asBinary","_data","getContent","getdatabin","getdata","safegetzipfile","zip","g","getzipfile","getzipdata","safe","getzipstr","getzipbin","zipentries","zip_add_file","zip_new","zip_read","resolve_path","result","target","step","XML_HEADER","attregexg","tagregex1","tagregex2","tagregex","nsregex","nsregex2","parsexmltag","skip_root","skip_LC","z","eq","quot","parsexmltagraw","strip_ns","encodings",""","'",">","<","&","rencoding","unescapexml","encregex","coderegex","raw_unescapexml","xlsx","decregex","charegex","escapexml","escapexmltag","htmlcharegex","escapehtml","escapexlml","xlml_fixstr","entregex","entrepl","xlml_unfixstr","parsexmlbool","value","utf8reada","orig","utf8readb","utf8readc","utf8corpus","utf8read","htmldecode","entities","vtvregex","vtmregex","parseVector","matches","baseType","WTF","wtregex","writetag","wxt_helper","writextag","write_w3cdtf","toISOString","write_vt","xlml_normalize","xlmlregex","XMLNS","CORE_PROPS","CUST_PROPS","EXT_PROPS","CT","RELS","TCMNT","dc","dcterms","dcmitype","mx","sjs","vt","xsi","xsd","XMLNS_main","XLMLNS","html","read_double_le","Infinity","write_double_le","bs","av","LN2","___toBuffer","___utf16le","__readUInt16LE","___hexlify","__hexlify","___utf8","__readUInt8","__utf8","utf8_b","___lpstr","__lpstr","___cpstr","__cpstr","___lpwstr","__lpwstr","___lpp4","lpp4_","__lpp4","___8lpp4","__8lpp4","___double","__double","is_buf","is_buf_a","lpstr_b","readUInt32LE","cpstr_b","lpwstr_b","lpp4_b","lpp4_8b","double_","readDoubleLE","is_buf_b","__readInt16LE","__readInt32BE","oI","oR","oo","loc","lens","__writeUInt32LE","__writeInt32LE","__writeUInt16LE","WriteShift","cpp","hexstr","fld","pos","parsenoop","recordhopper","cb","tmpbyte","cntbyte","RT","XLSBRecordEnum","buf_array","blksz","has_buf_copy","newblk","ba_newblk","curbuf","endbuf","ba_endbuf","next","ba_next","ba_end","end2","ba_push","_bufs","write_record","ba","shift_cell_xls","cell","cRel","rRel","biff","shift_range_xls","range","encode_cell_xls","encode_cell","fix_col","fix_row","encode_range_xls","encode_col","encode_row","decode_row","rowstr","unfix_row","decode_col","colstr","unfix_col","col","split_cell","decode_cell","decode_range","encode_range","cs","ce","fix_range","a1","formula_quote_sheet_name","sname","safe_decode_range","safe_format_cell","XF","numFmtId","format_cell","BErr","sheet_to_workbook","sheet","sheets","SheetNames","Sheets","sheet_new","dense","sheet_add_aoa","_ws","ws","!data","_R","_C","origin","_origin","_range","__R","data_R","__C","nullError","sheetStubs","cellDates","cell_ref","aoa_to_sheet","parse_Int32LE","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_XLSBShortCell","write_XLSBShortCell","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","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","parse_ClipboardFormatOrAnsiString","parse_ClipboardFormatOrUnicodeString","VT_I2","VT_I4","VT_BOOL","VT_VARIANT","VT_UI4","VT_FILETIME","VT_BLOB","VT_CF","VT_VECTOR_VARIANT","VT_VECTOR_LPSTR","VT_STRING","VT_USTR","VT_CUSTOM","DocSummaryPIDDSI","2147483648","2147483651","1919054434","SummaryPIDSI","CountryEnum","84","86","90","105","213","216","218","351","354","358","420","886","961","962","963","964","965","966","971","972","974","981","65535","XLSFillPattern","rgbify","_XLSIcv","RBErr","#NULL!","#DIV/0!","#VALUE!","#REF!","#NAME?","#NUM!","#N/A","#GETTING_DATA","#WTF?","XLSLblBuiltIn","ct2type","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml","application/vnd.ms-excel.sheet.macroEnabled.main+xml","application/vnd.ms-excel.sheet.binary.macroEnabled.main","application/vnd.ms-excel.addin.macroEnabled.main+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml","application/vnd.ms-excel.worksheet","application/vnd.ms-excel.binIndexWs","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml","application/vnd.ms-excel.chartsheet","application/vnd.ms-excel.macrosheet+xml","application/vnd.ms-excel.macrosheet","application/vnd.ms-excel.intlmacrosheet","application/vnd.ms-excel.binIndexMs","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml","application/vnd.ms-excel.dialogsheet","application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml","application/vnd.ms-excel.sharedStrings","application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml","application/vnd.ms-excel.styles","application/vnd.openxmlformats-package.core-properties+xml","application/vnd.openxmlformats-officedocument.custom-properties+xml","application/vnd.openxmlformats-officedocument.extended-properties+xml","application/vnd.openxmlformats-officedocument.customXmlProperties+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml","application/vnd.ms-excel.comments","application/vnd.ms-excel.threadedcomments+xml","application/vnd.ms-excel.person+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml","application/vnd.ms-excel.sheetMetadata","application/vnd.ms-excel.pivotTable","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml","application/vnd.openxmlformats-officedocument.drawingml.chart+xml","application/vnd.ms-office.chartcolorstyle+xml","application/vnd.ms-office.chartstyle+xml","application/vnd.ms-office.chartex+xml","application/vnd.ms-excel.calcChain","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings","application/vnd.ms-office.activeX","application/vnd.ms-office.activeX+xml","application/vnd.ms-excel.attachedToolbars","application/vnd.ms-excel.connections","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml","application/vnd.ms-excel.externalLink","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml","application/vnd.ms-excel.pivotCacheDefinition","application/vnd.ms-excel.pivotCacheRecords","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml","application/vnd.ms-excel.queryTable","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml","application/vnd.ms-excel.userNames","application/vnd.ms-excel.revisionHeaders","application/vnd.ms-excel.revisionLog","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml","application/vnd.ms-excel.tableSingleCells","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml","application/vnd.ms-excel.slicer","application/vnd.ms-excel.slicerCache","application/vnd.ms-excel.slicer+xml","application/vnd.ms-excel.slicerCache+xml","application/vnd.ms-excel.wsSortMap","application/vnd.ms-excel.table","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml","application/vnd.openxmlformats-officedocument.theme+xml","application/vnd.openxmlformats-officedocument.themeOverride+xml","application/vnd.ms-excel.Timeline+xml","application/vnd.ms-excel.TimelineCache+xml","application/vnd.ms-office.vbaProject","application/vnd.ms-office.vbaProjectSignature","application/vnd.ms-office.volatileDependencies","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml","application/vnd.ms-excel.controlproperties+xml","application/vnd.openxmlformats-officedocument.model+data","application/vnd.ms-excel.Survey+xml","application/vnd.openxmlformats-officedocument.drawing+xml","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml","application/vnd.openxmlformats-officedocument.vmlDrawing","application/vnd.openxmlformats-package.relationships+xml","application/vnd.openxmlformats-officedocument.oleObject","image/png","CT_LIST","workbooks","xlsm","xlsb","xlam","xltx","strs","comments","charts","dialogs","macros","metadata","styles","new_ct","rels","threadedcomments","links","coreprops","extprops","custprops","themes","calcchains","vba","drawings","people","TODO","xmlns","parse_ct","ctext","Extension","ContentType","PartName","calcchain","sst","style","defaults","write_ct","type2ct","xmlns:xsd","xmlns:xsi","f1","bookType","f2","f3","WB","SHEET","HLINK","VML","XPATH","XMISS","XLINK","CXML","CXMLP","CMNT","SST","STY","THEME","CHART","CHARTEX","CS","WS","DS","MS","IMG","DRAW","XLMETA","PEOPLE","CONN","VBA","get_rels_path","parse_rels","currentFilePath","!id","rel","Type","Target","Id","TargetMode","canonictarget","write_rels","rid","add_rels","rId","relobj","targetmode","CT_ODS","parse_manifest","Rn","FEtag","write_manifest","manifest","write_rdf_type","write_rdf_has","write_rdf","rdf","write_meta_ods","wb","parse_core_props","cur","cp_doit","write_core_props","xmlns:cp","xmlns:dc","xmlns:dcterms","xmlns:dcmitype","Props","CreatedDate","xsi:type","ModifiedDate","PseudoPropsPairs","load_props_pairs","HP","TOP","props","hp","parts","Worksheets","NamedRanges","DefinedNames","Chartsheets","ChartNames","parse_ext_props","HeadingPairs","TitlesOfParts","write_ext_props","W","Application","xmlns:vt","custregex","parse_cust_props","toks","warn","write_cust_props","pid","custprop","fmtid","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","dt:dt","parse_FILETIME","dwLowDateTime","dwHighDateTime","write_FILETIME","parse_lpstr","pad","parse_lpwstr","parse_VtStringBase","stringType","parse_VtString","parse_VtUnalignedString","parse_VtVecLpwstrValue","ret","parse_VtVecUnalignedLpstrValue","parse_VtHeadingPair","headingString","parse_TypedPropertyValue","headerParts","parse_VtVecHeadingPairValue","cElements","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","unshift","pinfo","parse_PropertySetStream","NumSets","FMTID0","FMTID1","Offset0","Offset1","SystemIdentifier","PSet0","rval","FMTID","PSet1","write_PropertySetStream","entries2","clsid2","ps0","ps1","parsenoop2","writezeroes","parslurp","writebool","parseuint16","writeuint16","parseuint16a","parse_Bes","write_Bes","parse_ShortXLUnicodeString","cch","fHighByte","parse_XLUnicodeRichExtendedString","fExtSt","fRichSt","width","cRun","cbExtRst","write_XLUnicodeRichExtendedString","xlstr","nfmts","otext","parse_XLUnicodeStringNoCch","parse_XLUnicodeString","parse_XLUnicodeString2","write_XLUnicodeString","parse_ControlInfo","accel","parse_URLMoniker","extra","parse_FileMoniker","cAnti","ansiPath","unicodePath","parse_HyperlinkMoniker","parse_HyperlinkString","write_HyperlinkString","parse_Hyperlink","sVer","displayName","targetFrameName","moniker","oleMoniker","Loc","guid","fileTime","Tooltip","write_Hyperlink","hl","hashidx","Pretarget","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","parse_InterfaceHdr","parse_WriteAccess","UserName","write_WriteAccess","b8","parse_WsBool","fDialog","fBelow","fRight","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","biffguess","write_Label","parse_Format","fmtstr","write_Format","parse_BIFF2Format","write_BIFF2Format","write_BIFF4Format","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_BIFF2XF","write_BIFF2XF","xf","write_BIFF3XF","write_BIFF4XF","parse_BIFF3XF","parse_BIFF4XF","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","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","cmnt","write_NOTE_BIFF2","parse_MergeCells","merges","cmcs","write_MergeCells","parse_Obj","parse_BIFF5Obj","cmo","parse_BIFF5OT","parse_TxO","texts","lastobj","controlInfo","cchText","parse_HLink","hlink","write_HLink","O","parse_HLinkTooltip","wzTooltip","write_HLinkTooltip","parse_Country","write_Country","parse_ClrtClient","ccv","parse_Palette","parse_XFCRC","cxfs","crc","parse_ColInfo","coldx","write_ColInfo","parse_Setup","footer","parse_ShtProps","area","write_RRTabId","parse_Blank","parse_Scl","parse_String","parse_ImData","env","lcb","write_BIFF2Cell","ifmt","parse_BIFF2STR","parse_BIFF2NUM","num","write_BIFF2NUM","parse_BIFF2INT","write_BIFF2INT","parse_BIFF2STRING","parse_BIFF2BOOLERR","bestart","parse_BIFF2FONTXTRA","parse_RString","parse_BIFF4SheetInfo","DBF_SUPPORTED_VERSIONS","DBF","dbf_codepage_map","100","101","102","103","104","106","107","120","121","122","123","124","125","126","150","151","152","200","201","202","203","87","88","89","108","135","dbf_reverse_map","dbf_to_aoa","memo","vfp","l7","nrow","fpos","rlen","current_cp","codepage","fields","field","hend","hi","lo","sheetRows","dbf_to_sheet","wch","dbf_to_workbook","_RLEN","?","","sheet_to_dbf","old_cp","aoa","sheet_to_json","headers","cols","hcnt","coltypes","colwidths","coldecimals","guess","_guess","hf","_f","hb","rout","_n","_l","_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","B ","!","\"","#","(","%","'","H ","+",";","<","=","{","sylk_char_regex","sylk_char_fn","_","decode_sylk_char","newcc","encode_sylk_str","sylk_to_aoa","sylk_to_aoa_str","records","rj","formats","next_cell_format","sht","rowinfo","colinfo","cw","Mval","Workbook","WBProps","Names","rstr","record","d1904","nn","Sheet","Ref","rc_to_a1","C_seen_K","C_seen_X","C_seen_S","C_seen_E","formula","cell_t","cellText","shrbase","shift_formula_str","F_seen","hpx","pt2px","process_col","sylk_to_workbook","aoasht","outwb","write_ws_cell_sylk","a1_to_rc","write_ws_cmnt_sylk","write_ws_cols_sylk","rec","wpx","width2px","px2char","write_ws_rows_sylk","rows","px2pt","sheet_to_sylk","_formats","RS","_lastfmt","DIF","dif_to_aoa","dif_to_aoa_str","dif_to_sheet","dif_to_workbook","make_value","make_value_str","sheet_to_dif","_DIF_XL","ETH","eth_to_aoa","eth_to_sheet","eth_to_workbook","sep","meta","sheet_to_eth_data","coord","sheet_to_eth","PRN","set_text_arr","prn_to_aoa_str","lines","guess_seps","guess_sep_weights","guess_sep","instr","dsv_to_sheet_str","FS","sepcc","startcc","_re","finish_cell","fuzzyfmla","news","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","LOTUS_DATE_FMTS","next_n","sidx","snames","realnames","sdata","refguess","lastcell","qpw_to_workbook_buf","vers","qpro","works","works2","tmpcell","WK3Enum","osheets","rnames","!ref","sheet_to_wk1","write_biff_rec","write_BOF_WK1","write_RANGE","max_R","write_INTEGER","write_NUMBER","write_LABEL","book_to_wk3","write_BOF_WK3","write_XFORMAT_SHEETNAME","wsidx","write_NUMBER_17","write_LABEL_16","wscnt","parse_RANGE","parse_cell","get_wk1_fmt","parse_LABEL","parse_STRING","parse_INTEGER","parse_NUMBER","parse_FORMULA","wk1_fmla_to_csf","wk1_parse_rc","FuncTab","83","109","111","BinOpTab","argc","argL","argR","args","parse_cell_3","parse_LABEL_16","parse_NUMBER_18","parse_NUMBER_17","v1","v2","log2","parse_FORMULA_19","parse_NUMBER_25","parse_NUMBER_27","parse_FORMULA_28","parse_SHEETNAMECS","parse_SHEETNAMELP","parse_SHEETINFOQP","parse_XFORMAT","21506","142","147","153","154","155","156","174","175","176","184","185","187","188","195","205","206","207","208","256","259","260","261","262","263","265","266","267","268","270","271","384","389","390","393","396","512","514","513","516","517","640","641","642","643","644","645","646","647","648","658","659","660","661","662","665","666","768","772","1537","1600","1602","1793","1794","1795","1796","1920","2048","2049","2052","2688","10998","12849","28233","28484","QPWNFTable","288","304","320","parse_qpw_str","formulae","FMTS","book_append_sheet","CC","fmtidx","delta","newcell","parse_rpr","rpr","pass","uval","family","valign","parse_rs","parse_r","rregex","rend","rs","filter","rs_to_html","parse_rs_factory","nlregex","parse_rpr2","intro","outro","align","r_to_html","terms","sitregex","sirregex","parse_si","cellHTML","sstr1","sstr2","parse_sst_xml","count","uniqueCount","straywsregex","write_sst_xml","bookSST","sitag","parse_BrtBeginSst","parse_sst_bin","hopper_sst","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","xml_agile","encryptedHmacKey","encryptedHmacValue","encs","uri","parse_RC4CryptoHeader","EncryptionVersionInfo","EncryptionHeader","EncryptionVerifier","parse_RC4Header","EncryptedVerifier","EncryptedVerifierHash","crypto_CreatePasswordVerifier_Method1","Password","PasswordArray","PasswordDecoded","PasswordByte","Intermediate1","Intermediate2","Intermediate3","crypto_CreateXorArray_Method1","PadArray","InitialCode","XorMatrix","Ror","Byte","XorRor","byte1","byte2","CreateXorKey_Method1","XorKey","CurrentElement","Char","password","Index","ObfuscationArray","Temp","PasswordLastChar","PadIndex","crypto_DecryptData_Method1","Data","XorArrayIndex","XorArray","Value","crypto_MakeXorDecryptor","parse_XORObfuscation","verificationBytes","insitu","parse_FilePassHeader","Info","parse_FilePass","rtf_to_sheet","rtf_to_sheet_str","rowtf","rtfre","last_index","rtf_to_workbook","sheet_to_rtf","hex2RGB","rgb2HSL","G","H6","L2","hsl2RGB","hsl","h6","X","rgb_tint","hex","DEF_MDW","MAX_MDW","MIN_MDW","MDW","px","char2width","chr","cycle_width","collw","find_mdw_colw","_MDW","coll","customWidth","DEF_PPI","PPI","pt","XLMLPatternTypeMap","None","Solid","Gray50","Gray75","Gray25","HorzStripe","VertStripe","ReverseDiagStripe","DiagStripe","DiagCross","ThickDiagCross","ThinHorzStripe","ThinVertStripe","ThinReverseDiagStripe","ThinHorzCross","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","CellXf","alignment","vertical","horizontal","textRotation","indent","wrapText","write_cellXfs","cellXfs","parse_sty_xml","make_pstyx","write_sty_xml","parse_BrtFmt","stFmtCode","write_BrtFmt","parse_BrtFont","bls","bCharSet","charset","write_BrtFont","sss","XLSBFillPTNames","rev_XLSBFillPTNames","parse_BrtFill","write_BrtFill","fls","parse_BrtXF","ixfeParent","write_BrtXF","flow","write_Blxf","parse_BrtBorder","write_BrtBorder","write_BrtStyle","xfId","builtinId","write_BrtBeginTableStyles","defTableStyle","defPivotStyle","parse_sty_bin","hopper_sty","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","XLSXThemeClrScheme","parse_clrScheme","lastClr","parse_fontScheme","parse_fmtScheme","parse_themeElements","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","update_xfext","xfext","xfe","parse_BrtMdtinfo","write_BrtMdtinfo","parse_BrtMdb","write_BrtMdb","write_BrtBeginEsfmd","parse_BrtBeginEsmdb","write_BrtBeginEsmdb","cm","parse_xlmeta_bin","Types","Cell","metatype","write_xlmeta_bin","parse_xlmeta_xml","lastmeta","offsets","write_xlmeta_xml","parse_cc_xml","parse_BrtCalcChainItem$","parse_cc_bin","hopper_cc","parse_xlink_xml","parse_xlink_bin","xlink_parse","parse_drawing","parse_vml","cidx","aidx","ObjectType","ws_get_cell_stub","write_vml","csize","bbox","xmlns:v","xmlns:o","xmlns:x","xmlns:mv","v:ext","_shapeid","_comments","joinstyle","gradientshapeok","o:connecttype","coordsize","o:spt","write_vml_comment","fillopts","color2","angle","fillparm","fillxml","shadata","on","obscured","fillcolor","strokecolor","sheet_insert_comments","threaded","author","parse_comments_xml","authors","commentList","authtag","cmnttag","authorId","textMatch","write_comments_xml","iauthor","ID","lastauthor","ts","tcnt","parse_tcmnt_xml","tidx","xml_tcmnt","personId","write_tcmnt_xml","carr","rootid","tcopts","tcid","parentId","parse_people_xml","displayname","write_people_xml","person","userId","providerId","parse_BrtBeginComment","rfx","write_BrtBeginComment","parse_BrtCommentAuthor","write_BrtCommentAuthor","parse_comments_bin","hopper_cmnt","write_comments_bin","_ia","CT_VBA","make_vba_xls","newcfb","newpath","fill_vba_xls","VBAFMTS","parse_ds_bin","!type","parse_ds_xml","parse_ms_bin","parse_ms_xml","rcregex","rcbase","rcfunc","fstr","crefregex","$0","$4","$5","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","96","97","98","99","110","91","92","93","Ptg18","Ptg19","parse_RgbExtra","parse_Rgce","ptgs","stringify_array","PtgBinOp","PtgAdd","PtgConcat","PtgDiv","PtgEq","PtgGe","PtgGt","PtgLe","PtgLt","PtgMul","PtgNe","PtgPower","PtgSub","make_3d_range","get_ixti_raw","supbooks","XTI","SID","get_ixti","ixtiraw","stringify_formula","stack","nameidx","last_sp","sp","fflen","func","lbl","names","xlfn","bookidx","externbook","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","write_XLSBFormulaNum","oint","write_XLSBFormulaErr","write_XLSBFormulaBool","write_XLSBFormulaStr","postamble","write_XLSBFormulaRef","write_XLSBFormulaRef3D","lastbang","write_XLSBFormulaRefErr3D","write_XLSBFormulaRange","_str","write_XLSBFormulaRangeWS","write_XLSBFormulaArea3D","write_XLSBFormula","write_XLSBNameParsedFormula","85","94","95","112","113","114","115","116","117","118","119","127","131","132","133","137","138","139","140","143","144","145","146","148","149","159","164","166","167","168","169","170","171","172","173","189","190","191","192","193","194","196","197","198","199","209","210","211","212","214","215","217","219","220","223","224","225","226","227","228","229","240","243","249","250","251","252","253","254","269","272","273","274","276","277","278","279","280","281","282","283","284","285","289","290","291","292","293","295","296","297","298","302","305","306","307","308","309","310","311","312","313","314","315","316","318","319","321","322","323","324","325","328","330","336","338","339","342","343","344","350","352","355","356","370","373","374","375","376","377","378","379","380","381","382","383","385","386","388","391","392","394","395","397","398","399","400","412","413","414","415","416","417","421","422","423","424","425","430","431","432","433","434","435","436","437","438","439","440","441","442","443","444","445","446","447","448","449","450","451","452","453","454","455","456","458","459","460","461","462","463","464","465","466","467","468","469","470","471","472","473","474","475","476","477","478","480","481","482","485","489","491","493","494","495","509","510","511","518","519","520","521","522","523","545","546","547","548","549","620","621","653","667","673","753","755","808","141","157","158","160","165","179","180","181","182","183","221","230","231","232","233","234","235","236","237","239","241","242","244","245","246","247","248","257","258","264","275","286","287","294","299","300","301","303","317","326","327","329","331","332","334","335","337","340","341","345","346","347","348","349","353","357","359","360","361","362","363","364","365","366","367","368","369","371","372","387","401","402","403","404","405","406","407","408","409","410","411","418","419","426","427","428","429","457","724","479","483","484","ods_to_csf_formula","csf_to_ods_formula","ods_to_csf_3D","csf_to_ods_3D","_ssfopts","browser_has_Map","Map","get_sst_id","has","revarr","get","col_obj_w","outlineLevel","default_margins","margins","mode","defs","left","right","top","bottom","get_cell_style","revssf","ssf","applyNumberFormat","safe_format","fillid","raw_rgb","check_ws","parse_ws_xml_dim","mergecregex","hlinkregex","dimregex","colregex","afregex","marginregex","sheetprregex","parse_ws_xml","data1","data2","mtch","sheetPr","parse_ws_xml_sheetpr","parse_ws_xml_sheetpr2","nodim","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","outlineprops","summaryBelow","summaryRight","above","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","sviewregex","Views","zoomScale","zoom","rightToLeft","write_ws_xml_sheetviews","sview","workbookViewId","write_ws_xml_cell","oldt","oldv","_vv","Strings","revStrings","display","cellregex","rowregex","refregex","cells","cref","tagr","tagc","sstr","ftag","do_format","rowobj","rowrite","marr","marrlen","xlen","rstarti","outa","ht","rslice","cellFormula","___f","_tag","xlmeta","_r","write_ws_xml_data","params","height","_cell","customHeight","write_ws_xml","xmlns:r","rdata","_drawing","sheetFormat","defaultRowHeight","baseColWidth","outlineLevelRow","relc","ignoreEC","numberStoredAsText","sqref","r:id","parse_BrtRowHdr","write_BrtRowHdr","ncolspan","lcs","caddr","first","write_row_header","parse_BrtWsDim","write_BrtWsDim","parse_BrtWsFmtInfo","parse_BrtWsProp","write_BrtWsProp","parse_BrtCellBlank","write_BrtCellBlank","ncell","parse_BrtShortBlank","write_BrtShortBlank","parse_BrtCellBool","fBool","write_BrtCellBool","parse_BrtShortBool","write_BrtShortBool","parse_BrtCellError","bError","write_BrtCellError","parse_BrtShortError","write_BrtShortError","parse_BrtCellIsst","write_BrtCellIsst","parse_BrtShortIsst","write_BrtShortIsst","parse_BrtCellReal","write_BrtCellReal","parse_BrtShortReal","write_BrtShortReal","parse_BrtCellRk","write_BrtCellRk","parse_BrtShortRk","write_BrtShortRk","parse_BrtCellRString","parse_BrtCellSt","write_BrtCellSt","parse_BrtShortSt","write_BrtShortSt","parse_BrtFmlaBool","parse_BrtFmlaError","parse_BrtFmlaNum","parse_BrtFmlaString","parse_BrtMergeCell","write_BrtMergeCell","write_BrtBeginMergeCells","parse_BrtHLink","relId","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","vm","ws_parse","RR","aii","_d","write_ws_bin_cell","last_seen","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","parse_cs_xml","!drawel","!rel","parse_BrtCsProp","parse_cs_bin","cs_parse","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","push_defaults_array","push_defaults","parse_wb_defaults","CalcPr","WBView","safe1904","badchars","check_ws_name","check_wb_names","N","codes","cn","check_wb","dn","wbnsregex","parse_wb_xml","dname","dnstart","xml_wb","Hidden","Comment","localSheetId","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","write_BrtName","parse_wb_bin","hopper_wb","write_BUNDLESHS","viz","write_BrtFileVersion","write_BrtBookView","write_BOOKVIEWS","vistab","write_BRTNAMES","write_SELF_EXTERNS_xlsb","write_EXTERNALS_xlsb","write_wb_bin","parse_wb","parse_ws","parse_cs","parse_ms","parse_ds","parse_sty","parse_sst","parse_cmnt","parse_cc","parse_xlink","parse_xlmeta","attregexg2","attregex2","xlml_parsexmltag","words","xlml_parsexmltagobj","XLMLFormatMap","xlml_format","xlml_set_custprop","oval","safe_format_xlml","process_style_xlml","stag","Interior","I","Pattern","parse_xlml_data","csty","sid","StyleID","interiors","ssid","Parent","Formula","ArrayRange","xlml_prefix_dname","xlml_clean_comment","parse_xlml_xml","opening","ishtml","_o","html_to_workbook","General Number","General Date","Long Date","Medium Date","Short Date","Long Time","Medium Time","Short Time","Currency","Fixed","Standard","Percent","Scientific","Yes/No","True/False","On/Off","sheetnames","cursheet","sheetname","dtag","didx","fidx","pidx","cstys","wsprops","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","ss:Format","ss:ID","write_name_xlml","ss:Name","ss:RefersTo","write_names_xlml","write_ws_xlml_names","write_ws_xlml_wsopts","x:Margin","x:Bottom","x:Left","x:Right","x:Top","objects","scenarios","selectLockedCells","selectUnlockedCells","write_ws_xlml_comment","write_ws_xlml_cell","attr","mi","_v","write_ws_xlml_row","write_ws_xlml_table","ss:Index","skip","write_ws_xlml","write_xlml","General","xmlns:ss","xmlns:dt","xmlns:html","parse_compobj","AnsiUserType","AnsiClipboardFormat","Reserved1","UnicodeClipboardFormat","Reserved2","CONTINUE_RT","slurp","RecordType","nextrt","XLSRecordEnum","ll","safe_format_xf","make_cell","parse_workbook","Directory","last_formula","cur_sheet","Preamble","last_cell","rngC","rngR","temp_val","country","XFs","palette","biff4w","get_rgb","getrgb","process_cell_style","pcs","xfd","addcell","file_depth","afi","rrtabid","lastuser","winlocked","wtf","last_RT","BIFF2Fmt","BIFF2FmtTable","FilterDatabases","last_lbl","seen_codepage","Date1904","WriteProtect","cpval","CalcRefMode","FullCalc","ExternCount","tmpri","1033","1024","1280","1536","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","DSEntries","SEntries","CEntries","Keys","DocSummaryRE","SummaryRE","CEntries2","parse_xlscfb","CompObj","WorkbookP","bookVBA","bookFiles","write_xlscfb","wbpath","write_biff_buf","333","486","487","488","490","492","496","497","498","499","500","501","502","503","504","505","506","507","508","515","524","525","526","527","528","529","530","531","532","533","534","535","536","537","538","539","540","541","542","550","551","552","553","554","555","556","557","558","559","560","561","562","564","565","566","569","570","572","573","574","577","578","579","580","581","582","583","584","585","586","587","588","589","590","591","592","593","594","595","596","597","598","599","600","601","602","603","604","605","606","607","608","609","610","611","612","613","614","615","616","617","618","619","625","626","627","628","629","630","631","632","633","634","635","636","637","638","639","649","650","651","652","654","655","656","657","663","664","668","669","671","672","674","675","676","677","678","679","680","681","1025","1026","1027","1028","1029","1030","1031","1032","1034","1035","1036","1037","1038","1039","1040","1041","1042","1043","1044","1045","1046","1047","1048","1049","1050","1051","1052","1053","1054","1055","1056","1057","1058","1059","1061","1062","1063","1064","1065","1066","1067","1068","1069","1070","1071","1072","1073","1075","1076","1077","1078","1079","1080","1081","1082","1083","1084","1085","1086","1087","1088","1089","1090","1091","1092","1093","1094","1095","1096","1097","1098","1099","1100","1101","1102","1103","1104","1105","1111","1112","1113","1114","1115","1116","1117","1118","1119","1120","1121","1122","1123","1124","1125","1126","1128","1129","1130","1131","1132","1133","1134","1135","1136","1137","1138","1139","1140","1141","1142","1143","1144","1145","1146","1147","1148","1149","1150","1152","1153","1154","1155","1156","1157","1158","1159","1160","1161","1162","1163","1164","1165","1166","1167","1168","1169","1170","1171","1172","1173","1177","1178","1180","1181","1182","2050","2051","2053","2054","2055","2056","2057","2058","2060","2067","2068","2069","2070","2071","2072","2073","2075","2076","2077","2078","2079","2080","2081","2082","2083","2084","2085","2086","2087","2088","2089","2090","2091","2092","2093","2094","2095","2096","2097","2098","2099","2100","2101","2102","2103","2104","2105","2106","2107","2108","2109","2110","2111","2112","2113","2114","2115","2116","2117","2118","2119","2120","2121","2122","2123","2124","2125","2126","2127","2128","2129","2130","2131","2132","2133","2134","2135","2136","2137","2138","2139","2140","2141","3072","3073","4096","4097","5002","5003","5081","5082","5083","5084","5085","5086","5087","5088","5089","5090","5092","5093","5094","5095","5096","5097","5099","1212","2059","2061","2062","2063","2064","2066","2146","2147","2148","2149","2150","2151","2152","2154","2155","2156","2161","2162","2164","2165","2166","2167","2168","2169","2170","2171","2172","2173","2174","2175","2180","2181","2182","2183","2184","2185","2186","2187","2188","2189","2190","2191","2192","2194","2195","2196","2197","2198","2199","2200","2201","2202","2203","2204","2205","2206","2207","2211","2212","2213","2214","2215","4098","4099","4102","4103","4105","4106","4107","4108","4109","4116","4117","4118","4119","4120","4121","4122","4123","4124","4125","4126","4127","4128","4129","4130","4132","4133","4134","4135","4146","4147","4148","4149","4154","4156","4157","4158","4159","4160","4161","4163","4164","4165","4166","4168","4170","4171","4174","4175","4176","4177","4187","4188","4189","4191","4192","4193","4194","4195","4196","4197","4198","4199","4200","2157","2163","2177","2240","2241","2242","2243","2244","2245","2246","2247","2248","2249","2250","2251","2262","29282","write_biff_continue","write_BIFF2BERR","write_BIFF2LABEL","write_comments_biff2","write_ws_biff2_cell","_BIFF2FmtTable","write_ws_biff2","write_biff2_buf","_Fonts","b8oid","b8ocnts","write_MsoDrawingGroup","acc","write_comments_biff8","notes","baseid","_oasc","ci","oasc","oact","txo","cont","conf","notesh","write_FONTS_biff8","write_FMTS_biff8","write_FEAT","write_CELLXFS_biff8","write_ws_biff8_hlinks","HL","write_ws_cols_biff8","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","make_html_row","editable","HTML_BEGIN","HTML_END","book_new","make_html_preamble","sheet_to_html","sheet_add_dom","tagName","or_R","or_C","is_dom_element_hidden","elts","hasAttribute","getAttribute","innerHTML","Aelts","getElementsByTagName","Aelti","parse_dom_table","table_to_book","element","get_computed_style","get_get_computed_style_function","getPropertyValue","ownerDocument","defaultView","getComputedStyle","parse_text_p","fixed","parse_ods_styles","_nfm","number_format_map","NFtag","tNF","etpos","infmt","parse_content_xml","nfidx","sheetag","rowtag","ctag","ctag2","textp","textpidx","textptag","oldtextp","oldtextpidx","textR","oldtextR","row_ol","mrange","mR","mC","rowpeat","colpeat","atag","_Ref","creator","creatoridx","isstub","intable","rptR","rpt","annotag","xlmlidx","styletag","nrange","ptp","parse_ods","Styles","write_styles_ods","master_styles","xmlns:office","xmlns:table","xmlns:style","xmlns:text","xmlns:draw","xmlns:fo","xmlns:xlink","xmlns:number","xmlns:svg","xmlns:of","office:version","wso","write_number_format_ods","nopts","style:name","number:min-integer-digits","number:min-numerator-digits","number:max-denominator-value","number:denominator-value","number:decimal-places","number:min-decimal-places","has_time","np","write_names_ods","scoped","namei","odsref","table:name","table:cell-range-address","table:base-cell-address","write_content_ods","write_text_p","span","null_cell_xml","write_ws","nfs","ods","ROWS","_Fref","text_p","_tgt","xlink:href","acreator","apayload","aprops","write_automatic_styles_ods","colobj","nfi","wcx","xmlns:meta","xmlns:presentation","xmlns:chart","xmlns:dr3d","xmlns:math","xmlns:form","xmlns:script","xmlns:ooo","xmlns:ooow","xmlns:oooc","xmlns:dom","xmlns:xforms","xmlns:sheet","xmlns:rpt","xmlns:xhtml","xmlns:grddl","xmlns:tableooo","xmlns:drawooo","xmlns:calcext","xmlns:loext","xmlns:field","xmlns:formx","xmlns:css3t","fods","xmlns:config","office:mimetype","write_ods","u8_to_dataview","array","DataView","buffer","byteOffset","byteLength","u8str","u8","stru8","u8concat","u8a","popcnt","readDecimal128LE","exp","mantissa","writeDecimal128LE","parse_varint49","ptr","varint","write_varint49","parse_packed_varints","write_packed_varints","nums","varint_to_i32","i32","varint_to_u64","parse_shallow","write_shallow","proto","item","mappa","parse_iwa_file","_a","messages","merge","write_iwa_file","ias","ia","midata","aipayload","mid","parse_snappy_chunk","chunks","clen","u8i","decompress_iwa_file","compress_iwa_file","frame","numbers_lut_new","rsst","nfmt","fmla","ferr","numbers_format_cell","_b","_c","ver","dur","dstyle","dmin","dmax","autodur","dstr","zstr","parse_old_storage","lut","dv","getUint32","zidx","ieee","doff","getFloat64","rts","parse_new_storage","d128","eidx","cmntidx","iwa_to_s5s_comment","write_new_storage","setFloat64","irsst","findIndex","setUint32","s5s_to_iwa_comment","write_old_storage","parse_cell_storage","parse_TSP_Reference","pb","write_TSP_Reference","numbers_add_oref","iwa","orefs","orefidx","numbers_del_oref","parse_TST_TableDataList","le","rtp","rtpref","mtype","tswpsa","richtext","sfields","smartfields","_a2","_b2","objtype","parse_TSD_CommentStorageArchive","parse_TST_TileRowInfo","_e","_g","_h","_i","_k","_m","wide_offsets","used_storage_u8","used_storage","used_storage_offsets","getUint16","parse_TST_Tile","nrows","reduce","csp","as","asp","replies","pi","reply","s5s","parse_TST_TableModelArchive","dws","store","tile","rtt","kv","tl","ref2","mtype2","_tile","merge_owner","formula_store","_c2","_d2","_e2","formula_pair","AST_node_array","AST_node0","AST_node_type","AST_colon_tract","colrange","rowrange","parse_TST_TableInfoArchive","tableref","parse_TN_SheetArchive","shapeoffs","parse_TN_DocumentArchive","sheetoffs","root2","parse_numbers_iwa","indices","packets","packet","docroot","iwam","write_TST_TileRowInfo","wide","tri","new_7","new_4","last_offset","cell_storage","_dv","_last_offset","_cell_storage","setUint16","celload","_celload","write_iwam","get_unique_msgid","dep","dependents","build_numbers_deps","deps","mess","write_TSP_Color_RGB","Float32Array","get_author_color","random","write_numbers_iwa","numbers","numbers_iwa_find","sheetrefs","numbers_add_ws","write_numbers_ws","numbers_iwa_doit","ainfo","numbers_add_meta","mlist","newid","newloc","numbers_add_msg","numbers_meta_add_dep","parentidx","mm","parent","dep2","numbers_meta_del_dep","sheetref","newsheetref","remap","arch","doc","tiaref","sheetroot","sa","drawables","tia","tmaref","tiaroot","da","dap","oldtmaref","tma","tmaroot","uuid","new_uuid","srrta","hsoa","hsa","hseadata","hsea","oldref","newref","row_headers","tspref","tiles","tst","oldtileref","newtileref","oldtile","wsname","sheetidx","rootref","write_numbers_tma","USE_WIDE_ROWS","tmafile","trunc","R_","LUT","row_header_ref","rowhead","_x","base_bucket","R2","_bucket","col_header_ref","colhead","rbtree","tilestore","tstride","tileref","save_token","mlst","ntiles","newtileid","tiledata","tilerow","newtile","tilecontent","mergeid","sstref","sstroot","sstdata","rsstref","rsstroot","rsstdata","style_indices","tswpsaid","tswpsarefs","newhlinkid","smartfield","rtpaid","cmntref","cmntroot","cmntdata","aaaid2","csaid2","aaaid","csaid","fix_opts_func","fix_opts","get_sheet_type","safe_parse_wbrels","wbrels","pwbr","parse_sheet_legacy_drawing","dfile","draw","safe_parse_sheet","relsPath","sheetRels","stype","drelsp","chartp","crelsp","tcomments","strip_front_slash","_zip","index_zip","Bun","readSync","dir","binname","link","propdata","pluck","bookDeps","wbsheets","wbext","wbrelsi","wbrelsfile","nmode","wsloop","snjseen","snj","Deps","bin","parse_xlsxcfb","dsm","seds","einfo","decrypt_agile","decrypt_std76","write_zip_xlsb","foo","vbafmt","_sn","wsrels","_type","need_vml","needtc","rId1","write_zip_xlsx","read_cfb","read_zip","read_plaintext","main","read_plaintext_raw","read_utf16","bstrify","read_prn","Int8Array","ab","vu","write_cfb_ctr","write_zip_type","write_zip_denouement","write_zip_typeXLSX","oopts","ftype","nodebuffer","string","generate","encrypt_agile","write_cfb_type","write_string_type","bom","write_stxt_type","write_binary_type","writeSyncXLSX","writeSync","sheet_to_txt","sheet_to_csv","resolve_book_type","_BT","xls","slk","socialcalc","Sh33tJS","writeFileSyncXLSX","writeFileAsync","_cb","Function","make_json_row","defval","isempty","defineProperty","enumerable","__rowNum__","rawNumbers","outi","counter","header_cnt","skipHidden","blankrows","qreg","make_csv_row","txt","datarow","forceQuotes","strip","sheet_to_formulae","cmds","values","sheet_add_json","js","skipHeader","ROW","JS","json_to_sheet","RC","wb_sheet_idx","sh","roll","book_set_sheet_visibility","vis","cell_set_number_format","cell_set_hyperlink","cell_set_internal_link","cell_add_comment","sheet_set_array_formula","dynamic","rngstr","wsr","table_to_sheet","sheet_to_row_object_array","sheet_get_cell","SHEET_VISIBLE","SHEET_HIDDEN","SHEET_VERY_HIDDEN","_Readable","set_readable","write_csv_stream","stream","BOM","_read","write_html_stream","write_json_stream","objectMode","write_xlml_stream","stride","ddata","sty","stage","darr","__stream","to_json","to_html","to_csv","to_xlml","readFile","writeXLSX","writeFileXLSX","strmod","Readable","define","amd","window"],"mappings":"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lc,GAAO,MAAOA,GAAIryB,IAAI,SAASjD,GAAK,OAASA,GAAG,GAAI,IAAKA,GAAG,EAAG,IAAIA,EAAE,OAIrF,GAAIyxC,IAAWD,IAEd,EACA,SACA,SACA,MACA,IACA,SACA,SACA,MAGA,EACA,SACA,SACA,MACA,IACA,SACA,SACA,MAEA,QACA,MACA,IACA,QACA,QACA,MACA,SACA,QACA,SACA,SACA,SACA,SACA,QACA,SACA,MACA,SAEA,IACA,SACA,SACA,MACA,QACA,QACA,MACA,IACA,MACA,SACA,SACA,SACA,SACA,SACA,SACA,SAEA,QACA,QACA,SACA,SACA,SACA,SACA,QACA,QACA,MACA,QACA,MACA,QACA,SACA,SACA,QACA,QAGA,EACA,SACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAED,IAAIvE,IAAS7V,GAAIqa,GAGjB,IAAIlJ,KACHtiC,EAAM,SACN4H,EAAM,UACNrB,GAAM,UACNuB,GAAM,QACNM,GAAM,SACNuM,GAAM,QACNpK,GAAM,OACNC,GAAM,gBACNtJ,IAAM,QAGP,IAAIuqC,KACHC,SAAiB,EACjBC,UAAiB,EACjBC,UAAiB,GACjBC,QAAiB,GACjBC,SAAiB,GACjBC,QAAiB,GACjBC,OAAiB,GACjBC,gBAAiB,GACjBC,QAAiB,IAGlB,IAAIC,KACH,yBACA,kBACA,mBACA,gBACA,iBACA,iBACA,mBACA,qBACA,iBACA,kBACA,sBACA,wBACA,oBACA,wBAOD,IAAIC,KAEHC,6EAA8E,YAC9EC,uDAAwD,YACxDC,0DAA2D,YAC3DC,uDAAwD,YACxDC,gFAAiF,YAGjFC,4EAA6E,SAC7EC,qCAAsC,SACtCC,sCAAuC,OAGvCC,6EAA8E,SAC9EC,sCAAuC,SAGvCC,0CAA2C,SAC3CC,sCAAuC,SACvCC,0CAA2C,OAC3CC,sCAAuC,OAGvCC,8EAA+E,UAC/EC,uCAAwC,UAGxCC,gFAAiF,OACjFC,yCAA0C,OAG1CC,yEAA0E,SAC1EC,kCAAmC,SAGnCC,6DAA8D,YAC9DC,sEAAuE,YACvEC,wEAAyE,WAGzEC,wEAAyE,OACzEC,6EAA8E,OAG9EC,2EAA4E,WAC5EC,oCAAqC,WACrCC,gDAAiD,mBACjDC,sCAAuC,SAGvCC,gFAAiF,WACjFC,yCAA0C,WAG1CC,sCAAuC,OACvCC,6EAA8E,OAG9EC,oEAAqE,OAGrEC,gDAAiD,OAGjDC,2CAA4C,OAG5CC,wCAAyC,OAGzCC,qCAAsC,aACtCC,4EAA6E,aAG7EC,8EAA+E,OAG/EC,oCAAqC,OACrCC,wCAAyC,OAGzCC,4CAA6C,OAG7CC,uCAAwC,OACxCC,8EAA+E,OAG/EC,wCAAyC,QACzCC,+EAAgF,QAGhFC,gDAAiD,OACjDC,6CAA8C,OAC9CC,uFAAwF,OACxFC,oFAAqF,OAGrFC,sCAAuC,OACvCC,6EAA8E,OAG9EC,qCAAsC,OACtCC,2CAA4C,OAC5CC,uCAAwC,OACxCC,kFAAmF,OACnFC,8EAA+E,OAC/EC,4EAA6E,OAG7EC,4CAA6C,OAC7CC,mFAAoF,OAGpFC,kCAAmC,OACnCC,uCAAwC,OACxCC,sCAAuC,OACvCC,2CAA4C,OAG5CC,qCAAsC,OAGtCC,iCAAkC,OAClCC,wEAAyE,OAGzEC,0DAA2D,SAG3DC,kEAAmE,OAGnEC,wCAAyC,OACzCC,6CAA8C,OAG9CC,uCAAwC,MACxCC,gDAAiD,OAGjDC,iDAAkD,OAClDC,uFAAwF,OAGxFC,iDAAkD,OAGlDC,2DAA4D,OAG5DC,sCAAuC,OAGvCC,4DAA6D,WAC7DC,0EAA2E,OAC3EC,4EAA6E,OAC7EC,0EAA2E,OAC3EC,4EAA6E,OAC7EC,2EAA4E,OAG5EC,2DAA4D,OAE5DC,2DAA4D,OAC5DC,0DAA2D,OAG3DC,YAAa,OAEbrP,MAAS,KAGV,IAAIsP,KACHC,WACCja,KAAM,6EACNka,KAAM,uDACNC,KAAM,0DACNC,KAAM,uDACNC,KAAM,iFAEPC,MACCta,KAAM,gFACNma,KAAM,0CAEPI,UACCva,KAAM,2EACNma,KAAM,qCAEPxP,QACC3K,KAAM,4EACNma,KAAM,sCAEPK,QACCxa,KAAM,6EACNma,KAAM,uCAEPM,SACCza,KAAM,8EACNma,KAAM,wCAEPO,QACC1a,KAAM,0CACNma,KAAM,uCAEPQ,UACC3a,KAAM,gFACNma,KAAM,0CAEPS,QACC5a,KAAM,yEACNma,KAAM,mCAIR,SAASU,MACR,OACCZ,aAActP,UAAW6P,UAAWC,WAAYC,UAChDI,QAASR,QAASC,YAAaQ,oBAAqBC,SACpDC,aAAcC,YAAaC,aAAcC,UAAWR,UACpDS,cAAeC,OAASC,YAAcZ,YAAca,UACpDC,QAASC,MAAO,IAGlB,QAASC,IAASh4C,GACjB,GAAIoiB,GAAK80B,IACT,KAAIl3C,IAASA,EAAKkD,MAAO,MAAOkf,EAChC,IAAI61B,OACHj4C,EAAKkD,MAAM63B,SAAe/4B,QAAQ,SAAS1D,GAC3C,GAAIqS,GAAIuqB,GAAY58B,EACpB,QAAOqS,EAAE,GAAGrJ,QAAQ0zB,GAAQ,MAC3B,IAAK,QAAS,MACd,IAAK,SAAU5Y,EAAG21B,MAAQpnC,EAAE,SAAWA,EAAE,GAAGzN,MAAM,aAAa,GAAG,KAAK,GAAM,OAC7E,IAAK,WAAY+0C,EAAMtnC,EAAEunC,UAAUthC,eAAiBjG,EAAEwnC,WAAa,OACnE,IAAK,YACJ,GAAG/1B,EAAGuuB,GAAQhgC,EAAEwnC,gBAAkB5wC,UAAW6a,EAAGuuB,GAAQhgC,EAAEwnC,cAAct0C,KAAK8M,EAAEynC,SAC/E,UAGH,IAAGh2B,EAAG21B,QAAUrZ,GAAMI,GAAI,KAAM,IAAI3hC,OAAM,sBAAwBilB,EAAG21B,MACrE31B,GAAGi2B,UAAYj2B,EAAGs1B,WAAWp7C,OAAS,EAAI8lB,EAAGs1B,WAAW,GAAK,EAC7Dt1B,GAAGk2B,IAAMl2B,EAAGu0B,KAAKr6C,OAAS,EAAI8lB,EAAGu0B,KAAK,GAAK,EAC3Cv0B,GAAGm2B,MAAQn2B,EAAG60B,OAAO36C,OAAS,EAAI8lB,EAAG60B,OAAO,GAAK,EACjD70B,GAAGo2B,SAAWP,QACP71B,GAAGs1B,UACV,OAAOt1B,GAGR,QAASq2B,IAASr2B,EAAIjS,EAAM+P,GAC3B,GAAIw4B,GAAsC/lB,GAAUge,GAEpD,IAAI3qC,MAAQqD,CAEZ,KAAI6W,EAAK,CACRla,EAAEA,EAAE1J,QAAU,EACd0J,GAAEA,EAAE1J,QAAU8hC,GAAU,QAAS,MAChC2Z,MAASrZ,GAAMI,GACf6Z,YAAaja,GAAMc,IACnBoZ,YAAala,GAAMa,KAEpBv5B,GAAIA,EAAEwC,SACJ,MAAO,oBACP,MAAO,4DACP,MAAO,6DACP,OAAQ,6DAER,MAAO,cACP,MAAO,cACP,MAAO,cACP,MAAO,gBACP,MAAO,gBACP,MAAO,eAAgB,OAAQ,eAC/B,MAAO,eAAgB,OAAQ,eAC/B,MAAO,oBACP,OAAQ,6DACRjH,IAAI,SAASjD,GACd,MAAO8/B,IAAU,UAAW,MAAO8Z,UAAY55C,EAAE,GAAI65C,YAAe75C,EAAE,QAKxE,GAAIu6C,GAAK,SAAS14C,GACjB,GAAGiiB,EAAGjiB,IAAMiiB,EAAGjiB,GAAG7D,OAAS,EAAG,CAC7B+M,EAAI+Y,EAAGjiB,GAAG,EACV6F,GAAEA,EAAE1J,QAAW8hC,GAAU,WAAY,MACpCga,UAAa/uC,EAAE,IAAM,IAAM,GAAG,KAAOA,EACrC8uC,YAAe9B,GAAQl2C,GAAGgQ,EAAK2oC,WAAazC,GAAQl2C,GAAG,WAM1D,IAAI44C,GAAK,SAAS54C,IAChBiiB,EAAGjiB,QAAQ6B,QAAQ,SAASqH,GAC5BrD,EAAEA,EAAE1J,QAAW8hC,GAAU,WAAY,MACpCga,UAAa/uC,EAAE,IAAM,IAAM,GAAG,KAAOA,EACrC8uC,YAAe9B,GAAQl2C,GAAGgQ,EAAK2oC,WAAazC,GAAQl2C,GAAG,YAM1D,IAAI64C,GAAK,SAAS1vC,IAChB8Y,EAAG9Y,QAAQtH,QAAQ,SAASqH,GAC5BrD,EAAEA,EAAE1J,QAAW8hC,GAAU,WAAY,MACpCga,UAAa/uC,EAAE,IAAM,IAAM,GAAG,KAAOA,EACrC8uC,YAAeO,EAAQpvC,GAAG,OAK7BuvC,GAAG,YACHE,GAAG,SACHA,GAAG,SACHC,GAAG,WACF,OAAQ,UAAUh3C,QAAQ62C,IAC1B,YAAa,WAAY,aAAa72C,QAAQg3C,EAC/CA,GAAG,MACHA,GAAG,WACHA,GAAG,mBACHA,GAAG,WACHD,GAAG,WACHC,GAAG,SACH,KAAI94B,GAAOla,EAAE1J,OAAO,EAAE,CAAE0J,EAAEA,EAAE1J,QAAU,UAAc0J,GAAE,GAAGA,EAAE,GAAGsB,QAAQ,KAAK,KAC3E,MAAOtB,GAAElD,KAAK,IAGf,GAAIi8B,KACHka,GAAI,qFACJC,MAAO,qFACPC,MAAO,gFACPC,IAAK,iFACLC,MAAO,uFACPC,MAAO,0FACPC,MAAO,mFACPC,KAAM,gFACNC,MAAO,qFACPC,KAAM,+EACN/a,WAAY,wFACZE,UAAW,0FACXD,WAAY,wFACZ+a,IAAK,oFACLC,IAAK,6EACLC,MAAO,4EACPC,MAAO,4EACPC,QAAS,iEACTC,GAAI,iFACJC,IACC,gFACA,qEAEDC,GAAI,kFACJC,GAAI,sEACJC,IAAK,4EACLC,KAAM,8EACNC,OAAQ,oFACRtb,MAAO,4EACPub,OAAQ,mEACRC,KAAM,kFACNC,IAAK,oEAIN,SAASC,IAAcx8B,GACtB,GAAIhf,GAAIgf,EAAKhI,YAAY,IACzB,OAAOgI,GAAK7d,MAAM,EAAEnB,EAAE,GAAK,SAAWgf,EAAK7d,MAAMnB,EAAE,GAAK,QAGzD,QAASy7C,IAAW36C,EAAM46C,GACzB,GAAIzD,IAAQ0D,SACZ,KAAK76C,EAAM,MAAOm3C,EAClB,IAAIyD,EAAgBp+C,OAAO,KAAO,IAAK;AACtCo+C,EAAkB,IAAIA,EAEvB,GAAIpxB,OAEHxpB,EAAKkD,MAAM63B,SAAe/4B,QAAQ,SAAS1D,GAC3C,GAAIqS,GAAIuqB,GAAY58B,EAEpB,IAAIqS,EAAE,KAAO,gBAAiB,CAC7B,GAAImqC,KAAUA,GAAIC,KAAOpqC,EAAEoqC,IAAMD,GAAIE,OAAS/e,GAAYtrB,EAAEqqC,OAASF,GAAIG,GAAKtqC,EAAEsqC,EAAI,IAAGtqC,EAAEuqC,WAAYJ,EAAII,WAAavqC,EAAEuqC,UACxH,IAAIC,GAAgBxqC,EAAEuqC,aAAe,WAAavqC,EAAEqqC,OAASzgB,GAAa5pB,EAAEqqC,OAAQJ,EACpFzD,GAAKgE,GAAiBL,CACtBtxB,GAAK7Y,EAAEsqC,IAAMH,IAGf3D,GAAK,OAAS3tB,CACd,OAAO2tB,GAKR,QAASiE,IAAWjE,GACnB,GAAInxC,IAAK20B,GAAYyD,GAAU,gBAAiB,MAE/C2Z,MAASrZ,GAAMK,OAEhBv/B,IAAK23C,EAAK,QAAQn1C,QAAQ,SAASq5C,GAClCr1C,EAAEA,EAAE1J,QAAW8hC,GAAU,eAAgB,KAAM+Y,EAAK,OAAOkE,KAE5D,IAAGr1C,EAAE1J,OAAO,EAAE,CAAE0J,EAAEA,EAAE1J,QAAU,kBAAsB0J,GAAE,GAAGA,EAAE,GAAGsB,QAAQ,KAAK,KAC3E,MAAOtB,GAAElD,KAAK,IAGf,QAASw4C,IAASnE,EAAMoE,EAAKx6C,EAAGyR,EAAMgpC,EAAQC,GAC7C,IAAID,EAAQA,IACZ,KAAIrE,EAAK,OAAQA,EAAK,SACtB,KAAIA,EAAK,QAASA,EAAK,QAAU,CACjC,IAAGoE,EAAM,EAAG,IAAIA,EAAMpE,EAAK,QAASA,EAAK,OAAO,MAAQoE,KAAQA,EAAI,EACpEpE,EAAK,QAAUoE,EAAM,CACrBC,GAAOP,GAAK,MAAQM,CACpBC,GAAOT,KAAOvoC,CACdgpC,GAAOR,OAASj6C,CAChB,IAAG06C,EAAYD,EAAON,WAAaO,MAC9B,KAAI1c,GAAKoa,MAAOpa,GAAKsa,MAAOta,GAAKua,OAAO12C,QAAQ44C,EAAOT,OAAS,EAAGS,EAAON,WAAa,UAC5F,IAAG/D,EAAK,OAAOqE,EAAOP,IAAK,KAAM,IAAI99C,OAAM,sBAAwBo+C,EACnEpE,GAAK,OAAOqE,EAAOP,IAAMO,CACzBrE,IAAM,IAAMqE,EAAOR,QAAQ1zC,QAAQ,KAAK,MAAQk0C,CAChD,OAAOD,GAER,GAAIG,IAAS,gDACb,SAASC,IAAez/C,EAAGiU,GACzB,GAAI2E,GAAM0pB,GAAetiC,EACzB,IAAI0/C,EACJ,IAAIC,EACJ,OAAOD,EAAKnd,GAAU1F,KAAKjkB,GACzB,OAAQ8mC,EAAG,IACT,IAAK,WACH,MACF,IAAK,aACHC,EAAQ3gB,GAAY0gB,EAAG,GAAI,MAC3B,IAAIC,EAAM52B,MAAQ,KAAO42B,EAAMrpC,OAASkpC,GACtC,KAAM,IAAIv+C,OAAM,yCAClB,OACF,IAAK,mBACL,IAAK,aACL,IAAK,wBACL,IAAK,iBACH,KAAM,IAAIA,OAAM,8BAClB,QACE,GAAIgT,GAAQA,EAAK6tB,IACf,KAAM4d,KAGhB,QAASE,IAAeC,GACtB,GAAI/1C,IAAK20B,GACT30B,GAAEnC,KAAK,mHACPmC,GAAEnC,KAAK,gJACP,KAAK,GAAIxH,GAAI,EAAGA,EAAI0/C,EAASz/C,SAAUD,EACrC2J,EAAEnC,KAAK,8CAAgDk4C,EAAS1/C,GAAG,GAAK,0BAA4B0/C,EAAS1/C,GAAG,GAAK,QACvH2J,GAAEnC,KAAK,uBACP,OAAOmC,GAAElD,KAAK,IAEhB,QAASk5C,IAAe99B,EAAMgV,EAAKwF,GACjC,OACE,iCAAmCxa,EAAO,OAC1C,8EAAgFwa,GAAO,OAAS,IAAMxF,EAAM,QAC5G,0BACApwB,KAAK,IAET,QAASm5C,IAAc3nC,EAAM4J,GAC3B,OACE,iCAAmC5J,EAAO,OAC1C,iGAAmG4J,EAAO,QAC1G,0BACApb,KAAK,IAET,QAASo5C,IAAUC,GACjB,GAAIn2C,IAAK20B,GACT30B,GAAEnC,KAAK,sEACP,KAAK,GAAIxH,GAAI,EAAGA,GAAK8/C,EAAI7/C,SAAUD,EAAG,CACpC2J,EAAEnC,KAAKm4C,GAAeG,EAAI9/C,GAAG,GAAI8/C,EAAI9/C,GAAG,IACxC2J,GAAEnC,KAAKo4C,GAAc,GAAIE,EAAI9/C,GAAG,KAElC2J,EAAEnC,KAAKm4C,GAAe,GAAI,WAAY,OACtCh2C,GAAEnC,KAAK,aACP,OAAOmC,GAAElD,KAAK,IAEhB,QAASs5C,IAAeC,EAAIlsC,GAC1B,MAAO,sSAAwSnM,EAAK/H,QAAU,yDAIhU,GAAI0iC,MACF,cAAe,aACf,mBAAoB,kBACpB,cAAe,aACf,oBAAqB,eACrB,iBAAkB,gBAClB,cAAe,cACf,aAAc,YACd,aAAc,WACd,iBAAkB,aAClB,gBAAiB,eACjB,cAAe,aACf,aAAc,YACd,WAAY,UACZ,kBAAmB,cAAe,SAClC,mBAAoB,eAAgB,QAGtC,SAAS2d,IAAiBt8C,GACzB,GAAI+b,KACJ/b,GAAOw9B,GAASx9B,EAEhB,KAAI,GAAI3D,GAAI,EAAGA,EAAIsiC,GAAWriC,SAAUD,EAAG,CAC1C,GAAI0E,GAAI49B,GAAWtiC,GAAIkgD,EAAM9jB,GAAcz4B,EAAMe,EAAE,GACnD,IAAGw7C,GAAO,MAAQA,EAAIjgD,OAAS,EAAGyf,EAAEhb,EAAE,IAAMk7B,GAAYsgB,EAAI,GAC5D,IAAGx7C,EAAE,KAAO,QAAUgb,EAAEhb,EAAE,IAAKgb,EAAEhb,EAAE,IAAM2yB,GAAU3X,EAAEhb,EAAE,KAGxD,MAAOgb,GAGR,QAASygC,IAAQz7C,EAAG84B,EAAGtS,EAAGvhB,EAAG+V,GAC5B,GAAGA,EAAEhb,IAAM,MAAQ84B,GAAK,MAAQA,IAAM,GAAI,MAC1C9d,GAAEhb,GAAK84B,CACPA,GAAI2C,GAAU3C,EACd7zB,GAAEA,EAAE1J,QAAWirB,EAAI6W,GAAUr9B,EAAE84B,EAAEtS,GAAK2W,GAASn9B,EAAE84B,GAGlD,QAAS4iB,IAAiB38C,EAAI+jB,GAC7B,GAAI1T,GAAO0T,KACX,IAAI7d,IAAK20B,GAAYyD,GAAU,oBAAqB,MAEnDse,WAAYhe,GAAMC,WAClBge,WAAYje,GAAMO,GAClB2d,gBAAiBle,GAAMQ,QACvB2d,iBAAkBne,GAAMS,SACxByZ,YAAala,GAAMa,OACfxjB,IACL,KAAIjc,IAAOqQ,EAAK2sC,MAAO,MAAO92C,GAAElD,KAAK,GAErC,IAAGhD,EAAI,CACN,GAAGA,EAAGi9C,aAAe,KAAMP,GAAQ,wBAA0B18C,GAAGi9C,cAAgB,SAAWj9C,EAAGi9C,YAAc1e,GAAav+B,EAAGi9C,YAAa5sC,EAAK6tB,MAAOgf,WAAW,kBAAmBh3C,EAAG+V,EACtL,IAAGjc,EAAGm9C,cAAgB,KAAMT,GAAQ,yBAA2B18C,GAAGm9C,eAAiB,SAAWn9C,EAAGm9C,aAAe5e,GAAav+B,EAAGm9C,aAAc9sC,EAAK6tB,MAAOgf,WAAW,kBAAmBh3C,EAAG+V,GAG5L,IAAI,GAAI1f,GAAI,EAAGA,GAAKsiC,GAAWriC,SAAUD,EAAG,CAC3C,GAAI0E,GAAI49B,GAAWtiC,EACnB,IAAIgN,GAAI8G,EAAK2sC,OAAS3sC,EAAK2sC,MAAM/7C,EAAE,KAAO,KAAOoP,EAAK2sC,MAAM/7C,EAAE,IAAMjB,EAAKA,EAAGiB,EAAE,IAAM,IACpF,IAAGsI,IAAM,KAAMA,EAAI,QACd,IAAGA,IAAM,MAAOA,EAAI,QACpB,UAAUA,IAAK,SAAUA,EAAI9K,OAAO8K,EACzC,IAAGA,GAAK,KAAMmzC,GAAQz7C,EAAE,GAAIsI,EAAG,KAAMrD,EAAG+V,GAEzC,GAAG/V,EAAE1J,OAAO,EAAE,CAAE0J,EAAEA,EAAE1J,QAAU,sBAA0B0J,GAAE,GAAGA,EAAE,GAAGsB,QAAQ,KAAK,KAC/E,MAAOtB,GAAElD,KAAK,IAIf,GAAI+7B,MACF,cAAe,cAAe,WAC9B,aAAc,aAAc,WAC5B,UAAW,UAAW,WACtB,cAAe,cAAe,WAC9B,UAAW,UAAW,WACtB,oBAAqB,oBAAqB,SAC1C,YAAa,YAAa,SAC1B,gBAAiB,gBAAiB,SAClC,YAAa,YAAa,SAC1B,eAAgB,eAAgB,QAChC,gBAAiB,gBAAiB,OAGpC,IAAIqe,KACH,aAAe,aACf,cAAe,eACf,cAAe,aAEhB,SAASC,IAAiBC,EAAIC,EAAKC,EAAOntC,GACzC,GAAI9G,KACJ,UAAU+zC,IAAM,SAAU/zC,EAAIw0B,GAAYuf,EAAIjtC,OACzC,KAAI,GAAIxT,GAAI,EAAGA,EAAIygD,EAAG9gD,SAAUK,EAAG0M,EAAIA,EAAEb,OAAO40C,EAAGzgD,GAAG4E,IAAI,SAASg8C,GAAM,OAAQl0C,EAAEk0C,KACxF,IAAIC,SAAgBH,IAAO,SAAYxf,GAAYwf,EAAKltC,GAAM5O,IAAI,SAAUjD,GAAK,MAAOA,GAAE+K,IAAQg0C,CAClG,IAAI/pC,GAAM,EAAG5T,EAAM,CACnB,IAAG89C,EAAMlhD,OAAS,EAAG,IAAI,GAAID,GAAI,EAAGA,IAAMgN,EAAE/M,OAAQD,GAAK,EAAG,CAC3DqD,GAAQ2J,EAAEhN,EAAE,GAAI,CAChB,QAAOgN,EAAEhN,GAAGgN,GACX,IAAK,cACL,IAAK,OACL,IAAK,SACL,IAAK,eACL,IAAK,UACL,IAAK,iBACL,IAAK,kBACL,IAAK,qBACL,IAAK,sBACL,IAAK,mBACL,IAAK,qBACL,IAAK,aACL,IAAK,YACL,IAAK,oBACL,IAAK,aACJi0C,EAAMG,WAAa/9C,CACnB49C,GAAMrW,WAAauW,EAAMn9C,MAAMiT,EAAKA,EAAM5T,EAC1C,OAED,IAAK,gBACL,IAAK,qBACL,IAAK,UACL,IAAK,qBACL,IAAK,oBACJ49C,EAAMI,YAAch+C,CACpB49C,GAAMK,aAAeH,EAAMn9C,MAAMiT,EAAKA,EAAM5T,EAC5C,OAED,IAAK,UACL,IAAK,YACJ49C,EAAMM,YAAcl+C,CACpB49C,GAAMO,WAAaL,EAAMn9C,MAAMiT,EAAKA,EAAM5T,EAC1C,QAEF4T,GAAO5T,GAIT,QAASo+C,IAAgB99C,EAAM+b,EAAG5L,GACjC,GAAIN,KAAQ,KAAIkM,EAAGA,IACnB/b,GAAOw9B,GAASx9B,EAEhB6+B,IAAU78B,QAAQ,SAASjB,GAC1B,GAAI+rB,IAAO+L,GAAiB74B,EAAMe,EAAE,SAAS,EAC7C,QAAOA,EAAE,IACR,IAAK,SAAU,GAAG+rB,EAAK/Q,EAAEhb,EAAE,IAAMk7B,GAAYnP,EAAM,OACnD,IAAK,OAAQ/Q,EAAEhb,EAAE,IAAM+rB,IAAQ,MAAQ,OACvC,IAAK,MACJ,GAAIyvB,GAAM9jB,GAAcz4B,EAAMe,EAAE,GAChC,IAAGw7C,GAAOA,EAAIjgD,OAAS,EAAGuT,EAAE9O,EAAE,IAAMw7C,EAAI,EACxC,UAIH,IAAG1sC,EAAEkuC,cAAgBluC,EAAEmuC,cAAeb,GAAiBttC,EAAEkuC,aAAcluC,EAAEmuC,cAAejiC,EAAG5L,EAE3F,OAAO4L,GAGR,QAASkiC,IAAgBn+C,GACxB,GAAIkG,MAAQk4C,EAAI9f,EAChB,KAAIt+B,EAAIA,IACRA,GAAGq+C,YAAc,SACjBn4C,GAAEA,EAAE1J,QAAU,EACd0J,GAAEA,EAAE1J,QAAW8hC,GAAU,aAAc,MACtC2Z,MAASrZ,GAAMG,UACfuf,WAAY1f,GAAMY,IAGnBT,IAAU78B,QAAQ,SAASjB,GAC1B,GAAGjB,EAAGiB,EAAE,MAAQwG,UAAW,MAC3B,IAAI8B,EACJ,QAAOtI,EAAE,IACR,IAAK,SAAUsI,EAAImzB,GAAUj+B,OAAOuB,EAAGiB,EAAE,KAAO,OAChD,IAAK,OAAQsI,EAAIvJ,EAAGiB,EAAE,IAAM,OAAS,OAAS,QAE/C,GAAGsI,IAAM9B,UAAWvB,EAAEA,EAAE1J,QAAW4hD,EAAEn9C,EAAE,GAAIsI,IAI5CrD,GAAEA,EAAE1J,QAAW4hD,EAAE,eAAgBA,EAAE,YAAaA,EAAE,aAAc,mCAAmCA,EAAE,aAAcA,EAAE,QAAS3/C,OAAOuB,EAAG29C,eAAgB18B,KAAK,EAAGgd,SAAS,YACzK/3B,GAAEA,EAAE1J,QAAW4hD,EAAE,gBAAiBA,EAAE,YAAap+C,EAAGmnC,WAAW1lC,IAAI,SAASK,GAAK,MAAO,aAAe46B,GAAU56B,GAAK,gBAAkBkB,KAAK,KAAMie,KAAMjhB,EAAG29C,WAAY1f,SAAS,UACjL,IAAG/3B,EAAE1J,OAAO,EAAE,CAAE0J,EAAEA,EAAE1J,QAAU,eAAmB0J,GAAE,GAAGA,EAAE,GAAGsB,QAAQ,KAAK,KACxE,MAAOtB,GAAElD,KAAK,IAGf,GAAIu7C,IAAY,gBAChB,SAASC,IAAiBt+C,EAAMmQ,GAC/B,GAAI4L,MAAQ0D,EAAO,EACnB,IAAIzP,GAAIhQ,EAAKkD,MAAMm7C,GACnB,IAAGruC,EAAG,IAAI,GAAI3T,GAAI,EAAGA,GAAK2T,EAAE1T,SAAUD,EAAG,CACxC,GAAIiC,GAAI0R,EAAE3T,GAAIsU,EAAIuqB,GAAY58B,EAC9B,QAAOm9B,GAAS9qB,EAAE,KACjB,IAAK,QAAS,MACd,IAAK,cAAe,MACpB,IAAK,YAAa8O,EAAOwc,GAAYtrB,EAAE8O,KAAO,OAC9C,IAAK,cAAeA,EAAO,IAAM,OACjC,QAAS,GAAInhB,EAAEsE,QAAQ,UAAY,EAAG,CACrC,GAAI27C,GAAOjgD,EAAE1B,MAAM,IACnB,IAAI4V,GAAO+rC,EAAK,GAAGl+C,MAAM,GAAIqtB,EAAO6wB,EAAK,EAEzC,QAAO/rC,GACN,IAAK,SAAS,IAAK,QAAQ,IAAK,SAC/BuJ,EAAE0D,GAAQwc,GAAYvO,EACtB,OACD,IAAK,OACJ3R,EAAE0D,GAAQwd,GAAavP,EACvB,OACD,IAAK,MAAM,IAAK,MAAM,IAAK,MAAM,IAAK,MAAM,IAAK,OAAO,IAAK,OAC5D3R,EAAE0D,GAAQrL,SAASsZ,EAAM,GACzB,OACD,IAAK,MAAM,IAAK,MAAM,IAAK,UAC1B3R,EAAE0D,GAAQ/H,WAAWgW,EACrB,OACD,IAAK,YAAY,IAAK,OACrB3R,EAAE0D,GAAQiU,GAAUhG,EACpB,OACD,IAAK,MAAM,IAAK,QACf3R,EAAE0D,GAAQwc,GAAYvO,EACtB,OACD,QACC,GAAGlb,EAAKnS,OAAO,IAAM,IAAK,KAC1B,IAAG8P,EAAK6tB,WAAclZ,WAAY,YAAaA,QAAQ05B,KAAK,aAAclgD,EAAGkU,EAAM+rC,SAE/E,IAAGjgD,EAAE+B,MAAM,EAAE,KAAO,KAAM,MAC1B,IAAG8P,EAAK6tB,IAAK,KAAM,IAAI7gC,OAAMmB,KAGtC,MAAOyd,GAGR,QAAS0iC,IAAiB3+C,GACzB,GAAIkG,IAAK20B,GAAYyD,GAAU,aAAc,MAC5C2Z,MAASrZ,GAAME,WACfwf,WAAY1f,GAAMY,KAEnB,KAAIx/B,EAAI,MAAOkG,GAAElD,KAAK,GACtB,IAAI47C,GAAM,CACVl/C,IAAKM,GAAIkC,QAAQ,QAAS28C,GAASz9C,KAAOw9C,CACzC14C,GAAEA,EAAE1J,QAAW8hC,GAAU,WAAYG,GAASz+B,EAAGoB,GAAI,OACpD09C,MAAS,yCACTF,IAAOA,EACPj/B,KAAQ+c,GAAUt7B,MAGpB,IAAG8E,EAAE1J,OAAO,EAAE,CAAE0J,EAAEA,EAAE1J,QAAU,eAAiB0J,GAAE,GAAGA,EAAE,GAAGsB,QAAQ,KAAK,KACtE,MAAOtB,GAAElD,KAAK,IAGf,GAAI+7C,KACHC,MAAO,QACPC,QAAS,UACTC,OAAQ,SACRC,SAAU,WACVC,SAAU,cACVC,WAAY,aACZC,UAAW,WACXjB,YAAa,UAEbkB,YAAa,cACbtC,YAAa,UACbE,aAAc,YAIdqC,SAAU,WAEVC,QAAS,UACTC,QAAS,UAOTC,WAAY,UAEZC,cAAe,gBACfC,WAAY,aACZC,SAAU,WAEX,IAAIC,GAEJ,SAASC,IAAchD,EAAOpkB,EAAKhmB,GAClC,IAAImtC,GAAeA,GAAgBptB,GAAMosB,GACzCnmB,GAAMmnB,GAAcnnB,IAAQA,CAC5BokB,GAAMpkB,GAAOhmB,EAGd,QAASqtC,IAAoBjD,EAAO3sC,GACnC,GAAInK,KACJxG,IAAKq/C,IAAiBt9C,IAAI,SAASyO,GAClC,IAAI,GAAI3T,GAAI,EAAGA,EAAIsiC,GAAWriC,SAAUD,EAAG,GAAGsiC,GAAWtiC,GAAG,IAAM2T,EAAG,MAAO2uB,IAAWtiC,EACvF,KAAIA,EAAI,EAAGA,EAAIwiC,GAAUviC,SAAUD,EAAG,GAAGwiC,GAAUxiC,GAAG,IAAM2T,EAAG,MAAO6uB,IAAUxiC,EAChF,MAAM2T,KACJhO,QAAQ,SAAS+Z,GACnB,GAAG+gC,EAAM/gC,EAAE,KAAO,KAAM,MACxB,IAAI/L,GAAIG,GAAQA,EAAK2sC,OAAS3sC,EAAK2sC,MAAM/gC,EAAE,KAAO,KAAO5L,EAAK2sC,MAAM/gC,EAAE,IAAM+gC,EAAM/gC,EAAE,GACpF,QAAOA,EAAE,IACR,IAAK,OAAQ/L,EAAI,GAAIgB,MAAKhB,GAAGsuB,cAAch3B,QAAQ,SAAS,IAAM,QAEnE,SAAU0I,IAAK,SAAUA,EAAIzR,OAAOyR,OAC/B,IAAGA,IAAM,MAAQA,IAAM,MAAO,CAAEA,EAAIA,EAAI,IAAM,QAC9C,IAAGA,YAAagB,MAAMhB,EAAI,GAAIgB,MAAKhB,GAAGsuB,cAAch3B,QAAQ,SAAS,GAC1EtB,GAAEnC,KAAKq6B,GAAS2gB,GAAgB9iC,EAAE,KAAOA,EAAE,GAAI/L,KAEhD,OAAOouB,IAAU,qBAAsBp4B,EAAElD,KAAK,KAAMi1C,MAAMrY,GAAO15B,IAElE,QAASg6C,IAAqBlD,EAAOmD,GACpC,GAAIC,IAAa,aAAa,aAC9B,IAAIzvC,GAAI,0BACR,IAAIzK,KACJ,IAAG82C,EAAOt9C,GAAKs9C,GAAO96C,QAAQ,SAASd,GACxC,IAAIzB,OAAO0yB,UAAUC,eAAe7xB,KAAKu8C,EAAO57C,GAAI,MAClD,KAAI,GAAI7E,GAAI,EAAGA,EAAIsiC,GAAWriC,SAAUD,EAAG,GAAG6E,GAAKy9B,GAAWtiC,GAAG,GAAI,MACrE,KAAIA,EAAI,EAAGA,EAAIwiC,GAAUviC,SAAUD,EAAG,GAAG6E,GAAK29B,GAAUxiC,GAAG,GAAI,MAC/D,KAAIA,EAAI,EAAGA,EAAI6jD,EAAU5jD,SAAUD,EAAG,GAAG6E,GAAKg/C,EAAU7jD,GAAI,MAE5D,IAAI2T,GAAI8sC,EAAM57C,EACd,IAAIoI,GAAI,QACR,UAAU0G,IAAK,SAAU,CAAE1G,EAAI,OAAS0G,GAAIzR,OAAOyR,OAC9C,IAAGA,IAAM,MAAQA,IAAM,MAAO,CAAE1G,EAAI,SAAW0G,GAAIA,EAAI,IAAM,QAC7DA,GAAIzR,OAAOyR,EAChBhK,GAAEnC,KAAKu6B,GAAU3B,GAAav7B,GAAI8O,GAAImwC,QAAQ72C,MAE/C,IAAG22C,EAAWzgD,GAAKygD,GAAWj+C,QAAQ,SAASd,GAChD,IAAIzB,OAAO0yB,UAAUC,eAAe7xB,KAAK0/C,EAAW/+C,GAAI,MACtD,IAAG47C,GAASr9C,OAAO0yB,UAAUC,eAAe7xB,KAAKu8C,EAAO57C,GAAI,MAC5D,IAAI8O,GAAIiwC,EAAU/+C,EAClB,IAAIoI,GAAI,QACR,UAAU0G,IAAK,SAAU,CAAE1G,EAAI,OAAS0G,GAAIzR,OAAOyR,OAC9C,IAAGA,IAAM,MAAQA,IAAM,MAAO,CAAE1G,EAAI,SAAW0G,GAAIA,EAAI,IAAM,QAC7D,IAAGA,YAAagB,MAAM,CAAE1H,EAAI,aAAe0G,GAAIA,EAAEsuB,kBACjDtuB,GAAIzR,OAAOyR,EAChBhK,GAAEnC,KAAKu6B,GAAU3B,GAAav7B,GAAI8O,GAAImwC,QAAQ72C,MAE/C,OAAO,IAAMmH,EAAI,WAAaivB,GAAO15B,EAAI,KAAOA,EAAElD,KAAK,IAAM,KAAO2N,EAAI,IAKzE,QAAS2vC,IAAenjC,GACvB,GAAIojC,GAAgBpjC,EAAKR,WAAW,GAAI6jC,EAAiBrjC,EAAKR,WAAW,EACzE,OAAO,IAAIzL,OAAOsvC,EAAe,IAAI32C,KAAKI,IAAI,EAAE,IAAMs2C,EAAc,IAAO,aAAa,KAAM/hB,cAAch3B,QAAQ,QAAQ,IAE7H,QAASi5C,IAAejwC,GACvB,GAAID,SAAeC,IAAQ,SAAY,GAAIU,MAAKA,KAAKiN,MAAM3N,IAASA,CACpE,IAAIhH,GAAI+G,EAAK4iB,UAAY,IAAO,WAChC,IAAIrvB,GAAI0F,EAAIK,KAAKI,IAAI,EAAE,IAAKwd,GAAKje,EAAI1F,GAAK+F,KAAKI,IAAI,EAAE,GACrDnG,IAAK,GAAK2jB,IAAK,GACf,IAAIpnB,GAAKyD,EAAI+F,KAAKI,IAAI,EAAE,IAAO,CAC/B,IAAG5J,EAAI,EAAG,CAAEyD,EAAIA,EAAI+F,KAAKI,IAAI,EAAE,GAAKwd,IAAKpnB,EACzC,GAAI6F,GAAIkb,GAAQ,EAAIlb,GAAEsW,YAAY,EAAG1Y,EAAIoC,GAAEsW,YAAY,EAAGiL,EAAI,OAAOvhB,GAItE,QAASw6C,IAAYvjC,EAAMzK,EAAMiuC,GAChC,GAAI3/B,GAAQ7D,EAAKrZ,CACjB,IAAIkR,GAAMmI,EAAKR,WAAW,EAAG,WAC7B,IAAGgkC,EAAK,MAAOxjC,EAAKrZ,EAAIkd,EAAS,IAAK7D,EAAKrZ,CAC3C,OAAOkR,GAIR,QAAS4rC,IAAazjC,EAAMzK,EAAMiuC,GACjC,GAAI3rC,GAAMmI,EAAKR,WAAW,EAAG,SAC7B,IAAGgkC,EAAKxjC,EAAKrZ,GAAM,GAAMkR,EAAIxY,OAAO,EAAK,GAAM,CAC/C,OAAOwY,GAMR,QAAS6rC,IAAmB1jC,EAAM2jC,EAAYH,GAC7C,GAAGG,IAAe,GAAoB,MAAOF,IAAazjC,EAC1D,OAAOujC,IAAYvjC,EAAM2jC,EAAYH,GAGtC,QAASI,IAAe5jC,EAAM3T,EAAGm3C,GAAO,MAAOE,IAAmB1jC,EAAM3T,EAAGm3C,IAAQ,MAAQ,EAAG,GAC9F,QAASK,IAAwB7jC,EAAM3T,GAAK,IAAIA,EAAG,KAAM,IAAInM,OAAM,8CAAgD,OAAOwjD,IAAmB1jC,EAAM3T,EAAG,GAGtJ,QAASy3C,IAAuB9jC,GAC/B,GAAI3gB,GAAS2gB,EAAKR,WAAW,EAC7B,IAAIukC,KACJ,KAAI,GAAI3kD,GAAI,EAAGA,GAAKC,IAAUD,EAAG,CAChC,GAAIykB,GAAQ7D,EAAKrZ,CACjBo9C,GAAI3kD,GAAK4gB,EAAKR,WAAW,EAAG,UAAUnV,QAAQ2B,EAAK,GACnD,IAAIgU,EAAKrZ,EAAIkd,EAAS,EAAM7D,EAAKrZ,GAAK,EAEvC,MAAOo9C,GAIR,QAASC,IAA+BhkC,GACvC,GAAI3gB,GAAS2gB,EAAKR,WAAW,EAC7B,IAAIukC,KACJ,KAAI,GAAI3kD,GAAI,EAAGA,GAAKC,IAAUD,EAAG2kD,EAAI3kD,GAAK4gB,EAAKR,WAAW,EAAG,YAAYnV,QAAQ2B,EAAK,GACtF,OAAO+3C,GAKR,QAASE,IAAoBjkC,GAC5B,GAAI6D,GAAQ7D,EAAKrZ,CACjB,IAAIu9C,GAAgBC,GAAyBnkC,EAAM6wB,GACnD,IAAG7wB,EAAKA,EAAKrZ,IAAM,GAAQqZ,EAAKA,EAAKrZ,EAAE,IAAM,GAAUqZ,EAAKrZ,EAAIkd,EAAS,EAAO7D,EAAKrZ,GAAK,CAC1F,IAAIy9C,GAAcD,GAAyBnkC,EAAMmwB,GACjD,QAAQ+T,EAAeE,GAIxB,QAASC,IAA4BrkC,GACpC,GAAIskC,GAAYtkC,EAAKR,WAAW,EAChC,IAAIvc,KACJ,KAAI,GAAI7D,GAAI,EAAGA,EAAIklD,EAAY,IAAKllD,EAAG6D,EAAI2D,KAAKq9C,GAAoBjkC,GACpE,OAAO/c,GAIR,QAASshD,IAAiBvkC,EAAKwkC,GAC9B,GAAItgC,GAAMlE,EAAKR,WAAW,EAC1B,IAAIilC,KACJ,KAAI,GAAI/kD,GAAI,EAAGA,GAAKwkB,IAAOxkB,EAAG,CAC7B,GAAI+hD,GAAMzhC,EAAKR,WAAW,EAC1B,IAAI/c,GAAMud,EAAKR,WAAW,EAC1BilC,GAAKhD,GAAOzhC,EAAKR,WAAW/c,EAAM+hD,IAAa,KAAO,UAAU,QAASn6C,QAAQ2B,EAAK,IAAI3B,QAAQ4B,EAAK,IACvG,IAAGu4C,IAAa,MAAU/hD,EAAM,EAAIud,EAAKrZ,GAAK,EAE/C,GAAGqZ,EAAKrZ,EAAI,EAAGqZ,EAAKrZ,EAAKqZ,EAAKrZ,GAAG,EAAE,GAAI,CACvC,OAAO89C,GAIR,QAASC,IAAW1kC,GACnB,GAAI8D,GAAO9D,EAAKR,WAAW,EAC3B,IAAImlC,GAAQ3kC,EAAK5c,MAAM4c,EAAKrZ,EAAEqZ,EAAKrZ,EAAEmd,EACrC9D,GAAKrZ,GAAKmd,CACV,KAAIA,EAAO,GAAK,EAAG9D,EAAKrZ,GAAM,GAAKmd,EAAO,GAAM,CAChD,OAAO6gC,GAIR,QAASC,IAAoB5kC,GAE5B,GAAIjX,KACJA,GAAE87C,KAAO7kC,EAAKR,WAAW,EAEzBQ,GAAKrZ,GAAKoC,EAAE87C,KAAO,GAAK97C,EAAE87C,KAAO,GAAK,CACtC,OAAO97C,GAIR,QAASo7C,IAAyBnkC,EAAMzK,EAAMqR,GAC7C,GAAIva,GAAI2T,EAAKR,WAAW,GAAIukC,EAAK7wC,EAAO0T,KACxC5G,GAAKrZ,GAAK,CACV,IAAG4O,IAAS86B,GACZ,GAAGhkC,IAAMkJ,GAAQu7B,GAAUnrC,QAAQ4P,MAAS,MAAQA,EAAO,QAAW,OAAWlJ,EAAI,QAAW,MAAS,KAAM,IAAInM,OAAM,iBAAmBqV,EAAO,QAAUlJ,EAC7J,QAAOkJ,IAAS86B,GAAahkC,EAAIkJ,GAChC,IAAK,GAAgBwuC,EAAM/jC,EAAKR,WAAW,EAAG,IAAM,KAAItM,EAAK+P,IAAKjD,EAAKrZ,GAAK,CAAG,OAAOo9C,GACtF,IAAK,GAAgBA,EAAM/jC,EAAKR,WAAW,EAAG,IAAM,OAAOukC,GAC3D,IAAK,IAAkB,MAAO/jC,GAAKR,WAAW,KAAO,EACrD,IAAK,IAAiBukC,EAAM/jC,EAAKR,WAAW,EAAI,OAAOukC,GACvD,IAAK,IAAmB/jC,EAAKrZ,GAAK,CAAG8O,KAAMmuC,GAAe5jC,EAAMA,EAAKA,EAAKrZ,EAAE,IAAI0D,QAAQ,wBAAwB,KAAO,OACvH,IAAK,IAAoB2V,EAAKrZ,GAAK,CAAG8O,KAAMmuC,GAAe5jC,EAAMA,EAAKA,EAAKrZ,EAAE,IAAI0D,QAAQ,wBAAwB,KAAO,OACxH,IAAK,IAAsB,MAAO84C,IAAenjC,GACjD,IAAK,IAAkB,MAAO0kC,IAAW1kC,GACzC,IAAK,IAAgB,MAAO4kC,IAAoB5kC,GAChD,IAAK,IAAoB,MAAO4jC,IAAe5jC,EAAM3T,GAAI6G,EAAK+P,KAAK5Y,QAAQ2B,EAAK,IAChF,IAAK,IAAkB,MAAO63C,IAAwB7jC,EAAM3T,GAAUhC,QAAQ2B,EAAK,IACnF,IAAK,MAAiC,MAAOq4C,IAA4BrkC,GACzE,IAAK,OACL,IAAK,MACJ,MAAO3T,IAAK,KAASy3C,GAAuB9jC,GAAQgkC,GAA+BhkC,GACpF,QAAS,KAAM,IAAI9f,OAAM,wCAA0CqV,EAAO,IAAMlJ,KAGlF,QAASy4C,IAAyBvvC,EAAM0qB,GACvC,GAAIl3B,GAAIkb,GAAQ,GAAInF,EAAImF,GAAQ,EAChClb,GAAEsW,YAAY,EAAG9J,GAAQ,GAAO,GAAOA,EACvC,QAAOA,GACN,IAAK,GAAgBuJ,EAAEO,aAAa,EAAG4gB,EAAQ,OAC/C,IAAK,GAAgBnhB,EAAImF,GAAQ,EAAInF,GAAEO,YAAY,EAAG4gB,EAAO,IAAM,OACnE,IAAK,IAAkBnhB,EAAEO,YAAY,EAAG4gB,EAAQ,EAAO,EAAO,OAC9D,IAAK,IAAuBnhB,EAAIwkC,GAAerjB,EAAQ,OACvD,IAAK,KACL,IAAK,IACPnhB,EAAImF,GAAQ,EAAI,GAAKgc,EAAM5gC,OAAS,IAAM4gC,EAAM5gC,OAAS,EAAI,EAAI,GAC9Dyf,GAAEO,YAAY,EAAG4gB,EAAM5gC,OAAS,EAChCyf,GAAEO,YAAY,EAAG4gB,EAAO,OACxB,OAAMnhB,EAAEnY,GAAKmY,EAAEzf,OAAQyf,EAAEO,YAAY,EAAG,EACxC,OACD,QAAS,KAAM,IAAInf,OAAM,wCAA0CqV,EAAO,IAAM0qB,IAEjF,MAAO50B,IAAStC,EAAG+V,IAIpB,QAASimC,IAAkB/kC,EAAMglC,GAChC,GAAIC,GAAajlC,EAAKrZ,CACtB,IAAImd,GAAO9D,EAAKR,WAAW,EAC3B,IAAI0lC,GAAWllC,EAAKR,WAAW,EAC/B,IAAIqgC,MAAYzgD,EAAI,CACpB,IAAIolD,GAAW,CACf,IAAIW,IAAc,EAAGC,IACrB,KAAIhmD,EAAI,EAAGA,GAAK8lD,IAAY9lD,EAAG,CAC9B,GAAIimD,GAASrlC,EAAKR,WAAW,EAC7B,IAAI8lC,GAAStlC,EAAKR,WAAW,EAC7BqgC,GAAMzgD,IAAMimD,EAAQC,EAASL,GAE9BpF,EAAMp5B,KAAK,SAASplB,EAAEqS,GAAK,MAAOrS,GAAE,GAAKqS,EAAE,IAC3C,IAAI6xC,KACJ,KAAInmD,EAAI,EAAGA,GAAK8lD,IAAY9lD,EAAG,CAC9B,GAAG4gB,EAAKrZ,IAAMk5C,EAAMzgD,GAAG,GAAI,CAC1B,GAAIomD,GAAO,IACX,IAAGpmD,EAAE,GAAK4lD,EAAO,OAAOA,EAAMnF,EAAMzgD,EAAE,GAAG,IAAIiN,GAC5C,IAAK,GAAgB,GAAG2T,EAAKrZ,EAAE,IAAMk5C,EAAMzgD,GAAG,GAAI,CAAE4gB,EAAKrZ,GAAG,CAAG6+C,GAAO,MAAS,MAC/E,IAAK,IAAoB,GAAGxlC,EAAKrZ,GAAKk5C,EAAMzgD,GAAG,GAAI,CAAE4gB,EAAKrZ,EAAEk5C,EAAMzgD,GAAG,EAAIomD,GAAO,MAAS,MACzF,IAAK,MAAiC,GAAGxlC,EAAKrZ,GAAKk5C,EAAMzgD,GAAG,GAAI,CAAE4gB,EAAKrZ,EAAEk5C,EAAMzgD,GAAG,EAAIomD,GAAO,MAAS,OAEvG,KAAKR,GAAO5lD,GAAG,IAAM4gB,EAAKrZ,GAAKk5C,EAAMzgD,GAAG,GAAI,CAAEomD,EAAK,KAAOxlC,GAAKrZ,EAAIk5C,EAAMzgD,GAAG,GAC5E,GAAGomD,EAAM,KAAM,IAAItlD,OAAM,gCAAkC2/C,EAAMzgD,GAAG,GAAK,OAAS4gB,EAAKrZ,EAAI,KAAOvH,GAEnG,GAAG4lD,EAAO,CACT,GAAGnF,EAAMzgD,GAAG,IAAM,GAAKygD,EAAMxgD,OAASD,EAAE,GAAKygD,EAAMzgD,GAAG,IAAMygD,EAAMzgD,EAAE,GAAG,GAAI,QAC3E,IAAIqmD,GAAST,EAAMnF,EAAMzgD,GAAG,GAC5BmmD,GAAME,EAAOxjD,GAAKkiD,GAAyBnkC,EAAMylC,EAAOp5C,GAAI4W,IAAI,MAChE,IAAGwiC,EAAO3mC,IAAM,UAAWymC,EAAME,EAAOxjD,GAAKX,OAAOikD,EAAME,EAAOxjD,IAAM,IAAM,KAAO,OAASX,OAAOikD,EAAME,EAAOxjD,GAAK,QAASmB,OAAO,EACtI,IAAGqiD,EAAOxjD,GAAK,WAAY,OAAOsjD,EAAME,EAAOxjD,IAC9C,IAAK,GAAGsjD,EAAME,EAAOxjD,GAAK,KAE1B,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,MACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OAAO,KAAM,KAClB,IAAK,QAAO,KAAM,IACjB2G,EAAO47C,EAAYe,EAAME,EAAOxjD,KAAK,EAAK,MAAS,OACpD,QAAS,KAAM,IAAI/B,OAAM,yBAA2BqlD,EAAME,EAAOxjD,UAE5D,CACN,GAAG49C,EAAMzgD,GAAG,KAAO,EAAK,CACvBolD,EAAWe,EAAMf,SAAYL,GAAyBnkC,EAAMkwB,GAC5DtnC,GAAO47C,EACP,IAAGW,KAAgB,EAAG,CACrB,GAAIO,GAAS1lC,EAAKrZ,CAClBqZ,GAAKrZ,EAAIk5C,EAAMsF,GAAY,EAC3BC,GAAUb,GAAiBvkC,EAAKwkC,EAChCxkC,GAAKrZ,EAAI++C,OAEJ,IAAG7F,EAAMzgD,GAAG,KAAO,EAAG,CAC5B,GAAGolD,IAAa,EAAG,CAAEW,EAAa/lD,CAAG4gB,GAAKrZ,EAAIk5C,EAAMzgD,EAAE,GAAG,EAAI,UAC7DgmD,EAAUb,GAAiBvkC,EAAKwkC,OAC1B,CACN,GAAIhiC,GAAO4iC,EAAQvF,EAAMzgD,GAAG,GAC5B,IAAIqW,EAEJ,QAAOuK,EAAKA,EAAKrZ,IAChB,IAAK,IAAkBqZ,EAAKrZ,GAAK,CAAG8O,GAAMivC,GAAW1kC,EAAO,OAC5D,IAAK,IAAmBA,EAAKrZ,GAAK,CAAG8O,GAAMmuC,GAAe5jC,EAAMA,EAAKA,EAAKrZ,EAAE,IAAI0D,QAAQ,wBAAwB,KAAO,OACvH,IAAK,IAAoB2V,EAAKrZ,GAAK,CAAG8O,GAAMmuC,GAAe5jC,EAAMA,EAAKA,EAAKrZ,EAAE,IAAI0D,QAAQ,wBAAwB,KAAO,OACxH,IAAK,GAAgB2V,EAAKrZ,GAAK,CAAG8O,GAAMuK,EAAKR,WAAW,EAAG,IAAM,OACjE,IAAK,IAAiBQ,EAAKrZ,GAAK,CAAG8O,GAAMuK,EAAKR,WAAW,EAAI,OAC7D,IAAK,GAAgBQ,EAAKrZ,GAAK,CAAG8O,GAAMuK,EAAKR,WAAW,EAAG,IAAM,OACjE,IAAK,IAAkBQ,EAAKrZ,GAAK,CAAG8O,GAAMkwC,GAAU3lC,EAAM,EAAI,OAC9D,IAAK,IAAsBA,EAAKrZ,GAAK,CAAG8O,GAAMghB,GAAU0sB,GAAenjC,GAAQ,OAC/E,QAAS,KAAM,IAAI9f,OAAM,mBAAqB8f,EAAKA,EAAKrZ,KAEzD4+C,EAAM/iC,GAAQ/M,IAIjBuK,EAAKrZ,EAAIs+C,EAAanhC,CACtB,OAAOyhC,GAER,GAAIK,KAAc,WAAY,YAAa,gBAAiB,cAAe,mBAAoB,QAC/F,SAASC,IAAoBpwC,GAC5B,aAAcA,IACb,IAAK,UAAW,MAAO,IACvB,IAAK,SAAU,OAASA,EAAI,IAAIA,EAAO,EAAO,EAC9C,IAAK,SAAU,MAAO,IACtB,IAAK,SAAU,GAAGA,YAAe1B,MAAM,MAAO,GAAM,QAErD,OAAQ,EAET,QAAS+xC,IAAkBC,EAASC,EAAIhB,GACvC,GAAIiB,GAAMhiC,GAAQ,GAAIiiC,KAAWC,IACjC,IAAIhmC,GAAK,EAAG/gB,EAAI,CAEhB,IAAIgnD,GAAKniC,GAAQ,GAAIoiC,EAAMpiC,GAAQ,EACnCmiC,GAAG/mC,YAAY,EAAG,EAClB+mC,GAAG/mC,YAAY,EAAG,KAClBgnC,GAAIhnC,YAAY,EAAG,EACnB8mC,GAAKv/C,KAAKw/C,EAAKF,GAAKt/C,KAAKy/C,EACzBlmC,IAAM,EAAIimC,EAAG/mD,MAEb,KAAI2mD,EAAI,CACPK,EAAMpiC,GAAQ,EACdoiC,GAAIhnC,YAAY,EAAG,EACnB6mC,GAAKI,QAAQD,EAEb,IAAI/6C,IAAQ2Y,GAAQ,GACpB3Y,GAAK,GAAG+T,YAAY,EAAG0mC,EAAQ1mD,OAC/B,KAAID,EAAI,EAAGA,EAAI2mD,EAAQ1mD,SAAUD,EAAG,CACnC,GAAI6gC,GAAQ8lB,EAAQ3mD,GAAG,EACvBgnD,GAAKniC,GAAQ,EAAI,EAAI,GAAKgc,EAAM5gC,OAAS,IAAM4gC,EAAM5gC,OAAS,EAAI,EAAI,GACtE+mD,GAAG/mC,YAAY,EAAGjgB,EAAE,EACpBgnD,GAAG/mC,YAAY,EAAG4gB,EAAM5gC,OAAS,EACjC+mD,GAAG/mC,YAAY,EAAG4gB,EAAO,OACzB,OAAMmmB,EAAGz/C,GAAKy/C,EAAG/mD,OAAQ+mD,EAAG/mC,YAAY,EAAG,EAC3C/T,GAAK1E,KAAKw/C,GAEXA,EAAK/6C,EAAQC,EACb66C,GAAKG,QAAQF,EACbjmC,IAAM,EAAIimC,EAAG/mD,OAGd,IAAID,EAAI,EAAGA,EAAI2mD,EAAQ1mD,SAAUD,EAAG,CACnC,GAAG4mD,IAAOA,EAAGD,EAAQ3mD,GAAG,IAAK,QAC7B,IAAGwmD,GAAUjgD,QAAQogD,EAAQ3mD,GAAG,KAAO,GAAK6gD,GAAiBt6C,QAAQogD,EAAQ3mD,GAAG,KAAO,EAAG,QAC1F,IAAG2mD,EAAQ3mD,GAAG,IAAM,KAAM,QAE1B,IAAIqW,GAAMswC,EAAQ3mD,GAAG,GAAIiX,EAAM,CAC/B,IAAG2vC,EAAI,CACN3vC,GAAO2vC,EAAGD,EAAQ3mD,GAAG,GACrB,IAAImnD,GAAQ,EAAQlwC,EACpB,IAAGkwC,EAAMznC,GAAK,iBAAoBrJ,IAAO,SAAU,CACtD,GAAIkhB,GAAMlhB,EAAI9V,MAAM,IAChB8V,KAASkhB,EAAI,IAAK,MAASA,EAAI,IAAK,GAErCyvB,EAAKtB,GAAyByB,EAAMl6C,EAAGoJ,OACjC,CACN,GAAIjC,GAAIqyC,GAAoBpwC,EAC5B,IAAGjC,IAAM,EAAG,CAAEA,EAAI,EAAMiC,GAAMnU,OAAOmU,GACrC2wC,EAAKtB,GAAyBtxC,EAAGiC,GAElC0wC,EAAKv/C,KAAKw/C,EAEVC,GAAMpiC,GAAQ,EACdoiC,GAAIhnC,YAAY,GAAI2mC,EAAK,EAAE5mD,EAAIiX,EAC/B6vC,GAAKt/C,KAAKy/C,EAEVlmC,IAAM,EAAIimC,EAAG/mD,OAGd,GAAI6D,GAAI,GAAKijD,EAAK9mD,OAAS,EAC3B,KAAID,EAAI,EAAGA,EAAI+mD,EAAK9mD,SAAUD,EAAG,CAAE8mD,EAAK9mD,GAAGigB,YAAY,EAAGnc,EAAIA,IAAKijD,EAAK/mD,GAAGC,OAC3E4mD,EAAI5mC,YAAY,EAAGc,EACnB8lC,GAAI5mC,YAAY,EAAG8mC,EAAK9mD,OACxB,OAAOgM,IAAS46C,GAAK16C,OAAO26C,GAAM36C,OAAO46C,IAI1C,QAASK,IAAwBvlC,EAAM+jC,EAAO//B,GAC7C,GAAIjF,GAAOiB,EAAKrV,OAChB,KAAIoU,EAAM,QACVC,IAAUD,EAAM,EAEhB,IAAIymC,GAASC,EAAQC,EAAQC,EAASC,EAAU,CAChD7mC,GAAKkC,IAAI,OAAQ,eAEFlC,GAAKR,WAAW,EAC/B,IAAIsnC,GAAmB9mC,EAAKR,WAAW,EACvC,IAAIqG,GAAQ7F,EAAKR,WAAW,GAC5B,IAAGqG,IAAUrH,GAAI1X,MAAM2gB,OAAOjB,cAAgBX,IAAUZ,EAAO,KAAM,IAAI/kB,OAAM,yBAA2B2lB,EAC1G4gC,GAAUzmC,EAAKR,WAAW,EAC1B,IAAGinC,IAAY,GAAKA,IAAY,EAAG,KAAM,IAAIvmD,OAAM,uBAAyBumD,EAC5EC,GAAS1mC,EAAKR,WAAW,GAAKonC,GAAU5mC,EAAKR,WAAW,EAExD,IAAGinC,IAAY,GAAKG,IAAY5mC,EAAKrZ,EAAG,KAAM,IAAIzG,OAAM,oBAAsB0mD,EAAU,QAAU5mC,EAAKrZ,OAClG,IAAG8/C,IAAY,EAAG,CAAEE,EAAS3mC,EAAKR,WAAW,GAAKqnC,GAAU7mC,EAAKR,WAAW,GACjF,GAAIunC,GAAQhC,GAAkB/kC,EAAMglC,EAEpC,IAAIgC,IAAUF,iBAAkBA,EAChC,KAAI,GAAIpzC,KAAKqzC,GAAOC,EAAKtzC,GAAKqzC,EAAMrzC,EAEpCszC,GAAKC,MAAQP,CAEb,IAAGD,IAAY,EAAG,MAAOO,EACzB,IAAGH,EAAU7mC,EAAKrZ,GAAK,EAAGqZ,EAAKrZ,GAAK,CACpC,IAAGqZ,EAAKrZ,IAAMkgD,EAAS,KAAM,IAAI3mD,OAAM,sBAAwB8f,EAAKrZ,EAAI,QAAUkgD,EAClF,IAAIK,EACJ,KAAMA,EAAQnC,GAAkB/kC,EAAM,MAAS,MAAM7gB,IACrD,IAAIuU,IAAKwzC,GAAOF,EAAKtzC,GAAKwzC,EAAMxzC,EAChCszC,GAAKC,OAASP,EAAQC,EACtB,OAAOK,GAER,QAASG,IAAwBpB,EAAS9gC,EAAO+gC,EAAIhB,EAAOoC,EAAUC,GACrE,GAAIpB,GAAMhiC,GAAQmjC,EAAW,GAAK,GAClC,IAAI97C,IAAQ26C,EACZA,GAAI5mC,YAAY,EAAG,MACnB4mC,GAAI5mC,YAAY,EAAG,EACnB4mC,GAAI5mC,YAAY,EAAG,UACnB4mC,GAAI5mC,YAAY,GAAIb,GAAI1X,MAAM2gB,OAAOjB,aAAc,MACnDy/B,GAAI5mC,YAAY,EAAI+nC,EAAW,EAAI,EACnCnB,GAAI5mC,YAAY,GAAI4F,EAAO,MAC3BghC,GAAI5mC,YAAY,EAAI+nC,EAAW,GAAK,GACpC,IAAIE,GAAMxB,GAAkBC,EAASC,EAAIhB,EACzC15C,GAAK1E,KAAK0gD,EAEV,IAAGF,EAAU,CACZ,GAAIG,GAAMzB,GAAkBsB,EAAU,KAAM,KAC5CnB,GAAI5mC,YAAY,GAAIgoC,EAAQ,MAC5BpB,GAAI5mC,YAAY,EAAG,GAAKioC,EAAIjoD,OAC5BiM,GAAK1E,KAAK2gD,GAEX,MAAOl8C,GAAQC,GAGhB,QAASk8C,IAAWxnC,EAAM3gB,GAAU2gB,EAAKR,WAAWngB,EAAS,OAAO,MACpE,QAASooD,IAAYxlD,EAAG8G,GAAK,IAAIA,EAAGA,EAAEkb,GAAQhiB,EAAI,KAAI,GAAIvC,GAAE,EAAGA,EAAEuC,IAAKvC,EAAGqJ,EAAEsW,YAAY,EAAG,EAAI,OAAOtW,GAErG,QAAS2+C,IAAS1nC,EAAM3gB,EAAQ8mC,GAC/B,GAAIxP,MAAU6G,EAASxd,EAAKrZ,EAAItH,CAChC,OAAM2gB,EAAKrZ,EAAI62B,EAAQ7G,EAAI/vB,KAAKu/B,EAAGnmB,EAAMwd,EAASxd,EAAKrZ,GACvD,IAAG62B,IAAWxd,EAAKrZ,EAAG,KAAM,IAAIzG,OAAM,cACtC,OAAOy2B,GAGR,QAASgvB,IAAU3lC,EAAM3gB,GAAU,MAAO2gB,GAAKR,WAAWngB,KAAY,EACtE,QAASsoD,IAAUv7C,EAAGrD,GAAK,IAAIA,EAAGA,EAAEkb,GAAQ,EAAIlb,GAAEsW,YAAY,KAAMjT,EAAI,OAAOrD,GAE/E,QAAS6+C,IAAY5nC,GAAQ,MAAOA,GAAKR,WAAW,EAAG,KACvD,QAASqoC,IAAYz7C,EAAGrD,GAAK,IAAIA,EAAGA,EAAEkb,GAAQ,EAAIlb,GAAEsW,YAAY,EAAGjT,EAAI,OAAOrD,GAC9E,QAAS++C,IAAa9nC,EAAM3gB,GAAU,MAAOqoD,IAAS1nC,EAAK3gB,EAAOuoD,IAKlE,QAASG,IAAU/nC,GAClB,GAAI5T,GAAI4T,EAAKR,WAAW,GAAInT,EAAI2T,EAAKR,WAAW,EAChD,OAAOnT,KAAM,EAAOD,EAAIA,IAAM,EAE/B,QAAS47C,IAAU57C,EAAGC,EAAGtD,GACxB,IAAIA,EAAGA,EAAIkb,GAAQ,EACnBlb,GAAEsW,YAAY,EAAKhT,GAAK,KAAQD,KAAOA,EACvCrD,GAAEsW,YAAY,EAAKhT,GAAK,IAAO,EAAI,EACnC,OAAOtD,GAIR,QAASk/C,IAA2BjoC,EAAM3gB,EAAQ6T,GACjD,GAAIg1C,GAAMloC,EAAKR,WAAWtM,GAAQA,EAAK00B,MAAQ,GAAK,EAAI,EACxD,IAAIhT,GAAW,WACf,IAAI/xB,GAAKoE,CACT,IAAGiM,GAAQA,EAAK00B,MAAQ,EAAG3gC,EAAmB,IAC9C,KAAIiM,GAAQA,EAAK00B,MAAQ,EAAI,CAC5B,GAAIugB,GAAYnoC,EAAKR,WAAW,EAChC,IAAG2oC,EAAW,CAAEvzB,EAAW,iBACrB,IAAG1hB,EAAK00B,MAAQ,GAAI,CAC1BhT,EAAW,OAEZ,GAAG1hB,EAAK00B,MAAQ,GAAK10B,EAAK00B,MAAQ,EAAGhT,EAAW,OAChD,IAAI7rB,GAAIm/C,EAAMloC,EAAKR,WAAW0oC,EAAKtzB,GAAY,EAC/C3tB,GAAmBpE,CACnB,OAAOkG,GAIR,QAASq/C,IAAkCpoC,GAC1C,GAAInd,GAAKoE,CACTA,GAAmB,IACnB,IAAIihD,GAAMloC,EAAKR,WAAW,GAAIU,EAAQF,EAAKR,WAAW,EACtD,IAAiC6oC,GAASnoC,EAAQ,EAAKooC,EAAUpoC,EAAQ,CACzE,IAAIqoC,GAAQ,GAAKroC,EAAQ,EACzB,IAAIsoC,GAAO,EAAGC,CACd,IAAIrqB,KACJ,IAAGkqB,EAASE,EAAOxoC,EAAKR,WAAW,EACnC,IAAG6oC,EAAQI,EAAWzoC,EAAKR,WAAW,EACtC,IAAIoV,GAAW2zB,GAAS,EAAI,YAAc,WAC1C,IAAIn6B,GAAM85B,IAAQ,EAAI,GAAKloC,EAAKR,WAAW0oC,EAAKtzB,EAChD,IAAG0zB,EAAStoC,EAAKrZ,GAAK,EAAI6hD,CAC1B,IAAGH,EAAQroC,EAAKrZ,GAAK8hD,CACrBrqB,GAAE/xB,EAAI+hB,CACN,KAAIk6B,EAAS,CAAElqB,EAAEnb,IAAM,MAAQmb,EAAE/xB,EAAI,MAAQ+xB,GAAErnB,EAAIqnB,EAAE/xB,EACrDpF,EAAmBpE,CACnB,OAAOu7B,GAER,QAASsqB,IAAkCC,GAC1C,GAAI9wC,GAAO8wC,EAAMt8C,GAAG,GAAKu8C,EAAQ,CAEjC,IAAI3C,GAAMhiC,GAAQ,GAAK2kC,EAAQ,EAAI,EAAI,GACvC3C,GAAI5mC,YAAY,EAAGxH,EAAIxY,OACvB4mD,GAAI5mC,YAAY,GAAIupC,EAAQ,EAAI,EAAO,GAAQ,EAC/C,IAAGA,EAAQ,EAAG3C,EAAI5mC,YAAY,EAAGupC,EAEjC,IAAIC,GAAQ5kC,GAAQ,EAAIpM,EAAIxY,OAC5BwpD,GAAMxpC,YAAY,EAAIxH,EAAIxY,OAAQwY,EAAK,UAEvC,IAAI5U,IAAOgjD,EAAK4C,EAEhB,OAAOx9C,GAAQpI,GAIhB,QAAS6lD,IAA2B9oC,EAAMkoC,EAAKh1C,GAC9C,GAAImH,EACJ,IAAGnH,EAAM,CACR,GAAGA,EAAK00B,MAAQ,GAAK10B,EAAK00B,MAAQ,EAAG,MAAO5nB,GAAKR,WAAW0oC,EAAK,QACjE,IAAGh1C,EAAK00B,MAAQ,GAAI,MAAO5nB,GAAKR,WAAW0oC,EAAK,aAEjD,GAAIC,GAAYnoC,EAAKR,WAAW,EAChC,IAAG2oC,IAAY,EAAG,CAAE9tC,EAAS2F,EAAKR,WAAW0oC,EAAK,iBAC7C,CAAE7tC,EAAS2F,EAAKR,WAAW0oC,EAAK,aACrC,MAAO7tC,GAIR,QAAS0uC,IAAsB/oC,EAAM3gB,EAAQ6T,GAC5C,GAAIg1C,GAAMloC,EAAKR,WAAWtM,GAAQA,EAAK00B,MAAQ,EAAI,EAAI,EACvD,IAAGsgB,IAAQ,EAAG,CAAEloC,EAAKrZ,GAAK,OAAO,GACjC,MAAOmiD,IAA2B9oC,EAAMkoC,EAAKh1C,GAG9C,QAAS81C,IAAuBhpC,EAAM3gB,EAAQ6T,GAC7C,GAAGA,EAAK00B,KAAO,EAAG,MAAOmhB,IAAsB/oC,EAAM3gB,EAAQ6T,EAC7D,IAAIg1C,GAAMloC,EAAKR,WAAW,EAC1B,IAAG0oC,IAAQ,EAAG,CAAEloC,EAAKrZ,GAAK,OAAO,GACjC,MAAOqZ,GAAKR,WAAW0oC,EAAMh1C,EAAK00B,MAAQ,IAAM5nB,EAAKwlB,KAAS,QAAU,aAGzE,QAASyjB,IAAsBpxC,EAAK3E,EAAMnK,GACzC,IAAIA,EAAGA,EAAIkb,GAAQ,EAAI,EAAIpM,EAAIxY,OAC/B0J,GAAEsW,YAAY,EAAGxH,EAAIxY,OACrB0J,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,GAAIxH,EAAK,UACvB,OAAO9O,GAIR,QAASmgD,IAAkBlpC,GAC1B,GAAIE,GAAQF,EAAKR,WAAW,EAC5BQ,GAAKrZ,GACL,IAAIwiD,GAAQnpC,EAAKR,WAAW,EAC5BQ,GAAKrZ,GAAK,CACV,QAAQuZ,EAAOipC,GAIhB,QAASC,IAAiBppC,GACzB,GAAIvd,GAAMud,EAAKR,WAAW,GAAIqE,EAAQ7D,EAAKrZ,CAC3C,IAAI0iD,GAAQ,KACZ,IAAG5mD,EAAM,GAAI,CAEZud,EAAKrZ,GAAKlE,EAAM,EAChB,IAAGud,EAAKR,WAAW,MAAQ,mCAAoC6pC,EAAQ,IACvErpC,GAAKrZ,EAAIkd,EAEV,GAAI+P,GAAM5T,EAAKR,YAAY6pC,EAAM5mD,EAAI,GAAGA,IAAM,EAAG,WAAW4H,QAAQ2B,EAAK,GACzE,IAAGq9C,EAAOrpC,EAAKrZ,GAAK,EACpB,OAAOitB,GAIR,QAAS01B,IAAkBtpC,GAC1B,GAAIupC,GAAQvpC,EAAKR,WAAW,EAC5B,IAAIob,GAAW,EAAI,OAAM2uB,KAAU,EAAG3uB,GAAY,KAClD,IAAI4uB,GAAWxpC,EAAKR,WAAW,EAAG,aAClCQ,GAAKrZ,GAAK,CACV,IAAGqZ,EAAKR,WAAW,IAAM,MAAQ,KAAM,IAAItf,OAAM,kBACjD,IAAIigB,GAAKH,EAAKR,WAAW,EACzB,IAAGW,IAAO,EAAG,MAAOya,GAAW4uB,EAASn/C,QAAQ,MAAM,IACtD,IAAIs6C,GAAQ3kC,EAAKR,WAAW,EAC5B,IAAGQ,EAAKR,WAAW,IAAM,EAAG,KAAM,IAAItf,OAAM,kBAC5C,IAAIupD,GAAczpC,EAAKR,WAAWmlC,GAAO,EAAG,WAAWt6C,QAAQ2B,EAAK,GACpE,OAAO4uB,GAAW6uB,EAInB,QAASC,IAAuB1pC,EAAM3gB,GACrC,GAAI4lB,GAAQjF,EAAKR,WAAW,GAAKngB,IAAU,EAC3C,QAAO4lB,GACN,IAAK,mCAAoC,MAAOmkC,IAAiBppC,EAAM3gB,GACvE,IAAK,mCAAoC,MAAOiqD,IAAkBtpC,EAAM3gB,GACxE,QAAS,KAAM,IAAIa,OAAM,uBAAyB+kB,KAKpD,QAAS0kC,IAAsB3pC,GAC9B,GAAIvd,GAAMud,EAAKR,WAAW,EAC1B,IAAIzW,GAAItG,EAAM,EAAIud,EAAKR,WAAW/c,EAAK,WAAW4H,QAAQ2B,EAAM,IAAM,EACtE,OAAOjD,GAER,QAAS6gD,IAAsB/xC,EAAK9O,GACnC,IAAIA,EAAGA,EAAIkb,GAAQ,EAAIpM,EAAIxY,OAAS,EACpC0J,GAAEsW,YAAY,EAAG,EAAIxH,EAAIxY,OACzB,KAAI,GAAID,GAAI,EAAGA,EAAIyY,EAAIxY,SAAUD,EAAG2J,EAAEsW,YAAY,EAAGxH,EAAIvY,WAAWF,GACpE2J,GAAEsW,YAAY,EAAG,EACjB,OAAOtW,GAIR,QAAS8gD,IAAgB7pC,EAAM3gB,GAC9B,GAAIuxB,GAAM5Q,EAAKrZ,EAAItH,CACnB,IAAIyqD,GAAO9pC,EAAKR,WAAW,EAC3B,IAAGsqC,IAAS,EAAG,KAAM,IAAI5pD,OAAM,+BAAiC4pD,EAChE,IAAI5pC,GAAQF,EAAKR,WAAW,EAC5BQ,GAAKrZ,GAAK,CACV,IAAIojD,GAAaC,EAAiBC,EAASC,EAAYC,EAAI,GAAIC,EAAMC,CACrE,IAAGnqC,EAAQ,GAAQ6pC,EAAcJ,GAAsB3pC,EAAM4Q,EAAM5Q,EAAKrZ,EACxE,IAAGuZ,EAAQ,IAAQ8pC,EAAkBL,GAAsB3pC,EAAM4Q,EAAM5Q,EAAKrZ,EAC5E,KAAIuZ,EAAQ,OAAY,IAAQ+pC,EAAUN,GAAsB3pC,EAAM4Q,EAAM5Q,EAAKrZ,EACjF,KAAIuZ,EAAQ,OAAY,EAAQgqC,EAAaR,GAAuB1pC,EAAM4Q,EAAM5Q,EAAKrZ,EACrF,IAAGuZ,EAAQ,EAAQiqC,EAAMR,GAAsB3pC,EAAM4Q,EAAM5Q,EAAKrZ,EAChE,IAAGuZ,EAAQ,GAAQkqC,EAAOpqC,EAAKR,WAAW,GAC1C,IAAGU,EAAQ,GAAQmqC,EAAWlH,GAAenjC,EAC7CA,GAAKrZ,EAAIiqB,CACT,IAAI4M,GAASwsB,GAAiBC,GAASC,GAAY,EACnD,IAAG1sB,GAAU2sB,EAAK3sB,GAAQ,IAAI2sB,CAC9B,KAAI3sB,EAAQA,EAAS,IAAM2sB,CAC3B,IAAIjqC,EAAQ,GAAWsd,EAAOj+B,OAAO,IAAM,KAAOi+B,EAAOj+B,OAAO,IAAM,IAAKi+B,EAAS,UAAYA,CAChG,IAAIv6B,IAAQ86C,OAAOvgB,EACnB,IAAG4sB,EAAMnnD,EAAImnD,KAAOA,CACpB,IAAGC,EAAUpnD,EAAIoQ,KAAOg3C,CACxB,IAAGN,EAAa9mD,EAAIqnD,QAAUP,CAC9B,OAAO9mD,GAER,QAASsnD,IAAgBC,GACxB,GAAIvnD,GAAMghB,GAAQ,KAAM7kB,EAAI,CAC5B,IAAI2+C,GAASyM,EAAGzM,MAChB,IAAGA,EAAO36C,MAAM,EAAE,IAAM,UAAW26C,EAASA,EAAO36C,MAAM,EACzD,IAAIqnD,GAAU1M,EAAOp4C,QAAQ,IAC7B,IAAII,GAAI0kD,GAAW,EAAI,GAAO,EAC9B,QAAO1M,EAAOx+C,OAAO,IAAM,IAAK,IAAKwG,EAAE,EAAM,OAAO,IAAK,IAAKA,IAAI,CAAG,QACrE9C,EAAIoc,YAAY,EAAE,EAAIpc,GAAIoc,YAAY,EAAGtZ,EACzC,IAAIhD,IAAQ,EAAE,QAAQ,QAAQ,QAAQ,GAAK,KAAI3D,EAAI,EAAGA,EAAI2D,EAAK1D,SAAUD,EAAG6D,EAAIoc,YAAY,EAAGtc,EAAK3D,GACpG,IAAG2G,GAAK,GAAM,CACbg4C,EAASA,EAAO36C,MAAM,EACtBwmD,IAAsB7L,EAAQ96C,OACxB,IAAG8C,EAAI,EAAM,CACnBhD,EAAO,kDAAkDpD,MAAM,IAC/D,KAAIP,EAAI,EAAGA,EAAI2D,EAAK1D,SAAUD,EAAG6D,EAAIoc,YAAY,EAAGlI,SAASpU,EAAK3D,GAAI,IACtE,IAAIsrD,GAAYD,GAAW,EAAI1M,EAAO36C,MAAM,EAAGqnD,GAAW1M,CAC1D96C,GAAIoc,YAAY,EAAG,GAAGqrC,EAAUrrD,OAAS,GACzC,KAAID,EAAI,EAAGA,EAAIsrD,EAAUrrD,SAAUD,EAAG6D,EAAIoc,YAAY,EAAGqrC,EAAUprD,WAAWF,GAC9E6D,GAAIoc,YAAY,EAAG,EACnB,IAAGtZ,EAAI,EAAM6jD,GAAsBa,GAAW,EAAI1M,EAAO36C,MAAMqnD,EAAQ,GAAI,GAAIxnD,OACzE,CACNF,EAAO,kDAAkDpD,MAAM,IAC/D,KAAIP,EAAI,EAAGA,EAAI2D,EAAK1D,SAAUD,EAAG6D,EAAIoc,YAAY,EAAGlI,SAASpU,EAAK3D,GAAI,IACtE,IAAIkT,GAAI,CACR,OAAMyrC,EAAO36C,MAAMkP,EAAE,EAAEA,EAAE,EAAE,IAAI,OAAOyrC,EAAO36C,MAAMkP,EAAE,EAAEA,EAAE,EAAE,IAAI,SAAUA,CACzErP,GAAIoc,YAAY,EAAG/M,EACnBrP,GAAIoc,YAAY,EAAG0+B,EAAO1+C,OAAS,EAAIiT,EAAI,EAC3C,KAAIlT,EAAI,EAAGA,EAAI2+C,EAAO1+C,OAAS,EAAIiT,IAAKlT,EAAG6D,EAAIoc,YAAY,EAAG0+B,EAAOz+C,WAAWF,EAAI,EAAIkT,GAAK,IAC7FrP,GAAIoc,YAAY,EAAG,EACnBpc,GAAIoc,YAAY,EAAG,MACnBpc,GAAIoc,YAAY,EAAG,MACnB,KAAIjgB,EAAI,EAAGA,EAAI,IAAKA,EAAG6D,EAAIoc,YAAY,EAAG,GAE3C,MAAOpc,GAAIG,MAAM,EAAGH,EAAI0D,GAIzB,QAASgkD,IAAe3qC,GAAQ,GAAIjJ,GAAIiJ,EAAKR,WAAW,GAAIod,EAAI5c,EAAKR,WAAW,GAAI0K,EAAIlK,EAAKR,WAAW,GAAIyL,EAAIjL,EAAKR,WAAW,EAAI,QAAQzI,EAAE6lB,EAAE1S,EAAEe,GAGlJ,QAAS2/B,IAAc5qC,EAAM3gB,GAAU,GAAIgC,GAAIspD,GAAe3qC,EAAM3gB,EAASgC,GAAE,GAAK,CAAG,OAAOA,GAI9F,QAASwpD,IAAc7qC,EAAM3gB,EAAQ6T,GACpC,GAAI43C,GAAK9qC,EAAKR,WAAW,EACzB,IAAIopB,GAAM5oB,EAAKR,WAAW,EAC1B,IAAIukC,IAAQhtC,EAAE+zC,EAAIpnD,EAAEklC,EAAKmiB,KAAK,EAC9B,IAAG73C,GAAQA,EAAK00B,MAAQ,GAAKvoC,GAAU,EAAG,CAEzC,GAAI6gB,GAAQF,EAAKR,WAAW,EAC5BukC,GAAIgH,KAAO7qC,EAAQ,EACnBF,GAAKrZ,GAAK,MAMJo9C,GAAIgH,KAAO/qC,EAAKR,WAAW,EAClC,OAAOukC,GAER,QAASiH,IAAcrsC,EAAGnZ,EAAGulD,EAAMhiD,GAClC,IAAIA,EAAGA,EAAIkb,GAAQ,EACnBlb,GAAEsW,YAAY,EAAGV,EACjB5V,GAAEsW,YAAY,EAAG7Z,EACjBuD,GAAEsW,YAAY,EAAG0rC,GAAM,EACvB,OAAOhiD,GAIR,QAASkiD,IAAgBjrC,GACxB,GAAIkrC,GAAKlrC,EAAKR,WAAW,EACzB,IAAIU,GAAQF,EAAKR,WAAW,EAC5BQ,GAAKrZ,GAAK,CACV,QAAQ4O,KAAM21C,EAAIhrC,MAAOA,GAK1B,QAASirC,IAAyBnrC,EAAM3gB,EAAQ6T,GAAQ,MAAO7T,KAAW,EAAI,GAAK2pD,GAAuBhpC,EAAM3gB,EAAQ6T,GAGxH,QAASk4C,IAAUprC,EAAM3gB,EAAQ6T,GAChC,GAAIhQ,GAAIgQ,EAAK00B,KAAO,EAAI,EAAI,CAC5B,IAAIyjB,GAAWrrC,EAAKR,WAAWtc,GAAIooD,EAAYtrC,EAAKR,WAAWtc,EAAE,KAAMqoD,EAAWvrC,EAAKR,WAAWtc,EAAE,IACpG,QAAQmoD,EAAUC,EAAWC,GAI9B,QAASC,IAAYxrC,GACpB,GAAI+qC,GAAO/qC,EAAKR,WAAW,EAC3B,IAAI6tB,GAAKH,GAAeltB,EACxB,QAAQ+qC,EAAM1d,GAIf,QAASoe,IAAezrC,EAAM3gB,EAAQ6T,GACrC8M,EAAKrZ,GAAK,CAAGtH,IAAU,CACvB,IAAIsH,GAAIqZ,EAAKrZ,EAAItH,CACjB,IAAIqsD,GAAUzD,GAA2BjoC,EAAM3gB,EAAQ6T,EACvD,IAAIizB,GAAKnmB,EAAKR,WAAW,EACzB7Y,IAAKqZ,EAAKrZ,CACV,IAAGw/B,IAAOx/B,EAAG,KAAM,IAAIzG,OAAM,iCAAmCyG,EAAI,OAASw/B,EAC7EnmB,GAAKrZ,GAAKw/B,CACV,OAAOulB,GAIR,QAASC,IAAY3rC,GACpB,GAAI4rC,GAAU5rC,EAAKR,WAAW,EAC9B,IAAIqsC,GAAS7rC,EAAKR,WAAW,EAC7B,IAAIssC,GAAW9rC,EAAKR,WAAW,EAC/B,IAAIusC,GAAU/rC,EAAKR,WAAW,EAC9B,QAAQ7a,GAAGjB,EAAEooD,EAAU/0C,EAAE60C,GAAUzsD,GAAGuE,EAAEqoD,EAAQh1C,EAAE80C,IAEnD,QAASG,IAAYj1C,EAAGhO,GACvB,IAAIA,EAAGA,EAAIkb,GAAQ,EACnBlb,GAAEsW,YAAY,EAAGtI,EAAEpS,EAAEoS,EACrBhO,GAAEsW,YAAY,EAAGtI,EAAE5X,EAAE4X,EACrBhO,GAAEsW,YAAY,EAAGtI,EAAEpS,EAAEjB,EACrBqF,GAAEsW,YAAY,EAAGtI,EAAE5X,EAAEuE,EACrB,OAAOqF,GAIR,QAASkjD,IAAWjsC,GACnB,GAAI4rC,GAAU5rC,EAAKR,WAAW,EAC9B,IAAIqsC,GAAS7rC,EAAKR,WAAW,EAC7B,IAAIssC,GAAW9rC,EAAKR,WAAW,EAC/B,IAAIusC,GAAU/rC,EAAKR,WAAW,EAC9B,QAAQ7a,GAAGjB,EAAEooD,EAAU/0C,EAAE60C,GAAUzsD,GAAGuE,EAAEqoD,EAAQh1C,EAAE80C,IAInD,GAAIK,IAAYD,EAGhB,SAASE,IAAYnsC,GACpBA,EAAKrZ,GAAK,CACV,IAAIylD,GAAKpsC,EAAKR,WAAW,EACzB,IAAI6sC,GAAKrsC,EAAKR,WAAW,EACzB,IAAIU,GAAQF,EAAKR,WAAW,EAC5BQ,GAAKrZ,GAAG,EACR,QAAQ0lD,EAAID,EAAIlsC,GAIjB,QAASosC,IAAYtsC,GACpB,GAAI/c,KACJ+c,GAAKrZ,GAAK,CACVqZ,GAAKrZ,GAAK,EACV1D,GAAIspD,YAAcvsC,EAAKR,WAAW,EAClCQ,GAAKrZ,GAAK,CACV,OAAO1D,GAIR,QAASupD,IAAWxsC,GACnB,GAAI/c,KACJ+c,GAAKrZ,GAAK,CACVqZ,GAAKysC,GAAKzsC,EAAKR,WAAW,EAC1B,OAAOvc,GAIR,QAASypD,IAAa1sC,GAAQA,EAAKrZ,GAAK,CAAGqZ,GAAKrZ,GAAKqZ,EAAKR,WAAW,GACrE,GAAImtC,KACHrlD,EAAMolD,GACNp/C,EAAMo/C,GACN19C,EAAM09C,GACNz9C,EAAMy9C,GACNx9C,EAAMs9C,GACNr9C,EAAMu9C,GACNn/C,EAAMm/C,GACNl/C,GAAMk/C,GACNj/C,GAAMi/C,GACNh/C,GAAMg/C,GACN/+C,GAAM2+C,GACN1+C,GAAM8+C,GACN7+C,GAAM6+C,GACN5+C,GAAM4+C,GACN3+C,GAAM2+C,GACN1+C,GAAM0+C,GACNz+C,GAAMy+C,GACNx+C,GAAMw+C,GACNv+C,GAAMg+C,GAEP,SAASS,IAAc5sC,EAAM3gB,GAC5B,GAAI+gB,GAAMJ,EAAKrZ,EAAItH,CACnB,IAAIwtD,KACJ,OAAM7sC,EAAKrZ,EAAIyZ,EAAK,CACnB,GAAI0sC,GAAK9sC,EAAKR,WAAW,EACzBQ,GAAKrZ,GAAG,CACR,KACCkmD,EAAIC,GAAMH,GAAMG,GAAI9sC,EAAMI,EAAMJ,EAAKrZ,GACpC,MAAMxH,GAAK6gB,EAAKrZ,EAAIyZ,CAAK,OAAOysC,IAEnC,GAAG7sC,EAAKrZ,GAAKyZ,EAAKJ,EAAKrZ,EAAIyZ,CAC3B,OAAOysC,GAMR,QAASE,IAAU/sC,EAAM3gB,GACxB,GAAI0J,IAAKikD,QAAQ,EAAGvzC,GAAG,EACvB1Q,GAAEikD,QAAUhtC,EAAKR,WAAW,EAAIngB,IAAU,CAC1C,IAAGA,GAAU,EAAG,CAAE0J,EAAE0Q,GAAKuG,EAAKR,WAAW,EAAIQ,GAAKrZ,GAAK,EACvD,OAAOoC,EAAEikD,SACR,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,MACL,IAAK,MACL,IAAK,IAAQ,IAAK,GACjB,MACD,QAAS,GAAG3tD,EAAS,EAAG,KAAM,IAAIa,OAAM,uBAAyB6I,EAAEikD,UAGpEhtC,EAAKR,WAAWngB,EAChB,OAAO0J,GAER,QAASkkD,IAAU7N,EAAI/yC,EAAGtD,GACzB,GAAIuhB,GAAI,KAAQpnB,EAAI,EACpB,QAAO6F,EAAE8yC,UACR,IAAK,QAAS,MACd,IAAK,QAASvxB,EAAI,IAAQpnB,GAAI,CAAG,OACjC,IAAK,QAASonB,EAAI,CAAQpnB,GAAI,CAAG,OACjC,IAAK,QAASonB,EAAI,CAAQpnB,GAAI,CAAG,OACjC,IAAK,QAASonB,EAAI,CAAQpnB,GAAI,CAAG,OACjC,IAAK,MAAO,MACZ,QAAS,KAAM,IAAIhD,OAAM,6BAE1B,GAAI+C,GAAMghB,GAAQ/gB,EAClBD,GAAIoc,YAAY,EAAGiL,EACnBrnB,GAAIoc,YAAY,EAAGhT,EACnB,IAAGnJ,EAAI,EAAGD,EAAIoc,YAAY,EAAG,MAC7B,IAAGnc,EAAI,EAAGD,EAAIoc,YAAY,EAAG,KAC7B,IAAGnc,EAAI,EAAG,CACTD,EAAIoc,YAAY,EAAG,MACnBpc,GAAIoc,YAAY,EAAG,EACnBpc,GAAIoc,YAAY,EAAG,KACnBpc,GAAIoc,YAAY,EAAG,GAEpB,MAAOpc,GAKR,QAASiqD,IAAmBltC,EAAM3gB,GACjC,GAAGA,IAAW,EAAG,MAAO,KACxB,IAAI2gB,EAAKR,WAAW,KAAM,KAAO,EACjC,MAAO,MAKR,QAAS2tC,IAAkBntC,EAAM3gB,EAAQ6T,GACxC,GAAGA,EAAK1T,IAAK,CAAEwgB,EAAKrZ,GAAKtH,CAAQ,OAAO,GACxC,GAAIsH,GAAIqZ,EAAKrZ,CAEb,IAAIymD,GAAWpE,GAAuBhpC,EAAM,EAAG9M,EAC/C8M,GAAKR,WAAWngB,EAASsH,EAAIqZ,EAAKrZ,EAClC,OAAOymD,GAER,QAASC,IAAkB1oD,EAAGuO,GAC7B,GAAIo6C,IAAMp6C,GAAQA,EAAK00B,MAAQ,CAC/B,IAAI7+B,GAAIkb,GAAQqpC,EAAK,IAAM,GAC3BvkD,GAAEsW,YAAYnM,EAAK00B,MAAQ,EAAI,EAAI,EAAG,EACtC,IAAG0lB,EAAIvkD,EAAEsW,YAAY,EAAG,EACxBtW,GAAEsW,YAAY,EAAG,UACjBtW,GAAEsW,YAAY,EAAI,SAAciuC,EAAK,EAAI,WACzC,OAAMvkD,EAAEpC,EAAIoC,EAAE1J,OAAQ0J,EAAEsW,YAAY,EAAIiuC,EAAK,EAAI,GACjD,OAAOvkD,GAIR,QAASwkD,IAAavtC,EAAM3gB,EAAQ6T,GACnC,GAAIgN,GAAQhN,GAAQA,EAAK00B,MAAQ,GAAKvoC,GAAU,EAAI2gB,EAAKR,WAAW,IAAMQ,EAAKrZ,GAAKtH,EAAQ,EAC5F,QAASmuD,QAASttC,EAAQ,GAAMutC,OAAQvtC,EAAQ,GAAMwtC,OAAQxtC,EAAQ,KAIvE,QAASytC,IAAkB3tC,EAAM3gB,EAAQ6T,GACxC,GAAIsP,GAAO,EACX,IAAGtP,EAAK00B,MAAQ,EAAG,CAClBplB,EAAOylC,GAA2BjoC,EAAM,EAAG9M,EAC3C,IAAGsP,EAAKnjB,SAAW,EAAGmjB,EAAO,QAC7B,QAASA,KAAKA,GAEf,GAAIwjB,GAAMhmB,EAAKR,WAAW,EAC1B,IAAIouC,GAAS5tC,EAAKR,WAAW,GAAK,CAClC,IAAI/F,GAAKuG,EAAKR,WAAW,EACzB,QAAO/F,GACN,IAAK,GAAGA,EAAK,WAAa,OAC1B,IAAK,GAAGA,EAAK,YAAc,OAC3B,IAAK,GAAGA,EAAK,YAAc,OAC3B,IAAK,GAAGA,EAAK,WAAa,QAE3B+I,EAAOylC,GAA2BjoC,EAAM,EAAG9M,EAC3C,IAAGsP,EAAKnjB,SAAW,EAAGmjB,EAAO,QAC7B,QAASwjB,IAAIA,EAAK6nB,GAAGD,EAAQn0C,GAAGA,EAAI+I,KAAKA,GAE1C,QAASsrC,IAAkB/qD,EAAMmQ,GAChC,GAAIhQ,IAAMgQ,GAAQA,EAAK00B,MAAQ,EAAI,EAAI,CACvC,IAAI7+B,GAAIkb,GAAQ,EAAI/gB,EAAIH,EAAKyf,KAAKnjB,OAClC0J,GAAEsW,YAAY,EAAGtc,EAAKijC,IACtBj9B,GAAEsW,YAAY,EAAGtc,EAAK8qD,IAAM,EAC5B9kD,GAAEsW,YAAY,EAAGtc,EAAK0W,GACtB1Q,GAAEsW,YAAY,EAAGtc,EAAKyf,KAAKnjB,OAC3B,IAAG6T,EAAK00B,MAAQ,EAAG7+B,EAAEsW,YAAY,EAAG,EACpCtW,GAAEsW,YAAYnc,EAAIH,EAAKyf,KAAKnjB,OAAQ0D,EAAKyf,KAAMtP,EAAK00B,KAAO,EAAI,OAAS,UACxE,IAAI3kC,GAAM8F,EAAE3F,MAAM,EAAG2F,EAAEpC,EACvB1D,GAAI0D,EAAIoC,EAAEpC,CAAG,OAAO1D,GAIrB,QAAS8qD,IAAU/tC,EAAM3gB,GACxB,GAAIuxB,GAAM5Q,EAAKrZ,EAAItH,CACnB,IAAI6kB,GAAMlE,EAAKR,WAAW,EAC1B,IAAIwuC,GAAOhuC,EAAKR,WAAW,EAC3B,IAAIk6B,KACJ,KAAI,GAAIt6C,GAAI,EAAGA,GAAK4uD,GAAQhuC,EAAKrZ,EAAIiqB,IAAOxxB,EAAG,CAC9Cs6C,EAAK9yC,KAAKwhD,GAAkCpoC,IAE7C05B,EAAKuU,MAAQ/pC,CAAKw1B,GAAKwU,OAASF,CAChC,OAAOtU,GAER,QAASyU,IAAU9S,EAAKnoC,GACvB,GAAI6O,GAASkC,GAAQ,EACrBlC,GAAO1C,YAAY,EAAGg8B,EAAI4S,MAC1BlsC,GAAO1C,YAAY,EAAGg8B,EAAI6S,OAC1B,IAAIxU,KACJ,KAAI,GAAIh6C,GAAI,EAAGA,EAAI27C,EAAIh8C,SAAUK,EAAGg6C,EAAKh6C,GAAKgpD,GAAkCrN,EAAI37C,GAAIwT,EACxF,IAAInK,GAAIsC,GAAS0W,GAAQxW,OAAOmuC,GACjC3wC,GAAEw3C,OAASx+B,EAAO1iB,QAAQkM,OAAOmuC,EAAKp1C,IAAI,SAASuT,GAAO,MAAOA,GAAIxY,SACpE,OAAO0J,GAIR,QAASqlD,IAAapuC,EAAM3gB,GAC3B,GAAIgvD,KACJA,GAAOC,KAAOtuC,EAAKR,WAAW,EAC9BQ,GAAKrZ,GAAKtH,EAAO,CACjB,OAAOgvD,GAKR,QAASE,IAAUvuC,GAClB,GAAIoe,KACJA,GAAErnB,EAAIiJ,EAAKR,WAAW,EACtB4e,GAAE16B,EAAIsc,EAAKR,WAAW,EACtB4e,GAAEla,IAAMlE,EAAKR,WAAW,GAAK4e,EAAE16B,CAC/B,IAAI8qD,GAAQxuC,EAAKR,WAAW,EAC5BQ,GAAKrZ,GAAK,CACV,IAAIuZ,GAAQF,EAAKR,WAAW,EAC5BQ,GAAKrZ,GAAK,CACV,IAAGuZ,EAAQ,EAAMke,EAAEqwB,MAAQvuC,EAAQ,CAEnC,IAAGA,EAAQ,GAAMke,EAAEwvB,OAAS,IAC5B,IAAG1tC,EAAQ,GAAMke,EAAEswB,IAAMF,EAAQ,EACjC,OAAOpwB,GAKR,QAASuwB,IAA2B3uC,GACnC,GAAI+B,GAASkpC,GAAgBjrC,EAC7B,IAAG+B,EAAOxM,MAAQ,KAAQ,KAAM,IAAIrV,OAAM,yBAA2B6hB,EAAOxM,KAC5E,IAAIq5C,GAAW5uC,EAAKR,WAAW,EAC/B,OAAOovC,KAAa,EAQrB,QAASC,IAAe7uC,GACvBA,EAAKR,WAAW,EAChB,OAAOQ,GAAKR,WAAW,GAIxB,QAASsvC,IAAuB9uC,EAAM3gB,EAAQ6T,GAC7C,GAAIpP,GAAI,CACR,MAAKoP,GAAQA,EAAK00B,MAAQ,GAAI,CAC7B9jC,EAAIkc,EAAKR,WAAW,GAErB,GAAIgvC,GAAQxuC,EAAKR,WAAW,EAC5B,IAAItM,GAAQA,EAAK00B,MAAQ,EAAI,CAC5B9jC,EAAI,GAAK0qD,GAAS,GAAKA,IAAS,MAEjC,GAAIO,IAAMC,SAASlrD,EAAE,EAAEmrD,QAAQnrD,EAAE,IAAI,EAAEorD,OAAOprD,EAAE,IAAI,EAAEqrD,OAAOrrD,EAAE,IAAI,EACnE,QAAQirD,EAAIP,GAIb,QAASY,IAAcpvC,GACtB,GAAIqvC,GAAMrvC,EAAKR,WAAW,GAAI8vC,EAAMtvC,EAAKR,WAAW,GAAI+vC,EAAOvvC,EAAKR,WAAW,GAAIgwC,EAAOxvC,EAAKR,WAAW,EAC1G,IAAIU,GAAQF,EAAKR,WAAW,GAAIiwC,EAAUzvC,EAAKR,WAAW,GAAIkwC,EAAY1vC,EAAKR,WAAW,EAC1F,IAAImwC,GAAU3vC,EAAKR,WAAW,GAAIowC,EAAY5vC,EAAKR,WAAW,EAC9D,QAASqwC,KAAMR,EAAKC,GAAMQ,KAAMP,EAAMC,GAAOO,MAAO7vC,EAAO8vC,OAAQP,EAClEQ,SAAUP,EAAWQ,SAAUP,EAASQ,SAAUP,GAEpD,QAASQ,MACR,GAAIrnD,GAAIkb,GAAQ,GAChBlb,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,MACjBtW,GAAEsW,YAAY,EAAG,MACjBtW,GAAEsW,YAAY,EAAG,GACjBtW,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,IACjB,OAAOtW,GAGR,QAASsnD,IAAcrwC,EAAM3gB,EAAQ6T,GACpC,GAAGA,GAAQA,EAAK00B,MAAQ,GAAK10B,EAAK00B,KAAO,EAAG,QAC5C,IAAI9jC,GAAIkc,EAAKR,WAAW,EACxB,QAAS8wC,IAAKxsD,EAAI,IAEnB,QAASysD,IAAcvlD,GACtB,GAAIjC,GAAIkb,GAAQ,IAAKngB,EAAI,IACzB,IAAGkH,GAAQA,EAAKslD,IAAKxsD,GAAK,EAC1BiF,GAAEsW,YAAY,EAAGvb,EACjBiF,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,GACjBtW,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,EACjB,OAAOtW,GAIR,QAASynD,OAIT,QAASC,IAAWzwC,EAAM3gB,EAAQ6T,GACjC,GAAInK,IACH2nD,SAAU1wC,EAAKR,WAAW,GAC1BuvC,GAAI/uC,EAAKR,WAAW,GAErB,QAAQtM,GAAQA,EAAK00B,MAAS,GAC7B,IAAK,GAAG,MACR,IAAK,IAAG,IAAK,GAAG5nB,EAAKrZ,GAAK,CAAG,OAC7B,QAASqZ,EAAKrZ,GAAK,EAAI,QAExBoC,EAAEyZ,KAAOylC,GAA2BjoC,EAAM,EAAG9M,EAC7C,OAAOnK,GAER,QAAS4nD,IAAW5tD,EAAMmQ,GACzB,GAAIsP,GAAOzf,EAAKyf,MAAQ,OACxB,IAAIouC,GAAM19C,GAASA,EAAK00B,MAAQ,EAAK1kC,EAAK0tD,EAAM,GAAKpuC,EAAKnjB,OAAW,GAAK,EAAImjB,EAAKnjB,MACnF,IAAI0J,GAAIkb,GAAQ/gB,EAChB6F,GAAEsW,YAAY,GAAItc,EAAKod,IAAM,IAAM,GACnCpX,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,IACjBtW,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAGmD,EAAKnjB,OACtB,KAAIuxD,EAAI7nD,EAAEsW,YAAY,EAAG,EACzBtW,GAAEsW,aAAauxC,EAAK,EAAI,GAAKpuC,EAAKnjB,OAAQmjB,EAAOouC,EAAK,OAAS,UAC/D,OAAO7nD,GAIR,QAAS8nD,IAAe7wC,EAAM3gB,EAAQ6T,GACrC,GAAIu0B,GAAOojB,GAAc7qC,EAAM3gB,EAAQ6T,EACvCu0B,GAAKqpB,KAAO9wC,EAAKR,WAAW,EAC5B,OAAOioB,GAER,QAASspB,IAAepyC,EAAGnZ,EAAG4G,EAAG4kD,GAChC,GAAIjoD,GAAIkb,GAAQ,GAChB+mC,IAAcrsC,EAAGnZ,EAAGwrD,EAAIjoD,EACxBA,GAAEsW,YAAY,EAAGjT,EACjB,OAAOrD,GAIR,QAASkoD,IAAYjxC,EAAM3gB,EAAQ6T,GAClC,GAAGA,EAAKg+C,WAAah+C,EAAK00B,MAAQ,EAAG10B,EAAK00B,KAAO,CACjD,IAAIpK,GAASxd,EAAKrZ,EAAItH,CACtB,IAAIooC,GAAOojB,GAAc7qC,EAAM3gB,EAAQ6T,EACvC,IAAI2E,GAAMkxC,GAAsB/oC,EAAMwd,EAASxd,EAAKrZ,EAAGuM,EACvDu0B,GAAKhyB,IAAMoC,CACX,OAAO4vB,GAER,QAAS0pB,IAAYxyC,EAAGnZ,EAAG4G,EAAG4kD,EAAI99C,GACjC,GAAIo6C,IAAMp6C,GAAQA,EAAK00B,MAAQ,CAC/B,IAAI7+B,GAAIkb,GAAQ,EAAI,IAAMqpC,GAAO,EAAIA,GAAMlhD,EAAE/M,OAC7C2rD,IAAcrsC,EAAGnZ,EAAGwrD,EAAIjoD,EACxBA,GAAEsW,YAAY,EAAGjT,EAAE/M,OACnB,IAAGiuD,EAAIvkD,EAAEsW,YAAY,EAAG,EACxBtW,GAAEsW,aAAa,EAAIiuC,GAAMlhD,EAAE/M,OAAQ+M,EAAGkhD,EAAK,UAAY,OACvD,OAAOvkD,GAKR,QAASqoD,IAAapxC,EAAM3gB,EAAQ6T,GACnC,GAAIw2B,GAAW1pB,EAAKR,WAAW,EAC/B,IAAI6xC,GAASrI,GAAuBhpC,EAAM,EAAG9M,EAC7C,QAAQw2B,EAAU2nB,GAEnB,QAASC,IAAalyD,EAAG0E,EAAGoP,EAAMnK,GACjC,GAAI6nD,GAAM19C,GAASA,EAAK00B,MAAQ,CAChC,KAAI7+B,EAAGA,EAAIkb,GAAQ2sC,EAAM,EAAI9sD,EAAEzE,OAAW,EAAI,EAAIyE,EAAEzE,OACpD0J,GAAEsW,YAAY,EAAGjgB,EACjB2J,GAAEsW,YAAauxC,EAAK,EAAI,EAAI9sD,EAAEzE,OAC9B,KAAIuxD,EAAI7nD,EAAEsW,YAAY,EAAG,EACzBtW,GAAEsW,aAAauxC,EAAK,EAAI,GAAK9sD,EAAEzE,OAAQyE,EAAI8sD,EAAK,OAAS,UACzD,IAAI3tD,GAAO8F,EAAE1J,OAAS0J,EAAEpC,EAAKoC,EAAE3F,MAAM,EAAG2F,EAAEpC,GAAKoC,CAC/C,IAAG9F,EAAI0D,GAAK,KAAM1D,EAAI0D,EAAI1D,EAAI5D,MAC9B,OAAO4D,GAER,GAAIsuD,IAAoBvI,EACxB,SAASwI,IAAkB1tD,GAC1B,GAAIiF,GAAIkb,GAAQ,EAAIngB,EAAEzE,OACtB0J,GAAEsW,YAAY,EAAGvb,EAAEzE,OACnB0J,GAAEsW,YAAYvb,EAAEzE,OAAQyE,EAAG,OAC3B,OAAOiF,GAER,QAAS0oD,IAAkB3tD,GAC1B,GAAIiF,GAAIkb,GAAQ,EAAIngB,EAAEzE,OACtB0J,GAAEpC,GAAK,CACPoC,GAAEsW,YAAY,EAAGvb,EAAEzE,OACnB0J,GAAEsW,YAAYvb,EAAEzE,OAAQyE,EAAG,OAC3B,OAAOiF,GAIR,QAAS2oD,IAAiB1xC,EAAM3gB,EAAQ6T,GACvC,GAAI0d,GAAM5Q,EAAKrZ,EAAItH,CACnB,IAAI6D,GAAIgQ,EAAK00B,MAAQ,IAAM10B,EAAK00B,KAAO,EAAI,CAC3C,IAAI7wB,GAAIiJ,EAAKR,WAAWtc,GAAIyb,EAAIqB,EAAKR,WAAWtc,EAChD,IAAIQ,GAAIsc,EAAKR,WAAW,GAAIha,EAAIwa,EAAKR,WAAW,EAChDQ,GAAKrZ,EAAIiqB,CACT,QAAQjsB,GAAIoS,EAAEA,EAAGrT,EAAEA,GAAIvE,GAAI4X,EAAE4H,EAAGjb,EAAE8B,IAEnC,QAASmsD,IAAiB7pB,EAAO50B,GAChC,GAAIhQ,GAAIgQ,EAAK00B,MAAQ,IAAM10B,EAAK00B,KAAO,EAAI,CAC3C,IAAI7+B,GAAIkb,GAAQ,EAAE/gB,EAAI,EACtB6F,GAAEsW,YAAYnc,EAAG4kC,EAAMnjC,EAAEoS,EACzBhO,GAAEsW,YAAYnc,EAAG4kC,EAAM3oC,EAAE4X,EAAI,EAC7BhO,GAAEsW,YAAY,EAAGyoB,EAAMnjC,EAAEjB,EACzBqF,GAAEsW,YAAY,EAAGyoB,EAAM3oC,EAAEuE,EAAI,EAC7BqF,GAAEsW,YAAY,EAAG,EACjB,OAAOtW,GAIR,QAAS6oD,IAAS5xC,GACjB,GAAI8qC,GAAK9qC,EAAKR,WAAW,GAAIopB,EAAM5oB,EAAKR,WAAW,EACnD,IAAIqyC,GAAQrG,GAAYxrC,EACxB,QAAQjJ,EAAE+zC,EAAIpnD,EAAEklC,EAAKmiB,KAAK8G,EAAM,GAAIC,MAAMD,EAAM,IAIjD,QAASE,IAAY/xC,EAAM3gB,GAC1B,GAAIm+B,GAASxd,EAAKrZ,EAAItH,EAAS,CAC/B,IAAIyrD,GAAK9qC,EAAKR,WAAW,GAAIopB,EAAM5oB,EAAKR,WAAW,EACnD,IAAIwyC,KACJ,OAAMhyC,EAAKrZ,EAAI62B,EAAQw0B,EAAOprD,KAAK4kD,GAAYxrC,GAC/C,IAAGA,EAAKrZ,IAAM62B,EAAQ,KAAM,IAAIt9B,OAAM,mBACtC,IAAI+xD,GAAUjyC,EAAKR,WAAW,EAC9B,IAAGwyC,EAAO3yD,QAAU4yD,EAAUrpB,EAAM,EAAG,KAAM,IAAI1oC,OAAM,wBACvD,QAAQ6W,EAAE+zC,EAAIpnD,EAAEklC,EAAKpjC,EAAEysD,EAASJ,MAAMG,GAGvC,QAASE,IAAelyC,EAAM3gB,GAC7B,GAAIm+B,GAASxd,EAAKrZ,EAAItH,EAAS,CAC/B,IAAIyrD,GAAK9qC,EAAKR,WAAW,GAAIopB,EAAM5oB,EAAKR,WAAW,EACnD,IAAI2yC,KACJ,OAAMnyC,EAAKrZ,EAAI62B,EAAQ20B,EAAMvrD,KAAKoZ,EAAKR,WAAW,GAClD,IAAGQ,EAAKrZ,IAAM62B,EAAQ,KAAM,IAAIt9B,OAAM,sBACtC,IAAI+xD,GAAUjyC,EAAKR,WAAW,EAC9B,IAAG2yC,EAAM9yD,QAAU4yD,EAAUrpB,EAAM,EAAG,KAAM,IAAI1oC,OAAM,2BACtD,QAAQ6W,EAAE+zC,EAAIpnD,EAAEklC,EAAKpjC,EAAEysD,EAASlH,KAAKoH,GAItC,QAASC,IAAkBpyC,EAAM3gB,EAAQi8C,EAAOpoC,GAC/C,GAAInK,KACJ,IAAIkiB,GAAIjL,EAAKR,WAAW,GAAI0K,EAAIlK,EAAKR,WAAW,EAChD,IAAI9b,GAAIsc,EAAKR,WAAW,GAAIvgB,EAAI+gB,EAAKR,WAAW,EAChDzW,GAAEspD,YAAczf,GAAelvC,GAAK,GAEpC,KAAIwP,EAAKo/C,WAAY,MAAOvpD,EAC5BA,GAAEwpD,IAAMtnC,EAAI,CACZliB,GAAEypD,MAASvnC,GAAK,EAAK,CACrBliB,GAAE0pD,KAAQxnC,GAAK,EAAK,CACpBliB,GAAE2pD,UAAaznC,GAAK,EAAK,CACzBliB,GAAE4pD,KAAQ1nC,GAAK,EAAK,GACpBliB,GAAE6pD,QAAW3nC,GAAK,GAAM,EACxBliB,GAAE8pD,aAAgB5nC,GAAK,GAAM,CAC7BliB,GAAE+pD,WAAc7nC,GAAK,GAAM,CAC3BliB,GAAEgqD,QAAW9nC,GAAK,GAAM,CACxBliB,GAAEiqD,QAAW/nC,GAAK,GAAM,CACxBliB,GAAEkqD,QAAWhoC,GAAK,GAAM,CACxBliB,GAAEmqD,QAAWjoC,GAAK,GAAM,CACxBliB,GAAEoqD,QAAWloC,GAAK,GAAM,CACxBliB,GAAEqqD,SAAYnoC,GAAK,GAAM,CAEzBliB,GAAEsqD,OAASnpC,EAAI,EACfnhB,GAAEuqD,QAAWppC,GAAK,EAAK,EACvBnhB,GAAEwqD,MAASrpC,GAAK,EAAK,EACrBnhB,GAAEyqD,SAAYtpC,GAAK,GAAM,EACzBnhB,GAAE0qD,QAAWvpC,GAAK,GAAM,GACxBnhB,GAAE2qD,SAAYxpC,GAAK,GAAM,GACzBnhB,GAAE4qD,UAAazpC,GAAK,GAAM,CAE1BnhB,GAAE6qD,OAASlwD,EAAI,GACfqF,GAAE8qD,UAAanwD,GAAK,EAAK,GACzBqF,GAAE+qD,QAAWpwD,GAAK,GAAM,GACxBqF,GAAEgrD,OAAUrwD,GAAK,GAAM,EAEvBqF,GAAEirD,QAAU/0D,EAAI,GAChB8J,GAAEkrD,QAAWh1D,GAAK,EAAK,GACvB8J,GAAEmrD,UAAaj1D,GAAK,GAAM,CAC1B,OAAO8J,GAMR,QAASorD,IAASn0C,EAAM3gB,EAAQ6T,GAC/B,GAAInK,KACJA,GAAE8iC,KAAO7rB,EAAKR,WAAW,EAAIzW,GAAE2gC,SAAW1pB,EAAKR,WAAW,EAAIzW,GAAEmX,MAAQF,EAAKR,WAAW,EACxFzW,GAAEqrD,OAAUrrD,EAAEmX,OAAS,EAAK,CAC5B7gB,IAAU,CACV0J,GAAEhG,KAAOqvD,GAAkBpyC,EAAM3gB,EAAQ0J,EAAEqrD,OAAQlhD,EACnD,OAAOnK,GAER,QAASsrD,IAAStxD,EAAMuxD,EAAOphD,EAAMnK,GACpC,GAAI6nD,GAAM19C,GAASA,EAAK00B,MAAQ,CAChC,KAAI7+B,EAAGA,EAAIkb,GAAQ2sC,EAAK,GAAK,GAC7B7nD,GAAEsW,YAAY,EAAG,EACjB,IAAGtc,EAAKu4C,MAAO,CACdvyC,EAAEsW,YAAY,EAAItc,EAAK2mC,UAAU,EACjC3gC,GAAEsW,YAAY,EAAG,WACX,CACNtW,EAAEsW,YAAY,EAAItc,EAAK2mC,UAAU,EACjC3gC,GAAEsW,YAAY,EAAIi1C,GAAO,GAE1B,GAAIxwD,GAAI,CACR,IAAGf,EAAK2mC,SAAW,GAAKknB,EAAI9sD,GAAK,IACjCiF,GAAEsW,YAAY,EAAGvb,EACjBiF,GAAEsW,YAAY,EAAG,EACjB,KAAIuxC,EAAI7nD,EAAEsW,YAAY,EAAG,EACzBtW,GAAEsW,YAAY,EAAG,EACjB,OAAOtW,GAER,QAASwrD,IAAcv0C,GACtB,GAAIjX,KACJA,GAAE8iC,KAAO7rB,EAAKR,WAAW,EAAIQ,GAAKrZ,GAAKoC,GAAEmX,MAAQF,EAAKR,WAAW,EACjEzW,GAAE2gC,SAAW3gC,EAAEmX,MAAQ,EAAMnX,GAAEmX,QAAQ,CACvCnX,GAAEqrD,OAAS,CACXrrD,GAAEhG,OACF,OAAOgG,GAER,QAASyrD,IAAcC,GACtB,GAAI1rD,GAAIkb,GAAQ,EAChBlb,GAAEpC,GAAG,CACLoC,GAAEsW,YAAY,EAAGo1C,EAAG/qB,SACpB3gC,GAAEpC,GACF,OAAOoC,GAER,QAAS2rD,IAAcD,GACtB,GAAI1rD,GAAIkb,GAAQ,GAChBlb,GAAEpC,GACFoC,GAAEsW,YAAY,EAAGo1C,EAAG/qB,SACpB3gC,GAAEpC,GAAK,EACP,OAAOoC,GAGR,GAAI4rD,IAAgBD,EACpB,SAASE,IAAc50C,GACtB,GAAIjX,KACJA,GAAE8iC,KAAO7rB,EAAKR,WAAW,EAAIzW,GAAE2gC,SAAW1pB,EAAKR,WAAW,EAAIzW,GAAEmX,MAAQF,EAAKR,WAAW,EACxFzW,GAAEqrD,OAAUrrD,EAAEmX,OAAS,EAAK,CAC5BnX,GAAEhG;AACF,MAAOgG,GAER,QAAS8rD,IAAc70C,GACtB,GAAIjX,KACJA,GAAE8iC,KAAO7rB,EAAKR,WAAW,EAAIzW,GAAE2gC,SAAW1pB,EAAKR,WAAW,EAAIzW,GAAEmX,MAAQF,EAAKR,WAAW,EACxFzW,GAAEqrD,OAAUrrD,EAAEmX,OAAS,EAAK,CAC5BnX,GAAEhG,OACF,OAAOgG,GAIR,QAAS+rD,IAAW90C,GACnBA,EAAKrZ,GAAK,CACV,IAAI1D,IAAO+c,EAAKR,WAAW,GAAIQ,EAAKR,WAAW,GAC/C,IAAGvc,EAAI,KAAO,EAAGA,EAAI,IACrB,IAAGA,EAAI,KAAO,EAAGA,EAAI,IACrB,IAAGA,EAAI,GAAK,GAAKA,EAAI,GAAK,EAAG,KAAM,IAAI/C,OAAM,gBAAkB+C,EAAI4C,KAAK,KACxE,OAAO5C,GAER,QAAS8xD,IAAWC,GACnB,GAAIjsD,GAAIkb,GAAQ,EAChBlb,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG21C,EAAK,GAAKA,EAAK,GAAK,EAAI,EACzCjsD,GAAEsW,YAAY,EAAG21C,EAAK,GAAKA,EAAK,GAAK,EAAI,EACzC,OAAOjsD,GAIR,QAASksD,IAAcj1C,EAAM3gB,EAAQ6T,GACpC,GAAIu0B,GAAOojB,GAAc7qC,EAAM,EAAG9M,EAClC,IAAIuC,GAAMsyC,GAAU/nC,EAAM,EAC1BynB,GAAKhyB,IAAMA,CACXgyB,GAAKp7B,EAAKoJ,IAAQ,MAAQA,IAAQ,MAAS,IAAM,GACjD,OAAOgyB,GAER,QAASytB,IAAcv2C,EAAGnZ,EAAG4G,EAAG4kD,EAAI99C,EAAM7G,GACzC,GAAItD,GAAIkb,GAAQ,EAChB+mC,IAAcrsC,EAAGnZ,EAAGwrD,EAAIjoD,EACxBi/C,IAAU57C,EAAGC,EAAGtD,EAChB,OAAOA,GAIR,QAASosD,IAAan1C,EAAM3gB,EAAQ6T,GACnC,GAAGA,EAAKg+C,WAAah+C,EAAK00B,MAAQ,EAAG10B,EAAK00B,KAAO,CACjD,IAAIH,GAAOojB,GAAc7qC,EAAM,EAAG9M,EAClC,IAAIkiD,GAAOxnB,GAAW5tB,EAAM,EAC5BynB,GAAKhyB,IAAM2/C,CACX,OAAO3tB,GAER,QAAS4tB,IAAa12C,EAAGnZ,EAAG4G,EAAG4kD,GAC9B,GAAIjoD,GAAIkb,GAAQ,GAChB+mC,IAAcrsC,EAAGnZ,EAAGwrD,EAAIjoD,EACxB8kC,IAAWzhC,EAAGrD,EACd,OAAOA,GAGR,GAAIusD,IAAuBnK,EAG3B,SAASoK,IAAcv1C,EAAM3gB,EAAQ6T,GACpC,GAAI0d,GAAM5Q,EAAKrZ,EAAItH,CACnB,IAAIm2D,GAAOx1C,EAAKR,WAAW,EAC3B,IAAI0oC,GAAMloC,EAAKR,WAAW,EAC1BtM,GAAKuiD,MAAQvN,CACb,IAAGA,GAAO,MAAUA,GAAO,MAAQ,OAAQA,EAAKsN,EAChD,IAAGtN,EAAM,GAAQA,EAAK,IAAM,KAAM,IAAIhoD,OAAM,4BAA4BgoD,EACxE,IAAIwN,GAAW5M,GAA2B9oC,EAAMkoC,EAEhD,IAAIyN,KACJ,OAAM/kC,EAAM5Q,EAAKrZ,EAAGgvD,EAAK/uD,KAAKmiD,GAAsB/oC,GACpD,QAAQkoC,EAAKsN,EAAME,EAAUC,GAI9B,QAASC,IAAiB51C,EAAM3gB,EAAQ6T,GACvC,GAAIgN,GAAQF,EAAKR,WAAW,EAC5B,IAAI2U,EACJ,IAAIprB,IACH8sD,SAAU31C,EAAQ,EAClB41C,YAAc51C,IAAU,EAAK,EAC7B61C,UAAY71C,IAAU,EAAK,EAC3B81C,KAAO91C,IAAU,EAAK,EACtB+1C,SAAW/1C,IAAU,EAAK,EAC1BusC,GAAKvsC,IAAU,EAAK,KACpBg2C,MAAOh2C,IAAU,GAAK,EAEvB,IAAGhN,EAAKuiD,QAAU,MAAQthC,EAAOs3B,GAAezrC,EAAM3gB,EAAO,EAAG6T,EAEhEnK,GAAEorB,KAAOA,GAAQnU,EAAKR,WAAWngB,EAAO,EACxC,UAAU80B,KAAS,SAAUprB,EAAEotD,KAAOhiC,CACtC,OAAOprB,GAIR,QAASqtD,IAAUp2C,EAAM3gB,EAAQ6T,GAChC,GAAIsqB,GAASxd,EAAKrZ,EAAItH,CACtB,IAAI6gB,GAAQF,EAAKR,WAAW,EAC5B,IAAI62C,GAAQr2C,EAAKR,WAAW,EAC5B,IAAI0oC,GAAMloC,EAAKR,WAAW,EAC1B,IAAI82C,GAAMt2C,EAAKR,WAAWtM,GAAQA,EAAK00B,MAAQ,EAAI,EAAI,EACvD,IAAI2uB,GAAO,CACX,KAAIrjD,GAAQA,EAAK00B,MAAQ,EAAG,CAC3B,GAAG10B,EAAK00B,MAAQ,EAAG5nB,EAAKrZ,GAAK,CAC7B4vD,GAAOv2C,EAAKR,WAAW,EACvB,IAAGtM,EAAK00B,MAAQ,EAAG5nB,EAAKrZ,GAAK,CAC7BqZ,GAAKrZ,GAAK,EAEX,GAAI6b,GAAOsmC,GAA2B9oC,EAAMkoC,EAAKh1C,EACjD,IAAGgN,EAAQ,GAAMsC,EAAOixB,GAAcjxB,EAAKljB,WAAW,GACtD,IAAIk3D,GAASh5B,EAASxd,EAAKrZ,CAAG,IAAGuM,GAAQA,EAAK00B,MAAQ,IAAK4uB,CAE3D,IAAIC,GAAQj5B,GAAUxd,EAAKrZ,GAAK2vD,IAAQ,KAAOE,EAAS,MAAWE,GAAwB12C,EAAMw2C,EAAQtjD,EAAMojD,EAE/G,QACCD,MAAOA,EACPF,KAAM3zC,EACN+zC,KAAMA,EACNE,KAAMA,GAKR,QAASE,IAAkB32C,EAAM3gB,EAAQ6T,GACxC,GAAGA,EAAK00B,KAAO,EAAG,MAAOgvB,IAAuB52C,EAAM3gB,EAAQ6T,EAE9D,MAAKA,EAAK00B,KAAO,IAAOvoC,GAAU2gB,EAAKA,EAAKrZ,IAAMqZ,EAAKA,EAAKrZ,EAAE,IAAM,EAAO,EAAI,GAAK,EAAI,MAAOiwD,IAAuB52C,EAAM3gB,EAAQ6T,EACpI,IAAInK,MAAQy0B,EAASxd,EAAKrZ,EAAItH,EAAQoD,EAAMud,EAAKR,WAAWtM,EAAK00B,KAAO,EAAI,EAAI,EAChF,OAAMnlC,MAAU,EAAGsG,EAAEnC,KAAKwkD,GAAUprC,EAAM9M,EAAK00B,KAAO,EAAI,GAAK,EAAG10B,GAElE,IAAG8M,EAAKrZ,GAAK62B,EAAQ,KAAM,IAAIt9B,OAAM,oBAAsB8f,EAAKrZ,EAAI,OAAS62B,EAC7E,OAAOz0B,GAER,QAAS6tD,IAAuB52C,EAAM3gB,EAAQ6T,GAC7C,GAAG8M,EAAKA,EAAKrZ,EAAI,IAAM,EAAMqZ,EAAKA,EAAKrZ,IACvC,IAAIoC,GAAIk/C,GAA2BjoC,EAAM3gB,EAAQ6T,EACjD,OAAOnK,GAAEzJ,WAAW,IAAM,EAAOyJ,EAAE3F,MAAM,GAAK2F,EAI/C,QAAS8tD,IAAc72C,EAAM3gB,EAAQ6T,GACpC,GAAGA,EAAK00B,KAAO,EAAG,CAAE5nB,EAAKrZ,GAAKtH,CAAQ,QACtC,GAAIy3D,GAAU92C,EAAKR,WAAW,EAC9B,IAAIu3C,GAAa/2C,EAAKR,WAAW,EACjC,IAAIgD,GAAOsmC,GAA2B9oC,EAAM82C,EAAS5jD,EACrD,IAAI8jD,GAAUlO,GAA2B9oC,EAAM+2C,EAAY7jD,EAC3D,QAAQsP,EAAMw0C,GAIf,QAASC,IAAcj3C,EAAM3gB,EAAQ6T,GACpC,GAAIgkD,GAAMjL,GAAWjsC,EAAM,EAC3BA,GAAKrZ,GACL,IAAIwwD,GAAOn3C,EAAKR,WAAW,EAC3BngB,IAAU,CACV,QAAQ+3D,GAA0Bp3C,EAAM3gB,EAAQ6T,GAAOikD,EAAMD,GAI9D,QAASG,IAAYr3C,EAAM3gB,EAAQ6T,GAClC,GAAIgkD,GAAMhL,GAAUlsC,EAAM,EAE1B,QAAO9M,EAAK00B,MACX,IAAK,GAAG5nB,EAAKrZ,GAAMtH,IAAU,CAAG,OAChC,IAAK,IAAG,IAAK,GAAG2gB,EAAKrZ,GAAK,CAAGtH,IAAU,CAAG,OAC1C,QAAS2gB,EAAKrZ,GAAK,CAAGtH,IAAU,IAEjC,OAAQ63D,EAAKI,GAAyBt3C,EAAM3gB,EAAQ6T,EAAMgkD,IAI3D,QAASK,IAAkBv3C,GAC1B,GAAIw3C,GAAcx3C,EAAKR,WAAW,KAAO,CACzC,IAAIi4C,GAAsBz3C,EAAKR,WAAW,KAAO,CACjD,IAAIk4C,GAAmB13C,EAAKR,WAAW,EACvC,QAAQg4C,EAAaC,EAAqBC,GAI3C,QAASC,IAAa33C,EAAM3gB,EAAQ6T,GACnC,GAAIqe,GAAMvR,EAAKR,WAAW,GAAIopB,EAAM5oB,EAAKR,WAAW,EACpD,IAAIU,GAAQF,EAAKR,WAAW,GAAIo4C,EAAQ53C,EAAKR,WAAW,EACxD,IAAIq4C,GAAW7O,GAAuBhpC,EAAM,EAAG9M,EAC/C,SAAS6D,EAAEwa,EAAI7tB,EAAEklC,GAAMivB,EAAUD,EAAO13C,GAIzC,QAAS43C,IAAW93C,EAAM3gB,EAAQ6T,GACjC,GAAGA,GAASA,EAAK00B,KAAO,EAAI,CAC3B,GAAIrW,GAAMvR,EAAKR,WAAW,GAAIopB,EAAM5oB,EAAKR,WAAW,EACpD,IAAG+R,GAAO,OAAUA,IAAQ,EAAG,MAC/B,IAAI22B,GAAMloC,EAAKR,WAAW,EAC1B,IAAIu4C,GAAO/3C,EAAKR,WAAW9S,KAAK+L,IAAIyvC,EAAI,MAAO,QAC/C,SAASnxC,EAAEwa,EAAK7tB,EAAEklC,GAAMmvB,GAGzB,MAAOJ,IAAa33C,EAAM3gB,EAAQ6T,GAEnC,QAAS8kD,IAAiBvnC,EAAM9R,EAAGnZ,EAAG/C,GACrC,GAAIsG,GAAIkb,GAAQ,GAAKxhB,GAAOguB,EAAKpxB,QACjC0J,GAAEsW,YAAY,EAAGV,EACjB5V,GAAEsW,YAAY,EAAG7Z,EACjBuD,GAAEsW,YAAY,EAAG5c,GAAOguB,EAAKpxB,OAC7B0J,GAAEsW,YAAYoR,EAAKpxB,OAAQoxB,EAAM,OACjC,OAAO1nB,GAIR,QAASkvD,IAAiBj4C,EAAM3gB,GAC/B,GAAI64D,KACJ,IAAIC,GAAOn4C,EAAKR,WAAW,EAC3B,OAAO24C,IAAQD,EAAOtxD,KAAK+kD,GAAY3rC,EAAK3gB,GAC5C,OAAO64D,GAER,QAASE,IAAiBF,GACzB,GAAInvD,GAAIkb,GAAQ,EAAIi0C,EAAO74D,OAAS,EACpC0J,GAAEsW,YAAY,EAAG64C,EAAO74D,OACxB,KAAI,GAAID,GAAI,EAAGA,EAAI84D,EAAO74D,SAAUD,EAAG4sD,GAAYkM,EAAO94D,GAAI2J,EAC9D,OAAOA,GAIR,QAASsvD,IAAUr4C,EAAM3gB,EAAQ6T,GAChC,GAAGA,GAAQA,EAAK00B,KAAO,EAAG,MAAO0wB,IAAet4C,EAAM3gB,EAAQ6T,EAC9D,IAAIqlD,GAAMpM,GAAYnsC,EAAM,GAC5B,IAAI6sC,GAAMD,GAAc5sC,EAAM3gB,EAAO,GAAIk5D,EAAI,GAC7C,QAASA,IAAKA,EAAKzL,GAAGD,GAGvB,GAAI2L,KACJrpD,EAAM,SAAS6Q,EAAM3gB,GACpB,GAAI+gB,GAAMJ,EAAKrZ,EAAItH,CACnB2gB,GAAKrZ,GAAK,EACV,IAAI8lD,GAAKzsC,EAAKR,WAAW,EACzBQ,GAAKrZ,GAAK,CACVqZ,GAAKrZ,GAAK,CACVqZ,GAAKrZ,GAAK,CACVqZ,GAAKrZ,GAAK,CACVqZ,GAAKrZ,GAAK,CACV,IAAImwD,GAAU92C,EAAKR,WAAW,EAC9BQ,GAAKrZ,GAAKmwD,CACV92C,GAAKrZ,EAAIyZ,CACT,QAAS5K,IAAIi3C,IAId,SAAS6L,IAAet4C,EAAM3gB,EAAQ6T,GACrC8M,EAAKrZ,GAAK,CACV,IAAIylD,GAAKpsC,EAAKR,WAAW,EACzB,IAAI6sC,GAAKrsC,EAAKR,WAAW,EACzB,IAAI+vB,GAAQvvB,EAAKR,WAAW,EAC5BQ,GAAKrZ,GAAK,CACVqZ,GAAKrZ,GAAK,CACVqZ,GAAKrZ,GAAK,CACVqZ,GAAKrZ,GAAK,CACVqZ,GAAKrZ,GAAK,CACVqZ,GAAKrZ,GAAK,CACVqZ,GAAKrZ,GAAK,CACVqZ,GAAKrZ,GAAK,CACVqZ,GAAKrZ,GAAK,CACVqZ,GAAKrZ,GAAK,CACVtH,IAAU,EACV,IAAIwtD,KACJA,GAAIjmD,MAAM4xD,GAAcpM,IAAKnmB,IAAWjmB,EAAM3gB,EAAQ6T,GACtD,QAASqlD,KAAMlM,EAAID,EAAI7c,GAAQud,GAAGD,GAInC,QAAS4L,IAAUz4C,EAAM3gB,EAAQ6T,GAChC,GAAIvO,GAAIqb,EAAKrZ,CACb,IAAI+xD,GAAQ,EACb,KACC14C,EAAKrZ,GAAK,CACV,IAAIylD,IAAMl5C,EAAKylD,UAAUJ,KAAK,EAAE,KAAKA,IAAI,EACzC,IAAIK,EACJ,KAAI,EAAE,EAAE,EAAE,GAAG,GAAG,IAAIjzD,QAAQymD,KAAQ,EAAGpsC,EAAKrZ,GAAK,MAC5CiyD,GAAc1P,GAAkBlpC,EAAM,EAAG9M,EAC9C,IAAI2lD,GAAU74C,EAAKR,WAAW,EACbQ,GAAKR,WAAW,EACbooC,IAAY5nC,EAAM,EACtC,IAAIvd,GAAMud,EAAKR,WAAW,EAC1BQ,GAAKrZ,GAAKlE,CAGV,KAAI,GAAIrD,GAAI,EAAGA,EAAI4gB,EAAKwlB,KAAKnmC,OAAO,IAAKD,EAAG,CAC3C,GAAG4gB,EAAKrZ,EAAEhC,GAAKqb,EAAKwlB,KAAKpmC,GAAI,KAAM,IAAIc,OAAM,2BAC7C,IAAI+lD,GAAMjmC,EAAKA,EAAKrZ,EACpB,IAAI0F,GAAIy8C,GAA2B9oC,EAAMA,EAAKwlB,KAAKpmC,EAAE,GAAG4gB,EAAKwlB,KAAKpmC,GAAG,EACrEs5D,IAASrsD,CACT,IAAGqsD,EAAMr5D,SAAW4mD,EAAM4S,EAAU,EAAEA,GAAU,MAEjD,GAAGH,EAAMr5D,SAAWw5D,GAAWH,EAAMr5D,SAAWw5D,EAAQ,EAAG,CAC1D,KAAM,IAAI34D,OAAM,YAAc24D,EAAU,OAASH,EAAMr5D,QAGxD2gB,EAAKrZ,EAAIhC,EAAItF,CAQb,QAASgN,EAAGqsD,GACX,MAAMv5D,GAAK6gB,EAAKrZ,EAAIhC,EAAItF,CAAQ,QAASgN,EAAGqsD,IAI9C,QAASI,IAAY94C,EAAM3gB,GAC1B,GAAI63D,GAAMvL,GAAY3rC,EAAM,EAC5BA,GAAKrZ,GAAK,EACV,IAAIoyD,GAAQlP,GAAgB7pC,EAAM3gB,EAAO,GACzC,QAAQ63D,EAAK6B,GAEd,QAASC,IAAYxO,GACpB,GAAIyO,GAAIh1C,GAAQ,GAChB,IAAIizC,GAAMpuB,GAAY0hB,EAAG,GACzByO,GAAE55C,YAAY,EAAG63C,EAAIngD,EAAIkiD,GAAE55C,YAAY,EAAG63C,EAAIngD,EAC9CkiD,GAAE55C,YAAY,EAAG63C,EAAIxzD,EAAIu1D,GAAE55C,YAAY,EAAG63C,EAAIxzD,EAC9C,IAAIuhB,GAAQ,kDAAkDtlB,MAAM,IACpE,KAAI,GAAIP,GAAI,EAAGA,EAAI,KAAMA,EAAG65D,EAAE55C,YAAY,EAAGlI,SAAS8N,EAAM7lB,GAAI,IAChE,OAAOiM,IAAS4tD,EAAG1O,GAAgBC,EAAG,MAKvC,QAAS0O,IAAmBl5C,EAAM3gB,GACjC2gB,EAAKR,WAAW,EAChB,IAAI03C,GAAMvL,GAAY3rC,EAAM,EAC5B,IAAIm5C,GAAYn5C,EAAKR,YAAYngB,EAAO,IAAI,EAAG,YAC/C85D,GAAYA,EAAU9uD,QAAQ2B,EAAK,GACnC,QAAQkrD,EAAKiC,GAEd,QAASC,IAAmB5O,GAC3B,GAAIrtC,GAAKqtC,EAAG,GAAGF,OACf,IAAI2O,GAAIh1C,GAAQ,GAAK,GAAK9G,EAAG9d,OAAS,GACtC45D,GAAE55C,YAAY,EAAG,KACjB,IAAI63C,GAAMpuB,GAAY0hB,EAAG,GACzByO,GAAE55C,YAAY,EAAG63C,EAAIngD,EAAIkiD,GAAE55C,YAAY,EAAG63C,EAAIngD,EAC9CkiD,GAAE55C,YAAY,EAAG63C,EAAIxzD,EAAIu1D,GAAE55C,YAAY,EAAG63C,EAAIxzD,EAC9C,KAAI,GAAItE,GAAI,EAAGA,EAAI+d,EAAG9d,SAAUD,EAAG65D,EAAE55C,YAAY,EAAGlC,EAAG7d,WAAWF,GAClE65D,GAAE55C,YAAY,EAAG,EACjB,OAAO45C,GAIR,QAASI,IAAcr5C,GACtB,GAAIjX,IAAK,EAAE,GAAI9J,CACfA,GAAI+gB,EAAKR,WAAW,EAAIzW,GAAE,GAAKqoC,GAAYnyC,IAAMA,CACjDA,GAAI+gB,EAAKR,WAAW,EAAIzW,GAAE,GAAKqoC,GAAYnyC,IAAMA,CACjD,OAAO8J,GAER,QAASuwD,IAAcvwD,GACtB,IAAIA,EAAGA,EAAIkb,GAAQ,EACnBlb,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,EACjB,OAAOtW,GAIR,QAASwwD,IAAiBv5C,GACzB,GAAIw5C,GAAMx5C,EAAKR,WAAW,EAC1B,IAAIzW,KACJ,OAAMywD,KAAM,EAAGzwD,EAAEnC,KAAKgkD,GAAc5qC,EAAM,GAC1C,OAAOjX,GAIR,QAAS0wD,IAAcz5C,GACtB,GAAIw5C,GAAMx5C,EAAKR,WAAW,EAC1B,IAAIzW,KACJ,OAAMywD,KAAM,EAAGzwD,EAAEnC,KAAKgkD,GAAc5qC,EAAM,GAC1C,OAAOjX,GAIR,QAAS2wD,IAAY15C,GACpBA,EAAKrZ,GAAK,CACV,IAAIoC,IAAK4wD,KAAK,EAAGC,IAAI,EACrB7wD,GAAE4wD,KAAO35C,EAAKR,WAAW,EACzBzW,GAAE6wD,IAAM55C,EAAKR,WAAW,EACxB,OAAOzW,GAKR,QAAS8wD,IAAc75C,EAAM3gB,EAAQ6T,GACpC,IAAIA,EAAKo/C,WAAY,MAAOrsB,IAAUjmB,EAAM3gB,EAC5C,IAAI6D,GAAIgQ,GAAQA,EAAK00B,MAAQ,GAAK,EAAI,CACtC,IAAIkkB,GAAW9rC,EAAKR,WAAWtc,EAC/B,IAAI6oD,GAAU/rC,EAAKR,WAAWtc,EAC9B,IAAI42D,GAAQ95C,EAAKR,WAAWtc,EAC5B,IAAI6nD,GAAO/qC,EAAKR,WAAWtc,EAC3B,IAAIgd,GAAQF,EAAKR,WAAW,EAC5B,IAAGtc,GAAK,EAAG8c,EAAKrZ,GAAK,CACrB,IAAIoC,IAAMpE,EAAEmnD,EAAU3sD,EAAE4sD,EAAS7oD,EAAE42D,EAAO/O,KAAKA,EAAM7qC,MAAMA,EAC3D,IAAGhN,EAAK00B,MAAQ,IAAM10B,EAAK00B,KAAM7+B,EAAE0lD,MAASvuC,GAAS,EAAK,CAC1D,OAAOnX,GAER,QAASgxD,IAAcnxB,EAAKvyB,GAC3B,GAAItN,GAAIkb,GAAQ,GAChBlb,GAAEsW,YAAY,EAAGhJ,EACjBtN,GAAEsW,YAAY,EAAGhJ,EACjBtN,GAAEsW,YAAY,EAAGupB,EAAI2f,MAAQ,IAC7Bx/C,GAAEsW,YAAY,EAAG,EACjB,IAAIvb,GAAI,CACR,IAAG8kC,EAAIglB,OAAQ9pD,GAAK,CACpBiF,GAAEsW,YAAY,EAAGvb,EACjBA,GAAI8kC,EAAI6lB,OAAS,CACjB1lD,GAAEsW,YAAY,EAAGvb,EACjBiF,GAAEsW,YAAY,EAAG,EACjB,OAAOtW,GAIR,QAASixD,IAAYh6C,EAAM3gB,GAC1B,GAAI0J,KACJ,IAAG1J,EAAS,GAAI,MAAO0J,EACvBiX,GAAKrZ,GAAK,EACVoC,GAAEgZ,OAAS6rB,GAAW5tB,EAAM,EAC5BjX,GAAEkxD,OAASrsB,GAAW5tB,EAAM,EAC5BA,GAAKrZ,GAAK,CACV,OAAOoC,GAIR,QAASmxD,IAAel6C,EAAM3gB,EAAQ6T,GACrC,GAAI6mB,IAAOogC,KAAK,MAChB,IAAGjnD,EAAK00B,MAAQ,EAAG,CAAE5nB,EAAKrZ,GAAKtH,CAAQ,OAAO06B,GAC9C,GAAI96B,GAAI+gB,EAAKR,WAAW,EAAIQ,GAAKrZ,GAAK,CACtC,IAAI1H,EAAI,GAAO86B,EAAIogC,KAAO,IAC1B,OAAOpgC,GAIR,QAASqgC,IAAcn4D,GACtB,GAAIgB,GAAMghB,GAAQ,EAAIhiB,EACtB,KAAI,GAAI7C,GAAI,EAAGA,EAAI6C,IAAK7C,EAAG6D,EAAIoc,YAAY,EAAGjgB,EAAE,EAChD,OAAO6D,GAGR,GAAIo3D,IAAcxP,EAClB,IAAIyP,IAAYxS,EAChB,IAAIyS,IAAexR,EAGnB,SAASyR,IAAax6C,GACrB,GAAIysC,GAAKzsC,EAAKR,WAAW,EACzB,IAAIi7C,GAAMz6C,EAAKR,WAAW,EAC1B,IAAIk7C,GAAM16C,EAAKR,WAAW,EAC1B,IAAIzW,IAAKyM,IAAIi3C,EAAIgO,IAAIA,EAAKh4D,IAAIi4D,EAAK33D,KAAKid,EAAK5c,MAAM4c,EAAKrZ,EAAEqZ,EAAKrZ,EAAE+zD,GACjE16C,GAAKrZ,GAAK+zD,CACV,OAAO3xD,GAGR,QAAS4xD,IAAgB13D,EAAK8T,EAAGrT,EAAGqnD,EAAM6P,GACzC,IAAI33D,EAAKA,EAAMghB,GAAQ,EACvBhhB,GAAIoc,YAAY,EAAGtI,EACnB9T,GAAIoc,YAAY,EAAG3b,EACnBT,GAAIoc,YAAY,EAAG0rC,GAAM,EACzB9nD,GAAIoc,YAAY,EAAGu7C,GAAM,EACzB33D,GAAIoc,YAAY,EAAG,EACnB,OAAOpc,GAIR,QAAS43D,IAAe76C,EAAM3gB,EAAQ6T,GACrC,GAAGA,EAAKg+C,WAAah+C,EAAK00B,MAAQ,EAAG10B,EAAK00B,KAAO,CACjD,IAAIH,GAAOojB,GAAc7qC,EAAM,EAAG9M,EAClC,IAAI2E,GAAMmxC,GAAuBhpC,EAAM3gB,EAAO,EAAG6T,EACjDu0B,GAAKp7B,EAAI,KACTo7B,GAAKhyB,IAAMoC,CACX,OAAO4vB,GAGR,QAASqzB,IAAe96C,EAAM3gB,EAAQ6T,GACrC,GAAIu0B,GAAOojB,GAAc7qC,EAAM,EAAG9M,EAClC,IAAI6nD,GAAMntB,GAAW5tB,EAAM,EAC3BynB,GAAKp7B,EAAI,GACTo7B,GAAKhyB,IAAMslD,CACX,OAAOtzB,GAER,QAASuzB,IAAejkD,EAAGrT,EAAG+R,EAAKs1C,EAAM6P,GACxC,GAAI33D,GAAMghB,GAAQ,GAClB02C,IAAgB13D,EAAK8T,EAAGrT,EAAGqnD,GAAM,EAAG6P,GAAM,EAC1C33D,GAAIoc,YAAY,EAAG5J,EAAK,IACxB,OAAOxS,GAGR,QAASg4D,IAAej7C,EAAM3gB,EAAQ6T,GACrC,GAAIu0B,GAAOojB,GAAc7qC,EAAM,EAAG9M,EAClC,IAAI6nD,GAAM/6C,EAAKR,WAAW,EAC1BioB,GAAKp7B,EAAI,GACTo7B,GAAKhyB,IAAMslD,CACX,OAAOtzB,GAER,QAASyzB,IAAenkD,EAAGrT,EAAG+R,EAAKs1C,EAAM6P,GACxC,GAAI33D,GAAMghB,GAAQ,EAClB02C,IAAgB13D,EAAK8T,EAAGrT,EAAGqnD,GAAM,EAAG6P,GAAM,EAC1C33D,GAAIoc,YAAY,EAAG5J,EACnB,OAAOxS,GAGR,QAASk4D,IAAkBn7C,GAC1B,GAAIkoC,GAAMloC,EAAKR,WAAW,EAC1B,IAAG0oC,IAAQ,EAAG,CAAEloC,EAAKrZ,GAAK,OAAO,GACjC,MAAOqZ,GAAKR,WAAW0oC,EAAK,aAG7B,QAASkT,IAAmBp7C,EAAM3gB,EAAQ6T,GACzC,GAAImoD,GAAUr7C,EAAKrZ,EAAI,CACvB,IAAI8gC,GAAOojB,GAAc7qC,EAAM,EAAG9M,EAClC8M,GAAKrZ,EAAI00D,CACT,IAAI5lD,GAAMsyC,GAAU/nC,EAAM,EAC1BynB,GAAKhyB,IAAMA,CACXgyB,GAAKp7B,EAAKoJ,IAAQ,MAAQA,IAAQ,MAAS,IAAM,GACjD,OAAOgyB,GAIR,QAAS6zB,IAAoBt7C,EAAM3gB,GAClC2gB,EAAKrZ,GAAK,CACVqZ,GAAKrZ,GAAK,CACVqZ,GAAKrZ,GAAK,CACVqZ,GAAKrZ,GAAK,CACVqZ,GAAKrZ,GAAK,CACVqZ,GAAKrZ,GAAKtH,EAAS,GAIpB,QAASk8D,IAAcv7C,EAAM3gB,EAAQ6T,GACpC,GAAI0d,GAAM5Q,EAAKrZ,EAAItH,CACnB,IAAIooC,GAAOojB,GAAc7qC,EAAM,EAAG9M,EAClC,IAAIg1C,GAAMloC,EAAKR,WAAW,EAC1B,IAAI3H,GAAMixC,GAA2B9oC,EAAMkoC,EAAKh1C,EAChD8M,GAAKrZ,EAAIiqB,CACT6W,GAAKp7B,EAAI,KACTo7B,GAAKhyB,IAAMoC,CACX,OAAO4vB,GAGR,QAAS+zB,IAAqBx7C,GAC7B,GAAIE,GAAQF,EAAKR,WAAW,EAC5B,IAAI0oC,GAAMloC,EAAKR,WAAW,GAAIgD,EAAOxC,EAAKR,WAAW0oC,EAAK,OAC1D,IAAG1lC,EAAKnjB,SAAW,EAAGmjB,EAAO,QAC7B,QAAStC,MAAOA,EAAOsC,KAAKA,GAC5B,GAAIi5C,KAA0B,EAAM,EAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IACzE,IAAIC,IAAM,WACV,GAAIC,IAEHp0D,EAAQ,IAAeC,EAAQ,IAC/B6F,EAAO,KAAgBC,EAAM,IAC7BsuD,IAAQ,IAAeC,IAAQ,IAC/BC,IAAQ,IAAeC,IAAQ,IAC/BC,IAAQ,IAAexqB,IAAQ,IAC/ByqB,IAAQ,IAAeC,IAAQ,IAC/BC,IAAQ,IAAeC,IAAQ,IAC/BC,IAAQ,IAAeC,IAAQ,IAC/BC,IAAQ,IAAeC,IAAO,KAC9BC,IAAO,KAAgBC,IAAM,MAC7BC,IAAM,MAAiBC,IAAM,MAC7BC,IAAO,KAAgBC,IAAO,KAC9BC,IAAO,KAAgBC,IAAO,KAG9B11D,EAAM,MAAiB6H,EAAQ,IAC/B5B,EAAQ,IAAeC,GAAQ,IAC/BC,GAAQ,IAAeE,GAAQ,IAC/BC,GAAQ,IAAeC,GAAQ,IAC/BC,GAAQ,IAAeC,GAAQ,IAC/BC,GAAQ,IAAeC,GAAQ,IAC/BC,GAAQ,IAAeC,GAAQ,IAC/BC,GAAQ,IAAegB,GAAQ,IAC/BC,GAAQ,IAAeC,GAAQ,IAC/BC,GAAQ,IAAeC,GAAQ,IAC/BC,GAAQ,IAAeC,GAAQ,IAC/BE,GAAQ,IAAemM,GAAQ,IAC/BC,GAAQ,IAAeC,GAAQ,IAC/B5N,GAAQ,IAAeC,GAAQ,IAC/B4B,GAAQ,IAAeuB,GAAQ,IAC/BhK,GAAQ,IAAeyJ,GAAQ,IAC/BC,GAAQ,IAAeC,GAAQ,IAC/B6rD,GAAO,KAAgBC,GAAO,KAC9BC,GAAO,KAAgBC,IAAQ,IAC/Bv1D,IAAQ,IAAew1D,IAAQ,IAC/Bv1D,IAAQ,IAAeO,IAAO,KAE9BG,IAAM,MAEP,IAAI80D,GAAkB9nC,IACrBjuB,EAAQ,IAAeC,EAAQ,IAC/B6F,EAAO,KAAgBC,EAAM,IAC7BsuD,IAAQ,IAAeC,IAAQ,IAC/BC,IAAQ,IAAeC,IAAQ,IAC/BC,IAAQ,IAAexqB,IAAQ,IAC/ByqB,IAAQ,IAAeC,IAAQ,IAC/BC,IAAQ,IAAeC,IAAQ,IAC/BC,IAAQ,IAAeC,IAAQ,IAC/BC,IAAQ,IAAeC,IAAO,KAC9BC,IAAO,KAAgBC,IAAM,MAC7BC,IAAM,MAAiBC,IAAM,MAC7BC,IAAO,KAAgBC,IAAO,KAC9BC,IAAO,KAAgBC,IAAO,KAC9B11D,EAAM,OAGP,SAASi2D,GAAWz7D,EAAKoR,GACxB,GAAIjQ,KACJ,IAAIhE,GAAKwL,EAAY,EACrB,QAAOyI,EAAKqC,MACX,IAAK,SAAUtW,EAAI4L,EAAIT,EAActI,GAAO,OAC5C,IAAK,SAAU7C,EAAI4L,EAAI/I,EAAM,OAC7B,IAAK,UACL,IAAK,QAAS7C,EAAI6C,CAAK,QAExBme,GAAUhhB,EAAG,EAGb,IAAI6tD,GAAK7tD,EAAEugB,WAAW,EACtB,IAAIg+C,MAAU1Q,EAAK,IACnB,IAAI2Q,GAAM,MAAOC,EAAK,KACtB,QAAO5Q,GACN,IAAK,GAAM,MACX,IAAK,GAAM,MACX,IAAK,IAAM2Q,EAAM,IAAMD,GAAO,IAAM,OACpC,IAAK,IAAMC,EAAM,IAAMD,GAAO,IAAM,OAGpC,IAAK,KAAM,MACX,IAAK,KAAM,MACX,IAAK,KAAME,EAAK,IAAM,OAEtB,IAAK,KAAM,MAEX,QAAS,KAAM,IAAIx9D,OAAM,4BAA8B4sD,EAAGzpD,SAAS,MAGpE,GAAIs6D,GAAO,EAAGC,EAAO,GACrB,IAAG9Q,GAAM,EAAM6Q,EAAO1+D,EAAEugB,WAAW,EACnCvgB,GAAE0H,GAAK,CACP,IAAGmmD,GAAM,EAAM6Q,EAAO1+D,EAAEugB,WAAW,EACnC,IAAGm+C,EAAO,QAASA,EAAO,GAE1B,IAAG7Q,GAAM,EAAM8Q,EAAO3+D,EAAEugB,WAAW,EACnC,IAAIq+C,GAAO5+D,EAAEugB,WAAW,EAExB,IAAmBs+C,GAAa5qD,EAAK6qD,UAAY,IACjD,IAAGjR,GAAM,EAAM,CACd7tD,EAAE0H,GAAG,EACO1H,GAAEugB,WAAW,EAIzB,IAAGvgB,EAAEA,EAAE0H,KAAO,EAAGm3D,EAAanC,EAAiB18D,EAAEA,EAAE0H,GACnD1H,GAAE0H,GAAG,CAEL1H,GAAE0H,GAAG,EAEN,GAAG+2D,EAAIz+D,EAAE0H,GAAK,EAEf,IAAIq3D,MAAaC,IAChB,IAAIC,GAAOxxD,KAAK+L,IAAIxZ,EAAEI,OAASytD,GAAM,EAAO,IAAS8Q,EAAO,IAAMH,EAAM,IAAM,GAC9E,IAAIl5D,GAAKm5D,EAAK,GAAK,EACnB,OAAMz+D,EAAE0H,EAAIu3D,GAAQj/D,EAAEA,EAAE0H,IAAM,GAAM,CACnCs3D,IACAA,GAAMz7C,YAAerb,KAAa,YAAcA,EAASL,MAAMhB,OAAOg4D,EAAY7+D,EAAEmE,MAAMnE,EAAE0H,EAAG1H,EAAE0H,EAAEpC,IAAO0G,EAAIhM,EAAEmE,MAAMnE,EAAE0H,EAAG1H,EAAE0H,EAAIpC,KAAM8F,QAAQ,wBAAwB,GACvKpL,GAAE0H,GAAKpC,CACP05D,GAAM1oD,KAAOjU,OAAOC,aAAatC,EAAEugB,WAAW,GAC9C,IAAGstC,GAAM,IAAS4Q,EAAIO,EAAM34C,OAASrmB,EAAEugB,WAAW,EAClDy+C,GAAMx7D,IAAMxD,EAAEugB,WAAW,EACzB,IAAGstC,GAAM,EAAMmR,EAAM34C,OAASrmB,EAAEugB,WAAW,EAC3Cy+C,GAAMx+D,IAAMR,EAAEugB,WAAW,EACzB,IAAGy+C,EAAMz7C,KAAKnjB,OAAQ2+D,EAAOp3D,KAAKq3D,EAClC,IAAGnR,GAAM,EAAM7tD,EAAE0H,GAAK+2D,EAAK,GAAK,EAChC,QAAOO,EAAM1oD,MACZ,IAAK,IACJ,KAAKkoD,GAAOQ,EAAMx7D,KAAO,IAAMyQ,EAAK6tB,IAAKlZ,QAAQ9S,IAAI,YAAckpD,EAAMz7C,KAAO,IAAMy7C,EAAM1oD,KAC5F,OACD,IAAK,KACL,IAAK,IACJ,GAAGrC,EAAK6tB,IAAKlZ,QAAQ9S,IAAI,YAAckpD,EAAMz7C,KAAO,IAAMy7C,EAAM1oD,KAChE,OACD,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,IACJ,MACD,QAAS,KAAM,IAAIrV,OAAM,uBAAyB+9D,EAAM1oD,QAI1D,GAAGtW,EAAEA,EAAE0H,KAAO,GAAM1H,EAAE0H,EAAIi3D,EAAK,CAC/B,IAAG3+D,EAAEugB,WAAW,KAAO,GAAM,KAAM,IAAItf,OAAM,4BAA8BjB,EAAE0H,EAAI,IAAM1H,EAAEA,EAAE0H,GAC3F1H,GAAE0H,EAAIi3D,CAGN,IAAIj/C,GAAI,EAAGnZ,EAAI,CACfvC,GAAI,KACJ,KAAIuC,EAAI,EAAGA,GAAKw4D,EAAO3+D,SAAUmG,EAAGvC,EAAI,GAAGuC,GAAKw4D,EAAOx4D,GAAGgd,IAC1D,OAAMm7C,KAAS,EAAG,CACjB,GAAG1+D,EAAEA,EAAE0H,KAAO,GAAM,CAEnB1H,EAAE0H,GAAGk3D,CACL,YAEC5+D,EAAE0H,CACJ1D,KAAM0b,KAASnZ,GAAI,CACnB,KAAIA,EAAI,EAAGA,GAAKw4D,EAAO3+D,SAAUmG,EAAG,CACnC,GAAIwS,GAAK/Y,EAAEmE,MAAMnE,EAAE0H,EAAG1H,EAAE0H,EAAEq3D,EAAOx4D,GAAG/C,IAAMxD,GAAE0H,GAAGq3D,EAAOx4D,GAAG/C,GACzDwd,IAAUjI,EAAI,EACd,IAAIrT,SAAWwC,KAAa,YAAcA,EAASL,MAAMhB,OAAOg4D,EAAY9lD,GAAM/M,EAAI+M,EACtF,QAAOgmD,EAAOx4D,GAAG+P,MAChB,IAAK,IAEJ,GAAG5Q,EAAE2sB,OAAOjyB,OAAQ4D,EAAI0b,GAAGnZ,GAAKb,EAAE0F,QAAQ,cAAc,KACxD,OACD,IAAK,IACJ,GAAG1F,EAAEtF,SAAW,EAAG,CAClB4D,EAAI0b,GAAGnZ,GAAK,GAAIuO,MAAKA,KAAK6hB,KAAKjxB,EAAEvB,MAAM,EAAE,IAAKuB,EAAEvB,MAAM,EAAE,GAAG,GAAIuB,EAAEvB,MAAM,EAAE,GAAI,EAAG,EAAG,EAAG,GACtF,MAAK8P,GAAQA,EAAK0iB,KAAM,CAAE3yB,EAAI0b,GAAGnZ,GAAKw0B,GAAa/2B,EAAI0b,GAAGnZ,SAEtDvC,GAAI0b,GAAGnZ,GAAKb,CACjB,OACD,IAAK,IAAK1B,EAAI0b,GAAGnZ,GAAKiV,WAAW9V,EAAE2sB,OAAS,OAC5C,IAAK,KAAK,IAAK,IAAKruB,EAAI0b,GAAGnZ,GAAKk4D,EAAK1lD,EAAGwH,YAAY,EAAG,KAAO,WAAaxH,EAAGwH,WAAW,EAAG,IAAM,OAClG,IAAK,IAAK,OAAO7a,EAAE2sB,OAAOpc,eACzB,IAAK,KAAK,IAAK,IAAKjS,EAAI0b,GAAGnZ,GAAK,IAAM,OACtC,IAAK,KAAK,IAAK,IAAKvC,EAAI0b,GAAGnZ,GAAK,KAAO,OACvC,IAAK,IAAI,IAAK,MAAQ,IAAK,IAAK,MAChC,QAAS,KAAM,IAAItF,OAAM,uBAAyByE,EAAI,MACpD,MACH,IAAK,IACJ,IAAI64D,EAAM,KAAM,IAAIt9D,OAAM,gCAAkC4sD,EAAGzpD,SAAS,IACxEJ,GAAI0b,GAAGnZ,GAAK,YAAck4D,EAAKvmD,SAASxS,EAAE2sB,OAAQ,IAAKtZ,EAAGwH,WAAW,GACrE,OACD,IAAK,IACJ7a,EAAIA,EAAE0F,QAAQ,UAAU,IAAIinB,MAE5B,IAAG3sB,GAAKA,GAAK,IAAK1B,EAAI0b,GAAGnZ,IAAMb,GAAK,CAAG,OACxC,IAAK,IAEJ1B,EAAI0b,GAAGnZ,GAAK,GAAIuO,MAAKiE,EAAGwH,YAAY,EAAG,KAAO,YAC9C,OACD,IAAK,IAAK,CACT,GAAI2+C,GAAKnmD,EAAGwH,WAAW,GAAI4+C,EAAKpmD,EAAGwH,WAAW,EAC9C,IAAG2+C,GAAM,GAAKC,GAAM,EAAG,KACvBn7D,GAAI0b,GAAGnZ,GAAK,GAAIuO,OAAMoqD,EAAK,SAAY,MAAYC,EACnD,MAAKlrD,GAAQA,EAAK0iB,KAAM3yB,EAAI0b,GAAGnZ,GAAKw0B,GAAa/2B,EAAI0b,GAAGnZ,IACvD,MACF,IAAK,IAAKvC,EAAI0b,GAAGnZ,GAAKwS,EAAGwH,WAAW,EAAE,KAAK,IAAOxH,EAAGwH,WAAW,EAAG,KAAK,IAAK9S,KAAKI,IAAI,EAAE,GAAK,OAC7F,IAAK,IAAK7J,EAAI0b,GAAGnZ,IAAMwS,EAAGwH,YAAY,EAAG,IAAM,OAC/C,IAAK,IAAK,GAAGi+C,GAAOO,EAAOx4D,GAAG/C,KAAO,EAAG,CAAEQ,EAAI0b,GAAGnZ,GAAKwS,EAAGwH,WAAW,EAAE,IAAM,QAE5E,IAAK,KAAK,IAAK,IAAKxH,EAAGrR,GAAKq3D,EAAOx4D,GAAG/C,GAAK,OAC3C,IAAK,IACJ,GAAGu7D,EAAOx4D,GAAGgd,OAAS,aAAc,MAErC,QAAS,KAAM,IAAItiB,OAAM,6BAA+B89D,EAAOx4D,GAAG+P,SAIrE,GAAGu3C,GAAM,EAAM,GAAG7tD,EAAE0H,EAAI1H,EAAEI,QAAUJ,EAAEA,EAAE0H,MAAQ,GAAM,KAAM,IAAIzG,OAAM,2BAA6BjB,EAAE0H,EAAE,GAAK,OAAS1H,EAAEI,OAAS,IAAMJ,EAAEA,EAAE0H,EAAE,GAAGtD,SAAS,IACxJ,IAAG6P,GAAQA,EAAKmrD,UAAWp7D,EAAMA,EAAIG,MAAM,EAAG8P,EAAKmrD,UACnDnrD,GAAKwoD,IAAMsC,CACX,OAAO/6D,GAGR,QAASq7D,GAAax8D,EAAKoR,GAC1B,GAAInK,GAAImK,KACR,KAAInK,EAAE+R,OAAQ/R,EAAE+R,OAAS,UACzB,IAAIwvB,GAAKc,GAAamyB,EAAWz7D,EAAKiH,GAAIA,EAC1CuhC,GAAG,SAAWvhC,EAAE2yD,IAAIp3D,IAAI,SAAS25D,GAAS,OACzCM,IAAKN,EAAMx7D,IACXi5D,IAAKuC,WAECl1D,GAAE2yD,GACT,OAAOpxB,GAGR,QAASk0B,GAAgB18D,EAAKoR,GAC7B,IACC,GAAInK,GAAI8gC,GAAkBy0B,EAAax8D,EAAKoR,GAAOA,EACnDnK,GAAE8yC,SAAW,KACb,OAAO9yC,GACN,MAAM5J,GAAK,GAAG+T,GAAQA,EAAK6tB,IAAK,KAAM5hC,GACxC,OAAS6qC,cAAcC,WAGxB,GAAIw0B,IAAUtsD,EAAK,EAAG3M,EAAK,IAAKsG,EAAK,EAAG5M,EAAK,EAAGw/D,IAAK,EAAGC,GAAI,EAC5D,SAASC,GAAat0B,EAAIp3B,GACzB,IAAIo3B,EAAG,QAAS,KAAM,IAAIpqC,OAAM,mCAChC,IAAI6I,GAAImK,KACR,IAAI2rD,GAAS53D,CACb,KAAI8B,EAAEg1D,UAAY,EAAGn1D,GAAQG,EAAEg1D,SAC/B,IAAGh1D,EAAEwM,MAAQ,SAAU,KAAM,IAAIrV,OAAM,gCACvC,IAAIqnC,GAAKf,IACT,IAAIs4B,GAAMC,GAAcz0B,GAAKvoB,OAAO,EAAGkB,IAAI,KAAMioB,UAAU,MAC3D,IAAI8zB,GAAUF,EAAI,GAAI/7D,EAAO+7D,EAAI17D,MAAM,GAAI67D,EAAO30B,EAAG,YACrD,IAAIlrC,GAAI,EAAGM,EAAI,EAAGw/D,EAAO,EAAGrB,EAAO,CACnC,KAAIz+D,EAAI,EAAGA,EAAI4/D,EAAQ3/D,SAAUD,EAAG,CACnC,KAAK6/D,EAAK7/D,QAAQs8D,SAASl5C,KAAM,CAAEw8C,EAAQ5/D,GAAK6/D,EAAK7/D,GAAGs8D,IAAIl5C,OAAQ08C,CAAM,UAC1E,GAAGF,EAAQ5/D,IAAM,KAAM,WACrB8/D,CACF,UAAUF,GAAQ5/D,KAAO,SAAU4/D,EAAQ5/D,GAAK4/D,EAAQ5/D,GAAGiE,SAAS,GACpE,UAAU27D,GAAQ5/D,KAAO,SAAU,KAAM,IAAIc,OAAM,2BAA6B8+D,EAAQ5/D,GAAK,WAAe4/D,GAAQ5/D,GAAM,IAC1H,IAAG4/D,EAAQr5D,QAAQq5D,EAAQ5/D,MAAQA,EAAG,IAAIM,EAAE,EAAGA,EAAE,OAAOA,EACvD,GAAGs/D,EAAQr5D,QAAQq5D,EAAQ5/D,GAAK,IAAMM,KAAO,EAAG,CAAEs/D,EAAQ5/D,IAAM,IAAMM,CAAG,QAE3E,GAAIooC,GAAQyB,GAAkBe,EAAG,QACjC,IAAI60B,KACJ,IAAIC,KACJ,IAAIC,KACJ,KAAIjgE,EAAI,EAAGA,GAAK0oC,EAAM3oC,EAAEuE,EAAIokC,EAAMnjC,EAAEjB,IAAKtE,EAAG,CAC3C,GAAIkgE,GAAQ,GAAIC,EAAS,GAAI/zD,EAAS,CACtC,IAAIo9B,KACJ,KAAIlpC,EAAE,EAAGA,EAAIqD,EAAK1D,SAAUK,EAAG,CAC9B,GAAGqD,EAAKrD,GAAGN,IAAM,KAAMwpC,EAAIhiC,KAAK7D,EAAKrD,GAAGN,IAEzC,GAAGwpC,EAAIvpC,QAAU,GAAK2/D,EAAQ5/D,IAAM,KAAM,CAAE+/D,EAAS//D,GAAK,GAAK,UAC/D,IAAIM,EAAI,EAAGA,EAAIkpC,EAAIvpC,SAAUK,EAAG,CAC/B,aAAckpC,GAAIlpC,IAEjB,IAAK,SAAU6/D,EAAS,GAAK,OAC7B,IAAK,SAAUA,EAAS,GAAK,OAC7B,IAAK,UAAWA,EAAS,GAAK,OAC9B,IAAK,SAAUA,EAAS32B,EAAIlpC,YAAcqU,MAAO,IAAM,GAAK,OAC5D,QAASwrD,EAAS,KAGnB/zD,EAASkB,KAAKgM,IAAIlN,SAAgBrE,KAAa,mBAAsByhC,GAAIlpC,IAAM,SAAWyH,EAASL,MAAMvB,OAAO2B,EAAc0hC,EAAIlpC,IAAK4B,OAAOsnC,EAAIlpC,KAAKL,OACvJigE,GAAQA,GAASA,GAASC,EAAS,IAAMA,EAG1C,GAAG/zD,EAAS,IAAKA,EAAS,GAC1B+zD,KAAWN,EAAK7/D,QAAQs8D,SAASnmD,IAEjC,IAAGgqD,GAAU,IAAK,CACjB,GAAGN,EAAK7/D,GAAGs8D,IAAIj5D,IAAM+I,EAAQA,EAASyzD,EAAK7/D,GAAGs8D,IAAIj5D,IAEnD,GAAG68D,GAAS,KAAOC,GAAU,IAAK,CACjCD,EAAQ,GACRD,GAAYjgE,GAAK6/D,EAAK7/D,GAAGs8D,IAAIj8D,GAC7B+L,GAASyzD,EAAK7/D,GAAGs8D,IAAIj5D,IAEtB28D,EAAUhgE,GAAKkgE,GAAS,KAAOC,GAAU,IAAM/zD,EAAUizD,EAAMa,IAAU,CACzEzB,IAAQuB,EAAUhgE,EAClB+/D,GAAS//D,GAAKkgE,EAGf,GAAIh1C,GAAIid,EAAGP,KAAK,GAChB1c,GAAEjL,YAAY,EAAG,UACjBiL,GAAEjL,YAAY,EAAGtc,EAAK1D,OACtBirB,GAAEjL,YAAY,EAAG,IAAM,GAAK6/C,EAC5B50C,GAAEjL,YAAY,EAAGw+C,EACjB,KAAIz+D,EAAE,EAAGA,EAAI,IAAKA,EAAGkrB,EAAEjL,YAAY,EAAG,EACtC,IAAIxc,IAAMy6D,EAAgBr2D,IAAqB,CAC/CqjB,GAAEjL,YAAY,EAAG,EAAcxc,GAAI,EACnC,IAAG84D,EAAiB94D,KAAQkG,EAAEg1D,SAAU,CACvC,GAAGh1D,EAAEg1D,SAAUl2C,QAAQC,MAAM,4BAA8B7gB,EAAmB,eAC9EA,GAAmB,KAGpB,IAAI7H,EAAI,EAAGM,EAAI,EAAGN,EAAI4/D,EAAQ3/D,SAAUD,EAAG,CAC1C,GAAG4/D,EAAQ5/D,IAAM,KAAM,QACvB,IAAIogE,GAAKj4B,EAAGP,KAAK,GAEjB,IAAIy4B,IAAMT,EAAQ5/D,GAAGgE,OAAO,IAAM,0BAAgDA,MAAM,EAAG,GAC3Fo8D,GAAGngD,YAAY,EAAGogD,EAAI,OACtBD,GAAGngD,YAAY,EAAG8/C,EAAS//D,IAAM,IAAM,IAAM+/D,EAAS//D,GAAI,OAC1DogE,GAAGngD,YAAY,EAAG3f,EAClB8/D,GAAGngD,YAAY,EAAG+/C,EAAUhgE,IAAMq/D,EAAMU,EAAS//D,KAAO,EACxDogE,GAAGngD,YAAY,EAAGggD,EAAYjgE,IAAM,EACpCogE,GAAGngD,YAAY,EAAG,EAClBmgD,GAAGngD,YAAY,EAAG,EAClBmgD,GAAGngD,YAAY,EAAG,EAClBmgD,GAAGngD,YAAY,EAAG,EAClBmgD,GAAGngD,YAAY,EAAG,EAClB3f,IAAM0/D,EAAUhgE,IAAMq/D,EAAMU,EAAS//D,KAAO,EAG7C,GAAIsgE,GAAKn4B,EAAGP,KAAK,IACjB04B,GAAGrgD,YAAY,EAAG,GAClB,KAAIjgB,EAAE,EAAGA,EAAI,KAAKA,EAAGsgE,EAAGrgD,YAAY,EAAG,EACvC,KAAIjgB,EAAE,EAAGA,EAAI2D,EAAK1D,SAAUD,EAAG,CAC9B,GAAIugE,GAAOp4B,EAAGP,KAAK62B,EACnB8B,GAAKtgD,YAAY,EAAG,EACpB,KAAI3f,EAAE,EAAGA,EAAEs/D,EAAQ3/D,SAAUK,EAAG,CAC/B,GAAGs/D,EAAQt/D,IAAM,KAAM,QACvB,QAAOy/D,EAASz/D,IACf,IAAK,IAAKigE,EAAKtgD,YAAY,EAAGtc,EAAK3D,GAAGM,IAAM,KAAO,GAAOqD,EAAK3D,GAAGM,GAAK,GAAO,GAAO,OACrF,IAAK,IAAKigE,EAAKtgD,YAAY,EAAGtc,EAAK3D,GAAGM,IAAI,EAAG,IAAM,OACnD,IAAK,IACJ,GAAIkgE,GAAK,GACT,UAAU78D,GAAK3D,GAAGM,IAAM,SAAUkgE,EAAK78D,EAAK3D,GAAGM,GAAG+U,QAAQ4qD,EAAY3/D,IAAI,EAC1E,IAAGkgE,EAAGvgE,OAAS+/D,EAAU1/D,GAAIkgE,EAAKA,EAAGx8D,MAAM,EAAGg8D,EAAU1/D,GACxD,KAAIw/D,EAAK,EAAGA,EAAOE,EAAU1/D,GAAGkgE,EAAGvgE,SAAU6/D,EAAMS,EAAKtgD,YAAY,EAAG,GACvEsgD,GAAKtgD,YAAY,EAAGugD,EAAI,OACxB,OACD,IAAK,IACJ,IAAI78D,EAAK3D,GAAGM,GAAIigE,EAAKtgD,YAAY,EAAG,WAAY,YAC3C,CACJsgD,EAAKtgD,YAAY,GAAI,OAAOtc,EAAK3D,GAAGM,GAAGwU,eAAe9Q,OAAO,GAAI,OACjEu8D,GAAKtgD,YAAY,GAAI,MAAMtc,EAAK3D,GAAGM,GAAGyU,WAAW,IAAI/Q,OAAO,GAAI,OAChEu8D,GAAKtgD,YAAY,GAAI,KAAKtc,EAAK3D,GAAGM,GAAGuU,WAAW7Q,OAAO,GAAI,QAC1D,MACH,IAAK,IACJ,GAAIy8D,GAAKF,EAAKh5D,CACd,IAAIm5D,GAAKx+D,OAAOyB,EAAK3D,GAAGM,IAAM,KAAOqD,EAAK3D,GAAGM,GAAK,IAAI0D,MAAM,EAAGg8D,EAAU1/D,GACzEigE,GAAKtgD,YAAY,EAAGygD,EAAI,QACxBD,IAAMT,EAAU1/D,GAAKigE,EAAKh5D,CAC1B,KAAIu4D,EAAK,EAAGA,EAAOW,IAAMX,EAAMS,EAAKtgD,YAAY,EAAG,GAAO,UAK9DpY,EAAmB43D,CACnBt3B,GAAGP,KAAK,GAAG3nB,YAAY,EAAG,GAC1B,OAAOkoB,GAAG3W,MAEV,OACCmvC,YAAavB,EACbwB,SAAU1B,EACV2B,WAAYrB,KAId,IAAIsB,IAAO,WAEV,GAAIC,IACHC,GAAG,IAAKC,GAAG,IAAKC,GAAG,IAAKC,GAAG,IAAKC,GAAG,IAAKC,GAAG,IAC3CC,GAAG,IAAKC,GAAG,IAAKC,GAAG,IAAaC,GAAG,IACnCC,GAAG,IAAKC,GAAG,IAAKC,GAAG,IAAaC,GAAG,IACnCC,GAAG,IAAKC,GAAG,IAAKC,GAAG,IAAKC,GAAG,IAAKC,GAAG,IACnCC,GAAG,IAAKC,GAAG,IAAKC,GAAG,IAAaC,GAAG,IACnCC,GAAG,IAAKC,GAAG,IAAKC,GAAG,IAAKC,GAAG,IAAKC,GAAG,IAAKC,GAAG,IAC3CC,GAAG,IAAKC,GAAG,IAAKC,GAAG,IAAaC,GAAG,IACnCC,GAAG,IAAKC,GAAG,IAAKC,GAAG,IAAaC,GAAG,IACnCC,GAAG,IAAKC,GAAG,IAAKC,GAAG,IAAKC,GAAG,IAAKC,GAAG,IACnCC,GAAG,IAAKC,GAAG,IAAKC,GAAG,IAAaC,GAAG,IACnCC,GAAG,IAAKC,GAAG,IAAKvwD,EAAE,IAAMwrB,EAAE,IAAMnT,EAAE,IAAMvrB,EAAE,IAC1C0jE,GAAG,IAAKC,GAAG,IAAKC,GAAG,IACnB1vD,EAAE,IAAMlQ,EAAE,IAAMib,EAAE,IAAM4kD,KAAK,IAC7Bj8D,EAAE,IAAMC,EAAE,IAAMC,EAAE,IAClB6F,EAAE,IAAM2B,EAAE,IAAMC,EAAE,IAClBC,EAAE,IAAMuD,EAAE,IAAMxO,EAAE,IAAMimB,EAAE,IAAM9qB,EAAE,IAAMuH,EAAE,IAAMhC,EAAE,IAAM+O,EAAE,IAC1D8vD,IAAI,IAAKC,IAAI,IAAKC,IAAI,IAAKC,IAAI,IAAKC,IAAI,IAAKC,IAAI,IAAKC,KAAK,IAC3DC,IAAI,IAAKC,IAAI,IAAKC,IAAI,IAAKC,IAAI,IAAK3oC,IAAI,IAAKmjC,IAAI,IAAKyF,IAAI,IAE3D,IAAIC,GAAkB,GAAI/nD,QAAO,MAAa9Z,GAAK49D,GAAct6D,KAAK,KAAKwE,QAAQ,SAAU,SAASA,QAAQ,YAAY,QAAQA,QAAQ,IAAK,OAAS,QAAS,KACjK,KACC+5D,EAAkB,GAAI/nD,QAAO,MAAa9Z,GAAK49D,GAAct6D,KAAK,KAAKwE,QAAQ,SAAU,SAASA,QAAQ,YAAY,QAAU,QAAS,MACxI,MAAMlL,IACR,GAAIklE,GAAe,SAASC,EAAG5tD,GAAK,GAAI3N,GAAIo3D,EAAazpD,EAAK,cAAc3N,IAAK,SAAWO,EAASP,GAAKA,EAC1G,IAAIw7D,GAAmB,SAAS9tD,EAAIC,EAAIC,GAAM,GAAI6tD,GAAU9tD,EAAGpX,WAAW,GAAK,IAAO,EAAMqX,EAAGrX,WAAW,GAAK,EAAO,OAAOklE,IAAS,GAAK/tD,EAAKnN,EAASk7D,GACzJrE,GAAa,KAAO,GAEpB,IAAIsE,GAAkB,SAAShuD,GAAM,MAAOA,GAAGpM,QAAQ,MAAO,OAAUA,QAAQ,MAAO,OAEvF,SAASq6D,GAAYzlE,EAAGiU,GACvB,OAAOA,EAAKqC,MACX,IAAK,SAAU,MAAOovD,GAAgBv6D,EAAcnL,GAAIiU,GACxD,IAAK,SAAU,MAAOyxD,GAAgB1lE,EAAGiU,GACzC,IAAK,SAAU,MAAOyxD,GAAgBljE,GAAWC,OAAOyB,SAASlE,GAAKA,EAAEoE,SAAS,UAAY4H,EAAIhM,GAAIiU,GACrG,IAAK,QAAS,MAAOyxD,GAAgBjuC,GAAOz3B,GAAIiU,IAEjD,KAAM,IAAIhT,OAAM,qBAAuBgT,EAAKqC,MAE7C,QAASovD,GAAgB9sD,EAAK3E,GAC7B,GAAI0xD,GAAU/sD,EAAIlY,MAAM,WAAYgf,GAAK,EAAGnZ,GAAK,EAAG8S,EAAK,EAAGusD,EAAK,EAAGluC,IACpE,IAAImuC,KACJ,IAAIC,GAAmB,IACvB,IAAIC,MAAUC,KAAcC,KAAcC,IAC1C,IAAIC,GAAO,EAAG1lE,CACd,IAAI0/C,IAAOimB,UAAYC,WAAaC,UACpC,KAAIryD,EAAK6qD,UAAY,EAAGn1D,GAAQsK,EAAK6qD,SACrC,MAAOzlD,IAAOssD,EAAQvlE,SAAUiZ,EAAI,CACnC8sD,EAAO,CACP,IAAII,GAAKZ,EAAQtsD,GAAIgZ,OAAOjnB,QAAQ,kCAAmCk6D,GAAkBl6D,QAAQ+5D,EAAiBC,EAClH,IAAIoB,GAAOD,EAAKn7D,QAAQ,MAAO,MAAU1K,MAAM,KAAK2E,IAAI,SAASjD,GAAK,MAAOA,GAAEgJ,QAAQ,UAAW,MAClG,IAAIi8B,GAAGm/B,EAAO,GAAIhwD,CAClB,IAAG+vD,EAAKnmE,OAAS,EAAG,OAAOinC,GAC3B,IAAK,KAAM,MACX,IAAK,IAAK,MACV,IAAK,IAAK,MACV,IAAK,IACL,IAAIu+B,EAAG,EAAGA,EAAGY,EAAOpmE,SAAUwlE,EAAI,OAAOY,EAAOZ,GAAItlE,OAAO,IAC1D,IAAK,IAAK,CACT,GAAImmE,GAAQvuD,SAASsuD,EAAOZ,GAAIzhE,MAAM,GAAI,GAE1C,IAAGsiE,GAAS,GAAKA,GAAS,EAAGtmB,EAAGimB,SAASC,QAAQxxD,SAAW,KAC3D,OACD,MACF,IAAK,IAAK,MACV,IAAK,IACJ,OAAO2xD,EAAO,GAAGlmE,OAAO,IACvB,IAAK,IAAKulE,EAAQl+D,KAAK4+D,EAAKpiE,MAAM,GAAGiH,QAAQ,MAAO,KAAO,QAC1D,MACH,IAAK,KAAM,CACV,GAAIs7D,IAAMC,MAAO,EACjB,KAAIf,EAAG,EAAGA,EAAGY,EAAOpmE,SAAUwlE,EAAI,OAAOY,EAAOZ,GAAItlE,OAAO,IAC1D,IAAK,IAAKomE,EAAGxP,KAAOsP,EAAOZ,GAAIzhE,MAAM,EAAI,OACzC,IAAK,IAAKuiE,EAAGE,KAAO3yD,GAAQA,EAAK42B,OAAS,UAAY,IAAMg8B,GAASL,EAAOZ,GAAIzhE,MAAM,GAAK,QAE5Fg8C,EAAGimB,SAASE,MAAM3+D,KAAK++D,GACtB,MAGF,IAAK,IACL,GAAII,GAAW,MAAOC,EAAW,MAAOC,EAAW,MAAOC,EAAW,MAAO17B,GAAM,EAAGC,GAAM,EAAG07B,EAAU,GAAIC,EAAS,GACrH,IAAIrO,GAAO,EACX,KAAI8M,EAAG,EAAGA,EAAGY,EAAOpmE,SAAUwlE,EAAI,OAAOY,EAAOZ,GAAItlE,OAAO,IAC1D,IAAK,IAAKw4D,EAAO0N,EAAOZ,GAAIzhE,MAAM,EAAI,OACtC,IAAK,IAAKoC,EAAI2R,SAASsuD,EAAOZ,GAAIzhE,MAAM,GAAI,IAAI,CAAG4iE,GAAW,IAAM,OACpE,IAAK,IACJrnD,EAAIxH,SAASsuD,EAAOZ,GAAIzhE,MAAM,GAAI,IAAI,CAAG,KAAI4iE,EAAUxgE,EAAI,CAC3D,KAAI9F,EAAIi3B,EAAIt3B,OAAQK,GAAKif,IAAKjf,EAAGi3B,EAAIj3B,KACrC,OACD,IAAK,IACJ+V,EAAMgwD,EAAOZ,GAAIzhE,MAAM,EACvB,IAAGqS,EAAIlW,OAAO,KAAO,IAAK,CAAEkW,EAAMA,EAAIrS,MAAM,EAAEqS,EAAIpW,OAAS,EAAI+mE,GAAS,QACnE,IAAG3wD,IAAQ,QAAUA,IAAQ,QAAS,CAAEA,EAAMA,IAAQ,MAAQ2wD,GAAS,QACvE,IAAG3wD,EAAIlW,OAAO,IAAM,KAAOwzC,GAAMt9B,IAAQ,KAAM,CAAE2wD,EAAS,GAAK3wD,GAAMs9B,GAAMt9B,OAC3E,KAAIxL,MAAM2uB,GAASnjB,IAAO,CAC9BA,EAAMmjB,GAASnjB,EAAM2wD,GAAS,GAC9B,IAAGrB,IAAqB,MAAQ1rD,GAAY0rD,IAAqB7xD,EAAKg4B,UAAW,CAChFz1B,EAAMygB,GAAQkpB,EAAGimB,SAASC,QAAQxxD,SAAW2B,EAAM,KAAOA,EAAM2wD,SAAgB3wD,IAAO,SAAW,IAAM,KAG1G,SAAUtO,KAAa,mBAAsBsO,IAAO,WAAcvC,OAAUqC,MAAQ,WAAcrC,OAAU6qD,SAAUtoD,EAAMtO,EAASL,MAAMhB,OAAOoN,EAAK6qD,SAAUtoD,EACjKswD,GAAW,IACX,OACD,IAAK,IACJG,EAAW,IACXC,GAAUL,GAASL,EAAOZ,GAAIzhE,MAAM,IAAK2T,EAAE4H,EAAEjb,EAAE8B,GAC/C,OACD,IAAK,IACJygE,EAAW,IACX,OACD,IAAK,IAAK,MACV,IAAK,IAAKz7B,EAAKrzB,SAASsuD,EAAOZ,GAAIzhE,MAAM,GAAI,IAAI,CAAG,OACpD,IAAK,IAAKqnC,EAAKtzB,SAASsuD,EAAOZ,GAAIzhE,MAAM,GAAI,IAAI,CAAG,OAGpD,QAAS,GAAG8P,GAAQA,EAAK6tB,IAAK,KAAM,IAAI7gC,OAAM,mBAAqBslE,IAEpE,GAAGO,EAAU,CACZ,IAAIpvC,EAAIhY,GAAGnZ,GAAImxB,EAAIhY,GAAGnZ,IAAO6G,EAAG+5D,EAAQh6D,EAAGqJ,OACtC,CAAEkhB,EAAIhY,GAAGnZ,GAAG6G,EAAI+5D,CAAQzvC,GAAIhY,GAAGnZ,GAAG4G,EAAIqJ,EAC3C,GAAGsvD,EAAkBpuC,EAAIhY,GAAGnZ,GAAG44B,EAAI2mC,CACnC,IAAG7xD,EAAKmzD,WAAa,OAAStB,EAAkBpuC,EAAIhY,GAAGnZ,GAAGtC,EAAIkS,GAAWuhB,EAAIhY,GAAGnZ,GAAG44B,EAAGzH,EAAIhY,GAAGnZ,GAAG4G,GAAK0H,SAAUsrC,EAAGimB,SAASC,QAAQxxD,UACnIixD,GAAmB,KAEpB,GAAGkB,EAAU,CACZ,GAAGC,EAAU,KAAM,IAAIhmE,OAAM,8CAC7B,IAAIomE,GAAU97B,GAAM,GAAK7T,EAAI6T,GAAIC,EACjC,KAAI67B,IAAYA,EAAQ,GAAI,KAAM,IAAIpmE,OAAM,uCAC5CimE,GAAUI,GAAkBD,EAAQ,IAAKvvD,EAAG4H,EAAI6rB,EAAI9mC,EAAG8B,EAAIilC,IAE5D,GAAG07B,EAAS,CACX,IAAIxvC,EAAIhY,GAAGnZ,GAAImxB,EAAIhY,GAAGnZ,IAAO6G,EAAG,IAAKvI,EAAGqiE,OACnCxvC,GAAIhY,GAAGnZ,GAAG1B,EAAIqiE,EAEpB,GAAGpO,EAAM,CACR,IAAIphC,EAAIhY,GAAGnZ,GAAImxB,EAAIhY,GAAGnZ,IAAO6G,EAAG,IAChCsqB,GAAIhY,GAAGnZ,GAAG9B,IAAMunB,EAAE,aAAc5e,EAAG0rD,IAEpC,MACA,IAAK,IACL,GAAIyO,GAAS,CACb,KAAI3B,EAAG,EAAGA,EAAGY,EAAOpmE,SAAUwlE,EAAI,OAAOY,EAAOZ,GAAItlE,OAAO,IAC1D,IAAK,IAAKiG,EAAI2R,SAASsuD,EAAOZ,GAAIzhE,MAAM,GAAI,IAAI,IAAKojE,CAAQ,OAC7D,IAAK,IACJ7nD,EAAIxH,SAASsuD,EAAOZ,GAAIzhE,MAAM,GAAI,IAAI,CACtC,KAAI1D,EAAIi3B,EAAIt3B,OAAQK,GAAKif,IAAKjf,EAAGi3B,EAAIj3B,KACrC,OACD,IAAK,IAAK0lE,EAAOjuD,SAASsuD,EAAOZ,GAAIzhE,MAAM,GAAI,IAAM,EAAI,OACzD,IAAK,IAAK,MACV,IAAK,IAAK,MACV,IAAK,IACJ2hE,EAAmBD,EAAQ3tD,SAASsuD,EAAOZ,GAAIzhE,MAAM,GAAI,IACzD,OACD,IAAK,IAAK,MACV,IAAK,IAAK,MACV,IAAK,IAAK,MACV,IAAK,IACJ+hE,EAAKM,EAAOZ,GAAIzhE,MAAM,GAAGzD,MAAM,IAC/B,KAAID,EAAIyX,SAASguD,EAAG,GAAI,IAAKzlE,GAAKyX,SAASguD,EAAG,GAAI,MAAOzlE,EAAG,CAC3D0lE,EAAOjuD,SAASguD,EAAG,GAAI,GACvBD,GAAQxlE,EAAE,GAAK0lE,IAAS,GAAKxX,OAAO,OAAQ2Q,IAAI6G,GAC/C,MACH,IAAK,IACJ5/D,EAAI2R,SAASsuD,EAAOZ,GAAIzhE,MAAM,GAAI,IAAI,CACtC,KAAI8hE,EAAQ1/D,GAAI0/D,EAAQ1/D,KACxB,OACD,IAAK,IACJmZ,EAAIxH,SAASsuD,EAAOZ,GAAIzhE,MAAM,GAAI,IAAI,CACtC,KAAI6hE,EAAQtmD,GAAIsmD,EAAQtmD,KACxB,IAAGymD,EAAO,EAAG,CAAEH,EAAQtmD,GAAG+vC,IAAM0W,CAAMH,GAAQtmD,GAAG8nD,IAAMC,GAAMtB,OACxD,IAAGA,IAAS,EAAGH,EAAQtmD,GAAGivC,OAAS,IACxC,OAGD,QAAS,GAAG16C,GAAQA,EAAK6tB,IAAK,KAAM,IAAI7gC,OAAM,mBAAqBslE,IAEpE,GAAGgB,EAAS,EAAGzB,EAAmB,IAAM,OACxC,QAAS,GAAG7xD,GAAQA,EAAK6tB,IAAK,KAAM,IAAI7gC,OAAM,mBAAqBslE,KAGpE,GAAGP,EAAQ5lE,OAAS,EAAG2lE,EAAI,SAAWC,CACtC,IAAGC,EAAQ7lE,OAAS,EAAG2lE,EAAI,SAAWE,CACtCA,GAAQngE,QAAQ,SAAS6jC,GAAO+9B,GAAY/9B,IAC5C,IAAG11B,GAAQA,EAAKmrD,UAAW1nC,EAAMA,EAAIvzB,MAAM,EAAG8P,EAAKmrD,UACnD,QAAQ1nC,EAAKquC,EAAK5lB,GAGnB,QAASwnB,GAAiB3nE,EAAGiU,GAC5B,GAAI2zD,GAASnC,EAAYzlE,EAAGiU,EAC5B,IAAI4rD,GAAM+H,EAAO,GAAIv8B,EAAKu8B,EAAO,GAAIznB,EAAKynB,EAAO,EACjD,IAAIjgD,GAAQ6R,GAAIvlB,EAAO0T,GAAM9S,YAAcsrC,OAAQimB,cAAgBC,aAAexxD,QAClF,IAAI/K,GAAIqiC,GAAa0zB,EAAKl4C,EAC1BrkB,IAAK+nC,GAAIvlC,QAAQ,SAASd,GAAK8E,EAAE9E,GAAKqmC,EAAGrmC,IACzC,IAAI6iE,GAAQj9B,GAAkB9gC,EAAGmK,EACjC3Q,IAAK68C,GAAIr6C,QAAQ,SAASd,GAAK6iE,EAAM7iE,GAAKm7C,EAAGn7C,IAC7C6iE,GAAMjrB,SAAW,MACjB,OAAOirB,GAGR,QAASC,GAAmBt/B,EAAM6C,EAAI3rB,EAAGnZ,EAAG0N,EAAMY,GACjD,GAAI/K,GAAI,OAAS4V,EAAE,GAAK,MAAQnZ,EAAE,GAAK,IACvC,QAAOiiC,EAAKp7B,GACX,IAAK,IACJtD,GAAK8L,SAAS4yB,EAAKr7B,GAAMq7B,EAAKr7B,GAAG,EAAKw9B,GAAK3/B,MAAMw9B,EAAKr7B,GAAK,GAAO,EAClE,IAAGq7B,EAAK3jC,IAAM2jC,EAAK1hC,EAAGgD,GAAK,KAAOi+D,GAASv/B,EAAK3jC,GAAIiT,EAAE4H,EAAGjb,EAAE8B,GAAK,OACjE,IAAK,IAAKuD,GAAK0+B,EAAKr7B,EAAI,OAAS,OAAS,OAC1C,IAAK,IAAKrD,GAAK0+B,EAAKvkC,GAAK0mC,GAAKnC,EAAKr7B,IAAMq7B,EAAKr7B,CAAG,OACjD,IAAK,IAAKrD,GAAKsM,GAAQohB,GAAUgR,EAAKr7B,EAAG0H,GAAWA,EAAW,OAC/D,IAAK,IAAK/K,GAAK,KAAO0+B,EAAKr7B,GAAK,KAAO,GAAK9K,OAAOmmC,EAAKr7B,IAAI/B,QAAQ,KAAK,IAAIA,QAAQ,KAAM,MAAQ,GAAK,QAEzG,MAAOtB,GAGR,QAASk+D,GAAmBlP,EAAMp5C,EAAGnZ,GACpC,GAAIuD,GAAI,OAAS4V,EAAE,GAAK,MAAQnZ,EAAE,GAAK,IAEvCuD,IAAK07D,EAAgB1M,EAAKzzD,IAAI,SAASZ,GAAK,MAAOA,GAAE2I,IAAMxG,KAAK,IAChE,OAAOkD,GAGR,QAASm+D,GAAmBjkE,EAAKg8D,GAChCA,EAAKl6D,QAAQ,SAAS6jC,EAAKxpC,GAC1B,GAAI+nE,GAAM,OAAS/nE,EAAE,GAAK,KAAOA,EAAE,GAAK,GACxC,IAAGwpC,EAAIglB,OAAQuZ,GAAO,QACjB,CACJ,SAAUv+B,GAAI2f,OAAS,WAAa3f,EAAIw+B,IAAKx+B,EAAIw+B,IAAMC,GAASz+B,EAAI2f,MACpE,UAAU3f,GAAIw+B,KAAO,WAAax+B,EAAI21B,IAAK31B,EAAI21B,IAAM+I,GAAQ1+B,EAAIw+B,IACjE,UAAUx+B,GAAI21B,KAAO,SAAU4I,GAAOz6D,KAAKC,MAAMi8B,EAAI21B,KAEtD,GAAG4I,EAAI5nE,OAAO4nE,EAAI9nE,OAAS,IAAM,IAAK4D,EAAI2D,KAAKugE,KAIjD,QAASI,GAAmBtkE,EAAKukE,GAChCA,EAAKziE,QAAQ,SAASwsB,EAAKnyB,GAC1B,GAAI+nE,GAAM,IACV,IAAG51C,EAAIq8B,OAAQuZ,GAAO,UACjB,IAAG51C,EAAIm9B,IAAKyY,GAAO,IAAM,GAAK51C,EAAIm9B,IAAM,QACxC,IAAGn9B,EAAIk1C,IAAKU,GAAO,IAAM,GAAKM,GAAMl2C,EAAIk1C,KAAO,GACpD,IAAGU,EAAI9nE,OAAS,EAAG4D,EAAI2D,KAAKugE,EAAM,KAAO/nE,EAAE,MAI7C,QAASsoE,GAAcp9B,EAAIp3B,EAAMksC,GAChC,IAAIlsC,EAAMA,IAAWA,GAAKy0D,UAAY,UAEtC,IAAI/sC,IAAY,mBAAoB7xB,IACpC,IAAIgO,GAAIwyB,GAAkBe,EAAG,SAAS,MAAO7C,CAC7C,IAAI0C,GAAQG,EAAG,UAAY,IAC3B,IAAIs9B,GAAK,MACT,IAAIlC,MAAWtmB,OAAQimB,cAAcC,aAAaxxD,QAElD,IAAI+zD,GAAW,SACfjtC,GAASh0B,KAAK,aAEd,IAAI+X,GAAI5H,EAAEpS,EAAEoS,EAAGvR,EAAIuR,EAAEpS,EAAEjB,EAAGob,IAC1B,IAAGwrB,EAAG,QAAS,IAAI3rB,EAAI5H,EAAEpS,EAAEoS,EAAG4H,GAAK5H,EAAE5X,EAAE4X,IAAK4H,EAAG,CAC9C,GAAGwrB,IAAUG,EAAG,SAAS3rB,GAAI,QAC7BG,KACA,KAAItZ,EAAIuR,EAAEpS,EAAEjB,EAAG8B,GAAKuR,EAAE5X,EAAEuE,IAAK8B,EAAG,CAC/BiiC,EAAO0C,EAAQG,EAAG,SAAS3rB,GAAGnZ,GAAK8kC,EAAGlC,GAAW5iC,GAAK6iC,GAAW1pB,GACjE,KAAI8oB,IAASA,EAAK/jC,EAAG,QACrBob,GAAElY,KAAKqgE,EAAmBx/B,EAAK/jC,EAAGib,EAAGnZ,IAEtC,GAAGsZ,EAAEzf,OAAQ0J,EAAEnC,KAAKkY,EAAEjZ,KAAK+hE,IAE5B,GAAGt9B,EAAG,QAAS,IAAI3rB,EAAI5H,EAAEpS,EAAEoS,EAAG4H,GAAK5H,EAAE5X,EAAE4X,IAAK4H,EAAG,CAC9C,GAAGwrB,IAAUG,EAAG,SAAS3rB,GAAI,QAC7BG,KACA,KAAItZ,EAAIuR,EAAEpS,EAAEjB,EAAG8B,GAAKuR,EAAE5X,EAAEuE,IAAK8B,EAAG,CAC/BiiC,EAAO0C,EAAQG,EAAG,SAAS3rB,GAAGnZ,GAAK8kC,EAAGlC,GAAW5iC,GAAK6iC,GAAW1pB,GACjE,KAAI8oB,GAASA,EAAKr7B,GAAK,QAAUq7B,EAAK3jC,GAAK2jC,EAAK1hC,GAAK,QACrD,KAAI0hC,EAAKrJ,IAAIqJ,EAAKp7B,GAAK,IAAMe,EAAU,IAAM,aAAey6D,EAAU,CACrE,GAAIjN,GAAO1nD,EAAKy0D,SAAShiE,QAAQ8hC,EAAKrJ,EACtC,IAAGw8B,IAAS,EAAG,CAAE1nD,EAAKy0D,SAAS/gE,KAAK6gC,EAAKrJ,EAAIw8B,GAAO1nD,EAAKy0D,SAAStoE,OAAS,CAAGu7B,GAASh0B,KAAK,MAAQ6gC,EAAKrJ,EAAE/zB,QAAQ,KAAM,OACzHyU,EAAElY,KAAK,MAAQg0D,EAAO,MAAQj8C,EAAE,GAAK,MAAQnZ,EAAE,IAEhDsZ,EAAElY,KAAKmgE,EAAmBt/B,EAAM6C,EAAI3rB,EAAGnZ,EAAG0N,EAAMwyD,IAEjD38D,EAAEnC,KAAKkY,EAAEjZ,KAAK+hE,IAGfhtC,EAASh0B,KAAK,kBACd,IAAG0jC,EAAG,SAAU48B,EAAmBtsC,EAAU0P,EAAG,SAChD,IAAGA,EAAG,SAAUi9B,EAAmB3sC,EAAU0P,EAAG,SAEhD,IAAGA,EAAG,QAAS1P,EAASh0B,KAAK,OAASmQ,EAAE5X,EAAE4X,EAAIA,EAAEpS,EAAEoS,EAAI,GAAK,MAAQA,EAAE5X,EAAEuE,EAAIqT,EAAEpS,EAAEjB,EAAI,GAAK,MAAQqT,EAAEpS,EAAEjB,EAAEqT,EAAEpS,EAAEoS,EAAEA,EAAE5X,EAAEuE,EAAEqT,EAAE5X,EAAE4X,GAAGlR,KAAK,KAC9H+0B,GAASh0B,KAAK,WAAa8+D,EAAQ,MAAQ,IAAM,yBAE1CxyD,GAAKy0D,QACZ,OAAO/sC,GAAS/0B,KAAK+hE,GAAMA,EAAK7+D,EAAElD,KAAK+hE,GAAMA,EAAK,IAAMA,EAGzD,OACC7H,YAAa6G,EACb3G,WAAYyH,KAId,IAAII,IAAM,WACT,QAASC,GAAW9oE,EAAGiU,GACtB,OAAOA,EAAKqC,MACX,IAAK,SAAU,MAAOyyD,GAAe59D,EAAcnL,GAAIiU,GACvD,IAAK,SAAU,MAAO80D,GAAe/oE,EAAGiU,GACxC,IAAK,SAAU,MAAO80D,GAAevmE,GAAWC,OAAOyB,SAASlE,GAAKA,EAAEoE,SAAS,UAAY4H,EAAIhM,GAAIiU,GACpG,IAAK,QAAS,MAAO80D,GAAetxC,GAAOz3B,GAAIiU,IAEhD,KAAM,IAAIhT,OAAM,qBAAuBgT,EAAKqC,MAE7C,QAASyyD,GAAenwD,EAAK3E,GAC5B,GAAI0xD,GAAU/sD,EAAIlY,MAAM,MAAOgf,GAAK,EAAGnZ,GAAK,EAAG8S,EAAK,EAAGqe,IACvD,MAAOre,IAAOssD,EAAQvlE,SAAUiZ,EAAI,CACnC,GAAIssD,EAAQtsD,GAAIgZ,SAAW,MAAO,CAAEqF,IAAMhY,KAASnZ,GAAI,CAAG,UAC1D,GAAImZ,EAAI,EAAG,QACX,IAAIo7B,GAAW6qB,EAAQtsD,GAAIgZ,OAAO3xB,MAAM,IACxC,IAAI4V,GAAOwkC,EAAS,GAAI9Z,EAAQ8Z,EAAS,KACvCzhC,CACF,IAAIvV,GAAO6hE,EAAQtsD,IAAO,EAC1B,QAAQvV,EAAKkD,MAAM,aAAa5G,OAAS,GAAMiZ,EAAKssD,EAAQvlE,OAAS,EAAG0D,GAAQ,KAAO6hE,IAAUtsD,EACjGvV,GAAOA,EAAKuuB,MACZ,SAAS/b,GACR,KAAM,EACL,GAAIxS,IAAS,MAAO,CAAE4zB,IAAMhY,KAASnZ,GAAI,CAAG,cACvC,IAAIzC,IAAS,MAAO,KAAM,IAAI7C,OAAM,oCAAsC6C,EAC/E,OACD,IAAK,GACJ,GAAGA,IAAS,OAAQ4zB,EAAIhY,GAAGnZ,GAAK,SAC3B,IAAGzC,IAAS,QAAS4zB,EAAIhY,GAAGnZ,GAAK,UACjC,KAAIyE,MAAM2uB,GAASqH,IAAStJ,EAAIhY,GAAGnZ,GAAKozB,GAASqH,OACjD,KAAIh2B,MAAMsvB,GAAU0G,GAAOhsB,WAAY,CAC3C0iB,EAAIhY,GAAGnZ,GAAKixB,GAAUwJ,EACtB,MAAK/sB,GAAQA,EAAK0iB,KAAM,CAAEe,EAAIhY,GAAGnZ,GAAKw0B,GAAarD,EAAIhY,GAAGnZ,SAEtDmxB,GAAIhY,GAAGnZ,GAAKy6B,IACfz6B,CAAG,OACN,IAAK,GACJzC,EAAOA,EAAKK,MAAM,EAAEL,EAAK1D,OAAO,EAChC0D,GAAOA,EAAKsH,QAAQ,MAAO,IAC3B,IAAGR,GAAU9G,GAAQA,EAAKkD,MAAM,WAAYlD,EAAOA,EAAKK,MAAM,GAAI,EAClEuzB,GAAIhY,GAAGnZ,KAAOzC,IAAS,GAAKA,EAAO,IACnC,QAEF,GAAIA,IAAS,MAAO,MAErB,GAAGmQ,GAAQA,EAAKmrD,UAAW1nC,EAAMA,EAAIvzB,MAAM,EAAG8P,EAAKmrD,UACnD,OAAO1nC,GAGR,QAASsxC,GAAapwD,EAAK3E,GAAQ,MAAOk4B,IAAa28B,EAAWlwD,EAAK3E,GAAOA,GAC9E,QAASg1D,GAAgBrwD,EAAK3E,GAC7B,GAAInK,GAAI8gC,GAAkBo+B,EAAapwD,EAAK3E,GAAOA,EACnDnK,GAAE8yC,SAAW,KACb,OAAO9yC,GAGR,QAASo/D,GAAW/7D,EAAGzH,GAAK,MAAO,KAAOrD,OAAO8K,GAAK,OAASzH,EAC/D,QAASyjE,GAAezjE,GAAK,MAAO,WAAcA,EAAE0F,QAAQ,KAAK,MAAQ,IACzE,QAASg+D,GAAa/9B,GACrB,GAAIg+B,GAAUz+D,CACd,KAAIygC,EAAG,QAAS,KAAM,IAAIpqC,OAAM,mCAChC,IAAI6W,GAAIwyB,GAAkBe,EAAG,QAC7B,IAAIH,GAAQG,EAAG,UAAY,IAC3B,IAAIvhC,IACH,gCACA,iBAAmBgO,EAAE5X,EAAE4X,EAAIA,EAAEpS,EAAEoS,EAAI,GAAK,aACxC,gBAAkBA,EAAE5X,EAAEuE,EAAIqT,EAAEpS,EAAEjB,EAAI,GAAK,aACvC,wBAED,KAAI,GAAIib,GAAI5H,EAAEpS,EAAEoS,EAAG4H,GAAK5H,EAAE5X,EAAE4X,IAAK4H,EAAG,CACnC,GAAI4S,GAAM4Y,EAAQG,EAAG,SAAS3rB,KAC9B,IAAIG,GAAI,iBACR,KAAI,GAAItZ,GAAIuR,EAAEpS,EAAEjB,EAAG8B,GAAKuR,EAAE5X,EAAEuE,IAAK8B,EAAG,CACnC,GAAIiiC,GAAO0C,EAAS5Y,GAAOA,EAAI/rB,GAAM8kC,EAAGtC,IAAajxB,EAAE4H,EAAEjb,EAAE8B,IAC3D,IAAGiiC,GAAQ,KAAM,CAAE3oB,GAAI,eAAqB,UAC5C,OAAO2oB,EAAKp7B,GACX,IAAK,IACJ,GAAGi8D,EAAS,CACX,GAAG7gC,EAAKvkC,GAAK,KAAM4b,GAAK,KAAO2oB,EAAKvkC,EAAI,YACnC,IAAGukC,EAAKr7B,GAAK,KAAM0S,GAAKqpD,EAAW1gC,EAAKr7B,EAAG,SAC3C,IAAGq7B,EAAK3jC,GAAK,OAAS2jC,EAAK1hC,EAAG+Y,GAAKspD,EAAe,IAAM3gC,EAAK3jC,OAC7Dgb,IAAI,gBACH,CACN,GAAG2oB,EAAKr7B,GAAK,KAAM0S,GAAI,gBAClBA,IAAKqpD,EAAW1gC,EAAKr7B,EAAG,KAE9B,MACD,IAAK,IACJ0S,GAAK2oB,EAAKr7B,EAAI+7D,EAAW,EAAG,QAAUA,EAAW,EAAG,QACpD,OACD,IAAK,IACJrpD,GAAKspD,GAAiBE,GAAWr+D,OAAOw9B,EAAKr7B,GAAMq7B,EAAKr7B,EAAI,KAAOq7B,EAAKr7B,EAAI,IAC5E,OACD,IAAK,IACJ,IAAIq7B,EAAKvkC,EAAGukC,EAAKvkC,EAAIkS,GAAWqyB,EAAKrJ,GAAKhxB,EAAU,IAAKiI,GAAQohB,GAAUgR,EAAKr7B,IAChF,IAAGk8D,EAASxpD,GAAKqpD,EAAW1gC,EAAKvkC,EAAG,SAC/B4b,IAAKspD,EAAe3gC,EAAKvkC,EAC9B,OACD,QAAS4b,GAAI,aAEdA,GAAK,OAEN/V,EAAEnC,KAAKkY,GAER,MAAO/V,GAAElD,KAAK,IAAM,cAErB,OACCk6D,YAAamI,EACblI,SAAUiI,EACVhI,WAAYoI,KAId,IAAIE,IAAM,WACT,QAASziE,GAAOnB,GAAK,MAAOA,GAAE0F,QAAQ,OAAO,MAAMA,QAAQ,OAAO,KAAKA,QAAQ,OAAO,MACtF,QAAS9E,GAAOZ,GAAK,MAAOA,GAAE0F,QAAQ,MAAO,OAAOA,QAAQ,KAAM,OAAOA,QAAQ,MAAM,OAEvF,QAASm+D,GAAW3wD,EAAK3E,GACxB,GAAI0xD,GAAU/sD,EAAIlY,MAAM,MAAOgf,GAAK,EAAGnZ,GAAK,EAAG8S,EAAK,EAAGqe,IACvD,MAAOre,IAAOssD,EAAQvlE,SAAUiZ,EAAI,CACnC,GAAImtD,GAASb,EAAQtsD,GAAIgZ,OAAO3xB,MAAM,IACtC,IAAG8lE,EAAO,KAAO,OAAQ,QACzB,IAAIjhD,GAAOskB,GAAY28B,EAAO,GAC9B,IAAG9uC,EAAIt3B,QAAUmlB,EAAKzN,EAAG,IAAI4H,EAAIgY,EAAIt3B,OAAQsf,GAAK6F,EAAKzN,IAAK4H,EAAG,IAAIgY,EAAIhY,GAAIgY,EAAIhY,KAC/EA,GAAI6F,EAAKzN,CAAGvR,GAAIgf,EAAK9gB,CACrB,QAAO+hE,EAAO,IACb,IAAK,IAAK9uC,EAAIhY,GAAGnZ,GAAKM,EAAO2/D,EAAO,GAAK,OACzC,IAAK,IAAK9uC,EAAIhY,GAAGnZ,IAAMigE,EAAO,EAAI,OAClC,IAAK,MAAO,GAAIhG,GAAKgG,EAAOA,EAAOpmE,OAAS,GAE5C,IAAK,MACJ,OAAOomE,EAAO,IACb,IAAK,KAAM9uC,EAAIhY,GAAGnZ,IAAMigE,EAAO,GAAK,KAAO,KAAO,OAClD,QAAS9uC,EAAIhY,GAAGnZ,GAAKigE,EAAOA,EAAOpmE,OAAO,GAAGE,OAAO,IAAM,KAAQ8M,EAAG,IAAKD,EAAG2mC,GAAM0yB,EAAOA,EAAOpmE,OAAO,MAAUomE,EAAO,EAAI,QAE9H,GAAGA,EAAO,IAAM,MAAO9uC,EAAIhY,GAAGnZ,IAAMmxB,EAAIhY,GAAGnZ,GAAIi6D,KAGlD,GAAGvsD,GAAQA,EAAKmrD,UAAW1nC,EAAMA,EAAIvzB,MAAM,EAAG8P,EAAKmrD,UACnD,OAAO1nC,GAGR,QAAS8xC,GAAaxpE,EAAGiU,GAAQ,MAAOk4B,IAAao9B,EAAWvpE,EAAGiU,GAAOA,GAC1E,QAASw1D,GAAgBzpE,EAAGiU,GAAQ,MAAO22B,IAAkB4+B,EAAaxpE,EAAGiU,GAAOA,GAEpF,GAAI6O,IACH,yBACA,oBACA,4EACClc,KAAK,KAEP,IAAI8iE,IACH,qCACA,2CACC9iE,KAAK,MAAQ,IAGf,IAAI+iE,IACH,wCACA,cACC/iE,KAAK,KAEP,IAAI+qB,GAAM,sCAEV,SAASi4C,GAAkBv+B,GAC1B,IAAIA,IAAOA,EAAG,QAAS,MAAO,EAC9B,IAAIvhC,MAAQu8B,KAASmC,EAAMqhC,EAAQ,EACnC,IAAI/xD,GAAIgyB,GAAauB,EAAG,QACxB,IAAIH,GAAQG,EAAG,UAAY,IAC3B,KAAI,GAAI3rB,GAAI5H,EAAEpS,EAAEoS,EAAG4H,GAAK5H,EAAE5X,EAAE4X,IAAK4H,EAAG,CACnC,IAAI,GAAInZ,GAAIuR,EAAEpS,EAAEjB,EAAG8B,GAAKuR,EAAE5X,EAAEuE,IAAK8B,EAAG,CACnCsjE,EAAQ9gC,IAAajxB,EAAE4H,EAAEjb,EAAE8B,GAC3BiiC,GAAO0C,GAASG,EAAG,SAAS3rB,QAAQnZ,GAAK8kC,EAAGw+B,EAC5C,KAAIrhC,GAAQA,EAAKr7B,GAAK,MAAQq7B,EAAKp7B,IAAM,IAAK,QAC9Ci5B,IAAM,OAAQwjC,EAAO,IACrB,QAAOrhC,EAAKp7B,GACX,IAAK,IAAKi5B,EAAG1+B,KAAKrB,EAAOkiC,EAAKr7B,GAAK,OACnC,IAAK,IACJk5B,EAAG,GAAK,MAAMmC,EAAK3jC,EAAE,IAAI,IAAMwhC,GAAG,GAAG,IAAMA,GAAG,GAAGmC,EAAKr7B,EAAE,IAAI,GAC5Dk5B,GAAG,GAAK//B,EAAOkiC,EAAK3jC,IAAI2jC,EAAKr7B,EAAE,OAAO,SACtC,OACD,IAAK,IACJ,GAAIC,GAAIgJ,GAAQohB,GAAUgR,EAAKr7B,GAC/Bk5B,GAAG,GAAK,KAAOA,GAAG,GAAK,IAAMA,GAAG,GAAK,GAAGj5B,CACxCi5B,GAAG,GAAKmC,EAAKvkC,GAAKkS,GAAWqyB,EAAKrJ,GAAKhxB,EAAU,IAAKf,EACtD,OACD,IAAK,IACJ,GAAGwI,SAAS4yB,EAAKr7B,GAAI,CACpB,IAAIq7B,EAAK3jC,EAAG,CAAEwhC,EAAG,GAAG,GAAKA,GAAG,GAAGmC,EAAKr7B,MAC/B,CAAEk5B,EAAG,GAAG,KAAOA,GAAG,GAAG,GAAKA,GAAG,GAAGmC,EAAKr7B,CAAGk5B,GAAG,GAAG//B,EAAOkiC,EAAK3jC,QACzD,CACNwhC,EAAG,GAAK,MAAQmC,EAAK3jC,EAAI,IAAM,IAC/BwhC,GAAG,GAAK,IAAMsE,GAAK3/B,MAAMw9B,EAAKr7B,GAAK,GAAO,EAC1Ck5B,GAAG,GAAK,GACRA,GAAG,GAAKmC,EAAK3jC,GAAKwhC,EAAG,GAAGliC,MAAM,EAC9BkiC,GAAG,GAAK,GACRA,GAAG,GAAKA,EAAG,GAAGliC,MAAM,GAErB,MACD,IAAK,IAAK,UAEX2F,EAAEnC,KAAK0+B,EAAGz/B,KAAK,OAGjBkD,EAAEnC,KAAK,YAAcmQ,EAAE5X,EAAEuE,EAAEqT,EAAEpS,EAAEjB,EAAE,GAAK,OAASqT,EAAE5X,EAAE4X,EAAEA,EAAEpS,EAAEoS,EAAE,GAAK,SAChEhO,GAAEnC,KAAK,0BAEP,OAAOmC,GAAElD,KAAK,MAGf,QAASkjE,GAAaz+B,GACrB,OAAQvoB,EAAQ4mD,EAAKC,EAAMD,EAAKE,EAAkBv+B,GAAK1Z,GAAK/qB,KAAK,MAIlE,OACCk6D,YAAa2I,EACb1I,SAAUyI,EACVxI,WAAY8I,KAId,IAAIC,IAAM,WACT,QAASC,GAAalmE,EAAM4zB,EAAKhY,EAAGnZ,EAAGuD,GACtC,GAAGA,EAAEka,IAAK0T,EAAIhY,GAAGnZ,GAAKzC,MACjB,IAAGA,IAAS,GAAG,MACf,IAAGA,IAAS,OAAQ4zB,EAAIhY,GAAGnZ,GAAK,SAChC,IAAGzC,IAAS,QAAS4zB,EAAIhY,GAAGnZ,GAAK,UACjC,KAAIyE,MAAM2uB,GAAS71B,IAAQ4zB,EAAIhY,GAAGnZ,GAAKozB,GAAS71B,OAChD,KAAIkH,MAAMsvB,GAAUx2B,GAAMkR,WAAY0iB,EAAIhY,GAAGnZ,GAAKixB,GAAU1zB,OAC5D,IAAGA,EAAKzD,WAAW,IAAM,IAAcyzC,GAAMhwC,IAAS,KAAM4zB,EAAIhY,GAAGnZ,IAAQ6G,EAAG,IAAKD,EAAG2mC,GAAMhwC,GAAOG,EAAGH,OACtG4zB,GAAIhY,GAAGnZ,GAAKzC,EAGlB,QAASmmE,GAAeplE,EAAGoP,GAC1B,GAAInK,GAAImK,KACR,IAAIyjB,KACJ,KAAI7yB,GAAKA,EAAEzE,SAAW,EAAG,MAAOs3B,EAChC,IAAIwyC,GAAQrlE,EAAEnE,MAAM,SACpB,IAAImM,GAAIq9D,EAAM9pE,OAAS,CACvB,OAAMyM,GAAK,GAAKq9D,EAAMr9D,GAAGzM,SAAW,IAAKyM,CACzC,IAAI+X,GAAQ,GAAIxN,EAAM,CACtB,IAAIsI,GAAI,CACR,MAAMA,GAAK7S,IAAK6S,EAAG,CAClBtI,EAAM8yD,EAAMxqD,GAAGhZ,QAAQ,IACvB,IAAG0Q,IAAQ,EAAGA,EAAM8yD,EAAMxqD,GAAGtf,WAAagX,IAC1CwN,GAAQnX,KAAKgM,IAAImL,EAAOxN,GAEzB,IAAIsI,EAAI,EAAGA,GAAK7S,IAAK6S,EAAG,CACvBgY,EAAIhY,KAEJ,IAAInZ,GAAI,CACRyjE,GAAaE,EAAMxqD,GAAGvb,MAAM,EAAGygB,GAAOyN,OAAQqF,EAAKhY,EAAGnZ,EAAGuD,EACzD,KAAIvD,EAAI,EAAGA,IAAM2jE,EAAMxqD,GAAGtf,OAASwkB,GAAO,GAAK,IAAKre,EACnDyjE,EAAaE,EAAMxqD,GAAGvb,MAAMygB,GAAOre,EAAE,GAAG,GAAGqe,EAAMre,EAAE,IAAI8rB,OAAOqF,EAAIhY,EAAEnZ,EAAEuD,GAExE,GAAGA,EAAEs1D,UAAW1nC,EAAMA,EAAIvzB,MAAM,EAAG2F,EAAEs1D,UACrC,OAAO1nC,GAIR,GAAIyyC,IACHr3D,GAAM,IACNxE,EAAM,KACN8C,GAAM,IACNksD,IAAM,IAIP,IAAI8M,IACHt3D,GAAM,EACNxE,EAAM,EACN8C,GAAM,EACNksD,IAAM,EAGP,SAAS+M,GAAUzxD,GAClB,GAAIqM,MAAUqlD,EAAQ,MAAO34C,EAAM,EAAG9Y,EAAK,CAC3C,MAAK8Y,EAAM/Y,EAAIxY,SAASuxB,EAAK,CAC5B,IAAI9Y,EAAGD,EAAIvY,WAAWsxB,KAAS,GAAM24C,GAASA,MACzC,KAAIA,GAASzxD,IAAMsxD,GAAYllD,EAAIpM,IAAOoM,EAAIpM,IAAK,GAAG,EAG5DA,IACA,KAAI8Y,IAAO1M,GAAK,GAAK1hB,OAAO0yB,UAAUC,eAAe7xB,KAAK4gB,EAAK0M,GAAO,CACrE9Y,EAAGlR,MAAOsd,EAAI0M,GAAMA,IAGrB,IAAM9Y,EAAGzY,OAAS,CACjB6kB,EAAMmlD,CACN,KAAIz4C,IAAO1M,GAAK,GAAK1hB,OAAO0yB,UAAUC,eAAe7xB,KAAK4gB,EAAK0M,GAAO,CACrE9Y,EAAGlR,MAAOsd,EAAI0M,GAAMA,KAItB9Y,EAAG2O,KAAK,SAASwE,EAAGf,GAAK,MAAOe,GAAE,GAAKf,EAAE,IAAMm/C,EAAkBp+C,EAAE,IAAMo+C,EAAkBn/C,EAAE,KAE7F,OAAOk/C,GAAWtxD,EAAGsO,MAAM,KAAO,GAGnC,QAASojD,GAAiB3xD,EAAK3E,GAC9B,GAAInK,GAAImK,KACR,IAAIy1D,GAAM,EACV,IAAG/+D,GAAS,MAAQb,EAAEohC,OAAS,KAAMphC,EAAEohC,MAAQvgC,CAC/C,IAAI0gC,KACJ,IAAGvhC,EAAEohC,MAAOG,EAAG,WACf,IAAIxC,IAAUnjC,GAAIjB,EAAE,EAAGqT,EAAE,GAAI5X,GAAIuE,EAAE,EAAGqT,EAAE,GAExC,IAAGc,EAAIzU,MAAM,EAAE,IAAM,OAAQ,CAE5B,GAAGyU,EAAIvY,WAAW,IAAM,IAAMuY,EAAIvY,WAAW,IAAM,GAAK,CACvDqpE,EAAM9wD,EAAItY,OAAO,EAAIsY,GAAMA,EAAIzU,MAAM,OAGjC,IAAGyU,EAAIvY,WAAW,IAAM,IAAMuY,EAAIvY,WAAW,IAAM,GAAK,CAC5DqpE,EAAM9wD,EAAItY,OAAO,EAAIsY,GAAMA,EAAIzU,MAAM,OAEjCulE,GAAMW,EAAUzxD,EAAIzU,MAAM,EAAE,WAE7B,IAAG2F,GAAKA,EAAE0gE,GAAId,EAAM5/D,EAAE0gE,OACtBd,GAAMW,EAAUzxD,EAAIzU,MAAM,EAAE,MACjC,IAAIub,GAAI,EAAGnZ,EAAI,EAAG4G,EAAI,CACtB,IAAIyX,GAAQ,EAAG+M,EAAM,EAAG84C,EAAQf,EAAIrpE,WAAW,GAAIiqE,EAAQ,MAAOzxD,EAAG,EAAG6xD,EAAQ9xD,EAAIvY,WAAW,EAC/F,IAAIsqE,GAAM7gE,EAAE+R,QAAU,KAAOqB,GAAapT,EAAE+R,QAAU,IACtD,SAAS+uD,KAER,GAAIllE,GAAIkT,EAAIzU,MAAMygB,EAAO+M,EAAM,IAAGjsB,EAAEvB,OAAO,IAAM,KAAMuB,EAAIA,EAAEvB,MAAM,GAAI,EACvE,IAAIqkC,KACJ,IAAG9iC,EAAEpF,OAAO,IAAM,KAAOoF,EAAEpF,OAAOoF,EAAEtF,OAAS,IAAM,IAAKsF,EAAIA,EAAEvB,MAAM,GAAG,GAAGiH,QAAQ,MAAM,IACxF,IAAGtB,EAAEs9D,WAAa,MAAO5+B,EAAKvkC,EAAIyB,CAClC,IAAGA,EAAEtF,SAAW,EAAGooC,EAAKp7B,EAAI,QACvB,IAAGtD,EAAEka,IAAK,CAAEwkB,EAAKp7B,EAAI,GAAKo7B,GAAKr7B,EAAIzH,MACnC,IAAGA,EAAE2sB,OAAOjyB,SAAW,EAAG,CAAEooC,EAAKp7B,EAAI,GAAKo7B,GAAKr7B,EAAIzH,MACnD,IAAGA,EAAErF,WAAW,IAAM,GAAM,CAChC,GAAGqF,EAAErF,WAAW,IAAM,IAAQqF,EAAErF,WAAWqF,EAAEtF,OAAS,IAAM,GAAM,CAAEooC,EAAKp7B,EAAI,GAAKo7B,GAAKr7B,EAAIzH,EAAEvB,MAAM,GAAG,GAAGiH,QAAQ,MAAM,SAClH,IAAGy/D,GAAUnlE,GAAI,CAAE8iC,EAAKp7B,EAAI,GAAKo7B,GAAK3jC,EAAIa,EAAEvB,MAAM,EAAIqkC,GAAKr7B,EAAIzH,MAC/D,CAAE8iC,EAAKp7B,EAAI,GAAKo7B,GAAKr7B,EAAIzH,OAC1B,IAAGA,GAAK,OAAQ,CAAE8iC,EAAKp7B,EAAI,GAAKo7B,GAAKr7B,EAAI,SACzC,IAAGzH,GAAK,QAAS,CAAE8iC,EAAKp7B,EAAI,GAAKo7B,GAAKr7B,EAAI,UAC1C,KAAInC,MAAMmC,EAAIwsB,GAASj0B,IAAK,CAAE8iC,EAAKp7B,EAAI,GAAKo7B,GAAKr7B,EAAIA,MACrD,KAAInC,OAAOmC,EAAImtB,GAAU50B,IAAIsP,YAAc21D,GAAOjlE,EAAEsB,MAAM2jE,GAAM,CACpEniC,EAAKrJ,EAAIr1B,EAAE+R,QAAU1N,EAAU,GAC/B,IAAGw8D,GAAOjlE,EAAEsB,MAAM2jE,GAAK,CAAE,GAAIG,GAAKztD,GAAW3X,EAAGoE,EAAE+R,OAASnW,EAAEsB,MAAM2jE,OAAYx9D,GAAIqqB,GAAUszC,EAAO,IAAGhhE,GAAKA,EAAE6sB,MAAQ,MAAOxpB,EAAI4tB,GAAa5tB,OACzI,IAAGrD,GAAKA,EAAE6sB,MAAQ,MAAOxpB,EAAI4tB,GAAa5tB,OAC1C,IAAGrD,EAAEs9D,WAAa,OAASt9D,EAAE+R,OAAQ2sB,EAAKvkC,EAAIkS,GAAWqyB,EAAKrJ,EAAGhyB,EACtE,IAAGrD,EAAEmiC,UAAW,CAAEzD,EAAKp7B,EAAI,GAAKo7B,GAAKr7B,EAAIA,MACpC,CAAEq7B,EAAKp7B,EAAI,GAAKo7B,GAAKr7B,EAAIiJ,GAAQjJ,GACtC,IAAIrD,EAAEihE,aAAeviC,GAAKrJ,MACpB,IAAGz5B,EAAErF,WAAW,IAAM,IAAcyzC,GAAMpuC,IAAM,KAAM,CAC5D8iC,EAAKp7B,EAAI,GAAKo7B,GAAKvkC,EAAIyB,CAAG8iC,GAAKr7B,EAAI2mC,GAAMpuC,OACnC,CACN8iC,EAAKp7B,EAAI,GACTo7B,GAAKr7B,EAAIzH,EAEV,GAAG8iC,EAAKp7B,GAAK,IAAI,MACZ,IAAGtD,EAAEohC,MAAO,CAAE,IAAIG,EAAG,SAAS3rB,GAAI2rB,EAAG,SAAS3rB,KAAS2rB,GAAG,SAAS3rB,GAAGnZ,GAAKiiC,MAC3E6C,GAAGtC,IAAatkC,EAAE8B,EAAEuR,EAAE4H,KAAO8oB,CAClC5jB,GAAQ+M,EAAI,CAAG+4C,GAAU9xD,EAAIvY,WAAWukB,EACxC,IAAGikB,EAAM3oC,EAAEuE,EAAI8B,EAAGsiC,EAAM3oC,EAAEuE,EAAI8B,CAC9B,IAAGsiC,EAAM3oC,EAAE4X,EAAI4H,EAAGmpB,EAAM3oC,EAAE4X,EAAI4H,CAC9B,IAAG7G,GAAM4xD,IAASlkE,MAAQ,CAAEA,EAAI,IAAKmZ,CAAG,IAAG5V,EAAEs1D,WAAat1D,EAAEs1D,WAAa1/C,EAAG,MAAO,OAEpFsrD,EAAO,KAAKr5C,EAAM/Y,EAAIxY,SAASuxB,EAAK,OAAQ9Y,EAAGD,EAAIvY,WAAWsxB,IAC7D,IAAK,IAAM,GAAG+4C,IAAY,GAAMJ,GAASA,CAAO,OAChD,IAAK,IACJ,GAAGA,EAAO,KACV,IAAG1xD,EAAIvY,WAAWsxB,EAAI,IAAM,KAAQA,EAErC,IAAK84C,IAAO,IAAK,IAAM,IAAIH,GAASM,IAAe,KAAMI,EAAO,OAChE,QAAS,OAEV,GAAGr5C,EAAM/M,EAAQ,EAAGgmD,GAEpBv/B,GAAG,QAAUtB,GAAalB,EAC1B,OAAOwC,GAGR,QAAS4/B,GAAiBryD,EAAK3E,GAC9B,KAAKA,GAAQA,EAAK81D,KAAM,MAAOQ,GAAiB3xD,EAAK3E,EACrD,IAAGA,EAAKu2D,GAAI,MAAOD,GAAiB3xD,EAAK3E,EACzC,IAAG2E,EAAIzU,MAAM,EAAE,IAAM,OAAQ,MAAOomE,GAAiB3xD,EAAK3E,EAC1D,IAAG2E,EAAIlS,QAAQ,OAAS,GAAKkS,EAAIlS,QAAQ,MAAQ,GAAKkS,EAAIlS,QAAQ,MAAQ,EAAG,MAAO6jE,GAAiB3xD,EAAK3E,EAC1G,OAAOk4B,IAAa89B,EAAerxD,EAAK3E,GAAOA,GAGhD,QAASi3D,GAAalrE,EAAGiU,GACxB,GAAI2E,GAAM,GAAI8sC,EAAQzxC,EAAKqC,MAAQ,UAAY,EAAE,EAAE,EAAE,GAAK60D,GAAUnrE,EAAGiU,EACvE,QAAOA,EAAKqC,MACX,IAAK,SAAUsC,EAAMzN,EAAcnL,EAAI,OACvC,IAAK,SAAU4Y,EAAM5Y,CAAG,OACxB,IAAK,SACJ,GAAGiU,EAAK6qD,UAAY,MAAOlmD,EAAM5Y,EAAEoE,SAAS,YACvC,IAAG6P,EAAK6qD,gBAAmB52D,KAAa,YAAa0Q,EAAM1Q,EAASL,MAAMhB,OAAOoN,EAAK6qD,SAAU9+D,OAChG4Y,GAAMpW,GAAWC,OAAOyB,SAASlE,GAAKA,EAAEoE,SAAS,UAAY4H,EAAIhM,EACtE,OACD,IAAK,QAAS4Y,EAAM6e,GAAOz3B,EAAI,OAC/B,IAAK,SAAU4Y,EAAM5Y,CAAG,OACxB,QAAS,KAAM,IAAIiB,OAAM,qBAAuBgT,EAAKqC,OAEtD,GAAGovC,EAAM,IAAM,KAAQA,EAAM,IAAM,KAAQA,EAAM,IAAM,IAAM9sC,EAAM0oB,GAAS1oB,EAAIzU,MAAM,QACjF,IAAG8P,EAAKqC,MAAQ,UAAYrC,EAAKqC,MAAQ,UAAYrC,EAAK6qD,UAAY,MAAOlmD,EAAM0oB,GAAS1oB,OAC5F,IAAI3E,EAAKqC,MAAQ,gBAAoBpO,KAAa,aAAe+L,EAAK6qD,SAAWlmD,EAAM1Q,EAASL,MAAMhB,OAAOoN,EAAK6qD,SAAU52D,EAASL,MAAMvB,OAAO,MAAMsS,GAC7J,IAAGA,EAAIzU,MAAM,EAAE,KAAO,sBAAuB,MAAOmlE,IAAIvI,SAAS9sD,EAAKqC,MAAQ,SAAWsC,EAAM0oB,GAAS1oB,GAAM3E,EAC9G,OAAOg3D,GAAiBryD,EAAK3E,GAG9B,QAASm3D,GAAgBprE,EAAGiU,GAAQ,MAAO22B,IAAkBsgC,EAAalrE,EAAGiU,GAAOA,GAEpF,QAASo3D,GAAahgC,GACrB,GAAIvhC,KACJ,KAAIuhC,EAAG,QAAS,MAAO,EACvB,IAAIvzB,GAAIwyB,GAAkBe,EAAG,SAAU7C,CACvC,IAAI0C,GAAQG,EAAG,UAAY,IAC3B,KAAI,GAAI3rB,GAAI5H,EAAEpS,EAAEoS,EAAG4H,GAAK5H,EAAE5X,EAAE4X,IAAK4H,EAAG,CACnC,GAAI2mB,KACJ,KAAI,GAAI9/B,GAAIuR,EAAEpS,EAAEjB,EAAG8B,GAAKuR,EAAE5X,EAAEuE,IAAK8B,EAAG,CACnC,GAAIsjE,GAAQ9gC,IAAajxB,EAAE4H,EAAEjb,EAAE8B,GAC/BiiC,GAAO0C,GAASG,EAAG,SAAS3rB,QAAQnZ,GAAK8kC,EAAGw+B,EAC5C,KAAIrhC,GAAQA,EAAKr7B,GAAK,KAAM,CAAEk5B,EAAG1+B,KAAK,aAAe,UACrD,GAAI1D,IAAKukC,EAAKvkC,IAAMymC,GAAYlC,GAAOA,EAAKvkC,IAAM,IAAIE,MAAM,EAAE,GAC9D,OAAMF,EAAE7D,OAAS,GAAI6D,GAAK,GAC1BoiC,GAAG1+B,KAAK1D,GAAKsC,IAAM,EAAI,IAAM,KAE9BuD,EAAEnC,KAAK0+B,EAAGz/B,KAAK,KAEhB,MAAOkD,GAAElD,KAAK,MAGf,OACCk6D,YAAasK,EACbrK,SAAUmK,EACVlK,WAAYqK,KAKd,SAASC,IAAWtrE,EAAGiU,GACtB,GAAInK,GAAImK,MAAYs3D,IAAYzhE,EAAEg4B,GAAKh4B,GAAEg4B,IAAM,IAC/C,KACC,GAAI99B,GAAMi9D,GAAKH,YAAY9gE,EAAG8J,EAC9BA,GAAEg4B,IAAMypC,CACR,OAAOvnE,GACN,MAAM9D,GACP4J,EAAEg4B,IAAMypC,CACR,IAAIrrE,EAAEkqB,QAAQ1jB,QAAQ,wBAA0B,GAAM6kE,EAAS,KAAMrrE,EACrE,OAAO6pE,IAAIjJ,YAAY9gE,EAAGiU,IAI5B,GAAIu3D,IAAM,WACT,QAASC,GAAY3nE,EAAMojC,EAAIjzB,GAC9B,IAAInQ,EAAM,MACVkd,IAAUld,EAAMA,EAAK4D,GAAK,EAC1B,IAAIgkE,GAAOz3D,EAAKy3D,MAAQC,CACxB,OAAM7nE,EAAK4D,EAAI5D,EAAK1D,OAAQ,CAC3B,GAAIinC,GAAKvjC,EAAKyc,WAAW,EACzB,IAAIb,GAAIgsD,EAAKrkC,IAAOqkC,EAAK,MACzB,IAAItrE,GAAS0D,EAAKyc,WAAW,EAC7B,IAAIY,GAAMrd,EAAK4D,EAAItH,CACnB,IAAIJ,GAAI0f,EAAE7a,GAAK6a,EAAE7a,EAAEf,EAAM1D,EAAQ6T,EACjCnQ,GAAK4D,EAAIyZ,CACT,IAAG+lB,EAAGlnC,EAAG0f,EAAG2nB,GAAK,QAInB,QAASukC,GAAkB5rE,EAAGiU,GAC7B,OAAOA,EAAKqC,MACX,IAAK,SAAU,MAAOu1D,GAAsBjgE,EAAIT,EAAcnL,IAAKiU,GACnE,IAAK,SAAU,MAAO43D,GAAsBjgE,EAAI5L,GAAIiU,GACpD,IAAK,UACL,IAAK,QAAS,MAAO43D,GAAsB7rE,EAAGiU,IAE/C,KAAM,oBAAsBA,EAAKqC,KAIlC,GAAIw1D,IACH,OACA,cACA,SACA,WACA,IACA,QACA,iBACA,cACA,aACA,QACA,WACA,QAGD,SAASD,GAAsB7rE,EAAGiU,GACjC,IAAIjU,EAAG,MAAOA;AACd,GAAI8J,GAAImK,KACR,IAAGtJ,GAAS,MAAQb,EAAEohC,OAAS,KAAMphC,EAAEohC,MAAQvgC,CAC/C,IAAIjF,MAAU1C,EAAI,SAAU+oE,EAAS,GAAIC,EAAO,CAChD,IAAIlhC,MAAamhC,KAAaC,KAAgBC,IAC9C,IAAGriE,EAAEohC,MAAOihC,EAAQzmE,EAAE,WAEtB,IAAI0mE,IAAY1mE,GAAIoS,EAAE,EAAGrT,EAAE,GAAIvE,GAAI4X,EAAE,EAAGrT,EAAE,GAC1C,IAAI26D,GAAYt1D,EAAEs1D,WAAa,CAC/B,IAAIiN,KAEJ,IAAGrsE,EAAE,IAAM,IAAQA,EAAE,IAAM,IAAQA,EAAE,IAAM,GAAM,MAAOssE,GAAoBtsE,EAAGiU,EAC/E,IAAGjU,EAAE,IAAM,EAAM,CAChB,GAAGA,EAAE,IAAM,GAAQA,EAAE,IAAM,EAAM,CAChC,GAAGA,EAAEI,QAAU,IAAMJ,EAAE,KAAO,GAAQA,EAAE,MAAQ,IAAM,KAAM,IAAIiB,OAAM,qCAIxE,GAAGjB,EAAE,IAAM,EAAM,CAChB8J,EAAE4hE,KAAOC,CACTF,GAAYzrE,EAAG,SAASwW,EAAKkJ,EAAG2nB,GAAM,OAAOA,GAC5C,IAAK,GACJv9B,EAAEyiE,KAAO/1D,CACT,IAAGA,GAAO,KAAQ1M,EAAE0iE,KAAO,IAC3B,OACD,IAAK,KACJ1iE,EAAEyiE,KAAO/1D,CACT1M,GAAE2iE,MAAQ,IACV,OACD,IAAK,GAAML,EAAW51D,CAAK,OAC3B,IAAK,KAAM,GAAGA,EAAKu1D,EAASv1D,CAAK,OACjC,IAAK,KAAMu1D,EAASv1D,CAAK,OACzB,IAAK,KACL,IAAK,IACJ,KAAK1M,EAAE0iE,OAAS1iE,EAAE2iE,OAASplC,GAAM,KAAS7wB,EAAI,GAAGrJ,EAAE9M,WAAW,GAAK,GAAMmW,EAAI,GAAGrJ,EAAIqJ,EAAI,GAAGrJ,EAAEhJ,MAAM,EACnG,IAAG2F,EAAE2iE,OAAS3iE,EAAE4iE,OAAQl2D,EAAI,GAAGrJ,EAAIqJ,EAAI,GAAGrJ,EAAE/B,QAAQ,QAAS,MAE9D,IAAK,KACL,IAAK,KACL,IAAK,IAEJ,IAAIoL,EAAI,GAAK,MAAS,MAASA,EAAI,GAAK,IAAQ,IAAMA,EAAI,GAAK,IAAQ,GAAI,CAC1EA,EAAI,GAAG2oB,EAAIr1B,EAAE+R,QAAUiwD,GAAiBt1D,EAAI,GAAK,IAAM,IAAMrI,EAAU,GACvE,IAAGrE,EAAEmiC,UAAW,CAAEz1B,EAAI,GAAGrJ,EAAI8pB,GAAQzgB,EAAI,GAAGrJ,EAAIqJ,GAAI,GAAGpJ,QAAWoJ,GAAI,GAAGrJ,GAAK,SAAW,IAAM,KAGhG,GAAGrD,EAAE0iE,KAAM,CACV,GAAGh2D,EAAI,GAAKw1D,EAAM,CACjBtmE,EAAE,QAAUqkC,GAAaqiC,EACzBthC,GAAO9nC,GAAK0C,CACZumE,GAAOtkE,KAAK3E,EACZ0C,KAAU,IAAGoE,EAAEohC,MAAOihC,EAAQzmE,EAAE,WAChC0mE,IAAY1mE,GAAIoS,EAAE,EAAGrT,EAAE,GAAIvE,GAAI4X,EAAE,EAAGrT,EAAE,GACtCunE,GAAOx1D,EAAI,EAAIxT,GAAI+oE,GAAU,SAAWC,EAAO,EAAID,GAAS,IAI9D,GAAIY,GAAU7iE,EAAEohC,OAASihC,EAAM31D,EAAI,GAAGsB,QAAQtB,EAAI,GAAG/R,GAAKiB,EAAEqjC,GAAYvyB,EAAI,IAC5E,IAAGm2D,EAAS,CACXA,EAAQv/D,EAAIoJ,EAAI,GAAGpJ,CAAGu/D,GAAQx/D,EAAIqJ,EAAI,GAAGrJ,CACzC,IAAGqJ,EAAI,GAAG2oB,GAAK,KAAMwtC,EAAQxtC,EAAI3oB,EAAI,GAAG2oB,CACxC,IAAG3oB,EAAI,GAAG3R,GAAK,KAAM8nE,EAAQ9nE,EAAI2R,EAAI,GAAG3R,CACxCwnE,GAAWM,CACX,OAED,GAAG7iE,EAAEohC,MAAO,CACX,IAAIihC,EAAM31D,EAAI,GAAGsB,GAAIq0D,EAAM31D,EAAI,GAAGsB,KAClCq0D,GAAM31D,EAAI,GAAGsB,GAAGtB,EAAI,GAAG/R,GAAK+R,EAAI,OAC1B9Q,GAAEqjC,GAAYvyB,EAAI,KAAOA,EAAI,EACpC61D,GAAW71D,EAAI,EACf,OACD,IAAK,OAAQ1M,EAAE4iE,OAAS,IAAM,OAC9B,IAAK,OAAQ,CAEZ,GAAGl2D,GAAO,KAAQ,CACjB61D,EAASltC,EAAI,UACb,IAAGr1B,EAAEmiC,WAAaogC,EAASj/D,GAAK,IAAK,CACpCi/D,EAASl/D,EAAI8pB,GAAQo1C,EAASl/D,EAAIk/D,GAASj/D,QAAWi/D,GAASl/D,GAAK,SAAW,IAAM,MAGtF,SACCrD,OACE,IAAG9J,EAAE,IAAM,IAAQA,EAAE,IAAM,GAAM,CACvC8J,EAAE4hE,KAAOkB,CACT,IAAG5sE,EAAE,IAAM,GAAM,CAAE8J,EAAE0iE,KAAO,IAAMxsE,GAAE0H,EAAI,EACxC+jE,EAAYzrE,EAAG,SAASwW,EAAKkJ,EAAG2nB,GAAM,OAAOA,GAC5C,IAAK,KAAMrkC,EAAIwT,CAAK,OACpB,IAAK,IACJ,GAAGA,EAAI,GAAGrJ,EAAE9M,WAAW,GAAK,GAAMmW,EAAI,GAAGrJ,EAAIqJ,EAAI,GAAGrJ,EAAEhJ,MAAM,EAE5DqS,GAAI,GAAGrJ,EAAIqJ,EAAI,GAAGrJ,EAAE/B,QAAQ,SAAU,SAASoM,GAAM,MAAOnV,QAAOC,aAAakV,EAAGnX,WAAW,GAAK,MAAU+K,QAAQ,QAAS,MAE/H,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,IACJ,GAAGoL,EAAI,GAAKw1D,EAAM,CACjBtmE,EAAE,QAAUqkC,GAAaqiC,EACzBthC,GAAO9nC,GAAK0C,CACZumE,GAAOtkE,KAAK3E,EACZ0C,KAAU,IAAGoE,EAAEohC,MAAOihC,EAAQzmE,EAAE,WAChC0mE,IAAY1mE,GAAIoS,EAAE,EAAGrT,EAAE,GAAIvE,GAAI4X,EAAE,EAAGrT,EAAE,GACtCunE,GAAOx1D,EAAI,EAAIxT,GAAI,SAAWgpE,EAAO,GAEtC,GAAG5M,EAAY,GAAK5oD,EAAI,GAAGsB,GAAKsnD,EAAW,KAC3C,IAAGt1D,EAAEohC,MAAO,CACX,IAAIihC,EAAM31D,EAAI,GAAGsB,GAAIq0D,EAAM31D,EAAI,GAAGsB,KAClCq0D,GAAM31D,EAAI,GAAGsB,GAAGtB,EAAI,GAAG/R,GAAK+R,EAAI,OAC1B9Q,GAAEqjC,GAAYvyB,EAAI,KAAOA,EAAI,EACpC,IAAG41D,EAASlsE,EAAEuE,EAAI+R,EAAI,GAAG/R,EAAG2nE,EAASlsE,EAAEuE,EAAI+R,EAAI,GAAG/R,CAClD,IAAG2nE,EAASlsE,EAAE4X,EAAItB,EAAI,GAAGsB,EAAGs0D,EAASlsE,EAAE4X,EAAItB,EAAI,GAAGsB,CAClD,OACD,IAAK,IACJ,GAAGtB,EAAI,MAAS01D,EAAU11D,EAAI,MAAQ,IAAMA,EAAI,MAAQ,EACxD,OACD,IAAK,MACJ01D,EAAU11D,EAAI,IAAMA,EAAI,EAAI,IAAGA,EAAI,IAAMw1D,EAAMhpE,EAAIwT,EAAI,EAAI,OAC5D,QAAS,SACN1M,OACE,MAAM,IAAI7I,OAAM,0BAA4BjB,EAAE,GACrD0F,GAAE,QAAUqkC,GAAaqiC,EACzBthC,GAAOihC,GAAU/oE,GAAK0C,CACtBumE,GAAOtkE,KAAKokE,GAAU/oE,EACtB,KAAIkpE,EAAU9rE,OAAQ,OAAS2qC,WAAYkhC,EAAQjhC,OAAQF,EAC3D,IAAI+hC,MAAcC,IAElB,KAAI,GAAI3sE,GAAI,EAAGA,EAAI+rE,EAAU9rE,SAAUD,EAAG,GAAG2qC,EAAOmhC,EAAO9rE,IAAK,CAC/D2sE,EAAOnlE,KAAKukE,EAAU/rE,IAAM8rE,EAAO9rE,GACnC0sE,GAAQX,EAAU/rE,IAAM2qC,EAAOohC,EAAU/rE,KAAO2qC,EAAOmhC,EAAO9rE,QACxD,CACN2sE,EAAOnlE,KAAKukE,EAAU/rE,GACtB0sE,GAAQX,EAAU/rE,KAAS4sE,OAAQ,MAEpC,OAAShiC,WAAY+hC,EAAQ9hC,OAAQ6hC,GAGtC,QAASG,GAAa3hC,EAAIp3B,GACzB,GAAInK,GAAImK,KACR,KAAInK,EAAEg1D,UAAY,EAAGn1D,GAAQG,EAAEg1D,SAC/B,IAAGh1D,EAAEwM,MAAQ,SAAU,KAAM,IAAIrV,OAAM,gCACvC,IAAIqnC,GAAKf,IACT,KAAI8D,EAAG,QAAS,KAAM,IAAIpqC,OAAM,mCAChC,IAAI4nC,GAAQyB,GAAkBe,EAAG,QACjC,IAAIH,GAAQG,EAAG,UAAY,IAC3B,IAAI20B,KAEJiN,IAAe3kC,EAAI,EAAM4kC,EAAc,MACvCD,IAAe3kC,EAAI,EAAM6kC,EAAYtkC,GACrC,IAAIukC,GAAQ3/D,KAAK+L,IAAIqvB,EAAM3oC,EAAE4X,EAAG,KAChC,KAAI,GAAIvR,GAAIsiC,EAAMnjC,EAAEjB,EAAG8B,GAAKsiC,EAAM3oC,EAAEuE,IAAK8B,EAAGy5D,EAAKz5D,GAAK4iC,GAAW5iC,EACjE,KAAI,GAAImZ,GAAImpB,EAAMnjC,EAAEoS,EAAG4H,GAAK0tD,IAAS1tD,EAAG,CACvC,GAAIvH,GAAKixB,GAAW1pB,EACpB,KAAInZ,EAAIsiC,EAAMnjC,EAAEjB,EAAG8B,GAAKsiC,EAAM3oC,EAAEuE,IAAK8B,EAAG,CACvC,GAAIiiC,GAAO0C,GAASG,EAAG,SAAS3rB,QAAQnZ,GAAK8kC,EAAG20B,EAAKz5D,GAAK4R,EAC1D,KAAIqwB,GAAQA,EAAKp7B,GAAK,IAAK,QAE3B,QAAOo7B,EAAKp7B,GACZ,IAAK,IACJ,IAAIo7B,EAAKr7B,EAAE,IAAIq7B,EAAKr7B,GAAKq7B,EAAKr7B,IAAM,OAASq7B,EAAKr7B,GAAK,MAAO8/D,GAAe3kC,EAAI,GAAM+kC,EAAc3tD,EAAGnZ,EAAGiiC,QACtGykC,IAAe3kC,EAAI,GAAMglC,EAAa5tD,EAAGnZ,EAAGiiC,GACjD,OACD,IAAK,IACJ,GAAIzF,GAAK3sB,GAAQoyB,EAAKr7B,EACtB,KAAI41B,EAAG,IAAIA,GAAMA,IAAO,OAASA,GAAM,MAAOkqC,GAAe3kC,EAAI,GAAM+kC,EAAc3tD,EAAGnZ,GAAI6G,EAAE,IAAKD,EAAE41B,EAAI5D,EAAEqJ,EAAKrJ,GAAKhxB,EAAU,WAC1H8+D,IAAe3kC,EAAI,GAAMglC,EAAa5tD,EAAGnZ,GAAI6G,EAAE,IAAKD,EAAE41B,EAAI5D,EAAEqJ,EAAKrJ,GAAKhxB,EAAU,MACrF,OACD,QACC,GAAIyK,GAAM8xB,GAAYlC,EACtBykC,IAAe3kC,EAAI,GAAMilC,EAAY7tD,EAAGnZ,EAAGqS,EAAIzU,MAAM,EAAG,UAK3D8oE,GAAe3kC,EAAI,EACnB,OAAOA,GAAG3W,MAGX,QAAS67C,GAAYrtB,EAAIlsC,GACxB,GAAInK,GAAImK,KACR,KAAInK,EAAEg1D,UAAY,EAAGn1D,GAAQG,EAAEg1D,SAC/B,IAAGh1D,EAAEwM,MAAQ,SAAU,KAAM,IAAIrV,OAAM,gCACvC,IAAIqnC,GAAKf,IAET0lC,IAAe3kC,EAAI,EAAMmlC,EAActtB,GAEvC,KAAI,GAAIhgD,GAAI,EAAG8kB,EAAM,EAAG9kB,EAAIggD,EAAGpV,WAAW3qC,SAAUD,EAAG,IAAIggD,EAAGnV,OAAOmV,EAAGpV,WAAW5qC,SAAW,QAAS8sE,GAAe3kC,EAAI,GAAMolC,EAAwBvtB,EAAGpV,WAAW5qC,GAAI8kB,KAE1K,IAAI0oD,GAAQ,CACZ,KAAIxtE,EAAI,EAAGA,EAAIggD,EAAGpV,WAAW3qC,SAAUD,EAAG,CACzC,GAAIkrC,GAAK8U,EAAGnV,OAAOmV,EAAGpV,WAAW5qC,GACjC,KAAIkrC,IAAOA,EAAG,QAAS,QACvB,IAAIxC,GAAQyB,GAAkBe,EAAG,QACjC,IAAIH,GAAQG,EAAG,UAAY,IAC3B,IAAI20B,KACJ,IAAIoN,GAAQ3/D,KAAK+L,IAAIqvB,EAAM3oC,EAAE4X,EAAG,KAChC,KAAI,GAAI4H,GAAImpB,EAAMnjC,EAAEoS,EAAG4H,GAAK0tD,IAAS1tD,EAAG,CACvC,GAAIvH,GAAKixB,GAAW1pB,EACpB,KAAI,GAAInZ,GAAIsiC,EAAMnjC,EAAEjB,EAAG8B,GAAKsiC,EAAM3oC,EAAEuE,IAAK8B,EAAG,CAC3C,GAAGmZ,IAAMmpB,EAAMnjC,EAAEoS,EAAGkoD,EAAKz5D,GAAK4iC,GAAW5iC,EACzC,IAAI0xD,GAAM+H,EAAKz5D,GAAK4R,CACpB,IAAIqwB,GAAO0C,GAASG,EAAG,SAAS3rB,QAAQnZ,GAAK8kC,EAAG4sB,EAChD,KAAIzvB,GAAQA,EAAKp7B,GAAK,IAAK,QAE3B,IAAGo7B,EAAKp7B,GAAK,IAAK,CACjB6/D,GAAe3kC,EAAI,GAAMslC,EAAgBluD,EAAGnZ,EAAGonE,EAAOnlC,EAAKr7B,QACrD,CACN,GAAIyL,GAAM8xB,GAAYlC,EAEtBykC,IAAe3kC,EAAI,GAAMulC,EAAenuD,EAAGnZ,EAAGonE,EAAO/0D,EAAIzU,MAAM,EAAG,WAInEwpE,EAGHV,GAAe3kC,EAAI,EACnB,OAAOA,GAAG3W,MAIX,QAASu7C,GAAc//D,GACtB,GAAInJ,GAAMghB,GAAQ,EAClBhhB,GAAIoc,YAAY,EAAGjT,EACnB,OAAOnJ,GAGR,QAASypE,GAActtB,GACtB,GAAIn8C,GAAMghB,GAAQ,GAClBhhB,GAAIoc,YAAY,EAAG,KACnBpc,GAAIoc,YAAY,EAAG,EACnBpc,GAAIoc,YAAY,EAAG,EACnB,IAAImoD,GAAO,EAAGvI,EAAO,EAAG8N,EAAQ,CAChC,KAAI,GAAI3tE,GAAI,EAAGA,EAAIggD,EAAGpV,WAAW3qC,SAAUD,EAAG,CAC7C,GAAIojB,GAAO48B,EAAGpV,WAAW5qC,EACzB,IAAIkrC,GAAK8U,EAAGnV,OAAOznB,EACnB,KAAI8nB,IAAOA,EAAG,QAAS,WACrByiC,CACF,IAAIjlC,GAAQiB,GAAauB,EAAG,QAC5B,IAAGk9B,EAAO1/B,EAAM3oC,EAAE4X,EAAGywD,EAAO1/B,EAAM3oC,EAAE4X,CACpC,IAAGkoD,EAAOn3B,EAAM3oC,EAAEuE,EAAGu7D,EAAOn3B,EAAM3oC,EAAEuE,EAErC,GAAG8jE,EAAO,KAAMA,EAAO,IACvBvkE,GAAIoc,YAAY,EAAGmoD,EACnBvkE,GAAIoc,YAAY,EAAG0tD,EACnB9pE,GAAIoc,YAAY,EAAG4/C,EACnBh8D,GAAIoc,YAAY,EAAG,EACnBpc,GAAIoc,YAAY,EAAG,EACnBpc,GAAIoc,YAAY,EAAG,EACnBpc,GAAIoc,YAAY,EAAG,EACnBpc,GAAIoc,YAAY,EAAG,EACnBpc,GAAIoc,YAAY,EAAG,EACnB,OAAOpc,GAGR,QAAS+pE,GAAYhtD,EAAM3gB,EAAQ6T,GAClC,GAAInK,IAAKpE,GAAGjB,EAAE,EAAEqT,EAAE,GAAG5X,GAAGuE,EAAE,EAAEqT,EAAE,GAC9B,IAAG1X,GAAU,GAAK6T,EAAKu4D,KAAM,CAC5B1iE,EAAEpE,EAAEjB,EAAIsc,EAAKR,WAAW,EACxBQ,GAAKrZ,GACLoC,GAAEpE,EAAEoS,EAAIiJ,EAAKR,WAAW,EACxBzW,GAAE5J,EAAEuE,EAAIsc,EAAKR,WAAW,EACxBQ,GAAKrZ,GACLoC,GAAE5J,EAAE4X,EAAIiJ,EAAKR,WAAW,EACxB,OAAOzW,GAERA,EAAEpE,EAAEjB,EAAIsc,EAAKR,WAAW,EACxBzW,GAAEpE,EAAEoS,EAAIiJ,EAAKR,WAAW,EACxB,IAAGngB,GAAU,IAAM6T,EAAKu4D,KAAMzrD,EAAKrZ,GAAK,CACxCoC,GAAE5J,EAAEuE,EAAIsc,EAAKR,WAAW,EACxBzW,GAAE5J,EAAE4X,EAAIiJ,EAAKR,WAAW,EACxB,IAAGngB,GAAU,IAAM6T,EAAKu4D,KAAMzrD,EAAKrZ,GAAK,CACxC,IAAGoC,EAAEpE,EAAEjB,GAAK,MAAQqF,EAAEpE,EAAEjB,EAAIqF,EAAE5J,EAAEuE,EAAIqF,EAAEpE,EAAEoS,EAAIhO,EAAE5J,EAAE4X,EAAI,CACpD,OAAOhO,GAER,QAASqjE,GAAYtkC,GACpB,GAAI7kC,GAAMghB,GAAQ,EAClBhhB,GAAIoc,YAAY,EAAGyoB,EAAMnjC,EAAEjB,EAC3BT,GAAIoc,YAAY,EAAGyoB,EAAMnjC,EAAEoS,EAC3B9T,GAAIoc,YAAY,EAAGyoB,EAAM3oC,EAAEuE,EAC3BT,GAAIoc,YAAY,EAAGyoB,EAAM3oC,EAAE4X,EAC3B,OAAO9T,GAGR,QAASgqE,GAAWjtD,EAAM3gB,EAAQ6T,GACjC,GAAInK,KAAMrF,EAAE,EAAEqT,EAAE,IAAK1K,EAAE,IAAID,EAAE,GAAI,EAAG,EACpC,IAAG8G,EAAKu4D,MAAQv4D,EAAKs4D,MAAQ,MAAQ,CACpCziE,EAAE,GAAGrF,EAAIsc,EAAKR,WAAW,EACzBzW,GAAE,GAAKiX,EAAKR,WAAW,EACvBzW,GAAE,GAAGgO,EAAIiJ,EAAKR,WAAW,EACzBQ,GAAKrZ,GAAG,MACF,IAAGuM,EAAKw4D,MAAO,CACrB3iE,EAAE,GAAGrF,EAAIsc,EAAKR,WAAW,EAAIzW,GAAE,GAAGgO,EAAIiJ,EAAKR,WAAW,EACtDzW,GAAE,GAAKiX,EAAKR,WAAW,OACjB,CACNzW,EAAE,GAAKiX,EAAKR,WAAW,EACvBzW,GAAE,GAAGrF,EAAIsc,EAAKR,WAAW,EAAIzW,GAAE,GAAGgO,EAAIiJ,EAAKR,WAAW,GAEvD,MAAOzW,GAGR,QAASmkE,GAAYzlC,GAEpB,GAAGA,EAAKrJ,GAAK/kB,GAAYouB,EAAKrJ,GAAI,CACjC,MAAO,MAAQ2sC,EAAgBplE,QAAQ8hC,EAAKrJ,GAAK,GAAK,GAEvD,MAAO,KAER,QAAS+uC,GAAYntD,EAAM3gB,EAAQ6T,GAClC,GAAIkN,GAAMJ,EAAKrZ,EAAItH,CACnB,IAAI0J,GAAIkkE,EAAWjtD,EAAM3gB,EAAQ6T,EACjCnK,GAAE,GAAGsD,EAAI,GACT,KAAI6G,EAAKs4D,KAAO,QAAW,MAAQ,CAClCxrD,EAAKrZ,GACL,IAAIlE,GAAMud,EAAKR,WAAW,EAC1BzW,GAAE,GAAGqD,EAAI4T,EAAKR,WAAW/c,EAAK,OAC9B,OAAOsG,GAER,GAAGmK,EAAKu4D,KAAMzrD,EAAKrZ,GACnBoC,GAAE,GAAGqD,EAAI4T,EAAKR,WAAWY,EAAMJ,EAAKrZ,EAAG,OACvC,OAAOoC,GAER,QAASyjE,GAAY7tD,EAAGnZ,EAAGb,GAE1B,GAAIoE,GAAIkb,GAAQ,EAAItf,EAAEtF,OACtB0J,GAAEsW,YAAY,EAAG,IACjBtW,GAAEsW,YAAY,EAAG7Z,EACjBuD,GAAEsW,YAAY,EAAGV,EACjB5V,GAAEsW,YAAY,EAAG,GACjB,KAAI,GAAIjgB,GAAI,EAAGA,EAAI2J,EAAE1J,SAAUD,EAAG,CACjC,GAAI0Y,GAAKnT,EAAErF,WAAWF,EACtB2J,GAAEsW,YAAY,EAAGvH,GAAM,IAAO,GAAOA,GAEtC/O,EAAEsW,YAAY,EAAG,EACjB,OAAOtW,GAER,QAASqkE,GAAaptD,EAAM3gB,EAAQ6T,GACnC,GAAIkN,GAAMJ,EAAKrZ,EAAItH,CACnB,IAAI0J,GAAIkkE,EAAWjtD,EAAM3gB,EAAQ6T,EACjCnK,GAAE,GAAGsD,EAAI,GACT,IAAG6G,EAAKs4D,MAAQ,MAAQ,CACvB,GAAI/oE,GAAMud,EAAKR,WAAW,EAC1BzW,GAAE,GAAGqD,EAAI4T,EAAKR,WAAW/c,EAAK,OAC9B,OAAOsG,GAERA,EAAE,GAAGqD,EAAI4T,EAAKR,WAAWY,EAAMJ,EAAKrZ,EAAG,OACvC,OAAOoC,GAGR,QAASskE,GAAcrtD,EAAM3gB,EAAQ6T,GACpC,GAAInK,GAAIkkE,EAAWjtD,EAAM3gB,EAAQ6T,EACjCnK,GAAE,GAAGqD,EAAI4T,EAAKR,WAAW,EAAG,IAC5B,OAAOzW,GAER,QAASujE,GAAc3tD,EAAGnZ,EAAGiiC,GAC5B,GAAI1+B,GAAIkb,GAAQ,EAChBlb,GAAEsW,YAAY,EAAG6tD,EAAYzlC,GAC7B1+B,GAAEsW,YAAY,EAAG7Z,EACjBuD,GAAEsW,YAAY,EAAGV,EACjB5V,GAAEsW,YAAY,EAAGooB,EAAKr7B,EAAG,IACzB,OAAOrD,GAGR,QAASukE,GAAattD,EAAM3gB,EAAQ6T,GACnC,GAAInK,GAAIkkE,EAAWjtD,EAAM3gB,EAAQ6T,EACjCnK,GAAE,GAAGqD,EAAI4T,EAAKR,WAAW,EAAG,IAC5B,OAAOzW,GAER,QAASwjE,GAAa5tD,EAAGnZ,EAAGiiC,GAC3B,GAAI1+B,GAAIkb,GAAQ,GAChBlb,GAAEsW,YAAY,EAAG6tD,EAAYzlC,GAC7B1+B,GAAEsW,YAAY,EAAG7Z,EACjBuD,GAAEsW,YAAY,EAAGV,EACjB5V,GAAEsW,YAAY,EAAGooB,EAAKr7B,EAAG,IACzB,OAAOrD,GAGR,QAASwkE,GAAcvtD,EAAM3gB,EAAQ6T,GACpC,GAAIkN,GAAMJ,EAAKrZ,EAAItH,CACnB,IAAI0J,GAAIkkE,EAAWjtD,EAAM3gB,EAAQ6T,EAEjCnK,GAAE,GAAGqD,EAAI4T,EAAKR,WAAW,EAAG,IAC5B,IAAGtM,EAAKu4D,KAAMzrD,EAAKrZ,EAAIyZ,MAClB,CACJ,GAAI7G,GAAOyG,EAAKR,WAAW,EAC3BguD,GAAgBxtD,EAAK5c,MAAM4c,EAAKrZ,EAAGqZ,EAAKrZ,EAAI4S,GAAOxQ,EACnDiX,GAAKrZ,GAAK4S,EAEX,MAAOxQ,GAGR,QAAS0kE,GAAat7D,EAAG2C,EAAG8zB,GAC3B,GAAIiV,GAAM/oC,EAAI,KACdA,KAAM,KACNA,IAAK+oC,EAAM1rC,EAAI,IAAO2C,GAAK,KAAUA,EAAI,MAASA,EAClD,QAAQ+oC,EAAM,GAAK,MAAQjV,EAAMR,GAAWtzB,GAAKuzB,GAAWvzB,IAO7D,GAAI44D,IACH99D,IAAO,KAAM,GAEbkM,IAAO,MAAO,GACdC,IAAO,QAAS,GAChBC,IAAO,OAAQ,GACfC,IAAO,MAAO,GACd5N,IAAO,KAAM,GACbC,IAAO,KAAM,GACbC,IAAO,MAAO,GACdC,IAAO,MAAO,GACdoD,IAAO,MAAO,GACdC,IAAO,QAAS,GAChBC,IAAO,OAAQ,GACfC,IAAO,OAAQ,GACftD,IAAO,OAAQ,GACfC,IAAO,MAAO,GACdC,IAAO,MAAO,GAEdE,IAAO,OAAQ,GACfgB,IAAO,QAAS,GAChBC,IAAO,QAAS,GAChBC,IAAO,OAAQ,GACfC,IAAO,OAAQ,GACfC,IAAO,OAAQ,GASfuB,IAAO,QAAS,GAChBC,IAAO,OAAQ,GAIff,IAAO,WAAY,GACnBjI,IAAO,SAAU,GACjBkI,IAAO,MAAO,GACdC,IAAO,QAAS,GAEhBE,IAAO,MAAO,GACdC,IAAO,OAAQ,GAMfK,IAAO,MAAO,IACdC,IAAO,WAAY,IACnBC,IAAO,SAAU,IACjBq8D,IAAO,OAAQ,IACft8B,IAAO,OAAQ,IAkBfyqB,KAAO,QAAS,GAChBC,KAAO,QAAS,GAIhBG,KAAO,SAAU,GAEjB0R,KAAO,OAAQ,GAEfC,KAAO,IAAK,GAGb,IAAIC,IACD,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAC1C,GAAK,IAAM,IAAM,IAAM,IAAM,IAAM,IAAK,KAC1C,KAAM,KAAO,IAAM,IAAO,GAAM,GAAM,GAAM,GAC3C,IAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAG7C,SAASN,GAAgBxtD,EAAMjX,GAC9BkX,GAAUD,EAAM,EAChB,IAAI/c,MAAU8qE,EAAO,EAAGpvD,EAAI,GAAInZ,EAAI,GAAIwoE,EAAO,GAAIC,EAAO,EAC1D,OAAMjuD,EAAKrZ,EAAIqZ,EAAK3gB,OAAQ,CAC3B,GAAIyY,GAAKkI,EAAKA,EAAKrZ,IACnB,QAAOmR,GACN,IAAK,GAAM7U,EAAI2D,KAAKoZ,EAAKR,WAAW,EAAG,KAAO,OAC9C,IAAK,GAAM,CACVha,EAAIioE,EAAa1kE,EAAE,GAAGrF,EAAGsc,EAAKR,WAAW,GAAI,KAC7Cb,GAAI8uD,EAAa1kE,EAAE,GAAGgO,EAAGiJ,EAAKR,WAAW,GAAI,MAC7Cvc,GAAI2D,KAAKpB,EAAImZ,GACZ,MACF,IAAK,GAAM,CACV,GAAIjb,GAAI+pE,EAAa1kE,EAAE,GAAGrF,EAAGsc,EAAKR,WAAW,GAAI,KACjD,IAAIzI,GAAI02D,EAAa1kE,EAAE,GAAGgO,EAAGiJ,EAAKR,WAAW,GAAI,MACjDha,GAAIioE,EAAa1kE,EAAE,GAAGrF,EAAGsc,EAAKR,WAAW,GAAI,KAC7Cb,GAAI8uD,EAAa1kE,EAAE,GAAGgO,EAAGiJ,EAAKR,WAAW,GAAI,MAC7Cvc,GAAI2D,KAAKlD,EAAIqT,EAAI,IAAMvR,EAAImZ,GAC1B,MACF,IAAK,GACJ,GAAGqB,EAAKrZ,EAAIqZ,EAAK3gB,OAAQ,CAAEwoB,QAAQC,MAAM,4BAA8B,QACvE,MACD,IAAK,GAAM7kB,EAAI2D,KAAK,IAAM3D,EAAImjB,MAAQ,IAAM,OAC5C,IAAK,GAAMnjB,EAAI2D,KAAKoZ,EAAKR,WAAW,GAAK,OACzC,IAAK,GAAM,CAEV,GAAIZ,GAAI,EAAI,OAAO9G,EAAKkI,EAAKA,EAAKrZ,KAAOiY,GAAKtd,OAAOC,aAAauW,EAClE7U,GAAI2D,KAAK,IAAMgY,EAAEvU,QAAQ,KAAM,MAAQ,KACtC,MAEF,IAAK,GAAMpH,EAAI2D,KAAK,IAAM3D,EAAImjB,MAAQ,OACtC,IAAK,IAAMnjB,EAAI2D,KAAK,IAAM3D,EAAImjB,MAAQ,OACtC,IAAK,IAAMnjB,EAAI2D,KAAK,OAAS3D,EAAImjB,MAAQ,IAAM,OAE/C,IAAK,KAAM,IAAK,IAAM,CACrB6nD,EAAOhrE,EAAImjB,KAAO4nD,GAAO/qE,EAAImjB,KAC7BnjB,GAAI2D,MAAM,MAAO,MAAMkR,EAAK,IAAQ,IAAMk2D,EAAO,IAAMC,EAAO,KAC7D,MAEF,QACC,GAAGn2D,EAAK,IAAQg2D,EAASh2D,GAAK,CAC7Bm2D,EAAOhrE,EAAImjB,KAAO4nD,GAAO/qE,EAAImjB,KAC7BnjB,GAAI2D,KAAKonE,EAAOF,EAASh2D,GAAMm2D,OACzB,IAAGP,EAAQ51D,GAAK,CACtBi2D,EAAOL,EAAQ51D,GAAI,EACnB,IAAGi2D,GAAQ,GAAIA,EAAO/tD,EAAKA,EAAKrZ,IAChC,IAAGonE,EAAO9qE,EAAI5D,OAAQ,CAAEwoB,QAAQC,MAAM,2BAA6BhQ,EAAGzU,SAAS,IAAM,KAAOJ,EAAI4C,KAAK,KAAO,IAAM,QAClH,GAAIqoE,GAAOjrE,EAAIG,OAAO2qE,EACtB9qE,GAAI5D,QAAU0uE,CACd9qE,GAAI2D,KAAK8mE,EAAQ51D,GAAI,GAAK,IAAMo2D,EAAKroE,KAAK,KAAO,SAE7C,IAAGiS,GAAM,EAAM,MAAO+P,SAAQC,MAAM,sBAAwBhQ,EAAGzU,SAAS,SACxE,IAAGyU,GAAM,GAAM,MAAO+P,SAAQC,MAAM,sBAAwBhQ,EAAGzU,SAAS,SACxE,IAAGyU,GAAM,GAAM,MAAO+P,SAAQC,MAAM,sBAAwBhQ,EAAGzU,SAAS,SACxE,IAAGyU,GAAM,IAAM,MAAO+P,SAAQC,MAAM,mCAAqChQ,EAAGzU,SAAS,SAErF,OAAOwkB,SAAQC,MAAM,2BAA6BhQ,EAAGzU,SAAS,OAGtE,GAAGJ,EAAI5D,QAAU,EAAG0J,EAAE,GAAGjF,EAAI,GAAKb,EAAI,OACjC4kB,SAAQC,MAAM,0BAA4B7kB,EAAI4C,KAAK,KAAO,KAGhE,QAASsoE,GAAanuD,GACrB,GAAIjX,KAAMrF,EAAE,EAAEqT,EAAE,IAAK1K,EAAE,IAAID,EAAE,GAAI,EACjCrD,GAAE,GAAGgO,EAAIiJ,EAAKR,WAAW,EAAIzW,GAAE,GAAKiX,EAAKA,EAAKrZ,IAAMoC,GAAE,GAAGrF,EAAIsc,EAAKA,EAAKrZ,IACvE,OAAOoC,GAGR,QAASqlE,GAAepuD,EAAM3gB,GAC7B,GAAI0J,GAAIolE,EAAanuD,EAAM3gB,EAC3B0J,GAAE,GAAGsD,EAAI,GACTtD,GAAE,GAAGqD,EAAI4T,EAAKR,WAAWngB,EAAS,EAAG,OACrC,OAAO0J,GAER,QAAS+jE,GAAenuD,EAAGnZ,EAAGonE,EAAOjoE,GAEpC,GAAIoE,GAAIkb,GAAQ,EAAItf,EAAEtF,OACtB0J,GAAEsW,YAAY,EAAGV,EACjB5V,GAAEsW,YAAY,EAAGutD,EACjB7jE,GAAEsW,YAAY,EAAG7Z,EACjBuD,GAAEsW,YAAY,EAAG,GACjB,KAAI,GAAIjgB,GAAI,EAAGA,EAAIuF,EAAEtF,SAAUD,EAAG,CACjC,GAAI0Y,GAAKnT,EAAErF,WAAWF,EACtB2J,GAAEsW,YAAY,EAAGvH,GAAM,IAAO,GAAOA,GAEtC/O,EAAEsW,YAAY,EAAG,EACjB,OAAOtW,GAGR,QAASslE,GAAgBruD,EAAM3gB,GAC9B,GAAI0J,GAAIolE,EAAanuD,EAAM3gB,EAC3B0J,GAAE,GAAGqD,EAAI4T,EAAKR,WAAW,EACzB,IAAIpT,GAAIrD,EAAE,GAAGqD,GAAK,CAClB,IAAGrD,EAAE,GAAGqD,EAAI,EAAK,CAChB,OAAOA,EAAI,GACV,IAAK,GAAGA,GAAKA,GAAK,GAAK,GAAM,OAC7B,IAAK,GAAGA,GAAKA,GAAK,GAAK,GAAK,OAC5B,IAAK,GAAGA,GAAKA,GAAK,GAAK,EAAI,OAC3B,IAAK,GAAGA,GAAKA,GAAK,GAAK,GAAK,OAC5B,IAAK,GAAGA,GAAKA,GAAK,GAAK,GAAM,OAC7B,IAAK,GAAGA,GAAKA,GAAK,GAAK,GAAO,OAC9B,IAAK,GAAGA,GAAKA,GAAK,GAAK,EAAI,OAC3B,IAAK,GAAGA,GAAKA,GAAK,GAAK,EAAI,SAG7BrD,EAAE,GAAGqD,EAAIA,CACT,OAAOrD,GAGR,QAASulE,GAAgBtuD,EAAM3gB,GAC9B,GAAI0J,GAAIolE,EAAanuD,EAAM3gB,EAC3B,IAAIkvE,GAAKvuD,EAAKR,WAAW,EACzB,IAAIgvD,GAAKxuD,EAAKR,WAAW,EACzB,IAAIrgB,GAAI6gB,EAAKR,WAAW,EACxB,IAAGrgB,GAAK,MAAQ,CACf,GAAGovE,IAAO,GAAKC,IAAO,WAAY,CAAEzlE,EAAE,GAAGsD,EAAI,GAAKtD,GAAE,GAAGqD,EAAI,OACtD,IAAGmiE,IAAO,GAAKC,IAAO,WAAY,CAAEzlE,EAAE,GAAGsD,EAAI,GAAKtD,GAAE,GAAGqD,EAAI,OAC3DrD,GAAE,GAAGqD,EAAI,CACd,OAAOrD,GAER,GAAIpE,GAAIxF,EAAI,KAAQA,IAAKA,EAAE,OAAU,KACrC4J,GAAE,GAAGqD,GAAK,EAAIzH,EAAE,IAAM6pE,EAAK9hE,KAAKI,IAAI,EAAG3N,EAAE,IAAMovE,EAAK7hE,KAAKI,IAAI,EAAG3N,GAChE,OAAO4J,GAER,QAAS8jE,GAAgBluD,EAAGnZ,EAAGonE,EAAOxgE,GACrC,GAAIrD,GAAIkb,GAAQ,GAChBlb,GAAEsW,YAAY,EAAGV,EACjB5V,GAAEsW,YAAY,EAAGutD,EACjB7jE,GAAEsW,YAAY,EAAG7Z,EACjB,IAAG4G,GAAK,EAAG,CACVrD,EAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,MACjB,OAAOtW,GAER,GAAIpE,GAAI,EAAGxF,EAAI,EAAGovE,EAAK,EAAGC,EAAK,CAC/B,IAAGpiE,EAAI,EAAG,CAAEzH,EAAI,CAAGyH,IAAKA,EACxBjN,EAAIuN,KAAK+hE,KAAKriE,GAAK,CACnBA,IAAKM,KAAKI,IAAI,EAAG3N,EAAE,GACnBqvE,GAAK,IAAM,CACX,KAAIA,EAAG,aAAe,EAAG,CAAEpiE,GAAG,IAAKjN,CAAGqvE,GAAKpiE,IAAM,EACjDA,GAAKoiE,CACLA,IAAM,UACNA,MAAQ,CACRpiE,IAAKM,KAAKI,IAAI,EAAG,GACjByhE,GAAKniE,IAAI,CACTrD,GAAEsW,YAAY,EAAGkvD,EACjBxlE,GAAEsW,YAAY,EAAGmvD,EACjBrvE,IAAK,OAAUwF,EAAI,MAAS,EAC5BoE,GAAEsW,YAAY,EAAGlgB,EACjB,OAAO4J,GAGR,QAAS2lE,GAAiB1uD,EAAM3gB,GAC/B,GAAI0J,GAAIulE,EAAgBtuD,EAAM,GAC9BA,GAAKrZ,GAAKtH,EAAS,EACnB,OAAO0J,GAGR,QAAS4lE,GAAgB3uD,EAAM3gB,GAC9B,GAAI0J,GAAIolE,EAAanuD,EAAM3gB,EAC3B,IAAIkvE,GAAKvuD,EAAKR,WAAW,EACzBzW,GAAE,GAAGqD,EAAImiE,GAAM,CACf,OAAOxlE,GAGR,QAAS6lE,GAAgB5uD,EAAM3gB,GAC9B,GAAI0J,GAAIolE,EAAanuD,EAAM3gB,EAC3B,IAAIkvE,GAAKvuD,EAAKR,WAAW,EAAE,IAC3BzW,GAAE,GAAGqD,EAAImiE,CACT,OAAOxlE,GAGR,QAAS8lE,GAAiB7uD,EAAM3gB,GAC/B,GAAI0J,GAAI6lE,EAAgB5uD,EAAM,GAC9BA,GAAKrZ,GAAKtH,EAAS,EACnB,OAAO0J,GAGR,QAAS+lE,GAAkB9uD,EAAM3gB,GAChC,MAAO2gB,GAAKA,EAAKrZ,EAAItH,EAAS,IAAM,EAAI2gB,EAAKR,WAAWngB,EAAQ,QAAU,GAG3E,QAAS0vE,GAAkB/uD,EAAM3gB,GAChC,GAAIoD,GAAMud,EAAKA,EAAKrZ,IACpB,IAAGlE,EAAMpD,EAAS,EAAGoD,EAAMpD,EAAS,CACpC,IAAI0J,GAAI,EAAI,OAAMA,EAAE1J,OAASoD,EAAKsG,GAAKzH,OAAOC,aAAaye,EAAKA,EAAKrZ,KACrE,OAAOoC,GAGR,QAASimE,GAAkBhvD,EAAM3gB,EAAQ6T,GACxC,IAAIA,EAAKu4D,MAAQpsE,EAAS,GAAI,MAC9B,IAAIgtD,GAAKrsC,EAAKR,WAAW,EACzBQ,GAAKrZ,GAAK,EACVqZ,GAAKrZ,GAAK,CACVqZ,GAAKrZ,GAAK,CACV,IAAIof,GAAK/F,EAAKR,WAAWngB,EAAS,GAAI,OACtC,QAAQgtD,EAAItmC,GAGb,QAASkpD,GAAcjvD,EAAM3gB,GAC5B,GAAI0J,MAAQqX,EAAMJ,EAAKrZ,EAAItH,CAC3B,OAAM2gB,EAAKrZ,EAAIyZ,EAAK,CACnB,GAAI3G,GAAKuG,EAAKR,WAAW,EACzB,IAAG/F,GAAM,KAAQ,CAChB1Q,EAAE0Q,IAAO,EAAG,GACZ1Q,GAAE0Q,GAAI,GAAKuG,EAAKR,WAAW,EAC3B,OAAMQ,EAAKA,EAAKrZ,GAAI,CAAEoC,EAAE0Q,GAAI,IAAMnY,OAAOC,aAAaye,EAAKA,EAAKrZ,GAAKqZ,GAAKrZ,IAAOqZ,EAAKrZ,KAIxF,MAAOoC,GAER,QAAS4jE,GAAwBnqD,EAAMoqD,GACtC,GAAI3pE,GAAMghB,GAAQ,EAAIzB,EAAKnjB,OAC3B4D,GAAIoc,YAAY,EAAG,KACnBpc,GAAIoc,YAAY,EAAGutD,EACnB,KAAI,GAAIxtE,GAAI,EAAGA,EAAIojB,EAAKnjB,SAAUD,EAAG,CACpC,GAAI0Y,GAAK0K,EAAKljB,WAAWF,EACzB6D,GAAIA,EAAI0D,KAAOmR,EAAK,IAAO,GAAOA,EAEnC7U,EAAIA,EAAI0D,KAAO,CACf,OAAO1D,GAGR,GAAI2nE,IACHtjE,GAAUrF,EAAE,MAAO6B,EAAE8jD,IACrBrgD,GAAUtF,EAAE,OACZuF,GAAUvF,EAAE,YACZoL,GAAUpL,EAAE,aACZqL,GAAUrL,EAAE,SACZ+M,GAAU/M,EAAE,QACZgN,GAAUhN,EAAE,QAAS6B,EAAEkpE,GACvB99D,GAAUjN,EAAE,WACZkN,GAAUlN,EAAE,SACZsL,GAAUtL,EAAE,UACZuL,IAAUvL,EAAE,SACZwL,IAAUxL,EAAE,QACZyL,IAAUzL,EAAE,SACZ0L,IAAU1L,EAAE,UAAW6B,EAAEupE,GACzBz/D,IAAU3L,EAAE,SAAU6B,EAAEwpE,GACxBz/D,IAAU5L,EAAE,QAAS6B,EAAEqpE,GACvBr/D,IAAU7L,EAAE,UAAW6B,EAAEypE,GACzBl+D,IAAUpN,EAAE,SACZqN,IAAUrN,EAAE,UACZsN,IAAUtN,EAAE,UACZuN,IAAUvN,EAAE,UACZwN,IAAUxN,EAAE,UACZyN,IAAUzN,EAAE,WACZ4Z,IAAU5Z,EAAE,UACZ+Z,IAAU/Z,EAAE,WACZga,IAAUha,EAAE,UACZoM,IAAUpM,EAAE,UACZqM,IAAUrM,EAAE,UACZsM,IAAUtM,EAAE,SACZuM,IAAUvM,EAAE,WACZ2P,IAAU3P,EAAE,YACZ4P,IAAU5P,EAAE,UACZ6P,IAAU7P,EAAE,WACZwM,IAAUxM,EAAE,SACZyM,IAAUzM,EAAE,UACZ0M,IAAU1M,EAAE,aACZ2M,IAAU3M,EAAE,eACZ4M,IAAU5M,EAAE,aACZ4N,IAAU5N,EAAE,UACZ6N,IAAU7N,EAAE,SAAU6B,EAAEspE,GACxBl9D,IAAUjO,EAAE,YACZ6M,IAAU7M,EAAE,UACZqO,IAAUrO,EAAE,SACZsO,IAAUtO,EAAE,aACZuO,IAAUvO,EAAE,SACZuP,IAAUvP,EAAE,aACZwP,IAAUxP,EAAE,UACZyP,IAAUzP,EAAE,aACZ0P,IAAU1P,EAAE,QACZwO,IAAUxO,EAAE,YACZyO,IAAUzO,EAAE,UACZwG,IAAUxG,EAAE,UACZ0O,IAAU1O,EAAE,SACZ2O,IAAU3O,EAAE,SACZ4O,IAAU5O,EAAE,SACZ6O,IAAU7O,EAAE,UACZ8O,IAAU9O,EAAE,SAEZ65D,KAAU75D,EAAE,aACZ85D,KAAU95D,EAAE,aACZ+5D,KAAU/5D,EAAE,WACZuvC,KAAUvvC,EAAE,aASZoG,KAAUpG,EAAE,cAAe6B,EAAEgrE,GAE7BxmE,KAAUrG,EAAE,cAAe6B,EAAEirE,GAC7BvmE,KAAUvG,EAAE,MAAO6B,EAAE8jD,IACrBsnB,OAAUjtE,EAAE,QAAS6B,EAAE8jD,IACvBjV,OAAU1wC,EAAE,IAGb,IAAI4pE,IACHvkE,GAAUrF,EAAE,OACZsF,GAAUtF,EAAE,OACZuF,GAAUvF,EAAE,YACZoL,GAAUpL,EAAE,WACZqL,GAAUrL,EAAE,aACZ+M,GAAU/M,EAAE,gBACZgN,GAAUhN,EAAE,eACZiN,GAAUjN,EAAE,eACZkN,GAAUlN,EAAE,gBACZsL,GAAUtL,EAAE,aACZuL,IAAUvL,EAAE,eACZwL,IAAUxL,EAAE,aACZyL,IAAUzL,EAAE,cACZ0L,IAAU1L,EAAE,YACZ2L,IAAU3L,EAAE,gBACZ4L,IAAU5L,EAAE,aACZ6L,IAAU7L,EAAE,eACZ8L,IAAU9L,EAAE,aACZ+L,IAAU/L,EAAE,eACZgM,IAAUhM,EAAE,MACZiM,IAAUjM,EAAE,WACZkM,IAAUlM,EAAE,UACZmM,IAAUnM,EAAE,UAAW6B,EAAEsqE,GACzBh/D,IAAUnN,EAAE,WAAY6B,EAAEwqE,GAC1Bj/D,IAAUpN,EAAE,WAAY6B,EAAEuqE,GAC1B/+D,IAAUrN,EAAE,YAAa6B,EAAE4qE,GAC3Bn/D,IAAUtN,EAAE,aACZuN,IAAUvN,EAAE,UAAW6B,EAAEmrE,GACzBx/D,IAAUxN,EAAE,eACZyN,IAAUzN,EAAE,eACZ0N,IAAU1N,EAAE,eACZ2N,IAAU3N,EAAE,OACZ4Z,IAAU5Z,EAAE,WACZ6Z,IAAU7Z,EAAE,SACZ8Z,IAAU9Z,EAAE,eACZ+Z,IAAU/Z,EAAE,MACZoM,IAAUpM,EAAE,WAAY6B,EAAE6qE,GAC1BrgE,IAAUrM,EAAE,MACZsM,IAAUtM,EAAE,WAAY6B,EAAE8qE,GAC1BpgE,IAAUvM,EAAE,YAAa6B,EAAE+qE,GAC3BM,KAAUltE,EAAE,MACZmtE,KAAUntE,EAAE,MACZy6D,KAAUz6D,EAAE,MACZ06D,KAAU16D,EAAE,MACZ26D,KAAU36D,EAAE,MACZotE,KAAUptE,EAAE,MACZqtE,KAAUrtE,EAAE,MACZstE,KAAUttE,EAAE,MACZutE,KAAUvtE,EAAE,MACZgG,KAAUhG,EAAE,MACZwtE,KAAUxtE,EAAE,MACZytE,KAAUztE,EAAE,MACZ0tE,KAAU1tE,EAAE,MACZiG,KAAUjG,EAAE,MACZ2tE,KAAU3tE,EAAE,MACZ4tE,KAAU5tE,EAAE,MACZmG,KAAUnG,EAAE,MACZ6tE,KAAU7tE,EAAE,MACZ8tE,KAAU9tE,EAAE,MACZ+tE,KAAU/tE,EAAE,MACZ66D,KAAU76D,EAAE,MACZoG,KAAUpG,EAAE,cAAe6B,EAAEgrE,GAC7BmB,KAAUhuE,EAAE,MACZiuE,KAAUjuE,EAAE,MACZkuE,KAAUluE,EAAE,MACZmuE,KAAUnuE,EAAE,MACZouE,KAAUpuE,EAAE,MACZquE,KAAUruE,EAAE,MACZsuE,KAAUtuE,EAAE,MACZuuE,KAAUvuE,EAAE,MACZwuE,KAAUxuE,EAAE,MACZyuE,KAAUzuE,EAAE,MACZ0uE,KAAU1uE,EAAE,MACZ2uE,KAAU3uE,EAAE,MACZ4uE,KAAU5uE,EAAE,MACZ6uE,KAAU7uE,EAAE,MACZ8uE,KAAU9uE,EAAE,MACZ+uE,KAAU/uE,EAAE,MACZgvE,KAAUhvE,EAAE,MACZivE,KAAUjvE,EAAE,MACZkvE,KAAUlvE,EAAE,MACZmvE,KAAUnvE,EAAE,MACZovE,KAAUpvE,EAAE,MACZqvE,KAAUrvE,EAAE,MACZsvE,KAAUtvE,EAAE,MACZuvE,KAAUvvE,EAAE,MACZwvE,KAAUxvE,EAAE,MACZyvE,KAAUzvE,EAAE,MACZ0vE,KAAU1vE,EAAE,MACZ2vE,KAAU3vE,EAAE,MACZ4vE,KAAU5vE,EAAE,MACZ6vE,KAAU7vE,EAAE,MACZ8vE,KAAU9vE,EAAE,MACZ+vE,KAAU/vE,EAAE,MACZgwE,KAAUhwE,EAAE,MACZiwE,KAAUjwE,EAAE,MACZkwE,KAAUlwE,EAAE,MACZmwE,KAAUnwE,EAAE,MACZowE,KAAUpwE,EAAE,MACZqwE,KAAUrwE,EAAE,MACZswE,KAAUtwE,EAAE,MACZuwE,KAAUvwE,EAAE,MACZwwE,KAAUxwE,EAAE,MACZywE,KAAUzwE,EAAE,MACZ0wE,KAAU1wE,EAAE,MACZ2wE,KAAU3wE,EAAE,MACZ4wE,MAAU5wE,EAAE,cAAe6B,EAAEkrE,GAC7B8D,MAAU7wE,EAAE,MACZ8wE,MAAU9wE,EAAE,MACZ+wE,MAAU/wE,EAAE,MACZgxE,MAAUhxE,EAAE,MACZixE,MAAUjxE,EAAE,MACZkxE,MAAUlxE,EAAE,MACZmxE,MAAUnxE,EAAE,MACZoxE,MAAUpxE,EAAE,MACZqxE,MAAUrxE,EAAE,MACZsxE,MAAUtxE,EAAE,MACZuxE,MAAUvxE,EAAE,MACZwxE,OAAUxxE,EAAE,MACZyxE,OAAUzxE,EAAE,MACZ0xE,OAAU1xE,EAAE,MACZ2xE,OAAU3xE,EAAE,MACZ0wC,OAAU1wC,EAAE,IAIb,IAAI4xE,IACH7kE,EAAM,YACNC,EAAM,SACNC,EAAM,SACNC,EAAM,WACN3B,GAAM,iBACNC,GAAM,cACNG,GAAM,cACNC,GAAM,WAGNkO,GAAQ,OACRlM,GAAQ,iBACR8B,GAAQ,cACRL,GAAQ,mBACRtJ,IAAQ,gCACR8rE,IAAQ,KACRC,IAAQ,QACRC,IAAQ,QAGT,SAASC,GAAcn1D,GACtB,GAAIopC,GAAMppC,EAAEU,WAAW,EACvB,IAAIU,GAAQpB,EAAEU,WAAW,EAEzB,IAAGU,GAAS,EAAG,KAAM,+BAAiCA,EAAM7c,SAAS,GACrE,OAAOyb,GAAEU,WAAW0oC,EAAK,aAI1B,QAASqjB,GAAoBtsE,EAAGiU,GAC/B+M,GAAUhhB,EAAG,EACb,IAAI8J,GAAImK,KACR,IAAGtJ,GAAS,MAAQb,EAAEohC,OAAS,KAAMphC,EAAEohC,MAAQvgC,CAC/C,IAAIjF,KAAU,IAAGoE,EAAEohC,MAAOxlC,EAAE,WAC5B,IAAI+3C,MAAUpT,EAAQ,GAAI4qC,IAC1B,IAAIpsC,IAASnjC,GAAGoS,GAAG,EAAErT,GAAG,GAAIvE,GAAG4X,GAAG,EAAErT,GAAG,GACvC,IAAIwgB,GAAM,EAAG3O,EAAO,EAAG/P,EAAI,EAAGmZ,EAAI,CAClC,IAAIygC,IAAOpV,cAAgBC,UAC3B,IAAIkqC,KACJlK,GAAO,MAAMhrE,EAAE0H,EAAI1H,EAAEI,OAAQ,CAC5B,GAAIinC,GAAKrnC,EAAEugB,WAAW,GAAIngB,EAASJ,EAAEugB,WAAW,EAChD,IAAIV,GAAI7f,EAAEmE,MAAMnE,EAAE0H,EAAG1H,EAAE0H,EAAItH,EAC3B4gB,IAAUnB,EAAG,EACb,QAAOwnB,GACN,IAAK,GACJ,GAAGxnB,EAAEU,WAAW,IAAM,UAAY,KAAM,eACxC,OACD,IAAK,GAAgB,KAAMyqD,GAE3B,IAAK,GAAe,MAEpB,IAAK,IAAoB,CACxB,GAAI57C,GAAOvP,EAAEU,WAAW,EACxB,IAAIie,IAAS3e,EAAEzf,OAASyf,EAAEnY,GAAI0nB,EAAM,CACpC,KAAI,GAAIusC,GAAO,EAAGA,EAAOvsC,IAAQusC,EAAM,CACtC,GAAIhqC,GAAM9R,EAAEnY,EAAI82B,CAChB,IAAIjoB,KACJsJ,GAAEnY,GAAK,CACP6O,GAAIk0B,SAAW5qB,EAAEU,WAAW,EAC5B,IAAGq0D,EAAWr+D,EAAIk0B,UAAWl0B,EAAI4oB,EAAIy1C,EAAWr+D,EAAIk0B,SACpD5qB,GAAEnY,EAAIiqB,CACNujD,GAAKvtE,KAAK4O,IAEV,MAGF,IAAK,MAAkB,MACvB,IAAK,MAAuE,MAE5E,IAAK,MAAQ,CACZsJ,EAAEnY,GAAK,EACP,OAAMmY,EAAEnY,EAAImY,EAAEzf,OAAQ,CACrB6kB,EAAMpF,EAAEU,WAAW,EACnBjK,GAAOuJ,EAAEU,WAAW,EACpBk9B,GAAI91C,KAAKkY,EAAEU,WAAW0E,EAAK,UAE3B,MACF,IAAK,MAAQ,EAMX,MAEF,IAAK,MAAQ,CACZ,GAAI+mD,GAAOnsD,EAAEU,WAAW,EACxB7a,KAAU,IAAGoE,EAAEohC,MAAOxlC,EAAE,WACxBmjC,GAAMnjC,EAAEjB,EAAIob,EAAEU,WAAW,EACzBsoB,GAAM3oC,EAAEuE,EAAIob,EAAEU,WAAW,EACzBsoB,GAAMnjC,EAAEoS,EAAI+H,EAAEU,WAAW,EACzBsoB,GAAM3oC,EAAE4X,EAAI+H,EAAEU,WAAW,EACzBV,GAAEnY,GAAK,CACP,IAAGmY,EAAEnY,EAAI,EAAImY,EAAEzf,OAAQ,CACtB6kB,EAAMpF,EAAEU,WAAW,EACnBjK,GAAOuJ,EAAEU,WAAW,EACpB8pB,GAAQplB,GAAO,EAAI,GAAKpF,EAAEU,WAAW0E,EAAK,QAE3C,IAAIolB,EAAOA,EAAQlB,GAAW6iC,GAE7B,MACF,IAAK,MAAQ,CAEZ,GAAGnjC,EAAMnjC,EAAEjB,EAAI,KAAQokC,EAAMnjC,EAAEoS,EAAI,OAAQ,KAC3C,IAAG+wB,EAAM3oC,EAAEuE,EAAIokC,EAAMnjC,EAAEjB,EAAGokC,EAAM3oC,EAAEuE,EAAIokC,EAAMnjC,EAAEjB,CAC9C,IAAGokC,EAAM3oC,EAAE4X,EAAI+wB,EAAMnjC,EAAEoS,EAAG+wB,EAAM3oC,EAAE4X,EAAI+wB,EAAMnjC,EAAEoS,CAC9CpS,GAAE,QAAUqkC,GAAalB,EACzBssC,IAAkBh1B,EAAIz6C,EAAG2kC,GACxB,MAEF,IAAK,MAAQ,CACZ9jC,EAAIsZ,EAAEU,WAAW,EACjB,IAAGsoB,EAAM3oC,EAAEuE,EAAI8B,EAAGsiC,EAAM3oC,EAAEuE,EAAI8B,CAC9B,IAAGsiC,EAAMnjC,EAAEjB,EAAI8B,EAAGsiC,EAAMnjC,EAAEjB,EAAI8B,CAC9BmZ,GAAIG,EAAEU,WAAW,EACjB,IAAGsoB,EAAMnjC,EAAEoS,EAAI4H,EAAGmpB,EAAMnjC,EAAEoS,EAAI4H,CAC9BA,GAAIG,EAAEU,WAAW,EACjB,IAAGsoB,EAAM3oC,EAAE4X,EAAI4H,EAAGmpB,EAAM3oC,EAAE4X,EAAI4H,EAC7B,MAEF,IAAK,MAAQ,CACZA,EAAIG,EAAEU,WAAW,GAAI0E,EAAMpF,EAAEU,WAAW,EACxC,IAAGsoB,EAAMnjC,EAAEoS,EAAI4H,EAAGmpB,EAAMnjC,EAAEoS,EAAI4H,CAC9B,IAAGmpB,EAAM3oC,EAAE4X,EAAI4H,EAAIuF,EAAM,EAAG4jB,EAAM3oC,EAAE4X,EAAI4H,EAAIuF,EAAM,CAClD,IAAImwD,GAAKjsC,GAAW5iC,EACpB,OAAMsZ,EAAEnY,EAAImY,EAAEzf,OAAQ,CACrB,GAAIooC,IAASp7B,EAAG,IAChB,IAAI6T,GAAQpB,EAAEU,WAAW,GAAI80D,GAAU,CACvC,IAAGp0D,EAAQ,IAAMo0D,EAASx1D,EAAEU,WAAW,EACvC,IAAItJ,GAAOgK,EAAQ,GAAQpB,EAAEU,WAAW,GAAK,EAAG,CAChD,QAAOU,EAAQ,IACd,IAAK,GAAG,MACR,IAAK,GAAG,MACR,IAAK,GAAGunB,GAASp7B,EAAG,IAAKD,EAAG0S,EAAEU,WAAW,GAAM,OAC/C,IAAK,GAAGioB,GAASp7B,EAAG,IAAKD,EAAG0S,EAAEU,WAAW,EAAG,KAAQ,OACpD,IAAK,GAAGioB,GAASp7B,EAAG,IAAKD,EAAG8gC,GAAepuB,GAAM,OACjD,IAAK,GAAG2oB,GAASp7B,EAAG,IAAKD,EAAG0S,EAAEU,WAAW,EAAG,KAAQ,OACpD,IAAK,GAAGioB,GAASp7B,EAAG,IAAKD,EAAGswC,EAAInnC,EAAOuJ,EAAEU,WAAW,GAAK,GAAM,OAC/D,IAAK,GACJioB,GAASp7B,EAAG,IAAKD,EAAG0S,EAAEU,WAAW,EAAG,KACpCV,GAAEnY,GAAK,CAA6CmY,GAAEnY,GAAK,CAC3D,IAAGsD,MAAMw9B,EAAKr7B,GAAIq7B,GAASp7B,EAAG,IAAKD,EAAG,GACtC,OACD,QAAS,KAAM,+BAAiC8T,EAAQ,KAEzD,GAAGo0D,IAAW,IAAMH,EAAKG,EAAS,QAAQl2C,EAAGqJ,EAAKrJ,EAAI+1C,EAAKG,EAAO,GAAGl2C,CACrE,IAAIm2C,GAAQ,CACZ,IAAGr0D,EAAQ,GAAM,OAAOA,EAAQ,IAC/B,IAAK,GAAGq0D,EAAQz1D,EAAEU,WAAW,EAAI,OACjC,IAAK,GAAG+0D,EAAQz1D,EAAEU,WAAW,EAAG,IAAM,OACtC,IAAK,GAAG+0D,EAAQz1D,EAAEU,WAAW,EAAI,OACjC,QAAS,KAAM,wCAA0CU,EAAQ,KAElE,MAAMnX,EAAEkiC,YAAcxD,EAAKp7B,GAAK,KAAM,CACrC,GAAImoE,GAAU/7C,GAAIgP,EAClB,IAAGA,EAAKp7B,GAAK,KAAOo7B,EAAKrJ,GAAK/kB,GAAYouB,EAAKrJ,IAAMr1B,EAAEmiC,UAAW,CACjEspC,EAAQpoE,EAAI8pB,GAAQuR,EAAKr7B,EAAIooE,GAAQnoE,QAAWmoE,GAAQpoE,GAAK,SAAW,IAAM,IAE/E,GAAGzH,EAAE,UAAY,KAAM,CACtB,IAAIA,EAAE,SAASga,GAAIha,EAAE,SAASga,KAC9Bha,GAAE,SAASga,GAAGnZ,GAAKgvE,MACb7vE,GAAE0vE,EAAKhsC,GAAW1pB,IAAM61D,IAE9B71D,IAAKuF,CACP,OAAMhO,KAAQ,GAAKgO,GAAO,EAAG,CAC5B,GAAGhE,EAAQ,GAAM,OAAOA,EAAQ,IAC/B,IAAK,GAAGunB,GAASp7B,EAAG,IAAKD,EAAIq7B,EAAKr7B,EAAImoE,EAAS,MAAU,OACzD,IAAK,GAAG9sC,GAASp7B,EAAG,IAAKD,EAAIq7B,EAAKr7B,EAAImoE,EAAS,MAAU,IAAG9sC,EAAKr7B,EAAI,MAAQq7B,EAAKr7B,GAAK,KAAS,OAChG,IAAK,GAAGq7B,GAASp7B,EAAG,IAAKD,EAAGswC,EAAInnC,EAAQA,EAAOg/D,IAAW,GAAM,OAChE,QAAS,KAAM,yCAA2Cr0D,EAAQ,SAC5D,QAAOA,EAAQ,IACrB,IAAK,GAAGunB,GAASp7B,EAAG,IAAO,OAC3B,IAAK,GAAGo7B,GAASp7B,EAAG,IAAKD,EAAG0S,EAAEU,WAAW,GAAM,OAC/C,IAAK,GAAGioB,GAASp7B,EAAG,IAAKD,EAAGswC,EAAInnC,EAAOuJ,EAAEU,WAAW,GAAK,GAAM,OAC/D,QAAS,KAAM,0CAA4CU,EAAQ,KAEpE,GAAGo0D,IAAW,GACd,MAAMvrE,EAAEkiC,YAAcxD,EAAKp7B,GAAK,KAAM,CACrC,GAAG1H,EAAE,UAAY,KAAM,CACtB,IAAIA,EAAE,SAASga,GAAIha,EAAE,SAASga,KAC9Bha,GAAE,SAASga,GAAGnZ,GAAKiiC,MACb9iC,GAAE0vE,EAAKhsC,GAAW1pB,IAAM8oB,IAE9B9oB,IAAKuF,IAGR,MAEF,IAAK,MAAQ,CACZ1e,EAAIsZ,EAAEU,WAAW,EACjBb,GAAIG,EAAEU,WAAW,EACjB,IAAI3H,GAAMo8D,EAAcn1D,EAExB,IAAGna,EAAE,UAAY,KAAM,CACtB,IAAIA,EAAE,SAASga,GAAIha,EAAE,SAASga,KAC9Bha,GAAE,SAASga,GAAGnZ,IAAO6G,EAAE,IAAKD,EAAEyL,OACxBlT,GAAEyjC,GAAW5iC,GAAK6iC,GAAW1pB,KAAQtS,EAAE,IAAKD,EAAEyL,GACpD,MAEF,QAAS,OAEV5Y,EAAE0H,GAAKtH,EAER,MAAO+/C,GAGR,OACC6sB,aAAcA,EACdQ,YAAaA,EACb1M,YAAa8K,KAIf,SAAS4J,IAAUC,GAClB,GAAIplC,MAAWv8B,EAAI2hE,EAAIzuE,MAAM63B,IAAW1+B,EAAI,CAC5C,IAAIu1E,GAAO,KACX,IAAG5hE,EAAG,KAAK3T,GAAG2T,EAAE1T,SAAUD,EAAG,CAC5B,GAAIsU,GAAIuqB,GAAYlrB,EAAE3T,GACtB,QAAOsU,EAAE,GAAGrJ,QAAQ,SAAS,MAG5B,IAAK,YAAa,MAGlB,IAAK,UAAW,MAGhB,IAAK,UACJ,IAAIqJ,EAAE+B,IAAK,MAEZ,IAAK,YACL,IAAK,YAAa65B,EAAKK,OAAS,CAAG,OACnC,IAAK,YAAa,MAGlB,IAAK,WACJ,GAAGj8B,EAAE+B,KAAO,IAAK,KACjB65B,GAAKzsC,GAAKwE,EAAM8P,SAASzD,EAAE+B,IAAK,IAChC,OAGD,IAAK,WACJ,IAAI/B,EAAE+B,IAAK,MAEZ,IAAK,aACL,IAAK,aAAc65B,EAAKI,QAAU,CAAG,OACrC,IAAK,aAAc,MAGnB,IAAK,SAAUJ,EAAK9sB,KAAO9O,EAAE+B,GAAK,OAGlC,IAAK,MAAO65B,EAAKnvB,GAAKzM,EAAE+B,GAAK,OAG7B,IAAK,UACJ,IAAI/B,EAAE+B,IAAK,MAEZ,IAAK,YACL,IAAK,YAAa65B,EAAKG,OAAS,CAAG,OACnC,IAAK,YAAa,MAGlB,IAAK,KACJ,IAAI/7B,EAAE+B,IAAK,KACX,QAAO/B,EAAE+B,KACR,IAAK,SAAU65B,EAAKslC,KAAO,QAAU,OACrC,IAAK,mBAAoBtlC,EAAKslC,KAAO,mBAAqB,OAC1D,IAAK,mBAAoBtlC,EAAKslC,KAAO,mBAAqB,SAG5D,IAAK,OACL,IAAK,OAAQtlC,EAAK77B,EAAI,CAAG,OACzB,IAAK,OAAQ,MAGb,IAAK,KACJ,GAAGC,EAAE+B,KAAO,IAAK,MAElB,IAAK,OACL,IAAK,OAAQ65B,EAAKplB,EAAI,CAAG,OACzB,IAAK,OAAQ,MAGb,IAAK,KACJ,GAAGxW,EAAE+B,KAAO,IAAK,MAElB,IAAK,OACL,IAAK,OAAQ65B,EAAKlwC,EAAI,CAAG,OACzB,IAAK,OAAQ,MAGb,IAAK,SACJ,GAAGsU,EAAE66B,IAAKe,EAAKtqB,MAAQtR,EAAE66B,IAAInrC,MAAM,EAAE,EACrC,OACD,IAAK,WAAW,IAAK,YAAY,IAAK,WAAY,MAGlD,IAAK,UAAWksC,EAAKulC,OAASnhE,EAAE+B,GAAK,OACrC,IAAK,YAAY,IAAK,aAAa,IAAK,YAAa,MAGrD,IAAK,aAAc65B,EAAKwlC,OAASphE,EAAE+B,GAAK,OACxC,IAAK,eAAe,IAAK,gBAAgB,IAAK,eAAgB,MAG9D,IAAK,UAAW,MAChB,IAAK,YAAY,IAAK,aAAa,IAAK,YAAa,MAGrD,IAAK,WAAW,IAAK,YAAY,IAAK,YAAa,MACnD,IAAK,OAAQk/D,EAAO,IAAM,OAC1B,IAAK,SAAUA,EAAO,KAAO,OAC7B,QACC,GAAGjhE,EAAE,GAAGpU,WAAW,KAAO,KAAOq1E,EAAM,KAAM,IAAIz0E,OAAM,4BAA8BwT,EAAE,MAG1F,MAAO47B,GAGR,GAAIylC,IAAW,WAEd,QAASC,GAAQj+D,GAEhB,GAAI1K,GAAIuvB,GAAiB7kB,EAAG,IAC5B,KAAI1K,EAAG,OAAQA,EAAE,IAAKD,EAAE,GAExB,IAAIrD,IAAMsD,EAAE,IAAKD,EAAE4yB,GAAY3yB,EAAE,IACjC,IAAIqoE,GAAM94C,GAAiB7kB,EAAG,MAC9B,IAAG29D,EAAK3rE,EAAEpE,EAAI8vE,GAAUC,EAAI,GAC5B,OAAO3rE,GAER,GAAIksE,GAAS,gBAAiBC,EAAO,gBACrC,OAAO,SAASH,GAASI,GACxB,MAAOA,GAAG9qE,QAAQ4qE,EAAO,IAAIt1E,MAAMu1E,GAAM5wE,IAAI0wE,GAASI,OAAO,SAASr+D,GAAK,MAAOA,GAAE3K,OAMtF,IAAIipE,IAAa,QAAUC,MAC1B,GAAIC,GAAU,YACd,SAASC,GAAWlmC,EAAMmmC,EAAOC,GAChC,GAAIp6B,KAEJ,IAAGhM,EAAK77B,EAAG6nC,EAAM10C,KAAK,8BACtB,IAAG0oC,EAAKslC,KAAMt5B,EAAM10C,KAAK,wBAA0B0oC,EAAKslC,KAAO,IAC/D,IAAGtlC,EAAKnvB,GAAIm7B,EAAM10C,KAAK,aAAe0oC,EAAKnvB,GAAK,MAChD,IAAGmvB,EAAKI,QAAS4L,EAAM10C,KAAK,wBAC5B,IAAG0oC,EAAKK,OAAQ2L,EAAM10C,KAAK,qBAC3B6uE,GAAM7uE,KAAK,gBAAkB00C,EAAMz1C,KAAK,IAAM,KAE9C,IAAGypC,EAAKplB,EAAG,CAAEurD,EAAM7uE,KAAK,MAAQ8uE,GAAM9uE,KAAK,QAC3C,GAAG0oC,EAAKlwC,EAAG,CAAEq2E,EAAM7uE,KAAK,MAAQ8uE,GAAM9uE,KAAK,QAC3C,GAAG0oC,EAAKG,OAAQ,CAAEgmC,EAAM7uE,KAAK,MAAQ8uE,GAAM9uE,KAAK,QAEhD,GAAI+uE,GAAQrmC,EAAKwlC,QAAU,EAC3B,IAAGa,GAAS,eAAiBA,GAAS,QAASA,EAAQ,UAClD,IAAGA,GAAS,YAAaA,EAAQ,KACtC,IAAGA,GAAS,GAAI,CAAEF,EAAM7uE,KAAK,IAAM+uE,EAAQ,IAAMD,GAAM9uE,KAAK,KAAO+uE,EAAQ,KAE3ED,EAAM9uE,KAAK,UACX,OAAO0oC,GAIR,QAASsmC,GAAU7+D,GAClB,GAAI8+D,OAAY9+D,EAAE3K,KAClB,KAAI2K,EAAE3K,EAAG,MAAO,EAEhB,IAAG2K,EAAEpS,EAAG6wE,EAAWz+D,EAAEpS,EAAGkxE,EAAM,GAAIA,EAAM,GAExC,OAAOA,GAAM,GAAGhwE,KAAK,IAAMgwE,EAAM,GAAGxrE,QAAQkrE,EAAQ,SAAWM,EAAM,GAAGhwE,KAAK,IAG9E,MAAO,SAASkvE,GAASI,GACxB,MAAOA,GAAG7wE,IAAIsxE,GAAW/vE,KAAK,OAKhC,IAAIiwE,IAAW,6CAA8CC,GAAW,sBACxE,SAASC,IAAS30E,EAAG6R,GACpB,GAAIwvB,GAAOxvB,EAAOA,EAAK+iE,SAAW,IAClC,IAAI73C,KACJ,KAAI/8B,EAAG,OAASgL,EAAG,GAInB,IAAGhL,EAAE4E,MAAM,yBAA0B,CACpCm4B,EAAE/xB,EAAI2yB,GAAYuB,GAASl/B,EAAE+B,MAAM/B,EAAEsE,QAAQ,KAAK,GAAGhG,MAAM,kBAAkB,IAAI,IAAK,KACtFy+B,GAAErnB,EAAIwpB,GAASl/B,EACf,IAAGqhC,EAAMtE,EAAE9T,EAAIoV,GAAWtB,EAAE/xB,OAGxB,IAAYhL,EAAE4E,MAAM8vE,IAAY,CACpC33C,EAAErnB,EAAIwpB,GAASl/B,EACf+8B,GAAE/xB,EAAI2yB,GAAYuB,IAAUvE,GAAoB36B,EAAG,OAAO4E,MAAM6vE,SAAejwE,KAAK,IAAIwE,QAAQyzB,GAAS,KAAM,KAC/G,IAAG4E,EAAMtE,EAAE9T,EAAI+qD,GAAWN,GAAS32C,EAAErnB,IAItC,MAAOqnB,GAIR,GAAI83C,IAAQ,4BACZ,IAAIC,IAAQ,6BACZ,SAASC,IAAcrzE,EAAMmQ,GAC5B,GAAIvO,MAAUgR,EAAK,EACnB,KAAI5S,EAAM,MAAO4B,EAEjB,IAAI02C,GAAMzf,GAAiB74B,EAAM,MACjC,IAAGs4C,EAAK,CACP1lC,EAAK0lC,EAAI,GAAGhxC,QAAQ6rE,GAAM,IAAIv2E,MAAMw2E,GACpC,KAAI,GAAI/2E,GAAI,EAAGA,GAAKuW,EAAGtW,SAAUD,EAAG,CACnC,GAAI2J,GAAIitE,GAASrgE,EAAGvW,GAAGkyB,OAAQpe,EAC/B,IAAGnK,GAAK,KAAMpE,EAAEA,EAAEtF,QAAU0J,EAE7BsyC,EAAMpd,GAAYod,EAAI,GAAGj4C,MAAM,EAAGi4C,EAAI,GAAG11C,QAAQ,MAAQhB,GAAEspD,MAAQ5S,EAAIg7B,KAAO1xE,GAAEupD,OAAS7S,EAAIi7B,YAE9F,MAAO3xE,GAGR,GAAI4xE,IAAe,kBACnB,SAASC,IAAcn7B,EAAKnoC,GAC3B,IAAIA,EAAKujE,QAAS,MAAO,EACzB,IAAI1tE,IAAK20B,GACT30B,GAAEA,EAAE1J,QAAW8hC,GAAU,MAAO,MAC/B2Z,MAAOtY,GAAW,GAClB6zC,MAAOh7B,EAAI4S,MACXqoB,YAAaj7B,EAAI6S,QAElB,KAAI,GAAI9uD,GAAI,EAAGA,GAAKi8C,EAAIh8C,SAAUD,EAAG,CAAE,GAAGi8C,EAAIj8C,IAAM,KAAM,QACzD,IAAIuF,GAAI02C,EAAIj8C,EACZ,IAAIs3E,GAAQ,MACZ,IAAG/xE,EAAEoS,EAAG2/D,GAAS/xE,EAAEoS,MACd,CACJ2/D,GAAS,IACT,KAAI/xE,EAAE0H,EAAG1H,EAAE0H,EAAI,EACf,UAAU1H,GAAE0H,IAAM,SAAU1H,EAAE0H,EAAI/K,OAAOqD,EAAE0H,EAC3C,IAAG1H,EAAE0H,EAAEpG,MAAMswE,IAAeG,GAAS,uBACrCA,IAAS,IAAMn3C,GAAU56B,EAAE0H,GAAK,OAEjCqqE,GAAS,OACT3tE,GAAEA,EAAE1J,QAAU,EAEf,GAAG0J,EAAE1J,OAAO,EAAE,CAAE0J,EAAEA,EAAE1J,QAAU,QAAY0J,GAAE,GAAGA,EAAE,GAAGsB,QAAQ,KAAK,KACjE,MAAOtB,GAAElD,KAAK,IAGf,QAAS8wE,IAAkB5zE,GAC1B,OAAQA,EAAKyc,WAAW,GAAIzc,EAAKyc,WAAW,IAI7C,QAASo3D,IAAc7zE,EAAMmQ,GAC5B,GAAIvO,KACJ,IAAIgwE,GAAO,KACXzuC,IAAanjC,EAAM,QAAS8zE,GAAWphE,EAAKkJ,EAAG2nB,GAC9C,OAAOA,GACN,IAAK,KACJ3hC,EAAEspD,MAAQx4C,EAAI,EAAI9Q,GAAEupD,OAASz4C,EAAI,EAAI,OACtC,IAAK,IACJ9Q,EAAEiC,KAAK6O,EAAM,OACd,IAAK,KACJ,MAAO,MAER,IAAK,IACJk/D,EAAO,IAAM,OACd,IAAK,IACJA,EAAO,KAAO,OAEf,QACC,GAAGh2D,EAAEnL,EAAE,EACP,IAAImhE,GAAQzhE,EAAK6tB,IAAK,KAAM,IAAI7gC,OAAM,uBAAyBomC,EAAGjjC,SAAS,QAG9E,OAAOsB,GAGR,QAASmyE,IAAkBz7B,EAAKtyC,GAC/B,IAAIA,EAAGA,EAAIkb,GAAQ,EACnBlb,GAAEsW,YAAY,EAAGg8B,EAAI4S,MACrBllD,GAAEsW,YAAY,EAAGg8B,EAAI6S,OACrB,OAAOnlD,GAGR,GAAIguE,IAAmB5qC,EAEvB,SAAS6qC,IAAc37B,GACtB,GAAI9T,GAAKf,IACTc,IAAaC,EAAI,IAA0BuvC,GAAkBz7B,GAC7D,KAAI,GAAIj8C,GAAI,EAAGA,EAAIi8C,EAAIh8C,SAAUD,EAAGkoC,GAAaC,EAAI,GAAyBwvC,GAAiB17B,EAAIj8C,IAEnGkoC,IAAaC,EAAI,IACjB,OAAOA,GAAG3W,MAEX,QAASqmD,IAASp/D,GACjB,SAAU1Q,KAAa,YAAa,MAAOA,GAASL,MAAMvB,OAAO2B,EAAc2Q,EAC/E,IAAI9O,MAAQu8B,EAAKztB,EAAIlY,MAAM,GAC3B,KAAI,GAAIP,GAAI,EAAGA,EAAIkmC,EAAGjmC,SAAUD,EAAG2J,EAAE3J,GAAKkmC,EAAGlmC,GAAGE,WAAW,EAC3D,OAAOyJ,GAIR,QAASmuE,IAAoBl3D,EAAM3gB,GAClC,GAAI0J,KACJA,GAAEouE,MAAQn3D,EAAKR,WAAW,EAC1BzW,GAAEquE,MAAQp3D,EAAKR,WAAW,EAC3B,IAAGngB,GAAU,EAAG2gB,EAAKrZ,GAAKtH,EAAS,CAClC,OAAO0J,GAIR,QAASsuE,IAA2Br3D,GACnC,GAAIjX,KACJA,GAAEsjD,GAAKrsC,EAAKR,WAAW,EAAG,OAC1BzW,GAAE4V,EAAIu4D,GAAoBl3D,EAAM,EAChCjX,GAAEuuE,EAAIJ,GAAoBl3D,EAAM,EAChCjX,GAAEk4C,EAAIi2B,GAAoBl3D,EAAM,EAChC,OAAOjX,GAIR,QAASwuE,IAAwBv3D,GAChC,GAAIvd,GAAMud,EAAKR,WAAW,EAC1B,IAAIoR,GAAM5Q,EAAKrZ,EAAIlE,EAAM,CACzB,IAAIsG,KACJ,IAAImb,GAAMlE,EAAKR,WAAW,EAC1B,IAAIg4D,KAEJ,OAAMtzD,KAAQ,EAAGszD,EAAM5wE,MAAOyF,EAAG2T,EAAKR,WAAW,GAAIpT,EAAG4T,EAAKR,WAAW,EAAG,SAC3EzW,GAAEyZ,KAAOxC,EAAKR,WAAW,EAAG,OAC5BzW,GAAEyuE,MAAQA,CACV,IAAGx3D,EAAKrZ,GAAKiqB,EAAK,KAAM,IAAI1wB,OAAM,0BAA4B8f,EAAKrZ,EAAI,OAASiqB,EAChF,OAAO7nB,GAIR,QAAS0uE,IAAmBz3D,GAC3B,GAAIjX,KACJiX,GAAKrZ,GAAK,CACV,IAAIud,GAAMlE,EAAKR,WAAW,EAC1B,OAAM0E,KAAQ,EAAGnb,EAAEnC,KAAK2wE,GAAwBv3D,GAChD,OAAOjX,GAIR,QAAS2uE,IAA0B13D,GAClC,GAAIjX,KACJiX,GAAKrZ,GAAK,CACV,IAAIud,GAAMlE,EAAKR,WAAW,EAC1B,OAAM0E,KAAQ,EAAGnb,EAAEnC,KAAKoZ,EAAKR,WAAW,EAAG,QAC3C,OAAOzW,GAIR,QAAS4uE,IAA0B33D,GAClC,GAAIjX,KACUiX,GAAKR,WAAW,EAC9BQ,GAAKrZ,GAAK,CACVoC,GAAEsjD,GAAKrsC,EAAKR,WAAW,EAAG,OAC1BzW,GAAEyZ,KAAOxC,EAAKR,WAAW,EAAG,OAC5BzW,GAAE4V,EAAIu4D,GAAoBl3D,EAAM,EAChCjX,GAAEuuE,EAAIJ,GAAoBl3D,EAAM,EAChCjX,GAAEk4C,EAAIi2B,GAAoBl3D,EAAM,EAChC,OAAOjX,GAGR,QAAS6uE,IAAc53D,GAEtB,GAAIimC,GAAM0xB,GAA0B33D,EAEpCimC,GAAI4xB,MAAQ73D,EAAKR,WAAW,EAAG,QAC/BymC,GAAIxf,MAAQzmB,EAAKR,WAAW,EAC5BymC,GAAI6xB,MAAQ93D,EAAKR,WAAW,EAC5B,IAAGQ,EAAKR,WAAW,IAAM,EAAM,KAAM,IAAItf,OAAM,sBAC/C,OAAO+lD,GAIR,QAAS8xB,IAAuB/3D,EAAM3gB,GACrC,GAAI+gB,GAAMJ,EAAKrZ,EAAItH,CACnB,IAAI0J,KACJA,GAAEgnD,MAAS/vC,EAAKR,WAAW,GAAK,EAChCQ,GAAKrZ,GAAK,CACVoC,GAAEivE,MAAQh4D,EAAKR,WAAW,EAC1B,IAAIy4D,GAAQ,KACZ,QAAOlvE,EAAEivE,OACR,IAAK,QAAQ,IAAK,QAAQ,IAAK,OAAQC,EAASlvE,EAAEgnD,OAAS,EAAO,OAClE,IAAK,OAAQkoB,EAASlvE,EAAEgnD,OAAS,CAAO,OACxC,IAAK,GAAGkoB,EAASlvE,EAAEgnD,OAAS,IAAQhnD,EAAEgnD,OAAS,GAAQhnD,EAAEgnD,OAAS,EAAO,OACzE,QAAS,KAAM,sCAAwChnD,EAAEivE,OAE1D,IAAIC,EAAO,KAAM,IAAI/3E,OAAM,kCAC3B6I,GAAEmvE,UAAYl4D,EAAKR,WAAW,EAC9BzW,GAAEovE,QAAUn4D,EAAKR,WAAW,EAC5BzW,GAAEqvE,aAAep4D,EAAKR,WAAW,EACjCQ,GAAKrZ,GAAK,CACVoC,GAAEsvE,QAAUr4D,EAAKR,WAAYY,EAAIJ,EAAKrZ,GAAI,EAAG,UAC7CqZ,GAAKrZ,EAAIyZ,CACT,OAAOrX,GAIR,QAASuvE,IAAyBt4D,EAAM3gB,GACvC,GAAI0J,MAAQqX,EAAMJ,EAAKrZ,EAAItH,CAC3B2gB,GAAKrZ,GAAK,CACVoC,GAAEwvE,KAAOv4D,EAAK5c,MAAM4c,EAAKrZ,EAAGqZ,EAAKrZ,EAAE,GAAKqZ,GAAKrZ,GAAK,EAClDoC,GAAEyvE,SAAWx4D,EAAK5c,MAAM4c,EAAKrZ,EAAGqZ,EAAKrZ,EAAE,GAAKqZ,GAAKrZ,GAAK,EACzCqZ,GAAKR,WAAW,EAC7BzW,GAAE0vE,aAAez4D,EAAK5c,MAAM4c,EAAKrZ,EAAGyZ,EAAMJ,GAAKrZ,EAAIyZ,CACnD,OAAOrX,GAIR,QAAS2vE,IAAqB14D,GAC7B,GAAIwrD,GAAO0L,GAAoBl3D,EAC/B,QAAOwrD,EAAK4L,OACX,IAAK,GAAM,OAAQ5L,EAAK4L,MAAOuB,GAAiB34D,EAAMwrD,IACtD,IAAK,GAAM,OAAQA,EAAK4L,MAAOwB,GAAiB54D,EAAMwrD,IACtD,IAAK,GAAM,OAAQA,EAAK4L,MAAOyB,GAAiB74D,EAAMwrD,KAEvD,KAAM,IAAItrE,OAAM,iDAAmDsrE,EAAK4L,OAIzE,QAASuB,IAAiB34D,GACzB,GAAIE,GAAQF,EAAKR,WAAW,EAC5B,KAAIU,EAAQ,KAAS,GAAM,KAAM,IAAIhgB,OAAM,0BAC3C,IAAIigB,GAAKH,EAAKR,WAAW,EAEzB,IAAIymC,GAAM8xB,GAAuB/3D,EAAMG,EACvC,IAAI24D,GAAWR,GAAyBt4D,EAAMA,EAAK3gB,OAAS2gB,EAAKrZ,EACjE,QAAS0F,EAAE,MAAOie,EAAE27B,EAAK75C,EAAE0sE,GAG5B,QAASF,MAAqB,KAAM,IAAI14E,OAAM,mDAE9C,QAAS24E,IAAiB74D,GACzB,GAAI+4D,IAAW,WAAW,YAAY,UAAU,WAAW,kBAAkB,iBAAiB,gBAAgB,YAC9G/4D,GAAKrZ,GAAG,CACR,IAAIkpB,GAAM7P,EAAKR,WAAWQ,EAAK3gB,OAAS2gB,EAAKrZ,EAAG,OAChD,IAAIoC,KACJ8mB,GAAIxlB,QAAQyzB,GAAU,QAASk7C,GAAU33E,GACxC,GAAIqS,GAAIuqB,GAAY58B,EACpB,QAAOm9B,GAAS9qB,EAAE,KACjB,IAAK,QAAS,MACd,IAAK,eAAe,IAAK,gBAAiB,MAC1C,IAAK,WAAYqlE,EAAQh0E,QAAQ,SAASd,GAAK8E,EAAE9E,GAAKyP,EAAEzP,IAAQ,OAChE,IAAK,iBAAkB8E,EAAEkwE,iBAAmBvlE,EAAEulE,gBAAkBlwE,GAAEmwE,mBAAqBxlE,EAAEwlE,kBAAoB,OAC7G,IAAK,mBAAmB,IAAK,iBAAkBnwE,EAAEowE,OAAW,OAC5D,IAAK,mBAAoB,MAEzB,IAAK,gBAAiBpwE,EAAEqwE,IAAM1lE,EAAE0lE,GAAK,OACrC,IAAK,kBAAmB,MACxB,IAAK,gBAAiBrwE,EAAEowE,KAAKvyE,KAAK8M,EAAI,OACtC,QAAS,KAAMA,GAAE,MAGnB,OAAO3K,GAIR,QAASswE,IAAsBr5D,EAAM3gB,GACpC,GAAI0J,KACJ,IAAIyiE,GAAOziE,EAAEuwE,sBAAwBpC,GAAoBl3D,EAAM,EAAI3gB,IAAU,CAC7E,IAAGmsE,EAAK4L,OAAS,EAAG,KAAM,IAAIl3E,OAAM,oCAAsCsrE,EAAK4L,MAC/E,IAAG5L,EAAK2L,MAAQ,GAAK3L,EAAK2L,MAAQ,EAAG,KAAM,IAAIj3E,OAAM,oCAAsCsrE,EAAK2L,MAChGpuE,GAAEgnD,MAAQ/vC,EAAKR,WAAW,EAAIngB,IAAU,CACxC,IAAI8gB,GAAKH,EAAKR,WAAW,EAAIngB,IAAU,CACvC0J,GAAEwwE,iBAAmBxB,GAAuB/3D,EAAMG,EAAK9gB,IAAU8gB,CACjEpX,GAAEywE,mBAAqBlB,GAAyBt4D,EAAM3gB,EACtD,OAAO0J,GAGR,QAAS0wE,IAAgBz5D,GACxB,GAAIjX,KACJ,IAAIyiE,GAAOziE,EAAEuwE,sBAAwBpC,GAAoBl3D,EAAM,EAC/D,IAAGwrD,EAAK2L,OAAS,GAAK3L,EAAK4L,OAAS,EAAG,KAAM,6BAA+B5L,EAAK2L,MAAQ,MAAQ3L,EAAK4L,KACtGruE,GAAEwvE,KAAOv4D,EAAKR,WAAW,GACzBzW,GAAE2wE,kBAAoB15D,EAAKR,WAAW,GACtCzW,GAAE4wE,sBAAwB35D,EAAKR,WAAW,GAC1C,OAAOzW,GAIR,QAAS6wE,IAAsCC,GAC9C,GAAIrB,GAAW,EAAQsB,CACvB,IAAIC,GAAkB9C,GAAS4C,EAC/B,IAAIp3E,GAAMs3E,EAAgB16E,OAAS,EAAGD,EAAG46E,CACzC,IAAIC,GAAeC,EAAeC,CAClCL,GAAgBrvE,EAAYhI,EAC5Bq3E,GAAc,GAAKC,EAAgB16E,MACnC,KAAID,EAAI,EAAGA,GAAKqD,IAAOrD,EAAG06E,EAAc16E,GAAK26E,EAAgB36E,EAAE,EAC/D,KAAIA,EAAIqD,EAAI,EAAGrD,GAAK,IAAKA,EAAG,CAC3B46E,EAAeF,EAAc16E,EAC7B66E,IAAkBzB,EAAW,SAAY,EAAU,EAAI,CACvD0B,GAAiB1B,GAAY,EAAK,KAClC2B,GAAgBF,EAAgBC,CAChC1B,GAAW2B,EAAgBH,EAE5B,MAAOxB,GAAW,MAInB,GAAI4B,IAAgC,WACnC,GAAIC,IAAY,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,EAAM,IAAM,GAAM,EAAM,IAAM,GAAM,EACpG,IAAIC,IAAe,MAAQ,KAAQ,MAAQ,MAAQ,KAAQ,KAAQ,MAAQ,MAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACnI,IAAIC,IAAa,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,IAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,IAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,IAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,KAAQ,KAAQ,MACj1B,IAAIC,GAAM,SAASC,GAAQ,OAASA,EAAK,EAAMA,EAAK,KAAQ,IAC5D,IAAIC,GAAS,SAASC,EAAOC,GAAS,MAAOJ,GAAIG,EAAQC,GACzD,IAAIC,GAAuB,SAAShB,GACnC,GAAIiB,GAASR,EAAYT,EAASx6E,OAAS,EAC3C,IAAI07E,GAAiB,GACrB,KAAI,GAAI37E,GAAIy6E,EAASx6E,OAAO,EAAGD,GAAK,IAAKA,EAAG,CAC3C,GAAI47E,GAAOnB,EAASz6E,EACpB,KAAI,GAAIM,GAAI,EAAGA,GAAK,IAAKA,EAAG,CAC3B,GAAGs7E,EAAO,GAAMF,GAAUP,EAAUQ,EACpCC,IAAQ,IAAKD,GAGf,MAAOD,GAER,OAAO,UAASG,GACf,GAAIpB,GAAW5C,GAASgE,EACxB,IAAIH,GAASD,EAAqBhB,EAClC,IAAIqB,GAAQrB,EAASx6E,MACrB,IAAI87E,GAAmB1wE,EAAY,GACnC,KAAI,GAAIrL,GAAI,EAAGA,GAAK,KAAMA,EAAG+7E,EAAiB/7E,GAAK,CACnD,IAAIg8E,GAAMC,EAAkBC,CAC5B,KAAIJ,EAAQ,KAAO,EAAG,CACrBE,EAAON,GAAU,CACjBK,GAAiBD,GAASR,EAAOL,EAAS,GAAIe,KAC5CF,CACFE,GAAON,EAAS,GAChBO,GAAmBxB,EAASA,EAASx6E,OAAS,EAC9C87E,GAAiBD,GAASR,EAAOW,EAAkBD,GAEpD,MAAMF,EAAQ,EAAG,GACdA,CACFE,GAAON,GAAU,CACjBK,GAAiBD,GAASR,EAAOb,EAASqB,GAAQE,KAChDF,CACFE,GAAON,EAAS,GAChBK,GAAiBD,GAASR,EAAOb,EAASqB,GAAQE,GAEnDF,EAAQ,EACRI,GAAW,GAAKzB,EAASx6E,MACzB,OAAMi8E,EAAW,EAAG,CACnBF,EAAON,GAAU,CACjBK,GAAiBD,GAASR,EAAOL,EAASiB,GAAWF,KACnDF,IACAI,CACFF,GAAON,EAAS,GAChBK,GAAiBD,GAASR,EAAOb,EAASqB,GAAQE,KAChDF,IACAI,EAEH,MAAOH,MAKT,IAAII,IAA6B,SAASN,EAAUO,EAAMC,EAAeC,EAAUziB,GAElF,IAAIA,EAAGA,EAAIuiB,CACX,KAAIE,EAAUA,EAAWtB,GAA8Ba,EACvD,IAAIC,GAAOS,CACX,KAAIT,EAAQ,EAAGA,GAASM,EAAKn8E,SAAU67E,EAAO,CAC7CS,EAAQH,EAAKN,EACbS,IAASD,EAASD,EAClBE,IAAUA,GAAO,EAAMA,GAAO,GAAM,GACpC1iB,GAAEiiB,GAASS,IACTF,EAEH,OAAQxiB,EAAGwiB,EAAeC,GAG3B,IAAIE,IAA0B,SAASX,GACtC,GAAIQ,GAAgB,EAAGC,EAAWtB,GAA8Ba,EAChE,OAAO,UAASO,GACf,GAAIviB,GAAIsiB,GAA2B,GAAIC,EAAMC,EAAeC,EAC5DD,GAAgBxiB,EAAE,EAClB,OAAOA,GAAE,IAKX,SAAS4iB,IAAqB77D,EAAM3gB,EAAQ6T,EAAMjQ,GACjD,GAAI8F,IAAOusB,IAAKsyB,GAAY5nC,GAAO87D,kBAAmBl0B,GAAY5nC,GAClE,IAAG9M,EAAK+nE,SAAUlyE,EAAE+vE,SAAWc,GAAsC1mE,EAAK+nE,SAC1Eh4E,GAAIg1E,MAAQlvE,EAAE+yE,oBAAsB/yE,EAAE+vE,QACtC,IAAG71E,EAAIg1E,MAAOh1E,EAAI84E,OAASH,GAAwB1oE,EAAK+nE,SACxD,OAAOlyE,GAIR,QAASizE,IAAqBh8D,EAAM3gB,EAAQimC,GAC3C,GAAIv8B,GAAIu8B,KAAUv8B,GAAEkzE,KAAOj8D,EAAKR,WAAW,EAAIQ,GAAKrZ,GAAK,CACzD,IAAGoC,EAAEkzE,OAAS,EAAGlzE,EAAEyyE,KAAO/B,GAAgBz5D,EAAM3gB,OAC3C0J,GAAEyyE,KAAOnC,GAAsBr5D,EAAM3gB,EAC1C,OAAO0J,GAER,QAASmzE,IAAel8D,EAAM3gB,EAAQ6T,GACrC,GAAInK,IAAO+0C,KAAM5qC,EAAK00B,MAAQ,EAAI5nB,EAAKR,WAAW,GAAK,EACvD,IAAGzW,EAAE+0C,KAAMk+B,GAAqBh8D,EAAM3gB,EAAO,EAAG0J,OAC3C8yE,IAAqB77D,EAAM9M,EAAK00B,MAAQ,EAAIvoC,EAASA,EAAS,EAAG6T,EAAMnK,EAC5E,OAAOA,GAIR,QAASozE,IAAal9E,EAAGiU,GACvB,OAAQA,EAAKqC,MACX,IAAK,SACH,MAAO6mE,IAAiBhyE,EAAcnL,GAAIiU,GAC5C,IAAK,SACH,MAAOkpE,IAAiBn9E,EAAGiU,GAC7B,IAAK,SACH,MAAOkpE,IAAiB36E,GAAWC,OAAOyB,SAASlE,GAAKA,EAAEoE,SAAS,UAAY4H,EAAIhM,GAAIiU,GACzF,IAAK,QACH,MAAOkpE,IAAiB1lD,GAAOz3B,GAAIiU,IAEvC,KAAM,IAAIhT,OAAM,qBAAuBgT,EAAKqC,MAE9C,QAAS6mE,IAAiBvkE,EAAK3E,GAC7B,GAAInK,GAAImK,KACR,IAAIo3B,KACJ,IAAIH,GAAQphC,EAAEohC,KACd,IAAIA,EACFG,EAAG,WACL,IAAIk9B,GAAO1sC,GAAajjB,EAAK,UAAW,QACxC,KAAK2vD,EACH,KAAM,IAAItnE,OAAM,oBAClB,IAAI4nC,IAAUnjC,GAAKjB,EAAG,EAAGqT,EAAG,GAAK5X,GAAKuE,EAAG,EAAGqT,EAAGywD,EAAKnoE,OAAS,GAC7D,IAAIkyB,KACJi2C,GAAKziE,QAAQ,SAASs3E,EAAO19D,GAC3B,GAAIwrB,EACF5Y,EAAM+Y,EAAG,SAAS3rB,KACpB,IAAI29D,GAAQ,cACZ,IAAIC,GAAa,CACjB,IAAItmD,EACJ,IAAIzwB,IAAK,CACT,IAAIme,KACJ,QAAQsS,EAAMqmD,EAAMxgD,KAAKugD,KAAW,KAAM,CACxC,GAAIt5E,GAAOs5E,EAAMj5E,MAAMm5E,EAAYD,EAAMlgE,UAAY6Z,EAAI,GAAG52B,OAC5D,IAAI0D,EAAKzD,WAAW,IAAM,GACxByD,EAAOA,EAAKK,MAAM,EACpB,IAAIL,EAAK1D,OACPskB,EAAQ/c,KAAK7D,EACf,QAAQkzB,EAAI,IACV,IAAK,WACDzwB,CACF,IAAIme,EAAQtkB,OAAQ,CAClB,GAAIooC,IAASr7B,EAAGuX,EAAQ9d,KAAK,IAAKwG,EAAG,IACrC,IAAIo7B,EAAKr7B,GAAK,QAAUq7B,EAAKr7B,GAAK,QAAS,CACzCq7B,EAAKr7B,EAAIq7B,EAAKr7B,GAAK,MACnBq7B,GAAKp7B,EAAI,QACJ,KAAKpC,MAAM2uB,GAAS6O,EAAKr7B,IAAK,CACnCq7B,EAAKp7B,EAAI,GACT,IAAItD,EAAEs9D,WAAa,MACjB5+B,EAAKvkC,EAAIukC,EAAKr7B,CAChBq7B,GAAKr7B,EAAIwsB,GAAS6O,EAAKr7B,OAClB,IAAI2mC,GAAMtL,EAAKr7B,IAAM,KAAM,CAChCq7B,EAAKp7B,EAAI,GACTo7B,GAAKvkC,EAAIukC,EAAKr7B,CACdq7B,GAAKr7B,EAAI2mC,GAAMtL,EAAKr7B,GAEtB,GAAI+9B,EACF5Y,EAAI/rB,GAAKiiC,MAET6C,GAAGtC,IAAcjxB,EAAG4H,EAAGjb,EAAG8B,KAAQiiC,EAEtC9jB,IACA,OACF,IAAK,QACHA,EAAQ/c,KAAK,KACb,QAEJ21E,EAAaD,EAAMlgE,UAErB,GAAI5W,EAAIsiC,EAAM3oC,EAAEuE,EACdokC,EAAM3oC,EAAEuE,EAAI8B,GAEhB8kC,GAAG,QAAUtB,GAAalB,EAC1B,OAAOwC,GAET,QAASkyC,IAAgBv9E,EAAGiU,GAC1B,GAAIksC,GAAKvV,GAAkBsyC,GAAal9E,EAAGiU,GAAOA,EAClDksC,GAAGvD,SAAW,KACd,OAAOuD,GAET,QAASq9B,IAAanyC,EAAIp3B,GACxB,GAAInK,IAAK,gBACT,KAAKuhC,EAAG,QACN,MAAOvhC,GAAE,GAAK,GAChB,IAAIgO,GAAIwyB,GAAkBe,EAAG,SAAU7C,CACvC,IAAI0C,GAAQG,EAAG,UAAY,KAAM/Y,IACjC,KAAK,GAAI5S,GAAI5H,EAAEpS,EAAEoS,EAAG4H,GAAK5H,EAAE5X,EAAE4X,IAAK4H,EAAG,CACnC5V,EAAEnC,KAAK,sBACP,KAAK,GAAIpB,GAAIuR,EAAEpS,EAAEjB,EAAG8B,GAAKuR,EAAE5X,EAAEuE,IAAK8B,EAChCuD,EAAEnC,KAAK,WAAapB,EAAI,GAC1BuD,GAAEnC,KAAK,gBACP,IAAIujC,EACF5Y,EAAM+Y,EAAG,SAAS3rB,MACpB,KAAKnZ,EAAIuR,EAAEpS,EAAEjB,EAAG8B,GAAKuR,EAAE5X,EAAEuE,IAAK8B,EAAG,CAC/B,GAAIsjE,GAAQ9gC,IAAcjxB,EAAG4H,EAAGjb,EAAG8B,GACnCiiC,GAAO0C,EAAQ5Y,EAAI/rB,GAAK8kC,EAAGw+B,EAC3B,KAAKrhC,GAAQA,EAAKr7B,GAAK,QAAUq7B,EAAK3jC,GAAK2jC,EAAK1hC,GAAI,CAClDgD,EAAEnC,KAAK,UACP,UAEFmC,EAAEnC,KAAK,KAAO6gC,EAAKvkC,IAAMymC,GAAYlC,GAAOA,EAAKvkC,IAAM,IAAImH,QAAQ,UAAW,UAC9EtB,GAAEnC,KAAK,UAETmC,EAAEnC,KAAK,sBAET,MAAOmC,GAAElD,KAAK,IAAM,IAEtB,QAAS62E,IAAQpyD,GAChB,GAAIvhB,GAAIuhB,EAAElnB,MAAMknB,EAAE,KAAK,IAAI,EAAE,GAAGlnB,MAAM,EAAE,EACxC,QAAQ+T,SAASpO,EAAE3F,MAAM,EAAE,GAAG,IAAI+T,SAASpO,EAAE3F,MAAM,EAAE,GAAG,IAAI+T,SAASpO,EAAE3F,MAAM,EAAE,GAAG,KAEnF,QAASorC,IAAQD,GAChB,IAAI,GAAInvC,GAAE,EAAE2J,EAAE,EAAG3J,GAAG,IAAKA,EAAG2J,EAAIA,EAAE,KAAOwlC,EAAInvC,GAAG,IAAI,IAAImvC,EAAInvC,GAAG,EAAE,EAAEmvC,EAAInvC,GACvE,OAAO2J,GAAE1F,SAAS,IAAI6R,cAAc9R,MAAM,GAG3C,QAASu5E,IAAQpuC,GAChB,GAAI5vB,GAAI4vB,EAAI,GAAG,IAAKquC,EAAIruC,EAAI,GAAG,IAAKp8B,EAAEo8B,EAAI,GAAG,GAC7C,IAAI9oC,GAAIiH,KAAKgM,IAAIiG,EAAGi+D,EAAGzqE,GAAIY,EAAIrG,KAAK+L,IAAIkG,EAAGi+D,EAAGzqE,GAAI3M,EAAIC,EAAIsN,CAC1D,IAAGvN,IAAM,EAAG,OAAQ,EAAG,EAAGmZ,EAE1B,IAAIk+D,GAAK,EAAGjpE,EAAI,EAAGkpE,EAAMr3E,EAAIsN,CAC7Ba,GAAIpO,GAAKs3E,EAAK,EAAI,EAAIA,EAAKA,EAC3B,QAAOr3E,GACN,IAAKkZ,GAAGk+D,IAAOD,EAAIzqE,GAAK3M,EAAI,GAAG,CAAG,OAClC,IAAKo3E,GAAGC,GAAO1qE,EAAIwM,GAAKnZ,EAAI,CAAI,OAChC,IAAK2M,GAAG0qE,GAAOl+D,EAAIi+D,GAAKp3E,EAAI,CAAI,QAEjC,OAAQq3E,EAAK,EAAGjpE,EAAGkpE,EAAK,GAGzB,QAASC,IAAQC,GAChB,GAAIrpE,GAAIqpE,EAAI,GAAIppE,EAAIopE,EAAI,GAAIlxE,EAAIkxE,EAAI,EACpC,IAAIx3E,GAAIoO,EAAI,GAAK9H,EAAI,GAAMA,EAAI,EAAIA,GAAIiH,EAAIjH,EAAItG,EAAE,CACjD,IAAI+oC,IAAOx7B,EAAEA,EAAEA,GAAIkqE,EAAK,EAAEtpE,CAE1B,IAAIupE,EACJ,IAAGtpE,IAAM,EAAG,OAAOqpE,EAAG,GACrB,IAAK,IAAG,IAAK,GAAGC,EAAI13E,EAAIy3E,CAAI1uC,GAAI,IAAM/oC,CAAG+oC,GAAI,IAAM2uC,CAAG,OACtD,IAAK,GAAGA,EAAI13E,GAAK,EAAIy3E,EAAO1uC,GAAI,IAAM2uC,CAAG3uC,GAAI,IAAM/oC,CAAG,OACtD,IAAK,GAAG03E,EAAI13E,GAAKy3E,EAAK,EAAM1uC,GAAI,IAAM/oC,CAAG+oC,GAAI,IAAM2uC,CAAG,OACtD,IAAK,GAAGA,EAAI13E,GAAK,EAAIy3E,EAAO1uC,GAAI,IAAM2uC,CAAG3uC,GAAI,IAAM/oC,CAAG,OACtD,IAAK,GAAG03E,EAAI13E,GAAKy3E,EAAK,EAAM1uC,GAAI,IAAM/oC,CAAG+oC,GAAI,IAAM2uC,CAAG,OACtD,IAAK,GAAGA,EAAI13E,GAAK,EAAIy3E,EAAO1uC,GAAI,IAAM2uC,CAAG3uC,GAAI,IAAM/oC,CAAG,QAEvD,IAAI,GAAIpG,GAAI,EAAGA,GAAK,IAAKA,EAAGmvC,EAAInvC,GAAKsN,KAAKC,MAAM4hC,EAAInvC,GAAG,IACvD,OAAOmvC,GAIR,QAAS4uC,IAASC,EAAK1uC,GACtB,GAAGA,IAAS,EAAG,MAAO0uC,EACtB,IAAIJ,GAAML,GAAQD,GAAQU,GAC1B,IAAI1uC,EAAO,EAAGsuC,EAAI,GAAKA,EAAI,IAAM,EAAItuC,OAChCsuC,GAAI,GAAK,GAAK,EAAIA,EAAI,KAAO,EAAItuC,EACtC,OAAOF,IAAQuuC,GAAQC,IAKxB,GAAIK,IAAU,EAAGC,GAAU,GAAIC,GAAU,EAAGC,GAAMH,EAClD,SAAShW,IAAS9e,GAAS,MAAO77C,MAAKiG,OAAQ41C,EAAS77C,KAAKC,MAAM,IAAI6wE,IAAM,KAAOA,IACpF,QAASlW,IAAQmW,GAAM,MAAQ/wE,MAAKiG,OAAO8qE,EAAK,GAAGD,GAAM,IAAM,IAAM,IACrE,QAASE,IAAWC,GAAO,MAAQjxE,MAAKC,OAAOgxE,EAAMH,GAAM,GAAGA,GAAI,KAAM,IAGxE,QAASI,IAAYC,GAAS,MAAOH,IAAWpW,GAAQD,GAASwW,KAEjE,QAASC,IAAcD,GACtB,GAAItJ,GAAQ7nE,KAAKmH,IAAIgqE,EAAQD,GAAYC,IAASE,EAAOP,EACzD,IAAGjJ,EAAQ,KAAO,IAAIiJ,GAAID,GAASC,GAAIF,KAAWE,GAAK,GAAG9wE,KAAKmH,IAAIgqE,EAAQD,GAAYC,KAAWtJ,EAAO,CAAEA,EAAQ7nE,KAAKmH,IAAIgqE,EAAQD,GAAYC,GAASE,GAAOP,GAChKA,GAAMO,EAcP,QAASpX,IAAYqX,GACpB,GAAGA,EAAKz1B,MAAO,CACdy1B,EAAK5W,IAAMC,GAAS2W,EAAKz1B,MACzBy1B,GAAKzf,IAAM+I,GAAQ0W,EAAK5W,IACxB4W,GAAKR,IAAMA,OACL,IAAGQ,EAAK5W,IAAK,CACnB4W,EAAKzf,IAAM+I,GAAQ0W,EAAK5W,IACxB4W,GAAKz1B,MAAQm1B,GAAWM,EAAKzf,IAC7Byf,GAAKR,IAAMA,OACL,UAAUQ,GAAKzf,KAAO,SAAU,CACtCyf,EAAKz1B,MAAQm1B,GAAWM,EAAKzf,IAC7Byf,GAAK5W,IAAMC,GAAS2W,EAAKz1B,MACzBy1B,GAAKR,IAAMA,GAEZ,GAAGQ,EAAKC,kBAAoBD,GAAKC,YAGlC,GAAIC,IAAU,GAAIC,GAAMD,EACxB,SAASzW,IAAMgW,GAAM,MAAOA,GAAK,GAAKU,GACtC,QAASzX,IAAM0X,GAAM,MAAOA,GAAKD,GAAM,GAGvC,GAAIE,KACHC,KAAQ,OACRC,MAAS,QACTC,OAAU,aACVC,OAAU,WACVC,OAAU,YACVC,WAAc,iBACdC,WAAc,eACdC,kBAAqB,WACrBC,WAAc,SACdC,UAAa,WACbC,eAAkB,cAClBC,eAAkB;AAClBC,eAAkB,gBAClBC,sBAAyB,YACzBC,cAAiB,YAIlB,SAASC,IAAchzE,EAAG2tC,EAAQQ,EAAQtnC,GACzC8mC,EAAOslC,UACP,IAAIC,KACJ,IAAI5K,GAAO,OACVtoE,EAAEpG,MAAM63B,SAAe/4B,QAAQ,SAAS1D,GACxC,GAAIqS,GAAIuqB,GAAY58B,EACpB,QAAOm9B,GAAS9qB,EAAE,KACjB,IAAK,YAAY,IAAK,aAAa,IAAK,aAAc,MAGtD,IAAK,WAAW,IAAK,YAAY,IAAK,YACrC6rE,IACA,IAAG7rE,EAAE8rE,WAAYD,EAAOC,WAAax/C,GAAatsB,EAAE8rE,WACpD,IAAG9rE,EAAE+rE,aAAcF,EAAOE,aAAez/C,GAAatsB,EAAE+rE,aACxDzlC,GAAOslC,QAAQ14E,KAAK24E,EACpB,OACD,IAAK,YAAa,MAGlB,IAAK,UAAW,MAChB,IAAK,SAAS,IAAK,SAAU,MAC7B,IAAK,UAAW,MAGhB,IAAK,WAAY,MACjB,IAAK,UAAU,IAAK,UAAW,MAC/B,IAAK,WAAY,MAGjB,IAAK,SAAU,MACf,IAAK,QAAQ,IAAK,QAAS,MAC3B,IAAK,SAAU,MAGf,IAAK,YAAa,MAClB,IAAK,WAAW,IAAK,WAAY,MACjC,IAAK,YAAa,MAGlB,IAAK,aAAa,IAAK,cAAc,IAAK,cAAe,MACzD,IAAK,cAAe,MAGpB,IAAK,eAAe,IAAK,gBAAgB,IAAK,gBAAiB,MAC/D,IAAK,gBAAiB,MAGtB,IAAK,aAAa,IAAK,cAAc,IAAK,cAAe,MACzD,IAAK,cAAe,MAGpB,IAAK,UAAU,IAAK,WAAW,IAAK,WAAY,MAChD,IAAK,WAAY,MAGjB,IAAK,QAAQ,IAAK,SAAS,IAAK,SAAU,MAC1C,IAAK,SAAU,MAGf,IAAK,UAAU,IAAK,UACnB,MACD,IAAK,YAAY,IAAK,WAAY,MAGlC,IAAK,WAAW,IAAK,YAAY,IAAK,YAAa,MACnD,IAAK,OAAQ5K,EAAO,IAAM,OAC1B,IAAK,SAAUA,EAAO,KAAO,OAC7B,QAAS,GAAGzhE,GAAQA,EAAK6tB,IAAK,CAC7B,IAAI4zC,EAAM,KAAM,IAAIz0E,OAAM,gBAAkBwT,EAAE,GAAK,oBAOvD,QAASgsE,IAAYrzE,EAAG2tC,EAAQQ,EAAQtnC,GACvC8mC,EAAO2lC,QACP,IAAIrzE,KACJ,IAAIqoE,GAAO,OACVtoE,EAAEpG,MAAM63B,SAAe/4B,QAAQ,SAAS1D,GACxC,GAAIqS,GAAIuqB,GAAY58B,EACpB,QAAOm9B,GAAS9qB,EAAE,KACjB,IAAK,UAAU,IAAK,WAAW,IAAK,WAAY,MAGhD,IAAK,UAAU,IAAK,SAAS,IAAK,UACjCpH,IAAW0tC,GAAO2lC,MAAM/4E,KAAK0F,EAAO,OACrC,IAAK,UAAW,MAGhB,IAAK,iBAAkB,MACvB,IAAK,iBACL,IAAK,kBAAmB0tC,EAAO2lC,MAAM/4E,KAAK0F,EAAOA,KAAW,OAG5D,IAAK,gBAAgB,IAAK,gBACzB,GAAGoH,EAAE2+C,YAAa/lD,EAAK+lD,YAAc3+C,EAAE2+C,WACvC,OACD,IAAK,kBAAkB,IAAK,iBAAkB,MAG9C,IAAK,WACJ,IAAI/lD,EAAKszE,QAAStzE,EAAKszE,UACvB,IAAGlsE,EAAEmsE,QAASvzE,EAAKszE,QAAQC,QAAU1oE,SAASzD,EAAEmsE,QAAS,GACzD,IAAGnsE,EAAE+6B,MAAOniC,EAAKszE,QAAQnxC,MAAQt3B,SAASzD,EAAE+6B,MAAO,GACnD,IAAG/6B,EAAEg7B,KAAMpiC,EAAKszE,QAAQlxC,KAAOj0B,WAAW/G,EAAEg7B,KAE5C,IAAGh7B,EAAE66B,IAAKjiC,EAAKszE,QAAQrxC,IAAM76B,EAAE66B,IAAInrC,OAAO,EAC1C,OACD,IAAK,cAAc,IAAK,aAAc,MAGtC,IAAK,WACJ,IAAIkJ,EAAKwzE,QAASxzE,EAAKwzE,UACvB,IAAGpsE,EAAE+6B,MAAOniC,EAAKwzE,QAAQrxC,MAAQt3B,SAASzD,EAAE+6B,MAAO,GACnD,IAAG/6B,EAAEg7B,KAAMpiC,EAAKwzE,QAAQpxC,KAAOj0B,WAAW/G,EAAEg7B,KAE5C,IAAGh7B,EAAE66B,KAAO,KAAMjiC,EAAKwzE,QAAQvxC,IAAM76B,EAAE66B,IAAInrC,OAAO,EAClD,OACD,IAAK,cAAc,IAAK,aAAc,MAGtC,IAAK,SAAS,IAAK,UAAW,MAC9B,IAAK,UAAW,MAGhB,IAAK,UAAU,IAAK,WAAY,MAChC,IAAK,WAAY,MAGjB,IAAK,WAAW,IAAK,YAAY,IAAK,YAAa,MACnD,IAAK,OAAQuxE,EAAO,IAAM,OAC1B,IAAK,SAAUA,EAAO,KAAO,OAC7B,QAAS,GAAGzhE,GAAQA,EAAK6tB,IAAK,CAC7B,IAAI4zC,EAAM,KAAM,IAAIz0E,OAAM,gBAAkBwT,EAAE,GAAK,kBAOvD,QAASqsE,IAAY1zE,EAAG2tC,EAAQQ,EAAQtnC,GACvC8mC,EAAOgmC,QACP,IAAI1wC,KACJ,IAAIqlC,GAAO,OACVtoE,EAAEpG,MAAM63B,SAAe/4B,QAAQ,SAAS1D,GACxC,GAAIqS,GAAIuqB,GAAY58B,EACpB,QAAOm9B,GAAS9qB,EAAE,KACjB,IAAK,UAAU,IAAK,WAAW,IAAK,WAAY,MAGhD,IAAK,SAAS,IAAK,SAAU,MAC7B,IAAK,WAAW,IAAK,UACpBsmC,EAAOgmC,MAAMp5E,KAAK0oC,EAClBA,KACA,OAGD,IAAK,QAAS,GAAG57B,EAAE+B,IAAK65B,EAAK9sB,KAAO+d,GAAS7sB,EAAE+B,IAAM,OACrD,IAAK,WAAW,IAAK,UAAW,MAGhC,IAAK,KAAM65B,EAAK2wC,KAAOvsE,EAAE+B,IAAMuqB,GAAatsB,EAAE+B,KAAO,CAAG,OACxD,IAAK,OAAQ65B,EAAK2wC,KAAO,CAAG,OAC5B,IAAK,QAAQ,IAAK,MAAO,MAGzB,IAAK,KAAM3wC,EAAKE,OAAS97B,EAAE+B,IAAMuqB,GAAatsB,EAAE+B,KAAO,CAAG,OAC1D,IAAK,OAAQ65B,EAAKE,OAAS,CAAG,OAC9B,IAAK,QAAQ,IAAK,MAAO,MAGzB,IAAK,KACJ,OAAO97B,EAAE+B,KACR,IAAK,OAAQ65B,EAAK4wC,UAAY,CAAM,OACpC,IAAK,SAAU5wC,EAAK4wC,UAAY,CAAM,OACtC,IAAK,SAAU5wC,EAAK4wC,UAAY,CAAM,OACtC,IAAK,mBAAoB5wC,EAAK4wC,UAAY,EAAM,OAChD,IAAK,mBAAoB5wC,EAAK4wC,UAAY,EAAM,QAC/C,MACH,IAAK,OAAQ5wC,EAAK4wC,UAAY,CAAG,OACjC,IAAK,QAAQ,IAAK,MAAO,MAGzB,IAAK,UAAW5wC,EAAKG,OAAS/7B,EAAE+B,IAAMuqB,GAAatsB,EAAE+B,KAAO,CAAG,OAC/D,IAAK,YAAa65B,EAAKG,OAAS,CAAG,OACnC,IAAK,aAAa,IAAK,WAAY,MAGnC,IAAK,WAAYH,EAAKI,QAAUh8B,EAAE+B,IAAMuqB,GAAatsB,EAAE+B,KAAO,CAAG,OACjE,IAAK,aAAc65B,EAAKI,QAAU,CAAG,OACrC,IAAK,cAAc,IAAK,YAAa,MAGrC,IAAK,UAAWJ,EAAKK,OAASj8B,EAAE+B,IAAMuqB,GAAatsB,EAAE+B,KAAO,CAAG,OAC/D,IAAK,YAAa65B,EAAKK,OAAS,CAAG,OACnC,IAAK,aAAa,IAAK,WAAY,MAGnC,IAAK,YAAaL,EAAKM,SAAWl8B,EAAE+B,IAAMuqB,GAAatsB,EAAE+B,KAAO,CAAG,OACnE,IAAK,cAAe65B,EAAKM,SAAW,CAAG,OACvC,IAAK,eAAe,IAAK,aAAc,MAGvC,IAAK,UAAWN,EAAKO,OAASn8B,EAAE+B,IAAMuqB,GAAatsB,EAAE+B,KAAO,CAAG,OAC/D,IAAK,YAAa65B,EAAKO,OAAS,CAAG,OACnC,IAAK,aAAa,IAAK,WAAY,MAGnC,IAAK,MAAO,GAAGn8B,EAAE+B,IAAK65B,EAAKnvB,IAAMzM,EAAE+B,GAAK,OACxC,IAAK,SAAS,IAAK,SAAS,IAAK,OAAQ,MAGzC,IAAK,aAAc,GAAG/B,EAAE+B,IAAK65B,EAAK6wC,UAAYzsE,EAAE+B,GAAK,OACrD,IAAK,gBAAgB,IAAK,gBAAgB,IAAK,cAAe,MAG9D,IAAK,UAAW,GAAG/B,EAAE+B,IAAK65B,EAAKulC,OAAS19D,SAASzD,EAAE+B,IAAI,GAAK,OAC5D,IAAK,aAAa,IAAK,aAAa,IAAK,WAAY,MAGrD,IAAK,UAAW,GAAG/B,EAAE+B,IAAK65B,EAAK8wC,OAAS1sE,EAAE+B,GAAK,OAC/C,IAAK,aAAa,IAAK,aAAa,IAAK,WAAY,MAGrD,IAAK,WACJ,GAAG/B,EAAE+B,KAAO,IAAK,KACjB/B,GAAEqqD,SAAW12D,EAAM8P,SAASzD,EAAE+B,IAAK,IACnC,OACD,IAAK,cAAc,IAAK,cAAc,IAAK,YAAa,MAGxD,IAAK,SACJ,IAAI65B,EAAKtqB,MAAOsqB,EAAKtqB,QACrB,IAAGtR,EAAE06B,KAAMkB,EAAKtqB,MAAMopB,KAAOpO,GAAatsB,EAAE06B,KAE5C,IAAG16B,EAAE66B,IAAKe,EAAKtqB,MAAMupB,IAAM76B,EAAE66B,IAAInrC,OAAO,OACnC,IAAGsQ,EAAEmsE,QAAS,CAClBvwC,EAAKtqB,MAAM6V,MAAQ1jB,SAASzD,EAAEmsE,QAAS,GACvC,IAAIxxC,GAAMC,GAAOgB,EAAKtqB,MAAM6V,MAC5B,IAAGyU,EAAKtqB,MAAM6V,OAAS,GAAIwT,EAAMC,GAAO,EACxC,KAAID,EAAKA,EAAMC,GAAO,EACtBgB,GAAKtqB,MAAMupB,IAAMF,EAAI,GAAGhrC,SAAS,IAAMgrC,EAAI,GAAGhrC,SAAS,IAAMgrC,EAAI,GAAGhrC,SAAS,QACvE,IAAGqQ,EAAE+6B,MAAO,CAClBa,EAAKtqB,MAAMypB,MAAQt3B,SAASzD,EAAE+6B,MAAO,GACrC,IAAG/6B,EAAEg7B,KAAMY,EAAKtqB,MAAM0pB,KAAOj0B,WAAW/G,EAAEg7B,KAC1C,IAAGh7B,EAAE+6B,OAAS+L,EAAO6lC,eAAiB7lC,EAAO6lC,cAAcC,UAAW,CACrEhxC,EAAKtqB,MAAMupB,IAAM4uC,GAAS3iC,EAAO6lC,cAAcC,UAAUhxC,EAAKtqB,MAAMypB,OAAOF,IAAKe,EAAKtqB,MAAM0pB,MAAQ,IAIrG,MACD,IAAK,YAAY,IAAK,YAAY,IAAK,UAAW,MAGlD,IAAK,oBAAqBimC,EAAO,IAAM,OACvC,IAAK,uBAAuB,IAAK,qBAAsBA,EAAO,KAAO,OAGrE,IAAK,WAAW,IAAK,YAAY,IAAK,YAAa,MACnD,IAAK,OAAQA,EAAO,IAAM,OAC1B,IAAK,SAAUA,EAAO,KAAO,OAC7B,QAAS,GAAGzhE,GAAQA,EAAK6tB,IAAK,CAC7B,IAAI4zC,EAAM,KAAM,IAAIz0E,OAAM,gBAAkBwT,EAAE,GAAK,kBAOvD,QAAS6sE,IAAcl0E,EAAG2tC,EAAQ9mC,GACjC8mC,EAAOwmC,YACP,IAAIv8E,GAAsB1B,GAAK6K,EAC/B,KAAI,GAAIhO,GAAE,EAAGA,EAAI6E,EAAE5E,SAAUD,EAAG46C,EAAOwmC,UAAUv8E,EAAE7E,IAAMgO,EAAUnJ,EAAE7E,GACrE,IAAI2T,GAAI1G,EAAEpG,MAAM63B,GAChB,KAAI/qB,EAAG,MACP,KAAI3T,EAAE,EAAGA,EAAI2T,EAAE1T,SAAUD,EAAG,CAC3B,GAAIsU,GAAIuqB,GAAYlrB,EAAE3T,GACtB,QAAOo/B,GAAS9qB,EAAE,KACjB,IAAK,YAAY,IAAK,cAAc,IAAK,cAAc,IAAK,YAAa,MACzE,IAAK,UAAW,CACf,GAAI5P,GAAEk7B,GAAYuB,GAAS7sB,EAAE+sE,aAAc/gF,EAAEyX,SAASzD,EAAEg2B,SAAS,GACjEsQ,GAAOwmC,UAAU9gF,GAAKoE,CACtB,IAAGpE,EAAE,EAAG,CACP,GAAGA,EAAI,IAAO,CACb,IAAIA,EAAI,IAAOA,EAAI,KAAQA,EAAG,GAAGs6C,EAAOwmC,UAAU9gF,IAAM,KAAM,KAC9Ds6C,GAAOwmC,UAAU9gF,GAAKoE,EAEvB8Y,GAAU9Y,EAAEpE,IAEZ,MACF,IAAK,YAAa,MAClB,QAAS,GAAGwT,EAAK6tB,IAAK,KAAM,IAAI7gC,OAAM,gBAAkBwT,EAAE,GAAK,kBAKlE,QAASgtE,IAAcC,GACtB,GAAI53E,IAAK,eACP,EAAE,IAAI,GAAG,KAAK,GAAG,KAAW,GAAgB,MAAMhE,QAAQ,SAASgS,GACpE,IAAI,GAAI3X,GAAI2X,EAAE,GAAI3X,GAAK2X,EAAE,KAAM3X,EAAG,GAAGuhF,EAAGvhF,IAAM,KAAM2J,EAAEA,EAAE1J,QAAW8hC,GAAU,SAAS,MAAMuI,SAAStqC,EAAEqhF,WAAWlhD,GAAUohD,EAAGvhF,OAEhI,IAAG2J,EAAE1J,SAAW,EAAG,MAAO,EAC1B0J,GAAEA,EAAE1J,QAAU,YACd0J,GAAE,GAAKo4B,GAAU,UAAW,MAAQk1C,MAAMttE,EAAE1J,OAAO,IAAKgL,QAAQ,KAAM,IACtE,OAAOtB,GAAElD,KAAK,IAIf,GAAI+6E,KAAgB,WAAY,SAAU,SAAU,WAAY,OAChE,IAAIC,KAAgB,iBAAkB,cAAe,YAAa,YAAa,oBAAqB,kBAAmB,cAAe,cACtI,SAASC,IAAcz0E,EAAG2tC,EAAQ9mC,GACjC8mC,EAAO+mC,SACP,IAAItsB,EACJ,IAAIkgB,GAAO,OACVtoE,EAAEpG,MAAM63B,SAAe/4B,QAAQ,SAAS1D,GACxC,GAAIqS,GAAIuqB,GAAY58B,GAAIjC,EAAI,CAC5B,QAAOo/B,GAAS9qB,EAAE,KACjB,IAAK,YAAY,IAAK,aAAa,IAAK,cAAc,IAAK,aAAc,MAGzE,IAAK,OAAO,IAAK,SAAS,IAAK,OAC9B+gD,EAAK/gD,QACE+gD,GAAG,EACV,KAAIr1D,EAAI,EAAGA,EAAIwhF,GAAYvhF,SAAUD,EAAG,GAAGq1D,EAAGmsB,GAAYxhF,IACzDq1D,EAAGmsB,GAAYxhF,IAAM+X,SAASs9C,EAAGmsB,GAAYxhF,IAAK,GACnD,KAAIA,EAAI,EAAGA,EAAIyhF,GAAYxhF,SAAUD,EAAG,GAAGq1D,EAAGosB,GAAYzhF,IACzDq1D,EAAGosB,GAAYzhF,IAAM4gC,GAAay0B,EAAGosB,GAAYzhF,IAClD,IAAG46C,EAAOwmC,WAAa/rB,EAAG/qB,SAAW,IAAO,CAC3C,IAAItqC,EAAI,IAAOA,EAAI,KAAQA,EAAG,GAAG46C,EAAOwmC,UAAU/rB,EAAG/qB,WAAasQ,EAAOwmC,UAAUphF,GAAI,CAAEq1D,EAAG/qB,SAAWtqC,CAAG,QAE3G46C,EAAO+mC,OAAOn6E,KAAK6tD,EAAK,OACzB,IAAK,QAAS,MAGd,IAAK,cAAc,IAAK,gBAAgB,IAAK,cAC5C,GAAIusB,KACJ,IAAGttE,EAAEutE,SAAUD,EAAUC,SAAWvtE,EAAEutE,QACtC,IAAGvtE,EAAEwtE,WAAYF,EAAUE,WAAaxtE,EAAEwtE,UAC1C,IAAGxtE,EAAEytE,cAAgB,KAAMH,EAAUG,aAAeztE,EAAEytE,YACtD,IAAGztE,EAAE0tE,OAAQJ,EAAUI,OAAS1tE,EAAE0tE,MAClC,IAAG1tE,EAAE2tE,SAAUL,EAAUK,SAAWrhD,GAAatsB,EAAE2tE,SACnD5sB,GAAGusB,UAAYA,CACf,OACD,IAAK,eAAgB,MAGrB,IAAK,eAAe,IAAK,eACxB,MACD,IAAK,iBAAiB,IAAK,gBAAiB,MAG5C,IAAK,qBAAqB,IAAK,qBAAsBrM,EAAO,IAAM,OAClE,IAAK,sBAAuBA,EAAO,KAAO,OAG1C,IAAK,WAAW,IAAK,YAAY,IAAK,YAAa,MACnD,IAAK,OAAQA,EAAO,IAAM,OAC1B,IAAK,SAAUA,EAAO,KAAO,OAC7B,QAAS,GAAGzhE,GAAQA,EAAK6tB,IAAK,CAC7B,IAAI4zC,EAAM,KAAM,IAAIz0E,OAAM,gBAAkBwT,EAAE,GAAK,oBAMvD,QAAS4tE,IAAcC,GACtB,GAAIx4E,KACJA,GAAEA,EAAE1J,QAAW8hC,GAAU,UAAU,KACnCogD,GAAQx8E,QAAQ,SAASrB,GACxBqF,EAAEA,EAAE1J,QAAW8hC,GAAU,KAAM,KAAMz9B,IAEtCqF,GAAEA,EAAE1J,QAAU,YACd,IAAG0J,EAAE1J,SAAW,EAAG,MAAO,EAC1B0J,GAAE,GAAKo4B,GAAU,UAAU,MAAOk1C,MAAMttE,EAAE1J,OAAO,IAAIgL,QAAQ,KAAK,IAClE,OAAOtB,GAAElD,KAAK,IAIf,GAAI27E,IAAe,QAAUC,MAE7B,MAAO,SAASD,GAAcz+E,EAAMy3C,EAAQtnC,GAC3C,GAAI8mC,KACJ,KAAIj3C,EAAM,MAAOi3C,EACjBj3C,GAAO43B,GAAeK,GAAcj4B,EAAM,OAAQ,OAElD,IAAIsJ,EAGJ,IAAIA,EAAEuvB,GAAiB74B,EAAM,WAAaw9E,GAAcl0E,EAAE,GAAI2tC,EAAQ9mC,EAGtE,IAAI7G,EAAEuvB,GAAiB74B,EAAM,SAAWg9E,GAAY1zE,EAAE,GAAI2tC,EAAQQ,EAAQtnC,EAG1E,IAAI7G,EAAEuvB,GAAiB74B,EAAM,SAAW28E,GAAYrzE,EAAE,GAAI2tC,EAAQQ,EAAQtnC,EAG1E,IAAI7G,EAAEuvB,GAAiB74B,EAAM,WAAas8E,GAAchzE,EAAE,GAAI2tC,EAAQQ,EAAQtnC,EAM9E,IAAI7G,EAAEuvB,GAAiB74B,EAAM,WAAa+9E,GAAcz0E,EAAE,GAAI2tC,EAAQ9mC,EAOtE,OAAO8mC,MAIR,SAAS0nC,IAActiC,EAAIlsC,GAC1B,GAAInK,IAAK20B,GAAYyD,GAAU,aAAc,MAC5C2Z,MAAStY,GAAW,GACpB2e,WAAY1f,GAAMY,MACdn/B,CACL,IAAGk8C,EAAGhkC,MAAQlY,EAAIw9E,GAActhC,EAAGhkC,OAAS,KAAMrS,EAAEA,EAAE1J,QAAU6D,CAChE6F,GAAEA,EAAE1J,QAAU,mIACd0J,GAAEA,EAAE1J,QAAU,0HACd0J,GAAEA,EAAE1J,QAAU,yFACd0J,GAAEA,EAAE1J,QAAU,8FACd,IAAI6D,EAAIo+E,GAAcpuE,EAAKquE,SAAWx4E,EAAEA,EAAE1J,QAAU,CACpD0J,GAAEA,EAAE1J,QAAU,sFACd0J,GAAEA,EAAE1J,QAAU,mBACd0J,GAAEA,EAAE1J,QAAU,sGAEd,IAAG0J,EAAE1J,OAAO,EAAE,CAAE0J,EAAEA,EAAE1J,QAAU,eAAmB0J,GAAE,GAAGA,EAAE,GAAGsB,QAAQ,KAAK,KACxE,MAAOtB,GAAElD,KAAK,IAGf,QAAS87E,IAAa5+E,EAAM1D,GAC3B,GAAIqqC,GAAW3mC,EAAKyc,WAAW,EAC/B,IAAIoiE,GAAYr2C,GAAmBxoC,EAAK1D,EAAO,EAC/C,QAAQqqC,EAAUk4C,GAEnB,QAASC,IAAaziF,EAAG0E,EAAGiF,GAC3B,IAAIA,EAAGA,EAAIkb,GAAQ,EAAI,EAAIngB,EAAEzE,OAC7B0J,GAAEsW,YAAY,EAAGjgB,EACjBqsC,IAAmB3nC,EAAGiF,EACtB,IAAI9F,GAAO8F,EAAE1J,OAAS0J,EAAEpC,EAAKoC,EAAE3F,MAAM,EAAG2F,EAAEpC,GAAKoC,CAC/C,IAAGA,EAAEpC,GAAK,KAAMoC,EAAEpC,EAAIoC,EAAE1J,MACxB,OAAO4D,GAIR,QAAS6+E,IAAc/+E,EAAM1D,EAAQ6T,GACpC,GAAIjQ,KAEJA,GAAIkd,GAAKpd,EAAKyc,WAAW,GAAK,EAE9B,IAAI+vB,GAAQX,GAAgB7rC,EAAM,EAAGmQ,EACrC,IAAGq8B,EAAMT,QAAS7rC,EAAIusC,OAAS,CAC/B,IAAGD,EAAMJ,UAAWlsC,EAAI2sC,SAAW,CACnC,IAAGL,EAAMH,QAASnsC,EAAI4sC,OAAS,CAC/B,IAAGN,EAAML,QAASjsC,EAAI0sC,OAAS,CAC/B,IAAGJ,EAAMN,SAAUhsC,EAAIysC,QAAU,CACjC,IAAGH,EAAMP,WAAY/rC,EAAIwsC,OAAS,CAElC,IAAIsyC,GAAMh/E,EAAKyc,WAAW,EAC1B,IAAGuiE,IAAQ,IAAQ9+E,EAAIg9E,KAAO,CAE9B,QAAOl9E,EAAKyc,WAAW,IAEtB,IAAK,GAAGvc,EAAIk9E,UAAY,aAAe,OACvC,IAAK,GAAGl9E,EAAIk9E,UAAY,WAAa,QAGtC,GAAID,GAAYn9E,EAAKyc,WAAW,EAChC,IAAG0gE,GAAa,EAAGj9E,EAAIi9E,UAAYA,CAEnC,IAAIrL,GAAS9xE,EAAKyc,WAAW,EAC7B,IAAGq1D,EAAS,EAAG5xE,EAAI4xE,OAASA,CAE5B,IAAImN,GAAWj/E,EAAKyc,WAAW,EAC/B,IAAGwiE,EAAW,EAAG/+E,EAAIg/E,QAAUD,CAE/Bj/E,GAAK4D,GACL1D,GAAI+hB,MAAQ8oB,GAAe/qC,EAAM,EAEjC,QAAOA,EAAKyc,WAAW,IAEtB,IAAK,GAAGvc,EAAIm9E,OAAS,OAAS,OAC9B,IAAK,GAAGn9E,EAAIm9E,OAAS,OAAS,QAG/Bn9E,EAAIuf,KAAO+oB,GAAmBxoC,EAAM1D,EAAS,GAE7C,OAAO4D,GAER,QAASi/E,IAAc5yC,EAAMvmC,GAC5B,IAAIA,EAAGA,EAAIkb,GAAQ,GAAG,EAAE,GACxBlb,GAAEsW,YAAY,EAAGiwB,EAAKnvB,GAAK,GAC3BkvB,IAAgBC,EAAMvmC,EACtBA,GAAEsW,YAAY,EAAGiwB,EAAK2wC,KAAO,IAAS,IACtC,IAAIkC,GAAM,CACV,IAAG7yC,EAAK6wC,WAAa,cAAegC,EAAM,MACrC,IAAG7yC,EAAK6wC,WAAa,YAAagC,EAAM,CAC7Cp5E,GAAEsW,YAAY,EAAG8iE,EACjBp5E,GAAEsW,YAAY,EAAGiwB,EAAK4wC,WAAa,EACnCn3E,GAAEsW,YAAY,EAAGiwB,EAAKulC,QAAU,EAChC9rE,GAAEsW,YAAY,EAAGiwB,EAAK2yC,SAAW,EACjCl5E,GAAEsW,YAAY,EAAG,EACjBsvB,IAAeW,EAAKtqB,MAAOjc,EAC3B,IAAIq3E,GAAS,CACb,IAAG9wC,EAAK8wC,QAAU,QAASA,EAAS,CACpC,IAAG9wC,EAAK8wC,QAAU,QAASA,EAAS,CACpCr3E,GAAEsW,YAAY,EAAG+gE,EACjB30C,IAAmB6D,EAAK9sB,KAAMzZ,EAC9B,OAAOA,GAAE1J,OAAS0J,EAAEpC,EAAIoC,EAAE3F,MAAM,EAAG2F,EAAEpC,GAAKoC,EAI3C,GAAIq5E,KACH,OACA,QACA,aACA,WACA,YACA,iBACA,eACA,WACA,SACA,WACA,cACA,kBACA,gBACA,YACA,UACA,YACA,eACA,UACA,WAED,IAAIC,GAEJ,IAAIC,IAAgBr8C,EACpB,SAASs8C,IAAcj2E,EAAMvD,GAC5B,IAAIA,EAAGA,EAAIkb,GAAQ,EAAE,EAAI,EAAE,EAAI,GAAG,EAClC,KAAIo+D,GAAqBA,GAAuB7sD,GAAM4sD,GACtD,IAAII,GAAMH,GAAoB/1E,EAAK+lD,YACnC,IAAGmwB,GAAO,KAAMA,EAAM,EACtBz5E,GAAEsW,YAAY,EAAGmjE,EACjB,IAAI9iF,GAAI,CACR,IAAG8iF,GAAO,GAAM,CAEf7zC,IAAgBP,KAAK,GAAIrlC,EAEzB4lC,KAAgBP,KAAK,GAAIrlC,EAEzB,MAAMrJ,EAAI,KAAMA,EAAGqJ,EAAEsW,YAAY,EAAG,OAC9B,CACN,KAAM3f,EAAI,IAAKA,EAAGqJ,EAAEsW,YAAY,EAAG,EAEnC,MAAM3f,EAAI,KAAMA,EAAGqJ,EAAEsW,YAAY,EAAG,GAUrC,MAAOtW,GAAE1J,OAAS0J,EAAEpC,EAAIoC,EAAE3F,MAAM,EAAG2F,EAAEpC,GAAKoC,EAI3C,QAAS05E,IAAY1/E,EAAM1D,GAC1B,GAAI+gB,GAAMrd,EAAK4D,EAAItH,CACnB,IAAIqjF,GAAa3/E,EAAKyc,WAAW,EACjC,IAAIo7C,GAAO73D,EAAKyc,WAAW,EAC3Bzc,GAAK4D,EAAIyZ,CACT,QAAQ2qC,KAAK23B,EAAYh5C,SAASkxB,GAEnC,QAAS+nB,IAAY5/E,EAAMuxD,EAAOvrD,GACjC,IAAIA,EAAGA,EAAIkb,GAAQ,GACnBlb,GAAEsW,YAAY,EAAGi1C,GAAO,EACxBvrD,GAAEsW,YAAY,EAAGtc,EAAK2mC,UAAU,EAChC3gC,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,EACjB,IAAIujE,GAAO,CACX75E,GAAEsW,YAAY,EAAGujE,EACjB75E,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,EACjB,OAAOtW,GAIR,QAAS85E,IAAW9/E,EAAMgG,GACzB,IAAIA,EAAGA,EAAIkb,GAAQ,GACnBlb,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,EACjB,OAAOtW,GAGR,GAAI+5E,IAAkB78C,EACtB,SAAS88C,IAAgBxD,EAAQx2E,GAChC,IAAIA,EAAGA,EAAIkb,GAAQ,GACnBlb,GAAEsW,YAAY,EAAG,EACjBwjE,IAAW,KAAM95E,EACjB85E,IAAW,KAAM95E,EACjB85E,IAAW,KAAM95E,EACjB85E,IAAW,KAAM95E,EACjB85E,IAAW,KAAM95E,EACjB,OAAOA,GAAE1J,OAAS0J,EAAEpC,EAAIoC,EAAE3F,MAAM,EAAG2F,EAAEpC,GAAKoC,EAI3C,QAASi6E,IAAe1nC,EAAOvyC,GAC9B,IAAIA,EAAGA,EAAIkb,GAAQ,GAAG,EAAE,GACxBlb,GAAEsW,YAAY,EAAGi8B,EAAM2nC,KACvBl6E,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,GAAIi8B,EAAM4nC,UACxBn6E,GAAEsW,YAAY,EAAG,EACjBytB,IAA2BwO,EAAM94B,MAAQ,GAAIzZ,EAC7C,OAAOA,GAAE1J,OAAS0J,EAAEpC,EAAIoC,EAAE3F,MAAM,EAAG2F,EAAEpC,GAAKoC,EAI3C,QAASo6E,IAA0Bj/D,EAAKk/D,EAAeC,GACtD,GAAIt6E,GAAIkb,GAAQ,EAAE,IAAI,EAAE,EACxBlb,GAAEsW,YAAY,EAAG6E,EACjB4oB,IAA2Bs2C,EAAer6E,EAC1C+jC,IAA2Bu2C,EAAet6E,EAC1C,OAAOA,GAAE1J,OAAS0J,EAAEpC,EAAIoC,EAAE3F,MAAM,EAAG2F,EAAEpC,GAAKoC,EAI3C,QAASu6E,IAAcvgF,EAAMy3C,EAAQtnC,GACpC,GAAI8mC,KACJA,GAAOwmC,YACP,KAAI,GAAI9sE,KAAKtG,GAAW4sC,EAAOwmC,UAAU9sE,GAAKtG,EAAUsG,EAExDsmC,GAAO+mC,SACP/mC,GAAOgmC,QACP,IAAI96D,KACJ,IAAIyvD,GAAO,KACXzuC,IAAanjC,EAAM,QAASwgF,GAAW9tE,EAAKkJ,EAAG2nB,GAC9C,OAAOA,GACN,IAAK,IACJ0T,EAAOwmC,UAAU/qE,EAAI,IAAMA,EAAI,EAAImH,IAAUnH,EAAI,GAAIA,EAAI,GACzD,OACD,IAAK,IACJukC,EAAOgmC,MAAMp5E,KAAK6O,EAClB,IAAGA,EAAIuP,MAAMypB,OAAS,MAAQ+L,GAAUA,EAAO6lC,eAAiB7lC,EAAO6lC,cAAcC,UAAW,CAC/F7qE,EAAIuP,MAAMupB,IAAM4uC,GAAS3iC,EAAO6lC,cAAcC,UAAU7qE,EAAIuP,MAAMypB,OAAOF,IAAK94B,EAAIuP,MAAM0pB,MAAQ,GAEjG,MACD,IAAK,MAA4B,MACjC,IAAK,IACJ,MACD,IAAK,IACJ,MACD,IAAK,IACJ,GAAGxpB,EAAMA,EAAM7lB,OAAS,IAAM,IAA8B,CAC3D26C,EAAO+mC,OAAOn6E,KAAK6O,GAEpB,MACD,IAAK,KACL,IAAK,MACL,IAAK,MACL,IAAK,KACJ,MAED,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,MACL,IAAK,OACL,IAAK,MACJ,MAED,IAAK,IACJk/D,EAAO,IAAM,OACd,IAAK,IACJA,EAAO,KAAO,OACf,IAAK,IACJzvD,EAAMte,KAAK0/B,EAAKquC,GAAO,IAAM,OAC9B,IAAK,IACJzvD,EAAMkB,KAAOuuD,GAAO,KAAO,OAE5B,QACC,GAAGh2D,EAAEnL,EAAI,EAAG0R,EAAMte,KAAK0/B,OAClB,IAAG3nB,EAAEnL,EAAI,EAAG0R,EAAMkB,UAClB,KAAIuuD,GAASzhE,EAAK6tB,KAAO7b,EAAMA,EAAM7lB,OAAO,IAAM,GAA0B,KAAM,IAAIa,OAAM,uBAAyBomC,EAAGjjC,SAAS,QAGzI,OAAO22C,GAGR,QAASwpC,IAAej8C,EAAIo5C,GAC3B,IAAIA,EAAI,MACR,IAAIz8D,GAAM,IACR,EAAE,IAAI,GAAG,KAAK,GAAG,KAAW,GAAgB,MAAMnf,QAAQ,SAASgS,GACtE,IAAI,GAAI3X,GAAI2X,EAAE,GAAI3X,GAAK2X,EAAE,KAAM3X,EAAG,GAAGuhF,EAAGvhF,IAAM,OAAQ8kB,GAGrD,IAAGA,GAAO,EAAG,MACbojB,IAAaC,EAAI,IAA2B+D,GAAepnB,MACzD,EAAE,IAAI,GAAG,KAAK,GAAG,KAAW,GAAgB,MAAMnf,QAAQ,SAASgS,GACtE,IAAI,GAAI3X,GAAI2X,EAAE,GAAI3X,GAAK2X,EAAE,KAAM3X,EAAG,GAAGuhF,EAAGvhF,IAAM,KAAMkoC,GAAaC,EAAI,GAAqBs6C,GAAaziF,EAAGuhF,EAAGvhF,MAE5GkoC,IAAaC,EAAI,KAGlB,QAASk8C,IAAgBl8C,GACxB,GAAIrjB,GAAM,CAEV,IAAGA,GAAO,EAAG,MACbojB,IAAaC,EAAI,IAA4B+D,GAAepnB,GAC5DojB,IAAaC,EAAI,GAAsB26C,IACtC/hE,GAAG,GACH6E,OAAQypB,MAAM,GACdjsB,KAAM,UACNqyD,OAAQ,EACRuL,OAAQ,UAGT94C,IAAaC,EAAI,KAGlB,QAASm8C,IAAgBn8C,GACxB,GAAIrjB,GAAM,CAEV,IAAGA,GAAO,EAAG,MACbojB,IAAaC,EAAI,IAA4B+D,GAAepnB,GAC5DojB,IAAaC,EAAI,GAAsBg7C,IAAelwB,YAAY,SAClE/qB,IAAaC,EAAI,GAAsBg7C,IAAelwB,YAAY,YAElE/qB,IAAaC,EAAI,KAGlB,QAASo8C,IAAkBp8C,GAC1B,GAAIrjB,GAAM,CAEV,IAAGA,GAAO,EAAG,MACbojB,IAAaC,EAAI,IAA8B+D,GAAepnB,GAC9DojB,IAAaC,EAAI,GAAwBw7C,OAEzCz7C,IAAaC,EAAI,KAGlB,QAASq8C,IAAuBr8C,GAC/B,GAAIrjB,GAAM,CACVojB,IAAaC,EAAI,IAAmC+D,GAAepnB,GACnEojB,IAAaC,EAAI,GAAoBo7C,IACpCj5C,SAAU,EACVm6C,OAAU,EACVC,OAAU,EACVC,SAAU,GACR,OAEHz8C,IAAaC,EAAI,KAGlB,QAASy8C,IAAkBz8C,EAAIxkC,GAC9BukC,GAAaC,EAAI,IAA8B+D,GAAevoC,EAAK1D,QACnE0D,GAAKgC,QAAQ,SAASrB,GAAK4jC,GAAaC,EAAI,GAAoBo7C,GAAYj/E,EAAE,KAE9E4jC,IAAaC,EAAI,KAGlB,QAAS08C,IAAiB18C,GACzB,GAAIrjB,GAAM,CAEVojB,IAAaC,EAAI,IAA6B+D,GAAepnB,GAC7DojB,IAAaC,EAAI,GAAuBy7C,IACvCC,KAAK,EACLC,UAAU,EACV1gE,KAAK,WAGN8kB,IAAaC,EAAI,KAGlB,QAAS28C,IAAe38C,GACvB,GAAIrjB,GAAM,CAEVojB,IAAaC,EAAI,IAA2B+D,GAAepnB,GAE3DojB,IAAaC,EAAI,KAGlB,QAAS48C,IAAsB58C,GAC9B,GAAIrjB,GAAM,CAEVojB,IAAaC,EAAI,IAAkC47C,GAA0Bj/D,EAAK,oBAAqB,qBAEvGojB,IAAaC,EAAI,KAGlB,QAAS68C,MACR,OAKD,QAASC,IAAcjlC,EAAIlsC,GAC1B,GAAIq0B,GAAKf,IACTc,IAAaC,EAAI,IACjBi8C,IAAej8C,EAAI6X,EAAGhkC,IACtBqoE,IAAgBl8C,EAAI6X,EACpBskC,IAAgBn8C,EAAI6X,EACpBukC,IAAkBp8C,EAAI6X,EACtBwkC,IAAuBr8C,EAAI6X,EAC3B4kC,IAAkBz8C,EAAIr0B,EAAKquE,QAC3B0C,IAAiB18C,EAAI6X,EACrB8kC,IAAe38C,EAAI6X,EACnB+kC,IAAsB58C,EAAI6X,EAC1BglC,IAAuB78C,EAAI6X,EAE3B9X,IAAaC,EAAI,IACjB,OAAOA,GAAG3W,MAGX,GAAI0zD,KACH,WAAY,WAAY,WAAY,WACpC,eAAgB,eAAgB,eAChC,eAAgB,eAAgB,eAChC,aAAc,gBAGf,SAASC,IAAgBl4E,EAAGmuC,EAAQtnC,GACnCsnC,EAAO6lC,cAAcC,YACrB,IAAIt7D,OACH3Y,EAAE,GAAGpG,MAAM63B,SAAe/4B,QAAQ,SAAS1D,GAC3C,GAAIqS,GAAIuqB,GAAY58B,EACpB,QAAOqS,EAAE,IAER,IAAK,gBAAgB,IAAK,iBAAkB,MAG5C,IAAK,aACJsR,EAAMupB,IAAM76B,EAAE+B,GAAK,OACpB,IAAK,eAAgB,MAGrB,IAAK,YACJuP,EAAMupB,IAAM76B,EAAE8wE,OAAS,OACxB,IAAK,cAAe,MAcpB,IAAK,YACL,IAAK,YACL,IAAK,WACL,IAAK,WACL,IAAK,WAAW,IAAK,YACrB,IAAK,WAAW,IAAK,YACrB,IAAK,eAAe,IAAK,gBACzB,IAAK,eAAe,IAAK,gBACzB,IAAK,eAAe,IAAK,gBACzB,IAAK,eAAe,IAAK,gBACzB,IAAK,eAAe,IAAK,gBACzB,IAAK,eAAe,IAAK,gBACzB,IAAK,aAAa,IAAK,cACvB,IAAK,gBAAgB,IAAK,gBACzB,GAAI9wE,EAAE,GAAGnU,OAAO,KAAO,IAAK,CAC3Bi7C,EAAO6lC,cAAcC,UAAUgE,GAAmB3+E,QAAQ+N,EAAE,KAAOsR,CACnEA,UACM,CACNA,EAAMxC,KAAO9O,EAAE,GAAGtQ,MAAM,EAAGsQ,EAAE,GAAGrU,OAAS,GAE1C,MAED,QAAS,GAAG6T,GAAQA,EAAK6tB,IAAK,KAAM,IAAI7gC,OAAM,gBAAkBwT,EAAE,GAAK,qBAM1E,QAAS+wE,OAGT,QAASC,OAGT,QAASC,IAAoB5hF,EAAMy3C,EAAQtnC,GAC1CsnC,EAAO6lC,gBAEP,IAAIh0E,EAGJ,MAAKA,EAAEmvB,GAAcz4B,EAAM,gBAAiB,KAAM,IAAI7C,OAAM,uCAC5DqkF,IAAgBl4E,EAAGmuC,EAAQtnC,EAG3B,MAAK7G,EAAEmvB,GAAcz4B,EAAM,iBAAkB,KAAM,IAAI7C,OAAM,wCAC7DukF,IAAiBp4E,EAAGmuC,EAAQtnC,EAG5B,MAAK7G,EAAEmvB,GAAcz4B,EAAM,gBAAiB,KAAM,IAAI7C,OAAM,uCAC5DwkF,IAAgBr4E,EAAGmuC,EAAQtnC,GAI5B,QAAS0xE,IAAgB7hF,EAAMmQ,GAE9B,IAAInQ,GAAQA,EAAK1D,SAAW,EAAG0D,EAAO8hF,IAEtC,IAAIx4E,EACJ,IAAImuC,KAGJ,MAAKnuC,EAAEmvB,GAAcz4B,EAAM,oBAAqB,KAAM,IAAI7C,OAAM,mCAChEykF,IAAoBt4E,EAAE,GAAImuC,EAAQtnC,EAClCsnC,GAAOv3B,IAAMlgB,CACb,OAAOy3C,GAGR,QAASqqC,IAAYC,EAAQ5xE,GAC5B,GAAGA,GAAQA,EAAK6xE,UAAW,MAAO7xE,GAAK6xE,SACvC,IAAGD,SAAiBA,GAAO7hE,KAAO,SAAU,MAAO6hE,GAAO7hE,GAC1D,IAAIla,IAAK20B,GACT30B,GAAEA,EAAE1J,QAAU,+FACd0J,GAAEA,EAAE1J,QAAW,mBAEf0J,GAAEA,EAAE1J,QAAY,6BAChB0J,GAAEA,EAAE1J,QAAa,8DACjB0J,GAAEA,EAAE1J,QAAa,0DACjB0J,GAAEA,EAAE1J,QAAa,0CACjB0J,GAAEA,EAAE1J,QAAa,0CACjB0J,GAAEA,EAAE1J,QAAa,kDACjB0J,GAAEA,EAAE1J,QAAa,kDACjB0J,GAAEA,EAAE1J,QAAa,kDACjB0J,GAAEA,EAAE1J,QAAa,kDACjB0J,GAAEA,EAAE1J,QAAa,kDACjB0J,GAAEA,EAAE1J,QAAa,kDACjB0J,GAAEA,EAAE1J,QAAa,8CACjB0J,GAAEA,EAAE1J,QAAa,oDACjB0J,GAAEA,EAAE1J,QAAY,gBAEhB0J,GAAEA,EAAE1J,QAAY,8BAChB0J,GAAEA,EAAE1J,QAAa,eACjB0J,GAAEA,EAAE1J,QAAc,+BAClB0J,GAAEA,EAAE1J,QAAc,qBAClB0J,GAAEA,EAAE1J,QAAc,qBAClB0J,GAAEA,EAAE1J,QAAc,6CAClB0J,GAAEA,EAAE1J,QAAc,0CAClB0J,GAAEA,EAAE1J,QAAc,uCAClB0J,GAAEA,EAAE1J,QAAc,yCAClB0J,GAAEA,EAAE1J,QAAc,oDAClB0J,GAAEA,EAAE1J,QAAc,oDAClB0J,GAAEA,EAAE1J,QAAc,2CAClB0J,GAAEA,EAAE1J,QAAc,0CAClB0J,GAAEA,EAAE1J,QAAc,2CAClB0J,GAAEA,EAAE1J,QAAc,2CAClB0J,GAAEA,EAAE1J,QAAc,8CAClB0J,GAAEA,EAAE1J,QAAc,0CAClB0J,GAAEA,EAAE1J,QAAc,0CAClB0J,GAAEA,EAAE1J,QAAc,6CAClB0J,GAAEA,EAAE1J,QAAc,yDAClB0J,GAAEA,EAAE1J,QAAc,uDAClB0J,GAAEA,EAAE1J,QAAc,uDAClB0J,GAAEA,EAAE1J,QAAc,4CAClB0J,GAAEA,EAAE1J,QAAc,2CAClB0J,GAAEA,EAAE1J,QAAc,4CAClB0J,GAAEA,EAAE1J,QAAc,0CAClB0J,GAAEA,EAAE1J,QAAc,sDAClB0J,GAAEA,EAAE1J,QAAc,4CAClB0J,GAAEA,EAAE1J,QAAc,4CAClB0J,GAAEA,EAAE1J,QAAc,8CAClB0J,GAAEA,EAAE1J,QAAc,iDAClB0J,GAAEA,EAAE1J,QAAc,oDAClB0J,GAAEA,EAAE1J,QAAc,oDAClB0J,GAAEA,EAAE1J,QAAc,qDAClB0J,GAAEA,EAAE1J,QAAc,4CAClB0J,GAAEA,EAAE1J,QAAa,gBACjB0J,GAAEA,EAAE1J,QAAa,eACjB0J,GAAEA,EAAE1J,QAAc,+BAClB0J,GAAEA,EAAE1J,QAAc,qBAClB0J,GAAEA,EAAE1J,QAAc,qBAClB0J,GAAEA,EAAE1J,QAAc,6CAClB0J,GAAEA,EAAE1J,QAAc,0CAClB0J,GAAEA,EAAE1J,QAAc,uCAClB0J,GAAEA,EAAE1J,QAAc,yCAClB0J,GAAEA,EAAE1J,QAAc,0CAClB0J,GAAEA,EAAE1J,QAAc,0CAClB0J,GAAEA,EAAE1J,QAAc,2CAClB0J,GAAEA,EAAE1J,QAAc,0CAClB0J,GAAEA,EAAE1J,QAAc,2CAClB0J,GAAEA,EAAE1J,QAAc,2CAClB0J,GAAEA,EAAE1J,QAAc,6CAClB0J,GAAEA,EAAE1J,QAAc,0CAClB0J,GAAEA,EAAE1J,QAAc,0CAClB0J,GAAEA,EAAE1J,QAAc,6CAClB0J,GAAEA,EAAE1J,QAAc,yDAClB0J,GAAEA,EAAE1J,QAAc,uDAClB0J,GAAEA,EAAE1J,QAAc,uDAClB0J,GAAEA,EAAE1J,QAAc,4CAClB0J,GAAEA,EAAE1J,QAAc,2CAClB0J,GAAEA,EAAE1J,QAAc,4CAClB0J,GAAEA,EAAE1J,QAAc,0CAClB0J,GAAEA,EAAE1J,QAAc,sDAClB0J,GAAEA,EAAE1J,QAAc,4CAClB0J,GAAEA,EAAE1J,QAAc,4CAClB0J,GAAEA,EAAE1J,QAAc,8CAClB0J,GAAEA,EAAE1J,QAAc,iDAClB0J,GAAEA,EAAE1J,QAAc,oDAClB0J,GAAEA,EAAE1J,QAAc,0CAClB0J,GAAEA,EAAE1J,QAAc,qDAClB0J,GAAEA,EAAE1J,QAAc,4CAClB0J,GAAEA,EAAE1J,QAAa,gBACjB0J,GAAEA,EAAE1J,QAAY,iBAEhB0J,GAAEA,EAAE1J,QAAY,6BAChB0J,GAAEA,EAAE1J,QAAa,kBACjB0J,GAAEA,EAAE1J,QAAc,uDAClB0J,GAAEA,EAAE1J,QAAc,+BAClB0J,GAAEA,EAAE1J,QAAe,WACnB0J,GAAEA,EAAE1J,QAAgB,2GACpB0J,GAAEA,EAAE1J,QAAgB,+GACpB0J,GAAEA,EAAE1J,QAAgB,gHACpB0J,GAAEA,EAAE1J,QAAe,YACnB0J,GAAEA,EAAE1J,QAAe,oCACnB0J,GAAEA,EAAE1J,QAAc,eAClB0J,GAAEA,EAAE1J,QAAc,+BAClB0J,GAAEA,EAAE1J,QAAe,WACnB0J,GAAEA,EAAE1J,QAAgB,mIACpB0J,GAAEA,EAAE1J,QAAgB,uIACpB0J,GAAEA,EAAE1J,QAAe,YACnB0J,GAAEA,EAAE1J,QAAe,oCACnB0J,GAAEA,EAAE1J,QAAc,eAClB0J,GAAEA,EAAE1J,QAAa,mBACjB0J,GAAEA,EAAE1J,QAAa,gBACjB0J,GAAEA,EAAE1J,QAAc,kMAClB0J,GAAEA,EAAE1J,QAAc,wIAClB0J,GAAEA,EAAE1J,QAAc,wIAClB0J,GAAEA,EAAE1J,QAAa,iBACjB0J,GAAEA,EAAE1J,QAAa,oBACjB0J,GAAEA,EAAE1J,QAAc,iBAClB0J,GAAEA,EAAE1J,QAAe,eACnB0J,GAAEA,EAAE1J,QAAgB,mJACpB0J,GAAEA,EAAE1J,QAAe,gBACnB0J,GAAEA,EAAE1J,QAAc,kBAClB0J,GAAEA,EAAE1J,QAAc,iBAClB0J,GAAEA,EAAE1J,QAAe,eACnB0J,GAAEA,EAAE1J,QAAgB,mJACpB0J,GAAEA,EAAE1J,QAAe,gBACnB0J,GAAEA,EAAE1J,QAAc,kBAClB0J,GAAEA,EAAE1J,QAAc,iBAClB0J,GAAEA,EAAE1J,QAAe,eACnB0J,GAAEA,EAAE1J,QAAgB,mJACpB0J,GAAEA,EAAE1J,QAAe,gBACnB0J,GAAEA,EAAE1J,QAAe,4LACnB0J,GAAEA,EAAE1J,QAAe,kDACnB0J,GAAEA,EAAE1J,QAAc,kBAClB0J,GAAEA,EAAE1J,QAAa,qBACjB0J,GAAEA,EAAE1J,QAAa,oBACjB0J,GAAEA,EAAE1J,QAAc,uDAClB0J,GAAEA,EAAE1J,QAAc,+BAClB0J,GAAEA,EAAE1J,QAAe,WACnB0J,GAAEA,EAAE1J,QAAgB,2GACpB0J,GAAEA,EAAE1J,QAAgB,qIACpB0J,GAAEA,EAAE1J,QAAgB,iHACpB0J,GAAEA,EAAE1J,QAAe,YACnB0J,GAAEA,EAAE1J,QAAe,0FACnB0J,GAAEA,EAAE1J,QAAc,eAClB0J,GAAEA,EAAE1J,QAAc,+BAClB0J,GAAEA,EAAE1J,QAAe,WACnB0J,GAAEA,EAAE1J,QAAgB,2GACpB0J,GAAEA,EAAE1J,QAAgB,iHACpB0J,GAAEA,EAAE1J,QAAe,YACnB0J,GAAEA,EAAE1J,QAAe,wFACnB0J,GAAEA,EAAE1J,QAAc,eAClB0J,GAAEA,EAAE1J,QAAa,qBACjB0J,GAAEA,EAAE1J,QAAY,gBAChB0J,GAAEA,EAAE1J,QAAW,oBAEf0J,GAAEA,EAAE1J,QAAW,oBACf0J,GAAEA,EAAE1J,QAAY,WAChB0J,GAAEA,EAAE1J,QAAa,kSACjB0J,GAAEA,EAAE1J,QAAY,YAChB0J,GAAEA,EAAE1J,QAAY,WAChB0J,GAAEA,EAAE1J,QAAa,kSACjB0J,GAAEA,EAAE1J,QAAY,YAChB0J,GAAEA,EAAE1J,QAAW,qBACf0J,GAAEA,EAAE1J,QAAW,wBACf0J,GAAEA,EAAE1J,QAAU,YACd,OAAO0J,GAAElD,KAAK,IAGf,QAASm/E,IAAYhlE,EAAM3gB,EAAQ6T,GAClC,GAAI0d,GAAM5Q,EAAKrZ,EAAItH,CACnB,IAAI4lF,GAAiBjlE,EAAKR,WAAW,EACrC,IAAGylE,IAAmB,OAAQ,MAC9B,KAAI/xE,EAAKo/C,WAAY,CAAEtyC,EAAKrZ,EAAIiqB,CAAK,QACrC,GAAI7tB,GAAOid,EAAK5c,MAAM4c,EAAKrZ,EAC3BqZ,GAAKrZ,EAAIiqB,CACT,IAAI+L,EAAK,KAAMA,EAAMU,GAASt6B,GAAOwS,KAAM,UAAa,MAAMpW,GAAK,OACnE,GAAI+lF,GAAWloD,GAAUL,EAAK,yBAA0B,KACxD,KAAIuoD,EAAU,MACd,OAAON,IAAgBM,EAAUhyE,GAIlC,QAASiyE,IAAiBnlE,GAAQ,MAAOA,GAAKR,WAAW,GAGzD,QAAS4lE,IAAmBplE,GAC3B,GAAIjX,KACJA,GAAEs8E,SAAWrlE,EAAKR,WAAW,EAC7BzW,GAAEu8E,WAAatlE,EAAKR,WAAW,EAC/B,QAAOzW,EAAEs8E,UACR,IAAK,GAAGrlE,EAAKrZ,GAAK,CAAG,OACrB,IAAK,GAAGoC,EAAEw8E,UAAYC,GAAYxlE,EAAM,EAAI,OAC5C,IAAK,GAAGjX,EAAEw8E,UAAY56B,GAAe3qC,EAAM,EAAI,OAC/C,IAAK,GAAGjX,EAAEw8E,UAAYJ,GAAiBnlE,EAAM,EAAI,OACjD,IAAK,GAAGA,EAAKrZ,GAAK,CAAG,QAEtBqZ,EAAKrZ,GAAK,CACV,OAAOoC,GAIR,QAASy8E,IAAYxlE,EAAM3gB,GAC1B,MAAO4mC,IAAUjmB,EAAM3gB,GAIxB,QAASomF,IAAoBzlE,EAAM3gB,GAClC,MAAO4mC,IAAUjmB,EAAM3gB,GAIxB,QAASqmF,IAAc1lE,GACtB,GAAI2lE,GAAU3lE,EAAKR,WAAW,EAC9B,IAAI2mB,GAAKnmB,EAAKR,WAAW,GAAK,CAC9B,IAAIzW,IAAK48E,EACT,QAAOA,GACN,IAAK,IAAM,IAAK,IAAM,IAAK,IAAM,IAAK,IACtC,IAAK,IAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IACrC58E,EAAE,GAAKq8E,GAAmBplE,EAAMmmB,EAAK,OACtC,IAAK,GAAMp9B,EAAE,GAAK08E,GAAoBzlE,EAAMmmB,EAAK,OACjD,IAAK,KAAM,IAAK,IAAMp9B,EAAE,GAAKiX,EAAKR,WAAW2mB,IAAO,EAAI,EAAI,EAAI,OAChE,QAAS,KAAM,IAAIjmC,OAAM,8BAAgCylF,EAAU,IAAMx/C,IAE1E,MAAOp9B,GAIR,QAAS68E,IAAY5lE,EAAM3gB,GAC1B,GAAIuxB,GAAM5Q,EAAKrZ,EAAItH,CACnB2gB,GAAKrZ,GAAK,CACV,IAAIokD,GAAO/qC,EAAKR,WAAW,EAC3BQ,GAAKrZ,GAAK,CACV,IAAIk/E,GAAQ7lE,EAAKR,WAAW,EAC5B,IAAI8Q,KACJ,OAAMu1D,KAAU,EAAGv1D,EAAI1pB,KAAK8+E,GAAc1lE,EAAM4Q,EAAI5Q,EAAKrZ,GACzD,QAAQokD,KAAKA,EAAMz6B,IAAIA,GAIxB,QAASw1D,IAAarxB,EAAIsxB,GACzBA,EAAMhhF,QAAQ,SAASihF,GACtB,OAAOA,EAAI,IACV,IAAK,GAAM,MACX,IAAK,GAAM,MACX,IAAK,GAAM,MACX,IAAK,GAAM,MACX,IAAK,GAAM,MACX,IAAK,GAAM,MACX,IAAK,IAAM,MACX,IAAK,IAAM,MACX,IAAK,IACJ,MACD,IAAK,IAAM,MACX,IAAK,IAAM,UAKd,QAASC,IAAiBljF,EAAM1D,GAC9B,OACE6gB,MAAOnd,EAAKyc,WAAW,GACvBxgB,QAAS+D,EAAKyc,WAAW,GACzBgD,KAAM+oB,GAAmBxoC,EAAM1D,EAAS,IAG5C,QAAS6mF,IAAiBnjF,GACxB,GAAIgG,GAAIkb,GAAQ,GAAK,EAAIlhB,EAAKyf,KAAKnjB,OACnC0J,GAAEsW,YAAY,EAAGtc,EAAKmd,MACtBnX,GAAEsW,YAAY,EAAGtc,EAAK/D,QACtBysC,IAAmB1oC,EAAKyf,KAAMzZ,EAC9B,OAAOA,GAAE3F,MAAM,EAAG2F,EAAEpC,GAEtB,QAASw/E,IAAapjF,GACpB,GAAIE,KACJ,IAAIihB,GAAMnhB,EAAKyc,WAAW,EAC1B,OAAO0E,KAAQ,EACbjhB,EAAI2D,MAAM7D,EAAKyc,WAAW,GAAIzc,EAAKyc,WAAW,IAChD,OAAOvc,GAET,QAASmjF,IAAajkF,GACpB,GAAI4G,GAAIkb,GAAQ,EAAI,EAAI9hB,EAAI9C,OAC5B0J,GAAEsW,YAAY,EAAGld,EAAI9C,OACrB,KAAK,GAAID,GAAI,EAAGA,EAAI+C,EAAI9C,SAAUD,EAAG,CACnC2J,EAAEsW,YAAY,EAAGld,EAAI/C,GAAG,GACxB2J,GAAEsW,YAAY,EAAGld,EAAI/C,GAAG,IAE1B,MAAO2J,GAET,QAASs9E,IAAoBniE,EAAK1B,GAChC,GAAIzZ,GAAIkb,GAAQ,EAAI,EAAIzB,EAAKnjB,OAC7B0J,GAAEsW,YAAY,EAAG6E,EACjBunB,IAAmBjpB,EAAMzZ,EACzB,OAAOA,GAAE3F,MAAM,EAAG2F,EAAEpC,GAEtB,QAAS2/E,IAAoBvjF,GAC3BA,EAAK4D,GAAK,CACV,OAAO5D,GAAKyc,WAAW,IAAM,EAE/B,QAAS+mE,IAAoBriE,EAAKsiE,GAChC,GAAIz9E,GAAIkb,GAAQ,EAChBlb,GAAEsW,YAAY,EAAG6E,EACjBnb,GAAEsW,YAAY,EAAGmnE,EAAK,EAAI,EAC1B,OAAOz9E,GAET,QAAS09E,IAAiB1jF,EAAMyf,EAAMoE,GACpC,GAAI3jB,IAAQyjF,SAAWC,QAAUhL,SACjC,IAAIzoE,GAAO0T,KACX,IAAI1B,KACJ,IAAIyvD,GAAO,KACX,IAAIiS,GAAW,CACf1gD,IAAanjC,EAAM,SAAS0S,EAAKkJ,EAAG2nB,GAClC,OAAQA,GACN,IAAK,KACHrjC,EAAIyjF,MAAM9/E,MAAO4b,KAAM/M,EAAI+M,MAC3B,OACF,IAAK,IACH/M,EAAI1Q,QAAQ,SAASgS,GACnB,GAAI6vE,GAAY,EACd3jF,EAAI0jF,KAAK//E,MAAO2O,KAAMtS,EAAIyjF,MAAM3vE,EAAE,GAAK,GAAGyL,KAAMqY,MAAO9jB,EAAE,SACtD,IAAI6vE,GAAY,EACnB3jF,EAAI04E,MAAM/0E,MAAO2O,KAAMtS,EAAIyjF,MAAM3vE,EAAE,GAAK,GAAGyL,KAAMqY,MAAO9jB,EAAE,MAE9D,OACF,IAAK,KACH6vE,EAAWnxE,EAAM,EAAI,CACrB,OACF,IAAK,KACHmxE,EAAW,CACX,OACF,IAAK,IACH1hE,EAAMte,KAAK0/B,EACXquC,GAAO,IACP,OACF,IAAK,IACHzvD,EAAMkB,KACNuuD,GAAO,KACP,OACF,QACE,GAAIh2D,EAAEnL,EAAG,MACF,KAAKmhE,GAAQzhE,EAAK6tB,KAAO7b,EAAMA,EAAM7lB,OAAS,IAAM,GACzD,KAAM,IAAIa,OAAM,uBAAyBomC,EAAGjjC,SAAS,QAG7D,OAAOJ,GAET,QAAS4jF,MACP,GAAIt/C,GAAKf,IACTc,IAAaC,EAAI,IACjBD,IAAaC,EAAI,IAAK+D,GAAe,GACrChE,IAAaC,EAAI,IAAK2+C,IACpB1jE,KAAM,SACNxjB,QAAS,KACTkhB,MAAO,aAETonB,IAAaC,EAAI,IACjBD,IAAaC,EAAI,IAAK8+C,GAAoB,EAAG,UAC7C/+C,IAAaC,EAAI,GACjBD,IAAaC,EAAI,GAAI+D,GAAe,KACpChE,IAAaC,EAAI,KAAM+D,GAAe,GACtChE,IAAaC,EAAI,KAAMsgB,GAAY,GACnCvgB,IAAaC,EAAI,GACjBD,IAAaC,EAAI,GACjBD,IAAaC,EAAI,IACjBD,IAAaC,EAAI,IAAKg/C,GAAoB,EAAG,MAC7Cj/C,IAAaC,EAAI,GAAI6+C,KAAe,EAAG,KACvC9+C,IAAaC,EAAI,IACjBD,IAAaC,EAAI,IACjB,OAAOA,GAAG3W,MAEZ,QAASk2D,IAAiB/jF,EAAMyf,EAAMtP,GACpC,GAAIjQ,IAAQyjF,SAAWC,QAAUhL,SACjC,KAAK54E,EACH,MAAOE,EACT,IAAI0xE,GAAO,KACX,IAAIiS,GAAW,CACf,IAAIG,EACJhkF,GAAKsH,QAAQyzB,GAAU,SAASz8B,GAC9B,GAAIqS,GAAIuqB,GAAY58B,EACpB,QAAQm9B,GAAS9qB,EAAE,KACjB,IAAK,QACH,MACF,IAAK,aACL,IAAK,cACH,MACF,IAAK,kBACL,IAAK,mBACH,MACF,IAAK,gBACHzQ,EAAIyjF,MAAM9/E,MAAO4b,KAAM9O,EAAE8O,MACzB,OACF,IAAK,kBACH,MACF,IAAK,kBACH,IAAK,GAAI9iB,GAAI,EAAGA,EAAIuD,EAAIyjF,MAAMrnF,SAAUK,EACtC,GAAIuD,EAAIyjF,MAAMhnF,GAAG8iB,MAAQ9O,EAAE8O,KACzBukE,EAAW9jF,EAAIyjF,MAAMhnF,EACzB,OACF,IAAK,oBACH,MACF,IAAK,OACH,MACF,IAAK,QACH,MACF,IAAK,MACH,GAAIknF,GAAY,EACd3jF,EAAI0jF,KAAK//E,MAAO2O,KAAMtS,EAAIyjF,MAAMhzE,EAAErH,EAAI,GAAGmW,KAAMqY,OAAQnnB,EAAEtH,QACtD,IAAIw6E,GAAY,EACnB3jF,EAAI04E,MAAM/0E,MAAO2O,KAAMtS,EAAIyjF,MAAMhzE,EAAErH,EAAI,GAAGmW,KAAMqY,OAAQnnB,EAAEtH,GAC5D,OACF,IAAK,QACH,MACF,IAAK,gBACHw6E,EAAW,CACX,OACF,IAAK,kBACHA,EAAW,CACX,OACF,IAAK,iBACHA,EAAW,CACX,OACF,IAAK,mBACHA,EAAW,CACX,OACF,IAAK,WACL,IAAK,YACL,IAAK,aACL,IAAK,YACH,MACF,IAAK,OACHjS,EAAO,IACP,OACF,IAAK,SACHA,EAAO,KACP,OACF,IAAK,OACH,IAAKoS,EACH,KACF,KAAKA,EAASC,QACZD,EAASC,UACXD,GAASC,QAAQpgF,MAAM8M,EAAEtU,EACzB,OACF,QACE,IAAKu1E,IAASzhE,GAAQ,SAAY,GAAIA,EAAK6tB,KACzC,KAAM,IAAI7gC,OAAM,gBAAkBwT,EAAE,GAAK,iBAE/C,MAAOrS,IAET,OAAO4B,GAET,QAASgkF,MACP,GAAIl+E,IAAK20B,GACT30B,GAAEnC,KAAK,o2BACP,OAAOmC,GAAElD,KAAK,IAGhB,QAASqhF,IAAankF,GACrB,GAAI9D,KACJ,KAAI8D,EAAM,MAAO9D,EACjB,IAAIG,GAAI,GACP2D,EAAKkD,MAAM63B,SAAe/4B,QAAQ,SAAS1D,GAC3C,GAAIqS,GAAIuqB,GAAY58B,EACpB,QAAOqS,EAAE,IACR,IAAK,QAAS,MAEd,IAAK,cAAc,IAAK,eAAe,IAAK,eAAgB,MAE5D,IAAK,WAAaA,GAAE,EAAI,IAAGA,EAAEtU,EAAGA,EAAIsU,EAAEtU,MAAQsU,GAAEtU,EAAIA,CAAGH,GAAE2H,KAAK8M,EAAI,UAGpE,OAAOzU,GAMR,QAASkoF,IAAwBpkF,GAChC,GAAIE,KACJA,GAAI7D,EAAI2D,EAAKyc,WAAW,EACxB,IAAIioB,KACJA,GAAK1wB,EAAIhU,EAAKyc,WAAW,EACzBioB,GAAK/jC,EAAIX,EAAKyc,WAAW,EACzBvc,GAAI8T,EAAIixB,GAAYP,EACpB,IAAIvnB,GAAQnd,EAAKyc,WAAW,EAC5B,IAAGU,EAAQ,EAAKjd,EAAI0D,EAAI,GACxB,IAAGuZ,EAAQ,EAAKjd,EAAIgoB,EAAI,GACxB,OAAOhoB,GAIR,QAASmkF,IAAarkF,EAAMyf,EAAMtP,GACjC,GAAIjQ,KACJ,IAAI0xE,GAAO,KACXzuC,IAAanjC,EAAM,QAASskF,GAAU5xE,EAAKkJ,EAAG2nB,GAC7C,OAAOA,GACN,IAAK,IACJrjC,EAAI2D,KAAK6O,EAAM,OAEhB,QACC,GAAGkJ,EAAEnL,EAAE,MACF,KAAImhE,GAAQzhE,EAAK6tB,IAAK,KAAM,IAAI7gC,OAAM,uBAAyBomC,EAAGjjC,SAAS,QAGnF,OAAOJ,GAKR,QAASqkF,OAMT,QAASC,IAAgBxkF,EAAM86C,EAAKr7B,EAAMoE,GACzC,IAAI7jB,EAAM,MAAOA,EACjB,IAAImQ,GAAO0T,KAEX,IAAI+tD,GAAO,MAAO/jD,EAAM,KAExBsV,IAAanjC,EAAM,QAASykF,GAAY/xE,EAAKkJ,EAAG2nB,GAC/C,GAAG1V,EAAK,MACR,QAAO0V,GACN,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,KACJ,MAED,IAAK,IACJquC,EAAO,IAAM,OACd,IAAK,IACJA,EAAO,KAAO,OAEf,QACC,GAAGh2D,EAAEnL,EAAE,MACF,KAAImhE,GAAQzhE,EAAK6tB,IAAK,KAAM,IAAI7gC,OAAM,uBAAyBomC,EAAGjjC,SAAS,QAEhF6P,GAIJ,QAASu0E,IAAc1kF,EAAMm3C,GAC5B,IAAIn3C,EAAM,MAAO,IAYjB,IAAIspD,IAAMtpD,EAAKkD,MAAM,qCAAqC,GAAG,KAAK,EAElE,OAAOi0C,GAAK,OAAOmS,GAAItO,OAIxB,QAAS2pC,IAAU3kF,EAAM+mC,EAAO6P,GAC/B,GAAIguC,GAAO;CACV5rD,GAAmBh5B,EAAM,cAAcgC,QAAQ,SAASgO,GACxD,GAAIwC,GAAO,EACX,IAAIq4C,GAAS,IACb,IAAIg6B,IAAQ,CACZ,IAAIjpE,IAAK,EAAGnZ,GAAK,CACjBuN,GAAE1I,QAAQyzB,GAAU,SAASz8B,EAAGgV,GAC/B,GAAI3C,GAAIuqB,GAAY58B,EACpB,QAAOm9B,GAAS9qB,EAAE,KACjB,IAAK,cAAe,GAAGA,EAAEm0E,WAAYtyE,EAAO7B,EAAEm0E,UAAY,OAE1D,IAAK,YAAY,IAAK,aAAcj6B,EAAS,KAAO,OAEpD,IAAK,QAAQ,IAAK,QAASg6B,EAAOvxE,EAAMhV,EAAEhC,MAAQ,OAClD,IAAK,SAAUsf,GAAK5L,EAAE3P,MAAMwkF,EAAMvxE,GAAKib,MAAQ,OAE/C,IAAK,WAAW,IAAK,WAAYs2D,EAAOvxE,EAAMhV,EAAEhC,MAAQ,OACxD,IAAK,YAAamG,GAAKuN,EAAE3P,MAAMwkF,EAAMvxE,GAAKib,MAAQ,QAEnD,MAAO,IAER,QAAO/b,GACP,IAAK,OACJ,GAAIkyB,GAAOqgD,GAAiBh+C,EAASnrB,GAAG,GAAKnZ,GAAG,EAAKwiC,IAAajxB,EAAE4H,EAAEjb,EAAE8B,IAAMm0C,EAASguC,GAAMzwB,IAC7F,IAAGzvB,EAAK/jC,EAAG,CACV+jC,EAAK/jC,EAAEkqD,OAASA,IAEf+5B,CACF,WAQH,QAASI,IAAUzpC,EAAK3E,EAAUrP,GACjC,GAAI09C,IAAS,MAAO,MAEpB,IAAIC,IAAQ,SAASD,EAAM,GAAGA,EAAM,GAAGA,EAAM,GAAGA,EAAM,GAAG,OAAOniF,KAAK,IACrE,IAAIkD,IACHo4B,GAAU,MAAO,MAAQ+mD,UAAWzlD,GAAOr2B,EAAG+7E,UAAW1lD,GAAO15B,EAAGq/E,UAAW3lD,GAAOphC,EAAGgnF,WAAY5lD,GAAO5gB,KAAMxX,QAAQ,MAAM,KAC/H82B,GAAU,gBAAiBA,GAAU,UAAW,MAAOmnD,QAAQ,OAAQvlF,KAAOu7C,KAAQgqC,QAAQ,SAG/F,IAAIC,GAAW,MAAQjqC,CAEvB,IAAIkqC,GAAY7uC,KAChB,IAAG6uC,EAAUnpF,OAAS,EAAG0J,EAAEnC,KAAKu6B,GAAU,eACzCA,GAAU,WAAY,MAAOsnD,UAAU,UACvCtnD,GAAU,SAAU,MAAOunD,gBAAgB,IAAKC,gBAAgB,UAC/D9iF,KAAK,KAAMwmD,GAAG,cAAeu8B,UAAUZ,EAAMniF,KAAK,KAAMgjF,QAAQ,IAAK7gE,KAAKigE,IAE5EO,GAAUzjF,QAAQ,SAAS1D,KAAOknF,CAAUx/E,GAAEnC,KAAKkiF,GAAkBznF,EAAGknF,KACxEx/E,GAAEnC,KAAK,SACP,OAAOmC,GAAElD,KAAK,IAGf,QAASijF,IAAkBznF,EAAGknF,EAAUj+C,GACvC,GAAI5mC,GAAIolC,GAAYznC,EAAE,GACtB,IAAI0nF,IAAYC,OAAS,UAAWzzE,KAAO,WAC3C,IAAGwzE,EAASxzE,MAAQ,WAAYwzE,EAASE,MAAQ,MACjD,IAAIC,GAAWH,EAASxzE,MAAQ,WAAa4rB,GAAU,SAAU,MAAO5rB,KAAK,mBAAoB+yE,QAAQ,SAAW,IACpH,IAAIa,GAAUhoD,GAAU,SAAU+nD,EAAUH,EAE5C,IAAIK,IAAYC,GAAG,IAAKC,SAAW,IAEnC,QACA,WAAapoD,IACZmrB,GAAG,WAAak8B,EAChBhzE,KAAK,eACL+lC,MAAM,yFAA2Fj6C,EAAE,GAAGusD,OAAS,qBAAuB,IACtI27B,UAAU,UACVC,YAAY,YACR,IACJL,EACAhoD,GAAU,WAAY,KAAMioD,GAC5BjoD,GAAU,SAAU,MAAOwnD,gBAAgB,SAC3C,6DACA,mCACC,qBACA,qBAEA1nD,GAAS,YAAav9B,EAAEA,EAAE,EAAG,EAAGA,EAAEqT,EAAE,EAAG,EAAGrT,EAAEA,EAAE,EAAG,GAAIA,EAAEqT,EAAE,EAAG,IAAIlR,KAAK,MACrEo7B,GAAS,aAAc,SACvBA,GAAS,QAAS3/B,OAAOoC,EAAEqT,IAC3BkqB,GAAS,WAAY3/B,OAAOoC,EAAEA,IAC9BrC,EAAE,GAAGusD,OAAS,GAAK,eACpB,kBACD,cACE/nD,KAAK,IAER,QAAS4jF,IAAsB3/C,EAAO6P,EAAU+vC,EAAU9uC,GACzD,GAAIzQ,GAAQL,EAAM,UAAY,IAC9B,IAAIrC,EACJkS,GAAS50C,QAAQ,SAASiyD,GACzB,GAAIjgD,GAAI+xB,GAAYkuB,EAAQE,IAC5B,IAAGngD,EAAEA,EAAI,GAAKA,EAAErT,EAAI,EAAG,MACvB,IAAGymC,EAAO,CACT,IAAIL,EAAM,SAAS/yB,EAAEA,GAAI+yB,EAAM,SAAS/yB,EAAEA,KAC1C0wB,GAAOqC,EAAM,SAAS/yB,EAAEA,GAAGA,EAAErT,OACvB+jC,GAAOqC,EAAMktB,EAAQE,IAC5B,KAAKzvB,EAAM,CACVA,GAASp7B,EAAE,IACX,IAAG89B,EAAOL,EAAM,SAAS/yB,EAAEA,GAAGA,EAAErT,GAAK+jC,MAChCqC,GAAMktB,EAAQE,KAAOzvB,CAC1B,IAAIK,GAAQyB,GAAkBO,EAAM,SAAS,kBAC7C,IAAGhC,EAAMnjC,EAAEoS,EAAIA,EAAEA,EAAG+wB,EAAMnjC,EAAEoS,EAAIA,EAAEA,CAClC,IAAG+wB,EAAM3oC,EAAE4X,EAAIA,EAAEA,EAAG+wB,EAAM3oC,EAAE4X,EAAIA,EAAEA,CAClC,IAAG+wB,EAAMnjC,EAAEjB,EAAIqT,EAAErT,EAAGokC,EAAMnjC,EAAEjB,EAAIqT,EAAErT,CAClC,IAAGokC,EAAM3oC,EAAEuE,EAAIqT,EAAErT,EAAGokC,EAAM3oC,EAAEuE,EAAIqT,EAAErT,CAClC,IAAIgtB,GAAUsY,GAAalB,EAC3BgC,GAAM,QAAUpZ,EAGjB,IAAK+W,EAAK/jC,EAAG+jC,EAAK/jC,IAClB,IAAIqF,IAAMkiB,EAAG+rC,EAAQ2yB,OAAQt9E,EAAG2qD,EAAQ3qD,EAAG0K,EAAGigD,EAAQjgD,EAAGvD,EAAGk2E,EAC5D,IAAG1yB,EAAQ1sC,EAAGvhB,EAAEuhB,EAAI0sC,EAAQ1sC,CAG5B,KAAI,GAAIlrB,GAAIqoC,EAAK/jC,EAAErE,OAAS,EAAGD,GAAK,IAAKA,EAAG,CAC3C,IAAIsqF,GAAYjiD,EAAK/jC,EAAEtE,GAAGoU,EAAG,MAC7B,IAAGk2E,IAAajiD,EAAK/jC,EAAEtE,GAAGoU,EAAGi0B,EAAK/jC,EAAE2uB,OAAOjzB,EAAG,GAE/C,GAAGsqF,GAAY9uC,EAAQ,IAAIx7C,EAAI,EAAGA,EAAIw7C,EAAOv7C,SAAUD,EAAG,CACzD,GAAG2J,EAAEkiB,GAAK2vB,EAAOx7C,GAAGitD,GAAI,CAAEtjD,EAAEkiB,EAAI2vB,EAAOx7C,GAAGojB,MAAQzZ,EAAEkiB,CAAG,QAExDwc,EAAK/jC,EAAEkD,KAAKmC,KAId,QAAS6gF,IAAmB7mF,EAAMmQ,GAEjC,GAAGnQ,EAAKkD,MAAM,2BAA4B,QAC1C,IAAI4jF,KACJ,IAAIC,KACJ,IAAIC,GAAUnuD,GAAiB74B,EAAM,UACrC,IAAGgnF,GAAWA,EAAQ,GAAIA,EAAQ,GAAGpqF,MAAM,mBAAmBoF,QAAQ,SAAS1D,GAC9E,GAAGA,IAAM,IAAMA,EAAEiwB,SAAW,GAAI,MAChC,IAAIrG,GAAI5pB,EAAE4E,MAAM,8BAChB,IAAGglB,EAAG4+D,EAAQjjF,KAAKqkB,EAAE,KAEtB,IAAI++D,GAAUpuD,GAAiB74B,EAAM,cACrC,IAAGinF,GAAWA,EAAQ,GAAIA,EAAQ,GAAGrqF,MAAM,oBAAoBoF,QAAQ,SAAS1D,GAC/E,GAAGA,IAAM,IAAMA,EAAEiwB,SAAW,GAAI,MAChC,IAAIk1D,GAAKnlF,EAAE4E,MAAM,2BACjB,KAAIugF,EAAI,MACR,IAAI9yE,GAAIuqB,GAAYuoD,EAAG,GACvB,IAAIxvB,IAAa2yB,OAAQj2E,EAAEu2E,UAAYJ,EAAQn2E,EAAEu2E,WAAa,eAAgB/yB,IAAKxjD,EAAEwjD,IAAK9M,KAAM12C,EAAE02C,KAClG,IAAI3iB,GAAOqB,GAAYp1B,EAAEwjD,IACzB,IAAGhkD,EAAKmrD,WAAanrD,EAAKmrD,WAAa52B,EAAK1wB,EAAG,MAC/C,IAAImzE,GAAYtuD,GAAiBv6B,EAAG,OACpC,IAAI6pD,KAAOg/B,KAAeA,EAAU,IAAMlU,GAASkU,EAAU,MAAQnzE,EAAE,GAAG1K,EAAE,GAAGie,EAAE,GACjF0sC,GAAQjgD,EAAIm0C,EAAGn0C,CACf,IAAGm0C,EAAGn0C,GAAK,UAAWm0C,EAAG7+C,EAAI6+C,EAAG5gC,EAAI,EACpC0sC,GAAQ3qD,GAAK6+C,EAAG7+C,GAAG,IAAIhC,QAAQ,QAAQ,MAAMA,QAAQ,MAAM,KAC3D,IAAG6I,EAAK+iE,SAAUjf,EAAQ1sC,EAAI4gC,EAAG5gC,CACjCw/D,GAAYljF,KAAKowD,IAElB,OAAO8yB,GAGR,QAASK,IAAmBpnF,GAC3B,GAAIgG,IAAK20B,GAAYyD,GAAU,WAAY,MAAQ2Z,MAAStY,GAAW,KAEvE,IAAI4nD,KACJrhF,GAAEnC,KAAK,YACP7D,GAAKgC,QAAQ,SAAS1D,GAAKA,EAAE,GAAG0D,QAAQ,SAAS7B,GAAK,GAAI+nB,GAAIsU,GAAUr8B,EAAE+nB,EACzE,IAAGm/D,EAAQzkF,QAAQslB,KAAO,EAAG,CAC5Bm/D,EAAQxjF,KAAKqkB,EACbliB,GAAEnC,KAAK,WAAaqkB,EAAI,aAEzB,GAAG/nB,EAAEsQ,GAAKtQ,EAAEmnF,IAAMD,EAAQzkF,QAAQ,MAAQzC,EAAEmnF,MAAQ,EAAG,CACtDD,EAAQxjF,KAAK,MAAQ1D,EAAEmnF,GACvBthF,GAAEnC,KAAK,WAAa,MAAQ1D,EAAEmnF,GAAK,iBAGrC,IAAGD,EAAQ/qF,QAAU,EAAG,CAAE+qF,EAAQxjF,KAAK,UAAYmC,GAAEnC,KAAK,4BAC1DmC,EAAEnC,KAAK,aACPmC,GAAEnC,KAAK,gBACP7D,GAAKgC,QAAQ,SAAS9F,GAErB,GAAIqrF,GAAa,EAAGC,KAASC,EAAO,CACpC,IAAGvrF,EAAE,GAAG,IAAMA,EAAE,GAAG,GAAGuU,GAAKvU,EAAE,GAAG,GAAGorF,GAAIC,EAAaF,EAAQzkF,QAAQ,MAAQ1G,EAAE,GAAG,GAAGorF,GACpFprF,GAAE,GAAG8F,QAAQ,SAASrB,GACrB,GAAGA,EAAEunB,EAAGq/D,EAAaF,EAAQzkF,QAAQ45B,GAAU77B,EAAEunB,GACjD,IAAGvnB,EAAE8P,IAAKg3E,CACVD,GAAG3jF,KAAKlD,EAAE2I,GAAK,KAAO,GAAKkzB,GAAU77B,EAAE2I,KAExC,IAAGm+E,IAAS,EAAG,CACdvrF,EAAE,GAAG8F,QAAQ,SAASrB,GACrBqF,EAAEnC,KAAK,iBAAmB3H,EAAE,GAAK,eAAiBmrF,EAAQzkF,QAAQ45B,GAAU77B,EAAEunB,IAAM,WACpFliB,GAAEnC,KAAKq6B,GAAS,IAAKv9B,EAAE2I,GAAK,KAAO,GAAKkzB,GAAU77B,EAAE2I,IACpDtD,GAAEnC,KAAK,2BAEF,CACN,GAAG3H,EAAE,GAAG,IAAMA,EAAE,GAAG,GAAGuU,GAAKvU,EAAE,GAAG,GAAGorF,GAAIC,EAAaF,EAAQzkF,QAAQ,MAAQ1G,EAAE,GAAG,GAAGorF,GAEpFthF,GAAEnC,KAAK,iBAAmB3H,EAAE,GAAK,eAAiBqrF,EAAa,WAC/D,IAAIj+E,GAAI,iBAAoBk+E,EAAG,GAAM,IACrC,KAAI,GAAInrF,GAAI,EAAGA,EAAImrF,EAAGlrF,SAAUD,EAAGiN,GAAK,eAAiBk+E,EAAGnrF,GAAK,IACjE2J,GAAEnC,KAAKq6B,GAAS,IAAK1B,GAAUlzB,IAC/BtD,GAAEnC,KAAK,uBAGTmC,GAAEnC,KAAK,iBACP,IAAGmC,EAAE1J,OAAO,EAAG,CAAE0J,EAAEA,EAAE1J,QAAU,aAAiB0J,GAAE,GAAGA,EAAE,GAAGsB,QAAQ,KAAK,KACvE,MAAOtB,GAAElD,KAAK,IAIf,QAAS4kF,IAAgB1nF,EAAMmQ,GAC9B,GAAIjQ,KACJ,IAAI0xE,GAAO,MAAO3d,KAAc0zB,EAAO,CACvC3nF,GAAKsH,QAAQyzB,GAAU,QAAS6sD,GAAUtpF,EAAGgV,GAC5C,GAAI3C,GAAIuqB,GAAY58B,EACpB,QAAOm9B,GAAS9qB,EAAE,KACjB,IAAK,QAAS,MAGd,IAAK,oBAAqB,MAC1B,IAAK,sBAAuB,MAG5B,IAAK,mBAAoBsjD,GAAW2yB,OAAQj2E,EAAEk3E,SAAUxgC,KAAM12C,EAAE24C,GAAI6K,IAAKxjD,EAAEwjD,IAAK1jD,EAAG,EAAI,OACvF,IAAK,qBAAsB,GAAGwjD,EAAQ3qD,GAAK,KAAMpJ,EAAI2D,KAAKowD,EAAU,OAEpE,IAAK,UAAU,IAAK,QAAS0zB,EAAOr0E,EAAMhV,EAAEhC,MAAQ,OACpD,IAAK,UAAW23D,EAAQ3qD,EAAItJ,EAAKK,MAAMsnF,EAAMr0E,GAAKhM,QAAQ,QAAS,MAAMA,QAAQ,MAAO,KAAO,OAG/F,IAAK,aAAa,IAAK,aAAcsqE,EAAO,IAAM,OAClD,IAAK,cAAeA,EAAO,KAAO,OAKlC,IAAK,WAAW,IAAK,YAAY,IAAK,aAAa,IAAK,YAAa,MAErE,IAAK,OAAQA,EAAK,IAAM,OACxB,IAAK,SAAUA,EAAK,KAAO,OAE3B,QAAS,IAAIA,GAAQzhE,EAAK6tB,IAAK,KAAM,IAAI7gC,OAAM,gBAAkBwT,EAAE,GAAK,0BAEzE,MAAOrS,IAER,OAAO4B,GAGR,QAAS4nF,IAAgBlxC,EAAUiB,EAAQ1nC,GAC1C,GAAInK,IAAK20B,GAAYyD,GAAU,mBAAoB,MAAQ2Z,MAASrZ,GAAMM,QAAS13B,QAAQ,QAAS,KACpGsvC,GAAS50C,QAAQ,SAAS+lF,GACzB,GAAIC,GAAS,IACZD,EAAK,QAAU/lF,QAAQ,SAASrB,EAAG2S,GACnC,IAAI3S,EAAE8P,EAAG,OAAS9P,GAAE2mF,EAAI,QACxB,GAAG3mF,EAAEunB,GAAK2vB,EAAOj1C,QAAQjC,EAAEunB,KAAO,EAAG2vB,EAAOh0C,KAAKlD,EAAEunB,EACnD,IAAI+/D,IACH9zB,IAAK4zB,EAAK,GACVz+B,GAAI,6BAA+B,eAAiBn5C,EAAK+3E,QAAQ7nF,OAAO,IAAM,IAE/E,IAAGiT,GAAO,EAAG00E,EAASC,EAAO3+B,OACxB2+B,GAAOE,SAAWH,CACvBrnF,GAAE2mF,GAAKW,EAAO3+B,EACd,IAAG3oD,EAAEunB,EAAG+/D,EAAOJ,SAAW,6BAA+B,eAAiBhwC,EAAOj1C,QAAQjC,EAAEunB,IAAI7nB,OAAO,IAAM,GAC5G2F,GAAEnC,KAAKu6B,GAAU,kBAAmBF,GAAS,OAAQv9B,EAAE2I,GAAG,IAAK2+E,OAGjEjiF,GAAEnC,KAAK,sBACP,OAAOmC,GAAElD,KAAK,IAIf,QAASslF,IAAiBpoF,EAAMmQ,GAC/B,GAAIjQ,KACJ,IAAI0xE,GAAO,KACX5xE,GAAKsH,QAAQyzB,GAAU,QAAS6sD,GAAUtpF,GACzC,GAAIqS,GAAIuqB,GAAY58B,EACpB,QAAOm9B,GAAS9qB,EAAE,KACjB,IAAK,QAAS,MAGd,IAAK,cAAe,MACpB,IAAK,gBAAiB,MAGtB,IAAK,UAAWzQ,EAAI2D,MAAM4b,KAAM9O,EAAE03E,YAAa/+B,GAAI34C,EAAE24C,IAAO,OAC5D,IAAK,YAAa,MAGlB,IAAK,WAAW,IAAK,YAAY,IAAK,aAAa,IAAK,YAAa,MAErE,IAAK,OAAQsoB,EAAK,IAAM,OACxB,IAAK,SAAUA,EAAK,KAAO,OAE3B,QAAS,IAAIA,GAAQzhE,EAAK6tB,IAAK,KAAM,IAAI7gC,OAAM,gBAAkBwT,EAAE,GAAK,0BAEzE,MAAOrS,IAER,OAAO4B,GAER,QAASooF,IAAiBzwC,GACzB,GAAI7xC,IAAK20B,GAAYyD,GAAU,aAAc,MAC5C2Z,MAASrZ,GAAMM,MACfqmD,UAAW5lD,GAAW,KACpBn4B,QAAQ,QAAS,KACpBuwC,GAAO71C,QAAQ,SAASumF,EAAQj1E,GAC/BtN,EAAEnC,KAAKu6B,GAAU,SAAU,MAC1B4oB,YAAauhC,EACbj/B,GAAI,6BAA+B,eAAiBh2C,GAAKjT,OAAO,IAAM,IACtEmoF,OAAQD,EACRE,WAAY,WAGdziF,GAAEnC,KAAK,gBACP,OAAOmC,GAAElD,KAAK,IAGf,QAAS4lF,IAAsB1oF,GAC9B,GAAIE,KACJA,GAAImnF,QAAUrnF,EAAKyc,WAAW,EAC9B,IAAIksE,GAAMh+C,GAAmB3qC,EAAM,GACnCE,GAAIyoF,IAAMA,EAAI/mF,CACd1B,GAAIi0D,IAAMlvB,GAAY0jD,EAAI/mF,EAC1B5B,GAAK4D,GAAK,EACV,OAAO1D,GAER,QAAS0oF,IAAsB5oF,EAAMgG,GACpC,GAAGA,GAAK,KAAMA,EAAIkb,GAAQ,GAC1Blb,GAAEsW,YAAY,EAAGtc,EAAK,GAAGqnF,QACzBz8C,IAAoB5qC,EAAK,GAAKgG,EAC9BA,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,EACjB,OAAOtW,GAIR,GAAI6iF,IAAyBrgD,EAC7B,SAASsgD,IAAuB9oF,GAAQ,MAAO0oC,IAAmB1oC,EAAKK,MAAM,EAAG,KAGhF,QAAS0oF,IAAmB/oF,EAAMmQ,GACjC,GAAIjQ,KACJ,IAAI4mF,KACJ,IAAInmF,KACJ,IAAIixE,GAAO,KACXzuC,IAAanjC,EAAM,QAASgpF,GAAYt2E,EAAKkJ,EAAG2nB,GAC/C,OAAOA,GACN,IAAK,KACJujD,EAAQjjF,KAAK6O,EAAM,OACpB,IAAK,KACJ/R,EAAI+R,CAAK,OACV,IAAK,KACJ/R,EAAE2I,EAAIoJ,EAAIpJ,CAAG3I,GAAE4mB,EAAI7U,EAAI6U,CAAG5mB,GAAEqT,EAAItB,EAAIsB,CAAG,OACxC,IAAK,KACJrT,EAAEimF,OAASE,EAAQnmF,EAAE0mF,eACd,GAAIA,OACX,IAAGl3E,EAAKmrD,WAAa36D,EAAEgoF,KAAOx4E,EAAKmrD,WAAa36D,EAAEgoF,IAAI30E,EAAG,KACzD,KAAIrT,EAAE2I,EAAG3I,EAAE2I,EAAI,SACR3I,GAAEgoF,GAAKzoF,GAAI2D,KAAKlD,EAAI,OAE5B,IAAK,MACJ,MAED,IAAK,IACJixE,EAAO,IAAM,OACd,IAAK,IACJA,EAAO,KAAO,OACf,IAAK,IAA2B,MAChC,IAAK,IAAyB,MAG9B,QACC,GAAGh2D,EAAEnL,EAAE,MACF,KAAImhE,GAAQzhE,EAAK6tB,IAAK,KAAM,IAAI7gC,OAAM,uBAAyBomC,EAAGjjC,SAAS,QAGnF,OAAOJ,GAGR,QAAS+oF,IAAmBjpF,GAC3B,GAAIwkC,GAAKf,IACT,IAAI4jD,KACJ9iD,IAAaC,EAAI,IAEjBD,IAAaC,EAAI,IACjBxkC,GAAKgC,QAAQ,SAASiyD,GACrBA,EAAQ,GAAGjyD,QAAQ,SAASrB,GAC3B,GAAG0mF,EAAQzkF,QAAQjC,EAAEunB,IAAM,EAAG,MAC9Bm/D,GAAQxjF,KAAKlD,EAAEunB,EAAE7nB,MAAM,EAAE,IACzBkkC,IAAaC,EAAI,IAA+BskD,GAAuBnoF,EAAEunB,GACzE,IAAGvnB,EAAE8P,GAAK9P,EAAE2mF,IAAMD,EAAQzkF,QAAQ,MAAQjC,EAAE2mF,MAAQ,EAAG,CACtDD,EAAQxjF,KAAK,MAAQlD,EAAE2mF,GACvB/iD,IAAaC,EAAI,IAA+BskD,GAAuB,MAAQnoF,EAAE2mF,SAIpF/iD,IAAaC,EAAI,IAEjBD,IAAaC,EAAI,IACjBxkC,GAAKgC,QAAQ,SAASiyD,GACrBA,EAAQ,GAAGjyD,QAAQ,SAASrB,GAC3B,GAAIuoF,IAAO,CACX,IAAGvoF,EAAE2mF,GAAI4B,EAAM7B,EAAQzkF,QAAQ,MAAQjC,EAAE2mF,GACzC,IAAG4B,IAAQ,GAAKj1B,EAAQ,GAAG,GAAGxjD,GAAKwjD,EAAQ,GAAG,GAAGqzB,GAAI4B,EAAM7B,EAAQzkF,QAAQ,MAAQqxD,EAAQ,GAAG,GAAGqzB,GACjG,IAAG4B,IAAQ,EAAGA,EAAM7B,EAAQzkF,QAAQjC,EAAEunB,EACtCvnB,GAAE0mF,QAAU6B,CACZ,IAAInkD,IAASnjC,EAAEmkC,GAAYkuB,EAAQ,IAAI73D,EAAE2pC,GAAYkuB,EAAQ,IAC7D1vB,IAAaC,EAAI,IAA8BokD,IAAuB7jD,EAAOpkC,IAC7E,IAAGA,EAAE2I,GAAK3I,EAAE2I,EAAEhN,OAAS,EAAGioC,GAAaC,EAAI,IAA6B8E,GAAqB3oC,GAC7F4jC,IAAaC,EAAI,WACV7jC,GAAE0mF,WAGX9iD,IAAaC,EAAI,IAEjBD,IAAaC,EAAI,IACjB,OAAOA,GAAG3W,MAEX,GAAIs7D,IAAS,sCACb,SAASC,IAAavmE,GACpB,GAAIwmE,GAAS5tE,GAAI1X,MAAMmrB,SAAUnyB,KAAM,KACvC8lB,GAAI/C,UAAU9d,QAAQ,SAAS+Z,EAAG1f,GAChC,GAAI0f,EAAE1b,OAAO,KAAO,MAAQ0b,EAAE7Y,MAAM,oBAClC,MACF,IAAIomF,GAAUvtE,EAAEzU,QAAQ,UAAW,KAAKA,QAAQ,4BAA6B,GAC7EmU,IAAI1X,MAAMkoB,QAAQo9D,EAAQC,EAASzmE,EAAIhD,UAAUxjB,GAAGwM,UAEtD,OAAO4S,IAAIoK,MAAMwjE,GAEnB,QAASE,IAAa1mE,EAAK80B,GACzBA,EAAI73B,UAAU9d,QAAQ,SAAS+Z,EAAG1f,GAChC,GAAIA,GAAK,EACP,MACF,IAAIitF,GAAUvtE,EAAEzU,QAAQ,mBAAoB,qBAC5C,IAAIgiF,EAAQjpF,OAAO,KAAO,IACxBob,GAAI1X,MAAMkoB,QAAQpJ,EAAKymE,EAAS3xC,EAAI93B,UAAUxjB,GAAGwM,WAGvD,GAAI2gF,KAAW,OAAQ,OAAQ,OAAQ,QAAS,MAEhD,SAASC,MAAiB,OAAQC,QAAQ,UAC1C,QAASC,MAAiB,OAAQD,QAAQ,UAC1C,QAASE,MAAiB,OAAQF,QAAQ,SAC1C,QAASG,MAAiB,OAAQH,QAAQ,SAE1C,GAAI3mB,IAAW,WACd,GAAI+mB,GAAU,+EACd,IAAIC,IAAW/1E,EAAE,EAAErT,EAAE,EACrB,SAASqpF,GAAOt2E,EAAGC,EAAGC,EAAGC,GACxB,GAAI8wB,GAAO,MAAOC,EAAO,KAEzB,IAAGhxB,EAAGtX,QAAU,EAAGsoC,EAAO,SACrB,IAAGhxB,EAAGpX,OAAO,IAAM,IAAK,CAAEooC,EAAO,IAAMhxB,GAAKA,EAAGvT,MAAM,GAAI,GAE9D,GAAGwT,EAAGvX,QAAU,EAAGqoC,EAAO,SACrB,IAAG9wB,EAAGrX,OAAO,IAAM,IAAK,CAAEmoC,EAAO,IAAM9wB,GAAKA,EAAGxT,MAAM,GAAI,GAE9D,GAAIub,GAAIhI,EAAGtX,OAAO,EAAE8X,SAASR,EAAG,IAAI,EAAE,EAAGnR,EAAIoR,EAAGvX,OAAO,EAAE8X,SAASP,EAAG,IAAI,EAAE,CAE3E,IAAG8wB,EAAMliC,GAAKsnF,EAAOppF,QAAU8B,CAC/B,IAAGmiC,EAAMhpB,GAAKmuE,EAAO/1E,QAAU4H,CAC/B,OAAOjI,IAAMgxB,EAAO,GAAK,KAAOU,GAAW5iC,IAAMmiC,EAAO,GAAK,KAAOU,GAAW1pB,GAEhF,MAAO,SAASmnD,GAASknB,EAAM31E,GAC9By1E,EAASz1E,CACT,OAAO21E,GAAK3iF,QAAQwiF,EAASE,MAI/B,IAAIE,IAAY,sGAChB,KACCA,GAAY,iLACZ,MAAM9tF,KACP,GAAI6nE,IAAW,WACd,MAAO,SAASA,GAASgmB,EAAM31E,GAC9B,MAAO21E,GAAK3iF,QAAQ4iF,GAAW,SAASC,EAAIx2E,EAAIC,EAAIC,EAAIu2E,EAAIC,GAC3D,GAAI1pF,GAAI+kC,GAAW7xB,IAAOD,EAAK,EAAIU,EAAK3T,EACxC,IAAIqT,GAAIuxB,GAAW8kD,IAAOD,EAAK,EAAI91E,EAAKN,EACxC,IAAI4H,GAAIwuE,GAAM,IAAOp2E,EAAE,EAAMA,GAAK,EAAI,GAAK,IAAMA,EAAI,GACrD,IAAIvR,GAAImR,GAAM,IAAOjT,EAAE,EAAMA,GAAK,EAAI,GAAK,IAAMA,EAAI,GACrD,OAAOgT,GAAK,IAAMiI,EAAI,IAAMnZ,OAM/B,SAAS+gE,IAAkBziE,EAAGywE,GAC7B,MAAOzwE,GAAEuG,QAAQ4iF,GAAW,SAASC,EAAIx2E,EAAIC,EAAIC,EAAIu2E,EAAIC,GACxD,MAAO12E,IAAIC,GAAI,IAAMA,EAAGC,EAAKwxB,GAAWK,GAAW7xB,GAAI29D,EAAM7wE,KAAKypF,GAAI,IAAMA,EAAGC,EAAK/kD,GAAWC,GAAW8kD,GAAM7Y,EAAMx9D,MAIxH,QAASs2E,IAAmBvpF,EAAGgkC,EAAOL,GACrC,GAAI1wB,GAAIgyB,GAAajB,GAAQnjC,EAAIoS,EAAEpS,EAAGjB,EAAIolC,GAAYrB,EACtD,IAAI8sC,IAASx9D,EAAErT,EAAEqT,EAAIpS,EAAEoS,EAAGrT,EAAEA,EAAEA,EAAIiB,EAAEjB,EACpC,OAAO6iE,IAAkBziE,EAAGywE,GAI7B,QAASzK,IAAUhmE,GAClB,GAAGA,EAAEzE,QAAU,EAAG,MAAO,MACzB,OAAO,MAGR,QAASiuF,IAAMxpF,GACd,MAAOA,GAAEuG,QAAQ,WAAW,IAE7B,QAASkjF,IAAWvtE,GAAQA,EAAKrZ,GAAG,CAAG,QAGvC,QAAS6mF,IAAcxtE,EAAM3gB,GAC5B,GAAIqE,GAAIsc,EAAKR,WAAWngB,GAAU,EAAI,EAAI,EAC1C,QAAQqE,EAAI,MAASA,GAAK,GAAM,EAAIA,GAAK,GAAM,GAIhD,QAAS+pF,IAAeztE,EAAM3gB,EAAQ6T,GACrC,GAAIhQ,GAAI,CACR,IAAGgQ,EAAM,CACR,GAAGA,EAAK00B,MAAQ,GAAK10B,EAAK00B,MAAQ,EAAG,MAAO8lD,IAAqB1tE,EAAM3gB,EAAQ6T,OAC1E,IAAGA,EAAK00B,MAAQ,GAAI1kC,EAAI,EAE9B,GAAI6T,GAAEiJ,EAAKR,WAAWtc,GAAIyb,EAAEqB,EAAKR,WAAWtc,EAC5C,IAAIQ,GAAE8pF,GAAcxtE,EAAM,EAC1B,IAAIxa,GAAEgoF,GAAcxtE,EAAM,EAC1B,QAASrb,GAAGoS,EAAEA,EAAGrT,EAAEA,EAAE,GAAIgkC,KAAKhkC,EAAE,GAAIikC,KAAKjkC,EAAE,IAAKvE,GAAG4X,EAAE4H,EAAGjb,EAAE8B,EAAE,GAAIkiC,KAAKliC,EAAE,GAAImiC,KAAKniC,EAAE,KAGnF,QAASkoF,IAAqB1tE,GAC7B,GAAIjJ,GAAEy2E,GAAcxtE,EAAM,GAAIrB,EAAE6uE,GAAcxtE,EAAM,EACpD,IAAItc,GAAEsc,EAAKR,WAAW,EACtB,IAAIha,GAAEwa,EAAKR,WAAW,EACtB,QAAS7a,GAAGoS,EAAEA,EAAE,GAAIrT,EAAEA,EAAGgkC,KAAK3wB,EAAE,GAAI4wB,KAAK5wB,EAAE,IAAK5X,GAAG4X,EAAE4H,EAAE,GAAIjb,EAAE8B,EAAGkiC,KAAK/oB,EAAE,GAAIgpB,KAAKhpB,EAAE,KAInF,QAASgvE,IAAkB3tE,EAAM3gB,EAAQ6T,GACxC,GAAGA,EAAK00B,KAAO,EAAG,MAAO8lD,IAAqB1tE,EAAM3gB,EAAQ6T,EAC5D,IAAI6D,GAAEiJ,EAAKR,WAAWtM,EAAK00B,MAAQ,GAAK,EAAI,GAAIjpB,EAAEqB,EAAKR,WAAWtM,EAAK00B,MAAQ,GAAK,EAAI,EACxF,IAAIlkC,GAAE8pF,GAAcxtE,EAAM,EAC1B,IAAIxa,GAAEgoF,GAAcxtE,EAAM,EAC1B,QAASrb,GAAGoS,EAAEA,EAAGrT,EAAEA,EAAE,GAAIgkC,KAAKhkC,EAAE,GAAIikC,KAAKjkC,EAAE,IAAKvE,GAAG4X,EAAE4H,EAAGjb,EAAE8B,EAAE,GAAIkiC,KAAKliC,EAAE,GAAImiC,KAAKniC,EAAE,KAInF,QAASooF,IAAc5tE,EAAM3gB,EAAQ6T,GACpC,GAAGA,GAAQA,EAAK00B,MAAQ,GAAK10B,EAAK00B,MAAQ,EAAG,MAAOimD,IAAoB7tE,EAAM3gB,EAAQ6T,EACtF,IAAI6D,GAAIiJ,EAAKR,WAAWtM,GAAQA,EAAK00B,MAAQ,GAAK,EAAI,EACtD,IAAIlkC,GAAI8pF,GAAcxtE,EAAM,EAC5B,QAAQjJ,EAAEA,EAAGrT,EAAEA,EAAE,GAAIgkC,KAAKhkC,EAAE,GAAIikC,KAAKjkC,EAAE,IAExC,QAASmqF,IAAoB7tE,GAC5B,GAAIjJ,GAAIy2E,GAAcxtE,EAAM,EAC5B,IAAItc,GAAIsc,EAAKR,WAAW,EACxB,QAAQzI,EAAEA,EAAE,GAAIrT,EAAEA,EAAGgkC,KAAK3wB,EAAE,GAAI4wB,KAAK5wB,EAAE,IAIxC,QAAS+2E,IAAiB9tE,GACzB,GAAIjJ,GAAIiJ,EAAKR,WAAW,EACxB,IAAI9b,GAAIsc,EAAKR,WAAW,EACxB,QAAQzI,EAAEA,EAAGrT,EAAEA,EAAI,IAAMqqF,WAAWrqF,EAAI,OAASgkC,KAAKhkC,GAAG,GAAIikC,KAAKjkC,GAAG,IAItE,QAASsqF,IAAiBhuE,EAAM3gB,EAAQ6T,GACvC,GAAI00B,GAAO10B,GAAQA,EAAK00B,KAAO10B,EAAK00B,KAAO,CAC3C,IAAGA,GAAQ,GAAKA,GAAQ,EAAG,MAAOqmD,IAAuBjuE,EAAM3gB,EAAQ6T,EACvE,IAAI6D,GAAIiJ,EAAKR,WAAWooB,GAAQ,GAAK,EAAI,EACzC,IAAIsmD,GAAKluE,EAAKR,WAAW,EACzB,IAAIkoB,IAAQwmD,EAAK,QAAW,GAAIvmD,GAAQumD,EAAK,QAAW,EACxDA,IAAM,KACN,IAAGvmD,GAAQ,EAAG,MAAM5wB,EAAI,OAASA,GAAK,OACtC,IAAG2wB,GAAQ,EAAG,MAAMwmD,EAAK,KAAQA,EAAKA,EAAK,KAC3C,QAAQn3E,EAAEA,EAAErT,EAAEwqF,EAAGxmD,KAAKA,EAAKC,KAAKA,GAEjC,QAASsmD,IAAuBjuE,GAC/B,GAAImuE,GAAKnuE,EAAKR,WAAW,EACzB,IAAI9b,GAAIsc,EAAKR,WAAW,EACxB,IAAImoB,IAAQwmD,EAAK,QAAW,GAAIzmD,GAAQymD,EAAK,QAAW,EACxDA,IAAM,KACN,IAAGxmD,GAAQ,GAAKwmD,GAAM,KAAQA,EAAKA,EAAK,KACxC,IAAGzmD,GAAQ,GAAKhkC,GAAK,IAAMA,EAAIA,EAAI,GACnC,QAAQqT,EAAEo3E,EAAGzqF,EAAEA,EAAEgkC,KAAKA,EAAKC,KAAKA,GAIjC,QAASymD,IAAcpuE,EAAM3gB,EAAQ6T,GACpC,GAAIqC,IAAQyK,EAAKA,EAAKrZ,KAAO,KAAS,CACtC,IAAIwzD,GAAOszB,GAAeztE,EAAM9M,EAAK00B,MAAQ,GAAK10B,EAAK00B,MAAQ,EAAI,EAAI,EAAG10B,EAC1E,QAAQqC,EAAM4kD,GAIf,QAASk0B,IAAgBruE,EAAM3gB,EAAQ6T,GACtC,GAAIqC,IAAQyK,EAAKA,EAAKrZ,KAAO,KAAS,CACtC,IAAI2nF,GAAOtuE,EAAKR,WAAW,EAAG,IAC9B,IAAItc,GAAI,CACR,IAAGgQ,EAAM,OAAOA,EAAK00B,MACpB,IAAK,GAAG5nB,EAAKrZ,GAAK,EAAIzD,GAAI,CAAG,OAC7B,IAAK,IAAIA,EAAI,EAAI,QAElB,GAAIi3D,GAAOszB,GAAeztE,EAAM9c,EAAGgQ,EACnC,QAAQqC,EAAM+4E,EAAMn0B,GAIrB,QAASo0B,IAAiBvuE,EAAM3gB,EAAQ6T,GACvC,GAAIqC,IAAQyK,EAAKA,EAAKrZ,KAAO,KAAS,CACtCqZ,GAAKrZ,GAAKuM,GAASA,EAAK00B,KAAO,EAAK,GAAM10B,EAAK00B,KAAO,EAAI,EAAI,CAC9D,QAAQryB,GAGT,QAASi5E,IAAmBxuE,EAAM3gB,EAAQ6T,GACzC,GAAIqC,IAAQyK,EAAKA,EAAKrZ,KAAO,KAAS,CACtC,IAAI2nF,GAAOtuE,EAAKR,WAAW,EAC3B,IAAItc,GAAI,CACR,IAAGgQ,EAAM,OAAOA,EAAK00B,MACpB,IAAK,GAAG5nB,EAAKrZ,GAAK,EAAIzD,GAAI,CAAG,OAC7B,IAAK,IAAIA,EAAI,EAAI,QAElB8c,EAAKrZ,GAAKzD,CACV,QAAQqS,EAAM+4E,GAIf,QAASG,IAAezuE,EAAM3gB,EAAQ6T,GACrC,GAAIqC,IAAQyK,EAAKA,EAAKrZ,KAAO,KAAS,CACtC,IAAIwzD,GAAOwzB,GAAkB3tE,EAAM3gB,EAAS,EAAG6T,EAC/C,QAAQqC,EAAM4kD,GAIf,QAASu0B,IAAe1uE,EAAM3gB,EAAQ6T,GACrC,GAAIqC,IAAQyK,EAAKA,EAAKrZ,KAAO,KAAS,CACtCqZ,GAAKrZ,GAAKuM,EAAK00B,MAAQ,EAAI,EAAI10B,EAAK00B,MAAQ,GAAK,GAAK,CACtD,QAAQryB,GAIT,QAASo5E,IAAoB3uE,GAC5B,GAAI4uE,GAAU5uE,EAAKA,EAAKrZ,EAAE,GAAK,CAC/B,IAAIkoF,GAAY,CAChB7uE,GAAKrZ,GAAK,CACV,QAAQioF,EAASC,GAIlB,QAASC,IAAoB9uE,EAAM3gB,EAAQ6T,GAC1C8M,EAAKrZ,GAAI,CACT,IAAI2e,GAAStF,EAAKR,WAAWtM,GAAQA,EAAK00B,MAAQ,EAAI,EAAI,EAC1D,IAAI7+B,KAEJ,KAAI,GAAI3J,GAAI,EAAGA,GAAKkmB,IAAUlmB,EAAG2J,EAAEnC,KAAKoZ,EAAKR,WAAWtM,GAAQA,EAAK00B,MAAQ,EAAI,EAAI,GACrF,OAAO7+B,GAIR,QAASgmF,IAAkB/uE,EAAM3gB,EAAQ6T,GACxC,GAAI87E,GAAWhvE,EAAKA,EAAKrZ,EAAE,GAAK,IAAQ,EAAI,CAC5CqZ,GAAKrZ,GAAK,CACV,QAAQqoF,EAAShvE,EAAKR,WAAWtM,GAAQA,EAAK00B,MAAQ,EAAI,EAAI,IAI/D,QAASqnD,IAAgBjvE,EAAM3gB,EAAQ6T,GACtC,GAAIg8E,GAASlvE,EAAKA,EAAKrZ,EAAE,GAAK,IAAQ,EAAI,CAC1CqZ,GAAKrZ,GAAK,CACV,QAAQuoF,EAAOlvE,EAAKR,WAAWtM,GAAQA,EAAK00B,MAAQ,EAAI,EAAI,IAI7D,QAASunD,IAAqBnvE,GAC7B,GAAIkvE,GAASlvE,EAAKA,EAAKrZ,EAAE,GAAK,IAAQ,EAAI,CAC1CqZ,GAAKrZ,GAAK,CACV,QAAQuoF,EAAOlvE,EAAKR,WAAW,IAIhC,QAAS4vE,IAAkBpvE,EAAM3gB,EAAQ6T,GACxC,GAAI07E,GAAW5uE,EAAKA,EAAKrZ,EAAE,GAAK,IAAQ,EAAI,CAC5CqZ,GAAKrZ,GAAKuM,GAAQA,EAAK00B,MAAQ,EAAI,EAAI,CACvC,QAAQgnD,GAIT,QAASS,IAAuBrvE,GAC/B,GAAIzK,GAAOyK,EAAKR,WAAW,GAAI0oC,EAAMloC,EAAKR,WAAW,EACrD,QAAQjK,EAAM2yC,GAIf,QAASonC,IAAmBtvE,GAC3BA,EAAKR,WAAW,EAChB,OAAO6vE,IAAuBrvE,EAAM,GAIrC,QAASuvE,IAAuBvvE,GAC/BA,EAAKR,WAAW,EAChB,OAAO6vE,IAAuBrvE,EAAM,GAIrC,QAASwvE,IAAaxvE,EAAM3gB,EAAQ6T,GAEnC,GAAIqC,IAAQyK,EAAKA,EAAKrZ,GAAK,KAAO,CAClCqZ,GAAKrZ,GAAK,CACV,IAAI4+B,GAAMqoD,GAAc5tE,EAAM,EAAG9M,EACjC,QAAQqC,EAAMgwB,GAIf,QAASkqD,IAAczvE,EAAM3gB,EAAQ6T,GACpC,GAAIqC,IAAQyK,EAAKA,EAAKrZ,GAAK,KAAO,CAClCqZ,GAAKrZ,GAAK,CACV,IAAI4+B,GAAMyoD,GAAiBhuE,EAAM,EAAG9M,EACpC,QAAQqC,EAAMgwB,GAIf,QAASmqD,IAAe1vE,EAAM3gB,EAAQ6T,GACrC,GAAIqC,IAAQyK,EAAKA,EAAKrZ,GAAK,KAAO,CAClCqZ,GAAKrZ,GAAK,CACV,IAAI2nF,GAAOtuE,EAAKR,WAAW,EAC3B,IAAGtM,GAAQA,EAAK00B,MAAQ,EAAG5nB,EAAKrZ,GAAK,EACrC,IAAI4+B,GAAMqoD,GAAc5tE,EAAM,EAAG9M,EACjC,QAAQqC,EAAM+4E,EAAM/oD,GAKrB,QAASoqD,IAAc3vE,EAAM3gB,EAAQ6T,GAEpC,GAAIqC,IAAQyK,EAAKA,EAAKrZ,GAAK,KAAO,CAClCqZ,GAAKrZ,GAAK,CACV,IAAIipF,GAAQ5vE,EAAKR,WAAWtM,GAAQA,EAAK00B,MAAQ,EAAI,EAAI,EACzD,QAAQioD,GAASD,GAAQE,GAAKF,GAAQr6E,GAGvC,QAASw6E,IAAiB/vE,EAAM3gB,EAAQ6T,GACvC,GAAIqC,GAAOyK,EAAKA,EAAKrZ,IACrB,IAAIqpF,GAAUhwE,EAAKR,WAAW,GAAIywE,EAAM/8E,GAAQA,EAAK00B,MAAQ,GAAMryB,GAAQ,IAAQ,EAAI,EAAIyK,EAAKR,WAAW,IAAK0wE,GAASlwE,EACzH,QAAQgwE,GAAUC,EAAI,KAAO,EAAIH,GAAOK,IAAOF,EAAI,KAGpD,QAASC,IAASlwE,GACjB,OAAQA,EAAKA,EAAKrZ,EAAE,IAAI,EAAGqZ,EAAKR,WAAW,GAAK,OAIjD,QAAS4wE,IAAiBpwE,EAAM3gB,EAAQ6T,GACvC8M,EAAKrZ,GAAKuM,GAAQA,EAAK00B,MAAQ,EAAI,EAAI,CAAG,QAI3C,QAASyoD,IAAarwE,EAAM3gB,EAAQ6T,GACnC8M,EAAKrZ,GACL,IAAGuM,GAAQA,EAAK00B,MAAQ,GAAI,OAAQ5nB,EAAKR,WAAW,EAAG,KAAM,EAC7D,IAAI+R,GAAMvR,EAAKR,WAAW,EAC1B,IAAIopB,GAAM5oB,EAAKR,WAAWtM,GAAQA,EAAK00B,MAAQ,EAAI,EAAI,EACvD,QAAQrW,EAAKqX,GAId,QAAS0nD,IAAatwE,GAAQA,EAAKrZ,GAAK,OAAOijC,IAAK5pB,EAAKR,WAAW,IAGpE,QAAS+wE,IAAavwE,GAAQA,EAAKrZ,GAAK,OAAOqZ,GAAKR,WAAW,GAG/D,QAASgxE,IAAcxwE,GAAQA,EAAKrZ,GAAK,OAAOqZ,GAAKR,WAAW,KAAK,EAGrE,QAASixE,IAAazwE,GAAQA,EAAKrZ,GAAK,OAAOinC,IAAW5tB,EAAM,GAGhE,QAAS0wE,IAAa1wE,EAAM3gB,EAAQ6T,GAAQ8M,EAAKrZ,GAAK,OAAOshD,IAA2BjoC,EAAM3gB,EAAO,EAAG6T,GAIxG,QAASy9E,IAAY3wE,EAAM4nB,GAC1B,GAAInyB,IAAOuK,EAAKR,WAAW,GAC3B,IAAGooB,GAAQ,GAAI,OAAOnyB,EAAI,IACzB,IAAK,GAAMA,EAAI,GAAK,CAAM,OAC1B,IAAK,GAAMA,EAAI,GAAK,EAAM,OAC1B,IAAK,GAAMA,EAAI,GAAK,CAAM,OAC1B,IAAK,GAAMA,EAAI,GAAK,CAAM,QAE3B,OAAOA,EAAI,IACV,IAAK,GACJA,EAAI,GAAKkwC,GAAU3lC,EAAM,GAAK,OAAS,OACvC,IAAG4nB,GAAQ,GAAI5nB,EAAKrZ,GAAK,CAAG,OAC7B,IAAK,KACL,IAAK,IACJ8O,EAAI,GAAKm0B,GAAK5pB,EAAKA,EAAKrZ,GACxBqZ,GAAKrZ,GAAOihC,GAAQ,GAAM,EAAI,CAAI,OACnC,IAAK,GACJ5nB,EAAKrZ,GAAK,CAAG,OACd,IAAK,GACJ8O,EAAI,GAAKm4B,GAAW5tB,EAAM,EAAI,OAC/B,IAAK,GACJvK,EAAI,GAAKuzC,GAAuBhpC,EAAM,GAAI4nB,KAAKA,EAAO,GAAKA,EAAO,EAAI,EAAIA,GAAQ,OACnF,QAAS,KAAM,IAAI1nC,OAAM,cAAgBuV,EAAI,KAE9C,MAAOA,GAIR,QAASm7E,IAAkB5wE,EAAMs2C,EAAKpjD,GACrC,GAAImjE,GAAQr2D,EAAKR,WAAYtM,EAAK00B,MAAQ,GAAM,EAAI,EACpD,IAAI3kC,KACJ,KAAI,GAAI7D,GAAI,EAAGA,GAAKi3E,IAASj3E,EAAG6D,EAAI2D,MAAOsM,EAAK00B,MAAQ,GAAM8F,GAAqBie,IAAa3rC,EAAM,GACtG,OAAO/c,GAIR,QAAS4tF,IAAoB7wE,EAAM3gB,EAAQ6T,GAC1C,GAAIs0D,GAAO,EAAGvI,EAAO,CACrB,IAAG/rD,EAAK00B,MAAQ,GAAI,CACnB4/B,EAAOxnD,EAAKR,WAAW,EACvBy/C,GAAOj/C,EAAKR,WAAW,OACjB,CACNy/C,EAAO,EAAIj/C,EAAKR,WAAW,EAC3BgoD,GAAO,EAAIxnD,EAAKR,WAAW,GAE5B,GAAGtM,EAAK00B,MAAQ,GAAK10B,EAAK00B,KAAO,EAAG,GAAI4/B,CAAM,MAAKvI,GAAQ,EAAGA,EAAO,IAErE,IAAI,GAAI7/D,GAAI,EAAG2J,KAAQ3J,GAAKooE,IAASz+D,EAAE3J,SAAYA,EAClD,IAAI,GAAIM,GAAI,EAAGA,GAAKu/D,IAAQv/D,EAAGqJ,EAAE3J,GAAGM,GAAKixF,GAAY3wE,EAAM9M,EAAK00B,KACjE,OAAO7+B,GAIR,QAAS+nF,IAAc9wE,EAAM3gB,EAAQ6T,GACpC,GAAIqC,GAAQyK,EAAKR,WAAW,KAAO,EAAK,CACxC,IAAItc,IAAMgQ,GAASA,EAAK00B,MAAQ,EAAM,EAAI,CAC1C,IAAImpD,GAAY/wE,EAAKR,WAAWtc,EAChC,QAAOgQ,EAAK00B,MACX,IAAK,GAAG5nB,EAAKrZ,GAAK,CAAG,OACrB,IAAK,IAAG,IAAK,GAAGqZ,EAAKrZ,GAAK,CAAG,OAC7B,IAAK,GAAGqZ,EAAKrZ,GAAK,EAAI,QAEvB,OAAQ4O,EAAM,EAAGw7E,GAIlB,QAASC,IAAehxE,EAAM3gB,EAAQ6T,GACrC,GAAGA,EAAK00B,MAAQ,EAAG,MAAOqpD,IAAqBjxE,EAAM3gB,EAAQ6T,EAC7D,IAAIqC,GAAQyK,EAAKR,WAAW,KAAO,EAAK,CACxC,IAAI8uE,GAAOtuE,EAAKR,WAAW,EAC3B,IAAIuxE,GAAY/wE,EAAKR,WAAW,EAChC,QAAQjK,EAAM+4E,EAAMyC,GAErB,QAASE,IAAqBjxE,GAC7B,GAAIzK,GAAQyK,EAAKR,WAAW,KAAO,EAAK,CACxC,IAAI8uE,GAAOtuE,EAAKR,WAAW,EAAG,IAC9BQ,GAAKrZ,GAAK,CACV,IAAIoqF,GAAY/wE,EAAKR,WAAW,EAChCQ,GAAKrZ,GAAK,EACV,QAAQ4O,EAAM+4E,EAAMyC,GAIrB,QAASG,IAAiBlxE,EAAM3gB,EAAQ6T,GACvC,GAAIqC,GAAQyK,EAAKR,WAAW,KAAO,EAAK,CACxCQ,GAAKrZ,GAAMuM,GAAQA,EAAK00B,MAAQ,EAAI,EAAI,CACxC,IAAI0uB,GAAMt2C,EAAKR,WAAWtM,GAAQA,EAAK00B,MAAQ,EAAI,EAAI,EACvD,QAAQryB,EAAM+gD,GAIf,QAAS66B,IAAiBnxE,EAAM3gB,EAAQ6T,GACvC,GAAIqC,GAAQyK,EAAKR,WAAW,KAAO,EAAK,CACxC,IAAI82C,GAAMt2C,EAAKR,WAAWtM,GAAQA,EAAK00B,MAAQ,EAAI,EAAI,EACvD,QAAQryB,EAAM+gD,GAKf,QAAS86B,IAAgBpxE,EAAM3gB,EAAQ6T,GACtC,GAAIqC,GAAQyK,EAAKR,WAAW,KAAO,EAAK,CACxCQ,GAAKrZ,GAAK,CACV,IAAGuM,EAAK00B,KAAO,EAAG5nB,EAAKrZ,GACvB,IAAGuM,EAAK00B,MAAQ,GAAI5nB,EAAKrZ,GAAK,CAC9B,QAAQ4O,GAIT,QAAS87E,IAAkBrxE,EAAM3gB,EAAQ6T,GACxC,GAAIqC,IAAQyK,EAAKA,EAAKrZ,KAAO,KAAS,CACtC,IAAI2nF,GAAOtuE,EAAKR,WAAW,EAC3B,IAAItc,GAAI,CACR,IAAGgQ,EAAM,OAAOA,EAAK00B,MACpB,IAAK,GAAG1kC,EAAI,EAAI,OAChB,IAAK,IAAIA,EAAI,CAAG,QAEjB8c,EAAKrZ,GAAKzD,CACV,QAAQqS,EAAM+4E,GAIf,GAAIgD,IAAkBrrD,EAEtB,IAAIsrD,IAAoBtrD,EAExB,IAAIurD,IAAevrD,EAEnB,SAASwrD,IAAgBzxE,EAAM3gB,EAAQ6T,GACtC8M,EAAKrZ,GAAK,CACV,QAAQmnF,GAAiB9tE,EAAM,EAAG9M,IAEnC,QAASw+E,IAAiB1xE,GACzBA,EAAKrZ,GAAK,CACV,UAGD,GAAIgrF,IAAkBF,EAEtB,IAAIG,IAAmBF,EAEvB,IAAIG,IAAoBH,EAExB,IAAII,IAAmBL,EAEvB,SAASM,IAAgB/xE,GACxBA,EAAKrZ,GAAK,CACV,QAAQihD,GAAY5nC,GAAOA,EAAKR,WAAW,GAAK,GAGjD,GAAIwyE,IAAsBP,EAE1B,IAAIQ,IAAyBF,EAE7B,IAAIG,IAAuBR,EAE3B,IAAIS,IAAiBV,EAErB,IAAIW,IAAkBX,EAGtB,IAAIY,KACH,OACA,MACA,UACA,KACA,SACA,KACA,eACA,KACA,SACA,KACA,KACA,KACA,cACA,KACA,KACA,KACA,WAED,SAASC,IAActyE,GACtBA,EAAKrZ,GAAK,CACV,IAAI2nF,GAAOtuE,EAAKR,WAAW,EAC3B,IAAIU,GAAQF,EAAKR,WAAW,EAC5B,IAAInJ,GAAM2J,EAAKR,WAAW,EAC1B,IAAI9b,GAAIsc,EAAKR,WAAW,EACxB,IAAIha,GAAIwa,EAAKR,WAAW,EACxB,IAAI0rC,GAAKmnC,GAAWnyE,GAAS,EAAK,GAClC,QAAQouE,KAAMA,EAAMiE,QAASryE,EAAM,EAAMgrC,GAAGA,EAAI70C,IAAIA,EAAK3S,EAAEA,EAAG8B,EAAEA,GAGjE,QAASgtF,IAAgBxyE,GACxBA,EAAKrZ,GAAK,CACV,QAAQqZ,EAAKR,WAAW,IAIzB,QAASizE,IAAezyE,EAAM3gB,EAAQ6T,GACrC8M,EAAKrZ,GAAK,CACVqZ,GAAKrZ,GAAK,CACVqZ,GAAKrZ,GAAMuM,EAAK00B,MAAQ,EAAI,EAAI,CAChC,QAAQ,YAET,QAAS8qD,IAAkB1yE,EAAM3gB,EAAQ6T,GACxC8M,EAAKrZ,GAAMuM,EAAK00B,MAAQ,EAAI,EAAI,CAChC,QAAQ,eAET,QAAS+qD,IAAkB3yE,GAC1B,GAAIzK,GAAQyK,EAAKR,WAAW,KAAO,EAAK,CACxC,IAAI82C,GAAMt2C,EAAKR,WAAW,EAC1B,QAAQjK,EAAM+gD,GAEf,QAASs8B,IAAmB5yE,GAC3B,GAAIzK,GAAQyK,EAAKR,WAAW,KAAO,EAAK,CACxC,IAAI82C,GAAMt2C,EAAKR,WAAW,EAC1B,QAAQjK,EAAM+gD,GAEf,QAASu8B,IAAkB7yE,GAC1BA,EAAKrZ,GAAK,CACV,QAAQ,EAAG,GAIZ,GAAImsF,KACHvrF,GAAQtF,EAAE,SAAU6B,EAAEusF,IACtB7oF,GAAQvF,EAAE,SAAU6B,EAAE0tF,IACtBnkF,GAAQpL,EAAE,SAAU6B,EAAEypF,IACtBjgF,GAAQrL,EAAE,SAAU6B,EAAEypF,IACtBv+E,GAAQ/M,EAAE,SAAU6B,EAAEypF,IACtBt+E,GAAQhN,EAAE,SAAU6B,EAAEypF,IACtBr+E,GAAQjN,EAAE,WAAY6B,EAAEypF,IACxBp+E,GAAQlN,EAAE,YAAa6B,EAAEypF,IACzBhgF,GAAQtL,EAAE,QAAS6B,EAAEypF,IACrB//E,IAAQvL,EAAE,QAAS6B,EAAEypF,IACrB9/E,IAAQxL,EAAE,QAAS6B,EAAEypF,IACrB7/E,IAAQzL,EAAE,QAAS6B,EAAEypF,IACrB5/E,IAAQ1L,EAAE,QAAS6B,EAAEypF,IACrB3/E,IAAQ3L,EAAE,QAAS6B,EAAEypF,IACrB1/E,IAAQ5L,EAAE,WAAY6B,EAAEypF,IACxBz/E,IAAQ7L,EAAE,WAAY6B,EAAEypF,IACxBx/E,IAAQ9L,EAAE,WAAY6B,EAAEypF,IACxBv/E,IAAQ/L,EAAE,WAAY6B,EAAEypF,IACxBt/E,IAAQhM,EAAE,YAAa6B,EAAEypF,IACzBr/E,IAAQjM,EAAE,aAAc6B,EAAEypF,IAC1Bp/E,IAAQlM,EAAE,WAAY6B,EAAEypF,IACxBn/E,IAAQnM,EAAE,aAAc6B,EAAEypF,IAC1Bn+E,IAAQnN,EAAE,SAAU6B,EAAE4sF,IACtBnhF,IAAQtN,EAAE,WAAY6B,EAAE2uF,IACxBjjF,IAAQvN,EAAE,cAAe6B,EAAE4uF,IAC3BjjF,IAAQxN,EAAE,SAAU6B,EAAEwsF,IACtB5gF,IAAQzN,EAAE,UAAW6B,EAAE0sF,IACvB7gF,IAAQ1N,EAAE,SAAU6B,EAAEysF,IACtB3gF,IAAQ3N,EAAE,SAAU6B,EAAE2sF,IACtB50E,IAAQ5Z,EAAE,WAAY6B,EAAE4qF,IACxB5yE,IAAQ7Z,EAAE,UAAW6B,EAAE6rF,IACvB5zE,IAAQ9Z,EAAE,aAAc6B,EAAEisF,IAC1B/zE,IAAQ/Z,EAAE,UAAW6B,EAAEgtF,IACvB70E,IAAQha,EAAE,SAAU6B,EAAE0rF,IACtBnhF,IAAQpM,EAAE,UAAW6B,EAAEsqF,IACvB9/E,IAAQrM,EAAE,aAAc6B,EAAEotF,IAC1B3iF,IAAQtM,EAAE,YAAa6B,EAAEwtF,IACzB9iF,IAAQvM,EAAE,cAAe6B,EAAEytF,IAC3B3/E,IAAQ3P,EAAE,aAAc6B,EAAEqtF,IAC1Bt/E,IAAQ5P,EAAE,YAAa6B,EAAEstF,IACzBt/E,IAAQ7P,EAAE,aAAc6B,EAAEyqF,IAC1Bx8E,IAAQ9P,EAAE,UAAW6B,EAAE2rF,IACvBhhF,IAAQxM,EAAE,WAAY6B,EAAE2qF,IACxB//E,IAAQzM,EAAE,cAAe6B,EAAE6uF,IAC3BhkF,IAAQ1M,EAAE,eAAgB6B,EAAE8uF,IAC5BziF,IAAQlO,EAAE,WAAY6B,EAAEktF,IACxB5gF,IAAQnO,EAAE,WAAY6B,EAAE4rF,IACxBr/E,IAAQpO,EAAE,YAAa6B,EAAEuqF,IACzB/9E,IAAQrO,EAAE,cAAe6B,EAAEutF,IAC3B9gF,IAAQtO,EAAE,eAAgB6B,EAAE0qF,IAC5BhmF,OAGD,IAAIuqF,KACHthF,GAAM,GAAMuhF,GAAM,GAClBthF,GAAM,GAAMuhF,GAAM,GAClBthF,GAAM,GAAMuhF,GAAM,GAClBziF,GAAM,GAAM0iF,GAAM,GAClBziF,GAAM,GAAMkrD,IAAM,GAClBnzD,GAAM,GAAMozD,IAAM,GAClBlrD,GAAM,GAAMmrD,IAAM,GAClBlrD,GAAM,GAAMmrD,IAAM,GAClBlrD,GAAM,GAAMmrD,IAAM,GAClBlrD,GAAM,GAAM0gC,IAAM,GAClBzgC,GAAM,GAAMkrD,IAAM,GAClBjrD,GAAM,GAAMkrD,IAAM,GAClBjrD,GAAM,GAAMmsD,IAAM,GAClB31D,GAAM,GAAMmmE,IAAM,GAClB18D,GAAM,GAAMkiF,IAAM,GAClBjiF,GAAM,GAAM08D,IAAM,GAClB3Q,GAAM,GAAMf,IAAM,GAClBgB,GAAM,GAAMf,IAAM,GAClB7qB,GAAM,GAAM8qB,IAAM,GAClBg3B,GAAM,GAAM/2B,IAAM,GAClBg3B,GAAM,GAAM/2B,IAAM,GAClBg3B,GAAM,GAAM/2B,IAAM,GAGnB,IAAIg3B,KACHjsF,GAAQtF,EAAE,YAAa6B,EAAEiuF,IACzBvqF,GAAQvF,EAAE,WAAY6B,EAAEquF,IACxB9kF,GAAQpL,EAAE,YAAa6B,EAAE6tF,IACzB1iF,GAAQhN,EAAE,YAAa6B,EAAEsuF,IACzBljF,GAAQjN,EAAE,aAAc6B,EAAEguF,IAC1BtkF,IAAQvL,EAAE,gBAAiB6B,EAAEkuF,IAC7BvkF,IAAQxL,EAAE,iBAAkB6B,EAAEouF,IAC9BvkF,IAAQ1L,EAAE,aAAc6B,EAAE8tF,IAC1B/jF,IAAQ5L,EAAE,cAAe6B,EAAE+tF,IAC3B/jF,IAAQ7L,EAAE,mBAAoB6B,EAAEmuF,IAChC3iF,IAAQrN,EAAE,UAAW6B,EAAEwuF,IACvB5iF,IAAQzN,EAAE,YAAa6B,EAAE0uF,IACzBhqF,OAED,IAAIirF,KACHnsF,GAAQrF,EAAE,cAAe6B,EAAE+uF,IAC3BtrF,GAAQtF,EAAE,cAAe6B,EAAEsrF,IAC3B5nF,GAAQvF,EAAE,YAAa6B,EAAEmrF,IACzB3hF,GAAQrL,EAAE,gBAAiB6B,EAAEgrF,IAC7B3/E,GAAQlN,EAAE,cAAe6B,EAAEirF,IAC3BjhF,IAAQ7L,EAAE,aAAc6B,EAAEssF,IAC1Bv0E,IAAQ5Z,EAAE,gBAAiB6B,EAAE6qF,IAC7B7yE,IAAQ7Z,EAAE,gBAAiB6B,EAAE6qF,IAC7Bl9E,IAAQxP,EAAE,eAAgB6B,EAAEwrF,IAC5B59E,IAAQzP,EAAE,mBAAoB6B,EAAEyrF,IAChC7nF,KAAQzF,EAAE,iBAAkB6B,EAAEqrF,IAC9B3mF,OAID,SAASkrF,IAAe1zE,EAAM3gB,EAAQo3D,EAAMvjD,GAC3C,GAAGA,EAAK00B,KAAO,EAAG,MAAO3B,IAAUjmB,EAAM3gB,EACzC,IAAIm+B,GAASxd,EAAKrZ,EAAItH,CACtB,IAAI0J,KACJ,KAAI,GAAI3J,GAAI,EAAGA,IAAMq3D,EAAKp3D,SAAUD,EAAG,CACtC,OAAOq3D,EAAKr3D,GAAG,IACd,IAAK,WACJq3D,EAAKr3D,GAAG,GAAKyxF,GAAoB7wE,EAAM,EAAG9M,EAC1CnK,GAAEnC,KAAK6vD,EAAKr3D,GAAG,GACf,OACD,IAAK,aACJq3D,EAAKr3D,GAAG,GAAKwxF,GAAkB5wE,EAAMy2C,EAAKr3D,GAAG,GAAI8T,EACjDnK,GAAEnC,KAAK6vD,EAAKr3D,GAAG,GACf,OACD,IAAK,SACJ,GAAG8T,GAAQA,EAAK00B,MAAQ,GAAI,CAC3B6uB,EAAKr3D,GAAG,GAAG,GAAK4gB,EAAKR,WAAW,EAChCzW,GAAEnC,KAAK6vD,EAAKr3D,GAAG,IACd,MACH,IAAK,WACL,IAAK,kBACL,IAAK,cACL,IAAK,cACJ,KAAM,eAAiBq3D,EAAKr3D,GAAG,GAChC,QAAS,QAGXC,EAASm+B,EAASxd,EAAKrZ,CAGvB,IAAGtH,IAAW,EAAG0J,EAAEnC,KAAKq/B,GAAUjmB,EAAM3gB,GACxC,OAAO0J,GAIR,QAAS4qF,IAAW3zE,EAAM3gB,EAAQ6T,GACjC,GAAIsqB,GAASxd,EAAKrZ,EAAItH,CACtB,IAAIsf,GAAG0tC,EAAIunC,IACX,OAAMp2D,GAAUxd,EAAKrZ,EAAG,CACvBtH,EAASm+B,EAASxd,EAAKrZ,CACvB0lD,GAAKrsC,EAAKA,EAAKrZ,EACfgY,GAAIm0E,GAASzmC,IAAOymC,GAASC,GAAS1mC,GACtC,IAAGA,IAAO,IAAQA,IAAO,GAAM1tC,GAAK0tC,IAAO,GAAOmnC,GAAQC,IAAOzzE,EAAKA,EAAKrZ,EAAI,GAC/E,KAAIgY,IAAMA,EAAE7a,EAAG,CAAgBmiC,GAAUjmB,EAAM3gB,OAC1C,CAAEu0F,EAAKhtF,MAAM+X,EAAE1c,EAAG0c,EAAE7a,EAAEkc,EAAM3gB,EAAQ6T,MAE1C,MAAO0gF,GAGR,QAASC,IAAgB/vF,GACxB,GAAIiF,KACJ,KAAI,GAAI3J,GAAI,EAAGA,EAAI0E,EAAEzE,SAAUD,EAAG,CACjC,GAAIiC,GAAIyC,EAAE1E,GAAI2X,IACd,KAAI,GAAIrX,GAAI,EAAGA,EAAI2B,EAAEhC,SAAUK,EAAG,CACjC,GAAIgU,GAAIrS,EAAE3B,EACV,IAAGgU,EAAG,OAAOA,EAAE,IAEd,IAAK,GACTqD,EAAEnQ,KAAK,IAAM8M,EAAE,GAAGrJ,QAAQ,KAAK,MAAQ,IAAM,OACzC,QAAS0M,EAAEnQ,KAAK8M,EAAE,SACZqD,GAAEnQ,KAAK,IAEfmC,EAAEnC,KAAKmQ,EAAElR,KAAK,MAEf,MAAOkD,GAAElD,KAAK,KAIf,GAAIiuF,KACHC,OAAQ,IACRC,UAAW,IACXC,OAAQ,IACRC,MAAO,IACPC,MAAO,KACPC,MAAO,IACPC,MAAO,KACPC,MAAO,IACPC,OAAQ,IACRC,MAAO,KACPC,SAAU,IACVC,OAAQ,IAIT,SAASC,IAAc9wE,EAAO+M,GAC7B,GAAIjsB,GAAIkf,EAAM5K,YAAY,KAAM9Z,EAAIyxB,EAAI3X,YAAY,IACpD,IAAGtU,IAAM,GAAKxF,IAAM,EAAG,MAAO0kB,GAAQ,IAAM+M,CAC5C,IAAGjsB,EAAI,GAAKxF,EAAI,GAAK0kB,EAAMzgB,MAAM,EAAGuB,GAAGgV,eAAiBiX,EAAIxtB,MAAM,EAAGjE,GAAGwa,cAAe,MAAOkK,GAAQ,IAAM+M,EAAIxtB,MAAMjE,EAAE,EACxH0oB,SAAQC,MAAM,uBAAwBjE,EAAO+M,EAC7C,OAAO/M,GAAQ,IAAM+M,EAGtB,QAASgkE,IAAaC,EAAUvG,EAAMp7E,GACrC,IAAI2hF,EAAU,MAAO,aACrB,IAAG3hF,EAAK00B,KAAO,KAAOitD,EAASC,MAAQD,EAASC,IAAIxG,IAAQ,MAAOuG,GAAS7qD,WAAWskD,EACvF,KAAIuG,EAASC,IAAK,MAAO,aACzB,IAAIA,GAAMD,EAASC,IAAIxG,EACvB,IAAGp7E,EAAK00B,KAAO,EAAG,CACjB,GAAG0mD,EAAO,IAAOA,GAAO,KACxB,IAAGA,EAAO,EAAGA,GAAQA,CACrB,OAAOA,IAAQ,EAAI,GAAKuG,EAASC,IAAIxG,EAAO,GAE7C,IAAIwG,EAAK,MAAO,aAChB,IAAI/rF,GAAI,EACR,IAAGmK,EAAK00B,KAAO,EAAG,OAAOitD,EAASC,EAAI,IAAI,IACzC,IAAK,KACJ/rF,EAAI+rF,EAAI,KAAO,EAAI,OAASD,EAAS7qD,WAAW8qD,EAAI,GACpD,OAAOA,GAAI,IAAMA,EAAI,GAAK/rF,EAAIA,EAAI,IAAM8rF,EAAS7qD,WAAW8qD,EAAI,IACjE,IAAK,KACJ,GAAG5hF,EAAK6hF,KAAO,KAAM,MAAOF,GAAS7qD,WAAW92B,EAAK6hF,IACrD,OAAO,cAAgBF,EAASC,EAAI,IAAI,GACzC,IAAK,MAEL,QAAS,MAAO,aAAeD,EAASC,EAAI,IAAI,IAEjD,OAAOD,EAASC,EAAI,IAAI,GAAG,IAC1B,IAAK,MACJ/rF,EAAI+rF,EAAI,KAAO,EAAI,OAAUD,EAAS7qD,WAAW8qD,EAAI,KAAO,aAC5D,OAAOA,GAAI,IAAMA,EAAI,GAAK/rF,EAAIA,EAAI,IAAM8rF,EAAS7qD,WAAW8qD,EAAI,IACjE,IAAK,OAAQ,MAAOD,GAASC,EAAI,IAAI1xF,MAAM,GAAGkB,IAAI,SAASke,GAAQ,MAAOA,GAAK2zC,OAAStwD,KAAK,MAC7F,QACC,IAAIgvF,EAASC,EAAI,IAAI,GAAG,GAAI,MAAO,aACnC/rF,GAAI+rF,EAAI,KAAO,EAAI,OAAUD,EAASC,EAAI,IAAI,GAAG,GAAGA,EAAI,KAAO,aAC/D,OAAOA,GAAI,IAAMA,EAAI,GAAK/rF,EAAIA,EAAI,IAAM8rF,EAASC,EAAI,IAAI,GAAG,GAAGA,EAAI,MAGtE,QAASE,IAASH,EAAUvG,EAAMp7E,GACjC,GAAI+hF,GAAUL,GAAaC,EAAUvG,EAAMp7E,EAC3C,OAAO+hF,IAAW,OAASA,EAAU5rD,GAAyB4rD,EAAS/hF,GAExE,QAASgiF,IAAkB/uB,EAAuBr+B,EAAOL,EAAMotD,EAAU3hF,GACxE,GAAI00B,GAAQ10B,GAAQA,EAAK00B,MAAS,CAClC,IAAIgD,IAAsCjmC,GAAGjB,EAAE,EAAGqT,EAAE,GAAG5X,GAAGuE,EAAE,EAAGqT,EAAE,GACjE,IAAIo+E,MAAY5uF,EAAIC,EAAK9C,EAAG4qF,EAAK,EAAG8G,EAAQ,EAAGr+E,EAAGuyB,EAAM,EACxD,KAAI68B,EAAQ,KAAOA,EAAQ,GAAG,GAAI,MAAO,EACzC,IAAIkvB,IAAW,EAAGC,EAAK,EACvB,KAAI,GAAI/8E,GAAK,EAAGg9E,EAAQpvB,EAAQ,GAAG9mE,OAAQkZ,EAAKg9E,IAASh9E,EAAI,CAC5D,GAAIzU,GAAIqiE,EAAQ,GAAG5tD,EACnB,QAAOzU,EAAE,IACR,IAAK,YACJqxF,EAAMvuF,KAAK,IAAMuuF,EAAM/uE,MAAQ,OAChC,IAAK,WACJ+uE,EAAMvuF,KAAK,IAAMuuF,EAAM/uE,MAAQ,OAChC,IAAK,aACJ+uE,EAAMvuF,KAAKuuF,EAAM/uE,MAAQ,IAAM,OAEhC,IAAK,UACL,IAAK,aACL,IAAK,UACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,UACL,IAAK,SACL,IAAK,YACL,IAAK,SACJ7f,EAAK4uF,EAAM/uE,KAAO5f,GAAK2uF,EAAM/uE,KAC7B,IAAGivE,GAAW,EAAG,CAChB,OAAOlvB,EAAQ,GAAGkvB,GAAS,GAAG,IAC7B,IAAK,GAEJC,EAAKhpF,GAAK,IAAK65D,EAAQ,GAAGkvB,GAAS,GAAG,GAAK,OAC5C,IAAK,GAEJC,EAAKhpF,GAAK,KAAM65D,EAAQ,GAAGkvB,GAAS,GAAG,GAAK,OAC7C,QACCC,EAAK,EAEL,IAAGpiF,EAAK6tB,IAAK,KAAM,IAAI7gC,OAAM,+BAAiCimE,EAAQ,GAAGkvB,GAAS,GAAG,KAEvF7uF,EAAKA,EAAK8uF,CACVD,IAAW,EAEZF,EAAMvuF,KAAKJ,EAAGstF,GAAShwF,EAAE,IAAIyC,EAC7B,OAED,IAAK,WACJA,EAAK4uF,EAAM/uE,KAAO5f,GAAK2uF,EAAM/uE,KAC7B+uE,GAAMvuF,KAAKJ,EAAG,IAAID,EAClB,OACD,IAAK,WACJA,EAAK4uF,EAAM/uE,KAAO5f,GAAK2uF,EAAM/uE,KAC7B+uE,GAAMvuF,KAAKJ,EAAG,IAAID,EAClB,OACD,IAAK,WACJA,EAAK4uF,EAAM/uE,KAAO5f,GAAK2uF,EAAM/uE,KAC7B+uE,GAAMvuF,KAAK+tF,GAAcnuF,EAAGD,GAC5B,OAED,IAAK,gBACJ,MACD,IAAK,cACJ,MACD,IAAK,YACJ,MACD,IAAK,iBACJ,MAGD,IAAK,SACR7C,EAAI8jC,GAAgB1jC,EAAE,GAAG,GAAK8mC,EAAQ13B,EAClCiiF,GAAMvuF,KAAKmhC,GAAgBrkC,EAAGkkC,GAC9B,OACD,IAAK,UACRlkC,EAAI+jC,EAAOD,GAAgB1jC,EAAE,GAAG,GAAK2jC,EAAMv0B,GAASpP,EAAE,GAAG,EACrDqxF,GAAMvuF,KAAKmhC,GAAgBrkC,EAAGkkC,GAC9B,OACD,IAAK,WACR0mD,EAAOxqF,EAAE,GAAG,EAAIJ,GAAI8jC,GAAgB1jC,EAAE,GAAG,GAAK8mC,EAAQ13B,EAClDo2B,GAAQ0rD,GAASH,EAAUvG,EAAMp7E,EACjC,IAAIhQ,GAAIomC,CACR6rD,GAAMvuF,KAAK0iC,EAAQ,IAAMvB,GAAgBrkC,EAAGkkC,GAC5C,OAED,IAAK,WACL,IAAK,aAEJ,GAAImmC,GAAQjqE,EAAE,GAAG,GAAK0xF,EAAQ1xF,EAAE,GAAG,EACnC,KAAIiqE,EAAMA,EAAO,CACjBA,IAAQ,GACR,IAAIG,GAAOH,GAAQ,KAASonB,EAAM/xF,OAAO2qE,EACzConB,GAAM91F,QAAU0uE,CAChB,IAAGynB,IAAS,OAAQA,EAAOtnB,EAAKlrD,OAChCmyE,GAAMvuF,KAAK4uF,EAAO,IAAMtnB,EAAKroE,KAAK,KAAO,IACzC,OAED,IAAK,UACJsvF,EAAMvuF,KAAK9C,EAAE,GAAK,OAAS,QAAU,OACtC,IAAK,SACJqxF,EAAMvuF,KAAK9C,EAAE,GAAK,OACnB,IAAK,SACJqxF,EAAMvuF,KAAKtF,OAAOwC,EAAE,IAAM,OAC3B,IAAK,SAEJqxF,EAAMvuF,KAAK,IAAM9C,EAAE,GAAGuG,QAAQ,KAAM,MAAQ,IAAM,OACnD,IAAK,SACJ8qF,EAAMvuF,KAAK9C,EAAE,GAAK,OACnB,IAAK,WACRiT,EAAI8wB,GAAgB/jC,EAAE,GAAG,GAAI2jC,GAAQ9iC,EAAE8iC,GAAQmD,EAAQ13B,EACnDiiF,GAAMvuF,KAAKuhC,GAAiB,EAAKj1B,GACjC,OACD,IAAK,UACR6D,EAAI8wB,GAAgB/jC,EAAE,GAAG,GAAI8mC,EAAQ13B,EACjCiiF,GAAMvuF,KAAKuhC,GAAiB,EAAKj1B,GACjC,OACD,IAAK,YACRo7E,EAAOxqF,EAAE,GAAG,EAAIiT,GAAIjT,EAAE,GAAG,EACrBwlC,GAAQ0rD,GAASH,EAAUvG,EAAMp7E,EACjCiiF,GAAMvuF,KAAK0iC,EAAQ,IAAMnB,GAAiB,EAAKj1B,GAC/C,OACD,IAAK,aACJiiF,EAAMvuF,KAAK,OAASuuF,EAAM/uE,MAAQ,IAClC,OAED,IAAK,iBACL,IAAK,cACJ,MAED,IAAK,UAEJgvE,EAAWtxF,EAAE,GAAG,EAChB,IAAI2xF,IAAOZ,EAASa,WAAWN,EAAQ,KAAOP,EAAS,QAAQO,EAC/D,IAAI5yE,GAAOizE,EAAMA,EAAIt/B,KAAO,cAAgB70D,OAAO8zF,EAEnD,IAAG5yE,GAAQA,EAAKpf,MAAM,EAAE,IAAM,WAAa8P,EAAKyiF,KAAMnzE,EAAOA,EAAKpf,MAAM,EACxE+xF,GAAMvuF,KAAK4b,EACX,OAED,IAAK,WAEJ,GAAIozE,GAAW9xF,EAAE,GAAG,EAAKsxF,GAAWtxF,EAAE,GAAG,EAAK,IAAI+xF,EAElD,IAAG3iF,EAAK00B,MAAQ,EAAG,CAClB,GAAGguD,EAAU,EAAGA,GAAWA,CAC3B,IAAGf,EAASe,GAAUC,EAAahB,EAASe,GAASR,OAC/C,CACN,GAAIrsF,GAAI,EACR,MAAK8rF,EAASe,QAAc,QAAQ,IAAM,MAAO,MAC5C,MAAKf,EAASe,QAAc,QAAQ,IAAM,KAAO,CACrD,GAAGf,EAASe,GAASR,IAAYP,EAASe,GAASR,GAAS7+B,KAAO,EAAG,CACrExtD,EAAI8rF,EAAS7qD,WAAW6qD,EAASe,GAASR,GAAS7+B,KAAK,GAAK,SAG1DxtD,GAAI8rF,EAAS7qD,WAAWorD,EAAQ,GAAI,GACzC,IAAGP,EAASe,IAAYf,EAASe,GAASR,GAAUrsF,GAAK8rF,EAASe,GAASR,GAASj/B,SAC/E,IAAG0+B,EAAS,IAAMA,EAAS,GAAGO,GAAUrsF,GAAK8rF,EAAS,GAAGO,GAASj/B,SAClE,CACJ,GAAI2/B,IAAYlB,GAAaC,EAAUe,EAAS1iF,IAAO,IAAIvT,MAAM,KACjE,IAAGm2F,EAASV,EAAU,GAAIrsF,EAAI+sF,EAASV,EAAU,OAC5CrsF,IAAK,cAEXosF,EAAMvuF,KAAKmC,EACX,OAED,IAAI8sF,EAAYA,GAAc1/B,KAAM,cACpCg/B,GAAMvuF,KAAKivF,EAAW1/B,KACtB,OAED,IAAK,WACJ,GAAI4/B,GAAK,IAAKC,EAAK,GACnB,IAAGX,GAAW,EAAG,CAChBC,EAAK,EACL,QAAOnvB,EAAQ,GAAGkvB,GAAS,GAAG,IAE7B,IAAK,GAAGU,EAAKzpF,GAAK,IAAK65D,EAAQ,GAAGkvB,GAAS,GAAG,IAAMU,CAAI,OAExD,IAAK,GAAGA,EAAKzpF,GAAK,KAAM65D,EAAQ,GAAGkvB,GAAS,GAAG,IAAMU,CAAI,OAEzD,IAAK,GAAGC,EAAK1pF,GAAK,IAAK65D,EAAQ,GAAGkvB,GAAS,GAAG,IAAMW,CAAI,OAExD,IAAK,GAAGA,EAAK1pF,GAAK,KAAM65D,EAAQ,GAAGkvB,GAAS,GAAG,IAAMW,CAAI,OACzD,QAEC,GAAG9iF,EAAK6tB,IAAK,KAAM,IAAI7gC,OAAM,+BAAiCimE,EAAQ,GAAGkvB,GAAS,GAAG,KAEvFA,GAAW,EAEZF,EAAMvuF,KAAKmvF,EAAKZ,EAAM/uE,MAAQ4vE,EAAK,OAEpC,IAAK,YACJb,EAAMvuF,KAAK,QAAU,OAEtB,IAAK,cACJuuF,EAAMvuF,KAAK,QAAU,OAEtB,IAAK,SACJlD,GAAKA,EAAGI,EAAE,GAAG,GAAIiT,EAAGjT,EAAE,GAAG,GACzB,IAAI8O,IAAMlP,EAAG+jC,EAAK/jC,EAAGqT,EAAE0wB,EAAK1wB,EAC5B,IAAG89E,EAASoB,QAAQjuD,GAAYtkC,IAAK,CACpC,GAAIwyF,GAAWrB,EAASoB,QAAQjuD,GAAYtkC,GAC5CyxF,GAAMvuF,KAAKsuF,GAAkBgB,EAAStrD,EAAQh4B,EAAGiiF,EAAU3hF,QACrD,CACN,GAAIijF,GAAM,KACV,KAAI5vF,EAAG,EAAEA,GAAIsuF,EAASuB,OAAO/2F,SAAUkH,EAAI,CAE1CC,EAAKquF,EAASuB,OAAO7vF,EACrB,IAAG7C,EAAEA,EAAI8C,EAAG,GAAG7B,EAAEjB,GAAKA,EAAEA,EAAI8C,EAAG,GAAGrH,EAAEuE,EAAG,QACvC,IAAGA,EAAEqT,EAAIvQ,EAAG,GAAG7B,EAAEoS,GAAKrT,EAAEqT,EAAIvQ,EAAG,GAAGrH,EAAE4X,EAAG,QACvCo+E,GAAMvuF,KAAKsuF,GAAkB1uF,EAAG,GAAIokC,EAAQh4B,EAAGiiF,EAAU3hF,GACzDijF,GAAM,IACN,OAED,IAAIA,EAAKhB,EAAMvuF,KAAK9C,EAAE,IAEvB,MAED,IAAK,WACJqxF,EAAMvuF,KAAK,IAAMitF,GAAgB/vF,EAAE,IAAM,IACzC,OAED,IAAK,aAEJ,MAED,IAAK,gBACL,IAAK,mBACJuxF,EAAU98E,CACV,OAED,IAAK,SACJ,MAED,IAAK,YACJ,MAED,IAAK,aACJ48E,EAAMvuF,KAAK,GACX,OAED,IAAK,aACJuuF,EAAMvuF,KAAK,QAAU,OAEtB,IAAK,eACJuuF,EAAMvuF,KAAK,QAAU,OAEtB,IAAK,UAEJuuF,EAAMvuF,KAAK,QAAU9C,EAAE,GAAGuS,IAAM,KAAOvS,EAAE,GAAGonD,GAAK,IACjD,OAED,IAAK,eACL,IAAK,gBACL,IAAK,eACL,IAAK,YACL,IAAK,cACJ,MAED,IAAK,aACJ,MACD,IAAK,cACJ,MAED,IAAK,aACL,IAAK,cACL,IAAK,eACL,IAAK,cACL,IAAK,aACL,IAAK,iBACL,IAAK,oBACL,IAAK,kBACL,IAAK,YACL,IAAK,YACJ,KAAM,IAAIhrD,OAAM,oBAEjB,IAAK,YACJ,KAAM,IAAIA,OAAM,+BAAiCoB,OAAOwC,IACzD,QAAS,KAAM,IAAI5D,OAAM,+BAAiCoB,OAAOwC,KAElE,GAAIuyF,IAAc,eAAgB,mBAAoB,cACtD,IAAGnjF,EAAK00B,MAAQ,EAAG,GAAGytD,GAAW,GAAKgB,EAAW1wF,QAAQwgE,EAAQ,GAAG5tD,GAAI,MAAQ,EAAG,CAClFzU,EAAIqiE,EAAQ,GAAGkvB,EACf,IAAIiB,GAAQ,IACZ,QAAOxyF,EAAE,GAAG,IAEX,IAAK,GAAGwyF,EAAQ,MAEhB,IAAK,GAEJhB,EAAKhpF,GAAK,IAAKxI,EAAE,GAAG,GAAK,OAC1B,IAAK,GAAGwyF,EAAQ,MAEhB,IAAK,GAEJhB,EAAKhpF,GAAK,KAAMxI,EAAE,GAAG,GAAK,OAC3B,QACCwxF,EAAK,EAEL,IAAGpiF,EAAK6tB,IAAK,KAAM,IAAI7gC,OAAM,+BAAiC4D,EAAE,GAAG,KAErEqxF,EAAMvuF,MAAM0vF,EAAQhB,EAAK,IAAMH,EAAM/uE,OAASkwE,EAAQ,GAAKhB,GAC3DD,IAAW,GAGb,GAAGF,EAAM91F,OAAS,GAAK6T,EAAK6tB,IAAK,KAAM,IAAI7gC,OAAM,oBACjD,IAAGi1F,EAAM,IAAM,OAAQ,MAAO,KAAM,IAAGA,EAAM,IAAM,QAAS,MAAO,MACnE,OAAOA,GAAM,GAId,QAAS79B,IAAyBt3C,EAAM3gB,EAAQ6T,GAC/C,GAAIsqB,GAASxd,EAAKrZ,EAAItH,EAAQoD,EAAMyQ,EAAK00B,MAAQ,EAAI,EAAI,CACzD,IAAI2uD,GAAMjgC,EAAMt2C,EAAKR,WAAW/c,EAChC,IAAG6zD,GAAO,MAAQ,UAAWrwB,GAAUjmB,EAAM3gB,EAAO,GACpD,IAAIo3D,GAAOk9B,GAAW3zE,EAAMs2C,EAAKpjD,EACjC,IAAG7T,IAAWi3D,EAAM7zD,EAAK8zF,EAAO7C,GAAe1zE,EAAM3gB,EAASi3D,EAAM7zD,EAAKg0D,EAAMvjD,EAC/E8M,GAAKrZ,EAAI62B,CACT,QAAQi5B,EAAM8/B,GAIf,QAASC,IAA2Bx2E,EAAM3gB,EAAQ6T,GACjD,GAAIsqB,GAASxd,EAAKrZ,EAAItH,EAAQoD,EAAMyQ,EAAK00B,MAAQ,EAAI,EAAI,CACzD,IAAI2uD,GAAMjgC,EAAMt2C,EAAKR,WAAW/c,EAChC,IAAG6zD,GAAO,MAAQ,UAAWrwB,GAAUjmB,EAAM3gB,EAAO,GACpD,IAAIo3D,GAAOk9B,GAAW3zE,EAAMs2C,EAAKpjD,EACjC,IAAG7T,IAAWi3D,EAAM7zD,EAAK8zF,EAAO7C,GAAe1zE,EAAM3gB,EAASi3D,EAAM7zD,EAAKg0D,EAAMvjD,EAC/E8M,GAAKrZ,EAAI62B,CACT,QAAQi5B,EAAM8/B,GAIf,QAAS7/B,IAAwB12C,EAAM3gB,EAAQ6T,EAAMojD,GACpD,GAAI94B,GAASxd,EAAKrZ,EAAItH,CACtB,IAAIo3D,GAAOk9B,GAAW3zE,EAAMs2C,EAAKpjD,EACjC,IAAIqjF,EACJ,IAAG/4D,IAAWxd,EAAKrZ,EAAG4vF,EAAO7C,GAAe1zE,EAAMwd,EAASxd,EAAKrZ,EAAG8vD,EAAMvjD,EACzE,QAAQujD,EAAM8/B,GAIf,QAASn/B,IAA0Bp3C,EAAM3gB,EAAQ6T,GAChD,GAAIsqB,GAASxd,EAAKrZ,EAAItH,CACtB,IAAIk3F,GAAMjgC,EAAMt2C,EAAKR,WAAW,EAChC,IAAIi3C,GAAOk9B,GAAW3zE,EAAMs2C,EAAKpjD,EACjC,IAAGojD,GAAO,MAAQ,UAAWrwB,GAAUjmB,EAAM3gB,EAAO,GACpD,IAAGA,IAAWi3D,EAAM,EAAGigC,EAAO7C,GAAe1zE,EAAMwd,EAAS84B,EAAM,EAAGG,EAAMvjD,EAC3E,QAAQujD,EAAM8/B,GAIf,QAASE,IAAmBz2E,GAC3B,GAAIkK,EACJ,IAAGiZ,GAAenjB,EAAKA,EAAKrZ,EAAI,KAAO,MAAQ,OAAQinC,GAAW5tB,GAAM,IACxE,QAAOA,EAAKA,EAAKrZ,IAChB,IAAK,GAAMqZ,EAAKrZ,GAAK,CAAG,QAAQ,SAAU,KAC1C,IAAK,GAAMujB,EAAIlK,EAAKA,EAAKrZ,EAAE,KAAO,CAAKqZ,GAAKrZ,GAAK,CAAG,QAAQujB,EAAE,KAC9D,IAAK,GAAMA,EAAIlK,EAAKA,EAAKrZ,EAAE,EAAIqZ,GAAKrZ,GAAK,CAAG,QAAQujB,EAAE,KACtD,IAAK,GAAMlK,EAAKrZ,GAAK,CAAG,QAAQ,GAAG,MAEpC,SAED,QAAS+vF,IAAmBz2D,GAC3B,GAAGA,GAAS,KAAM,CAEjB,GAAIl3B,GAAIkb,GAAQ,EAChBlb,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,MACjB,OAAOtW,OACD,UAAUk3B,IAAS,SAAU,MAAO4N,IAAW5N,EACtD,OAAO4N,IAAW,GAInB,QAAS8oD,IAAc32E,EAAM3gB,EAAQ6T,GACpC,GAAI0d,GAAM5Q,EAAKrZ,EAAItH,CACnB,IAAIooC,GAAOojB,GAAc7qC,EAAM,EAAG9M,EAClC,IAAIuC,GAAMghF,GAAmBz2E,EAAK,EAClC,IAAIE,GAAQF,EAAKR,WAAW,EAC5B,IAAGtM,EAAK00B,MAAQ,EAAG,CAClB5nB,EAAKR,WAAW,EAChB,IAAGtM,EAAK00B,MAAQ,EAAG,CACJ5nB,EAAKR,WAAW,IAGhC,GAAIo3E,GAAMJ,GAA2Bx2E,EAAM4Q,EAAM5Q,EAAKrZ,EAAGuM,EACzD,QAAQu0B,KAAKA,EAAMhyB,IAAIA,EAAI,GAAI0wD,QAAQywB,EAAKC,OAAS32E,GAAS,EAAK,EAAGta,GAAG6P,EAAI,IAE9E,QAASqhF,IAAcrvD,EAAM9oB,EAAGnZ,EAAG0N,EAAM89C,GAExC,GAAI+lC,GAAK/rC,GAAcrsC,EAAGnZ,EAAGwrD,EAG7B,IAAI/7B,GAAKyhE,GAAmBjvD,EAAKr7B,EAGjC,IAAI4qF,GAAK/yE,GAAQ,EACjB,IAAI/D,GAAQ,EAAO,EACnB82E,GAAG33E,YAAY,EAAGa,EAClB82E,GAAG33E,YAAY,EAAG,EAGlB,IAAI43E,GAAKhzE,GAAQwjB,EAAKwvD,GAAG53F,OACzB,KAAI,GAAID,GAAI,EAAGA,EAAIqoC,EAAKwvD,GAAG53F,SAAUD,EAAG63F,EAAG73F,GAAKqoC,EAAKwvD,GAAG73F,EAExD,IAAI6D,GAAMoI,GAAS0rF,EAAI9hE,EAAI+hE,EAAIC,GAC/B,OAAOh0F,GAKR,QAASi0F,IAAwBn0F,EAAM1D,EAAQ6T,GAC9C,GAAIojD,GAAMvzD,EAAKyc,WAAW,EAC1B,IAAIi3C,GAAOk9B,GAAW5wF,EAAMuzD,EAAKpjD,EACjC,IAAIizB,GAAKpjC,EAAKyc,WAAW,EACzB,IAAI+2E,GAAOpwD,EAAK,EAAIutD,GAAe3wF,EAAMojC,EAAIswB,EAAMvjD,GAAQ,IAC3D,QAAQujD,EAAM8/B,GAIf,GAAIY,IAA+BD,EAEnC,IAAIE,IAA8BF,EAMlC,IAAIG,IAA8BH,EAElC,IAAII,IAAgCJ,EAGpC,SAASK,IAAqB9hF,GAC7B,IAAIA,EAAM,IAAMA,GAAOA,EAAM/I,KAAKI,IAAI,EAAE,KAAO2I,GAAO,EAAG,CACxD,GAAI+hF,GAAOvzE,GAAQ,GACnBuzE,GAAKn4E,YAAY,EAAG,EACpBm4E,GAAKn4E,YAAY,EAAG,GACpBm4E,GAAKn4E,YAAY,EAAG5J,EACpB+hF,GAAKn4E,YAAY,EAAG,EACpB,OAAOm4E,GAGR,GAAIz8B,GAAM92C,GAAQ,GAClB82C,GAAI17C,YAAY,EAAG,GACnB07C,GAAI17C,YAAY,EAAG,GACnB07C,GAAI17C,YAAY,EAAG5J,EACnBslD,GAAI17C,YAAY,EAAG,EACnB,OAAO07C,GAGR,QAAS08B,IAAqBhiF,GAC7B,GAAI+hF,GAAOvzE,GAAQ,GACnBuzE,GAAKn4E,YAAY,EAAG,EACpBm4E,GAAKn4E,YAAY,EAAG,GACpBm4E,GAAKn4E,YAAY,EAAG5J,EACpB+hF,GAAKn4E,YAAY,EAAG,EACpB,OAAOm4E,GAGR,QAASE,IAAsBjiF,GAC9B,GAAI+hF,GAAOvzE,GAAQ,GACnBuzE,GAAKn4E,YAAY,EAAG,EACpBm4E,GAAKn4E,YAAY,EAAG,GACpBm4E,GAAKn4E,YAAY,EAAG5J,EAAI,EAAE,EAC1B+hF,GAAKn4E,YAAY,EAAG,EACpB,OAAOm4E,GAIR,QAASG,IAAqBliF,GAC7B,GAAImlB,GAAW3W,GAAQ,EACvB2W,GAASvb,YAAY,EAAG,EAAI,EAAI5J,EAAIpW,OACpCu7B,GAASvb,YAAY,EAAG,GACxBub,GAASvb,YAAY,EAAG5J,EAAIpW,OAE5B,IAAI80B,GAAOlQ,GAAQ,EAAIxO,EAAIpW,OAC3B80B,GAAK9U,YAAY,EAAI5J,EAAIpW,OAAQoW,EAAK,UAEtC,IAAImiF,GAAY3zE,GAAQ,EACxB2zE,GAAUv4E,YAAY,EAAG,EAEzB,OAAOhU,IAASuvB,EAAUzG,EAAMyjE,IAIjC,QAASC,IAAqBhgF,GAC7B,GAAI4vB,GAAOqB,GAAYjxB,EACvB,IAAI5U,GAAMghB,GAAQ,GAClBhhB,GAAIoc,YAAY,EAAG,EACnBpc,GAAIoc,YAAY,EAAG,EAAQ,GAAK,EAChCpc,GAAIoc,YAAY,EAAGooB,EAAK1wB,EACxB9T,GAAIoc,YAAY,EAAGooB,EAAK/jC,GAAMmU,EAAItY,OAAO,IAAM,IAAM,EAAI,IAAI,IAAQsY,EAAI5R,MAAM,QAAU,EAAI,IAAI,GACjGhD,GAAIoc,YAAY,EAAG,EAEnB,OAAOpc,GAIR,QAAS60F,IAAuBjgF,EAAKunC,GACpC,GAAI24C,GAAWlgF,EAAIoB,YAAY,IAC/B,IAAIqwB,GAAQzxB,EAAIzU,MAAM,EAAG20F,EACzBlgF,GAAMA,EAAIzU,MAAM20F,EAAS,EACzB,IAAItwD,GAAOqB,GAAYjxB,EACvB,IAAGyxB,EAAM/pC,OAAO,IAAM,IAAK+pC,EAAQA,EAAMlmC,MAAM,GAAI,GAAGiH,QAAQ,MAAO,IAErE,IAAIpH,GAAMghB,GAAQ,GAClBhhB,GAAIoc,YAAY,EAAG,EACnBpc,GAAIoc,YAAY,EAAG,GAAQ,GAAK,EAChCpc,GAAIoc,YAAY,EAAG,EAAI+/B,EAAGpV,WAAW1lC,IAAI,SAASrC,GAAK,MAAOA,GAAE0X,gBAAkBhU,QAAQ2jC,EAAM3vB,eAChG1W,GAAIoc,YAAY,EAAGooB,EAAK1wB,EACxB9T,GAAIoc,YAAY,EAAGooB,EAAK/jC,GAAMmU,EAAItY,OAAO,IAAM,IAAM,EAAI,IAAI,IAAQsY,EAAI5R,MAAM,QAAU,EAAI,IAAI,GACjGhD,GAAIoc,YAAY,EAAG,EAEnB,OAAOpc,GAIR,QAAS+0F,IAA0BngF,EAAKunC,GACvC,GAAI24C,GAAWlgF,EAAIoB,YAAY,IAC/B,IAAIqwB,GAAQzxB,EAAIzU,MAAM,EAAG20F,EACzBlgF,GAAMA,EAAIzU,MAAM20F,EAAS,EACzB,IAAGzuD,EAAM/pC,OAAO,IAAM,IAAK+pC,EAAQA,EAAMlmC,MAAM,GAAI,GAAGiH,QAAQ,MAAO,IAErE,IAAIpH,GAAMghB,GAAQ,GAClBhhB,GAAIoc,YAAY,EAAG,EACnBpc,GAAIoc,YAAY,EAAG,GAAQ,GAAK,EAChCpc,GAAIoc,YAAY,EAAG,EAAI+/B,EAAGpV,WAAW1lC,IAAI,SAASrC,GAAK,MAAOA,GAAE0X,gBAAkBhU,QAAQ2jC,EAAM3vB,eAChG1W,GAAIoc,YAAY,EAAG,EACnBpc,GAAIoc,YAAY,EAAG,EACnBpc,GAAIoc,YAAY,EAAG,EAEnB,OAAOpc,GAIR,QAASg1F,IAAuBC,GAC/B,GAAI33C,GAAQ23C,EAAKv4F,MAAM,KAAMkY,EAAM0oC,EAAM,EAEzC,IAAIt9C,GAAMghB,GAAQ,GAClBhhB,GAAIoc,YAAY,EAAG,GAGnBxH,GAAM0oC,EAAM,EAAI,IAAI9Y,GAAOqB,GAAYjxB,EACvC5U,GAAIoc,YAAY,EAAG,EAAQ,GAAK,EAChCpc,GAAIoc,YAAY,EAAGooB,EAAK1wB,EACxB9T,GAAIoc,YAAY,EAAGooB,EAAK/jC,GAAMmU,EAAItY,OAAO,IAAM,IAAM,EAAI,IAAI,IAAQsY,EAAI5R,MAAM,QAAU,EAAI,IAAI,GACjGhD,GAAIoc,YAAY,EAAG,EAGnBxH,GAAM0oC,EAAM,EAAI9Y,GAAOqB,GAAYjxB,EACnC5U,GAAIoc,YAAY,EAAG,EAAQ,GAAK,EAChCpc,GAAIoc,YAAY,EAAGooB,EAAK1wB,EACxB9T,GAAIoc,YAAY,EAAGooB,EAAK/jC,GAAMmU,EAAItY,OAAO,IAAM,IAAM,EAAI,IAAI,IAAQsY,EAAI5R,MAAM,QAAU,EAAI,IAAI,GACjGhD,GAAIoc,YAAY,EAAG,EAGnBpc,GAAIoc,YAAY,EAAG,GAEnBpc,GAAIoc,YAAY,EAAG,EAEnB,OAAOpc,GAIR,QAASk1F,IAAyBD,EAAM94C,GACvC,GAAI24C,GAAWG,EAAKj/E,YAAY,IAChC,IAAIqwB,GAAQ4uD,EAAK90F,MAAM,EAAG20F,EAC1BG,GAAOA,EAAK90F,MAAM20F,EAAS,EAC3B,IAAGzuD,EAAM/pC,OAAO,IAAM,IAAK+pC,EAAQA,EAAMlmC,MAAM,GAAI,GAAGiH,QAAQ,MAAO,IACrE,IAAIk2C,GAAQ23C,EAAKv4F,MAAM,IAEvB,IAAIsD,GAAMghB,GAAQ,GAClBhhB,GAAIoc,YAAY,EAAG,GAGnB,IAAIxH,GAAM0oC,EAAM,GAAI9Y,EAAOqB,GAAYjxB,EACvC5U,GAAIoc,YAAY,EAAG,GAAQ,GAAK,EAChCpc,GAAIoc,YAAY,EAAG,EAAI+/B,EAAGpV,WAAW1lC,IAAI,SAASrC,GAAK,MAAOA,GAAE0X,gBAAkBhU,QAAQ2jC,EAAM3vB,eAChG1W,GAAIoc,YAAY,EAAGooB,EAAK1wB,EACxB9T,GAAIoc,YAAY,EAAGooB,EAAK/jC,GAAMmU,EAAItY,OAAO,IAAM,IAAM,EAAI,IAAI,IAAQsY,EAAI5R,MAAM,QAAU,EAAI,IAAI,GAGjG4R,GAAM0oC,EAAM,EAAI9Y,GAAOqB,GAAYjxB,EACnC5U,GAAIoc,YAAY,EAAG,GAAQ,GAAK,EAChCpc,GAAIoc,YAAY,EAAG,EAAI+/B,EAAGpV,WAAW1lC,IAAI,SAASrC,GAAK,MAAOA,GAAE0X,gBAAkBhU,QAAQ2jC,EAAM3vB,eAChG1W,GAAIoc,YAAY,EAAGooB,EAAK1wB,EACxB9T,GAAIoc,YAAY,EAAGooB,EAAK/jC,GAAMmU,EAAItY,OAAO,IAAM,IAAM,EAAI,IAAI,IAAQsY,EAAI5R,MAAM,QAAU,EAAI,IAAI,GAGjGhD,GAAIoc,YAAY,EAAG,GAEnBpc,GAAIoc,YAAY,EAAG,EAEnB,OAAOpc,GAIR,QAASm1F,IAAwBF,EAAM94C,GACtC,GAAI24C,GAAWG,EAAKj/E,YAAY,IAChC,IAAIqwB,GAAQ4uD,EAAK90F,MAAM,EAAG20F,EAC1BG,GAAOA,EAAK90F,MAAM20F,EAAS,EAC3B,IAAGzuD,EAAM/pC,OAAO,IAAM,IAAK+pC,EAAQA,EAAMlmC,MAAM,GAAI,GAAGiH,QAAQ,MAAO,IACrE,IAAIy9B,GAAQiB,GAAamvD,EAEzB,IAAIj1F,GAAMghB,GAAQ,GAClBhhB,GAAIoc,YAAY,EAAG,GAEnBpc,GAAIoc,YAAY,EAAG,GAAQ,GAAK,EAChCpc,GAAIoc,YAAY,EAAG,EAAI+/B,EAAGpV,WAAW1lC,IAAI,SAASrC,GAAK,MAAOA,GAAE0X,gBAAkBhU,QAAQ2jC,EAAM3vB,eAChG1W,GAAIoc,YAAY,EAAGyoB,EAAMnjC,EAAEoS,EAC3B9T,GAAIoc,YAAY,EAAGyoB,EAAM3oC,EAAE4X,EAC3B9T,GAAIoc,YAAY,EAAGyoB,EAAMnjC,EAAEjB,EAC3BT,GAAIoc,YAAY,EAAGyoB,EAAM3oC,EAAEuE,EAE3BT,GAAIoc,YAAY,EAAG,EAEnB,OAAOpc,GAKR,QAASo1F,IAAkB5iF,EAAK2pC,GAC/B,SAAU3pC,IAAO,SAAU,MAAO8hF,IAAqB9hF,EACvD,UAAUA,IAAO,UAAW,MAAOiiF,IAAsBjiF,EACzD,IAAG,+DAA+D+b,KAAK/b,GAAM,MAAOgiF,KAAsB1kD,GAAMt9B,GAChH,IAAGA,EAAIxP,MAAM,+IAAgJ,MAAO4xF,IAAqBpiF,EACzL,IAAGA,EAAIxP,MAAM,yRAA0R,MAAOgyF,IAAuBxiF,EACrU,IAAGA,EAAIxP,MAAM,8RAA+R,MAAOmyF,IAAwB3iF,EAAK2pC,EAChV,IAAG3pC,EAAIxP,MAAM,gNAAiN,MAAO6xF,IAAuBriF,EAAK2pC,EACjQ,IAAG3pC,EAAIxP,MAAM,0VAA2V,MAAOkyF,IAAyB1iF,EAAK2pC;AAC7Y,GAAG,2EAA2E5tB,KAAK/b,GAAM,MAAOuiF,IAA0BviF,EAAK2pC,EAC/H,IAAG,SAAS5tB,KAAK/b,GAAM,MAAOkiF,IAAqBliF,EACnD,IAAG,YAAY+b,KAAK/b,GAAM,MAAO8hF,IAAqBpgF,SAAS1B,EAAK,IACpE,MAAM,YAAcA,EAAM,2BAE3B,GAAI6iF,IAA8BD,EAClC,IAAIlI,KACF7oF,EAAG,OACHC,EAAG,OACHC,EAAG,aACH6F,EAAG,YACHC,EAAG,OACH0B,EAAG,UACHC,EAAG,cACHC,EAAG,aACHC,EAAG,QACH5B,EAAG,gBACHC,GAAI,OACJC,GAAI,aACJC,GAAI,cACJC,GAAI,cACJC,GAAI,cACJC,GAAI,OACJC,GAAI,QACJC,GAAI,MACJK,GAAI,iBACJgB,GAAI,mBACJC,GAAI,iBACJC,GAAI,oBACJC,GAAI,OACJC,GAAI,UACJC,GAAI,mBACJC,GAAI,YACJC,GAAI,UACJC,GAAI,gBACJiM,GAAI,cACJE,GAAI,YACJC,GAAI,UACJC,GAAI,cACJ5N,GAAI,eACJC,GAAI,eACJC,GAAI,OACJC,GAAI,cACJoD,GAAI,QACJC,GAAI,gBACJC,GAAI,YACJC,GAAI,QACJtD,GAAI,SACJC,GAAI,kBACJC,GAAI,eACJC,GAAI,OACJC,GAAI,MACJgB,GAAI,OACJC,GAAI,QACJC,GAAI,QACJC,GAAI,gBACJC,GAAI,cACJC,GAAI,SACJpB,GAAI,aACJqB,GAAI,YACJI,GAAI,cACJC,GAAI,eACJgB,GAAI,eACJC,GAAI,eACJC,GAAI,mBACJC,GAAI,mBACJlB,GAAI,eACJC,GAAI,cACJjI,GAAI,iBACJkI,GAAI,eACJC,GAAI,cACJC,GAAI,kBACJC,GAAI,cACJC,GAAI,YACJC,GAAI,cACJC,GAAI,YACJxJ,GAAI,gBACJyJ,GAAI,OACJC,GAAI,SACJC,GAAI,cACJC,GAAI,YACJC,GAAI,eACJq8D,GAAI,mBACJt8B,GAAI,WACJknD,GAAI,aACJjnD,GAAI,UACJ2rB,GAAI,QACJC,GAAI,gBACJC,GAAI,cACJ5rB,GAAI,cACJ8hD,GAAI,QACJC,GAAI,UACJC,GAAI,OACJiF,GAAI,SACJC,GAAI,YACJzF,GAAI,UACJC,GAAI,eACJC,GAAI,gBACJC,GAAI,iBACJv3B,IAAK,iBACLC,IAAK,oBACLC,IAAK,oBACLC,IAAK,WACLC,IAAK,gBACLxqB,IAAK,gBACLyqB,IAAK,gBACLC,IAAK,gBACLkB,IAAK,eACLwQ,IAAK,SACLwlB,IAAK,cACLvlB,IAAK,gBACL6qB,IAAK,QACLC,IAAK,QACLC,IAAK,QACLC,IAAK,QACLC,IAAK,UACLC,IAAK,UACLC,IAAK,QACLC,IAAK,MACL98B,IAAK,cACLC,IAAK,iBACLC,IAAK,UACLE,IAAK,aACLC,IAAK,eACLC,IAAK,eACLy8B,IAAK,aACLxxF,IAAK,cACLC,IAAK,cACLC,IAAK,kBACLuxF,IAAK,YACLC,IAAK,iBACLC,IAAK,cACLxxF,IAAK,eACLw1D,IAAK,eACLv1D,IAAK,YACLwxF,IAAK,QACLC,IAAK,YACLC,IAAK,UACLC,IAAK,gBACLtqB,IAAK,UACLuqB,IAAK,aACLC,IAAK,aACLC,IAAK,gBACLC,IAAK,YACLzqB,IAAK,aACL0qB,IAAK,UACLC,IAAK,OACLr9B,IAAK,cACLC,IAAK,UACLC,IAAK,YACLyS,IAAK,iBACLE,IAAK,cACLyqB,IAAK,oBACLjyF,IAAK,gBACLC,IAAK,eACLC,IAAK,iBACLgyF,IAAK,kBACLC,IAAK,cACLC,IAAK,qBACLC,IAAK,SACLC,IAAK,cACLC,IAAK,WACLC,IAAK,WACLC,IAAK,eACLC,IAAK,eACLhrB,IAAK,iBACLC,IAAK,eACLG,IAAK,kBACLznE,IAAK,qBACL0nE,IAAK,aACLC,IAAK,YACL2qB,IAAK,YACLC,IAAK,gBACLC,IAAK,cACLC,IAAK,eACLC,IAAK,kBACLC,IAAK,oBACL/qB,IAAK,kBACLgrB,IAAK,iBACLC,IAAK,UACLC,IAAK,YACLC,IAAK,YACLt+B,IAAK,aACLC,IAAK,cACLC,IAAK,UACLC,IAAK,SACL30D,IAAK,cACL6nE,IAAK,UACLC,IAAK,oBACLC,IAAK,kBACLgrB,IAAK,QACLC,IAAK,aACLC,IAAK,YACLC,IAAK,cACL9pD,IAAK,mBACL+pD,IAAK,oBACLC,IAAK,cACL/pD,IAAK,cACLgqD,IAAK,mBACL/pD,IAAK,eACLgqD,IAAK,aACLC,IAAK,eACLtzF,IAAK,gBACLuzF,IAAK,aACLC,IAAK,cACLC,IAAK,cACLC,IAAK,iBACLC,IAAK,YACLC,IAAK,cACLC,IAAK,eACLC,IAAK,aACLC,IAAK,aACLC,IAAK,gBACLC,IAAK,eACLC,IAAK,kBACLC,IAAK,gBACLC,IAAK,qBACLC,IAAK,WACLtsB,IAAK,OACLC,IAAK,gBACLC,IAAK,kBACLI,IAAK,aACLC,IAAK,aACLC,IAAK,eACLC,IAAK,iBACL8rB,IAAK,cACLC,IAAK,iBACLC,IAAK,qBACLC,IAAK,YACLC,IAAK,oBACLC,IAAK,WACLC,IAAK,cACLC,IAAK,iBACLC,IAAK,WACLC,IAAK,eACLC,IAAK,gBACLC,IAAK,gBACLC,IAAK,mBACLC,IAAK,iBACL3pB,IAAK,eACL4pB,IAAK,cACLC,IAAK,YACLC,IAAK,kBACLC,IAAK,oBACLC,IAAK,iBACLC,IAAK,YACLC,IAAK,aACLC,IAAK,oBACLC,IAAK,aACLC,IAAK,eACLC,IAAK,iBACLC,IAAK,kBACLC,IAAK,eACLC,IAAK,gBACLC,IAAK,gBACLC,IAAK,qBACLC,IAAK,mBACLC,IAAK,qBACLC,IAAK,yBACLC,IAAK,cACLC,IAAK,aACLC,IAAK,mBACLC,IAAK,sBACLC,IAAK,eACLjrB,IAAK,eACLkrB,IAAK,gBACLC,IAAK,cACLC,IAAK,kBACLC,IAAK,cACLC,IAAK,gBACLC,IAAK,kBACLC,IAAK,2BACLC,IAAK,eACLC,IAAK,iBACLC,IAAK,aACLC,IAAK,iBACLC,IAAK,YACLC,IAAK,mBACLC,IAAK,cACLC,IAAK,wBACLnuD,IAAK,kBACLouD,IAAK,qBACLC,IAAK,kBACLC,IAAK,kBACLC,IAAK,kBACLC,IAAK,qBACLC,IAAK,aACLC,IAAK,iBACLC,IAAK,eACLC,IAAK,mBACLC,IAAK,aACLC,IAAK,eACLC,IAAK,kBACLC,IAAK,gBACLC,IAAK,gBACL7vB,IAAK,kBACL8vB,IAAK,kBACLC,IAAK,gBACLC,IAAK,iBACL9vB,IAAK,uBACL+vB,IAAK,0BACLC,IAAK,iBACL/vB,IAAK,eACLgwB,IAAK,YACLC,IAAK,cACLhwB,IAAK,aACLiwB,IAAK,iBACLC,IAAK,kBACLC,IAAK,kBACLC,IAAK,gBACLC,IAAK,kBACLC,IAAK,gBACLC,IAAK,gBACLC,IAAK,qBACLC,IAAK,cACLC,IAAK,mBACLhwD,IAAK,uBACLiwD,IAAK,mBACLC,IAAK,kBACLC,IAAK,mBACLC,IAAK,cACLC,IAAK,iBACLC,IAAK,kBACLC,IAAK,eACLC,IAAK,eACLC,IAAK,oBACLC,IAAK,sBACLC,IAAK,sBACLC,IAAK,mBACLC,IAAK,qBACLC,IAAK,qBACLC,IAAK,gBACLC,IAAK,aACLC,IAAK,YACLC,IAAK,cACLC,IAAK,mBACLC,IAAK,gBACLC,IAAK,wBACLC,IAAK,qBACLC,IAAK,SACLC,IAAK,kBACLC,IAAK,gBACLC,IAAK,kBACLC,IAAK,gBACLC,IAAK,gBACLC,IAAK,mBACLC,IAAK,mBACLC,IAAK,oBACLC,IAAK,eACLC,IAAK,oBACLC,IAAK,uBACLC,IAAK,cACLC,IAAK,WACLC,IAAK,WACLC,IAAK,aACLC,IAAK,aACLC,IAAK,eACLC,IAAK,eACLC,IAAK,cACLC,IAAK,qBACLC,IAAK,yBACLC,IAAK,mBACLC,IAAK,WACLC,IAAK,iBACLC,IAAK,iBACLC,IAAK,eACLC,IAAK,YACLC,IAAK,mBACLC,IAAK,mBACLC,IAAK,iBACLC,IAAK,kBACLC,IAAK,oBACLC,IAAK,mBACLC,IAAK,cACLC,IAAK,gBACLC,IAAK,WACLC,IAAK,YACLC,IAAK,cACLC,IAAK,cACLC,IAAK,mBACLC,IAAK,oBACLC,IAAK,iBACLt0B,IAAK,YACLu0B,IAAK,SACLC,IAAK,SACLC,IAAK,gBACLC,IAAK,mBACLC,IAAK,iBACLC,IAAK,WACLC,IAAK,gBACLC,IAAK,gBACLC,IAAK,cACLC,IAAK,iBACLC,IAAK,iBACLC,IAAK,oBACLC,IAAK,sBACL30B,IAAK,aACL40B,IAAK,cACLC,IAAK,cACLC,IAAK,oBACLC,IAAK,eACLC,IAAK,gBACLC,IAAK,oBAEP,IAAIrX,KACFxoF,EAAG,QACHC,EAAG,KACHC,EAAG,OACH6F,EAAG,UACHC,EAAG,MACH0B,EAAG,UACHC,EAAG,MACHC,EAAG,MACHC,EAAG,MACH5B,EAAG,SACHC,GAAI,KACJC,GAAI,MACJC,GAAI,QACJC,GAAI,SACJC,GAAI,QACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,OACJC,GAAI,KACJC,GAAI,OACJC,GAAI,MACJC,GAAI,KACJgB,GAAI,QACJC,GAAI,MACJC,GAAI,MACJC,GAAI,OACJC,GAAI,QACJC,GAAI,SACJC,GAAI,QACJC,GAAI,OACJC,GAAI,MACJiM,GAAI,MACJC,GAAI,QACJC,GAAI,OACJC,GAAI,QACJC,GAAI,MACJ5N,GAAI,KACJC,GAAI,MACJC,GAAI,MACJC,GAAI,SACJoD,GAAI,OACJC,GAAI,WACJC,GAAI,OACJC,GAAI,OACJtD,GAAI,SACJC,GAAI,MACJC,GAAI,OACJC,GAAI,OACJC,GAAI,SACJgB,GAAI,QACJC,GAAI,SACJC,GAAI,SACJC,GAAI,OACJC,GAAI,OACJC,GAAI,SACJpB,GAAI,KACJqB,GAAI,KACJC,GAAI,OACJC,GAAI,MACJC,GAAI,OACJC,GAAI,OACJC,GAAI,MACJgB,GAAI,OACJC,GAAI,QACJC,GAAI,OACJC,GAAI,OACJlB,GAAI,MACJC,GAAI,QACJjI,GAAI,OACJkI,GAAI,UACJC,GAAI,OACJC,GAAI,SACJC,GAAI,SACJC,GAAI,MACJC,GAAI,QACJC,GAAI,OACJxJ,GAAI,UACJyJ,GAAI,SACJC,GAAI,SACJC,GAAI,SACJC,GAAI,WACJC,GAAI,SACJq8D,GAAI,YACJt8B,GAAI,QACJknD,GAAI,OACJjnD,GAAI,OACJ2rB,GAAI,OACJC,GAAI,WACJC,GAAI,SACJ5rB,GAAI,QACJ8hD,GAAI,UACJC,GAAI,SACJC,GAAI,YACJiF,GAAI,cACJC,GAAI,YACJzF,GAAI,SACJC,GAAI,QACJC,GAAI,OACJC,GAAI,OACJv3B,IAAK,SACLC,IAAK,UACLC,IAAK,UACLC,IAAK,QACLC,IAAK,QACLxqB,IAAK,QACLyqB,IAAK,cACLC,IAAK,WACLkB,IAAK,YACLwQ,IAAK,MACLwlB,IAAK,OACLvlB,IAAK,OACL6qB,IAAK,QACLC,IAAK,QACLC,IAAK,SACLC,IAAK,OACLC,IAAK,QACLC,IAAK,QACLC,IAAK,OACLC,IAAK,UACL98B,IAAK,aACLC,IAAK,OACLC,IAAK,QACLC,IAAK,YACLC,IAAK,OACLC,IAAK,OACLC,IAAK,QACLy8B,IAAK,SACLxxF,IAAK,WACLC,IAAK,UACLC,IAAK,IACLuxF,IAAK,IACLC,IAAK,QACLC,IAAK,SACLxxF,IAAK,QACLw1D,IAAK,UACLv1D,IAAK,QACLwxF,IAAK,WACLC,IAAK,SACLC,IAAK,OACLC,IAAK,YACL2N,IAAK,YACLj4B,IAAK,MACLuqB,IAAK,MACLC,IAAK,MACLC,IAAK,UACLC,IAAK,UACLzqB,IAAK,UACL0qB,IAAK,WACLC,IAAK,WACLr9B,IAAK,OACLC,IAAK,UACLC,IAAK,WACLyS,IAAK,cACLC,IAAK,iBACLC,IAAK,gBACLC,IAAK,iBACL63B,IAAK,WACLC,IAAK,cACLtN,IAAK,iBACLuN,IAAK,iBACLx/F,IAAK,aACLC,IAAK,QACLC,IAAK,UACLgyF,IAAK,WACLuN,IAAK,QACLtN,IAAK,QACLC,IAAK,OACLC,IAAK,OACLC,IAAK,SACLC,IAAK,aACLC,IAAK,MACLC,IAAK,QACLC,IAAK,QACLhrB,IAAK,OACLC,IAAK,WACLC,IAAK,UACLznE,IAAK,OACLC,IAAK,UACLs/F,IAAK,YACLC,IAAK,UACLC,IAAK,OACLC,IAAK,UACLC,IAAK,UACLj4B,IAAK,OACLC,IAAK,WACLznE,IAAK,gBACL0nE,IAAK,aACLC,IAAK,eACL2qB,IAAK,WACLC,IAAK,YACLC,IAAK,WACLC,IAAK,OACLC,IAAK,SACLC,IAAK,OACL/qB,IAAK,UACLgrB,IAAK,QACLC,IAAK,QACLC,IAAK,YACLC,IAAK,UACLt+B,IAAK,aACLC,IAAK,aACLz0D,IAAK,WACL4nE,IAAK,QACLC,IAAK,UACLC,IAAK,WACLC,IAAK,QACLgrB,IAAK,SACLC,IAAK,OACLC,IAAK,OACLC,IAAK,UACL9pD,IAAK,YACL+pD,IAAK,MACLC,IAAK,OACL/pD,IAAK,OACLiqD,IAAK,UACLC,IAAK,UACLkM,IAAK,QACLx/F,IAAK,MACLuzF,IAAK,OACLC,IAAK,UACLC,IAAK,SACLC,IAAK,WACLC,IAAK,SACLC,IAAK,aACLC,IAAK,OACL4L,IAAK,OACLC,IAAK,OACLC,IAAK,QACLC,IAAK,QACLC,IAAK,QACLC,IAAK,OACLC,IAAK,gBACLC,IAAK,WACL//F,IAAK,aACLggG,IAAK,cACLnM,IAAK,gBACLoM,IAAK,kBACLC,IAAK,gBACLpM,IAAK,WACLqM,IAAK,OACLC,IAAK,QACLC,IAAK,aACLC,IAAK,KACLC,IAAK,QACLtM,IAAK,SACLC,IAAK,YACLC,IAAK,cACLC,IAAK,iBACLn0F,IAAK,OACL6nE,IAAK,gBACL04B,IAAK,WACLC,IAAK,cACL14B,IAAK,WACLC,IAAK,iBACLC,IAAK,aACLC,IAAK,YACLC,IAAK,eACLu4B,IAAK,eACLt4B,IAAK,cACLC,IAAK,aACLC,IAAK,cACLC,IAAK,eACL8rB,IAAK,SACL7rB,IAAK,WACLC,IAAK,UACL6rB,IAAK,UACLC,IAAK,YACLC,IAAK,UACLmM,IAAK,SACLlM,IAAK,SACLC,IAAK,aACLC,IAAK,YACLC,IAAK,OACLC,IAAK,YACLC,IAAK,QACLC,IAAK,OACLC,IAAK,SACLC,IAAK,YACLC,IAAK,QACL0L,IAAK,YACLC,IAAK,WACLt1B,IAAK,UACL4pB,IAAK,cACLC,IAAK,cACLC,IAAK,SACLC,IAAK,eACLC,IAAK,WACLuL,IAAK,YACLtL,IAAK,UACLC,IAAK,WACLC,IAAK,cACLC,IAAK,MACLoL,IAAK,SACLC,IAAK,UACLC,IAAK,QACLrL,IAAK,UACLsL,IAAK,UACL11B,IAAK,WACLqqB,IAAK,WACLC,IAAK,UACLC,IAAK,SACLC,IAAK,QACLC,IAAK,WACLC,IAAK,QACLC,IAAK,YACLC,IAAK,UACLC,IAAK,MACLC,IAAK,QACLC,IAAK,QACLC,IAAK,QACL2K,IAAK,OACL1K,IAAK,QACLC,IAAK,UACLjrB,IAAK,UACLkrB,IAAK,QACLC,IAAK,OACLC,IAAK,OACLC,IAAK,QACLC,IAAK,QACLqK,IAAK,QACLC,IAAK,WACLrK,IAAK,aACLsK,IAAK,cACLrK,IAAK,OACLsK,IAAK,WACLC,IAAK,OACLC,IAAK,gBACLC,IAAK,YACLxK,IAAK,cACLyK,IAAK,QACLxK,IAAK,iBACLC,IAAK,kBACLwK,IAAK,kBACLC,IAAK,iBACLxK,IAAK,UACLC,IAAK,UACLC,IAAK,WACLuK,IAAK,QACLC,IAAK,UACLC,IAAK,aACLC,IAAK,eACLC,IAAK,oBACL1K,IAAK,QACLnuD,IAAK,UACLouD,IAAK,aACL0K,IAAK,eACL74D,IAAK,QACLouD,IAAK,cACLC,IAAK,cACLyK,IAAK,WACL74D,IAAK,eACL84D,IAAK,YACLC,IAAK,WACLC,IAAK,WACLC,IAAK,OACLC,IAAK,OACLC,IAAK,UACLC,IAAK,QACLC,IAAK,SACLC,IAAK,OACLC,IAAK,WACLC,IAAK,gBACLnL,IAAK,YACLoL,IAAK,kBACLC,IAAK,eACLpL,IAAK,gBACLC,IAAK,mBACLC,IAAK,cACLC,IAAK,gBACLC,IAAK,cACLC,IAAK,WACLC,IAAK,MACLC,IAAK,YACLC,IAAK,aACLC,IAAK,qBACLC,IAAK,mBACL7vB,IAAK,UACL8vB,IAAK,UACLC,IAAK,UACLyK,IAAK,UACLxK,IAAK,UACL/vB,IAAK,UACLC,IAAK,UACL+vB,IAAK,UACLC,IAAK,UACL/vB,IAAK,UACLgwB,IAAK,UACLC,IAAK,UACLhwB,IAAK,QACLiwB,IAAK,QACLC,IAAK,UACLC,IAAK,QACLC,IAAK,SACLiK,IAAK,OACLC,IAAK,SACLC,IAAK,UACLC,IAAK,QACLC,IAAK,QACLC,IAAK,QACLC,IAAK,aACLC,IAAK,cACLC,IAAK,YACLC,IAAK,SACLC,IAAK,UACL1K,IAAK,QACLC,IAAK,YACLC,IAAK,YACLC,IAAK,aACLC,IAAK,SACLC,IAAK,WACLsK,IAAK,QACLC,IAAK,SACLv6D,IAAK,SACLiwD,IAAK,QACLC,IAAK,SACLC,IAAK,MACLC,IAAK,OACLC,IAAK,UACLmK,IAAK,UACLC,IAAK,UACLC,IAAK,UACLC,IAAK,OACLrK,IAAK,OACLC,IAAK,WACLC,IAAK,WACLC,IAAK,UACLC,IAAK,WACLC,IAAK,OACLC,IAAK,YACLC,IAAK,YACLC,IAAK,UACLC,IAAK,aACLC,IAAK,aACLC,IAAK,QACLC,IAAK,QACLC,IAAK,WACLC,IAAK,WACLC,IAAK,UACLC,IAAK,SACLC,IAAK,WACLC,IAAK,UACLC,IAAK,QACLC,IAAK,UACLC,IAAK,WACLC,IAAK,YACLC,IAAK,WACLC,IAAK,aACLC,IAAK,UACLC,IAAK,UACL4I,IAAK,UACL3I,IAAK,WACLC,IAAK,YACLC,IAAK,YACLC,IAAK,YACLC,IAAK,YACLC,IAAK,YACLC,IAAK,cACLC,IAAK,UACLC,IAAK,YACLC,IAAK,WACLC,IAAK,UACLkI,IAAK,UACLjI,IAAK,UACLC,IAAK,WACLC,IAAK,UACLC,IAAK,cACLC,IAAK,MACLC,IAAK,cACLC,IAAK,MACLC,IAAK,aACLC,IAAK,gBACLC,IAAK,UACLyH,IAAK,eACLxH,IAAK,UACLC,IAAK,WACLC,IAAK,SACLuH,IAAK,YACLC,IAAK,aAEP,IAAIld,KACFroF,EAAG,EACH6F,EAAG,EACHG,GAAI,EACJK,GAAI,EACJC,GAAI,EACJC,GAAI,EACJC,GAAI,EACJC,GAAI,EACJC,GAAI,EACJC,GAAI,EACJC,GAAI,EACJgB,GAAI,EACJC,GAAI,EACJC,GAAI,EACJC,GAAI,EACJC,GAAI,EACJG,GAAI,EACJC,GAAI,EACJiM,GAAI,EACJC,GAAI,EACJC,GAAI,EACJC,GAAI,EACJ1N,GAAI,EACJC,GAAI,EACJC,GAAI,EACJoD,GAAI,EACJC,GAAI,EACJC,GAAI,EACJC,GAAI,EACJtD,GAAI,EACJE,GAAI,EACJC,GAAI,EACJoB,GAAI,EACJO,GAAI,EACJiB,GAAI,EACJE,GAAI,EACJC,GAAI,EACJlB,GAAI,EACJC,GAAI,EACJjI,GAAI,EACJkI,GAAI,EACJC,GAAI,EACJC,GAAI,EACJC,GAAI,EACJC,GAAI,EACJC,GAAI,EACJC,GAAI,EACJxJ,GAAI,EACJ0J,GAAI,EACJC,GAAI,EACJu8D,GAAI,EACJ4qB,GAAI,EACJjnD,GAAI,EACJ6rB,GAAI,EACJ5rB,GAAI,EACJinD,GAAI,EACJC,GAAI,EACJxF,GAAI,EACJC,GAAI,EACJC,GAAI,EACJt3B,IAAK,EACLC,IAAK,EACLtqB,IAAK,EACLyqB,IAAK,EACLmB,IAAK,EACLyQ,IAAK,EACL6qB,IAAK,EACLC,IAAK,EACLC,IAAK,EACLG,IAAK,EACLC,IAAK,EACLC,IAAK,EACL78B,IAAK,EACLK,IAAK,EACLy8B,IAAK,EACLxxF,IAAK,EACLC,IAAK,EACLC,IAAK,EACLuxF,IAAK,EACLE,IAAK,EACLxxF,IAAK,EACLw1D,IAAK,EACLv1D,IAAK,EACLwxF,IAAK,EACLC,IAAK,EACLE,IAAK,EACL2N,IAAK,EACLj4B,IAAK,EACLuqB,IAAK,EACLC,IAAK,EACL5xF,IAAK,EACLC,IAAK,EACLC,IAAK,EACLgyF,IAAK,EACLuN,IAAK,EACLhN,IAAK,EACL9qB,IAAK,EACLC,IAAK,EACLznE,IAAK,EACLC,IAAK,EACLs/F,IAAK,EACL73B,IAAK,EACLxnE,IAAK,EACLsyF,IAAK,EACLC,IAAK,EACL3qB,IAAK,EACLgrB,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLr+B,IAAK,EACLqT,IAAK,EACLkrB,IAAK,EACLC,IAAK,EACLC,IAAK,EACL9pD,IAAK,EACL+pD,IAAK,EACLC,IAAK,EACLM,IAAK,EACLI,IAAK,EACL4L,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLM,IAAK,EACLG,IAAK,EACLpM,IAAK,EACLsM,IAAK,EACLv4B,IAAK,EACLQ,IAAK,EACL8rB,IAAK,EACLC,IAAK,EACLmM,IAAK,EACLlM,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACL0L,IAAK,EACLC,IAAK,EACLt1B,IAAK,EACL4pB,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLuL,IAAK,EACLtL,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLoL,IAAK,EACLC,IAAK,EACLC,IAAK,EACLrL,IAAK,EACLsL,IAAK,EACL11B,IAAK,EACLqqB,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLO,IAAK,EACLqK,IAAK,EACLC,IAAK,EACLrK,IAAK,EACLuK,IAAK,EACLC,IAAK,EACLG,IAAK,EACLtK,IAAK,EACLC,IAAK,EACLyK,IAAK,EACLC,IAAK,EACLxK,IAAK,EACLnuD,IAAK,EACLouD,IAAK,EACL0K,IAAK,EACLG,IAAK,EACLQ,IAAK,EACLC,IAAK,EACLnL,IAAK,EACLoL,IAAK,EACLC,IAAK,EACLpL,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLI,IAAK,EACLE,IAAK,EACLI,IAAK,EACL/vB,IAAK,EACLC,IAAK,EACLiwB,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLiK,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLvK,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLhwD,IAAK,EACLiwD,IAAK,EACLC,IAAK,EACLE,IAAK,EACLC,IAAK,EACLmK,IAAK,EACLC,IAAK,EACLC,IAAK,EACLpK,IAAK,EACLQ,IAAK,EACLC,IAAK,EACLC,IAAK,EACLG,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLa,IAAK,EACLI,IAAK,EACLQ,IAAK,EACL2H,IAAK,EACLxH,IAAK,EACL1yD,MAAO,EAGT,SAASq6D,IAAmBlpG,GAC3B,GAAGA,EAAEV,MAAM,EAAE,IAAM,MAAOU,EAAIA,EAAEV,MAAM,EAEtC,IAAGU,EAAExE,WAAW,IAAM,GAAI,CACzBwE,EAAIA,EAAEV,MAAM,EACZ,IAAGU,EAAExE,WAAW,IAAM,GAAIwE,EAAIA,EAAEV,MAAM,GAEvCU,EAAIA,EAAEuG,QAAQ,oBAAqB,GAEnCvG,GAAIA,EAAEuG,QAAQ,gDAAiD,SAASoM,EAAIC,GAAM,MAAOA,GAAGrM,QAAQ,MAAM,KAC1GvG,GAAIA,EAAEuG,QAAQ,kBAAmB,SAASoM,GAAM,MAAOA,GAAGrT,MAAM,IAChEU,GAAIA,EAAEuG,QAAQ,mBAAoB,SAASoM,EAAIC,GAAM,MAAO,GAAKzQ,MAAM,uIAAyIwQ,EAAKC,GAErN5S,GAAIA,EAAEuG,QAAQ,sBAAuB,KACrC,OAAOvG,GAAEuG,QAAQ,QAAQ,KAAKA,QAAQ,MAAM,KAG7C,QAAS4iG,IAAmBnpG,GAC3B,GAAIiF,GAAI,OAASjF,EAAEuG,QAAQ4iF,GAAW,iBAAiB5iF,QAAQ,SAAS,IAExE,OAAOtB,GAAEsB,QAAQ,KAAM,KAAKA,QAAQ,KAAK,KAG1C,QAAS6iG,IAAcn2F,GACtBA,EAAIA,EAAE1M,QAAQ,kBAAmB,SAASoM,GAAM,MAAOA,GAAGrT,MAAM,IAChE2T,GAAIA,EAAE1M,QAAQ,mBAAoB,SAASoM,EAAIC,GAAM,MAAO,GAAKzQ,MAAM,uIAAyIwQ,EAAKC,GACrN,IAAIuU,GAAIlU,EAAEpX,MAAM,IAChB,IAAIgF,GAAIsmB,EAAE,GAAGtrB,MAAM,KAAK,EACxB,QAAQgF,EAAGsmB,EAAE,GAAGtrB,MAAM,KAAK,IAAMsrB,EAAE5rB,OAAS,EAAK,KAAO4rB,EAAE,GAAGtrB,MAAM,KAAK,IAAMsrB,EAAE,GAAGtrB,MAAM,KAAK,IAAO,KAGtG,QAASwtG,IAAcp2F,GACtB,MAAOA,GAAE1M,QAAQ,IAAI,KAAKA,QAAQ,IAAK,MAGxC,GAAIqvC,MACJ,IAAI0zD,MAIJ,IAAIC,UAAyBC,OAAQ,WAErC,SAASC,IAAWlyD,EAAKxjC,EAAKsS,GAC7B,GAAI/qB,GAAI,EAAGqD,EAAM44C,EAAIh8C,MACrB,IAAG8qB,EAAK,CACP,GAAGkjF,GAAkBljF,EAAIqjF,IAAI31F,GAAOrV,OAAO0yB,UAAUC,eAAe7xB,KAAK6mB,EAAKtS,GAAM,CACnF,GAAI41F,GAASJ,GAAkBljF,EAAIujF,IAAI71F,GAAOsS,EAAItS,EAClD,MAAMzY,EAAIquG,EAAOpuG,SAAUD,EAAG,CAC7B,GAAGi8C,EAAIoyD,EAAOruG,IAAIiN,IAAMwL,EAAK,CAAEwjC,EAAI4S,OAAU,OAAOw/C,GAAOruG,UAGvD,MAAMA,EAAIqD,IAAOrD,EAAG,CAC1B,GAAGi8C,EAAIj8C,GAAGiN,IAAMwL,EAAK,CAAEwjC,EAAI4S,OAAU,OAAO7uD,IAE7Ci8C,EAAI54C,IAAS4J,EAAEwL,EAAOwjC,GAAI4S,OAAU5S,GAAI6S,QACxC,IAAG/jC,EAAK,CACP,GAAGkjF,GAAiB,CACnB,IAAIljF,EAAIqjF,IAAI31F,GAAMsS,EAAI1e,IAAIoM,KAC1BsS,GAAIujF,IAAI71F,GAAKjR,KAAKnE,OACZ,CACN,IAAID,OAAO0yB,UAAUC,eAAe7xB,KAAK6mB,EAAKtS,GAAMsS,EAAItS,KACxDsS,GAAItS,GAAKjR,KAAKnE,IAGhB,MAAOA,GAGR,QAASkrG,IAAUnoG,EAAGojC,GACrB,GAAI9pB,IAAMrG,IAAIjT,EAAE,EAAEkT,IAAIlT,EAAE,EAExB,IAAI+4D,IAAO,CACX,IAAG31B,EAAI40C,IAAKA,GAAM50C,EAAI40C,GACtB,IAAG50C,EAAI2f,OAAS,KAAMzpC,EAAEm/D,YAAc,MACjC,IAAGr1C,EAAIw+B,KAAO,KAAM7I,EAAM+I,GAAQ1+B,EAAIw+B,SACtC,IAAGx+B,EAAI21B,KAAO,KAAMA,EAAM31B,EAAI21B,GACnC,IAAGA,GAAO,EAAG,CAAEz/C,EAAEypC,MAAQm1B,GAAWnf,EAAMz/C,GAAEm/D,YAAc,MACrD,IAAGr1C,EAAI2f,OAAS,KAAMzpC,EAAEypC,MAAQ3f,EAAI2f,KACzC,IAAG3f,EAAIglB,OAAQ9uC,EAAE8uC,OAAS,IAC1B,IAAGhlB,EAAI6lB,OAAS,KAAM,CAAE3vC,EAAE8uF,aAAe9uF,EAAE2vC,MAAQ7lB,EAAI6lB,MACvD,MAAO3vC,GAGR,QAAS+uF,IAAgBC,EAASC,GACjC,IAAID,EAAS,MACb,IAAIE,IAAQ,GAAK,GAAK,IAAM,IAAM,GAAK,GACvC,IAAGD,GAAQ,OAAQC,GAAQ,EAAG,EAAG,EAAG,EAAG,GAAK,GAC5C,IAAGF,EAAQG,MAAU,KAAMH,EAAQG,KAASD,EAAK,EACjD,IAAGF,EAAQI,OAAU,KAAMJ,EAAQI,MAASF,EAAK,EACjD,IAAGF,EAAQK,KAAU,KAAML,EAAQK,IAASH,EAAK,EACjD,IAAGF,EAAQM,QAAU,KAAMN,EAAQM,OAASJ,EAAK,EACjD,IAAGF,EAAQ/rF,QAAU,KAAM+rF,EAAQ/rF,OAASisF,EAAK,EACjD,IAAGF,EAAQ7zC,QAAU,KAAM6zC,EAAQ7zC,OAAS+zC,EAAK,GAGlD,QAASK,IAAer0D,EAAQvS,EAAMv0B,GACrC,GAAIkrB,GAAIlrB,EAAKo7F,OAAO7mE,EAAKrJ,GAAK,KAAOqJ,EAAKrJ,EAAI,UAC9C,IAAIh/B,GAAI,GAAMqD,EAAMu3C,EAAO36C,MAC3B,IAAG++B,GAAK,MAAQlrB,EAAKq7F,IAAK,CACzB,KAAMnvG,EAAI,MAASA,EAAG,GAAG8T,EAAKq7F,IAAInvG,IAAM,KAAM,CAC7Cwd,GAAU6qB,EAAKrJ,EAAGh/B,EAElB8T,GAAKq7F,IAAInvG,GAAKqoC,EAAKrJ,CACnBlrB,GAAKo7F,OAAO7mE,EAAKrJ,GAAKA,EAAIh/B,CAC1B,QAGF,IAAIA,EAAI,EAAGA,GAAKqD,IAAOrD,EAAG,GAAG46C,EAAO56C,GAAGsqC,WAAatL,EAAG,MAAOh/B,EAC9D46C,GAAOv3C,IACNinC,SAAStL,EACTylD,OAAO,EACPC,OAAO,EACPC,SAAS,EACTd,KAAK,EACLurB,kBAAkB,EAEnB,OAAO/rG,GAGR,QAASgsG,IAAY3vF,EAAG6iC,EAAO+sD,EAAQx7F,EAAMsnC,EAAQR,EAAQlmC,GAC5D,IACC,GAAGZ,EAAK82D,OAAQlrD,EAAEsf,EAAIhxB,EAAUu0C,GAC/B,MAAMxiD,GAAK,GAAG+T,EAAK6tB,IAAK,KAAM5hC,GAChC,GAAG2f,EAAEzS,IAAM,MAAQ6G,EAAKo/C,WAAY,MACpC,IAAGxzC,EAAEzS,IAAM,WAAcyS,GAAE1S,IAAM,SAAU0S,EAAE1S,EAAIqqB,GAAU3X,EAAE1S,EAC7D,MAAK8G,GAAQA,EAAKmzD,WAAa,QAAUvnD,EAAEzS,IAAM,IAAK,IACrD,GAAGe,EAAUu0C,IAAU,KAAM/kC,GAAUhB,GAAY+lC,IAAU,UAAWA,EACxE,IAAG7iC,EAAEzS,IAAM,IAAKyS,EAAE5b,EAAI4b,EAAE5b,GAAK0mC,GAAK9qB,EAAE1S,OAC/B,IAAGu1C,IAAU,EAAG,CACpB,GAAG7iC,EAAEzS,IAAM,IAAK,CACf,IAAIyS,EAAE1S,EAAE,KAAO0S,EAAE1S,EAAG0S,EAAE5b,EAAI4b,EAAE1S,EAAE/I,SAAS,QAClCyb,GAAE5b,EAAI0R,GAAgBkK,EAAE1S,OAEzB,IAAG0S,EAAEzS,IAAM,IAAK,CACpB,GAAI2L,GAAK3C,GAAQyJ,EAAE1S,IAAK0H,EACxB,KAAIkE,EAAG,KAAOA,EAAI8G,EAAE5b,EAAI8U,EAAG3U,SAAS,QAC/Byb,GAAE5b,EAAI0R,GAAgBoD,OAEvB,IAAG8G,EAAE1S,IAAM9B,UAAW,MAAO,OAC7BwU,GAAE5b,EAAIiS,GAAY2J,EAAE1S,EAAEghG,QAEvB,IAAGtuF,EAAEzS,IAAM,IAAKyS,EAAE5b,EAAIkS,GAAWusC,EAAMtsC,GAAQyJ,EAAE1S,IAAK0H,GAAUs5F,QAChEtuF,GAAE5b,EAAIkS,GAAWusC,EAAM7iC,EAAE1S,EAAEghG,IAC/B,MAAMjuG,GAAK,GAAG+T,EAAK6tB,IAAK,KAAM5hC,GAChC,IAAI+T,EAAKo/C,WAAY,MACrB,IAAGo8C,GAAU,KAAM,IAClB5vF,EAAEna,EAAIq1C,EAAO2lC,MAAM+uB,EACnB,IAAI5vF,EAAEna,EAAEm7E,SAAWhhE,EAAEna,EAAEm7E,QAAQrxC,QAAU3vB,EAAEna,EAAEm7E,QAAQvxC,IAAK,CACzDzvB,EAAEna,EAAEm7E,QAAQvxC,IAAM4uC,GAAS3iC,EAAO6lC,cAAcC,UAAUxhE,EAAEna,EAAEm7E,QAAQrxC,OAAOF,IAAKzvB,EAAEna,EAAEm7E,QAAQpxC,MAAQ,EACtG,IAAGx7B,EAAK6tB,IAAKjiB,EAAEna,EAAEm7E,QAAQ6uB,QAAUn0D,EAAO6lC,cAAcC,UAAUxhE,EAAEna,EAAEm7E,QAAQrxC,OAAOF,IAEtF,GAAIzvB,EAAEna,EAAEi7E,SAAW9gE,EAAEna,EAAEi7E,QAAQnxC,MAAO,CACrC3vB,EAAEna,EAAEi7E,QAAQrxC,IAAM4uC,GAAS3iC,EAAO6lC,cAAcC,UAAUxhE,EAAEna,EAAEi7E,QAAQnxC,OAAOF,IAAKzvB,EAAEna,EAAEi7E,QAAQlxC,MAAQ,EACtG,IAAGx7B,EAAK6tB,IAAKjiB,EAAEna,EAAEi7E,QAAQ+uB,QAAUn0D,EAAO6lC,cAAcC,UAAUxhE,EAAEna,EAAEi7E,QAAQnxC,OAAOF,KAErF,MAAMpvC,GAAK,GAAG+T,EAAK6tB,KAAOiZ,EAAO2lC,MAAO,KAAMxgF,IAGjD,QAASyvG,IAAStkE,EAAIhB,EAAOlqC,GAC5B,GAAGkrC,GAAMA,EAAG,QAAS,CACpB,GAAIxC,GAAQyB,GAAkBe,EAAG,QACjC,IAAGxC,EAAM3oC,EAAEuE,EAAIokC,EAAMnjC,EAAEjB,GAAKokC,EAAM3oC,EAAE4X,EAAI+wB,EAAMnjC,EAAEoS,EAAG,KAAM,IAAI7W,OAAM,cAAgBd,EAAI,MAAQkrC,EAAG,UAGpG,QAASukE,IAAiBvkE,EAAI3lC,GAC7B,GAAI1F,GAAIsqC,GAAkB5kC,EAC1B,IAAG1F,EAAE0F,EAAEoS,GAAG9X,EAAEE,EAAE4X,GAAK9X,EAAE0F,EAAEjB,GAAGzE,EAAEE,EAAEuE,GAAKzE,EAAE0F,EAAEoS,GAAG,GAAK9X,EAAE0F,EAAEjB,GAAG,EAAG4mC,EAAG,QAAUtB,GAAa/pC,GAEpF,GAAI6vG,IAAc,sDAClB,IAAIC,IAAa,+BACjB,IAAIC,IAAW,aACf,IAAIC,IAAW,8BACf,IAAIC,IAAU,4BACd,IAAIC,IAAa,iCACjB,IAAIC,IAAe,+BAGnB,SAASC,IAAatsG,EAAMmQ,EAAMmD,EAAK6jC,EAAMkF,EAAI5E,EAAQR,GACxD,IAAIj3C,EAAM,MAAOA,EACjB,KAAIm3C,EAAMA,GAAQ0D,SAClB,IAAGh0C,GAAS,MAAQsJ,EAAKi3B,OAAS,KAAMj3B,EAAKi3B,MAAQvgC,CAGrD,IAAIjF,KAAU,IAAGuO,EAAKi3B,MAAOxlC,EAAE,WAC/B,IAAI0mE,IAAa1mE,GAAIoS,EAAE,IAASrT,EAAE,KAAUvE,GAAI4X,EAAE,EAAGrT,EAAE,GAEvD,IAAI4rG,GAAQ,GAAIC,EAAQ,EACxB,IAAIC,GAAO5zE,GAAiB74B,EAAM,YAClC,IAAGysG,EAAM,CACRF,EAAQvsG,EAAKK,MAAM,EAAGosG,EAAK30E,MAC3B00E,GAAQxsG,EAAKK,MAAMosG,EAAK30E,MAAQ20E,EAAK,GAAGnwG,YAClCiwG,GAAQC,EAAQxsG,CAGvB,IAAI0sG,GAAUH,EAAMrpG,MAAMmpG,GAC1B,IAAGK,EAASC,GAAqBD,EAAQ,GAAI9qG,EAAGy6C,EAAI/oC,OAC/C,IAAIo5F,EAAU7zE,GAAiB0zE,EAAO,WAAaK,GAAsBF,EAAQ,GAAIA,EAAQ,IAAI,GAAI9qG,EAAGy6C,EAAI/oC,EAAK2jC,EAAQQ,EAG9H,IAAIzuC,IAAQujG,EAAMrpG,MAAM,yBAAyB40B,OAAO,IAAIA,KAC5D,IAAG9uB,EAAO,EAAG,CACZ,GAAImrD,GAAMo4C,EAAMlsG,MAAM2I,EAAKA,EAAK,IAAI9F,MAAM+oG,GAC1C,IAAG93C,KAAShkD,GAAQA,EAAK08F,OAAQf,GAAiBlqG,EAAGuyD,EAAI,IAI1D,GAAI24C,GAAMj0E,GAAiB0zE,EAAO,aAClC,IAAGO,GAAOA,EAAI,GAAIC,GAAwBD,EAAI,GAAIzwD,EAGlD,IAAI2wD,KACJ,IAAG78F,EAAKo/C,WAAY,CAEnB,GAAI2M,GAAOqwC,EAAMrpG,MAAMgpG,GACvB,IAAGhwC,EAAM+wC,GAAkBD,EAAS9wC,GAIrC,GAAGuwC,EAAMS,GAAkBT,EAAK,GAAI7qG,EAAGuO,EAAMm4D,EAAU7wB,EAAQR,EAAQoF,EAGvE,IAAI8wD,GAAUX,EAAMtpG,MAAMipG,GAC1B,IAAGgB,EAASvrG,EAAE,eAAiBwrG,GAAwBD,EAAQ,GAG/D,IAAIh4C,KACJ,IAAIk4C,GAASb,EAAMtpG,MAAM6oG,GACzB,IAAGsB,EAAQ,IAAIrkG,EAAO,EAAGA,GAAQqkG,EAAO/wG,SAAU0M,EACjDmsD,EAAOnsD,GAAQw9B,GAAkB6mE,EAAOrkG,GAAM3I,MAAMgtG,EAAOrkG,GAAMpG,QAAQ,KAAK,GAG/E,IAAIozD,GAAQw2C,EAAMtpG,MAAM8oG,GACxB,IAAGh2C,EAAOs3C,GAAoB1rG,EAAGo0D,EAAO7e,EAGxC,IAAI4zD,GAAUyB,EAAMtpG,MAAMkpG,GAC1B,IAAGrB,EAASnpG,EAAE,YAAc2rG,GAAqBryE,GAAY6vE,EAAQ,IAGrE,IAAI/6F,EACJ,IAAIA,EAAIw8F,EAAMtpG,MAAM,8BAAgCtB,EAAE,WAAaoO,EAAE,EAErE,IAAGG,GAAQA,EAAK08F,MAAOvkC,EAAS1mE,EAAEjB,EAAI2nE,EAAS1mE,EAAEoS,EAAI,CACrD,KAAIpS,EAAE,SAAW0mE,EAASlsE,EAAEuE,GAAK2nE,EAAS1mE,EAAEjB,GAAK2nE,EAASlsE,EAAE4X,GAAKs0D,EAAS1mE,EAAEoS,EAAGpS,EAAE,QAAUqkC,GAAaqiC,EACxG,IAAGn4D,EAAKmrD,UAAY,GAAK15D,EAAE,QAAS,CACnC,GAAI4rG,GAAShnE,GAAkB5kC,EAAE,QACjC,IAAGuO,EAAKmrD,YAAckyC,EAAOpxG,EAAE4X,EAAG,CACjCw5F,EAAOpxG,EAAE4X,EAAI7D,EAAKmrD,UAAY,CAC9B,IAAGkyC,EAAOpxG,EAAE4X,EAAIs0D,EAASlsE,EAAE4X,EAAGw5F,EAAOpxG,EAAE4X,EAAIs0D,EAASlsE,EAAE4X,CACtD,IAAGw5F,EAAOpxG,EAAE4X,EAAIw5F,EAAO5rG,EAAEoS,EAAGw5F,EAAO5rG,EAAEoS,EAAIw5F,EAAOpxG,EAAE4X,CAClD,IAAGw5F,EAAOpxG,EAAEuE,EAAI2nE,EAASlsE,EAAEuE,EAAG6sG,EAAOpxG,EAAEuE,EAAI2nE,EAASlsE,EAAEuE,CACtD,IAAG6sG,EAAOpxG,EAAEuE,EAAI6sG,EAAO5rG,EAAEjB,EAAG6sG,EAAO5rG,EAAEjB,EAAI6sG,EAAOpxG,EAAEuE,CAClDiB,GAAE,YAAcA,EAAE,OAClBA,GAAE,QAAUqkC,GAAaunE,IAG3B,GAAGR,EAAQ1wG,OAAS,EAAGsF,EAAE,SAAWorG,CACpC,IAAG73C,EAAO74D,OAAS,EAAGsF,EAAE,WAAauzD,CACrC,IAAGhe,EAAK,OAAOv1C,EAAE,YAAaA,EAAE,cAAgBu1C,EAAK,OAAOv1C,EAAE,WAC9D,OAAOA,GAGR,QAAS6rG,IAAoBt4C,GAC5B,GAAGA,EAAO74D,SAAW,EAAG,MAAO,EAC/B,IAAI0J,GAAI,sBAAwBmvD,EAAO74D,OAAS,IAChD,KAAI,GAAID,GAAI,EAAGA,GAAK84D,EAAO74D,SAAUD,EAAG2J,GAAK,mBAAqBigC,GAAakvB,EAAO94D,IAAM,KAC5F,OAAO2J,GAAI,gBAIZ,QAAS2mG,IAAqBD,EAAS9qG,EAAGy6C,EAAI/oC,GAC7C,GAAItT,GAAOk7B,GAAYwxE,EACvB,KAAIrwD,EAAGnV,OAAO5zB,GAAM+oC,EAAGnV,OAAO5zB,KAC9B,IAAGtT,EAAK0tG,SAAUrxD,EAAGnV,OAAO5zB,GAAKq6F,SAAW1xE,GAAYuB,GAASx9B,EAAK0tG,WAEvE,QAASd,IAAsBF,EAASt7E,EAAMxvB,EAAGy6C,EAAI/oC,GACpDq5F,GAAqBD,EAAQrsG,MAAM,EAAGqsG,EAAQ9pG,QAAQ,MAAOhB,EAAGy6C,EAAI/oC,GAErE,QAASs6F,IAAqBrmE,EAAI8U,EAAI/oC,EAAKnD,EAAMnK,GAChD,GAAI6nG,GAAS,KACb,IAAIvwD,MAAY18B,EAAU,IAC1B,IAAGzQ,EAAK2oC,WAAa,QAAUuD,EAAGyxD,OAAQ,CACzC,GAAIC,GAAQ1xD,EAAGpV,WAAW3zB,EAC1B,KAAM,GAAG+oC,EAAGimB,SAAUyrC,EAAQ1xD,EAAGimB,SAASp7B,OAAO5zB,GAAKq6F,UAAYI,EAAS,MAAM3xG,IACjFyxG,EAAS,IACTvwD,GAAMowD,SAAWv9E,GAAUqM,GAAUuxE,IAGtC,GAAGxmE,GAAMA,EAAG,YAAa,CACxB,GAAIymE,IAAgBC,aAAa,EAAGC,aAAa,EACjD,IAAG3mE,EAAG,YAAY4mE,MAAOH,EAAaC,aAAe,CACrD,IAAG1mE,EAAG,YAAY2jE,KAAM8C,EAAaE,aAAe,CACpDttF,IAAWA,GAAS,IAAMwd,GAAU,YAAa,KAAM4vE,GAGxD,IAAIH,IAAWjtF,EAAS,MACxB5a,GAAEA,EAAE1J,QAAW8hC,GAAU,UAAWxd,EAAS08B,GAI9C,GAAI8wD,KAAsB,UAAW,YAAa,oBAAqB,sBACvE,IAAIC,KACH,gBAAiB,aAAc,cAC/B,gBAAiB,aAAc,mBAC/B,gBAAiB,aACjB,OAAQ,aAAc,cAEvB,SAASC,IAAwB/b,GAEhC,GAAIvsF,IAAM+gC,MAAM,EAChBqnE,IAAmBpsG,QAAQ,SAAS9C,GAAK,GAAGqzF,EAAGrzF,IAAM,MAAQqzF,EAAGrzF,GAAI8G,EAAE9G,GAAK,KAC3EmvG,IAAkBrsG,QAAQ,SAAS9C,GAAK,GAAGqzF,EAAGrzF,IAAM,OAASqzF,EAAGrzF,GAAI8G,EAAE9G,GAAK,KAE3E,IAAGqzF,EAAGra,SAAUlyE,EAAEkyE,SAAWrB,GAAsC0b,EAAGra,UAAU53E,SAAS,IAAI6R,aAC7F,OAAOisB,IAAU,kBAAmB,KAAMp4B,GAG3C,QAASsnG,IAAoB1rG,EAAG5B,EAAMm3C,GACrC,GAAI/P,GAAQxlC,EAAE,UAAY,IAC1B,KAAI,GAAIvF,GAAI,EAAGA,GAAK2D,EAAK1D,SAAUD,EAAG,CACrC,GAAIqW,GAAMwoB,GAAYsC,GAASx9B,EAAK3D,IAAK,KACzC,KAAIqW,EAAIyhD,IAAK,MACb,IAAIrZ,KAAQ3D,OAAY,YAAYzkC,EAAI42C,GACxC,IAAGxO,EAAK,CACPpoC,EAAIsoC,OAASF,EAAIE,MACjB,IAAGtoC,EAAI67F,SAAU77F,EAAIsoC,QAAU,IAAI/e,GAAYvpB,EAAI67F,cAC7C,CACN77F,EAAIsoC,OAAS,IAAM/e,GAAYvpB,EAAI67F,SACnCzzD,IAAOE,OAAQtoC,EAAIsoC,OAAQE,WAAY,YAExCxoC,EAAI87F,IAAM1zD,CACV,IAAGpoC,EAAI+7F,QAAS,CAAE/7F,EAAI60C,QAAU70C,EAAI+7F,cAAgB/7F,GAAI+7F,QACxD,GAAIC,GAAMloE,GAAkB9zB,EAAIyhD,IAChC,KAAI,GAAIv4C,GAAE8yF,EAAI9sG,EAAEoS,EAAE4H,GAAG8yF,EAAItyG,EAAE4X,IAAI4H,EAAG,IAAI,GAAInZ,GAAEisG,EAAI9sG,EAAEjB,EAAE8B,GAAGisG,EAAItyG,EAAEuE,IAAI8B,EAAG,CACnE,GAAIgf,GAAO4jB,GAAW5iC,GAAK6iC,GAAW1pB,EACtC,IAAGwrB,EAAO,CACT,IAAIxlC,EAAE,SAASga,GAAIha,EAAE,SAASga,KAC9B,KAAIha,EAAE,SAASga,GAAGnZ,GAAIb,EAAE,SAASga,GAAGnZ,IAAM6G,EAAE,IAAID,EAAE9B,UAClD3F,GAAE,SAASga,GAAGnZ,GAAGmB,EAAI8O,MACf,CACN,IAAI9Q,EAAE6f,GAAO7f,EAAE6f,IAASnY,EAAE,IAAID,EAAE9B,UAChC3F,GAAE6f,GAAM7d,EAAI8O,KAMhB,QAAS66F,IAAqBoB,GAC7B,GAAI3oG,OACH,OAAQ,QAAS,MAAO,SAAU,SAAU,UAAUhE,QAAQ,SAASd,GACvE,GAAGytG,EAAOztG,GAAI8E,EAAE9E,GAAKwW,WAAWi3F,EAAOztG,KAExC,OAAO8E,GAER,QAAS4oG,IAAqBD,GAC7B7D,GAAgB6D,EAChB,OAAOvwE,IAAU,cAAe,KAAMuwE,GAGvC,QAAS1B,IAAkBD,EAAS9wC,GACnC,GAAI2yC,GAAU,KACd,KAAI,GAAIC,GAAO,EAAGA,GAAQ5yC,EAAK5/D,SAAUwyG,EAAM,CAC9C,GAAI7zB,GAAO//C,GAAYghC,EAAK4yC,GAAO,KACnC,IAAG7zB,EAAKpwB,OAAQowB,EAAKpwB,OAAS5tB,GAAag+C,EAAKpwB,OAChD,IAAIkkD,GAAK36F,SAAS6mE,EAAKvlE,IAAK,IAAI,EAAGs5F,EAAK56F,SAAS6mE,EAAKtlE,IAAI,IAAI,CAC9D,IAAGslE,EAAK4vB,aAAc5vB,EAAKvvB,OAAUuvB,EAAK4vB,cAAgB,QACnD5vB,GAAKvlE,UAAYulE,GAAKtlE,GAAKslE,GAAKz1B,OAASy1B,EAAKz1B,KACrD,KAAIqpD,GAAW5zB,EAAKz1B,MAAO,CAAEqpD,EAAU,IAAM9zB,IAAcE,EAAKz1B,OAChEoe,GAAYqX,EACZ,OAAM8zB,GAAQC,EAAMhC,EAAQ+B,KAAUr5E,GAAIulD,IAG5C,QAASg0B,IAAkB1nE,EAAI20B,GAC9B,GAAIl2D,IAAK,UAAW6/B,CACpB,KAAI,GAAIxpC,GAAI,EAAGA,GAAK6/D,EAAK5/D,SAAUD,EAAG,CACrC,KAAKwpC,EAAMq2B,EAAK7/D,IAAK,QACrB2J,GAAEA,EAAE1J,QAAW8hC,GAAU,MAAO,KAAMwsE,GAAUvuG,EAAGwpC,IAEpD7/B,EAAEA,EAAE1J,QAAU,SACd,OAAO0J,GAAElD,KAAK,IAGf,QAASsqG,IAAwBptG,GAChC,GAAIgG,IAAMmuD,KAAMn0D,EAAKkD,MAAM,sBAAsB,GACjD,OAAO8C,GAER,QAASkpG,IAAwBlvG,EAAMunC,EAAI8U,EAAI/oC,GAC9C,GAAI6gD,SAAan0D,GAAKm0D,KAAO,SAAWn0D,EAAKm0D,IAAMluB,GAAajmC,EAAKm0D,IACrE,KAAI9X,EAAGimB,SAAUjmB,EAAGimB,UAAap7B,UACjC,KAAImV,EAAGimB,SAASE,MAAOnmB,EAAGimB,SAASE,QACnC,IAAImwB,GAAQt2C,EAAGimB,SAASE,KACxB,IAAIz9B,GAAQiB,GAAamuB,EACzB,IAAGpvB,EAAMnjC,EAAEoS,GAAK+wB,EAAM3oC,EAAE4X,EAAG,CAAE+wB,EAAM3oC,EAAE4X,EAAIgyB,GAAauB,EAAG,SAASnrC,EAAE4X,CAAGmgD,GAAMluB,GAAalB,GAC1F,IAAI,GAAI1oC,GAAI,EAAGA,EAAIs2F,EAAMr2F,SAAUD,EAAG,CACrC,GAAIojB,GAAOkzE,EAAMt2F,EACjB,IAAGojB,EAAK2zC,MAAQ,wBAAyB,QACzC,IAAG3zC,EAAKojD,OAASvvD,EAAK,QACtBmM,GAAKqjD,IAAMx8B,GAAyB+V,EAAGpV,WAAW3zB,IAAQ,IAAM8yB,GAAU+tB,EAAM,OAEjF,GAAG93D,GAAKs2F,EAAMr2F,OAAQq2F,EAAM9uF,MAAOuvD,KAAM,wBAAyByP,MAAOvvD,EAAKwvD,IAAK,IAAMzmB,EAAGpV,WAAW3zB,GAAO,KAAO6gD,GACrH,OAAO/1B,IAAU,aAAc,MAAO+1B,IAAIA,IAK3C,GAAIg7C,IAAa,4CACjB,SAASpC,IAAwB/sG,EAAMq8C,GACtC,IAAIA,EAAG+yD,MAAO/yD,EAAG+yD,YAChBpvG,EAAKkD,MAAMisG,SAAiBntG,QAAQ,SAASgS,EAAG3X,GAChD,GAAIq8B,GAAMwC,GAAYlnB,EAEtB,KAAIqoC,EAAG+yD,MAAM/yG,GAAIggD,EAAG+yD,MAAM/yG,KAE1B,KAAIq8B,EAAI22E,UAAWhzD,EAAG+yD,MAAM/yG,GAAGizG,MAAQ52E,EAAI22E,SAE3C,IAAG32E,EAAI62E,aAAetyE,GAAavE,EAAI62E,aAAclzD,EAAG+yD,MAAM/yG,GAAGkxD,IAAM,OAGzE,QAASiiD,IAAwBjoE,EAAIp3B,EAAMmD,EAAK+oC,GAC/C,GAAIozD,IAAUC,eAAe,IAE7B,OAAMrzD,OAAQimB,cAAc8sC,WAAW,GAAIK,EAAMF,YAAclzD,EAAGimB,SAAS8sC,MAAM,GAAG7hD,IAAM,IAAM,GAChG,OAAOnvB,IAAU,aAAcA,GAAU,YAAa,KAAMqxE,OAG7D,QAASE,IAAkBjrE,EAAMyvB,EAAK5sB,EAAIp3B,EAAMmD,EAAK+oC,EAAItrC,GACxD,GAAG2zB,EAAK/jC,EAAG4mC,EAAG,aAAa1jC,MAAMswD,EAAKzvB,EAAK/jC,GAC3C,KAAI+jC,EAAKr7B,IAAM9B,WAAam9B,EAAKp7B,IAAM,OAAS6G,OAAU+3B,mBAAsBxD,GAAK3jC,IAAM,gBAAmB2jC,GAAKrJ,GAAK,YAAa,MAAO,EAC5I,IAAIpkB,GAAK,EACT,IAAI24F,GAAOlrE,EAAKp7B,EAAGumG,EAAOnrE,EAAKr7B,CAC/B,IAAGq7B,EAAKp7B,IAAM,IAAK,OAAOo7B,EAAKp7B,GAC9B,IAAK,IAAK2N,EAAKytB,EAAKr7B,EAAI,IAAM,GAAK,OACnC,IAAK,IACJ,GAAGnC,MAAMw9B,EAAKr7B,GAAI,CAAEq7B,EAAKp7B,EAAI,GAAK2N,GAAK4vB,GAAKnC,EAAKr7B,EAAI,QAChD,KAAIyI,SAAS4yB,EAAKr7B,GAAI,CAAEq7B,EAAKp7B,EAAI,GAAK2N,GAAK4vB,GAAKnC,EAAKr7B,EAAI,OACzD4N,GAAK,GAAGytB,EAAKr7B,CAAG,OACtB,IAAK,IAAK4N,EAAK4vB,GAAKnC,EAAKr7B,EAAI,OAC7B,IAAK,IACJ,GAAG8G,GAAQA,EAAKg4B,UAAW,CAC1B,GAAI2nE,GAAMp8E,GAAUgR,EAAKr7B,EAAG0H,EAC5BkG,GAAK64F,EAAIxxE,aACT,IAAGwxE,EAAI34E,iBAAmB,KAAMlgB,EAAKA,EAAG5W,MAAM4W,EAAGrU,QAAQ,KAAO,GAAG0E,QAAQ,IAAI,QACzE,CACNo9B,EAAOhP,GAAIgP,EACXA,GAAKp7B,EAAI,GACT2N,GAAK,IAAIytB,EAAKr7B,EAAIiJ,GAAQohB,GAAUgR,EAAKr7B,EAAG0H,GAAWA,IAExD,SAAU2zB,GAAKrJ,IAAM,YAAaqJ,EAAKrJ,EAAIhxB,EAAU,GACrD,OACD,QAAS4M,EAAKytB,EAAKr7B,CAAG,QAEvB,GAAIA,GAAKq7B,EAAKp7B,GAAK,KAAOo7B,EAAKr7B,GAAK,KAAO,GAAK60B,GAAS,IAAK1B,GAAUvlB,IAAMjR,GAAMgO,EAAEmgD,EAEtF,IAAIlG,GAAKq9C,GAAen7F,EAAKquE,QAAS95C,EAAMv0B,EAC5C,IAAG89C,IAAO,EAAGjoD,EAAEpE,EAAIqsD,CACnB,QAAOvpB,EAAKp7B,GACX,IAAK,IAAK,MACV,IAAK,IAAKtD,EAAEsD,EAAI,GAAK,OACrB,IAAK,IAAKtD,EAAEsD,EAAI,GAAK,OACrB,IAAK,IAAKtD,EAAEsD,EAAI,GAAK,OACrB,IAAK,IAAK,MACV,QAAS,GAAGo7B,EAAKr7B,GAAK,KAAM,OAASq7B,GAAKp7B,CAAG,OAC5C,GAAGo7B,EAAKr7B,EAAE/M,OAAS,MAAO,KAAM,IAAIa,OAAM,+CAC1C,IAAGgT,GAAQA,EAAKujE,QAAS,CACxBrqE,EAAI60B,GAAS,IAAK,GAAGssE,GAAWr6F,EAAK4/F,QAASrrE,EAAKr7B,EAAG8G,EAAK6/F,YAC3DhqG,GAAEsD,EAAI,GAAK,WAEPtD,GAAEsD,EAAI,KAAO,QAEpB,GAAGo7B,EAAKp7B,GAAKsmG,EAAM,CAAElrE,EAAKp7B,EAAIsmG,CAAMlrE,GAAKr7B,EAAIwmG,EAC7C,SAAUnrE,GAAK3jC,GAAK,UAAY2jC,EAAK3jC,EAAG,CACvC,GAAIyU,GAAKkvB,EAAK1hC,GAAK0hC,EAAK1hC,EAAE3C,MAAM,EAAG8zD,EAAI73D,SAAW63D,GAAO7qD,EAAE,QAAS6qD,IAAIzvB,EAAK1hC,GAAK,IAClFqG,GAAI+0B,GAAU,IAAK5B,GAAUkI,EAAK3jC,GAAIyU,IAAOkvB,EAAKr7B,GAAK,KAAOA,EAAI,IAEnE,GAAGq7B,EAAK9gC,EAAG,CACV8gC,EAAK9gC,EAAEqsG,QAAUzzE,GAAUvlB,EAC3BswB,GAAG,UAAU1jC,MAAMswD,EAAKzvB,EAAK9gC,IAE9B,GAAG8gC,EAAKvoC,EAAG6J,EAAEy9E,GAAK,CAClB,OAAOrlD,IAAU,IAAK/0B,EAAGrD,GAG1B,GAAIknG,IAAoB,WACvB,GAAIgD,GAAY,oBAAqBC,EAAW,kBAChD,IAAIj+B,GAAS,oBACb,IAAIk+B,GAAW,sBAEhB,OAAO,SAASlD,GAAkB7kC,EAAOzmE,EAAGuO,EAAMosD,EAAO9kB,EAAQR,EAAQoF,GACxE,GAAI9mC,GAAK,EAAGjX,EAAI,GAAI+xG,KAAYC,KAAWh9F,EAAI,EAAGjX,EAAE,EAAG0Y,EAAG,EAAG7Y,EAAE,GAAI6f,CACnE,IAAI2c,GAAK63E,EAAO,EAAGC,EAAO,CAC1B,IAAIC,GAAMC,CACV,IAAI9xD,GAAQ,EAAG+sD,EAAS,CACxB,IAAIgF,GAAY1tG,MAAMkF,QAAQ8uC,EAAO+mC,QAASt0B,CAC9C,IAAI2pC,KACJ,IAAIH,KACJ,IAAI9rD,GAAQxlC,EAAE,UAAY,IAC1B,IAAI6iE,MAAWmsC,KAAaC,EAAU,KACtC,IAAI3oE,KAAe/3B,EAAK+3B,UACxB,IAAIn3B,OAAesrC,OAAQkmB,aAAaxxD,QACxC,KAAI,GAAI+/F,GAAOzoC,EAAMzrE,MAAMuzG,GAAW1yF,EAAK,EAAGszF,EAAUD,EAAKx0G,OAAQmhB,GAAMszF,IAAWtzF,EAAI,CACzFnf,EAAIwyG,EAAKrzF,GAAI8Q,MACb,IAAIyiF,GAAO1yG,EAAEhC,MACb,IAAG00G,IAAS,EAAG,QAGf,IAAIC,GAAU,CACdC,GAAM,IAAI37F,EAAK,EAAGA,EAAKy7F,IAAQz7F,EAAI,OAA2BjX,EAAEiX,IAC/D,IAAK,IACJ,GAA+BjX,EAAEiX,EAAG,IAAM,IAAK,GAAIA,CAAI,MAAM27F,GAC7D,GAAG/gG,GAAQA,EAAKo/C,WAAY,CAE3B72B,EAAMwC,GAAY58B,EAAE+B,MAAM4wG,EAAQ17F,GAAK,KACvCg7F,GAAO73E,EAAI1kB,GAAK,KAAOI,SAASskB,EAAI1kB,EAAG,IAAMu8F,EAAK,CAAGC,IAAQ,CAC7D,IAAGrgG,EAAKmrD,WAAanrD,EAAKmrD,UAAYi1C,EAAM,QAC5CK,KAAaC,GAAU,KACvB,IAAGn4E,EAAIy4E,GAAI,CAAEN,EAAU,IAAMD,GAAOjlD,IAAMj0C,WAAWghB,EAAIy4E,GAAKP,GAAOltC,IAAMC,GAAMitC,EAAOjlD,KACxF,GAAGjzB,EAAImyB,QAAU5tB,GAAavE,EAAImyB,QAAS,CAAEgmD,EAAU,IAAMD,GAAO/lD,OAAS,KAC7E,GAAGnyB,EAAImyE,cAAgB,KAAM,CAAEgG,EAAU,IAAMD,GAAOllD,OAAShzB,EAAImyE,aACnE,GAAGgG,EAASpsC,EAAK8rC,EAAK,GAAKK,EAE5B,MACD,IAAK,IAAYK,EAAU17F,CAAI,QAEhC,GAAG07F,GAAW17F,EAAI,KAClBmjB,GAAMwC,GAAY58B,EAAE+B,MAAM4wG,EAAQ17F,GAAK,KACvCg7F,GAAO73E,EAAI1kB,GAAK,KAAOI,SAASskB,EAAI1kB,EAAG,IAAMu8F,EAAK,CAAGC,IAAQ,CAC7D,IAAGrgG,EAAKmrD,WAAanrD,EAAKmrD,UAAYi1C,EAAM,QAC5C,KAAIpgG,EAAK08F,MAAO,CACf,GAAGtwC,EAAM36D,EAAEoS,EAAIu8F,EAAO,EAAGh0C,EAAM36D,EAAEoS,EAAIu8F,EAAO,CAC5C,IAAGh0C,EAAMngE,EAAE4X,EAAIu8F,EAAO,EAAGh0C,EAAMngE,EAAE4X,EAAIu8F,EAAO,EAG7C,GAAGpgG,GAAQA,EAAKo/C,WAAY,CAC3BqhD,IAAaC,GAAU,KACvB,IAAGn4E,EAAIy4E,GAAI,CAAEN,EAAU,IAAMD,GAAOjlD,IAAMj0C,WAAWghB,EAAIy4E,GAAKP,GAAOltC,IAAMC,GAAMitC,EAAOjlD,KACxF,GAAGjzB,EAAImyB,QAAU5tB,GAAavE,EAAImyB,QAAS,CAAEgmD,EAAU,IAAMD,GAAO/lD,OAAS,KAC7E,GAAGnyB,EAAImyE,cAAgB,KAAM,CAAEgG,EAAU,IAAMD,GAAOllD,OAAShzB,EAAImyE,aACnE,GAAGgG,EAASpsC,EAAK8rC,EAAK,GAAKK,EAI5BP,EAAQ/xG,EAAE+B,MAAMkV,GAAI3Y,MAAMszG,EAC1B,KAAI,GAAIkB,GAAS,EAAGA,GAAUf,EAAM/zG,SAAU80G,EAAQ,GAAGf,EAAMe,GAAQ7iF,OAAO/xB,OAAO,IAAM,IAAK,KAChG6zG,GAAQA,EAAMhwG,MAAM+wG,EACpB,KAAI77F,EAAK,EAAGA,GAAM86F,EAAM/zG,SAAUiZ,EAAI,CACrCjX,EAAI+xG,EAAM96F,GAAIgZ,MACd,IAAGjwB,EAAEhC,SAAW,EAAG,QACnBg0G,GAAOhyG,EAAE4E,MAAMgvE,EAAS5+D,GAAMiC,CAAIlZ,GAAE,CAAG0Y,GAAG,CAC1CzW,GAAI,OAASA,EAAE+B,MAAM,EAAE,IAAI,IAAI,IAAI,IAAM/B,CACzC,IAAGgyG,GAAQ,MAAQA,EAAKh0G,SAAW,EAAG,CACrCgX,EAAM,CAAGpX,GAAEo0G,EAAK,EAChB,KAAIj0G,EAAE,EAAGA,GAAKH,EAAEI,SAAUD,EAAG,CAC5B,IAAI0Y,EAAG7Y,EAAEK,WAAWF,GAAG,IAAM,GAAK0Y,EAAK,GAAI,KAC3CzB,GAAM,GAAGA,EAAMyB,IAEdzB,CACFk9F,GAAOl9F,QACCk9F,CACT,KAAIn0G,EAAI,EAAGA,GAAKiC,EAAEhC,SAAUD,EAAG,GAAGiC,EAAE/B,WAAWF,KAAO,GAAI,QAASA,CACnEq8B,GAAMwC,GAAY58B,EAAE+B,MAAM,EAAEhE,GAAI,KAChC,KAAIq8B,EAAI1kB,EAAG0kB,EAAI1kB,EAAIixB,IAAajxB,EAAEu8F,EAAK,EAAG5vG,EAAE6vG,GAC5Ct0G,GAAIoC,EAAE+B,MAAMhE,EACZ0f,IAAMzS,EAAE,GAER,KAAIgnG,EAAKz3E,GAAiB38B,EAAG,OAAQ,MAAQo0G,EAAK,KAAO,GAAIv0F,EAAE1S,EAAE4yB,GAAYq0E,EAAK,GAClF,IAAGngG,EAAKkhG,YAAa,CACpB,IAAIf,EAAKz3E,GAAiB38B,EAAG,OAAQ,KAAO,CAC3C,GAAGo0G,EAAK,IAAM,GAAI,CACjB,GAAGA,EAAK,GAAG1tG,QAAQ,eAAiB,EAAG,CAEtC8tG,EAAOx1E,GAAYo1E,EAAK,GACxB,IAAGpd,EAAQwd,EAAK9iF,IAAK7R,EAAEhb,EAAIupF,GAAmB4I,EAAQwd,EAAK9iF,IAAI,GAAIslE,EAAQwd,EAAK9iF,IAAI,GAAe8K,EAAI1kB,QAElG,CAEN+H,EAAEhb,EAAEk7B,GAAYuB,GAAS8yE,EAAK,IAAK,KACnC,KAAIngG,EAAKyiF,KAAM72E,EAAEhb,EAAIwpF,GAAMxuE,EAAEhb,EAC7B,IAAGuvG,EAAK,GAAG1tG,QAAQ,cAAgB,EAAG,CACrCmZ,EAAE/Y,GAAK9G,EAAEgH,MAAMktG,QAAe,EAC9B,IAAGr0F,EAAE/Y,EAAEJ,QAAQ,MAAQ,EAAGywF,EAAOxvF,MAAM2iC,GAAkBzqB,EAAE/Y,GAAI+Y,EAAE/Y,QAC3D,IAAGstG,EAAK,GAAG1tG,QAAQ,eAAiB,EAAG,CAE7C8tG,EAAOx1E,GAAYo1E,EAAK,GACxB,IAAIgB,GAAOr1E,GAAYuB,GAAS8yE,EAAK,IACrC,KAAIngG,EAAKyiF,KAAM0e,EAAO/mB,GAAM+mB,EAC5Bpe,GAAQ9+E,SAASs8F,EAAK9iF,GAAI,MAAQ8iF,EAAMY,EAAM54E,EAAI1kB,SAG9C,IAAIs8F,EAAKp0G,EAAEgH,MAAM,eAAiB,CACxCwtG,EAAOx1E,GAAYo1E,EAAK,GACxB,IAAGpd,EAAQwd,EAAK9iF,IAAK7R,EAAEhb,EAAIupF,GAAmB4I,EAAQwd,EAAK9iF,IAAI,GAAIslE,EAAQwd,EAAK9iF,IAAI,GAAe8K,EAAI1kB,GAGxG,GAAIu9F,GAAOxrE,GAAYrN,EAAI1kB,EAC3B,KAAI3X,EAAI,EAAGA,EAAIg3F,EAAO/2F,SAAUD,EAC/B,GAAGk1G,EAAKv9F,GAAKq/E,EAAOh3F,GAAG,GAAGuF,EAAEoS,GAAKu9F,EAAKv9F,GAAKq/E,EAAOh3F,GAAG,GAAGD,EAAE4X,EACzD,GAAGu9F,EAAK5wG,GAAK0yF,EAAOh3F,GAAG,GAAGuF,EAAEjB,GAAK4wG,EAAK5wG,GAAK0yF,EAAOh3F,GAAG,GAAGD,EAAEuE,EACzDob,EAAE/Y,EAAIqwF,EAAOh3F,GAAG,GAGpB,GAAGq8B,EAAIpvB,GAAK,MAAQyS,EAAE1S,IAAM9B,UAAW,CACtC,GAAGwU,EAAEhb,GAAKgb,EAAE/Y,EAAG,CACd+Y,EAAE1S,EAAI,CAAG0S,GAAEzS,EAAI,QACT,KAAI4+B,EAAY,aAClBnsB,GAAEzS,EAAI,QAEPyS,GAAEzS,EAAIovB,EAAIpvB,GAAK,GACpB,IAAGizD,EAAM36D,EAAEjB,EAAI6vG,EAAMj0C,EAAM36D,EAAEjB,EAAI6vG,CACjC,IAAGj0C,EAAMngE,EAAEuE,EAAI6vG,EAAMj0C,EAAMngE,EAAEuE,EAAI6vG,CAEjC,QAAOz0F,EAAEzS,GACR,IAAK,IACJ,GAAGyS,EAAE1S,GAAK,IAAM0S,EAAE1S,GAAK,KAAM,CAC5B,IAAI6+B,EAAY,QAChBnsB,GAAEzS,EAAI,QACAyS,GAAE1S,EAAIqO,WAAWqE,EAAE1S,EAC1B,OACD,IAAK,IACJ,SAAU0S,GAAE1S,GAAK,YAAa,CAC7B,IAAI6+B,EAAY,QAChBnsB,GAAEzS,EAAI,QACA,CACNmnG,EAAO95D,GAAKviC,SAAS2H,EAAE1S,EAAG,IAC1B0S,GAAE1S,EAAIonG,EAAKnnG,CACXyS,GAAE/H,EAAIy8F,EAAKz8F,CACX,IAAG7D,EAAK+iE,SAAUn3D,EAAEwL,EAAIkpF,EAAKlpF,EAE9B,MACD,IAAK,MACJxL,EAAEzS,EAAI,GACNyS,GAAE1S,EAAK0S,EAAE1S,GAAG,KAAQ4yB,GAAYuB,GAASzhB,EAAE1S,GAAI,MAAQ,EACvD,IAAG8G,EAAK+iE,SAAUn3D,EAAEwL,EAAIoV,GAAW5gB,EAAE1S,EACrC,OACD,IAAK,YACJinG,EAAOz3E,GAAiB38B,EAAG,KAC3B6f,GAAEzS,EAAI,GACN,IAAGgnG,GAAQ,OAASG,EAAOx9B,GAASq9B,EAAK,KAAM,CAC9Cv0F,EAAE1S,EAAIonG,EAAKnnG,CACX,IAAG6G,EAAK+iE,SAAUn3D,EAAEwL,EAAIkpF,EAAKlpF,MACvBxL,GAAE1S,EAAI,EACb,OACD,IAAK,IAAK0S,EAAE1S,EAAI4zB,GAAalhB,EAAE1S,EAAI,OACnC,IAAK,IACJ,GAAG8G,EAAKg4B,UAAWpsB,EAAE1S,EAAIqqB,GAAU3X,EAAE1S,EAAG0H,OACnC,CAAEgL,EAAE1S,EAAIiJ,GAAQohB,GAAU3X,EAAE1S,EAAG0H,GAAWA,EAAWgL,GAAEzS,EAAI,IAChE,MAED,IAAK,IACJ,IAAI6G,GAAQA,EAAKmzD,WAAa,MAAOvnD,EAAE5b,EAAI4b,EAAE1S,CAC7C0S,GAAE1S,EAAI2mC,GAAMj0B,EAAE1S,EAAI,QAGpBu1C,EAAQ+sD,EAAS,CACjBjiD,GAAK,IACL,IAAGinD,GAAaj4E,EAAI92B,IAAM2F,UAAW,CACpCmiD,EAAKzS,EAAO+mC,OAAOtlD,EAAI92B,EACvB,IAAG8nD,GAAM,KAAM,CACd,GAAGA,EAAG/iB,UAAY,KAAMiY,EAAQ8K,EAAG/iB,QACnC,IAAGx2B,EAAKo/C,WAAY,CACnB,GAAG7F,EAAGq3B,QAAU,KAAM4qB,EAASjiD,EAAGq3B,SAIrC2qB,GAAY3vF,EAAG6iC,EAAO+sD,EAAQx7F,EAAMsnC,EAAQR,EAAQlmC,EACpD,IAAGZ,EAAKg4B,WAAawoE,GAAa50F,EAAEzS,GAAK,KAAOgN,GAAYjM,EAAUu0C,IAAS,CAAE7iC,EAAE1S,EAAI8pB,GAAQpX,EAAE1S,GAAK0H,EAAW,KAAO,GAAKgL,GAAEzS,QAAWyS,GAAE1S,GAAK,SAAW,IAAM,IAClK,GAAGqvB,EAAI+qD,IAAMtzE,EAAKqhG,OAAQ,CACzB,GAAI/tB,IAAMtzE,EAAKqhG,OAAO5tB,WAAWlrD,EAAI+qD,GAAG,EACxC,IAAGA,GAAMA,EAAGjxE,MAAQ,SAAUuJ,EAAE5f,EAAI,KAErC,GAAIs1G,EACJ,IAAGthG,EAAK08F,MAAO,CACd4E,EAAK1rE,GAAYrN,EAAI1kB,EACrB,IAAGuoD,EAAM36D,EAAEoS,EAAIy9F,EAAGz9F,EAAGuoD,EAAM36D,EAAEoS,EAAIy9F,EAAGz9F,CACpC,IAAGuoD,EAAMngE,EAAE4X,EAAIy9F,EAAGz9F,EAAGuoD,EAAMngE,EAAE4X,EAAIy9F,EAAGz9F,EAErC,GAAGozB,EAAO,CACTqqE,EAAK1rE,GAAYrN,EAAI1kB,EACrB,KAAIpS,EAAE,SAAS6vG,EAAGz9F,GAAIpS,EAAE,SAAS6vG,EAAGz9F,KACpCpS,GAAE,SAAS6vG,EAAGz9F,GAAGy9F,EAAG9wG,GAAKob,MACnBna,GAAE82B,EAAI1kB,GAAK+H,GAGpB,GAAG0oD,EAAKnoE,OAAS,EAAGsF,EAAE,SAAW6iE,KAGlC,SAASitC,IAAkBnqE,EAAIp3B,EAAMmD,EAAK+oC,GACzC,GAAIr2C,MAAQgO,KAAQ+wB,EAAQyB,GAAkBe,EAAG,SAAU7C,EAAK,GAAIyvB,EAAK9/C,EAAK,GAAI6nD,KAAWtgD,EAAE,EAAGnZ,EAAE,EAAGgiE,EAAOl9B,EAAG,QACjH,IAAIH,GAAQG,EAAG,UAAY,KAAMvnC,EAAOonC,EAAQG,EAAG,WACnD,IAAIoqE,IAAW39F,EAAEK,GAAMma,EAAKojF,GAAU,CACtC,IAAI7gG,MAAcsrC,OAAQimB,cAAcC,aAAaxxD,QACrD,KAAItO,EAAIsiC,EAAMnjC,EAAEjB,EAAG8B,GAAKsiC,EAAM3oC,EAAEuE,IAAK8B,EAAGy5D,EAAKz5D,GAAK4iC,GAAW5iC,EAC7D,KAAImZ,EAAImpB,EAAMnjC,EAAEoS,EAAG4H,GAAKmpB,EAAM3oC,EAAE4X,IAAK4H,EAAG,CACvC5H,IACAK,GAAKixB,GAAW1pB,EAChB,IAAImsB,GAASX,EAAQpnC,EAAK4b,KAC1B,KAAInZ,EAAIsiC,EAAMnjC,EAAEjB,EAAG8B,GAAKsiC,EAAM3oC,EAAEuE,IAAK8B,EAAG,CACvC0xD,EAAM+H,EAAKz5D,GAAK4R,CAChB,IAAIw9F,GAAQzqE,EAAQW,EAAOtlC,GAAK8kC,EAAG4sB,EACnC,IAAG09C,IAAUtqG,UAAW,QACxB,KAAIm9B,EAAOirE,GAAkBkC,EAAO19C,EAAK5sB,EAAIp3B,EAAMmD,EAAK+oC,EAAItrC,KAAc,KAAMiD,EAAEnQ,KAAK6gC,GAExF,GAAG1wB,EAAE1X,OAAS,GAAMmoE,GAAQA,EAAK7oD,GAAK,CACrC+1F,GAAW39F,EAAEK,EACb,IAAGowD,GAAQA,EAAK7oD,GAAI,CACnB4S,EAAMi2C,EAAK7oD,EACX,IAAG4S,EAAIq8B,OAAQ8mD,EAAO9mD,OAAS,CAC/B+mD,IAAU,CACV,IAAGpjF,EAAIk1C,IAAKkuC,EAASltC,GAAMl2C,EAAIk1C,SAC1B,IAAGl1C,EAAIm9B,IAAKimD,EAASpjF,EAAIm9B,GAC9B,IAAGimD,GAAU,EAAG,CAAED,EAAOR,GAAKS,CAAQD,GAAOG,aAAe,EAC5D,GAAGtjF,EAAIk9B,MAAO,CAAEimD,EAAO9G,aAAer8E,EAAIk9B,OAE3C1lD,EAAEA,EAAE1J,QAAW8hC,GAAU,MAAOpqB,EAAElR,KAAK,IAAK6uG,IAG9C,GAAGltC,EAAM,KAAM7oD,EAAI6oD,EAAKnoE,SAAUsf,EAAG,CACpC,GAAG6oD,GAAQA,EAAK7oD,GAAI,CACnB+1F,GAAW39F,EAAE4H,EAAE,EACf4S,GAAMi2C,EAAK7oD,EACX,IAAG4S,EAAIq8B,OAAQ8mD,EAAO9mD,OAAS,CAC/B+mD,IAAU,CACV,IAAIpjF,EAAIk1C,IAAKkuC,EAASltC,GAAMl2C,EAAIk1C,SAC3B,IAAIl1C,EAAIm9B,IAAKimD,EAASpjF,EAAIm9B,GAC/B,IAAIimD,GAAU,EAAG,CAAED,EAAOR,GAAKS,CAAQD,GAAOG,aAAe,EAC7D,GAAItjF,EAAIk9B,MAAO,CAAEimD,EAAO9G,aAAer8E,EAAIk9B,MAC3C1lD,EAAEA,EAAE1J,QAAW8hC,GAAU,MAAO,GAAIuzE,IAGtC,MAAO3rG,GAAElD,KAAK,IAGf,QAASivG,IAAaz+F,EAAKnD,EAAMksC,EAAIlF,GACpC,GAAInxC,IAAK20B,GAAYyD,GAAU,YAAa,MAC3C2Z,MAAStY,GAAW,GACpBuyE,UAAWtzE,GAAM1qB,IAElB,IAAIpS,GAAIy6C,EAAGpV,WAAW3zB,GAAM40D,EAAO,EAAG+pC,EAAQ,EAC9C,IAAI1qE,GAAK8U,EAAGnV,OAAOtlC,EACnB,IAAG2lC,GAAM,KAAMA,IACf,IAAI4sB,GAAM5sB,EAAG,SAAW,IACxB,IAAIxC,GAAQyB,GAAkB2tB,EAC9B,IAAGpvB,EAAM3oC,EAAEuE,EAAI,OAAUokC,EAAM3oC,EAAE4X,EAAI,QAAS,CAC7C,GAAG7D,EAAK6tB,IAAK,KAAM,IAAI7gC,OAAM,SAAWg3D,EAAM,sCAC9CpvB,GAAM3oC,EAAEuE,EAAIgJ,KAAK+L,IAAIqvB,EAAM3oC,EAAEuE,EAAG,MAChCokC,GAAM3oC,EAAE4X,EAAIrK,KAAK+L,IAAIqvB,EAAM3oC,EAAEuE,EAAG,QAChCwzD,GAAMluB,GAAalB,GAEpB,IAAIoS,EAAMA,IACV5P,GAAG,eACH,IAAI2qE,KAEJtE,IAAqBrmE,EAAI8U,EAAI/oC,EAAKnD,EAAMnK,EAExCA,GAAEA,EAAE1J,QAAW8hC,GAAU,YAAa,MAAO+1B,IAAOA,GAEpDnuD,GAAEA,EAAE1J,QAAUkzG,GAAwBjoE,EAAIp3B,EAAMmD,EAAK+oC,EAGrD,IAAGlsC,EAAKgiG,YAAansG,EAAEA,EAAE1J,QAAW8hC,GAAU,gBAAiB,MAC9Dg0E,iBAAiBjiG,EAAKgiG,YAAYC,kBAAkB,KACpDC,aAAaliG,EAAKgiG,YAAYE,cAAc,KAC5CC,gBAAgBniG,EAAKgiG,YAAYG,iBAAiB,KAGnD,IAAG/qE,EAAG,UAAY,MAAQA,EAAG,SAASjrC,OAAS,EAAG0J,EAAEA,EAAE1J,QAAW2yG,GAAkB1nE,EAAIA,EAAG,SAE1FvhC,GAAEkiE,EAAOliE,EAAE1J,QAAU,cACrBirC,GAAG,YACH,IAAGA,EAAG,SAAW,KAAM,CACtB0qE,EAAQP,GAAkBnqE,EAAIp3B,EAAMmD,EAAK+oC,EAAIlF,EAC7C,IAAG86D,EAAM31G,OAAS,EAAG0J,EAAEA,EAAE1J,QAAU,EAEpC,GAAG0J,EAAE1J,OAAO4rE,EAAK,EAAG,CAAEliE,EAAEA,EAAE1J,QAAU,cAAkB0J,GAAEkiE,GAAMliE,EAAEkiE,GAAM5gE,QAAQ,KAAK,KAInF,GAAGigC,EAAG,YAAavhC,EAAEA,EAAE1J,QAAUgyG,GAAwB/mE,EAAG,YAK5D,IAAGA,EAAG,gBAAkB,KAAMvhC,EAAEA,EAAE1J,QAAU4yG,GAAwB3nE,EAAG,eAAgBA,EAAI8U,EAAI/oC,EAM/F,IAAGi0B,EAAG,YAAc,MAAQA,EAAG,WAAWjrC,OAAS,EAAG0J,EAAEA,EAAE1J,QAAWmxG,GAAoBlmE,EAAG,WAM5F,IAAIgrE,IAAQ,EAAGz3D,EAAKS,GAAO,CAC3B,IAAGhU,EAAG,UAAUjrC,OAAS,EAAG,CAC3B0J,EAAEA,EAAE1J,QAAU,cAChBirC,GAAG,UAAUvlC,QAAQ,SAAS4B,GAC3B,IAAIA,EAAE,GAAGo3C,OAAQ,MACjBF,IAAQqZ,IAAMvwD,EAAE,GAChB,IAAGA,EAAE,GAAGo3C,OAAOx+C,OAAO,IAAM,IAAK,CAChC++C,EAAMD,GAASnE,GAAO,EAAG3a,GAAU54B,EAAE,GAAGo3C,QAAQ1zC,QAAQ,YAAa,IAAKy3B,GAAKoa,MAC/E2B,GAAI,QAAU,MAAMS,EAErB,IAAIg3D,EAAO3uG,EAAE,GAAGo3C,OAAOp4C,QAAQ,OAAS,EAAGk4C,EAAIyzD,SAAW/xE,GAAU54B,EAAE,GAAGo3C,OAAO36C,MAAMkyG,EAAK;AAC3F,GAAG3uG,EAAE,GAAG2jD,QAASzM,EAAI2zD,QAAUjyE,GAAU54B,EAAE,GAAG2jD,QAC9CzM,GAAIm1D,QAAUrsG,EAAE,GAAGqsG,OACnBjqG,GAAEA,EAAE1J,QAAU8hC,GAAU,YAAY,KAAK0c,IAE1C90C,GAAEA,EAAE1J,QAAU,sBAERirC,GAAG,SAIV,IAAGA,EAAG,aAAe,KAAMvhC,EAAEA,EAAE1J,QAAWsyG,GAAqBrnE,EAAG,YASlE,KAAIp3B,GAAQA,EAAKqiG,UAAariG,EAAKqiG,cAAkB,GAAKxsG,EAAEA,EAAE1J,QAAU4hC,GAAS,gBAAiBE,GAAU,eAAgB,MAAOq0E,mBAAmB,EAAGC,MAAMv+C,IAI/J,IAAG+9C,EAAS51G,OAAS,EAAG,CACvBi/C,EAAMD,GAASnE,GAAO,EAAG,uBAAyB7jC,EAAI,GAAK,OAAQyrB,GAAKsb,KACxEr0C,GAAEA,EAAE1J,QAAU8hC,GAAU,UAAW,MAAOu0E,OAAO,MAAQp3D,GACzDhU,GAAG,YAAc2qE,EAGlB,GAAG3qE,EAAG,aAAajrC,OAAS,EAAG,CAC9Bi/C,EAAMD,GAASnE,GAAO,EAAG,0BAA4B7jC,EAAI,GAAK,OAAQyrB,GAAKqa,IAC3EpzC,GAAEA,EAAE1J,QAAU8hC,GAAU,gBAAiB,MAAOu0E,OAAO,MAAQp3D,GAC/DhU,GAAG,WAAagU,EAWjB,GAAGv1C,EAAE1J,OAAO,EAAG,CAAE0J,EAAEA,EAAE1J,QAAU,cAAkB0J,GAAE,GAAGA,EAAE,GAAGsB,QAAQ,KAAK,KACxE,MAAOtB,GAAElD,KAAK,IAIf,QAAS8vG,IAAgB5yG,EAAM1D,GAC9B,GAAI++B,KACJ,IAAIhe,GAAMrd,EAAK4D,EAAItH,CACnB++B,GAAErnB,EAAIhU,EAAKyc,WAAW,EACtBzc,GAAK4D,GAAK,CACV,IAAI6nD,GAAQzrD,EAAKyc,WAAW,EAC5Bzc,GAAK4D,GAAK,CACV,IAAIuZ,GAAQnd,EAAKyc,WAAW,EAC5Bzc,GAAK4D,EAAIyZ,CACT,IAAGF,EAAQ,EAAMke,EAAEqwB,MAAQvuC,EAAQ,CACnC,IAAGA,EAAQ,GAAMke,EAAEwvB,OAAS,IAC5B,IAAG1tC,EAAQ,GAAMke,EAAEswB,IAAMF,EAAQ,EACjC,OAAOpwB,GAER,QAASw3E,IAAgBj3F,EAAGmpB,EAAOwC,GAClC,GAAIvhC,GAAIkb,GAAQ,GAAG,EAAE,GACrB,IAAIsN,IAAO+Y,EAAG,cAAc3rB,MAC5B5V,GAAEsW,YAAY,EAAGV,EAEjB5V,GAAEsW,YAAY,EAAG,EAEjB,IAAImvC,GAAQ,GACZ,IAAGj9B,EAAIk1C,IAAKjY,EAAQiZ,GAAMl2C,EAAIk1C,KAAO,OAChC,IAAGl1C,EAAIm9B,IAAKF,EAAQj9B,EAAIm9B,IAAM,EACnC3lD,GAAEsW,YAAY,EAAGmvC,EAEjBzlD,GAAEsW,YAAY,EAAG,EAEjB,IAAIa,GAAQ,CACZ,IAAGqR,EAAIk9B,MAAOvuC,GAASqR,EAAIk9B,KAC3B,IAAGl9B,EAAIq8B,OAAQ1tC,GAAS,EACxB,IAAGqR,EAAIk1C,KAAOl1C,EAAIm9B,IAAKxuC,GAAS,EAChCnX,GAAEsW,YAAY,EAAGa,EAEjBnX,GAAEsW,YAAY,EAAG,EAGjB,IAAIw2F,GAAW,EAAGC,EAAM/sG,EAAEpC,CAC1BoC,GAAEpC,GAAK,CAEP,IAAIovG,IAASh/F,EAAE4H,EAAGjb,EAAE,EACpB,IAAIymC,GAAQG,EAAG,UAAY,IAC3B,KAAI,GAAIlrC,GAAI,EAAGA,EAAI,KAAMA,EAAG,CAC3B,GAAI0oC,EAAMnjC,EAAEjB,EAAMtE,EAAE,GAAM,IAAS0oC,EAAM3oC,EAAEuE,EAAKtE,GAAK,GAAM,QAC3D,IAAI42G,IAAS,EAAG/6E,GAAQ,CACxB,KAAI,GAAIv7B,GAAKN,GAAG,GAAKM,EAAMN,EAAE,GAAI,KAAOM,EAAG,CAC1Cq2G,EAAMryG,EAAIhE,CACV,IAAI+nC,GAAO0C,GAASG,EAAG,SAASyrE,EAAMh/F,QAAQg/F,EAAMryG,GAAK4mC,EAAGtC,GAAY+tE,GACxE,IAAGtuE,EAAM,CAAE,GAAGuuE,EAAQ,EAAGA,EAAQt2G,CAAGu7B,GAAOv7B,GAE5C,GAAGs2G,EAAQ,EAAG,WACZH,CACF9sG,GAAEsW,YAAY,EAAG22F,EACjBjtG,GAAEsW,YAAY,EAAG4b,GAGlB,GAAIt0B,GAAIoC,EAAEpC,CACVoC,GAAEpC,EAAImvG,CACN/sG,GAAEsW,YAAY,EAAGw2F,EACjB9sG,GAAEpC,EAAIA,CAEN,OAAOoC,GAAE1J,OAAS0J,EAAEpC,EAAIoC,EAAE3F,MAAM,EAAG2F,EAAEpC,GAAKoC,EAE3C,QAASktG,IAAiB1uE,EAAI+C,EAAIxC,EAAOnpB,GACxC,GAAI5V,GAAI6sG,GAAgBj3F,EAAGmpB,EAAOwC,EAClC,IAAIvhC,EAAE1J,OAAS,KAAQirC,EAAG,cAAc3rB,GAAI2oB,GAAaC,EAAI,EAAwBx+B,GAItF,GAAImtG,IAAiBxoE,EACrB,IAAIyoE,IAAiBxoE,EAGrB,SAASyoE,OAKT,QAASC,IAAgBtzG,EAAM1D,GAC9B,GAAI++B,KACJ,IAAIt6B,GAAIf,EAAKA,EAAK4D,KAAM5D,EAAK4D,CAC7By3B,GAAE8yE,QAAUptG,EAAI,GAChBs6B,GAAE6vE,OAAUnqG,EAAI,IAEhBf,GAAK4D,GAAK,EACVy3B,GAAE5b,KAAOmqB,GAAmB5pC,EAAM1D,EAAS,GAC3C,OAAO++B,GAER,QAASk4E,IAAgBz+F,EAAKjC,EAAM7M,GACnC,GAAGA,GAAK,KAAMA,EAAIkb,GAAQ,GAAG,EAAEpM,EAAIxY,OACnC,IAAIyE,GAAI,GACR,IAAG8R,EAAM,CACR,GAAGA,EAAKs7F,MAAOptG,IAAM,EACrB,IAAG8R,EAAKq4F,KAAOnqG,IAAM,IAEtBiF,EAAEsW,YAAY,EAAGvb,EACjB,KAAI,GAAI1E,GAAI,EAAGA,EAAI,IAAKA,EAAG2J,EAAEsW,YAAY,EAAE,EAC3CsvB,KAAgBP,KAAK,GAAIrlC,EACzBA,GAAEsW,aAAa,GAAG,EAClBtW,GAAEsW,aAAa,GAAG,EAClButB,IAAmB/0B,EAAK9O,EACxB,OAAOA,GAAE3F,MAAM,EAAG2F,EAAEpC,GAIrB,QAAS4vG,IAAmBxzG,GAC3B,GAAI0kC,GAAO6E,GAAevpC,EAC1B,QAAQ0kC,GAET,QAAS+uE,IAAmB/uE,EAAMgvE,EAAO1tG,GACxC,GAAGA,GAAK,KAAMA,EAAIkb,GAAQ,EAC1B,OAAOuoB,IAAeiqE,EAAO1tG,GAE9B,QAAS2tG,IAAoB3zG,GAC5B,GAAI0kC,GAAOgF,GAAoB1pC,EAC/B,QAAQ0kC,GAET,QAASkvE,IAAoBlvE,EAAMgvE,EAAO1tG,GACzC,GAAGA,GAAK,KAAMA,EAAIkb,GAAQ,EAC1B,OAAOyoB,IAAoB+pE,EAAO1tG,GAInC,QAAS6tG,IAAkB7zG,GAC1B,GAAI0kC,GAAO6E,GAAevpC,EAC1B,IAAI8zG,GAAQ9zG,EAAKyc,WAAW,EAC5B,QAAQioB,EAAMovE,EAAO,KAEtB,QAASC,IAAkBrvE,EAAMgvE,EAAO1tG,GACvC,GAAGA,GAAK,KAAMA,EAAIkb,GAAQ,EAC1BuoB,IAAeiqE,EAAO1tG,EACtBA,GAAEsW,YAAY,EAAGooB,EAAKr7B,EAAI,EAAI,EAC9B,OAAOrD,GAER,QAASguG,IAAmBh0G,GAC3B,GAAI0kC,GAAOgF,GAAoB1pC,EAC/B,IAAI8zG,GAAQ9zG,EAAKyc,WAAW,EAC5B,QAAQioB,EAAMovE,EAAO,KAEtB,QAASG,IAAmBvvE,EAAMgvE,EAAO1tG,GACxC,GAAGA,GAAK,KAAMA,EAAIkb,GAAQ,EAC1ByoB,IAAoB+pE,EAAO1tG,EAC3BA,GAAEsW,YAAY,EAAGooB,EAAKr7B,EAAI,EAAI,EAC9B,OAAOrD,GAIR,QAASkuG,IAAmBl0G,GAC3B,GAAI0kC,GAAO6E,GAAevpC,EAC1B,IAAIm0G,GAASn0G,EAAKyc,WAAW,EAC7B,QAAQioB,EAAMyvE,EAAQ,KAEvB,QAASC,IAAmB1vE,EAAMgvE,EAAO1tG,GACxC,GAAGA,GAAK,KAAMA,EAAIkb,GAAQ,EAC1BuoB,IAAeiqE,EAAO1tG,EACtBA,GAAEsW,YAAY,EAAGooB,EAAKr7B,EACtB,OAAOrD,GAER,QAASquG,IAAoBr0G,GAC5B,GAAI0kC,GAAOgF,GAAoB1pC,EAC/B,IAAIm0G,GAASn0G,EAAKyc,WAAW,EAC7B,QAAQioB,EAAMyvE,EAAQ,KAEvB,QAASG,IAAoB5vE,EAAMgvE,EAAO1tG,GACzC,GAAGA,GAAK,KAAMA,EAAIkb,GAAQ,EAC1ByoB,IAAoB+pE,EAAO1tG,EAC3BA,GAAEsW,YAAY,EAAGooB,EAAKr7B,EACtBrD,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,EACjB,OAAOtW,GAKR,QAASuuG,IAAkBv0G,GAC1B,GAAI0kC,GAAO6E,GAAevpC,EAC1B,IAAI+tD,GAAO/tD,EAAKyc,WAAW,EAC3B,QAAQioB,EAAMqpB,EAAM,KAErB,QAASymD,IAAkB9vE,EAAMgvE,EAAO1tG,GACvC,GAAGA,GAAK,KAAMA,EAAIkb,GAAQ,GAC1BuoB,IAAeiqE,EAAO1tG,EACtBA,GAAEsW,YAAY,EAAGo3F,EAAMrqG,EACvB,OAAOrD,GAER,QAASyuG,IAAmBz0G,GAC3B,GAAI0kC,GAAOgF,GAAoB1pC,EAC/B,IAAI+tD,GAAO/tD,EAAKyc,WAAW,EAC3B,QAAQioB,EAAMqpB,EAAM,KAErB,QAAS2mD,IAAmBhwE,EAAMgvE,EAAO1tG,GACxC,GAAGA,GAAK,KAAMA,EAAIkb,GAAQ,EAC1ByoB,IAAoB+pE,EAAO1tG,EAC3BA,GAAEsW,YAAY,EAAGo3F,EAAMrqG,EACvB,OAAOrD,GAIR,QAAS2uG,IAAkB30G,GAC1B,GAAI0kC,GAAO6E,GAAevpC,EAC1B,IAAIk9B,GAAQ2N,GAAW7qC,EACvB,QAAQ0kC,EAAMxH,EAAO,KAEtB,QAAS03E,IAAkBlwE,EAAMgvE,EAAO1tG,GACvC,GAAGA,GAAK,KAAMA,EAAIkb,GAAQ,GAC1BuoB,IAAeiqE,EAAO1tG,EACtB8kC,IAAWpG,EAAKr7B,EAAGrD,EACnB,OAAOA,GAER,QAAS6uG,IAAmB70G,GAC3B,GAAI0kC,GAAOgF,GAAoB1pC,EAC/B,IAAIk9B,GAAQ2N,GAAW7qC,EACvB,QAAQ0kC,EAAMxH,EAAO,KAEtB,QAAS43E,IAAmBpwE,EAAMgvE,EAAO1tG,GACxC,GAAGA,GAAK,KAAMA,EAAIkb,GAAQ,GAC1ByoB,IAAoB+pE,EAAO1tG,EAC3B8kC,IAAWpG,EAAKr7B,EAAGrD,EACnB,OAAOA,GAIR,QAAS+uG,IAAgB/0G,GACxB,GAAI0kC,GAAO6E,GAAevpC,EAC1B,IAAIk9B,GAAQiN,GAAenqC,EAC3B,QAAQ0kC,EAAMxH,EAAO,KAEtB,QAAS83E,IAAgBtwE,EAAMgvE,EAAO1tG,GACrC,GAAGA,GAAK,KAAMA,EAAIkb,GAAQ,GAC1BuoB,IAAeiqE,EAAO1tG,EACtBukC,IAAe7F,EAAKr7B,EAAGrD,EACvB,OAAOA,GAER,QAASivG,IAAiBj1G,GACzB,GAAI0kC,GAAOgF,GAAoB1pC,EAC/B,IAAIk9B,GAAQiN,GAAenqC,EAC3B,QAAQ0kC,EAAMxH,EAAO,KAEtB,QAASg4E,IAAiBxwE,EAAMgvE,EAAO1tG,GACtC,GAAGA,GAAK,KAAMA,EAAIkb,GAAQ,EAC1ByoB,IAAoB+pE,EAAO1tG,EAC3BukC,IAAe7F,EAAKr7B,EAAGrD,EACvB,OAAOA,GAIR,QAASmvG,IAAqBn1G,GAC7B,GAAI0kC,GAAO6E,GAAevpC,EAC1B,IAAIk9B,GAAQ+L,GAAcjpC,EAC1B,QAAQ0kC,EAAMxH,EAAO,MAItB,QAASk4E,IAAgBp1G,GACxB,GAAI0kC,GAAO6E,GAAevpC,EAC1B,IAAIk9B,GAAQsL,GAAmBxoC,EAC/B,QAAQ0kC,EAAMxH,EAAO,OAEtB,QAASm4E,IAAgB3wE,EAAMgvE,EAAO1tG,GACrC,GAAIhG,GAAO0kC,EAAKr7B,GAAK,KAAO,GAAK9K,OAAOmmC,EAAKr7B,EAC7C,IAAGrD,GAAK,KAAMA,EAAIkb,GAAQ,GAAK,EAAIwjB,EAAKr7B,EAAE/M,OAC1CmtC,IAAeiqE,EAAO1tG,EACtB0iC,IAAmB1oC,EAAMgG,EACzB,OAAOA,GAAE1J,OAAS0J,EAAEpC,EAAIoC,EAAE3F,MAAM,EAAG2F,EAAEpC,GAAKoC,EAE3C,QAASsvG,IAAiBt1G,GACzB,GAAI0kC,GAAOgF,GAAoB1pC,EAC/B,IAAIk9B,GAAQsL,GAAmBxoC,EAC/B,QAAQ0kC,EAAMxH,EAAO,OAEtB,QAASq4E,IAAiB7wE,EAAMgvE,EAAO1tG,GACtC,GAAIhG,GAAO0kC,EAAKr7B,GAAK,KAAO,GAAK9K,OAAOmmC,EAAKr7B,EAC7C,IAAGrD,GAAK,KAAMA,EAAIkb,GAAQ,EAAI,EAAIlhB,EAAK1D,OACvCqtC,IAAoB+pE,EAAO1tG,EAC3B0iC,IAAmB1oC,EAAMgG,EACzB,OAAOA,GAAE1J,OAAS0J,EAAEpC,EAAIoC,EAAE3F,MAAM,EAAG2F,EAAEpC,GAAKoC,EAI3C,QAASwvG,IAAkBx1G,EAAM1D,EAAQ6T,GACxC,GAAI0d,GAAM7tB,EAAK4D,EAAItH,CACnB,IAAIooC,GAAO6E,GAAevpC,EAC1B0kC,GAAK1wB,EAAI7D,EAAK,OACd,IAAI+sB,GAAQl9B,EAAKyc,WAAW,EAC5B,IAAIzW,IAAK0+B,EAAMxH,EAAO,IACtB,IAAG/sB,EAAKkhG,YAAa,CACpBrxG,EAAK4D,GAAK,CACV,IAAIw/D,GAAUixB,GAA4Br0F,EAAM6tB,EAAM7tB,EAAK4D,EAAGuM,EAC9DnK,GAAE,GAAKmsF,GAAkB/uB,EAAS,KAAe1+B,EAAMv0B,EAAK2hF,SAAU3hF,OAElEnQ,GAAK4D,EAAIiqB,CACd,OAAO7nB,GAIR,QAASyvG,IAAmBz1G,EAAM1D,EAAQ6T,GACzC,GAAI0d,GAAM7tB,EAAK4D,EAAItH,CACnB,IAAIooC,GAAO6E,GAAevpC,EAC1B0kC,GAAK1wB,EAAI7D,EAAK,OACd,IAAI+sB,GAAQl9B,EAAKyc,WAAW,EAC5B,IAAIzW,IAAK0+B,EAAMxH,EAAO,IACtB,IAAG/sB,EAAKkhG,YAAa,CACpBrxG,EAAK4D,GAAK,CACV,IAAIw/D,GAAUixB,GAA4Br0F,EAAM6tB,EAAM7tB,EAAK4D,EAAGuM,EAC9DnK,GAAE,GAAKmsF,GAAkB/uB,EAAS,KAAe1+B,EAAMv0B,EAAK2hF,SAAU3hF,OAElEnQ,GAAK4D,EAAIiqB,CACd,OAAO7nB,GAIR,QAAS0vG,IAAiB11G,EAAM1D,EAAQ6T,GACvC,GAAI0d,GAAM7tB,EAAK4D,EAAItH,CACnB,IAAIooC,GAAO6E,GAAevpC,EAC1B0kC,GAAK1wB,EAAI7D,EAAK,OACd,IAAI+sB,GAAQ2N,GAAW7qC,EACvB,IAAIgG,IAAK0+B,EAAMxH,EAAO,IACtB,IAAG/sB,EAAKkhG,YAAa,CACpBrxG,EAAK4D,GAAK,CACV,IAAIw/D,GAAUixB,GAA4Br0F,EAAM6tB,EAAM7tB,EAAK4D,EAAGuM,EAC9DnK,GAAE,GAAKmsF,GAAkB/uB,EAAS,KAAe1+B,EAAMv0B,EAAK2hF,SAAU3hF,OAElEnQ,GAAK4D,EAAIiqB,CACd,OAAO7nB,GAIR,QAAS2vG,IAAoB31G,EAAM1D,EAAQ6T,GAC1C,GAAI0d,GAAM7tB,EAAK4D,EAAItH,CACnB,IAAIooC,GAAO6E,GAAevpC,EAC1B0kC,GAAK1wB,EAAI7D,EAAK,OACd,IAAI+sB,GAAQsL,GAAmBxoC,EAC/B,IAAIgG,IAAK0+B,EAAMxH,EAAO,MACtB,IAAG/sB,EAAKkhG,YAAa,CACpBrxG,EAAK4D,GAAK,CACV,IAAIw/D,GAAUixB,GAA4Br0F,EAAM6tB,EAAM7tB,EAAK4D,EAAGuM,EAC9DnK,GAAE,GAAKmsF,GAAkB/uB,EAAS,KAAe1+B,EAAMv0B,EAAK2hF,SAAU3hF,OAElEnQ,GAAK4D,EAAIiqB,CACd,OAAO7nB,GAIR,GAAI4vG,IAAqBjrE,EACzB,IAAIkrE,IAAqBjrE,EAEzB,SAASkrE,IAAyB30F,EAAKnb,GACtC,GAAGA,GAAK,KAAMA,EAAIkb,GAAQ,EAC1Blb,GAAEsW,YAAY,EAAG6E,EACjB,OAAOnb,GAIR,QAAS+vG,IAAe/1G,EAAM1D,GAC7B,GAAIuxB,GAAM7tB,EAAK4D,EAAItH,CACnB,IAAIqsF,GAAMh+C,GAAmB3qC,EAAM,GACnC,IAAIg2G,GAAQlsE,GAA2B9pC,EACvC,IAAIwiC,GAAMgG,GAAmBxoC,EAC7B,IAAIyuG,GAAUjmE,GAAmBxoC,EACjC,IAAIiwG,GAAUznE,GAAmBxoC,EACjCA,GAAK4D,EAAIiqB,CACT,IAAI7nB,IAAM2iF,IAAIA,EAAKqtB,MAAMA,EAAOxzE,IAAIA,EAAKytE,QAAQA,EACjD,IAAGxB,EAASzoG,EAAEuhD,QAAUknD,CACxB,OAAOzoG,GAER,QAASiwG,IAAeryG,EAAG23C,GAC1B,GAAIv1C,GAAIkb,GAAQ,GAAG,GAAGtd,EAAE,GAAGo3C,OAAO1+C,QAAUsH,EAAE,GAAG2jD,SAAW,IAAIjrD,QAChEsuC,KAAoBhpC,EAAEmkC,GAAYniC,EAAE,IAAKxH,EAAE2pC,GAAYniC,EAAE,KAAMoC,EAC/DkkC,IAAY,MAAQqR,EAAKv1C,EACzB,IAAIkwG,GAAStyG,EAAE,GAAGo3C,OAAOp4C,QAAQ,IACjC,IAAI4/B,GAAM0zE,IAAW,EAAI,GAAKtyG,EAAE,GAAGo3C,OAAO36C,MAAM61G,EAAO,EACvDxtE,IAAmBlG,GAAO,GAAIx8B,EAC9B0iC,IAAmB9kC,EAAE,GAAG2jD,SAAW,GAAIvhD,EACvC0iC,IAAmB,GAAI1iC,EACvB,OAAOA,GAAE3F,MAAM,EAAG2F,EAAEpC,GAIrB,QAASuyG,OAIT,QAASC,IAAiBp2G,EAAM1D,EAAQ6T,GACvC,GAAI0d,GAAM7tB,EAAK4D,EAAItH,CACnB,IAAIqsF,GAAMl+C,GAAUzqC,EAAM,GAC1B,IAAIq2G,GAAcr2G,EAAKyc,WAAW,EAClC,IAAIzW,IAAK2iF,EAAM3iF,GAAE,GAAKqwG,CACtB,IAAGlmG,EAAKkhG,YAAa,CACpB,GAAIjuC,GAAUgxB,GAA6Bp0F,EAAM6tB,EAAM7tB,EAAK4D,EAAGuM,EAC/DnK,GAAE,GAAKo9D,MACDpjE,GAAK4D,EAAIiqB,CAChB,OAAO7nB,GAIR,QAASswG,IAAiBt2G,EAAM1D,EAAQ6T,GACvC,GAAI0d,GAAM7tB,EAAK4D,EAAItH,CACnB,IAAIqsF,GAAMh+C,GAAmB3qC,EAAM,GACnC,IAAIgG,IAAK2iF,EACT,IAAGx4E,EAAKkhG,YAAa,CACpB,GAAIjuC,GAAUmxB,GAA8Bv0F,EAAM6tB,EAAM7tB,EAAK4D,EAAGuM,EAChEnK,GAAE,GAAKo9D,CACPpjE,GAAK4D,EAAIiqB,MACH7tB,GAAK4D,EAAIiqB,CAChB,OAAO7nB,GAKR,QAASuwG,IAAiB9zG,EAAGojC,EAAK7/B,GACjC,GAAGA,GAAK,KAAMA,EAAIkb,GAAQ,GAC1B,IAAInF,GAAI6uF,GAAUnoG,EAAGojC,EACrB7/B,GAAEsW,aAAa,EAAG7Z,EAClBuD,GAAEsW,aAAa,EAAG7Z,EAClBuD,GAAEsW,YAAY,GAAIP,EAAEypC,OAAS,IAAM,IACnCx/C,GAAEsW,YAAY,EAAG,EACjB,IAAIa,GAAQ,CACZ,IAAG0oB,EAAIglB,OAAQ1tC,GAAS,CACxB,UAAUpB,GAAEypC,OAAS,SAAUroC,GAAS,CACxC,IAAG0oB,EAAI6lB,MAAOvuC,GAAU0oB,EAAI6lB,OAAS,CACrC1lD,GAAEsW,YAAY,EAAGa,EACjB,OAAOnX,GAIR,GAAIwwG,KAAiB,OAAO,QAAQ,MAAM,SAAS,SAAS,SAC5D,SAASC,IAAiBz2G,GACzB,GAAI+qG,KACJyL,IAAcx0G,QAAQ,SAASd,GAAK6pG,EAAQ7pG,GAAK2pC,GAAW7qC,EAAM,IAClE,OAAO+qG,GAER,QAAS2L,IAAiB3L,EAAS/kG,GAClC,GAAGA,GAAK,KAAMA,EAAIkb,GAAQ,EAAE,EAC5B4pF,IAAgBC,EAChByL,IAAcx0G,QAAQ,SAASd,GAAK4pC,GAAW,EAAU5pC,GAAI8E,IAC7D,OAAOA,GAIR,QAAS2wG,IAAqB32G,GAC7B,GAAIe,GAAIf,EAAKyc,WAAW,EACxBzc,GAAK4D,GAAK,EACV,QAAS2pD,IAAKxsD,EAAI,IAEnB,QAAS61G,IAAqBrvE,EAAI+6B,EAAUt8D,GAC3C,GAAGA,GAAK,KAAMA,EAAIkb,GAAQ,GAC1B,IAAIngB,GAAI,GACR,OAAMuhE,OAAc8sC,WAAW,QAAQ7hD,IAAKxsD,GAAK,EACjDiF,GAAEsW,YAAY,EAAGvb,EACjBiF,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,IACjBtW,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,EACjB,OAAOtW,GAIR,QAAS6wG,IAAsB1iD,GAC9B,GAAInuD,GAAIkb,GAAQ,GAChBlb,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAG,EACjBsuB,IAAmBupB,EAAKnuD,EACxB,OAAOA,GAIR,QAAS8wG,IAAyBvkB,EAAIvsF,GACrC,GAAGA,GAAK,KAAMA,EAAIkb,GAAQ,GAAG,EAAE,EAC/Blb,GAAEsW,YAAY,EAAGi2E,EAAGra,SAAWrB,GAAsC0b,EAAGra,UAAY,EACpFlyE,GAAEsW,YAAY,EAAG,KAEf,UAAuB,QACvB,YAAuB,QACvB,cAAwB,OACxB,gBAAwB,OACxB,aAAwB,OACxB,gBAAwB,OACxB,aAAwB,OACxB,mBAAwB,OACxB,gBAAwB,OACxB,aAAwB,OACxB,oBAAuB,QACvB,OAAwB,OACxB,aAAwB,OACxB,cAAwB,OACxB,sBAAuB,QACvBta,QAAQ,SAAS9C,GACpB,GAAGA,EAAE,GAAI8G,EAAEsW,YAAY,EAAGi2E,EAAGrzF,EAAE,KAAO,OAASqzF,EAAGrzF,EAAE,IAAM,EAAI,OAClD8G,GAAEsW,YAAY,EAAGi2E,EAAGrzF,EAAE,KAAO,MAAQqzF,EAAGrzF,EAAE,IAAM,EAAI,IAE/D,OAAO8G,GAGR,QAAS+wG,OAET,QAASC,OAGT,QAASC,IAAaj3G,EAAM6jB,EAAOvQ,EAAK6jC,EAAMkF,EAAI5E,EAAQR,GACzD,IAAIj3C,EAAM,MAAOA,EACjB,IAAImQ,GAAO0T,KACX,KAAIszB,EAAMA,GAAQ0D,SAClB,IAAGh0C,GAAS,MAAQsJ,EAAKi3B,OAAS,KAAMj3B,EAAKi3B,MAAQvgC,CACrD,IAAIjF,KAAU,IAAGuO,EAAKi3B,MAAOxlC,EAAE,WAE/B,IAAIuyD,EACJ,IAAImU,IAAY1mE,GAAIoS,EAAE,IAASrT,EAAE,KAAUvE,GAAI4X,EAAE,EAAGrT,EAAE,GAEtD,IAAIwhB,KACJ,IAAIyvD,GAAO,MAAO/jD,EAAM,KACxB,IAAIW,GAAKzS,EAAG2tC,EAAI9tC,EAAGnZ,EAAGgf,EAAMgvF,EAAMp8F,EAAIqwB,CACtC,IAAIywB,KACJhlD,GAAK00B,KAAO,EACZ10B,GAAK,QAAU,CAEf,IAAI+mG,GAAK,EAAGC,EAAK,KAEjB,IAAI9jB,KACJ,IAAIH,KACJ,IAAIpB,GAAW3hF,EAAK2hF,UAAYz1C,EAAGy1C,cACnCA,GAASoB,QAAUA,CACnBpB,GAASuB,OAASA,CAClBvB,GAAS7qD,WAAaoV,EAAGpV,YAAcoV,EAAGnV,OAAO3lC,IAAI,SAASjD,GAAK,MAAOA,GAAEmhB,MAC5E,KAAItP,EAAK2hF,SAAU,CAClB3hF,EAAK2hF,SAAWA,CAChB,IAAGz1C,EAAGmmB,MAAO,IAAI,GAAInmE,GAAI,EAAGA,EAAIggD,EAAGmmB,MAAMlmE,SAAUD,EAAGy1F,EAAS,GAAGz1F,EAAE,GAAKggD,EAAGmmB,MAAMnmE,GAGnF,GAAI8lE,MAAcD,IAClB,IAAI2sC,GAAU,KAEdrrE,IAAe,KAAYtkC,EAAE,eAAgB6B,EAAE8zG,GAE/C,IAAIpxB,GAAI2zB,CACR,IAAIrmG,GAAW,UAAYsrC,OAAQkmB,aAAaxxD,QAEhDoyB,IAAanjC,EAAM,QAASq3G,GAAS3kG,EAAK4kG,EAAI/zE,GAC7C,GAAG1V,EAAK,MACR,QAAO0V,GACN,IAAK,KACJ4wB,EAAMzhD,CAAK,OACZ,IAAK,GACJ8b,EAAM9b,CACN,IAAGvC,EAAKmrD,WAAanrD,EAAKmrD,WAAa9sC,EAAIxa,EAAG6Z,EAAI,IAClDxZ,GAAKixB,GAAW1pB,EAAI4S,EAAIxa,EACxB7D,GAAK,QAAUqe,EAAIxa,CACnB,IAAGtB,EAAIm4C,QAAUn4C,EAAIi5C,KAAOj5C,EAAIg5C,OAAS,KAAM,CAC9C,GAAGh5C,EAAIi5C,IAAKj5C,EAAIgxD,IAAMC,GAAMjxD,EAAIi5C,IAChCuW,GAAQxvD,EAAIsB,GAAKtB,EAElB,MAED,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,IACJqJ,GAAMzS,EAAEoJ,EAAI,GACZ,QAAOA,EAAI,IACV,IAAK,IAAKqJ,EAAE1S,EAAIqJ,EAAI,EAAI,OACxB,IAAK,IAAK+9F,EAAO95D,GAAKjkC,EAAI,GAAKqJ,GAAE1S,EAAIonG,EAAKnnG,CAAGyS,GAAE/H,EAAIy8F,EAAKz8F,CAAG,OAC3D,IAAK,IAAK+H,EAAE1S,EAAIqJ,EAAI,GAAK,KAAO,KAAO,OACvC,IAAK,IAAKqJ,EAAE1S,EAAIqJ,EAAI,EAAI,IAAGvC,EAAKmzD,WAAa,MAAOvnD,EAAE5b,EAAI0mC,GAAK9qB,EAAE1S,EAAI,OACrE,IAAK,MAAO0S,EAAEzS,EAAI,GAAKyS,GAAE1S,EAAIqJ,EAAI,EAAI,OACrC,IAAK,KAAMqJ,EAAEzS,EAAI,GAAKyS,GAAE1S,EAAIqJ,EAAI,GAAGpJ,CAAG,QAEvC,GAAIogD,EAAKzS,EAAO+mC,OAAOtrE,EAAI,GAAG82B,WAAakiE,GAAY3vF,EAAE2tC,EAAG/iB,SAAS,KAAKx2B,EAAMsnC,EAAQR,EAAQlmC,EAAS,EACzGtO,GAAIiQ,EAAI,GAAG/R,IAAM,EAAI8B,EAAI,EAAIiQ,EAAI,GAAG/R,CACpC,IAAGwP,EAAKi3B,MAAO,CAAE,IAAIxlC,EAAE,SAASga,GAAIha,EAAE,SAASga,KAASha,GAAE,SAASga,GAAGnZ,GAAKsZ,MACtEna,GAAEyjC,GAAW5iC,GAAK4R,GAAM0H,CAC7B,IAAG5L,EAAKkhG,YAAa,CACpB8F,EAAK,KACL,KAAID,EAAK,EAAGA,EAAK7jB,EAAO/2F,SAAU46G,EAAI,CACrC,GAAIK,GAAMlkB,EAAO6jB,EACjB,IAAG1oF,EAAIxa,GAAKujG,EAAI,GAAG31G,EAAEoS,GAAKwa,EAAIxa,GAAKujG,EAAI,GAAGn7G,EAAE4X,EAC3C,GAAGvR,GAAK80G,EAAI,GAAG31G,EAAEjB,GAAK8B,GAAK80G,EAAI,GAAGn7G,EAAEuE,EAAG,CACtCob,EAAE/Y,EAAIijC,GAAasxE,EAAI,GAAKJ,GAAK,MAGpC,IAAIA,GAAMzkG,EAAIpW,OAAS,EAAGyf,EAAEhb,EAAI2R,EAAI,GAGrC,GAAG41D,EAAS1mE,EAAEoS,EAAIwa,EAAIxa,EAAGs0D,EAAS1mE,EAAEoS,EAAIwa,EAAIxa,CAC5C,IAAGs0D,EAAS1mE,EAAEjB,EAAI8B,EAAG6lE,EAAS1mE,EAAEjB,EAAI8B,CACpC,IAAG6lE,EAASlsE,EAAE4X,EAAIwa,EAAIxa,EAAGs0D,EAASlsE,EAAE4X,EAAIwa,EAAIxa,CAC5C,IAAGs0D,EAASlsE,EAAEuE,EAAI8B,EAAG6lE,EAASlsE,EAAEuE,EAAI8B,CACpC,IAAG0N,EAAKg4B,WAAauhB,GAAM3tC,EAAEzS,GAAK,KAAOgN,GAAYjM,EAAUq/C,EAAG/iB,WAAY,CAC7E,GAAI6wE,GAAKtnG,GAAoB6L,EAAE1S,EAAI0H,EAAW,IAAGymG,EAAI,CAAEz7F,EAAEzS,EAAI,GAAKyS,GAAE1S,EAAI,GAAI2H,MAAKA,KAAK6hB,IAAI2kF,EAAG7mG,EAAG6mG,EAAGxnG,EAAE,EAAEwnG,EAAGt7G,EAAEs7G,EAAG5mG,EAAE4mG,EAAG90G,EAAE80G,EAAG3mG,EAAE2mG,EAAG9mG,KAE/H,GAAG+yE,EAAI,CACN,GAAGA,EAAGjxE,MAAQ,SAAUuJ,EAAE5f,EAAI,IAC9BsnF,OAAU,GAEX,GAAG2zB,EAAIA,MAAU,EACjB,OAED,IAAK,IACL,IAAK,IACJ,IAAIjnG,EAAK+3B,YAAc0pC,EAAM,KAC7B71D,IAAMzS,EAAE,IAAID,MAAO,GACnB5G,GAAIiQ,EAAI,GAAG/R,IAAM,EAAI8B,EAAI,EAAIiQ,EAAI,GAAG/R,CACpC,IAAGwP,EAAKi3B,MAAO,CAAE,IAAIxlC,EAAE,SAASga,GAAIha,EAAE,SAASga,KAASha,GAAE,SAASga,GAAGnZ,GAAKsZ,MACtEna,GAAEyjC,GAAW5iC,GAAK4R,GAAM0H,CAC7B,IAAGusD,EAAS1mE,EAAEoS,EAAIwa,EAAIxa,EAAGs0D,EAAS1mE,EAAEoS,EAAIwa,EAAIxa,CAC5C,IAAGs0D,EAAS1mE,EAAEjB,EAAI8B,EAAG6lE,EAAS1mE,EAAEjB,EAAI8B,CACpC,IAAG6lE,EAASlsE,EAAE4X,EAAIwa,EAAIxa,EAAGs0D,EAASlsE,EAAE4X,EAAIwa,EAAIxa,CAC5C,IAAGs0D,EAASlsE,EAAEuE,EAAI8B,EAAG6lE,EAASlsE,EAAEuE,EAAI8B,CACpC,IAAGghF,EAAI,CACN,GAAGA,EAAGjxE,MAAQ,SAAUuJ,EAAE5f,EAAI,IAC9BsnF,OAAU,GAEX,GAAG2zB,EAAIA,MAAU,EACjB,OAED,IAAK,KACJjiD,EAAOtxD,KAAK6O,EAAM,OAEnB,IAAK,IAAQ,CACZ+wE,IAAOtzE,EAAKqhG,YAAY5tB,UAAUlxE,EAAI,GACrC,MAEF,IAAK,KACJ,GAAIooC,GAAM3D,EAAK,OAAOzkC,EAAIsjG,MAC1B,IAAGl7D,EAAK,CACPpoC,EAAIsoC,OAASF,EAAIE,MACjB,IAAGtoC,EAAI8vB,IAAK9vB,EAAIsoC,QAAU,IAAItoC,EAAI8vB,GAClC9vB,GAAI87F,IAAM1zD,MACJ,IAAGpoC,EAAIsjG,OAAS,GAAI,CAC1BtjG,EAAIsoC,OAAS,IAAMtoC,EAAI8vB,IAExB,IAAI5mB,EAAElJ,EAAIi2E,IAAI/mF,EAAEoS,EAAE4H,GAAGlJ,EAAIi2E,IAAIvsF,EAAE4X,IAAI4H,EAAG,IAAInZ,EAAEiQ,EAAIi2E,IAAI/mF,EAAEjB,EAAE8B,GAAGiQ,EAAIi2E,IAAIvsF,EAAEuE,IAAI8B,EAAG,CAC3E,GAAG0N,EAAKi3B,MAAO,CACd,IAAIxlC,EAAE,SAASga,GAAIha,EAAE,SAASga,KAC9B,KAAIha,EAAE,SAASga,GAAGnZ,GAAIb,EAAE,SAASga,GAAGnZ,IAAM6G,EAAE,IAAID,EAAE9B,UAClD3F,GAAE,SAASga,GAAGnZ,GAAGmB,EAAI8O,MACf,CACN+O,EAAO4jB,GAAW5iC,GAAK6iC,GAAW1pB,EAClC,KAAIha,EAAE6f,GAAO7f,EAAE6f,IAASnY,EAAE,IAAID,EAAE9B,UAChC3F,GAAE6f,GAAM7d,EAAI8O,GAGd,MAED,IAAK,KACJ,IAAIvC,EAAKkhG,YAAa,KACtBhe,GAAOxvF,KAAK6O,EACZgyB,GAASv0B,EAAKi3B,MAAQxlC,EAAE,SAASga,GAAGnZ,GAAKb,EAAEyjC,GAAW5iC,GAAK4R,EAC3DqwB,GAAK3jC,EAAIoxF,GAAkBz/E,EAAI,GAAI41D,GAAWt0D,EAAEwa,EAAIxa,EAAGrT,EAAE8B,GAAIqvF,EAAU3hF,EACvEu0B,GAAK1hC,EAAIijC,GAAavzB,EAAI,GAC1B,OACD,IAAK,KACJ,IAAIvC,EAAKkhG,YAAa,KACtBne,GAAQjuD,GAAYvyB,EAAI,GAAG9Q,IAAM8Q,EAAI,EACrCgyB,GAAQv0B,EAAKi3B,MAAQxlC,EAAE,SAASga,GAAGnZ,GAAKb,EAAEyjC,GAAW5iC,GAAK4R,EAC1DqwB,GAAK3jC,EAAIoxF,GAAkBz/E,EAAI,GAAI41D,GAAWt0D,EAAEwa,EAAIxa,EAAGrT,EAAE8B,GAAIqvF,EAAU3hF,EACvE,OAGD,IAAK,IACJ,IAAIA,EAAKo/C,WAAY,KACrB,OAAM78C,EAAItW,GAAKsW,EAAI9Q,EAAG,CACrBugE,EAAQzvD,EAAItW,MAASopD,MAAO9yC,EAAIvS,EAAE,IAAK0qD,UAAWn4C,EAAIyK,MAAQ,GAAOuuC,MAAOh5C,EAAIg5C,MAChF,KAAImjD,EAAS,CAAEA,EAAU,IAAM9zB,IAAcroE,EAAIvS,EAAE,KACnDyjE,GAAYzB,EAAQzvD,EAAItW,EAAE,IAE3B,MAED,IAAK,KACJ,GAAGsW,EAAK9Q,EAAE,WAAa8Q,CACvB,OAED,IAAK,KACJ9Q,EAAE,gBAAmBuyD,IAAIluB,GAAavzB,GACtC,OAED,IAAK,KACJ9Q,EAAE,YAAc8Q,CAChB,OAED,IAAK,KACJ,IAAI2pC,EAAGnV,OAAO5zB,GAAM+oC,EAAGnV,OAAO5zB,KAC9B,IAAGZ,EAAI+M,KAAM48B,EAAGnV,OAAO5zB,GAAKq6F,SAAWj7F,EAAI+M,IAC3C,IAAG/M,EAAIy7F,OAASz7F,EAAIw4F,KAAMtpG,EAAE,aAAgBusG,MAAOz7F,EAAIy7F,MAAOjD,KAAMx4F,EAAIw4F,KACxE,OAED,IAAK,KACJ,IAAI7uD,EAAG+yD,MAAO/yD,EAAG+yD,UACjB,KAAI/yD,EAAG+yD,MAAM,GAAI/yD,EAAG+yD,MAAM,KAC1B,IAAG18F,EAAI66C,IAAKlR,EAAG+yD,MAAM,GAAG7hD,IAAM,IAC9B,OAED,IAAK,KACJ,MAED,IAAK,KACL,IAAK,MACJ,MAED,IAAK,KACJ,MACD,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,OACL,IAAK,OACL,IAAK,MACL,IAAK,OACL,IAAK,MACL,IAAK,OACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,OACL,IAAK,MACL,IAAK,MACL,IAAK,OACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,OACL,IAAK,MACL,IAAK,OACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,OACL,IAAK,MACL,IAAK,OACL,IAAK,OACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,OACL,IAAK,MACL,IAAK,MACL,IAAK,OACL,IAAK,KACL,IAAK,OACL,IAAK,MACJ,MAED,IAAK,IACJqkB,EAAO,IAAM,OACd,IAAK,IACJA,EAAO,KAAO,OACf,IAAK,IACJzvD,EAAMte,KAAK0/B,EAAKquC,GAAO,IAAM,OAC9B,IAAK,IACJzvD,EAAMkB,KAAOuuD,GAAO,KAAO,OAE5B,QACC,GAAG0lC,EAAG7mG,EAAE,MACH,KAAImhE,GAAQzhE,EAAK6tB,IAAK,KAAM,IAAI7gC,OAAM,uBAAyBomC,EAAGjjC,SAAS,QAEhF6P,SAEIA,GAAK2hF,eACL3hF,GAAK,OAEZ,KAAIvO,EAAE,UAAY0mE,EAAS1mE,EAAEoS,EAAI,KAAWmgD,IAAQA,EAAI/3D,EAAE4X,EAAI,GAAKmgD,EAAI/3D,EAAEuE,EAAI,GAAKwzD,EAAIvyD,EAAEoS,EAAI,GAAKmgD,EAAIvyD,EAAEjB,EAAI,IAAKiB,EAAE,QAAUqkC,GAAakuB,GAAOmU,EAChJ,IAAGn4D,EAAKmrD,WAAa15D,EAAE,QAAS,CAC/B,GAAI4rG,GAAShnE,GAAkB5kC,EAAE,QACjC,IAAGuO,EAAKmrD,YAAckyC,EAAOpxG,EAAE4X,EAAG,CACjCw5F,EAAOpxG,EAAE4X,EAAI7D,EAAKmrD,UAAY,CAC9B,IAAGkyC,EAAOpxG,EAAE4X,EAAIs0D,EAASlsE,EAAE4X,EAAGw5F,EAAOpxG,EAAE4X,EAAIs0D,EAASlsE,EAAE4X,CACtD,IAAGw5F,EAAOpxG,EAAE4X,EAAIw5F,EAAO5rG,EAAEoS,EAAGw5F,EAAO5rG,EAAEoS,EAAIw5F,EAAOpxG,EAAE4X,CAClD,IAAGw5F,EAAOpxG,EAAEuE,EAAI2nE,EAASlsE,EAAEuE,EAAG6sG,EAAOpxG,EAAEuE,EAAI2nE,EAASlsE,EAAEuE,CACtD,IAAG6sG,EAAOpxG,EAAEuE,EAAI6sG,EAAO5rG,EAAEjB,EAAG6sG,EAAO5rG,EAAEjB,EAAI6sG,EAAOpxG,EAAEuE,CAClDiB,GAAE,YAAcA,EAAE,OAClBA,GAAE,QAAUqkC,GAAaunE,IAG3B,GAAGr4C,EAAO74D,OAAS,EAAGsF,EAAE,WAAauzD,CACrC,IAAGgN,EAAQ7lE,OAAS,EAAGsF,EAAE,SAAWugE,CACpC,IAAGD,EAAQ5lE,OAAS,EAAGsF,EAAE,SAAWsgE,CACpC,IAAG/qB,EAAK,OAAOv1C,EAAE,YAAaA,EAAE,cAAgBu1C,EAAK,OAAOv1C,EAAE,WAC9D,OAAOA,GAIR,QAAS61G,IAAkBjzE,EAAIE,EAAM9oB,EAAGnZ,EAAG0N,EAAMo3B,EAAImwE,EAAW3mG,GAC/D,GAAI/K,IAAMgO,EAAE4H,EAAGjb,EAAE8B,EACjB,IAAGiiC,EAAK/jC,EAAG4mC,EAAG,aAAa1jC,MAAMohC,GAAYj/B,GAAI0+B,EAAK/jC,GACtD,IAAG+jC,EAAKr7B,IAAM9B,UAAW,MAAO,MAChC,IAAI0P,GAAK,EACT,QAAOytB,EAAKp7B,GACX,IAAK,IAAK2N,EAAKytB,EAAKr7B,EAAI,IAAM,GAAK,OACnC,IAAK,IACJq7B,EAAOhP,GAAIgP,EACXA,GAAKrJ,EAAIqJ,EAAKrJ,GAAKhxB,EAAU,GAC7Bq6B,GAAKr7B,EAAIiJ,GAAQohB,GAAUgR,EAAKr7B,EAAG0H,GAAWA,EAAW2zB,GAAKp7B,EAAI,GAClE,OAED,IAAK,KAAK,IAAK,IAAK2N,EAAK,GAAGytB,EAAKr7B,CAAG,OACpC,QAAS4N,EAAKytB,EAAKr7B,CAAG,QAGvBrD,EAAEpE,EAAI0pG,GAAen7F,EAAKquE,QAAS95C,EAAMv0B,EACzC,IAAGu0B,EAAK9gC,EAAG2jC,EAAG,UAAU1jC,MAAMohC,GAAYj/B,GAAI0+B,EAAK9gC,GACnD,QAAO8gC,EAAKp7B,GACX,IAAK,KAAK,IAAK,MACd,GAAG6G,EAAKujE,QAAS,CAChBz8D,EAAKuzF,GAAWr6F,EAAK4/F,QAAUrrE,EAAKr7B,GAAK,KAAO,GAAK9K,OAAOmmC,EAAKr7B,GAAK8G,EAAK6/F,WAC3EhqG,GAAEsD,EAAI,GAAKtD,GAAEqD,EAAI4N,CACjB,IAAGygG,EAAWnzE,GAAaC,EAAI,GAA2BkwE,GAAmBhwE,EAAM1+B,QAC9Eu+B,IAAaC,EAAI,EAA0BgwE,GAAkB9vE,EAAM1+B,QAClE,CACNA,EAAEsD,EAAI,KACN,IAAGouG,EAAWnzE,GAAaC,EAAI,GAAyB+wE,GAAiB7wE,EAAM1+B,QAC1Eu+B,IAAaC,EAAI,EAAwB6wE,GAAgB3wE,EAAM1+B,IAErE,MAAO,MACR,IAAK,IAEJ,GAAG0+B,EAAKr7B,IAAMq7B,EAAKr7B,EAAI,IAAMq7B,EAAKr7B,GAAK,KAAQq7B,EAAKr7B,EAAI,IAAM,CAC7D,GAAGquG,EAAWnzE,GAAaC,EAAI,GAAyB0wE,GAAiBxwE,EAAM1+B,QAC1Eu+B,IAAaC,EAAI,EAAwBwwE,GAAgBtwE,EAAM1+B,QAC9D,KAAI8L,SAAS4yB,EAAKr7B,GAAI,CAC5BrD,EAAEsD,EAAI,GACN,IAAGpC,MAAMw9B,EAAKr7B,GAAI,CACjB,GAAGquG,EAAWnzE,GAAaC,EAAI,GAA4B8vE,IAAqBhrG,EAAE,IAAKD,EAAG,IAAOrD,QAC5Fu+B,IAAaC,EAAI,EAA2B4vE,IAAoB9qG,EAAE,IAAKD,EAAG,IAAOrD,QAChF,CACN,GAAG0xG,EAAWnzE,GAAaC,EAAI,GAA4B8vE,IAAqBhrG,EAAE,IAAKD,EAAG,GAAOrD,QAC5Fu+B,IAAaC,EAAI,EAA2B4vE,IAAoB9qG,EAAE,IAAKD,EAAG,GAAOrD,SAEjF,CACN,GAAG0xG,EAAWnzE,GAAaC,EAAI,GAA2BswE,GAAmBpwE,EAAM1+B,QAC9Eu+B,IAAaC,EAAI,EAA0BowE,GAAkBlwE,EAAM1+B,IACvE,MAAO,MACV,IAAK,IACJA,EAAEsD,EAAI,GACN,IAAGouG,EAAWnzE,GAAaC,EAAI,GAA2ByvE,GAAmBvvE,EAAM1+B,QAC9Eu+B,IAAaC,EAAI,EAA0BuvE,GAAkBrvE,EAAM1+B,GACxE,OAAO,MACR,IAAK,IACJA,EAAEsD,EAAI,GACN,IAAGouG,EAAWnzE,GAAaC,EAAI,GAA4B8vE,GAAoB5vE,EAAM1+B,QAChFu+B,IAAaC,EAAI,EAA2B4vE,GAAmB1vE,EAAM1+B,GAC1E,OAAO,OAET,GAAG0xG,EAAWnzE,GAAaC,EAAI,GAA4BovE,GAAoBlvE,EAAM1+B,QAChFu+B,IAAaC,EAAI,EAA2BivE,GAAmB/uE,EAAM1+B,GAC1E,OAAO,MAGR,QAAS2xG,IAAgBnzE,EAAI+C,EAAIj0B,EAAKnD,EAAMksC,GAC3C,GAAItX,GAAQyB,GAAkBe,EAAG,SAAW,MAAOlzB,EAAK,GAAI6nD,IAC5D,IAAInrD,MAAcsrC,OAAQimB,cAAcC,aAAaxxD,QACrDwzB,IAAaC,EAAI,IACjB,IAAI4C,GAAQG,EAAG,UAAY,KAAM/Y,EAAM4Y,EAAQG,EAAG,SAASxC,EAAMnjC,EAAEoS,KACnE,IAAI4jG,GAAM7yE,EAAM3oC,EAAE4X,CAClB,IAAGuzB,EAAG,SAAUqwE,EAAMjuG,KAAKgM,IAAIovB,EAAM3oC,EAAE4X,EAAGuzB,EAAG,SAASjrC,OAAS,EAC/D,KAAI,GAAIsf,GAAImpB,EAAMnjC,EAAEoS,EAAG4H,GAAKg8F,IAAOh8F,EAAG,CACrCvH,EAAKixB,GAAW1pB,EAChB,IAAGwrB,EAAO5Y,EAAM+Y,EAAG,SAAS3rB,EAG5Bs3F,IAAiB1uE,EAAI+C,EAAIxC,EAAOnpB,EAChC,IAAGwrB,IAAU5Y,EAAK,QAClB,IAAIkpF,GAAY,KAChB,IAAG97F,GAAKmpB,EAAM3oC,EAAE4X,EAAG,IAAI,GAAIvR,GAAIsiC,EAAMnjC,EAAEjB,EAAG8B,GAAKsiC,EAAM3oC,EAAEuE,IAAK8B,EAAG,CAE9D,GAAGmZ,IAAMmpB,EAAMnjC,EAAEoS,EAAGkoD,EAAKz5D,GAAK4iC,GAAW5iC,EACzC,IAAIiiC,GAAO0C,EAAQ5Y,EAAI/rB,GAAK8kC,EAAG20B,EAAKz5D,GAAK4R,EACzC,KAAIqwB,EAAM,CAAEgzE,EAAY,KAAO,UAE/BA,EAAYD,GAAkBjzE,EAAIE,EAAM9oB,EAAGnZ,EAAG0N,EAAMo3B,EAAImwE,EAAW3mG,IAGrEwzB,GAAaC,EAAI,KAGlB,QAASqzE,IAAiBrzE,EAAI+C,GAC7B,IAAIA,IAAOA,EAAG,WAAY,MAC1BhD,IAAaC,EAAI,IAAiCsxE,GAAyBvuE,EAAG,WAAWjrC,QACzFirC,GAAG,WAAWvlC,QAAQ,SAASgO,GAAKu0B,GAAaC,EAAI,IAA2BqxE,GAAmB7lG,KACnGu0B,IAAaC,EAAI,KAGlB,QAASszE,IAAetzE,EAAI+C,GAC3B,IAAIA,IAAOA,EAAG,SAAU,MACxBhD,IAAaC,EAAI,IACjB+C,GAAG,SAASvlC,QAAQ,SAASgO,EAAG3T,GAAK,GAAG2T,EAAGu0B,GAAaC,EAAI,GAA2B+xE,GAAiBl6G,EAAG2T,KAC3Gu0B,IAAaC,EAAI,KAGlB,QAASuzE,IAAgBvzE,EAAI+C,GAC5B,IAAIA,IAAOA,EAAG,QAAS,MACvBhD,IAAaC,EAAI,IACjBD,IAAaC,EAAI,IAA8BqyE,GAAsBrwE,GAAkBe,EAAG,UAC1FhD,IAAaC,EAAI,KAGlB,QAASwzE,IAAaxzE,EAAI+C,EAAI4P,GAE7B5P,EAAG,UAAUvlC,QAAQ,SAAS4B,GAC7B,IAAIA,EAAE,GAAGo3C,OAAQ,MACjB,IAAIO,GAAMD,GAASnE,GAAO,EAAGvzC,EAAE,GAAGo3C,OAAO1zC,QAAQ,YAAa,IAAKy3B,GAAKoa,MACxE5U,IAAaC,EAAI,IAAuByxE,GAAeryG,EAAG23C,YAEpDhU,GAAG,UAEX,QAAS0wE,IAAoBzzE,EAAI+C,EAAIj0B,EAAK6jC,GAEzC,GAAG5P,EAAG,aAAajrC,OAAS,EAAG,CAC9B,GAAIi/C,GAAMD,GAASnE,GAAO,EAAG,0BAA4B7jC,EAAI,GAAK,OAAQyrB,GAAKqa,IAC/E7U,IAAaC,EAAI,IAA+B0F,GAAY,MAAQqR,GACpEhU,GAAG,WAAagU,GAIlB,QAAS28D,IAAiB1zE,EAAI+C,EAAI8U,EAAI/oC,GACrC,IAAIi0B,EAAG,eAAgB,MACvB,IAAIvnC,GAAOunC,EAAG,cACd,IAAI4sB,SAAan0D,GAAKm0D,MAAQ,SAAWn0D,EAAKm0D,IAAMluB,GAAajmC,EAAKm0D,IAGtE,KAAI9X,EAAGimB,SAAUjmB,EAAGimB,UAAap7B,UACjC,KAAImV,EAAGimB,SAASE,MAAOnmB,EAAGimB,SAASE,QACnC,IAAImwB,GAAQt2C,EAAGimB,SAASE,KACxB,IAAIz9B,GAAQiB,GAAamuB,EACzB,IAAGpvB,EAAMnjC,EAAEoS,GAAK+wB,EAAM3oC,EAAE4X,EAAG,CAAE+wB,EAAM3oC,EAAE4X,EAAIgyB,GAAauB,EAAG,SAASnrC,EAAE4X,CAAGmgD,GAAMluB,GAAalB,GAC1F,IAAI,GAAI1oC,GAAI,EAAGA,EAAIs2F,EAAMr2F,SAAUD,EAAG,CACrC,GAAIojB,GAAOkzE,EAAMt2F,EACjB,IAAGojB,EAAK2zC,MAAQ,wBAAyB,QACzC,IAAG3zC,EAAKojD,OAASvvD,EAAK,QACtBmM,GAAKqjD,IAAMx8B,GAAyB+V,EAAGpV,WAAW3zB,IAAQ,IAAM8yB,GAAU+tB,EAAM,OAEjF,GAAG93D,GAAKs2F,EAAMr2F,OAAQq2F,EAAM9uF,MAAOuvD,KAAM,wBAAyByP,MAAOvvD,EAAKwvD,IAAKx8B,GAAyB+V,EAAGpV,WAAW3zB,IAAQ,IAAM8yB,GAAU+tB,IAElJ5vB,IAAaC,EAAI,IAA8BoG,GAAmBpE,GAAkB2tB,IAIpF5vB,IAAaC,EAAI,KAGlB,QAAS2zE,IAAe3zE,EAAI+C,EAAI+6B,GAC/B/9B,GAAaC,EAAI,IACjB,EAECD,GAAaC,EAAI,IAA6BoyE,GAAqBrvE,EAAI+6B,GAKvE/9B,IAAaC,EAAI,KAGlBD,GAAaC,EAAI,KAGlB,QAAS4zE,OAKT,QAASC,IAAmB7zE,EAAI+C,GAC/B,IAAIA,EAAG,YAAa,MAEpBhD,IAAaC,EAAI,IAAiCsyE,GAAyBvvE,EAAG,cAG/E,QAAS+wE,IAAahlG,EAAKnD,EAAMksC,EAAIlF,GACpC,GAAI3S,GAAKf,IACT,IAAI7hC,GAAIy6C,EAAGpV,WAAW3zB,GAAMi0B,EAAK8U,EAAGnV,OAAOtlC,MAC3C,IAAIjB,GAAIiB,CAAG,KAAM,GAAGy6C,GAAMA,EAAGimB,SAAU3hE,EAAI07C,EAAGimB,SAASp7B,OAAO5zB,GAAKq6F,UAAYhtG,EAAK,MAAMvE,IAC1F,GAAI4X,GAAIwyB,GAAkBe,EAAG,SAAW,KACxC,IAAGvzB,EAAE5X,EAAEuE,EAAI,OAAUqT,EAAE5X,EAAE4X,EAAI,QAAS,CACrC,GAAG7D,EAAK6tB,IAAK,KAAM,IAAI7gC,OAAM,UAAYoqC,EAAG,SAAW,MAAQ,sCAC/DvzB,GAAE5X,EAAEuE,EAAIgJ,KAAK+L,IAAI1B,EAAE5X,EAAEuE,EAAG,MACxBqT,GAAE5X,EAAE4X,EAAIrK,KAAK+L,IAAI1B,EAAE5X,EAAEuE,EAAG,SAEzB4mC,EAAG,YAEHA,GAAG,eACHhD,IAAaC,EAAI,IACjB,IAAG6X,EAAGyxD,QAAUvmE,EAAG,YAAahD,GAAaC,EAAI,IAAwB+uE,GAAgB5yG,EAAG4mC,EAAG,aAC/FhD,IAAaC,EAAI,IAAuB4uE,GAAep/F,GACvDmkG,IAAe3zE,EAAI+C,EAAI8U,EAAGimB,SAC1B81C,IAAgB5zE,EAAI+C,EACpBuwE,IAAetzE,EAAI+C,EAAIj0B,EAAKnD,EAAMksC,EAClCs7D,IAAgBnzE,EAAI+C,EAAIj0B,EAAKnD,EAAMksC,EAEnCg8D,IAAmB7zE,EAAI+C,EAGvB2wE,IAAiB1zE,EAAI+C,EAAI8U,EAAI/oC,EAI7BukG,IAAiBrzE,EAAI+C,EAIrBywE,IAAaxzE,EAAI+C,EAAI4P,EAErB,IAAG5P,EAAG,YAAahD,GAAaC,EAAI,IAAyBkyE,GAAiBnvE,EAAG,aAOjF,KAAIp3B,GAAQA,EAAKqiG,UAAariG,EAAKqiG,cAAkB,GAAKuF,GAAgBvzE,EAAI+C,EAG9E0wE,IAAoBzzE,EAAI+C,EAAIj0B,EAAK6jC,EAQjC5S,IAAaC,EAAI,IACjB,OAAOA,GAAG3W,MAEX,QAAS0qF,IAAYv4G,GACpB,GAAI6lC,KACJ,IAAImyB,GAAMh4D,EAAKkD,MAAM,gBACrB,IAAInC,IAGHf,EAAKkD,MAAM,+DAA+DlB,QAAQ,SAASq5E,GAC3F,GAAIxrE,GAAIwrE,EAAGn4E,MAAM,wDACjB,KAAI2M,EAAG,MACPg2B,IAAKh2B,EAAE,IAAMmoD,GAAOnoD,EAAE,GAAKA,EAAE,IAI9B,IAAI2oG,GAAKv8E,IAAaxD,GAAcz4B,EAAM,kBAAoB,GAAG,YAAY,KAE5E+3B,GAAa/3B,EAAM,QAAS,eAAegC,QAAQ,SAASgB,GAAKjC,EAAIiC,EAAEsE,QAAQ,YAAY,KAE5F,QAAQu+B,EAAK2yE,EAAIz3G,GAIlB,QAAS03G,IAAYz4G,EAAMyf,EAAMtP,EAAMgnC,EAAMkF,EAAIq8D,GAChD,GAAIxyE,GAAOwyE,IAAWhvB,QAAQ,QAC9B,KAAI1pF,EAAM,MAAO04G,EAGjB,IAAIj2G,GAAI,EAAGmZ,EAAI,EAAGiqB,EAAM,GACxB,IAAIyiC,IAAY1mE,GAAIoS,EAAE,IAASrT,EAAE,KAAUvE,GAAI4X,EAAE,EAAGrT,EAAE,KAGrDo3B,GAAa/3B,EAAM,eAAgB,sBAAsBgC,QAAQ,SAAS22G,GAC1E,GAAIx2G,GAAQo2G,GAAYI,EACxBrwC,GAAS1mE,EAAEoS,EAAIs0D,EAAS1mE,EAAEjB,EAAI,CAC9B2nE,GAASlsE,EAAEuE,EAAI8B,CACfojC,GAAMR,GAAW5iC,EACjBN,GAAM,GAAGH,QAAQ,SAAS9C,EAAE7C,GAC3B,GAAG6pC,EAAG,SAAU,CACf,IAAIA,EAAG,SAAS7pC,GAAI6pC,EAAG,SAAS7pC,KAChC6pC,GAAG,SAAS7pC,GAAGoG,IAAM6G,EAAE,IAAKD,EAAEnK,EAAGm8B,EAAEl5B,EAAM,QACnC+jC,GAAGL,EAAMP,GAAWjpC,KAAOiN,EAAE,IAAKD,EAAEnK,EAAGm8B,EAAEl5B,EAAM,GACtDyZ,GAAIvf,GAEL,IAAGisE,EAASlsE,EAAE4X,EAAI4H,EAAG0sD,EAASlsE,EAAE4X,EAAI4H,IAClCnZ,GAEH,IAAGA,EAAI,EAAGyjC,EAAG,QAAUD,GAAaqiC,EACpC,OAAOpiC,GAGR,QAAS0yE,IAAa54G,EAAMmQ,EAAMmD,EAAK6jC,EAAMkF,GAC5C,IAAIr8C,EAAM,MAAOA,EAEjB,KAAIm3C,EAAMA,GAAQ0D,SAClB,IAAIj5C,IAAM8nF,QAAQ,QAASmvB,UAAU,KAAMC,OAAO,GAClD,IAAI9oG,EAGJ,IAAI08F,GAAU1sG,EAAKkD,MAAMmpG,GACzB,IAAGK,EAASC,GAAqBD,EAAQ,GAAI9qG,EAAGy6C,EAAI/oC,EAGpD,IAAItD,EAAIhQ,EAAKkD,MAAM,wBAA0BtB,EAAE,QAAUoO,EAAE,EAE3D,IAAGmnC,EAAK,OAAOv1C,EAAE,SAAUA,EAAE,WAAau1C,EAAK,OAAOv1C,EAAE,QACxD,OAAOA,GAcR,QAASm3G,IAAgB/4G,EAAM1D,GAC9B0D,EAAK4D,GAAK,EACV,IAAI6b,GAAO+oB,GAAmBxoC,EAAM1D,EAAS,GAC7C,QAASmjB,KAAMA,GAIhB,QAASu5F,IAAah5G,EAAMmQ,EAAMmD,EAAK6jC,EAAMkF,GAC5C,IAAIr8C,EAAM,MAAOA,EACjB,KAAIm3C,EAAMA,GAAQ0D,SAClB,IAAIj5C,IAAK8nF,QAAQ,QAASmvB,UAAU,KAAMC,OAAO,GACjD,IAAI32F,KACJ,IAAIyvD,GAAO,KACXzuC,IAAanjC,EAAM,QAASi5G,GAASvmG,EAAKkJ,EAAG2nB,GAC5C,OAAOA,GAEN,IAAK,KACJ3hC,EAAE,QAAU8Q,CAAK,OAElB,IAAK,KACJ,IAAI2pC,EAAGnV,OAAO5zB,GAAM+oC,EAAGnV,OAAO5zB,KAC9B,IAAGZ,EAAI+M,KAAM48B,EAAGnV,OAAO5zB,GAAKq6F,SAAWj7F,EAAI+M,IAC3C,OAED,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACJ,MAED,IAAK,IACJmyD,EAAO,IAAM,OACd,IAAK,IACJA,EAAO,KAAO,OACf,IAAK,IACJzvD,EAAMte,KAAK0/B,EAAK,OACjB,IAAK,IACJphB,EAAMkB,KAAO,OAEd,QACC,GAAGzH,EAAEnL,EAAI,EAAG0R,EAAMte,KAAK0/B,OAClB,IAAG3nB,EAAEnL,EAAI,EAAG0R,EAAMkB,UAClB,KAAIuuD,GAAQzhE,EAAK6tB,IAAK,KAAM,IAAI7gC,OAAM,uBAAyBomC,EAAGjjC,SAAS,QAEhF6P,EAEH,IAAGgnC,EAAK,OAAOv1C,EAAE,SAAUA,EAAE,WAAau1C,EAAK,OAAOv1C,EAAE,QACxD,OAAOA,GAsBR,GAAIs3G,MACF,oBAA+B,MAAO,SACtC,uBAA+B,KAAO,SACtC,aAA+B,MAAO,SACtC,qBAA+B,MAAO,SACtC,WAA+B,KAC/B,WAA+B,MAAO,SACtC,sBAA+B,EAAQ,QACvC,gBAA+B,MAAO,SACtC,qBAA+B,MAAO,SACtC,oBAA+B,MAAO,SACtC,eAA+B,MAAO,SACtC,wBAA+B,MAAO,SACtC,yBAA+B,KAAO,SACtC,6BAA+B,KAAO,SACtC,oBAA+B,KAAO,SACtC,cAA+B,QAC/B,uBAA+B,MAAO,SACtC,cAAe,WAIjB,IAAIC,MACF,YAA+B,EAAQ,QACvC,yBAA+B,KAAO,SACtC,aAA+B,EAAQ,QACvC,YAA+B,MAAO,SACtC,uBAA+B,KAAO,SACtC,gBAA+B,KAAO,SACtC,qBAA+B,KAAO,SACtC,WAA+B,IAAQ,QACvC,aAA+B,WAKjC,IAAIC,MAKJ,IAAIC,MACF,gBAAiB,SACjB,WAAY,SACZ,aAAc,SACd,iBAAkB,SAClB,iBAAkB,UAClB,gBAAiB,SACjB,UAAW,UACX,eAAgB,QAChB,eAAgB,UAChB,UAAW,MAyBb,SAASC,IAAoB7+E,EAAQ+d,GACpC,IAAI,GAAI77C,GAAI,EAAGA,GAAK89B,EAAOn+B,SAAUK,EAAG,CAAE,GAAIwD,GAAIs6B,EAAO99B,EACxD,KAAI,GAAIN,GAAE,EAAGA,GAAKm8C,EAASl8C,SAAUD,EAAG,CAAE,GAAIg/B,GAAImd,EAASn8C,EAC1D,IAAG8D,EAAEk7B,EAAE,KAAO,KAAMl7B,EAAEk7B,EAAE,IAAMA,EAAE,OAC3B,QAAOA,EAAE,IACd,IAAK,OAAQ,SAAUl7B,GAAEk7B,EAAE,KAAO,SAAUl7B,EAAEk7B,EAAE,IAAM4B,GAAa98B,EAAEk7B,EAAE,IAAM,OAC7E,IAAK,MAAO,SAAUl7B,GAAEk7B,EAAE,KAAO,SAAUl7B,EAAEk7B,EAAE,IAAMjnB,SAASjU,EAAEk7B,EAAE,IAAK,GAAK,WAK/E,QAASk+E,IAAc9+E,EAAQ+d,GAC9B,IAAI,GAAIn8C,GAAI,EAAGA,GAAKm8C,EAASl8C,SAAUD,EAAG,CAAE,GAAIg/B,GAAImd,EAASn8C,EAC5D,IAAGo+B,EAAOY,EAAE,KAAO,KAAMZ,EAAOY,EAAE,IAAMA,EAAE,OACrC,QAAOA,EAAE,IACb,IAAK,OAAQ,SAAUZ,GAAOY,EAAE,KAAO,SAAUZ,EAAOY,EAAE,IAAM4B,GAAaxC,EAAOY,EAAE,IAAM,OAC5F,IAAK,MAAO,SAAUZ,GAAOY,EAAE,KAAO,SAAUZ,EAAOY,EAAE,IAAMjnB,SAASqmB,EAAOY,EAAE,IAAK,GAAK,UAK9F,QAASm+E,IAAkBn9D,GAC1Bk9D,GAAcl9D,EAAGkmB,QAAS22C,GAC1BK,IAAcl9D,EAAGo9D,OAAQJ,GAEzBC,IAAoBj9D,EAAGq9D,OAAQP,GAC/BG,IAAoBj9D,EAAGnV,OAAQkyE,GAE/B/O,IAASt5F,SAAWksB,GAAaof,EAAGkmB,QAAQxxD,UAG7C,QAAS4oG,IAASt9D,GAEjB,IAAIA,EAAGimB,SAAU,MAAO,OACxB,KAAIjmB,EAAGimB,SAASC,QAAS,MAAO,OAChC,OAAOtlC,IAAaof,EAAGimB,SAASC,QAAQxxD,UAAY,OAAS,QAG9D,GAAI6oG,IAAW,WAAYh9G,MAAM,GACjC,SAASi9G,IAAc36G,EAAG86B,GACzB,IACC,GAAG96B,GAAK,GAAI,KAAM,IAAI/B,OAAM,6BAC5B,IAAG+B,EAAE5C,OAAS,GAAI,KAAM,IAAIa,OAAM,oCAClC,IAAG+B,EAAE3C,WAAW,IAAM,IAAQ2C,EAAE3C,WAAW2C,EAAE5C,OAAS,IAAM,GAAM,KAAM,IAAIa,OAAM,qDAClF,IAAG+B,EAAE0X,eAAiB,UAAW,KAAM,IAAIzZ,OAAM,iCACjDy8G,IAAS53G,QAAQ,SAASrB,GACzB,GAAGzB,EAAE0D,QAAQjC,KAAO,EAAG,MACvB,MAAM,IAAIxD,OAAM,8CAEhB,MAAMf,GAAK,GAAG49B,EAAM,MAAO,MAAO,MAAM59B,GAC1C,MAAO,MAER,QAAS09G,IAAeC,EAAGlpG,EAAGmpG,GAC7BD,EAAE/3G,QAAQ,SAAS9C,EAAE7C,GACpBw9G,GAAc36G,EACd,KAAI,GAAIvC,GAAI,EAAGA,EAAIN,IAAKM,EAAG,GAAGuC,GAAK66G,EAAEp9G,GAAI,KAAM,IAAIQ,OAAM,yBAA2B+B,EACpF,IAAG86G,EAAO,CACT,GAAIC,GAAMppG,GAAKA,EAAExU,IAAMwU,EAAExU,GAAGsxG,UAAazuG,CACzC,IAAG+6G,EAAG19G,WAAW,IAAM,IAAM09G,EAAG39G,OAAS,GAAI,KAAM,IAAIa,OAAM,2BAA6B88G,MAI7F,QAASC,IAAS79D,GACjB,IAAIA,IAAOA,EAAGpV,aAAeoV,EAAGnV,OAAQ,KAAM,IAAI/pC,OAAM,mBACxD,KAAIk/C,EAAGpV,WAAW3qC,OAAQ,KAAM,IAAIa,OAAM,oBAC1C,IAAI+pC,GAAUmV,EAAGimB,UAAYjmB,EAAGimB,SAASp7B,UACzC4yE,IAAez9D,EAAGpV,WAAYC,IAAUmV,EAAGyxD,OAC3C,KAAI,GAAIzxG,GAAI,EAAGA,EAAIggD,EAAGpV,WAAW3qC,SAAUD,EAAGwvG,GAASxvD,EAAGnV,OAAOmV,EAAGpV,WAAW5qC,IAAKggD,EAAGpV,WAAW5qC,GAAIA,EACtGggD,GAAGpV,WAAWjlC,QAAQ,SAAS9C,EAAG7C,GACjC,GAAIkrC,GAAK8U,EAAGnV,OAAOhoC,EACnB,KAAIqoC,IAAOA,EAAG,eAAgB,MAC9B,IAAI84B,EACJ,KAAIhkB,EAAGimB,SAAUjmB,EAAGimB,WACpB,KAAIjmB,EAAGimB,SAASE,MAAOnmB,EAAGimB,SAASE,QACnCnmB,GAAGimB,SAASE,MAAMxgE,QAAQ,SAASm4G,GAAM,GAAGA,EAAG/mD,MAAQ,yBAA2B+mD,EAAGt3C,OAASxmE,EAAGgkE,EAAK85C,GACtG,IAAIv3C,GAAKt8B,GAAyBpnC,GAAK,IAAMknC,GAAUmB,EAAG,eAAe4sB,IACzE,IAAGkM,EAAIA,EAAGyC,IAAMF,MACXvmB,GAAGimB,SAASE,MAAM3+D,MAAMuvD,KAAM,wBAAyByP,MAAOxmE,EAAGymE,IAAKF,MAK7E,GAAIw3C,IAAY,eAChB,SAASC,IAAar6G,EAAMmQ,GAC3B,IAAInQ,EAAM,KAAM,IAAI7C,OAAM,sBAC1B,IAAIk/C,IAAOoD,cAAe8iB,WAAYm3C,UAAWxyE,UAAWuyE,UAAWj3C,SAAUzqB,MAAO,GACxF,IAAI65B,GAAO,MAAO75B,EAAQ,OAC1B,IAAIuiE,MAAYC,EAAU,CAC1Bv6G,GAAKsH,QAAQyzB,GAAU,QAASy/E,GAAOl8G,EAAGgV,GACzC,GAAI3C,GAAIuqB,GAAY58B,EACpB,QAAOm9B,GAAS9qB,EAAE,KACjB,IAAK,QAAS,MAGd,IAAK,YACJ,GAAGrS,EAAE4E,MAAMk3G,IAAYriE,EAAQ,QAAUz5C,EAAE4E,MAAM,WAAW,EAC5Dm5C,GAAGtE,MAAQpnC,EAAEonC,EACb,OACD,IAAK,cAAe,MAGpB,IAAK,qBAAuBpnC,GAAE,EAAI0rC,GAAGoD,WAAa9uC,CAAG,OACrD,IAAK,kBAAkB,IAAK,iBAAkB,MAG9C,IAAK,eACJ,MACD,IAAK,iBAAkB,MAGvB,IAAK,eACL,IAAK,gBACJuoG,GAAWl3G,QAAQ,SAAS7B,GAC3B,GAAGwQ,EAAExQ,EAAE,KAAO,KAAM,MACpB,QAAOA,EAAE,IACR,IAAK,OAAQk8C,EAAGkmB,QAAQpiE,EAAE,IAAM88B,GAAatsB,EAAExQ,EAAE,IAAM,OACvD,IAAK,MAAOk8C,EAAGkmB,QAAQpiE,EAAE,IAAMiU,SAASzD,EAAExQ,EAAE,IAAK,GAAK,OACtD,QAASk8C,EAAGkmB,QAAQpiE,EAAE,IAAMwQ,EAAExQ,EAAE,OAGlC,IAAGwQ,EAAE+8F,SAAUrxD,EAAGkmB,QAAQorC,SAAWnwE,GAAS7sB,EAAE+8F,SAChD,OACD,IAAK,gBAAiB,MAGtB,IAAK,sBACJ,MACD,IAAK,wBAAyB,MAG9B,IAAK,cAAc,IAAK,eAAe,IAAK,eAAgB,MAE5D,IAAK,iBAAiB,IAAK,wBAA0B/8F,GAAE,EAAI0rC,GAAGq9D,OAAO71G,KAAK8M,EAAI,OAC9E,IAAK,kBAAmB,MAGxB,IAAK,WAAW,IAAK,YAAY,IAAK,YAAa,MAEnD,IAAK,SACJ,OAAOA,EAAEwR,OACR,IAAK,SAAUxR,EAAE8pG,OAAS,CAAG,OAC7B,IAAK,aAAc9pG,EAAE8pG,OAAS,CAAG,OACjC,QAAS9pG,EAAE8pG,OAAS,SAEd9pG,GAAEwR,KACTxR,GAAE8O,KAAOwc,GAAYuB,GAAS7sB,EAAE8O,aACzB9O,GAAE,EAAI0rC,GAAGnV,OAAOrjC,KAAK8M,EAAI,OACjC,IAAK,WAAY,MAGjB,IAAK,mBAAmB,IAAK,oBAAqB,MAElD,IAAK,iBAAkB,MAGvB,IAAK,uBAAuB,IAAK,yBAAyB,IAAK,uBAAwB,MAEvF,IAAK,qBAAsB,MAG3B,IAAK,kBAAmB,MACxB,IAAK,kBAAkB,IAAK,gBAAiBihE,EAAK,IAAM,OACxD,IAAK,kBAAmBA,EAAK,KAAO,OAEpC,IAAK,eAAgB,CACpB0oC,IACAA,GAAMlnD,KAAO51B,GAAS7sB,EAAE8O,KACxB,IAAG9O,EAAEsjD,QAASqmD,EAAMI,QAAU/pG,EAAEsjD,OAChC,IAAGtjD,EAAEgqG,aAAcL,EAAMz3C,OAASlyD,EAAEgqG,YACpC,IAAG19E,GAAatsB,EAAEk6C,QAAQ,KAAMyvD,EAAMG,OAAS,IAC/CF,GAAUjnG,EAAMhV,EAAEhC,OACjB,MACF,IAAK,iBAAkB,CACtBg+G,EAAMx3C,IAAM7mC,GAAYuB,GAASx9B,EAAKK,MAAMk6G,EAASjnG,IACrD+oC,GAAGmmB,MAAM3+D,KAAKy2G,GACb,MACF,IAAK,iBAAkB,MAGvB,IAAK,gBAAkB3pG,GAAE,EAAI0rC,GAAGo9D,OAAS9oG,CAAG,OAC5C,IAAK,kBAAoBA,GAAE,EAAI0rC,GAAGo9D,OAAS9oG,CAAG,OAC9C,IAAK,YAAa,MAGlB,IAAK,WAAY,MAGjB,IAAK,yBAAyB,IAAK,0BAA0B,IAAK,uBAAwB,MAE1F,IAAK,uBAAuB,IAAK,wBAAyB,MAG1D,IAAK,iBAAiB,IAAK,kBAAkB,IAAK,eAAgB,MAElE,IAAK,cAAe,MAGpB,IAAK,eAAe,IAAK,gBAAiB,MAG1C,IAAK,kBAAkB,IAAK,mBAAmB,IAAK,mBAAoB,MAExE,IAAK,gBAAiB,MAGtB,IAAK,kBAAkB,IAAK,mBAAoB,MAGhD,IAAK,mBAAmB,IAAK,oBAAqB,MAGlD,IAAK,uBAAuB,IAAK,sBAAsB,IAAK,uBAAwB,MAEpF,IAAK,oBAAqB,MAG1B,IAAK,WAAW,IAAK,YAAY,IAAK,aAAa,IAAK,YAAa,MAErE,IAAK,OAAQihE,EAAK,IAAM,OACxB,IAAK,SAAUA,EAAK,KAAO,OAG3B,IAAK,UAAW,MAChB,IAAK,qBACL,IAAK,qBAAsBA,EAAK,IAAM,OACtC,IAAK,sBAAuBA,EAAK,KAAO,OAGxC,IAAK,eAAgB,MAErB,QAAS,IAAIA,GAAQzhE,EAAK6tB,IAAK,KAAM,IAAI7gC,OAAM,gBAAkBwT,EAAE,GAAK,iBAEzE,MAAOrS,IAER,IAAGmhC,GAAW78B,QAAQy5C,EAAGtE,UAAY,EAAG,KAAM,IAAI56C,OAAM,sBAAwBk/C,EAAGtE,MAEnFyhE,IAAkBn9D,EAElB,OAAOA,GAGR,QAASu+D,IAAav+D,GACrB,GAAIr2C,IAAK20B,GACT30B,GAAEA,EAAE1J,QAAU8hC,GAAU,WAAY,MACnC2Z,MAAStY,GAAW,GAGpBuyE,UAAWtzE,GAAM1qB,GAGlB,IAAI6mG,GAAex+D,EAAGimB,WAAajmB,EAAGimB,SAASE,WAAWlmE,OAAS,CAKnE,IAAIw+G,IAAepN,SAAS,eAC5B,IAAGrxD,EAAGimB,UAAYjmB,EAAGimB,SAASC,QAAS,CACtC22C,GAAWl3G,QAAQ,SAAS1D,GAC9B,GAAI+9C,EAAGimB,SAASC,QAAQjkE,EAAE,KAAQ,KAAM,MACrC,IAAI+9C,EAAGimB,SAASC,QAAQjkE,EAAE,KAAQA,EAAE,GAAI,MACxCw8G,GAAWx8G,EAAE,IAAO+9C,EAAGimB,SAASC,QAAQjkE,EAAE,KAE7C,IAAG+9C,EAAGimB,SAASC,QAAQorC,SAAU,CAAEmN,EAAWpN,SAAWrxD,EAAGimB,SAASC,QAAQorC,eAAiBmN,GAAWnN,UAExG3nG,EAAEA,EAAE1J,QAAW8hC,GAAU,aAAc,KAAM08E,EAI7C,IAAI9zE,GAASqV,EAAGimB,UAAYjmB,EAAGimB,SAASp7B,UACxC,IAAI7qC,GAAI,CAGR,IAAG2qC,GAAUA,EAAO,MAAQA,EAAO,GAAGyzE,OAAQ,CAC7Cz0G,EAAEA,EAAE1J,QAAU,aACd,KAAID,EAAI,EAAGA,GAAKggD,EAAGpV,WAAW3qC,SAAUD,EAAG,CAC1C,IAAI2qC,EAAO3qC,GAAI,KACf,KAAI2qC,EAAO3qC,GAAGo+G,OAAQ,MAEvB,GAAGp+G,GAAKggD,EAAGpV,WAAW3qC,OAAQD,EAAI,CAClC2J,GAAEA,EAAE1J,QAAU,6BAA+BD,EAAI,gBAAkBA,EAAI,KACvE2J,GAAEA,EAAE1J,QAAU,eAGf0J,EAAEA,EAAE1J,QAAU,UACd,KAAID,EAAI,EAAGA,GAAKggD,EAAGpV,WAAW3qC,SAAUD,EAAG,CAC1C,GAAI4lE,IAAQxiD,KAAK+c,GAAU6f,EAAGpV,WAAW5qC,GAAGgE,MAAM,EAAE,KACpD4hE,GAAI84C,QAAU,IAAI1+G,EAAE,EACpB4lE,GAAI,QAAU,OAAO5lE,EAAE,EACvB,IAAG2qC,EAAO3qC,GAAI,OAAO2qC,EAAO3qC,GAAGo+G,QAC9B,IAAK,GAAGx4C,EAAI9/C,MAAQ,QAAU,OAC9B,IAAK,GAAG8/C,EAAI9/C,MAAQ,YAAc,QAEnCnc,EAAEA,EAAE1J,QAAW8hC,GAAU,QAAQ,KAAK6jC,GAEvCj8D,EAAEA,EAAE1J,QAAU,WAKd,IAAGu+G,EAAa,CACf70G,EAAEA,EAAE1J,QAAU,gBACd,IAAG+/C,EAAGimB,UAAYjmB,EAAGimB,SAASE,MAAOnmB,EAAGimB,SAASE,MAAMxgE,QAAQ,SAAS9C,GACvE,GAAIhD,IAAKujB,KAAKvgB,EAAEk0D,KAChB,IAAGl0D,EAAEw7G,QAASx+G,EAAE+3D,QAAU/0D,EAAEw7G,OAC5B,IAAGx7G,EAAE2jE,OAAS,KAAM3mE,EAAEy+G,aAAe,GAAGz7G,EAAE2jE,KAC1C,IAAG3jE,EAAEu7G,OAAQv+G,EAAE2uD,OAAS,GACxB,KAAI3rD,EAAE4jE,IAAK,MACX98D,GAAEA,EAAE1J,QAAU8hC,GAAU,cAAe5B,GAAUt9B,EAAE4jE,KAAM5mE,IAE1D8J,GAAEA,EAAE1J,QAAU,kBAcf,GAAG0J,EAAE1J,OAAO,EAAE,CAAE0J,EAAEA,EAAE1J,QAAU,aAAe0J,GAAE,GAAGA,EAAE,GAAGsB,QAAQ,KAAK,KACpE,MAAOtB,GAAElD,KAAK,IAGf,QAASk4G,IAAkBh7G,EAAM1D,GAChC,GAAI++B,KACJA,GAAEo/E,OAASz6G,EAAKyc,WAAW,EAC3B4e,GAAE4/E,OAASj7G,EAAKyc,WAAW,EAC3B4e,GAAE6/E,SAAWjxE,GAAYjqC,EAAK1D,EAAO,EACrC++B,GAAE5b,KAAO+oB,GAAmBxoC,EAC5B,OAAOq7B,GAER,QAAS8/E,IAAkBn7G,EAAMgG,GAChC,IAAIA,EAAGA,EAAIkb,GAAQ,IACnBlb,GAAEsW,YAAY,EAAGtc,EAAKy6G,OACtBz0G,GAAEsW,YAAY,EAAGtc,EAAKi7G,OACtB/wE,IAAYlqC,EAAKk7G,SAAUl1G,EAC3B0iC,IAAmB1oC,EAAKyf,KAAKpf,MAAM,EAAE,IAAK2F,EAC1C,OAAOA,GAAE1J,OAAS0J,EAAEpC,EAAIoC,EAAE3F,MAAM,EAAG2F,EAAEpC,GAAKoC,EAI3C,QAASo1G,IAAgBp7G,EAAM1D,GAC9B,GAAI0J,KACJ,IAAImX,GAAQnd,EAAKyc,WAAW,EAC5BzW,GAAEq1G,oBAAsBr7G,EAAKyc,WAAW,EACxC,IAAI6+F,GAAWh/G,EAAS,EAAKksC,GAAmBxoC,GAAQ,EACxD,IAAGs7G,EAAQh/G,OAAS,EAAG0J,EAAE2nG,SAAW2N,CACpCt1G,GAAEu1G,wBAA0Bp+F,EAAQ,MACpCnX,GAAEw1G,cAAgBr+F,EAAQ,GAC1BnX,GAAEy1G,sBAAwBt+F,EAAQ,KAClCnX,GAAE+K,YAAcoM,EAAQ,EACxBnX,GAAE01G,iBAAmBv+F,EAAQ,EAC7BnX,GAAE21G,sBAAwBx+F,EAAQ,KAClCnX,GAAE41G,qBAAuBz+F,EAAQ,GACjCnX,GAAE61G,gBAAkB1+F,EAAQ,KAC5BnX,GAAE81G,yBAA2B3+F,EAAQ,OACrCnX,GAAE+1G,0BAA4B5+F,EAAQ,IACtCnX,GAAEg2G,8BAAgC7+F,EAAQ,EAC1CnX,GAAEi2G,qBAAuB9+F,EAAQ,GACjCnX,GAAEk2G,aAAe,MAAO,eAAgB,QAAS/+F,GAAS,GAAM,EAChEnX,GAAEm2G,wBAA0Bh/F,EAAQ,MACpCnX,GAAEo2G,aAAe,UAAW,QAAS,UAAWj/F,GAAS,EAAK,EAC9D,OAAOnX,GAER,QAASq2G,IAAgBr8G,EAAMgG,GAC9B,IAAIA,EAAGA,EAAIkb,GAAQ,GACnB,IAAI/D,GAAQ,CACZ,IAAGnd,EAAM,CAER,GAAGA,EAAK+Q,SAAUoM,GAAS,CAC3B,IAAGnd,EAAK07G,cAAev+F,GAAS,EAEjCnX,EAAEsW,YAAY,EAAGa,EACjBnX,GAAEsW,YAAY,EAAG,EACjButB,IAAmB7pC,GAAQA,EAAK2tG,UAAY,eAAgB3nG,EAC5D,OAAOA,GAAE3F,MAAM,EAAG2F,EAAEpC,GAGrB,QAAS04G,IAAoBt8G,EAAM1D,GAClC,GAAI0J,KACJhG,GAAKyc,WAAW,EAChBzW,GAAEu2G,OAASv8G,EAAKyc,WAAW,EAC3Bzc,GAAK4D,GAAKtH,EAAS,CACnB,OAAO0J,GAIR,QAASw2G,IAAcx8G,EAAM1D,EAAQ6T,GACpC,GAAI0d,GAAM7tB,EAAK4D,EAAItH,CACnB,IAAI6gB,GAAQnd,EAAKyc,WAAW,EAC5Bzc,GAAK4D,GAAK,CACV,IAAI4vD,GAAOxzD,EAAKyc,WAAW,EAC3B,IAAIgD,GAAOuqB,GAAuBhqC,EAClC,IAAIojE,EACJ,IAAInP,GAAU,EACd,KACCmP,EAAUkxB,GAA4Bt0F,EAAM,EAAGmQ,EAC/C,KACC8jD,EAAUnqB,GAA2B9pC,GACpC,MAAM5D,KACP,MAAMA,GAAK0oB,QAAQC,MAAM,gCAAkCtF,GAC7D,GAAGtC,EAAQ,GAAMsC,EAAO,SAAWA,CAOnCzf,GAAK4D,EAAIiqB,CACT,IAAI3tB,IAAQkzD,KAAK3zC,EAAMg9F,IAAIr5C,EAASpW,MAAO7vC,EAC3C,IAAGq2C,EAAO,UAAWtzD,EAAI2iE,MAAQrP,CACjC,IAAGS,EAAS/zD,EAAIw6G,QAAUzmD,CAC1B,OAAO/zD,GAER,QAASw8G,IAAcj9F,EAAM48B,GAC5B,GAAIr2C,GAAIkb,GAAQ,EAChB,IAAI/D,GAAQ,CACZ,IAAIm9F,GAAQ76F,EAAK2zC,IACjB,IAAG1iB,GAAc9tC,QAAQ03G,IAAU,EAAG,CAAEn9F,GAAS,EAAMm9F,GAAQA,EAAMj6G,MAAM,GAC3E2F,EAAEsW,YAAY,EAAGa,EACjBnX,GAAEsW,YAAY,EAAG,EACjBtW,GAAEsW,YAAY,EAAGmD,EAAKojD,OAAS,KAAO,WAAapjD,EAAKojD,MAExD,IAAIjvC,IACH5tB,EACA0iC,GAAmB4xE,GACnB/kB,GAA4B91E,EAAKqjD,IAAKzmB,GAEvC,IAAG58B,EAAKi7F,QAAS9mF,EAAI/vB,KAAKkmC,GAA2BtqB,EAAKi7F,cACrD,CACJ,GAAIp8G,GAAI4iB,GAAQ,EAChB5iB,GAAEge,YAAY,EAAG,WACjBsX,GAAI/vB,KAAKvF,GASV,MAAOgK,GAAQsrB,GAIhB,QAAS+oF,IAAa38G,EAAMmQ,GAC3B,GAAIksC,IAAOoD,cAAe8iB,WAAYm3C,UAAWxyE,UAAWuyE,UAAW1hE,MAAO,GAC9E,IAAI51B,KACJ,IAAIyvD,GAAO,KAEX,KAAIzhE,EAAMA,IACVA,GAAK00B,KAAO,EAEZ,IAAI29B,KACJ,IAAIsvB,OACJA,GAAS7qD,aACT6qD,GAASC,MAETvuD,IAAe,KAAYtkC,EAAE,gBAAiB6B,EAAEu7G,GAEhDn5E,IAAanjC,EAAM,QAAS48G,GAAUlqG,EAAKkJ,EAAG2nB,GAC7C,OAAOA,GACN,IAAK,KACJuuD,EAAS7qD,WAAWpjC,KAAK6O,EAAI+M,KAC7B48B,GAAGnV,OAAOrjC,KAAK6O,EAAM,OAEtB,IAAK,KACJ2pC,EAAGkmB,QAAU7vD,CAAK,OAEnB,IAAK,IACJ,GAAGA,EAAImwD,OAAS,KAAM1yD,EAAK6hF,IAAMt/E,EAAImwD,KACrCnwD,GAAIowD,IAAMpwD,EAAI+pG,IAAMtqB,GAAkBz/E,EAAI+pG,IAAK,KAAM,KAAM3qB,EAAU3hF,GAAQ,cACtEA,GAAK6hF,UACLt/E,GAAI+pG,GACXj6C,GAAM3+D,KAAK6O,EACX,OACD,IAAK,MAA2B,MAEhC,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,KACJ,IAAIo/E,EAAS,GAAGx1F,OAAQw1F,EAAS,IAAMvuD,EAAI7wB,OACtCo/E,GAASjuF,MAAM0/B,EAAI7wB,GACxBo/E,GAASA,EAASx1F,OAAS,GAAGy1F,MAC9B,OACD,IAAK,KACJ,GAAGD,EAASx1F,SAAW,EAAG,CAAEw1F,EAAS,KAASA,GAAS,GAAGC,OAC1DD,EAASA,EAASx1F,OAAS,GAAGy1F,IAAMD,EAASA,EAASx1F,OAAS,GAAGy1F,IAAIvpF,OAAOkK,EAC7Eo/E,GAASC,IAAMD,EAASC,IAAIvpF,OAAOkK,EACnC,OACD,IAAK,KACJ,MAED,IAAK,OACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,KACJ,MAGD,IAAK,OACL,IAAK,OACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,OACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,OACL,IAAK,OACL,IAAK,MACL,IAAK,OACL,IAAK,MACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,MACL,IAAK,MACL,IAAK,OACL,IAAK,MACL,IAAK,MACJ,MAED,IAAK,IACJyP,EAAMte,KAAK0/B,EAAKquC,GAAO,IAAM,OAC9B,IAAK,IACJzvD,EAAMkB,KAAOuuD,GAAO,KAAO,OAC5B,IAAK,IACJzvD,EAAMte,KAAK0/B,EAAKquC,GAAO,IAAM,OAC9B,IAAK,IACJzvD,EAAMkB,KAAOuuD,GAAO,KAAO,OAE5B,IAAK,IAA8B,MAEnC,QACC,GAAGh2D,EAAEnL,EAAE,MACF,KAAImhE,GAASzhE,EAAK6tB,KAAO7b,EAAMA,EAAM7lB,OAAO,IAAM,IAA2B6lB,EAAMA,EAAM7lB,OAAO,IAAM,GAA2B,KAAM,IAAIa,OAAM,uBAAyBomC,EAAGjjC,SAAS,QAE3L6P,EAEHqpG,IAAkBn9D,EAGlBA,GAAGmmB,MAAQA,CAEX,GAAKsvB,SAAWA,CAChB,OAAOz1C,GAGR,QAASwgE,IAAgBr4E,EAAI6X,GAC5B9X,GAAaC,EAAI,IACjB,KAAI,GAAIlxB,GAAM,EAAGA,GAAO+oC,EAAGpV,WAAW3qC,SAAUgX,EAAK,CACpD,GAAIwpG,GAAMzgE,EAAGimB,UAAYjmB,EAAGimB,SAASp7B,QAAUmV,EAAGimB,SAASp7B,OAAO5zB,IAAQ+oC,EAAGimB,SAASp7B,OAAO5zB,GAAKmnG,QAAU,CAC5G,IAAIv+G,IAAMu+G,OAAQqC,EAAK7B,OAAQ3nG,EAAI,EAAG4nG,SAAU,OAAS5nG,EAAI,GAAImM,KAAM48B,EAAGpV,WAAW3zB,GACrFixB,IAAaC,EAAI,IAA0B22E,GAAkBj/G,IAE9DqoC,GAAaC,EAAI,KAIlB,QAASu4E,IAAqB/8G,EAAMgG,GACnC,IAAIA,EAAGA,EAAIkb,GAAQ,IACnB,KAAI,GAAI7kB,GAAI,EAAGA,GAAK,IAAKA,EAAG2J,EAAEsW,YAAY,EAAG,EAC7CosB,IAAmB,UAAW1iC,EAC9B0iC,IAAmB1kC,EAAK/H,QAAS+J,EACjC0iC,IAAmB1kC,EAAK/H,QAAS+J,EACjC0iC,IAAmB,OAAQ1iC,EAC3B,OAAOA,GAAE1J,OAAS0J,EAAEpC,EAAIoC,EAAE3F,MAAM,EAAG2F,EAAEpC,GAAKoC,EAI3C,QAASg3G,IAAkB1pG,EAAKtN,GAC/B,IAAIA,EAAGA,EAAIkb,GAAQ,GACnBlb,GAAEsW,aAAa,EAAG,EAClBtW,GAAEsW,aAAa,EAAG,IAClBtW,GAAEsW,YAAY,EAAI,MAClBtW,GAAEsW,YAAY,EAAI,MAClBtW,GAAEsW,YAAY,EAAI,IAClBtW,GAAEsW,YAAY,EAAIhJ,EAClBtN,GAAEsW,YAAY,EAAIhJ,EAClB,IAAI6J,GAAQ,GACZnX,GAAEsW,YAAY,EAAIa,EAClB,OAAOnX,GAAE1J,OAAS0J,EAAEpC,EAAIoC,EAAE3F,MAAM,EAAG2F,EAAEpC,GAAKoC,EAG3C,QAASi3G,IAAgBz4E,EAAI6X,GAE5B,IAAIA,EAAGimB,WAAajmB,EAAGimB,SAASp7B,OAAQ,MACxC,IAAIF,GAASqV,EAAGimB,SAASp7B,MACzB,IAAI7qC,GAAI,EAAG6gH,GAAU,EAAGryD,GAAU,CAClC,MAAMxuD,EAAI2qC,EAAO1qC,SAAUD,EAAG,CAC7B,IAAI2qC,EAAO3qC,KAAO2qC,EAAO3qC,GAAGo+G,QAAUyC,IAAW,EAAGA,EAAS7gH,MACxD,IAAG2qC,EAAO3qC,GAAGo+G,QAAU,GAAK5vD,IAAW,EAAGA,EAASxuD,EAEzD,GAAGwuD,EAASqyD,EAAQ,MACpB34E,IAAaC,EAAI,IACjBD,IAAaC,EAAI,IAA0Bw4E,GAAkBE,GAE7D34E,IAAaC,EAAI,KAGlB,QAAS24E,IAAe34E,EAAI6X,GAC3B,IAAIA,EAAGimB,WAAajmB,EAAGimB,SAASE,MAAO,MACvCnmB,GAAGimB,SAASE,MAAMxgE,QAAQ,SAASyd,GAAQ,IAC1C,GAAGA,EAAKutC,MAAQ,GAAM,MACtBzoB,IAAaC,EAAI,GAAsBk4E,GAAcj9F,EAAM48B,IAC1D,MAAMjgD,GACP0oB,QAAQC,MAAM,oCAAsC4Q,KAAKC,UAAUnW,OAIrE,QAAS29F,IAAwB/gE,GAChC,GAAItzC,GAAIszC,EAAGpV,WAAW3qC,MACtB,IAAI0J,GAAIkb,GAAQ,GAAKnY,EAAI,GACzB/C,GAAEsW,YAAY,EAAGvT,EAAI,EACrB/C,GAAEsW,YAAY,EAAG,EAAItW,GAAEsW,YAAY,GAAI,EAAItW,GAAEsW,YAAY,GAAI,EAC7DtW,GAAEsW,YAAY,EAAG,EAAItW,GAAEsW,YAAY,GAAI,EAAItW,GAAEsW,YAAY,GAAI,EAC7D,KAAI,GAAIjgB,GAAI,EAAGA,EAAI0M,IAAK1M,EAAG,CAC1B2J,EAAEsW,YAAY,EAAG,EAAItW,GAAEsW,YAAY,EAAGjgB,EAAI2J,GAAEsW,YAAY,EAAGjgB,GAE5D,MAAO2J,GAER,QAASq3G,IAAqB74E,EAAI6X,GACjC9X,GAAaC,EAAI,IACjBD,IAAaC,EAAI,IACjBD,IAAaC,EAAI,IAA6B44E,GAAwB/gE,EAAI,GAC1E9X,IAAaC,EAAI,KAwBlB,QAAS84E,IAAajhE,EAAIlsC,GACzB,GAAIq0B,GAAKf,IACTc,IAAaC,EAAI,IACjBD,IAAaC,EAAI,IAA6Bu4E,KAE9Cx4E,IAAaC,EAAI,IAAwB63E,GAAgBhgE,EAAGimB,UAAYjmB,EAAGimB,SAASC,SAAW,MAG/F06C,IAAgBz4E,EAAI6X,EAAIlsC,EACxB0sG,IAAgBr4E,EAAI6X,EAAIlsC,EAExBktG,IAAqB74E,EAAI6X,EACzB,KAAIA,EAAGimB,cAAcE,MAAO26C,GAAe34E,EAAI6X,EAY/C9X,IAAaC,EAAI,IAEjB,OAAOA,GAAG3W,MAEX,QAAS0vF,IAASv9G,EAAMyf,EAAMtP,GAC7B,GAAGsP,EAAKpf,OAAO,KAAK,OAAQ,MAAOs8G,IAAa,EAAQxsG,EACxD,OAAOkqG,IAAa,EAAQlqG,GAG7B,QAASqtG,IAASx9G,EAAMyf,EAAMnM,EAAKnD,EAAMgnC,EAAMkF,EAAI5E,EAAQR,GAC1D,GAAGx3B,EAAKpf,OAAO,KAAK,OAAQ,MAAO42G,IAAa,EAAQ9mG,EAAMmD,EAAK6jC,EAAMkF,EAAI5E,EAAQR,EACrF,OAAOq1D,IAAa,EAAQn8F,EAAMmD,EAAK6jC,EAAMkF,EAAI5E,EAAQR,GAG1D,QAASwmE,IAASz9G,EAAMyf,EAAMnM,EAAKnD,EAAMgnC,EAAMkF,EAAI5E,EAAQR,GAC1D,GAAGx3B,EAAKpf,OAAO,KAAK,OAAQ,MAAO24G,IAAa,EAAQ7oG,EAAMmD,EAAK6jC,EAAMkF,EAAI5E,EAAQR,EACrF,OAAO2hE,IAAa,EAAQzoG,EAAMmD,EAAK6jC,EAAMkF,EAAI5E,EAAQR,GAG1D,QAASymE,IAAS19G,EAAMyf,EAAMnM,EAAKnD,EAAMgnC,EAAMkF,EAAI5E,EAAQR,GAC1D,GAAGx3B,EAAKpf,OAAO,KAAK,OAAQ,MAAOupF,IAAa,EAAQz5E,EAAMmD,EAAK6jC,EAAMkF,EAAI5E,EAAQR,EACrF,OAAO4yC,IAAa,EAAQ15E,EAAMmD,EAAK6jC,EAAMkF,EAAI5E,EAAQR,GAG1D,QAAS0mE,IAAS39G,EAAMyf,EAAMnM,EAAKnD,EAAMgnC,EAAMkF,EAAI5E,EAAQR,GAC1D,GAAGx3B,EAAKpf,OAAO,KAAK,OAAQ,MAAOopF,IAAa,EAAQt5E,EAAMmD,EAAK6jC,EAAMkF,EAAI5E,EAAQR,EACrF,OAAO0yC,IAAa,EAAQx5E,EAAMmD,EAAK6jC,EAAMkF,EAAI5E,EAAQR,GAG1D,QAAS2mE,IAAU59G,EAAMyf,EAAMg4B,EAAQtnC,GACtC,GAAGsP,EAAKpf,OAAO,KAAK,OAAQ,MAAOkgF,IAAc,EAAQ9oC,EAAQtnC,EACjE,OAAOsuE,IAAc,EAAQhnC,EAAQtnC,GAGtC,QAAS0tG,IAAU79G,EAAMyf,EAAMtP,GAC9B,GAAGsP,EAAKpf,OAAO,KAAK,OAAQ,MAAOwzE,IAAc,EAAQ1jE,EACzD,OAAOkjE,IAAc,EAAQljE,GAG9B,QAAS2tG,IAAW99G,EAAMyf,EAAMtP,GAC/B,GAAGsP,EAAKpf,OAAO,KAAK,OAAQ,MAAO0oF,IAAmB,EAAQ54E,EAC9D,OAAO02E,IAAmB,EAAQ12E,GAGnC,QAAS4tG,IAAS/9G,EAAMyf,EAAMtP,GAC7B,GAAGsP,EAAKpf,OAAO,KAAK,OAAQ,MAAOgkF,IAAa,EAAQ5kE,EAAMtP,EAC9D,OAAOg0E,IAAa,EAAQ1kE,EAAMtP,GAGnC,QAAS6tG,IAAYh+G,EAAM86C,EAAKr7B,EAAMtP,GACrC,GAAGsP,EAAKpf,OAAO,KAAK,OAAQ,MAAOmkF,IAAgB,EAAQ1pC,EAAKr7B,EAAMtP,EACtE,OAAOo0E,IAAgB,EAAQzpC,EAAKr7B,EAAMtP,GAG3C,QAAS8tG,IAAaj+G,EAAMyf,EAAMtP,GACjC,GAAGsP,EAAKpf,OAAO,KAAK,OAAQ,MAAOqjF,IAAiB,EAAQjkE,EAAMtP,EAClE,OAAO4zE,IAAiB,EAAQtkE,EAAMtP,GAEvC,GAAI+tG,IAAW,2DACf,IAAIC,IAAU,8DACd,SAASC,IAAiB1lF,EAAKyC,GAC9B,GAAIkjF,GAAQ3lF,EAAI97B,MAAM,MACtB,IAAIy+B,KAAU,KAAIF,EAAWE,EAAE,GAAKgjF,EAAM,EAC1C,IAAGA,EAAM/hH,SAAW,EAAG,MAAO++B,EAC9B,IAAIrrB,GAAI0oB,EAAIx1B,MAAMg7G,IAAavtG,EAAGhU,EAAGwD,EAAG9D,CACxC,IAAG2T,EAAG,IAAI3T,EAAI,EAAGA,GAAK2T,EAAE1T,SAAUD,EAAG,CACpCsU,EAAIX,EAAE3T,GAAG6G,MAAMi7G,GACjB,KAAIxhH,EAAEgU,EAAE,GAAG/N,QAAQ,SAAW,EAAGy4B,EAAE1qB,EAAE,IAAMA,EAAE,GAAGtQ,MAAM,EAAEsQ,EAAE,GAAGrU,OAAO,OAC7D,CACJ,GAAGqU,EAAE,GAAGtQ,MAAM,EAAE,KAAO,SAAUF,EAAI,QAAQwQ,EAAE,GAAGtQ,MAAM,OACnDF,GAAIwQ,EAAE,GAAGtQ,MAAM1D,EAAE,EACtB0+B,GAAEl7B,GAAKwQ,EAAE,GAAGtQ,MAAM,EAAEsQ,EAAE,GAAGrU,OAAO,IAGlC,MAAO++B,GAER,QAASijF,IAAoB5lF,GAC5B,GAAI2lF,GAAQ3lF,EAAI97B,MAAM,MACtB,IAAIy+B,KACJ,IAAGgjF,EAAM/hH,SAAW,EAAG,MAAO++B,EAC9B,IAAIrrB,GAAI0oB,EAAIx1B,MAAMg7G,IAAavtG,EAAGhU,EAAGwD,EAAG9D,CACxC,IAAG2T,EAAG,IAAI3T,EAAI,EAAGA,GAAK2T,EAAE1T,SAAUD,EAAG,CACpCsU,EAAIX,EAAE3T,GAAG6G,MAAMi7G,GACjB,KAAIxhH,EAAEgU,EAAE,GAAG/N,QAAQ,SAAW,EAAGy4B,EAAE1qB,EAAE,IAAMA,EAAE,GAAGtQ,MAAM,EAAEsQ,EAAE,GAAGrU,OAAO,OAC7D,CACJ,GAAGqU,EAAE,GAAGtQ,MAAM,EAAE,KAAO,SAAUF,EAAI,QAAQwQ,EAAE,GAAGtQ,MAAM,OACnDF,GAAIwQ,EAAE,GAAGtQ,MAAM1D,EAAE,EACtB0+B,GAAEl7B,GAAKwQ,EAAE,GAAGtQ,MAAM,EAAEsQ,EAAE,GAAGrU,OAAO,IAGlC,MAAO++B,GAMR,GAAIkjF,GAEJ,SAASC,IAAYlmG,EAAQ4kB,EAAOnsB,GACnC,GAAI0B,GAAM8rG,GAAcjmG,IAAW2jB,GAAY3jB,EAC/C,IAAG7F,IAAQ,UAAW,MAAOL,IAAY8qB,EACzC,OAAO7qB,IAAWI,EAAKyqB,GAAQnsB,WAAYA,IAG5C,QAAS0tG,IAAkBx+D,EAAW1tB,EAAKzyB,EAAI4S,GAC9C,GAAIgsG,GAAOhsG,CACX,SAAQ5S,EAAG,GAAGoD,MAAM,sBAAsB,GAAG,KAAK,IACjD,IAAK;AAAWw7G,EAAOzhF,GAAavqB,EAAM,OAC1C,IAAK,MAAM,IAAK,MAAOgsG,EAAOtqG,SAAS1B,EAAK,GAAK,OACjD,IAAK,MAAM,IAAK,QAASgsG,EAAOhnG,WAAWhF,EAAM,OACjD,IAAK,QAAQ,IAAK,cAAegsG,EAAOhrF,GAAUhhB,EAAM,OACxD,IAAK,MAAM,IAAK,UAAU,IAAK,SAAS,IAAK,QAAQ,IAAK,aAAc,MACxE,QAAS,KAAM,IAAIvV,OAAM,gBAAkB2C,EAAG,KAE/CmgD,EAAUhkB,GAAY1J,IAAQmsF,EAG/B,QAASC,IAAiBj6E,EAAM8zE,EAAIxyG,EAAG+K,GACtC,GAAG2zB,EAAKp7B,IAAM,IAAK,MACnB,KAAItD,GAAKA,EAAEs9D,WAAa,MAAO,IAC9B,GAAG5+B,EAAKp7B,IAAM,IAAK,CAAEo7B,EAAKvkC,EAAIukC,EAAKvkC,GAAK0mC,GAAKnC,EAAKr7B,OAC7C,IAAGmvG,IAAO,UAAW,CACzB,GAAG9zE,EAAKp7B,IAAM,IAAK,CAClB,IAAIo7B,EAAKr7B,EAAE,KAAOq7B,EAAKr7B,EAAGq7B,EAAKvkC,EAAIukC,EAAKr7B,EAAE/I,SAAS,QAC9CokC,GAAKvkC,EAAI0R,GAAgB6yB,EAAKr7B,OAE/Bq7B,GAAKvkC,EAAIiS,GAAYsyB,EAAKr7B,OAE3Bq7B,GAAKvkC,EAAIq+G,GAAYhG,GAAI,UAAW9zE,EAAKr7B,EAAG0H,GAChD,MAAM3U,GAAK,GAAG4J,EAAEg4B,IAAK,KAAM5hC,GAC7B,IACC,GAAIi/B,GAAIkjF,GAAc/F,IAAKA,GAAI,SAC/B,IAAGxyG,EAAEihE,OAAQviC,EAAKrJ,EAAIA,CACtB,IAAGr1B,EAAEmiC,WAAazD,EAAKp7B,GAAK,KAAOgN,GAAY+kB,GAAI,CAClD,GAAIm8E,GAAKtnG,GAAoBw0B,EAAKr7B,GAAK0H,EAAW,KAAO,GAAK,IAAGymG,EAAI,CAAE9yE,EAAKp7B,EAAI,GAAKo7B,GAAKr7B,EAAI,GAAI2H,MAAKA,KAAK6hB,IAAI2kF,EAAG7mG,EAAG6mG,EAAGxnG,EAAE,EAAEwnG,EAAGt7G,EAAEs7G,EAAG5mG,EAAE4mG,EAAG90G,EAAE80G,EAAG3mG,EAAE2mG,EAAG9mG,MAEpJ,MAAMtU,GAAK,GAAG4J,EAAEg4B,IAAK,KAAM5hC,IAG9B,QAASwiH,IAAmB3nE,EAAQ4nE,EAAM1uG,GACzC,GAAGA,EAAKo/C,WAAY,CACnB,GAAGsvD,EAAKC,SAAU,CACjB,GAAIC,GAAIF,EAAKC,QACb,IAAGC,EAAEC,QAASD,EAAEzvD,YAAcgsB,GAAmByjC,EAAEC,UAAYD,EAAEC,SAGnE/nE,EAAO4nE,EAAKv3B,IAAMu3B,EAInB,QAASI,IAAgBnyF,EAAKla,EAAI5S,EAAM0kC,EAAMpwB,EAAM2iC,EAAQioE,EAAM1wF,EAAK6kE,EAAQrtF,EAAG+K,GACjF,GAAIynG,GAAK,UAAW2G,EAAMz6E,EAAK06E,QAASvuG,IAAQ7K,GAAIA,KACpD,IAAIq5G,KACJ,IAAIhjH,GAAI,CACR,IAAG8iH,IAAQ53G,WAAainB,EAAK2wF,EAAM3wF,EAAI4wF,OACvC,IAAGD,IAAQ53G,WAAa23G,EAAMC,EAAMD,EAAKE,OACzC,OAAMnoE,EAAOkoE,KAAS53G,UAAW,CAChC,GAAI+3G,GAAOroE,EAAOkoE,EAClB,IAAGG,EAAK9G,GAAIA,EAAK8G,EAAK9G,EACtB,IAAG8G,EAAKR,SAAUO,EAAUx7G,KAAKy7G,EAAKR,SACtC,KAAIQ,EAAKC,OAAQ,KACjBJ,GAAMG,EAAKC,OAEZ,OAAOv/G,EAAK+6C,MACX,IAAK,UACJrW,EAAKp7B,EAAI,GACTo7B,GAAKr7B,EAAI4zB,GAAanQ,EACtB,OACD,IAAK,SACJ4X,EAAKp7B,EAAI,GAAKo7B,GAAK1wB,EAAI6oB,GAAYZ,GAAYnP,GAC/C4X,GAAKr7B,EAAKyjB,EAAIlqB,QAAQ,MAAQ,EAAIq5B,GAAYrpB,GAAIka,GAAKxlB,QAAQ,YAAa,IAAMo9B,EAAK1wB,CACvF,OACD,IAAK,WACJ,GAAG8Y,EAAIzsB,OAAO,IAAM,IAAKysB,GAAO,GAChC4X,GAAKr7B,EAAIiJ,GAAQohB,GAAU5G,EAAK/b,GAAWA,EAC3C,IAAG2zB,EAAKr7B,IAAMq7B,EAAKr7B,EAAGq7B,EAAKr7B,EAAI4yB,GAAYnP,EAC3C,KAAI0rF,GAAMA,GAAM,UAAWA,EAAK,aAEjC,IAAK,SACJ,GAAG9zE,EAAKr7B,IAAM9B,UAAWm9B,EAAKr7B,GAAGyjB,CACjC,KAAI4X,EAAKp7B,EAAGo7B,EAAKp7B,EAAI,GACrB,OACD,IAAK,QAASo7B,EAAKp7B,EAAI,GAAKo7B,GAAKr7B,EAAI2mC,GAAMljB,EAAM,IAAG9mB,EAAEs9D,WAAa,MAAO5+B,EAAKvkC,EAAI2sB,CAAK,OACxF,QACC,GAAGA,GAAO,IAAMla,GAAM,GAAI,CAAE8xB,EAAKp7B,EAAI,QAChC,CAAEo7B,EAAKp7B,EAAI,GAAKo7B,GAAKr7B,EAAIwzB,GAAYjqB,GAAIka,GAC9C,OAEF6xF,GAAiBj6E,EAAM8zE,EAAIxyG,EAAG+K,EAC9B,IAAG/K,EAAEqrG,cAAgB,MAAO,CAC3B,GAAG3sE,EAAK86E,QAAS,CAChB,GAAIv1B,GAAOhuD,GAAYyI,EAAK86E,QAE5B,IAAGv1B,EAAK1tF,WAAW,IAAM,GAAY0tF,EAAOA,EAAK5pF,MAAM,EACvDqkC,GAAK3jC,EAAIgiE,GAASknB,EAAM31E,SACjBowB,GAAK86E,OACZ,IAAG96E,EAAK+6E,YAAc,KAAM/6E,EAAK1hC,EAAI+/D,GAAS,QAASzuD,OAClD,IAAGowB,EAAK+6E,WAAY,CACxB/6E,EAAK1hC,EAAI+/D,GAASr+B,EAAK+6E,WAAYnrG,EACnC++E,GAAOxvF,MAAM2iC,GAAkB9B,EAAK1hC,GAAI0hC,EAAK1hC,SAExC,CACN,IAAI3G,EAAI,EAAGA,EAAIg3F,EAAO/2F,SAAUD,EAC/B,GAAGiY,EAAKN,GAAKq/E,EAAOh3F,GAAG,GAAGuF,EAAEoS,GAAKM,EAAKN,GAAKq/E,EAAOh3F,GAAG,GAAGD,EAAE4X,EACzD,GAAGM,EAAK3T,GAAK0yF,EAAOh3F,GAAG,GAAGuF,EAAEjB,GAAK2T,EAAK3T,GAAK0yF,EAAOh3F,GAAG,GAAGD,EAAEuE,EACzD+jC,EAAK1hC,EAAIqwF,EAAOh3F,GAAG,IAGxB,GAAG2J,EAAEupD,WAAY,CAChB8vD,EAAUr9G,QAAQ,SAAS1D,GAC1B,IAAIuS,EAAEy+C,aAAehxD,EAAEgxD,YAAaz+C,EAAEy+C,YAAchxD,EAAEgxD,aAEvD5qB,GAAK9iC,EAAIiP,EAEV,GAAG6zB,EAAK06E,UAAY73G,UAAWm9B,EAAKsjB,KAAOtjB,EAAK06E,QAGjD,QAASM,IAAkBpF,GAC1B,MAAO5pE,IAAc9tC,QAAQ,SAAW03G,IAAU,EAAI,SAAWA,EAAQA,EAG1E,QAASqF,IAAmB1rD,GAC3BA,EAAQ3qD,EAAI2qD,EAAQ5qD,GAAK,EACzB4qD,GAAQ3qD,EAAI2qD,EAAQ3qD,EAAEhC,QAAQ,QAAQ,MAAMA,QAAQ,MAAM,KAC1D2sD,GAAQ5qD,EAAI4qD,EAAQ9zD,EAAI8zD,EAAQjM,KAAOzgD,UAIxC,QAASq4G,IAAe1jH,EAAG2nB,GAC1B,GAAI1T,GAAO0T,KACXzL,KACA,IAAItD,GAAM1O,EAAMo4B,GAAetiC,GAC/B,IAAGiU,EAAKqC,MAAQ,UAAYrC,EAAKqC,MAAQ,SAAWrC,EAAKqC,MAAQ,SAAU,CAC1E,SAAUpO,KAAa,YAAa0Q,EAAM1Q,EAASL,MAAMhB,OAAO,MAAOgD,EAAW+O,QAC7EA,GAAM0oB,GAAS1oB,GAErB,GAAI+qG,GAAU/qG,EAAIzU,MAAM,EAAG,MAAMuW,cAAekpG,EAAS,KACzDD,GAAUA,EAAQv4G,QAAQ,SAAU,GACpC,KAAIu4G,EAAQj9G,QAAQ,KAAO,MAAQ+G,KAAK+L,IAAKmqG,EAAQj9G,QAAQ,KAAO,KAAQi9G,EAAQj9G,QAAQ,KAAK,MAAQ,CAAE,GAAIm9G,GAAKrqF,GAAIvlB,EAAO4vG,GAAGvtG,KAAO,QAAU,OAAOyzD,IAAIjJ,YAAYloD,EAAKirG,GAC/K,GAAGF,EAAQj9G,QAAQ,WAAa,GAAI,OAAQ,QAAS,OAAQ,OAAQ,SAAU,QAAS,OAAOZ,QAAQ,SAAS02B,GAAO,GAAGmnF,EAAQj9G,QAAQ,IAAM81B,IAAQ,EAAGonF,EAAS,MACpK,IAAGA,EAAQ,MAAOE,IAAiBlrG,EAAK3E,EAExCouG,KACC0B,iBAAkB,UAClBC,eAAgB71G,EAAU,IAC1B81G,YAAa,sBACbC,cAAe/1G,EAAU,IACzBg2G,aAAch2G,EAAU,IACxBi2G,YAAaj2G,EAAU,IACvBk2G,cAAel2G,EAAU,IACzBm2G,aAAcn2G,EAAU,IACxBo2G,SAAY,uCACZC,MAASr2G,EAAU,GACnBs2G,SAAYt2G,EAAU,GACtBu2G,QAAWv2G,EAAU,IACrBw2G,WAAcx2G,EAAU,IACxBy2G,SAAU,qBACVC,aAAc,0BACdC,SAAU,qBAIX,IAAIplE,EACJ,IAAIz5B,MAAY2L,CAChB,IAAGjnB,GAAS,MAAQsJ,EAAKi3B,OAAS,KAAMj3B,EAAKi3B,MAAQvgC,CACrD,IAAImgC,MAAai6E,KAAiBC,KAAiBC,EAAY,EAAI,IAAGhxG,EAAKi3B,MAAO85E,EAAS,WAC3F,IAAIx8E,MAAalW,IACjB,IAAI4yF,GAAOhD,GAAiB,2BAA4BiD,EAAO,CAC/D,IAAI1gH,GAAI,EAAGqT,EAAI,CACf,IAAIs0D,IAAY1mE,GAAIoS,EAAE,IAASrT,EAAE,KAAUvE,GAAI4X,EAAE,EAAGrT,EAAE,GACtD,IAAIs2C,MAAa4nE,IACjB,IAAIjsG,GAAK,GAAI0uG,EAAO,CACpB,IAAInsD,KACJ,IAAIrY,MAAYmD,KAAgBshE,EAAO,EAAGzhH,IAC1C,IAAI82C,MAAeqd,IACnB,IAAIutD,MAAYtC,EAAMrQ,EAAU,KAChC,IAAIxb,KACJ,IAAInxB,MAAc0uC,KAAa77F,EAAK,EAAGV,EAAK,CAC5C,IAAIiuD,IAAcp7B,UAAWq7B,SAASxxD,SAAS,QAAW0wG,IAC1DhjF,IAAUplB,UAAY,CACtBvE,GAAMmjB,GAAcnjB,EAAK,OAAQ,MACjC,IAAI4sG,GAAU,EACd,OAAO9lE,EAAKnd,GAAU1F,KAAKjkB,GAAO,OAAQ8mC,EAAG,IAAM8lE,EAAU9lE,EAAG,IAAIhlC,eACnE,IAAK,OACJ,GAAG8qG,GAAW,OAAQ,CACrB,GAAG9lE,EAAG,KAAK,IAAI,CAAC,IAAI9tB,EAAI3L,EAAMkB,OAAO,KAAKu4B,EAAG,GAAI,KAAM,IAAIz+C,OAAM,cAAc2wB,EAAIhrB,KAAK,UACnF,IAAG84C,EAAG,GAAGp/C,OAAOo/C,EAAG,GAAGt/C,OAAO,KAAO,IAAK6lB,EAAMte,MAAM+3C,EAAG,GAAI,MACjE,OAED,GAAGz5B,EAAMA,EAAM7lB,OAAO,GAAG,GAAI,KAC7B,IAAGs/C,EAAG,KAAK,IAAKqjE,GAAgBnqG,EAAIzU,MAAMghH,EAAMzlE,EAAG9jB,OAAQllB,EAAIwuG,EAAMj/F,EAAMA,EAAM7lB,OAAO,GAAG,IAAiB,UAAU23D,EAAQvvB,GAAO/jC,EAAEA,EAAEqT,EAAEA,GAAIijC,EAAQuqE,EAAM7gH,GAAI6tB,EAAK6kE,EAAQljF,EAAMmyD,EAASC,QAAQxxD,cAChM,CAAE6B,EAAK,EAAIwuG,GAAOhD,GAAiBxiE,EAAG,GAAKylE,GAAOzlE,EAAG9jB,MAAQ8jB,EAAG,GAAGt/C,OACxE,MACD,IAAK,OACJ,GAAGs/C,EAAG,KAAK,IAAI,CACd,GAAGhF,EAASt6C,OAAS,EAAGooC,EAAK/jC,EAAIi2C,CACjC,MAAKzmC,EAAKmrD,WAAanrD,EAAKmrD,UAAYtnD,IAAM0wB,EAAKr7B,QAAW,GAAG,CAChE,GAAG8G,EAAKi3B,MAAO,CACd,IAAI85E,EAAS,SAASltG,GAAIktG,EAAS,SAASltG,KAC5CktG,GAAS,SAASltG,GAAGrT,GAAK+jC,MACpBw8E,GAAS77E,GAAW1kC,GAAK2kC,GAAWtxB,IAAM0wB,EAElD,GAAGA,EAAKi9E,KAAM,CACbj9E,EAAK9gC,GAAMo3C,OAAO/e,GAAYyI,EAAKi9E,MACnC,IAAGj9E,EAAKk9E,cAAel9E,EAAK9gC,EAAE2jD,QAAU7iB,EAAKk9E,oBACtCl9E,GAAKi9E,WAAaj9E,GAAKk9E,cAE/B,GAAGl9E,EAAKm9E,aAAen9E,EAAKo9E,UAAW,CACtC/sG,EAAKpU,GAAKyT,SAASswB,EAAKm9E,YAAY,IAAI,EACxCxtG,GAAKL,GAAKI,SAASswB,EAAKo9E,UAAU,IAAI,EACtC,IAAG/sG,EAAKpU,GAAK0T,EAAKL,EAAGmhD,EAAOtxD,MAAMjC,GAAGjB,EAAEA,EAAEqT,EAAEA,GAAG5X,GAAGuE,EAAEoU,EAAGf,EAAEK,KAEzD,IAAIlE,EAAK+3B,WAAY,CAAE,GAAGxD,EAAKm9E,YAAalhH,EAAIoU,EAAK,QAAUpU,MAC1D,IAAG+jC,EAAKm9E,aAAen9E,EAAKo9E,UAAW,CAChD,IAAI,GAAIC,GAAMphH,EAAGohH,GAAOhtG,IAAMgtG,EAAK,CAC7B,IAAI,GAAIC,GAAMhuG,EAAGguG,GAAO3tG,IAAM2tG,EAAK,CAClC,GAAGD,EAAMphH,GAAKqhH,EAAMhuG,EAAG,CACtB,GAAG7D,EAAKi3B,MAAO,CACd,IAAI85E,EAAS,SAASc,GAAMd,EAAS,SAASc,KAC9Cd,GAAS,SAASc,GAAKD,IAAQz4G,EAAE,SAC3B43G,GAAS77E,GAAW08E,GAAOz8E,GAAW08E,KAAS14G,EAAE,OAI3D3I,EAAIoU,EAAK,QAEHpU,MACD,CACN+jC,EAAO45E,GAAoB1iE,EAAG,GAC9B,IAAGlX,EAAKyzC,MAAOx3E,GAAK+jC,EAAKyzC,MAAQ,CACjC,IAAGx3E,EAAI2nE,EAAS1mE,EAAEjB,EAAG2nE,EAAS1mE,EAAEjB,EAAIA,CACpC,IAAGA,EAAI2nE,EAASlsE,EAAEuE,EAAG2nE,EAASlsE,EAAEuE,EAAIA,CACpC,IAAGi7C,EAAG,GAAGv7C,OAAO,KAAO,OAAQM,CAC/Bi2C,MAED,MACD,IAAK,MACJ,GAAGgF,EAAG,KAAK,KAAOA,EAAG,GAAGv7C,OAAO,KAAO,KAAM,CAC3C,GAAG2T,EAAIs0D,EAAS1mE,EAAEoS,EAAGs0D,EAAS1mE,EAAEoS,EAAIA,CACpC,IAAGA,EAAIs0D,EAASlsE,EAAE4X,EAAGs0D,EAASlsE,EAAE4X,EAAIA,CACpC,IAAG4nC,EAAG,GAAGv7C,OAAO,KAAO,KAAM,CAC5BmuB,EAAM4vF,GAAiBxiE,EAAG,GAC1B,IAAGptB,EAAI2pD,MAAOnkE,GAAKwa,EAAI2pD,MAAQ,EAEhCx3E,EAAI,IAAKqT,MACH,CACNwa,EAAM4vF,GAAiBxiE,EAAG,GAC1B,IAAGptB,EAAI2pD,MAAOnkE,GAAKwa,EAAI2pD,MAAQ,CAC/By4B,KACA,IAAGpiF,EAAIyzF,eAAiB,KAAOzzF,EAAI0zF,OAAQ,CAC1CtR,EAAOltC,IAAMtvD,SAASoa,EAAI0zF,OAAQ,GAAKtR,GAAOjlD,IAAM+Y,GAAMksC,EAAOltC,IACjExB,GAAQluD,GAAK48F,EAEd,GAAGpiF,EAAIisF,QAAU,IAAK,CAAE7J,EAAO/lD,OAAS,IAAMqX,GAAQluD,GAAK48F,GAE5D,MACD,IAAK,YACJ,GAAGh1D,EAAG,KAAK,IAAI,CACd,IAAI9tB,EAAI3L,EAAMkB,OAAO,KAAKu4B,EAAG,GAAI,KAAM,IAAIz+C,OAAM,cAAc2wB,EAAIhrB,KAAK,KACxEm+G,GAAWp9G,KAAKs9G,EAChB,IAAG74C,EAAS1mE,EAAEoS,GAAKs0D,EAASlsE,EAAE4X,GAAKs0D,EAAS1mE,EAAEjB,GAAK2nE,EAASlsE,EAAEuE,EAAG,CAChEugH,EAAS,QAAUj7E,GAAaqiC,EAChC,IAAGn4D,EAAKmrD,WAAanrD,EAAKmrD,WAAagN,EAASlsE,EAAE4X,EAAG,CACpDktG,EAAS,YAAcA,EAAS,OAChC54C,GAASlsE,EAAE4X,EAAI7D,EAAKmrD,UAAY,CAChC4lD,GAAS,QAAUj7E,GAAaqiC,IAGlC,GAAGnT,EAAO74D,OAAQ4kH,EAAS,WAAa/rD,CACxC,IAAGqsD,EAAMllH,OAAS,EAAG4kH,EAAS,SAAWM,CACzC,IAAGt/C,EAAQ5lE,OAAS,EAAG4kH,EAAS,SAAWh/C,CAC3Cl7B,GAAOm6E,GAAaD,MACd,CACN54C,GAAY1mE,GAAIoS,EAAE,IAASrT,EAAE,KAAUvE,GAAI4X,EAAE,EAAGrT,EAAE,GAClDqT,GAAIrT,EAAI,CACRwhB,GAAMte,MAAM+3C,EAAG,GAAI,OACnB9tB,GAAMswF,GAAiBxiE,EAAG,GAC1BulE,GAAYllF,GAAYnO,EAAIslC,KAC5B8tD,KAAiB,IAAG/wG,EAAKi3B,MAAO85E,EAAS,WACzC/rD,KACAk+B,KACAnxB,KACAu/C,IAAWhiG,KAAK0hG,EAAW1G,OAAO,EAClCn4C,GAASp7B,OAAOrjC,KAAK49G,GAEtB,MACD,IAAK,QACJ,GAAG7lE,EAAG,KAAK,IAAI,CAAC,IAAI9tB,EAAI3L,EAAMkB,OAAO,KAAKu4B,EAAG,GAAI,KAAM,IAAIz+C,OAAM,cAAc2wB,EAAIhrB,KAAK,UACnF,IAAG84C,EAAG,GAAGv7C,OAAO,IAAM,KAAM,UAC5B,CACJ8hB,EAAMte,MAAM+3C,EAAG,GAAI,OACnB4lE,KAAY3S,GAAU,MAEvB,MAED,IAAK,QACJ,GAAGjzD,EAAG,KAAK,IAAKgjE,GAAmB3nE,EAAQ4nE,EAAM1uG,OAC5C0uG,GAAOT,GAAiBxiE,EAAG,GAChC,OAED,IAAK,eACJijE,EAAKrG,GAAKv8E,GAAYmiF,GAAiBxiE,EAAG,IAAIumE,QAAU,UACxD,IAAG5D,GAAcM,EAAKrG,IAAKqG,EAAKrG,GAAK+F,GAAcM,EAAKrG,GACxD,KAAI,GAAI4J,GAAS,EAAGA,GAAU,MAASA,EAAQ,GAAG/3G,EAAU+3G,IAAWvD,EAAKrG,GAAI,KAChF,IAAG4J,GAAU,IAAO,IAAIA,EAAS,GAAMA,GAAU,MAASA,EAAQ,GAAG/3G,EAAU+3G,IAAW,KAAM,CAAEvoG,GAAUglG,EAAKrG,GAAI4J,EAAS,OAC9H,MAED,IAAK,SACJ,GAAGjgG,EAAMA,EAAM7lB,OAAO,GAAG,KAAkB,QAAS,KACpD,IAAGs/C,EAAG,KAAK,IAAK,KAChBsjE,GAAOd,GAAiBxiE,EAAG,GAC3B,IAAGsjE,EAAKzE,OAAQ,CAAEyE,EAAKr0D,OAAS,WAAaq0D,GAAKzE,OAClD,GAAGyE,EAAKmD,MAAOnD,EAAK76C,IAAMjwD,SAAS8qG,EAAKmD,MAAO,GAC/C,KAAIxT,GAAWqQ,EAAK76C,IAAM,GAAI,CAC7BwqC,EAAU,IAAMp0B,IAAMH,EACtB,KAAI,GAAIgoC,GAAO,EAAGA,EAAOd,EAAMllH,SAAUgmH,EAAM,GAAGd,EAAMc,GAAO1+C,GAAY49C,EAAMc,IAElF,GAAGzT,EAASjrC,GAAYs7C,EACxBsC,GAAOtC,EAAK/mC,MAAM,GAAGqpC,EAAMllH,QAAW4iH,CACtC,KAAI,GAAI7iH,GAAI,EAAGA,GAAK6iH,EAAKqD,OAAQlmH,EAAGmlH,EAAMA,EAAMllH,QAAUo5B,GAAIwpF,EAC9D,OAED,IAAK,aACJ,GAAGtjE,EAAG,KAAK,IAAK,KAChB,KAAI0mB,EAASE,MAAOF,EAASE,QAC7B,IAAIggD,GAActnF,GAAY0gB,EAAG,GACjC,IAAI6mE,KACHrvD,KAAMssD,GAAkB8C,EAAYpvD,MACpC0P,IAAKC,GAASy/C,EAAYE,SAASriH,MAAM,IAAK2T,EAAE,EAAGrT,EAAE,IAEtD,IAAG2hE,EAASp7B,OAAO5qC,OAAO,EAAGmmH,GAAa5/C,MAAMP,EAASp7B,OAAO5qC,OAAO,CAC1EgmE,GAASE,MAAM3+D,KAAK4+G,GACjB,OAED,IAAK,YAAkC,MACvC,IAAK,IAAkB,MACvB,IAAK,IAAkB,MACvB,IAAK,IAAkB,MACvB,IAAK,IAAkB,MACvB,IAAK,KAAoB,MACzB,IAAK,KAAoB,MACzB,IAAK,KAAoB,MACzB,IAAK,MAAsB,MAC3B,IAAK,MAAsB,MAC3B,IAAK,OAAwB,MAC7B,IAAK,YACJ,MACD,IAAK,UAA8B,MACnC,IAAK,SAA4B,MACjC,IAAK,OACJ,GAAG7mE,EAAG,GAAGv7C,OAAO,KAAO,KAAM,UACxB,IAAGu7C,EAAG,KAAK,IAAKhpC,GAAMkC,EAAIzU,MAAMihH,EAAM1lE,EAAG9jB,WACzCwpF,GAAO1lE,EAAG9jB,MAAQ8jB,EAAG,GAAGt/C,MAC7B,OACD,IAAK,WACJ,IAAI6T,EAAKo/C,WAAY,KACrBsvD,GAAKC,SAAWV,GAAiBxiE,EAAG,GACpC,OACD,IAAK,aAAoC,MAEzC,IAAK,UACL,IAAK,SACL,IAAK,eACL,IAAK,WACL,IAAK,YACL,IAAK,WACL,IAAK,YACL,IAAK,WACL,IAAK,cACL,IAAK,aACL,IAAK,eACL,IAAK,WACL,IAAK,YACL,IAAK,aACL,IAAK,iBACL,IAAK,WACL,IAAK,iBACL,IAAK,cACL,IAAK,YACL,IAAK,UACJ,GAAGA,EAAG,GAAGv7C,OAAO,KAAO,KAAM,UACxB,IAAGu7C,EAAG,KAAK,IAAKkE,GAAchD,EAAO4kE,EAAS5sG,EAAIzU,MAAMkhH,EAAM3lE,EAAG9jB,YACjEypF,GAAO3lE,EAAG9jB,MAAQ8jB,EAAG,GAAGt/C,MAC7B,OACD,IAAK,aAAoC,MAEzC,IAAK,UACL,IAAK,WACJ,GAAGs/C,EAAG,KAAK,IAAI,CAAC,IAAI9tB,EAAI3L,EAAMkB,OAAO,KAAKu4B,EAAG,GAAI,KAAM,IAAIz+C,OAAM,cAAc2wB,EAAIhrB,KAAK,UACnFqf,GAAMte,MAAM+3C,EAAG,GAAI,OACxB,OAED,IAAK,UACJ,GAAGA,EAAG,KAAK,IAAI,CACd,IAAI9tB,EAAI3L,EAAMkB,OAAO,KAAKu4B,EAAG,GAAI,KAAM,IAAIz+C,OAAM,cAAc2wB,EAAIhrB,KAAK,KACxE68G,IAAmB1rD,EACnBrd,GAAS/yC,KAAKowD,OACR,CACN9xC,EAAMte,MAAM+3C,EAAG,GAAI,OACnB9tB,GAAMswF,GAAiBxiE,EAAG,GAC1B,KAAI3e,GAAanP,EAAI,eAAe,KAAM8oB,EAASiU,OAAS,IAC5DoJ,IAAY/rC,EAAE4F,EAAIkxB,QAEnB,MAED,IAAK,aACJ,GAAGpD,EAAG,KAAK,IAAI,CAAC,IAAI9tB,EAAI3L,EAAMkB,OAAO,KAAKu4B,EAAG,GAAI,KAAM,IAAIz+C,OAAM,cAAc2wB,EAAIhrB,KAAK,UACnF,IAAG84C,EAAG,GAAGp/C,OAAOo/C,EAAG,GAAGt/C,OAAO,KAAO,IAAK,CAC7C,GAAIqmH,IAAavE,GAAiBxiE,EAAG,GACrCslE,GAAS,gBAAmB/sD,IAAI4O,GAAS4/C,GAAWC,OAAOt7G,QAAQ,MAAM,IACzE6a,GAAMte,MAAM+3C,EAAG,GAAI,OAEpB,MAED,IAAK,OAAwB,MAE7B,IAAK,iBACJ,GAAGA,EAAG,KAAK,IAAI,CACd,IAAI9tB,EAAI3L,EAAMkB,OAAO,KAAKu4B,EAAG,GAAI,KAAM,IAAIz+C,OAAM,cAAc2wB,EAAIhrB,KAAK,UAClE,CACN,GAAG84C,EAAG,GAAGp/C,OAAOo/C,EAAG,GAAGt/C,OAAO,KAAO,IAAK6lB,EAAMte,MAAM+3C,EAAG,GAAI,OAE7D,MAED,IAAK,gBACJ,MACD,IAAK,oBACL,IAAK,sBACL,IAAK,4BACL,IAAK,0BACL,IAAK,cACL,IAAK,cACL,IAAK,SACL,IAAK,WACL,IAAK,cACL,IAAK,cACL,IAAK,WACL,IAAK,UACL,IAAK,yBACL,IAAK,gBACL,IAAK,aACL,IAAK,iBACL,IAAK,mBACL,IAAK,mBACJ,GAAGA,EAAG,KAAK,IAAI,CAAC,IAAI9tB,EAAI3L,EAAMkB,OAAO,KAAKu4B,EAAG,GAAI,KAAM,IAAIz+C,OAAM,cAAc2wB,EAAIhrB,KAAK,UACnF,IAAG84C,EAAG,GAAGp/C,OAAOo/C,EAAG,GAAGt/C,OAAO,KAAO,IAAK6lB,EAAMte,MAAM+3C,EAAG,GAAI,MACjE,OAED,IAAK,OAAwB,MAE7B,QAEC,GAAGz5B,EAAM7lB,QAAU,GAAKs/C,EAAG,IAAM,WAAY,MAAOinE,IAAW/tG,EAAK3E,EAEpE,IAAGgS,EAAM7lB,QAAU,GAAKs/C,EAAG,IAAM,MAAgB,MAAOinE,IAAW/tG,EAAK3E,EAExE,IAAI0R,IAAO,IACX,QAAOM,EAAMA,EAAM7lB,OAAO,GAAG,IAE5B,IAAK,yBAA4D,OAAOs/C,EAAG,IAC1E,IAAK,WAAgC,MACrC,IAAK,4BAAkE,MACvE,IAAK,qBAAoD,MACzD,IAAK,uBAAwD,MAC7D,IAAK,SAA4B,MACjC,IAAK,QAA0B,MAC/B,IAAK,QAA0B,MAC/B,IAAK,MAAsB,MAC3B,IAAK,mBAAgD,MACrD,IAAK,sBAAsD,MAC3D,QAAS/5B,GAAO,OACf,MAGF,IAAK,mBAAgD,OAAO+5B,EAAG,IAC9D,IAAK,UAA8B,MACnC,IAAK,iBAA4C,MACjD,IAAK,qBAAoD,MACzD,IAAK,QAA0B,MAC/B,IAAK,UAA8B,MACnC,IAAK,YAAkC,MACvC,IAAK,WAAgC,MACrC,IAAK,kBAA8C,MACnD,QAAS/5B,GAAO,OACf,MAGF,IAAK,gBAA0C,OAAO+5B,EAAG,IACxD,IAAK,WACV0mB,EAASC,QAAQxxD,SAAW,IACtB,OACD,IAAK,0BAA8D,MACnE,IAAK,wBAA0D,MAC/D,IAAK,mBAAgD,MACrD,IAAK,eAAwC,MAC7C,IAAK,cAAsC,MAC3C,IAAK,aAAoC,MACzC,IAAK,aAAoC,MACzC,IAAK,WAAgC,MACrC,IAAK,mBAAgD,MACrD,IAAK,gBAA0C,MAC/C,IAAK,iBAA4C,MACjD,IAAK,cAAsC,MAC3C,IAAK,kBAA8C,MACnD,IAAK,oBAAkD,MACvD,IAAK,UAA8B,MACnC,IAAK,YAAkC,MACvC,IAAK,aAAoC,MACzC,IAAK,kBAA8C,MACnD,IAAK,iBAA4C,MACjD,IAAK,MAAsB,MAC3B,IAAK,yBAA4D,MACjE,IAAK,sBAAsD,MAC3D,IAAK,YAAkC,MACvC,IAAK,gBAA0C,MAC/C,IAAK,YAAkC,MACvC,IAAK,OAAwB,MAC7B,IAAK,MAAsB,MAC3B,IAAK,QAA0B,MAC/B,IAAK,iBAA4C,MACjD,IAAK,cAAsC,MAC3C,IAAK,WAAgC,MACrC,IAAK,gBAA0C,MAC/C,IAAK,MAAsB,MAC3B,IAAK,aAAoC,MACzC,IAAK,UAA8B,MACnC,IAAK,WAAgC,MACrC,IAAK,UAA8B,MACnC,IAAK,aAAoC,MACzC,IAAK,UAA8B,MACnC,IAAK,QAA0B,MAC/B,IAAK,OAAwB,MAC7B,IAAK,MAAsB,MAC3B,IAAK,gBAA0C,MAC/C,IAAK,iBAA4C,MACjD,IAAK,2BAAgE,MACrE,IAAK,SAA4B,MACjC,IAAK,cAAsC,MAC3C,IAAK,qBAAoD,MACzD,QAAS8Q,GAAO,OACf,MAGF,IAAK,kBAA8C,OAAO+5B,EAAG,IAC5D,IAAK,aAAoC,MACzC,IAAK,SAA4B,MACjC,IAAK,QAA0B,MAC/B,QAAS/5B,GAAO,OACf,MAGF,IAAK,mBAAgD,OAAO+5B,EAAG,IAC9D,IAAK,UACJ,GAAGA,EAAG,GAAGv7C,OAAO,KAAO,KAAK,MACvB,IAAGu7C,EAAG,KAAK,IAAK,OAAO9mC,EAAIzU,MAAMkhH,EAAM3lE,EAAG9jB,QAC9C,IAAK,cAAe2pF,EAAQhH,OAAS,CAAG,OACxC,IAAK,kBAAmBgH,EAAQhH,OAAS,CAAG,YAExC8G,GAAO3lE,EAAG9jB,MAAQ8jB,EAAG,GAAGt/C,MAC7B,OACD,IAAK,SACJ,IAAI4kH,EAAS,YAAapW,GAAgBoW,EAAS,eAAgB,OACnE,KAAIh6G,OAAOg0B,GAAY0gB,EAAG,IAAIknE,QAAS5B,EAAS,YAAYliG,QAAUkc,GAAY0gB,EAAG,IAAIknE,MACzF,OACD,IAAK,SACJ,IAAI5B,EAAS,YAAapW,GAAgBoW,EAAS,eAAgB,OACnE,KAAIh6G,OAAOg0B,GAAY0gB,EAAG,IAAIknE,QAAS5B,EAAS,YAAYhqD,QAAUh8B,GAAY0gB,EAAG,IAAIknE,MACzF,OACD,IAAK,cACJ,GAAIC,IAAc7nF,GAAY0gB,EAAG,GACjC,KAAIslE,EAAS,YAAapW,GAAgBoW,EAAS,eAAe,OAClE,KAAIh6G,OAAO67G,GAAYC,KAAM9B,EAAS,YAAY9V,KAAO2X,GAAYC,GACrE,KAAI97G,OAAO67G,GAAYE,MAAO/B,EAAS,YAAYhW,MAAQ6X,GAAYE,IACvE,KAAI/7G,OAAO67G,GAAYG,OAAQhC,EAAS,YAAY/V,OAAS4X,GAAYG,KACzE,KAAIh8G,OAAO67G,GAAYI,QAASjC,EAAS,YAAY7V,QAAU0X,GAAYI,MAC3E,OACD,IAAK,qBACJ,IAAI7gD,EAAS8sC,MAAO9sC,EAAS8sC,QAC7B,KAAI9sC,EAAS8sC,MAAM,GAAI9sC,EAAS8sC,MAAM,KACtC9sC,GAAS8sC,MAAM,GAAG7hD,IAAM,IACxB,OAED,IAAK,cAAsC,MAC3C,IAAK,gBAA0C,MAE/C,IAAK,mBACL,IAAK,gBACJ,MAED,IAAK,wBACJ,MAED,IAAK,YAAkC,MACvC,IAAK,YAAkC,MACvC,IAAK,mBAAgD,MACrD,IAAK,sBAAsD,MAE3D,IAAK,WAAgC,MACrC,IAAK,QAA0B,MAC/B,IAAK,cAAsC,MAC3C,IAAK,QAA0B,MAC/B,IAAK,QAA0B,MAC/B,IAAK,OAAwB,MAC7B,IAAK,SAA4B,MACjC,IAAK,SAA4B,MACjC,IAAK,YAAkC,MACvC,IAAK,WAAgC,MACrC,IAAK,iBAA4C,MACjD,IAAK,kBAA8C,MACnD,IAAK,mBAAgD,MACrD,IAAK,mBAAgD,MACrD,IAAK,uBAAwD,MAC7D,IAAK,qBAAoD,MACzD,IAAK,iBAA4C,MACjD,IAAK,aAAoC,MACzC,IAAK,gBAA0C,MAC/C,IAAK,oBAAkD,MACvD,IAAK,YAAkC,MACvC,IAAK,iBAA4C,MACjD,IAAK,iBAA4C,MACjD,IAAK,iBAA4C,MACjD,IAAK,gBAA0C,MAC/C,IAAK,WAAgC,MACrC,IAAK,WAAgC,MACrC,IAAK,YAAkC,MACvC,IAAK,iBAA4C,MACjD,IAAK,OAAwB,MAC7B,IAAK,cAAsC,MAC3C,IAAK,YAAkC,MACvC,IAAK,YAAkC,MACvC,IAAK,cAAsC,MAC3C,IAAK,kBAA8C,MACnD,IAAK,kBAA8C,MACnD,IAAK,kBAA8C,MACnD,IAAK,kBAA8C,MACnD,IAAK,wBAA0D,MAC/D,IAAK,mBAAgD,MACrD,IAAK,gBAA0C,MAC/C,IAAK,gBAA0C,MAC/C,IAAK,2BACJ,IAAI2zD,EAAS,YAAaA,EAAS,cACnCA,GAAS,YAAY/S,MAAQ,IAC7B,OACD,IAAK,gBAA0C,MAC/C,IAAK,uBAAwD,MAC7D,IAAK,qBAAoD,MACzD,IAAK,8BACJ,IAAI+S,EAAS,YAAaA,EAAS,cACnCA,GAAS,YAAYhW,KAAO,IAC5B,OACD,IAAK,gBAA0C,MAC/C,IAAK,oBAAkD,MACvD,IAAK,mBAAgD,MACrD,IAAK,iBAA4C,MACjD,IAAK,sBAAsD,MAC3D,IAAK,gBAA0C,MAC/C,IAAK,sBAAsD,MAC3D,IAAK,aAAoC,MACzC,IAAK,gBAA0C,MAC/C,IAAK,YAAkC,MACvC,IAAK,kBAA8C,MACnD,QAASrpF,GAAO,OACf,MAGF,IAAK,cAAoC,IAAK,aAAoC,OAAO+5B,EAAG,IAC3F,IAAK,uBAAwD,MAC7D,IAAK,4BAAkE,MACvE,IAAK,mBAAgD,MACrD,IAAK,WAAgC,MACrC,IAAK,aAAoC,MACzC,IAAK,cAAsC,MAC3C,IAAK,aAAoC,MACzC,IAAK,yBAA4D,MACjE,IAAK,mBAAgD,MACrD,IAAK,WAAgC,MACrC,IAAK,YAAkC,MACvC,IAAK,WAAgC,MACrC,IAAK,YAAkC,MACvC,IAAK,aAAoC,MACzC,IAAK,cAAsC,MAC3C,IAAK,cAAsC,MAC3C,IAAK,aAAoC,MACzC,IAAK,mBAAgD,MACrD,IAAK,OAAwB,MAC7B,IAAK,WAAgC,MACrC,IAAK,WAAgC,MACrC,IAAK,aAAoC,MACzC,IAAK,yBAA4D,MACjE,IAAK,WAAgC,MACrC,IAAK,YAAkC,MACvC,IAAK,gBAA0C,MAC/C,IAAK,aAAoC,MACzC,IAAK,sBAAsD,MAC3D,IAAK,SAA4B,MACjC,IAAK,WAAgC,MACrC,IAAK,YAAkC,MACvC,IAAK,gBAA0C,MAC/C,IAAK,WAAgC,MACrC,IAAK,oBAAkD,MACvD,IAAK,iBAA4C,MACjD,IAAK,cAAsC,MAC3C,IAAK,iBAA4C,MACjD,IAAK,cAAsC,MAC3C,IAAK,cAAsC,MAC3C,IAAK,kBAA8C,MACnD,IAAK,qBAAoD,MACzD,IAAK,oBAAkD,MACvD,IAAK,uBAAwD,MAC7D,IAAK,wBAA0D,MAC/D,IAAK,cAAsC,MAC3C,QAAS/5B,GAAO,OACf,MAGF,IAAK,aAAoC,OAAO+5B,EAAG,IAClD,IAAK,YAAkC,MACvC,IAAK,WAAgC,MACrC,IAAK,YAAkC,MACvC,IAAK,WAAgC,MACrC,IAAK,WAAgC,MACrC,IAAK,SAA4B,MACjC,IAAK,SAA4B,MACjC,QAAS/5B,GAAO,OACf,MAGF,IAAK,aAAoC,OAAO+5B,EAAG,IAClD,IAAK,mBAAgD,MACrD,IAAK,sBAAsD,MAC3D,IAAK,gBAA0C,MAC/C,IAAK,eAAwC,MAC7C,QAAS/5B,GAAO,OACf,MAGF,IAAK,aAAoC,OAAO+5B,EAAG,IAClD,IAAK,KAAoB,MACzB,IAAK,iBAA4C,MACjD,IAAK,oBAAkD,MACvD,IAAK,cAAsC,MAC3C,IAAK,YAAkC,MACvC,IAAK,qBAAoD,MACzD,IAAK,iBAA4C,MACjD,IAAK,YAAkC,MACvC,IAAK,aAAoC,MACzC,IAAK,aAAoC,MACzC,IAAK,cAAsC,MAC3C,IAAK,cAAsC,MAC3C,IAAK,WAAgC,MACrC,IAAK,SAA4B,MACjC,IAAK,aAAoC,MACzC,IAAK,iBAA4C,MACjD,IAAK,qBAAoD,MACzD,IAAK,qBAAoD,MACzD,IAAK,SAA4B,MACjC,IAAK,SAA4B,MACjC,IAAK,UAA8B,MACnC,IAAK,oBAAkD,MACvD,IAAK,uBAAwD,MAC7D,IAAK,iBAA4C,MACjD,IAAK,YAAkC,MACvC,IAAK,aAAoC,MACzC,IAAK,MAAsB,MAC3B,IAAK,QAA0B,MAC/B,IAAK,iBAA4C,MACjD,IAAK,kBAA8C,MACnD,IAAK,qBAAoD,MACzD,QAAS/5B,GAAO,OACf,MAEF,IAAK,iBACL,OAAO+5B,EAAG,IACT,IAAK,QAA0B,MAE/B,IAAK,OAAwB,MAC7B,IAAK,MAAsB,MAC3B,IAAK,MAAsB,MAC3B,IAAK,OAAwB,MAC7B,IAAK,aAAoC,MACzC,IAAK,QAA0B,MAC/B,IAAK,gBAA0C,MAC/C,IAAK,QAA0B,MAC/B,IAAK,aAAoC,MACzC,IAAK,eAAwC,MAC7C,IAAK,aAAoC,MACzC,IAAK,eAAwC,MAC7C,IAAK,aAAoC,MACzC,IAAK,YAAkC,MACvC,IAAK,YAAkC,MACvC,IAAK,YAAkC,MACvC,IAAK,YAAkC,MACvC,IAAK,WAAgC,MACrC,IAAK,SAA4B,MACjC,IAAK,SAA4B,MACjC,IAAK,SAA4B,MAEjC,IAAK,gBAA0C,MAC/C,QAAS/5B,GAAO,OACf,MAEF,IAAK,WACL,IAAK,wBACL,OAAO+5B,EAAG,IACT,IAAK,QAA0B,MAC/B,IAAK,OAAwB,MAC7B,IAAK,MAAsB,MAC3B,IAAK,MAAsB,MAC3B,IAAK,OAAwB,MAC7B,IAAK,aAAoC,MACzC,IAAK,QAA0B,MAC/B,IAAK,gBAA0C,MAC/C,IAAK,QAA0B,MAC/B,IAAK,aAAoC,MACzC,IAAK,eAAwC,MAC7C,IAAK,aAAoC,MACzC,IAAK,gBAA0C,MAC/C,IAAK,eAAwC,MAC7C,IAAK,aAAoC,MACzC,IAAK,YAAkC,MACvC,IAAK,YAAkC,MACvC,IAAK,YAAkC,MACvC,IAAK,YAAkC,MACvC,IAAK,WAAgC,MACrC,IAAK,SAA4B,MACjC,IAAK,SAA4B,MACjC,IAAK,SAA4B,MACjC,QAAS/5B,GAAO,OACf,MAGF,IAAK,WAA8B,IAAK,UAA4B,IAAK,OAAwB,OAAO+5B,EAAG,IAC1G,IAAK,MAAsB,MAC3B,IAAK,QAA0B,MAC/B,IAAK,QAA0B,MAC/B,IAAK,QAA0B,MAC/B,IAAK,QAA0B,MAC/B,IAAK,UAA8B,MACnC,IAAK,WAAgC,MACrC,IAAK,YAAkC,MACvC,IAAK,cAAsC,MAC3C,IAAK,gBAA0C,MAE/C,IAAK,UACL,IAAK,WACL,IAAK,eACL,IAAK,YACL,IAAK,OACL,IAAK,aACL,IAAK,UAA8B,MAEnC,IAAK,MAAsB,MAC3B,QAAS/5B,GAAO,OACf,MAGF,IAAK,YAAkC,MAEvC,QAASA,GAAO,KAAO,QAExB,GAAGA,GAAM,KAET,IAAG+5B,EAAG,GAAG14C,MAAM,YAAa,KAC5B,KAAIif,EAAMA,EAAM7lB,OAAO,GAAG,GAAI,KAAM,qBAAuBs/C,EAAG,GAAK,IAAMz5B,EAAMrf,KAAK,IACpF,IAAGqf,EAAMA,EAAM7lB,OAAO,GAAG,KAAmC,2BAA4B,CACvF,GAAGs/C,EAAG,GAAGv7C,OAAO,KAAO,KAAM,UACxB,IAAGu7C,EAAG,KAAK,IAAK6iE,GAAkBx+D,EAAWyhE,EAAS5hH,EAAIgV,EAAIzU,MAAMkhH,EAAM3lE,EAAG9jB,YAC7E,CAAEh4B,EAAK87C,CAAI2lE,GAAO3lE,EAAG9jB,MAAQ8jB,EAAG,GAAGt/C,OACxC,MAED,GAAG6T,EAAK6tB,IAAK,KAAM,qBAAuB4d,EAAG,GAAK,IAAMz5B,EAAMrf,KAAK,MAErE,GAAI5C,MACJ,KAAIiQ,EAAKizG,aAAejzG,EAAKkzG,UAAWnjH,GAAIgnC,OAASF,CACrD9mC,IAAI+mC,WAAag6E,CACjB/gH,IAAIoiE,SAAWA,CACfpiE,IAAImY,IAAMqd,GAAIrrB,EACdnK,IAAI48C,MAAQA,CACZ58C,IAAI+/C,UAAYA,CAChB//C,IAAI44C,SAAW,MACf,OAAO54C,IAGR,QAASojH,IAAWtjH,EAAMmQ,GACzBozG,GAAcpzG,EAAKA,MACnB,QAAOA,EAAKqC,MAAM,UACjB,IAAK,SAAU,MAAOotG,IAAev4G,EAAcrH,GAAOmQ,GAC1D,IAAK,UAAU,IAAK,UAAU,IAAK,OAAQ,MAAOyvG,IAAe5/G,EAAMmQ,GACvE,IAAK,QAAS,MAAOyvG,IAAe13G,EAAIlI,GAAOmQ,KAKjD,QAASqzG,IAAiBnnE,EAAIlsC,GAC7B,GAAInK,KAEJ,IAAGq2C,EAAGS,MAAO92C,EAAEnC,KAAKk8C,GAAoB1D,EAAGS,MAAO3sC,GAElD,IAAGksC,EAAG4D,UAAWj6C,EAAEnC,KAAKm8C,GAAqB3D,EAAGS,MAAOT,EAAG4D,UAAW9vC,GACrE,OAAOnK,GAAElD,KAAK,IAGf,QAAS2gH,IAAcpnE,GAGtB,MAAMA,OAAQimB,cAAcC,aAAaxxD,SAAU,MAAO,2FAC1D,OAAO,GAGR,QAAS2yG,IAAernE,EAAIlsC,GAE3B,GAAI8mC,IAAU,kEACd9mC,GAAKquE,QAAQx8E,QAAQ,SAAS0vD,EAAIpI,GACjC,GAAI1oC,KACJA,GAAQ/c,KAAKu6B,GAAU,eAAgB,MAAOulF,YAAannF,GAAUnyB,EAAUqnD,EAAG/qB,aAElF,IAAI3gC,IAAK49G,QAAS,KAAO,GAAGt6D,GAC5BrS,GAAOpzC,KAAKu6B,GAAU,QAASxd,EAAQ9d,KAAK,IAAKkD,KAElD,OAAOo4B,IAAU,SAAU6Y,EAAOn0C,KAAK,KAExC,QAAS+gH,IAAgB3kH,GAAK,MAAOk/B,IAAU,aAAc,MAAO0lF,UAAW5kH,EAAEk0D,KAAK/yD,MAAM,EAAE,IAAM,SAAWnB,EAAEk0D,KAAK/yD,MAAM,GAAKnB,EAAEk0D,KAAM2wD,cAAc,IAAM9/C,GAAS/kE,EAAE4jE,KAAM9uD,EAAE,EAAErT,EAAE,MACpL,QAASqjH,IAAiB3nE,GACzB,MAAMA,OAAQimB,cAAcE,MAAO,MAAO,EAC3C,IAAImwB,GAAQt2C,EAAGimB,SAASE,KACvB,IAAItiE,KACJ,KAAI,GAAI7D,GAAI,EAAGA,EAAIs2F,EAAMr2F,SAAUD,EAAG,CACrC,GAAI6C,GAAIyzF,EAAMt2F,EACd,IAAG6C,EAAE2jE,OAAS,KAAM,QACpB,IAAG3jE,EAAEk0D,KAAKlwD,MAAM,YAAa,QAC7BhD,GAAI2D,KAAKggH,GAAgB3kH,IAE1B,MAAOk/B,IAAU,QAASl+B,EAAI4C,KAAK,KAEpC,QAASmhH,IAAoB18E,EAAIp3B,EAAMmD,EAAK+oC,GAC3C,IAAI9U,EAAI,MAAO,EACf,OAAM8U,OAAQimB,cAAcE,MAAO,MAAO,EAC3C,IAAImwB,GAAQt2C,EAAGimB,SAASE,KACvB,IAAItiE,KACJ,KAAI,GAAI7D,GAAI,EAAGA,EAAIs2F,EAAMr2F,SAAUD,EAAG,CACrC,GAAI6C,GAAIyzF,EAAMt2F,EACd,IAAG6C,EAAE2jE,OAASvvD,EAAK,QAInB,IAAGpU,EAAEk0D,KAAKlwD,MAAM,YAAa,QAC7BhD,GAAI2D,KAAKggH,GAAgB3kH,IAE1B,MAAOgB,GAAI4C,KAAK,IAGjB,QAASohH,IAAqB38E,EAAIp3B,EAAMmD,EAAK+oC,GAC5C,IAAI9U,EAAI,MAAO,EACf,IAAIvhC,KAgBJ,IAAGuhC,EAAG,YAAa,CAClBvhC,EAAEnC,KAAK,cACP,IAAG0jC,EAAG,YAAYvoB,OAAQhZ,EAAEnC,KAAKu6B,GAAU,SAAU,MAAO+lF,WAAW58E,EAAG,YAAYvoB,SACtF,IAAGuoB,EAAG,YAAY2vB,OAAQlxD,EAAEnC,KAAKu6B,GAAU,SAAU,MAAO+lF,WAAW58E,EAAG,YAAY2vB,SACtFlxD,GAAEnC,KAAKu6B,GAAU,cAAe,MAC/BgmF,WAAY78E,EAAG,YAAY8jE,QAAU,OACrCgZ,SAAU98E,EAAG,YAAY2jE,MAAQ,MACjCoZ,UAAW/8E,EAAG,YAAY4jE,OAAS,MACnCoZ,QAASh9E,EAAG,YAAY6jE,KAAO,SAEhCplG,GAAEnC,KAAK,gBAgBR,GAAGw4C,GAAMA,EAAGimB,UAAYjmB,EAAGimB,SAASp7B,QAAUmV,EAAGimB,SAASp7B,OAAO5zB,GAAM,CAEtE,GAAG+oC,EAAGimB,SAASp7B,OAAO5zB,GAAKmnG,OAAQz0G,EAAEnC,KAAKu6B,GAAU,UAAYie,EAAGimB,SAASp7B,OAAO5zB,GAAKmnG,QAAU,EAAI,cAAgB,2BACjH,CAEJ,IAAI,GAAIp+G,GAAI,EAAGA,EAAIiX,IAAOjX,EAAG,GAAGggD,EAAGimB,SAASp7B,OAAO7qC,KAAOggD,EAAGimB,SAASp7B,OAAO7qC,GAAGo+G,OAAQ,KACxF,IAAGp+G,GAAKiX,EAAKtN,EAAEnC,KAAK,gBAMtB,OAAOw4C,OAAQimB,cAAc8sC,WAAW,QAAQ7hD,IAAKvnD,EAAEnC,KAAK,wBA2B5D,IAAG0jC,EAAG,YAAa,CAClBvhC,EAAEnC,KAAKq6B,GAAS,kBAAmB,QACnC,IAAGqJ,EAAG,YAAYi9E,QAASx+G,EAAEnC,KAAKq6B,GAAS,iBAAkB,QAC7D,IAAGqJ,EAAG,YAAYk9E,UAAWz+G,EAAEnC,KAAKq6B,GAAS,mBAAoB,QACjE,IAAGqJ,EAAG,YAAYm9E,mBAAqB,OAASn9E,EAAG,YAAYm9E,kBAAmB1+G,EAAEnC,KAAKq6B,GAAS,kBAAmB,oBAChH,IAAGqJ,EAAG,YAAYo9E,qBAAuB,OAASp9E,EAAG,YAAYo9E,oBAAqB3+G,EAAEnC,KAAKq6B,GAAS,kBAAmB,oBAE5H,cAAe,qBACf,gBAAiB,kBACjB,aAAc,kBACd,gBAAiB,oBACjB,aAAc,oBACd,mBAAoB,0BACpB,gBAAiB,oBACjB,aAAc,oBACd,OAAQ,cACR,aAAc,gBACd,cAAe,wBAChBl8B,QAAQ,SAAS1D,GAAK,GAAGipC,EAAG,YAAYjpC,EAAE,IAAK0H,EAAEnC,KAAK,IAAIvF,EAAE,GAAG,QAGjE,GAAG0H,EAAE1J,QAAU,EAAG,MAAO,EACzB,OAAO8hC,IAAU,mBAAoBp4B,EAAElD,KAAK,KAAMi1C,MAAMrY,GAAOphC,IAEhE,QAASsmH,IAAsBhuE,GAE9B,MAAOA,GAASr1C,IAAI,SAASZ,GAE5B,GAAI2I,GAAI0zB,GAAcr8B,EAAE2I,GAAG,GAC3B,IAAIpN,GAAGkiC,GAAU,UAAW90B,GAAIyuC,MAAQ,mCACxC,IAAIh8B,KACJ,IAAGpb,EAAEunB,EAAGnM,EAAE,aAAepb,EAAEunB,CAC3B,KAAI0uB,EAASiU,OAAQ9uC,EAAE,iBAAmB,GAC1C,OAAOqiB,IAAU,UAAWliC,EAAG6f,KAC7BjZ,KAAK,IAET,QAAS+hH,IAAmBngF,EAAMyvB,EAAK5sB,EAAIp3B,EAAMmD,EAAK+oC,EAAI56B,GACzD,IAAIijB,GAASA,EAAKr7B,GAAK9B,WAAam9B,EAAK3jC,GAAKwG,UAAY,MAAO,EAEjE,IAAIu9G,KACJ,IAAGpgF,EAAK3jC,EAAG+jH,EAAK,cAAgB,IAAMtoF,GAAUynC,GAASv/B,EAAK3jC,EAAG0gB,GACjE,IAAGijB,EAAK1hC,GAAK0hC,EAAK1hC,EAAE3C,MAAM,EAAG8zD,EAAI73D,SAAW63D,EAAK,CAChD,GAAItmC,GAAMkY,GAAYrB,EAAK1hC,EAAE3C,MAAM8zD,EAAI73D,OAAS,GAChDwoH,GAAK,iBAAmB,QAAUj3F,EAAI7Z,GAAKyN,EAAKzN,EAAI,GAAK,KAAO6Z,EAAI7Z,EAAIyN,EAAKzN,GAAK,KAAO,KAAO6Z,EAAIltB,GAAK8gB,EAAK9gB,EAAI,GAAK,KAAOktB,EAAIltB,EAAI8gB,EAAK9gB,GAAK,KAGjJ,GAAG+jC,EAAK9gC,GAAK8gC,EAAK9gC,EAAEo3C,OAAQ,CAC3B8pE,EAAK,WAAatoF,GAAUkI,EAAK9gC,EAAEo3C,OACnC,IAAGtW,EAAK9gC,EAAE2jD,QAASu9D,EAAK,mBAAqBtoF,GAAUkI,EAAK9gC,EAAE2jD,SAG/D,GAAGhgB,EAAG,WAAY,CACjB,GAAIupE,GAAOvpE,EAAG,UACd,KAAI,GAAIw9E,GAAK,EAAGA,GAAMjU,EAAKx0G,SAAUyoH,EAAI,CACxC,GAAGjU,EAAKiU,GAAInjH,EAAEjB,GAAK8gB,EAAK9gB,GAAKmwG,EAAKiU,GAAInjH,EAAEoS,GAAKyN,EAAKzN,EAAG,QACrD,IAAG88F,EAAKiU,GAAI3oH,EAAEuE,EAAImwG,EAAKiU,GAAInjH,EAAEjB,EAAGmkH,EAAK,kBAAoBhU,EAAKiU,GAAI3oH,EAAEuE,EAAImwG,EAAKiU,GAAInjH,EAAEjB,CACnF,IAAGmwG,EAAKiU,GAAI3oH,EAAE4X,EAAI88F,EAAKiU,GAAInjH,EAAEoS,EAAG8wG,EAAK,gBAAkBhU,EAAKiU,GAAI3oH,EAAE4X,EAAI88F,EAAKiU,GAAInjH,EAAEoS,GAInF,GAAI1K,GAAI,GAAIyS,EAAI,EAChB,QAAO2oB,EAAKp7B,GACX,IAAK,IAAK,IAAI6G,EAAK+3B,WAAY,MAAO,EAAI,OAC1C,IAAK,IAAK,CACT,IAAIp2B,SAAS4yB,EAAKr7B,GAAI,CACrBC,EAAI,OAASyS,GAAI8qB,GAAK3/B,MAAMw9B,EAAKr7B,GAAK,GAAO,OACvC,CACNC,EAAI,QAAUyS,GAAIxd,OAAOmmC,EAAKr7B,IAE9B,MACF,IAAK,IAAKC,EAAI,SAAWyS,GAAK2oB,EAAKr7B,EAAI,IAAM,GAAM,OACnD,IAAK,IAAKC,EAAI,OAASyS,GAAI8qB,GAAKnC,EAAKr7B,EAAI,OACzC,IAAK,IAAKC,EAAI,UAAYyS,GAAI,GAAI/K,MAAK0zB,EAAKr7B,GAAGi1B,aAAe,IAAGoG,EAAKrJ,GAAK,KAAMqJ,EAAKrJ,EAAIqJ,EAAKrJ,GAAKhxB,EAAU,GAAK,OACnH,IAAK,IAAKf,EAAI,QAAUyS,GAAI6gB,GAAW8H,EAAKr7B,GAAG,GAAK,QAGrD,GAAI4kD,GAAKq9C,GAAen7F,EAAKquE,QAAS95C,EAAMv0B,EAC5C20G,GAAK,cAAgB,KAAO,GAAG72D,EAC/B62D,GAAK,YAAcrjG,EAAK9gB,EAAI,CAC5B,IAAIqkH,GAAMtgF,EAAKr7B,GAAK,KAAO0S,EAAI,EAC/B,IAAI/L,GAAI00B,EAAKp7B,GAAK,IAAM,GAAM,kBAAoBA,EAAI,KAAO07G,EAAK,SAElE,KAAItgF,EAAK/jC,OAAOrE,OAAS,EAAG0T,GAAK40G,GAAsBlgF,EAAK/jC,EAE5D,OAAOy9B,IAAU,OAAQpuB,EAAG80G,GAE7B,QAASG,IAAkBrpG,EAAG4S,GAC7B,GAAIxoB,GAAI,mBAAqB4V,EAAE,GAAK,GACpC,IAAG4S,EAAK,CACP,GAAGA,EAAIm9B,MAAQn9B,EAAIk1C,IAAKl1C,EAAIk1C,IAAMC,GAAMn1C,EAAIm9B,IAC5C,IAAGn9B,EAAIk1C,IAAK19D,GAAK,oCAAsCwoB,EAAIk1C,IAAM,GACjE,IAAGl1C,EAAIq8B,OAAQ7kD,GAAK,iBAErB,MAAOA,GAAI,IAGZ,QAASk/G,IAAoB39E,EAAIp3B,EAAMmD,EAAK+oC,GAC3C,IAAI9U,EAAG,QAAS,MAAO,EACvB,IAAIxC,GAAQyB,GAAkBe,EAAG,QACjC,IAAIupE,GAAOvpE,EAAG,eAAkBw9E,EAAK,CACrC,IAAI/+G,KACJ,IAAGuhC,EAAG,SAAUA,EAAG,SAASvlC,QAAQ,SAAS9C,EAAG7C,GAC/CunE,GAAY1kE,EACZ,IAAIiB,KAAMjB,EAAEsmD,KACZ,IAAIzpC,GAAI6uF,GAAUvuG,EAAG6C,EACrB,IAAIgC,IAAKikH,WAAW9oH,EAAE,EACtB,IAAG8D,EAAGe,EAAE,YAAcojE,GAASvoD,EAAEypC,MACjC,IAAGtmD,EAAE2rD,OAAQ3pD,EAAE,aAAa,GAC5B8E,GAAEnC,KAAKu6B,GAAU,SAAS,KAAKl9B,KAEhC,IAAIkmC,GAAQG,EAAG,UAAY,IAC3B,IAAI9lB,IAAQzN,EAAE,EAAErT,EAAE,EAClB,KAAI,GAAIib,GAAImpB,EAAMnjC,EAAEoS,EAAG4H,GAAKmpB,EAAM3oC,EAAE4X,IAAK4H,EAAG,CAC3C,GAAI4S,IAAOy2F,GAAkBrpG,GAAI2rB,EAAG,cAAc3rB,IAClD6F,GAAKzN,EAAI4H,CACT,KAAI,GAAInZ,GAAIsiC,EAAMnjC,EAAEjB,EAAG8B,GAAKsiC,EAAM3oC,EAAEuE,IAAK8B,EAAG,CAC3Cgf,EAAK9gB,EAAI8B,CACT,IAAI2iH,GAAO,KACX,KAAIL,EAAK,EAAGA,GAAMjU,EAAKx0G,SAAUyoH,EAAI,CACpC,GAAGjU,EAAKiU,GAAInjH,EAAEjB,EAAI8B,EAAG,QACrB,IAAGquG,EAAKiU,GAAInjH,EAAEoS,EAAI4H,EAAG,QACrB,IAAGk1F,EAAKiU,GAAI3oH,EAAEuE,EAAI8B,EAAG,QACrB,IAAGquG,EAAKiU,GAAI3oH,EAAE4X,EAAI4H,EAAG,QACrB,IAAGk1F,EAAKiU,GAAInjH,EAAEjB,GAAK8B,GAAKquG,EAAKiU,GAAInjH,EAAEoS,GAAK4H,EAAGwpG,EAAO,IAClD,OAED,GAAGA,EAAM,QACT,IAAIjxD,GAAM9uB,GAAW5iC,GAAK6iC,GAAW1pB,GAAI8oB,EAAO0C,GAASG,EAAG,SAAS3rB,QAAQnZ,GAAK8kC,EAAG4sB,EACrF3lC,GAAI3qB,KAAKghH,GAAmBngF,EAAMyvB,EAAK5sB,EAAIp3B,EAAMmD,EAAK+oC,EAAI56B,IAE3D+M,EAAI3qB,KAAK,SACT,IAAG2qB,EAAIlyB,OAAS,EAAG0J,EAAEnC,KAAK2qB,EAAI1rB,KAAK,KAEpC,MAAOkD,GAAElD,KAAK,IAEf,QAASuiH,IAAc/xG,EAAKnD,EAAMksC,GACjC,GAAIr2C,KACJ,IAAIpE,GAAIy6C,EAAGpV,WAAW3zB,EACtB,IAAIi0B,GAAK8U,EAAGnV,OAAOtlC,EAEnB,IAAI0H,GAAIi+B,EAAK08E,GAAoB18E,EAAIp3B,EAAMmD,EAAK+oC,GAAM,EACtD,IAAG/yC,EAAEhN,OAAS,EAAG0J,EAAEnC,KAAK,UAAYyF,EAAI,WAGxCA,GAAIi+B,EAAK29E,GAAoB39E,EAAIp3B,EAAMmD,EAAK+oC,GAAM,EAClD,IAAG/yC,EAAEhN,OAAS,EAAG0J,EAAEnC,KAAK,UAAYyF,EAAI,WAGxCtD,GAAEnC,KAAKqgH,GAAqB38E,EAAIp3B,EAAMmD,EAAK+oC,GAE3C,IAAG9U,GAAMA,EAAG,eAAgBvhC,EAAEnC,KAAK,wBAA0BogE,GAAS79B,GAAUmB,EAAG,eAAe4sB,MAAOngD,EAAE,EAAErT,EAAE,IAAM,iEAErH,OAAOqF,GAAElD,KAAK,IAEf,QAASwiH,IAAWjpE,EAAIlsC,GACvB,IAAIA,EAAMA,IACV,KAAIksC,EAAGhkC,IAAKgkC,EAAGhkC,IAAMqd,GAAIrrB,EACzB,IAAGgyC,EAAGhkC,IAAK,CACVD,IAAYF,IAAemkC,EAAGhkC,IAE9BlI,GAAKo7F,OAAS74E,GAAU2pB,EAAGhkC,IAAMlI,GAAKo7F,OAAOlvD,EAAGhkC,IAAI,QAAU,CAC9DlI,GAAKq7F,IAAMnvD,EAAGhkC,GACdlI,GAAKquE,UACL8sB,IAAen7F,EAAKquE,YAAc+sB,QAAQga,QAAU,KAErD,GAAIrpH,KACJA,GAAE2H,KAAK2/G,GAAiBnnE,EAAIlsC,GAC5BjU,GAAE2H,KAAK4/G,GAAcpnE,EAAIlsC,GACzBjU,GAAE2H,KAAK,GACP3H,GAAE2H,KAAKmgH,GAAiB3nE,EAAIlsC,GAC5B,KAAI,GAAI9T,GAAI,EAAGA,EAAIggD,EAAGpV,WAAW3qC,SAAUD,EAC1CH,EAAE2H,KAAKu6B,GAAU,YAAainF,GAAchpH,EAAG8T,EAAMksC,IAAMynE,UAAUtnF,GAAU6f,EAAGpV,WAAW5qC,MAC9FH,GAAE,GAAKwnH,GAAernE,EAAIlsC,EAC1B,OAAOwqB,IAAayD,GAAU,WAAYliC,EAAE4G,KAAK,KAChDi1C,MAAcrY,GAAO9sB,GACrBwyE,UAAc1lD,GAAO15B,EACrBq/E,UAAc3lD,GAAOphC,EACrBknH,WAAc9lF,GAAO9sB,GACrB6yG,WAAc/lF,GAAOhpB,GACrBgvG,aAAchmF,GAAOC,OAIvB,QAASgmF,IAAcrzF,GACtB,GAAIjpB,KACJ,IAAIrD,GAAIssB,EAAIzpB,OAEZ7C,GAAEpC,EAAI,EAENyF,GAAEu8G,aAAe5/G,EAAEyW,WAAW,EAAG,aACjCpT,GAAEw8G,oBAAsB54E,GAAkCjnC,EAE1D,IAAGA,EAAE1J,OAAS0J,EAAEpC,GAAK,EAAG,MAAOyF,EAE/B,IAAI2G,GAAIhK,EAAEyW,WAAW,EACrB,IAAGzM,GAAK,GAAKA,EAAI,GAAI,MAAO3G,EAC5BrD,GAAEpC,GAAG,CAAGyF,GAAEy8G,UAAY9/G,EAAEyW,WAAW,EAAG,aAEtC,IAAGzW,EAAE1J,OAAS0J,EAAEpC,GAAK,EAAG,MAAOyF,EAC/B2G,GAAIhK,EAAEyW,WAAW,EACjB,IAAGzM,IAAM,WAAY,MAAO3G,EAC5BA,GAAE08G,uBAAyB74E,GAAqClnC,EAEhEgK,GAAIhK,EAAEyW,WAAW,EACjB,IAAGzM,GAAK,GAAKA,EAAI,GAAI,MAAO3G,EAC5BrD,GAAEpC,GAAG,CAAGyF,GAAE28G,UAAYhgH,EAAEyW,WAAW,EAAG,UAWvC,GAAIwpG,KAAgB,GAAQ,KAAQ,KAAQ,KAAQ,KACpD,SAASC,IAAMC,EAAYvqG,EAAGqB,EAAM3gB,EAAQ6T,GAC3C,GAAIvM,GAAItH,CACR,IAAIiM,KACJ,IAAIrM,GAAI+gB,EAAK5c,MAAM4c,EAAKrZ,EAAEqZ,EAAKrZ,EAAEA,EACjC,IAAGuM,GAAQA,EAAK1T,KAAO0T,EAAK1T,IAAIu8E,QAAU98E,EAAEI,OAAS,EAAG,OAAO6pH,GAC/D,IAAK,IAAQ,IAAK,MAAQ,IAAK,OAAQ,IAAK,OAAiB,IAAK,KAAuB,IAAK,MAAuB,IAAK,MAA2B,IAAK,MAAsB,IAAK,MAAsB,IAAK,MAAsB,IAAK,IAC1O,MACD,IAAK,KACJ,MACD,QACCh2G,EAAK1T,IAAIu8E,OAAO98E,IAEjBqM,EAAK1E,KAAK3H,EACV+gB,GAAKrZ,GAAKA,CACV,IAAIwiH,GAAShmF,GAAenjB,EAAKA,EAAKrZ,GAAIqgC,EAAOoiF,GAAcD,EAC/D,IAAItlG,GAAQ,CACZ,OAAMmjB,GAAQ,MAAQgiF,GAAYrjH,QAAQwjH,IAAW,EAAG,CACvDxiH,EAAIw8B,GAAenjB,EAAKA,EAAKrZ,EAAE,EAC/Bkd,GAAQ7D,EAAKrZ,EAAI,CACjB,IAAGwiH,GAAU,KAA0BtlG,GAAS,MAC3C,IAAGslG,GAAU,MAAUA,GAAU,KAAQ,CAC7CtlG,GAAS,GAEV5kB,EAAI+gB,EAAK5c,MAAMygB,EAAM7D,EAAKrZ,EAAE,EAAEA,EAC9B2E,GAAK1E,KAAK3H,EACV+gB,GAAKrZ,GAAK,EAAEA,CACZqgC,GAAQoiF,GAAcD,EAAShmF,GAAenjB,EAAMA,EAAKrZ,IAE1D,GAAIujB,GAAK7e,EAAQC,EACjB2U,IAAUiK,EAAG,EACb,IAAIm/F,GAAK,CAAGn/F,GAAEsb,OACd,KAAI,GAAI9lC,GAAI,EAAGA,EAAI4L,EAAKjM,SAAUK,EAAG,CAAEwqB,EAAEsb,KAAK5+B,KAAKyiH,EAAKA,IAAM/9G,EAAK5L,GAAGL,OACtE,GAAG6qB,EAAE7qB,OAASA,EAAQ,KAAM,gBAAkB6pH,EAAW7lH,SAAS,IAAM,eAAiB6mB,EAAE7qB,OAAS,MAAQA,CAC5G,OAAOsf,GAAE7a,EAAEomB,EAAGA,EAAE7qB,OAAQ6T,GAGzB,QAASo2G,IAAexqG,EAAG5L,EAAMY,GAChC,GAAGgL,EAAEzS,IAAM,IAAK,MAChB,KAAIyS,EAAE2qB,GAAI,MACV,IAAIkY,GAAQ,CACZ,KACCA,EAAQ7iC,EAAEsf,GAAKtf,EAAE2qB,GAAGC,UAAY,CAChC,IAAGx2B,EAAK82D,QAAUlrD,EAAEsf,GAAK,KAAMtf,EAAEsf,EAAIhxB,EAAUu0C,GAC9C,MAAMxiD,GAAK,GAAG+T,EAAK6tB,IAAK,KAAM5hC,GAChC,IAAI+T,GAAQA,EAAKmzD,WAAa,MAAO,IACpC,GAAGvnD,EAAEzS,IAAM,IAAK,CAAEyS,EAAE5b,EAAI4b,EAAE5b,GAAK0mC,GAAK9qB,EAAE1S,OACjC,IAAGu1C,IAAU,GAAKA,GAAS,UAAW,CAC1C,GAAG7iC,EAAEzS,IAAM,IAAK,CACf,IAAIyS,EAAE1S,EAAE,KAAO0S,EAAE1S,EAAG0S,EAAE5b,EAAI4b,EAAE1S,EAAE/I,SAAS,QAClCyb,GAAE5b,EAAI0R,GAAgBkK,EAAE1S,OAEzB0S,GAAE5b,EAAIiS,GAAY2J,EAAE1S,OAErB0S,GAAE5b,EAAIkS,GAAWusC,EAAM7iC,EAAE1S,GAAI0H,WAAWA,EAAUgH,OAAQ5H,GAAQA,EAAK4H,SAC3E,MAAM3b,GAAK,GAAG+T,EAAK6tB,IAAK,KAAM5hC,GAChC,GAAG+T,EAAKg4B,WAAayW,GAAS7iC,EAAEzS,GAAK,KAAOgN,GAAYjM,EAAUu0C,IAAUrgD,OAAOqgD,IAAS,CAC3F,GAAI44D,GAAKtnG,GAAoB6L,EAAE1S,GAAK0H,EAAW,KAAO,GAAK,IAAGymG,EAAI,CAAEz7F,EAAEzS,EAAI,GAAKyS,GAAE1S,EAAI,GAAI2H,MAAKA,KAAK6hB,IAAI2kF,EAAG7mG,EAAG6mG,EAAGxnG,EAAE,EAAEwnG,EAAGt7G,EAAEs7G,EAAG5mG,EAAE4mG,EAAG90G,EAAE80G,EAAG3mG,EAAE2mG,EAAG9mG,MAI7I,QAAS81G,IAAU9zG,EAAKs1C,EAAM1+C,GAC7B,OAASD,EAAEqJ,EAAKs1C,KAAKA,EAAM1+C,EAAEA,GAI9B,QAASm9G,IAAexpG,EAAMkB,GAC7B,GAAIk+B,IAAOlsC,QACX,IAAI+2B,KACJ,IAAGrgC,GAAS,MAAQsX,EAAQipB,OAAS,KAAMjpB,EAAQipB,MAAQvgC,CAC3D,IAAI3G,KAAY,IAAGie,EAAQipB,MAAOlnC,EAAI,WACtC,IAAIwmH,KACJ,IAAI3hF,KACJ,IAAI4hF,GAAe,IACnB,IAAIruE,KACJ,IAAIsuE,GAAY,EAChB,IAAIC,KACJ,IAAIt+C,GAAUu+C,EAAY,GAAI/xG,EAAIigD,EAAM+xD,EAAMC,CAC9C,IAAI9zB,KACJ,IAAIG,KACJ,IAAI4zB,EACJ,IAAIC,EACJ,IAAIC,KACJ,IAAIC,KACJ,IAAI9kD,IAAcp7B,UAAWq7B,SAASxxD,SAAS,OAAQq+F,YAAeqS,IACtE,IAAI4F,GAAS,KACb,IAAIC,GAAU,QAASC,IAAOj8E,GAC7B,GAAGA,EAAM,EAAG,MAAOC,IAAOD,EAC1B,IAAGA,EAAM,GAAI,MAAO87E,GAAQ97E,EAAI,IAAMC,GAAOD,EAC7C,OAAOC,IAAOD,GAEf,IAAIk8E,GAAqB,QAASC,IAAIx5F,EAAM9P,GAC3C,GAAIupG,GAAMz5F,EAAKyY,GAAG1mC,IAClB,KAAI0nH,IAAQA,EAAIp4D,cAAgBnxC,IAAYA,EAAQoxC,WAAY,MAChEthC,GAAKrsB,IACLqsB,GAAKrsB,EAAE0tD,YAAco4D,EAAIp4D,WACzB,IAAIhmD,EACJ,IAAIA,EAAImiC,GAAQ67E,EAAQI,EAAIz2D,UAAY,CAAEhjC,EAAKrsB,EAAEm7E,SAAWvxC,IAAIliC,GAChE,GAAIA,EAAImiC,GAAQ67E,EAAQI,EAAIx2D,UAAY,CAAEjjC,EAAKrsB,EAAEi7E,SAAWrxC,IAAIliC,IAEjE,IAAIq+G,GAAU,QAASA,IAAQjjF,EAAMzW,EAAM9P,GAC1C,IAAIkpG,GAAUO,EAAa,EAAG,MAC9B,IAAGzpG,EAAQm9C,WAAa52B,EAAK1wB,GAAKmK,EAAQm9C,UAAW,MACrD,IAAGn9C,EAAQoxC,YAActhC,EAAKyY,IAAMzY,EAAKyY,GAAG1mC,KAAMwnH,EAAmBv5F,EAAM9P,SACpE8P,GAAK+5B,WAAa/5B,GAAKyY,EAC9B6hC,GAAW7jC,CACXoiF,GAAY7hF,GAAYP,EACxB,KAAIK,IAAUA,EAAMnjC,IAAMmjC,EAAM3oC,EAAG2oC,GAASnjC,GAAGoS,EAAE,EAAErT,EAAE,GAAGvE,GAAG4X,EAAE,EAAErT,EAAE,GACjE,IAAG+jC,EAAK1wB,EAAI+wB,EAAMnjC,EAAEoS,EAAG+wB,EAAMnjC,EAAEoS,EAAI0wB,EAAK1wB,CACxC,IAAG0wB,EAAK/jC,EAAIokC,EAAMnjC,EAAEjB,EAAGokC,EAAMnjC,EAAEjB,EAAI+jC,EAAK/jC,CACxC,IAAG+jC,EAAK1wB,EAAI,EAAI+wB,EAAM3oC,EAAE4X,EAAG+wB,EAAM3oC,EAAE4X,EAAI0wB,EAAK1wB,EAAI,CAChD,IAAG0wB,EAAK/jC,EAAI,EAAIokC,EAAM3oC,EAAEuE,EAAGokC,EAAM3oC,EAAEuE,EAAI+jC,EAAK/jC,EAAI,CAChD,IAAGwd,EAAQkzF,aAAepjF,EAAKltB,EAAG,CACjC,IAAI,GAAI8mH,GAAM,EAAGA,EAAMx0B,EAAO/2F,SAAUurH,EAAK,CAC5C,GAAGx0B,EAAOw0B,GAAK,GAAGjmH,EAAEjB,EAAI+jC,EAAK/jC,GAAK0yF,EAAOw0B,GAAK,GAAGjmH,EAAEoS,EAAI0wB,EAAK1wB,EAAG,QAC/D,IAAGq/E,EAAOw0B,GAAK,GAAGzrH,EAAEuE,EAAI+jC,EAAK/jC,GAAK0yF,EAAOw0B,GAAK,GAAGzrH,EAAE4X,EAAI0wB,EAAK1wB,EAAG,QAC/Dia,GAAKjrB,EAAIijC,GAAaotD,EAAOw0B,GAAK,GAClC,IAAGx0B,EAAOw0B,GAAK,GAAGjmH,EAAEjB,GAAK+jC,EAAK/jC,GAAK0yF,EAAOw0B,GAAK,GAAGjmH,EAAEoS,GAAK0wB,EAAK1wB,QAAUia,GAAKltB,CAC7E,IAAGktB,EAAKltB,EAAGktB,EAAKltB,EAAI,GAAKoxF,GAAkBkB,EAAOw0B,GAAK,GAAI9iF,EAAOL,EAAMotD,EAAU3hF,EAClF,QAGF,CACC,GAAGgO,EAAQipB,MAAO,CACjB,IAAIlnC,EAAI,SAASwkC,EAAK1wB,GAAI9T,EAAI,SAASwkC,EAAK1wB,KAC5C9T,GAAI,SAASwkC,EAAK1wB,GAAG0wB,EAAK/jC,GAAKstB,MACzB/tB,GAAI4mH,GAAa74F,GAG1B,IAAI9d,IACH1T,IAAK,MACLi2D,MAAO,EACPyV,UACA+qB,QAASA,EACTG,OAAQA,EACRy0B,WACAC,SAAU,GACVljF,KAAM,EACNm2B,SAAU,EACVgtD,UAAW,EACXz4D,aAAcpxC,KAAaA,EAAQoxC,WACnCvxB,MAAO7f,KAAaA,EAAQ8pG,IAE7B,IAAG9pG,EAAQ+5D,SAAU/nE,EAAK+nE,SAAW/5D,EAAQ+5D,QAC7C,IAAIzgC,EACJ,IAAI0d,KACJ,IAAIqvD,KACJ,IAAIriD,MAAcD,IAClB,IAAI2sC,GAAU,KACd,IAAI/c,KACJA,GAAS7qD,WAAa92B,EAAKg4D,MAC3B2pB,GAASoB,QAAU/iF,EAAK+iF,OACxBpB,GAASuB,OAASljF,EAAKkjF,MACvBvB,GAASa,QACTb,GAASC,MACT,IAAIm2B,GAAU,CACd,IAAIN,GAAa,CACjB,IAAIO,GAAW,EAAGC,IAClB,IAAIC,KACJ,IAAIC,EAGJn4G,GAAK6qD,SAAW,IAChBn1D,GAAO,KACP,IAAI0iH,GAAgB,KACpB,OAAMtrG,EAAKrZ,EAAIqZ,EAAK3gB,OAAS,EAAG,CAC/B,GAAIsF,GAAIqb,EAAKrZ,CACb,IAAIuiH,GAAalpG,EAAKR,WAAW,EACjC,IAAG0pG,IAAe,GAAK+B,IAAY,GAAkB,KACrD,IAAI5rH,GAAU2gB,EAAKrZ,IAAMqZ,EAAK3gB,OAAS,EAAI2gB,EAAKR,WAAW,EAC3D,IAAIb,GAAIyqG,GAAcF,EACtB,IAAGyB,GAAc,IAAM,EAAQ,IAAQ,KAAQ,MAAQhlH,QAAQujH,KAAgB,EAAa,KAG5F,IAAGvqG,GAAKA,EAAE7a,EAAG,CACZ,GAAGod,EAAQilG,WAAY,CACtB,GAAG8E,IAAY,KAA4B/B,IAAe,IAAoC,MAE/F+B,EAAU/B,CACV,IAAGvqG,EAAE5H,IAAM,GAAK4H,EAAE5H,GAAK,GAAI,CAC1B,GAAIm0C,GAAKlrC,EAAKR,WAAW,EAAIngB,IAAU,CACvC,KAAI6T,EAAK1T,KAAO0rD,IAAOg+D,KAAiBh+D,EAAG,MAAO,EAAIA,GAAI,KAAQg+D,EAAY,KAAM,IAAIhpH,OAAM,gBAAkBgrD,EAAK,KAAOg+D,EAC5H,IAAGvqG,EAAE5H,GAAK,GAAG,CACZiJ,EAAKrZ,GAAK,EAAItH,IAAU,IAI1B,GAAIoW,KACJ,IAAGyzG,IAAe,GAAkBzzG,EAAMkJ,EAAE7a,EAAEkc,EAAM3gB,EAAQ6T,OACvDuC,GAAMwzG,GAAMC,EAAYvqG,EAAGqB,EAAM3gB,EAAQ6T,EACjD,IAAGy3G,GAAc,IAAM,EAAQ,IAAQ,KAAQ,MAAQhlH,QAAQslH,MAAc,EAAa,QACvF,QAAO/B,GACN,IAAK,IACT9pE,EAAGlsC,KAAKq4G,SAAWlmD,EAASC,QAAQxxD,SAAW2B,CAAK,OAChD,IAAK,KAA2B2pC,EAAGlsC,KAAKs4G,aAAe,IAAM,OAC7D,IAAK,IACJ,IAAIt4G,EAAK1T,IAAKwgB,EAAKrZ,EAAI,CACvBuM,GAAK1T,IAAMiW,CACX,KAAIyL,EAAQ+5D,SAAU,KAAM,IAAI/6E,OAAM,6BACtC,IAAGuV,EAAIwiE,OAAS,KAAM,KAAM,IAAI/3E,OAAM,gCACtC,KAAIuV,EAAIwiE,MAAO,KAAM,IAAI/3E,OAAM,wBAC/B,OACD,IAAK,IAA0BgT,EAAK43G,SAAWr1G,CAAK,OACpD,IAAK,IACJ,GAAIg2G,GAAQz4G,OAAOyC,EAEnB,QAAOg2G,GACN,IAAK,OAAQA,EAAS,IAAM,OAC5B,IAAK,OAAQA,EAAQ,GAAO,OAC5B,IAAK,OAAQA,EAAS,IAAM,QAE7B7iH,EAAOsK,EAAK6qD,SAAW0tD,EACvBH,GAAgB,IAChB,OACD,IAAK,KAAsBp4G,EAAK23G,QAAUp1G,CAAK,OAC/C,IAAK,IAAyBvC,EAAK63G,UAAYt1G,CAAK,OACpD,IAAK,KAAyB2pC,EAAGlsC,KAAK,cAAgBuC,CAAK,OAC3D,IAAK,IAAwB2pC,EAAGlsC,KAAK,aAAeuC,CAAK,OACzD,IAAK,IAAwB2pC,EAAGlsC,KAAK,aAAeuC,CAAK,OACzD,IAAK,IAAuB2pC,EAAGlsC,KAAK,YAAcuC,CAAK,OACvD,IAAK,IAAuB2pC,EAAGlsC,KAAK,YAAcuC,CAAK,OACvD,IAAK,IAA4B2pC,EAAGlsC,KAAK,iBAAmBuC,CAAK,OACjE,IAAK,IAA6B2pC,EAAGlsC,KAAK,kBAAoBuC,CAAK,OACnE,IAAK,IAA0BvC,EAAKw4G,YAAcj2G,CAAK,OACvD,IAAK,MAAmC2pC,EAAGlsC,KAAKy4G,SAAWl2G,CAAK,OAChE,IAAK,KACJ,GAAGA,EAAI+3C,QAASvqD,EAAI,SAAW,QAC/B,KAAIwS,EAAIg4C,QAASxqD,EAAI,cAAgBA,EAAI,iBAAmBiuG,MAAQ,IACpE,KAAIz7F,EAAIi4C,QAASzqD,EAAI,cAAgBA,EAAI,iBAAmBgrG,KAAO,IACnE,OACD,IAAK,KAAsB,IAAK,MAAsB,IAAK,OAC3D,IAAK,KACJic,EAAItjH,KAAK6O,EAAM,OAChB,IAAK,KACJo/E,EAASjuF,MAAM6O,GACfo/E,GAASA,EAASx1F,OAAO,GAAGy1F,MAC5B,OACD,IAAK,KAAQ,IAAK,KACjBD,EAASA,EAASx1F,OAAO,GAAGuH,KAAK6O,EACjC,OACD,IAAK,KAAQ,IAAK,KACjB41G,GACCl1D,KAAM1gD,EAAI0gD,KACV0P,IAAKqvB,GAAkBz/E,EAAIghD,KAAK3uB,EAAM,KAAK+sD,EAAS3hF,GAErD,IAAGuC,EAAI8gD,KAAO,EAAG80D,EAASzlD,MAAQnwD,EAAI8gD,KAAO,CAC7Cs+B,GAASa,MAAM9uF,KAAKykH,EACpB,KAAIx2B,EAAS,GAAI,CAAEA,EAAS,KAASA,GAAS,GAAGC,OACjDD,EAASA,EAASx1F,OAAO,GAAGuH,KAAK6O,EACjC,IAAGA,EAAI0gD,MAAQ,yBAA2B1gD,EAAI8gD,KAAO,EACpD,GAAG9gD,EAAIghD,MAAQhhD,EAAIghD,KAAK,IAAMhhD,EAAIghD,KAAK,GAAG,IAAMhhD,EAAIghD,KAAK,GAAG,GAAG,IAAM,YACpE20D,EAAgB31G,EAAI8gD,KAAO,IAAOW,IAAKluB,GAAavzB,EAAIghD,KAAK,GAAG,GAAG,GAAG,IACxE,OACD,IAAK,IAA0BvjD,EAAK04G,YAAcn2G,CAAK,OACvD,IAAK,IACJ,GAAGo/E,EAASx1F,QAAU,EAAG,CAAEw1F,EAAS,KAASA,GAAS,GAAGC,OACzDD,EAASA,EAASx1F,OAAS,GAAGy1F,IAAMD,EAASA,EAASx1F,OAAS,GAAGy1F,IAAIvpF,OAAOkK,EAAMo/E,GAASC,IAAMD,EAASC,IAAIvpF,OAAOkK,EAAM,OAC7H,IAAK,MAEJ,GAAGvC,EAAK00B,KAAO,EAAG,KAClB,IAAGyjF,GAAY,KAAMA,EAAS5N,QAAUhoG,EAAI,EAC5C,OACD,IAAK,IAAsBxS,EAAI,YAAcwS,CAAK,OAClD,IAAK,IAAuB,GAAGA,IAAQ,GAAKvC,EAAK6tB,IAAKlZ,QAAQC,MAAM,sBAAwBrS,EAAM,OAClG,IAAK,KAA0B,CAC9Bg0G,EAAUv2G,EAAK00B,MAAQ,EAAI10B,EAAKg4D,OAAO7rE,OAASoW,EAAIuwB,KAAOvwB,CAC3DvC,GAAKg4D,OAAOtkE,KAAK6O,EAAI+M,MACpB,MACF,IAAK,IAAkB,CACtB,KAAKmoG,GAAcP,EAASA,EAAQ,KACpC,IAAGtiF,EAAM3oC,EAAG,CACX,GAAG2oC,EAAM3oC,EAAE4X,EAAI,GAAK+wB,EAAM3oC,EAAEuE,EAAI,EAAG,CAClCokC,EAAM3oC,EAAE4X,GAAK+wB,GAAM3oC,EAAEuE,GACrBT,GAAI,QAAU+lC,GAAalB,EAC3B,IAAG5mB,EAAQm9C,WAAan9C,EAAQm9C,WAAav2B,EAAM3oC,EAAE4X,EAAG,CACvD,GAAI80G,IAAQ/jF,EAAM3oC,EAAE4X,CACpB+wB,GAAM3oC,EAAE4X,EAAImK,EAAQm9C,UAAY,CAChCp7D,GAAI,YAAcA,EAAI,OACtBA,GAAI,QAAU+lC,GAAalB,EAC3BA,GAAM3oC,EAAE4X,EAAI80G,GAEb/jF,EAAM3oC,EAAE4X,GAAK+wB,GAAM3oC,EAAEuE,IAEtB,GAAGw0D,EAAO74D,OAAS,EAAG4D,EAAI,WAAai1D,CACvC,IAAGqvD,EAAQloH,OAAS,EAAG4D,EAAI,YAAcskH,CACzC,IAAGriD,EAAQ7lE,OAAS,EAAG4D,EAAI,SAAWiiE,CACtC,IAAGD,EAAQ5lE,OAAS,EAAG4D,EAAI,SAAWgiE,CACtCI,GAASp7B,OAAOrjC,KAAK49G,GAEtB,GAAGmF,IAAc,GAAIC,EAAW3mH,MAAUgnC,GAAO0/E,GAAa1mH,CAC9DA,KAAY,IAAGie,EAAQipB,MAAOlnC,EAAI,YACjC,MACF,IAAK,IAAQ,IAAK,MAAQ,IAAK,OAAQ,IAAK,MAAkB,CAC7D,GAAGiQ,EAAK00B,OAAS,EAAG10B,EAAK00B,MACxBr6B,EAAQ,EACR64F,IAAQ,EACR0lB,KAAQ,GACP5C,KACD53C,IAAQ,EACRqB,IAAQ,EACRo5C,KAAQ,EACRC,KAAQ,EACRC,KAAQ,EACRzkH,EAAQ,EACR0H,EAAQ,GACPuG,EAAIu3C,UAAY,CAClB95C,GAAKg+C,UAAYz7C,EAAIu3C,SAAW,CAChC,IAAGv3C,EAAIu3C,SAAW,GAAKv3C,EAAIgE,IAAM,KAAQ,CAAEvG,EAAK00B,KAAO,CAAG0jF,GAAgB,IAAM1iH,GAAOsK,EAAK6qD,SAAW,OACvG,GAAG7qD,EAAK00B,MAAQ,GAAKnyB,EAAIgE,GAAK,IAAO2wG,EAAS,IAC9C,IAAGl3G,EAAK00B,MAAQ,GAAKnyB,EAAIu3C,SAAW,GAAKv3C,EAAIgE,IAAM,GAAIvG,EAAK00B,KAAO,CACnE,IAAG+iF,MAAiBP,EAAQ,KAC5BnnH,KAAY,IAAGie,EAAQipB,MAAOlnC,EAAI,WAElC,IAAGiQ,EAAK00B,KAAO,IAAM0jF,EAAe,CAAEA,EAAgB,IAAM1iH,GAAOsK,EAAK6qD,SAAW78C,EAAQ68C,UAAY,MACvG,GAAG7qD,EAAK00B,MAAQ,GAAKwiF,EAAQ,CAC5BT,GAAaF,EAAUv2G,EAAKg4D,OAAOvlE,QAAQgkH,GAAW,KAAOnnG,KAAK,KAAKA,SACjE,IAAGtP,EAAK00B,KAAO,GAAKnyB,EAAIu3C,SAAW,GAAKv3C,EAAIgE,IAAM,KAAQ,CAChE,GAAGkwG,IAAc,GAAIA,EAAY,QACjC7hF,IAASnjC,GAAGoS,EAAE,EAAErT,EAAE,GAAGvE,GAAG4X,EAAE,EAAErT,EAAE,GAE9B,IAAIwoH,KAAWlmF,IAAKhmB,EAAKrZ,EAAItH,EAAQmjB,KAAKmnG,EAC1CF,GAAUyC,GAAQlmF,KAAOkmF,EACzBh5G,GAAKg4D,OAAOtkE,KAAK+iH,OAEbA,IAAaF,EAAU9kH,KAAO6d,KAAK,KAAKA,IAC7C,IAAG/M,EAAIgE,IAAM,GAAMxW,EAAI,SAAW,OAClC,IAAGwS,EAAIgE,IAAM,GAAMxW,EAAI,SAAW,OAClCi1D,KACAqvD,KACAr0G,GAAKkjF,OAASA,IACdlxB,KAAcD,KACd2sC,GAAU,KACV4S,IAAWhH,QAAQiM,EAAU9kH,KAAKkpD,GAAG,IAAIA,GAAIrrC,KAAKmnG,GACjD,MACF,IAAK,MAAqB,IAAK,IAAuB,IAAK,GAAuB,CACjF,GAAG1mH,EAAI,UAAY,QAAS,GAAGie,EAAQipB,OAASlnC,EAAI,SAASwS,EAAIsB,QAAQtB,EAAI/R,GAAIT,EAAImlC,GAAW3yB,EAAI/R,GAAK2kC,GAAW5yB,EAAIsB,MAAOtB,EAAI/R,CACnIsmH,IAAaj/D,KAAMt1C,EAAIs1C,KAAMthB,GAAIygF,EAAIz0G,EAAIs1C,UAAW3+C,EAAEqJ,EAAIA,IAAKpJ,EAAE,IACjE,IAAG6+G,EAAW,EAAGlB,EAAS5rF,EAAK4rF,EAASvgF,IAAMugF,EAASvgF,GAAGC,UAAayhF,EAAcnB,EAASvgF,GAAGC,WAAayhF,EAAenB,EAASj/D,MAAM,EAAK,GACjJu+D,IAAeU,EAAU9oG,EAASk+B,EAAGlsC,KAAKq4G,SAC1Cb,IAAShnH,EAAE+R,EAAI/R,EAAGqT,EAAEtB,EAAIsB,GAAIizG,EAAU9oG,GACrC,MACF,IAAK,IAAQ,IAAK,KAAsB,CACvC8oG,GAAaj/D,KAAMt1C,EAAIs1C,KAAMthB,GAAIygF,EAAIz0G,EAAIs1C,MAAO3+C,EAAEqJ,EAAIA,IAAKpJ,EAAEoJ,EAAIpJ,EACjE,IAAG6+G,EAAW,EAAGlB,EAAS5rF,EAAK4rF,EAASvgF,IAAMugF,EAASvgF,GAAGC,UAAayhF,EAAcnB,EAASvgF,GAAGC,WAAayhF,EAAenB,EAASj/D,MAAM,EAAK,GACjJu+D,IAAeU,EAAU9oG,EAASk+B,EAAGlsC,KAAKq4G;AAC1Cb,GAAShnH,EAAE+R,EAAI/R,EAAGqT,EAAEtB,EAAIsB,GAAIizG,EAAU9oG,GACrC,MACF,IAAK,KAAiB,CACrB8oG,GAAaj/D,KAAMt1C,EAAIs1C,KAAMthB,GAAIygF,EAAIz0G,EAAIs1C,MAAO3+C,EAAEqJ,EAAIq8C,MAAOzlD,EAAE,IAC/D,IAAG6+G,EAAW,EAAGlB,EAAS5rF,EAAK4rF,EAASvgF,IAAMugF,EAASvgF,GAAGC,UAAayhF,EAAcnB,EAASvgF,GAAGC,WAAayhF,EAAenB,EAASj/D,MAAM,EAAK,GACjJu+D,IAAeU,EAAU9oG,EAASk+B,EAAGlsC,KAAKq4G,SAC1Cb,IAAShnH,EAAE+R,EAAI/R,EAAGqT,EAAEtB,EAAIsB,GAAIizG,EAAU9oG,GACrC,MACF,IAAK,KAAoB,CACxB,IAAI,GAAIxhB,IAAI+V,EAAI/R,EAAGhE,IAAK+V,EAAIjQ,IAAK9F,GAAG,CACnC,GAAIqrD,IAAOt1C,EAAIo8C,MAAMnyD,GAAE+V,EAAI/R,GAAG,EAC9BsmH,IAAYj/D,KAAKA,GAAMthB,GAAGygF,EAAIn/D,IAAO3+C,EAAEqJ,EAAIo8C,MAAMnyD,GAAE+V,EAAI/R,GAAG,GAAI2I,EAAE,IAChE,IAAG6+G,EAAW,EAAGlB,EAAS5rF,EAAK4rF,EAASvgF,IAAMugF,EAASvgF,GAAGC,UAAayhF,EAAcnB,EAASvgF,GAAGC,WAAayhF,EAAenB,EAASj/D,MAAM,EAAK,GACjJu+D,IAAeU,EAAU9oG,EAASk+B,EAAGlsC,KAAKq4G,SAC1Cb,IAAShnH,EAAEhE,GAAGqX,EAAEtB,EAAIsB,GAAIizG,EAAU9oG,IAElC,MACF,IAAK,IAAQ,IAAK,MAAQ,IAAK,MAAsB,CACpD,GAAGzL,EAAIA,KAAO,SAAU,CAAEi0G,EAAej0G,CAAK,OAC9Cu0G,EAAWT,GAAU9zG,EAAIA,IAAKA,EAAIgyB,KAAKsjB,KAAMt1C,EAAI7P,GACjDokH,GAASvgF,GAAKygF,EAAIF,EAASj/D,KAC3B,IAAG7pC,EAAQkzF,YAAa,CACvB,GAAI30C,IAAKhqD,EAAI0wD,OACb,IAAG1G,IAAMA,GAAG,IAAMA,GAAG,GAAG,IAAMA,GAAG,GAAG,GAAG,IAAM,SAAU,CACtD,GAAI0sD,IAAM1sD,GAAG,GAAG,GAAG,GAAG,GAAI2sD,GAAM3sD,GAAG,GAAG,GAAG,GAAG,EAC5C,IAAI4sD,IAAMrkF,IAAajxB,EAAEo1G,GAAKzoH,EAAE0oH,IAChC,IAAGn2B,EAAQo2B,IAAMrC,EAASlmH,EAAI,GAAGoxF,GAAkBz/E,EAAI0wD,QAAQr+B,EAAMryB,EAAIgyB,KAAKotD,EAAU3hF,OACnF82G,GAASjkH,IAAMmb,EAAQipB,OAASlnC,EAAI,SAASkpH,SAAUC,IAAMnpH,EAAIopH,UAAatmH,MAC7EikH,GAASlmH,EAAI,GAAGoxF,GAAkBz/E,EAAI0wD,QAAQr+B,EAAMryB,EAAIgyB,KAAKotD,EAAU3hF,GAE/E,GAAGg4G,EAAW,EAAGlB,EAAS5rF,EAAK4rF,EAASvgF,IAAMugF,EAASvgF,GAAGC,UAAayhF,EAAcnB,EAASvgF,GAAGC,WAAayhF,EAAenB,EAASj/D,MAAM,EAAK,GACjJu+D,IAAeU,EAAU9oG,EAASk+B,EAAGlsC,KAAKq4G,SAC1Cb,GAAQj1G,EAAIgyB,KAAMuiF,EAAU9oG,EAC5BwoG,GAAej0G,EACd,MACF,IAAK,IAAQ,IAAK,KAAqB,CACtC,GAAGi0G,EAAc,CAChBA,EAAaj0G,IAAMA,CACnBu0G,GAAWT,GAAU9zG,EAAKi0G,EAAajiF,KAAKsjB,KAAM,IAClDi/D,GAASvgF,GAAKygF,EAAIF,EAASj/D,KAC3B,IAAG7pC,EAAQkzF,YAAa,CACvB4V,EAASlmH,EAAI,GAAGoxF,GAAkBw0B,EAAavjD,QAASr+B,EAAO4hF,EAAajiF,KAAMotD,EAAU3hF,GAE7F,GAAGg4G,EAAW,EAAGlB,EAAS5rF,EAAK4rF,EAASvgF,IAAMugF,EAASvgF,GAAGC,UAAayhF,EAAcnB,EAASvgF,GAAGC,WAAayhF,EAAenB,EAASj/D,MAAM,EAAK,GACjJu+D,IAAeU,EAAU9oG,EAASk+B,EAAGlsC,KAAKq4G,SAC1Cb,GAAQhB,EAAajiF,KAAMuiF,EAAU9oG,EACrCwoG,GAAe,SACT,MAAM,IAAIxpH,OAAM,iCACtB,MACF,IAAK,KAAQ,IAAK,KAAoB,CACrCk2F,EAAOxvF,KAAK6O,EACZ,IAAI62G,IAActkF,GAAYvyB,EAAI,GAAG9Q,EACrCmT,GAAKoJ,EAAQipB,OAASlnC,EAAI,SAASwS,EAAI,GAAG9Q,EAAEoS,QAAQtB,EAAI,GAAG9Q,EAAEjB,GAAKT,EAAIqpH,GACtE,IAAGprG,EAAQkzF,aAAet8F,EAAI,CAC7B,IAAI4xG,EAAc,KAClB,KAAI4C,KAAgBx0G,EAAI,KACxBA,GAAGhU,EAAI,GAAGoxF,GAAkBz/E,EAAI,GAAIqyB,EAAOryB,EAAI,GAAIo/E,EAAU3hF,EAC7D4E,GAAG/R,EAAIijC,GAAavzB,EAAI,KAExB,MACF,IAAK,MAAsB,CAC1B,IAAIyL,EAAQkzF,YAAa,KACzB,IAAGyV,EAAW,CAEb,IAAIH,EAAc,KAClBzzB,GAAQjuD,GAAY0hF,EAAajiF,OAAQhyB,EAAI,EAC7CqC,GAAKoJ,EAAQipB,OAASlnC,EAAI,SAASymH,EAAajiF,KAAK1wB,QAAQ2yG,EAAajiF,KAAK/jC,GAAKT,EAAI+kC,GAAY0hF,EAAajiF,QAChH3vB,OAAQhU,EAAI,GAAGoxF,GAAkBz/E,EAAI,GAAIqyB,EAAOwjC,EAAUupB,EAAU3hF,IAErE,MACF,IAAK,KACJ82G,EAAST,GAAUluE,EAAI5lC,EAAIq7C,MAAMzkD,EAAGoJ,EAAIs1C,KAAM,IAC9C,IAAG1P,EAAI5lC,EAAIq7C,MAAMxmC,EAAG0/F,EAAS1/F,EAAI+wB,EAAI5lC,EAAIq7C,MAAMxmC,CAC/C0/F,GAASvgF,GAAKygF,EAAIF,EAASj/D,KAC3B,IAAGmgE,EAAW,EAAGlB,EAAS5rF,EAAK4rF,EAASvgF,IAAMugF,EAASvgF,GAAGC,UAAayhF,EAAcnB,EAASvgF,GAAGC,WAAayhF,EAAenB,EAASj/D,MAAM,EAAK,GACjJu+D,IAAeU,EAAU9oG,EAASk+B,EAAGlsC,KAAKq4G,SAC1Cb,IAAShnH,EAAE+R,EAAI/R,EAAGqT,EAAEtB,EAAIsB,GAAIizG,EAAU9oG,EACtC,OACD,IAAK,KAAoB,GAAGA,EAAQ+pB,WAAY,CAC/C++E,GAAaj/D,KAAMt1C,EAAIs1C,KAAMthB,GAAIygF,EAAIz0G,EAAIs1C,MAAO1+C,EAAE,IAClD,IAAG6+G,EAAW,EAAGlB,EAAS5rF,EAAK4rF,EAASvgF,IAAMugF,EAASvgF,GAAGC,UAAayhF,EAAcnB,EAASvgF,GAAGC,WAAayhF,EAAenB,EAASj/D,MAAM,EAAK,GACjJu+D,IAAeU,EAAU9oG,EAASk+B,EAAGlsC,KAAKq4G,SAC1Cb,IAAShnH,EAAE+R,EAAI/R,EAAGqT,EAAEtB,EAAIsB,GAAIizG,EAAU9oG,GACrC,MACF,IAAK,KAAuB,GAAGA,EAAQ+pB,WAAY,CAClD,IAAI,GAAIshF,IAAK92G,EAAI/R,EAAG6oH,IAAM92G,EAAIjQ,IAAK+mH,GAAI,CACtC,GAAIC,IAAQ/2G,EAAIs1C,KAAKwhE,GAAG92G,EAAI/R,EAC5BsmH,IAAYj/D,KAAKyhE,GAAO/iF,GAAGygF,EAAIsC,IAAQngH,EAAE,IACzC,IAAG6+G,EAAW,EAAGlB,EAAS5rF,EAAK4rF,EAASvgF,IAAMugF,EAASvgF,GAAGC,UAAayhF,EAAcnB,EAASvgF,GAAGC,WAAayhF,EAAenB,EAASj/D,MAAM,EAAK,GACjJu+D,IAAeU,EAAU9oG,EAASk+B,EAAGlsC,KAAKq4G,SAC1Cb,IAAShnH,EAAE6oH,GAAIx1G,EAAEtB,EAAIsB,GAAIizG,EAAU9oG,IAEnC,MACF,IAAK,MACL,IAAK,MAAoB,IAAK,GAC7B8oG,EAAST,GAAU9zG,EAAIA,IAAKA,EAAIs1C,KAAM,IACtCi/D,GAASvgF,GAAKygF,EAAIF,EAASj/D,KAC3B,IAAGmgE,EAAW,EAAGlB,EAAS5rF,EAAK4rF,EAASvgF,IAAMugF,EAASvgF,GAAGC,UAAayhF,EAAcnB,EAASvgF,GAAGC,WAAayhF,EAAenB,EAASj/D,MAAM,EAAK,GACjJu+D,IAAeU,EAAU9oG,EAASk+B,EAAGlsC,KAAKq4G,SAC1Cb,IAAShnH,EAAE+R,EAAI/R,EAAGqT,EAAEtB,EAAIsB,GAAIizG,EAAU9oG,EACtC,OAED,IAAK,IAAQ,IAAK,KAAyB,CAC1C,GAAGypG,IAAe,EAAG7iF,EAAQryB,EAC5B,MACF,IAAK,KAAkB,CACtB4lC,EAAM5lC,EACL,MACF,IAAK,MAAqB,CACzB,GAAGvC,EAAK00B,MAAQ,GAAK10B,EAAK00B,MAAQ,EAAG,CACpCujF,EAAcD,KAAcz1G,EAAI,EAChC,KAAI,GAAIg3G,IAAQ,EAAGA,GAAQvB,EAAW,MAAOuB,GAAO,GAAGr/G,EAAUq/G,KAAUh3G,EAAI,GAAI,KACnF,IAAGg3G,IAAS,IAAK7vG,GAAUnH,EAAI,GAAIy1G,EAAW,SAE1CtuG,IAAUnH,EAAI,GAAIA,EAAI,IAC1B,MACF,IAAK,IAA0B,CAC9B01G,EAAcD,KAAcz1G,CAC5B,KAAI,GAAIi3G,IAAQ,EAAGA,GAAQxB,EAAW,MAAOwB,GAAO,GAAGt/G,EAAUs/G,KAAUj3G,EAAK,KAChF,IAAGi3G,IAAS,IAAK9vG,GAAUnH,EAAKy1G,EAAW,KAC1C,MAEF,IAAK,KAAyBhzD,EAASA,EAAO3sD,OAAOkK,EAAM,OAE3D,IAAK,IAAkB8xG,EAAQ9xG,EAAI8iD,IAAI,IAAMrlD,EAAKylD,QAAUljD,CAAK,OACjE,IAAK,KAAkBvC,EAAKylD,QAAQg0D,IAAMl3G,CAAK,OAC/C,IAAK,KAAqBvC,EAAKylD,QAAQi0D,OAASn3G,CAAK,OAErD,IAAK,KAAoB,CACxB,IAAIs0G,EAAOt0G,EAAI,GAAG9Q,EAAEoS,EAAGgzG,GAAQt0G,EAAI,GAAGtW,EAAE4X,IAAKgzG,EAC5C,IAAID,EAAOr0G,EAAI,GAAG9Q,EAAEjB,EAAGomH,GAAQr0G,EAAI,GAAGtW,EAAEuE,IAAKomH,EAAM,CAClDhyG,EAAKoJ,EAAQipB,OAASlnC,EAAI,SAAS8mH,QAAWD,GAAQ7mH,EAAI+kC,IAAatkC,EAAEomH,EAAK/yG,EAAEgzG,IAChF,IAAGjyG,EAAIA,EAAGnR,EAAI8O,EAAI,IAEnB,MACF,IAAK,MAA2B,CAC/B,IAAIs0G,EAAOt0G,EAAI,GAAG9Q,EAAEoS,EAAGgzG,GAAQt0G,EAAI,GAAGtW,EAAE4X,IAAKgzG,EAC5C,IAAID,EAAOr0G,EAAI,GAAG9Q,EAAEjB,EAAGomH,GAAQr0G,EAAI,GAAGtW,EAAEuE,IAAKomH,EAAM,CAClDhyG,EAAKoJ,EAAQipB,OAASlnC,EAAI,SAAS8mH,QAAWD,GAAQ7mH,EAAI+kC,IAAatkC,EAAEomH,EAAK/yG,EAAEgzG,IAChF,IAAGjyG,GAAMA,EAAGnR,EAAGmR,EAAGnR,EAAE2jD,QAAU70C,EAAI,IAEnC,MACF,IAAK,IAAmB,CAEvBqC,EAAKoJ,EAAQipB,OAASlnC,EAAI,SAASwS,EAAI,GAAGsB,QAAQtB,EAAI,GAAG/R,GAAKT,EAAI+kC,GAAYvyB,EAAI,IAClF,KAAIqC,EAAI,CACP,GAAGoJ,EAAQipB,MAAO,CACjB,IAAIlnC,EAAI,SAASwS,EAAI,GAAGsB,GAAI9T,EAAI,SAASwS,EAAI,GAAGsB,KAChDe,GAAK7U,EAAI,SAASwS,EAAI,GAAGsB,GAAGtB,EAAI,GAAG/R,IAAO2I,EAAE,SACtC,CACNyL,EAAK7U,EAAI+kC,GAAYvyB,EAAI,MAASpJ,EAAE,KAErCy7B,EAAM3oC,EAAE4X,EAAIrK,KAAKgM,IAAIovB,EAAM3oC,EAAE4X,EAAGtB,EAAI,GAAGsB,EACvC+wB,GAAMnjC,EAAEoS,EAAIrK,KAAK+L,IAAIqvB,EAAMnjC,EAAEoS,EAAGtB,EAAI,GAAGsB,EACvC+wB,GAAM3oC,EAAEuE,EAAIgJ,KAAKgM,IAAIovB,EAAM3oC,EAAEuE,EAAG+R,EAAI,GAAG/R,EACvCokC,GAAMnjC,EAAEjB,EAAIgJ,KAAK+L,IAAIqvB,EAAMnjC,EAAEjB,EAAG+R,EAAI,GAAG/R,GAExC,IAAIoU,EAAGpU,EAAGoU,EAAGpU,IACb,IAAGwP,EAAK00B,MAAQ,GAAK10B,EAAK00B,MAAQ,EAAGmwB,GAAQ9sC,EAAE,UAAW5e,EAAEoJ,EAAI,QAC3D,CACJ,GAAIo3G,IAAUtF,EAAQ9xG,EAAI,GAC1BsiD,IAAQ9sC,EAAExV,EAAI,GAAGpJ,EAAEwgH,GAAQF,IAAItgH,EAC/B,IAAGoJ,EAAI,IAAM,QAAUA,EAAI,GAAK,GAAOqC,EAAGpU,EAAEkqD,OAAS,KAEtD91C,EAAGpU,EAAEkD,KAAKmxD,GACT,MACF,IAAK,MAAoB+tB,GAAaokC,EAAIz0G,EAAIs1C,MAAOt1C,EAAI6a,IAAM,OAC/D,IAAK,KAAsB,CAC1B,IAAIpd,EAAKo/C,WAAY,KACrB,OAAM78C,EAAItW,GAAKsW,EAAI9Q,EAAG,CACrBugE,EAAQzvD,EAAItW,MAASopD,MAAO9yC,EAAIvS,EAAE,IAAKurD,MAAQh5C,EAAIg5C,OAAS,EAAIb,UAAWn4C,EAAIyK,MAAQ,GACvF,KAAI0xF,EAAS,CAAEA,EAAU,IAAM9zB,IAAcroE,EAAIvS,EAAE,KACnDyjE,GAAYzB,EAAQzvD,EAAItW,EAAE,KAE1B,MACF,IAAK,KAAkB,CACtB,GAAIw0G,MACJ,IAAGl+F,EAAIg5C,OAAS,KAAM,CAAEwW,EAAQxvD,EAAIsB,GAAK48F,EAAQA,IAAOllD,MAAQh5C,EAAIg5C,MACpE,GAAGh5C,EAAIm4C,OAAQ,CAAEqX,EAAQxvD,EAAIsB,GAAK48F,EAAQA,IAAO/lD,OAAS,KAC1D,GAAGn4C,EAAIi5C,IAAK,CACXuW,EAAQxvD,EAAIsB,GAAK48F,EACjBA,IAAOjlD,IAAMj5C,EAAIi5C,GAAKilD,IAAOltC,IAAMC,GAAMjxD,EAAIi5C,MAE7C,MACF,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,IACJ,IAAIzrD,EAAI,YAAa4qG,GAAgB5qG,EAAI,eACzCA,GAAI,aAAcqL,GAAM,OAAQC,GAAK,QAASC,GAAK,MAAOoD,GAAK,UAAWs3G,IAAezzG,CACzF,OACD,IAAK,KACJ,IAAIxS,EAAI,YAAa4qG,GAAgB5qG,EAAI,eACzCA,GAAI,YAAY8e,OAAStM,EAAIsM,MAC7B9e,GAAI,YAAYg3D,OAASxkD,EAAIwkD,MAC7B,OACD,IAAK,KAEJ,GAAGxkD,EAAI66C,IAAK+U,EAAS8sC,MAAM,GAAG7hD,IAAM,IACpC,OACD,IAAK,KAAsB65D,EAAU10G,CAAK,OAC1C,IAAK,MAAoB+kC,EAAS/kC,CAAK,OACvC,IAAK,KAAsBw0G,EAAUx0G,CAAK,OAC1C,IAAK,KAAuB,CAChC,IAAIk0G,EAAWtkD,EAASC,QAAQorC,SAAWj7F,GAAO,mBACxC+uG,GAAQ9T,SAAWj7F,GAAO+uG,EAAQhiG,KACtC,YAEG,CACN,IAAI7D,EAAGkJ,QAAQC,MAAM,iCAAmCohG,EAAW7lH,SAAS,IAC5E2c,GAAKrZ,GAAKtH,GAGZ+/C,EAAGpV,WAAWznC,GAAKknH,GAAWhjG,KAAK,SAASwE,EAAEf,GAAK,MAAOlX,QAAOiY,GAAKjY,OAAOkX,KAAO5lB,IAAI,SAASjD,GAAG,MAAOooH,GAAUpoH,GAAGmhB,MACxH,KAAItB,EAAQilG,WAAY/mE,EAAGnV,OAAOA,CAClC,KAAImV,EAAGpV,WAAW3qC,QAAUuqH,EAAS,QAAS,CAC7CxqE,EAAGpV,WAAWpjC,KAAK,SAEnB,IAAGw4C,EAAGnV,OAAQmV,EAAGnV,OAAO,UAAY2/E,MAE9BxqE,GAAGwqE,SAASA,CACnB,IAAGxqE,EAAGnV,OAAQmhF,EAAgBrmH,QAAQ,SAASgS,EAAE3X,GAAKggD,EAAGnV,OAAOmV,EAAGpV,WAAW5qC,IAAI,eAAiB2X,GACnGqoC,GAAG0zD,QAAUz3D,CACb+D,GAAGhkC,IAAMqd,GAAIrrB,EACb,IAAG8F,EAAK1T,IAAK4/C,EAAG0tE,WAAa55G,EAAK1T,GAClC,IAAGg7C,EAAQ4E,EAAG0lC,OAAStqC,CACvB4E,GAAG2tE,WACH,IAAG9C,IAAY3/G,UAAW80C,EAAG2tE,SAASC,QAAU/C,CAChD,IAAGp1B,EAASa,MAAMr2F,OAAS,EAAGgmE,EAASE,MAAQsvB,EAASa,KACxDt2C,GAAGimB,SAAWA,CACd,OAAOjmB,GAIR,GAAI6tE,KACHC,GAAI,mCACJC,IAAK,mCACLC,IAAK,mCAEN,SAASC,IAAgBznG,EAAKy6B,EAAOt3C,GAEpC,GAAIokH,GAAM3uG,GAAIwH,KAAKJ,EAAK,+BACxB,IAAGunG,GAAOA,EAAIrpG,KAAO,EAAG,IACvB,GAAIwpG,GAAa9mE,GAAwB2mE,EAAKp8E,GAAkBk8E,GAAQE,IACxE,KAAI,GAAIluH,KAAKquH,GAAYjtE,EAAMphD,GAAKquH,EAAWruH,GAC9C,MAAME,GAAI,GAAG4J,EAAEg4B,IAAK,KAAM5hC,GAG5B,GAAI+tH,GAAK1uG,GAAIwH,KAAKJ,EAAK,uBACvB,IAAGsnG,GAAMA,EAAGppG,KAAO,EAAG,IACrB,GAAIypG,GAAU/mE,GAAwB0mE,EAAI/7E,GAAc87E,GAAQC,GAChE,KAAI,GAAIvoH,KAAK4oH,GAAS,GAAGltE,EAAM17C,IAAM,KAAM07C,EAAM17C,GAAK4oH,EAAQ5oH,GAC7D,MAAMxF,GAAI,GAAG4J,EAAEg4B,IAAK,KAAM5hC,GAE5B,GAAGkhD,EAAMS,cAAgBT,EAAMU,cAAe,CAC7Cb,GAAiBG,EAAMS,aAAcT,EAAMU,cAAeV,EAAOt3C,SAC1Ds3C,GAAMS,mBAAqBT,GAAMU,eAG1C,QAASysE,IAAgBpuE,EAAIx5B,GAC5B,GAAI6nG,MAAgBC,KAAeC,IACnC,IAAIvuH,GAAI,EAAGwuH,CACX,IAAIC,GAAez4F,GAAU2b,GAAkB,IAC/C,IAAI+8E,GAAY14F,GAAU+b,GAAc,IACxC,IAAGiO,EAAGS,MAAO,CACZ+tE,EAAOrrH,GAAK68C,EAAGS,MAEf,KAAIzgD,EAAI,EAAGA,EAAIwuH,EAAKvuH,SAAUD,GAAIoD,OAAO0yB,UAAUC,eAAe7xB,KAAKuqH,EAAcD,EAAKxuH,IAAMquH,EAAYjrH,OAAO0yB,UAAUC,eAAe7xB,KAAKwqH,EAAWF,EAAKxuH,IAAMsuH,EAAWC,GAAU/mH,MAAMgnH,EAAKxuH,GAAIggD,EAAGS,MAAM+tE,EAAKxuH,MAE1N,GAAGggD,EAAG4D,UAAW,CAChB4qE,EAAOrrH,GAAK68C,EAAG4D,UAEf,KAAI5jD,EAAI,EAAGA,EAAIwuH,EAAKvuH,SAAUD,EAAG,IAAIoD,OAAO0yB,UAAUC,eAAe7xB,KAAM87C,EAAGS,UAAY+tE,EAAKxuH,KAAMoD,OAAO0yB,UAAUC,eAAe7xB,KAAKuqH,EAAcD,EAAKxuH,IAAMquH,EAAYjrH,OAAO0yB,UAAUC,eAAe7xB,KAAKwqH,EAAWF,EAAKxuH,IAAMsuH,EAAWC,GAAU/mH,MAAMgnH,EAAKxuH,GAAIggD,EAAG4D,UAAU4qE,EAAKxuH,MAEjS,GAAI2uH,KACJ,KAAI3uH,EAAI,EAAGA,EAAIuuH,EAAStuH,SAAUD,EAAG,CACpC,GAAGwmD,GAAUjgD,QAAQgoH,EAASvuH,GAAG,KAAO,GAAK6gD,GAAiBt6C,QAAQgoH,EAASvuH,GAAG,KAAO,EAAG,QAC5F,IAAGuuH,EAASvuH,GAAG,IAAM,KAAM,QAC3B2uH,GAAUnnH,KAAK+mH,EAASvuH,IAEzB,GAAGsuH,EAASruH,OAAQmf,GAAI1X,MAAMkoB,QAAQpJ,EAAK,uBAA6BuhC,GAAwBumE,EAAUT,GAAQC,GAAIY,EAAW38E,IACjI,IAAGs8E,EAAUpuH,QAAU0uH,EAAU1uH,OAAQmf,GAAI1X,MAAMkoB,QAAQpJ,EAAK,+BAAqCuhC,GAAwBsmE,EAAWR,GAAQE,IAAKU,EAAc98E,GAAkBg9E,EAAU1uH,OAAS0uH,EAAY,KAAMd,GAAQG,MAGnO,QAASY,IAAapoG,EAAK1E,GAC3B,IAAIA,EAASA,IACbolG,IAAcplG,EACdrY,IACA,IAAGqY,EAAQ68C,SAAUr1D,EAASwY,EAAQ68C,SACtC,IAAIkwD,GAASjyE,CACb,IAAGp2B,EAAI/C,UAAW,CACjB,GAAGrE,GAAIwH,KAAKJ,EAAK,eAAgB,KAAM,IAAI1lB,OAAM,6BACjD+tH,GAAUzvG,GAAIwH,KAAKJ,EAAK,WACxBo2B,GAAKx9B,GAAIwH,KAAKJ,EAAK,cAAgBpH,GAAIwH,KAAKJ,EAAK,aAC3C,CACN,OAAO1E,EAAQ3L,MACd,IAAK,SAAUqQ,EAAM/a,EAAIT,EAAcwb,GAAO,OAC9C,IAAK,SAAUA,EAAM/a,EAAI+a,EAAM,OAC/B,IAAK,SAAU,MACf,IAAK,QAAS,IAAI5f,MAAMkF,QAAQ0a,GAAMA,EAAM5f,MAAMkvB,UAAU9xB,MAAME,KAAKsiB,EAAM,QAE9E3F,GAAU2F,EAAK,EACfo2B,IAAOpwC,QAASga,GAEjB,GAAIsoG,EAEJ,IAAI5xF,EACJ,IAAG2xF,EAASvF,GAAcuF,EAC1B,IAAG/sG,EAAQklG,YAAcllG,EAAQilG,WAAY+H,SACxC,CACJ,GAAI16G,GAAI/R,EAAU,SAAW,OAC7B,IAAGu6C,GAAMA,EAAGpwC,QAASsiH,EAAY1E,GAAextE,EAAGpwC,QAASsV,OAEvD,KAAIob,EAAM9d,GAAIwH,KAAKJ,EAAK,wBAA0B0W,EAAM1wB,QAASsiH,EAAYzjD,GAAI1K,YAAYzjC,EAAM1wB,SAAUsV,EAAQ3L,KAAO/B,EAAG0N,QAE/H,KAAIob,EAAM9d,GAAIwH,KAAKJ,EAAK,wBAA0B0W,EAAM1wB,QAASsiH,EAAYzjD,GAAI1K,YAAYzjC,EAAM1wB,SAAUsV,EAAQ3L,KAAO/B,EAAG0N,QAE/H,KAAIob,EAAM9d,GAAIwH,KAAKJ,EAAK,SAAW0W,EAAM1wB,QAAS,KAAM,IAAI1L,OAAM,wCAClE,MAAM,IAAIA,OAAM,8BACrB,IAAGghB,EAAQitG,SAAWvoG,EAAI/C,WAAarE,GAAIwH,KAAKJ,EAAK,6BAA8BsoG,EAAUrd,OAAS1kB,GAAavmE,GAGpH,GAAIy6B,KACJ,IAAGz6B,EAAI/C,UAAWwqG,GAAgBznG,EAAKy6B,EAAOn/B,EAE9CgtG,GAAUruE,MAAQquE,EAAUlrE,UAAY3C,CACxC,IAAGn/B,EAAQktG,UAAWF,EAAUtoG,IAAMA,CAEtC,OAAOsoG,GAIP,QAASG,IAAajvE,EAAIlsC,GACzB,GAAInK,GAAImK,KACR,IAAI0S,GAAMpH,GAAI1X,MAAMmrB,SAASnyB,KAAK,KAClC,IAAIwuH,GAAS,WACb,QAAOvlH,EAAE8yC,UAAY,OACpB,IAAK,MAAO9yC,EAAE8yC,SAAW,QAEzB,IAAK,MAAO,IAAI9yC,EAAE8yC,SAAU9yC,EAAE8yC,SAAW,MAEzC,IAAK,QAASyyE,EAAS,WAAavlH,GAAE6+B,KAAO,CAAG,OAChD,IAAK,QAAS0mF,EAAS,OAASvlH,GAAE6+B,KAAO,CAAG,OAC5C,QAAS,KAAM,IAAI1nC,OAAM,gBAAkB6I,EAAE8yC,SAAW,iBAEzDr9B,GAAI1X,MAAMkoB,QAAQpJ,EAAK0oG,EAAQC,GAAenvE,EAAIr2C,GAClD,IAAGA,EAAE6+B,MAAQ,IAAMwX,EAAGS,OAAST,EAAG4D,WAAYwqE,GAAgBpuE,EAAIx5B,EAElE,IAAG7c,EAAE6+B,MAAQ,GAAKwX,EAAGyxD,OAAQvkB,GAAa1mE,EAAKpH,GAAIkH,KAAK05B,EAAGyxD,QAASt7F,WAAa6pC,GAAGyxD,QAAU,SAAW,SAAW,WACpH,OAAOjrF,GAGR,GAAI2gB,KACHj/B,GAA+BxD,EAAE6xG,IACjCpuG,GAAkCzD,EAAEyyG,IACpC/uG,GAA+B1D,EAAEg0G,IACjCzqG,GAAkCvJ,EAAEmzG,IACpC3pG,GAAiCxJ,EAAE8yG,IACnC5nG,GAAiClL,EAAE4zG,IACnCzoG,GAA+BnL,EAAEq0G,IACjCjpG,GAAiCpL,EAAEwzG,IACnCnoG,GAAmCrL,EAAE40G,IACrCnrG,GAAgCzJ,EAAE20G,IAClCjrG,IAAiC1J,EAAEy0G,IACnC9qG,IAAkC3J,EAAE00G,IACpC9qG,IAAmC5J,EAAE4yG,IACrC/oG,IAAgC7J,EAAEk0G,IAClCpqG,IAAmC9J,EAAEszG,IACrCvpG,IAAkC/J,EAAEizG,IACpCjpG,IAAkChK,EAAE8zG,IACpC7pG,IAAgCjK,EAAEu0G,IAClCrqG,IAAkClK,EAAE0zG,IACpCvpG,IAAgCnK,EAAEkoC,IAClC99B,MACAC,MACAC,MACAgB,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAiM,MACAC,MACAC,MACAC,IAAiCxI,EAAE,GACnCyI,IAA+BzI,GAAG,GAClCnF,IAAgCmF,EAAE,GAClClF,IAA8BkF,GAAG,GACjCjF,IAA6BzK,EAAEy7G,IAC/B/wG,MACAqD,MACAC,IAA6BhO,EAAEg+E,IAC/B/vE,IAA4BjO,EAAE69E,IAC9BlzE,IAA6B3K,EAAEw+E,IAC/B5zE,IAA+B5K,EAAEg/E,IACjCn0E,IAA2B7K,EAAE2+E,IAC7B7zE,MACAC,IAAiC/K,EAAEunC,IACnCx7B,MACAC,IAA2BhM,EAAEqiF,IAC7Bp2E,IAAiCyD,EAAE,GACnCxD,IAA+BwD,GAAG,GAClCvD,IAAiCuD,EAAE,GACnCtD,IAA+BsD,GAAG,GAClC1E,IAAsC0E,EAAE,GACxCrD,IAAoCqD,GAAG,GACvCpD,MACAC,MACAC,IAAgCxM,EAAE+1D,IAClCrpD,IAAoC1M,EAAEo0G,IACtC1mG,IAAuC1N,EAAEqjF,IACzC11E,IAA6B3N,EAAEg2G,IAC/BpoG,MACAC,MACAlB,MACAC,MACAjI,MACAkI,MACAjJ,OACAC,KAAmC6L,EAAE,GACrC5L,KAAiC4L,GAAG,GACpC2lF,KAAkC3lF,EAAE,EAAG1P,EAAEmiC,GAAWnnB,EAAE,GACtDs6E,KAAgC5lF,GAAG,GACnC6lF,KAAqC7lF,EAAE,GACvC3L,KAAmC2L,GAAG,GACtC6pD,KAAuC7pD,EAAE,GACzC1L,KAAqC0L,GAAG,GACxC8lF,KAAoC9lF,EAAE,EAAG1P,EAAE41G,IAC3CngB,KAAkC/lF,GAAG,GACrCgmF,KAAqChmF,EAAE,GACvCimF,KAAmCjmF,GAAG,GACtC4zF,KAAoC5zF,EAAE,GACtC27D,KAAkC37D,GAAG,GACrCkmF,KAAuClmF,EAAE,GACzCmmF,KAAqCnmF,GAAG,GACxComF,KAAuCpmF,EAAE,GACzCqmF,KAAqCrmF,GAAG,GACxC47D,KAA+BtrE,EAAEuyG,IACjCvc,KAA8Bh2F,EAAEoyG,GAAgBp3F,EAAE,IAClD69C,KAA6B74D,EAAEo1G,IAC/Bt8C,OACAyS,KAA+BvrE,EAAEq6G,IACjC7uC,OACAC,OACAC,KAAiC1rE,EAAEi6G,IACnC1W,OACAC,OACAtN,KAAiCxmF,EAAE,EAAG1P,EAAE6yE,IACxC4wB,KAA+B/zF,GAAG,GAClCzL,KAAqCyL,EAAE,EAAG1P,EAAE4pC,IAC5C1lC,KAAmCwL,GAAG,GACtCvL,KAA0CuL,EAAE,GAC5CymF,KAAwCzmF,GAAG,GAC3Cg0F,KAAqCh0F,EAAE,GACvC0mF,KAAmC1mF,GAAG,GACtC2mF,OACAC,OACAC,OACAC,OACAC,OACAC,KAA2ChnF,EAAE,GAC7CinF,KAAyCjnF,GAAG,GAC5Ci8D,OACAC,OACAC,KAAkC7rE,EAAE60G,IACpCzwG,KAAwCsL,EAAE,GAC1CrL,KAAsCqL,GAAG,GACzCi0F,KAA2Cj0F,EAAE,GAC7Ck0F,KAAyCl0F,GAAG,GAC5Cm0F,KAAuCn0F,EAAE,GACzCo0F,KAAqCp0F,GAAG,GACxCq0F,KAAsCr0F,EAAE,GACxCo8D,KAAoCp8D,GAAG,GACvCq8D,KAAuCr8D,EAAE,GACzCpL,KAAqCoL,GAAG,GACxCs8D,KAAuCt8D,EAAE,GACzCu8D,KAAqCv8D,GAAG,GACxCknF,KAAsClnF,EAAE,GACxCmnF,KAAoCnnF,GAAG,GACvConF,KAAqCpnF,EAAE,GACvCqnF,KAAmCrnF,GAAG,GACtCsnF,KAA+CtnF,EAAE,GACjDunF,KAA6CvnF,GAAG,GAChDw8D,KAA4Cx8D,EAAE,GAC9CwnF,KAA0CxnF,GAAG,GAC7CynF,KAA0CznF,EAAE,GAC5C0nF,KAAwC1nF,GAAG,GAC3C2nF,KAA6C3nF,EAAE,GAC/CqpD,KAA2CrpD,GAAG,GAC9CspD,KAA2CtpD,EAAE,GAC7CupD,KAAyCvpD,GAAG,GAC5CwpD,KAAuCxpD,EAAE,GACzCnL,KAAqCmL,GAAG,GACxCy8D,KAAyCz8D,EAAE,GAC3C08D,KAAuC18D,GAAG,GAC1C28D,KAAwC38D,EAAE,GAC1C48D,KAAsC58D,GAAG,GACzC4nF,KAAwC5nF,EAAE,GAC1C6nF,KAAsC7nF,GAAG,GACzC8nF,KAAuC9nF,EAAE,GACzC+nF,KAAqC/nF,GAAG,GACxCi+B,KAAwCj+B,EAAE,GAC1CgoF,KAAsChoF,GAAG,GACzCioF,KAAuCjoF,EAAE,GACzCk+B,KAAqCl+B,GAAG,GACxCkoF,KAAsCloF,EAAE,GACxCm+B,KAAoCn+B,GAAG,GACvCmoF,KAAuCnoF,EAAE,GACzCooF,KAAqCpoF,GAAG,GACxCs0F,KAAwCt0F,EAAE,GAC1ClL,KAAsCkL,GAAG,GACzCqoF,KAAwCroF,EAAE,GAC1CsoF,KAAsCtoF,GAAG,GACzCuoF,KAA2CvoF,EAAE,GAC7CwoF,KAAyCxoF,GAAG,GAC5CyoF,KAA6CzoF,EAAE,GAC/C0oF,KAA2C1oF,GAAG,GAC9C2oF,KAA4C3oF,EAAE,GAC9Cu0F,KAA0Cv0F,GAAG,GAC7Cw0F,KAA6Cx0F,EAAE,GAC/Cy0F,KAA2Cz0F,GAAG,GAC9C00F,KAA4C10F,EAAE,GAC9C20F,KAA0C30F,GAAG,GAC7C40F,KAA4C50F,EAAE,GAC9C60F,KAA0C70F,GAAG,GAC7C80F,KAA0C90F,EAAE,GAC5CjL,KAAwCiL,GAAG,GAC3C+0F,KAAyC/0F,EAAE,GAC3C4oF,KAAuC5oF,GAAG,GAC1Cg1F,KAAwCh1F,EAAE,GAC1Ci1F,KAAsCj1F,GAAG,GACzC6oF,KAA0C7oF,EAAE,GAC5Ck1F,KAAwCl1F,GAAG,GAC3Cm1F,KAAyCn1F,EAAE,GAC3Co1F,KAAuCp1F,GAAG,GAC1Cq1F,KAAmCr1F,EAAE,GACrCs1F,KAAiCt1F,GAAG,GACpC8oF,KAAuC9oF,EAAE,GACzC+oF,KAAqC/oF,GAAG,GACxCgpF,KAAsChpF,EAAE,GACxCipF,KAAoCjpF,GAAG,GACvCkpF,KAAoClpF,EAAE,GACtCmpF,KAAkCnpF,GAAG,GACrChL,KAAmCgL,EAAE,GACrC68D,KAAiC78D,GAAG,GACpCu1F,KAAqCv1F,EAAE,GACvCw1F,KAAmCx1F,GAAG,GACtC88D,KAAoC98D,EAAE,GACtC+8D,KAAkC/8D,GAAG,GACrCg9D,KAAwCh9D,EAAE,GAC1Ci9D,KAAsCj9D,GAAG,GACzCk9D,KAAwCl9D,EAAE,GAC1Cy1F,KAAsCz1F,GAAG,GACzCm9D,KAAsCn9D,EAAE,GACxCo9D,KAAoCp9D,GAAG,GACvCq9D,KAAqCr9D,EAAE,GACvCs9D,KAAmCt9D,GAAG,GACtCopF,KAAqCppF,EAAE,GACvCu9D,KAAmCv9D,GAAG,GACtCw9D,KAAoCx9D,EAAE,GACtCqpF,KAAkCrpF,GAAG,GACrCspF,KAAkCtpF,EAAE,GACpCupF,KAAgCvpF,GAAG,GACnC01F,KAAiC11F,EAAE,GACnCwpF,KAA+BxpF,GAAG,GAClCypF,OACAC,KAAwC1pF,EAAE,GAC1C2pF,KAAsC3pF,GAAG,GACzC4pF,KAAoC5pF,EAAE,GACtC6pF,KAAgC7pF,GAAG,GACnC8pF,KAAkC9pF,EAAE,GACpC+pF,KAAmC/pF,EAAE,GACrCgqF,KAAiChqF,GAAG,GACpCiqF,KAAkCjqF,EAAE,GACpC21F,KAAgC31F,GAAG,GACnC41F,KAAmC51F,EAAE,GACrCsgE,KAAiCtgE,GAAG,GACpCkqF,KAAkClqF,EAAE,GACpCmqF,KAAgCnqF,GAAG,GACnCoqF,KAAmCpqF,EAAE,GACrCqqF,KAAiCrqF,GAAG,GACpCsqF,KAAkCtqF,EAAE,GACpC61F,KAAgC71F,GAAG,GACnCuqF,KAAmCvqF,EAAE,GACrCwqF,KAAiCxqF,GAAG,GACpCyqF,KAAkCzqF,EAAE,GACpC0qF,KAAgC1qF,GAAG,GACnC81F,KAAqC91F,EAAE,GACvC+1F,KAAmC/1F,GAAG,GACtCg2F,KAAsCh2F,EAAE,GACxC2qF,KAAoC3qF,GAAG,GACvCi2F,KAAsCj2F,EAAE,GACxCugE,KAAoCvgE,GAAG,GACvC4qF,KAAuC5qF,EAAE,GACzC6qF,KAAqC7qF,GAAG,GACxC8qF,KAAsC9qF,EAAE,GACxC+qF,KAAoC/qF,GAAG,GACvCgrF,KAAsChrF,EAAE,GACxCirF,KAAoCjrF,GAAG,GACvCkrF,KAAuClrF,EAAE,GACzCmrF,KAAqCnrF,GAAG,GACxCorF,KAAsCprF,GAAG,GACzCqrF,KAAwCrrF,EAAE,GAC1CsrF,KAAkCtrF,GAAG,GACrCurF,KAAmCvrF,EAAE,GACrCk2F,KAAiCl2F,GAAG,GACpCwrF,KAAkCxrF,EAAE,GACpCyrF,KAAgCzrF,GAAG,GACnCwgE,KAAsCxgE,EAAE,GACxC0rF,KAAoC1rF,GAAG,GACvC2rF,KAAuC3rF,EAAE,GACzC4rF,KAAqC5rF,GAAG,GACxC6rF,KAAqC7rF,EAAE,GACvC8rF,KAAmC9rF,GAAG,GACtCm2F,KAAoCn2F,EAAE,GACtCo2F,KAAkCp2F,GAAG,GACrC+rF,KAAuC/rF,EAAE,GACzCq2F,KAAqCr2F,GAAG,GACxCgsF,KAAsChsF,EAAE,GACxCs2F,KAAoCt2F,GAAG,GACvCu2F,KAAsCv2F,EAAE,GACxCg7G,KAAoCh7G,GAAG,GACvCw2F,KAAuCx2F,EAAE,GACzCy2F,KAAgCnmG,EAAEmiF,IAClCwZ,KAAqCjsF,GAAG,GACxC02F,KAAmCpmG,EAAEwiF,GAAqB9yE,EAAE,GAC5DksF,KAAiClsF,GAAG,GACpCmsF,KAAmCnsF,EAAE,GACrC22F,KAAiC32F,GAAG,GACpC42F,KAAyC52F,EAAE,GAC3CosF,KAAuCpsF,GAAG,GAC1CqsF,KAAkCrsF,EAAE,GACpCssF,KAAgCtsF,GAAG,GACnC62F,KAAsC72F,EAAE,GACxC82F,KAAoC92F,GAAG,GACvC+2F,KAAqC/2F,EAAE,GACvCg3F,KAAmCh3F,GAAG,GACtCi3F,KAAwCj3F,EAAE,GAC1CusF,KAAsCvsF,GAAG,GACzCo+B,OACAouD,OACA0K,KAAuCl3F,EAAE,GACzCq+B,KAAqCr+B,GAAG,GACxCysF,KAAmCn8F,EAAEkpC,IACrC29D,OACA74D,OACA84D,OACAC,KAAqCr3F,EAAE,GACvCs3F,OACAC,KAAoCjnG,EAAE6yD,IACtCq0C,OACAC,OACAE,OACAC,OACAC,OACAC,OACAnL,OACAoL,OACAC,KAAmCh4F,EAAE,GACrC4sF,KAAiC5sF,GAAG,GACpC6sF,KAAoC7sF,EAAE,GACtC8sF,KAAkC9sF,GAAG,GACrC+sF,KAAwC/sF,EAAE,GAC1CgtF,KAAsChtF,GAAG,GACzCitF,KAAoCjtF,EAAE,GACtCktF,KAAkCltF,GAAG,GACrCmtF,KAAmCntF,EAAE,GACrCotF,KAAiCptF,GAAG,GACpCqtF,KAAqCrtF,EAAE,GACvCstF,KAAmCttF,GAAG,GACtCy9D,KAA2Cz9D,EAAE,GAC7CutF,KAAyCvtF,GAAG,GAC5CwtF,KAA0CxtF,EAAE,GAC5Ci4F,KAAwCj4F,GAAG,GAC3CytF,KAAoCztF,EAAE,GACtC09D,KAAkC19D,GAAG,GACrC29D,KAAsC39D,EAAE,GACxC0tF,KAAoC1tF,GAAG,GACvC2tF,KAAmC3tF,EAAE,GACrC49D,KAAiC59D,GAAG,GACpC4tF,KAAoC5tF,EAAE,GACtC6tF,KAAkC7tF,GAAG,GACrC69D,OACAiwB,OACAC,OACAC,OACAC,OACAiK,KAAmCl4F,EAAE,GACrCo4F,OACAC,OACAC,OACAC,OACAC,OACAC,OACAC,OACAC,OACAC,OACA1K,OACAC,OACAC,OACAC,OACAC,OACAC,OACAsK,OACAC,OACAv6D,OACAiwD,OACAC,KAAyCzuF,EAAE,GAC3C0uF,KAAwC1uF,EAAE,GAC1C2uF,KAAsC3uF,GAAG,GACzC4uF,KAAuC5uF,GAAG,GAC1C+4F,KAAgCzoG,EAAEq1G,IAClC3M,KAAgC1oG,EAAEu1G,IAClC5M,OACAC,KAA4Cl5F,EAAE,GAC9C6uF,KAA0C7uF,GAAG,GAC7C8uF,KAAyC9uF,EAAE,GAC3C+uF,KAAuC/uF,GAAG,GAC1CgvF,KAAwChvF,EAAE,GAC1CivF,KAAsCjvF,GAAG,GACzCkvF,KAAyClvF,EAAE,GAC3CmvF,KAAuCnvF,GAAG,GAC1CovF,KAAwCpvF,EAAE,GAC1CqvF,KAAsCrvF,GAAG,GACzCsvF,KAA0CtvF,EAAE,GAC5CuvF,KAAwCvvF,GAAG,GAC3CwvF,KAAyCxvF,EAAE,GAC3CyvF,KAAuCzvF,GAAG,GAC1C0vF,KAA4C1vF,EAAE,GAC9C2vF,KAA0C3vF,GAAG,GAC7C4vF,KAA2C5vF,EAAE,GAC7C6vF,KAAyC7vF,GAAG,GAC5C8vF,KAAiC9vF,EAAE,GACnC+vF,KAA+B/vF,GAAG,GAClCgwF,KAAkChwF,EAAE,GACpCiwF,KAAgCjwF,GAAG,GACnCkwF,KAA0ClwF,EAAE,GAC5CmwF,KAAwCnwF,GAAG,GAC3CowF,KAAyCpwF,EAAE,GAC3CqwF,KAAuCrwF,GAAG,GAC1CswF,KAAmCtwF,EAAE,GACrCuwF,KAAiCvwF,GAAG,GACpCm5F,KAAkCn5F,EAAE,GACpCwwF,KAAgCxwF,GAAG,GACnCywF,KAA2CzwF,EAAE,GAC7C0wF,KAAyC1wF,GAAG,GAC5C2wF,KAAmD3wF,EAAE,GACrD4wF,KAAiD5wF,GAAG,GACpD6wF,KAAoC7wF,EAAE,GACtC8wF,KAAkC9wF,GAAG,GACrC+wF,KAAqC/wF,EAAE,GACvCgxF,KAAmChxF,GAAG,GACtCixF,KAAqCjxF,EAAE,GACvCkxF,KAAmClxF,GAAG,GACtCmxF,KAAwCnxF,EAAE,GAC1CoxF,KAAsCpxF,GAAG,GACzCqxF,OACAC,OACAC,KAA0CvxF,EAAE,GAC5CwxF,KAAwCxxF,GAAG,GAC3CyxF,OACAC,KAAgCphG,EAAE01G,IAClCrU,OACAC,OACAyH,KAA0Cr5F,EAAE,GAC5C6xF,KAAwC7xF,GAAG,GAC3C8xF,KAAyC9xF,EAAE,GAC3C+xF,KAAuC/xF,GAAG,GAC1Cs5F,KAA0Ct5F,EAAE,GAC5Cu5F,KAAwCv5F,GAAG,GAC3CgyF,KAAkC1hG,EAAEsyG,IACpCqY,KAAiCj7G,EAAE,GACnCk7G,KAA+Bl7G,GAAG,GAClCm7G,KAAoCn7G,EAAE,GACtCiyF,KAAkCjyF,GAAG,GACrCo7G,KAAgCp7G,EAAE,GAClCkyF,KAA8BlyF,GAAG,GACjCq7G,KAAiCr7G,EAAE,GACnCmyF,KAA+BnyF,GAAG,GAClCoyF,KAA8B9hG,EAAEg1G,IAChCjT,KAAkCryF,EAAE,GACpCs7G,KAAgCt7G,GAAG,GACnCu7G,KAAmCv7G,EAAE,GACrCw7G,KAAiCx7G,GAAG,GACpCy7G,OACAC,KAAqC17G,EAAE,GACvC27G,KAAmC37G,GAAG,GACtC47G,KAAiC57G,EAAE,GACnC67G,KAA+B77G,GAAG,GAClC87G,OACAC,KAAkC/7G,EAAE,GACpCg8G,KAAgCh8G,GAAG,GACnCi8G,OACAC,KAAyCl8G,EAAE,GAC3CsyF,KAAuCtyF,GAAG,GAC1CuyF,KAAwCvyF,EAAE,GAC1CwyF,KAAsCxyF,GAAG,GACzC89D,OACAE,OACAD,KAAqC/9D,EAAE,GACvCm8G,KAAmCn8G,GAAG,GACtCi+D,KAAqCj+D,EAAE,GACvCk+D,KAAmCl+D,GAAG,GACtCyyF,KAAqCzyF,EAAE,GACvC0yF,KAAmC1yF,GAAG,GACtC2yF,KAAsC3yF,EAAE,GACxC4yF,KAAoC5yF,GAAG,GACvC6yF,OACAC,OACAspB,OACAC,OACAC,OACAC,OACAC,KAAwCx8G,EAAE,GAC1Cy8G,KAAsCz8G,GAAG,GACzC08G,KAAuC18G,EAAE,GACzC28G,KAAqC38G,GAAG,GACxC48G,KAAsC58G,EAAE,GACxC68G,KAAoC78G,GAAG,GACvC88G,OACAC,OACAC,OACAC,OACAC,KAAsCl9G,EAAE,GACxCm9G,KAAoCn9G,GAAG,GACvCo9G,KAA4Cp9G,EAAE,GAC9Cq9G,KAA0Cr9G,GAAG,GAC7Cs9G,KAAyCt9G,EAAE,GAC3CkzF,OACAC,OACAoqB,KAAgCjtH,EAAEkpC,IAClCgkF,KAAsCltH,EAAE+oC,IACxCokF,OACAC,OACAC,KAAyC39G,EAAE,GAC3C49G,KAAuC59G,GAAG,GAC1C69G,KAAwC79G,EAAE,GAC1C89G,KAAsC99G,GAAG,GACzC+9G,KAAuC/9G,EAAE,GACzCg+G,KAAqCh+G,GAAG,GACxCi+G,KAAwCj+G,EAAE,GAC1Ck+G,KAAsCl+G,GAAG,GACzCm+G,OACAC,OACAC,KAA2Cr+G,EAAE,GAC7Cs+G,KAAyCt+G,GAAG,GAC5Cu+G,KAAuCv+G,EAAE,GACzCw+G,KAAqCx+G,GAAG,GACxCy+G,OACAC,KAAmC1+G,EAAE,GACrC2+G,KAAiC3+G,GAAG,GACpC4+G,OACAC,OACAC,OACAC,OACAC,OACAC,OACAC,OACAC,OACAC,OACAC,OACAC,OACAC,KAAmCv/G,GAAG,GACtCw/G,OACAC,KAA0Cz/G,EAAE,GAC5C0/G,KAAwC1/G,GAAG,GAC3C2/G,KAA2C3/G,EAAE,GAC7C4/G,KAAyC5/G,GAAG,GAC5C6/G,KAAuC7/G,EAAE,GACzC8/G,KAAqC9/G,GAAG,GACxC+/G,OACAC,KAA2ChgH,EAAE,GAC7CigH,KAAyCjgH,GAAG,GAC5CkgH,KAAuClgH,EAAE,GACzCmgH,KAAqCngH,GAAG,GACxCogH,KAAsCpgH,EAAE,GACxCqgH,KAAoCrgH,GAAG,GACvCsgH,KAAmCtgH,EAAE,GACrCugH,KAAiCvgH,GAAG,GACpCwgH,KAAyCxgH,EAAE,GAC3CygH,KAAuCzgH,GAAG,GAC1C0gH,OACAC,KAAoC3gH,EAAE,GACtC4gH,KAAkC5gH,GAAG,GACrC6gH,OACAC,KAAmC9gH,EAAE,GACrC+gH,KAAiC/gH,GAAG,GACpCghH,KAAqChhH,EAAE,GACvCihH,KAAmCjhH,GAAG,GACtCkhH,KAAkClhH,EAAE,GACpCmhH,KAAgCnhH,GAAG,GACnCohH,KAAqCphH,EAAE,GACvCqhH,KAAmCrhH,GAAG,GACtCshH,KAAoCthH,EAAE,GACtCozF,KAAkCpzF,GAAG,GACrCuhH,OACAC,KAA0CxhH,EAAE,GAC5CyhH,KAAwCzhH,GAAG,GAC3C0hH,KAAsC1hH,EAAE,GACxC2hH,KAAoC3hH,GAAG,GACvC4hH,KAA4C5hH,EAAE,GAC9C6hH,KAA0C7hH,GAAG,GAC7C8hH,KAAsCxxH,EAAE8nF,IACxC2pC,KAAyC/hH,EAAE,GAC3CgiH,KAAuChiH,GAAG,GAC1CiiH,KAAqCjiH,EAAE,EAAG1P,EAAE2nF,IAC5CiqC,KAAmCliH,GAAG,GACtCmiH,KAAoC7xH,EAAEsoC,IACtCwpF,KAAwCpiH,EAAE,GAC1CqiH,OACAlkD,KAAsCn+D,GAAG,GACzCo+D,KAAqCp+D,EAAE,GACvCq+D,KAAmCr+D,GAAG,GACtCs+D,KAA6Ct+D,EAAE,GAC/Cu+D,OACAC,KAA2Cx+D,GAAG,GAC9Cy+D,KAAmDz+D,EAAE,GACrD2+D,KAA2C3+D,EAAE,GAC7CsiH,OACAC,KAAyCviH,GAAG,GAC5CwiH,KAA+BlyH,EAAEg4G,IACjCma,OACAnvB,KAAyCtzF,EAAE,GAC3C0iH,KAAuC1iH,GAAG,GAC1C2iH,KAAwC3iH,EAAE,GAC1C4iH,KAAsC5iH,GAAG,GACzC6iH,KAA4C7iH,EAAE,GAC9C4+D,KAA0C5+D,GAAG,GAC7C6+D,OACAC,KAAuC9+D,EAAE,GACzC++D,OACAC,KAAqCh/D,GAAG,GACxC8iH,OACAC,KAAqC/iH,EAAE,GACvCi/D,OACAC,KAAmCl/D,GAAG,GACtCuzF,OACAyvB,OACAC,OACAC,KAAuCljH,EAAE,GACzCmjH,KAAqCnjH,GAAG,GACxCwzF,KAAoCxzF,EAAE,GACtCojH,KAAkCpjH,GAAG,GACrCqjH,OACAC,OACAC,OACAC,OACAC,OACAC,OACAC,OACApL,QACAqL,QACAC,MAAwC7jH,EAAE,GAC1C8jH,MAAsC9jH,GAAG,GACzC+jH,MAA8C/jH,EAAE,GAChDgkH,MAA4ChkH,GAAG,GAC/CikH,QACAC,MAA4ClkH,EAAE,GAC9CmkH,MAA0CnkH,GAAG,GAC7Cs4G,MAA2Ct4G,EAAE,GAC7CokH,MAAyCpkH,GAAG,GAC5CqkH,QACAC,QACAC,QACAC,MAA0CxkH,EAAE,GAC5CykH,MAAwCzkH,GAAG,GAC3C0kH,QACAC,MAA4C3kH,EAAE,GAC9C4kH,MAA0C5kH,GAAG,GAC7C6kH,QACAC,QACAC,QACAC,MAAqDhlH,EAAE,GACvDilH,MAAmDjlH,GAAG,GACtDklH,MAAsCllH,EAAE,GACxCmlH,MAAoCnlH,GAAG,GACvColH,QACAC,MAAuCrlH,EAAE,GACzCslH,MAAuCtlH,EAAE,GACzCulH,MAA+Bj1H,EAAGi2G,IAClCif,MAAqCxlH,EAAE,GACvCylH,QACAC,MAAwC1lH,EAAE,GAC1C2lH,MAAsC3lH,GAAG,GACzC4lH,MAA6C5lH,EAAE,GAC/C6lH,MAA2C7lH,GAAG,GAC9C8lH,QACAC,MAAsC/lH,EAAE,GACxCgmH,MAAoChmH,GAAG,GACvCimH,MAAsCjmH,EAAE,GACxCkmH,MAAoClmH,GAAG,GACvCmmH,MAAmCnmH,EAAE,GACrComH,MAAiCpmH,GAAG,GACpCqmH,MAAuCrmH,EAAE,GACzCsmH,MAAqCtmH,GAAG,GACxCumH,MAA4CvmH,EAAE,GAC9CwmH,MAA0CxmH,GAAG,GAC7CymH,MAA2CzmH,EAAE,GAC7C0mH,MAAyC1mH,GAAG,GAC5C2mH,MAAyC3mH,EAAE,GAC3C4mH,MAAuC5mH,GAAG,GAC1C6mH,MAA4C7mH,EAAE,GAC9C8mH,MAA0C9mH,GAAG,GAC7C+mH,MAAuC/mH,EAAE,GACzCgnH,MAAqChnH,GAAG,GACxCinH,MAAsCjnH,EAAE,GACxCknH,MAAoClnH,GAAG,GACvCmnH,MAAoCnnH,EAAE,GACtConH,MAAkCpnH,GAAG,GACrCqnH,QACAC,MAAiDtnH,EAAE,GACnDunH,MAA+CvnH,GAAG,GAClDwnH,MAAmDxnH,EAAE,GACrDynH,MAAiDznH,GAAG,GACpD0nH,MAAkD1nH,EAAE,GACpD2nH,MAAgD3nH,GAAG,GACnD4nH,MAAiD5nH,EAAE,GACnD6nH,MAA+C7nH,GAAG,GAClD8nH,MAAgD9nH,EAAE,GAClD+nH,MAA8C/nH,GAAG,GACjDgoH,QACAC,MAAmDjoH,EAAE,GACrDkoH,QACAC,MAAiDnoH,GAAG,GACpDooH,MAA+CpoH,EAAE,GACjDqoH,MAA6CroH,GAAG,GAChDsoH,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,MAAuD5oH,EAAE,GACzD6oH,MAAqD7oH,GAAG,GACxD8oH,MAAqC9oH,EAAE,GACvC+oH,MAAmC/oH,GAAG,GACtCgpH,QACAC,MAAoCjpH,EAAE,GACtCkpH,MAAkClpH,GAAG,GACrCmpH,MAAqCnpH,EAAE,GACvCopH,MAAmCppH,GAAG,GACtCqpH,MAAsCrpH,EAAE,GACxCspH,MAAoCtpH,GAAG,GACvCupH,MAAuCvpH,EAAE,GACzCwpH,MAAqCxpH,GAAG,GACxCypH,QACAC,MAAyC1pH,EAAE,GAC3C2pH,MAAuC3pH,GAAG,GAC1C4pH,QACAC,MAA6C7pH,EAAE,GAC/C8pH,MAA2C9pH,GAAG,GAC9C+pH,MAAsD/pH,EAAE,GACxDgqH,MAAoDhqH,GAAG,GACvDiqH,MAAoDjqH,EAAE,GACtDkqH,MAAkDlqH,GAAG,GACrDmqH,MAA2CnqH,EAAE,GAC7CoqH,MAAyCpqH,GAAG,GAC5CqqH,MAA4CrqH,EAAE,GAC9CsqH,MAA0CtqH,GAAG,GAC7CuqH,QACAC,MAA0CxqH,EAAE,GAC5CyqH,MAAwCzqH,GAAG,GAC3C0qH,MAAiD1qH,EAAE,GACnD2qH,MAA+C3qH,GAAG,GAClD4qH,QACAC,MAAyC7qH,EAAE,GAC3C8qH,MAAuC9qH,GAAG,GAC1C+qH,MAA0C/qH,EAAE,GAC5CgrH,MAAwChrH,GAAG,GAC3CirH,MAAwCjrH,EAAE,GAC1CkrH,MAAsClrH,GAAG,GACzCmrH,MAAmCnrH,GAAG,GACtCorH,MAAqCprH,GAAG,GACxCqrH,MAAqCrrH,GAAG,GACxCsrH,MAA0CtrH,EAAE,GAC5CurH,MAAwCvrH,GAAG,GAC3CwrH,MAAuCxrH,EAAE,GACzCyrH,MAAqCzrH,GAAG,GACxC0rH,MAAqC1rH,EAAE,GACvC2rH,MAAmC3rH,GAAG,GACtC4rH,MAAyC5rH,EAAE,GAC3C6rH,MAAuC7rH,GAAG,GAC1C8rH,MAAwC9rH,EAAE,GAC1C+rH,MAAsC/rH,GAAG,GACzCgsH,MAAuChsH,EAAE,GACzCisH,MAAqCjsH,GAAG,GACxCksH,MAA6ClsH,EAAE,GAC/CmsH,MAA2CnsH,GAAG,GAC9CosH,QACAC,MAAoCrsH,EAAE,GACtCssH,MAAkCtsH,GAAG,GACrCusH,QACAC,MAA6CxsH,EAAE,GAC/CysH,QACAC,QACAC,QACA9sD,MAAoD7/D,EAAE,GACtD8/D,MAAkD9/D,GAAG,GACrD4sH,QACAC,MAA4C7sH,EAAE,GAC9C+/D,MAA0C//D,GAAG,GAC7C8sH,QACAC,QACAC,MAAsChtH,EAAE,GACxCitH,MAAoCjtH,GAAG,GACvCktH,MAAmCltH,EAAE,GACrCmtH,MAAiCntH,GAAG,GACpCotH,QACAC,QACAC,MAA2CttH,EAAE,GAC7CutH,MAAyCvtH,GAAG,GAC5CwtH,QACAC,QACAC,MAAkD1tH,EAAE,GACpD2tH,MAAgD3tH,GAAG,GACnD4tH,QACAC,QACAC,MAA8C9tH,EAAE,GAChD+tH,MAA4C/tH,GAAG,GAC/CguH,QACAC,MAAwDjuH,EAAE,GAC1DkuH,MAAsDluH,GAAG,GACzDmuH,QACAC,MAA8CpuH,EAAE,GAChDquH,MAA4CruH,GAAG,GAC/CsuH,MAA6CtuH,EAAE,GAC/CuuH,MAA2CvuH,GAAG,GAC9CwuH,MAAyCxuH,EAAE,GAC3CyuH,MAAuCzuH,GAAG,GAC1C0uH,MAAwC1uH,EAAE,GAC1C2uH,MAAsC3uH,GAAG,GACzC4uH,QACAC,QACAC,MAA2C9uH,EAAE,GAC7C+uH,MAAyC/uH,GAAG,GAC5CgvH,QACAC,MAAqDjvH,EAAE,GACvDkvH,MAAmDlvH,GAAG,GACtDmvH,MAA4CnvH,EAAE,GAC9CovH,MAA0CpvH,GAAG,GAC7CqvH,MAAmDrvH,EAAE,GACrDsvH,MAAiDtvH,GAAG,GACpDuvH,QACAC,MAAoCxvH,EAAE,GACtCyvH,MAAkCzvH,GAAG,GACrC0vH,QACAC,MAA6C3vH,EAAE,GAC/C4vH,MAA2C5vH,GAAG,GAC9C6vH,QACAC,MAAuC9vH,EAAE,GACzC+vH,MAAqC/vH,GAAG,GACxCgwH,MAAuChwH,EAAE,GACzCiwH,MAAqCjwH,GAAG,GACxCkwH,MAA0ClwH,EAAE,GAC5CmwH,MAAwCnwH,GAAG,GAC3CowH,QACAC,QACAC,QACAC,MAAwCvwH,EAAE,GAC1CwwH,MAAsCxwH,GAAG,GACzCywH,QACAC,MAAuC1wH,EAAE,GACzC2wH,MAAqC3wH,GAAG,GACxC4wH,MAAyC5wH,EAAE,GAC3C6wH,MAAuC7wH,GAAG,GAC1C8wH,QACAC,MAAgD/wH,EAAE,GAClDgxH,MAA8ChxH,GAAG,GACjDixH,QACAC,MAAwClxH,EAAE,GAC1CmxH,MAAsCnxH,GAAG,GACzCoxH,MAA8CpxH,EAAE,GAChDqxH,MAA4CrxH,GAAG,GAC/CsxH,MAA2CtxH,EAAE,GAC7CuxH,QACAC,QACAC,QACAC,MAAgD1xH,EAAE,GAClD2xH,MAA8C3xH,GAAG,GACjD4xH,MAA+C5xH,EAAE,GACjD6xH,MAA6C7xH,GAAG,GAChD8xH,QACAC,QACAC,QACAC,MAA4CjyH,EAAE,GAC9CkyH,MAA0ClyH,GAAG,GAC7CmyH,MAA4CnyH,EAAE,GAC9CoyH,MAA0CpyH,GAAG,GAC7CqyH,MAAyCryH,EAAE,GAC3CsyH,MAAuCtyH,GAAG,GAC1CuyH,QACAC,MAA8CxyH,EAAE,GAChDyyH,MAA4CzyH,GAAG,GAC/C0yH,MAA+C1yH,EAAE,GACjD2yH,MAA6C3yH,GAAG,GAChD4yH,QACAC,QACAC,QACAC,MAA+C/yH,EAAE,GACjDgzH,MAA6ChzH,GAAG,GAChDizH,QACAC,MAA0ClzH,EAAE,GAC5CmzH,MAAwCnzH,GAAG,GAC3CozH,QACAC,QACAl0F,OAAU1wC,EAAE,IAIb,IAAImnH,KAEHn6G,GAA6BnL,EAAE6yF,IAC/BnpF,IAAyB1J,EAAE0jD,IAC3B95C,IAA+B5J,EAAE8jD,IACjCj6C,IAA8B7J,EAAE8jD,IAChCh6C,IAAmC9J,EAAE6hD,IACrC93C,IAAiC/J,EAAE6hD,IACnC73C,IAA+BhK,EAAE8pC,IACjC7/B,IAA8BjK,EAAE6hD,IAChC33C,IAA6BlK,EAAE6hD,IAC/B13C,IAA8BnK,EAAE8jD,IAChC15C,IAA4BpK,EAAEwxD,IAC9BnnD,IAA4BrK,EAAEwxD,IAC9BlmD,IAAiCtL,EAAE6yD,IACnCtnD,IAAyBvL,EAAEsyD,IAC3B9mD,IAAgCxL,EAAE6hD,IAClCp2C,MACAC,MACAC,IAA0B3L,EAAEg0D,IAC5BpoD,MACAqM,IAA8BjY,EAAE6hD,IAChC3pC,IAAgClY,EAAE8xD,IAClCtnD,IAAgCxK,EAAE8pC,IAClCr/B,IAAiCzK,EAAE8pC,IACnCp/B,IAA+B1K,EAAE8pC,IACjCh8B,IAAkC9N,EAAE8pC,IACpC/7B,IAAiC/N,EAAE6hD,IACnC7zC,IAA+BhO,EAAE6hD,IACjCh3C,IAA8B7K,EAAEo4E,IAChCrtE,IAA0B/K,EAAE2sD,IAC5B3gD,IAA+BhM,EAAE8jD,IACjCt3C,MACAC,IAA6BzM,EAAEsrD,IAC/B39C,IAA4B3N,EAAE6hD,IAC9Bj0C,IAA0B5N,EAAE0sD,IAC5B7+C,IAA8B7N,EAAE8jD,IAChCngD,MACA2J,MACAC,MACAC,MACAinF,IAAiCz0F,EAAE8jD,IACnCuV,MACA5rB,MACA8hD,MACAC,IAAiCxvF,EAAEqpD,IACnComC,IAAyBzvF,EAAEu0D,IAC3BmgC,MACAC,IAAoC30F,EAAE6hD,IACtCqtC,MACAC,MACAE,IAAgCrvF,EAAE6hD,IAClC6W,KAA6B14D,EAAE+1D,IAC/BnyD,KAA0B5D,EAAEgxD,IAC5BntD,KAA4B7D,EAAEypD,IAC9B3lD,KAA6B9D,EAAE8jD,IAC/BuxC,KAA6Br1F,EAAE6hD,IAC/ByzC,KAA6Bt1F,EAAE6hD,IAC/B0zC,KAAiCv1F,EAAE6pD,IACnC9lD,OACA4xF,KAA6B31F,EAAEu1D,IAC/B+tC,KAA6BtjG,EAAE8jD,IAC/B+xC,OACAE,KAA6B/1F,EAAE21D,IAC/BkD,OACAC,OACAyS,OACAC,OACAC,OACAC,KAAyC1rE,EAAE8jD,IAC3Cy/C,OACAC,OACAC,KAAyBzjG,EAAEw2D,IAC3BvyD,KAA2BjE,EAAEk2D,IAC7ByV,OACAC,OACAC,OACAznE,OACAC,OACAu/F,OACAC,OACAC,OACAh4B,OACAC,OACA6qB,KAA2B52F,EAAEiuD,IAC7B4oC,KAA8B72F,EAAEouD,IAChC4oC,KAAyBh3F,EAAE0jD,IAC3ByzC,OACAC,OACAC,OACAt+B,OACAC,OACAC,KAA4Bj5D,EAAE6hD,IAC9BqX,OACA30D,OACA4nE,OACAC,OACAC,OACAC,OACAgrB,OACAC,OACAC,OACA7pD,OACAgqD,OACA/pD,OACAgqD,OACA/pD,KAA8B7tC,EAAE8jD,IAChCg0C,OACAkM,KAAqChkG,EAAE6hD,IACvCr9C,OACAwzF,KAAwBh4F,EAAEqwD,IAC1B4nC,KAAkCj4F,EAAEopD,IACpC8uC,KAAkCl4F,EAAE0jD,IACpCy0C,OACAE,KAAgCr4F,EAAEm0D,IAClCiwC,OACAE,OACAC,OACAC,OACAC,OACAnM,OACAoM,OACAC,OACAC,OACAC,OACAC,OACAC,OACAC,OACAxM,OACAE,OACAC,KAAyB34F,EAAEiqD,IAC3B2uC,KAA8B54F,EAAE+sD,IAChCroD,KAA4B1E,EAAEsqD,IAC9BiiB,OACAC,OACAqtB,OACAe,OACAC,OACAG,OACA4K,KAA6B5lG,EAAEgkD,IAC/Bk3C,OACAC,OACAjrB,OACAwrB,OACAsK,OACA0kB,OACAxkB,OACAC,OACAxK,OACAyK,OACAxK,OACAC,OACAwK,OACAv4D,OACAouD,KAA8Bl8F,EAAE6hD,IAChC+kD,KAAyB5mG,EAAE0jD,IAC3BkkD,OACAC,OACAC,OACAC,OACAC,OACAC,OACAC,OACAC,OACA7J,OACAmK,OACAC,OACAC,OACAC,OACArK,KAA6Bv+F,EAAEyxD,IAC/B+sC,KAA8Bx+F,EAAE6hD,IAChC48C,OACAC,OACAC,OACAG,OACAC,KAAyB/+F,EAAE20D,IAC3BqqC,KAAgCh/F,EAAE6hD,IAClCo9C,KAA2Bj/F,EAAEg1D,IAC7BkqC,OACAC,KAA8Bn/F,EAAEilD,IAChCm6C,OACAC,KAAkCr/F,EAAE8jD,IACpCw7C,OACAC,OACAE,KAAgCz/F,EAAE0jD,IAClCg8C,KAA8B1/F,EAAE+qD,GAAgB93C,EAAE,GAClD0sF,KAA6B3/F,EAAE0jD,IAC/B8pB,KAAgCxtE,EAAE4tD,IAClC8f,KAA2B1tE,EAAEu2D,IAC7Bs1D,KAA4B7rH,EAAEqxD,IAC9Bsc,KAA2B3tE,EAAEmtD,IAC7BygB,KAA6B5tE,EAAEmxD,IAC/BixC,KAA4BpiG,EAAEy2D,IAC9B4rC,KAAyBriG,EAAEyqD,IAC3B+3C,OACAC,KAA2BziG,EAAEuzD,IAC7BsvC,KAAsC7iG,EAAEgrD,IACxCgjE,OACAK,KAA6BruH,EAAEusD,IAC/BulE,KAAwB9xH,EAAE8tD,IAC1BygB,OACAqmD,QACAM,MAA4Bl1H,EAAEstD,IAC9BwpE,QACAkM,MAA6BhjI,EAAEmzD,IAC/Boc,MAAkCvvE,EAAEo1D,IACpCoa,QACA8sD,QACAC,QACA9sD,QACA+sD,QACAC,QACAC,QACAC,QACAC,MAAyB58H,EAAEipD,IAC3B4zE,QACAoG,QACAnG,QACAoG,QACAC,QACAC,QACAC,QACAC,QACAvG,QACA4D,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAkC,QACAC,MAA6BvwH,EAAE,IAC/BwwH,QACAC,QACAC,QACAC,MAA6B5jI,EAAE0jD,IAC/BmgF,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,MAA2B3kI,EAAE41D,GAAa3iD,EAAE,IAC5C2xH,MAA2B5kI,EAAE8hF,GAAa7uE,EAAE,IAC5C4xH,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,MAA8BvlI,EAAE6hD,GAAW5uC,EAAE,IAC7CuyH,QACAC,MAAiCxyH,EAAE,IACnCyyH,QACAC,QACAC,QACAC,QACAC,MAA6B9lI,EAAE+yD,GAAe9/C,EAAE,IAChD8yH,QACAC,MAA2BhmI,EAAEkhF,GAAajuE,EAAE,IAC5CgzH,QACAC,QACAC,QACAC,MAAiCpmI,EAAEyzD,GAAmBxgD,EAAE,IACxDozH,MAAsCrmI,EAAE0jD,IACxC4iF,QACAC,QACAC,QACAC,QACAC,MAA0C1mI,EAAE6qD,IAC5C87E,QACAC,QACAC,QACAC,QACAlF,QACAmF,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,MAA2BzoI,EAAE8jD,IAC7B4kF,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,MAA8BvpI,EAAEo2D,IAChCozE,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,MAAgClqI,EAAEy1D,IAClC00E,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QAEArnI,GAAgCxD,EAAE4tD,IAClCnqD,KACAC,GAA8B1D,EAAEm3D,IAChC5tD,GAA8BvJ,EAAEg3D,IAChCxtD,GAA8BxJ,EAAE+2D,IAChC7rD,GAAkClL,EAAEs3D,IACpClsD,GAA4BpL,EAAEq3D,IAC9BhsD,KACA5B,GAAyBzJ,EAAEipD,IAC3Bt/C,MACAW,IAAiCtK,EAAE8jD,IACnCj4C,IAAiC7L,EAAEytD,IACnC3hD,MACAiM,MACAC,IAA2BhY,EAAEuzD,IAC7Bp7C,MACA5N,IAAsCvK,EAAEgrD,IAKxCj/C,IAAmC/L,EAAEw3D,IAQrC9qD,MAcAT,MACAU,IAA6B3M,EAAEywD,IAC/B7jD,IAAkC5M,EAAE8jD,IACpCn/C,MACA6oC,MACAmrB,OACAy8B,KAA4Bp1F,EAAE02D,IAC9B6C,OACAv1D,OACAwxF,OAIAI,KAAoC51F,EAAE03D,IACtCo+B,OAEAE,OACAC,OACAr9B,OAIA29B,OACAE,OACAxqB,OACA6qB,OACAC,OACAE,OACA/qB,OACAwrB,KAA6B13F,EAAEy3D,IAC/BsgC,OACAsM,OACAt2D,OACAmwD,OACAiE,KAA6BniG,EAAE6yF,IAC/ByP,KAAyBtiG,EAAEipD,IAC3ByjE,KAAyB1sH,EAAEsyD,IAC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","file":"dist/xlsx.full.min.js"} \ No newline at end of file diff --git a/cp/resources/views/partials/js-applications.twig b/cp/resources/views/partials/js-applications.twig index da0bee8..24c0f62 100644 --- a/cp/resources/views/partials/js-applications.twig +++ b/cp/resources/views/partials/js-applications.twig @@ -1,9 +1,9 @@ - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + +