{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/function-uncurry-this.js","webpack:///./node_modules/core-js/internals/is-callable.js","webpack:///./node_modules/core-js/internals/has-own-property.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/cloudimage-responsive-utils/dist/utils/is-server.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/cloudimage-responsive-utils/dist/constants.js","webpack:///./node_modules/core-js/internals/function-call.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/cloudimage-responsive-utils/dist/utils/get-params-from-url.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/to-property-key.js","webpack:///./node_modules/core-js/internals/is-symbol.js","webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/core-js/internals/a-callable.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/to-integer-or-infinity.js","webpack:///./node_modules/core-js/internals/length-of-array-like.js","webpack:///./node_modules/cloudimage-responsive-utils/dist/utils/is-crop.js","webpack:///./node_modules/cloudimage-responsive-utils/dist/utils/convert-to-px.js","webpack:///./node_modules/cloudimage-responsive-utils/dist/utils/get-parent-container-size.js","webpack:///./node_modules/cloudimage-responsive-utils/dist/utils/determine-container-props.js","webpack:///./node_modules/cloudimage-responsive-utils/dist/utils/get-img-src.js","webpack:///./node_modules/cloudimage-responsive-utils/dist/utils/generate-url.js","webpack:///./node_modules/cloudimage-responsive-utils/dist/utils/get-breakpoint.js","webpack:///./node_modules/cloudimage-responsive-utils/dist/utils/is-supported-in-browser.js","webpack:///./node_modules/throttle-debounce/index.umd.js","webpack:///./node_modules/core-js/features/array/find.js","webpack:///./node_modules/core-js/stable/array/find.js","webpack:///./node_modules/core-js/es/array/find.js","webpack:///./node_modules/core-js/modules/es.array.find.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/core-js/internals/object-is-prototype-of.js","webpack:///./node_modules/core-js/internals/engine-v8-version.js","webpack:///./node_modules/core-js/internals/engine-user-agent.js","webpack:///./node_modules/core-js/internals/get-method.js","webpack:///./node_modules/core-js/internals/try-to-string.js","webpack:///./node_modules/core-js/internals/ordinary-to-primitive.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/function-name.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/core-js/internals/array-iteration.js","webpack:///./node_modules/core-js/internals/function-bind-context.js","webpack:///./node_modules/core-js/internals/array-species-create.js","webpack:///./node_modules/core-js/internals/array-species-constructor.js","webpack:///./node_modules/core-js/internals/is-array.js","webpack:///./node_modules/core-js/internals/is-constructor.js","webpack:///./node_modules/core-js/internals/classof.js","webpack:///./node_modules/core-js/internals/to-string-tag-support.js","webpack:///./node_modules/core-js/internals/add-to-unscopables.js","webpack:///./node_modules/core-js/internals/object-create.js","webpack:///./node_modules/core-js/internals/object-define-properties.js","webpack:///./node_modules/core-js/internals/object-keys.js","webpack:///./node_modules/core-js/internals/html.js","webpack:///./node_modules/core-js/internals/entry-unbind.js","webpack:///./node_modules/core-js/es/math/trunc.js","webpack:///./node_modules/core-js/modules/es.math.trunc.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/cloudimage-responsive-utils/dist/utils/get-width.js","webpack:///./node_modules/cloudimage-responsive-utils/dist/utils/get-height.js","webpack:///./node_modules/cloudimage-responsive-utils/dist/utils/get-ratio.js","webpack:///./node_modules/cloudimage-responsive-utils/dist/utils/get-size-limit.js","webpack:///./node_modules/cloudimage-responsive-utils/dist/utils/is-svg.js","webpack:///./src/common/ci.utils.js","webpack:///./src/plain/ci.utils.js","webpack:///./src/plain/ci.service.js","webpack:///./src/plain/ci.config.js","webpack:///./src/plain/index.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","it","Math","check","globalThis","window","self","global","this","Function","FunctionPrototype","callBind","fn","apply","arguments","argument","uncurryThis","toObject","hasOwn","fails","exec","error","isCallable","isServer","aFunction","undefined","namespace","method","length","shared","uid","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","symbolFor","createWellKnownSymbol","withoutSetter","description","IndexedObject","requireObjectCoercible","DESCRIPTORS","IE8_DOM_DEFINE","anObject","toPropertyKey","TypeError","$defineProperty","f","O","P","Attributes","isObject","String","DEVICE_PIXEL_RATIO_LIST","toString","stringSlice","slice","setGlobal","store","configurable","writable","definePropertyModule","createPropertyDescriptor","functionToString","inspectSource","getParamsFromURL","url","queryIndex","indexOf","processParams","params","resultParams","temp","replace","matchedStr","substring","JSON","parse","e","decodeURI","getOwnPropertyDescriptor","createNonEnumerableProperty","redefine","copyConstructorProperties","isForced","options","source","target","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","forced","sham","propertyIsEnumerableModule","toIndexedObject","$getOwnPropertyDescriptor","bitmap","classof","split","propertyIsEnumerable","toPrimitive","isSymbol","getBuiltIn","isPrototypeOf","$Symbol","iterator","V8_VERSION","getOwnPropertySymbols","symbol","tryToString","IS_PURE","push","version","copyright","id","postfix","random","createElement","a","document","EXISTS","keys","hiddenKeys","names","result","ceil","floor","number","toLength","obj","isCrop","func","convertToPX","_isServer","size","parseInt","innerWidth","innerHeight","getParentContainerSize","img","type","parentNode","maxCount","getBoundingClientRect","leftPadding","nodeType","getComputedStyle","paddingLeft","rightPadding","paddingRight","determineContainerProps","_isCrop","_getWidth3","_getHeight","_getRatio","_constants","_getSizeLimit","ownKeys","enumerableOnly","symbols","filter","sym","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_slicedToArray","arr","Array","isArray","_arrayWithHoles","_i","_s","_e","_arr","_n","_d","next","done","err","_iterableToArrayLimit","minLen","_arrayLikeToArray","constructor","from","test","_unsupportedIterableToArray","_nonIterableRest","len","arr2","props","ratio","imgNode","_props$config","config","imgNodeWidth","imgNodeHeight","imgNodeRatio","exactSize","limitFactor","_config$params","configParams","crop","_getWidth2","getWidth","width","isLimit","height","getHeight","getRatio","sizes","map","dpr","widthWithDPR","heightWithDRP","getSizeLimit","getImgSRC","_isSvg","src","baseURL","relativeURLPath","isRelativeUrlPath","location","protocol","relativeToAbsolutePath","isSVG","base","relative","root","stack","getBaseURL","parts","pop","shift","join","extractBaseURLFromString","origin","baseURI","path","pathArray","host","generateURL","_excluded","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","containerProps","_props$devicePixelRat","devicePixelRatio","processURL","processQueryString","service","_ref","token","domain","doNotReplaceURL","customDomain","apiVersion","finalApiVersion","concat","getQueryString","_props$params","_props$config2","processOnlyWidth","_processParamsExceptS2","processParamsExceptSizeRelated","restParams","_processParamsExceptS3","widthFromParam","heightFromParam","widthQ","heightQ","restParamsQ","encodeURIComponent","query","w","h","getBreakpoint","_toConsumableArray","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","presets","getAdaptiveSize","reverse","find","item","matchMedia","media","matches","resultSizes","normalizeSize","_params$w","_params$h","_params$r","_params$src","percent","parseFloat","_percent","isSupportedInBrowser","isBlurHash","support","ImageData","Uint8ClampedArray","Element","throttle","delay","noTrailing","callback","debounceMode","timeoutID","cancelled","lastExec","clearExistingTimeout","clearTimeout","wrapper","_len","arguments_","_key","elapsed","Date","now","clear","setTimeout","cancel","debounce","atBegin","factory","parent","entryUnbind","$","$find","addToUnscopables","SKIPS_HOLES","proto","callbackfn","g","$propertyIsEnumerable","NASHORN_BUG","1","V","getMethod","ordinaryToPrimitive","wellKnownSymbol","TO_PRIMITIVE","input","pref","exoticToPrim","match","userAgent","process","Deno","versions","v8","aCallable","val","valueOf","InternalStateModule","CONFIGURABLE_FUNCTION_NAME","CONFIGURABLE","getInternalState","enforceInternalState","enforce","TEMPLATE","state","unsafe","simple","set","has","NATIVE_WEAK_MAP","sharedKey","WeakMap","wmget","wmhas","wmset","metadata","facade","STATE","getterFor","TYPE","getDescriptor","PROPER","getOwnPropertyDescriptorModule","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","internalObjectKeys","getOwnPropertyNames","toAbsoluteIndex","lengthOfArrayLike","createMethod","IS_INCLUDES","$this","el","fromIndex","index","includes","toIntegerOrInfinity","max","min","integer","replacement","feature","detection","data","normalize","POLYFILL","NATIVE","string","toLowerCase","arraySpeciesCreate","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","that","specificCreate","boundFunction","some","every","findIndex","filterReject","arraySpeciesConstructor","originalArray","isConstructor","SPECIES","C","noop","empty","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","called","TO_STRING_TAG_SUPPORT","classofRaw","TO_STRING_TAG","CORRECT_ARGUMENTS","tag","tryGet","callee","UNSCOPABLES","ArrayPrototype","activeXDocument","enumBugKeys","html","documentCreateElement","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObjectViaActiveX","write","close","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","style","display","appendChild","contentWindow","open","F","Properties","objectKeys","CONSTRUCTOR","METHOD","trunc","_convertToPx","_getParentContainerSize","_props$imgNodeWidth","_ignoreNodeImgSize","ignoreNodeImgSize","ignoreStyleImgSize","imageSizeAttributes","detectImageNodeCSS","sizeParamsWidth","paramsWidth","imgNodeWidthPX","imageWidth","getImageWidth","imageContainerWidth","resultWidth","imageStyleWidth","imageCSSWidth","getImageNodeCSS","preDisplayValue","getImageHeight","_props$imgNode","_props$imgNodeHeight","sizeParamsHeight","paramsRatio","paramsHeight","imgNodeHeightPX","imageHeight","imageContainerHeight","imageStyleHeight","isImageStyleHeightInPX","_ref$config","ignoreNodeRatio","filterImages","images","filtered","image","className","getCommonImageProps","getSize","attr","getParams","blurHash","isLazyCanceled","preserveSize","getURLWithoutQueryParams","element","attribute","getAttribute","addClass","elem","getFreshCIElements","isUpdate","rootElement","imgSelector","bgSelector","backgroundImages","HTMLElement","querySelectorAll","loadBackgroundImage","event","bgContainer","bg","optimizedImage","Image","onload","removeAttribute","backgroundImage","CIResponsive","lazyLoading","baseUrl","init","destroyNodeImgSize","saveNodeImgRatio","devicePixelRatioList","onImageLoad","windowScreenBecomesBigger","isImage","imgProps","imgNodeSRC","isAdaptive","getImageProps","minWindowWidth","getBackgroundImageProps","lazy","isLazy","methods","generateURLbyDPR","cloudimageUrl","cloudimageSrcset","processImage","processBackgroundImage","xs","sm","md","lg","xl","addEventListener","onUpdateDimensions","getBasicInfo","dataSrcAttr","initImageClasses","urls","propertyName","imgSrc","setAttribute","setSrcset","setSrc","resultLink","setBackgroundSrc"],"mappings":"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","file":"js-cloudimage-responsive.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 99);\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar callBind = bind && bind.bind(call);\n\nmodule.exports = bind ? function (fn) {\n return fn && callBind(call, fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\n};\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isServer = void 0;\n\nvar isServer = function isServer() {\n return typeof window === 'undefined';\n};\n\nexports.isServer = isServer;","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar TypeError = global.TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw TypeError(String(argument) + ' is not an object');\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DEVICE_PIXEL_RATIO_LIST = void 0;\nvar DEVICE_PIXEL_RATIO_LIST = [1, 1.5, 2, 3, 4];\nexports.DEVICE_PIXEL_RATIO_LIST = DEVICE_PIXEL_RATIO_LIST;","var call = Function.prototype.call;\n\nmodule.exports = call.bind ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","module.exports = {};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getParamsFromURL = void 0;\n\nvar getParamsFromURL = function getParamsFromURL(url) {\n var queryIndex = url.indexOf('?');\n if (queryIndex === -1) return;\n return processParams(url.slice(queryIndex + 1));\n};\n\nexports.getParamsFromURL = getParamsFromURL;\n\nvar processParams = function processParams(params) {\n var resultParams = undefined;\n\n try {\n var temp = params.replace(/(\\w+:)|(\\w+ :)/g, function (matchedStr) {\n return '\"' + matchedStr.substring(0, matchedStr.length - 1) + '\":';\n });\n resultParams = JSON.parse(temp);\n } catch (e) {}\n\n if (!resultParams) {\n try {\n resultParams = JSON.parse('{\"' + decodeURI(params.replace(/&/g, \"\\\",\\\"\").replace(/=/g, \"\\\":\\\"\")) + '\"}');\n } catch (e) {}\n }\n\n return resultParams;\n};","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar Object = global.Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : Object(it);\n} : Object;\n","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Object = global.Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it));\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a function');\n};\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.19.3',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var global = require('../internals/global');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar Object = global.Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- safe\n return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isCrop = void 0;\n\nvar isCrop = function isCrop(func) {\n return ['crop', 'fit', 'bound', 'cover'].indexOf(func) !== -1;\n};\n\nexports.isCrop = isCrop;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.convertToPX = void 0;\n\nvar _isServer = require(\"./is-server\");\n\nvar convertToPX = function convertToPX() {\n var size = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n size = (size || '').toString();\n\n if (size.indexOf('px') > -1) {\n return parseInt(size);\n } else if (size.indexOf('%') > -1) {\n // todo calculate container width * %\n // todo could be the potenial problem when the plugin set 100% width and on update it can calculate wrong value\n return null;\n } else if (size.indexOf('vw') > -1) {\n return !(0, _isServer.isServer)() ? window.innerWidth * parseInt(size) / 100 : null;\n } else if (size.indexOf('vh') > -1) {\n return !(0, _isServer.isServer)() ? window.innerHeight * parseInt(size) / 100 : null;\n }\n\n return parseInt(size) || '';\n};\n\nexports.convertToPX = convertToPX;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getParentContainerSize = void 0;\n\nvar getParentContainerSize = function getParentContainerSize(img) {\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'width';\n var parentNode = img;\n var size = 0;\n var maxCount = 0;\n\n do {\n parentNode = parentNode && parentNode.parentNode;\n size = typeof parentNode.getBoundingClientRect === 'function' ? parentNode.getBoundingClientRect()[type] : window.innerWidth;\n maxCount = maxCount + 1;\n } while (parentNode && !size && maxCount > 5);\n\n var leftPadding = size && parentNode && parentNode.nodeType === 1 ? parseInt(window.getComputedStyle(parentNode).paddingLeft) : 0;\n var rightPadding = size && parentNode && parentNode.nodeType === 1 ? parseInt(window.getComputedStyle(parentNode).paddingRight) : 0;\n\n if (!size) {\n size = window.innerWidth;\n }\n\n return size + (size ? -leftPadding - rightPadding : 0);\n};\n\nexports.getParentContainerSize = getParentContainerSize;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.determineContainerProps = void 0;\n\nvar _isCrop = require(\"./is-crop\");\n\nvar _getWidth3 = require(\"./get-width\");\n\nvar _getHeight = require(\"./get-height\");\n\nvar _getRatio = require(\"./get-ratio\");\n\nvar _constants = require(\"../constants\");\n\nvar _getSizeLimit = require(\"./get-size-limit\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar determineContainerProps = function determineContainerProps(props) {\n var imgNode = props.imgNode,\n _props$config = props.config,\n config = _props$config === void 0 ? {} : _props$config,\n imgNodeWidth = props.imgNodeWidth,\n imgNodeHeight = props.imgNodeHeight,\n imgNodeRatio = props.imgNodeRatio,\n params = props.params,\n size = props.size;\n var exactSize = config.exactSize,\n limitFactor = config.limitFactor,\n _config$params = config.params,\n configParams = _config$params === void 0 ? {} : _config$params;\n var ratio = null;\n var crop = (0, _isCrop.isCrop)(params.func || configParams.func);\n\n var _getWidth = (0, _getWidth3.getWidth)({\n imgNode: imgNode,\n config: config,\n exactSize: exactSize,\n imgNodeWidth: imgNodeWidth,\n params: _objectSpread(_objectSpread({}, configParams), params),\n size: size\n }),\n _getWidth2 = _slicedToArray(_getWidth, 2),\n width = _getWidth2[0],\n isLimit = _getWidth2[1];\n\n var height = (0, _getHeight.getHeight)({\n imgNode: imgNode,\n config: config,\n exactSize: exactSize,\n imgNodeHeight: imgNodeHeight,\n imgNodeWidth: imgNodeWidth,\n imgNodeRatio: imgNodeRatio,\n params: _objectSpread(_objectSpread({}, configParams), params),\n size: size,\n width: width\n });\n ratio = (0, _getRatio.getRatio)({\n imgNodeRatio: imgNodeRatio,\n width: width,\n height: height,\n size: size,\n config: config,\n imgNodeWidth: imgNodeWidth,\n imgNodeHeight: imgNodeHeight\n });\n\n var sizes = _constants.DEVICE_PIXEL_RATIO_LIST.map(function (dpr) {\n var widthWithDPR, heightWithDRP;\n widthWithDPR = width && width * dpr;\n widthWithDPR = crop ? widthWithDPR : isLimit ? (0, _getSizeLimit.getSizeLimit)(widthWithDPR, exactSize, limitFactor) : widthWithDPR;\n heightWithDRP = height && height * dpr;\n\n if (!heightWithDRP && widthWithDPR && ratio) {\n heightWithDRP = Math.floor(widthWithDPR / ratio);\n }\n\n if (!widthWithDPR && heightWithDRP && ratio) {\n widthWithDPR = Math.floor(heightWithDRP * ratio);\n }\n\n return {\n width: widthWithDPR,\n height: heightWithDRP,\n ratio: ratio\n };\n });\n\n return {\n sizes: sizes,\n ratio: ratio,\n width: width,\n height: height\n };\n};\n\nexports.determineContainerProps = determineContainerProps;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getImgSRC = void 0;\n\nvar _isSvg = require(\"../utils/is-svg\");\n\nvar _isServer = require(\"./is-server\");\n\nvar getImgSRC = function getImgSRC(src) {\n var baseURL = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var relativeURLPath = isRelativeUrlPath(src);\n\n if (src.indexOf('//') === 0) {\n src = (!(0, _isServer.isServer)() ? window.location.protocol : 'https:') + src;\n }\n\n if (relativeURLPath) {\n src = relativeToAbsolutePath(baseURL, src);\n }\n\n return [src, (0, _isSvg.isSVG)(src)];\n};\n\nexports.getImgSRC = getImgSRC;\n\nvar relativeToAbsolutePath = function relativeToAbsolutePath(base, relative) {\n var root = relative[0] === '/';\n var resultBaseURL = getBaseURL(root, base);\n var stack = resultBaseURL.split('/');\n var parts = relative.split('/');\n stack.pop(); // remove current file name (or empty string)\n // (omit if 'base' is the current folder without trailing slash)\n\n if (root) {\n parts.shift();\n }\n\n for (var i = 0; i < parts.length; i++) {\n if (parts[i] === '.') continue;\n if (parts[i] === '..') stack.pop();else stack.push(parts[i]);\n }\n\n return stack.join('/');\n};\n\nvar getBaseURL = function getBaseURL(root, base) {\n if (root) {\n return (base ? extractBaseURLFromString(base) : !(0, _isServer.isServer)() ? window.location.origin : '') + '/';\n } else {\n return base ? base : !(0, _isServer.isServer)() ? document.baseURI : 'http://localhost:3000/';\n }\n};\n\nvar extractBaseURLFromString = function extractBaseURLFromString() {\n var path = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var pathArray = path.split('/');\n var protocol = pathArray[0];\n var host = pathArray[2];\n return protocol + '//' + host;\n};\n\nvar isRelativeUrlPath = function isRelativeUrlPath(src) {\n if (!src) return false;\n\n if (src.indexOf('//') === 0) {\n src = (!(0, _isServer.isServer)() ? window.location.protocol : 'https:') + src;\n }\n\n return src.indexOf('http://') !== 0 && src.indexOf('https://') !== 0 && src.indexOf('//') !== 0;\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.generateURL = void 0;\n\nvar _constants = require(\"../constants\");\n\nvar _excluded = [\"w\", \"h\", \"width\", \"height\"];\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar generateURL = function generateURL(props) {\n var src = props.src,\n params = props.params,\n _props$config = props.config,\n config = _props$config === void 0 ? {} : _props$config,\n containerProps = props.containerProps,\n _props$devicePixelRat = props.devicePixelRatio,\n devicePixelRatio = _props$devicePixelRat === void 0 ? 1 : _props$devicePixelRat,\n processURL = props.processURL,\n processQueryString = props.processQueryString,\n service = props.service;\n\n var size = containerProps && containerProps.sizes[_constants.DEVICE_PIXEL_RATIO_LIST.indexOf(devicePixelRatio)];\n\n var _ref = size || {},\n width = _ref.width,\n height = _ref.height;\n\n var token = config.token,\n domain = config.domain,\n doNotReplaceURL = config.doNotReplaceURL,\n customDomain = config.customDomain,\n apiVersion = config.apiVersion;\n var finalDomain = customDomain ? domain : token + '.' + domain;\n var finalApiVersion = apiVersion ? apiVersion + '/' : '';\n var url = [doNotReplaceURL ? '' : \"https://\".concat(finalDomain, \"/\").concat(finalApiVersion), src, src.indexOf('?') !== -1 ? '&' : '?'].join('');\n return [processURL ? processURL({\n url: url,\n token: token,\n domain: domain,\n service: service\n }) : url, getQueryString({\n params: _objectSpread(_objectSpread({}, config.params || {}), params),\n width: width,\n height: height,\n config: config,\n processQueryString: processQueryString,\n devicePixelRatio: devicePixelRatio,\n service: service\n })].join('');\n};\n\nexports.generateURL = generateURL;\n\nvar getQueryString = function getQueryString(props) {\n var _props$params = props.params,\n params = _props$params === void 0 ? {} : _props$params,\n width = props.width,\n height = props.height,\n _props$config2 = props.config,\n config = _props$config2 === void 0 ? {} : _props$config2,\n processQueryString = props.processQueryString,\n devicePixelRatio = props.devicePixelRatio,\n service = props.service;\n var processOnlyWidth = config.processOnlyWidth;\n\n var _processParamsExceptS = processParamsExceptSizeRelated(params),\n _processParamsExceptS2 = _slicedToArray(_processParamsExceptS, 3),\n restParams = _processParamsExceptS2[0],\n _processParamsExceptS3 = _processParamsExceptS2[1],\n widthFromParam = _processParamsExceptS3 === void 0 ? null : _processParamsExceptS3,\n heightFromParam = _processParamsExceptS2[2];\n\n var widthQ = width ? width : widthFromParam;\n var heightQ = height ? height : heightFromParam;\n var restParamsQ = Object.keys(restParams).map(function (key) {\n return encodeURIComponent(key) + \"=\" + encodeURIComponent(restParams[key]);\n }).join('&');\n var query = [widthQ ? \"w=\".concat(widthQ) : '', heightQ && !processOnlyWidth ? (widthQ ? '&' : '') + \"h=\".concat(heightQ) : '', restParamsQ ? '&' + restParamsQ : ''].join('');\n return processQueryString ? processQueryString({\n query: query,\n widthQ: widthQ,\n heightQ: heightQ,\n restParamsQ: restParamsQ,\n processOnlyWidth: processOnlyWidth,\n devicePixelRatio: devicePixelRatio,\n service: service\n }) : query;\n};\n\nvar processParamsExceptSizeRelated = function processParamsExceptSizeRelated(params) {\n var w = params.w,\n h = params.h,\n width = params.width,\n height = params.height,\n restParams = _objectWithoutProperties(params, _excluded);\n\n return [restParams, w || width, h || height];\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getBreakpoint = void 0;\n\nvar _isServer = require(\"./is-server\");\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nvar getBreakpoint = function getBreakpoint(sizes, presets) {\n var size = !(0, _isServer.isServer)() ? getAdaptiveSize(sizes, presets) : [];\n return _toConsumableArray(size).reverse().find(function (item) {\n return window.matchMedia(item.media).matches;\n });\n};\n\nexports.getBreakpoint = getBreakpoint;\n\nvar getAdaptiveSize = function getAdaptiveSize(sizes, presets) {\n var resultSizes = [];\n Object.keys(sizes).forEach(function (key) {\n var customMedia = key.indexOf(':') > -1;\n var media = customMedia ? key : presets[key];\n resultSizes.push({\n media: media,\n params: normalizeSize(sizes[key])\n });\n });\n return resultSizes;\n};\n\nvar normalizeSize = function normalizeSize() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$w = params.w,\n w = _params$w === void 0 ? params.width || '' : _params$w,\n _params$h = params.h,\n h = _params$h === void 0 ? params.height || '' : _params$h,\n _params$r = params.r,\n r = _params$r === void 0 ? params.r : _params$r,\n _params$src = params.src,\n src = _params$src === void 0 ? params.src : _params$src;\n\n if (w.toString().indexOf('vw') > -1) {\n var percent = parseFloat(w);\n w = window.innerWidth * percent / 100;\n } else {\n w = parseFloat(w);\n }\n\n if (h.toString().indexOf('vh') > -1) {\n var _percent = parseFloat(h);\n\n h = window.innerHeight * _percent / 100;\n } else {\n h = parseFloat(h);\n }\n\n return {\n w: w,\n h: h,\n r: r,\n src: src\n };\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isSupportedInBrowser = void 0;\n\nvar _isServer = require(\"./is-server\");\n\nvar isSupportedInBrowser = function isSupportedInBrowser(isBlurHash) {\n var support = true;\n\n if (isBlurHash && !(0, _isServer.isServer)()) {\n try {\n new window.ImageData(new Uint8ClampedArray([0, 0, 0, 0]), 1, 1);\n } catch (e) {\n support = false;\n }\n }\n\n return Element.prototype.hasOwnProperty('prepend') && support;\n};\n\nexports.isSupportedInBrowser = isSupportedInBrowser;","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define(['exports'], factory) :\n\t(global = global || self, factory(global.throttleDebounce = {}));\n}(this, (function (exports) { 'use strict';\n\n\t/* eslint-disable no-undefined,no-param-reassign,no-shadow */\n\n\t/**\n\t * Throttle execution of a function. Especially useful for rate limiting\n\t * execution of handlers on events like resize and scroll.\n\t *\n\t * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n\t * @param {boolean} [noTrailing] - Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds while the\n\t * throttled-function is being called. If noTrailing is false or unspecified, callback will be executed one final time\n\t * after the last throttled-function call. (After the throttled-function has not been called for `delay` milliseconds,\n\t * the internal counter is reset).\n\t * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n\t * to `callback` when the throttled-function is executed.\n\t * @param {boolean} [debounceMode] - If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is false (at end),\n\t * schedule `callback` to execute after `delay` ms.\n\t *\n\t * @returns {Function} A new, throttled, function.\n\t */\n\tfunction throttle (delay, noTrailing, callback, debounceMode) {\n\t /*\n\t * After wrapper has stopped being called, this timeout ensures that\n\t * `callback` is executed at the proper times in `throttle` and `end`\n\t * debounce modes.\n\t */\n\t var timeoutID;\n\t var cancelled = false; // Keep track of the last time `callback` was executed.\n\n\t var lastExec = 0; // Function to clear existing timeout\n\n\t function clearExistingTimeout() {\n\t if (timeoutID) {\n\t clearTimeout(timeoutID);\n\t }\n\t } // Function to cancel next exec\n\n\n\t function cancel() {\n\t clearExistingTimeout();\n\t cancelled = true;\n\t } // `noTrailing` defaults to falsy.\n\n\n\t if (typeof noTrailing !== 'boolean') {\n\t debounceMode = callback;\n\t callback = noTrailing;\n\t noTrailing = undefined;\n\t }\n\t /*\n\t * The `wrapper` function encapsulates all of the throttling / debouncing\n\t * functionality and when executed will limit the rate at which `callback`\n\t * is executed.\n\t */\n\n\n\t function wrapper() {\n\t for (var _len = arguments.length, arguments_ = new Array(_len), _key = 0; _key < _len; _key++) {\n\t arguments_[_key] = arguments[_key];\n\t }\n\n\t var self = this;\n\t var elapsed = Date.now() - lastExec;\n\n\t if (cancelled) {\n\t return;\n\t } // Execute `callback` and update the `lastExec` timestamp.\n\n\n\t function exec() {\n\t lastExec = Date.now();\n\t callback.apply(self, arguments_);\n\t }\n\t /*\n\t * If `debounceMode` is true (at begin) this is used to clear the flag\n\t * to allow future `callback` executions.\n\t */\n\n\n\t function clear() {\n\t timeoutID = undefined;\n\t }\n\n\t if (debounceMode && !timeoutID) {\n\t /*\n\t * Since `wrapper` is being called for the first time and\n\t * `debounceMode` is true (at begin), execute `callback`.\n\t */\n\t exec();\n\t }\n\n\t clearExistingTimeout();\n\n\t if (debounceMode === undefined && elapsed > delay) {\n\t /*\n\t * In throttle mode, if `delay` time has been exceeded, execute\n\t * `callback`.\n\t */\n\t exec();\n\t } else if (noTrailing !== true) {\n\t /*\n\t * In trailing throttle mode, since `delay` time has not been\n\t * exceeded, schedule `callback` to execute `delay` ms after most\n\t * recent execution.\n\t *\n\t * If `debounceMode` is true (at begin), schedule `clear` to execute\n\t * after `delay` ms.\n\t *\n\t * If `debounceMode` is false (at end), schedule `callback` to\n\t * execute after `delay` ms.\n\t */\n\t timeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === undefined ? delay - elapsed : delay);\n\t }\n\t }\n\n\t wrapper.cancel = cancel; // Return the wrapper function.\n\n\t return wrapper;\n\t}\n\n\t/* eslint-disable no-undefined */\n\t/**\n\t * Debounce execution of a function. Debouncing, unlike throttling,\n\t * guarantees that a function is only executed a single time, either at the\n\t * very beginning of a series of calls, or at the very end.\n\t *\n\t * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n\t * @param {boolean} [atBegin] - Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds\n\t * after the last debounced-function call. If atBegin is true, callback will be executed only at the first debounced-function call.\n\t * (After the throttled-function has not been called for `delay` milliseconds, the internal counter is reset).\n\t * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n\t * to `callback` when the debounced-function is executed.\n\t *\n\t * @returns {Function} A new, debounced function.\n\t */\n\n\tfunction debounce (delay, atBegin, callback) {\n\t return callback === undefined ? throttle(delay, atBegin, false) : throttle(delay, callback, atBegin !== false);\n\t}\n\n\texports.debounce = debounce;\n\texports.throttle = throttle;\n\n\tObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=index.umd.js.map\n","var parent = require('../../stable/array/find');\n\nmodule.exports = parent;\n","var parent = require('../../es/array/find');\n\nmodule.exports = parent;\n","require('../../modules/es.array.find');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('Array', 'find');\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TypeError = global.TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var aCallable = require('../internals/a-callable');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return func == null ? undefined : aCallable(func);\n};\n","var global = require('../internals/global');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n try {\n return String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar TypeError = global.TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","module.exports = false;\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var name = options && options.name !== undefined ? options.name : key;\n var state;\n if (isCallable(value)) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n createNonEnumerableProperty(value, 'name', name);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n});\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_REJECT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that);\n var length = lengthOfArrayLike(self);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : bind ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","var global = require('../internals/global');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar Array = global.Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) == 'Array';\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function (argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function (argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n // we can't check .prototype since constructors produced by .bind haven't it\n } return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n};\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var global = require('../internals/global');\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar Object = global.Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (CONSTRUCTOR, METHOD) {\n return uncurryThis(global[CONSTRUCTOR].prototype[METHOD]);\n};\n","require('../../modules/es.math.trunc');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Math.trunc;\n","var $ = require('../internals/export');\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n$({ target: 'Math', stat: true }, {\n trunc: function trunc(it) {\n return (it > 0 ? floor : ceil)(it);\n }\n});\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getWidth = void 0;\n\nvar _convertToPx = require(\"../utils/convert-to-px\");\n\nvar _getParentContainerSize = require(\"../utils/get-parent-container-size\");\n\nvar _isServer = require(\"./is-server\");\n\n/**\r\n * Get width for an image.\r\n *\r\n * Priority:\r\n * 1. image node param width\r\n * 2. image node image width\r\n * 3. image node inline styling\r\n * 4. parent node of image computed style width (up to body tag)\r\n *\r\n * @param {HTMLImageElement} props.imgNode - image node\r\n * @param {Number} props.imgNodeWidth - width of image node\r\n * @param {String} props.params - params of image node\r\n * @return {Array} [with, isLimit]\r\n */\nvar getWidth = function getWidth(props) {\n var imgNode = props.imgNode,\n _props$imgNodeWidth = props.imgNodeWidth,\n imgNodeWidth = _props$imgNodeWidth === void 0 ? null : _props$imgNodeWidth,\n _props$params = props.params,\n params = _props$params === void 0 ? {} : _props$params,\n size = props.size,\n _props$config = props.config,\n config = _props$config === void 0 ? {} : _props$config;\n var _ignoreNodeImgSize = config.ignoreNodeImgSize,\n ignoreStyleImgSize = config.ignoreStyleImgSize,\n imageSizeAttributes = config.imageSizeAttributes,\n detectImageNodeCSS = config.detectImageNodeCSS;\n var ignoreNodeImgSize = typeof _ignoreNodeImgSize !== 'undefined' ? _ignoreNodeImgSize : imageSizeAttributes !== 'use';\n var sizeParamsWidth = size && size.params && (size.params.w || size.params.width);\n var paramsWidth = params.width || params.w;\n var imgNodeWidthPX = !ignoreNodeImgSize && imgNodeWidth && (0, _convertToPx.convertToPX)(imgNodeWidth);\n var imageWidth = !ignoreStyleImgSize && getImageWidth(imgNode, detectImageNodeCSS);\n var imageContainerWidth = !(0, _isServer.isServer)() ? !imageWidth && parseInt((0, _getParentContainerSize.getParentContainerSize)(imgNode), 10) : null;\n var resultWidth = imageWidth || imageContainerWidth;\n\n if (size && size.params) {\n if (size.params.r) {\n if (params.width || params.w) {\n return [paramsWidth];\n }\n\n if (!ignoreNodeImgSize && imgNodeWidth) {\n return [imgNodeWidthPX];\n }\n\n return [resultWidth];\n }\n\n return [sizeParamsWidth];\n }\n\n if (paramsWidth) {\n return [paramsWidth];\n }\n\n if (!ignoreNodeImgSize && imgNodeWidth) {\n return [imgNodeWidthPX];\n }\n\n return [resultWidth, true];\n};\n/**\r\n * Get width for an image.\r\n *\r\n *\r\n * @param {HTMLImageElement} img - image node\r\n * @param {Boolean} detectImageNodeCSS - detect width of image node\r\n * @return {Number} width of image container\r\n */\n\n\nexports.getWidth = getWidth;\n\nvar getImageWidth = function getImageWidth(img, detectImageNodeCSS) {\n var isImageStyleWidthInPX = img && img.style && img.style.width && !(img.style.width.indexOf('%') !== -1);\n var imageStyleWidth = isImageStyleWidthInPX && img.style.width;\n var imageWidth = imageStyleWidth && (0, _convertToPx.convertToPX)(imageStyleWidth);\n var imageCSSWidth = !(0, _isServer.isServer)() ? detectImageNodeCSS && getImageNodeCSS(img) : false;\n return detectImageNodeCSS && imageCSSWidth ? imageCSSWidth : imageWidth && parseInt(imageWidth, 10);\n};\n\nvar getImageNodeCSS = function getImageNodeCSS(img) {\n var width;\n var preDisplayValue = img.style.display;\n img.style.display = 'inline-block';\n width = img.getBoundingClientRect().width;\n img.style.display = preDisplayValue;\n return width;\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getImageHeight = exports.getHeight = void 0;\n\nvar _convertToPx = require(\"../utils/convert-to-px\");\n\nvar _getParentContainerSize = require(\"../utils/get-parent-container-size\");\n\nvar _isCrop = require(\"../utils/is-crop\");\n\nvar _isServer = require(\"./is-server\");\n\n/**\r\n * Get height for an image.\r\n *\r\n * Priority:\r\n * 1. image node param height\r\n * 2. image node image height\r\n * 3. image node inline styling\r\n * 4. parent node of image computed style height (up to body tag)\r\n *\r\n * @param {HTMLImageElement} props.imgNode - image node\r\n * @param {Object} props.config - plugin config\r\n * @param {Boolean} props.exactSize - a flag to use exact width/height params\r\n * @param {Number} props.imgNodeHeight - height of image node\r\n * @param {String} props.params - params of image node\r\n * @return {Number} height limit\r\n */\nvar getHeight = function getHeight(props) {\n var _props$imgNode = props.imgNode,\n imgNode = _props$imgNode === void 0 ? null : _props$imgNode,\n _props$config = props.config,\n config = _props$config === void 0 ? {} : _props$config,\n _props$imgNodeHeight = props.imgNodeHeight,\n imgNodeHeight = _props$imgNodeHeight === void 0 ? null : _props$imgNodeHeight,\n _props$params = props.params,\n params = _props$params === void 0 ? {} : _props$params,\n size = props.size,\n width = props.width;\n var _ignoreNodeImgSize = config.ignoreNodeImgSize,\n ignoreStyleImgSize = config.ignoreStyleImgSize,\n imageSizeAttributes = config.imageSizeAttributes,\n _config$params = config.params,\n configParams = _config$params === void 0 ? {} : _config$params;\n var ignoreNodeImgSize = typeof _ignoreNodeImgSize !== 'undefined' ? _ignoreNodeImgSize : imageSizeAttributes !== 'use';\n var crop = (0, _isCrop.isCrop)(params.func || configParams.func);\n var sizeParamsHeight = size && size.params && (size.params.h || size.params.height);\n var paramsRatio = size && size.params && (size.params.ratio || size.params.r);\n var paramsHeight = params.height || params.h;\n var imgNodeHeightPX = !ignoreNodeImgSize && imgNodeHeight && (0, _convertToPx.convertToPX)(imgNodeHeight);\n var imageHeight = !ignoreStyleImgSize && getImageHeight(imgNode);\n var imageContainerHeight = !(0, _isServer.isServer)() ? !imageHeight && parseInt((0, _getParentContainerSize.getParentContainerSize)(imgNode, 'height'), 10) : null;\n\n if (size && size.params) {\n if (paramsRatio && width) {\n return width / paramsRatio;\n }\n\n return sizeParamsHeight;\n }\n\n if (paramsHeight) {\n return paramsHeight;\n }\n\n if (!ignoreNodeImgSize && imgNodeHeight) {\n return imgNodeHeightPX;\n }\n\n if (imageHeight) {\n return imageHeight;\n }\n\n if (!crop) {\n return null;\n }\n\n return imageContainerHeight;\n};\n/**\r\n * Get height for an image.\r\n *\r\n *\r\n * @param {HTMLImageElement} img - image node\r\n * @return {Number|null} height of image container\r\n */\n\n\nexports.getHeight = getHeight;\n\nvar getImageHeight = function getImageHeight(img) {\n var imageHeight;\n var imageStyleHeight = img && img.style && img.style.height;\n var isImageStyleHeightInPX = imageStyleHeight && !(imageStyleHeight.indexOf('%') !== -1);\n imageStyleHeight = isImageStyleHeightInPX && imageStyleHeight || '';\n imageHeight = (0, _convertToPx.convertToPX)(imageStyleHeight);\n return imageHeight && parseInt(imageHeight, 10);\n};\n\nexports.getImageHeight = getImageHeight;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getRatio = void 0;\n\nvar getRatio = function getRatio(_ref) {\n var imgNodeRatio = _ref.imgNodeRatio,\n width = _ref.width,\n height = _ref.height,\n size = _ref.size,\n _ref$config = _ref.config,\n config = _ref$config === void 0 ? {} : _ref$config,\n imgNodeWidth = _ref.imgNodeWidth,\n imgNodeHeight = _ref.imgNodeHeight;\n var imageSizeAttributes = config.imageSizeAttributes;\n var ignoreNodeRatio = imageSizeAttributes === 'ignore';\n\n if (size && size.params) {\n if (size.params.r || size.params.ratio) {\n return size.params.r || size.params.ratio;\n } else if ((size.params.w || size.params.width) && (size.params.h || size.params.height)) {\n return (size.params.w || size.params.width) / (size.params.h || size.params.height);\n } else {\n return null;\n }\n }\n\n if (!ignoreNodeRatio && imgNodeWidth && imgNodeHeight) {\n return imgNodeWidth / imgNodeHeight;\n } else if (!ignoreNodeRatio && imgNodeRatio) {\n return imgNodeRatio;\n } else if (width && height) {\n return width / height;\n }\n\n return null;\n};\n\nexports.getRatio = getRatio;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getSizeLimit = void 0;\n\n/**\r\n * Get size limit for container/image.\r\n *\r\n * @param {Number} size - width/height of container/image\r\n * @param {Boolean} exactSize - a flag to use exact width/height params\r\n * @param {Number} limitFactor - limit factor\r\n * @return {Number} size limit\r\n */\nvar getSizeLimit = function getSizeLimit(size, exactSize, limitFactor) {\n if (exactSize) return Math.ceil(size);\n if (size <= 25) return 25;\n if (size <= 50) return 50;\n return Math.ceil(size / limitFactor) * limitFactor;\n};\n\nexports.getSizeLimit = getSizeLimit;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isSVG = void 0;\n\nvar isSVG = function isSVG(url) {\n return url.slice(-4).toLowerCase() === '.svg';\n};\n\nexports.isSVG = isSVG;","import { getParamsFromURL } from 'cloudimage-responsive-utils/dist/utils/get-params-from-url';\r\n\r\n\r\nexport const filterImages = (images, type) => {\r\n const filtered = [];\r\n\r\n for (let i = 0; i < images.length; i++) {\r\n const image = images[i];\r\n const isProcessed = image.className.includes(type);\r\n\r\n if (!isProcessed) {\r\n filtered.push(image);\r\n }\r\n }\r\n\r\n return filtered;\r\n};\r\n\r\nconst getCommonImageProps = (image) => ({\r\n sizes: getSize(attr(image, 'ci-sizes') || attr(image, 'data-ci-size') || {}) || undefined,\r\n params: getParams(attr(image, 'ci-params') || attr(image, 'data-ci-params') || {}),\r\n imgNodeRatio: attr(image, 'ci-ratio') || attr(image, 'data-ci-ratio') || undefined,\r\n blurHash: attr(image, 'ci-blur-hash') || attr(image, 'data-ci-blur-hash') || undefined,\r\n isLazyCanceled: (attr(image, 'ci-not-lazy') !== null || attr(image, 'data-ci-not-lazy') !== null) || undefined,\r\n preserveSize: (attr(image, 'ci-preserve-size') !== null || attr(image, 'data-preserve-size') !== null) || undefined,\r\n imgNodeWidth: attr(image, 'width'),\r\n imgNodeHeight: attr(image, 'height')\r\n});\r\n\r\nexport const getParams = (params) => {\r\n let resultParams = undefined;\r\n\r\n try {\r\n let temp = params.replace(/(\\w+:)|(\\w+ :)/g, function (matchedStr) {\r\n return '\"' + matchedStr.substring(0, matchedStr.length - 1) + '\":';\r\n });\r\n\r\n resultParams = JSON.parse(temp);\r\n } catch (e) {}\r\n\r\n if (!resultParams) {\r\n try {\r\n resultParams = JSON.parse('{\"' + decodeURI(params.replace(/&/g, \"\\\",\\\"\").replace(/=/g, \"\\\":\\\"\")) + '\"}');\r\n } catch (e) {}\r\n }\r\n\r\n return resultParams;\r\n}\r\n\r\nconst getSize = (sizes) => {\r\n let resultSizes = null;\r\n\r\n try {\r\n // add quotes around params\r\n let temp = sizes.replace(/(\\w+:)|(\\w+ :)/g, function (matchedStr) {\r\n if(matchedStr === 'https:' || matchedStr === 'http:'){\r\n return matchedStr\r\n }else {\r\n return '\"' + matchedStr.substring(0, matchedStr.length - 1) + '\":';\r\n }\r\n });\r\n // change single quotes to double quotes\r\n temp = temp.replace(/'/g, '\"').replace(/-\"width\":/g, '-width:');\r\n resultSizes = JSON.parse(temp);\r\n } catch (e) {}\r\n\r\n if (resultSizes) {\r\n Object.keys(resultSizes).forEach(key => {\r\n if (typeof resultSizes[key] === 'string') {\r\n try {\r\n resultSizes[key] = JSON.parse('{\"' + decodeURI(resultSizes[key].replace(/&/g, \"\\\",\\\"\").replace(/=/g, \"\\\":\\\"\")) + '\"}');\r\n } catch (e) {}\r\n }\r\n });\r\n }\r\n\r\n return resultSizes;\r\n}\r\n\r\nexport const getImageProps = (image, imgSelector) => {\r\n const props = {\r\n ...getCommonImageProps(image),\r\n imgNodeSRC: attr(image, imgSelector) || undefined\r\n };\r\n const params = {\r\n ...getParamsFromURL(props.imgNodeSRC || ''),\r\n ...props.params\r\n };\r\n\r\n return {\r\n ...props,\r\n params,\r\n isAdaptive: !!props.sizes,\r\n imgNodeSRC: getURLWithoutQueryParams(props.imgNodeSRC)\r\n };\r\n};\r\n\r\nexport const getBackgroundImageProps = (image, bgSelector) => {\r\n const props = {\r\n ...getCommonImageProps(image),\r\n imgNodeSRC: attr(image, bgSelector)|| undefined,\r\n minWindowWidth: attr(image, 'ci-min-window-width') || attr(image, 'data-min-window-width') || undefined\r\n };\r\n const params = {\r\n ...getParamsFromURL(props.imgNodeSRC || ''),\r\n ...props.params\r\n };\r\n\r\n return {\r\n ...props,\r\n params,\r\n isAdaptive: !!props.sizes,\r\n imgNodeSRC: getURLWithoutQueryParams(props.imgNodeSRC)\r\n };\r\n};\r\n\r\nconst getURLWithoutQueryParams = (url = '') => url.split('?')[0];\r\n\r\nconst attr = (element, attribute) => element.getAttribute(attribute);\r\n\r\nexport const addClass = (elem, className) => {\r\n if (!(elem.className.indexOf(className) > -1)) {\r\n elem.className += ' ' + className;\r\n }\r\n};\r\n\r\nexport const getWrapper = (image) => {\r\n if ((image.parentNode.className || '').indexOf('ci-image-wrapper') > -1) {\r\n return image.parentNode;\r\n } else if ((image.parentNode.parentNode.className || '').indexOf('ci-image-wrapper') > -1) {\r\n return image.parentNode.parentNode;\r\n }\r\n};\r\n\r\nexport const isLazy = (lazyLoading, isLazyCanceled, isUpdate) => {\r\n if ((isLazyCanceled && lazyLoading) || isUpdate) {\r\n lazyLoading = false;\r\n }\r\n\r\n return lazyLoading;\r\n};\r\n\r\nexport const setSrc = (image, url, propertyName, lazy, imgSrc, isSVG, dataSrcAttr) => {\r\n image.setAttribute(\r\n lazy ? (propertyName ? propertyName : 'data-src') : (dataSrcAttr ? dataSrcAttr : 'src'),\r\n isSVG ? imgSrc : url\r\n );\r\n};\r\n\r\nexport const setSrcset = (image, urls, propertyName, lazy, imgSrc, isSVG, dataSrcAttr) => {\r\n if (isSVG) return;\r\n\r\n image.setAttribute(\r\n lazy ? (propertyName ? propertyName : 'data-srcset') : (dataSrcAttr ? dataSrcAttr : 'srcset'),\r\n urls.map(({ dpr, url }) => `${url} ${dpr}x`).join(', ')\r\n );\r\n};\r\n\r\nexport const setBackgroundSrc = (image, url, lazy, imgSrc, isSVG, dataSrcAttr) => {\r\n const resultLink = isSVG ? imgSrc : url;\r\n\r\n if (lazy) {\r\n image.setAttribute((dataSrcAttr ? dataSrcAttr : 'data-bg'), resultLink);\r\n } else {\r\n image.style.backgroundImage = `url('${resultLink}')`\r\n }\r\n};\r\n\r\nexport const getFreshCIElements = (isUpdate, rootElement, imgSelector, bgSelector) => {\r\n let images, backgroundImages;\r\n\r\n if (rootElement !== document && !(rootElement instanceof HTMLElement)) {\r\n throw new TypeError('rootElement should be an HTMLElement');\r\n }\r\n\r\n if (isUpdate) {\r\n images = rootElement.querySelectorAll(`img[${imgSelector}]`);\r\n backgroundImages = rootElement.querySelectorAll(`[${bgSelector}]`);\r\n } else {\r\n images = filterImages(rootElement.querySelectorAll(`img[${imgSelector}]`), 'ci-image');\r\n backgroundImages = filterImages(rootElement.querySelectorAll(`[${bgSelector}]`), 'ci-bg');\r\n }\r\n\r\n return [images, backgroundImages];\r\n};\r\n\r\nexport const destroyNodeImgSize = imgNode => {\r\n imgNode.removeAttribute(\"height\");\r\n imgNode.removeAttribute(\"width\");\r\n};\r\n","import { addClass } from '../common/ci.utils';\r\n\r\n\r\nexport const loadBackgroundImage = (event) => {\r\n const bgContainer = event.target;\r\n const bg = bgContainer.getAttribute('data-bg');\r\n\r\n if (bg) {\r\n let optimizedImage = new Image();\r\n\r\n optimizedImage.onload = () => {\r\n addClass(bgContainer, 'ci-image-loaded');\r\n bgContainer.removeAttribute('data-bg');\r\n bgContainer.removeAttribute('ci-preview');\r\n }\r\n\r\n optimizedImage.src = bg;\r\n\r\n bgContainer.style.backgroundImage = 'url(' + bg + ')';\r\n }\r\n};\r\n\r\nexport const initImageClasses = ({ imgNode, lazy }) => {\r\n addClass(imgNode, 'ci-image');\r\n\r\n if (lazy) {\r\n addClass(imgNode, 'lazyload');\r\n }\r\n};\r\n\r\nexport const initImageBackgroundClasses = ({ imgNode, lazy }) => {\r\n addClass(imgNode, 'ci-bg');\r\n\r\n if (lazy) {\r\n addClass(imgNode, 'lazyload');\r\n }\r\n};","import {\r\n addClass,\r\n destroyNodeImgSize,\r\n getBackgroundImageProps,\r\n getFreshCIElements,\r\n getImageProps,\r\n isLazy,\r\n setBackgroundSrc,\r\n setSrc,\r\n setSrcset\r\n} from '../common/ci.utils';\r\nimport { determineContainerProps } from 'cloudimage-responsive-utils/dist/utils/determine-container-props';\r\nimport { getImgSRC } from 'cloudimage-responsive-utils/dist/utils/get-img-src';\r\nimport { generateURL } from 'cloudimage-responsive-utils/dist/utils/generate-url';\r\nimport { getBreakpoint } from 'cloudimage-responsive-utils/dist/utils/get-breakpoint';\r\nimport { isSupportedInBrowser } from 'cloudimage-responsive-utils/dist/utils/is-supported-in-browser';\r\nimport { getInitialConfigPlain } from './ci.config';\r\nimport { initImageClasses, loadBackgroundImage } from './ci.utils';\r\nimport { debounce } from 'throttle-debounce';\r\n\r\n\r\nexport default class CIResponsive {\r\n constructor(config) {\r\n this.config = getInitialConfigPlain(config);\r\n\r\n if (this.config.init) this.init();\r\n\r\n this.innerWidth = window.innerWidth;\r\n }\r\n\r\n init() {\r\n document.addEventListener('lazybeforeunveil', loadBackgroundImage);\r\n window.addEventListener('resize', debounce(100, this.onUpdateDimensions.bind(this)));\r\n\r\n this.process();\r\n }\r\n\r\n onUpdateDimensions() {\r\n this.process(true);\r\n\r\n if (this.innerWidth < window.innerWidth) {\r\n this.innerWidth = window.innerWidth;\r\n }\r\n }\r\n\r\n process(isUpdate, rootElement = document) {\r\n const { imgSelector, bgSelector } = this.config;\r\n const windowScreenBecomesBigger = this.innerWidth < window.innerWidth;\r\n let [images, backgroundImages] = getFreshCIElements(isUpdate, rootElement, imgSelector, bgSelector);\r\n\r\n if (images.length > -1) {\r\n images.forEach(imgNode => {\r\n this.getBasicInfo(imgNode, isUpdate, windowScreenBecomesBigger, 'image');\r\n });\r\n }\r\n\r\n if (backgroundImages.length > -1) {\r\n backgroundImages.forEach(imgNode => {\r\n this.getBasicInfo(imgNode, isUpdate, windowScreenBecomesBigger, 'background');\r\n });\r\n }\r\n }\r\n\r\n getBasicInfo = (imgNode, isUpdate, windowScreenBecomesBigger, type) => {\r\n const isImage = type === 'image';\r\n const { config } = this;\r\n const {\r\n baseURL, lazyLoading, presets, devicePixelRatioList, imgSelector, bgSelector, processURL, processQueryString\r\n } = config;\r\n const imgProps = isImage ?\r\n getImageProps(imgNode, imgSelector) : getBackgroundImageProps(imgNode, bgSelector);\r\n const { params, imgNodeSRC, isLazyCanceled, sizes, isAdaptive, preserveSize, minWindowWidth } = imgProps;\r\n\r\n if (!imgNodeSRC) return;\r\n\r\n const [src, isSVG] = getImgSRC(imgNodeSRC, baseURL);\r\n const lazy = isLazy(lazyLoading, isLazyCanceled, isUpdate);\r\n let size;\r\n\r\n if (!isSupportedInBrowser(true)) {\r\n if (isImage) {\r\n imgNode.src = src;\r\n } else {\r\n imgNode.style.backgroundImage = 'url(' + src + ')';\r\n }\r\n\r\n return;\r\n }\r\n\r\n if (window.innerWidth < minWindowWidth && !isImage) {\r\n imgNode.style.backgroundImage = 'none';\r\n return;\r\n }\r\n\r\n if (isAdaptive) {\r\n size = getBreakpoint(sizes, presets);\r\n } else {\r\n if (isUpdate && !windowScreenBecomesBigger) return;\r\n }\r\n\r\n const containerProps = determineContainerProps({ ...imgProps, size, imgNode, config });\r\n const service = {\r\n props: { imgNode, imgProps, config },\r\n methods: {}\r\n };\r\n const generateURLbyDPR = devicePixelRatio =>\r\n generateURL({ src, params, config, containerProps, devicePixelRatio, processURL, processQueryString, service });\r\n const cloudimageUrl = generateURLbyDPR();\r\n const cloudimageSrcset = devicePixelRatioList.map(dpr => ({ dpr: dpr.toString(), url: generateURLbyDPR(dpr) }));\r\n const props = { imgNode, isUpdate, imgProps, lazy, containerProps, isSVG, cloudimageUrl, src, preserveSize };\r\n\r\n if (isImage) {\r\n this.processImage({ ...props, cloudimageUrl: generateURLbyDPR(1), cloudimageSrcset });\r\n } else {\r\n this.processBackgroundImage(props);\r\n }\r\n }\r\n\r\n processImage(props) {\r\n const { imgNode, isUpdate, lazy, isSVG, cloudimageUrl, src, cloudimageSrcset } = props;\r\n const { config } = this;\r\n const { dataSrcAttr, onImageLoad } = config;\r\n\r\n if (!isUpdate) {\r\n initImageClasses({ imgNode, lazy });\r\n }\r\n\r\n if (config.destroyNodeImgSize) {\r\n destroyNodeImgSize(imgNode);\r\n }\r\n\r\n if (config.processOnlyWidth) {\r\n imgNode.removeAttribute(\"height\");\r\n }\r\n\r\n imgNode.onload = () => {\r\n if (onImageLoad && typeof onImageLoad === 'function') {\r\n onImageLoad(imgNode);\r\n }\r\n addClass(imgNode, 'ci-image-loaded');\r\n };\r\n\r\n setSrcset(imgNode, cloudimageSrcset, 'data-srcset', lazy, src, isSVG, dataSrcAttr);\r\n setSrc(imgNode, cloudimageUrl, 'data-src', lazy, src, isSVG, dataSrcAttr);\r\n }\r\n\r\n processBackgroundImage(props) {\r\n const { imgNode, isUpdate, lazy, isSVG, cloudimageUrl, src } = props;\r\n const { config } = this;\r\n const { dataSrcAttr } = config;\r\n\r\n if (!isUpdate) {\r\n imgNode.className = `${imgNode.className}${lazy ? ' lazyload' : ''}`;\r\n }\r\n\r\n setBackgroundSrc(imgNode, cloudimageUrl, lazy, src, isSVG, dataSrcAttr);\r\n }\r\n}\r\n","import { getParams } from '../common/ci.utils';\r\nimport { DEVICE_PIXEL_RATIO_LIST } from 'cloudimage-responsive-utils/dist/constants';\r\n\r\n\r\nexport const getInitialConfigPlain = (config) => {\r\n const {\r\n imgSelector = 'ci-src',\r\n bgSelector = 'ci-bg-url',\r\n token = '',\r\n domain = 'cloudimg.io',\r\n lazyLoading = false,\r\n baseUrl, // to support old name\r\n baseURL,\r\n presets,\r\n params = 'org_if_sml=1',\r\n apiVersion = 'v7',\r\n init = true,\r\n exactSize = false,\r\n doNotReplaceURL = false,\r\n limitFactor = 100,\r\n imageSizeAttributes = 'use',\r\n ignoreNodeImgSize,\r\n ignoreStyleImgSize = false,\r\n destroyNodeImgSize = false,\r\n saveNodeImgRatio = false,\r\n detectImageNodeCSS = false,\r\n processOnlyWidth = false,\r\n devicePixelRatioList = DEVICE_PIXEL_RATIO_LIST,\r\n // callbacks\r\n onImageLoad = null,\r\n // methods\r\n processURL = null,\r\n processQueryString = null\r\n } = config;\r\n\r\n return {\r\n imgSelector,\r\n bgSelector,\r\n token,\r\n domain,\r\n lazyLoading,\r\n baseURL: baseUrl || baseURL,\r\n exactSize,\r\n presets: presets ? presets :\r\n {\r\n xs: '(max-width: 575px)', // to 575 PHONE\r\n sm: '(min-width: 576px)', // 576 - 767 PHABLET\r\n md: '(min-width: 768px)', // 768 - 991 TABLET\r\n lg: '(min-width: 992px)', // 992 - 1199 SMALL_LAPTOP_SCREEN\r\n xl: '(min-width: 1200px)' // from 1200 USUALSCREEN\r\n },\r\n params: getParams(params),\r\n apiVersion,\r\n innerWidth: window.innerWidth,\r\n init,\r\n doNotReplaceURL,\r\n devicePixelRatioList,\r\n limitFactor,\r\n imageSizeAttributes,\r\n ignoreNodeImgSize,\r\n ignoreStyleImgSize,\r\n destroyNodeImgSize,\r\n saveNodeImgRatio,\r\n detectImageNodeCSS,\r\n processOnlyWidth,\r\n onImageLoad,\r\n processURL,\r\n processQueryString\r\n //isChrome: /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor)\r\n };\r\n};\r\n","import 'core-js/features/array/find';\r\nimport 'core-js/es/math/trunc';\r\nimport CIResponsive from './ci.service';\r\n\r\n\r\nwindow.CIResponsive = CIResponsive;"],"sourceRoot":""}