| 1 |
(function() { |
| 2 |
|
| 3 |
//#region \0rolldown/runtime.js |
| 4 |
var __create = Object.create; |
| 5 |
var __defProp = Object.defineProperty; |
| 6 |
var __name = (target, value) => __defProp(target, "name", { |
| 7 |
value, |
| 8 |
configurable: true |
| 9 |
}); |
| 10 |
var __getOwnPropDesc = Object.getOwnPropertyDescriptor; |
| 11 |
var __getOwnPropNames = Object.getOwnPropertyNames; |
| 12 |
var __getProtoOf = Object.getPrototypeOf; |
| 13 |
var __hasOwnProp = Object.prototype.hasOwnProperty; |
| 14 |
var __esmMin = (fn, res, err) => () => { |
| 15 |
if (err) throw err[0]; |
| 16 |
try { |
| 17 |
return fn && (res = fn(fn = 0)), res; |
| 18 |
} catch (e) { |
| 19 |
throw err = [e], e; |
| 20 |
} |
| 21 |
}; |
| 22 |
var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports); |
| 23 |
var __copyProps = (to, from, except, desc) => { |
| 24 |
if (from && typeof from === "object" || typeof from === "function") { |
| 25 |
for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) { |
| 26 |
key = keys[i]; |
| 27 |
if (!__hasOwnProp.call(to, key) && key !== except) { |
| 28 |
__defProp(to, key, { |
| 29 |
get: ((k) => from[k]).bind(null, key), |
| 30 |
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable |
| 31 |
}); |
| 32 |
} |
| 33 |
} |
| 34 |
} |
| 35 |
return to; |
| 36 |
}; |
| 37 |
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { |
| 38 |
value: mod, |
| 39 |
enumerable: true |
| 40 |
}) : target, mod)); |
| 41 |
|
| 42 |
//#endregion |
| 43 |
|
| 44 |
//#region \0@oxc-project+runtime@0.140.0/helpers/esm/typeof.js |
| 45 |
function _typeof(o) { |
| 46 |
"@babel/helpers - typeof"; |
| 47 |
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) { |
| 48 |
return typeof o; |
| 49 |
} : function(o) { |
| 50 |
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; |
| 51 |
}, _typeof(o); |
| 52 |
} |
| 53 |
var init_typeof = __esmMin((() => {})); |
| 54 |
|
| 55 |
//#endregion |
| 56 |
//#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPrimitive.js |
| 57 |
function toPrimitive(t, r) { |
| 58 |
if ("object" != _typeof(t) || !t) return t; |
| 59 |
var e = t[Symbol.toPrimitive]; |
| 60 |
if (void 0 !== e) { |
| 61 |
var i = e.call(t, r || "default"); |
| 62 |
if ("object" != _typeof(i)) return i; |
| 63 |
throw new TypeError("@@toPrimitive must return a primitive value."); |
| 64 |
} |
| 65 |
return ("string" === r ? String : Number)(t); |
| 66 |
} |
| 67 |
var init_toPrimitive = __esmMin((() => { |
| 68 |
init_typeof(); |
| 69 |
})); |
| 70 |
|
| 71 |
//#endregion |
| 72 |
//#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPropertyKey.js |
| 73 |
function toPropertyKey(t) { |
| 74 |
var i = toPrimitive(t, "string"); |
| 75 |
return "symbol" == _typeof(i) ? i : i + ""; |
| 76 |
} |
| 77 |
var init_toPropertyKey = __esmMin((() => { |
| 78 |
init_typeof(); |
| 79 |
init_toPrimitive(); |
| 80 |
})); |
| 81 |
|
| 82 |
//#endregion |
| 83 |
//#region \0@oxc-project+runtime@0.140.0/helpers/esm/defineProperty.js |
| 84 |
function _defineProperty(e, r, t) { |
| 85 |
return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, { |
| 86 |
value: t, |
| 87 |
enumerable: !0, |
| 88 |
configurable: !0, |
| 89 |
writable: !0 |
| 90 |
}) : e[r] = t, e; |
| 91 |
} |
| 92 |
var init_defineProperty = __esmMin((() => { |
| 93 |
init_toPropertyKey(); |
| 94 |
})); |
| 95 |
|
| 96 |
//#endregion |
| 97 |
//#region \0@oxc-project+runtime@0.140.0/helpers/esm/objectSpread2.js |
| 98 |
function ownKeys(e, r) { |
| 99 |
var t = Object.keys(e); |
| 100 |
if (Object.getOwnPropertySymbols) { |
| 101 |
var o = Object.getOwnPropertySymbols(e); |
| 102 |
r && (o = o.filter(function(r) { |
| 103 |
return Object.getOwnPropertyDescriptor(e, r).enumerable; |
| 104 |
})), t.push.apply(t, o); |
| 105 |
} |
| 106 |
return t; |
| 107 |
} |
| 108 |
function _objectSpread2(e) { |
| 109 |
for (var r = 1; r < arguments.length; r++) { |
| 110 |
var t = null != arguments[r] ? arguments[r] : {}; |
| 111 |
r % 2 ? ownKeys(Object(t), !0).forEach(function(r) { |
| 112 |
_defineProperty(e, r, t[r]); |
| 113 |
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) { |
| 114 |
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); |
| 115 |
}); |
| 116 |
} |
| 117 |
return e; |
| 118 |
} |
| 119 |
var init_objectSpread2 = __esmMin((() => { |
| 120 |
init_defineProperty(); |
| 121 |
})); |
| 122 |
|
| 123 |
//#endregion |
| 124 |
//#region \0@oxc-project+runtime@0.140.0/helpers/esm/asyncToGenerator.js |
| 125 |
function asyncGeneratorStep(n, t, e, r, o, a, c) { |
| 126 |
try { |
| 127 |
var i = n[a](c); |
| 128 |
var u = i.value; |
| 129 |
} catch (n) { |
| 130 |
e(n); |
| 131 |
return; |
| 132 |
} |
| 133 |
i.done ? t(u) : Promise.resolve(u).then(r, o); |
| 134 |
} |
| 135 |
function _asyncToGenerator(n) { |
| 136 |
return function() { |
| 137 |
var t = this; |
| 138 |
var e = arguments; |
| 139 |
return new Promise(function(r, o) { |
| 140 |
var a = n.apply(t, e); |
| 141 |
function _next(n) { |
| 142 |
asyncGeneratorStep(a, r, o, _next, _throw, "next", n); |
| 143 |
} |
| 144 |
function _throw(n) { |
| 145 |
asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); |
| 146 |
} |
| 147 |
_next(void 0); |
| 148 |
}); |
| 149 |
}; |
| 150 |
} |
| 151 |
var init_asyncToGenerator = __esmMin((() => {})); |
| 152 |
|
| 153 |
//#endregion |
| 154 |
//#region node_modules/@babel/runtime/helpers/interopRequireDefault.js |
| 155 |
var require_interopRequireDefault = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 156 |
function _interopRequireDefault(e) { |
| 157 |
return e && e.__esModule ? e : { "default": e }; |
| 158 |
} |
| 159 |
module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports; |
| 160 |
})); |
| 161 |
|
| 162 |
//#endregion |
| 163 |
//#region node_modules/core-js/internals/global-this.js |
| 164 |
var require_global_this = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 165 |
var check = function(it) { |
| 166 |
return it && it.Math === Math && it; |
| 167 |
}; |
| 168 |
module.exports = check(typeof globalThis == "object" && globalThis) || check(typeof window == "object" && window) || check(typeof self == "object" && self) || check(typeof global == "object" && global) || check(typeof exports == "object" && exports) || (function() { |
| 169 |
return this; |
| 170 |
})() || Function("return this")(); |
| 171 |
})); |
| 172 |
|
| 173 |
//#endregion |
| 174 |
//#region node_modules/core-js/internals/fails.js |
| 175 |
var require_fails = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 176 |
module.exports = function(exec) { |
| 177 |
try { |
| 178 |
return !!exec(); |
| 179 |
} catch (error) { |
| 180 |
return true; |
| 181 |
} |
| 182 |
}; |
| 183 |
})); |
| 184 |
|
| 185 |
//#endregion |
| 186 |
//#region node_modules/core-js/internals/descriptors.js |
| 187 |
var require_descriptors = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 188 |
var fails = require_fails(); |
| 189 |
module.exports = !fails(function() { |
| 190 |
return Object.defineProperty({}, 1, { get: function() { |
| 191 |
return 7; |
| 192 |
} })[1] !== 7; |
| 193 |
}); |
| 194 |
})); |
| 195 |
|
| 196 |
//#endregion |
| 197 |
//#region node_modules/core-js/internals/function-bind-native.js |
| 198 |
var require_function_bind_native = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 199 |
var fails = require_fails(); |
| 200 |
module.exports = !fails(function() { |
| 201 |
var test = (function() {}).bind(); |
| 202 |
return typeof test != "function" || test.hasOwnProperty("prototype"); |
| 203 |
}); |
| 204 |
})); |
| 205 |
|
| 206 |
//#endregion |
| 207 |
//#region node_modules/core-js/internals/function-call.js |
| 208 |
var require_function_call = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 209 |
var NATIVE_BIND = require_function_bind_native(); |
| 210 |
var call = Function.prototype.call; |
| 211 |
module.exports = NATIVE_BIND ? call.bind(call) : function() { |
| 212 |
return call.apply(call, arguments); |
| 213 |
}; |
| 214 |
})); |
| 215 |
|
| 216 |
//#endregion |
| 217 |
//#region node_modules/core-js/internals/object-property-is-enumerable.js |
| 218 |
var require_object_property_is_enumerable = /* @__PURE__ */ __commonJSMin(((exports) => { |
| 219 |
var $propertyIsEnumerable = {}.propertyIsEnumerable; |
| 220 |
var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; |
| 221 |
var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1); |
| 222 |
exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { |
| 223 |
var descriptor = getOwnPropertyDescriptor(this, V); |
| 224 |
return !!descriptor && descriptor.enumerable; |
| 225 |
} : $propertyIsEnumerable; |
| 226 |
})); |
| 227 |
|
| 228 |
//#endregion |
| 229 |
//#region node_modules/core-js/internals/create-property-descriptor.js |
| 230 |
var require_create_property_descriptor = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 231 |
module.exports = function(bitmap, value) { |
| 232 |
return { |
| 233 |
enumerable: !(bitmap & 1), |
| 234 |
configurable: !(bitmap & 2), |
| 235 |
writable: !(bitmap & 4), |
| 236 |
value |
| 237 |
}; |
| 238 |
}; |
| 239 |
})); |
| 240 |
|
| 241 |
//#endregion |
| 242 |
//#region node_modules/core-js/internals/function-uncurry-this.js |
| 243 |
var require_function_uncurry_this = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 244 |
var NATIVE_BIND = require_function_bind_native(); |
| 245 |
var FunctionPrototype = Function.prototype; |
| 246 |
var call = FunctionPrototype.call; |
| 247 |
var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call); |
| 248 |
module.exports = NATIVE_BIND ? uncurryThisWithBind : function(fn) { |
| 249 |
return function() { |
| 250 |
return call.apply(fn, arguments); |
| 251 |
}; |
| 252 |
}; |
| 253 |
})); |
| 254 |
|
| 255 |
//#endregion |
| 256 |
//#region node_modules/core-js/internals/classof-raw.js |
| 257 |
var require_classof_raw = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 258 |
var uncurryThis = require_function_uncurry_this(); |
| 259 |
var toString = uncurryThis({}.toString); |
| 260 |
var stringSlice = uncurryThis("".slice); |
| 261 |
module.exports = function(it) { |
| 262 |
return stringSlice(toString(it), 8, -1); |
| 263 |
}; |
| 264 |
})); |
| 265 |
|
| 266 |
//#endregion |
| 267 |
//#region node_modules/core-js/internals/indexed-object.js |
| 268 |
var require_indexed_object = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 269 |
var uncurryThis = require_function_uncurry_this(); |
| 270 |
var fails = require_fails(); |
| 271 |
var classof = require_classof_raw(); |
| 272 |
var $Object = Object; |
| 273 |
var split = uncurryThis("".split); |
| 274 |
module.exports = fails(function() { |
| 275 |
return !$Object("z").propertyIsEnumerable(0); |
| 276 |
}) ? function(it) { |
| 277 |
return classof(it) === "String" ? split(it, "") : $Object(it); |
| 278 |
} : $Object; |
| 279 |
})); |
| 280 |
|
| 281 |
//#endregion |
| 282 |
//#region node_modules/core-js/internals/is-null-or-undefined.js |
| 283 |
var require_is_null_or_undefined = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 284 |
module.exports = function(it) { |
| 285 |
return it === null || it === void 0; |
| 286 |
}; |
| 287 |
})); |
| 288 |
|
| 289 |
//#endregion |
| 290 |
//#region node_modules/core-js/internals/require-object-coercible.js |
| 291 |
var require_require_object_coercible = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 292 |
var isNullOrUndefined = require_is_null_or_undefined(); |
| 293 |
var $TypeError = TypeError; |
| 294 |
module.exports = function(it) { |
| 295 |
if (isNullOrUndefined(it)) throw new $TypeError("Can't call method on " + it); |
| 296 |
return it; |
| 297 |
}; |
| 298 |
})); |
| 299 |
|
| 300 |
//#endregion |
| 301 |
//#region node_modules/core-js/internals/to-indexed-object.js |
| 302 |
var require_to_indexed_object = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 303 |
var IndexedObject = require_indexed_object(); |
| 304 |
var requireObjectCoercible = require_require_object_coercible(); |
| 305 |
module.exports = function(it) { |
| 306 |
return IndexedObject(requireObjectCoercible(it)); |
| 307 |
}; |
| 308 |
})); |
| 309 |
|
| 310 |
//#endregion |
| 311 |
//#region node_modules/core-js/internals/is-callable.js |
| 312 |
var require_is_callable = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 313 |
var documentAll = typeof document == "object" && document.all; |
| 314 |
module.exports = typeof documentAll == "undefined" && documentAll !== void 0 ? function(argument) { |
| 315 |
return typeof argument == "function" || argument === documentAll; |
| 316 |
} : function(argument) { |
| 317 |
return typeof argument == "function"; |
| 318 |
}; |
| 319 |
})); |
| 320 |
|
| 321 |
//#endregion |
| 322 |
//#region node_modules/core-js/internals/is-object.js |
| 323 |
var require_is_object = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 324 |
var isCallable = require_is_callable(); |
| 325 |
module.exports = function(it) { |
| 326 |
return typeof it == "object" ? it !== null : isCallable(it); |
| 327 |
}; |
| 328 |
})); |
| 329 |
|
| 330 |
//#endregion |
| 331 |
//#region node_modules/core-js/internals/get-built-in.js |
| 332 |
var require_get_built_in = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 333 |
var globalThis = require_global_this(); |
| 334 |
var isCallable = require_is_callable(); |
| 335 |
var aFunction = function(argument) { |
| 336 |
return isCallable(argument) ? argument : void 0; |
| 337 |
}; |
| 338 |
module.exports = function(namespace, method) { |
| 339 |
return arguments.length < 2 ? aFunction(globalThis[namespace]) : globalThis[namespace] && globalThis[namespace][method]; |
| 340 |
}; |
| 341 |
})); |
| 342 |
|
| 343 |
//#endregion |
| 344 |
//#region node_modules/core-js/internals/object-is-prototype-of.js |
| 345 |
var require_object_is_prototype_of = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 346 |
var uncurryThis = require_function_uncurry_this(); |
| 347 |
module.exports = uncurryThis({}.isPrototypeOf); |
| 348 |
})); |
| 349 |
|
| 350 |
//#endregion |
| 351 |
//#region node_modules/core-js/internals/environment-user-agent.js |
| 352 |
var require_environment_user_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 353 |
var navigator = require_global_this().navigator; |
| 354 |
var userAgent = navigator && navigator.userAgent; |
| 355 |
module.exports = userAgent ? String(userAgent) : ""; |
| 356 |
})); |
| 357 |
|
| 358 |
//#endregion |
| 359 |
//#region node_modules/core-js/internals/environment-v8-version.js |
| 360 |
var require_environment_v8_version = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 361 |
var globalThis = require_global_this(); |
| 362 |
var userAgent = require_environment_user_agent(); |
| 363 |
var process = globalThis.process; |
| 364 |
var Deno = globalThis.Deno; |
| 365 |
var versions = process && process.versions || Deno && Deno.version; |
| 366 |
var v8 = versions && versions.v8; |
| 367 |
var match; |
| 368 |
var version; |
| 369 |
if (v8) { |
| 370 |
match = v8.split("."); |
| 371 |
version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]); |
| 372 |
} |
| 373 |
if (!version && userAgent) { |
| 374 |
match = userAgent.match(/Edge\/(\d+)/); |
| 375 |
if (!match || match[1] >= 74) { |
| 376 |
match = userAgent.match(/Chrome\/(\d+)/); |
| 377 |
if (match) version = +match[1]; |
| 378 |
} |
| 379 |
} |
| 380 |
module.exports = version; |
| 381 |
})); |
| 382 |
|
| 383 |
//#endregion |
| 384 |
//#region node_modules/core-js/internals/symbol-constructor-detection.js |
| 385 |
var require_symbol_constructor_detection = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 386 |
var V8_VERSION = require_environment_v8_version(); |
| 387 |
var fails = require_fails(); |
| 388 |
var $String = require_global_this().String; |
| 389 |
module.exports = !!Object.getOwnPropertySymbols && !fails(function() { |
| 390 |
var symbol = Symbol("symbol detection"); |
| 391 |
return !$String(symbol) || !(Object(symbol) instanceof Symbol) || !Symbol.sham && V8_VERSION && V8_VERSION < 41; |
| 392 |
}); |
| 393 |
})); |
| 394 |
|
| 395 |
//#endregion |
| 396 |
//#region node_modules/core-js/internals/use-symbol-as-uid.js |
| 397 |
var require_use_symbol_as_uid = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 398 |
var NATIVE_SYMBOL = require_symbol_constructor_detection(); |
| 399 |
module.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == "symbol"; |
| 400 |
})); |
| 401 |
|
| 402 |
//#endregion |
| 403 |
//#region node_modules/core-js/internals/is-symbol.js |
| 404 |
var require_is_symbol = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 405 |
var getBuiltIn = require_get_built_in(); |
| 406 |
var isCallable = require_is_callable(); |
| 407 |
var isPrototypeOf = require_object_is_prototype_of(); |
| 408 |
var USE_SYMBOL_AS_UID = require_use_symbol_as_uid(); |
| 409 |
var $Object = Object; |
| 410 |
module.exports = USE_SYMBOL_AS_UID ? function(it) { |
| 411 |
return typeof it == "symbol"; |
| 412 |
} : function(it) { |
| 413 |
var $Symbol = getBuiltIn("Symbol"); |
| 414 |
return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it)); |
| 415 |
}; |
| 416 |
})); |
| 417 |
|
| 418 |
//#endregion |
| 419 |
//#region node_modules/core-js/internals/try-to-string.js |
| 420 |
var require_try_to_string = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 421 |
var $String = String; |
| 422 |
module.exports = function(argument) { |
| 423 |
try { |
| 424 |
return $String(argument); |
| 425 |
} catch (error) { |
| 426 |
return "Object"; |
| 427 |
} |
| 428 |
}; |
| 429 |
})); |
| 430 |
|
| 431 |
//#endregion |
| 432 |
//#region node_modules/core-js/internals/a-callable.js |
| 433 |
var require_a_callable = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 434 |
var isCallable = require_is_callable(); |
| 435 |
var tryToString = require_try_to_string(); |
| 436 |
var $TypeError = TypeError; |
| 437 |
module.exports = function(argument) { |
| 438 |
if (isCallable(argument)) return argument; |
| 439 |
throw new $TypeError(tryToString(argument) + " is not a function"); |
| 440 |
}; |
| 441 |
})); |
| 442 |
|
| 443 |
//#endregion |
| 444 |
//#region node_modules/core-js/internals/get-method.js |
| 445 |
var require_get_method = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 446 |
var aCallable = require_a_callable(); |
| 447 |
var isNullOrUndefined = require_is_null_or_undefined(); |
| 448 |
module.exports = function(V, P) { |
| 449 |
var func = V[P]; |
| 450 |
return isNullOrUndefined(func) ? void 0 : aCallable(func); |
| 451 |
}; |
| 452 |
})); |
| 453 |
|
| 454 |
//#endregion |
| 455 |
//#region node_modules/core-js/internals/ordinary-to-primitive.js |
| 456 |
var require_ordinary_to_primitive = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 457 |
var call = require_function_call(); |
| 458 |
var isCallable = require_is_callable(); |
| 459 |
var isObject = require_is_object(); |
| 460 |
var $TypeError = TypeError; |
| 461 |
module.exports = function(input, pref) { |
| 462 |
var fn; |
| 463 |
var val; |
| 464 |
if (pref === "string" && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; |
| 465 |
if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val; |
| 466 |
if (pref !== "string" && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; |
| 467 |
throw new $TypeError("Can't convert object to primitive value"); |
| 468 |
}; |
| 469 |
})); |
| 470 |
|
| 471 |
//#endregion |
| 472 |
//#region node_modules/core-js/internals/is-pure.js |
| 473 |
var require_is_pure = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 474 |
module.exports = false; |
| 475 |
})); |
| 476 |
|
| 477 |
//#endregion |
| 478 |
//#region node_modules/core-js/internals/define-global-property.js |
| 479 |
var require_define_global_property = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 480 |
var globalThis = require_global_this(); |
| 481 |
var defineProperty = Object.defineProperty; |
| 482 |
module.exports = function(key, value) { |
| 483 |
try { |
| 484 |
defineProperty(globalThis, key, { |
| 485 |
value, |
| 486 |
configurable: true, |
| 487 |
writable: true |
| 488 |
}); |
| 489 |
} catch (error) { |
| 490 |
globalThis[key] = value; |
| 491 |
} |
| 492 |
return value; |
| 493 |
}; |
| 494 |
})); |
| 495 |
|
| 496 |
//#endregion |
| 497 |
//#region node_modules/core-js/internals/shared-store.js |
| 498 |
var require_shared_store = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 499 |
var IS_PURE = require_is_pure(); |
| 500 |
var globalThis = require_global_this(); |
| 501 |
var defineGlobalProperty = require_define_global_property(); |
| 502 |
var SHARED = "__core-js_shared__"; |
| 503 |
var store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {}); |
| 504 |
(store.versions || (store.versions = [])).push({ |
| 505 |
version: "3.46.0", |
| 506 |
mode: IS_PURE ? "pure" : "global", |
| 507 |
copyright: "© 2014-2025 Denis Pushkarev (zloirock.ru), 2025 CoreJS Company (core-js.io)", |
| 508 |
license: "https://github.com/zloirock/core-js/blob/v3.46.0/LICENSE", |
| 509 |
source: "https://github.com/zloirock/core-js" |
| 510 |
}); |
| 511 |
})); |
| 512 |
|
| 513 |
//#endregion |
| 514 |
//#region node_modules/core-js/internals/shared.js |
| 515 |
var require_shared = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 516 |
var store = require_shared_store(); |
| 517 |
module.exports = function(key, value) { |
| 518 |
return store[key] || (store[key] = value || {}); |
| 519 |
}; |
| 520 |
})); |
| 521 |
|
| 522 |
//#endregion |
| 523 |
//#region node_modules/core-js/internals/to-object.js |
| 524 |
var require_to_object = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 525 |
var requireObjectCoercible = require_require_object_coercible(); |
| 526 |
var $Object = Object; |
| 527 |
module.exports = function(argument) { |
| 528 |
return $Object(requireObjectCoercible(argument)); |
| 529 |
}; |
| 530 |
})); |
| 531 |
|
| 532 |
//#endregion |
| 533 |
//#region node_modules/core-js/internals/has-own-property.js |
| 534 |
var require_has_own_property = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 535 |
var uncurryThis = require_function_uncurry_this(); |
| 536 |
var toObject = require_to_object(); |
| 537 |
var hasOwnProperty = uncurryThis({}.hasOwnProperty); |
| 538 |
module.exports = Object.hasOwn || function hasOwn(it, key) { |
| 539 |
return hasOwnProperty(toObject(it), key); |
| 540 |
}; |
| 541 |
})); |
| 542 |
|
| 543 |
//#endregion |
| 544 |
//#region node_modules/core-js/internals/uid.js |
| 545 |
var require_uid = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 546 |
var uncurryThis = require_function_uncurry_this(); |
| 547 |
var id = 0; |
| 548 |
var postfix = Math.random(); |
| 549 |
var toString = uncurryThis(1.1.toString); |
| 550 |
module.exports = function(key) { |
| 551 |
return "Symbol(" + (key === void 0 ? "" : key) + ")_" + toString(++id + postfix, 36); |
| 552 |
}; |
| 553 |
})); |
| 554 |
|
| 555 |
//#endregion |
| 556 |
//#region node_modules/core-js/internals/well-known-symbol.js |
| 557 |
var require_well_known_symbol = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 558 |
var globalThis = require_global_this(); |
| 559 |
var shared = require_shared(); |
| 560 |
var hasOwn = require_has_own_property(); |
| 561 |
var uid = require_uid(); |
| 562 |
var NATIVE_SYMBOL = require_symbol_constructor_detection(); |
| 563 |
var USE_SYMBOL_AS_UID = require_use_symbol_as_uid(); |
| 564 |
var Symbol = globalThis.Symbol; |
| 565 |
var WellKnownSymbolsStore = shared("wks"); |
| 566 |
var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol["for"] || Symbol : Symbol && Symbol.withoutSetter || uid; |
| 567 |
module.exports = function(name) { |
| 568 |
if (!hasOwn(WellKnownSymbolsStore, name)) WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name) ? Symbol[name] : createWellKnownSymbol("Symbol." + name); |
| 569 |
return WellKnownSymbolsStore[name]; |
| 570 |
}; |
| 571 |
})); |
| 572 |
|
| 573 |
//#endregion |
| 574 |
//#region node_modules/core-js/internals/to-primitive.js |
| 575 |
var require_to_primitive = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 576 |
var call = require_function_call(); |
| 577 |
var isObject = require_is_object(); |
| 578 |
var isSymbol = require_is_symbol(); |
| 579 |
var getMethod = require_get_method(); |
| 580 |
var ordinaryToPrimitive = require_ordinary_to_primitive(); |
| 581 |
var wellKnownSymbol = require_well_known_symbol(); |
| 582 |
var $TypeError = TypeError; |
| 583 |
var TO_PRIMITIVE = wellKnownSymbol("toPrimitive"); |
| 584 |
module.exports = function(input, pref) { |
| 585 |
if (!isObject(input) || isSymbol(input)) return input; |
| 586 |
var exoticToPrim = getMethod(input, TO_PRIMITIVE); |
| 587 |
var result; |
| 588 |
if (exoticToPrim) { |
| 589 |
if (pref === void 0) pref = "default"; |
| 590 |
result = call(exoticToPrim, input, pref); |
| 591 |
if (!isObject(result) || isSymbol(result)) return result; |
| 592 |
throw new $TypeError("Can't convert object to primitive value"); |
| 593 |
} |
| 594 |
if (pref === void 0) pref = "number"; |
| 595 |
return ordinaryToPrimitive(input, pref); |
| 596 |
}; |
| 597 |
})); |
| 598 |
|
| 599 |
//#endregion |
| 600 |
//#region node_modules/core-js/internals/to-property-key.js |
| 601 |
var require_to_property_key = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 602 |
var toPrimitive = require_to_primitive(); |
| 603 |
var isSymbol = require_is_symbol(); |
| 604 |
module.exports = function(argument) { |
| 605 |
var key = toPrimitive(argument, "string"); |
| 606 |
return isSymbol(key) ? key : key + ""; |
| 607 |
}; |
| 608 |
})); |
| 609 |
|
| 610 |
//#endregion |
| 611 |
//#region node_modules/core-js/internals/document-create-element.js |
| 612 |
var require_document_create_element = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 613 |
var globalThis = require_global_this(); |
| 614 |
var isObject = require_is_object(); |
| 615 |
var document = globalThis.document; |
| 616 |
var EXISTS = isObject(document) && isObject(document.createElement); |
| 617 |
module.exports = function(it) { |
| 618 |
return EXISTS ? document.createElement(it) : {}; |
| 619 |
}; |
| 620 |
})); |
| 621 |
|
| 622 |
//#endregion |
| 623 |
//#region node_modules/core-js/internals/ie8-dom-define.js |
| 624 |
var require_ie8_dom_define = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 625 |
var DESCRIPTORS = require_descriptors(); |
| 626 |
var fails = require_fails(); |
| 627 |
var createElement = require_document_create_element(); |
| 628 |
module.exports = !DESCRIPTORS && !fails(function() { |
| 629 |
return Object.defineProperty(createElement("div"), "a", { get: function() { |
| 630 |
return 7; |
| 631 |
} }).a !== 7; |
| 632 |
}); |
| 633 |
})); |
| 634 |
|
| 635 |
//#endregion |
| 636 |
//#region node_modules/core-js/internals/object-get-own-property-descriptor.js |
| 637 |
var require_object_get_own_property_descriptor = /* @__PURE__ */ __commonJSMin(((exports) => { |
| 638 |
var DESCRIPTORS = require_descriptors(); |
| 639 |
var call = require_function_call(); |
| 640 |
var propertyIsEnumerableModule = require_object_property_is_enumerable(); |
| 641 |
var createPropertyDescriptor = require_create_property_descriptor(); |
| 642 |
var toIndexedObject = require_to_indexed_object(); |
| 643 |
var toPropertyKey = require_to_property_key(); |
| 644 |
var hasOwn = require_has_own_property(); |
| 645 |
var IE8_DOM_DEFINE = require_ie8_dom_define(); |
| 646 |
var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; |
| 647 |
exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { |
| 648 |
O = toIndexedObject(O); |
| 649 |
P = toPropertyKey(P); |
| 650 |
if (IE8_DOM_DEFINE) try { |
| 651 |
return $getOwnPropertyDescriptor(O, P); |
| 652 |
} catch (error) {} |
| 653 |
if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]); |
| 654 |
}; |
| 655 |
})); |
| 656 |
|
| 657 |
//#endregion |
| 658 |
//#region node_modules/core-js/internals/v8-prototype-define-bug.js |
| 659 |
var require_v8_prototype_define_bug = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 660 |
var DESCRIPTORS = require_descriptors(); |
| 661 |
var fails = require_fails(); |
| 662 |
module.exports = DESCRIPTORS && fails(function() { |
| 663 |
return Object.defineProperty(function() {}, "prototype", { |
| 664 |
value: 42, |
| 665 |
writable: false |
| 666 |
}).prototype !== 42; |
| 667 |
}); |
| 668 |
})); |
| 669 |
|
| 670 |
//#endregion |
| 671 |
//#region node_modules/core-js/internals/an-object.js |
| 672 |
var require_an_object = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 673 |
var isObject = require_is_object(); |
| 674 |
var $String = String; |
| 675 |
var $TypeError = TypeError; |
| 676 |
module.exports = function(argument) { |
| 677 |
if (isObject(argument)) return argument; |
| 678 |
throw new $TypeError($String(argument) + " is not an object"); |
| 679 |
}; |
| 680 |
})); |
| 681 |
|
| 682 |
//#endregion |
| 683 |
//#region node_modules/core-js/internals/object-define-property.js |
| 684 |
var require_object_define_property = /* @__PURE__ */ __commonJSMin(((exports) => { |
| 685 |
var DESCRIPTORS = require_descriptors(); |
| 686 |
var IE8_DOM_DEFINE = require_ie8_dom_define(); |
| 687 |
var V8_PROTOTYPE_DEFINE_BUG = require_v8_prototype_define_bug(); |
| 688 |
var anObject = require_an_object(); |
| 689 |
var toPropertyKey = require_to_property_key(); |
| 690 |
var $TypeError = TypeError; |
| 691 |
var $defineProperty = Object.defineProperty; |
| 692 |
var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; |
| 693 |
var ENUMERABLE = "enumerable"; |
| 694 |
var CONFIGURABLE = "configurable"; |
| 695 |
var WRITABLE = "writable"; |
| 696 |
exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) { |
| 697 |
anObject(O); |
| 698 |
P = toPropertyKey(P); |
| 699 |
anObject(Attributes); |
| 700 |
if (typeof O === "function" && P === "prototype" && "value" in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) { |
| 701 |
var current = $getOwnPropertyDescriptor(O, P); |
| 702 |
if (current && current[WRITABLE]) { |
| 703 |
O[P] = Attributes.value; |
| 704 |
Attributes = { |
| 705 |
configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE], |
| 706 |
enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE], |
| 707 |
writable: false |
| 708 |
}; |
| 709 |
} |
| 710 |
} |
| 711 |
return $defineProperty(O, P, Attributes); |
| 712 |
} : $defineProperty : function defineProperty(O, P, Attributes) { |
| 713 |
anObject(O); |
| 714 |
P = toPropertyKey(P); |
| 715 |
anObject(Attributes); |
| 716 |
if (IE8_DOM_DEFINE) try { |
| 717 |
return $defineProperty(O, P, Attributes); |
| 718 |
} catch (error) {} |
| 719 |
if ("get" in Attributes || "set" in Attributes) throw new $TypeError("Accessors not supported"); |
| 720 |
if ("value" in Attributes) O[P] = Attributes.value; |
| 721 |
return O; |
| 722 |
}; |
| 723 |
})); |
| 724 |
|
| 725 |
//#endregion |
| 726 |
//#region node_modules/core-js/internals/create-non-enumerable-property.js |
| 727 |
var require_create_non_enumerable_property = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 728 |
var DESCRIPTORS = require_descriptors(); |
| 729 |
var definePropertyModule = require_object_define_property(); |
| 730 |
var createPropertyDescriptor = require_create_property_descriptor(); |
| 731 |
module.exports = DESCRIPTORS ? function(object, key, value) { |
| 732 |
return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); |
| 733 |
} : function(object, key, value) { |
| 734 |
object[key] = value; |
| 735 |
return object; |
| 736 |
}; |
| 737 |
})); |
| 738 |
|
| 739 |
//#endregion |
| 740 |
//#region node_modules/core-js/internals/function-name.js |
| 741 |
var require_function_name = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 742 |
var DESCRIPTORS = require_descriptors(); |
| 743 |
var hasOwn = require_has_own_property(); |
| 744 |
var FunctionPrototype = Function.prototype; |
| 745 |
var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor; |
| 746 |
var EXISTS = hasOwn(FunctionPrototype, "name"); |
| 747 |
var PROPER = EXISTS && (function something() {}).name === "something"; |
| 748 |
var CONFIGURABLE = EXISTS && (!DESCRIPTORS || DESCRIPTORS && getDescriptor(FunctionPrototype, "name").configurable); |
| 749 |
module.exports = { |
| 750 |
EXISTS, |
| 751 |
PROPER, |
| 752 |
CONFIGURABLE |
| 753 |
}; |
| 754 |
})); |
| 755 |
|
| 756 |
//#endregion |
| 757 |
//#region node_modules/core-js/internals/inspect-source.js |
| 758 |
var require_inspect_source = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 759 |
var uncurryThis = require_function_uncurry_this(); |
| 760 |
var isCallable = require_is_callable(); |
| 761 |
var store = require_shared_store(); |
| 762 |
var functionToString = uncurryThis(Function.toString); |
| 763 |
if (!isCallable(store.inspectSource)) store.inspectSource = function(it) { |
| 764 |
return functionToString(it); |
| 765 |
}; |
| 766 |
module.exports = store.inspectSource; |
| 767 |
})); |
| 768 |
|
| 769 |
//#endregion |
| 770 |
//#region node_modules/core-js/internals/weak-map-basic-detection.js |
| 771 |
var require_weak_map_basic_detection = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 772 |
var globalThis = require_global_this(); |
| 773 |
var isCallable = require_is_callable(); |
| 774 |
var WeakMap = globalThis.WeakMap; |
| 775 |
module.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap)); |
| 776 |
})); |
| 777 |
|
| 778 |
//#endregion |
| 779 |
//#region node_modules/core-js/internals/shared-key.js |
| 780 |
var require_shared_key = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 781 |
var shared = require_shared(); |
| 782 |
var uid = require_uid(); |
| 783 |
var keys = shared("keys"); |
| 784 |
module.exports = function(key) { |
| 785 |
return keys[key] || (keys[key] = uid(key)); |
| 786 |
}; |
| 787 |
})); |
| 788 |
|
| 789 |
//#endregion |
| 790 |
//#region node_modules/core-js/internals/hidden-keys.js |
| 791 |
var require_hidden_keys = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 792 |
module.exports = {}; |
| 793 |
})); |
| 794 |
|
| 795 |
//#endregion |
| 796 |
//#region node_modules/core-js/internals/internal-state.js |
| 797 |
var require_internal_state = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 798 |
var NATIVE_WEAK_MAP = require_weak_map_basic_detection(); |
| 799 |
var globalThis = require_global_this(); |
| 800 |
var isObject = require_is_object(); |
| 801 |
var createNonEnumerableProperty = require_create_non_enumerable_property(); |
| 802 |
var hasOwn = require_has_own_property(); |
| 803 |
var shared = require_shared_store(); |
| 804 |
var sharedKey = require_shared_key(); |
| 805 |
var hiddenKeys = require_hidden_keys(); |
| 806 |
var OBJECT_ALREADY_INITIALIZED = "Object already initialized"; |
| 807 |
var TypeError = globalThis.TypeError; |
| 808 |
var WeakMap = globalThis.WeakMap; |
| 809 |
var set; |
| 810 |
var get; |
| 811 |
var has; |
| 812 |
var enforce = function(it) { |
| 813 |
return has(it) ? get(it) : set(it, {}); |
| 814 |
}; |
| 815 |
var getterFor = function(TYPE) { |
| 816 |
return function(it) { |
| 817 |
var state; |
| 818 |
if (!isObject(it) || (state = get(it)).type !== TYPE) throw new TypeError("Incompatible receiver, " + TYPE + " required"); |
| 819 |
return state; |
| 820 |
}; |
| 821 |
}; |
| 822 |
if (NATIVE_WEAK_MAP || shared.state) { |
| 823 |
var store = shared.state || (shared.state = new WeakMap()); |
| 824 |
store.get = store.get; |
| 825 |
store.has = store.has; |
| 826 |
store.set = store.set; |
| 827 |
set = function(it, metadata) { |
| 828 |
if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); |
| 829 |
metadata.facade = it; |
| 830 |
store.set(it, metadata); |
| 831 |
return metadata; |
| 832 |
}; |
| 833 |
get = function(it) { |
| 834 |
return store.get(it) || {}; |
| 835 |
}; |
| 836 |
has = function(it) { |
| 837 |
return store.has(it); |
| 838 |
}; |
| 839 |
} else { |
| 840 |
var STATE = sharedKey("state"); |
| 841 |
hiddenKeys[STATE] = true; |
| 842 |
set = function(it, metadata) { |
| 843 |
if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); |
| 844 |
metadata.facade = it; |
| 845 |
createNonEnumerableProperty(it, STATE, metadata); |
| 846 |
return metadata; |
| 847 |
}; |
| 848 |
get = function(it) { |
| 849 |
return hasOwn(it, STATE) ? it[STATE] : {}; |
| 850 |
}; |
| 851 |
has = function(it) { |
| 852 |
return hasOwn(it, STATE); |
| 853 |
}; |
| 854 |
} |
| 855 |
module.exports = { |
| 856 |
set, |
| 857 |
get, |
| 858 |
has, |
| 859 |
enforce, |
| 860 |
getterFor |
| 861 |
}; |
| 862 |
})); |
| 863 |
|
| 864 |
//#endregion |
| 865 |
//#region node_modules/core-js/internals/make-built-in.js |
| 866 |
var require_make_built_in = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 867 |
var uncurryThis = require_function_uncurry_this(); |
| 868 |
var fails = require_fails(); |
| 869 |
var isCallable = require_is_callable(); |
| 870 |
var hasOwn = require_has_own_property(); |
| 871 |
var DESCRIPTORS = require_descriptors(); |
| 872 |
var CONFIGURABLE_FUNCTION_NAME = require_function_name().CONFIGURABLE; |
| 873 |
var inspectSource = require_inspect_source(); |
| 874 |
var InternalStateModule = require_internal_state(); |
| 875 |
var enforceInternalState = InternalStateModule.enforce; |
| 876 |
var getInternalState = InternalStateModule.get; |
| 877 |
var $String = String; |
| 878 |
var defineProperty = Object.defineProperty; |
| 879 |
var stringSlice = uncurryThis("".slice); |
| 880 |
var replace = uncurryThis("".replace); |
| 881 |
var join = uncurryThis([].join); |
| 882 |
var CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function() { |
| 883 |
return defineProperty(function() {}, "length", { value: 8 }).length !== 8; |
| 884 |
}); |
| 885 |
var TEMPLATE = String(String).split("String"); |
| 886 |
var makeBuiltIn = module.exports = function(value, name, options) { |
| 887 |
if (stringSlice($String(name), 0, 7) === "Symbol(") name = "[" + replace($String(name), /^Symbol\(([^)]*)\).*$/, "$1") + "]"; |
| 888 |
if (options && options.getter) name = "get " + name; |
| 889 |
if (options && options.setter) name = "set " + name; |
| 890 |
if (!hasOwn(value, "name") || CONFIGURABLE_FUNCTION_NAME && value.name !== name) if (DESCRIPTORS) defineProperty(value, "name", { |
| 891 |
value: name, |
| 892 |
configurable: true |
| 893 |
}); |
| 894 |
else value.name = name; |
| 895 |
if (CONFIGURABLE_LENGTH && options && hasOwn(options, "arity") && value.length !== options.arity) defineProperty(value, "length", { value: options.arity }); |
| 896 |
try { |
| 897 |
if (options && hasOwn(options, "constructor") && options.constructor) { |
| 898 |
if (DESCRIPTORS) defineProperty(value, "prototype", { writable: false }); |
| 899 |
} else if (value.prototype) value.prototype = void 0; |
| 900 |
} catch (error) {} |
| 901 |
var state = enforceInternalState(value); |
| 902 |
if (!hasOwn(state, "source")) state.source = join(TEMPLATE, typeof name == "string" ? name : ""); |
| 903 |
return value; |
| 904 |
}; |
| 905 |
Function.prototype.toString = makeBuiltIn(function toString() { |
| 906 |
return isCallable(this) && getInternalState(this).source || inspectSource(this); |
| 907 |
}, "toString"); |
| 908 |
})); |
| 909 |
|
| 910 |
//#endregion |
| 911 |
//#region node_modules/core-js/internals/define-built-in.js |
| 912 |
var require_define_built_in = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 913 |
var isCallable = require_is_callable(); |
| 914 |
var definePropertyModule = require_object_define_property(); |
| 915 |
var makeBuiltIn = require_make_built_in(); |
| 916 |
var defineGlobalProperty = require_define_global_property(); |
| 917 |
module.exports = function(O, key, value, options) { |
| 918 |
if (!options) options = {}; |
| 919 |
var simple = options.enumerable; |
| 920 |
var name = options.name !== void 0 ? options.name : key; |
| 921 |
if (isCallable(value)) makeBuiltIn(value, name, options); |
| 922 |
if (options.global) if (simple) O[key] = value; |
| 923 |
else defineGlobalProperty(key, value); |
| 924 |
else { |
| 925 |
try { |
| 926 |
if (!options.unsafe) delete O[key]; |
| 927 |
else if (O[key]) simple = true; |
| 928 |
} catch (error) {} |
| 929 |
if (simple) O[key] = value; |
| 930 |
else definePropertyModule.f(O, key, { |
| 931 |
value, |
| 932 |
enumerable: false, |
| 933 |
configurable: !options.nonConfigurable, |
| 934 |
writable: !options.nonWritable |
| 935 |
}); |
| 936 |
} |
| 937 |
return O; |
| 938 |
}; |
| 939 |
})); |
| 940 |
|
| 941 |
//#endregion |
| 942 |
//#region node_modules/core-js/internals/math-trunc.js |
| 943 |
var require_math_trunc = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 944 |
var ceil = Math.ceil; |
| 945 |
var floor = Math.floor; |
| 946 |
module.exports = Math.trunc || function trunc(x) { |
| 947 |
var n = +x; |
| 948 |
return (n > 0 ? floor : ceil)(n); |
| 949 |
}; |
| 950 |
})); |
| 951 |
|
| 952 |
//#endregion |
| 953 |
//#region node_modules/core-js/internals/to-integer-or-infinity.js |
| 954 |
var require_to_integer_or_infinity = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 955 |
var trunc = require_math_trunc(); |
| 956 |
module.exports = function(argument) { |
| 957 |
var number = +argument; |
| 958 |
return number !== number || number === 0 ? 0 : trunc(number); |
| 959 |
}; |
| 960 |
})); |
| 961 |
|
| 962 |
//#endregion |
| 963 |
//#region node_modules/core-js/internals/to-absolute-index.js |
| 964 |
var require_to_absolute_index = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 965 |
var toIntegerOrInfinity = require_to_integer_or_infinity(); |
| 966 |
var max = Math.max; |
| 967 |
var min = Math.min; |
| 968 |
module.exports = function(index, length) { |
| 969 |
var integer = toIntegerOrInfinity(index); |
| 970 |
return integer < 0 ? max(integer + length, 0) : min(integer, length); |
| 971 |
}; |
| 972 |
})); |
| 973 |
|
| 974 |
//#endregion |
| 975 |
//#region node_modules/core-js/internals/to-length.js |
| 976 |
var require_to_length = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 977 |
var toIntegerOrInfinity = require_to_integer_or_infinity(); |
| 978 |
var min = Math.min; |
| 979 |
module.exports = function(argument) { |
| 980 |
var len = toIntegerOrInfinity(argument); |
| 981 |
return len > 0 ? min(len, 9007199254740991) : 0; |
| 982 |
}; |
| 983 |
})); |
| 984 |
|
| 985 |
//#endregion |
| 986 |
//#region node_modules/core-js/internals/length-of-array-like.js |
| 987 |
var require_length_of_array_like = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 988 |
var toLength = require_to_length(); |
| 989 |
module.exports = function(obj) { |
| 990 |
return toLength(obj.length); |
| 991 |
}; |
| 992 |
})); |
| 993 |
|
| 994 |
//#endregion |
| 995 |
//#region node_modules/core-js/internals/array-includes.js |
| 996 |
var require_array_includes = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 997 |
var toIndexedObject = require_to_indexed_object(); |
| 998 |
var toAbsoluteIndex = require_to_absolute_index(); |
| 999 |
var lengthOfArrayLike = require_length_of_array_like(); |
| 1000 |
var createMethod = function(IS_INCLUDES) { |
| 1001 |
return function($this, el, fromIndex) { |
| 1002 |
var O = toIndexedObject($this); |
| 1003 |
var length = lengthOfArrayLike(O); |
| 1004 |
if (length === 0) return !IS_INCLUDES && -1; |
| 1005 |
var index = toAbsoluteIndex(fromIndex, length); |
| 1006 |
var value; |
| 1007 |
if (IS_INCLUDES && el !== el) while (length > index) { |
| 1008 |
value = O[index++]; |
| 1009 |
if (value !== value) return true; |
| 1010 |
} |
| 1011 |
else for (; length > index; index++) if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; |
| 1012 |
return !IS_INCLUDES && -1; |
| 1013 |
}; |
| 1014 |
}; |
| 1015 |
module.exports = { |
| 1016 |
includes: createMethod(true), |
| 1017 |
indexOf: createMethod(false) |
| 1018 |
}; |
| 1019 |
})); |
| 1020 |
|
| 1021 |
//#endregion |
| 1022 |
//#region node_modules/core-js/internals/object-keys-internal.js |
| 1023 |
var require_object_keys_internal = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1024 |
var uncurryThis = require_function_uncurry_this(); |
| 1025 |
var hasOwn = require_has_own_property(); |
| 1026 |
var toIndexedObject = require_to_indexed_object(); |
| 1027 |
var indexOf = require_array_includes().indexOf; |
| 1028 |
var hiddenKeys = require_hidden_keys(); |
| 1029 |
var push = uncurryThis([].push); |
| 1030 |
module.exports = function(object, names) { |
| 1031 |
var O = toIndexedObject(object); |
| 1032 |
var i = 0; |
| 1033 |
var result = []; |
| 1034 |
var key; |
| 1035 |
for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key); |
| 1036 |
while (names.length > i) if (hasOwn(O, key = names[i++])) ~indexOf(result, key) || push(result, key); |
| 1037 |
return result; |
| 1038 |
}; |
| 1039 |
})); |
| 1040 |
|
| 1041 |
//#endregion |
| 1042 |
//#region node_modules/core-js/internals/enum-bug-keys.js |
| 1043 |
var require_enum_bug_keys = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1044 |
module.exports = [ |
| 1045 |
"constructor", |
| 1046 |
"hasOwnProperty", |
| 1047 |
"isPrototypeOf", |
| 1048 |
"propertyIsEnumerable", |
| 1049 |
"toLocaleString", |
| 1050 |
"toString", |
| 1051 |
"valueOf" |
| 1052 |
]; |
| 1053 |
})); |
| 1054 |
|
| 1055 |
//#endregion |
| 1056 |
//#region node_modules/core-js/internals/object-get-own-property-names.js |
| 1057 |
var require_object_get_own_property_names = /* @__PURE__ */ __commonJSMin(((exports) => { |
| 1058 |
var internalObjectKeys = require_object_keys_internal(); |
| 1059 |
var hiddenKeys = require_enum_bug_keys().concat("length", "prototype"); |
| 1060 |
exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { |
| 1061 |
return internalObjectKeys(O, hiddenKeys); |
| 1062 |
}; |
| 1063 |
})); |
| 1064 |
|
| 1065 |
//#endregion |
| 1066 |
//#region node_modules/core-js/internals/object-get-own-property-symbols.js |
| 1067 |
var require_object_get_own_property_symbols = /* @__PURE__ */ __commonJSMin(((exports) => { |
| 1068 |
exports.f = Object.getOwnPropertySymbols; |
| 1069 |
})); |
| 1070 |
|
| 1071 |
//#endregion |
| 1072 |
//#region node_modules/core-js/internals/own-keys.js |
| 1073 |
var require_own_keys = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1074 |
var getBuiltIn = require_get_built_in(); |
| 1075 |
var uncurryThis = require_function_uncurry_this(); |
| 1076 |
var getOwnPropertyNamesModule = require_object_get_own_property_names(); |
| 1077 |
var getOwnPropertySymbolsModule = require_object_get_own_property_symbols(); |
| 1078 |
var anObject = require_an_object(); |
| 1079 |
var concat = uncurryThis([].concat); |
| 1080 |
module.exports = getBuiltIn("Reflect", "ownKeys") || function ownKeys(it) { |
| 1081 |
var keys = getOwnPropertyNamesModule.f(anObject(it)); |
| 1082 |
var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; |
| 1083 |
return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys; |
| 1084 |
}; |
| 1085 |
})); |
| 1086 |
|
| 1087 |
//#endregion |
| 1088 |
//#region node_modules/core-js/internals/copy-constructor-properties.js |
| 1089 |
var require_copy_constructor_properties = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1090 |
var hasOwn = require_has_own_property(); |
| 1091 |
var ownKeys = require_own_keys(); |
| 1092 |
var getOwnPropertyDescriptorModule = require_object_get_own_property_descriptor(); |
| 1093 |
var definePropertyModule = require_object_define_property(); |
| 1094 |
module.exports = function(target, source, exceptions) { |
| 1095 |
var keys = ownKeys(source); |
| 1096 |
var defineProperty = definePropertyModule.f; |
| 1097 |
var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; |
| 1098 |
for (var i = 0; i < keys.length; i++) { |
| 1099 |
var key = keys[i]; |
| 1100 |
if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) defineProperty(target, key, getOwnPropertyDescriptor(source, key)); |
| 1101 |
} |
| 1102 |
}; |
| 1103 |
})); |
| 1104 |
|
| 1105 |
//#endregion |
| 1106 |
//#region node_modules/core-js/internals/is-forced.js |
| 1107 |
var require_is_forced = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1108 |
var fails = require_fails(); |
| 1109 |
var isCallable = require_is_callable(); |
| 1110 |
var replacement = /#|\.prototype\./; |
| 1111 |
var isForced = function(feature, detection) { |
| 1112 |
var value = data[normalize(feature)]; |
| 1113 |
return value === POLYFILL ? true : value === NATIVE ? false : isCallable(detection) ? fails(detection) : !!detection; |
| 1114 |
}; |
| 1115 |
var normalize = isForced.normalize = function(string) { |
| 1116 |
return String(string).replace(replacement, ".").toLowerCase(); |
| 1117 |
}; |
| 1118 |
var data = isForced.data = {}; |
| 1119 |
var NATIVE = isForced.NATIVE = "N"; |
| 1120 |
var POLYFILL = isForced.POLYFILL = "P"; |
| 1121 |
module.exports = isForced; |
| 1122 |
})); |
| 1123 |
|
| 1124 |
//#endregion |
| 1125 |
//#region node_modules/core-js/internals/export.js |
| 1126 |
var require_export = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1127 |
var globalThis = require_global_this(); |
| 1128 |
var getOwnPropertyDescriptor = require_object_get_own_property_descriptor().f; |
| 1129 |
var createNonEnumerableProperty = require_create_non_enumerable_property(); |
| 1130 |
var defineBuiltIn = require_define_built_in(); |
| 1131 |
var defineGlobalProperty = require_define_global_property(); |
| 1132 |
var copyConstructorProperties = require_copy_constructor_properties(); |
| 1133 |
var isForced = require_is_forced(); |
| 1134 |
module.exports = function(options, source) { |
| 1135 |
var TARGET = options.target; |
| 1136 |
var GLOBAL = options.global; |
| 1137 |
var STATIC = options.stat; |
| 1138 |
var FORCED; |
| 1139 |
var target; |
| 1140 |
var key; |
| 1141 |
var targetProperty; |
| 1142 |
var sourceProperty; |
| 1143 |
var descriptor; |
| 1144 |
if (GLOBAL) target = globalThis; |
| 1145 |
else if (STATIC) target = globalThis[TARGET] || defineGlobalProperty(TARGET, {}); |
| 1146 |
else target = globalThis[TARGET] && globalThis[TARGET].prototype; |
| 1147 |
if (target) for (key in source) { |
| 1148 |
sourceProperty = source[key]; |
| 1149 |
if (options.dontCallGetSet) { |
| 1150 |
descriptor = getOwnPropertyDescriptor(target, key); |
| 1151 |
targetProperty = descriptor && descriptor.value; |
| 1152 |
} else targetProperty = target[key]; |
| 1153 |
FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? "." : "#") + key, options.forced); |
| 1154 |
if (!FORCED && targetProperty !== void 0) { |
| 1155 |
if (typeof sourceProperty == typeof targetProperty) continue; |
| 1156 |
copyConstructorProperties(sourceProperty, targetProperty); |
| 1157 |
} |
| 1158 |
if (options.sham || targetProperty && targetProperty.sham) createNonEnumerableProperty(sourceProperty, "sham", true); |
| 1159 |
defineBuiltIn(target, key, sourceProperty, options); |
| 1160 |
} |
| 1161 |
}; |
| 1162 |
})); |
| 1163 |
|
| 1164 |
//#endregion |
| 1165 |
//#region node_modules/core-js/internals/object-keys.js |
| 1166 |
var require_object_keys = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1167 |
var internalObjectKeys = require_object_keys_internal(); |
| 1168 |
var enumBugKeys = require_enum_bug_keys(); |
| 1169 |
module.exports = Object.keys || function keys(O) { |
| 1170 |
return internalObjectKeys(O, enumBugKeys); |
| 1171 |
}; |
| 1172 |
})); |
| 1173 |
|
| 1174 |
//#endregion |
| 1175 |
//#region node_modules/core-js/internals/object-define-properties.js |
| 1176 |
var require_object_define_properties = /* @__PURE__ */ __commonJSMin(((exports) => { |
| 1177 |
var DESCRIPTORS = require_descriptors(); |
| 1178 |
var V8_PROTOTYPE_DEFINE_BUG = require_v8_prototype_define_bug(); |
| 1179 |
var definePropertyModule = require_object_define_property(); |
| 1180 |
var anObject = require_an_object(); |
| 1181 |
var toIndexedObject = require_to_indexed_object(); |
| 1182 |
var objectKeys = require_object_keys(); |
| 1183 |
exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) { |
| 1184 |
anObject(O); |
| 1185 |
var props = toIndexedObject(Properties); |
| 1186 |
var keys = objectKeys(Properties); |
| 1187 |
var length = keys.length; |
| 1188 |
var index = 0; |
| 1189 |
var key; |
| 1190 |
while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]); |
| 1191 |
return O; |
| 1192 |
}; |
| 1193 |
})); |
| 1194 |
|
| 1195 |
//#endregion |
| 1196 |
//#region node_modules/core-js/internals/html.js |
| 1197 |
var require_html = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1198 |
var getBuiltIn = require_get_built_in(); |
| 1199 |
module.exports = getBuiltIn("document", "documentElement"); |
| 1200 |
})); |
| 1201 |
|
| 1202 |
//#endregion |
| 1203 |
//#region node_modules/core-js/internals/object-create.js |
| 1204 |
var require_object_create = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1205 |
var anObject = require_an_object(); |
| 1206 |
var definePropertiesModule = require_object_define_properties(); |
| 1207 |
var enumBugKeys = require_enum_bug_keys(); |
| 1208 |
var hiddenKeys = require_hidden_keys(); |
| 1209 |
var html = require_html(); |
| 1210 |
var documentCreateElement = require_document_create_element(); |
| 1211 |
var sharedKey = require_shared_key(); |
| 1212 |
var GT = ">"; |
| 1213 |
var LT = "<"; |
| 1214 |
var PROTOTYPE = "prototype"; |
| 1215 |
var SCRIPT = "script"; |
| 1216 |
var IE_PROTO = sharedKey("IE_PROTO"); |
| 1217 |
var EmptyConstructor = function() {}; |
| 1218 |
var scriptTag = function(content) { |
| 1219 |
return LT + SCRIPT + GT + content + LT + "/" + SCRIPT + GT; |
| 1220 |
}; |
| 1221 |
var NullProtoObjectViaActiveX = function(activeXDocument) { |
| 1222 |
activeXDocument.write(scriptTag("")); |
| 1223 |
activeXDocument.close(); |
| 1224 |
var temp = activeXDocument.parentWindow.Object; |
| 1225 |
activeXDocument = null; |
| 1226 |
return temp; |
| 1227 |
}; |
| 1228 |
var NullProtoObjectViaIFrame = function() { |
| 1229 |
var iframe = documentCreateElement("iframe"); |
| 1230 |
var JS = "java" + SCRIPT + ":"; |
| 1231 |
var iframeDocument; |
| 1232 |
iframe.style.display = "none"; |
| 1233 |
html.appendChild(iframe); |
| 1234 |
iframe.src = String(JS); |
| 1235 |
iframeDocument = iframe.contentWindow.document; |
| 1236 |
iframeDocument.open(); |
| 1237 |
iframeDocument.write(scriptTag("document.F=Object")); |
| 1238 |
iframeDocument.close(); |
| 1239 |
return iframeDocument.F; |
| 1240 |
}; |
| 1241 |
var activeXDocument; |
| 1242 |
var NullProtoObject = function() { |
| 1243 |
try { |
| 1244 |
activeXDocument = new ActiveXObject("htmlfile"); |
| 1245 |
} catch (error) {} |
| 1246 |
NullProtoObject = typeof document != "undefined" ? document.domain && activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame() : NullProtoObjectViaActiveX(activeXDocument); |
| 1247 |
var length = enumBugKeys.length; |
| 1248 |
while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; |
| 1249 |
return NullProtoObject(); |
| 1250 |
}; |
| 1251 |
hiddenKeys[IE_PROTO] = true; |
| 1252 |
module.exports = Object.create || function create(O, Properties) { |
| 1253 |
var result; |
| 1254 |
if (O !== null) { |
| 1255 |
EmptyConstructor[PROTOTYPE] = anObject(O); |
| 1256 |
result = new EmptyConstructor(); |
| 1257 |
EmptyConstructor[PROTOTYPE] = null; |
| 1258 |
result[IE_PROTO] = O; |
| 1259 |
} else result = NullProtoObject(); |
| 1260 |
return Properties === void 0 ? result : definePropertiesModule.f(result, Properties); |
| 1261 |
}; |
| 1262 |
})); |
| 1263 |
|
| 1264 |
//#endregion |
| 1265 |
//#region node_modules/core-js/internals/add-to-unscopables.js |
| 1266 |
var require_add_to_unscopables = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1267 |
var wellKnownSymbol = require_well_known_symbol(); |
| 1268 |
var create = require_object_create(); |
| 1269 |
var defineProperty = require_object_define_property().f; |
| 1270 |
var UNSCOPABLES = wellKnownSymbol("unscopables"); |
| 1271 |
var ArrayPrototype = Array.prototype; |
| 1272 |
if (ArrayPrototype[UNSCOPABLES] === void 0) defineProperty(ArrayPrototype, UNSCOPABLES, { |
| 1273 |
configurable: true, |
| 1274 |
value: create(null) |
| 1275 |
}); |
| 1276 |
module.exports = function(key) { |
| 1277 |
ArrayPrototype[UNSCOPABLES][key] = true; |
| 1278 |
}; |
| 1279 |
})); |
| 1280 |
|
| 1281 |
//#endregion |
| 1282 |
//#region node_modules/core-js/modules/es.array.includes.js |
| 1283 |
var require_es_array_includes = /* @__PURE__ */ __commonJSMin((() => { |
| 1284 |
var $ = require_export(); |
| 1285 |
var $includes = require_array_includes().includes; |
| 1286 |
var fails = require_fails(); |
| 1287 |
var addToUnscopables = require_add_to_unscopables(); |
| 1288 |
$({ |
| 1289 |
target: "Array", |
| 1290 |
proto: true, |
| 1291 |
forced: fails(function() { |
| 1292 |
return !Array(1).includes(); |
| 1293 |
}) |
| 1294 |
}, { includes: function includes(el) { |
| 1295 |
return $includes(this, el, arguments.length > 1 ? arguments[1] : void 0); |
| 1296 |
} }); |
| 1297 |
addToUnscopables("includes"); |
| 1298 |
})); |
| 1299 |
|
| 1300 |
//#endregion |
| 1301 |
//#region node_modules/core-js/internals/is-array.js |
| 1302 |
var require_is_array = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1303 |
var classof = require_classof_raw(); |
| 1304 |
module.exports = Array.isArray || function isArray(argument) { |
| 1305 |
return classof(argument) === "Array"; |
| 1306 |
}; |
| 1307 |
})); |
| 1308 |
|
| 1309 |
//#endregion |
| 1310 |
//#region node_modules/core-js/internals/array-set-length.js |
| 1311 |
var require_array_set_length = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1312 |
var DESCRIPTORS = require_descriptors(); |
| 1313 |
var isArray = require_is_array(); |
| 1314 |
var $TypeError = TypeError; |
| 1315 |
var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; |
| 1316 |
var SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function() { |
| 1317 |
if (this !== void 0) return true; |
| 1318 |
try { |
| 1319 |
Object.defineProperty([], "length", { writable: false }).length = 1; |
| 1320 |
} catch (error) { |
| 1321 |
return error instanceof TypeError; |
| 1322 |
} |
| 1323 |
}(); |
| 1324 |
module.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function(O, length) { |
| 1325 |
if (isArray(O) && !getOwnPropertyDescriptor(O, "length").writable) throw new $TypeError("Cannot set read only .length"); |
| 1326 |
return O.length = length; |
| 1327 |
} : function(O, length) { |
| 1328 |
return O.length = length; |
| 1329 |
}; |
| 1330 |
})); |
| 1331 |
|
| 1332 |
//#endregion |
| 1333 |
//#region node_modules/core-js/internals/does-not-exceed-safe-integer.js |
| 1334 |
var require_does_not_exceed_safe_integer = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1335 |
var $TypeError = TypeError; |
| 1336 |
var MAX_SAFE_INTEGER = 9007199254740991; |
| 1337 |
module.exports = function(it) { |
| 1338 |
if (it > MAX_SAFE_INTEGER) throw $TypeError("Maximum allowed index exceeded"); |
| 1339 |
return it; |
| 1340 |
}; |
| 1341 |
})); |
| 1342 |
|
| 1343 |
//#endregion |
| 1344 |
//#region node_modules/core-js/modules/es.array.push.js |
| 1345 |
var require_es_array_push = /* @__PURE__ */ __commonJSMin((() => { |
| 1346 |
var $ = require_export(); |
| 1347 |
var toObject = require_to_object(); |
| 1348 |
var lengthOfArrayLike = require_length_of_array_like(); |
| 1349 |
var setArrayLength = require_array_set_length(); |
| 1350 |
var doesNotExceedSafeInteger = require_does_not_exceed_safe_integer(); |
| 1351 |
var INCORRECT_TO_LENGTH = require_fails()(function() { |
| 1352 |
return [].push.call({ length: 4294967296 }, 1) !== 4294967297; |
| 1353 |
}); |
| 1354 |
var properErrorOnNonWritableLength = function() { |
| 1355 |
try { |
| 1356 |
Object.defineProperty([], "length", { writable: false }).push(); |
| 1357 |
} catch (error) { |
| 1358 |
return error instanceof TypeError; |
| 1359 |
} |
| 1360 |
}; |
| 1361 |
$({ |
| 1362 |
target: "Array", |
| 1363 |
proto: true, |
| 1364 |
arity: 1, |
| 1365 |
forced: INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength() |
| 1366 |
}, { push: function push(item) { |
| 1367 |
var O = toObject(this); |
| 1368 |
var len = lengthOfArrayLike(O); |
| 1369 |
var argCount = arguments.length; |
| 1370 |
doesNotExceedSafeInteger(len + argCount); |
| 1371 |
for (var i = 0; i < argCount; i++) { |
| 1372 |
O[len] = arguments[i]; |
| 1373 |
len++; |
| 1374 |
} |
| 1375 |
setArrayLength(O, len); |
| 1376 |
return len; |
| 1377 |
} }); |
| 1378 |
})); |
| 1379 |
|
| 1380 |
//#endregion |
| 1381 |
//#region node_modules/core-js/internals/an-instance.js |
| 1382 |
var require_an_instance = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1383 |
var isPrototypeOf = require_object_is_prototype_of(); |
| 1384 |
var $TypeError = TypeError; |
| 1385 |
module.exports = function(it, Prototype) { |
| 1386 |
if (isPrototypeOf(Prototype, it)) return it; |
| 1387 |
throw new $TypeError("Incorrect invocation"); |
| 1388 |
}; |
| 1389 |
})); |
| 1390 |
|
| 1391 |
//#endregion |
| 1392 |
//#region node_modules/core-js/internals/correct-prototype-getter.js |
| 1393 |
var require_correct_prototype_getter = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1394 |
var fails = require_fails(); |
| 1395 |
module.exports = !fails(function() { |
| 1396 |
function F() {} |
| 1397 |
F.prototype.constructor = null; |
| 1398 |
return Object.getPrototypeOf(new F()) !== F.prototype; |
| 1399 |
}); |
| 1400 |
})); |
| 1401 |
|
| 1402 |
//#endregion |
| 1403 |
//#region node_modules/core-js/internals/object-get-prototype-of.js |
| 1404 |
var require_object_get_prototype_of = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1405 |
var hasOwn = require_has_own_property(); |
| 1406 |
var isCallable = require_is_callable(); |
| 1407 |
var toObject = require_to_object(); |
| 1408 |
var sharedKey = require_shared_key(); |
| 1409 |
var CORRECT_PROTOTYPE_GETTER = require_correct_prototype_getter(); |
| 1410 |
var IE_PROTO = sharedKey("IE_PROTO"); |
| 1411 |
var $Object = Object; |
| 1412 |
var ObjectPrototype = $Object.prototype; |
| 1413 |
module.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function(O) { |
| 1414 |
var object = toObject(O); |
| 1415 |
if (hasOwn(object, IE_PROTO)) return object[IE_PROTO]; |
| 1416 |
var constructor = object.constructor; |
| 1417 |
if (isCallable(constructor) && object instanceof constructor) return constructor.prototype; |
| 1418 |
return object instanceof $Object ? ObjectPrototype : null; |
| 1419 |
}; |
| 1420 |
})); |
| 1421 |
|
| 1422 |
//#endregion |
| 1423 |
//#region node_modules/core-js/internals/define-built-in-accessor.js |
| 1424 |
var require_define_built_in_accessor = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1425 |
var makeBuiltIn = require_make_built_in(); |
| 1426 |
var defineProperty = require_object_define_property(); |
| 1427 |
module.exports = function(target, name, descriptor) { |
| 1428 |
if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true }); |
| 1429 |
if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true }); |
| 1430 |
return defineProperty.f(target, name, descriptor); |
| 1431 |
}; |
| 1432 |
})); |
| 1433 |
|
| 1434 |
//#endregion |
| 1435 |
//#region node_modules/core-js/internals/create-property.js |
| 1436 |
var require_create_property = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1437 |
var DESCRIPTORS = require_descriptors(); |
| 1438 |
var definePropertyModule = require_object_define_property(); |
| 1439 |
var createPropertyDescriptor = require_create_property_descriptor(); |
| 1440 |
module.exports = function(object, key, value) { |
| 1441 |
if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value)); |
| 1442 |
else object[key] = value; |
| 1443 |
}; |
| 1444 |
})); |
| 1445 |
|
| 1446 |
//#endregion |
| 1447 |
//#region node_modules/core-js/internals/iterators-core.js |
| 1448 |
var require_iterators_core = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1449 |
var fails = require_fails(); |
| 1450 |
var isCallable = require_is_callable(); |
| 1451 |
var isObject = require_is_object(); |
| 1452 |
var create = require_object_create(); |
| 1453 |
var getPrototypeOf = require_object_get_prototype_of(); |
| 1454 |
var defineBuiltIn = require_define_built_in(); |
| 1455 |
var wellKnownSymbol = require_well_known_symbol(); |
| 1456 |
var IS_PURE = require_is_pure(); |
| 1457 |
var ITERATOR = wellKnownSymbol("iterator"); |
| 1458 |
var BUGGY_SAFARI_ITERATORS = false; |
| 1459 |
var IteratorPrototype; |
| 1460 |
var PrototypeOfArrayIteratorPrototype; |
| 1461 |
var arrayIterator; |
| 1462 |
if ([].keys) { |
| 1463 |
arrayIterator = [].keys(); |
| 1464 |
if (!("next" in arrayIterator)) BUGGY_SAFARI_ITERATORS = true; |
| 1465 |
else { |
| 1466 |
PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator)); |
| 1467 |
if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype; |
| 1468 |
} |
| 1469 |
} |
| 1470 |
if (!isObject(IteratorPrototype) || fails(function() { |
| 1471 |
var test = {}; |
| 1472 |
return IteratorPrototype[ITERATOR].call(test) !== test; |
| 1473 |
})) IteratorPrototype = {}; |
| 1474 |
else if (IS_PURE) IteratorPrototype = create(IteratorPrototype); |
| 1475 |
if (!isCallable(IteratorPrototype[ITERATOR])) defineBuiltIn(IteratorPrototype, ITERATOR, function() { |
| 1476 |
return this; |
| 1477 |
}); |
| 1478 |
module.exports = { |
| 1479 |
IteratorPrototype, |
| 1480 |
BUGGY_SAFARI_ITERATORS |
| 1481 |
}; |
| 1482 |
})); |
| 1483 |
|
| 1484 |
//#endregion |
| 1485 |
//#region node_modules/core-js/modules/es.iterator.constructor.js |
| 1486 |
var require_es_iterator_constructor = /* @__PURE__ */ __commonJSMin((() => { |
| 1487 |
var $ = require_export(); |
| 1488 |
var globalThis = require_global_this(); |
| 1489 |
var anInstance = require_an_instance(); |
| 1490 |
var anObject = require_an_object(); |
| 1491 |
var isCallable = require_is_callable(); |
| 1492 |
var getPrototypeOf = require_object_get_prototype_of(); |
| 1493 |
var defineBuiltInAccessor = require_define_built_in_accessor(); |
| 1494 |
var createProperty = require_create_property(); |
| 1495 |
var fails = require_fails(); |
| 1496 |
var hasOwn = require_has_own_property(); |
| 1497 |
var wellKnownSymbol = require_well_known_symbol(); |
| 1498 |
var IteratorPrototype = require_iterators_core().IteratorPrototype; |
| 1499 |
var DESCRIPTORS = require_descriptors(); |
| 1500 |
var IS_PURE = require_is_pure(); |
| 1501 |
var CONSTRUCTOR = "constructor"; |
| 1502 |
var ITERATOR = "Iterator"; |
| 1503 |
var TO_STRING_TAG = wellKnownSymbol("toStringTag"); |
| 1504 |
var $TypeError = TypeError; |
| 1505 |
var NativeIterator = globalThis[ITERATOR]; |
| 1506 |
var FORCED = IS_PURE || !isCallable(NativeIterator) || NativeIterator.prototype !== IteratorPrototype || !fails(function() { |
| 1507 |
NativeIterator({}); |
| 1508 |
}); |
| 1509 |
var IteratorConstructor = function Iterator() { |
| 1510 |
anInstance(this, IteratorPrototype); |
| 1511 |
if (getPrototypeOf(this) === IteratorPrototype) throw new $TypeError("Abstract class Iterator not directly constructable"); |
| 1512 |
}; |
| 1513 |
var defineIteratorPrototypeAccessor = function(key, value) { |
| 1514 |
if (DESCRIPTORS) defineBuiltInAccessor(IteratorPrototype, key, { |
| 1515 |
configurable: true, |
| 1516 |
get: function() { |
| 1517 |
return value; |
| 1518 |
}, |
| 1519 |
set: function(replacement) { |
| 1520 |
anObject(this); |
| 1521 |
if (this === IteratorPrototype) throw new $TypeError("You can't redefine this property"); |
| 1522 |
if (hasOwn(this, key)) this[key] = replacement; |
| 1523 |
else createProperty(this, key, replacement); |
| 1524 |
} |
| 1525 |
}); |
| 1526 |
else IteratorPrototype[key] = value; |
| 1527 |
}; |
| 1528 |
if (!hasOwn(IteratorPrototype, TO_STRING_TAG)) defineIteratorPrototypeAccessor(TO_STRING_TAG, ITERATOR); |
| 1529 |
if (FORCED || !hasOwn(IteratorPrototype, CONSTRUCTOR) || IteratorPrototype[CONSTRUCTOR] === Object) defineIteratorPrototypeAccessor(CONSTRUCTOR, IteratorConstructor); |
| 1530 |
IteratorConstructor.prototype = IteratorPrototype; |
| 1531 |
$({ |
| 1532 |
global: true, |
| 1533 |
constructor: true, |
| 1534 |
forced: FORCED |
| 1535 |
}, { Iterator: IteratorConstructor }); |
| 1536 |
})); |
| 1537 |
|
| 1538 |
//#endregion |
| 1539 |
//#region node_modules/core-js/modules/esnext.iterator.constructor.js |
| 1540 |
var require_esnext_iterator_constructor = /* @__PURE__ */ __commonJSMin((() => { |
| 1541 |
require_es_iterator_constructor(); |
| 1542 |
})); |
| 1543 |
|
| 1544 |
//#endregion |
| 1545 |
//#region node_modules/core-js/internals/get-iterator-direct.js |
| 1546 |
var require_get_iterator_direct = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1547 |
module.exports = function(obj) { |
| 1548 |
return { |
| 1549 |
iterator: obj, |
| 1550 |
next: obj.next, |
| 1551 |
done: false |
| 1552 |
}; |
| 1553 |
}; |
| 1554 |
})); |
| 1555 |
|
| 1556 |
//#endregion |
| 1557 |
//#region node_modules/core-js/internals/define-built-ins.js |
| 1558 |
var require_define_built_ins = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1559 |
var defineBuiltIn = require_define_built_in(); |
| 1560 |
module.exports = function(target, src, options) { |
| 1561 |
for (var key in src) defineBuiltIn(target, key, src[key], options); |
| 1562 |
return target; |
| 1563 |
}; |
| 1564 |
})); |
| 1565 |
|
| 1566 |
//#endregion |
| 1567 |
//#region node_modules/core-js/internals/create-iter-result-object.js |
| 1568 |
var require_create_iter_result_object = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1569 |
module.exports = function(value, done) { |
| 1570 |
return { |
| 1571 |
value, |
| 1572 |
done |
| 1573 |
}; |
| 1574 |
}; |
| 1575 |
})); |
| 1576 |
|
| 1577 |
//#endregion |
| 1578 |
//#region node_modules/core-js/internals/iterator-close.js |
| 1579 |
var require_iterator_close = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1580 |
var call = require_function_call(); |
| 1581 |
var anObject = require_an_object(); |
| 1582 |
var getMethod = require_get_method(); |
| 1583 |
module.exports = function(iterator, kind, value) { |
| 1584 |
var innerResult; |
| 1585 |
var innerError; |
| 1586 |
anObject(iterator); |
| 1587 |
try { |
| 1588 |
innerResult = getMethod(iterator, "return"); |
| 1589 |
if (!innerResult) { |
| 1590 |
if (kind === "throw") throw value; |
| 1591 |
return value; |
| 1592 |
} |
| 1593 |
innerResult = call(innerResult, iterator); |
| 1594 |
} catch (error) { |
| 1595 |
innerError = true; |
| 1596 |
innerResult = error; |
| 1597 |
} |
| 1598 |
if (kind === "throw") throw value; |
| 1599 |
if (innerError) throw innerResult; |
| 1600 |
anObject(innerResult); |
| 1601 |
return value; |
| 1602 |
}; |
| 1603 |
})); |
| 1604 |
|
| 1605 |
//#endregion |
| 1606 |
//#region node_modules/core-js/internals/iterator-close-all.js |
| 1607 |
var require_iterator_close_all = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1608 |
var iteratorClose = require_iterator_close(); |
| 1609 |
module.exports = function(iters, kind, value) { |
| 1610 |
for (var i = iters.length - 1; i >= 0; i--) { |
| 1611 |
if (iters[i] === void 0) continue; |
| 1612 |
try { |
| 1613 |
value = iteratorClose(iters[i].iterator, kind, value); |
| 1614 |
} catch (error) { |
| 1615 |
kind = "throw"; |
| 1616 |
value = error; |
| 1617 |
} |
| 1618 |
} |
| 1619 |
if (kind === "throw") throw value; |
| 1620 |
return value; |
| 1621 |
}; |
| 1622 |
})); |
| 1623 |
|
| 1624 |
//#endregion |
| 1625 |
//#region node_modules/core-js/internals/iterator-create-proxy.js |
| 1626 |
var require_iterator_create_proxy = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1627 |
var call = require_function_call(); |
| 1628 |
var create = require_object_create(); |
| 1629 |
var createNonEnumerableProperty = require_create_non_enumerable_property(); |
| 1630 |
var defineBuiltIns = require_define_built_ins(); |
| 1631 |
var wellKnownSymbol = require_well_known_symbol(); |
| 1632 |
var InternalStateModule = require_internal_state(); |
| 1633 |
var getMethod = require_get_method(); |
| 1634 |
var IteratorPrototype = require_iterators_core().IteratorPrototype; |
| 1635 |
var createIterResultObject = require_create_iter_result_object(); |
| 1636 |
var iteratorClose = require_iterator_close(); |
| 1637 |
var iteratorCloseAll = require_iterator_close_all(); |
| 1638 |
var TO_STRING_TAG = wellKnownSymbol("toStringTag"); |
| 1639 |
var ITERATOR_HELPER = "IteratorHelper"; |
| 1640 |
var WRAP_FOR_VALID_ITERATOR = "WrapForValidIterator"; |
| 1641 |
var NORMAL = "normal"; |
| 1642 |
var THROW = "throw"; |
| 1643 |
var setInternalState = InternalStateModule.set; |
| 1644 |
var createIteratorProxyPrototype = function(IS_ITERATOR) { |
| 1645 |
var getInternalState = InternalStateModule.getterFor(IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER); |
| 1646 |
return defineBuiltIns(create(IteratorPrototype), { |
| 1647 |
next: function next() { |
| 1648 |
var state = getInternalState(this); |
| 1649 |
if (IS_ITERATOR) return state.nextHandler(); |
| 1650 |
if (state.done) return createIterResultObject(void 0, true); |
| 1651 |
try { |
| 1652 |
var result = state.nextHandler(); |
| 1653 |
return state.returnHandlerResult ? result : createIterResultObject(result, state.done); |
| 1654 |
} catch (error) { |
| 1655 |
state.done = true; |
| 1656 |
throw error; |
| 1657 |
} |
| 1658 |
}, |
| 1659 |
"return": function() { |
| 1660 |
var state = getInternalState(this); |
| 1661 |
var iterator = state.iterator; |
| 1662 |
state.done = true; |
| 1663 |
if (IS_ITERATOR) { |
| 1664 |
var returnMethod = getMethod(iterator, "return"); |
| 1665 |
return returnMethod ? call(returnMethod, iterator) : createIterResultObject(void 0, true); |
| 1666 |
} |
| 1667 |
if (state.inner) try { |
| 1668 |
iteratorClose(state.inner.iterator, NORMAL); |
| 1669 |
} catch (error) { |
| 1670 |
return iteratorClose(iterator, THROW, error); |
| 1671 |
} |
| 1672 |
if (state.openIters) try { |
| 1673 |
iteratorCloseAll(state.openIters, NORMAL); |
| 1674 |
} catch (error) { |
| 1675 |
return iteratorClose(iterator, THROW, error); |
| 1676 |
} |
| 1677 |
if (iterator) iteratorClose(iterator, NORMAL); |
| 1678 |
return createIterResultObject(void 0, true); |
| 1679 |
} |
| 1680 |
}); |
| 1681 |
}; |
| 1682 |
var WrapForValidIteratorPrototype = createIteratorProxyPrototype(true); |
| 1683 |
var IteratorHelperPrototype = createIteratorProxyPrototype(false); |
| 1684 |
createNonEnumerableProperty(IteratorHelperPrototype, TO_STRING_TAG, "Iterator Helper"); |
| 1685 |
module.exports = function(nextHandler, IS_ITERATOR, RETURN_HANDLER_RESULT) { |
| 1686 |
var IteratorProxy = function Iterator(record, state) { |
| 1687 |
if (state) { |
| 1688 |
state.iterator = record.iterator; |
| 1689 |
state.next = record.next; |
| 1690 |
} else state = record; |
| 1691 |
state.type = IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER; |
| 1692 |
state.returnHandlerResult = !!RETURN_HANDLER_RESULT; |
| 1693 |
state.nextHandler = nextHandler; |
| 1694 |
state.counter = 0; |
| 1695 |
state.done = false; |
| 1696 |
setInternalState(this, state); |
| 1697 |
}; |
| 1698 |
IteratorProxy.prototype = IS_ITERATOR ? WrapForValidIteratorPrototype : IteratorHelperPrototype; |
| 1699 |
return IteratorProxy; |
| 1700 |
}; |
| 1701 |
})); |
| 1702 |
|
| 1703 |
//#endregion |
| 1704 |
//#region node_modules/core-js/internals/call-with-safe-iteration-closing.js |
| 1705 |
var require_call_with_safe_iteration_closing = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1706 |
var anObject = require_an_object(); |
| 1707 |
var iteratorClose = require_iterator_close(); |
| 1708 |
module.exports = function(iterator, fn, value, ENTRIES) { |
| 1709 |
try { |
| 1710 |
return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value); |
| 1711 |
} catch (error) { |
| 1712 |
iteratorClose(iterator, "throw", error); |
| 1713 |
} |
| 1714 |
}; |
| 1715 |
})); |
| 1716 |
|
| 1717 |
//#endregion |
| 1718 |
//#region node_modules/core-js/internals/iterator-helper-throws-on-invalid-iterator.js |
| 1719 |
var require_iterator_helper_throws_on_invalid_iterator = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1720 |
module.exports = function(methodName, argument) { |
| 1721 |
var method = typeof Iterator == "function" && Iterator.prototype[methodName]; |
| 1722 |
if (method) try { |
| 1723 |
method.call({ next: null }, argument).next(); |
| 1724 |
} catch (error) { |
| 1725 |
return true; |
| 1726 |
} |
| 1727 |
}; |
| 1728 |
})); |
| 1729 |
|
| 1730 |
//#endregion |
| 1731 |
//#region node_modules/core-js/internals/iterator-helper-without-closing-on-early-error.js |
| 1732 |
var require_iterator_helper_without_closing_on_early_error = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1733 |
var globalThis = require_global_this(); |
| 1734 |
module.exports = function(METHOD_NAME, ExpectedError) { |
| 1735 |
var Iterator = globalThis.Iterator; |
| 1736 |
var IteratorPrototype = Iterator && Iterator.prototype; |
| 1737 |
var method = IteratorPrototype && IteratorPrototype[METHOD_NAME]; |
| 1738 |
var CLOSED = false; |
| 1739 |
if (method) try { |
| 1740 |
method.call({ |
| 1741 |
next: function() { |
| 1742 |
return { done: true }; |
| 1743 |
}, |
| 1744 |
"return": function() { |
| 1745 |
CLOSED = true; |
| 1746 |
} |
| 1747 |
}, -1); |
| 1748 |
} catch (error) { |
| 1749 |
if (!(error instanceof ExpectedError)) CLOSED = false; |
| 1750 |
} |
| 1751 |
if (!CLOSED) return method; |
| 1752 |
}; |
| 1753 |
})); |
| 1754 |
|
| 1755 |
//#endregion |
| 1756 |
//#region node_modules/core-js/modules/es.iterator.filter.js |
| 1757 |
var require_es_iterator_filter = /* @__PURE__ */ __commonJSMin((() => { |
| 1758 |
var $ = require_export(); |
| 1759 |
var call = require_function_call(); |
| 1760 |
var aCallable = require_a_callable(); |
| 1761 |
var anObject = require_an_object(); |
| 1762 |
var getIteratorDirect = require_get_iterator_direct(); |
| 1763 |
var createIteratorProxy = require_iterator_create_proxy(); |
| 1764 |
var callWithSafeIterationClosing = require_call_with_safe_iteration_closing(); |
| 1765 |
var IS_PURE = require_is_pure(); |
| 1766 |
var iteratorClose = require_iterator_close(); |
| 1767 |
var iteratorHelperThrowsOnInvalidIterator = require_iterator_helper_throws_on_invalid_iterator(); |
| 1768 |
var iteratorHelperWithoutClosingOnEarlyError = require_iterator_helper_without_closing_on_early_error(); |
| 1769 |
var FILTER_WITHOUT_THROWING_ON_INVALID_ITERATOR = !IS_PURE && !iteratorHelperThrowsOnInvalidIterator("filter", function() {}); |
| 1770 |
var filterWithoutClosingOnEarlyError = !IS_PURE && !FILTER_WITHOUT_THROWING_ON_INVALID_ITERATOR && iteratorHelperWithoutClosingOnEarlyError("filter", TypeError); |
| 1771 |
var FORCED = IS_PURE || FILTER_WITHOUT_THROWING_ON_INVALID_ITERATOR || filterWithoutClosingOnEarlyError; |
| 1772 |
var IteratorProxy = createIteratorProxy(function() { |
| 1773 |
var iterator = this.iterator; |
| 1774 |
var predicate = this.predicate; |
| 1775 |
var next = this.next; |
| 1776 |
var result; |
| 1777 |
var done; |
| 1778 |
var value; |
| 1779 |
while (true) { |
| 1780 |
result = anObject(call(next, iterator)); |
| 1781 |
done = this.done = !!result.done; |
| 1782 |
if (done) return; |
| 1783 |
value = result.value; |
| 1784 |
if (callWithSafeIterationClosing(iterator, predicate, [value, this.counter++], true)) return value; |
| 1785 |
} |
| 1786 |
}); |
| 1787 |
$({ |
| 1788 |
target: "Iterator", |
| 1789 |
proto: true, |
| 1790 |
real: true, |
| 1791 |
forced: FORCED |
| 1792 |
}, { filter: function filter(predicate) { |
| 1793 |
anObject(this); |
| 1794 |
try { |
| 1795 |
aCallable(predicate); |
| 1796 |
} catch (error) { |
| 1797 |
iteratorClose(this, "throw", error); |
| 1798 |
} |
| 1799 |
if (filterWithoutClosingOnEarlyError) return call(filterWithoutClosingOnEarlyError, this, predicate); |
| 1800 |
return new IteratorProxy(getIteratorDirect(this), { predicate }); |
| 1801 |
} }); |
| 1802 |
})); |
| 1803 |
|
| 1804 |
//#endregion |
| 1805 |
//#region node_modules/core-js/modules/esnext.iterator.filter.js |
| 1806 |
var require_esnext_iterator_filter = /* @__PURE__ */ __commonJSMin((() => { |
| 1807 |
require_es_iterator_filter(); |
| 1808 |
})); |
| 1809 |
|
| 1810 |
//#endregion |
| 1811 |
//#region node_modules/core-js/internals/function-uncurry-this-clause.js |
| 1812 |
var require_function_uncurry_this_clause = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1813 |
var classofRaw = require_classof_raw(); |
| 1814 |
var uncurryThis = require_function_uncurry_this(); |
| 1815 |
module.exports = function(fn) { |
| 1816 |
if (classofRaw(fn) === "Function") return uncurryThis(fn); |
| 1817 |
}; |
| 1818 |
})); |
| 1819 |
|
| 1820 |
//#endregion |
| 1821 |
//#region node_modules/core-js/internals/function-bind-context.js |
| 1822 |
var require_function_bind_context = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1823 |
var uncurryThis = require_function_uncurry_this_clause(); |
| 1824 |
var aCallable = require_a_callable(); |
| 1825 |
var NATIVE_BIND = require_function_bind_native(); |
| 1826 |
var bind = uncurryThis(uncurryThis.bind); |
| 1827 |
module.exports = function(fn, that) { |
| 1828 |
aCallable(fn); |
| 1829 |
return that === void 0 ? fn : NATIVE_BIND ? bind(fn, that) : function() { |
| 1830 |
return fn.apply(that, arguments); |
| 1831 |
}; |
| 1832 |
}; |
| 1833 |
})); |
| 1834 |
|
| 1835 |
//#endregion |
| 1836 |
//#region node_modules/core-js/internals/iterators.js |
| 1837 |
var require_iterators = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1838 |
module.exports = {}; |
| 1839 |
})); |
| 1840 |
|
| 1841 |
//#endregion |
| 1842 |
//#region node_modules/core-js/internals/is-array-iterator-method.js |
| 1843 |
var require_is_array_iterator_method = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1844 |
var wellKnownSymbol = require_well_known_symbol(); |
| 1845 |
var Iterators = require_iterators(); |
| 1846 |
var ITERATOR = wellKnownSymbol("iterator"); |
| 1847 |
var ArrayPrototype = Array.prototype; |
| 1848 |
module.exports = function(it) { |
| 1849 |
return it !== void 0 && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); |
| 1850 |
}; |
| 1851 |
})); |
| 1852 |
|
| 1853 |
//#endregion |
| 1854 |
//#region node_modules/core-js/internals/to-string-tag-support.js |
| 1855 |
var require_to_string_tag_support = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1856 |
var TO_STRING_TAG = require_well_known_symbol()("toStringTag"); |
| 1857 |
var test = {}; |
| 1858 |
test[TO_STRING_TAG] = "z"; |
| 1859 |
module.exports = String(test) === "[object z]"; |
| 1860 |
})); |
| 1861 |
|
| 1862 |
//#endregion |
| 1863 |
//#region node_modules/core-js/internals/classof.js |
| 1864 |
var require_classof = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1865 |
var TO_STRING_TAG_SUPPORT = require_to_string_tag_support(); |
| 1866 |
var isCallable = require_is_callable(); |
| 1867 |
var classofRaw = require_classof_raw(); |
| 1868 |
var TO_STRING_TAG = require_well_known_symbol()("toStringTag"); |
| 1869 |
var $Object = Object; |
| 1870 |
var CORRECT_ARGUMENTS = classofRaw(function() { |
| 1871 |
return arguments; |
| 1872 |
}()) === "Arguments"; |
| 1873 |
var tryGet = function(it, key) { |
| 1874 |
try { |
| 1875 |
return it[key]; |
| 1876 |
} catch (error) {} |
| 1877 |
}; |
| 1878 |
module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function(it) { |
| 1879 |
var O; |
| 1880 |
var tag; |
| 1881 |
var result; |
| 1882 |
return it === void 0 ? "Undefined" : it === null ? "Null" : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == "string" ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) === "Object" && isCallable(O.callee) ? "Arguments" : result; |
| 1883 |
}; |
| 1884 |
})); |
| 1885 |
|
| 1886 |
//#endregion |
| 1887 |
//#region node_modules/core-js/internals/get-iterator-method.js |
| 1888 |
var require_get_iterator_method = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1889 |
var classof = require_classof(); |
| 1890 |
var getMethod = require_get_method(); |
| 1891 |
var isNullOrUndefined = require_is_null_or_undefined(); |
| 1892 |
var Iterators = require_iterators(); |
| 1893 |
var ITERATOR = require_well_known_symbol()("iterator"); |
| 1894 |
module.exports = function(it) { |
| 1895 |
if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR) || getMethod(it, "@@iterator") || Iterators[classof(it)]; |
| 1896 |
}; |
| 1897 |
})); |
| 1898 |
|
| 1899 |
//#endregion |
| 1900 |
//#region node_modules/core-js/internals/get-iterator.js |
| 1901 |
var require_get_iterator = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1902 |
var call = require_function_call(); |
| 1903 |
var aCallable = require_a_callable(); |
| 1904 |
var anObject = require_an_object(); |
| 1905 |
var tryToString = require_try_to_string(); |
| 1906 |
var getIteratorMethod = require_get_iterator_method(); |
| 1907 |
var $TypeError = TypeError; |
| 1908 |
module.exports = function(argument, usingIterator) { |
| 1909 |
var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator; |
| 1910 |
if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument)); |
| 1911 |
throw new $TypeError(tryToString(argument) + " is not iterable"); |
| 1912 |
}; |
| 1913 |
})); |
| 1914 |
|
| 1915 |
//#endregion |
| 1916 |
//#region node_modules/core-js/internals/iterate.js |
| 1917 |
var require_iterate = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 1918 |
var bind = require_function_bind_context(); |
| 1919 |
var call = require_function_call(); |
| 1920 |
var anObject = require_an_object(); |
| 1921 |
var tryToString = require_try_to_string(); |
| 1922 |
var isArrayIteratorMethod = require_is_array_iterator_method(); |
| 1923 |
var lengthOfArrayLike = require_length_of_array_like(); |
| 1924 |
var isPrototypeOf = require_object_is_prototype_of(); |
| 1925 |
var getIterator = require_get_iterator(); |
| 1926 |
var getIteratorMethod = require_get_iterator_method(); |
| 1927 |
var iteratorClose = require_iterator_close(); |
| 1928 |
var $TypeError = TypeError; |
| 1929 |
var Result = function(stopped, result) { |
| 1930 |
this.stopped = stopped; |
| 1931 |
this.result = result; |
| 1932 |
}; |
| 1933 |
var ResultPrototype = Result.prototype; |
| 1934 |
module.exports = function(iterable, unboundFunction, options) { |
| 1935 |
var that = options && options.that; |
| 1936 |
var AS_ENTRIES = !!(options && options.AS_ENTRIES); |
| 1937 |
var IS_RECORD = !!(options && options.IS_RECORD); |
| 1938 |
var IS_ITERATOR = !!(options && options.IS_ITERATOR); |
| 1939 |
var INTERRUPTED = !!(options && options.INTERRUPTED); |
| 1940 |
var fn = bind(unboundFunction, that); |
| 1941 |
var iterator; |
| 1942 |
var iterFn; |
| 1943 |
var index; |
| 1944 |
var length; |
| 1945 |
var result; |
| 1946 |
var next; |
| 1947 |
var step; |
| 1948 |
var stop = function(condition) { |
| 1949 |
if (iterator) iteratorClose(iterator, "normal"); |
| 1950 |
return new Result(true, condition); |
| 1951 |
}; |
| 1952 |
var callFn = function(value) { |
| 1953 |
if (AS_ENTRIES) { |
| 1954 |
anObject(value); |
| 1955 |
return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]); |
| 1956 |
} |
| 1957 |
return INTERRUPTED ? fn(value, stop) : fn(value); |
| 1958 |
}; |
| 1959 |
if (IS_RECORD) iterator = iterable.iterator; |
| 1960 |
else if (IS_ITERATOR) iterator = iterable; |
| 1961 |
else { |
| 1962 |
iterFn = getIteratorMethod(iterable); |
| 1963 |
if (!iterFn) throw new $TypeError(tryToString(iterable) + " is not iterable"); |
| 1964 |
if (isArrayIteratorMethod(iterFn)) { |
| 1965 |
for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) { |
| 1966 |
result = callFn(iterable[index]); |
| 1967 |
if (result && isPrototypeOf(ResultPrototype, result)) return result; |
| 1968 |
} |
| 1969 |
return new Result(false); |
| 1970 |
} |
| 1971 |
iterator = getIterator(iterable, iterFn); |
| 1972 |
} |
| 1973 |
next = IS_RECORD ? iterable.next : iterator.next; |
| 1974 |
while (!(step = call(next, iterator)).done) { |
| 1975 |
try { |
| 1976 |
result = callFn(step.value); |
| 1977 |
} catch (error) { |
| 1978 |
iteratorClose(iterator, "throw", error); |
| 1979 |
} |
| 1980 |
if (typeof result == "object" && result && isPrototypeOf(ResultPrototype, result)) return result; |
| 1981 |
} |
| 1982 |
return new Result(false); |
| 1983 |
}; |
| 1984 |
})); |
| 1985 |
|
| 1986 |
//#endregion |
| 1987 |
//#region node_modules/core-js/modules/es.iterator.find.js |
| 1988 |
var require_es_iterator_find = /* @__PURE__ */ __commonJSMin((() => { |
| 1989 |
var $ = require_export(); |
| 1990 |
var call = require_function_call(); |
| 1991 |
var iterate = require_iterate(); |
| 1992 |
var aCallable = require_a_callable(); |
| 1993 |
var anObject = require_an_object(); |
| 1994 |
var getIteratorDirect = require_get_iterator_direct(); |
| 1995 |
var iteratorClose = require_iterator_close(); |
| 1996 |
var findWithoutClosingOnEarlyError = require_iterator_helper_without_closing_on_early_error()("find", TypeError); |
| 1997 |
$({ |
| 1998 |
target: "Iterator", |
| 1999 |
proto: true, |
| 2000 |
real: true, |
| 2001 |
forced: findWithoutClosingOnEarlyError |
| 2002 |
}, { find: function find(predicate) { |
| 2003 |
anObject(this); |
| 2004 |
try { |
| 2005 |
aCallable(predicate); |
| 2006 |
} catch (error) { |
| 2007 |
iteratorClose(this, "throw", error); |
| 2008 |
} |
| 2009 |
if (findWithoutClosingOnEarlyError) return call(findWithoutClosingOnEarlyError, this, predicate); |
| 2010 |
var record = getIteratorDirect(this); |
| 2011 |
var counter = 0; |
| 2012 |
return iterate(record, function(value, stop) { |
| 2013 |
if (predicate(value, counter++)) return stop(value); |
| 2014 |
}, { |
| 2015 |
IS_RECORD: true, |
| 2016 |
INTERRUPTED: true |
| 2017 |
}).result; |
| 2018 |
} }); |
| 2019 |
})); |
| 2020 |
|
| 2021 |
//#endregion |
| 2022 |
//#region node_modules/core-js/modules/esnext.iterator.find.js |
| 2023 |
var require_esnext_iterator_find = /* @__PURE__ */ __commonJSMin((() => { |
| 2024 |
require_es_iterator_find(); |
| 2025 |
})); |
| 2026 |
|
| 2027 |
//#endregion |
| 2028 |
//#region node_modules/core-js/modules/es.iterator.for-each.js |
| 2029 |
var require_es_iterator_for_each = /* @__PURE__ */ __commonJSMin((() => { |
| 2030 |
var $ = require_export(); |
| 2031 |
var call = require_function_call(); |
| 2032 |
var iterate = require_iterate(); |
| 2033 |
var aCallable = require_a_callable(); |
| 2034 |
var anObject = require_an_object(); |
| 2035 |
var getIteratorDirect = require_get_iterator_direct(); |
| 2036 |
var iteratorClose = require_iterator_close(); |
| 2037 |
var forEachWithoutClosingOnEarlyError = require_iterator_helper_without_closing_on_early_error()("forEach", TypeError); |
| 2038 |
$({ |
| 2039 |
target: "Iterator", |
| 2040 |
proto: true, |
| 2041 |
real: true, |
| 2042 |
forced: forEachWithoutClosingOnEarlyError |
| 2043 |
}, { forEach: function forEach(fn) { |
| 2044 |
anObject(this); |
| 2045 |
try { |
| 2046 |
aCallable(fn); |
| 2047 |
} catch (error) { |
| 2048 |
iteratorClose(this, "throw", error); |
| 2049 |
} |
| 2050 |
if (forEachWithoutClosingOnEarlyError) return call(forEachWithoutClosingOnEarlyError, this, fn); |
| 2051 |
var record = getIteratorDirect(this); |
| 2052 |
var counter = 0; |
| 2053 |
iterate(record, function(value) { |
| 2054 |
fn(value, counter++); |
| 2055 |
}, { IS_RECORD: true }); |
| 2056 |
} }); |
| 2057 |
})); |
| 2058 |
|
| 2059 |
//#endregion |
| 2060 |
//#region node_modules/core-js/modules/esnext.iterator.for-each.js |
| 2061 |
var require_esnext_iterator_for_each = /* @__PURE__ */ __commonJSMin((() => { |
| 2062 |
require_es_iterator_for_each(); |
| 2063 |
})); |
| 2064 |
|
| 2065 |
//#endregion |
| 2066 |
//#region node_modules/dompurify/dist/purify.cjs.js |
| 2067 |
/*! @license DOMPurify 3.3.0 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.0/LICENSE */ |
| 2068 |
var require_purify_cjs = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 2069 |
var { entries, setPrototypeOf, isFrozen, getPrototypeOf, getOwnPropertyDescriptor } = Object; |
| 2070 |
var { freeze, seal, create } = Object; |
| 2071 |
var { apply, construct } = typeof Reflect !== "undefined" && Reflect; |
| 2072 |
if (!freeze) freeze = function freeze(x) { |
| 2073 |
return x; |
| 2074 |
}; |
| 2075 |
if (!seal) seal = function seal(x) { |
| 2076 |
return x; |
| 2077 |
}; |
| 2078 |
if (!apply) apply = function apply(func, thisArg) { |
| 2079 |
for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) args[_key - 2] = arguments[_key]; |
| 2080 |
return func.apply(thisArg, args); |
| 2081 |
}; |
| 2082 |
if (!construct) construct = function construct(Func) { |
| 2083 |
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) args[_key2 - 1] = arguments[_key2]; |
| 2084 |
return new Func(...args); |
| 2085 |
}; |
| 2086 |
var arrayForEach = unapply(Array.prototype.forEach); |
| 2087 |
var arrayLastIndexOf = unapply(Array.prototype.lastIndexOf); |
| 2088 |
var arrayPop = unapply(Array.prototype.pop); |
| 2089 |
var arrayPush = unapply(Array.prototype.push); |
| 2090 |
var arraySplice = unapply(Array.prototype.splice); |
| 2091 |
var stringToLowerCase = unapply(String.prototype.toLowerCase); |
| 2092 |
var stringToString = unapply(String.prototype.toString); |
| 2093 |
var stringMatch = unapply(String.prototype.match); |
| 2094 |
var stringReplace = unapply(String.prototype.replace); |
| 2095 |
var stringIndexOf = unapply(String.prototype.indexOf); |
| 2096 |
var stringTrim = unapply(String.prototype.trim); |
| 2097 |
var objectHasOwnProperty = unapply(Object.prototype.hasOwnProperty); |
| 2098 |
var regExpTest = unapply(RegExp.prototype.test); |
| 2099 |
var typeErrorCreate = unconstruct(TypeError); |
| 2100 |
/** |
| 2101 |
* Creates a new function that calls the given function with a specified thisArg and arguments. |
| 2102 |
* |
| 2103 |
* @param func - The function to be wrapped and called. |
| 2104 |
* @returns A new function that calls the given function with a specified thisArg and arguments. |
| 2105 |
*/ |
| 2106 |
function unapply(func) { |
| 2107 |
return function(thisArg) { |
| 2108 |
if (thisArg instanceof RegExp) thisArg.lastIndex = 0; |
| 2109 |
for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) args[_key3 - 1] = arguments[_key3]; |
| 2110 |
return apply(func, thisArg, args); |
| 2111 |
}; |
| 2112 |
} |
| 2113 |
/** |
| 2114 |
* Creates a new function that constructs an instance of the given constructor function with the provided arguments. |
| 2115 |
* |
| 2116 |
* @param func - The constructor function to be wrapped and called. |
| 2117 |
* @returns A new function that constructs an instance of the given constructor function with the provided arguments. |
| 2118 |
*/ |
| 2119 |
function unconstruct(Func) { |
| 2120 |
return function() { |
| 2121 |
for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) args[_key4] = arguments[_key4]; |
| 2122 |
return construct(Func, args); |
| 2123 |
}; |
| 2124 |
} |
| 2125 |
/** |
| 2126 |
* Add properties to a lookup table |
| 2127 |
* |
| 2128 |
* @param set - The set to which elements will be added. |
| 2129 |
* @param array - The array containing elements to be added to the set. |
| 2130 |
* @param transformCaseFunc - An optional function to transform the case of each element before adding to the set. |
| 2131 |
* @returns The modified set with added elements. |
| 2132 |
*/ |
| 2133 |
function addToSet(set, array) { |
| 2134 |
let transformCaseFunc = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : stringToLowerCase; |
| 2135 |
if (setPrototypeOf) setPrototypeOf(set, null); |
| 2136 |
let l = array.length; |
| 2137 |
while (l--) { |
| 2138 |
let element = array[l]; |
| 2139 |
if (typeof element === "string") { |
| 2140 |
const lcElement = transformCaseFunc(element); |
| 2141 |
if (lcElement !== element) { |
| 2142 |
if (!isFrozen(array)) array[l] = lcElement; |
| 2143 |
element = lcElement; |
| 2144 |
} |
| 2145 |
} |
| 2146 |
set[element] = true; |
| 2147 |
} |
| 2148 |
return set; |
| 2149 |
} |
| 2150 |
/** |
| 2151 |
* Clean up an array to harden against CSPP |
| 2152 |
* |
| 2153 |
* @param array - The array to be cleaned. |
| 2154 |
* @returns The cleaned version of the array |
| 2155 |
*/ |
| 2156 |
function cleanArray(array) { |
| 2157 |
for (let index = 0; index < array.length; index++) if (!objectHasOwnProperty(array, index)) array[index] = null; |
| 2158 |
return array; |
| 2159 |
} |
| 2160 |
/** |
| 2161 |
* Shallow clone an object |
| 2162 |
* |
| 2163 |
* @param object - The object to be cloned. |
| 2164 |
* @returns A new object that copies the original. |
| 2165 |
*/ |
| 2166 |
function clone(object) { |
| 2167 |
const newObject = create(null); |
| 2168 |
for (const [property, value] of entries(object)) if (objectHasOwnProperty(object, property)) if (Array.isArray(value)) newObject[property] = cleanArray(value); |
| 2169 |
else if (value && typeof value === "object" && value.constructor === Object) newObject[property] = clone(value); |
| 2170 |
else newObject[property] = value; |
| 2171 |
return newObject; |
| 2172 |
} |
| 2173 |
/** |
| 2174 |
* This method automatically checks if the prop is function or getter and behaves accordingly. |
| 2175 |
* |
| 2176 |
* @param object - The object to look up the getter function in its prototype chain. |
| 2177 |
* @param prop - The property name for which to find the getter function. |
| 2178 |
* @returns The getter function found in the prototype chain or a fallback function. |
| 2179 |
*/ |
| 2180 |
function lookupGetter(object, prop) { |
| 2181 |
while (object !== null) { |
| 2182 |
const desc = getOwnPropertyDescriptor(object, prop); |
| 2183 |
if (desc) { |
| 2184 |
if (desc.get) return unapply(desc.get); |
| 2185 |
if (typeof desc.value === "function") return unapply(desc.value); |
| 2186 |
} |
| 2187 |
object = getPrototypeOf(object); |
| 2188 |
} |
| 2189 |
function fallbackValue() { |
| 2190 |
return null; |
| 2191 |
} |
| 2192 |
return fallbackValue; |
| 2193 |
} |
| 2194 |
var html$1 = freeze([ |
| 2195 |
"a", |
| 2196 |
"abbr", |
| 2197 |
"acronym", |
| 2198 |
"address", |
| 2199 |
"area", |
| 2200 |
"article", |
| 2201 |
"aside", |
| 2202 |
"audio", |
| 2203 |
"b", |
| 2204 |
"bdi", |
| 2205 |
"bdo", |
| 2206 |
"big", |
| 2207 |
"blink", |
| 2208 |
"blockquote", |
| 2209 |
"body", |
| 2210 |
"br", |
| 2211 |
"button", |
| 2212 |
"canvas", |
| 2213 |
"caption", |
| 2214 |
"center", |
| 2215 |
"cite", |
| 2216 |
"code", |
| 2217 |
"col", |
| 2218 |
"colgroup", |
| 2219 |
"content", |
| 2220 |
"data", |
| 2221 |
"datalist", |
| 2222 |
"dd", |
| 2223 |
"decorator", |
| 2224 |
"del", |
| 2225 |
"details", |
| 2226 |
"dfn", |
| 2227 |
"dialog", |
| 2228 |
"dir", |
| 2229 |
"div", |
| 2230 |
"dl", |
| 2231 |
"dt", |
| 2232 |
"element", |
| 2233 |
"em", |
| 2234 |
"fieldset", |
| 2235 |
"figcaption", |
| 2236 |
"figure", |
| 2237 |
"font", |
| 2238 |
"footer", |
| 2239 |
"form", |
| 2240 |
"h1", |
| 2241 |
"h2", |
| 2242 |
"h3", |
| 2243 |
"h4", |
| 2244 |
"h5", |
| 2245 |
"h6", |
| 2246 |
"head", |
| 2247 |
"header", |
| 2248 |
"hgroup", |
| 2249 |
"hr", |
| 2250 |
"html", |
| 2251 |
"i", |
| 2252 |
"img", |
| 2253 |
"input", |
| 2254 |
"ins", |
| 2255 |
"kbd", |
| 2256 |
"label", |
| 2257 |
"legend", |
| 2258 |
"li", |
| 2259 |
"main", |
| 2260 |
"map", |
| 2261 |
"mark", |
| 2262 |
"marquee", |
| 2263 |
"menu", |
| 2264 |
"menuitem", |
| 2265 |
"meter", |
| 2266 |
"nav", |
| 2267 |
"nobr", |
| 2268 |
"ol", |
| 2269 |
"optgroup", |
| 2270 |
"option", |
| 2271 |
"output", |
| 2272 |
"p", |
| 2273 |
"picture", |
| 2274 |
"pre", |
| 2275 |
"progress", |
| 2276 |
"q", |
| 2277 |
"rp", |
| 2278 |
"rt", |
| 2279 |
"ruby", |
| 2280 |
"s", |
| 2281 |
"samp", |
| 2282 |
"search", |
| 2283 |
"section", |
| 2284 |
"select", |
| 2285 |
"shadow", |
| 2286 |
"slot", |
| 2287 |
"small", |
| 2288 |
"source", |
| 2289 |
"spacer", |
| 2290 |
"span", |
| 2291 |
"strike", |
| 2292 |
"strong", |
| 2293 |
"style", |
| 2294 |
"sub", |
| 2295 |
"summary", |
| 2296 |
"sup", |
| 2297 |
"table", |
| 2298 |
"tbody", |
| 2299 |
"td", |
| 2300 |
"template", |
| 2301 |
"textarea", |
| 2302 |
"tfoot", |
| 2303 |
"th", |
| 2304 |
"thead", |
| 2305 |
"time", |
| 2306 |
"tr", |
| 2307 |
"track", |
| 2308 |
"tt", |
| 2309 |
"u", |
| 2310 |
"ul", |
| 2311 |
"var", |
| 2312 |
"video", |
| 2313 |
"wbr" |
| 2314 |
]); |
| 2315 |
var svg$1 = freeze([ |
| 2316 |
"svg", |
| 2317 |
"a", |
| 2318 |
"altglyph", |
| 2319 |
"altglyphdef", |
| 2320 |
"altglyphitem", |
| 2321 |
"animatecolor", |
| 2322 |
"animatemotion", |
| 2323 |
"animatetransform", |
| 2324 |
"circle", |
| 2325 |
"clippath", |
| 2326 |
"defs", |
| 2327 |
"desc", |
| 2328 |
"ellipse", |
| 2329 |
"enterkeyhint", |
| 2330 |
"exportparts", |
| 2331 |
"filter", |
| 2332 |
"font", |
| 2333 |
"g", |
| 2334 |
"glyph", |
| 2335 |
"glyphref", |
| 2336 |
"hkern", |
| 2337 |
"image", |
| 2338 |
"inputmode", |
| 2339 |
"line", |
| 2340 |
"lineargradient", |
| 2341 |
"marker", |
| 2342 |
"mask", |
| 2343 |
"metadata", |
| 2344 |
"mpath", |
| 2345 |
"part", |
| 2346 |
"path", |
| 2347 |
"pattern", |
| 2348 |
"polygon", |
| 2349 |
"polyline", |
| 2350 |
"radialgradient", |
| 2351 |
"rect", |
| 2352 |
"stop", |
| 2353 |
"style", |
| 2354 |
"switch", |
| 2355 |
"symbol", |
| 2356 |
"text", |
| 2357 |
"textpath", |
| 2358 |
"title", |
| 2359 |
"tref", |
| 2360 |
"tspan", |
| 2361 |
"view", |
| 2362 |
"vkern" |
| 2363 |
]); |
| 2364 |
var svgFilters = freeze([ |
| 2365 |
"feBlend", |
| 2366 |
"feColorMatrix", |
| 2367 |
"feComponentTransfer", |
| 2368 |
"feComposite", |
| 2369 |
"feConvolveMatrix", |
| 2370 |
"feDiffuseLighting", |
| 2371 |
"feDisplacementMap", |
| 2372 |
"feDistantLight", |
| 2373 |
"feDropShadow", |
| 2374 |
"feFlood", |
| 2375 |
"feFuncA", |
| 2376 |
"feFuncB", |
| 2377 |
"feFuncG", |
| 2378 |
"feFuncR", |
| 2379 |
"feGaussianBlur", |
| 2380 |
"feImage", |
| 2381 |
"feMerge", |
| 2382 |
"feMergeNode", |
| 2383 |
"feMorphology", |
| 2384 |
"feOffset", |
| 2385 |
"fePointLight", |
| 2386 |
"feSpecularLighting", |
| 2387 |
"feSpotLight", |
| 2388 |
"feTile", |
| 2389 |
"feTurbulence" |
| 2390 |
]); |
| 2391 |
var svgDisallowed = freeze([ |
| 2392 |
"animate", |
| 2393 |
"color-profile", |
| 2394 |
"cursor", |
| 2395 |
"discard", |
| 2396 |
"font-face", |
| 2397 |
"font-face-format", |
| 2398 |
"font-face-name", |
| 2399 |
"font-face-src", |
| 2400 |
"font-face-uri", |
| 2401 |
"foreignobject", |
| 2402 |
"hatch", |
| 2403 |
"hatchpath", |
| 2404 |
"mesh", |
| 2405 |
"meshgradient", |
| 2406 |
"meshpatch", |
| 2407 |
"meshrow", |
| 2408 |
"missing-glyph", |
| 2409 |
"script", |
| 2410 |
"set", |
| 2411 |
"solidcolor", |
| 2412 |
"unknown", |
| 2413 |
"use" |
| 2414 |
]); |
| 2415 |
var mathMl$1 = freeze([ |
| 2416 |
"math", |
| 2417 |
"menclose", |
| 2418 |
"merror", |
| 2419 |
"mfenced", |
| 2420 |
"mfrac", |
| 2421 |
"mglyph", |
| 2422 |
"mi", |
| 2423 |
"mlabeledtr", |
| 2424 |
"mmultiscripts", |
| 2425 |
"mn", |
| 2426 |
"mo", |
| 2427 |
"mover", |
| 2428 |
"mpadded", |
| 2429 |
"mphantom", |
| 2430 |
"mroot", |
| 2431 |
"mrow", |
| 2432 |
"ms", |
| 2433 |
"mspace", |
| 2434 |
"msqrt", |
| 2435 |
"mstyle", |
| 2436 |
"msub", |
| 2437 |
"msup", |
| 2438 |
"msubsup", |
| 2439 |
"mtable", |
| 2440 |
"mtd", |
| 2441 |
"mtext", |
| 2442 |
"mtr", |
| 2443 |
"munder", |
| 2444 |
"munderover", |
| 2445 |
"mprescripts" |
| 2446 |
]); |
| 2447 |
var mathMlDisallowed = freeze([ |
| 2448 |
"maction", |
| 2449 |
"maligngroup", |
| 2450 |
"malignmark", |
| 2451 |
"mlongdiv", |
| 2452 |
"mscarries", |
| 2453 |
"mscarry", |
| 2454 |
"msgroup", |
| 2455 |
"mstack", |
| 2456 |
"msline", |
| 2457 |
"msrow", |
| 2458 |
"semantics", |
| 2459 |
"annotation", |
| 2460 |
"annotation-xml", |
| 2461 |
"mprescripts", |
| 2462 |
"none" |
| 2463 |
]); |
| 2464 |
var text = freeze(["#text"]); |
| 2465 |
var html = freeze([ |
| 2466 |
"accept", |
| 2467 |
"action", |
| 2468 |
"align", |
| 2469 |
"alt", |
| 2470 |
"autocapitalize", |
| 2471 |
"autocomplete", |
| 2472 |
"autopictureinpicture", |
| 2473 |
"autoplay", |
| 2474 |
"background", |
| 2475 |
"bgcolor", |
| 2476 |
"border", |
| 2477 |
"capture", |
| 2478 |
"cellpadding", |
| 2479 |
"cellspacing", |
| 2480 |
"checked", |
| 2481 |
"cite", |
| 2482 |
"class", |
| 2483 |
"clear", |
| 2484 |
"color", |
| 2485 |
"cols", |
| 2486 |
"colspan", |
| 2487 |
"controls", |
| 2488 |
"controlslist", |
| 2489 |
"coords", |
| 2490 |
"crossorigin", |
| 2491 |
"datetime", |
| 2492 |
"decoding", |
| 2493 |
"default", |
| 2494 |
"dir", |
| 2495 |
"disabled", |
| 2496 |
"disablepictureinpicture", |
| 2497 |
"disableremoteplayback", |
| 2498 |
"download", |
| 2499 |
"draggable", |
| 2500 |
"enctype", |
| 2501 |
"enterkeyhint", |
| 2502 |
"exportparts", |
| 2503 |
"face", |
| 2504 |
"for", |
| 2505 |
"headers", |
| 2506 |
"height", |
| 2507 |
"hidden", |
| 2508 |
"high", |
| 2509 |
"href", |
| 2510 |
"hreflang", |
| 2511 |
"id", |
| 2512 |
"inert", |
| 2513 |
"inputmode", |
| 2514 |
"integrity", |
| 2515 |
"ismap", |
| 2516 |
"kind", |
| 2517 |
"label", |
| 2518 |
"lang", |
| 2519 |
"list", |
| 2520 |
"loading", |
| 2521 |
"loop", |
| 2522 |
"low", |
| 2523 |
"max", |
| 2524 |
"maxlength", |
| 2525 |
"media", |
| 2526 |
"method", |
| 2527 |
"min", |
| 2528 |
"minlength", |
| 2529 |
"multiple", |
| 2530 |
"muted", |
| 2531 |
"name", |
| 2532 |
"nonce", |
| 2533 |
"noshade", |
| 2534 |
"novalidate", |
| 2535 |
"nowrap", |
| 2536 |
"open", |
| 2537 |
"optimum", |
| 2538 |
"part", |
| 2539 |
"pattern", |
| 2540 |
"placeholder", |
| 2541 |
"playsinline", |
| 2542 |
"popover", |
| 2543 |
"popovertarget", |
| 2544 |
"popovertargetaction", |
| 2545 |
"poster", |
| 2546 |
"preload", |
| 2547 |
"pubdate", |
| 2548 |
"radiogroup", |
| 2549 |
"readonly", |
| 2550 |
"rel", |
| 2551 |
"required", |
| 2552 |
"rev", |
| 2553 |
"reversed", |
| 2554 |
"role", |
| 2555 |
"rows", |
| 2556 |
"rowspan", |
| 2557 |
"spellcheck", |
| 2558 |
"scope", |
| 2559 |
"selected", |
| 2560 |
"shape", |
| 2561 |
"size", |
| 2562 |
"sizes", |
| 2563 |
"slot", |
| 2564 |
"span", |
| 2565 |
"srclang", |
| 2566 |
"start", |
| 2567 |
"src", |
| 2568 |
"srcset", |
| 2569 |
"step", |
| 2570 |
"style", |
| 2571 |
"summary", |
| 2572 |
"tabindex", |
| 2573 |
"title", |
| 2574 |
"translate", |
| 2575 |
"type", |
| 2576 |
"usemap", |
| 2577 |
"valign", |
| 2578 |
"value", |
| 2579 |
"width", |
| 2580 |
"wrap", |
| 2581 |
"xmlns", |
| 2582 |
"slot" |
| 2583 |
]); |
| 2584 |
var svg = freeze([ |
| 2585 |
"accent-height", |
| 2586 |
"accumulate", |
| 2587 |
"additive", |
| 2588 |
"alignment-baseline", |
| 2589 |
"amplitude", |
| 2590 |
"ascent", |
| 2591 |
"attributename", |
| 2592 |
"attributetype", |
| 2593 |
"azimuth", |
| 2594 |
"basefrequency", |
| 2595 |
"baseline-shift", |
| 2596 |
"begin", |
| 2597 |
"bias", |
| 2598 |
"by", |
| 2599 |
"class", |
| 2600 |
"clip", |
| 2601 |
"clippathunits", |
| 2602 |
"clip-path", |
| 2603 |
"clip-rule", |
| 2604 |
"color", |
| 2605 |
"color-interpolation", |
| 2606 |
"color-interpolation-filters", |
| 2607 |
"color-profile", |
| 2608 |
"color-rendering", |
| 2609 |
"cx", |
| 2610 |
"cy", |
| 2611 |
"d", |
| 2612 |
"dx", |
| 2613 |
"dy", |
| 2614 |
"diffuseconstant", |
| 2615 |
"direction", |
| 2616 |
"display", |
| 2617 |
"divisor", |
| 2618 |
"dur", |
| 2619 |
"edgemode", |
| 2620 |
"elevation", |
| 2621 |
"end", |
| 2622 |
"exponent", |
| 2623 |
"fill", |
| 2624 |
"fill-opacity", |
| 2625 |
"fill-rule", |
| 2626 |
"filter", |
| 2627 |
"filterunits", |
| 2628 |
"flood-color", |
| 2629 |
"flood-opacity", |
| 2630 |
"font-family", |
| 2631 |
"font-size", |
| 2632 |
"font-size-adjust", |
| 2633 |
"font-stretch", |
| 2634 |
"font-style", |
| 2635 |
"font-variant", |
| 2636 |
"font-weight", |
| 2637 |
"fx", |
| 2638 |
"fy", |
| 2639 |
"g1", |
| 2640 |
"g2", |
| 2641 |
"glyph-name", |
| 2642 |
"glyphref", |
| 2643 |
"gradientunits", |
| 2644 |
"gradienttransform", |
| 2645 |
"height", |
| 2646 |
"href", |
| 2647 |
"id", |
| 2648 |
"image-rendering", |
| 2649 |
"in", |
| 2650 |
"in2", |
| 2651 |
"intercept", |
| 2652 |
"k", |
| 2653 |
"k1", |
| 2654 |
"k2", |
| 2655 |
"k3", |
| 2656 |
"k4", |
| 2657 |
"kerning", |
| 2658 |
"keypoints", |
| 2659 |
"keysplines", |
| 2660 |
"keytimes", |
| 2661 |
"lang", |
| 2662 |
"lengthadjust", |
| 2663 |
"letter-spacing", |
| 2664 |
"kernelmatrix", |
| 2665 |
"kernelunitlength", |
| 2666 |
"lighting-color", |
| 2667 |
"local", |
| 2668 |
"marker-end", |
| 2669 |
"marker-mid", |
| 2670 |
"marker-start", |
| 2671 |
"markerheight", |
| 2672 |
"markerunits", |
| 2673 |
"markerwidth", |
| 2674 |
"maskcontentunits", |
| 2675 |
"maskunits", |
| 2676 |
"max", |
| 2677 |
"mask", |
| 2678 |
"mask-type", |
| 2679 |
"media", |
| 2680 |
"method", |
| 2681 |
"mode", |
| 2682 |
"min", |
| 2683 |
"name", |
| 2684 |
"numoctaves", |
| 2685 |
"offset", |
| 2686 |
"operator", |
| 2687 |
"opacity", |
| 2688 |
"order", |
| 2689 |
"orient", |
| 2690 |
"orientation", |
| 2691 |
"origin", |
| 2692 |
"overflow", |
| 2693 |
"paint-order", |
| 2694 |
"path", |
| 2695 |
"pathlength", |
| 2696 |
"patterncontentunits", |
| 2697 |
"patterntransform", |
| 2698 |
"patternunits", |
| 2699 |
"points", |
| 2700 |
"preservealpha", |
| 2701 |
"preserveaspectratio", |
| 2702 |
"primitiveunits", |
| 2703 |
"r", |
| 2704 |
"rx", |
| 2705 |
"ry", |
| 2706 |
"radius", |
| 2707 |
"refx", |
| 2708 |
"refy", |
| 2709 |
"repeatcount", |
| 2710 |
"repeatdur", |
| 2711 |
"restart", |
| 2712 |
"result", |
| 2713 |
"rotate", |
| 2714 |
"scale", |
| 2715 |
"seed", |
| 2716 |
"shape-rendering", |
| 2717 |
"slope", |
| 2718 |
"specularconstant", |
| 2719 |
"specularexponent", |
| 2720 |
"spreadmethod", |
| 2721 |
"startoffset", |
| 2722 |
"stddeviation", |
| 2723 |
"stitchtiles", |
| 2724 |
"stop-color", |
| 2725 |
"stop-opacity", |
| 2726 |
"stroke-dasharray", |
| 2727 |
"stroke-dashoffset", |
| 2728 |
"stroke-linecap", |
| 2729 |
"stroke-linejoin", |
| 2730 |
"stroke-miterlimit", |
| 2731 |
"stroke-opacity", |
| 2732 |
"stroke", |
| 2733 |
"stroke-width", |
| 2734 |
"style", |
| 2735 |
"surfacescale", |
| 2736 |
"systemlanguage", |
| 2737 |
"tabindex", |
| 2738 |
"tablevalues", |
| 2739 |
"targetx", |
| 2740 |
"targety", |
| 2741 |
"transform", |
| 2742 |
"transform-origin", |
| 2743 |
"text-anchor", |
| 2744 |
"text-decoration", |
| 2745 |
"text-rendering", |
| 2746 |
"textlength", |
| 2747 |
"type", |
| 2748 |
"u1", |
| 2749 |
"u2", |
| 2750 |
"unicode", |
| 2751 |
"values", |
| 2752 |
"viewbox", |
| 2753 |
"visibility", |
| 2754 |
"version", |
| 2755 |
"vert-adv-y", |
| 2756 |
"vert-origin-x", |
| 2757 |
"vert-origin-y", |
| 2758 |
"width", |
| 2759 |
"word-spacing", |
| 2760 |
"wrap", |
| 2761 |
"writing-mode", |
| 2762 |
"xchannelselector", |
| 2763 |
"ychannelselector", |
| 2764 |
"x", |
| 2765 |
"x1", |
| 2766 |
"x2", |
| 2767 |
"xmlns", |
| 2768 |
"y", |
| 2769 |
"y1", |
| 2770 |
"y2", |
| 2771 |
"z", |
| 2772 |
"zoomandpan" |
| 2773 |
]); |
| 2774 |
var mathMl = freeze([ |
| 2775 |
"accent", |
| 2776 |
"accentunder", |
| 2777 |
"align", |
| 2778 |
"bevelled", |
| 2779 |
"close", |
| 2780 |
"columnsalign", |
| 2781 |
"columnlines", |
| 2782 |
"columnspan", |
| 2783 |
"denomalign", |
| 2784 |
"depth", |
| 2785 |
"dir", |
| 2786 |
"display", |
| 2787 |
"displaystyle", |
| 2788 |
"encoding", |
| 2789 |
"fence", |
| 2790 |
"frame", |
| 2791 |
"height", |
| 2792 |
"href", |
| 2793 |
"id", |
| 2794 |
"largeop", |
| 2795 |
"length", |
| 2796 |
"linethickness", |
| 2797 |
"lspace", |
| 2798 |
"lquote", |
| 2799 |
"mathbackground", |
| 2800 |
"mathcolor", |
| 2801 |
"mathsize", |
| 2802 |
"mathvariant", |
| 2803 |
"maxsize", |
| 2804 |
"minsize", |
| 2805 |
"movablelimits", |
| 2806 |
"notation", |
| 2807 |
"numalign", |
| 2808 |
"open", |
| 2809 |
"rowalign", |
| 2810 |
"rowlines", |
| 2811 |
"rowspacing", |
| 2812 |
"rowspan", |
| 2813 |
"rspace", |
| 2814 |
"rquote", |
| 2815 |
"scriptlevel", |
| 2816 |
"scriptminsize", |
| 2817 |
"scriptsizemultiplier", |
| 2818 |
"selection", |
| 2819 |
"separator", |
| 2820 |
"separators", |
| 2821 |
"stretchy", |
| 2822 |
"subscriptshift", |
| 2823 |
"supscriptshift", |
| 2824 |
"symmetric", |
| 2825 |
"voffset", |
| 2826 |
"width", |
| 2827 |
"xmlns" |
| 2828 |
]); |
| 2829 |
var xml = freeze([ |
| 2830 |
"xlink:href", |
| 2831 |
"xml:id", |
| 2832 |
"xlink:title", |
| 2833 |
"xml:space", |
| 2834 |
"xmlns:xlink" |
| 2835 |
]); |
| 2836 |
var MUSTACHE_EXPR = seal(/\{\{[\w\W]*|[\w\W]*\}\}/gm); |
| 2837 |
var ERB_EXPR = seal(/<%[\w\W]*|[\w\W]*%>/gm); |
| 2838 |
var TMPLIT_EXPR = seal(/\$\{[\w\W]*/gm); |
| 2839 |
var DATA_ATTR = seal(/^data-[\-\w.\u00B7-\uFFFF]+$/); |
| 2840 |
var ARIA_ATTR = seal(/^aria-[\-\w]+$/); |
| 2841 |
var IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i); |
| 2842 |
var IS_SCRIPT_OR_DATA = seal(/^(?:\w+script|data):/i); |
| 2843 |
var ATTR_WHITESPACE = seal(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g); |
| 2844 |
var DOCTYPE_NAME = seal(/^html$/i); |
| 2845 |
var CUSTOM_ELEMENT = seal(/^[a-z][.\w]*(-[.\w]+)+$/i); |
| 2846 |
var EXPRESSIONS = /*#__PURE__*/ Object.freeze({ |
| 2847 |
__proto__: null, |
| 2848 |
ARIA_ATTR, |
| 2849 |
ATTR_WHITESPACE, |
| 2850 |
CUSTOM_ELEMENT, |
| 2851 |
DATA_ATTR, |
| 2852 |
DOCTYPE_NAME, |
| 2853 |
ERB_EXPR, |
| 2854 |
IS_ALLOWED_URI, |
| 2855 |
IS_SCRIPT_OR_DATA, |
| 2856 |
MUSTACHE_EXPR, |
| 2857 |
TMPLIT_EXPR |
| 2858 |
}); |
| 2859 |
var NODE_TYPE = { |
| 2860 |
element: 1, |
| 2861 |
attribute: 2, |
| 2862 |
text: 3, |
| 2863 |
cdataSection: 4, |
| 2864 |
entityReference: 5, |
| 2865 |
entityNode: 6, |
| 2866 |
progressingInstruction: 7, |
| 2867 |
comment: 8, |
| 2868 |
document: 9, |
| 2869 |
documentType: 10, |
| 2870 |
documentFragment: 11, |
| 2871 |
notation: 12 |
| 2872 |
}; |
| 2873 |
var getGlobal = function getGlobal() { |
| 2874 |
return typeof window === "undefined" ? null : window; |
| 2875 |
}; |
| 2876 |
/** |
| 2877 |
* Creates a no-op policy for internal use only. |
| 2878 |
* Don't export this function outside this module! |
| 2879 |
* @param trustedTypes The policy factory. |
| 2880 |
* @param purifyHostElement The Script element used to load DOMPurify (to determine policy name suffix). |
| 2881 |
* @return The policy created (or null, if Trusted Types |
| 2882 |
* are not supported or creating the policy failed). |
| 2883 |
*/ |
| 2884 |
var _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, purifyHostElement) { |
| 2885 |
if (typeof trustedTypes !== "object" || typeof trustedTypes.createPolicy !== "function") return null; |
| 2886 |
let suffix = null; |
| 2887 |
const ATTR_NAME = "data-tt-policy-suffix"; |
| 2888 |
if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) suffix = purifyHostElement.getAttribute(ATTR_NAME); |
| 2889 |
const policyName = "dompurify" + (suffix ? "#" + suffix : ""); |
| 2890 |
try { |
| 2891 |
return trustedTypes.createPolicy(policyName, { |
| 2892 |
createHTML(html) { |
| 2893 |
return html; |
| 2894 |
}, |
| 2895 |
createScriptURL(scriptUrl) { |
| 2896 |
return scriptUrl; |
| 2897 |
} |
| 2898 |
}); |
| 2899 |
} catch (_) { |
| 2900 |
console.warn("TrustedTypes policy " + policyName + " could not be created."); |
| 2901 |
return null; |
| 2902 |
} |
| 2903 |
}; |
| 2904 |
var _createHooksMap = function _createHooksMap() { |
| 2905 |
return { |
| 2906 |
afterSanitizeAttributes: [], |
| 2907 |
afterSanitizeElements: [], |
| 2908 |
afterSanitizeShadowDOM: [], |
| 2909 |
beforeSanitizeAttributes: [], |
| 2910 |
beforeSanitizeElements: [], |
| 2911 |
beforeSanitizeShadowDOM: [], |
| 2912 |
uponSanitizeAttribute: [], |
| 2913 |
uponSanitizeElement: [], |
| 2914 |
uponSanitizeShadowNode: [] |
| 2915 |
}; |
| 2916 |
}; |
| 2917 |
function createDOMPurify() { |
| 2918 |
let window = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : getGlobal(); |
| 2919 |
const DOMPurify = (root) => createDOMPurify(root); |
| 2920 |
DOMPurify.version = "3.3.0"; |
| 2921 |
DOMPurify.removed = []; |
| 2922 |
if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) { |
| 2923 |
DOMPurify.isSupported = false; |
| 2924 |
return DOMPurify; |
| 2925 |
} |
| 2926 |
let { document } = window; |
| 2927 |
const originalDocument = document; |
| 2928 |
const currentScript = originalDocument.currentScript; |
| 2929 |
const { DocumentFragment, HTMLTemplateElement, Node, Element, NodeFilter, NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap, HTMLFormElement, DOMParser, trustedTypes } = window; |
| 2930 |
const ElementPrototype = Element.prototype; |
| 2931 |
const cloneNode = lookupGetter(ElementPrototype, "cloneNode"); |
| 2932 |
const remove = lookupGetter(ElementPrototype, "remove"); |
| 2933 |
const getNextSibling = lookupGetter(ElementPrototype, "nextSibling"); |
| 2934 |
const getChildNodes = lookupGetter(ElementPrototype, "childNodes"); |
| 2935 |
const getParentNode = lookupGetter(ElementPrototype, "parentNode"); |
| 2936 |
if (typeof HTMLTemplateElement === "function") { |
| 2937 |
const template = document.createElement("template"); |
| 2938 |
if (template.content && template.content.ownerDocument) document = template.content.ownerDocument; |
| 2939 |
} |
| 2940 |
let trustedTypesPolicy; |
| 2941 |
let emptyHTML = ""; |
| 2942 |
const { implementation, createNodeIterator, createDocumentFragment, getElementsByTagName } = document; |
| 2943 |
const { importNode } = originalDocument; |
| 2944 |
let hooks = _createHooksMap(); |
| 2945 |
/** |
| 2946 |
* Expose whether this browser supports running the full DOMPurify. |
| 2947 |
*/ |
| 2948 |
DOMPurify.isSupported = typeof entries === "function" && typeof getParentNode === "function" && implementation && implementation.createHTMLDocument !== void 0; |
| 2949 |
const { MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR, DATA_ATTR, ARIA_ATTR, IS_SCRIPT_OR_DATA, ATTR_WHITESPACE, CUSTOM_ELEMENT } = EXPRESSIONS; |
| 2950 |
let { IS_ALLOWED_URI: IS_ALLOWED_URI$1 } = EXPRESSIONS; |
| 2951 |
/** |
| 2952 |
* We consider the elements and attributes below to be safe. Ideally |
| 2953 |
* don't add any new ones but feel free to remove unwanted ones. |
| 2954 |
*/ |
| 2955 |
let ALLOWED_TAGS = null; |
| 2956 |
const DEFAULT_ALLOWED_TAGS = addToSet({}, [ |
| 2957 |
...html$1, |
| 2958 |
...svg$1, |
| 2959 |
...svgFilters, |
| 2960 |
...mathMl$1, |
| 2961 |
...text |
| 2962 |
]); |
| 2963 |
let ALLOWED_ATTR = null; |
| 2964 |
const DEFAULT_ALLOWED_ATTR = addToSet({}, [ |
| 2965 |
...html, |
| 2966 |
...svg, |
| 2967 |
...mathMl, |
| 2968 |
...xml |
| 2969 |
]); |
| 2970 |
let CUSTOM_ELEMENT_HANDLING = Object.seal(create(null, { |
| 2971 |
tagNameCheck: { |
| 2972 |
writable: true, |
| 2973 |
configurable: false, |
| 2974 |
enumerable: true, |
| 2975 |
value: null |
| 2976 |
}, |
| 2977 |
attributeNameCheck: { |
| 2978 |
writable: true, |
| 2979 |
configurable: false, |
| 2980 |
enumerable: true, |
| 2981 |
value: null |
| 2982 |
}, |
| 2983 |
allowCustomizedBuiltInElements: { |
| 2984 |
writable: true, |
| 2985 |
configurable: false, |
| 2986 |
enumerable: true, |
| 2987 |
value: false |
| 2988 |
} |
| 2989 |
})); |
| 2990 |
let FORBID_TAGS = null; |
| 2991 |
let FORBID_ATTR = null; |
| 2992 |
const EXTRA_ELEMENT_HANDLING = Object.seal(create(null, { |
| 2993 |
tagCheck: { |
| 2994 |
writable: true, |
| 2995 |
configurable: false, |
| 2996 |
enumerable: true, |
| 2997 |
value: null |
| 2998 |
}, |
| 2999 |
attributeCheck: { |
| 3000 |
writable: true, |
| 3001 |
configurable: false, |
| 3002 |
enumerable: true, |
| 3003 |
value: null |
| 3004 |
} |
| 3005 |
})); |
| 3006 |
let ALLOW_ARIA_ATTR = true; |
| 3007 |
let ALLOW_DATA_ATTR = true; |
| 3008 |
let ALLOW_UNKNOWN_PROTOCOLS = false; |
| 3009 |
let ALLOW_SELF_CLOSE_IN_ATTR = true; |
| 3010 |
let SAFE_FOR_TEMPLATES = false; |
| 3011 |
let SAFE_FOR_XML = true; |
| 3012 |
let WHOLE_DOCUMENT = false; |
| 3013 |
let SET_CONFIG = false; |
| 3014 |
let FORCE_BODY = false; |
| 3015 |
let RETURN_DOM = false; |
| 3016 |
let RETURN_DOM_FRAGMENT = false; |
| 3017 |
let RETURN_TRUSTED_TYPE = false; |
| 3018 |
let SANITIZE_DOM = true; |
| 3019 |
let SANITIZE_NAMED_PROPS = false; |
| 3020 |
const SANITIZE_NAMED_PROPS_PREFIX = "user-content-"; |
| 3021 |
let KEEP_CONTENT = true; |
| 3022 |
let IN_PLACE = false; |
| 3023 |
let USE_PROFILES = {}; |
| 3024 |
let FORBID_CONTENTS = null; |
| 3025 |
const DEFAULT_FORBID_CONTENTS = addToSet({}, [ |
| 3026 |
"annotation-xml", |
| 3027 |
"audio", |
| 3028 |
"colgroup", |
| 3029 |
"desc", |
| 3030 |
"foreignobject", |
| 3031 |
"head", |
| 3032 |
"iframe", |
| 3033 |
"math", |
| 3034 |
"mi", |
| 3035 |
"mn", |
| 3036 |
"mo", |
| 3037 |
"ms", |
| 3038 |
"mtext", |
| 3039 |
"noembed", |
| 3040 |
"noframes", |
| 3041 |
"noscript", |
| 3042 |
"plaintext", |
| 3043 |
"script", |
| 3044 |
"style", |
| 3045 |
"svg", |
| 3046 |
"template", |
| 3047 |
"thead", |
| 3048 |
"title", |
| 3049 |
"video", |
| 3050 |
"xmp" |
| 3051 |
]); |
| 3052 |
let DATA_URI_TAGS = null; |
| 3053 |
const DEFAULT_DATA_URI_TAGS = addToSet({}, [ |
| 3054 |
"audio", |
| 3055 |
"video", |
| 3056 |
"img", |
| 3057 |
"source", |
| 3058 |
"image", |
| 3059 |
"track" |
| 3060 |
]); |
| 3061 |
let URI_SAFE_ATTRIBUTES = null; |
| 3062 |
const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, [ |
| 3063 |
"alt", |
| 3064 |
"class", |
| 3065 |
"for", |
| 3066 |
"id", |
| 3067 |
"label", |
| 3068 |
"name", |
| 3069 |
"pattern", |
| 3070 |
"placeholder", |
| 3071 |
"role", |
| 3072 |
"summary", |
| 3073 |
"title", |
| 3074 |
"value", |
| 3075 |
"style", |
| 3076 |
"xmlns" |
| 3077 |
]); |
| 3078 |
const MATHML_NAMESPACE = "http://www.w3.org/1998/Math/MathML"; |
| 3079 |
const SVG_NAMESPACE = "http://www.w3.org/2000/svg"; |
| 3080 |
const HTML_NAMESPACE = "http://www.w3.org/1999/xhtml"; |
| 3081 |
let NAMESPACE = HTML_NAMESPACE; |
| 3082 |
let IS_EMPTY_INPUT = false; |
| 3083 |
let ALLOWED_NAMESPACES = null; |
| 3084 |
const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [ |
| 3085 |
MATHML_NAMESPACE, |
| 3086 |
SVG_NAMESPACE, |
| 3087 |
HTML_NAMESPACE |
| 3088 |
], stringToString); |
| 3089 |
let MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, [ |
| 3090 |
"mi", |
| 3091 |
"mo", |
| 3092 |
"mn", |
| 3093 |
"ms", |
| 3094 |
"mtext" |
| 3095 |
]); |
| 3096 |
let HTML_INTEGRATION_POINTS = addToSet({}, ["annotation-xml"]); |
| 3097 |
const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, [ |
| 3098 |
"title", |
| 3099 |
"style", |
| 3100 |
"font", |
| 3101 |
"a", |
| 3102 |
"script" |
| 3103 |
]); |
| 3104 |
let PARSER_MEDIA_TYPE = null; |
| 3105 |
const SUPPORTED_PARSER_MEDIA_TYPES = ["application/xhtml+xml", "text/html"]; |
| 3106 |
const DEFAULT_PARSER_MEDIA_TYPE = "text/html"; |
| 3107 |
let transformCaseFunc = null; |
| 3108 |
let CONFIG = null; |
| 3109 |
const formElement = document.createElement("form"); |
| 3110 |
const isRegexOrFunction = function isRegexOrFunction(testValue) { |
| 3111 |
return testValue instanceof RegExp || testValue instanceof Function; |
| 3112 |
}; |
| 3113 |
/** |
| 3114 |
* _parseConfig |
| 3115 |
* |
| 3116 |
* @param cfg optional config literal |
| 3117 |
*/ |
| 3118 |
const _parseConfig = function _parseConfig() { |
| 3119 |
let cfg = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; |
| 3120 |
if (CONFIG && CONFIG === cfg) return; |
| 3121 |
if (!cfg || typeof cfg !== "object") cfg = {}; |
| 3122 |
cfg = clone(cfg); |
| 3123 |
PARSER_MEDIA_TYPE = SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? DEFAULT_PARSER_MEDIA_TYPE : cfg.PARSER_MEDIA_TYPE; |
| 3124 |
transformCaseFunc = PARSER_MEDIA_TYPE === "application/xhtml+xml" ? stringToString : stringToLowerCase; |
| 3125 |
ALLOWED_TAGS = objectHasOwnProperty(cfg, "ALLOWED_TAGS") ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS; |
| 3126 |
ALLOWED_ATTR = objectHasOwnProperty(cfg, "ALLOWED_ATTR") ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR; |
| 3127 |
ALLOWED_NAMESPACES = objectHasOwnProperty(cfg, "ALLOWED_NAMESPACES") ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES; |
| 3128 |
URI_SAFE_ATTRIBUTES = objectHasOwnProperty(cfg, "ADD_URI_SAFE_ATTR") ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR, transformCaseFunc) : DEFAULT_URI_SAFE_ATTRIBUTES; |
| 3129 |
DATA_URI_TAGS = objectHasOwnProperty(cfg, "ADD_DATA_URI_TAGS") ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS, transformCaseFunc) : DEFAULT_DATA_URI_TAGS; |
| 3130 |
FORBID_CONTENTS = objectHasOwnProperty(cfg, "FORBID_CONTENTS") ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS; |
| 3131 |
FORBID_TAGS = objectHasOwnProperty(cfg, "FORBID_TAGS") ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : clone({}); |
| 3132 |
FORBID_ATTR = objectHasOwnProperty(cfg, "FORBID_ATTR") ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : clone({}); |
| 3133 |
USE_PROFILES = objectHasOwnProperty(cfg, "USE_PROFILES") ? cfg.USE_PROFILES : false; |
| 3134 |
ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; |
| 3135 |
ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; |
| 3136 |
ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; |
| 3137 |
ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; |
| 3138 |
SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; |
| 3139 |
SAFE_FOR_XML = cfg.SAFE_FOR_XML !== false; |
| 3140 |
WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; |
| 3141 |
RETURN_DOM = cfg.RETURN_DOM || false; |
| 3142 |
RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; |
| 3143 |
RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; |
| 3144 |
FORCE_BODY = cfg.FORCE_BODY || false; |
| 3145 |
SANITIZE_DOM = cfg.SANITIZE_DOM !== false; |
| 3146 |
SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; |
| 3147 |
KEEP_CONTENT = cfg.KEEP_CONTENT !== false; |
| 3148 |
IN_PLACE = cfg.IN_PLACE || false; |
| 3149 |
IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI; |
| 3150 |
NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE; |
| 3151 |
MATHML_TEXT_INTEGRATION_POINTS = cfg.MATHML_TEXT_INTEGRATION_POINTS || MATHML_TEXT_INTEGRATION_POINTS; |
| 3152 |
HTML_INTEGRATION_POINTS = cfg.HTML_INTEGRATION_POINTS || HTML_INTEGRATION_POINTS; |
| 3153 |
CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {}; |
| 3154 |
if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck; |
| 3155 |
if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) CUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck; |
| 3156 |
if (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === "boolean") CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements; |
| 3157 |
if (SAFE_FOR_TEMPLATES) ALLOW_DATA_ATTR = false; |
| 3158 |
if (RETURN_DOM_FRAGMENT) RETURN_DOM = true; |
| 3159 |
if (USE_PROFILES) { |
| 3160 |
ALLOWED_TAGS = addToSet({}, text); |
| 3161 |
ALLOWED_ATTR = []; |
| 3162 |
if (USE_PROFILES.html === true) { |
| 3163 |
addToSet(ALLOWED_TAGS, html$1); |
| 3164 |
addToSet(ALLOWED_ATTR, html); |
| 3165 |
} |
| 3166 |
if (USE_PROFILES.svg === true) { |
| 3167 |
addToSet(ALLOWED_TAGS, svg$1); |
| 3168 |
addToSet(ALLOWED_ATTR, svg); |
| 3169 |
addToSet(ALLOWED_ATTR, xml); |
| 3170 |
} |
| 3171 |
if (USE_PROFILES.svgFilters === true) { |
| 3172 |
addToSet(ALLOWED_TAGS, svgFilters); |
| 3173 |
addToSet(ALLOWED_ATTR, svg); |
| 3174 |
addToSet(ALLOWED_ATTR, xml); |
| 3175 |
} |
| 3176 |
if (USE_PROFILES.mathMl === true) { |
| 3177 |
addToSet(ALLOWED_TAGS, mathMl$1); |
| 3178 |
addToSet(ALLOWED_ATTR, mathMl); |
| 3179 |
addToSet(ALLOWED_ATTR, xml); |
| 3180 |
} |
| 3181 |
} |
| 3182 |
if (cfg.ADD_TAGS) if (typeof cfg.ADD_TAGS === "function") EXTRA_ELEMENT_HANDLING.tagCheck = cfg.ADD_TAGS; |
| 3183 |
else { |
| 3184 |
if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) ALLOWED_TAGS = clone(ALLOWED_TAGS); |
| 3185 |
addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc); |
| 3186 |
} |
| 3187 |
if (cfg.ADD_ATTR) if (typeof cfg.ADD_ATTR === "function") EXTRA_ELEMENT_HANDLING.attributeCheck = cfg.ADD_ATTR; |
| 3188 |
else { |
| 3189 |
if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) ALLOWED_ATTR = clone(ALLOWED_ATTR); |
| 3190 |
addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc); |
| 3191 |
} |
| 3192 |
if (cfg.ADD_URI_SAFE_ATTR) addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc); |
| 3193 |
if (cfg.FORBID_CONTENTS) { |
| 3194 |
if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) FORBID_CONTENTS = clone(FORBID_CONTENTS); |
| 3195 |
addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc); |
| 3196 |
} |
| 3197 |
if (KEEP_CONTENT) ALLOWED_TAGS["#text"] = true; |
| 3198 |
if (WHOLE_DOCUMENT) addToSet(ALLOWED_TAGS, [ |
| 3199 |
"html", |
| 3200 |
"head", |
| 3201 |
"body" |
| 3202 |
]); |
| 3203 |
if (ALLOWED_TAGS.table) { |
| 3204 |
addToSet(ALLOWED_TAGS, ["tbody"]); |
| 3205 |
delete FORBID_TAGS.tbody; |
| 3206 |
} |
| 3207 |
if (cfg.TRUSTED_TYPES_POLICY) { |
| 3208 |
if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== "function") throw typeErrorCreate("TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook."); |
| 3209 |
if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== "function") throw typeErrorCreate("TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook."); |
| 3210 |
trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY; |
| 3211 |
emptyHTML = trustedTypesPolicy.createHTML(""); |
| 3212 |
} else { |
| 3213 |
if (trustedTypesPolicy === void 0) trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript); |
| 3214 |
if (trustedTypesPolicy !== null && typeof emptyHTML === "string") emptyHTML = trustedTypesPolicy.createHTML(""); |
| 3215 |
} |
| 3216 |
if (freeze) freeze(cfg); |
| 3217 |
CONFIG = cfg; |
| 3218 |
}; |
| 3219 |
const ALL_SVG_TAGS = addToSet({}, [ |
| 3220 |
...svg$1, |
| 3221 |
...svgFilters, |
| 3222 |
...svgDisallowed |
| 3223 |
]); |
| 3224 |
const ALL_MATHML_TAGS = addToSet({}, [...mathMl$1, ...mathMlDisallowed]); |
| 3225 |
/** |
| 3226 |
* @param element a DOM element whose namespace is being checked |
| 3227 |
* @returns Return false if the element has a |
| 3228 |
* namespace that a spec-compliant parser would never |
| 3229 |
* return. Return true otherwise. |
| 3230 |
*/ |
| 3231 |
const _checkValidNamespace = function _checkValidNamespace(element) { |
| 3232 |
let parent = getParentNode(element); |
| 3233 |
if (!parent || !parent.tagName) parent = { |
| 3234 |
namespaceURI: NAMESPACE, |
| 3235 |
tagName: "template" |
| 3236 |
}; |
| 3237 |
const tagName = stringToLowerCase(element.tagName); |
| 3238 |
const parentTagName = stringToLowerCase(parent.tagName); |
| 3239 |
if (!ALLOWED_NAMESPACES[element.namespaceURI]) return false; |
| 3240 |
if (element.namespaceURI === SVG_NAMESPACE) { |
| 3241 |
if (parent.namespaceURI === HTML_NAMESPACE) return tagName === "svg"; |
| 3242 |
if (parent.namespaceURI === MATHML_NAMESPACE) return tagName === "svg" && (parentTagName === "annotation-xml" || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]); |
| 3243 |
return Boolean(ALL_SVG_TAGS[tagName]); |
| 3244 |
} |
| 3245 |
if (element.namespaceURI === MATHML_NAMESPACE) { |
| 3246 |
if (parent.namespaceURI === HTML_NAMESPACE) return tagName === "math"; |
| 3247 |
if (parent.namespaceURI === SVG_NAMESPACE) return tagName === "math" && HTML_INTEGRATION_POINTS[parentTagName]; |
| 3248 |
return Boolean(ALL_MATHML_TAGS[tagName]); |
| 3249 |
} |
| 3250 |
if (element.namespaceURI === HTML_NAMESPACE) { |
| 3251 |
if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) return false; |
| 3252 |
if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) return false; |
| 3253 |
return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]); |
| 3254 |
} |
| 3255 |
if (PARSER_MEDIA_TYPE === "application/xhtml+xml" && ALLOWED_NAMESPACES[element.namespaceURI]) return true; |
| 3256 |
return false; |
| 3257 |
}; |
| 3258 |
/** |
| 3259 |
* _forceRemove |
| 3260 |
* |
| 3261 |
* @param node a DOM node |
| 3262 |
*/ |
| 3263 |
const _forceRemove = function _forceRemove(node) { |
| 3264 |
arrayPush(DOMPurify.removed, { element: node }); |
| 3265 |
try { |
| 3266 |
getParentNode(node).removeChild(node); |
| 3267 |
} catch (_) { |
| 3268 |
remove(node); |
| 3269 |
} |
| 3270 |
}; |
| 3271 |
/** |
| 3272 |
* _removeAttribute |
| 3273 |
* |
| 3274 |
* @param name an Attribute name |
| 3275 |
* @param element a DOM node |
| 3276 |
*/ |
| 3277 |
const _removeAttribute = function _removeAttribute(name, element) { |
| 3278 |
try { |
| 3279 |
arrayPush(DOMPurify.removed, { |
| 3280 |
attribute: element.getAttributeNode(name), |
| 3281 |
from: element |
| 3282 |
}); |
| 3283 |
} catch (_) { |
| 3284 |
arrayPush(DOMPurify.removed, { |
| 3285 |
attribute: null, |
| 3286 |
from: element |
| 3287 |
}); |
| 3288 |
} |
| 3289 |
element.removeAttribute(name); |
| 3290 |
if (name === "is") if (RETURN_DOM || RETURN_DOM_FRAGMENT) try { |
| 3291 |
_forceRemove(element); |
| 3292 |
} catch (_) {} |
| 3293 |
else try { |
| 3294 |
element.setAttribute(name, ""); |
| 3295 |
} catch (_) {} |
| 3296 |
}; |
| 3297 |
/** |
| 3298 |
* _initDocument |
| 3299 |
* |
| 3300 |
* @param dirty - a string of dirty markup |
| 3301 |
* @return a DOM, filled with the dirty markup |
| 3302 |
*/ |
| 3303 |
const _initDocument = function _initDocument(dirty) { |
| 3304 |
let doc = null; |
| 3305 |
let leadingWhitespace = null; |
| 3306 |
if (FORCE_BODY) dirty = "<remove></remove>" + dirty; |
| 3307 |
else { |
| 3308 |
const matches = stringMatch(dirty, /^[\r\n\t ]+/); |
| 3309 |
leadingWhitespace = matches && matches[0]; |
| 3310 |
} |
| 3311 |
if (PARSER_MEDIA_TYPE === "application/xhtml+xml" && NAMESPACE === HTML_NAMESPACE) dirty = "<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>" + dirty + "</body></html>"; |
| 3312 |
const dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty; |
| 3313 |
if (NAMESPACE === HTML_NAMESPACE) try { |
| 3314 |
doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE); |
| 3315 |
} catch (_) {} |
| 3316 |
if (!doc || !doc.documentElement) { |
| 3317 |
doc = implementation.createDocument(NAMESPACE, "template", null); |
| 3318 |
try { |
| 3319 |
doc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload; |
| 3320 |
} catch (_) {} |
| 3321 |
} |
| 3322 |
const body = doc.body || doc.documentElement; |
| 3323 |
if (dirty && leadingWhitespace) body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null); |
| 3324 |
if (NAMESPACE === HTML_NAMESPACE) return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? "html" : "body")[0]; |
| 3325 |
return WHOLE_DOCUMENT ? doc.documentElement : body; |
| 3326 |
}; |
| 3327 |
/** |
| 3328 |
* Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document. |
| 3329 |
* |
| 3330 |
* @param root The root element or node to start traversing on. |
| 3331 |
* @return The created NodeIterator |
| 3332 |
*/ |
| 3333 |
const _createNodeIterator = function _createNodeIterator(root) { |
| 3334 |
return createNodeIterator.call(root.ownerDocument || root, root, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT | NodeFilter.SHOW_PROCESSING_INSTRUCTION | NodeFilter.SHOW_CDATA_SECTION, null); |
| 3335 |
}; |
| 3336 |
/** |
| 3337 |
* _isClobbered |
| 3338 |
* |
| 3339 |
* @param element element to check for clobbering attacks |
| 3340 |
* @return true if clobbered, false if safe |
| 3341 |
*/ |
| 3342 |
const _isClobbered = function _isClobbered(element) { |
| 3343 |
return element instanceof HTMLFormElement && (typeof element.nodeName !== "string" || typeof element.textContent !== "string" || typeof element.removeChild !== "function" || !(element.attributes instanceof NamedNodeMap) || typeof element.removeAttribute !== "function" || typeof element.setAttribute !== "function" || typeof element.namespaceURI !== "string" || typeof element.insertBefore !== "function" || typeof element.hasChildNodes !== "function"); |
| 3344 |
}; |
| 3345 |
/** |
| 3346 |
* Checks whether the given object is a DOM node. |
| 3347 |
* |
| 3348 |
* @param value object to check whether it's a DOM node |
| 3349 |
* @return true is object is a DOM node |
| 3350 |
*/ |
| 3351 |
const _isNode = function _isNode(value) { |
| 3352 |
return typeof Node === "function" && value instanceof Node; |
| 3353 |
}; |
| 3354 |
function _executeHooks(hooks, currentNode, data) { |
| 3355 |
arrayForEach(hooks, (hook) => { |
| 3356 |
hook.call(DOMPurify, currentNode, data, CONFIG); |
| 3357 |
}); |
| 3358 |
} |
| 3359 |
/** |
| 3360 |
* _sanitizeElements |
| 3361 |
* |
| 3362 |
* @protect nodeName |
| 3363 |
* @protect textContent |
| 3364 |
* @protect removeChild |
| 3365 |
* @param currentNode to check for permission to exist |
| 3366 |
* @return true if node was killed, false if left alive |
| 3367 |
*/ |
| 3368 |
const _sanitizeElements = function _sanitizeElements(currentNode) { |
| 3369 |
let content = null; |
| 3370 |
_executeHooks(hooks.beforeSanitizeElements, currentNode, null); |
| 3371 |
if (_isClobbered(currentNode)) { |
| 3372 |
_forceRemove(currentNode); |
| 3373 |
return true; |
| 3374 |
} |
| 3375 |
const tagName = transformCaseFunc(currentNode.nodeName); |
| 3376 |
_executeHooks(hooks.uponSanitizeElement, currentNode, { |
| 3377 |
tagName, |
| 3378 |
allowedTags: ALLOWED_TAGS |
| 3379 |
}); |
| 3380 |
if (SAFE_FOR_XML && currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(/<[/\w!]/g, currentNode.innerHTML) && regExpTest(/<[/\w!]/g, currentNode.textContent)) { |
| 3381 |
_forceRemove(currentNode); |
| 3382 |
return true; |
| 3383 |
} |
| 3384 |
if (currentNode.nodeType === NODE_TYPE.progressingInstruction) { |
| 3385 |
_forceRemove(currentNode); |
| 3386 |
return true; |
| 3387 |
} |
| 3388 |
if (SAFE_FOR_XML && currentNode.nodeType === NODE_TYPE.comment && regExpTest(/<[/\w]/g, currentNode.data)) { |
| 3389 |
_forceRemove(currentNode); |
| 3390 |
return true; |
| 3391 |
} |
| 3392 |
if (!(EXTRA_ELEMENT_HANDLING.tagCheck instanceof Function && EXTRA_ELEMENT_HANDLING.tagCheck(tagName)) && (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName])) { |
| 3393 |
if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) { |
| 3394 |
if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) return false; |
| 3395 |
if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) return false; |
| 3396 |
} |
| 3397 |
if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) { |
| 3398 |
const parentNode = getParentNode(currentNode) || currentNode.parentNode; |
| 3399 |
const childNodes = getChildNodes(currentNode) || currentNode.childNodes; |
| 3400 |
if (childNodes && parentNode) { |
| 3401 |
const childCount = childNodes.length; |
| 3402 |
for (let i = childCount - 1; i >= 0; --i) { |
| 3403 |
const childClone = cloneNode(childNodes[i], true); |
| 3404 |
childClone.__removalCount = (currentNode.__removalCount || 0) + 1; |
| 3405 |
parentNode.insertBefore(childClone, getNextSibling(currentNode)); |
| 3406 |
} |
| 3407 |
} |
| 3408 |
} |
| 3409 |
_forceRemove(currentNode); |
| 3410 |
return true; |
| 3411 |
} |
| 3412 |
if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) { |
| 3413 |
_forceRemove(currentNode); |
| 3414 |
return true; |
| 3415 |
} |
| 3416 |
if ((tagName === "noscript" || tagName === "noembed" || tagName === "noframes") && regExpTest(/<\/no(script|embed|frames)/i, currentNode.innerHTML)) { |
| 3417 |
_forceRemove(currentNode); |
| 3418 |
return true; |
| 3419 |
} |
| 3420 |
if (SAFE_FOR_TEMPLATES && currentNode.nodeType === NODE_TYPE.text) { |
| 3421 |
content = currentNode.textContent; |
| 3422 |
arrayForEach([ |
| 3423 |
MUSTACHE_EXPR, |
| 3424 |
ERB_EXPR, |
| 3425 |
TMPLIT_EXPR |
| 3426 |
], (expr) => { |
| 3427 |
content = stringReplace(content, expr, " "); |
| 3428 |
}); |
| 3429 |
if (currentNode.textContent !== content) { |
| 3430 |
arrayPush(DOMPurify.removed, { element: currentNode.cloneNode() }); |
| 3431 |
currentNode.textContent = content; |
| 3432 |
} |
| 3433 |
} |
| 3434 |
_executeHooks(hooks.afterSanitizeElements, currentNode, null); |
| 3435 |
return false; |
| 3436 |
}; |
| 3437 |
/** |
| 3438 |
* _isValidAttribute |
| 3439 |
* |
| 3440 |
* @param lcTag Lowercase tag name of containing element. |
| 3441 |
* @param lcName Lowercase attribute name. |
| 3442 |
* @param value Attribute value. |
| 3443 |
* @return Returns true if `value` is valid, otherwise false. |
| 3444 |
*/ |
| 3445 |
const _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) { |
| 3446 |
if (SANITIZE_DOM && (lcName === "id" || lcName === "name") && (value in document || value in formElement)) return false; |
| 3447 |
if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)); |
| 3448 |
else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)); |
| 3449 |
else if (EXTRA_ELEMENT_HANDLING.attributeCheck instanceof Function && EXTRA_ELEMENT_HANDLING.attributeCheck(lcName, lcTag)); |
| 3450 |
else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) if (_isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName, lcTag)) || lcName === "is" && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))); |
| 3451 |
else return false; |
| 3452 |
else if (URI_SAFE_ATTRIBUTES[lcName]); |
| 3453 |
else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE, ""))); |
| 3454 |
else if ((lcName === "src" || lcName === "xlink:href" || lcName === "href") && lcTag !== "script" && stringIndexOf(value, "data:") === 0 && DATA_URI_TAGS[lcTag]); |
| 3455 |
else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, ""))); |
| 3456 |
else if (value) return false; |
| 3457 |
return true; |
| 3458 |
}; |
| 3459 |
/** |
| 3460 |
* _isBasicCustomElement |
| 3461 |
* checks if at least one dash is included in tagName, and it's not the first char |
| 3462 |
* for more sophisticated checking see https://github.com/sindresorhus/validate-element-name |
| 3463 |
* |
| 3464 |
* @param tagName name of the tag of the node to sanitize |
| 3465 |
* @returns Returns true if the tag name meets the basic criteria for a custom element, otherwise false. |
| 3466 |
*/ |
| 3467 |
const _isBasicCustomElement = function _isBasicCustomElement(tagName) { |
| 3468 |
return tagName !== "annotation-xml" && stringMatch(tagName, CUSTOM_ELEMENT); |
| 3469 |
}; |
| 3470 |
/** |
| 3471 |
* _sanitizeAttributes |
| 3472 |
* |
| 3473 |
* @protect attributes |
| 3474 |
* @protect nodeName |
| 3475 |
* @protect removeAttribute |
| 3476 |
* @protect setAttribute |
| 3477 |
* |
| 3478 |
* @param currentNode to sanitize |
| 3479 |
*/ |
| 3480 |
const _sanitizeAttributes = function _sanitizeAttributes(currentNode) { |
| 3481 |
_executeHooks(hooks.beforeSanitizeAttributes, currentNode, null); |
| 3482 |
const { attributes } = currentNode; |
| 3483 |
if (!attributes || _isClobbered(currentNode)) return; |
| 3484 |
const hookEvent = { |
| 3485 |
attrName: "", |
| 3486 |
attrValue: "", |
| 3487 |
keepAttr: true, |
| 3488 |
allowedAttributes: ALLOWED_ATTR, |
| 3489 |
forceKeepAttr: void 0 |
| 3490 |
}; |
| 3491 |
let l = attributes.length; |
| 3492 |
while (l--) { |
| 3493 |
const { name, namespaceURI, value: attrValue } = attributes[l]; |
| 3494 |
const lcName = transformCaseFunc(name); |
| 3495 |
const initValue = attrValue; |
| 3496 |
let value = name === "value" ? initValue : stringTrim(initValue); |
| 3497 |
hookEvent.attrName = lcName; |
| 3498 |
hookEvent.attrValue = value; |
| 3499 |
hookEvent.keepAttr = true; |
| 3500 |
hookEvent.forceKeepAttr = void 0; |
| 3501 |
_executeHooks(hooks.uponSanitizeAttribute, currentNode, hookEvent); |
| 3502 |
value = hookEvent.attrValue; |
| 3503 |
if (SANITIZE_NAMED_PROPS && (lcName === "id" || lcName === "name")) { |
| 3504 |
_removeAttribute(name, currentNode); |
| 3505 |
value = SANITIZE_NAMED_PROPS_PREFIX + value; |
| 3506 |
} |
| 3507 |
if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|title|textarea)/i, value)) { |
| 3508 |
_removeAttribute(name, currentNode); |
| 3509 |
continue; |
| 3510 |
} |
| 3511 |
if (lcName === "attributename" && stringMatch(value, "href")) { |
| 3512 |
_removeAttribute(name, currentNode); |
| 3513 |
continue; |
| 3514 |
} |
| 3515 |
if (hookEvent.forceKeepAttr) continue; |
| 3516 |
if (!hookEvent.keepAttr) { |
| 3517 |
_removeAttribute(name, currentNode); |
| 3518 |
continue; |
| 3519 |
} |
| 3520 |
if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\/>/i, value)) { |
| 3521 |
_removeAttribute(name, currentNode); |
| 3522 |
continue; |
| 3523 |
} |
| 3524 |
if (SAFE_FOR_TEMPLATES) arrayForEach([ |
| 3525 |
MUSTACHE_EXPR, |
| 3526 |
ERB_EXPR, |
| 3527 |
TMPLIT_EXPR |
| 3528 |
], (expr) => { |
| 3529 |
value = stringReplace(value, expr, " "); |
| 3530 |
}); |
| 3531 |
const lcTag = transformCaseFunc(currentNode.nodeName); |
| 3532 |
if (!_isValidAttribute(lcTag, lcName, value)) { |
| 3533 |
_removeAttribute(name, currentNode); |
| 3534 |
continue; |
| 3535 |
} |
| 3536 |
if (trustedTypesPolicy && typeof trustedTypes === "object" && typeof trustedTypes.getAttributeType === "function") if (namespaceURI); |
| 3537 |
else switch (trustedTypes.getAttributeType(lcTag, lcName)) { |
| 3538 |
case "TrustedHTML": |
| 3539 |
value = trustedTypesPolicy.createHTML(value); |
| 3540 |
break; |
| 3541 |
case "TrustedScriptURL": |
| 3542 |
value = trustedTypesPolicy.createScriptURL(value); |
| 3543 |
break; |
| 3544 |
} |
| 3545 |
if (value !== initValue) try { |
| 3546 |
if (namespaceURI) currentNode.setAttributeNS(namespaceURI, name, value); |
| 3547 |
else currentNode.setAttribute(name, value); |
| 3548 |
if (_isClobbered(currentNode)) _forceRemove(currentNode); |
| 3549 |
else arrayPop(DOMPurify.removed); |
| 3550 |
} catch (_) { |
| 3551 |
_removeAttribute(name, currentNode); |
| 3552 |
} |
| 3553 |
} |
| 3554 |
_executeHooks(hooks.afterSanitizeAttributes, currentNode, null); |
| 3555 |
}; |
| 3556 |
/** |
| 3557 |
* _sanitizeShadowDOM |
| 3558 |
* |
| 3559 |
* @param fragment to iterate over recursively |
| 3560 |
*/ |
| 3561 |
const _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) { |
| 3562 |
let shadowNode = null; |
| 3563 |
const shadowIterator = _createNodeIterator(fragment); |
| 3564 |
_executeHooks(hooks.beforeSanitizeShadowDOM, fragment, null); |
| 3565 |
while (shadowNode = shadowIterator.nextNode()) { |
| 3566 |
_executeHooks(hooks.uponSanitizeShadowNode, shadowNode, null); |
| 3567 |
_sanitizeElements(shadowNode); |
| 3568 |
_sanitizeAttributes(shadowNode); |
| 3569 |
if (shadowNode.content instanceof DocumentFragment) _sanitizeShadowDOM(shadowNode.content); |
| 3570 |
} |
| 3571 |
_executeHooks(hooks.afterSanitizeShadowDOM, fragment, null); |
| 3572 |
}; |
| 3573 |
DOMPurify.sanitize = function(dirty) { |
| 3574 |
let cfg = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; |
| 3575 |
let body = null; |
| 3576 |
let importedNode = null; |
| 3577 |
let currentNode = null; |
| 3578 |
let returnNode = null; |
| 3579 |
IS_EMPTY_INPUT = !dirty; |
| 3580 |
if (IS_EMPTY_INPUT) dirty = "<!-->"; |
| 3581 |
if (typeof dirty !== "string" && !_isNode(dirty)) if (typeof dirty.toString === "function") { |
| 3582 |
dirty = dirty.toString(); |
| 3583 |
if (typeof dirty !== "string") throw typeErrorCreate("dirty is not a string, aborting"); |
| 3584 |
} else throw typeErrorCreate("toString is not a function"); |
| 3585 |
if (!DOMPurify.isSupported) return dirty; |
| 3586 |
if (!SET_CONFIG) _parseConfig(cfg); |
| 3587 |
DOMPurify.removed = []; |
| 3588 |
if (typeof dirty === "string") IN_PLACE = false; |
| 3589 |
if (IN_PLACE) { |
| 3590 |
if (dirty.nodeName) { |
| 3591 |
const tagName = transformCaseFunc(dirty.nodeName); |
| 3592 |
if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) throw typeErrorCreate("root node is forbidden and cannot be sanitized in-place"); |
| 3593 |
} |
| 3594 |
} else if (dirty instanceof Node) { |
| 3595 |
body = _initDocument("<!---->"); |
| 3596 |
importedNode = body.ownerDocument.importNode(dirty, true); |
| 3597 |
if (importedNode.nodeType === NODE_TYPE.element && importedNode.nodeName === "BODY") body = importedNode; |
| 3598 |
else if (importedNode.nodeName === "HTML") body = importedNode; |
| 3599 |
else body.appendChild(importedNode); |
| 3600 |
} else { |
| 3601 |
if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT && dirty.indexOf("<") === -1) return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty; |
| 3602 |
body = _initDocument(dirty); |
| 3603 |
if (!body) return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : ""; |
| 3604 |
} |
| 3605 |
if (body && FORCE_BODY) _forceRemove(body.firstChild); |
| 3606 |
const nodeIterator = _createNodeIterator(IN_PLACE ? dirty : body); |
| 3607 |
while (currentNode = nodeIterator.nextNode()) { |
| 3608 |
_sanitizeElements(currentNode); |
| 3609 |
_sanitizeAttributes(currentNode); |
| 3610 |
if (currentNode.content instanceof DocumentFragment) _sanitizeShadowDOM(currentNode.content); |
| 3611 |
} |
| 3612 |
if (IN_PLACE) return dirty; |
| 3613 |
if (RETURN_DOM) { |
| 3614 |
if (RETURN_DOM_FRAGMENT) { |
| 3615 |
returnNode = createDocumentFragment.call(body.ownerDocument); |
| 3616 |
while (body.firstChild) returnNode.appendChild(body.firstChild); |
| 3617 |
} else returnNode = body; |
| 3618 |
if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) returnNode = importNode.call(originalDocument, returnNode, true); |
| 3619 |
return returnNode; |
| 3620 |
} |
| 3621 |
let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML; |
| 3622 |
if (WHOLE_DOCUMENT && ALLOWED_TAGS["!doctype"] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) serializedHTML = "<!DOCTYPE " + body.ownerDocument.doctype.name + ">\n" + serializedHTML; |
| 3623 |
if (SAFE_FOR_TEMPLATES) arrayForEach([ |
| 3624 |
MUSTACHE_EXPR, |
| 3625 |
ERB_EXPR, |
| 3626 |
TMPLIT_EXPR |
| 3627 |
], (expr) => { |
| 3628 |
serializedHTML = stringReplace(serializedHTML, expr, " "); |
| 3629 |
}); |
| 3630 |
return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML; |
| 3631 |
}; |
| 3632 |
DOMPurify.setConfig = function() { |
| 3633 |
let cfg = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; |
| 3634 |
_parseConfig(cfg); |
| 3635 |
SET_CONFIG = true; |
| 3636 |
}; |
| 3637 |
DOMPurify.clearConfig = function() { |
| 3638 |
CONFIG = null; |
| 3639 |
SET_CONFIG = false; |
| 3640 |
}; |
| 3641 |
DOMPurify.isValidAttribute = function(tag, attr, value) { |
| 3642 |
if (!CONFIG) _parseConfig({}); |
| 3643 |
const lcTag = transformCaseFunc(tag); |
| 3644 |
const lcName = transformCaseFunc(attr); |
| 3645 |
return _isValidAttribute(lcTag, lcName, value); |
| 3646 |
}; |
| 3647 |
DOMPurify.addHook = function(entryPoint, hookFunction) { |
| 3648 |
if (typeof hookFunction !== "function") return; |
| 3649 |
arrayPush(hooks[entryPoint], hookFunction); |
| 3650 |
}; |
| 3651 |
DOMPurify.removeHook = function(entryPoint, hookFunction) { |
| 3652 |
if (hookFunction !== void 0) { |
| 3653 |
const index = arrayLastIndexOf(hooks[entryPoint], hookFunction); |
| 3654 |
return index === -1 ? void 0 : arraySplice(hooks[entryPoint], index, 1)[0]; |
| 3655 |
} |
| 3656 |
return arrayPop(hooks[entryPoint]); |
| 3657 |
}; |
| 3658 |
DOMPurify.removeHooks = function(entryPoint) { |
| 3659 |
hooks[entryPoint] = []; |
| 3660 |
}; |
| 3661 |
DOMPurify.removeAllHooks = function() { |
| 3662 |
hooks = _createHooksMap(); |
| 3663 |
}; |
| 3664 |
return DOMPurify; |
| 3665 |
} |
| 3666 |
var purify = createDOMPurify(); |
| 3667 |
module.exports = purify; |
| 3668 |
})); |
| 3669 |
|
| 3670 |
//#endregion |
| 3671 |
//#region assets/dev/js/frontend/utils/lightbox/screenfull.js |
| 3672 |
var require_screenfull = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 3673 |
(function() { |
| 3674 |
"use strict"; |
| 3675 |
var document = typeof window !== "undefined" && typeof window.document !== "undefined" ? window.document : {}; |
| 3676 |
var isCommonjs = typeof module !== "undefined" && module.exports; |
| 3677 |
var fn = function() { |
| 3678 |
var val; |
| 3679 |
var fnMap = [ |
| 3680 |
[ |
| 3681 |
"requestFullscreen", |
| 3682 |
"exitFullscreen", |
| 3683 |
"fullscreenElement", |
| 3684 |
"fullscreenEnabled", |
| 3685 |
"fullscreenchange", |
| 3686 |
"fullscreenerror" |
| 3687 |
], |
| 3688 |
[ |
| 3689 |
"webkitRequestFullscreen", |
| 3690 |
"webkitExitFullscreen", |
| 3691 |
"webkitFullscreenElement", |
| 3692 |
"webkitFullscreenEnabled", |
| 3693 |
"webkitfullscreenchange", |
| 3694 |
"webkitfullscreenerror" |
| 3695 |
], |
| 3696 |
[ |
| 3697 |
"webkitRequestFullScreen", |
| 3698 |
"webkitCancelFullScreen", |
| 3699 |
"webkitCurrentFullScreenElement", |
| 3700 |
"webkitCancelFullScreen", |
| 3701 |
"webkitfullscreenchange", |
| 3702 |
"webkitfullscreenerror" |
| 3703 |
], |
| 3704 |
[ |
| 3705 |
"mozRequestFullScreen", |
| 3706 |
"mozCancelFullScreen", |
| 3707 |
"mozFullScreenElement", |
| 3708 |
"mozFullScreenEnabled", |
| 3709 |
"mozfullscreenchange", |
| 3710 |
"mozfullscreenerror" |
| 3711 |
], |
| 3712 |
[ |
| 3713 |
"msRequestFullscreen", |
| 3714 |
"msExitFullscreen", |
| 3715 |
"msFullscreenElement", |
| 3716 |
"msFullscreenEnabled", |
| 3717 |
"MSFullscreenChange", |
| 3718 |
"MSFullscreenError" |
| 3719 |
] |
| 3720 |
]; |
| 3721 |
var i = 0; |
| 3722 |
var l = fnMap.length; |
| 3723 |
var ret = {}; |
| 3724 |
for (; i < l; i++) { |
| 3725 |
val = fnMap[i]; |
| 3726 |
if (val && val[1] in document) { |
| 3727 |
var valLength = val.length; |
| 3728 |
for (i = 0; i < valLength; i++) ret[fnMap[0][i]] = val[i]; |
| 3729 |
return ret; |
| 3730 |
} |
| 3731 |
} |
| 3732 |
return false; |
| 3733 |
}(); |
| 3734 |
var eventNameMap = { |
| 3735 |
change: fn.fullscreenchange, |
| 3736 |
error: fn.fullscreenerror |
| 3737 |
}; |
| 3738 |
var screenfull = { |
| 3739 |
request(element) { |
| 3740 |
return new Promise(function(resolve, reject) { |
| 3741 |
var onFullScreenEntered = function() { |
| 3742 |
this.off("change", onFullScreenEntered); |
| 3743 |
resolve(); |
| 3744 |
}.bind(this); |
| 3745 |
this.on("change", onFullScreenEntered); |
| 3746 |
element = element || document.documentElement; |
| 3747 |
Promise.resolve(element[fn.requestFullscreen]()).catch(reject); |
| 3748 |
}.bind(this)); |
| 3749 |
}, |
| 3750 |
exit() { |
| 3751 |
return new Promise(function(resolve, reject) { |
| 3752 |
if (!this.isFullscreen) { |
| 3753 |
resolve(); |
| 3754 |
return; |
| 3755 |
} |
| 3756 |
var onFullScreenExit = function() { |
| 3757 |
this.off("change", onFullScreenExit); |
| 3758 |
resolve(); |
| 3759 |
}.bind(this); |
| 3760 |
this.on("change", onFullScreenExit); |
| 3761 |
Promise.resolve(document[fn.exitFullscreen]()).catch(reject); |
| 3762 |
}.bind(this)); |
| 3763 |
}, |
| 3764 |
toggle(element) { |
| 3765 |
return this.isFullscreen ? this.exit() : this.request(element); |
| 3766 |
}, |
| 3767 |
onchange(callback) { |
| 3768 |
this.on("change", callback); |
| 3769 |
}, |
| 3770 |
onerror(callback) { |
| 3771 |
this.on("error", callback); |
| 3772 |
}, |
| 3773 |
on(event, callback) { |
| 3774 |
var eventName = eventNameMap[event]; |
| 3775 |
if (eventName) document.addEventListener(eventName, callback, false); |
| 3776 |
}, |
| 3777 |
off(event, callback) { |
| 3778 |
var eventName = eventNameMap[event]; |
| 3779 |
if (eventName) document.removeEventListener(eventName, callback, false); |
| 3780 |
}, |
| 3781 |
raw: fn |
| 3782 |
}; |
| 3783 |
if (!fn) { |
| 3784 |
if (isCommonjs) module.exports = { isEnabled: false }; |
| 3785 |
else window.screenfull = { isEnabled: false }; |
| 3786 |
return; |
| 3787 |
} |
| 3788 |
Object.defineProperties(screenfull, { |
| 3789 |
isFullscreen: { get() { |
| 3790 |
return Boolean(document[fn.fullscreenElement]); |
| 3791 |
} }, |
| 3792 |
element: { |
| 3793 |
enumerable: true, |
| 3794 |
get() { |
| 3795 |
return document[fn.fullscreenElement]; |
| 3796 |
} |
| 3797 |
}, |
| 3798 |
isEnabled: { |
| 3799 |
enumerable: true, |
| 3800 |
get() { |
| 3801 |
return Boolean(document[fn.fullscreenEnabled]); |
| 3802 |
} |
| 3803 |
} |
| 3804 |
}); |
| 3805 |
if (isCommonjs) module.exports = screenfull; |
| 3806 |
else window.screenfull = screenfull; |
| 3807 |
})(); |
| 3808 |
})); |
| 3809 |
|
| 3810 |
//#endregion |
| 3811 |
//#region node_modules/core-js/modules/es.iterator.map.js |
| 3812 |
var require_es_iterator_map = /* @__PURE__ */ __commonJSMin((() => { |
| 3813 |
var $ = require_export(); |
| 3814 |
var call = require_function_call(); |
| 3815 |
var aCallable = require_a_callable(); |
| 3816 |
var anObject = require_an_object(); |
| 3817 |
var getIteratorDirect = require_get_iterator_direct(); |
| 3818 |
var createIteratorProxy = require_iterator_create_proxy(); |
| 3819 |
var callWithSafeIterationClosing = require_call_with_safe_iteration_closing(); |
| 3820 |
var iteratorClose = require_iterator_close(); |
| 3821 |
var iteratorHelperThrowsOnInvalidIterator = require_iterator_helper_throws_on_invalid_iterator(); |
| 3822 |
var iteratorHelperWithoutClosingOnEarlyError = require_iterator_helper_without_closing_on_early_error(); |
| 3823 |
var IS_PURE = require_is_pure(); |
| 3824 |
var MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR = !IS_PURE && !iteratorHelperThrowsOnInvalidIterator("map", function() {}); |
| 3825 |
var mapWithoutClosingOnEarlyError = !IS_PURE && !MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR && iteratorHelperWithoutClosingOnEarlyError("map", TypeError); |
| 3826 |
var FORCED = IS_PURE || MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR || mapWithoutClosingOnEarlyError; |
| 3827 |
var IteratorProxy = createIteratorProxy(function() { |
| 3828 |
var iterator = this.iterator; |
| 3829 |
var result = anObject(call(this.next, iterator)); |
| 3830 |
if (!(this.done = !!result.done)) return callWithSafeIterationClosing(iterator, this.mapper, [result.value, this.counter++], true); |
| 3831 |
}); |
| 3832 |
$({ |
| 3833 |
target: "Iterator", |
| 3834 |
proto: true, |
| 3835 |
real: true, |
| 3836 |
forced: FORCED |
| 3837 |
}, { map: function map(mapper) { |
| 3838 |
anObject(this); |
| 3839 |
try { |
| 3840 |
aCallable(mapper); |
| 3841 |
} catch (error) { |
| 3842 |
iteratorClose(this, "throw", error); |
| 3843 |
} |
| 3844 |
if (mapWithoutClosingOnEarlyError) return call(mapWithoutClosingOnEarlyError, this, mapper); |
| 3845 |
return new IteratorProxy(getIteratorDirect(this), { mapper }); |
| 3846 |
} }); |
| 3847 |
})); |
| 3848 |
|
| 3849 |
//#endregion |
| 3850 |
//#region node_modules/core-js/modules/esnext.iterator.map.js |
| 3851 |
var require_esnext_iterator_map = /* @__PURE__ */ __commonJSMin((() => { |
| 3852 |
require_es_iterator_map(); |
| 3853 |
})); |
| 3854 |
|
| 3855 |
//#endregion |
| 3856 |
//#region assets/dev/js/frontend/utils/icons/manager.js |
| 3857 |
var require_manager = /* @__PURE__ */ __commonJSMin(((exports) => { |
| 3858 |
init_defineProperty(); |
| 3859 |
Object.defineProperty(exports, "__esModule", { value: true }); |
| 3860 |
exports.default = void 0; |
| 3861 |
require_es_array_includes(); |
| 3862 |
require_es_array_push(); |
| 3863 |
require_esnext_iterator_constructor(); |
| 3864 |
require_esnext_iterator_map(); |
| 3865 |
var IconsManager = class IconsManager { |
| 3866 |
constructor(elementsPrefix) { |
| 3867 |
this.prefix = `${elementsPrefix}-`; |
| 3868 |
this.createSvgSymbolsContainer(); |
| 3869 |
} |
| 3870 |
createSvgElement(name, { path, width, height }) { |
| 3871 |
const iconName = this.prefix + name; |
| 3872 |
const iconSelector = "#" + this.prefix + name; |
| 3873 |
if (!IconsManager.iconsUsageList.includes(iconName)) { |
| 3874 |
if (!IconsManager.symbolsContainer.querySelector(iconSelector)) { |
| 3875 |
const symbol = this.createSymbolElement({ |
| 3876 |
id: iconName, |
| 3877 |
path, |
| 3878 |
width, |
| 3879 |
height |
| 3880 |
}); |
| 3881 |
IconsManager.symbolsContainer.appendChild(symbol); |
| 3882 |
} |
| 3883 |
IconsManager.iconsUsageList.push(iconName); |
| 3884 |
} |
| 3885 |
return this.createSvgIconElement({ |
| 3886 |
iconName, |
| 3887 |
iconSelector |
| 3888 |
}); |
| 3889 |
} |
| 3890 |
createSvgNode(tag, { props = {}, attrs = {} }) { |
| 3891 |
const node = document.createElementNS("http://www.w3.org/2000/svg", tag); |
| 3892 |
Object.keys(props).map((key) => node[key] = props[key]); |
| 3893 |
Object.keys(attrs).map((key) => node.setAttributeNS(null, key, attrs[key])); |
| 3894 |
return node; |
| 3895 |
} |
| 3896 |
createSvgIconElement({ iconName, iconSelector }) { |
| 3897 |
return this.createSvgNode("svg", { |
| 3898 |
props: { innerHTML: "<use xlink:href=\"" + iconSelector + "\" />" }, |
| 3899 |
attrs: { class: "e-font-icon-svg e-" + iconName } |
| 3900 |
}); |
| 3901 |
} |
| 3902 |
createSvgSymbolsContainer() { |
| 3903 |
if (!IconsManager.symbolsContainer) { |
| 3904 |
const symbolsContainerId = "e-font-icon-svg-symbols"; |
| 3905 |
IconsManager.symbolsContainer = document.getElementById(symbolsContainerId); |
| 3906 |
if (!IconsManager.symbolsContainer) { |
| 3907 |
IconsManager.symbolsContainer = this.createSvgNode("svg", { attrs: { |
| 3908 |
style: "display: none;", |
| 3909 |
class: symbolsContainerId |
| 3910 |
} }); |
| 3911 |
document.body.appendChild(IconsManager.symbolsContainer); |
| 3912 |
} |
| 3913 |
} |
| 3914 |
} |
| 3915 |
createSymbolElement({ id, path, width, height }) { |
| 3916 |
return this.createSvgNode("symbol", { |
| 3917 |
props: { |
| 3918 |
innerHTML: "<path d=\"" + path + "\"></path>", |
| 3919 |
id |
| 3920 |
}, |
| 3921 |
attrs: { viewBox: "0 0 " + width + " " + height } |
| 3922 |
}); |
| 3923 |
} |
| 3924 |
}; |
| 3925 |
_defineProperty(IconsManager, "symbolsContainer", void 0); |
| 3926 |
_defineProperty(IconsManager, "iconsUsageList", []); |
| 3927 |
exports.default = IconsManager; |
| 3928 |
})); |
| 3929 |
|
| 3930 |
//#endregion |
| 3931 |
//#region assets/dev/js/frontend/utils/icons/e-icons.js |
| 3932 |
var require_e_icons = /* @__PURE__ */ __commonJSMin(((exports) => { |
| 3933 |
var _interopRequireDefault = require_interopRequireDefault(); |
| 3934 |
Object.defineProperty(exports, "__esModule", { value: true }); |
| 3935 |
exports.zoomOutBold = exports.zoomInBold = exports.xTwitter = exports.twitter = exports.shareArrow = exports.pinterest = exports.loading = exports.frameMinimize = exports.frameExpand = exports.facebook = exports.downloadBold = exports.close = exports.chevronRight = exports.chevronLeft = void 0; |
| 3936 |
var iconsManager = new (_interopRequireDefault(require_manager())).default("eicon"); |
| 3937 |
exports.chevronLeft = { get element() { |
| 3938 |
return iconsManager.createSvgElement("chevron-left", { |
| 3939 |
path: "M646 125C629 125 613 133 604 142L308 442C296 454 292 471 292 487 292 504 296 521 308 533L604 854C617 867 629 875 646 875 663 875 679 871 692 858 704 846 713 829 713 812 713 796 708 779 692 767L438 487 692 225C700 217 708 204 708 187 708 171 704 154 692 142 675 129 663 125 646 125Z", |
| 3940 |
width: 1e3, |
| 3941 |
height: 1e3 |
| 3942 |
}); |
| 3943 |
} }; |
| 3944 |
exports.chevronRight = { get element() { |
| 3945 |
return iconsManager.createSvgElement("chevron-right", { |
| 3946 |
path: "M696 533C708 521 713 504 713 487 713 471 708 454 696 446L400 146C388 133 375 125 354 125 338 125 325 129 313 142 300 154 292 171 292 187 292 204 296 221 308 233L563 492 304 771C292 783 288 800 288 817 288 833 296 850 308 863 321 871 338 875 354 875 371 875 388 867 400 854L696 533Z", |
| 3947 |
width: 1e3, |
| 3948 |
height: 1e3 |
| 3949 |
}); |
| 3950 |
} }; |
| 3951 |
exports.close = { get element() { |
| 3952 |
return iconsManager.createSvgElement("close", { |
| 3953 |
path: "M742 167L500 408 258 167C246 154 233 150 217 150 196 150 179 158 167 167 154 179 150 196 150 212 150 229 154 242 171 254L408 500 167 742C138 771 138 800 167 829 196 858 225 858 254 829L496 587 738 829C750 842 767 846 783 846 800 846 817 842 829 829 842 817 846 804 846 783 846 767 842 750 829 737L588 500 833 258C863 229 863 200 833 171 804 137 775 137 742 167Z", |
| 3954 |
width: 1e3, |
| 3955 |
height: 1e3 |
| 3956 |
}); |
| 3957 |
} }; |
| 3958 |
exports.downloadBold = { get element() { |
| 3959 |
return iconsManager.createSvgElement("download-bold", { |
| 3960 |
path: "M572 42H428C405 42 385 61 385 85V385H228C197 385 180 424 203 447L475 719C489 732 511 732 524 719L797 447C819 424 803 385 771 385H614V85C615 61 595 42 572 42ZM958 915V715C958 691 939 672 915 672H653L565 760C529 796 471 796 435 760L347 672H85C61 672 42 691 42 715V915C42 939 61 958 85 958H915C939 958 958 939 958 915ZM736 873C736 853 720 837 700 837 681 837 665 853 665 873 665 892 681 908 700 908 720 908 736 892 736 873ZM815 837C835 837 851 853 851 873 851 892 835 908 815 908 795 908 779 892 779 873 779 853 795 837 815 837Z", |
| 3961 |
width: 1e3, |
| 3962 |
height: 1e3 |
| 3963 |
}); |
| 3964 |
} }; |
| 3965 |
exports.facebook = { get element() { |
| 3966 |
return iconsManager.createSvgElement("facebook", { |
| 3967 |
path: "M858 42H142C88 42 42 87 42 142V863C42 913 88 958 142 958H421V646H292V500H421V387C421 258 496 192 613 192 667 192 725 200 725 200V325H663C600 325 579 362 579 404V500H721L700 646H583V958H863C917 958 963 913 963 858V142C958 87 913 42 858 42L858 42Z", |
| 3968 |
width: 1e3, |
| 3969 |
height: 1e3 |
| 3970 |
}); |
| 3971 |
} }; |
| 3972 |
exports.frameExpand = { get element() { |
| 3973 |
return iconsManager.createSvgElement("frame-expand", { |
| 3974 |
path: "M863 583C890 583 914 605 916 632L917 637V863L916 868C914 893 893 914 868 916L863 917H638L632 916C607 914 586 893 584 868L583 863 584 857C586 832 607 811 632 809L638 808H808V637L809 632C811 605 835 583 863 583ZM138 583C165 583 189 605 191 632L192 637V808H363C390 808 414 830 416 857L417 863C417 890 395 914 368 916L363 917H138C110 917 86 895 84 868L83 863V637C83 607 108 583 138 583ZM863 83C890 83 914 105 916 132L917 137V362C917 392 893 417 863 417 835 417 811 395 809 368L808 362V192H638C610 192 586 170 584 143L583 137C583 110 605 86 632 84L638 83H863ZM363 83L368 84C393 86 414 107 416 132L417 137 416 143C414 168 393 189 368 191L363 192H192V362L191 368C189 395 165 417 138 417S86 395 84 368L83 362V137L84 132C86 107 107 86 132 84L138 83H363Z", |
| 3975 |
width: 1e3, |
| 3976 |
height: 1e3 |
| 3977 |
}); |
| 3978 |
} }; |
| 3979 |
exports.frameMinimize = { get element() { |
| 3980 |
return iconsManager.createSvgElement("frame-minimize", { |
| 3981 |
path: "M363 583C392 583 413 604 417 633L417 637V863C417 892 392 917 363 917 333 917 313 896 308 867L308 863V692H138C108 692 88 671 83 642L83 637C83 608 104 587 133 583L138 583H363ZM638 583C608 583 588 604 583 633L583 637V863C583 892 608 917 638 917 667 917 688 896 692 867L692 863V692H863C892 692 913 671 917 642L917 637C917 608 896 587 867 583L863 583H638ZM363 417C392 417 413 396 417 367L417 362V137C417 108 392 83 363 83 333 83 313 104 308 133L308 137V308H138C108 308 88 329 83 358L83 362C83 392 104 412 133 417L138 417H363ZM638 417C608 417 588 396 583 367L583 362V137C583 108 608 83 638 83 667 83 688 104 692 133L692 137V308H863C892 308 913 329 917 358L917 362C917 392 896 412 867 417L863 417H638Z", |
| 3982 |
width: 1e3, |
| 3983 |
height: 1e3 |
| 3984 |
}); |
| 3985 |
} }; |
| 3986 |
exports.loading = { get element() { |
| 3987 |
return iconsManager.createSvgElement("loading", { |
| 3988 |
path: "M500 975V858C696 858 858 696 858 500S696 142 500 142 142 304 142 500H25C25 237 238 25 500 25S975 237 975 500 763 975 500 975Z", |
| 3989 |
width: 1e3, |
| 3990 |
height: 1e3 |
| 3991 |
}); |
| 3992 |
} }; |
| 3993 |
exports.pinterest = { get element() { |
| 3994 |
return iconsManager.createSvgElement("pinterest", { |
| 3995 |
path: "M950 496C950 746 746 950 496 950 450 950 404 942 363 929 379 900 408 850 421 808 425 787 450 700 450 700 467 729 508 754 554 754 692 754 792 629 792 471 792 321 671 208 513 208 317 208 213 342 213 483 213 550 250 633 304 658 313 662 317 662 321 654 321 650 329 617 333 604 333 600 333 596 329 592 313 567 296 525 296 487 288 387 367 292 496 292 608 292 688 367 688 475 688 600 625 683 546 683 500 683 467 646 479 600 492 546 517 487 517 450 517 417 500 387 458 387 413 387 375 433 375 496 375 537 388 562 388 562S342 754 333 787C325 825 329 883 333 917 163 854 42 687 42 496 42 246 246 42 496 42S950 246 950 496Z", |
| 3996 |
width: 1e3, |
| 3997 |
height: 1e3 |
| 3998 |
}); |
| 3999 |
} }; |
| 4000 |
exports.shareArrow = { get element() { |
| 4001 |
return iconsManager.createSvgElement("share-arrow", { |
| 4002 |
path: "M946 383L667 133C642 112 604 129 604 162V292C238 296 71 637 42 812 238 587 363 521 604 517V658C604 692 642 708 667 687L946 442C963 425 963 400 946 383Z", |
| 4003 |
width: 1e3, |
| 4004 |
height: 1e3 |
| 4005 |
}); |
| 4006 |
} }; |
| 4007 |
exports.twitter = { get element() { |
| 4008 |
return iconsManager.createSvgElement("twitter", { |
| 4009 |
path: "M863 312C863 321 863 329 863 337 863 587 675 871 329 871 221 871 125 842 42 787 58 787 71 792 88 792 175 792 254 762 321 712 238 712 171 658 146 583 158 583 171 587 183 587 200 587 217 583 233 579 146 562 83 487 83 396V387C108 400 138 408 167 412 117 379 83 321 83 254 83 221 92 187 108 158 200 271 342 346 496 354 492 342 492 325 492 312 492 208 575 125 679 125 733 125 783 146 817 183 858 175 900 158 938 137 925 179 896 217 854 242 892 237 929 229 963 212 933 250 900 283 863 312Z", |
| 4010 |
width: 1e3, |
| 4011 |
height: 1e3 |
| 4012 |
}); |
| 4013 |
} }; |
| 4014 |
exports.xTwitter = { get element() { |
| 4015 |
return iconsManager.createSvgElement("x-twitter", { |
| 4016 |
path: "M760.16 93.75h137.89L596.88 437.89 951.17 906.25H673.83L456.45 622.27 208.01 906.25H69.92L391.99 538.09 52.34 93.75H336.72L533.01 353.32 760.16 93.75zM711.72 823.83h76.37L295.12 171.88h-82.03L711.72 823.83z", |
| 4017 |
width: 1e3, |
| 4018 |
height: 1e3 |
| 4019 |
}); |
| 4020 |
} }; |
| 4021 |
exports.zoomInBold = { get element() { |
| 4022 |
return iconsManager.createSvgElement("zoom-in-bold", { |
| 4023 |
path: "M388 383V312C388 283 413 258 442 258 471 258 496 283 496 312V383H567C596 383 621 408 621 437S596 492 567 492H496V562C496 592 471 617 442 617 413 617 388 592 388 562V492H317C288 492 263 467 263 437S288 383 317 383H388ZM654 733C592 779 517 804 438 804 233 804 71 642 71 437S233 71 438 71 804 233 804 437C804 521 779 596 733 654L896 817C917 837 917 871 896 892 875 913 842 913 821 892L654 733ZM438 696C579 696 696 579 696 437S579 179 438 179 179 296 179 437 296 696 438 696Z", |
| 4024 |
width: 1e3, |
| 4025 |
height: 1e3 |
| 4026 |
}); |
| 4027 |
} }; |
| 4028 |
exports.zoomOutBold = { get element() { |
| 4029 |
return iconsManager.createSvgElement("zoom-out-bold", { |
| 4030 |
path: "M750 683L946 879C963 896 963 929 946 946 929 963 896 967 879 946L683 750C617 804 533 833 438 833 221 833 42 654 42 437S221 42 438 42 833 221 833 437C833 529 800 612 750 683ZM296 392H575C600 392 621 412 621 442 621 467 600 487 575 487H296C271 487 250 467 250 442 250 412 271 392 296 392ZM438 737C604 737 738 604 738 437S604 137 438 137 138 271 138 437 271 737 438 737Z", |
| 4031 |
width: 1e3, |
| 4032 |
height: 1e3 |
| 4033 |
}); |
| 4034 |
} }; |
| 4035 |
})); |
| 4036 |
|
| 4037 |
//#endregion |
| 4038 |
//#region assets/dev/js/frontend/utils/lightbox/lightbox.js |
| 4039 |
var require_lightbox = /* @__PURE__ */ __commonJSMin(((exports, module) => { |
| 4040 |
init_objectSpread2(); |
| 4041 |
init_asyncToGenerator(); |
| 4042 |
var _interopRequireDefault = require_interopRequireDefault(); |
| 4043 |
require_es_array_includes(); |
| 4044 |
require_es_array_push(); |
| 4045 |
require_esnext_iterator_constructor(); |
| 4046 |
require_esnext_iterator_filter(); |
| 4047 |
require_esnext_iterator_find(); |
| 4048 |
require_esnext_iterator_for_each(); |
| 4049 |
var _dompurify = _interopRequireDefault(require_purify_cjs()); |
| 4050 |
var _screenfull = _interopRequireDefault(require_screenfull()); |
| 4051 |
var _eIcons = require_e_icons(); |
| 4052 |
module.exports = elementorModules.ViewModule.extend({ |
| 4053 |
oldAnimation: null, |
| 4054 |
swiper: null, |
| 4055 |
player: null, |
| 4056 |
isFontIconSvgExperiment: elementorFrontend.config.experimentalFeatures.e_font_icon_svg, |
| 4057 |
getDefaultSettings() { |
| 4058 |
return { |
| 4059 |
classes: { |
| 4060 |
item: "elementor-lightbox-item", |
| 4061 |
image: "elementor-lightbox-image", |
| 4062 |
videoContainer: "elementor-video-container", |
| 4063 |
videoWrapper: "elementor-video-wrapper", |
| 4064 |
playButton: "elementor-custom-embed-play", |
| 4065 |
playButtonIcon: "fa", |
| 4066 |
playing: "elementor-playing", |
| 4067 |
hidden: "elementor-hidden", |
| 4068 |
invisible: "elementor-invisible", |
| 4069 |
preventClose: "elementor-lightbox-prevent-close", |
| 4070 |
slideshow: { |
| 4071 |
container: "swiper", |
| 4072 |
slidesWrapper: "swiper-wrapper", |
| 4073 |
prevButton: "elementor-swiper-button elementor-swiper-button-prev", |
| 4074 |
nextButton: "elementor-swiper-button elementor-swiper-button-next", |
| 4075 |
prevButtonIcon: "eicon-chevron-left", |
| 4076 |
nextButtonIcon: "eicon-chevron-right", |
| 4077 |
slide: "swiper-slide", |
| 4078 |
header: "elementor-slideshow__header", |
| 4079 |
footer: "elementor-slideshow__footer", |
| 4080 |
title: "elementor-slideshow__title", |
| 4081 |
description: "elementor-slideshow__description", |
| 4082 |
counter: "elementor-slideshow__counter", |
| 4083 |
iconExpand: "eicon-frame-expand", |
| 4084 |
iconShrink: "eicon-frame-minimize", |
| 4085 |
iconZoomIn: "eicon-zoom-in-bold", |
| 4086 |
iconZoomOut: "eicon-zoom-out-bold", |
| 4087 |
iconShare: "eicon-share-arrow", |
| 4088 |
shareMenu: "elementor-slideshow__share-menu", |
| 4089 |
shareLinks: "elementor-slideshow__share-links", |
| 4090 |
hideUiVisibility: "elementor-slideshow--ui-hidden", |
| 4091 |
shareMode: "elementor-slideshow--share-mode", |
| 4092 |
fullscreenMode: "elementor-slideshow--fullscreen-mode", |
| 4093 |
zoomMode: "elementor-slideshow--zoom-mode" |
| 4094 |
} |
| 4095 |
}, |
| 4096 |
selectors: { |
| 4097 |
image: ".elementor-lightbox-image", |
| 4098 |
links: "a, [data-elementor-lightbox]", |
| 4099 |
slideshow: { |
| 4100 |
activeSlide: ".swiper-slide-active", |
| 4101 |
prevSlide: ".swiper-slide-prev", |
| 4102 |
nextSlide: ".swiper-slide-next" |
| 4103 |
} |
| 4104 |
}, |
| 4105 |
modalOptions: { |
| 4106 |
id: "elementor-lightbox", |
| 4107 |
entranceAnimation: "zoomIn", |
| 4108 |
videoAspectRatio: 169, |
| 4109 |
position: { enable: false } |
| 4110 |
} |
| 4111 |
}; |
| 4112 |
}, |
| 4113 |
getModal() { |
| 4114 |
if (!module.exports.modal) this.initModal(); |
| 4115 |
return module.exports.modal; |
| 4116 |
}, |
| 4117 |
initModal() { |
| 4118 |
const closeIcon = {}; |
| 4119 |
if (this.isFontIconSvgExperiment) closeIcon.iconElement = _eIcons.close.element; |
| 4120 |
else closeIcon.iconClass = "eicon-close"; |
| 4121 |
const modal = module.exports.modal = elementorFrontend.getDialogsManager().createWidget("lightbox", { |
| 4122 |
className: "elementor-lightbox", |
| 4123 |
closeButton: true, |
| 4124 |
closeButtonOptions: _objectSpread2(_objectSpread2({}, closeIcon), {}, { attributes: { |
| 4125 |
role: "button", |
| 4126 |
tabindex: 0, |
| 4127 |
"aria-label": elementorFrontend.config.i18n.close + " (Esc)" |
| 4128 |
} }), |
| 4129 |
selectors: { preventClose: "." + this.getSettings("classes.preventClose") }, |
| 4130 |
hide: { onClick: true } |
| 4131 |
}); |
| 4132 |
modal.on("hide", function() { |
| 4133 |
modal.setMessage(""); |
| 4134 |
}); |
| 4135 |
}, |
| 4136 |
showModal(options) { |
| 4137 |
if (options.url && !options.url.startsWith("http")) return; |
| 4138 |
this.elements.$closeButton = this.getModal().getElements("closeButton"); |
| 4139 |
this.$buttons = this.elements.$closeButton; |
| 4140 |
this.focusedButton = null; |
| 4141 |
const self = this; |
| 4142 |
const defaultOptions = self.getDefaultSettings().modalOptions; |
| 4143 |
self.id = options.id; |
| 4144 |
self.setSettings("modalOptions", jQuery.extend(defaultOptions, options.modalOptions)); |
| 4145 |
const modal = self.getModal(); |
| 4146 |
modal.setID(self.getSettings("modalOptions.id")); |
| 4147 |
modal.onShow = function() { |
| 4148 |
DialogsManager.getWidgetType("lightbox").prototype.onShow.apply(modal, arguments); |
| 4149 |
self.setEntranceAnimation(); |
| 4150 |
}; |
| 4151 |
modal.onHide = function() { |
| 4152 |
DialogsManager.getWidgetType("lightbox").prototype.onHide.apply(modal, arguments); |
| 4153 |
modal.getElements("message").removeClass("animated"); |
| 4154 |
if (_screenfull.default.isFullscreen) self.deactivateFullscreen(); |
| 4155 |
self.unbindHotKeys(); |
| 4156 |
}; |
| 4157 |
switch (options.type) { |
| 4158 |
case "video": |
| 4159 |
self.setVideoContent(options); |
| 4160 |
break; |
| 4161 |
case "image": |
| 4162 |
options.slideshow = { |
| 4163 |
slides: [{ |
| 4164 |
image: options.url, |
| 4165 |
index: 0, |
| 4166 |
title: options.title, |
| 4167 |
description: options.description, |
| 4168 |
hash: options.hash |
| 4169 |
}], |
| 4170 |
swiper: { |
| 4171 |
loop: false, |
| 4172 |
pagination: false |
| 4173 |
} |
| 4174 |
}; |
| 4175 |
self.setSlideshowContent(options.slideshow); |
| 4176 |
break; |
| 4177 |
case "slideshow": |
| 4178 |
self.setSlideshowContent(options.slideshow); |
| 4179 |
break; |
| 4180 |
default: self.setHTMLContent(options.html); |
| 4181 |
} |
| 4182 |
modal.show(); |
| 4183 |
}, |
| 4184 |
createLightbox(element) { |
| 4185 |
let lightboxData = {}; |
| 4186 |
if (element.dataset.elementorLightbox) lightboxData = JSON.parse(element.dataset.elementorLightbox); |
| 4187 |
if (lightboxData.type && "slideshow" !== lightboxData.type) { |
| 4188 |
this.showModal(lightboxData); |
| 4189 |
return; |
| 4190 |
} |
| 4191 |
if (!element.dataset.elementorLightboxSlideshow) { |
| 4192 |
this.showModal({ |
| 4193 |
type: "image", |
| 4194 |
id: "single-img", |
| 4195 |
url: element.href, |
| 4196 |
hash: element.getAttribute("data-e-action-hash"), |
| 4197 |
title: element.dataset.elementorLightboxTitle, |
| 4198 |
description: element.dataset.elementorLightboxDescription, |
| 4199 |
modalOptions: { id: "elementor-lightbox-slideshow-single-img" } |
| 4200 |
}); |
| 4201 |
return; |
| 4202 |
} |
| 4203 |
const initialSlideURL = element.dataset.elementorLightboxVideo || element.href; |
| 4204 |
this.openSlideshow(element.dataset.elementorLightboxSlideshow, initialSlideURL); |
| 4205 |
}, |
| 4206 |
setHTMLContent(html) { |
| 4207 |
if (window.elementorCommon) elementorDevTools.deprecation.deprecated("elementorFrontend.utils.lightbox.setHTMLContent()", "3.1.4"); |
| 4208 |
this.getModal().setMessage(_dompurify.default.sanitize(html)); |
| 4209 |
}, |
| 4210 |
setVideoContent(options) { |
| 4211 |
const $ = jQuery; |
| 4212 |
let $videoElement; |
| 4213 |
if ([ |
| 4214 |
"hosted", |
| 4215 |
"videopress", |
| 4216 |
"dailymotion" |
| 4217 |
].includes(options.videoType)) { |
| 4218 |
const videoParams = $.extend({ |
| 4219 |
src: options.url, |
| 4220 |
autoplay: "" |
| 4221 |
}, options.videoParams); |
| 4222 |
Object.keys(videoParams).forEach((key) => { |
| 4223 |
if (key.toLowerCase().startsWith("on")) delete videoParams[key]; |
| 4224 |
}); |
| 4225 |
$videoElement = $("<video>", videoParams); |
| 4226 |
} else { |
| 4227 |
let apiProvider; |
| 4228 |
if (-1 !== options.url.indexOf("vimeo.com")) apiProvider = elementorFrontend.utils.vimeo; |
| 4229 |
else if (options.url.match(/^(?:https?:\/\/)?(?:www\.)?(?:m\.)?(?:youtu\.be\/|youtube\.com|youtube-nocookie\.com)/)) apiProvider = elementorFrontend.utils.youtube; |
| 4230 |
else return; |
| 4231 |
$videoElement = $("<iframe>", { allowfullscreen: 1 }); |
| 4232 |
if ("yes" === options.autoplay) { |
| 4233 |
$videoElement.attr("allow", "autoplay"); |
| 4234 |
$videoElement.attr("src", apiProvider.getAutoplayURL(options.url)); |
| 4235 |
} else $videoElement.attr("src", options.url); |
| 4236 |
} |
| 4237 |
const classes = this.getSettings("classes"); |
| 4238 |
const aspectRatio = this.getRatioDictionry(this.getSettings("modalOptions.videoAspectRatio")); |
| 4239 |
const $videoContainer = $("<div>", { class: `${classes.videoContainer} ${classes.preventClose}` }); |
| 4240 |
const $videoWrapper = $("<div>", { |
| 4241 |
class: `${classes.videoWrapper} elementor-video-${this.getRatioType(aspectRatio)}`, |
| 4242 |
style: "--video-aspect-ratio: " + aspectRatio |
| 4243 |
}); |
| 4244 |
$videoWrapper.append($videoElement); |
| 4245 |
$videoContainer.append($videoWrapper); |
| 4246 |
const modal = this.getModal(); |
| 4247 |
modal.setMessage($videoContainer); |
| 4248 |
const onHideMethod = modal.onHide; |
| 4249 |
modal.onHide = function() { |
| 4250 |
onHideMethod(); |
| 4251 |
this.$buttons = jQuery(); |
| 4252 |
this.focusedButton = null; |
| 4253 |
modal.getElements("message").removeClass("elementor-video-wrapper"); |
| 4254 |
}; |
| 4255 |
}, |
| 4256 |
getRatioDictionry(ratio) { |
| 4257 |
return { |
| 4258 |
219: 2.33333, |
| 4259 |
169: 1.77777, |
| 4260 |
43: 1.33333, |
| 4261 |
32: 1.5, |
| 4262 |
11: 1, |
| 4263 |
916: .5625 |
| 4264 |
}[ratio] || ratio; |
| 4265 |
}, |
| 4266 |
getRatioType(ratio) { |
| 4267 |
let type = ""; |
| 4268 |
if (1 === ratio) type = "square"; |
| 4269 |
else type = ratio < 1 ? "portrait" : "landscape"; |
| 4270 |
return type; |
| 4271 |
}, |
| 4272 |
getShareLinks() { |
| 4273 |
const { i18n } = elementorFrontend.config, socialNetworks = { |
| 4274 |
facebook: { |
| 4275 |
label: i18n.shareOnFacebook, |
| 4276 |
iconElement: _eIcons.facebook |
| 4277 |
}, |
| 4278 |
"x-twitter": { |
| 4279 |
label: i18n.shareOnX, |
| 4280 |
iconElement: _eIcons.xTwitter |
| 4281 |
}, |
| 4282 |
pinterest: { |
| 4283 |
label: i18n.pinIt, |
| 4284 |
iconElement: _eIcons.pinterest |
| 4285 |
} |
| 4286 |
}, $ = jQuery, classes = this.getSettings("classes"), selectors = this.getSettings("selectors"), $linkList = $("<div>", { class: classes.slideshow.shareLinks }), $activeSlide = this.getSlide("active"), $image = $activeSlide.find(selectors.image), videoUrl = $activeSlide.data("elementor-slideshow-video"); |
| 4287 |
let itemUrl; |
| 4288 |
if (videoUrl) itemUrl = videoUrl; |
| 4289 |
else itemUrl = $image.attr("src"); |
| 4290 |
$.each(socialNetworks, (key, data) => { |
| 4291 |
const networkLabel = data.label; |
| 4292 |
const $link = $("<a>", { |
| 4293 |
href: this.createShareLink(key, itemUrl, $activeSlide.attr("data-e-action-hash")), |
| 4294 |
target: "_blank" |
| 4295 |
}).text(networkLabel); |
| 4296 |
const $socialNetworkIconElement = this.isFontIconSvgExperiment ? $(data.iconElement.element) : $("<i>", { |
| 4297 |
class: "eicon-" + key, |
| 4298 |
"aria-hidden": "true" |
| 4299 |
}); |
| 4300 |
$link.prepend($socialNetworkIconElement); |
| 4301 |
$linkList.append($link); |
| 4302 |
}); |
| 4303 |
if (!videoUrl) { |
| 4304 |
const $downloadIcon = this.isFontIconSvgExperiment ? $(_eIcons.downloadBold.element) : $("<i>", { class: "eicon-download-bold" }); |
| 4305 |
$downloadIcon.attr("aria-label", i18n.download); |
| 4306 |
$linkList.append($("<a>", { |
| 4307 |
href: itemUrl, |
| 4308 |
download: "" |
| 4309 |
}).text(i18n.downloadImage).prepend($downloadIcon)); |
| 4310 |
} |
| 4311 |
return $linkList; |
| 4312 |
}, |
| 4313 |
createShareLink(networkName, itemUrl, hash = null) { |
| 4314 |
const options = {}; |
| 4315 |
if ("pinterest" === networkName) options.image = encodeURIComponent(itemUrl); |
| 4316 |
else options.url = encodeURIComponent(location.href.replace(/#.*/, "") + hash); |
| 4317 |
return ShareLink.getNetworkLink(networkName, options); |
| 4318 |
}, |
| 4319 |
getSlideshowHeader() { |
| 4320 |
const { i18n } = elementorFrontend.config, $ = jQuery, showCounter = "yes" === elementorFrontend.getKitSettings("lightbox_enable_counter"), showFullscreen = "yes" === elementorFrontend.getKitSettings("lightbox_enable_fullscreen"), showZoom = "yes" === elementorFrontend.getKitSettings("lightbox_enable_zoom"), showShare = "yes" === elementorFrontend.getKitSettings("lightbox_enable_share"), classes = this.getSettings("classes"), slideshowClasses = classes.slideshow, elements = this.elements; |
| 4321 |
if (!(showCounter || showFullscreen || showZoom || showShare)) return; |
| 4322 |
elements.$header = $("<header>", { class: slideshowClasses.header + " " + classes.preventClose }); |
| 4323 |
if (showShare) { |
| 4324 |
elements.$iconShare = $(this.isFontIconSvgExperiment ? _eIcons.shareArrow.element : "<i>", { |
| 4325 |
class: slideshowClasses.iconShare, |
| 4326 |
role: "button", |
| 4327 |
tabindex: 0, |
| 4328 |
"aria-label": i18n.share, |
| 4329 |
"aria-expanded": false |
| 4330 |
}).append($("<span>")); |
| 4331 |
const $shareLinks = $("<div>"); |
| 4332 |
$shareLinks.on("click", (e) => { |
| 4333 |
e.stopPropagation(); |
| 4334 |
}); |
| 4335 |
elements.$shareMenu = $("<div>", { class: slideshowClasses.shareMenu }).append($shareLinks); |
| 4336 |
elements.$iconShare.add(elements.$shareMenu).on("click", this.toggleShareMenu); |
| 4337 |
elements.$header.append(elements.$iconShare, elements.$shareMenu); |
| 4338 |
this.$buttons = this.$buttons.add(elements.$iconShare); |
| 4339 |
} |
| 4340 |
if (showZoom) { |
| 4341 |
const iconElement = this.isFontIconSvgExperiment ? _eIcons.zoomInBold.element : "<i>"; |
| 4342 |
const showZoomElements = []; |
| 4343 |
const showZoomAttrs = { |
| 4344 |
role: "switch", |
| 4345 |
tabindex: 0, |
| 4346 |
"aria-checked": false, |
| 4347 |
"aria-label": i18n.zoom |
| 4348 |
}; |
| 4349 |
const zoomAttrs = _objectSpread2({}, showZoomAttrs); |
| 4350 |
if (!this.isFontIconSvgExperiment) zoomAttrs.class = slideshowClasses.iconZoomIn; |
| 4351 |
elements.$iconZoom = $(iconElement).attr(zoomAttrs).on("click", this.toggleZoomMode); |
| 4352 |
showZoomElements.push(elements.$iconZoom); |
| 4353 |
if (this.isFontIconSvgExperiment) { |
| 4354 |
elements.$iconZoomOut = $(_eIcons.zoomOutBold.element).attr(showZoomAttrs).addClass(classes.hidden).on("click", this.toggleZoomMode); |
| 4355 |
showZoomElements.push(elements.$iconZoomOut); |
| 4356 |
} |
| 4357 |
elements.$header.append(showZoomElements); |
| 4358 |
this.$buttons = this.$buttons.add(showZoomElements); |
| 4359 |
} |
| 4360 |
if (showFullscreen) { |
| 4361 |
const iconElement = this.isFontIconSvgExperiment ? _eIcons.frameExpand.element : "<i>"; |
| 4362 |
const fullScreenElements = []; |
| 4363 |
const fullScreenAttrs = { |
| 4364 |
role: "switch", |
| 4365 |
tabindex: 0, |
| 4366 |
"aria-checked": false, |
| 4367 |
"aria-label": i18n.fullscreen |
| 4368 |
}; |
| 4369 |
const expandAttrs = _objectSpread2({}, fullScreenAttrs); |
| 4370 |
if (!this.isFontIconSvgExperiment) expandAttrs.class = slideshowClasses.iconExpand; |
| 4371 |
elements.$iconExpand = $(iconElement).append($("<span>"), $("<span>")).attr(expandAttrs).on("click", this.toggleFullscreen); |
| 4372 |
fullScreenElements.push(elements.$iconExpand); |
| 4373 |
if (this.isFontIconSvgExperiment) { |
| 4374 |
elements.$iconMinimize = $(_eIcons.frameMinimize.element).attr(fullScreenAttrs).addClass(classes.hidden).on("click", this.toggleFullscreen); |
| 4375 |
fullScreenElements.push(elements.$iconMinimize); |
| 4376 |
} |
| 4377 |
elements.$header.append(fullScreenElements); |
| 4378 |
this.$buttons = this.$buttons.add(fullScreenElements); |
| 4379 |
} |
| 4380 |
if (showCounter) { |
| 4381 |
elements.$counter = $("<span>", { class: slideshowClasses.counter }); |
| 4382 |
elements.$header.append(elements.$counter); |
| 4383 |
} |
| 4384 |
return elements.$header; |
| 4385 |
}, |
| 4386 |
toggleFullscreen() { |
| 4387 |
if (_screenfull.default.isFullscreen) this.deactivateFullscreen(); |
| 4388 |
else if (_screenfull.default.isEnabled) this.activateFullscreen(); |
| 4389 |
}, |
| 4390 |
toggleZoomMode() { |
| 4391 |
if (1 !== this.swiper.zoom.scale) this.deactivateZoom(); |
| 4392 |
else this.activateZoom(); |
| 4393 |
}, |
| 4394 |
toggleShareMenu() { |
| 4395 |
if (this.shareMode) this.deactivateShareMode(); |
| 4396 |
else { |
| 4397 |
this.elements.$shareMenu.html(this.getShareLinks()); |
| 4398 |
this.activateShareMode(); |
| 4399 |
} |
| 4400 |
}, |
| 4401 |
activateShareMode() { |
| 4402 |
const classes = this.getSettings("classes"); |
| 4403 |
this.elements.$container.addClass(classes.slideshow.shareMode); |
| 4404 |
this.elements.$iconShare.attr("aria-expanded", true); |
| 4405 |
this.swiper.detachEvents(); |
| 4406 |
this.$originalButtons = this.$buttons; |
| 4407 |
this.$buttons = this.elements.$iconShare.add(this.elements.$shareMenu.find("a")); |
| 4408 |
this.shareMode = true; |
| 4409 |
}, |
| 4410 |
deactivateShareMode() { |
| 4411 |
const classes = this.getSettings("classes"); |
| 4412 |
this.elements.$container.removeClass(classes.slideshow.shareMode); |
| 4413 |
this.elements.$iconShare.attr("aria-expanded", false); |
| 4414 |
this.swiper.attachEvents(); |
| 4415 |
this.$buttons = this.$originalButtons; |
| 4416 |
this.shareMode = false; |
| 4417 |
}, |
| 4418 |
activateFullscreen() { |
| 4419 |
const classes = this.getSettings("classes"); |
| 4420 |
_screenfull.default.request(this.elements.$container.parents(".dialog-widget")[0]); |
| 4421 |
if (this.isFontIconSvgExperiment) { |
| 4422 |
this.elements.$iconExpand.addClass(classes.hidden).attr("aria-checked", "false"); |
| 4423 |
this.elements.$iconMinimize.removeClass(classes.hidden).attr("aria-checked", "true"); |
| 4424 |
} else this.elements.$iconExpand.removeClass(classes.slideshow.iconExpand).addClass(classes.slideshow.iconShrink).attr("aria-checked", "true"); |
| 4425 |
this.elements.$container.addClass(classes.slideshow.fullscreenMode); |
| 4426 |
}, |
| 4427 |
deactivateFullscreen() { |
| 4428 |
const classes = this.getSettings("classes"); |
| 4429 |
_screenfull.default.exit(); |
| 4430 |
if (this.isFontIconSvgExperiment) { |
| 4431 |
this.elements.$iconExpand.removeClass(classes.hidden).attr("aria-checked", "true"); |
| 4432 |
this.elements.$iconMinimize.addClass(classes.hidden).attr("aria-checked", "false"); |
| 4433 |
} else this.elements.$iconExpand.removeClass(classes.slideshow.iconShrink).addClass(classes.slideshow.iconExpand).attr("aria-checked", "false"); |
| 4434 |
this.elements.$container.removeClass(classes.slideshow.fullscreenMode); |
| 4435 |
}, |
| 4436 |
activateZoom() { |
| 4437 |
const swiper = this.swiper; |
| 4438 |
const elements = this.elements; |
| 4439 |
const classes = this.getSettings("classes"); |
| 4440 |
swiper.zoom.in(); |
| 4441 |
swiper.allowSlideNext = false; |
| 4442 |
swiper.allowSlidePrev = false; |
| 4443 |
swiper.allowTouchMove = false; |
| 4444 |
elements.$container.addClass(classes.slideshow.zoomMode); |
| 4445 |
if (this.isFontIconSvgExperiment) { |
| 4446 |
elements.$iconZoom.addClass(classes.hidden).attr("aria-checked", "false"); |
| 4447 |
elements.$iconZoomOut.removeClass(classes.hidden).attr("aria-checked", "true"); |
| 4448 |
} else elements.$iconZoom.removeClass(classes.slideshow.iconZoomIn).addClass(classes.slideshow.iconZoomOut); |
| 4449 |
}, |
| 4450 |
deactivateZoom() { |
| 4451 |
const swiper = this.swiper; |
| 4452 |
const elements = this.elements; |
| 4453 |
const classes = this.getSettings("classes"); |
| 4454 |
swiper.zoom.out(); |
| 4455 |
swiper.allowSlideNext = true; |
| 4456 |
swiper.allowSlidePrev = true; |
| 4457 |
swiper.allowTouchMove = true; |
| 4458 |
elements.$container.removeClass(classes.slideshow.zoomMode); |
| 4459 |
if (this.isFontIconSvgExperiment) { |
| 4460 |
elements.$iconZoom.removeClass(classes.hidden).attr("aria-checked", "true"); |
| 4461 |
elements.$iconZoomOut.addClass(classes.hidden).attr("aria-checked", "false"); |
| 4462 |
} else elements.$iconZoom.removeClass(classes.slideshow.iconZoomOut).addClass(classes.slideshow.iconZoomIn); |
| 4463 |
}, |
| 4464 |
getSlideshowFooter() { |
| 4465 |
const $ = jQuery; |
| 4466 |
const classes = this.getSettings("classes"); |
| 4467 |
const $footer = $("<footer>", { class: classes.slideshow.footer + " " + classes.preventClose }); |
| 4468 |
const $title = $("<div>", { class: classes.slideshow.title }); |
| 4469 |
const $description = $("<div>", { class: classes.slideshow.description }); |
| 4470 |
$footer.append($title, $description); |
| 4471 |
return $footer; |
| 4472 |
}, |
| 4473 |
isValidUrl(url) { |
| 4474 |
if (!url) return false; |
| 4475 |
const dangerous = [ |
| 4476 |
"javascript:", |
| 4477 |
"data:", |
| 4478 |
"vbscript:", |
| 4479 |
"file:" |
| 4480 |
]; |
| 4481 |
const urlLower = url.toLowerCase().trim(); |
| 4482 |
return !dangerous.some((protocol) => urlLower.startsWith(protocol)); |
| 4483 |
}, |
| 4484 |
setSlideshowContent(options) { |
| 4485 |
var _this = this; |
| 4486 |
const { i18n } = elementorFrontend.config, $ = jQuery, isSingleSlide = 1 === options.slides.length, hasTitle = "" !== elementorFrontend.getKitSettings("lightbox_title_src"), hasDescription = "" !== elementorFrontend.getKitSettings("lightbox_description_src"), showFooter = hasTitle || hasDescription, classes = this.getSettings("classes"), slideshowClasses = classes.slideshow, $container = $("<div>", { class: slideshowClasses.container }), $slidesWrapper = $("<div>", { class: slideshowClasses.slidesWrapper }); |
| 4487 |
let $prevButton; |
| 4488 |
let $nextButton; |
| 4489 |
options.slides.forEach((slide) => { |
| 4490 |
const isVideo = !!slide.video; |
| 4491 |
if (!(isVideo ? this.isValidUrl(slide.video) : this.isValidUrl(slide.image))) return; |
| 4492 |
let slideClass = slideshowClasses.slide + " " + classes.item; |
| 4493 |
if (isVideo) slideClass += " " + classes.video; |
| 4494 |
const $slide = $("<div>", { class: slideClass }); |
| 4495 |
if (isVideo) { |
| 4496 |
$slide.attr("data-elementor-slideshow-video", slide.video); |
| 4497 |
const playVideoLoadingElement = this.isFontIconSvgExperiment ? _eIcons.loading.element : "<i>"; |
| 4498 |
const $playIcon = $("<div>", { class: classes.playButton }).html($(playVideoLoadingElement).attr("aria-label", i18n.playVideo).addClass(classes.playButtonIcon)); |
| 4499 |
$slide.append($playIcon); |
| 4500 |
} else { |
| 4501 |
const $zoomContainer = $("<div>", { class: "swiper-zoom-container" }); |
| 4502 |
const $slidePlaceholder = $("<div class=\"swiper-lazy-preloader\"></div>"); |
| 4503 |
const imageAttributes = { |
| 4504 |
"data-src": slide.image, |
| 4505 |
class: classes.image + " " + classes.preventClose + " swiper-lazy" |
| 4506 |
}; |
| 4507 |
if (slide.title) { |
| 4508 |
imageAttributes["data-title"] = slide.title; |
| 4509 |
imageAttributes.alt = slide.title; |
| 4510 |
} |
| 4511 |
if (slide.description) { |
| 4512 |
imageAttributes["data-description"] = slide.description; |
| 4513 |
imageAttributes.alt += " - " + slide.description; |
| 4514 |
} |
| 4515 |
const $slideImage = $("<img>", imageAttributes); |
| 4516 |
$zoomContainer.append([$slideImage, $slidePlaceholder]); |
| 4517 |
$slide.append($zoomContainer); |
| 4518 |
} |
| 4519 |
if (slide.hash) $slide.attr("data-e-action-hash", slide.hash); |
| 4520 |
$slidesWrapper.append($slide); |
| 4521 |
}); |
| 4522 |
this.elements.$container = $container; |
| 4523 |
this.elements.$header = this.getSlideshowHeader(); |
| 4524 |
$container.prepend(this.elements.$header).append($slidesWrapper); |
| 4525 |
if (!isSingleSlide) { |
| 4526 |
const $prevButtonIcon = this.isFontIconSvgExperiment ? $(_eIcons.chevronLeft.element) : $("<i>", { |
| 4527 |
class: slideshowClasses.prevButtonIcon, |
| 4528 |
"aria-hidden": "true" |
| 4529 |
}); |
| 4530 |
const $nextButtonIcon = this.isFontIconSvgExperiment ? $(_eIcons.chevronRight.element) : $("<i>", { |
| 4531 |
class: slideshowClasses.nextButtonIcon, |
| 4532 |
"aria-hidden": "true" |
| 4533 |
}); |
| 4534 |
const $prevButtonLabel = $("<span>", { class: "screen-reader-text" }).html(i18n.previous); |
| 4535 |
const $nextButtonLabel = $("<span>", { class: "screen-reader-text" }).html(i18n.next); |
| 4536 |
$prevButton = $("<div>", { class: slideshowClasses.prevButton + " " + classes.preventClose }).append($prevButtonIcon, $prevButtonLabel); |
| 4537 |
$nextButton = $("<div>", { class: slideshowClasses.nextButton + " " + classes.preventClose }).append($nextButtonIcon, $nextButtonLabel); |
| 4538 |
$container.append($nextButton, $prevButton); |
| 4539 |
this.$buttons = this.$buttons.add($nextButton).add($prevButton); |
| 4540 |
} |
| 4541 |
if (showFooter) { |
| 4542 |
this.elements.$footer = this.getSlideshowFooter(); |
| 4543 |
$container.append(this.elements.$footer); |
| 4544 |
} |
| 4545 |
this.setSettings("hideUiTimeout", ""); |
| 4546 |
$container.on("click mousemove keypress", this.showLightboxUi); |
| 4547 |
const modal = this.getModal(); |
| 4548 |
modal.setMessage($container); |
| 4549 |
const onShowMethod = modal.onShow; |
| 4550 |
modal.onShow = _asyncToGenerator(function* () { |
| 4551 |
onShowMethod(); |
| 4552 |
const swiperOptions = { |
| 4553 |
pagination: { |
| 4554 |
el: "." + slideshowClasses.counter, |
| 4555 |
type: "fraction" |
| 4556 |
}, |
| 4557 |
on: { slideChangeTransitionEnd: _this.onSlideChange }, |
| 4558 |
lazy: { loadPrevNext: true }, |
| 4559 |
zoom: true, |
| 4560 |
spaceBetween: 100, |
| 4561 |
grabCursor: true, |
| 4562 |
runCallbacksOnInit: false, |
| 4563 |
loop: true, |
| 4564 |
keyboard: true, |
| 4565 |
handleElementorBreakpoints: true |
| 4566 |
}; |
| 4567 |
if (!isSingleSlide) swiperOptions.navigation = { |
| 4568 |
prevEl: $prevButton[0], |
| 4569 |
nextEl: $nextButton[0] |
| 4570 |
}; |
| 4571 |
if (options.swiper) $.extend(swiperOptions, options.swiper); |
| 4572 |
const Swiper = elementorFrontend.utils.swiper; |
| 4573 |
_this.swiper = yield new Swiper($container, swiperOptions); |
| 4574 |
$container.data("swiper", _this.swiper); |
| 4575 |
_this.playSlideVideo(); |
| 4576 |
if (showFooter) _this.updateFooterText(); |
| 4577 |
_this.bindHotKeys(); |
| 4578 |
_this.makeButtonsAccessible(); |
| 4579 |
}); |
| 4580 |
}, |
| 4581 |
makeButtonsAccessible() { |
| 4582 |
this.$buttons.attr("tabindex", 0).on("keypress", (event) => { |
| 4583 |
if (13 === event.which || 32 === event.which) jQuery(event.currentTarget).trigger("click"); |
| 4584 |
}); |
| 4585 |
}, |
| 4586 |
showLightboxUi() { |
| 4587 |
const slideshowClasses = this.getSettings("classes").slideshow; |
| 4588 |
this.elements.$container.removeClass(slideshowClasses.hideUiVisibility); |
| 4589 |
clearTimeout(this.getSettings("hideUiTimeout")); |
| 4590 |
this.setSettings("hideUiTimeout", setTimeout(() => { |
| 4591 |
if (!this.shareMode) this.elements.$container.addClass(slideshowClasses.hideUiVisibility); |
| 4592 |
}, 3500)); |
| 4593 |
}, |
| 4594 |
bindHotKeys() { |
| 4595 |
this.getModal().getElements("window").on("keydown", this.activeKeyDown); |
| 4596 |
}, |
| 4597 |
unbindHotKeys() { |
| 4598 |
this.getModal().getElements("window").off("keydown", this.activeKeyDown); |
| 4599 |
}, |
| 4600 |
activeKeyDown(event) { |
| 4601 |
this.showLightboxUi(); |
| 4602 |
if (event.which === 9) { |
| 4603 |
const $buttons = this.$buttons; |
| 4604 |
let focusedButton; |
| 4605 |
let isFirst = false; |
| 4606 |
let isLast = false; |
| 4607 |
$buttons.each((index) => { |
| 4608 |
const item = $buttons[index]; |
| 4609 |
if (jQuery(item).is(":focus")) { |
| 4610 |
focusedButton = item; |
| 4611 |
isFirst = 0 === index; |
| 4612 |
isLast = $buttons.length - 1 === index; |
| 4613 |
return false; |
| 4614 |
} |
| 4615 |
}); |
| 4616 |
if (event.shiftKey) { |
| 4617 |
if (isFirst) { |
| 4618 |
event.preventDefault(); |
| 4619 |
$buttons.last().trigger("focus"); |
| 4620 |
} |
| 4621 |
} else if (isLast || !focusedButton) { |
| 4622 |
event.preventDefault(); |
| 4623 |
$buttons.first().trigger("focus"); |
| 4624 |
} |
| 4625 |
} |
| 4626 |
}, |
| 4627 |
getSlide(slideState) { |
| 4628 |
return jQuery(this.swiper.slides).filter(this.getSettings("selectors.slideshow." + slideState + "Slide")); |
| 4629 |
}, |
| 4630 |
updateFooterText() { |
| 4631 |
if (!this.elements.$footer) return; |
| 4632 |
const classes = this.getSettings("classes"); |
| 4633 |
const $image = this.getSlide("active").find(".elementor-lightbox-image"); |
| 4634 |
const titleText = $image.data("title"); |
| 4635 |
const descriptionText = $image.data("description"); |
| 4636 |
const $title = this.elements.$footer.find("." + classes.slideshow.title); |
| 4637 |
const $description = this.elements.$footer.find("." + classes.slideshow.description); |
| 4638 |
$title.text(titleText || ""); |
| 4639 |
$description.text(descriptionText || ""); |
| 4640 |
}, |
| 4641 |
playSlideVideo() { |
| 4642 |
const $activeSlide = this.getSlide("active"); |
| 4643 |
const videoURL = $activeSlide.data("elementor-slideshow-video"); |
| 4644 |
if (!videoURL) return; |
| 4645 |
const classes = this.getSettings("classes"); |
| 4646 |
const aspectRatio = this.getRatioDictionry(this.getSettings("modalOptions.videoAspectRatio")); |
| 4647 |
const $videoContainer = jQuery("<div>", { class: classes.videoContainer + " " + classes.invisible }); |
| 4648 |
const $videoWrapper = jQuery("<div>", { |
| 4649 |
class: `${classes.videoWrapper} elementor-video-${this.getRatioType(aspectRatio)}`, |
| 4650 |
style: "--video-aspect-ratio: " + aspectRatio |
| 4651 |
}); |
| 4652 |
const $playIcon = $activeSlide.children("." + classes.playButton); |
| 4653 |
let videoType; |
| 4654 |
let apiProvider; |
| 4655 |
$videoContainer.append($videoWrapper); |
| 4656 |
$activeSlide.append($videoContainer); |
| 4657 |
if (-1 !== videoURL.indexOf("vimeo.com")) { |
| 4658 |
videoType = "vimeo"; |
| 4659 |
apiProvider = elementorFrontend.utils.vimeo; |
| 4660 |
} else if (videoURL.match(/^(?:https?:\/\/)?(?:www\.)?(?:m\.)?(?:youtu\.be\/|youtube\.com)/)) { |
| 4661 |
videoType = "youtube"; |
| 4662 |
apiProvider = elementorFrontend.utils.youtube; |
| 4663 |
} |
| 4664 |
const videoID = apiProvider.getVideoIDFromURL(videoURL); |
| 4665 |
apiProvider.onApiReady((apiObject) => { |
| 4666 |
if ("youtube" === videoType) this.prepareYTVideo(apiObject, videoID, $videoContainer, $videoWrapper, $playIcon); |
| 4667 |
else if ("vimeo" === videoType) this.prepareVimeoVideo(apiObject, videoURL, $videoContainer, $videoWrapper, $playIcon); |
| 4668 |
}); |
| 4669 |
$playIcon.addClass(classes.playing).removeClass(classes.hidden); |
| 4670 |
}, |
| 4671 |
prepareYTVideo(YT, videoID, $videoContainer, $videoWrapper, $playIcon) { |
| 4672 |
const classes = this.getSettings("classes"); |
| 4673 |
const $videoPlaceholderElement = jQuery("<div>"); |
| 4674 |
let startStateCode = YT.PlayerState.PLAYING; |
| 4675 |
$videoWrapper.append($videoPlaceholderElement); |
| 4676 |
if (window.chrome) startStateCode = YT.PlayerState.UNSTARTED; |
| 4677 |
$videoContainer.addClass("elementor-loading " + classes.invisible); |
| 4678 |
this.player = new YT.Player($videoPlaceholderElement[0], { |
| 4679 |
videoId: videoID, |
| 4680 |
events: { |
| 4681 |
onReady: () => { |
| 4682 |
$playIcon.addClass(classes.hidden); |
| 4683 |
$videoContainer.removeClass(classes.invisible); |
| 4684 |
this.player.playVideo(); |
| 4685 |
}, |
| 4686 |
onStateChange: (event) => { |
| 4687 |
if (event.data === startStateCode) $videoContainer.removeClass("elementor-loading " + classes.invisible); |
| 4688 |
} |
| 4689 |
}, |
| 4690 |
playerVars: { |
| 4691 |
controls: 0, |
| 4692 |
rel: 0 |
| 4693 |
} |
| 4694 |
}); |
| 4695 |
}, |
| 4696 |
prepareVimeoVideo(Vimeo, videoURL, $videoContainer, $videoWrapper, $playIcon) { |
| 4697 |
const classes = this.getSettings("classes"); |
| 4698 |
const vimeoOptions = { |
| 4699 |
url: videoURL, |
| 4700 |
autoplay: true, |
| 4701 |
transparent: false, |
| 4702 |
playsinline: false, |
| 4703 |
cc_load_policy: false |
| 4704 |
}; |
| 4705 |
this.player = new Vimeo.Player($videoWrapper, vimeoOptions); |
| 4706 |
this.player.ready().then(() => { |
| 4707 |
$playIcon.addClass(classes.hidden); |
| 4708 |
$videoContainer.removeClass(classes.invisible); |
| 4709 |
}); |
| 4710 |
}, |
| 4711 |
setEntranceAnimation(animation) { |
| 4712 |
animation = animation || elementorFrontend.getCurrentDeviceSetting(this.getSettings("modalOptions"), "entranceAnimation"); |
| 4713 |
const $widgetMessage = this.getModal().getElements("message"); |
| 4714 |
if (this.oldAnimation) $widgetMessage.removeClass(this.oldAnimation); |
| 4715 |
this.oldAnimation = animation; |
| 4716 |
if (animation) $widgetMessage.addClass("animated " + animation); |
| 4717 |
}, |
| 4718 |
openSlideshow(slideshowID, initialSlideURL) { |
| 4719 |
const $allSlideshowLinks = jQuery(this.getSettings("selectors.links")).filter((index, element) => { |
| 4720 |
const $element = jQuery(element); |
| 4721 |
return slideshowID === element.dataset.elementorLightboxSlideshow && !$element.parent(".swiper-slide-duplicate").length && !$element.parents(".slick-cloned").length; |
| 4722 |
}); |
| 4723 |
const slides = []; |
| 4724 |
let initialSlideIndex = 0; |
| 4725 |
$allSlideshowLinks.each(function() { |
| 4726 |
const slideVideo = this.dataset.elementorLightboxVideo; |
| 4727 |
let slideIndex = this.dataset.elementorLightboxIndex; |
| 4728 |
if (void 0 === slideIndex) slideIndex = $allSlideshowLinks.index(this); |
| 4729 |
if (initialSlideURL === this.href || slideVideo && initialSlideURL === slideVideo) initialSlideIndex = slideIndex; |
| 4730 |
const slideData = { |
| 4731 |
image: this.href, |
| 4732 |
index: slideIndex, |
| 4733 |
title: this.dataset.elementorLightboxTitle, |
| 4734 |
description: this.dataset.elementorLightboxDescription, |
| 4735 |
hash: this.getAttribute("data-e-action-hash") |
| 4736 |
}; |
| 4737 |
if (slideVideo) slideData.video = slideVideo; |
| 4738 |
slides.push(slideData); |
| 4739 |
}); |
| 4740 |
slides.sort((a, b) => a.index - b.index); |
| 4741 |
this.showModal({ |
| 4742 |
type: "slideshow", |
| 4743 |
id: slideshowID, |
| 4744 |
modalOptions: { id: "elementor-lightbox-slideshow-" + slideshowID }, |
| 4745 |
slideshow: { |
| 4746 |
slides, |
| 4747 |
swiper: { initialSlide: +initialSlideIndex } |
| 4748 |
} |
| 4749 |
}); |
| 4750 |
}, |
| 4751 |
onSlideChange() { |
| 4752 |
this.getSlide("prev").add(this.getSlide("next")).add(this.getSlide("active")).find("." + this.getSettings("classes.videoWrapper")).remove(); |
| 4753 |
this.playSlideVideo(); |
| 4754 |
this.updateFooterText(); |
| 4755 |
} |
| 4756 |
}); |
| 4757 |
})); |
| 4758 |
|
| 4759 |
//#endregion |
| 4760 |
//#region \0elementor-chunk-entry |
| 4761 |
var import_lightbox = /* @__PURE__ */ __toESM(require_lightbox()); |
| 4762 |
(window.__elementorChunks = window.__elementorChunks || {})["lightbox-lightbox"] = import_lightbox; |
| 4763 |
|
| 4764 |
//#endregion |
| 4765 |
})(); |
| 4766 |
//# sourceMappingURL=lightbox-lightbox.js.map |