humanbehavior-js 0.4.7 → 0.4.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/dist/cjs/angular/index.cjs +13 -14
  2. package/dist/cjs/angular/index.cjs.map +1 -1
  3. package/dist/cjs/index.cjs +14 -15
  4. package/dist/cjs/index.cjs.map +1 -1
  5. package/dist/cjs/install-wizard.cjs +4 -2
  6. package/dist/cjs/install-wizard.cjs.map +1 -1
  7. package/dist/cjs/react/index.cjs +13 -14
  8. package/dist/cjs/react/index.cjs.map +1 -1
  9. package/dist/cjs/remix/index.cjs +13 -14
  10. package/dist/cjs/remix/index.cjs.map +1 -1
  11. package/dist/cjs/svelte/index.cjs +13 -14
  12. package/dist/cjs/svelte/index.cjs.map +1 -1
  13. package/dist/cjs/vue/index.cjs +13 -14
  14. package/dist/cjs/vue/index.cjs.map +1 -1
  15. package/dist/cjs/wizard/index.cjs +3208 -0
  16. package/dist/cjs/wizard/index.cjs.map +1 -0
  17. package/dist/cli/ai-auto-install.js +2024 -0
  18. package/dist/cli/ai-auto-install.js.map +1 -0
  19. package/dist/cli/auto-install.js +4 -2
  20. package/dist/cli/auto-install.js.map +1 -1
  21. package/dist/esm/angular/index.js +13 -14
  22. package/dist/esm/angular/index.js.map +1 -1
  23. package/dist/esm/index.js +14 -15
  24. package/dist/esm/index.js.map +1 -1
  25. package/dist/esm/install-wizard.js +4 -2
  26. package/dist/esm/install-wizard.js.map +1 -1
  27. package/dist/esm/react/index.js +13 -14
  28. package/dist/esm/react/index.js.map +1 -1
  29. package/dist/esm/remix/index.js +13 -14
  30. package/dist/esm/remix/index.js.map +1 -1
  31. package/dist/esm/svelte/index.js +13 -14
  32. package/dist/esm/svelte/index.js.map +1 -1
  33. package/dist/esm/vue/index.js +13 -14
  34. package/dist/esm/vue/index.js.map +1 -1
  35. package/dist/esm/wizard/index.js +3178 -0
  36. package/dist/esm/wizard/index.js.map +1 -0
  37. package/dist/index.min.js +1 -1
  38. package/dist/index.min.js.map +1 -1
  39. package/dist/types/install-wizard.d.ts +8 -8
  40. package/dist/types/wizard/index.d.ts +489 -0
  41. package/package.json +14 -8
  42. package/rollup.config.js +65 -3
  43. package/src/api.ts +9 -9
  44. package/src/react/AutoInstallWizard.tsx +1 -1
  45. package/src/tracker.ts +6 -7
  46. package/src/wizard/README.md +114 -0
  47. package/src/wizard/ai/ai-install-wizard.ts +894 -0
  48. package/src/wizard/ai/manual-framework-wizard.ts +236 -0
  49. package/src/wizard/cli/ai-auto-install.ts +369 -0
  50. package/src/{cli → wizard/cli}/auto-install.ts +1 -1
  51. package/src/{install-wizard.ts → wizard/core/install-wizard.ts} +12 -10
  52. package/src/wizard/index.ts +23 -0
  53. package/src/wizard/services/centralized-ai-service.ts +668 -0
  54. package/src/wizard/services/remote-ai-service.ts +224 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.min.js","sources":["../node_modules/tslib/tslib.es6.js","../node_modules/@rrweb/record/dist/record.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/v1.js","../src/utils/logger.ts","../src/api.ts","../src/redact.ts","../src/tracker.ts","../src/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","var __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nvar _a;\nvar __defProp$1 = Object.defineProperty;\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField$1 = (obj, key, value) => __defNormalProp$1(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nvar NodeType$3 = /* @__PURE__ */ ((NodeType2) => {\n NodeType2[NodeType2[\"Document\"] = 0] = \"Document\";\n NodeType2[NodeType2[\"DocumentType\"] = 1] = \"DocumentType\";\n NodeType2[NodeType2[\"Element\"] = 2] = \"Element\";\n NodeType2[NodeType2[\"Text\"] = 3] = \"Text\";\n NodeType2[NodeType2[\"CDATA\"] = 4] = \"CDATA\";\n NodeType2[NodeType2[\"Comment\"] = 5] = \"Comment\";\n return NodeType2;\n})(NodeType$3 || {});\nconst testableAccessors$1 = {\n Node: [\"childNodes\", \"parentNode\", \"parentElement\", \"textContent\"],\n ShadowRoot: [\"host\", \"styleSheets\"],\n Element: [\"shadowRoot\", \"querySelector\", \"querySelectorAll\"],\n MutationObserver: []\n};\nconst testableMethods$1 = {\n Node: [\"contains\", \"getRootNode\"],\n ShadowRoot: [\"getSelection\"],\n Element: [],\n MutationObserver: [\"constructor\"]\n};\nconst untaintedBasePrototype$1 = {};\nconst isAngularZonePresent$1 = () => {\n return !!globalThis.Zone;\n};\nfunction getUntaintedPrototype$1(key) {\n if (untaintedBasePrototype$1[key])\n return untaintedBasePrototype$1[key];\n const defaultObj = globalThis[key];\n const defaultPrototype = defaultObj.prototype;\n const accessorNames = key in testableAccessors$1 ? testableAccessors$1[key] : void 0;\n const isUntaintedAccessors = Boolean(\n accessorNames && // @ts-expect-error 2345\n accessorNames.every(\n (accessor) => {\n var _a2, _b;\n return Boolean(\n (_b = (_a2 = Object.getOwnPropertyDescriptor(defaultPrototype, accessor)) == null ? void 0 : _a2.get) == null ? void 0 : _b.toString().includes(\"[native code]\")\n );\n }\n )\n );\n const methodNames = key in testableMethods$1 ? testableMethods$1[key] : void 0;\n const isUntaintedMethods = Boolean(\n methodNames && methodNames.every(\n // @ts-expect-error 2345\n (method) => {\n var _a2;\n return typeof defaultPrototype[method] === \"function\" && ((_a2 = defaultPrototype[method]) == null ? void 0 : _a2.toString().includes(\"[native code]\"));\n }\n )\n );\n if (isUntaintedAccessors && isUntaintedMethods && !isAngularZonePresent$1()) {\n untaintedBasePrototype$1[key] = defaultObj.prototype;\n return defaultObj.prototype;\n }\n try {\n const iframeEl = document.createElement(\"iframe\");\n document.body.appendChild(iframeEl);\n const win = iframeEl.contentWindow;\n if (!win) return defaultObj.prototype;\n const untaintedObject = win[key].prototype;\n document.body.removeChild(iframeEl);\n if (!untaintedObject) return defaultPrototype;\n return untaintedBasePrototype$1[key] = untaintedObject;\n } catch {\n return defaultPrototype;\n }\n}\nconst untaintedAccessorCache$1 = {};\nfunction getUntaintedAccessor$1(key, instance, accessor) {\n var _a2;\n const cacheKey = `${key}.${String(accessor)}`;\n if (untaintedAccessorCache$1[cacheKey])\n return untaintedAccessorCache$1[cacheKey].call(\n instance\n );\n const untaintedPrototype = getUntaintedPrototype$1(key);\n const untaintedAccessor = (_a2 = Object.getOwnPropertyDescriptor(\n untaintedPrototype,\n accessor\n )) == null ? void 0 : _a2.get;\n if (!untaintedAccessor) return instance[accessor];\n untaintedAccessorCache$1[cacheKey] = untaintedAccessor;\n return untaintedAccessor.call(instance);\n}\nconst untaintedMethodCache$1 = {};\nfunction getUntaintedMethod$1(key, instance, method) {\n const cacheKey = `${key}.${String(method)}`;\n if (untaintedMethodCache$1[cacheKey])\n return untaintedMethodCache$1[cacheKey].bind(\n instance\n );\n const untaintedPrototype = getUntaintedPrototype$1(key);\n const untaintedMethod = untaintedPrototype[method];\n if (typeof untaintedMethod !== \"function\") return instance[method];\n untaintedMethodCache$1[cacheKey] = untaintedMethod;\n return untaintedMethod.bind(instance);\n}\nfunction childNodes$1(n2) {\n return getUntaintedAccessor$1(\"Node\", n2, \"childNodes\");\n}\nfunction parentNode$1(n2) {\n return getUntaintedAccessor$1(\"Node\", n2, \"parentNode\");\n}\nfunction parentElement$1(n2) {\n return getUntaintedAccessor$1(\"Node\", n2, \"parentElement\");\n}\nfunction textContent$1(n2) {\n return getUntaintedAccessor$1(\"Node\", n2, \"textContent\");\n}\nfunction contains$1(n2, other) {\n return getUntaintedMethod$1(\"Node\", n2, \"contains\")(other);\n}\nfunction getRootNode$1(n2) {\n return getUntaintedMethod$1(\"Node\", n2, \"getRootNode\")();\n}\nfunction host$1(n2) {\n if (!n2 || !(\"host\" in n2)) return null;\n return getUntaintedAccessor$1(\"ShadowRoot\", n2, \"host\");\n}\nfunction styleSheets$1(n2) {\n return n2.styleSheets;\n}\nfunction shadowRoot$1(n2) {\n if (!n2 || !(\"shadowRoot\" in n2)) return null;\n return getUntaintedAccessor$1(\"Element\", n2, \"shadowRoot\");\n}\nfunction querySelector$1(n2, selectors) {\n return getUntaintedAccessor$1(\"Element\", n2, \"querySelector\")(selectors);\n}\nfunction querySelectorAll$1(n2, selectors) {\n return getUntaintedAccessor$1(\"Element\", n2, \"querySelectorAll\")(selectors);\n}\nfunction mutationObserverCtor$1() {\n return getUntaintedPrototype$1(\"MutationObserver\").constructor;\n}\nconst index$1 = {\n childNodes: childNodes$1,\n parentNode: parentNode$1,\n parentElement: parentElement$1,\n textContent: textContent$1,\n contains: contains$1,\n getRootNode: getRootNode$1,\n host: host$1,\n styleSheets: styleSheets$1,\n shadowRoot: shadowRoot$1,\n querySelector: querySelector$1,\n querySelectorAll: querySelectorAll$1,\n mutationObserver: mutationObserverCtor$1\n};\nfunction isElement(n2) {\n return n2.nodeType === n2.ELEMENT_NODE;\n}\nfunction isShadowRoot(n2) {\n const hostEl = (\n // anchor and textarea elements also have a `host` property\n // but only shadow roots have a `mode` property\n n2 && \"host\" in n2 && \"mode\" in n2 && index$1.host(n2) || null\n );\n return Boolean(\n hostEl && \"shadowRoot\" in hostEl && index$1.shadowRoot(hostEl) === n2\n );\n}\nfunction isNativeShadowDom(shadowRoot2) {\n return Object.prototype.toString.call(shadowRoot2) === \"[object ShadowRoot]\";\n}\nfunction fixBrowserCompatibilityIssuesInCSS(cssText) {\n if (cssText.includes(\" background-clip: text;\") && !cssText.includes(\" -webkit-background-clip: text;\")) {\n cssText = cssText.replace(\n /\\sbackground-clip:\\s*text;/g,\n \" -webkit-background-clip: text; background-clip: text;\"\n );\n }\n return cssText;\n}\nfunction escapeImportStatement(rule2) {\n const { cssText } = rule2;\n if (cssText.split('\"').length < 3) return cssText;\n const statement = [\"@import\", `url(${JSON.stringify(rule2.href)})`];\n if (rule2.layerName === \"\") {\n statement.push(`layer`);\n } else if (rule2.layerName) {\n statement.push(`layer(${rule2.layerName})`);\n }\n if (rule2.supportsText) {\n statement.push(`supports(${rule2.supportsText})`);\n }\n if (rule2.media.length) {\n statement.push(rule2.media.mediaText);\n }\n return statement.join(\" \") + \";\";\n}\nfunction stringifyStylesheet(s2) {\n try {\n const rules2 = s2.rules || s2.cssRules;\n if (!rules2) {\n return null;\n }\n let sheetHref = s2.href;\n if (!sheetHref && s2.ownerNode && s2.ownerNode.ownerDocument) {\n sheetHref = s2.ownerNode.ownerDocument.location.href;\n }\n const stringifiedRules = Array.from(\n rules2,\n (rule2) => stringifyRule(rule2, sheetHref)\n ).join(\"\");\n return fixBrowserCompatibilityIssuesInCSS(stringifiedRules);\n } catch (error) {\n return null;\n }\n}\nfunction stringifyRule(rule2, sheetHref) {\n if (isCSSImportRule(rule2)) {\n let importStringified;\n try {\n importStringified = // for same-origin stylesheets,\n // we can access the imported stylesheet rules directly\n stringifyStylesheet(rule2.styleSheet) || // work around browser issues with the raw string `@import url(...)` statement\n escapeImportStatement(rule2);\n } catch (error) {\n importStringified = rule2.cssText;\n }\n if (rule2.styleSheet.href) {\n return absolutifyURLs(importStringified, rule2.styleSheet.href);\n }\n return importStringified;\n } else {\n let ruleStringified = rule2.cssText;\n if (isCSSStyleRule(rule2) && rule2.selectorText.includes(\":\")) {\n ruleStringified = fixSafariColons(ruleStringified);\n }\n if (sheetHref) {\n return absolutifyURLs(ruleStringified, sheetHref);\n }\n return ruleStringified;\n }\n}\nfunction fixSafariColons(cssStringified) {\n const regex = /(\\[(?:[\\w-]+)[^\\\\])(:(?:[\\w-]+)\\])/gm;\n return cssStringified.replace(regex, \"$1\\\\$2\");\n}\nfunction isCSSImportRule(rule2) {\n return \"styleSheet\" in rule2;\n}\nfunction isCSSStyleRule(rule2) {\n return \"selectorText\" in rule2;\n}\nclass Mirror {\n constructor() {\n __publicField$1(this, \"idNodeMap\", /* @__PURE__ */ new Map());\n __publicField$1(this, \"nodeMetaMap\", /* @__PURE__ */ new WeakMap());\n }\n getId(n2) {\n var _a2;\n if (!n2) return -1;\n const id = (_a2 = this.getMeta(n2)) == null ? void 0 : _a2.id;\n return id ?? -1;\n }\n getNode(id) {\n return this.idNodeMap.get(id) || null;\n }\n getIds() {\n return Array.from(this.idNodeMap.keys());\n }\n getMeta(n2) {\n return this.nodeMetaMap.get(n2) || null;\n }\n // removes the node from idNodeMap\n // doesn't remove the node from nodeMetaMap\n removeNodeFromMap(n2) {\n const id = this.getId(n2);\n this.idNodeMap.delete(id);\n if (n2.childNodes) {\n n2.childNodes.forEach(\n (childNode) => this.removeNodeFromMap(childNode)\n );\n }\n }\n has(id) {\n return this.idNodeMap.has(id);\n }\n hasNode(node2) {\n return this.nodeMetaMap.has(node2);\n }\n add(n2, meta) {\n const id = meta.id;\n this.idNodeMap.set(id, n2);\n this.nodeMetaMap.set(n2, meta);\n }\n replace(id, n2) {\n const oldNode = this.getNode(id);\n if (oldNode) {\n const meta = this.nodeMetaMap.get(oldNode);\n if (meta) this.nodeMetaMap.set(n2, meta);\n }\n this.idNodeMap.set(id, n2);\n }\n reset() {\n this.idNodeMap = /* @__PURE__ */ new Map();\n this.nodeMetaMap = /* @__PURE__ */ new WeakMap();\n }\n}\nfunction createMirror$2() {\n return new Mirror();\n}\nfunction maskInputValue({\n element,\n maskInputOptions,\n tagName,\n type,\n value,\n maskInputFn\n}) {\n let text = value || \"\";\n const actualType = type && toLowerCase(type);\n if (maskInputOptions[tagName.toLowerCase()] || actualType && maskInputOptions[actualType]) {\n if (maskInputFn) {\n text = maskInputFn(text, element);\n } else {\n text = \"*\".repeat(text.length);\n }\n }\n return text;\n}\nfunction toLowerCase(str) {\n return str.toLowerCase();\n}\nconst ORIGINAL_ATTRIBUTE_NAME = \"__rrweb_original__\";\nfunction is2DCanvasBlank(canvas) {\n const ctx = canvas.getContext(\"2d\");\n if (!ctx) return true;\n const chunkSize = 50;\n for (let x2 = 0; x2 < canvas.width; x2 += chunkSize) {\n for (let y = 0; y < canvas.height; y += chunkSize) {\n const getImageData = ctx.getImageData;\n const originalGetImageData = ORIGINAL_ATTRIBUTE_NAME in getImageData ? getImageData[ORIGINAL_ATTRIBUTE_NAME] : getImageData;\n const pixelBuffer = new Uint32Array(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access\n originalGetImageData.call(\n ctx,\n x2,\n y,\n Math.min(chunkSize, canvas.width - x2),\n Math.min(chunkSize, canvas.height - y)\n ).data.buffer\n );\n if (pixelBuffer.some((pixel) => pixel !== 0)) return false;\n }\n }\n return true;\n}\nfunction getInputType(element) {\n const type = element.type;\n return element.hasAttribute(\"data-rr-is-password\") ? \"password\" : type ? (\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n toLowerCase(type)\n ) : null;\n}\nfunction extractFileExtension(path, baseURL) {\n let url;\n try {\n url = new URL(path, baseURL ?? window.location.href);\n } catch (err) {\n return null;\n }\n const regex = /\\.([0-9a-z]+)(?:$)/i;\n const match = url.pathname.match(regex);\n return (match == null ? void 0 : match[1]) ?? null;\n}\nfunction extractOrigin(url) {\n let origin = \"\";\n if (url.indexOf(\"//\") > -1) {\n origin = url.split(\"/\").slice(0, 3).join(\"/\");\n } else {\n origin = url.split(\"/\")[0];\n }\n origin = origin.split(\"?\")[0];\n return origin;\n}\nconst URL_IN_CSS_REF = /url\\((?:(')([^']*)'|(\")(.*?)\"|([^)]*))\\)/gm;\nconst URL_PROTOCOL_MATCH = /^(?:[a-z+]+:)?\\/\\//i;\nconst URL_WWW_MATCH = /^www\\..*/i;\nconst DATA_URI = /^(data:)([^,]*),(.*)/i;\nfunction absolutifyURLs(cssText, href) {\n return (cssText || \"\").replace(\n URL_IN_CSS_REF,\n (origin, quote1, path1, quote2, path2, path3) => {\n const filePath = path1 || path2 || path3;\n const maybeQuote = quote1 || quote2 || \"\";\n if (!filePath) {\n return origin;\n }\n if (URL_PROTOCOL_MATCH.test(filePath) || URL_WWW_MATCH.test(filePath)) {\n return `url(${maybeQuote}${filePath}${maybeQuote})`;\n }\n if (DATA_URI.test(filePath)) {\n return `url(${maybeQuote}${filePath}${maybeQuote})`;\n }\n if (filePath[0] === \"/\") {\n return `url(${maybeQuote}${extractOrigin(href) + filePath}${maybeQuote})`;\n }\n const stack = href.split(\"/\");\n const parts = filePath.split(\"/\");\n stack.pop();\n for (const part of parts) {\n if (part === \".\") {\n continue;\n } else if (part === \"..\") {\n stack.pop();\n } else {\n stack.push(part);\n }\n }\n return `url(${maybeQuote}${stack.join(\"/\")}${maybeQuote})`;\n }\n );\n}\nfunction normalizeCssString(cssText) {\n return cssText.replace(/(\\/\\*[^*]*\\*\\/)|[\\s;]/g, \"\");\n}\nfunction splitCssText(cssText, style) {\n const childNodes2 = Array.from(style.childNodes);\n const splits = [];\n if (childNodes2.length > 1 && cssText && typeof cssText === \"string\") {\n const cssTextNorm = normalizeCssString(cssText);\n for (let i2 = 1; i2 < childNodes2.length; i2++) {\n if (childNodes2[i2].textContent && typeof childNodes2[i2].textContent === \"string\") {\n const textContentNorm = normalizeCssString(childNodes2[i2].textContent);\n for (let j = 3; j < textContentNorm.length; j++) {\n const bit = textContentNorm.substring(0, j);\n if (cssTextNorm.split(bit).length === 2) {\n const splitNorm = cssTextNorm.indexOf(bit);\n for (let k = splitNorm; k < cssText.length; k++) {\n if (normalizeCssString(cssText.substring(0, k)).length === splitNorm) {\n splits.push(cssText.substring(0, k));\n cssText = cssText.substring(k);\n break;\n }\n }\n break;\n }\n }\n }\n }\n }\n splits.push(cssText);\n return splits;\n}\nfunction markCssSplits(cssText, style) {\n return splitCssText(cssText, style).join(\"/* rr_split */\");\n}\nlet _id = 1;\nconst tagNameRegex = new RegExp(\"[^a-z0-9-_:]\");\nconst IGNORED_NODE = -2;\nfunction genId() {\n return _id++;\n}\nfunction getValidTagName$1(element) {\n if (element instanceof HTMLFormElement) {\n return \"form\";\n }\n const processedTagName = toLowerCase(element.tagName);\n if (tagNameRegex.test(processedTagName)) {\n return \"div\";\n }\n return processedTagName;\n}\nlet canvasService;\nlet canvasCtx;\nconst SRCSET_NOT_SPACES = /^[^ \\t\\n\\r\\u000c]+/;\nconst SRCSET_COMMAS_OR_SPACES = /^[, \\t\\n\\r\\u000c]+/;\nfunction getAbsoluteSrcsetString(doc, attributeValue) {\n if (attributeValue.trim() === \"\") {\n return attributeValue;\n }\n let pos = 0;\n function collectCharacters(regEx) {\n let chars2;\n const match = regEx.exec(attributeValue.substring(pos));\n if (match) {\n chars2 = match[0];\n pos += chars2.length;\n return chars2;\n }\n return \"\";\n }\n const output = [];\n while (true) {\n collectCharacters(SRCSET_COMMAS_OR_SPACES);\n if (pos >= attributeValue.length) {\n break;\n }\n let url = collectCharacters(SRCSET_NOT_SPACES);\n if (url.slice(-1) === \",\") {\n url = absoluteToDoc(doc, url.substring(0, url.length - 1));\n output.push(url);\n } else {\n let descriptorsStr = \"\";\n url = absoluteToDoc(doc, url);\n let inParens = false;\n while (true) {\n const c2 = attributeValue.charAt(pos);\n if (c2 === \"\") {\n output.push((url + descriptorsStr).trim());\n break;\n } else if (!inParens) {\n if (c2 === \",\") {\n pos += 1;\n output.push((url + descriptorsStr).trim());\n break;\n } else if (c2 === \"(\") {\n inParens = true;\n }\n } else {\n if (c2 === \")\") {\n inParens = false;\n }\n }\n descriptorsStr += c2;\n pos += 1;\n }\n }\n }\n return output.join(\", \");\n}\nconst cachedDocument = /* @__PURE__ */ new WeakMap();\nfunction absoluteToDoc(doc, attributeValue) {\n if (!attributeValue || attributeValue.trim() === \"\") {\n return attributeValue;\n }\n return getHref(doc, attributeValue);\n}\nfunction isSVGElement(el) {\n return Boolean(el.tagName === \"svg\" || el.ownerSVGElement);\n}\nfunction getHref(doc, customHref) {\n let a2 = cachedDocument.get(doc);\n if (!a2) {\n a2 = doc.createElement(\"a\");\n cachedDocument.set(doc, a2);\n }\n if (!customHref) {\n customHref = \"\";\n } else if (customHref.startsWith(\"blob:\") || customHref.startsWith(\"data:\")) {\n return customHref;\n }\n a2.setAttribute(\"href\", customHref);\n return a2.href;\n}\nfunction transformAttribute(doc, tagName, name, value) {\n if (!value) {\n return value;\n }\n if (name === \"src\" || name === \"href\" && !(tagName === \"use\" && value[0] === \"#\")) {\n return absoluteToDoc(doc, value);\n } else if (name === \"xlink:href\" && value[0] !== \"#\") {\n return absoluteToDoc(doc, value);\n } else if (name === \"background\" && (tagName === \"table\" || tagName === \"td\" || tagName === \"th\")) {\n return absoluteToDoc(doc, value);\n } else if (name === \"srcset\") {\n return getAbsoluteSrcsetString(doc, value);\n } else if (name === \"style\") {\n return absolutifyURLs(value, getHref(doc));\n } else if (tagName === \"object\" && name === \"data\") {\n return absoluteToDoc(doc, value);\n }\n return value;\n}\nfunction ignoreAttribute(tagName, name, _value) {\n return (tagName === \"video\" || tagName === \"audio\") && name === \"autoplay\";\n}\nfunction _isBlockedElement(element, blockClass, blockSelector) {\n try {\n if (typeof blockClass === \"string\") {\n if (element.classList.contains(blockClass)) {\n return true;\n }\n } else {\n for (let eIndex = element.classList.length; eIndex--; ) {\n const className = element.classList[eIndex];\n if (blockClass.test(className)) {\n return true;\n }\n }\n }\n if (blockSelector) {\n return element.matches(blockSelector);\n }\n } catch (e2) {\n }\n return false;\n}\nfunction classMatchesRegex(node2, regex, checkAncestors) {\n if (!node2) return false;\n if (node2.nodeType !== node2.ELEMENT_NODE) {\n if (!checkAncestors) return false;\n return classMatchesRegex(index$1.parentNode(node2), regex, checkAncestors);\n }\n for (let eIndex = node2.classList.length; eIndex--; ) {\n const className = node2.classList[eIndex];\n if (regex.test(className)) {\n return true;\n }\n }\n if (!checkAncestors) return false;\n return classMatchesRegex(index$1.parentNode(node2), regex, checkAncestors);\n}\nfunction needMaskingText(node2, maskTextClass, maskTextSelector, checkAncestors) {\n let el;\n if (isElement(node2)) {\n el = node2;\n if (!index$1.childNodes(el).length) {\n return false;\n }\n } else if (index$1.parentElement(node2) === null) {\n return false;\n } else {\n el = index$1.parentElement(node2);\n }\n try {\n if (typeof maskTextClass === \"string\") {\n if (checkAncestors) {\n if (el.closest(`.${maskTextClass}`)) return true;\n } else {\n if (el.classList.contains(maskTextClass)) return true;\n }\n } else {\n if (classMatchesRegex(el, maskTextClass, checkAncestors)) return true;\n }\n if (maskTextSelector) {\n if (checkAncestors) {\n if (el.closest(maskTextSelector)) return true;\n } else {\n if (el.matches(maskTextSelector)) return true;\n }\n }\n } catch (e2) {\n }\n return false;\n}\nfunction onceIframeLoaded(iframeEl, listener, iframeLoadTimeout) {\n const win = iframeEl.contentWindow;\n if (!win) {\n return;\n }\n let fired = false;\n let readyState;\n try {\n readyState = win.document.readyState;\n } catch (error) {\n return;\n }\n if (readyState !== \"complete\") {\n const timer = setTimeout(() => {\n if (!fired) {\n listener();\n fired = true;\n }\n }, iframeLoadTimeout);\n iframeEl.addEventListener(\"load\", () => {\n clearTimeout(timer);\n fired = true;\n listener();\n });\n return;\n }\n const blankUrl = \"about:blank\";\n if (win.location.href !== blankUrl || iframeEl.src === blankUrl || iframeEl.src === \"\") {\n setTimeout(listener, 0);\n return iframeEl.addEventListener(\"load\", listener);\n }\n iframeEl.addEventListener(\"load\", listener);\n}\nfunction onceStylesheetLoaded(link, listener, styleSheetLoadTimeout) {\n let fired = false;\n let styleSheetLoaded;\n try {\n styleSheetLoaded = link.sheet;\n } catch (error) {\n return;\n }\n if (styleSheetLoaded) return;\n const timer = setTimeout(() => {\n if (!fired) {\n listener();\n fired = true;\n }\n }, styleSheetLoadTimeout);\n link.addEventListener(\"load\", () => {\n clearTimeout(timer);\n fired = true;\n listener();\n });\n}\nfunction serializeNode(n2, options) {\n const {\n doc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n needsMask,\n inlineStylesheet,\n maskInputOptions = {},\n maskTextFn,\n maskInputFn,\n dataURLOptions = {},\n inlineImages,\n recordCanvas,\n keepIframeSrcFn,\n newlyAddedElement = false,\n cssCaptured = false\n } = options;\n const rootId = getRootId(doc, mirror2);\n switch (n2.nodeType) {\n case n2.DOCUMENT_NODE:\n if (n2.compatMode !== \"CSS1Compat\") {\n return {\n type: NodeType$3.Document,\n childNodes: [],\n compatMode: n2.compatMode\n // probably \"BackCompat\"\n };\n } else {\n return {\n type: NodeType$3.Document,\n childNodes: []\n };\n }\n case n2.DOCUMENT_TYPE_NODE:\n return {\n type: NodeType$3.DocumentType,\n name: n2.name,\n publicId: n2.publicId,\n systemId: n2.systemId,\n rootId\n };\n case n2.ELEMENT_NODE:\n return serializeElementNode(n2, {\n doc,\n blockClass,\n blockSelector,\n inlineStylesheet,\n maskInputOptions,\n maskInputFn,\n dataURLOptions,\n inlineImages,\n recordCanvas,\n keepIframeSrcFn,\n newlyAddedElement,\n rootId\n });\n case n2.TEXT_NODE:\n return serializeTextNode(n2, {\n doc,\n needsMask,\n maskTextFn,\n rootId,\n cssCaptured\n });\n case n2.CDATA_SECTION_NODE:\n return {\n type: NodeType$3.CDATA,\n textContent: \"\",\n rootId\n };\n case n2.COMMENT_NODE:\n return {\n type: NodeType$3.Comment,\n textContent: index$1.textContent(n2) || \"\",\n rootId\n };\n default:\n return false;\n }\n}\nfunction getRootId(doc, mirror2) {\n if (!mirror2.hasNode(doc)) return void 0;\n const docId = mirror2.getId(doc);\n return docId === 1 ? void 0 : docId;\n}\nfunction serializeTextNode(n2, options) {\n const { needsMask, maskTextFn, rootId, cssCaptured } = options;\n const parent = index$1.parentNode(n2);\n const parentTagName = parent && parent.tagName;\n let textContent2 = \"\";\n const isStyle = parentTagName === \"STYLE\" ? true : void 0;\n const isScript = parentTagName === \"SCRIPT\" ? true : void 0;\n if (isScript) {\n textContent2 = \"SCRIPT_PLACEHOLDER\";\n } else if (!cssCaptured) {\n textContent2 = index$1.textContent(n2);\n if (isStyle && textContent2) {\n textContent2 = absolutifyURLs(textContent2, getHref(options.doc));\n }\n }\n if (!isStyle && !isScript && textContent2 && needsMask) {\n textContent2 = maskTextFn ? maskTextFn(textContent2, index$1.parentElement(n2)) : textContent2.replace(/[\\S]/g, \"*\");\n }\n return {\n type: NodeType$3.Text,\n textContent: textContent2 || \"\",\n rootId\n };\n}\nfunction serializeElementNode(n2, options) {\n const {\n doc,\n blockClass,\n blockSelector,\n inlineStylesheet,\n maskInputOptions = {},\n maskInputFn,\n dataURLOptions = {},\n inlineImages,\n recordCanvas,\n keepIframeSrcFn,\n newlyAddedElement = false,\n rootId\n } = options;\n const needBlock = _isBlockedElement(n2, blockClass, blockSelector);\n const tagName = getValidTagName$1(n2);\n let attributes = {};\n const len = n2.attributes.length;\n for (let i2 = 0; i2 < len; i2++) {\n const attr = n2.attributes[i2];\n if (!ignoreAttribute(tagName, attr.name, attr.value)) {\n attributes[attr.name] = transformAttribute(\n doc,\n tagName,\n toLowerCase(attr.name),\n attr.value\n );\n }\n }\n if (tagName === \"link\" && inlineStylesheet) {\n const stylesheet = Array.from(doc.styleSheets).find((s2) => {\n return s2.href === n2.href;\n });\n let cssText = null;\n if (stylesheet) {\n cssText = stringifyStylesheet(stylesheet);\n }\n if (cssText) {\n delete attributes.rel;\n delete attributes.href;\n attributes._cssText = cssText;\n }\n }\n if (tagName === \"style\" && n2.sheet) {\n let cssText = stringifyStylesheet(\n n2.sheet\n );\n if (cssText) {\n if (n2.childNodes.length > 1) {\n cssText = markCssSplits(cssText, n2);\n }\n attributes._cssText = cssText;\n }\n }\n if (tagName === \"input\" || tagName === \"textarea\" || tagName === \"select\") {\n const value = n2.value;\n const checked = n2.checked;\n if (attributes.type !== \"radio\" && attributes.type !== \"checkbox\" && attributes.type !== \"submit\" && attributes.type !== \"button\" && value) {\n attributes.value = maskInputValue({\n element: n2,\n type: getInputType(n2),\n tagName,\n value,\n maskInputOptions,\n maskInputFn\n });\n } else if (checked) {\n attributes.checked = checked;\n }\n }\n if (tagName === \"option\") {\n if (n2.selected && !maskInputOptions[\"select\"]) {\n attributes.selected = true;\n } else {\n delete attributes.selected;\n }\n }\n if (tagName === \"dialog\" && n2.open) {\n attributes.rr_open_mode = n2.matches(\"dialog:modal\") ? \"modal\" : \"non-modal\";\n }\n if (tagName === \"canvas\" && recordCanvas) {\n if (n2.__context === \"2d\") {\n if (!is2DCanvasBlank(n2)) {\n attributes.rr_dataURL = n2.toDataURL(\n dataURLOptions.type,\n dataURLOptions.quality\n );\n }\n } else if (!(\"__context\" in n2)) {\n const canvasDataURL = n2.toDataURL(\n dataURLOptions.type,\n dataURLOptions.quality\n );\n const blankCanvas = doc.createElement(\"canvas\");\n blankCanvas.width = n2.width;\n blankCanvas.height = n2.height;\n const blankCanvasDataURL = blankCanvas.toDataURL(\n dataURLOptions.type,\n dataURLOptions.quality\n );\n if (canvasDataURL !== blankCanvasDataURL) {\n attributes.rr_dataURL = canvasDataURL;\n }\n }\n }\n if (tagName === \"img\" && inlineImages) {\n if (!canvasService) {\n canvasService = doc.createElement(\"canvas\");\n canvasCtx = canvasService.getContext(\"2d\");\n }\n const image = n2;\n const imageSrc = image.currentSrc || image.getAttribute(\"src\") || \"<unknown-src>\";\n const priorCrossOrigin = image.crossOrigin;\n const recordInlineImage = () => {\n image.removeEventListener(\"load\", recordInlineImage);\n try {\n canvasService.width = image.naturalWidth;\n canvasService.height = image.naturalHeight;\n canvasCtx.drawImage(image, 0, 0);\n attributes.rr_dataURL = canvasService.toDataURL(\n dataURLOptions.type,\n dataURLOptions.quality\n );\n } catch (err) {\n if (image.crossOrigin !== \"anonymous\") {\n image.crossOrigin = \"anonymous\";\n if (image.complete && image.naturalWidth !== 0)\n recordInlineImage();\n else image.addEventListener(\"load\", recordInlineImage);\n return;\n } else {\n console.warn(\n `Cannot inline img src=${imageSrc}! Error: ${err}`\n );\n }\n }\n if (image.crossOrigin === \"anonymous\") {\n priorCrossOrigin ? attributes.crossOrigin = priorCrossOrigin : image.removeAttribute(\"crossorigin\");\n }\n };\n if (image.complete && image.naturalWidth !== 0) recordInlineImage();\n else image.addEventListener(\"load\", recordInlineImage);\n }\n if (tagName === \"audio\" || tagName === \"video\") {\n const mediaAttributes = attributes;\n mediaAttributes.rr_mediaState = n2.paused ? \"paused\" : \"played\";\n mediaAttributes.rr_mediaCurrentTime = n2.currentTime;\n mediaAttributes.rr_mediaPlaybackRate = n2.playbackRate;\n mediaAttributes.rr_mediaMuted = n2.muted;\n mediaAttributes.rr_mediaLoop = n2.loop;\n mediaAttributes.rr_mediaVolume = n2.volume;\n }\n if (!newlyAddedElement) {\n if (n2.scrollLeft) {\n attributes.rr_scrollLeft = n2.scrollLeft;\n }\n if (n2.scrollTop) {\n attributes.rr_scrollTop = n2.scrollTop;\n }\n }\n if (needBlock) {\n const { width, height } = n2.getBoundingClientRect();\n attributes = {\n class: attributes.class,\n rr_width: `${width}px`,\n rr_height: `${height}px`\n };\n }\n if (tagName === \"iframe\" && !keepIframeSrcFn(attributes.src)) {\n if (!n2.contentDocument) {\n attributes.rr_src = attributes.src;\n }\n delete attributes.src;\n }\n let isCustomElement;\n try {\n if (customElements.get(tagName)) isCustomElement = true;\n } catch (e2) {\n }\n return {\n type: NodeType$3.Element,\n tagName,\n attributes,\n childNodes: [],\n isSVG: isSVGElement(n2) || void 0,\n needBlock,\n rootId,\n isCustom: isCustomElement\n };\n}\nfunction lowerIfExists(maybeAttr) {\n if (maybeAttr === void 0 || maybeAttr === null) {\n return \"\";\n } else {\n return maybeAttr.toLowerCase();\n }\n}\nfunction slimDOMExcluded(sn, slimDOMOptions) {\n if (slimDOMOptions.comment && sn.type === NodeType$3.Comment) {\n return true;\n } else if (sn.type === NodeType$3.Element) {\n if (slimDOMOptions.script && // script tag\n (sn.tagName === \"script\" || // (module)preload link\n sn.tagName === \"link\" && (sn.attributes.rel === \"preload\" || sn.attributes.rel === \"modulepreload\") && sn.attributes.as === \"script\" || // prefetch link\n sn.tagName === \"link\" && sn.attributes.rel === \"prefetch\" && typeof sn.attributes.href === \"string\" && extractFileExtension(sn.attributes.href) === \"js\")) {\n return true;\n } else if (slimDOMOptions.headFavicon && (sn.tagName === \"link\" && sn.attributes.rel === \"shortcut icon\" || sn.tagName === \"meta\" && (lowerIfExists(sn.attributes.name).match(\n /^msapplication-tile(image|color)$/\n ) || lowerIfExists(sn.attributes.name) === \"application-name\" || lowerIfExists(sn.attributes.rel) === \"icon\" || lowerIfExists(sn.attributes.rel) === \"apple-touch-icon\" || lowerIfExists(sn.attributes.rel) === \"shortcut icon\"))) {\n return true;\n } else if (sn.tagName === \"meta\") {\n if (slimDOMOptions.headMetaDescKeywords && lowerIfExists(sn.attributes.name).match(/^description|keywords$/)) {\n return true;\n } else if (slimDOMOptions.headMetaSocial && (lowerIfExists(sn.attributes.property).match(/^(og|twitter|fb):/) || // og = opengraph (facebook)\n lowerIfExists(sn.attributes.name).match(/^(og|twitter):/) || lowerIfExists(sn.attributes.name) === \"pinterest\")) {\n return true;\n } else if (slimDOMOptions.headMetaRobots && (lowerIfExists(sn.attributes.name) === \"robots\" || lowerIfExists(sn.attributes.name) === \"googlebot\" || lowerIfExists(sn.attributes.name) === \"bingbot\")) {\n return true;\n } else if (slimDOMOptions.headMetaHttpEquiv && sn.attributes[\"http-equiv\"] !== void 0) {\n return true;\n } else if (slimDOMOptions.headMetaAuthorship && (lowerIfExists(sn.attributes.name) === \"author\" || lowerIfExists(sn.attributes.name) === \"generator\" || lowerIfExists(sn.attributes.name) === \"framework\" || lowerIfExists(sn.attributes.name) === \"publisher\" || lowerIfExists(sn.attributes.name) === \"progid\" || lowerIfExists(sn.attributes.property).match(/^article:/) || lowerIfExists(sn.attributes.property).match(/^product:/))) {\n return true;\n } else if (slimDOMOptions.headMetaVerification && (lowerIfExists(sn.attributes.name) === \"google-site-verification\" || lowerIfExists(sn.attributes.name) === \"yandex-verification\" || lowerIfExists(sn.attributes.name) === \"csrf-token\" || lowerIfExists(sn.attributes.name) === \"p:domain_verify\" || lowerIfExists(sn.attributes.name) === \"verify-v1\" || lowerIfExists(sn.attributes.name) === \"verification\" || lowerIfExists(sn.attributes.name) === \"shopify-checkout-api-token\")) {\n return true;\n }\n }\n }\n return false;\n}\nfunction serializeNodeWithId(n2, options) {\n const {\n doc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n maskTextClass,\n maskTextSelector,\n skipChild = false,\n inlineStylesheet = true,\n maskInputOptions = {},\n maskTextFn,\n maskInputFn,\n slimDOMOptions,\n dataURLOptions = {},\n inlineImages = false,\n recordCanvas = false,\n onSerialize,\n onIframeLoad,\n iframeLoadTimeout = 5e3,\n onStylesheetLoad,\n stylesheetLoadTimeout = 5e3,\n keepIframeSrcFn = () => false,\n newlyAddedElement = false,\n cssCaptured = false\n } = options;\n let { needsMask } = options;\n let { preserveWhiteSpace = true } = options;\n if (!needsMask) {\n const checkAncestors = needsMask === void 0;\n needsMask = needMaskingText(\n n2,\n maskTextClass,\n maskTextSelector,\n checkAncestors\n );\n }\n const _serializedNode = serializeNode(n2, {\n doc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n needsMask,\n inlineStylesheet,\n maskInputOptions,\n maskTextFn,\n maskInputFn,\n dataURLOptions,\n inlineImages,\n recordCanvas,\n keepIframeSrcFn,\n newlyAddedElement,\n cssCaptured\n });\n if (!_serializedNode) {\n console.warn(n2, \"not serialized\");\n return null;\n }\n let id;\n if (mirror2.hasNode(n2)) {\n id = mirror2.getId(n2);\n } else if (slimDOMExcluded(_serializedNode, slimDOMOptions) || !preserveWhiteSpace && _serializedNode.type === NodeType$3.Text && !_serializedNode.textContent.replace(/^\\s+|\\s+$/gm, \"\").length) {\n id = IGNORED_NODE;\n } else {\n id = genId();\n }\n const serializedNode = Object.assign(_serializedNode, { id });\n mirror2.add(n2, serializedNode);\n if (id === IGNORED_NODE) {\n return null;\n }\n if (onSerialize) {\n onSerialize(n2);\n }\n let recordChild = !skipChild;\n if (serializedNode.type === NodeType$3.Element) {\n recordChild = recordChild && !serializedNode.needBlock;\n delete serializedNode.needBlock;\n const shadowRootEl = index$1.shadowRoot(n2);\n if (shadowRootEl && isNativeShadowDom(shadowRootEl))\n serializedNode.isShadowHost = true;\n }\n if ((serializedNode.type === NodeType$3.Document || serializedNode.type === NodeType$3.Element) && recordChild) {\n if (slimDOMOptions.headWhitespace && serializedNode.type === NodeType$3.Element && serializedNode.tagName === \"head\") {\n preserveWhiteSpace = false;\n }\n const bypassOptions = {\n doc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n needsMask,\n maskTextClass,\n maskTextSelector,\n skipChild,\n inlineStylesheet,\n maskInputOptions,\n maskTextFn,\n maskInputFn,\n slimDOMOptions,\n dataURLOptions,\n inlineImages,\n recordCanvas,\n preserveWhiteSpace,\n onSerialize,\n onIframeLoad,\n iframeLoadTimeout,\n onStylesheetLoad,\n stylesheetLoadTimeout,\n keepIframeSrcFn,\n cssCaptured: false\n };\n if (serializedNode.type === NodeType$3.Element && serializedNode.tagName === \"textarea\" && serializedNode.attributes.value !== void 0) ;\n else {\n if (serializedNode.type === NodeType$3.Element && serializedNode.attributes._cssText !== void 0 && typeof serializedNode.attributes._cssText === \"string\") {\n bypassOptions.cssCaptured = true;\n }\n for (const childN of Array.from(index$1.childNodes(n2))) {\n const serializedChildNode = serializeNodeWithId(childN, bypassOptions);\n if (serializedChildNode) {\n serializedNode.childNodes.push(serializedChildNode);\n }\n }\n }\n let shadowRootEl = null;\n if (isElement(n2) && (shadowRootEl = index$1.shadowRoot(n2))) {\n for (const childN of Array.from(index$1.childNodes(shadowRootEl))) {\n const serializedChildNode = serializeNodeWithId(childN, bypassOptions);\n if (serializedChildNode) {\n isNativeShadowDom(shadowRootEl) && (serializedChildNode.isShadow = true);\n serializedNode.childNodes.push(serializedChildNode);\n }\n }\n }\n }\n const parent = index$1.parentNode(n2);\n if (parent && isShadowRoot(parent) && isNativeShadowDom(parent)) {\n serializedNode.isShadow = true;\n }\n if (serializedNode.type === NodeType$3.Element && serializedNode.tagName === \"iframe\") {\n onceIframeLoaded(\n n2,\n () => {\n const iframeDoc = n2.contentDocument;\n if (iframeDoc && onIframeLoad) {\n const serializedIframeNode = serializeNodeWithId(iframeDoc, {\n doc: iframeDoc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n needsMask,\n maskTextClass,\n maskTextSelector,\n skipChild: false,\n inlineStylesheet,\n maskInputOptions,\n maskTextFn,\n maskInputFn,\n slimDOMOptions,\n dataURLOptions,\n inlineImages,\n recordCanvas,\n preserveWhiteSpace,\n onSerialize,\n onIframeLoad,\n iframeLoadTimeout,\n onStylesheetLoad,\n stylesheetLoadTimeout,\n keepIframeSrcFn\n });\n if (serializedIframeNode) {\n onIframeLoad(\n n2,\n serializedIframeNode\n );\n }\n }\n },\n iframeLoadTimeout\n );\n }\n if (serializedNode.type === NodeType$3.Element && serializedNode.tagName === \"link\" && typeof serializedNode.attributes.rel === \"string\" && (serializedNode.attributes.rel === \"stylesheet\" || serializedNode.attributes.rel === \"preload\" && typeof serializedNode.attributes.href === \"string\" && extractFileExtension(serializedNode.attributes.href) === \"css\")) {\n onceStylesheetLoaded(\n n2,\n () => {\n if (onStylesheetLoad) {\n const serializedLinkNode = serializeNodeWithId(n2, {\n doc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n needsMask,\n maskTextClass,\n maskTextSelector,\n skipChild: false,\n inlineStylesheet,\n maskInputOptions,\n maskTextFn,\n maskInputFn,\n slimDOMOptions,\n dataURLOptions,\n inlineImages,\n recordCanvas,\n preserveWhiteSpace,\n onSerialize,\n onIframeLoad,\n iframeLoadTimeout,\n onStylesheetLoad,\n stylesheetLoadTimeout,\n keepIframeSrcFn\n });\n if (serializedLinkNode) {\n onStylesheetLoad(\n n2,\n serializedLinkNode\n );\n }\n }\n },\n stylesheetLoadTimeout\n );\n }\n return serializedNode;\n}\nfunction snapshot(n2, options) {\n const {\n mirror: mirror2 = new Mirror(),\n blockClass = \"rr-block\",\n blockSelector = null,\n maskTextClass = \"rr-mask\",\n maskTextSelector = null,\n inlineStylesheet = true,\n inlineImages = false,\n recordCanvas = false,\n maskAllInputs = false,\n maskTextFn,\n maskInputFn,\n slimDOM = false,\n dataURLOptions,\n preserveWhiteSpace,\n onSerialize,\n onIframeLoad,\n iframeLoadTimeout,\n onStylesheetLoad,\n stylesheetLoadTimeout,\n keepIframeSrcFn = () => false\n } = options || {};\n const maskInputOptions = maskAllInputs === true ? {\n color: true,\n date: true,\n \"datetime-local\": true,\n email: true,\n month: true,\n number: true,\n range: true,\n search: true,\n tel: true,\n text: true,\n time: true,\n url: true,\n week: true,\n textarea: true,\n select: true,\n password: true\n } : maskAllInputs === false ? {\n password: true\n } : maskAllInputs;\n const slimDOMOptions = slimDOM === true || slimDOM === \"all\" ? (\n // if true: set of sensible options that should not throw away any information\n {\n script: true,\n comment: true,\n headFavicon: true,\n headWhitespace: true,\n headMetaDescKeywords: slimDOM === \"all\",\n // destructive\n headMetaSocial: true,\n headMetaRobots: true,\n headMetaHttpEquiv: true,\n headMetaAuthorship: true,\n headMetaVerification: true\n }\n ) : slimDOM === false ? {} : slimDOM;\n return serializeNodeWithId(n2, {\n doc: n2,\n mirror: mirror2,\n blockClass,\n blockSelector,\n maskTextClass,\n maskTextSelector,\n skipChild: false,\n inlineStylesheet,\n maskInputOptions,\n maskTextFn,\n maskInputFn,\n slimDOMOptions,\n dataURLOptions,\n inlineImages,\n recordCanvas,\n preserveWhiteSpace,\n onSerialize,\n onIframeLoad,\n iframeLoadTimeout,\n onStylesheetLoad,\n stylesheetLoadTimeout,\n keepIframeSrcFn,\n newlyAddedElement: false\n });\n}\nfunction getDefaultExportFromCjs$1(x2) {\n return x2 && x2.__esModule && Object.prototype.hasOwnProperty.call(x2, \"default\") ? x2[\"default\"] : x2;\n}\nfunction getAugmentedNamespace$1(n2) {\n if (n2.__esModule) return n2;\n var f2 = n2.default;\n if (typeof f2 == \"function\") {\n var a2 = function a22() {\n if (this instanceof a22) {\n return Reflect.construct(f2, arguments, this.constructor);\n }\n return f2.apply(this, arguments);\n };\n a2.prototype = f2.prototype;\n } else a2 = {};\n Object.defineProperty(a2, \"__esModule\", { value: true });\n Object.keys(n2).forEach(function(k) {\n var d = Object.getOwnPropertyDescriptor(n2, k);\n Object.defineProperty(a2, k, d.get ? d : {\n enumerable: true,\n get: function() {\n return n2[k];\n }\n });\n });\n return a2;\n}\nvar picocolors_browser$1 = { exports: {} };\nvar x$1 = String;\nvar create$1 = function() {\n return { isColorSupported: false, reset: x$1, bold: x$1, dim: x$1, italic: x$1, underline: x$1, inverse: x$1, hidden: x$1, strikethrough: x$1, black: x$1, red: x$1, green: x$1, yellow: x$1, blue: x$1, magenta: x$1, cyan: x$1, white: x$1, gray: x$1, bgBlack: x$1, bgRed: x$1, bgGreen: x$1, bgYellow: x$1, bgBlue: x$1, bgMagenta: x$1, bgCyan: x$1, bgWhite: x$1 };\n};\npicocolors_browser$1.exports = create$1();\npicocolors_browser$1.exports.createColors = create$1;\nvar picocolors_browserExports$1 = picocolors_browser$1.exports;\nconst __viteBrowserExternal$2 = {};\nconst __viteBrowserExternal$1$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n default: __viteBrowserExternal$2\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst require$$2$1 = /* @__PURE__ */ getAugmentedNamespace$1(__viteBrowserExternal$1$1);\nlet pico$1 = picocolors_browserExports$1;\nlet terminalHighlight$1$1 = require$$2$1;\nlet CssSyntaxError$3$1 = class CssSyntaxError extends Error {\n constructor(message, line, column, source, file, plugin22) {\n super(message);\n this.name = \"CssSyntaxError\";\n this.reason = message;\n if (file) {\n this.file = file;\n }\n if (source) {\n this.source = source;\n }\n if (plugin22) {\n this.plugin = plugin22;\n }\n if (typeof line !== \"undefined\" && typeof column !== \"undefined\") {\n if (typeof line === \"number\") {\n this.line = line;\n this.column = column;\n } else {\n this.line = line.line;\n this.column = line.column;\n this.endLine = column.line;\n this.endColumn = column.column;\n }\n }\n this.setMessage();\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, CssSyntaxError);\n }\n }\n setMessage() {\n this.message = this.plugin ? this.plugin + \": \" : \"\";\n this.message += this.file ? this.file : \"<css input>\";\n if (typeof this.line !== \"undefined\") {\n this.message += \":\" + this.line + \":\" + this.column;\n }\n this.message += \": \" + this.reason;\n }\n showSourceCode(color) {\n if (!this.source) return \"\";\n let css = this.source;\n if (color == null) color = pico$1.isColorSupported;\n if (terminalHighlight$1$1) {\n if (color) css = terminalHighlight$1$1(css);\n }\n let lines = css.split(/\\r?\\n/);\n let start = Math.max(this.line - 3, 0);\n let end = Math.min(this.line + 2, lines.length);\n let maxWidth = String(end).length;\n let mark, aside;\n if (color) {\n let { bold, gray, red } = pico$1.createColors(true);\n mark = (text) => bold(red(text));\n aside = (text) => gray(text);\n } else {\n mark = aside = (str) => str;\n }\n return lines.slice(start, end).map((line, index2) => {\n let number = start + 1 + index2;\n let gutter = \" \" + (\" \" + number).slice(-maxWidth) + \" | \";\n if (number === this.line) {\n let spacing = aside(gutter.replace(/\\d/g, \" \")) + line.slice(0, this.column - 1).replace(/[^\\t]/g, \" \");\n return mark(\">\") + aside(gutter) + line + \"\\n \" + spacing + mark(\"^\");\n }\n return \" \" + aside(gutter) + line;\n }).join(\"\\n\");\n }\n toString() {\n let code = this.showSourceCode();\n if (code) {\n code = \"\\n\\n\" + code + \"\\n\";\n }\n return this.name + \": \" + this.message + code;\n }\n};\nvar cssSyntaxError$1 = CssSyntaxError$3$1;\nCssSyntaxError$3$1.default = CssSyntaxError$3$1;\nvar symbols$1 = {};\nsymbols$1.isClean = Symbol(\"isClean\");\nsymbols$1.my = Symbol(\"my\");\nconst DEFAULT_RAW$1 = {\n after: \"\\n\",\n beforeClose: \"\\n\",\n beforeComment: \"\\n\",\n beforeDecl: \"\\n\",\n beforeOpen: \" \",\n beforeRule: \"\\n\",\n colon: \": \",\n commentLeft: \" \",\n commentRight: \" \",\n emptyBody: \"\",\n indent: \" \",\n semicolon: false\n};\nfunction capitalize$1(str) {\n return str[0].toUpperCase() + str.slice(1);\n}\nlet Stringifier$2$1 = class Stringifier {\n constructor(builder) {\n this.builder = builder;\n }\n atrule(node2, semicolon) {\n let name = \"@\" + node2.name;\n let params = node2.params ? this.rawValue(node2, \"params\") : \"\";\n if (typeof node2.raws.afterName !== \"undefined\") {\n name += node2.raws.afterName;\n } else if (params) {\n name += \" \";\n }\n if (node2.nodes) {\n this.block(node2, name + params);\n } else {\n let end = (node2.raws.between || \"\") + (semicolon ? \";\" : \"\");\n this.builder(name + params + end, node2);\n }\n }\n beforeAfter(node2, detect) {\n let value;\n if (node2.type === \"decl\") {\n value = this.raw(node2, null, \"beforeDecl\");\n } else if (node2.type === \"comment\") {\n value = this.raw(node2, null, \"beforeComment\");\n } else if (detect === \"before\") {\n value = this.raw(node2, null, \"beforeRule\");\n } else {\n value = this.raw(node2, null, \"beforeClose\");\n }\n let buf = node2.parent;\n let depth = 0;\n while (buf && buf.type !== \"root\") {\n depth += 1;\n buf = buf.parent;\n }\n if (value.includes(\"\\n\")) {\n let indent = this.raw(node2, null, \"indent\");\n if (indent.length) {\n for (let step = 0; step < depth; step++) value += indent;\n }\n }\n return value;\n }\n block(node2, start) {\n let between = this.raw(node2, \"between\", \"beforeOpen\");\n this.builder(start + between + \"{\", node2, \"start\");\n let after;\n if (node2.nodes && node2.nodes.length) {\n this.body(node2);\n after = this.raw(node2, \"after\");\n } else {\n after = this.raw(node2, \"after\", \"emptyBody\");\n }\n if (after) this.builder(after);\n this.builder(\"}\", node2, \"end\");\n }\n body(node2) {\n let last = node2.nodes.length - 1;\n while (last > 0) {\n if (node2.nodes[last].type !== \"comment\") break;\n last -= 1;\n }\n let semicolon = this.raw(node2, \"semicolon\");\n for (let i2 = 0; i2 < node2.nodes.length; i2++) {\n let child = node2.nodes[i2];\n let before = this.raw(child, \"before\");\n if (before) this.builder(before);\n this.stringify(child, last !== i2 || semicolon);\n }\n }\n comment(node2) {\n let left = this.raw(node2, \"left\", \"commentLeft\");\n let right = this.raw(node2, \"right\", \"commentRight\");\n this.builder(\"/*\" + left + node2.text + right + \"*/\", node2);\n }\n decl(node2, semicolon) {\n let between = this.raw(node2, \"between\", \"colon\");\n let string = node2.prop + between + this.rawValue(node2, \"value\");\n if (node2.important) {\n string += node2.raws.important || \" !important\";\n }\n if (semicolon) string += \";\";\n this.builder(string, node2);\n }\n document(node2) {\n this.body(node2);\n }\n raw(node2, own, detect) {\n let value;\n if (!detect) detect = own;\n if (own) {\n value = node2.raws[own];\n if (typeof value !== \"undefined\") return value;\n }\n let parent = node2.parent;\n if (detect === \"before\") {\n if (!parent || parent.type === \"root\" && parent.first === node2) {\n return \"\";\n }\n if (parent && parent.type === \"document\") {\n return \"\";\n }\n }\n if (!parent) return DEFAULT_RAW$1[detect];\n let root2 = node2.root();\n if (!root2.rawCache) root2.rawCache = {};\n if (typeof root2.rawCache[detect] !== \"undefined\") {\n return root2.rawCache[detect];\n }\n if (detect === \"before\" || detect === \"after\") {\n return this.beforeAfter(node2, detect);\n } else {\n let method = \"raw\" + capitalize$1(detect);\n if (this[method]) {\n value = this[method](root2, node2);\n } else {\n root2.walk((i2) => {\n value = i2.raws[own];\n if (typeof value !== \"undefined\") return false;\n });\n }\n }\n if (typeof value === \"undefined\") value = DEFAULT_RAW$1[detect];\n root2.rawCache[detect] = value;\n return value;\n }\n rawBeforeClose(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.nodes && i2.nodes.length > 0) {\n if (typeof i2.raws.after !== \"undefined\") {\n value = i2.raws.after;\n if (value.includes(\"\\n\")) {\n value = value.replace(/[^\\n]+$/, \"\");\n }\n return false;\n }\n }\n });\n if (value) value = value.replace(/\\S/g, \"\");\n return value;\n }\n rawBeforeComment(root2, node2) {\n let value;\n root2.walkComments((i2) => {\n if (typeof i2.raws.before !== \"undefined\") {\n value = i2.raws.before;\n if (value.includes(\"\\n\")) {\n value = value.replace(/[^\\n]+$/, \"\");\n }\n return false;\n }\n });\n if (typeof value === \"undefined\") {\n value = this.raw(node2, null, \"beforeDecl\");\n } else if (value) {\n value = value.replace(/\\S/g, \"\");\n }\n return value;\n }\n rawBeforeDecl(root2, node2) {\n let value;\n root2.walkDecls((i2) => {\n if (typeof i2.raws.before !== \"undefined\") {\n value = i2.raws.before;\n if (value.includes(\"\\n\")) {\n value = value.replace(/[^\\n]+$/, \"\");\n }\n return false;\n }\n });\n if (typeof value === \"undefined\") {\n value = this.raw(node2, null, \"beforeRule\");\n } else if (value) {\n value = value.replace(/\\S/g, \"\");\n }\n return value;\n }\n rawBeforeOpen(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.type !== \"decl\") {\n value = i2.raws.between;\n if (typeof value !== \"undefined\") return false;\n }\n });\n return value;\n }\n rawBeforeRule(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.nodes && (i2.parent !== root2 || root2.first !== i2)) {\n if (typeof i2.raws.before !== \"undefined\") {\n value = i2.raws.before;\n if (value.includes(\"\\n\")) {\n value = value.replace(/[^\\n]+$/, \"\");\n }\n return false;\n }\n }\n });\n if (value) value = value.replace(/\\S/g, \"\");\n return value;\n }\n rawColon(root2) {\n let value;\n root2.walkDecls((i2) => {\n if (typeof i2.raws.between !== \"undefined\") {\n value = i2.raws.between.replace(/[^\\s:]/g, \"\");\n return false;\n }\n });\n return value;\n }\n rawEmptyBody(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.nodes && i2.nodes.length === 0) {\n value = i2.raws.after;\n if (typeof value !== \"undefined\") return false;\n }\n });\n return value;\n }\n rawIndent(root2) {\n if (root2.raws.indent) return root2.raws.indent;\n let value;\n root2.walk((i2) => {\n let p = i2.parent;\n if (p && p !== root2 && p.parent && p.parent === root2) {\n if (typeof i2.raws.before !== \"undefined\") {\n let parts = i2.raws.before.split(\"\\n\");\n value = parts[parts.length - 1];\n value = value.replace(/\\S/g, \"\");\n return false;\n }\n }\n });\n return value;\n }\n rawSemicolon(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.nodes && i2.nodes.length && i2.last.type === \"decl\") {\n value = i2.raws.semicolon;\n if (typeof value !== \"undefined\") return false;\n }\n });\n return value;\n }\n rawValue(node2, prop) {\n let value = node2[prop];\n let raw = node2.raws[prop];\n if (raw && raw.value === value) {\n return raw.raw;\n }\n return value;\n }\n root(node2) {\n this.body(node2);\n if (node2.raws.after) this.builder(node2.raws.after);\n }\n rule(node2) {\n this.block(node2, this.rawValue(node2, \"selector\"));\n if (node2.raws.ownSemicolon) {\n this.builder(node2.raws.ownSemicolon, node2, \"end\");\n }\n }\n stringify(node2, semicolon) {\n if (!this[node2.type]) {\n throw new Error(\n \"Unknown AST node type \" + node2.type + \". Maybe you need to change PostCSS stringifier.\"\n );\n }\n this[node2.type](node2, semicolon);\n }\n};\nvar stringifier$1 = Stringifier$2$1;\nStringifier$2$1.default = Stringifier$2$1;\nlet Stringifier$1$1 = stringifier$1;\nfunction stringify$4$1(node2, builder) {\n let str = new Stringifier$1$1(builder);\n str.stringify(node2);\n}\nvar stringify_1$1 = stringify$4$1;\nstringify$4$1.default = stringify$4$1;\nlet { isClean: isClean$2$1, my: my$2$1 } = symbols$1;\nlet CssSyntaxError$2$1 = cssSyntaxError$1;\nlet Stringifier2$1 = stringifier$1;\nlet stringify$3$1 = stringify_1$1;\nfunction cloneNode$1(obj, parent) {\n let cloned = new obj.constructor();\n for (let i2 in obj) {\n if (!Object.prototype.hasOwnProperty.call(obj, i2)) {\n continue;\n }\n if (i2 === \"proxyCache\") continue;\n let value = obj[i2];\n let type = typeof value;\n if (i2 === \"parent\" && type === \"object\") {\n if (parent) cloned[i2] = parent;\n } else if (i2 === \"source\") {\n cloned[i2] = value;\n } else if (Array.isArray(value)) {\n cloned[i2] = value.map((j) => cloneNode$1(j, cloned));\n } else {\n if (type === \"object\" && value !== null) value = cloneNode$1(value);\n cloned[i2] = value;\n }\n }\n return cloned;\n}\nlet Node$4$1 = class Node2 {\n constructor(defaults = {}) {\n this.raws = {};\n this[isClean$2$1] = false;\n this[my$2$1] = true;\n for (let name in defaults) {\n if (name === \"nodes\") {\n this.nodes = [];\n for (let node2 of defaults[name]) {\n if (typeof node2.clone === \"function\") {\n this.append(node2.clone());\n } else {\n this.append(node2);\n }\n }\n } else {\n this[name] = defaults[name];\n }\n }\n }\n addToError(error) {\n error.postcssNode = this;\n if (error.stack && this.source && /\\n\\s{4}at /.test(error.stack)) {\n let s2 = this.source;\n error.stack = error.stack.replace(\n /\\n\\s{4}at /,\n `$&${s2.input.from}:${s2.start.line}:${s2.start.column}$&`\n );\n }\n return error;\n }\n after(add) {\n this.parent.insertAfter(this, add);\n return this;\n }\n assign(overrides = {}) {\n for (let name in overrides) {\n this[name] = overrides[name];\n }\n return this;\n }\n before(add) {\n this.parent.insertBefore(this, add);\n return this;\n }\n cleanRaws(keepBetween) {\n delete this.raws.before;\n delete this.raws.after;\n if (!keepBetween) delete this.raws.between;\n }\n clone(overrides = {}) {\n let cloned = cloneNode$1(this);\n for (let name in overrides) {\n cloned[name] = overrides[name];\n }\n return cloned;\n }\n cloneAfter(overrides = {}) {\n let cloned = this.clone(overrides);\n this.parent.insertAfter(this, cloned);\n return cloned;\n }\n cloneBefore(overrides = {}) {\n let cloned = this.clone(overrides);\n this.parent.insertBefore(this, cloned);\n return cloned;\n }\n error(message, opts = {}) {\n if (this.source) {\n let { end, start } = this.rangeBy(opts);\n return this.source.input.error(\n message,\n { column: start.column, line: start.line },\n { column: end.column, line: end.line },\n opts\n );\n }\n return new CssSyntaxError$2$1(message);\n }\n getProxyProcessor() {\n return {\n get(node2, prop) {\n if (prop === \"proxyOf\") {\n return node2;\n } else if (prop === \"root\") {\n return () => node2.root().toProxy();\n } else {\n return node2[prop];\n }\n },\n set(node2, prop, value) {\n if (node2[prop] === value) return true;\n node2[prop] = value;\n if (prop === \"prop\" || prop === \"value\" || prop === \"name\" || prop === \"params\" || prop === \"important\" || /* c8 ignore next */\n prop === \"text\") {\n node2.markDirty();\n }\n return true;\n }\n };\n }\n markDirty() {\n if (this[isClean$2$1]) {\n this[isClean$2$1] = false;\n let next = this;\n while (next = next.parent) {\n next[isClean$2$1] = false;\n }\n }\n }\n next() {\n if (!this.parent) return void 0;\n let index2 = this.parent.index(this);\n return this.parent.nodes[index2 + 1];\n }\n positionBy(opts, stringRepresentation) {\n let pos = this.source.start;\n if (opts.index) {\n pos = this.positionInside(opts.index, stringRepresentation);\n } else if (opts.word) {\n stringRepresentation = this.toString();\n let index2 = stringRepresentation.indexOf(opts.word);\n if (index2 !== -1) pos = this.positionInside(index2, stringRepresentation);\n }\n return pos;\n }\n positionInside(index2, stringRepresentation) {\n let string = stringRepresentation || this.toString();\n let column = this.source.start.column;\n let line = this.source.start.line;\n for (let i2 = 0; i2 < index2; i2++) {\n if (string[i2] === \"\\n\") {\n column = 1;\n line += 1;\n } else {\n column += 1;\n }\n }\n return { column, line };\n }\n prev() {\n if (!this.parent) return void 0;\n let index2 = this.parent.index(this);\n return this.parent.nodes[index2 - 1];\n }\n rangeBy(opts) {\n let start = {\n column: this.source.start.column,\n line: this.source.start.line\n };\n let end = this.source.end ? {\n column: this.source.end.column + 1,\n line: this.source.end.line\n } : {\n column: start.column + 1,\n line: start.line\n };\n if (opts.word) {\n let stringRepresentation = this.toString();\n let index2 = stringRepresentation.indexOf(opts.word);\n if (index2 !== -1) {\n start = this.positionInside(index2, stringRepresentation);\n end = this.positionInside(index2 + opts.word.length, stringRepresentation);\n }\n } else {\n if (opts.start) {\n start = {\n column: opts.start.column,\n line: opts.start.line\n };\n } else if (opts.index) {\n start = this.positionInside(opts.index);\n }\n if (opts.end) {\n end = {\n column: opts.end.column,\n line: opts.end.line\n };\n } else if (typeof opts.endIndex === \"number\") {\n end = this.positionInside(opts.endIndex);\n } else if (opts.index) {\n end = this.positionInside(opts.index + 1);\n }\n }\n if (end.line < start.line || end.line === start.line && end.column <= start.column) {\n end = { column: start.column + 1, line: start.line };\n }\n return { end, start };\n }\n raw(prop, defaultType) {\n let str = new Stringifier2$1();\n return str.raw(this, prop, defaultType);\n }\n remove() {\n if (this.parent) {\n this.parent.removeChild(this);\n }\n this.parent = void 0;\n return this;\n }\n replaceWith(...nodes) {\n if (this.parent) {\n let bookmark = this;\n let foundSelf = false;\n for (let node2 of nodes) {\n if (node2 === this) {\n foundSelf = true;\n } else if (foundSelf) {\n this.parent.insertAfter(bookmark, node2);\n bookmark = node2;\n } else {\n this.parent.insertBefore(bookmark, node2);\n }\n }\n if (!foundSelf) {\n this.remove();\n }\n }\n return this;\n }\n root() {\n let result2 = this;\n while (result2.parent && result2.parent.type !== \"document\") {\n result2 = result2.parent;\n }\n return result2;\n }\n toJSON(_, inputs) {\n let fixed = {};\n let emitInputs = inputs == null;\n inputs = inputs || /* @__PURE__ */ new Map();\n let inputsNextIndex = 0;\n for (let name in this) {\n if (!Object.prototype.hasOwnProperty.call(this, name)) {\n continue;\n }\n if (name === \"parent\" || name === \"proxyCache\") continue;\n let value = this[name];\n if (Array.isArray(value)) {\n fixed[name] = value.map((i2) => {\n if (typeof i2 === \"object\" && i2.toJSON) {\n return i2.toJSON(null, inputs);\n } else {\n return i2;\n }\n });\n } else if (typeof value === \"object\" && value.toJSON) {\n fixed[name] = value.toJSON(null, inputs);\n } else if (name === \"source\") {\n let inputId = inputs.get(value.input);\n if (inputId == null) {\n inputId = inputsNextIndex;\n inputs.set(value.input, inputsNextIndex);\n inputsNextIndex++;\n }\n fixed[name] = {\n end: value.end,\n inputId,\n start: value.start\n };\n } else {\n fixed[name] = value;\n }\n }\n if (emitInputs) {\n fixed.inputs = [...inputs.keys()].map((input2) => input2.toJSON());\n }\n return fixed;\n }\n toProxy() {\n if (!this.proxyCache) {\n this.proxyCache = new Proxy(this, this.getProxyProcessor());\n }\n return this.proxyCache;\n }\n toString(stringifier2 = stringify$3$1) {\n if (stringifier2.stringify) stringifier2 = stringifier2.stringify;\n let result2 = \"\";\n stringifier2(this, (i2) => {\n result2 += i2;\n });\n return result2;\n }\n warn(result2, text, opts) {\n let data = { node: this };\n for (let i2 in opts) data[i2] = opts[i2];\n return result2.warn(text, data);\n }\n get proxyOf() {\n return this;\n }\n};\nvar node$1 = Node$4$1;\nNode$4$1.default = Node$4$1;\nlet Node$3$1 = node$1;\nlet Declaration$4$1 = class Declaration extends Node$3$1 {\n constructor(defaults) {\n if (defaults && typeof defaults.value !== \"undefined\" && typeof defaults.value !== \"string\") {\n defaults = { ...defaults, value: String(defaults.value) };\n }\n super(defaults);\n this.type = \"decl\";\n }\n get variable() {\n return this.prop.startsWith(\"--\") || this.prop[0] === \"$\";\n }\n};\nvar declaration$1 = Declaration$4$1;\nDeclaration$4$1.default = Declaration$4$1;\nlet urlAlphabet$1 = \"useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict\";\nlet customAlphabet$1 = (alphabet, defaultSize = 21) => {\n return (size = defaultSize) => {\n let id = \"\";\n let i2 = size;\n while (i2--) {\n id += alphabet[Math.random() * alphabet.length | 0];\n }\n return id;\n };\n};\nlet nanoid$1$1 = (size = 21) => {\n let id = \"\";\n let i2 = size;\n while (i2--) {\n id += urlAlphabet$1[Math.random() * 64 | 0];\n }\n return id;\n};\nvar nonSecure$1 = { nanoid: nanoid$1$1, customAlphabet: customAlphabet$1 };\nlet { SourceMapConsumer: SourceMapConsumer$2$1, SourceMapGenerator: SourceMapGenerator$2$1 } = require$$2$1;\nlet { existsSync: existsSync$1, readFileSync: readFileSync$1 } = require$$2$1;\nlet { dirname: dirname$1$1, join: join$1 } = require$$2$1;\nfunction fromBase64$1(str) {\n if (Buffer) {\n return Buffer.from(str, \"base64\").toString();\n } else {\n return window.atob(str);\n }\n}\nlet PreviousMap$2$1 = class PreviousMap {\n constructor(css, opts) {\n if (opts.map === false) return;\n this.loadAnnotation(css);\n this.inline = this.startWith(this.annotation, \"data:\");\n let prev = opts.map ? opts.map.prev : void 0;\n let text = this.loadMap(opts.from, prev);\n if (!this.mapFile && opts.from) {\n this.mapFile = opts.from;\n }\n if (this.mapFile) this.root = dirname$1$1(this.mapFile);\n if (text) this.text = text;\n }\n consumer() {\n if (!this.consumerCache) {\n this.consumerCache = new SourceMapConsumer$2$1(this.text);\n }\n return this.consumerCache;\n }\n decodeInline(text) {\n let baseCharsetUri = /^data:application\\/json;charset=utf-?8;base64,/;\n let baseUri = /^data:application\\/json;base64,/;\n let charsetUri = /^data:application\\/json;charset=utf-?8,/;\n let uri = /^data:application\\/json,/;\n if (charsetUri.test(text) || uri.test(text)) {\n return decodeURIComponent(text.substr(RegExp.lastMatch.length));\n }\n if (baseCharsetUri.test(text) || baseUri.test(text)) {\n return fromBase64$1(text.substr(RegExp.lastMatch.length));\n }\n let encoding = text.match(/data:application\\/json;([^,]+),/)[1];\n throw new Error(\"Unsupported source map encoding \" + encoding);\n }\n getAnnotationURL(sourceMapString) {\n return sourceMapString.replace(/^\\/\\*\\s*# sourceMappingURL=/, \"\").trim();\n }\n isMap(map) {\n if (typeof map !== \"object\") return false;\n return typeof map.mappings === \"string\" || typeof map._mappings === \"string\" || Array.isArray(map.sections);\n }\n loadAnnotation(css) {\n let comments = css.match(/\\/\\*\\s*# sourceMappingURL=/gm);\n if (!comments) return;\n let start = css.lastIndexOf(comments.pop());\n let end = css.indexOf(\"*/\", start);\n if (start > -1 && end > -1) {\n this.annotation = this.getAnnotationURL(css.substring(start, end));\n }\n }\n loadFile(path) {\n this.root = dirname$1$1(path);\n if (existsSync$1(path)) {\n this.mapFile = path;\n return readFileSync$1(path, \"utf-8\").toString().trim();\n }\n }\n loadMap(file, prev) {\n if (prev === false) return false;\n if (prev) {\n if (typeof prev === \"string\") {\n return prev;\n } else if (typeof prev === \"function\") {\n let prevPath = prev(file);\n if (prevPath) {\n let map = this.loadFile(prevPath);\n if (!map) {\n throw new Error(\n \"Unable to load previous source map: \" + prevPath.toString()\n );\n }\n return map;\n }\n } else if (prev instanceof SourceMapConsumer$2$1) {\n return SourceMapGenerator$2$1.fromSourceMap(prev).toString();\n } else if (prev instanceof SourceMapGenerator$2$1) {\n return prev.toString();\n } else if (this.isMap(prev)) {\n return JSON.stringify(prev);\n } else {\n throw new Error(\n \"Unsupported previous source map format: \" + prev.toString()\n );\n }\n } else if (this.inline) {\n return this.decodeInline(this.annotation);\n } else if (this.annotation) {\n let map = this.annotation;\n if (file) map = join$1(dirname$1$1(file), map);\n return this.loadFile(map);\n }\n }\n startWith(string, start) {\n if (!string) return false;\n return string.substr(0, start.length) === start;\n }\n withContent() {\n return !!(this.consumer().sourcesContent && this.consumer().sourcesContent.length > 0);\n }\n};\nvar previousMap$1 = PreviousMap$2$1;\nPreviousMap$2$1.default = PreviousMap$2$1;\nlet { SourceMapConsumer: SourceMapConsumer$1$1, SourceMapGenerator: SourceMapGenerator$1$1 } = require$$2$1;\nlet { fileURLToPath: fileURLToPath$1, pathToFileURL: pathToFileURL$1$1 } = require$$2$1;\nlet { isAbsolute: isAbsolute$1, resolve: resolve$1$1 } = require$$2$1;\nlet { nanoid: nanoid$2 } = nonSecure$1;\nlet terminalHighlight$2 = require$$2$1;\nlet CssSyntaxError$1$1 = cssSyntaxError$1;\nlet PreviousMap$1$1 = previousMap$1;\nlet fromOffsetCache$1 = Symbol(\"fromOffsetCache\");\nlet sourceMapAvailable$1$1 = Boolean(SourceMapConsumer$1$1 && SourceMapGenerator$1$1);\nlet pathAvailable$1$1 = Boolean(resolve$1$1 && isAbsolute$1);\nlet Input$4$1 = class Input {\n constructor(css, opts = {}) {\n if (css === null || typeof css === \"undefined\" || typeof css === \"object\" && !css.toString) {\n throw new Error(`PostCSS received ${css} instead of CSS string`);\n }\n this.css = css.toString();\n if (this.css[0] === \"\\uFEFF\" || this.css[0] === \"￾\") {\n this.hasBOM = true;\n this.css = this.css.slice(1);\n } else {\n this.hasBOM = false;\n }\n if (opts.from) {\n if (!pathAvailable$1$1 || /^\\w+:\\/\\//.test(opts.from) || isAbsolute$1(opts.from)) {\n this.file = opts.from;\n } else {\n this.file = resolve$1$1(opts.from);\n }\n }\n if (pathAvailable$1$1 && sourceMapAvailable$1$1) {\n let map = new PreviousMap$1$1(this.css, opts);\n if (map.text) {\n this.map = map;\n let file = map.consumer().file;\n if (!this.file && file) this.file = this.mapResolve(file);\n }\n }\n if (!this.file) {\n this.id = \"<input css \" + nanoid$2(6) + \">\";\n }\n if (this.map) this.map.file = this.from;\n }\n error(message, line, column, opts = {}) {\n let result2, endLine, endColumn;\n if (line && typeof line === \"object\") {\n let start = line;\n let end = column;\n if (typeof start.offset === \"number\") {\n let pos = this.fromOffset(start.offset);\n line = pos.line;\n column = pos.col;\n } else {\n line = start.line;\n column = start.column;\n }\n if (typeof end.offset === \"number\") {\n let pos = this.fromOffset(end.offset);\n endLine = pos.line;\n endColumn = pos.col;\n } else {\n endLine = end.line;\n endColumn = end.column;\n }\n } else if (!column) {\n let pos = this.fromOffset(line);\n line = pos.line;\n column = pos.col;\n }\n let origin = this.origin(line, column, endLine, endColumn);\n if (origin) {\n result2 = new CssSyntaxError$1$1(\n message,\n origin.endLine === void 0 ? origin.line : { column: origin.column, line: origin.line },\n origin.endLine === void 0 ? origin.column : { column: origin.endColumn, line: origin.endLine },\n origin.source,\n origin.file,\n opts.plugin\n );\n } else {\n result2 = new CssSyntaxError$1$1(\n message,\n endLine === void 0 ? line : { column, line },\n endLine === void 0 ? column : { column: endColumn, line: endLine },\n this.css,\n this.file,\n opts.plugin\n );\n }\n result2.input = { column, endColumn, endLine, line, source: this.css };\n if (this.file) {\n if (pathToFileURL$1$1) {\n result2.input.url = pathToFileURL$1$1(this.file).toString();\n }\n result2.input.file = this.file;\n }\n return result2;\n }\n fromOffset(offset) {\n let lastLine, lineToIndex;\n if (!this[fromOffsetCache$1]) {\n let lines = this.css.split(\"\\n\");\n lineToIndex = new Array(lines.length);\n let prevIndex = 0;\n for (let i2 = 0, l2 = lines.length; i2 < l2; i2++) {\n lineToIndex[i2] = prevIndex;\n prevIndex += lines[i2].length + 1;\n }\n this[fromOffsetCache$1] = lineToIndex;\n } else {\n lineToIndex = this[fromOffsetCache$1];\n }\n lastLine = lineToIndex[lineToIndex.length - 1];\n let min = 0;\n if (offset >= lastLine) {\n min = lineToIndex.length - 1;\n } else {\n let max = lineToIndex.length - 2;\n let mid;\n while (min < max) {\n mid = min + (max - min >> 1);\n if (offset < lineToIndex[mid]) {\n max = mid - 1;\n } else if (offset >= lineToIndex[mid + 1]) {\n min = mid + 1;\n } else {\n min = mid;\n break;\n }\n }\n }\n return {\n col: offset - lineToIndex[min] + 1,\n line: min + 1\n };\n }\n mapResolve(file) {\n if (/^\\w+:\\/\\//.test(file)) {\n return file;\n }\n return resolve$1$1(this.map.consumer().sourceRoot || this.map.root || \".\", file);\n }\n origin(line, column, endLine, endColumn) {\n if (!this.map) return false;\n let consumer = this.map.consumer();\n let from = consumer.originalPositionFor({ column, line });\n if (!from.source) return false;\n let to;\n if (typeof endLine === \"number\") {\n to = consumer.originalPositionFor({ column: endColumn, line: endLine });\n }\n let fromUrl;\n if (isAbsolute$1(from.source)) {\n fromUrl = pathToFileURL$1$1(from.source);\n } else {\n fromUrl = new URL(\n from.source,\n this.map.consumer().sourceRoot || pathToFileURL$1$1(this.map.mapFile)\n );\n }\n let result2 = {\n column: from.column,\n endColumn: to && to.column,\n endLine: to && to.line,\n line: from.line,\n url: fromUrl.toString()\n };\n if (fromUrl.protocol === \"file:\") {\n if (fileURLToPath$1) {\n result2.file = fileURLToPath$1(fromUrl);\n } else {\n throw new Error(`file: protocol is not available in this PostCSS build`);\n }\n }\n let source = consumer.sourceContentFor(from.source);\n if (source) result2.source = source;\n return result2;\n }\n toJSON() {\n let json = {};\n for (let name of [\"hasBOM\", \"css\", \"file\", \"id\"]) {\n if (this[name] != null) {\n json[name] = this[name];\n }\n }\n if (this.map) {\n json.map = { ...this.map };\n if (json.map.consumerCache) {\n json.map.consumerCache = void 0;\n }\n }\n return json;\n }\n get from() {\n return this.file || this.id;\n }\n};\nvar input$1 = Input$4$1;\nInput$4$1.default = Input$4$1;\nif (terminalHighlight$2 && terminalHighlight$2.registerInput) {\n terminalHighlight$2.registerInput(Input$4$1);\n}\nlet { SourceMapConsumer: SourceMapConsumer$3, SourceMapGenerator: SourceMapGenerator$3 } = require$$2$1;\nlet { dirname: dirname$2, relative: relative$1, resolve: resolve$2, sep: sep$1 } = require$$2$1;\nlet { pathToFileURL: pathToFileURL$2 } = require$$2$1;\nlet Input$3$1 = input$1;\nlet sourceMapAvailable$2 = Boolean(SourceMapConsumer$3 && SourceMapGenerator$3);\nlet pathAvailable$2 = Boolean(dirname$2 && resolve$2 && relative$1 && sep$1);\nlet MapGenerator$2$1 = class MapGenerator {\n constructor(stringify2, root2, opts, cssString) {\n this.stringify = stringify2;\n this.mapOpts = opts.map || {};\n this.root = root2;\n this.opts = opts;\n this.css = cssString;\n this.originalCSS = cssString;\n this.usesFileUrls = !this.mapOpts.from && this.mapOpts.absolute;\n this.memoizedFileURLs = /* @__PURE__ */ new Map();\n this.memoizedPaths = /* @__PURE__ */ new Map();\n this.memoizedURLs = /* @__PURE__ */ new Map();\n }\n addAnnotation() {\n let content;\n if (this.isInline()) {\n content = \"data:application/json;base64,\" + this.toBase64(this.map.toString());\n } else if (typeof this.mapOpts.annotation === \"string\") {\n content = this.mapOpts.annotation;\n } else if (typeof this.mapOpts.annotation === \"function\") {\n content = this.mapOpts.annotation(this.opts.to, this.root);\n } else {\n content = this.outputFile() + \".map\";\n }\n let eol = \"\\n\";\n if (this.css.includes(\"\\r\\n\")) eol = \"\\r\\n\";\n this.css += eol + \"/*# sourceMappingURL=\" + content + \" */\";\n }\n applyPrevMaps() {\n for (let prev of this.previous()) {\n let from = this.toUrl(this.path(prev.file));\n let root2 = prev.root || dirname$2(prev.file);\n let map;\n if (this.mapOpts.sourcesContent === false) {\n map = new SourceMapConsumer$3(prev.text);\n if (map.sourcesContent) {\n map.sourcesContent = null;\n }\n } else {\n map = prev.consumer();\n }\n this.map.applySourceMap(map, from, this.toUrl(this.path(root2)));\n }\n }\n clearAnnotation() {\n if (this.mapOpts.annotation === false) return;\n if (this.root) {\n let node2;\n for (let i2 = this.root.nodes.length - 1; i2 >= 0; i2--) {\n node2 = this.root.nodes[i2];\n if (node2.type !== \"comment\") continue;\n if (node2.text.indexOf(\"# sourceMappingURL=\") === 0) {\n this.root.removeChild(i2);\n }\n }\n } else if (this.css) {\n this.css = this.css.replace(/\\n*?\\/\\*#[\\S\\s]*?\\*\\/$/gm, \"\");\n }\n }\n generate() {\n this.clearAnnotation();\n if (pathAvailable$2 && sourceMapAvailable$2 && this.isMap()) {\n return this.generateMap();\n } else {\n let result2 = \"\";\n this.stringify(this.root, (i2) => {\n result2 += i2;\n });\n return [result2];\n }\n }\n generateMap() {\n if (this.root) {\n this.generateString();\n } else if (this.previous().length === 1) {\n let prev = this.previous()[0].consumer();\n prev.file = this.outputFile();\n this.map = SourceMapGenerator$3.fromSourceMap(prev, {\n ignoreInvalidMapping: true\n });\n } else {\n this.map = new SourceMapGenerator$3({\n file: this.outputFile(),\n ignoreInvalidMapping: true\n });\n this.map.addMapping({\n generated: { column: 0, line: 1 },\n original: { column: 0, line: 1 },\n source: this.opts.from ? this.toUrl(this.path(this.opts.from)) : \"<no source>\"\n });\n }\n if (this.isSourcesContent()) this.setSourcesContent();\n if (this.root && this.previous().length > 0) this.applyPrevMaps();\n if (this.isAnnotation()) this.addAnnotation();\n if (this.isInline()) {\n return [this.css];\n } else {\n return [this.css, this.map];\n }\n }\n generateString() {\n this.css = \"\";\n this.map = new SourceMapGenerator$3({\n file: this.outputFile(),\n ignoreInvalidMapping: true\n });\n let line = 1;\n let column = 1;\n let noSource = \"<no source>\";\n let mapping = {\n generated: { column: 0, line: 0 },\n original: { column: 0, line: 0 },\n source: \"\"\n };\n let lines, last;\n this.stringify(this.root, (str, node2, type) => {\n this.css += str;\n if (node2 && type !== \"end\") {\n mapping.generated.line = line;\n mapping.generated.column = column - 1;\n if (node2.source && node2.source.start) {\n mapping.source = this.sourcePath(node2);\n mapping.original.line = node2.source.start.line;\n mapping.original.column = node2.source.start.column - 1;\n this.map.addMapping(mapping);\n } else {\n mapping.source = noSource;\n mapping.original.line = 1;\n mapping.original.column = 0;\n this.map.addMapping(mapping);\n }\n }\n lines = str.match(/\\n/g);\n if (lines) {\n line += lines.length;\n last = str.lastIndexOf(\"\\n\");\n column = str.length - last;\n } else {\n column += str.length;\n }\n if (node2 && type !== \"start\") {\n let p = node2.parent || { raws: {} };\n let childless = node2.type === \"decl\" || node2.type === \"atrule\" && !node2.nodes;\n if (!childless || node2 !== p.last || p.raws.semicolon) {\n if (node2.source && node2.source.end) {\n mapping.source = this.sourcePath(node2);\n mapping.original.line = node2.source.end.line;\n mapping.original.column = node2.source.end.column - 1;\n mapping.generated.line = line;\n mapping.generated.column = column - 2;\n this.map.addMapping(mapping);\n } else {\n mapping.source = noSource;\n mapping.original.line = 1;\n mapping.original.column = 0;\n mapping.generated.line = line;\n mapping.generated.column = column - 1;\n this.map.addMapping(mapping);\n }\n }\n }\n });\n }\n isAnnotation() {\n if (this.isInline()) {\n return true;\n }\n if (typeof this.mapOpts.annotation !== \"undefined\") {\n return this.mapOpts.annotation;\n }\n if (this.previous().length) {\n return this.previous().some((i2) => i2.annotation);\n }\n return true;\n }\n isInline() {\n if (typeof this.mapOpts.inline !== \"undefined\") {\n return this.mapOpts.inline;\n }\n let annotation = this.mapOpts.annotation;\n if (typeof annotation !== \"undefined\" && annotation !== true) {\n return false;\n }\n if (this.previous().length) {\n return this.previous().some((i2) => i2.inline);\n }\n return true;\n }\n isMap() {\n if (typeof this.opts.map !== \"undefined\") {\n return !!this.opts.map;\n }\n return this.previous().length > 0;\n }\n isSourcesContent() {\n if (typeof this.mapOpts.sourcesContent !== \"undefined\") {\n return this.mapOpts.sourcesContent;\n }\n if (this.previous().length) {\n return this.previous().some((i2) => i2.withContent());\n }\n return true;\n }\n outputFile() {\n if (this.opts.to) {\n return this.path(this.opts.to);\n } else if (this.opts.from) {\n return this.path(this.opts.from);\n } else {\n return \"to.css\";\n }\n }\n path(file) {\n if (this.mapOpts.absolute) return file;\n if (file.charCodeAt(0) === 60) return file;\n if (/^\\w+:\\/\\//.test(file)) return file;\n let cached = this.memoizedPaths.get(file);\n if (cached) return cached;\n let from = this.opts.to ? dirname$2(this.opts.to) : \".\";\n if (typeof this.mapOpts.annotation === \"string\") {\n from = dirname$2(resolve$2(from, this.mapOpts.annotation));\n }\n let path = relative$1(from, file);\n this.memoizedPaths.set(file, path);\n return path;\n }\n previous() {\n if (!this.previousMaps) {\n this.previousMaps = [];\n if (this.root) {\n this.root.walk((node2) => {\n if (node2.source && node2.source.input.map) {\n let map = node2.source.input.map;\n if (!this.previousMaps.includes(map)) {\n this.previousMaps.push(map);\n }\n }\n });\n } else {\n let input2 = new Input$3$1(this.originalCSS, this.opts);\n if (input2.map) this.previousMaps.push(input2.map);\n }\n }\n return this.previousMaps;\n }\n setSourcesContent() {\n let already = {};\n if (this.root) {\n this.root.walk((node2) => {\n if (node2.source) {\n let from = node2.source.input.from;\n if (from && !already[from]) {\n already[from] = true;\n let fromUrl = this.usesFileUrls ? this.toFileUrl(from) : this.toUrl(this.path(from));\n this.map.setSourceContent(fromUrl, node2.source.input.css);\n }\n }\n });\n } else if (this.css) {\n let from = this.opts.from ? this.toUrl(this.path(this.opts.from)) : \"<no source>\";\n this.map.setSourceContent(from, this.css);\n }\n }\n sourcePath(node2) {\n if (this.mapOpts.from) {\n return this.toUrl(this.mapOpts.from);\n } else if (this.usesFileUrls) {\n return this.toFileUrl(node2.source.input.from);\n } else {\n return this.toUrl(this.path(node2.source.input.from));\n }\n }\n toBase64(str) {\n if (Buffer) {\n return Buffer.from(str).toString(\"base64\");\n } else {\n return window.btoa(unescape(encodeURIComponent(str)));\n }\n }\n toFileUrl(path) {\n let cached = this.memoizedFileURLs.get(path);\n if (cached) return cached;\n if (pathToFileURL$2) {\n let fileURL = pathToFileURL$2(path).toString();\n this.memoizedFileURLs.set(path, fileURL);\n return fileURL;\n } else {\n throw new Error(\n \"`map.absolute` option is not available in this PostCSS build\"\n );\n }\n }\n toUrl(path) {\n let cached = this.memoizedURLs.get(path);\n if (cached) return cached;\n if (sep$1 === \"\\\\\") {\n path = path.replace(/\\\\/g, \"/\");\n }\n let url = encodeURI(path).replace(/[#?]/g, encodeURIComponent);\n this.memoizedURLs.set(path, url);\n return url;\n }\n};\nvar mapGenerator$1 = MapGenerator$2$1;\nlet Node$2$1 = node$1;\nlet Comment$4$1 = class Comment extends Node$2$1 {\n constructor(defaults) {\n super(defaults);\n this.type = \"comment\";\n }\n};\nvar comment$1 = Comment$4$1;\nComment$4$1.default = Comment$4$1;\nlet { isClean: isClean$1$1, my: my$1$1 } = symbols$1;\nlet Declaration$3$1 = declaration$1;\nlet Comment$3$1 = comment$1;\nlet Node$1$1 = node$1;\nlet parse$4$1, Rule$4$1, AtRule$4$1, Root$6$1;\nfunction cleanSource$1(nodes) {\n return nodes.map((i2) => {\n if (i2.nodes) i2.nodes = cleanSource$1(i2.nodes);\n delete i2.source;\n return i2;\n });\n}\nfunction markDirtyUp$1(node2) {\n node2[isClean$1$1] = false;\n if (node2.proxyOf.nodes) {\n for (let i2 of node2.proxyOf.nodes) {\n markDirtyUp$1(i2);\n }\n }\n}\nlet Container$7$1 = class Container extends Node$1$1 {\n append(...children) {\n for (let child of children) {\n let nodes = this.normalize(child, this.last);\n for (let node2 of nodes) this.proxyOf.nodes.push(node2);\n }\n this.markDirty();\n return this;\n }\n cleanRaws(keepBetween) {\n super.cleanRaws(keepBetween);\n if (this.nodes) {\n for (let node2 of this.nodes) node2.cleanRaws(keepBetween);\n }\n }\n each(callback) {\n if (!this.proxyOf.nodes) return void 0;\n let iterator = this.getIterator();\n let index2, result2;\n while (this.indexes[iterator] < this.proxyOf.nodes.length) {\n index2 = this.indexes[iterator];\n result2 = callback(this.proxyOf.nodes[index2], index2);\n if (result2 === false) break;\n this.indexes[iterator] += 1;\n }\n delete this.indexes[iterator];\n return result2;\n }\n every(condition) {\n return this.nodes.every(condition);\n }\n getIterator() {\n if (!this.lastEach) this.lastEach = 0;\n if (!this.indexes) this.indexes = {};\n this.lastEach += 1;\n let iterator = this.lastEach;\n this.indexes[iterator] = 0;\n return iterator;\n }\n getProxyProcessor() {\n return {\n get(node2, prop) {\n if (prop === \"proxyOf\") {\n return node2;\n } else if (!node2[prop]) {\n return node2[prop];\n } else if (prop === \"each\" || typeof prop === \"string\" && prop.startsWith(\"walk\")) {\n return (...args) => {\n return node2[prop](\n ...args.map((i2) => {\n if (typeof i2 === \"function\") {\n return (child, index2) => i2(child.toProxy(), index2);\n } else {\n return i2;\n }\n })\n );\n };\n } else if (prop === \"every\" || prop === \"some\") {\n return (cb) => {\n return node2[prop](\n (child, ...other) => cb(child.toProxy(), ...other)\n );\n };\n } else if (prop === \"root\") {\n return () => node2.root().toProxy();\n } else if (prop === \"nodes\") {\n return node2.nodes.map((i2) => i2.toProxy());\n } else if (prop === \"first\" || prop === \"last\") {\n return node2[prop].toProxy();\n } else {\n return node2[prop];\n }\n },\n set(node2, prop, value) {\n if (node2[prop] === value) return true;\n node2[prop] = value;\n if (prop === \"name\" || prop === \"params\" || prop === \"selector\") {\n node2.markDirty();\n }\n return true;\n }\n };\n }\n index(child) {\n if (typeof child === \"number\") return child;\n if (child.proxyOf) child = child.proxyOf;\n return this.proxyOf.nodes.indexOf(child);\n }\n insertAfter(exist, add) {\n let existIndex = this.index(exist);\n let nodes = this.normalize(add, this.proxyOf.nodes[existIndex]).reverse();\n existIndex = this.index(exist);\n for (let node2 of nodes) this.proxyOf.nodes.splice(existIndex + 1, 0, node2);\n let index2;\n for (let id in this.indexes) {\n index2 = this.indexes[id];\n if (existIndex < index2) {\n this.indexes[id] = index2 + nodes.length;\n }\n }\n this.markDirty();\n return this;\n }\n insertBefore(exist, add) {\n let existIndex = this.index(exist);\n let type = existIndex === 0 ? \"prepend\" : false;\n let nodes = this.normalize(add, this.proxyOf.nodes[existIndex], type).reverse();\n existIndex = this.index(exist);\n for (let node2 of nodes) this.proxyOf.nodes.splice(existIndex, 0, node2);\n let index2;\n for (let id in this.indexes) {\n index2 = this.indexes[id];\n if (existIndex <= index2) {\n this.indexes[id] = index2 + nodes.length;\n }\n }\n this.markDirty();\n return this;\n }\n normalize(nodes, sample) {\n if (typeof nodes === \"string\") {\n nodes = cleanSource$1(parse$4$1(nodes).nodes);\n } else if (typeof nodes === \"undefined\") {\n nodes = [];\n } else if (Array.isArray(nodes)) {\n nodes = nodes.slice(0);\n for (let i2 of nodes) {\n if (i2.parent) i2.parent.removeChild(i2, \"ignore\");\n }\n } else if (nodes.type === \"root\" && this.type !== \"document\") {\n nodes = nodes.nodes.slice(0);\n for (let i2 of nodes) {\n if (i2.parent) i2.parent.removeChild(i2, \"ignore\");\n }\n } else if (nodes.type) {\n nodes = [nodes];\n } else if (nodes.prop) {\n if (typeof nodes.value === \"undefined\") {\n throw new Error(\"Value field is missed in node creation\");\n } else if (typeof nodes.value !== \"string\") {\n nodes.value = String(nodes.value);\n }\n nodes = [new Declaration$3$1(nodes)];\n } else if (nodes.selector) {\n nodes = [new Rule$4$1(nodes)];\n } else if (nodes.name) {\n nodes = [new AtRule$4$1(nodes)];\n } else if (nodes.text) {\n nodes = [new Comment$3$1(nodes)];\n } else {\n throw new Error(\"Unknown node type in node creation\");\n }\n let processed = nodes.map((i2) => {\n if (!i2[my$1$1]) Container.rebuild(i2);\n i2 = i2.proxyOf;\n if (i2.parent) i2.parent.removeChild(i2);\n if (i2[isClean$1$1]) markDirtyUp$1(i2);\n if (typeof i2.raws.before === \"undefined\") {\n if (sample && typeof sample.raws.before !== \"undefined\") {\n i2.raws.before = sample.raws.before.replace(/\\S/g, \"\");\n }\n }\n i2.parent = this.proxyOf;\n return i2;\n });\n return processed;\n }\n prepend(...children) {\n children = children.reverse();\n for (let child of children) {\n let nodes = this.normalize(child, this.first, \"prepend\").reverse();\n for (let node2 of nodes) this.proxyOf.nodes.unshift(node2);\n for (let id in this.indexes) {\n this.indexes[id] = this.indexes[id] + nodes.length;\n }\n }\n this.markDirty();\n return this;\n }\n push(child) {\n child.parent = this;\n this.proxyOf.nodes.push(child);\n return this;\n }\n removeAll() {\n for (let node2 of this.proxyOf.nodes) node2.parent = void 0;\n this.proxyOf.nodes = [];\n this.markDirty();\n return this;\n }\n removeChild(child) {\n child = this.index(child);\n this.proxyOf.nodes[child].parent = void 0;\n this.proxyOf.nodes.splice(child, 1);\n let index2;\n for (let id in this.indexes) {\n index2 = this.indexes[id];\n if (index2 >= child) {\n this.indexes[id] = index2 - 1;\n }\n }\n this.markDirty();\n return this;\n }\n replaceValues(pattern, opts, callback) {\n if (!callback) {\n callback = opts;\n opts = {};\n }\n this.walkDecls((decl) => {\n if (opts.props && !opts.props.includes(decl.prop)) return;\n if (opts.fast && !decl.value.includes(opts.fast)) return;\n decl.value = decl.value.replace(pattern, callback);\n });\n this.markDirty();\n return this;\n }\n some(condition) {\n return this.nodes.some(condition);\n }\n walk(callback) {\n return this.each((child, i2) => {\n let result2;\n try {\n result2 = callback(child, i2);\n } catch (e2) {\n throw child.addToError(e2);\n }\n if (result2 !== false && child.walk) {\n result2 = child.walk(callback);\n }\n return result2;\n });\n }\n walkAtRules(name, callback) {\n if (!callback) {\n callback = name;\n return this.walk((child, i2) => {\n if (child.type === \"atrule\") {\n return callback(child, i2);\n }\n });\n }\n if (name instanceof RegExp) {\n return this.walk((child, i2) => {\n if (child.type === \"atrule\" && name.test(child.name)) {\n return callback(child, i2);\n }\n });\n }\n return this.walk((child, i2) => {\n if (child.type === \"atrule\" && child.name === name) {\n return callback(child, i2);\n }\n });\n }\n walkComments(callback) {\n return this.walk((child, i2) => {\n if (child.type === \"comment\") {\n return callback(child, i2);\n }\n });\n }\n walkDecls(prop, callback) {\n if (!callback) {\n callback = prop;\n return this.walk((child, i2) => {\n if (child.type === \"decl\") {\n return callback(child, i2);\n }\n });\n }\n if (prop instanceof RegExp) {\n return this.walk((child, i2) => {\n if (child.type === \"decl\" && prop.test(child.prop)) {\n return callback(child, i2);\n }\n });\n }\n return this.walk((child, i2) => {\n if (child.type === \"decl\" && child.prop === prop) {\n return callback(child, i2);\n }\n });\n }\n walkRules(selector, callback) {\n if (!callback) {\n callback = selector;\n return this.walk((child, i2) => {\n if (child.type === \"rule\") {\n return callback(child, i2);\n }\n });\n }\n if (selector instanceof RegExp) {\n return this.walk((child, i2) => {\n if (child.type === \"rule\" && selector.test(child.selector)) {\n return callback(child, i2);\n }\n });\n }\n return this.walk((child, i2) => {\n if (child.type === \"rule\" && child.selector === selector) {\n return callback(child, i2);\n }\n });\n }\n get first() {\n if (!this.proxyOf.nodes) return void 0;\n return this.proxyOf.nodes[0];\n }\n get last() {\n if (!this.proxyOf.nodes) return void 0;\n return this.proxyOf.nodes[this.proxyOf.nodes.length - 1];\n }\n};\nContainer$7$1.registerParse = (dependant) => {\n parse$4$1 = dependant;\n};\nContainer$7$1.registerRule = (dependant) => {\n Rule$4$1 = dependant;\n};\nContainer$7$1.registerAtRule = (dependant) => {\n AtRule$4$1 = dependant;\n};\nContainer$7$1.registerRoot = (dependant) => {\n Root$6$1 = dependant;\n};\nvar container$1 = Container$7$1;\nContainer$7$1.default = Container$7$1;\nContainer$7$1.rebuild = (node2) => {\n if (node2.type === \"atrule\") {\n Object.setPrototypeOf(node2, AtRule$4$1.prototype);\n } else if (node2.type === \"rule\") {\n Object.setPrototypeOf(node2, Rule$4$1.prototype);\n } else if (node2.type === \"decl\") {\n Object.setPrototypeOf(node2, Declaration$3$1.prototype);\n } else if (node2.type === \"comment\") {\n Object.setPrototypeOf(node2, Comment$3$1.prototype);\n } else if (node2.type === \"root\") {\n Object.setPrototypeOf(node2, Root$6$1.prototype);\n }\n node2[my$1$1] = true;\n if (node2.nodes) {\n node2.nodes.forEach((child) => {\n Container$7$1.rebuild(child);\n });\n }\n};\nlet Container$6$1 = container$1;\nlet LazyResult$4$1, Processor$3$1;\nlet Document$3$1 = class Document2 extends Container$6$1 {\n constructor(defaults) {\n super({ type: \"document\", ...defaults });\n if (!this.nodes) {\n this.nodes = [];\n }\n }\n toResult(opts = {}) {\n let lazy = new LazyResult$4$1(new Processor$3$1(), this, opts);\n return lazy.stringify();\n }\n};\nDocument$3$1.registerLazyResult = (dependant) => {\n LazyResult$4$1 = dependant;\n};\nDocument$3$1.registerProcessor = (dependant) => {\n Processor$3$1 = dependant;\n};\nvar document$1$1 = Document$3$1;\nDocument$3$1.default = Document$3$1;\nlet printed$1 = {};\nvar warnOnce$2$1 = function warnOnce(message) {\n if (printed$1[message]) return;\n printed$1[message] = true;\n if (typeof console !== \"undefined\" && console.warn) {\n console.warn(message);\n }\n};\nlet Warning$2$1 = class Warning {\n constructor(text, opts = {}) {\n this.type = \"warning\";\n this.text = text;\n if (opts.node && opts.node.source) {\n let range = opts.node.rangeBy(opts);\n this.line = range.start.line;\n this.column = range.start.column;\n this.endLine = range.end.line;\n this.endColumn = range.end.column;\n }\n for (let opt in opts) this[opt] = opts[opt];\n }\n toString() {\n if (this.node) {\n return this.node.error(this.text, {\n index: this.index,\n plugin: this.plugin,\n word: this.word\n }).message;\n }\n if (this.plugin) {\n return this.plugin + \": \" + this.text;\n }\n return this.text;\n }\n};\nvar warning$1 = Warning$2$1;\nWarning$2$1.default = Warning$2$1;\nlet Warning$1$1 = warning$1;\nlet Result$3$1 = class Result {\n constructor(processor2, root2, opts) {\n this.processor = processor2;\n this.messages = [];\n this.root = root2;\n this.opts = opts;\n this.css = void 0;\n this.map = void 0;\n }\n toString() {\n return this.css;\n }\n warn(text, opts = {}) {\n if (!opts.plugin) {\n if (this.lastPlugin && this.lastPlugin.postcssPlugin) {\n opts.plugin = this.lastPlugin.postcssPlugin;\n }\n }\n let warning2 = new Warning$1$1(text, opts);\n this.messages.push(warning2);\n return warning2;\n }\n warnings() {\n return this.messages.filter((i2) => i2.type === \"warning\");\n }\n get content() {\n return this.css;\n }\n};\nvar result$1 = Result$3$1;\nResult$3$1.default = Result$3$1;\nconst SINGLE_QUOTE$1 = \"'\".charCodeAt(0);\nconst DOUBLE_QUOTE$1 = '\"'.charCodeAt(0);\nconst BACKSLASH$1 = \"\\\\\".charCodeAt(0);\nconst SLASH$1 = \"/\".charCodeAt(0);\nconst NEWLINE$1 = \"\\n\".charCodeAt(0);\nconst SPACE$1 = \" \".charCodeAt(0);\nconst FEED$1 = \"\\f\".charCodeAt(0);\nconst TAB$1 = \"\t\".charCodeAt(0);\nconst CR$1 = \"\\r\".charCodeAt(0);\nconst OPEN_SQUARE$1 = \"[\".charCodeAt(0);\nconst CLOSE_SQUARE$1 = \"]\".charCodeAt(0);\nconst OPEN_PARENTHESES$1 = \"(\".charCodeAt(0);\nconst CLOSE_PARENTHESES$1 = \")\".charCodeAt(0);\nconst OPEN_CURLY$1 = \"{\".charCodeAt(0);\nconst CLOSE_CURLY$1 = \"}\".charCodeAt(0);\nconst SEMICOLON$1 = \";\".charCodeAt(0);\nconst ASTERISK$1 = \"*\".charCodeAt(0);\nconst COLON$1 = \":\".charCodeAt(0);\nconst AT$1 = \"@\".charCodeAt(0);\nconst RE_AT_END$1 = /[\\t\\n\\f\\r \"#'()/;[\\\\\\]{}]/g;\nconst RE_WORD_END$1 = /[\\t\\n\\f\\r !\"#'():;@[\\\\\\]{}]|\\/(?=\\*)/g;\nconst RE_BAD_BRACKET$1 = /.[\\r\\n\"'(/\\\\]/;\nconst RE_HEX_ESCAPE$1 = /[\\da-f]/i;\nvar tokenize$1 = function tokenizer(input2, options = {}) {\n let css = input2.css.valueOf();\n let ignore = options.ignoreErrors;\n let code, next, quote, content, escape;\n let escaped, escapePos, prev, n2, currentToken;\n let length = css.length;\n let pos = 0;\n let buffer = [];\n let returned = [];\n function position() {\n return pos;\n }\n function unclosed(what) {\n throw input2.error(\"Unclosed \" + what, pos);\n }\n function endOfFile() {\n return returned.length === 0 && pos >= length;\n }\n function nextToken(opts) {\n if (returned.length) return returned.pop();\n if (pos >= length) return;\n let ignoreUnclosed = opts ? opts.ignoreUnclosed : false;\n code = css.charCodeAt(pos);\n switch (code) {\n case NEWLINE$1:\n case SPACE$1:\n case TAB$1:\n case CR$1:\n case FEED$1: {\n next = pos;\n do {\n next += 1;\n code = css.charCodeAt(next);\n } while (code === SPACE$1 || code === NEWLINE$1 || code === TAB$1 || code === CR$1 || code === FEED$1);\n currentToken = [\"space\", css.slice(pos, next)];\n pos = next - 1;\n break;\n }\n case OPEN_SQUARE$1:\n case CLOSE_SQUARE$1:\n case OPEN_CURLY$1:\n case CLOSE_CURLY$1:\n case COLON$1:\n case SEMICOLON$1:\n case CLOSE_PARENTHESES$1: {\n let controlChar = String.fromCharCode(code);\n currentToken = [controlChar, controlChar, pos];\n break;\n }\n case OPEN_PARENTHESES$1: {\n prev = buffer.length ? buffer.pop()[1] : \"\";\n n2 = css.charCodeAt(pos + 1);\n if (prev === \"url\" && n2 !== SINGLE_QUOTE$1 && n2 !== DOUBLE_QUOTE$1 && n2 !== SPACE$1 && n2 !== NEWLINE$1 && n2 !== TAB$1 && n2 !== FEED$1 && n2 !== CR$1) {\n next = pos;\n do {\n escaped = false;\n next = css.indexOf(\")\", next + 1);\n if (next === -1) {\n if (ignore || ignoreUnclosed) {\n next = pos;\n break;\n } else {\n unclosed(\"bracket\");\n }\n }\n escapePos = next;\n while (css.charCodeAt(escapePos - 1) === BACKSLASH$1) {\n escapePos -= 1;\n escaped = !escaped;\n }\n } while (escaped);\n currentToken = [\"brackets\", css.slice(pos, next + 1), pos, next];\n pos = next;\n } else {\n next = css.indexOf(\")\", pos + 1);\n content = css.slice(pos, next + 1);\n if (next === -1 || RE_BAD_BRACKET$1.test(content)) {\n currentToken = [\"(\", \"(\", pos];\n } else {\n currentToken = [\"brackets\", content, pos, next];\n pos = next;\n }\n }\n break;\n }\n case SINGLE_QUOTE$1:\n case DOUBLE_QUOTE$1: {\n quote = code === SINGLE_QUOTE$1 ? \"'\" : '\"';\n next = pos;\n do {\n escaped = false;\n next = css.indexOf(quote, next + 1);\n if (next === -1) {\n if (ignore || ignoreUnclosed) {\n next = pos + 1;\n break;\n } else {\n unclosed(\"string\");\n }\n }\n escapePos = next;\n while (css.charCodeAt(escapePos - 1) === BACKSLASH$1) {\n escapePos -= 1;\n escaped = !escaped;\n }\n } while (escaped);\n currentToken = [\"string\", css.slice(pos, next + 1), pos, next];\n pos = next;\n break;\n }\n case AT$1: {\n RE_AT_END$1.lastIndex = pos + 1;\n RE_AT_END$1.test(css);\n if (RE_AT_END$1.lastIndex === 0) {\n next = css.length - 1;\n } else {\n next = RE_AT_END$1.lastIndex - 2;\n }\n currentToken = [\"at-word\", css.slice(pos, next + 1), pos, next];\n pos = next;\n break;\n }\n case BACKSLASH$1: {\n next = pos;\n escape = true;\n while (css.charCodeAt(next + 1) === BACKSLASH$1) {\n next += 1;\n escape = !escape;\n }\n code = css.charCodeAt(next + 1);\n if (escape && code !== SLASH$1 && code !== SPACE$1 && code !== NEWLINE$1 && code !== TAB$1 && code !== CR$1 && code !== FEED$1) {\n next += 1;\n if (RE_HEX_ESCAPE$1.test(css.charAt(next))) {\n while (RE_HEX_ESCAPE$1.test(css.charAt(next + 1))) {\n next += 1;\n }\n if (css.charCodeAt(next + 1) === SPACE$1) {\n next += 1;\n }\n }\n }\n currentToken = [\"word\", css.slice(pos, next + 1), pos, next];\n pos = next;\n break;\n }\n default: {\n if (code === SLASH$1 && css.charCodeAt(pos + 1) === ASTERISK$1) {\n next = css.indexOf(\"*/\", pos + 2) + 1;\n if (next === 0) {\n if (ignore || ignoreUnclosed) {\n next = css.length;\n } else {\n unclosed(\"comment\");\n }\n }\n currentToken = [\"comment\", css.slice(pos, next + 1), pos, next];\n pos = next;\n } else {\n RE_WORD_END$1.lastIndex = pos + 1;\n RE_WORD_END$1.test(css);\n if (RE_WORD_END$1.lastIndex === 0) {\n next = css.length - 1;\n } else {\n next = RE_WORD_END$1.lastIndex - 2;\n }\n currentToken = [\"word\", css.slice(pos, next + 1), pos, next];\n buffer.push(currentToken);\n pos = next;\n }\n break;\n }\n }\n pos++;\n return currentToken;\n }\n function back(token) {\n returned.push(token);\n }\n return {\n back,\n endOfFile,\n nextToken,\n position\n };\n};\nlet Container$5$1 = container$1;\nlet AtRule$3$1 = class AtRule extends Container$5$1 {\n constructor(defaults) {\n super(defaults);\n this.type = \"atrule\";\n }\n append(...children) {\n if (!this.proxyOf.nodes) this.nodes = [];\n return super.append(...children);\n }\n prepend(...children) {\n if (!this.proxyOf.nodes) this.nodes = [];\n return super.prepend(...children);\n }\n};\nvar atRule$1 = AtRule$3$1;\nAtRule$3$1.default = AtRule$3$1;\nContainer$5$1.registerAtRule(AtRule$3$1);\nlet Container$4$1 = container$1;\nlet LazyResult$3$1, Processor$2$1;\nlet Root$5$1 = class Root extends Container$4$1 {\n constructor(defaults) {\n super(defaults);\n this.type = \"root\";\n if (!this.nodes) this.nodes = [];\n }\n normalize(child, sample, type) {\n let nodes = super.normalize(child);\n if (sample) {\n if (type === \"prepend\") {\n if (this.nodes.length > 1) {\n sample.raws.before = this.nodes[1].raws.before;\n } else {\n delete sample.raws.before;\n }\n } else if (this.first !== sample) {\n for (let node2 of nodes) {\n node2.raws.before = sample.raws.before;\n }\n }\n }\n return nodes;\n }\n removeChild(child, ignore) {\n let index2 = this.index(child);\n if (!ignore && index2 === 0 && this.nodes.length > 1) {\n this.nodes[1].raws.before = this.nodes[index2].raws.before;\n }\n return super.removeChild(child);\n }\n toResult(opts = {}) {\n let lazy = new LazyResult$3$1(new Processor$2$1(), this, opts);\n return lazy.stringify();\n }\n};\nRoot$5$1.registerLazyResult = (dependant) => {\n LazyResult$3$1 = dependant;\n};\nRoot$5$1.registerProcessor = (dependant) => {\n Processor$2$1 = dependant;\n};\nvar root$1 = Root$5$1;\nRoot$5$1.default = Root$5$1;\nContainer$4$1.registerRoot(Root$5$1);\nlet list$2$1 = {\n comma(string) {\n return list$2$1.split(string, [\",\"], true);\n },\n space(string) {\n let spaces = [\" \", \"\\n\", \"\t\"];\n return list$2$1.split(string, spaces);\n },\n split(string, separators, last) {\n let array = [];\n let current = \"\";\n let split = false;\n let func = 0;\n let inQuote = false;\n let prevQuote = \"\";\n let escape = false;\n for (let letter of string) {\n if (escape) {\n escape = false;\n } else if (letter === \"\\\\\") {\n escape = true;\n } else if (inQuote) {\n if (letter === prevQuote) {\n inQuote = false;\n }\n } else if (letter === '\"' || letter === \"'\") {\n inQuote = true;\n prevQuote = letter;\n } else if (letter === \"(\") {\n func += 1;\n } else if (letter === \")\") {\n if (func > 0) func -= 1;\n } else if (func === 0) {\n if (separators.includes(letter)) split = true;\n }\n if (split) {\n if (current !== \"\") array.push(current.trim());\n current = \"\";\n split = false;\n } else {\n current += letter;\n }\n }\n if (last || current !== \"\") array.push(current.trim());\n return array;\n }\n};\nvar list_1$1 = list$2$1;\nlist$2$1.default = list$2$1;\nlet Container$3$1 = container$1;\nlet list$1$1 = list_1$1;\nlet Rule$3$1 = class Rule extends Container$3$1 {\n constructor(defaults) {\n super(defaults);\n this.type = \"rule\";\n if (!this.nodes) this.nodes = [];\n }\n get selectors() {\n return list$1$1.comma(this.selector);\n }\n set selectors(values) {\n let match = this.selector ? this.selector.match(/,\\s*/) : null;\n let sep2 = match ? match[0] : \",\" + this.raw(\"between\", \"beforeOpen\");\n this.selector = values.join(sep2);\n }\n};\nvar rule$1 = Rule$3$1;\nRule$3$1.default = Rule$3$1;\nContainer$3$1.registerRule(Rule$3$1);\nlet Declaration$2$1 = declaration$1;\nlet tokenizer2$1 = tokenize$1;\nlet Comment$2$1 = comment$1;\nlet AtRule$2$1 = atRule$1;\nlet Root$4$1 = root$1;\nlet Rule$2$1 = rule$1;\nconst SAFE_COMMENT_NEIGHBOR$1 = {\n empty: true,\n space: true\n};\nfunction findLastWithPosition$1(tokens) {\n for (let i2 = tokens.length - 1; i2 >= 0; i2--) {\n let token = tokens[i2];\n let pos = token[3] || token[2];\n if (pos) return pos;\n }\n}\nlet Parser$1$1 = class Parser {\n constructor(input2) {\n this.input = input2;\n this.root = new Root$4$1();\n this.current = this.root;\n this.spaces = \"\";\n this.semicolon = false;\n this.createTokenizer();\n this.root.source = { input: input2, start: { column: 1, line: 1, offset: 0 } };\n }\n atrule(token) {\n let node2 = new AtRule$2$1();\n node2.name = token[1].slice(1);\n if (node2.name === \"\") {\n this.unnamedAtrule(node2, token);\n }\n this.init(node2, token[2]);\n let type;\n let prev;\n let shift;\n let last = false;\n let open = false;\n let params = [];\n let brackets = [];\n while (!this.tokenizer.endOfFile()) {\n token = this.tokenizer.nextToken();\n type = token[0];\n if (type === \"(\" || type === \"[\") {\n brackets.push(type === \"(\" ? \")\" : \"]\");\n } else if (type === \"{\" && brackets.length > 0) {\n brackets.push(\"}\");\n } else if (type === brackets[brackets.length - 1]) {\n brackets.pop();\n }\n if (brackets.length === 0) {\n if (type === \";\") {\n node2.source.end = this.getPosition(token[2]);\n node2.source.end.offset++;\n this.semicolon = true;\n break;\n } else if (type === \"{\") {\n open = true;\n break;\n } else if (type === \"}\") {\n if (params.length > 0) {\n shift = params.length - 1;\n prev = params[shift];\n while (prev && prev[0] === \"space\") {\n prev = params[--shift];\n }\n if (prev) {\n node2.source.end = this.getPosition(prev[3] || prev[2]);\n node2.source.end.offset++;\n }\n }\n this.end(token);\n break;\n } else {\n params.push(token);\n }\n } else {\n params.push(token);\n }\n if (this.tokenizer.endOfFile()) {\n last = true;\n break;\n }\n }\n node2.raws.between = this.spacesAndCommentsFromEnd(params);\n if (params.length) {\n node2.raws.afterName = this.spacesAndCommentsFromStart(params);\n this.raw(node2, \"params\", params);\n if (last) {\n token = params[params.length - 1];\n node2.source.end = this.getPosition(token[3] || token[2]);\n node2.source.end.offset++;\n this.spaces = node2.raws.between;\n node2.raws.between = \"\";\n }\n } else {\n node2.raws.afterName = \"\";\n node2.params = \"\";\n }\n if (open) {\n node2.nodes = [];\n this.current = node2;\n }\n }\n checkMissedSemicolon(tokens) {\n let colon = this.colon(tokens);\n if (colon === false) return;\n let founded = 0;\n let token;\n for (let j = colon - 1; j >= 0; j--) {\n token = tokens[j];\n if (token[0] !== \"space\") {\n founded += 1;\n if (founded === 2) break;\n }\n }\n throw this.input.error(\n \"Missed semicolon\",\n token[0] === \"word\" ? token[3] + 1 : token[2]\n );\n }\n colon(tokens) {\n let brackets = 0;\n let token, type, prev;\n for (let [i2, element] of tokens.entries()) {\n token = element;\n type = token[0];\n if (type === \"(\") {\n brackets += 1;\n }\n if (type === \")\") {\n brackets -= 1;\n }\n if (brackets === 0 && type === \":\") {\n if (!prev) {\n this.doubleColon(token);\n } else if (prev[0] === \"word\" && prev[1] === \"progid\") {\n continue;\n } else {\n return i2;\n }\n }\n prev = token;\n }\n return false;\n }\n comment(token) {\n let node2 = new Comment$2$1();\n this.init(node2, token[2]);\n node2.source.end = this.getPosition(token[3] || token[2]);\n node2.source.end.offset++;\n let text = token[1].slice(2, -2);\n if (/^\\s*$/.test(text)) {\n node2.text = \"\";\n node2.raws.left = text;\n node2.raws.right = \"\";\n } else {\n let match = text.match(/^(\\s*)([^]*\\S)(\\s*)$/);\n node2.text = match[2];\n node2.raws.left = match[1];\n node2.raws.right = match[3];\n }\n }\n createTokenizer() {\n this.tokenizer = tokenizer2$1(this.input);\n }\n decl(tokens, customProperty) {\n let node2 = new Declaration$2$1();\n this.init(node2, tokens[0][2]);\n let last = tokens[tokens.length - 1];\n if (last[0] === \";\") {\n this.semicolon = true;\n tokens.pop();\n }\n node2.source.end = this.getPosition(\n last[3] || last[2] || findLastWithPosition$1(tokens)\n );\n node2.source.end.offset++;\n while (tokens[0][0] !== \"word\") {\n if (tokens.length === 1) this.unknownWord(tokens);\n node2.raws.before += tokens.shift()[1];\n }\n node2.source.start = this.getPosition(tokens[0][2]);\n node2.prop = \"\";\n while (tokens.length) {\n let type = tokens[0][0];\n if (type === \":\" || type === \"space\" || type === \"comment\") {\n break;\n }\n node2.prop += tokens.shift()[1];\n }\n node2.raws.between = \"\";\n let token;\n while (tokens.length) {\n token = tokens.shift();\n if (token[0] === \":\") {\n node2.raws.between += token[1];\n break;\n } else {\n if (token[0] === \"word\" && /\\w/.test(token[1])) {\n this.unknownWord([token]);\n }\n node2.raws.between += token[1];\n }\n }\n if (node2.prop[0] === \"_\" || node2.prop[0] === \"*\") {\n node2.raws.before += node2.prop[0];\n node2.prop = node2.prop.slice(1);\n }\n let firstSpaces = [];\n let next;\n while (tokens.length) {\n next = tokens[0][0];\n if (next !== \"space\" && next !== \"comment\") break;\n firstSpaces.push(tokens.shift());\n }\n this.precheckMissedSemicolon(tokens);\n for (let i2 = tokens.length - 1; i2 >= 0; i2--) {\n token = tokens[i2];\n if (token[1].toLowerCase() === \"!important\") {\n node2.important = true;\n let string = this.stringFrom(tokens, i2);\n string = this.spacesFromEnd(tokens) + string;\n if (string !== \" !important\") node2.raws.important = string;\n break;\n } else if (token[1].toLowerCase() === \"important\") {\n let cache = tokens.slice(0);\n let str = \"\";\n for (let j = i2; j > 0; j--) {\n let type = cache[j][0];\n if (str.trim().indexOf(\"!\") === 0 && type !== \"space\") {\n break;\n }\n str = cache.pop()[1] + str;\n }\n if (str.trim().indexOf(\"!\") === 0) {\n node2.important = true;\n node2.raws.important = str;\n tokens = cache;\n }\n }\n if (token[0] !== \"space\" && token[0] !== \"comment\") {\n break;\n }\n }\n let hasWord = tokens.some((i2) => i2[0] !== \"space\" && i2[0] !== \"comment\");\n if (hasWord) {\n node2.raws.between += firstSpaces.map((i2) => i2[1]).join(\"\");\n firstSpaces = [];\n }\n this.raw(node2, \"value\", firstSpaces.concat(tokens), customProperty);\n if (node2.value.includes(\":\") && !customProperty) {\n this.checkMissedSemicolon(tokens);\n }\n }\n doubleColon(token) {\n throw this.input.error(\n \"Double colon\",\n { offset: token[2] },\n { offset: token[2] + token[1].length }\n );\n }\n emptyRule(token) {\n let node2 = new Rule$2$1();\n this.init(node2, token[2]);\n node2.selector = \"\";\n node2.raws.between = \"\";\n this.current = node2;\n }\n end(token) {\n if (this.current.nodes && this.current.nodes.length) {\n this.current.raws.semicolon = this.semicolon;\n }\n this.semicolon = false;\n this.current.raws.after = (this.current.raws.after || \"\") + this.spaces;\n this.spaces = \"\";\n if (this.current.parent) {\n this.current.source.end = this.getPosition(token[2]);\n this.current.source.end.offset++;\n this.current = this.current.parent;\n } else {\n this.unexpectedClose(token);\n }\n }\n endFile() {\n if (this.current.parent) this.unclosedBlock();\n if (this.current.nodes && this.current.nodes.length) {\n this.current.raws.semicolon = this.semicolon;\n }\n this.current.raws.after = (this.current.raws.after || \"\") + this.spaces;\n this.root.source.end = this.getPosition(this.tokenizer.position());\n }\n freeSemicolon(token) {\n this.spaces += token[1];\n if (this.current.nodes) {\n let prev = this.current.nodes[this.current.nodes.length - 1];\n if (prev && prev.type === \"rule\" && !prev.raws.ownSemicolon) {\n prev.raws.ownSemicolon = this.spaces;\n this.spaces = \"\";\n }\n }\n }\n // Helpers\n getPosition(offset) {\n let pos = this.input.fromOffset(offset);\n return {\n column: pos.col,\n line: pos.line,\n offset\n };\n }\n init(node2, offset) {\n this.current.push(node2);\n node2.source = {\n input: this.input,\n start: this.getPosition(offset)\n };\n node2.raws.before = this.spaces;\n this.spaces = \"\";\n if (node2.type !== \"comment\") this.semicolon = false;\n }\n other(start) {\n let end = false;\n let type = null;\n let colon = false;\n let bracket = null;\n let brackets = [];\n let customProperty = start[1].startsWith(\"--\");\n let tokens = [];\n let token = start;\n while (token) {\n type = token[0];\n tokens.push(token);\n if (type === \"(\" || type === \"[\") {\n if (!bracket) bracket = token;\n brackets.push(type === \"(\" ? \")\" : \"]\");\n } else if (customProperty && colon && type === \"{\") {\n if (!bracket) bracket = token;\n brackets.push(\"}\");\n } else if (brackets.length === 0) {\n if (type === \";\") {\n if (colon) {\n this.decl(tokens, customProperty);\n return;\n } else {\n break;\n }\n } else if (type === \"{\") {\n this.rule(tokens);\n return;\n } else if (type === \"}\") {\n this.tokenizer.back(tokens.pop());\n end = true;\n break;\n } else if (type === \":\") {\n colon = true;\n }\n } else if (type === brackets[brackets.length - 1]) {\n brackets.pop();\n if (brackets.length === 0) bracket = null;\n }\n token = this.tokenizer.nextToken();\n }\n if (this.tokenizer.endOfFile()) end = true;\n if (brackets.length > 0) this.unclosedBracket(bracket);\n if (end && colon) {\n if (!customProperty) {\n while (tokens.length) {\n token = tokens[tokens.length - 1][0];\n if (token !== \"space\" && token !== \"comment\") break;\n this.tokenizer.back(tokens.pop());\n }\n }\n this.decl(tokens, customProperty);\n } else {\n this.unknownWord(tokens);\n }\n }\n parse() {\n let token;\n while (!this.tokenizer.endOfFile()) {\n token = this.tokenizer.nextToken();\n switch (token[0]) {\n case \"space\":\n this.spaces += token[1];\n break;\n case \";\":\n this.freeSemicolon(token);\n break;\n case \"}\":\n this.end(token);\n break;\n case \"comment\":\n this.comment(token);\n break;\n case \"at-word\":\n this.atrule(token);\n break;\n case \"{\":\n this.emptyRule(token);\n break;\n default:\n this.other(token);\n break;\n }\n }\n this.endFile();\n }\n precheckMissedSemicolon() {\n }\n raw(node2, prop, tokens, customProperty) {\n let token, type;\n let length = tokens.length;\n let value = \"\";\n let clean = true;\n let next, prev;\n for (let i2 = 0; i2 < length; i2 += 1) {\n token = tokens[i2];\n type = token[0];\n if (type === \"space\" && i2 === length - 1 && !customProperty) {\n clean = false;\n } else if (type === \"comment\") {\n prev = tokens[i2 - 1] ? tokens[i2 - 1][0] : \"empty\";\n next = tokens[i2 + 1] ? tokens[i2 + 1][0] : \"empty\";\n if (!SAFE_COMMENT_NEIGHBOR$1[prev] && !SAFE_COMMENT_NEIGHBOR$1[next]) {\n if (value.slice(-1) === \",\") {\n clean = false;\n } else {\n value += token[1];\n }\n } else {\n clean = false;\n }\n } else {\n value += token[1];\n }\n }\n if (!clean) {\n let raw = tokens.reduce((all, i2) => all + i2[1], \"\");\n node2.raws[prop] = { raw, value };\n }\n node2[prop] = value;\n }\n rule(tokens) {\n tokens.pop();\n let node2 = new Rule$2$1();\n this.init(node2, tokens[0][2]);\n node2.raws.between = this.spacesAndCommentsFromEnd(tokens);\n this.raw(node2, \"selector\", tokens);\n this.current = node2;\n }\n spacesAndCommentsFromEnd(tokens) {\n let lastTokenType;\n let spaces = \"\";\n while (tokens.length) {\n lastTokenType = tokens[tokens.length - 1][0];\n if (lastTokenType !== \"space\" && lastTokenType !== \"comment\") break;\n spaces = tokens.pop()[1] + spaces;\n }\n return spaces;\n }\n // Errors\n spacesAndCommentsFromStart(tokens) {\n let next;\n let spaces = \"\";\n while (tokens.length) {\n next = tokens[0][0];\n if (next !== \"space\" && next !== \"comment\") break;\n spaces += tokens.shift()[1];\n }\n return spaces;\n }\n spacesFromEnd(tokens) {\n let lastTokenType;\n let spaces = \"\";\n while (tokens.length) {\n lastTokenType = tokens[tokens.length - 1][0];\n if (lastTokenType !== \"space\") break;\n spaces = tokens.pop()[1] + spaces;\n }\n return spaces;\n }\n stringFrom(tokens, from) {\n let result2 = \"\";\n for (let i2 = from; i2 < tokens.length; i2++) {\n result2 += tokens[i2][1];\n }\n tokens.splice(from, tokens.length - from);\n return result2;\n }\n unclosedBlock() {\n let pos = this.current.source.start;\n throw this.input.error(\"Unclosed block\", pos.line, pos.column);\n }\n unclosedBracket(bracket) {\n throw this.input.error(\n \"Unclosed bracket\",\n { offset: bracket[2] },\n { offset: bracket[2] + 1 }\n );\n }\n unexpectedClose(token) {\n throw this.input.error(\n \"Unexpected }\",\n { offset: token[2] },\n { offset: token[2] + 1 }\n );\n }\n unknownWord(tokens) {\n throw this.input.error(\n \"Unknown word\",\n { offset: tokens[0][2] },\n { offset: tokens[0][2] + tokens[0][1].length }\n );\n }\n unnamedAtrule(node2, token) {\n throw this.input.error(\n \"At-rule without name\",\n { offset: token[2] },\n { offset: token[2] + token[1].length }\n );\n }\n};\nvar parser$1 = Parser$1$1;\nlet Container$2$1 = container$1;\nlet Parser2$1 = parser$1;\nlet Input$2$1 = input$1;\nfunction parse$3$1(css, opts) {\n let input2 = new Input$2$1(css, opts);\n let parser2 = new Parser2$1(input2);\n try {\n parser2.parse();\n } catch (e2) {\n if (process.env.NODE_ENV !== \"production\") {\n if (e2.name === \"CssSyntaxError\" && opts && opts.from) {\n if (/\\.scss$/i.test(opts.from)) {\n e2.message += \"\\nYou tried to parse SCSS with the standard CSS parser; try again with the postcss-scss parser\";\n } else if (/\\.sass/i.test(opts.from)) {\n e2.message += \"\\nYou tried to parse Sass with the standard CSS parser; try again with the postcss-sass parser\";\n } else if (/\\.less$/i.test(opts.from)) {\n e2.message += \"\\nYou tried to parse Less with the standard CSS parser; try again with the postcss-less parser\";\n }\n }\n }\n throw e2;\n }\n return parser2.root;\n}\nvar parse_1$1 = parse$3$1;\nparse$3$1.default = parse$3$1;\nContainer$2$1.registerParse(parse$3$1);\nlet { isClean: isClean$3, my: my$3 } = symbols$1;\nlet MapGenerator$1$1 = mapGenerator$1;\nlet stringify$2$1 = stringify_1$1;\nlet Container$1$1 = container$1;\nlet Document$2$1 = document$1$1;\nlet warnOnce$1$1 = warnOnce$2$1;\nlet Result$2$1 = result$1;\nlet parse$2$1 = parse_1$1;\nlet Root$3$1 = root$1;\nconst TYPE_TO_CLASS_NAME$1 = {\n atrule: \"AtRule\",\n comment: \"Comment\",\n decl: \"Declaration\",\n document: \"Document\",\n root: \"Root\",\n rule: \"Rule\"\n};\nconst PLUGIN_PROPS$1 = {\n AtRule: true,\n AtRuleExit: true,\n Comment: true,\n CommentExit: true,\n Declaration: true,\n DeclarationExit: true,\n Document: true,\n DocumentExit: true,\n Once: true,\n OnceExit: true,\n postcssPlugin: true,\n prepare: true,\n Root: true,\n RootExit: true,\n Rule: true,\n RuleExit: true\n};\nconst NOT_VISITORS$1 = {\n Once: true,\n postcssPlugin: true,\n prepare: true\n};\nconst CHILDREN$1 = 0;\nfunction isPromise$1(obj) {\n return typeof obj === \"object\" && typeof obj.then === \"function\";\n}\nfunction getEvents$1(node2) {\n let key = false;\n let type = TYPE_TO_CLASS_NAME$1[node2.type];\n if (node2.type === \"decl\") {\n key = node2.prop.toLowerCase();\n } else if (node2.type === \"atrule\") {\n key = node2.name.toLowerCase();\n }\n if (key && node2.append) {\n return [\n type,\n type + \"-\" + key,\n CHILDREN$1,\n type + \"Exit\",\n type + \"Exit-\" + key\n ];\n } else if (key) {\n return [type, type + \"-\" + key, type + \"Exit\", type + \"Exit-\" + key];\n } else if (node2.append) {\n return [type, CHILDREN$1, type + \"Exit\"];\n } else {\n return [type, type + \"Exit\"];\n }\n}\nfunction toStack$1(node2) {\n let events;\n if (node2.type === \"document\") {\n events = [\"Document\", CHILDREN$1, \"DocumentExit\"];\n } else if (node2.type === \"root\") {\n events = [\"Root\", CHILDREN$1, \"RootExit\"];\n } else {\n events = getEvents$1(node2);\n }\n return {\n eventIndex: 0,\n events,\n iterator: 0,\n node: node2,\n visitorIndex: 0,\n visitors: []\n };\n}\nfunction cleanMarks$1(node2) {\n node2[isClean$3] = false;\n if (node2.nodes) node2.nodes.forEach((i2) => cleanMarks$1(i2));\n return node2;\n}\nlet postcss$2$1 = {};\nlet LazyResult$2$1 = class LazyResult {\n constructor(processor2, css, opts) {\n this.stringified = false;\n this.processed = false;\n let root2;\n if (typeof css === \"object\" && css !== null && (css.type === \"root\" || css.type === \"document\")) {\n root2 = cleanMarks$1(css);\n } else if (css instanceof LazyResult || css instanceof Result$2$1) {\n root2 = cleanMarks$1(css.root);\n if (css.map) {\n if (typeof opts.map === \"undefined\") opts.map = {};\n if (!opts.map.inline) opts.map.inline = false;\n opts.map.prev = css.map;\n }\n } else {\n let parser2 = parse$2$1;\n if (opts.syntax) parser2 = opts.syntax.parse;\n if (opts.parser) parser2 = opts.parser;\n if (parser2.parse) parser2 = parser2.parse;\n try {\n root2 = parser2(css, opts);\n } catch (error) {\n this.processed = true;\n this.error = error;\n }\n if (root2 && !root2[my$3]) {\n Container$1$1.rebuild(root2);\n }\n }\n this.result = new Result$2$1(processor2, root2, opts);\n this.helpers = { ...postcss$2$1, postcss: postcss$2$1, result: this.result };\n this.plugins = this.processor.plugins.map((plugin22) => {\n if (typeof plugin22 === \"object\" && plugin22.prepare) {\n return { ...plugin22, ...plugin22.prepare(this.result) };\n } else {\n return plugin22;\n }\n });\n }\n async() {\n if (this.error) return Promise.reject(this.error);\n if (this.processed) return Promise.resolve(this.result);\n if (!this.processing) {\n this.processing = this.runAsync();\n }\n return this.processing;\n }\n catch(onRejected) {\n return this.async().catch(onRejected);\n }\n finally(onFinally) {\n return this.async().then(onFinally, onFinally);\n }\n getAsyncError() {\n throw new Error(\"Use process(css).then(cb) to work with async plugins\");\n }\n handleError(error, node2) {\n let plugin22 = this.result.lastPlugin;\n try {\n if (node2) node2.addToError(error);\n this.error = error;\n if (error.name === \"CssSyntaxError\" && !error.plugin) {\n error.plugin = plugin22.postcssPlugin;\n error.setMessage();\n } else if (plugin22.postcssVersion) {\n if (process.env.NODE_ENV !== \"production\") {\n let pluginName = plugin22.postcssPlugin;\n let pluginVer = plugin22.postcssVersion;\n let runtimeVer = this.result.processor.version;\n let a2 = pluginVer.split(\".\");\n let b = runtimeVer.split(\".\");\n if (a2[0] !== b[0] || parseInt(a2[1]) > parseInt(b[1])) {\n console.error(\n \"Unknown error from PostCSS plugin. Your current PostCSS version is \" + runtimeVer + \", but \" + pluginName + \" uses \" + pluginVer + \". Perhaps this is the source of the error below.\"\n );\n }\n }\n }\n } catch (err) {\n if (console && console.error) console.error(err);\n }\n return error;\n }\n prepareVisitors() {\n this.listeners = {};\n let add = (plugin22, type, cb) => {\n if (!this.listeners[type]) this.listeners[type] = [];\n this.listeners[type].push([plugin22, cb]);\n };\n for (let plugin22 of this.plugins) {\n if (typeof plugin22 === \"object\") {\n for (let event in plugin22) {\n if (!PLUGIN_PROPS$1[event] && /^[A-Z]/.test(event)) {\n throw new Error(\n `Unknown event ${event} in ${plugin22.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`\n );\n }\n if (!NOT_VISITORS$1[event]) {\n if (typeof plugin22[event] === \"object\") {\n for (let filter in plugin22[event]) {\n if (filter === \"*\") {\n add(plugin22, event, plugin22[event][filter]);\n } else {\n add(\n plugin22,\n event + \"-\" + filter.toLowerCase(),\n plugin22[event][filter]\n );\n }\n }\n } else if (typeof plugin22[event] === \"function\") {\n add(plugin22, event, plugin22[event]);\n }\n }\n }\n }\n }\n this.hasListener = Object.keys(this.listeners).length > 0;\n }\n async runAsync() {\n this.plugin = 0;\n for (let i2 = 0; i2 < this.plugins.length; i2++) {\n let plugin22 = this.plugins[i2];\n let promise = this.runOnRoot(plugin22);\n if (isPromise$1(promise)) {\n try {\n await promise;\n } catch (error) {\n throw this.handleError(error);\n }\n }\n }\n this.prepareVisitors();\n if (this.hasListener) {\n let root2 = this.result.root;\n while (!root2[isClean$3]) {\n root2[isClean$3] = true;\n let stack = [toStack$1(root2)];\n while (stack.length > 0) {\n let promise = this.visitTick(stack);\n if (isPromise$1(promise)) {\n try {\n await promise;\n } catch (e2) {\n let node2 = stack[stack.length - 1].node;\n throw this.handleError(e2, node2);\n }\n }\n }\n }\n if (this.listeners.OnceExit) {\n for (let [plugin22, visitor] of this.listeners.OnceExit) {\n this.result.lastPlugin = plugin22;\n try {\n if (root2.type === \"document\") {\n let roots = root2.nodes.map(\n (subRoot) => visitor(subRoot, this.helpers)\n );\n await Promise.all(roots);\n } else {\n await visitor(root2, this.helpers);\n }\n } catch (e2) {\n throw this.handleError(e2);\n }\n }\n }\n }\n this.processed = true;\n return this.stringify();\n }\n runOnRoot(plugin22) {\n this.result.lastPlugin = plugin22;\n try {\n if (typeof plugin22 === \"object\" && plugin22.Once) {\n if (this.result.root.type === \"document\") {\n let roots = this.result.root.nodes.map(\n (root2) => plugin22.Once(root2, this.helpers)\n );\n if (isPromise$1(roots[0])) {\n return Promise.all(roots);\n }\n return roots;\n }\n return plugin22.Once(this.result.root, this.helpers);\n } else if (typeof plugin22 === \"function\") {\n return plugin22(this.result.root, this.result);\n }\n } catch (error) {\n throw this.handleError(error);\n }\n }\n stringify() {\n if (this.error) throw this.error;\n if (this.stringified) return this.result;\n this.stringified = true;\n this.sync();\n let opts = this.result.opts;\n let str = stringify$2$1;\n if (opts.syntax) str = opts.syntax.stringify;\n if (opts.stringifier) str = opts.stringifier;\n if (str.stringify) str = str.stringify;\n let map = new MapGenerator$1$1(str, this.result.root, this.result.opts);\n let data = map.generate();\n this.result.css = data[0];\n this.result.map = data[1];\n return this.result;\n }\n sync() {\n if (this.error) throw this.error;\n if (this.processed) return this.result;\n this.processed = true;\n if (this.processing) {\n throw this.getAsyncError();\n }\n for (let plugin22 of this.plugins) {\n let promise = this.runOnRoot(plugin22);\n if (isPromise$1(promise)) {\n throw this.getAsyncError();\n }\n }\n this.prepareVisitors();\n if (this.hasListener) {\n let root2 = this.result.root;\n while (!root2[isClean$3]) {\n root2[isClean$3] = true;\n this.walkSync(root2);\n }\n if (this.listeners.OnceExit) {\n if (root2.type === \"document\") {\n for (let subRoot of root2.nodes) {\n this.visitSync(this.listeners.OnceExit, subRoot);\n }\n } else {\n this.visitSync(this.listeners.OnceExit, root2);\n }\n }\n }\n return this.result;\n }\n then(onFulfilled, onRejected) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!(\"from\" in this.opts)) {\n warnOnce$1$1(\n \"Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.\"\n );\n }\n }\n return this.async().then(onFulfilled, onRejected);\n }\n toString() {\n return this.css;\n }\n visitSync(visitors, node2) {\n for (let [plugin22, visitor] of visitors) {\n this.result.lastPlugin = plugin22;\n let promise;\n try {\n promise = visitor(node2, this.helpers);\n } catch (e2) {\n throw this.handleError(e2, node2.proxyOf);\n }\n if (node2.type !== \"root\" && node2.type !== \"document\" && !node2.parent) {\n return true;\n }\n if (isPromise$1(promise)) {\n throw this.getAsyncError();\n }\n }\n }\n visitTick(stack) {\n let visit2 = stack[stack.length - 1];\n let { node: node2, visitors } = visit2;\n if (node2.type !== \"root\" && node2.type !== \"document\" && !node2.parent) {\n stack.pop();\n return;\n }\n if (visitors.length > 0 && visit2.visitorIndex < visitors.length) {\n let [plugin22, visitor] = visitors[visit2.visitorIndex];\n visit2.visitorIndex += 1;\n if (visit2.visitorIndex === visitors.length) {\n visit2.visitors = [];\n visit2.visitorIndex = 0;\n }\n this.result.lastPlugin = plugin22;\n try {\n return visitor(node2.toProxy(), this.helpers);\n } catch (e2) {\n throw this.handleError(e2, node2);\n }\n }\n if (visit2.iterator !== 0) {\n let iterator = visit2.iterator;\n let child;\n while (child = node2.nodes[node2.indexes[iterator]]) {\n node2.indexes[iterator] += 1;\n if (!child[isClean$3]) {\n child[isClean$3] = true;\n stack.push(toStack$1(child));\n return;\n }\n }\n visit2.iterator = 0;\n delete node2.indexes[iterator];\n }\n let events = visit2.events;\n while (visit2.eventIndex < events.length) {\n let event = events[visit2.eventIndex];\n visit2.eventIndex += 1;\n if (event === CHILDREN$1) {\n if (node2.nodes && node2.nodes.length) {\n node2[isClean$3] = true;\n visit2.iterator = node2.getIterator();\n }\n return;\n } else if (this.listeners[event]) {\n visit2.visitors = this.listeners[event];\n return;\n }\n }\n stack.pop();\n }\n walkSync(node2) {\n node2[isClean$3] = true;\n let events = getEvents$1(node2);\n for (let event of events) {\n if (event === CHILDREN$1) {\n if (node2.nodes) {\n node2.each((child) => {\n if (!child[isClean$3]) this.walkSync(child);\n });\n }\n } else {\n let visitors = this.listeners[event];\n if (visitors) {\n if (this.visitSync(visitors, node2.toProxy())) return;\n }\n }\n }\n }\n warnings() {\n return this.sync().warnings();\n }\n get content() {\n return this.stringify().content;\n }\n get css() {\n return this.stringify().css;\n }\n get map() {\n return this.stringify().map;\n }\n get messages() {\n return this.sync().messages;\n }\n get opts() {\n return this.result.opts;\n }\n get processor() {\n return this.result.processor;\n }\n get root() {\n return this.sync().root;\n }\n get [Symbol.toStringTag]() {\n return \"LazyResult\";\n }\n};\nLazyResult$2$1.registerPostcss = (dependant) => {\n postcss$2$1 = dependant;\n};\nvar lazyResult$1 = LazyResult$2$1;\nLazyResult$2$1.default = LazyResult$2$1;\nRoot$3$1.registerLazyResult(LazyResult$2$1);\nDocument$2$1.registerLazyResult(LazyResult$2$1);\nlet MapGenerator2$1 = mapGenerator$1;\nlet stringify$1$1 = stringify_1$1;\nlet warnOnce2$1 = warnOnce$2$1;\nlet parse$1$1 = parse_1$1;\nconst Result$1$1 = result$1;\nlet NoWorkResult$1$1 = class NoWorkResult {\n constructor(processor2, css, opts) {\n css = css.toString();\n this.stringified = false;\n this._processor = processor2;\n this._css = css;\n this._opts = opts;\n this._map = void 0;\n let root2;\n let str = stringify$1$1;\n this.result = new Result$1$1(this._processor, root2, this._opts);\n this.result.css = css;\n let self = this;\n Object.defineProperty(this.result, \"root\", {\n get() {\n return self.root;\n }\n });\n let map = new MapGenerator2$1(str, root2, this._opts, css);\n if (map.isMap()) {\n let [generatedCSS, generatedMap] = map.generate();\n if (generatedCSS) {\n this.result.css = generatedCSS;\n }\n if (generatedMap) {\n this.result.map = generatedMap;\n }\n } else {\n map.clearAnnotation();\n this.result.css = map.css;\n }\n }\n async() {\n if (this.error) return Promise.reject(this.error);\n return Promise.resolve(this.result);\n }\n catch(onRejected) {\n return this.async().catch(onRejected);\n }\n finally(onFinally) {\n return this.async().then(onFinally, onFinally);\n }\n sync() {\n if (this.error) throw this.error;\n return this.result;\n }\n then(onFulfilled, onRejected) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!(\"from\" in this._opts)) {\n warnOnce2$1(\n \"Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.\"\n );\n }\n }\n return this.async().then(onFulfilled, onRejected);\n }\n toString() {\n return this._css;\n }\n warnings() {\n return [];\n }\n get content() {\n return this.result.css;\n }\n get css() {\n return this.result.css;\n }\n get map() {\n return this.result.map;\n }\n get messages() {\n return [];\n }\n get opts() {\n return this.result.opts;\n }\n get processor() {\n return this.result.processor;\n }\n get root() {\n if (this._root) {\n return this._root;\n }\n let root2;\n let parser2 = parse$1$1;\n try {\n root2 = parser2(this._css, this._opts);\n } catch (error) {\n this.error = error;\n }\n if (this.error) {\n throw this.error;\n } else {\n this._root = root2;\n return root2;\n }\n }\n get [Symbol.toStringTag]() {\n return \"NoWorkResult\";\n }\n};\nvar noWorkResult$1 = NoWorkResult$1$1;\nNoWorkResult$1$1.default = NoWorkResult$1$1;\nlet NoWorkResult2$1 = noWorkResult$1;\nlet LazyResult$1$1 = lazyResult$1;\nlet Document$1$1 = document$1$1;\nlet Root$2$1 = root$1;\nlet Processor$1$1 = class Processor {\n constructor(plugins = []) {\n this.version = \"8.4.38\";\n this.plugins = this.normalize(plugins);\n }\n normalize(plugins) {\n let normalized = [];\n for (let i2 of plugins) {\n if (i2.postcss === true) {\n i2 = i2();\n } else if (i2.postcss) {\n i2 = i2.postcss;\n }\n if (typeof i2 === \"object\" && Array.isArray(i2.plugins)) {\n normalized = normalized.concat(i2.plugins);\n } else if (typeof i2 === \"object\" && i2.postcssPlugin) {\n normalized.push(i2);\n } else if (typeof i2 === \"function\") {\n normalized.push(i2);\n } else if (typeof i2 === \"object\" && (i2.parse || i2.stringify)) {\n if (process.env.NODE_ENV !== \"production\") {\n throw new Error(\n \"PostCSS syntaxes cannot be used as plugins. Instead, please use one of the syntax/parser/stringifier options as outlined in your PostCSS runner documentation.\"\n );\n }\n } else {\n throw new Error(i2 + \" is not a PostCSS plugin\");\n }\n }\n return normalized;\n }\n process(css, opts = {}) {\n if (!this.plugins.length && !opts.parser && !opts.stringifier && !opts.syntax) {\n return new NoWorkResult2$1(this, css, opts);\n } else {\n return new LazyResult$1$1(this, css, opts);\n }\n }\n use(plugin22) {\n this.plugins = this.plugins.concat(this.normalize([plugin22]));\n return this;\n }\n};\nvar processor$1 = Processor$1$1;\nProcessor$1$1.default = Processor$1$1;\nRoot$2$1.registerProcessor(Processor$1$1);\nDocument$1$1.registerProcessor(Processor$1$1);\nlet Declaration$1$1 = declaration$1;\nlet PreviousMap2$1 = previousMap$1;\nlet Comment$1$1 = comment$1;\nlet AtRule$1$1 = atRule$1;\nlet Input$1$1 = input$1;\nlet Root$1$1 = root$1;\nlet Rule$1$1 = rule$1;\nfunction fromJSON$1$1(json, inputs) {\n if (Array.isArray(json)) return json.map((n2) => fromJSON$1$1(n2));\n let { inputs: ownInputs, ...defaults } = json;\n if (ownInputs) {\n inputs = [];\n for (let input2 of ownInputs) {\n let inputHydrated = { ...input2, __proto__: Input$1$1.prototype };\n if (inputHydrated.map) {\n inputHydrated.map = {\n ...inputHydrated.map,\n __proto__: PreviousMap2$1.prototype\n };\n }\n inputs.push(inputHydrated);\n }\n }\n if (defaults.nodes) {\n defaults.nodes = json.nodes.map((n2) => fromJSON$1$1(n2, inputs));\n }\n if (defaults.source) {\n let { inputId, ...source } = defaults.source;\n defaults.source = source;\n if (inputId != null) {\n defaults.source.input = inputs[inputId];\n }\n }\n if (defaults.type === \"root\") {\n return new Root$1$1(defaults);\n } else if (defaults.type === \"decl\") {\n return new Declaration$1$1(defaults);\n } else if (defaults.type === \"rule\") {\n return new Rule$1$1(defaults);\n } else if (defaults.type === \"comment\") {\n return new Comment$1$1(defaults);\n } else if (defaults.type === \"atrule\") {\n return new AtRule$1$1(defaults);\n } else {\n throw new Error(\"Unknown node type: \" + json.type);\n }\n}\nvar fromJSON_1$1 = fromJSON$1$1;\nfromJSON$1$1.default = fromJSON$1$1;\nlet CssSyntaxError2$1 = cssSyntaxError$1;\nlet Declaration2$1 = declaration$1;\nlet LazyResult2$1 = lazyResult$1;\nlet Container2$1 = container$1;\nlet Processor2$1 = processor$1;\nlet stringify$5 = stringify_1$1;\nlet fromJSON$2 = fromJSON_1$1;\nlet Document22 = document$1$1;\nlet Warning2$1 = warning$1;\nlet Comment2$1 = comment$1;\nlet AtRule2$1 = atRule$1;\nlet Result2$1 = result$1;\nlet Input2$1 = input$1;\nlet parse$5 = parse_1$1;\nlet list$3 = list_1$1;\nlet Rule2$1 = rule$1;\nlet Root2$1 = root$1;\nlet Node2$1 = node$1;\nfunction postcss$3(...plugins) {\n if (plugins.length === 1 && Array.isArray(plugins[0])) {\n plugins = plugins[0];\n }\n return new Processor2$1(plugins);\n}\npostcss$3.plugin = function plugin(name, initializer) {\n let warningPrinted = false;\n function creator(...args) {\n if (console && console.warn && !warningPrinted) {\n warningPrinted = true;\n console.warn(\n name + \": postcss.plugin was deprecated. Migration guide:\\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration\"\n );\n if (process.env.LANG && process.env.LANG.startsWith(\"cn\")) {\n console.warn(\n name + \": 里面 postcss.plugin 被弃用. 迁移指南:\\nhttps://www.w3ctech.com/topic/2226\"\n );\n }\n }\n let transformer = initializer(...args);\n transformer.postcssPlugin = name;\n transformer.postcssVersion = new Processor2$1().version;\n return transformer;\n }\n let cache;\n Object.defineProperty(creator, \"postcss\", {\n get() {\n if (!cache) cache = creator();\n return cache;\n }\n });\n creator.process = function(css, processOpts, pluginOpts) {\n return postcss$3([creator(pluginOpts)]).process(css, processOpts);\n };\n return creator;\n};\npostcss$3.stringify = stringify$5;\npostcss$3.parse = parse$5;\npostcss$3.fromJSON = fromJSON$2;\npostcss$3.list = list$3;\npostcss$3.comment = (defaults) => new Comment2$1(defaults);\npostcss$3.atRule = (defaults) => new AtRule2$1(defaults);\npostcss$3.decl = (defaults) => new Declaration2$1(defaults);\npostcss$3.rule = (defaults) => new Rule2$1(defaults);\npostcss$3.root = (defaults) => new Root2$1(defaults);\npostcss$3.document = (defaults) => new Document22(defaults);\npostcss$3.CssSyntaxError = CssSyntaxError2$1;\npostcss$3.Declaration = Declaration2$1;\npostcss$3.Container = Container2$1;\npostcss$3.Processor = Processor2$1;\npostcss$3.Document = Document22;\npostcss$3.Comment = Comment2$1;\npostcss$3.Warning = Warning2$1;\npostcss$3.AtRule = AtRule2$1;\npostcss$3.Result = Result2$1;\npostcss$3.Input = Input2$1;\npostcss$3.Rule = Rule2$1;\npostcss$3.Root = Root2$1;\npostcss$3.Node = Node2$1;\nLazyResult2$1.registerPostcss(postcss$3);\nvar postcss_1$1 = postcss$3;\npostcss$3.default = postcss$3;\nconst postcss$1$1 = /* @__PURE__ */ getDefaultExportFromCjs$1(postcss_1$1);\npostcss$1$1.stringify;\npostcss$1$1.fromJSON;\npostcss$1$1.plugin;\npostcss$1$1.parse;\npostcss$1$1.list;\npostcss$1$1.document;\npostcss$1$1.comment;\npostcss$1$1.atRule;\npostcss$1$1.rule;\npostcss$1$1.decl;\npostcss$1$1.root;\npostcss$1$1.CssSyntaxError;\npostcss$1$1.Declaration;\npostcss$1$1.Container;\npostcss$1$1.Processor;\npostcss$1$1.Document;\npostcss$1$1.Comment;\npostcss$1$1.Warning;\npostcss$1$1.AtRule;\npostcss$1$1.Result;\npostcss$1$1.Input;\npostcss$1$1.Rule;\npostcss$1$1.Root;\npostcss$1$1.Node;\nvar __defProp2 = Object.defineProperty;\nvar __defNormalProp2 = (obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField2 = (obj, key, value) => __defNormalProp2(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nfunction getDefaultExportFromCjs(x2) {\n return x2 && x2.__esModule && Object.prototype.hasOwnProperty.call(x2, \"default\") ? x2[\"default\"] : x2;\n}\nfunction getAugmentedNamespace(n2) {\n if (n2.__esModule) return n2;\n var f2 = n2.default;\n if (typeof f2 == \"function\") {\n var a2 = function a22() {\n if (this instanceof a22) {\n return Reflect.construct(f2, arguments, this.constructor);\n }\n return f2.apply(this, arguments);\n };\n a2.prototype = f2.prototype;\n } else a2 = {};\n Object.defineProperty(a2, \"__esModule\", { value: true });\n Object.keys(n2).forEach(function(k) {\n var d = Object.getOwnPropertyDescriptor(n2, k);\n Object.defineProperty(a2, k, d.get ? d : {\n enumerable: true,\n get: function() {\n return n2[k];\n }\n });\n });\n return a2;\n}\nvar picocolors_browser = { exports: {} };\nvar x = String;\nvar create = function() {\n return { isColorSupported: false, reset: x, bold: x, dim: x, italic: x, underline: x, inverse: x, hidden: x, strikethrough: x, black: x, red: x, green: x, yellow: x, blue: x, magenta: x, cyan: x, white: x, gray: x, bgBlack: x, bgRed: x, bgGreen: x, bgYellow: x, bgBlue: x, bgMagenta: x, bgCyan: x, bgWhite: x };\n};\npicocolors_browser.exports = create();\npicocolors_browser.exports.createColors = create;\nvar picocolors_browserExports = picocolors_browser.exports;\nconst __viteBrowserExternal = {};\nconst __viteBrowserExternal$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n default: __viteBrowserExternal\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst require$$2 = /* @__PURE__ */ getAugmentedNamespace(__viteBrowserExternal$1);\nlet pico = picocolors_browserExports;\nlet terminalHighlight$1 = require$$2;\nlet CssSyntaxError$3 = class CssSyntaxError2 extends Error {\n constructor(message, line, column, source, file, plugin22) {\n super(message);\n this.name = \"CssSyntaxError\";\n this.reason = message;\n if (file) {\n this.file = file;\n }\n if (source) {\n this.source = source;\n }\n if (plugin22) {\n this.plugin = plugin22;\n }\n if (typeof line !== \"undefined\" && typeof column !== \"undefined\") {\n if (typeof line === \"number\") {\n this.line = line;\n this.column = column;\n } else {\n this.line = line.line;\n this.column = line.column;\n this.endLine = column.line;\n this.endColumn = column.column;\n }\n }\n this.setMessage();\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, CssSyntaxError2);\n }\n }\n setMessage() {\n this.message = this.plugin ? this.plugin + \": \" : \"\";\n this.message += this.file ? this.file : \"<css input>\";\n if (typeof this.line !== \"undefined\") {\n this.message += \":\" + this.line + \":\" + this.column;\n }\n this.message += \": \" + this.reason;\n }\n showSourceCode(color) {\n if (!this.source) return \"\";\n let css = this.source;\n if (color == null) color = pico.isColorSupported;\n if (terminalHighlight$1) {\n if (color) css = terminalHighlight$1(css);\n }\n let lines = css.split(/\\r?\\n/);\n let start = Math.max(this.line - 3, 0);\n let end = Math.min(this.line + 2, lines.length);\n let maxWidth = String(end).length;\n let mark, aside;\n if (color) {\n let { bold, gray, red } = pico.createColors(true);\n mark = (text) => bold(red(text));\n aside = (text) => gray(text);\n } else {\n mark = aside = (str) => str;\n }\n return lines.slice(start, end).map((line, index2) => {\n let number = start + 1 + index2;\n let gutter = \" \" + (\" \" + number).slice(-maxWidth) + \" | \";\n if (number === this.line) {\n let spacing = aside(gutter.replace(/\\d/g, \" \")) + line.slice(0, this.column - 1).replace(/[^\\t]/g, \" \");\n return mark(\">\") + aside(gutter) + line + \"\\n \" + spacing + mark(\"^\");\n }\n return \" \" + aside(gutter) + line;\n }).join(\"\\n\");\n }\n toString() {\n let code = this.showSourceCode();\n if (code) {\n code = \"\\n\\n\" + code + \"\\n\";\n }\n return this.name + \": \" + this.message + code;\n }\n};\nvar cssSyntaxError = CssSyntaxError$3;\nCssSyntaxError$3.default = CssSyntaxError$3;\nvar symbols = {};\nsymbols.isClean = Symbol(\"isClean\");\nsymbols.my = Symbol(\"my\");\nconst DEFAULT_RAW = {\n after: \"\\n\",\n beforeClose: \"\\n\",\n beforeComment: \"\\n\",\n beforeDecl: \"\\n\",\n beforeOpen: \" \",\n beforeRule: \"\\n\",\n colon: \": \",\n commentLeft: \" \",\n commentRight: \" \",\n emptyBody: \"\",\n indent: \" \",\n semicolon: false\n};\nfunction capitalize(str) {\n return str[0].toUpperCase() + str.slice(1);\n}\nlet Stringifier$2 = class Stringifier2 {\n constructor(builder) {\n this.builder = builder;\n }\n atrule(node2, semicolon) {\n let name = \"@\" + node2.name;\n let params = node2.params ? this.rawValue(node2, \"params\") : \"\";\n if (typeof node2.raws.afterName !== \"undefined\") {\n name += node2.raws.afterName;\n } else if (params) {\n name += \" \";\n }\n if (node2.nodes) {\n this.block(node2, name + params);\n } else {\n let end = (node2.raws.between || \"\") + (semicolon ? \";\" : \"\");\n this.builder(name + params + end, node2);\n }\n }\n beforeAfter(node2, detect) {\n let value;\n if (node2.type === \"decl\") {\n value = this.raw(node2, null, \"beforeDecl\");\n } else if (node2.type === \"comment\") {\n value = this.raw(node2, null, \"beforeComment\");\n } else if (detect === \"before\") {\n value = this.raw(node2, null, \"beforeRule\");\n } else {\n value = this.raw(node2, null, \"beforeClose\");\n }\n let buf = node2.parent;\n let depth = 0;\n while (buf && buf.type !== \"root\") {\n depth += 1;\n buf = buf.parent;\n }\n if (value.includes(\"\\n\")) {\n let indent = this.raw(node2, null, \"indent\");\n if (indent.length) {\n for (let step = 0; step < depth; step++) value += indent;\n }\n }\n return value;\n }\n block(node2, start) {\n let between = this.raw(node2, \"between\", \"beforeOpen\");\n this.builder(start + between + \"{\", node2, \"start\");\n let after;\n if (node2.nodes && node2.nodes.length) {\n this.body(node2);\n after = this.raw(node2, \"after\");\n } else {\n after = this.raw(node2, \"after\", \"emptyBody\");\n }\n if (after) this.builder(after);\n this.builder(\"}\", node2, \"end\");\n }\n body(node2) {\n let last = node2.nodes.length - 1;\n while (last > 0) {\n if (node2.nodes[last].type !== \"comment\") break;\n last -= 1;\n }\n let semicolon = this.raw(node2, \"semicolon\");\n for (let i2 = 0; i2 < node2.nodes.length; i2++) {\n let child = node2.nodes[i2];\n let before = this.raw(child, \"before\");\n if (before) this.builder(before);\n this.stringify(child, last !== i2 || semicolon);\n }\n }\n comment(node2) {\n let left = this.raw(node2, \"left\", \"commentLeft\");\n let right = this.raw(node2, \"right\", \"commentRight\");\n this.builder(\"/*\" + left + node2.text + right + \"*/\", node2);\n }\n decl(node2, semicolon) {\n let between = this.raw(node2, \"between\", \"colon\");\n let string = node2.prop + between + this.rawValue(node2, \"value\");\n if (node2.important) {\n string += node2.raws.important || \" !important\";\n }\n if (semicolon) string += \";\";\n this.builder(string, node2);\n }\n document(node2) {\n this.body(node2);\n }\n raw(node2, own, detect) {\n let value;\n if (!detect) detect = own;\n if (own) {\n value = node2.raws[own];\n if (typeof value !== \"undefined\") return value;\n }\n let parent = node2.parent;\n if (detect === \"before\") {\n if (!parent || parent.type === \"root\" && parent.first === node2) {\n return \"\";\n }\n if (parent && parent.type === \"document\") {\n return \"\";\n }\n }\n if (!parent) return DEFAULT_RAW[detect];\n let root2 = node2.root();\n if (!root2.rawCache) root2.rawCache = {};\n if (typeof root2.rawCache[detect] !== \"undefined\") {\n return root2.rawCache[detect];\n }\n if (detect === \"before\" || detect === \"after\") {\n return this.beforeAfter(node2, detect);\n } else {\n let method = \"raw\" + capitalize(detect);\n if (this[method]) {\n value = this[method](root2, node2);\n } else {\n root2.walk((i2) => {\n value = i2.raws[own];\n if (typeof value !== \"undefined\") return false;\n });\n }\n }\n if (typeof value === \"undefined\") value = DEFAULT_RAW[detect];\n root2.rawCache[detect] = value;\n return value;\n }\n rawBeforeClose(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.nodes && i2.nodes.length > 0) {\n if (typeof i2.raws.after !== \"undefined\") {\n value = i2.raws.after;\n if (value.includes(\"\\n\")) {\n value = value.replace(/[^\\n]+$/, \"\");\n }\n return false;\n }\n }\n });\n if (value) value = value.replace(/\\S/g, \"\");\n return value;\n }\n rawBeforeComment(root2, node2) {\n let value;\n root2.walkComments((i2) => {\n if (typeof i2.raws.before !== \"undefined\") {\n value = i2.raws.before;\n if (value.includes(\"\\n\")) {\n value = value.replace(/[^\\n]+$/, \"\");\n }\n return false;\n }\n });\n if (typeof value === \"undefined\") {\n value = this.raw(node2, null, \"beforeDecl\");\n } else if (value) {\n value = value.replace(/\\S/g, \"\");\n }\n return value;\n }\n rawBeforeDecl(root2, node2) {\n let value;\n root2.walkDecls((i2) => {\n if (typeof i2.raws.before !== \"undefined\") {\n value = i2.raws.before;\n if (value.includes(\"\\n\")) {\n value = value.replace(/[^\\n]+$/, \"\");\n }\n return false;\n }\n });\n if (typeof value === \"undefined\") {\n value = this.raw(node2, null, \"beforeRule\");\n } else if (value) {\n value = value.replace(/\\S/g, \"\");\n }\n return value;\n }\n rawBeforeOpen(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.type !== \"decl\") {\n value = i2.raws.between;\n if (typeof value !== \"undefined\") return false;\n }\n });\n return value;\n }\n rawBeforeRule(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.nodes && (i2.parent !== root2 || root2.first !== i2)) {\n if (typeof i2.raws.before !== \"undefined\") {\n value = i2.raws.before;\n if (value.includes(\"\\n\")) {\n value = value.replace(/[^\\n]+$/, \"\");\n }\n return false;\n }\n }\n });\n if (value) value = value.replace(/\\S/g, \"\");\n return value;\n }\n rawColon(root2) {\n let value;\n root2.walkDecls((i2) => {\n if (typeof i2.raws.between !== \"undefined\") {\n value = i2.raws.between.replace(/[^\\s:]/g, \"\");\n return false;\n }\n });\n return value;\n }\n rawEmptyBody(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.nodes && i2.nodes.length === 0) {\n value = i2.raws.after;\n if (typeof value !== \"undefined\") return false;\n }\n });\n return value;\n }\n rawIndent(root2) {\n if (root2.raws.indent) return root2.raws.indent;\n let value;\n root2.walk((i2) => {\n let p = i2.parent;\n if (p && p !== root2 && p.parent && p.parent === root2) {\n if (typeof i2.raws.before !== \"undefined\") {\n let parts = i2.raws.before.split(\"\\n\");\n value = parts[parts.length - 1];\n value = value.replace(/\\S/g, \"\");\n return false;\n }\n }\n });\n return value;\n }\n rawSemicolon(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.nodes && i2.nodes.length && i2.last.type === \"decl\") {\n value = i2.raws.semicolon;\n if (typeof value !== \"undefined\") return false;\n }\n });\n return value;\n }\n rawValue(node2, prop) {\n let value = node2[prop];\n let raw = node2.raws[prop];\n if (raw && raw.value === value) {\n return raw.raw;\n }\n return value;\n }\n root(node2) {\n this.body(node2);\n if (node2.raws.after) this.builder(node2.raws.after);\n }\n rule(node2) {\n this.block(node2, this.rawValue(node2, \"selector\"));\n if (node2.raws.ownSemicolon) {\n this.builder(node2.raws.ownSemicolon, node2, \"end\");\n }\n }\n stringify(node2, semicolon) {\n if (!this[node2.type]) {\n throw new Error(\n \"Unknown AST node type \" + node2.type + \". Maybe you need to change PostCSS stringifier.\"\n );\n }\n this[node2.type](node2, semicolon);\n }\n};\nvar stringifier = Stringifier$2;\nStringifier$2.default = Stringifier$2;\nlet Stringifier$1 = stringifier;\nfunction stringify$4(node2, builder) {\n let str = new Stringifier$1(builder);\n str.stringify(node2);\n}\nvar stringify_1 = stringify$4;\nstringify$4.default = stringify$4;\nlet { isClean: isClean$2, my: my$2 } = symbols;\nlet CssSyntaxError$2 = cssSyntaxError;\nlet Stringifier22 = stringifier;\nlet stringify$3 = stringify_1;\nfunction cloneNode(obj, parent) {\n let cloned = new obj.constructor();\n for (let i2 in obj) {\n if (!Object.prototype.hasOwnProperty.call(obj, i2)) {\n continue;\n }\n if (i2 === \"proxyCache\") continue;\n let value = obj[i2];\n let type = typeof value;\n if (i2 === \"parent\" && type === \"object\") {\n if (parent) cloned[i2] = parent;\n } else if (i2 === \"source\") {\n cloned[i2] = value;\n } else if (Array.isArray(value)) {\n cloned[i2] = value.map((j) => cloneNode(j, cloned));\n } else {\n if (type === \"object\" && value !== null) value = cloneNode(value);\n cloned[i2] = value;\n }\n }\n return cloned;\n}\nlet Node$4 = class Node3 {\n constructor(defaults = {}) {\n this.raws = {};\n this[isClean$2] = false;\n this[my$2] = true;\n for (let name in defaults) {\n if (name === \"nodes\") {\n this.nodes = [];\n for (let node2 of defaults[name]) {\n if (typeof node2.clone === \"function\") {\n this.append(node2.clone());\n } else {\n this.append(node2);\n }\n }\n } else {\n this[name] = defaults[name];\n }\n }\n }\n addToError(error) {\n error.postcssNode = this;\n if (error.stack && this.source && /\\n\\s{4}at /.test(error.stack)) {\n let s2 = this.source;\n error.stack = error.stack.replace(\n /\\n\\s{4}at /,\n `$&${s2.input.from}:${s2.start.line}:${s2.start.column}$&`\n );\n }\n return error;\n }\n after(add) {\n this.parent.insertAfter(this, add);\n return this;\n }\n assign(overrides = {}) {\n for (let name in overrides) {\n this[name] = overrides[name];\n }\n return this;\n }\n before(add) {\n this.parent.insertBefore(this, add);\n return this;\n }\n cleanRaws(keepBetween) {\n delete this.raws.before;\n delete this.raws.after;\n if (!keepBetween) delete this.raws.between;\n }\n clone(overrides = {}) {\n let cloned = cloneNode(this);\n for (let name in overrides) {\n cloned[name] = overrides[name];\n }\n return cloned;\n }\n cloneAfter(overrides = {}) {\n let cloned = this.clone(overrides);\n this.parent.insertAfter(this, cloned);\n return cloned;\n }\n cloneBefore(overrides = {}) {\n let cloned = this.clone(overrides);\n this.parent.insertBefore(this, cloned);\n return cloned;\n }\n error(message, opts = {}) {\n if (this.source) {\n let { end, start } = this.rangeBy(opts);\n return this.source.input.error(\n message,\n { column: start.column, line: start.line },\n { column: end.column, line: end.line },\n opts\n );\n }\n return new CssSyntaxError$2(message);\n }\n getProxyProcessor() {\n return {\n get(node2, prop) {\n if (prop === \"proxyOf\") {\n return node2;\n } else if (prop === \"root\") {\n return () => node2.root().toProxy();\n } else {\n return node2[prop];\n }\n },\n set(node2, prop, value) {\n if (node2[prop] === value) return true;\n node2[prop] = value;\n if (prop === \"prop\" || prop === \"value\" || prop === \"name\" || prop === \"params\" || prop === \"important\" || /* c8 ignore next */\n prop === \"text\") {\n node2.markDirty();\n }\n return true;\n }\n };\n }\n markDirty() {\n if (this[isClean$2]) {\n this[isClean$2] = false;\n let next = this;\n while (next = next.parent) {\n next[isClean$2] = false;\n }\n }\n }\n next() {\n if (!this.parent) return void 0;\n let index2 = this.parent.index(this);\n return this.parent.nodes[index2 + 1];\n }\n positionBy(opts, stringRepresentation) {\n let pos = this.source.start;\n if (opts.index) {\n pos = this.positionInside(opts.index, stringRepresentation);\n } else if (opts.word) {\n stringRepresentation = this.toString();\n let index2 = stringRepresentation.indexOf(opts.word);\n if (index2 !== -1) pos = this.positionInside(index2, stringRepresentation);\n }\n return pos;\n }\n positionInside(index2, stringRepresentation) {\n let string = stringRepresentation || this.toString();\n let column = this.source.start.column;\n let line = this.source.start.line;\n for (let i2 = 0; i2 < index2; i2++) {\n if (string[i2] === \"\\n\") {\n column = 1;\n line += 1;\n } else {\n column += 1;\n }\n }\n return { column, line };\n }\n prev() {\n if (!this.parent) return void 0;\n let index2 = this.parent.index(this);\n return this.parent.nodes[index2 - 1];\n }\n rangeBy(opts) {\n let start = {\n column: this.source.start.column,\n line: this.source.start.line\n };\n let end = this.source.end ? {\n column: this.source.end.column + 1,\n line: this.source.end.line\n } : {\n column: start.column + 1,\n line: start.line\n };\n if (opts.word) {\n let stringRepresentation = this.toString();\n let index2 = stringRepresentation.indexOf(opts.word);\n if (index2 !== -1) {\n start = this.positionInside(index2, stringRepresentation);\n end = this.positionInside(index2 + opts.word.length, stringRepresentation);\n }\n } else {\n if (opts.start) {\n start = {\n column: opts.start.column,\n line: opts.start.line\n };\n } else if (opts.index) {\n start = this.positionInside(opts.index);\n }\n if (opts.end) {\n end = {\n column: opts.end.column,\n line: opts.end.line\n };\n } else if (typeof opts.endIndex === \"number\") {\n end = this.positionInside(opts.endIndex);\n } else if (opts.index) {\n end = this.positionInside(opts.index + 1);\n }\n }\n if (end.line < start.line || end.line === start.line && end.column <= start.column) {\n end = { column: start.column + 1, line: start.line };\n }\n return { end, start };\n }\n raw(prop, defaultType) {\n let str = new Stringifier22();\n return str.raw(this, prop, defaultType);\n }\n remove() {\n if (this.parent) {\n this.parent.removeChild(this);\n }\n this.parent = void 0;\n return this;\n }\n replaceWith(...nodes) {\n if (this.parent) {\n let bookmark = this;\n let foundSelf = false;\n for (let node2 of nodes) {\n if (node2 === this) {\n foundSelf = true;\n } else if (foundSelf) {\n this.parent.insertAfter(bookmark, node2);\n bookmark = node2;\n } else {\n this.parent.insertBefore(bookmark, node2);\n }\n }\n if (!foundSelf) {\n this.remove();\n }\n }\n return this;\n }\n root() {\n let result2 = this;\n while (result2.parent && result2.parent.type !== \"document\") {\n result2 = result2.parent;\n }\n return result2;\n }\n toJSON(_, inputs) {\n let fixed = {};\n let emitInputs = inputs == null;\n inputs = inputs || /* @__PURE__ */ new Map();\n let inputsNextIndex = 0;\n for (let name in this) {\n if (!Object.prototype.hasOwnProperty.call(this, name)) {\n continue;\n }\n if (name === \"parent\" || name === \"proxyCache\") continue;\n let value = this[name];\n if (Array.isArray(value)) {\n fixed[name] = value.map((i2) => {\n if (typeof i2 === \"object\" && i2.toJSON) {\n return i2.toJSON(null, inputs);\n } else {\n return i2;\n }\n });\n } else if (typeof value === \"object\" && value.toJSON) {\n fixed[name] = value.toJSON(null, inputs);\n } else if (name === \"source\") {\n let inputId = inputs.get(value.input);\n if (inputId == null) {\n inputId = inputsNextIndex;\n inputs.set(value.input, inputsNextIndex);\n inputsNextIndex++;\n }\n fixed[name] = {\n end: value.end,\n inputId,\n start: value.start\n };\n } else {\n fixed[name] = value;\n }\n }\n if (emitInputs) {\n fixed.inputs = [...inputs.keys()].map((input2) => input2.toJSON());\n }\n return fixed;\n }\n toProxy() {\n if (!this.proxyCache) {\n this.proxyCache = new Proxy(this, this.getProxyProcessor());\n }\n return this.proxyCache;\n }\n toString(stringifier2 = stringify$3) {\n if (stringifier2.stringify) stringifier2 = stringifier2.stringify;\n let result2 = \"\";\n stringifier2(this, (i2) => {\n result2 += i2;\n });\n return result2;\n }\n warn(result2, text, opts) {\n let data = { node: this };\n for (let i2 in opts) data[i2] = opts[i2];\n return result2.warn(text, data);\n }\n get proxyOf() {\n return this;\n }\n};\nvar node = Node$4;\nNode$4.default = Node$4;\nlet Node$3 = node;\nlet Declaration$4 = class Declaration2 extends Node$3 {\n constructor(defaults) {\n if (defaults && typeof defaults.value !== \"undefined\" && typeof defaults.value !== \"string\") {\n defaults = { ...defaults, value: String(defaults.value) };\n }\n super(defaults);\n this.type = \"decl\";\n }\n get variable() {\n return this.prop.startsWith(\"--\") || this.prop[0] === \"$\";\n }\n};\nvar declaration = Declaration$4;\nDeclaration$4.default = Declaration$4;\nlet urlAlphabet = \"useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict\";\nlet customAlphabet = (alphabet, defaultSize = 21) => {\n return (size = defaultSize) => {\n let id = \"\";\n let i2 = size;\n while (i2--) {\n id += alphabet[Math.random() * alphabet.length | 0];\n }\n return id;\n };\n};\nlet nanoid$1 = (size = 21) => {\n let id = \"\";\n let i2 = size;\n while (i2--) {\n id += urlAlphabet[Math.random() * 64 | 0];\n }\n return id;\n};\nvar nonSecure = { nanoid: nanoid$1, customAlphabet };\nlet { SourceMapConsumer: SourceMapConsumer$2, SourceMapGenerator: SourceMapGenerator$2 } = require$$2;\nlet { existsSync, readFileSync } = require$$2;\nlet { dirname: dirname$1, join } = require$$2;\nfunction fromBase64(str) {\n if (Buffer) {\n return Buffer.from(str, \"base64\").toString();\n } else {\n return window.atob(str);\n }\n}\nlet PreviousMap$2 = class PreviousMap2 {\n constructor(css, opts) {\n if (opts.map === false) return;\n this.loadAnnotation(css);\n this.inline = this.startWith(this.annotation, \"data:\");\n let prev = opts.map ? opts.map.prev : void 0;\n let text = this.loadMap(opts.from, prev);\n if (!this.mapFile && opts.from) {\n this.mapFile = opts.from;\n }\n if (this.mapFile) this.root = dirname$1(this.mapFile);\n if (text) this.text = text;\n }\n consumer() {\n if (!this.consumerCache) {\n this.consumerCache = new SourceMapConsumer$2(this.text);\n }\n return this.consumerCache;\n }\n decodeInline(text) {\n let baseCharsetUri = /^data:application\\/json;charset=utf-?8;base64,/;\n let baseUri = /^data:application\\/json;base64,/;\n let charsetUri = /^data:application\\/json;charset=utf-?8,/;\n let uri = /^data:application\\/json,/;\n if (charsetUri.test(text) || uri.test(text)) {\n return decodeURIComponent(text.substr(RegExp.lastMatch.length));\n }\n if (baseCharsetUri.test(text) || baseUri.test(text)) {\n return fromBase64(text.substr(RegExp.lastMatch.length));\n }\n let encoding = text.match(/data:application\\/json;([^,]+),/)[1];\n throw new Error(\"Unsupported source map encoding \" + encoding);\n }\n getAnnotationURL(sourceMapString) {\n return sourceMapString.replace(/^\\/\\*\\s*# sourceMappingURL=/, \"\").trim();\n }\n isMap(map) {\n if (typeof map !== \"object\") return false;\n return typeof map.mappings === \"string\" || typeof map._mappings === \"string\" || Array.isArray(map.sections);\n }\n loadAnnotation(css) {\n let comments = css.match(/\\/\\*\\s*# sourceMappingURL=/gm);\n if (!comments) return;\n let start = css.lastIndexOf(comments.pop());\n let end = css.indexOf(\"*/\", start);\n if (start > -1 && end > -1) {\n this.annotation = this.getAnnotationURL(css.substring(start, end));\n }\n }\n loadFile(path) {\n this.root = dirname$1(path);\n if (existsSync(path)) {\n this.mapFile = path;\n return readFileSync(path, \"utf-8\").toString().trim();\n }\n }\n loadMap(file, prev) {\n if (prev === false) return false;\n if (prev) {\n if (typeof prev === \"string\") {\n return prev;\n } else if (typeof prev === \"function\") {\n let prevPath = prev(file);\n if (prevPath) {\n let map = this.loadFile(prevPath);\n if (!map) {\n throw new Error(\n \"Unable to load previous source map: \" + prevPath.toString()\n );\n }\n return map;\n }\n } else if (prev instanceof SourceMapConsumer$2) {\n return SourceMapGenerator$2.fromSourceMap(prev).toString();\n } else if (prev instanceof SourceMapGenerator$2) {\n return prev.toString();\n } else if (this.isMap(prev)) {\n return JSON.stringify(prev);\n } else {\n throw new Error(\n \"Unsupported previous source map format: \" + prev.toString()\n );\n }\n } else if (this.inline) {\n return this.decodeInline(this.annotation);\n } else if (this.annotation) {\n let map = this.annotation;\n if (file) map = join(dirname$1(file), map);\n return this.loadFile(map);\n }\n }\n startWith(string, start) {\n if (!string) return false;\n return string.substr(0, start.length) === start;\n }\n withContent() {\n return !!(this.consumer().sourcesContent && this.consumer().sourcesContent.length > 0);\n }\n};\nvar previousMap = PreviousMap$2;\nPreviousMap$2.default = PreviousMap$2;\nlet { SourceMapConsumer: SourceMapConsumer$1, SourceMapGenerator: SourceMapGenerator$1 } = require$$2;\nlet { fileURLToPath, pathToFileURL: pathToFileURL$1 } = require$$2;\nlet { isAbsolute, resolve: resolve$1 } = require$$2;\nlet { nanoid } = nonSecure;\nlet terminalHighlight = require$$2;\nlet CssSyntaxError$1 = cssSyntaxError;\nlet PreviousMap$1 = previousMap;\nlet fromOffsetCache = Symbol(\"fromOffsetCache\");\nlet sourceMapAvailable$1 = Boolean(SourceMapConsumer$1 && SourceMapGenerator$1);\nlet pathAvailable$1 = Boolean(resolve$1 && isAbsolute);\nlet Input$4 = class Input2 {\n constructor(css, opts = {}) {\n if (css === null || typeof css === \"undefined\" || typeof css === \"object\" && !css.toString) {\n throw new Error(`PostCSS received ${css} instead of CSS string`);\n }\n this.css = css.toString();\n if (this.css[0] === \"\\uFEFF\" || this.css[0] === \"￾\") {\n this.hasBOM = true;\n this.css = this.css.slice(1);\n } else {\n this.hasBOM = false;\n }\n if (opts.from) {\n if (!pathAvailable$1 || /^\\w+:\\/\\//.test(opts.from) || isAbsolute(opts.from)) {\n this.file = opts.from;\n } else {\n this.file = resolve$1(opts.from);\n }\n }\n if (pathAvailable$1 && sourceMapAvailable$1) {\n let map = new PreviousMap$1(this.css, opts);\n if (map.text) {\n this.map = map;\n let file = map.consumer().file;\n if (!this.file && file) this.file = this.mapResolve(file);\n }\n }\n if (!this.file) {\n this.id = \"<input css \" + nanoid(6) + \">\";\n }\n if (this.map) this.map.file = this.from;\n }\n error(message, line, column, opts = {}) {\n let result2, endLine, endColumn;\n if (line && typeof line === \"object\") {\n let start = line;\n let end = column;\n if (typeof start.offset === \"number\") {\n let pos = this.fromOffset(start.offset);\n line = pos.line;\n column = pos.col;\n } else {\n line = start.line;\n column = start.column;\n }\n if (typeof end.offset === \"number\") {\n let pos = this.fromOffset(end.offset);\n endLine = pos.line;\n endColumn = pos.col;\n } else {\n endLine = end.line;\n endColumn = end.column;\n }\n } else if (!column) {\n let pos = this.fromOffset(line);\n line = pos.line;\n column = pos.col;\n }\n let origin = this.origin(line, column, endLine, endColumn);\n if (origin) {\n result2 = new CssSyntaxError$1(\n message,\n origin.endLine === void 0 ? origin.line : { column: origin.column, line: origin.line },\n origin.endLine === void 0 ? origin.column : { column: origin.endColumn, line: origin.endLine },\n origin.source,\n origin.file,\n opts.plugin\n );\n } else {\n result2 = new CssSyntaxError$1(\n message,\n endLine === void 0 ? line : { column, line },\n endLine === void 0 ? column : { column: endColumn, line: endLine },\n this.css,\n this.file,\n opts.plugin\n );\n }\n result2.input = { column, endColumn, endLine, line, source: this.css };\n if (this.file) {\n if (pathToFileURL$1) {\n result2.input.url = pathToFileURL$1(this.file).toString();\n }\n result2.input.file = this.file;\n }\n return result2;\n }\n fromOffset(offset) {\n let lastLine, lineToIndex;\n if (!this[fromOffsetCache]) {\n let lines = this.css.split(\"\\n\");\n lineToIndex = new Array(lines.length);\n let prevIndex = 0;\n for (let i2 = 0, l2 = lines.length; i2 < l2; i2++) {\n lineToIndex[i2] = prevIndex;\n prevIndex += lines[i2].length + 1;\n }\n this[fromOffsetCache] = lineToIndex;\n } else {\n lineToIndex = this[fromOffsetCache];\n }\n lastLine = lineToIndex[lineToIndex.length - 1];\n let min = 0;\n if (offset >= lastLine) {\n min = lineToIndex.length - 1;\n } else {\n let max = lineToIndex.length - 2;\n let mid;\n while (min < max) {\n mid = min + (max - min >> 1);\n if (offset < lineToIndex[mid]) {\n max = mid - 1;\n } else if (offset >= lineToIndex[mid + 1]) {\n min = mid + 1;\n } else {\n min = mid;\n break;\n }\n }\n }\n return {\n col: offset - lineToIndex[min] + 1,\n line: min + 1\n };\n }\n mapResolve(file) {\n if (/^\\w+:\\/\\//.test(file)) {\n return file;\n }\n return resolve$1(this.map.consumer().sourceRoot || this.map.root || \".\", file);\n }\n origin(line, column, endLine, endColumn) {\n if (!this.map) return false;\n let consumer = this.map.consumer();\n let from = consumer.originalPositionFor({ column, line });\n if (!from.source) return false;\n let to;\n if (typeof endLine === \"number\") {\n to = consumer.originalPositionFor({ column: endColumn, line: endLine });\n }\n let fromUrl;\n if (isAbsolute(from.source)) {\n fromUrl = pathToFileURL$1(from.source);\n } else {\n fromUrl = new URL(\n from.source,\n this.map.consumer().sourceRoot || pathToFileURL$1(this.map.mapFile)\n );\n }\n let result2 = {\n column: from.column,\n endColumn: to && to.column,\n endLine: to && to.line,\n line: from.line,\n url: fromUrl.toString()\n };\n if (fromUrl.protocol === \"file:\") {\n if (fileURLToPath) {\n result2.file = fileURLToPath(fromUrl);\n } else {\n throw new Error(`file: protocol is not available in this PostCSS build`);\n }\n }\n let source = consumer.sourceContentFor(from.source);\n if (source) result2.source = source;\n return result2;\n }\n toJSON() {\n let json = {};\n for (let name of [\"hasBOM\", \"css\", \"file\", \"id\"]) {\n if (this[name] != null) {\n json[name] = this[name];\n }\n }\n if (this.map) {\n json.map = { ...this.map };\n if (json.map.consumerCache) {\n json.map.consumerCache = void 0;\n }\n }\n return json;\n }\n get from() {\n return this.file || this.id;\n }\n};\nvar input = Input$4;\nInput$4.default = Input$4;\nif (terminalHighlight && terminalHighlight.registerInput) {\n terminalHighlight.registerInput(Input$4);\n}\nlet { SourceMapConsumer, SourceMapGenerator } = require$$2;\nlet { dirname, relative, resolve, sep } = require$$2;\nlet { pathToFileURL } = require$$2;\nlet Input$3 = input;\nlet sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator);\nlet pathAvailable = Boolean(dirname && resolve && relative && sep);\nlet MapGenerator$2 = class MapGenerator2 {\n constructor(stringify2, root2, opts, cssString) {\n this.stringify = stringify2;\n this.mapOpts = opts.map || {};\n this.root = root2;\n this.opts = opts;\n this.css = cssString;\n this.originalCSS = cssString;\n this.usesFileUrls = !this.mapOpts.from && this.mapOpts.absolute;\n this.memoizedFileURLs = /* @__PURE__ */ new Map();\n this.memoizedPaths = /* @__PURE__ */ new Map();\n this.memoizedURLs = /* @__PURE__ */ new Map();\n }\n addAnnotation() {\n let content;\n if (this.isInline()) {\n content = \"data:application/json;base64,\" + this.toBase64(this.map.toString());\n } else if (typeof this.mapOpts.annotation === \"string\") {\n content = this.mapOpts.annotation;\n } else if (typeof this.mapOpts.annotation === \"function\") {\n content = this.mapOpts.annotation(this.opts.to, this.root);\n } else {\n content = this.outputFile() + \".map\";\n }\n let eol = \"\\n\";\n if (this.css.includes(\"\\r\\n\")) eol = \"\\r\\n\";\n this.css += eol + \"/*# sourceMappingURL=\" + content + \" */\";\n }\n applyPrevMaps() {\n for (let prev of this.previous()) {\n let from = this.toUrl(this.path(prev.file));\n let root2 = prev.root || dirname(prev.file);\n let map;\n if (this.mapOpts.sourcesContent === false) {\n map = new SourceMapConsumer(prev.text);\n if (map.sourcesContent) {\n map.sourcesContent = null;\n }\n } else {\n map = prev.consumer();\n }\n this.map.applySourceMap(map, from, this.toUrl(this.path(root2)));\n }\n }\n clearAnnotation() {\n if (this.mapOpts.annotation === false) return;\n if (this.root) {\n let node2;\n for (let i2 = this.root.nodes.length - 1; i2 >= 0; i2--) {\n node2 = this.root.nodes[i2];\n if (node2.type !== \"comment\") continue;\n if (node2.text.indexOf(\"# sourceMappingURL=\") === 0) {\n this.root.removeChild(i2);\n }\n }\n } else if (this.css) {\n this.css = this.css.replace(/\\n*?\\/\\*#[\\S\\s]*?\\*\\/$/gm, \"\");\n }\n }\n generate() {\n this.clearAnnotation();\n if (pathAvailable && sourceMapAvailable && this.isMap()) {\n return this.generateMap();\n } else {\n let result2 = \"\";\n this.stringify(this.root, (i2) => {\n result2 += i2;\n });\n return [result2];\n }\n }\n generateMap() {\n if (this.root) {\n this.generateString();\n } else if (this.previous().length === 1) {\n let prev = this.previous()[0].consumer();\n prev.file = this.outputFile();\n this.map = SourceMapGenerator.fromSourceMap(prev, {\n ignoreInvalidMapping: true\n });\n } else {\n this.map = new SourceMapGenerator({\n file: this.outputFile(),\n ignoreInvalidMapping: true\n });\n this.map.addMapping({\n generated: { column: 0, line: 1 },\n original: { column: 0, line: 1 },\n source: this.opts.from ? this.toUrl(this.path(this.opts.from)) : \"<no source>\"\n });\n }\n if (this.isSourcesContent()) this.setSourcesContent();\n if (this.root && this.previous().length > 0) this.applyPrevMaps();\n if (this.isAnnotation()) this.addAnnotation();\n if (this.isInline()) {\n return [this.css];\n } else {\n return [this.css, this.map];\n }\n }\n generateString() {\n this.css = \"\";\n this.map = new SourceMapGenerator({\n file: this.outputFile(),\n ignoreInvalidMapping: true\n });\n let line = 1;\n let column = 1;\n let noSource = \"<no source>\";\n let mapping = {\n generated: { column: 0, line: 0 },\n original: { column: 0, line: 0 },\n source: \"\"\n };\n let lines, last;\n this.stringify(this.root, (str, node2, type) => {\n this.css += str;\n if (node2 && type !== \"end\") {\n mapping.generated.line = line;\n mapping.generated.column = column - 1;\n if (node2.source && node2.source.start) {\n mapping.source = this.sourcePath(node2);\n mapping.original.line = node2.source.start.line;\n mapping.original.column = node2.source.start.column - 1;\n this.map.addMapping(mapping);\n } else {\n mapping.source = noSource;\n mapping.original.line = 1;\n mapping.original.column = 0;\n this.map.addMapping(mapping);\n }\n }\n lines = str.match(/\\n/g);\n if (lines) {\n line += lines.length;\n last = str.lastIndexOf(\"\\n\");\n column = str.length - last;\n } else {\n column += str.length;\n }\n if (node2 && type !== \"start\") {\n let p = node2.parent || { raws: {} };\n let childless = node2.type === \"decl\" || node2.type === \"atrule\" && !node2.nodes;\n if (!childless || node2 !== p.last || p.raws.semicolon) {\n if (node2.source && node2.source.end) {\n mapping.source = this.sourcePath(node2);\n mapping.original.line = node2.source.end.line;\n mapping.original.column = node2.source.end.column - 1;\n mapping.generated.line = line;\n mapping.generated.column = column - 2;\n this.map.addMapping(mapping);\n } else {\n mapping.source = noSource;\n mapping.original.line = 1;\n mapping.original.column = 0;\n mapping.generated.line = line;\n mapping.generated.column = column - 1;\n this.map.addMapping(mapping);\n }\n }\n }\n });\n }\n isAnnotation() {\n if (this.isInline()) {\n return true;\n }\n if (typeof this.mapOpts.annotation !== \"undefined\") {\n return this.mapOpts.annotation;\n }\n if (this.previous().length) {\n return this.previous().some((i2) => i2.annotation);\n }\n return true;\n }\n isInline() {\n if (typeof this.mapOpts.inline !== \"undefined\") {\n return this.mapOpts.inline;\n }\n let annotation = this.mapOpts.annotation;\n if (typeof annotation !== \"undefined\" && annotation !== true) {\n return false;\n }\n if (this.previous().length) {\n return this.previous().some((i2) => i2.inline);\n }\n return true;\n }\n isMap() {\n if (typeof this.opts.map !== \"undefined\") {\n return !!this.opts.map;\n }\n return this.previous().length > 0;\n }\n isSourcesContent() {\n if (typeof this.mapOpts.sourcesContent !== \"undefined\") {\n return this.mapOpts.sourcesContent;\n }\n if (this.previous().length) {\n return this.previous().some((i2) => i2.withContent());\n }\n return true;\n }\n outputFile() {\n if (this.opts.to) {\n return this.path(this.opts.to);\n } else if (this.opts.from) {\n return this.path(this.opts.from);\n } else {\n return \"to.css\";\n }\n }\n path(file) {\n if (this.mapOpts.absolute) return file;\n if (file.charCodeAt(0) === 60) return file;\n if (/^\\w+:\\/\\//.test(file)) return file;\n let cached = this.memoizedPaths.get(file);\n if (cached) return cached;\n let from = this.opts.to ? dirname(this.opts.to) : \".\";\n if (typeof this.mapOpts.annotation === \"string\") {\n from = dirname(resolve(from, this.mapOpts.annotation));\n }\n let path = relative(from, file);\n this.memoizedPaths.set(file, path);\n return path;\n }\n previous() {\n if (!this.previousMaps) {\n this.previousMaps = [];\n if (this.root) {\n this.root.walk((node2) => {\n if (node2.source && node2.source.input.map) {\n let map = node2.source.input.map;\n if (!this.previousMaps.includes(map)) {\n this.previousMaps.push(map);\n }\n }\n });\n } else {\n let input2 = new Input$3(this.originalCSS, this.opts);\n if (input2.map) this.previousMaps.push(input2.map);\n }\n }\n return this.previousMaps;\n }\n setSourcesContent() {\n let already = {};\n if (this.root) {\n this.root.walk((node2) => {\n if (node2.source) {\n let from = node2.source.input.from;\n if (from && !already[from]) {\n already[from] = true;\n let fromUrl = this.usesFileUrls ? this.toFileUrl(from) : this.toUrl(this.path(from));\n this.map.setSourceContent(fromUrl, node2.source.input.css);\n }\n }\n });\n } else if (this.css) {\n let from = this.opts.from ? this.toUrl(this.path(this.opts.from)) : \"<no source>\";\n this.map.setSourceContent(from, this.css);\n }\n }\n sourcePath(node2) {\n if (this.mapOpts.from) {\n return this.toUrl(this.mapOpts.from);\n } else if (this.usesFileUrls) {\n return this.toFileUrl(node2.source.input.from);\n } else {\n return this.toUrl(this.path(node2.source.input.from));\n }\n }\n toBase64(str) {\n if (Buffer) {\n return Buffer.from(str).toString(\"base64\");\n } else {\n return window.btoa(unescape(encodeURIComponent(str)));\n }\n }\n toFileUrl(path) {\n let cached = this.memoizedFileURLs.get(path);\n if (cached) return cached;\n if (pathToFileURL) {\n let fileURL = pathToFileURL(path).toString();\n this.memoizedFileURLs.set(path, fileURL);\n return fileURL;\n } else {\n throw new Error(\n \"`map.absolute` option is not available in this PostCSS build\"\n );\n }\n }\n toUrl(path) {\n let cached = this.memoizedURLs.get(path);\n if (cached) return cached;\n if (sep === \"\\\\\") {\n path = path.replace(/\\\\/g, \"/\");\n }\n let url = encodeURI(path).replace(/[#?]/g, encodeURIComponent);\n this.memoizedURLs.set(path, url);\n return url;\n }\n};\nvar mapGenerator = MapGenerator$2;\nlet Node$2 = node;\nlet Comment$4 = class Comment2 extends Node$2 {\n constructor(defaults) {\n super(defaults);\n this.type = \"comment\";\n }\n};\nvar comment = Comment$4;\nComment$4.default = Comment$4;\nlet { isClean: isClean$1, my: my$1 } = symbols;\nlet Declaration$3 = declaration;\nlet Comment$3 = comment;\nlet Node$1 = node;\nlet parse$4, Rule$4, AtRule$4, Root$6;\nfunction cleanSource(nodes) {\n return nodes.map((i2) => {\n if (i2.nodes) i2.nodes = cleanSource(i2.nodes);\n delete i2.source;\n return i2;\n });\n}\nfunction markDirtyUp(node2) {\n node2[isClean$1] = false;\n if (node2.proxyOf.nodes) {\n for (let i2 of node2.proxyOf.nodes) {\n markDirtyUp(i2);\n }\n }\n}\nlet Container$7 = class Container2 extends Node$1 {\n append(...children) {\n for (let child of children) {\n let nodes = this.normalize(child, this.last);\n for (let node2 of nodes) this.proxyOf.nodes.push(node2);\n }\n this.markDirty();\n return this;\n }\n cleanRaws(keepBetween) {\n super.cleanRaws(keepBetween);\n if (this.nodes) {\n for (let node2 of this.nodes) node2.cleanRaws(keepBetween);\n }\n }\n each(callback) {\n if (!this.proxyOf.nodes) return void 0;\n let iterator = this.getIterator();\n let index2, result2;\n while (this.indexes[iterator] < this.proxyOf.nodes.length) {\n index2 = this.indexes[iterator];\n result2 = callback(this.proxyOf.nodes[index2], index2);\n if (result2 === false) break;\n this.indexes[iterator] += 1;\n }\n delete this.indexes[iterator];\n return result2;\n }\n every(condition) {\n return this.nodes.every(condition);\n }\n getIterator() {\n if (!this.lastEach) this.lastEach = 0;\n if (!this.indexes) this.indexes = {};\n this.lastEach += 1;\n let iterator = this.lastEach;\n this.indexes[iterator] = 0;\n return iterator;\n }\n getProxyProcessor() {\n return {\n get(node2, prop) {\n if (prop === \"proxyOf\") {\n return node2;\n } else if (!node2[prop]) {\n return node2[prop];\n } else if (prop === \"each\" || typeof prop === \"string\" && prop.startsWith(\"walk\")) {\n return (...args) => {\n return node2[prop](\n ...args.map((i2) => {\n if (typeof i2 === \"function\") {\n return (child, index2) => i2(child.toProxy(), index2);\n } else {\n return i2;\n }\n })\n );\n };\n } else if (prop === \"every\" || prop === \"some\") {\n return (cb) => {\n return node2[prop](\n (child, ...other) => cb(child.toProxy(), ...other)\n );\n };\n } else if (prop === \"root\") {\n return () => node2.root().toProxy();\n } else if (prop === \"nodes\") {\n return node2.nodes.map((i2) => i2.toProxy());\n } else if (prop === \"first\" || prop === \"last\") {\n return node2[prop].toProxy();\n } else {\n return node2[prop];\n }\n },\n set(node2, prop, value) {\n if (node2[prop] === value) return true;\n node2[prop] = value;\n if (prop === \"name\" || prop === \"params\" || prop === \"selector\") {\n node2.markDirty();\n }\n return true;\n }\n };\n }\n index(child) {\n if (typeof child === \"number\") return child;\n if (child.proxyOf) child = child.proxyOf;\n return this.proxyOf.nodes.indexOf(child);\n }\n insertAfter(exist, add) {\n let existIndex = this.index(exist);\n let nodes = this.normalize(add, this.proxyOf.nodes[existIndex]).reverse();\n existIndex = this.index(exist);\n for (let node2 of nodes) this.proxyOf.nodes.splice(existIndex + 1, 0, node2);\n let index2;\n for (let id in this.indexes) {\n index2 = this.indexes[id];\n if (existIndex < index2) {\n this.indexes[id] = index2 + nodes.length;\n }\n }\n this.markDirty();\n return this;\n }\n insertBefore(exist, add) {\n let existIndex = this.index(exist);\n let type = existIndex === 0 ? \"prepend\" : false;\n let nodes = this.normalize(add, this.proxyOf.nodes[existIndex], type).reverse();\n existIndex = this.index(exist);\n for (let node2 of nodes) this.proxyOf.nodes.splice(existIndex, 0, node2);\n let index2;\n for (let id in this.indexes) {\n index2 = this.indexes[id];\n if (existIndex <= index2) {\n this.indexes[id] = index2 + nodes.length;\n }\n }\n this.markDirty();\n return this;\n }\n normalize(nodes, sample) {\n if (typeof nodes === \"string\") {\n nodes = cleanSource(parse$4(nodes).nodes);\n } else if (typeof nodes === \"undefined\") {\n nodes = [];\n } else if (Array.isArray(nodes)) {\n nodes = nodes.slice(0);\n for (let i2 of nodes) {\n if (i2.parent) i2.parent.removeChild(i2, \"ignore\");\n }\n } else if (nodes.type === \"root\" && this.type !== \"document\") {\n nodes = nodes.nodes.slice(0);\n for (let i2 of nodes) {\n if (i2.parent) i2.parent.removeChild(i2, \"ignore\");\n }\n } else if (nodes.type) {\n nodes = [nodes];\n } else if (nodes.prop) {\n if (typeof nodes.value === \"undefined\") {\n throw new Error(\"Value field is missed in node creation\");\n } else if (typeof nodes.value !== \"string\") {\n nodes.value = String(nodes.value);\n }\n nodes = [new Declaration$3(nodes)];\n } else if (nodes.selector) {\n nodes = [new Rule$4(nodes)];\n } else if (nodes.name) {\n nodes = [new AtRule$4(nodes)];\n } else if (nodes.text) {\n nodes = [new Comment$3(nodes)];\n } else {\n throw new Error(\"Unknown node type in node creation\");\n }\n let processed = nodes.map((i2) => {\n if (!i2[my$1]) Container2.rebuild(i2);\n i2 = i2.proxyOf;\n if (i2.parent) i2.parent.removeChild(i2);\n if (i2[isClean$1]) markDirtyUp(i2);\n if (typeof i2.raws.before === \"undefined\") {\n if (sample && typeof sample.raws.before !== \"undefined\") {\n i2.raws.before = sample.raws.before.replace(/\\S/g, \"\");\n }\n }\n i2.parent = this.proxyOf;\n return i2;\n });\n return processed;\n }\n prepend(...children) {\n children = children.reverse();\n for (let child of children) {\n let nodes = this.normalize(child, this.first, \"prepend\").reverse();\n for (let node2 of nodes) this.proxyOf.nodes.unshift(node2);\n for (let id in this.indexes) {\n this.indexes[id] = this.indexes[id] + nodes.length;\n }\n }\n this.markDirty();\n return this;\n }\n push(child) {\n child.parent = this;\n this.proxyOf.nodes.push(child);\n return this;\n }\n removeAll() {\n for (let node2 of this.proxyOf.nodes) node2.parent = void 0;\n this.proxyOf.nodes = [];\n this.markDirty();\n return this;\n }\n removeChild(child) {\n child = this.index(child);\n this.proxyOf.nodes[child].parent = void 0;\n this.proxyOf.nodes.splice(child, 1);\n let index2;\n for (let id in this.indexes) {\n index2 = this.indexes[id];\n if (index2 >= child) {\n this.indexes[id] = index2 - 1;\n }\n }\n this.markDirty();\n return this;\n }\n replaceValues(pattern, opts, callback) {\n if (!callback) {\n callback = opts;\n opts = {};\n }\n this.walkDecls((decl) => {\n if (opts.props && !opts.props.includes(decl.prop)) return;\n if (opts.fast && !decl.value.includes(opts.fast)) return;\n decl.value = decl.value.replace(pattern, callback);\n });\n this.markDirty();\n return this;\n }\n some(condition) {\n return this.nodes.some(condition);\n }\n walk(callback) {\n return this.each((child, i2) => {\n let result2;\n try {\n result2 = callback(child, i2);\n } catch (e2) {\n throw child.addToError(e2);\n }\n if (result2 !== false && child.walk) {\n result2 = child.walk(callback);\n }\n return result2;\n });\n }\n walkAtRules(name, callback) {\n if (!callback) {\n callback = name;\n return this.walk((child, i2) => {\n if (child.type === \"atrule\") {\n return callback(child, i2);\n }\n });\n }\n if (name instanceof RegExp) {\n return this.walk((child, i2) => {\n if (child.type === \"atrule\" && name.test(child.name)) {\n return callback(child, i2);\n }\n });\n }\n return this.walk((child, i2) => {\n if (child.type === \"atrule\" && child.name === name) {\n return callback(child, i2);\n }\n });\n }\n walkComments(callback) {\n return this.walk((child, i2) => {\n if (child.type === \"comment\") {\n return callback(child, i2);\n }\n });\n }\n walkDecls(prop, callback) {\n if (!callback) {\n callback = prop;\n return this.walk((child, i2) => {\n if (child.type === \"decl\") {\n return callback(child, i2);\n }\n });\n }\n if (prop instanceof RegExp) {\n return this.walk((child, i2) => {\n if (child.type === \"decl\" && prop.test(child.prop)) {\n return callback(child, i2);\n }\n });\n }\n return this.walk((child, i2) => {\n if (child.type === \"decl\" && child.prop === prop) {\n return callback(child, i2);\n }\n });\n }\n walkRules(selector, callback) {\n if (!callback) {\n callback = selector;\n return this.walk((child, i2) => {\n if (child.type === \"rule\") {\n return callback(child, i2);\n }\n });\n }\n if (selector instanceof RegExp) {\n return this.walk((child, i2) => {\n if (child.type === \"rule\" && selector.test(child.selector)) {\n return callback(child, i2);\n }\n });\n }\n return this.walk((child, i2) => {\n if (child.type === \"rule\" && child.selector === selector) {\n return callback(child, i2);\n }\n });\n }\n get first() {\n if (!this.proxyOf.nodes) return void 0;\n return this.proxyOf.nodes[0];\n }\n get last() {\n if (!this.proxyOf.nodes) return void 0;\n return this.proxyOf.nodes[this.proxyOf.nodes.length - 1];\n }\n};\nContainer$7.registerParse = (dependant) => {\n parse$4 = dependant;\n};\nContainer$7.registerRule = (dependant) => {\n Rule$4 = dependant;\n};\nContainer$7.registerAtRule = (dependant) => {\n AtRule$4 = dependant;\n};\nContainer$7.registerRoot = (dependant) => {\n Root$6 = dependant;\n};\nvar container = Container$7;\nContainer$7.default = Container$7;\nContainer$7.rebuild = (node2) => {\n if (node2.type === \"atrule\") {\n Object.setPrototypeOf(node2, AtRule$4.prototype);\n } else if (node2.type === \"rule\") {\n Object.setPrototypeOf(node2, Rule$4.prototype);\n } else if (node2.type === \"decl\") {\n Object.setPrototypeOf(node2, Declaration$3.prototype);\n } else if (node2.type === \"comment\") {\n Object.setPrototypeOf(node2, Comment$3.prototype);\n } else if (node2.type === \"root\") {\n Object.setPrototypeOf(node2, Root$6.prototype);\n }\n node2[my$1] = true;\n if (node2.nodes) {\n node2.nodes.forEach((child) => {\n Container$7.rebuild(child);\n });\n }\n};\nlet Container$6 = container;\nlet LazyResult$4, Processor$3;\nlet Document$3 = class Document23 extends Container$6 {\n constructor(defaults) {\n super({ type: \"document\", ...defaults });\n if (!this.nodes) {\n this.nodes = [];\n }\n }\n toResult(opts = {}) {\n let lazy = new LazyResult$4(new Processor$3(), this, opts);\n return lazy.stringify();\n }\n};\nDocument$3.registerLazyResult = (dependant) => {\n LazyResult$4 = dependant;\n};\nDocument$3.registerProcessor = (dependant) => {\n Processor$3 = dependant;\n};\nvar document$1 = Document$3;\nDocument$3.default = Document$3;\nlet printed = {};\nvar warnOnce$2 = function warnOnce2(message) {\n if (printed[message]) return;\n printed[message] = true;\n if (typeof console !== \"undefined\" && console.warn) {\n console.warn(message);\n }\n};\nlet Warning$2 = class Warning2 {\n constructor(text, opts = {}) {\n this.type = \"warning\";\n this.text = text;\n if (opts.node && opts.node.source) {\n let range = opts.node.rangeBy(opts);\n this.line = range.start.line;\n this.column = range.start.column;\n this.endLine = range.end.line;\n this.endColumn = range.end.column;\n }\n for (let opt in opts) this[opt] = opts[opt];\n }\n toString() {\n if (this.node) {\n return this.node.error(this.text, {\n index: this.index,\n plugin: this.plugin,\n word: this.word\n }).message;\n }\n if (this.plugin) {\n return this.plugin + \": \" + this.text;\n }\n return this.text;\n }\n};\nvar warning = Warning$2;\nWarning$2.default = Warning$2;\nlet Warning$1 = warning;\nlet Result$3 = class Result2 {\n constructor(processor2, root2, opts) {\n this.processor = processor2;\n this.messages = [];\n this.root = root2;\n this.opts = opts;\n this.css = void 0;\n this.map = void 0;\n }\n toString() {\n return this.css;\n }\n warn(text, opts = {}) {\n if (!opts.plugin) {\n if (this.lastPlugin && this.lastPlugin.postcssPlugin) {\n opts.plugin = this.lastPlugin.postcssPlugin;\n }\n }\n let warning2 = new Warning$1(text, opts);\n this.messages.push(warning2);\n return warning2;\n }\n warnings() {\n return this.messages.filter((i2) => i2.type === \"warning\");\n }\n get content() {\n return this.css;\n }\n};\nvar result = Result$3;\nResult$3.default = Result$3;\nconst SINGLE_QUOTE = \"'\".charCodeAt(0);\nconst DOUBLE_QUOTE = '\"'.charCodeAt(0);\nconst BACKSLASH = \"\\\\\".charCodeAt(0);\nconst SLASH = \"/\".charCodeAt(0);\nconst NEWLINE = \"\\n\".charCodeAt(0);\nconst SPACE = \" \".charCodeAt(0);\nconst FEED = \"\\f\".charCodeAt(0);\nconst TAB = \"\t\".charCodeAt(0);\nconst CR = \"\\r\".charCodeAt(0);\nconst OPEN_SQUARE = \"[\".charCodeAt(0);\nconst CLOSE_SQUARE = \"]\".charCodeAt(0);\nconst OPEN_PARENTHESES = \"(\".charCodeAt(0);\nconst CLOSE_PARENTHESES = \")\".charCodeAt(0);\nconst OPEN_CURLY = \"{\".charCodeAt(0);\nconst CLOSE_CURLY = \"}\".charCodeAt(0);\nconst SEMICOLON = \";\".charCodeAt(0);\nconst ASTERISK = \"*\".charCodeAt(0);\nconst COLON = \":\".charCodeAt(0);\nconst AT = \"@\".charCodeAt(0);\nconst RE_AT_END = /[\\t\\n\\f\\r \"#'()/;[\\\\\\]{}]/g;\nconst RE_WORD_END = /[\\t\\n\\f\\r !\"#'():;@[\\\\\\]{}]|\\/(?=\\*)/g;\nconst RE_BAD_BRACKET = /.[\\r\\n\"'(/\\\\]/;\nconst RE_HEX_ESCAPE = /[\\da-f]/i;\nvar tokenize = function tokenizer2(input2, options = {}) {\n let css = input2.css.valueOf();\n let ignore = options.ignoreErrors;\n let code, next, quote, content, escape;\n let escaped, escapePos, prev, n2, currentToken;\n let length = css.length;\n let pos = 0;\n let buffer = [];\n let returned = [];\n function position() {\n return pos;\n }\n function unclosed(what) {\n throw input2.error(\"Unclosed \" + what, pos);\n }\n function endOfFile() {\n return returned.length === 0 && pos >= length;\n }\n function nextToken(opts) {\n if (returned.length) return returned.pop();\n if (pos >= length) return;\n let ignoreUnclosed = opts ? opts.ignoreUnclosed : false;\n code = css.charCodeAt(pos);\n switch (code) {\n case NEWLINE:\n case SPACE:\n case TAB:\n case CR:\n case FEED: {\n next = pos;\n do {\n next += 1;\n code = css.charCodeAt(next);\n } while (code === SPACE || code === NEWLINE || code === TAB || code === CR || code === FEED);\n currentToken = [\"space\", css.slice(pos, next)];\n pos = next - 1;\n break;\n }\n case OPEN_SQUARE:\n case CLOSE_SQUARE:\n case OPEN_CURLY:\n case CLOSE_CURLY:\n case COLON:\n case SEMICOLON:\n case CLOSE_PARENTHESES: {\n let controlChar = String.fromCharCode(code);\n currentToken = [controlChar, controlChar, pos];\n break;\n }\n case OPEN_PARENTHESES: {\n prev = buffer.length ? buffer.pop()[1] : \"\";\n n2 = css.charCodeAt(pos + 1);\n if (prev === \"url\" && n2 !== SINGLE_QUOTE && n2 !== DOUBLE_QUOTE && n2 !== SPACE && n2 !== NEWLINE && n2 !== TAB && n2 !== FEED && n2 !== CR) {\n next = pos;\n do {\n escaped = false;\n next = css.indexOf(\")\", next + 1);\n if (next === -1) {\n if (ignore || ignoreUnclosed) {\n next = pos;\n break;\n } else {\n unclosed(\"bracket\");\n }\n }\n escapePos = next;\n while (css.charCodeAt(escapePos - 1) === BACKSLASH) {\n escapePos -= 1;\n escaped = !escaped;\n }\n } while (escaped);\n currentToken = [\"brackets\", css.slice(pos, next + 1), pos, next];\n pos = next;\n } else {\n next = css.indexOf(\")\", pos + 1);\n content = css.slice(pos, next + 1);\n if (next === -1 || RE_BAD_BRACKET.test(content)) {\n currentToken = [\"(\", \"(\", pos];\n } else {\n currentToken = [\"brackets\", content, pos, next];\n pos = next;\n }\n }\n break;\n }\n case SINGLE_QUOTE:\n case DOUBLE_QUOTE: {\n quote = code === SINGLE_QUOTE ? \"'\" : '\"';\n next = pos;\n do {\n escaped = false;\n next = css.indexOf(quote, next + 1);\n if (next === -1) {\n if (ignore || ignoreUnclosed) {\n next = pos + 1;\n break;\n } else {\n unclosed(\"string\");\n }\n }\n escapePos = next;\n while (css.charCodeAt(escapePos - 1) === BACKSLASH) {\n escapePos -= 1;\n escaped = !escaped;\n }\n } while (escaped);\n currentToken = [\"string\", css.slice(pos, next + 1), pos, next];\n pos = next;\n break;\n }\n case AT: {\n RE_AT_END.lastIndex = pos + 1;\n RE_AT_END.test(css);\n if (RE_AT_END.lastIndex === 0) {\n next = css.length - 1;\n } else {\n next = RE_AT_END.lastIndex - 2;\n }\n currentToken = [\"at-word\", css.slice(pos, next + 1), pos, next];\n pos = next;\n break;\n }\n case BACKSLASH: {\n next = pos;\n escape = true;\n while (css.charCodeAt(next + 1) === BACKSLASH) {\n next += 1;\n escape = !escape;\n }\n code = css.charCodeAt(next + 1);\n if (escape && code !== SLASH && code !== SPACE && code !== NEWLINE && code !== TAB && code !== CR && code !== FEED) {\n next += 1;\n if (RE_HEX_ESCAPE.test(css.charAt(next))) {\n while (RE_HEX_ESCAPE.test(css.charAt(next + 1))) {\n next += 1;\n }\n if (css.charCodeAt(next + 1) === SPACE) {\n next += 1;\n }\n }\n }\n currentToken = [\"word\", css.slice(pos, next + 1), pos, next];\n pos = next;\n break;\n }\n default: {\n if (code === SLASH && css.charCodeAt(pos + 1) === ASTERISK) {\n next = css.indexOf(\"*/\", pos + 2) + 1;\n if (next === 0) {\n if (ignore || ignoreUnclosed) {\n next = css.length;\n } else {\n unclosed(\"comment\");\n }\n }\n currentToken = [\"comment\", css.slice(pos, next + 1), pos, next];\n pos = next;\n } else {\n RE_WORD_END.lastIndex = pos + 1;\n RE_WORD_END.test(css);\n if (RE_WORD_END.lastIndex === 0) {\n next = css.length - 1;\n } else {\n next = RE_WORD_END.lastIndex - 2;\n }\n currentToken = [\"word\", css.slice(pos, next + 1), pos, next];\n buffer.push(currentToken);\n pos = next;\n }\n break;\n }\n }\n pos++;\n return currentToken;\n }\n function back(token) {\n returned.push(token);\n }\n return {\n back,\n endOfFile,\n nextToken,\n position\n };\n};\nlet Container$5 = container;\nlet AtRule$3 = class AtRule2 extends Container$5 {\n constructor(defaults) {\n super(defaults);\n this.type = \"atrule\";\n }\n append(...children) {\n if (!this.proxyOf.nodes) this.nodes = [];\n return super.append(...children);\n }\n prepend(...children) {\n if (!this.proxyOf.nodes) this.nodes = [];\n return super.prepend(...children);\n }\n};\nvar atRule = AtRule$3;\nAtRule$3.default = AtRule$3;\nContainer$5.registerAtRule(AtRule$3);\nlet Container$4 = container;\nlet LazyResult$3, Processor$2;\nlet Root$5 = class Root2 extends Container$4 {\n constructor(defaults) {\n super(defaults);\n this.type = \"root\";\n if (!this.nodes) this.nodes = [];\n }\n normalize(child, sample, type) {\n let nodes = super.normalize(child);\n if (sample) {\n if (type === \"prepend\") {\n if (this.nodes.length > 1) {\n sample.raws.before = this.nodes[1].raws.before;\n } else {\n delete sample.raws.before;\n }\n } else if (this.first !== sample) {\n for (let node2 of nodes) {\n node2.raws.before = sample.raws.before;\n }\n }\n }\n return nodes;\n }\n removeChild(child, ignore) {\n let index2 = this.index(child);\n if (!ignore && index2 === 0 && this.nodes.length > 1) {\n this.nodes[1].raws.before = this.nodes[index2].raws.before;\n }\n return super.removeChild(child);\n }\n toResult(opts = {}) {\n let lazy = new LazyResult$3(new Processor$2(), this, opts);\n return lazy.stringify();\n }\n};\nRoot$5.registerLazyResult = (dependant) => {\n LazyResult$3 = dependant;\n};\nRoot$5.registerProcessor = (dependant) => {\n Processor$2 = dependant;\n};\nvar root = Root$5;\nRoot$5.default = Root$5;\nContainer$4.registerRoot(Root$5);\nlet list$2 = {\n comma(string) {\n return list$2.split(string, [\",\"], true);\n },\n space(string) {\n let spaces = [\" \", \"\\n\", \"\t\"];\n return list$2.split(string, spaces);\n },\n split(string, separators, last) {\n let array = [];\n let current = \"\";\n let split = false;\n let func = 0;\n let inQuote = false;\n let prevQuote = \"\";\n let escape = false;\n for (let letter of string) {\n if (escape) {\n escape = false;\n } else if (letter === \"\\\\\") {\n escape = true;\n } else if (inQuote) {\n if (letter === prevQuote) {\n inQuote = false;\n }\n } else if (letter === '\"' || letter === \"'\") {\n inQuote = true;\n prevQuote = letter;\n } else if (letter === \"(\") {\n func += 1;\n } else if (letter === \")\") {\n if (func > 0) func -= 1;\n } else if (func === 0) {\n if (separators.includes(letter)) split = true;\n }\n if (split) {\n if (current !== \"\") array.push(current.trim());\n current = \"\";\n split = false;\n } else {\n current += letter;\n }\n }\n if (last || current !== \"\") array.push(current.trim());\n return array;\n }\n};\nvar list_1 = list$2;\nlist$2.default = list$2;\nlet Container$3 = container;\nlet list$1 = list_1;\nlet Rule$3 = class Rule2 extends Container$3 {\n constructor(defaults) {\n super(defaults);\n this.type = \"rule\";\n if (!this.nodes) this.nodes = [];\n }\n get selectors() {\n return list$1.comma(this.selector);\n }\n set selectors(values) {\n let match = this.selector ? this.selector.match(/,\\s*/) : null;\n let sep2 = match ? match[0] : \",\" + this.raw(\"between\", \"beforeOpen\");\n this.selector = values.join(sep2);\n }\n};\nvar rule = Rule$3;\nRule$3.default = Rule$3;\nContainer$3.registerRule(Rule$3);\nlet Declaration$2 = declaration;\nlet tokenizer22 = tokenize;\nlet Comment$2 = comment;\nlet AtRule$2 = atRule;\nlet Root$4 = root;\nlet Rule$2 = rule;\nconst SAFE_COMMENT_NEIGHBOR = {\n empty: true,\n space: true\n};\nfunction findLastWithPosition(tokens) {\n for (let i2 = tokens.length - 1; i2 >= 0; i2--) {\n let token = tokens[i2];\n let pos = token[3] || token[2];\n if (pos) return pos;\n }\n}\nlet Parser$1 = class Parser2 {\n constructor(input2) {\n this.input = input2;\n this.root = new Root$4();\n this.current = this.root;\n this.spaces = \"\";\n this.semicolon = false;\n this.createTokenizer();\n this.root.source = { input: input2, start: { column: 1, line: 1, offset: 0 } };\n }\n atrule(token) {\n let node2 = new AtRule$2();\n node2.name = token[1].slice(1);\n if (node2.name === \"\") {\n this.unnamedAtrule(node2, token);\n }\n this.init(node2, token[2]);\n let type;\n let prev;\n let shift;\n let last = false;\n let open = false;\n let params = [];\n let brackets = [];\n while (!this.tokenizer.endOfFile()) {\n token = this.tokenizer.nextToken();\n type = token[0];\n if (type === \"(\" || type === \"[\") {\n brackets.push(type === \"(\" ? \")\" : \"]\");\n } else if (type === \"{\" && brackets.length > 0) {\n brackets.push(\"}\");\n } else if (type === brackets[brackets.length - 1]) {\n brackets.pop();\n }\n if (brackets.length === 0) {\n if (type === \";\") {\n node2.source.end = this.getPosition(token[2]);\n node2.source.end.offset++;\n this.semicolon = true;\n break;\n } else if (type === \"{\") {\n open = true;\n break;\n } else if (type === \"}\") {\n if (params.length > 0) {\n shift = params.length - 1;\n prev = params[shift];\n while (prev && prev[0] === \"space\") {\n prev = params[--shift];\n }\n if (prev) {\n node2.source.end = this.getPosition(prev[3] || prev[2]);\n node2.source.end.offset++;\n }\n }\n this.end(token);\n break;\n } else {\n params.push(token);\n }\n } else {\n params.push(token);\n }\n if (this.tokenizer.endOfFile()) {\n last = true;\n break;\n }\n }\n node2.raws.between = this.spacesAndCommentsFromEnd(params);\n if (params.length) {\n node2.raws.afterName = this.spacesAndCommentsFromStart(params);\n this.raw(node2, \"params\", params);\n if (last) {\n token = params[params.length - 1];\n node2.source.end = this.getPosition(token[3] || token[2]);\n node2.source.end.offset++;\n this.spaces = node2.raws.between;\n node2.raws.between = \"\";\n }\n } else {\n node2.raws.afterName = \"\";\n node2.params = \"\";\n }\n if (open) {\n node2.nodes = [];\n this.current = node2;\n }\n }\n checkMissedSemicolon(tokens) {\n let colon = this.colon(tokens);\n if (colon === false) return;\n let founded = 0;\n let token;\n for (let j = colon - 1; j >= 0; j--) {\n token = tokens[j];\n if (token[0] !== \"space\") {\n founded += 1;\n if (founded === 2) break;\n }\n }\n throw this.input.error(\n \"Missed semicolon\",\n token[0] === \"word\" ? token[3] + 1 : token[2]\n );\n }\n colon(tokens) {\n let brackets = 0;\n let token, type, prev;\n for (let [i2, element] of tokens.entries()) {\n token = element;\n type = token[0];\n if (type === \"(\") {\n brackets += 1;\n }\n if (type === \")\") {\n brackets -= 1;\n }\n if (brackets === 0 && type === \":\") {\n if (!prev) {\n this.doubleColon(token);\n } else if (prev[0] === \"word\" && prev[1] === \"progid\") {\n continue;\n } else {\n return i2;\n }\n }\n prev = token;\n }\n return false;\n }\n comment(token) {\n let node2 = new Comment$2();\n this.init(node2, token[2]);\n node2.source.end = this.getPosition(token[3] || token[2]);\n node2.source.end.offset++;\n let text = token[1].slice(2, -2);\n if (/^\\s*$/.test(text)) {\n node2.text = \"\";\n node2.raws.left = text;\n node2.raws.right = \"\";\n } else {\n let match = text.match(/^(\\s*)([^]*\\S)(\\s*)$/);\n node2.text = match[2];\n node2.raws.left = match[1];\n node2.raws.right = match[3];\n }\n }\n createTokenizer() {\n this.tokenizer = tokenizer22(this.input);\n }\n decl(tokens, customProperty) {\n let node2 = new Declaration$2();\n this.init(node2, tokens[0][2]);\n let last = tokens[tokens.length - 1];\n if (last[0] === \";\") {\n this.semicolon = true;\n tokens.pop();\n }\n node2.source.end = this.getPosition(\n last[3] || last[2] || findLastWithPosition(tokens)\n );\n node2.source.end.offset++;\n while (tokens[0][0] !== \"word\") {\n if (tokens.length === 1) this.unknownWord(tokens);\n node2.raws.before += tokens.shift()[1];\n }\n node2.source.start = this.getPosition(tokens[0][2]);\n node2.prop = \"\";\n while (tokens.length) {\n let type = tokens[0][0];\n if (type === \":\" || type === \"space\" || type === \"comment\") {\n break;\n }\n node2.prop += tokens.shift()[1];\n }\n node2.raws.between = \"\";\n let token;\n while (tokens.length) {\n token = tokens.shift();\n if (token[0] === \":\") {\n node2.raws.between += token[1];\n break;\n } else {\n if (token[0] === \"word\" && /\\w/.test(token[1])) {\n this.unknownWord([token]);\n }\n node2.raws.between += token[1];\n }\n }\n if (node2.prop[0] === \"_\" || node2.prop[0] === \"*\") {\n node2.raws.before += node2.prop[0];\n node2.prop = node2.prop.slice(1);\n }\n let firstSpaces = [];\n let next;\n while (tokens.length) {\n next = tokens[0][0];\n if (next !== \"space\" && next !== \"comment\") break;\n firstSpaces.push(tokens.shift());\n }\n this.precheckMissedSemicolon(tokens);\n for (let i2 = tokens.length - 1; i2 >= 0; i2--) {\n token = tokens[i2];\n if (token[1].toLowerCase() === \"!important\") {\n node2.important = true;\n let string = this.stringFrom(tokens, i2);\n string = this.spacesFromEnd(tokens) + string;\n if (string !== \" !important\") node2.raws.important = string;\n break;\n } else if (token[1].toLowerCase() === \"important\") {\n let cache = tokens.slice(0);\n let str = \"\";\n for (let j = i2; j > 0; j--) {\n let type = cache[j][0];\n if (str.trim().indexOf(\"!\") === 0 && type !== \"space\") {\n break;\n }\n str = cache.pop()[1] + str;\n }\n if (str.trim().indexOf(\"!\") === 0) {\n node2.important = true;\n node2.raws.important = str;\n tokens = cache;\n }\n }\n if (token[0] !== \"space\" && token[0] !== \"comment\") {\n break;\n }\n }\n let hasWord = tokens.some((i2) => i2[0] !== \"space\" && i2[0] !== \"comment\");\n if (hasWord) {\n node2.raws.between += firstSpaces.map((i2) => i2[1]).join(\"\");\n firstSpaces = [];\n }\n this.raw(node2, \"value\", firstSpaces.concat(tokens), customProperty);\n if (node2.value.includes(\":\") && !customProperty) {\n this.checkMissedSemicolon(tokens);\n }\n }\n doubleColon(token) {\n throw this.input.error(\n \"Double colon\",\n { offset: token[2] },\n { offset: token[2] + token[1].length }\n );\n }\n emptyRule(token) {\n let node2 = new Rule$2();\n this.init(node2, token[2]);\n node2.selector = \"\";\n node2.raws.between = \"\";\n this.current = node2;\n }\n end(token) {\n if (this.current.nodes && this.current.nodes.length) {\n this.current.raws.semicolon = this.semicolon;\n }\n this.semicolon = false;\n this.current.raws.after = (this.current.raws.after || \"\") + this.spaces;\n this.spaces = \"\";\n if (this.current.parent) {\n this.current.source.end = this.getPosition(token[2]);\n this.current.source.end.offset++;\n this.current = this.current.parent;\n } else {\n this.unexpectedClose(token);\n }\n }\n endFile() {\n if (this.current.parent) this.unclosedBlock();\n if (this.current.nodes && this.current.nodes.length) {\n this.current.raws.semicolon = this.semicolon;\n }\n this.current.raws.after = (this.current.raws.after || \"\") + this.spaces;\n this.root.source.end = this.getPosition(this.tokenizer.position());\n }\n freeSemicolon(token) {\n this.spaces += token[1];\n if (this.current.nodes) {\n let prev = this.current.nodes[this.current.nodes.length - 1];\n if (prev && prev.type === \"rule\" && !prev.raws.ownSemicolon) {\n prev.raws.ownSemicolon = this.spaces;\n this.spaces = \"\";\n }\n }\n }\n // Helpers\n getPosition(offset) {\n let pos = this.input.fromOffset(offset);\n return {\n column: pos.col,\n line: pos.line,\n offset\n };\n }\n init(node2, offset) {\n this.current.push(node2);\n node2.source = {\n input: this.input,\n start: this.getPosition(offset)\n };\n node2.raws.before = this.spaces;\n this.spaces = \"\";\n if (node2.type !== \"comment\") this.semicolon = false;\n }\n other(start) {\n let end = false;\n let type = null;\n let colon = false;\n let bracket = null;\n let brackets = [];\n let customProperty = start[1].startsWith(\"--\");\n let tokens = [];\n let token = start;\n while (token) {\n type = token[0];\n tokens.push(token);\n if (type === \"(\" || type === \"[\") {\n if (!bracket) bracket = token;\n brackets.push(type === \"(\" ? \")\" : \"]\");\n } else if (customProperty && colon && type === \"{\") {\n if (!bracket) bracket = token;\n brackets.push(\"}\");\n } else if (brackets.length === 0) {\n if (type === \";\") {\n if (colon) {\n this.decl(tokens, customProperty);\n return;\n } else {\n break;\n }\n } else if (type === \"{\") {\n this.rule(tokens);\n return;\n } else if (type === \"}\") {\n this.tokenizer.back(tokens.pop());\n end = true;\n break;\n } else if (type === \":\") {\n colon = true;\n }\n } else if (type === brackets[brackets.length - 1]) {\n brackets.pop();\n if (brackets.length === 0) bracket = null;\n }\n token = this.tokenizer.nextToken();\n }\n if (this.tokenizer.endOfFile()) end = true;\n if (brackets.length > 0) this.unclosedBracket(bracket);\n if (end && colon) {\n if (!customProperty) {\n while (tokens.length) {\n token = tokens[tokens.length - 1][0];\n if (token !== \"space\" && token !== \"comment\") break;\n this.tokenizer.back(tokens.pop());\n }\n }\n this.decl(tokens, customProperty);\n } else {\n this.unknownWord(tokens);\n }\n }\n parse() {\n let token;\n while (!this.tokenizer.endOfFile()) {\n token = this.tokenizer.nextToken();\n switch (token[0]) {\n case \"space\":\n this.spaces += token[1];\n break;\n case \";\":\n this.freeSemicolon(token);\n break;\n case \"}\":\n this.end(token);\n break;\n case \"comment\":\n this.comment(token);\n break;\n case \"at-word\":\n this.atrule(token);\n break;\n case \"{\":\n this.emptyRule(token);\n break;\n default:\n this.other(token);\n break;\n }\n }\n this.endFile();\n }\n precheckMissedSemicolon() {\n }\n raw(node2, prop, tokens, customProperty) {\n let token, type;\n let length = tokens.length;\n let value = \"\";\n let clean = true;\n let next, prev;\n for (let i2 = 0; i2 < length; i2 += 1) {\n token = tokens[i2];\n type = token[0];\n if (type === \"space\" && i2 === length - 1 && !customProperty) {\n clean = false;\n } else if (type === \"comment\") {\n prev = tokens[i2 - 1] ? tokens[i2 - 1][0] : \"empty\";\n next = tokens[i2 + 1] ? tokens[i2 + 1][0] : \"empty\";\n if (!SAFE_COMMENT_NEIGHBOR[prev] && !SAFE_COMMENT_NEIGHBOR[next]) {\n if (value.slice(-1) === \",\") {\n clean = false;\n } else {\n value += token[1];\n }\n } else {\n clean = false;\n }\n } else {\n value += token[1];\n }\n }\n if (!clean) {\n let raw = tokens.reduce((all, i2) => all + i2[1], \"\");\n node2.raws[prop] = { raw, value };\n }\n node2[prop] = value;\n }\n rule(tokens) {\n tokens.pop();\n let node2 = new Rule$2();\n this.init(node2, tokens[0][2]);\n node2.raws.between = this.spacesAndCommentsFromEnd(tokens);\n this.raw(node2, \"selector\", tokens);\n this.current = node2;\n }\n spacesAndCommentsFromEnd(tokens) {\n let lastTokenType;\n let spaces = \"\";\n while (tokens.length) {\n lastTokenType = tokens[tokens.length - 1][0];\n if (lastTokenType !== \"space\" && lastTokenType !== \"comment\") break;\n spaces = tokens.pop()[1] + spaces;\n }\n return spaces;\n }\n // Errors\n spacesAndCommentsFromStart(tokens) {\n let next;\n let spaces = \"\";\n while (tokens.length) {\n next = tokens[0][0];\n if (next !== \"space\" && next !== \"comment\") break;\n spaces += tokens.shift()[1];\n }\n return spaces;\n }\n spacesFromEnd(tokens) {\n let lastTokenType;\n let spaces = \"\";\n while (tokens.length) {\n lastTokenType = tokens[tokens.length - 1][0];\n if (lastTokenType !== \"space\") break;\n spaces = tokens.pop()[1] + spaces;\n }\n return spaces;\n }\n stringFrom(tokens, from) {\n let result2 = \"\";\n for (let i2 = from; i2 < tokens.length; i2++) {\n result2 += tokens[i2][1];\n }\n tokens.splice(from, tokens.length - from);\n return result2;\n }\n unclosedBlock() {\n let pos = this.current.source.start;\n throw this.input.error(\"Unclosed block\", pos.line, pos.column);\n }\n unclosedBracket(bracket) {\n throw this.input.error(\n \"Unclosed bracket\",\n { offset: bracket[2] },\n { offset: bracket[2] + 1 }\n );\n }\n unexpectedClose(token) {\n throw this.input.error(\n \"Unexpected }\",\n { offset: token[2] },\n { offset: token[2] + 1 }\n );\n }\n unknownWord(tokens) {\n throw this.input.error(\n \"Unknown word\",\n { offset: tokens[0][2] },\n { offset: tokens[0][2] + tokens[0][1].length }\n );\n }\n unnamedAtrule(node2, token) {\n throw this.input.error(\n \"At-rule without name\",\n { offset: token[2] },\n { offset: token[2] + token[1].length }\n );\n }\n};\nvar parser = Parser$1;\nlet Container$2 = container;\nlet Parser22 = parser;\nlet Input$2 = input;\nfunction parse$3(css, opts) {\n let input2 = new Input$2(css, opts);\n let parser2 = new Parser22(input2);\n try {\n parser2.parse();\n } catch (e2) {\n if (process.env.NODE_ENV !== \"production\") {\n if (e2.name === \"CssSyntaxError\" && opts && opts.from) {\n if (/\\.scss$/i.test(opts.from)) {\n e2.message += \"\\nYou tried to parse SCSS with the standard CSS parser; try again with the postcss-scss parser\";\n } else if (/\\.sass/i.test(opts.from)) {\n e2.message += \"\\nYou tried to parse Sass with the standard CSS parser; try again with the postcss-sass parser\";\n } else if (/\\.less$/i.test(opts.from)) {\n e2.message += \"\\nYou tried to parse Less with the standard CSS parser; try again with the postcss-less parser\";\n }\n }\n }\n throw e2;\n }\n return parser2.root;\n}\nvar parse_1 = parse$3;\nparse$3.default = parse$3;\nContainer$2.registerParse(parse$3);\nlet { isClean, my } = symbols;\nlet MapGenerator$1 = mapGenerator;\nlet stringify$2 = stringify_1;\nlet Container$1 = container;\nlet Document$2 = document$1;\nlet warnOnce$1 = warnOnce$2;\nlet Result$2 = result;\nlet parse$2 = parse_1;\nlet Root$3 = root;\nconst TYPE_TO_CLASS_NAME = {\n atrule: \"AtRule\",\n comment: \"Comment\",\n decl: \"Declaration\",\n document: \"Document\",\n root: \"Root\",\n rule: \"Rule\"\n};\nconst PLUGIN_PROPS = {\n AtRule: true,\n AtRuleExit: true,\n Comment: true,\n CommentExit: true,\n Declaration: true,\n DeclarationExit: true,\n Document: true,\n DocumentExit: true,\n Once: true,\n OnceExit: true,\n postcssPlugin: true,\n prepare: true,\n Root: true,\n RootExit: true,\n Rule: true,\n RuleExit: true\n};\nconst NOT_VISITORS = {\n Once: true,\n postcssPlugin: true,\n prepare: true\n};\nconst CHILDREN = 0;\nfunction isPromise(obj) {\n return typeof obj === \"object\" && typeof obj.then === \"function\";\n}\nfunction getEvents(node2) {\n let key = false;\n let type = TYPE_TO_CLASS_NAME[node2.type];\n if (node2.type === \"decl\") {\n key = node2.prop.toLowerCase();\n } else if (node2.type === \"atrule\") {\n key = node2.name.toLowerCase();\n }\n if (key && node2.append) {\n return [\n type,\n type + \"-\" + key,\n CHILDREN,\n type + \"Exit\",\n type + \"Exit-\" + key\n ];\n } else if (key) {\n return [type, type + \"-\" + key, type + \"Exit\", type + \"Exit-\" + key];\n } else if (node2.append) {\n return [type, CHILDREN, type + \"Exit\"];\n } else {\n return [type, type + \"Exit\"];\n }\n}\nfunction toStack(node2) {\n let events;\n if (node2.type === \"document\") {\n events = [\"Document\", CHILDREN, \"DocumentExit\"];\n } else if (node2.type === \"root\") {\n events = [\"Root\", CHILDREN, \"RootExit\"];\n } else {\n events = getEvents(node2);\n }\n return {\n eventIndex: 0,\n events,\n iterator: 0,\n node: node2,\n visitorIndex: 0,\n visitors: []\n };\n}\nfunction cleanMarks(node2) {\n node2[isClean] = false;\n if (node2.nodes) node2.nodes.forEach((i2) => cleanMarks(i2));\n return node2;\n}\nlet postcss$2 = {};\nlet LazyResult$2 = class LazyResult2 {\n constructor(processor2, css, opts) {\n this.stringified = false;\n this.processed = false;\n let root2;\n if (typeof css === \"object\" && css !== null && (css.type === \"root\" || css.type === \"document\")) {\n root2 = cleanMarks(css);\n } else if (css instanceof LazyResult2 || css instanceof Result$2) {\n root2 = cleanMarks(css.root);\n if (css.map) {\n if (typeof opts.map === \"undefined\") opts.map = {};\n if (!opts.map.inline) opts.map.inline = false;\n opts.map.prev = css.map;\n }\n } else {\n let parser2 = parse$2;\n if (opts.syntax) parser2 = opts.syntax.parse;\n if (opts.parser) parser2 = opts.parser;\n if (parser2.parse) parser2 = parser2.parse;\n try {\n root2 = parser2(css, opts);\n } catch (error) {\n this.processed = true;\n this.error = error;\n }\n if (root2 && !root2[my]) {\n Container$1.rebuild(root2);\n }\n }\n this.result = new Result$2(processor2, root2, opts);\n this.helpers = { ...postcss$2, postcss: postcss$2, result: this.result };\n this.plugins = this.processor.plugins.map((plugin22) => {\n if (typeof plugin22 === \"object\" && plugin22.prepare) {\n return { ...plugin22, ...plugin22.prepare(this.result) };\n } else {\n return plugin22;\n }\n });\n }\n async() {\n if (this.error) return Promise.reject(this.error);\n if (this.processed) return Promise.resolve(this.result);\n if (!this.processing) {\n this.processing = this.runAsync();\n }\n return this.processing;\n }\n catch(onRejected) {\n return this.async().catch(onRejected);\n }\n finally(onFinally) {\n return this.async().then(onFinally, onFinally);\n }\n getAsyncError() {\n throw new Error(\"Use process(css).then(cb) to work with async plugins\");\n }\n handleError(error, node2) {\n let plugin22 = this.result.lastPlugin;\n try {\n if (node2) node2.addToError(error);\n this.error = error;\n if (error.name === \"CssSyntaxError\" && !error.plugin) {\n error.plugin = plugin22.postcssPlugin;\n error.setMessage();\n } else if (plugin22.postcssVersion) {\n if (process.env.NODE_ENV !== \"production\") {\n let pluginName = plugin22.postcssPlugin;\n let pluginVer = plugin22.postcssVersion;\n let runtimeVer = this.result.processor.version;\n let a2 = pluginVer.split(\".\");\n let b = runtimeVer.split(\".\");\n if (a2[0] !== b[0] || parseInt(a2[1]) > parseInt(b[1])) {\n console.error(\n \"Unknown error from PostCSS plugin. Your current PostCSS version is \" + runtimeVer + \", but \" + pluginName + \" uses \" + pluginVer + \". Perhaps this is the source of the error below.\"\n );\n }\n }\n }\n } catch (err) {\n if (console && console.error) console.error(err);\n }\n return error;\n }\n prepareVisitors() {\n this.listeners = {};\n let add = (plugin22, type, cb) => {\n if (!this.listeners[type]) this.listeners[type] = [];\n this.listeners[type].push([plugin22, cb]);\n };\n for (let plugin22 of this.plugins) {\n if (typeof plugin22 === \"object\") {\n for (let event in plugin22) {\n if (!PLUGIN_PROPS[event] && /^[A-Z]/.test(event)) {\n throw new Error(\n `Unknown event ${event} in ${plugin22.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`\n );\n }\n if (!NOT_VISITORS[event]) {\n if (typeof plugin22[event] === \"object\") {\n for (let filter in plugin22[event]) {\n if (filter === \"*\") {\n add(plugin22, event, plugin22[event][filter]);\n } else {\n add(\n plugin22,\n event + \"-\" + filter.toLowerCase(),\n plugin22[event][filter]\n );\n }\n }\n } else if (typeof plugin22[event] === \"function\") {\n add(plugin22, event, plugin22[event]);\n }\n }\n }\n }\n }\n this.hasListener = Object.keys(this.listeners).length > 0;\n }\n async runAsync() {\n this.plugin = 0;\n for (let i2 = 0; i2 < this.plugins.length; i2++) {\n let plugin22 = this.plugins[i2];\n let promise = this.runOnRoot(plugin22);\n if (isPromise(promise)) {\n try {\n await promise;\n } catch (error) {\n throw this.handleError(error);\n }\n }\n }\n this.prepareVisitors();\n if (this.hasListener) {\n let root2 = this.result.root;\n while (!root2[isClean]) {\n root2[isClean] = true;\n let stack = [toStack(root2)];\n while (stack.length > 0) {\n let promise = this.visitTick(stack);\n if (isPromise(promise)) {\n try {\n await promise;\n } catch (e2) {\n let node2 = stack[stack.length - 1].node;\n throw this.handleError(e2, node2);\n }\n }\n }\n }\n if (this.listeners.OnceExit) {\n for (let [plugin22, visitor] of this.listeners.OnceExit) {\n this.result.lastPlugin = plugin22;\n try {\n if (root2.type === \"document\") {\n let roots = root2.nodes.map(\n (subRoot) => visitor(subRoot, this.helpers)\n );\n await Promise.all(roots);\n } else {\n await visitor(root2, this.helpers);\n }\n } catch (e2) {\n throw this.handleError(e2);\n }\n }\n }\n }\n this.processed = true;\n return this.stringify();\n }\n runOnRoot(plugin22) {\n this.result.lastPlugin = plugin22;\n try {\n if (typeof plugin22 === \"object\" && plugin22.Once) {\n if (this.result.root.type === \"document\") {\n let roots = this.result.root.nodes.map(\n (root2) => plugin22.Once(root2, this.helpers)\n );\n if (isPromise(roots[0])) {\n return Promise.all(roots);\n }\n return roots;\n }\n return plugin22.Once(this.result.root, this.helpers);\n } else if (typeof plugin22 === \"function\") {\n return plugin22(this.result.root, this.result);\n }\n } catch (error) {\n throw this.handleError(error);\n }\n }\n stringify() {\n if (this.error) throw this.error;\n if (this.stringified) return this.result;\n this.stringified = true;\n this.sync();\n let opts = this.result.opts;\n let str = stringify$2;\n if (opts.syntax) str = opts.syntax.stringify;\n if (opts.stringifier) str = opts.stringifier;\n if (str.stringify) str = str.stringify;\n let map = new MapGenerator$1(str, this.result.root, this.result.opts);\n let data = map.generate();\n this.result.css = data[0];\n this.result.map = data[1];\n return this.result;\n }\n sync() {\n if (this.error) throw this.error;\n if (this.processed) return this.result;\n this.processed = true;\n if (this.processing) {\n throw this.getAsyncError();\n }\n for (let plugin22 of this.plugins) {\n let promise = this.runOnRoot(plugin22);\n if (isPromise(promise)) {\n throw this.getAsyncError();\n }\n }\n this.prepareVisitors();\n if (this.hasListener) {\n let root2 = this.result.root;\n while (!root2[isClean]) {\n root2[isClean] = true;\n this.walkSync(root2);\n }\n if (this.listeners.OnceExit) {\n if (root2.type === \"document\") {\n for (let subRoot of root2.nodes) {\n this.visitSync(this.listeners.OnceExit, subRoot);\n }\n } else {\n this.visitSync(this.listeners.OnceExit, root2);\n }\n }\n }\n return this.result;\n }\n then(onFulfilled, onRejected) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!(\"from\" in this.opts)) {\n warnOnce$1(\n \"Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.\"\n );\n }\n }\n return this.async().then(onFulfilled, onRejected);\n }\n toString() {\n return this.css;\n }\n visitSync(visitors, node2) {\n for (let [plugin22, visitor] of visitors) {\n this.result.lastPlugin = plugin22;\n let promise;\n try {\n promise = visitor(node2, this.helpers);\n } catch (e2) {\n throw this.handleError(e2, node2.proxyOf);\n }\n if (node2.type !== \"root\" && node2.type !== \"document\" && !node2.parent) {\n return true;\n }\n if (isPromise(promise)) {\n throw this.getAsyncError();\n }\n }\n }\n visitTick(stack) {\n let visit2 = stack[stack.length - 1];\n let { node: node2, visitors } = visit2;\n if (node2.type !== \"root\" && node2.type !== \"document\" && !node2.parent) {\n stack.pop();\n return;\n }\n if (visitors.length > 0 && visit2.visitorIndex < visitors.length) {\n let [plugin22, visitor] = visitors[visit2.visitorIndex];\n visit2.visitorIndex += 1;\n if (visit2.visitorIndex === visitors.length) {\n visit2.visitors = [];\n visit2.visitorIndex = 0;\n }\n this.result.lastPlugin = plugin22;\n try {\n return visitor(node2.toProxy(), this.helpers);\n } catch (e2) {\n throw this.handleError(e2, node2);\n }\n }\n if (visit2.iterator !== 0) {\n let iterator = visit2.iterator;\n let child;\n while (child = node2.nodes[node2.indexes[iterator]]) {\n node2.indexes[iterator] += 1;\n if (!child[isClean]) {\n child[isClean] = true;\n stack.push(toStack(child));\n return;\n }\n }\n visit2.iterator = 0;\n delete node2.indexes[iterator];\n }\n let events = visit2.events;\n while (visit2.eventIndex < events.length) {\n let event = events[visit2.eventIndex];\n visit2.eventIndex += 1;\n if (event === CHILDREN) {\n if (node2.nodes && node2.nodes.length) {\n node2[isClean] = true;\n visit2.iterator = node2.getIterator();\n }\n return;\n } else if (this.listeners[event]) {\n visit2.visitors = this.listeners[event];\n return;\n }\n }\n stack.pop();\n }\n walkSync(node2) {\n node2[isClean] = true;\n let events = getEvents(node2);\n for (let event of events) {\n if (event === CHILDREN) {\n if (node2.nodes) {\n node2.each((child) => {\n if (!child[isClean]) this.walkSync(child);\n });\n }\n } else {\n let visitors = this.listeners[event];\n if (visitors) {\n if (this.visitSync(visitors, node2.toProxy())) return;\n }\n }\n }\n }\n warnings() {\n return this.sync().warnings();\n }\n get content() {\n return this.stringify().content;\n }\n get css() {\n return this.stringify().css;\n }\n get map() {\n return this.stringify().map;\n }\n get messages() {\n return this.sync().messages;\n }\n get opts() {\n return this.result.opts;\n }\n get processor() {\n return this.result.processor;\n }\n get root() {\n return this.sync().root;\n }\n get [Symbol.toStringTag]() {\n return \"LazyResult\";\n }\n};\nLazyResult$2.registerPostcss = (dependant) => {\n postcss$2 = dependant;\n};\nvar lazyResult = LazyResult$2;\nLazyResult$2.default = LazyResult$2;\nRoot$3.registerLazyResult(LazyResult$2);\nDocument$2.registerLazyResult(LazyResult$2);\nlet MapGenerator22 = mapGenerator;\nlet stringify$1 = stringify_1;\nlet warnOnce22 = warnOnce$2;\nlet parse$1 = parse_1;\nconst Result$1 = result;\nlet NoWorkResult$1 = class NoWorkResult2 {\n constructor(processor2, css, opts) {\n css = css.toString();\n this.stringified = false;\n this._processor = processor2;\n this._css = css;\n this._opts = opts;\n this._map = void 0;\n let root2;\n let str = stringify$1;\n this.result = new Result$1(this._processor, root2, this._opts);\n this.result.css = css;\n let self = this;\n Object.defineProperty(this.result, \"root\", {\n get() {\n return self.root;\n }\n });\n let map = new MapGenerator22(str, root2, this._opts, css);\n if (map.isMap()) {\n let [generatedCSS, generatedMap] = map.generate();\n if (generatedCSS) {\n this.result.css = generatedCSS;\n }\n if (generatedMap) {\n this.result.map = generatedMap;\n }\n } else {\n map.clearAnnotation();\n this.result.css = map.css;\n }\n }\n async() {\n if (this.error) return Promise.reject(this.error);\n return Promise.resolve(this.result);\n }\n catch(onRejected) {\n return this.async().catch(onRejected);\n }\n finally(onFinally) {\n return this.async().then(onFinally, onFinally);\n }\n sync() {\n if (this.error) throw this.error;\n return this.result;\n }\n then(onFulfilled, onRejected) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!(\"from\" in this._opts)) {\n warnOnce22(\n \"Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.\"\n );\n }\n }\n return this.async().then(onFulfilled, onRejected);\n }\n toString() {\n return this._css;\n }\n warnings() {\n return [];\n }\n get content() {\n return this.result.css;\n }\n get css() {\n return this.result.css;\n }\n get map() {\n return this.result.map;\n }\n get messages() {\n return [];\n }\n get opts() {\n return this.result.opts;\n }\n get processor() {\n return this.result.processor;\n }\n get root() {\n if (this._root) {\n return this._root;\n }\n let root2;\n let parser2 = parse$1;\n try {\n root2 = parser2(this._css, this._opts);\n } catch (error) {\n this.error = error;\n }\n if (this.error) {\n throw this.error;\n } else {\n this._root = root2;\n return root2;\n }\n }\n get [Symbol.toStringTag]() {\n return \"NoWorkResult\";\n }\n};\nvar noWorkResult = NoWorkResult$1;\nNoWorkResult$1.default = NoWorkResult$1;\nlet NoWorkResult22 = noWorkResult;\nlet LazyResult$1 = lazyResult;\nlet Document$1 = document$1;\nlet Root$2 = root;\nlet Processor$1 = class Processor2 {\n constructor(plugins = []) {\n this.version = \"8.4.38\";\n this.plugins = this.normalize(plugins);\n }\n normalize(plugins) {\n let normalized = [];\n for (let i2 of plugins) {\n if (i2.postcss === true) {\n i2 = i2();\n } else if (i2.postcss) {\n i2 = i2.postcss;\n }\n if (typeof i2 === \"object\" && Array.isArray(i2.plugins)) {\n normalized = normalized.concat(i2.plugins);\n } else if (typeof i2 === \"object\" && i2.postcssPlugin) {\n normalized.push(i2);\n } else if (typeof i2 === \"function\") {\n normalized.push(i2);\n } else if (typeof i2 === \"object\" && (i2.parse || i2.stringify)) {\n if (process.env.NODE_ENV !== \"production\") {\n throw new Error(\n \"PostCSS syntaxes cannot be used as plugins. Instead, please use one of the syntax/parser/stringifier options as outlined in your PostCSS runner documentation.\"\n );\n }\n } else {\n throw new Error(i2 + \" is not a PostCSS plugin\");\n }\n }\n return normalized;\n }\n process(css, opts = {}) {\n if (!this.plugins.length && !opts.parser && !opts.stringifier && !opts.syntax) {\n return new NoWorkResult22(this, css, opts);\n } else {\n return new LazyResult$1(this, css, opts);\n }\n }\n use(plugin22) {\n this.plugins = this.plugins.concat(this.normalize([plugin22]));\n return this;\n }\n};\nvar processor = Processor$1;\nProcessor$1.default = Processor$1;\nRoot$2.registerProcessor(Processor$1);\nDocument$1.registerProcessor(Processor$1);\nlet Declaration$1 = declaration;\nlet PreviousMap22 = previousMap;\nlet Comment$1 = comment;\nlet AtRule$1 = atRule;\nlet Input$1 = input;\nlet Root$1 = root;\nlet Rule$1 = rule;\nfunction fromJSON$1(json, inputs) {\n if (Array.isArray(json)) return json.map((n2) => fromJSON$1(n2));\n let { inputs: ownInputs, ...defaults } = json;\n if (ownInputs) {\n inputs = [];\n for (let input2 of ownInputs) {\n let inputHydrated = { ...input2, __proto__: Input$1.prototype };\n if (inputHydrated.map) {\n inputHydrated.map = {\n ...inputHydrated.map,\n __proto__: PreviousMap22.prototype\n };\n }\n inputs.push(inputHydrated);\n }\n }\n if (defaults.nodes) {\n defaults.nodes = json.nodes.map((n2) => fromJSON$1(n2, inputs));\n }\n if (defaults.source) {\n let { inputId, ...source } = defaults.source;\n defaults.source = source;\n if (inputId != null) {\n defaults.source.input = inputs[inputId];\n }\n }\n if (defaults.type === \"root\") {\n return new Root$1(defaults);\n } else if (defaults.type === \"decl\") {\n return new Declaration$1(defaults);\n } else if (defaults.type === \"rule\") {\n return new Rule$1(defaults);\n } else if (defaults.type === \"comment\") {\n return new Comment$1(defaults);\n } else if (defaults.type === \"atrule\") {\n return new AtRule$1(defaults);\n } else {\n throw new Error(\"Unknown node type: \" + json.type);\n }\n}\nvar fromJSON_1 = fromJSON$1;\nfromJSON$1.default = fromJSON$1;\nlet CssSyntaxError22 = cssSyntaxError;\nlet Declaration22 = declaration;\nlet LazyResult22 = lazyResult;\nlet Container22 = container;\nlet Processor22 = processor;\nlet stringify = stringify_1;\nlet fromJSON = fromJSON_1;\nlet Document222 = document$1;\nlet Warning22 = warning;\nlet Comment22 = comment;\nlet AtRule22 = atRule;\nlet Result22 = result;\nlet Input22 = input;\nlet parse = parse_1;\nlet list = list_1;\nlet Rule22 = rule;\nlet Root22 = root;\nlet Node22 = node;\nfunction postcss(...plugins) {\n if (plugins.length === 1 && Array.isArray(plugins[0])) {\n plugins = plugins[0];\n }\n return new Processor22(plugins);\n}\npostcss.plugin = function plugin2(name, initializer) {\n let warningPrinted = false;\n function creator(...args) {\n if (console && console.warn && !warningPrinted) {\n warningPrinted = true;\n console.warn(\n name + \": postcss.plugin was deprecated. Migration guide:\\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration\"\n );\n if (process.env.LANG && process.env.LANG.startsWith(\"cn\")) {\n console.warn(\n name + \": 里面 postcss.plugin 被弃用. 迁移指南:\\nhttps://www.w3ctech.com/topic/2226\"\n );\n }\n }\n let transformer = initializer(...args);\n transformer.postcssPlugin = name;\n transformer.postcssVersion = new Processor22().version;\n return transformer;\n }\n let cache;\n Object.defineProperty(creator, \"postcss\", {\n get() {\n if (!cache) cache = creator();\n return cache;\n }\n });\n creator.process = function(css, processOpts, pluginOpts) {\n return postcss([creator(pluginOpts)]).process(css, processOpts);\n };\n return creator;\n};\npostcss.stringify = stringify;\npostcss.parse = parse;\npostcss.fromJSON = fromJSON;\npostcss.list = list;\npostcss.comment = (defaults) => new Comment22(defaults);\npostcss.atRule = (defaults) => new AtRule22(defaults);\npostcss.decl = (defaults) => new Declaration22(defaults);\npostcss.rule = (defaults) => new Rule22(defaults);\npostcss.root = (defaults) => new Root22(defaults);\npostcss.document = (defaults) => new Document222(defaults);\npostcss.CssSyntaxError = CssSyntaxError22;\npostcss.Declaration = Declaration22;\npostcss.Container = Container22;\npostcss.Processor = Processor22;\npostcss.Document = Document222;\npostcss.Comment = Comment22;\npostcss.Warning = Warning22;\npostcss.AtRule = AtRule22;\npostcss.Result = Result22;\npostcss.Input = Input22;\npostcss.Rule = Rule22;\npostcss.Root = Root22;\npostcss.Node = Node22;\nLazyResult22.registerPostcss(postcss);\nvar postcss_1 = postcss;\npostcss.default = postcss;\nconst postcss$1 = /* @__PURE__ */ getDefaultExportFromCjs(postcss_1);\npostcss$1.stringify;\npostcss$1.fromJSON;\npostcss$1.plugin;\npostcss$1.parse;\npostcss$1.list;\npostcss$1.document;\npostcss$1.comment;\npostcss$1.atRule;\npostcss$1.rule;\npostcss$1.decl;\npostcss$1.root;\npostcss$1.CssSyntaxError;\npostcss$1.Declaration;\npostcss$1.Container;\npostcss$1.Processor;\npostcss$1.Document;\npostcss$1.Comment;\npostcss$1.Warning;\npostcss$1.AtRule;\npostcss$1.Result;\npostcss$1.Input;\npostcss$1.Rule;\npostcss$1.Root;\npostcss$1.Node;\nclass BaseRRNode {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any\n constructor(..._args) {\n __publicField2(this, \"parentElement\", null);\n __publicField2(this, \"parentNode\", null);\n __publicField2(this, \"ownerDocument\");\n __publicField2(this, \"firstChild\", null);\n __publicField2(this, \"lastChild\", null);\n __publicField2(this, \"previousSibling\", null);\n __publicField2(this, \"nextSibling\", null);\n __publicField2(this, \"ELEMENT_NODE\", 1);\n __publicField2(this, \"TEXT_NODE\", 3);\n __publicField2(this, \"nodeType\");\n __publicField2(this, \"nodeName\");\n __publicField2(this, \"RRNodeType\");\n }\n get childNodes() {\n const childNodes2 = [];\n let childIterator = this.firstChild;\n while (childIterator) {\n childNodes2.push(childIterator);\n childIterator = childIterator.nextSibling;\n }\n return childNodes2;\n }\n contains(node2) {\n if (!(node2 instanceof BaseRRNode)) return false;\n else if (node2.ownerDocument !== this.ownerDocument) return false;\n else if (node2 === this) return true;\n while (node2.parentNode) {\n if (node2.parentNode === this) return true;\n node2 = node2.parentNode;\n }\n return false;\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n appendChild(_newChild) {\n throw new Error(\n `RRDomException: Failed to execute 'appendChild' on 'RRNode': This RRNode type does not support this method.`\n );\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n insertBefore(_newChild, _refChild) {\n throw new Error(\n `RRDomException: Failed to execute 'insertBefore' on 'RRNode': This RRNode type does not support this method.`\n );\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n removeChild(_node) {\n throw new Error(\n `RRDomException: Failed to execute 'removeChild' on 'RRNode': This RRNode type does not support this method.`\n );\n }\n toString() {\n return \"RRNode\";\n }\n}\nconst testableAccessors = {\n Node: [\"childNodes\", \"parentNode\", \"parentElement\", \"textContent\"],\n ShadowRoot: [\"host\", \"styleSheets\"],\n Element: [\"shadowRoot\", \"querySelector\", \"querySelectorAll\"],\n MutationObserver: []\n};\nconst testableMethods = {\n Node: [\"contains\", \"getRootNode\"],\n ShadowRoot: [\"getSelection\"],\n Element: [],\n MutationObserver: [\"constructor\"]\n};\nconst untaintedBasePrototype = {};\nconst isAngularZonePresent = () => {\n return !!globalThis.Zone;\n};\nfunction getUntaintedPrototype(key) {\n if (untaintedBasePrototype[key])\n return untaintedBasePrototype[key];\n const defaultObj = globalThis[key];\n const defaultPrototype = defaultObj.prototype;\n const accessorNames = key in testableAccessors ? testableAccessors[key] : void 0;\n const isUntaintedAccessors = Boolean(\n accessorNames && // @ts-expect-error 2345\n accessorNames.every(\n (accessor) => {\n var _a2, _b;\n return Boolean(\n (_b = (_a2 = Object.getOwnPropertyDescriptor(defaultPrototype, accessor)) == null ? void 0 : _a2.get) == null ? void 0 : _b.toString().includes(\"[native code]\")\n );\n }\n )\n );\n const methodNames = key in testableMethods ? testableMethods[key] : void 0;\n const isUntaintedMethods = Boolean(\n methodNames && methodNames.every(\n // @ts-expect-error 2345\n (method) => {\n var _a2;\n return typeof defaultPrototype[method] === \"function\" && ((_a2 = defaultPrototype[method]) == null ? void 0 : _a2.toString().includes(\"[native code]\"));\n }\n )\n );\n if (isUntaintedAccessors && isUntaintedMethods && !isAngularZonePresent()) {\n untaintedBasePrototype[key] = defaultObj.prototype;\n return defaultObj.prototype;\n }\n try {\n const iframeEl = document.createElement(\"iframe\");\n document.body.appendChild(iframeEl);\n const win = iframeEl.contentWindow;\n if (!win) return defaultObj.prototype;\n const untaintedObject = win[key].prototype;\n document.body.removeChild(iframeEl);\n if (!untaintedObject) return defaultPrototype;\n return untaintedBasePrototype[key] = untaintedObject;\n } catch {\n return defaultPrototype;\n }\n}\nconst untaintedAccessorCache = {};\nfunction getUntaintedAccessor(key, instance, accessor) {\n var _a2;\n const cacheKey = `${key}.${String(accessor)}`;\n if (untaintedAccessorCache[cacheKey])\n return untaintedAccessorCache[cacheKey].call(\n instance\n );\n const untaintedPrototype = getUntaintedPrototype(key);\n const untaintedAccessor = (_a2 = Object.getOwnPropertyDescriptor(\n untaintedPrototype,\n accessor\n )) == null ? void 0 : _a2.get;\n if (!untaintedAccessor) return instance[accessor];\n untaintedAccessorCache[cacheKey] = untaintedAccessor;\n return untaintedAccessor.call(instance);\n}\nconst untaintedMethodCache = {};\nfunction getUntaintedMethod(key, instance, method) {\n const cacheKey = `${key}.${String(method)}`;\n if (untaintedMethodCache[cacheKey])\n return untaintedMethodCache[cacheKey].bind(\n instance\n );\n const untaintedPrototype = getUntaintedPrototype(key);\n const untaintedMethod = untaintedPrototype[method];\n if (typeof untaintedMethod !== \"function\") return instance[method];\n untaintedMethodCache[cacheKey] = untaintedMethod;\n return untaintedMethod.bind(instance);\n}\nfunction childNodes(n2) {\n return getUntaintedAccessor(\"Node\", n2, \"childNodes\");\n}\nfunction parentNode(n2) {\n return getUntaintedAccessor(\"Node\", n2, \"parentNode\");\n}\nfunction parentElement(n2) {\n return getUntaintedAccessor(\"Node\", n2, \"parentElement\");\n}\nfunction textContent(n2) {\n return getUntaintedAccessor(\"Node\", n2, \"textContent\");\n}\nfunction contains(n2, other) {\n return getUntaintedMethod(\"Node\", n2, \"contains\")(other);\n}\nfunction getRootNode(n2) {\n return getUntaintedMethod(\"Node\", n2, \"getRootNode\")();\n}\nfunction host(n2) {\n if (!n2 || !(\"host\" in n2)) return null;\n return getUntaintedAccessor(\"ShadowRoot\", n2, \"host\");\n}\nfunction styleSheets(n2) {\n return n2.styleSheets;\n}\nfunction shadowRoot(n2) {\n if (!n2 || !(\"shadowRoot\" in n2)) return null;\n return getUntaintedAccessor(\"Element\", n2, \"shadowRoot\");\n}\nfunction querySelector(n2, selectors) {\n return getUntaintedAccessor(\"Element\", n2, \"querySelector\")(selectors);\n}\nfunction querySelectorAll(n2, selectors) {\n return getUntaintedAccessor(\"Element\", n2, \"querySelectorAll\")(selectors);\n}\nfunction mutationObserverCtor() {\n return getUntaintedPrototype(\"MutationObserver\").constructor;\n}\nconst index = {\n childNodes,\n parentNode,\n parentElement,\n textContent,\n contains,\n getRootNode,\n host,\n styleSheets,\n shadowRoot,\n querySelector,\n querySelectorAll,\n mutationObserver: mutationObserverCtor\n};\nfunction on(type, fn, target = document) {\n const options = { capture: true, passive: true };\n target.addEventListener(type, fn, options);\n return () => target.removeEventListener(type, fn, options);\n}\nconst DEPARTED_MIRROR_ACCESS_WARNING = \"Please stop import mirror directly. Instead of that,\\r\\nnow you can use replayer.getMirror() to access the mirror instance of a replayer,\\r\\nor you can use record.mirror to access the mirror instance during recording.\";\nlet _mirror = {\n map: {},\n getId() {\n console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n return -1;\n },\n getNode() {\n console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n return null;\n },\n removeNodeFromMap() {\n console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n },\n has() {\n console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n return false;\n },\n reset() {\n console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n }\n};\nif (typeof window !== \"undefined\" && window.Proxy && window.Reflect) {\n _mirror = new Proxy(_mirror, {\n get(target, prop, receiver) {\n if (prop === \"map\") {\n console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n }\n return Reflect.get(target, prop, receiver);\n }\n });\n}\nfunction throttle(func, wait, options = {}) {\n let timeout = null;\n let previous = 0;\n return function(...args) {\n const now = Date.now();\n if (!previous && options.leading === false) {\n previous = now;\n }\n const remaining = wait - (now - previous);\n const context = this;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = now;\n func.apply(context, args);\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(() => {\n previous = options.leading === false ? 0 : Date.now();\n timeout = null;\n func.apply(context, args);\n }, remaining);\n }\n };\n}\nfunction hookSetter(target, key, d, isRevoked, win = window) {\n const original = win.Object.getOwnPropertyDescriptor(target, key);\n win.Object.defineProperty(\n target,\n key,\n isRevoked ? d : {\n set(value) {\n setTimeout(() => {\n d.set.call(this, value);\n }, 0);\n if (original && original.set) {\n original.set.call(this, value);\n }\n }\n }\n );\n return () => hookSetter(target, key, original || {}, true);\n}\nfunction patch(source, name, replacement) {\n try {\n if (!(name in source)) {\n return () => {\n };\n }\n const original = source[name];\n const wrapped = replacement(original);\n if (typeof wrapped === \"function\") {\n wrapped.prototype = wrapped.prototype || {};\n Object.defineProperties(wrapped, {\n __rrweb_original__: {\n enumerable: false,\n value: original\n }\n });\n }\n source[name] = wrapped;\n return () => {\n source[name] = original;\n };\n } catch {\n return () => {\n };\n }\n}\nlet nowTimestamp = Date.now;\nif (!/* @__PURE__ */ /[1-9][0-9]{12}/.test(Date.now().toString())) {\n nowTimestamp = () => (/* @__PURE__ */ new Date()).getTime();\n}\nfunction getWindowScroll(win) {\n var _a2, _b, _c, _d;\n const doc = win.document;\n return {\n left: doc.scrollingElement ? doc.scrollingElement.scrollLeft : win.pageXOffset !== void 0 ? win.pageXOffset : doc.documentElement.scrollLeft || (doc == null ? void 0 : doc.body) && ((_a2 = index.parentElement(doc.body)) == null ? void 0 : _a2.scrollLeft) || ((_b = doc == null ? void 0 : doc.body) == null ? void 0 : _b.scrollLeft) || 0,\n top: doc.scrollingElement ? doc.scrollingElement.scrollTop : win.pageYOffset !== void 0 ? win.pageYOffset : (doc == null ? void 0 : doc.documentElement.scrollTop) || (doc == null ? void 0 : doc.body) && ((_c = index.parentElement(doc.body)) == null ? void 0 : _c.scrollTop) || ((_d = doc == null ? void 0 : doc.body) == null ? void 0 : _d.scrollTop) || 0\n };\n}\nfunction getWindowHeight() {\n return window.innerHeight || document.documentElement && document.documentElement.clientHeight || document.body && document.body.clientHeight;\n}\nfunction getWindowWidth() {\n return window.innerWidth || document.documentElement && document.documentElement.clientWidth || document.body && document.body.clientWidth;\n}\nfunction closestElementOfNode(node2) {\n if (!node2) {\n return null;\n }\n const el = node2.nodeType === node2.ELEMENT_NODE ? node2 : index.parentElement(node2);\n return el;\n}\nfunction isBlocked(node2, blockClass, blockSelector, checkAncestors) {\n if (!node2) {\n return false;\n }\n const el = closestElementOfNode(node2);\n if (!el) {\n return false;\n }\n try {\n if (typeof blockClass === \"string\") {\n if (el.classList.contains(blockClass)) return true;\n if (checkAncestors && el.closest(\".\" + blockClass) !== null) return true;\n } else {\n if (classMatchesRegex(el, blockClass, checkAncestors)) return true;\n }\n } catch (e2) {\n }\n if (blockSelector) {\n if (el.matches(blockSelector)) return true;\n if (checkAncestors && el.closest(blockSelector) !== null) return true;\n }\n return false;\n}\nfunction isSerialized(n2, mirror2) {\n return mirror2.getId(n2) !== -1;\n}\nfunction isIgnored(n2, mirror2, slimDOMOptions) {\n if (n2.tagName === \"TITLE\" && slimDOMOptions.headTitleMutations) {\n return true;\n }\n return mirror2.getId(n2) === IGNORED_NODE;\n}\nfunction isAncestorRemoved(target, mirror2) {\n if (isShadowRoot(target)) {\n return false;\n }\n const id = mirror2.getId(target);\n if (!mirror2.has(id)) {\n return true;\n }\n const parent = index.parentNode(target);\n if (parent && parent.nodeType === target.DOCUMENT_NODE) {\n return false;\n }\n if (!parent) {\n return true;\n }\n return isAncestorRemoved(parent, mirror2);\n}\nfunction legacy_isTouchEvent(event) {\n return Boolean(event.changedTouches);\n}\nfunction polyfill$1(win = window) {\n if (\"NodeList\" in win && !win.NodeList.prototype.forEach) {\n win.NodeList.prototype.forEach = Array.prototype.forEach;\n }\n if (\"DOMTokenList\" in win && !win.DOMTokenList.prototype.forEach) {\n win.DOMTokenList.prototype.forEach = Array.prototype.forEach;\n }\n}\nfunction isSerializedIframe(n2, mirror2) {\n return Boolean(n2.nodeName === \"IFRAME\" && mirror2.getMeta(n2));\n}\nfunction isSerializedStylesheet(n2, mirror2) {\n return Boolean(\n n2.nodeName === \"LINK\" && n2.nodeType === n2.ELEMENT_NODE && n2.getAttribute && n2.getAttribute(\"rel\") === \"stylesheet\" && mirror2.getMeta(n2)\n );\n}\nfunction hasShadowRoot(n2) {\n if (!n2) return false;\n if (n2 instanceof BaseRRNode && \"shadowRoot\" in n2) {\n return Boolean(n2.shadowRoot);\n }\n return Boolean(index.shadowRoot(n2));\n}\nclass StyleSheetMirror {\n constructor() {\n __publicField(this, \"id\", 1);\n __publicField(this, \"styleIDMap\", /* @__PURE__ */ new WeakMap());\n __publicField(this, \"idStyleMap\", /* @__PURE__ */ new Map());\n }\n getId(stylesheet) {\n return this.styleIDMap.get(stylesheet) ?? -1;\n }\n has(stylesheet) {\n return this.styleIDMap.has(stylesheet);\n }\n /**\n * @returns If the stylesheet is in the mirror, returns the id of the stylesheet. If not, return the new assigned id.\n */\n add(stylesheet, id) {\n if (this.has(stylesheet)) return this.getId(stylesheet);\n let newId;\n if (id === void 0) {\n newId = this.id++;\n } else newId = id;\n this.styleIDMap.set(stylesheet, newId);\n this.idStyleMap.set(newId, stylesheet);\n return newId;\n }\n getStyle(id) {\n return this.idStyleMap.get(id) || null;\n }\n reset() {\n this.styleIDMap = /* @__PURE__ */ new WeakMap();\n this.idStyleMap = /* @__PURE__ */ new Map();\n this.id = 1;\n }\n generateId() {\n return this.id++;\n }\n}\nfunction getShadowHost(n2) {\n var _a2;\n let shadowHost = null;\n if (\"getRootNode\" in n2 && ((_a2 = index.getRootNode(n2)) == null ? void 0 : _a2.nodeType) === Node.DOCUMENT_FRAGMENT_NODE && index.host(index.getRootNode(n2)))\n shadowHost = index.host(index.getRootNode(n2));\n return shadowHost;\n}\nfunction getRootShadowHost(n2) {\n let rootShadowHost = n2;\n let shadowHost;\n while (shadowHost = getShadowHost(rootShadowHost))\n rootShadowHost = shadowHost;\n return rootShadowHost;\n}\nfunction shadowHostInDom(n2) {\n const doc = n2.ownerDocument;\n if (!doc) return false;\n const shadowHost = getRootShadowHost(n2);\n return index.contains(doc, shadowHost);\n}\nfunction inDom(n2) {\n const doc = n2.ownerDocument;\n if (!doc) return false;\n return index.contains(doc, n2) || shadowHostInDom(n2);\n}\nvar EventType = /* @__PURE__ */ ((EventType2) => {\n EventType2[EventType2[\"DomContentLoaded\"] = 0] = \"DomContentLoaded\";\n EventType2[EventType2[\"Load\"] = 1] = \"Load\";\n EventType2[EventType2[\"FullSnapshot\"] = 2] = \"FullSnapshot\";\n EventType2[EventType2[\"IncrementalSnapshot\"] = 3] = \"IncrementalSnapshot\";\n EventType2[EventType2[\"Meta\"] = 4] = \"Meta\";\n EventType2[EventType2[\"Custom\"] = 5] = \"Custom\";\n EventType2[EventType2[\"Plugin\"] = 6] = \"Plugin\";\n return EventType2;\n})(EventType || {});\nvar IncrementalSource = /* @__PURE__ */ ((IncrementalSource2) => {\n IncrementalSource2[IncrementalSource2[\"Mutation\"] = 0] = \"Mutation\";\n IncrementalSource2[IncrementalSource2[\"MouseMove\"] = 1] = \"MouseMove\";\n IncrementalSource2[IncrementalSource2[\"MouseInteraction\"] = 2] = \"MouseInteraction\";\n IncrementalSource2[IncrementalSource2[\"Scroll\"] = 3] = \"Scroll\";\n IncrementalSource2[IncrementalSource2[\"ViewportResize\"] = 4] = \"ViewportResize\";\n IncrementalSource2[IncrementalSource2[\"Input\"] = 5] = \"Input\";\n IncrementalSource2[IncrementalSource2[\"TouchMove\"] = 6] = \"TouchMove\";\n IncrementalSource2[IncrementalSource2[\"MediaInteraction\"] = 7] = \"MediaInteraction\";\n IncrementalSource2[IncrementalSource2[\"StyleSheetRule\"] = 8] = \"StyleSheetRule\";\n IncrementalSource2[IncrementalSource2[\"CanvasMutation\"] = 9] = \"CanvasMutation\";\n IncrementalSource2[IncrementalSource2[\"Font\"] = 10] = \"Font\";\n IncrementalSource2[IncrementalSource2[\"Log\"] = 11] = \"Log\";\n IncrementalSource2[IncrementalSource2[\"Drag\"] = 12] = \"Drag\";\n IncrementalSource2[IncrementalSource2[\"StyleDeclaration\"] = 13] = \"StyleDeclaration\";\n IncrementalSource2[IncrementalSource2[\"Selection\"] = 14] = \"Selection\";\n IncrementalSource2[IncrementalSource2[\"AdoptedStyleSheet\"] = 15] = \"AdoptedStyleSheet\";\n IncrementalSource2[IncrementalSource2[\"CustomElement\"] = 16] = \"CustomElement\";\n return IncrementalSource2;\n})(IncrementalSource || {});\nvar MouseInteractions = /* @__PURE__ */ ((MouseInteractions2) => {\n MouseInteractions2[MouseInteractions2[\"MouseUp\"] = 0] = \"MouseUp\";\n MouseInteractions2[MouseInteractions2[\"MouseDown\"] = 1] = \"MouseDown\";\n MouseInteractions2[MouseInteractions2[\"Click\"] = 2] = \"Click\";\n MouseInteractions2[MouseInteractions2[\"ContextMenu\"] = 3] = \"ContextMenu\";\n MouseInteractions2[MouseInteractions2[\"DblClick\"] = 4] = \"DblClick\";\n MouseInteractions2[MouseInteractions2[\"Focus\"] = 5] = \"Focus\";\n MouseInteractions2[MouseInteractions2[\"Blur\"] = 6] = \"Blur\";\n MouseInteractions2[MouseInteractions2[\"TouchStart\"] = 7] = \"TouchStart\";\n MouseInteractions2[MouseInteractions2[\"TouchMove_Departed\"] = 8] = \"TouchMove_Departed\";\n MouseInteractions2[MouseInteractions2[\"TouchEnd\"] = 9] = \"TouchEnd\";\n MouseInteractions2[MouseInteractions2[\"TouchCancel\"] = 10] = \"TouchCancel\";\n return MouseInteractions2;\n})(MouseInteractions || {});\nvar PointerTypes = /* @__PURE__ */ ((PointerTypes2) => {\n PointerTypes2[PointerTypes2[\"Mouse\"] = 0] = \"Mouse\";\n PointerTypes2[PointerTypes2[\"Pen\"] = 1] = \"Pen\";\n PointerTypes2[PointerTypes2[\"Touch\"] = 2] = \"Touch\";\n return PointerTypes2;\n})(PointerTypes || {});\nvar CanvasContext = /* @__PURE__ */ ((CanvasContext2) => {\n CanvasContext2[CanvasContext2[\"2D\"] = 0] = \"2D\";\n CanvasContext2[CanvasContext2[\"WebGL\"] = 1] = \"WebGL\";\n CanvasContext2[CanvasContext2[\"WebGL2\"] = 2] = \"WebGL2\";\n return CanvasContext2;\n})(CanvasContext || {});\nvar MediaInteractions = /* @__PURE__ */ ((MediaInteractions2) => {\n MediaInteractions2[MediaInteractions2[\"Play\"] = 0] = \"Play\";\n MediaInteractions2[MediaInteractions2[\"Pause\"] = 1] = \"Pause\";\n MediaInteractions2[MediaInteractions2[\"Seeked\"] = 2] = \"Seeked\";\n MediaInteractions2[MediaInteractions2[\"VolumeChange\"] = 3] = \"VolumeChange\";\n MediaInteractions2[MediaInteractions2[\"RateChange\"] = 4] = \"RateChange\";\n return MediaInteractions2;\n})(MediaInteractions || {});\nvar NodeType = /* @__PURE__ */ ((NodeType2) => {\n NodeType2[NodeType2[\"Document\"] = 0] = \"Document\";\n NodeType2[NodeType2[\"DocumentType\"] = 1] = \"DocumentType\";\n NodeType2[NodeType2[\"Element\"] = 2] = \"Element\";\n NodeType2[NodeType2[\"Text\"] = 3] = \"Text\";\n NodeType2[NodeType2[\"CDATA\"] = 4] = \"CDATA\";\n NodeType2[NodeType2[\"Comment\"] = 5] = \"Comment\";\n return NodeType2;\n})(NodeType || {});\nfunction isNodeInLinkedList(n2) {\n return \"__ln\" in n2;\n}\nclass DoubleLinkedList {\n constructor() {\n __publicField(this, \"length\", 0);\n __publicField(this, \"head\", null);\n __publicField(this, \"tail\", null);\n }\n get(position) {\n if (position >= this.length) {\n throw new Error(\"Position outside of list range\");\n }\n let current = this.head;\n for (let index2 = 0; index2 < position; index2++) {\n current = (current == null ? void 0 : current.next) || null;\n }\n return current;\n }\n addNode(n2) {\n const node2 = {\n value: n2,\n previous: null,\n next: null\n };\n n2.__ln = node2;\n if (n2.previousSibling && isNodeInLinkedList(n2.previousSibling)) {\n const current = n2.previousSibling.__ln.next;\n node2.next = current;\n node2.previous = n2.previousSibling.__ln;\n n2.previousSibling.__ln.next = node2;\n if (current) {\n current.previous = node2;\n }\n } else if (n2.nextSibling && isNodeInLinkedList(n2.nextSibling) && n2.nextSibling.__ln.previous) {\n const current = n2.nextSibling.__ln.previous;\n node2.previous = current;\n node2.next = n2.nextSibling.__ln;\n n2.nextSibling.__ln.previous = node2;\n if (current) {\n current.next = node2;\n }\n } else {\n if (this.head) {\n this.head.previous = node2;\n }\n node2.next = this.head;\n this.head = node2;\n }\n if (node2.next === null) {\n this.tail = node2;\n }\n this.length++;\n }\n removeNode(n2) {\n const current = n2.__ln;\n if (!this.head) {\n return;\n }\n if (!current.previous) {\n this.head = current.next;\n if (this.head) {\n this.head.previous = null;\n } else {\n this.tail = null;\n }\n } else {\n current.previous.next = current.next;\n if (current.next) {\n current.next.previous = current.previous;\n } else {\n this.tail = current.previous;\n }\n }\n if (n2.__ln) {\n delete n2.__ln;\n }\n this.length--;\n }\n}\nconst moveKey = (id, parentId) => `${id}@${parentId}`;\nclass MutationBuffer {\n constructor() {\n __publicField(this, \"frozen\", false);\n __publicField(this, \"locked\", false);\n __publicField(this, \"texts\", []);\n __publicField(this, \"attributes\", []);\n __publicField(this, \"attributeMap\", /* @__PURE__ */ new WeakMap());\n __publicField(this, \"removes\", []);\n __publicField(this, \"mapRemoves\", []);\n __publicField(this, \"movedMap\", {});\n __publicField(this, \"addedSet\", /* @__PURE__ */ new Set());\n __publicField(this, \"movedSet\", /* @__PURE__ */ new Set());\n __publicField(this, \"droppedSet\", /* @__PURE__ */ new Set());\n __publicField(this, \"removesSubTreeCache\", /* @__PURE__ */ new Set());\n __publicField(this, \"mutationCb\");\n __publicField(this, \"blockClass\");\n __publicField(this, \"blockSelector\");\n __publicField(this, \"maskTextClass\");\n __publicField(this, \"maskTextSelector\");\n __publicField(this, \"inlineStylesheet\");\n __publicField(this, \"maskInputOptions\");\n __publicField(this, \"maskTextFn\");\n __publicField(this, \"maskInputFn\");\n __publicField(this, \"keepIframeSrcFn\");\n __publicField(this, \"recordCanvas\");\n __publicField(this, \"inlineImages\");\n __publicField(this, \"slimDOMOptions\");\n __publicField(this, \"dataURLOptions\");\n __publicField(this, \"doc\");\n __publicField(this, \"mirror\");\n __publicField(this, \"iframeManager\");\n __publicField(this, \"stylesheetManager\");\n __publicField(this, \"shadowDomManager\");\n __publicField(this, \"canvasManager\");\n __publicField(this, \"processedNodeManager\");\n __publicField(this, \"unattachedDoc\");\n __publicField(this, \"processMutations\", (mutations) => {\n mutations.forEach(this.processMutation);\n this.emit();\n });\n __publicField(this, \"emit\", () => {\n if (this.frozen || this.locked) {\n return;\n }\n const adds = [];\n const addedIds = /* @__PURE__ */ new Set();\n const addList = new DoubleLinkedList();\n const getNextId = (n2) => {\n let ns = n2;\n let nextId = IGNORED_NODE;\n while (nextId === IGNORED_NODE) {\n ns = ns && ns.nextSibling;\n nextId = ns && this.mirror.getId(ns);\n }\n return nextId;\n };\n const pushAdd = (n2) => {\n const parent = index.parentNode(n2);\n if (!parent || !inDom(n2)) {\n return;\n }\n let cssCaptured = false;\n if (n2.nodeType === Node.TEXT_NODE) {\n const parentTag = parent.tagName;\n if (parentTag === \"TEXTAREA\") {\n return;\n } else if (parentTag === \"STYLE\" && this.addedSet.has(parent)) {\n cssCaptured = true;\n }\n }\n const parentId = isShadowRoot(parent) ? this.mirror.getId(getShadowHost(n2)) : this.mirror.getId(parent);\n const nextId = getNextId(n2);\n if (parentId === -1 || nextId === -1) {\n return addList.addNode(n2);\n }\n const sn = serializeNodeWithId(n2, {\n doc: this.doc,\n mirror: this.mirror,\n blockClass: this.blockClass,\n blockSelector: this.blockSelector,\n maskTextClass: this.maskTextClass,\n maskTextSelector: this.maskTextSelector,\n skipChild: true,\n newlyAddedElement: true,\n inlineStylesheet: this.inlineStylesheet,\n maskInputOptions: this.maskInputOptions,\n maskTextFn: this.maskTextFn,\n maskInputFn: this.maskInputFn,\n slimDOMOptions: this.slimDOMOptions,\n dataURLOptions: this.dataURLOptions,\n recordCanvas: this.recordCanvas,\n inlineImages: this.inlineImages,\n onSerialize: (currentN) => {\n if (isSerializedIframe(currentN, this.mirror)) {\n this.iframeManager.addIframe(currentN);\n }\n if (isSerializedStylesheet(currentN, this.mirror)) {\n this.stylesheetManager.trackLinkElement(\n currentN\n );\n }\n if (hasShadowRoot(n2)) {\n this.shadowDomManager.addShadowRoot(index.shadowRoot(n2), this.doc);\n }\n },\n onIframeLoad: (iframe, childSn) => {\n this.iframeManager.attachIframe(iframe, childSn);\n this.shadowDomManager.observeAttachShadow(iframe);\n },\n onStylesheetLoad: (link, childSn) => {\n this.stylesheetManager.attachLinkElement(link, childSn);\n },\n cssCaptured\n });\n if (sn) {\n adds.push({\n parentId,\n nextId,\n node: sn\n });\n addedIds.add(sn.id);\n }\n };\n while (this.mapRemoves.length) {\n this.mirror.removeNodeFromMap(this.mapRemoves.shift());\n }\n for (const n2 of this.movedSet) {\n if (isParentRemoved(this.removesSubTreeCache, n2, this.mirror) && !this.movedSet.has(index.parentNode(n2))) {\n continue;\n }\n pushAdd(n2);\n }\n for (const n2 of this.addedSet) {\n if (!isAncestorInSet(this.droppedSet, n2) && !isParentRemoved(this.removesSubTreeCache, n2, this.mirror)) {\n pushAdd(n2);\n } else if (isAncestorInSet(this.movedSet, n2)) {\n pushAdd(n2);\n } else {\n this.droppedSet.add(n2);\n }\n }\n let candidate = null;\n while (addList.length) {\n let node2 = null;\n if (candidate) {\n const parentId = this.mirror.getId(index.parentNode(candidate.value));\n const nextId = getNextId(candidate.value);\n if (parentId !== -1 && nextId !== -1) {\n node2 = candidate;\n }\n }\n if (!node2) {\n let tailNode = addList.tail;\n while (tailNode) {\n const _node = tailNode;\n tailNode = tailNode.previous;\n if (_node) {\n const parentId = this.mirror.getId(index.parentNode(_node.value));\n const nextId = getNextId(_node.value);\n if (nextId === -1) continue;\n else if (parentId !== -1) {\n node2 = _node;\n break;\n } else {\n const unhandledNode = _node.value;\n const parent = index.parentNode(unhandledNode);\n if (parent && parent.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n const shadowHost = index.host(parent);\n const parentId2 = this.mirror.getId(shadowHost);\n if (parentId2 !== -1) {\n node2 = _node;\n break;\n }\n }\n }\n }\n }\n }\n if (!node2) {\n while (addList.head) {\n addList.removeNode(addList.head.value);\n }\n break;\n }\n candidate = node2.previous;\n addList.removeNode(node2.value);\n pushAdd(node2.value);\n }\n const payload = {\n texts: this.texts.map((text) => {\n const n2 = text.node;\n const parent = index.parentNode(n2);\n if (parent && parent.tagName === \"TEXTAREA\") {\n this.genTextAreaValueMutation(parent);\n }\n return {\n id: this.mirror.getId(n2),\n value: text.value\n };\n }).filter((text) => !addedIds.has(text.id)).filter((text) => this.mirror.has(text.id)),\n attributes: this.attributes.map((attribute) => {\n const { attributes } = attribute;\n if (typeof attributes.style === \"string\") {\n const diffAsStr = JSON.stringify(attribute.styleDiff);\n const unchangedAsStr = JSON.stringify(attribute._unchangedStyles);\n if (diffAsStr.length < attributes.style.length) {\n if ((diffAsStr + unchangedAsStr).split(\"var(\").length === attributes.style.split(\"var(\").length) {\n attributes.style = attribute.styleDiff;\n }\n }\n }\n return {\n id: this.mirror.getId(attribute.node),\n attributes\n };\n }).filter((attribute) => !addedIds.has(attribute.id)).filter((attribute) => this.mirror.has(attribute.id)),\n removes: this.removes,\n adds\n };\n if (!payload.texts.length && !payload.attributes.length && !payload.removes.length && !payload.adds.length) {\n return;\n }\n this.texts = [];\n this.attributes = [];\n this.attributeMap = /* @__PURE__ */ new WeakMap();\n this.removes = [];\n this.addedSet = /* @__PURE__ */ new Set();\n this.movedSet = /* @__PURE__ */ new Set();\n this.droppedSet = /* @__PURE__ */ new Set();\n this.removesSubTreeCache = /* @__PURE__ */ new Set();\n this.movedMap = {};\n this.mutationCb(payload);\n });\n __publicField(this, \"genTextAreaValueMutation\", (textarea) => {\n let item = this.attributeMap.get(textarea);\n if (!item) {\n item = {\n node: textarea,\n attributes: {},\n styleDiff: {},\n _unchangedStyles: {}\n };\n this.attributes.push(item);\n this.attributeMap.set(textarea, item);\n }\n item.attributes.value = Array.from(\n index.childNodes(textarea),\n (cn) => index.textContent(cn) || \"\"\n ).join(\"\");\n });\n __publicField(this, \"processMutation\", (m) => {\n if (isIgnored(m.target, this.mirror, this.slimDOMOptions)) {\n return;\n }\n switch (m.type) {\n case \"characterData\": {\n const value = index.textContent(m.target);\n if (!isBlocked(m.target, this.blockClass, this.blockSelector, false) && value !== m.oldValue) {\n this.texts.push({\n value: needMaskingText(\n m.target,\n this.maskTextClass,\n this.maskTextSelector,\n true\n // checkAncestors\n ) && value ? this.maskTextFn ? this.maskTextFn(value, closestElementOfNode(m.target)) : value.replace(/[\\S]/g, \"*\") : value,\n node: m.target\n });\n }\n break;\n }\n case \"attributes\": {\n const target = m.target;\n let attributeName = m.attributeName;\n let value = m.target.getAttribute(attributeName);\n if (attributeName === \"value\") {\n const type = getInputType(target);\n value = maskInputValue({\n element: target,\n maskInputOptions: this.maskInputOptions,\n tagName: target.tagName,\n type,\n value,\n maskInputFn: this.maskInputFn\n });\n }\n if (isBlocked(m.target, this.blockClass, this.blockSelector, false) || value === m.oldValue) {\n return;\n }\n let item = this.attributeMap.get(m.target);\n if (target.tagName === \"IFRAME\" && attributeName === \"src\" && !this.keepIframeSrcFn(value)) {\n if (!target.contentDocument) {\n attributeName = \"rr_src\";\n } else {\n return;\n }\n }\n if (!item) {\n item = {\n node: m.target,\n attributes: {},\n styleDiff: {},\n _unchangedStyles: {}\n };\n this.attributes.push(item);\n this.attributeMap.set(m.target, item);\n }\n if (attributeName === \"type\" && target.tagName === \"INPUT\" && (m.oldValue || \"\").toLowerCase() === \"password\") {\n target.setAttribute(\"data-rr-is-password\", \"true\");\n }\n if (!ignoreAttribute(target.tagName, attributeName)) {\n item.attributes[attributeName] = transformAttribute(\n this.doc,\n toLowerCase(target.tagName),\n toLowerCase(attributeName),\n value\n );\n if (attributeName === \"style\") {\n if (!this.unattachedDoc) {\n try {\n this.unattachedDoc = document.implementation.createHTMLDocument();\n } catch (e2) {\n this.unattachedDoc = this.doc;\n }\n }\n const old = this.unattachedDoc.createElement(\"span\");\n if (m.oldValue) {\n old.setAttribute(\"style\", m.oldValue);\n }\n for (const pname of Array.from(target.style)) {\n const newValue = target.style.getPropertyValue(pname);\n const newPriority = target.style.getPropertyPriority(pname);\n if (newValue !== old.style.getPropertyValue(pname) || newPriority !== old.style.getPropertyPriority(pname)) {\n if (newPriority === \"\") {\n item.styleDiff[pname] = newValue;\n } else {\n item.styleDiff[pname] = [newValue, newPriority];\n }\n } else {\n item._unchangedStyles[pname] = [newValue, newPriority];\n }\n }\n for (const pname of Array.from(old.style)) {\n if (target.style.getPropertyValue(pname) === \"\") {\n item.styleDiff[pname] = false;\n }\n }\n } else if (attributeName === \"open\" && target.tagName === \"DIALOG\") {\n if (target.matches(\"dialog:modal\")) {\n item.attributes[\"rr_open_mode\"] = \"modal\";\n } else {\n item.attributes[\"rr_open_mode\"] = \"non-modal\";\n }\n }\n }\n break;\n }\n case \"childList\": {\n if (isBlocked(m.target, this.blockClass, this.blockSelector, true))\n return;\n if (m.target.tagName === \"TEXTAREA\") {\n this.genTextAreaValueMutation(m.target);\n return;\n }\n m.addedNodes.forEach((n2) => this.genAdds(n2, m.target));\n m.removedNodes.forEach((n2) => {\n const nodeId = this.mirror.getId(n2);\n const parentId = isShadowRoot(m.target) ? this.mirror.getId(index.host(m.target)) : this.mirror.getId(m.target);\n if (isBlocked(m.target, this.blockClass, this.blockSelector, false) || isIgnored(n2, this.mirror, this.slimDOMOptions) || !isSerialized(n2, this.mirror)) {\n return;\n }\n if (this.addedSet.has(n2)) {\n deepDelete(this.addedSet, n2);\n this.droppedSet.add(n2);\n } else if (this.addedSet.has(m.target) && nodeId === -1) ;\n else if (isAncestorRemoved(m.target, this.mirror)) ;\n else if (this.movedSet.has(n2) && this.movedMap[moveKey(nodeId, parentId)]) {\n deepDelete(this.movedSet, n2);\n } else {\n this.removes.push({\n parentId,\n id: nodeId,\n isShadow: isShadowRoot(m.target) && isNativeShadowDom(m.target) ? true : void 0\n });\n processRemoves(n2, this.removesSubTreeCache);\n }\n this.mapRemoves.push(n2);\n });\n break;\n }\n }\n });\n __publicField(this, \"genAdds\", (n2, target) => {\n if (this.processedNodeManager.inOtherBuffer(n2, this)) return;\n if (this.addedSet.has(n2) || this.movedSet.has(n2)) return;\n if (this.mirror.hasNode(n2)) {\n if (isIgnored(n2, this.mirror, this.slimDOMOptions)) {\n return;\n }\n this.movedSet.add(n2);\n let targetId = null;\n if (target && this.mirror.hasNode(target)) {\n targetId = this.mirror.getId(target);\n }\n if (targetId && targetId !== -1) {\n this.movedMap[moveKey(this.mirror.getId(n2), targetId)] = true;\n }\n } else {\n this.addedSet.add(n2);\n this.droppedSet.delete(n2);\n }\n if (!isBlocked(n2, this.blockClass, this.blockSelector, false)) {\n index.childNodes(n2).forEach((childN) => this.genAdds(childN));\n if (hasShadowRoot(n2)) {\n index.childNodes(index.shadowRoot(n2)).forEach((childN) => {\n this.processedNodeManager.add(childN, this);\n this.genAdds(childN, n2);\n });\n }\n }\n });\n }\n init(options) {\n [\n \"mutationCb\",\n \"blockClass\",\n \"blockSelector\",\n \"maskTextClass\",\n \"maskTextSelector\",\n \"inlineStylesheet\",\n \"maskInputOptions\",\n \"maskTextFn\",\n \"maskInputFn\",\n \"keepIframeSrcFn\",\n \"recordCanvas\",\n \"inlineImages\",\n \"slimDOMOptions\",\n \"dataURLOptions\",\n \"doc\",\n \"mirror\",\n \"iframeManager\",\n \"stylesheetManager\",\n \"shadowDomManager\",\n \"canvasManager\",\n \"processedNodeManager\"\n ].forEach((key) => {\n this[key] = options[key];\n });\n }\n freeze() {\n this.frozen = true;\n this.canvasManager.freeze();\n }\n unfreeze() {\n this.frozen = false;\n this.canvasManager.unfreeze();\n this.emit();\n }\n isFrozen() {\n return this.frozen;\n }\n lock() {\n this.locked = true;\n this.canvasManager.lock();\n }\n unlock() {\n this.locked = false;\n this.canvasManager.unlock();\n this.emit();\n }\n reset() {\n this.shadowDomManager.reset();\n this.canvasManager.reset();\n }\n}\nfunction deepDelete(addsSet, n2) {\n addsSet.delete(n2);\n index.childNodes(n2).forEach((childN) => deepDelete(addsSet, childN));\n}\nfunction processRemoves(n2, cache) {\n const queue = [n2];\n while (queue.length) {\n const next = queue.pop();\n if (cache.has(next)) continue;\n cache.add(next);\n index.childNodes(next).forEach((n22) => queue.push(n22));\n }\n return;\n}\nfunction isParentRemoved(removes, n2, mirror2) {\n if (removes.size === 0) return false;\n return _isParentRemoved(removes, n2);\n}\nfunction _isParentRemoved(removes, n2, _mirror2) {\n const node2 = index.parentNode(n2);\n if (!node2) return false;\n return removes.has(node2);\n}\nfunction isAncestorInSet(set, n2) {\n if (set.size === 0) return false;\n return _isAncestorInSet(set, n2);\n}\nfunction _isAncestorInSet(set, n2) {\n const parent = index.parentNode(n2);\n if (!parent) {\n return false;\n }\n if (set.has(parent)) {\n return true;\n }\n return _isAncestorInSet(set, parent);\n}\nlet errorHandler;\nfunction registerErrorHandler(handler) {\n errorHandler = handler;\n}\nfunction unregisterErrorHandler() {\n errorHandler = void 0;\n}\nconst callbackWrapper = (cb) => {\n if (!errorHandler) {\n return cb;\n }\n const rrwebWrapped = (...rest) => {\n try {\n return cb(...rest);\n } catch (error) {\n if (errorHandler && errorHandler(error) === true) {\n return;\n }\n throw error;\n }\n };\n return rrwebWrapped;\n};\nconst mutationBuffers = [];\nfunction getEventTarget(event) {\n try {\n if (\"composedPath\" in event) {\n const path = event.composedPath();\n if (path.length) {\n return path[0];\n }\n } else if (\"path\" in event && event.path.length) {\n return event.path[0];\n }\n } catch {\n }\n return event && event.target;\n}\nfunction initMutationObserver(options, rootEl) {\n const mutationBuffer = new MutationBuffer();\n mutationBuffers.push(mutationBuffer);\n mutationBuffer.init(options);\n const observer = new (mutationObserverCtor())(\n callbackWrapper(mutationBuffer.processMutations.bind(mutationBuffer))\n );\n observer.observe(rootEl, {\n attributes: true,\n attributeOldValue: true,\n characterData: true,\n characterDataOldValue: true,\n childList: true,\n subtree: true\n });\n return observer;\n}\nfunction initMoveObserver({\n mousemoveCb,\n sampling,\n doc,\n mirror: mirror2\n}) {\n if (sampling.mousemove === false) {\n return () => {\n };\n }\n const threshold = typeof sampling.mousemove === \"number\" ? sampling.mousemove : 50;\n const callbackThreshold = typeof sampling.mousemoveCallback === \"number\" ? sampling.mousemoveCallback : 500;\n let positions = [];\n let timeBaseline;\n const wrappedCb = throttle(\n callbackWrapper(\n (source) => {\n const totalOffset = Date.now() - timeBaseline;\n mousemoveCb(\n positions.map((p) => {\n p.timeOffset -= totalOffset;\n return p;\n }),\n source\n );\n positions = [];\n timeBaseline = null;\n }\n ),\n callbackThreshold\n );\n const updatePosition = callbackWrapper(\n throttle(\n callbackWrapper((evt) => {\n const target = getEventTarget(evt);\n const { clientX, clientY } = legacy_isTouchEvent(evt) ? evt.changedTouches[0] : evt;\n if (!timeBaseline) {\n timeBaseline = nowTimestamp();\n }\n positions.push({\n x: clientX,\n y: clientY,\n id: mirror2.getId(target),\n timeOffset: nowTimestamp() - timeBaseline\n });\n wrappedCb(\n typeof DragEvent !== \"undefined\" && evt instanceof DragEvent ? IncrementalSource.Drag : evt instanceof MouseEvent ? IncrementalSource.MouseMove : IncrementalSource.TouchMove\n );\n }),\n threshold,\n {\n trailing: false\n }\n )\n );\n const handlers = [\n on(\"mousemove\", updatePosition, doc),\n on(\"touchmove\", updatePosition, doc),\n on(\"drag\", updatePosition, doc)\n ];\n return callbackWrapper(() => {\n handlers.forEach((h) => h());\n });\n}\nfunction initMouseInteractionObserver({\n mouseInteractionCb,\n doc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n sampling\n}) {\n if (sampling.mouseInteraction === false) {\n return () => {\n };\n }\n const disableMap = sampling.mouseInteraction === true || sampling.mouseInteraction === void 0 ? {} : sampling.mouseInteraction;\n const handlers = [];\n let currentPointerType = null;\n const getHandler = (eventKey) => {\n return (event) => {\n const target = getEventTarget(event);\n if (isBlocked(target, blockClass, blockSelector, true)) {\n return;\n }\n let pointerType = null;\n let thisEventKey = eventKey;\n if (\"pointerType\" in event) {\n switch (event.pointerType) {\n case \"mouse\":\n pointerType = PointerTypes.Mouse;\n break;\n case \"touch\":\n pointerType = PointerTypes.Touch;\n break;\n case \"pen\":\n pointerType = PointerTypes.Pen;\n break;\n }\n if (pointerType === PointerTypes.Touch) {\n if (MouseInteractions[eventKey] === MouseInteractions.MouseDown) {\n thisEventKey = \"TouchStart\";\n } else if (MouseInteractions[eventKey] === MouseInteractions.MouseUp) {\n thisEventKey = \"TouchEnd\";\n }\n } else if (pointerType === PointerTypes.Pen) ;\n } else if (legacy_isTouchEvent(event)) {\n pointerType = PointerTypes.Touch;\n }\n if (pointerType !== null) {\n currentPointerType = pointerType;\n if (thisEventKey.startsWith(\"Touch\") && pointerType === PointerTypes.Touch || thisEventKey.startsWith(\"Mouse\") && pointerType === PointerTypes.Mouse) {\n pointerType = null;\n }\n } else if (MouseInteractions[eventKey] === MouseInteractions.Click) {\n pointerType = currentPointerType;\n currentPointerType = null;\n }\n const e2 = legacy_isTouchEvent(event) ? event.changedTouches[0] : event;\n if (!e2) {\n return;\n }\n const id = mirror2.getId(target);\n const { clientX, clientY } = e2;\n callbackWrapper(mouseInteractionCb)({\n type: MouseInteractions[thisEventKey],\n id,\n x: clientX,\n y: clientY,\n ...pointerType !== null && { pointerType }\n });\n };\n };\n Object.keys(MouseInteractions).filter(\n (key) => Number.isNaN(Number(key)) && !key.endsWith(\"_Departed\") && disableMap[key] !== false\n ).forEach((eventKey) => {\n let eventName = toLowerCase(eventKey);\n const handler = getHandler(eventKey);\n if (window.PointerEvent) {\n switch (MouseInteractions[eventKey]) {\n case MouseInteractions.MouseDown:\n case MouseInteractions.MouseUp:\n eventName = eventName.replace(\n \"mouse\",\n \"pointer\"\n );\n break;\n case MouseInteractions.TouchStart:\n case MouseInteractions.TouchEnd:\n return;\n }\n }\n handlers.push(on(eventName, handler, doc));\n });\n return callbackWrapper(() => {\n handlers.forEach((h) => h());\n });\n}\nfunction initScrollObserver({\n scrollCb,\n doc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n sampling\n}) {\n const updatePosition = callbackWrapper(\n throttle(\n callbackWrapper((evt) => {\n const target = getEventTarget(evt);\n if (!target || isBlocked(target, blockClass, blockSelector, true)) {\n return;\n }\n const id = mirror2.getId(target);\n if (target === doc && doc.defaultView) {\n const scrollLeftTop = getWindowScroll(doc.defaultView);\n scrollCb({\n id,\n x: scrollLeftTop.left,\n y: scrollLeftTop.top\n });\n } else {\n scrollCb({\n id,\n x: target.scrollLeft,\n y: target.scrollTop\n });\n }\n }),\n sampling.scroll || 100\n )\n );\n return on(\"scroll\", updatePosition, doc);\n}\nfunction initViewportResizeObserver({ viewportResizeCb }, { win }) {\n let lastH = -1;\n let lastW = -1;\n const updateDimension = callbackWrapper(\n throttle(\n callbackWrapper(() => {\n const height = getWindowHeight();\n const width = getWindowWidth();\n if (lastH !== height || lastW !== width) {\n viewportResizeCb({\n width: Number(width),\n height: Number(height)\n });\n lastH = height;\n lastW = width;\n }\n }),\n 200\n )\n );\n return on(\"resize\", updateDimension, win);\n}\nconst INPUT_TAGS = [\"INPUT\", \"TEXTAREA\", \"SELECT\"];\nconst lastInputValueMap = /* @__PURE__ */ new WeakMap();\nfunction initInputObserver({\n inputCb,\n doc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n ignoreClass,\n ignoreSelector,\n maskInputOptions,\n maskInputFn,\n sampling,\n userTriggeredOnInput\n}) {\n function eventHandler(event) {\n let target = getEventTarget(event);\n const userTriggered = event.isTrusted;\n const tagName = target && target.tagName;\n if (target && tagName === \"OPTION\") {\n target = index.parentElement(target);\n }\n if (!target || !tagName || INPUT_TAGS.indexOf(tagName) < 0 || isBlocked(target, blockClass, blockSelector, true)) {\n return;\n }\n if (target.classList.contains(ignoreClass) || ignoreSelector && target.matches(ignoreSelector)) {\n return;\n }\n let text = target.value;\n let isChecked = false;\n const type = getInputType(target) || \"\";\n if (type === \"radio\" || type === \"checkbox\") {\n isChecked = target.checked;\n } else if (maskInputOptions[tagName.toLowerCase()] || maskInputOptions[type]) {\n text = maskInputValue({\n element: target,\n maskInputOptions,\n tagName,\n type,\n value: text,\n maskInputFn\n });\n }\n cbWithDedup(\n target,\n userTriggeredOnInput ? { text, isChecked, userTriggered } : { text, isChecked }\n );\n const name = target.name;\n if (type === \"radio\" && name && isChecked) {\n doc.querySelectorAll(`input[type=\"radio\"][name=\"${name}\"]`).forEach((el) => {\n if (el !== target) {\n const text2 = el.value;\n cbWithDedup(\n el,\n userTriggeredOnInput ? { text: text2, isChecked: !isChecked, userTriggered: false } : { text: text2, isChecked: !isChecked }\n );\n }\n });\n }\n }\n function cbWithDedup(target, v2) {\n const lastInputValue = lastInputValueMap.get(target);\n if (!lastInputValue || lastInputValue.text !== v2.text || lastInputValue.isChecked !== v2.isChecked) {\n lastInputValueMap.set(target, v2);\n const id = mirror2.getId(target);\n callbackWrapper(inputCb)({\n ...v2,\n id\n });\n }\n }\n const events = sampling.input === \"last\" ? [\"change\"] : [\"input\", \"change\"];\n const handlers = events.map(\n (eventName) => on(eventName, callbackWrapper(eventHandler), doc)\n );\n const currentWindow = doc.defaultView;\n if (!currentWindow) {\n return () => {\n handlers.forEach((h) => h());\n };\n }\n const propertyDescriptor = currentWindow.Object.getOwnPropertyDescriptor(\n currentWindow.HTMLInputElement.prototype,\n \"value\"\n );\n const hookProperties = [\n [currentWindow.HTMLInputElement.prototype, \"value\"],\n [currentWindow.HTMLInputElement.prototype, \"checked\"],\n [currentWindow.HTMLSelectElement.prototype, \"value\"],\n [currentWindow.HTMLTextAreaElement.prototype, \"value\"],\n // Some UI library use selectedIndex to set select value\n [currentWindow.HTMLSelectElement.prototype, \"selectedIndex\"],\n [currentWindow.HTMLOptionElement.prototype, \"selected\"]\n ];\n if (propertyDescriptor && propertyDescriptor.set) {\n handlers.push(\n ...hookProperties.map(\n (p) => hookSetter(\n p[0],\n p[1],\n {\n set() {\n callbackWrapper(eventHandler)({\n target: this,\n isTrusted: false\n // userTriggered to false as this could well be programmatic\n });\n }\n },\n false,\n currentWindow\n )\n )\n );\n }\n return callbackWrapper(() => {\n handlers.forEach((h) => h());\n });\n}\nfunction getNestedCSSRulePositions(rule2) {\n const positions = [];\n function recurse(childRule, pos) {\n if (hasNestedCSSRule(\"CSSGroupingRule\") && childRule.parentRule instanceof CSSGroupingRule || hasNestedCSSRule(\"CSSMediaRule\") && childRule.parentRule instanceof CSSMediaRule || hasNestedCSSRule(\"CSSSupportsRule\") && childRule.parentRule instanceof CSSSupportsRule || hasNestedCSSRule(\"CSSConditionRule\") && childRule.parentRule instanceof CSSConditionRule) {\n const rules2 = Array.from(\n childRule.parentRule.cssRules\n );\n const index2 = rules2.indexOf(childRule);\n pos.unshift(index2);\n } else if (childRule.parentStyleSheet) {\n const rules2 = Array.from(childRule.parentStyleSheet.cssRules);\n const index2 = rules2.indexOf(childRule);\n pos.unshift(index2);\n }\n return pos;\n }\n return recurse(rule2, positions);\n}\nfunction getIdAndStyleId(sheet, mirror2, styleMirror) {\n let id, styleId;\n if (!sheet) return {};\n if (sheet.ownerNode) id = mirror2.getId(sheet.ownerNode);\n else styleId = styleMirror.getId(sheet);\n return {\n styleId,\n id\n };\n}\nfunction initStyleSheetObserver({ styleSheetRuleCb, mirror: mirror2, stylesheetManager }, { win }) {\n if (!win.CSSStyleSheet || !win.CSSStyleSheet.prototype) {\n return () => {\n };\n }\n const insertRule = win.CSSStyleSheet.prototype.insertRule;\n win.CSSStyleSheet.prototype.insertRule = new Proxy(insertRule, {\n apply: callbackWrapper(\n (target, thisArg, argumentsList) => {\n const [rule2, index2] = argumentsList;\n const { id, styleId } = getIdAndStyleId(\n thisArg,\n mirror2,\n stylesheetManager.styleMirror\n );\n if (id && id !== -1 || styleId && styleId !== -1) {\n styleSheetRuleCb({\n id,\n styleId,\n adds: [{ rule: rule2, index: index2 }]\n });\n }\n return target.apply(thisArg, argumentsList);\n }\n )\n });\n win.CSSStyleSheet.prototype.addRule = function(selector, styleBlock, index2 = this.cssRules.length) {\n const rule2 = `${selector} { ${styleBlock} }`;\n return win.CSSStyleSheet.prototype.insertRule.apply(this, [rule2, index2]);\n };\n const deleteRule = win.CSSStyleSheet.prototype.deleteRule;\n win.CSSStyleSheet.prototype.deleteRule = new Proxy(deleteRule, {\n apply: callbackWrapper(\n (target, thisArg, argumentsList) => {\n const [index2] = argumentsList;\n const { id, styleId } = getIdAndStyleId(\n thisArg,\n mirror2,\n stylesheetManager.styleMirror\n );\n if (id && id !== -1 || styleId && styleId !== -1) {\n styleSheetRuleCb({\n id,\n styleId,\n removes: [{ index: index2 }]\n });\n }\n return target.apply(thisArg, argumentsList);\n }\n )\n });\n win.CSSStyleSheet.prototype.removeRule = function(index2) {\n return win.CSSStyleSheet.prototype.deleteRule.apply(this, [index2]);\n };\n let replace;\n if (win.CSSStyleSheet.prototype.replace) {\n replace = win.CSSStyleSheet.prototype.replace;\n win.CSSStyleSheet.prototype.replace = new Proxy(replace, {\n apply: callbackWrapper(\n (target, thisArg, argumentsList) => {\n const [text] = argumentsList;\n const { id, styleId } = getIdAndStyleId(\n thisArg,\n mirror2,\n stylesheetManager.styleMirror\n );\n if (id && id !== -1 || styleId && styleId !== -1) {\n styleSheetRuleCb({\n id,\n styleId,\n replace: text\n });\n }\n return target.apply(thisArg, argumentsList);\n }\n )\n });\n }\n let replaceSync;\n if (win.CSSStyleSheet.prototype.replaceSync) {\n replaceSync = win.CSSStyleSheet.prototype.replaceSync;\n win.CSSStyleSheet.prototype.replaceSync = new Proxy(replaceSync, {\n apply: callbackWrapper(\n (target, thisArg, argumentsList) => {\n const [text] = argumentsList;\n const { id, styleId } = getIdAndStyleId(\n thisArg,\n mirror2,\n stylesheetManager.styleMirror\n );\n if (id && id !== -1 || styleId && styleId !== -1) {\n styleSheetRuleCb({\n id,\n styleId,\n replaceSync: text\n });\n }\n return target.apply(thisArg, argumentsList);\n }\n )\n });\n }\n const supportedNestedCSSRuleTypes = {};\n if (canMonkeyPatchNestedCSSRule(\"CSSGroupingRule\")) {\n supportedNestedCSSRuleTypes.CSSGroupingRule = win.CSSGroupingRule;\n } else {\n if (canMonkeyPatchNestedCSSRule(\"CSSMediaRule\")) {\n supportedNestedCSSRuleTypes.CSSMediaRule = win.CSSMediaRule;\n }\n if (canMonkeyPatchNestedCSSRule(\"CSSConditionRule\")) {\n supportedNestedCSSRuleTypes.CSSConditionRule = win.CSSConditionRule;\n }\n if (canMonkeyPatchNestedCSSRule(\"CSSSupportsRule\")) {\n supportedNestedCSSRuleTypes.CSSSupportsRule = win.CSSSupportsRule;\n }\n }\n const unmodifiedFunctions = {};\n Object.entries(supportedNestedCSSRuleTypes).forEach(([typeKey, type]) => {\n unmodifiedFunctions[typeKey] = {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n insertRule: type.prototype.insertRule,\n // eslint-disable-next-line @typescript-eslint/unbound-method\n deleteRule: type.prototype.deleteRule\n };\n type.prototype.insertRule = new Proxy(\n unmodifiedFunctions[typeKey].insertRule,\n {\n apply: callbackWrapper(\n (target, thisArg, argumentsList) => {\n const [rule2, index2] = argumentsList;\n const { id, styleId } = getIdAndStyleId(\n thisArg.parentStyleSheet,\n mirror2,\n stylesheetManager.styleMirror\n );\n if (id && id !== -1 || styleId && styleId !== -1) {\n styleSheetRuleCb({\n id,\n styleId,\n adds: [\n {\n rule: rule2,\n index: [\n ...getNestedCSSRulePositions(thisArg),\n index2 || 0\n // defaults to 0\n ]\n }\n ]\n });\n }\n return target.apply(thisArg, argumentsList);\n }\n )\n }\n );\n type.prototype.deleteRule = new Proxy(\n unmodifiedFunctions[typeKey].deleteRule,\n {\n apply: callbackWrapper(\n (target, thisArg, argumentsList) => {\n const [index2] = argumentsList;\n const { id, styleId } = getIdAndStyleId(\n thisArg.parentStyleSheet,\n mirror2,\n stylesheetManager.styleMirror\n );\n if (id && id !== -1 || styleId && styleId !== -1) {\n styleSheetRuleCb({\n id,\n styleId,\n removes: [\n { index: [...getNestedCSSRulePositions(thisArg), index2] }\n ]\n });\n }\n return target.apply(thisArg, argumentsList);\n }\n )\n }\n );\n });\n return callbackWrapper(() => {\n win.CSSStyleSheet.prototype.insertRule = insertRule;\n win.CSSStyleSheet.prototype.deleteRule = deleteRule;\n replace && (win.CSSStyleSheet.prototype.replace = replace);\n replaceSync && (win.CSSStyleSheet.prototype.replaceSync = replaceSync);\n Object.entries(supportedNestedCSSRuleTypes).forEach(([typeKey, type]) => {\n type.prototype.insertRule = unmodifiedFunctions[typeKey].insertRule;\n type.prototype.deleteRule = unmodifiedFunctions[typeKey].deleteRule;\n });\n });\n}\nfunction initAdoptedStyleSheetObserver({\n mirror: mirror2,\n stylesheetManager\n}, host2) {\n var _a2, _b, _c;\n let hostId = null;\n if (host2.nodeName === \"#document\") hostId = mirror2.getId(host2);\n else hostId = mirror2.getId(index.host(host2));\n const patchTarget = host2.nodeName === \"#document\" ? (_a2 = host2.defaultView) == null ? void 0 : _a2.Document : (_c = (_b = host2.ownerDocument) == null ? void 0 : _b.defaultView) == null ? void 0 : _c.ShadowRoot;\n const originalPropertyDescriptor = (patchTarget == null ? void 0 : patchTarget.prototype) ? Object.getOwnPropertyDescriptor(\n patchTarget == null ? void 0 : patchTarget.prototype,\n \"adoptedStyleSheets\"\n ) : void 0;\n if (hostId === null || hostId === -1 || !patchTarget || !originalPropertyDescriptor)\n return () => {\n };\n Object.defineProperty(host2, \"adoptedStyleSheets\", {\n configurable: originalPropertyDescriptor.configurable,\n enumerable: originalPropertyDescriptor.enumerable,\n get() {\n var _a3;\n return (_a3 = originalPropertyDescriptor.get) == null ? void 0 : _a3.call(this);\n },\n set(sheets) {\n var _a3;\n const result2 = (_a3 = originalPropertyDescriptor.set) == null ? void 0 : _a3.call(this, sheets);\n if (hostId !== null && hostId !== -1) {\n try {\n stylesheetManager.adoptStyleSheets(sheets, hostId);\n } catch (e2) {\n }\n }\n return result2;\n }\n });\n return callbackWrapper(() => {\n Object.defineProperty(host2, \"adoptedStyleSheets\", {\n configurable: originalPropertyDescriptor.configurable,\n enumerable: originalPropertyDescriptor.enumerable,\n // eslint-disable-next-line @typescript-eslint/unbound-method\n get: originalPropertyDescriptor.get,\n // eslint-disable-next-line @typescript-eslint/unbound-method\n set: originalPropertyDescriptor.set\n });\n });\n}\nfunction initStyleDeclarationObserver({\n styleDeclarationCb,\n mirror: mirror2,\n ignoreCSSAttributes,\n stylesheetManager\n}, { win }) {\n const setProperty = win.CSSStyleDeclaration.prototype.setProperty;\n win.CSSStyleDeclaration.prototype.setProperty = new Proxy(setProperty, {\n apply: callbackWrapper(\n (target, thisArg, argumentsList) => {\n var _a2;\n const [property, value, priority] = argumentsList;\n if (ignoreCSSAttributes.has(property)) {\n return setProperty.apply(thisArg, [property, value, priority]);\n }\n const { id, styleId } = getIdAndStyleId(\n (_a2 = thisArg.parentRule) == null ? void 0 : _a2.parentStyleSheet,\n mirror2,\n stylesheetManager.styleMirror\n );\n if (id && id !== -1 || styleId && styleId !== -1) {\n styleDeclarationCb({\n id,\n styleId,\n set: {\n property,\n value,\n priority\n },\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n index: getNestedCSSRulePositions(thisArg.parentRule)\n });\n }\n return target.apply(thisArg, argumentsList);\n }\n )\n });\n const removeProperty = win.CSSStyleDeclaration.prototype.removeProperty;\n win.CSSStyleDeclaration.prototype.removeProperty = new Proxy(removeProperty, {\n apply: callbackWrapper(\n (target, thisArg, argumentsList) => {\n var _a2;\n const [property] = argumentsList;\n if (ignoreCSSAttributes.has(property)) {\n return removeProperty.apply(thisArg, [property]);\n }\n const { id, styleId } = getIdAndStyleId(\n (_a2 = thisArg.parentRule) == null ? void 0 : _a2.parentStyleSheet,\n mirror2,\n stylesheetManager.styleMirror\n );\n if (id && id !== -1 || styleId && styleId !== -1) {\n styleDeclarationCb({\n id,\n styleId,\n remove: {\n property\n },\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n index: getNestedCSSRulePositions(thisArg.parentRule)\n });\n }\n return target.apply(thisArg, argumentsList);\n }\n )\n });\n return callbackWrapper(() => {\n win.CSSStyleDeclaration.prototype.setProperty = setProperty;\n win.CSSStyleDeclaration.prototype.removeProperty = removeProperty;\n });\n}\nfunction initMediaInteractionObserver({\n mediaInteractionCb,\n blockClass,\n blockSelector,\n mirror: mirror2,\n sampling,\n doc\n}) {\n const handler = callbackWrapper(\n (type) => throttle(\n callbackWrapper((event) => {\n const target = getEventTarget(event);\n if (!target || isBlocked(target, blockClass, blockSelector, true)) {\n return;\n }\n const { currentTime, volume, muted, playbackRate, loop } = target;\n mediaInteractionCb({\n type,\n id: mirror2.getId(target),\n currentTime,\n volume,\n muted,\n playbackRate,\n loop\n });\n }),\n sampling.media || 500\n )\n );\n const handlers = [\n on(\"play\", handler(MediaInteractions.Play), doc),\n on(\"pause\", handler(MediaInteractions.Pause), doc),\n on(\"seeked\", handler(MediaInteractions.Seeked), doc),\n on(\"volumechange\", handler(MediaInteractions.VolumeChange), doc),\n on(\"ratechange\", handler(MediaInteractions.RateChange), doc)\n ];\n return callbackWrapper(() => {\n handlers.forEach((h) => h());\n });\n}\nfunction initFontObserver({ fontCb, doc }) {\n const win = doc.defaultView;\n if (!win) {\n return () => {\n };\n }\n const handlers = [];\n const fontMap = /* @__PURE__ */ new WeakMap();\n const originalFontFace = win.FontFace;\n win.FontFace = function FontFace2(family, source, descriptors) {\n const fontFace = new originalFontFace(family, source, descriptors);\n fontMap.set(fontFace, {\n family,\n buffer: typeof source !== \"string\",\n descriptors,\n fontSource: typeof source === \"string\" ? source : JSON.stringify(Array.from(new Uint8Array(source)))\n });\n return fontFace;\n };\n const restoreHandler = patch(\n doc.fonts,\n \"add\",\n function(original) {\n return function(fontFace) {\n setTimeout(\n callbackWrapper(() => {\n const p = fontMap.get(fontFace);\n if (p) {\n fontCb(p);\n fontMap.delete(fontFace);\n }\n }),\n 0\n );\n return original.apply(this, [fontFace]);\n };\n }\n );\n handlers.push(() => {\n win.FontFace = originalFontFace;\n });\n handlers.push(restoreHandler);\n return callbackWrapper(() => {\n handlers.forEach((h) => h());\n });\n}\nfunction initSelectionObserver(param) {\n const { doc, mirror: mirror2, blockClass, blockSelector, selectionCb } = param;\n let collapsed = true;\n const updateSelection = callbackWrapper(() => {\n const selection = doc.getSelection();\n if (!selection || collapsed && (selection == null ? void 0 : selection.isCollapsed)) return;\n collapsed = selection.isCollapsed || false;\n const ranges = [];\n const count = selection.rangeCount || 0;\n for (let i2 = 0; i2 < count; i2++) {\n const range = selection.getRangeAt(i2);\n const { startContainer, startOffset, endContainer, endOffset } = range;\n const blocked = isBlocked(startContainer, blockClass, blockSelector, true) || isBlocked(endContainer, blockClass, blockSelector, true);\n if (blocked) continue;\n ranges.push({\n start: mirror2.getId(startContainer),\n startOffset,\n end: mirror2.getId(endContainer),\n endOffset\n });\n }\n selectionCb({ ranges });\n });\n updateSelection();\n return on(\"selectionchange\", updateSelection);\n}\nfunction initCustomElementObserver({\n doc,\n customElementCb\n}) {\n const win = doc.defaultView;\n if (!win || !win.customElements) return () => {\n };\n const restoreHandler = patch(\n win.customElements,\n \"define\",\n function(original) {\n return function(name, constructor, options) {\n try {\n customElementCb({\n define: {\n name\n }\n });\n } catch (e2) {\n console.warn(`Custom element callback failed for ${name}`);\n }\n return original.apply(this, [name, constructor, options]);\n };\n }\n );\n return restoreHandler;\n}\nfunction mergeHooks(o2, hooks) {\n const {\n mutationCb,\n mousemoveCb,\n mouseInteractionCb,\n scrollCb,\n viewportResizeCb,\n inputCb,\n mediaInteractionCb,\n styleSheetRuleCb,\n styleDeclarationCb,\n canvasMutationCb,\n fontCb,\n selectionCb,\n customElementCb\n } = o2;\n o2.mutationCb = (...p) => {\n if (hooks.mutation) {\n hooks.mutation(...p);\n }\n mutationCb(...p);\n };\n o2.mousemoveCb = (...p) => {\n if (hooks.mousemove) {\n hooks.mousemove(...p);\n }\n mousemoveCb(...p);\n };\n o2.mouseInteractionCb = (...p) => {\n if (hooks.mouseInteraction) {\n hooks.mouseInteraction(...p);\n }\n mouseInteractionCb(...p);\n };\n o2.scrollCb = (...p) => {\n if (hooks.scroll) {\n hooks.scroll(...p);\n }\n scrollCb(...p);\n };\n o2.viewportResizeCb = (...p) => {\n if (hooks.viewportResize) {\n hooks.viewportResize(...p);\n }\n viewportResizeCb(...p);\n };\n o2.inputCb = (...p) => {\n if (hooks.input) {\n hooks.input(...p);\n }\n inputCb(...p);\n };\n o2.mediaInteractionCb = (...p) => {\n if (hooks.mediaInteaction) {\n hooks.mediaInteaction(...p);\n }\n mediaInteractionCb(...p);\n };\n o2.styleSheetRuleCb = (...p) => {\n if (hooks.styleSheetRule) {\n hooks.styleSheetRule(...p);\n }\n styleSheetRuleCb(...p);\n };\n o2.styleDeclarationCb = (...p) => {\n if (hooks.styleDeclaration) {\n hooks.styleDeclaration(...p);\n }\n styleDeclarationCb(...p);\n };\n o2.canvasMutationCb = (...p) => {\n if (hooks.canvasMutation) {\n hooks.canvasMutation(...p);\n }\n canvasMutationCb(...p);\n };\n o2.fontCb = (...p) => {\n if (hooks.font) {\n hooks.font(...p);\n }\n fontCb(...p);\n };\n o2.selectionCb = (...p) => {\n if (hooks.selection) {\n hooks.selection(...p);\n }\n selectionCb(...p);\n };\n o2.customElementCb = (...c2) => {\n if (hooks.customElement) {\n hooks.customElement(...c2);\n }\n customElementCb(...c2);\n };\n}\nfunction initObservers(o2, hooks = {}) {\n const currentWindow = o2.doc.defaultView;\n if (!currentWindow) {\n return () => {\n };\n }\n mergeHooks(o2, hooks);\n let mutationObserver;\n if (o2.recordDOM) {\n mutationObserver = initMutationObserver(o2, o2.doc);\n }\n const mousemoveHandler = initMoveObserver(o2);\n const mouseInteractionHandler = initMouseInteractionObserver(o2);\n const scrollHandler = initScrollObserver(o2);\n const viewportResizeHandler = initViewportResizeObserver(o2, {\n win: currentWindow\n });\n const inputHandler = initInputObserver(o2);\n const mediaInteractionHandler = initMediaInteractionObserver(o2);\n let styleSheetObserver = () => {\n };\n let adoptedStyleSheetObserver = () => {\n };\n let styleDeclarationObserver = () => {\n };\n let fontObserver = () => {\n };\n if (o2.recordDOM) {\n styleSheetObserver = initStyleSheetObserver(o2, { win: currentWindow });\n adoptedStyleSheetObserver = initAdoptedStyleSheetObserver(o2, o2.doc);\n styleDeclarationObserver = initStyleDeclarationObserver(o2, {\n win: currentWindow\n });\n if (o2.collectFonts) {\n fontObserver = initFontObserver(o2);\n }\n }\n const selectionObserver = initSelectionObserver(o2);\n const customElementObserver = initCustomElementObserver(o2);\n const pluginHandlers = [];\n for (const plugin3 of o2.plugins) {\n pluginHandlers.push(\n plugin3.observer(plugin3.callback, currentWindow, plugin3.options)\n );\n }\n return callbackWrapper(() => {\n mutationBuffers.forEach((b) => b.reset());\n mutationObserver == null ? void 0 : mutationObserver.disconnect();\n mousemoveHandler();\n mouseInteractionHandler();\n scrollHandler();\n viewportResizeHandler();\n inputHandler();\n mediaInteractionHandler();\n styleSheetObserver();\n adoptedStyleSheetObserver();\n styleDeclarationObserver();\n fontObserver();\n selectionObserver();\n customElementObserver();\n pluginHandlers.forEach((h) => h());\n });\n}\nfunction hasNestedCSSRule(prop) {\n return typeof window[prop] !== \"undefined\";\n}\nfunction canMonkeyPatchNestedCSSRule(prop) {\n return Boolean(\n typeof window[prop] !== \"undefined\" && // Note: Generally, this check _shouldn't_ be necessary\n // However, in some scenarios (e.g. jsdom) this can sometimes fail, so we check for it here\n window[prop].prototype && \"insertRule\" in window[prop].prototype && \"deleteRule\" in window[prop].prototype\n );\n}\nclass CrossOriginIframeMirror {\n constructor(generateIdFn) {\n __publicField(this, \"iframeIdToRemoteIdMap\", /* @__PURE__ */ new WeakMap());\n __publicField(this, \"iframeRemoteIdToIdMap\", /* @__PURE__ */ new WeakMap());\n this.generateIdFn = generateIdFn;\n }\n getId(iframe, remoteId, idToRemoteMap, remoteToIdMap) {\n const idToRemoteIdMap = idToRemoteMap || this.getIdToRemoteIdMap(iframe);\n const remoteIdToIdMap = remoteToIdMap || this.getRemoteIdToIdMap(iframe);\n let id = idToRemoteIdMap.get(remoteId);\n if (!id) {\n id = this.generateIdFn();\n idToRemoteIdMap.set(remoteId, id);\n remoteIdToIdMap.set(id, remoteId);\n }\n return id;\n }\n getIds(iframe, remoteId) {\n const idToRemoteIdMap = this.getIdToRemoteIdMap(iframe);\n const remoteIdToIdMap = this.getRemoteIdToIdMap(iframe);\n return remoteId.map(\n (id) => this.getId(iframe, id, idToRemoteIdMap, remoteIdToIdMap)\n );\n }\n getRemoteId(iframe, id, map) {\n const remoteIdToIdMap = map || this.getRemoteIdToIdMap(iframe);\n if (typeof id !== \"number\") return id;\n const remoteId = remoteIdToIdMap.get(id);\n if (!remoteId) return -1;\n return remoteId;\n }\n getRemoteIds(iframe, ids) {\n const remoteIdToIdMap = this.getRemoteIdToIdMap(iframe);\n return ids.map((id) => this.getRemoteId(iframe, id, remoteIdToIdMap));\n }\n reset(iframe) {\n if (!iframe) {\n this.iframeIdToRemoteIdMap = /* @__PURE__ */ new WeakMap();\n this.iframeRemoteIdToIdMap = /* @__PURE__ */ new WeakMap();\n return;\n }\n this.iframeIdToRemoteIdMap.delete(iframe);\n this.iframeRemoteIdToIdMap.delete(iframe);\n }\n getIdToRemoteIdMap(iframe) {\n let idToRemoteIdMap = this.iframeIdToRemoteIdMap.get(iframe);\n if (!idToRemoteIdMap) {\n idToRemoteIdMap = /* @__PURE__ */ new Map();\n this.iframeIdToRemoteIdMap.set(iframe, idToRemoteIdMap);\n }\n return idToRemoteIdMap;\n }\n getRemoteIdToIdMap(iframe) {\n let remoteIdToIdMap = this.iframeRemoteIdToIdMap.get(iframe);\n if (!remoteIdToIdMap) {\n remoteIdToIdMap = /* @__PURE__ */ new Map();\n this.iframeRemoteIdToIdMap.set(iframe, remoteIdToIdMap);\n }\n return remoteIdToIdMap;\n }\n}\nclass IframeManager {\n constructor(options) {\n __publicField(this, \"iframes\", /* @__PURE__ */ new WeakMap());\n __publicField(this, \"crossOriginIframeMap\", /* @__PURE__ */ new WeakMap());\n __publicField(this, \"crossOriginIframeMirror\", new CrossOriginIframeMirror(genId));\n __publicField(this, \"crossOriginIframeStyleMirror\");\n __publicField(this, \"crossOriginIframeRootIdMap\", /* @__PURE__ */ new WeakMap());\n __publicField(this, \"mirror\");\n __publicField(this, \"mutationCb\");\n __publicField(this, \"wrappedEmit\");\n __publicField(this, \"loadListener\");\n __publicField(this, \"stylesheetManager\");\n __publicField(this, \"recordCrossOriginIframes\");\n this.mutationCb = options.mutationCb;\n this.wrappedEmit = options.wrappedEmit;\n this.stylesheetManager = options.stylesheetManager;\n this.recordCrossOriginIframes = options.recordCrossOriginIframes;\n this.crossOriginIframeStyleMirror = new CrossOriginIframeMirror(\n this.stylesheetManager.styleMirror.generateId.bind(\n this.stylesheetManager.styleMirror\n )\n );\n this.mirror = options.mirror;\n if (this.recordCrossOriginIframes) {\n window.addEventListener(\"message\", this.handleMessage.bind(this));\n }\n }\n addIframe(iframeEl) {\n this.iframes.set(iframeEl, true);\n if (iframeEl.contentWindow)\n this.crossOriginIframeMap.set(iframeEl.contentWindow, iframeEl);\n }\n addLoadListener(cb) {\n this.loadListener = cb;\n }\n attachIframe(iframeEl, childSn) {\n var _a2, _b;\n this.mutationCb({\n adds: [\n {\n parentId: this.mirror.getId(iframeEl),\n nextId: null,\n node: childSn\n }\n ],\n removes: [],\n texts: [],\n attributes: [],\n isAttachIframe: true\n });\n if (this.recordCrossOriginIframes)\n (_a2 = iframeEl.contentWindow) == null ? void 0 : _a2.addEventListener(\n \"message\",\n this.handleMessage.bind(this)\n );\n (_b = this.loadListener) == null ? void 0 : _b.call(this, iframeEl);\n if (iframeEl.contentDocument && iframeEl.contentDocument.adoptedStyleSheets && iframeEl.contentDocument.adoptedStyleSheets.length > 0)\n this.stylesheetManager.adoptStyleSheets(\n iframeEl.contentDocument.adoptedStyleSheets,\n this.mirror.getId(iframeEl.contentDocument)\n );\n }\n handleMessage(message) {\n const crossOriginMessageEvent = message;\n if (crossOriginMessageEvent.data.type !== \"rrweb\" || // To filter out the rrweb messages which are forwarded by some sites.\n crossOriginMessageEvent.origin !== crossOriginMessageEvent.data.origin)\n return;\n const iframeSourceWindow = message.source;\n if (!iframeSourceWindow) return;\n const iframeEl = this.crossOriginIframeMap.get(message.source);\n if (!iframeEl) return;\n const transformedEvent = this.transformCrossOriginEvent(\n iframeEl,\n crossOriginMessageEvent.data.event\n );\n if (transformedEvent)\n this.wrappedEmit(\n transformedEvent,\n crossOriginMessageEvent.data.isCheckout\n );\n }\n transformCrossOriginEvent(iframeEl, e2) {\n var _a2;\n switch (e2.type) {\n case EventType.FullSnapshot: {\n this.crossOriginIframeMirror.reset(iframeEl);\n this.crossOriginIframeStyleMirror.reset(iframeEl);\n this.replaceIdOnNode(e2.data.node, iframeEl);\n const rootId = e2.data.node.id;\n this.crossOriginIframeRootIdMap.set(iframeEl, rootId);\n this.patchRootIdOnNode(e2.data.node, rootId);\n return {\n timestamp: e2.timestamp,\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.Mutation,\n adds: [\n {\n parentId: this.mirror.getId(iframeEl),\n nextId: null,\n node: e2.data.node\n }\n ],\n removes: [],\n texts: [],\n attributes: [],\n isAttachIframe: true\n }\n };\n }\n case EventType.Meta:\n case EventType.Load:\n case EventType.DomContentLoaded: {\n return false;\n }\n case EventType.Plugin: {\n return e2;\n }\n case EventType.Custom: {\n this.replaceIds(\n e2.data.payload,\n iframeEl,\n [\"id\", \"parentId\", \"previousId\", \"nextId\"]\n );\n return e2;\n }\n case EventType.IncrementalSnapshot: {\n switch (e2.data.source) {\n case IncrementalSource.Mutation: {\n e2.data.adds.forEach((n2) => {\n this.replaceIds(n2, iframeEl, [\n \"parentId\",\n \"nextId\",\n \"previousId\"\n ]);\n this.replaceIdOnNode(n2.node, iframeEl);\n const rootId = this.crossOriginIframeRootIdMap.get(iframeEl);\n rootId && this.patchRootIdOnNode(n2.node, rootId);\n });\n e2.data.removes.forEach((n2) => {\n this.replaceIds(n2, iframeEl, [\"parentId\", \"id\"]);\n });\n e2.data.attributes.forEach((n2) => {\n this.replaceIds(n2, iframeEl, [\"id\"]);\n });\n e2.data.texts.forEach((n2) => {\n this.replaceIds(n2, iframeEl, [\"id\"]);\n });\n return e2;\n }\n case IncrementalSource.Drag:\n case IncrementalSource.TouchMove:\n case IncrementalSource.MouseMove: {\n e2.data.positions.forEach((p) => {\n this.replaceIds(p, iframeEl, [\"id\"]);\n });\n return e2;\n }\n case IncrementalSource.ViewportResize: {\n return false;\n }\n case IncrementalSource.MediaInteraction:\n case IncrementalSource.MouseInteraction:\n case IncrementalSource.Scroll:\n case IncrementalSource.CanvasMutation:\n case IncrementalSource.Input: {\n this.replaceIds(e2.data, iframeEl, [\"id\"]);\n return e2;\n }\n case IncrementalSource.StyleSheetRule:\n case IncrementalSource.StyleDeclaration: {\n this.replaceIds(e2.data, iframeEl, [\"id\"]);\n this.replaceStyleIds(e2.data, iframeEl, [\"styleId\"]);\n return e2;\n }\n case IncrementalSource.Font: {\n return e2;\n }\n case IncrementalSource.Selection: {\n e2.data.ranges.forEach((range) => {\n this.replaceIds(range, iframeEl, [\"start\", \"end\"]);\n });\n return e2;\n }\n case IncrementalSource.AdoptedStyleSheet: {\n this.replaceIds(e2.data, iframeEl, [\"id\"]);\n this.replaceStyleIds(e2.data, iframeEl, [\"styleIds\"]);\n (_a2 = e2.data.styles) == null ? void 0 : _a2.forEach((style) => {\n this.replaceStyleIds(style, iframeEl, [\"styleId\"]);\n });\n return e2;\n }\n }\n }\n }\n return false;\n }\n replace(iframeMirror, obj, iframeEl, keys) {\n for (const key of keys) {\n if (!Array.isArray(obj[key]) && typeof obj[key] !== \"number\") continue;\n if (Array.isArray(obj[key])) {\n obj[key] = iframeMirror.getIds(\n iframeEl,\n obj[key]\n );\n } else {\n obj[key] = iframeMirror.getId(iframeEl, obj[key]);\n }\n }\n return obj;\n }\n replaceIds(obj, iframeEl, keys) {\n return this.replace(this.crossOriginIframeMirror, obj, iframeEl, keys);\n }\n replaceStyleIds(obj, iframeEl, keys) {\n return this.replace(this.crossOriginIframeStyleMirror, obj, iframeEl, keys);\n }\n replaceIdOnNode(node2, iframeEl) {\n this.replaceIds(node2, iframeEl, [\"id\", \"rootId\"]);\n if (\"childNodes\" in node2) {\n node2.childNodes.forEach((child) => {\n this.replaceIdOnNode(child, iframeEl);\n });\n }\n }\n patchRootIdOnNode(node2, rootId) {\n if (node2.type !== NodeType.Document && !node2.rootId) node2.rootId = rootId;\n if (\"childNodes\" in node2) {\n node2.childNodes.forEach((child) => {\n this.patchRootIdOnNode(child, rootId);\n });\n }\n }\n}\nclass ShadowDomManager {\n constructor(options) {\n __publicField(this, \"shadowDoms\", /* @__PURE__ */ new WeakSet());\n __publicField(this, \"mutationCb\");\n __publicField(this, \"scrollCb\");\n __publicField(this, \"bypassOptions\");\n __publicField(this, \"mirror\");\n __publicField(this, \"restoreHandlers\", []);\n this.mutationCb = options.mutationCb;\n this.scrollCb = options.scrollCb;\n this.bypassOptions = options.bypassOptions;\n this.mirror = options.mirror;\n this.init();\n }\n init() {\n this.reset();\n this.patchAttachShadow(Element, document);\n }\n addShadowRoot(shadowRoot2, doc) {\n if (!isNativeShadowDom(shadowRoot2)) return;\n if (this.shadowDoms.has(shadowRoot2)) return;\n this.shadowDoms.add(shadowRoot2);\n const observer = initMutationObserver(\n {\n ...this.bypassOptions,\n doc,\n mutationCb: this.mutationCb,\n mirror: this.mirror,\n shadowDomManager: this\n },\n shadowRoot2\n );\n this.restoreHandlers.push(() => observer.disconnect());\n this.restoreHandlers.push(\n initScrollObserver({\n ...this.bypassOptions,\n scrollCb: this.scrollCb,\n // https://gist.github.com/praveenpuglia/0832da687ed5a5d7a0907046c9ef1813\n // scroll is not allowed to pass the boundary, so we need to listen the shadow document\n doc: shadowRoot2,\n mirror: this.mirror\n })\n );\n setTimeout(() => {\n if (shadowRoot2.adoptedStyleSheets && shadowRoot2.adoptedStyleSheets.length > 0)\n this.bypassOptions.stylesheetManager.adoptStyleSheets(\n shadowRoot2.adoptedStyleSheets,\n this.mirror.getId(index.host(shadowRoot2))\n );\n this.restoreHandlers.push(\n initAdoptedStyleSheetObserver(\n {\n mirror: this.mirror,\n stylesheetManager: this.bypassOptions.stylesheetManager\n },\n shadowRoot2\n )\n );\n }, 0);\n }\n /**\n * Monkey patch 'attachShadow' of an IFrameElement to observe newly added shadow doms.\n */\n observeAttachShadow(iframeElement) {\n if (!iframeElement.contentWindow || !iframeElement.contentDocument) return;\n this.patchAttachShadow(\n iframeElement.contentWindow.Element,\n iframeElement.contentDocument\n );\n }\n /**\n * Patch 'attachShadow' to observe newly added shadow doms.\n */\n patchAttachShadow(element, doc) {\n const manager = this;\n this.restoreHandlers.push(\n patch(\n element.prototype,\n \"attachShadow\",\n function(original) {\n return function(option) {\n const sRoot = original.call(this, option);\n const shadowRootEl = index.shadowRoot(this);\n if (shadowRootEl && inDom(this))\n manager.addShadowRoot(shadowRootEl, doc);\n return sRoot;\n };\n }\n )\n );\n }\n reset() {\n this.restoreHandlers.forEach((handler) => {\n try {\n handler();\n } catch (e2) {\n }\n });\n this.restoreHandlers = [];\n this.shadowDoms = /* @__PURE__ */ new WeakSet();\n }\n}\nvar chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nvar lookup = typeof Uint8Array === \"undefined\" ? [] : new Uint8Array(256);\nfor (var i$1 = 0; i$1 < chars.length; i$1++) {\n lookup[chars.charCodeAt(i$1)] = i$1;\n}\nvar encode = function(arraybuffer) {\n var bytes = new Uint8Array(arraybuffer), i2, len = bytes.length, base64 = \"\";\n for (i2 = 0; i2 < len; i2 += 3) {\n base64 += chars[bytes[i2] >> 2];\n base64 += chars[(bytes[i2] & 3) << 4 | bytes[i2 + 1] >> 4];\n base64 += chars[(bytes[i2 + 1] & 15) << 2 | bytes[i2 + 2] >> 6];\n base64 += chars[bytes[i2 + 2] & 63];\n }\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + \"=\";\n } else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + \"==\";\n }\n return base64;\n};\nconst canvasVarMap = /* @__PURE__ */ new Map();\nfunction variableListFor$1(ctx, ctor) {\n let contextMap = canvasVarMap.get(ctx);\n if (!contextMap) {\n contextMap = /* @__PURE__ */ new Map();\n canvasVarMap.set(ctx, contextMap);\n }\n if (!contextMap.has(ctor)) {\n contextMap.set(ctor, []);\n }\n return contextMap.get(ctor);\n}\nconst saveWebGLVar = (value, win, ctx) => {\n if (!value || !(isInstanceOfWebGLObject(value, win) || typeof value === \"object\"))\n return;\n const name = value.constructor.name;\n const list2 = variableListFor$1(ctx, name);\n let index2 = list2.indexOf(value);\n if (index2 === -1) {\n index2 = list2.length;\n list2.push(value);\n }\n return index2;\n};\nfunction serializeArg(value, win, ctx) {\n if (value instanceof Array) {\n return value.map((arg) => serializeArg(arg, win, ctx));\n } else if (value === null) {\n return value;\n } else if (value instanceof Float32Array || value instanceof Float64Array || value instanceof Int32Array || value instanceof Uint32Array || value instanceof Uint8Array || value instanceof Uint16Array || value instanceof Int16Array || value instanceof Int8Array || value instanceof Uint8ClampedArray) {\n const name = value.constructor.name;\n return {\n rr_type: name,\n args: [Object.values(value)]\n };\n } else if (\n // SharedArrayBuffer disabled on most browsers due to spectre.\n // More info: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer/SharedArrayBuffer\n // value instanceof SharedArrayBuffer ||\n value instanceof ArrayBuffer\n ) {\n const name = value.constructor.name;\n const base64 = encode(value);\n return {\n rr_type: name,\n base64\n };\n } else if (value instanceof DataView) {\n const name = value.constructor.name;\n return {\n rr_type: name,\n args: [\n serializeArg(value.buffer, win, ctx),\n value.byteOffset,\n value.byteLength\n ]\n };\n } else if (value instanceof HTMLImageElement) {\n const name = value.constructor.name;\n const { src } = value;\n return {\n rr_type: name,\n src\n };\n } else if (value instanceof HTMLCanvasElement) {\n const name = \"HTMLImageElement\";\n const src = value.toDataURL();\n return {\n rr_type: name,\n src\n };\n } else if (value instanceof ImageData) {\n const name = value.constructor.name;\n return {\n rr_type: name,\n args: [serializeArg(value.data, win, ctx), value.width, value.height]\n };\n } else if (isInstanceOfWebGLObject(value, win) || typeof value === \"object\") {\n const name = value.constructor.name;\n const index2 = saveWebGLVar(value, win, ctx);\n return {\n rr_type: name,\n index: index2\n };\n }\n return value;\n}\nconst serializeArgs = (args, win, ctx) => {\n return args.map((arg) => serializeArg(arg, win, ctx));\n};\nconst isInstanceOfWebGLObject = (value, win) => {\n const webGLConstructorNames = [\n \"WebGLActiveInfo\",\n \"WebGLBuffer\",\n \"WebGLFramebuffer\",\n \"WebGLProgram\",\n \"WebGLRenderbuffer\",\n \"WebGLShader\",\n \"WebGLShaderPrecisionFormat\",\n \"WebGLTexture\",\n \"WebGLUniformLocation\",\n \"WebGLVertexArrayObject\",\n // In old Chrome versions, value won't be an instanceof WebGLVertexArrayObject.\n \"WebGLVertexArrayObjectOES\"\n ];\n const supportedWebGLConstructorNames = webGLConstructorNames.filter(\n (name) => typeof win[name] === \"function\"\n );\n return Boolean(\n supportedWebGLConstructorNames.find(\n (name) => value instanceof win[name]\n )\n );\n};\nfunction initCanvas2DMutationObserver(cb, win, blockClass, blockSelector) {\n const handlers = [];\n const props2D = Object.getOwnPropertyNames(\n win.CanvasRenderingContext2D.prototype\n );\n for (const prop of props2D) {\n try {\n if (typeof win.CanvasRenderingContext2D.prototype[prop] !== \"function\") {\n continue;\n }\n const restoreHandler = patch(\n win.CanvasRenderingContext2D.prototype,\n prop,\n function(original) {\n return function(...args) {\n if (!isBlocked(this.canvas, blockClass, blockSelector, true)) {\n setTimeout(() => {\n const recordArgs = serializeArgs(args, win, this);\n cb(this.canvas, {\n type: CanvasContext[\"2D\"],\n property: prop,\n args: recordArgs\n });\n }, 0);\n }\n return original.apply(this, args);\n };\n }\n );\n handlers.push(restoreHandler);\n } catch {\n const hookHandler = hookSetter(\n win.CanvasRenderingContext2D.prototype,\n prop,\n {\n set(v2) {\n cb(this.canvas, {\n type: CanvasContext[\"2D\"],\n property: prop,\n args: [v2],\n setter: true\n });\n }\n }\n );\n handlers.push(hookHandler);\n }\n }\n return () => {\n handlers.forEach((h) => h());\n };\n}\nfunction getNormalizedContextName(contextType) {\n return contextType === \"experimental-webgl\" ? \"webgl\" : contextType;\n}\nfunction initCanvasContextObserver(win, blockClass, blockSelector, setPreserveDrawingBufferToTrue) {\n const handlers = [];\n try {\n const restoreHandler = patch(\n win.HTMLCanvasElement.prototype,\n \"getContext\",\n function(original) {\n return function(contextType, ...args) {\n if (!isBlocked(this, blockClass, blockSelector, true)) {\n const ctxName = getNormalizedContextName(contextType);\n if (!(\"__context\" in this)) this.__context = ctxName;\n if (setPreserveDrawingBufferToTrue && [\"webgl\", \"webgl2\"].includes(ctxName)) {\n if (args[0] && typeof args[0] === \"object\") {\n const contextAttributes = args[0];\n if (!contextAttributes.preserveDrawingBuffer) {\n contextAttributes.preserveDrawingBuffer = true;\n }\n } else {\n args.splice(0, 1, {\n preserveDrawingBuffer: true\n });\n }\n }\n }\n return original.apply(this, [contextType, ...args]);\n };\n }\n );\n handlers.push(restoreHandler);\n } catch {\n console.error(\"failed to patch HTMLCanvasElement.prototype.getContext\");\n }\n return () => {\n handlers.forEach((h) => h());\n };\n}\nfunction patchGLPrototype(prototype, type, cb, blockClass, blockSelector, win) {\n const handlers = [];\n const props = Object.getOwnPropertyNames(prototype);\n for (const prop of props) {\n if (\n //prop.startsWith('get') || // e.g. getProgramParameter, but too risky\n [\n \"isContextLost\",\n \"canvas\",\n \"drawingBufferWidth\",\n \"drawingBufferHeight\"\n ].includes(prop)\n ) {\n continue;\n }\n try {\n if (typeof prototype[prop] !== \"function\") {\n continue;\n }\n const restoreHandler = patch(\n prototype,\n prop,\n function(original) {\n return function(...args) {\n const result2 = original.apply(this, args);\n saveWebGLVar(result2, win, this);\n if (\"tagName\" in this.canvas && !isBlocked(this.canvas, blockClass, blockSelector, true)) {\n const recordArgs = serializeArgs(args, win, this);\n const mutation = {\n type,\n property: prop,\n args: recordArgs\n };\n cb(this.canvas, mutation);\n }\n return result2;\n };\n }\n );\n handlers.push(restoreHandler);\n } catch {\n const hookHandler = hookSetter(prototype, prop, {\n set(v2) {\n cb(this.canvas, {\n type,\n property: prop,\n args: [v2],\n setter: true\n });\n }\n });\n handlers.push(hookHandler);\n }\n }\n return handlers;\n}\nfunction initCanvasWebGLMutationObserver(cb, win, blockClass, blockSelector) {\n const handlers = [];\n handlers.push(\n ...patchGLPrototype(\n win.WebGLRenderingContext.prototype,\n CanvasContext.WebGL,\n cb,\n blockClass,\n blockSelector,\n win\n )\n );\n if (typeof win.WebGL2RenderingContext !== \"undefined\") {\n handlers.push(\n ...patchGLPrototype(\n win.WebGL2RenderingContext.prototype,\n CanvasContext.WebGL2,\n cb,\n blockClass,\n blockSelector,\n win\n )\n );\n }\n return () => {\n handlers.forEach((h) => h());\n };\n}\nconst encodedJs = \"KGZ1bmN0aW9uKCkgewogICJ1c2Ugc3RyaWN0IjsKICB2YXIgY2hhcnMgPSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyI7CiAgdmFyIGxvb2t1cCA9IHR5cGVvZiBVaW50OEFycmF5ID09PSAidW5kZWZpbmVkIiA/IFtdIDogbmV3IFVpbnQ4QXJyYXkoMjU2KTsKICBmb3IgKHZhciBpID0gMDsgaSA8IGNoYXJzLmxlbmd0aDsgaSsrKSB7CiAgICBsb29rdXBbY2hhcnMuY2hhckNvZGVBdChpKV0gPSBpOwogIH0KICB2YXIgZW5jb2RlID0gZnVuY3Rpb24oYXJyYXlidWZmZXIpIHsKICAgIHZhciBieXRlcyA9IG5ldyBVaW50OEFycmF5KGFycmF5YnVmZmVyKSwgaTIsIGxlbiA9IGJ5dGVzLmxlbmd0aCwgYmFzZTY0ID0gIiI7CiAgICBmb3IgKGkyID0gMDsgaTIgPCBsZW47IGkyICs9IDMpIHsKICAgICAgYmFzZTY0ICs9IGNoYXJzW2J5dGVzW2kyXSA+PiAyXTsKICAgICAgYmFzZTY0ICs9IGNoYXJzWyhieXRlc1tpMl0gJiAzKSA8PCA0IHwgYnl0ZXNbaTIgKyAxXSA+PiA0XTsKICAgICAgYmFzZTY0ICs9IGNoYXJzWyhieXRlc1tpMiArIDFdICYgMTUpIDw8IDIgfCBieXRlc1tpMiArIDJdID4+IDZdOwogICAgICBiYXNlNjQgKz0gY2hhcnNbYnl0ZXNbaTIgKyAyXSAmIDYzXTsKICAgIH0KICAgIGlmIChsZW4gJSAzID09PSAyKSB7CiAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDEpICsgIj0iOwogICAgfSBlbHNlIGlmIChsZW4gJSAzID09PSAxKSB7CiAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDIpICsgIj09IjsKICAgIH0KICAgIHJldHVybiBiYXNlNjQ7CiAgfTsKICBjb25zdCBsYXN0QmxvYk1hcCA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7CiAgY29uc3QgdHJhbnNwYXJlbnRCbG9iTWFwID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTsKICBhc3luYyBmdW5jdGlvbiBnZXRUcmFuc3BhcmVudEJsb2JGb3Iod2lkdGgsIGhlaWdodCwgZGF0YVVSTE9wdGlvbnMpIHsKICAgIGNvbnN0IGlkID0gYCR7d2lkdGh9LSR7aGVpZ2h0fWA7CiAgICBpZiAoIk9mZnNjcmVlbkNhbnZhcyIgaW4gZ2xvYmFsVGhpcykgewogICAgICBpZiAodHJhbnNwYXJlbnRCbG9iTWFwLmhhcyhpZCkpIHJldHVybiB0cmFuc3BhcmVudEJsb2JNYXAuZ2V0KGlkKTsKICAgICAgY29uc3Qgb2Zmc2NyZWVuID0gbmV3IE9mZnNjcmVlbkNhbnZhcyh3aWR0aCwgaGVpZ2h0KTsKICAgICAgb2Zmc2NyZWVuLmdldENvbnRleHQoIjJkIik7CiAgICAgIGNvbnN0IGJsb2IgPSBhd2FpdCBvZmZzY3JlZW4uY29udmVydFRvQmxvYihkYXRhVVJMT3B0aW9ucyk7CiAgICAgIGNvbnN0IGFycmF5QnVmZmVyID0gYXdhaXQgYmxvYi5hcnJheUJ1ZmZlcigpOwogICAgICBjb25zdCBiYXNlNjQgPSBlbmNvZGUoYXJyYXlCdWZmZXIpOwogICAgICB0cmFuc3BhcmVudEJsb2JNYXAuc2V0KGlkLCBiYXNlNjQpOwogICAgICByZXR1cm4gYmFzZTY0OwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuICIiOwogICAgfQogIH0KICBjb25zdCB3b3JrZXIgPSBzZWxmOwogIHdvcmtlci5vbm1lc3NhZ2UgPSBhc3luYyBmdW5jdGlvbihlKSB7CiAgICBpZiAoIk9mZnNjcmVlbkNhbnZhcyIgaW4gZ2xvYmFsVGhpcykgewogICAgICBjb25zdCB7IGlkLCBiaXRtYXAsIHdpZHRoLCBoZWlnaHQsIGRhdGFVUkxPcHRpb25zIH0gPSBlLmRhdGE7CiAgICAgIGNvbnN0IHRyYW5zcGFyZW50QmFzZTY0ID0gZ2V0VHJhbnNwYXJlbnRCbG9iRm9yKAogICAgICAgIHdpZHRoLAogICAgICAgIGhlaWdodCwKICAgICAgICBkYXRhVVJMT3B0aW9ucwogICAgICApOwogICAgICBjb25zdCBvZmZzY3JlZW4gPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKHdpZHRoLCBoZWlnaHQpOwogICAgICBjb25zdCBjdHggPSBvZmZzY3JlZW4uZ2V0Q29udGV4dCgiMmQiKTsKICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOwogICAgICBiaXRtYXAuY2xvc2UoKTsKICAgICAgY29uc3QgYmxvYiA9IGF3YWl0IG9mZnNjcmVlbi5jb252ZXJ0VG9CbG9iKGRhdGFVUkxPcHRpb25zKTsKICAgICAgY29uc3QgdHlwZSA9IGJsb2IudHlwZTsKICAgICAgY29uc3QgYXJyYXlCdWZmZXIgPSBhd2FpdCBibG9iLmFycmF5QnVmZmVyKCk7CiAgICAgIGNvbnN0IGJhc2U2NCA9IGVuY29kZShhcnJheUJ1ZmZlcik7CiAgICAgIGlmICghbGFzdEJsb2JNYXAuaGFzKGlkKSAmJiBhd2FpdCB0cmFuc3BhcmVudEJhc2U2NCA9PT0gYmFzZTY0KSB7CiAgICAgICAgbGFzdEJsb2JNYXAuc2V0KGlkLCBiYXNlNjQpOwogICAgICAgIHJldHVybiB3b3JrZXIucG9zdE1lc3NhZ2UoeyBpZCB9KTsKICAgICAgfQogICAgICBpZiAobGFzdEJsb2JNYXAuZ2V0KGlkKSA9PT0gYmFzZTY0KSByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQgfSk7CiAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSh7CiAgICAgICAgaWQsCiAgICAgICAgdHlwZSwKICAgICAgICBiYXNlNjQsCiAgICAgICAgd2lkdGgsCiAgICAgICAgaGVpZ2h0CiAgICAgIH0pOwogICAgICBsYXN0QmxvYk1hcC5zZXQoaWQsIGJhc2U2NCk7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQ6IGUuZGF0YS5pZCB9KTsKICAgIH0KICB9Owp9KSgpOwovLyMgc291cmNlTWFwcGluZ1VSTD1pbWFnZS1iaXRtYXAtZGF0YS11cmwtd29ya2VyLUlKcEM3Z19iLmpzLm1hcAo=\";\nconst decodeBase64 = (base64) => Uint8Array.from(atob(base64), (c2) => c2.charCodeAt(0));\nconst blob = typeof window !== \"undefined\" && window.Blob && new Blob([decodeBase64(encodedJs)], { type: \"text/javascript;charset=utf-8\" });\nfunction WorkerWrapper(options) {\n let objURL;\n try {\n objURL = blob && (window.URL || window.webkitURL).createObjectURL(blob);\n if (!objURL) throw \"\";\n const worker = new Worker(objURL, {\n name: options == null ? void 0 : options.name\n });\n worker.addEventListener(\"error\", () => {\n (window.URL || window.webkitURL).revokeObjectURL(objURL);\n });\n return worker;\n } catch (e2) {\n return new Worker(\n \"data:text/javascript;base64,\" + encodedJs,\n {\n name: options == null ? void 0 : options.name\n }\n );\n } finally {\n objURL && (window.URL || window.webkitURL).revokeObjectURL(objURL);\n }\n}\nclass CanvasManager {\n constructor(options) {\n __publicField(this, \"pendingCanvasMutations\", /* @__PURE__ */ new Map());\n __publicField(this, \"rafStamps\", { latestId: 0, invokeId: null });\n __publicField(this, \"mirror\");\n __publicField(this, \"mutationCb\");\n __publicField(this, \"resetObservers\");\n __publicField(this, \"frozen\", false);\n __publicField(this, \"locked\", false);\n __publicField(this, \"processMutation\", (target, mutation) => {\n const newFrame = this.rafStamps.invokeId && this.rafStamps.latestId !== this.rafStamps.invokeId;\n if (newFrame || !this.rafStamps.invokeId)\n this.rafStamps.invokeId = this.rafStamps.latestId;\n if (!this.pendingCanvasMutations.has(target)) {\n this.pendingCanvasMutations.set(target, []);\n }\n this.pendingCanvasMutations.get(target).push(mutation);\n });\n const {\n sampling = \"all\",\n win,\n blockClass,\n blockSelector,\n recordCanvas,\n dataURLOptions\n } = options;\n this.mutationCb = options.mutationCb;\n this.mirror = options.mirror;\n if (recordCanvas && sampling === \"all\")\n this.initCanvasMutationObserver(win, blockClass, blockSelector);\n if (recordCanvas && typeof sampling === \"number\")\n this.initCanvasFPSObserver(sampling, win, blockClass, blockSelector, {\n dataURLOptions\n });\n }\n reset() {\n this.pendingCanvasMutations.clear();\n this.resetObservers && this.resetObservers();\n }\n freeze() {\n this.frozen = true;\n }\n unfreeze() {\n this.frozen = false;\n }\n lock() {\n this.locked = true;\n }\n unlock() {\n this.locked = false;\n }\n initCanvasFPSObserver(fps, win, blockClass, blockSelector, options) {\n const canvasContextReset = initCanvasContextObserver(\n win,\n blockClass,\n blockSelector,\n true\n );\n const snapshotInProgressMap = /* @__PURE__ */ new Map();\n const worker = new WorkerWrapper();\n worker.onmessage = (e2) => {\n const { id } = e2.data;\n snapshotInProgressMap.set(id, false);\n if (!(\"base64\" in e2.data)) return;\n const { base64, type, width, height } = e2.data;\n this.mutationCb({\n id,\n type: CanvasContext[\"2D\"],\n commands: [\n {\n property: \"clearRect\",\n // wipe canvas\n args: [0, 0, width, height]\n },\n {\n property: \"drawImage\",\n // draws (semi-transparent) image\n args: [\n {\n rr_type: \"ImageBitmap\",\n args: [\n {\n rr_type: \"Blob\",\n data: [{ rr_type: \"ArrayBuffer\", base64 }],\n type\n }\n ]\n },\n 0,\n 0\n ]\n }\n ]\n });\n };\n const timeBetweenSnapshots = 1e3 / fps;\n let lastSnapshotTime = 0;\n let rafId;\n const getCanvas = () => {\n const matchedCanvas = [];\n win.document.querySelectorAll(\"canvas\").forEach((canvas) => {\n if (!isBlocked(canvas, blockClass, blockSelector, true)) {\n matchedCanvas.push(canvas);\n }\n });\n return matchedCanvas;\n };\n const takeCanvasSnapshots = (timestamp) => {\n if (lastSnapshotTime && timestamp - lastSnapshotTime < timeBetweenSnapshots) {\n rafId = requestAnimationFrame(takeCanvasSnapshots);\n return;\n }\n lastSnapshotTime = timestamp;\n getCanvas().forEach(async (canvas) => {\n var _a2;\n const id = this.mirror.getId(canvas);\n if (snapshotInProgressMap.get(id)) return;\n if (canvas.width === 0 || canvas.height === 0) return;\n snapshotInProgressMap.set(id, true);\n if ([\"webgl\", \"webgl2\"].includes(canvas.__context)) {\n const context = canvas.getContext(canvas.__context);\n if (((_a2 = context == null ? void 0 : context.getContextAttributes()) == null ? void 0 : _a2.preserveDrawingBuffer) === false) {\n context.clear(context.COLOR_BUFFER_BIT);\n }\n }\n const bitmap = await createImageBitmap(canvas);\n worker.postMessage(\n {\n id,\n bitmap,\n width: canvas.width,\n height: canvas.height,\n dataURLOptions: options.dataURLOptions\n },\n [bitmap]\n );\n });\n rafId = requestAnimationFrame(takeCanvasSnapshots);\n };\n rafId = requestAnimationFrame(takeCanvasSnapshots);\n this.resetObservers = () => {\n canvasContextReset();\n cancelAnimationFrame(rafId);\n };\n }\n initCanvasMutationObserver(win, blockClass, blockSelector) {\n this.startRAFTimestamping();\n this.startPendingCanvasMutationFlusher();\n const canvasContextReset = initCanvasContextObserver(\n win,\n blockClass,\n blockSelector,\n false\n );\n const canvas2DReset = initCanvas2DMutationObserver(\n this.processMutation.bind(this),\n win,\n blockClass,\n blockSelector\n );\n const canvasWebGL1and2Reset = initCanvasWebGLMutationObserver(\n this.processMutation.bind(this),\n win,\n blockClass,\n blockSelector\n );\n this.resetObservers = () => {\n canvasContextReset();\n canvas2DReset();\n canvasWebGL1and2Reset();\n };\n }\n startPendingCanvasMutationFlusher() {\n requestAnimationFrame(() => this.flushPendingCanvasMutations());\n }\n startRAFTimestamping() {\n const setLatestRAFTimestamp = (timestamp) => {\n this.rafStamps.latestId = timestamp;\n requestAnimationFrame(setLatestRAFTimestamp);\n };\n requestAnimationFrame(setLatestRAFTimestamp);\n }\n flushPendingCanvasMutations() {\n this.pendingCanvasMutations.forEach(\n (_values, canvas) => {\n const id = this.mirror.getId(canvas);\n this.flushPendingCanvasMutationFor(canvas, id);\n }\n );\n requestAnimationFrame(() => this.flushPendingCanvasMutations());\n }\n flushPendingCanvasMutationFor(canvas, id) {\n if (this.frozen || this.locked) {\n return;\n }\n const valuesWithType = this.pendingCanvasMutations.get(canvas);\n if (!valuesWithType || id === -1) return;\n const values = valuesWithType.map((value) => {\n const { type: type2, ...rest } = value;\n return rest;\n });\n const { type } = valuesWithType[0];\n this.mutationCb({ id, type, commands: values });\n this.pendingCanvasMutations.delete(canvas);\n }\n}\nclass StylesheetManager {\n constructor(options) {\n __publicField(this, \"trackedLinkElements\", /* @__PURE__ */ new WeakSet());\n __publicField(this, \"mutationCb\");\n __publicField(this, \"adoptedStyleSheetCb\");\n __publicField(this, \"styleMirror\", new StyleSheetMirror());\n this.mutationCb = options.mutationCb;\n this.adoptedStyleSheetCb = options.adoptedStyleSheetCb;\n }\n attachLinkElement(linkEl, childSn) {\n if (\"_cssText\" in childSn.attributes)\n this.mutationCb({\n adds: [],\n removes: [],\n texts: [],\n attributes: [\n {\n id: childSn.id,\n attributes: childSn.attributes\n }\n ]\n });\n this.trackLinkElement(linkEl);\n }\n trackLinkElement(linkEl) {\n if (this.trackedLinkElements.has(linkEl)) return;\n this.trackedLinkElements.add(linkEl);\n this.trackStylesheetInLinkElement(linkEl);\n }\n adoptStyleSheets(sheets, hostId) {\n if (sheets.length === 0) return;\n const adoptedStyleSheetData = {\n id: hostId,\n styleIds: []\n };\n const styles = [];\n for (const sheet of sheets) {\n let styleId;\n if (!this.styleMirror.has(sheet)) {\n styleId = this.styleMirror.add(sheet);\n styles.push({\n styleId,\n rules: Array.from(sheet.rules || CSSRule, (r2, index2) => ({\n rule: stringifyRule(r2, sheet.href),\n index: index2\n }))\n });\n } else styleId = this.styleMirror.getId(sheet);\n adoptedStyleSheetData.styleIds.push(styleId);\n }\n if (styles.length > 0) adoptedStyleSheetData.styles = styles;\n this.adoptedStyleSheetCb(adoptedStyleSheetData);\n }\n reset() {\n this.styleMirror.reset();\n this.trackedLinkElements = /* @__PURE__ */ new WeakSet();\n }\n // TODO: take snapshot on stylesheet reload by applying event listener\n trackStylesheetInLinkElement(_linkEl) {\n }\n}\nclass ProcessedNodeManager {\n constructor() {\n __publicField(this, \"nodeMap\", /* @__PURE__ */ new WeakMap());\n __publicField(this, \"active\", false);\n }\n inOtherBuffer(node2, thisBuffer) {\n const buffers = this.nodeMap.get(node2);\n return buffers && Array.from(buffers).some((buffer) => buffer !== thisBuffer);\n }\n add(node2, buffer) {\n if (!this.active) {\n this.active = true;\n requestAnimationFrame(() => {\n this.nodeMap = /* @__PURE__ */ new WeakMap();\n this.active = false;\n });\n }\n this.nodeMap.set(node2, (this.nodeMap.get(node2) || /* @__PURE__ */ new Set()).add(buffer));\n }\n destroy() {\n }\n}\nlet wrappedEmit;\nlet takeFullSnapshot$1;\nlet canvasManager;\nlet recording = false;\ntry {\n if (Array.from([1], (x2) => x2 * 2)[0] !== 2) {\n const cleanFrame = document.createElement(\"iframe\");\n document.body.appendChild(cleanFrame);\n Array.from = ((_a = cleanFrame.contentWindow) == null ? void 0 : _a.Array.from) || Array.from;\n document.body.removeChild(cleanFrame);\n }\n} catch (err) {\n console.debug(\"Unable to override Array.from\", err);\n}\nconst mirror = createMirror$2();\nfunction record(options = {}) {\n const {\n emit,\n checkoutEveryNms,\n checkoutEveryNth,\n blockClass = \"rr-block\",\n blockSelector = null,\n ignoreClass = \"rr-ignore\",\n ignoreSelector = null,\n maskTextClass = \"rr-mask\",\n maskTextSelector = null,\n inlineStylesheet = true,\n maskAllInputs,\n maskInputOptions: _maskInputOptions,\n slimDOMOptions: _slimDOMOptions,\n maskInputFn,\n maskTextFn,\n hooks,\n packFn,\n sampling = {},\n dataURLOptions = {},\n mousemoveWait,\n recordDOM = true,\n recordCanvas = false,\n recordCrossOriginIframes = false,\n recordAfter = options.recordAfter === \"DOMContentLoaded\" ? options.recordAfter : \"load\",\n userTriggeredOnInput = false,\n collectFonts = false,\n inlineImages = false,\n plugins,\n keepIframeSrcFn = () => false,\n ignoreCSSAttributes = /* @__PURE__ */ new Set([]),\n errorHandler: errorHandler2\n } = options;\n registerErrorHandler(errorHandler2);\n const inEmittingFrame = recordCrossOriginIframes ? window.parent === window : true;\n let passEmitsToParent = false;\n if (!inEmittingFrame) {\n try {\n if (window.parent.document) {\n passEmitsToParent = false;\n }\n } catch (e2) {\n passEmitsToParent = true;\n }\n }\n if (inEmittingFrame && !emit) {\n throw new Error(\"emit function is required\");\n }\n if (!inEmittingFrame && !passEmitsToParent) {\n return () => {\n };\n }\n if (mousemoveWait !== void 0 && sampling.mousemove === void 0) {\n sampling.mousemove = mousemoveWait;\n }\n mirror.reset();\n const maskInputOptions = maskAllInputs === true ? {\n color: true,\n date: true,\n \"datetime-local\": true,\n email: true,\n month: true,\n number: true,\n range: true,\n search: true,\n tel: true,\n text: true,\n time: true,\n url: true,\n week: true,\n textarea: true,\n select: true,\n password: true\n } : _maskInputOptions !== void 0 ? _maskInputOptions : { password: true };\n const slimDOMOptions = _slimDOMOptions === true || _slimDOMOptions === \"all\" ? {\n script: true,\n comment: true,\n headFavicon: true,\n headWhitespace: true,\n headMetaSocial: true,\n headMetaRobots: true,\n headMetaHttpEquiv: true,\n headMetaVerification: true,\n // the following are off for slimDOMOptions === true,\n // as they destroy some (hidden) info:\n headMetaAuthorship: _slimDOMOptions === \"all\",\n headMetaDescKeywords: _slimDOMOptions === \"all\",\n headTitleMutations: _slimDOMOptions === \"all\"\n } : _slimDOMOptions ? _slimDOMOptions : {};\n polyfill$1();\n let lastFullSnapshotEvent;\n let incrementalSnapshotCount = 0;\n const eventProcessor = (e2) => {\n for (const plugin3 of plugins || []) {\n if (plugin3.eventProcessor) {\n e2 = plugin3.eventProcessor(e2);\n }\n }\n if (packFn && // Disable packing events which will be emitted to parent frames.\n !passEmitsToParent) {\n e2 = packFn(e2);\n }\n return e2;\n };\n wrappedEmit = (r2, isCheckout) => {\n var _a2;\n const e2 = r2;\n e2.timestamp = nowTimestamp();\n if (((_a2 = mutationBuffers[0]) == null ? void 0 : _a2.isFrozen()) && e2.type !== EventType.FullSnapshot && !(e2.type === EventType.IncrementalSnapshot && e2.data.source === IncrementalSource.Mutation)) {\n mutationBuffers.forEach((buf) => buf.unfreeze());\n }\n if (inEmittingFrame) {\n emit == null ? void 0 : emit(eventProcessor(e2), isCheckout);\n } else if (passEmitsToParent) {\n const message = {\n type: \"rrweb\",\n event: eventProcessor(e2),\n origin: window.location.origin,\n isCheckout\n };\n window.parent.postMessage(message, \"*\");\n }\n if (e2.type === EventType.FullSnapshot) {\n lastFullSnapshotEvent = e2;\n incrementalSnapshotCount = 0;\n } else if (e2.type === EventType.IncrementalSnapshot) {\n if (e2.data.source === IncrementalSource.Mutation && e2.data.isAttachIframe) {\n return;\n }\n incrementalSnapshotCount++;\n const exceedCount = checkoutEveryNth && incrementalSnapshotCount >= checkoutEveryNth;\n const exceedTime = checkoutEveryNms && e2.timestamp - lastFullSnapshotEvent.timestamp > checkoutEveryNms;\n if (exceedCount || exceedTime) {\n takeFullSnapshot$1(true);\n }\n }\n };\n const wrappedMutationEmit = (m) => {\n wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.Mutation,\n ...m\n }\n });\n };\n const wrappedScrollEmit = (p) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.Scroll,\n ...p\n }\n });\n const wrappedCanvasMutationEmit = (p) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.CanvasMutation,\n ...p\n }\n });\n const wrappedAdoptedStyleSheetEmit = (a2) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.AdoptedStyleSheet,\n ...a2\n }\n });\n const stylesheetManager = new StylesheetManager({\n mutationCb: wrappedMutationEmit,\n adoptedStyleSheetCb: wrappedAdoptedStyleSheetEmit\n });\n const iframeManager = new IframeManager({\n mirror,\n mutationCb: wrappedMutationEmit,\n stylesheetManager,\n recordCrossOriginIframes,\n wrappedEmit\n });\n for (const plugin3 of plugins || []) {\n if (plugin3.getMirror)\n plugin3.getMirror({\n nodeMirror: mirror,\n crossOriginIframeMirror: iframeManager.crossOriginIframeMirror,\n crossOriginIframeStyleMirror: iframeManager.crossOriginIframeStyleMirror\n });\n }\n const processedNodeManager = new ProcessedNodeManager();\n canvasManager = new CanvasManager({\n recordCanvas,\n mutationCb: wrappedCanvasMutationEmit,\n win: window,\n blockClass,\n blockSelector,\n mirror,\n sampling: sampling.canvas,\n dataURLOptions\n });\n const shadowDomManager = new ShadowDomManager({\n mutationCb: wrappedMutationEmit,\n scrollCb: wrappedScrollEmit,\n bypassOptions: {\n blockClass,\n blockSelector,\n maskTextClass,\n maskTextSelector,\n inlineStylesheet,\n maskInputOptions,\n dataURLOptions,\n maskTextFn,\n maskInputFn,\n recordCanvas,\n inlineImages,\n sampling,\n slimDOMOptions,\n iframeManager,\n stylesheetManager,\n canvasManager,\n keepIframeSrcFn,\n processedNodeManager\n },\n mirror\n });\n takeFullSnapshot$1 = (isCheckout = false) => {\n if (!recordDOM) {\n return;\n }\n wrappedEmit(\n {\n type: EventType.Meta,\n data: {\n href: window.location.href,\n width: getWindowWidth(),\n height: getWindowHeight()\n }\n },\n isCheckout\n );\n stylesheetManager.reset();\n shadowDomManager.init();\n mutationBuffers.forEach((buf) => buf.lock());\n const node2 = snapshot(document, {\n mirror,\n blockClass,\n blockSelector,\n maskTextClass,\n maskTextSelector,\n inlineStylesheet,\n maskAllInputs: maskInputOptions,\n maskTextFn,\n maskInputFn,\n slimDOM: slimDOMOptions,\n dataURLOptions,\n recordCanvas,\n inlineImages,\n onSerialize: (n2) => {\n if (isSerializedIframe(n2, mirror)) {\n iframeManager.addIframe(n2);\n }\n if (isSerializedStylesheet(n2, mirror)) {\n stylesheetManager.trackLinkElement(n2);\n }\n if (hasShadowRoot(n2)) {\n shadowDomManager.addShadowRoot(index.shadowRoot(n2), document);\n }\n },\n onIframeLoad: (iframe, childSn) => {\n iframeManager.attachIframe(iframe, childSn);\n shadowDomManager.observeAttachShadow(iframe);\n },\n onStylesheetLoad: (linkEl, childSn) => {\n stylesheetManager.attachLinkElement(linkEl, childSn);\n },\n keepIframeSrcFn\n });\n if (!node2) {\n return console.warn(\"Failed to snapshot the document\");\n }\n wrappedEmit(\n {\n type: EventType.FullSnapshot,\n data: {\n node: node2,\n initialOffset: getWindowScroll(window)\n }\n },\n isCheckout\n );\n mutationBuffers.forEach((buf) => buf.unlock());\n if (document.adoptedStyleSheets && document.adoptedStyleSheets.length > 0)\n stylesheetManager.adoptStyleSheets(\n document.adoptedStyleSheets,\n mirror.getId(document)\n );\n };\n try {\n const handlers = [];\n const observe = (doc) => {\n var _a2;\n return callbackWrapper(initObservers)(\n {\n mutationCb: wrappedMutationEmit,\n mousemoveCb: (positions, source) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source,\n positions\n }\n }),\n mouseInteractionCb: (d) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.MouseInteraction,\n ...d\n }\n }),\n scrollCb: wrappedScrollEmit,\n viewportResizeCb: (d) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.ViewportResize,\n ...d\n }\n }),\n inputCb: (v2) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.Input,\n ...v2\n }\n }),\n mediaInteractionCb: (p) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.MediaInteraction,\n ...p\n }\n }),\n styleSheetRuleCb: (r2) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.StyleSheetRule,\n ...r2\n }\n }),\n styleDeclarationCb: (r2) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.StyleDeclaration,\n ...r2\n }\n }),\n canvasMutationCb: wrappedCanvasMutationEmit,\n fontCb: (p) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.Font,\n ...p\n }\n }),\n selectionCb: (p) => {\n wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.Selection,\n ...p\n }\n });\n },\n customElementCb: (c2) => {\n wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.CustomElement,\n ...c2\n }\n });\n },\n blockClass,\n ignoreClass,\n ignoreSelector,\n maskTextClass,\n maskTextSelector,\n maskInputOptions,\n inlineStylesheet,\n sampling,\n recordDOM,\n recordCanvas,\n inlineImages,\n userTriggeredOnInput,\n collectFonts,\n doc,\n maskInputFn,\n maskTextFn,\n keepIframeSrcFn,\n blockSelector,\n slimDOMOptions,\n dataURLOptions,\n mirror,\n iframeManager,\n stylesheetManager,\n shadowDomManager,\n processedNodeManager,\n canvasManager,\n ignoreCSSAttributes,\n plugins: ((_a2 = plugins == null ? void 0 : plugins.filter((p) => p.observer)) == null ? void 0 : _a2.map((p) => ({\n observer: p.observer,\n options: p.options,\n callback: (payload) => wrappedEmit({\n type: EventType.Plugin,\n data: {\n plugin: p.name,\n payload\n }\n })\n }))) || []\n },\n hooks\n );\n };\n iframeManager.addLoadListener((iframeEl) => {\n try {\n handlers.push(observe(iframeEl.contentDocument));\n } catch (error) {\n console.warn(error);\n }\n });\n const init = () => {\n takeFullSnapshot$1();\n handlers.push(observe(document));\n recording = true;\n };\n if (document.readyState === \"interactive\" || document.readyState === \"complete\") {\n init();\n } else {\n handlers.push(\n on(\"DOMContentLoaded\", () => {\n wrappedEmit({\n type: EventType.DomContentLoaded,\n data: {}\n });\n if (recordAfter === \"DOMContentLoaded\") init();\n })\n );\n handlers.push(\n on(\n \"load\",\n () => {\n wrappedEmit({\n type: EventType.Load,\n data: {}\n });\n if (recordAfter === \"load\") init();\n },\n window\n )\n );\n }\n return () => {\n handlers.forEach((h) => h());\n processedNodeManager.destroy();\n recording = false;\n unregisterErrorHandler();\n };\n } catch (error) {\n console.warn(error);\n }\n}\nrecord.addCustomEvent = (tag, payload) => {\n if (!recording) {\n throw new Error(\"please add custom event after start recording\");\n }\n wrappedEmit({\n type: EventType.Custom,\n data: {\n tag,\n payload\n }\n });\n};\nrecord.freezePage = () => {\n mutationBuffers.forEach((buf) => buf.freeze());\n};\nrecord.takeFullSnapshot = (isCheckout) => {\n if (!recording) {\n throw new Error(\"please take full snapshot after start recording\");\n }\n takeFullSnapshot$1(isCheckout);\n};\nrecord.mirror = mirror;\nvar n;\n!function(t2) {\n t2[t2.NotStarted = 0] = \"NotStarted\", t2[t2.Running = 1] = \"Running\", t2[t2.Stopped = 2] = \"Stopped\";\n}(n || (n = {}));\nexport {\n record\n};\n//# sourceMappingURL=record.js.map\n","import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n","let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n","import rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nconst _state = {};\nfunction v1(options, buf, offset) {\n let bytes;\n const isV6 = options?._v6 ?? false;\n if (options) {\n const optionsKeys = Object.keys(options);\n if (optionsKeys.length === 1 && optionsKeys[0] === '_v6') {\n options = undefined;\n }\n }\n if (options) {\n bytes = v1Bytes(options.random ?? options.rng?.() ?? rng(), options.msecs, options.nsecs, options.clockseq, options.node, buf, offset);\n }\n else {\n const now = Date.now();\n const rnds = rng();\n updateV1State(_state, now, rnds);\n bytes = v1Bytes(rnds, _state.msecs, _state.nsecs, isV6 ? undefined : _state.clockseq, isV6 ? undefined : _state.node, buf, offset);\n }\n return buf ?? unsafeStringify(bytes);\n}\nexport function updateV1State(state, now, rnds) {\n state.msecs ??= -Infinity;\n state.nsecs ??= 0;\n if (now === state.msecs) {\n state.nsecs++;\n if (state.nsecs >= 10000) {\n state.node = undefined;\n state.nsecs = 0;\n }\n }\n else if (now > state.msecs) {\n state.nsecs = 0;\n }\n else if (now < state.msecs) {\n state.node = undefined;\n }\n if (!state.node) {\n state.node = rnds.slice(10, 16);\n state.node[0] |= 0x01;\n state.clockseq = ((rnds[8] << 8) | rnds[9]) & 0x3fff;\n }\n state.msecs = now;\n return state;\n}\nfunction v1Bytes(rnds, msecs, nsecs, clockseq, node, buf, offset = 0) {\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n if (!buf) {\n buf = new Uint8Array(16);\n offset = 0;\n }\n else {\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n }\n msecs ??= Date.now();\n nsecs ??= 0;\n clockseq ??= ((rnds[8] << 8) | rnds[9]) & 0x3fff;\n node ??= rnds.slice(10, 16);\n msecs += 12219292800000;\n const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n buf[offset++] = (tl >>> 24) & 0xff;\n buf[offset++] = (tl >>> 16) & 0xff;\n buf[offset++] = (tl >>> 8) & 0xff;\n buf[offset++] = tl & 0xff;\n const tmh = ((msecs / 0x100000000) * 10000) & 0xfffffff;\n buf[offset++] = (tmh >>> 8) & 0xff;\n buf[offset++] = tmh & 0xff;\n buf[offset++] = ((tmh >>> 24) & 0xf) | 0x10;\n buf[offset++] = (tmh >>> 16) & 0xff;\n buf[offset++] = (clockseq >>> 8) | 0x80;\n buf[offset++] = clockseq & 0xff;\n for (let n = 0; n < 6; ++n) {\n buf[offset++] = node[n];\n }\n return buf;\n}\nexport default v1;\n",null,null,null,null,null],"names":["__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","SuppressedError","_a","__defProp","Object","defineProperty","__publicField","obj","key","enumerable","configurable","writable","__defNormalProp","__defProp$1","__publicField$1","__defNormalProp$1","NodeType$3","NodeType2","testableAccessors$1","Node","ShadowRoot","Element","MutationObserver","testableMethods$1","untaintedBasePrototype$1","getUntaintedPrototype$1","defaultObj","globalThis","defaultPrototype","prototype","accessorNames","isUntaintedAccessors","Boolean","every","accessor","_a2","_b","getOwnPropertyDescriptor","get","toString","includes","methodNames","isUntaintedMethods","method","Zone","iframeEl","document","createElement","body","appendChild","win","contentWindow","untaintedObject","removeChild","untaintedAccessorCache$1","getUntaintedAccessor$1","instance","cacheKey","String","call","untaintedPrototype","untaintedAccessor","untaintedMethodCache$1","getUntaintedMethod$1","bind","untaintedMethod","index$1","childNodes","n2","parentNode","parentElement","textContent","contains","other","getRootNode","host","styleSheets","shadowRoot","querySelector","selectors","querySelectorAll","mutationObserver","constructor","isElement","nodeType","ELEMENT_NODE","isShadowRoot","hostEl","isNativeShadowDom","shadowRoot2","stringifyStylesheet","s2","rules2","rules","cssRules","sheetHref","href","ownerNode","ownerDocument","location","stringifiedRules","Array","from","rule2","stringifyRule","join","cssText","replace","error","isCSSImportRule","importStringified","styleSheet","split","length","statement","JSON","stringify","layerName","push","supportsText","media","mediaText","escapeImportStatement","absolutifyURLs","ruleStringified","isCSSStyleRule","selectorText","cssStringified","regex","fixSafariColons","Mirror","this","Map","WeakMap","getId","getMeta","id","getNode","idNodeMap","getIds","keys","nodeMetaMap","removeNodeFromMap","delete","forEach","childNode","has","hasNode","node2","add","meta","set","oldNode","reset","maskInputValue","element","maskInputOptions","tagName","type","maskInputFn","text","actualType","toLowerCase","repeat","str","ORIGINAL_ATTRIBUTE_NAME","getInputType","hasAttribute","extractFileExtension","path","baseURL","url","URL","window","err","match","pathname","URL_IN_CSS_REF","URL_PROTOCOL_MATCH","URL_WWW_MATCH","DATA_URI","origin","quote1","path1","quote2","path2","path3","filePath","maybeQuote","test","indexOf","slice","extractOrigin","stack","parts","pop","part","normalizeCssString","markCssSplits","style","childNodes2","splits","cssTextNorm","i2","textContentNorm","j","bit","substring","splitNorm","k","splitCssText","_id","tagNameRegex","RegExp","genId","canvasService","canvasCtx","SRCSET_NOT_SPACES","SRCSET_COMMAS_OR_SPACES","cachedDocument","absoluteToDoc","doc","attributeValue","trim","getHref","isSVGElement","el","ownerSVGElement","customHref","a2","startsWith","setAttribute","transformAttribute","name","pos","collectCharacters","regEx","chars2","exec","output","descriptorsStr","inParens","c2","charAt","getAbsoluteSrcsetString","ignoreAttribute","_value","classMatchesRegex","checkAncestors","eIndex","classList","className","needMaskingText","maskTextClass","maskTextSelector","closest","matches","e2","serializeNode","options","mirror","mirror2","blockClass","blockSelector","needsMask","inlineStylesheet","maskTextFn","dataURLOptions","inlineImages","recordCanvas","keepIframeSrcFn","newlyAddedElement","cssCaptured","rootId","docId","getRootId","DOCUMENT_NODE","compatMode","Document","DOCUMENT_TYPE_NODE","DocumentType","publicId","systemId","needBlock","_isBlockedElement","HTMLFormElement","processedTagName","getValidTagName$1","attributes","len","attr","stylesheet","find","rel","_cssText","sheet","checked","selected","open","rr_open_mode","__context","canvas","ctx","getContext","x2","width","y","height","getImageData","originalGetImageData","Uint32Array","Math","min","data","buffer","some","pixel","is2DCanvasBlank","rr_dataURL","toDataURL","quality","canvasDataURL","blankCanvas","image","imageSrc","currentSrc","getAttribute","priorCrossOrigin","crossOrigin","recordInlineImage","removeEventListener","naturalWidth","naturalHeight","drawImage","complete","addEventListener","console","warn","removeAttribute","mediaAttributes","rr_mediaState","paused","rr_mediaCurrentTime","currentTime","rr_mediaPlaybackRate","playbackRate","rr_mediaMuted","muted","rr_mediaLoop","loop","rr_mediaVolume","volume","scrollLeft","rr_scrollLeft","scrollTop","rr_scrollTop","getBoundingClientRect","class","rr_width","rr_height","src","contentDocument","rr_src","isCustomElement","customElements","isSVG","isCustom","serializeElementNode","TEXT_NODE","parent","parentTagName","textContent2","isStyle","isScript","Text","serializeTextNode","CDATA_SECTION_NODE","CDATA","COMMENT_NODE","Comment","lowerIfExists","maybeAttr","serializeNodeWithId","skipChild","slimDOMOptions","onSerialize","onIframeLoad","iframeLoadTimeout","onStylesheetLoad","stylesheetLoadTimeout","preserveWhiteSpace","_serializedNode","sn","comment","script","as","headFavicon","headMetaDescKeywords","headMetaSocial","property","headMetaRobots","headMetaHttpEquiv","headMetaAuthorship","headMetaVerification","slimDOMExcluded","serializedNode","assign","recordChild","shadowRootEl","isShadowHost","headWhitespace","bypassOptions","childN","serializedChildNode","isShadow","listener","readyState","fired","timer","setTimeout","clearTimeout","blankUrl","onceIframeLoaded","iframeDoc","serializedIframeNode","link","styleSheetLoadTimeout","styleSheetLoaded","onceStylesheetLoaded","serializedLinkNode","getDefaultExportFromCjs$1","__esModule","hasOwnProperty","getAugmentedNamespace$1","f2","default","a22","Reflect","construct","arguments","d","picocolors_browser$1","exports","x$1","create$1","isColorSupported","bold","dim","italic","underline","inverse","hidden","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","createColors","picocolors_browserExports$1","require$$2$1","freeze","__proto__","Symbol","toStringTag","pico$1","terminalHighlight$1$1","CssSyntaxError$3$1","CssSyntaxError","Error","message","line","column","source","file","plugin22","super","reason","plugin","endLine","endColumn","setMessage","captureStackTrace","showSourceCode","color","css","mark","aside","lines","start","max","end","maxWidth","map","index2","number","gutter","spacing","code","cssSyntaxError$1","symbols$1","isClean","my","DEFAULT_RAW$1","after","beforeClose","beforeComment","beforeDecl","beforeOpen","beforeRule","colon","commentLeft","commentRight","emptyBody","indent","semicolon","Stringifier$2$1","builder","atrule","params","rawValue","raws","afterName","nodes","block","between","beforeAfter","detect","raw","buf","depth","last","child","before","left","right","decl","string","prop","important","own","first","root2","root","rawCache","toUpperCase","walk","rawBeforeClose","rawBeforeComment","walkComments","rawBeforeDecl","walkDecls","rawBeforeOpen","rawBeforeRule","rawColon","rawEmptyBody","rawIndent","p","rawSemicolon","rule","ownSemicolon","stringifier$1","Stringifier$1$1","stringify$4$1","stringify_1$1","isClean$2$1","my$2$1","CssSyntaxError$2$1","Stringifier2$1","stringify$3$1","cloneNode$1","cloned","isArray","Node$4$1","defaults","clone","append","addToError","postcssNode","input","insertAfter","overrides","insertBefore","cleanRaws","keepBetween","cloneAfter","cloneBefore","opts","rangeBy","getProxyProcessor","toProxy","markDirty","index","positionBy","stringRepresentation","positionInside","word","prev","endIndex","defaultType","remove","replaceWith","bookmark","foundSelf","result2","toJSON","_","inputs","fixed","emitInputs","inputsNextIndex","inputId","input2","proxyCache","Proxy","stringifier2","node","proxyOf","node$1","Node$3$1","Declaration$4$1","variable","declaration$1","nonSecure$1","nanoid","size","random","SourceMapConsumer","SourceMapConsumer$2$1","SourceMapGenerator","SourceMapGenerator$2$1","existsSync","existsSync$1","readFileSync","readFileSync$1","dirname","dirname$1$1","join$1","PreviousMap$2$1","loadAnnotation","inline","startWith","annotation","loadMap","mapFile","consumer","consumerCache","decodeInline","decodeURIComponent","substr","lastMatch","Buffer","atob","encoding","getAnnotationURL","sourceMapString","isMap","mappings","_mappings","sections","comments","lastIndexOf","loadFile","fromSourceMap","prevPath","withContent","sourcesContent","previousMap$1","SourceMapConsumer$1$1","SourceMapGenerator$1$1","fileURLToPath","fileURLToPath$1","pathToFileURL","pathToFileURL$1$1","isAbsolute","isAbsolute$1","resolve$1$1","nanoid$2","terminalHighlight$2","CssSyntaxError$1$1","PreviousMap$1$1","fromOffsetCache$1","sourceMapAvailable$1$1","pathAvailable$1$1","Input$4$1","hasBOM","mapResolve","offset","fromOffset","col","lastLine","lineToIndex","prevIndex","l2","mid","sourceRoot","to","fromUrl","originalPositionFor","protocol","sourceContentFor","json","input$1","registerInput","SourceMapConsumer$3","SourceMapGenerator$3","dirname$2","relative","relative$1","resolve$2","sep","sep$1","pathToFileURL$2","Input$3$1","sourceMapAvailable$2","pathAvailable$2","mapGenerator$1","stringify2","cssString","mapOpts","originalCSS","usesFileUrls","absolute","memoizedFileURLs","memoizedPaths","memoizedURLs","addAnnotation","content","isInline","toBase64","outputFile","eol","applyPrevMaps","previous","toUrl","applySourceMap","clearAnnotation","generate","generateMap","generateString","ignoreInvalidMapping","addMapping","generated","original","isSourcesContent","setSourcesContent","isAnnotation","noSource","mapping","sourcePath","charCodeAt","cached","previousMaps","already","toFileUrl","setSourceContent","btoa","unescape","encodeURIComponent","fileURL","encodeURI","Node$2$1","Comment$4$1","comment$1","parse$4$1","Rule$4$1","AtRule$4$1","Root$6$1","isClean$1$1","my$1$1","Declaration$3$1","Comment$3$1","Node$1$1","cleanSource$1","markDirtyUp$1","Container$7$1","Container","children","normalize","each","callback","iterator","getIterator","indexes","condition","lastEach","args","cb","exist","existIndex","reverse","splice","sample","selector","rebuild","prepend","unshift","removeAll","replaceValues","pattern","props","fast","walkAtRules","walkRules","registerParse","dependant","registerRule","registerAtRule","registerRoot","container$1","setPrototypeOf","LazyResult$4$1","Processor$3$1","Container$6$1","Document$3$1","toResult","registerLazyResult","registerProcessor","document$1$1","printed$1","warnOnce$2$1","Warning$2$1","range","opt","warning$1","Warning$1$1","Result$3$1","processor2","processor","messages","lastPlugin","postcssPlugin","warning2","warnings","filter","result$1","SINGLE_QUOTE$1","DOUBLE_QUOTE$1","BACKSLASH$1","SLASH$1","NEWLINE$1","SPACE$1","FEED$1","TAB$1","CR$1","OPEN_SQUARE$1","CLOSE_SQUARE$1","OPEN_PARENTHESES$1","CLOSE_PARENTHESES$1","OPEN_CURLY$1","CLOSE_CURLY$1","SEMICOLON$1","ASTERISK$1","COLON$1","AT$1","RE_AT_END$1","RE_WORD_END$1","RE_BAD_BRACKET$1","RE_HEX_ESCAPE$1","Container$5$1","AtRule$3$1","atRule$1","LazyResult$3$1","Processor$2$1","Container$4$1","Root$5$1","ignore","root$1","list$2$1","comma","space","separators","array","current","func","inQuote","prevQuote","escape","letter","list_1$1","Container$3$1","list$1$1","Rule$3$1","values","sep2","rule$1","Declaration$2$1","tokenizer2$1","quote","escaped","escapePos","currentToken","valueOf","ignoreErrors","returned","unclosed","what","back","token","endOfFile","nextToken","ignoreUnclosed","controlChar","fromCharCode","lastIndex","position","Comment$2$1","AtRule$2$1","Root$4$1","Rule$2$1","SAFE_COMMENT_NEIGHBOR$1","empty","Container$2$1","Parser2$1","spaces","createTokenizer","shift","unnamedAtrule","init","brackets","tokenizer","getPosition","spacesAndCommentsFromEnd","spacesAndCommentsFromStart","checkMissedSemicolon","tokens","founded","entries","doubleColon","customProperty","findLastWithPosition$1","unknownWord","firstSpaces","precheckMissedSemicolon","stringFrom","spacesFromEnd","cache","concat","emptyRule","unexpectedClose","endFile","unclosedBlock","freeSemicolon","bracket","unclosedBracket","parse","clean","reduce","all","lastTokenType","Input$2$1","parse$3$1","parser2","process","env","NODE_ENV","parse_1$1","isClean$3","my$3","MapGenerator$1$1","stringify$2$1","Container$1$1","Document$2$1","warnOnce$1$1","Result$2$1","parse$2$1","Root$3$1","TYPE_TO_CLASS_NAME$1","PLUGIN_PROPS$1","AtRule","AtRuleExit","CommentExit","Declaration","DeclarationExit","DocumentExit","Once","OnceExit","prepare","Root","RootExit","Rule","RuleExit","NOT_VISITORS$1","isPromise$1","getEvents$1","toStack$1","events","eventIndex","visitorIndex","visitors","cleanMarks$1","postcss$2$1","LazyResult$2$1","LazyResult","stringified","processed","syntax","parser","helpers","postcss","plugins","async","processing","runAsync","onRejected","catch","onFinally","getAsyncError","handleError","postcssVersion","pluginName","pluginVer","runtimeVer","version","b","parseInt","prepareVisitors","listeners","event","hasListener","promise","runOnRoot","visitTick","visitor","roots","subRoot","sync","stringifier","walkSync","visitSync","onFulfilled","visit2","registerPostcss","lazyResult$1","MapGenerator2$1","stringify$1$1","warnOnce2$1","parse$1$1","Result$1$1","NoWorkResult$1$1","_processor","_css","_opts","_map","self","generatedCSS","generatedMap","_root","noWorkResult$1","NoWorkResult2$1","LazyResult$1$1","Document$1$1","Root$2$1","Processor$1$1","normalized","use","processor$1","Declaration$1$1","PreviousMap2$1","Comment$1$1","AtRule$1$1","Input$1$1","Root$1$1","Rule$1$1","fromJSON$1$1","ownInputs","inputHydrated","fromJSON_1$1","CssSyntaxError2$1","Declaration2$1","LazyResult2$1","Container2$1","Processor2$1","stringify$5","fromJSON$2","Document22","Warning2$1","Comment2$1","AtRule2$1","Result2$1","Input2$1","parse$5","list$3","Rule2$1","Root2$1","Node2$1","postcss$3","initializer","warningPrinted","creator","LANG","transformer","processOpts","pluginOpts","fromJSON","list","atRule","Processor","Warning","Result","Input","postcss_1$1","postcss$1$1","__defProp2","__publicField2","__defNormalProp2","getDefaultExportFromCjs","getAugmentedNamespace","picocolors_browser","x","create","picocolors_browserExports","require$$2","pico","terminalHighlight$1","CssSyntaxError$3","CssSyntaxError2","cssSyntaxError","symbols","DEFAULT_RAW","Stringifier$2","Stringifier$1","stringify$4","stringify_1","isClean$2","my$2","CssSyntaxError$2","Stringifier22","stringify$3","cloneNode","Node$4","Node$3","Declaration$4","declaration","nonSecure","SourceMapConsumer$2","SourceMapGenerator$2","dirname$1","PreviousMap$2","previousMap","SourceMapConsumer$1","SourceMapGenerator$1","pathToFileURL$1","resolve$1","terminalHighlight","CssSyntaxError$1","PreviousMap$1","fromOffsetCache","sourceMapAvailable$1","pathAvailable$1","Input$4","Input$3","sourceMapAvailable","pathAvailable","mapGenerator","Node$2","Comment$4","parse$4","Rule$4","AtRule$4","Root$6","isClean$1","my$1","Declaration$3","Comment$3","Node$1","cleanSource","markDirtyUp","Container$7","Container2","container","LazyResult$4","Processor$3","Container$6","Document$3","document$1","printed","warnOnce$2","Warning$2","warning","Warning$1","Result$3","SINGLE_QUOTE","DOUBLE_QUOTE","BACKSLASH","SLASH","NEWLINE","SPACE","FEED","TAB","CR","OPEN_SQUARE","CLOSE_SQUARE","OPEN_PARENTHESES","CLOSE_PARENTHESES","OPEN_CURLY","CLOSE_CURLY","SEMICOLON","ASTERISK","COLON","AT","RE_AT_END","RE_WORD_END","RE_BAD_BRACKET","RE_HEX_ESCAPE","Container$5","AtRule$3","LazyResult$3","Processor$2","Container$4","Root$5","list$2","list_1","Container$3","list$1","Rule$3","Declaration$2","tokenizer22","Comment$2","AtRule$2","Root$4","Rule$2","SAFE_COMMENT_NEIGHBOR","Container$2","Parser22","findLastWithPosition","Input$2","parse$3","parse_1","MapGenerator$1","stringify$2","Container$1","Document$2","warnOnce$1","Result$2","parse$2","Root$3","TYPE_TO_CLASS_NAME","PLUGIN_PROPS","NOT_VISITORS","isPromise","getEvents","toStack","cleanMarks","postcss$2","LazyResult$2","LazyResult2","lazyResult","MapGenerator22","stringify$1","warnOnce22","parse$1","Result$1","NoWorkResult$1","noWorkResult","NoWorkResult22","LazyResult$1","Document$1","Root$2","Processor$1","Declaration$1","PreviousMap22","Comment$1","AtRule$1","Input$1","Root$1","Rule$1","fromJSON$1","fromJSON_1","CssSyntaxError22","Declaration22","LazyResult22","Container22","Processor22","Document222","Warning22","Comment22","AtRule22","Result22","Input22","Rule22","Root22","Node22","postcss_1","postcss$1","BaseRRNode","_args","childIterator","firstChild","nextSibling","_newChild","_refChild","_node","testableAccessors","testableMethods","untaintedBasePrototype","getUntaintedPrototype","untaintedAccessorCache","getUntaintedAccessor","untaintedMethodCache","getUntaintedMethod","mutationObserverCtor","on","fn","target","capture","passive","DEPARTED_MIRROR_ACCESS_WARNING","_mirror","throttle","wait","timeout","now","Date","leading","remaining","context","trailing","hookSetter","isRevoked","patch","replacement","wrapped","defineProperties","__rrweb_original__","receiver","nowTimestamp","getWindowScroll","_c","_d","scrollingElement","pageXOffset","documentElement","top","pageYOffset","getWindowHeight","innerHeight","clientHeight","getWindowWidth","innerWidth","clientWidth","closestElementOfNode","isBlocked","isIgnored","headTitleMutations","isAncestorRemoved","legacy_isTouchEvent","changedTouches","isSerializedIframe","nodeName","isSerializedStylesheet","hasShadowRoot","getTime","StyleSheetMirror","styleIDMap","newId","idStyleMap","getStyle","generateId","getShadowHost","shadowHost","DOCUMENT_FRAGMENT_NODE","shadowHostInDom","rootShadowHost","getRootShadowHost","inDom","EventType","EventType2","IncrementalSource","IncrementalSource2","MouseInteractions","MouseInteractions2","PointerTypes","PointerTypes2","CanvasContext","CanvasContext2","MediaInteractions","MediaInteractions2","NodeType","isNodeInLinkedList","DoubleLinkedList","head","addNode","__ln","previousSibling","tail","removeNode","moveKey","parentId","MutationBuffer","Set","mutations","processMutation","emit","frozen","locked","adds","addedIds","addList","getNextId","ns","nextId","pushAdd","parentTag","addedSet","currentN","iframeManager","addIframe","stylesheetManager","trackLinkElement","shadowDomManager","addShadowRoot","iframe","childSn","attachIframe","observeAttachShadow","attachLinkElement","mapRemoves","movedSet","isParentRemoved","removesSubTreeCache","isAncestorInSet","droppedSet","candidate","tailNode","unhandledNode","payload","texts","genTextAreaValueMutation","attribute","diffAsStr","styleDiff","unchangedAsStr","_unchangedStyles","removes","attributeMap","movedMap","mutationCb","textarea","item","cn","m","oldValue","attributeName","unattachedDoc","implementation","createHTMLDocument","old","pname","newValue","getPropertyValue","newPriority","getPropertyPriority","addedNodes","genAdds","removedNodes","nodeId","isSerialized","deepDelete","queue","n22","processRemoves","processedNodeManager","inOtherBuffer","targetId","canvasManager","unfreeze","isFrozen","lock","unlock","addsSet","_isParentRemoved","_isAncestorInSet","errorHandler","callbackWrapper","rest","mutationBuffers","getEventTarget","composedPath","initMutationObserver","rootEl","mutationBuffer","observer","processMutations","observe","attributeOldValue","characterData","characterDataOldValue","childList","subtree","initMouseInteractionObserver","mouseInteractionCb","sampling","mouseInteraction","disableMap","handlers","currentPointerType","Number","isNaN","endsWith","eventKey","eventName","handler","pointerType","thisEventKey","Mouse","Touch","Pen","MouseDown","MouseUp","Click","clientX","clientY","getHandler","PointerEvent","TouchStart","TouchEnd","h","initScrollObserver","scrollCb","evt","defaultView","scrollLeftTop","scroll","INPUT_TAGS","lastInputValueMap","getNestedCSSRulePositions","childRule","hasNestedCSSRule","parentRule","CSSGroupingRule","CSSMediaRule","CSSSupportsRule","CSSConditionRule","parentStyleSheet","recurse","getIdAndStyleId","styleMirror","styleId","initAdoptedStyleSheetObserver","host2","hostId","patchTarget","originalPropertyDescriptor","_a3","sheets","adoptStyleSheets","initObservers","o2","hooks","currentWindow","mousemoveCb","viewportResizeCb","inputCb","mediaInteractionCb","styleSheetRuleCb","styleDeclarationCb","canvasMutationCb","fontCb","selectionCb","customElementCb","mutation","mousemove","viewportResize","mediaInteaction","styleSheetRule","styleDeclaration","canvasMutation","font","selection","customElement","mergeHooks","recordDOM","mousemoveHandler","threshold","callbackThreshold","mousemoveCallback","timeBaseline","positions","wrappedCb","totalOffset","timeOffset","updatePosition","DragEvent","Drag","MouseEvent","MouseMove","TouchMove","initMoveObserver","mouseInteractionHandler","scrollHandler","viewportResizeHandler","lastH","lastW","initViewportResizeObserver","inputHandler","ignoreClass","ignoreSelector","userTriggeredOnInput","eventHandler","userTriggered","isTrusted","isChecked","cbWithDedup","text2","v2","lastInputValue","propertyDescriptor","HTMLInputElement","hookProperties","HTMLSelectElement","HTMLTextAreaElement","HTMLOptionElement","initInputObserver","mediaInteractionHandler","Play","Pause","Seeked","VolumeChange","RateChange","initMediaInteractionObserver","styleSheetObserver","adoptedStyleSheetObserver","styleDeclarationObserver","fontObserver","CSSStyleSheet","insertRule","argumentsList","addRule","styleBlock","deleteRule","replaceSync","removeRule","supportedNestedCSSRuleTypes","canMonkeyPatchNestedCSSRule","unmodifiedFunctions","typeKey","initStyleSheetObserver","ignoreCSSAttributes","setProperty","CSSStyleDeclaration","priority","removeProperty","initStyleDeclarationObserver","collectFonts","fontMap","originalFontFace","FontFace","family","descriptors","fontFace","fontSource","Uint8Array","restoreHandler","fonts","initFontObserver","selectionObserver","param","collapsed","updateSelection","getSelection","isCollapsed","ranges","count","rangeCount","getRangeAt","startContainer","startOffset","endContainer","endOffset","initSelectionObserver","customElementObserver","define","initCustomElementObserver","pluginHandlers","plugin3","disconnect","CrossOriginIframeMirror","generateIdFn","remoteId","idToRemoteMap","remoteToIdMap","idToRemoteIdMap","getIdToRemoteIdMap","remoteIdToIdMap","getRemoteIdToIdMap","getRemoteId","getRemoteIds","ids","iframeIdToRemoteIdMap","iframeRemoteIdToIdMap","IframeManager","wrappedEmit","recordCrossOriginIframes","crossOriginIframeStyleMirror","handleMessage","iframes","crossOriginIframeMap","addLoadListener","loadListener","isAttachIframe","adoptedStyleSheets","crossOriginMessageEvent","transformedEvent","transformCrossOriginEvent","isCheckout","FullSnapshot","crossOriginIframeMirror","replaceIdOnNode","crossOriginIframeRootIdMap","patchRootIdOnNode","timestamp","IncrementalSnapshot","Mutation","Meta","Load","DomContentLoaded","Plugin","Custom","replaceIds","ViewportResize","MediaInteraction","MouseInteraction","Scroll","CanvasMutation","StyleSheetRule","StyleDeclaration","replaceStyleIds","Font","Selection","AdoptedStyleSheet","styles","iframeMirror","ShadowDomManager","WeakSet","patchAttachShadow","shadowDoms","restoreHandlers","iframeElement","manager","option","sRoot","chars","lookup","i$1","canvasVarMap","saveWebGLVar","isInstanceOfWebGLObject","list2","ctor","contextMap","variableListFor$1","serializeArg","arg","Float32Array","Float64Array","Int32Array","Uint16Array","Int16Array","Int8Array","Uint8ClampedArray","rr_type","ArrayBuffer","base64","arraybuffer","bytes","encode","DataView","byteOffset","byteLength","HTMLImageElement","HTMLCanvasElement","ImageData","serializeArgs","supportedWebGLConstructorNames","initCanvasContextObserver","setPreserveDrawingBufferToTrue","contextType","ctxName","getNormalizedContextName","contextAttributes","preserveDrawingBuffer","patchGLPrototype","getOwnPropertyNames","recordArgs","hookHandler","setter","encodedJs","blob","Blob","WorkerWrapper","objURL","webkitURL","createObjectURL","worker","Worker","revokeObjectURL","CanvasManager","latestId","invokeId","rafStamps","pendingCanvasMutations","initCanvasMutationObserver","initCanvasFPSObserver","clear","resetObservers","fps","canvasContextReset","snapshotInProgressMap","onmessage","commands","timeBetweenSnapshots","rafId","lastSnapshotTime","takeCanvasSnapshots","matchedCanvas","getCanvas","getContextAttributes","COLOR_BUFFER_BIT","bitmap","createImageBitmap","postMessage","requestAnimationFrame","cancelAnimationFrame","startRAFTimestamping","startPendingCanvasMutationFlusher","canvas2DReset","props2D","CanvasRenderingContext2D","initCanvas2DMutationObserver","canvasWebGL1and2Reset","WebGLRenderingContext","WebGL","WebGL2RenderingContext","WebGL2","initCanvasWebGLMutationObserver","flushPendingCanvasMutations","setLatestRAFTimestamp","_values","flushPendingCanvasMutationFor","valuesWithType","type2","StylesheetManager","adoptedStyleSheetCb","linkEl","trackedLinkElements","trackStylesheetInLinkElement","adoptedStyleSheetData","styleIds","CSSRule","r2","_linkEl","ProcessedNodeManager","thisBuffer","buffers","nodeMap","active","destroy","takeFullSnapshot$1","recording","cleanFrame","debug","record","checkoutEveryNms","checkoutEveryNth","maskAllInputs","_maskInputOptions","_slimDOMOptions","packFn","mousemoveWait","recordAfter","errorHandler2","inEmittingFrame","passEmitsToParent","date","email","month","search","tel","time","week","select","password","lastFullSnapshotEvent","NodeList","DOMTokenList","polyfill$1","incrementalSnapshotCount","eventProcessor","exceedCount","exceedTime","wrappedMutationEmit","wrappedScrollEmit","wrappedCanvasMutationEmit","getMirror","nodeMirror","slimDOM","snapshot","initialOffset","CustomElement","n","t2","addCustomEvent","tag","freezePage","takeFullSnapshot","NotStarted","Running","Stopped","byteToHex","i","getRandomValues","rnds8","_state","v1","rnds","crypto","rng","state","msecs","Infinity","nsecs","undefined","clockseq","updateV1State","RangeError","tl","tmh","v1Bytes","arr","unsafeStringify","LogLevel","logger","config","level","ERROR","enableConsole","enableStorage","isBrowser","setConfig","shouldLog","formatMessage","toISOString","formattedMessage","logToStorage","WARN","info","INFO","log","DEBUG","logs","localStorage","getItem","logEntry","setItem","getLogs","clearLogs","removeItem","logError","logWarn","logInfo","logDebug","MAX_CHUNK_SIZE_BYTES","isChunkSizeExceeded","currentChunk","newEvent","sessionId","TextEncoder","splitLargeEvent","simplifiedEvent","largeProperties","fromEntries","HumanBehaviorAPI","apiKey","ingestionUrl","baseUrl","userId","entryURL","referrer","response","fetch","headers","Authorization","Referer","endUserId","status","ok","errorText","statusText","responseJson","sendEvents","validEvents","sendEventsChunked","results","flat","sendUserData","userData","userAttributes","posthogName","sendUserAuth","authFields","sendBeaconEvents","navigator","sendBeacon","sendCustomEvent","eventProperties","sendCustomEventBatch","RedactionManager","redactedText","userSelectedFields","excludeSelectors","userFields","setFieldsToRedact","fields","field","elements","isActive","getSelectedFields","processEvent","processedEvent","isFieldSelected","redactInputEvent","redactDOMEvent","redactMouseEvent","redactFullSnapshot","inputData","domData","textChange","shouldRedactDOMChange","attrChange","changeData","elementId","shouldRedactElement","mouseData","snapshotData","redactNode","shouldRedactNode","selectorMatchesNode","tempElement","basicSelectorMatch","typeMatch","eventData","matchingElements","activeElement","getMaskTextSelector","applyRedactionClasses","getOriginalValue","isElementRedacted","redactionManager","HumanBehaviorTracker","__humanBehaviorGlobalTracker","logLevel","configureLogging","tracker","redactFields","setRedactedFields","enableAutomaticTracking","setupAutomaticTracking","automaticTrackingOptions","testUrl","api","_connectionBlocked","eventIngestionQueue","userProperties","isProcessing","flushInterval","FLUSH_INTERVAL_MS","initialized","initializationPromise","originalConsole","consoleTrackingEnabled","navigationTrackingEnabled","currentUrl","previousUrl","originalPushState","originalReplaceState","navigationListeners","recordInstance","sessionStartTime","rrwebRecord","fullSnapshotTimeout","existingSessionId","lastActivity","fifteenMinutesAgo","uuidv1","getCookie","setCookie","setupPageUnloadHandler","setupNavigationTracking","ensureInitialized","history","pushState","replaceState","trackNavigationEvent","popstateListener","hashchangeListener","navigationData","hash","addEvent","eventType","trackPageView","pageViewData","customEvent","properties","_e","customEventData","fallbackError","trackButtons","trackLinks","trackForms","includeText","includeClasses","setupAutomaticButtonTracking","setupAutomaticLinkTracking","setupAutomaticFormTracking","button","buttonId","buttonType","page","buttonText","buttonClass","linkUrl","linkId","linkTarget","linkText","linkClass","form","formData","FormData","formId","formAction","action","formMethod","formClass","cleanupNavigationTracking","cleanup","none","enableConsoleTracking","trackConsoleEvent","disableConsoleTracking","consoleData","visibilityState","updateActivity","viewLogs","identifyUser","originalEndUserId","getUserAttributes","setInterval","flush","startRecording","once","stop","clearInterval","hasData","eventsToProcess","fullSnapshots","_f","daysToExpire","setTime","expires","toUTCString","cookie","localStorageError","nameEQ","ca","c","cookieValue","localStorageValue","deleteCookie","logout","userIdCookieName","redact","restartWithNewRedaction","isRedactionActive","getRedactedFields","getSessionId","getCurrentUrl","getSnapshotFrequencyInfo","sessionDuration","currentInterval","currentThreshold","phase","testConnection","success","getConnectionStatus","recommendations","blocked","isPreexistingUser","existingEndUserId","getUserInfo","singleEventSize"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}
1
+ {"version":3,"file":"index.min.js","sources":["../node_modules/tslib/tslib.es6.js","../node_modules/@rrweb/record/dist/record.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/v1.js","../src/utils/logger.ts","../src/api.ts","../src/redact.ts","../src/tracker.ts","../src/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","var __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nvar _a;\nvar __defProp$1 = Object.defineProperty;\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField$1 = (obj, key, value) => __defNormalProp$1(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nvar NodeType$3 = /* @__PURE__ */ ((NodeType2) => {\n NodeType2[NodeType2[\"Document\"] = 0] = \"Document\";\n NodeType2[NodeType2[\"DocumentType\"] = 1] = \"DocumentType\";\n NodeType2[NodeType2[\"Element\"] = 2] = \"Element\";\n NodeType2[NodeType2[\"Text\"] = 3] = \"Text\";\n NodeType2[NodeType2[\"CDATA\"] = 4] = \"CDATA\";\n NodeType2[NodeType2[\"Comment\"] = 5] = \"Comment\";\n return NodeType2;\n})(NodeType$3 || {});\nconst testableAccessors$1 = {\n Node: [\"childNodes\", \"parentNode\", \"parentElement\", \"textContent\"],\n ShadowRoot: [\"host\", \"styleSheets\"],\n Element: [\"shadowRoot\", \"querySelector\", \"querySelectorAll\"],\n MutationObserver: []\n};\nconst testableMethods$1 = {\n Node: [\"contains\", \"getRootNode\"],\n ShadowRoot: [\"getSelection\"],\n Element: [],\n MutationObserver: [\"constructor\"]\n};\nconst untaintedBasePrototype$1 = {};\nconst isAngularZonePresent$1 = () => {\n return !!globalThis.Zone;\n};\nfunction getUntaintedPrototype$1(key) {\n if (untaintedBasePrototype$1[key])\n return untaintedBasePrototype$1[key];\n const defaultObj = globalThis[key];\n const defaultPrototype = defaultObj.prototype;\n const accessorNames = key in testableAccessors$1 ? testableAccessors$1[key] : void 0;\n const isUntaintedAccessors = Boolean(\n accessorNames && // @ts-expect-error 2345\n accessorNames.every(\n (accessor) => {\n var _a2, _b;\n return Boolean(\n (_b = (_a2 = Object.getOwnPropertyDescriptor(defaultPrototype, accessor)) == null ? void 0 : _a2.get) == null ? void 0 : _b.toString().includes(\"[native code]\")\n );\n }\n )\n );\n const methodNames = key in testableMethods$1 ? testableMethods$1[key] : void 0;\n const isUntaintedMethods = Boolean(\n methodNames && methodNames.every(\n // @ts-expect-error 2345\n (method) => {\n var _a2;\n return typeof defaultPrototype[method] === \"function\" && ((_a2 = defaultPrototype[method]) == null ? void 0 : _a2.toString().includes(\"[native code]\"));\n }\n )\n );\n if (isUntaintedAccessors && isUntaintedMethods && !isAngularZonePresent$1()) {\n untaintedBasePrototype$1[key] = defaultObj.prototype;\n return defaultObj.prototype;\n }\n try {\n const iframeEl = document.createElement(\"iframe\");\n document.body.appendChild(iframeEl);\n const win = iframeEl.contentWindow;\n if (!win) return defaultObj.prototype;\n const untaintedObject = win[key].prototype;\n document.body.removeChild(iframeEl);\n if (!untaintedObject) return defaultPrototype;\n return untaintedBasePrototype$1[key] = untaintedObject;\n } catch {\n return defaultPrototype;\n }\n}\nconst untaintedAccessorCache$1 = {};\nfunction getUntaintedAccessor$1(key, instance, accessor) {\n var _a2;\n const cacheKey = `${key}.${String(accessor)}`;\n if (untaintedAccessorCache$1[cacheKey])\n return untaintedAccessorCache$1[cacheKey].call(\n instance\n );\n const untaintedPrototype = getUntaintedPrototype$1(key);\n const untaintedAccessor = (_a2 = Object.getOwnPropertyDescriptor(\n untaintedPrototype,\n accessor\n )) == null ? void 0 : _a2.get;\n if (!untaintedAccessor) return instance[accessor];\n untaintedAccessorCache$1[cacheKey] = untaintedAccessor;\n return untaintedAccessor.call(instance);\n}\nconst untaintedMethodCache$1 = {};\nfunction getUntaintedMethod$1(key, instance, method) {\n const cacheKey = `${key}.${String(method)}`;\n if (untaintedMethodCache$1[cacheKey])\n return untaintedMethodCache$1[cacheKey].bind(\n instance\n );\n const untaintedPrototype = getUntaintedPrototype$1(key);\n const untaintedMethod = untaintedPrototype[method];\n if (typeof untaintedMethod !== \"function\") return instance[method];\n untaintedMethodCache$1[cacheKey] = untaintedMethod;\n return untaintedMethod.bind(instance);\n}\nfunction childNodes$1(n2) {\n return getUntaintedAccessor$1(\"Node\", n2, \"childNodes\");\n}\nfunction parentNode$1(n2) {\n return getUntaintedAccessor$1(\"Node\", n2, \"parentNode\");\n}\nfunction parentElement$1(n2) {\n return getUntaintedAccessor$1(\"Node\", n2, \"parentElement\");\n}\nfunction textContent$1(n2) {\n return getUntaintedAccessor$1(\"Node\", n2, \"textContent\");\n}\nfunction contains$1(n2, other) {\n return getUntaintedMethod$1(\"Node\", n2, \"contains\")(other);\n}\nfunction getRootNode$1(n2) {\n return getUntaintedMethod$1(\"Node\", n2, \"getRootNode\")();\n}\nfunction host$1(n2) {\n if (!n2 || !(\"host\" in n2)) return null;\n return getUntaintedAccessor$1(\"ShadowRoot\", n2, \"host\");\n}\nfunction styleSheets$1(n2) {\n return n2.styleSheets;\n}\nfunction shadowRoot$1(n2) {\n if (!n2 || !(\"shadowRoot\" in n2)) return null;\n return getUntaintedAccessor$1(\"Element\", n2, \"shadowRoot\");\n}\nfunction querySelector$1(n2, selectors) {\n return getUntaintedAccessor$1(\"Element\", n2, \"querySelector\")(selectors);\n}\nfunction querySelectorAll$1(n2, selectors) {\n return getUntaintedAccessor$1(\"Element\", n2, \"querySelectorAll\")(selectors);\n}\nfunction mutationObserverCtor$1() {\n return getUntaintedPrototype$1(\"MutationObserver\").constructor;\n}\nconst index$1 = {\n childNodes: childNodes$1,\n parentNode: parentNode$1,\n parentElement: parentElement$1,\n textContent: textContent$1,\n contains: contains$1,\n getRootNode: getRootNode$1,\n host: host$1,\n styleSheets: styleSheets$1,\n shadowRoot: shadowRoot$1,\n querySelector: querySelector$1,\n querySelectorAll: querySelectorAll$1,\n mutationObserver: mutationObserverCtor$1\n};\nfunction isElement(n2) {\n return n2.nodeType === n2.ELEMENT_NODE;\n}\nfunction isShadowRoot(n2) {\n const hostEl = (\n // anchor and textarea elements also have a `host` property\n // but only shadow roots have a `mode` property\n n2 && \"host\" in n2 && \"mode\" in n2 && index$1.host(n2) || null\n );\n return Boolean(\n hostEl && \"shadowRoot\" in hostEl && index$1.shadowRoot(hostEl) === n2\n );\n}\nfunction isNativeShadowDom(shadowRoot2) {\n return Object.prototype.toString.call(shadowRoot2) === \"[object ShadowRoot]\";\n}\nfunction fixBrowserCompatibilityIssuesInCSS(cssText) {\n if (cssText.includes(\" background-clip: text;\") && !cssText.includes(\" -webkit-background-clip: text;\")) {\n cssText = cssText.replace(\n /\\sbackground-clip:\\s*text;/g,\n \" -webkit-background-clip: text; background-clip: text;\"\n );\n }\n return cssText;\n}\nfunction escapeImportStatement(rule2) {\n const { cssText } = rule2;\n if (cssText.split('\"').length < 3) return cssText;\n const statement = [\"@import\", `url(${JSON.stringify(rule2.href)})`];\n if (rule2.layerName === \"\") {\n statement.push(`layer`);\n } else if (rule2.layerName) {\n statement.push(`layer(${rule2.layerName})`);\n }\n if (rule2.supportsText) {\n statement.push(`supports(${rule2.supportsText})`);\n }\n if (rule2.media.length) {\n statement.push(rule2.media.mediaText);\n }\n return statement.join(\" \") + \";\";\n}\nfunction stringifyStylesheet(s2) {\n try {\n const rules2 = s2.rules || s2.cssRules;\n if (!rules2) {\n return null;\n }\n let sheetHref = s2.href;\n if (!sheetHref && s2.ownerNode && s2.ownerNode.ownerDocument) {\n sheetHref = s2.ownerNode.ownerDocument.location.href;\n }\n const stringifiedRules = Array.from(\n rules2,\n (rule2) => stringifyRule(rule2, sheetHref)\n ).join(\"\");\n return fixBrowserCompatibilityIssuesInCSS(stringifiedRules);\n } catch (error) {\n return null;\n }\n}\nfunction stringifyRule(rule2, sheetHref) {\n if (isCSSImportRule(rule2)) {\n let importStringified;\n try {\n importStringified = // for same-origin stylesheets,\n // we can access the imported stylesheet rules directly\n stringifyStylesheet(rule2.styleSheet) || // work around browser issues with the raw string `@import url(...)` statement\n escapeImportStatement(rule2);\n } catch (error) {\n importStringified = rule2.cssText;\n }\n if (rule2.styleSheet.href) {\n return absolutifyURLs(importStringified, rule2.styleSheet.href);\n }\n return importStringified;\n } else {\n let ruleStringified = rule2.cssText;\n if (isCSSStyleRule(rule2) && rule2.selectorText.includes(\":\")) {\n ruleStringified = fixSafariColons(ruleStringified);\n }\n if (sheetHref) {\n return absolutifyURLs(ruleStringified, sheetHref);\n }\n return ruleStringified;\n }\n}\nfunction fixSafariColons(cssStringified) {\n const regex = /(\\[(?:[\\w-]+)[^\\\\])(:(?:[\\w-]+)\\])/gm;\n return cssStringified.replace(regex, \"$1\\\\$2\");\n}\nfunction isCSSImportRule(rule2) {\n return \"styleSheet\" in rule2;\n}\nfunction isCSSStyleRule(rule2) {\n return \"selectorText\" in rule2;\n}\nclass Mirror {\n constructor() {\n __publicField$1(this, \"idNodeMap\", /* @__PURE__ */ new Map());\n __publicField$1(this, \"nodeMetaMap\", /* @__PURE__ */ new WeakMap());\n }\n getId(n2) {\n var _a2;\n if (!n2) return -1;\n const id = (_a2 = this.getMeta(n2)) == null ? void 0 : _a2.id;\n return id ?? -1;\n }\n getNode(id) {\n return this.idNodeMap.get(id) || null;\n }\n getIds() {\n return Array.from(this.idNodeMap.keys());\n }\n getMeta(n2) {\n return this.nodeMetaMap.get(n2) || null;\n }\n // removes the node from idNodeMap\n // doesn't remove the node from nodeMetaMap\n removeNodeFromMap(n2) {\n const id = this.getId(n2);\n this.idNodeMap.delete(id);\n if (n2.childNodes) {\n n2.childNodes.forEach(\n (childNode) => this.removeNodeFromMap(childNode)\n );\n }\n }\n has(id) {\n return this.idNodeMap.has(id);\n }\n hasNode(node2) {\n return this.nodeMetaMap.has(node2);\n }\n add(n2, meta) {\n const id = meta.id;\n this.idNodeMap.set(id, n2);\n this.nodeMetaMap.set(n2, meta);\n }\n replace(id, n2) {\n const oldNode = this.getNode(id);\n if (oldNode) {\n const meta = this.nodeMetaMap.get(oldNode);\n if (meta) this.nodeMetaMap.set(n2, meta);\n }\n this.idNodeMap.set(id, n2);\n }\n reset() {\n this.idNodeMap = /* @__PURE__ */ new Map();\n this.nodeMetaMap = /* @__PURE__ */ new WeakMap();\n }\n}\nfunction createMirror$2() {\n return new Mirror();\n}\nfunction maskInputValue({\n element,\n maskInputOptions,\n tagName,\n type,\n value,\n maskInputFn\n}) {\n let text = value || \"\";\n const actualType = type && toLowerCase(type);\n if (maskInputOptions[tagName.toLowerCase()] || actualType && maskInputOptions[actualType]) {\n if (maskInputFn) {\n text = maskInputFn(text, element);\n } else {\n text = \"*\".repeat(text.length);\n }\n }\n return text;\n}\nfunction toLowerCase(str) {\n return str.toLowerCase();\n}\nconst ORIGINAL_ATTRIBUTE_NAME = \"__rrweb_original__\";\nfunction is2DCanvasBlank(canvas) {\n const ctx = canvas.getContext(\"2d\");\n if (!ctx) return true;\n const chunkSize = 50;\n for (let x2 = 0; x2 < canvas.width; x2 += chunkSize) {\n for (let y = 0; y < canvas.height; y += chunkSize) {\n const getImageData = ctx.getImageData;\n const originalGetImageData = ORIGINAL_ATTRIBUTE_NAME in getImageData ? getImageData[ORIGINAL_ATTRIBUTE_NAME] : getImageData;\n const pixelBuffer = new Uint32Array(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access\n originalGetImageData.call(\n ctx,\n x2,\n y,\n Math.min(chunkSize, canvas.width - x2),\n Math.min(chunkSize, canvas.height - y)\n ).data.buffer\n );\n if (pixelBuffer.some((pixel) => pixel !== 0)) return false;\n }\n }\n return true;\n}\nfunction getInputType(element) {\n const type = element.type;\n return element.hasAttribute(\"data-rr-is-password\") ? \"password\" : type ? (\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n toLowerCase(type)\n ) : null;\n}\nfunction extractFileExtension(path, baseURL) {\n let url;\n try {\n url = new URL(path, baseURL ?? window.location.href);\n } catch (err) {\n return null;\n }\n const regex = /\\.([0-9a-z]+)(?:$)/i;\n const match = url.pathname.match(regex);\n return (match == null ? void 0 : match[1]) ?? null;\n}\nfunction extractOrigin(url) {\n let origin = \"\";\n if (url.indexOf(\"//\") > -1) {\n origin = url.split(\"/\").slice(0, 3).join(\"/\");\n } else {\n origin = url.split(\"/\")[0];\n }\n origin = origin.split(\"?\")[0];\n return origin;\n}\nconst URL_IN_CSS_REF = /url\\((?:(')([^']*)'|(\")(.*?)\"|([^)]*))\\)/gm;\nconst URL_PROTOCOL_MATCH = /^(?:[a-z+]+:)?\\/\\//i;\nconst URL_WWW_MATCH = /^www\\..*/i;\nconst DATA_URI = /^(data:)([^,]*),(.*)/i;\nfunction absolutifyURLs(cssText, href) {\n return (cssText || \"\").replace(\n URL_IN_CSS_REF,\n (origin, quote1, path1, quote2, path2, path3) => {\n const filePath = path1 || path2 || path3;\n const maybeQuote = quote1 || quote2 || \"\";\n if (!filePath) {\n return origin;\n }\n if (URL_PROTOCOL_MATCH.test(filePath) || URL_WWW_MATCH.test(filePath)) {\n return `url(${maybeQuote}${filePath}${maybeQuote})`;\n }\n if (DATA_URI.test(filePath)) {\n return `url(${maybeQuote}${filePath}${maybeQuote})`;\n }\n if (filePath[0] === \"/\") {\n return `url(${maybeQuote}${extractOrigin(href) + filePath}${maybeQuote})`;\n }\n const stack = href.split(\"/\");\n const parts = filePath.split(\"/\");\n stack.pop();\n for (const part of parts) {\n if (part === \".\") {\n continue;\n } else if (part === \"..\") {\n stack.pop();\n } else {\n stack.push(part);\n }\n }\n return `url(${maybeQuote}${stack.join(\"/\")}${maybeQuote})`;\n }\n );\n}\nfunction normalizeCssString(cssText) {\n return cssText.replace(/(\\/\\*[^*]*\\*\\/)|[\\s;]/g, \"\");\n}\nfunction splitCssText(cssText, style) {\n const childNodes2 = Array.from(style.childNodes);\n const splits = [];\n if (childNodes2.length > 1 && cssText && typeof cssText === \"string\") {\n const cssTextNorm = normalizeCssString(cssText);\n for (let i2 = 1; i2 < childNodes2.length; i2++) {\n if (childNodes2[i2].textContent && typeof childNodes2[i2].textContent === \"string\") {\n const textContentNorm = normalizeCssString(childNodes2[i2].textContent);\n for (let j = 3; j < textContentNorm.length; j++) {\n const bit = textContentNorm.substring(0, j);\n if (cssTextNorm.split(bit).length === 2) {\n const splitNorm = cssTextNorm.indexOf(bit);\n for (let k = splitNorm; k < cssText.length; k++) {\n if (normalizeCssString(cssText.substring(0, k)).length === splitNorm) {\n splits.push(cssText.substring(0, k));\n cssText = cssText.substring(k);\n break;\n }\n }\n break;\n }\n }\n }\n }\n }\n splits.push(cssText);\n return splits;\n}\nfunction markCssSplits(cssText, style) {\n return splitCssText(cssText, style).join(\"/* rr_split */\");\n}\nlet _id = 1;\nconst tagNameRegex = new RegExp(\"[^a-z0-9-_:]\");\nconst IGNORED_NODE = -2;\nfunction genId() {\n return _id++;\n}\nfunction getValidTagName$1(element) {\n if (element instanceof HTMLFormElement) {\n return \"form\";\n }\n const processedTagName = toLowerCase(element.tagName);\n if (tagNameRegex.test(processedTagName)) {\n return \"div\";\n }\n return processedTagName;\n}\nlet canvasService;\nlet canvasCtx;\nconst SRCSET_NOT_SPACES = /^[^ \\t\\n\\r\\u000c]+/;\nconst SRCSET_COMMAS_OR_SPACES = /^[, \\t\\n\\r\\u000c]+/;\nfunction getAbsoluteSrcsetString(doc, attributeValue) {\n if (attributeValue.trim() === \"\") {\n return attributeValue;\n }\n let pos = 0;\n function collectCharacters(regEx) {\n let chars2;\n const match = regEx.exec(attributeValue.substring(pos));\n if (match) {\n chars2 = match[0];\n pos += chars2.length;\n return chars2;\n }\n return \"\";\n }\n const output = [];\n while (true) {\n collectCharacters(SRCSET_COMMAS_OR_SPACES);\n if (pos >= attributeValue.length) {\n break;\n }\n let url = collectCharacters(SRCSET_NOT_SPACES);\n if (url.slice(-1) === \",\") {\n url = absoluteToDoc(doc, url.substring(0, url.length - 1));\n output.push(url);\n } else {\n let descriptorsStr = \"\";\n url = absoluteToDoc(doc, url);\n let inParens = false;\n while (true) {\n const c2 = attributeValue.charAt(pos);\n if (c2 === \"\") {\n output.push((url + descriptorsStr).trim());\n break;\n } else if (!inParens) {\n if (c2 === \",\") {\n pos += 1;\n output.push((url + descriptorsStr).trim());\n break;\n } else if (c2 === \"(\") {\n inParens = true;\n }\n } else {\n if (c2 === \")\") {\n inParens = false;\n }\n }\n descriptorsStr += c2;\n pos += 1;\n }\n }\n }\n return output.join(\", \");\n}\nconst cachedDocument = /* @__PURE__ */ new WeakMap();\nfunction absoluteToDoc(doc, attributeValue) {\n if (!attributeValue || attributeValue.trim() === \"\") {\n return attributeValue;\n }\n return getHref(doc, attributeValue);\n}\nfunction isSVGElement(el) {\n return Boolean(el.tagName === \"svg\" || el.ownerSVGElement);\n}\nfunction getHref(doc, customHref) {\n let a2 = cachedDocument.get(doc);\n if (!a2) {\n a2 = doc.createElement(\"a\");\n cachedDocument.set(doc, a2);\n }\n if (!customHref) {\n customHref = \"\";\n } else if (customHref.startsWith(\"blob:\") || customHref.startsWith(\"data:\")) {\n return customHref;\n }\n a2.setAttribute(\"href\", customHref);\n return a2.href;\n}\nfunction transformAttribute(doc, tagName, name, value) {\n if (!value) {\n return value;\n }\n if (name === \"src\" || name === \"href\" && !(tagName === \"use\" && value[0] === \"#\")) {\n return absoluteToDoc(doc, value);\n } else if (name === \"xlink:href\" && value[0] !== \"#\") {\n return absoluteToDoc(doc, value);\n } else if (name === \"background\" && (tagName === \"table\" || tagName === \"td\" || tagName === \"th\")) {\n return absoluteToDoc(doc, value);\n } else if (name === \"srcset\") {\n return getAbsoluteSrcsetString(doc, value);\n } else if (name === \"style\") {\n return absolutifyURLs(value, getHref(doc));\n } else if (tagName === \"object\" && name === \"data\") {\n return absoluteToDoc(doc, value);\n }\n return value;\n}\nfunction ignoreAttribute(tagName, name, _value) {\n return (tagName === \"video\" || tagName === \"audio\") && name === \"autoplay\";\n}\nfunction _isBlockedElement(element, blockClass, blockSelector) {\n try {\n if (typeof blockClass === \"string\") {\n if (element.classList.contains(blockClass)) {\n return true;\n }\n } else {\n for (let eIndex = element.classList.length; eIndex--; ) {\n const className = element.classList[eIndex];\n if (blockClass.test(className)) {\n return true;\n }\n }\n }\n if (blockSelector) {\n return element.matches(blockSelector);\n }\n } catch (e2) {\n }\n return false;\n}\nfunction classMatchesRegex(node2, regex, checkAncestors) {\n if (!node2) return false;\n if (node2.nodeType !== node2.ELEMENT_NODE) {\n if (!checkAncestors) return false;\n return classMatchesRegex(index$1.parentNode(node2), regex, checkAncestors);\n }\n for (let eIndex = node2.classList.length; eIndex--; ) {\n const className = node2.classList[eIndex];\n if (regex.test(className)) {\n return true;\n }\n }\n if (!checkAncestors) return false;\n return classMatchesRegex(index$1.parentNode(node2), regex, checkAncestors);\n}\nfunction needMaskingText(node2, maskTextClass, maskTextSelector, checkAncestors) {\n let el;\n if (isElement(node2)) {\n el = node2;\n if (!index$1.childNodes(el).length) {\n return false;\n }\n } else if (index$1.parentElement(node2) === null) {\n return false;\n } else {\n el = index$1.parentElement(node2);\n }\n try {\n if (typeof maskTextClass === \"string\") {\n if (checkAncestors) {\n if (el.closest(`.${maskTextClass}`)) return true;\n } else {\n if (el.classList.contains(maskTextClass)) return true;\n }\n } else {\n if (classMatchesRegex(el, maskTextClass, checkAncestors)) return true;\n }\n if (maskTextSelector) {\n if (checkAncestors) {\n if (el.closest(maskTextSelector)) return true;\n } else {\n if (el.matches(maskTextSelector)) return true;\n }\n }\n } catch (e2) {\n }\n return false;\n}\nfunction onceIframeLoaded(iframeEl, listener, iframeLoadTimeout) {\n const win = iframeEl.contentWindow;\n if (!win) {\n return;\n }\n let fired = false;\n let readyState;\n try {\n readyState = win.document.readyState;\n } catch (error) {\n return;\n }\n if (readyState !== \"complete\") {\n const timer = setTimeout(() => {\n if (!fired) {\n listener();\n fired = true;\n }\n }, iframeLoadTimeout);\n iframeEl.addEventListener(\"load\", () => {\n clearTimeout(timer);\n fired = true;\n listener();\n });\n return;\n }\n const blankUrl = \"about:blank\";\n if (win.location.href !== blankUrl || iframeEl.src === blankUrl || iframeEl.src === \"\") {\n setTimeout(listener, 0);\n return iframeEl.addEventListener(\"load\", listener);\n }\n iframeEl.addEventListener(\"load\", listener);\n}\nfunction onceStylesheetLoaded(link, listener, styleSheetLoadTimeout) {\n let fired = false;\n let styleSheetLoaded;\n try {\n styleSheetLoaded = link.sheet;\n } catch (error) {\n return;\n }\n if (styleSheetLoaded) return;\n const timer = setTimeout(() => {\n if (!fired) {\n listener();\n fired = true;\n }\n }, styleSheetLoadTimeout);\n link.addEventListener(\"load\", () => {\n clearTimeout(timer);\n fired = true;\n listener();\n });\n}\nfunction serializeNode(n2, options) {\n const {\n doc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n needsMask,\n inlineStylesheet,\n maskInputOptions = {},\n maskTextFn,\n maskInputFn,\n dataURLOptions = {},\n inlineImages,\n recordCanvas,\n keepIframeSrcFn,\n newlyAddedElement = false,\n cssCaptured = false\n } = options;\n const rootId = getRootId(doc, mirror2);\n switch (n2.nodeType) {\n case n2.DOCUMENT_NODE:\n if (n2.compatMode !== \"CSS1Compat\") {\n return {\n type: NodeType$3.Document,\n childNodes: [],\n compatMode: n2.compatMode\n // probably \"BackCompat\"\n };\n } else {\n return {\n type: NodeType$3.Document,\n childNodes: []\n };\n }\n case n2.DOCUMENT_TYPE_NODE:\n return {\n type: NodeType$3.DocumentType,\n name: n2.name,\n publicId: n2.publicId,\n systemId: n2.systemId,\n rootId\n };\n case n2.ELEMENT_NODE:\n return serializeElementNode(n2, {\n doc,\n blockClass,\n blockSelector,\n inlineStylesheet,\n maskInputOptions,\n maskInputFn,\n dataURLOptions,\n inlineImages,\n recordCanvas,\n keepIframeSrcFn,\n newlyAddedElement,\n rootId\n });\n case n2.TEXT_NODE:\n return serializeTextNode(n2, {\n doc,\n needsMask,\n maskTextFn,\n rootId,\n cssCaptured\n });\n case n2.CDATA_SECTION_NODE:\n return {\n type: NodeType$3.CDATA,\n textContent: \"\",\n rootId\n };\n case n2.COMMENT_NODE:\n return {\n type: NodeType$3.Comment,\n textContent: index$1.textContent(n2) || \"\",\n rootId\n };\n default:\n return false;\n }\n}\nfunction getRootId(doc, mirror2) {\n if (!mirror2.hasNode(doc)) return void 0;\n const docId = mirror2.getId(doc);\n return docId === 1 ? void 0 : docId;\n}\nfunction serializeTextNode(n2, options) {\n const { needsMask, maskTextFn, rootId, cssCaptured } = options;\n const parent = index$1.parentNode(n2);\n const parentTagName = parent && parent.tagName;\n let textContent2 = \"\";\n const isStyle = parentTagName === \"STYLE\" ? true : void 0;\n const isScript = parentTagName === \"SCRIPT\" ? true : void 0;\n if (isScript) {\n textContent2 = \"SCRIPT_PLACEHOLDER\";\n } else if (!cssCaptured) {\n textContent2 = index$1.textContent(n2);\n if (isStyle && textContent2) {\n textContent2 = absolutifyURLs(textContent2, getHref(options.doc));\n }\n }\n if (!isStyle && !isScript && textContent2 && needsMask) {\n textContent2 = maskTextFn ? maskTextFn(textContent2, index$1.parentElement(n2)) : textContent2.replace(/[\\S]/g, \"*\");\n }\n return {\n type: NodeType$3.Text,\n textContent: textContent2 || \"\",\n rootId\n };\n}\nfunction serializeElementNode(n2, options) {\n const {\n doc,\n blockClass,\n blockSelector,\n inlineStylesheet,\n maskInputOptions = {},\n maskInputFn,\n dataURLOptions = {},\n inlineImages,\n recordCanvas,\n keepIframeSrcFn,\n newlyAddedElement = false,\n rootId\n } = options;\n const needBlock = _isBlockedElement(n2, blockClass, blockSelector);\n const tagName = getValidTagName$1(n2);\n let attributes = {};\n const len = n2.attributes.length;\n for (let i2 = 0; i2 < len; i2++) {\n const attr = n2.attributes[i2];\n if (!ignoreAttribute(tagName, attr.name, attr.value)) {\n attributes[attr.name] = transformAttribute(\n doc,\n tagName,\n toLowerCase(attr.name),\n attr.value\n );\n }\n }\n if (tagName === \"link\" && inlineStylesheet) {\n const stylesheet = Array.from(doc.styleSheets).find((s2) => {\n return s2.href === n2.href;\n });\n let cssText = null;\n if (stylesheet) {\n cssText = stringifyStylesheet(stylesheet);\n }\n if (cssText) {\n delete attributes.rel;\n delete attributes.href;\n attributes._cssText = cssText;\n }\n }\n if (tagName === \"style\" && n2.sheet) {\n let cssText = stringifyStylesheet(\n n2.sheet\n );\n if (cssText) {\n if (n2.childNodes.length > 1) {\n cssText = markCssSplits(cssText, n2);\n }\n attributes._cssText = cssText;\n }\n }\n if (tagName === \"input\" || tagName === \"textarea\" || tagName === \"select\") {\n const value = n2.value;\n const checked = n2.checked;\n if (attributes.type !== \"radio\" && attributes.type !== \"checkbox\" && attributes.type !== \"submit\" && attributes.type !== \"button\" && value) {\n attributes.value = maskInputValue({\n element: n2,\n type: getInputType(n2),\n tagName,\n value,\n maskInputOptions,\n maskInputFn\n });\n } else if (checked) {\n attributes.checked = checked;\n }\n }\n if (tagName === \"option\") {\n if (n2.selected && !maskInputOptions[\"select\"]) {\n attributes.selected = true;\n } else {\n delete attributes.selected;\n }\n }\n if (tagName === \"dialog\" && n2.open) {\n attributes.rr_open_mode = n2.matches(\"dialog:modal\") ? \"modal\" : \"non-modal\";\n }\n if (tagName === \"canvas\" && recordCanvas) {\n if (n2.__context === \"2d\") {\n if (!is2DCanvasBlank(n2)) {\n attributes.rr_dataURL = n2.toDataURL(\n dataURLOptions.type,\n dataURLOptions.quality\n );\n }\n } else if (!(\"__context\" in n2)) {\n const canvasDataURL = n2.toDataURL(\n dataURLOptions.type,\n dataURLOptions.quality\n );\n const blankCanvas = doc.createElement(\"canvas\");\n blankCanvas.width = n2.width;\n blankCanvas.height = n2.height;\n const blankCanvasDataURL = blankCanvas.toDataURL(\n dataURLOptions.type,\n dataURLOptions.quality\n );\n if (canvasDataURL !== blankCanvasDataURL) {\n attributes.rr_dataURL = canvasDataURL;\n }\n }\n }\n if (tagName === \"img\" && inlineImages) {\n if (!canvasService) {\n canvasService = doc.createElement(\"canvas\");\n canvasCtx = canvasService.getContext(\"2d\");\n }\n const image = n2;\n const imageSrc = image.currentSrc || image.getAttribute(\"src\") || \"<unknown-src>\";\n const priorCrossOrigin = image.crossOrigin;\n const recordInlineImage = () => {\n image.removeEventListener(\"load\", recordInlineImage);\n try {\n canvasService.width = image.naturalWidth;\n canvasService.height = image.naturalHeight;\n canvasCtx.drawImage(image, 0, 0);\n attributes.rr_dataURL = canvasService.toDataURL(\n dataURLOptions.type,\n dataURLOptions.quality\n );\n } catch (err) {\n if (image.crossOrigin !== \"anonymous\") {\n image.crossOrigin = \"anonymous\";\n if (image.complete && image.naturalWidth !== 0)\n recordInlineImage();\n else image.addEventListener(\"load\", recordInlineImage);\n return;\n } else {\n console.warn(\n `Cannot inline img src=${imageSrc}! Error: ${err}`\n );\n }\n }\n if (image.crossOrigin === \"anonymous\") {\n priorCrossOrigin ? attributes.crossOrigin = priorCrossOrigin : image.removeAttribute(\"crossorigin\");\n }\n };\n if (image.complete && image.naturalWidth !== 0) recordInlineImage();\n else image.addEventListener(\"load\", recordInlineImage);\n }\n if (tagName === \"audio\" || tagName === \"video\") {\n const mediaAttributes = attributes;\n mediaAttributes.rr_mediaState = n2.paused ? \"paused\" : \"played\";\n mediaAttributes.rr_mediaCurrentTime = n2.currentTime;\n mediaAttributes.rr_mediaPlaybackRate = n2.playbackRate;\n mediaAttributes.rr_mediaMuted = n2.muted;\n mediaAttributes.rr_mediaLoop = n2.loop;\n mediaAttributes.rr_mediaVolume = n2.volume;\n }\n if (!newlyAddedElement) {\n if (n2.scrollLeft) {\n attributes.rr_scrollLeft = n2.scrollLeft;\n }\n if (n2.scrollTop) {\n attributes.rr_scrollTop = n2.scrollTop;\n }\n }\n if (needBlock) {\n const { width, height } = n2.getBoundingClientRect();\n attributes = {\n class: attributes.class,\n rr_width: `${width}px`,\n rr_height: `${height}px`\n };\n }\n if (tagName === \"iframe\" && !keepIframeSrcFn(attributes.src)) {\n if (!n2.contentDocument) {\n attributes.rr_src = attributes.src;\n }\n delete attributes.src;\n }\n let isCustomElement;\n try {\n if (customElements.get(tagName)) isCustomElement = true;\n } catch (e2) {\n }\n return {\n type: NodeType$3.Element,\n tagName,\n attributes,\n childNodes: [],\n isSVG: isSVGElement(n2) || void 0,\n needBlock,\n rootId,\n isCustom: isCustomElement\n };\n}\nfunction lowerIfExists(maybeAttr) {\n if (maybeAttr === void 0 || maybeAttr === null) {\n return \"\";\n } else {\n return maybeAttr.toLowerCase();\n }\n}\nfunction slimDOMExcluded(sn, slimDOMOptions) {\n if (slimDOMOptions.comment && sn.type === NodeType$3.Comment) {\n return true;\n } else if (sn.type === NodeType$3.Element) {\n if (slimDOMOptions.script && // script tag\n (sn.tagName === \"script\" || // (module)preload link\n sn.tagName === \"link\" && (sn.attributes.rel === \"preload\" || sn.attributes.rel === \"modulepreload\") && sn.attributes.as === \"script\" || // prefetch link\n sn.tagName === \"link\" && sn.attributes.rel === \"prefetch\" && typeof sn.attributes.href === \"string\" && extractFileExtension(sn.attributes.href) === \"js\")) {\n return true;\n } else if (slimDOMOptions.headFavicon && (sn.tagName === \"link\" && sn.attributes.rel === \"shortcut icon\" || sn.tagName === \"meta\" && (lowerIfExists(sn.attributes.name).match(\n /^msapplication-tile(image|color)$/\n ) || lowerIfExists(sn.attributes.name) === \"application-name\" || lowerIfExists(sn.attributes.rel) === \"icon\" || lowerIfExists(sn.attributes.rel) === \"apple-touch-icon\" || lowerIfExists(sn.attributes.rel) === \"shortcut icon\"))) {\n return true;\n } else if (sn.tagName === \"meta\") {\n if (slimDOMOptions.headMetaDescKeywords && lowerIfExists(sn.attributes.name).match(/^description|keywords$/)) {\n return true;\n } else if (slimDOMOptions.headMetaSocial && (lowerIfExists(sn.attributes.property).match(/^(og|twitter|fb):/) || // og = opengraph (facebook)\n lowerIfExists(sn.attributes.name).match(/^(og|twitter):/) || lowerIfExists(sn.attributes.name) === \"pinterest\")) {\n return true;\n } else if (slimDOMOptions.headMetaRobots && (lowerIfExists(sn.attributes.name) === \"robots\" || lowerIfExists(sn.attributes.name) === \"googlebot\" || lowerIfExists(sn.attributes.name) === \"bingbot\")) {\n return true;\n } else if (slimDOMOptions.headMetaHttpEquiv && sn.attributes[\"http-equiv\"] !== void 0) {\n return true;\n } else if (slimDOMOptions.headMetaAuthorship && (lowerIfExists(sn.attributes.name) === \"author\" || lowerIfExists(sn.attributes.name) === \"generator\" || lowerIfExists(sn.attributes.name) === \"framework\" || lowerIfExists(sn.attributes.name) === \"publisher\" || lowerIfExists(sn.attributes.name) === \"progid\" || lowerIfExists(sn.attributes.property).match(/^article:/) || lowerIfExists(sn.attributes.property).match(/^product:/))) {\n return true;\n } else if (slimDOMOptions.headMetaVerification && (lowerIfExists(sn.attributes.name) === \"google-site-verification\" || lowerIfExists(sn.attributes.name) === \"yandex-verification\" || lowerIfExists(sn.attributes.name) === \"csrf-token\" || lowerIfExists(sn.attributes.name) === \"p:domain_verify\" || lowerIfExists(sn.attributes.name) === \"verify-v1\" || lowerIfExists(sn.attributes.name) === \"verification\" || lowerIfExists(sn.attributes.name) === \"shopify-checkout-api-token\")) {\n return true;\n }\n }\n }\n return false;\n}\nfunction serializeNodeWithId(n2, options) {\n const {\n doc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n maskTextClass,\n maskTextSelector,\n skipChild = false,\n inlineStylesheet = true,\n maskInputOptions = {},\n maskTextFn,\n maskInputFn,\n slimDOMOptions,\n dataURLOptions = {},\n inlineImages = false,\n recordCanvas = false,\n onSerialize,\n onIframeLoad,\n iframeLoadTimeout = 5e3,\n onStylesheetLoad,\n stylesheetLoadTimeout = 5e3,\n keepIframeSrcFn = () => false,\n newlyAddedElement = false,\n cssCaptured = false\n } = options;\n let { needsMask } = options;\n let { preserveWhiteSpace = true } = options;\n if (!needsMask) {\n const checkAncestors = needsMask === void 0;\n needsMask = needMaskingText(\n n2,\n maskTextClass,\n maskTextSelector,\n checkAncestors\n );\n }\n const _serializedNode = serializeNode(n2, {\n doc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n needsMask,\n inlineStylesheet,\n maskInputOptions,\n maskTextFn,\n maskInputFn,\n dataURLOptions,\n inlineImages,\n recordCanvas,\n keepIframeSrcFn,\n newlyAddedElement,\n cssCaptured\n });\n if (!_serializedNode) {\n console.warn(n2, \"not serialized\");\n return null;\n }\n let id;\n if (mirror2.hasNode(n2)) {\n id = mirror2.getId(n2);\n } else if (slimDOMExcluded(_serializedNode, slimDOMOptions) || !preserveWhiteSpace && _serializedNode.type === NodeType$3.Text && !_serializedNode.textContent.replace(/^\\s+|\\s+$/gm, \"\").length) {\n id = IGNORED_NODE;\n } else {\n id = genId();\n }\n const serializedNode = Object.assign(_serializedNode, { id });\n mirror2.add(n2, serializedNode);\n if (id === IGNORED_NODE) {\n return null;\n }\n if (onSerialize) {\n onSerialize(n2);\n }\n let recordChild = !skipChild;\n if (serializedNode.type === NodeType$3.Element) {\n recordChild = recordChild && !serializedNode.needBlock;\n delete serializedNode.needBlock;\n const shadowRootEl = index$1.shadowRoot(n2);\n if (shadowRootEl && isNativeShadowDom(shadowRootEl))\n serializedNode.isShadowHost = true;\n }\n if ((serializedNode.type === NodeType$3.Document || serializedNode.type === NodeType$3.Element) && recordChild) {\n if (slimDOMOptions.headWhitespace && serializedNode.type === NodeType$3.Element && serializedNode.tagName === \"head\") {\n preserveWhiteSpace = false;\n }\n const bypassOptions = {\n doc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n needsMask,\n maskTextClass,\n maskTextSelector,\n skipChild,\n inlineStylesheet,\n maskInputOptions,\n maskTextFn,\n maskInputFn,\n slimDOMOptions,\n dataURLOptions,\n inlineImages,\n recordCanvas,\n preserveWhiteSpace,\n onSerialize,\n onIframeLoad,\n iframeLoadTimeout,\n onStylesheetLoad,\n stylesheetLoadTimeout,\n keepIframeSrcFn,\n cssCaptured: false\n };\n if (serializedNode.type === NodeType$3.Element && serializedNode.tagName === \"textarea\" && serializedNode.attributes.value !== void 0) ;\n else {\n if (serializedNode.type === NodeType$3.Element && serializedNode.attributes._cssText !== void 0 && typeof serializedNode.attributes._cssText === \"string\") {\n bypassOptions.cssCaptured = true;\n }\n for (const childN of Array.from(index$1.childNodes(n2))) {\n const serializedChildNode = serializeNodeWithId(childN, bypassOptions);\n if (serializedChildNode) {\n serializedNode.childNodes.push(serializedChildNode);\n }\n }\n }\n let shadowRootEl = null;\n if (isElement(n2) && (shadowRootEl = index$1.shadowRoot(n2))) {\n for (const childN of Array.from(index$1.childNodes(shadowRootEl))) {\n const serializedChildNode = serializeNodeWithId(childN, bypassOptions);\n if (serializedChildNode) {\n isNativeShadowDom(shadowRootEl) && (serializedChildNode.isShadow = true);\n serializedNode.childNodes.push(serializedChildNode);\n }\n }\n }\n }\n const parent = index$1.parentNode(n2);\n if (parent && isShadowRoot(parent) && isNativeShadowDom(parent)) {\n serializedNode.isShadow = true;\n }\n if (serializedNode.type === NodeType$3.Element && serializedNode.tagName === \"iframe\") {\n onceIframeLoaded(\n n2,\n () => {\n const iframeDoc = n2.contentDocument;\n if (iframeDoc && onIframeLoad) {\n const serializedIframeNode = serializeNodeWithId(iframeDoc, {\n doc: iframeDoc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n needsMask,\n maskTextClass,\n maskTextSelector,\n skipChild: false,\n inlineStylesheet,\n maskInputOptions,\n maskTextFn,\n maskInputFn,\n slimDOMOptions,\n dataURLOptions,\n inlineImages,\n recordCanvas,\n preserveWhiteSpace,\n onSerialize,\n onIframeLoad,\n iframeLoadTimeout,\n onStylesheetLoad,\n stylesheetLoadTimeout,\n keepIframeSrcFn\n });\n if (serializedIframeNode) {\n onIframeLoad(\n n2,\n serializedIframeNode\n );\n }\n }\n },\n iframeLoadTimeout\n );\n }\n if (serializedNode.type === NodeType$3.Element && serializedNode.tagName === \"link\" && typeof serializedNode.attributes.rel === \"string\" && (serializedNode.attributes.rel === \"stylesheet\" || serializedNode.attributes.rel === \"preload\" && typeof serializedNode.attributes.href === \"string\" && extractFileExtension(serializedNode.attributes.href) === \"css\")) {\n onceStylesheetLoaded(\n n2,\n () => {\n if (onStylesheetLoad) {\n const serializedLinkNode = serializeNodeWithId(n2, {\n doc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n needsMask,\n maskTextClass,\n maskTextSelector,\n skipChild: false,\n inlineStylesheet,\n maskInputOptions,\n maskTextFn,\n maskInputFn,\n slimDOMOptions,\n dataURLOptions,\n inlineImages,\n recordCanvas,\n preserveWhiteSpace,\n onSerialize,\n onIframeLoad,\n iframeLoadTimeout,\n onStylesheetLoad,\n stylesheetLoadTimeout,\n keepIframeSrcFn\n });\n if (serializedLinkNode) {\n onStylesheetLoad(\n n2,\n serializedLinkNode\n );\n }\n }\n },\n stylesheetLoadTimeout\n );\n }\n return serializedNode;\n}\nfunction snapshot(n2, options) {\n const {\n mirror: mirror2 = new Mirror(),\n blockClass = \"rr-block\",\n blockSelector = null,\n maskTextClass = \"rr-mask\",\n maskTextSelector = null,\n inlineStylesheet = true,\n inlineImages = false,\n recordCanvas = false,\n maskAllInputs = false,\n maskTextFn,\n maskInputFn,\n slimDOM = false,\n dataURLOptions,\n preserveWhiteSpace,\n onSerialize,\n onIframeLoad,\n iframeLoadTimeout,\n onStylesheetLoad,\n stylesheetLoadTimeout,\n keepIframeSrcFn = () => false\n } = options || {};\n const maskInputOptions = maskAllInputs === true ? {\n color: true,\n date: true,\n \"datetime-local\": true,\n email: true,\n month: true,\n number: true,\n range: true,\n search: true,\n tel: true,\n text: true,\n time: true,\n url: true,\n week: true,\n textarea: true,\n select: true,\n password: true\n } : maskAllInputs === false ? {\n password: true\n } : maskAllInputs;\n const slimDOMOptions = slimDOM === true || slimDOM === \"all\" ? (\n // if true: set of sensible options that should not throw away any information\n {\n script: true,\n comment: true,\n headFavicon: true,\n headWhitespace: true,\n headMetaDescKeywords: slimDOM === \"all\",\n // destructive\n headMetaSocial: true,\n headMetaRobots: true,\n headMetaHttpEquiv: true,\n headMetaAuthorship: true,\n headMetaVerification: true\n }\n ) : slimDOM === false ? {} : slimDOM;\n return serializeNodeWithId(n2, {\n doc: n2,\n mirror: mirror2,\n blockClass,\n blockSelector,\n maskTextClass,\n maskTextSelector,\n skipChild: false,\n inlineStylesheet,\n maskInputOptions,\n maskTextFn,\n maskInputFn,\n slimDOMOptions,\n dataURLOptions,\n inlineImages,\n recordCanvas,\n preserveWhiteSpace,\n onSerialize,\n onIframeLoad,\n iframeLoadTimeout,\n onStylesheetLoad,\n stylesheetLoadTimeout,\n keepIframeSrcFn,\n newlyAddedElement: false\n });\n}\nfunction getDefaultExportFromCjs$1(x2) {\n return x2 && x2.__esModule && Object.prototype.hasOwnProperty.call(x2, \"default\") ? x2[\"default\"] : x2;\n}\nfunction getAugmentedNamespace$1(n2) {\n if (n2.__esModule) return n2;\n var f2 = n2.default;\n if (typeof f2 == \"function\") {\n var a2 = function a22() {\n if (this instanceof a22) {\n return Reflect.construct(f2, arguments, this.constructor);\n }\n return f2.apply(this, arguments);\n };\n a2.prototype = f2.prototype;\n } else a2 = {};\n Object.defineProperty(a2, \"__esModule\", { value: true });\n Object.keys(n2).forEach(function(k) {\n var d = Object.getOwnPropertyDescriptor(n2, k);\n Object.defineProperty(a2, k, d.get ? d : {\n enumerable: true,\n get: function() {\n return n2[k];\n }\n });\n });\n return a2;\n}\nvar picocolors_browser$1 = { exports: {} };\nvar x$1 = String;\nvar create$1 = function() {\n return { isColorSupported: false, reset: x$1, bold: x$1, dim: x$1, italic: x$1, underline: x$1, inverse: x$1, hidden: x$1, strikethrough: x$1, black: x$1, red: x$1, green: x$1, yellow: x$1, blue: x$1, magenta: x$1, cyan: x$1, white: x$1, gray: x$1, bgBlack: x$1, bgRed: x$1, bgGreen: x$1, bgYellow: x$1, bgBlue: x$1, bgMagenta: x$1, bgCyan: x$1, bgWhite: x$1 };\n};\npicocolors_browser$1.exports = create$1();\npicocolors_browser$1.exports.createColors = create$1;\nvar picocolors_browserExports$1 = picocolors_browser$1.exports;\nconst __viteBrowserExternal$2 = {};\nconst __viteBrowserExternal$1$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n default: __viteBrowserExternal$2\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst require$$2$1 = /* @__PURE__ */ getAugmentedNamespace$1(__viteBrowserExternal$1$1);\nlet pico$1 = picocolors_browserExports$1;\nlet terminalHighlight$1$1 = require$$2$1;\nlet CssSyntaxError$3$1 = class CssSyntaxError extends Error {\n constructor(message, line, column, source, file, plugin22) {\n super(message);\n this.name = \"CssSyntaxError\";\n this.reason = message;\n if (file) {\n this.file = file;\n }\n if (source) {\n this.source = source;\n }\n if (plugin22) {\n this.plugin = plugin22;\n }\n if (typeof line !== \"undefined\" && typeof column !== \"undefined\") {\n if (typeof line === \"number\") {\n this.line = line;\n this.column = column;\n } else {\n this.line = line.line;\n this.column = line.column;\n this.endLine = column.line;\n this.endColumn = column.column;\n }\n }\n this.setMessage();\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, CssSyntaxError);\n }\n }\n setMessage() {\n this.message = this.plugin ? this.plugin + \": \" : \"\";\n this.message += this.file ? this.file : \"<css input>\";\n if (typeof this.line !== \"undefined\") {\n this.message += \":\" + this.line + \":\" + this.column;\n }\n this.message += \": \" + this.reason;\n }\n showSourceCode(color) {\n if (!this.source) return \"\";\n let css = this.source;\n if (color == null) color = pico$1.isColorSupported;\n if (terminalHighlight$1$1) {\n if (color) css = terminalHighlight$1$1(css);\n }\n let lines = css.split(/\\r?\\n/);\n let start = Math.max(this.line - 3, 0);\n let end = Math.min(this.line + 2, lines.length);\n let maxWidth = String(end).length;\n let mark, aside;\n if (color) {\n let { bold, gray, red } = pico$1.createColors(true);\n mark = (text) => bold(red(text));\n aside = (text) => gray(text);\n } else {\n mark = aside = (str) => str;\n }\n return lines.slice(start, end).map((line, index2) => {\n let number = start + 1 + index2;\n let gutter = \" \" + (\" \" + number).slice(-maxWidth) + \" | \";\n if (number === this.line) {\n let spacing = aside(gutter.replace(/\\d/g, \" \")) + line.slice(0, this.column - 1).replace(/[^\\t]/g, \" \");\n return mark(\">\") + aside(gutter) + line + \"\\n \" + spacing + mark(\"^\");\n }\n return \" \" + aside(gutter) + line;\n }).join(\"\\n\");\n }\n toString() {\n let code = this.showSourceCode();\n if (code) {\n code = \"\\n\\n\" + code + \"\\n\";\n }\n return this.name + \": \" + this.message + code;\n }\n};\nvar cssSyntaxError$1 = CssSyntaxError$3$1;\nCssSyntaxError$3$1.default = CssSyntaxError$3$1;\nvar symbols$1 = {};\nsymbols$1.isClean = Symbol(\"isClean\");\nsymbols$1.my = Symbol(\"my\");\nconst DEFAULT_RAW$1 = {\n after: \"\\n\",\n beforeClose: \"\\n\",\n beforeComment: \"\\n\",\n beforeDecl: \"\\n\",\n beforeOpen: \" \",\n beforeRule: \"\\n\",\n colon: \": \",\n commentLeft: \" \",\n commentRight: \" \",\n emptyBody: \"\",\n indent: \" \",\n semicolon: false\n};\nfunction capitalize$1(str) {\n return str[0].toUpperCase() + str.slice(1);\n}\nlet Stringifier$2$1 = class Stringifier {\n constructor(builder) {\n this.builder = builder;\n }\n atrule(node2, semicolon) {\n let name = \"@\" + node2.name;\n let params = node2.params ? this.rawValue(node2, \"params\") : \"\";\n if (typeof node2.raws.afterName !== \"undefined\") {\n name += node2.raws.afterName;\n } else if (params) {\n name += \" \";\n }\n if (node2.nodes) {\n this.block(node2, name + params);\n } else {\n let end = (node2.raws.between || \"\") + (semicolon ? \";\" : \"\");\n this.builder(name + params + end, node2);\n }\n }\n beforeAfter(node2, detect) {\n let value;\n if (node2.type === \"decl\") {\n value = this.raw(node2, null, \"beforeDecl\");\n } else if (node2.type === \"comment\") {\n value = this.raw(node2, null, \"beforeComment\");\n } else if (detect === \"before\") {\n value = this.raw(node2, null, \"beforeRule\");\n } else {\n value = this.raw(node2, null, \"beforeClose\");\n }\n let buf = node2.parent;\n let depth = 0;\n while (buf && buf.type !== \"root\") {\n depth += 1;\n buf = buf.parent;\n }\n if (value.includes(\"\\n\")) {\n let indent = this.raw(node2, null, \"indent\");\n if (indent.length) {\n for (let step = 0; step < depth; step++) value += indent;\n }\n }\n return value;\n }\n block(node2, start) {\n let between = this.raw(node2, \"between\", \"beforeOpen\");\n this.builder(start + between + \"{\", node2, \"start\");\n let after;\n if (node2.nodes && node2.nodes.length) {\n this.body(node2);\n after = this.raw(node2, \"after\");\n } else {\n after = this.raw(node2, \"after\", \"emptyBody\");\n }\n if (after) this.builder(after);\n this.builder(\"}\", node2, \"end\");\n }\n body(node2) {\n let last = node2.nodes.length - 1;\n while (last > 0) {\n if (node2.nodes[last].type !== \"comment\") break;\n last -= 1;\n }\n let semicolon = this.raw(node2, \"semicolon\");\n for (let i2 = 0; i2 < node2.nodes.length; i2++) {\n let child = node2.nodes[i2];\n let before = this.raw(child, \"before\");\n if (before) this.builder(before);\n this.stringify(child, last !== i2 || semicolon);\n }\n }\n comment(node2) {\n let left = this.raw(node2, \"left\", \"commentLeft\");\n let right = this.raw(node2, \"right\", \"commentRight\");\n this.builder(\"/*\" + left + node2.text + right + \"*/\", node2);\n }\n decl(node2, semicolon) {\n let between = this.raw(node2, \"between\", \"colon\");\n let string = node2.prop + between + this.rawValue(node2, \"value\");\n if (node2.important) {\n string += node2.raws.important || \" !important\";\n }\n if (semicolon) string += \";\";\n this.builder(string, node2);\n }\n document(node2) {\n this.body(node2);\n }\n raw(node2, own, detect) {\n let value;\n if (!detect) detect = own;\n if (own) {\n value = node2.raws[own];\n if (typeof value !== \"undefined\") return value;\n }\n let parent = node2.parent;\n if (detect === \"before\") {\n if (!parent || parent.type === \"root\" && parent.first === node2) {\n return \"\";\n }\n if (parent && parent.type === \"document\") {\n return \"\";\n }\n }\n if (!parent) return DEFAULT_RAW$1[detect];\n let root2 = node2.root();\n if (!root2.rawCache) root2.rawCache = {};\n if (typeof root2.rawCache[detect] !== \"undefined\") {\n return root2.rawCache[detect];\n }\n if (detect === \"before\" || detect === \"after\") {\n return this.beforeAfter(node2, detect);\n } else {\n let method = \"raw\" + capitalize$1(detect);\n if (this[method]) {\n value = this[method](root2, node2);\n } else {\n root2.walk((i2) => {\n value = i2.raws[own];\n if (typeof value !== \"undefined\") return false;\n });\n }\n }\n if (typeof value === \"undefined\") value = DEFAULT_RAW$1[detect];\n root2.rawCache[detect] = value;\n return value;\n }\n rawBeforeClose(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.nodes && i2.nodes.length > 0) {\n if (typeof i2.raws.after !== \"undefined\") {\n value = i2.raws.after;\n if (value.includes(\"\\n\")) {\n value = value.replace(/[^\\n]+$/, \"\");\n }\n return false;\n }\n }\n });\n if (value) value = value.replace(/\\S/g, \"\");\n return value;\n }\n rawBeforeComment(root2, node2) {\n let value;\n root2.walkComments((i2) => {\n if (typeof i2.raws.before !== \"undefined\") {\n value = i2.raws.before;\n if (value.includes(\"\\n\")) {\n value = value.replace(/[^\\n]+$/, \"\");\n }\n return false;\n }\n });\n if (typeof value === \"undefined\") {\n value = this.raw(node2, null, \"beforeDecl\");\n } else if (value) {\n value = value.replace(/\\S/g, \"\");\n }\n return value;\n }\n rawBeforeDecl(root2, node2) {\n let value;\n root2.walkDecls((i2) => {\n if (typeof i2.raws.before !== \"undefined\") {\n value = i2.raws.before;\n if (value.includes(\"\\n\")) {\n value = value.replace(/[^\\n]+$/, \"\");\n }\n return false;\n }\n });\n if (typeof value === \"undefined\") {\n value = this.raw(node2, null, \"beforeRule\");\n } else if (value) {\n value = value.replace(/\\S/g, \"\");\n }\n return value;\n }\n rawBeforeOpen(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.type !== \"decl\") {\n value = i2.raws.between;\n if (typeof value !== \"undefined\") return false;\n }\n });\n return value;\n }\n rawBeforeRule(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.nodes && (i2.parent !== root2 || root2.first !== i2)) {\n if (typeof i2.raws.before !== \"undefined\") {\n value = i2.raws.before;\n if (value.includes(\"\\n\")) {\n value = value.replace(/[^\\n]+$/, \"\");\n }\n return false;\n }\n }\n });\n if (value) value = value.replace(/\\S/g, \"\");\n return value;\n }\n rawColon(root2) {\n let value;\n root2.walkDecls((i2) => {\n if (typeof i2.raws.between !== \"undefined\") {\n value = i2.raws.between.replace(/[^\\s:]/g, \"\");\n return false;\n }\n });\n return value;\n }\n rawEmptyBody(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.nodes && i2.nodes.length === 0) {\n value = i2.raws.after;\n if (typeof value !== \"undefined\") return false;\n }\n });\n return value;\n }\n rawIndent(root2) {\n if (root2.raws.indent) return root2.raws.indent;\n let value;\n root2.walk((i2) => {\n let p = i2.parent;\n if (p && p !== root2 && p.parent && p.parent === root2) {\n if (typeof i2.raws.before !== \"undefined\") {\n let parts = i2.raws.before.split(\"\\n\");\n value = parts[parts.length - 1];\n value = value.replace(/\\S/g, \"\");\n return false;\n }\n }\n });\n return value;\n }\n rawSemicolon(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.nodes && i2.nodes.length && i2.last.type === \"decl\") {\n value = i2.raws.semicolon;\n if (typeof value !== \"undefined\") return false;\n }\n });\n return value;\n }\n rawValue(node2, prop) {\n let value = node2[prop];\n let raw = node2.raws[prop];\n if (raw && raw.value === value) {\n return raw.raw;\n }\n return value;\n }\n root(node2) {\n this.body(node2);\n if (node2.raws.after) this.builder(node2.raws.after);\n }\n rule(node2) {\n this.block(node2, this.rawValue(node2, \"selector\"));\n if (node2.raws.ownSemicolon) {\n this.builder(node2.raws.ownSemicolon, node2, \"end\");\n }\n }\n stringify(node2, semicolon) {\n if (!this[node2.type]) {\n throw new Error(\n \"Unknown AST node type \" + node2.type + \". Maybe you need to change PostCSS stringifier.\"\n );\n }\n this[node2.type](node2, semicolon);\n }\n};\nvar stringifier$1 = Stringifier$2$1;\nStringifier$2$1.default = Stringifier$2$1;\nlet Stringifier$1$1 = stringifier$1;\nfunction stringify$4$1(node2, builder) {\n let str = new Stringifier$1$1(builder);\n str.stringify(node2);\n}\nvar stringify_1$1 = stringify$4$1;\nstringify$4$1.default = stringify$4$1;\nlet { isClean: isClean$2$1, my: my$2$1 } = symbols$1;\nlet CssSyntaxError$2$1 = cssSyntaxError$1;\nlet Stringifier2$1 = stringifier$1;\nlet stringify$3$1 = stringify_1$1;\nfunction cloneNode$1(obj, parent) {\n let cloned = new obj.constructor();\n for (let i2 in obj) {\n if (!Object.prototype.hasOwnProperty.call(obj, i2)) {\n continue;\n }\n if (i2 === \"proxyCache\") continue;\n let value = obj[i2];\n let type = typeof value;\n if (i2 === \"parent\" && type === \"object\") {\n if (parent) cloned[i2] = parent;\n } else if (i2 === \"source\") {\n cloned[i2] = value;\n } else if (Array.isArray(value)) {\n cloned[i2] = value.map((j) => cloneNode$1(j, cloned));\n } else {\n if (type === \"object\" && value !== null) value = cloneNode$1(value);\n cloned[i2] = value;\n }\n }\n return cloned;\n}\nlet Node$4$1 = class Node2 {\n constructor(defaults = {}) {\n this.raws = {};\n this[isClean$2$1] = false;\n this[my$2$1] = true;\n for (let name in defaults) {\n if (name === \"nodes\") {\n this.nodes = [];\n for (let node2 of defaults[name]) {\n if (typeof node2.clone === \"function\") {\n this.append(node2.clone());\n } else {\n this.append(node2);\n }\n }\n } else {\n this[name] = defaults[name];\n }\n }\n }\n addToError(error) {\n error.postcssNode = this;\n if (error.stack && this.source && /\\n\\s{4}at /.test(error.stack)) {\n let s2 = this.source;\n error.stack = error.stack.replace(\n /\\n\\s{4}at /,\n `$&${s2.input.from}:${s2.start.line}:${s2.start.column}$&`\n );\n }\n return error;\n }\n after(add) {\n this.parent.insertAfter(this, add);\n return this;\n }\n assign(overrides = {}) {\n for (let name in overrides) {\n this[name] = overrides[name];\n }\n return this;\n }\n before(add) {\n this.parent.insertBefore(this, add);\n return this;\n }\n cleanRaws(keepBetween) {\n delete this.raws.before;\n delete this.raws.after;\n if (!keepBetween) delete this.raws.between;\n }\n clone(overrides = {}) {\n let cloned = cloneNode$1(this);\n for (let name in overrides) {\n cloned[name] = overrides[name];\n }\n return cloned;\n }\n cloneAfter(overrides = {}) {\n let cloned = this.clone(overrides);\n this.parent.insertAfter(this, cloned);\n return cloned;\n }\n cloneBefore(overrides = {}) {\n let cloned = this.clone(overrides);\n this.parent.insertBefore(this, cloned);\n return cloned;\n }\n error(message, opts = {}) {\n if (this.source) {\n let { end, start } = this.rangeBy(opts);\n return this.source.input.error(\n message,\n { column: start.column, line: start.line },\n { column: end.column, line: end.line },\n opts\n );\n }\n return new CssSyntaxError$2$1(message);\n }\n getProxyProcessor() {\n return {\n get(node2, prop) {\n if (prop === \"proxyOf\") {\n return node2;\n } else if (prop === \"root\") {\n return () => node2.root().toProxy();\n } else {\n return node2[prop];\n }\n },\n set(node2, prop, value) {\n if (node2[prop] === value) return true;\n node2[prop] = value;\n if (prop === \"prop\" || prop === \"value\" || prop === \"name\" || prop === \"params\" || prop === \"important\" || /* c8 ignore next */\n prop === \"text\") {\n node2.markDirty();\n }\n return true;\n }\n };\n }\n markDirty() {\n if (this[isClean$2$1]) {\n this[isClean$2$1] = false;\n let next = this;\n while (next = next.parent) {\n next[isClean$2$1] = false;\n }\n }\n }\n next() {\n if (!this.parent) return void 0;\n let index2 = this.parent.index(this);\n return this.parent.nodes[index2 + 1];\n }\n positionBy(opts, stringRepresentation) {\n let pos = this.source.start;\n if (opts.index) {\n pos = this.positionInside(opts.index, stringRepresentation);\n } else if (opts.word) {\n stringRepresentation = this.toString();\n let index2 = stringRepresentation.indexOf(opts.word);\n if (index2 !== -1) pos = this.positionInside(index2, stringRepresentation);\n }\n return pos;\n }\n positionInside(index2, stringRepresentation) {\n let string = stringRepresentation || this.toString();\n let column = this.source.start.column;\n let line = this.source.start.line;\n for (let i2 = 0; i2 < index2; i2++) {\n if (string[i2] === \"\\n\") {\n column = 1;\n line += 1;\n } else {\n column += 1;\n }\n }\n return { column, line };\n }\n prev() {\n if (!this.parent) return void 0;\n let index2 = this.parent.index(this);\n return this.parent.nodes[index2 - 1];\n }\n rangeBy(opts) {\n let start = {\n column: this.source.start.column,\n line: this.source.start.line\n };\n let end = this.source.end ? {\n column: this.source.end.column + 1,\n line: this.source.end.line\n } : {\n column: start.column + 1,\n line: start.line\n };\n if (opts.word) {\n let stringRepresentation = this.toString();\n let index2 = stringRepresentation.indexOf(opts.word);\n if (index2 !== -1) {\n start = this.positionInside(index2, stringRepresentation);\n end = this.positionInside(index2 + opts.word.length, stringRepresentation);\n }\n } else {\n if (opts.start) {\n start = {\n column: opts.start.column,\n line: opts.start.line\n };\n } else if (opts.index) {\n start = this.positionInside(opts.index);\n }\n if (opts.end) {\n end = {\n column: opts.end.column,\n line: opts.end.line\n };\n } else if (typeof opts.endIndex === \"number\") {\n end = this.positionInside(opts.endIndex);\n } else if (opts.index) {\n end = this.positionInside(opts.index + 1);\n }\n }\n if (end.line < start.line || end.line === start.line && end.column <= start.column) {\n end = { column: start.column + 1, line: start.line };\n }\n return { end, start };\n }\n raw(prop, defaultType) {\n let str = new Stringifier2$1();\n return str.raw(this, prop, defaultType);\n }\n remove() {\n if (this.parent) {\n this.parent.removeChild(this);\n }\n this.parent = void 0;\n return this;\n }\n replaceWith(...nodes) {\n if (this.parent) {\n let bookmark = this;\n let foundSelf = false;\n for (let node2 of nodes) {\n if (node2 === this) {\n foundSelf = true;\n } else if (foundSelf) {\n this.parent.insertAfter(bookmark, node2);\n bookmark = node2;\n } else {\n this.parent.insertBefore(bookmark, node2);\n }\n }\n if (!foundSelf) {\n this.remove();\n }\n }\n return this;\n }\n root() {\n let result2 = this;\n while (result2.parent && result2.parent.type !== \"document\") {\n result2 = result2.parent;\n }\n return result2;\n }\n toJSON(_, inputs) {\n let fixed = {};\n let emitInputs = inputs == null;\n inputs = inputs || /* @__PURE__ */ new Map();\n let inputsNextIndex = 0;\n for (let name in this) {\n if (!Object.prototype.hasOwnProperty.call(this, name)) {\n continue;\n }\n if (name === \"parent\" || name === \"proxyCache\") continue;\n let value = this[name];\n if (Array.isArray(value)) {\n fixed[name] = value.map((i2) => {\n if (typeof i2 === \"object\" && i2.toJSON) {\n return i2.toJSON(null, inputs);\n } else {\n return i2;\n }\n });\n } else if (typeof value === \"object\" && value.toJSON) {\n fixed[name] = value.toJSON(null, inputs);\n } else if (name === \"source\") {\n let inputId = inputs.get(value.input);\n if (inputId == null) {\n inputId = inputsNextIndex;\n inputs.set(value.input, inputsNextIndex);\n inputsNextIndex++;\n }\n fixed[name] = {\n end: value.end,\n inputId,\n start: value.start\n };\n } else {\n fixed[name] = value;\n }\n }\n if (emitInputs) {\n fixed.inputs = [...inputs.keys()].map((input2) => input2.toJSON());\n }\n return fixed;\n }\n toProxy() {\n if (!this.proxyCache) {\n this.proxyCache = new Proxy(this, this.getProxyProcessor());\n }\n return this.proxyCache;\n }\n toString(stringifier2 = stringify$3$1) {\n if (stringifier2.stringify) stringifier2 = stringifier2.stringify;\n let result2 = \"\";\n stringifier2(this, (i2) => {\n result2 += i2;\n });\n return result2;\n }\n warn(result2, text, opts) {\n let data = { node: this };\n for (let i2 in opts) data[i2] = opts[i2];\n return result2.warn(text, data);\n }\n get proxyOf() {\n return this;\n }\n};\nvar node$1 = Node$4$1;\nNode$4$1.default = Node$4$1;\nlet Node$3$1 = node$1;\nlet Declaration$4$1 = class Declaration extends Node$3$1 {\n constructor(defaults) {\n if (defaults && typeof defaults.value !== \"undefined\" && typeof defaults.value !== \"string\") {\n defaults = { ...defaults, value: String(defaults.value) };\n }\n super(defaults);\n this.type = \"decl\";\n }\n get variable() {\n return this.prop.startsWith(\"--\") || this.prop[0] === \"$\";\n }\n};\nvar declaration$1 = Declaration$4$1;\nDeclaration$4$1.default = Declaration$4$1;\nlet urlAlphabet$1 = \"useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict\";\nlet customAlphabet$1 = (alphabet, defaultSize = 21) => {\n return (size = defaultSize) => {\n let id = \"\";\n let i2 = size;\n while (i2--) {\n id += alphabet[Math.random() * alphabet.length | 0];\n }\n return id;\n };\n};\nlet nanoid$1$1 = (size = 21) => {\n let id = \"\";\n let i2 = size;\n while (i2--) {\n id += urlAlphabet$1[Math.random() * 64 | 0];\n }\n return id;\n};\nvar nonSecure$1 = { nanoid: nanoid$1$1, customAlphabet: customAlphabet$1 };\nlet { SourceMapConsumer: SourceMapConsumer$2$1, SourceMapGenerator: SourceMapGenerator$2$1 } = require$$2$1;\nlet { existsSync: existsSync$1, readFileSync: readFileSync$1 } = require$$2$1;\nlet { dirname: dirname$1$1, join: join$1 } = require$$2$1;\nfunction fromBase64$1(str) {\n if (Buffer) {\n return Buffer.from(str, \"base64\").toString();\n } else {\n return window.atob(str);\n }\n}\nlet PreviousMap$2$1 = class PreviousMap {\n constructor(css, opts) {\n if (opts.map === false) return;\n this.loadAnnotation(css);\n this.inline = this.startWith(this.annotation, \"data:\");\n let prev = opts.map ? opts.map.prev : void 0;\n let text = this.loadMap(opts.from, prev);\n if (!this.mapFile && opts.from) {\n this.mapFile = opts.from;\n }\n if (this.mapFile) this.root = dirname$1$1(this.mapFile);\n if (text) this.text = text;\n }\n consumer() {\n if (!this.consumerCache) {\n this.consumerCache = new SourceMapConsumer$2$1(this.text);\n }\n return this.consumerCache;\n }\n decodeInline(text) {\n let baseCharsetUri = /^data:application\\/json;charset=utf-?8;base64,/;\n let baseUri = /^data:application\\/json;base64,/;\n let charsetUri = /^data:application\\/json;charset=utf-?8,/;\n let uri = /^data:application\\/json,/;\n if (charsetUri.test(text) || uri.test(text)) {\n return decodeURIComponent(text.substr(RegExp.lastMatch.length));\n }\n if (baseCharsetUri.test(text) || baseUri.test(text)) {\n return fromBase64$1(text.substr(RegExp.lastMatch.length));\n }\n let encoding = text.match(/data:application\\/json;([^,]+),/)[1];\n throw new Error(\"Unsupported source map encoding \" + encoding);\n }\n getAnnotationURL(sourceMapString) {\n return sourceMapString.replace(/^\\/\\*\\s*# sourceMappingURL=/, \"\").trim();\n }\n isMap(map) {\n if (typeof map !== \"object\") return false;\n return typeof map.mappings === \"string\" || typeof map._mappings === \"string\" || Array.isArray(map.sections);\n }\n loadAnnotation(css) {\n let comments = css.match(/\\/\\*\\s*# sourceMappingURL=/gm);\n if (!comments) return;\n let start = css.lastIndexOf(comments.pop());\n let end = css.indexOf(\"*/\", start);\n if (start > -1 && end > -1) {\n this.annotation = this.getAnnotationURL(css.substring(start, end));\n }\n }\n loadFile(path) {\n this.root = dirname$1$1(path);\n if (existsSync$1(path)) {\n this.mapFile = path;\n return readFileSync$1(path, \"utf-8\").toString().trim();\n }\n }\n loadMap(file, prev) {\n if (prev === false) return false;\n if (prev) {\n if (typeof prev === \"string\") {\n return prev;\n } else if (typeof prev === \"function\") {\n let prevPath = prev(file);\n if (prevPath) {\n let map = this.loadFile(prevPath);\n if (!map) {\n throw new Error(\n \"Unable to load previous source map: \" + prevPath.toString()\n );\n }\n return map;\n }\n } else if (prev instanceof SourceMapConsumer$2$1) {\n return SourceMapGenerator$2$1.fromSourceMap(prev).toString();\n } else if (prev instanceof SourceMapGenerator$2$1) {\n return prev.toString();\n } else if (this.isMap(prev)) {\n return JSON.stringify(prev);\n } else {\n throw new Error(\n \"Unsupported previous source map format: \" + prev.toString()\n );\n }\n } else if (this.inline) {\n return this.decodeInline(this.annotation);\n } else if (this.annotation) {\n let map = this.annotation;\n if (file) map = join$1(dirname$1$1(file), map);\n return this.loadFile(map);\n }\n }\n startWith(string, start) {\n if (!string) return false;\n return string.substr(0, start.length) === start;\n }\n withContent() {\n return !!(this.consumer().sourcesContent && this.consumer().sourcesContent.length > 0);\n }\n};\nvar previousMap$1 = PreviousMap$2$1;\nPreviousMap$2$1.default = PreviousMap$2$1;\nlet { SourceMapConsumer: SourceMapConsumer$1$1, SourceMapGenerator: SourceMapGenerator$1$1 } = require$$2$1;\nlet { fileURLToPath: fileURLToPath$1, pathToFileURL: pathToFileURL$1$1 } = require$$2$1;\nlet { isAbsolute: isAbsolute$1, resolve: resolve$1$1 } = require$$2$1;\nlet { nanoid: nanoid$2 } = nonSecure$1;\nlet terminalHighlight$2 = require$$2$1;\nlet CssSyntaxError$1$1 = cssSyntaxError$1;\nlet PreviousMap$1$1 = previousMap$1;\nlet fromOffsetCache$1 = Symbol(\"fromOffsetCache\");\nlet sourceMapAvailable$1$1 = Boolean(SourceMapConsumer$1$1 && SourceMapGenerator$1$1);\nlet pathAvailable$1$1 = Boolean(resolve$1$1 && isAbsolute$1);\nlet Input$4$1 = class Input {\n constructor(css, opts = {}) {\n if (css === null || typeof css === \"undefined\" || typeof css === \"object\" && !css.toString) {\n throw new Error(`PostCSS received ${css} instead of CSS string`);\n }\n this.css = css.toString();\n if (this.css[0] === \"\\uFEFF\" || this.css[0] === \"￾\") {\n this.hasBOM = true;\n this.css = this.css.slice(1);\n } else {\n this.hasBOM = false;\n }\n if (opts.from) {\n if (!pathAvailable$1$1 || /^\\w+:\\/\\//.test(opts.from) || isAbsolute$1(opts.from)) {\n this.file = opts.from;\n } else {\n this.file = resolve$1$1(opts.from);\n }\n }\n if (pathAvailable$1$1 && sourceMapAvailable$1$1) {\n let map = new PreviousMap$1$1(this.css, opts);\n if (map.text) {\n this.map = map;\n let file = map.consumer().file;\n if (!this.file && file) this.file = this.mapResolve(file);\n }\n }\n if (!this.file) {\n this.id = \"<input css \" + nanoid$2(6) + \">\";\n }\n if (this.map) this.map.file = this.from;\n }\n error(message, line, column, opts = {}) {\n let result2, endLine, endColumn;\n if (line && typeof line === \"object\") {\n let start = line;\n let end = column;\n if (typeof start.offset === \"number\") {\n let pos = this.fromOffset(start.offset);\n line = pos.line;\n column = pos.col;\n } else {\n line = start.line;\n column = start.column;\n }\n if (typeof end.offset === \"number\") {\n let pos = this.fromOffset(end.offset);\n endLine = pos.line;\n endColumn = pos.col;\n } else {\n endLine = end.line;\n endColumn = end.column;\n }\n } else if (!column) {\n let pos = this.fromOffset(line);\n line = pos.line;\n column = pos.col;\n }\n let origin = this.origin(line, column, endLine, endColumn);\n if (origin) {\n result2 = new CssSyntaxError$1$1(\n message,\n origin.endLine === void 0 ? origin.line : { column: origin.column, line: origin.line },\n origin.endLine === void 0 ? origin.column : { column: origin.endColumn, line: origin.endLine },\n origin.source,\n origin.file,\n opts.plugin\n );\n } else {\n result2 = new CssSyntaxError$1$1(\n message,\n endLine === void 0 ? line : { column, line },\n endLine === void 0 ? column : { column: endColumn, line: endLine },\n this.css,\n this.file,\n opts.plugin\n );\n }\n result2.input = { column, endColumn, endLine, line, source: this.css };\n if (this.file) {\n if (pathToFileURL$1$1) {\n result2.input.url = pathToFileURL$1$1(this.file).toString();\n }\n result2.input.file = this.file;\n }\n return result2;\n }\n fromOffset(offset) {\n let lastLine, lineToIndex;\n if (!this[fromOffsetCache$1]) {\n let lines = this.css.split(\"\\n\");\n lineToIndex = new Array(lines.length);\n let prevIndex = 0;\n for (let i2 = 0, l2 = lines.length; i2 < l2; i2++) {\n lineToIndex[i2] = prevIndex;\n prevIndex += lines[i2].length + 1;\n }\n this[fromOffsetCache$1] = lineToIndex;\n } else {\n lineToIndex = this[fromOffsetCache$1];\n }\n lastLine = lineToIndex[lineToIndex.length - 1];\n let min = 0;\n if (offset >= lastLine) {\n min = lineToIndex.length - 1;\n } else {\n let max = lineToIndex.length - 2;\n let mid;\n while (min < max) {\n mid = min + (max - min >> 1);\n if (offset < lineToIndex[mid]) {\n max = mid - 1;\n } else if (offset >= lineToIndex[mid + 1]) {\n min = mid + 1;\n } else {\n min = mid;\n break;\n }\n }\n }\n return {\n col: offset - lineToIndex[min] + 1,\n line: min + 1\n };\n }\n mapResolve(file) {\n if (/^\\w+:\\/\\//.test(file)) {\n return file;\n }\n return resolve$1$1(this.map.consumer().sourceRoot || this.map.root || \".\", file);\n }\n origin(line, column, endLine, endColumn) {\n if (!this.map) return false;\n let consumer = this.map.consumer();\n let from = consumer.originalPositionFor({ column, line });\n if (!from.source) return false;\n let to;\n if (typeof endLine === \"number\") {\n to = consumer.originalPositionFor({ column: endColumn, line: endLine });\n }\n let fromUrl;\n if (isAbsolute$1(from.source)) {\n fromUrl = pathToFileURL$1$1(from.source);\n } else {\n fromUrl = new URL(\n from.source,\n this.map.consumer().sourceRoot || pathToFileURL$1$1(this.map.mapFile)\n );\n }\n let result2 = {\n column: from.column,\n endColumn: to && to.column,\n endLine: to && to.line,\n line: from.line,\n url: fromUrl.toString()\n };\n if (fromUrl.protocol === \"file:\") {\n if (fileURLToPath$1) {\n result2.file = fileURLToPath$1(fromUrl);\n } else {\n throw new Error(`file: protocol is not available in this PostCSS build`);\n }\n }\n let source = consumer.sourceContentFor(from.source);\n if (source) result2.source = source;\n return result2;\n }\n toJSON() {\n let json = {};\n for (let name of [\"hasBOM\", \"css\", \"file\", \"id\"]) {\n if (this[name] != null) {\n json[name] = this[name];\n }\n }\n if (this.map) {\n json.map = { ...this.map };\n if (json.map.consumerCache) {\n json.map.consumerCache = void 0;\n }\n }\n return json;\n }\n get from() {\n return this.file || this.id;\n }\n};\nvar input$1 = Input$4$1;\nInput$4$1.default = Input$4$1;\nif (terminalHighlight$2 && terminalHighlight$2.registerInput) {\n terminalHighlight$2.registerInput(Input$4$1);\n}\nlet { SourceMapConsumer: SourceMapConsumer$3, SourceMapGenerator: SourceMapGenerator$3 } = require$$2$1;\nlet { dirname: dirname$2, relative: relative$1, resolve: resolve$2, sep: sep$1 } = require$$2$1;\nlet { pathToFileURL: pathToFileURL$2 } = require$$2$1;\nlet Input$3$1 = input$1;\nlet sourceMapAvailable$2 = Boolean(SourceMapConsumer$3 && SourceMapGenerator$3);\nlet pathAvailable$2 = Boolean(dirname$2 && resolve$2 && relative$1 && sep$1);\nlet MapGenerator$2$1 = class MapGenerator {\n constructor(stringify2, root2, opts, cssString) {\n this.stringify = stringify2;\n this.mapOpts = opts.map || {};\n this.root = root2;\n this.opts = opts;\n this.css = cssString;\n this.originalCSS = cssString;\n this.usesFileUrls = !this.mapOpts.from && this.mapOpts.absolute;\n this.memoizedFileURLs = /* @__PURE__ */ new Map();\n this.memoizedPaths = /* @__PURE__ */ new Map();\n this.memoizedURLs = /* @__PURE__ */ new Map();\n }\n addAnnotation() {\n let content;\n if (this.isInline()) {\n content = \"data:application/json;base64,\" + this.toBase64(this.map.toString());\n } else if (typeof this.mapOpts.annotation === \"string\") {\n content = this.mapOpts.annotation;\n } else if (typeof this.mapOpts.annotation === \"function\") {\n content = this.mapOpts.annotation(this.opts.to, this.root);\n } else {\n content = this.outputFile() + \".map\";\n }\n let eol = \"\\n\";\n if (this.css.includes(\"\\r\\n\")) eol = \"\\r\\n\";\n this.css += eol + \"/*# sourceMappingURL=\" + content + \" */\";\n }\n applyPrevMaps() {\n for (let prev of this.previous()) {\n let from = this.toUrl(this.path(prev.file));\n let root2 = prev.root || dirname$2(prev.file);\n let map;\n if (this.mapOpts.sourcesContent === false) {\n map = new SourceMapConsumer$3(prev.text);\n if (map.sourcesContent) {\n map.sourcesContent = null;\n }\n } else {\n map = prev.consumer();\n }\n this.map.applySourceMap(map, from, this.toUrl(this.path(root2)));\n }\n }\n clearAnnotation() {\n if (this.mapOpts.annotation === false) return;\n if (this.root) {\n let node2;\n for (let i2 = this.root.nodes.length - 1; i2 >= 0; i2--) {\n node2 = this.root.nodes[i2];\n if (node2.type !== \"comment\") continue;\n if (node2.text.indexOf(\"# sourceMappingURL=\") === 0) {\n this.root.removeChild(i2);\n }\n }\n } else if (this.css) {\n this.css = this.css.replace(/\\n*?\\/\\*#[\\S\\s]*?\\*\\/$/gm, \"\");\n }\n }\n generate() {\n this.clearAnnotation();\n if (pathAvailable$2 && sourceMapAvailable$2 && this.isMap()) {\n return this.generateMap();\n } else {\n let result2 = \"\";\n this.stringify(this.root, (i2) => {\n result2 += i2;\n });\n return [result2];\n }\n }\n generateMap() {\n if (this.root) {\n this.generateString();\n } else if (this.previous().length === 1) {\n let prev = this.previous()[0].consumer();\n prev.file = this.outputFile();\n this.map = SourceMapGenerator$3.fromSourceMap(prev, {\n ignoreInvalidMapping: true\n });\n } else {\n this.map = new SourceMapGenerator$3({\n file: this.outputFile(),\n ignoreInvalidMapping: true\n });\n this.map.addMapping({\n generated: { column: 0, line: 1 },\n original: { column: 0, line: 1 },\n source: this.opts.from ? this.toUrl(this.path(this.opts.from)) : \"<no source>\"\n });\n }\n if (this.isSourcesContent()) this.setSourcesContent();\n if (this.root && this.previous().length > 0) this.applyPrevMaps();\n if (this.isAnnotation()) this.addAnnotation();\n if (this.isInline()) {\n return [this.css];\n } else {\n return [this.css, this.map];\n }\n }\n generateString() {\n this.css = \"\";\n this.map = new SourceMapGenerator$3({\n file: this.outputFile(),\n ignoreInvalidMapping: true\n });\n let line = 1;\n let column = 1;\n let noSource = \"<no source>\";\n let mapping = {\n generated: { column: 0, line: 0 },\n original: { column: 0, line: 0 },\n source: \"\"\n };\n let lines, last;\n this.stringify(this.root, (str, node2, type) => {\n this.css += str;\n if (node2 && type !== \"end\") {\n mapping.generated.line = line;\n mapping.generated.column = column - 1;\n if (node2.source && node2.source.start) {\n mapping.source = this.sourcePath(node2);\n mapping.original.line = node2.source.start.line;\n mapping.original.column = node2.source.start.column - 1;\n this.map.addMapping(mapping);\n } else {\n mapping.source = noSource;\n mapping.original.line = 1;\n mapping.original.column = 0;\n this.map.addMapping(mapping);\n }\n }\n lines = str.match(/\\n/g);\n if (lines) {\n line += lines.length;\n last = str.lastIndexOf(\"\\n\");\n column = str.length - last;\n } else {\n column += str.length;\n }\n if (node2 && type !== \"start\") {\n let p = node2.parent || { raws: {} };\n let childless = node2.type === \"decl\" || node2.type === \"atrule\" && !node2.nodes;\n if (!childless || node2 !== p.last || p.raws.semicolon) {\n if (node2.source && node2.source.end) {\n mapping.source = this.sourcePath(node2);\n mapping.original.line = node2.source.end.line;\n mapping.original.column = node2.source.end.column - 1;\n mapping.generated.line = line;\n mapping.generated.column = column - 2;\n this.map.addMapping(mapping);\n } else {\n mapping.source = noSource;\n mapping.original.line = 1;\n mapping.original.column = 0;\n mapping.generated.line = line;\n mapping.generated.column = column - 1;\n this.map.addMapping(mapping);\n }\n }\n }\n });\n }\n isAnnotation() {\n if (this.isInline()) {\n return true;\n }\n if (typeof this.mapOpts.annotation !== \"undefined\") {\n return this.mapOpts.annotation;\n }\n if (this.previous().length) {\n return this.previous().some((i2) => i2.annotation);\n }\n return true;\n }\n isInline() {\n if (typeof this.mapOpts.inline !== \"undefined\") {\n return this.mapOpts.inline;\n }\n let annotation = this.mapOpts.annotation;\n if (typeof annotation !== \"undefined\" && annotation !== true) {\n return false;\n }\n if (this.previous().length) {\n return this.previous().some((i2) => i2.inline);\n }\n return true;\n }\n isMap() {\n if (typeof this.opts.map !== \"undefined\") {\n return !!this.opts.map;\n }\n return this.previous().length > 0;\n }\n isSourcesContent() {\n if (typeof this.mapOpts.sourcesContent !== \"undefined\") {\n return this.mapOpts.sourcesContent;\n }\n if (this.previous().length) {\n return this.previous().some((i2) => i2.withContent());\n }\n return true;\n }\n outputFile() {\n if (this.opts.to) {\n return this.path(this.opts.to);\n } else if (this.opts.from) {\n return this.path(this.opts.from);\n } else {\n return \"to.css\";\n }\n }\n path(file) {\n if (this.mapOpts.absolute) return file;\n if (file.charCodeAt(0) === 60) return file;\n if (/^\\w+:\\/\\//.test(file)) return file;\n let cached = this.memoizedPaths.get(file);\n if (cached) return cached;\n let from = this.opts.to ? dirname$2(this.opts.to) : \".\";\n if (typeof this.mapOpts.annotation === \"string\") {\n from = dirname$2(resolve$2(from, this.mapOpts.annotation));\n }\n let path = relative$1(from, file);\n this.memoizedPaths.set(file, path);\n return path;\n }\n previous() {\n if (!this.previousMaps) {\n this.previousMaps = [];\n if (this.root) {\n this.root.walk((node2) => {\n if (node2.source && node2.source.input.map) {\n let map = node2.source.input.map;\n if (!this.previousMaps.includes(map)) {\n this.previousMaps.push(map);\n }\n }\n });\n } else {\n let input2 = new Input$3$1(this.originalCSS, this.opts);\n if (input2.map) this.previousMaps.push(input2.map);\n }\n }\n return this.previousMaps;\n }\n setSourcesContent() {\n let already = {};\n if (this.root) {\n this.root.walk((node2) => {\n if (node2.source) {\n let from = node2.source.input.from;\n if (from && !already[from]) {\n already[from] = true;\n let fromUrl = this.usesFileUrls ? this.toFileUrl(from) : this.toUrl(this.path(from));\n this.map.setSourceContent(fromUrl, node2.source.input.css);\n }\n }\n });\n } else if (this.css) {\n let from = this.opts.from ? this.toUrl(this.path(this.opts.from)) : \"<no source>\";\n this.map.setSourceContent(from, this.css);\n }\n }\n sourcePath(node2) {\n if (this.mapOpts.from) {\n return this.toUrl(this.mapOpts.from);\n } else if (this.usesFileUrls) {\n return this.toFileUrl(node2.source.input.from);\n } else {\n return this.toUrl(this.path(node2.source.input.from));\n }\n }\n toBase64(str) {\n if (Buffer) {\n return Buffer.from(str).toString(\"base64\");\n } else {\n return window.btoa(unescape(encodeURIComponent(str)));\n }\n }\n toFileUrl(path) {\n let cached = this.memoizedFileURLs.get(path);\n if (cached) return cached;\n if (pathToFileURL$2) {\n let fileURL = pathToFileURL$2(path).toString();\n this.memoizedFileURLs.set(path, fileURL);\n return fileURL;\n } else {\n throw new Error(\n \"`map.absolute` option is not available in this PostCSS build\"\n );\n }\n }\n toUrl(path) {\n let cached = this.memoizedURLs.get(path);\n if (cached) return cached;\n if (sep$1 === \"\\\\\") {\n path = path.replace(/\\\\/g, \"/\");\n }\n let url = encodeURI(path).replace(/[#?]/g, encodeURIComponent);\n this.memoizedURLs.set(path, url);\n return url;\n }\n};\nvar mapGenerator$1 = MapGenerator$2$1;\nlet Node$2$1 = node$1;\nlet Comment$4$1 = class Comment extends Node$2$1 {\n constructor(defaults) {\n super(defaults);\n this.type = \"comment\";\n }\n};\nvar comment$1 = Comment$4$1;\nComment$4$1.default = Comment$4$1;\nlet { isClean: isClean$1$1, my: my$1$1 } = symbols$1;\nlet Declaration$3$1 = declaration$1;\nlet Comment$3$1 = comment$1;\nlet Node$1$1 = node$1;\nlet parse$4$1, Rule$4$1, AtRule$4$1, Root$6$1;\nfunction cleanSource$1(nodes) {\n return nodes.map((i2) => {\n if (i2.nodes) i2.nodes = cleanSource$1(i2.nodes);\n delete i2.source;\n return i2;\n });\n}\nfunction markDirtyUp$1(node2) {\n node2[isClean$1$1] = false;\n if (node2.proxyOf.nodes) {\n for (let i2 of node2.proxyOf.nodes) {\n markDirtyUp$1(i2);\n }\n }\n}\nlet Container$7$1 = class Container extends Node$1$1 {\n append(...children) {\n for (let child of children) {\n let nodes = this.normalize(child, this.last);\n for (let node2 of nodes) this.proxyOf.nodes.push(node2);\n }\n this.markDirty();\n return this;\n }\n cleanRaws(keepBetween) {\n super.cleanRaws(keepBetween);\n if (this.nodes) {\n for (let node2 of this.nodes) node2.cleanRaws(keepBetween);\n }\n }\n each(callback) {\n if (!this.proxyOf.nodes) return void 0;\n let iterator = this.getIterator();\n let index2, result2;\n while (this.indexes[iterator] < this.proxyOf.nodes.length) {\n index2 = this.indexes[iterator];\n result2 = callback(this.proxyOf.nodes[index2], index2);\n if (result2 === false) break;\n this.indexes[iterator] += 1;\n }\n delete this.indexes[iterator];\n return result2;\n }\n every(condition) {\n return this.nodes.every(condition);\n }\n getIterator() {\n if (!this.lastEach) this.lastEach = 0;\n if (!this.indexes) this.indexes = {};\n this.lastEach += 1;\n let iterator = this.lastEach;\n this.indexes[iterator] = 0;\n return iterator;\n }\n getProxyProcessor() {\n return {\n get(node2, prop) {\n if (prop === \"proxyOf\") {\n return node2;\n } else if (!node2[prop]) {\n return node2[prop];\n } else if (prop === \"each\" || typeof prop === \"string\" && prop.startsWith(\"walk\")) {\n return (...args) => {\n return node2[prop](\n ...args.map((i2) => {\n if (typeof i2 === \"function\") {\n return (child, index2) => i2(child.toProxy(), index2);\n } else {\n return i2;\n }\n })\n );\n };\n } else if (prop === \"every\" || prop === \"some\") {\n return (cb) => {\n return node2[prop](\n (child, ...other) => cb(child.toProxy(), ...other)\n );\n };\n } else if (prop === \"root\") {\n return () => node2.root().toProxy();\n } else if (prop === \"nodes\") {\n return node2.nodes.map((i2) => i2.toProxy());\n } else if (prop === \"first\" || prop === \"last\") {\n return node2[prop].toProxy();\n } else {\n return node2[prop];\n }\n },\n set(node2, prop, value) {\n if (node2[prop] === value) return true;\n node2[prop] = value;\n if (prop === \"name\" || prop === \"params\" || prop === \"selector\") {\n node2.markDirty();\n }\n return true;\n }\n };\n }\n index(child) {\n if (typeof child === \"number\") return child;\n if (child.proxyOf) child = child.proxyOf;\n return this.proxyOf.nodes.indexOf(child);\n }\n insertAfter(exist, add) {\n let existIndex = this.index(exist);\n let nodes = this.normalize(add, this.proxyOf.nodes[existIndex]).reverse();\n existIndex = this.index(exist);\n for (let node2 of nodes) this.proxyOf.nodes.splice(existIndex + 1, 0, node2);\n let index2;\n for (let id in this.indexes) {\n index2 = this.indexes[id];\n if (existIndex < index2) {\n this.indexes[id] = index2 + nodes.length;\n }\n }\n this.markDirty();\n return this;\n }\n insertBefore(exist, add) {\n let existIndex = this.index(exist);\n let type = existIndex === 0 ? \"prepend\" : false;\n let nodes = this.normalize(add, this.proxyOf.nodes[existIndex], type).reverse();\n existIndex = this.index(exist);\n for (let node2 of nodes) this.proxyOf.nodes.splice(existIndex, 0, node2);\n let index2;\n for (let id in this.indexes) {\n index2 = this.indexes[id];\n if (existIndex <= index2) {\n this.indexes[id] = index2 + nodes.length;\n }\n }\n this.markDirty();\n return this;\n }\n normalize(nodes, sample) {\n if (typeof nodes === \"string\") {\n nodes = cleanSource$1(parse$4$1(nodes).nodes);\n } else if (typeof nodes === \"undefined\") {\n nodes = [];\n } else if (Array.isArray(nodes)) {\n nodes = nodes.slice(0);\n for (let i2 of nodes) {\n if (i2.parent) i2.parent.removeChild(i2, \"ignore\");\n }\n } else if (nodes.type === \"root\" && this.type !== \"document\") {\n nodes = nodes.nodes.slice(0);\n for (let i2 of nodes) {\n if (i2.parent) i2.parent.removeChild(i2, \"ignore\");\n }\n } else if (nodes.type) {\n nodes = [nodes];\n } else if (nodes.prop) {\n if (typeof nodes.value === \"undefined\") {\n throw new Error(\"Value field is missed in node creation\");\n } else if (typeof nodes.value !== \"string\") {\n nodes.value = String(nodes.value);\n }\n nodes = [new Declaration$3$1(nodes)];\n } else if (nodes.selector) {\n nodes = [new Rule$4$1(nodes)];\n } else if (nodes.name) {\n nodes = [new AtRule$4$1(nodes)];\n } else if (nodes.text) {\n nodes = [new Comment$3$1(nodes)];\n } else {\n throw new Error(\"Unknown node type in node creation\");\n }\n let processed = nodes.map((i2) => {\n if (!i2[my$1$1]) Container.rebuild(i2);\n i2 = i2.proxyOf;\n if (i2.parent) i2.parent.removeChild(i2);\n if (i2[isClean$1$1]) markDirtyUp$1(i2);\n if (typeof i2.raws.before === \"undefined\") {\n if (sample && typeof sample.raws.before !== \"undefined\") {\n i2.raws.before = sample.raws.before.replace(/\\S/g, \"\");\n }\n }\n i2.parent = this.proxyOf;\n return i2;\n });\n return processed;\n }\n prepend(...children) {\n children = children.reverse();\n for (let child of children) {\n let nodes = this.normalize(child, this.first, \"prepend\").reverse();\n for (let node2 of nodes) this.proxyOf.nodes.unshift(node2);\n for (let id in this.indexes) {\n this.indexes[id] = this.indexes[id] + nodes.length;\n }\n }\n this.markDirty();\n return this;\n }\n push(child) {\n child.parent = this;\n this.proxyOf.nodes.push(child);\n return this;\n }\n removeAll() {\n for (let node2 of this.proxyOf.nodes) node2.parent = void 0;\n this.proxyOf.nodes = [];\n this.markDirty();\n return this;\n }\n removeChild(child) {\n child = this.index(child);\n this.proxyOf.nodes[child].parent = void 0;\n this.proxyOf.nodes.splice(child, 1);\n let index2;\n for (let id in this.indexes) {\n index2 = this.indexes[id];\n if (index2 >= child) {\n this.indexes[id] = index2 - 1;\n }\n }\n this.markDirty();\n return this;\n }\n replaceValues(pattern, opts, callback) {\n if (!callback) {\n callback = opts;\n opts = {};\n }\n this.walkDecls((decl) => {\n if (opts.props && !opts.props.includes(decl.prop)) return;\n if (opts.fast && !decl.value.includes(opts.fast)) return;\n decl.value = decl.value.replace(pattern, callback);\n });\n this.markDirty();\n return this;\n }\n some(condition) {\n return this.nodes.some(condition);\n }\n walk(callback) {\n return this.each((child, i2) => {\n let result2;\n try {\n result2 = callback(child, i2);\n } catch (e2) {\n throw child.addToError(e2);\n }\n if (result2 !== false && child.walk) {\n result2 = child.walk(callback);\n }\n return result2;\n });\n }\n walkAtRules(name, callback) {\n if (!callback) {\n callback = name;\n return this.walk((child, i2) => {\n if (child.type === \"atrule\") {\n return callback(child, i2);\n }\n });\n }\n if (name instanceof RegExp) {\n return this.walk((child, i2) => {\n if (child.type === \"atrule\" && name.test(child.name)) {\n return callback(child, i2);\n }\n });\n }\n return this.walk((child, i2) => {\n if (child.type === \"atrule\" && child.name === name) {\n return callback(child, i2);\n }\n });\n }\n walkComments(callback) {\n return this.walk((child, i2) => {\n if (child.type === \"comment\") {\n return callback(child, i2);\n }\n });\n }\n walkDecls(prop, callback) {\n if (!callback) {\n callback = prop;\n return this.walk((child, i2) => {\n if (child.type === \"decl\") {\n return callback(child, i2);\n }\n });\n }\n if (prop instanceof RegExp) {\n return this.walk((child, i2) => {\n if (child.type === \"decl\" && prop.test(child.prop)) {\n return callback(child, i2);\n }\n });\n }\n return this.walk((child, i2) => {\n if (child.type === \"decl\" && child.prop === prop) {\n return callback(child, i2);\n }\n });\n }\n walkRules(selector, callback) {\n if (!callback) {\n callback = selector;\n return this.walk((child, i2) => {\n if (child.type === \"rule\") {\n return callback(child, i2);\n }\n });\n }\n if (selector instanceof RegExp) {\n return this.walk((child, i2) => {\n if (child.type === \"rule\" && selector.test(child.selector)) {\n return callback(child, i2);\n }\n });\n }\n return this.walk((child, i2) => {\n if (child.type === \"rule\" && child.selector === selector) {\n return callback(child, i2);\n }\n });\n }\n get first() {\n if (!this.proxyOf.nodes) return void 0;\n return this.proxyOf.nodes[0];\n }\n get last() {\n if (!this.proxyOf.nodes) return void 0;\n return this.proxyOf.nodes[this.proxyOf.nodes.length - 1];\n }\n};\nContainer$7$1.registerParse = (dependant) => {\n parse$4$1 = dependant;\n};\nContainer$7$1.registerRule = (dependant) => {\n Rule$4$1 = dependant;\n};\nContainer$7$1.registerAtRule = (dependant) => {\n AtRule$4$1 = dependant;\n};\nContainer$7$1.registerRoot = (dependant) => {\n Root$6$1 = dependant;\n};\nvar container$1 = Container$7$1;\nContainer$7$1.default = Container$7$1;\nContainer$7$1.rebuild = (node2) => {\n if (node2.type === \"atrule\") {\n Object.setPrototypeOf(node2, AtRule$4$1.prototype);\n } else if (node2.type === \"rule\") {\n Object.setPrototypeOf(node2, Rule$4$1.prototype);\n } else if (node2.type === \"decl\") {\n Object.setPrototypeOf(node2, Declaration$3$1.prototype);\n } else if (node2.type === \"comment\") {\n Object.setPrototypeOf(node2, Comment$3$1.prototype);\n } else if (node2.type === \"root\") {\n Object.setPrototypeOf(node2, Root$6$1.prototype);\n }\n node2[my$1$1] = true;\n if (node2.nodes) {\n node2.nodes.forEach((child) => {\n Container$7$1.rebuild(child);\n });\n }\n};\nlet Container$6$1 = container$1;\nlet LazyResult$4$1, Processor$3$1;\nlet Document$3$1 = class Document2 extends Container$6$1 {\n constructor(defaults) {\n super({ type: \"document\", ...defaults });\n if (!this.nodes) {\n this.nodes = [];\n }\n }\n toResult(opts = {}) {\n let lazy = new LazyResult$4$1(new Processor$3$1(), this, opts);\n return lazy.stringify();\n }\n};\nDocument$3$1.registerLazyResult = (dependant) => {\n LazyResult$4$1 = dependant;\n};\nDocument$3$1.registerProcessor = (dependant) => {\n Processor$3$1 = dependant;\n};\nvar document$1$1 = Document$3$1;\nDocument$3$1.default = Document$3$1;\nlet printed$1 = {};\nvar warnOnce$2$1 = function warnOnce(message) {\n if (printed$1[message]) return;\n printed$1[message] = true;\n if (typeof console !== \"undefined\" && console.warn) {\n console.warn(message);\n }\n};\nlet Warning$2$1 = class Warning {\n constructor(text, opts = {}) {\n this.type = \"warning\";\n this.text = text;\n if (opts.node && opts.node.source) {\n let range = opts.node.rangeBy(opts);\n this.line = range.start.line;\n this.column = range.start.column;\n this.endLine = range.end.line;\n this.endColumn = range.end.column;\n }\n for (let opt in opts) this[opt] = opts[opt];\n }\n toString() {\n if (this.node) {\n return this.node.error(this.text, {\n index: this.index,\n plugin: this.plugin,\n word: this.word\n }).message;\n }\n if (this.plugin) {\n return this.plugin + \": \" + this.text;\n }\n return this.text;\n }\n};\nvar warning$1 = Warning$2$1;\nWarning$2$1.default = Warning$2$1;\nlet Warning$1$1 = warning$1;\nlet Result$3$1 = class Result {\n constructor(processor2, root2, opts) {\n this.processor = processor2;\n this.messages = [];\n this.root = root2;\n this.opts = opts;\n this.css = void 0;\n this.map = void 0;\n }\n toString() {\n return this.css;\n }\n warn(text, opts = {}) {\n if (!opts.plugin) {\n if (this.lastPlugin && this.lastPlugin.postcssPlugin) {\n opts.plugin = this.lastPlugin.postcssPlugin;\n }\n }\n let warning2 = new Warning$1$1(text, opts);\n this.messages.push(warning2);\n return warning2;\n }\n warnings() {\n return this.messages.filter((i2) => i2.type === \"warning\");\n }\n get content() {\n return this.css;\n }\n};\nvar result$1 = Result$3$1;\nResult$3$1.default = Result$3$1;\nconst SINGLE_QUOTE$1 = \"'\".charCodeAt(0);\nconst DOUBLE_QUOTE$1 = '\"'.charCodeAt(0);\nconst BACKSLASH$1 = \"\\\\\".charCodeAt(0);\nconst SLASH$1 = \"/\".charCodeAt(0);\nconst NEWLINE$1 = \"\\n\".charCodeAt(0);\nconst SPACE$1 = \" \".charCodeAt(0);\nconst FEED$1 = \"\\f\".charCodeAt(0);\nconst TAB$1 = \"\t\".charCodeAt(0);\nconst CR$1 = \"\\r\".charCodeAt(0);\nconst OPEN_SQUARE$1 = \"[\".charCodeAt(0);\nconst CLOSE_SQUARE$1 = \"]\".charCodeAt(0);\nconst OPEN_PARENTHESES$1 = \"(\".charCodeAt(0);\nconst CLOSE_PARENTHESES$1 = \")\".charCodeAt(0);\nconst OPEN_CURLY$1 = \"{\".charCodeAt(0);\nconst CLOSE_CURLY$1 = \"}\".charCodeAt(0);\nconst SEMICOLON$1 = \";\".charCodeAt(0);\nconst ASTERISK$1 = \"*\".charCodeAt(0);\nconst COLON$1 = \":\".charCodeAt(0);\nconst AT$1 = \"@\".charCodeAt(0);\nconst RE_AT_END$1 = /[\\t\\n\\f\\r \"#'()/;[\\\\\\]{}]/g;\nconst RE_WORD_END$1 = /[\\t\\n\\f\\r !\"#'():;@[\\\\\\]{}]|\\/(?=\\*)/g;\nconst RE_BAD_BRACKET$1 = /.[\\r\\n\"'(/\\\\]/;\nconst RE_HEX_ESCAPE$1 = /[\\da-f]/i;\nvar tokenize$1 = function tokenizer(input2, options = {}) {\n let css = input2.css.valueOf();\n let ignore = options.ignoreErrors;\n let code, next, quote, content, escape;\n let escaped, escapePos, prev, n2, currentToken;\n let length = css.length;\n let pos = 0;\n let buffer = [];\n let returned = [];\n function position() {\n return pos;\n }\n function unclosed(what) {\n throw input2.error(\"Unclosed \" + what, pos);\n }\n function endOfFile() {\n return returned.length === 0 && pos >= length;\n }\n function nextToken(opts) {\n if (returned.length) return returned.pop();\n if (pos >= length) return;\n let ignoreUnclosed = opts ? opts.ignoreUnclosed : false;\n code = css.charCodeAt(pos);\n switch (code) {\n case NEWLINE$1:\n case SPACE$1:\n case TAB$1:\n case CR$1:\n case FEED$1: {\n next = pos;\n do {\n next += 1;\n code = css.charCodeAt(next);\n } while (code === SPACE$1 || code === NEWLINE$1 || code === TAB$1 || code === CR$1 || code === FEED$1);\n currentToken = [\"space\", css.slice(pos, next)];\n pos = next - 1;\n break;\n }\n case OPEN_SQUARE$1:\n case CLOSE_SQUARE$1:\n case OPEN_CURLY$1:\n case CLOSE_CURLY$1:\n case COLON$1:\n case SEMICOLON$1:\n case CLOSE_PARENTHESES$1: {\n let controlChar = String.fromCharCode(code);\n currentToken = [controlChar, controlChar, pos];\n break;\n }\n case OPEN_PARENTHESES$1: {\n prev = buffer.length ? buffer.pop()[1] : \"\";\n n2 = css.charCodeAt(pos + 1);\n if (prev === \"url\" && n2 !== SINGLE_QUOTE$1 && n2 !== DOUBLE_QUOTE$1 && n2 !== SPACE$1 && n2 !== NEWLINE$1 && n2 !== TAB$1 && n2 !== FEED$1 && n2 !== CR$1) {\n next = pos;\n do {\n escaped = false;\n next = css.indexOf(\")\", next + 1);\n if (next === -1) {\n if (ignore || ignoreUnclosed) {\n next = pos;\n break;\n } else {\n unclosed(\"bracket\");\n }\n }\n escapePos = next;\n while (css.charCodeAt(escapePos - 1) === BACKSLASH$1) {\n escapePos -= 1;\n escaped = !escaped;\n }\n } while (escaped);\n currentToken = [\"brackets\", css.slice(pos, next + 1), pos, next];\n pos = next;\n } else {\n next = css.indexOf(\")\", pos + 1);\n content = css.slice(pos, next + 1);\n if (next === -1 || RE_BAD_BRACKET$1.test(content)) {\n currentToken = [\"(\", \"(\", pos];\n } else {\n currentToken = [\"brackets\", content, pos, next];\n pos = next;\n }\n }\n break;\n }\n case SINGLE_QUOTE$1:\n case DOUBLE_QUOTE$1: {\n quote = code === SINGLE_QUOTE$1 ? \"'\" : '\"';\n next = pos;\n do {\n escaped = false;\n next = css.indexOf(quote, next + 1);\n if (next === -1) {\n if (ignore || ignoreUnclosed) {\n next = pos + 1;\n break;\n } else {\n unclosed(\"string\");\n }\n }\n escapePos = next;\n while (css.charCodeAt(escapePos - 1) === BACKSLASH$1) {\n escapePos -= 1;\n escaped = !escaped;\n }\n } while (escaped);\n currentToken = [\"string\", css.slice(pos, next + 1), pos, next];\n pos = next;\n break;\n }\n case AT$1: {\n RE_AT_END$1.lastIndex = pos + 1;\n RE_AT_END$1.test(css);\n if (RE_AT_END$1.lastIndex === 0) {\n next = css.length - 1;\n } else {\n next = RE_AT_END$1.lastIndex - 2;\n }\n currentToken = [\"at-word\", css.slice(pos, next + 1), pos, next];\n pos = next;\n break;\n }\n case BACKSLASH$1: {\n next = pos;\n escape = true;\n while (css.charCodeAt(next + 1) === BACKSLASH$1) {\n next += 1;\n escape = !escape;\n }\n code = css.charCodeAt(next + 1);\n if (escape && code !== SLASH$1 && code !== SPACE$1 && code !== NEWLINE$1 && code !== TAB$1 && code !== CR$1 && code !== FEED$1) {\n next += 1;\n if (RE_HEX_ESCAPE$1.test(css.charAt(next))) {\n while (RE_HEX_ESCAPE$1.test(css.charAt(next + 1))) {\n next += 1;\n }\n if (css.charCodeAt(next + 1) === SPACE$1) {\n next += 1;\n }\n }\n }\n currentToken = [\"word\", css.slice(pos, next + 1), pos, next];\n pos = next;\n break;\n }\n default: {\n if (code === SLASH$1 && css.charCodeAt(pos + 1) === ASTERISK$1) {\n next = css.indexOf(\"*/\", pos + 2) + 1;\n if (next === 0) {\n if (ignore || ignoreUnclosed) {\n next = css.length;\n } else {\n unclosed(\"comment\");\n }\n }\n currentToken = [\"comment\", css.slice(pos, next + 1), pos, next];\n pos = next;\n } else {\n RE_WORD_END$1.lastIndex = pos + 1;\n RE_WORD_END$1.test(css);\n if (RE_WORD_END$1.lastIndex === 0) {\n next = css.length - 1;\n } else {\n next = RE_WORD_END$1.lastIndex - 2;\n }\n currentToken = [\"word\", css.slice(pos, next + 1), pos, next];\n buffer.push(currentToken);\n pos = next;\n }\n break;\n }\n }\n pos++;\n return currentToken;\n }\n function back(token) {\n returned.push(token);\n }\n return {\n back,\n endOfFile,\n nextToken,\n position\n };\n};\nlet Container$5$1 = container$1;\nlet AtRule$3$1 = class AtRule extends Container$5$1 {\n constructor(defaults) {\n super(defaults);\n this.type = \"atrule\";\n }\n append(...children) {\n if (!this.proxyOf.nodes) this.nodes = [];\n return super.append(...children);\n }\n prepend(...children) {\n if (!this.proxyOf.nodes) this.nodes = [];\n return super.prepend(...children);\n }\n};\nvar atRule$1 = AtRule$3$1;\nAtRule$3$1.default = AtRule$3$1;\nContainer$5$1.registerAtRule(AtRule$3$1);\nlet Container$4$1 = container$1;\nlet LazyResult$3$1, Processor$2$1;\nlet Root$5$1 = class Root extends Container$4$1 {\n constructor(defaults) {\n super(defaults);\n this.type = \"root\";\n if (!this.nodes) this.nodes = [];\n }\n normalize(child, sample, type) {\n let nodes = super.normalize(child);\n if (sample) {\n if (type === \"prepend\") {\n if (this.nodes.length > 1) {\n sample.raws.before = this.nodes[1].raws.before;\n } else {\n delete sample.raws.before;\n }\n } else if (this.first !== sample) {\n for (let node2 of nodes) {\n node2.raws.before = sample.raws.before;\n }\n }\n }\n return nodes;\n }\n removeChild(child, ignore) {\n let index2 = this.index(child);\n if (!ignore && index2 === 0 && this.nodes.length > 1) {\n this.nodes[1].raws.before = this.nodes[index2].raws.before;\n }\n return super.removeChild(child);\n }\n toResult(opts = {}) {\n let lazy = new LazyResult$3$1(new Processor$2$1(), this, opts);\n return lazy.stringify();\n }\n};\nRoot$5$1.registerLazyResult = (dependant) => {\n LazyResult$3$1 = dependant;\n};\nRoot$5$1.registerProcessor = (dependant) => {\n Processor$2$1 = dependant;\n};\nvar root$1 = Root$5$1;\nRoot$5$1.default = Root$5$1;\nContainer$4$1.registerRoot(Root$5$1);\nlet list$2$1 = {\n comma(string) {\n return list$2$1.split(string, [\",\"], true);\n },\n space(string) {\n let spaces = [\" \", \"\\n\", \"\t\"];\n return list$2$1.split(string, spaces);\n },\n split(string, separators, last) {\n let array = [];\n let current = \"\";\n let split = false;\n let func = 0;\n let inQuote = false;\n let prevQuote = \"\";\n let escape = false;\n for (let letter of string) {\n if (escape) {\n escape = false;\n } else if (letter === \"\\\\\") {\n escape = true;\n } else if (inQuote) {\n if (letter === prevQuote) {\n inQuote = false;\n }\n } else if (letter === '\"' || letter === \"'\") {\n inQuote = true;\n prevQuote = letter;\n } else if (letter === \"(\") {\n func += 1;\n } else if (letter === \")\") {\n if (func > 0) func -= 1;\n } else if (func === 0) {\n if (separators.includes(letter)) split = true;\n }\n if (split) {\n if (current !== \"\") array.push(current.trim());\n current = \"\";\n split = false;\n } else {\n current += letter;\n }\n }\n if (last || current !== \"\") array.push(current.trim());\n return array;\n }\n};\nvar list_1$1 = list$2$1;\nlist$2$1.default = list$2$1;\nlet Container$3$1 = container$1;\nlet list$1$1 = list_1$1;\nlet Rule$3$1 = class Rule extends Container$3$1 {\n constructor(defaults) {\n super(defaults);\n this.type = \"rule\";\n if (!this.nodes) this.nodes = [];\n }\n get selectors() {\n return list$1$1.comma(this.selector);\n }\n set selectors(values) {\n let match = this.selector ? this.selector.match(/,\\s*/) : null;\n let sep2 = match ? match[0] : \",\" + this.raw(\"between\", \"beforeOpen\");\n this.selector = values.join(sep2);\n }\n};\nvar rule$1 = Rule$3$1;\nRule$3$1.default = Rule$3$1;\nContainer$3$1.registerRule(Rule$3$1);\nlet Declaration$2$1 = declaration$1;\nlet tokenizer2$1 = tokenize$1;\nlet Comment$2$1 = comment$1;\nlet AtRule$2$1 = atRule$1;\nlet Root$4$1 = root$1;\nlet Rule$2$1 = rule$1;\nconst SAFE_COMMENT_NEIGHBOR$1 = {\n empty: true,\n space: true\n};\nfunction findLastWithPosition$1(tokens) {\n for (let i2 = tokens.length - 1; i2 >= 0; i2--) {\n let token = tokens[i2];\n let pos = token[3] || token[2];\n if (pos) return pos;\n }\n}\nlet Parser$1$1 = class Parser {\n constructor(input2) {\n this.input = input2;\n this.root = new Root$4$1();\n this.current = this.root;\n this.spaces = \"\";\n this.semicolon = false;\n this.createTokenizer();\n this.root.source = { input: input2, start: { column: 1, line: 1, offset: 0 } };\n }\n atrule(token) {\n let node2 = new AtRule$2$1();\n node2.name = token[1].slice(1);\n if (node2.name === \"\") {\n this.unnamedAtrule(node2, token);\n }\n this.init(node2, token[2]);\n let type;\n let prev;\n let shift;\n let last = false;\n let open = false;\n let params = [];\n let brackets = [];\n while (!this.tokenizer.endOfFile()) {\n token = this.tokenizer.nextToken();\n type = token[0];\n if (type === \"(\" || type === \"[\") {\n brackets.push(type === \"(\" ? \")\" : \"]\");\n } else if (type === \"{\" && brackets.length > 0) {\n brackets.push(\"}\");\n } else if (type === brackets[brackets.length - 1]) {\n brackets.pop();\n }\n if (brackets.length === 0) {\n if (type === \";\") {\n node2.source.end = this.getPosition(token[2]);\n node2.source.end.offset++;\n this.semicolon = true;\n break;\n } else if (type === \"{\") {\n open = true;\n break;\n } else if (type === \"}\") {\n if (params.length > 0) {\n shift = params.length - 1;\n prev = params[shift];\n while (prev && prev[0] === \"space\") {\n prev = params[--shift];\n }\n if (prev) {\n node2.source.end = this.getPosition(prev[3] || prev[2]);\n node2.source.end.offset++;\n }\n }\n this.end(token);\n break;\n } else {\n params.push(token);\n }\n } else {\n params.push(token);\n }\n if (this.tokenizer.endOfFile()) {\n last = true;\n break;\n }\n }\n node2.raws.between = this.spacesAndCommentsFromEnd(params);\n if (params.length) {\n node2.raws.afterName = this.spacesAndCommentsFromStart(params);\n this.raw(node2, \"params\", params);\n if (last) {\n token = params[params.length - 1];\n node2.source.end = this.getPosition(token[3] || token[2]);\n node2.source.end.offset++;\n this.spaces = node2.raws.between;\n node2.raws.between = \"\";\n }\n } else {\n node2.raws.afterName = \"\";\n node2.params = \"\";\n }\n if (open) {\n node2.nodes = [];\n this.current = node2;\n }\n }\n checkMissedSemicolon(tokens) {\n let colon = this.colon(tokens);\n if (colon === false) return;\n let founded = 0;\n let token;\n for (let j = colon - 1; j >= 0; j--) {\n token = tokens[j];\n if (token[0] !== \"space\") {\n founded += 1;\n if (founded === 2) break;\n }\n }\n throw this.input.error(\n \"Missed semicolon\",\n token[0] === \"word\" ? token[3] + 1 : token[2]\n );\n }\n colon(tokens) {\n let brackets = 0;\n let token, type, prev;\n for (let [i2, element] of tokens.entries()) {\n token = element;\n type = token[0];\n if (type === \"(\") {\n brackets += 1;\n }\n if (type === \")\") {\n brackets -= 1;\n }\n if (brackets === 0 && type === \":\") {\n if (!prev) {\n this.doubleColon(token);\n } else if (prev[0] === \"word\" && prev[1] === \"progid\") {\n continue;\n } else {\n return i2;\n }\n }\n prev = token;\n }\n return false;\n }\n comment(token) {\n let node2 = new Comment$2$1();\n this.init(node2, token[2]);\n node2.source.end = this.getPosition(token[3] || token[2]);\n node2.source.end.offset++;\n let text = token[1].slice(2, -2);\n if (/^\\s*$/.test(text)) {\n node2.text = \"\";\n node2.raws.left = text;\n node2.raws.right = \"\";\n } else {\n let match = text.match(/^(\\s*)([^]*\\S)(\\s*)$/);\n node2.text = match[2];\n node2.raws.left = match[1];\n node2.raws.right = match[3];\n }\n }\n createTokenizer() {\n this.tokenizer = tokenizer2$1(this.input);\n }\n decl(tokens, customProperty) {\n let node2 = new Declaration$2$1();\n this.init(node2, tokens[0][2]);\n let last = tokens[tokens.length - 1];\n if (last[0] === \";\") {\n this.semicolon = true;\n tokens.pop();\n }\n node2.source.end = this.getPosition(\n last[3] || last[2] || findLastWithPosition$1(tokens)\n );\n node2.source.end.offset++;\n while (tokens[0][0] !== \"word\") {\n if (tokens.length === 1) this.unknownWord(tokens);\n node2.raws.before += tokens.shift()[1];\n }\n node2.source.start = this.getPosition(tokens[0][2]);\n node2.prop = \"\";\n while (tokens.length) {\n let type = tokens[0][0];\n if (type === \":\" || type === \"space\" || type === \"comment\") {\n break;\n }\n node2.prop += tokens.shift()[1];\n }\n node2.raws.between = \"\";\n let token;\n while (tokens.length) {\n token = tokens.shift();\n if (token[0] === \":\") {\n node2.raws.between += token[1];\n break;\n } else {\n if (token[0] === \"word\" && /\\w/.test(token[1])) {\n this.unknownWord([token]);\n }\n node2.raws.between += token[1];\n }\n }\n if (node2.prop[0] === \"_\" || node2.prop[0] === \"*\") {\n node2.raws.before += node2.prop[0];\n node2.prop = node2.prop.slice(1);\n }\n let firstSpaces = [];\n let next;\n while (tokens.length) {\n next = tokens[0][0];\n if (next !== \"space\" && next !== \"comment\") break;\n firstSpaces.push(tokens.shift());\n }\n this.precheckMissedSemicolon(tokens);\n for (let i2 = tokens.length - 1; i2 >= 0; i2--) {\n token = tokens[i2];\n if (token[1].toLowerCase() === \"!important\") {\n node2.important = true;\n let string = this.stringFrom(tokens, i2);\n string = this.spacesFromEnd(tokens) + string;\n if (string !== \" !important\") node2.raws.important = string;\n break;\n } else if (token[1].toLowerCase() === \"important\") {\n let cache = tokens.slice(0);\n let str = \"\";\n for (let j = i2; j > 0; j--) {\n let type = cache[j][0];\n if (str.trim().indexOf(\"!\") === 0 && type !== \"space\") {\n break;\n }\n str = cache.pop()[1] + str;\n }\n if (str.trim().indexOf(\"!\") === 0) {\n node2.important = true;\n node2.raws.important = str;\n tokens = cache;\n }\n }\n if (token[0] !== \"space\" && token[0] !== \"comment\") {\n break;\n }\n }\n let hasWord = tokens.some((i2) => i2[0] !== \"space\" && i2[0] !== \"comment\");\n if (hasWord) {\n node2.raws.between += firstSpaces.map((i2) => i2[1]).join(\"\");\n firstSpaces = [];\n }\n this.raw(node2, \"value\", firstSpaces.concat(tokens), customProperty);\n if (node2.value.includes(\":\") && !customProperty) {\n this.checkMissedSemicolon(tokens);\n }\n }\n doubleColon(token) {\n throw this.input.error(\n \"Double colon\",\n { offset: token[2] },\n { offset: token[2] + token[1].length }\n );\n }\n emptyRule(token) {\n let node2 = new Rule$2$1();\n this.init(node2, token[2]);\n node2.selector = \"\";\n node2.raws.between = \"\";\n this.current = node2;\n }\n end(token) {\n if (this.current.nodes && this.current.nodes.length) {\n this.current.raws.semicolon = this.semicolon;\n }\n this.semicolon = false;\n this.current.raws.after = (this.current.raws.after || \"\") + this.spaces;\n this.spaces = \"\";\n if (this.current.parent) {\n this.current.source.end = this.getPosition(token[2]);\n this.current.source.end.offset++;\n this.current = this.current.parent;\n } else {\n this.unexpectedClose(token);\n }\n }\n endFile() {\n if (this.current.parent) this.unclosedBlock();\n if (this.current.nodes && this.current.nodes.length) {\n this.current.raws.semicolon = this.semicolon;\n }\n this.current.raws.after = (this.current.raws.after || \"\") + this.spaces;\n this.root.source.end = this.getPosition(this.tokenizer.position());\n }\n freeSemicolon(token) {\n this.spaces += token[1];\n if (this.current.nodes) {\n let prev = this.current.nodes[this.current.nodes.length - 1];\n if (prev && prev.type === \"rule\" && !prev.raws.ownSemicolon) {\n prev.raws.ownSemicolon = this.spaces;\n this.spaces = \"\";\n }\n }\n }\n // Helpers\n getPosition(offset) {\n let pos = this.input.fromOffset(offset);\n return {\n column: pos.col,\n line: pos.line,\n offset\n };\n }\n init(node2, offset) {\n this.current.push(node2);\n node2.source = {\n input: this.input,\n start: this.getPosition(offset)\n };\n node2.raws.before = this.spaces;\n this.spaces = \"\";\n if (node2.type !== \"comment\") this.semicolon = false;\n }\n other(start) {\n let end = false;\n let type = null;\n let colon = false;\n let bracket = null;\n let brackets = [];\n let customProperty = start[1].startsWith(\"--\");\n let tokens = [];\n let token = start;\n while (token) {\n type = token[0];\n tokens.push(token);\n if (type === \"(\" || type === \"[\") {\n if (!bracket) bracket = token;\n brackets.push(type === \"(\" ? \")\" : \"]\");\n } else if (customProperty && colon && type === \"{\") {\n if (!bracket) bracket = token;\n brackets.push(\"}\");\n } else if (brackets.length === 0) {\n if (type === \";\") {\n if (colon) {\n this.decl(tokens, customProperty);\n return;\n } else {\n break;\n }\n } else if (type === \"{\") {\n this.rule(tokens);\n return;\n } else if (type === \"}\") {\n this.tokenizer.back(tokens.pop());\n end = true;\n break;\n } else if (type === \":\") {\n colon = true;\n }\n } else if (type === brackets[brackets.length - 1]) {\n brackets.pop();\n if (brackets.length === 0) bracket = null;\n }\n token = this.tokenizer.nextToken();\n }\n if (this.tokenizer.endOfFile()) end = true;\n if (brackets.length > 0) this.unclosedBracket(bracket);\n if (end && colon) {\n if (!customProperty) {\n while (tokens.length) {\n token = tokens[tokens.length - 1][0];\n if (token !== \"space\" && token !== \"comment\") break;\n this.tokenizer.back(tokens.pop());\n }\n }\n this.decl(tokens, customProperty);\n } else {\n this.unknownWord(tokens);\n }\n }\n parse() {\n let token;\n while (!this.tokenizer.endOfFile()) {\n token = this.tokenizer.nextToken();\n switch (token[0]) {\n case \"space\":\n this.spaces += token[1];\n break;\n case \";\":\n this.freeSemicolon(token);\n break;\n case \"}\":\n this.end(token);\n break;\n case \"comment\":\n this.comment(token);\n break;\n case \"at-word\":\n this.atrule(token);\n break;\n case \"{\":\n this.emptyRule(token);\n break;\n default:\n this.other(token);\n break;\n }\n }\n this.endFile();\n }\n precheckMissedSemicolon() {\n }\n raw(node2, prop, tokens, customProperty) {\n let token, type;\n let length = tokens.length;\n let value = \"\";\n let clean = true;\n let next, prev;\n for (let i2 = 0; i2 < length; i2 += 1) {\n token = tokens[i2];\n type = token[0];\n if (type === \"space\" && i2 === length - 1 && !customProperty) {\n clean = false;\n } else if (type === \"comment\") {\n prev = tokens[i2 - 1] ? tokens[i2 - 1][0] : \"empty\";\n next = tokens[i2 + 1] ? tokens[i2 + 1][0] : \"empty\";\n if (!SAFE_COMMENT_NEIGHBOR$1[prev] && !SAFE_COMMENT_NEIGHBOR$1[next]) {\n if (value.slice(-1) === \",\") {\n clean = false;\n } else {\n value += token[1];\n }\n } else {\n clean = false;\n }\n } else {\n value += token[1];\n }\n }\n if (!clean) {\n let raw = tokens.reduce((all, i2) => all + i2[1], \"\");\n node2.raws[prop] = { raw, value };\n }\n node2[prop] = value;\n }\n rule(tokens) {\n tokens.pop();\n let node2 = new Rule$2$1();\n this.init(node2, tokens[0][2]);\n node2.raws.between = this.spacesAndCommentsFromEnd(tokens);\n this.raw(node2, \"selector\", tokens);\n this.current = node2;\n }\n spacesAndCommentsFromEnd(tokens) {\n let lastTokenType;\n let spaces = \"\";\n while (tokens.length) {\n lastTokenType = tokens[tokens.length - 1][0];\n if (lastTokenType !== \"space\" && lastTokenType !== \"comment\") break;\n spaces = tokens.pop()[1] + spaces;\n }\n return spaces;\n }\n // Errors\n spacesAndCommentsFromStart(tokens) {\n let next;\n let spaces = \"\";\n while (tokens.length) {\n next = tokens[0][0];\n if (next !== \"space\" && next !== \"comment\") break;\n spaces += tokens.shift()[1];\n }\n return spaces;\n }\n spacesFromEnd(tokens) {\n let lastTokenType;\n let spaces = \"\";\n while (tokens.length) {\n lastTokenType = tokens[tokens.length - 1][0];\n if (lastTokenType !== \"space\") break;\n spaces = tokens.pop()[1] + spaces;\n }\n return spaces;\n }\n stringFrom(tokens, from) {\n let result2 = \"\";\n for (let i2 = from; i2 < tokens.length; i2++) {\n result2 += tokens[i2][1];\n }\n tokens.splice(from, tokens.length - from);\n return result2;\n }\n unclosedBlock() {\n let pos = this.current.source.start;\n throw this.input.error(\"Unclosed block\", pos.line, pos.column);\n }\n unclosedBracket(bracket) {\n throw this.input.error(\n \"Unclosed bracket\",\n { offset: bracket[2] },\n { offset: bracket[2] + 1 }\n );\n }\n unexpectedClose(token) {\n throw this.input.error(\n \"Unexpected }\",\n { offset: token[2] },\n { offset: token[2] + 1 }\n );\n }\n unknownWord(tokens) {\n throw this.input.error(\n \"Unknown word\",\n { offset: tokens[0][2] },\n { offset: tokens[0][2] + tokens[0][1].length }\n );\n }\n unnamedAtrule(node2, token) {\n throw this.input.error(\n \"At-rule without name\",\n { offset: token[2] },\n { offset: token[2] + token[1].length }\n );\n }\n};\nvar parser$1 = Parser$1$1;\nlet Container$2$1 = container$1;\nlet Parser2$1 = parser$1;\nlet Input$2$1 = input$1;\nfunction parse$3$1(css, opts) {\n let input2 = new Input$2$1(css, opts);\n let parser2 = new Parser2$1(input2);\n try {\n parser2.parse();\n } catch (e2) {\n if (process.env.NODE_ENV !== \"production\") {\n if (e2.name === \"CssSyntaxError\" && opts && opts.from) {\n if (/\\.scss$/i.test(opts.from)) {\n e2.message += \"\\nYou tried to parse SCSS with the standard CSS parser; try again with the postcss-scss parser\";\n } else if (/\\.sass/i.test(opts.from)) {\n e2.message += \"\\nYou tried to parse Sass with the standard CSS parser; try again with the postcss-sass parser\";\n } else if (/\\.less$/i.test(opts.from)) {\n e2.message += \"\\nYou tried to parse Less with the standard CSS parser; try again with the postcss-less parser\";\n }\n }\n }\n throw e2;\n }\n return parser2.root;\n}\nvar parse_1$1 = parse$3$1;\nparse$3$1.default = parse$3$1;\nContainer$2$1.registerParse(parse$3$1);\nlet { isClean: isClean$3, my: my$3 } = symbols$1;\nlet MapGenerator$1$1 = mapGenerator$1;\nlet stringify$2$1 = stringify_1$1;\nlet Container$1$1 = container$1;\nlet Document$2$1 = document$1$1;\nlet warnOnce$1$1 = warnOnce$2$1;\nlet Result$2$1 = result$1;\nlet parse$2$1 = parse_1$1;\nlet Root$3$1 = root$1;\nconst TYPE_TO_CLASS_NAME$1 = {\n atrule: \"AtRule\",\n comment: \"Comment\",\n decl: \"Declaration\",\n document: \"Document\",\n root: \"Root\",\n rule: \"Rule\"\n};\nconst PLUGIN_PROPS$1 = {\n AtRule: true,\n AtRuleExit: true,\n Comment: true,\n CommentExit: true,\n Declaration: true,\n DeclarationExit: true,\n Document: true,\n DocumentExit: true,\n Once: true,\n OnceExit: true,\n postcssPlugin: true,\n prepare: true,\n Root: true,\n RootExit: true,\n Rule: true,\n RuleExit: true\n};\nconst NOT_VISITORS$1 = {\n Once: true,\n postcssPlugin: true,\n prepare: true\n};\nconst CHILDREN$1 = 0;\nfunction isPromise$1(obj) {\n return typeof obj === \"object\" && typeof obj.then === \"function\";\n}\nfunction getEvents$1(node2) {\n let key = false;\n let type = TYPE_TO_CLASS_NAME$1[node2.type];\n if (node2.type === \"decl\") {\n key = node2.prop.toLowerCase();\n } else if (node2.type === \"atrule\") {\n key = node2.name.toLowerCase();\n }\n if (key && node2.append) {\n return [\n type,\n type + \"-\" + key,\n CHILDREN$1,\n type + \"Exit\",\n type + \"Exit-\" + key\n ];\n } else if (key) {\n return [type, type + \"-\" + key, type + \"Exit\", type + \"Exit-\" + key];\n } else if (node2.append) {\n return [type, CHILDREN$1, type + \"Exit\"];\n } else {\n return [type, type + \"Exit\"];\n }\n}\nfunction toStack$1(node2) {\n let events;\n if (node2.type === \"document\") {\n events = [\"Document\", CHILDREN$1, \"DocumentExit\"];\n } else if (node2.type === \"root\") {\n events = [\"Root\", CHILDREN$1, \"RootExit\"];\n } else {\n events = getEvents$1(node2);\n }\n return {\n eventIndex: 0,\n events,\n iterator: 0,\n node: node2,\n visitorIndex: 0,\n visitors: []\n };\n}\nfunction cleanMarks$1(node2) {\n node2[isClean$3] = false;\n if (node2.nodes) node2.nodes.forEach((i2) => cleanMarks$1(i2));\n return node2;\n}\nlet postcss$2$1 = {};\nlet LazyResult$2$1 = class LazyResult {\n constructor(processor2, css, opts) {\n this.stringified = false;\n this.processed = false;\n let root2;\n if (typeof css === \"object\" && css !== null && (css.type === \"root\" || css.type === \"document\")) {\n root2 = cleanMarks$1(css);\n } else if (css instanceof LazyResult || css instanceof Result$2$1) {\n root2 = cleanMarks$1(css.root);\n if (css.map) {\n if (typeof opts.map === \"undefined\") opts.map = {};\n if (!opts.map.inline) opts.map.inline = false;\n opts.map.prev = css.map;\n }\n } else {\n let parser2 = parse$2$1;\n if (opts.syntax) parser2 = opts.syntax.parse;\n if (opts.parser) parser2 = opts.parser;\n if (parser2.parse) parser2 = parser2.parse;\n try {\n root2 = parser2(css, opts);\n } catch (error) {\n this.processed = true;\n this.error = error;\n }\n if (root2 && !root2[my$3]) {\n Container$1$1.rebuild(root2);\n }\n }\n this.result = new Result$2$1(processor2, root2, opts);\n this.helpers = { ...postcss$2$1, postcss: postcss$2$1, result: this.result };\n this.plugins = this.processor.plugins.map((plugin22) => {\n if (typeof plugin22 === \"object\" && plugin22.prepare) {\n return { ...plugin22, ...plugin22.prepare(this.result) };\n } else {\n return plugin22;\n }\n });\n }\n async() {\n if (this.error) return Promise.reject(this.error);\n if (this.processed) return Promise.resolve(this.result);\n if (!this.processing) {\n this.processing = this.runAsync();\n }\n return this.processing;\n }\n catch(onRejected) {\n return this.async().catch(onRejected);\n }\n finally(onFinally) {\n return this.async().then(onFinally, onFinally);\n }\n getAsyncError() {\n throw new Error(\"Use process(css).then(cb) to work with async plugins\");\n }\n handleError(error, node2) {\n let plugin22 = this.result.lastPlugin;\n try {\n if (node2) node2.addToError(error);\n this.error = error;\n if (error.name === \"CssSyntaxError\" && !error.plugin) {\n error.plugin = plugin22.postcssPlugin;\n error.setMessage();\n } else if (plugin22.postcssVersion) {\n if (process.env.NODE_ENV !== \"production\") {\n let pluginName = plugin22.postcssPlugin;\n let pluginVer = plugin22.postcssVersion;\n let runtimeVer = this.result.processor.version;\n let a2 = pluginVer.split(\".\");\n let b = runtimeVer.split(\".\");\n if (a2[0] !== b[0] || parseInt(a2[1]) > parseInt(b[1])) {\n console.error(\n \"Unknown error from PostCSS plugin. Your current PostCSS version is \" + runtimeVer + \", but \" + pluginName + \" uses \" + pluginVer + \". Perhaps this is the source of the error below.\"\n );\n }\n }\n }\n } catch (err) {\n if (console && console.error) console.error(err);\n }\n return error;\n }\n prepareVisitors() {\n this.listeners = {};\n let add = (plugin22, type, cb) => {\n if (!this.listeners[type]) this.listeners[type] = [];\n this.listeners[type].push([plugin22, cb]);\n };\n for (let plugin22 of this.plugins) {\n if (typeof plugin22 === \"object\") {\n for (let event in plugin22) {\n if (!PLUGIN_PROPS$1[event] && /^[A-Z]/.test(event)) {\n throw new Error(\n `Unknown event ${event} in ${plugin22.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`\n );\n }\n if (!NOT_VISITORS$1[event]) {\n if (typeof plugin22[event] === \"object\") {\n for (let filter in plugin22[event]) {\n if (filter === \"*\") {\n add(plugin22, event, plugin22[event][filter]);\n } else {\n add(\n plugin22,\n event + \"-\" + filter.toLowerCase(),\n plugin22[event][filter]\n );\n }\n }\n } else if (typeof plugin22[event] === \"function\") {\n add(plugin22, event, plugin22[event]);\n }\n }\n }\n }\n }\n this.hasListener = Object.keys(this.listeners).length > 0;\n }\n async runAsync() {\n this.plugin = 0;\n for (let i2 = 0; i2 < this.plugins.length; i2++) {\n let plugin22 = this.plugins[i2];\n let promise = this.runOnRoot(plugin22);\n if (isPromise$1(promise)) {\n try {\n await promise;\n } catch (error) {\n throw this.handleError(error);\n }\n }\n }\n this.prepareVisitors();\n if (this.hasListener) {\n let root2 = this.result.root;\n while (!root2[isClean$3]) {\n root2[isClean$3] = true;\n let stack = [toStack$1(root2)];\n while (stack.length > 0) {\n let promise = this.visitTick(stack);\n if (isPromise$1(promise)) {\n try {\n await promise;\n } catch (e2) {\n let node2 = stack[stack.length - 1].node;\n throw this.handleError(e2, node2);\n }\n }\n }\n }\n if (this.listeners.OnceExit) {\n for (let [plugin22, visitor] of this.listeners.OnceExit) {\n this.result.lastPlugin = plugin22;\n try {\n if (root2.type === \"document\") {\n let roots = root2.nodes.map(\n (subRoot) => visitor(subRoot, this.helpers)\n );\n await Promise.all(roots);\n } else {\n await visitor(root2, this.helpers);\n }\n } catch (e2) {\n throw this.handleError(e2);\n }\n }\n }\n }\n this.processed = true;\n return this.stringify();\n }\n runOnRoot(plugin22) {\n this.result.lastPlugin = plugin22;\n try {\n if (typeof plugin22 === \"object\" && plugin22.Once) {\n if (this.result.root.type === \"document\") {\n let roots = this.result.root.nodes.map(\n (root2) => plugin22.Once(root2, this.helpers)\n );\n if (isPromise$1(roots[0])) {\n return Promise.all(roots);\n }\n return roots;\n }\n return plugin22.Once(this.result.root, this.helpers);\n } else if (typeof plugin22 === \"function\") {\n return plugin22(this.result.root, this.result);\n }\n } catch (error) {\n throw this.handleError(error);\n }\n }\n stringify() {\n if (this.error) throw this.error;\n if (this.stringified) return this.result;\n this.stringified = true;\n this.sync();\n let opts = this.result.opts;\n let str = stringify$2$1;\n if (opts.syntax) str = opts.syntax.stringify;\n if (opts.stringifier) str = opts.stringifier;\n if (str.stringify) str = str.stringify;\n let map = new MapGenerator$1$1(str, this.result.root, this.result.opts);\n let data = map.generate();\n this.result.css = data[0];\n this.result.map = data[1];\n return this.result;\n }\n sync() {\n if (this.error) throw this.error;\n if (this.processed) return this.result;\n this.processed = true;\n if (this.processing) {\n throw this.getAsyncError();\n }\n for (let plugin22 of this.plugins) {\n let promise = this.runOnRoot(plugin22);\n if (isPromise$1(promise)) {\n throw this.getAsyncError();\n }\n }\n this.prepareVisitors();\n if (this.hasListener) {\n let root2 = this.result.root;\n while (!root2[isClean$3]) {\n root2[isClean$3] = true;\n this.walkSync(root2);\n }\n if (this.listeners.OnceExit) {\n if (root2.type === \"document\") {\n for (let subRoot of root2.nodes) {\n this.visitSync(this.listeners.OnceExit, subRoot);\n }\n } else {\n this.visitSync(this.listeners.OnceExit, root2);\n }\n }\n }\n return this.result;\n }\n then(onFulfilled, onRejected) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!(\"from\" in this.opts)) {\n warnOnce$1$1(\n \"Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.\"\n );\n }\n }\n return this.async().then(onFulfilled, onRejected);\n }\n toString() {\n return this.css;\n }\n visitSync(visitors, node2) {\n for (let [plugin22, visitor] of visitors) {\n this.result.lastPlugin = plugin22;\n let promise;\n try {\n promise = visitor(node2, this.helpers);\n } catch (e2) {\n throw this.handleError(e2, node2.proxyOf);\n }\n if (node2.type !== \"root\" && node2.type !== \"document\" && !node2.parent) {\n return true;\n }\n if (isPromise$1(promise)) {\n throw this.getAsyncError();\n }\n }\n }\n visitTick(stack) {\n let visit2 = stack[stack.length - 1];\n let { node: node2, visitors } = visit2;\n if (node2.type !== \"root\" && node2.type !== \"document\" && !node2.parent) {\n stack.pop();\n return;\n }\n if (visitors.length > 0 && visit2.visitorIndex < visitors.length) {\n let [plugin22, visitor] = visitors[visit2.visitorIndex];\n visit2.visitorIndex += 1;\n if (visit2.visitorIndex === visitors.length) {\n visit2.visitors = [];\n visit2.visitorIndex = 0;\n }\n this.result.lastPlugin = plugin22;\n try {\n return visitor(node2.toProxy(), this.helpers);\n } catch (e2) {\n throw this.handleError(e2, node2);\n }\n }\n if (visit2.iterator !== 0) {\n let iterator = visit2.iterator;\n let child;\n while (child = node2.nodes[node2.indexes[iterator]]) {\n node2.indexes[iterator] += 1;\n if (!child[isClean$3]) {\n child[isClean$3] = true;\n stack.push(toStack$1(child));\n return;\n }\n }\n visit2.iterator = 0;\n delete node2.indexes[iterator];\n }\n let events = visit2.events;\n while (visit2.eventIndex < events.length) {\n let event = events[visit2.eventIndex];\n visit2.eventIndex += 1;\n if (event === CHILDREN$1) {\n if (node2.nodes && node2.nodes.length) {\n node2[isClean$3] = true;\n visit2.iterator = node2.getIterator();\n }\n return;\n } else if (this.listeners[event]) {\n visit2.visitors = this.listeners[event];\n return;\n }\n }\n stack.pop();\n }\n walkSync(node2) {\n node2[isClean$3] = true;\n let events = getEvents$1(node2);\n for (let event of events) {\n if (event === CHILDREN$1) {\n if (node2.nodes) {\n node2.each((child) => {\n if (!child[isClean$3]) this.walkSync(child);\n });\n }\n } else {\n let visitors = this.listeners[event];\n if (visitors) {\n if (this.visitSync(visitors, node2.toProxy())) return;\n }\n }\n }\n }\n warnings() {\n return this.sync().warnings();\n }\n get content() {\n return this.stringify().content;\n }\n get css() {\n return this.stringify().css;\n }\n get map() {\n return this.stringify().map;\n }\n get messages() {\n return this.sync().messages;\n }\n get opts() {\n return this.result.opts;\n }\n get processor() {\n return this.result.processor;\n }\n get root() {\n return this.sync().root;\n }\n get [Symbol.toStringTag]() {\n return \"LazyResult\";\n }\n};\nLazyResult$2$1.registerPostcss = (dependant) => {\n postcss$2$1 = dependant;\n};\nvar lazyResult$1 = LazyResult$2$1;\nLazyResult$2$1.default = LazyResult$2$1;\nRoot$3$1.registerLazyResult(LazyResult$2$1);\nDocument$2$1.registerLazyResult(LazyResult$2$1);\nlet MapGenerator2$1 = mapGenerator$1;\nlet stringify$1$1 = stringify_1$1;\nlet warnOnce2$1 = warnOnce$2$1;\nlet parse$1$1 = parse_1$1;\nconst Result$1$1 = result$1;\nlet NoWorkResult$1$1 = class NoWorkResult {\n constructor(processor2, css, opts) {\n css = css.toString();\n this.stringified = false;\n this._processor = processor2;\n this._css = css;\n this._opts = opts;\n this._map = void 0;\n let root2;\n let str = stringify$1$1;\n this.result = new Result$1$1(this._processor, root2, this._opts);\n this.result.css = css;\n let self = this;\n Object.defineProperty(this.result, \"root\", {\n get() {\n return self.root;\n }\n });\n let map = new MapGenerator2$1(str, root2, this._opts, css);\n if (map.isMap()) {\n let [generatedCSS, generatedMap] = map.generate();\n if (generatedCSS) {\n this.result.css = generatedCSS;\n }\n if (generatedMap) {\n this.result.map = generatedMap;\n }\n } else {\n map.clearAnnotation();\n this.result.css = map.css;\n }\n }\n async() {\n if (this.error) return Promise.reject(this.error);\n return Promise.resolve(this.result);\n }\n catch(onRejected) {\n return this.async().catch(onRejected);\n }\n finally(onFinally) {\n return this.async().then(onFinally, onFinally);\n }\n sync() {\n if (this.error) throw this.error;\n return this.result;\n }\n then(onFulfilled, onRejected) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!(\"from\" in this._opts)) {\n warnOnce2$1(\n \"Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.\"\n );\n }\n }\n return this.async().then(onFulfilled, onRejected);\n }\n toString() {\n return this._css;\n }\n warnings() {\n return [];\n }\n get content() {\n return this.result.css;\n }\n get css() {\n return this.result.css;\n }\n get map() {\n return this.result.map;\n }\n get messages() {\n return [];\n }\n get opts() {\n return this.result.opts;\n }\n get processor() {\n return this.result.processor;\n }\n get root() {\n if (this._root) {\n return this._root;\n }\n let root2;\n let parser2 = parse$1$1;\n try {\n root2 = parser2(this._css, this._opts);\n } catch (error) {\n this.error = error;\n }\n if (this.error) {\n throw this.error;\n } else {\n this._root = root2;\n return root2;\n }\n }\n get [Symbol.toStringTag]() {\n return \"NoWorkResult\";\n }\n};\nvar noWorkResult$1 = NoWorkResult$1$1;\nNoWorkResult$1$1.default = NoWorkResult$1$1;\nlet NoWorkResult2$1 = noWorkResult$1;\nlet LazyResult$1$1 = lazyResult$1;\nlet Document$1$1 = document$1$1;\nlet Root$2$1 = root$1;\nlet Processor$1$1 = class Processor {\n constructor(plugins = []) {\n this.version = \"8.4.38\";\n this.plugins = this.normalize(plugins);\n }\n normalize(plugins) {\n let normalized = [];\n for (let i2 of plugins) {\n if (i2.postcss === true) {\n i2 = i2();\n } else if (i2.postcss) {\n i2 = i2.postcss;\n }\n if (typeof i2 === \"object\" && Array.isArray(i2.plugins)) {\n normalized = normalized.concat(i2.plugins);\n } else if (typeof i2 === \"object\" && i2.postcssPlugin) {\n normalized.push(i2);\n } else if (typeof i2 === \"function\") {\n normalized.push(i2);\n } else if (typeof i2 === \"object\" && (i2.parse || i2.stringify)) {\n if (process.env.NODE_ENV !== \"production\") {\n throw new Error(\n \"PostCSS syntaxes cannot be used as plugins. Instead, please use one of the syntax/parser/stringifier options as outlined in your PostCSS runner documentation.\"\n );\n }\n } else {\n throw new Error(i2 + \" is not a PostCSS plugin\");\n }\n }\n return normalized;\n }\n process(css, opts = {}) {\n if (!this.plugins.length && !opts.parser && !opts.stringifier && !opts.syntax) {\n return new NoWorkResult2$1(this, css, opts);\n } else {\n return new LazyResult$1$1(this, css, opts);\n }\n }\n use(plugin22) {\n this.plugins = this.plugins.concat(this.normalize([plugin22]));\n return this;\n }\n};\nvar processor$1 = Processor$1$1;\nProcessor$1$1.default = Processor$1$1;\nRoot$2$1.registerProcessor(Processor$1$1);\nDocument$1$1.registerProcessor(Processor$1$1);\nlet Declaration$1$1 = declaration$1;\nlet PreviousMap2$1 = previousMap$1;\nlet Comment$1$1 = comment$1;\nlet AtRule$1$1 = atRule$1;\nlet Input$1$1 = input$1;\nlet Root$1$1 = root$1;\nlet Rule$1$1 = rule$1;\nfunction fromJSON$1$1(json, inputs) {\n if (Array.isArray(json)) return json.map((n2) => fromJSON$1$1(n2));\n let { inputs: ownInputs, ...defaults } = json;\n if (ownInputs) {\n inputs = [];\n for (let input2 of ownInputs) {\n let inputHydrated = { ...input2, __proto__: Input$1$1.prototype };\n if (inputHydrated.map) {\n inputHydrated.map = {\n ...inputHydrated.map,\n __proto__: PreviousMap2$1.prototype\n };\n }\n inputs.push(inputHydrated);\n }\n }\n if (defaults.nodes) {\n defaults.nodes = json.nodes.map((n2) => fromJSON$1$1(n2, inputs));\n }\n if (defaults.source) {\n let { inputId, ...source } = defaults.source;\n defaults.source = source;\n if (inputId != null) {\n defaults.source.input = inputs[inputId];\n }\n }\n if (defaults.type === \"root\") {\n return new Root$1$1(defaults);\n } else if (defaults.type === \"decl\") {\n return new Declaration$1$1(defaults);\n } else if (defaults.type === \"rule\") {\n return new Rule$1$1(defaults);\n } else if (defaults.type === \"comment\") {\n return new Comment$1$1(defaults);\n } else if (defaults.type === \"atrule\") {\n return new AtRule$1$1(defaults);\n } else {\n throw new Error(\"Unknown node type: \" + json.type);\n }\n}\nvar fromJSON_1$1 = fromJSON$1$1;\nfromJSON$1$1.default = fromJSON$1$1;\nlet CssSyntaxError2$1 = cssSyntaxError$1;\nlet Declaration2$1 = declaration$1;\nlet LazyResult2$1 = lazyResult$1;\nlet Container2$1 = container$1;\nlet Processor2$1 = processor$1;\nlet stringify$5 = stringify_1$1;\nlet fromJSON$2 = fromJSON_1$1;\nlet Document22 = document$1$1;\nlet Warning2$1 = warning$1;\nlet Comment2$1 = comment$1;\nlet AtRule2$1 = atRule$1;\nlet Result2$1 = result$1;\nlet Input2$1 = input$1;\nlet parse$5 = parse_1$1;\nlet list$3 = list_1$1;\nlet Rule2$1 = rule$1;\nlet Root2$1 = root$1;\nlet Node2$1 = node$1;\nfunction postcss$3(...plugins) {\n if (plugins.length === 1 && Array.isArray(plugins[0])) {\n plugins = plugins[0];\n }\n return new Processor2$1(plugins);\n}\npostcss$3.plugin = function plugin(name, initializer) {\n let warningPrinted = false;\n function creator(...args) {\n if (console && console.warn && !warningPrinted) {\n warningPrinted = true;\n console.warn(\n name + \": postcss.plugin was deprecated. Migration guide:\\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration\"\n );\n if (process.env.LANG && process.env.LANG.startsWith(\"cn\")) {\n console.warn(\n name + \": 里面 postcss.plugin 被弃用. 迁移指南:\\nhttps://www.w3ctech.com/topic/2226\"\n );\n }\n }\n let transformer = initializer(...args);\n transformer.postcssPlugin = name;\n transformer.postcssVersion = new Processor2$1().version;\n return transformer;\n }\n let cache;\n Object.defineProperty(creator, \"postcss\", {\n get() {\n if (!cache) cache = creator();\n return cache;\n }\n });\n creator.process = function(css, processOpts, pluginOpts) {\n return postcss$3([creator(pluginOpts)]).process(css, processOpts);\n };\n return creator;\n};\npostcss$3.stringify = stringify$5;\npostcss$3.parse = parse$5;\npostcss$3.fromJSON = fromJSON$2;\npostcss$3.list = list$3;\npostcss$3.comment = (defaults) => new Comment2$1(defaults);\npostcss$3.atRule = (defaults) => new AtRule2$1(defaults);\npostcss$3.decl = (defaults) => new Declaration2$1(defaults);\npostcss$3.rule = (defaults) => new Rule2$1(defaults);\npostcss$3.root = (defaults) => new Root2$1(defaults);\npostcss$3.document = (defaults) => new Document22(defaults);\npostcss$3.CssSyntaxError = CssSyntaxError2$1;\npostcss$3.Declaration = Declaration2$1;\npostcss$3.Container = Container2$1;\npostcss$3.Processor = Processor2$1;\npostcss$3.Document = Document22;\npostcss$3.Comment = Comment2$1;\npostcss$3.Warning = Warning2$1;\npostcss$3.AtRule = AtRule2$1;\npostcss$3.Result = Result2$1;\npostcss$3.Input = Input2$1;\npostcss$3.Rule = Rule2$1;\npostcss$3.Root = Root2$1;\npostcss$3.Node = Node2$1;\nLazyResult2$1.registerPostcss(postcss$3);\nvar postcss_1$1 = postcss$3;\npostcss$3.default = postcss$3;\nconst postcss$1$1 = /* @__PURE__ */ getDefaultExportFromCjs$1(postcss_1$1);\npostcss$1$1.stringify;\npostcss$1$1.fromJSON;\npostcss$1$1.plugin;\npostcss$1$1.parse;\npostcss$1$1.list;\npostcss$1$1.document;\npostcss$1$1.comment;\npostcss$1$1.atRule;\npostcss$1$1.rule;\npostcss$1$1.decl;\npostcss$1$1.root;\npostcss$1$1.CssSyntaxError;\npostcss$1$1.Declaration;\npostcss$1$1.Container;\npostcss$1$1.Processor;\npostcss$1$1.Document;\npostcss$1$1.Comment;\npostcss$1$1.Warning;\npostcss$1$1.AtRule;\npostcss$1$1.Result;\npostcss$1$1.Input;\npostcss$1$1.Rule;\npostcss$1$1.Root;\npostcss$1$1.Node;\nvar __defProp2 = Object.defineProperty;\nvar __defNormalProp2 = (obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField2 = (obj, key, value) => __defNormalProp2(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nfunction getDefaultExportFromCjs(x2) {\n return x2 && x2.__esModule && Object.prototype.hasOwnProperty.call(x2, \"default\") ? x2[\"default\"] : x2;\n}\nfunction getAugmentedNamespace(n2) {\n if (n2.__esModule) return n2;\n var f2 = n2.default;\n if (typeof f2 == \"function\") {\n var a2 = function a22() {\n if (this instanceof a22) {\n return Reflect.construct(f2, arguments, this.constructor);\n }\n return f2.apply(this, arguments);\n };\n a2.prototype = f2.prototype;\n } else a2 = {};\n Object.defineProperty(a2, \"__esModule\", { value: true });\n Object.keys(n2).forEach(function(k) {\n var d = Object.getOwnPropertyDescriptor(n2, k);\n Object.defineProperty(a2, k, d.get ? d : {\n enumerable: true,\n get: function() {\n return n2[k];\n }\n });\n });\n return a2;\n}\nvar picocolors_browser = { exports: {} };\nvar x = String;\nvar create = function() {\n return { isColorSupported: false, reset: x, bold: x, dim: x, italic: x, underline: x, inverse: x, hidden: x, strikethrough: x, black: x, red: x, green: x, yellow: x, blue: x, magenta: x, cyan: x, white: x, gray: x, bgBlack: x, bgRed: x, bgGreen: x, bgYellow: x, bgBlue: x, bgMagenta: x, bgCyan: x, bgWhite: x };\n};\npicocolors_browser.exports = create();\npicocolors_browser.exports.createColors = create;\nvar picocolors_browserExports = picocolors_browser.exports;\nconst __viteBrowserExternal = {};\nconst __viteBrowserExternal$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n default: __viteBrowserExternal\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst require$$2 = /* @__PURE__ */ getAugmentedNamespace(__viteBrowserExternal$1);\nlet pico = picocolors_browserExports;\nlet terminalHighlight$1 = require$$2;\nlet CssSyntaxError$3 = class CssSyntaxError2 extends Error {\n constructor(message, line, column, source, file, plugin22) {\n super(message);\n this.name = \"CssSyntaxError\";\n this.reason = message;\n if (file) {\n this.file = file;\n }\n if (source) {\n this.source = source;\n }\n if (plugin22) {\n this.plugin = plugin22;\n }\n if (typeof line !== \"undefined\" && typeof column !== \"undefined\") {\n if (typeof line === \"number\") {\n this.line = line;\n this.column = column;\n } else {\n this.line = line.line;\n this.column = line.column;\n this.endLine = column.line;\n this.endColumn = column.column;\n }\n }\n this.setMessage();\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, CssSyntaxError2);\n }\n }\n setMessage() {\n this.message = this.plugin ? this.plugin + \": \" : \"\";\n this.message += this.file ? this.file : \"<css input>\";\n if (typeof this.line !== \"undefined\") {\n this.message += \":\" + this.line + \":\" + this.column;\n }\n this.message += \": \" + this.reason;\n }\n showSourceCode(color) {\n if (!this.source) return \"\";\n let css = this.source;\n if (color == null) color = pico.isColorSupported;\n if (terminalHighlight$1) {\n if (color) css = terminalHighlight$1(css);\n }\n let lines = css.split(/\\r?\\n/);\n let start = Math.max(this.line - 3, 0);\n let end = Math.min(this.line + 2, lines.length);\n let maxWidth = String(end).length;\n let mark, aside;\n if (color) {\n let { bold, gray, red } = pico.createColors(true);\n mark = (text) => bold(red(text));\n aside = (text) => gray(text);\n } else {\n mark = aside = (str) => str;\n }\n return lines.slice(start, end).map((line, index2) => {\n let number = start + 1 + index2;\n let gutter = \" \" + (\" \" + number).slice(-maxWidth) + \" | \";\n if (number === this.line) {\n let spacing = aside(gutter.replace(/\\d/g, \" \")) + line.slice(0, this.column - 1).replace(/[^\\t]/g, \" \");\n return mark(\">\") + aside(gutter) + line + \"\\n \" + spacing + mark(\"^\");\n }\n return \" \" + aside(gutter) + line;\n }).join(\"\\n\");\n }\n toString() {\n let code = this.showSourceCode();\n if (code) {\n code = \"\\n\\n\" + code + \"\\n\";\n }\n return this.name + \": \" + this.message + code;\n }\n};\nvar cssSyntaxError = CssSyntaxError$3;\nCssSyntaxError$3.default = CssSyntaxError$3;\nvar symbols = {};\nsymbols.isClean = Symbol(\"isClean\");\nsymbols.my = Symbol(\"my\");\nconst DEFAULT_RAW = {\n after: \"\\n\",\n beforeClose: \"\\n\",\n beforeComment: \"\\n\",\n beforeDecl: \"\\n\",\n beforeOpen: \" \",\n beforeRule: \"\\n\",\n colon: \": \",\n commentLeft: \" \",\n commentRight: \" \",\n emptyBody: \"\",\n indent: \" \",\n semicolon: false\n};\nfunction capitalize(str) {\n return str[0].toUpperCase() + str.slice(1);\n}\nlet Stringifier$2 = class Stringifier2 {\n constructor(builder) {\n this.builder = builder;\n }\n atrule(node2, semicolon) {\n let name = \"@\" + node2.name;\n let params = node2.params ? this.rawValue(node2, \"params\") : \"\";\n if (typeof node2.raws.afterName !== \"undefined\") {\n name += node2.raws.afterName;\n } else if (params) {\n name += \" \";\n }\n if (node2.nodes) {\n this.block(node2, name + params);\n } else {\n let end = (node2.raws.between || \"\") + (semicolon ? \";\" : \"\");\n this.builder(name + params + end, node2);\n }\n }\n beforeAfter(node2, detect) {\n let value;\n if (node2.type === \"decl\") {\n value = this.raw(node2, null, \"beforeDecl\");\n } else if (node2.type === \"comment\") {\n value = this.raw(node2, null, \"beforeComment\");\n } else if (detect === \"before\") {\n value = this.raw(node2, null, \"beforeRule\");\n } else {\n value = this.raw(node2, null, \"beforeClose\");\n }\n let buf = node2.parent;\n let depth = 0;\n while (buf && buf.type !== \"root\") {\n depth += 1;\n buf = buf.parent;\n }\n if (value.includes(\"\\n\")) {\n let indent = this.raw(node2, null, \"indent\");\n if (indent.length) {\n for (let step = 0; step < depth; step++) value += indent;\n }\n }\n return value;\n }\n block(node2, start) {\n let between = this.raw(node2, \"between\", \"beforeOpen\");\n this.builder(start + between + \"{\", node2, \"start\");\n let after;\n if (node2.nodes && node2.nodes.length) {\n this.body(node2);\n after = this.raw(node2, \"after\");\n } else {\n after = this.raw(node2, \"after\", \"emptyBody\");\n }\n if (after) this.builder(after);\n this.builder(\"}\", node2, \"end\");\n }\n body(node2) {\n let last = node2.nodes.length - 1;\n while (last > 0) {\n if (node2.nodes[last].type !== \"comment\") break;\n last -= 1;\n }\n let semicolon = this.raw(node2, \"semicolon\");\n for (let i2 = 0; i2 < node2.nodes.length; i2++) {\n let child = node2.nodes[i2];\n let before = this.raw(child, \"before\");\n if (before) this.builder(before);\n this.stringify(child, last !== i2 || semicolon);\n }\n }\n comment(node2) {\n let left = this.raw(node2, \"left\", \"commentLeft\");\n let right = this.raw(node2, \"right\", \"commentRight\");\n this.builder(\"/*\" + left + node2.text + right + \"*/\", node2);\n }\n decl(node2, semicolon) {\n let between = this.raw(node2, \"between\", \"colon\");\n let string = node2.prop + between + this.rawValue(node2, \"value\");\n if (node2.important) {\n string += node2.raws.important || \" !important\";\n }\n if (semicolon) string += \";\";\n this.builder(string, node2);\n }\n document(node2) {\n this.body(node2);\n }\n raw(node2, own, detect) {\n let value;\n if (!detect) detect = own;\n if (own) {\n value = node2.raws[own];\n if (typeof value !== \"undefined\") return value;\n }\n let parent = node2.parent;\n if (detect === \"before\") {\n if (!parent || parent.type === \"root\" && parent.first === node2) {\n return \"\";\n }\n if (parent && parent.type === \"document\") {\n return \"\";\n }\n }\n if (!parent) return DEFAULT_RAW[detect];\n let root2 = node2.root();\n if (!root2.rawCache) root2.rawCache = {};\n if (typeof root2.rawCache[detect] !== \"undefined\") {\n return root2.rawCache[detect];\n }\n if (detect === \"before\" || detect === \"after\") {\n return this.beforeAfter(node2, detect);\n } else {\n let method = \"raw\" + capitalize(detect);\n if (this[method]) {\n value = this[method](root2, node2);\n } else {\n root2.walk((i2) => {\n value = i2.raws[own];\n if (typeof value !== \"undefined\") return false;\n });\n }\n }\n if (typeof value === \"undefined\") value = DEFAULT_RAW[detect];\n root2.rawCache[detect] = value;\n return value;\n }\n rawBeforeClose(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.nodes && i2.nodes.length > 0) {\n if (typeof i2.raws.after !== \"undefined\") {\n value = i2.raws.after;\n if (value.includes(\"\\n\")) {\n value = value.replace(/[^\\n]+$/, \"\");\n }\n return false;\n }\n }\n });\n if (value) value = value.replace(/\\S/g, \"\");\n return value;\n }\n rawBeforeComment(root2, node2) {\n let value;\n root2.walkComments((i2) => {\n if (typeof i2.raws.before !== \"undefined\") {\n value = i2.raws.before;\n if (value.includes(\"\\n\")) {\n value = value.replace(/[^\\n]+$/, \"\");\n }\n return false;\n }\n });\n if (typeof value === \"undefined\") {\n value = this.raw(node2, null, \"beforeDecl\");\n } else if (value) {\n value = value.replace(/\\S/g, \"\");\n }\n return value;\n }\n rawBeforeDecl(root2, node2) {\n let value;\n root2.walkDecls((i2) => {\n if (typeof i2.raws.before !== \"undefined\") {\n value = i2.raws.before;\n if (value.includes(\"\\n\")) {\n value = value.replace(/[^\\n]+$/, \"\");\n }\n return false;\n }\n });\n if (typeof value === \"undefined\") {\n value = this.raw(node2, null, \"beforeRule\");\n } else if (value) {\n value = value.replace(/\\S/g, \"\");\n }\n return value;\n }\n rawBeforeOpen(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.type !== \"decl\") {\n value = i2.raws.between;\n if (typeof value !== \"undefined\") return false;\n }\n });\n return value;\n }\n rawBeforeRule(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.nodes && (i2.parent !== root2 || root2.first !== i2)) {\n if (typeof i2.raws.before !== \"undefined\") {\n value = i2.raws.before;\n if (value.includes(\"\\n\")) {\n value = value.replace(/[^\\n]+$/, \"\");\n }\n return false;\n }\n }\n });\n if (value) value = value.replace(/\\S/g, \"\");\n return value;\n }\n rawColon(root2) {\n let value;\n root2.walkDecls((i2) => {\n if (typeof i2.raws.between !== \"undefined\") {\n value = i2.raws.between.replace(/[^\\s:]/g, \"\");\n return false;\n }\n });\n return value;\n }\n rawEmptyBody(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.nodes && i2.nodes.length === 0) {\n value = i2.raws.after;\n if (typeof value !== \"undefined\") return false;\n }\n });\n return value;\n }\n rawIndent(root2) {\n if (root2.raws.indent) return root2.raws.indent;\n let value;\n root2.walk((i2) => {\n let p = i2.parent;\n if (p && p !== root2 && p.parent && p.parent === root2) {\n if (typeof i2.raws.before !== \"undefined\") {\n let parts = i2.raws.before.split(\"\\n\");\n value = parts[parts.length - 1];\n value = value.replace(/\\S/g, \"\");\n return false;\n }\n }\n });\n return value;\n }\n rawSemicolon(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.nodes && i2.nodes.length && i2.last.type === \"decl\") {\n value = i2.raws.semicolon;\n if (typeof value !== \"undefined\") return false;\n }\n });\n return value;\n }\n rawValue(node2, prop) {\n let value = node2[prop];\n let raw = node2.raws[prop];\n if (raw && raw.value === value) {\n return raw.raw;\n }\n return value;\n }\n root(node2) {\n this.body(node2);\n if (node2.raws.after) this.builder(node2.raws.after);\n }\n rule(node2) {\n this.block(node2, this.rawValue(node2, \"selector\"));\n if (node2.raws.ownSemicolon) {\n this.builder(node2.raws.ownSemicolon, node2, \"end\");\n }\n }\n stringify(node2, semicolon) {\n if (!this[node2.type]) {\n throw new Error(\n \"Unknown AST node type \" + node2.type + \". Maybe you need to change PostCSS stringifier.\"\n );\n }\n this[node2.type](node2, semicolon);\n }\n};\nvar stringifier = Stringifier$2;\nStringifier$2.default = Stringifier$2;\nlet Stringifier$1 = stringifier;\nfunction stringify$4(node2, builder) {\n let str = new Stringifier$1(builder);\n str.stringify(node2);\n}\nvar stringify_1 = stringify$4;\nstringify$4.default = stringify$4;\nlet { isClean: isClean$2, my: my$2 } = symbols;\nlet CssSyntaxError$2 = cssSyntaxError;\nlet Stringifier22 = stringifier;\nlet stringify$3 = stringify_1;\nfunction cloneNode(obj, parent) {\n let cloned = new obj.constructor();\n for (let i2 in obj) {\n if (!Object.prototype.hasOwnProperty.call(obj, i2)) {\n continue;\n }\n if (i2 === \"proxyCache\") continue;\n let value = obj[i2];\n let type = typeof value;\n if (i2 === \"parent\" && type === \"object\") {\n if (parent) cloned[i2] = parent;\n } else if (i2 === \"source\") {\n cloned[i2] = value;\n } else if (Array.isArray(value)) {\n cloned[i2] = value.map((j) => cloneNode(j, cloned));\n } else {\n if (type === \"object\" && value !== null) value = cloneNode(value);\n cloned[i2] = value;\n }\n }\n return cloned;\n}\nlet Node$4 = class Node3 {\n constructor(defaults = {}) {\n this.raws = {};\n this[isClean$2] = false;\n this[my$2] = true;\n for (let name in defaults) {\n if (name === \"nodes\") {\n this.nodes = [];\n for (let node2 of defaults[name]) {\n if (typeof node2.clone === \"function\") {\n this.append(node2.clone());\n } else {\n this.append(node2);\n }\n }\n } else {\n this[name] = defaults[name];\n }\n }\n }\n addToError(error) {\n error.postcssNode = this;\n if (error.stack && this.source && /\\n\\s{4}at /.test(error.stack)) {\n let s2 = this.source;\n error.stack = error.stack.replace(\n /\\n\\s{4}at /,\n `$&${s2.input.from}:${s2.start.line}:${s2.start.column}$&`\n );\n }\n return error;\n }\n after(add) {\n this.parent.insertAfter(this, add);\n return this;\n }\n assign(overrides = {}) {\n for (let name in overrides) {\n this[name] = overrides[name];\n }\n return this;\n }\n before(add) {\n this.parent.insertBefore(this, add);\n return this;\n }\n cleanRaws(keepBetween) {\n delete this.raws.before;\n delete this.raws.after;\n if (!keepBetween) delete this.raws.between;\n }\n clone(overrides = {}) {\n let cloned = cloneNode(this);\n for (let name in overrides) {\n cloned[name] = overrides[name];\n }\n return cloned;\n }\n cloneAfter(overrides = {}) {\n let cloned = this.clone(overrides);\n this.parent.insertAfter(this, cloned);\n return cloned;\n }\n cloneBefore(overrides = {}) {\n let cloned = this.clone(overrides);\n this.parent.insertBefore(this, cloned);\n return cloned;\n }\n error(message, opts = {}) {\n if (this.source) {\n let { end, start } = this.rangeBy(opts);\n return this.source.input.error(\n message,\n { column: start.column, line: start.line },\n { column: end.column, line: end.line },\n opts\n );\n }\n return new CssSyntaxError$2(message);\n }\n getProxyProcessor() {\n return {\n get(node2, prop) {\n if (prop === \"proxyOf\") {\n return node2;\n } else if (prop === \"root\") {\n return () => node2.root().toProxy();\n } else {\n return node2[prop];\n }\n },\n set(node2, prop, value) {\n if (node2[prop] === value) return true;\n node2[prop] = value;\n if (prop === \"prop\" || prop === \"value\" || prop === \"name\" || prop === \"params\" || prop === \"important\" || /* c8 ignore next */\n prop === \"text\") {\n node2.markDirty();\n }\n return true;\n }\n };\n }\n markDirty() {\n if (this[isClean$2]) {\n this[isClean$2] = false;\n let next = this;\n while (next = next.parent) {\n next[isClean$2] = false;\n }\n }\n }\n next() {\n if (!this.parent) return void 0;\n let index2 = this.parent.index(this);\n return this.parent.nodes[index2 + 1];\n }\n positionBy(opts, stringRepresentation) {\n let pos = this.source.start;\n if (opts.index) {\n pos = this.positionInside(opts.index, stringRepresentation);\n } else if (opts.word) {\n stringRepresentation = this.toString();\n let index2 = stringRepresentation.indexOf(opts.word);\n if (index2 !== -1) pos = this.positionInside(index2, stringRepresentation);\n }\n return pos;\n }\n positionInside(index2, stringRepresentation) {\n let string = stringRepresentation || this.toString();\n let column = this.source.start.column;\n let line = this.source.start.line;\n for (let i2 = 0; i2 < index2; i2++) {\n if (string[i2] === \"\\n\") {\n column = 1;\n line += 1;\n } else {\n column += 1;\n }\n }\n return { column, line };\n }\n prev() {\n if (!this.parent) return void 0;\n let index2 = this.parent.index(this);\n return this.parent.nodes[index2 - 1];\n }\n rangeBy(opts) {\n let start = {\n column: this.source.start.column,\n line: this.source.start.line\n };\n let end = this.source.end ? {\n column: this.source.end.column + 1,\n line: this.source.end.line\n } : {\n column: start.column + 1,\n line: start.line\n };\n if (opts.word) {\n let stringRepresentation = this.toString();\n let index2 = stringRepresentation.indexOf(opts.word);\n if (index2 !== -1) {\n start = this.positionInside(index2, stringRepresentation);\n end = this.positionInside(index2 + opts.word.length, stringRepresentation);\n }\n } else {\n if (opts.start) {\n start = {\n column: opts.start.column,\n line: opts.start.line\n };\n } else if (opts.index) {\n start = this.positionInside(opts.index);\n }\n if (opts.end) {\n end = {\n column: opts.end.column,\n line: opts.end.line\n };\n } else if (typeof opts.endIndex === \"number\") {\n end = this.positionInside(opts.endIndex);\n } else if (opts.index) {\n end = this.positionInside(opts.index + 1);\n }\n }\n if (end.line < start.line || end.line === start.line && end.column <= start.column) {\n end = { column: start.column + 1, line: start.line };\n }\n return { end, start };\n }\n raw(prop, defaultType) {\n let str = new Stringifier22();\n return str.raw(this, prop, defaultType);\n }\n remove() {\n if (this.parent) {\n this.parent.removeChild(this);\n }\n this.parent = void 0;\n return this;\n }\n replaceWith(...nodes) {\n if (this.parent) {\n let bookmark = this;\n let foundSelf = false;\n for (let node2 of nodes) {\n if (node2 === this) {\n foundSelf = true;\n } else if (foundSelf) {\n this.parent.insertAfter(bookmark, node2);\n bookmark = node2;\n } else {\n this.parent.insertBefore(bookmark, node2);\n }\n }\n if (!foundSelf) {\n this.remove();\n }\n }\n return this;\n }\n root() {\n let result2 = this;\n while (result2.parent && result2.parent.type !== \"document\") {\n result2 = result2.parent;\n }\n return result2;\n }\n toJSON(_, inputs) {\n let fixed = {};\n let emitInputs = inputs == null;\n inputs = inputs || /* @__PURE__ */ new Map();\n let inputsNextIndex = 0;\n for (let name in this) {\n if (!Object.prototype.hasOwnProperty.call(this, name)) {\n continue;\n }\n if (name === \"parent\" || name === \"proxyCache\") continue;\n let value = this[name];\n if (Array.isArray(value)) {\n fixed[name] = value.map((i2) => {\n if (typeof i2 === \"object\" && i2.toJSON) {\n return i2.toJSON(null, inputs);\n } else {\n return i2;\n }\n });\n } else if (typeof value === \"object\" && value.toJSON) {\n fixed[name] = value.toJSON(null, inputs);\n } else if (name === \"source\") {\n let inputId = inputs.get(value.input);\n if (inputId == null) {\n inputId = inputsNextIndex;\n inputs.set(value.input, inputsNextIndex);\n inputsNextIndex++;\n }\n fixed[name] = {\n end: value.end,\n inputId,\n start: value.start\n };\n } else {\n fixed[name] = value;\n }\n }\n if (emitInputs) {\n fixed.inputs = [...inputs.keys()].map((input2) => input2.toJSON());\n }\n return fixed;\n }\n toProxy() {\n if (!this.proxyCache) {\n this.proxyCache = new Proxy(this, this.getProxyProcessor());\n }\n return this.proxyCache;\n }\n toString(stringifier2 = stringify$3) {\n if (stringifier2.stringify) stringifier2 = stringifier2.stringify;\n let result2 = \"\";\n stringifier2(this, (i2) => {\n result2 += i2;\n });\n return result2;\n }\n warn(result2, text, opts) {\n let data = { node: this };\n for (let i2 in opts) data[i2] = opts[i2];\n return result2.warn(text, data);\n }\n get proxyOf() {\n return this;\n }\n};\nvar node = Node$4;\nNode$4.default = Node$4;\nlet Node$3 = node;\nlet Declaration$4 = class Declaration2 extends Node$3 {\n constructor(defaults) {\n if (defaults && typeof defaults.value !== \"undefined\" && typeof defaults.value !== \"string\") {\n defaults = { ...defaults, value: String(defaults.value) };\n }\n super(defaults);\n this.type = \"decl\";\n }\n get variable() {\n return this.prop.startsWith(\"--\") || this.prop[0] === \"$\";\n }\n};\nvar declaration = Declaration$4;\nDeclaration$4.default = Declaration$4;\nlet urlAlphabet = \"useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict\";\nlet customAlphabet = (alphabet, defaultSize = 21) => {\n return (size = defaultSize) => {\n let id = \"\";\n let i2 = size;\n while (i2--) {\n id += alphabet[Math.random() * alphabet.length | 0];\n }\n return id;\n };\n};\nlet nanoid$1 = (size = 21) => {\n let id = \"\";\n let i2 = size;\n while (i2--) {\n id += urlAlphabet[Math.random() * 64 | 0];\n }\n return id;\n};\nvar nonSecure = { nanoid: nanoid$1, customAlphabet };\nlet { SourceMapConsumer: SourceMapConsumer$2, SourceMapGenerator: SourceMapGenerator$2 } = require$$2;\nlet { existsSync, readFileSync } = require$$2;\nlet { dirname: dirname$1, join } = require$$2;\nfunction fromBase64(str) {\n if (Buffer) {\n return Buffer.from(str, \"base64\").toString();\n } else {\n return window.atob(str);\n }\n}\nlet PreviousMap$2 = class PreviousMap2 {\n constructor(css, opts) {\n if (opts.map === false) return;\n this.loadAnnotation(css);\n this.inline = this.startWith(this.annotation, \"data:\");\n let prev = opts.map ? opts.map.prev : void 0;\n let text = this.loadMap(opts.from, prev);\n if (!this.mapFile && opts.from) {\n this.mapFile = opts.from;\n }\n if (this.mapFile) this.root = dirname$1(this.mapFile);\n if (text) this.text = text;\n }\n consumer() {\n if (!this.consumerCache) {\n this.consumerCache = new SourceMapConsumer$2(this.text);\n }\n return this.consumerCache;\n }\n decodeInline(text) {\n let baseCharsetUri = /^data:application\\/json;charset=utf-?8;base64,/;\n let baseUri = /^data:application\\/json;base64,/;\n let charsetUri = /^data:application\\/json;charset=utf-?8,/;\n let uri = /^data:application\\/json,/;\n if (charsetUri.test(text) || uri.test(text)) {\n return decodeURIComponent(text.substr(RegExp.lastMatch.length));\n }\n if (baseCharsetUri.test(text) || baseUri.test(text)) {\n return fromBase64(text.substr(RegExp.lastMatch.length));\n }\n let encoding = text.match(/data:application\\/json;([^,]+),/)[1];\n throw new Error(\"Unsupported source map encoding \" + encoding);\n }\n getAnnotationURL(sourceMapString) {\n return sourceMapString.replace(/^\\/\\*\\s*# sourceMappingURL=/, \"\").trim();\n }\n isMap(map) {\n if (typeof map !== \"object\") return false;\n return typeof map.mappings === \"string\" || typeof map._mappings === \"string\" || Array.isArray(map.sections);\n }\n loadAnnotation(css) {\n let comments = css.match(/\\/\\*\\s*# sourceMappingURL=/gm);\n if (!comments) return;\n let start = css.lastIndexOf(comments.pop());\n let end = css.indexOf(\"*/\", start);\n if (start > -1 && end > -1) {\n this.annotation = this.getAnnotationURL(css.substring(start, end));\n }\n }\n loadFile(path) {\n this.root = dirname$1(path);\n if (existsSync(path)) {\n this.mapFile = path;\n return readFileSync(path, \"utf-8\").toString().trim();\n }\n }\n loadMap(file, prev) {\n if (prev === false) return false;\n if (prev) {\n if (typeof prev === \"string\") {\n return prev;\n } else if (typeof prev === \"function\") {\n let prevPath = prev(file);\n if (prevPath) {\n let map = this.loadFile(prevPath);\n if (!map) {\n throw new Error(\n \"Unable to load previous source map: \" + prevPath.toString()\n );\n }\n return map;\n }\n } else if (prev instanceof SourceMapConsumer$2) {\n return SourceMapGenerator$2.fromSourceMap(prev).toString();\n } else if (prev instanceof SourceMapGenerator$2) {\n return prev.toString();\n } else if (this.isMap(prev)) {\n return JSON.stringify(prev);\n } else {\n throw new Error(\n \"Unsupported previous source map format: \" + prev.toString()\n );\n }\n } else if (this.inline) {\n return this.decodeInline(this.annotation);\n } else if (this.annotation) {\n let map = this.annotation;\n if (file) map = join(dirname$1(file), map);\n return this.loadFile(map);\n }\n }\n startWith(string, start) {\n if (!string) return false;\n return string.substr(0, start.length) === start;\n }\n withContent() {\n return !!(this.consumer().sourcesContent && this.consumer().sourcesContent.length > 0);\n }\n};\nvar previousMap = PreviousMap$2;\nPreviousMap$2.default = PreviousMap$2;\nlet { SourceMapConsumer: SourceMapConsumer$1, SourceMapGenerator: SourceMapGenerator$1 } = require$$2;\nlet { fileURLToPath, pathToFileURL: pathToFileURL$1 } = require$$2;\nlet { isAbsolute, resolve: resolve$1 } = require$$2;\nlet { nanoid } = nonSecure;\nlet terminalHighlight = require$$2;\nlet CssSyntaxError$1 = cssSyntaxError;\nlet PreviousMap$1 = previousMap;\nlet fromOffsetCache = Symbol(\"fromOffsetCache\");\nlet sourceMapAvailable$1 = Boolean(SourceMapConsumer$1 && SourceMapGenerator$1);\nlet pathAvailable$1 = Boolean(resolve$1 && isAbsolute);\nlet Input$4 = class Input2 {\n constructor(css, opts = {}) {\n if (css === null || typeof css === \"undefined\" || typeof css === \"object\" && !css.toString) {\n throw new Error(`PostCSS received ${css} instead of CSS string`);\n }\n this.css = css.toString();\n if (this.css[0] === \"\\uFEFF\" || this.css[0] === \"￾\") {\n this.hasBOM = true;\n this.css = this.css.slice(1);\n } else {\n this.hasBOM = false;\n }\n if (opts.from) {\n if (!pathAvailable$1 || /^\\w+:\\/\\//.test(opts.from) || isAbsolute(opts.from)) {\n this.file = opts.from;\n } else {\n this.file = resolve$1(opts.from);\n }\n }\n if (pathAvailable$1 && sourceMapAvailable$1) {\n let map = new PreviousMap$1(this.css, opts);\n if (map.text) {\n this.map = map;\n let file = map.consumer().file;\n if (!this.file && file) this.file = this.mapResolve(file);\n }\n }\n if (!this.file) {\n this.id = \"<input css \" + nanoid(6) + \">\";\n }\n if (this.map) this.map.file = this.from;\n }\n error(message, line, column, opts = {}) {\n let result2, endLine, endColumn;\n if (line && typeof line === \"object\") {\n let start = line;\n let end = column;\n if (typeof start.offset === \"number\") {\n let pos = this.fromOffset(start.offset);\n line = pos.line;\n column = pos.col;\n } else {\n line = start.line;\n column = start.column;\n }\n if (typeof end.offset === \"number\") {\n let pos = this.fromOffset(end.offset);\n endLine = pos.line;\n endColumn = pos.col;\n } else {\n endLine = end.line;\n endColumn = end.column;\n }\n } else if (!column) {\n let pos = this.fromOffset(line);\n line = pos.line;\n column = pos.col;\n }\n let origin = this.origin(line, column, endLine, endColumn);\n if (origin) {\n result2 = new CssSyntaxError$1(\n message,\n origin.endLine === void 0 ? origin.line : { column: origin.column, line: origin.line },\n origin.endLine === void 0 ? origin.column : { column: origin.endColumn, line: origin.endLine },\n origin.source,\n origin.file,\n opts.plugin\n );\n } else {\n result2 = new CssSyntaxError$1(\n message,\n endLine === void 0 ? line : { column, line },\n endLine === void 0 ? column : { column: endColumn, line: endLine },\n this.css,\n this.file,\n opts.plugin\n );\n }\n result2.input = { column, endColumn, endLine, line, source: this.css };\n if (this.file) {\n if (pathToFileURL$1) {\n result2.input.url = pathToFileURL$1(this.file).toString();\n }\n result2.input.file = this.file;\n }\n return result2;\n }\n fromOffset(offset) {\n let lastLine, lineToIndex;\n if (!this[fromOffsetCache]) {\n let lines = this.css.split(\"\\n\");\n lineToIndex = new Array(lines.length);\n let prevIndex = 0;\n for (let i2 = 0, l2 = lines.length; i2 < l2; i2++) {\n lineToIndex[i2] = prevIndex;\n prevIndex += lines[i2].length + 1;\n }\n this[fromOffsetCache] = lineToIndex;\n } else {\n lineToIndex = this[fromOffsetCache];\n }\n lastLine = lineToIndex[lineToIndex.length - 1];\n let min = 0;\n if (offset >= lastLine) {\n min = lineToIndex.length - 1;\n } else {\n let max = lineToIndex.length - 2;\n let mid;\n while (min < max) {\n mid = min + (max - min >> 1);\n if (offset < lineToIndex[mid]) {\n max = mid - 1;\n } else if (offset >= lineToIndex[mid + 1]) {\n min = mid + 1;\n } else {\n min = mid;\n break;\n }\n }\n }\n return {\n col: offset - lineToIndex[min] + 1,\n line: min + 1\n };\n }\n mapResolve(file) {\n if (/^\\w+:\\/\\//.test(file)) {\n return file;\n }\n return resolve$1(this.map.consumer().sourceRoot || this.map.root || \".\", file);\n }\n origin(line, column, endLine, endColumn) {\n if (!this.map) return false;\n let consumer = this.map.consumer();\n let from = consumer.originalPositionFor({ column, line });\n if (!from.source) return false;\n let to;\n if (typeof endLine === \"number\") {\n to = consumer.originalPositionFor({ column: endColumn, line: endLine });\n }\n let fromUrl;\n if (isAbsolute(from.source)) {\n fromUrl = pathToFileURL$1(from.source);\n } else {\n fromUrl = new URL(\n from.source,\n this.map.consumer().sourceRoot || pathToFileURL$1(this.map.mapFile)\n );\n }\n let result2 = {\n column: from.column,\n endColumn: to && to.column,\n endLine: to && to.line,\n line: from.line,\n url: fromUrl.toString()\n };\n if (fromUrl.protocol === \"file:\") {\n if (fileURLToPath) {\n result2.file = fileURLToPath(fromUrl);\n } else {\n throw new Error(`file: protocol is not available in this PostCSS build`);\n }\n }\n let source = consumer.sourceContentFor(from.source);\n if (source) result2.source = source;\n return result2;\n }\n toJSON() {\n let json = {};\n for (let name of [\"hasBOM\", \"css\", \"file\", \"id\"]) {\n if (this[name] != null) {\n json[name] = this[name];\n }\n }\n if (this.map) {\n json.map = { ...this.map };\n if (json.map.consumerCache) {\n json.map.consumerCache = void 0;\n }\n }\n return json;\n }\n get from() {\n return this.file || this.id;\n }\n};\nvar input = Input$4;\nInput$4.default = Input$4;\nif (terminalHighlight && terminalHighlight.registerInput) {\n terminalHighlight.registerInput(Input$4);\n}\nlet { SourceMapConsumer, SourceMapGenerator } = require$$2;\nlet { dirname, relative, resolve, sep } = require$$2;\nlet { pathToFileURL } = require$$2;\nlet Input$3 = input;\nlet sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator);\nlet pathAvailable = Boolean(dirname && resolve && relative && sep);\nlet MapGenerator$2 = class MapGenerator2 {\n constructor(stringify2, root2, opts, cssString) {\n this.stringify = stringify2;\n this.mapOpts = opts.map || {};\n this.root = root2;\n this.opts = opts;\n this.css = cssString;\n this.originalCSS = cssString;\n this.usesFileUrls = !this.mapOpts.from && this.mapOpts.absolute;\n this.memoizedFileURLs = /* @__PURE__ */ new Map();\n this.memoizedPaths = /* @__PURE__ */ new Map();\n this.memoizedURLs = /* @__PURE__ */ new Map();\n }\n addAnnotation() {\n let content;\n if (this.isInline()) {\n content = \"data:application/json;base64,\" + this.toBase64(this.map.toString());\n } else if (typeof this.mapOpts.annotation === \"string\") {\n content = this.mapOpts.annotation;\n } else if (typeof this.mapOpts.annotation === \"function\") {\n content = this.mapOpts.annotation(this.opts.to, this.root);\n } else {\n content = this.outputFile() + \".map\";\n }\n let eol = \"\\n\";\n if (this.css.includes(\"\\r\\n\")) eol = \"\\r\\n\";\n this.css += eol + \"/*# sourceMappingURL=\" + content + \" */\";\n }\n applyPrevMaps() {\n for (let prev of this.previous()) {\n let from = this.toUrl(this.path(prev.file));\n let root2 = prev.root || dirname(prev.file);\n let map;\n if (this.mapOpts.sourcesContent === false) {\n map = new SourceMapConsumer(prev.text);\n if (map.sourcesContent) {\n map.sourcesContent = null;\n }\n } else {\n map = prev.consumer();\n }\n this.map.applySourceMap(map, from, this.toUrl(this.path(root2)));\n }\n }\n clearAnnotation() {\n if (this.mapOpts.annotation === false) return;\n if (this.root) {\n let node2;\n for (let i2 = this.root.nodes.length - 1; i2 >= 0; i2--) {\n node2 = this.root.nodes[i2];\n if (node2.type !== \"comment\") continue;\n if (node2.text.indexOf(\"# sourceMappingURL=\") === 0) {\n this.root.removeChild(i2);\n }\n }\n } else if (this.css) {\n this.css = this.css.replace(/\\n*?\\/\\*#[\\S\\s]*?\\*\\/$/gm, \"\");\n }\n }\n generate() {\n this.clearAnnotation();\n if (pathAvailable && sourceMapAvailable && this.isMap()) {\n return this.generateMap();\n } else {\n let result2 = \"\";\n this.stringify(this.root, (i2) => {\n result2 += i2;\n });\n return [result2];\n }\n }\n generateMap() {\n if (this.root) {\n this.generateString();\n } else if (this.previous().length === 1) {\n let prev = this.previous()[0].consumer();\n prev.file = this.outputFile();\n this.map = SourceMapGenerator.fromSourceMap(prev, {\n ignoreInvalidMapping: true\n });\n } else {\n this.map = new SourceMapGenerator({\n file: this.outputFile(),\n ignoreInvalidMapping: true\n });\n this.map.addMapping({\n generated: { column: 0, line: 1 },\n original: { column: 0, line: 1 },\n source: this.opts.from ? this.toUrl(this.path(this.opts.from)) : \"<no source>\"\n });\n }\n if (this.isSourcesContent()) this.setSourcesContent();\n if (this.root && this.previous().length > 0) this.applyPrevMaps();\n if (this.isAnnotation()) this.addAnnotation();\n if (this.isInline()) {\n return [this.css];\n } else {\n return [this.css, this.map];\n }\n }\n generateString() {\n this.css = \"\";\n this.map = new SourceMapGenerator({\n file: this.outputFile(),\n ignoreInvalidMapping: true\n });\n let line = 1;\n let column = 1;\n let noSource = \"<no source>\";\n let mapping = {\n generated: { column: 0, line: 0 },\n original: { column: 0, line: 0 },\n source: \"\"\n };\n let lines, last;\n this.stringify(this.root, (str, node2, type) => {\n this.css += str;\n if (node2 && type !== \"end\") {\n mapping.generated.line = line;\n mapping.generated.column = column - 1;\n if (node2.source && node2.source.start) {\n mapping.source = this.sourcePath(node2);\n mapping.original.line = node2.source.start.line;\n mapping.original.column = node2.source.start.column - 1;\n this.map.addMapping(mapping);\n } else {\n mapping.source = noSource;\n mapping.original.line = 1;\n mapping.original.column = 0;\n this.map.addMapping(mapping);\n }\n }\n lines = str.match(/\\n/g);\n if (lines) {\n line += lines.length;\n last = str.lastIndexOf(\"\\n\");\n column = str.length - last;\n } else {\n column += str.length;\n }\n if (node2 && type !== \"start\") {\n let p = node2.parent || { raws: {} };\n let childless = node2.type === \"decl\" || node2.type === \"atrule\" && !node2.nodes;\n if (!childless || node2 !== p.last || p.raws.semicolon) {\n if (node2.source && node2.source.end) {\n mapping.source = this.sourcePath(node2);\n mapping.original.line = node2.source.end.line;\n mapping.original.column = node2.source.end.column - 1;\n mapping.generated.line = line;\n mapping.generated.column = column - 2;\n this.map.addMapping(mapping);\n } else {\n mapping.source = noSource;\n mapping.original.line = 1;\n mapping.original.column = 0;\n mapping.generated.line = line;\n mapping.generated.column = column - 1;\n this.map.addMapping(mapping);\n }\n }\n }\n });\n }\n isAnnotation() {\n if (this.isInline()) {\n return true;\n }\n if (typeof this.mapOpts.annotation !== \"undefined\") {\n return this.mapOpts.annotation;\n }\n if (this.previous().length) {\n return this.previous().some((i2) => i2.annotation);\n }\n return true;\n }\n isInline() {\n if (typeof this.mapOpts.inline !== \"undefined\") {\n return this.mapOpts.inline;\n }\n let annotation = this.mapOpts.annotation;\n if (typeof annotation !== \"undefined\" && annotation !== true) {\n return false;\n }\n if (this.previous().length) {\n return this.previous().some((i2) => i2.inline);\n }\n return true;\n }\n isMap() {\n if (typeof this.opts.map !== \"undefined\") {\n return !!this.opts.map;\n }\n return this.previous().length > 0;\n }\n isSourcesContent() {\n if (typeof this.mapOpts.sourcesContent !== \"undefined\") {\n return this.mapOpts.sourcesContent;\n }\n if (this.previous().length) {\n return this.previous().some((i2) => i2.withContent());\n }\n return true;\n }\n outputFile() {\n if (this.opts.to) {\n return this.path(this.opts.to);\n } else if (this.opts.from) {\n return this.path(this.opts.from);\n } else {\n return \"to.css\";\n }\n }\n path(file) {\n if (this.mapOpts.absolute) return file;\n if (file.charCodeAt(0) === 60) return file;\n if (/^\\w+:\\/\\//.test(file)) return file;\n let cached = this.memoizedPaths.get(file);\n if (cached) return cached;\n let from = this.opts.to ? dirname(this.opts.to) : \".\";\n if (typeof this.mapOpts.annotation === \"string\") {\n from = dirname(resolve(from, this.mapOpts.annotation));\n }\n let path = relative(from, file);\n this.memoizedPaths.set(file, path);\n return path;\n }\n previous() {\n if (!this.previousMaps) {\n this.previousMaps = [];\n if (this.root) {\n this.root.walk((node2) => {\n if (node2.source && node2.source.input.map) {\n let map = node2.source.input.map;\n if (!this.previousMaps.includes(map)) {\n this.previousMaps.push(map);\n }\n }\n });\n } else {\n let input2 = new Input$3(this.originalCSS, this.opts);\n if (input2.map) this.previousMaps.push(input2.map);\n }\n }\n return this.previousMaps;\n }\n setSourcesContent() {\n let already = {};\n if (this.root) {\n this.root.walk((node2) => {\n if (node2.source) {\n let from = node2.source.input.from;\n if (from && !already[from]) {\n already[from] = true;\n let fromUrl = this.usesFileUrls ? this.toFileUrl(from) : this.toUrl(this.path(from));\n this.map.setSourceContent(fromUrl, node2.source.input.css);\n }\n }\n });\n } else if (this.css) {\n let from = this.opts.from ? this.toUrl(this.path(this.opts.from)) : \"<no source>\";\n this.map.setSourceContent(from, this.css);\n }\n }\n sourcePath(node2) {\n if (this.mapOpts.from) {\n return this.toUrl(this.mapOpts.from);\n } else if (this.usesFileUrls) {\n return this.toFileUrl(node2.source.input.from);\n } else {\n return this.toUrl(this.path(node2.source.input.from));\n }\n }\n toBase64(str) {\n if (Buffer) {\n return Buffer.from(str).toString(\"base64\");\n } else {\n return window.btoa(unescape(encodeURIComponent(str)));\n }\n }\n toFileUrl(path) {\n let cached = this.memoizedFileURLs.get(path);\n if (cached) return cached;\n if (pathToFileURL) {\n let fileURL = pathToFileURL(path).toString();\n this.memoizedFileURLs.set(path, fileURL);\n return fileURL;\n } else {\n throw new Error(\n \"`map.absolute` option is not available in this PostCSS build\"\n );\n }\n }\n toUrl(path) {\n let cached = this.memoizedURLs.get(path);\n if (cached) return cached;\n if (sep === \"\\\\\") {\n path = path.replace(/\\\\/g, \"/\");\n }\n let url = encodeURI(path).replace(/[#?]/g, encodeURIComponent);\n this.memoizedURLs.set(path, url);\n return url;\n }\n};\nvar mapGenerator = MapGenerator$2;\nlet Node$2 = node;\nlet Comment$4 = class Comment2 extends Node$2 {\n constructor(defaults) {\n super(defaults);\n this.type = \"comment\";\n }\n};\nvar comment = Comment$4;\nComment$4.default = Comment$4;\nlet { isClean: isClean$1, my: my$1 } = symbols;\nlet Declaration$3 = declaration;\nlet Comment$3 = comment;\nlet Node$1 = node;\nlet parse$4, Rule$4, AtRule$4, Root$6;\nfunction cleanSource(nodes) {\n return nodes.map((i2) => {\n if (i2.nodes) i2.nodes = cleanSource(i2.nodes);\n delete i2.source;\n return i2;\n });\n}\nfunction markDirtyUp(node2) {\n node2[isClean$1] = false;\n if (node2.proxyOf.nodes) {\n for (let i2 of node2.proxyOf.nodes) {\n markDirtyUp(i2);\n }\n }\n}\nlet Container$7 = class Container2 extends Node$1 {\n append(...children) {\n for (let child of children) {\n let nodes = this.normalize(child, this.last);\n for (let node2 of nodes) this.proxyOf.nodes.push(node2);\n }\n this.markDirty();\n return this;\n }\n cleanRaws(keepBetween) {\n super.cleanRaws(keepBetween);\n if (this.nodes) {\n for (let node2 of this.nodes) node2.cleanRaws(keepBetween);\n }\n }\n each(callback) {\n if (!this.proxyOf.nodes) return void 0;\n let iterator = this.getIterator();\n let index2, result2;\n while (this.indexes[iterator] < this.proxyOf.nodes.length) {\n index2 = this.indexes[iterator];\n result2 = callback(this.proxyOf.nodes[index2], index2);\n if (result2 === false) break;\n this.indexes[iterator] += 1;\n }\n delete this.indexes[iterator];\n return result2;\n }\n every(condition) {\n return this.nodes.every(condition);\n }\n getIterator() {\n if (!this.lastEach) this.lastEach = 0;\n if (!this.indexes) this.indexes = {};\n this.lastEach += 1;\n let iterator = this.lastEach;\n this.indexes[iterator] = 0;\n return iterator;\n }\n getProxyProcessor() {\n return {\n get(node2, prop) {\n if (prop === \"proxyOf\") {\n return node2;\n } else if (!node2[prop]) {\n return node2[prop];\n } else if (prop === \"each\" || typeof prop === \"string\" && prop.startsWith(\"walk\")) {\n return (...args) => {\n return node2[prop](\n ...args.map((i2) => {\n if (typeof i2 === \"function\") {\n return (child, index2) => i2(child.toProxy(), index2);\n } else {\n return i2;\n }\n })\n );\n };\n } else if (prop === \"every\" || prop === \"some\") {\n return (cb) => {\n return node2[prop](\n (child, ...other) => cb(child.toProxy(), ...other)\n );\n };\n } else if (prop === \"root\") {\n return () => node2.root().toProxy();\n } else if (prop === \"nodes\") {\n return node2.nodes.map((i2) => i2.toProxy());\n } else if (prop === \"first\" || prop === \"last\") {\n return node2[prop].toProxy();\n } else {\n return node2[prop];\n }\n },\n set(node2, prop, value) {\n if (node2[prop] === value) return true;\n node2[prop] = value;\n if (prop === \"name\" || prop === \"params\" || prop === \"selector\") {\n node2.markDirty();\n }\n return true;\n }\n };\n }\n index(child) {\n if (typeof child === \"number\") return child;\n if (child.proxyOf) child = child.proxyOf;\n return this.proxyOf.nodes.indexOf(child);\n }\n insertAfter(exist, add) {\n let existIndex = this.index(exist);\n let nodes = this.normalize(add, this.proxyOf.nodes[existIndex]).reverse();\n existIndex = this.index(exist);\n for (let node2 of nodes) this.proxyOf.nodes.splice(existIndex + 1, 0, node2);\n let index2;\n for (let id in this.indexes) {\n index2 = this.indexes[id];\n if (existIndex < index2) {\n this.indexes[id] = index2 + nodes.length;\n }\n }\n this.markDirty();\n return this;\n }\n insertBefore(exist, add) {\n let existIndex = this.index(exist);\n let type = existIndex === 0 ? \"prepend\" : false;\n let nodes = this.normalize(add, this.proxyOf.nodes[existIndex], type).reverse();\n existIndex = this.index(exist);\n for (let node2 of nodes) this.proxyOf.nodes.splice(existIndex, 0, node2);\n let index2;\n for (let id in this.indexes) {\n index2 = this.indexes[id];\n if (existIndex <= index2) {\n this.indexes[id] = index2 + nodes.length;\n }\n }\n this.markDirty();\n return this;\n }\n normalize(nodes, sample) {\n if (typeof nodes === \"string\") {\n nodes = cleanSource(parse$4(nodes).nodes);\n } else if (typeof nodes === \"undefined\") {\n nodes = [];\n } else if (Array.isArray(nodes)) {\n nodes = nodes.slice(0);\n for (let i2 of nodes) {\n if (i2.parent) i2.parent.removeChild(i2, \"ignore\");\n }\n } else if (nodes.type === \"root\" && this.type !== \"document\") {\n nodes = nodes.nodes.slice(0);\n for (let i2 of nodes) {\n if (i2.parent) i2.parent.removeChild(i2, \"ignore\");\n }\n } else if (nodes.type) {\n nodes = [nodes];\n } else if (nodes.prop) {\n if (typeof nodes.value === \"undefined\") {\n throw new Error(\"Value field is missed in node creation\");\n } else if (typeof nodes.value !== \"string\") {\n nodes.value = String(nodes.value);\n }\n nodes = [new Declaration$3(nodes)];\n } else if (nodes.selector) {\n nodes = [new Rule$4(nodes)];\n } else if (nodes.name) {\n nodes = [new AtRule$4(nodes)];\n } else if (nodes.text) {\n nodes = [new Comment$3(nodes)];\n } else {\n throw new Error(\"Unknown node type in node creation\");\n }\n let processed = nodes.map((i2) => {\n if (!i2[my$1]) Container2.rebuild(i2);\n i2 = i2.proxyOf;\n if (i2.parent) i2.parent.removeChild(i2);\n if (i2[isClean$1]) markDirtyUp(i2);\n if (typeof i2.raws.before === \"undefined\") {\n if (sample && typeof sample.raws.before !== \"undefined\") {\n i2.raws.before = sample.raws.before.replace(/\\S/g, \"\");\n }\n }\n i2.parent = this.proxyOf;\n return i2;\n });\n return processed;\n }\n prepend(...children) {\n children = children.reverse();\n for (let child of children) {\n let nodes = this.normalize(child, this.first, \"prepend\").reverse();\n for (let node2 of nodes) this.proxyOf.nodes.unshift(node2);\n for (let id in this.indexes) {\n this.indexes[id] = this.indexes[id] + nodes.length;\n }\n }\n this.markDirty();\n return this;\n }\n push(child) {\n child.parent = this;\n this.proxyOf.nodes.push(child);\n return this;\n }\n removeAll() {\n for (let node2 of this.proxyOf.nodes) node2.parent = void 0;\n this.proxyOf.nodes = [];\n this.markDirty();\n return this;\n }\n removeChild(child) {\n child = this.index(child);\n this.proxyOf.nodes[child].parent = void 0;\n this.proxyOf.nodes.splice(child, 1);\n let index2;\n for (let id in this.indexes) {\n index2 = this.indexes[id];\n if (index2 >= child) {\n this.indexes[id] = index2 - 1;\n }\n }\n this.markDirty();\n return this;\n }\n replaceValues(pattern, opts, callback) {\n if (!callback) {\n callback = opts;\n opts = {};\n }\n this.walkDecls((decl) => {\n if (opts.props && !opts.props.includes(decl.prop)) return;\n if (opts.fast && !decl.value.includes(opts.fast)) return;\n decl.value = decl.value.replace(pattern, callback);\n });\n this.markDirty();\n return this;\n }\n some(condition) {\n return this.nodes.some(condition);\n }\n walk(callback) {\n return this.each((child, i2) => {\n let result2;\n try {\n result2 = callback(child, i2);\n } catch (e2) {\n throw child.addToError(e2);\n }\n if (result2 !== false && child.walk) {\n result2 = child.walk(callback);\n }\n return result2;\n });\n }\n walkAtRules(name, callback) {\n if (!callback) {\n callback = name;\n return this.walk((child, i2) => {\n if (child.type === \"atrule\") {\n return callback(child, i2);\n }\n });\n }\n if (name instanceof RegExp) {\n return this.walk((child, i2) => {\n if (child.type === \"atrule\" && name.test(child.name)) {\n return callback(child, i2);\n }\n });\n }\n return this.walk((child, i2) => {\n if (child.type === \"atrule\" && child.name === name) {\n return callback(child, i2);\n }\n });\n }\n walkComments(callback) {\n return this.walk((child, i2) => {\n if (child.type === \"comment\") {\n return callback(child, i2);\n }\n });\n }\n walkDecls(prop, callback) {\n if (!callback) {\n callback = prop;\n return this.walk((child, i2) => {\n if (child.type === \"decl\") {\n return callback(child, i2);\n }\n });\n }\n if (prop instanceof RegExp) {\n return this.walk((child, i2) => {\n if (child.type === \"decl\" && prop.test(child.prop)) {\n return callback(child, i2);\n }\n });\n }\n return this.walk((child, i2) => {\n if (child.type === \"decl\" && child.prop === prop) {\n return callback(child, i2);\n }\n });\n }\n walkRules(selector, callback) {\n if (!callback) {\n callback = selector;\n return this.walk((child, i2) => {\n if (child.type === \"rule\") {\n return callback(child, i2);\n }\n });\n }\n if (selector instanceof RegExp) {\n return this.walk((child, i2) => {\n if (child.type === \"rule\" && selector.test(child.selector)) {\n return callback(child, i2);\n }\n });\n }\n return this.walk((child, i2) => {\n if (child.type === \"rule\" && child.selector === selector) {\n return callback(child, i2);\n }\n });\n }\n get first() {\n if (!this.proxyOf.nodes) return void 0;\n return this.proxyOf.nodes[0];\n }\n get last() {\n if (!this.proxyOf.nodes) return void 0;\n return this.proxyOf.nodes[this.proxyOf.nodes.length - 1];\n }\n};\nContainer$7.registerParse = (dependant) => {\n parse$4 = dependant;\n};\nContainer$7.registerRule = (dependant) => {\n Rule$4 = dependant;\n};\nContainer$7.registerAtRule = (dependant) => {\n AtRule$4 = dependant;\n};\nContainer$7.registerRoot = (dependant) => {\n Root$6 = dependant;\n};\nvar container = Container$7;\nContainer$7.default = Container$7;\nContainer$7.rebuild = (node2) => {\n if (node2.type === \"atrule\") {\n Object.setPrototypeOf(node2, AtRule$4.prototype);\n } else if (node2.type === \"rule\") {\n Object.setPrototypeOf(node2, Rule$4.prototype);\n } else if (node2.type === \"decl\") {\n Object.setPrototypeOf(node2, Declaration$3.prototype);\n } else if (node2.type === \"comment\") {\n Object.setPrototypeOf(node2, Comment$3.prototype);\n } else if (node2.type === \"root\") {\n Object.setPrototypeOf(node2, Root$6.prototype);\n }\n node2[my$1] = true;\n if (node2.nodes) {\n node2.nodes.forEach((child) => {\n Container$7.rebuild(child);\n });\n }\n};\nlet Container$6 = container;\nlet LazyResult$4, Processor$3;\nlet Document$3 = class Document23 extends Container$6 {\n constructor(defaults) {\n super({ type: \"document\", ...defaults });\n if (!this.nodes) {\n this.nodes = [];\n }\n }\n toResult(opts = {}) {\n let lazy = new LazyResult$4(new Processor$3(), this, opts);\n return lazy.stringify();\n }\n};\nDocument$3.registerLazyResult = (dependant) => {\n LazyResult$4 = dependant;\n};\nDocument$3.registerProcessor = (dependant) => {\n Processor$3 = dependant;\n};\nvar document$1 = Document$3;\nDocument$3.default = Document$3;\nlet printed = {};\nvar warnOnce$2 = function warnOnce2(message) {\n if (printed[message]) return;\n printed[message] = true;\n if (typeof console !== \"undefined\" && console.warn) {\n console.warn(message);\n }\n};\nlet Warning$2 = class Warning2 {\n constructor(text, opts = {}) {\n this.type = \"warning\";\n this.text = text;\n if (opts.node && opts.node.source) {\n let range = opts.node.rangeBy(opts);\n this.line = range.start.line;\n this.column = range.start.column;\n this.endLine = range.end.line;\n this.endColumn = range.end.column;\n }\n for (let opt in opts) this[opt] = opts[opt];\n }\n toString() {\n if (this.node) {\n return this.node.error(this.text, {\n index: this.index,\n plugin: this.plugin,\n word: this.word\n }).message;\n }\n if (this.plugin) {\n return this.plugin + \": \" + this.text;\n }\n return this.text;\n }\n};\nvar warning = Warning$2;\nWarning$2.default = Warning$2;\nlet Warning$1 = warning;\nlet Result$3 = class Result2 {\n constructor(processor2, root2, opts) {\n this.processor = processor2;\n this.messages = [];\n this.root = root2;\n this.opts = opts;\n this.css = void 0;\n this.map = void 0;\n }\n toString() {\n return this.css;\n }\n warn(text, opts = {}) {\n if (!opts.plugin) {\n if (this.lastPlugin && this.lastPlugin.postcssPlugin) {\n opts.plugin = this.lastPlugin.postcssPlugin;\n }\n }\n let warning2 = new Warning$1(text, opts);\n this.messages.push(warning2);\n return warning2;\n }\n warnings() {\n return this.messages.filter((i2) => i2.type === \"warning\");\n }\n get content() {\n return this.css;\n }\n};\nvar result = Result$3;\nResult$3.default = Result$3;\nconst SINGLE_QUOTE = \"'\".charCodeAt(0);\nconst DOUBLE_QUOTE = '\"'.charCodeAt(0);\nconst BACKSLASH = \"\\\\\".charCodeAt(0);\nconst SLASH = \"/\".charCodeAt(0);\nconst NEWLINE = \"\\n\".charCodeAt(0);\nconst SPACE = \" \".charCodeAt(0);\nconst FEED = \"\\f\".charCodeAt(0);\nconst TAB = \"\t\".charCodeAt(0);\nconst CR = \"\\r\".charCodeAt(0);\nconst OPEN_SQUARE = \"[\".charCodeAt(0);\nconst CLOSE_SQUARE = \"]\".charCodeAt(0);\nconst OPEN_PARENTHESES = \"(\".charCodeAt(0);\nconst CLOSE_PARENTHESES = \")\".charCodeAt(0);\nconst OPEN_CURLY = \"{\".charCodeAt(0);\nconst CLOSE_CURLY = \"}\".charCodeAt(0);\nconst SEMICOLON = \";\".charCodeAt(0);\nconst ASTERISK = \"*\".charCodeAt(0);\nconst COLON = \":\".charCodeAt(0);\nconst AT = \"@\".charCodeAt(0);\nconst RE_AT_END = /[\\t\\n\\f\\r \"#'()/;[\\\\\\]{}]/g;\nconst RE_WORD_END = /[\\t\\n\\f\\r !\"#'():;@[\\\\\\]{}]|\\/(?=\\*)/g;\nconst RE_BAD_BRACKET = /.[\\r\\n\"'(/\\\\]/;\nconst RE_HEX_ESCAPE = /[\\da-f]/i;\nvar tokenize = function tokenizer2(input2, options = {}) {\n let css = input2.css.valueOf();\n let ignore = options.ignoreErrors;\n let code, next, quote, content, escape;\n let escaped, escapePos, prev, n2, currentToken;\n let length = css.length;\n let pos = 0;\n let buffer = [];\n let returned = [];\n function position() {\n return pos;\n }\n function unclosed(what) {\n throw input2.error(\"Unclosed \" + what, pos);\n }\n function endOfFile() {\n return returned.length === 0 && pos >= length;\n }\n function nextToken(opts) {\n if (returned.length) return returned.pop();\n if (pos >= length) return;\n let ignoreUnclosed = opts ? opts.ignoreUnclosed : false;\n code = css.charCodeAt(pos);\n switch (code) {\n case NEWLINE:\n case SPACE:\n case TAB:\n case CR:\n case FEED: {\n next = pos;\n do {\n next += 1;\n code = css.charCodeAt(next);\n } while (code === SPACE || code === NEWLINE || code === TAB || code === CR || code === FEED);\n currentToken = [\"space\", css.slice(pos, next)];\n pos = next - 1;\n break;\n }\n case OPEN_SQUARE:\n case CLOSE_SQUARE:\n case OPEN_CURLY:\n case CLOSE_CURLY:\n case COLON:\n case SEMICOLON:\n case CLOSE_PARENTHESES: {\n let controlChar = String.fromCharCode(code);\n currentToken = [controlChar, controlChar, pos];\n break;\n }\n case OPEN_PARENTHESES: {\n prev = buffer.length ? buffer.pop()[1] : \"\";\n n2 = css.charCodeAt(pos + 1);\n if (prev === \"url\" && n2 !== SINGLE_QUOTE && n2 !== DOUBLE_QUOTE && n2 !== SPACE && n2 !== NEWLINE && n2 !== TAB && n2 !== FEED && n2 !== CR) {\n next = pos;\n do {\n escaped = false;\n next = css.indexOf(\")\", next + 1);\n if (next === -1) {\n if (ignore || ignoreUnclosed) {\n next = pos;\n break;\n } else {\n unclosed(\"bracket\");\n }\n }\n escapePos = next;\n while (css.charCodeAt(escapePos - 1) === BACKSLASH) {\n escapePos -= 1;\n escaped = !escaped;\n }\n } while (escaped);\n currentToken = [\"brackets\", css.slice(pos, next + 1), pos, next];\n pos = next;\n } else {\n next = css.indexOf(\")\", pos + 1);\n content = css.slice(pos, next + 1);\n if (next === -1 || RE_BAD_BRACKET.test(content)) {\n currentToken = [\"(\", \"(\", pos];\n } else {\n currentToken = [\"brackets\", content, pos, next];\n pos = next;\n }\n }\n break;\n }\n case SINGLE_QUOTE:\n case DOUBLE_QUOTE: {\n quote = code === SINGLE_QUOTE ? \"'\" : '\"';\n next = pos;\n do {\n escaped = false;\n next = css.indexOf(quote, next + 1);\n if (next === -1) {\n if (ignore || ignoreUnclosed) {\n next = pos + 1;\n break;\n } else {\n unclosed(\"string\");\n }\n }\n escapePos = next;\n while (css.charCodeAt(escapePos - 1) === BACKSLASH) {\n escapePos -= 1;\n escaped = !escaped;\n }\n } while (escaped);\n currentToken = [\"string\", css.slice(pos, next + 1), pos, next];\n pos = next;\n break;\n }\n case AT: {\n RE_AT_END.lastIndex = pos + 1;\n RE_AT_END.test(css);\n if (RE_AT_END.lastIndex === 0) {\n next = css.length - 1;\n } else {\n next = RE_AT_END.lastIndex - 2;\n }\n currentToken = [\"at-word\", css.slice(pos, next + 1), pos, next];\n pos = next;\n break;\n }\n case BACKSLASH: {\n next = pos;\n escape = true;\n while (css.charCodeAt(next + 1) === BACKSLASH) {\n next += 1;\n escape = !escape;\n }\n code = css.charCodeAt(next + 1);\n if (escape && code !== SLASH && code !== SPACE && code !== NEWLINE && code !== TAB && code !== CR && code !== FEED) {\n next += 1;\n if (RE_HEX_ESCAPE.test(css.charAt(next))) {\n while (RE_HEX_ESCAPE.test(css.charAt(next + 1))) {\n next += 1;\n }\n if (css.charCodeAt(next + 1) === SPACE) {\n next += 1;\n }\n }\n }\n currentToken = [\"word\", css.slice(pos, next + 1), pos, next];\n pos = next;\n break;\n }\n default: {\n if (code === SLASH && css.charCodeAt(pos + 1) === ASTERISK) {\n next = css.indexOf(\"*/\", pos + 2) + 1;\n if (next === 0) {\n if (ignore || ignoreUnclosed) {\n next = css.length;\n } else {\n unclosed(\"comment\");\n }\n }\n currentToken = [\"comment\", css.slice(pos, next + 1), pos, next];\n pos = next;\n } else {\n RE_WORD_END.lastIndex = pos + 1;\n RE_WORD_END.test(css);\n if (RE_WORD_END.lastIndex === 0) {\n next = css.length - 1;\n } else {\n next = RE_WORD_END.lastIndex - 2;\n }\n currentToken = [\"word\", css.slice(pos, next + 1), pos, next];\n buffer.push(currentToken);\n pos = next;\n }\n break;\n }\n }\n pos++;\n return currentToken;\n }\n function back(token) {\n returned.push(token);\n }\n return {\n back,\n endOfFile,\n nextToken,\n position\n };\n};\nlet Container$5 = container;\nlet AtRule$3 = class AtRule2 extends Container$5 {\n constructor(defaults) {\n super(defaults);\n this.type = \"atrule\";\n }\n append(...children) {\n if (!this.proxyOf.nodes) this.nodes = [];\n return super.append(...children);\n }\n prepend(...children) {\n if (!this.proxyOf.nodes) this.nodes = [];\n return super.prepend(...children);\n }\n};\nvar atRule = AtRule$3;\nAtRule$3.default = AtRule$3;\nContainer$5.registerAtRule(AtRule$3);\nlet Container$4 = container;\nlet LazyResult$3, Processor$2;\nlet Root$5 = class Root2 extends Container$4 {\n constructor(defaults) {\n super(defaults);\n this.type = \"root\";\n if (!this.nodes) this.nodes = [];\n }\n normalize(child, sample, type) {\n let nodes = super.normalize(child);\n if (sample) {\n if (type === \"prepend\") {\n if (this.nodes.length > 1) {\n sample.raws.before = this.nodes[1].raws.before;\n } else {\n delete sample.raws.before;\n }\n } else if (this.first !== sample) {\n for (let node2 of nodes) {\n node2.raws.before = sample.raws.before;\n }\n }\n }\n return nodes;\n }\n removeChild(child, ignore) {\n let index2 = this.index(child);\n if (!ignore && index2 === 0 && this.nodes.length > 1) {\n this.nodes[1].raws.before = this.nodes[index2].raws.before;\n }\n return super.removeChild(child);\n }\n toResult(opts = {}) {\n let lazy = new LazyResult$3(new Processor$2(), this, opts);\n return lazy.stringify();\n }\n};\nRoot$5.registerLazyResult = (dependant) => {\n LazyResult$3 = dependant;\n};\nRoot$5.registerProcessor = (dependant) => {\n Processor$2 = dependant;\n};\nvar root = Root$5;\nRoot$5.default = Root$5;\nContainer$4.registerRoot(Root$5);\nlet list$2 = {\n comma(string) {\n return list$2.split(string, [\",\"], true);\n },\n space(string) {\n let spaces = [\" \", \"\\n\", \"\t\"];\n return list$2.split(string, spaces);\n },\n split(string, separators, last) {\n let array = [];\n let current = \"\";\n let split = false;\n let func = 0;\n let inQuote = false;\n let prevQuote = \"\";\n let escape = false;\n for (let letter of string) {\n if (escape) {\n escape = false;\n } else if (letter === \"\\\\\") {\n escape = true;\n } else if (inQuote) {\n if (letter === prevQuote) {\n inQuote = false;\n }\n } else if (letter === '\"' || letter === \"'\") {\n inQuote = true;\n prevQuote = letter;\n } else if (letter === \"(\") {\n func += 1;\n } else if (letter === \")\") {\n if (func > 0) func -= 1;\n } else if (func === 0) {\n if (separators.includes(letter)) split = true;\n }\n if (split) {\n if (current !== \"\") array.push(current.trim());\n current = \"\";\n split = false;\n } else {\n current += letter;\n }\n }\n if (last || current !== \"\") array.push(current.trim());\n return array;\n }\n};\nvar list_1 = list$2;\nlist$2.default = list$2;\nlet Container$3 = container;\nlet list$1 = list_1;\nlet Rule$3 = class Rule2 extends Container$3 {\n constructor(defaults) {\n super(defaults);\n this.type = \"rule\";\n if (!this.nodes) this.nodes = [];\n }\n get selectors() {\n return list$1.comma(this.selector);\n }\n set selectors(values) {\n let match = this.selector ? this.selector.match(/,\\s*/) : null;\n let sep2 = match ? match[0] : \",\" + this.raw(\"between\", \"beforeOpen\");\n this.selector = values.join(sep2);\n }\n};\nvar rule = Rule$3;\nRule$3.default = Rule$3;\nContainer$3.registerRule(Rule$3);\nlet Declaration$2 = declaration;\nlet tokenizer22 = tokenize;\nlet Comment$2 = comment;\nlet AtRule$2 = atRule;\nlet Root$4 = root;\nlet Rule$2 = rule;\nconst SAFE_COMMENT_NEIGHBOR = {\n empty: true,\n space: true\n};\nfunction findLastWithPosition(tokens) {\n for (let i2 = tokens.length - 1; i2 >= 0; i2--) {\n let token = tokens[i2];\n let pos = token[3] || token[2];\n if (pos) return pos;\n }\n}\nlet Parser$1 = class Parser2 {\n constructor(input2) {\n this.input = input2;\n this.root = new Root$4();\n this.current = this.root;\n this.spaces = \"\";\n this.semicolon = false;\n this.createTokenizer();\n this.root.source = { input: input2, start: { column: 1, line: 1, offset: 0 } };\n }\n atrule(token) {\n let node2 = new AtRule$2();\n node2.name = token[1].slice(1);\n if (node2.name === \"\") {\n this.unnamedAtrule(node2, token);\n }\n this.init(node2, token[2]);\n let type;\n let prev;\n let shift;\n let last = false;\n let open = false;\n let params = [];\n let brackets = [];\n while (!this.tokenizer.endOfFile()) {\n token = this.tokenizer.nextToken();\n type = token[0];\n if (type === \"(\" || type === \"[\") {\n brackets.push(type === \"(\" ? \")\" : \"]\");\n } else if (type === \"{\" && brackets.length > 0) {\n brackets.push(\"}\");\n } else if (type === brackets[brackets.length - 1]) {\n brackets.pop();\n }\n if (brackets.length === 0) {\n if (type === \";\") {\n node2.source.end = this.getPosition(token[2]);\n node2.source.end.offset++;\n this.semicolon = true;\n break;\n } else if (type === \"{\") {\n open = true;\n break;\n } else if (type === \"}\") {\n if (params.length > 0) {\n shift = params.length - 1;\n prev = params[shift];\n while (prev && prev[0] === \"space\") {\n prev = params[--shift];\n }\n if (prev) {\n node2.source.end = this.getPosition(prev[3] || prev[2]);\n node2.source.end.offset++;\n }\n }\n this.end(token);\n break;\n } else {\n params.push(token);\n }\n } else {\n params.push(token);\n }\n if (this.tokenizer.endOfFile()) {\n last = true;\n break;\n }\n }\n node2.raws.between = this.spacesAndCommentsFromEnd(params);\n if (params.length) {\n node2.raws.afterName = this.spacesAndCommentsFromStart(params);\n this.raw(node2, \"params\", params);\n if (last) {\n token = params[params.length - 1];\n node2.source.end = this.getPosition(token[3] || token[2]);\n node2.source.end.offset++;\n this.spaces = node2.raws.between;\n node2.raws.between = \"\";\n }\n } else {\n node2.raws.afterName = \"\";\n node2.params = \"\";\n }\n if (open) {\n node2.nodes = [];\n this.current = node2;\n }\n }\n checkMissedSemicolon(tokens) {\n let colon = this.colon(tokens);\n if (colon === false) return;\n let founded = 0;\n let token;\n for (let j = colon - 1; j >= 0; j--) {\n token = tokens[j];\n if (token[0] !== \"space\") {\n founded += 1;\n if (founded === 2) break;\n }\n }\n throw this.input.error(\n \"Missed semicolon\",\n token[0] === \"word\" ? token[3] + 1 : token[2]\n );\n }\n colon(tokens) {\n let brackets = 0;\n let token, type, prev;\n for (let [i2, element] of tokens.entries()) {\n token = element;\n type = token[0];\n if (type === \"(\") {\n brackets += 1;\n }\n if (type === \")\") {\n brackets -= 1;\n }\n if (brackets === 0 && type === \":\") {\n if (!prev) {\n this.doubleColon(token);\n } else if (prev[0] === \"word\" && prev[1] === \"progid\") {\n continue;\n } else {\n return i2;\n }\n }\n prev = token;\n }\n return false;\n }\n comment(token) {\n let node2 = new Comment$2();\n this.init(node2, token[2]);\n node2.source.end = this.getPosition(token[3] || token[2]);\n node2.source.end.offset++;\n let text = token[1].slice(2, -2);\n if (/^\\s*$/.test(text)) {\n node2.text = \"\";\n node2.raws.left = text;\n node2.raws.right = \"\";\n } else {\n let match = text.match(/^(\\s*)([^]*\\S)(\\s*)$/);\n node2.text = match[2];\n node2.raws.left = match[1];\n node2.raws.right = match[3];\n }\n }\n createTokenizer() {\n this.tokenizer = tokenizer22(this.input);\n }\n decl(tokens, customProperty) {\n let node2 = new Declaration$2();\n this.init(node2, tokens[0][2]);\n let last = tokens[tokens.length - 1];\n if (last[0] === \";\") {\n this.semicolon = true;\n tokens.pop();\n }\n node2.source.end = this.getPosition(\n last[3] || last[2] || findLastWithPosition(tokens)\n );\n node2.source.end.offset++;\n while (tokens[0][0] !== \"word\") {\n if (tokens.length === 1) this.unknownWord(tokens);\n node2.raws.before += tokens.shift()[1];\n }\n node2.source.start = this.getPosition(tokens[0][2]);\n node2.prop = \"\";\n while (tokens.length) {\n let type = tokens[0][0];\n if (type === \":\" || type === \"space\" || type === \"comment\") {\n break;\n }\n node2.prop += tokens.shift()[1];\n }\n node2.raws.between = \"\";\n let token;\n while (tokens.length) {\n token = tokens.shift();\n if (token[0] === \":\") {\n node2.raws.between += token[1];\n break;\n } else {\n if (token[0] === \"word\" && /\\w/.test(token[1])) {\n this.unknownWord([token]);\n }\n node2.raws.between += token[1];\n }\n }\n if (node2.prop[0] === \"_\" || node2.prop[0] === \"*\") {\n node2.raws.before += node2.prop[0];\n node2.prop = node2.prop.slice(1);\n }\n let firstSpaces = [];\n let next;\n while (tokens.length) {\n next = tokens[0][0];\n if (next !== \"space\" && next !== \"comment\") break;\n firstSpaces.push(tokens.shift());\n }\n this.precheckMissedSemicolon(tokens);\n for (let i2 = tokens.length - 1; i2 >= 0; i2--) {\n token = tokens[i2];\n if (token[1].toLowerCase() === \"!important\") {\n node2.important = true;\n let string = this.stringFrom(tokens, i2);\n string = this.spacesFromEnd(tokens) + string;\n if (string !== \" !important\") node2.raws.important = string;\n break;\n } else if (token[1].toLowerCase() === \"important\") {\n let cache = tokens.slice(0);\n let str = \"\";\n for (let j = i2; j > 0; j--) {\n let type = cache[j][0];\n if (str.trim().indexOf(\"!\") === 0 && type !== \"space\") {\n break;\n }\n str = cache.pop()[1] + str;\n }\n if (str.trim().indexOf(\"!\") === 0) {\n node2.important = true;\n node2.raws.important = str;\n tokens = cache;\n }\n }\n if (token[0] !== \"space\" && token[0] !== \"comment\") {\n break;\n }\n }\n let hasWord = tokens.some((i2) => i2[0] !== \"space\" && i2[0] !== \"comment\");\n if (hasWord) {\n node2.raws.between += firstSpaces.map((i2) => i2[1]).join(\"\");\n firstSpaces = [];\n }\n this.raw(node2, \"value\", firstSpaces.concat(tokens), customProperty);\n if (node2.value.includes(\":\") && !customProperty) {\n this.checkMissedSemicolon(tokens);\n }\n }\n doubleColon(token) {\n throw this.input.error(\n \"Double colon\",\n { offset: token[2] },\n { offset: token[2] + token[1].length }\n );\n }\n emptyRule(token) {\n let node2 = new Rule$2();\n this.init(node2, token[2]);\n node2.selector = \"\";\n node2.raws.between = \"\";\n this.current = node2;\n }\n end(token) {\n if (this.current.nodes && this.current.nodes.length) {\n this.current.raws.semicolon = this.semicolon;\n }\n this.semicolon = false;\n this.current.raws.after = (this.current.raws.after || \"\") + this.spaces;\n this.spaces = \"\";\n if (this.current.parent) {\n this.current.source.end = this.getPosition(token[2]);\n this.current.source.end.offset++;\n this.current = this.current.parent;\n } else {\n this.unexpectedClose(token);\n }\n }\n endFile() {\n if (this.current.parent) this.unclosedBlock();\n if (this.current.nodes && this.current.nodes.length) {\n this.current.raws.semicolon = this.semicolon;\n }\n this.current.raws.after = (this.current.raws.after || \"\") + this.spaces;\n this.root.source.end = this.getPosition(this.tokenizer.position());\n }\n freeSemicolon(token) {\n this.spaces += token[1];\n if (this.current.nodes) {\n let prev = this.current.nodes[this.current.nodes.length - 1];\n if (prev && prev.type === \"rule\" && !prev.raws.ownSemicolon) {\n prev.raws.ownSemicolon = this.spaces;\n this.spaces = \"\";\n }\n }\n }\n // Helpers\n getPosition(offset) {\n let pos = this.input.fromOffset(offset);\n return {\n column: pos.col,\n line: pos.line,\n offset\n };\n }\n init(node2, offset) {\n this.current.push(node2);\n node2.source = {\n input: this.input,\n start: this.getPosition(offset)\n };\n node2.raws.before = this.spaces;\n this.spaces = \"\";\n if (node2.type !== \"comment\") this.semicolon = false;\n }\n other(start) {\n let end = false;\n let type = null;\n let colon = false;\n let bracket = null;\n let brackets = [];\n let customProperty = start[1].startsWith(\"--\");\n let tokens = [];\n let token = start;\n while (token) {\n type = token[0];\n tokens.push(token);\n if (type === \"(\" || type === \"[\") {\n if (!bracket) bracket = token;\n brackets.push(type === \"(\" ? \")\" : \"]\");\n } else if (customProperty && colon && type === \"{\") {\n if (!bracket) bracket = token;\n brackets.push(\"}\");\n } else if (brackets.length === 0) {\n if (type === \";\") {\n if (colon) {\n this.decl(tokens, customProperty);\n return;\n } else {\n break;\n }\n } else if (type === \"{\") {\n this.rule(tokens);\n return;\n } else if (type === \"}\") {\n this.tokenizer.back(tokens.pop());\n end = true;\n break;\n } else if (type === \":\") {\n colon = true;\n }\n } else if (type === brackets[brackets.length - 1]) {\n brackets.pop();\n if (brackets.length === 0) bracket = null;\n }\n token = this.tokenizer.nextToken();\n }\n if (this.tokenizer.endOfFile()) end = true;\n if (brackets.length > 0) this.unclosedBracket(bracket);\n if (end && colon) {\n if (!customProperty) {\n while (tokens.length) {\n token = tokens[tokens.length - 1][0];\n if (token !== \"space\" && token !== \"comment\") break;\n this.tokenizer.back(tokens.pop());\n }\n }\n this.decl(tokens, customProperty);\n } else {\n this.unknownWord(tokens);\n }\n }\n parse() {\n let token;\n while (!this.tokenizer.endOfFile()) {\n token = this.tokenizer.nextToken();\n switch (token[0]) {\n case \"space\":\n this.spaces += token[1];\n break;\n case \";\":\n this.freeSemicolon(token);\n break;\n case \"}\":\n this.end(token);\n break;\n case \"comment\":\n this.comment(token);\n break;\n case \"at-word\":\n this.atrule(token);\n break;\n case \"{\":\n this.emptyRule(token);\n break;\n default:\n this.other(token);\n break;\n }\n }\n this.endFile();\n }\n precheckMissedSemicolon() {\n }\n raw(node2, prop, tokens, customProperty) {\n let token, type;\n let length = tokens.length;\n let value = \"\";\n let clean = true;\n let next, prev;\n for (let i2 = 0; i2 < length; i2 += 1) {\n token = tokens[i2];\n type = token[0];\n if (type === \"space\" && i2 === length - 1 && !customProperty) {\n clean = false;\n } else if (type === \"comment\") {\n prev = tokens[i2 - 1] ? tokens[i2 - 1][0] : \"empty\";\n next = tokens[i2 + 1] ? tokens[i2 + 1][0] : \"empty\";\n if (!SAFE_COMMENT_NEIGHBOR[prev] && !SAFE_COMMENT_NEIGHBOR[next]) {\n if (value.slice(-1) === \",\") {\n clean = false;\n } else {\n value += token[1];\n }\n } else {\n clean = false;\n }\n } else {\n value += token[1];\n }\n }\n if (!clean) {\n let raw = tokens.reduce((all, i2) => all + i2[1], \"\");\n node2.raws[prop] = { raw, value };\n }\n node2[prop] = value;\n }\n rule(tokens) {\n tokens.pop();\n let node2 = new Rule$2();\n this.init(node2, tokens[0][2]);\n node2.raws.between = this.spacesAndCommentsFromEnd(tokens);\n this.raw(node2, \"selector\", tokens);\n this.current = node2;\n }\n spacesAndCommentsFromEnd(tokens) {\n let lastTokenType;\n let spaces = \"\";\n while (tokens.length) {\n lastTokenType = tokens[tokens.length - 1][0];\n if (lastTokenType !== \"space\" && lastTokenType !== \"comment\") break;\n spaces = tokens.pop()[1] + spaces;\n }\n return spaces;\n }\n // Errors\n spacesAndCommentsFromStart(tokens) {\n let next;\n let spaces = \"\";\n while (tokens.length) {\n next = tokens[0][0];\n if (next !== \"space\" && next !== \"comment\") break;\n spaces += tokens.shift()[1];\n }\n return spaces;\n }\n spacesFromEnd(tokens) {\n let lastTokenType;\n let spaces = \"\";\n while (tokens.length) {\n lastTokenType = tokens[tokens.length - 1][0];\n if (lastTokenType !== \"space\") break;\n spaces = tokens.pop()[1] + spaces;\n }\n return spaces;\n }\n stringFrom(tokens, from) {\n let result2 = \"\";\n for (let i2 = from; i2 < tokens.length; i2++) {\n result2 += tokens[i2][1];\n }\n tokens.splice(from, tokens.length - from);\n return result2;\n }\n unclosedBlock() {\n let pos = this.current.source.start;\n throw this.input.error(\"Unclosed block\", pos.line, pos.column);\n }\n unclosedBracket(bracket) {\n throw this.input.error(\n \"Unclosed bracket\",\n { offset: bracket[2] },\n { offset: bracket[2] + 1 }\n );\n }\n unexpectedClose(token) {\n throw this.input.error(\n \"Unexpected }\",\n { offset: token[2] },\n { offset: token[2] + 1 }\n );\n }\n unknownWord(tokens) {\n throw this.input.error(\n \"Unknown word\",\n { offset: tokens[0][2] },\n { offset: tokens[0][2] + tokens[0][1].length }\n );\n }\n unnamedAtrule(node2, token) {\n throw this.input.error(\n \"At-rule without name\",\n { offset: token[2] },\n { offset: token[2] + token[1].length }\n );\n }\n};\nvar parser = Parser$1;\nlet Container$2 = container;\nlet Parser22 = parser;\nlet Input$2 = input;\nfunction parse$3(css, opts) {\n let input2 = new Input$2(css, opts);\n let parser2 = new Parser22(input2);\n try {\n parser2.parse();\n } catch (e2) {\n if (process.env.NODE_ENV !== \"production\") {\n if (e2.name === \"CssSyntaxError\" && opts && opts.from) {\n if (/\\.scss$/i.test(opts.from)) {\n e2.message += \"\\nYou tried to parse SCSS with the standard CSS parser; try again with the postcss-scss parser\";\n } else if (/\\.sass/i.test(opts.from)) {\n e2.message += \"\\nYou tried to parse Sass with the standard CSS parser; try again with the postcss-sass parser\";\n } else if (/\\.less$/i.test(opts.from)) {\n e2.message += \"\\nYou tried to parse Less with the standard CSS parser; try again with the postcss-less parser\";\n }\n }\n }\n throw e2;\n }\n return parser2.root;\n}\nvar parse_1 = parse$3;\nparse$3.default = parse$3;\nContainer$2.registerParse(parse$3);\nlet { isClean, my } = symbols;\nlet MapGenerator$1 = mapGenerator;\nlet stringify$2 = stringify_1;\nlet Container$1 = container;\nlet Document$2 = document$1;\nlet warnOnce$1 = warnOnce$2;\nlet Result$2 = result;\nlet parse$2 = parse_1;\nlet Root$3 = root;\nconst TYPE_TO_CLASS_NAME = {\n atrule: \"AtRule\",\n comment: \"Comment\",\n decl: \"Declaration\",\n document: \"Document\",\n root: \"Root\",\n rule: \"Rule\"\n};\nconst PLUGIN_PROPS = {\n AtRule: true,\n AtRuleExit: true,\n Comment: true,\n CommentExit: true,\n Declaration: true,\n DeclarationExit: true,\n Document: true,\n DocumentExit: true,\n Once: true,\n OnceExit: true,\n postcssPlugin: true,\n prepare: true,\n Root: true,\n RootExit: true,\n Rule: true,\n RuleExit: true\n};\nconst NOT_VISITORS = {\n Once: true,\n postcssPlugin: true,\n prepare: true\n};\nconst CHILDREN = 0;\nfunction isPromise(obj) {\n return typeof obj === \"object\" && typeof obj.then === \"function\";\n}\nfunction getEvents(node2) {\n let key = false;\n let type = TYPE_TO_CLASS_NAME[node2.type];\n if (node2.type === \"decl\") {\n key = node2.prop.toLowerCase();\n } else if (node2.type === \"atrule\") {\n key = node2.name.toLowerCase();\n }\n if (key && node2.append) {\n return [\n type,\n type + \"-\" + key,\n CHILDREN,\n type + \"Exit\",\n type + \"Exit-\" + key\n ];\n } else if (key) {\n return [type, type + \"-\" + key, type + \"Exit\", type + \"Exit-\" + key];\n } else if (node2.append) {\n return [type, CHILDREN, type + \"Exit\"];\n } else {\n return [type, type + \"Exit\"];\n }\n}\nfunction toStack(node2) {\n let events;\n if (node2.type === \"document\") {\n events = [\"Document\", CHILDREN, \"DocumentExit\"];\n } else if (node2.type === \"root\") {\n events = [\"Root\", CHILDREN, \"RootExit\"];\n } else {\n events = getEvents(node2);\n }\n return {\n eventIndex: 0,\n events,\n iterator: 0,\n node: node2,\n visitorIndex: 0,\n visitors: []\n };\n}\nfunction cleanMarks(node2) {\n node2[isClean] = false;\n if (node2.nodes) node2.nodes.forEach((i2) => cleanMarks(i2));\n return node2;\n}\nlet postcss$2 = {};\nlet LazyResult$2 = class LazyResult2 {\n constructor(processor2, css, opts) {\n this.stringified = false;\n this.processed = false;\n let root2;\n if (typeof css === \"object\" && css !== null && (css.type === \"root\" || css.type === \"document\")) {\n root2 = cleanMarks(css);\n } else if (css instanceof LazyResult2 || css instanceof Result$2) {\n root2 = cleanMarks(css.root);\n if (css.map) {\n if (typeof opts.map === \"undefined\") opts.map = {};\n if (!opts.map.inline) opts.map.inline = false;\n opts.map.prev = css.map;\n }\n } else {\n let parser2 = parse$2;\n if (opts.syntax) parser2 = opts.syntax.parse;\n if (opts.parser) parser2 = opts.parser;\n if (parser2.parse) parser2 = parser2.parse;\n try {\n root2 = parser2(css, opts);\n } catch (error) {\n this.processed = true;\n this.error = error;\n }\n if (root2 && !root2[my]) {\n Container$1.rebuild(root2);\n }\n }\n this.result = new Result$2(processor2, root2, opts);\n this.helpers = { ...postcss$2, postcss: postcss$2, result: this.result };\n this.plugins = this.processor.plugins.map((plugin22) => {\n if (typeof plugin22 === \"object\" && plugin22.prepare) {\n return { ...plugin22, ...plugin22.prepare(this.result) };\n } else {\n return plugin22;\n }\n });\n }\n async() {\n if (this.error) return Promise.reject(this.error);\n if (this.processed) return Promise.resolve(this.result);\n if (!this.processing) {\n this.processing = this.runAsync();\n }\n return this.processing;\n }\n catch(onRejected) {\n return this.async().catch(onRejected);\n }\n finally(onFinally) {\n return this.async().then(onFinally, onFinally);\n }\n getAsyncError() {\n throw new Error(\"Use process(css).then(cb) to work with async plugins\");\n }\n handleError(error, node2) {\n let plugin22 = this.result.lastPlugin;\n try {\n if (node2) node2.addToError(error);\n this.error = error;\n if (error.name === \"CssSyntaxError\" && !error.plugin) {\n error.plugin = plugin22.postcssPlugin;\n error.setMessage();\n } else if (plugin22.postcssVersion) {\n if (process.env.NODE_ENV !== \"production\") {\n let pluginName = plugin22.postcssPlugin;\n let pluginVer = plugin22.postcssVersion;\n let runtimeVer = this.result.processor.version;\n let a2 = pluginVer.split(\".\");\n let b = runtimeVer.split(\".\");\n if (a2[0] !== b[0] || parseInt(a2[1]) > parseInt(b[1])) {\n console.error(\n \"Unknown error from PostCSS plugin. Your current PostCSS version is \" + runtimeVer + \", but \" + pluginName + \" uses \" + pluginVer + \". Perhaps this is the source of the error below.\"\n );\n }\n }\n }\n } catch (err) {\n if (console && console.error) console.error(err);\n }\n return error;\n }\n prepareVisitors() {\n this.listeners = {};\n let add = (plugin22, type, cb) => {\n if (!this.listeners[type]) this.listeners[type] = [];\n this.listeners[type].push([plugin22, cb]);\n };\n for (let plugin22 of this.plugins) {\n if (typeof plugin22 === \"object\") {\n for (let event in plugin22) {\n if (!PLUGIN_PROPS[event] && /^[A-Z]/.test(event)) {\n throw new Error(\n `Unknown event ${event} in ${plugin22.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`\n );\n }\n if (!NOT_VISITORS[event]) {\n if (typeof plugin22[event] === \"object\") {\n for (let filter in plugin22[event]) {\n if (filter === \"*\") {\n add(plugin22, event, plugin22[event][filter]);\n } else {\n add(\n plugin22,\n event + \"-\" + filter.toLowerCase(),\n plugin22[event][filter]\n );\n }\n }\n } else if (typeof plugin22[event] === \"function\") {\n add(plugin22, event, plugin22[event]);\n }\n }\n }\n }\n }\n this.hasListener = Object.keys(this.listeners).length > 0;\n }\n async runAsync() {\n this.plugin = 0;\n for (let i2 = 0; i2 < this.plugins.length; i2++) {\n let plugin22 = this.plugins[i2];\n let promise = this.runOnRoot(plugin22);\n if (isPromise(promise)) {\n try {\n await promise;\n } catch (error) {\n throw this.handleError(error);\n }\n }\n }\n this.prepareVisitors();\n if (this.hasListener) {\n let root2 = this.result.root;\n while (!root2[isClean]) {\n root2[isClean] = true;\n let stack = [toStack(root2)];\n while (stack.length > 0) {\n let promise = this.visitTick(stack);\n if (isPromise(promise)) {\n try {\n await promise;\n } catch (e2) {\n let node2 = stack[stack.length - 1].node;\n throw this.handleError(e2, node2);\n }\n }\n }\n }\n if (this.listeners.OnceExit) {\n for (let [plugin22, visitor] of this.listeners.OnceExit) {\n this.result.lastPlugin = plugin22;\n try {\n if (root2.type === \"document\") {\n let roots = root2.nodes.map(\n (subRoot) => visitor(subRoot, this.helpers)\n );\n await Promise.all(roots);\n } else {\n await visitor(root2, this.helpers);\n }\n } catch (e2) {\n throw this.handleError(e2);\n }\n }\n }\n }\n this.processed = true;\n return this.stringify();\n }\n runOnRoot(plugin22) {\n this.result.lastPlugin = plugin22;\n try {\n if (typeof plugin22 === \"object\" && plugin22.Once) {\n if (this.result.root.type === \"document\") {\n let roots = this.result.root.nodes.map(\n (root2) => plugin22.Once(root2, this.helpers)\n );\n if (isPromise(roots[0])) {\n return Promise.all(roots);\n }\n return roots;\n }\n return plugin22.Once(this.result.root, this.helpers);\n } else if (typeof plugin22 === \"function\") {\n return plugin22(this.result.root, this.result);\n }\n } catch (error) {\n throw this.handleError(error);\n }\n }\n stringify() {\n if (this.error) throw this.error;\n if (this.stringified) return this.result;\n this.stringified = true;\n this.sync();\n let opts = this.result.opts;\n let str = stringify$2;\n if (opts.syntax) str = opts.syntax.stringify;\n if (opts.stringifier) str = opts.stringifier;\n if (str.stringify) str = str.stringify;\n let map = new MapGenerator$1(str, this.result.root, this.result.opts);\n let data = map.generate();\n this.result.css = data[0];\n this.result.map = data[1];\n return this.result;\n }\n sync() {\n if (this.error) throw this.error;\n if (this.processed) return this.result;\n this.processed = true;\n if (this.processing) {\n throw this.getAsyncError();\n }\n for (let plugin22 of this.plugins) {\n let promise = this.runOnRoot(plugin22);\n if (isPromise(promise)) {\n throw this.getAsyncError();\n }\n }\n this.prepareVisitors();\n if (this.hasListener) {\n let root2 = this.result.root;\n while (!root2[isClean]) {\n root2[isClean] = true;\n this.walkSync(root2);\n }\n if (this.listeners.OnceExit) {\n if (root2.type === \"document\") {\n for (let subRoot of root2.nodes) {\n this.visitSync(this.listeners.OnceExit, subRoot);\n }\n } else {\n this.visitSync(this.listeners.OnceExit, root2);\n }\n }\n }\n return this.result;\n }\n then(onFulfilled, onRejected) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!(\"from\" in this.opts)) {\n warnOnce$1(\n \"Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.\"\n );\n }\n }\n return this.async().then(onFulfilled, onRejected);\n }\n toString() {\n return this.css;\n }\n visitSync(visitors, node2) {\n for (let [plugin22, visitor] of visitors) {\n this.result.lastPlugin = plugin22;\n let promise;\n try {\n promise = visitor(node2, this.helpers);\n } catch (e2) {\n throw this.handleError(e2, node2.proxyOf);\n }\n if (node2.type !== \"root\" && node2.type !== \"document\" && !node2.parent) {\n return true;\n }\n if (isPromise(promise)) {\n throw this.getAsyncError();\n }\n }\n }\n visitTick(stack) {\n let visit2 = stack[stack.length - 1];\n let { node: node2, visitors } = visit2;\n if (node2.type !== \"root\" && node2.type !== \"document\" && !node2.parent) {\n stack.pop();\n return;\n }\n if (visitors.length > 0 && visit2.visitorIndex < visitors.length) {\n let [plugin22, visitor] = visitors[visit2.visitorIndex];\n visit2.visitorIndex += 1;\n if (visit2.visitorIndex === visitors.length) {\n visit2.visitors = [];\n visit2.visitorIndex = 0;\n }\n this.result.lastPlugin = plugin22;\n try {\n return visitor(node2.toProxy(), this.helpers);\n } catch (e2) {\n throw this.handleError(e2, node2);\n }\n }\n if (visit2.iterator !== 0) {\n let iterator = visit2.iterator;\n let child;\n while (child = node2.nodes[node2.indexes[iterator]]) {\n node2.indexes[iterator] += 1;\n if (!child[isClean]) {\n child[isClean] = true;\n stack.push(toStack(child));\n return;\n }\n }\n visit2.iterator = 0;\n delete node2.indexes[iterator];\n }\n let events = visit2.events;\n while (visit2.eventIndex < events.length) {\n let event = events[visit2.eventIndex];\n visit2.eventIndex += 1;\n if (event === CHILDREN) {\n if (node2.nodes && node2.nodes.length) {\n node2[isClean] = true;\n visit2.iterator = node2.getIterator();\n }\n return;\n } else if (this.listeners[event]) {\n visit2.visitors = this.listeners[event];\n return;\n }\n }\n stack.pop();\n }\n walkSync(node2) {\n node2[isClean] = true;\n let events = getEvents(node2);\n for (let event of events) {\n if (event === CHILDREN) {\n if (node2.nodes) {\n node2.each((child) => {\n if (!child[isClean]) this.walkSync(child);\n });\n }\n } else {\n let visitors = this.listeners[event];\n if (visitors) {\n if (this.visitSync(visitors, node2.toProxy())) return;\n }\n }\n }\n }\n warnings() {\n return this.sync().warnings();\n }\n get content() {\n return this.stringify().content;\n }\n get css() {\n return this.stringify().css;\n }\n get map() {\n return this.stringify().map;\n }\n get messages() {\n return this.sync().messages;\n }\n get opts() {\n return this.result.opts;\n }\n get processor() {\n return this.result.processor;\n }\n get root() {\n return this.sync().root;\n }\n get [Symbol.toStringTag]() {\n return \"LazyResult\";\n }\n};\nLazyResult$2.registerPostcss = (dependant) => {\n postcss$2 = dependant;\n};\nvar lazyResult = LazyResult$2;\nLazyResult$2.default = LazyResult$2;\nRoot$3.registerLazyResult(LazyResult$2);\nDocument$2.registerLazyResult(LazyResult$2);\nlet MapGenerator22 = mapGenerator;\nlet stringify$1 = stringify_1;\nlet warnOnce22 = warnOnce$2;\nlet parse$1 = parse_1;\nconst Result$1 = result;\nlet NoWorkResult$1 = class NoWorkResult2 {\n constructor(processor2, css, opts) {\n css = css.toString();\n this.stringified = false;\n this._processor = processor2;\n this._css = css;\n this._opts = opts;\n this._map = void 0;\n let root2;\n let str = stringify$1;\n this.result = new Result$1(this._processor, root2, this._opts);\n this.result.css = css;\n let self = this;\n Object.defineProperty(this.result, \"root\", {\n get() {\n return self.root;\n }\n });\n let map = new MapGenerator22(str, root2, this._opts, css);\n if (map.isMap()) {\n let [generatedCSS, generatedMap] = map.generate();\n if (generatedCSS) {\n this.result.css = generatedCSS;\n }\n if (generatedMap) {\n this.result.map = generatedMap;\n }\n } else {\n map.clearAnnotation();\n this.result.css = map.css;\n }\n }\n async() {\n if (this.error) return Promise.reject(this.error);\n return Promise.resolve(this.result);\n }\n catch(onRejected) {\n return this.async().catch(onRejected);\n }\n finally(onFinally) {\n return this.async().then(onFinally, onFinally);\n }\n sync() {\n if (this.error) throw this.error;\n return this.result;\n }\n then(onFulfilled, onRejected) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!(\"from\" in this._opts)) {\n warnOnce22(\n \"Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.\"\n );\n }\n }\n return this.async().then(onFulfilled, onRejected);\n }\n toString() {\n return this._css;\n }\n warnings() {\n return [];\n }\n get content() {\n return this.result.css;\n }\n get css() {\n return this.result.css;\n }\n get map() {\n return this.result.map;\n }\n get messages() {\n return [];\n }\n get opts() {\n return this.result.opts;\n }\n get processor() {\n return this.result.processor;\n }\n get root() {\n if (this._root) {\n return this._root;\n }\n let root2;\n let parser2 = parse$1;\n try {\n root2 = parser2(this._css, this._opts);\n } catch (error) {\n this.error = error;\n }\n if (this.error) {\n throw this.error;\n } else {\n this._root = root2;\n return root2;\n }\n }\n get [Symbol.toStringTag]() {\n return \"NoWorkResult\";\n }\n};\nvar noWorkResult = NoWorkResult$1;\nNoWorkResult$1.default = NoWorkResult$1;\nlet NoWorkResult22 = noWorkResult;\nlet LazyResult$1 = lazyResult;\nlet Document$1 = document$1;\nlet Root$2 = root;\nlet Processor$1 = class Processor2 {\n constructor(plugins = []) {\n this.version = \"8.4.38\";\n this.plugins = this.normalize(plugins);\n }\n normalize(plugins) {\n let normalized = [];\n for (let i2 of plugins) {\n if (i2.postcss === true) {\n i2 = i2();\n } else if (i2.postcss) {\n i2 = i2.postcss;\n }\n if (typeof i2 === \"object\" && Array.isArray(i2.plugins)) {\n normalized = normalized.concat(i2.plugins);\n } else if (typeof i2 === \"object\" && i2.postcssPlugin) {\n normalized.push(i2);\n } else if (typeof i2 === \"function\") {\n normalized.push(i2);\n } else if (typeof i2 === \"object\" && (i2.parse || i2.stringify)) {\n if (process.env.NODE_ENV !== \"production\") {\n throw new Error(\n \"PostCSS syntaxes cannot be used as plugins. Instead, please use one of the syntax/parser/stringifier options as outlined in your PostCSS runner documentation.\"\n );\n }\n } else {\n throw new Error(i2 + \" is not a PostCSS plugin\");\n }\n }\n return normalized;\n }\n process(css, opts = {}) {\n if (!this.plugins.length && !opts.parser && !opts.stringifier && !opts.syntax) {\n return new NoWorkResult22(this, css, opts);\n } else {\n return new LazyResult$1(this, css, opts);\n }\n }\n use(plugin22) {\n this.plugins = this.plugins.concat(this.normalize([plugin22]));\n return this;\n }\n};\nvar processor = Processor$1;\nProcessor$1.default = Processor$1;\nRoot$2.registerProcessor(Processor$1);\nDocument$1.registerProcessor(Processor$1);\nlet Declaration$1 = declaration;\nlet PreviousMap22 = previousMap;\nlet Comment$1 = comment;\nlet AtRule$1 = atRule;\nlet Input$1 = input;\nlet Root$1 = root;\nlet Rule$1 = rule;\nfunction fromJSON$1(json, inputs) {\n if (Array.isArray(json)) return json.map((n2) => fromJSON$1(n2));\n let { inputs: ownInputs, ...defaults } = json;\n if (ownInputs) {\n inputs = [];\n for (let input2 of ownInputs) {\n let inputHydrated = { ...input2, __proto__: Input$1.prototype };\n if (inputHydrated.map) {\n inputHydrated.map = {\n ...inputHydrated.map,\n __proto__: PreviousMap22.prototype\n };\n }\n inputs.push(inputHydrated);\n }\n }\n if (defaults.nodes) {\n defaults.nodes = json.nodes.map((n2) => fromJSON$1(n2, inputs));\n }\n if (defaults.source) {\n let { inputId, ...source } = defaults.source;\n defaults.source = source;\n if (inputId != null) {\n defaults.source.input = inputs[inputId];\n }\n }\n if (defaults.type === \"root\") {\n return new Root$1(defaults);\n } else if (defaults.type === \"decl\") {\n return new Declaration$1(defaults);\n } else if (defaults.type === \"rule\") {\n return new Rule$1(defaults);\n } else if (defaults.type === \"comment\") {\n return new Comment$1(defaults);\n } else if (defaults.type === \"atrule\") {\n return new AtRule$1(defaults);\n } else {\n throw new Error(\"Unknown node type: \" + json.type);\n }\n}\nvar fromJSON_1 = fromJSON$1;\nfromJSON$1.default = fromJSON$1;\nlet CssSyntaxError22 = cssSyntaxError;\nlet Declaration22 = declaration;\nlet LazyResult22 = lazyResult;\nlet Container22 = container;\nlet Processor22 = processor;\nlet stringify = stringify_1;\nlet fromJSON = fromJSON_1;\nlet Document222 = document$1;\nlet Warning22 = warning;\nlet Comment22 = comment;\nlet AtRule22 = atRule;\nlet Result22 = result;\nlet Input22 = input;\nlet parse = parse_1;\nlet list = list_1;\nlet Rule22 = rule;\nlet Root22 = root;\nlet Node22 = node;\nfunction postcss(...plugins) {\n if (plugins.length === 1 && Array.isArray(plugins[0])) {\n plugins = plugins[0];\n }\n return new Processor22(plugins);\n}\npostcss.plugin = function plugin2(name, initializer) {\n let warningPrinted = false;\n function creator(...args) {\n if (console && console.warn && !warningPrinted) {\n warningPrinted = true;\n console.warn(\n name + \": postcss.plugin was deprecated. Migration guide:\\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration\"\n );\n if (process.env.LANG && process.env.LANG.startsWith(\"cn\")) {\n console.warn(\n name + \": 里面 postcss.plugin 被弃用. 迁移指南:\\nhttps://www.w3ctech.com/topic/2226\"\n );\n }\n }\n let transformer = initializer(...args);\n transformer.postcssPlugin = name;\n transformer.postcssVersion = new Processor22().version;\n return transformer;\n }\n let cache;\n Object.defineProperty(creator, \"postcss\", {\n get() {\n if (!cache) cache = creator();\n return cache;\n }\n });\n creator.process = function(css, processOpts, pluginOpts) {\n return postcss([creator(pluginOpts)]).process(css, processOpts);\n };\n return creator;\n};\npostcss.stringify = stringify;\npostcss.parse = parse;\npostcss.fromJSON = fromJSON;\npostcss.list = list;\npostcss.comment = (defaults) => new Comment22(defaults);\npostcss.atRule = (defaults) => new AtRule22(defaults);\npostcss.decl = (defaults) => new Declaration22(defaults);\npostcss.rule = (defaults) => new Rule22(defaults);\npostcss.root = (defaults) => new Root22(defaults);\npostcss.document = (defaults) => new Document222(defaults);\npostcss.CssSyntaxError = CssSyntaxError22;\npostcss.Declaration = Declaration22;\npostcss.Container = Container22;\npostcss.Processor = Processor22;\npostcss.Document = Document222;\npostcss.Comment = Comment22;\npostcss.Warning = Warning22;\npostcss.AtRule = AtRule22;\npostcss.Result = Result22;\npostcss.Input = Input22;\npostcss.Rule = Rule22;\npostcss.Root = Root22;\npostcss.Node = Node22;\nLazyResult22.registerPostcss(postcss);\nvar postcss_1 = postcss;\npostcss.default = postcss;\nconst postcss$1 = /* @__PURE__ */ getDefaultExportFromCjs(postcss_1);\npostcss$1.stringify;\npostcss$1.fromJSON;\npostcss$1.plugin;\npostcss$1.parse;\npostcss$1.list;\npostcss$1.document;\npostcss$1.comment;\npostcss$1.atRule;\npostcss$1.rule;\npostcss$1.decl;\npostcss$1.root;\npostcss$1.CssSyntaxError;\npostcss$1.Declaration;\npostcss$1.Container;\npostcss$1.Processor;\npostcss$1.Document;\npostcss$1.Comment;\npostcss$1.Warning;\npostcss$1.AtRule;\npostcss$1.Result;\npostcss$1.Input;\npostcss$1.Rule;\npostcss$1.Root;\npostcss$1.Node;\nclass BaseRRNode {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any\n constructor(..._args) {\n __publicField2(this, \"parentElement\", null);\n __publicField2(this, \"parentNode\", null);\n __publicField2(this, \"ownerDocument\");\n __publicField2(this, \"firstChild\", null);\n __publicField2(this, \"lastChild\", null);\n __publicField2(this, \"previousSibling\", null);\n __publicField2(this, \"nextSibling\", null);\n __publicField2(this, \"ELEMENT_NODE\", 1);\n __publicField2(this, \"TEXT_NODE\", 3);\n __publicField2(this, \"nodeType\");\n __publicField2(this, \"nodeName\");\n __publicField2(this, \"RRNodeType\");\n }\n get childNodes() {\n const childNodes2 = [];\n let childIterator = this.firstChild;\n while (childIterator) {\n childNodes2.push(childIterator);\n childIterator = childIterator.nextSibling;\n }\n return childNodes2;\n }\n contains(node2) {\n if (!(node2 instanceof BaseRRNode)) return false;\n else if (node2.ownerDocument !== this.ownerDocument) return false;\n else if (node2 === this) return true;\n while (node2.parentNode) {\n if (node2.parentNode === this) return true;\n node2 = node2.parentNode;\n }\n return false;\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n appendChild(_newChild) {\n throw new Error(\n `RRDomException: Failed to execute 'appendChild' on 'RRNode': This RRNode type does not support this method.`\n );\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n insertBefore(_newChild, _refChild) {\n throw new Error(\n `RRDomException: Failed to execute 'insertBefore' on 'RRNode': This RRNode type does not support this method.`\n );\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n removeChild(_node) {\n throw new Error(\n `RRDomException: Failed to execute 'removeChild' on 'RRNode': This RRNode type does not support this method.`\n );\n }\n toString() {\n return \"RRNode\";\n }\n}\nconst testableAccessors = {\n Node: [\"childNodes\", \"parentNode\", \"parentElement\", \"textContent\"],\n ShadowRoot: [\"host\", \"styleSheets\"],\n Element: [\"shadowRoot\", \"querySelector\", \"querySelectorAll\"],\n MutationObserver: []\n};\nconst testableMethods = {\n Node: [\"contains\", \"getRootNode\"],\n ShadowRoot: [\"getSelection\"],\n Element: [],\n MutationObserver: [\"constructor\"]\n};\nconst untaintedBasePrototype = {};\nconst isAngularZonePresent = () => {\n return !!globalThis.Zone;\n};\nfunction getUntaintedPrototype(key) {\n if (untaintedBasePrototype[key])\n return untaintedBasePrototype[key];\n const defaultObj = globalThis[key];\n const defaultPrototype = defaultObj.prototype;\n const accessorNames = key in testableAccessors ? testableAccessors[key] : void 0;\n const isUntaintedAccessors = Boolean(\n accessorNames && // @ts-expect-error 2345\n accessorNames.every(\n (accessor) => {\n var _a2, _b;\n return Boolean(\n (_b = (_a2 = Object.getOwnPropertyDescriptor(defaultPrototype, accessor)) == null ? void 0 : _a2.get) == null ? void 0 : _b.toString().includes(\"[native code]\")\n );\n }\n )\n );\n const methodNames = key in testableMethods ? testableMethods[key] : void 0;\n const isUntaintedMethods = Boolean(\n methodNames && methodNames.every(\n // @ts-expect-error 2345\n (method) => {\n var _a2;\n return typeof defaultPrototype[method] === \"function\" && ((_a2 = defaultPrototype[method]) == null ? void 0 : _a2.toString().includes(\"[native code]\"));\n }\n )\n );\n if (isUntaintedAccessors && isUntaintedMethods && !isAngularZonePresent()) {\n untaintedBasePrototype[key] = defaultObj.prototype;\n return defaultObj.prototype;\n }\n try {\n const iframeEl = document.createElement(\"iframe\");\n document.body.appendChild(iframeEl);\n const win = iframeEl.contentWindow;\n if (!win) return defaultObj.prototype;\n const untaintedObject = win[key].prototype;\n document.body.removeChild(iframeEl);\n if (!untaintedObject) return defaultPrototype;\n return untaintedBasePrototype[key] = untaintedObject;\n } catch {\n return defaultPrototype;\n }\n}\nconst untaintedAccessorCache = {};\nfunction getUntaintedAccessor(key, instance, accessor) {\n var _a2;\n const cacheKey = `${key}.${String(accessor)}`;\n if (untaintedAccessorCache[cacheKey])\n return untaintedAccessorCache[cacheKey].call(\n instance\n );\n const untaintedPrototype = getUntaintedPrototype(key);\n const untaintedAccessor = (_a2 = Object.getOwnPropertyDescriptor(\n untaintedPrototype,\n accessor\n )) == null ? void 0 : _a2.get;\n if (!untaintedAccessor) return instance[accessor];\n untaintedAccessorCache[cacheKey] = untaintedAccessor;\n return untaintedAccessor.call(instance);\n}\nconst untaintedMethodCache = {};\nfunction getUntaintedMethod(key, instance, method) {\n const cacheKey = `${key}.${String(method)}`;\n if (untaintedMethodCache[cacheKey])\n return untaintedMethodCache[cacheKey].bind(\n instance\n );\n const untaintedPrototype = getUntaintedPrototype(key);\n const untaintedMethod = untaintedPrototype[method];\n if (typeof untaintedMethod !== \"function\") return instance[method];\n untaintedMethodCache[cacheKey] = untaintedMethod;\n return untaintedMethod.bind(instance);\n}\nfunction childNodes(n2) {\n return getUntaintedAccessor(\"Node\", n2, \"childNodes\");\n}\nfunction parentNode(n2) {\n return getUntaintedAccessor(\"Node\", n2, \"parentNode\");\n}\nfunction parentElement(n2) {\n return getUntaintedAccessor(\"Node\", n2, \"parentElement\");\n}\nfunction textContent(n2) {\n return getUntaintedAccessor(\"Node\", n2, \"textContent\");\n}\nfunction contains(n2, other) {\n return getUntaintedMethod(\"Node\", n2, \"contains\")(other);\n}\nfunction getRootNode(n2) {\n return getUntaintedMethod(\"Node\", n2, \"getRootNode\")();\n}\nfunction host(n2) {\n if (!n2 || !(\"host\" in n2)) return null;\n return getUntaintedAccessor(\"ShadowRoot\", n2, \"host\");\n}\nfunction styleSheets(n2) {\n return n2.styleSheets;\n}\nfunction shadowRoot(n2) {\n if (!n2 || !(\"shadowRoot\" in n2)) return null;\n return getUntaintedAccessor(\"Element\", n2, \"shadowRoot\");\n}\nfunction querySelector(n2, selectors) {\n return getUntaintedAccessor(\"Element\", n2, \"querySelector\")(selectors);\n}\nfunction querySelectorAll(n2, selectors) {\n return getUntaintedAccessor(\"Element\", n2, \"querySelectorAll\")(selectors);\n}\nfunction mutationObserverCtor() {\n return getUntaintedPrototype(\"MutationObserver\").constructor;\n}\nconst index = {\n childNodes,\n parentNode,\n parentElement,\n textContent,\n contains,\n getRootNode,\n host,\n styleSheets,\n shadowRoot,\n querySelector,\n querySelectorAll,\n mutationObserver: mutationObserverCtor\n};\nfunction on(type, fn, target = document) {\n const options = { capture: true, passive: true };\n target.addEventListener(type, fn, options);\n return () => target.removeEventListener(type, fn, options);\n}\nconst DEPARTED_MIRROR_ACCESS_WARNING = \"Please stop import mirror directly. Instead of that,\\r\\nnow you can use replayer.getMirror() to access the mirror instance of a replayer,\\r\\nor you can use record.mirror to access the mirror instance during recording.\";\nlet _mirror = {\n map: {},\n getId() {\n console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n return -1;\n },\n getNode() {\n console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n return null;\n },\n removeNodeFromMap() {\n console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n },\n has() {\n console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n return false;\n },\n reset() {\n console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n }\n};\nif (typeof window !== \"undefined\" && window.Proxy && window.Reflect) {\n _mirror = new Proxy(_mirror, {\n get(target, prop, receiver) {\n if (prop === \"map\") {\n console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n }\n return Reflect.get(target, prop, receiver);\n }\n });\n}\nfunction throttle(func, wait, options = {}) {\n let timeout = null;\n let previous = 0;\n return function(...args) {\n const now = Date.now();\n if (!previous && options.leading === false) {\n previous = now;\n }\n const remaining = wait - (now - previous);\n const context = this;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = now;\n func.apply(context, args);\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(() => {\n previous = options.leading === false ? 0 : Date.now();\n timeout = null;\n func.apply(context, args);\n }, remaining);\n }\n };\n}\nfunction hookSetter(target, key, d, isRevoked, win = window) {\n const original = win.Object.getOwnPropertyDescriptor(target, key);\n win.Object.defineProperty(\n target,\n key,\n isRevoked ? d : {\n set(value) {\n setTimeout(() => {\n d.set.call(this, value);\n }, 0);\n if (original && original.set) {\n original.set.call(this, value);\n }\n }\n }\n );\n return () => hookSetter(target, key, original || {}, true);\n}\nfunction patch(source, name, replacement) {\n try {\n if (!(name in source)) {\n return () => {\n };\n }\n const original = source[name];\n const wrapped = replacement(original);\n if (typeof wrapped === \"function\") {\n wrapped.prototype = wrapped.prototype || {};\n Object.defineProperties(wrapped, {\n __rrweb_original__: {\n enumerable: false,\n value: original\n }\n });\n }\n source[name] = wrapped;\n return () => {\n source[name] = original;\n };\n } catch {\n return () => {\n };\n }\n}\nlet nowTimestamp = Date.now;\nif (!/* @__PURE__ */ /[1-9][0-9]{12}/.test(Date.now().toString())) {\n nowTimestamp = () => (/* @__PURE__ */ new Date()).getTime();\n}\nfunction getWindowScroll(win) {\n var _a2, _b, _c, _d;\n const doc = win.document;\n return {\n left: doc.scrollingElement ? doc.scrollingElement.scrollLeft : win.pageXOffset !== void 0 ? win.pageXOffset : doc.documentElement.scrollLeft || (doc == null ? void 0 : doc.body) && ((_a2 = index.parentElement(doc.body)) == null ? void 0 : _a2.scrollLeft) || ((_b = doc == null ? void 0 : doc.body) == null ? void 0 : _b.scrollLeft) || 0,\n top: doc.scrollingElement ? doc.scrollingElement.scrollTop : win.pageYOffset !== void 0 ? win.pageYOffset : (doc == null ? void 0 : doc.documentElement.scrollTop) || (doc == null ? void 0 : doc.body) && ((_c = index.parentElement(doc.body)) == null ? void 0 : _c.scrollTop) || ((_d = doc == null ? void 0 : doc.body) == null ? void 0 : _d.scrollTop) || 0\n };\n}\nfunction getWindowHeight() {\n return window.innerHeight || document.documentElement && document.documentElement.clientHeight || document.body && document.body.clientHeight;\n}\nfunction getWindowWidth() {\n return window.innerWidth || document.documentElement && document.documentElement.clientWidth || document.body && document.body.clientWidth;\n}\nfunction closestElementOfNode(node2) {\n if (!node2) {\n return null;\n }\n const el = node2.nodeType === node2.ELEMENT_NODE ? node2 : index.parentElement(node2);\n return el;\n}\nfunction isBlocked(node2, blockClass, blockSelector, checkAncestors) {\n if (!node2) {\n return false;\n }\n const el = closestElementOfNode(node2);\n if (!el) {\n return false;\n }\n try {\n if (typeof blockClass === \"string\") {\n if (el.classList.contains(blockClass)) return true;\n if (checkAncestors && el.closest(\".\" + blockClass) !== null) return true;\n } else {\n if (classMatchesRegex(el, blockClass, checkAncestors)) return true;\n }\n } catch (e2) {\n }\n if (blockSelector) {\n if (el.matches(blockSelector)) return true;\n if (checkAncestors && el.closest(blockSelector) !== null) return true;\n }\n return false;\n}\nfunction isSerialized(n2, mirror2) {\n return mirror2.getId(n2) !== -1;\n}\nfunction isIgnored(n2, mirror2, slimDOMOptions) {\n if (n2.tagName === \"TITLE\" && slimDOMOptions.headTitleMutations) {\n return true;\n }\n return mirror2.getId(n2) === IGNORED_NODE;\n}\nfunction isAncestorRemoved(target, mirror2) {\n if (isShadowRoot(target)) {\n return false;\n }\n const id = mirror2.getId(target);\n if (!mirror2.has(id)) {\n return true;\n }\n const parent = index.parentNode(target);\n if (parent && parent.nodeType === target.DOCUMENT_NODE) {\n return false;\n }\n if (!parent) {\n return true;\n }\n return isAncestorRemoved(parent, mirror2);\n}\nfunction legacy_isTouchEvent(event) {\n return Boolean(event.changedTouches);\n}\nfunction polyfill$1(win = window) {\n if (\"NodeList\" in win && !win.NodeList.prototype.forEach) {\n win.NodeList.prototype.forEach = Array.prototype.forEach;\n }\n if (\"DOMTokenList\" in win && !win.DOMTokenList.prototype.forEach) {\n win.DOMTokenList.prototype.forEach = Array.prototype.forEach;\n }\n}\nfunction isSerializedIframe(n2, mirror2) {\n return Boolean(n2.nodeName === \"IFRAME\" && mirror2.getMeta(n2));\n}\nfunction isSerializedStylesheet(n2, mirror2) {\n return Boolean(\n n2.nodeName === \"LINK\" && n2.nodeType === n2.ELEMENT_NODE && n2.getAttribute && n2.getAttribute(\"rel\") === \"stylesheet\" && mirror2.getMeta(n2)\n );\n}\nfunction hasShadowRoot(n2) {\n if (!n2) return false;\n if (n2 instanceof BaseRRNode && \"shadowRoot\" in n2) {\n return Boolean(n2.shadowRoot);\n }\n return Boolean(index.shadowRoot(n2));\n}\nclass StyleSheetMirror {\n constructor() {\n __publicField(this, \"id\", 1);\n __publicField(this, \"styleIDMap\", /* @__PURE__ */ new WeakMap());\n __publicField(this, \"idStyleMap\", /* @__PURE__ */ new Map());\n }\n getId(stylesheet) {\n return this.styleIDMap.get(stylesheet) ?? -1;\n }\n has(stylesheet) {\n return this.styleIDMap.has(stylesheet);\n }\n /**\n * @returns If the stylesheet is in the mirror, returns the id of the stylesheet. If not, return the new assigned id.\n */\n add(stylesheet, id) {\n if (this.has(stylesheet)) return this.getId(stylesheet);\n let newId;\n if (id === void 0) {\n newId = this.id++;\n } else newId = id;\n this.styleIDMap.set(stylesheet, newId);\n this.idStyleMap.set(newId, stylesheet);\n return newId;\n }\n getStyle(id) {\n return this.idStyleMap.get(id) || null;\n }\n reset() {\n this.styleIDMap = /* @__PURE__ */ new WeakMap();\n this.idStyleMap = /* @__PURE__ */ new Map();\n this.id = 1;\n }\n generateId() {\n return this.id++;\n }\n}\nfunction getShadowHost(n2) {\n var _a2;\n let shadowHost = null;\n if (\"getRootNode\" in n2 && ((_a2 = index.getRootNode(n2)) == null ? void 0 : _a2.nodeType) === Node.DOCUMENT_FRAGMENT_NODE && index.host(index.getRootNode(n2)))\n shadowHost = index.host(index.getRootNode(n2));\n return shadowHost;\n}\nfunction getRootShadowHost(n2) {\n let rootShadowHost = n2;\n let shadowHost;\n while (shadowHost = getShadowHost(rootShadowHost))\n rootShadowHost = shadowHost;\n return rootShadowHost;\n}\nfunction shadowHostInDom(n2) {\n const doc = n2.ownerDocument;\n if (!doc) return false;\n const shadowHost = getRootShadowHost(n2);\n return index.contains(doc, shadowHost);\n}\nfunction inDom(n2) {\n const doc = n2.ownerDocument;\n if (!doc) return false;\n return index.contains(doc, n2) || shadowHostInDom(n2);\n}\nvar EventType = /* @__PURE__ */ ((EventType2) => {\n EventType2[EventType2[\"DomContentLoaded\"] = 0] = \"DomContentLoaded\";\n EventType2[EventType2[\"Load\"] = 1] = \"Load\";\n EventType2[EventType2[\"FullSnapshot\"] = 2] = \"FullSnapshot\";\n EventType2[EventType2[\"IncrementalSnapshot\"] = 3] = \"IncrementalSnapshot\";\n EventType2[EventType2[\"Meta\"] = 4] = \"Meta\";\n EventType2[EventType2[\"Custom\"] = 5] = \"Custom\";\n EventType2[EventType2[\"Plugin\"] = 6] = \"Plugin\";\n return EventType2;\n})(EventType || {});\nvar IncrementalSource = /* @__PURE__ */ ((IncrementalSource2) => {\n IncrementalSource2[IncrementalSource2[\"Mutation\"] = 0] = \"Mutation\";\n IncrementalSource2[IncrementalSource2[\"MouseMove\"] = 1] = \"MouseMove\";\n IncrementalSource2[IncrementalSource2[\"MouseInteraction\"] = 2] = \"MouseInteraction\";\n IncrementalSource2[IncrementalSource2[\"Scroll\"] = 3] = \"Scroll\";\n IncrementalSource2[IncrementalSource2[\"ViewportResize\"] = 4] = \"ViewportResize\";\n IncrementalSource2[IncrementalSource2[\"Input\"] = 5] = \"Input\";\n IncrementalSource2[IncrementalSource2[\"TouchMove\"] = 6] = \"TouchMove\";\n IncrementalSource2[IncrementalSource2[\"MediaInteraction\"] = 7] = \"MediaInteraction\";\n IncrementalSource2[IncrementalSource2[\"StyleSheetRule\"] = 8] = \"StyleSheetRule\";\n IncrementalSource2[IncrementalSource2[\"CanvasMutation\"] = 9] = \"CanvasMutation\";\n IncrementalSource2[IncrementalSource2[\"Font\"] = 10] = \"Font\";\n IncrementalSource2[IncrementalSource2[\"Log\"] = 11] = \"Log\";\n IncrementalSource2[IncrementalSource2[\"Drag\"] = 12] = \"Drag\";\n IncrementalSource2[IncrementalSource2[\"StyleDeclaration\"] = 13] = \"StyleDeclaration\";\n IncrementalSource2[IncrementalSource2[\"Selection\"] = 14] = \"Selection\";\n IncrementalSource2[IncrementalSource2[\"AdoptedStyleSheet\"] = 15] = \"AdoptedStyleSheet\";\n IncrementalSource2[IncrementalSource2[\"CustomElement\"] = 16] = \"CustomElement\";\n return IncrementalSource2;\n})(IncrementalSource || {});\nvar MouseInteractions = /* @__PURE__ */ ((MouseInteractions2) => {\n MouseInteractions2[MouseInteractions2[\"MouseUp\"] = 0] = \"MouseUp\";\n MouseInteractions2[MouseInteractions2[\"MouseDown\"] = 1] = \"MouseDown\";\n MouseInteractions2[MouseInteractions2[\"Click\"] = 2] = \"Click\";\n MouseInteractions2[MouseInteractions2[\"ContextMenu\"] = 3] = \"ContextMenu\";\n MouseInteractions2[MouseInteractions2[\"DblClick\"] = 4] = \"DblClick\";\n MouseInteractions2[MouseInteractions2[\"Focus\"] = 5] = \"Focus\";\n MouseInteractions2[MouseInteractions2[\"Blur\"] = 6] = \"Blur\";\n MouseInteractions2[MouseInteractions2[\"TouchStart\"] = 7] = \"TouchStart\";\n MouseInteractions2[MouseInteractions2[\"TouchMove_Departed\"] = 8] = \"TouchMove_Departed\";\n MouseInteractions2[MouseInteractions2[\"TouchEnd\"] = 9] = \"TouchEnd\";\n MouseInteractions2[MouseInteractions2[\"TouchCancel\"] = 10] = \"TouchCancel\";\n return MouseInteractions2;\n})(MouseInteractions || {});\nvar PointerTypes = /* @__PURE__ */ ((PointerTypes2) => {\n PointerTypes2[PointerTypes2[\"Mouse\"] = 0] = \"Mouse\";\n PointerTypes2[PointerTypes2[\"Pen\"] = 1] = \"Pen\";\n PointerTypes2[PointerTypes2[\"Touch\"] = 2] = \"Touch\";\n return PointerTypes2;\n})(PointerTypes || {});\nvar CanvasContext = /* @__PURE__ */ ((CanvasContext2) => {\n CanvasContext2[CanvasContext2[\"2D\"] = 0] = \"2D\";\n CanvasContext2[CanvasContext2[\"WebGL\"] = 1] = \"WebGL\";\n CanvasContext2[CanvasContext2[\"WebGL2\"] = 2] = \"WebGL2\";\n return CanvasContext2;\n})(CanvasContext || {});\nvar MediaInteractions = /* @__PURE__ */ ((MediaInteractions2) => {\n MediaInteractions2[MediaInteractions2[\"Play\"] = 0] = \"Play\";\n MediaInteractions2[MediaInteractions2[\"Pause\"] = 1] = \"Pause\";\n MediaInteractions2[MediaInteractions2[\"Seeked\"] = 2] = \"Seeked\";\n MediaInteractions2[MediaInteractions2[\"VolumeChange\"] = 3] = \"VolumeChange\";\n MediaInteractions2[MediaInteractions2[\"RateChange\"] = 4] = \"RateChange\";\n return MediaInteractions2;\n})(MediaInteractions || {});\nvar NodeType = /* @__PURE__ */ ((NodeType2) => {\n NodeType2[NodeType2[\"Document\"] = 0] = \"Document\";\n NodeType2[NodeType2[\"DocumentType\"] = 1] = \"DocumentType\";\n NodeType2[NodeType2[\"Element\"] = 2] = \"Element\";\n NodeType2[NodeType2[\"Text\"] = 3] = \"Text\";\n NodeType2[NodeType2[\"CDATA\"] = 4] = \"CDATA\";\n NodeType2[NodeType2[\"Comment\"] = 5] = \"Comment\";\n return NodeType2;\n})(NodeType || {});\nfunction isNodeInLinkedList(n2) {\n return \"__ln\" in n2;\n}\nclass DoubleLinkedList {\n constructor() {\n __publicField(this, \"length\", 0);\n __publicField(this, \"head\", null);\n __publicField(this, \"tail\", null);\n }\n get(position) {\n if (position >= this.length) {\n throw new Error(\"Position outside of list range\");\n }\n let current = this.head;\n for (let index2 = 0; index2 < position; index2++) {\n current = (current == null ? void 0 : current.next) || null;\n }\n return current;\n }\n addNode(n2) {\n const node2 = {\n value: n2,\n previous: null,\n next: null\n };\n n2.__ln = node2;\n if (n2.previousSibling && isNodeInLinkedList(n2.previousSibling)) {\n const current = n2.previousSibling.__ln.next;\n node2.next = current;\n node2.previous = n2.previousSibling.__ln;\n n2.previousSibling.__ln.next = node2;\n if (current) {\n current.previous = node2;\n }\n } else if (n2.nextSibling && isNodeInLinkedList(n2.nextSibling) && n2.nextSibling.__ln.previous) {\n const current = n2.nextSibling.__ln.previous;\n node2.previous = current;\n node2.next = n2.nextSibling.__ln;\n n2.nextSibling.__ln.previous = node2;\n if (current) {\n current.next = node2;\n }\n } else {\n if (this.head) {\n this.head.previous = node2;\n }\n node2.next = this.head;\n this.head = node2;\n }\n if (node2.next === null) {\n this.tail = node2;\n }\n this.length++;\n }\n removeNode(n2) {\n const current = n2.__ln;\n if (!this.head) {\n return;\n }\n if (!current.previous) {\n this.head = current.next;\n if (this.head) {\n this.head.previous = null;\n } else {\n this.tail = null;\n }\n } else {\n current.previous.next = current.next;\n if (current.next) {\n current.next.previous = current.previous;\n } else {\n this.tail = current.previous;\n }\n }\n if (n2.__ln) {\n delete n2.__ln;\n }\n this.length--;\n }\n}\nconst moveKey = (id, parentId) => `${id}@${parentId}`;\nclass MutationBuffer {\n constructor() {\n __publicField(this, \"frozen\", false);\n __publicField(this, \"locked\", false);\n __publicField(this, \"texts\", []);\n __publicField(this, \"attributes\", []);\n __publicField(this, \"attributeMap\", /* @__PURE__ */ new WeakMap());\n __publicField(this, \"removes\", []);\n __publicField(this, \"mapRemoves\", []);\n __publicField(this, \"movedMap\", {});\n __publicField(this, \"addedSet\", /* @__PURE__ */ new Set());\n __publicField(this, \"movedSet\", /* @__PURE__ */ new Set());\n __publicField(this, \"droppedSet\", /* @__PURE__ */ new Set());\n __publicField(this, \"removesSubTreeCache\", /* @__PURE__ */ new Set());\n __publicField(this, \"mutationCb\");\n __publicField(this, \"blockClass\");\n __publicField(this, \"blockSelector\");\n __publicField(this, \"maskTextClass\");\n __publicField(this, \"maskTextSelector\");\n __publicField(this, \"inlineStylesheet\");\n __publicField(this, \"maskInputOptions\");\n __publicField(this, \"maskTextFn\");\n __publicField(this, \"maskInputFn\");\n __publicField(this, \"keepIframeSrcFn\");\n __publicField(this, \"recordCanvas\");\n __publicField(this, \"inlineImages\");\n __publicField(this, \"slimDOMOptions\");\n __publicField(this, \"dataURLOptions\");\n __publicField(this, \"doc\");\n __publicField(this, \"mirror\");\n __publicField(this, \"iframeManager\");\n __publicField(this, \"stylesheetManager\");\n __publicField(this, \"shadowDomManager\");\n __publicField(this, \"canvasManager\");\n __publicField(this, \"processedNodeManager\");\n __publicField(this, \"unattachedDoc\");\n __publicField(this, \"processMutations\", (mutations) => {\n mutations.forEach(this.processMutation);\n this.emit();\n });\n __publicField(this, \"emit\", () => {\n if (this.frozen || this.locked) {\n return;\n }\n const adds = [];\n const addedIds = /* @__PURE__ */ new Set();\n const addList = new DoubleLinkedList();\n const getNextId = (n2) => {\n let ns = n2;\n let nextId = IGNORED_NODE;\n while (nextId === IGNORED_NODE) {\n ns = ns && ns.nextSibling;\n nextId = ns && this.mirror.getId(ns);\n }\n return nextId;\n };\n const pushAdd = (n2) => {\n const parent = index.parentNode(n2);\n if (!parent || !inDom(n2)) {\n return;\n }\n let cssCaptured = false;\n if (n2.nodeType === Node.TEXT_NODE) {\n const parentTag = parent.tagName;\n if (parentTag === \"TEXTAREA\") {\n return;\n } else if (parentTag === \"STYLE\" && this.addedSet.has(parent)) {\n cssCaptured = true;\n }\n }\n const parentId = isShadowRoot(parent) ? this.mirror.getId(getShadowHost(n2)) : this.mirror.getId(parent);\n const nextId = getNextId(n2);\n if (parentId === -1 || nextId === -1) {\n return addList.addNode(n2);\n }\n const sn = serializeNodeWithId(n2, {\n doc: this.doc,\n mirror: this.mirror,\n blockClass: this.blockClass,\n blockSelector: this.blockSelector,\n maskTextClass: this.maskTextClass,\n maskTextSelector: this.maskTextSelector,\n skipChild: true,\n newlyAddedElement: true,\n inlineStylesheet: this.inlineStylesheet,\n maskInputOptions: this.maskInputOptions,\n maskTextFn: this.maskTextFn,\n maskInputFn: this.maskInputFn,\n slimDOMOptions: this.slimDOMOptions,\n dataURLOptions: this.dataURLOptions,\n recordCanvas: this.recordCanvas,\n inlineImages: this.inlineImages,\n onSerialize: (currentN) => {\n if (isSerializedIframe(currentN, this.mirror)) {\n this.iframeManager.addIframe(currentN);\n }\n if (isSerializedStylesheet(currentN, this.mirror)) {\n this.stylesheetManager.trackLinkElement(\n currentN\n );\n }\n if (hasShadowRoot(n2)) {\n this.shadowDomManager.addShadowRoot(index.shadowRoot(n2), this.doc);\n }\n },\n onIframeLoad: (iframe, childSn) => {\n this.iframeManager.attachIframe(iframe, childSn);\n this.shadowDomManager.observeAttachShadow(iframe);\n },\n onStylesheetLoad: (link, childSn) => {\n this.stylesheetManager.attachLinkElement(link, childSn);\n },\n cssCaptured\n });\n if (sn) {\n adds.push({\n parentId,\n nextId,\n node: sn\n });\n addedIds.add(sn.id);\n }\n };\n while (this.mapRemoves.length) {\n this.mirror.removeNodeFromMap(this.mapRemoves.shift());\n }\n for (const n2 of this.movedSet) {\n if (isParentRemoved(this.removesSubTreeCache, n2, this.mirror) && !this.movedSet.has(index.parentNode(n2))) {\n continue;\n }\n pushAdd(n2);\n }\n for (const n2 of this.addedSet) {\n if (!isAncestorInSet(this.droppedSet, n2) && !isParentRemoved(this.removesSubTreeCache, n2, this.mirror)) {\n pushAdd(n2);\n } else if (isAncestorInSet(this.movedSet, n2)) {\n pushAdd(n2);\n } else {\n this.droppedSet.add(n2);\n }\n }\n let candidate = null;\n while (addList.length) {\n let node2 = null;\n if (candidate) {\n const parentId = this.mirror.getId(index.parentNode(candidate.value));\n const nextId = getNextId(candidate.value);\n if (parentId !== -1 && nextId !== -1) {\n node2 = candidate;\n }\n }\n if (!node2) {\n let tailNode = addList.tail;\n while (tailNode) {\n const _node = tailNode;\n tailNode = tailNode.previous;\n if (_node) {\n const parentId = this.mirror.getId(index.parentNode(_node.value));\n const nextId = getNextId(_node.value);\n if (nextId === -1) continue;\n else if (parentId !== -1) {\n node2 = _node;\n break;\n } else {\n const unhandledNode = _node.value;\n const parent = index.parentNode(unhandledNode);\n if (parent && parent.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n const shadowHost = index.host(parent);\n const parentId2 = this.mirror.getId(shadowHost);\n if (parentId2 !== -1) {\n node2 = _node;\n break;\n }\n }\n }\n }\n }\n }\n if (!node2) {\n while (addList.head) {\n addList.removeNode(addList.head.value);\n }\n break;\n }\n candidate = node2.previous;\n addList.removeNode(node2.value);\n pushAdd(node2.value);\n }\n const payload = {\n texts: this.texts.map((text) => {\n const n2 = text.node;\n const parent = index.parentNode(n2);\n if (parent && parent.tagName === \"TEXTAREA\") {\n this.genTextAreaValueMutation(parent);\n }\n return {\n id: this.mirror.getId(n2),\n value: text.value\n };\n }).filter((text) => !addedIds.has(text.id)).filter((text) => this.mirror.has(text.id)),\n attributes: this.attributes.map((attribute) => {\n const { attributes } = attribute;\n if (typeof attributes.style === \"string\") {\n const diffAsStr = JSON.stringify(attribute.styleDiff);\n const unchangedAsStr = JSON.stringify(attribute._unchangedStyles);\n if (diffAsStr.length < attributes.style.length) {\n if ((diffAsStr + unchangedAsStr).split(\"var(\").length === attributes.style.split(\"var(\").length) {\n attributes.style = attribute.styleDiff;\n }\n }\n }\n return {\n id: this.mirror.getId(attribute.node),\n attributes\n };\n }).filter((attribute) => !addedIds.has(attribute.id)).filter((attribute) => this.mirror.has(attribute.id)),\n removes: this.removes,\n adds\n };\n if (!payload.texts.length && !payload.attributes.length && !payload.removes.length && !payload.adds.length) {\n return;\n }\n this.texts = [];\n this.attributes = [];\n this.attributeMap = /* @__PURE__ */ new WeakMap();\n this.removes = [];\n this.addedSet = /* @__PURE__ */ new Set();\n this.movedSet = /* @__PURE__ */ new Set();\n this.droppedSet = /* @__PURE__ */ new Set();\n this.removesSubTreeCache = /* @__PURE__ */ new Set();\n this.movedMap = {};\n this.mutationCb(payload);\n });\n __publicField(this, \"genTextAreaValueMutation\", (textarea) => {\n let item = this.attributeMap.get(textarea);\n if (!item) {\n item = {\n node: textarea,\n attributes: {},\n styleDiff: {},\n _unchangedStyles: {}\n };\n this.attributes.push(item);\n this.attributeMap.set(textarea, item);\n }\n item.attributes.value = Array.from(\n index.childNodes(textarea),\n (cn) => index.textContent(cn) || \"\"\n ).join(\"\");\n });\n __publicField(this, \"processMutation\", (m) => {\n if (isIgnored(m.target, this.mirror, this.slimDOMOptions)) {\n return;\n }\n switch (m.type) {\n case \"characterData\": {\n const value = index.textContent(m.target);\n if (!isBlocked(m.target, this.blockClass, this.blockSelector, false) && value !== m.oldValue) {\n this.texts.push({\n value: needMaskingText(\n m.target,\n this.maskTextClass,\n this.maskTextSelector,\n true\n // checkAncestors\n ) && value ? this.maskTextFn ? this.maskTextFn(value, closestElementOfNode(m.target)) : value.replace(/[\\S]/g, \"*\") : value,\n node: m.target\n });\n }\n break;\n }\n case \"attributes\": {\n const target = m.target;\n let attributeName = m.attributeName;\n let value = m.target.getAttribute(attributeName);\n if (attributeName === \"value\") {\n const type = getInputType(target);\n value = maskInputValue({\n element: target,\n maskInputOptions: this.maskInputOptions,\n tagName: target.tagName,\n type,\n value,\n maskInputFn: this.maskInputFn\n });\n }\n if (isBlocked(m.target, this.blockClass, this.blockSelector, false) || value === m.oldValue) {\n return;\n }\n let item = this.attributeMap.get(m.target);\n if (target.tagName === \"IFRAME\" && attributeName === \"src\" && !this.keepIframeSrcFn(value)) {\n if (!target.contentDocument) {\n attributeName = \"rr_src\";\n } else {\n return;\n }\n }\n if (!item) {\n item = {\n node: m.target,\n attributes: {},\n styleDiff: {},\n _unchangedStyles: {}\n };\n this.attributes.push(item);\n this.attributeMap.set(m.target, item);\n }\n if (attributeName === \"type\" && target.tagName === \"INPUT\" && (m.oldValue || \"\").toLowerCase() === \"password\") {\n target.setAttribute(\"data-rr-is-password\", \"true\");\n }\n if (!ignoreAttribute(target.tagName, attributeName)) {\n item.attributes[attributeName] = transformAttribute(\n this.doc,\n toLowerCase(target.tagName),\n toLowerCase(attributeName),\n value\n );\n if (attributeName === \"style\") {\n if (!this.unattachedDoc) {\n try {\n this.unattachedDoc = document.implementation.createHTMLDocument();\n } catch (e2) {\n this.unattachedDoc = this.doc;\n }\n }\n const old = this.unattachedDoc.createElement(\"span\");\n if (m.oldValue) {\n old.setAttribute(\"style\", m.oldValue);\n }\n for (const pname of Array.from(target.style)) {\n const newValue = target.style.getPropertyValue(pname);\n const newPriority = target.style.getPropertyPriority(pname);\n if (newValue !== old.style.getPropertyValue(pname) || newPriority !== old.style.getPropertyPriority(pname)) {\n if (newPriority === \"\") {\n item.styleDiff[pname] = newValue;\n } else {\n item.styleDiff[pname] = [newValue, newPriority];\n }\n } else {\n item._unchangedStyles[pname] = [newValue, newPriority];\n }\n }\n for (const pname of Array.from(old.style)) {\n if (target.style.getPropertyValue(pname) === \"\") {\n item.styleDiff[pname] = false;\n }\n }\n } else if (attributeName === \"open\" && target.tagName === \"DIALOG\") {\n if (target.matches(\"dialog:modal\")) {\n item.attributes[\"rr_open_mode\"] = \"modal\";\n } else {\n item.attributes[\"rr_open_mode\"] = \"non-modal\";\n }\n }\n }\n break;\n }\n case \"childList\": {\n if (isBlocked(m.target, this.blockClass, this.blockSelector, true))\n return;\n if (m.target.tagName === \"TEXTAREA\") {\n this.genTextAreaValueMutation(m.target);\n return;\n }\n m.addedNodes.forEach((n2) => this.genAdds(n2, m.target));\n m.removedNodes.forEach((n2) => {\n const nodeId = this.mirror.getId(n2);\n const parentId = isShadowRoot(m.target) ? this.mirror.getId(index.host(m.target)) : this.mirror.getId(m.target);\n if (isBlocked(m.target, this.blockClass, this.blockSelector, false) || isIgnored(n2, this.mirror, this.slimDOMOptions) || !isSerialized(n2, this.mirror)) {\n return;\n }\n if (this.addedSet.has(n2)) {\n deepDelete(this.addedSet, n2);\n this.droppedSet.add(n2);\n } else if (this.addedSet.has(m.target) && nodeId === -1) ;\n else if (isAncestorRemoved(m.target, this.mirror)) ;\n else if (this.movedSet.has(n2) && this.movedMap[moveKey(nodeId, parentId)]) {\n deepDelete(this.movedSet, n2);\n } else {\n this.removes.push({\n parentId,\n id: nodeId,\n isShadow: isShadowRoot(m.target) && isNativeShadowDom(m.target) ? true : void 0\n });\n processRemoves(n2, this.removesSubTreeCache);\n }\n this.mapRemoves.push(n2);\n });\n break;\n }\n }\n });\n __publicField(this, \"genAdds\", (n2, target) => {\n if (this.processedNodeManager.inOtherBuffer(n2, this)) return;\n if (this.addedSet.has(n2) || this.movedSet.has(n2)) return;\n if (this.mirror.hasNode(n2)) {\n if (isIgnored(n2, this.mirror, this.slimDOMOptions)) {\n return;\n }\n this.movedSet.add(n2);\n let targetId = null;\n if (target && this.mirror.hasNode(target)) {\n targetId = this.mirror.getId(target);\n }\n if (targetId && targetId !== -1) {\n this.movedMap[moveKey(this.mirror.getId(n2), targetId)] = true;\n }\n } else {\n this.addedSet.add(n2);\n this.droppedSet.delete(n2);\n }\n if (!isBlocked(n2, this.blockClass, this.blockSelector, false)) {\n index.childNodes(n2).forEach((childN) => this.genAdds(childN));\n if (hasShadowRoot(n2)) {\n index.childNodes(index.shadowRoot(n2)).forEach((childN) => {\n this.processedNodeManager.add(childN, this);\n this.genAdds(childN, n2);\n });\n }\n }\n });\n }\n init(options) {\n [\n \"mutationCb\",\n \"blockClass\",\n \"blockSelector\",\n \"maskTextClass\",\n \"maskTextSelector\",\n \"inlineStylesheet\",\n \"maskInputOptions\",\n \"maskTextFn\",\n \"maskInputFn\",\n \"keepIframeSrcFn\",\n \"recordCanvas\",\n \"inlineImages\",\n \"slimDOMOptions\",\n \"dataURLOptions\",\n \"doc\",\n \"mirror\",\n \"iframeManager\",\n \"stylesheetManager\",\n \"shadowDomManager\",\n \"canvasManager\",\n \"processedNodeManager\"\n ].forEach((key) => {\n this[key] = options[key];\n });\n }\n freeze() {\n this.frozen = true;\n this.canvasManager.freeze();\n }\n unfreeze() {\n this.frozen = false;\n this.canvasManager.unfreeze();\n this.emit();\n }\n isFrozen() {\n return this.frozen;\n }\n lock() {\n this.locked = true;\n this.canvasManager.lock();\n }\n unlock() {\n this.locked = false;\n this.canvasManager.unlock();\n this.emit();\n }\n reset() {\n this.shadowDomManager.reset();\n this.canvasManager.reset();\n }\n}\nfunction deepDelete(addsSet, n2) {\n addsSet.delete(n2);\n index.childNodes(n2).forEach((childN) => deepDelete(addsSet, childN));\n}\nfunction processRemoves(n2, cache) {\n const queue = [n2];\n while (queue.length) {\n const next = queue.pop();\n if (cache.has(next)) continue;\n cache.add(next);\n index.childNodes(next).forEach((n22) => queue.push(n22));\n }\n return;\n}\nfunction isParentRemoved(removes, n2, mirror2) {\n if (removes.size === 0) return false;\n return _isParentRemoved(removes, n2);\n}\nfunction _isParentRemoved(removes, n2, _mirror2) {\n const node2 = index.parentNode(n2);\n if (!node2) return false;\n return removes.has(node2);\n}\nfunction isAncestorInSet(set, n2) {\n if (set.size === 0) return false;\n return _isAncestorInSet(set, n2);\n}\nfunction _isAncestorInSet(set, n2) {\n const parent = index.parentNode(n2);\n if (!parent) {\n return false;\n }\n if (set.has(parent)) {\n return true;\n }\n return _isAncestorInSet(set, parent);\n}\nlet errorHandler;\nfunction registerErrorHandler(handler) {\n errorHandler = handler;\n}\nfunction unregisterErrorHandler() {\n errorHandler = void 0;\n}\nconst callbackWrapper = (cb) => {\n if (!errorHandler) {\n return cb;\n }\n const rrwebWrapped = (...rest) => {\n try {\n return cb(...rest);\n } catch (error) {\n if (errorHandler && errorHandler(error) === true) {\n return;\n }\n throw error;\n }\n };\n return rrwebWrapped;\n};\nconst mutationBuffers = [];\nfunction getEventTarget(event) {\n try {\n if (\"composedPath\" in event) {\n const path = event.composedPath();\n if (path.length) {\n return path[0];\n }\n } else if (\"path\" in event && event.path.length) {\n return event.path[0];\n }\n } catch {\n }\n return event && event.target;\n}\nfunction initMutationObserver(options, rootEl) {\n const mutationBuffer = new MutationBuffer();\n mutationBuffers.push(mutationBuffer);\n mutationBuffer.init(options);\n const observer = new (mutationObserverCtor())(\n callbackWrapper(mutationBuffer.processMutations.bind(mutationBuffer))\n );\n observer.observe(rootEl, {\n attributes: true,\n attributeOldValue: true,\n characterData: true,\n characterDataOldValue: true,\n childList: true,\n subtree: true\n });\n return observer;\n}\nfunction initMoveObserver({\n mousemoveCb,\n sampling,\n doc,\n mirror: mirror2\n}) {\n if (sampling.mousemove === false) {\n return () => {\n };\n }\n const threshold = typeof sampling.mousemove === \"number\" ? sampling.mousemove : 50;\n const callbackThreshold = typeof sampling.mousemoveCallback === \"number\" ? sampling.mousemoveCallback : 500;\n let positions = [];\n let timeBaseline;\n const wrappedCb = throttle(\n callbackWrapper(\n (source) => {\n const totalOffset = Date.now() - timeBaseline;\n mousemoveCb(\n positions.map((p) => {\n p.timeOffset -= totalOffset;\n return p;\n }),\n source\n );\n positions = [];\n timeBaseline = null;\n }\n ),\n callbackThreshold\n );\n const updatePosition = callbackWrapper(\n throttle(\n callbackWrapper((evt) => {\n const target = getEventTarget(evt);\n const { clientX, clientY } = legacy_isTouchEvent(evt) ? evt.changedTouches[0] : evt;\n if (!timeBaseline) {\n timeBaseline = nowTimestamp();\n }\n positions.push({\n x: clientX,\n y: clientY,\n id: mirror2.getId(target),\n timeOffset: nowTimestamp() - timeBaseline\n });\n wrappedCb(\n typeof DragEvent !== \"undefined\" && evt instanceof DragEvent ? IncrementalSource.Drag : evt instanceof MouseEvent ? IncrementalSource.MouseMove : IncrementalSource.TouchMove\n );\n }),\n threshold,\n {\n trailing: false\n }\n )\n );\n const handlers = [\n on(\"mousemove\", updatePosition, doc),\n on(\"touchmove\", updatePosition, doc),\n on(\"drag\", updatePosition, doc)\n ];\n return callbackWrapper(() => {\n handlers.forEach((h) => h());\n });\n}\nfunction initMouseInteractionObserver({\n mouseInteractionCb,\n doc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n sampling\n}) {\n if (sampling.mouseInteraction === false) {\n return () => {\n };\n }\n const disableMap = sampling.mouseInteraction === true || sampling.mouseInteraction === void 0 ? {} : sampling.mouseInteraction;\n const handlers = [];\n let currentPointerType = null;\n const getHandler = (eventKey) => {\n return (event) => {\n const target = getEventTarget(event);\n if (isBlocked(target, blockClass, blockSelector, true)) {\n return;\n }\n let pointerType = null;\n let thisEventKey = eventKey;\n if (\"pointerType\" in event) {\n switch (event.pointerType) {\n case \"mouse\":\n pointerType = PointerTypes.Mouse;\n break;\n case \"touch\":\n pointerType = PointerTypes.Touch;\n break;\n case \"pen\":\n pointerType = PointerTypes.Pen;\n break;\n }\n if (pointerType === PointerTypes.Touch) {\n if (MouseInteractions[eventKey] === MouseInteractions.MouseDown) {\n thisEventKey = \"TouchStart\";\n } else if (MouseInteractions[eventKey] === MouseInteractions.MouseUp) {\n thisEventKey = \"TouchEnd\";\n }\n } else if (pointerType === PointerTypes.Pen) ;\n } else if (legacy_isTouchEvent(event)) {\n pointerType = PointerTypes.Touch;\n }\n if (pointerType !== null) {\n currentPointerType = pointerType;\n if (thisEventKey.startsWith(\"Touch\") && pointerType === PointerTypes.Touch || thisEventKey.startsWith(\"Mouse\") && pointerType === PointerTypes.Mouse) {\n pointerType = null;\n }\n } else if (MouseInteractions[eventKey] === MouseInteractions.Click) {\n pointerType = currentPointerType;\n currentPointerType = null;\n }\n const e2 = legacy_isTouchEvent(event) ? event.changedTouches[0] : event;\n if (!e2) {\n return;\n }\n const id = mirror2.getId(target);\n const { clientX, clientY } = e2;\n callbackWrapper(mouseInteractionCb)({\n type: MouseInteractions[thisEventKey],\n id,\n x: clientX,\n y: clientY,\n ...pointerType !== null && { pointerType }\n });\n };\n };\n Object.keys(MouseInteractions).filter(\n (key) => Number.isNaN(Number(key)) && !key.endsWith(\"_Departed\") && disableMap[key] !== false\n ).forEach((eventKey) => {\n let eventName = toLowerCase(eventKey);\n const handler = getHandler(eventKey);\n if (window.PointerEvent) {\n switch (MouseInteractions[eventKey]) {\n case MouseInteractions.MouseDown:\n case MouseInteractions.MouseUp:\n eventName = eventName.replace(\n \"mouse\",\n \"pointer\"\n );\n break;\n case MouseInteractions.TouchStart:\n case MouseInteractions.TouchEnd:\n return;\n }\n }\n handlers.push(on(eventName, handler, doc));\n });\n return callbackWrapper(() => {\n handlers.forEach((h) => h());\n });\n}\nfunction initScrollObserver({\n scrollCb,\n doc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n sampling\n}) {\n const updatePosition = callbackWrapper(\n throttle(\n callbackWrapper((evt) => {\n const target = getEventTarget(evt);\n if (!target || isBlocked(target, blockClass, blockSelector, true)) {\n return;\n }\n const id = mirror2.getId(target);\n if (target === doc && doc.defaultView) {\n const scrollLeftTop = getWindowScroll(doc.defaultView);\n scrollCb({\n id,\n x: scrollLeftTop.left,\n y: scrollLeftTop.top\n });\n } else {\n scrollCb({\n id,\n x: target.scrollLeft,\n y: target.scrollTop\n });\n }\n }),\n sampling.scroll || 100\n )\n );\n return on(\"scroll\", updatePosition, doc);\n}\nfunction initViewportResizeObserver({ viewportResizeCb }, { win }) {\n let lastH = -1;\n let lastW = -1;\n const updateDimension = callbackWrapper(\n throttle(\n callbackWrapper(() => {\n const height = getWindowHeight();\n const width = getWindowWidth();\n if (lastH !== height || lastW !== width) {\n viewportResizeCb({\n width: Number(width),\n height: Number(height)\n });\n lastH = height;\n lastW = width;\n }\n }),\n 200\n )\n );\n return on(\"resize\", updateDimension, win);\n}\nconst INPUT_TAGS = [\"INPUT\", \"TEXTAREA\", \"SELECT\"];\nconst lastInputValueMap = /* @__PURE__ */ new WeakMap();\nfunction initInputObserver({\n inputCb,\n doc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n ignoreClass,\n ignoreSelector,\n maskInputOptions,\n maskInputFn,\n sampling,\n userTriggeredOnInput\n}) {\n function eventHandler(event) {\n let target = getEventTarget(event);\n const userTriggered = event.isTrusted;\n const tagName = target && target.tagName;\n if (target && tagName === \"OPTION\") {\n target = index.parentElement(target);\n }\n if (!target || !tagName || INPUT_TAGS.indexOf(tagName) < 0 || isBlocked(target, blockClass, blockSelector, true)) {\n return;\n }\n if (target.classList.contains(ignoreClass) || ignoreSelector && target.matches(ignoreSelector)) {\n return;\n }\n let text = target.value;\n let isChecked = false;\n const type = getInputType(target) || \"\";\n if (type === \"radio\" || type === \"checkbox\") {\n isChecked = target.checked;\n } else if (maskInputOptions[tagName.toLowerCase()] || maskInputOptions[type]) {\n text = maskInputValue({\n element: target,\n maskInputOptions,\n tagName,\n type,\n value: text,\n maskInputFn\n });\n }\n cbWithDedup(\n target,\n userTriggeredOnInput ? { text, isChecked, userTriggered } : { text, isChecked }\n );\n const name = target.name;\n if (type === \"radio\" && name && isChecked) {\n doc.querySelectorAll(`input[type=\"radio\"][name=\"${name}\"]`).forEach((el) => {\n if (el !== target) {\n const text2 = el.value;\n cbWithDedup(\n el,\n userTriggeredOnInput ? { text: text2, isChecked: !isChecked, userTriggered: false } : { text: text2, isChecked: !isChecked }\n );\n }\n });\n }\n }\n function cbWithDedup(target, v2) {\n const lastInputValue = lastInputValueMap.get(target);\n if (!lastInputValue || lastInputValue.text !== v2.text || lastInputValue.isChecked !== v2.isChecked) {\n lastInputValueMap.set(target, v2);\n const id = mirror2.getId(target);\n callbackWrapper(inputCb)({\n ...v2,\n id\n });\n }\n }\n const events = sampling.input === \"last\" ? [\"change\"] : [\"input\", \"change\"];\n const handlers = events.map(\n (eventName) => on(eventName, callbackWrapper(eventHandler), doc)\n );\n const currentWindow = doc.defaultView;\n if (!currentWindow) {\n return () => {\n handlers.forEach((h) => h());\n };\n }\n const propertyDescriptor = currentWindow.Object.getOwnPropertyDescriptor(\n currentWindow.HTMLInputElement.prototype,\n \"value\"\n );\n const hookProperties = [\n [currentWindow.HTMLInputElement.prototype, \"value\"],\n [currentWindow.HTMLInputElement.prototype, \"checked\"],\n [currentWindow.HTMLSelectElement.prototype, \"value\"],\n [currentWindow.HTMLTextAreaElement.prototype, \"value\"],\n // Some UI library use selectedIndex to set select value\n [currentWindow.HTMLSelectElement.prototype, \"selectedIndex\"],\n [currentWindow.HTMLOptionElement.prototype, \"selected\"]\n ];\n if (propertyDescriptor && propertyDescriptor.set) {\n handlers.push(\n ...hookProperties.map(\n (p) => hookSetter(\n p[0],\n p[1],\n {\n set() {\n callbackWrapper(eventHandler)({\n target: this,\n isTrusted: false\n // userTriggered to false as this could well be programmatic\n });\n }\n },\n false,\n currentWindow\n )\n )\n );\n }\n return callbackWrapper(() => {\n handlers.forEach((h) => h());\n });\n}\nfunction getNestedCSSRulePositions(rule2) {\n const positions = [];\n function recurse(childRule, pos) {\n if (hasNestedCSSRule(\"CSSGroupingRule\") && childRule.parentRule instanceof CSSGroupingRule || hasNestedCSSRule(\"CSSMediaRule\") && childRule.parentRule instanceof CSSMediaRule || hasNestedCSSRule(\"CSSSupportsRule\") && childRule.parentRule instanceof CSSSupportsRule || hasNestedCSSRule(\"CSSConditionRule\") && childRule.parentRule instanceof CSSConditionRule) {\n const rules2 = Array.from(\n childRule.parentRule.cssRules\n );\n const index2 = rules2.indexOf(childRule);\n pos.unshift(index2);\n } else if (childRule.parentStyleSheet) {\n const rules2 = Array.from(childRule.parentStyleSheet.cssRules);\n const index2 = rules2.indexOf(childRule);\n pos.unshift(index2);\n }\n return pos;\n }\n return recurse(rule2, positions);\n}\nfunction getIdAndStyleId(sheet, mirror2, styleMirror) {\n let id, styleId;\n if (!sheet) return {};\n if (sheet.ownerNode) id = mirror2.getId(sheet.ownerNode);\n else styleId = styleMirror.getId(sheet);\n return {\n styleId,\n id\n };\n}\nfunction initStyleSheetObserver({ styleSheetRuleCb, mirror: mirror2, stylesheetManager }, { win }) {\n if (!win.CSSStyleSheet || !win.CSSStyleSheet.prototype) {\n return () => {\n };\n }\n const insertRule = win.CSSStyleSheet.prototype.insertRule;\n win.CSSStyleSheet.prototype.insertRule = new Proxy(insertRule, {\n apply: callbackWrapper(\n (target, thisArg, argumentsList) => {\n const [rule2, index2] = argumentsList;\n const { id, styleId } = getIdAndStyleId(\n thisArg,\n mirror2,\n stylesheetManager.styleMirror\n );\n if (id && id !== -1 || styleId && styleId !== -1) {\n styleSheetRuleCb({\n id,\n styleId,\n adds: [{ rule: rule2, index: index2 }]\n });\n }\n return target.apply(thisArg, argumentsList);\n }\n )\n });\n win.CSSStyleSheet.prototype.addRule = function(selector, styleBlock, index2 = this.cssRules.length) {\n const rule2 = `${selector} { ${styleBlock} }`;\n return win.CSSStyleSheet.prototype.insertRule.apply(this, [rule2, index2]);\n };\n const deleteRule = win.CSSStyleSheet.prototype.deleteRule;\n win.CSSStyleSheet.prototype.deleteRule = new Proxy(deleteRule, {\n apply: callbackWrapper(\n (target, thisArg, argumentsList) => {\n const [index2] = argumentsList;\n const { id, styleId } = getIdAndStyleId(\n thisArg,\n mirror2,\n stylesheetManager.styleMirror\n );\n if (id && id !== -1 || styleId && styleId !== -1) {\n styleSheetRuleCb({\n id,\n styleId,\n removes: [{ index: index2 }]\n });\n }\n return target.apply(thisArg, argumentsList);\n }\n )\n });\n win.CSSStyleSheet.prototype.removeRule = function(index2) {\n return win.CSSStyleSheet.prototype.deleteRule.apply(this, [index2]);\n };\n let replace;\n if (win.CSSStyleSheet.prototype.replace) {\n replace = win.CSSStyleSheet.prototype.replace;\n win.CSSStyleSheet.prototype.replace = new Proxy(replace, {\n apply: callbackWrapper(\n (target, thisArg, argumentsList) => {\n const [text] = argumentsList;\n const { id, styleId } = getIdAndStyleId(\n thisArg,\n mirror2,\n stylesheetManager.styleMirror\n );\n if (id && id !== -1 || styleId && styleId !== -1) {\n styleSheetRuleCb({\n id,\n styleId,\n replace: text\n });\n }\n return target.apply(thisArg, argumentsList);\n }\n )\n });\n }\n let replaceSync;\n if (win.CSSStyleSheet.prototype.replaceSync) {\n replaceSync = win.CSSStyleSheet.prototype.replaceSync;\n win.CSSStyleSheet.prototype.replaceSync = new Proxy(replaceSync, {\n apply: callbackWrapper(\n (target, thisArg, argumentsList) => {\n const [text] = argumentsList;\n const { id, styleId } = getIdAndStyleId(\n thisArg,\n mirror2,\n stylesheetManager.styleMirror\n );\n if (id && id !== -1 || styleId && styleId !== -1) {\n styleSheetRuleCb({\n id,\n styleId,\n replaceSync: text\n });\n }\n return target.apply(thisArg, argumentsList);\n }\n )\n });\n }\n const supportedNestedCSSRuleTypes = {};\n if (canMonkeyPatchNestedCSSRule(\"CSSGroupingRule\")) {\n supportedNestedCSSRuleTypes.CSSGroupingRule = win.CSSGroupingRule;\n } else {\n if (canMonkeyPatchNestedCSSRule(\"CSSMediaRule\")) {\n supportedNestedCSSRuleTypes.CSSMediaRule = win.CSSMediaRule;\n }\n if (canMonkeyPatchNestedCSSRule(\"CSSConditionRule\")) {\n supportedNestedCSSRuleTypes.CSSConditionRule = win.CSSConditionRule;\n }\n if (canMonkeyPatchNestedCSSRule(\"CSSSupportsRule\")) {\n supportedNestedCSSRuleTypes.CSSSupportsRule = win.CSSSupportsRule;\n }\n }\n const unmodifiedFunctions = {};\n Object.entries(supportedNestedCSSRuleTypes).forEach(([typeKey, type]) => {\n unmodifiedFunctions[typeKey] = {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n insertRule: type.prototype.insertRule,\n // eslint-disable-next-line @typescript-eslint/unbound-method\n deleteRule: type.prototype.deleteRule\n };\n type.prototype.insertRule = new Proxy(\n unmodifiedFunctions[typeKey].insertRule,\n {\n apply: callbackWrapper(\n (target, thisArg, argumentsList) => {\n const [rule2, index2] = argumentsList;\n const { id, styleId } = getIdAndStyleId(\n thisArg.parentStyleSheet,\n mirror2,\n stylesheetManager.styleMirror\n );\n if (id && id !== -1 || styleId && styleId !== -1) {\n styleSheetRuleCb({\n id,\n styleId,\n adds: [\n {\n rule: rule2,\n index: [\n ...getNestedCSSRulePositions(thisArg),\n index2 || 0\n // defaults to 0\n ]\n }\n ]\n });\n }\n return target.apply(thisArg, argumentsList);\n }\n )\n }\n );\n type.prototype.deleteRule = new Proxy(\n unmodifiedFunctions[typeKey].deleteRule,\n {\n apply: callbackWrapper(\n (target, thisArg, argumentsList) => {\n const [index2] = argumentsList;\n const { id, styleId } = getIdAndStyleId(\n thisArg.parentStyleSheet,\n mirror2,\n stylesheetManager.styleMirror\n );\n if (id && id !== -1 || styleId && styleId !== -1) {\n styleSheetRuleCb({\n id,\n styleId,\n removes: [\n { index: [...getNestedCSSRulePositions(thisArg), index2] }\n ]\n });\n }\n return target.apply(thisArg, argumentsList);\n }\n )\n }\n );\n });\n return callbackWrapper(() => {\n win.CSSStyleSheet.prototype.insertRule = insertRule;\n win.CSSStyleSheet.prototype.deleteRule = deleteRule;\n replace && (win.CSSStyleSheet.prototype.replace = replace);\n replaceSync && (win.CSSStyleSheet.prototype.replaceSync = replaceSync);\n Object.entries(supportedNestedCSSRuleTypes).forEach(([typeKey, type]) => {\n type.prototype.insertRule = unmodifiedFunctions[typeKey].insertRule;\n type.prototype.deleteRule = unmodifiedFunctions[typeKey].deleteRule;\n });\n });\n}\nfunction initAdoptedStyleSheetObserver({\n mirror: mirror2,\n stylesheetManager\n}, host2) {\n var _a2, _b, _c;\n let hostId = null;\n if (host2.nodeName === \"#document\") hostId = mirror2.getId(host2);\n else hostId = mirror2.getId(index.host(host2));\n const patchTarget = host2.nodeName === \"#document\" ? (_a2 = host2.defaultView) == null ? void 0 : _a2.Document : (_c = (_b = host2.ownerDocument) == null ? void 0 : _b.defaultView) == null ? void 0 : _c.ShadowRoot;\n const originalPropertyDescriptor = (patchTarget == null ? void 0 : patchTarget.prototype) ? Object.getOwnPropertyDescriptor(\n patchTarget == null ? void 0 : patchTarget.prototype,\n \"adoptedStyleSheets\"\n ) : void 0;\n if (hostId === null || hostId === -1 || !patchTarget || !originalPropertyDescriptor)\n return () => {\n };\n Object.defineProperty(host2, \"adoptedStyleSheets\", {\n configurable: originalPropertyDescriptor.configurable,\n enumerable: originalPropertyDescriptor.enumerable,\n get() {\n var _a3;\n return (_a3 = originalPropertyDescriptor.get) == null ? void 0 : _a3.call(this);\n },\n set(sheets) {\n var _a3;\n const result2 = (_a3 = originalPropertyDescriptor.set) == null ? void 0 : _a3.call(this, sheets);\n if (hostId !== null && hostId !== -1) {\n try {\n stylesheetManager.adoptStyleSheets(sheets, hostId);\n } catch (e2) {\n }\n }\n return result2;\n }\n });\n return callbackWrapper(() => {\n Object.defineProperty(host2, \"adoptedStyleSheets\", {\n configurable: originalPropertyDescriptor.configurable,\n enumerable: originalPropertyDescriptor.enumerable,\n // eslint-disable-next-line @typescript-eslint/unbound-method\n get: originalPropertyDescriptor.get,\n // eslint-disable-next-line @typescript-eslint/unbound-method\n set: originalPropertyDescriptor.set\n });\n });\n}\nfunction initStyleDeclarationObserver({\n styleDeclarationCb,\n mirror: mirror2,\n ignoreCSSAttributes,\n stylesheetManager\n}, { win }) {\n const setProperty = win.CSSStyleDeclaration.prototype.setProperty;\n win.CSSStyleDeclaration.prototype.setProperty = new Proxy(setProperty, {\n apply: callbackWrapper(\n (target, thisArg, argumentsList) => {\n var _a2;\n const [property, value, priority] = argumentsList;\n if (ignoreCSSAttributes.has(property)) {\n return setProperty.apply(thisArg, [property, value, priority]);\n }\n const { id, styleId } = getIdAndStyleId(\n (_a2 = thisArg.parentRule) == null ? void 0 : _a2.parentStyleSheet,\n mirror2,\n stylesheetManager.styleMirror\n );\n if (id && id !== -1 || styleId && styleId !== -1) {\n styleDeclarationCb({\n id,\n styleId,\n set: {\n property,\n value,\n priority\n },\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n index: getNestedCSSRulePositions(thisArg.parentRule)\n });\n }\n return target.apply(thisArg, argumentsList);\n }\n )\n });\n const removeProperty = win.CSSStyleDeclaration.prototype.removeProperty;\n win.CSSStyleDeclaration.prototype.removeProperty = new Proxy(removeProperty, {\n apply: callbackWrapper(\n (target, thisArg, argumentsList) => {\n var _a2;\n const [property] = argumentsList;\n if (ignoreCSSAttributes.has(property)) {\n return removeProperty.apply(thisArg, [property]);\n }\n const { id, styleId } = getIdAndStyleId(\n (_a2 = thisArg.parentRule) == null ? void 0 : _a2.parentStyleSheet,\n mirror2,\n stylesheetManager.styleMirror\n );\n if (id && id !== -1 || styleId && styleId !== -1) {\n styleDeclarationCb({\n id,\n styleId,\n remove: {\n property\n },\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n index: getNestedCSSRulePositions(thisArg.parentRule)\n });\n }\n return target.apply(thisArg, argumentsList);\n }\n )\n });\n return callbackWrapper(() => {\n win.CSSStyleDeclaration.prototype.setProperty = setProperty;\n win.CSSStyleDeclaration.prototype.removeProperty = removeProperty;\n });\n}\nfunction initMediaInteractionObserver({\n mediaInteractionCb,\n blockClass,\n blockSelector,\n mirror: mirror2,\n sampling,\n doc\n}) {\n const handler = callbackWrapper(\n (type) => throttle(\n callbackWrapper((event) => {\n const target = getEventTarget(event);\n if (!target || isBlocked(target, blockClass, blockSelector, true)) {\n return;\n }\n const { currentTime, volume, muted, playbackRate, loop } = target;\n mediaInteractionCb({\n type,\n id: mirror2.getId(target),\n currentTime,\n volume,\n muted,\n playbackRate,\n loop\n });\n }),\n sampling.media || 500\n )\n );\n const handlers = [\n on(\"play\", handler(MediaInteractions.Play), doc),\n on(\"pause\", handler(MediaInteractions.Pause), doc),\n on(\"seeked\", handler(MediaInteractions.Seeked), doc),\n on(\"volumechange\", handler(MediaInteractions.VolumeChange), doc),\n on(\"ratechange\", handler(MediaInteractions.RateChange), doc)\n ];\n return callbackWrapper(() => {\n handlers.forEach((h) => h());\n });\n}\nfunction initFontObserver({ fontCb, doc }) {\n const win = doc.defaultView;\n if (!win) {\n return () => {\n };\n }\n const handlers = [];\n const fontMap = /* @__PURE__ */ new WeakMap();\n const originalFontFace = win.FontFace;\n win.FontFace = function FontFace2(family, source, descriptors) {\n const fontFace = new originalFontFace(family, source, descriptors);\n fontMap.set(fontFace, {\n family,\n buffer: typeof source !== \"string\",\n descriptors,\n fontSource: typeof source === \"string\" ? source : JSON.stringify(Array.from(new Uint8Array(source)))\n });\n return fontFace;\n };\n const restoreHandler = patch(\n doc.fonts,\n \"add\",\n function(original) {\n return function(fontFace) {\n setTimeout(\n callbackWrapper(() => {\n const p = fontMap.get(fontFace);\n if (p) {\n fontCb(p);\n fontMap.delete(fontFace);\n }\n }),\n 0\n );\n return original.apply(this, [fontFace]);\n };\n }\n );\n handlers.push(() => {\n win.FontFace = originalFontFace;\n });\n handlers.push(restoreHandler);\n return callbackWrapper(() => {\n handlers.forEach((h) => h());\n });\n}\nfunction initSelectionObserver(param) {\n const { doc, mirror: mirror2, blockClass, blockSelector, selectionCb } = param;\n let collapsed = true;\n const updateSelection = callbackWrapper(() => {\n const selection = doc.getSelection();\n if (!selection || collapsed && (selection == null ? void 0 : selection.isCollapsed)) return;\n collapsed = selection.isCollapsed || false;\n const ranges = [];\n const count = selection.rangeCount || 0;\n for (let i2 = 0; i2 < count; i2++) {\n const range = selection.getRangeAt(i2);\n const { startContainer, startOffset, endContainer, endOffset } = range;\n const blocked = isBlocked(startContainer, blockClass, blockSelector, true) || isBlocked(endContainer, blockClass, blockSelector, true);\n if (blocked) continue;\n ranges.push({\n start: mirror2.getId(startContainer),\n startOffset,\n end: mirror2.getId(endContainer),\n endOffset\n });\n }\n selectionCb({ ranges });\n });\n updateSelection();\n return on(\"selectionchange\", updateSelection);\n}\nfunction initCustomElementObserver({\n doc,\n customElementCb\n}) {\n const win = doc.defaultView;\n if (!win || !win.customElements) return () => {\n };\n const restoreHandler = patch(\n win.customElements,\n \"define\",\n function(original) {\n return function(name, constructor, options) {\n try {\n customElementCb({\n define: {\n name\n }\n });\n } catch (e2) {\n console.warn(`Custom element callback failed for ${name}`);\n }\n return original.apply(this, [name, constructor, options]);\n };\n }\n );\n return restoreHandler;\n}\nfunction mergeHooks(o2, hooks) {\n const {\n mutationCb,\n mousemoveCb,\n mouseInteractionCb,\n scrollCb,\n viewportResizeCb,\n inputCb,\n mediaInteractionCb,\n styleSheetRuleCb,\n styleDeclarationCb,\n canvasMutationCb,\n fontCb,\n selectionCb,\n customElementCb\n } = o2;\n o2.mutationCb = (...p) => {\n if (hooks.mutation) {\n hooks.mutation(...p);\n }\n mutationCb(...p);\n };\n o2.mousemoveCb = (...p) => {\n if (hooks.mousemove) {\n hooks.mousemove(...p);\n }\n mousemoveCb(...p);\n };\n o2.mouseInteractionCb = (...p) => {\n if (hooks.mouseInteraction) {\n hooks.mouseInteraction(...p);\n }\n mouseInteractionCb(...p);\n };\n o2.scrollCb = (...p) => {\n if (hooks.scroll) {\n hooks.scroll(...p);\n }\n scrollCb(...p);\n };\n o2.viewportResizeCb = (...p) => {\n if (hooks.viewportResize) {\n hooks.viewportResize(...p);\n }\n viewportResizeCb(...p);\n };\n o2.inputCb = (...p) => {\n if (hooks.input) {\n hooks.input(...p);\n }\n inputCb(...p);\n };\n o2.mediaInteractionCb = (...p) => {\n if (hooks.mediaInteaction) {\n hooks.mediaInteaction(...p);\n }\n mediaInteractionCb(...p);\n };\n o2.styleSheetRuleCb = (...p) => {\n if (hooks.styleSheetRule) {\n hooks.styleSheetRule(...p);\n }\n styleSheetRuleCb(...p);\n };\n o2.styleDeclarationCb = (...p) => {\n if (hooks.styleDeclaration) {\n hooks.styleDeclaration(...p);\n }\n styleDeclarationCb(...p);\n };\n o2.canvasMutationCb = (...p) => {\n if (hooks.canvasMutation) {\n hooks.canvasMutation(...p);\n }\n canvasMutationCb(...p);\n };\n o2.fontCb = (...p) => {\n if (hooks.font) {\n hooks.font(...p);\n }\n fontCb(...p);\n };\n o2.selectionCb = (...p) => {\n if (hooks.selection) {\n hooks.selection(...p);\n }\n selectionCb(...p);\n };\n o2.customElementCb = (...c2) => {\n if (hooks.customElement) {\n hooks.customElement(...c2);\n }\n customElementCb(...c2);\n };\n}\nfunction initObservers(o2, hooks = {}) {\n const currentWindow = o2.doc.defaultView;\n if (!currentWindow) {\n return () => {\n };\n }\n mergeHooks(o2, hooks);\n let mutationObserver;\n if (o2.recordDOM) {\n mutationObserver = initMutationObserver(o2, o2.doc);\n }\n const mousemoveHandler = initMoveObserver(o2);\n const mouseInteractionHandler = initMouseInteractionObserver(o2);\n const scrollHandler = initScrollObserver(o2);\n const viewportResizeHandler = initViewportResizeObserver(o2, {\n win: currentWindow\n });\n const inputHandler = initInputObserver(o2);\n const mediaInteractionHandler = initMediaInteractionObserver(o2);\n let styleSheetObserver = () => {\n };\n let adoptedStyleSheetObserver = () => {\n };\n let styleDeclarationObserver = () => {\n };\n let fontObserver = () => {\n };\n if (o2.recordDOM) {\n styleSheetObserver = initStyleSheetObserver(o2, { win: currentWindow });\n adoptedStyleSheetObserver = initAdoptedStyleSheetObserver(o2, o2.doc);\n styleDeclarationObserver = initStyleDeclarationObserver(o2, {\n win: currentWindow\n });\n if (o2.collectFonts) {\n fontObserver = initFontObserver(o2);\n }\n }\n const selectionObserver = initSelectionObserver(o2);\n const customElementObserver = initCustomElementObserver(o2);\n const pluginHandlers = [];\n for (const plugin3 of o2.plugins) {\n pluginHandlers.push(\n plugin3.observer(plugin3.callback, currentWindow, plugin3.options)\n );\n }\n return callbackWrapper(() => {\n mutationBuffers.forEach((b) => b.reset());\n mutationObserver == null ? void 0 : mutationObserver.disconnect();\n mousemoveHandler();\n mouseInteractionHandler();\n scrollHandler();\n viewportResizeHandler();\n inputHandler();\n mediaInteractionHandler();\n styleSheetObserver();\n adoptedStyleSheetObserver();\n styleDeclarationObserver();\n fontObserver();\n selectionObserver();\n customElementObserver();\n pluginHandlers.forEach((h) => h());\n });\n}\nfunction hasNestedCSSRule(prop) {\n return typeof window[prop] !== \"undefined\";\n}\nfunction canMonkeyPatchNestedCSSRule(prop) {\n return Boolean(\n typeof window[prop] !== \"undefined\" && // Note: Generally, this check _shouldn't_ be necessary\n // However, in some scenarios (e.g. jsdom) this can sometimes fail, so we check for it here\n window[prop].prototype && \"insertRule\" in window[prop].prototype && \"deleteRule\" in window[prop].prototype\n );\n}\nclass CrossOriginIframeMirror {\n constructor(generateIdFn) {\n __publicField(this, \"iframeIdToRemoteIdMap\", /* @__PURE__ */ new WeakMap());\n __publicField(this, \"iframeRemoteIdToIdMap\", /* @__PURE__ */ new WeakMap());\n this.generateIdFn = generateIdFn;\n }\n getId(iframe, remoteId, idToRemoteMap, remoteToIdMap) {\n const idToRemoteIdMap = idToRemoteMap || this.getIdToRemoteIdMap(iframe);\n const remoteIdToIdMap = remoteToIdMap || this.getRemoteIdToIdMap(iframe);\n let id = idToRemoteIdMap.get(remoteId);\n if (!id) {\n id = this.generateIdFn();\n idToRemoteIdMap.set(remoteId, id);\n remoteIdToIdMap.set(id, remoteId);\n }\n return id;\n }\n getIds(iframe, remoteId) {\n const idToRemoteIdMap = this.getIdToRemoteIdMap(iframe);\n const remoteIdToIdMap = this.getRemoteIdToIdMap(iframe);\n return remoteId.map(\n (id) => this.getId(iframe, id, idToRemoteIdMap, remoteIdToIdMap)\n );\n }\n getRemoteId(iframe, id, map) {\n const remoteIdToIdMap = map || this.getRemoteIdToIdMap(iframe);\n if (typeof id !== \"number\") return id;\n const remoteId = remoteIdToIdMap.get(id);\n if (!remoteId) return -1;\n return remoteId;\n }\n getRemoteIds(iframe, ids) {\n const remoteIdToIdMap = this.getRemoteIdToIdMap(iframe);\n return ids.map((id) => this.getRemoteId(iframe, id, remoteIdToIdMap));\n }\n reset(iframe) {\n if (!iframe) {\n this.iframeIdToRemoteIdMap = /* @__PURE__ */ new WeakMap();\n this.iframeRemoteIdToIdMap = /* @__PURE__ */ new WeakMap();\n return;\n }\n this.iframeIdToRemoteIdMap.delete(iframe);\n this.iframeRemoteIdToIdMap.delete(iframe);\n }\n getIdToRemoteIdMap(iframe) {\n let idToRemoteIdMap = this.iframeIdToRemoteIdMap.get(iframe);\n if (!idToRemoteIdMap) {\n idToRemoteIdMap = /* @__PURE__ */ new Map();\n this.iframeIdToRemoteIdMap.set(iframe, idToRemoteIdMap);\n }\n return idToRemoteIdMap;\n }\n getRemoteIdToIdMap(iframe) {\n let remoteIdToIdMap = this.iframeRemoteIdToIdMap.get(iframe);\n if (!remoteIdToIdMap) {\n remoteIdToIdMap = /* @__PURE__ */ new Map();\n this.iframeRemoteIdToIdMap.set(iframe, remoteIdToIdMap);\n }\n return remoteIdToIdMap;\n }\n}\nclass IframeManager {\n constructor(options) {\n __publicField(this, \"iframes\", /* @__PURE__ */ new WeakMap());\n __publicField(this, \"crossOriginIframeMap\", /* @__PURE__ */ new WeakMap());\n __publicField(this, \"crossOriginIframeMirror\", new CrossOriginIframeMirror(genId));\n __publicField(this, \"crossOriginIframeStyleMirror\");\n __publicField(this, \"crossOriginIframeRootIdMap\", /* @__PURE__ */ new WeakMap());\n __publicField(this, \"mirror\");\n __publicField(this, \"mutationCb\");\n __publicField(this, \"wrappedEmit\");\n __publicField(this, \"loadListener\");\n __publicField(this, \"stylesheetManager\");\n __publicField(this, \"recordCrossOriginIframes\");\n this.mutationCb = options.mutationCb;\n this.wrappedEmit = options.wrappedEmit;\n this.stylesheetManager = options.stylesheetManager;\n this.recordCrossOriginIframes = options.recordCrossOriginIframes;\n this.crossOriginIframeStyleMirror = new CrossOriginIframeMirror(\n this.stylesheetManager.styleMirror.generateId.bind(\n this.stylesheetManager.styleMirror\n )\n );\n this.mirror = options.mirror;\n if (this.recordCrossOriginIframes) {\n window.addEventListener(\"message\", this.handleMessage.bind(this));\n }\n }\n addIframe(iframeEl) {\n this.iframes.set(iframeEl, true);\n if (iframeEl.contentWindow)\n this.crossOriginIframeMap.set(iframeEl.contentWindow, iframeEl);\n }\n addLoadListener(cb) {\n this.loadListener = cb;\n }\n attachIframe(iframeEl, childSn) {\n var _a2, _b;\n this.mutationCb({\n adds: [\n {\n parentId: this.mirror.getId(iframeEl),\n nextId: null,\n node: childSn\n }\n ],\n removes: [],\n texts: [],\n attributes: [],\n isAttachIframe: true\n });\n if (this.recordCrossOriginIframes)\n (_a2 = iframeEl.contentWindow) == null ? void 0 : _a2.addEventListener(\n \"message\",\n this.handleMessage.bind(this)\n );\n (_b = this.loadListener) == null ? void 0 : _b.call(this, iframeEl);\n if (iframeEl.contentDocument && iframeEl.contentDocument.adoptedStyleSheets && iframeEl.contentDocument.adoptedStyleSheets.length > 0)\n this.stylesheetManager.adoptStyleSheets(\n iframeEl.contentDocument.adoptedStyleSheets,\n this.mirror.getId(iframeEl.contentDocument)\n );\n }\n handleMessage(message) {\n const crossOriginMessageEvent = message;\n if (crossOriginMessageEvent.data.type !== \"rrweb\" || // To filter out the rrweb messages which are forwarded by some sites.\n crossOriginMessageEvent.origin !== crossOriginMessageEvent.data.origin)\n return;\n const iframeSourceWindow = message.source;\n if (!iframeSourceWindow) return;\n const iframeEl = this.crossOriginIframeMap.get(message.source);\n if (!iframeEl) return;\n const transformedEvent = this.transformCrossOriginEvent(\n iframeEl,\n crossOriginMessageEvent.data.event\n );\n if (transformedEvent)\n this.wrappedEmit(\n transformedEvent,\n crossOriginMessageEvent.data.isCheckout\n );\n }\n transformCrossOriginEvent(iframeEl, e2) {\n var _a2;\n switch (e2.type) {\n case EventType.FullSnapshot: {\n this.crossOriginIframeMirror.reset(iframeEl);\n this.crossOriginIframeStyleMirror.reset(iframeEl);\n this.replaceIdOnNode(e2.data.node, iframeEl);\n const rootId = e2.data.node.id;\n this.crossOriginIframeRootIdMap.set(iframeEl, rootId);\n this.patchRootIdOnNode(e2.data.node, rootId);\n return {\n timestamp: e2.timestamp,\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.Mutation,\n adds: [\n {\n parentId: this.mirror.getId(iframeEl),\n nextId: null,\n node: e2.data.node\n }\n ],\n removes: [],\n texts: [],\n attributes: [],\n isAttachIframe: true\n }\n };\n }\n case EventType.Meta:\n case EventType.Load:\n case EventType.DomContentLoaded: {\n return false;\n }\n case EventType.Plugin: {\n return e2;\n }\n case EventType.Custom: {\n this.replaceIds(\n e2.data.payload,\n iframeEl,\n [\"id\", \"parentId\", \"previousId\", \"nextId\"]\n );\n return e2;\n }\n case EventType.IncrementalSnapshot: {\n switch (e2.data.source) {\n case IncrementalSource.Mutation: {\n e2.data.adds.forEach((n2) => {\n this.replaceIds(n2, iframeEl, [\n \"parentId\",\n \"nextId\",\n \"previousId\"\n ]);\n this.replaceIdOnNode(n2.node, iframeEl);\n const rootId = this.crossOriginIframeRootIdMap.get(iframeEl);\n rootId && this.patchRootIdOnNode(n2.node, rootId);\n });\n e2.data.removes.forEach((n2) => {\n this.replaceIds(n2, iframeEl, [\"parentId\", \"id\"]);\n });\n e2.data.attributes.forEach((n2) => {\n this.replaceIds(n2, iframeEl, [\"id\"]);\n });\n e2.data.texts.forEach((n2) => {\n this.replaceIds(n2, iframeEl, [\"id\"]);\n });\n return e2;\n }\n case IncrementalSource.Drag:\n case IncrementalSource.TouchMove:\n case IncrementalSource.MouseMove: {\n e2.data.positions.forEach((p) => {\n this.replaceIds(p, iframeEl, [\"id\"]);\n });\n return e2;\n }\n case IncrementalSource.ViewportResize: {\n return false;\n }\n case IncrementalSource.MediaInteraction:\n case IncrementalSource.MouseInteraction:\n case IncrementalSource.Scroll:\n case IncrementalSource.CanvasMutation:\n case IncrementalSource.Input: {\n this.replaceIds(e2.data, iframeEl, [\"id\"]);\n return e2;\n }\n case IncrementalSource.StyleSheetRule:\n case IncrementalSource.StyleDeclaration: {\n this.replaceIds(e2.data, iframeEl, [\"id\"]);\n this.replaceStyleIds(e2.data, iframeEl, [\"styleId\"]);\n return e2;\n }\n case IncrementalSource.Font: {\n return e2;\n }\n case IncrementalSource.Selection: {\n e2.data.ranges.forEach((range) => {\n this.replaceIds(range, iframeEl, [\"start\", \"end\"]);\n });\n return e2;\n }\n case IncrementalSource.AdoptedStyleSheet: {\n this.replaceIds(e2.data, iframeEl, [\"id\"]);\n this.replaceStyleIds(e2.data, iframeEl, [\"styleIds\"]);\n (_a2 = e2.data.styles) == null ? void 0 : _a2.forEach((style) => {\n this.replaceStyleIds(style, iframeEl, [\"styleId\"]);\n });\n return e2;\n }\n }\n }\n }\n return false;\n }\n replace(iframeMirror, obj, iframeEl, keys) {\n for (const key of keys) {\n if (!Array.isArray(obj[key]) && typeof obj[key] !== \"number\") continue;\n if (Array.isArray(obj[key])) {\n obj[key] = iframeMirror.getIds(\n iframeEl,\n obj[key]\n );\n } else {\n obj[key] = iframeMirror.getId(iframeEl, obj[key]);\n }\n }\n return obj;\n }\n replaceIds(obj, iframeEl, keys) {\n return this.replace(this.crossOriginIframeMirror, obj, iframeEl, keys);\n }\n replaceStyleIds(obj, iframeEl, keys) {\n return this.replace(this.crossOriginIframeStyleMirror, obj, iframeEl, keys);\n }\n replaceIdOnNode(node2, iframeEl) {\n this.replaceIds(node2, iframeEl, [\"id\", \"rootId\"]);\n if (\"childNodes\" in node2) {\n node2.childNodes.forEach((child) => {\n this.replaceIdOnNode(child, iframeEl);\n });\n }\n }\n patchRootIdOnNode(node2, rootId) {\n if (node2.type !== NodeType.Document && !node2.rootId) node2.rootId = rootId;\n if (\"childNodes\" in node2) {\n node2.childNodes.forEach((child) => {\n this.patchRootIdOnNode(child, rootId);\n });\n }\n }\n}\nclass ShadowDomManager {\n constructor(options) {\n __publicField(this, \"shadowDoms\", /* @__PURE__ */ new WeakSet());\n __publicField(this, \"mutationCb\");\n __publicField(this, \"scrollCb\");\n __publicField(this, \"bypassOptions\");\n __publicField(this, \"mirror\");\n __publicField(this, \"restoreHandlers\", []);\n this.mutationCb = options.mutationCb;\n this.scrollCb = options.scrollCb;\n this.bypassOptions = options.bypassOptions;\n this.mirror = options.mirror;\n this.init();\n }\n init() {\n this.reset();\n this.patchAttachShadow(Element, document);\n }\n addShadowRoot(shadowRoot2, doc) {\n if (!isNativeShadowDom(shadowRoot2)) return;\n if (this.shadowDoms.has(shadowRoot2)) return;\n this.shadowDoms.add(shadowRoot2);\n const observer = initMutationObserver(\n {\n ...this.bypassOptions,\n doc,\n mutationCb: this.mutationCb,\n mirror: this.mirror,\n shadowDomManager: this\n },\n shadowRoot2\n );\n this.restoreHandlers.push(() => observer.disconnect());\n this.restoreHandlers.push(\n initScrollObserver({\n ...this.bypassOptions,\n scrollCb: this.scrollCb,\n // https://gist.github.com/praveenpuglia/0832da687ed5a5d7a0907046c9ef1813\n // scroll is not allowed to pass the boundary, so we need to listen the shadow document\n doc: shadowRoot2,\n mirror: this.mirror\n })\n );\n setTimeout(() => {\n if (shadowRoot2.adoptedStyleSheets && shadowRoot2.adoptedStyleSheets.length > 0)\n this.bypassOptions.stylesheetManager.adoptStyleSheets(\n shadowRoot2.adoptedStyleSheets,\n this.mirror.getId(index.host(shadowRoot2))\n );\n this.restoreHandlers.push(\n initAdoptedStyleSheetObserver(\n {\n mirror: this.mirror,\n stylesheetManager: this.bypassOptions.stylesheetManager\n },\n shadowRoot2\n )\n );\n }, 0);\n }\n /**\n * Monkey patch 'attachShadow' of an IFrameElement to observe newly added shadow doms.\n */\n observeAttachShadow(iframeElement) {\n if (!iframeElement.contentWindow || !iframeElement.contentDocument) return;\n this.patchAttachShadow(\n iframeElement.contentWindow.Element,\n iframeElement.contentDocument\n );\n }\n /**\n * Patch 'attachShadow' to observe newly added shadow doms.\n */\n patchAttachShadow(element, doc) {\n const manager = this;\n this.restoreHandlers.push(\n patch(\n element.prototype,\n \"attachShadow\",\n function(original) {\n return function(option) {\n const sRoot = original.call(this, option);\n const shadowRootEl = index.shadowRoot(this);\n if (shadowRootEl && inDom(this))\n manager.addShadowRoot(shadowRootEl, doc);\n return sRoot;\n };\n }\n )\n );\n }\n reset() {\n this.restoreHandlers.forEach((handler) => {\n try {\n handler();\n } catch (e2) {\n }\n });\n this.restoreHandlers = [];\n this.shadowDoms = /* @__PURE__ */ new WeakSet();\n }\n}\nvar chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nvar lookup = typeof Uint8Array === \"undefined\" ? [] : new Uint8Array(256);\nfor (var i$1 = 0; i$1 < chars.length; i$1++) {\n lookup[chars.charCodeAt(i$1)] = i$1;\n}\nvar encode = function(arraybuffer) {\n var bytes = new Uint8Array(arraybuffer), i2, len = bytes.length, base64 = \"\";\n for (i2 = 0; i2 < len; i2 += 3) {\n base64 += chars[bytes[i2] >> 2];\n base64 += chars[(bytes[i2] & 3) << 4 | bytes[i2 + 1] >> 4];\n base64 += chars[(bytes[i2 + 1] & 15) << 2 | bytes[i2 + 2] >> 6];\n base64 += chars[bytes[i2 + 2] & 63];\n }\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + \"=\";\n } else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + \"==\";\n }\n return base64;\n};\nconst canvasVarMap = /* @__PURE__ */ new Map();\nfunction variableListFor$1(ctx, ctor) {\n let contextMap = canvasVarMap.get(ctx);\n if (!contextMap) {\n contextMap = /* @__PURE__ */ new Map();\n canvasVarMap.set(ctx, contextMap);\n }\n if (!contextMap.has(ctor)) {\n contextMap.set(ctor, []);\n }\n return contextMap.get(ctor);\n}\nconst saveWebGLVar = (value, win, ctx) => {\n if (!value || !(isInstanceOfWebGLObject(value, win) || typeof value === \"object\"))\n return;\n const name = value.constructor.name;\n const list2 = variableListFor$1(ctx, name);\n let index2 = list2.indexOf(value);\n if (index2 === -1) {\n index2 = list2.length;\n list2.push(value);\n }\n return index2;\n};\nfunction serializeArg(value, win, ctx) {\n if (value instanceof Array) {\n return value.map((arg) => serializeArg(arg, win, ctx));\n } else if (value === null) {\n return value;\n } else if (value instanceof Float32Array || value instanceof Float64Array || value instanceof Int32Array || value instanceof Uint32Array || value instanceof Uint8Array || value instanceof Uint16Array || value instanceof Int16Array || value instanceof Int8Array || value instanceof Uint8ClampedArray) {\n const name = value.constructor.name;\n return {\n rr_type: name,\n args: [Object.values(value)]\n };\n } else if (\n // SharedArrayBuffer disabled on most browsers due to spectre.\n // More info: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer/SharedArrayBuffer\n // value instanceof SharedArrayBuffer ||\n value instanceof ArrayBuffer\n ) {\n const name = value.constructor.name;\n const base64 = encode(value);\n return {\n rr_type: name,\n base64\n };\n } else if (value instanceof DataView) {\n const name = value.constructor.name;\n return {\n rr_type: name,\n args: [\n serializeArg(value.buffer, win, ctx),\n value.byteOffset,\n value.byteLength\n ]\n };\n } else if (value instanceof HTMLImageElement) {\n const name = value.constructor.name;\n const { src } = value;\n return {\n rr_type: name,\n src\n };\n } else if (value instanceof HTMLCanvasElement) {\n const name = \"HTMLImageElement\";\n const src = value.toDataURL();\n return {\n rr_type: name,\n src\n };\n } else if (value instanceof ImageData) {\n const name = value.constructor.name;\n return {\n rr_type: name,\n args: [serializeArg(value.data, win, ctx), value.width, value.height]\n };\n } else if (isInstanceOfWebGLObject(value, win) || typeof value === \"object\") {\n const name = value.constructor.name;\n const index2 = saveWebGLVar(value, win, ctx);\n return {\n rr_type: name,\n index: index2\n };\n }\n return value;\n}\nconst serializeArgs = (args, win, ctx) => {\n return args.map((arg) => serializeArg(arg, win, ctx));\n};\nconst isInstanceOfWebGLObject = (value, win) => {\n const webGLConstructorNames = [\n \"WebGLActiveInfo\",\n \"WebGLBuffer\",\n \"WebGLFramebuffer\",\n \"WebGLProgram\",\n \"WebGLRenderbuffer\",\n \"WebGLShader\",\n \"WebGLShaderPrecisionFormat\",\n \"WebGLTexture\",\n \"WebGLUniformLocation\",\n \"WebGLVertexArrayObject\",\n // In old Chrome versions, value won't be an instanceof WebGLVertexArrayObject.\n \"WebGLVertexArrayObjectOES\"\n ];\n const supportedWebGLConstructorNames = webGLConstructorNames.filter(\n (name) => typeof win[name] === \"function\"\n );\n return Boolean(\n supportedWebGLConstructorNames.find(\n (name) => value instanceof win[name]\n )\n );\n};\nfunction initCanvas2DMutationObserver(cb, win, blockClass, blockSelector) {\n const handlers = [];\n const props2D = Object.getOwnPropertyNames(\n win.CanvasRenderingContext2D.prototype\n );\n for (const prop of props2D) {\n try {\n if (typeof win.CanvasRenderingContext2D.prototype[prop] !== \"function\") {\n continue;\n }\n const restoreHandler = patch(\n win.CanvasRenderingContext2D.prototype,\n prop,\n function(original) {\n return function(...args) {\n if (!isBlocked(this.canvas, blockClass, blockSelector, true)) {\n setTimeout(() => {\n const recordArgs = serializeArgs(args, win, this);\n cb(this.canvas, {\n type: CanvasContext[\"2D\"],\n property: prop,\n args: recordArgs\n });\n }, 0);\n }\n return original.apply(this, args);\n };\n }\n );\n handlers.push(restoreHandler);\n } catch {\n const hookHandler = hookSetter(\n win.CanvasRenderingContext2D.prototype,\n prop,\n {\n set(v2) {\n cb(this.canvas, {\n type: CanvasContext[\"2D\"],\n property: prop,\n args: [v2],\n setter: true\n });\n }\n }\n );\n handlers.push(hookHandler);\n }\n }\n return () => {\n handlers.forEach((h) => h());\n };\n}\nfunction getNormalizedContextName(contextType) {\n return contextType === \"experimental-webgl\" ? \"webgl\" : contextType;\n}\nfunction initCanvasContextObserver(win, blockClass, blockSelector, setPreserveDrawingBufferToTrue) {\n const handlers = [];\n try {\n const restoreHandler = patch(\n win.HTMLCanvasElement.prototype,\n \"getContext\",\n function(original) {\n return function(contextType, ...args) {\n if (!isBlocked(this, blockClass, blockSelector, true)) {\n const ctxName = getNormalizedContextName(contextType);\n if (!(\"__context\" in this)) this.__context = ctxName;\n if (setPreserveDrawingBufferToTrue && [\"webgl\", \"webgl2\"].includes(ctxName)) {\n if (args[0] && typeof args[0] === \"object\") {\n const contextAttributes = args[0];\n if (!contextAttributes.preserveDrawingBuffer) {\n contextAttributes.preserveDrawingBuffer = true;\n }\n } else {\n args.splice(0, 1, {\n preserveDrawingBuffer: true\n });\n }\n }\n }\n return original.apply(this, [contextType, ...args]);\n };\n }\n );\n handlers.push(restoreHandler);\n } catch {\n console.error(\"failed to patch HTMLCanvasElement.prototype.getContext\");\n }\n return () => {\n handlers.forEach((h) => h());\n };\n}\nfunction patchGLPrototype(prototype, type, cb, blockClass, blockSelector, win) {\n const handlers = [];\n const props = Object.getOwnPropertyNames(prototype);\n for (const prop of props) {\n if (\n //prop.startsWith('get') || // e.g. getProgramParameter, but too risky\n [\n \"isContextLost\",\n \"canvas\",\n \"drawingBufferWidth\",\n \"drawingBufferHeight\"\n ].includes(prop)\n ) {\n continue;\n }\n try {\n if (typeof prototype[prop] !== \"function\") {\n continue;\n }\n const restoreHandler = patch(\n prototype,\n prop,\n function(original) {\n return function(...args) {\n const result2 = original.apply(this, args);\n saveWebGLVar(result2, win, this);\n if (\"tagName\" in this.canvas && !isBlocked(this.canvas, blockClass, blockSelector, true)) {\n const recordArgs = serializeArgs(args, win, this);\n const mutation = {\n type,\n property: prop,\n args: recordArgs\n };\n cb(this.canvas, mutation);\n }\n return result2;\n };\n }\n );\n handlers.push(restoreHandler);\n } catch {\n const hookHandler = hookSetter(prototype, prop, {\n set(v2) {\n cb(this.canvas, {\n type,\n property: prop,\n args: [v2],\n setter: true\n });\n }\n });\n handlers.push(hookHandler);\n }\n }\n return handlers;\n}\nfunction initCanvasWebGLMutationObserver(cb, win, blockClass, blockSelector) {\n const handlers = [];\n handlers.push(\n ...patchGLPrototype(\n win.WebGLRenderingContext.prototype,\n CanvasContext.WebGL,\n cb,\n blockClass,\n blockSelector,\n win\n )\n );\n if (typeof win.WebGL2RenderingContext !== \"undefined\") {\n handlers.push(\n ...patchGLPrototype(\n win.WebGL2RenderingContext.prototype,\n CanvasContext.WebGL2,\n cb,\n blockClass,\n blockSelector,\n win\n )\n );\n }\n return () => {\n handlers.forEach((h) => h());\n };\n}\nconst encodedJs = \"KGZ1bmN0aW9uKCkgewogICJ1c2Ugc3RyaWN0IjsKICB2YXIgY2hhcnMgPSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyI7CiAgdmFyIGxvb2t1cCA9IHR5cGVvZiBVaW50OEFycmF5ID09PSAidW5kZWZpbmVkIiA/IFtdIDogbmV3IFVpbnQ4QXJyYXkoMjU2KTsKICBmb3IgKHZhciBpID0gMDsgaSA8IGNoYXJzLmxlbmd0aDsgaSsrKSB7CiAgICBsb29rdXBbY2hhcnMuY2hhckNvZGVBdChpKV0gPSBpOwogIH0KICB2YXIgZW5jb2RlID0gZnVuY3Rpb24oYXJyYXlidWZmZXIpIHsKICAgIHZhciBieXRlcyA9IG5ldyBVaW50OEFycmF5KGFycmF5YnVmZmVyKSwgaTIsIGxlbiA9IGJ5dGVzLmxlbmd0aCwgYmFzZTY0ID0gIiI7CiAgICBmb3IgKGkyID0gMDsgaTIgPCBsZW47IGkyICs9IDMpIHsKICAgICAgYmFzZTY0ICs9IGNoYXJzW2J5dGVzW2kyXSA+PiAyXTsKICAgICAgYmFzZTY0ICs9IGNoYXJzWyhieXRlc1tpMl0gJiAzKSA8PCA0IHwgYnl0ZXNbaTIgKyAxXSA+PiA0XTsKICAgICAgYmFzZTY0ICs9IGNoYXJzWyhieXRlc1tpMiArIDFdICYgMTUpIDw8IDIgfCBieXRlc1tpMiArIDJdID4+IDZdOwogICAgICBiYXNlNjQgKz0gY2hhcnNbYnl0ZXNbaTIgKyAyXSAmIDYzXTsKICAgIH0KICAgIGlmIChsZW4gJSAzID09PSAyKSB7CiAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDEpICsgIj0iOwogICAgfSBlbHNlIGlmIChsZW4gJSAzID09PSAxKSB7CiAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDIpICsgIj09IjsKICAgIH0KICAgIHJldHVybiBiYXNlNjQ7CiAgfTsKICBjb25zdCBsYXN0QmxvYk1hcCA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7CiAgY29uc3QgdHJhbnNwYXJlbnRCbG9iTWFwID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTsKICBhc3luYyBmdW5jdGlvbiBnZXRUcmFuc3BhcmVudEJsb2JGb3Iod2lkdGgsIGhlaWdodCwgZGF0YVVSTE9wdGlvbnMpIHsKICAgIGNvbnN0IGlkID0gYCR7d2lkdGh9LSR7aGVpZ2h0fWA7CiAgICBpZiAoIk9mZnNjcmVlbkNhbnZhcyIgaW4gZ2xvYmFsVGhpcykgewogICAgICBpZiAodHJhbnNwYXJlbnRCbG9iTWFwLmhhcyhpZCkpIHJldHVybiB0cmFuc3BhcmVudEJsb2JNYXAuZ2V0KGlkKTsKICAgICAgY29uc3Qgb2Zmc2NyZWVuID0gbmV3IE9mZnNjcmVlbkNhbnZhcyh3aWR0aCwgaGVpZ2h0KTsKICAgICAgb2Zmc2NyZWVuLmdldENvbnRleHQoIjJkIik7CiAgICAgIGNvbnN0IGJsb2IgPSBhd2FpdCBvZmZzY3JlZW4uY29udmVydFRvQmxvYihkYXRhVVJMT3B0aW9ucyk7CiAgICAgIGNvbnN0IGFycmF5QnVmZmVyID0gYXdhaXQgYmxvYi5hcnJheUJ1ZmZlcigpOwogICAgICBjb25zdCBiYXNlNjQgPSBlbmNvZGUoYXJyYXlCdWZmZXIpOwogICAgICB0cmFuc3BhcmVudEJsb2JNYXAuc2V0KGlkLCBiYXNlNjQpOwogICAgICByZXR1cm4gYmFzZTY0OwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuICIiOwogICAgfQogIH0KICBjb25zdCB3b3JrZXIgPSBzZWxmOwogIHdvcmtlci5vbm1lc3NhZ2UgPSBhc3luYyBmdW5jdGlvbihlKSB7CiAgICBpZiAoIk9mZnNjcmVlbkNhbnZhcyIgaW4gZ2xvYmFsVGhpcykgewogICAgICBjb25zdCB7IGlkLCBiaXRtYXAsIHdpZHRoLCBoZWlnaHQsIGRhdGFVUkxPcHRpb25zIH0gPSBlLmRhdGE7CiAgICAgIGNvbnN0IHRyYW5zcGFyZW50QmFzZTY0ID0gZ2V0VHJhbnNwYXJlbnRCbG9iRm9yKAogICAgICAgIHdpZHRoLAogICAgICAgIGhlaWdodCwKICAgICAgICBkYXRhVVJMT3B0aW9ucwogICAgICApOwogICAgICBjb25zdCBvZmZzY3JlZW4gPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKHdpZHRoLCBoZWlnaHQpOwogICAgICBjb25zdCBjdHggPSBvZmZzY3JlZW4uZ2V0Q29udGV4dCgiMmQiKTsKICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOwogICAgICBiaXRtYXAuY2xvc2UoKTsKICAgICAgY29uc3QgYmxvYiA9IGF3YWl0IG9mZnNjcmVlbi5jb252ZXJ0VG9CbG9iKGRhdGFVUkxPcHRpb25zKTsKICAgICAgY29uc3QgdHlwZSA9IGJsb2IudHlwZTsKICAgICAgY29uc3QgYXJyYXlCdWZmZXIgPSBhd2FpdCBibG9iLmFycmF5QnVmZmVyKCk7CiAgICAgIGNvbnN0IGJhc2U2NCA9IGVuY29kZShhcnJheUJ1ZmZlcik7CiAgICAgIGlmICghbGFzdEJsb2JNYXAuaGFzKGlkKSAmJiBhd2FpdCB0cmFuc3BhcmVudEJhc2U2NCA9PT0gYmFzZTY0KSB7CiAgICAgICAgbGFzdEJsb2JNYXAuc2V0KGlkLCBiYXNlNjQpOwogICAgICAgIHJldHVybiB3b3JrZXIucG9zdE1lc3NhZ2UoeyBpZCB9KTsKICAgICAgfQogICAgICBpZiAobGFzdEJsb2JNYXAuZ2V0KGlkKSA9PT0gYmFzZTY0KSByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQgfSk7CiAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSh7CiAgICAgICAgaWQsCiAgICAgICAgdHlwZSwKICAgICAgICBiYXNlNjQsCiAgICAgICAgd2lkdGgsCiAgICAgICAgaGVpZ2h0CiAgICAgIH0pOwogICAgICBsYXN0QmxvYk1hcC5zZXQoaWQsIGJhc2U2NCk7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQ6IGUuZGF0YS5pZCB9KTsKICAgIH0KICB9Owp9KSgpOwovLyMgc291cmNlTWFwcGluZ1VSTD1pbWFnZS1iaXRtYXAtZGF0YS11cmwtd29ya2VyLUlKcEM3Z19iLmpzLm1hcAo=\";\nconst decodeBase64 = (base64) => Uint8Array.from(atob(base64), (c2) => c2.charCodeAt(0));\nconst blob = typeof window !== \"undefined\" && window.Blob && new Blob([decodeBase64(encodedJs)], { type: \"text/javascript;charset=utf-8\" });\nfunction WorkerWrapper(options) {\n let objURL;\n try {\n objURL = blob && (window.URL || window.webkitURL).createObjectURL(blob);\n if (!objURL) throw \"\";\n const worker = new Worker(objURL, {\n name: options == null ? void 0 : options.name\n });\n worker.addEventListener(\"error\", () => {\n (window.URL || window.webkitURL).revokeObjectURL(objURL);\n });\n return worker;\n } catch (e2) {\n return new Worker(\n \"data:text/javascript;base64,\" + encodedJs,\n {\n name: options == null ? void 0 : options.name\n }\n );\n } finally {\n objURL && (window.URL || window.webkitURL).revokeObjectURL(objURL);\n }\n}\nclass CanvasManager {\n constructor(options) {\n __publicField(this, \"pendingCanvasMutations\", /* @__PURE__ */ new Map());\n __publicField(this, \"rafStamps\", { latestId: 0, invokeId: null });\n __publicField(this, \"mirror\");\n __publicField(this, \"mutationCb\");\n __publicField(this, \"resetObservers\");\n __publicField(this, \"frozen\", false);\n __publicField(this, \"locked\", false);\n __publicField(this, \"processMutation\", (target, mutation) => {\n const newFrame = this.rafStamps.invokeId && this.rafStamps.latestId !== this.rafStamps.invokeId;\n if (newFrame || !this.rafStamps.invokeId)\n this.rafStamps.invokeId = this.rafStamps.latestId;\n if (!this.pendingCanvasMutations.has(target)) {\n this.pendingCanvasMutations.set(target, []);\n }\n this.pendingCanvasMutations.get(target).push(mutation);\n });\n const {\n sampling = \"all\",\n win,\n blockClass,\n blockSelector,\n recordCanvas,\n dataURLOptions\n } = options;\n this.mutationCb = options.mutationCb;\n this.mirror = options.mirror;\n if (recordCanvas && sampling === \"all\")\n this.initCanvasMutationObserver(win, blockClass, blockSelector);\n if (recordCanvas && typeof sampling === \"number\")\n this.initCanvasFPSObserver(sampling, win, blockClass, blockSelector, {\n dataURLOptions\n });\n }\n reset() {\n this.pendingCanvasMutations.clear();\n this.resetObservers && this.resetObservers();\n }\n freeze() {\n this.frozen = true;\n }\n unfreeze() {\n this.frozen = false;\n }\n lock() {\n this.locked = true;\n }\n unlock() {\n this.locked = false;\n }\n initCanvasFPSObserver(fps, win, blockClass, blockSelector, options) {\n const canvasContextReset = initCanvasContextObserver(\n win,\n blockClass,\n blockSelector,\n true\n );\n const snapshotInProgressMap = /* @__PURE__ */ new Map();\n const worker = new WorkerWrapper();\n worker.onmessage = (e2) => {\n const { id } = e2.data;\n snapshotInProgressMap.set(id, false);\n if (!(\"base64\" in e2.data)) return;\n const { base64, type, width, height } = e2.data;\n this.mutationCb({\n id,\n type: CanvasContext[\"2D\"],\n commands: [\n {\n property: \"clearRect\",\n // wipe canvas\n args: [0, 0, width, height]\n },\n {\n property: \"drawImage\",\n // draws (semi-transparent) image\n args: [\n {\n rr_type: \"ImageBitmap\",\n args: [\n {\n rr_type: \"Blob\",\n data: [{ rr_type: \"ArrayBuffer\", base64 }],\n type\n }\n ]\n },\n 0,\n 0\n ]\n }\n ]\n });\n };\n const timeBetweenSnapshots = 1e3 / fps;\n let lastSnapshotTime = 0;\n let rafId;\n const getCanvas = () => {\n const matchedCanvas = [];\n win.document.querySelectorAll(\"canvas\").forEach((canvas) => {\n if (!isBlocked(canvas, blockClass, blockSelector, true)) {\n matchedCanvas.push(canvas);\n }\n });\n return matchedCanvas;\n };\n const takeCanvasSnapshots = (timestamp) => {\n if (lastSnapshotTime && timestamp - lastSnapshotTime < timeBetweenSnapshots) {\n rafId = requestAnimationFrame(takeCanvasSnapshots);\n return;\n }\n lastSnapshotTime = timestamp;\n getCanvas().forEach(async (canvas) => {\n var _a2;\n const id = this.mirror.getId(canvas);\n if (snapshotInProgressMap.get(id)) return;\n if (canvas.width === 0 || canvas.height === 0) return;\n snapshotInProgressMap.set(id, true);\n if ([\"webgl\", \"webgl2\"].includes(canvas.__context)) {\n const context = canvas.getContext(canvas.__context);\n if (((_a2 = context == null ? void 0 : context.getContextAttributes()) == null ? void 0 : _a2.preserveDrawingBuffer) === false) {\n context.clear(context.COLOR_BUFFER_BIT);\n }\n }\n const bitmap = await createImageBitmap(canvas);\n worker.postMessage(\n {\n id,\n bitmap,\n width: canvas.width,\n height: canvas.height,\n dataURLOptions: options.dataURLOptions\n },\n [bitmap]\n );\n });\n rafId = requestAnimationFrame(takeCanvasSnapshots);\n };\n rafId = requestAnimationFrame(takeCanvasSnapshots);\n this.resetObservers = () => {\n canvasContextReset();\n cancelAnimationFrame(rafId);\n };\n }\n initCanvasMutationObserver(win, blockClass, blockSelector) {\n this.startRAFTimestamping();\n this.startPendingCanvasMutationFlusher();\n const canvasContextReset = initCanvasContextObserver(\n win,\n blockClass,\n blockSelector,\n false\n );\n const canvas2DReset = initCanvas2DMutationObserver(\n this.processMutation.bind(this),\n win,\n blockClass,\n blockSelector\n );\n const canvasWebGL1and2Reset = initCanvasWebGLMutationObserver(\n this.processMutation.bind(this),\n win,\n blockClass,\n blockSelector\n );\n this.resetObservers = () => {\n canvasContextReset();\n canvas2DReset();\n canvasWebGL1and2Reset();\n };\n }\n startPendingCanvasMutationFlusher() {\n requestAnimationFrame(() => this.flushPendingCanvasMutations());\n }\n startRAFTimestamping() {\n const setLatestRAFTimestamp = (timestamp) => {\n this.rafStamps.latestId = timestamp;\n requestAnimationFrame(setLatestRAFTimestamp);\n };\n requestAnimationFrame(setLatestRAFTimestamp);\n }\n flushPendingCanvasMutations() {\n this.pendingCanvasMutations.forEach(\n (_values, canvas) => {\n const id = this.mirror.getId(canvas);\n this.flushPendingCanvasMutationFor(canvas, id);\n }\n );\n requestAnimationFrame(() => this.flushPendingCanvasMutations());\n }\n flushPendingCanvasMutationFor(canvas, id) {\n if (this.frozen || this.locked) {\n return;\n }\n const valuesWithType = this.pendingCanvasMutations.get(canvas);\n if (!valuesWithType || id === -1) return;\n const values = valuesWithType.map((value) => {\n const { type: type2, ...rest } = value;\n return rest;\n });\n const { type } = valuesWithType[0];\n this.mutationCb({ id, type, commands: values });\n this.pendingCanvasMutations.delete(canvas);\n }\n}\nclass StylesheetManager {\n constructor(options) {\n __publicField(this, \"trackedLinkElements\", /* @__PURE__ */ new WeakSet());\n __publicField(this, \"mutationCb\");\n __publicField(this, \"adoptedStyleSheetCb\");\n __publicField(this, \"styleMirror\", new StyleSheetMirror());\n this.mutationCb = options.mutationCb;\n this.adoptedStyleSheetCb = options.adoptedStyleSheetCb;\n }\n attachLinkElement(linkEl, childSn) {\n if (\"_cssText\" in childSn.attributes)\n this.mutationCb({\n adds: [],\n removes: [],\n texts: [],\n attributes: [\n {\n id: childSn.id,\n attributes: childSn.attributes\n }\n ]\n });\n this.trackLinkElement(linkEl);\n }\n trackLinkElement(linkEl) {\n if (this.trackedLinkElements.has(linkEl)) return;\n this.trackedLinkElements.add(linkEl);\n this.trackStylesheetInLinkElement(linkEl);\n }\n adoptStyleSheets(sheets, hostId) {\n if (sheets.length === 0) return;\n const adoptedStyleSheetData = {\n id: hostId,\n styleIds: []\n };\n const styles = [];\n for (const sheet of sheets) {\n let styleId;\n if (!this.styleMirror.has(sheet)) {\n styleId = this.styleMirror.add(sheet);\n styles.push({\n styleId,\n rules: Array.from(sheet.rules || CSSRule, (r2, index2) => ({\n rule: stringifyRule(r2, sheet.href),\n index: index2\n }))\n });\n } else styleId = this.styleMirror.getId(sheet);\n adoptedStyleSheetData.styleIds.push(styleId);\n }\n if (styles.length > 0) adoptedStyleSheetData.styles = styles;\n this.adoptedStyleSheetCb(adoptedStyleSheetData);\n }\n reset() {\n this.styleMirror.reset();\n this.trackedLinkElements = /* @__PURE__ */ new WeakSet();\n }\n // TODO: take snapshot on stylesheet reload by applying event listener\n trackStylesheetInLinkElement(_linkEl) {\n }\n}\nclass ProcessedNodeManager {\n constructor() {\n __publicField(this, \"nodeMap\", /* @__PURE__ */ new WeakMap());\n __publicField(this, \"active\", false);\n }\n inOtherBuffer(node2, thisBuffer) {\n const buffers = this.nodeMap.get(node2);\n return buffers && Array.from(buffers).some((buffer) => buffer !== thisBuffer);\n }\n add(node2, buffer) {\n if (!this.active) {\n this.active = true;\n requestAnimationFrame(() => {\n this.nodeMap = /* @__PURE__ */ new WeakMap();\n this.active = false;\n });\n }\n this.nodeMap.set(node2, (this.nodeMap.get(node2) || /* @__PURE__ */ new Set()).add(buffer));\n }\n destroy() {\n }\n}\nlet wrappedEmit;\nlet takeFullSnapshot$1;\nlet canvasManager;\nlet recording = false;\ntry {\n if (Array.from([1], (x2) => x2 * 2)[0] !== 2) {\n const cleanFrame = document.createElement(\"iframe\");\n document.body.appendChild(cleanFrame);\n Array.from = ((_a = cleanFrame.contentWindow) == null ? void 0 : _a.Array.from) || Array.from;\n document.body.removeChild(cleanFrame);\n }\n} catch (err) {\n console.debug(\"Unable to override Array.from\", err);\n}\nconst mirror = createMirror$2();\nfunction record(options = {}) {\n const {\n emit,\n checkoutEveryNms,\n checkoutEveryNth,\n blockClass = \"rr-block\",\n blockSelector = null,\n ignoreClass = \"rr-ignore\",\n ignoreSelector = null,\n maskTextClass = \"rr-mask\",\n maskTextSelector = null,\n inlineStylesheet = true,\n maskAllInputs,\n maskInputOptions: _maskInputOptions,\n slimDOMOptions: _slimDOMOptions,\n maskInputFn,\n maskTextFn,\n hooks,\n packFn,\n sampling = {},\n dataURLOptions = {},\n mousemoveWait,\n recordDOM = true,\n recordCanvas = false,\n recordCrossOriginIframes = false,\n recordAfter = options.recordAfter === \"DOMContentLoaded\" ? options.recordAfter : \"load\",\n userTriggeredOnInput = false,\n collectFonts = false,\n inlineImages = false,\n plugins,\n keepIframeSrcFn = () => false,\n ignoreCSSAttributes = /* @__PURE__ */ new Set([]),\n errorHandler: errorHandler2\n } = options;\n registerErrorHandler(errorHandler2);\n const inEmittingFrame = recordCrossOriginIframes ? window.parent === window : true;\n let passEmitsToParent = false;\n if (!inEmittingFrame) {\n try {\n if (window.parent.document) {\n passEmitsToParent = false;\n }\n } catch (e2) {\n passEmitsToParent = true;\n }\n }\n if (inEmittingFrame && !emit) {\n throw new Error(\"emit function is required\");\n }\n if (!inEmittingFrame && !passEmitsToParent) {\n return () => {\n };\n }\n if (mousemoveWait !== void 0 && sampling.mousemove === void 0) {\n sampling.mousemove = mousemoveWait;\n }\n mirror.reset();\n const maskInputOptions = maskAllInputs === true ? {\n color: true,\n date: true,\n \"datetime-local\": true,\n email: true,\n month: true,\n number: true,\n range: true,\n search: true,\n tel: true,\n text: true,\n time: true,\n url: true,\n week: true,\n textarea: true,\n select: true,\n password: true\n } : _maskInputOptions !== void 0 ? _maskInputOptions : { password: true };\n const slimDOMOptions = _slimDOMOptions === true || _slimDOMOptions === \"all\" ? {\n script: true,\n comment: true,\n headFavicon: true,\n headWhitespace: true,\n headMetaSocial: true,\n headMetaRobots: true,\n headMetaHttpEquiv: true,\n headMetaVerification: true,\n // the following are off for slimDOMOptions === true,\n // as they destroy some (hidden) info:\n headMetaAuthorship: _slimDOMOptions === \"all\",\n headMetaDescKeywords: _slimDOMOptions === \"all\",\n headTitleMutations: _slimDOMOptions === \"all\"\n } : _slimDOMOptions ? _slimDOMOptions : {};\n polyfill$1();\n let lastFullSnapshotEvent;\n let incrementalSnapshotCount = 0;\n const eventProcessor = (e2) => {\n for (const plugin3 of plugins || []) {\n if (plugin3.eventProcessor) {\n e2 = plugin3.eventProcessor(e2);\n }\n }\n if (packFn && // Disable packing events which will be emitted to parent frames.\n !passEmitsToParent) {\n e2 = packFn(e2);\n }\n return e2;\n };\n wrappedEmit = (r2, isCheckout) => {\n var _a2;\n const e2 = r2;\n e2.timestamp = nowTimestamp();\n if (((_a2 = mutationBuffers[0]) == null ? void 0 : _a2.isFrozen()) && e2.type !== EventType.FullSnapshot && !(e2.type === EventType.IncrementalSnapshot && e2.data.source === IncrementalSource.Mutation)) {\n mutationBuffers.forEach((buf) => buf.unfreeze());\n }\n if (inEmittingFrame) {\n emit == null ? void 0 : emit(eventProcessor(e2), isCheckout);\n } else if (passEmitsToParent) {\n const message = {\n type: \"rrweb\",\n event: eventProcessor(e2),\n origin: window.location.origin,\n isCheckout\n };\n window.parent.postMessage(message, \"*\");\n }\n if (e2.type === EventType.FullSnapshot) {\n lastFullSnapshotEvent = e2;\n incrementalSnapshotCount = 0;\n } else if (e2.type === EventType.IncrementalSnapshot) {\n if (e2.data.source === IncrementalSource.Mutation && e2.data.isAttachIframe) {\n return;\n }\n incrementalSnapshotCount++;\n const exceedCount = checkoutEveryNth && incrementalSnapshotCount >= checkoutEveryNth;\n const exceedTime = checkoutEveryNms && e2.timestamp - lastFullSnapshotEvent.timestamp > checkoutEveryNms;\n if (exceedCount || exceedTime) {\n takeFullSnapshot$1(true);\n }\n }\n };\n const wrappedMutationEmit = (m) => {\n wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.Mutation,\n ...m\n }\n });\n };\n const wrappedScrollEmit = (p) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.Scroll,\n ...p\n }\n });\n const wrappedCanvasMutationEmit = (p) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.CanvasMutation,\n ...p\n }\n });\n const wrappedAdoptedStyleSheetEmit = (a2) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.AdoptedStyleSheet,\n ...a2\n }\n });\n const stylesheetManager = new StylesheetManager({\n mutationCb: wrappedMutationEmit,\n adoptedStyleSheetCb: wrappedAdoptedStyleSheetEmit\n });\n const iframeManager = new IframeManager({\n mirror,\n mutationCb: wrappedMutationEmit,\n stylesheetManager,\n recordCrossOriginIframes,\n wrappedEmit\n });\n for (const plugin3 of plugins || []) {\n if (plugin3.getMirror)\n plugin3.getMirror({\n nodeMirror: mirror,\n crossOriginIframeMirror: iframeManager.crossOriginIframeMirror,\n crossOriginIframeStyleMirror: iframeManager.crossOriginIframeStyleMirror\n });\n }\n const processedNodeManager = new ProcessedNodeManager();\n canvasManager = new CanvasManager({\n recordCanvas,\n mutationCb: wrappedCanvasMutationEmit,\n win: window,\n blockClass,\n blockSelector,\n mirror,\n sampling: sampling.canvas,\n dataURLOptions\n });\n const shadowDomManager = new ShadowDomManager({\n mutationCb: wrappedMutationEmit,\n scrollCb: wrappedScrollEmit,\n bypassOptions: {\n blockClass,\n blockSelector,\n maskTextClass,\n maskTextSelector,\n inlineStylesheet,\n maskInputOptions,\n dataURLOptions,\n maskTextFn,\n maskInputFn,\n recordCanvas,\n inlineImages,\n sampling,\n slimDOMOptions,\n iframeManager,\n stylesheetManager,\n canvasManager,\n keepIframeSrcFn,\n processedNodeManager\n },\n mirror\n });\n takeFullSnapshot$1 = (isCheckout = false) => {\n if (!recordDOM) {\n return;\n }\n wrappedEmit(\n {\n type: EventType.Meta,\n data: {\n href: window.location.href,\n width: getWindowWidth(),\n height: getWindowHeight()\n }\n },\n isCheckout\n );\n stylesheetManager.reset();\n shadowDomManager.init();\n mutationBuffers.forEach((buf) => buf.lock());\n const node2 = snapshot(document, {\n mirror,\n blockClass,\n blockSelector,\n maskTextClass,\n maskTextSelector,\n inlineStylesheet,\n maskAllInputs: maskInputOptions,\n maskTextFn,\n maskInputFn,\n slimDOM: slimDOMOptions,\n dataURLOptions,\n recordCanvas,\n inlineImages,\n onSerialize: (n2) => {\n if (isSerializedIframe(n2, mirror)) {\n iframeManager.addIframe(n2);\n }\n if (isSerializedStylesheet(n2, mirror)) {\n stylesheetManager.trackLinkElement(n2);\n }\n if (hasShadowRoot(n2)) {\n shadowDomManager.addShadowRoot(index.shadowRoot(n2), document);\n }\n },\n onIframeLoad: (iframe, childSn) => {\n iframeManager.attachIframe(iframe, childSn);\n shadowDomManager.observeAttachShadow(iframe);\n },\n onStylesheetLoad: (linkEl, childSn) => {\n stylesheetManager.attachLinkElement(linkEl, childSn);\n },\n keepIframeSrcFn\n });\n if (!node2) {\n return console.warn(\"Failed to snapshot the document\");\n }\n wrappedEmit(\n {\n type: EventType.FullSnapshot,\n data: {\n node: node2,\n initialOffset: getWindowScroll(window)\n }\n },\n isCheckout\n );\n mutationBuffers.forEach((buf) => buf.unlock());\n if (document.adoptedStyleSheets && document.adoptedStyleSheets.length > 0)\n stylesheetManager.adoptStyleSheets(\n document.adoptedStyleSheets,\n mirror.getId(document)\n );\n };\n try {\n const handlers = [];\n const observe = (doc) => {\n var _a2;\n return callbackWrapper(initObservers)(\n {\n mutationCb: wrappedMutationEmit,\n mousemoveCb: (positions, source) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source,\n positions\n }\n }),\n mouseInteractionCb: (d) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.MouseInteraction,\n ...d\n }\n }),\n scrollCb: wrappedScrollEmit,\n viewportResizeCb: (d) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.ViewportResize,\n ...d\n }\n }),\n inputCb: (v2) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.Input,\n ...v2\n }\n }),\n mediaInteractionCb: (p) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.MediaInteraction,\n ...p\n }\n }),\n styleSheetRuleCb: (r2) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.StyleSheetRule,\n ...r2\n }\n }),\n styleDeclarationCb: (r2) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.StyleDeclaration,\n ...r2\n }\n }),\n canvasMutationCb: wrappedCanvasMutationEmit,\n fontCb: (p) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.Font,\n ...p\n }\n }),\n selectionCb: (p) => {\n wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.Selection,\n ...p\n }\n });\n },\n customElementCb: (c2) => {\n wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.CustomElement,\n ...c2\n }\n });\n },\n blockClass,\n ignoreClass,\n ignoreSelector,\n maskTextClass,\n maskTextSelector,\n maskInputOptions,\n inlineStylesheet,\n sampling,\n recordDOM,\n recordCanvas,\n inlineImages,\n userTriggeredOnInput,\n collectFonts,\n doc,\n maskInputFn,\n maskTextFn,\n keepIframeSrcFn,\n blockSelector,\n slimDOMOptions,\n dataURLOptions,\n mirror,\n iframeManager,\n stylesheetManager,\n shadowDomManager,\n processedNodeManager,\n canvasManager,\n ignoreCSSAttributes,\n plugins: ((_a2 = plugins == null ? void 0 : plugins.filter((p) => p.observer)) == null ? void 0 : _a2.map((p) => ({\n observer: p.observer,\n options: p.options,\n callback: (payload) => wrappedEmit({\n type: EventType.Plugin,\n data: {\n plugin: p.name,\n payload\n }\n })\n }))) || []\n },\n hooks\n );\n };\n iframeManager.addLoadListener((iframeEl) => {\n try {\n handlers.push(observe(iframeEl.contentDocument));\n } catch (error) {\n console.warn(error);\n }\n });\n const init = () => {\n takeFullSnapshot$1();\n handlers.push(observe(document));\n recording = true;\n };\n if (document.readyState === \"interactive\" || document.readyState === \"complete\") {\n init();\n } else {\n handlers.push(\n on(\"DOMContentLoaded\", () => {\n wrappedEmit({\n type: EventType.DomContentLoaded,\n data: {}\n });\n if (recordAfter === \"DOMContentLoaded\") init();\n })\n );\n handlers.push(\n on(\n \"load\",\n () => {\n wrappedEmit({\n type: EventType.Load,\n data: {}\n });\n if (recordAfter === \"load\") init();\n },\n window\n )\n );\n }\n return () => {\n handlers.forEach((h) => h());\n processedNodeManager.destroy();\n recording = false;\n unregisterErrorHandler();\n };\n } catch (error) {\n console.warn(error);\n }\n}\nrecord.addCustomEvent = (tag, payload) => {\n if (!recording) {\n throw new Error(\"please add custom event after start recording\");\n }\n wrappedEmit({\n type: EventType.Custom,\n data: {\n tag,\n payload\n }\n });\n};\nrecord.freezePage = () => {\n mutationBuffers.forEach((buf) => buf.freeze());\n};\nrecord.takeFullSnapshot = (isCheckout) => {\n if (!recording) {\n throw new Error(\"please take full snapshot after start recording\");\n }\n takeFullSnapshot$1(isCheckout);\n};\nrecord.mirror = mirror;\nvar n;\n!function(t2) {\n t2[t2.NotStarted = 0] = \"NotStarted\", t2[t2.Running = 1] = \"Running\", t2[t2.Stopped = 2] = \"Stopped\";\n}(n || (n = {}));\nexport {\n record\n};\n//# sourceMappingURL=record.js.map\n","import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n","let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n","import rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nconst _state = {};\nfunction v1(options, buf, offset) {\n let bytes;\n const isV6 = options?._v6 ?? false;\n if (options) {\n const optionsKeys = Object.keys(options);\n if (optionsKeys.length === 1 && optionsKeys[0] === '_v6') {\n options = undefined;\n }\n }\n if (options) {\n bytes = v1Bytes(options.random ?? options.rng?.() ?? rng(), options.msecs, options.nsecs, options.clockseq, options.node, buf, offset);\n }\n else {\n const now = Date.now();\n const rnds = rng();\n updateV1State(_state, now, rnds);\n bytes = v1Bytes(rnds, _state.msecs, _state.nsecs, isV6 ? undefined : _state.clockseq, isV6 ? undefined : _state.node, buf, offset);\n }\n return buf ?? unsafeStringify(bytes);\n}\nexport function updateV1State(state, now, rnds) {\n state.msecs ??= -Infinity;\n state.nsecs ??= 0;\n if (now === state.msecs) {\n state.nsecs++;\n if (state.nsecs >= 10000) {\n state.node = undefined;\n state.nsecs = 0;\n }\n }\n else if (now > state.msecs) {\n state.nsecs = 0;\n }\n else if (now < state.msecs) {\n state.node = undefined;\n }\n if (!state.node) {\n state.node = rnds.slice(10, 16);\n state.node[0] |= 0x01;\n state.clockseq = ((rnds[8] << 8) | rnds[9]) & 0x3fff;\n }\n state.msecs = now;\n return state;\n}\nfunction v1Bytes(rnds, msecs, nsecs, clockseq, node, buf, offset = 0) {\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n if (!buf) {\n buf = new Uint8Array(16);\n offset = 0;\n }\n else {\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n }\n msecs ??= Date.now();\n nsecs ??= 0;\n clockseq ??= ((rnds[8] << 8) | rnds[9]) & 0x3fff;\n node ??= rnds.slice(10, 16);\n msecs += 12219292800000;\n const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n buf[offset++] = (tl >>> 24) & 0xff;\n buf[offset++] = (tl >>> 16) & 0xff;\n buf[offset++] = (tl >>> 8) & 0xff;\n buf[offset++] = tl & 0xff;\n const tmh = ((msecs / 0x100000000) * 10000) & 0xfffffff;\n buf[offset++] = (tmh >>> 8) & 0xff;\n buf[offset++] = tmh & 0xff;\n buf[offset++] = ((tmh >>> 24) & 0xf) | 0x10;\n buf[offset++] = (tmh >>> 16) & 0xff;\n buf[offset++] = (clockseq >>> 8) | 0x80;\n buf[offset++] = clockseq & 0xff;\n for (let n = 0; n < 6; ++n) {\n buf[offset++] = node[n];\n }\n return buf;\n}\nexport default v1;\n",null,null,null,null,null],"names":["__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","SuppressedError","_a","__defProp","Object","defineProperty","__publicField","obj","key","enumerable","configurable","writable","__defNormalProp","__defProp$1","__publicField$1","__defNormalProp$1","NodeType$3","NodeType2","testableAccessors$1","Node","ShadowRoot","Element","MutationObserver","testableMethods$1","untaintedBasePrototype$1","getUntaintedPrototype$1","defaultObj","globalThis","defaultPrototype","prototype","accessorNames","isUntaintedAccessors","Boolean","every","accessor","_a2","_b","getOwnPropertyDescriptor","get","toString","includes","methodNames","isUntaintedMethods","method","Zone","iframeEl","document","createElement","body","appendChild","win","contentWindow","untaintedObject","removeChild","untaintedAccessorCache$1","getUntaintedAccessor$1","instance","cacheKey","String","call","untaintedPrototype","untaintedAccessor","untaintedMethodCache$1","getUntaintedMethod$1","bind","untaintedMethod","index$1","childNodes","n2","parentNode","parentElement","textContent","contains","other","getRootNode","host","styleSheets","shadowRoot","querySelector","selectors","querySelectorAll","mutationObserver","constructor","isElement","nodeType","ELEMENT_NODE","isShadowRoot","hostEl","isNativeShadowDom","shadowRoot2","stringifyStylesheet","s2","rules2","rules","cssRules","sheetHref","href","ownerNode","ownerDocument","location","stringifiedRules","Array","from","rule2","stringifyRule","join","cssText","replace","error","isCSSImportRule","importStringified","styleSheet","split","length","statement","JSON","stringify","layerName","push","supportsText","media","mediaText","escapeImportStatement","absolutifyURLs","ruleStringified","isCSSStyleRule","selectorText","cssStringified","regex","fixSafariColons","Mirror","this","Map","WeakMap","getId","getMeta","id","getNode","idNodeMap","getIds","keys","nodeMetaMap","removeNodeFromMap","delete","forEach","childNode","has","hasNode","node2","add","meta","set","oldNode","reset","maskInputValue","element","maskInputOptions","tagName","type","maskInputFn","text","actualType","toLowerCase","repeat","str","ORIGINAL_ATTRIBUTE_NAME","getInputType","hasAttribute","extractFileExtension","path","baseURL","url","URL","window","err","match","pathname","URL_IN_CSS_REF","URL_PROTOCOL_MATCH","URL_WWW_MATCH","DATA_URI","origin","quote1","path1","quote2","path2","path3","filePath","maybeQuote","test","indexOf","slice","extractOrigin","stack","parts","pop","part","normalizeCssString","markCssSplits","style","childNodes2","splits","cssTextNorm","i2","textContentNorm","j","bit","substring","splitNorm","k","splitCssText","_id","tagNameRegex","RegExp","genId","canvasService","canvasCtx","SRCSET_NOT_SPACES","SRCSET_COMMAS_OR_SPACES","cachedDocument","absoluteToDoc","doc","attributeValue","trim","getHref","isSVGElement","el","ownerSVGElement","customHref","a2","startsWith","setAttribute","transformAttribute","name","pos","collectCharacters","regEx","chars2","exec","output","descriptorsStr","inParens","c2","charAt","getAbsoluteSrcsetString","ignoreAttribute","_value","classMatchesRegex","checkAncestors","eIndex","classList","className","needMaskingText","maskTextClass","maskTextSelector","closest","matches","e2","serializeNode","options","mirror","mirror2","blockClass","blockSelector","needsMask","inlineStylesheet","maskTextFn","dataURLOptions","inlineImages","recordCanvas","keepIframeSrcFn","newlyAddedElement","cssCaptured","rootId","docId","getRootId","DOCUMENT_NODE","compatMode","Document","DOCUMENT_TYPE_NODE","DocumentType","publicId","systemId","needBlock","_isBlockedElement","HTMLFormElement","processedTagName","getValidTagName$1","attributes","len","attr","stylesheet","find","rel","_cssText","sheet","checked","selected","open","rr_open_mode","__context","canvas","ctx","getContext","x2","width","y","height","getImageData","originalGetImageData","Uint32Array","Math","min","data","buffer","some","pixel","is2DCanvasBlank","rr_dataURL","toDataURL","quality","canvasDataURL","blankCanvas","image","imageSrc","currentSrc","getAttribute","priorCrossOrigin","crossOrigin","recordInlineImage","removeEventListener","naturalWidth","naturalHeight","drawImage","complete","addEventListener","console","warn","removeAttribute","mediaAttributes","rr_mediaState","paused","rr_mediaCurrentTime","currentTime","rr_mediaPlaybackRate","playbackRate","rr_mediaMuted","muted","rr_mediaLoop","loop","rr_mediaVolume","volume","scrollLeft","rr_scrollLeft","scrollTop","rr_scrollTop","getBoundingClientRect","class","rr_width","rr_height","src","contentDocument","rr_src","isCustomElement","customElements","isSVG","isCustom","serializeElementNode","TEXT_NODE","parent","parentTagName","textContent2","isStyle","isScript","Text","serializeTextNode","CDATA_SECTION_NODE","CDATA","COMMENT_NODE","Comment","lowerIfExists","maybeAttr","serializeNodeWithId","skipChild","slimDOMOptions","onSerialize","onIframeLoad","iframeLoadTimeout","onStylesheetLoad","stylesheetLoadTimeout","preserveWhiteSpace","_serializedNode","sn","comment","script","as","headFavicon","headMetaDescKeywords","headMetaSocial","property","headMetaRobots","headMetaHttpEquiv","headMetaAuthorship","headMetaVerification","slimDOMExcluded","serializedNode","assign","recordChild","shadowRootEl","isShadowHost","headWhitespace","bypassOptions","childN","serializedChildNode","isShadow","listener","readyState","fired","timer","setTimeout","clearTimeout","blankUrl","onceIframeLoaded","iframeDoc","serializedIframeNode","link","styleSheetLoadTimeout","styleSheetLoaded","onceStylesheetLoaded","serializedLinkNode","getDefaultExportFromCjs$1","__esModule","hasOwnProperty","getAugmentedNamespace$1","f2","default","a22","Reflect","construct","arguments","d","picocolors_browser$1","exports","x$1","create$1","isColorSupported","bold","dim","italic","underline","inverse","hidden","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","createColors","picocolors_browserExports$1","require$$2$1","freeze","__proto__","Symbol","toStringTag","pico$1","terminalHighlight$1$1","CssSyntaxError$3$1","CssSyntaxError","Error","message","line","column","source","file","plugin22","super","reason","plugin","endLine","endColumn","setMessage","captureStackTrace","showSourceCode","color","css","mark","aside","lines","start","max","end","maxWidth","map","index2","number","gutter","spacing","code","cssSyntaxError$1","symbols$1","isClean","my","DEFAULT_RAW$1","after","beforeClose","beforeComment","beforeDecl","beforeOpen","beforeRule","colon","commentLeft","commentRight","emptyBody","indent","semicolon","Stringifier$2$1","builder","atrule","params","rawValue","raws","afterName","nodes","block","between","beforeAfter","detect","raw","buf","depth","last","child","before","left","right","decl","string","prop","important","own","first","root2","root","rawCache","toUpperCase","walk","rawBeforeClose","rawBeforeComment","walkComments","rawBeforeDecl","walkDecls","rawBeforeOpen","rawBeforeRule","rawColon","rawEmptyBody","rawIndent","p","rawSemicolon","rule","ownSemicolon","stringifier$1","Stringifier$1$1","stringify$4$1","stringify_1$1","isClean$2$1","my$2$1","CssSyntaxError$2$1","Stringifier2$1","stringify$3$1","cloneNode$1","cloned","isArray","Node$4$1","defaults","clone","append","addToError","postcssNode","input","insertAfter","overrides","insertBefore","cleanRaws","keepBetween","cloneAfter","cloneBefore","opts","rangeBy","getProxyProcessor","toProxy","markDirty","index","positionBy","stringRepresentation","positionInside","word","prev","endIndex","defaultType","remove","replaceWith","bookmark","foundSelf","result2","toJSON","_","inputs","fixed","emitInputs","inputsNextIndex","inputId","input2","proxyCache","Proxy","stringifier2","node","proxyOf","node$1","Node$3$1","Declaration$4$1","variable","declaration$1","nonSecure$1","nanoid","size","random","SourceMapConsumer","SourceMapConsumer$2$1","SourceMapGenerator","SourceMapGenerator$2$1","existsSync","existsSync$1","readFileSync","readFileSync$1","dirname","dirname$1$1","join$1","PreviousMap$2$1","loadAnnotation","inline","startWith","annotation","loadMap","mapFile","consumer","consumerCache","decodeInline","decodeURIComponent","substr","lastMatch","Buffer","atob","encoding","getAnnotationURL","sourceMapString","isMap","mappings","_mappings","sections","comments","lastIndexOf","loadFile","fromSourceMap","prevPath","withContent","sourcesContent","previousMap$1","SourceMapConsumer$1$1","SourceMapGenerator$1$1","fileURLToPath","fileURLToPath$1","pathToFileURL","pathToFileURL$1$1","isAbsolute","isAbsolute$1","resolve$1$1","nanoid$2","terminalHighlight$2","CssSyntaxError$1$1","PreviousMap$1$1","fromOffsetCache$1","sourceMapAvailable$1$1","pathAvailable$1$1","Input$4$1","hasBOM","mapResolve","offset","fromOffset","col","lastLine","lineToIndex","prevIndex","l2","mid","sourceRoot","to","fromUrl","originalPositionFor","protocol","sourceContentFor","json","input$1","registerInput","SourceMapConsumer$3","SourceMapGenerator$3","dirname$2","relative","relative$1","resolve$2","sep","sep$1","pathToFileURL$2","Input$3$1","sourceMapAvailable$2","pathAvailable$2","mapGenerator$1","stringify2","cssString","mapOpts","originalCSS","usesFileUrls","absolute","memoizedFileURLs","memoizedPaths","memoizedURLs","addAnnotation","content","isInline","toBase64","outputFile","eol","applyPrevMaps","previous","toUrl","applySourceMap","clearAnnotation","generate","generateMap","generateString","ignoreInvalidMapping","addMapping","generated","original","isSourcesContent","setSourcesContent","isAnnotation","noSource","mapping","sourcePath","charCodeAt","cached","previousMaps","already","toFileUrl","setSourceContent","btoa","unescape","encodeURIComponent","fileURL","encodeURI","Node$2$1","Comment$4$1","comment$1","parse$4$1","Rule$4$1","AtRule$4$1","Root$6$1","isClean$1$1","my$1$1","Declaration$3$1","Comment$3$1","Node$1$1","cleanSource$1","markDirtyUp$1","Container$7$1","Container","children","normalize","each","callback","iterator","getIterator","indexes","condition","lastEach","args","cb","exist","existIndex","reverse","splice","sample","selector","rebuild","prepend","unshift","removeAll","replaceValues","pattern","props","fast","walkAtRules","walkRules","registerParse","dependant","registerRule","registerAtRule","registerRoot","container$1","setPrototypeOf","LazyResult$4$1","Processor$3$1","Container$6$1","Document$3$1","toResult","registerLazyResult","registerProcessor","document$1$1","printed$1","warnOnce$2$1","Warning$2$1","range","opt","warning$1","Warning$1$1","Result$3$1","processor2","processor","messages","lastPlugin","postcssPlugin","warning2","warnings","filter","result$1","SINGLE_QUOTE$1","DOUBLE_QUOTE$1","BACKSLASH$1","SLASH$1","NEWLINE$1","SPACE$1","FEED$1","TAB$1","CR$1","OPEN_SQUARE$1","CLOSE_SQUARE$1","OPEN_PARENTHESES$1","CLOSE_PARENTHESES$1","OPEN_CURLY$1","CLOSE_CURLY$1","SEMICOLON$1","ASTERISK$1","COLON$1","AT$1","RE_AT_END$1","RE_WORD_END$1","RE_BAD_BRACKET$1","RE_HEX_ESCAPE$1","Container$5$1","AtRule$3$1","atRule$1","LazyResult$3$1","Processor$2$1","Container$4$1","Root$5$1","ignore","root$1","list$2$1","comma","space","separators","array","current","func","inQuote","prevQuote","escape","letter","list_1$1","Container$3$1","list$1$1","Rule$3$1","values","sep2","rule$1","Declaration$2$1","tokenizer2$1","quote","escaped","escapePos","currentToken","valueOf","ignoreErrors","returned","unclosed","what","back","token","endOfFile","nextToken","ignoreUnclosed","controlChar","fromCharCode","lastIndex","position","Comment$2$1","AtRule$2$1","Root$4$1","Rule$2$1","SAFE_COMMENT_NEIGHBOR$1","empty","Container$2$1","Parser2$1","spaces","createTokenizer","shift","unnamedAtrule","init","brackets","tokenizer","getPosition","spacesAndCommentsFromEnd","spacesAndCommentsFromStart","checkMissedSemicolon","tokens","founded","entries","doubleColon","customProperty","findLastWithPosition$1","unknownWord","firstSpaces","precheckMissedSemicolon","stringFrom","spacesFromEnd","cache","concat","emptyRule","unexpectedClose","endFile","unclosedBlock","freeSemicolon","bracket","unclosedBracket","parse","clean","reduce","all","lastTokenType","Input$2$1","parse$3$1","parser2","process","env","NODE_ENV","parse_1$1","isClean$3","my$3","MapGenerator$1$1","stringify$2$1","Container$1$1","Document$2$1","warnOnce$1$1","Result$2$1","parse$2$1","Root$3$1","TYPE_TO_CLASS_NAME$1","PLUGIN_PROPS$1","AtRule","AtRuleExit","CommentExit","Declaration","DeclarationExit","DocumentExit","Once","OnceExit","prepare","Root","RootExit","Rule","RuleExit","NOT_VISITORS$1","isPromise$1","getEvents$1","toStack$1","events","eventIndex","visitorIndex","visitors","cleanMarks$1","postcss$2$1","LazyResult$2$1","LazyResult","stringified","processed","syntax","parser","helpers","postcss","plugins","async","processing","runAsync","onRejected","catch","onFinally","getAsyncError","handleError","postcssVersion","pluginName","pluginVer","runtimeVer","version","b","parseInt","prepareVisitors","listeners","event","hasListener","promise","runOnRoot","visitTick","visitor","roots","subRoot","sync","stringifier","walkSync","visitSync","onFulfilled","visit2","registerPostcss","lazyResult$1","MapGenerator2$1","stringify$1$1","warnOnce2$1","parse$1$1","Result$1$1","NoWorkResult$1$1","_processor","_css","_opts","_map","self","generatedCSS","generatedMap","_root","noWorkResult$1","NoWorkResult2$1","LazyResult$1$1","Document$1$1","Root$2$1","Processor$1$1","normalized","use","processor$1","Declaration$1$1","PreviousMap2$1","Comment$1$1","AtRule$1$1","Input$1$1","Root$1$1","Rule$1$1","fromJSON$1$1","ownInputs","inputHydrated","fromJSON_1$1","CssSyntaxError2$1","Declaration2$1","LazyResult2$1","Container2$1","Processor2$1","stringify$5","fromJSON$2","Document22","Warning2$1","Comment2$1","AtRule2$1","Result2$1","Input2$1","parse$5","list$3","Rule2$1","Root2$1","Node2$1","postcss$3","initializer","warningPrinted","creator","LANG","transformer","processOpts","pluginOpts","fromJSON","list","atRule","Processor","Warning","Result","Input","postcss_1$1","postcss$1$1","__defProp2","__publicField2","__defNormalProp2","getDefaultExportFromCjs","getAugmentedNamespace","picocolors_browser","x","create","picocolors_browserExports","require$$2","pico","terminalHighlight$1","CssSyntaxError$3","CssSyntaxError2","cssSyntaxError","symbols","DEFAULT_RAW","Stringifier$2","Stringifier$1","stringify$4","stringify_1","isClean$2","my$2","CssSyntaxError$2","Stringifier22","stringify$3","cloneNode","Node$4","Node$3","Declaration$4","declaration","nonSecure","SourceMapConsumer$2","SourceMapGenerator$2","dirname$1","PreviousMap$2","previousMap","SourceMapConsumer$1","SourceMapGenerator$1","pathToFileURL$1","resolve$1","terminalHighlight","CssSyntaxError$1","PreviousMap$1","fromOffsetCache","sourceMapAvailable$1","pathAvailable$1","Input$4","Input$3","sourceMapAvailable","pathAvailable","mapGenerator","Node$2","Comment$4","parse$4","Rule$4","AtRule$4","Root$6","isClean$1","my$1","Declaration$3","Comment$3","Node$1","cleanSource","markDirtyUp","Container$7","Container2","container","LazyResult$4","Processor$3","Container$6","Document$3","document$1","printed","warnOnce$2","Warning$2","warning","Warning$1","Result$3","SINGLE_QUOTE","DOUBLE_QUOTE","BACKSLASH","SLASH","NEWLINE","SPACE","FEED","TAB","CR","OPEN_SQUARE","CLOSE_SQUARE","OPEN_PARENTHESES","CLOSE_PARENTHESES","OPEN_CURLY","CLOSE_CURLY","SEMICOLON","ASTERISK","COLON","AT","RE_AT_END","RE_WORD_END","RE_BAD_BRACKET","RE_HEX_ESCAPE","Container$5","AtRule$3","LazyResult$3","Processor$2","Container$4","Root$5","list$2","list_1","Container$3","list$1","Rule$3","Declaration$2","tokenizer22","Comment$2","AtRule$2","Root$4","Rule$2","SAFE_COMMENT_NEIGHBOR","Container$2","Parser22","findLastWithPosition","Input$2","parse$3","parse_1","MapGenerator$1","stringify$2","Container$1","Document$2","warnOnce$1","Result$2","parse$2","Root$3","TYPE_TO_CLASS_NAME","PLUGIN_PROPS","NOT_VISITORS","isPromise","getEvents","toStack","cleanMarks","postcss$2","LazyResult$2","LazyResult2","lazyResult","MapGenerator22","stringify$1","warnOnce22","parse$1","Result$1","NoWorkResult$1","noWorkResult","NoWorkResult22","LazyResult$1","Document$1","Root$2","Processor$1","Declaration$1","PreviousMap22","Comment$1","AtRule$1","Input$1","Root$1","Rule$1","fromJSON$1","fromJSON_1","CssSyntaxError22","Declaration22","LazyResult22","Container22","Processor22","Document222","Warning22","Comment22","AtRule22","Result22","Input22","Rule22","Root22","Node22","postcss_1","postcss$1","BaseRRNode","_args","childIterator","firstChild","nextSibling","_newChild","_refChild","_node","testableAccessors","testableMethods","untaintedBasePrototype","getUntaintedPrototype","untaintedAccessorCache","getUntaintedAccessor","untaintedMethodCache","getUntaintedMethod","mutationObserverCtor","on","fn","target","capture","passive","DEPARTED_MIRROR_ACCESS_WARNING","_mirror","throttle","wait","timeout","now","Date","leading","remaining","context","trailing","hookSetter","isRevoked","patch","replacement","wrapped","defineProperties","__rrweb_original__","receiver","nowTimestamp","getWindowScroll","_c","_d","scrollingElement","pageXOffset","documentElement","top","pageYOffset","getWindowHeight","innerHeight","clientHeight","getWindowWidth","innerWidth","clientWidth","closestElementOfNode","isBlocked","isIgnored","headTitleMutations","isAncestorRemoved","legacy_isTouchEvent","changedTouches","isSerializedIframe","nodeName","isSerializedStylesheet","hasShadowRoot","getTime","StyleSheetMirror","styleIDMap","newId","idStyleMap","getStyle","generateId","getShadowHost","shadowHost","DOCUMENT_FRAGMENT_NODE","shadowHostInDom","rootShadowHost","getRootShadowHost","inDom","EventType","EventType2","IncrementalSource","IncrementalSource2","MouseInteractions","MouseInteractions2","PointerTypes","PointerTypes2","CanvasContext","CanvasContext2","MediaInteractions","MediaInteractions2","NodeType","isNodeInLinkedList","DoubleLinkedList","head","addNode","__ln","previousSibling","tail","removeNode","moveKey","parentId","MutationBuffer","Set","mutations","processMutation","emit","frozen","locked","adds","addedIds","addList","getNextId","ns","nextId","pushAdd","parentTag","addedSet","currentN","iframeManager","addIframe","stylesheetManager","trackLinkElement","shadowDomManager","addShadowRoot","iframe","childSn","attachIframe","observeAttachShadow","attachLinkElement","mapRemoves","movedSet","isParentRemoved","removesSubTreeCache","isAncestorInSet","droppedSet","candidate","tailNode","unhandledNode","payload","texts","genTextAreaValueMutation","attribute","diffAsStr","styleDiff","unchangedAsStr","_unchangedStyles","removes","attributeMap","movedMap","mutationCb","textarea","item","cn","m","oldValue","attributeName","unattachedDoc","implementation","createHTMLDocument","old","pname","newValue","getPropertyValue","newPriority","getPropertyPriority","addedNodes","genAdds","removedNodes","nodeId","isSerialized","deepDelete","queue","n22","processRemoves","processedNodeManager","inOtherBuffer","targetId","canvasManager","unfreeze","isFrozen","lock","unlock","addsSet","_isParentRemoved","_isAncestorInSet","errorHandler","callbackWrapper","rest","mutationBuffers","getEventTarget","composedPath","initMutationObserver","rootEl","mutationBuffer","observer","processMutations","observe","attributeOldValue","characterData","characterDataOldValue","childList","subtree","initMouseInteractionObserver","mouseInteractionCb","sampling","mouseInteraction","disableMap","handlers","currentPointerType","Number","isNaN","endsWith","eventKey","eventName","handler","pointerType","thisEventKey","Mouse","Touch","Pen","MouseDown","MouseUp","Click","clientX","clientY","getHandler","PointerEvent","TouchStart","TouchEnd","h","initScrollObserver","scrollCb","evt","defaultView","scrollLeftTop","scroll","INPUT_TAGS","lastInputValueMap","getNestedCSSRulePositions","childRule","hasNestedCSSRule","parentRule","CSSGroupingRule","CSSMediaRule","CSSSupportsRule","CSSConditionRule","parentStyleSheet","recurse","getIdAndStyleId","styleMirror","styleId","initAdoptedStyleSheetObserver","host2","hostId","patchTarget","originalPropertyDescriptor","_a3","sheets","adoptStyleSheets","initObservers","o2","hooks","currentWindow","mousemoveCb","viewportResizeCb","inputCb","mediaInteractionCb","styleSheetRuleCb","styleDeclarationCb","canvasMutationCb","fontCb","selectionCb","customElementCb","mutation","mousemove","viewportResize","mediaInteaction","styleSheetRule","styleDeclaration","canvasMutation","font","selection","customElement","mergeHooks","recordDOM","mousemoveHandler","threshold","callbackThreshold","mousemoveCallback","timeBaseline","positions","wrappedCb","totalOffset","timeOffset","updatePosition","DragEvent","Drag","MouseEvent","MouseMove","TouchMove","initMoveObserver","mouseInteractionHandler","scrollHandler","viewportResizeHandler","lastH","lastW","initViewportResizeObserver","inputHandler","ignoreClass","ignoreSelector","userTriggeredOnInput","eventHandler","userTriggered","isTrusted","isChecked","cbWithDedup","text2","v2","lastInputValue","propertyDescriptor","HTMLInputElement","hookProperties","HTMLSelectElement","HTMLTextAreaElement","HTMLOptionElement","initInputObserver","mediaInteractionHandler","Play","Pause","Seeked","VolumeChange","RateChange","initMediaInteractionObserver","styleSheetObserver","adoptedStyleSheetObserver","styleDeclarationObserver","fontObserver","CSSStyleSheet","insertRule","argumentsList","addRule","styleBlock","deleteRule","replaceSync","removeRule","supportedNestedCSSRuleTypes","canMonkeyPatchNestedCSSRule","unmodifiedFunctions","typeKey","initStyleSheetObserver","ignoreCSSAttributes","setProperty","CSSStyleDeclaration","priority","removeProperty","initStyleDeclarationObserver","collectFonts","fontMap","originalFontFace","FontFace","family","descriptors","fontFace","fontSource","Uint8Array","restoreHandler","fonts","initFontObserver","selectionObserver","param","collapsed","updateSelection","getSelection","isCollapsed","ranges","count","rangeCount","getRangeAt","startContainer","startOffset","endContainer","endOffset","initSelectionObserver","customElementObserver","define","initCustomElementObserver","pluginHandlers","plugin3","disconnect","CrossOriginIframeMirror","generateIdFn","remoteId","idToRemoteMap","remoteToIdMap","idToRemoteIdMap","getIdToRemoteIdMap","remoteIdToIdMap","getRemoteIdToIdMap","getRemoteId","getRemoteIds","ids","iframeIdToRemoteIdMap","iframeRemoteIdToIdMap","IframeManager","wrappedEmit","recordCrossOriginIframes","crossOriginIframeStyleMirror","handleMessage","iframes","crossOriginIframeMap","addLoadListener","loadListener","isAttachIframe","adoptedStyleSheets","crossOriginMessageEvent","transformedEvent","transformCrossOriginEvent","isCheckout","FullSnapshot","crossOriginIframeMirror","replaceIdOnNode","crossOriginIframeRootIdMap","patchRootIdOnNode","timestamp","IncrementalSnapshot","Mutation","Meta","Load","DomContentLoaded","Plugin","Custom","replaceIds","ViewportResize","MediaInteraction","MouseInteraction","Scroll","CanvasMutation","StyleSheetRule","StyleDeclaration","replaceStyleIds","Font","Selection","AdoptedStyleSheet","styles","iframeMirror","ShadowDomManager","WeakSet","patchAttachShadow","shadowDoms","restoreHandlers","iframeElement","manager","option","sRoot","chars","lookup","i$1","canvasVarMap","saveWebGLVar","isInstanceOfWebGLObject","list2","ctor","contextMap","variableListFor$1","serializeArg","arg","Float32Array","Float64Array","Int32Array","Uint16Array","Int16Array","Int8Array","Uint8ClampedArray","rr_type","ArrayBuffer","base64","arraybuffer","bytes","encode","DataView","byteOffset","byteLength","HTMLImageElement","HTMLCanvasElement","ImageData","serializeArgs","supportedWebGLConstructorNames","initCanvasContextObserver","setPreserveDrawingBufferToTrue","contextType","ctxName","getNormalizedContextName","contextAttributes","preserveDrawingBuffer","patchGLPrototype","getOwnPropertyNames","recordArgs","hookHandler","setter","encodedJs","blob","Blob","WorkerWrapper","objURL","webkitURL","createObjectURL","worker","Worker","revokeObjectURL","CanvasManager","latestId","invokeId","rafStamps","pendingCanvasMutations","initCanvasMutationObserver","initCanvasFPSObserver","clear","resetObservers","fps","canvasContextReset","snapshotInProgressMap","onmessage","commands","timeBetweenSnapshots","rafId","lastSnapshotTime","takeCanvasSnapshots","matchedCanvas","getCanvas","getContextAttributes","COLOR_BUFFER_BIT","bitmap","createImageBitmap","postMessage","requestAnimationFrame","cancelAnimationFrame","startRAFTimestamping","startPendingCanvasMutationFlusher","canvas2DReset","props2D","CanvasRenderingContext2D","initCanvas2DMutationObserver","canvasWebGL1and2Reset","WebGLRenderingContext","WebGL","WebGL2RenderingContext","WebGL2","initCanvasWebGLMutationObserver","flushPendingCanvasMutations","setLatestRAFTimestamp","_values","flushPendingCanvasMutationFor","valuesWithType","type2","StylesheetManager","adoptedStyleSheetCb","linkEl","trackedLinkElements","trackStylesheetInLinkElement","adoptedStyleSheetData","styleIds","CSSRule","r2","_linkEl","ProcessedNodeManager","thisBuffer","buffers","nodeMap","active","destroy","takeFullSnapshot$1","recording","cleanFrame","debug","record","checkoutEveryNms","checkoutEveryNth","maskAllInputs","_maskInputOptions","_slimDOMOptions","packFn","mousemoveWait","recordAfter","errorHandler2","inEmittingFrame","passEmitsToParent","date","email","month","search","tel","time","week","select","password","lastFullSnapshotEvent","NodeList","DOMTokenList","polyfill$1","incrementalSnapshotCount","eventProcessor","exceedCount","exceedTime","wrappedMutationEmit","wrappedScrollEmit","wrappedCanvasMutationEmit","getMirror","nodeMirror","slimDOM","snapshot","initialOffset","CustomElement","n","t2","addCustomEvent","tag","freezePage","takeFullSnapshot","NotStarted","Running","Stopped","byteToHex","i","getRandomValues","rnds8","_state","v1","rnds","crypto","rng","state","msecs","Infinity","nsecs","undefined","clockseq","updateV1State","RangeError","tl","tmh","v1Bytes","arr","unsafeStringify","LogLevel","logger","config","level","ERROR","enableConsole","enableStorage","isBrowser","setConfig","shouldLog","formatMessage","toISOString","formattedMessage","logToStorage","WARN","info","INFO","log","DEBUG","logs","localStorage","getItem","logEntry","setItem","getLogs","clearLogs","removeItem","logError","logWarn","logInfo","logDebug","MAX_CHUNK_SIZE_BYTES","isChunkSizeExceeded","currentChunk","newEvent","sessionId","TextEncoder","splitLargeEvent","simplifiedEvent","largeProperties","fromEntries","HumanBehaviorAPI","apiKey","ingestionUrl","baseUrl","userId","entryURL","referrer","response","fetch","headers","Authorization","Referer","endUserId","status","ok","errorText","statusText","responseJson","sendEvents","validEvents","sendEventsChunked","results","flat","sendUserData","userData","userAttributes","posthogName","sendUserAuth","authFields","sendBeaconEvents","navigator","sendBeacon","sendCustomEvent","eventProperties","sendCustomEventBatch","RedactionManager","redactedText","userSelectedFields","excludeSelectors","userFields","setFieldsToRedact","fields","field","elements","isActive","getSelectedFields","processEvent","processedEvent","isFieldSelected","redactInputEvent","redactDOMEvent","redactMouseEvent","redactFullSnapshot","inputData","domData","textChange","shouldRedactDOMChange","attrChange","changeData","elementId","shouldRedactElement","mouseData","snapshotData","redactNode","shouldRedactNode","selectorMatchesNode","tempElement","basicSelectorMatch","typeMatch","eventData","matchingElements","activeElement","getMaskTextSelector","applyRedactionClasses","getOriginalValue","isElementRedacted","redactionManager","HumanBehaviorTracker","__humanBehaviorGlobalTracker","logLevel","configureLogging","tracker","redactFields","setRedactedFields","enableAutomaticTracking","setupAutomaticTracking","automaticTrackingOptions","testUrl","api","_connectionBlocked","eventIngestionQueue","userProperties","isProcessing","flushInterval","FLUSH_INTERVAL_MS","initialized","initializationPromise","originalConsole","consoleTrackingEnabled","navigationTrackingEnabled","currentUrl","previousUrl","originalPushState","originalReplaceState","navigationListeners","recordInstance","sessionStartTime","rrwebRecord","fullSnapshotTimeout","existingSessionId","lastActivity","fifteenMinutesAgo","uuidv1","getCookie","setCookie","setupPageUnloadHandler","setupNavigationTracking","ensureInitialized","history","pushState","replaceState","trackNavigationEvent","popstateListener","hashchangeListener","navigationData","hash","addEvent","eventType","trackPageView","pageViewData","customEvent","properties","_e","customEventData","fallbackError","trackButtons","trackLinks","trackForms","includeText","includeClasses","setupAutomaticButtonTracking","setupAutomaticLinkTracking","setupAutomaticFormTracking","button","buttonId","buttonType","page","buttonText","buttonClass","linkUrl","linkId","linkTarget","linkText","linkClass","form","formData","FormData","formId","formAction","action","formMethod","formClass","cleanupNavigationTracking","cleanup","none","enableConsoleTracking","trackConsoleEvent","disableConsoleTracking","consoleData","visibilityState","updateActivity","viewLogs","identifyUser","originalEndUserId","getUserAttributes","setInterval","flush","startRecording","once","stop","clearInterval","hasData","eventsToProcess","fullSnapshots","_f","daysToExpire","setTime","expires","toUTCString","cookie","localStorageError","nameEQ","ca","c","cookieValue","localStorageValue","deleteCookie","logout","userIdCookieName","redact","restartWithNewRedaction","isRedactionActive","getRedactedFields","getSessionId","getCurrentUrl","getSnapshotFrequencyInfo","sessionDuration","currentInterval","currentThreshold","phase","testConnection","success","getConnectionStatus","recommendations","blocked","isPreexistingUser","existingEndUserId","getUserInfo","singleEventSize"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}