diff --git a/js/files_pdfviewer-workersrc.js b/js/files_pdfviewer-workersrc.js index ffce9ada..37ae0e49 100644 --- a/js/files_pdfviewer-workersrc.js +++ b/js/files_pdfviewer-workersrc.js @@ -1,3 +1,3 @@ /*! For license information please see files_pdfviewer-workersrc.js.LICENSE.txt */ -(()=>{var e={8583:(e,t,r)=>{"use strict";var n=r(7418);function o(e,t){if(e===t)return 0;for(var r=e.length,n=t.length,o=0,i=Math.min(r,n);o=0;s--)if(f[s]!==l[s])return!1;for(s=f.length-1;s>=0;s--)if(!v(e[c=f[s]],t[c],r,n))return!1;return!0}(e,t,r,n))}return r?e===t:e==t}function w(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function O(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function j(e,t,r,n){var o;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(n=r,r=null),o=function(e){var t;try{e()}catch(e){t=e}return t}(t),n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:"."),e&&!o&&b(o,r,"Missing expected exception"+n);var i="string"==typeof n,c=!e&&o&&!r;if((!e&&u.isError(o)&&i&&O(o,r)||c)&&b(o,r,"Got unwanted exception"+n),e&&o&&r&&!O(o,r)||!e&&o)throw o}p.AssertionError=function(e){var t;this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=d(h((t=this).actual),128)+" "+t.operator+" "+d(h(t.expected),128),this.generatedMessage=!0);var r=e.stackStartFunction||b;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var n=new Error;if(n.stack){var o=n.stack,i=g(r),u=o.indexOf("\n"+i);if(u>=0){var c=o.indexOf("\n",u+1);o=o.substring(c+1)}this.stack=o}}},u.inherits(p.AssertionError,Error),p.fail=b,p.ok=m,p.equal=function(e,t,r){e!=t&&b(e,t,r,"==",p.equal)},p.notEqual=function(e,t,r){e==t&&b(e,t,r,"!=",p.notEqual)},p.deepEqual=function(e,t,r){v(e,t,!1)||b(e,t,r,"deepEqual",p.deepEqual)},p.deepStrictEqual=function(e,t,r){v(e,t,!0)||b(e,t,r,"deepStrictEqual",p.deepStrictEqual)},p.notDeepEqual=function(e,t,r){v(e,t,!1)&&b(e,t,r,"notDeepEqual",p.notDeepEqual)},p.notDeepStrictEqual=function e(t,r,n){v(t,r,!0)&&b(t,r,n,"notDeepStrictEqual",e)},p.strictEqual=function(e,t,r){e!==t&&b(e,t,r,"===",p.strictEqual)},p.notStrictEqual=function(e,t,r){e===t&&b(e,t,r,"!==",p.notStrictEqual)},p.throws=function(e,t,r){j(!0,e,t,r)},p.doesNotThrow=function(e,t,r){j(!1,e,t,r)},p.ifError=function(e){if(e)throw e},p.strict=n((function e(t,r){t||b(t,!0,r,"==",e)}),p,{equal:p.strictEqual,deepEqual:p.deepStrictEqual,notEqual:p.notStrictEqual,notDeepEqual:p.notDeepStrictEqual}),p.strict.strict=p.strict;var E=Object.keys||function(e){var t=[];for(var r in e)c.call(e,r)&&t.push(r);return t}},6076:e=>{"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}},2014:e=>{e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},69:(e,t,r)=>{var n=r(4155),o=r(5108),i=/%[sdj%]/g;t.format=function(e){if(!m(e)){for(var t=[],r=0;r=o)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(e){return"[Circular]"}default:return e}})),c=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),d(r)?n.showHidden=r:r&&t._extend(n,r),v(n.showHidden)&&(n.showHidden=!1),v(n.depth)&&(n.depth=2),v(n.colors)&&(n.colors=!1),v(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=s),l(n,e,n.depth)}function s(e,t){var r=a.styles[t];return r?"["+a.colors[r][0]+"m"+e+"["+a.colors[r][1]+"m":e}function f(e,t){return e}function l(e,r,n){if(e.customInspect&&r&&x(r.inspect)&&r.inspect!==t.inspect&&(!r.constructor||r.constructor.prototype!==r)){var o=r.inspect(n,e);return m(o)||(o=l(e,o,n)),o}var i=function(e,t){if(v(t))return e.stylize("undefined","undefined");if(m(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(b(t))return e.stylize(""+t,"number");if(d(t))return e.stylize(""+t,"boolean");if(h(t))return e.stylize("null","null")}(e,r);if(i)return i;var u=Object.keys(r),c=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(u);if(e.showHidden&&(u=Object.getOwnPropertyNames(r)),E(r)&&(u.indexOf("message")>=0||u.indexOf("description")>=0))return p(r);if(0===u.length){if(x(r)){var a=r.name?": "+r.name:"";return e.stylize("[Function"+a+"]","special")}if(w(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(j(r))return e.stylize(Date.prototype.toString.call(r),"date");if(E(r))return p(r)}var s,f="",O=!1,S=["{","}"];(g(r)&&(O=!0,S=["[","]"]),x(r))&&(f=" [Function"+(r.name?": "+r.name:"")+"]");return w(r)&&(f=" "+RegExp.prototype.toString.call(r)),j(r)&&(f=" "+Date.prototype.toUTCString.call(r)),E(r)&&(f=" "+p(r)),0!==u.length||O&&0!=r.length?n<0?w(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),s=O?function(e,t,r,n,o){for(var i=[],u=0,c=t.length;u=0&&0,e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1];return r[0]+t+" "+e.join(", ")+" "+r[1]}(s,f,S)):S[0]+f+S[1]}function p(e){return"["+Error.prototype.toString.call(e)+"]"}function y(e,t,r,n,o,i){var u,c,a;if((a=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?c=a.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):a.set&&(c=e.stylize("[Setter]","special")),T(n,o)||(u="["+o+"]"),c||(e.seen.indexOf(a.value)<0?(c=h(r)?l(e,a.value,null):l(e,a.value,r-1)).indexOf("\n")>-1&&(c=i?c.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+c.split("\n").map((function(e){return" "+e})).join("\n")):c=e.stylize("[Circular]","special")),v(u)){if(i&&o.match(/^\d+$/))return c;(u=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(u=u.substr(1,u.length-2),u=e.stylize(u,"name")):(u=u.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),u=e.stylize(u,"string"))}return u+": "+c}function g(e){return Array.isArray(e)}function d(e){return"boolean"==typeof e}function h(e){return null===e}function b(e){return"number"==typeof e}function m(e){return"string"==typeof e}function v(e){return void 0===e}function w(e){return O(e)&&"[object RegExp]"===S(e)}function O(e){return"object"==typeof e&&null!==e}function j(e){return O(e)&&"[object Date]"===S(e)}function E(e){return O(e)&&("[object Error]"===S(e)||e instanceof Error)}function x(e){return"function"==typeof e}function S(e){return Object.prototype.toString.call(e)}function D(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(v(u)&&(u=n.env.NODE_DEBUG||""),e=e.toUpperCase(),!c[e])if(new RegExp("\\b"+e+"\\b","i").test(u)){var r=n.pid;c[e]=function(){var n=t.format.apply(t,arguments);o.error("%s %d: %s",e,r,n)}}else c[e]=function(){};return c[e]},t.inspect=a,a.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},a.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=g,t.isBoolean=d,t.isNull=h,t.isNullOrUndefined=function(e){return null==e},t.isNumber=b,t.isString=m,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=v,t.isRegExp=w,t.isObject=O,t.isDate=j,t.isError=E,t.isFunction=x,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=r(2014);var P=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function A(){var e=new Date,t=[D(e.getHours()),D(e.getMinutes()),D(e.getSeconds())].join(":");return[e.getDate(),P[e.getMonth()],t].join(" ")}function T(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){o.log("%s - %s",A(),t.format.apply(t,arguments))},t.inherits=r(6076),t._extend=function(e,t){if(!t||!O(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e}},6485:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;const r=document.getElementById("hideDownload");t.default=()=>!r||r&&"true"!==r.value},4030:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){if(window.location!==window.parent.location)return;window.location.href="/"}},5108:(e,t,r)=>{var n=r(9539),o=r(8583);function i(){return(new Date).getTime()}var u,c=Array.prototype.slice,a={};u=void 0!==r.g&&r.g.console?r.g.console:"undefined"!=typeof window&&window.console?window.console:{};for(var s=[[function(){},"log"],[function(){u.log.apply(u,arguments)},"info"],[function(){u.log.apply(u,arguments)},"warn"],[function(){u.warn.apply(u,arguments)},"error"],[function(e){a[e]=i()},"time"],[function(e){var t=a[e];if(!t)throw new Error("No such label: "+e);delete a[e];var r=i()-t;u.log(e+": "+r+"ms")},"timeEnd"],[function(){var e=new Error;e.name="Trace",e.message=n.format.apply(null,arguments),u.error(e.stack)},"trace"],[function(e){u.log(n.inspect(e)+"\n")},"dir"],[function(e){if(!e){var t=c.call(arguments,1);o.ok(!1,n.format.apply(null,t))}},"assert"]],f=0;f{"use strict";var t=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;function o(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(e){n[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(e){return!1}}()?Object.assign:function(e,i){for(var u,c,a=o(e),s=1;s{var t,r,n=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function i(){throw new Error("clearTimeout has not been defined")}function u(e){if(t===setTimeout)return setTimeout(e,0);if((t===o||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:o}catch(e){t=o}try{r="function"==typeof clearTimeout?clearTimeout:i}catch(e){r=i}}();var c,a=[],s=!1,f=-1;function l(){s&&c&&(s=!1,c.length?a=c.concat(a):f=-1,a.length&&p())}function p(){if(!s){var e=u(l);s=!0;for(var t=a.length;t;){for(c=a,a=[];++f1)for(var r=1;r{"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}},384:e=>{e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},9539:(e,t,r)=>{var n=r(4155),o=r(5108),i=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),r={},n=0;n=o)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(e){return"[Circular]"}default:return e}})),c=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),h(r)?n.showHidden=r:r&&t._extend(n,r),w(n.showHidden)&&(n.showHidden=!1),w(n.depth)&&(n.depth=2),w(n.colors)&&(n.colors=!1),w(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=f),p(n,e,n.depth)}function f(e,t){var r=s.styles[t];return r?"["+s.colors[r][0]+"m"+e+"["+s.colors[r][1]+"m":e}function l(e,t){return e}function p(e,r,n){if(e.customInspect&&r&&S(r.inspect)&&r.inspect!==t.inspect&&(!r.constructor||r.constructor.prototype!==r)){var o=r.inspect(n,e);return v(o)||(o=p(e,o,n)),o}var i=function(e,t){if(w(t))return e.stylize("undefined","undefined");if(v(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(m(t))return e.stylize(""+t,"number");if(h(t))return e.stylize(""+t,"boolean");if(b(t))return e.stylize("null","null")}(e,r);if(i)return i;var u=Object.keys(r),c=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(u);if(e.showHidden&&(u=Object.getOwnPropertyNames(r)),x(r)&&(u.indexOf("message")>=0||u.indexOf("description")>=0))return y(r);if(0===u.length){if(S(r)){var a=r.name?": "+r.name:"";return e.stylize("[Function"+a+"]","special")}if(O(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(E(r))return e.stylize(Date.prototype.toString.call(r),"date");if(x(r))return y(r)}var s,f="",l=!1,j=["{","}"];(d(r)&&(l=!0,j=["[","]"]),S(r))&&(f=" [Function"+(r.name?": "+r.name:"")+"]");return O(r)&&(f=" "+RegExp.prototype.toString.call(r)),E(r)&&(f=" "+Date.prototype.toUTCString.call(r)),x(r)&&(f=" "+y(r)),0!==u.length||l&&0!=r.length?n<0?O(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),s=l?function(e,t,r,n,o){for(var i=[],u=0,c=t.length;u=0&&0,e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1];return r[0]+t+" "+e.join(", ")+" "+r[1]}(s,f,j)):j[0]+f+j[1]}function y(e){return"["+Error.prototype.toString.call(e)+"]"}function g(e,t,r,n,o,i){var u,c,a;if((a=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?c=a.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):a.set&&(c=e.stylize("[Setter]","special")),z(n,o)||(u="["+o+"]"),c||(e.seen.indexOf(a.value)<0?(c=b(r)?p(e,a.value,null):p(e,a.value,r-1)).indexOf("\n")>-1&&(c=i?c.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+c.split("\n").map((function(e){return" "+e})).join("\n")):c=e.stylize("[Circular]","special")),w(u)){if(i&&o.match(/^\d+$/))return c;(u=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(u=u.substr(1,u.length-2),u=e.stylize(u,"name")):(u=u.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),u=e.stylize(u,"string"))}return u+": "+c}function d(e){return Array.isArray(e)}function h(e){return"boolean"==typeof e}function b(e){return null===e}function m(e){return"number"==typeof e}function v(e){return"string"==typeof e}function w(e){return void 0===e}function O(e){return j(e)&&"[object RegExp]"===D(e)}function j(e){return"object"==typeof e&&null!==e}function E(e){return j(e)&&"[object Date]"===D(e)}function x(e){return j(e)&&("[object Error]"===D(e)||e instanceof Error)}function S(e){return"function"==typeof e}function D(e){return Object.prototype.toString.call(e)}function P(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(w(c)&&(c=n.env.NODE_DEBUG||""),e=e.toUpperCase(),!a[e])if(new RegExp("\\b"+e+"\\b","i").test(c)){var r=n.pid;a[e]=function(){var n=t.format.apply(t,arguments);o.error("%s %d: %s",e,r,n)}}else a[e]=function(){};return a[e]},t.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=d,t.isBoolean=h,t.isNull=b,t.isNullOrUndefined=function(e){return null==e},t.isNumber=m,t.isString=v,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=w,t.isRegExp=O,t.isObject=j,t.isDate=E,t.isError=x,t.isFunction=S,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=r(384);var A=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function T(){var e=new Date,t=[P(e.getHours()),P(e.getMinutes()),P(e.getSeconds())].join(":");return[e.getDate(),A[e.getMonth()],t].join(" ")}function z(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){o.log("%s - %s",T(),t.format.apply(t,arguments))},t.inherits=r(1496),t._extend=function(e,t){if(!t||!j(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};var F="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function k(e,t){if(!e){var r=new Error("Promise was rejected with a falsy value");r.reason=e,e=r}return t(e)}t.promisify=function(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');if(F&&e[F]){var t;if("function"!=typeof(t=e[F]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(t,F,{value:t,enumerable:!1,writable:!1,configurable:!0}),t}function t(){for(var t,r,n=new Promise((function(e,n){t=e,r=n})),o=[],i=0;i{"use strict";var e=r(5108),t=n(r(6485));function n(e){return e&&e.__esModule?e:{default:e}}(0,n(r(4030)).default)(),document.addEventListener("DOMContentLoaded",(function(){if(PDFViewerApplicationOptions.set("disablePreferences",!0),PDFViewerApplicationOptions.set("externalLinkTarget",pdfjsLib.LinkTarget.BLANK),PDFViewerApplicationOptions.set("isEvalSupported",!1),PDFViewerApplicationOptions.set("workerSrc",document.getElementsByTagName("head")[0].getAttribute("data-workersrc")),PDFViewerApplicationOptions.set("cMapUrl",document.getElementsByTagName("head")[0].getAttribute("data-cmapurl")),e.debug("Initialized files_pdfviewer",PDFViewerApplicationOptions.getAll()),PDFViewerApplication.download=function(){function t(e){let t=0;const r=e.length;for(;t1&&void 0!==arguments[1]?arguments[1]:"document.pdf";if(t(r))return e.warn('getPDFFileNameFromURL: ignoring "data:" URL for performance reasons.'),n;const o=/^(?:(?:[^:]+:)?\/\/[^/]+)?([^?#]*)(\?[^#]*)?(#.*)?$/,i=/[^/?#=]+\.pdf\b(?!.*\.pdf\b)/i,u=o.exec(r);let c=i.exec(u[1])||i.exec(u[2])||i.exec(u[3]);if(c&&(c=c[0],-1!==c.indexOf("%")))try{c=i.exec(decodeURIComponent(c))[0]}catch(t){e.debug(t)}return c||n}(r))},!(0,t.default)()){PDFViewerApplication.download=function(){};const t=document.getElementById("toolbarViewerRight").querySelector("button.download");t&&(t.style.display="none"),delete PDFViewerApplication.supportsPrinting,PDFViewerApplication.supportsPrinting=!1,PDFViewerApplication.beforePrint=function(){},document.getElementById("viewer").classList.add("disabledTextSelection"),e.debug("Files_PDFViewer, download and print disabled")}}),!0)})()})(); -//# sourceMappingURL=files_pdfviewer-workersrc.js.map?v=ce5ed7e131aba81d89bd \ No newline at end of file +(()=>{var e={8583:(e,t,r)=>{"use strict";var n=r(7418);function o(e,t){if(e===t)return 0;for(var r=e.length,n=t.length,o=0,i=Math.min(r,n);o=0;s--)if(f[s]!==l[s])return!1;for(s=f.length-1;s>=0;s--)if(!v(e[c=f[s]],t[c],r,n))return!1;return!0}(e,t,r,n))}return r?e===t:e==t}function w(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function O(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function j(e,t,r,n){var o;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(n=r,r=null),o=function(e){var t;try{e()}catch(e){t=e}return t}(t),n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:"."),e&&!o&&b(o,r,"Missing expected exception"+n);var i="string"==typeof n,c=!e&&o&&!r;if((!e&&u.isError(o)&&i&&O(o,r)||c)&&b(o,r,"Got unwanted exception"+n),e&&o&&r&&!O(o,r)||!e&&o)throw o}p.AssertionError=function(e){var t;this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=d(h((t=this).actual),128)+" "+t.operator+" "+d(h(t.expected),128),this.generatedMessage=!0);var r=e.stackStartFunction||b;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var n=new Error;if(n.stack){var o=n.stack,i=g(r),u=o.indexOf("\n"+i);if(u>=0){var c=o.indexOf("\n",u+1);o=o.substring(c+1)}this.stack=o}}},u.inherits(p.AssertionError,Error),p.fail=b,p.ok=m,p.equal=function(e,t,r){e!=t&&b(e,t,r,"==",p.equal)},p.notEqual=function(e,t,r){e==t&&b(e,t,r,"!=",p.notEqual)},p.deepEqual=function(e,t,r){v(e,t,!1)||b(e,t,r,"deepEqual",p.deepEqual)},p.deepStrictEqual=function(e,t,r){v(e,t,!0)||b(e,t,r,"deepStrictEqual",p.deepStrictEqual)},p.notDeepEqual=function(e,t,r){v(e,t,!1)&&b(e,t,r,"notDeepEqual",p.notDeepEqual)},p.notDeepStrictEqual=function e(t,r,n){v(t,r,!0)&&b(t,r,n,"notDeepStrictEqual",e)},p.strictEqual=function(e,t,r){e!==t&&b(e,t,r,"===",p.strictEqual)},p.notStrictEqual=function(e,t,r){e===t&&b(e,t,r,"!==",p.notStrictEqual)},p.throws=function(e,t,r){j(!0,e,t,r)},p.doesNotThrow=function(e,t,r){j(!1,e,t,r)},p.ifError=function(e){if(e)throw e},p.strict=n((function e(t,r){t||b(t,!0,r,"==",e)}),p,{equal:p.strictEqual,deepEqual:p.deepStrictEqual,notEqual:p.notStrictEqual,notDeepEqual:p.notDeepStrictEqual}),p.strict.strict=p.strict;var E=Object.keys||function(e){var t=[];for(var r in e)c.call(e,r)&&t.push(r);return t}},6076:e=>{"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}},2014:e=>{e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},69:(e,t,r)=>{var n=r(4155),o=r(5108),i=/%[sdj%]/g;t.format=function(e){if(!m(e)){for(var t=[],r=0;r=o)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(e){return"[Circular]"}default:return e}})),c=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),d(r)?n.showHidden=r:r&&t._extend(n,r),v(n.showHidden)&&(n.showHidden=!1),v(n.depth)&&(n.depth=2),v(n.colors)&&(n.colors=!1),v(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=s),l(n,e,n.depth)}function s(e,t){var r=a.styles[t];return r?"["+a.colors[r][0]+"m"+e+"["+a.colors[r][1]+"m":e}function f(e,t){return e}function l(e,r,n){if(e.customInspect&&r&&x(r.inspect)&&r.inspect!==t.inspect&&(!r.constructor||r.constructor.prototype!==r)){var o=r.inspect(n,e);return m(o)||(o=l(e,o,n)),o}var i=function(e,t){if(v(t))return e.stylize("undefined","undefined");if(m(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(b(t))return e.stylize(""+t,"number");if(d(t))return e.stylize(""+t,"boolean");if(h(t))return e.stylize("null","null")}(e,r);if(i)return i;var u=Object.keys(r),c=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(u);if(e.showHidden&&(u=Object.getOwnPropertyNames(r)),E(r)&&(u.indexOf("message")>=0||u.indexOf("description")>=0))return p(r);if(0===u.length){if(x(r)){var a=r.name?": "+r.name:"";return e.stylize("[Function"+a+"]","special")}if(w(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(j(r))return e.stylize(Date.prototype.toString.call(r),"date");if(E(r))return p(r)}var s,f="",O=!1,S=["{","}"];(g(r)&&(O=!0,S=["[","]"]),x(r))&&(f=" [Function"+(r.name?": "+r.name:"")+"]");return w(r)&&(f=" "+RegExp.prototype.toString.call(r)),j(r)&&(f=" "+Date.prototype.toUTCString.call(r)),E(r)&&(f=" "+p(r)),0!==u.length||O&&0!=r.length?n<0?w(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),s=O?function(e,t,r,n,o){for(var i=[],u=0,c=t.length;u=0&&0,e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1];return r[0]+t+" "+e.join(", ")+" "+r[1]}(s,f,S)):S[0]+f+S[1]}function p(e){return"["+Error.prototype.toString.call(e)+"]"}function y(e,t,r,n,o,i){var u,c,a;if((a=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?c=a.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):a.set&&(c=e.stylize("[Setter]","special")),T(n,o)||(u="["+o+"]"),c||(e.seen.indexOf(a.value)<0?(c=h(r)?l(e,a.value,null):l(e,a.value,r-1)).indexOf("\n")>-1&&(c=i?c.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+c.split("\n").map((function(e){return" "+e})).join("\n")):c=e.stylize("[Circular]","special")),v(u)){if(i&&o.match(/^\d+$/))return c;(u=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(u=u.substr(1,u.length-2),u=e.stylize(u,"name")):(u=u.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),u=e.stylize(u,"string"))}return u+": "+c}function g(e){return Array.isArray(e)}function d(e){return"boolean"==typeof e}function h(e){return null===e}function b(e){return"number"==typeof e}function m(e){return"string"==typeof e}function v(e){return void 0===e}function w(e){return O(e)&&"[object RegExp]"===S(e)}function O(e){return"object"==typeof e&&null!==e}function j(e){return O(e)&&"[object Date]"===S(e)}function E(e){return O(e)&&("[object Error]"===S(e)||e instanceof Error)}function x(e){return"function"==typeof e}function S(e){return Object.prototype.toString.call(e)}function D(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(v(u)&&(u=n.env.NODE_DEBUG||""),e=e.toUpperCase(),!c[e])if(new RegExp("\\b"+e+"\\b","i").test(u)){var r=n.pid;c[e]=function(){var n=t.format.apply(t,arguments);o.error("%s %d: %s",e,r,n)}}else c[e]=function(){};return c[e]},t.inspect=a,a.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},a.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=g,t.isBoolean=d,t.isNull=h,t.isNullOrUndefined=function(e){return null==e},t.isNumber=b,t.isString=m,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=v,t.isRegExp=w,t.isObject=O,t.isDate=j,t.isError=E,t.isFunction=x,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=r(2014);var P=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function A(){var e=new Date,t=[D(e.getHours()),D(e.getMinutes()),D(e.getSeconds())].join(":");return[e.getDate(),P[e.getMonth()],t].join(" ")}function T(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){o.log("%s - %s",A(),t.format.apply(t,arguments))},t.inherits=r(6076),t._extend=function(e,t){if(!t||!O(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e}},6485:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;const r=document.getElementById("hideDownload");t.default=()=>!r||r&&"true"!==r.value},4030:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){if(window.location!==window.parent.location)return;window.location.href="/"}},5108:(e,t,r)=>{var n=r(9539),o=r(8583);function i(){return(new Date).getTime()}var u,c=Array.prototype.slice,a={};u=void 0!==r.g&&r.g.console?r.g.console:"undefined"!=typeof window&&window.console?window.console:{};for(var s=[[function(){},"log"],[function(){u.log.apply(u,arguments)},"info"],[function(){u.log.apply(u,arguments)},"warn"],[function(){u.warn.apply(u,arguments)},"error"],[function(e){a[e]=i()},"time"],[function(e){var t=a[e];if(!t)throw new Error("No such label: "+e);delete a[e];var r=i()-t;u.log(e+": "+r+"ms")},"timeEnd"],[function(){var e=new Error;e.name="Trace",e.message=n.format.apply(null,arguments),u.error(e.stack)},"trace"],[function(e){u.log(n.inspect(e)+"\n")},"dir"],[function(e){if(!e){var t=c.call(arguments,1);o.ok(!1,n.format.apply(null,t))}},"assert"]],f=0;f{"use strict";var t=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;function o(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(e){n[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(e){return!1}}()?Object.assign:function(e,i){for(var u,c,a=o(e),s=1;s{var t,r,n=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function i(){throw new Error("clearTimeout has not been defined")}function u(e){if(t===setTimeout)return setTimeout(e,0);if((t===o||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:o}catch(e){t=o}try{r="function"==typeof clearTimeout?clearTimeout:i}catch(e){r=i}}();var c,a=[],s=!1,f=-1;function l(){s&&c&&(s=!1,c.length?a=c.concat(a):f=-1,a.length&&p())}function p(){if(!s){var e=u(l);s=!0;for(var t=a.length;t;){for(c=a,a=[];++f1)for(var r=1;r{"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}},384:e=>{e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},9539:(e,t,r)=>{var n=r(4155),o=r(5108),i=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),r={},n=0;n=o)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(e){return"[Circular]"}default:return e}})),c=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),h(r)?n.showHidden=r:r&&t._extend(n,r),w(n.showHidden)&&(n.showHidden=!1),w(n.depth)&&(n.depth=2),w(n.colors)&&(n.colors=!1),w(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=f),p(n,e,n.depth)}function f(e,t){var r=s.styles[t];return r?"["+s.colors[r][0]+"m"+e+"["+s.colors[r][1]+"m":e}function l(e,t){return e}function p(e,r,n){if(e.customInspect&&r&&S(r.inspect)&&r.inspect!==t.inspect&&(!r.constructor||r.constructor.prototype!==r)){var o=r.inspect(n,e);return v(o)||(o=p(e,o,n)),o}var i=function(e,t){if(w(t))return e.stylize("undefined","undefined");if(v(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(m(t))return e.stylize(""+t,"number");if(h(t))return e.stylize(""+t,"boolean");if(b(t))return e.stylize("null","null")}(e,r);if(i)return i;var u=Object.keys(r),c=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(u);if(e.showHidden&&(u=Object.getOwnPropertyNames(r)),x(r)&&(u.indexOf("message")>=0||u.indexOf("description")>=0))return y(r);if(0===u.length){if(S(r)){var a=r.name?": "+r.name:"";return e.stylize("[Function"+a+"]","special")}if(O(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(E(r))return e.stylize(Date.prototype.toString.call(r),"date");if(x(r))return y(r)}var s,f="",l=!1,j=["{","}"];(d(r)&&(l=!0,j=["[","]"]),S(r))&&(f=" [Function"+(r.name?": "+r.name:"")+"]");return O(r)&&(f=" "+RegExp.prototype.toString.call(r)),E(r)&&(f=" "+Date.prototype.toUTCString.call(r)),x(r)&&(f=" "+y(r)),0!==u.length||l&&0!=r.length?n<0?O(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),s=l?function(e,t,r,n,o){for(var i=[],u=0,c=t.length;u=0&&0,e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1];return r[0]+t+" "+e.join(", ")+" "+r[1]}(s,f,j)):j[0]+f+j[1]}function y(e){return"["+Error.prototype.toString.call(e)+"]"}function g(e,t,r,n,o,i){var u,c,a;if((a=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?c=a.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):a.set&&(c=e.stylize("[Setter]","special")),z(n,o)||(u="["+o+"]"),c||(e.seen.indexOf(a.value)<0?(c=b(r)?p(e,a.value,null):p(e,a.value,r-1)).indexOf("\n")>-1&&(c=i?c.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+c.split("\n").map((function(e){return" "+e})).join("\n")):c=e.stylize("[Circular]","special")),w(u)){if(i&&o.match(/^\d+$/))return c;(u=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(u=u.substr(1,u.length-2),u=e.stylize(u,"name")):(u=u.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),u=e.stylize(u,"string"))}return u+": "+c}function d(e){return Array.isArray(e)}function h(e){return"boolean"==typeof e}function b(e){return null===e}function m(e){return"number"==typeof e}function v(e){return"string"==typeof e}function w(e){return void 0===e}function O(e){return j(e)&&"[object RegExp]"===D(e)}function j(e){return"object"==typeof e&&null!==e}function E(e){return j(e)&&"[object Date]"===D(e)}function x(e){return j(e)&&("[object Error]"===D(e)||e instanceof Error)}function S(e){return"function"==typeof e}function D(e){return Object.prototype.toString.call(e)}function P(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(w(c)&&(c=n.env.NODE_DEBUG||""),e=e.toUpperCase(),!a[e])if(new RegExp("\\b"+e+"\\b","i").test(c)){var r=n.pid;a[e]=function(){var n=t.format.apply(t,arguments);o.error("%s %d: %s",e,r,n)}}else a[e]=function(){};return a[e]},t.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=d,t.isBoolean=h,t.isNull=b,t.isNullOrUndefined=function(e){return null==e},t.isNumber=m,t.isString=v,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=w,t.isRegExp=O,t.isObject=j,t.isDate=E,t.isError=x,t.isFunction=S,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=r(384);var A=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function T(){var e=new Date,t=[P(e.getHours()),P(e.getMinutes()),P(e.getSeconds())].join(":");return[e.getDate(),A[e.getMonth()],t].join(" ")}function z(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){o.log("%s - %s",T(),t.format.apply(t,arguments))},t.inherits=r(1496),t._extend=function(e,t){if(!t||!j(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};var F="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function k(e,t){if(!e){var r=new Error("Promise was rejected with a falsy value");r.reason=e,e=r}return t(e)}t.promisify=function(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');if(F&&e[F]){var t;if("function"!=typeof(t=e[F]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(t,F,{value:t,enumerable:!1,writable:!1,configurable:!0}),t}function t(){for(var t,r,n=new Promise((function(e,n){t=e,r=n})),o=[],i=0;i{"use strict";var e=r(5108),t=n(r(6485));function n(e){return e&&e.__esModule?e:{default:e}}(0,n(r(4030)).default)(),document.addEventListener("DOMContentLoaded",(function(){if(PDFViewerApplicationOptions.set("disablePreferences",!0),PDFViewerApplicationOptions.set("externalLinkTarget",pdfjsLib.LinkTarget.BLANK),PDFViewerApplicationOptions.set("isEvalSupported",!1),PDFViewerApplicationOptions.set("workerSrc",document.getElementsByTagName("head")[0].getAttribute("data-workersrc")),PDFViewerApplicationOptions.set("cMapUrl",document.getElementsByTagName("head")[0].getAttribute("data-cmapurl")),PDFViewerApplicationOptions.set("enablePermissions",!0),e.debug("Initialized files_pdfviewer",PDFViewerApplicationOptions.getAll()),PDFViewerApplication.download=function(){function t(e){let t=0;const r=e.length;for(;t1&&void 0!==arguments[1]?arguments[1]:"document.pdf";if(t(r))return e.warn('getPDFFileNameFromURL: ignoring "data:" URL for performance reasons.'),n;const o=/^(?:(?:[^:]+:)?\/\/[^/]+)?([^?#]*)(\?[^#]*)?(#.*)?$/,i=/[^/?#=]+\.pdf\b(?!.*\.pdf\b)/i,u=o.exec(r);let c=i.exec(u[1])||i.exec(u[2])||i.exec(u[3]);if(c&&(c=c[0],-1!==c.indexOf("%")))try{c=i.exec(decodeURIComponent(c))[0]}catch(t){e.debug(t)}return c||n}(r))},!(0,t.default)()){PDFViewerApplication.download=function(){};const t=document.getElementById("toolbarViewerRight").querySelector("button.download");t&&(t.style.display="none"),delete PDFViewerApplication.supportsPrinting,PDFViewerApplication.supportsPrinting=!1,PDFViewerApplication.beforePrint=function(){},document.getElementById("viewer").classList.add("disabledTextSelection"),e.debug("Files_PDFViewer, download and print disabled")}}),!0)})()})(); +//# sourceMappingURL=files_pdfviewer-workersrc.js.map?v=f2a07eb63c4f83315f29 \ No newline at end of file diff --git a/js/files_pdfviewer-workersrc.js.map b/js/files_pdfviewer-workersrc.js.map index 37c5cf5a..d2b8a3b4 100644 --- a/js/files_pdfviewer-workersrc.js.map +++ b/js/files_pdfviewer-workersrc.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///files_pdfviewer/node_modules/assert/assert.js","webpack:///files_pdfviewer/node_modules/assert/node_modules/inherits/inherits_browser.js","webpack:///files_pdfviewer/node_modules/assert/node_modules/util/support/isBufferBrowser.js","webpack:///files_pdfviewer/node_modules/assert/node_modules/util/util.js","webpack:///files_pdfviewer/src/utils/canDownload.js","webpack:///files_pdfviewer/src/utils/redirectIfNotIframe.js","webpack:///files_pdfviewer/node_modules/console-browserify/index.js","webpack:///files_pdfviewer/node_modules/object-assign/index.js","webpack:///files_pdfviewer/node_modules/process/browser.js","webpack:///files_pdfviewer/node_modules/util/node_modules/inherits/inherits_browser.js","webpack:///files_pdfviewer/node_modules/util/support/isBufferBrowser.js","webpack:///files_pdfviewer/node_modules/util/util.js","webpack:///files_pdfviewer/webpack/bootstrap","webpack:///files_pdfviewer/webpack/runtime/global","webpack:///files_pdfviewer/src/workersrc.js"],"names":["objectAssign","compare","a","b","x","length","y","i","len","Math","min","isBuffer","g","Buffer","_isBuffer","util","hasOwn","Object","prototype","hasOwnProperty","pSlice","Array","slice","functionsHaveNames","name","pToString","obj","toString","call","isView","arrbuf","ArrayBuffer","DataView","buffer","assert","module","exports","ok","regex","getName","func","isFunction","match","truncate","s","n","inspect","something","rawname","fail","actual","expected","message","operator","stackStartFunction","AssertionError","value","_deepEqual","strict","memos","isDate","getTime","isRegExp","source","global","multiline","lastIndex","ignoreCase","Float32Array","Float64Array","Uint8Array","actualIndex","indexOf","push","actualVisitedObjects","isPrimitive","getPrototypeOf","aIsArgs","isArguments","bIsArgs","key","ka","objectKeys","kb","sort","objEquiv","object","expectedException","test","e","Error","isPrototypeOf","_throws","shouldThrow","block","TypeError","error","_tryBlock","userProvidedMessage","isUnexpectedException","isError","options","self","this","generatedMessage","captureStackTrace","err","stack","out","fn_name","idx","next_line","substring","inherits","equal","notEqual","deepEqual","deepStrictEqual","notDeepEqual","notDeepStrictEqual","strictEqual","notStrictEqual","throws","doesNotThrow","ifError","keys","create","ctor","superCtor","super_","constructor","enumerable","writable","configurable","TempCtor","arg","copy","fill","readUInt8","formatRegExp","format","f","isString","objects","arguments","join","args","str","String","replace","Number","JSON","stringify","_","isNull","isObject","deprecate","fn","msg","isUndefined","process","apply","noDeprecation","warned","throwDeprecation","traceDeprecation","console","trace","debugEnviron","debugs","opts","ctx","seen","stylize","stylizeNoColor","depth","colors","isBoolean","showHidden","_extend","customInspect","stylizeWithColor","formatValue","styleType","style","styles","recurseTimes","ret","primitive","simple","isNumber","formatPrimitive","visibleKeys","array","hash","forEach","val","arrayToHash","getOwnPropertyNames","formatError","RegExp","Date","output","base","braces","isArray","toUTCString","l","formatProperty","formatArray","map","pop","reduce","prev","cur","numLinesEst","reduceToSingleString","desc","getOwnPropertyDescriptor","get","set","split","line","substr","ar","re","objectToString","d","o","pad","debuglog","env","NODE_DEBUG","toUpperCase","pid","isNullOrUndefined","isSymbol","months","timestamp","time","getHours","getMinutes","getSeconds","getDate","getMonth","prop","log","origin","add","hideDownloadElmt","document","getElementById","window","location","parent","href","now","times","functions","warn","label","duration","expression","arr","tuple","getOwnPropertySymbols","propIsEnumerable","propertyIsEnumerable","toObject","assign","test1","test2","fromCharCode","test3","letter","shouldUseNative","target","from","symbols","to","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","run","marker","runClearTimeout","Item","noop","nextTick","title","browser","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","getOwnPropertyDescriptors","descriptors","kCustomPromisifiedSymbol","Symbol","undefined","callbackifyOnRejected","reason","cb","newReason","promisify","original","defineProperty","promiseResolve","promiseReject","promise","Promise","resolve","reject","setPrototypeOf","defineProperties","custom","callbackify","callbackified","maybeCb","then","rej","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","globalThis","Function","addEventListener","PDFViewerApplicationOptions","pdfjsLib","LinkTarget","BLANK","getElementsByTagName","getAttribute","debug","getAll","PDFViewerApplication","download","isDataSchema","url","ii","trim","toLowerCase","decodeURIComponent","search","downloadManager","downloadUrl","defaultFilename","reURI","reFilename","splitURI","exec","suggestedFilename","getPDFFileNameFromURL","downloadButton","querySelector","display","supportsPrinting","beforePrint","classList"],"mappings":"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","file":"files_pdfviewer-workersrc.js?v=ce5ed7e131aba81d89bd","sourcesContent":["'use strict';\n\nvar objectAssign = require('object-assign');\n\n// compare and isBuffer taken from https://github.com/feross/buffer/blob/680e9e5e488f22aac27599a57dc844a6315928dd/index.js\n// original notice:\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\nfunction compare(a, b) {\n if (a === b) {\n return 0;\n }\n\n var x = a.length;\n var y = b.length;\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n\n if (x < y) {\n return -1;\n }\n if (y < x) {\n return 1;\n }\n return 0;\n}\nfunction isBuffer(b) {\n if (global.Buffer && typeof global.Buffer.isBuffer === 'function') {\n return global.Buffer.isBuffer(b);\n }\n return !!(b != null && b._isBuffer);\n}\n\n// based on node assert, original notice:\n// NB: The URL to the CommonJS spec is kept just for tradition.\n// node-assert has evolved a lot since then, both in API and behavior.\n\n// http://wiki.commonjs.org/wiki/Unit_Testing/1.0\n//\n// THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8!\n//\n// Originally from narwhal.js (http://narwhaljs.org)\n// Copyright (c) 2009 Thomas Robinson <280north.com>\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 BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n// ACTION 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\nvar util = require('util/');\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar pSlice = Array.prototype.slice;\nvar functionsHaveNames = (function () {\n return function foo() {}.name === 'foo';\n}());\nfunction pToString (obj) {\n return Object.prototype.toString.call(obj);\n}\nfunction isView(arrbuf) {\n if (isBuffer(arrbuf)) {\n return false;\n }\n if (typeof global.ArrayBuffer !== 'function') {\n return false;\n }\n if (typeof ArrayBuffer.isView === 'function') {\n return ArrayBuffer.isView(arrbuf);\n }\n if (!arrbuf) {\n return false;\n }\n if (arrbuf instanceof DataView) {\n return true;\n }\n if (arrbuf.buffer && arrbuf.buffer instanceof ArrayBuffer) {\n return true;\n }\n return false;\n}\n// 1. The assert module provides functions that throw\n// AssertionError's when particular conditions are not met. The\n// assert module must conform to the following interface.\n\nvar assert = module.exports = ok;\n\n// 2. The AssertionError is defined in assert.\n// new assert.AssertionError({ message: message,\n// actual: actual,\n// expected: expected })\n\nvar regex = /\\s*function\\s+([^\\(\\s]*)\\s*/;\n// based on https://github.com/ljharb/function.prototype.name/blob/adeeeec8bfcc6068b187d7d9fb3d5bb1d3a30899/implementation.js\nfunction getName(func) {\n if (!util.isFunction(func)) {\n return;\n }\n if (functionsHaveNames) {\n return func.name;\n }\n var str = func.toString();\n var match = str.match(regex);\n return match && match[1];\n}\nassert.AssertionError = function AssertionError(options) {\n this.name = 'AssertionError';\n this.actual = options.actual;\n this.expected = options.expected;\n this.operator = options.operator;\n if (options.message) {\n this.message = options.message;\n this.generatedMessage = false;\n } else {\n this.message = getMessage(this);\n this.generatedMessage = true;\n }\n var stackStartFunction = options.stackStartFunction || fail;\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, stackStartFunction);\n } else {\n // non v8 browsers so we can have a stacktrace\n var err = new Error();\n if (err.stack) {\n var out = err.stack;\n\n // try to strip useless frames\n var fn_name = getName(stackStartFunction);\n var idx = out.indexOf('\\n' + fn_name);\n if (idx >= 0) {\n // once we have located the function frame\n // we need to strip out everything before it (and its line)\n var next_line = out.indexOf('\\n', idx + 1);\n out = out.substring(next_line + 1);\n }\n\n this.stack = out;\n }\n }\n};\n\n// assert.AssertionError instanceof Error\nutil.inherits(assert.AssertionError, Error);\n\nfunction truncate(s, n) {\n if (typeof s === 'string') {\n return s.length < n ? s : s.slice(0, n);\n } else {\n return s;\n }\n}\nfunction inspect(something) {\n if (functionsHaveNames || !util.isFunction(something)) {\n return util.inspect(something);\n }\n var rawname = getName(something);\n var name = rawname ? ': ' + rawname : '';\n return '[Function' + name + ']';\n}\nfunction getMessage(self) {\n return truncate(inspect(self.actual), 128) + ' ' +\n self.operator + ' ' +\n truncate(inspect(self.expected), 128);\n}\n\n// At present only the three keys mentioned above are used and\n// understood by the spec. Implementations or sub modules can pass\n// other keys to the AssertionError's constructor - they will be\n// ignored.\n\n// 3. All of the following functions must throw an AssertionError\n// when a corresponding condition is not met, with a message that\n// may be undefined if not provided. All assertion methods provide\n// both the actual and expected values to the assertion error for\n// display purposes.\n\nfunction fail(actual, expected, message, operator, stackStartFunction) {\n throw new assert.AssertionError({\n message: message,\n actual: actual,\n expected: expected,\n operator: operator,\n stackStartFunction: stackStartFunction\n });\n}\n\n// EXTENSION! allows for well behaved errors defined elsewhere.\nassert.fail = fail;\n\n// 4. Pure assertion tests whether a value is truthy, as determined\n// by !!guard.\n// assert.ok(guard, message_opt);\n// This statement is equivalent to assert.equal(true, !!guard,\n// message_opt);. To test strictly for the value true, use\n// assert.strictEqual(true, guard, message_opt);.\n\nfunction ok(value, message) {\n if (!value) fail(value, true, message, '==', assert.ok);\n}\nassert.ok = ok;\n\n// 5. The equality assertion tests shallow, coercive equality with\n// ==.\n// assert.equal(actual, expected, message_opt);\n\nassert.equal = function equal(actual, expected, message) {\n if (actual != expected) fail(actual, expected, message, '==', assert.equal);\n};\n\n// 6. The non-equality assertion tests for whether two objects are not equal\n// with != assert.notEqual(actual, expected, message_opt);\n\nassert.notEqual = function notEqual(actual, expected, message) {\n if (actual == expected) {\n fail(actual, expected, message, '!=', assert.notEqual);\n }\n};\n\n// 7. The equivalence assertion tests a deep equality relation.\n// assert.deepEqual(actual, expected, message_opt);\n\nassert.deepEqual = function deepEqual(actual, expected, message) {\n if (!_deepEqual(actual, expected, false)) {\n fail(actual, expected, message, 'deepEqual', assert.deepEqual);\n }\n};\n\nassert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {\n if (!_deepEqual(actual, expected, true)) {\n fail(actual, expected, message, 'deepStrictEqual', assert.deepStrictEqual);\n }\n};\n\nfunction _deepEqual(actual, expected, strict, memos) {\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n } else if (isBuffer(actual) && isBuffer(expected)) {\n return compare(actual, expected) === 0;\n\n // 7.2. If the expected value is a Date object, the actual value is\n // equivalent if it is also a Date object that refers to the same time.\n } else if (util.isDate(actual) && util.isDate(expected)) {\n return actual.getTime() === expected.getTime();\n\n // 7.3 If the expected value is a RegExp object, the actual value is\n // equivalent if it is also a RegExp object with the same source and\n // properties (`global`, `multiline`, `lastIndex`, `ignoreCase`).\n } else if (util.isRegExp(actual) && util.isRegExp(expected)) {\n return actual.source === expected.source &&\n actual.global === expected.global &&\n actual.multiline === expected.multiline &&\n actual.lastIndex === expected.lastIndex &&\n actual.ignoreCase === expected.ignoreCase;\n\n // 7.4. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if ((actual === null || typeof actual !== 'object') &&\n (expected === null || typeof expected !== 'object')) {\n return strict ? actual === expected : actual == expected;\n\n // If both values are instances of typed arrays, wrap their underlying\n // ArrayBuffers in a Buffer each to increase performance\n // This optimization requires the arrays to have the same type as checked by\n // Object.prototype.toString (aka pToString). Never perform binary\n // comparisons for Float*Arrays, though, since e.g. +0 === -0 but their\n // bit patterns are not identical.\n } else if (isView(actual) && isView(expected) &&\n pToString(actual) === pToString(expected) &&\n !(actual instanceof Float32Array ||\n actual instanceof Float64Array)) {\n return compare(new Uint8Array(actual.buffer),\n new Uint8Array(expected.buffer)) === 0;\n\n // 7.5 For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else if (isBuffer(actual) !== isBuffer(expected)) {\n return false;\n } else {\n memos = memos || {actual: [], expected: []};\n\n var actualIndex = memos.actual.indexOf(actual);\n if (actualIndex !== -1) {\n if (actualIndex === memos.expected.indexOf(expected)) {\n return true;\n }\n }\n\n memos.actual.push(actual);\n memos.expected.push(expected);\n\n return objEquiv(actual, expected, strict, memos);\n }\n}\n\nfunction isArguments(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n}\n\nfunction objEquiv(a, b, strict, actualVisitedObjects) {\n if (a === null || a === undefined || b === null || b === undefined)\n return false;\n // if one is a primitive, the other must be same\n if (util.isPrimitive(a) || util.isPrimitive(b))\n return a === b;\n if (strict && Object.getPrototypeOf(a) !== Object.getPrototypeOf(b))\n return false;\n var aIsArgs = isArguments(a);\n var bIsArgs = isArguments(b);\n if ((aIsArgs && !bIsArgs) || (!aIsArgs && bIsArgs))\n return false;\n if (aIsArgs) {\n a = pSlice.call(a);\n b = pSlice.call(b);\n return _deepEqual(a, b, strict);\n }\n var ka = objectKeys(a);\n var kb = objectKeys(b);\n var key, i;\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length !== kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] !== kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!_deepEqual(a[key], b[key], strict, actualVisitedObjects))\n return false;\n }\n return true;\n}\n\n// 8. The non-equivalence assertion tests for any deep inequality.\n// assert.notDeepEqual(actual, expected, message_opt);\n\nassert.notDeepEqual = function notDeepEqual(actual, expected, message) {\n if (_deepEqual(actual, expected, false)) {\n fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual);\n }\n};\n\nassert.notDeepStrictEqual = notDeepStrictEqual;\nfunction notDeepStrictEqual(actual, expected, message) {\n if (_deepEqual(actual, expected, true)) {\n fail(actual, expected, message, 'notDeepStrictEqual', notDeepStrictEqual);\n }\n}\n\n\n// 9. The strict equality assertion tests strict equality, as determined by ===.\n// assert.strictEqual(actual, expected, message_opt);\n\nassert.strictEqual = function strictEqual(actual, expected, message) {\n if (actual !== expected) {\n fail(actual, expected, message, '===', assert.strictEqual);\n }\n};\n\n// 10. The strict non-equality assertion tests for strict inequality, as\n// determined by !==. assert.notStrictEqual(actual, expected, message_opt);\n\nassert.notStrictEqual = function notStrictEqual(actual, expected, message) {\n if (actual === expected) {\n fail(actual, expected, message, '!==', assert.notStrictEqual);\n }\n};\n\nfunction expectedException(actual, expected) {\n if (!actual || !expected) {\n return false;\n }\n\n if (Object.prototype.toString.call(expected) == '[object RegExp]') {\n return expected.test(actual);\n }\n\n try {\n if (actual instanceof expected) {\n return true;\n }\n } catch (e) {\n // Ignore. The instanceof check doesn't work for arrow functions.\n }\n\n if (Error.isPrototypeOf(expected)) {\n return false;\n }\n\n return expected.call({}, actual) === true;\n}\n\nfunction _tryBlock(block) {\n var error;\n try {\n block();\n } catch (e) {\n error = e;\n }\n return error;\n}\n\nfunction _throws(shouldThrow, block, expected, message) {\n var actual;\n\n if (typeof block !== 'function') {\n throw new TypeError('\"block\" argument must be a function');\n }\n\n if (typeof expected === 'string') {\n message = expected;\n expected = null;\n }\n\n actual = _tryBlock(block);\n\n message = (expected && expected.name ? ' (' + expected.name + ').' : '.') +\n (message ? ' ' + message : '.');\n\n if (shouldThrow && !actual) {\n fail(actual, expected, 'Missing expected exception' + message);\n }\n\n var userProvidedMessage = typeof message === 'string';\n var isUnwantedException = !shouldThrow && util.isError(actual);\n var isUnexpectedException = !shouldThrow && actual && !expected;\n\n if ((isUnwantedException &&\n userProvidedMessage &&\n expectedException(actual, expected)) ||\n isUnexpectedException) {\n fail(actual, expected, 'Got unwanted exception' + message);\n }\n\n if ((shouldThrow && actual && expected &&\n !expectedException(actual, expected)) || (!shouldThrow && actual)) {\n throw actual;\n }\n}\n\n// 11. Expected to throw an error:\n// assert.throws(block, Error_opt, message_opt);\n\nassert.throws = function(block, /*optional*/error, /*optional*/message) {\n _throws(true, block, error, message);\n};\n\n// EXTENSION! This is annoying to write outside this module.\nassert.doesNotThrow = function(block, /*optional*/error, /*optional*/message) {\n _throws(false, block, error, message);\n};\n\nassert.ifError = function(err) { if (err) throw err; };\n\n// Expose a strict only variant of assert\nfunction strict(value, message) {\n if (!value) fail(value, true, message, '==', strict);\n}\nassert.strict = objectAssign(strict, assert, {\n equal: assert.strictEqual,\n deepEqual: assert.deepStrictEqual,\n notEqual: assert.notStrictEqual,\n notDeepEqual: assert.notDeepStrictEqual\n});\nassert.strict.strict = assert.strict;\n\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) {\n if (hasOwn.call(obj, key)) keys.push(key);\n }\n return keys;\n};\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// 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 permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// 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\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n // Allow for deprecating things in the process of starting up.\n if (isUndefined(global.process)) {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n if (process.noDeprecation === true) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function(set) {\n if (isUndefined(debugEnviron))\n debugEnviron = process.env.NODE_DEBUG || '';\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n","\n/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nconst hideDownloadElmt = document.getElementById('hideDownload')\n// true = hidden download\nexport default () => !hideDownloadElmt || (hideDownloadElmt && hideDownloadElmt.value !== 'true')\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nexport default function() {\n\t// Not within iframe\n\tif (window.location !== window.parent.location) {\n\t\treturn\n\t}\n\n\twindow.location.href = '/'\n}\n","/*global window, global*/\nvar util = require(\"util\")\nvar assert = require(\"assert\")\nfunction now() { return new Date().getTime() }\n\nvar slice = Array.prototype.slice\nvar console\nvar times = {}\n\nif (typeof global !== \"undefined\" && global.console) {\n console = global.console\n} else if (typeof window !== \"undefined\" && window.console) {\n console = window.console\n} else {\n console = {}\n}\n\nvar functions = [\n [log, \"log\"],\n [info, \"info\"],\n [warn, \"warn\"],\n [error, \"error\"],\n [time, \"time\"],\n [timeEnd, \"timeEnd\"],\n [trace, \"trace\"],\n [dir, \"dir\"],\n [consoleAssert, \"assert\"]\n]\n\nfor (var i = 0; i < functions.length; i++) {\n var tuple = functions[i]\n var f = tuple[0]\n var name = tuple[1]\n\n if (!console[name]) {\n console[name] = f\n }\n}\n\nmodule.exports = console\n\nfunction log() {}\n\nfunction info() {\n console.log.apply(console, arguments)\n}\n\nfunction warn() {\n console.log.apply(console, arguments)\n}\n\nfunction error() {\n console.warn.apply(console, arguments)\n}\n\nfunction time(label) {\n times[label] = now()\n}\n\nfunction timeEnd(label) {\n var time = times[label]\n if (!time) {\n throw new Error(\"No such label: \" + label)\n }\n\n delete times[label]\n var duration = now() - time\n console.log(label + \": \" + duration + \"ms\")\n}\n\nfunction trace() {\n var err = new Error()\n err.name = \"Trace\"\n err.message = util.format.apply(null, arguments)\n console.error(err.stack)\n}\n\nfunction dir(object) {\n console.log(util.inspect(object) + \"\\n\")\n}\n\nfunction consoleAssert(expression) {\n if (!expression) {\n var arr = slice.call(arguments, 1)\n assert.ok(false, util.format.apply(null, arr))\n }\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// 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 permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// 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\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function(set) {\n if (isUndefined(debugEnviron))\n debugEnviron = process.env.NODE_DEBUG || '';\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb, null, ret) },\n function(rej) { process.nextTick(callbackifyOnRejected, rej, cb) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","\n/**\n * @copyright Copyright (c) 2020 Daniel Calviño Sánchez \n *\n * @author Daniel Calviño Sánchez \n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport canDownload from './utils/canDownload'\nimport redirectIfNotIframe from './utils/redirectIfNotIframe'\n\n/**\n * Checks if the page is displayed in an iframe. If not redirect to /.\n **/\nredirectIfNotIframe()\n\n// When \"PDFViewerApplication.webViewerInitialized\" is executed (once\n// \"PDFViewerApplication.initialize\" is done) it opens the PDF file via URL,\n// which requires the PDFViewerApplication to be properly configured, so the\n// custom initialization has to be executed before that. This can be done by\n// listening to the \"webviewerloaded\" event, which is emitted after\n// \"PDFViewerApplication\" and \"PDFViewerApplicationOptions\" are globally set and\n// before \"PDFViewerApplication.initialize\" is executed.\nfunction initializeCustomPDFViewerApplication() {\n\n\t// Preferences override options, so they must be disabled for\n\t// \"externalLinkTarget\" to take effect.\n\tPDFViewerApplicationOptions.set('disablePreferences', true)\n\tPDFViewerApplicationOptions.set('externalLinkTarget', pdfjsLib.LinkTarget.BLANK)\n\tPDFViewerApplicationOptions.set('isEvalSupported', false)\n\tPDFViewerApplicationOptions.set('workerSrc', document.getElementsByTagName('head')[0].getAttribute('data-workersrc'))\n\tPDFViewerApplicationOptions.set('cMapUrl', document.getElementsByTagName('head')[0].getAttribute('data-cmapurl'))\n\n\tconsole.debug('Initialized files_pdfviewer', PDFViewerApplicationOptions.getAll())\n\n\t// The download has to be forced to use the URL of the file; by default\n\t// \"PDFViewerApplication.download\" uses a blob, but this causes a CSP error\n\t// (at least, in Firefox) when trying to download it.\n\tPDFViewerApplication.download = function() {\n\t\t// \"isDataSchema()\" and \"getPDFFileNameFromURL()\" are copied from\n\t\t// \"vendor/pdfjs/web/viewer.js\", as the functions defined in that file\n\t\t// can not be accessed from the outside.\n\t\tfunction isDataSchema(url) {\n\t\t\tlet i = 0\n\t\t\tconst ii = url.length\n\t\t\twhile (i < ii && url[i].trim() === '') {\n\t\t\t\ti++\n\t\t\t}\n\t\t\treturn url.substr(i, 5).toLowerCase() === 'data:'\n\t\t}\n\n\t\tfunction getPDFFileNameFromURL(url) {\n\t\t\tconst defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'document.pdf'\n\n\t\t\tif (isDataSchema(url)) {\n\t\t\t\tconsole.warn('getPDFFileNameFromURL: ' + 'ignoring \"data:\" URL for performance reasons.')\n\t\t\t\treturn defaultFilename\n\t\t\t}\n\t\t\tconst reURI = /^(?:(?:[^:]+:)?\\/\\/[^/]+)?([^?#]*)(\\?[^#]*)?(#.*)?$/\n\t\t\tconst reFilename = /[^/?#=]+\\.pdf\\b(?!.*\\.pdf\\b)/i\n\t\t\tconst splitURI = reURI.exec(url)\n\t\t\tlet suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3])\n\t\t\tif (suggestedFilename) {\n\t\t\t\tsuggestedFilename = suggestedFilename[0]\n\t\t\t\tif (suggestedFilename.indexOf('%') !== -1) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tsuggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0]\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\tconsole.debug(e)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn suggestedFilename || defaultFilename\n\t\t}\n\n\t\tconst url = decodeURIComponent(window.location.search.substr(6))\n\n\t\tthis.downloadManager.downloadUrl(url, getPDFFileNameFromURL(url))\n\t}\n\n\tif (!canDownload()) {\n\t\t// Disable download function when downloads are hidden, as even if the\n\t\t// buttons in the UI are hidden the download could still be triggered\n\t\t// with Ctrl|Meta+S.\n\t\tPDFViewerApplication.download = function() {\n\t\t}\n\t\tconst downloadButton = document.getElementById('toolbarViewerRight').querySelector('button.download')\n\t\tif (downloadButton) {\n\t\t\tdownloadButton.style.display = 'none'\n\t\t}\n\n\t\t// Disable printing service when downloads are hidden, as even if the\n\t\t// buttons in the UI are hidden the printing could still be triggered\n\t\t// with Ctrl|Meta+P.\n\t\t// Abuse the \"supportsPrinting\" parameter, which signals that the\n\t\t// browser does not fully support printing, to make PDFViewer disable\n\t\t// the printing service.\n\t\t// \"supportsPrinting\" is a getter function, so it needs to be deleted\n\t\t// before replacing it with a simple value.\n\t\tdelete PDFViewerApplication.supportsPrinting\n\t\tPDFViewerApplication.supportsPrinting = false\n\n\t\t// When printing is not supported a warning is shown by the default\n\t\t// \"beforePrint\" function when trying to print. That function needs to\n\t\t// be replaced with an empty one to prevent that warning to be shown.\n\t\tPDFViewerApplication.beforePrint = function() {\n\t\t}\n\n\t\t// For css properties\n\t\tdocument.getElementById('viewer').classList.add('disabledTextSelection')\n\n\t\tconsole.debug('Files_PDFViewer, download and print disabled')\n\t}\n}\n\ndocument.addEventListener('DOMContentLoaded', initializeCustomPDFViewerApplication, true)\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///files_pdfviewer/node_modules/assert/assert.js","webpack:///files_pdfviewer/node_modules/assert/node_modules/inherits/inherits_browser.js","webpack:///files_pdfviewer/node_modules/assert/node_modules/util/support/isBufferBrowser.js","webpack:///files_pdfviewer/node_modules/assert/node_modules/util/util.js","webpack:///files_pdfviewer/src/utils/canDownload.js","webpack:///files_pdfviewer/src/utils/redirectIfNotIframe.js","webpack:///files_pdfviewer/node_modules/console-browserify/index.js","webpack:///files_pdfviewer/node_modules/object-assign/index.js","webpack:///files_pdfviewer/node_modules/process/browser.js","webpack:///files_pdfviewer/node_modules/util/node_modules/inherits/inherits_browser.js","webpack:///files_pdfviewer/node_modules/util/support/isBufferBrowser.js","webpack:///files_pdfviewer/node_modules/util/util.js","webpack:///files_pdfviewer/webpack/bootstrap","webpack:///files_pdfviewer/webpack/runtime/global","webpack:///files_pdfviewer/src/workersrc.js"],"names":["objectAssign","compare","a","b","x","length","y","i","len","Math","min","isBuffer","g","Buffer","_isBuffer","util","hasOwn","Object","prototype","hasOwnProperty","pSlice","Array","slice","functionsHaveNames","name","pToString","obj","toString","call","isView","arrbuf","ArrayBuffer","DataView","buffer","assert","module","exports","ok","regex","getName","func","isFunction","match","truncate","s","n","inspect","something","rawname","fail","actual","expected","message","operator","stackStartFunction","AssertionError","value","_deepEqual","strict","memos","isDate","getTime","isRegExp","source","global","multiline","lastIndex","ignoreCase","Float32Array","Float64Array","Uint8Array","actualIndex","indexOf","push","actualVisitedObjects","isPrimitive","getPrototypeOf","aIsArgs","isArguments","bIsArgs","key","ka","objectKeys","kb","sort","objEquiv","object","expectedException","test","e","Error","isPrototypeOf","_throws","shouldThrow","block","TypeError","error","_tryBlock","userProvidedMessage","isUnexpectedException","isError","options","self","this","generatedMessage","captureStackTrace","err","stack","out","fn_name","idx","next_line","substring","inherits","equal","notEqual","deepEqual","deepStrictEqual","notDeepEqual","notDeepStrictEqual","strictEqual","notStrictEqual","throws","doesNotThrow","ifError","keys","create","ctor","superCtor","super_","constructor","enumerable","writable","configurable","TempCtor","arg","copy","fill","readUInt8","formatRegExp","format","f","isString","objects","arguments","join","args","str","String","replace","Number","JSON","stringify","_","isNull","isObject","deprecate","fn","msg","isUndefined","process","apply","noDeprecation","warned","throwDeprecation","traceDeprecation","console","trace","debugEnviron","debugs","opts","ctx","seen","stylize","stylizeNoColor","depth","colors","isBoolean","showHidden","_extend","customInspect","stylizeWithColor","formatValue","styleType","style","styles","recurseTimes","ret","primitive","simple","isNumber","formatPrimitive","visibleKeys","array","hash","forEach","val","arrayToHash","getOwnPropertyNames","formatError","RegExp","Date","output","base","braces","isArray","toUTCString","l","formatProperty","formatArray","map","pop","reduce","prev","cur","numLinesEst","reduceToSingleString","desc","getOwnPropertyDescriptor","get","set","split","line","substr","ar","re","objectToString","d","o","pad","debuglog","env","NODE_DEBUG","toUpperCase","pid","isNullOrUndefined","isSymbol","months","timestamp","time","getHours","getMinutes","getSeconds","getDate","getMonth","prop","log","origin","add","hideDownloadElmt","document","getElementById","window","location","parent","href","now","times","functions","warn","label","duration","expression","arr","tuple","getOwnPropertySymbols","propIsEnumerable","propertyIsEnumerable","toObject","assign","test1","test2","fromCharCode","test3","letter","shouldUseNative","target","from","symbols","to","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","run","marker","runClearTimeout","Item","noop","nextTick","title","browser","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","getOwnPropertyDescriptors","descriptors","kCustomPromisifiedSymbol","Symbol","undefined","callbackifyOnRejected","reason","cb","newReason","promisify","original","defineProperty","promiseResolve","promiseReject","promise","Promise","resolve","reject","setPrototypeOf","defineProperties","custom","callbackify","callbackified","maybeCb","then","rej","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","globalThis","Function","addEventListener","PDFViewerApplicationOptions","pdfjsLib","LinkTarget","BLANK","getElementsByTagName","getAttribute","debug","getAll","PDFViewerApplication","download","isDataSchema","url","ii","trim","toLowerCase","decodeURIComponent","search","downloadManager","downloadUrl","defaultFilename","reURI","reFilename","splitURI","exec","suggestedFilename","getPDFFileNameFromURL","downloadButton","querySelector","display","supportsPrinting","beforePrint","classList"],"mappings":";yCAEA,IAAIA,EAAe,EAAQ,MAW3B,SAASC,EAAQC,EAAGC,GAClB,GAAID,IAAMC,EACR,OAAO,EAMT,IAHA,IAAIC,EAAIF,EAAEG,OACNC,EAAIH,EAAEE,OAEDE,EAAI,EAAGC,EAAMC,KAAKC,IAAIN,EAAGE,GAAIC,EAAIC,IAAOD,EAC/C,GAAIL,EAAEK,KAAOJ,EAAEI,GAAI,CACjBH,EAAIF,EAAEK,GACND,EAAIH,EAAEI,GACN,MAIJ,OAAIH,EAAIE,GACE,EAENA,EAAIF,EACC,EAEF,EAET,SAASO,EAASR,GAChB,OAAI,EAAAS,EAAOC,QAA4C,mBAA3B,EAAAD,EAAOC,OAAOF,SACjC,EAAAC,EAAOC,OAAOF,SAASR,KAEjB,MAALA,IAAaA,EAAEW,WA+B3B,IAAIC,EAAO,EAAQ,IACfC,EAASC,OAAOC,UAAUC,eAC1BC,EAASC,MAAMH,UAAUI,MACzBC,EACgC,QAA3B,aAAkBC,KAE3B,SAASC,EAAWC,GAClB,OAAOT,OAAOC,UAAUS,SAASC,KAAKF,GAExC,SAASG,EAAOC,GACd,OAAInB,EAASmB,KAGqB,mBAAvB,EAAAlB,EAAOmB,cAGgB,mBAAvBA,YAAYF,OACdE,YAAYF,OAAOC,KAEvBA,IAGDA,aAAkBE,aAGlBF,EAAOG,QAAUH,EAAOG,kBAAkBF,gBAShD,IAAIG,EAASC,EAAOC,QAAUC,EAO1BC,EAAQ,8BAEZ,SAASC,EAAQC,GACf,GAAKzB,EAAK0B,WAAWD,GAArB,CAGA,GAAIjB,EACF,OAAOiB,EAAKhB,KAEd,IACIkB,EADMF,EAAKb,WACCe,MAAMJ,GACtB,OAAOI,GAASA,EAAM,IAyCxB,SAASC,EAASC,EAAGC,GACnB,MAAiB,iBAAND,EACFA,EAAEvC,OAASwC,EAAID,EAAIA,EAAEtB,MAAM,EAAGuB,GAE9BD,EAGX,SAASE,EAAQC,GACf,GAAIxB,IAAuBR,EAAK0B,WAAWM,GACzC,OAAOhC,EAAK+B,QAAQC,GAEtB,IAAIC,EAAUT,EAAQQ,GAEtB,MAAO,aADIC,EAAU,KAAOA,EAAU,IACT,IAmB/B,SAASC,EAAKC,EAAQC,EAAUC,EAASC,EAAUC,GACjD,MAAM,IAAIpB,EAAOqB,eAAe,CAC9BH,QAASA,EACTF,OAAQA,EACRC,SAAUA,EACVE,SAAUA,EACVC,mBAAoBA,IAcxB,SAASjB,EAAGmB,EAAOJ,GACZI,GAAOP,EAAKO,GAAO,EAAMJ,EAAS,KAAMlB,EAAOG,IAoCtD,SAASoB,EAAWP,EAAQC,EAAUO,EAAQC,GAE5C,GAAIT,IAAWC,EACb,OAAO,EACF,GAAIxC,EAASuC,IAAWvC,EAASwC,GACtC,OAAqC,IAA9BlD,EAAQiD,EAAQC,GAIlB,GAAIpC,EAAK6C,OAAOV,IAAWnC,EAAK6C,OAAOT,GAC5C,OAAOD,EAAOW,YAAcV,EAASU,UAKhC,GAAI9C,EAAK+C,SAASZ,IAAWnC,EAAK+C,SAASX,GAChD,OAAOD,EAAOa,SAAWZ,EAASY,QAC3Bb,EAAOc,SAAWb,EAASa,QAC3Bd,EAAOe,YAAcd,EAASc,WAC9Bf,EAAOgB,YAAcf,EAASe,WAC9BhB,EAAOiB,aAAehB,EAASgB,WAIjC,GAAgB,OAAXjB,GAAqC,iBAAXA,GACb,OAAbC,GAAyC,iBAAbA,EASjC,IAAItB,EAAOqB,IAAWrB,EAAOsB,IACzB1B,EAAUyB,KAAYzB,EAAU0B,MAC9BD,aAAkBkB,cAClBlB,aAAkBmB,cAC7B,OACoD,IAD7CpE,EAAQ,IAAIqE,WAAWpB,EAAOjB,QACtB,IAAIqC,WAAWnB,EAASlB,SAQlC,GAAItB,EAASuC,KAAYvC,EAASwC,GACvC,OAAO,EAIP,IAAIoB,GAFJZ,EAAQA,GAAS,CAACT,OAAQ,GAAIC,SAAU,KAEhBD,OAAOsB,QAAQtB,GACvC,OAAqB,IAAjBqB,GACEA,IAAgBZ,EAAMR,SAASqB,QAAQrB,KAK7CQ,EAAMT,OAAOuB,KAAKvB,GAClBS,EAAMR,SAASsB,KAAKtB,GAUxB,SAAkBjD,EAAGC,EAAGuD,EAAQgB,GAC9B,GAAIxE,eAAiCC,EACnC,OAAO,EAET,GAAIY,EAAK4D,YAAYzE,IAAMa,EAAK4D,YAAYxE,GAC1C,OAAOD,IAAMC,EACf,GAAIuD,GAAUzC,OAAO2D,eAAe1E,KAAOe,OAAO2D,eAAezE,GAC/D,OAAO,EACT,IAAI0E,EAAUC,EAAY5E,GACtB6E,EAAUD,EAAY3E,GAC1B,GAAK0E,IAAYE,IAAcF,GAAWE,EACxC,OAAO,EACT,GAAIF,EAGF,OAAOpB,EAFPvD,EAAIkB,EAAOQ,KAAK1B,GAChBC,EAAIiB,EAAOQ,KAAKzB,GACQuD,GAE1B,IAEIsB,EAAKzE,EAFL0E,EAAKC,EAAWhF,GAChBiF,EAAKD,EAAW/E,GAIpB,GAAI8E,EAAG5E,SAAW8E,EAAG9E,OACnB,OAAO,EAKT,IAHA4E,EAAGG,OACHD,EAAGC,OAEE7E,EAAI0E,EAAG5E,OAAS,EAAGE,GAAK,EAAGA,IAC9B,GAAI0E,EAAG1E,KAAO4E,EAAG5E,GACf,OAAO,EAIX,IAAKA,EAAI0E,EAAG5E,OAAS,EAAGE,GAAK,EAAGA,IAE9B,IAAKkD,EAAWvD,EADhB8E,EAAMC,EAAG1E,IACeJ,EAAE6E,GAAMtB,EAAQgB,GACtC,OAAO,EAEX,OAAO,EA/CEW,CAASnC,EAAQC,EAAUO,EAAQC,IApC1C,OAAOD,EAASR,IAAWC,EAAWD,GAAUC,EAwCpD,SAAS2B,EAAYQ,GACnB,MAAiD,sBAA1CrE,OAAOC,UAAUS,SAASC,KAAK0D,GAgFxC,SAASC,EAAkBrC,EAAQC,GACjC,IAAKD,IAAWC,EACd,OAAO,EAGT,GAAgD,mBAA5ClC,OAAOC,UAAUS,SAASC,KAAKuB,GACjC,OAAOA,EAASqC,KAAKtC,GAGvB,IACE,GAAIA,aAAkBC,EACpB,OAAO,EAET,MAAOsC,IAIT,OAAIC,MAAMC,cAAcxC,KAIa,IAA9BA,EAASvB,KAAK,GAAIsB,GAa3B,SAAS0C,EAAQC,EAAaC,EAAO3C,EAAUC,GAC7C,IAAIF,EAEJ,GAAqB,mBAAV4C,EACT,MAAM,IAAIC,UAAU,uCAGE,iBAAb5C,IACTC,EAAUD,EACVA,EAAW,MAGbD,EAtBF,SAAmB4C,GACjB,IAAIE,EACJ,IACEF,IACA,MAAOL,GACPO,EAAQP,EAEV,OAAOO,EAeEC,CAAUH,GAEnB1C,GAAWD,GAAYA,EAAS3B,KAAO,KAAO2B,EAAS3B,KAAO,KAAO,MAC1D4B,EAAU,IAAMA,EAAU,KAEjCyC,IAAgB3C,GAClBD,EAAKC,EAAQC,EAAU,6BAA+BC,GAGxD,IAAI8C,EAAyC,iBAAZ9C,EAE7B+C,GAAyBN,GAAe3C,IAAWC,EASvD,KAV2B0C,GAAe9E,EAAKqF,QAAQlD,IAInDgD,GACAX,EAAkBrC,EAAQC,IAC1BgD,IACFlD,EAAKC,EAAQC,EAAU,yBAA2BC,GAG/CyC,GAAe3C,GAAUC,IACzBoC,EAAkBrC,EAAQC,KAAgB0C,GAAe3C,EAC5D,MAAMA,EAvVVhB,EAAOqB,eAAiB,SAAwB8C,GAsDhD,IAAoBC,EArDlBC,KAAK/E,KAAO,iBACZ+E,KAAKrD,OAASmD,EAAQnD,OACtBqD,KAAKpD,SAAWkD,EAAQlD,SACxBoD,KAAKlD,SAAWgD,EAAQhD,SACpBgD,EAAQjD,SACVmD,KAAKnD,QAAUiD,EAAQjD,QACvBmD,KAAKC,kBAAmB,IAExBD,KAAKnD,QA8CAT,EAASG,GADEwD,EA7CUC,MA8CCrD,QAAS,KAAO,IACtCoD,EAAKjD,SAAW,IAChBV,EAASG,EAAQwD,EAAKnD,UAAW,KA/CtCoD,KAAKC,kBAAmB,GAE1B,IAAIlD,EAAqB+C,EAAQ/C,oBAAsBL,EACvD,GAAIyC,MAAMe,kBACRf,MAAMe,kBAAkBF,KAAMjD,OACzB,CAEL,IAAIoD,EAAM,IAAIhB,MACd,GAAIgB,EAAIC,MAAO,CACb,IAAIC,EAAMF,EAAIC,MAGVE,EAAUtE,EAAQe,GAClBwD,EAAMF,EAAIpC,QAAQ,KAAOqC,GAC7B,GAAIC,GAAO,EAAG,CAGZ,IAAIC,EAAYH,EAAIpC,QAAQ,KAAMsC,EAAM,GACxCF,EAAMA,EAAII,UAAUD,EAAY,GAGlCR,KAAKI,MAAQC,KAMnB7F,EAAKkG,SAAS/E,EAAOqB,eAAgBmC,OA6CrCxD,EAAOe,KAAOA,EAYdf,EAAOG,GAAKA,EAMZH,EAAOgF,MAAQ,SAAehE,EAAQC,EAAUC,GAC1CF,GAAUC,GAAUF,EAAKC,EAAQC,EAAUC,EAAS,KAAMlB,EAAOgF,QAMvEhF,EAAOiF,SAAW,SAAkBjE,EAAQC,EAAUC,GAChDF,GAAUC,GACZF,EAAKC,EAAQC,EAAUC,EAAS,KAAMlB,EAAOiF,WAOjDjF,EAAOkF,UAAY,SAAmBlE,EAAQC,EAAUC,GACjDK,EAAWP,EAAQC,GAAU,IAChCF,EAAKC,EAAQC,EAAUC,EAAS,YAAalB,EAAOkF,YAIxDlF,EAAOmF,gBAAkB,SAAyBnE,EAAQC,EAAUC,GAC7DK,EAAWP,EAAQC,GAAU,IAChCF,EAAKC,EAAQC,EAAUC,EAAS,kBAAmBlB,EAAOmF,kBAuH9DnF,EAAOoF,aAAe,SAAsBpE,EAAQC,EAAUC,GACxDK,EAAWP,EAAQC,GAAU,IAC/BF,EAAKC,EAAQC,EAAUC,EAAS,eAAgBlB,EAAOoF,eAI3DpF,EAAOqF,mBACP,SAASA,EAAmBrE,EAAQC,EAAUC,GACxCK,EAAWP,EAAQC,GAAU,IAC/BF,EAAKC,EAAQC,EAAUC,EAAS,qBAAsBmE,IAQ1DrF,EAAOsF,YAAc,SAAqBtE,EAAQC,EAAUC,GACtDF,IAAWC,GACbF,EAAKC,EAAQC,EAAUC,EAAS,MAAOlB,EAAOsF,cAOlDtF,EAAOuF,eAAiB,SAAwBvE,EAAQC,EAAUC,GAC5DF,IAAWC,GACbF,EAAKC,EAAQC,EAAUC,EAAS,MAAOlB,EAAOuF,iBA+ElDvF,EAAOwF,OAAS,SAAS5B,EAAmBE,EAAmB5C,GAC7DwC,GAAQ,EAAME,EAAOE,EAAO5C,IAI9BlB,EAAOyF,aAAe,SAAS7B,EAAmBE,EAAmB5C,GACnEwC,GAAQ,EAAOE,EAAOE,EAAO5C,IAG/BlB,EAAO0F,QAAU,SAASlB,GAAO,GAAIA,EAAK,MAAMA,GAMhDxE,EAAOwB,OAAS1D,GAHhB,SAAS0D,EAAOF,EAAOJ,GAChBI,GAAOP,EAAKO,GAAO,EAAMJ,EAAS,KAAMM,KAEVxB,EAAQ,CAC3CgF,MAAOhF,EAAOsF,YACdJ,UAAWlF,EAAOmF,gBAClBF,SAAUjF,EAAOuF,eACjBH,aAAcpF,EAAOqF,qBAEvBrF,EAAOwB,OAAOA,OAASxB,EAAOwB,OAE9B,IAAIwB,EAAajE,OAAO4G,MAAQ,SAAUnG,GACxC,IAAImG,EAAO,GACX,IAAK,IAAI7C,KAAOtD,EACVV,EAAOY,KAAKF,EAAKsD,IAAM6C,EAAKpD,KAAKO,GAEvC,OAAO6C,I,SCxfoB,mBAAlB5G,OAAO6G,OAEhB3F,EAAOC,QAAU,SAAkB2F,EAAMC,GACvCD,EAAKE,OAASD,EACdD,EAAK7G,UAAYD,OAAO6G,OAAOE,EAAU9G,UAAW,CAClDgH,YAAa,CACX1E,MAAOuE,EACPI,YAAY,EACZC,UAAU,EACVC,cAAc,MAMpBlG,EAAOC,QAAU,SAAkB2F,EAAMC,GACvCD,EAAKE,OAASD,EACd,IAAIM,EAAW,aACfA,EAASpH,UAAY8G,EAAU9G,UAC/B6G,EAAK7G,UAAY,IAAIoH,EACrBP,EAAK7G,UAAUgH,YAAcH,I,SCpBjC5F,EAAOC,QAAU,SAAkBmG,GACjC,OAAOA,GAAsB,iBAARA,GACI,mBAAbA,EAAIC,MACS,mBAAbD,EAAIE,MACc,mBAAlBF,EAAIG,Y,qCCiBdC,EAAe,WACnBvG,EAAQwG,OAAS,SAASC,GACxB,IAAKC,EAASD,GAAI,CAEhB,IADA,IAAIE,EAAU,GACLxI,EAAI,EAAGA,EAAIyI,UAAU3I,OAAQE,IACpCwI,EAAQtE,KAAK3B,EAAQkG,UAAUzI,KAEjC,OAAOwI,EAAQE,KAAK,KAGlB1I,EAAI,EAmBR,IAnBA,IACI2I,EAAOF,UACPxI,EAAM0I,EAAK7I,OACX8I,EAAMC,OAAOP,GAAGQ,QAAQV,GAAc,SAASvI,GACjD,GAAU,OAANA,EAAY,MAAO,IACvB,GAAIG,GAAKC,EAAK,OAAOJ,EACrB,OAAQA,GACN,IAAK,KAAM,OAAOgJ,OAAOF,EAAK3I,MAC9B,IAAK,KAAM,OAAO+I,OAAOJ,EAAK3I,MAC9B,IAAK,KACH,IACE,OAAOgJ,KAAKC,UAAUN,EAAK3I,MAC3B,MAAOkJ,GACP,MAAO,aAEX,QACE,OAAOrJ,MAGJA,EAAI8I,EAAK3I,GAAIA,EAAIC,EAAKJ,EAAI8I,IAAO3I,GACpCmJ,EAAOtJ,KAAOuJ,EAASvJ,GACzB+I,GAAO,IAAM/I,EAEb+I,GAAO,IAAMrG,EAAQ1C,GAGzB,OAAO+I,GAOT/G,EAAQwH,UAAY,SAASC,EAAIC,GAE/B,GAAIC,EAAY,EAAAnJ,EAAOoJ,SACrB,OAAO,WACL,OAAO5H,EAAQwH,UAAUC,EAAIC,GAAKG,MAAM1D,KAAMyC,YAIlD,IAA8B,IAA1BgB,EAAQE,cACV,OAAOL,EAGT,IAAIM,GAAS,EAeb,OAdA,WACE,IAAKA,EAAQ,CACX,GAAIH,EAAQI,iBACV,MAAM,IAAI1E,MAAMoE,GACPE,EAAQK,iBACjBC,EAAQC,MAAMT,GAEdQ,EAAQtE,MAAM8D,GAEhBK,GAAS,EAEX,OAAON,EAAGI,MAAM1D,KAAMyC,aAO1B,IACIwB,EADAC,EAAS,GA6Bb,SAAS3H,EAAQpB,EAAKgJ,GAEpB,IAAIC,EAAM,CACRC,KAAM,GACNC,QAASC,GAkBX,OAfI9B,UAAU3I,QAAU,IAAGsK,EAAII,MAAQ/B,UAAU,IAC7CA,UAAU3I,QAAU,IAAGsK,EAAIK,OAAShC,UAAU,IAC9CiC,EAAUP,GAEZC,EAAIO,WAAaR,EACRA,GAETtI,EAAQ+I,QAAQR,EAAKD,GAGnBX,EAAYY,EAAIO,cAAaP,EAAIO,YAAa,GAC9CnB,EAAYY,EAAII,SAAQJ,EAAII,MAAQ,GACpChB,EAAYY,EAAIK,UAASL,EAAIK,QAAS,GACtCjB,EAAYY,EAAIS,iBAAgBT,EAAIS,eAAgB,GACpDT,EAAIK,SAAQL,EAAIE,QAAUQ,GACvBC,EAAYX,EAAKjJ,EAAKiJ,EAAII,OAoCnC,SAASM,EAAiBlC,EAAKoC,GAC7B,IAAIC,EAAQ1I,EAAQ2I,OAAOF,GAE3B,OAAIC,EACK,KAAY1I,EAAQkI,OAAOQ,GAAO,GAAK,IAAMrC,EAC7C,KAAYrG,EAAQkI,OAAOQ,GAAO,GAAK,IAEvCrC,EAKX,SAAS2B,EAAe3B,EAAKoC,GAC3B,OAAOpC,EAeT,SAASmC,EAAYX,EAAKnH,EAAOkI,GAG/B,GAAIf,EAAIS,eACJ5H,GACAf,EAAWe,EAAMV,UAEjBU,EAAMV,UAAYV,EAAQU,WAExBU,EAAM0E,aAAe1E,EAAM0E,YAAYhH,YAAcsC,GAAQ,CACjE,IAAImI,EAAMnI,EAAMV,QAAQ4I,EAAcf,GAItC,OAHK7B,EAAS6C,KACZA,EAAML,EAAYX,EAAKgB,EAAKD,IAEvBC,EAIT,IAAIC,EA+FN,SAAyBjB,EAAKnH,GAC5B,GAAIuG,EAAYvG,GACd,OAAOmH,EAAIE,QAAQ,YAAa,aAClC,GAAI/B,EAAStF,GAAQ,CACnB,IAAIqI,EAAS,IAAOtC,KAAKC,UAAUhG,GAAO6F,QAAQ,SAAU,IAClBA,QAAQ,KAAM,OACdA,QAAQ,OAAQ,KAAO,IACjE,OAAOsB,EAAIE,QAAQgB,EAAQ,UAE7B,GAAIC,EAAStI,GACX,OAAOmH,EAAIE,QAAQ,GAAKrH,EAAO,UACjC,GAAIyH,EAAUzH,GACZ,OAAOmH,EAAIE,QAAQ,GAAKrH,EAAO,WAEjC,GAAIkG,EAAOlG,GACT,OAAOmH,EAAIE,QAAQ,OAAQ,QA9GbkB,CAAgBpB,EAAKnH,GACrC,GAAIoI,EACF,OAAOA,EAIT,IAAI/D,EAAO5G,OAAO4G,KAAKrE,GACnBwI,EApCN,SAAqBC,GACnB,IAAIC,EAAO,GAMX,OAJAD,EAAME,SAAQ,SAASC,EAAKtF,GAC1BoF,EAAKE,IAAO,KAGPF,EA6BWG,CAAYxE,GAQ9B,GANI8C,EAAIO,aACNrD,EAAO5G,OAAOqL,oBAAoB9I,IAKhC4C,EAAQ5C,KACJqE,EAAKrD,QAAQ,YAAc,GAAKqD,EAAKrD,QAAQ,gBAAkB,GACrE,OAAO+H,EAAY/I,GAIrB,GAAoB,IAAhBqE,EAAKxH,OAAc,CACrB,GAAIoC,EAAWe,GAAQ,CACrB,IAAIhC,EAAOgC,EAAMhC,KAAO,KAAOgC,EAAMhC,KAAO,GAC5C,OAAOmJ,EAAIE,QAAQ,YAAcrJ,EAAO,IAAK,WAE/C,GAAIsC,EAASN,GACX,OAAOmH,EAAIE,QAAQ2B,OAAOtL,UAAUS,SAASC,KAAK4B,GAAQ,UAE5D,GAAII,EAAOJ,GACT,OAAOmH,EAAIE,QAAQ4B,KAAKvL,UAAUS,SAASC,KAAK4B,GAAQ,QAE1D,GAAI4C,EAAQ5C,GACV,OAAO+I,EAAY/I,GAIvB,IA2CIkJ,EA3CAC,EAAO,GAAIV,GAAQ,EAAOW,EAAS,CAAC,IAAK,MAGzCC,EAAQrJ,KACVyI,GAAQ,EACRW,EAAS,CAAC,IAAK,MAIbnK,EAAWe,MAEbmJ,EAAO,cADCnJ,EAAMhC,KAAO,KAAOgC,EAAMhC,KAAO,IACf,KAkB5B,OAdIsC,EAASN,KACXmJ,EAAO,IAAMH,OAAOtL,UAAUS,SAASC,KAAK4B,IAI1CI,EAAOJ,KACTmJ,EAAO,IAAMF,KAAKvL,UAAU4L,YAAYlL,KAAK4B,IAI3C4C,EAAQ5C,KACVmJ,EAAO,IAAMJ,EAAY/I,IAGP,IAAhBqE,EAAKxH,QAAkB4L,GAAyB,GAAhBzI,EAAMnD,OAItCqL,EAAe,EACb5H,EAASN,GACJmH,EAAIE,QAAQ2B,OAAOtL,UAAUS,SAASC,KAAK4B,GAAQ,UAEnDmH,EAAIE,QAAQ,WAAY,YAInCF,EAAIC,KAAKnG,KAAKjB,GAIZkJ,EADET,EAsCN,SAAqBtB,EAAKnH,EAAOkI,EAAcM,EAAanE,GAE1D,IADA,IAAI6E,EAAS,GACJnM,EAAI,EAAGwM,EAAIvJ,EAAMnD,OAAQE,EAAIwM,IAAKxM,EACrCY,EAAeqC,EAAO4F,OAAO7I,IAC/BmM,EAAOjI,KAAKuI,EAAerC,EAAKnH,EAAOkI,EAAcM,EACjD5C,OAAO7I,IAAI,IAEfmM,EAAOjI,KAAK,IAShB,OANAoD,EAAKsE,SAAQ,SAASnH,GACfA,EAAItC,MAAM,UACbgK,EAAOjI,KAAKuI,EAAerC,EAAKnH,EAAOkI,EAAcM,EACjDhH,GAAK,OAGN0H,EArDIO,CAAYtC,EAAKnH,EAAOkI,EAAcM,EAAanE,GAEnDA,EAAKqF,KAAI,SAASlI,GACzB,OAAOgI,EAAerC,EAAKnH,EAAOkI,EAAcM,EAAahH,EAAKiH,MAItEtB,EAAIC,KAAKuC,MA6GX,SAA8BT,EAAQC,EAAMC,GAQ1C,GANaF,EAAOU,QAAO,SAASC,EAAMC,GAGxC,OADIA,EAAI9I,QAAQ,OAAS,GAAG+I,EACrBF,EAAOC,EAAIjE,QAAQ,kBAAmB,IAAIhJ,OAAS,IACzD,GAEU,GACX,OAAOuM,EAAO,IACG,KAATD,EAAc,GAAKA,EAAO,OAC3B,IACAD,EAAOzD,KAAK,SACZ,IACA2D,EAAO,GAGhB,OAAOA,EAAO,GAAKD,EAAO,IAAMD,EAAOzD,KAAK,MAAQ,IAAM2D,EAAO,GA5H1DY,CAAqBd,EAAQC,EAAMC,IAxBjCA,EAAO,GAAKD,EAAOC,EAAO,GA+CrC,SAASL,EAAY/I,GACnB,MAAO,IAAMkC,MAAMxE,UAAUS,SAASC,KAAK4B,GAAS,IAwBtD,SAASwJ,EAAerC,EAAKnH,EAAOkI,EAAcM,EAAahH,EAAKiH,GAClE,IAAIzK,EAAM2H,EAAKsE,EAsCf,IArCAA,EAAOxM,OAAOyM,yBAAyBlK,EAAOwB,IAAQ,CAAExB,MAAOA,EAAMwB,KAC5D2I,IAELxE,EADEsE,EAAKG,IACDjD,EAAIE,QAAQ,kBAAmB,WAE/BF,EAAIE,QAAQ,WAAY,WAG5B4C,EAAKG,MACPzE,EAAMwB,EAAIE,QAAQ,WAAY,YAG7B1J,EAAe6K,EAAahH,KAC/BxD,EAAO,IAAMwD,EAAM,KAEhBmE,IACCwB,EAAIC,KAAKpG,QAAQiJ,EAAKjK,OAAS,GAE/B2F,EADEO,EAAOgC,GACHJ,EAAYX,EAAK8C,EAAKjK,MAAO,MAE7B8H,EAAYX,EAAK8C,EAAKjK,MAAOkI,EAAe,IAE5ClH,QAAQ,OAAS,IAErB2E,EADE8C,EACI9C,EAAI0E,MAAM,MAAMX,KAAI,SAASY,GACjC,MAAO,KAAOA,KACb7E,KAAK,MAAM8E,OAAO,GAEf,KAAO5E,EAAI0E,MAAM,MAAMX,KAAI,SAASY,GACxC,MAAO,MAAQA,KACd7E,KAAK,OAIZE,EAAMwB,EAAIE,QAAQ,aAAc,YAGhCd,EAAYvI,GAAO,CACrB,GAAIyK,GAASjH,EAAItC,MAAM,SACrB,OAAOyG,GAET3H,EAAO+H,KAAKC,UAAU,GAAKxE,IAClBtC,MAAM,iCACblB,EAAOA,EAAKuM,OAAO,EAAGvM,EAAKnB,OAAS,GACpCmB,EAAOmJ,EAAIE,QAAQrJ,EAAM,UAEzBA,EAAOA,EAAK6H,QAAQ,KAAM,OACdA,QAAQ,OAAQ,KAChBA,QAAQ,WAAY,KAChC7H,EAAOmJ,EAAIE,QAAQrJ,EAAM,WAI7B,OAAOA,EAAO,KAAO2H,EA2BvB,SAAS0D,EAAQmB,GACf,OAAO3M,MAAMwL,QAAQmB,GAIvB,SAAS/C,EAAU1C,GACjB,MAAsB,kBAARA,EAIhB,SAASmB,EAAOnB,GACd,OAAe,OAARA,EAST,SAASuD,EAASvD,GAChB,MAAsB,iBAARA,EAIhB,SAASO,EAASP,GAChB,MAAsB,iBAARA,EAShB,SAASwB,EAAYxB,GACnB,YAAe,IAARA,EAIT,SAASzE,EAASmK,GAChB,OAAOtE,EAASsE,IAA8B,oBAAvBC,EAAeD,GAIxC,SAAStE,EAASpB,GAChB,MAAsB,iBAARA,GAA4B,OAARA,EAIpC,SAAS3E,EAAOuK,GACd,OAAOxE,EAASwE,IAA4B,kBAAtBD,EAAeC,GAIvC,SAAS/H,EAAQX,GACf,OAAOkE,EAASlE,KACW,mBAAtByI,EAAezI,IAA2BA,aAAaC,OAI9D,SAASjD,EAAW8F,GAClB,MAAsB,mBAARA,EAgBhB,SAAS2F,EAAeE,GACtB,OAAOnN,OAAOC,UAAUS,SAASC,KAAKwM,GAIxC,SAASC,EAAIxL,GACX,OAAOA,EAAI,GAAK,IAAMA,EAAElB,SAAS,IAAMkB,EAAElB,SAAS,IApbpDS,EAAQkM,SAAW,SAASV,GAI1B,GAHI7D,EAAYS,KACdA,EAAeR,EAAQuE,IAAIC,YAAc,IAC3CZ,EAAMA,EAAIa,eACLhE,EAAOmD,GACV,GAAI,IAAIpB,OAAO,MAAQoB,EAAM,MAAO,KAAKpI,KAAKgF,GAAe,CAC3D,IAAIkE,EAAM1E,EAAQ0E,IAClBjE,EAAOmD,GAAO,WACZ,IAAI9D,EAAM1H,EAAQwG,OAAOqB,MAAM7H,EAAS4G,WACxCsB,EAAQtE,MAAM,YAAa4H,EAAKc,EAAK5E,SAGvCW,EAAOmD,GAAO,aAGlB,OAAOnD,EAAOmD,IAoChBxL,EAAQU,QAAUA,EAIlBA,EAAQkI,OAAS,CACf,KAAS,CAAC,EAAG,IACb,OAAW,CAAC,EAAG,IACf,UAAc,CAAC,EAAG,IAClB,QAAY,CAAC,EAAG,IAChB,MAAU,CAAC,GAAI,IACf,KAAS,CAAC,GAAI,IACd,MAAU,CAAC,GAAI,IACf,KAAS,CAAC,GAAI,IACd,KAAS,CAAC,GAAI,IACd,MAAU,CAAC,GAAI,IACf,QAAY,CAAC,GAAI,IACjB,IAAQ,CAAC,GAAI,IACb,OAAW,CAAC,GAAI,KAIlBlI,EAAQ2I,OAAS,CACf,QAAW,OACX,OAAU,SACV,QAAW,SACX,UAAa,OACb,KAAQ,OACR,OAAU,QACV,KAAQ,UAER,OAAU,OAkRZrJ,EAAQyK,QAAUA,EAKlBzK,EAAQ6I,UAAYA,EAKpB7I,EAAQsH,OAASA,EAKjBtH,EAAQuM,kBAHR,SAA2BpG,GACzB,OAAc,MAAPA,GAOTnG,EAAQ0J,SAAWA,EAKnB1J,EAAQ0G,SAAWA,EAKnB1G,EAAQwM,SAHR,SAAkBrG,GAChB,MAAsB,iBAARA,GAOhBnG,EAAQ2H,YAAcA,EAKtB3H,EAAQ0B,SAAWA,EAKnB1B,EAAQuH,SAAWA,EAKnBvH,EAAQwB,OAASA,EAMjBxB,EAAQgE,QAAUA,EAKlBhE,EAAQK,WAAaA,EAUrBL,EAAQuC,YARR,SAAqB4D,GACnB,OAAe,OAARA,GACe,kBAARA,GACQ,iBAARA,GACQ,iBAARA,GACQ,iBAARA,QACQ,IAARA,GAIhBnG,EAAQzB,SAAW,EAAnB,MAYA,IAAIkO,EAAS,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACxD,MAAO,MAAO,OAG5B,SAASC,IACP,IAAIX,EAAI,IAAI1B,KACRsC,EAAO,CAACV,EAAIF,EAAEa,YACNX,EAAIF,EAAEc,cACNZ,EAAIF,EAAEe,eAAejG,KAAK,KACtC,MAAO,CAACkF,EAAEgB,UAAWN,EAAOV,EAAEiB,YAAaL,GAAM9F,KAAK,KAqCxD,SAAS9H,EAAeO,EAAK2N,GAC3B,OAAOpO,OAAOC,UAAUC,eAAeS,KAAKF,EAAK2N,GAjCnDjN,EAAQkN,IAAM,WACZhF,EAAQgF,IAAI,UAAWR,IAAa1M,EAAQwG,OAAOqB,MAAM7H,EAAS4G,aAiBpE5G,EAAQ6E,SAAW,EAAnB,MAEA7E,EAAQ+I,QAAU,SAASoE,EAAQC,GAEjC,IAAKA,IAAQ7F,EAAS6F,GAAM,OAAOD,EAInC,IAFA,IAAI1H,EAAO5G,OAAO4G,KAAK2H,GACnBjP,EAAIsH,EAAKxH,OACNE,KACLgP,EAAO1H,EAAKtH,IAAMiP,EAAI3H,EAAKtH,IAE7B,OAAOgP,I,4FC7iBT,MAAME,EAAmBC,SAASC,eAAe,gB,UAElC,KAAOF,GAAqBA,GAA+C,SAA3BA,EAAiBjM,O,qFCJjE,WAEd,GAAIoM,OAAOC,WAAaD,OAAOE,OAAOD,SACrC,OAGDD,OAAOC,SAASE,KAAO,M,eC1BxB,IAAIhP,EAAO,EAAQ,MACfmB,EAAS,EAAQ,MACrB,SAAS8N,IAAQ,OAAO,IAAIvD,MAAO5I,UAEnC,IACIyG,EADAhJ,EAAQD,MAAMH,UAAUI,MAExB2O,EAAQ,GAGR3F,OADkB,IAAX,EAAA1J,GAA0B,EAAAA,EAAO0J,QAC9B,EAAA1J,EAAO0J,QACQ,oBAAXsF,QAA0BA,OAAOtF,QACrCsF,OAAOtF,QAEP,GAed,IAZA,IAAI4F,EAAY,CACZ,CAuBJ,aAvBU,OACN,CAwBJ,WACI5F,EAAQgF,IAAIrF,MAAMK,EAAStB,YAzBpB,QACP,CA2BJ,WACIsB,EAAQgF,IAAIrF,MAAMK,EAAStB,YA5BpB,QACP,CA8BJ,WACIsB,EAAQ6F,KAAKlG,MAAMK,EAAStB,YA/BpB,SACR,CAiCJ,SAAcoH,GACVH,EAAMG,GAASJ,KAlCR,QACP,CAoCJ,SAAiBI,GACb,IAAIrB,EAAOkB,EAAMG,GACjB,IAAKrB,EACD,MAAM,IAAIrJ,MAAM,kBAAoB0K,UAGjCH,EAAMG,GACb,IAAIC,EAAWL,IAAQjB,EACvBzE,EAAQgF,IAAIc,EAAQ,KAAOC,EAAW,OA5C5B,WACV,CA8CJ,WACI,IAAI3J,EAAM,IAAIhB,MACdgB,EAAIlF,KAAO,QACXkF,EAAItD,QAAUrC,EAAK6H,OAAOqB,MAAM,KAAMjB,WACtCsB,EAAQtE,MAAMU,EAAIC,QAlDV,SACR,CAoDJ,SAAarB,GACTgF,EAAQgF,IAAIvO,EAAK+B,QAAQwC,GAAU,OArD7B,OACN,CAuDJ,SAAuBgL,GACnB,IAAKA,EAAY,CACb,IAAIC,EAAMjP,EAAMM,KAAKoH,UAAW,GAChC9G,EAAOG,IAAG,EAAOtB,EAAK6H,OAAOqB,MAAM,KAAMsG,MA1D7B,WAGXhQ,EAAI,EAAGA,EAAI2P,EAAU7P,OAAQE,IAAK,CACvC,IAAIiQ,EAAQN,EAAU3P,GAClBsI,EAAI2H,EAAM,GACVhP,EAAOgP,EAAM,GAEZlG,EAAQ9I,KACT8I,EAAQ9I,GAAQqH,GAIxB1G,EAAOC,QAAUkI,G,sBC/BjB,IAAImG,EAAwBxP,OAAOwP,sBAC/BtP,EAAiBF,OAAOC,UAAUC,eAClCuP,EAAmBzP,OAAOC,UAAUyP,qBAExC,SAASC,EAASxE,GACjB,GAAIA,QACH,MAAM,IAAIrG,UAAU,yDAGrB,OAAO9E,OAAOmL,GA+CfjK,EAAOC,QA5CP,WACC,IACC,IAAKnB,OAAO4P,OACX,OAAO,EAMR,IAAIC,EAAQ,IAAI1H,OAAO,OAEvB,GADA0H,EAAM,GAAK,KACkC,MAAzC7P,OAAOqL,oBAAoBwE,GAAO,GACrC,OAAO,EAKR,IADA,IAAIC,EAAQ,GACHxQ,EAAI,EAAGA,EAAI,GAAIA,IACvBwQ,EAAM,IAAM3H,OAAO4H,aAAazQ,IAAMA,EAKvC,GAAwB,eAHXU,OAAOqL,oBAAoByE,GAAO7D,KAAI,SAAUrK,GAC5D,OAAOkO,EAAMlO,MAEHoG,KAAK,IACf,OAAO,EAIR,IAAIgI,EAAQ,GAIZ,MAHA,uBAAuBpD,MAAM,IAAI1B,SAAQ,SAAU+E,GAClDD,EAAMC,GAAUA,KAGf,yBADEjQ,OAAO4G,KAAK5G,OAAO4P,OAAO,GAAII,IAAQhI,KAAK,IAM9C,MAAOvC,GAER,OAAO,GAIQyK,GAAoBlQ,OAAO4P,OAAS,SAAUO,EAAQrN,GAKtE,IAJA,IAAIsN,EAEAC,EADAC,EAAKX,EAASQ,GAGTxO,EAAI,EAAGA,EAAIoG,UAAU3I,OAAQuC,IAAK,CAG1C,IAAK,IAAIoC,KAFTqM,EAAOpQ,OAAO+H,UAAUpG,IAGnBzB,EAAeS,KAAKyP,EAAMrM,KAC7BuM,EAAGvM,GAAOqM,EAAKrM,IAIjB,GAAIyL,EAAuB,CAC1Ba,EAAUb,EAAsBY,GAChC,IAAK,IAAI9Q,EAAI,EAAGA,EAAI+Q,EAAQjR,OAAQE,IAC/BmQ,EAAiB9O,KAAKyP,EAAMC,EAAQ/Q,MACvCgR,EAAGD,EAAQ/Q,IAAM8Q,EAAKC,EAAQ/Q,MAMlC,OAAOgR,I,SCvFR,IAOIC,EACAC,EARAzH,EAAU7H,EAAOC,QAAU,GAU/B,SAASsP,IACL,MAAM,IAAIhM,MAAM,mCAEpB,SAASiM,IACL,MAAM,IAAIjM,MAAM,qCAsBpB,SAASkM,EAAWC,GAChB,GAAIL,IAAqBM,WAErB,OAAOA,WAAWD,EAAK,GAG3B,IAAKL,IAAqBE,IAAqBF,IAAqBM,WAEhE,OADAN,EAAmBM,WACZA,WAAWD,EAAK,GAE3B,IAEI,OAAOL,EAAiBK,EAAK,GAC/B,MAAMpM,GACJ,IAEI,OAAO+L,EAAiB5P,KAAK,KAAMiQ,EAAK,GAC1C,MAAMpM,GAEJ,OAAO+L,EAAiB5P,KAAK2E,KAAMsL,EAAK,MAvCnD,WACG,IAEQL,EADsB,mBAAfM,WACYA,WAEAJ,EAEzB,MAAOjM,GACL+L,EAAmBE,EAEvB,IAEQD,EADwB,mBAAjBM,aACcA,aAEAJ,EAE3B,MAAOlM,GACLgM,EAAqBE,GAjB7B,GAwEA,IAEIK,EAFAC,EAAQ,GACRC,GAAW,EAEXC,GAAc,EAElB,SAASC,IACAF,GAAaF,IAGlBE,GAAW,EACPF,EAAa3R,OACb4R,EAAQD,EAAaK,OAAOJ,GAE5BE,GAAc,EAEdF,EAAM5R,QACNiS,KAIR,SAASA,IACL,IAAIJ,EAAJ,CAGA,IAAIK,EAAUX,EAAWQ,GACzBF,GAAW,EAGX,IADA,IAAI1R,EAAMyR,EAAM5R,OACVG,GAAK,CAGP,IAFAwR,EAAeC,EACfA,EAAQ,KACCE,EAAa3R,GACdwR,GACAA,EAAaG,GAAYK,MAGjCL,GAAc,EACd3R,EAAMyR,EAAM5R,OAEhB2R,EAAe,KACfE,GAAW,EAnEf,SAAyBO,GACrB,GAAIhB,IAAuBM,aAEvB,OAAOA,aAAaU,GAGxB,IAAKhB,IAAuBE,IAAwBF,IAAuBM,aAEvE,OADAN,EAAqBM,aACdA,aAAaU,GAExB,IAEWhB,EAAmBgB,GAC5B,MAAOhN,GACL,IAEI,OAAOgM,EAAmB7P,KAAK,KAAM6Q,GACvC,MAAOhN,GAGL,OAAOgM,EAAmB7P,KAAK2E,KAAMkM,KAgD7CC,CAAgBH,IAiBpB,SAASI,EAAKd,EAAK5F,GACf1F,KAAKsL,IAAMA,EACXtL,KAAK0F,MAAQA,EAYjB,SAAS2G,KA5BT5I,EAAQ6I,SAAW,SAAUhB,GACzB,IAAI3I,EAAO,IAAI7H,MAAM2H,UAAU3I,OAAS,GACxC,GAAI2I,UAAU3I,OAAS,EACnB,IAAK,IAAIE,EAAI,EAAGA,EAAIyI,UAAU3I,OAAQE,IAClC2I,EAAK3I,EAAI,GAAKyI,UAAUzI,GAGhC0R,EAAMxN,KAAK,IAAIkO,EAAKd,EAAK3I,IACJ,IAAjB+I,EAAM5R,QAAiB6R,GACvBN,EAAWU,IASnBK,EAAKzR,UAAUsR,IAAM,WACjBjM,KAAKsL,IAAI5H,MAAM,KAAM1D,KAAK0F,QAE9BjC,EAAQ8I,MAAQ,UAChB9I,EAAQ+I,SAAU,EAClB/I,EAAQuE,IAAM,GACdvE,EAAQgJ,KAAO,GACfhJ,EAAQiJ,QAAU,GAClBjJ,EAAQkJ,SAAW,GAInBlJ,EAAQmJ,GAAKP,EACb5I,EAAQoJ,YAAcR,EACtB5I,EAAQqJ,KAAOT,EACf5I,EAAQsJ,IAAMV,EACd5I,EAAQuJ,eAAiBX,EACzB5I,EAAQwJ,mBAAqBZ,EAC7B5I,EAAQyJ,KAAOb,EACf5I,EAAQ0J,gBAAkBd,EAC1B5I,EAAQ2J,oBAAsBf,EAE9B5I,EAAQ4J,UAAY,SAAUpS,GAAQ,MAAO,IAE7CwI,EAAQ6J,QAAU,SAAUrS,GACxB,MAAM,IAAIkE,MAAM,qCAGpBsE,EAAQ8J,IAAM,WAAc,MAAO,KACnC9J,EAAQ+J,MAAQ,SAAUC,GACtB,MAAM,IAAItO,MAAM,mCAEpBsE,EAAQiK,MAAQ,WAAa,OAAO,I,SCvLP,mBAAlBhT,OAAO6G,OAEhB3F,EAAOC,QAAU,SAAkB2F,EAAMC,GACvCD,EAAKE,OAASD,EACdD,EAAK7G,UAAYD,OAAO6G,OAAOE,EAAU9G,UAAW,CAClDgH,YAAa,CACX1E,MAAOuE,EACPI,YAAY,EACZC,UAAU,EACVC,cAAc,MAMpBlG,EAAOC,QAAU,SAAkB2F,EAAMC,GACvCD,EAAKE,OAASD,EACd,IAAIM,EAAW,aACfA,EAASpH,UAAY8G,EAAU9G,UAC/B6G,EAAK7G,UAAY,IAAIoH,EACrBP,EAAK7G,UAAUgH,YAAcH,I,QCpBjC5F,EAAOC,QAAU,SAAkBmG,GACjC,OAAOA,GAAsB,iBAARA,GACI,mBAAbA,EAAIC,MACS,mBAAbD,EAAIE,MACc,mBAAlBF,EAAIG,Y,uCCiBdwL,EAA4BjT,OAAOiT,2BACrC,SAAmCxS,GAGjC,IAFA,IAAImG,EAAO5G,OAAO4G,KAAKnG,GACnByS,EAAc,GACT5T,EAAI,EAAGA,EAAIsH,EAAKxH,OAAQE,IAC/B4T,EAAYtM,EAAKtH,IAAMU,OAAOyM,yBAAyBhM,EAAKmG,EAAKtH,IAEnE,OAAO4T,GAGPxL,EAAe,WACnBvG,EAAQwG,OAAS,SAASC,GACxB,IAAKC,EAASD,GAAI,CAEhB,IADA,IAAIE,EAAU,GACLxI,EAAI,EAAGA,EAAIyI,UAAU3I,OAAQE,IACpCwI,EAAQtE,KAAK3B,EAAQkG,UAAUzI,KAEjC,OAAOwI,EAAQE,KAAK,KAGlB1I,EAAI,EAmBR,IAnBA,IACI2I,EAAOF,UACPxI,EAAM0I,EAAK7I,OACX8I,EAAMC,OAAOP,GAAGQ,QAAQV,GAAc,SAASvI,GACjD,GAAU,OAANA,EAAY,MAAO,IACvB,GAAIG,GAAKC,EAAK,OAAOJ,EACrB,OAAQA,GACN,IAAK,KAAM,OAAOgJ,OAAOF,EAAK3I,MAC9B,IAAK,KAAM,OAAO+I,OAAOJ,EAAK3I,MAC9B,IAAK,KACH,IACE,OAAOgJ,KAAKC,UAAUN,EAAK3I,MAC3B,MAAOkJ,GACP,MAAO,aAEX,QACE,OAAOrJ,MAGJA,EAAI8I,EAAK3I,GAAIA,EAAIC,EAAKJ,EAAI8I,IAAO3I,GACpCmJ,EAAOtJ,KAAOuJ,EAASvJ,GACzB+I,GAAO,IAAM/I,EAEb+I,GAAO,IAAMrG,EAAQ1C,GAGzB,OAAO+I,GAOT/G,EAAQwH,UAAY,SAASC,EAAIC,GAC/B,QAAuB,IAAZE,IAAqD,IAA1BA,EAAQE,cAC5C,OAAOL,EAIT,QAAuB,IAAZG,EACT,OAAO,WACL,OAAO5H,EAAQwH,UAAUC,EAAIC,GAAKG,MAAM1D,KAAMyC,YAIlD,IAAImB,GAAS,EAeb,OAdA,WACE,IAAKA,EAAQ,CACX,GAAIH,EAAQI,iBACV,MAAM,IAAI1E,MAAMoE,GACPE,EAAQK,iBACjBC,EAAQC,MAAMT,GAEdQ,EAAQtE,MAAM8D,GAEhBK,GAAS,EAEX,OAAON,EAAGI,MAAM1D,KAAMyC,aAO1B,IACIwB,EADAC,EAAS,GA6Bb,SAAS3H,EAAQpB,EAAKgJ,GAEpB,IAAIC,EAAM,CACRC,KAAM,GACNC,QAASC,GAkBX,OAfI9B,UAAU3I,QAAU,IAAGsK,EAAII,MAAQ/B,UAAU,IAC7CA,UAAU3I,QAAU,IAAGsK,EAAIK,OAAShC,UAAU,IAC9CiC,EAAUP,GAEZC,EAAIO,WAAaR,EACRA,GAETtI,EAAQ+I,QAAQR,EAAKD,GAGnBX,EAAYY,EAAIO,cAAaP,EAAIO,YAAa,GAC9CnB,EAAYY,EAAII,SAAQJ,EAAII,MAAQ,GACpChB,EAAYY,EAAIK,UAASL,EAAIK,QAAS,GACtCjB,EAAYY,EAAIS,iBAAgBT,EAAIS,eAAgB,GACpDT,EAAIK,SAAQL,EAAIE,QAAUQ,GACvBC,EAAYX,EAAKjJ,EAAKiJ,EAAII,OAoCnC,SAASM,EAAiBlC,EAAKoC,GAC7B,IAAIC,EAAQ1I,EAAQ2I,OAAOF,GAE3B,OAAIC,EACK,KAAY1I,EAAQkI,OAAOQ,GAAO,GAAK,IAAMrC,EAC7C,KAAYrG,EAAQkI,OAAOQ,GAAO,GAAK,IAEvCrC,EAKX,SAAS2B,EAAe3B,EAAKoC,GAC3B,OAAOpC,EAeT,SAASmC,EAAYX,EAAKnH,EAAOkI,GAG/B,GAAIf,EAAIS,eACJ5H,GACAf,EAAWe,EAAMV,UAEjBU,EAAMV,UAAYV,EAAQU,WAExBU,EAAM0E,aAAe1E,EAAM0E,YAAYhH,YAAcsC,GAAQ,CACjE,IAAImI,EAAMnI,EAAMV,QAAQ4I,EAAcf,GAItC,OAHK7B,EAAS6C,KACZA,EAAML,EAAYX,EAAKgB,EAAKD,IAEvBC,EAIT,IAAIC,EA+FN,SAAyBjB,EAAKnH,GAC5B,GAAIuG,EAAYvG,GACd,OAAOmH,EAAIE,QAAQ,YAAa,aAClC,GAAI/B,EAAStF,GAAQ,CACnB,IAAIqI,EAAS,IAAOtC,KAAKC,UAAUhG,GAAO6F,QAAQ,SAAU,IAClBA,QAAQ,KAAM,OACdA,QAAQ,OAAQ,KAAO,IACjE,OAAOsB,EAAIE,QAAQgB,EAAQ,UAE7B,GAAIC,EAAStI,GACX,OAAOmH,EAAIE,QAAQ,GAAKrH,EAAO,UACjC,GAAIyH,EAAUzH,GACZ,OAAOmH,EAAIE,QAAQ,GAAKrH,EAAO,WAEjC,GAAIkG,EAAOlG,GACT,OAAOmH,EAAIE,QAAQ,OAAQ,QA9GbkB,CAAgBpB,EAAKnH,GACrC,GAAIoI,EACF,OAAOA,EAIT,IAAI/D,EAAO5G,OAAO4G,KAAKrE,GACnBwI,EApCN,SAAqBC,GACnB,IAAIC,EAAO,GAMX,OAJAD,EAAME,SAAQ,SAASC,EAAKtF,GAC1BoF,EAAKE,IAAO,KAGPF,EA6BWG,CAAYxE,GAQ9B,GANI8C,EAAIO,aACNrD,EAAO5G,OAAOqL,oBAAoB9I,IAKhC4C,EAAQ5C,KACJqE,EAAKrD,QAAQ,YAAc,GAAKqD,EAAKrD,QAAQ,gBAAkB,GACrE,OAAO+H,EAAY/I,GAIrB,GAAoB,IAAhBqE,EAAKxH,OAAc,CACrB,GAAIoC,EAAWe,GAAQ,CACrB,IAAIhC,EAAOgC,EAAMhC,KAAO,KAAOgC,EAAMhC,KAAO,GAC5C,OAAOmJ,EAAIE,QAAQ,YAAcrJ,EAAO,IAAK,WAE/C,GAAIsC,EAASN,GACX,OAAOmH,EAAIE,QAAQ2B,OAAOtL,UAAUS,SAASC,KAAK4B,GAAQ,UAE5D,GAAII,EAAOJ,GACT,OAAOmH,EAAIE,QAAQ4B,KAAKvL,UAAUS,SAASC,KAAK4B,GAAQ,QAE1D,GAAI4C,EAAQ5C,GACV,OAAO+I,EAAY/I,GAIvB,IA2CIkJ,EA3CAC,EAAO,GAAIV,GAAQ,EAAOW,EAAS,CAAC,IAAK,MAGzCC,EAAQrJ,KACVyI,GAAQ,EACRW,EAAS,CAAC,IAAK,MAIbnK,EAAWe,MAEbmJ,EAAO,cADCnJ,EAAMhC,KAAO,KAAOgC,EAAMhC,KAAO,IACf,KAkB5B,OAdIsC,EAASN,KACXmJ,EAAO,IAAMH,OAAOtL,UAAUS,SAASC,KAAK4B,IAI1CI,EAAOJ,KACTmJ,EAAO,IAAMF,KAAKvL,UAAU4L,YAAYlL,KAAK4B,IAI3C4C,EAAQ5C,KACVmJ,EAAO,IAAMJ,EAAY/I,IAGP,IAAhBqE,EAAKxH,QAAkB4L,GAAyB,GAAhBzI,EAAMnD,OAItCqL,EAAe,EACb5H,EAASN,GACJmH,EAAIE,QAAQ2B,OAAOtL,UAAUS,SAASC,KAAK4B,GAAQ,UAEnDmH,EAAIE,QAAQ,WAAY,YAInCF,EAAIC,KAAKnG,KAAKjB,GAIZkJ,EADET,EAsCN,SAAqBtB,EAAKnH,EAAOkI,EAAcM,EAAanE,GAE1D,IADA,IAAI6E,EAAS,GACJnM,EAAI,EAAGwM,EAAIvJ,EAAMnD,OAAQE,EAAIwM,IAAKxM,EACrCY,EAAeqC,EAAO4F,OAAO7I,IAC/BmM,EAAOjI,KAAKuI,EAAerC,EAAKnH,EAAOkI,EAAcM,EACjD5C,OAAO7I,IAAI,IAEfmM,EAAOjI,KAAK,IAShB,OANAoD,EAAKsE,SAAQ,SAASnH,GACfA,EAAItC,MAAM,UACbgK,EAAOjI,KAAKuI,EAAerC,EAAKnH,EAAOkI,EAAcM,EACjDhH,GAAK,OAGN0H,EArDIO,CAAYtC,EAAKnH,EAAOkI,EAAcM,EAAanE,GAEnDA,EAAKqF,KAAI,SAASlI,GACzB,OAAOgI,EAAerC,EAAKnH,EAAOkI,EAAcM,EAAahH,EAAKiH,MAItEtB,EAAIC,KAAKuC,MA6GX,SAA8BT,EAAQC,EAAMC,GAQ1C,GANaF,EAAOU,QAAO,SAASC,EAAMC,GAGxC,OADIA,EAAI9I,QAAQ,OAAS,GAAG+I,EACrBF,EAAOC,EAAIjE,QAAQ,kBAAmB,IAAIhJ,OAAS,IACzD,GAEU,GACX,OAAOuM,EAAO,IACG,KAATD,EAAc,GAAKA,EAAO,OAC3B,IACAD,EAAOzD,KAAK,SACZ,IACA2D,EAAO,GAGhB,OAAOA,EAAO,GAAKD,EAAO,IAAMD,EAAOzD,KAAK,MAAQ,IAAM2D,EAAO,GA5H1DY,CAAqBd,EAAQC,EAAMC,IAxBjCA,EAAO,GAAKD,EAAOC,EAAO,GA+CrC,SAASL,EAAY/I,GACnB,MAAO,IAAMkC,MAAMxE,UAAUS,SAASC,KAAK4B,GAAS,IAwBtD,SAASwJ,EAAerC,EAAKnH,EAAOkI,EAAcM,EAAahH,EAAKiH,GAClE,IAAIzK,EAAM2H,EAAKsE,EAsCf,IArCAA,EAAOxM,OAAOyM,yBAAyBlK,EAAOwB,IAAQ,CAAExB,MAAOA,EAAMwB,KAC5D2I,IAELxE,EADEsE,EAAKG,IACDjD,EAAIE,QAAQ,kBAAmB,WAE/BF,EAAIE,QAAQ,WAAY,WAG5B4C,EAAKG,MACPzE,EAAMwB,EAAIE,QAAQ,WAAY,YAG7B1J,EAAe6K,EAAahH,KAC/BxD,EAAO,IAAMwD,EAAM,KAEhBmE,IACCwB,EAAIC,KAAKpG,QAAQiJ,EAAKjK,OAAS,GAE/B2F,EADEO,EAAOgC,GACHJ,EAAYX,EAAK8C,EAAKjK,MAAO,MAE7B8H,EAAYX,EAAK8C,EAAKjK,MAAOkI,EAAe,IAE5ClH,QAAQ,OAAS,IAErB2E,EADE8C,EACI9C,EAAI0E,MAAM,MAAMX,KAAI,SAASY,GACjC,MAAO,KAAOA,KACb7E,KAAK,MAAM8E,OAAO,GAEf,KAAO5E,EAAI0E,MAAM,MAAMX,KAAI,SAASY,GACxC,MAAO,MAAQA,KACd7E,KAAK,OAIZE,EAAMwB,EAAIE,QAAQ,aAAc,YAGhCd,EAAYvI,GAAO,CACrB,GAAIyK,GAASjH,EAAItC,MAAM,SACrB,OAAOyG,GAET3H,EAAO+H,KAAKC,UAAU,GAAKxE,IAClBtC,MAAM,iCACblB,EAAOA,EAAKuM,OAAO,EAAGvM,EAAKnB,OAAS,GACpCmB,EAAOmJ,EAAIE,QAAQrJ,EAAM,UAEzBA,EAAOA,EAAK6H,QAAQ,KAAM,OACdA,QAAQ,OAAQ,KAChBA,QAAQ,WAAY,KAChC7H,EAAOmJ,EAAIE,QAAQrJ,EAAM,WAI7B,OAAOA,EAAO,KAAO2H,EA2BvB,SAAS0D,EAAQmB,GACf,OAAO3M,MAAMwL,QAAQmB,GAIvB,SAAS/C,EAAU1C,GACjB,MAAsB,kBAARA,EAIhB,SAASmB,EAAOnB,GACd,OAAe,OAARA,EAST,SAASuD,EAASvD,GAChB,MAAsB,iBAARA,EAIhB,SAASO,EAASP,GAChB,MAAsB,iBAARA,EAShB,SAASwB,EAAYxB,GACnB,YAAe,IAARA,EAIT,SAASzE,EAASmK,GAChB,OAAOtE,EAASsE,IAA8B,oBAAvBC,EAAeD,GAIxC,SAAStE,EAASpB,GAChB,MAAsB,iBAARA,GAA4B,OAARA,EAIpC,SAAS3E,EAAOuK,GACd,OAAOxE,EAASwE,IAA4B,kBAAtBD,EAAeC,GAIvC,SAAS/H,EAAQX,GACf,OAAOkE,EAASlE,KACW,mBAAtByI,EAAezI,IAA2BA,aAAaC,OAI9D,SAASjD,EAAW8F,GAClB,MAAsB,mBAARA,EAgBhB,SAAS2F,EAAeE,GACtB,OAAOnN,OAAOC,UAAUS,SAASC,KAAKwM,GAIxC,SAASC,EAAIxL,GACX,OAAOA,EAAI,GAAK,IAAMA,EAAElB,SAAS,IAAMkB,EAAElB,SAAS,IApbpDS,EAAQkM,SAAW,SAASV,GAI1B,GAHI7D,EAAYS,KACdA,EAAeR,EAAQuE,IAAIC,YAAc,IAC3CZ,EAAMA,EAAIa,eACLhE,EAAOmD,GACV,GAAI,IAAIpB,OAAO,MAAQoB,EAAM,MAAO,KAAKpI,KAAKgF,GAAe,CAC3D,IAAIkE,EAAM1E,EAAQ0E,IAClBjE,EAAOmD,GAAO,WACZ,IAAI9D,EAAM1H,EAAQwG,OAAOqB,MAAM7H,EAAS4G,WACxCsB,EAAQtE,MAAM,YAAa4H,EAAKc,EAAK5E,SAGvCW,EAAOmD,GAAO,aAGlB,OAAOnD,EAAOmD,IAoChBxL,EAAQU,QAAUA,EAIlBA,EAAQkI,OAAS,CACf,KAAS,CAAC,EAAG,IACb,OAAW,CAAC,EAAG,IACf,UAAc,CAAC,EAAG,IAClB,QAAY,CAAC,EAAG,IAChB,MAAU,CAAC,GAAI,IACf,KAAS,CAAC,GAAI,IACd,MAAU,CAAC,GAAI,IACf,KAAS,CAAC,GAAI,IACd,KAAS,CAAC,GAAI,IACd,MAAU,CAAC,GAAI,IACf,QAAY,CAAC,GAAI,IACjB,IAAQ,CAAC,GAAI,IACb,OAAW,CAAC,GAAI,KAIlBlI,EAAQ2I,OAAS,CACf,QAAW,OACX,OAAU,SACV,QAAW,SACX,UAAa,OACb,KAAQ,OACR,OAAU,QACV,KAAQ,UAER,OAAU,OAkRZrJ,EAAQyK,QAAUA,EAKlBzK,EAAQ6I,UAAYA,EAKpB7I,EAAQsH,OAASA,EAKjBtH,EAAQuM,kBAHR,SAA2BpG,GACzB,OAAc,MAAPA,GAOTnG,EAAQ0J,SAAWA,EAKnB1J,EAAQ0G,SAAWA,EAKnB1G,EAAQwM,SAHR,SAAkBrG,GAChB,MAAsB,iBAARA,GAOhBnG,EAAQ2H,YAAcA,EAKtB3H,EAAQ0B,SAAWA,EAKnB1B,EAAQuH,SAAWA,EAKnBvH,EAAQwB,OAASA,EAMjBxB,EAAQgE,QAAUA,EAKlBhE,EAAQK,WAAaA,EAUrBL,EAAQuC,YARR,SAAqB4D,GACnB,OAAe,OAARA,GACe,kBAARA,GACQ,iBAARA,GACQ,iBAARA,GACQ,iBAARA,QACQ,IAARA,GAIhBnG,EAAQzB,SAAW,EAAnB,KAYA,IAAIkO,EAAS,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACxD,MAAO,MAAO,OAG5B,SAASC,IACP,IAAIX,EAAI,IAAI1B,KACRsC,EAAO,CAACV,EAAIF,EAAEa,YACNX,EAAIF,EAAEc,cACNZ,EAAIF,EAAEe,eAAejG,KAAK,KACtC,MAAO,CAACkF,EAAEgB,UAAWN,EAAOV,EAAEiB,YAAaL,GAAM9F,KAAK,KAqCxD,SAAS9H,EAAeO,EAAK2N,GAC3B,OAAOpO,OAAOC,UAAUC,eAAeS,KAAKF,EAAK2N,GAjCnDjN,EAAQkN,IAAM,WACZhF,EAAQgF,IAAI,UAAWR,IAAa1M,EAAQwG,OAAOqB,MAAM7H,EAAS4G,aAiBpE5G,EAAQ6E,SAAW,EAAnB,MAEA7E,EAAQ+I,QAAU,SAASoE,EAAQC,GAEjC,IAAKA,IAAQ7F,EAAS6F,GAAM,OAAOD,EAInC,IAFA,IAAI1H,EAAO5G,OAAO4G,KAAK2H,GACnBjP,EAAIsH,EAAKxH,OACNE,KACLgP,EAAO1H,EAAKtH,IAAMiP,EAAI3H,EAAKtH,IAE7B,OAAOgP,GAOT,IAAI6E,EAA6C,oBAAXC,OAAyBA,OAAO,8BAA2BC,EA0DjG,SAASC,EAAsBC,EAAQC,GAKrC,IAAKD,EAAQ,CACX,IAAIE,EAAY,IAAIhP,MAAM,2CAC1BgP,EAAUF,OAASA,EACnBA,EAASE,EAEX,OAAOD,EAAGD,GAlEZpS,EAAQuS,UAAY,SAAmBC,GACrC,GAAwB,mBAAbA,EACT,MAAM,IAAI7O,UAAU,oDAEtB,GAAIqO,GAA4BQ,EAASR,GAA2B,CAClE,IAAIvK,EACJ,GAAkB,mBADdA,EAAK+K,EAASR,IAEhB,MAAM,IAAIrO,UAAU,iEAKtB,OAHA9E,OAAO4T,eAAehL,EAAIuK,EAA0B,CAClD5Q,MAAOqG,EAAI1B,YAAY,EAAOC,UAAU,EAAOC,cAAc,IAExDwB,EAGT,SAASA,IAQP,IAPA,IAAIiL,EAAgBC,EAChBC,EAAU,IAAIC,SAAQ,SAAUC,EAASC,GAC3CL,EAAiBI,EACjBH,EAAgBI,KAGdjM,EAAO,GACF3I,EAAI,EAAGA,EAAIyI,UAAU3I,OAAQE,IACpC2I,EAAKzE,KAAKuE,UAAUzI,IAEtB2I,EAAKzE,MAAK,SAAUiC,EAAKlD,GACnBkD,EACFqO,EAAcrO,GAEdoO,EAAetR,MAInB,IACEoR,EAAS3K,MAAM1D,KAAM2C,GACrB,MAAOxC,GACPqO,EAAcrO,GAGhB,OAAOsO,EAQT,OALA/T,OAAOmU,eAAevL,EAAI5I,OAAO2D,eAAegQ,IAE5CR,GAA0BnT,OAAO4T,eAAehL,EAAIuK,EAA0B,CAChF5Q,MAAOqG,EAAI1B,YAAY,EAAOC,UAAU,EAAOC,cAAc,IAExDpH,OAAOoU,iBACZxL,EACAqK,EAA0BU,KAI9BxS,EAAQuS,UAAUW,OAASlB,EAiD3BhS,EAAQmT,YAlCR,SAAqBX,GACnB,GAAwB,mBAAbA,EACT,MAAM,IAAI7O,UAAU,oDAMtB,SAASyP,IAEP,IADA,IAAItM,EAAO,GACF3I,EAAI,EAAGA,EAAIyI,UAAU3I,OAAQE,IACpC2I,EAAKzE,KAAKuE,UAAUzI,IAGtB,IAAIkV,EAAUvM,EAAKiE,MACnB,GAAuB,mBAAZsI,EACT,MAAM,IAAI1P,UAAU,8CAEtB,IAAIO,EAAOC,KACPkO,EAAK,WACP,OAAOgB,EAAQxL,MAAM3D,EAAM0C,YAI7B4L,EAAS3K,MAAM1D,KAAM2C,GAClBwM,MAAK,SAAS/J,GAAO3B,EAAQ6I,SAAS4B,EAAI,KAAM9I,MAC3C,SAASgK,GAAO3L,EAAQ6I,SAAS0B,EAAuBoB,EAAKlB,MAMvE,OAHAxT,OAAOmU,eAAeI,EAAevU,OAAO2D,eAAegQ,IAC3D3T,OAAOoU,iBAAiBG,EACAtB,EAA0BU,IAC3CY,KC3rBLI,EAA2B,GAG/B,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBxB,IAAjByB,EACH,OAAOA,EAAa3T,QAGrB,IAAID,EAASyT,EAAyBE,GAAY,CAGjD1T,QAAS,IAOV,OAHA4T,EAAoBF,GAAU3T,EAAQA,EAAOC,QAASyT,GAG/C1T,EAAOC,QCrBfyT,EAAoBjV,EAAI,WACvB,GAA0B,iBAAfqV,WAAyB,OAAOA,WAC3C,IACC,OAAO1P,MAAQ,IAAI2P,SAAS,cAAb,GACd,MAAOzQ,GACR,GAAsB,iBAAXmK,OAAqB,OAAOA,QALjB,G,iCCwBxB,a,oDAMA,EALA,WAKA,WAsGAF,SAASyG,iBAAiB,oBA7F1B,WA0DC,GAtDAC,4BAA4BxI,IAAI,sBAAsB,GACtDwI,4BAA4BxI,IAAI,qBAAsByI,SAASC,WAAWC,OAC1EH,4BAA4BxI,IAAI,mBAAmB,GACnDwI,4BAA4BxI,IAAI,YAAa8B,SAAS8G,qBAAqB,QAAQ,GAAGC,aAAa,mBACnGL,4BAA4BxI,IAAI,UAAW8B,SAAS8G,qBAAqB,QAAQ,GAAGC,aAAa,iBACjGL,4BAA4BxI,IAAI,qBAAqB,GAErDtD,EAAQoM,MAAM,8BAA+BN,4BAA4BO,UAKzEC,qBAAqBC,SAAW,WAI/B,SAASC,EAAaC,GACrB,IAAIxW,EAAI,EACR,MAAMyW,EAAKD,EAAI1W,OACf,KAAOE,EAAIyW,GAAwB,KAAlBD,EAAIxW,GAAG0W,QACvB1W,IAED,MAA0C,UAAnCwW,EAAIhJ,OAAOxN,EAAG,GAAG2W,cA2BzB,MAAMH,EAAMI,mBAAmBvH,OAAOC,SAASuH,OAAOrJ,OAAO,IAE7DxH,KAAK8Q,gBAAgBC,YAAYP,EA1BjC,SAA+BA,GAC9B,MAAMQ,EAAkBvO,UAAU3I,OAAS,QAAsBiU,IAAjBtL,UAAU,GAAmBA,UAAU,GAAK,eAE5F,GAAI8N,EAAaC,GAEhB,OADAzM,EAAQ6F,KAAK,wEACNoH,EAER,MAAMC,EAAQ,sDACRC,EAAa,gCACbC,EAAWF,EAAMG,KAAKZ,GAC5B,IAAIa,EAAoBH,EAAWE,KAAKD,EAAS,KAAOD,EAAWE,KAAKD,EAAS,KAAOD,EAAWE,KAAKD,EAAS,IACjH,GAAIE,IACHA,EAAoBA,EAAkB,IACE,IAApCA,EAAkBpT,QAAQ,MAC7B,IACCoT,EAAoBH,EAAWE,KAAKR,mBAAmBS,IAAoB,GAC1E,MAAOnS,GACR6E,EAAQoM,MAAMjR,GAIjB,OAAOmS,GAAqBL,EAKSM,CAAsBd,OAGxD,eAAe,CAInBH,qBAAqBC,SAAW,aAEhC,MAAMiB,EAAiBpI,SAASC,eAAe,sBAAsBoI,cAAc,mBAC/ED,IACHA,EAAetM,MAAMwM,QAAU,eAWzBpB,qBAAqBqB,iBAC5BrB,qBAAqBqB,kBAAmB,EAKxCrB,qBAAqBsB,YAAc,aAInCxI,SAASC,eAAe,UAAUwI,UAAU3I,IAAI,yBAEhDlF,EAAQoM,MAAM,oDAIoE,I","file":"files_pdfviewer-workersrc.js?v=f2a07eb63c4f83315f29","sourcesContent":["'use strict';\n\nvar objectAssign = require('object-assign');\n\n// compare and isBuffer taken from https://github.com/feross/buffer/blob/680e9e5e488f22aac27599a57dc844a6315928dd/index.js\n// original notice:\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\nfunction compare(a, b) {\n if (a === b) {\n return 0;\n }\n\n var x = a.length;\n var y = b.length;\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n\n if (x < y) {\n return -1;\n }\n if (y < x) {\n return 1;\n }\n return 0;\n}\nfunction isBuffer(b) {\n if (global.Buffer && typeof global.Buffer.isBuffer === 'function') {\n return global.Buffer.isBuffer(b);\n }\n return !!(b != null && b._isBuffer);\n}\n\n// based on node assert, original notice:\n// NB: The URL to the CommonJS spec is kept just for tradition.\n// node-assert has evolved a lot since then, both in API and behavior.\n\n// http://wiki.commonjs.org/wiki/Unit_Testing/1.0\n//\n// THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8!\n//\n// Originally from narwhal.js (http://narwhaljs.org)\n// Copyright (c) 2009 Thomas Robinson <280north.com>\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 BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n// ACTION 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\nvar util = require('util/');\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar pSlice = Array.prototype.slice;\nvar functionsHaveNames = (function () {\n return function foo() {}.name === 'foo';\n}());\nfunction pToString (obj) {\n return Object.prototype.toString.call(obj);\n}\nfunction isView(arrbuf) {\n if (isBuffer(arrbuf)) {\n return false;\n }\n if (typeof global.ArrayBuffer !== 'function') {\n return false;\n }\n if (typeof ArrayBuffer.isView === 'function') {\n return ArrayBuffer.isView(arrbuf);\n }\n if (!arrbuf) {\n return false;\n }\n if (arrbuf instanceof DataView) {\n return true;\n }\n if (arrbuf.buffer && arrbuf.buffer instanceof ArrayBuffer) {\n return true;\n }\n return false;\n}\n// 1. The assert module provides functions that throw\n// AssertionError's when particular conditions are not met. The\n// assert module must conform to the following interface.\n\nvar assert = module.exports = ok;\n\n// 2. The AssertionError is defined in assert.\n// new assert.AssertionError({ message: message,\n// actual: actual,\n// expected: expected })\n\nvar regex = /\\s*function\\s+([^\\(\\s]*)\\s*/;\n// based on https://github.com/ljharb/function.prototype.name/blob/adeeeec8bfcc6068b187d7d9fb3d5bb1d3a30899/implementation.js\nfunction getName(func) {\n if (!util.isFunction(func)) {\n return;\n }\n if (functionsHaveNames) {\n return func.name;\n }\n var str = func.toString();\n var match = str.match(regex);\n return match && match[1];\n}\nassert.AssertionError = function AssertionError(options) {\n this.name = 'AssertionError';\n this.actual = options.actual;\n this.expected = options.expected;\n this.operator = options.operator;\n if (options.message) {\n this.message = options.message;\n this.generatedMessage = false;\n } else {\n this.message = getMessage(this);\n this.generatedMessage = true;\n }\n var stackStartFunction = options.stackStartFunction || fail;\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, stackStartFunction);\n } else {\n // non v8 browsers so we can have a stacktrace\n var err = new Error();\n if (err.stack) {\n var out = err.stack;\n\n // try to strip useless frames\n var fn_name = getName(stackStartFunction);\n var idx = out.indexOf('\\n' + fn_name);\n if (idx >= 0) {\n // once we have located the function frame\n // we need to strip out everything before it (and its line)\n var next_line = out.indexOf('\\n', idx + 1);\n out = out.substring(next_line + 1);\n }\n\n this.stack = out;\n }\n }\n};\n\n// assert.AssertionError instanceof Error\nutil.inherits(assert.AssertionError, Error);\n\nfunction truncate(s, n) {\n if (typeof s === 'string') {\n return s.length < n ? s : s.slice(0, n);\n } else {\n return s;\n }\n}\nfunction inspect(something) {\n if (functionsHaveNames || !util.isFunction(something)) {\n return util.inspect(something);\n }\n var rawname = getName(something);\n var name = rawname ? ': ' + rawname : '';\n return '[Function' + name + ']';\n}\nfunction getMessage(self) {\n return truncate(inspect(self.actual), 128) + ' ' +\n self.operator + ' ' +\n truncate(inspect(self.expected), 128);\n}\n\n// At present only the three keys mentioned above are used and\n// understood by the spec. Implementations or sub modules can pass\n// other keys to the AssertionError's constructor - they will be\n// ignored.\n\n// 3. All of the following functions must throw an AssertionError\n// when a corresponding condition is not met, with a message that\n// may be undefined if not provided. All assertion methods provide\n// both the actual and expected values to the assertion error for\n// display purposes.\n\nfunction fail(actual, expected, message, operator, stackStartFunction) {\n throw new assert.AssertionError({\n message: message,\n actual: actual,\n expected: expected,\n operator: operator,\n stackStartFunction: stackStartFunction\n });\n}\n\n// EXTENSION! allows for well behaved errors defined elsewhere.\nassert.fail = fail;\n\n// 4. Pure assertion tests whether a value is truthy, as determined\n// by !!guard.\n// assert.ok(guard, message_opt);\n// This statement is equivalent to assert.equal(true, !!guard,\n// message_opt);. To test strictly for the value true, use\n// assert.strictEqual(true, guard, message_opt);.\n\nfunction ok(value, message) {\n if (!value) fail(value, true, message, '==', assert.ok);\n}\nassert.ok = ok;\n\n// 5. The equality assertion tests shallow, coercive equality with\n// ==.\n// assert.equal(actual, expected, message_opt);\n\nassert.equal = function equal(actual, expected, message) {\n if (actual != expected) fail(actual, expected, message, '==', assert.equal);\n};\n\n// 6. The non-equality assertion tests for whether two objects are not equal\n// with != assert.notEqual(actual, expected, message_opt);\n\nassert.notEqual = function notEqual(actual, expected, message) {\n if (actual == expected) {\n fail(actual, expected, message, '!=', assert.notEqual);\n }\n};\n\n// 7. The equivalence assertion tests a deep equality relation.\n// assert.deepEqual(actual, expected, message_opt);\n\nassert.deepEqual = function deepEqual(actual, expected, message) {\n if (!_deepEqual(actual, expected, false)) {\n fail(actual, expected, message, 'deepEqual', assert.deepEqual);\n }\n};\n\nassert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {\n if (!_deepEqual(actual, expected, true)) {\n fail(actual, expected, message, 'deepStrictEqual', assert.deepStrictEqual);\n }\n};\n\nfunction _deepEqual(actual, expected, strict, memos) {\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n } else if (isBuffer(actual) && isBuffer(expected)) {\n return compare(actual, expected) === 0;\n\n // 7.2. If the expected value is a Date object, the actual value is\n // equivalent if it is also a Date object that refers to the same time.\n } else if (util.isDate(actual) && util.isDate(expected)) {\n return actual.getTime() === expected.getTime();\n\n // 7.3 If the expected value is a RegExp object, the actual value is\n // equivalent if it is also a RegExp object with the same source and\n // properties (`global`, `multiline`, `lastIndex`, `ignoreCase`).\n } else if (util.isRegExp(actual) && util.isRegExp(expected)) {\n return actual.source === expected.source &&\n actual.global === expected.global &&\n actual.multiline === expected.multiline &&\n actual.lastIndex === expected.lastIndex &&\n actual.ignoreCase === expected.ignoreCase;\n\n // 7.4. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if ((actual === null || typeof actual !== 'object') &&\n (expected === null || typeof expected !== 'object')) {\n return strict ? actual === expected : actual == expected;\n\n // If both values are instances of typed arrays, wrap their underlying\n // ArrayBuffers in a Buffer each to increase performance\n // This optimization requires the arrays to have the same type as checked by\n // Object.prototype.toString (aka pToString). Never perform binary\n // comparisons for Float*Arrays, though, since e.g. +0 === -0 but their\n // bit patterns are not identical.\n } else if (isView(actual) && isView(expected) &&\n pToString(actual) === pToString(expected) &&\n !(actual instanceof Float32Array ||\n actual instanceof Float64Array)) {\n return compare(new Uint8Array(actual.buffer),\n new Uint8Array(expected.buffer)) === 0;\n\n // 7.5 For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else if (isBuffer(actual) !== isBuffer(expected)) {\n return false;\n } else {\n memos = memos || {actual: [], expected: []};\n\n var actualIndex = memos.actual.indexOf(actual);\n if (actualIndex !== -1) {\n if (actualIndex === memos.expected.indexOf(expected)) {\n return true;\n }\n }\n\n memos.actual.push(actual);\n memos.expected.push(expected);\n\n return objEquiv(actual, expected, strict, memos);\n }\n}\n\nfunction isArguments(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n}\n\nfunction objEquiv(a, b, strict, actualVisitedObjects) {\n if (a === null || a === undefined || b === null || b === undefined)\n return false;\n // if one is a primitive, the other must be same\n if (util.isPrimitive(a) || util.isPrimitive(b))\n return a === b;\n if (strict && Object.getPrototypeOf(a) !== Object.getPrototypeOf(b))\n return false;\n var aIsArgs = isArguments(a);\n var bIsArgs = isArguments(b);\n if ((aIsArgs && !bIsArgs) || (!aIsArgs && bIsArgs))\n return false;\n if (aIsArgs) {\n a = pSlice.call(a);\n b = pSlice.call(b);\n return _deepEqual(a, b, strict);\n }\n var ka = objectKeys(a);\n var kb = objectKeys(b);\n var key, i;\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length !== kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] !== kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!_deepEqual(a[key], b[key], strict, actualVisitedObjects))\n return false;\n }\n return true;\n}\n\n// 8. The non-equivalence assertion tests for any deep inequality.\n// assert.notDeepEqual(actual, expected, message_opt);\n\nassert.notDeepEqual = function notDeepEqual(actual, expected, message) {\n if (_deepEqual(actual, expected, false)) {\n fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual);\n }\n};\n\nassert.notDeepStrictEqual = notDeepStrictEqual;\nfunction notDeepStrictEqual(actual, expected, message) {\n if (_deepEqual(actual, expected, true)) {\n fail(actual, expected, message, 'notDeepStrictEqual', notDeepStrictEqual);\n }\n}\n\n\n// 9. The strict equality assertion tests strict equality, as determined by ===.\n// assert.strictEqual(actual, expected, message_opt);\n\nassert.strictEqual = function strictEqual(actual, expected, message) {\n if (actual !== expected) {\n fail(actual, expected, message, '===', assert.strictEqual);\n }\n};\n\n// 10. The strict non-equality assertion tests for strict inequality, as\n// determined by !==. assert.notStrictEqual(actual, expected, message_opt);\n\nassert.notStrictEqual = function notStrictEqual(actual, expected, message) {\n if (actual === expected) {\n fail(actual, expected, message, '!==', assert.notStrictEqual);\n }\n};\n\nfunction expectedException(actual, expected) {\n if (!actual || !expected) {\n return false;\n }\n\n if (Object.prototype.toString.call(expected) == '[object RegExp]') {\n return expected.test(actual);\n }\n\n try {\n if (actual instanceof expected) {\n return true;\n }\n } catch (e) {\n // Ignore. The instanceof check doesn't work for arrow functions.\n }\n\n if (Error.isPrototypeOf(expected)) {\n return false;\n }\n\n return expected.call({}, actual) === true;\n}\n\nfunction _tryBlock(block) {\n var error;\n try {\n block();\n } catch (e) {\n error = e;\n }\n return error;\n}\n\nfunction _throws(shouldThrow, block, expected, message) {\n var actual;\n\n if (typeof block !== 'function') {\n throw new TypeError('\"block\" argument must be a function');\n }\n\n if (typeof expected === 'string') {\n message = expected;\n expected = null;\n }\n\n actual = _tryBlock(block);\n\n message = (expected && expected.name ? ' (' + expected.name + ').' : '.') +\n (message ? ' ' + message : '.');\n\n if (shouldThrow && !actual) {\n fail(actual, expected, 'Missing expected exception' + message);\n }\n\n var userProvidedMessage = typeof message === 'string';\n var isUnwantedException = !shouldThrow && util.isError(actual);\n var isUnexpectedException = !shouldThrow && actual && !expected;\n\n if ((isUnwantedException &&\n userProvidedMessage &&\n expectedException(actual, expected)) ||\n isUnexpectedException) {\n fail(actual, expected, 'Got unwanted exception' + message);\n }\n\n if ((shouldThrow && actual && expected &&\n !expectedException(actual, expected)) || (!shouldThrow && actual)) {\n throw actual;\n }\n}\n\n// 11. Expected to throw an error:\n// assert.throws(block, Error_opt, message_opt);\n\nassert.throws = function(block, /*optional*/error, /*optional*/message) {\n _throws(true, block, error, message);\n};\n\n// EXTENSION! This is annoying to write outside this module.\nassert.doesNotThrow = function(block, /*optional*/error, /*optional*/message) {\n _throws(false, block, error, message);\n};\n\nassert.ifError = function(err) { if (err) throw err; };\n\n// Expose a strict only variant of assert\nfunction strict(value, message) {\n if (!value) fail(value, true, message, '==', strict);\n}\nassert.strict = objectAssign(strict, assert, {\n equal: assert.strictEqual,\n deepEqual: assert.deepStrictEqual,\n notEqual: assert.notStrictEqual,\n notDeepEqual: assert.notDeepStrictEqual\n});\nassert.strict.strict = assert.strict;\n\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) {\n if (hasOwn.call(obj, key)) keys.push(key);\n }\n return keys;\n};\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// 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 permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// 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\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n // Allow for deprecating things in the process of starting up.\n if (isUndefined(global.process)) {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n if (process.noDeprecation === true) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function(set) {\n if (isUndefined(debugEnviron))\n debugEnviron = process.env.NODE_DEBUG || '';\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n","\n/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nconst hideDownloadElmt = document.getElementById('hideDownload')\n// true = hidden download\nexport default () => !hideDownloadElmt || (hideDownloadElmt && hideDownloadElmt.value !== 'true')\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nexport default function() {\n\t// Not within iframe\n\tif (window.location !== window.parent.location) {\n\t\treturn\n\t}\n\n\twindow.location.href = '/'\n}\n","/*global window, global*/\nvar util = require(\"util\")\nvar assert = require(\"assert\")\nfunction now() { return new Date().getTime() }\n\nvar slice = Array.prototype.slice\nvar console\nvar times = {}\n\nif (typeof global !== \"undefined\" && global.console) {\n console = global.console\n} else if (typeof window !== \"undefined\" && window.console) {\n console = window.console\n} else {\n console = {}\n}\n\nvar functions = [\n [log, \"log\"],\n [info, \"info\"],\n [warn, \"warn\"],\n [error, \"error\"],\n [time, \"time\"],\n [timeEnd, \"timeEnd\"],\n [trace, \"trace\"],\n [dir, \"dir\"],\n [consoleAssert, \"assert\"]\n]\n\nfor (var i = 0; i < functions.length; i++) {\n var tuple = functions[i]\n var f = tuple[0]\n var name = tuple[1]\n\n if (!console[name]) {\n console[name] = f\n }\n}\n\nmodule.exports = console\n\nfunction log() {}\n\nfunction info() {\n console.log.apply(console, arguments)\n}\n\nfunction warn() {\n console.log.apply(console, arguments)\n}\n\nfunction error() {\n console.warn.apply(console, arguments)\n}\n\nfunction time(label) {\n times[label] = now()\n}\n\nfunction timeEnd(label) {\n var time = times[label]\n if (!time) {\n throw new Error(\"No such label: \" + label)\n }\n\n delete times[label]\n var duration = now() - time\n console.log(label + \": \" + duration + \"ms\")\n}\n\nfunction trace() {\n var err = new Error()\n err.name = \"Trace\"\n err.message = util.format.apply(null, arguments)\n console.error(err.stack)\n}\n\nfunction dir(object) {\n console.log(util.inspect(object) + \"\\n\")\n}\n\nfunction consoleAssert(expression) {\n if (!expression) {\n var arr = slice.call(arguments, 1)\n assert.ok(false, util.format.apply(null, arr))\n }\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// 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 permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// 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\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function(set) {\n if (isUndefined(debugEnviron))\n debugEnviron = process.env.NODE_DEBUG || '';\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb, null, ret) },\n function(rej) { process.nextTick(callbackifyOnRejected, rej, cb) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","\n/**\n * @copyright Copyright (c) 2020 Daniel Calviño Sánchez \n *\n * @author Daniel Calviño Sánchez \n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport canDownload from './utils/canDownload'\nimport redirectIfNotIframe from './utils/redirectIfNotIframe'\n\n/**\n * Checks if the page is displayed in an iframe. If not redirect to /.\n **/\nredirectIfNotIframe()\n\n// When \"PDFViewerApplication.webViewerInitialized\" is executed (once\n// \"PDFViewerApplication.initialize\" is done) it opens the PDF file via URL,\n// which requires the PDFViewerApplication to be properly configured, so the\n// custom initialization has to be executed before that. This can be done by\n// listening to the \"webviewerloaded\" event, which is emitted after\n// \"PDFViewerApplication\" and \"PDFViewerApplicationOptions\" are globally set and\n// before \"PDFViewerApplication.initialize\" is executed.\nfunction initializeCustomPDFViewerApplication() {\n\n\t// Preferences override options, so they must be disabled for\n\t// \"externalLinkTarget\" to take effect.\n\tPDFViewerApplicationOptions.set('disablePreferences', true)\n\tPDFViewerApplicationOptions.set('externalLinkTarget', pdfjsLib.LinkTarget.BLANK)\n\tPDFViewerApplicationOptions.set('isEvalSupported', false)\n\tPDFViewerApplicationOptions.set('workerSrc', document.getElementsByTagName('head')[0].getAttribute('data-workersrc'))\n\tPDFViewerApplicationOptions.set('cMapUrl', document.getElementsByTagName('head')[0].getAttribute('data-cmapurl'))\n\tPDFViewerApplicationOptions.set('enablePermissions', true)\n\n\tconsole.debug('Initialized files_pdfviewer', PDFViewerApplicationOptions.getAll())\n\n\t// The download has to be forced to use the URL of the file; by default\n\t// \"PDFViewerApplication.download\" uses a blob, but this causes a CSP error\n\t// (at least, in Firefox) when trying to download it.\n\tPDFViewerApplication.download = function() {\n\t\t// \"isDataSchema()\" and \"getPDFFileNameFromURL()\" are copied from\n\t\t// \"vendor/pdfjs/web/viewer.js\", as the functions defined in that file\n\t\t// can not be accessed from the outside.\n\t\tfunction isDataSchema(url) {\n\t\t\tlet i = 0\n\t\t\tconst ii = url.length\n\t\t\twhile (i < ii && url[i].trim() === '') {\n\t\t\t\ti++\n\t\t\t}\n\t\t\treturn url.substr(i, 5).toLowerCase() === 'data:'\n\t\t}\n\n\t\tfunction getPDFFileNameFromURL(url) {\n\t\t\tconst defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'document.pdf'\n\n\t\t\tif (isDataSchema(url)) {\n\t\t\t\tconsole.warn('getPDFFileNameFromURL: ' + 'ignoring \"data:\" URL for performance reasons.')\n\t\t\t\treturn defaultFilename\n\t\t\t}\n\t\t\tconst reURI = /^(?:(?:[^:]+:)?\\/\\/[^/]+)?([^?#]*)(\\?[^#]*)?(#.*)?$/\n\t\t\tconst reFilename = /[^/?#=]+\\.pdf\\b(?!.*\\.pdf\\b)/i\n\t\t\tconst splitURI = reURI.exec(url)\n\t\t\tlet suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3])\n\t\t\tif (suggestedFilename) {\n\t\t\t\tsuggestedFilename = suggestedFilename[0]\n\t\t\t\tif (suggestedFilename.indexOf('%') !== -1) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tsuggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0]\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\tconsole.debug(e)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn suggestedFilename || defaultFilename\n\t\t}\n\n\t\tconst url = decodeURIComponent(window.location.search.substr(6))\n\n\t\tthis.downloadManager.downloadUrl(url, getPDFFileNameFromURL(url))\n\t}\n\n\tif (!canDownload()) {\n\t\t// Disable download function when downloads are hidden, as even if the\n\t\t// buttons in the UI are hidden the download could still be triggered\n\t\t// with Ctrl|Meta+S.\n\t\tPDFViewerApplication.download = function() {\n\t\t}\n\t\tconst downloadButton = document.getElementById('toolbarViewerRight').querySelector('button.download')\n\t\tif (downloadButton) {\n\t\t\tdownloadButton.style.display = 'none'\n\t\t}\n\n\t\t// Disable printing service when downloads are hidden, as even if the\n\t\t// buttons in the UI are hidden the printing could still be triggered\n\t\t// with Ctrl|Meta+P.\n\t\t// Abuse the \"supportsPrinting\" parameter, which signals that the\n\t\t// browser does not fully support printing, to make PDFViewer disable\n\t\t// the printing service.\n\t\t// \"supportsPrinting\" is a getter function, so it needs to be deleted\n\t\t// before replacing it with a simple value.\n\t\tdelete PDFViewerApplication.supportsPrinting\n\t\tPDFViewerApplication.supportsPrinting = false\n\n\t\t// When printing is not supported a warning is shown by the default\n\t\t// \"beforePrint\" function when trying to print. That function needs to\n\t\t// be replaced with an empty one to prevent that warning to be shown.\n\t\tPDFViewerApplication.beforePrint = function() {\n\t\t}\n\n\t\t// For css properties\n\t\tdocument.getElementById('viewer').classList.add('disabledTextSelection')\n\n\t\tconsole.debug('Files_PDFViewer, download and print disabled')\n\t}\n}\n\ndocument.addEventListener('DOMContentLoaded', initializeCustomPDFViewerApplication, true)\n"],"sourceRoot":""} \ No newline at end of file diff --git a/src/workersrc.js b/src/workersrc.js index 98fda002..92bb2686 100644 --- a/src/workersrc.js +++ b/src/workersrc.js @@ -46,6 +46,7 @@ function initializeCustomPDFViewerApplication() { PDFViewerApplicationOptions.set('isEvalSupported', false) PDFViewerApplicationOptions.set('workerSrc', document.getElementsByTagName('head')[0].getAttribute('data-workersrc')) PDFViewerApplicationOptions.set('cMapUrl', document.getElementsByTagName('head')[0].getAttribute('data-cmapurl')) + PDFViewerApplicationOptions.set('enablePermissions', true) console.debug('Initialized files_pdfviewer', PDFViewerApplicationOptions.getAll())