diff --git a/CHANGELOG.md b/CHANGELOG.md
index 24b8046..7e00b2f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 1.5.0 (August 9th, 2020)
+
+- Adds support for Rakuten affiliate links consent parameter
+
## 1.4.0 (July 14th, 2020)
- Updates Chorus to default to default "yes" to the request of "Has been notified of rights" clause of the CCPA
diff --git a/dist/data-privacy-compliance.js b/dist/data-privacy-compliance.js
index d7750cf..6771eac 100644
--- a/dist/data-privacy-compliance.js
+++ b/dist/data-privacy-compliance.js
@@ -2244,8 +2244,14 @@ var UsPrivacyStringAndAPIGenerator = /*#__PURE__*/function (_FrameworkBase) {
value: function useConfig(_ref) {
var window = _ref.window,
document = _ref.document;
- this.window = window;
- this.document = document;
+
+ if (window) {
+ this.window = window;
+ }
+
+ if (document) {
+ this.document = document;
+ }
}
}, {
key: "usPrivacyString",
@@ -2377,7 +2383,86 @@ var UsPrivacyStringAndAPIGenerator = /*#__PURE__*/function (_FrameworkBase) {
}(base);
var us_privacy_string_and_api_generator = UsPrivacyStringAndAPIGenerator;
-var frameworks = [ccpa_on_chorus, ccpa_from_us_privacy_string, us_privacy_string_and_api_generator];
+var RAKUTEN_CONSENT_PARAM = 'cnst';
+
+var RakutenConsentGenerator = /*#__PURE__*/function (_FrameworkBase) {
+ _inherits(RakutenConsentGenerator, _FrameworkBase);
+
+ var _super = _createSuper(RakutenConsentGenerator);
+
+ function RakutenConsentGenerator() {
+ var _this;
+
+ _classCallCheck(this, RakutenConsentGenerator);
+
+ _this = _super.call(this);
+ _this.document = document;
+ _this.rakutenLinkSelector = 'a[href^="https://click.linksynergy.com"]';
+ return _this;
+ }
+
+ _createClass(RakutenConsentGenerator, [{
+ key: "name",
+ value: function name() {
+ return 'RakutenConsentGenerator';
+ }
+ }, {
+ key: "isApplicable",
+ value: function isApplicable() {
+ // This generator depends on being able to generate a usPrivacyString
+ // this is checked when this Generator is being called, so load order isn't important
+ // since all the generators are loaded by the time they are being run
+ return this.document && this.privacyComplianceInstance.canGenerate('usPrivacyString');
+ }
+ }, {
+ key: "supportedGenerators",
+ value: function supportedGenerators() {
+ return ['addConsentParameterToCommerceLinks'];
+ }
+ }, {
+ key: "useConfig",
+ value: function useConfig(_ref) {
+ var document = _ref.document,
+ rakutenLinkSelector = _ref.rakutenLinkSelector;
+
+ if (document) {
+ this.document = document;
+ }
+
+ if (rakutenLinkSelector) {
+ this.rakutenLinkSelector = rakutenLinkSelector;
+ }
+ }
+ }, {
+ key: "addConsentParameterToCommerceLinks",
+ value: function addConsentParameterToCommerceLinks() {
+ var _this2 = this;
+
+ var callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function () {};
+ var usp;
+ this.privacyComplianceInstance.Generator.usPrivacyString(function (val) {
+ return usp = val;
+ });
+ var allRakutenLinks = Array.from(this.document.querySelectorAll(this.rakutenLinkSelector));
+ var rakutenLinksThatNeedConsentParams = allRakutenLinks.filter(function (link) {
+ var _link$href;
+
+ return !((_link$href = link.href) === null || _link$href === void 0 ? void 0 : _link$href.includes(RAKUTEN_CONSENT_PARAM + '='));
+ });
+ rakutenLinksThatNeedConsentParams.forEach(function (link) {
+ _this2.log('Adding rakuten consent parameter to a link', link.href, usp);
+
+ link.href += link.href.includes('?') ? '&' : '?' + "".concat(RAKUTEN_CONSENT_PARAM, "=c").concat(usp);
+ });
+ callback(rakutenLinksThatNeedConsentParams, this);
+ }
+ }]);
+
+ return RakutenConsentGenerator;
+}(base);
+
+var rakuten_consent_generator = RakutenConsentGenerator;
+var frameworks = [ccpa_on_chorus, ccpa_from_us_privacy_string, us_privacy_string_and_api_generator, rakuten_consent_generator];
/*
* Copyright 2016 Google Inc. All rights reserved.
*
@@ -2779,6 +2864,7 @@ var PrivacyCompliance = /*#__PURE__*/function () {
key: "reset",
// For use with testing only
value: function reset() {
+ this.log("Reset called. Removing ".concat(this.frameworks.length, " framework(s)"));
this.frameworks = [];
this.supportedCapabilities = new Set();
this.supportedGenerators = new Set();
diff --git a/dist/data-privacy-compliance.js.map b/dist/data-privacy-compliance.js.map
index 4c99195..7f9d833 100644
--- a/dist/data-privacy-compliance.js.map
+++ b/dist/data-privacy-compliance.js.map
@@ -1 +1 @@
-{"version":3,"file":"data-privacy-compliance.js","sources":["../node_modules/core-js/modules/_object-pie.js","../node_modules/core-js/modules/_property-desc.js","../node_modules/core-js/modules/_cof.js","../node_modules/core-js/modules/_iobject.js","../node_modules/core-js/modules/_defined.js","../node_modules/core-js/modules/_to-iobject.js","../node_modules/core-js/modules/_is-object.js","../node_modules/core-js/modules/_to-primitive.js","../node_modules/core-js/modules/_has.js","../node_modules/core-js/modules/_fails.js","../node_modules/core-js/modules/_descriptors.js","../node_modules/core-js/modules/_global.js","../node_modules/core-js/modules/_dom-create.js","../node_modules/core-js/modules/_ie8-dom-define.js","../node_modules/core-js/modules/_object-gopd.js","../node_modules/core-js/modules/_to-object.js","../node_modules/core-js/modules/_core.js","../node_modules/core-js/modules/_shared.js","../node_modules/core-js/modules/_uid.js","../node_modules/core-js/modules/_shared-key.js","../node_modules/core-js/modules/_object-gpo.js","../node_modules/core-js/modules/_an-object.js","../node_modules/core-js/modules/_object-dp.js","../node_modules/core-js/modules/_hide.js","../node_modules/core-js/modules/_function-to-string.js","../node_modules/core-js/modules/_redefine.js","../node_modules/core-js/modules/_a-function.js","../node_modules/core-js/modules/_ctx.js","../node_modules/core-js/modules/_export.js","../node_modules/core-js/modules/es6.reflect.get.js","../node_modules/core-js/modules/es6.reflect.has.js","../node_modules/core-js/modules/_iter-call.js","../node_modules/core-js/modules/_iterators.js","../node_modules/core-js/modules/_wks.js","../node_modules/core-js/modules/_is-array-iter.js","../node_modules/core-js/modules/_to-integer.js","../node_modules/core-js/modules/_to-length.js","../node_modules/core-js/modules/_create-property.js","../node_modules/core-js/modules/_classof.js","../node_modules/core-js/modules/core.get-iterator-method.js","../node_modules/core-js/modules/_iter-detect.js","../node_modules/core-js/modules/es6.array.from.js","../node_modules/core-js/modules/es6.function.name.js","../node_modules/core-js/modules/_add-to-unscopables.js","../node_modules/core-js/modules/_iter-step.js","../node_modules/core-js/modules/_to-absolute-index.js","../node_modules/core-js/modules/_array-includes.js","../node_modules/core-js/modules/_object-keys-internal.js","../node_modules/core-js/modules/_enum-bug-keys.js","../node_modules/core-js/modules/_object-keys.js","../node_modules/core-js/modules/_object-dps.js","../node_modules/core-js/modules/_html.js","../node_modules/core-js/modules/_object-create.js","../node_modules/core-js/modules/_set-to-string-tag.js","../node_modules/core-js/modules/_iter-create.js","../node_modules/core-js/modules/_iter-define.js","../node_modules/core-js/modules/es6.array.iterator.js","../node_modules/core-js/modules/web.dom.iterable.js","../node_modules/core-js/modules/es6.object.to-string.js","../node_modules/core-js/modules/_string-at.js","../node_modules/core-js/modules/es6.string.iterator.js","../node_modules/core-js/modules/_redefine-all.js","../node_modules/core-js/modules/_an-instance.js","../node_modules/core-js/modules/_for-of.js","../node_modules/core-js/modules/_set-species.js","../node_modules/core-js/modules/_meta.js","../node_modules/core-js/modules/_validate-collection.js","../node_modules/core-js/modules/_collection-strong.js","../node_modules/core-js/modules/_set-proto.js","../node_modules/core-js/modules/_inherit-if-required.js","../node_modules/core-js/modules/_collection.js","../node_modules/core-js/modules/es6.set.js","../node_modules/core-js/modules/_is-regexp.js","../node_modules/core-js/modules/_species-constructor.js","../node_modules/core-js/modules/_advance-string-index.js","../node_modules/core-js/modules/_regexp-exec-abstract.js","../node_modules/core-js/modules/_flags.js","../node_modules/core-js/modules/_regexp-exec.js","../node_modules/core-js/modules/es6.regexp.exec.js","../node_modules/core-js/modules/_fix-re-wks.js","../node_modules/core-js/modules/es6.regexp.split.js","../node_modules/core-js/modules/es6.map.js","../src/lib/cookie.js","../node_modules/core-js/modules/es7.array.includes.js","../node_modules/core-js/modules/_string-context.js","../node_modules/core-js/modules/_fails-is-regexp.js","../node_modules/core-js/modules/es6.string.includes.js","../src/frameworks/base.js","../src/frameworks/ccpa_on_chorus.js","../src/frameworks/ccpa_from_us_privacy_string.js","../src/frameworks/us_privacy_string_and_api_generator.js","../src/frameworks/index.js","../node_modules/proxy-polyfill/src/proxy.js","../node_modules/proxy-polyfill/src/index.js","../src/privacy_compliance.js","../src/index.js"],"sourcesContent":["exports.f = {}.propertyIsEnumerable;\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","var core = module.exports = { version: '2.6.11' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar $toString = require('./_function-to-string');\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\n\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var desc, proto;\n if (anObject(target) === receiver) return target[propertyKey];\n if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')\n ? desc.value\n : desc.get !== undefined\n ? desc.get.call(receiver)\n : undefined;\n if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', { get: get });\n","// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {\n has: function has(target, propertyKey) {\n return propertyKey in target;\n }\n});\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","module.exports = {};\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","var dP = require('./_object-dp').f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function () {\n try {\n return ('' + this).match(nameRE)[1];\n } catch (e) {\n return '';\n }\n }\n});\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var $iterators = require('./es6.array.iterator');\nvar getKeys = require('./_object-keys');\nvar redefine = require('./_redefine');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar wks = require('./_wks');\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof');\nvar test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n require('./_redefine')(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","var redefine = require('./_redefine');\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","var isObject = require('./_is-object');\nvar setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n } return that;\n};\n","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar redefineAll = require('./_redefine-all');\nvar meta = require('./_meta');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar $iterDetect = require('./_iter-detect');\nvar setToStringTag = require('./_set-to-string-tag');\nvar inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n var fixMethod = function (KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n // weak collections should not contains .clear method\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')(SET, function (get) {\n return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object');\nvar cof = require('./_cof');\nvar MATCH = require('./_wks')('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","'use strict';\n\nvar classof = require('./_classof');\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw new TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n if (classof(R) !== 'RegExp') {\n throw new TypeError('RegExp#exec called on incompatible receiver');\n }\n return builtinExec.call(R, S);\n};\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\n\nvar regexpFlags = require('./_flags');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/,\n re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n // eslint-disable-next-line no-loop-func\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar regexpExec = require('./_regexp-exec');\nrequire('./_export')({\n target: 'RegExp',\n proto: true,\n forced: regexpExec !== /./.exec\n}, {\n exec: regexpExec\n});\n","'use strict';\nrequire('./es6.regexp.exec');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\nvar regexpExec = require('./_regexp-exec');\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\n\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n","'use strict';\n\nvar isRegExp = require('./_is-regexp');\nvar anObject = require('./_an-object');\nvar speciesConstructor = require('./_species-constructor');\nvar advanceStringIndex = require('./_advance-string-index');\nvar toLength = require('./_to-length');\nvar callRegExpExec = require('./_regexp-exec-abstract');\nvar regexpExec = require('./_regexp-exec');\nvar fails = require('./_fails');\nvar $min = Math.min;\nvar $push = [].push;\nvar $SPLIT = 'split';\nvar LENGTH = 'length';\nvar LAST_INDEX = 'lastIndex';\nvar MAX_UINT32 = 0xffffffff;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nrequire('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(this);\n if (separator === undefined && limit === 0) return [];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) return $split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? MAX_UINT32 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy[LAST_INDEX];\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if (output[LENGTH] >= splitLimit) break;\n }\n if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if (lastLastIndex === string[LENGTH]) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);\n };\n } else {\n internalSplit = $split;\n }\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = defined(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n});\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n","/**\n * Gets all the cookies as a Map\n *\n * @returns Map of cookie values\n */\nfunction getAllCookies() {\n return new Map(document.cookie.split(';').map(cookie => cookie.trim().split('=')));\n}\n\n/**\n * Checks if cookie exists\n *\n * @param {String} name name of cookie\n * @return {Boolean} true of cookie is present\n */\nfunction hasCookie(name) {\n return getAllCookies().has(name);\n}\n\n/**\n * Gets the cookie value\n *\n * @param {String} name name of cookie\n * @return {String} the value of the cookie\n */\nfunction getCookie(name) {\n return getAllCookies().get(name);\n}\n\nmodule.exports = {\n getAllCookies,\n hasCookie,\n getCookie,\n};\n","'use strict';\n// https://github.com/tc39/Array.prototype.includes\nvar $export = require('./_export');\nvar $includes = require('./_array-includes')(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\nrequire('./_add-to-unscopables')('includes');\n","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n","var MATCH = require('./_wks')('match');\nmodule.exports = function (KEY) {\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) { /* empty */ }\n } return true;\n};\n","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export');\nvar context = require('./_string-context');\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","class FrameworkBase {\n constructor() {\n this.privacyComplianceInstance = null;\n }\n\n static isAutoLoaded() {\n return true;\n }\n\n name() {\n return 'FrameworkBase';\n }\n\n isApplicable() {\n return true;\n }\n\n useConfig(someConfigs = {}) {}\n\n supportedCapabilities() {\n return [];\n }\n\n supportedGenerators() {\n return [];\n }\n\n canAnswerCapability(capability) {\n return this.supportedCapabilities().includes(capability);\n }\n\n canGenerate(ability) {\n return this.supportedGenerators().includes(ability);\n }\n\n setPrivacyComplianceInstance(pc) {\n this.privacyComplianceInstance = pc;\n }\n\n log(...args) {\n this.privacyComplianceInstance && this.privacyComplianceInstance.log(`[${this.name()}]`, ...args);\n }\n}\n\nmodule.exports = FrameworkBase;\n","const Cookie = require('../lib/cookie');\nconst FrameworkBase = require('./base');\n\nclass CcpaOnChorus extends FrameworkBase {\n name() {\n return 'CcpaOnChorus';\n }\n\n isApplicable() {\n return !!window && !!window.Chorus;\n }\n\n supportedCapabilities() {\n return ['canUsePersonalInformationForTargeting', 'hasBeenNotifiedOfRights', 'isLSPACoveredTransaction'];\n }\n\n canUsePersonalInformationForTargeting() {\n return !Cookie.hasCookie('_chorus_ccpa_consent_donotsell');\n }\n\n hasBeenNotifiedOfRights() {\n // see https://voxmedia.slack.com/archives/CPJDM3CCU/p1594741208106400\n return true;\n }\n\n isLSPACoveredTransaction() {\n return true;\n }\n}\n\nmodule.exports = CcpaOnChorus;\n","const FrameworkBase = require('./base');\n\n/**\n * Implements usprivacy string framework\n * for more information on the US Privacy string see:\n * https://github.com/InteractiveAdvertisingBureau/USPrivacy/blob/master/CCPA/US%20Privacy%20String.md#us-privacy-string-format\n */\nclass CCPAFromUSPrivacyString extends FrameworkBase {\n constructor() {\n super();\n this.usPrivacyString = '';\n }\n\n name() {\n return 'CCPAFromUSPrivacyString';\n }\n\n useConfig({ usp }) {\n if (usp) {\n this.usPrivacyString = ('' + usp).toUpperCase();\n }\n }\n\n isApplicable() {\n return !!this.usPrivacyString;\n }\n\n supportedCapabilities() {\n return ['canUsePersonalInformationForTargeting', 'hasBeenNotifiedOfRights', 'isLSPACoveredTransaction'];\n }\n\n canUsePersonalInformationForTargeting() {\n return this.consentStringAllowsPersonalDataSale();\n }\n\n hasBeenNotifiedOfRights() {\n return this.consentStringAcknowledgesUserHasBeenNotifiedOfRights();\n }\n\n consentStringAllowsPersonalDataSale() {\n if (!this.supportedUsPrivacyStringVersion()) return true;\n if (!this.consentStringAcknowledgesUserHasBeenNotifiedOfRights()) return true;\n return this.usPrivacyString[2] !== 'Y';\n }\n\n isLSPACoveredTransaction() {\n return this.supportedUsPrivacyStringVersion() && this.usPrivacyString[3] === 'Y';\n }\n\n consentStringAcknowledgesUserHasBeenNotifiedOfRights() {\n return this.supportedUsPrivacyStringVersion() && this.usPrivacyString[1] === 'Y';\n }\n\n supportedUsPrivacyStringVersion() {\n return this.usPrivacyString.length === 4 && this.usPrivacyString[0] === '1';\n }\n}\n\nmodule.exports = CCPAFromUSPrivacyString;\n","const FrameworkBase = require('./base');\n\nconst US_PRIVACY_API_VERSION = 1;\n\n/**\n * Implements usprivacy string framework\n * for more information on the US Privacy string see:\n * https://github.com/InteractiveAdvertisingBureau/USPrivacy/blob/master/CCPA/US%20Privacy%20String.md#us-privacy-string-format\n */\nclass UsPrivacyStringAndAPIGenerator extends FrameworkBase {\n constructor() {\n super();\n this.window = window;\n this.document = document;\n }\n\n name() {\n return 'UsPrivacyStringAndAPIGenerator';\n }\n\n supportedGenerators() {\n return ['usPrivacyString', 'installPrivacyAPI'];\n }\n\n useConfig({ window, document }) {\n this.window = window;\n this.document = document;\n }\n\n usPrivacyString(callback = () => {}) {\n callback(this.buildUsPrivacyString(), this);\n }\n\n installPrivacyAPI(callback = () => {}) {\n this.window.__uspapi = this.handleUSPrivacyAPI.bind(this);\n this.createUspapiFrame();\n callback(true);\n }\n\n // Private methods ---------\n buildUsPrivacyString() {\n let usp = '' + US_PRIVACY_API_VERSION;\n usp += this.privacyComplianceInstance.hasBeenNotifiedOfRights() ? 'Y' : 'N';\n usp += this.privacyComplianceInstance.canUsePersonalInformationForTargeting() ? 'N' : 'Y';\n usp += this.privacyComplianceInstance.isLSPACoveredTransaction() ? 'Y' : 'N';\n return usp;\n }\n\n handleUSPrivacyAPI(command, version, callback) {\n if (typeof callback !== 'function') {\n throw `__uspapi: Expected ${callback} to be a function, received a ${typeof callback}`;\n }\n\n let canSuccessfullyAnswer = true;\n let usPrivacyDataString = `${US_PRIVACY_API_VERSION}---`;\n\n if (version !== US_PRIVACY_API_VERSION) {\n console.error(`__uspapi: Only able to handle version 1`);\n canSuccessfullyAnswer = false;\n }\n\n switch (command) {\n case 'getUSPData':\n usPrivacyDataString = this.buildUsPrivacyString();\n break;\n default:\n canSuccessfullyAnswer = false;\n console.error(`__uspapi: Unable to handle command '${command}'`);\n }\n\n this.log(\n `${canSuccessfullyAnswer ? 'Successfully' : 'Unsuccessfully'} handled CCPA privacy request ${usPrivacyDataString}`\n );\n\n callback(\n {\n uspString: usPrivacyDataString,\n version: US_PRIVACY_API_VERSION,\n },\n canSuccessfullyAnswer\n );\n }\n\n /**\n * Creates a top level iframe used to proxy messages between\n * frames and this implementation of the CCPA Compliance Framework\n *\n * It works by:\n * 1. Creating a specially named iframe\n * 2. Setting up an event listener on this frame\n * 3. This listener will proxy \"__uspapiCall\" messages to handleUSPrivacyAPI\n * 4. and post the message back to the sending frame.\n */\n createUspapiFrame() {\n this.log('Creating __uspapiLocator iframe');\n\n const frame = this.document.createElement('iframe');\n frame.setAttribute('name', '__uspapiLocator');\n frame.style.display = 'none';\n\n if (this.document.readyState === 'loading') {\n this.document.addEventListener('DOMContentLoaded', () => {\n this.document.body.appendChild(frame);\n this.setupIframeMessageProxyOn(frame);\n });\n } else {\n this.document.body.appendChild(frame);\n this.setupIframeMessageProxyOn(frame);\n }\n }\n\n /**\n * Will setup listener proxy on the iframe which... accomplish 2-4 from above\n *\n * 2. Setting up an event listener on this frame\n * 3. This listener will proxy \"__uspapiCall\" messages to handleUSPrivacyAPI\n * 4. and post the message back to the sending frame.\n *\n * @param {DOMElement} frame the iframe to setup the listener on\n */\n setupIframeMessageProxyOn(frame) {\n frame.contentWindow.addEventListener('message', event => {\n const messageData = event.data;\n\n if (messageData && messageData.__uspapiCall) {\n this.log('__uspapiLocator responding to message request');\n\n const uspapiCallParameters = messageData.__uspapiCall;\n const targetSource = event.source || window.top;\n const targetOrigin = event.origin || '*';\n\n this.handleUSPrivacyAPI(\n uspapiCallParameters.command,\n uspapiCallParameters.version,\n (uspData, wasSuccessful) => {\n targetSource.postMessage(\n {\n __uspapiReturn: {\n returnValue: uspData,\n success: wasSuccessful,\n callId: uspapiCallParameters.callId,\n },\n },\n targetOrigin\n );\n }\n );\n }\n });\n }\n}\n\nmodule.exports = UsPrivacyStringAndAPIGenerator;\n","const CcpaOnChorus = require('./ccpa_on_chorus');\nconst CcpaFromUsPrivacyString = require('./ccpa_from_us_privacy_string');\nconst UsPrivacyStringAndAPIGenerator = require('./us_privacy_string_and_api_generator');\n\nmodule.exports = [CcpaOnChorus, CcpaFromUsPrivacyString, UsPrivacyStringAndAPIGenerator];\n","/*\n * Copyright 2016 Google Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not\n * use this file except in compliance with the License. You may obtain a copy of\n * the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations under\n * the License.\n */\n\nmodule.exports = function proxyPolyfill() {\n let lastRevokeFn = null;\n let ProxyPolyfill;\n\n /**\n * @param {*} o\n * @return {boolean} whether this is probably a (non-null) Object\n */\n function isObject(o) {\n return o ? (typeof o === 'object' || typeof o === 'function') : false;\n }\n\n function validateProto(proto) {\n if (proto !== null && !isObject(proto)) {\n throw new TypeError('Object prototype may only be an Object or null: ' + proto);\n }\n }\n\n const $Object = Object;\n\n // Closure assumes that `{__proto__: null} instanceof Object` is always true, hence why we check against a different name.\n const canCreateNullProtoObjects = Boolean($Object.create) || !({ __proto__: null } instanceof $Object);\n const objectCreate =\n $Object.create ||\n (canCreateNullProtoObjects\n ? function create(proto) {\n validateProto(proto);\n return { __proto__: proto };\n }\n : function create(proto) {\n validateProto(proto);\n if (proto === null) {\n throw new SyntaxError('Native Object.create is required to create objects with null prototype');\n }\n\n // nb. cast to convince Closure compiler that this is a constructor\n var T = /** @type {!Function} */ (function T() {});\n T.prototype = proto;\n return new T();\n });\n\n const noop = function() { return null; };\n\n const getProto =\n $Object.getPrototypeOf ||\n ([].__proto__ === Array.prototype\n ? function getPrototypeOf(O) {\n // If O.[[Prototype]] === null, then the __proto__ accessor won't exist,\n // as it's inherited from `Object.prototype`\n const proto = O.__proto__;\n return isObject(proto) ? proto : null;\n }\n : noop);\n\n /**\n * @constructor\n * @param {!Object} target\n * @param {{apply, construct, get, set}} handler\n */\n ProxyPolyfill = function(target, handler) {\n const newTarget = this && this instanceof ProxyPolyfill ? this.constructor : undefined;\n if (newTarget === undefined) {\n throw new TypeError(\"Constructor Proxy requires 'new'\");\n }\n\n if (!isObject(target) || !isObject(handler)) {\n throw new TypeError('Cannot create proxy with a non-object as target or handler');\n }\n\n // Construct revoke function, and set lastRevokeFn so that Proxy.revocable can steal it.\n // The caller might get the wrong revoke function if a user replaces or wraps scope.Proxy\n // to call itself, but that seems unlikely especially when using the polyfill.\n let throwRevoked = function() {};\n lastRevokeFn = function() {\n /** @suppress {checkTypes} */\n target = null; // clear ref\n throwRevoked = function(trap) {\n throw new TypeError(`Cannot perform '${trap}' on a proxy that has been revoked`);\n };\n };\n setTimeout(function() {\n lastRevokeFn = null;\n }, 0);\n\n // Fail on unsupported traps: Chrome doesn't do this, but ensure that users of the polyfill\n // are a bit more careful. Copy the internal parts of handler to prevent user changes.\n const unsafeHandler = handler;\n handler = { 'get': null, 'set': null, 'apply': null, 'construct': null };\n for (let k in unsafeHandler) {\n if (!(k in handler)) {\n throw new TypeError(`Proxy polyfill does not support trap '${k}'`);\n }\n handler[k] = unsafeHandler[k];\n }\n if (typeof unsafeHandler === 'function') {\n // Allow handler to be a function (which has an 'apply' method). This matches what is\n // probably a bug in native versions. It treats the apply call as a trap to be configured.\n handler.apply = unsafeHandler.apply.bind(unsafeHandler);\n }\n\n // Define proxy as an object that extends target.[[Prototype]],\n // or a Function (if either it's callable, or apply is set).\n const proto = getProto(target); // can return null in old browsers\n let proxy;\n let isMethod = false;\n let isArray = false;\n if (typeof target === 'function') {\n proxy = function ProxyPolyfill() {\n const usingNew = (this && this.constructor === proxy);\n const args = Array.prototype.slice.call(arguments);\n throwRevoked(usingNew ? 'construct' : 'apply');\n\n // TODO(samthor): Closure compiler doesn't know about 'construct', attempts to rename it.\n if (usingNew && handler['construct']) {\n return handler['construct'].call(this, target, args);\n } else if (!usingNew && handler.apply) {\n return handler['apply'](target, this, args);\n }\n\n // since the target was a function, fallback to calling it directly.\n if (usingNew) {\n // inspired by answers to https://stackoverflow.com/q/1606797\n args.unshift(target); // pass class as first arg to constructor, although irrelevant\n // nb. cast to convince Closure compiler that this is a constructor\n const f = /** @type {!Function} */ (target.bind.apply(target, args));\n return new f();\n }\n return target.apply(this, args);\n };\n isMethod = true;\n } else if (target instanceof Array) {\n proxy = [];\n isArray = true;\n } else {\n proxy = (canCreateNullProtoObjects || proto !== null) ? objectCreate(proto) : {};\n }\n\n // Create default getters/setters. Create different code paths as handler.get/handler.set can't\n // change after creation.\n const getter = handler.get ? function(prop) {\n throwRevoked('get');\n return handler.get(this, prop, proxy);\n } : function(prop) {\n throwRevoked('get');\n return this[prop];\n };\n const setter = handler.set ? function(prop, value) {\n throwRevoked('set');\n const status = handler.set(this, prop, value, proxy);\n // TODO(samthor): If the calling code is in strict mode, throw TypeError.\n // if (!status) {\n // It's (sometimes) possible to work this out, if this code isn't strict- try to load the\n // callee, and if it's available, that code is non-strict. However, this isn't exhaustive.\n // }\n } : function(prop, value) {\n throwRevoked('set');\n this[prop] = value;\n };\n\n // Clone direct properties (i.e., not part of a prototype).\n const propertyNames = $Object.getOwnPropertyNames(target);\n const propertyMap = {};\n propertyNames.forEach(function(prop) {\n if ((isMethod || isArray) && prop in proxy) {\n return; // ignore properties already here, e.g. 'bind', 'prototype' etc\n }\n const real = $Object.getOwnPropertyDescriptor(target, prop);\n const desc = {\n enumerable: Boolean(real.enumerable),\n get: getter.bind(target, prop),\n set: setter.bind(target, prop),\n };\n $Object.defineProperty(proxy, prop, desc);\n propertyMap[prop] = true;\n });\n\n // Set the prototype, or clone all prototype methods (always required if a getter is provided).\n // TODO(samthor): We don't allow prototype methods to be set. It's (even more) awkward.\n // An alternative here would be to _just_ clone methods to keep behavior consistent.\n let prototypeOk = true;\n if (isMethod || isArray) {\n // Arrays and methods are special: above, we instantiate boring versions of these then swap\n // our their prototype later. So we only need to use setPrototypeOf in these cases. Some old\n // engines support `Object.getPrototypeOf` but not `Object.setPrototypeOf`.\n const setProto =\n $Object.setPrototypeOf ||\n ([].__proto__ === Array.prototype\n ? function setPrototypeOf(O, proto) {\n validateProto(proto);\n O.__proto__ = proto;\n return O;\n }\n : noop);\n if (!(proto && setProto(proxy, proto))) {\n prototypeOk = false;\n }\n }\n if (handler.get || !prototypeOk) {\n for (let k in target) {\n if (propertyMap[k]) {\n continue;\n }\n $Object.defineProperty(proxy, k, { get: getter.bind(target, k) });\n }\n }\n\n // The Proxy polyfill cannot handle adding new properties. Seal the target and proxy.\n $Object.seal(target);\n $Object.seal(proxy);\n\n return proxy; // nb. if isMethod is true, proxy != this\n };\n\n ProxyPolyfill.revocable = function(target, handler) {\n const p = new ProxyPolyfill(target, handler);\n return { 'proxy': p, 'revoke': lastRevokeFn };\n };\n\n return ProxyPolyfill;\n}\n","/*\n * Copyright 2018 Google Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not\n * use this file except in compliance with the License. You may obtain a copy of\n * the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations under\n * the License.\n */\n\n'use strict';\n\n(function (scope) {\n if (scope['Proxy']) {\n return;\n }\n scope.Proxy = require('./proxy.js')();\n scope.Proxy['revocable'] = scope.Proxy.revocable;\n})(\n ('undefined' !== typeof process && '[object process]' === {}.toString.call(process)) ||\n ('undefined' !== typeof navigator && navigator.product === 'ReactNative')\n ? global\n : self\n);\n","const frameworks = require('./frameworks');\nrequire('proxy-polyfill');\n\n/**\n * The public Privacy Compliance class, which is exported as a singleton\n *\n * Responsible for managing frameworks and proxying requests to related\n * frameworks.\n *\n * Note: This uses Proxy() to support introspection of method calls\n * to make it look like this class has a lot more functions\n * than it really does\n */\nclass PrivacyCompliance {\n constructor() {\n this.frameworks = [];\n this.supportedCapabilities = new Set();\n this.supportedGenerators = new Set();\n this.logEntries = [];\n this.logger = (...args) => {\n this.logEntries.push(args);\n };\n }\n\n /**\n * useConfig is a convenient way to pass configuration values to all frameworks.\n * When a useConfig is called, every loaded framework will have their own\n * useConfig methods called.\n *\n * The ideal pattern is to use keys to type the configs, for example:\n * PrivacyCompliance.useConfig({\n * usp: \"1TFT\"\n * })\n * Which could signal to any listening capabiltiy-frameworks to use the new\n * US Privacy String\n *\n * @param {Object} someConfigs any config to share with all frameworks\n */\n useConfig(someConfigs) {\n this.frameworks.forEach(f => f.useConfig(someConfigs));\n }\n\n /**\n * Allows this libraries internal logs to be accessible to including libraries.\n * The default is to also insert any missed logs. Because this is setup as a singleton,\n * it is easy to miss the initial setup logs, that happened, before a logger was setup.\n *\n * @param {Function} logFunction to be called everytime a new log entry is generated\n * @param {Boolean} relogMissedEntries when true will relog missed entries from before the logger was wired up\n */\n useLogger(logFunction, relogMissedEntries = true) {\n this.logger = logFunction;\n if (relogMissedEntries) {\n this.logEntries.forEach(entry => this.log(...entry));\n }\n }\n\n addFramework(frameworkInstance) {\n this.log('Adding new framework: ', frameworkInstance.name());\n frameworkInstance.setPrivacyComplianceInstance(privacyComplianceSingleton);\n this.frameworks.push(frameworkInstance);\n frameworkInstance.supportedCapabilities().forEach(c => this.supportedCapabilities.add(c));\n frameworkInstance.supportedGenerators().forEach(c => this.supportedGenerators.add(c));\n }\n\n /**\n * Checks if a given Capability (as a string) can be answered by the loaded\n * frameworks.\n *\n * Caution: not all frameworks will be applicable and able to\n * answer this capability for all environments.\n *\n * @param {String} capability the method name of the capability\n * @returns Boolean true if the capability can be answered\n */\n hasFrameworkLoadedToAnswerCapability(capability) {\n return this.supportedCapabilities.has(capability);\n }\n\n canGenerate(ability) {\n return this.supportedGenerators.has(ability);\n }\n\n /**\n * Returns a list of applicable frameworks for this environment.\n */\n applicableFrameworks() {\n return this.frameworks.filter(f => f.isApplicable());\n }\n\n log(...args) {\n this.logger(...args);\n }\n\n get Generator() {\n return new Proxy(this, {\n get: (privacyComplianceInstance, property) => {\n return privacyComplianceInstance.proxyToFrameworkGenerators(property);\n },\n });\n }\n\n // For use with testing only\n reset() {\n this.frameworks = [];\n this.supportedCapabilities = new Set();\n this.supportedGenerators = new Set();\n }\n\n /**\n * This method will take a string, translate it into a method and call it\n * on the added frameworks. If all applicable frameworks support this capability\n * then it will return true, if not it will be false.\n *\n * @param {String} methodName the name of methods to call on the base frameworks\n * @return Boolean if all the frameworks permit this\n */\n proxyToFrameworks(methodName) {\n try {\n return this.frameworks\n .filter(f => f.isApplicable())\n .filter(f => f.canAnswerCapability(methodName))\n .map(f => {\n this.log(f.name() + ' answering: ' + methodName);\n return f;\n })\n .map(f => f[methodName].call(f))\n .every(result => !!result);\n } catch (e) {\n console.error(`There was an error calling ${methodName} - ${e}`);\n }\n }\n\n /**\n * This method will take a string, translate it into a method and call it\n * on the added frameworks. If all applicable frameworks support this generator\n * then it will be called, with the given passback.\n *\n * Note this is a little more complex than capabilities, because like capabilities\n * multiple frameworks can be called for this generator, and there is no convenient way\n * to collect those responses, so instead it takes a callback that will be executed for\n * every generator run.\n *\n * @param {String} methodName the name of methods to call on the base frameworks\n * @returns {Function} the function to execute, with callback of the generators response\n */\n proxyToFrameworkGenerators(methodName) {\n if (this.canGenerate(methodName)) {\n return (callback = () => {}) => {\n try {\n this.frameworks\n .filter(f => f.isApplicable())\n .filter(f => f.canGenerate(methodName))\n .forEach(f => f[methodName].call(f, callback));\n } catch (e) {\n console.error(`There was an error calling ${methodName} - ${e}`);\n }\n };\n } else {\n this.throwUnsupportedError(methodName);\n }\n }\n\n throwUnsupportedError(method) {\n throw new TypeError(\n `Can not call '${method}'. It is not found in the loaded frameworks. Supported capabilities: ${Array.from(\n this.supportedCapabilities\n ).join(', ')}`\n );\n }\n\n /**\n * This uses a modern Proxy() object to support arbitrary missing methods\n * which allows the frameworks to declare their own capability methods without\n * needing to add those to this class.\n */\n\n applyProxy() {\n return new Proxy(this, {\n get: (privacyComplianceInstance, property) => {\n if (Reflect.has(privacyComplianceInstance, property)) {\n return Reflect.get(privacyComplianceInstance, property);\n } else if (privacyComplianceInstance.hasFrameworkLoadedToAnswerCapability(property)) {\n return () => {\n return privacyComplianceInstance.proxyToFrameworks(property);\n };\n } else {\n privacyComplianceInstance.throwUnsupportedError(property);\n }\n },\n });\n }\n}\n\nconst privacyComplianceSingleton = new PrivacyCompliance().applyProxy();\n\n// Autoload all of the auto-loaded frameworks\nframeworks\n .filter(f => f.isAutoLoaded())\n .forEach(f => {\n privacyComplianceSingleton.addFramework(new f());\n });\n\nmodule.exports = privacyComplianceSingleton;\n","const PrivacyCompliance = require('./privacy_compliance');\n\nmodule.exports = {\n PrivacyCompliance,\n};\n"],"names":["propertyIsEnumerable","bitmap","value","enumerable","configurable","writable","toString","it","call","slice","Object","cof","split","undefined","TypeError","IObject","defined","S","isObject","fn","val","valueOf","hasOwnProperty","key","exec","e","require$$0","defineProperty","get","a","global","module","window","Math","self","Function","__g","document","is","createElement","require$$1","require$$2","gOPD","getOwnPropertyDescriptor","O","P","toIObject","toPrimitive","IE8_DOM_DEFINE","has","createDesc","pIE","f","core","version","__e","SHARED","store","push","mode","copyright","id","px","random","concat","shared","uid","IE_PROTO","ObjectProto","prototype","getPrototypeOf","toObject","constructor","dP","Attributes","anObject","object","SRC","TO_STRING","TPL","$toString","inspectSource","safe","isFunction","hide","join","String","that","length","aFunction","b","c","apply","arguments","PROTOTYPE","$export","type","name","source","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","IS_PROTO","IS_BIND","B","target","exports","expProto","own","out","exp","ctx","redefine","U","W","R","propertyKey","receiver","desc","proto","iterator","entries","ret","Symbol","USE_SYMBOL","$exports","ITERATOR","ArrayProto","Array","Iterators","ceil","floor","isNaN","min","toInteger","index","$defineProperty","TAG","ARG","tryGet","T","callee","getIteratorMethod","classof","SAFE_CLOSING","riter","from","skipClosing","arr","iter","next","done","arrayLike","C","aLen","mapfn","mapping","iterFn","getIterFn","result","step","isArrayIter","createProperty","toLength","FProto","nameRE","NAME","match","UNSCOPABLES","max","IS_INCLUDES","$this","el","fromIndex","toAbsoluteIndex","arrayIndexOf","names","i","keys","$keys","enumBugKeys","defineProperties","Properties","getKeys","documentElement","Empty","createDict","iframe","lt","gt","iframeDocument","style","display","appendChild","src","contentWindow","open","write","close","create","dPs","def","tag","stat","IteratorPrototype","Constructor","descriptor","setToStringTag","BUGGY","FF_ITERATOR","KEYS","VALUES","returnThis","Base","DEFAULT","IS_SET","FORCED","$iterCreate","getMethod","kind","values","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","methods","iterated","_t","_i","_k","Arguments","addToUnscopables","wks","TO_STRING_TAG","ArrayValues","DOMIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","explicit","Collection","$iterators","test","pos","s","l","charCodeAt","charAt","$at","point","forbiddenField","BREAK","RETURN","iterable","SPECIES","KEY","DESCRIPTORS","META","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","w","fastKey","getWeak","onFreeze","meta","NEED","TYPE","SIZE","getEntry","entry","_f","n","k","getConstructor","wrapper","IS_MAP","ADDER","anInstance","_l","forOf","redefineAll","clear","validate","data","r","p","prev","forEach","callbackfn","v","setStrong","$iterDefine","setSpecies","check","set","setPrototypeOf","buggy","__proto__","common","IS_WEAK","fixMethod","add","fails","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","$iterDetect","BUGGY_ZERO","$instance","inheritIfRequired","SET","Set","strong","MATCH","isRegExp","D","at","unicode","builtinExec","RegExp","ignoreCase","multiline","sticky","nativeExec","nativeReplace","replace","patchedExec","LAST_INDEX","UPDATES_LAST_INDEX_WRONG","re1","re2","NPCG_INCLUDED","PATCH","str","re","lastIndex","reCopy","regexpFlags","forced","regexpExec","REPLACE_SUPPORTS_NAMED_GROUPS","groups","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","fns","maybeCallNative","nativeMethod","regexp","arg2","forceStringMethod","strfn","rxfn","string","arg","$min","$push","$SPLIT","LENGTH","MAX_UINT32","SUPPORTS_Y","SPLIT","$split","internalSplit","separator","limit","output","flags","lastLastIndex","splitLimit","separatorCopy","lastLength","splitter","res","rx","speciesConstructor","unicodeMatching","lim","callRegExpExec","q","A","z","advanceStringIndex","MAP","Map","getAllCookies","cookie","map","trim","hasCookie","getCookie","$includes","includes","searchString","INCLUDES","context","indexOf","FrameworkBase","privacyComplianceInstance","capability","supportedCapabilities","ability","supportedGenerators","pc","args","log","CcpaOnChorus","Chorus","Cookie","CCPAFromUSPrivacyString","usPrivacyString","usp","toUpperCase","consentStringAllowsPersonalDataSale","consentStringAcknowledgesUserHasBeenNotifiedOfRights","supportedUsPrivacyStringVersion","US_PRIVACY_API_VERSION","UsPrivacyStringAndAPIGenerator","callback","buildUsPrivacyString","__uspapi","handleUSPrivacyAPI","bind","createUspapiFrame","hasBeenNotifiedOfRights","canUsePersonalInformationForTargeting","isLSPACoveredTransaction","command","canSuccessfullyAnswer","usPrivacyDataString","console","error","uspString","frame","setAttribute","readyState","addEventListener","_this2","body","setupIframeMessageProxyOn","event","messageData","__uspapiCall","_this3","uspapiCallParameters","targetSource","top","targetOrigin","origin","uspData","wasSuccessful","postMessage","__uspapiReturn","returnValue","success","callId","CcpaFromUsPrivacyString","proxyPolyfill","lastRevokeFn","ProxyPolyfill","o","validateProto","$Object","canCreateNullProtoObjects","Boolean","objectCreate","SyntaxError","noop","getProto","handler","newTarget","throwRevoked","trap","setTimeout","unsafeHandler","proxy","isMethod","isArray","usingNew","unshift","getter","prop","setter","status","propertyNames","getOwnPropertyNames","propertyMap","real","prototypeOk","setProto","seal","revocable","scope","Proxy","process","navigator","product","PrivacyCompliance","frameworks","logEntries","logger","_this","someConfigs","useConfig","logFunction","relogMissedEntries","frameworkInstance","setPrivacyComplianceInstance","privacyComplianceSingleton","filter","isApplicable","methodName","canAnswerCapability","_this4","every","canGenerate","_this5","throwUnsupportedError","method","property","Reflect","hasFrameworkLoadedToAnswerCapability","proxyToFrameworks","proxyToFrameworkGenerators","applyProxy","isAutoLoaded","addFramework"],"mappings":";;;;AAAA,KAAS,GAAG,GAAGA,oBAAf;;;;;ACAA,iBAAc,GAAG,sBAAA,CAAUC,MAAV,EAAkBC,KAAlB,EAAyB;AACxC,SAAO;AACLC,IAAAA,UAAU,EAAE,EAAEF,MAAM,GAAG,CAAX,CADP;AAELG,IAAAA,YAAY,EAAE,EAAEH,MAAM,GAAG,CAAX,CAFT;AAGLI,IAAAA,QAAQ,EAAE,EAAEJ,MAAM,GAAG,CAAX,CAHL;AAILC,IAAAA,KAAK,EAAEA;AAJF,GAAP;AAMD,CAPD;;ACAA,IAAII,QAAQ,GAAG,GAAGA,QAAlB;;AAEA,QAAc,GAAG,aAAA,CAAUC,EAAV,EAAc;AAC7B,SAAOD,QAAQ,CAACE,IAAT,CAAcD,EAAd,EAAkBE,KAAlB,CAAwB,CAAxB,EAA2B,CAAC,CAA5B,CAAP;AACD,CAFD,ECFA;AAEA;;;AACA,YAAc,GAAGC,MAAM,CAAC,GAAD,CAAN,CAAYV,oBAAZ,CAAiC,CAAjC,IAAsCU,MAAtC,GAA+C,UAAUH,EAAV,EAAc;AAC5E,SAAOI,IAAG,CAACJ,EAAD,CAAHI,IAAW,QAAXA,GAAsBJ,EAAE,CAACK,KAAH,CAAS,EAAT,CAAtBD,GAAqCD,MAAM,CAACH,EAAD,CAAlD;AACD,CAFD,ECHA;;;AACA,YAAc,GAAG,iBAAA,CAAUA,EAAV,EAAc;AAC7B,MAAIA,EAAE,IAAIM,SAAV,EAAqB,MAAMC,SAAS,CAAC,2BAA2BP,EAA5B,CAAf;AACrB,SAAOA,EAAP;AACD,CAHD,ECDA;;;AAGA,cAAc,GAAG,mBAAA,CAAUA,EAAV,EAAc;AAC7B,SAAOQ,QAAO,CAACC,QAAO,CAACT,EAAD,CAAR,CAAd;AACD,CAFD;;ACHA,aAAc,GAAG,kBAAA,CAAUA,EAAV,EAAc;AAC7B,SAAO,SAAOA,EAAP,MAAc,QAAd,GAAyBA,EAAE,KAAK,IAAhC,GAAuC,OAAOA,EAAP,KAAc,UAA5D;AACD,CAFD,ECAA;AAEA;AACA;;;AACA,gBAAc,GAAG,qBAAA,CAAUA,EAAV,EAAcU,CAAd,EAAiB;AAChC,MAAI,CAACC,SAAQ,CAACX,EAAD,CAAb,EAAmB,OAAOA,EAAP;AACnB,MAAIY,EAAJ,EAAQC,GAAR;AACA,MAAIH,CAAC,IAAI,QAAQE,EAAE,GAAGZ,EAAE,CAACD,QAAhB,KAA6B,UAAlC,IAAgD,CAACY,SAAQ,CAACE,GAAG,GAAGD,EAAE,CAACX,IAAH,CAAQD,EAAR,CAAP,CAA7D,EAAkF,OAAOa,GAAP;AAClF,MAAI,QAAQD,EAAE,GAAGZ,EAAE,CAACc,OAAhB,KAA4B,UAA5B,IAA0C,CAACH,SAAQ,CAACE,GAAG,GAAGD,EAAE,CAACX,IAAH,CAAQD,EAAR,CAAP,CAAvD,EAA4E,OAAOa,GAAP;AAC5E,MAAI,CAACH,CAAD,IAAM,QAAQE,EAAE,GAAGZ,EAAE,CAACD,QAAhB,KAA6B,UAAnC,IAAiD,CAACY,SAAQ,CAACE,GAAG,GAAGD,EAAE,CAACX,IAAH,CAAQD,EAAR,CAAP,CAA9D,EAAmF,OAAOa,GAAP;AACnF,QAAMN,SAAS,CAAC,yCAAD,CAAf;AACD,CAPD;;ACJA,IAAIQ,cAAc,GAAG,GAAGA,cAAxB;;AACA,QAAc,GAAG,aAAA,CAAUf,EAAV,EAAcgB,GAAd,EAAmB;AAClC,SAAOD,cAAc,CAACd,IAAf,CAAoBD,EAApB,EAAwBgB,GAAxB,CAAP;AACD,CAFD;;ACDA,UAAc,GAAG,eAAA,CAAUC,IAAV,EAAgB;AAC/B,MAAI;AACF,WAAO,CAAC,CAACA,IAAI,EAAb;AACD,GAFD,CAEE,OAAOC,CAAP,EAAU;AACV,WAAO,IAAP;AACD;AACF,CAND,ECAA;;;AACA,gBAAc,GAAG,CAACC,MAAmB,CAAC,YAAY;AAChD,SAAOhB,MAAM,CAACiB,cAAP,CAAsB,EAAtB,EAA0B,GAA1B,EAA+B;AAAEC,IAAAA,GAAG,EAAE,eAAY;AAAE,aAAO,CAAP;AAAW;AAAhC,GAA/B,EAAmEC,CAAnE,IAAwE,CAA/E;AACD,CAFoC,CAArC;;;;;;;;;;;;;;;;;;;ACDA;AACA,MAAIC,MAAM,GAAGC,cAAA,GAAiB,OAAOC,MAAP,IAAiB,WAAjB,IAAgCA,MAAM,CAACC,IAAP,IAAeA,IAA/C,GAC1BD,MAD0B,GACjB,OAAOE,IAAP,IAAe,WAAf,IAA8BA,IAAI,CAACD,IAAL,IAAaA,IAA3C,GAAkDC,IAAlD;AAAA,IAETC,QAAQ,CAAC,aAAD,CAAR,EAHJ;AAIA,MAAI,OAAOC,GAAP,IAAc,QAAlB,EAA4BA,GAAG,GAAGN,MAAN;;;ACJ5B,IAAIO,UAAQ,GAAGX,OAAoB,CAACW,QAApC,EACA;;AACA,IAAIC,EAAE,GAAGpB,SAAQ,CAACmB,UAAD,CAARnB,IAAsBA,SAAQ,CAACmB,UAAQ,CAACE,aAAV,CAAvC;;AACA,cAAc,GAAG,mBAAA,CAAUhC,EAAV,EAAc;AAC7B,SAAO+B,EAAE,GAAGD,UAAQ,CAACE,aAATF,CAAuB9B,EAAvB8B,CAAH,GAAgC,EAAzC;AACD,CAFD;;ACJA,iBAAc,GAAG,CAACX,YAAD,IAA8B,CAACc,MAAmB,CAAC,YAAY;AAC9E,SAAO9B,MAAM,CAACiB,cAAP,CAAsBc,UAAwB,CAAC,KAAD,CAA9C,EAAuD,GAAvD,EAA4D;AAAEb,IAAAA,GAAG,EAAE,eAAY;AAAE,aAAO,CAAP;AAAW;AAAhC,GAA5D,EAAgGC,CAAhG,IAAqG,CAA5G;AACD,CAFkE,CAAnE;;ACMA,IAAIa,IAAI,GAAGhC,MAAM,CAACiC,wBAAlB;AAEA,OAAS,GAAGjB,YAAyB,GAAGgB,IAAH,GAAU,SAASC,wBAAT,CAAkCC,CAAlC,EAAqCC,CAArC,EAAwC;AACrFD,EAAAA,CAAC,GAAGE,UAAS,CAACF,CAAD,CAAb;AACAC,EAAAA,CAAC,GAAGE,YAAW,CAACF,CAAD,EAAI,IAAJ,CAAf;AACA,MAAIG,aAAJ,EAAoB,IAAI;AACtB,WAAON,IAAI,CAACE,CAAD,EAAIC,CAAJ,CAAX;AACD,GAFmB,CAElB,OAAOpB,CAAP,EAAU;;AAAe;AAC3B,MAAIwB,IAAG,CAACL,CAAD,EAAIC,CAAJ,CAAP,EAAe,OAAOK,aAAU,CAAC,CAACC,UAAG,CAACC,CAAJD,CAAM3C,IAAN2C,CAAWP,CAAXO,EAAcN,CAAdM,CAAF,EAAoBP,CAAC,CAACC,CAAD,CAArB,CAAjB;AAChB,CAPD;;;GCRA;;AAEA,aAAc,GAAG,kBAAA,CAAUtC,EAAV,EAAc;AAC7B,SAAOG,MAAM,CAACM,QAAO,CAACT,EAAD,CAAR,CAAb;AACD,CAFD;;;ACFA,MAAI8C,IAAI,GAAGtB,cAAA,GAAiB;AAAEuB,IAAAA,OAAO,EAAE;AAAX,GAA5B;AACA,MAAI,OAAOC,GAAP,IAAc,QAAlB,EAA4BA,GAAG,GAAGF,IAAN;;;;ACC5B,MAAIG,MAAM,GAAG,oBAAb;AACA,MAAIC,KAAK,GAAG3B,OAAM,CAAC0B,MAAD,CAAN1B,KAAmBA,OAAM,CAAC0B,MAAD,CAAN1B,GAAiB,EAApCA,CAAZ;AAEA,GAACC,cAAA,GAAiB,UAAUR,GAAV,EAAerB,KAAf,EAAsB;AACtC,WAAOuD,KAAK,CAAClC,GAAD,CAAL,KAAekC,KAAK,CAAClC,GAAD,CAAL,GAAarB,KAAK,KAAKW,SAAV,GAAsBX,KAAtB,GAA8B,EAA1D,CAAP;AACD,GAFD,EAEG,UAFH,EAEe,EAFf,EAEmBwD,IAFnB,CAEwB;AACtBJ,IAAAA,OAAO,EAAED,KAAI,CAACC,OADQ;AAEtBK,IAAAA,IAAI,EAAmC,QAFjB;AAGtBC,IAAAA,SAAS,EAAE;AAHW,GAFxB;;;ACLA,IAAIC,EAAE,GAAG,CAAT;AACA,IAAIC,EAAE,GAAG7B,IAAI,CAAC8B,MAAL,EAAT;;AACA,QAAc,GAAG,aAAA,CAAUxC,GAAV,EAAe;AAC9B,SAAO,UAAUyC,MAAV,CAAiBzC,GAAG,KAAKV,SAAR,GAAoB,EAApB,GAAyBU,GAA1C,EAA+C,IAA/C,EAAqD,CAAC,EAAEsC,EAAF,GAAOC,EAAR,EAAYxD,QAAZ,CAAqB,EAArB,CAArD,CAAP;AACD,CAFD;;ACFA,IAAI2D,MAAM,GAAGvC,OAAoB,CAAC,MAAD,CAAjC;;AAEA,cAAc,GAAG,mBAAA,CAAUH,GAAV,EAAe;AAC9B,SAAO0C,MAAM,CAAC1C,GAAD,CAAN,KAAgB0C,MAAM,CAAC1C,GAAD,CAAN,GAAc2C,IAAG,CAAC3C,GAAD,CAAjC,CAAP;AACD,CAFD,ECFA;;;AAGA,IAAI4C,QAAQ,GAAGzC,UAAwB,CAAC,UAAD,CAAvC;;AACA,IAAI0C,WAAW,GAAG1D,MAAM,CAAC2D,SAAzB;;AAEA,cAAc,GAAG3D,MAAM,CAAC4D,cAAP,IAAyB,UAAU1B,CAAV,EAAa;AACrDA,EAAAA,CAAC,GAAG2B,SAAQ,CAAC3B,CAAD,CAAZ;AACA,MAAIK,IAAG,CAACL,CAAD,EAAIuB,QAAJ,CAAP,EAAsB,OAAOvB,CAAC,CAACuB,QAAD,CAAR;;AACtB,MAAI,OAAOvB,CAAC,CAAC4B,WAAT,IAAwB,UAAxB,IAAsC5B,CAAC,YAAYA,CAAC,CAAC4B,WAAzD,EAAsE;AACpE,WAAO5B,CAAC,CAAC4B,WAAF,CAAcH,SAArB;AACD;;AAAC,SAAOzB,CAAC,YAAYlC,MAAb,GAAsB0D,WAAtB,GAAoC,IAA3C;AACH,CAND;;ACLA,aAAc,GAAG,kBAAA,CAAU7D,EAAV,EAAc;AAC7B,MAAI,CAACW,SAAQ,CAACX,EAAD,CAAb,EAAmB,MAAMO,SAAS,CAACP,EAAE,GAAG,oBAAN,CAAf;AACnB,SAAOA,EAAP;AACD,CAHD;;ACEA,IAAIkE,EAAE,GAAG/D,MAAM,CAACiB,cAAhB;AAEA,OAAS,GAAGD,YAAyB,GAAGhB,MAAM,CAACiB,cAAV,GAA2B,SAASA,cAAT,CAAwBiB,CAAxB,EAA2BC,CAA3B,EAA8B6B,UAA9B,EAA0C;AACxGC,EAAAA,SAAQ,CAAC/B,CAAD,CAAR+B;;AACA9B,EAAAA,CAAC,GAAGE,YAAW,CAACF,CAAD,EAAI,IAAJ,CAAf;;AACA8B,EAAAA,SAAQ,CAACD,UAAD,CAARC;;AACA,MAAI3B,aAAJ,EAAoB,IAAI;AACtB,WAAOyB,EAAE,CAAC7B,CAAD,EAAIC,CAAJ,EAAO6B,UAAP,CAAT;AACD,GAFmB,CAElB,OAAOjD,CAAP,EAAU;;AAAe;AAC3B,MAAI,SAASiD,UAAT,IAAuB,SAASA,UAApC,EAAgD,MAAM5D,SAAS,CAAC,0BAAD,CAAf;AAChD,MAAI,WAAW4D,UAAf,EAA2B9B,CAAC,CAACC,CAAD,CAAD,GAAO6B,UAAU,CAACxE,KAAlB;AAC3B,SAAO0C,CAAP;AACD,CAVD;;;;;ACHA,SAAc,GAAGlB,YAAyB,GAAG,UAAUkD,MAAV,EAAkBrD,GAAlB,EAAuBrB,KAAvB,EAA8B;AACzE,SAAOuE,SAAE,CAACrB,CAAHqB,CAAKG,MAALH,EAAalD,GAAbkD,EAAkBvB,aAAU,CAAC,CAAD,EAAIhD,KAAJ,CAA5BuE,CAAP;AACD,CAFyC,GAEtC,UAAUG,MAAV,EAAkBrD,GAAlB,EAAuBrB,KAAvB,EAA8B;AAChC0E,EAAAA,MAAM,CAACrD,GAAD,CAAN,GAAcrB,KAAd;AACA,SAAO0E,MAAP;AACD,CALD;;ACFA,qBAAc,GAAGlD,OAAoB,CAAC,2BAAD,EAA8BS,QAAQ,CAAC7B,QAAvC,CAArC;;;ACGA,MAAIuE,GAAG,GAAGnD,IAAiB,CAAC,KAAD,CAA3B;;AAEA,MAAIoD,SAAS,GAAG,UAAhB;;AACA,MAAIC,GAAG,GAAG,CAAC,KAAKC,iBAAN,EAAiBpE,KAAjB,CAAuBkE,SAAvB,CAAV;;AAEAtC,EAAAA,KAAkB,CAACyC,aAAnBzC,GAAmC,UAAUjC,EAAV,EAAc;AAC/C,WAAOyE,iBAAS,CAACxE,IAAVwE,CAAezE,EAAfyE,CAAP;AACD,GAFDxC;;AAIA,GAACT,cAAA,GAAiB,UAAUa,CAAV,EAAarB,GAAb,EAAkBH,GAAlB,EAAuB8D,IAAvB,EAA6B;AAC7C,QAAIC,UAAU,GAAG,OAAO/D,GAAP,IAAc,UAA/B;AACA,QAAI+D,UAAJ,EAAgBlC,IAAG,CAAC7B,GAAD,EAAM,MAAN,CAAH6B,IAAoBmC,KAAI,CAAChE,GAAD,EAAM,MAAN,EAAcG,GAAd,CAAxB0B;AAChB,QAAIL,CAAC,CAACrB,GAAD,CAAD,KAAWH,GAAf,EAAoB;AACpB,QAAI+D,UAAJ,EAAgBlC,IAAG,CAAC7B,GAAD,EAAMyD,GAAN,CAAH5B,IAAiBmC,KAAI,CAAChE,GAAD,EAAMyD,GAAN,EAAWjC,CAAC,CAACrB,GAAD,CAAD,GAAS,KAAKqB,CAAC,CAACrB,GAAD,CAAf,GAAuBwD,GAAG,CAACM,IAAJ,CAASC,MAAM,CAAC/D,GAAD,CAAf,CAAlC,CAArB0B;;AAChB,QAAIL,CAAC,KAAKd,OAAV,EAAkB;AAChBc,MAAAA,CAAC,CAACrB,GAAD,CAAD,GAASH,GAAT;AACD,KAFD,MAEO,IAAI,CAAC8D,IAAL,EAAW;AAChB,aAAOtC,CAAC,CAACrB,GAAD,CAAR;;AACA6D,MAAAA,KAAI,CAACxC,CAAD,EAAIrB,GAAJ,EAASH,GAAT,CAAJgE;AACD,KAHM,MAGA,IAAIxC,CAAC,CAACrB,GAAD,CAAL,EAAY;AACjBqB,MAAAA,CAAC,CAACrB,GAAD,CAAD,GAASH,GAAT;AACD,KAFM,MAEA;AACLgE,MAAAA,KAAI,CAACxC,CAAD,EAAIrB,GAAJ,EAASH,GAAT,CAAJgE;AACD,KAd4C,CAe/C;;AACC,GAhBD,EAgBGjD,QAAQ,CAACkC,SAhBZ,EAgBuBS,SAhBvB,EAgBkC,SAASxE,QAAT,GAAoB;AACpD,WAAO,OAAO,IAAP,IAAe,UAAf,IAA6B,KAAKuE,GAAL,CAA7B,IAA0CG,iBAAS,CAACxE,IAAVwE,CAAe,IAAfA,CAAjD;AACD,GAlBD;;;ACZA,cAAc,GAAG,mBAAA,CAAUzE,EAAV,EAAc;AAC7B,MAAI,OAAOA,EAAP,IAAa,UAAjB,EAA6B,MAAMO,SAAS,CAACP,EAAE,GAAG,qBAAN,CAAf;AAC7B,SAAOA,EAAP;AACD,CAHD,ECAA;;;AAEA,QAAc,GAAG,aAAA,CAAUY,EAAV,EAAcoE,IAAd,EAAoBC,MAApB,EAA4B;AAC3CC,EAAAA,UAAS,CAACtE,EAAD,CAATsE;;AACA,MAAIF,IAAI,KAAK1E,SAAb,EAAwB,OAAOM,EAAP;;AACxB,UAAQqE,MAAR;AACE,SAAK,CAAL;AAAQ,aAAO,UAAU3D,CAAV,EAAa;AAC1B,eAAOV,EAAE,CAACX,IAAH,CAAQ+E,IAAR,EAAc1D,CAAd,CAAP;AACD,OAFO;;AAGR,SAAK,CAAL;AAAQ,aAAO,UAAUA,CAAV,EAAa6D,CAAb,EAAgB;AAC7B,eAAOvE,EAAE,CAACX,IAAH,CAAQ+E,IAAR,EAAc1D,CAAd,EAAiB6D,CAAjB,CAAP;AACD,OAFO;;AAGR,SAAK,CAAL;AAAQ,aAAO,UAAU7D,CAAV,EAAa6D,CAAb,EAAgBC,CAAhB,EAAmB;AAChC,eAAOxE,EAAE,CAACX,IAAH,CAAQ+E,IAAR,EAAc1D,CAAd,EAAiB6D,CAAjB,EAAoBC,CAApB,CAAP;AACD,OAFO;AAPV;;AAWA,SAAO;;AAAyB;AAC9B,WAAOxE,EAAE,CAACyE,KAAH,CAASL,IAAT,EAAeM,SAAf,CAAP;AACD,GAFD;AAGD,CAjBD;;ACGA,IAAIC,SAAS,GAAG,WAAhB;;AAEA,IAAIC,OAAO,GAAG,SAAVA,OAAU,CAAUC,IAAV,EAAgBC,IAAhB,EAAsBC,MAAtB,EAA8B;AAC1C,MAAIC,SAAS,GAAGH,IAAI,GAAGD,OAAO,CAACK,CAA/B;AACA,MAAIC,SAAS,GAAGL,IAAI,GAAGD,OAAO,CAACO,CAA/B;AACA,MAAIC,SAAS,GAAGP,IAAI,GAAGD,OAAO,CAAC9E,CAA/B;AACA,MAAIuF,QAAQ,GAAGR,IAAI,GAAGD,OAAO,CAAClD,CAA9B;AACA,MAAI4D,OAAO,GAAGT,IAAI,GAAGD,OAAO,CAACW,CAA7B;AACA,MAAIC,MAAM,GAAGN,SAAS,GAAGvE,OAAH,GAAYyE,SAAS,GAAGzE,OAAM,CAACmE,IAAD,CAANnE,KAAiBA,OAAM,CAACmE,IAAD,CAANnE,GAAe,EAAhCA,CAAH,GAAyC,CAACA,OAAM,CAACmE,IAAD,CAANnE,IAAgB,EAAjB,EAAqBgE,SAArB,CAApF;AACA,MAAIc,OAAO,GAAGP,SAAS,GAAGhD,KAAH,GAAUA,KAAI,CAAC4C,IAAD,CAAJ5C,KAAeA,KAAI,CAAC4C,IAAD,CAAJ5C,GAAa,EAA5BA,CAAjC;AACA,MAAIwD,QAAQ,GAAGD,OAAO,CAACd,SAAD,CAAP,KAAuBc,OAAO,CAACd,SAAD,CAAP,GAAqB,EAA5C,CAAf;AACA,MAAIvE,GAAJ,EAASuF,GAAT,EAAcC,GAAd,EAAmBC,GAAnB;AACA,MAAIX,SAAJ,EAAeH,MAAM,GAAGD,IAAT;;AACf,OAAK1E,GAAL,IAAY2E,MAAZ,EAAoB;;AAElBY,IAAAA,GAAG,GAAG,CAACX,SAAD,IAAcQ,MAAd,IAAwBA,MAAM,CAACpF,GAAD,CAAN,KAAgBV,SAA9C,CAFkB;;AAIlBkG,IAAAA,GAAG,GAAG,CAACD,GAAG,GAAGH,MAAH,GAAYT,MAAhB,EAAwB3E,GAAxB,CAAN,CAJkB;;AAMlByF,IAAAA,GAAG,GAAGP,OAAO,IAAIK,GAAX,GAAiBG,IAAG,CAACF,GAAD,EAAMjF,OAAN,CAApB,GAAoC0E,QAAQ,IAAI,OAAOO,GAAP,IAAc,UAA1B,GAAuCE,IAAG,CAAC9E,QAAQ,CAAC3B,IAAV,EAAgBuG,GAAhB,CAA1C,GAAiEA,GAA3G,CANkB;;AAQlB,QAAIJ,MAAJ,EAAYO,SAAQ,CAACP,MAAD,EAASpF,GAAT,EAAcwF,GAAd,EAAmBf,IAAI,GAAGD,OAAO,CAACoB,CAAlC,CAARD,CARM;;AAUlB,QAAIN,OAAO,CAACrF,GAAD,CAAP,IAAgBwF,GAApB,EAAyB3B,KAAI,CAACwB,OAAD,EAAUrF,GAAV,EAAeyF,GAAf,CAAJ5B;AACzB,QAAIoB,QAAQ,IAAIK,QAAQ,CAACtF,GAAD,CAAR,IAAiBwF,GAAjC,EAAsCF,QAAQ,CAACtF,GAAD,CAAR,GAAgBwF,GAAhB;AACvC;AACF,CAxBD;;AAyBAjF,OAAM,CAACuB,IAAPvB,GAAcuB,KAAdvB,EACA;;AACAiE,OAAO,CAACK,CAAR,GAAY,CAAZ;;AACAL,OAAO,CAACO,CAAR,GAAY,CAAZ;;AACAP,OAAO,CAAC9E,CAAR,GAAY,CAAZ;;AACA8E,OAAO,CAAClD,CAAR,GAAY,CAAZ;;AACAkD,OAAO,CAACW,CAAR,GAAY,EAAZ;;AACAX,OAAO,CAACqB,CAAR,GAAY,EAAZ;;AACArB,OAAO,CAACoB,CAAR,GAAY,EAAZ;;AACApB,OAAO,CAACsB,CAAR,GAAY,GAAZ;;AACA,WAAc,GAAGtB,OAAjB,EC1CA;;AAQA,SAASnE,GAAT,CAAa+E,MAAb,EAAqBW;;AAArB,EAAmD;AACjD,MAAIC,QAAQ,GAAG1B,SAAS,CAACL,MAAV,GAAmB,CAAnB,GAAuBmB,MAAvB,GAAgCd,SAAS,CAAC,CAAD,CAAxD;AACA,MAAI2B,IAAJ,EAAUC,KAAV;AACA,MAAI9C,SAAQ,CAACgC,MAAD,CAARhC,KAAqB4C,QAAzB,EAAmC,OAAOZ,MAAM,CAACW,WAAD,CAAb;AACnC,MAAIE,IAAI,GAAG9E,WAAI,CAACU,CAALV,CAAOiE,MAAPjE,EAAe4E,WAAf5E,CAAX,EAAwC,OAAOO,IAAG,CAACuE,IAAD,EAAO,OAAP,CAAHvE,GAC3CuE,IAAI,CAACtH,KADsC+C,GAE3CuE,IAAI,CAAC5F,GAAL,KAAaf,SAAb,GACE2G,IAAI,CAAC5F,GAAL,CAASpB,IAAT,CAAc+G,QAAd,CADF,GAEE1G,SAJkC;AAKxC,MAAIK,SAAQ,CAACuG,KAAK,GAAGnD,UAAc,CAACqC,MAAD,CAAvB,CAAZ,EAA8C,OAAO/E,GAAG,CAAC6F,KAAD,EAAQH,WAAR,EAAqBC,QAArB,CAAV;AAC/C;;AAEDxB,OAAO,CAACA,OAAO,CAAC9E,CAAT,EAAY,SAAZ,EAAuB;AAAEW,EAAAA,GAAG,EAAEA;AAAP,CAAvB,CAAPmE,ECpBA;;;AAGAA,OAAO,CAACA,OAAO,CAAC9E,CAAT,EAAY,SAAZ,EAAuB;AAC5BgC,EAAAA,GAAG,EAAE,SAASA,GAAT,CAAa0D,MAAb,EAAqBW,WAArB,EAAkC;AACrC,WAAOA,WAAW,IAAIX,MAAtB;AACD;AAH2B,CAAvB,CAAPZ,ECHA;;;AAEA,aAAc,GAAG,kBAAA,CAAU2B,QAAV,EAAoBvG,EAApB,EAAwBjB,KAAxB,EAA+ByH,OAA/B,EAAwC;AACvD,MAAI;AACF,WAAOA,OAAO,GAAGxG,EAAE,CAACwD,SAAQ,CAACzE,KAAD,CAARyE,CAAgB,CAAhBA,CAAD,EAAqBzE,KAAK,CAAC,CAAD,CAA1B,CAAL,GAAsCiB,EAAE,CAACjB,KAAD,CAAtD,CADE;AAGH,GAHD,CAGE,OAAOuB,CAAP,EAAU;AACV,QAAImG,GAAG,GAAGF,QAAQ,CAAC,QAAD,CAAlB;AACA,QAAIE,GAAG,KAAK/G,SAAZ,EAAuB8D,SAAQ,CAACiD,GAAG,CAACpH,IAAJ,CAASkH,QAAT,CAAD,CAAR/C;AACvB,UAAMlD,CAAN;AACD;AACF,CATD;;ACFA,cAAc,GAAG,EAAjB;;;ACAA,MAAIgC,KAAK,GAAG/B,OAAoB,CAAC,KAAD,CAAhC;;AAEA,MAAImG,OAAM,GAAGrF,OAAoB,CAACqF,MAAlC;AACA,MAAIC,UAAU,GAAG,OAAOD,OAAP,IAAiB,UAAlC;;AAEA,MAAIE,QAAQ,GAAGhG,cAAA,GAAiB,UAAUkE,IAAV,EAAgB;AAC9C,WAAOxC,KAAK,CAACwC,IAAD,CAAL,KAAgBxC,KAAK,CAACwC,IAAD,CAAL,GACrB6B,UAAU,IAAID,OAAM,CAAC5B,IAAD,CAApB,IAA8B,CAAC6B,UAAU,GAAGD,OAAH,GAAY3D,IAAvB,EAA4B,YAAY+B,IAAxC,CADzB,CAAP;AAED,GAHD;;AAKA8B,EAAAA,QAAQ,CAACtE,KAAT,GAAiBA,KAAjB;ICVA;;;AAEA,IAAIuE,QAAQ,GAAGtG,IAAiB,CAAC,UAAD,CAAhC;;AACA,IAAIuG,UAAU,GAAGC,KAAK,CAAC7D,SAAvB;;AAEA,gBAAc,GAAG,qBAAA,CAAU9D,EAAV,EAAc;AAC7B,SAAOA,EAAE,KAAKM,SAAP,KAAqBsH,UAAS,CAACD,KAAVC,KAAoB5H,EAApB4H,IAA0BF,UAAU,CAACD,QAAD,CAAV,KAAyBzH,EAAxE,CAAP;AACD,CAFD,ECLA;;;AACA,IAAI6H,IAAI,GAAGnG,IAAI,CAACmG,IAAhB;AACA,IAAIC,KAAK,GAAGpG,IAAI,CAACoG,KAAjB;;AACA,cAAc,GAAG,mBAAA,CAAU9H,EAAV,EAAc;AAC7B,SAAO+H,KAAK,CAAC/H,EAAE,GAAG,CAACA,EAAP,CAAL,GAAkB,CAAlB,GAAsB,CAACA,EAAE,GAAG,CAAL,GAAS8H,KAAT,GAAiBD,IAAlB,EAAwB7H,EAAxB,CAA7B;AACD,CAFD,ECHA;;;AAEA,IAAIgI,GAAG,GAAGtG,IAAI,CAACsG,GAAf;;AACA,aAAc,GAAG,kBAAA,CAAUhI,EAAV,EAAc;AAC7B,SAAOA,EAAE,GAAG,CAAL,GAASgI,GAAG,CAACC,UAAS,CAACjI,EAAD,CAAV,EAAgB,gBAAhB,CAAZ,GAAgD,CAAvD,CAD6B;AAE9B,CAFD;;ACCA,mBAAc,GAAG,wBAAA,CAAUqE,MAAV,EAAkB6D,KAAlB,EAAyBvI,KAAzB,EAAgC;AAC/C,MAAIuI,KAAK,IAAI7D,MAAb,EAAqB8D,SAAe,CAACtF,CAAhBsF,CAAkB9D,MAAlB8D,EAA0BD,KAA1BC,EAAiCxF,aAAU,CAAC,CAAD,EAAIhD,KAAJ,CAA3CwI,EAArB,KACK9D,MAAM,CAAC6D,KAAD,CAAN,GAAgBvI,KAAhB;AACN,CAHD,ECJA;;;AAEA,IAAIyI,GAAG,GAAGjH,IAAiB,CAAC,aAAD,CAA3B,EACA;;;AACA,IAAIkH,GAAG,GAAGjI,IAAG,CAAC,YAAY;AAAE,SAAOkF,SAAP;AAAmB,CAAjC,EAAD,CAAHlF,IAA4C,WAAtD,EAEA;;AACA,IAAIkI,MAAM,GAAG,SAATA,MAAS,CAAUtI,EAAV,EAAcgB,GAAd,EAAmB;AAC9B,MAAI;AACF,WAAOhB,EAAE,CAACgB,GAAD,CAAT;AACD,GAFD,CAEE,OAAOE,CAAP,EAAU;;AAAe;AAC5B,CAJD;;AAMA,YAAc,GAAG,iBAAA,CAAUlB,EAAV,EAAc;AAC7B,MAAIqC,CAAJ,EAAOkG,CAAP,EAAUpC,CAAV;AACA,SAAOnG,EAAE,KAAKM,SAAP,GAAmB,WAAnB,GAAiCN,EAAE,KAAK,IAAP,GAAc,MAAd;AAAA,IAEpC,QAAQuI,CAAC,GAAGD,MAAM,CAACjG,CAAC,GAAGlC,MAAM,CAACH,EAAD,CAAX,EAAiBoI,GAAjB,CAAlB,KAA4C,QAA5C,GAAuDG,CAAvD;AAAA,IAEAF,GAAG,GAAGjI,IAAG,CAACiC,CAAD,CAAN;AAAA,IAEH,CAAC8D,CAAC,GAAG/F,IAAG,CAACiC,CAAD,CAAR,KAAgB,QAAhB,IAA4B,OAAOA,CAAC,CAACmG,MAAT,IAAmB,UAA/C,GAA4D,WAA5D,GAA0ErC,CAN9E;AAOD,CATD;;ACZA,IAAIsB,UAAQ,GAAGtG,IAAiB,CAAC,UAAD,CAAhC;;AAEA,0BAAc,GAAGc,KAAkB,CAACwG,iBAAnBxG,GAAuC,UAAUjC,EAAV,EAAc;AACpE,MAAIA,EAAE,IAAIM,SAAV,EAAqB,OAAON,EAAE,CAACyH,UAAD,CAAF,IACvBzH,EAAE,CAAC,YAAD,CADqB,IAEvB4H,UAAS,CAACc,QAAO,CAAC1I,EAAD,CAAR,CAFO;AAGtB,CAJD;;ACHA,IAAIyH,UAAQ,GAAGtG,IAAiB,CAAC,UAAD,CAAhC;;AACA,IAAIwH,YAAY,GAAG,KAAnB;;AAEA,IAAI;AACF,MAAIC,KAAK,GAAG,CAAC,CAAD,EAAInB,UAAJ,GAAZ;;AACAmB,EAAAA,KAAK,CAAC,QAAD,CAAL,GAAkB,YAAY;AAAED,IAAAA,YAAY,GAAG,IAAf;AAAsB,GAAtD,CAFE;;;AAIFhB,EAAAA,KAAK,CAACkB,IAAN,CAAWD,KAAX,EAAkB,YAAY;AAAE,UAAM,CAAN;AAAU,GAA1C;AACD,CALD,CAKE,OAAO1H,CAAP,EAAU;;AAAe;;AAE3B,eAAc,GAAG,oBAAA,CAAUD,IAAV,EAAgB6H,WAAhB,EAA6B;AAC5C,MAAI,CAACA,WAAD,IAAgB,CAACH,YAArB,EAAmC,OAAO,KAAP;AACnC,MAAIhE,IAAI,GAAG,KAAX;;AACA,MAAI;AACF,QAAIoE,GAAG,GAAG,CAAC,CAAD,CAAV;AACA,QAAIC,IAAI,GAAGD,GAAG,CAACtB,UAAD,CAAH,EAAX;;AACAuB,IAAAA,IAAI,CAACC,IAAL,GAAY,YAAY;AAAE,aAAO;AAAEC,QAAAA,IAAI,EAAEvE,IAAI,GAAG;AAAf,OAAP;AAA+B,KAAzD;;AACAoE,IAAAA,GAAG,CAACtB,UAAD,CAAH,GAAgB,YAAY;AAAE,aAAOuB,IAAP;AAAc,KAA5C;;AACA/H,IAAAA,IAAI,CAAC8H,GAAD,CAAJ;AACD,GAND,CAME,OAAO7H,CAAP,EAAU;;AAAe;;AAC3B,SAAOyD,IAAP;AACD,CAXD;;ACAAa,OAAO,CAACA,OAAO,CAAC9E,CAAR8E,GAAYA,OAAO,CAACK,CAARL,GAAY,CAACrE,WAAyB,CAAC,UAAU6H,IAAV,EAAgB;AAAErB,EAAAA,KAAK,CAACkB,IAAN,CAAWG,IAAX;AAAmB,CAAtC,CAAnD,EAA4F,OAA5F,EAAqG;;AAE1GH,EAAAA,IAAI,EAAE,SAASA,IAAT,CAAcM;;AAAd,IAAwE;AAC5E,QAAI9G,CAAC,GAAG2B,SAAQ,CAACmF,SAAD,CAAhB;;AACA,QAAIC,CAAC,GAAG,OAAO,IAAP,IAAe,UAAf,GAA4B,IAA5B,GAAmCzB,KAA3C;AACA,QAAI0B,IAAI,GAAG/D,SAAS,CAACL,MAArB;AACA,QAAIqE,KAAK,GAAGD,IAAI,GAAG,CAAP,GAAW/D,SAAS,CAAC,CAAD,CAApB,GAA0BhF,SAAtC;AACA,QAAIiJ,OAAO,GAAGD,KAAK,KAAKhJ,SAAxB;AACA,QAAI4H,KAAK,GAAG,CAAZ;AACA,QAAIsB,MAAM,GAAGC,sBAAS,CAACpH,CAAD,CAAtB;AACA,QAAI4C,MAAJ,EAAYyE,MAAZ,EAAoBC,IAApB,EAA0BxC,QAA1B;AACA,QAAIoC,OAAJ,EAAaD,KAAK,GAAG5C,IAAG,CAAC4C,KAAD,EAAQD,IAAI,GAAG,CAAP,GAAW/D,SAAS,CAAC,CAAD,CAApB,GAA0BhF,SAAlC,EAA6C,CAA7C,CAAX,CAT+D;;AAW5E,QAAIkJ,MAAM,IAAIlJ,SAAV,IAAuB,EAAE8I,CAAC,IAAIzB,KAAL,IAAciC,YAAW,CAACJ,MAAD,CAA3B,CAA3B,EAAiE;AAC/D,WAAKrC,QAAQ,GAAGqC,MAAM,CAACvJ,IAAP,CAAYoC,CAAZ,CAAX,EAA2BqH,MAAM,GAAG,IAAIN,CAAJ,EAAzC,EAAkD,CAAC,CAACO,IAAI,GAAGxC,QAAQ,CAAC8B,IAAT,EAAR,EAAyBC,IAA5E,EAAkFhB,KAAK,EAAvF,EAA2F;AACzF2B,QAAAA,eAAc,CAACH,MAAD,EAASxB,KAAT,EAAgBqB,OAAO,GAAGtJ,SAAI,CAACkH,QAAD,EAAWmC,KAAX,EAAkB,CAACK,IAAI,CAAChK,KAAN,EAAauI,KAAb,CAAlB,EAAuC,IAAvC,CAAP,GAAsDyB,IAAI,CAAChK,KAAlF,CAAdkK;AACD;AACF,KAJD,MAIO;AACL5E,MAAAA,MAAM,GAAG6E,SAAQ,CAACzH,CAAC,CAAC4C,MAAH,CAAjB;;AACA,WAAKyE,MAAM,GAAG,IAAIN,CAAJ,CAAMnE,MAAN,CAAd,EAA6BA,MAAM,GAAGiD,KAAtC,EAA6CA,KAAK,EAAlD,EAAsD;AACpD2B,QAAAA,eAAc,CAACH,MAAD,EAASxB,KAAT,EAAgBqB,OAAO,GAAGD,KAAK,CAACjH,CAAC,CAAC6F,KAAD,CAAF,EAAWA,KAAX,CAAR,GAA4B7F,CAAC,CAAC6F,KAAD,CAApD,CAAd2B;AACD;AACF;;AACDH,IAAAA,MAAM,CAACzE,MAAP,GAAgBiD,KAAhB;AACA,WAAOwB,MAAP;AACD;AAzByG,CAArG,CAAPlE;;ACVA,IAAItB,IAAE,GAAG/C,SAAuB,CAAC0B,CAAjC;AACA,IAAIkH,MAAM,GAAGnI,QAAQ,CAACkC,SAAtB;AACA,IAAIkG,MAAM,GAAG,uBAAb;AACA,IAAIC,IAAI,GAAG,MAAX,EAEA;;AACAA,IAAI,IAAIF,MAAR,IAAkB9H,YAAyB,IAAIiC,IAAE,CAAC6F,MAAD,EAASE,IAAT,EAAe;AAC9DpK,EAAAA,YAAY,EAAE,IADgD;AAE9DwB,EAAAA,GAAG,EAAE,eAAY;AACf,QAAI;AACF,aAAO,CAAC,KAAK,IAAN,EAAY6I,KAAZ,CAAkBF,MAAlB,EAA0B,CAA1B,CAAP;AACD,KAFD,CAEE,OAAO9I,CAAP,EAAU;AACV,aAAO,EAAP;AACD;AACF;AAR6D,CAAf,CAAjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ECNA;;;AACA,IAAIiJ,WAAW,GAAGhJ,IAAiB,CAAC,aAAD,CAAnC;;AACA,IAAIuG,YAAU,GAAGC,KAAK,CAAC7D,SAAvB;AACA,IAAI4D,YAAU,CAACyC,WAAD,CAAVzC,IAA2BpH,SAA/B,EAA0C2B,KAAkB,CAACyF,YAAD,EAAayC,WAAb,EAA0B,EAA1B,CAAlBlI;;AAC1C,qBAAc,GAAG,0BAAA,CAAUjB,GAAV,EAAe;AAC9B0G,EAAAA,YAAU,CAACyC,WAAD,CAAVzC,CAAwB1G,GAAxB0G,IAA+B,IAA/BA;AACD,CAFD;;ACJA,aAAc,GAAG,kBAAA,CAAUwB,IAAV,EAAgBvJ,KAAhB,EAAuB;AACtC,SAAO;AAAEA,IAAAA,KAAK,EAAEA,KAAT;AAAgBuJ,IAAAA,IAAI,EAAE,CAAC,CAACA;AAAxB,GAAP;AACD,CAFD;;ACCA,IAAIkB,GAAG,GAAG1I,IAAI,CAAC0I,GAAf;AACA,IAAIpC,KAAG,GAAGtG,IAAI,CAACsG,GAAf;;AACA,oBAAc,GAAG,yBAAA,CAAUE,KAAV,EAAiBjD,MAAjB,EAAyB;AACxCiD,EAAAA,KAAK,GAAGD,UAAS,CAACC,KAAD,CAAjB;AACA,SAAOA,KAAK,GAAG,CAAR,GAAYkC,GAAG,CAAClC,KAAK,GAAGjD,MAAT,EAAiB,CAAjB,CAAf,GAAqC+C,KAAG,CAACE,KAAD,EAAQjD,MAAR,CAA/C;AACD,CAHD,ECHA;AACA;;;AAIA,kBAAc,GAAG,uBAAA,CAAUoF,WAAV,EAAuB;AACtC,SAAO,UAAUC,KAAV,EAAiBC,EAAjB,EAAqBC,SAArB,EAAgC;AACrC,QAAInI,CAAC,GAAGE,UAAS,CAAC+H,KAAD,CAAjB;;AACA,QAAIrF,MAAM,GAAG6E,SAAQ,CAACzH,CAAC,CAAC4C,MAAH,CAArB;;AACA,QAAIiD,KAAK,GAAGuC,gBAAe,CAACD,SAAD,EAAYvF,MAAZ,CAA3B;;AACA,QAAItF,KAAJ,CAJqC;;;AAOrC,QAAI0K,WAAW,IAAIE,EAAE,IAAIA,EAAzB,EAA6B,OAAOtF,MAAM,GAAGiD,KAAhB,EAAuB;AAClDvI,MAAAA,KAAK,GAAG0C,CAAC,CAAC6F,KAAK,EAAN,CAAT,CADkD;;AAGlD,UAAIvI,KAAK,IAAIA,KAAb,EAAoB,OAAO,IAAP,CAH8B;AAKnD,KALD,MAKO,OAAMsF,MAAM,GAAGiD,KAAf,EAAsBA,KAAK,EAA3B;AAA+B,UAAImC,WAAW,IAAInC,KAAK,IAAI7F,CAA5B,EAA+B;AACnE,YAAIA,CAAC,CAAC6F,KAAD,CAAD,KAAaqC,EAAjB,EAAqB,OAAOF,WAAW,IAAInC,KAAf,IAAwB,CAA/B;AACtB;AAFM;AAEL,WAAO,CAACmC,WAAD,IAAgB,CAAC,CAAxB;AACH,GAfD;AAgBD,CAjBD;;ACHA,IAAIK,YAAY,GAAGvJ,cAA4B,CAAC,KAAD,CAA/C;;AACA,IAAIyC,UAAQ,GAAG3B,UAAwB,CAAC,UAAD,CAAvC;;AAEA,uBAAc,GAAG,4BAAA,CAAUoC,MAAV,EAAkBsG,KAAlB,EAAyB;AACxC,MAAItI,CAAC,GAAGE,UAAS,CAAC8B,MAAD,CAAjB;;AACA,MAAIuG,CAAC,GAAG,CAAR;AACA,MAAIlB,MAAM,GAAG,EAAb;AACA,MAAI1I,GAAJ;;AACA,OAAKA,GAAL,IAAYqB,CAAZ;AAAe,QAAIrB,GAAG,IAAI4C,UAAX,EAAqBlB,IAAG,CAACL,CAAD,EAAIrB,GAAJ,CAAH0B,IAAegH,MAAM,CAACvG,IAAP,CAAYnC,GAAZ,CAAf0B;AAApC,GALwC;;;AAOxC,SAAOiI,KAAK,CAAC1F,MAAN,GAAe2F,CAAtB;AAAyB,QAAIlI,IAAG,CAACL,CAAD,EAAIrB,GAAG,GAAG2J,KAAK,CAACC,CAAC,EAAF,CAAf,CAAP,EAA8B;AACrD,OAACF,YAAY,CAAChB,MAAD,EAAS1I,GAAT,CAAb,IAA8B0I,MAAM,CAACvG,IAAP,CAAYnC,GAAZ,CAA9B;AACD;AAFD;;AAGA,SAAO0I,MAAP;AACD,CAXD,ECLA;;;AACA,gBAAc,GACZ,+FADe,CAEfrJ,KAFe,CAET,GAFS,CAAjB,ECDA;;;AAIA,eAAc,GAAGF,MAAM,CAAC0K,IAAP,IAAe,SAASA,IAAT,CAAcxI,CAAd,EAAiB;AAC/C,SAAOyI,mBAAK,CAACzI,CAAD,EAAI0I,YAAJ,CAAZ;AACD,CAFD;;ACAA,cAAc,GAAG5J,YAAyB,GAAGhB,MAAM,CAAC6K,gBAAV,GAA6B,SAASA,gBAAT,CAA0B3I,CAA1B,EAA6B4I,UAA7B,EAAyC;AAC9G7G,EAAAA,SAAQ,CAAC/B,CAAD,CAAR+B;;AACA,MAAIyG,IAAI,GAAGK,WAAO,CAACD,UAAD,CAAlB;;AACA,MAAIhG,MAAM,GAAG4F,IAAI,CAAC5F,MAAlB;AACA,MAAI2F,CAAC,GAAG,CAAR;AACA,MAAItI,CAAJ;;AACA,SAAO2C,MAAM,GAAG2F,CAAhB;AAAmB1G,IAAAA,SAAE,CAACrB,CAAHqB,CAAK7B,CAAL6B,EAAQ5B,CAAC,GAAGuI,IAAI,CAACD,CAAC,EAAF,CAAhB1G,EAAuB+G,UAAU,CAAC3I,CAAD,CAAjC4B;AAAnB;;AACA,SAAO7B,CAAP;AACD,CARD;;ACJA,IAAIP,UAAQ,GAAGX,OAAoB,CAACW,QAApC;;AACA,SAAc,GAAGA,UAAQ,IAAIA,UAAQ,CAACqJ,eAAtC,ECDA;;;AAIA,IAAIvH,UAAQ,GAAGzC,UAAwB,CAAC,UAAD,CAAvC;;AACA,IAAIiK,KAAK,GAAG,SAARA,KAAQ,GAAY;;AAAe,CAAvC;;AACA,IAAI7F,WAAS,GAAG,WAAhB,EAEA;;AACA,IAAI8F,WAAU,GAAG,sBAAY;;AAE3B,MAAIC,MAAM,GAAGrJ,UAAwB,CAAC,QAAD,CAArC;;AACA,MAAI2I,CAAC,GAAGG,YAAW,CAAC9F,MAApB;AACA,MAAIsG,EAAE,GAAG,GAAT;AACA,MAAIC,EAAE,GAAG,GAAT;AACA,MAAIC,cAAJ;AACAH,EAAAA,MAAM,CAACI,KAAP,CAAaC,OAAb,GAAuB,MAAvB;;AACAzJ,EAAAA,KAAkB,CAAC0J,WAAnB1J,CAA+BoJ,MAA/BpJ;;AACAoJ,EAAAA,MAAM,CAACO,GAAP,GAAa,aAAb,CAT2B;;;;AAY3BJ,EAAAA,cAAc,GAAGH,MAAM,CAACQ,aAAP,CAAqBhK,QAAtC;AACA2J,EAAAA,cAAc,CAACM,IAAf;AACAN,EAAAA,cAAc,CAACO,KAAf,CAAqBT,EAAE,GAAG,QAAL,GAAgBC,EAAhB,GAAqB,mBAArB,GAA2CD,EAA3C,GAAgD,SAAhD,GAA4DC,EAAjF;AACAC,EAAAA,cAAc,CAACQ,KAAf;AACAZ,EAAAA,WAAU,GAAGI,cAAc,CAAC5F,CAA5B;;AACA,SAAO+E,CAAC,EAAR;AAAY,WAAOS,WAAU,CAAC9F,WAAD,CAAV,CAAsBwF,YAAW,CAACH,CAAD,CAAjC,CAAP;AAAZ;;AACA,SAAOS,WAAU,EAAjB;AACD,CAnBD;;AAqBA,iBAAc,GAAGlL,MAAM,CAAC+L,MAAP,IAAiB,SAASA,MAAT,CAAgB7J,CAAhB,EAAmB4I,UAAnB,EAA+B;AAC/D,MAAIvB,MAAJ;;AACA,MAAIrH,CAAC,KAAK,IAAV,EAAgB;AACd+I,IAAAA,KAAK,CAAC7F,WAAD,CAAL,GAAmBnB,SAAQ,CAAC/B,CAAD,CAA3B;AACAqH,IAAAA,MAAM,GAAG,IAAI0B,KAAJ,EAAT;AACAA,IAAAA,KAAK,CAAC7F,WAAD,CAAL,GAAmB,IAAnB,CAHc;;AAKdmE,IAAAA,MAAM,CAAC9F,UAAD,CAAN,GAAmBvB,CAAnB;AACD,GAND,MAMOqH,MAAM,GAAG2B,WAAU,EAAnB;;AACP,SAAOJ,UAAU,KAAK3K,SAAf,GAA2BoJ,MAA3B,GAAoCyC,UAAG,CAACzC,MAAD,EAASuB,UAAT,CAA9C;AACD,CAVD;;AC9BA,IAAImB,GAAG,GAAGjL,SAAuB,CAAC0B,CAAlC;;AAEA,IAAIuF,KAAG,GAAGnG,IAAiB,CAAC,aAAD,CAA3B;;AAEA,mBAAc,GAAG,wBAAA,CAAUjC,EAAV,EAAcqM,GAAd,EAAmBC,IAAnB,EAAyB;AACxC,MAAItM,EAAE,IAAI,CAAC0C,IAAG,CAAC1C,EAAE,GAAGsM,IAAI,GAAGtM,EAAH,GAAQA,EAAE,CAAC8D,SAArB,EAAgCsE,KAAhC,CAAd,EAAoDgE,GAAG,CAACpM,EAAD,EAAKoI,KAAL,EAAU;AAAEvI,IAAAA,YAAY,EAAE,IAAhB;AAAsBF,IAAAA,KAAK,EAAE0M;AAA7B,GAAV,CAAH;AACrD,CAFD;;ACAA,IAAIE,iBAAiB,GAAG,EAAxB,EAEA;;AACApL,KAAkB,CAACoL,iBAAD,EAAoBtK,IAAiB,CAAC,UAAD,CAArC,EAAmD,YAAY;AAAE,SAAO,IAAP;AAAc,CAA/E,CAAlBd;;AAEA,eAAc,GAAG,oBAAA,CAAUqL,WAAV,EAAuBvC,IAAvB,EAA6BhB,IAA7B,EAAmC;AAClDuD,EAAAA,WAAW,CAAC1I,SAAZ,GAAwBoI,aAAM,CAACK,iBAAD,EAAoB;AAAEtD,IAAAA,IAAI,EAAEwD,aAAU,CAAC,CAAD,EAAIxD,IAAJ;AAAlB,GAApB,CAA9B;;AACAyD,EAAAA,eAAc,CAACF,WAAD,EAAcvC,IAAI,GAAG,WAArB,CAAdyC;AACD,CAHD;;ACAA,IAAIjF,UAAQ,GAAGtG,IAAiB,CAAC,UAAD,CAAhC;;AACA,IAAIwL,KAAK,GAAG,EAAE,GAAG9B,IAAH,IAAW,UAAU,GAAGA,IAAH,EAAvB,CAAZ;;AACA,IAAI+B,WAAW,GAAG,YAAlB;AACA,IAAIC,IAAI,GAAG,MAAX;AACA,IAAIC,MAAM,GAAG,QAAb;;AAEA,IAAIC,UAAU,GAAG,SAAbA,UAAa,GAAY;AAAE,SAAO,IAAP;AAAc,CAA7C;;AAEA,eAAc,GAAG,oBAAA,CAAUC,IAAV,EAAgB/C,IAAhB,EAAsBuC,WAAtB,EAAmCvD,IAAnC,EAAyCgE,OAAzC,EAAkDC,MAAlD,EAA0DC,MAA1D,EAAkE;AACjFC,EAAAA,WAAW,CAACZ,WAAD,EAAcvC,IAAd,EAAoBhB,IAApB,CAAXmE;;AACA,MAAIC,SAAS,GAAG,SAAZA,SAAY,CAAUC,IAAV,EAAgB;AAC9B,QAAI,CAACX,KAAD,IAAUW,IAAI,IAAIpG,KAAtB,EAA6B,OAAOA,KAAK,CAACoG,IAAD,CAAZ;;AAC7B,YAAQA,IAAR;AACE,WAAKT,IAAL;AAAW,eAAO,SAAShC,IAAT,GAAgB;AAAE,iBAAO,IAAI2B,WAAJ,CAAgB,IAAhB,EAAsBc,IAAtB,CAAP;AAAqC,SAA9D;;AACX,WAAKR,MAAL;AAAa,eAAO,SAASS,MAAT,GAAkB;AAAE,iBAAO,IAAIf,WAAJ,CAAgB,IAAhB,EAAsBc,IAAtB,CAAP;AAAqC,SAAhE;AAFf;;AAGE,WAAO,SAASlG,OAAT,GAAmB;AAAE,aAAO,IAAIoF,WAAJ,CAAgB,IAAhB,EAAsBc,IAAtB,CAAP;AAAqC,KAAjE;AACH,GAND;;AAOA,MAAIlF,GAAG,GAAG6B,IAAI,GAAG,WAAjB;AACA,MAAIuD,UAAU,GAAGP,OAAO,IAAIH,MAA5B;AACA,MAAIW,UAAU,GAAG,KAAjB;AACA,MAAIvG,KAAK,GAAG8F,IAAI,CAAClJ,SAAjB;AACA,MAAI4J,OAAO,GAAGxG,KAAK,CAACO,UAAD,CAAL,IAAmBP,KAAK,CAAC0F,WAAD,CAAxB,IAAyCK,OAAO,IAAI/F,KAAK,CAAC+F,OAAD,CAAvE;AACA,MAAIU,QAAQ,GAAGD,OAAO,IAAIL,SAAS,CAACJ,OAAD,CAAnC;AACA,MAAIW,QAAQ,GAAGX,OAAO,GAAG,CAACO,UAAD,GAAcG,QAAd,GAAyBN,SAAS,CAAC,SAAD,CAArC,GAAmD/M,SAAzE;AACA,MAAIuN,UAAU,GAAG5D,IAAI,IAAI,OAAR,GAAkB/C,KAAK,CAACE,OAAN,IAAiBsG,OAAnC,GAA6CA,OAA9D;AACA,MAAII,OAAJ,EAAa9M,GAAb,EAAkBuL,iBAAlB,CAjBiF;;AAmBjF,MAAIsB,UAAJ,EAAgB;AACdtB,IAAAA,iBAAiB,GAAGxI,UAAc,CAAC8J,UAAU,CAAC5N,IAAX,CAAgB,IAAI+M,IAAJ,EAAhB,CAAD,CAAlC;;AACA,QAAIT,iBAAiB,KAAKpM,MAAM,CAAC2D,SAA7B,IAA0CyI,iBAAiB,CAACtD,IAAhE,EAAsE;;AAEpEyD,MAAAA,eAAc,CAACH,iBAAD,EAAoBnE,GAApB,EAAyB,IAAzB,CAAdsE,CAFoE;;;AAIpE,UAAgB,OAAOH,iBAAiB,CAAC9E,UAAD,CAAxB,IAAsC,UAAtD,EAAkE5C,KAAI,CAAC0H,iBAAD,EAAoB9E,UAApB,EAA8BsF,UAA9B,CAAJlI;AACnE;AACF,GA3BgF;;;AA6BjF,MAAI2I,UAAU,IAAIE,OAAd,IAAyBA,OAAO,CAAChI,IAAR,KAAiBoH,MAA9C,EAAsD;AACpDW,IAAAA,UAAU,GAAG,IAAb;;AACAE,IAAAA,QAAQ,GAAG,SAASJ,MAAT,GAAkB;AAAE,aAAOG,OAAO,CAACzN,IAAR,CAAa,IAAb,CAAP;AAA4B,KAA3D;AACD,GAhCgF;;;AAkCjF,MAA6B0M,KAAK,IAAIc,UAAT,IAAuB,CAACvG,KAAK,CAACO,UAAD,CAA1D,EAAuE;AACrE5C,IAAAA,KAAI,CAACqC,KAAD,EAAQO,UAAR,EAAkBkG,QAAlB,CAAJ9I;AACD,GApCgF;;;AAsCjF+C,EAAAA,UAAS,CAACqC,IAAD,CAATrC,GAAkB+F,QAAlB/F;AACAA,EAAAA,UAAS,CAACQ,GAAD,CAATR,GAAiBmF,UAAjBnF;;AACA,MAAIqF,OAAJ,EAAa;AACXa,IAAAA,OAAO,GAAG;AACRP,MAAAA,MAAM,EAAEC,UAAU,GAAGG,QAAH,GAAcN,SAAS,CAACP,MAAD,CADjC;AAERjC,MAAAA,IAAI,EAAEqC,MAAM,GAAGS,QAAH,GAAcN,SAAS,CAACR,IAAD,CAF3B;AAGRzF,MAAAA,OAAO,EAAEwG;AAHD,KAAV;AAKA,QAAIT,MAAJ,EAAY,KAAKnM,GAAL,IAAY8M,OAAZ,EAAqB;AAC/B,UAAI,EAAE9M,GAAG,IAAIkG,KAAT,CAAJ,EAAqBP,SAAQ,CAACO,KAAD,EAAQlG,GAAR,EAAa8M,OAAO,CAAC9M,GAAD,CAApB,CAAR2F;AACtB,KAFD,MAEOnB,OAAO,CAACA,OAAO,CAAClD,CAARkD,GAAYA,OAAO,CAACK,CAARL,IAAamH,KAAK,IAAIc,UAAtBjI,CAAb,EAAgDyE,IAAhD,EAAsD6D,OAAtD,CAAPtI;AACR;;AACD,SAAOsI,OAAP;AACD,CAnDD,ECXA;AACA;AACA;AACA;;;AACA,sBAAc,GAAG3M,WAAyB,CAACwG,KAAD,EAAQ,OAAR,EAAiB,UAAUoG,QAAV,EAAoBT,IAApB,EAA0B;AACnF,OAAKU,EAAL,GAAUzL,UAAS,CAACwL,QAAD,CAAnB,CADmF;;AAEnF,OAAKE,EAAL,GAAU,CAAV,CAFmF;;AAGnF,OAAKC,EAAL,GAAUZ,IAAV,CAHmF;AAIrF;AACC,CALyC,EAKvC,YAAY;AACb,MAAIjL,CAAC,GAAG,KAAK2L,EAAb;AACA,MAAIV,IAAI,GAAG,KAAKY,EAAhB;AACA,MAAIhG,KAAK,GAAG,KAAK+F,EAAL,EAAZ;;AACA,MAAI,CAAC5L,CAAD,IAAM6F,KAAK,IAAI7F,CAAC,CAAC4C,MAArB,EAA6B;AAC3B,SAAK+I,EAAL,GAAU1N,SAAV;AACA,WAAOqJ,SAAI,CAAC,CAAD,CAAX;AACD;;AACD,MAAI2D,IAAI,IAAI,MAAZ,EAAoB,OAAO3D,SAAI,CAAC,CAAD,EAAIzB,KAAJ,CAAX;AACpB,MAAIoF,IAAI,IAAI,QAAZ,EAAsB,OAAO3D,SAAI,CAAC,CAAD,EAAItH,CAAC,CAAC6F,KAAD,CAAL,CAAX;AACtB,SAAOyB,SAAI,CAAC,CAAD,EAAI,CAACzB,KAAD,EAAQ7F,CAAC,CAAC6F,KAAD,CAAT,CAAJ,CAAX;AACD,CAhByC,EAgBvC,QAhBuC,CAA1C,EAkBA;;;AACAN,UAAS,CAACuG,SAAVvG,GAAsBA,UAAS,CAACD,KAAhCC;;AAEAwG,iBAAgB,CAAC,MAAD,CAAhBA;;AACAA,iBAAgB,CAAC,QAAD,CAAhBA;;AACAA,iBAAgB,CAAC,SAAD,CAAhBA;;AC1BA,IAAI3G,UAAQ,GAAG4G,IAAG,CAAC,UAAD,CAAlB;;AACA,IAAIC,aAAa,GAAGD,IAAG,CAAC,aAAD,CAAvB;;AACA,IAAIE,WAAW,GAAG3G,UAAS,CAACD,KAA5B;AAEA,IAAI6G,YAAY,GAAG;AACjBC,EAAAA,WAAW,EAAE,IADI;;AAEjBC,EAAAA,mBAAmB,EAAE,KAFJ;AAGjBC,EAAAA,YAAY,EAAE,KAHG;AAIjBC,EAAAA,cAAc,EAAE,KAJC;AAKjBC,EAAAA,WAAW,EAAE,KALI;AAMjBC,EAAAA,aAAa,EAAE,KANE;AAOjBC,EAAAA,YAAY,EAAE,IAPG;AAQjBC,EAAAA,oBAAoB,EAAE,KARL;AASjBC,EAAAA,QAAQ,EAAE,KATO;AAUjBC,EAAAA,iBAAiB,EAAE,KAVF;AAWjBC,EAAAA,cAAc,EAAE,KAXC;AAYjBC,EAAAA,eAAe,EAAE,KAZA;AAajBC,EAAAA,iBAAiB,EAAE,KAbF;AAcjBC,EAAAA,SAAS,EAAE,IAdM;;AAejBC,EAAAA,aAAa,EAAE,KAfE;AAgBjBC,EAAAA,YAAY,EAAE,KAhBG;AAiBjBC,EAAAA,QAAQ,EAAE,IAjBO;AAkBjBC,EAAAA,gBAAgB,EAAE,KAlBD;AAmBjBC,EAAAA,MAAM,EAAE,KAnBS;AAoBjBC,EAAAA,WAAW,EAAE,KApBI;AAqBjBC,EAAAA,aAAa,EAAE,KArBE;AAsBjBC,EAAAA,aAAa,EAAE,KAtBE;AAuBjBC,EAAAA,cAAc,EAAE,KAvBC;AAwBjBC,EAAAA,YAAY,EAAE,KAxBG;AAyBjBC,EAAAA,aAAa,EAAE,KAzBE;AA0BjBC,EAAAA,gBAAgB,EAAE,KA1BD;AA2BjBC,EAAAA,gBAAgB,EAAE,KA3BD;AA4BjBC,EAAAA,cAAc,EAAE,IA5BC;;AA6BjBC,EAAAA,gBAAgB,EAAE,KA7BD;AA8BjBC,EAAAA,aAAa,EAAE,KA9BE;AA+BjBC,EAAAA,SAAS,EAAE;AA/BM,CAAnB;;AAkCA,KAAK,IAAIC,WAAW,GAAGtF,WAAO,CAACsD,YAAD,CAAzB,EAAyC5D,CAAC,GAAG,CAAlD,EAAqDA,CAAC,GAAG4F,WAAW,CAACvL,MAArE,EAA6E2F,CAAC,EAA9E,EAAkF;AAChF,MAAIX,MAAI,GAAGuG,WAAW,CAAC5F,CAAD,CAAtB;AACA,MAAI6F,QAAQ,GAAGjC,YAAY,CAACvE,MAAD,CAA3B;AACA,MAAIyG,UAAU,GAAGnP,OAAM,CAAC0I,MAAD,CAAvB;AACA,MAAI/C,KAAK,GAAGwJ,UAAU,IAAIA,UAAU,CAAC5M,SAArC;AACA,MAAI9C,GAAJ;;AACA,MAAIkG,KAAJ,EAAW;AACT,QAAI,CAACA,KAAK,CAACO,UAAD,CAAV,EAAsB5C,KAAI,CAACqC,KAAD,EAAQO,UAAR,EAAkB8G,WAAlB,CAAJ1J;AACtB,QAAI,CAACqC,KAAK,CAACoH,aAAD,CAAV,EAA2BzJ,KAAI,CAACqC,KAAD,EAAQoH,aAAR,EAAuBrE,MAAvB,CAAJpF;AAC3B+C,IAAAA,UAAS,CAACqC,MAAD,CAATrC,GAAkB2G,WAAlB3G;AACA,QAAI6I,QAAJ,EAAc,KAAKzP,GAAL,IAAY2P,kBAAZ;AAAwB,UAAI,CAACzJ,KAAK,CAAClG,GAAD,CAAV,EAAiB2F,SAAQ,CAACO,KAAD,EAAQlG,GAAR,EAAa2P,kBAAU,CAAC3P,GAAD,CAAvB,EAA8B,IAA9B,CAAR2F;AAAzC;AACf;ECvDH;;;AAEA,IAAIiK,IAAI,GAAG,EAAX;AACAA,IAAI,CAACzP,IAAiB,CAAC,aAAD,CAAlB,CAAJ,GAAyC,GAAzC;;AACA,IAAIyP,IAAI,GAAG,EAAP,IAAa,YAAjB,EAA+B;AAC7B3O,EAAAA,SAAsB,CAAC9B,MAAM,CAAC2D,SAAR,EAAmB,UAAnB,EAA+B,SAAS/D,QAAT,GAAoB;AACvE,WAAO,aAAa2I,QAAO,CAAC,IAAD,CAApB,GAA6B,GAApC;AACD,GAFqB,EAEnB,IAFmB,CAAtBzG;ECJF;AACA;;;AACA,aAAc,GAAG,kBAAA,CAAUsC,SAAV,EAAqB;AACpC,SAAO,UAAUS,IAAV,EAAgB6L,GAAhB,EAAqB;AAC1B,QAAIC,CAAC,GAAG/L,MAAM,CAACtE,QAAO,CAACuE,IAAD,CAAR,CAAd;;AACA,QAAI4F,CAAC,GAAG3C,UAAS,CAAC4I,GAAD,CAAjB;;AACA,QAAIE,CAAC,GAAGD,CAAC,CAAC7L,MAAV;AACA,QAAI3D,CAAJ,EAAO6D,CAAP;AACA,QAAIyF,CAAC,GAAG,CAAJ,IAASA,CAAC,IAAImG,CAAlB,EAAqB,OAAOxM,SAAS,GAAG,EAAH,GAAQjE,SAAxB;AACrBgB,IAAAA,CAAC,GAAGwP,CAAC,CAACE,UAAF,CAAapG,CAAb,CAAJ;AACA,WAAOtJ,CAAC,GAAG,MAAJ,IAAcA,CAAC,GAAG,MAAlB,IAA4BsJ,CAAC,GAAG,CAAJ,KAAUmG,CAAtC,IAA2C,CAAC5L,CAAC,GAAG2L,CAAC,CAACE,UAAF,CAAapG,CAAC,GAAG,CAAjB,CAAL,IAA4B,MAAvE,IAAiFzF,CAAC,GAAG,MAArF,GACHZ,SAAS,GAAGuM,CAAC,CAACG,MAAF,CAASrG,CAAT,CAAH,GAAiBtJ,CADvB,GAEHiD,SAAS,GAAGuM,CAAC,CAAC5Q,KAAF,CAAQ0K,CAAR,EAAWA,CAAC,GAAG,CAAf,CAAH,GAAuB,CAACtJ,CAAC,GAAG,MAAJ,IAAc,EAAf,KAAsB6D,CAAC,GAAG,MAA1B,IAAoC,OAFxE;AAGD,GAVD;AAWD,CAZD;;ACHA,IAAI+L,GAAG,GAAG/P,SAAuB,CAAC,IAAD,CAAjC,EAEA;;;AACAc,WAAyB,CAAC8C,MAAD,EAAS,QAAT,EAAmB,UAAUgJ,QAAV,EAAoB;AAC9D,OAAKC,EAAL,GAAUjJ,MAAM,CAACgJ,QAAD,CAAhB,CAD8D;;AAE9D,OAAKE,EAAL,GAAU,CAAV,CAF8D;AAGhE;AACC,CAJwB,EAItB,YAAY;AACb,MAAI5L,CAAC,GAAG,KAAK2L,EAAb;AACA,MAAI9F,KAAK,GAAG,KAAK+F,EAAjB;AACA,MAAIkD,KAAJ;AACA,MAAIjJ,KAAK,IAAI7F,CAAC,CAAC4C,MAAf,EAAuB,OAAO;AAAEtF,IAAAA,KAAK,EAAEW,SAAT;AAAoB4I,IAAAA,IAAI,EAAE;AAA1B,GAAP;AACvBiI,EAAAA,KAAK,GAAGD,GAAG,CAAC7O,CAAD,EAAI6F,KAAJ,CAAX;AACA,OAAK+F,EAAL,IAAWkD,KAAK,CAAClM,MAAjB;AACA,SAAO;AAAEtF,IAAAA,KAAK,EAAEwR,KAAT;AAAgBjI,IAAAA,IAAI,EAAE;AAAtB,GAAP;AACD,CAZwB,CAAzBjH;;ACHA,gBAAc,GAAG,qBAAA,CAAUmE,MAAV,EAAkByF,GAAlB,EAAuBlH,IAAvB,EAA6B;AAC5C,OAAK,IAAI3D,GAAT,IAAgB6K,GAAhB;AAAqBlF,IAAAA,SAAQ,CAACP,MAAD,EAASpF,GAAT,EAAc6K,GAAG,CAAC7K,GAAD,CAAjB,EAAwB2D,IAAxB,CAARgC;AAArB;;AACA,SAAOP,MAAP;AACD,CAHD;;ACDA,eAAc,GAAG,oBAAA,CAAUpG,EAAV,EAAcwM,WAAd,EAA2B9G,IAA3B,EAAiC0L,cAAjC,EAAiD;AAChE,MAAI,EAAEpR,EAAE,YAAYwM,WAAhB,KAAiC4E,cAAc,KAAK9Q,SAAnB,IAAgC8Q,cAAc,IAAIpR,EAAvF,EAA4F;AAC1F,UAAMO,SAAS,CAACmF,IAAI,GAAG,yBAAR,CAAf;AACD;;AAAC,SAAO1F,EAAP;AACH,CAJD;;;ACMA,MAAIqR,KAAK,GAAG,EAAZ;AACA,MAAIC,MAAM,GAAG,EAAb;;AACA,MAAIjL,OAAO,GAAG7E,cAAA,GAAiB,UAAU+P,QAAV,EAAoBnK,OAApB,EAA6BxG,EAA7B,EAAiCoE,IAAjC,EAAuCyC,QAAvC,EAAiD;AAC9E,QAAI+B,MAAM,GAAG/B,QAAQ,GAAG,YAAY;AAAE,aAAO8J,QAAP;AAAkB,KAAnC,GAAsC9H,sBAAS,CAAC8H,QAAD,CAApE;;AACA,QAAI1O,CAAC,GAAG6D,IAAG,CAAC9F,EAAD,EAAKoE,IAAL,EAAWoC,OAAO,GAAG,CAAH,GAAO,CAAzB,CAAX;;AACA,QAAIc,KAAK,GAAG,CAAZ;AACA,QAAIjD,MAAJ,EAAY0E,IAAZ,EAAkBxC,QAAlB,EAA4BuC,MAA5B;AACA,QAAI,OAAOF,MAAP,IAAiB,UAArB,EAAiC,MAAMjJ,SAAS,CAACgR,QAAQ,GAAG,mBAAZ,CAAf,CAL6C;;AAO9E,QAAI3H,YAAW,CAACJ,MAAD,CAAf,EAAyB,KAAKvE,MAAM,GAAG6E,SAAQ,CAACyH,QAAQ,CAACtM,MAAV,CAAtB,EAAyCA,MAAM,GAAGiD,KAAlD,EAAyDA,KAAK,EAA9D,EAAkE;AACzFwB,MAAAA,MAAM,GAAGtC,OAAO,GAAGvE,CAAC,CAACuB,SAAQ,CAACuF,IAAI,GAAG4H,QAAQ,CAACrJ,KAAD,CAAhB,CAAR9D,CAAiC,CAAjCA,CAAD,EAAsCuF,IAAI,CAAC,CAAD,CAA1C,CAAJ,GAAqD9G,CAAC,CAAC0O,QAAQ,CAACrJ,KAAD,CAAT,CAAtE;AACA,UAAIwB,MAAM,KAAK2H,KAAX,IAAoB3H,MAAM,KAAK4H,MAAnC,EAA2C,OAAO5H,MAAP;AAC5C,KAHD,MAGO,KAAKvC,QAAQ,GAAGqC,MAAM,CAACvJ,IAAP,CAAYsR,QAAZ,CAAhB,EAAuC,CAAC,CAAC5H,IAAI,GAAGxC,QAAQ,CAAC8B,IAAT,EAAR,EAAyBC,IAAjE,GAAwE;AAC7EQ,MAAAA,MAAM,GAAGzJ,SAAI,CAACkH,QAAD,EAAWtE,CAAX,EAAc8G,IAAI,CAAChK,KAAnB,EAA0ByH,OAA1B,CAAb;AACA,UAAIsC,MAAM,KAAK2H,KAAX,IAAoB3H,MAAM,KAAK4H,MAAnC,EAA2C,OAAO5H,MAAP;AAC5C;AACF,GAdD;;AAeArD,EAAAA,OAAO,CAACgL,KAAR,GAAgBA,KAAhB;AACAhL,EAAAA,OAAO,CAACiL,MAAR,GAAiBA,MAAjB;;;ACpBA,IAAIE,OAAO,GAAGrQ,IAAiB,CAAC,SAAD,CAA/B;;AAEA,eAAc,GAAG,oBAAA,CAAUsQ,GAAV,EAAe;AAC9B,MAAIrI,CAAC,GAAG7H,OAAM,CAACkQ,GAAD,CAAd;AACA,MAAIC,YAAW,IAAItI,CAAfsI,IAAoB,CAACtI,CAAC,CAACoI,OAAD,CAA1B,EAAqCtN,SAAE,CAACrB,CAAHqB,CAAKkF,CAALlF,EAAQsN,OAARtN,EAAiB;AACpDrE,IAAAA,YAAY,EAAE,IADsC;AAEpDwB,IAAAA,GAAG,EAAE,eAAY;AAAE,aAAO,IAAP;AAAc;AAFmB,GAAjB6C;AAItC,CAND;;;ACNA,MAAIyN,IAAI,GAAGxQ,IAAiB,CAAC,MAAD,CAA5B;;AAGA,MAAIyQ,OAAO,GAAG3P,SAAuB,CAACY,CAAtC;AACA,MAAIS,EAAE,GAAG,CAAT;;AACA,MAAIuO,YAAY,GAAG1R,MAAM,CAAC0R,YAAP,IAAuB,YAAY;AACpD,WAAO,IAAP;AACD,GAFD;;AAGA,MAAIC,MAAM,GAAG,CAAC5P,MAAmB,CAAC,YAAY;AAC5C,WAAO2P,YAAY,CAAC1R,MAAM,CAAC4R,iBAAP,CAAyB,EAAzB,CAAD,CAAnB;AACD,GAFgC,CAAjC;;AAGA,MAAIC,OAAO,GAAG,SAAVA,OAAU,CAAUhS,EAAV,EAAc;AAC1B4R,IAAAA,OAAO,CAAC5R,EAAD,EAAK2R,IAAL,EAAW;AAAEhS,MAAAA,KAAK,EAAE;AACzBiL,QAAAA,CAAC,EAAE,MAAM,EAAEtH,EADc;;AAEzB2O,QAAAA,CAAC,EAAE,EAFsB;;AAAA;AAAT,KAAX,CAAP;AAID,GALD;;AAMA,MAAIC,OAAO,GAAG,SAAVA,OAAU,CAAUlS,EAAV,EAAckM,MAAd,EAAsB;;AAElC,QAAI,CAACvL,SAAQ,CAACX,EAAD,CAAb,EAAmB,OAAO,SAAOA,EAAP,KAAa,QAAb,GAAwBA,EAAxB,GAA6B,CAAC,OAAOA,EAAP,IAAa,QAAb,GAAwB,GAAxB,GAA8B,GAA/B,IAAsCA,EAA1E;;AACnB,QAAI,CAAC0C,IAAG,CAAC1C,EAAD,EAAK2R,IAAL,CAAR,EAAoB;;AAElB,UAAI,CAACE,YAAY,CAAC7R,EAAD,CAAjB,EAAuB,OAAO,GAAP,CAFL;;AAIlB,UAAI,CAACkM,MAAL,EAAa,OAAO,GAAP,CAJK;;AAMlB8F,MAAAA,OAAO,CAAChS,EAAD,CAAP,CANkB;AAQnB;;AAAC,WAAOA,EAAE,CAAC2R,IAAD,CAAF,CAAS/G,CAAhB;AACH,GAZD;;AAaA,MAAIuH,OAAO,GAAG,SAAVA,OAAU,CAAUnS,EAAV,EAAckM,MAAd,EAAsB;AAClC,QAAI,CAACxJ,IAAG,CAAC1C,EAAD,EAAK2R,IAAL,CAAR,EAAoB;;AAElB,UAAI,CAACE,YAAY,CAAC7R,EAAD,CAAjB,EAAuB,OAAO,IAAP,CAFL;;AAIlB,UAAI,CAACkM,MAAL,EAAa,OAAO,KAAP,CAJK;;AAMlB8F,MAAAA,OAAO,CAAChS,EAAD,CAAP,CANkB;AAQnB;;AAAC,WAAOA,EAAE,CAAC2R,IAAD,CAAF,CAASM,CAAhB;AACH,GAVD,EAWA;;;AACA,MAAIG,QAAQ,GAAG,SAAXA,QAAW,CAAUpS,EAAV,EAAc;AAC3B,QAAI8R,MAAM,IAAIO,IAAI,CAACC,IAAf,IAAuBT,YAAY,CAAC7R,EAAD,CAAnC,IAA2C,CAAC0C,IAAG,CAAC1C,EAAD,EAAK2R,IAAL,CAAnD,EAA+DK,OAAO,CAAChS,EAAD,CAAP;AAC/D,WAAOA,EAAP;AACD,GAHD;;AAIA,MAAIqS,IAAI,GAAG7Q,cAAA,GAAiB;AAC1BiQ,IAAAA,GAAG,EAAEE,IADqB;AAE1BW,IAAAA,IAAI,EAAE,KAFoB;AAG1BJ,IAAAA,OAAO,EAAEA,OAHiB;AAI1BC,IAAAA,OAAO,EAAEA,OAJiB;AAK1BC,IAAAA,QAAQ,EAAEA;AALgB,GAA5B;;;AC7CA,uBAAc,GAAG,4BAAA,CAAUpS,EAAV,EAAcuS,IAAd,EAAoB;AACnC,MAAI,CAAC5R,SAAQ,CAACX,EAAD,CAAT,IAAiBA,EAAE,CAACgO,EAAH,KAAUuE,IAA/B,EAAqC,MAAMhS,SAAS,CAAC,4BAA4BgS,IAA5B,GAAmC,YAApC,CAAf;AACrC,SAAOvS,EAAP;AACD,CAHD;;ACAA,IAAIkE,IAAE,GAAG/C,SAAuB,CAAC0B,CAAjC;AAUA,IAAIqP,OAAO,GAAGjQ,KAAkB,CAACiQ,OAAjC;AAEA,IAAIM,IAAI,GAAGd,YAAW,GAAG,IAAH,GAAU,MAAhC;;AAEA,IAAIe,QAAQ,GAAG,SAAXA,QAAW,CAAUzN,IAAV,EAAgBhE,GAAhB,EAAqB;;AAElC,MAAIkH,KAAK,GAAGgK,OAAO,CAAClR,GAAD,CAAnB;AACA,MAAI0R,KAAJ;AACA,MAAIxK,KAAK,KAAK,GAAd,EAAmB,OAAOlD,IAAI,CAACiJ,EAAL,CAAQ/F,KAAR,CAAP,CAJe;;AAMlC,OAAKwK,KAAK,GAAG1N,IAAI,CAAC2N,EAAlB,EAAsBD,KAAtB,EAA6BA,KAAK,GAAGA,KAAK,CAACE,CAA3C,EAA8C;AAC5C,QAAIF,KAAK,CAACG,CAAN,IAAW7R,GAAf,EAAoB,OAAO0R,KAAP;AACrB;AACF,CATD;;AAWA,qBAAc,GAAG;AACfI,EAAAA,cAAc,EAAE,wBAAUC,OAAV,EAAmB9I,IAAnB,EAAyB+I,MAAzB,EAAiCC,KAAjC,EAAwC;AACtD,QAAI7J,CAAC,GAAG2J,OAAO,CAAC,UAAU/N,IAAV,EAAgBuM,QAAhB,EAA0B;AACxC2B,MAAAA,WAAU,CAAClO,IAAD,EAAOoE,CAAP,EAAUa,IAAV,EAAgB,IAAhB,CAAViJ;;AACAlO,MAAAA,IAAI,CAACgJ,EAAL,GAAU/D,IAAV,CAFwC;;AAGxCjF,MAAAA,IAAI,CAACiJ,EAAL,GAAU/B,aAAM,CAAC,IAAD,CAAhB,CAHwC;;AAIxClH,MAAAA,IAAI,CAAC2N,EAAL,GAAUrS,SAAV,CAJwC;;AAKxC0E,MAAAA,IAAI,CAACmO,EAAL,GAAU7S,SAAV,CALwC;;AAMxC0E,MAAAA,IAAI,CAACwN,IAAD,CAAJ,GAAa,CAAb,CANwC;;AAOxC,UAAIjB,QAAQ,IAAIjR,SAAhB,EAA2B8S,MAAK,CAAC7B,QAAD,EAAWyB,MAAX,EAAmBhO,IAAI,CAACiO,KAAD,CAAvB,EAAgCjO,IAAhC,CAALoO;AAC5B,KARc,CAAf;;AASAC,IAAAA,YAAW,CAACjK,CAAC,CAACtF,SAAH,EAAc;;;AAGvBwP,MAAAA,KAAK,EAAE,SAASA,KAAT,GAAiB;AACtB,aAAK,IAAItO,IAAI,GAAGuO,mBAAQ,CAAC,IAAD,EAAOtJ,IAAP,CAAnB,EAAiCuJ,IAAI,GAAGxO,IAAI,CAACiJ,EAA7C,EAAiDyE,KAAK,GAAG1N,IAAI,CAAC2N,EAAnE,EAAuED,KAAvE,EAA8EA,KAAK,GAAGA,KAAK,CAACE,CAA5F,EAA+F;AAC7FF,UAAAA,KAAK,CAACe,CAAN,GAAU,IAAV;AACA,cAAIf,KAAK,CAACgB,CAAV,EAAahB,KAAK,CAACgB,CAAN,GAAUhB,KAAK,CAACgB,CAAN,CAAQd,CAAR,GAAYtS,SAAtB;AACb,iBAAOkT,IAAI,CAACd,KAAK,CAAC9H,CAAP,CAAX;AACD;;AACD5F,QAAAA,IAAI,CAAC2N,EAAL,GAAU3N,IAAI,CAACmO,EAAL,GAAU7S,SAApB;AACA0E,QAAAA,IAAI,CAACwN,IAAD,CAAJ,GAAa,CAAb;AACD,OAXsB;;;AAcvB,gBAAU,iBAAUxR,GAAV,EAAe;AACvB,YAAIgE,IAAI,GAAGuO,mBAAQ,CAAC,IAAD,EAAOtJ,IAAP,CAAnB;;AACA,YAAIyI,KAAK,GAAGD,QAAQ,CAACzN,IAAD,EAAOhE,GAAP,CAApB;;AACA,YAAI0R,KAAJ,EAAW;AACT,cAAIzJ,IAAI,GAAGyJ,KAAK,CAACE,CAAjB;AACA,cAAIe,IAAI,GAAGjB,KAAK,CAACgB,CAAjB;AACA,iBAAO1O,IAAI,CAACiJ,EAAL,CAAQyE,KAAK,CAAC9H,CAAd,CAAP;AACA8H,UAAAA,KAAK,CAACe,CAAN,GAAU,IAAV;AACA,cAAIE,IAAJ,EAAUA,IAAI,CAACf,CAAL,GAAS3J,IAAT;AACV,cAAIA,IAAJ,EAAUA,IAAI,CAACyK,CAAL,GAASC,IAAT;AACV,cAAI3O,IAAI,CAAC2N,EAAL,IAAWD,KAAf,EAAsB1N,IAAI,CAAC2N,EAAL,GAAU1J,IAAV;AACtB,cAAIjE,IAAI,CAACmO,EAAL,IAAWT,KAAf,EAAsB1N,IAAI,CAACmO,EAAL,GAAUQ,IAAV;AACtB3O,UAAAA,IAAI,CAACwN,IAAD,CAAJ;AACD;;AAAC,eAAO,CAAC,CAACE,KAAT;AACH,OA5BsB;;;AA+BvBkB,MAAAA,OAAO,EAAE,SAASA,OAAT,CAAiBC;;AAAjB,QAAsD;AAC7DN,QAAAA,mBAAQ,CAAC,IAAD,EAAOtJ,IAAP,CAARsJ;;AACA,YAAI1Q,CAAC,GAAG6D,IAAG,CAACmN,UAAD,EAAavO,SAAS,CAACL,MAAV,GAAmB,CAAnB,GAAuBK,SAAS,CAAC,CAAD,CAAhC,GAAsChF,SAAnD,EAA8D,CAA9D,CAAX;;AACA,YAAIoS,KAAJ;;AACA,eAAOA,KAAK,GAAGA,KAAK,GAAGA,KAAK,CAACE,CAAT,GAAa,KAAKD,EAAtC,EAA0C;AACxC9P,UAAAA,CAAC,CAAC6P,KAAK,CAACoB,CAAP,EAAUpB,KAAK,CAACG,CAAhB,EAAmB,IAAnB,CAAD,CADwC;;AAGxC,iBAAOH,KAAK,IAAIA,KAAK,CAACe,CAAtB;AAAyBf,YAAAA,KAAK,GAAGA,KAAK,CAACgB,CAAd;AAAzB;AACD;AACF,OAxCsB;;;AA2CvBhR,MAAAA,GAAG,EAAE,SAASA,GAAT,CAAa1B,GAAb,EAAkB;AACrB,eAAO,CAAC,CAACyR,QAAQ,CAACc,mBAAQ,CAAC,IAAD,EAAOtJ,IAAP,CAAT,EAAuBjJ,GAAvB,CAAjB;AACD;AA7CsB,KAAd,CAAXqS;;AA+CA,QAAI3B,YAAJ,EAAiBxN,IAAE,CAACkF,CAAC,CAACtF,SAAH,EAAc,MAAd,EAAsB;AACvCzC,MAAAA,GAAG,EAAE,eAAY;AACf,eAAOkS,mBAAQ,CAAC,IAAD,EAAOtJ,IAAP,CAARsJ,CAAqBf,IAArBe,CAAP;AACD;AAHsC,KAAtB,CAAFrP;AAKjB,WAAOkF,CAAP;AACD,GAhEc;AAiEfgD,EAAAA,GAAG,EAAE,aAAUpH,IAAV,EAAgBhE,GAAhB,EAAqBrB,KAArB,EAA4B;AAC/B,QAAI+S,KAAK,GAAGD,QAAQ,CAACzN,IAAD,EAAOhE,GAAP,CAApB;AACA,QAAI2S,IAAJ,EAAUzL,KAAV,CAF+B;;AAI/B,QAAIwK,KAAJ,EAAW;AACTA,MAAAA,KAAK,CAACoB,CAAN,GAAUnU,KAAV,CADS;AAGV,KAHD,MAGO;AACLqF,MAAAA,IAAI,CAACmO,EAAL,GAAUT,KAAK,GAAG;AAChB9H,QAAAA,CAAC,EAAE1C,KAAK,GAAGgK,OAAO,CAAClR,GAAD,EAAM,IAAN,CADF;;AAEhB6R,QAAAA,CAAC,EAAE7R,GAFa;;AAGhB8S,QAAAA,CAAC,EAAEnU,KAHa;;AAIhB+T,QAAAA,CAAC,EAAEC,IAAI,GAAG3O,IAAI,CAACmO,EAJC;;AAKhBP,QAAAA,CAAC,EAAEtS,SALa;;AAMhBmT,QAAAA,CAAC,EAAE,KANa;;AAAA,OAAlB;AAQA,UAAI,CAACzO,IAAI,CAAC2N,EAAV,EAAc3N,IAAI,CAAC2N,EAAL,GAAUD,KAAV;AACd,UAAIiB,IAAJ,EAAUA,IAAI,CAACf,CAAL,GAASF,KAAT;AACV1N,MAAAA,IAAI,CAACwN,IAAD,CAAJ,GAXK;;AAaL,UAAItK,KAAK,KAAK,GAAd,EAAmBlD,IAAI,CAACiJ,EAAL,CAAQ/F,KAAR,IAAiBwK,KAAjB;AACpB;;AAAC,WAAO1N,IAAP;AACH,GAvFc;AAwFfyN,EAAAA,QAAQ,EAAEA,QAxFK;AAyFfsB,EAAAA,SAAS,EAAE,mBAAU3K,CAAV,EAAaa,IAAb,EAAmB+I,MAAnB,EAA2B;;;AAGpCgB,IAAAA,WAAW,CAAC5K,CAAD,EAAIa,IAAJ,EAAU,UAAU8D,QAAV,EAAoBT,IAApB,EAA0B;AAC7C,WAAKU,EAAL,GAAUuF,mBAAQ,CAACxF,QAAD,EAAW9D,IAAX,CAAlB,CAD6C;;AAE7C,WAAKiE,EAAL,GAAUZ,IAAV,CAF6C;;AAG7C,WAAK6F,EAAL,GAAU7S,SAAV,CAH6C;AAI9C,KAJU,EAIR,YAAY;AACb,UAAI0E,IAAI,GAAG,IAAX;AACA,UAAIsI,IAAI,GAAGtI,IAAI,CAACkJ,EAAhB;AACA,UAAIwE,KAAK,GAAG1N,IAAI,CAACmO,EAAjB,CAHa;;AAKb,aAAOT,KAAK,IAAIA,KAAK,CAACe,CAAtB;AAAyBf,QAAAA,KAAK,GAAGA,KAAK,CAACgB,CAAd;AAAzB,OALa;;;AAOb,UAAI,CAAC1O,IAAI,CAACgJ,EAAN,IAAY,EAAEhJ,IAAI,CAACmO,EAAL,GAAUT,KAAK,GAAGA,KAAK,GAAGA,KAAK,CAACE,CAAT,GAAa5N,IAAI,CAACgJ,EAAL,CAAQ2E,EAA9C,CAAhB,EAAmE;;AAEjE3N,QAAAA,IAAI,CAACgJ,EAAL,GAAU1N,SAAV;AACA,eAAOqJ,SAAI,CAAC,CAAD,CAAX;AACD,OAXY;;;AAab,UAAI2D,IAAI,IAAI,MAAZ,EAAoB,OAAO3D,SAAI,CAAC,CAAD,EAAI+I,KAAK,CAACG,CAAV,CAAX;AACpB,UAAIvF,IAAI,IAAI,QAAZ,EAAsB,OAAO3D,SAAI,CAAC,CAAD,EAAI+I,KAAK,CAACoB,CAAV,CAAX;AACtB,aAAOnK,SAAI,CAAC,CAAD,EAAI,CAAC+I,KAAK,CAACG,CAAP,EAAUH,KAAK,CAACoB,CAAhB,CAAJ,CAAX;AACD,KApBU,EAoBRd,MAAM,GAAG,SAAH,GAAe,QApBb,EAoBuB,CAACA,MApBxB,EAoBgC,IApBhC,CAAXgB,CAHoC;;;AA0BpCC,IAAAA,WAAU,CAAChK,IAAD,CAAVgK;AACD;AApHc,CAAjB,EC1BA;;AACA;;AAGA,IAAIC,KAAK,GAAG,SAARA,KAAQ,CAAU7R,CAAV,EAAa6E,KAAb,EAAoB;AAC9B9C,EAAAA,SAAQ,CAAC/B,CAAD,CAAR+B;;AACA,MAAI,CAACzD,SAAQ,CAACuG,KAAD,CAAT,IAAoBA,KAAK,KAAK,IAAlC,EAAwC,MAAM3G,SAAS,CAAC2G,KAAK,GAAG,2BAAT,CAAf;AACzC,CAHD;;AAIA,aAAc,GAAG;AACfiN,EAAAA,GAAG,EAAEhU,MAAM,CAACiU,cAAP,KAA0B,eAAe,EAAf;AAC7B,YAAUxD,IAAV,EAAgByD,KAAhB,EAAuBF,GAAvB,EAA4B;AAC1B,QAAI;AACFA,MAAAA,GAAG,GAAGhT,IAAiB,CAACS,QAAQ,CAAC3B,IAAV,EAAgBgC,WAAyB,CAACY,CAA1BZ,CAA4B9B,MAAM,CAAC2D,SAAnC7B,EAA8C,WAA9CA,EAA2DkS,GAA3E,EAAgF,CAAhF,CAAvB;AACAA,MAAAA,GAAG,CAACvD,IAAD,EAAO,EAAP,CAAH;AACAyD,MAAAA,KAAK,GAAG,EAAEzD,IAAI,YAAYjJ,KAAlB,CAAR;AACD,KAJD,CAIE,OAAOzG,CAAP,EAAU;AAAEmT,MAAAA,KAAK,GAAG,IAAR;AAAe;;AAC7B,WAAO,SAASD,cAAT,CAAwB/R,CAAxB,EAA2B6E,KAA3B,EAAkC;AACvCgN,MAAAA,KAAK,CAAC7R,CAAD,EAAI6E,KAAJ,CAAL;AACA,UAAImN,KAAJ,EAAWhS,CAAC,CAACiS,SAAF,GAAcpN,KAAd,CAAX,KACKiN,GAAG,CAAC9R,CAAD,EAAI6E,KAAJ,CAAH;AACL,aAAO7E,CAAP;AACD,KALD;AAMD,GAZD,CAYE,EAZF,EAYM,KAZN,CAD6B,GAad/B,SAbZ,CADU;AAef4T,EAAAA,KAAK,EAAEA;AAfQ,CAAjB;ACPA,IAAIE,cAAc,GAAGjT,SAAuB,CAACgT,GAA7C;;AACA,sBAAc,GAAG,2BAAA,CAAUnP,IAAV,EAAgBoB,MAAhB,EAAwBgD,CAAxB,EAA2B;AAC1C,MAAI1I,CAAC,GAAG0F,MAAM,CAACnC,WAAf;AACA,MAAI3B,CAAJ;;AACA,MAAI5B,CAAC,KAAK0I,CAAN,IAAW,OAAO1I,CAAP,IAAY,UAAvB,IAAqC,CAAC4B,CAAC,GAAG5B,CAAC,CAACoD,SAAP,MAAsBsF,CAAC,CAACtF,SAA7D,IAA0EnD,SAAQ,CAAC2B,CAAD,CAAlF,IAAyF8R,cAA7F,EAA6G;AAC3GA,IAAAA,cAAc,CAACpP,IAAD,EAAO1C,CAAP,CAAd;AACD;;AAAC,SAAO0C,IAAP;AACH,CAND;;ACYA,eAAc,GAAG,oBAAA,CAAUiF,IAAV,EAAgB8I,OAAhB,EAAyBjF,OAAzB,EAAkCyG,MAAlC,EAA0CvB,MAA1C,EAAkDwB,OAAlD,EAA2D;AAC1E,MAAIxH,IAAI,GAAGzL,OAAM,CAAC0I,IAAD,CAAjB;AACA,MAAIb,CAAC,GAAG4D,IAAR;AACA,MAAIiG,KAAK,GAAGD,MAAM,GAAG,KAAH,GAAW,KAA7B;AACA,MAAI9L,KAAK,GAAGkC,CAAC,IAAIA,CAAC,CAACtF,SAAnB;AACA,MAAIzB,CAAC,GAAG,EAAR;;AACA,MAAIoS,SAAS,GAAG,SAAZA,SAAY,CAAUhD,GAAV,EAAe;AAC7B,QAAI7Q,EAAE,GAAGsG,KAAK,CAACuK,GAAD,CAAd;;AACA9K,IAAAA,SAAQ,CAACO,KAAD,EAAQuK,GAAR,EACNA,GAAG,IAAI,QAAP,GAAkB,UAAUnQ,CAAV,EAAa;AAC7B,aAAOkT,OAAO,IAAI,CAAC7T,SAAQ,CAACW,CAAD,CAApB,GAA0B,KAA1B,GAAkCV,EAAE,CAACX,IAAH,CAAQ,IAAR,EAAcqB,CAAC,KAAK,CAAN,GAAU,CAAV,GAAcA,CAA5B,CAAzC;AACD,KAFD,GAEImQ,GAAG,IAAI,KAAP,GAAe,SAAS/O,GAAT,CAAapB,CAAb,EAAgB;AACjC,aAAOkT,OAAO,IAAI,CAAC7T,SAAQ,CAACW,CAAD,CAApB,GAA0B,KAA1B,GAAkCV,EAAE,CAACX,IAAH,CAAQ,IAAR,EAAcqB,CAAC,KAAK,CAAN,GAAU,CAAV,GAAcA,CAA5B,CAAzC;AACD,KAFG,GAEAmQ,GAAG,IAAI,KAAP,GAAe,SAASpQ,GAAT,CAAaC,CAAb,EAAgB;AACjC,aAAOkT,OAAO,IAAI,CAAC7T,SAAQ,CAACW,CAAD,CAApB,GAA0BhB,SAA1B,GAAsCM,EAAE,CAACX,IAAH,CAAQ,IAAR,EAAcqB,CAAC,KAAK,CAAN,GAAU,CAAV,GAAcA,CAA5B,CAA7C;AACD,KAFG,GAEAmQ,GAAG,IAAI,KAAP,GAAe,SAASiD,GAAT,CAAapT,CAAb,EAAgB;AAAEV,MAAAA,EAAE,CAACX,IAAH,CAAQ,IAAR,EAAcqB,CAAC,KAAK,CAAN,GAAU,CAAV,GAAcA,CAA5B;AAAgC,aAAO,IAAP;AAAc,KAA/E,GACA,SAAS6S,GAAT,CAAa7S,CAAb,EAAgB6D,CAAhB,EAAmB;AAAEvE,MAAAA,EAAE,CAACX,IAAH,CAAQ,IAAR,EAAcqB,CAAC,KAAK,CAAN,GAAU,CAAV,GAAcA,CAA5B,EAA+B6D,CAA/B;AAAmC,aAAO,IAAP;AAAc,KARpE,CAARwB;AAUD,GAZD;;AAaA,MAAI,OAAOyC,CAAP,IAAY,UAAZ,IAA0B,EAAEoL,OAAO,IAAItN,KAAK,CAAC0M,OAAN,IAAiB,CAACe,MAAK,CAAC,YAAY;AAC7E,QAAIvL,CAAJ,GAAQhC,OAAR,GAAkB6B,IAAlB;AACD,GAFiE,CAApC,CAA9B,EAEK;;AAEHG,IAAAA,CAAC,GAAGmL,MAAM,CAACzB,cAAP,CAAsBC,OAAtB,EAA+B9I,IAA/B,EAAqC+I,MAArC,EAA6CC,KAA7C,CAAJ;;AACAI,IAAAA,YAAW,CAACjK,CAAC,CAACtF,SAAH,EAAcgK,OAAd,CAAXuF;;AACAhB,IAAAA,KAAI,CAACC,IAALD,GAAY,IAAZA;AACD,GAPD,MAOO;AACL,QAAIuC,QAAQ,GAAG,IAAIxL,CAAJ,EAAf,CADK;;AAGL,QAAIyL,cAAc,GAAGD,QAAQ,CAAC3B,KAAD,CAAR,CAAgBuB,OAAO,GAAG,EAAH,GAAQ,CAAC,CAAhC,EAAmC,CAAnC,KAAyCI,QAA9D,CAHK;;AAKL,QAAIE,oBAAoB,GAAGH,MAAK,CAAC,YAAY;AAAEC,MAAAA,QAAQ,CAAClS,GAAT,CAAa,CAAb;AAAkB,KAAjC,CAAhC,CALK;;;AAOL,QAAIqS,gBAAgB,GAAGC,WAAW,CAAC,UAAUhM,IAAV,EAAgB;AAAE,UAAII,CAAJ,CAAMJ,IAAN;AAAc,KAAjC,CAAlC,CAPK;;;;AASL,QAAIiM,UAAU,GAAG,CAACT,OAAD,IAAYG,MAAK,CAAC,YAAY;;AAE7C,UAAIO,SAAS,GAAG,IAAI9L,CAAJ,EAAhB;AACA,UAAIlB,KAAK,GAAG,CAAZ;;AACA,aAAOA,KAAK,EAAZ;AAAgBgN,QAAAA,SAAS,CAACjC,KAAD,CAAT,CAAiB/K,KAAjB,EAAwBA,KAAxB;AAAhB;;AACA,aAAO,CAACgN,SAAS,CAACxS,GAAV,CAAc,CAAC,CAAf,CAAR;AACD,KANiC,CAAlC;;AAOA,QAAI,CAACqS,gBAAL,EAAuB;AACrB3L,MAAAA,CAAC,GAAG2J,OAAO,CAAC,UAAU3M,MAAV,EAAkBmL,QAAlB,EAA4B;AACtC2B,QAAAA,WAAU,CAAC9M,MAAD,EAASgD,CAAT,EAAYa,IAAZ,CAAViJ;;AACA,YAAIlO,IAAI,GAAGmQ,kBAAiB,CAAC,IAAInI,IAAJ,EAAD,EAAa5G,MAAb,EAAqBgD,CAArB,CAA5B;;AACA,YAAImI,QAAQ,IAAIjR,SAAhB,EAA2B8S,MAAK,CAAC7B,QAAD,EAAWyB,MAAX,EAAmBhO,IAAI,CAACiO,KAAD,CAAvB,EAAgCjO,IAAhC,CAALoO;AAC3B,eAAOpO,IAAP;AACD,OALU,CAAX;AAMAoE,MAAAA,CAAC,CAACtF,SAAF,GAAcoD,KAAd;AACAA,MAAAA,KAAK,CAACjD,WAAN,GAAoBmF,CAApB;AACD;;AACD,QAAI0L,oBAAoB,IAAIG,UAA5B,EAAwC;AACtCR,MAAAA,SAAS,CAAC,QAAD,CAAT;AACAA,MAAAA,SAAS,CAAC,KAAD,CAAT;AACAzB,MAAAA,MAAM,IAAIyB,SAAS,CAAC,KAAD,CAAnB;AACD;;AACD,QAAIQ,UAAU,IAAIJ,cAAlB,EAAkCJ,SAAS,CAACxB,KAAD,CAAT,CA/B7B;;AAiCL,QAAIuB,OAAO,IAAItN,KAAK,CAACoM,KAArB,EAA4B,OAAOpM,KAAK,CAACoM,KAAb;AAC7B;;AAED5G,EAAAA,eAAc,CAACtD,CAAD,EAAIa,IAAJ,CAAdyC;;AAEArK,EAAAA,CAAC,CAAC4H,IAAD,CAAD,GAAUb,CAAV;;AACA5D,EAAAA,OAAO,CAACA,OAAO,CAACO,CAARP,GAAYA,OAAO,CAACqB,CAApBrB,GAAwBA,OAAO,CAACK,CAARL,IAAa4D,CAAC,IAAI4D,IAAlBxH,CAAzB,EAAkDnD,CAAlD,CAAPmD;;AAEA,MAAI,CAACgP,OAAL,EAAcD,MAAM,CAACR,SAAP,CAAiB3K,CAAjB,EAAoBa,IAApB,EAA0B+I,MAA1B;AAEd,SAAO5J,CAAP;AACD,CAtED;;ACXA,IAAIgM,GAAG,GAAG,KAAV,EAEA;;AACA,WAAc,GAAGjU,WAAwB,CAACiU,GAAD,EAAM,UAAU/T,GAAV,EAAe;AAC5D,SAAO,SAASgU,GAAT,GAAe;AAAE,WAAOhU,GAAG,CAAC,IAAD,EAAOiE,SAAS,CAACL,MAAV,GAAmB,CAAnB,GAAuBK,SAAS,CAAC,CAAD,CAAhC,GAAsChF,SAA7C,CAAV;AAAoE,GAA5F;AACD,CAFwC,EAEtC;;AAEDoU,EAAAA,GAAG,EAAE,SAASA,GAAT,CAAa/U,KAAb,EAAoB;AACvB,WAAO2V,iBAAM,CAAClJ,GAAPkJ,CAAW/B,mBAAQ,CAAC,IAAD,EAAO6B,GAAP,CAAnBE,EAAgC3V,KAAK,GAAGA,KAAK,KAAK,CAAV,GAAc,CAAd,GAAkBA,KAA1D2V,EAAiE3V,KAAjE2V,CAAP;AACD;AAJA,CAFsC,EAOtCA,iBAPsC,CAAzC,ECNA;;;AAGA,IAAIC,KAAK,GAAGpU,IAAiB,CAAC,OAAD,CAA7B;;AACA,aAAc,GAAG,kBAAA,CAAUnB,EAAV,EAAc;AAC7B,MAAIwV,QAAJ;AACA,SAAO7U,SAAQ,CAACX,EAAD,CAARW,KAAiB,CAAC6U,QAAQ,GAAGxV,EAAE,CAACuV,KAAD,CAAd,MAA2BjV,SAA3B,GAAuC,CAAC,CAACkV,QAAzC,GAAoDpV,IAAG,CAACJ,EAAD,CAAHI,IAAW,QAAhFO,CAAP;AACD,CAHD,ECJA;;;AAGA,IAAI6Q,SAAO,GAAGrQ,IAAiB,CAAC,SAAD,CAA/B;;AACA,uBAAc,GAAG,4BAAA,CAAUkB,CAAV,EAAaoT,CAAb,EAAgB;AAC/B,MAAIrM,CAAC,GAAGhF,SAAQ,CAAC/B,CAAD,CAAR+B,CAAYH,WAApB;;AACA,MAAIvD,CAAJ;AACA,SAAO0I,CAAC,KAAK9I,SAAN,IAAmB,CAACI,CAAC,GAAG0D,SAAQ,CAACgF,CAAD,CAARhF,CAAYoN,SAAZpN,CAAL,KAA8B9D,SAAjD,GAA6DmV,CAA7D,GAAiEvQ,UAAS,CAACxE,CAAD,CAAjF;AACD,CAJD;;ACHA,IAAIgV,EAAE,GAAGvU,SAAuB,CAAC,IAAD,CAAhC;AAGA;;;AACA,uBAAc,GAAG,4BAAA,CAAUT,CAAV,EAAawH,KAAb,EAAoByN,OAApB,EAA6B;AAC5C,SAAOzN,KAAK,IAAIyN,OAAO,GAAGD,EAAE,CAAChV,CAAD,EAAIwH,KAAJ,CAAF,CAAajD,MAAhB,GAAyB,CAApC,CAAZ;AACD,CAFD;;ACFA,IAAI2Q,WAAW,GAAGC,MAAM,CAAC/R,SAAP,CAAiB7C,IAAnC;AAGA;;AACA,uBAAc,GAAG,4BAAA,CAAU6F,CAAV,EAAapG,CAAb,EAAgB;AAC/B,MAAIO,IAAI,GAAG6F,CAAC,CAAC7F,IAAb;;AACA,MAAI,OAAOA,IAAP,KAAgB,UAApB,EAAgC;AAC9B,QAAIyI,MAAM,GAAGzI,IAAI,CAAChB,IAAL,CAAU6G,CAAV,EAAapG,CAAb,CAAb;;AACA,QAAI,SAAOgJ,MAAP,MAAkB,QAAtB,EAAgC;AAC9B,YAAM,IAAInJ,SAAJ,CAAc,oEAAd,CAAN;AACD;;AACD,WAAOmJ,MAAP;AACD;;AACD,MAAIhB,QAAO,CAAC5B,CAAD,CAAP4B,KAAe,QAAnB,EAA6B;AAC3B,UAAM,IAAInI,SAAJ,CAAc,6CAAd,CAAN;AACD;;AACD,SAAOqV,WAAW,CAAC3V,IAAZ,CAAiB6G,CAAjB,EAAoBpG,CAApB,CAAP;AACD,CAbD,ECNA;;;AAEA,UAAc,GAAG,eAAA,GAAY;AAC3B,MAAIsE,IAAI,GAAGZ,SAAQ,CAAC,IAAD,CAAnB;;AACA,MAAIsF,MAAM,GAAG,EAAb;AACA,MAAI1E,IAAI,CAACzD,MAAT,EAAiBmI,MAAM,IAAI,GAAV;AACjB,MAAI1E,IAAI,CAAC8Q,UAAT,EAAqBpM,MAAM,IAAI,GAAV;AACrB,MAAI1E,IAAI,CAAC+Q,SAAT,EAAoBrM,MAAM,IAAI,GAAV;AACpB,MAAI1E,IAAI,CAAC2Q,OAAT,EAAkBjM,MAAM,IAAI,GAAV;AAClB,MAAI1E,IAAI,CAACgR,MAAT,EAAiBtM,MAAM,IAAI,GAAV;AACjB,SAAOA,MAAP;AACD,CATD;;ACCA,IAAIuM,UAAU,GAAGJ,MAAM,CAAC/R,SAAP,CAAiB7C,IAAlC,EACA;AACA;AACA;;AACA,IAAIiV,aAAa,GAAGnR,MAAM,CAACjB,SAAP,CAAiBqS,OAArC;AAEA,IAAIC,WAAW,GAAGH,UAAlB;AAEA,IAAII,UAAU,GAAG,WAAjB;;AAEA,IAAIC,wBAAwB,GAAI,YAAY;AAC1C,MAAIC,GAAG,GAAG,GAAV;AAAA,MACIC,GAAG,GAAG,KADV;AAEAP,EAAAA,UAAU,CAAChW,IAAX,CAAgBsW,GAAhB,EAAqB,GAArB;AACAN,EAAAA,UAAU,CAAChW,IAAX,CAAgBuW,GAAhB,EAAqB,GAArB;AACA,SAAOD,GAAG,CAACF,UAAD,CAAH,KAAoB,CAApB,IAAyBG,GAAG,CAACH,UAAD,CAAH,KAAoB,CAApD;AACD,CAN8B,EAA/B,EAQA;;;AACA,IAAII,aAAa,GAAG,OAAOxV,IAAP,CAAY,EAAZ,EAAgB,CAAhB,MAAuBX,SAA3C;AAEA,IAAIoW,KAAK,GAAGJ,wBAAwB,IAAIG,aAAxC;;AAEA,IAAIC,KAAJ,EAAW;AACTN,EAAAA,WAAW,GAAG,SAASnV,IAAT,CAAc0V,GAAd,EAAmB;AAC/B,QAAIC,EAAE,GAAG,IAAT;AACA,QAAIC,SAAJ,EAAeC,MAAf,EAAuB5M,KAAvB,EAA8BU,CAA9B;;AAEA,QAAI6L,aAAJ,EAAmB;AACjBK,MAAAA,MAAM,GAAG,IAAIjB,MAAJ,CAAW,MAAMe,EAAE,CAACjR,MAAT,GAAkB,UAA7B,EAAyCoR,MAAW,CAAC9W,IAAZ8W,CAAiBH,EAAjBG,CAAzC,CAAT;AACD;;AACD,QAAIT,wBAAJ,EAA8BO,SAAS,GAAGD,EAAE,CAACP,UAAD,CAAd;AAE9BnM,IAAAA,KAAK,GAAG+L,UAAU,CAAChW,IAAX,CAAgB2W,EAAhB,EAAoBD,GAApB,CAAR;;AAEA,QAAIL,wBAAwB,IAAIpM,KAAhC,EAAuC;AACrC0M,MAAAA,EAAE,CAACP,UAAD,CAAF,GAAiBO,EAAE,CAACrV,MAAH,GAAY2I,KAAK,CAAChC,KAAN,GAAcgC,KAAK,CAAC,CAAD,CAAL,CAASjF,MAAnC,GAA4C4R,SAA7D;AACD;;AACD,QAAIJ,aAAa,IAAIvM,KAAjB,IAA0BA,KAAK,CAACjF,MAAN,GAAe,CAA7C,EAAgD;;;;AAI9CiR,MAAAA,aAAa,CAACjW,IAAd,CAAmBiK,KAAK,CAAC,CAAD,CAAxB,EAA6B4M,MAA7B,EAAqC,YAAY;AAC/C,aAAKlM,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGtF,SAAS,CAACL,MAAV,GAAmB,CAAnC,EAAsC2F,CAAC,EAAvC,EAA2C;AACzC,cAAItF,SAAS,CAACsF,CAAD,CAAT,KAAiBtK,SAArB,EAAgC4J,KAAK,CAACU,CAAD,CAAL,GAAWtK,SAAX;AACjC;AACF,OAJD;AAKD;;AAED,WAAO4J,KAAP;AACD,GA1BD;AA2BD;;AAED,eAAc,GAAGkM,WAAjB;;ACvDAjV,OAAoB,CAAC;AACnBiF,EAAAA,MAAM,EAAE,QADW;AAEnBc,EAAAA,KAAK,EAAE,IAFY;AAGnB8P,EAAAA,MAAM,EAAEC,WAAU,KAAK,IAAIhW;AAHR,CAAD,EAIjB;AACDA,EAAAA,IAAI,EAAEgW;AADL,CAJiB,CAApB9V;;ACOA,IAAIqQ,SAAO,GAAGnD,IAAG,CAAC,SAAD,CAAjB;;AAEA,IAAI6I,6BAA6B,GAAG,CAACvC,MAAK,CAAC,YAAY;;;;AAIrD,MAAIiC,EAAE,GAAG,GAAT;;AACAA,EAAAA,EAAE,CAAC3V,IAAH,GAAU,YAAY;AACpB,QAAIyI,MAAM,GAAG,EAAb;AACAA,IAAAA,MAAM,CAACyN,MAAP,GAAgB;AAAE7V,MAAAA,CAAC,EAAE;AAAL,KAAhB;AACA,WAAOoI,MAAP;AACD,GAJD;;AAKA,SAAO,GAAGyM,OAAH,CAAWS,EAAX,EAAe,MAAf,MAA2B,GAAlC;AACD,CAXyC,CAA1C;;AAaA,IAAIQ,iCAAiC,GAAI,YAAY;;AAEnD,MAAIR,EAAE,GAAG,MAAT;AACA,MAAIS,YAAY,GAAGT,EAAE,CAAC3V,IAAtB;;AACA2V,EAAAA,EAAE,CAAC3V,IAAH,GAAU,YAAY;AAAE,WAAOoW,YAAY,CAAChS,KAAb,CAAmB,IAAnB,EAAyBC,SAAzB,CAAP;AAA6C,GAArE;;AACA,MAAIoE,MAAM,GAAG,KAAKrJ,KAAL,CAAWuW,EAAX,CAAb;AACA,SAAOlN,MAAM,CAACzE,MAAP,KAAkB,CAAlB,IAAuByE,MAAM,CAAC,CAAD,CAAN,KAAc,GAArC,IAA4CA,MAAM,CAAC,CAAD,CAAN,KAAc,GAAjE;AACD,CAPuC,EAAxC;;AASA,aAAc,GAAG,kBAAA,CAAU+H,GAAV,EAAexM,MAAf,EAAuBhE,IAAvB,EAA6B;AAC5C,MAAIqW,MAAM,GAAGjJ,IAAG,CAACoD,GAAD,CAAhB;;AAEA,MAAI8F,mBAAmB,GAAG,CAAC5C,MAAK,CAAC,YAAY;;AAE3C,QAAItS,CAAC,GAAG,EAAR;;AACAA,IAAAA,CAAC,CAACiV,MAAD,CAAD,GAAY,YAAY;AAAE,aAAO,CAAP;AAAW,KAArC;;AACA,WAAO,GAAG7F,GAAH,EAAQpP,CAAR,KAAc,CAArB;AACD,GAL+B,CAAhC;AAOA,MAAImV,iBAAiB,GAAGD,mBAAmB,GAAG,CAAC5C,MAAK,CAAC,YAAY;;AAE/D,QAAI8C,UAAU,GAAG,KAAjB;AACA,QAAIb,EAAE,GAAG,GAAT;;AACAA,IAAAA,EAAE,CAAC3V,IAAH,GAAU,YAAY;AAAEwW,MAAAA,UAAU,GAAG,IAAb;AAAmB,aAAO,IAAP;AAAc,KAAzD;;AACA,QAAIhG,GAAG,KAAK,OAAZ,EAAqB;;;AAGnBmF,MAAAA,EAAE,CAAC3S,WAAH,GAAiB,EAAjB;;AACA2S,MAAAA,EAAE,CAAC3S,WAAH,CAAeuN,SAAf,IAA0B,YAAY;AAAE,eAAOoF,EAAP;AAAY,OAApD;AACD;;AACDA,IAAAA,EAAE,CAACU,MAAD,CAAF,CAAW,EAAX;AACA,WAAO,CAACG,UAAR;AACD,GAbmD,CAAT,GAatCnX,SAbL;;AAeA,MACE,CAACiX,mBAAD,IACA,CAACC,iBADD,IAEC/F,GAAG,KAAK,SAAR,IAAqB,CAACyF,6BAFvB,IAGCzF,GAAG,KAAK,OAAR,IAAmB,CAAC2F,iCAJvB,EAKE;AACA,QAAIM,kBAAkB,GAAG,IAAIJ,MAAJ,CAAzB;AACA,QAAIK,GAAG,GAAG1W,IAAI,CACZR,QADY,EAEZ6W,MAFY,EAGZ,GAAG7F,GAAH,CAHY,EAIZ,SAASmG,eAAT,CAAyBC,YAAzB,EAAuCC,MAAvC,EAA+CnB,GAA/C,EAAoDoB,IAApD,EAA0DC,iBAA1D,EAA6E;AAC3E,UAAIF,MAAM,CAAC7W,IAAP,KAAgBgW,WAApB,EAAgC;AAC9B,YAAIM,mBAAmB,IAAI,CAACS,iBAA5B,EAA+C;;;;AAI7C,iBAAO;AAAE9O,YAAAA,IAAI,EAAE,IAAR;AAAcvJ,YAAAA,KAAK,EAAE+X,kBAAkB,CAACzX,IAAnB,CAAwB6X,MAAxB,EAAgCnB,GAAhC,EAAqCoB,IAArC;AAArB,WAAP;AACD;;AACD,eAAO;AAAE7O,UAAAA,IAAI,EAAE,IAAR;AAAcvJ,UAAAA,KAAK,EAAEkY,YAAY,CAAC5X,IAAb,CAAkB0W,GAAlB,EAAuBmB,MAAvB,EAA+BC,IAA/B;AAArB,SAAP;AACD;;AACD,aAAO;AAAE7O,QAAAA,IAAI,EAAE;AAAR,OAAP;AACD,KAfW,CAAd;AAiBA,QAAI+O,KAAK,GAAGN,GAAG,CAAC,CAAD,CAAf;AACA,QAAIO,IAAI,GAAGP,GAAG,CAAC,CAAD,CAAd;;AAEAhR,IAAAA,SAAQ,CAAC5B,MAAM,CAACjB,SAAR,EAAmB2N,GAAnB,EAAwBwG,KAAxB,CAARtR;;AACA9B,IAAAA,KAAI,CAACgR,MAAM,CAAC/R,SAAR,EAAmBwT,MAAnB,EAA2BrS,MAAM,IAAI,CAAV;;AAAA,MAG3B,UAAUkT,MAAV,EAAkBC,GAAlB,EAAuB;AAAE,aAAOF,IAAI,CAACjY,IAAL,CAAUkY,MAAV,EAAkB,IAAlB,EAAwBC,GAAxB,CAAP;AAAsC,KAHpC;;AAAA,MAM3B,UAAUD,MAAV,EAAkB;AAAE,aAAOD,IAAI,CAACjY,IAAL,CAAUkY,MAAV,EAAkB,IAAlB,CAAP;AAAiC,KANrD,CAAJtT;AAQD;AACF,CA9DD;;ACvBA,IAAIwT,IAAI,GAAG3W,IAAI,CAACsG,GAAhB;AACA,IAAIsQ,KAAK,GAAG,GAAGnV,IAAf;AACA,IAAIoV,MAAM,GAAG,OAAb;AACA,IAAIC,MAAM,GAAG,QAAb;AACA,IAAInC,YAAU,GAAG,WAAjB;AACA,IAAIoC,UAAU,GAAG,UAAjB,EAEA;;AACA,IAAIC,UAAU,GAAG,CAAC/D,MAAK,CAAC,YAAY;AAAEkB,EAAAA,MAAM,CAAC4C,UAAD,EAAa,GAAb,CAAN;AAA0B,CAAzC,CAAvB,EAEA;;AACAtX,SAAwB,CAAC,OAAD,EAAU,CAAV,EAAa,UAAUV,OAAV,EAAmBkY,KAAnB,EAA0BC,MAA1B,EAAkChB,eAAlC,EAAmD;AACtF,MAAIiB,aAAJ;;AACA,MACE,OAAON,MAAP,EAAe,MAAf,EAAuB,CAAvB,KAA6B,GAA7B,IACA,OAAOA,MAAP,EAAe,MAAf,EAAuB,CAAC,CAAxB,EAA2BC,MAA3B,KAAsC,CADtC,IAEA,KAAKD,MAAL,EAAa,SAAb,EAAwBC,MAAxB,KAAmC,CAFnC,IAGA,IAAID,MAAJ,EAAY,UAAZ,EAAwBC,MAAxB,KAAmC,CAHnC,IAIA,IAAID,MAAJ,EAAY,MAAZ,EAAoBC,MAApB,IAA8B,CAJ9B,IAKA,GAAGD,MAAH,EAAW,IAAX,EAAiBC,MAAjB,CANF,EAOE;;AAEAK,IAAAA,aAAa,GAAG,uBAAUC,SAAV,EAAqBC,KAArB,EAA4B;AAC1C,UAAIZ,MAAM,GAAGpT,MAAM,CAAC,IAAD,CAAnB;AACA,UAAI+T,SAAS,KAAKxY,SAAd,IAA2ByY,KAAK,KAAK,CAAzC,EAA4C,OAAO,EAAP,CAFF;;AAI1C,UAAI,CAACvD,SAAQ,CAACsD,SAAD,CAAb,EAA0B,OAAOF,MAAM,CAAC3Y,IAAP,CAAYkY,MAAZ,EAAoBW,SAApB,EAA+BC,KAA/B,CAAP;AAC1B,UAAIC,MAAM,GAAG,EAAb;AACA,UAAIC,KAAK,GAAG,CAACH,SAAS,CAAChD,UAAV,GAAuB,GAAvB,GAA6B,EAA9B,KACCgD,SAAS,CAAC/C,SAAV,GAAsB,GAAtB,GAA4B,EAD7B,KAEC+C,SAAS,CAACnD,OAAV,GAAoB,GAApB,GAA0B,EAF3B,KAGCmD,SAAS,CAAC9C,MAAV,GAAmB,GAAnB,GAAyB,EAH1B,CAAZ;AAIA,UAAIkD,aAAa,GAAG,CAApB;AACA,UAAIC,UAAU,GAAGJ,KAAK,KAAKzY,SAAV,GAAsBmY,UAAtB,GAAmCM,KAAK,KAAK,CAA9D,CAX0C;;AAa1C,UAAIK,aAAa,GAAG,IAAIvD,MAAJ,CAAWiD,SAAS,CAACnT,MAArB,EAA6BsT,KAAK,GAAG,GAArC,CAApB;AACA,UAAI/O,KAAJ,EAAW2M,SAAX,EAAsBwC,UAAtB;;AACA,aAAOnP,KAAK,GAAG+M,WAAU,CAAChX,IAAXgX,CAAgBmC,aAAhBnC,EAA+BkB,MAA/BlB,CAAf,EAAuD;AACrDJ,QAAAA,SAAS,GAAGuC,aAAa,CAAC/C,YAAD,CAAzB;;AACA,YAAIQ,SAAS,GAAGqC,aAAhB,EAA+B;AAC7BF,UAAAA,MAAM,CAAC7V,IAAP,CAAYgV,MAAM,CAACjY,KAAP,CAAagZ,aAAb,EAA4BhP,KAAK,CAAChC,KAAlC,CAAZ;AACA,cAAIgC,KAAK,CAACsO,MAAD,CAAL,GAAgB,CAAhB,IAAqBtO,KAAK,CAAChC,KAAN,GAAciQ,MAAM,CAACK,MAAD,CAA7C,EAAuDF,KAAK,CAACjT,KAAN,CAAY2T,MAAZ,EAAoB9O,KAAK,CAAChK,KAAN,CAAY,CAAZ,CAApB;AACvDmZ,UAAAA,UAAU,GAAGnP,KAAK,CAAC,CAAD,CAAL,CAASsO,MAAT,CAAb;AACAU,UAAAA,aAAa,GAAGrC,SAAhB;AACA,cAAImC,MAAM,CAACR,MAAD,CAAN,IAAkBW,UAAtB,EAAkC;AACnC;;AACD,YAAIC,aAAa,CAAC/C,YAAD,CAAb,KAA8BnM,KAAK,CAAChC,KAAxC,EAA+CkR,aAAa,CAAC/C,YAAD,CAAb,GATM;AAUtD;;AACD,UAAI6C,aAAa,KAAKf,MAAM,CAACK,MAAD,CAA5B,EAAsC;AACpC,YAAIa,UAAU,IAAI,CAACD,aAAa,CAACxI,IAAd,CAAmB,EAAnB,CAAnB,EAA2CoI,MAAM,CAAC7V,IAAP,CAAY,EAAZ;AAC5C,OAFD,MAEO6V,MAAM,CAAC7V,IAAP,CAAYgV,MAAM,CAACjY,KAAP,CAAagZ,aAAb,CAAZ;;AACP,aAAOF,MAAM,CAACR,MAAD,CAAN,GAAiBW,UAAjB,GAA8BH,MAAM,CAAC9Y,KAAP,CAAa,CAAb,EAAgBiZ,UAAhB,CAA9B,GAA4DH,MAAnE;AACD,KA9BD,CAFA;;AAkCD,GAzCD,MAyCO,IAAI,IAAIT,MAAJ,EAAYjY,SAAZ,EAAuB,CAAvB,EAA0BkY,MAA1B,CAAJ,EAAuC;AAC5CK,IAAAA,aAAa,GAAG,uBAAUC,SAAV,EAAqBC,KAArB,EAA4B;AAC1C,aAAOD,SAAS,KAAKxY,SAAd,IAA2ByY,KAAK,KAAK,CAArC,GAAyC,EAAzC,GAA8CH,MAAM,CAAC3Y,IAAP,CAAY,IAAZ,EAAkB6Y,SAAlB,EAA6BC,KAA7B,CAArD;AACD,KAFD;AAGD,GAJM,MAIA;AACLF,IAAAA,aAAa,GAAGD,MAAhB;AACD;;AAED,SAAO;;AAGL,WAASvY,KAAT,CAAeyY,SAAf,EAA0BC,KAA1B,EAAiC;AAC/B,QAAI1W,CAAC,GAAG5B,OAAO,CAAC,IAAD,CAAf;AACA,QAAI6Y,QAAQ,GAAGR,SAAS,IAAIxY,SAAb,GAAyBA,SAAzB,GAAqCwY,SAAS,CAACH,KAAD,CAA7D;AACA,WAAOW,QAAQ,KAAKhZ,SAAb,GACHgZ,QAAQ,CAACrZ,IAAT,CAAc6Y,SAAd,EAAyBzW,CAAzB,EAA4B0W,KAA5B,CADG,GAEHF,aAAa,CAAC5Y,IAAd,CAAmB8E,MAAM,CAAC1C,CAAD,CAAzB,EAA8ByW,SAA9B,EAAyCC,KAAzC,CAFJ;AAGD,GATI;;;;;AAeL,YAAUjB,MAAV,EAAkBiB,KAAlB,EAAyB;AACvB,QAAIQ,GAAG,GAAG3B,eAAe,CAACiB,aAAD,EAAgBf,MAAhB,EAAwB,IAAxB,EAA8BiB,KAA9B,EAAqCF,aAAa,KAAKD,MAAvD,CAAzB;AACA,QAAIW,GAAG,CAACrQ,IAAR,EAAc,OAAOqQ,GAAG,CAAC5Z,KAAX;;AAEd,QAAI6Z,EAAE,GAAGpV,SAAQ,CAAC0T,MAAD,CAAjB;;AACA,QAAIpX,CAAC,GAAGqE,MAAM,CAAC,IAAD,CAAd;;AACA,QAAIqE,CAAC,GAAGqQ,mBAAkB,CAACD,EAAD,EAAK3D,MAAL,CAA1B;;AAEA,QAAI6D,eAAe,GAAGF,EAAE,CAAC7D,OAAzB;AACA,QAAIsD,KAAK,GAAG,CAACO,EAAE,CAAC1D,UAAH,GAAgB,GAAhB,GAAsB,EAAvB,KACC0D,EAAE,CAACzD,SAAH,GAAe,GAAf,GAAqB,EADtB,KAECyD,EAAE,CAAC7D,OAAH,GAAa,GAAb,GAAmB,EAFpB,KAGC+C,UAAU,GAAG,GAAH,GAAS,GAHpB,CAAZ,CATuB;;;AAgBvB,QAAIY,QAAQ,GAAG,IAAIlQ,CAAJ,CAAMsP,UAAU,GAAGc,EAAH,GAAQ,SAASA,EAAE,CAAC7T,MAAZ,GAAqB,GAA7C,EAAkDsT,KAAlD,CAAf;AACA,QAAIU,GAAG,GAAGZ,KAAK,KAAKzY,SAAV,GAAsBmY,UAAtB,GAAmCM,KAAK,KAAK,CAAvD;AACA,QAAIY,GAAG,KAAK,CAAZ,EAAe,OAAO,EAAP;AACf,QAAIjZ,CAAC,CAACuE,MAAF,KAAa,CAAjB,EAAoB,OAAO2U,mBAAc,CAACN,QAAD,EAAW5Y,CAAX,CAAdkZ,KAAgC,IAAhCA,GAAuC,CAAClZ,CAAD,CAAvCkZ,GAA6C,EAApD;AACpB,QAAIlG,CAAC,GAAG,CAAR;AACA,QAAImG,CAAC,GAAG,CAAR;AACA,QAAIC,CAAC,GAAG,EAAR;;AACA,WAAOD,CAAC,GAAGnZ,CAAC,CAACuE,MAAb,EAAqB;AACnBqU,MAAAA,QAAQ,CAACzC,SAAT,GAAqB6B,UAAU,GAAGmB,CAAH,GAAO,CAAtC;;AACA,UAAIE,CAAC,GAAGH,mBAAc,CAACN,QAAD,EAAWZ,UAAU,GAAGhY,CAAH,GAAOA,CAAC,CAACR,KAAF,CAAQ2Z,CAAR,CAA5B,CAAtB;;AACA,UAAI3Y,CAAJ;;AACA,UACE6Y,CAAC,KAAK,IAAN,IACA,CAAC7Y,CAAC,GAAGmX,IAAI,CAACvO,SAAQ,CAACwP,QAAQ,CAACzC,SAAT,IAAsB6B,UAAU,GAAG,CAAH,GAAOmB,CAAvC,CAAD,CAAT,EAAsDnZ,CAAC,CAACuE,MAAxD,CAAT,MAA8EyO,CAFhF,EAGE;AACAmG,QAAAA,CAAC,GAAGG,mBAAkB,CAACtZ,CAAD,EAAImZ,CAAJ,EAAOH,eAAP,CAAtB;AACD,OALD,MAKO;AACLI,QAAAA,CAAC,CAAC3W,IAAF,CAAOzC,CAAC,CAACR,KAAF,CAAQwT,CAAR,EAAWmG,CAAX,CAAP;AACA,YAAIC,CAAC,CAAC7U,MAAF,KAAa0U,GAAjB,EAAsB,OAAOG,CAAP;;AACtB,aAAK,IAAIlP,CAAC,GAAG,CAAb,EAAgBA,CAAC,IAAImP,CAAC,CAAC9U,MAAF,GAAW,CAAhC,EAAmC2F,CAAC,EAApC,EAAwC;AACtCkP,UAAAA,CAAC,CAAC3W,IAAF,CAAO4W,CAAC,CAACnP,CAAD,CAAR;AACA,cAAIkP,CAAC,CAAC7U,MAAF,KAAa0U,GAAjB,EAAsB,OAAOG,CAAP;AACvB;;AACDD,QAAAA,CAAC,GAAGnG,CAAC,GAAGxS,CAAR;AACD;AACF;;AACD4Y,IAAAA,CAAC,CAAC3W,IAAF,CAAOzC,CAAC,CAACR,KAAF,CAAQwT,CAAR,CAAP;AACA,WAAOoG,CAAP;AACD,GA3DI,CAAP;AA6DD,CAhHuB,CAAxB3Y;;AClBA,IAAI8Y,GAAG,GAAG,KAAV,EAEA;;AACA,WAAc,GAAG9Y,WAAwB,CAAC8Y,GAAD,EAAM,UAAU5Y,GAAV,EAAe;AAC5D,SAAO,SAAS6Y,GAAT,GAAe;AAAE,WAAO7Y,GAAG,CAAC,IAAD,EAAOiE,SAAS,CAACL,MAAV,GAAmB,CAAnB,GAAuBK,SAAS,CAAC,CAAD,CAAhC,GAAsChF,SAA7C,CAAV;AAAoE,GAA5F;AACD,CAFwC,EAEtC;;AAEDe,EAAAA,GAAG,EAAE,SAASA,GAAT,CAAaL,GAAb,EAAkB;AACrB,QAAI0R,KAAK,GAAG4C,iBAAM,CAAC7C,QAAP6C,CAAgB/B,mBAAQ,CAAC,IAAD,EAAO0G,GAAP,CAAxB3E,EAAqCtU,GAArCsU,CAAZ;;AACA,WAAO5C,KAAK,IAAIA,KAAK,CAACoB,CAAtB;AACD,GALA;;AAODK,EAAAA,GAAG,EAAE,SAASA,GAAT,CAAanT,GAAb,EAAkBrB,KAAlB,EAAyB;AAC5B,WAAO2V,iBAAM,CAAClJ,GAAPkJ,CAAW/B,mBAAQ,CAAC,IAAD,EAAO0G,GAAP,CAAnB3E,EAAgCtU,GAAG,KAAK,CAAR,GAAY,CAAZ,GAAgBA,GAAhDsU,EAAqD3V,KAArD2V,CAAP;AACD;AATA,CAFsC,EAYtCA,iBAZsC,EAY9B,IAZ8B,CAAzC;ACNA;;;;;;;AAKA,SAAS6E,aAAT,GAAyB;SAChB,IAAID,GAAJ,CAAQpY,QAAQ,CAACsY,MAATtY,CAAgBzB,KAAhByB,CAAsB,GAAtBA,EAA2BuY,GAA3BvY,CAA+B,UAAAsY,MAAA;WAAUA,MAAM,CAACE,IAAPF,GAAc/Z,KAAd+Z,CAAoB,GAApBA;AAAzC,GAAAtY,CAAR;;AAGT;;;;;;;;AAMA,SAASyY,SAAT,CAAmB7U,IAAnB,EAAyB;SAChByU,aAAa,GAAGzX,GAAhByX,CAAoBzU,IAApByU;;AAGT;;;;;;;;AAMA,SAASK,SAAT,CAAmB9U,IAAnB,EAAyB;SAChByU,aAAa,GAAG9Y,GAAhB8Y,CAAoBzU,IAApByU;;;AAGT,UAAc,GAAG;AACfA,EAAAA,aAAa,EAAbA,aADe;AAEfI,EAAAA,SAAS,EAATA,SAFe;AAGfC,EAAAA,SAAS,EAATA;AAHe,CAAjB,EC5BA;;AAEA,IAAIC,SAAS,GAAGtZ,cAA4B,CAAC,IAAD,CAA5C;;AAEAqE,OAAO,CAACA,OAAO,CAAClD,CAAT,EAAY,OAAZ,EAAqB;AAC1BoY,EAAAA,QAAQ,EAAE,SAASA,QAAT,CAAkBnQ;;AAAlB,IAA4C;AACpD,WAAOkQ,SAAS,CAAC,IAAD,EAAOlQ,EAAP,EAAWjF,SAAS,CAACL,MAAV,GAAmB,CAAnB,GAAuBK,SAAS,CAAC,CAAD,CAAhC,GAAsChF,SAAjD,CAAhB;AACD;AAHyB,CAArB,CAAPkF;;AAMAvD,iBAAgC,CAAC,UAAD,CAAhCA,ECXA;;;AAIA,kBAAc,GAAG,uBAAA,CAAU+C,IAAV,EAAgB2V,YAAhB,EAA8B1Q,IAA9B,EAAoC;AACnD,MAAIuL,SAAQ,CAACmF,YAAD,CAAZ,EAA4B,MAAMpa,SAAS,CAAC,YAAY0J,IAAZ,GAAmB,wBAApB,CAAf;AAC5B,SAAOlF,MAAM,CAACtE,QAAO,CAACuE,IAAD,CAAR,CAAb;AACD,CAHD;;ACJA,IAAIuQ,OAAK,GAAGpU,IAAiB,CAAC,OAAD,CAA7B;;AACA,kBAAc,GAAG,uBAAA,CAAUsQ,GAAV,EAAe;AAC9B,MAAImF,EAAE,GAAG,GAAT;;AACA,MAAI;AACF,UAAMnF,GAAN,EAAWmF,EAAX;AACD,GAFD,CAEE,OAAO1V,CAAP,EAAU;AACV,QAAI;AACF0V,MAAAA,EAAE,CAACrB,OAAD,CAAF,GAAY,KAAZ;AACA,aAAO,CAAC,MAAM9D,GAAN,EAAWmF,EAAX,CAAR;AACD,KAHD,CAGE,OAAO/T,CAAP,EAAU;;AAAe;AAC5B;;AAAC,SAAO,IAAP;AACH,CAVD;;ACGA,IAAI+X,QAAQ,GAAG,UAAf;;AAEApV,OAAO,CAACA,OAAO,CAAClD,CAARkD,GAAYA,OAAO,CAACK,CAARL,GAAYrE,cAA6B,CAACyZ,QAAD,CAAtD,EAAkE,QAAlE,EAA4E;AACjFF,EAAAA,QAAQ,EAAE,SAASA,QAAT,CAAkBC;;AAAlB,IAAqD;AAC7D,WAAO,CAAC,CAAC,CAACE,cAAO,CAAC,IAAD,EAAOF,YAAP,EAAqBC,QAArB,CAAPC,CACPC,OADOD,CACCF,YADDE,EACevV,SAAS,CAACL,MAAV,GAAmB,CAAnB,GAAuBK,SAAS,CAAC,CAAD,CAAhC,GAAsChF,SADrDua,CAAV;AAED;AAJgF,CAA5E,CAAPrV;;ICNMuV;2BACU;;;SACPC,4BAA4B;;;;;2BAO5B;aACE;;;;mCAGM;aACN;;;;gCAGmB;;;4CAEJ;aACf;;;;0CAGa;aACb;;;;wCAGWC,YAAY;aACvB,KAAKC,qBAAL,GAA6BR,QAA7B,CAAsCO,UAAtC;;;;gCAGGE,SAAS;aACZ,KAAKC,mBAAL,GAA2BV,QAA3B,CAAoCS,OAApC;;;;iDAGoBE,IAAI;WAC1BL,4BAA4BK;;;;0BAGtB;;;wCAANC,IAAM;AAANA,QAAAA,IAAM,KAAA,CAANA,kBAAAA;;;WACAN,6BAA6B,8BAAKA,yBAAL,EAA+BO,GAA/B,MAAA,sBAAA,cAAuC,KAAK7V,IAAL,iBAAmB4V,KAA1D;;;;mCAnCd;aACb;;;;;;;AAsCX,QAAc,GAAGP,aAAjB;;ICzCMS;;;;;;;;;;;;;2BACG;aACE;;;;mCAGM;aACN,CAAC,CAAC/Z,MAAF,IAAY,CAAC,CAACA,MAAM,CAACga;;;;4CAGN;aACf,CAAC,uCAAD,EAA0C,yBAA1C,EAAqE,0BAArE;;;;4DAG+B;aAC/B,CAACC,MAAM,CAACnB,SAAPmB,CAAiB,gCAAjBA;;;;8CAGgB;;aAEjB;;;;+CAGkB;aAClB;;;;;EAvBgBX;;AA2B3B,kBAAc,GAAGS,YAAjB;AC5BA;;;;;;IAKMG;;;;;qCACU;;;;;;UAEPC,kBAAkB;;;;;;2BAGlB;aACE;;;;oCAGU;UAAPC,GAAO,QAAPA;;UACNA,KAAK;aACFD,kBAAkB,CAAC,KAAKC,GAAN,EAAWC,WAAX;;;;;mCAIZ;aACN,CAAC,CAAC,KAAKF;;;;4CAGQ;aACf,CAAC,uCAAD,EAA0C,yBAA1C,EAAqE,0BAArE;;;;4DAG+B;aAC/B,KAAKG,mCAAL;;;;8CAGiB;aACjB,KAAKC,oDAAL;;;;0DAG6B;UAChC,CAAC,KAAKC,+BAAL,IAAwC,OAAO,IAAP;UACzC,CAAC,KAAKD,oDAAL,IAA6D,OAAO,IAAP;aAC3D,KAAKJ,eAAL,CAAqB,CAArB,MAA4B;;;;+CAGV;aAClB,KAAKK,+BAAL,MAA0C,KAAKL,eAAL,CAAqB,CAArB,MAA4B;;;;2EAGxB;aAC9C,KAAKK,+BAAL,MAA0C,KAAKL,eAAL,CAAqB,CAArB,MAA4B;;;;sDAG7C;aACzB,KAAKA,eAAL,CAAqB3W,MAArB,KAAgC,CAAhC,IAAqC,KAAK2W,eAAL,CAAqB,CAArB,MAA4B;;;;;EA/CtCb;;AAmDtC,+BAAc,GAAGY,uBAAjB;ACxDA,IAAMO,sBAAsB,GAAG,CAA/B;AAEA;;;;;;IAKMC;;;;;4CACU;;;;;;UAEP1a,SAASA;UACTK,WAAWA;;;;;;2BAGX;aACE;;;;0CAGa;aACb,CAAC,iBAAD,EAAoB,mBAApB;;;;oCAGuB;UAApBL,MAAoB,QAApBA;UAAQK,QAAY,QAAZA;WACbL,SAASA;WACTK,WAAWA;;;;sCAGmB;UAArBsa,QAAqB,uEAAV,YAAM,CAAI;AACnCA,MAAAA,QAAQ,CAAC,KAAKC,oBAAL,EAAD,EAA8B,IAA9B,CAARD;;;;wCAGqC;UAArBA,QAAqB,uEAAV,YAAM,CAAI;WAChC3a,OAAO6a,WAAW,KAAKC,kBAAL,CAAwBC,IAAxB,CAA6B,IAA7B;WAClBC;AACLL,MAAAA,QAAQ,CAAC,IAAD,CAARA;;;;;2CAIqB;UACjBP,GAAG,GAAG,KAAKK;AACfL,MAAAA,GAAG,IAAI,KAAKb,yBAAL,CAA+B0B,uBAA/B,KAA2D,GAA3D,GAAiE,GAAxEb;AACAA,MAAAA,GAAG,IAAI,KAAKb,yBAAL,CAA+B2B,qCAA/B,KAAyE,GAAzE,GAA+E,GAAtFd;AACAA,MAAAA,GAAG,IAAI,KAAKb,yBAAL,CAA+B4B,wBAA/B,KAA4D,GAA5D,GAAkE,GAAzEf;aACOA;;;;uCAGUgB,SAAS9Z,SAASqZ,UAAU;UACzC,OAAOA,QAAP,KAAoB,YAAY;2CACNA,2DAAgDA;;;UAG1EU,qBAAqB,GAAG;UACxBC,mBAAmB,aAAMb;;UAEzBnZ,OAAO,KAAKmZ,wBAAwB;AACtCc,QAAAA,OAAO,CAACC,KAARD,0CAAAA;AACAF,QAAAA,qBAAqB,GAAG,KAAxBA;;;cAGMD;aACD;AACHE,UAAAA,mBAAmB,GAAG,KAAKV,oBAAL,EAAtBU;;;;AAGAD,UAAAA,qBAAqB,GAAG,KAAxBA;AACAE,UAAAA,OAAO,CAACC,KAARD,+CAAqDH,aAArDG;;;WAGCzB,cACAuB,qBAAqB,GAAG,cAAH,GAAoB,2DAAiDC;AAG/FX,MAAAA,QAAQ,CACN;AACEc,QAAAA,SAAS,EAAEH,mBADb;AAEEha,QAAAA,OAAO,EAAEmZ;AAFX,OADM,EAKNY,qBALM,CAARV;;;;;;;;;;;;;;;wCAmBkB;;;WACbb,IAAI;UAEH4B,KAAK,GAAG,KAAKrb,QAAL,CAAcE,aAAd,CAA4B,QAA5B;AACdmb,MAAAA,KAAK,CAACC,YAAND,CAAmB,MAAnBA,EAA2B,iBAA3BA;AACAA,MAAAA,KAAK,CAACzR,KAANyR,CAAYxR,OAAZwR,GAAsB,MAAtBA;;UAEI,KAAKrb,QAAL,CAAcub,UAAd,KAA6B,WAAW;aACrCvb,SAASwb,iBAAiB,oBAAoB,YAAM;AACvDC,UAAAA,MAAI,CAACzb,QAAL,CAAc0b,IAAd,CAAmB5R,WAAnB,CAA+BuR,KAA/B;;AACAI,UAAAA,MAAI,CAACE,yBAAL,CAA+BN,KAA/B;AAFF;AADF,aAKO;aACArb,SAAS0b,KAAK5R,YAAYuR;aAC1BM,0BAA0BN;;;;;;;;;;;;;;;8CAaTA,OAAO;;;AAC/BA,MAAAA,KAAK,CAACrR,aAANqR,CAAoBG,gBAApBH,CAAqC,SAArCA,EAAgD,UAAAO,KAAA,EAAS;YACjDC,WAAW,GAAGD,KAAK,CAAClK;;YAEtBmK,WAAW,IAAIA,WAAW,CAACC,cAAc;AAC3CC,UAAAA,MAAI,CAACtC,GAAL,CAAS,+CAAT;;cAEMuC,oBAAoB,GAAGH,WAAW,CAACC;cACnCG,YAAY,GAAGL,KAAK,CAAC/X,MAAN+X,IAAgBjc,MAAM,CAACuc;cACtCC,YAAY,GAAGP,KAAK,CAACQ,MAANR,IAAgB;;AAErCG,UAAAA,MAAI,CAACtB,kBAAL,CACEuB,oBAAoB,CAACjB,OADvB,EAEEiB,oBAAoB,CAAC/a,OAFvB,EAGE,UAACob,OAAD,EAAUC,aAAV,EAA4B;AAC1BL,YAAAA,YAAY,CAACM,WAAbN,CACE;AACEO,cAAAA,cAAc,EAAE;AACdC,gBAAAA,WAAW,EAAEJ,OADC;AAEdK,gBAAAA,OAAO,EAAEJ,aAFK;AAGdK,gBAAAA,MAAM,EAAEX,oBAAoB,CAACW;AAHf;AADlB,aADFV,EAQEE,YARFF;AAJJ,WAAA;;AAVJ,OAAAZ;;;;;EAhHyCpC;;AA+I7C,uCAAc,GAAGoB,8BAAjB;ACpJA,cAAc,GAAG,CAACX,cAAD,EAAekD,2BAAf,EAAwCvC,mCAAxC,CAAjB;ACJA;;;;;;;;;;;;;;;;AAgBA,SAAc,GAAG,SAASwC,aAAT,GAAyB;AACxC,MAAIC,YAAY,GAAG,IAAnB;;AACA,MAAIC,cAAJ;;;;;;;AAMA,WAASle,QAAT,CAAkBme,CAAlB,EAAqB;AACnB,WAAOA,CAAC,GAAI,SAAOA,CAAP,MAAa,QAAb,IAAyB,OAAOA,CAAP,KAAa,UAA1C,GAAwD,KAAhE;AACD;;AAED,WAASC,aAAT,CAAuB7X,KAAvB,EAA8B;AAC5B,QAAIA,KAAK,KAAK,IAAV,IAAkB,CAACvG,QAAQ,CAACuG,KAAD,CAA/B,EAAwC;AACtC,YAAM,IAAI3G,SAAJ,CAAc,qDAAqD2G,KAAnE,CAAN;AACD;AACF;;AAED,MAAM8X,OAAO,GAAG7e,MAAhB,CAlBwC;;AAqBxC,MAAM8e,yBAAyB,GAAGC,OAAO,CAACF,OAAO,CAAC9S,MAAT,CAAP,IAA2B,EAAE;AAAEoI,IAAAA,SAAS,EAAE;AAAb,eAA+B0K,OAAjC,CAA7D;AACA,MAAMG,YAAY,GAChBH,OAAO,CAAC9S,MAAR,KACC+S,yBAAyB,GACtB,SAAS/S,MAAT,CAAgBhF,KAAhB,EAAuB;AACrB6X,IAAAA,aAAa,CAAC7X,KAAD,CAAb;AACA,WAAO;AAAEoN,MAAAA,SAAS,EAAEpN;AAAb,KAAP;AACD,GAJqB,GAKtB,SAASgF,MAAT,CAAgBhF,KAAhB,EAAuB;AACrB6X,IAAAA,aAAa,CAAC7X,KAAD,CAAb;;AACA,QAAIA,KAAK,KAAK,IAAd,EAAoB;AAClB,YAAM,IAAIkY,WAAJ,CAAgB,wEAAhB,CAAN;AACD,KAJoB;;;AAOrB,QAAI7W,CAAC;;AAA6B,aAASA,CAAT,GAAa,CAAE,CAAjD;;AACAA,IAAAA,CAAC,CAACzE,SAAF,GAAcoD,KAAd;AACA,WAAO,IAAIqB,CAAJ,EAAP;AACD,GAhBL,CADF;;AAmBA,MAAM8W,IAAI,GAAG,SAAPA,IAAO,GAAW;AAAE,WAAO,IAAP;AAAc,GAAxC;;AAEA,MAAMC,QAAQ,GACZN,OAAO,CAACjb,cAAR,KACC,GAAGuQ,SAAH,KAAiB3M,KAAK,CAAC7D,SAAvB,GACG,SAASC,cAAT,CAAwB1B,CAAxB,EAA2B;;;AAGzB,QAAM6E,KAAK,GAAG7E,CAAC,CAACiS,SAAhB;AACA,WAAO3T,QAAQ,CAACuG,KAAD,CAAR,GAAkBA,KAAlB,GAA0B,IAAjC;AACD,GANJ,GAOGmY,IARJ,CADF;;;;;;;AAgBAR,EAAAA,cAAa,GAAG,uBAASzY,MAAT,EAAiBmZ,OAAjB,EAA0B;AACxC,QAAMC,SAAS,GAAG,QAAQ,gBAAgBX,cAAxB,GAAwC,KAAK5a,WAA7C,GAA2D3D,SAA7E;;AACA,QAAIkf,SAAS,KAAKlf,SAAlB,EAA6B;AAC3B,YAAM,IAAIC,SAAJ,CAAc,kCAAd,CAAN;AACD;;AAED,QAAI,CAACI,QAAQ,CAACyF,MAAD,CAAT,IAAqB,CAACzF,QAAQ,CAAC4e,OAAD,CAAlC,EAA6C;AAC3C,YAAM,IAAIhf,SAAJ,CAAc,4DAAd,CAAN;AACD,KARuC;;;;;AAaxC,QAAIkf,YAAY,GAAG,wBAAW,CAAE,CAAhC;;AACAb,IAAAA,YAAY,GAAG,wBAAW;;AAExBxY,MAAAA,MAAM,GAAG,IAAT,CAFwB;;AAGxBqZ,MAAAA,YAAY,GAAG,sBAASC,IAAT,EAAe;AAC5B,cAAM,IAAInf,SAAJ,2BAAiCmf,IAAjC,wCAAN;AACD,OAFD;AAGD,KAND;;AAOAC,IAAAA,UAAU,CAAC,YAAW;AACpBf,MAAAA,YAAY,GAAG,IAAf;AACD,KAFS,EAEP,CAFO,CAAV,CArBwC;;;AA2BxC,QAAMgB,aAAa,GAAGL,OAAtB;AACAA,IAAAA,OAAO,GAAG;AAAE,aAAO,IAAT;AAAe,aAAO,IAAtB;AAA4B,eAAS,IAArC;AAA2C,mBAAa;AAAxD,KAAV;;AACA,SAAK,IAAI1M,CAAT,IAAc+M,aAAd,EAA6B;AAC3B,UAAI,EAAE/M,CAAC,IAAI0M,OAAP,CAAJ,EAAqB;AACnB,cAAM,IAAIhf,SAAJ,iDAAuDsS,CAAvD,OAAN;AACD;;AACD0M,MAAAA,OAAO,CAAC1M,CAAD,CAAP,GAAa+M,aAAa,CAAC/M,CAAD,CAA1B;AACD;;AACD,QAAI,OAAO+M,aAAP,KAAyB,UAA7B,EAAyC;;;AAGvCL,MAAAA,OAAO,CAACla,KAAR,GAAgBua,aAAa,CAACva,KAAd,CAAoBmX,IAApB,CAAyBoD,aAAzB,CAAhB;AACD,KAvCuC;;;;AA2CxC,QAAM1Y,KAAK,GAAGoY,QAAQ,CAAClZ,MAAD,CAAtB,CA3CwC;;AA4CxC,QAAIyZ,KAAJ;AACA,QAAIC,QAAQ,GAAG,KAAf;AACA,QAAIC,OAAO,GAAG,KAAd;;AACA,QAAI,OAAO3Z,MAAP,KAAkB,UAAtB,EAAkC;AAChCyZ,MAAAA,KAAK,GAAG,SAAShB,aAAT,GAAyB;AAC/B,YAAMmB,QAAQ,GAAI,QAAQ,KAAK/b,WAAL,KAAqB4b,KAA/C;AACA,YAAMvE,IAAI,GAAG3T,KAAK,CAAC7D,SAAN,CAAgB5D,KAAhB,CAAsBD,IAAtB,CAA2BqF,SAA3B,CAAb;AACAma,QAAAA,YAAY,CAACO,QAAQ,GAAG,WAAH,GAAiB,OAA1B,CAAZ,CAH+B;;AAM/B,YAAIA,QAAQ,IAAIT,OAAO,CAAC,WAAD,CAAvB,EAAsC;AACpC,iBAAOA,OAAO,CAAC,WAAD,CAAP,CAAqBtf,IAArB,CAA0B,IAA1B,EAAgCmG,MAAhC,EAAwCkV,IAAxC,CAAP;AACD,SAFD,MAEO,IAAI,CAAC0E,QAAD,IAAaT,OAAO,CAACla,KAAzB,EAAgC;AACrC,iBAAOka,OAAO,CAAC,OAAD,CAAP,CAAiBnZ,MAAjB,EAAyB,IAAzB,EAA+BkV,IAA/B,CAAP;AACD,SAV8B;;;AAa/B,YAAI0E,QAAJ,EAAc;;AAEZ1E,UAAAA,IAAI,CAAC2E,OAAL,CAAa7Z,MAAb,EAFY;;;AAIZ,cAAMvD,EAAC;;AAA6BuD,UAAAA,MAAM,CAACoW,IAAP,CAAYnX,KAAZ,CAAkBe,MAAlB,EAA0BkV,IAA1B,CAApC;;AACA,iBAAO,IAAIzY,EAAJ,EAAP;AACD;;AACD,eAAOuD,MAAM,CAACf,KAAP,CAAa,IAAb,EAAmBiW,IAAnB,CAAP;AACD,OArBD;;AAsBAwE,MAAAA,QAAQ,GAAG,IAAX;AACD,KAxBD,MAwBO,IAAI1Z,MAAM,YAAYuB,KAAtB,EAA6B;AAClCkY,MAAAA,KAAK,GAAG,EAAR;AACAE,MAAAA,OAAO,GAAG,IAAV;AACD,KAHM,MAGA;AACLF,MAAAA,KAAK,GAAIZ,yBAAyB,IAAI/X,KAAK,KAAK,IAAxC,GAAgDiY,YAAY,CAACjY,KAAD,CAA5D,GAAsE,EAA9E;AACD,KA5EuC;;;;AAgFxC,QAAMgZ,MAAM,GAAGX,OAAO,CAACle,GAAR,GAAc,UAAS8e,IAAT,EAAe;AAC1CV,MAAAA,YAAY,CAAC,KAAD,CAAZ;AACA,aAAOF,OAAO,CAACle,GAAR,CAAY,IAAZ,EAAkB8e,IAAlB,EAAwBN,KAAxB,CAAP;AACD,KAHc,GAGX,UAASM,IAAT,EAAe;AACjBV,MAAAA,YAAY,CAAC,KAAD,CAAZ;AACA,aAAO,KAAKU,IAAL,CAAP;AACD,KAND;AAOA,QAAMC,MAAM,GAAGb,OAAO,CAACpL,GAAR,GAAc,UAASgM,IAAT,EAAexgB,KAAf,EAAsB;AACjD8f,MAAAA,YAAY,CAAC,KAAD,CAAZ;AACA,UAAMY,MAAM,GAAGd,OAAO,CAACpL,GAAR,CAAY,IAAZ,EAAkBgM,IAAlB,EAAwBxgB,KAAxB,EAA+BkgB,KAA/B,CAAf,CAFiD;;;;;AAQlD,KARc,GAQX,UAASM,IAAT,EAAexgB,KAAf,EAAsB;AACxB8f,MAAAA,YAAY,CAAC,KAAD,CAAZ;AACA,WAAKU,IAAL,IAAaxgB,KAAb;AACD,KAXD,CAvFwC;;AAqGxC,QAAM2gB,aAAa,GAAGtB,OAAO,CAACuB,mBAAR,CAA4Bna,MAA5B,CAAtB;AACA,QAAMoa,WAAW,GAAG,EAApB;AACAF,IAAAA,aAAa,CAAC1M,OAAd,CAAsB,UAASuM,IAAT,EAAe;AACnC,UAAI,CAACL,QAAQ,IAAIC,OAAb,KAAyBI,IAAI,IAAIN,KAArC,EAA4C;AAC1C,eAD0C;AAE3C;;AACD,UAAMY,IAAI,GAAGzB,OAAO,CAAC5c,wBAAR,CAAiCgE,MAAjC,EAAyC+Z,IAAzC,CAAb;AACA,UAAMlZ,IAAI,GAAG;AACXrH,QAAAA,UAAU,EAAEsf,OAAO,CAACuB,IAAI,CAAC7gB,UAAN,CADR;AAEXyB,QAAAA,GAAG,EAAE6e,MAAM,CAAC1D,IAAP,CAAYpW,MAAZ,EAAoB+Z,IAApB,CAFM;AAGXhM,QAAAA,GAAG,EAAEiM,MAAM,CAAC5D,IAAP,CAAYpW,MAAZ,EAAoB+Z,IAApB;AAHM,OAAb;AAKAnB,MAAAA,OAAO,CAAC5d,cAAR,CAAuBye,KAAvB,EAA8BM,IAA9B,EAAoClZ,IAApC;AACAuZ,MAAAA,WAAW,CAACL,IAAD,CAAX,GAAoB,IAApB;AACD,KAZD,EAvGwC;;;;AAwHxC,QAAIO,WAAW,GAAG,IAAlB;;AACA,QAAIZ,QAAQ,IAAIC,OAAhB,EAAyB;;;;AAIvB,UAAMY,QAAQ,GACZ3B,OAAO,CAAC5K,cAAR,KACC,GAAGE,SAAH,KAAiB3M,KAAK,CAAC7D,SAAvB,GACG,SAASsQ,cAAT,CAAwB/R,CAAxB,EAA2B6E,KAA3B,EAAkC;AAChC6X,QAAAA,aAAa,CAAC7X,KAAD,CAAb;AACA7E,QAAAA,CAAC,CAACiS,SAAF,GAAcpN,KAAd;AACA,eAAO7E,CAAP;AACD,OALJ,GAMGgd,IAPJ,CADF;;AASA,UAAI,EAAEnY,KAAK,IAAIyZ,QAAQ,CAACd,KAAD,EAAQ3Y,KAAR,CAAnB,CAAJ,EAAwC;AACtCwZ,QAAAA,WAAW,GAAG,KAAd;AACD;AACF;;AACD,QAAInB,OAAO,CAACle,GAAR,IAAe,CAACqf,WAApB,EAAiC;AAC/B,WAAK,IAAI7N,EAAT,IAAczM,MAAd,EAAsB;AACpB,YAAIoa,WAAW,CAAC3N,EAAD,CAAf,EAAoB;AAClB;AACD;;AACDmM,QAAAA,OAAO,CAAC5d,cAAR,CAAuBye,KAAvB,EAA8BhN,EAA9B,EAAiC;AAAExR,UAAAA,GAAG,EAAE6e,MAAM,CAAC1D,IAAP,CAAYpW,MAAZ,EAAoByM,EAApB;AAAP,SAAjC;AACD;AACF,KAjJuC;;;AAoJxCmM,IAAAA,OAAO,CAAC4B,IAAR,CAAaxa,MAAb;AACA4Y,IAAAA,OAAO,CAAC4B,IAAR,CAAaf,KAAb;AAEA,WAAOA,KAAP,CAvJwC;AAwJzC,GAxJD;;AA0JAhB,EAAAA,cAAa,CAACgC,SAAd,GAA0B,UAASza,MAAT,EAAiBmZ,OAAjB,EAA0B;AAClD,QAAM7L,CAAC,GAAG,IAAImL,cAAJ,CAAkBzY,MAAlB,EAA0BmZ,OAA1B,CAAV;AACA,WAAO;AAAE,eAAS7L,CAAX;AAAc,gBAAUkL;AAAxB,KAAP;AACD,GAHD;;AAKA,SAAOC,cAAP;CA1NF;;ACEA,CAAC,UAAUiC,KAAV,EAAiB;AAChB,MAAIA,KAAK,CAAC,OAAD,CAAT,EAAoB;AAClB;AACD;;AACDA,EAAAA,KAAK,CAACC,KAAN,GAAc5f,KAAqB,EAAnC;AACA2f,EAAAA,KAAK,CAACC,KAAN,CAAY,WAAZ,IAA2BD,KAAK,CAACC,KAAN,CAAYF,SAAvC;AACD,CAND,EAOG,gBAAgB,OAAOG,OAAvB,IAAkC,uBAAuB,GAAGjhB,QAAH,CAAYE,IAAZ,CAAiB+gB,OAAjB,CAA1D,IACG,gBAAgB,OAAOC,SAAvB,IAAoCA,SAAS,CAACC,OAAV,KAAsB,aAD7D,GAEI3f,cAFJ,GAGII,IAVN;ACfA;;;;;;;;;;;;IAUMwf;+BACU;;;;;SACPC,aAAa;SACblG,wBAAwB,IAAI7F,GAAJ;SACxB+F,sBAAsB,IAAI/F,GAAJ;SACtBgM,aAAa;;SACbC,SAAS,YAAa;wCAAThG,IAAS;AAATA,QAAAA,IAAS,KAAA,CAATA,kBAAAA;;;AAChBiG,MAAAA,KAAI,CAACF,UAAL,CAAgBle,IAAhB,CAAqBmY,IAArB;AADF;;;;;;;;;;;;;;;;;;;;8BAmBQkG,aAAa;WAChBJ,WAAWxN,QAAQ,UAAA/Q,CAAA;eAAKA,CAAC,CAAC4e,SAAF5e,CAAY2e,WAAZ3e;AAA7B;;;;;;;;;;;;;8BAWQ6e,aAAwC;;;UAA3BC,kBAA2B,uEAAN;WACrCL,SAASI;;UACVC,oBAAoB;aACjBN,WAAWzN,QAAQ,UAAAlB,KAAA;iBAAS6K,MAAI,CAAChC,GAAL,MAAA,CAAAgC,MAAA,qBAAY7K,MAAZ;AAAjC;;;;;iCAISkP,mBAAmB;;;WACzBrG,IAAI,0BAA0BqG,iBAAiB,CAAClc,IAAlBkc;AACnCA,MAAAA,iBAAiB,CAACC,4BAAlBD,CAA+CE,0BAA/CF;WACKR,WAAWje,KAAKye;AACrBA,MAAAA,iBAAiB,CAAC1G,qBAAlB0G,GAA0ChO,OAA1CgO,CAAkD,UAAAxc,CAAA;eAAKyY,MAAI,CAAC3C,qBAAL,CAA2BxG,GAA3B,CAA+BtP,CAA/B;AAAvD,OAAAwc;AACAA,MAAAA,iBAAiB,CAACxG,mBAAlBwG,GAAwChO,OAAxCgO,CAAgD,UAAAxc,CAAA;eAAKyY,MAAI,CAACzC,mBAAL,CAAyB1G,GAAzB,CAA6BtP,CAA7B;AAArD,OAAAwc;;;;;;;;;;;;;;;yDAamC3G,YAAY;aACxC,KAAKC,qBAAL,CAA2BxY,GAA3B,CAA+BuY,UAA/B;;;;gCAGGE,SAAS;aACZ,KAAKC,mBAAL,CAAyB1Y,GAAzB,CAA6ByY,OAA7B;;;;;;;;2CAMc;aACd,KAAKiG,UAAL,CAAgBW,MAAhB,CAAuB,UAAAlf,CAAA;eAAKA,CAAC,CAACmf,YAAFnf;AAA5B,OAAA;;;;0BAGI;WACNye;;;;;4BAYC;WACDF,aAAa;WACblG,wBAAwB,IAAI7F,GAAJ;WACxB+F,sBAAsB,IAAI/F,GAAJ;;;;;;;;;;;;;sCAWX4M,YAAY;;;UACxB;eACK,KAAKb,UAAL,CACJW,MADI,CACG,UAAAlf,CAAA;iBAAKA,CAAC,CAACmf,YAAFnf;AADR,SAAA,EAEJkf,MAFI,CAEG,UAAAlf,CAAA;iBAAKA,CAAC,CAACqf,mBAAFrf,CAAsBof,UAAtBpf;AAFR,SAAA,EAGJwX,GAHI,CAGA,UAAAxX,CAAA,EAAK;AACRsf,UAAAA,MAAI,CAAC5G,GAAL,CAAS1Y,CAAC,CAAC6C,IAAF7C,KAAW,cAAXA,GAA4Bof,UAArC;;iBACOpf;AALJ,SAAA,EAOJwX,GAPI,CAOA,UAAAxX,CAAA;iBAAKA,CAAC,CAACof,UAAD,CAADpf,CAAc5C,IAAd4C,CAAmBA,CAAnBA;AAPL,SAAA,EAQJuf,KARI,CAQE,UAAA1Y,MAAA;iBAAU,CAAC,CAACA;AARd,SAAA;AADT,QAUE,OAAOxI,CAAP,EAAU;AACV8b,QAAAA,OAAO,CAACC,KAARD,sCAA4CiF,0BAAgB/gB,EAA5D8b;;;;;;;;;;;;;;;;;;;+CAiBuBiF,YAAY;;;UACjC,KAAKI,WAAL,CAAiBJ,UAAjB,GAA8B;eACzB,YAAyB;cAAxB7F,QAAwB,uEAAb,YAAM,CAAO;;cAC1B;AACFkG,YAAAA,MAAI,CAAClB,UAAL,CACGW,MADH,CACU,UAAAlf,CAAA;qBAAKA,CAAC,CAACmf,YAAFnf;AADf,aAAA,EAEGkf,MAFH,CAEU,UAAAlf,CAAA;qBAAKA,CAAC,CAACwf,WAAFxf,CAAcof,UAAdpf;AAFf,aAAA,EAGG+Q,OAHH,CAGW,UAAA/Q,CAAA;qBAAKA,CAAC,CAACof,UAAD,CAADpf,CAAc5C,IAAd4C,CAAmBA,CAAnBA,EAAsBuZ,QAAtBvZ;AAHhB,aAAA;AADF,YAKE,OAAO3B,CAAP,EAAU;AACV8b,YAAAA,OAAO,CAACC,KAARD,sCAA4CiF,0BAAgB/gB,EAA5D8b;;AAPJ;AADF,aAWO;aACAuF,sBAAsBN;;;;;0CAITO,QAAQ;YACtB,IAAIjiB,SAAJ,yBACaiiB,wFAA8E7a,KAAK,CAACkB,IAANlB,CAC7F,KAAKuT,qBADwFvT,EAE7F7C,IAF6F6C,CAExF,IAFwFA,EAD3F;;;;;;;;;;iCAaK;aACJ,IAAIoZ,KAAJ,CAAU,IAAV,EAAgB;AACrB1f,QAAAA,GAAG,EAAE,YAAA,CAAC2Z,yBAAD,EAA4ByH,QAA5B,EAAyC;cACxCC,OAAO,CAAChgB,GAARggB,CAAY1H,yBAAZ0H,EAAuCD,QAAvCC,GAAkD;mBAC7CA,OAAO,CAACrhB,GAARqhB,CAAY1H,yBAAZ0H,EAAuCD,QAAvCC;AADT,iBAEO,IAAI1H,yBAAyB,CAAC2H,oCAA1B3H,CAA+DyH,QAA/DzH,CAAJ,EAA8E;mBAC5E,YAAM;qBACJA,yBAAyB,CAAC4H,iBAA1B5H,CAA4CyH,QAA5CzH;AADT;AADK,WAAA,MAIA;AACLA,YAAAA,yBAAyB,CAACuH,qBAA1BvH,CAAgDyH,QAAhDzH;;;AATiB,OAAhB;;;;wBApFO;aACP,IAAI+F,KAAJ,CAAU,IAAV,EAAgB;AACrB1f,QAAAA,GAAG,EAAE,YAAA,CAAC2Z,yBAAD,EAA4ByH,QAA5B,EAAyC;iBACrCzH,yBAAyB,CAAC6H,0BAA1B7H,CAAqDyH,QAArDzH;;AAFY,OAAhB;;;;;;;AAmGX,IAAM8G,0BAA0B,GAAG,IAAIX,iBAAJ,GAAwB2B,UAAxB,EAAnC;;AAGA1B,UAAU,CACPW,MADHX,CACU,UAAAve,CAAA;SAAKA,CAAC,CAACkgB,YAAFlgB;AADf,CAAAue,EAEGxN,OAFHwN,CAEW,UAAAve,CAAA,EAAK;AACZif,EAAAA,0BAA0B,CAACkB,YAA3BlB,CAAwC,IAAIjf,CAAJ,EAAxCif;AAHJ,CAAAV;AAMA,sBAAc,GAAGU,0BAAjB;OCzMc,GAAG;AACfX,EAAAA,iBAAiB,EAAjBA;AADe;"}
\ No newline at end of file
+{"version":3,"file":"data-privacy-compliance.js","sources":["../node_modules/core-js/modules/_object-pie.js","../node_modules/core-js/modules/_property-desc.js","../node_modules/core-js/modules/_cof.js","../node_modules/core-js/modules/_iobject.js","../node_modules/core-js/modules/_defined.js","../node_modules/core-js/modules/_to-iobject.js","../node_modules/core-js/modules/_is-object.js","../node_modules/core-js/modules/_to-primitive.js","../node_modules/core-js/modules/_has.js","../node_modules/core-js/modules/_fails.js","../node_modules/core-js/modules/_descriptors.js","../node_modules/core-js/modules/_global.js","../node_modules/core-js/modules/_dom-create.js","../node_modules/core-js/modules/_ie8-dom-define.js","../node_modules/core-js/modules/_object-gopd.js","../node_modules/core-js/modules/_to-object.js","../node_modules/core-js/modules/_core.js","../node_modules/core-js/modules/_shared.js","../node_modules/core-js/modules/_uid.js","../node_modules/core-js/modules/_shared-key.js","../node_modules/core-js/modules/_object-gpo.js","../node_modules/core-js/modules/_an-object.js","../node_modules/core-js/modules/_object-dp.js","../node_modules/core-js/modules/_hide.js","../node_modules/core-js/modules/_function-to-string.js","../node_modules/core-js/modules/_redefine.js","../node_modules/core-js/modules/_a-function.js","../node_modules/core-js/modules/_ctx.js","../node_modules/core-js/modules/_export.js","../node_modules/core-js/modules/es6.reflect.get.js","../node_modules/core-js/modules/es6.reflect.has.js","../node_modules/core-js/modules/_iter-call.js","../node_modules/core-js/modules/_iterators.js","../node_modules/core-js/modules/_wks.js","../node_modules/core-js/modules/_is-array-iter.js","../node_modules/core-js/modules/_to-integer.js","../node_modules/core-js/modules/_to-length.js","../node_modules/core-js/modules/_create-property.js","../node_modules/core-js/modules/_classof.js","../node_modules/core-js/modules/core.get-iterator-method.js","../node_modules/core-js/modules/_iter-detect.js","../node_modules/core-js/modules/es6.array.from.js","../node_modules/core-js/modules/es6.function.name.js","../node_modules/core-js/modules/_add-to-unscopables.js","../node_modules/core-js/modules/_iter-step.js","../node_modules/core-js/modules/_to-absolute-index.js","../node_modules/core-js/modules/_array-includes.js","../node_modules/core-js/modules/_object-keys-internal.js","../node_modules/core-js/modules/_enum-bug-keys.js","../node_modules/core-js/modules/_object-keys.js","../node_modules/core-js/modules/_object-dps.js","../node_modules/core-js/modules/_html.js","../node_modules/core-js/modules/_object-create.js","../node_modules/core-js/modules/_set-to-string-tag.js","../node_modules/core-js/modules/_iter-create.js","../node_modules/core-js/modules/_iter-define.js","../node_modules/core-js/modules/es6.array.iterator.js","../node_modules/core-js/modules/web.dom.iterable.js","../node_modules/core-js/modules/es6.object.to-string.js","../node_modules/core-js/modules/_string-at.js","../node_modules/core-js/modules/es6.string.iterator.js","../node_modules/core-js/modules/_redefine-all.js","../node_modules/core-js/modules/_an-instance.js","../node_modules/core-js/modules/_for-of.js","../node_modules/core-js/modules/_set-species.js","../node_modules/core-js/modules/_meta.js","../node_modules/core-js/modules/_validate-collection.js","../node_modules/core-js/modules/_collection-strong.js","../node_modules/core-js/modules/_set-proto.js","../node_modules/core-js/modules/_inherit-if-required.js","../node_modules/core-js/modules/_collection.js","../node_modules/core-js/modules/es6.set.js","../node_modules/core-js/modules/_is-regexp.js","../node_modules/core-js/modules/_species-constructor.js","../node_modules/core-js/modules/_advance-string-index.js","../node_modules/core-js/modules/_regexp-exec-abstract.js","../node_modules/core-js/modules/_flags.js","../node_modules/core-js/modules/_regexp-exec.js","../node_modules/core-js/modules/es6.regexp.exec.js","../node_modules/core-js/modules/_fix-re-wks.js","../node_modules/core-js/modules/es6.regexp.split.js","../node_modules/core-js/modules/es6.map.js","../src/lib/cookie.js","../node_modules/core-js/modules/es7.array.includes.js","../node_modules/core-js/modules/_string-context.js","../node_modules/core-js/modules/_fails-is-regexp.js","../node_modules/core-js/modules/es6.string.includes.js","../src/frameworks/base.js","../src/frameworks/ccpa_on_chorus.js","../src/frameworks/ccpa_from_us_privacy_string.js","../src/frameworks/us_privacy_string_and_api_generator.js","../src/frameworks/rakuten_consent_generator.js","../src/frameworks/index.js","../node_modules/proxy-polyfill/src/proxy.js","../node_modules/proxy-polyfill/src/index.js","../src/privacy_compliance.js","../src/index.js"],"sourcesContent":["exports.f = {}.propertyIsEnumerable;\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","var core = module.exports = { version: '2.6.11' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar $toString = require('./_function-to-string');\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\n\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var desc, proto;\n if (anObject(target) === receiver) return target[propertyKey];\n if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')\n ? desc.value\n : desc.get !== undefined\n ? desc.get.call(receiver)\n : undefined;\n if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', { get: get });\n","// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {\n has: function has(target, propertyKey) {\n return propertyKey in target;\n }\n});\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","module.exports = {};\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","var dP = require('./_object-dp').f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function () {\n try {\n return ('' + this).match(nameRE)[1];\n } catch (e) {\n return '';\n }\n }\n});\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var $iterators = require('./es6.array.iterator');\nvar getKeys = require('./_object-keys');\nvar redefine = require('./_redefine');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar wks = require('./_wks');\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof');\nvar test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n require('./_redefine')(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","var redefine = require('./_redefine');\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","var isObject = require('./_is-object');\nvar setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n } return that;\n};\n","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar redefineAll = require('./_redefine-all');\nvar meta = require('./_meta');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar $iterDetect = require('./_iter-detect');\nvar setToStringTag = require('./_set-to-string-tag');\nvar inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n var fixMethod = function (KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n // weak collections should not contains .clear method\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')(SET, function (get) {\n return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object');\nvar cof = require('./_cof');\nvar MATCH = require('./_wks')('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","'use strict';\n\nvar classof = require('./_classof');\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw new TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n if (classof(R) !== 'RegExp') {\n throw new TypeError('RegExp#exec called on incompatible receiver');\n }\n return builtinExec.call(R, S);\n};\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\n\nvar regexpFlags = require('./_flags');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/,\n re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n // eslint-disable-next-line no-loop-func\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar regexpExec = require('./_regexp-exec');\nrequire('./_export')({\n target: 'RegExp',\n proto: true,\n forced: regexpExec !== /./.exec\n}, {\n exec: regexpExec\n});\n","'use strict';\nrequire('./es6.regexp.exec');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\nvar regexpExec = require('./_regexp-exec');\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\n\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n","'use strict';\n\nvar isRegExp = require('./_is-regexp');\nvar anObject = require('./_an-object');\nvar speciesConstructor = require('./_species-constructor');\nvar advanceStringIndex = require('./_advance-string-index');\nvar toLength = require('./_to-length');\nvar callRegExpExec = require('./_regexp-exec-abstract');\nvar regexpExec = require('./_regexp-exec');\nvar fails = require('./_fails');\nvar $min = Math.min;\nvar $push = [].push;\nvar $SPLIT = 'split';\nvar LENGTH = 'length';\nvar LAST_INDEX = 'lastIndex';\nvar MAX_UINT32 = 0xffffffff;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nrequire('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(this);\n if (separator === undefined && limit === 0) return [];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) return $split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? MAX_UINT32 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy[LAST_INDEX];\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if (output[LENGTH] >= splitLimit) break;\n }\n if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if (lastLastIndex === string[LENGTH]) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);\n };\n } else {\n internalSplit = $split;\n }\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = defined(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n});\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n","/**\n * Gets all the cookies as a Map\n *\n * @returns Map of cookie values\n */\nfunction getAllCookies() {\n return new Map(document.cookie.split(';').map(cookie => cookie.trim().split('=')));\n}\n\n/**\n * Checks if cookie exists\n *\n * @param {String} name name of cookie\n * @return {Boolean} true of cookie is present\n */\nfunction hasCookie(name) {\n return getAllCookies().has(name);\n}\n\n/**\n * Gets the cookie value\n *\n * @param {String} name name of cookie\n * @return {String} the value of the cookie\n */\nfunction getCookie(name) {\n return getAllCookies().get(name);\n}\n\nmodule.exports = {\n getAllCookies,\n hasCookie,\n getCookie,\n};\n","'use strict';\n// https://github.com/tc39/Array.prototype.includes\nvar $export = require('./_export');\nvar $includes = require('./_array-includes')(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\nrequire('./_add-to-unscopables')('includes');\n","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n","var MATCH = require('./_wks')('match');\nmodule.exports = function (KEY) {\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) { /* empty */ }\n } return true;\n};\n","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export');\nvar context = require('./_string-context');\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","class FrameworkBase {\n constructor() {\n this.privacyComplianceInstance = null;\n }\n\n static isAutoLoaded() {\n return true;\n }\n\n name() {\n return 'FrameworkBase';\n }\n\n isApplicable() {\n return true;\n }\n\n useConfig(someConfigs = {}) {}\n\n supportedCapabilities() {\n return [];\n }\n\n supportedGenerators() {\n return [];\n }\n\n canAnswerCapability(capability) {\n return this.supportedCapabilities().includes(capability);\n }\n\n canGenerate(ability) {\n return this.supportedGenerators().includes(ability);\n }\n\n setPrivacyComplianceInstance(pc) {\n this.privacyComplianceInstance = pc;\n }\n\n log(...args) {\n this.privacyComplianceInstance && this.privacyComplianceInstance.log(`[${this.name()}]`, ...args);\n }\n}\n\nmodule.exports = FrameworkBase;\n","const Cookie = require('../lib/cookie');\nconst FrameworkBase = require('./base');\n\nclass CcpaOnChorus extends FrameworkBase {\n name() {\n return 'CcpaOnChorus';\n }\n\n isApplicable() {\n return !!window && !!window.Chorus;\n }\n\n supportedCapabilities() {\n return ['canUsePersonalInformationForTargeting', 'hasBeenNotifiedOfRights', 'isLSPACoveredTransaction'];\n }\n\n canUsePersonalInformationForTargeting() {\n return !Cookie.hasCookie('_chorus_ccpa_consent_donotsell');\n }\n\n hasBeenNotifiedOfRights() {\n // see https://voxmedia.slack.com/archives/CPJDM3CCU/p1594741208106400\n return true;\n }\n\n isLSPACoveredTransaction() {\n return true;\n }\n}\n\nmodule.exports = CcpaOnChorus;\n","const FrameworkBase = require('./base');\n\n/**\n * Implements usprivacy string framework\n * for more information on the US Privacy string see:\n * https://github.com/InteractiveAdvertisingBureau/USPrivacy/blob/master/CCPA/US%20Privacy%20String.md#us-privacy-string-format\n */\nclass CCPAFromUSPrivacyString extends FrameworkBase {\n constructor() {\n super();\n this.usPrivacyString = '';\n }\n\n name() {\n return 'CCPAFromUSPrivacyString';\n }\n\n useConfig({ usp }) {\n if (usp) {\n this.usPrivacyString = ('' + usp).toUpperCase();\n }\n }\n\n isApplicable() {\n return !!this.usPrivacyString;\n }\n\n supportedCapabilities() {\n return ['canUsePersonalInformationForTargeting', 'hasBeenNotifiedOfRights', 'isLSPACoveredTransaction'];\n }\n\n canUsePersonalInformationForTargeting() {\n return this.consentStringAllowsPersonalDataSale();\n }\n\n hasBeenNotifiedOfRights() {\n return this.consentStringAcknowledgesUserHasBeenNotifiedOfRights();\n }\n\n consentStringAllowsPersonalDataSale() {\n if (!this.supportedUsPrivacyStringVersion()) return true;\n if (!this.consentStringAcknowledgesUserHasBeenNotifiedOfRights()) return true;\n return this.usPrivacyString[2] !== 'Y';\n }\n\n isLSPACoveredTransaction() {\n return this.supportedUsPrivacyStringVersion() && this.usPrivacyString[3] === 'Y';\n }\n\n consentStringAcknowledgesUserHasBeenNotifiedOfRights() {\n return this.supportedUsPrivacyStringVersion() && this.usPrivacyString[1] === 'Y';\n }\n\n supportedUsPrivacyStringVersion() {\n return this.usPrivacyString.length === 4 && this.usPrivacyString[0] === '1';\n }\n}\n\nmodule.exports = CCPAFromUSPrivacyString;\n","const FrameworkBase = require('./base');\n\nconst US_PRIVACY_API_VERSION = 1;\n\n/**\n * Implements usprivacy string framework\n * for more information on the US Privacy string see:\n * https://github.com/InteractiveAdvertisingBureau/USPrivacy/blob/master/CCPA/US%20Privacy%20String.md#us-privacy-string-format\n */\nclass UsPrivacyStringAndAPIGenerator extends FrameworkBase {\n constructor() {\n super();\n this.window = window;\n this.document = document;\n }\n\n name() {\n return 'UsPrivacyStringAndAPIGenerator';\n }\n\n supportedGenerators() {\n return ['usPrivacyString', 'installPrivacyAPI'];\n }\n\n useConfig({ window, document }) {\n if (window) {\n this.window = window;\n }\n if (document) {\n this.document = document;\n }\n }\n\n usPrivacyString(callback = () => {}) {\n callback(this.buildUsPrivacyString(), this);\n }\n\n installPrivacyAPI(callback = () => {}) {\n this.window.__uspapi = this.handleUSPrivacyAPI.bind(this);\n this.createUspapiFrame();\n callback(true);\n }\n\n // Private methods ---------\n buildUsPrivacyString() {\n let usp = '' + US_PRIVACY_API_VERSION;\n usp += this.privacyComplianceInstance.hasBeenNotifiedOfRights() ? 'Y' : 'N';\n usp += this.privacyComplianceInstance.canUsePersonalInformationForTargeting() ? 'N' : 'Y';\n usp += this.privacyComplianceInstance.isLSPACoveredTransaction() ? 'Y' : 'N';\n return usp;\n }\n\n handleUSPrivacyAPI(command, version, callback) {\n if (typeof callback !== 'function') {\n throw `__uspapi: Expected ${callback} to be a function, received a ${typeof callback}`;\n }\n\n let canSuccessfullyAnswer = true;\n let usPrivacyDataString = `${US_PRIVACY_API_VERSION}---`;\n\n if (version !== US_PRIVACY_API_VERSION) {\n console.error(`__uspapi: Only able to handle version 1`);\n canSuccessfullyAnswer = false;\n }\n\n switch (command) {\n case 'getUSPData':\n usPrivacyDataString = this.buildUsPrivacyString();\n break;\n default:\n canSuccessfullyAnswer = false;\n console.error(`__uspapi: Unable to handle command '${command}'`);\n }\n\n this.log(\n `${canSuccessfullyAnswer ? 'Successfully' : 'Unsuccessfully'} handled CCPA privacy request ${usPrivacyDataString}`\n );\n\n callback(\n {\n uspString: usPrivacyDataString,\n version: US_PRIVACY_API_VERSION,\n },\n canSuccessfullyAnswer\n );\n }\n\n /**\n * Creates a top level iframe used to proxy messages between\n * frames and this implementation of the CCPA Compliance Framework\n *\n * It works by:\n * 1. Creating a specially named iframe\n * 2. Setting up an event listener on this frame\n * 3. This listener will proxy \"__uspapiCall\" messages to handleUSPrivacyAPI\n * 4. and post the message back to the sending frame.\n */\n createUspapiFrame() {\n this.log('Creating __uspapiLocator iframe');\n\n const frame = this.document.createElement('iframe');\n frame.setAttribute('name', '__uspapiLocator');\n frame.style.display = 'none';\n\n if (this.document.readyState === 'loading') {\n this.document.addEventListener('DOMContentLoaded', () => {\n this.document.body.appendChild(frame);\n this.setupIframeMessageProxyOn(frame);\n });\n } else {\n this.document.body.appendChild(frame);\n this.setupIframeMessageProxyOn(frame);\n }\n }\n\n /**\n * Will setup listener proxy on the iframe which... accomplish 2-4 from above\n *\n * 2. Setting up an event listener on this frame\n * 3. This listener will proxy \"__uspapiCall\" messages to handleUSPrivacyAPI\n * 4. and post the message back to the sending frame.\n *\n * @param {DOMElement} frame the iframe to setup the listener on\n */\n setupIframeMessageProxyOn(frame) {\n frame.contentWindow.addEventListener('message', event => {\n const messageData = event.data;\n\n if (messageData && messageData.__uspapiCall) {\n this.log('__uspapiLocator responding to message request');\n\n const uspapiCallParameters = messageData.__uspapiCall;\n const targetSource = event.source || window.top;\n const targetOrigin = event.origin || '*';\n\n this.handleUSPrivacyAPI(\n uspapiCallParameters.command,\n uspapiCallParameters.version,\n (uspData, wasSuccessful) => {\n targetSource.postMessage(\n {\n __uspapiReturn: {\n returnValue: uspData,\n success: wasSuccessful,\n callId: uspapiCallParameters.callId,\n },\n },\n targetOrigin\n );\n }\n );\n }\n });\n }\n}\n\nmodule.exports = UsPrivacyStringAndAPIGenerator;\n","const FrameworkBase = require('./base');\nconst RAKUTEN_CONSENT_PARAM = 'cnst';\n\nclass RakutenConsentGenerator extends FrameworkBase {\n constructor() {\n super();\n this.document = document;\n this.rakutenLinkSelector = 'a[href^=\"https://click.linksynergy.com\"]';\n }\n\n name() {\n return 'RakutenConsentGenerator';\n }\n\n isApplicable() {\n // This generator depends on being able to generate a usPrivacyString\n // this is checked when this Generator is being called, so load order isn't important\n // since all the generators are loaded by the time they are being run\n return this.document && this.privacyComplianceInstance.canGenerate('usPrivacyString');\n }\n\n supportedGenerators() {\n return ['addConsentParameterToCommerceLinks'];\n }\n\n useConfig({ document, rakutenLinkSelector }) {\n if (document) {\n this.document = document;\n }\n if (rakutenLinkSelector) {\n this.rakutenLinkSelector = rakutenLinkSelector;\n }\n }\n\n addConsentParameterToCommerceLinks(callback = () => {}) {\n let usp;\n this.privacyComplianceInstance.Generator.usPrivacyString(val => (usp = val));\n\n const allRakutenLinks = Array.from(this.document.querySelectorAll(this.rakutenLinkSelector));\n const rakutenLinksThatNeedConsentParams = allRakutenLinks.filter(\n link => !link.href?.includes(RAKUTEN_CONSENT_PARAM + '=')\n );\n rakutenLinksThatNeedConsentParams.forEach(link => {\n this.log('Adding rakuten consent parameter to a link', link.href, usp);\n\n link.href += link.href.includes('?') ? '&' : '?' + `${RAKUTEN_CONSENT_PARAM}=c${usp}`;\n });\n\n callback(rakutenLinksThatNeedConsentParams, this);\n }\n}\n\nmodule.exports = RakutenConsentGenerator;\n","const CcpaOnChorus = require('./ccpa_on_chorus');\nconst CcpaFromUsPrivacyString = require('./ccpa_from_us_privacy_string');\nconst UsPrivacyStringAndAPIGenerator = require('./us_privacy_string_and_api_generator');\nconst RakutenConstentGenerator = require('./rakuten_consent_generator');\n\nmodule.exports = [CcpaOnChorus, CcpaFromUsPrivacyString, UsPrivacyStringAndAPIGenerator, RakutenConstentGenerator];\n","/*\n * Copyright 2016 Google Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not\n * use this file except in compliance with the License. You may obtain a copy of\n * the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations under\n * the License.\n */\n\nmodule.exports = function proxyPolyfill() {\n let lastRevokeFn = null;\n let ProxyPolyfill;\n\n /**\n * @param {*} o\n * @return {boolean} whether this is probably a (non-null) Object\n */\n function isObject(o) {\n return o ? (typeof o === 'object' || typeof o === 'function') : false;\n }\n\n function validateProto(proto) {\n if (proto !== null && !isObject(proto)) {\n throw new TypeError('Object prototype may only be an Object or null: ' + proto);\n }\n }\n\n const $Object = Object;\n\n // Closure assumes that `{__proto__: null} instanceof Object` is always true, hence why we check against a different name.\n const canCreateNullProtoObjects = Boolean($Object.create) || !({ __proto__: null } instanceof $Object);\n const objectCreate =\n $Object.create ||\n (canCreateNullProtoObjects\n ? function create(proto) {\n validateProto(proto);\n return { __proto__: proto };\n }\n : function create(proto) {\n validateProto(proto);\n if (proto === null) {\n throw new SyntaxError('Native Object.create is required to create objects with null prototype');\n }\n\n // nb. cast to convince Closure compiler that this is a constructor\n var T = /** @type {!Function} */ (function T() {});\n T.prototype = proto;\n return new T();\n });\n\n const noop = function() { return null; };\n\n const getProto =\n $Object.getPrototypeOf ||\n ([].__proto__ === Array.prototype\n ? function getPrototypeOf(O) {\n // If O.[[Prototype]] === null, then the __proto__ accessor won't exist,\n // as it's inherited from `Object.prototype`\n const proto = O.__proto__;\n return isObject(proto) ? proto : null;\n }\n : noop);\n\n /**\n * @constructor\n * @param {!Object} target\n * @param {{apply, construct, get, set}} handler\n */\n ProxyPolyfill = function(target, handler) {\n const newTarget = this && this instanceof ProxyPolyfill ? this.constructor : undefined;\n if (newTarget === undefined) {\n throw new TypeError(\"Constructor Proxy requires 'new'\");\n }\n\n if (!isObject(target) || !isObject(handler)) {\n throw new TypeError('Cannot create proxy with a non-object as target or handler');\n }\n\n // Construct revoke function, and set lastRevokeFn so that Proxy.revocable can steal it.\n // The caller might get the wrong revoke function if a user replaces or wraps scope.Proxy\n // to call itself, but that seems unlikely especially when using the polyfill.\n let throwRevoked = function() {};\n lastRevokeFn = function() {\n /** @suppress {checkTypes} */\n target = null; // clear ref\n throwRevoked = function(trap) {\n throw new TypeError(`Cannot perform '${trap}' on a proxy that has been revoked`);\n };\n };\n setTimeout(function() {\n lastRevokeFn = null;\n }, 0);\n\n // Fail on unsupported traps: Chrome doesn't do this, but ensure that users of the polyfill\n // are a bit more careful. Copy the internal parts of handler to prevent user changes.\n const unsafeHandler = handler;\n handler = { 'get': null, 'set': null, 'apply': null, 'construct': null };\n for (let k in unsafeHandler) {\n if (!(k in handler)) {\n throw new TypeError(`Proxy polyfill does not support trap '${k}'`);\n }\n handler[k] = unsafeHandler[k];\n }\n if (typeof unsafeHandler === 'function') {\n // Allow handler to be a function (which has an 'apply' method). This matches what is\n // probably a bug in native versions. It treats the apply call as a trap to be configured.\n handler.apply = unsafeHandler.apply.bind(unsafeHandler);\n }\n\n // Define proxy as an object that extends target.[[Prototype]],\n // or a Function (if either it's callable, or apply is set).\n const proto = getProto(target); // can return null in old browsers\n let proxy;\n let isMethod = false;\n let isArray = false;\n if (typeof target === 'function') {\n proxy = function ProxyPolyfill() {\n const usingNew = (this && this.constructor === proxy);\n const args = Array.prototype.slice.call(arguments);\n throwRevoked(usingNew ? 'construct' : 'apply');\n\n // TODO(samthor): Closure compiler doesn't know about 'construct', attempts to rename it.\n if (usingNew && handler['construct']) {\n return handler['construct'].call(this, target, args);\n } else if (!usingNew && handler.apply) {\n return handler['apply'](target, this, args);\n }\n\n // since the target was a function, fallback to calling it directly.\n if (usingNew) {\n // inspired by answers to https://stackoverflow.com/q/1606797\n args.unshift(target); // pass class as first arg to constructor, although irrelevant\n // nb. cast to convince Closure compiler that this is a constructor\n const f = /** @type {!Function} */ (target.bind.apply(target, args));\n return new f();\n }\n return target.apply(this, args);\n };\n isMethod = true;\n } else if (target instanceof Array) {\n proxy = [];\n isArray = true;\n } else {\n proxy = (canCreateNullProtoObjects || proto !== null) ? objectCreate(proto) : {};\n }\n\n // Create default getters/setters. Create different code paths as handler.get/handler.set can't\n // change after creation.\n const getter = handler.get ? function(prop) {\n throwRevoked('get');\n return handler.get(this, prop, proxy);\n } : function(prop) {\n throwRevoked('get');\n return this[prop];\n };\n const setter = handler.set ? function(prop, value) {\n throwRevoked('set');\n const status = handler.set(this, prop, value, proxy);\n // TODO(samthor): If the calling code is in strict mode, throw TypeError.\n // if (!status) {\n // It's (sometimes) possible to work this out, if this code isn't strict- try to load the\n // callee, and if it's available, that code is non-strict. However, this isn't exhaustive.\n // }\n } : function(prop, value) {\n throwRevoked('set');\n this[prop] = value;\n };\n\n // Clone direct properties (i.e., not part of a prototype).\n const propertyNames = $Object.getOwnPropertyNames(target);\n const propertyMap = {};\n propertyNames.forEach(function(prop) {\n if ((isMethod || isArray) && prop in proxy) {\n return; // ignore properties already here, e.g. 'bind', 'prototype' etc\n }\n const real = $Object.getOwnPropertyDescriptor(target, prop);\n const desc = {\n enumerable: Boolean(real.enumerable),\n get: getter.bind(target, prop),\n set: setter.bind(target, prop),\n };\n $Object.defineProperty(proxy, prop, desc);\n propertyMap[prop] = true;\n });\n\n // Set the prototype, or clone all prototype methods (always required if a getter is provided).\n // TODO(samthor): We don't allow prototype methods to be set. It's (even more) awkward.\n // An alternative here would be to _just_ clone methods to keep behavior consistent.\n let prototypeOk = true;\n if (isMethod || isArray) {\n // Arrays and methods are special: above, we instantiate boring versions of these then swap\n // our their prototype later. So we only need to use setPrototypeOf in these cases. Some old\n // engines support `Object.getPrototypeOf` but not `Object.setPrototypeOf`.\n const setProto =\n $Object.setPrototypeOf ||\n ([].__proto__ === Array.prototype\n ? function setPrototypeOf(O, proto) {\n validateProto(proto);\n O.__proto__ = proto;\n return O;\n }\n : noop);\n if (!(proto && setProto(proxy, proto))) {\n prototypeOk = false;\n }\n }\n if (handler.get || !prototypeOk) {\n for (let k in target) {\n if (propertyMap[k]) {\n continue;\n }\n $Object.defineProperty(proxy, k, { get: getter.bind(target, k) });\n }\n }\n\n // The Proxy polyfill cannot handle adding new properties. Seal the target and proxy.\n $Object.seal(target);\n $Object.seal(proxy);\n\n return proxy; // nb. if isMethod is true, proxy != this\n };\n\n ProxyPolyfill.revocable = function(target, handler) {\n const p = new ProxyPolyfill(target, handler);\n return { 'proxy': p, 'revoke': lastRevokeFn };\n };\n\n return ProxyPolyfill;\n}\n","/*\n * Copyright 2018 Google Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not\n * use this file except in compliance with the License. You may obtain a copy of\n * the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations under\n * the License.\n */\n\n'use strict';\n\n(function (scope) {\n if (scope['Proxy']) {\n return;\n }\n scope.Proxy = require('./proxy.js')();\n scope.Proxy['revocable'] = scope.Proxy.revocable;\n})(\n ('undefined' !== typeof process && '[object process]' === {}.toString.call(process)) ||\n ('undefined' !== typeof navigator && navigator.product === 'ReactNative')\n ? global\n : self\n);\n","const frameworks = require('./frameworks');\nrequire('proxy-polyfill');\n\n/**\n * The public Privacy Compliance class, which is exported as a singleton\n *\n * Responsible for managing frameworks and proxying requests to related\n * frameworks.\n *\n * Note: This uses Proxy() to support introspection of method calls\n * to make it look like this class has a lot more functions\n * than it really does\n */\nclass PrivacyCompliance {\n constructor() {\n this.frameworks = [];\n this.supportedCapabilities = new Set();\n this.supportedGenerators = new Set();\n this.logEntries = [];\n this.logger = (...args) => {\n this.logEntries.push(args);\n };\n }\n\n /**\n * useConfig is a convenient way to pass configuration values to all frameworks.\n * When a useConfig is called, every loaded framework will have their own\n * useConfig methods called.\n *\n * The ideal pattern is to use keys to type the configs, for example:\n * PrivacyCompliance.useConfig({\n * usp: \"1TFT\"\n * })\n * Which could signal to any listening capabiltiy-frameworks to use the new\n * US Privacy String\n *\n * @param {Object} someConfigs any config to share with all frameworks\n */\n useConfig(someConfigs) {\n this.frameworks.forEach(f => f.useConfig(someConfigs));\n }\n\n /**\n * Allows this libraries internal logs to be accessible to including libraries.\n * The default is to also insert any missed logs. Because this is setup as a singleton,\n * it is easy to miss the initial setup logs, that happened, before a logger was setup.\n *\n * @param {Function} logFunction to be called everytime a new log entry is generated\n * @param {Boolean} relogMissedEntries when true will relog missed entries from before the logger was wired up\n */\n useLogger(logFunction, relogMissedEntries = true) {\n this.logger = logFunction;\n if (relogMissedEntries) {\n this.logEntries.forEach(entry => this.log(...entry));\n }\n }\n\n addFramework(frameworkInstance) {\n this.log('Adding new framework: ', frameworkInstance.name());\n frameworkInstance.setPrivacyComplianceInstance(privacyComplianceSingleton);\n this.frameworks.push(frameworkInstance);\n frameworkInstance.supportedCapabilities().forEach(c => this.supportedCapabilities.add(c));\n frameworkInstance.supportedGenerators().forEach(c => this.supportedGenerators.add(c));\n }\n\n /**\n * Checks if a given Capability (as a string) can be answered by the loaded\n * frameworks.\n *\n * Caution: not all frameworks will be applicable and able to\n * answer this capability for all environments.\n *\n * @param {String} capability the method name of the capability\n * @returns Boolean true if the capability can be answered\n */\n hasFrameworkLoadedToAnswerCapability(capability) {\n return this.supportedCapabilities.has(capability);\n }\n\n canGenerate(ability) {\n return this.supportedGenerators.has(ability);\n }\n\n /**\n * Returns a list of applicable frameworks for this environment.\n */\n applicableFrameworks() {\n return this.frameworks.filter(f => f.isApplicable());\n }\n\n log(...args) {\n this.logger(...args);\n }\n\n get Generator() {\n return new Proxy(this, {\n get: (privacyComplianceInstance, property) => {\n return privacyComplianceInstance.proxyToFrameworkGenerators(property);\n },\n });\n }\n\n // For use with testing only\n reset() {\n this.log(`Reset called. Removing ${this.frameworks.length} framework(s)`);\n this.frameworks = [];\n this.supportedCapabilities = new Set();\n this.supportedGenerators = new Set();\n }\n\n /**\n * This method will take a string, translate it into a method and call it\n * on the added frameworks. If all applicable frameworks support this capability\n * then it will return true, if not it will be false.\n *\n * @param {String} methodName the name of methods to call on the base frameworks\n * @return Boolean if all the frameworks permit this\n */\n proxyToFrameworks(methodName) {\n try {\n return this.frameworks\n .filter(f => f.isApplicable())\n .filter(f => f.canAnswerCapability(methodName))\n .map(f => {\n this.log(f.name() + ' answering: ' + methodName);\n return f;\n })\n .map(f => f[methodName].call(f))\n .every(result => !!result);\n } catch (e) {\n console.error(`There was an error calling ${methodName} - ${e}`);\n }\n }\n\n /**\n * This method will take a string, translate it into a method and call it\n * on the added frameworks. If all applicable frameworks support this generator\n * then it will be called, with the given passback.\n *\n * Note this is a little more complex than capabilities, because like capabilities\n * multiple frameworks can be called for this generator, and there is no convenient way\n * to collect those responses, so instead it takes a callback that will be executed for\n * every generator run.\n *\n * @param {String} methodName the name of methods to call on the base frameworks\n * @returns {Function} the function to execute, with callback of the generators response\n */\n proxyToFrameworkGenerators(methodName) {\n if (this.canGenerate(methodName)) {\n return (callback = () => {}) => {\n try {\n this.frameworks\n .filter(f => f.isApplicable())\n .filter(f => f.canGenerate(methodName))\n .forEach(f => f[methodName].call(f, callback));\n } catch (e) {\n console.error(`There was an error calling ${methodName} - ${e}`);\n }\n };\n } else {\n this.throwUnsupportedError(methodName);\n }\n }\n\n throwUnsupportedError(method) {\n throw new TypeError(\n `Can not call '${method}'. It is not found in the loaded frameworks. Supported capabilities: ${Array.from(\n this.supportedCapabilities\n ).join(', ')}`\n );\n }\n\n /**\n * This uses a modern Proxy() object to support arbitrary missing methods\n * which allows the frameworks to declare their own capability methods without\n * needing to add those to this class.\n */\n\n applyProxy() {\n return new Proxy(this, {\n get: (privacyComplianceInstance, property) => {\n if (Reflect.has(privacyComplianceInstance, property)) {\n return Reflect.get(privacyComplianceInstance, property);\n } else if (privacyComplianceInstance.hasFrameworkLoadedToAnswerCapability(property)) {\n return () => {\n return privacyComplianceInstance.proxyToFrameworks(property);\n };\n } else {\n privacyComplianceInstance.throwUnsupportedError(property);\n }\n },\n });\n }\n}\n\nconst privacyComplianceSingleton = new PrivacyCompliance().applyProxy();\n\n// Autoload all of the auto-loaded frameworks\nframeworks\n .filter(f => f.isAutoLoaded())\n .forEach(f => {\n privacyComplianceSingleton.addFramework(new f());\n });\n\nmodule.exports = privacyComplianceSingleton;\n","const PrivacyCompliance = require('./privacy_compliance');\n\nmodule.exports = {\n PrivacyCompliance,\n};\n"],"names":["propertyIsEnumerable","bitmap","value","enumerable","configurable","writable","toString","it","call","slice","Object","cof","split","undefined","TypeError","IObject","defined","S","isObject","fn","val","valueOf","hasOwnProperty","key","exec","e","require$$0","defineProperty","get","a","global","module","window","Math","self","Function","__g","document","is","createElement","require$$1","require$$2","gOPD","getOwnPropertyDescriptor","O","P","toIObject","toPrimitive","IE8_DOM_DEFINE","has","createDesc","pIE","f","core","version","__e","SHARED","store","push","mode","copyright","id","px","random","concat","shared","uid","IE_PROTO","ObjectProto","prototype","getPrototypeOf","toObject","constructor","dP","Attributes","anObject","object","SRC","TO_STRING","TPL","$toString","inspectSource","safe","isFunction","hide","join","String","that","length","aFunction","b","c","apply","arguments","PROTOTYPE","$export","type","name","source","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","IS_PROTO","IS_BIND","B","target","exports","expProto","own","out","exp","ctx","redefine","U","W","R","propertyKey","receiver","desc","proto","iterator","entries","ret","Symbol","USE_SYMBOL","$exports","ITERATOR","ArrayProto","Array","Iterators","ceil","floor","isNaN","min","toInteger","index","$defineProperty","TAG","ARG","tryGet","T","callee","getIteratorMethod","classof","SAFE_CLOSING","riter","from","skipClosing","arr","iter","next","done","arrayLike","C","aLen","mapfn","mapping","iterFn","getIterFn","result","step","isArrayIter","createProperty","toLength","FProto","nameRE","NAME","match","UNSCOPABLES","max","IS_INCLUDES","$this","el","fromIndex","toAbsoluteIndex","arrayIndexOf","names","i","keys","$keys","enumBugKeys","defineProperties","Properties","getKeys","documentElement","Empty","createDict","iframe","lt","gt","iframeDocument","style","display","appendChild","src","contentWindow","open","write","close","create","dPs","def","tag","stat","IteratorPrototype","Constructor","descriptor","setToStringTag","BUGGY","FF_ITERATOR","KEYS","VALUES","returnThis","Base","DEFAULT","IS_SET","FORCED","$iterCreate","getMethod","kind","values","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","methods","iterated","_t","_i","_k","Arguments","addToUnscopables","wks","TO_STRING_TAG","ArrayValues","DOMIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","explicit","Collection","$iterators","test","pos","s","l","charCodeAt","charAt","$at","point","forbiddenField","BREAK","RETURN","iterable","SPECIES","KEY","DESCRIPTORS","META","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","w","fastKey","getWeak","onFreeze","meta","NEED","TYPE","SIZE","getEntry","entry","_f","n","k","getConstructor","wrapper","IS_MAP","ADDER","anInstance","_l","forOf","redefineAll","clear","validate","data","r","p","prev","forEach","callbackfn","v","setStrong","$iterDefine","setSpecies","check","set","setPrototypeOf","buggy","__proto__","common","IS_WEAK","fixMethod","add","fails","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","$iterDetect","BUGGY_ZERO","$instance","inheritIfRequired","SET","Set","strong","MATCH","isRegExp","D","at","unicode","builtinExec","RegExp","ignoreCase","multiline","sticky","nativeExec","nativeReplace","replace","patchedExec","LAST_INDEX","UPDATES_LAST_INDEX_WRONG","re1","re2","NPCG_INCLUDED","PATCH","str","re","lastIndex","reCopy","regexpFlags","forced","regexpExec","REPLACE_SUPPORTS_NAMED_GROUPS","groups","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","fns","maybeCallNative","nativeMethod","regexp","arg2","forceStringMethod","strfn","rxfn","string","arg","$min","$push","$SPLIT","LENGTH","MAX_UINT32","SUPPORTS_Y","SPLIT","$split","internalSplit","separator","limit","output","flags","lastLastIndex","splitLimit","separatorCopy","lastLength","splitter","res","rx","speciesConstructor","unicodeMatching","lim","callRegExpExec","q","A","z","advanceStringIndex","MAP","Map","getAllCookies","cookie","map","trim","hasCookie","getCookie","$includes","includes","searchString","INCLUDES","context","indexOf","FrameworkBase","privacyComplianceInstance","capability","supportedCapabilities","ability","supportedGenerators","pc","args","log","CcpaOnChorus","Chorus","Cookie","CCPAFromUSPrivacyString","usPrivacyString","usp","toUpperCase","consentStringAllowsPersonalDataSale","consentStringAcknowledgesUserHasBeenNotifiedOfRights","supportedUsPrivacyStringVersion","US_PRIVACY_API_VERSION","UsPrivacyStringAndAPIGenerator","callback","buildUsPrivacyString","__uspapi","handleUSPrivacyAPI","bind","createUspapiFrame","hasBeenNotifiedOfRights","canUsePersonalInformationForTargeting","isLSPACoveredTransaction","command","canSuccessfullyAnswer","usPrivacyDataString","console","error","uspString","frame","setAttribute","readyState","addEventListener","_this2","body","setupIframeMessageProxyOn","event","messageData","__uspapiCall","_this3","uspapiCallParameters","targetSource","top","targetOrigin","origin","uspData","wasSuccessful","postMessage","__uspapiReturn","returnValue","success","callId","RAKUTEN_CONSENT_PARAM","RakutenConsentGenerator","rakutenLinkSelector","canGenerate","Generator","allRakutenLinks","querySelectorAll","rakutenLinksThatNeedConsentParams","filter","link","href","_link$href","CcpaFromUsPrivacyString","RakutenConstentGenerator","proxyPolyfill","lastRevokeFn","ProxyPolyfill","o","validateProto","$Object","canCreateNullProtoObjects","Boolean","objectCreate","SyntaxError","noop","getProto","handler","newTarget","throwRevoked","trap","setTimeout","unsafeHandler","proxy","isMethod","isArray","usingNew","unshift","getter","prop","setter","status","propertyNames","getOwnPropertyNames","propertyMap","real","prototypeOk","setProto","seal","revocable","scope","Proxy","process","navigator","product","PrivacyCompliance","frameworks","logEntries","logger","_this","someConfigs","useConfig","logFunction","relogMissedEntries","frameworkInstance","setPrivacyComplianceInstance","privacyComplianceSingleton","isApplicable","methodName","canAnswerCapability","_this4","every","_this5","throwUnsupportedError","method","property","Reflect","hasFrameworkLoadedToAnswerCapability","proxyToFrameworks","proxyToFrameworkGenerators","applyProxy","isAutoLoaded","addFramework"],"mappings":"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"}
\ No newline at end of file
diff --git a/package.json b/package.json
index d163938..434cad4 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "data-privacy-compliance",
- "version": "1.4.0",
+ "version": "1.5.0",
"description": "Vox Media's library for implementing data privacy frameworks",
"main": "dist/data-privacy-compliance.js",
"license": "Apache-2.0",
diff --git a/src/frameworks/index.js b/src/frameworks/index.js
index b46879a..36cc676 100644
--- a/src/frameworks/index.js
+++ b/src/frameworks/index.js
@@ -1,5 +1,6 @@
const CcpaOnChorus = require('./ccpa_on_chorus');
const CcpaFromUsPrivacyString = require('./ccpa_from_us_privacy_string');
const UsPrivacyStringAndAPIGenerator = require('./us_privacy_string_and_api_generator');
+const RakutenConstentGenerator = require('./rakuten_consent_generator');
-module.exports = [CcpaOnChorus, CcpaFromUsPrivacyString, UsPrivacyStringAndAPIGenerator];
+module.exports = [CcpaOnChorus, CcpaFromUsPrivacyString, UsPrivacyStringAndAPIGenerator, RakutenConstentGenerator];
diff --git a/src/frameworks/rakuten_consent_generator.js b/src/frameworks/rakuten_consent_generator.js
new file mode 100644
index 0000000..c3da5fe
--- /dev/null
+++ b/src/frameworks/rakuten_consent_generator.js
@@ -0,0 +1,53 @@
+const FrameworkBase = require('./base');
+const RAKUTEN_CONSENT_PARAM = 'cnst';
+
+class RakutenConsentGenerator extends FrameworkBase {
+ constructor() {
+ super();
+ this.document = document;
+ this.rakutenLinkSelector = 'a[href^="https://click.linksynergy.com"]';
+ }
+
+ name() {
+ return 'RakutenConsentGenerator';
+ }
+
+ isApplicable() {
+ // This generator depends on being able to generate a usPrivacyString
+ // this is checked when this Generator is being called, so load order isn't important
+ // since all the generators are loaded by the time they are being run
+ return this.document && this.privacyComplianceInstance.canGenerate('usPrivacyString');
+ }
+
+ supportedGenerators() {
+ return ['addConsentParameterToCommerceLinks'];
+ }
+
+ useConfig({ document, rakutenLinkSelector }) {
+ if (document) {
+ this.document = document;
+ }
+ if (rakutenLinkSelector) {
+ this.rakutenLinkSelector = rakutenLinkSelector;
+ }
+ }
+
+ addConsentParameterToCommerceLinks(callback = () => {}) {
+ let usp;
+ this.privacyComplianceInstance.Generator.usPrivacyString(val => (usp = val));
+
+ const allRakutenLinks = Array.from(this.document.querySelectorAll(this.rakutenLinkSelector));
+ const rakutenLinksThatNeedConsentParams = allRakutenLinks.filter(
+ link => !link.href?.includes(RAKUTEN_CONSENT_PARAM + '=')
+ );
+ rakutenLinksThatNeedConsentParams.forEach(link => {
+ this.log('Adding rakuten consent parameter to a link', link.href, usp);
+
+ link.href += link.href.includes('?') ? '&' : '?' + `${RAKUTEN_CONSENT_PARAM}=c${usp}`;
+ });
+
+ callback(rakutenLinksThatNeedConsentParams, this);
+ }
+}
+
+module.exports = RakutenConsentGenerator;
diff --git a/src/frameworks/us_privacy_string_and_api_generator.js b/src/frameworks/us_privacy_string_and_api_generator.js
index 4960c3f..4d582a3 100644
--- a/src/frameworks/us_privacy_string_and_api_generator.js
+++ b/src/frameworks/us_privacy_string_and_api_generator.js
@@ -23,8 +23,12 @@ class UsPrivacyStringAndAPIGenerator extends FrameworkBase {
}
useConfig({ window, document }) {
- this.window = window;
- this.document = document;
+ if (window) {
+ this.window = window;
+ }
+ if (document) {
+ this.document = document;
+ }
}
usPrivacyString(callback = () => {}) {
diff --git a/src/privacy_compliance.js b/src/privacy_compliance.js
index b1f2b8d..43968b1 100644
--- a/src/privacy_compliance.js
+++ b/src/privacy_compliance.js
@@ -102,6 +102,7 @@ class PrivacyCompliance {
// For use with testing only
reset() {
+ this.log(`Reset called. Removing ${this.frameworks.length} framework(s)`);
this.frameworks = [];
this.supportedCapabilities = new Set();
this.supportedGenerators = new Set();
diff --git a/test/rakuten_consent_generator.spec.js b/test/rakuten_consent_generator.spec.js
new file mode 100644
index 0000000..dd6580e
--- /dev/null
+++ b/test/rakuten_consent_generator.spec.js
@@ -0,0 +1,65 @@
+const PrivacyCompliance = require('../src/privacy_compliance');
+const RakutenConsentGenerator = require('../src/frameworks/rakuten_consent_generator');
+const FrameworkBase = require('../src/frameworks/base');
+
+class MockUSPrivacyStringGenerator extends FrameworkBase {
+ constructor() {
+ super();
+ this.usp = '1YYY';
+ }
+
+ config({ usp }) {
+ this.usp = usp;
+ }
+
+ name() {
+ return 'MockUSPrivacyStringGenerator';
+ }
+
+ supportedGenerators() {
+ return ['usPrivacyString'];
+ }
+
+ usPrivacyString(cb) {
+ cb(this.usp);
+ }
+}
+
+describe('Rakuten Consent Generator', () => {
+ beforeEach(() => {
+ PrivacyCompliance.reset();
+ PrivacyCompliance.addFramework(new RakutenConsentGenerator());
+ PrivacyCompliance.addFramework(new MockUSPrivacyStringGenerator());
+ });
+
+ it('should find rakuten links', () => {
+ document.body.innerHTML = `
+
+ `;
+
+ let foundLinks;
+ PrivacyCompliance.Generator.addConsentParameterToCommerceLinks(rakutenLinks => (foundLinks = rakutenLinks));
+ expect(foundLinks && foundLinks.length).toBe(1);
+
+ // the callback list of links should include the correct string
+ expect(foundLinks.every(a => a.href.includes('1YYY'))).toBe(true);
+
+ // lets check the document is updated too
+ expect(document.querySelector('a').href).toBe('https://click.linksynergy.com/buy/this/now.php?cnst=c1YYY');
+ });
+
+ it('should ignore all the other links', () => {
+ document.body.innerHTML = `
+
+ `;
+
+ PrivacyCompliance.Generator.addConsentParameterToCommerceLinks();
+ expect(document.querySelector('a').href).toBe('https://click.linksynergy.com/buy/this/now.php?cnst=c1YYY');
+ expect(document.querySelectorAll('a')[1].href.includes('c1YYY')).toBeFalsy();
+ });
+});