/* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. GitHub Web Components Polyfill Add-on Copyright (c) 2020 JustOff. All rights reserved. Copyright (c) 2022 SeaHOH. All rights reserved. Element.prototype.toggleAttribute and Array.prototype.flat polyfills Copyright (c) 2005-2020 Mozilla and individual contributors. https://developer.mozilla.org/docs/Web/API/Element/toggleAttribute https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/flat Array.prototype.flatMap polyfill Copyright (c) 2017 Aluan Haddad. https://github.com/aluanhaddad/flat-map PerformanceObserver polyfill Copyright (c) 2020 Fastly, Inc. https://github.com/fastly/performance-observer-polyfill Promise.any polyfill Copyright (c) 2019, Andrea Giammarchi, @WebReflection https://github.com/ungap/promise-any Custom Elements polyfill Copyright (c) 2020 The Polymer Project Authors. All rights reserved. https://github.com/webcomponents/polyfills Node.prototype.getRootNode polyfill Copyright (c) 2016 Foobar HQ https://github.com/foobarhq/get-root-node-polyfill */ "use strict"; var Cc = Components.classes, Ci = Components.interfaces, Cu = Components.utils; Cu.import("resource://gre/modules/Services.jsm"); Cu.import("resource://gre/modules/XPCOMUtils.jsm"); const isSeaMonkey = Services.appinfo.name == "SeaMonkey"; const pfSeaMonkey = `(function(){ if (!Element.prototype.toggleAttribute) { Element.prototype.toggleAttribute = function(name, force) { if(force !== void 0) force = !!force if (this.hasAttribute(name)) { if (force) return true; this.removeAttribute(name); return false; } if (force === false) return false; this.setAttribute(name, ""); return true; }; } function flattenIntoArray(target, source, start, depth, mapperFunction, thisArg) { const mapperFunctionProvied = mapperFunction !== undefined; let targetIndex = start; let sourceIndex = 0; const sourceLen = source.length; while (sourceIndex < sourceLen) { const p = sourceIndex; const exists = !!source[p]; if (exists === true) { let element = source[p]; if (element) { if (mapperFunctionProvied) { element = mapperFunction.call(thisArg, element, sourceIndex, target); } const spreadable = Object.getOwnPropertySymbols(element).includes(Symbol.isConcatSpreadable) || Array.isArray(element); if (spreadable === true && depth > 0) { const nextIndex = flattenIntoArray(target, element, targetIndex, depth - 1); targetIndex = nextIndex; } else { if (!Number.isSafeInteger(targetIndex)) { throw TypeError(); } target[targetIndex] = element; } } } targetIndex += 1; sourceIndex += 1; } return targetIndex; } function arraySpeciesCreate(originalArray, length) { const isArray = Array.isArray(originalArray); if (!isArray) { return Array(length); } let C = Object.getPrototypeOf(originalArray).constructor; if (C) { if (typeof C === 'object' || typeof C === 'function') { C = C[Symbol.species.toString()]; C = C !== null ? C : undefined; } if (C === undefined) { return Array(length); } if (typeof C !== 'function') { throw TypeError('invalid constructor'); } const result = new C(length); return result; } } if (!Object.prototype.hasOwnProperty.call(Array.prototype, 'flatMap')) { Array.prototype.flatMap = function flatMap(callbackFn, thisArg) { const o = Object(this); if (!callbackFn || typeof callbackFn.call !== 'function') { throw TypeError('callbackFn must be callable.'); } const t = thisArg !== undefined ? thisArg : undefined; const a = arraySpeciesCreate(o, o.length); flattenIntoArray(a, o, 0, 1, callbackFn, t); return a.filter(x => x !== undefined, a); }; } if (!Array.prototype.flat) { Array.prototype.flat = function() { var depth = arguments[0]; depth = depth === undefined ? 1 : Math.floor(depth); if (depth < 1) return Array.prototype.slice.call(this); return (function flat(arr, depth) { var len = arr.length >>> 0; var flattened = []; var i = 0; while (i < len) { if (i in arr) { var el = arr[i]; if (Array.isArray(el) && depth > 0) flattened = flattened.concat(flat(el, depth - 1)); else flattened.push(el); } i++; } return flattened; })(this, depth); }; } String.prototype.matchAll === undefined && ( String.prototype.matchAll = function* matchAll(pattern) { let isRe = pattern instanceof RegExp, flags = "g", res = []; if (!isRe) // $()*+,-.?[\\]^{|} pattern = pattern.replace(/[\\x24\\x28-\\x2e\\x3f\\x5b-\\x5e\\x7b-\\x7d]/g, "\\\\$\\&"); else if (pattern.global) flags = pattern.flags; else flags += pattern.flags; pattern = new RegExp(pattern, flags); this.replace(pattern, function (...groups) { groups.input = groups.pop(); groups.index = groups.pop(); res.push(groups); return groups[0]; }); for (let m of res) yield m; }); }).call(this);`; const hashSeaMonkey = "'sha256-xGA1ERFngZ6AZtytK91CwXQ9toYwTIK/4yo4HWqgXTQ='"; const pfBase = `typeof queueMicrotask !== 'function' && (queueMicrotask = function(f) {setTimeout(f, 0)});(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t,r){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t0&&void 0!==arguments[0]?arguments[0]:{},r=t.registeredObservers,n=void 0===r?new Set:r,o=t.processedEntries,i=void 0===o?new Set:o,u=t.interval,s=void 0===u?100:u,c=t.context,a=void 0===c?self:c;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),p(this,"registeredObservers",void 0),p(this,"processedEntries",void 0),p(this,"interval",void 0),p(this,"intervalId",void 0),p(this,"context",void 0),this.registeredObservers=n,this.processedEntries=i,this.interval=s,this.context=a,this.intervalId=null}var t,r,n;return t=e,(r=[{key:"getNewEntries",value:function(){var e=this;return this.context.performance.getEntries().filter((function(t){return!e.processedEntries.has(t)}))}},{key:"getObserversForType",value:function(e,t){return Array.from(e).filter((function(e){return e.entryTypes.some((function(e){return e===t}))}))}},{key:"processBuffer",value:function(e){var t=Array.from(e.buffer),r=new l(t);e.buffer.clear(),t.length&&e.callback&&e.callback.call(void 0,r,e)}},{key:"processEntries",value:function(){var e=this;this.getNewEntries().forEach((function(t){var r=t.entryType;e.getObserversForType(e.registeredObservers,r).forEach((function(e){e.buffer.add(t)})),e.processedEntries.add(t)}));var t=function(){return e.registeredObservers.forEach(e.processBuffer)};"requestAnimationFrame"in this.context?this.context.requestAnimationFrame(t):this.context.setTimeout(t,0)}},{key:"add",value:function(e){this.registeredObservers.add(e),1===this.registeredObservers.size&&this.observe()}},{key:"remove",value:function(e){this.registeredObservers.delete(e),this.registeredObservers.size||this.disconnect()}},{key:"observe",value:function(){this.intervalId=this.context.setInterval(this.processEntries.bind(this),this.interval)}},{key:"disconnect",value:function(){this.intervalId=this.context.clearInterval(this.intervalId)}}])&&y(t.prototype,r),n&&y(t,n),e}()),k=function(){function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:P;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),b(this,"callback",void 0),b(this,"buffer",void 0),b(this,"entryTypes",[]),b(this,"taskQueue",void 0),this.callback=t,this.buffer=new Set,this.taskQueue=r}var t,r,n;return t=e,(r=[{key:"observe",value:function(e){if(!e)throw new Error(h);if(e.entryTypes&&e.type)throw new Error(m);var t;if(e.entryTypes)t=e.entryTypes;else{if(!e.type)throw new Error(h);t=[e.type]}var r=t.filter(w);r.length>0&&r.length!==t.length&&console.warn(O),r.length?(this.entryTypes=r,this.taskQueue.add(this)):console.warn(g)}},{key:"disconnect",value:function(){this.taskQueue.remove(this)}},{key:"takeRecords",value:function(){var e=Array.from(this.buffer);return new l(e)}}])&&v(t.prototype,r),n&&v(t,n),e}();b(k,"supportedEntryTypes",d);var E="PerformanceObserver"in self&&"function"==typeof PerformanceObserver?PerformanceObserver:k,j=self;j.PerformanceObserver||(j.PerformanceObserver=E)}])}).call(this);(function(){if(Element.prototype.replaceChildren===undefined){Element.prototype.replaceChildren=function(...nodesOrDOMStrings){while(this.lastChild){this.removeChild(this.lastChild)}if(nodesOrDOMStrings.length){this.append(...nodesOrDOMStrings)}}}}());if(!('any' in Promise && typeof Promise.any == 'function'))Promise.any = function($) {return new Promise(function (D, E, A, L) {A = []; L = $.map(function ($, i) {return Promise.resolve($).then(D, function (O) {return ((A[i] = O), --L) || E({errors: A});});}).length;});}`; const hashBase = "'sha256-Y97hZdvuJztaJyvPJfwpU8LImTg64KGz8oN2jC/bVMY='"; const pfFollowUp = `(function () { // Ensure config dom.getRootNode.enabled is "false", or it would not work correctly if (Node.prototype.getRootNode === undefined) { Node.prototype.getRootNode = function getRootNode(opt) { let composed = typeof opt === "object" && Boolean(opt.composed); return composed ? getShadowIncludingRoot(this) : getRoot(this); } function getShadowIncludingRoot(node) { let root = getRoot(node); while (isShadowRoot(root)) root = getRoot(root.host); return root; } function getRoot(node) { while (node.parentNode) node = node.parentNode; return node; } function isShadowRoot(node) { return node.nodeName === "#document-fragment" && node.constructor.name === "ShadowRoot"; } } if (window.ShadowRoot === undefined) { ShadowRoot = class ShadowRoot extends DocumentFragment { set innerHTML (html) { super.innerHTML = html; let tagName = this.host.localName, hh = c32(tagName); // flag "s" is broken in matchAll for (let [css] of html.matchAll(/